본문 바로가기
Paper

논문 리뷰 | MMAudio: Taming Multimodal Joint Training for High-Quality Video-to-Audio Synthesis (CVPR 2025)

by 힢힢 2025. 11. 7.

 

논문 세미나 발표로 올해 CVPR 논문인 MMAudio를 골랐는데 ,,,

처음에는 짱큰 figure에 겁먹었지만 다 읽고보니 이미지바인드보다 재밌었움  ̀⁽ᵕ̈⁾ ́ 

 

https://arxiv.org/abs/2412.15322

 

MMAudio: Taming Multimodal Joint Training for High-Quality Video-to-Audio Synthesis

We propose to synthesize high-quality and synchronized audio, given video and optional text conditions, using a novel multimodal joint training framework MMAudio. In contrast to single-modality training conditioned on (limited) video data only, MMAudio is

arxiv.org

 


 

[ MMAudio: Taming Multimodal Joint Training  for High-Quality Video-to-Audio Synthesis (2025) ] 

✦ Abstract

 

비디오와 텍스트 조건으로 높은 퀄리티의 동기화된 오디오를 합성하는 novel multimodal joint training framework, MMAudio를 제안한다. 대규모의 텍스트-오디오 데이터 사용, flow matching objective, conditional synchronization module프레임 레벨의 semantic alignment를 달성하였다.

 


 

✦ Introduction

 

시각적 이벤트에 의해 유발된 효과음이나 주변 소리를 합성하는 것을 Foley라고 하는데, 이와 같은 기술에는 두 가지의 중요한 키포인트가 있다. 첫 번째는 장면의 의미와 어울리는 소리를 만들어야 하는 semantic alignment이고, 두 번째는 소리가 정확한 타이밍에 나와야 하는 temporal aligment이다. 이 두 가지를 달성하기 위하여 본 논문은 여러 방법을 채택하였다. 

 

현재 SOTA video-to-audio 방법은 크게 audio-visual data를 scratch부터 학습하는 것과 pretrained된 text-to-audio model에 추가적인 control module을 붙여 audio-visual data에 파인튜닝하는 것으로 나뉜다. 전자는 사용 가능한 학습 데이터가 제한적이라는 한계가 있다. 인터넷 상에서 쉽게 수집할 수 있는 영상에는 흔히 배경음악이나 말소리가 포함되어 있어 모델 학습에는 유용하지 않기 때문이다. 그래서, 대량의 데이터를 수집하기가 어렵다. 후자는 대규모의 audio-text data로부터 얻은 지식을 활용할 수 있다는 이점을 가지지만, control module을 추가하는 것은 네트워크 아키텍처를 복잡하게 만들고, scratch부터 학습하는 방식과 비교했을 때, 다양한 video-to-audio 시나리오를 처리할 만큼 충분한 표현력을 갖추었는지 명확하지 않다. control module을 학습하는 과정에서 텍스트 모달리티는 pretrained된 상태로 고정되어 있기 때문에, joint semantic space를 형성하기가 어렵다.

 

이에 본 논문은 비디오, 오디오, 텍스트를 single multimodal transformer network에서 함께 고려하는 multimodal joint training paradigm을 제안한다. training 과정에서 학습 데이터에 포함되지 않는 모달리티는 마스킹함으로써 유연하게 학습할 수 있도록 설계한 end to end framework를 통해 audio-visual dataset과 audio-text dataset에 대해 scratch 부터 학습을 가능하게 만들었다. 

 

 


 

① Semantic alignment

semantic alignment를 달성하기 위해서는 모델이 장면 맥락과 오디오가 어떻게 연결되는지를 이해해야 한다. 이를 위해, 선행 연구에서 training data의 스케일링에 따라 성능이 증가하는 것에 영감을 받아, data-driven 방식을 채택한다. joint training이 유도하는 shared semantic space를 통해 네트워크가 더 다양한 데이터로부터 풍부한 의미 정보를 학습할 수 있어 audio-text pair에서 학습한 semantic understanding을 video-text pair로 전이할 수 있다고 주장한다. 

 

② Temporal alignment

temporal alignment를 달성하기 위해서는 모델이 audio-visual synchrony를 이해해야 한다. 기존에는 audio feature로 audio onsets이나 energy처럼 handcrafted, 즉, 직접 설정한 feature를 사용하였다. 이를 synchformer라는 pretrained 모델을 사용해 추출한 deep feature embedding으로부터 직접 alignment를 학습하게 해서 input signal에 대한 더 정교한 해석을 가능하게 만들었다. 또한, positional embedding을 개선하였다. 기존 연구에서는 high frequency인 오디오를 subsampling하였는데, 본 논문에서는 low frequency인 비디오의 positional embedding을 스케일 업 하였고, 이 두 방식은 한 모달리티의 주파수가 다른 모달리티의 주파수의 정수배일 때 동일한 alignment 결과를 가져온다. 이 두 방식이 같은 결과를 도출함에도 불구하고 비디오의 주파수를 스케일업한 이유는 명시적으로 나와있지는 않지만, subsampling으로 인한 오디오의 정보 손실을 피하기 위해서, 비디오를 오디오에 맞춘 것이라고 이해하였다.

