AI바라기의 인공지능
Diffusion : 논문리뷰 : Make Pixels Dance: High-Dynamic Video Generation 본문
Abstract
움직임이 풍부한 동작이나 정교한 시각 효과와 같은 고도의 역동적인 비디오를 만드는 것은 인공지능 분야에서 상당한 과제입니다. 안타깝게도 현재 최첨단 비디오 생성 방법들은 주로 텍스트-비디오 생성에 초점을 맞추고 있어, 높은 충실도를 유지하지만 움직임이 거의 없는 비디오 클립을 생성하는 경향이 있습니다. 저희는 비디오 생성에 있어 텍스트 지시에만 의존하는 것은 불충분하며 최적이 아니라고 주장합니다.
이 논문에서는, 비디오 생성을 위해 텍스트 지시와 함께 첫 번째 및 마지막 프레임에 대한 이미지 지시를 통합하는 확산 모델 기반의 새로운 접근 방식인 PixelDance를 소개합니다. 종합적인 실험 결과는 공개 데이터로 학습된 PixelDance가 복잡한 장면과 정교한 움직임을 가진 비디오를 합성하는 데 훨씬 뛰어난 능력을 보여주며, 비디오 생성 분야에서 새로운 기준을 제시한다는 것을 입증합니다.
Introduction
움직임이 풍부한 액션, 정교한 시각 효과, 자연스러운 샷 전환 또는 복잡한 카메라 움직임을 가진 고도의 역동적인 비디오를 생성하는 것은 오랫동안 인공지능 분야에서 높지만 어려운 목표였습니다. 안타깝게도, 대부분의 기존 text-to-video 생성 접근 방식들은 여전히 단순한 장면을 합성하는 데 제한적이며, 시각적 세부 사항 및 동적 움직임 측면에서 부족한 경우가 많습니다. 최근 state-of-the-art 모델들은 image input을 통합하여 text-to-video 품질을 크게 향상시켰으며, 이는 비디오 생성을 위한 더 세밀한 시각적 세부 정보를 제공합니다. 발전에도 불구하고, 생성된 비디오는 종종 제한된 움직임을 보여줍니다 (그림 2 참조). 이 문제는 입력 이미지가 훈련 데이터에서 보지 못한 out-of-domain 콘텐츠를 묘사할 때 특히 심각해지며, 이는 현재 기술의 주요 한계를 나타냅니다.

