본문 바로가기
Paper Review/Video Understanding

[CVPR 2023] Soft-Landing Strategy for Alleviating the Task Discrepency Problem in Temporal Action Localization Tasks

by TaekGeun 2024. 1. 16.

Before Review

arXiv에 올라온 preprint이지만 CVPR format이며, 연세대와 포스텍의 합작 논문이라 읽어보게 되었습니다. (리뷰를 작성하고 있을 때는 CVPR에 accept이 되었네요. 대단합니다!)

 

제가 이전에 자주 리뷰하던 Temporal Action Localization에 대한 논문입니다.

 

리뷰 시작하도록 하겠습니다.

Introduction

저희가 스마트폰을 사용할 때 빠질 수 없는 어플이 하나 있죠. 바로 YouTube입니다. 다양한 콘텐츠를 담은 미디어 시장이 성장하면서 자연스레 비디오 데이터를 어떻게 효율적으로 처리할 지에 대한 연구도 관심을 받고 있습니다.

 

특히 사람의 행동을 분류하고 그 위치를 찾는 Temporal Action Localization (이하 TAL)은 무분별한 background frame 속에서 관심 있는 영역을 retrieve 하는 task로 computer vision 진영에서 많은 주목을 받고 있습니다.

 

그 중요함에도 불구하고 TAL task는 비디오 데이터라는 대용량의 large-scale input size로 인해 많은 어려움을 겪고 있습니다. 우리 모바일 장치에 몇 분 혹은 몇 시간이 넘어가는 비디오 데이터를 실시간으로 입력으로 받아 적당한 output을 만들어내기란 아직 까지는 불가능하죠.

 

이러한 상황을 고려하여 기존의 연구들은 크게 두 가지의 step으로 나뉩니다.

  1. Snippet Encoder를 large-scale의 action classification dataset으로 사전학습을 시킵니다.
  2. 위에서 사전학습된 Encoder를 freeze 하고 TAL를 위한 downstream head만을 finetuning 시킵니다.

이렇게 했던 이유는 Snippet Encoder까지 다시 학습을 시키기에는 computation cost가 굉장히 크기 때문입니다.

 

실제로도 사전 학습된 Encoder를 가지고 TAL을 위한 downstream head만을 학습시키면 GPU memory 4G 정도로도 2시간 만에 모든 학습을 끝낼 수 있습니다. 하지만 모든 과정을 다시 finetuning 시키면 GPU도 여러 개 필요하며 학습 시간이 훨씬 더 오래 걸리게 되죠.

 

관습적으로 computation cost 때문에 이러한 구조로 연구가 진행되었지만 가장 큰 문제점이 하나 존재합니다.

 

바로 task discrepancy 이죠. 사전 학습은 Classification으로 했는데 정작 down-stream task는 localization입니다. 제가 이러한 문제를 다루는 연구들에 대해서는 이전에 리뷰한 적이 있습니다.

근데 사실 이전 연구들은 task discrepency 문제를 해결하기 위해 사전 학습 단계부터 다시 시작합니다. Localization을 위한 사전 학습을 다시 정의하는 것이죠. 이렇게 되면 사전 학습부터 다시 시작하게 되니 아무래도 시간이 오래 걸리긴 하겠네요. 하지만 상용화 관점에서는 사전 학습에 들어가는 비용은 저는 크게 중요하지 않다고 생각됩니다. 학습시켜 놓고 배포하면 문제없으니깐요.

 

그럼에도 기왕이면 추가적인 사전 학습 없이 기존의 방법을 고수하되 좀 더 효율적으로 task discrepancy 문제를 해결하면 더욱 좋겠네요.

 

그런 관점에서 저자는 새로운 사전 학습 없이 action classification dataset으로 사전 학습된 Encoder와 Localization을 수행하는 TAL head 간의 discrepancy를 완화시킬 수 있는 module을 제안합니다.

위의 그림을 보도록 하겠습니다. (a)의 경우 이전의 연구들의 상황을 요약해주고 있습니다.

 

(i)는 Standard TAL로 그저 좋은 TAL-head만을 만드는 것이 목적입니다. 이렇게 되면 task discrepancy가 발생하겠네요.

 

(ii)의 경우는 TSP, BSP, UP-TAL와 같이 temporally-sensitive 한 pre-text task를 가지고 다시 사전 학습을 한 경우를 의미합니다. 이렇게 되면 task discrepancy는 줄어들지만 computation cost는 굉장히 증가합니다.

 

(iii)의 경우는 완전한 end-to-end의 경우로 Encoder와 head를 연결하여 gradient가 처음부터 끝까지 다 흐르게 하는 경우를 의미합니다. 완전하게 finetuning을 하기 때문에 target dataset에서는 성능이 우수할 수 있지만 overfitting의 문제와 computation cost가 발생합니다.

 

(b)의 경우가 저자가 제안하는 방식입니다.

 

