[CVPR 2024] MART: Masked Affective RepresenTation Learning via Masked Temporal Distribution Distillation

안녕하세요. 이번에도 video task에서의 감정 관련 task를 들고 왔습니다. 최근에 연구주제에 대해서 고민이 깊어지면서 다양한 분야의 논문을 읽고 싶어 새롭게 시도하여 읽게 되었습니다. 이전에 쉽게 접하지 않았던 분야다 보니 부족한 점이 있겠지만 최대한 이해하고자 노력했습니다. 그럼 시작하겠습니다!

1. Introduction

Video Emotion Aanlysis(VEA)는 시청자의 비디오에 대한 기저 태도를 밝혀내는 것을 목표로 합니다. 여기서 기저 태도라는 말이 조금 낯설으실것 같습니다. 바로 사람의 감정, 생각 또는 반응의 기초적인 성향이나 관점을 의미하는데, 즉, 특정 비디오가 시청자에게 긍정적이거나 부정적인 감정을 유발하는 이유, 그 감정의 강도, 그리고 그 감정이 어떻게 발현되는 지를 분석하는 것을 포함하는 것이 VEA task라고 말할 수 있습니다. Figure 1을 보시면 감정과 관련된 모든 것을 분석한다고 생각하시면 되겠습니다.

최근의 SOTA VEA 방법론들은 fully supervised 방식을 사용하여 학습하는데, 이러한 경우 대규모로 라벨링된 데이터셋이 필요하다는 단점이 있습니다. 동영상에 감정 라벨링을 하는 것은 굉장한 시간과 비용이 많이 들고, 특히 감정이라는 것이 주관적인 인식이 있기 때문에 여러 사람이 동시에 라벨링하여야 합니다. 이 때문에 사전학습 모델을 사용하는 경우도 있지만, 이러한 경우 대규모의 데이터셋을 사용해서 미리 학습해야 하는 단점이 있습니다.

이를 극복하기 위해서는 video emotion 데이터셋에서 self-supervised learning을 활용하는 것이 있습니다. self-supervised learning의 핵심은 잘 설계된 proxy task를 해결하여 모델을 학습시키는 것이며, 이를 통해서 인간의 개입 없이도 sudo label을 생성할 수 있습니다. 최근에는 Masked autoencoder (MAE)가 local patch간의 상관관계를 잘 추출하여 널리 사용되고 있는데요. MAE는 마스킹된 비디오의 정보를 복원하여 동작합니다. 그런데 비디오에 나타나는 객체의 행동의 일반적인 내용과는 달리, 감정은 인간의 인지에 의존하기 때문에 매우 추상적이라는 특징을 가집니다. 이 때문에 low-level information과 high-level affective semantic간의 간극이 존재하게 됩니다.

본 논문에서는 감정 인론에 영감을 받아 감정 신호를 추출합니다. 심리학자들이 말한 바로는, 매개체(즉, 비디오)는 다양한 정도로 감정을 전달할 수 있습니다. 예를 들어서 비디오의 플롯 반전은 관객의 감정 변화를 크게 증대시킬 수 있으며, 이러한 변화는 보통 감정 단어와 같은 비디오 내의 신호와 관련이 있습니다. 이러한 연구들을 바탕으로 논문의 저자는 video emotion 데이터셋에서 감정의 정도와 temporal dimension을 활용합니다. 이를 위해서 여러 모달리티에서 감정 신호와 시간적 상관관계를 활용합니다.

본 논문에서는 감정 표현을 학습하기 위한 방법론으로 masked affective modeling method (MART)를 제안합니다. 해당 방법론은 감정 어휘 추출과 마스킹된 감정을 복구하는 것으로 구성됩니다. 먼저, 감정 어휘의 feature를 사용하여 단서를 추출하고 비디오 콘텐츠와의 매칭 점수를 계산하여 검증합니다. 감정의 종류, 감정 범주, 감정의 강도를 기준으로 계층적으로 검증하는 전략을 제안하여서 시간 차원에서 일치하는 단서를 식별합니다. 그런 다음, 여러 모달리티로 검증된 단서를 사용하여 시간에 따른 감정 분포를 복구하기 위한 마스킹된 감정 모델링을 제안합니다. 생성된 attention mask에 따라 마스킹 합니다. 이후에 시간에 따른 감정 분포를 복구하기 위해 feature-level, patch-level에서 재구성합니다.