Figure 2. state-of-the-art video generation model 11에 의해 생성된 비디오와, Figure 1 및 Figure 4에서 동일한 text prompts 및 image conditions가 주어졌을 때의 우리 결과 비교.
고도의 역동적인 비디오를 생성하기 위해, 우리는 텍스트 지시 외에도 비디오 클립의 첫 번째 및 마지막 프레임에 대한 image instructions를 통합하는 새로운 비디오 생성 접근 방식을 제안합니다. 첫 번째 프레임에 대한 image instruction은 비디오 클립의 주요 장면을 묘사합니다.
마지막 프레임에 대한 image instruction은 훈련 및 추론에서 선택적으로 사용되며, 클립의 끝을 설명하고 생성에 대한 추가 제어를 제공합니다. image instructions를 통해 모델은 복잡한 장면과 액션을 구성할 수 있습니다. 또한, 우리의 접근 방식은 더 긴 비디오를 생성할 수 있으며, 이 경우 모델은 여러 번 적용되고 이전 클립의 마지막 프레임은 다음 클립의 첫 번째 프레임 지시 역할을 합니다.
image instructions는 텍스트 지시에 비해 더 직접적이고 접근하기 쉽습니다. 우리는 훈련을 위해 얻기 쉬운 ground-truth 비디오 프레임을 지시로 사용합니다. 이와 대조적으로, 최근 연구에서는 텍스트 지시를 더 잘 따르기 위해 매우 상세한 텍스트 주석을 사용하는 것을 제안했습니다. 비디오의 프레임과 움직임을 정확하게 설명하기 위한 상세한 텍스트 주석을 제공하는 것은 수집 비용이 많이 들 뿐만 아니라 모델이 학습하기도 어렵습니다. 복잡한 텍스트 지시를 이해하고 따르기 위해 모델은 크게 확장되어야 합니다. image instructions를 사용하면 텍스트 지시와 함께 이러한 문제를 극복할 수 있습니다. 훈련에서 세 가지 지시가 주어지면, 모델은 비디오 콘텐츠의 역동성을 학습하는 데 집중할 수 있으며, 추론 시 모델은 학습된 역동성 지식을 out-of-domain 지시에 더 잘 일반화할 수 있습니다.
구체적으로, 우리는 instructions를 조건으로 하는 latent diffusion model 기반 비디오 생성 접근 방식인 PixelDance를 제시합니다. 텍스트 지시는 사전 훈련된 text encoder에 의해 인코딩되고 cross-attention을 통해 diffusion model에 통합됩니다. image instructions는 사전 훈련된 VAE encoder로 인코딩되고 perturbed video latents 또는 Gaussian noise와 함께 diffusion model의 입력으로 연결됩니다. 훈련 시, 우리는 (ground-truth) 첫 번째 프레임을 사용하여 모델이 지시를 엄격하게 준수하도록 하고 연속적인 비디오 클립 간의 연속성을 유지합니다. 추론 시, 이 지시는 T2I 모델에서 편리하게 얻거나 사용자가 직접 제공할 수 있습니다.
Related Work
2.1. Video Generation
Video generation은 오랫동안 매력적이고 필수적인 연구 주제였습니다.
이전 연구들은 GANs 및 VQVAE를 사용한 Transfomers와 같은 다양한 유형의 generative model을 사용했습니다. 최근, diffusion model은 photorealistic text-to-image generation 분야에서 상당한 발전을 이루었으며, GANs보다 뛰어난 robustness를 보여주고 transformer 기반 모델에 비해 더 적은 매개변수를 필요로 합니다.
Latent diffusion model은 압축된 저차원 latent space에서 diffusion model을 훈련하여 계산 부담을 줄이기 위해 제안되었습니다. Video generation의 경우, 이전 연구들은 일반적으로 사전 훈련된 text-to-image diffusion model의 2D UNet에 temporal convolutional layers 및 temporal attention layers를 추가했습니다. 이러한 발전은 super-resolution module의 통합을 통해 고해상도 비디오 생성의 길을 열었지만, 생성된 비디오는 그림 2에서 보듯이 단순하고 최소한의 움직임을 특징으로 합니다.
최근, video editing 분야는 특히 비디오의 원래 구조와 움직임을 유지하면서 콘텐츠를 수정하는 측면에서 놀라운 발전을 이루었습니다 (예: 소를 젖소로 수정). 이러한 성과에도 불구하고, 편집을 위해 적절한 reference video를 검색해야 하는 필요성은 시간이 많이 소요됩니다. 또한, 이 접근 방식은 어떤 reference video에도 존재하지 않을 수 있는 완전히 새로운 콘텐츠(예: 만리장성을 걷는 북극곰)를 합성할 가능성을 배제하기 때문에 본질적으로 창작 범위를 제한합니다.
2.2. Long Video Generation
Long video generation은 연속적인 비디오 클립 간의 매끄러운 전환과 장면 및 캐릭터의 장기적인 일관성을 요구하는 더욱 어려운 작업입니다. 일반적으로 두 가지 접근 방식이 있습니다.
1) autoregressive methods는 이전 클립을 조건으로 새로운 클립을 생성하기 위해 sliding window를 사용합니다.
2) hierarchical methods는 먼저 sparse frames를 생성한 다음 intermediate frames를 보간합니다.
그러나 autoregressive 접근 방식은 시간이 지남에 따라 error cumulation으로 인해 품질 저하가 발생하기 쉽습니다. hierarchical method의 경우, 훈련을 위해 긴 비디오가 필요하지만 온라인 비디오에서 잦은 shot changes로 인해 얻기 어렵습니다. 게다가 더 큰 시간 간격에 걸쳐 시간적으로 일관된 프레임을 생성하는 것은 어려움을 악화시키며, 이는 종종 품질이 낮은 initial frames를 초래하여 이후 보간 단계에서 좋은 결과를 얻기 어렵게 만듭니다. 이 논문에서 PixelDance는 auto-regressive 방식으로 연속적인 비디오 클립을 생성하며 기존 모델에 비해 장기적으로 일관된 프레임을 합성하는 데 탁월한 성능을 보입니다.
동시에, 우리는 생성된 콘텐츠가 사용자의 기대와 긴밀하게 일치하도록 보장하기 위해 영화 감독의 역할과 유사하게 사용자가 생성 프로세스에 적극적으로 참여하는 것을 지지합니다.
Method
기존의 text-to-video 및 image-to-video 생성 모델들은 종종 단순하고 제한된 움직임을 특징으로 하는 비디오를 생성합니다. 이 논문에서는, 풍부한 움직임을 가진 비디오를 생성하기 위해 모델이 비디오 콘텐츠의 역동성 학습에 집중할 수 있도록 하는 것을 시도합니다.
우리는 비디오 생성을 위해 텍스트 지시와 함께 첫 번째 및 마지막 프레임에 대한 image instructions를 통합하는 새로운 접근 방식을 제시하며, 훈련을 위해 공개 비디오 데이터를 효과적으로 활용합니다. 3.1절에서는 모델 architecture에 대해 자세히 설명하고, 3.2절에서는 우리의 접근 방식에 맞춘 훈련 및 추론 기술을 소개합니다.
3.1. Model Architecture
Latent Diffusion Architecture
우리는 video generation을 위해 latent diffusion model을 채택합니다.
Latent diffusion model은 계산 부담을 줄이기 위해 사전 훈련된 VAE의 latent space에서 perturbed input으로부터 denoise하도록 훈련됩니다. 우리는 diffusion model로 널리 사용되는 2D UNet을 사용하며, 이는 일련의 spatial downsampling layers와 skip connections가 삽입된 일련의 spatial upsampling layers로 구성됩니다.
구체적으로, 2D convolution block과 2D attention block이라는 두 가지 기본 block으로 구축됩니다. 우리는 temporal layers를 삽입하여 2D UNet을 3D 변형으로 확장하며, 여기서 2D convolution layer 다음에 temporal dimension을 따른 1D convolution layer가 오고, 2D attention layer 다음에 temporal dimension을 따른 1D attention layer가 옵니다.
이 모델은 spatial dimension에 대한 high-fidelity 생성 능력을 유지하기 위해 이미지와 비디오를 함께 훈련할 수 있습니다. image input의 경우 1D temporal operations는 비활성화됩니다.
모든 temporal attention layers에서 bi-directional self-attention을 사용합니다.
텍스트 지시는 사전 훈련된 CLIP text encoder를 사용하여 인코딩하며, embedding c_text는 UNet의 cross-attention layers를 통해 hidden states를 queries로, c_text를 keys 및 values로 주입됩니다.
Image Instruction Injection
우리는 텍스트 지시와 함께 첫 번째 및 마지막 프레임에 대한 image instructions를 통합합니다.
훈련 시에는 얻기 쉬운 ground-truth 비디오 프레임을 지시로 활용합니다.
첫 번째 및 마지막 프레임에 대한 image instructions를 {I_first, I_last}라고 하면, 먼저 VAE를 사용하여 diffusion model의 input space로 인코딩하여 {f_first, f_last}를 얻습니다. 여기서 f ∈ R^(C×H×W)입니다. temporal position information의 손실 없이 지시를 주입하기 위해 최종 image condition은 다음과 같이 구성됩니다.
c_image = [f_first, PADs, f_last] ∈ R^(F ×C×H×W) , (1)
여기서 PADs ∈ R^((F −2)×C×H×W)입니다. 그런 다음 condition c_image는 channel dimension을 따라 noised latent z_t와 연결되며, 이는 diffusion model의 입력으로 사용됩니다.
3.2. Training and Inference
훈련 절차는 그림 3에 설명되어 있습니다.

