/ PAPER-REVIEW

R(2+1)D

A Closer Look at Spatiotemporal Convolutions for Action Recognition 리뷰

안녕하세요. AiRLab(한밭대학교 인공지능 및 로보틱스 연구실) 서민석입니다. 제가 이번에 리뷰할 논문은 제목에도 써 있는것과 같이 “A Closer Look at Spatiotemporal Convolutions for Action Recognition” 입니다.

이 논문은 Facebook에서 “Du Tran”씨가 2018년도에 cvpr에서 발표한 논문입니다. 이 논문은 3D conv를 공간정보와 시간정보로 나눠 conv하는 구조를 처음 제안하였고, 다양한 spatiotemporal conv 방법들을 비교합니다. 또한 Sports-1m, kenetics, ucf101, hmdb51에서 state-of-the-art를 달성합니다.

Introduction

AlexNet이 처음공개된 이후로 이미지 인식 분야는 multi-scale convolutions, residual learning, dense connections 과 같은 많은 진보가 있었습니다. 반면에 비디오 분야에서는 “새롭다” 하는 큰 발전이 없습니다. 현재의 state-of-the-art인 I3D또한 bset hand-crafted 방법인 iDT랑 비교하였을때 그렇게 놀랄만한 진보는 아닙니다.(저의 의견이 아닙니다. 논문저자의 의견입니다 ㅎㅎ.) 또한 image-based 2D CNN의 Sports-1M에서의 성능은 state-of-the-art랑 비슷합니다.(저자는 3D conv의 진보는 없고, image-based 방법이랑 별 차이가 없다고 강조하는것 같습니다.) 이러한 결과에 기초하여, 시퀀스의 정적 프레임에 이미 포함 된 강력한 행동 클래스 정보 때문에, 시간적 추론이 정확한 행동 인식에 필수적이지 않다고 생각 할 수도 있습니다. 논문저자는 시간적 정보가 행동인식에 필수적이지 않다는 생각을 제거하기 위하여, 다양한 실험을 진행합니다. 논문저자들의 실험에 의하면, 3D ResNets이 Sports-1M 및 Kinetics과 같은 action recognition benchmarks에서 훈련되고 평가 될 때 동일한 깊이에 대해 2D ResNets보다 월등히 뛰어남을 보여줍니다. 이러한 실험결과에 기초하여, 논문 저자들은 2D cnn과 3d cnn 사이의 R(2+1)D를 제안합니다. (2+1)D의 의미는 3D conv를 두개의 개별적인 2D 공간 conv와 1D 시간 conv로 분해하는것 입니다. 첫번째 장점은 파라메터가 증가하지 않고, relu를 두번 사용할 수 있기때문에 비선형성을 증가시킬수 있습니다. 두번째 장점은 optimization하는 것을 도와주는 것입니다. 아래의 그림은 똑같은 구조여도 R(2+1)D가 더 최적화가 잘된다는 그래프 입니다.

Figure1

Convolutional residual blocks for video

이 논문에서 사용하는 residual blocks은 전부 “vanilla” residual blocks을 사용합니다. 아래의 표현에서 3 x L x H x W,라는 표현들이 나오는데, 3은 rgb 3채널, L을 프레임 길이, H는 높이, W 넓이 입니다.

R2D: 2D convolutions over the entire clip

R2D는 2D CNN방법이고, 3L x H x W 입니다. 즉 프레임의 길이를 하나의 차원으로 보는것이 아니라, 채널로 보는것 입니다. 1프레임당 3채널씩 할당되는것 입니다.

f-R2D: 2D convolutions over frames

f-R2D는 2D CNN방법이고, 프레임을 채널로 쌓아서 사용하는 방법이 아니라, 전체의 프레임을 개별적으로 2D CNN 하는 방법 입니다.

R3D: 3D convolutions

R3D는 가장 일반적은 3D conv 방법이고, 3 x L x H X W 입니다. 프레임을 시간축을 하나 추가하여 stack하고 3D conv를 하는것 입니다.

MCxand rMCx: mixed 3D-2D convolutions

한 가지 가설은 모션 모델링(즉, 3D convolution)이 초기 계층에서 특히 유용할 수 있는 반면, 후반 계층에서는 필수적이지 않는다는 가설 입니다. 학습초기에는 3D ResNets (R3D)를 초기에 사용하고, 후반에는 2D conv를 사용합니다. 또 그 반대는 학습초기에는 2D conv를 사용하다가 후반에는 3D conv 사용하는 방법입니다.

R(2+1)D: (2+1)D convolutions

또 이 방법은 논문저자가 주장하는 방법인데, full 3D conv를 2D의 공간 conv와 1D 시간 conv로 분해합니다. 논문 저자는 3D convolutional filters(N×t×d×d)를 N x 1 x d x d 와 M x t x 1 x 1로 분해 합니다. 그렇게하면 기존의 3D conv와 동일하면서, 비선형성을 증가시키고 최적화에 도움을 줍니다. 아래의 그림은 앞에서 언급한 다양한 구조의 그림입니다.

Figure2

Experiments

이 논문의 저자는 Resnet을 사용하기 위하여, 오버피팅이 나타나지 않기 위하여 충분히 큰 데이터셋인 Sport 1M, Kinetics을 사용합니다. 또한 다른 작은 데이터셋에서 잘 작동하나 궁금하기 때문에, UCF101,HMDB51에 transfer learning을 적용합니다.

Experimental setup

모든 프레임의 사이즈는 112 x 112로 사용하였고,자세한 구조는 아래의 그림을 봐주시면 됩니다. 다양한 디테일이 논문에 언급되는데 더 자세하게 알고 싶으시면 논문을 읽어보시는걸 추천드립니다.

Comparison of spatiotemporal convolutions

R2D부터 R(2+1)D까지 모든 net을 clip단위와 video단위로 평가합니다. 아래의 첨부한 그림을 보면, 이 논문저자가 주장한 R(2+1)D 방법은 R3D방법과 파라메터 차이는 나지 않지만 정확도는 모든 부분에서 가장 높은걸 확인할 수 있습니다.

Figure3

Action recognition with a 34-layer R(2+1)D net

이 부분에서는 다양한 데이터셋과 기존의 방법들에서 실험한 결과들을 정리합니다. 아래의 표를 확인해 보시면 i3d-two-stream방법을 제외하고는 모두 1등을 달성하였습니다. i3d-two-stream방법에 비하여 정확도가 낮은 이유는 옵티컬 플로우를 뽑는 방법이 i3d는 tvl1 방법이지만, 이논문의 저자는 Farneback’s 방법을 사용하기 때문이라고 논문 저자는 추측하고 있습니다.

Figure4 Figure5

후기

이 논문을 읽으면서 I3D의 논문과 매우 비슷하다고 생각했습니다. 하지만 이 논문은 hand-craft논문들도 잘 정리해 줘서 좋았고,Farneback 방법과 tvl1방법의 차이라던지, 다양한 기술들에 대하여 잘 기술한것 같습니다. 하지만 제가 개인적으로 생각할때 이 논문 또한 뭐 대단한 하게 새로운 아이디어라고 생각하지 않습니다.