일단 Kinetics를 대체할 수 있을 만한 large-scale의 dataset은 없으니 Encoder 자체는 Classification을 가지고 사전 학습한 것을 사용합니다. 그리고 Encoder를 freeze 한 다음 바로 TAL-head로 가는 것이 아니라 Soft-Landing strategy를 활용하는 중간 module을 넣어 Encoder와 head 간의 smooth한 connection을 생성합니다.

 

SoLa는 굉장히 가벼운 neural network로 구성되어 pretrained encoder와 downstream head 간 task discrepancy를 완화시킬 수 있는 module입니다.

 

그럼 이제 이 간단하지만 나름 강력한 module에 대해서 알아보도록 하겠습니다.

Method

Overview of Soft-Landing Strategy

제안되는 SoLa 모듈의 목적은 결국 frozen encoder를 통해서 나온 즉, classification에 최적화된 사전학습 feature를 받아서 localization down-stream head에 넘겨주기 전에 feature level 단에서 temporal sensitivity를 가지기 위해서 전처리 느낌으로 feature를 enhancement 해주는 것입니다. 아래 그림처럼 SoLa에 들어가는 feature는 입력과 출력의 차원이 동일합니다.

feature가 enhancement 된다고 해서 뭔가 복잡한 장치가 있는 것은 아니고 단순히 Linear Layer를 두 번 태워 줍니다.

 

그런데 이때 중요한 것은 이 Linear Layer를 그냥 넣어주는 것보다 무언가 목적 아래 방향성을 가지는 Loss가 있어야 Temporal sensitivity를 가질 수 있겠죠. 이를 위해 저자는 Similarity Matching을 제안합니다.

Similarity Matching

target dataset에 대해서 unlabeled 상황을 가정하기 때문에 SoLa 모듈을 학습시키기 위해서는 self-supervised learning 기법이 필요합니다. 요즘에 많은 주목을 받고 있는 Self-Supervised Video Representation Learning은 RGB raw video frame을 가지고 crop 하거나 flip 하는 등, 입력 비디오 단에서 augmentation이 진행되기 때문에 사전학습 feature sequence를 가지고 진행하는 지금의 상황과는 맞지 않습니다.

 

그렇다고 feature level 단에서 augmentation을 하기보다 저자는 temporal similarity structure를 이용하기로 합니다. 일반적인 비디오를 관통하는 특징은 인접한 frame 끼리는 similar 하며 떨어진 frame끼리는 distinct 하다는 것입니다.

 

모든 비디오에 완벽히 들어맞는 observation은 아니지만 어느 정도 일리 있는 말입니다. 왜냐하면 비디오의 fps가 높으면 인접한 프레임은 거의 중복된 정보를 담고 있기 때문입니다. 아래 그림을 확인하면 back bone 상관없이 어느 정도 일정한 패턴을 보여주고 있습니다.

 

비디오 분야에서 자주 사용하는 self-similarity map입니다. 대각 성분은 같은 위치에 해당하는 feature 끼리의 유사도 이기 때문에 1이 나오고 대각 성분이 아닌 위치를 중점적으로 보면 됩니다. 결국 인접한 feature 끼리 유사도가 높게 나오고 있습니다.

 

이는 TSN feature든, I3D feature든 상관없이 비슷한 패턴을 보여줍니다.

 

이러한 패턴을 바탕으로 저자는 frame 간 Interval을 learning signal로 사용합니다.

$ d $는 실제 frame 간 간격이며 $ K $는 고정된 kernel size 입니다. $\sigma $는 시그모이드 함수입니다. $ K $는 고정된 상수이기 때문에 $ d $에 따라서 출력 값이 달라집니다. 결국 프레임간 간격이 멀어질수록 0에 가까운 값을 가지게 되고 $ d $가 작아 간격이 가까운 경우에는 1에 가까운 값을 가지게 됩니다.

 

결국 간격이 가까운 프레임은 유사한 정보를 가지고 있을 확률이 높으니 cosine similarity를 1로 멀다면 0으로 조정하기 위한 pseudo label이라 보시면 됩니다.

원래 cosine similarity는 -1~1 사이의 값을 가지고 있는데 위의 수식처럼 rescaling 해주면 0~1 사이의 값으로 조정할 수 있습니다. 최종적으로 SoLa를 거쳐서 나온 enhance 된 feature를 가지고 Temporal Similarity Map(TSM)을 생성하고 위의 pseudo label과의 비교를 하는 binary cross entropy loss를 통해 feature들의 temporal sensitivity를 조절할 수 있습니다.

 

method는 이게 전부입니다. Loss도 한 가지만 BCE Loss가 전부이고요. 그럼 실험으로 넘어가도록 하겠습니다.

Experiments

Main Results

TAL Results

Classification과 Localization 간의 task discrepancy를 다룬 논문이기 때문에 정말로 SoLa를 통해 그 gap이 줄어들었는지 TAL task에서 확인을 해야겠죠.

자 Baseline은 고정된 Backbone Feature 만을 가지고 down-stream head에 적용했을 때의 성능입니다.

 

