- Published on
Video-P2P: Video Editing with Cross-attention Control(CVPR2024)
- Authors

- Name
- Minkyoung Shin
Video-P2P: Video Editing with Cross-attention Control
Text로 특정한 상황을 주었을 때, 이에 대한 비디오 생성이 주된 분야로 자리잡고있다. Prompt-to-prompt와 같이 이미지를 text editing 을 통해 control 할 때는 성능이 좋았던 모델을 가지고 비디오를 생성하려 하면, semantic consistency 가 떨어지고 매 프레임마다 다른 이미지가 나오는 문제점을 지니고 있다.
이런 분야를 text-driven image editing 이라고 하며, 이런 task의 모델들은 타겟 컨텐츠의 특정 object 나 category를 수정된 text에 맞게 바꿔주는 방식을 진행할 수 있다. 기존의 모델들에서는 주로 diffusion model을 사용하며, 이 중에서도 attention control 방식이 가장 detail하게 좋은 결과를 도출하고 있다. 이 방식은 먼저 원본 이미지를 pre-trained된 diffusion 모델의 latent space로 변환한 후, denoising 과정에서 attention map을 조작하여 특정 객체나 속성을 변경하는 방식이다. 예를 들어, "child"에 해당하는 attention map을 "panda"의 map으로 교체하면 이미지 상의 아이가 팬더로 대체되는 결과를 얻을 수 있는 것!
Introduction

본 논문에서는 이러한 attention control 기반의 이미지 편집 기법을 영상에도 적용하는 프레임워크를 제안한다. 현재 공개된 대규모 pre-trained된 비디오 생성 모델이 없기 때문에(이 당시에는 2023년도라, 지금은 넘쳐난다…), 이미지 생성 모델을 영상 편집에 적합하도록 변형하는 방법을 사용하였다. 기존에는 이미지 모델을 프레임 단위로 각각 처리하는 방식인 Image-P2P를 사용하였지만, 이는 프레임 간 semantic consistency가 부족하다는 단점이 있다. 이러한 문제를 해결하기 위해, 본 논문에서는 Text-to-Image(T2I) 모델을 Text-to-Set(T2S) 모델로 변형하여 모든 프레임에 대해 일관된 attention control을 적용하는 구조를 제안한다.
T2I 모델을 T2S 모델로 변환하기 위해서는 기존의 convolution kernel을 확장하고 self-attention을 frame-attention으로 교체하는 방식을 사용한다. 이와 같은 구조 변화는 모델이 여러 장의 이미지(즉, 비디오 프레임)를 동시에 일관성 있게 생성할 수 있도록 해준다. 이 과정에서 일시적으로 generation quality이 저하되지만, 원본 비디오에 대해 모델을 tuning하면 품질이 회복된다. 비록 tuning한 T2S 모델이 완전한 비디오 생성 모델은 아니지만, 영상의 잠재 표현을 근사적으로 복원하기에는 충분한 수준이다. 다만, denoising 과정에서 오차가 누적되는 현상은 여전히 존재하며, 이는 기존 연구들에서 이에 대한 문제를 잘 제기하고 있다. (그럼 해결해야하겠지?)
이러한 inversion 품질을 더욱 향상시키기 위해, 본 논문은 모든 프레임에 대해 shared unconditional embedding을 최적화하는 방식을 제안한다. 이 shared embedding은 denoising 과정에서 생성되는 latent feature와 원래 diffusion latent 간의 정렬을 가능하게 하며, 전체 영상의 표현을 전반적으로 조율하는 데 중요한 역할을 한다. 실험 결과, 이 shared embedding 방식이 영상의 inversion 품질을 향상시키는 데 효과적이며, 영상 편집의 핵심적인 요소로 작용함을 보여준다. 더 자세하게 알아보자.
본 논문을 이해하려면, Null-text inversion 과 DDIM inversion에 대해 잘 알고 있어야한다.
Method

