dj-woo.github.io

I3D

리뷰할 Paper는 CVPR 2017에 나온, Quo Vadis, Action Recognition? A New Model and the Kinetics Dataset입니다. action classification task에서 backbone으로 사용되는 I3D net을 제안합니다.

주요 contribution은 아래 2가지 입니다.

  1. Kinetics Human Action Video dataset을 사용하여, 더 많은 dataset을 사용한 transfer learning이 video task에서도 가능함을 보였습니다.
  2. new Two-Stream Inflated 3D ConvNet(I3D)을 제안 하였습니다.

1. Introduction

Image에서는 ImageNet dataset을 사용하여 model을 pre-train하고, 이를 다른 분야에 활용하는 transfer learning이 널리 사용되고 있습니다. 이러한 확장성이 video 분야에서는 가능한가?에서 논문을 시작하였습니다. 이를 실험하기 위해서는 video 분야에서도 큰 dataset이 있어야 하지만, 보통 10k정도의 dataset만 있어 이를 확인하기가 쉽지 않습니다.

그래서 기존 dataset보다 x100정도 되는 Kinetics Human Action Video Dataset(400 action class x min 400 clips)으로 실험을 진행하였습니다. Kinetics dataset으로 pre-training을 하고, HMDB-51 and UCF-101으로 fine-tuning을 하는 방식으로, 큰 dataset으로 pre-training을 하고, target dataset으로 fine-tuning을 하는 전략은 언제나 성능 향상을 보이는 것을 확인하였습니다. 하지만 그 성능 향상의 차이가 architecture에 따라 다르게 나타났고, 더 좋은 transferability를 보이는 “Two-Stream Inflated 3D ConvNets”(I3D)를 제안하여, SOTA를 달성하였습니다.

2. Action Classification Architecture

기존 work을 분석하기 위하여, video용 architecture는 아래와 같은 기준으로 분류 해놓았습니다.

  1. whether the convolution layer: 2D vs 3D
    • how information is propagated: LSTM vs other feature affregation layer
  2. whether the input to the network: RGB vs +optical flow

위 분류 기준 + 제안하는 방법을 포함하여, 5가지 형태의 video architecture에 대해서 리뷰를 합니다.

Video Architecture

논문에서 제안하는 Two-Stream Inflated 3D ConvNets(e)은 아래와 같은 특징을 가집니다.

아래 I3D net의 architecutre입니다. I3D net Input vedio의 size는 $1(batch)\times 64(frame)\times 224(H)\times 224(W)\times 3(C)$을 사용합니다.
최종 output은 $1 \times 4 \times 1 \times 1 \times [logits]$가 되고, axis=1로 average하여, 최종 softmax에 들어가 prediction을 하게 됩니다.

Implementation Details

table1

3. The Kinetics Human Action Video Dataset

Kinetics dataset은 human action에 focuse를 두고 만들어진 dataset입니다. 수영 종목과 같이 fine grain & temporal reasoning이 필요한 class도 있고, object에 중점을 둔 class도 있습니다.
2020년에, 700 class x 700 clips 버전인 Kinetics-700까지 나와 있습니다.

다른 dataset과 간단히 비교하면 아래와 같습니다.

4. Experimental Comparison of Architecture

가장 먼저, 3개의 dataset에서 5가지 architecture의 성능을 비교합니다. test에서는 3D-ConvNet을 제외하고, ImageNet으로 pre-trained된 Inception-v1이 사용되었습니다. 실험을 통해 알 수 있는 점은 아래와 같습니다.

table2

table3

table4

large dataset인 Kinetics로 pre-training을 진행하여, transfer learning이 잘되는지를 보여주는 실험입니다.

추가적으로 이전 SOTA work과 비교를 하여, I3D가 UCF-101, HMDB-51에서 I3D가 모두 좋은 성과를 보여주는 것을 확인했습니다.

Discussion

“is there a benefit in transfer learning from videos?”에 대한 대답은 considerable benefit이 있다라고 결론 짓습니다. 하지만, pre-training과 다른 task에서도 benefit이 있는지에 대해서는 추가 실험이 필요하다고 나와있습니다.

Reference