본문 바로가기

연구실 공부

[논문] TiVA: Time-Aligned Video-to-Audio Generation

728x90

https://openreview.net/forum?id=tIpOYtxerl&referrer=%5Bthe%20profile%20of%20Xu%20Tan%5D(%2Fprofile%3Fid%3D~Xu_Tan1)

 

TiVA: Time-Aligned Video-to-Audio Generation

Video-to-audio generation is crucial for autonomous video editing and post-processing, which aims to generate high-quality audio for silent videos with semantic similarity and temporal...

openreview.net

해당 논문을 보고 작성했습니다.

 

Abstract

Video-to-Audio generation은 silent video에서 semantic similarity와 temporal synchronization을 가지고 있는 high-quality audio를 생성하는 것을 목표로 합니다. 하지만 대부분의 method들은 visual과 acoustic modality 사이 semantic matching에 초점을 맞추며 temporal alignment는 대략적으로만 고려되어 있어 정확한 동기화를 달성하지 못합니다. 이 연구에서 저자들은 새로운 time-aligned video-to-audio framework인 TiVA를 제안하며, 이는 semantic matching과 temporal synchronization을 동시에 만족하는 audio를 생성합니다. silent video가 주어졌을 때, 저자들의 method는 visual semantic을 encode 하고 audio layout을 별도로 예측합니다. 그다음 semantic latent embedding과 predicted audio layout을 condition으로 사용하는 latent diffusion-based audio genrator를 학습합니다.

 

Introduction

V2A generation의 main challenge는 생성된 audio가 visual content와 의미적으로 잘 맞아야 할 뿐만 아니라 video와 audio가 시간적 동기화도 되어야 합니다. 하지만 대부분 존재하는 V2A generation method는 visual and acoustic modality의 의미를 matching 하는 것에 초점을 맞추고 temporal alignment까지 고려하는 연구는 드뭅니다. 특히 보통 text-to-audio method의 learning paradigm을 따르며, video/image를 condition으로 encode 하기 위해 contrastive learning-based model을 사용한 다음 ddiffusion이나 auto-regressive model을 사용하여 Mel-spectrogram이나 audio token을 생성하기도 합니다. DiffFoley와 같이 최근 등장한 method는 동일한 time segment의 audio-visual pair 유사도를 maximize 하고 다른 시간대의 유사도는 minimize 합니다. 하지만, temporal contrastive learning은 input video와 생성된 audio 사이 대략적인 temporal synchronization을 보장하고, 정확한 synchronization을 달성하진 못했습니다.

이 연구에서 저자들은 새로운 time-aligned V2A generation method인 TiVA를 제안합니다. TiVA는 의미적 matching도 되고 시간적 동기화도 동시에 달성하는 audio를 생성합니다. 특히 저자들의 method는 audio의 low-resolution mel-spectrogram은 temporal synchronization을 위한 효과적인 audio layout를 제공할 수 있다는 사실을 기반으로 합니다.

 