Figure 3. PixelDance의 훈련 절차 설명. 원본 비디오 클립과 image instructions(빨간색 및 녹색 상자)는 z 및 c_image로 인코딩되며, 이들은 서로 다른 noise로 perturb된 후 channel dimension을 따라 연결됩니다.
첫 번째 프레임 지시의 경우, 훈련을 위해 ground-truth 첫 번째 프레임을 사용하여 추론 시 모델이 첫 번째 프레임 지시를 엄격하게 준수하도록 합니다.
반대로, 우리는 의도적으로 모델이 마지막 프레임 지시를 정확하게 복제하도록 장려하지 않습니다. 추론 중에는 ground-truth 마지막 프레임을 미리 사용할 수 없으므로, 모델은 시간적으로 일관된 비디오를 생성하기 위해 사용자가 제공하는 coarse draft를 수용해야 합니다.
이를 위해 세 가지 기술을 도입합니다.
첫째, 클립의 마지막 세 ground-truth 프레임에서 이미지를 무작위로 선택하여 훈련을 위한 마지막 프레임 지시로 사용합니다.
둘째, robustness를 높이기 위해 image instructions의 인코딩된 latent c_image를 noise로 perturb합니다.
셋째, 훈련 중에 해당 latent를 0으로 대체하여 확률 η로 마지막 프레임 지시를 무작위로 drop합니다. 이에 따라 간단하면서도 효과적인 추론 기술을 제안합니다. 추론 중에는 총 T denoising steps 중 처음 τ 동안 마지막 프레임 지시를 적용하여 비디오 생성을 원하는 ending status로 유도하고, 후속 단계에서는 더 그럴듯하고 시간적으로 일관된 비디오를 생성하기 위해 이를 drop합니다.
x˜θ = ( xˆθ(zt,f_first,f_last, c_text), if t < τ xˆθ(zt,f_first, c_text), if τ ≤ t ≤ T . (2)
τ는 마지막 프레임 지시에 대한 모델 의존성의 강도를 결정하며, τ를 조정하면 다양한 응용 프로그램을 가능하게 합니다. 예를 들어, 우리 모델은 마지막 프레임 지시 없이도 고도로 역동적인 비디오를 생성할 수 있습니다 (즉, τ = 0). 또한, 추론 시 classifier-free guidance를 적용하여 텍스트 프롬프트가 있는 모델과 텍스트 프롬프트가 없는 모델의 score estimates를 혼합합니다.