논문 링크: https://arxiv.org/abs/2407.01494
Introduction
- Foley란?
- 쉽게 말하면 영화와 같은 영상에서 대사와 음악을 제외한 모든 소리라고 볼 수 있다.
- 참고) https://youtu.be/20UISl1e81U?si=b7nDYAmzbYAGc81L
- Neural Foley
-
- V2A는 비디오에서 직접 오디오를 학습하므로, 오디오 퀄리티가 좋지 않았다. (배경음 및 노이즈 때문)
- V2T 그리고 T2A를 그대로 붙인 프레임워크는 오디오 음질은 좋았지만, 텍스트가 비디오의 모든 정보를 담을 수 없기에 생성된 비디오가 비디오와 align하다고 할 수 없다.
- 본 논문에서는 FoleyCrafter framework를 이용하여, semantic, temporal alignment를 맞추고, 텍스트로 control도 가능하도록 했다.
- FoleyCrafter
- 사전학습된 T2A 모델을 베이스로 하며 아래의 모듈들을 사용한다
- Semantic adaper
- 의미 정보를 align하는 모듈
- Temporal controller
- 시간 정보 align하는 모듈
Preliminaries
Auffusion
- Audio Latent Diffusion Model 중 하나
- Waveform → Mel-spectrogram → LDM → Mel-spectrogram → Vocoder
- https://arxiv.org/abs/2401.01044
IP-Adaptor
- 기존 LDM(T2I) 모델에서 image를 condition으로 주어 Image-to-Image를 진행
- https://arxiv.org/abs/2308.06721
- 기존 LDM의 Unet 내부의 cross attention을 하나 더 만들어, 그 추가한 부분만 새롭게 학습
ControlNet
- 기존 LDM(T2I) 모델에서 image를 condition으로 주어 Image-to-Image를 진행
- https://arxiv.org/abs/2302.05543
- Zero Convolution
- 1*1 convolution이되, weight 및 bias 등을 모두 0으로 초기화 한 값에서 시작
- 기존 LDM의 UNet의 인코더 부분을 그대로 복사하여 그 복사한 부분만 학습.
- 복사한 부분에서의 출력값을 기존 Frozen Unet Decoder에 추가 condition으로 준다.
FoleyCrafter
- Pluggable module that can be integrated with a pre-trained text-to-audio model
- 각 모듈은 각각 학습하며, inference 시 모두 사용한다.
Semantic Adapter
- Semantic alignment을 위한 모듈
- Cross-attention을 하나 더 추가하여, 기존 부분은 모두 freeze하고, 새롭게 추가한 부분에 대해서만 학습을 진행
- 이전 IP-Adapter와 방식은 거의 동일하되 이미지가 아닌 비디오를 condition으로 준다.
Temporal Controller
- Timestamp Detector로 input 비디오의 timestamp를 예측하고, 이를 Temporl Adapter를 이용하여 기존 pretrained T2A 모델에 conditon으로 제공하여 Temporal Align을 맞춘다.
Timestep detector
- 위의 이미지는 참고를 위해 추가한 SonicVisionLM에서 설명한 timestamp detection module.
- (2+1)D conv로 공간적, 시간적 정보를 모두 확인한다.
Timestep-based Adaptor
- 기존 pretrained T2A 모델에 기존 ControlNet 방식으로 timestamp를 condition으로 제공한다.
Implementation Details
- Sementic Adapter
- Visual conditions을 위해 모든 cross-attention을 parrallel cross-attention으로 변경
- VGGSound dataset 사용
- 클래스 라벨이 있는 유튜브 비디오
- “The sound of”를 prefix로 사용
- 199K개의 ideos
- 164 epochs, batch size of 128, 8 NVIDIA A100 GPUs
- Timestep Detector
- AVSync15 dataset 사용
- VGGSound Sync dataset에서 curate한 데이터셋
- Countix-AV dataset 사용
- Timestamp 정보와 유튜브 링크(+ 특정 행동의 회수)가 있는 데이터셋
- 1.8K videos
- 23 epochs
- AVSync15 dataset 사용
- Temporal adapter
- AudioSet Strong dataset 사용
- 사운드 이벤트 라벨과 대응하는 timestamp 라벨이 있는 유튜브 데이터
- 80epochs
- AudioSet Strong dataset 사용
Experiments
Evaluation Metrics
- Mean KL Divergence (MKL)
- 테스트 세트의 모든 클래스에 걸쳐 평균 KL-다이버전스를 계산하여 샘플 간 유사성을 평가
- CLIP similarity
- 동일한 represenstation space에서 인풋 비디오와 생성된 오디오 임베딩 간의 유사성을 평가
- Audio encoder → Wav2CLIP, Video encoder → CLIP
- Frechet Distance (FID)
- 생성된 오디오의 fidelity을 평가하기 위해 분포 유사도 측
- Onset detection average precision (Onset AP)
- 데이터셋의 onset GT로 생성된 오디오를 평가
Quantitative Comparison
Qualitiative Comparison
Ablation Study & User Study
- Captioner: V2T 모델로 text 추출 후, 해당 text를 T2A에 입력하여 audio 생성
- Visual: 추가적인 학습없이, text 임베딩 대신 비디오 임베딩 입력
- Visual*: Visual과 동일하되, 파인튜닝한 모델
Limitation and Broader Impact
Limitation
- 생성된 오디오와 인풋 비디오의 synchronization을 위해 temproal controller를 도입했지만, 해당 부분의 성능은 결국 time stampt detector의 성능에 의해 한계가 정해진다.
- Temporal detector의 성능은 결국 좋은 training data에 의해 정해지므로 해당 부분에 있어 정확한 데이터가 더 필요하다.
Broder Impact
- FoleyCrafter는 V2A에서 좋은 성능을 보이지만, 이러한 기능은 fake content 생성에 있어서 주의를 요해야한다.
Conclusion
- FoleyCrafter는 기존 T2A 모델에 pluggable modules을 추가하면서 V2A에서 좋은 성능을 보였다.
- Semantic alignment를 위해 Semantic Adapter를 temporal synchronization을 위해 temporal controller를 사용한다.
- 다양한 실험을 통해 FoleyCrafter의 효과를 확인할 수 있다.