2025/05 22

[24’Neurlps] ControlMLLM: Training-Free Visual Prompt Learning for Multimodal Large Language Models

0. Abstract— 학습 없이도 MLLM에 시각적 지시를 가능하게 만든 ControlMLLMControlMLLM은 멀티모달 대형 언어 모델(MLLM)에 추가 학습 없이 시각적 프롬프트(박스, 마스크, 점 등)를 주입하는 새로운 방법이다.핵심은 attention 메커니즘을 활용해, 텍스트 토큰이 사용자가 지시한 시각적 영역에 주목하도록 시각 토큰을 테스트 시점에서만 최적화하는 것이다.추가 학습 불필요: 파인튜닝 없이 적용 가능정확한 영역 지시: attention을 제어해 referring 성능 향상범용성: 다양한 입력 형식 지원 + 일반화 가능성 확인1. Introduction최근 Multimodal Large Language Models (MLLMs)은 텍스트와 이미지를 함께 처리하며 다양한 응용 분..

카테고리 없음 2025.05.31

[25’ ICLR] Decouple and Track: Benchmarking and Improving Video Diffusion Transformers For Motion Transfer

# Introduction 최신 연구 요약: 텍스트 기반 모션 전이(Text-to-Video Motion Transfer)의 한계와 새로운 접근최근 Diffusion Transformer(DiT) 기반의 텍스트-투-비디오(Text-to-Video, T2V) 생성 모델들이 주목할만한 성능을 보여주고 있다. 하지만, 복잡한 모션을 세밀하게 제어하는 것은 여전히 어려운 과제이다. 특히 텍스트 프롬프트만으로는 사용자 의도를 완전히 반영하기 어렵다는 문제가 있다.이에 대한 해결책으로, 모션 전이(Motion Transfer) 연구가 주목받고 있다. 왜 Motion Transfer가 중요한가?기존의 T2V 생성은 텍스트만으로 비디오 전체를 생성하려는 방식이지만,텍스트만으로는 정확한 모션 디테일을 반영하기 어려움사..

[24’ ECCV] MotionDirector: Motion Customization of Text-to-Video Diffusion Models

# IntroductionMotion Customization: 텍스트 기반 비디오 생성의 새로운 가능성최근 공개된 텍스트-투-비디오(Text-to-Video) 생성 모델들은 단순한 텍스트 입력만으로도 현실적이거나 상상력이 풍부한 고품질 비디오를 만들어내며 주목받고 있다. 특히, 대규모 데이터로 사전학습된 foundation model의 오픈소싱(Wang et al., 2023a; Sterling, 2023)은 영상 생성 연구를 한층 더 가속화시키고 있다.기존 연구들은 주로 appearance customization에 집중해 왔다.즉, 사용자가 특정 subject나 style을 제시하면, 모델은 그 외형을 반영한 비디오를 생성하도록 finetuning하거나,LoRA, adapter 등 parameter..

EasyOCR 커스텀 데이터셋에서 finetuning 하기 (3) - recognition model train

https://github.com/JaidedAI/EasyOCR/blob/master/custom_model.md EasyOCR/custom_model.md at master · JaidedAI/EasyOCRReady-to-use OCR with 80+ supported languages and all popular writing scripts including Latin, Chinese, Arabic, Devanagari, Cyrillic and etc. - JaidedAI/EasyOCRgithub.com위의 링크인 github에 어느 정도 자세히 설명해주고 있다.나의 경우에는 일단 detection을 부분을 건들지 않고, recognition 부분만 finetuning하는 것을 목표로 세웠다.(그림에..

📚 Study/AI 2025.05.29

EasyOCR 커스텀 데이터셋에서 finetuning 하기 (2) - pretrained weight로 먼저 실험

chatgpt한테 블로그에 올릴 ocr하기 좋은 이미지를 만들어 달라고 했다. import easyocrreader = easyocr.Reader(['en']) # this needs to run only once to load the model into memoryresult = reader.readtext("./EasyOCR/trainer/all_data/practice.png")result[([[125, 321], [793, 321], [793, 533], [125, 533]], 'STATION', 0.9997768703106611)] 다음 코드를 실행해보면,(1) 검출한 bounding box의 위치 (2) 검출한 text (3) Confidence Score이렇게 세 값을 알 수 있다. 이 ..

📚 Study/AI 2025.05.29

EasyOCR 커스텀 데이터셋에서 finetuning 하기 (1) - EasyOCR 모델 구조