+ 이 밖에도 ConvMLP, conditional synchronization module을 사용하여 temporal alignment를 개선하였다. (뒤에서 설명)

 


 

✦ Preliminaries

- Audio encoding.

오디오 생성을 위하여 waveform을 처리 가능한 형태로 변환하는 오디오 인코딩 과정이 필요하다. 먼저, raw waveform에 Short-Time Fourier Transform (STFT)를 적용해 주파수 정보가 포함된 스펙트로그램을 얻는다. 이 때 오디오는 동일한 일정 길이의 짧은 시간 구간으로 나누어 처리되고, 각 구간마다 푸리에 변환이 적용된다. 이렇게 얻은 스펙트로그램에 mel scale을 적용해 mel spectrogram으로 변환한다. 이 mel spectrogramdmf pretrained VAE에 넣어 오디오의 압축 표현인 latent vector로 변환한다. 이는 waveform이나 mel spectrogram과 같은 고차원 데이터를 직접 생성하기에 계산량이 많고 훈련이 어렵기 때문에 저차원 latent space에서 생성 과정을 효율적으로 모델링하는 것이다. 

training 단계에서는 노이즈로부터 이 latent vector로의 경로를 conditional flow matching objective로 학습하게 되고, 이후 테스트 단계에서는 생성된 latent vector를 VAE의 디코더에 통과시켜 mel spectrogram으로 복원한다. 이를 pretrained vocoder에 넣으면 최종적으로 오디오 waveform이 출력된다. 

 

* 정리

(1) waveform → (STFT, mel scale) → mel spectrogram → (VAE encoder) → latent vector (x1)

(2) training : noise → x1 (flow matching으로 학습)

(3) test : noise → predicted latent vector → (VAE decoder) → mel spectrogram → (vocoder) → waveform

 

 

- Conditional flow matching.

MMAudio는 위에 언급했듯이 conditional flow matching objective로 학습된다. 이는 초기 분포와 데이터 분포 사이의 연속적인 변화를 조건부로 모델링하는 방식으로, flow를 직접 예측한다.

 

https://hyepynus.tistory.com/25

 

(continuous) Normalizing flow, (conditional) Flow matching 정리

이곳저곳 참고하면서 정리해본,,, flow matching ...틀린 내용 많을 듯 😅 ✦ Generative models 일반적으로 generative model은 우리가 잘 알고, 샘플링하기 쉬운 분포 z에서 생성하기 원하는 복잡한 데이터 분

hyepynus.tistory.com

(조금 더 디테일한 conditional flow matching 설명 !!)

 

 

논문에 작성된 대로만 설명을 하자면, training time에서는 랜덤 노이즈 $x_0$과 실제 학습 데이터 $x_1$을 샘플링하고, 이 두 점을 잇는 직선 경로를 첫 번째 식과 같이 정의한다. 시간 t는 0에서 1까지 변하며, t=0일 때는 노이즈였다가 t=1이 되면 실제 데이터가 된다. 이 직선 경로를 따라 노이즈가 데이터로 변환될 때의 velocity는 두 번째 식으로 계산된다. $v_\theta$는 시간 t, 현재 위치 $x_t$, 그리고 주어진 조건 c를 입력 받아, 이 목표 속도 u를 정확히 예측하도록 학습된다. 즉, 모델이 예측한 velocity vector와 실제 목표 velocity vector 간의 오차를 최소화하는 방향으로 모델의 파라미터 $\theta$를 업데이트한다.

test time에서는 표준 정규 분포에서 랜덤 노이즈 $x_0$를 뽑아 ODE solver를 통해 시간 t=0부터 t=1까지 학습된 velocity vector field $v_\theta$를 따라 수치적으로 적분한다. 

 


 

✦ Multimodal Transformer

 

본 논문은 비디오, 오디오, 텍스트 모달리티 간의 상호작용을 잘 모델링하기 위하여 stable diffusion3의 MM-DiT 블럭의 많은 부분을 참고하였다.

 

- Joint attention.

stable diffusion 3의 방식을 따라서, 각 모달리티의 쿼리, 키, 밸류를 각각 concat하고 scaled dot product attention을 적용한 후 얻은 결과를 각 모달리티로 나눈다. 이러한 joint attention은 서로 다른 모달리티끼리 정보를 주고받을 수 있도록 하지만, 시간적으로 동시에 발생하지 않은 토큰끼리도 attend 할 수 있기 때문에 temporal alignment를 보장하기에 충분하지 않다.

 