위 그림을 보면 알 수 있습니다. 고양이가 크게 입을 벌려 하악질 하고 더 좁게 벌려 야옹하고 울 때, ground-truth waveform과 그에 대응하는 mel-spectrogram이 visual content의 동적 변화와 상당히 동기화되어 있는 것을 볼 수 있습니다. mel-spectrogram의 해상도를 줄임으로써 audio layout을 얻을 수 있습니다. 이 layout은 일을 세 번 여는 것과 소리를 내는 것 사이의 정확한 정렬을 제공하면서, 하악질과 야옹하고 우는 소리의 frequency 차이도 layout 영역의 밝은 부분을 통해 쉽게 구분할 수 있습니다. 그러므로 audio layout을 model 학습에 대한 supervise로 사용할 수 있습니다. 특히 학습 과정에서 저자들은 conditional diffusion-based audio generator와 audio layout predictor를 동시에 학습합니다. audio layout predictor는 input video의 low-resolution Mel-spectrogram을 예측합니다. real audio layout과 video의 semantical encoding 결과를 condition으로 사용하여, audio generator는 latent space에서 audio의 prior를 생성합니다. test 과정에서는 predictor가 audio layout을 추정하며, 이는 학습된 audio generator에게 효과적인 temporal condition을 제공합니다. 위 그림의 (e, f)와 같이 최신 V2A method과 비교하면, TiVA는 input video로부터 더 temporal synchronization이 잘 이뤄지는 audio를 생성할 수 있습니다. 저자들의 main contribution은 다음과 같습니다.

  • 저자들은 ground-truth audio의 low-resolution Mel-spectrogram을 사용하여 audio layout 예측의 self-supervise로 사용할 것을 제안합니다. 이를 통해 temporal encoding과 audio generation 사이 연결 고리를 만듭니다. 실험을 통해 이 방식이 temporal alignment information을 잘 capture 하고 semantic information과 함께 audio 생성을 제어하는 데 보완적 역할을 할 수 있음을 보여줍니다.
  • 저자들은 TiVA라 불리는 새로운 framework를 제안합니다. 이는 semantic and temporal information을 embed 하는 2가지 분리된 encoder와 conditional diffusion-based audio generator를 동시에 학습합니다. 실험을 통해 TiVA가 semantic matching과 정확한 temporal synchronization을 효과적으로 수행하며, 생성 속도도 40% 더 빠르다는 것을 증명했습니다.
  • 저자들은 종합적인 실험을 통해 모든 method를 평가하며, 생성 quality, temporal synchronization, semantic 및 효율성 측면에 대한 평기를 진행합니다. 

Related Work

 

Automatic Evaluation of Audio Generation

이전 연구들은 Frechet Inception Distance (FID), mean KL divergence (MKL), Inception Score (IS)와 같이 audio classifier로부터 얻어지는 feature distribution을 가지고 ground truth audio와 생성된 audio의 quality를 비교하는 metric을 사용했습니다. FID는 dataset-level 일관성을 측정하고, MKL은 pair-level variation을 평가하며, IS는 audio distribution entropy를 통해 다양성을 평가합니다. 그리고 FoleyGen은 ImageBind score (IB)를 사용하여 생성된 audio와 input video 사이 의미적 연관성을 평가했습니다. 이는 pre-trained multi-modal alignment model인 ImageBind를 사용하여 feature를 추출하는 방식을 기반으로 사용했습니다. 최근 연구들은 생성된 audio와 input video 사이 synchronization을 평가하도록 확장되었습니다. 예를 들어 DiffFoley는 binary classifier를 사용하고 CondFoleyGen은 multi-class classifier를 사용하여 audio-video pair 사이 temporal offset (TO)를 예측하였습니다. SyncFusion은 binary onset signal을 예측함으로써 synthesized onset accuracy (Onset Acc)와 average precision score (Onset Sync AP)를 사용합니다. 하지만 이러한 onset signal 기반 metric들은 전체 temporal distribution의 세밀한 detail을 충분히 capture 하지 못할 수 있습니다. 이러한 한계를 해결하기 위해, 저자들은 더 detail 한 onset detection funciton (ODF) curve 기반 2가지 세밀한 synchronization evaluation metric을 제안합니다.

 

Method

Video-to-audio (V2A) generation은 N개 frame이 있는 silent video v로부터 audio track a를 생성하는 걸 목표로 합니다. 이상적으로는 생성된 audio a가 video v와 정확하게 visual content가 align 되어야 합니다. 이전 연구들은 생성된 audio와 input visual information 사이에 대략적인 alignment만 만족하며 semantic guidance를 통해 수행됩니다. 하지만 이 method들은 세밀한 alignment를 달성하지 못합니다. 즉 한 객체가 생성하는 다양한 소리 사이의 차이를 만들지 못하고, 시간적 정보를 정확하게 포함하지 못합니다.

