MARS : 動画からアクションを識別する機械学習モデル
ailia SDKで使用できる機械学習モデルである「MARS」のご紹介です。エッジ向け推論フレームワークであるailia SDKとailia MODELSに公開されている機械学習モデルを使用することで、簡単にAIの機能をアプリケーションに実装することができます。
MARSの概要
MARS(Motion-Augmented RGB Stream for Action Recognition)は2019年5月に提案されたモデルで、動画からその動画で行われているアクションを検出する機械学習モデルです。
MARSはHMDB51を使用して学習されており、下記の51のアクションを認識可能です。

出典:https://serre-lab.clps.brown.edu/resource/hmdb-a-large-human-motion-database/#Downloads

出典:https://serre-lab.clps.brown.edu/resource/hmdb-a-large-human-motion-database/#Downloads
MARSの特徴
動画からのアクションの検出には、OpenPoseなどで骨格を検出した後にLSTMやCNNを使用するスケルトンベースのものと、動画のRGBとFlowから3D Convolutionなどで検出するものがあり、MARSは後者の動画から直接検出するアーキテクチャになっています。
動画から直接、アクションを検出方式にも2種類あり、1フレームのRGBと複数枚のFlowを使用するTwo-stream CNNsと、複数枚のRGBと複数枚のFlowを使用する3-D XYT CNNsがあります。

出典:https://www.youtube.com/watch?v=Flm-kkCqACM&feature=youtu.be
MARSは3-D XYT CNNsの改良です。3-D XYT CNNsは複数枚のRGBの画像と、画素ごとの動きベクトルから構成されるFlowの画像の両方を与えることでアクションを検出しているため、Flowである画素ごとの動きベクトルの計算の負荷が高いという問題がありました。
MARSでは、学習時にはFlowの画像を使用しますが、推論時にはRGBの画像しか使用しないという特徴があります。それにより、より高速にアクションの検出が可能になっています。

出典:https://hal.inria.fr/hal-02140558/document
MARSを使用することで、高速かつ高精度にアクションを認識可能です。例えば、RGBと共にFlowを使用するRGB+TVL1Flowの場合に比べて、100倍高速で高精度になっています。TitanXにおいて、TVL1 Flowを計算するには1つのvideoに対して30秒かかります。アクション検出のうちの99%のコストがFlowの検出に使用されているため、Flowを計算しないMARSはRGB+TVL1Flowに比べて100倍高速に推論が可能です。

出典:https://hal.inria.fr/hal-02140558/document
MARSでは16フレームの画像を入力として取り、3D CNNを使用して推論を行います。backboneにはresnet50、resnet101、resnet152が使用されています。
MARSの使用方法
ailia SDK 1.2.4から3D Convolutionに対応しており、MARSを実行することができます。
下記のコマンドで任意の動画のアクションを検出します。
python3 mars.py -v input_video.mp4
アイリア株式会社はAIを実用化する会社として、クロスプラットフォームでGPUを使用した高速な推論を行うことができるailia SDKを開発しています。アイリア株式会社ではコンサルティングからモデル作成、SDKの提供、AIを利用したアプリ・システム開発、サポートまで、 AIに関するトータルソリューションを提供していますのでお気軽にお問い合わせください。
ailia Tech BLOG