[논문간단정리:수정예정] Animate Anyone: Consistent and Controllable Image-to-Video Synthesis for Character Animation
Animate Anyone: Consistent and Controllable Image-to-Video Synthesis for Character Animation(2024).Li Hu, Xin Gao, Peng Zhang, Ke Sun, Bang Zhang, Liefeng Bo. Institute for Intelligent Computing, Alibaba Group.CVPR 2024
still image로부터 문자의 애니메이션 비디오를 생성하는 문제인 Character Animation을 다룹니다. 기존 GAN 기반 방법론들은 지역적 왜곡, 흐릿한 디테일, 의미적 불일치, 시간적 불안정성 등의 문제를 겪었으며, 최근 Diffusion Model 기반 방법론들(DreamPose, DisCo 등) 또한 세밀한 디테일 유지 및 시간적 일관성 확보에 어려움을 겪고 있었습니다. 본 논문은 이러한 한계점을 극복하기 위해 Diffusion Model의 강력한 생성 능력을 활용한 새로운 프레임워크를 제안합니다.
핵심 방법론은 세 가지 주요 구성 요소로 이루어져 있습니다:
ReferenceNet: reference image의 복잡한 appearance features을 보존하기 위해 설계되었습니다. ReferenceNet은 denoising UNet과 동일한 UNet 구조를 가지며, 원본 Stable Diffusion(SD)의 가중치를 상속받아 초기화됩니다. 이 ReferenceNet은 참조 이미지에서 상세 특징을 추출합니다. 이 추출된 특징은 denoising UNet의 각 해당 레이어에서 spatial attention 메커니즘을 통해 통합됩니다. 구체적으로, denoising UNet의 feature map $\mathbf{x_1} \in \mathbb{R}^{t \times h \times w \times c}$와 ReferenceNet의 feature map $\mathbf{x_2} \in \mathbb{R}^{h \times w \times c}$가 주어질 때, $\mathbf{x_2}$를 $t$번 복사하여 $\mathbf{x_1}$과 $w$ dimension을 따라 concatenate 한 후, self-attention을 수행하고 결과의 첫 번째 절반을 출력으로 사용합니다. 이는 ReferenceNet이 pre-trained 이미지 특징 모델링 능력을 활용하고, denoising UNet이 ReferenceNet으로부터 동일한 특징 공간 내에서 연관된 특징들을 선택적으로 학습할 수 있도록 합니다. 또한, CLIP image encoder를 통한 cross-attention은 참조 이미지의 Semantic feature를 제공하여 네트워크 훈련을 가속화하는 데 도움을 줍니다. 이는 ControlNet과 달리 참조 이미지와 대상 이미지가 공간적으로 정렬되지 않는 문제에 대한 해결책을 제공합니다.
Pose Guider: 문자의 움직임을 제어할 수 있도록 효율적인 pose control signals를 통합하기 위해 고안된 경량 네트워크입니다. 이 Guider는 4개의 컨볼루션 레이어(4x4 kernel, 2x2 stride, 16, 32, 64, 128 채널)를 사용하여 pose image를 노이즈 latent와 동일한 해상도로 정렬합니다. 처리된 포즈 이미지는 denoising UNet에 입력되기 전에 노이즈 latent에 추가됩니다. Pose Guider는 Gaussian weights로 초기화되며, 최종 projection layer에는 Zero Convolution을 사용합니다. 이는 기존 ControlNet과 같은 추가 제어 네트워크를 통합하는 것보다 계산 복잡도를 증가시키지 않으면서 효율적인 제어 기능을 제공합니다.
Temporal Layer: 비디오 프레임 간의 부드러운 전환과 시간적 일관성을 보장하기 위해 설계되었습니다. 이 temporal layer는 denoising UNet의 Res-Trans 블록 내에서 spatial-attention 및 cross-attention 구성 요소 뒤에 통합됩니다. 이는 AnimateDiff에서 영감을 받아 설계되었으며, feature map $\mathbf{x} \in \mathbb{R}^{b \times t \times h \times w \times c}$를 $\mathbf{x} \in \mathbb{R}^{(b \times h \times w) \times t \times c}$로 reshape한 후, $t$ 차원을 따라 self-attention (temporal attention)을 수행합니다. 이 temporal layer의 출력은 residual connection을 통해 원래 feature에 통합됩니다. ReferenceNet은 단일 참조 이미지의 특징을 계산하므로 시간적 모델링에 관여하지 않습니다.
훈련 전략은 두 단계로 나뉩니다:
- 1단계: 개별 비디오 프레임을 사용하여 훈련합니다. denoising UNet에서 temporal layer를 임시로 제외하고, 모델은 단일 프레임 노이즈를 입력으로 받습니다. ReferenceNet과 Pose Guider도 이 단계에서 함께 훈련됩니다. denoising UNet과 ReferenceNet은 SD의 pre-trained 가중치로 초기화됩니다. VAE의 Encoder/Decoder 및 CLIP image encoder의 가중치는 고정됩니다. 이 단계의 목표는 주어진 참조 이미지와 대상 포즈 조건 하에 고품질 애니메이션 이미지를 생성하는 것입니다.
- 2단계: 1단계에서 훈련된 모델에 temporal layer를 도입하고 AnimateDiff의 pre-trained 가중치로 초기화합니다. 모델 입력은 24프레임 비디오 클립이며, 이 단계에서는 temporal layer만 훈련하고 나머지 네트워크 가중치는 고정합니다. 이 이단계 훈련 전략은 생성된 비디오 프레임의 품질과 시간적 부드러움을 동시에 보장합니다.
본 모델은 5천 개의 캐릭터 비디오 클립으로 구성된 내부 데이터셋으로 훈련되었습니다. DWPose를 사용하여 캐릭터의 포즈 시퀀스를 추출하고 OpenPose 형식의 포즈 스켈레톤 이미지로 렌더링합니다. 추론 시에는 DDIM sampler를 사용하여 20단계의 denoising 과정을 거치며, temporal aggregation 방법을 사용하여 긴 비디오를 생성합니다.
정량적 평가에서 Animate Anyone은 UBC fashion video dataset, TikTok dataset, Ted-talk dataset에서 SSIM, PSNR, LPIPS, FVD와 같은 지표에서 SOTA 성능을 달성했으며, 특히 비디오 메트릭에서 상당한 우위를 보였습니다. 정성적 평가에서도 다양한 캐릭터(전신, 반신, 만화 캐릭터, 휴머노이드)에 대해 높은 해상도와 사실적인 디테일을 유지하며, 상당한 움직임에도 시간적 일관성과 연속성을 보장하는 것을 보여줍니다.