이러한 정확한 alignment를 달성하기 위해, 저자들은 coarse-to-fine principle을 사용했습니다. 한 번에 정확한 alignment를 바로 수행하는 것은 어렵기 때문에, final output (high-resolution raw Mel-spectrogram)을 만들기 전에 간단한 intermediate state (low-resolution Mel-spectrogram)를 먼저 예측합니다. 저자들은 이 low-resolution Mel-spectrogram을 audio layout이라 부르는 새로운 control signal로 정의하며, video-to-audio generation의 bridge 역할을 수행합니다. 

 

위 그림의 (e) 부분에 해당합니다. 그리고 저자들은 TiVA라 불리는 새로운 V2A framework를 제안합니다. 이는 semantic embedding과 audio layout를 생성한 다음, 둘을 audio generation을 control 하기 위한 condition으로 사용합니다. 

 

위 그림의 (a)와 같습니다. 

 

Audio Layout

2D image generation에서는 일반적으로 2D layout input을 가지고 정확한 control을 수행합니다. audio는 image와 유사하게 2D Mel-spectrogram 형태(time and frequency 축)로 표현되며, 저자들은 audio domain에서 coarse-grained Mel-spectrogram을 audio layout으로 사용하는 것을 제안하며 t로 표기합니다. model이 raw Mel-spectrogram을 예측하는 것보다 audio layout이 훨씬 간단합니다. 그리고 ODF curve (audio waveform에서 추출되는)이나 Onset signal보다 sound structure와 소리의 시작점과 끝나는 지점과 같이 detail 한 control signal을 제공할 수 있습니다.

구체적으로 ground truth audio layout t_a는 Mel-spectrogram의 차원을 [M^{raw}, C^{raw}]에서 target resolution [M, C]로 downsampling 하여 생성됩니다. 여기서 M^{raw}와 C^{raw}는 original frame and frequency dimension을 나타냅니다. M과 C는 감소된 temporal length와 frequency dimension을 나타냅니다. 

이러한 간단하지만 효율적인 extraction은 self-supervised 학습 방식이 가능하며, 추가적인 audio annotation 없이 temporal structure pattern을 capture 할 수 있습니다. 추출된 audio layout의 [M, C] size는 latent space dimension [h, w]에 맞게 조정되어 latent diffusion model에 적용됩니다.

 

Architecture of TiVA

TiVA는 semantic encoder S, layout predictor T, conditional generator G로 구성됩니다. TiVA는 input video frame [f_1, ... , f_N]으로부터 semantic embedding s를 추출하고 audio layout t_v를 예측합니다.

 

- TiVA's Conditional Encoders

semantic encoder와 layout predictor는 video frame을 semantic embedding s와 temporal audio layout t_v로 변환합니다. CLIP을 통해 multi-layer feature c_i^l를 추출하는 것으로 시작합니다. c_i^l는 f_i frame에 대한 CLIP의 l번째 layer로부터 얻은 CLS와 patch feature를 나타냅니다. 이 feature들을 사용하여 semantic condition s와 temporal condition t_v를 생성하는 데 사용됩니다. 

semantic encoder S는 각 frame에 대해 CLIP의 11번째 layer의 CLS feature를 semantic embedding으로 mapping 하기 위해 linear layer를 사용합니다. 

 

각 frame의 s_i를 공동 semantic condition s를 만드는 데 사용합니다. Layout Predictor T는 encoder-decoder 구조를 사용합니다. encoder는 각 frame에서 선택된 CLIP layer에 대한 patch feature를 concatenate 하고 pooling 하여 encoder의 input으로 사용합니다. 인접한 frame들의 상호작용을 촉진하기 위해, 이 feature들을 windowed self-attention layer로 처리합니다. 

 

decoder는 CLS feature를 학습 가능한 query token q_i와 결합하여 input c_i^{query}를 얻은 후 여러 decoder block과 output layer에서 사용합니다. 각 decoder block은 self-attention layer, cross-attention layer (c_i^{query}를 query, c_i^{patch}를 key와 value로 사용), windowed self-attention layer를 포함합니다. 마지막 output layer는 single linear transformation을 포함합니다. 이는 마지막 decoder block의 output c_i^{out}을 원하는 audio layout t의 차원으로 matching 하는 mapping을 수행하여 최종 predicted autio layout t_v를 생성합니다.

 

