第29回目の今回は、ディープラーニング(Deep Learning:深層学習)を用いた動作認識について紹介します。
今回の記事で登場する、Deep Learningの一種であるCNN(Convolutional Neural Network)については、第23回の記事で概要を説明しています。

Two-stream ConvNets

Two-stream ConvNets(参考文献:Karen Simonyan and Andrew Zisserman, “Two-Stream Convolutional Networks for Action Recognition in Videos,” in NIPS 2014)は、空間方向のCNN(Spatial stream ConvNet)と時系列方向のCNN(Temporal stream ConvNet)により、アピアランスの特徴と動きの特徴の両方を抽出することで高精度なAction recognitionを実現しています。

処理の概要は図1のとおりです。Spatial stream ConvNetでは、静止画像を入力とし、画像中の物体や背景のアピアランスの特徴を抽出します。一方、Temporal stream ConvNetでは、オプティカルフローの水平方向成分と垂直成分の系列を入力とし、動きに関する特徴を抽出します。これらを統合することにより、高い性能でAction recognitionを実現しています。

図1 Two-stream ConvNetsの概要

図1 Two-stream ConvNetsの概要

図2は、オプティカルフローの算出結果の例です。連続するフレーム間のオプティカルフローの水平方向成分と垂直方向成分を求め、その水平方向成分と垂直方向成分をそれぞれ入力のチャネルに割り当てます。つまり、Lフレームのオプティカルフロー系列を求めたとすると、入力は合計2Lチャネルとなります。このとき、図2のように水平方向成分、垂直方向成分は、画像と同じ2次元配列であるため、Spatial stream ConvNetの枠組みをそのまま適用することができます。

図2 オプティカルフローの算出結果の例

図2 オプティカルフローの算出結果の例

Trajectory-Pooled Deep-Convolutional Descriptors

Trajectory-Pooled Deep-Convolutional Descriptors(TDD)という手法があります(参考文献:Limin Wang, Yu Qiao, and Xiaoou Tang, “Action Recognition with Trajectory-Pooled Deep-Convolutional Descriptors,” in CVPR2015)。
TDDは、前述のTwo-stream ConvNetsと、第27回で紹介したDense trajectoriesの改良版であるimproved trajectories(iDT)を融合した手法です。

TDDの概要は、図3のとおりです。上段がiDTで、下段がTDDです。
iDTでは、trajectory近傍の領域からHOG、HOF、MBHといった人手により設計した特徴量を求めていました。一方TDDでは、Two-stream ConvNetsの枠組みを用いて特徴量マップを求め、trajectory近傍の領域の特徴量をPoolingします。TDDを用いることで、iDTよりも精度の高いAction recognitionを実現できます。さらに、TDDとiDTの両方を用いることで更なる性能向上に成功しています。

図3 Trajectory-Pooled Deep-Convolutional Descriptorsの概要

図3 Trajectory-Pooled Deep-Convolutional Descriptorsの概要

次回は、頭部に装着できるウェアラブルカメラで撮影する、一人称視点映像に関する技術について紹介します!