t-koba-96/paper_summarize

3D CNN まとめ

Opened this issue · 0 comments

3D CNN とは

動画の行動認識のタスクにおける最近(2018年12月現在)のトレンド. 入力動画に対して空間情報(2D)と時間情報(1D)をまとめて3Dの畳み込みを行うことにより、時空間情報を考慮した動画の行動認識を行うことが可能(理論上).
基本的に入力としては、動画をある決まった長さのtフレームごとに分割して入力する. 例えば、後ほど出てくるC3Dモデルでは動画全体を16フレームごとに分割して入力する. 各入力ごとに出力行動クラスを1つずつ得る. 動画全体の出力行動クラスの決定方法としてはいくつかあるが、簡単な方法としては各出力の行動クラスの平均をとってやることによって、最も割合の高い行動クラスを出力とする方法がある. 以上の全体の流れを以下に図としてまとめた.

2018-12-02 0 26 04

主な論文

3D Convolutional Neural Networks for Human Action Recognition

paper

・2013年

最初に3D Convolutional Neural Networkによる手法を提案.

全体像
2018-12-01 15 24 34

やっていることとしては畳み込み層とサブサンプリング層を交互の重ねていき、時系列の特徴抽出を行なうことで最終的に入力の動画数フレーム分から1次元の特徴ベクトルを得る.

本論文では時系列の畳み込み(3D convolution)の際、連続する3フレームごとにまとめて畳み込みを行なっている. 以下の図の同じ色は同じ重みを表している. 2D畳み込みの際のカーネルをチャネル方向1→3に拡張したと考えれば良い.

2018-12-01 15 36 17

Learning Spatiotemporal Features with 3D Convolutional Networks (C3D)

paper

・2015年ICCV

C3Dという3DCNNのモデルを提案している. 2D CNNと3D CNNの比較の図がわかりやすい. 2Dで畳み込んだ時と違って、3Dで畳み込んだ出力はまた3Dとして出てくる.

2018-12-01 23 41 39

C3Dの全体像は以下のようになっている. 入力としては3×112×112×16フレーム、畳み込みに用いるカーネルサイズは3×3×3となっている. カーネルサイズは実験的な結果の良さを基に決定している.
3DCNNはパラメータ数が多いため,畳み込み層が8層という浅い構造.

2018-12-02 0 33 01

実験

UCF101データセットを用いて他手法と精度の比較

2018-12-02 1 18 00

3DCNNを単体として用いた場合の精度は85.2%. 表を見れば分かるように最も優れているわけではない.

2018-12-02 1 18 39

課題

・3Dで畳み込むため、学習する必要があるパラメータ数が多い
→深い構造に出来ない(8層)
→より大規模なデータセットが必要

Quo Vadis, Action Recognition? A New Model and the Kinetics Dataset (I3D)

paper

・2017年CVPR

詳しくはここ

上記の課題を解決するため、 Kineticsデータセット呼ばれる、行動認識用の新しい大規模な動画データセットを用い、3DCNNの精度向上を実現. 新しい3DCNNのモデルとして I3Dを提案.
I3Dの入力は3×224×224×64フレーム.C3D(3×112×112×16フレーム)に比べて入力画像は高解像度,1度に入力できる時間長は4倍になっている.

2018-12-02 18 07 15

特徴

・動画の大規模データセットKineticsの提案(動画版ImageNet)

・2DCNNを3DCNNに拡張するという発想により,C3Dに比べて大幅なパラメータの削減(パラメータ数 C3D:79M , I3D:25M )

・上記の2つの要因により,深い構造が可能に(C3D:8層 , I3D:22層)

・ ImageNet等の2DCNN用のネットワークによるPretrainが可能に(同じ画像を複数重ねて動画と見立てる)

・画像とフローのTwo-Streamを用いることで精度の向上(以下の実験結果参照)

実験

UCF-101、HMDB−51、Kineticsの3つのデータセットを用いて精度の比較. (e)Two-Stream I3Dが本論文の提案手法. 入力として画像のみ、オプティカルフロー、両方(Two-Stream)を用いた場合についても比較している.

2018-12-02 18 23 24

2018-12-02 18 16 57

入力がRGBのみの場合で比較した時state-of-the-art. そこにオプティカルフロー情報を加えることで、Two-Stream 2D Cnn の時のように精度向上が可能.

3D CNN 感想・コメント

・現在のstate-of-the-art(有名なデータセットにおいては)

・大規模データセットKinetics(画像でいうImagenet)の登場により精度向上

・ Inception-1vやResNetを3Dに拡張する3DCNNモデルの登場によって,ImageNetでもPretrainが可能に

・学習にかかる時間は長そう

・3D convolutionで考慮できる時間情報はそんなに長くない(C3Dで16フレーム,I3Dで64フレームとか)

・3D convolutionで時間情報も畳み込んでいるのに関わらず、更にオプティカルフローとのtwo-streamにすることで精度向上
→結局時間情報はどこで見ているの?

・3D convolutionは結局時間情報を見ているのではなくて、入力の数フレームの中から最も識別しやすい部分(フレーム)の特徴を抽出しているだけでは、みたいな意見も見た.

・フレーム単位の認識に用いても同様の精度を出せるのか検証したい.

編集日

2018/12/1