(57)【要約】【課題】映像データに対して、人物以外の映像領域の影響を受けることなく、複数の認識エンジンのスコアに基づく総合的な観点から、行動（コンテキスト）の認識精度を高めることができるプログラム、装置及び方法を提供する。【解決手段】人物が映り込む映像データから行動を認識するようにコンピュータを機能させる行動認識プログラムであって、映像データから、人物の関節に基づくスケルトン情報を時系列に抽出するスケルトン情報抽出手段と、映像データのスケルトン情報から、行動を認識する関節認識エンジンと、映像データから、スケルトン情報の囲み領域を抽出する領域切出し手段と、映像データの囲み領域から、行動を認識する動体認識エンジンと、行動毎に、関節認識エンジン及び動体認識エンジンそれぞれのスコアを統合した統合スコアを出力するスコア統合手段として機能させる。【選択図】図２
2019144830.tif 000002
【特許請求の範囲】
【請求項１】
人物が映り込む映像データから行動を認識するようにコンピュータを機能させる行動認識プログラムであって、
前記映像データから、人物の関節に基づくスケルトン情報を時系列に抽出するスケルトン情報抽出手段と、
前記映像データの前記スケルトン情報から、行動を認識する関節認識エンジンと、
前記映像データから、前記スケルトン情報の囲み領域を抽出する領域切出し手段と、
前記映像データの前記囲み領域から、行動を認識する動体認識エンジンと、
行動毎に、前記関節認識エンジン及び前記動体認識エンジンそれぞれのスコアを統合した統合スコアを出力するスコア統合手段と
してコンピュータを機能させることを特徴とする行動認識プログラム。
【請求項２】
人物が映り込む映像データから行動を認識するようにコンピュータを機能させる行動認識プログラムであって、
前記映像データから、人物の関節に基づくスケルトン情報を時系列に抽出するスケルトン情報抽出手段と、
前記映像データの前記スケルトン情報から、行動を認識する関節認識エンジンと、
前記関節認識エンジンによって算出された行動のスコアが、所定条件を満たすか否かを判定する関節行動判定手段と、
前記関節行動判定手段によって真と判定された際に、前記映像データから、前記スケルトン情報の囲み領域を抽出する領域切出し手段と、
前記映像データの前記囲み領域から、行動を認識する動体認識エンジンと、
行動毎に、前記関節認識エンジン及び前記動体認識エンジンそれぞれのスコアを統合した統合スコアを出力するスコア統合手段と
してコンピュータを機能させることを特徴とする行動認識プログラム。
【請求項３】
前記関節行動判定手段は、前記所定条件として、複数の行動における最大値又は平均値のスコアが、所定閾値以下か否かを判定する
ようにコンピュータを機能させることを特徴とする請求項２に記載の行動認識プログラム。
【請求項４】
前記関節行動判定手段は、前記所定条件として、最大値のスコアとなる行動が、所定目的行動であるか否かを判定する
ようにコンピュータを機能させることを特徴とする請求項２に記載の行動認識プログラム。
【請求項５】
前記関節認識エンジンは、所定条件を満たす重要関節部位を更に出力するものであり、
前記領域切出し手段は、前記関節認識エンジンから出力された前記重要関節部位を含む囲み領域を抽出する
ようにコンピュータを機能させることを特徴とする請求項２から４のいずれか１項に記載の行動認識プログラム。
【請求項６】
前記スコア統合手段は、認識エンジンそれぞれのスコアに、当該認識エンジンに対応する重みを付けて統合する
ようにコンピュータを機能させることを特徴とする請求項１から５のいずれか１項に記載の行動認識プログラム。
【請求項７】
異なる行動に基づく複数の訓練データを入力し、認識エンジン毎に、スコアの統計値を算出し、前記スコアの統計値が低いほど、大きな値の「重み」を付与する前記重み算出手段と
してコンピュータを機能させることを特徴とする請求項６に記載の行動認識プログラム。
【請求項８】
前記重み算出手段は、前記スコアの統計値の逆数値（全ての認識エンジンの逆数値の和が１となる）を、「重み」とする
ようにコンピュータを機能させることを特徴とする請求項７に記載の行動認識プログラム。
【請求項９】
前記動体認識エンジンは、オプティカルフローに基づくものである
ようにコンピュータを機能させることを特徴とする請求項１から８のいずれか１項に記載の行動認識プログラム。
【請求項１０】
前記動体認識エンジンは、ＲＧＢ画像に基づく物体認識エンジンと、オプティカルフローに基づく動体認識エンジンとからなり、
前記スコア統合手段は、行動毎に、前記関節認識エンジン、前記動体認識エンジン及び前記物体認識エンジンそれぞれのスコアを統合する
ようにコンピュータを機能させることを特徴とする請求項１から８のいずれか１項に記載の行動認識プログラム。
【請求項１１】
前記スケルトン情報を、時系列の座標系に対してシフト・伸縮させることによって正規化するスケルトン情報正規化手段を更に有し、
前記領域切出し手段は、正規化されたスケルトン情報を囲む最小領域を、前記囲み領域として抽出する
ようにコンピュータを機能させることを特徴とする請求項１から１０のいずれか１項に記載の行動認識プログラム。
【請求項１２】
人物が映り込む映像データから行動を認識する装置であって、
前記映像データから、人物の関節に基づくスケルトン情報を時系列に抽出するスケルトン情報抽出手段と、
前記映像データの前記スケルトン情報から、行動を認識する関節認識エンジンと、
前記映像データから、前記スケルトン情報の囲み領域を抽出する領域切出し手段と、
前記映像データの前記囲み領域から、行動を認識する動体認識エンジンと、
行動毎に、前記関節認識エンジン及び前記動体認識エンジンそれぞれのスコアを統合した統合スコアを出力するスコア統合手段と
を有することを特徴とする装置。
【請求項１３】
人物が映り込む映像データから行動を認識する装置であって、
前記映像データから、人物の関節に基づくスケルトン情報を時系列に抽出するスケルトン情報抽出手段と、
前記映像データの前記スケルトン情報から、行動を認識する関節認識エンジンと、
前記関節認識エンジンによって認識された行動が、所定目的行動である場合、前記映像データから、前記スケルトン情報の囲み領域を抽出する領域切出し手段と、
前記映像データの前記囲み領域から、行動を認識する動体認識エンジンと、
行動毎に、前記関節認識エンジン及び前記動体認識エンジンそれぞれのスコアを統合した統合スコアを出力するスコア統合手段と
を有することを特徴とする装置。
【請求項１４】
人物が映り込む映像データから行動を認識する装置の認識方法であって、
前記装置は、
前記映像データから、人物の関節に基づくスケルトン情報を時系列に抽出する第１のステップと、
前記映像データの前記スケルトン情報から、行動を関節認識する第２のステップと、
前記映像データから、前記スケルトン情報の囲み領域を抽出する第３のステップと、
前記映像データの前記囲み領域から、行動を動体認識する第４のステップと、
行動毎に、関節認識及び動体認識それぞれのスコアを統合した統合スコアを出力する第５のステップと
を実行することを特徴とする装置の認識方法。
【請求項１５】
人物が映り込む映像データから行動を認識する装置の認識方法であって、
前記装置は、
前記映像データから、人物の関節に基づくスケルトン情報を時系列に抽出する第１のステップと、
前記映像データの前記スケルトン情報から、行動を関節認識する第２のステップと、
前記関節認識エンジンによって認識された行動が、所定目的行動である場合、前記映像データから、前記スケルトン情報の囲み領域を抽出する第３のステップと、
前記映像データの前記囲み領域から、行動を動体認識する第４のステップと、
行動毎に、前記関節認識エンジン及び前記動体認識エンジンそれぞれのスコアを統合した統合スコアを出力する第５のステップと
を実行することを特徴とする装置の認識方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像データから、人物の行動を認識する技術に関する。
【背景技術】
【０００２】
近年、ディープラーニングを用いることによって、人物の行動認識における認識精度が飛躍的に向上してきている。
従来、移動特徴量（オプティカルフロー）から物体の動きを検出する動体認識の技術がある（例えば非特許文献１参照）。例えばTwo-stream ConvNetsによれば、空間方向のＣＮＮ(Spatial stream ConvNet)と時系列方向のＣＮＮ(Temporal stream ConvNet)とを用いて、画像中の物体や背景のアピアランス特徴と、オプティカルフローの水平方向成分及び垂直方向成分の系列における動き特徴とを抽出する。これら両方の特徴を統合することによって、行動を高精度に認識する。
【０００３】
また、６４フレームのセグメントを処理単位として、３Ｄ−ＣＮＮによって行動を認識する技術もある（例えば非特許文献２参照）。この技術によれば、非特許文献１の技術に対して、時間軸情報を含む３Ｄ convolutionを適用し。深い深層モデルに大量の教師データを学習させている。
更に、映像データをＮ（＝３）等分にセグメント化して、各セグメントのスコアを統合する技術もある（例えば非特許文献３参照）。この技術によれば、非特許文献１の技術に対して、長い時間軸情報を適用し、深い深層モデルに大量の教師データを学習させている。
【０００４】
一方で、一般的なＷｅｂカメラによって撮影された映像データから、人物の骨格の２次元関節データを推定する技術もある。この技術によれば、３次元関節までは推定できないが、例えばKinect（登録商標）のようなデプスセンサを必要としない。
【０００５】
図１は、認識装置を有するシステム構成図である。
【０００６】
図１のシステムによれば、認識装置１は、例えばインターネットに接続されたサーバとして機能している。認識装置１は、教師データによって予め学習モデルを構築した認識エンジンを有する。認識エンジンが、人物の行動を認識するものである場合、教師データは、人の行動が映り込む映像データと、その行動対象（コンテキスト）とが予め対応付けられたものである。
【０００７】
端末２はそれぞれ、カメラを搭載しており、人の行動を撮影した映像データを、認識装置１へ送信する。端末２は、各ユーザによって所持されるスマートフォンや携帯端末であって、携帯電話網又は無線ＬＡＮのようなアクセスネットワークに接続する。
勿論、端末２は、スマートフォン等に限られず、例えば宅内に設置されたＷｅｂカメラであってもよい。また、Ｗｅｂカメラによって撮影された映像データがＳＤカードに記録され、その記録された映像データが認識装置１へ入力されるものであってもよい。
【０００８】
具体的には、例えばユーザに、自らのスマートフォンのカメラで、自らの行動を撮影してもらう。そのスマートフォンは、その映像データを、認識装置１へ送信する。認識装置１は、その映像データから人の行動を推定し、その推定結果を様々なアプリケーションで利用する。
尚、認識装置１の各機能が端末２に組み込まれたものであってもよい。
【先行技術文献】
【非特許文献】
【０００９】
【非特許文献１】Karen Simonyan and Andrew Zisserman, “Two-Stream Convolutional Networks for Action Recognition in Videos,” in NIPS 2014、[online]、［平成３０年１月２４日検索］、インターネット＜URL:https://arxiv.org/abs/1406.2199.pdf＞
【非特許文献２】Joao Carreira, Andrew Zisserman. " Quo Vadis, Action Recognition? A New Model and the Kinetics Dataset." CVPR2017(2017)、[online]、［平成３０年１月２４日検索］、インターネット＜URL: https://arxiv.org/abs/1705.07750＞
【非特許文献３】Wang, Limin, et al. "Temporal segment networks: Towards good practices for deep action recognition." European Conference on Computer Vision. Springer International Publishing, 2016、[online]、［平成３０年１月２４日検索］、インターネット＜URL:http://www.eccv2016.org/files/posters/P-3B-42.pdf＞
【非特許文献４】Cao, Zhe, et al. "Realtime multi-person 2d pose estimation using part affinity fields." CVPR2017(2017)、[online]、［平成３０年１月２４日検索］、インターネット＜URL:https://arxiv.org/abs/1611.08050＞
【非特許文献５】Soo Kim, Tae & Reiter, Austin. “Interpretable 3D Human Action Analysis with Temporal Convolutional Networks.” CVPRW 2017、[online]、［平成３０年１月２４日検索］、インターネット＜URL:http://ieeexplore.ieee.org/document/8014941/?reload=true＞
【非特許文献６】Gunnar Farneback, “Two-Frame Motion Estimation Based on Polynomial Expansion, Image Analysis,” Volume 2749 of the series Lecture Notes in Computer Science, pp 363-370, June 2003、[online]、［平成３０年１月２４日検索］、インターネット＜http://liu.diva-portal.org/smash/record.jsf?pid=diva2%3A269471&dswid=-8845＞
【非特許文献７】OpenPose、[online]、［平成３０年１月２４日検索］、インターネット＜URL:https://github.com/CMU-Perceptual-Computing-Lab/openpose＞
【非特許文献８】「動画や写真からボーンが検出できる OpenPoseを試してみた」、[online]、［平成３０年１月２４日検索］、インターネット＜URL:http://hackist.jp/?p=8285＞
【非特許文献９】「OpenPoseがどんどんバージョンアップして3d pose estimationも試せるようになっている」、[online]、［平成３０年１月２４日検索］、インターネット＜URL: http://izm-11.hatenablog.com/entry/2017/08/01/140945＞
【発明の概要】
【発明が解決しようとする課題】
【００１０】
人物の行動を認識する認識エンジンは、人物が映り込む映像データを教師データとして学習し、推定すべき映像データから、高精度に行動を推定するように調整されている。
しかしながら、実際の環境下では、人物以外の映像領域の影響によって、コンテキストの認識精度が低下する場合がある。
【００１１】
また、認識エンジンの認識精度は、高い方から順に、関節認識->動体認識->物体認識となるのが一般的である。
しかしながら、撮影角度や照度、オクルージョン、解像度などの影響から、必ずしも関節認識の精度が高いとは限らない。即ち、最適に学習された認識エンジンを用いたとしても、撮影環境によっては、異なる種別の認識エンジンを用いた方が、認識精度が高まる場合もある。
【００１２】
更に、認識エンジンは、クラス分類に基づくものであって、推定すべき映像データに「行動」（クラス）を付与する機械学習エンジンである。
しかしながら、認識エンジンからのスコアが高ければ、認識精度が必ずしも高いというわけではない。
似て非なる物体の動きを検出した場合、認識精度が高いがために、スコアが比較的中程度となる一方で、認識精度が低いがために、スコアが極端に高くなる場合もある。
例えば、同一の行動を認識したとしても、認識精度が比較的高い動体認識エンジンでは、比較的中程度のスコアを算出したとしても、認識精度が比較的低い物体認識エンジンでは、比較的高いスコアを出力する場合がある。
そのように考えると、個別の認識エンジンによって算出されたスコアをそのまま、その行動の認識精度と考えることはできない。
【００１３】
そこで、本発明は、映像データに対して、人物以外の映像領域の影響を受けることなく、複数の認識エンジンのスコアに基づく総合的な観点から、行動（コンテキスト）の認識精度を高めることができるプログラム、装置及び方法を提供することを目的とする。
【課題を解決するための手段】
【００１４】
本発明によれば、人物が映り込む映像データから行動を認識するようにコンピュータを機能させる行動認識プログラムであって、
映像データから、人物の関節に基づくスケルトン情報を時系列に抽出するスケルトン情報抽出手段と、
映像データのスケルトン情報から、行動を認識する関節認識エンジンと、
映像データから、スケルトン情報の囲み領域を抽出する領域切出し手段と、
映像データの囲み領域から、行動を認識する動体認識エンジンと、
行動毎に、関節認識エンジン及び動体認識エンジンそれぞれのスコアを統合した統合スコアを出力するスコア統合手段と
してコンピュータを機能させることを特徴とする。
【００１５】
本発明によれば、人物が映り込む映像データから行動を認識するようにコンピュータを機能させる行動認識プログラムであって、
映像データから、人物の関節に基づくスケルトン情報を時系列に抽出するスケルトン情報抽出手段と、
映像データのスケルトン情報から、行動を認識する関節認識エンジンと、
関節認識エンジンによって算出された行動のスコアが、所定条件を満たすか否かを判定する関節行動判定手段と、
関節行動判定手段によって真と判定された際に、映像データから、スケルトン情報の囲み領域を抽出する領域切出し手段と、
映像データの囲み領域から、行動を認識する動体認識エンジンと、
行動毎に、関節認識エンジン及び動体認識エンジンそれぞれのスコアを統合した統合スコアを出力するスコア統合手段と
してコンピュータを機能させることを特徴とする。
【００１６】
本発明の行動認識プログラムにおける他の実施形態によれば、
関節行動判定手段は、所定条件として、複数の行動における最大値又は平均値のスコアが、所定閾値以下か否かを判定する
ようにコンピュータを機能させることも好ましい。
【００１７】
本発明の行動認識プログラムにおける他の実施形態によれば、
関節行動判定手段は、所定条件として、最大値のスコアとなる行動が、所定目的行動であるか否かを判定する
ようにコンピュータを機能させることも好ましい。
【００１８】
本発明の行動認識プログラムにおける他の実施形態によれば、
関節認識エンジンは、所定条件を満たす重要関節部位を更に出力するものであり、
領域切出し手段は、関節認識エンジンから出力された重要関節部位を含む囲み領域を抽出する
ようにコンピュータを機能させることも好ましい。
【００１９】
本発明の行動認識プログラムにおける他の実施形態によれば、
スコア統合手段は、認識エンジンそれぞれのスコアに、当該認識エンジンに対応する重みを付けて統合する
ようにコンピュータを機能させることも好ましい。
【００２０】
本発明の行動認識プログラムにおける他の実施形態によれば、
異なる行動に基づく複数の訓練データを入力し、認識エンジン毎に、スコアの統計値を算出し、スコアの統計値が低いほど、大きな値の「重み」を付与する重み算出手段と
してコンピュータを機能させることも好ましい。
【００２１】
本発明の行動認識プログラムにおける他の実施形態によれば、
重み算出手段は、スコアの統計値の逆数値（全ての認識エンジンの逆数値の和が１となる）を、「重み」とする
ようにコンピュータを機能させることも好ましい。
【００２２】
本発明の行動認識プログラムにおける他の実施形態によれば、
異なる行動に基づく複数の訓練データを入力し、認識エンジン毎に、スコアの統計値の逆数値（全ての認識エンジンの逆数値の和が１となる）を、重みとする重み算出手段と
してコンピュータを機能させることも好ましい。
【００２３】
本発明の行動認識プログラムにおける他の実施形態によれば、
動体認識エンジンは、オプティカルフローに基づくものである
ようにコンピュータを機能させることも好ましい。
【００２４】
本発明の行動認識プログラムにおける他の実施形態によれば、
動体認識エンジンは、ＲＧＢ画像に基づく物体認識エンジンと、オプティカルフローに基づく動体認識エンジンとからなり、
スコア統合手段は、行動毎に、関節認識エンジン、動体認識エンジン及び物体認識エンジンそれぞれのスコアを統合する
ようにコンピュータを機能させることも好ましい。
【００２５】
本発明の行動認識プログラムにおける他の実施形態によれば、
スケルトン情報を、時系列の座標系に対してシフト・伸縮させることによって正規化するスケルトン情報正規化手段を更に有し、
領域切出し手段は、正規化されたスケルトン情報を囲む最小領域を、囲み領域として抽出する
ようにコンピュータを機能させることも好ましい。
【００２６】
本発明によれば、人物が映り込む映像データから行動を認識する装置であって、
映像データから、人物の関節に基づくスケルトン情報を時系列に抽出するスケルトン情報抽出手段と、
映像データのスケルトン情報から、行動を認識する関節認識エンジンと、
映像データから、スケルトン情報の囲み領域を抽出する領域切出し手段と、
映像データの囲み領域から、行動を認識する動体認識エンジンと、
行動毎に、関節認識エンジン及び動体認識エンジンそれぞれのスコアを統合した統合スコアを出力するスコア統合手段と
を有することを特徴とする。
【００２７】
本発明によれば、人物が映り込む映像データから行動を認識する装置であって、
映像データから、人物の関節に基づくスケルトン情報を時系列に抽出するスケルトン情報抽出手段と、
映像データのスケルトン情報から、行動を認識する関節認識エンジンと、
関節認識エンジンによって認識された行動が、所定目的行動である場合、映像データから、スケルトン情報の囲み領域を抽出する領域切出し手段と、
映像データの囲み領域から、行動を認識する動体認識エンジンと、
行動毎に、関節認識エンジン及び動体認識エンジンそれぞれのスコアを統合した統合スコアを出力するスコア統合手段と
を有することを特徴とする。
【００２８】
本発明によれば、人物が映り込む映像データから行動を認識する装置の認識方法であって、
装置は、
映像データから、人物の関節に基づくスケルトン情報を時系列に抽出する第１のステップと、
映像データのスケルトン情報から、行動を関節認識する第２のステップと、
映像データから、スケルトン情報の囲み領域を抽出する第３のステップと、
映像データの囲み領域から、行動を動体認識する第４のステップと、
行動毎に、関節認識及び動体認識それぞれのスコアを統合した統合スコアを出力する第５のステップと
を実行することを特徴とする。
【００２９】
本発明によれば、人物が映り込む映像データから行動を認識する装置の認識方法であって、
装置は、
映像データから、人物の関節に基づくスケルトン情報を時系列に抽出する第１のステップと、
映像データのスケルトン情報から、行動を関節認識する第２のステップと、
関節認識エンジンによって認識された行動が、所定目的行動である場合、映像データから、スケルトン情報の囲み領域を抽出する第３のステップと、
映像データの囲み領域から、行動を動体認識する第４のステップと、
行動毎に、関節認識エンジン及び動体認識エンジンそれぞれのスコアを統合した統合スコアを出力する第５のステップと
を実行することを特徴とする。
【発明の効果】
【００３０】
本発明のプログラム、装置及び方法によれば、映像データに対して、人物以外の映像領域の影響を受けることなく、複数の認識エンジンのスコアに基づく総合的な観点から、行動（コンテキスト）の認識精度を高めることができる。
【図面の簡単な説明】
【００３１】
【図１】認識装置を有するシステム構成図である。
【図２】本発明における認識装置の第１の機能構成図である。
【図３】スケルトン情報と囲み領域とを表す第１のイメージ図である。
【図４】囲み領域を表す第２のイメージ図である。
【図５】複数の動体認識エンジンによって構成した、図２に基づく第１の機能構成図である。
【図６】本発明における認識装置の第２の機能構成図である。
【図７】複数の動体認識エンジンによって構成した、図６に基づく第２の機能構成図である。
【図８】囲み領域を表す第３のイメージ図である。
【発明を実施するための形態】
【００３２】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。
【００３３】
図２は、本発明における認識装置の第１の機能構成図である。
【００３４】
認識装置１は、複数の認識エンジンを用いて、人物が映り込む映像データから、人物の行動（コンテキスト）を推定する。
図２によれば、認識装置１は、スケルトン情報抽出部１１と、関節認識エンジン１２と、領域切出し部１３１と、動体認識エンジン１３２と、スコア統合部１４と、重み算出部１５とを有する。また、オプション的に、スケルトン情報正規化部１１１も有する。これら機能構成部は、装置に搭載されたコンピュータを機能させるプログラムを実行することによって実現できる。また、これら機能構成部の処理の流れは、映像データに対する行動（コンテキスト）の認識方法としても理解できる。
【００３５】
［スケルトン情報抽出部１１］
スケルトン情報抽出部１１は、映像データから、人物の関節に基づく「スケルトン情報」を時系列に抽出する（例えば非特許文献４参照）。スケルトン情報とは、関節毎に信頼度（０〜１）が付与された２次元骨格の関節データをいう。関節データは、２次元に基づくものであるために、一般的なＷｅｂカメラで撮影した映像データから抽出される。
【００３６】
具体的にはOpenPose（登録商標）のようなスケルトンモデルを用いて、人の関節の特徴点を抽出する（例えば非特許文献７〜９参照）。OpenPoseとは、画像から複数の人間の体／手／顔のキーポイントをリアルタイムに検出可能なソフトウェアであって、GitHubによって公開されている。撮影映像に映る人の身体全体であれば、例えば１５点のキーポイントを検出できる。
【００３７】
図３は、スケルトン情報と囲み領域とを表す第１のイメージ図である。
【００３８】
図３によれば、映像データに１人の人物が映り込んでいる。各関節（Nose, Neck, RShoulder, RElbow,・・・）に対して、信頼度（０〜９）が算出される。スケルトン情報とは、１８個の各関節の２次元座標点とその信頼度とを、各フレームで結び付けた情報をいう。
【００３９】
導出されたスケルトン情報は、関節認識エンジン１２及び領域切出し部１３１へ出力される。
尚、スケルトン情報は、オプション的に、スケルトン情報正規化部１１１を介して、関節認識エンジン１２及び領域切出し部１３１へ出力するものであってもよい。
【００４０】
［スケルトン情報正規化部１１１］（オプション）
スケルトン情報正規化部１１１は、スケルトン情報を、時系列の座標系に対してシフト・伸縮させることによって正規化する。
正規化したスケルトン情報は、関節認識エンジン１２及び領域切出し部１３１へ出力される。
【００４１】
（Ｓ１）基準フレームに基づいて、原点座標と伸縮スケールとを算出する。
基準フレームとは、映像データに映り込む人物から同時に検出された「Neck」「LHip」「RHip」について、信頼度が一定以上になった最初のフレームをいう。
原点座標は、基準フレームにおける人物iのNeck関節の座標ｐi(Neck)をいう。
伸縮スケールscaleiは、NeckとLHipとの間の距離と、NeckとRHipとの間の距離との平均値を100にしたものであって、以下のように算出される。
scalei＝200／（||ｐi(Neck)−ｐi(LHip)||＋||ｐi(Neck)−ｐi(RHip)||）
scalei：人物iのスケール
ｐi()：人物iの２次元座標
（Ｓ２）伸縮スケールscaleiを用いて、各フレームにおいて検出した人物毎にスケルトンを、以下のようにシフト・伸縮させる。
ｎｐit(j)＝scalei＊（ｐit(j)−ｐi(Neck)）
t：フレーム番号
j：関節番号
ｐit(j)：第tフレームで人物iの関節jの座標
ｎｐit(j)：第tフレームで人物iの関節jの正規化座標
尚、前述の実施形態によれば、基準フレームの抽出について、相対的な位置関係が変わり難い関節である「Neck」「LHip」「RHip」を用いているが、それらに代えて、「Neck」「LShoulder」「RShoulder」を用いるものであってもよい。
【００４２】
［関節認識エンジン１２］
関節認識エンジン１２は、映像データのスケルトン情報（正規化されたスケルトン情報）に「行動」を対応付けた教師データに基づいて、深層学習の学習モデルを予め構築したものである。
そして、関節認識エンジン１２は、学習モデルを用いて、映像データのスケルトン情報（正規化されたスケルトン情報）から、「行動」を認識する（例えば非特許文献５参照）。関節認識エンジン１２は、クラス分類に基づくものであって、クラス（推定可能な行動（コンテキスト））毎に、スコアを算出する。
関節認識エンジン１２は、例えば「飲む」「食べる」「走る」「畳む」のような人物の行動を、人物の関節の角度や位置から認識する。
そして、行動毎のスコアが、スコア統合部１４へ出力される。
【００４３】
［領域切出し部１３１］
領域切出し部１３１は、映像データから、スケルトン情報の「囲み領域」を抽出する。囲み領域は、スケルトン情報（正規化されたスケルトン情報）を囲む最小領域をいう。このように、人物が映り込む囲み領域のみを、後段の動体認識エンジン１３２へ入力することによって、認識処理を高速化すると共に、行動認識の精度を高めることができる。
【００４４】
前述した図３によれば、最初に、全ての関節の座標点（１８個）を含むように最小の矩形となる「関節のバウンディングボックス」を算出する（短破線）。そして、関節のバウンディングボックスから、所定比率で拡大した拡大ボックスを「囲み領域」として導出する（長破線）。
【００４５】
図４は、囲み領域を表す第２のイメージ図である。
【００４６】
図４によれば、映像データに２人の人物が映り込んでいる。
最初に、全ての関節の座標点を含むように最小の矩形となる「関節のバウンディングボックス」を算出する。次に、関節を結ぶフレームの接続構成から、人物毎に、関節データを区分する。
そして、人物毎に、関節のバウンディングボックスから、所定比率で拡大した拡大ボックスを「囲み領域」として導出する。
また、図４について、画像領域の範囲内で、２人の人物の囲み領域を包含するような１つの領域を、「囲み領域」として再導出してもよい。
【００４７】
［動体認識エンジン１３２］
動体認識エンジン１３２も、映像データに「行動」を対応付けた教師データに基づいて、深層学習の学習モデルを予め構築したものである。
そして、動体認識エンジン１３２は、学習モデルを用いて、映像データの囲み領域から、「行動」を認識する。動体認識エンジン１３２も、クラス分類に基づくものであって、クラス（推定可能な行動（コンテキスト））毎に、スコアを算出する。
そして、各動体認識エンジン１３２によって算出された行動毎のスコアは、スコア統合部１４へ出力される。
【００４８】
図５は、複数の動体認識エンジンによって構成した、図２に基づく第１の機能構成図である。
【００４９】
動体認識エンジン１３２は、以下のように２つの認識エンジンによって構成されるものであってもよい。
（１）ＲＧＢ画像に基づく物体認識エンジン
（２）オプティカルフローに基づく動体認識エンジン
勿論、動体認識エンジン１３２に含まれる認識エンジンは、２つに限られず、３つ以上の異なる種類の認識エンジンを組み合わせるものであってもよい。
尚、コンテキスト「行動」の種類としては、後段のスコア統合部１４で統合するためにも、同一であることが好ましい。
【００５０】
（１）ＲＧＢ認識に基づく物体認識エンジンは、具体的にはＣＮＮ(Convolutional Neural Network)のようなニューラルネットワークを用いて、撮影映像に映り込むオブジェクト（対象物）を推定する（例えば非特許文献２参照）。
【００５１】
（２）オプティカルフローに基づく動体認識エンジンは、フレーム間で同一の特徴点が動いている箇所を抽出し、映像データ内の物体の動きを「ベクトル」で表すものである（例えば非特許文献６参照）。
【００５２】
オプティカルフローに基づく動体認識エンジンは、映像データ（ＲＧＢ画像）における２枚の隣接フレームを入力すると、同解像度の２枚のオプティカルフローを算出する。以下の式によって、ＲＧＢ画像を輝度画像Ｙに変換する。
Ｙ＝0.299×Ｒ＋0.587×Ｇ＋0.114×Ｂ
Ｙ：ピクセルの輝度値
Ｒ，Ｇ，Ｂ：ピクセルのＲ，Ｇ，Ｂ値
非特許文献６の技術によれば、第１フレームの小さい領域の中に、任意のピクセルのＹ成分が、以下の式のようにquadratic polynomial basisで表現できる。
ｆ1(ｘ)＝ｘＴＡ1ｘ＋ｂ1Ｔｘ＋ｃ1
ｆ1(ｘ)：対象ピクセルのＹ成分
ｘ：第１フレームにおけるＹ成分の対象ピクセルの位置座標
Ａ1，ｂ1，ｃ1：その領域で算出する係数
同様に、第２フレームの対応領域は、以下の式になる。
ｆ2(ｘ)＝ｆ1(ｘ−ｄ)
＝(ｘ−ｄ)ＴＡ1(ｘ−ｄ)＋ｂ1Ｔ(ｘ−ｄ)＋ｃ1
＝ｘＴＡ1ｘ＋(ｂ1−２Ａ1ｄ)Ｔｘ＋ｄＴＡ1ｄ−ｂ1Ｔｄ＋ｃ1
＝ｘＴＡ2ｘ＋ｂ2Ｔｘ＋ｃ2
ｄ：対象ピクセルｘのオプティカルフロー（位置座標の差分）
Ａ2，ｂ2，ｃ2：その領域で算出する係数
これによって、オプティカルフローｄは、以下の式で算出される。
ｄ＝−1/2Ａ1-1(ｂ2−ｂ1)
【００５３】
［スコア統合部１４］
スコア統合部１４は、図２のように、「行動」毎に、関節認識エンジン１３１及び動体認識エンジン１３２それぞれのスコアの統計値を統合した「統合スコア」を出力する。
スコアの統計値とは、複数の行動におけるスコアの最大値又は平均値であってもよい。
また、図５のように、動体認識エンジンが、物体認識エンジン１３２１及び動体認識エンジン１３２２から構成される場合、スコア統合部１４は、行動毎に、関節認識エンジン１３１、物体認識エンジン１３２１及び動体認識エンジン１３２２それぞれのスコアを統合する。
【００５４】
ここで、スコア統合部１４は、認識エンジン１３それぞれのスコアに、当該認識エンジンに対応する「重み」を付けて、行動actに対する統合スコアＳＡall(act)を算出する。
ＳＡRGB(act)：物体認識エンジン（ＲＧＢ画像）のスコア
ＳＡflow(act)：動体認識エンジン（オプティカルフロー画像）のスコア
ＳＡskeleton(act)：関節認識エンジン（スケルトン情報）のスコア
ｗskeleton：関節認識エンジンのスコアに対する重み
ｗRGB：物体認識エンジンのスコアに対する重み
ｗflow：動体認識エンジンのスコアに対する重み
ＳＡall(act)＝ｗskeletonＳＡskeleton(act)＋ｗRGBＳＡRGB(act)＋ｗflowＳＡflow(act)
そして、以下の式によって、映像データの行動を推定する。
bestact＝arg maxact(ＳＡall(act))
【００５５】
このように、認識エンジンに応じて異なる「重み」を付けることによって、「認識エンジンからのスコアが高ければ、認識精度が必ずしも高いというわけではない」とする不公平さを回避することができる。
【００５６】
［重み算出部１５］
重み算出部１５は、異なる行動に基づく複数の訓練データを入力し、認識エンジン毎に、スコアの統計値を算出し、スコアの統計値が低いほど、大きな値の「重み」を付与する。具体的には、、スコアの統計値（例えば平均値）の逆数値（全ての認識エンジンの逆数値の和が１となる）を、「重み」とするものであってもよい。「重み」は、例えば以下のように算出される。
ＭＳＡskeleton＝max act（ＳＡskeleton(act)）
ＭＳＡRGB＝max act（ＳＡRGB(act)）
ＭＳＡflow＝max act（ＳＡflow(act)）
ｗskeleton＝ｅ-ＭＳＡskeleton／(ｅ-ＭＳＡskeleton＋ｅ-ＭＳＡRGB＋ｅ-ＭＳＡflow)
ｗRGB＝ｅ-ＭＳＡRGB／(ｅ-ＭＳＡskeleton＋ｅ-ＭＳＡRGB＋ｅ-ＭＳＡflow)
ｗflow＝ｅ-ＭＳＡflow／(ｅ-ＭＳＡskeleton＋ｅ-ＭＳＡRGB＋ｅ-ＭＳＡflow)
max：最大値（統計値）
【００５７】
具体的に、関節認識エンジン１３１と動体認識エンジン１３２（ＲＧＢ画像認識及びオプティカルフロー画像認識）とによって算出されたスコアを補完的に且つ公平的に組み合わせる。即ち、各認識エンジンのスコア間のスケールを正規化するために、各識別器のスコア（例えば平均値）の逆数を設定する。
結果として、全体的にスコアを高く算出する傾向のある認識エンジンと、全体的にスコアを低く出力する傾向のある認識エンジンとを組み合わせて、その傾向に応じた比率でスコアを統合することができる。
【００５８】
例えば、入力された映像データについて、オプティカルフロー認識エンジン１３２２の認識精度は、ＲＧＢ認識エンジン１３２１の認識精度よりも高い。一方で、オプティカルフロー認識エンジン１３２２における行動の統計値のスコアは、ＲＧＢ認識エンジン１３２１における行動の統計値のスコアよりも低い。その場合、オプティカルフロー認識エンジン１３２２のスコアに対する重みを高くし、ＲＧＢ認識エンジン１３２１のスコアに対する重みを低くする。特に、低いスコアに対する「重み」を、非線形に高くすることが、有効である。
【００５９】
図６は、本発明における認識装置の第２の機能構成図である。
【００６０】
図６によれば、図２と比較して、スケルトン情報（正規化されたスケルトン情報）を、関節認識エンジン１２のみへ入力し、関節認識エンジン１２の行動毎のスコアに応じて、関節行動判定部１６が実行されている。
【００６１】
［関節行動判定部１６］
関節行動判定部１６は、関節認識エンジン１２によって算出された行動のスコアが、所定条件を満たすか否かを判定する。
これに対して、領域切出し部１３１は、関節行動判定部１６によって真と判定された際に、映像データから、スケルトン情報の囲み領域を抽出する。
【００６２】
関節行動判定部１６は、所定条件として、以下の２つの実施形態のいずれかを実行する。
（判定１）関節行動判定部１６は、所定条件として、複数の行動における最大値又は平均値のスコアが、所定閾値以下か否かを判定する。これは、関節認識エンジン１２のスコアが低い場合のみ、後段の動体認識エンジン１３２を機能させることを意味する。
【００６３】
（判定２）関節行動判定部１６は、所定条件として、最大値のスコアとなる行動が、所定目的行動であるか否かを判定する。これは、関節認識エンジン１２の行動が所定目的行動である場合にのみ、後段の動体認識エンジン１３２を機能させることを意味する。
所定目的行動は、例えば「読んでいる」「書いている」「タイピングをしている」のように、関節認識エンジン１２によって認識可能なものである。
【００６４】
関節行動判定部１６は、判定１又は判定２によって真と判定した場合、映像データを、領域切出し部１３１へ出力する。一方で、偽と判定した場合、関節認識エンジン１２の行動毎のスコアをスコア統合部１４へ出力する。
領域切出し部１３１は、関節行動判定部１６によって真と判定された場合にのみ、映像データから、スケルトン情報の囲み領域を抽出する。
【００６５】
図７は、複数の動体認識エンジンによって構成した、図６に基づく第２の機能構成図である。
【００６６】
図５と同様に、動体認識エンジン１３２は、ＲＧＢ画像に基づく物体認識エンジン１３２１と、オプティカルフローに基づく動体認識エンジン１３２２とによって構成されている。この場合、領域切出し部１３１は、両方の認識エンジン１３２へ、映像データの囲み領域を入力する。
【００６７】
図８は、囲み領域を表す第３のイメージ図である。
【００６８】
図８によれば、関節認識エンジン１２は、所定条件を満たす重要関節部位を出力するものである。関節認識エンジン１２を最初に機能させることよって、どのような行動であるか、を大まかに認識することができる
重要関節部位としては、「手」「頭部」「上半身」「下半身」「全身」に分類する（図８（ａ）参照）。ここで、分類された関節部位の中で、単位時間における変位量及び／又は変位回数が大きいほど、重要関節部位であると判定される。
【００６９】
これに対し、領域切出し部１３１は、関節認識エンジン１２から出力された重要関節部位を含む囲み領域を抽出する。
重要関節部位「手」である場合、図８（ｂ）のように、スケルトン情報における関節「手」「肘」を含む最小の矩形となるバウンディングボックス（短破線）を抽出する。そして、そのバウンディングボックスから、所定比率で拡大した拡大ボックス（長破線）を「囲み領域」として導出する。
また、重要関節部位「手」について、手を円心にして、一定の半径の円を作り、その縁に基づくバウンディングボックスを算出するものであってもよい。
【００７０】
以上、詳細に説明したように、本発明のプログラム、装置及び方法によれば、映像データに対して、人物以外の領域の影響を受けることなく、複数の認識エンジンに基づく総合的な観点から、行動（コンテキスト）の認識精度を高めることができる。
【００７１】
特に、本発明によれば、推定すべき映像データの人物領域についてのみ行動を認識するので、コンテキストの認識精度が高まる。
また、異なる種別の複数の認識エンジンを用いることによって、様々な撮影環境の中でも、特定の認識エンジンの推定結果に依存することなく、認識精度を高めることができる。
更に、異なる種別の認識エンジンにおけるスコアと認識精度との違いは、認識エンジン毎に、スコアの統計値に応じた「重み」を付与することによって、解消することができる。
【００７２】
前述した本発明の種々の実施形態について、本発明の技術思想及び見地の範囲の種々の変更、修正及び省略は、当業者によれば容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。
【符号の説明】
【００７３】
１  認識装置
１１  スケルトン情報抽出部
１１１  スケルトン情報正規化部
１２  関節認識エンジン
１３１  領域切出し部
１３２  動体認識エンジン
１３２１  ＲＧＢ認識エンジン
１３２２  オプティカルフロー認識エンジン
１４  スコア統合部
１５  重み算出部
１６  関節行動判定部
２  端末
【図１】
2019144830.tif 000003
【図２】
2019144830.tif 000004
【図３】
2019144830.tif 000005
【図４】
2019144830.tif 000006
【図５】
2019144830.tif 000007
【図６】
2019144830.tif 000008
【図７】
2019144830.tif 000009
【図８】
2019144830.tif 000010