반응형
AnimateDiff: Animate Your Personalized Text-to-Image Diffusion Models without Specific Tuning


1. About AnimateDiff
- 기존의 다양한 Text-to-Image diffusion 모델을 fine-tuning 없이 애니메이션 생성기로 전환하기 위한 일종의 모듈이라고 보면 된다.
- 즉, 기존의 T2I 디퓨전 모델에 사전 학습된 motion module(AnimateDiff)을 plug-and-play 형태로 삽입해 애니메이션 생성 가능하다고 한다.
2. Background & Motivation
- Limitation of Previous Approaches and Key Differentiation

- 최근 Text-to-Image diffusion 모델(예: Stable Diffusion)은 텍스트로부터 고품질의 정지된 이미지를 생성할 수 있다. 시간이 지나면서 이미지의 품질은 점점 더 정교하며 사실적으로 묘사되고 있다.
- 하지만 이는 정지된 이미지를 생성하는것이지, 움직이는 이미지(즉, 애니메이션)는 아니다. 모델의 Personalized된 특징을 유지하면서 동적 이미지 생성 모델로 확장하기 위해서는 대규모 파인튜닝 및 대규모 비디오 데이터셋이 필요하다는 단점이 있다.
- AnimateDiff는 이를 해결하기 위해 기존의 정적 이미지를 생성하는 T2I 디퓨전 모델의 별도 재학습 없이, 기존 diffusion 모델에 직접적용 가능한 plug-and-play형태의 모듈을 통해 애니메이션을 생성한다.
3. Related Work
-
How previous T2I-to-Video approaches worked

- 기존 연구들은 Text-to-Image(T2I) 모델을 비디오 생성으로 확장하기 위해선 해당 모델을 전체 재학습하거나 파라미터 수정을 을 거쳐야하는 번거로움이 있다.
- 즉, 위와 같은 과정을 거치게 되면 연산 비용이 높아지게 되며, 커스텀 모델과 호환이 불가하다는 단점이 있다.
- 반면에, AnimateDiff는 모델의 전체 재학습 없이, 기존의 T2I모델에 삽입 가능한 형태의 모듈형 unit을 제안한다.
- 즉, 기존의 T2I 디퓨전 모델 자체를 바꾸는게 아니라, 기존 T2I 모델은 그대로 냅두고 동적 이미지 생성을 위한 모듈을 붙인다는것.
4. AnimateDiff Architecture Overview
-
Three trainable components for plug-and-play animation generation

- AnimateDiff는 Domain Adapter, Motion Module, MotionLoRA라는 3개의 모듈로 구성된다.
- 3개의 모듈은 개별저긍로 학습되고, 추론 단계에서 결합되어 애니메이션을 생성하는 데 사용된다고 한다.
- 즉, 이 3개의 모듈을 기존의 T2I 디퓨전 모델에 결합해 기존 모델의 재학습 없이 T2I 디퓨전 모델을 애니메이션 생성기로 사용가능하다는 장점이 있다.
4.1. Domain Adapter Module
-
Domain Adapter: Alleviate visual quality degradation in video training

- WebVid와 같은 공개 비디오 데이터셋은, 이미지 데이터셋과 달리 블러, 압축 노이즈, 워터마크 등 모델 학습에 방해되는 저품질 요소를 포함하고 있다.
- 이러한 저품질 요소가 담긴 비디오 데이터셋을 그대로 학습하면 기존의 Diffusion 모델의 시각적 표현에 부정적인 영향을 미친다고 한다.
- 따라서 Domain Adapter는 Self/Cross-Attention 층에 LoRA 기반 레이어 형태의 Domain Adapter를 삽입하여 이 도메인 차이를 분리한다.
- 이렇게 Domain Adapter은 비디오 프레임 샘플에 대해 학습되고, 비디오 학습 데이터의 저품질 요소로 인한 품질 저하를 완화한다고 한다

4.2 Motion Module
-
Motion Module: Learn Motion Priors with Motion Module

- Motion Module은 Temporal Transformer 구조를 그대로 사용해 시간축의 움직임 패턴을 학습하는 데 목적이 있다.
- 기존 이미지 레이어는 동결(frozen) 한 채, 잠재 공간에서 프레임 간 변화를 학습한다.
- 출력층은 제로 초기화되며, 잔차연결을 추가해 안정적이고 일관된 모션 학습을 보장한다.

4.3 MotionLoRA
- Lightweight adaptation for new motion patterns

- MotionLoRA는 카메라 움직임을 학습하기 위한 모듈이다. 따라서 선택적으로 사용되는 것으로 보인다.
- 사전학습된 모션 모듈에 LoRA 레이어를 추가해 새로운 움직임(줌, 패닝, 롤링 등등..)을 학습하는 데 목적이 있다.
- LoRA의 이점(전체 파라미터 학습이 아닌 저랭크 행렬만 업데이트)으로 효율적인 미세조정이 가능하다.
- 이렇게 학습된 여러 MotionLoRA를 조합해 복합적인 모션 효과를 구현할 수 있다.
정리하자면,

- AnimateDiff는 도메인 어뎁터, 모션 모듈, 모션 로라를 단계적으로 학습한 뒤 기존의 T2I 디퓨전 모델에 결합한다.
- 즉, 추론 시 학습된 모듈을 기존 T2I 모델에 삽입(plug-in) 하여 애니메이션을 생성한다.
- 추론 과정에서는 도메인 어댑터를 비활성화하거나 가중치를 조절해 시각적 품질을 최적화 한다고 한다.
반응형