본 논문의 contribution을 요약하면 다음과 같습니다.

  • Masked Affective Modeling (MAM)이라는 새로운 방법론 제안
  • SOTA 달성

2. Method

Figure 2를 통해서 본 논문에서 제안한 framework의 구조를 확인할 수 있습니다.

2.1 Revisiting MAE

video의 temporal emotion distribution을 복구하기 위해, 논문의 저자는 고전적인 MAE를 기반으로 self-supervised 방법론을 구축하였습니다. $T$ frame을 갖는 video가 입력된다고 하면, $v \in \mathbb{R}^{T\times{d}}$로 표현할 수 있습니다. 여기서 $d = HW$로 $H$는 높이, $W$는 너비를 의미합니다. MAE는 frame을 binary mask $m \in \{0, 1\}^T$를 사용하여 마스킹된 frame $v_m$과 마스킹이 되지 않은 frame $v_s$로 나눕니다. $v_m, v_s$는 다음과 같이 표현됩니다.

여기서 $T_m$는 마스킹된 frame의 시간 길이, $T_u$는 마스킹 되지 않은 frame의 시간 길이 입니다. 전체 frame의 수는 $T = T_m + T_u$로 정의됩니다.

MAE는 일반적으로 인코더-디코더 구조($h=g \circ f$)를 따릅니다. 인코더 $f$는 입력된 frame $v_u$를 latent embedding space $D$에 $z_u = f(v_u) \in \mathbb{R}^{d_e}$로 맵핑합니다. $d_e$는 embedding space의 채널을, $\circ$은 합성을 의미합니다. 그런 다음, 마스킹된 frame을 복구하기 위해 디코더 $g$는 이러한 frame을 target embedding으로 맵핑합니다.

target embedding은 원래의 이미지나 video에서 추출된 정보가 포함된 embedding입니다. MAE에서는 일부 frame이 마스킹 되어 해당 frame의 의미를 예측하고 복원하는 과정에서 사용됩니다. target transform은 $t(v)$로 표현되며, 이는 다양한 방식으로 정보를 변환합니다. MAE는 예측된 마스크 embedding과 target semantic embedding간의 거리를 최소화함으로써 복원하는 것을 목표로합니다. 이를 다음과 같이 수식으로 나타낼 수 있습니다. (본 논문에서 해당 수식에 대해서 설명이 조금 부족한것 같아 저 나름대로 각 annotation에 대해서 설명을 작성해뒀습니다.)

  • $v$ : 입력 video
  • $v_m$ : 마스킹된 video frame
  • $v_u$ : 마스킹되지 않은 video frame
  • $g$ : 디코더 (입력 데이터를 target embedding으로 변환)
  • $f$ : 인코더 (입력 데이터를 latent space로 변환)
  • $t(v)$ : 원본 데이터를 기반으로 생성된 target embedding
  • $\phi$ : 마스크와 목표 임베딩 간의 계산하는 거리 함수

테스트 중에서는 학습된 인코더가 representation extractor로 사용되며, 특정 task에 맞는 header가 위에 추가됩니다.

본 논문에서는 video에서 정서적 단서를 발견하여 mask를 생성하고 해당하는 temporal emotion distribution을 회복하는 것을 목표로 합니다.

2.2 Emotional Lexicon Extraction

심리학자들은 자막이 인간의 감정 상태와 배경 음악의 가사를 반영하기 때문의 인간의 감정을 유발할 수 있다고 하는데요. 그래서 실제로 여러 VEA 연구에서는 텍스트를 적극 사용합니다.

2.2.1 Feature Extraction and Temporal Emotion Score

먼저, video $v$의 feature를 어떠한 VEA 방법을 이용하여 추출합니다. visual input과 audio input은 VEA method의 multimodal encoder $f$에 의해 공동의 embedding space인 $z \in \mathbb{R}^{T \times d_e}$로 맵핑합니다. temporal max-pooling 기법을 사용하여 global video representation $z_v$를 생성합니다. 그 후, 감정 분류기가 $C$의 감정 클래스로 인식합니다.

$$ \bar{z_e} = \sigma(f_c(z_v)) $$

여기서 $f_c(\cdot)$는 fully connnected layer, $\sigma$는 softmax를 의미합니다. VEA 방법의 classification loss는 $\mathcal{L}_{cls}$로 계산됩니다. video의 temporal emotion score를 측정하기 위해서, $z_e$를 이용하여 다음과 같이 temporal class에 따라 점수를 계산합니다.

