본문 바로가기

논문 리뷰/Diffusion Model

MotionCtrl: A Unified and Flexible Motion Controller for Video Generation

[Project Page]

[Github]

[arXiv](Current version v1)

 

 

Abstract

생성 비디오의 camera motion과 object motion을 독립적으로 제어할 수 있는 MotionCtrl 제안

 

 

 

Introduction

한 가지 문제는 caption, camera motion, object motion을 포함하는 기존 데이터셋이 없다는 것이다.

 

문제를 해결하기 위해 Camera Motion Control Module (CMCM), Object Motion Control Module (OMCM)을 채택하였다.

Baseline은 LVDM의 개선 버전인 VideoCrafter1을 채택.

 

Realestate10k dataset에서 캡션을 생성하여 카메라 포즈 주석과 캡션이 있는 이 데이터셋을 통해 CMCM을 훈련하고 WebVid의 비디오를 모션 분할 알고리즘으로 합성한 객체 이동 궤적으로 증강하여 OMCM 모듈을 훈련한다.

 

 

 

Methodology

VideoCrafter1 이하 LVDM

 

MotionCtrl

Camera Motion Control Module (CMCM)

Camera motion은 프레임 간의 전역 변환이기 때문에 temporal transformer에 주입된다.

 

일반적으로 temporal transformer는 2개의 self-attention module로 구성되며, 생성 성능에 미치는 영향을 최소화하기 위해 두 번째 self-attention만 포함한다.

 

Camera pose는 3x3 회전 행렬과 3x1 이동 행렬로 표현되어 12차원이고, L은 비디오 길이이다.

모션 정보는 latent와 같은 크기로 확장하여 concat 후 FC layer를 통과하여 정리된다.

 

Object Motion Control Module (OMCM)

궤적의 공간 위치 (x,y)를 다음과 같이 변환.

(궤적이 통과하지 않는 위치는 0,0)

 

궤적은 object의 위치를 나타내므로 공간적으로 통합한다. 제어 가능성과 비디오 품질 간의 균형을 맞추기 위해 U-Net의 인코더에만 적용된다. 특이한 점은 보통 visual feature는 cross-attention으로 주입되는 경우가 많은데 conv layer에 주입되었다.

 

Training Strategy and Data Construction

Learning the camera motion control module (CMCM)

다양한 camera pose가 포함된 Realestate10K 비디오에서 일정한 간격으로 프레임을 추출하고 이미지 캡션 알고리즘인 BLIP2를 통해 생성된 캡션을 연결하여 포괄적인 설명을 만든다.

 

이러한 데이터셋으로 CMCM을 훈련한다. CMCM module에는 추가 MLP layer와 두 번째 self-attention만 포함되어 content에 거의 영향을 주지 않는다.

 

Learning the object motion control module (OMCM)

ParticleSfM을 통해 WebVid에서 궤적을 생성한다.

 

사용자 경험과 상호 작용을 향상하기 위해 합성된 궤적에서 n개의 궤적을 선택한 다음 가우시안 필터를 적용하여 생성한 희소 궤적을 활용한다.

 

OMCM의 훈련에는 이미 CMCM을 통해 fine-tuning된 LVDM을 채택하고 OMCM module만 훈련한다. 먼저 밀집 궤적을 이용해 훈련한 다음 희소 궤적으로 fine-tuning 한다.

 

 

 

Experiments

Project Page

 

Ablation