실제 영상(Real Video) V가 n개의 프레임을 포함하고 있을 때, 이를 텍스트 기반으로 편집하기 위한 Video-P2P (Prompt-to-Prompt for Video) 프레임워크를 기본적으로 사용하고 있다. 이 프레임워크는 사용자가 제공한 원본 프롬프트 P와 편집 프롬프트 를 기반으로 하여, 원본 영상 V로부터 편집된 영상 를 생성하는 것을 목표로 한다. 이때 편집된 영상 역시 원본과 동일하게 n개의 프레임을 가진다.
여기서 사용하는 Prompt-to-Prompt(P2P)란, 두 개의 텍스트 프롬프트 사이에서 cross-attention을 조절하여 객체나 속성의 변화만을 반영하고, 나머지 장면 구성은 유지한 채 이미지를 조절하는 방식이다. 여기서는 구성 자체를 TAV(Text-Aware Video Editing)에서 제안한 것과 유사하게 가져갔으며, 이 논문에서는 object of interest가 영상의 첫 프레임에 존재한다고 가정한다. 이는 모델이 초기 attention을 추적하거나 정렬하는 데 도움이 되는 조건이라고 한다.
이러한 편집을 영상에 적용하기 위해 Video-P2P라는 프레임워크를 설계하고, 그 핵심 기술적 요소로 두 가지를 제시한다.
video inversion을 위한 shared unconditional embedding 최적화
이는 영상의 각 프레임을 diffusion 모델의 latent 공간으로 변환하는 과정에서 모든 프레임에 대해 하나의 동일한 unconditional embedding을 공유함으로써, 전체 영상의 semantic consistency를 유지하고자 한다. 일반적으로 diffusion inversion은 프레임마다 따로 수행하면 일관성이 깨지기 쉬운데, unconditional embedding을 공유하면 프레임들 간의 표현이 통합되고 일관된 결과를 유도할 수 있다.
원본 프롬프트와 editing 프롬프트에 대해 서로 다른 guidance 및 attention map 통합
이 항목은 Prompt-to-Prompt 기법의 핵심 아이디어를 영상에 맞게 확장한 것이다. 원본 프롬프트 P는 원래 객체와 장면 구성을 반영하고, 편집 프롬프트 는 변경된 객체(예: "a panda instead of a child")를 포함한다. 이때 두 프롬프트에서 생성되는 cross-attention map을 비교 및 통합함으로써, 어떤 부분을 바꾸고 어떤 부분은 유지할지를 조절한다. 즉, 원본 attention map을 기반으로 편집 위치를 식별하고, 편집 프롬프트의 attention map으로 해당 위치에 새로운 객체 정보를 반영하는 방식이다.
Video Inversion
T2I(Text-to-Image) 모델을 T2S(Text-to-Set) 구조로 변형하고, 이에 기반한 inversion 기법을 설계한다.
먼저, approximate inversion이 가능한 T2S 모델을 구축한다.
T2S 모델은 기존 diffusion 모델에 아래와 같은 두가지 수정 과정을 진행한다.
- 1×3×3 convolution kernel 사용
- TAV논문에서 사용된 구조로, spatial 정보와 시간 축 방향의 컨볼루션을 동시에 처리할 수 있도록 설계되어 있다.
- 비디오 특징인 시간 연속을 다룰 수 있다.
- Self-Attention → Frame-Attention으로 대체
- 기존 T2I 모델의 self-attention은 각 프레임 내의 관계만 보지만, frame-attention은 다른 프레임과의 관계를 반영한다.
- 특히, 프레임 를 업데이트할 때 항상 첫 번째 프레임 을 기준으로 attention을 계산한다.
Frame-attention은 다음과 같이 구성된다.
Query는 현재 프레임 v_i로부터 계산:
Key, Value는 항상 첫 번째 프레임 로부터 계산:
Attention map은 다음과 같이 계산됨:
여기서 d는 latent feature의 차원이다.
이 연산은 영상의 모든 프레임에 대해 반복적으로 수행되며, 총 n번의 계산으로 n개의 attention map이 생성된다. 이 방식은 메모리를 절약하고 계산 속도를 빠르게 하며, 기본적인 시간적 일관성을 유지할 수 있게 한다.
기존 T2I 모델을 T2S로 변형하는 과정에서, self-attention을 frame-attention으로 바꾸는 것을 model inflation이라 부른다.
하지만 이 변경은 pre-trained되지 않은 frame-attention 파라미터를 사용하기 때문에, 초기에는 영상 일관성은 유지되지만 프레임 개별 품질이 저하되는 문제가 발생한다. 이 문제를 해결하기 위해 다음과 같은fine-tuning을 수행한다.
일단 Frame-attention과 cross-attention의 Query projection matrix 와 Temporal attention 모듈을 조정하여 입력 비디오를 기반으로 정확한 노이즈 예측을 수행하도록 T2S모델 튜닝을 목적으로, approximate video inversion을 진행한다.
이 과정에서 shared unconditional embedding을 최적화하며, Diffusion Latent 는 각 시간 스텝마다 n개의 프레임 채널을 가진다. 즉, 는 t단계의 i번째 프레임에 대한 latent feature를 의미하며 DDIM Inversion 방식을 활용해 와 같은 latent feature들을 생성한다.
Video inversion 을 통해 매 프레임마다의 일관성을 유지할 수 있게 되었다.
Decoupled-guidance Attention Control
이실제 영상에 대해 attention control을 수행하기 위한 infernece는 어떻게 바뀌었을까? 기존 연구들에서는 이미지 편집을 위해 reconstruction ability와 editability을 동시에 갖춘 추론 파이프라인이 필요하다고 주장한다. 하지만 T2S(Text-to-Set) 모델의 경우, 비디오 기반 pre-trained된 모델들이 없어서 그런 정보들이 부족하기 때문에 T2I(Text-to-Image) 모델만큼 강력한 추론 파이프라인을 갖추기 어렵다.
논문에서는 video inversion을 통해 원본 영상을 재구성할 수 있는 파이프라인을 구성하는 데는 성공하지만, 이때 shared unconditional embedding을 최적화하게 되면 editability가 저하되는 문제가 발생한다. 즉, 영상은 잘 복원되지만, 새로운 프롬프트로 객체나 속성을 바꾸려고 하면 생성 품질이 떨어지는 것이다. 이는 T2S 모델의 편집 능력이 최적화된 embedding에 의해 제한받기 때문이며, 그 원인은 영상 기반 학습이 충분하지 않아 프롬프트 변화에 대한 일반화 능력이 부족하기 때문이다.
반면, 초기화된 unconditional embedding을 사용할 경우 완벽한 복원은 어렵지만 편집 가능성은 크게 향상된다는 사실을 발견했다. 이로부터 두 가지 파이프라인의 장점을 결합하는 아이디어가 나오게 되는데, 즉, 원본 프롬프트(source prompt)에서는 최적화된 embedding을 사용하고, target prompt에서는 초기 embedding을 사용하여, 각 프롬프트의 강점을 살리는 방식을 사용한다.
즉, classifier-free guidance 과정에서 source branch는 reconstruction을 담당하고, target branch는 editing을 담당하게 된다. 이후 두 branch에서 생성된 attention map을 통합하여, 변경되지 않은 영역은 source branch의 영향을, 변경이 필요한 영역은 target branch의 영향을 받도록 한다. 이렇게 되면 바뀌어야할 object나 category만 변경되고, 나머지는 일관되게 유지가 되는 방식 !