BSP는 Copy and Paste 방식으로 data augmentation으로 Untrimmed Video를 생성하고 classification 혹은 regression loss를 통해 task discrepancy를 해결했습니다. BSP는 적어도 각 비디오가 어느 Class인지는 알아야 가능하기 때문에 제한조건이 붙으며 Clip당 Flops도 좋지 않습니다.

 

TSP는 완전히 지도학습으로 사전학습과 down-stream task이 동일한 데이터셋을 가지고 진행됩니다. 사실상 성능이 낮을 수가 없는 구조라 보시면 됩니다. 완전히 지도학습으로 진행 됐기 때문에 저자가 제안하는 SoLa 보다는 조금 높은 성능을 가져가지만 그 차이가 많이 나지 않을뿐더러 완전한 annotation이 필요하다는 점, FLops가 굉장히 많이 필요하다는 점이 한계점입니다.

 

PAL은 완전한 비지도학습으로 pseudo action localization을 제안한 논문입니다. 사전학습 단계에서 Trimmed Video를 붙여 Untrimmed Video를 만들고 Localization Loss와 Contrastive Loss를 통해 Encoder 단부터 학습을 진행합니다. 따라서 필요한 GPU memory가 상당합니다.

 

제안되는 SoLa의 성능이 상당히 인상적입니다. SoLa는 두 개의 Linear Layer만을 사용하기 때문에 추가적으로 발생하는 cost가 거의 없으며 간단한 구조 덕분에 어느 방법에나 접목이 가능하다는 장점이 존재합니다.

 

Memory와 FLops 관점에서 굉장히 낮고 down-stream task에서의 성능이 골고루 높은 점을 보아 SoLa가 간단하지만 classification과 localization 간의 task discrepancy를 어느 정도 해소해 주는 것을 확인할 수 있었습니다.

 

Qualitative Results

아래의 그림을 보면 기존 TSM보다 SoLa를 통해 enhance 된 TSM이 더 다양한 패턴을 보여주고 있습니다. 적어도 인접한 애들끼리 비슷한 representation을 가져가니 down-stream level에서는 temporally sensitive 한 feature를 통해 task discrepancy를 줄이는 모양입니다.

 

Linear Evaluation

Representation Learning 기반의 연구에서 주로 하는 평가 방법이 하나 있죠. 바로 Linear evaluation입니다.

 

Feature extractor는 고정시키고 마지막에 linear layer만 하나 추가하여 down-stream task를 수행하는 것입니다. 정말 좋은 feature representation이라면 linearly seperable 해야 한다는 소리입니다.

 

여기서 주로 다루는 task는 localization task 이므로 완전하게 linear evaluation 하기는 어렵습니다. 고로 저자는 각 snippet이 foreground인지 background인지 구분하는 binary classification을 통해 linear evaluation을 진행했다고 합니다.

 

SoLa를 통해 enhance 된 feature들이 linear evaluation에서도 더 좋은 모습을 보여줍니다.

 

한 가지 아쉬운 것은 foreground->background 혹은 background->foreground처럼 바뀌는 경계 부근에서의 정확도를 reporting 해줬으면 정말로 temporally sensitive 한 feature라는 것이 더 와닿았을 것 같은데 그런 실험은 없네요.

Ablation Study

저자는 SoLa 모듈에 대한 ablation 실험을 G-TAD라는 action localization down-stream head에 대해서 진행하였습니다.

 

세 가지 측면에서 ablation을 수행하였습니다. 1) receptive field, 2) unified training, 3) different snippet encoder

 

SoLa module은 1D convolution layer로 구성되어 있기 때문에 적절한 kernel size를 찾는 것은 중요한 design choice입니다. 다음으로 SoLa의 학습은 따로 진행한 다음에 down-stream으로 넘어간다고 하였습니다.

 

그럼 unified framework에서의 학습이랑 비교도 해봐야겠지요. 마지막으로 SoLa의 generality를 확인하기 위해 RGB only 만을 사용하는 feature와 two-stream(RGB + flow)를 사용하는 feature 간의 비교를 진행하였습니다.

 

사실 Kernel size는 크게 의미가 없으니 넘어가고 Unified와 아닌 경우 대해서 비교하면 따로 학습하는 것이 더 좋은 성능을 보여줍니다. 그런데 여기서 Unified는 SoLa로 feature를 transformation 만 진행하고 Similarity Matching은 수행하지 않았다고 합니다. 

 

마지막으로 $5_{I3D}$와 $ Baseline_{I3D}$ 간의 비교인데 $5_{I3D}$는 RGB only이고 $ Baseline_{I3D}$는 RGB + flow입니다.

 

SoLa가 RGB only에서 더 좋은 성능을 보여주고 있습니다. Baseline의 경우 RGB와 Flow를 모두 사용함에도 불구하고 RGB only 상황에서 제안하는 방식으로 학습했을 때 더 좋은 성능을 보여주어 modality에 관계 없이 general 하다 라고 주장합니다. 

Conclusion

굉장히 단순하고 확장하기 용이한 구조를 제안한 논문인 것 같습니다.

 

코드가 공개 안되어 있는데 이 정도는 원복 할 수 있을 것 같습니다.

 

리뷰 마치도록 하겠습니다.