본문 바로가기

AI/Paper - Theory

[TransPixar 논문 리뷰] - Advancing Text-to-Video Generation with Transparency

반응형

*TransPixar를 위한 논문 리뷰 글입니다! 궁금하신 점은 댓글로 남겨주세요!

 

TransPixar paper: [2501.03006] TransPixar: Advancing Text-to-Video Generation with Transparency

 

TransPixar: Advancing Text-to-Video Generation with Transparency

Text-to-video generative models have made significant strides, enabling diverse applications in entertainment, advertising, and education. However, generating RGBA video, which includes alpha channels for transparency, remains a challenge due to limited da

arxiv.org

 

TransPixar github: GitHub - wileewang/TransPixar

 

GitHub - wileewang/TransPixar

Contribute to wileewang/TransPixar development by creating an account on GitHub.

github.com


Contents

1. Simple Introduction

2. Background Knowledge: DiT

3. Method

4. Result


Simple Introduction

RGBA Video generation

최근 Adobe에서 엄청난 모델을 하나 발표했다!

바로 TransPixar 모델인데, 해당 모델은 기존 video의 개념에서 한층 더 나아가서 transparency까지 고려를 한다!

이는 객체와 배경 간의 명확한 이해를 모델이 해야하고, 이에 맞춰서 transprarency 값도 잘 생성해야한다.

 

그렇다면, 어떻게 RGBA video를 잘 생성할 수 있었을까?

해당 방법론이 너무 궁금하기 때문에 바로 들어가보겠다!


Background Knowledge: DiT

DiT 논문 리뷰: https://kyujinpy.tistory.com/132

 

[Diffusion Transformer 논문 리뷰3] - Scalable Diffusion Models with Transformers

*DiT를 한번에 이해할 수 있는(?) A~Z 논문리뷰입니다! *총 3편으로 구성되었고, 마지막 3편은 제 온 힘을 다하여서.. 논문리뷰를 했습니다..ㅎㅎ *궁금하신 점은 댓글로 남겨주세요! DiT paper: https://ar

kyujinpy.tistory.com

- TransPixar는 DiT 모델 기반으로 구성된 Text-to-Video 모델입니다!


Method

Preliminary

CogVideoX

기본적으로, TransPixar 모델은 기존 pretrained model을 fine-tuning시켜서 만든 모델이다.

여기서 해당 저자들은, CogVideoX 모델을 pretrained으로 활용하였다.

 

CogVideoX 모델은 간략하게 소개하면,

DiT 기반 모델인데, video를 좀 더 잘 이해하기 위해서 3D attention 기법을 추가한 모델이라고 생각하면 편하다.

 

CogVideoX의 attention 수식
X_video에 Absolute positional encoding 적용

간략하게 attention 수식을 살펴보면, X_text와 X_video가 구분되어 있다.

X_text는 CLIP과 같은 text-encoder에서 나온 embedding으로, 해당 embedding을 W-projection layer로 통과시킨다고 생각하면 된다.

X_video는 3D-VAE를 통해서 나온 압축된 latent embedding으로, 해당 embedding은 positional-encoding을 더해준 뒤에 projection 시킨다.

 

Attention 수식을 정리한 이유는, 밑에서 TransPixar를 fine-tuning시킬 때 attention module를 기준으로 훈련되기 때문이다!

TransPixar Apporach

Model Figure

TransPixar는 LoRA를 활용하여 기존 pretrained model이 transparency를 이해하도록 fine-tuning 시켰다!

 

Double sequence 메커니즘

TransPixar에서 특별하다고 생각되는 점은, 바로 double sequence length를 설정한다는 것이다!

RGB Video sequence와 더불어서, 해당 video의 투명도를 결정하는 alpha video sequence를 이어서 함께 예측한다!

 

그래서 equation 4를 보면, 기존 attention과는 다르게 X_video의 길이가 2배로 늘어난 것을 확인할 수 있다.

즉 기존 DiT 훈련과정에서, noise sequence를 2배로 늘려서 input으로 활용하게 된다!

 

TransPixar Attention 변화

그 다음으로, 어떻게 alpha에 해당하는 값을 attention에서 모델이 어떻게 이해하도록 설계하였을지 알아보자! 

 

Positional encoding

첫번째로, positional encoding 부분이다!

TransPixar는 Absoulte Positional Encoding을 활용하는데, equation (5)에서 m <= L인 부분은, 기존 RGB video를 나타낸다.

그리고 m>L인 부분은, alpha video인데 여기서 positional encoding P를 RGB video에 적용했던 그대로 copy해서 넣는다.

Continue하게 positional encoding을 매기는 것이 아닌, 위 그림의 왼쪽처럼 서로 동일한 Positional embedding을 적용한다.

실제로 positional encoding을 동일하게 적용하면, alpha가 더 잘 나온다는 것을 figure 4에서 볼 수 있다. (밑에 Result에 언급)

 

LoRA layer

두번째는, LoRA와 Zero initialization이다!

Equation (5)을 보면, alpha video에 해당하는 sequence는 다른 projection layer W*을 통해서 계산되는 것을 볼 수 있다!

해당 수식이, equation (6)인데 여기서 바로 LoRA가 활용이 된다.

 

또한, zero intialization d를 활용하는데, 해당 vector는 domain-embedding의 역할을 수행한다.

즉, alpha token에 대한 정보를 효율적으로 학습하고, 정보를 token에 더해주기 위한 방법이다!

 

TransPixar attention
Attention masking

마지막은, attention mask이다!

해당 방법이 개인적으로, TransPixar에서 가장 특이하다고 생각이 들었다! 

 

Equation (7)을 보면, Text query를 기준으로 계산된 alpha의 attention score에 음의 무한대을 적용한 masking 처리한다.

그렇다면 의문점이, (이미지를 기준으로) [3,1]의 attention에는 왜 masking 처리를 안했는지 궁금해 할 수 있다.

 

Text-Attend-to-Alpha

위의 글에서 저자들의 생각을 확인할 수 있는데, 간단하게 정리하면 아래와 같다!

1. 기존 pre-trained model는 text-RGB의 attention 연산으로 학습되므로, (text를 기준으로) alpha와 RGB 간의 도메인 격차로 인해서 alpha와 text 간의 학습에 간섭이 발생된다.

2. Alpha value는 text information에 크게 영향을 받지 않는다.

 

위의 이유로, text-alpha 부분의 attention에 masking 처리를 수행하였고 이는 실제로 quality 향상에 크게 도움이 된 것을 figure 5에서 확인할 수 있다! (밑에 Result에 언급)


Model setting

- CogVideoX와 LoRA rank 128을 활용해서 훈련한다

- 그리고, zero initalization의 shape도 적어주고 있다. (D는 transformer의 latent dimension과 동일한 값)


Result

- Positional encoding 방법론에 따른 차이를 보여주는 이미지이다.

- 확실히 Copy를 한게 더 성능이 좋다

 

- Attention에서 어디를 masking하는지에 따른 성능을 보여주고 있다.

 

- CogVideoX (text-to-video)와 CogVideoX-I2V (image-to-video) 모델을 각각 이용해서 훈련시킨 결과를 보여주고 있다.


- 2025.01.16 Kyujinpy 작성.

다들 새해 복 많이 받으세요! 🙇🙇

반응형