- TiVA's Conditional Generator

TiVA's generator는 latent diffusion model (LDM)을 V2A generation으로 확장한 version입니다. variational autoencoder를 사용하는 LDM은 audio mel-spectrogram을 compact latent representation z_a로 변환합니다. conditional LDM은 주어진 noisy latent variable과 semantic embedding s를 조건으로 사용하여 latent z_a를 생성하는 것을 목표로 합니다. LDM을 학습하는 과정에서 diffusion forward process는 pre-defined schedule에 맞춰 gaussian noise를 추가하여 original ground-truth distribution z_a를 standard Gaussian distribution으로 변환합니다.

 

위 식으로 진행됩니다. 결과적으로 LDM의 diffusion model은 각 time step에서의 noise를 예측하는 방식으로 학습됩니다. 

 

- Semantic and Layout Controlled Generator G

TiVA's generator G는 semantic embedding s와 audio layout t를 condition으로 하는 LDM을 사용합니다. latent z_a는 Mel-spectrogram을 encode 하여 구해지며, convolutional VAE를 사용하여 spatial relationship은 보존합니다. 동일한 mel-spectrogram에서 얻어지는 audio layout t는 z_a와 spatially align 됩니다. 그래서 resized t ∈ [1, h, w]를 z_a ∈ [c, h, w]에 추가적인 channel로 추가하여 z^_a = [z_a, t]∈ [(c + 1), h, w]를 구합니다. z^_a를 G의 각 diffusion step t에 input으로 사용하여 audio layout이 guide 하는 output을 생성하게 됩니다. 

 

저자들은 generator G로 Transformer-UNet (T-UNet)을 사용하며, convolutional layer, self-attention layer, cross-attention layer 모두 사용합니다. z^_a를 T-UNet의 input으로 feed 하며, semantic embedding s는 cross-attention layer에서 통합됩니다. 저자들은 각 step에서 generator의 output(c+1차원) 중 첫 c차원만 추정된 noise로 사용합니다. 

 

Training Strategies

학습 과정에서는, ground-truth audio와 함께 silent video frame을 받아서 layout predictor T와 semantic encoder S와 generator G를 따로 학습한 후 합쳐서 최적화합니다.

layout predictor는 video frame으로부터 audio layout t_v를 예측하도록 학습되며, CLIP에서 구해진 feature를 input으로 사용합니다. 이 학습은 ground-truth audio layout t_a로 인해 guide 되며, L2 loss를 minimize 하도록 학습됩니다.

 

semantic encoder S는 frame으로 semantic embedding s를 생성하며, ground truth t_a와 generator G의 condition으로 사용됩니다. generator G는 reverse diffusion process를 통해 noise sequence를 예측하여 z_a^t에서 z_a^0를 reconstruct 합니다. S와 G는 G의 output에 L2 loss를 적용하여 최적화되며, noise를 예측하는 것을 목표로 합니다. 

 

학습할 땐 semantic embedding s 중 10%가 random 하게 0으로 설정하여 unconditional generation 성능도 향상시킵니다.

T와 G를 따로 최적화하는 것은 suboptimal 결과를 얻게 됩니다. G가 정확한 ground-truth t_a로 학습되지만, inference 할 땐 predicted t_v를 사용하기 때문입니다. G는 미세한 편차에 매우 민감하기 때문에 , t_a와 t_v 사이 작은 차이도 크게 영향을 끼칠 수 있습니다. 실험을 통해 이러한 차이가 generation quality에 크게 영향을 미친다는 것을 알아냈습니다. 이를 해결하기 위해, 초기 분리된 optimization stage에 추가적인 공동 optimization stage를 적용했습니다. T는 먼저 video로부터 t_v를 예측하고, generator는 audio layout generation로 t_v를 input으로 사용합니다. generator의 prediction에 대한 L2 loss로 G, T, S를 동시에 학습합니다.

 

