CNN 논문

[논문 리뷰] Learning Spatiotemporal Features with 3D Convolutional Networks

green333 2022. 1. 4. 13:47
728x90
SMALL

Abstract

  • 대용량 스케일의 비디오 데이터 셋에 대하여 3-dimensional convolutional networks(3D ConvsNets)을 사용한 spatiotemporal feature learning을 하는 간단하지만 효과적인 방법을 제안한다.
  • 세가지 Findings
  1. 3D ConvNets은 2D ConvNets에 비해 시공간 학습에 더 적합하다.
  2. 3D ConvNets을 수행할때 3 x 3 x 3 convolution kernel이 모든 레이어에서 가장 좋은 performance를 보임
  3. C3D(Convolutional 3D)는 간단한 linear classifier으로 네가지 벤치마크에서의 state-of-the-art를 능가한다.

그리고 다른 두가지 벤치마크에서 가장 좋은 성능과 견줄 수 있다.

  • Feature가 compact하다 ; UCF101에 대해 52.8%의 정확도를 보이고 적은 연산을 수행한다.

Introduction

  • 엄청난 양의 비디오 데이터들을 처리하기 위해서는 비디오의 다양한 활용을 이해하고 분석하는 것이 필수적이다.
  • 컴퓨터 비전 영역에서 비디오 분석을 위해 수십년간 힘썼지만, action recognition, abnormal event detection 등 여러가지 문제와 씨름했다.
  • 각 문제에 대한 구체적인 solution은 존재하지만, 여전히 대용량의 비디오 데이터를 위한 homogeneous한 방법으로 generic video descriptor를 만드는 것에 대한 필요성은 늘어나고 있다.
  • 효과적인 비디오 descriptor의 네가지 특성 : generic, compact, efficient, simple
  • 이미지 영역에 대한 딥 러닝의 발전으로 여러가지 convolutional network(ConvNet) 모델들이 feature 추출에 활용되기 시작했다.
  • 그러나 이러한 이미지 기반의 deep feature는 모션 모델링에 대한 부족으로 적합하지 않다.
  • 그래서 해당 논문에서는 deep 3D ConvNet을 사용한 spatio-temporal feature 모델을 제안한다.
  • 해당 논문에서 3D convolutional deep network가 appearance와 motion을 동시에 모델링하는 좋은 feature 모델이라는 것을 보인다.


Learning Features with 3D ConvNets

3D convolution and pooling

  • 3D ConvNet은 3D convolution과 3D pooling 연산이 있기에 temporal information을 더 잘 모델링한다.
  • 2D ConvNet은 오직 spatial에 대해서만 모델링한다. 

(a) : image → image

(b) : multiple image → image

(c) : multiple image → volume(clip)

 

  • c x l x h x w : 채널 수 x frame 수 x height x width
  • d x k x k : kernel temporal depth x kernel spatial size x kernel spatial size
  • 3 x 16 x 112 x 112

Exploring kernel temporal depth

  • UCF101 데이터에 대해 실험
  • Depth-3이 homogeneous net중에서 가장 최고의 성능을 보였다.
  • Depth를 증가시키거나 감소시켰을때보다 3으로 고정했을때 더 좋은 성능을 보였다.

Spatiotemporal feature learning

  • 현재 GPU memory로 위와 같은 구조를 디자인했다.
  • 이것을 C3D라고 한다.
  • 각 fully connected layer는 4096 output을 갖는다.

  • 위 표는 Deep Video와 Convolution pooling과 C3D를 비교한 것이다.
  • C3D feature를 추출하기 위해서 비디오는 16 frame 길이로 8 frame씩 ovelap하는 방식으로 나뉜다.
  • C3D는 초반의 프레임에서 appearance에 집중하고 후속 프레임에서 모션을 track하는 방식으로 이루어진다.


Action recognition

  • UCF101 dataset

Action Similarity Labeling

  • ASLAN dataset

Scene and Object Recognition

  • YUPENN and Maryland

Runtime Analysis


Conclusions

  • large-scale video dataset에 대해 3D ConvNets으로 spatiotemporal feature를 모델링했다.
  • best temporal kernel length를 찾기 위한 실험을 했다.
  • C3D는 appearance와 motion information을 동시에 모델링 할 수 있다.
  • 2D ConvNet을 능가했다.
  • linear classifier를 거친 C3D feature는 현재 best 방법들을 능가했다.
LIST