- Aligned RoPE position embedding.

audio-visual synchrony를 위해, 트랜스포머의 attention layer가 시간 정보를 알 수 있도록 RoPE를 joint attention 수행 전 visual, audio stream의 쿼리, 키에 적용한다. 텍스트에 RoPE를 적용하지 않는 이유는 텍스트가 비디오나 오디오의 temporal order를 따르지 않기 때문이다. 여기서, RoPE를 단순히 적용하는 것이 아닌, aligned RoPE를 적용한다. 비디오와 오디오의 frame rate가 다르기 때문에 비주얼 스트림의 위치 임베딩의 frequency를 스케일링한다. 구체적으로, 오디오 fps를 비디오 fps로 나눈 31.25/8의 scale factor를 곱해서 오디오와 같은 시간축을 가지도록 비디오를 오디오에 맞추어 스케일링하는 것이다. 이러한 방식이 temporal alignment에 도움을 주지만 아직 불충분하므로, 추가적으로 synchronization module을 도입한다.

 

- ConvMLP.

local temporal structure를 더 잘 포착하기 위해서 visual과 audio stream에 MLP 대신 ConvMLP를 사용한다. 텍스트 모달리티는 마찬가지로 비디오나 오디오의 순서를 따르지 않기 때문에 적용하지 않는다. ConvMLP는 MLP의 각 linear layer 대신에 커널 사이즈 3, 패딩은 1인 1D convolution을 적용하는 것이다. 인접한 3개의 값만 보므로 시간적으로 근접한 토큰끼리의 local한 정보를 포착할 수 있다.

 

- Global conditioning.

 

adaptive layer normalization layers (adaLN)의 scales, biases를 통해 네트워크 전체에 global features를 주입한다. global conditioning vector $c_g$는 average-pooled visual features와 average-pooled text features를 더해 MLP에 넣고 얻은 결과와 현재 시즘을 푸리에 인코딩한 timestep embeddings을 더해 계산된다. 이는 모든 트랜스포머 블럭에서 공통으로 사용하는 global feature이다. 각 트랜스포머 레이어에서 $c_g$를 통해 input sequence $y$에 대한 정규화와 condition control을 수행한다. 

 


 

 

✦ Conditional Synchronization Module

audio-visual synchrony를 향상시키기 위해 token-level conditioning을 수행하는 모듈이다. visual, audio stream은 cross-modal attention layer에서 상호작용하지만, 이 레이어들은 soft distribution 방식으로 feature를 aggregate 하므로 precision을 저해할 수 있다. 다시 말해서, 어텐션의 softmax 결과는 각 토큰 간의 유사도를 기반으로 한 확률분포이고, 각 value에 이 확률값을 가중합하게 되어 여러 토큰의 정보를 soft하게 섞는 것이라고 할 수 있다. 이 방식으로 정확한 temporal alignment를 달성하기는 어렵다. 

이를 해결하기 위해, Synchformer의 visual encoder를 사용해서 input video로부터 24fps의 high frame rate features $F_{syn}$를 추출한다. 본 논문에서는 Synchformer를 사용하는 것이 오디오 이벤트와 관련된 시각적 특징을 더 잘 얻을 수 있어 동기화에 도움이 될 것이라고 가정한다.

(Synchformer : video-audio 간의 temporal misalignment를 탐지하도록 self-supervised manner로 학습된 모델)

 

 

이 $F_{syn}$에 대해 ConvMLP를 적용하고, 그 출력을 오디오 latent의 프레임 수에 맞게 nearest neighbor interpolation으로 업샘플링하여서 최종적으로 시퀀스 길이 L에 맞춰진 frame-aligned conditioning 벡터 $c_f$를 얻을 수 있다. 1·$c_g$는 글로벌 컨디션 벡터 $c_g$를 L개의 프레임에 broadcast하는 것이다. 즉, 모든 시점에 대해 동일한 글로벌 컨디션이 더해지는 것이다. 그 결과, $c_f$는 각 시점 별로 고유한 동기화 정보를 포함하면서도, 전역적인 의미 정보도 함께 반영하는 토큰 레벨의 컨디셔닝 벡터가 된다.

 

 

이렇게 얻은 $c_f$는 오디오 스트림 내의 adaLN 레이어에 주입된다. 마찬가지로 A는 MLP이며, 앞선 global conditioning과는 달리, $c_f$가 토큰마다 다르기 때문에, 각 토큰에 대해 개별적인 scale과 bias가 적용된다. 이러한 토큰 단위의 세밀한 조절 덕분에 오디오 스트림의 피처가 temporal event와 더욱 정밀하게 align될 수 있고, 결과적으로 audio-visual synchrony를 효과적으로 개선할 수 있다.

 

 


( 발표 자료 )