https://github.com/JaidedAI/EasyOCR GitHub - JaidedAI/EasyOCR: Ready-to-use OCR with 80+ supported languages and all popular writing scripts including Latin, ChinesReady-to-use OCR with 80+ supported languages and all popular writing scripts including Latin, Chinese, Arabic, Devanagari, Cyrillic and etc. - JaidedAI/EasyOCRgithub.com EasyOCR이란?EasyOCR은 PyTorch 기반의 오픈소스 OCR(Optical Character Recog..

📚 Study/AI 2025.05.29

[Silver I] 14940 - 쉬운 최단거리

문제지도가 주어지면 모든 지점에 대해서 목표지점까지의 거리를 구하여라.문제를 쉽게 만들기 위해 오직 가로와 세로로만 움직일 수 있다고 하자.입력지도의 크기 n과 m이 주어진다. n은 세로의 크기, m은 가로의 크기다.(2 ≤ n ≤ 1000, 2 ≤ m ≤ 1000)다음 n개의 줄에 m개의 숫자가 주어진다. 0은 갈 수 없는 땅이고 1은 갈 수 있는 땅, 2는 목표지점이다. 입력에서 2는 단 한개이다.출력각 지점에서 목표지점까지의 거리를 출력한다. 원래 갈 수 없는 땅인 위치는 0을 출력하고, 원래 갈 수 있는 땅인 부분 중에서 도달할 수 없는 위치는 -1을 출력한다.예제 입력 1 복사15 152 1 1 1 1 1 1 1 1 1 1 1 1 1 11 1 1 1 1 1 1 1 1 1 1 1 1 1 11 1 ..

📚 Study/Baekjoon 2025.05.18

[Gold V] 1759 - 암호만들기

문제바로 어제 최백준 조교가 방 열쇠를 주머니에 넣은 채 깜빡하고 서울로 가 버리는 황당한 상황에 직면한 조교들은, 702호에 새로운 보안 시스템을 설치하기로 하였다. 이 보안 시스템은 열쇠가 아닌 암호로 동작하게 되어 있는 시스템이다.암호는 서로 다른 L개의 알파벳 소문자들로 구성되며 최소 한 개의 모음(a, e, i, o, u)과 최소 두 개의 자음으로 구성되어 있다고 알려져 있다. 또한 정렬된 문자열을 선호하는 조교들의 성향으로 미루어 보아 암호를 이루는 알파벳이 암호에서 증가하는 순서로 배열되었을 것이라고 추측된다. 즉, abc는 가능성이 있는 암호이지만 bac는 그렇지 않다.새 보안 시스템에서 조교들이 암호로 사용했을 법한 문자의 종류는 C가지가 있다고 한다. 이 알파벳을 입수한 민식, 영식 형..

📚 Study/Baekjoon 2025.05.17

헷갈리는 python 문법 -- input()

1. 숫자 여러 개 입력 받기 10 20 30 40nums = list(map(int, input().split()))print(nums)[10, 20, 30, 40] input() → '10 20 30 40' (문자열)split() → ['10', '20', '30', '40'] (문자열 리스트)map(int, ...) → [10, 20, 30, 40] (정수 리스트)list()는 map()이 반환하는 이터레이터를 리스트로 바꿔줌 2. 공백 없는 숫자 여러 개 입력 받기 101111nums = list(map(int, input().strip()))print(nums)[1, 0, 1, 1, 1, 1] 3. 문자 여러 개 입력받기a b c dchars = input().split()print(chars)..

📚 Study/Baekjoon 2025.05.17

[Gold V] 5430 - AC

문제선영이는 주말에 할 일이 없어서 새로운 언어 AC를 만들었다. AC는 정수 배열에 연산을 하기 위해 만든 언어이다. 이 언어에는 두 가지 함수 R(뒤집기)과 D(버리기)가 있다.함수 R은 배열에 있는 수의 순서를 뒤집는 함수이고, D는 첫 번째 수를 버리는 함수이다. 배열이 비어있는데 D를 사용한 경우에는 에러가 발생한다.함수는 조합해서 한 번에 사용할 수 있다. 예를 들어, "AB"는 A를 수행한 다음에 바로 이어서 B를 수행하는 함수이다. 예를 들어, "RDD"는 배열을 뒤집은 다음 처음 두 수를 버리는 함수이다.배열의 초기값과 수행할 함수가 주어졌을 때, 최종 결과를 구하는 프로그램을 작성하시오.입력첫째 줄에 테스트 케이스의 개수 T가 주어진다. T는 최대 100이다.각 테스트 케이스의 첫째 줄..

📚 Study/Baekjoon 2025.05.15