여기서 $[(\cdot)_{\times{T}}]$는 $T$ 번동안 반복하는 것을 의미합니다.

2.2.2 Emotion Lexicon

감정 단어를 추출하기 위해, 본 논문에서는 video에서 전사된 텍스트를 분석하여 해당 감정 단어 $w_e$를 찾습니다. 일반적으로 사용되는 감정 어휘집(affective lexicon)을 참조하여 감정 단어와 연결합니다. 그런 다음, 단어의 감정적 뉘앙스를 두 가지 벡터로 추출하는데, 언어적 벡터(linguistic vector)와 감정 벡터(emotional vector)를 추출합니다. 이를 통해서 감정 분류 $c_s$, 감정 카테고리 $c_e$, 감정의 정도 $i_e$를 얻습니다. 즉, 대규모 사전학습 모델을 사용하지 않고 감정 단어에 대한 속성 정보를 감정 사전에서 조회하여 감정 정보를 추출합니다. (논문에서는 해당 부분을 간단하게 다른 논문을 이용하여서 넘어갔는데, 디테일한 부분은 해당 논문을 참고하시면 좋을 것 같습니다.)

2.2.3 Hierarchical Lexicon Verification

기존의 VEA 방법은 고급 품질의 전사 텍스트의 의존하는 경향이 있는데, 이는 인력 비용도 많이 들고, 실시간 상황에서는 제약이 있을 수 있습니다. 그래서 본 논문에서는 주어진 감정 단어와 해당 비디오 내용이 있을 때, 이들이 얼만큼 일치하는지 일치 점수를 검증하는 것을 목표로 합니다. class activation mapping(CAM)에서 추출한 temporal emotion score를 활용하여, 감정 어휘와 비디오 내용 간의 일치 점수를 감정, 감정 종류 및 감정 정도 측면에서 식별합니다. 해당 프로세스가 어떻게 수행되는지에 대해서 설명해보겠습니다.

  1. $E_1 : \mathbb{I}(c_s = \bar{c_s})$
    • 첫 단계에서는 텍스트와 비디오의 감정이 전달되고 있는지 확인합니다.
    • 여기서 $c_s$는 텍스트의 감정, $\bar{c_s}$는 비디오의 감정입니다.
    • $\mathbb{I}$는 indicator 함수로 조건이 참이면 1, 거짓이면 0을 출력합니다.
  2. $E_2 : \mathbb{I}(c_s =\bar{c_s}) \cdot \mathbb{I}(c_e = \bar{c_e})$
    • 두 번째 단계에서는 사용자에게 인식 가능한 감정을 추가로 검사하는 것입니다.
    • $c_e$는 감정의 종류를 의미합니다
  3. $E_3 : \mathbb{I}(c_s = \bar{c_s}) \cdot \mathbb{I} (c_e = \bar{c_e}) \cdot \mathbb{I} (||i_e – \bar{i_e}|| < \tau)$
    • 세 번째 단계에서는 text와 video 간의 감정 정도를 비교합니다.
    • $i_e$는 텍스트의 감정 정도, $\bar{i_e}$는 비디오의 감정 정도를 의미합니다.
    • $|| \cdot ||$은 벡터의 유클리드 거리를 의미합니다.

이를 통해서 텍스트의 감정과 비디오의 감정이 얼마나 일치하는지를 단계별로 평가하여 최종 매칭 점수를 계산합니다.

2.3 Masked Emotion Recovery

위의 과정을 통해 검증된 감정 단어를 기반으로, temporal affective complementary learning을 통해 여러 개의 attention map을 생성합니다. Figure 3과 같이 여기서 비디오에서 multimodal 간의 affective cue를 공동으로 추출합니다. 얻어진 affective feature과 attention을 바탕으로, 감정의 정도가 시간 축에 따라 변할 수 있다는 것을 고려하여 모델이 video content와 전달되는 감정 간의 관계를 학습하도록 유도합니다. 이를 위해서, 감정이 표현된 비디오의 특정 부분을 마스킹하고 해당하는 temporal emotion distribution을 복구합니다.

2.3.1 Temporal Affective Complementary Learning

