일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- emerdiff
- 3d generation
- 프로그래머스
- dreammotion
- 코테
- 3d editing
- controllable video generation
- BOJ
- score distillation
- diffusion
- segmenation map generation
- diffusion models
- video generation
- Programmers
- Python
- magdiff
- diffusion model
- transformer
- segmentation map
- controlnext
- Vit
- masactrl
- DP
- 코딩테스트
- video editing
- 논문리뷰
- visiontransformer
- VirtualTryON
- 네이버 부스트캠프 ai tech 6기
- image editing
- Today
- Total
평범한 필기장
[평범한 학부생이 하는 논문 리뷰] WAVE: Warping DDIM Inversion Features for Zero-shot Text-to-Video Editing (ECCV 2024) 본문
[평범한 학부생이 하는 논문 리뷰] WAVE: Warping DDIM Inversion Features for Zero-shot Text-to-Video Editing (ECCV 2024)
junseok-rh 2024. 12. 19. 00:060. Abstract
Key Challenge : Naive DDIM inversion process의 각 step에서의 randomness와 inaccuracy에 의해 발생하는 error를 제한하는 것.
이는 video editing에서 temporal inconsistency를 야기할 수 있다.
1. Introduction
본 논문은 diffusion model을 이용해서 zero-shot video editing method를 만드는 것을 목표로 한다. Inversion process는 temporally cohorent initial latents의 sequence를 제공함으로써 video editing 결과에 도움을 준다. 그러나 아래의 이미지처럼 direct inversion process는 potential error accumulation 때문에 ideal과 actual inverted latent 사이의 undesired gap을 야기할 수 있다.
위 문제를 해결하기 위한 기존의 방식으로는 VideoP2P와 Fatezero가 있다. ( 이 논문들도 가능하면 읽어보자...) 이 방식들도 여전히 timestep에 따른 error accumulation이 존재한다. 이 문제를 해결하지 않으면, video editing task에서 unfaithful spatial texture 조짐이 발생하거나 flickering 현상이 발생한다.
본 논문은 inversion timestep에 대한 error accumulation을 제한하는 것을 목표로 한다. 본 논문의 contribution은 아래와 같다.
2. Method
본 논문은 textual prompt에 따라서 input video를 editing하는 것을 목표로 한다. 그래서 global layout과 local detail을 보존하면서 synthesized video를 생성한다. Pretrained T2I diffusion model $\epsilon_\theta$를 각 프레임에 독립적으로 적용하면 프레임들에 따른 content inconssistency를 야기한다. 이러한 inconsistency는 pretrained diffusion model $\epsilon_\theta$에서의 feature들에 temporal constraint들을 줌으로써 해결할 수 있다.
Natural video는 프레임들에 따라 강한 temporal consistency를 가진다. Input 프레임들의 internal diffusion feature들에도 유사한 temporal consistency가 존재한다. 이를 기반으로, 본 논문은 $\epsilon_\theta$아늬 self-attention module들의 query, key, value를 동시에 제한하는 flow-guided feature warp strategy를 제안한다.
위 이미지는 WAVE의 전체적인 pipeline이다. 본 논문의 framework는 2개의 stage로 구성된다.
- DDIM inversion
- Keyframe Joint editing and propagation
프레임에 따른 temporal consistency를 보존하기 위해서, 본 논문은 두 stage 모두에 flow-guided feature warp strategy를 넣는다. 그런데 여기서 DDIM inversion에 feature warp를 직접 쓰게되면 error accumulation을 야기하기 때문에, 본 논문은 random shuffle strategy를 제안한다.
2.1 Flow-Guided Feature Warping Strategy
본 논문은 연이은 두 프레임 간의 residual block과 self-attention module의 Input feature를 warp시키기 위해서 source video의 optical flow를 사용하는 것을 제안한다.
연이은 프레임 $I_n, I_{n+1}$가 주어졌을 때, 먼저 forward optical flow $w^f = (u^f, v^f)^T$와 backward optical flow $w^b = (u^b, v^b)^T$를 뽑는다. 그리고 warped feature의 occlusion region들을 나타내는 occlusion mask $B$를 계산한다. Forward-backword consistency assumption을 기반으로 occlusion mask를 생성한다.
Occluded되지 않은 픽셀에 대해서는 그 픽셀의 forward flow와 다음 프레임에서의 픽셀에 대한 backward flow가 같아야한다. 반대로 occlude된 픽셀의 두 flow 사이의 차이가 상당히 크다. 본 논문은 occlusion flag $B_o$를 다음 조건을 위배하면 1, 아니면 0으로 정의한다.
여기서 $\alpha_1 = 0.01, \alpha = 0.5$로 두었다.
그런데 occlusion flag $B_o$는 video context내 scene transition을 잘 다루지는 못한다. 그래서 본 논문은 residual map $r = \vert W(I_n,w^f) - I_{n+1} \vert$을 계산한다. 여기서 $W$는 backward warping operation이다. Backward warping operation이 뭔지 정확히 이해하지는 못했지만 $W(I_n,w^f)$는 $I_{n+1}$를 예측한 것이라고 이해하면 될 것 같다. $B_o, r$을 고려해서 최종 binary mask를 다음과 같이 정의한다.
$n+1$ 프레임을 위해, mask는 $n$ 프레임으로부터 warping되어야하는 feature(1)와 생성되어야하는 feature(0)를 구분한다. Backward flow $w^b$와 binary mask $B$를 가지고, 본 논문은 residual block과 self-attention module에서 feature alignment process를 수행한다. 각 denoising timestep에 대해서, residual block이나 self-attention module의 input internal feature $\hat{z}^i_n$를 저장하고 $n+1$ 프레임의 internal feature $\hat{z}^i_{n+1}$를 다음과 같이 계산한다.
여기서 $z_{n+1}^i$는 $n+1$ 프레임으로부터 생성된 feature이다. Binary mask $B$는 internal feature의 사이즈로 downscale된다. 이 process는 temporally corresponding regions에서 이전 프레임과 연관된 feature들을 잘 align하면서, residual block의 feature와 self-attention module의 Q,K,V token에 대한 근접한 생성을 보장한다. 결국, latent feature에대한 일관성있는 update를 유지하는 것은 프레임들 사이의 visual consistency의 preservation을 돕는다.
2.2 Randomly Shuffled DDIM Inversion
DDIM inversion을 통해 얻은 inverted noise latent는 DDIM denoising steps 동안의 error accumulation과 classifier-free guidance의 효과 때문에 frame inconsistency를 야기한다. 본 논문은 극심한 error는 프레임 당 단지 몇 timestep에서만 발생하고 전체 inference process를 통해서 쌓인다고 제안하고 temporal information을 사용해서 상돼될 수 있다고 제안한다. 본 논문은 이 error를 완화하기 위해서, DDIM inversion process에 flow-guided feature warping strategy를 통합한다.
본 논문은 fixed order inversion이 warping error accumulation을 야기한다는 것을 발견했다. 이 문제를 해결하기 위해서, 본 논문에서는 input 프레임들의 sequential order를 random하게 뒤집는다. 그리고 나서 이 sequence를 작은 group으로 나누고 각 그룹에서 frame들을 random하게 섞는다. DDIM inversion process는 flow-guided feature warping strategy를 기반으로 shuffle된 프레임 sequence에 적용된다. 결과로 나온 inverted noise latent는 $[x^i_n]$으로 표기된다. 이 latent는 diffusion feature들 사이에 inter-frame correspondence를 만드는데 사용된다.
2.3 Keyframe Joint Editing
Keyframe의 joint editing process는 randomly shuffled DDIM inversion의 inverted noise latent들에 대해서 수행된다. 먼저 self-attention module의 Q, K, V에 제약을 두기 위해서 flow-guided feature warping strategy를 editing process에 통합시킨다. 모든 프레임들의 key와 value를 align시키기 위해서, self-attention block을 extended-attention block으로 확장시킨다. 각 프레임의 key와 value를 첫 프레임의 key와 value에 각각 concat해서 extended-attention을 다음과 같이 계산한다.
각 self-attention module의 $n$번째 feature의 output feature는 다음과 같이 계산된다.
여기서 $\hat{A}$은 (9)식으로 이해했다. 이는 edited frame에서 rough하게 unified appearace를 이끈다.
2.4 Full Video Propagation
$K$ 프레임들마다 keyframe을 샘플링하고 본 논문의 framework를 통해서 그 프레임들을 editing한다. Shuffled edited keyframe들은 정확한 sequence로 re-order된다. Full video를 생성하기 위해서, 본 논문은 Ebsynth를 사용한다. 두 keyframe $I_0, I_K$에 대해서 두 keyframe은 $i (0< i < K)$ 프레임으로 warping돼서 $I^0_i, I^K_i$를 만든다. 먼저, Ebsynth는 각 location에 대한 patch matching동안 최소한의 error를 가진 하나를 선택함으로써 $I^0_i, I^K_i$의 color와 gradient를 결합한다. 그 후에, 결합된 color image는 $I^i$의 final blended image를 생성하기 위해 $I^0_i, I^K_i$에 대한 contrast-preserving blending을 위한 histogram reference로써의 역할을 한다.
3. Experiments
3.1 Implementation Details
본 논문은 Stable Diffusion를 베이스로 하고 PnP Diffusion을 frame editing method로 사용한다. 또한 source video로부터 구조적인 정보를 더 효율적으로 활용하기 위해서 ControlNet에 edge condition을 통합한다. DDIM inversion timestep의 수는 50으로하고, 처음 40번의 step난 flow-guided feature warping strategy를 사용한다. Keyframe사이의 간격은 4혹은 8로 한다.
3.2 Qualitative Comparison
3.3 Quantitative Comparison
DDIM inversion과 randomly shuffled inversion
Editing Results
3.4 Ablation Study
4. Limitations
본 논문은 transferred video에서 temporal consistency와 stability를 보장하기 위해서 original video로부터 풍부한 구조적인 정보를 추출하려 했지만, 여전히 개선의 여지가 있다. 또한 이 method는 video의 구조에 대해서 과하게 엄격한 control을 행하기에, 많은 구조적인 변형의 달성을 방해한다. LDM decoder에 의해서 high-frequency flickering이 발생할 수 있다. 마지막으로 image editing method의 성능에 의존한다는 한계점을 지닌다.
이번 논문은 코드를 쭉 보면서 돌려보고 싶다는 생각이 들었다. 뭔가 method가 완벽하게 이해되지는 않았다. 정확히 어떻게 작동하는 코드를 돌려보면서 이해해볼 기회가 있었으면 좋겠다.