MiCT: Mixed 3D/2D Convolutional Tube for Human Action Recognitionを読んだ


Zhou, Yizhou and Sun, Xiaoyan and Zha, Zheng-Jun and Zeng, Wenjun, "MiCT: Mixed 3D/2D Convolutional Tube for Human Action Recognition", in CVPR2018, pp.449-458, 2018. [Online PDF at CVF](http://openaccess.thecvf.com/content_cvpr_2018/papers/Zhou_MiCT_Mixed_3D2D_CVPR_2018_paper.pdf)

# 1.どんなもの？
2DCNNと3D畳み込み層を統合することで空間情報をリッチにした特徴マップを生成
残差接続として2DCNNと3DCNNの結果を足し合わせる
時空間の訓練の複雑さを緩和するMixed Convolutional Tube (MiCT)の提案

# 2.先行研究と比べてどこがすごいか？
動画像は３次元信号→3DCNNを利用した自然的なアプローチが提案されている
その性能は画像内のTwo-Streamのような手法による2DCNNによって達成されるものと比べて良いとは言えない
C3D(3DCNN)は3D畳み込みを重ねて結合することで実装しているため、層を重ねるごとに特徴量が指数的に増えるため、数十層の3D畳み込みを使用したネットワークの最適化が難しい
メモリコストの面でもこれ以上の層を積み重ねることは無理(11層の3DCNN=1.5 x 152層ResNets)

↑以上を踏まえて3D畳み込みの数を抑えて特徴マップの深さを大きくするMiCTを提案している
![68747470733a2f2f71696974612d696d6167652d73746f72652e73332e616d617a6f6e6177732e636f6d2f302f3234393833382f64616239303131342d646266362d306465372d386561332d6661313834643434396539352e706e67.png](https://qiita-image-store.s3.amazonaws.com/0/249838/5f9afde7-f24e-f2d3-3821-7be1de97017f.png)

# 3.技術や手法の肝はどこにあるか？
MiCTの実装により、3D畳み込みの制限(メモリコストや最適化の難しさ)を改善
#　3D Convolution
![スクリーンショット 2018-09-19 16.52.31.png](https://qiita-image-store.s3.amazonaws.com/0/249838/951e0a9c-d9c9-9f09-8d59-3b252a2e91b0.png)
動画像はT×H×W×Cのテンソル(T:時間方向,H:縦幅,W:横幅,C:シャネル数)
3D畳み込み層のカーネルは、4Dテンソル![スクリーンショット 2018-09-19 17.01.01.png](https://qiita-image-store.s3.amazonaws.com/0/249838/4bd993b8-2ee7-741e-dde6-bd009de32839.png)
(簡単のためチャネル方向は省略)
下式で定式化されている　詳しくは[こちら](https://qiita.com/_NiMA_/items/87fa639a582dee73c806)
![スクリーンショット 2018-09-19 16.47.10.png](https://qiita-image-store.s3.amazonaws.com/0/249838/8c4a2bb5-5b36-ebe7-2505-4290db423fe6.png)
# MiCT
ビッグデータで事前学習済みの2DCNNを3D畳み込みモジュールに導入
空間-時間融合の各ラウンドでより深い特徴マップを出力
![スクリーンショット 2018-09-20 20.41.37.png](https://qiita-image-store.s3.amazonaws.com/0/249838/3f9b75d0-2fa5-0d76-733a-90501c6925a7.png)

# 連結の接続方法

![スクリーンショット 2018-09-20 20.50.41.png](https://qiita-image-store.s3.amazonaws.com/0/249838/2e19a2e5-0330-c23e-e75b-d3d7c19b3616.png)
![スクリーンショット 2018-09-20 21.00.34.png](https://qiita-image-store.s3.amazonaws.com/0/249838/93930307-222e-4ac5-bd80-ae9632b11380.png)
![スクリーンショット 2018-09-20 21.58.33.png](https://qiita-image-store.s3.amazonaws.com/0/249838/762a82e6-c7d9-bcb3-8cea-10fbebc801ee.png)
Hは2D畳み込みブロックの写像関数
Mは3D畳み込み
残差接続なしversion
連続するフレームの中に多くの冗長情報を含んでおり、時間的次元に沿って特徴マップに冗長な情報をもたらす
→有益な静的な2D特徴を抽出するために2D畳み込みブロックを導入する

# 4.どうやって有効だと検証した？
MiCTを積み重ねるMiCT-Netを提案
RGBビデオシーケンスを入力として受け取り、エンドツーエンドで訓練可能
![スクリーンショット 2018-09-20 22.09.13.png](https://qiita-image-store.s3.amazonaws.com/0/249838/c5fa558e-f310-088e-1fbd-96f05b032cad.png)
# 比較検証方法
・データセット
-UCF101とSport1M、HMDB51で実験を行った
・データ拡張
- 各フレームを256×340にリサイズ
- 224×224の領域をランダムにトリミング
- 水平方向にランダムにフリップ(逆転)
- 時間次元方向にダウンサンプリングを行う
- これらのランダム操作はビデオシーケンス全てに渡って処理が行われる

・上図の各ブロックにおける畳み込みサイズの詳細
![スクリーンショット 2018-09-20 22.21.20.png](https://qiita-image-store.s3.amazonaws.com/0/249838/ed9841a9-fe5a-cb67-f791-2476f37b0c25.png)

![スクリーンショット 2018-09-20 22.30.41.png](https://qiita-image-store.s3.amazonaws.com/0/249838/c1a96f53-1013-c319-e24f-88646b91f361.png)
![スクリーンショット 2018-09-20 22.41.17.png](https://qiita-image-store.s3.amazonaws.com/0/249838/59ca9551-0a1c-20d3-224c-3b1296282dbb.png)


# 視覚化
最初のMiCTブロックの特徴マップの視覚化
上図のスローモーションでの認識には身体の部位や背景エッジなどが重要
下図の高速モーションでは特徴マップがモーションエリアにさらに集中していることわかる→時間情報を組み込んでいることがわかる(動きのある位置に集中して特徴が抽出できている？)
![スクリーンショット 2018-09-20 22.44.48.png](https://qiita-image-store.s3.amazonaws.com/0/249838/7c7b08df-b137-37db-8666-8a305c350a10.png)

#5.議論はあるか？
MiCTNetのさらなる拡張が今後の研究課題である