Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

3D CNNによる人物行動認識の動向

5,174 views

Published on

動画中の人物行動認識における3D CNNを用いた手法の動向を紹介します.

Published in: Technology

3D CNNによる人物行動認識の動向

  1. 1. 3D CNNによる人物行動認識の動向 原 健翔 0 産業技術総合研究所 コンピュータビジョン研究グループ
  2. 2. 人物行動認識 1 入力:動画 → 出力:行動ラベルという課題 *K. Soomo+, “UCF101: A Dataset of 101 Human Actions Classes From Videos in The Wild”, CRCV-TR-12-01, 2012. *
  3. 3. 代表的な大規模行動認識データセット | Trimmed 2 切り出し済み or 開始終了ラベル込み動画  HMDB-51: 7000動画 (Movie, YouTube),51クラス  UCF-101: 13000動画 (YouTube),101クラス  ActivityNet: 28000動画 (YouTube),200クラス  Kinetics: 30万動画 (YouTube),400クラス 大規模化がどんどん進んでいる
  4. 4. 代表的な大規模行動認識データセット | Untrimmed 3 動画単位ラベル&対象以外も含む  Sports-1M: 100万動画 (YouTube),487クラス  Youtube-8M (Video Classification Dataset): 800万動画 (YouTube),4800クラス 規模は圧倒的なものの動画単位ラベルのみでノイズが多い
  5. 5. CNN以前の行動認識手法 4 Dense Trajectories & Fisher Vectorが主流 HOG, HOF, MBHによる局所特徴をFisher Vectorでエンコード* *H. Wang+, “Dense Trajectories and Motion Boundary Descriptors for Action Recognition”, IJCV, 2013.
  6. 6. CNNベースの行動認識 5 2D CNN  時空間特徴抽出のため RGB & Optical Flowの Two-streamが主流 3D CNN  空間 2D + 時間 1Dの 3D空間で畳み込み *D. Tran+, “Learning Spatiotemporal Features with 3D Convolutional Networks”, ICCV, 2015. * *
  7. 7. 3D CNNによる行動認識 | C3D* 6 大規模動画データ (Sports-1M) を用いて良い性能を達成 著者らによる学習済みモデルの公開もあり3D CNNの標準となる *D. Tran+, “Learning Spatiotemporal Features with 3D Convolutional Networks”, ICCV, 2015. Conv: 3x3x3 kernels with 1 stride Pool: 2x2x2 (Pool1: 1x2x2) 実験的にこれがベストと確認 Input: 3 channels x 16 frames x 112 pixels x 112 pixels
  8. 8. 3D CNNによる行動認識 | Long-term Convolution* 7 時間長変化の影響を検討  C3Dの16フレーム入力を変更  長くすると精度は向上  Optical Flow入力や RGB&Flow入力の有効性も発見 *G. Varol+, “Long-term Temporal Convolutions for Action Recognition”, TPAMI, 2017.
  9. 9. この辺りまでの3D CNN 8 state-of-the-artよりも低精度  ImageNetでpretrainingした Two-stream 2D CNNベースがstate-of-the-art  Two-stream 3D CNNでも精度は一歩劣る  データ数不足が一番の原因?  ネットワーク構造も10層のシンプルなものに とどまっている
  10. 10. Kineticsデータセット* 9 Trimmed Actionで最大のデータセット 切り出された行動のインスタンス数では圧倒的! *W. Kay+, “The Kinetics Human Action Video Dataset”, arXiv, 2017.
  11. 11. Kineticsでの学習* 10 ImageNet Pretrained 2D CNNとの差が激減 大量のデータにより3D CNNも学習可能に *W. Kay+, “The Kinetics Human Action Video Dataset”, arXiv, 2017. top-1/top-5
  12. 12. Inception-v1ベースの3D CNN* 11 22層の3D CNN  2D Kernelの重みを 3DにコピーするInflatedにより ImageNetでもPretraining  入力は3x64x224x224 *J. Carreira+, “Quo Vadis, Action Recognition? A New Model and the Kinetics Dataset”, CVPR, 2017.
  13. 13. Inception-v1ベースの3D CNN* 12 圧倒的な精度を達成  大規模(かつきれいな)データ の利用&Deep 3D CNNの 有効性が示された *J. Carreira+, “Quo Vadis, Action Recognition? A New Model and the Kinetics Dataset”, CVPR, 2017.
  14. 14. ResNetベースの3D CNN* 13 画像認識で有効なResNetを動画像に応用  ResNetはInceptionよりも高精度  Kineticsデータセットを利用することで 3D ResNetを学習可能か? *K. Hara+, “Learning Spatio-Temporal Features with 3D Residual Networks for Action Recognition”, ICCV WS, 2017.
  15. 15. 学習時の設定 14  入力:3 channels x 16 frames x 112 pixels x 112 pixels  最適化手法:SGD with momentum (0.9)  Learning Rate:0.1  以後Validation Lossが収束したら1/10  Data Augumentation  50%でHorizontal Flip  4 corner, 1 centerからランダム選択してSpatial Crop  動画中から16フレームをランダム抽出
  16. 16. 学習に利用したマシン 15  NVIDIA TITAN Xを4枚  Torchによる実装  4週間かけて学習  PyTorch実装で再学習したら1, 2週間で学習できた
  17. 17. Kineticsでの学習結果 16 Pretrainingなしで過学習せずに3D ResNet-34を学習可能
  18. 18. Kineticsでの認識精度 17 より深いResNetの方がC3Dよりも高い認識精度
  19. 19. 3D ResNet-34とI3D (Inception-v1) 18 I3Dの方が高い精度を実現  入力サイズの違い  ResNet: 3x16x112x112, I3D: 3x64x224x224  高解像かつ時間長が長い方が精度は高くなる  バッチサイズの違い  Batch Normalization利用時にはバッチサイズは重要  I3Dの論文では64GPUでバッチサイズを大きく設定
  20. 20. 3D ResNetの学習コードと学習済みモデル 19 GitHubで公開中!  Torch版https://github.com/kenshohara/3D-ResNets と PyTorch版https://github.com/kenshohara/3D-ResNets-PyTorch  ActivityNetとKineticsデータセットでの 学習・テストが可能  3D ResNet-34などの学習済みモデルも公開  その他のモデルも今後公開予定
  21. 21. 学習済みモデルを利用した動画認識用のコード 20 こちらもGitHubで公開中!  Torch版https://github.com/kenshohara/video-classification-3d-cnn と PyTorch版https://github.com/kenshohara/video-classification-3d-cnn-pytorch  任意の動画に対してクラス識別(Kineticsの400クラス), 特徴抽出(Global Average Pooling後の400次元)が可能  実行結果の描画ツールも公開
  22. 22. ResNet-34による認識結果例 21
  23. 23. まとめ 22 3D CNNによる行動認識が盛り上がり中  大規模なKineticsデータセットにより 深いモデルも学習可能になってきた  今後この分野の研究が加速していくことが予測される

×