이 과정에서는 vidual modality에 대해 $k$ 단어의 linguistic feature $x^l$을 multi-head attention layer (MHA)에 query로 주며, visual feature $x^v \in \mathbb{R}^{(t_v h_v w_v) \times {d_e}}$에서 관련 콘텐츠를 검색합니다. 최종적으로 lexicon-aware visual feature $x^{v \rightarrow l}$를 다음과 같이 계산합니다.

  • $W^{v\rightarrow l}, W^V_i, W^Q_i, W^K_i$: learnable matrix
  • $a_i$ : i번째 head의 attention map
  • $\text{Cat}$ : concatenation operation

대칭적으로 lexicon-aware acoustic feature $x^{a \rightarrow l}$는 acoustic feature $x_a \in \mathbb{R}^{(t_a h_a w_a) \times d_e}$에서 파생됩니다. 여기서 주의해야할 점은 temporal resolution 즉, patch의 수가 temporal window $\tau$에 의해 제한된다는 것입니다.

위의 과정을 통해 모달리티 간의 feature를 일치시기는 과정을 수행했는데, 이러한 과정에서 부정확성이 존재한다고 말합니다. 이는 시각적 요소와 음향 요소 간의 상호보완적인 부분과 본질적인 부분이 구분되기 때문입니다. 이에 대한 해결책으로 언어와 연관된 visual, acoustic feature를 정렬하여서 서로의 관련성을 파악합니다. 이를 통해 여러 모달리티에서 관련된 영역을 찾습니다. 먼저, visual, acoustic feature를 동일한 semantic space로 매핑하기 위해서 modality-aware projection을 사용하고, 이를 통해 $x^{a\rightarrow l}_s, x^{v \rightarrow l}_s$를 생성합니다. 보완적인 부분을 연관시키기 위해서 비디오 콘텐츠에서 feature를 밀어내어 affective-level linguistic embedding에 가까워지도록 합니다. 각 모달리티의 본질적인 부분을 보존하기 위해서, visual, acoustic feature 간의 관계를 끌어당깁니다. 이를 식으로 표현하면, 다음과 같이 $k$ 번째 window에서 감정적 보완성과 본질 학습을 위한 contrastive loss로 표현할 수 있습니다.

2.3.2 Emotion-oriented Masking

논문의 저자는 affective semantic의 힘을 빌리기 위해서 위의 모듈에서 생성된 attention map을 활용하였습니다. semantic이 정렬된 feature space를 가지는 상황에서 language token과 video content token 간의 cross-modal attention map을 사용합니다. 이렇게 해서 다음과 같이 attective attention map이 계산됩니다.

여기서 $d_m$은 해당 모달리티의 해상도를 의미하며, visual feature의 경우 $h_v \times w_v$, audio feature의 경우 $h_a \times w_a$를 의미합니다.

emotion patch를 찾기 위해 논문의 저자는 attention map을 내림차순으로 정렬하고 해당하는 인덱스 $idx_i$를 i번째 token의 인덱스로 얻습니다. 높은 순서에 위치한 attention token을 마스킹하여 모델이 높은 수준의 감정 단서를 찾고 복구하도록 유도합니다. 최대 마스킹된 token의 수는 M개입니다.

본 논문에서는 점진적인 방식으로 token을 마스킹합니다. 초기 단계에서는 낮은 마스킹 비율을 적용하고 학습 반복이 증가함에 따라 이를 확대하여 모델이 강력한 감정 표현을 학습하도록 유도합니다. 이를 공식화하면 다음과 같습니다.

여기서 $m_i$는 i번째 token이 마스킹 될지를 결정합니다.

2.3.3 Emotion Distribution Recovery

이미지에 있는 object와는 달리 본 논문에서는 temporal score를 기반으로 temporal emotion distribution을 복구합니다. 이에 각 temporal segment에 대한 emotion distribution을 모델링합니다. feature-level과 patch-level의 reconstruction을 모두 수행하는데, feature-level은 고수준의 emotion distribution을 학습하고 후자는 low-level의 context understaing을 개선합니다. 또한, 시공간 모델의 예측과 원본 video patch간의 유클리드 거리를 최소화하고, 공간 차원에 대해 pooling 함수를 적용하여 temporal score를 생성합니다. 해당 score는 KL divergence를 사용하여 temporal distribution과 함께 추가로 계산됩니다.

2.3.4 Discussion on $\mathcal{L}_{total}$