이 과정을 요약한 pseudo algorithm은 다음과 같으며, 이는 기존 Image-P2P에서 사용된 attention control 방식을 Video-P2P에 확장 적용한 것이다. 예를 들어, 특정 단어를 교체하는 word swap을 수행할 때는, attention map을 일정 시점까지 target branch의 것으로 대체하는 방식으로 편집을 수행한다.
여기서 정의된 Edit 함수는 다음과 같이 작동한다:
시간 t가 임계값 보다 작을 경우에는 target attention map 를 사용하고, 그 이후에는 source attention map 를 유지한다. 이처럼 attention map은 초기에 형성되는 경향이 있으므로, 앞부분 단계에서의 교체만으로도 효과적인 편집이 가능하다.
또한 각 단어 w에 대한 attention map 는 시간 단계 T부터 t까지의 평균으로 계산되며, 각 프레임 j에 대해서도 독립적으로 산출된다. 이를 통해 프레임별로 단어 중심의 attention 강도를 정밀하게 반영할 수 있게 된다.
이와 같은 구조는 일부를 유지하려고 하는 성질과 일부를 수정하려고 하는 서로 상충되는 요구를 절충해서, 실제 영상에서도 high quality 의 video editing 이 가능하도록 한다.
Experiments & Results

본 논문에서의 실험세팅의 경우, TAV에서 실험했었던 방식과 동일하게 진행하였으며, 8 or 24 frame의 512*512 사이즈에서 실험을 진행하였다. Video-P2P에서는 word swap을 사용해서 text-driven video editing 을 진행할 수 있는데, 프레임별 결과를 확인해보면 전반적인 consistency를 유지하면서 object만 잘 바뀌는 모습을 확인할 수 있다.

그렇다면 단순 DDIM Inversion 만을 사용해서 text-driven video editing을 했을 경우에는 결과가 어떨까? 그냥 DDIM inversion 을 추가한 경우에는 색감만 유지될 뿐, object가 바뀌는 것 뿐만 아니라 배경까지 바뀌어버리는 현상이 발생한다(consistency가 유지가 안됨).
하지만 Video-P2P의 경우에는 background 는 잘 유지되면서, 변경된 text에 해당되는 object만 (고릴라) 잘 바뀌는 모습을 확인할 수 있다.
결과적으로 video based pre-trained된 모델 사용하지 않고, image based pre-trained된 LDM을 가지고 이런 consistency 유지가 잘 되는 video generation model을 제안했다는 점에서 좋은 논문인 것 같다.
논문을 확인해보고 싶다면, 본 링크를 참고하면 된다 ! :
📄 Read the paper on arXiv