이때도 embedding s의 10%는 0으로 설정됩니다. 

 

Experiments

 

- Baseline

  • SpecVQGAN: visual feature extractor, VQ-VAE, autoregressive transformer, vocoder를 결합한 model입니다. RGB+Flow ResNet50을 visual feature로 사용했습니다. 
  • DiffSound-V: DiffSound 구조를 사용했으며, textual feature를 SpecVQGAN에서 사용한 RGB+Flow visual feature로 대체했습니다.
  • DiffFoley: Mel-spectrogram의 latent space에서 audio를 생성하는 diffusion-based model입니다. 그리고 CAVP feature를 condition으로 사용합니다.
  • IM2WAV: two-stage autoregressive process를 사용합니다. 첫 stage는 CLIP feature를 가지고 discrete audio token을 생성합니다. 그다음 high-fidelity audio로 refine 합니다.
  • FoleyGen: CLIP feature를 condition으로 사용하여 neural codec을 autoregressive 하게 생성하는 transformer를 사용합니다. 

- Evaluation metric

  • Quality metrics: 저자들은 Frechet Audio Distance (FAD), Inception Score (IS), KL-divergence (KL)을 사용했습니다.
  • Synchronization metric: Onset Acc나 Onset Sync AP와 같은 이전 metric들은 binary onset에 의존합니다. 하지만 onset은 sparse 하고 discrete signal입니다. synchronization에 대해 더 정교한 평가를 위해, 저자들은 Onset Detection Function (ODF) curve를 제안합니다. 이는 sound energy variation을 capture 합니다. Audio-video synchronization은 생성된 audio와 reference audio 사이 ODF curve를 비교하여 평가됩니다. 저자들은 Dynamic Time Warping Distance (DTW-dis)와 Wasserstein Distance (W-dis)를 사용하여 distance를 측정했습니다. DTW-dis은 두 time sequence을 최적으로 align 하는 dynamic programming algorithm을 사용합니다. 그다음 둘 사이 euclidean distance를 계산하는 방식입니다. W-dis는 P, Q라는 두 분포가 있을 때, P를 Q로 변환할 때 필요한 가장 적은 cost를 평가합니다. 
  • Semantic metrics: ImageBind score (IB)를 사용하여 input video와 생성된 audio 사이 의미적 유사도를 평가했습니다.
  • Efficiency metrics: 평균 inference 시간을 측정했습니다. 각 batch마다 100개 sample이 있고, 총 10개 batch에 대한 sampling을 하는 시간을 측정했습니다.

Comparing TiVA with Baselines

 

VGGSound dataset을 사용하여 TiVA를 다른 V2A method와 평가를 진행했습니다. 위 표와 같이, TiVA는 뛰어난 성능을 보여줍니다. TiVA가 temporal synchronization 뿐만 아니라 generation quality와 semantic relevance 모두 향상시켰습니다. 2D audio layout이 target audio에 대한 coarse prior를 제공하기 때문에, 관련된 sound를 생성할 수 있도록 도움을 줍니다. 그리고 TiVA는 연산 효율성에 있어 상당히 발전된 결과를 보여주며, baseline과 비교했을 때 약 40% 정도 더 빠르게 audio를 생성합니다. semantic encoder와 audio layout predictor가 CLIP feature를 공유하기 때문이라고 합니다.

subjective 평가를 위해, 저자들은 VGGSound test set에서 random 하게50개 video를 선택했습니다. 저자들은 전체적인 quality (Overall), Sound Quality (SoudnQua), Semantic Relevance (SemRel), Synchronization Score (SyncScore) 관점에 대해서 model들이 sample 한 audio에 대한 평가를 진행했습니다. 

 

평가 결과는 위와 같습니다. TiVA가 모든 baseline보다 훨씬 뛰어난 모습을 보여줍니다. 

 