여기서는 margianl feature learning의 괒점에서 complementary learning에 대해서 설명합니다. $\mathcal{L}_{tacl}$을 최적화할 때, 감정 단어와 비디오 콘텐츠 간의 거리는 최소화되고, 서로 다른 비디오 콘텐츠 간의 거리는 최대화되어 본질적인 부분을 보존합니다. visual part의 loss에 대해서 다음과 같이 계산됩니다.

그런 다음 최종 loss는 다음과 같이 계산될 수 있습니다.

3. Experiment

Table 1과 Table 2를 통해서 다섯개의 벤치마크에서 모두 MART가 SOTA를 달성한 것을 볼 수 있습니다. SSL 방법론이다 보니, MoCo와 같이 SSL 방법론을 접해봤다면 알법한 방법론들과 비교된 것을 볼 수 있는데, 기존 베이스라인에 비해서 MART를 적용했을 때 성능이 가장 높은 것을 확인할 수 있습니다. 그만큼 본 논문의 저자가 제안한 방법론이 효과적으로 작동한다는 것을 의미합니다.

Table 3를 통해서 ablation study를 확인할 수 있습니다. 본 논문에서 제안한 emotion-oriented masking strategy와 hierarchical lexicon verification 이렇게 두가지에 대해서 ablation을 했을 때 각 모듈이 하나씩 있을 때 감정 별로 높은 성능을 달성하는 것이 다르지만 모두가 있을 때 비로소 최고 성능을 달성하는 것을 볼 수 있습니다. 제안된 모듈이 서로 동시에 동작할 때 가장 효과적임을 알 수 있습니다.

Figure 4는 본 논문의 마스킹을 시각화 한 것입니다. input video가 있을 때 감정이 있을 만한 부분을 구별하여 잘 마스킹하는 것이 중요한데 (b), (c)는 무작위로 마스킹된 것처럼 보인다면 (c)의 경우 감정에 중요한 요소인 얼굴의 표정 부분을 파악하는 것을 볼 수 있습니다. 해당 방법론의 마스킹 방법론이 효과적이라는 것을 보여주는 시각화 입니다.


VEA라는 것을 처음 접해서 읽다보니 어렵기도 했지만 이런 분야도 있구나 하고 견문이 넓어지는 경험을 한 것 같습니다. 그리고 최근에 self-supervised 방법론이 많이 나오고 있는거 같은데 해당 부분에 대해서 제가 팔로업이 매우 느리구나 알았습니다. 해당 부분을 조금 더 관심있게 공부해야겠습니다. 부족한 글 읽어주셔서 감사합니다.

Author: 김 주연

2 thoughts on “[CVPR 2024] MART: Masked Affective RepresenTation Learning via Masked Temporal Distribution Distillation

  1. 안녕하세요 좋은 리뷰 감사합니다.

    우선 제가 태스크의 목적을 제대로 이해하지 못했는데, 감정과 관련된 모든것을 분석한다는게 어떤 단위에서 무엇을 출력하게 되는 것인가요? 그림 1에서처럼 각 프레임이 특정 감정에 해당할 확률을 찾는것인가요?

    그리고 저자가 제안한 마스킹 전략이 이 task 수행을 위해 효과적이라고 생각합니다. 그런데 비디오는 redundancy가 크기 때문에 만약 특정 패치가 다섯 프레임 중 한 프레임에서만 마스킹되지 않고, 나머지 네 프레임에선 마스킹되어있는 경우 마스킹되지 않은 한 프레임의 정보만을 가지고 나머지도 쉽게 복원해버린다는 연구 결과가 있었는데 이에 대한 저자의 이야기는 없었는지 궁금합니다.

    감사합니다

  2. 김주연 연구원님 좋은 리뷰 감사합니다.

    Emotional Lexicon Extraction에서 사용하는 자막은 단순 대사뿐만 아니라 효과음까지 포함된 자막으로 이해가 됩니다. 해당 방법론은 SSL방법론이라 하셨는데 이러한 자막 정보는 멀티모달 입력으로써 함께 주어지는 것으로 보는것일까요??

    또한 Table 1과 2에서 SOTA를 달성하였다 하셨는데 Table2에서는 MAEst가 더 좋은 성능도 존재하는 데 볼드가 잘못되어있는 것 같습니다. 이에 대해서는 논문에서 따로 언급하는 내용이 없는지도 궁금합니다.

    감사합니다.

Leave a Reply