안녕하세요. 이번에는 video emotion detection 분야 논문을 읽어봤습니다. 이번에 과제 데모를 수행하면서 이미지 감정 인식 모델을 video입력을 처리할 수 있도록 변형해야 하는 task를 수행한 적이 있습니다. 해당 task를 수행하면서 keyframe은 어떻게 detect하는지, keyframe 외에는 다른 frame은 어떻게 활용할 수 있을지에 대해서 궁금했는데 해당 논문이 딱 궁금한 부분을 긁어준 논문인 것 같습니다. 그럼 시작하겠습니다.
1. Introduction
이 분야의 기존 방법들은 주로 visual content에서 key frame을 추출하는데 집중하며, 이 frame이 video에서 의도된 감정에 대한 주요 정보를 담고 있다고 가정합니다. 하지만 선택된 “keyframes”는 인간 감정의 고유한 특정, 즉 주관성과 모호성으로 인해 의도된 감정을 정확하게 나타내지 못할 수 있습니다. Figure 1(a)에서는 한 여성이 선물을 받고 울움을 터트리는 video를 예시로 듭니다. video-level의 emotion category는 ‘surprise’로 라벨링 되었는데, 예시로 사용된 모델인 VAANet의 경우, keyfrmae이 ‘crying’ frame에 가장 많이 집중된 것을 확인할 수 있습니다. 이는 video의 context를 무시하여서 잘못 예측된 것이라 말할 수 있습니다.
또한, Figure 1(b)는 한 남성이 사랑하는 여자가 다른 남자와 웃으며 대화하는 것을 보고 슬프게 느끼는 장면을 보이는데, 여전히 VAANet은 여전히 대화하는 frame에만 집중하여서 video의 감정을 ‘joy’로 분류하는 것을 볼 수 있습니다.
이를 통해서, keyframe은 제한된 prediction result로 이어질 수 있습니다. 감지된 keyframe은 대부분의 video에서 직접적인 감정을 전달하지만, context를 포함하는 다른 정보도 사용되어야 정확한 감정 인식을 할 수 있습니다.
본 논문에서는 이러한 문제를 해결하기 위해서, 모델이 감정을 인식하는데 있어 context를 인식할 수 있도록 해주는 새로운 cross-modal temporal erasing network를 제안합니다. 제안하는 모듈은 2개의 모듈로 구성되어 있는데, temporal correlation learning 모듈과 temporal erasing 모듈입니다.
먼저, video에서 추출된 각 동일한 길이의 segment에서 visual feature와 audio feature를 함께 추출합니다. 두 번째로, temporal correlation 모듈을 사용하여 audio, visual modality 전반에 걸쳐 서로 다른 segment간의 포괄적인 암묵적 대응 관계를 확인합니다. 그 다음, keyframe은 다른 frame간의 대응 관계를 고려하여 weakly supervised learning 방식으로 선택되며, 이때 video-level class label만 사용됩니다. 마지막으로 temporal erasing 모듈은 가장 집중되는 visual, audio 정보를 반복적으로 지워 가며 어려운 샘플로 훈련하여 모델이 가장 집중하는 정보보다 context로부터 더 많은 보완 정보를 감지하도록 유도합니다.
본 논문에서의 contribution을 요약하면 다음과 같습니다.
- CNN framework에서 keyframe과 필요한 context를 활용하기 위해 weakly-supervised network를 도입
- video-level annotation만으로 frame-level localized information을 제공하기 위해 intra, inter modal 관계를 활용
- SOTA 달성
2. Methodology
2.1 Visual-Audio Representation Extraction
2.1.1 Visual Representation Extraction
먼저, visual representation을 어떻게 취득하는 지에 대해서 간단하게 설명드리고자 합니다. video가 주어지면, 먼저 $T$개의 동일한 길이를 가지는 segment로 나눕니다. 그런 다음 랜덤으로 모든 segment로부터 $k$개의 연속된 frame을 선택합니다. 다음으로, 3D ResNet-101를 사용하여 segment feature를 추출합니다. 그러면 주어진 video $l$에대해서 segment feature $F_v(l) = f^1_v(l), f^2_v(l), …, f^T_v(l)$와 같이 표현할 수 있습니다. 각 segment level feature $f^i_v(l)$는 $f^i_v(l) \in \mathcal{R}^{H\times W \times{C}}$이며, $H,W$는 feature map의 height와 width를, C는 feature의 dimension을 나타냅니다.
2.1.2 Audio Representation Extraction
Audio도 Video와 마찬가지로 $T$개의 segment로 분리합니다. 2D ResNet-50을 사용하여 segment feature를 추출하고 추출된 feature는 $F_a(l) = f^1_a(l), f^2_a(l), …, f^T_a(l)$와 같이 표현할 수 있습니다. 여기서 $F_a(l)$은 3-dimensional matrix $R_A^{H’\times{W’}\times{C’}}$로 구성되어 있으며, $H’, W’$는 audio feature map의 height, width를 나타냅니다. 여기서 C’는 feature의 dimension과 같은데 C와 동일한 값을 가집니다.
2.2 Temporal Correlation Learning
앞에서 추출한 video feature $F_v$와 audio feature $F_a$를 spatial average pooling을 통해 reshape합니다 ($F_v \in \mathcal{R}^{T\times{C}}, F_a \in \mathcal{R}^{T\times{C’}}$). 논문에서 말하길, 3D CNN은 receptive field에 의해 제한되어 각 video의 서로 다른 segment 간의 상관관계를 직접 모델링 할 수 없습니다. 동시에 audio patches에서 audio feature를 추출하기 위해 2D CNN을 사용했지만, 이 것도 마찬가지로 상관관계를 모델링할 수 없습니다. 하지만 video와 audio sequence에서 중요한 segment를 더 잘 찾아내기 위해서는 서로 다른 segment 간의 상관관계를 고려할 필요가 있습니다. 이에 본 논문의 저자는 Intra-Modal Relation Modeling을 통해 각 모달리티간 segment의 상관관계를 고려하고자 하였고, Inter-Modal Relation Modeling을 통해 다른 모달리티간 segment의 상관관계를 고려하고자 하였습니다.
2.2.1 Intra-Modal Relation Modeling
먼저 편의를 위해서, video, audio feature $F_v \in \mathcal{R}^{T\times{C}}, F_a \in \mathcal{R}^{T\times{C’}}$를 $F$로 표현하겠습니다. 본 논문에서는 각 모달리티의 서로 다른 frame 사이의 long-range dependency를 모델링하기 위해서 intra-modal attention module을 사용합니다. 먼저 3개의 linear project function $\theta, \phi, g$을 통해 feature $F$를 3개의 subspace로 임베딩 합니다.
여기서 $Q\in \mathcal{R}^{T\times{C}}, K\in \mathcal{R}^{T\times{C}}, V\in \mathcal{R}^{T\times{C}}$는 key, query, value feature를 의미합니다. $F$의 서로 다른 segment의 temporal correlation는 query와 key feature간의 dot project similiarity를 통해 인코딩 됩니다.
각 row에 softmax normalization을 적용하고 similarity matrix $S(Q,K) \in \mathcal{R}^{T\times{T}}$는 각 query segment와 모든 segment 간의 상관관계를 인코딩 합니다.
각 segment의 feature를 다른 temporal segment와 함께 강화하기 위해, matrix multiply로 구현할 수 있는 temporal correlation weight $S$로 value feature를 fusion 합니다.
여기서 $Z \in \mathcal{R}^{T\times{C}}$는 intput feature $F$와 같은 dimension을 가집니다.
또한, 본 논문의 저자는 intra-modal temporal module을 잘 통합하고 최적화를 용이하게 하기 위해서 input feature와 enhanced feature 사이에 residual connection을 다음과 같이 추가하였습니다.
여기서 $W_z$는 intra-modal temporal fusion의 중요성을 조절하는 learnable parameter입니다. 최종적으로 $F’_a, F’_v$를 사용하여 각각 $F_a, F_v$의 enhanced feature를 나타냅니다. 전반적으로 intra-modal temporal module은 video와 audio feature의 pair-wise correlation $<f_i, f_j>$를 활용하며, 여기서 $i, j$는 segment의 index를 나타냅니다. 이러한 모델링은 각 segment 간의 long-range dependency를 활용하여, 2D ResNet과 3D ResNet에 의해 인코딩된 short-rage information을 보완합니다.
2.2.2 Inter-Modal Relation Modeling
위에서 intra-modal temporal fusion 덕분에 global temporal depenence를 포착해 향상시킬 수 있었습니다. 그런데 각 모달리티는 다른 모달리티에 대한 보완 정보를 가지고 있고, 이를 이용하면 서로 다른 frame간의 관계를 학습하는데도 도움이 됩니다. 이를 위해서 본 논문에서는 inter-modal attention을 사용하였습니다.
먼저, 식(2)에서 video, audio feature 간에 추출된 temporal correlation matrix를 각각 $S_{v\leftarrow a}(Q_v,k_a)$, $S_{a\leftarrow v}(Q_a,k_v)$로 확장하여 표시해보겠습니다. intra-lmodal temporal fusion에서, correlation matrix는 원래 모달리티 내에서 fusion하는데 사용하였지만, Inter-Modal에서는 다른 모달리티 간의 segment의 상관관계를 포착하기 위해서 query와 key를 다른 모달리티로 구성하여 attention하게 됩니다.
여기서 $U_v, U_a$는 audio, visual modal에 대ㅠ해서 inter-modal enhanced feature를 의미합니다. 또한 위에서 했던것과 마찬가지로 최적화를 수월하게 하기 위해서 residual connection을 사용합니다
여기서 $W_v, W_a$는 learnable parameter를 의미합니다.
2.3 Temporal Erasing Module
해당 모듈은 본 논문에서 가장 큰 contribution을 가지는 모듈이라 말할 수 있습니다. 위의 모듈들을 통해 frame간의 관계를 더 잘 학습할 수 있습니다. 그런데 기존 연구에서 말하길, 서로 다른 frame이 video emotion recognition에 다르게 기여한다는 것을 알 수 있는데 이 때문에 감정을 직접 유발하는 key frame 대신 background나 context를 포함하고 있는 다른 frame들도 전달되는 video의 감정을 이해하는데 매우 중요한 역할을 합니다. 그런데, 보통은 context frame을 찾는 것이 어렵습니다. 왜냐하면 이러한 frame들은 보통 덜 중요하기 때문입니다. 이 때문에 본 논문에서는 감정을 인식하기 위해 더 많은 context frame을 찾는 간단하면서도 효과적인 방법인 temporal erasing module을 제안합니다.
모델은 앞에서 사용된 attention module을 통해 각 video의 서로 다른 frame 간의 관계를 충분히 이해합니다. 그런 다음 temporal attention module을 적용하여 중요한 segment를 자동으로 찾아냅니다. visual $A^T_v$, audio $A^T_a$ stream에 대한 temporal attention module은 다음과 같습니다.
여기서 $W_1, W_2, W’_1, W’_2$는 learnable paramter matrics를 의미하고 $\top$은 transpose를 의미합니다. 그런 다음 $A^T_v, A^T_a$ attenion map을 다음과 같이 정규화 합니다.
temporal attention map $A*_v, A*_a$를 사용하여 key frame을 찾고 삭제하여 모델이 더 많은 보완 정보를 찾도록 유도하할 수 있습니다. erasing mask는 다음과 같이 정의됩니다.
여기서 $\theta$는 hyper-paramter 입니다.
erasing mask에 따라, 일부 구간을 지우고, 남은 구간은 새로운 Video로 형성합니다. 그런 다음, 남은 구간을 다시 network에 입력하여 network가 video emotion recognition을 위한 더 많은 보완 정보를 찾도록 강제합니다. 또한, 해당 모듈은 backbone에 구애받지 않고, 추가 parameter도 요구하지 않아 backbone이 무엇이든 상관없이 적용할 수 있습니다.
2.4 Optimizing Process
위에서 언급한 바와 같이, temporal attention module에서 key frame을 weekly supervised 방식으로 감지할 수 있습니다. 그런 다음, key frame을 제외한 나머지 frame은 context frame일 수 있습니다. 더 representative한 feature를 배우기 위해서, 본 논문의 loss function은 세 부분으로 구성됩니다. 예를 들어, original video, keyframe, left frame입니다. training set $\{ x_i, y_i \}^N_{i=1}$이 주어지면, 여기서 $x_i$는 i번째 video를 나타내고, $y_i \in \{1,2,…,M\}$는 single class label을 의미합니다. $M$은 class의 수 입니다. 본 논문에서는 cross-entropy loss를 사용하여 최적화하였으며 다음과 같이 정의합니다.
$p^j(x_i)$는 입력 video $x_i$가 class j에 속할 확률을 나타냅니다.
여기서 $\{ a^k_i|k=1,2,…,M \}$는 입력 video $x_i$에 대한 마지막 fc layer의 unit activation 값입니다. 최종적으로 사용된 전체 loss fucntion은 다음과 같습니다.
여기서 $x_o,x_k,x_l$은 original video, keyframes, left frames를 의미합니다. loss를 보면 두개의 task(video-level emotion recognition, keyframes detection)로 구성되어 있음을 볼 수 있습니다. 전자는 video-level의 emotion category를 사용하여 network를 최적화하기 때문에 fully supervised task에 해당하며, 후자는 wekly-supervised 방식으로 학습됩니다.
3. Experiment
3.1 Datasets
본 논문에서는 3개의 데이터셋을 사용하여서 실험을 수행하였습니다. VideoEmotion-8, Ekman-6은 youtube를 통해 수집되었으며, CAER은 TV 프로그램을 통해 수집되었습니다. 각각 데이터셋 모두 video-level 단위로 emotion class가 라벨딩되었습니다.
3.2 Results
Table 1을 통해서 SOTA와 제안한 방법론의 성능 비교를 확인해보실 수 있습니다. 실험 결과를 보면 제안된 방법론이 제일 높은 정확도를 보이며, 이는 제안된 temporal correlation learning, temporal erasing module이 효과적임을 알 수 있습니다.
Table 2를 통해서 ablation study를 확인하실 수 있습니다. 각 모듈별로 적용 한 경우와 적용하지 않지 않았을 때의 성능 변화를 통해 제안된 모듈이 효과적임을 확인할 수 있습니다.
먼저, Intra 모듈의 경우, Audio, Video, Audio&Video 모든 상황에서 적용했을 때 성능 향상을 보인 것을 확인할 수 있습니다. 이는 Intra 모듈을 통해 각 모달리티의 segment의 temporal correlation을 포착하는 것이 감정 인식에 효과적이라고 말할 수 있습니다.
두 번째로, Audio&Video의 3번째 행을 통해 Inter 모듈이 적용되었을 때의 성능 변화를 확인할 수 있습니다. 확실히 Inter 모듈이 적용 되었을 때 성능 향상이 생각보다 많이 된 것을 확인할 수 있습니다. Audio, Visual 간의 정보를 상호보완적으로 사용하는 것이 감정 인식에 많은 도움이 된다고 말할 수 있습니다.
마지막으로, Erasing 모듈을 사용했을 때의 성능 변화를 보면, Audio, Visual, Audio&Visual 모두 Erasing 모듈을 사용했을 때 큰 성능 향상을 보이는 것을 확인할 수 있습니다. 특히 세 개의 모듈을 모두 적용했을 때와 아닐 때의 성능 차이가 매우 큰 것을 통해 모든 모듈을 적용하는 것이 가장 감정 인식을 효과적으로 한다는 것임을 알 수 있습니다.
해당 논문을 통해서 단순히 keyframe 뿐만 아니라 context도 보는 것이 video emotion recognition에서 매우 중요하다는 것을 확인할 수 있는 것 같습니다. 그럼 읽어주셔서 감사합니다.
안녕하세요 김주연 연구원님 좋은 리뷰 감사합니다.
세미나에서도 언급해 주셨지만 결국 이 논문의 핵심은 temporal erasing module을 통해 keyframe의 영향력을 줄이고, 이를 통해 context frame의 정보를 더 반영하는 것으로 이해하였습니다.
erasing mask 부분에서 질문이 있습니다. erasing mask에 의해 keyframe이 지워지면 남은 구간이 다시 새로운 video로 들어간다고 설명해 주셨는데 그렇다면 최적화가 완료되는 시점은 모든 erasing mask가 0, 즉, 모든 frame의 attention map이 동일한 상황일까요? 추가로 \theta값은 보통 어느 정도로 설정하였는지 궁금합니다.
안녕하세요. 댓글 감사합니다.
해당 논문에서 erasing mask를 몇번 적용하는지에 대해서는 따로 언급된 바는 없지만, theta 값을 설정하여 모든 frame이 theta 이하이면 학습하지 않는 식으로 동작하지 않을까 짐작됩니다. 제 생각에도 erasing mask가 0이 될것 같네요. theta는 0.7일때 가장 높은 성능을 보였다고 합니다.
감사합니다.
안녕하세요 주연님 좋은 리뷰 감사합니다.
이 논문에서는 감정 인식을 위해 비디오 레벨의 감정 라벨만으로 중요한 segment를 선택하고 가장 지배적인 감정을 찾는 데 집중한 논문인 것 같습니다. 하지만 하나의 비디오에 여러 감정이 존재할 수 있지만 이 논문은 가장 지배적인 감정 하나에만 집중하기 때문에, 동시에 여러 감정을 이해하기 위해서는 한계가 있을 것 같다는 생각이 듭니다. 원래 비디오 감정 태스크에서는 여러 감정을 동시에 예측하기 보다는 단일 감정 레이블을 예측하는 방식이 많이 연구되고 있나요?
감사합니다.
안녕하세요. 댓글 감사합니다.
하나의 video에 여러 감정이 존재할 수 있을 수도 있습니다. 하지만 제가 읽은 본 논문에서 다루는 task는 1개의 video에서 하나의 감정이 맵핑된 상황에 대해서만 다루는 것으로 이해했습니다. 제가 이 분야를 팔로업하고 있는데 여러 감정을 동시에 예측하는 task도 존재하는 것으로 보입니다.
감사합니다.
안녕하세요 좋은 리뷰 감사합니다.
Weak supervision 기반의 Temporal Action Localization task에도 자명한 프레임의 영향력을 줄이고 주변 프레임들에 더 집중하도록 erasing 기법을 적용하는 갈래가 있었는데, 유사한 목적인 것 같습니다.
Loss 부분에 총 3개의 CE loss가 있는데, 첫 번째 loss는 비디오의 전체 프레임을 사용해 감정을 분류하는 것으로 이해했습니다. 그럼 k loss, l loss 각각은 방법론에서 예측한 keyframe과 나머지 프레임만을 이용해 분류하고 학습하는 상황을 의미하나요?
만약 맞다면 키프레임이 아닌 프레임 l들만을 보고 분류하는 것이 사실 효과적일지 의문이 들어 여쭤보았습니다. 이에 대한 실험결과는 없는지 궁금합니다.
안녕하세요. 댓글 감사합니다.
“k loss, l loss 각각은 방법론에서 예측한 keyframe과 나머지 프레임만을 이용해 분류하고 학습하는 상황을 의미하는지?” => 예 맞습니다.
저는 이미 본 논문에서 I들로만 분류하는 것도 효과적임을 erasing 모듈에 대해서 ablation을 한 것으로 검증하였다고 생각합니다. 키프레임은 역시 감정 분류하는데 도움이 되는 것은 맞으나 감정이라는 것이 한 얼굴표정으로 나타나는 것이 아닌 얼굴의 변화 행동의 변화 등으로 감정이 표현될 수 있는데 이를 프레임 I가 포착하여 분류하기 때문에 효과적이라 생각됩니다.
감사합니다.