qualitative 평가는 위와 같습니다. case1과 3을 보면 TivA model이 생성한 audio가 다른 baseline보다 visual content & ground truth와 temporally align되는 것을 볼 수 있습니다. DiffFoley는 두번째 cat hissing과 final meow에서 delay가 있는 것을 볼 수 있으며, IM2WAV는 마지막 meow에 delay가 있는 것을 볼 수 있습니다. Case 3에서는 두 model모두 특정 sound를 포함하지 않는 것을 볼 수 있습니다. Case 2, 3를 통해 ViTA가 의미적으로 유사한 sound를 생성할 수 있음을 증명합니다. Case 3에서 TiVA는 mel-spectrogram의 'triangular'이라는 밝은 부분이 DiffFoley의 'rectangular' 영역보다 훨씬 ground-truth와 유사한 것을 볼 수 있습니다. TiVA의 audio와 ground-truth audio는 세로로 유사한 bar가 그려지는 것을 볼 수 있지만, aseline들은 가로로 bar를 생성합니다. 그리고 예측된 audio layout이 coarse 한 resolution을 나타내지만, 중요한 temporal, shape, texture information을 포함하고 있다는 것을 알 수 있고, audio quality를 향상시켜주고 temporal synchronization도 향상시켜주는 것을 알 수 있습니다.

 

Experiments on Architecture

저자들은 3가지 audio layout을 사용했습니다. 1) Onset signal, 2) ODF curve, 3) 저자들이 제안한 low-resolution Mel-spectrogram입니다. generator는 각각에 맞춰 학습되었으며, Onset signal, ODF curve와 같은 1D 형태들은 추가적인 convolutional layer를 사용하여 2D로 변환되었습니다.

 

위 결과를 통해 알 수 있듯이, 저자들의 t_a가 FAD, KL, W-dis, DTW-dis에서 가장 좋은 성능을 보여줍니다. IS의 경우 entropy 기반이며, t_a의 정교한 control 성능이 다양성을 감소시켜 이와 같은 결과를 이끌어냈다고 합니다.

 

위와 같은 실험 결과를 통해, 저자들은 compress size [102, 5]가 가장 좋은 성능을 보임을 확인했습니다.

 

Experiments on Architecture

visual information에서 audio layout을 예측하는 것은 TiVA의 core step입니다. 저자들은 audio layout predictor에 대한 최적의 설계 구조를 선택하기 위해 여러 실험을 진행했습니다. 1) CLIP features: CLIP에서 얻은 multi-layer CLS token과 top-layer에 대한 비교, 2) Self-attention: windowed self-attention과 global self-attention mechanism의 이점, 3) cross-attention: detailed patch-level feature를 cross-attention에 포함시키는 것의 기여도에 대한 평가를 진행했습니다.

 

실험 결과는 위와 같습니다. multi-layer CLIP feature가 성능을 향상시켰습니다. 어떤 visual feature가 가장 중요한 지 명확하지 않으므로, 저자들은 3개 layer CLS feature를 사용하여 model이 학습하도록 만들었습니다. 그리고 self-attention이 더 많은 기여를 하며, windowed self-attention과 보완적입니다. windowed self-attention만 사용하면 self-attention만 사용할 때보다 성능이 좋지 않지만, 둘 다 사용하면 성능이 향상됩니다. 번개가 친 다음 천둥소리가 들리는 것과 같이 몇몇 audio들은 delay가 존재하거나 몇몇 audio들은 본질적으로 길기 때문에 정확한 예측을 위해서 long range interaction가 필요하기 때문에 둘 다 사용하는 것이 성능을 향상시킨다고 합니다. patch feature를 포함시키는 것이 성능 향상에 도움이 됩니다.

 

Conclusion and Future Work

이 논문은 새로운 video-to-audio generation framework인 TiVA를 제안합니다. 의미적으로 정확하고 temporally synchronized audio track을 생성하는 능력이 뛰어나며, audio layout을 통해 큰 성능 향상을 이끌었습니다. objective and subjectie evaluation 결과를 통해 TiVA가 quality, semantic relevance, synchronization 성능이 뛰어나다는 것을 보였습니다. 또한 TiVA는 domain 외 video에 대해서도 유망한 결과를 보였습니다.

728x90