(57)【要約】【課題】撮影映像の内容に基づいて、人の行動を表すコンテキストを、できる限り高速且つ高精度に推定するプログラム等を提供する。【解決手段】撮影映像から、第１のコンテキストを認識し、第１のコンテキストと第１のスコアとを対応付けて出力する第１のコンテキスト認識エンジンと、第１のコンテキスト認識エンジンによって認識された複数のコンテキストにおける第１のスコアの差が所定閾値以下であるか否かを判定する第１の認識判定手段と、第１の認識判定手段によって真と判定された際に、撮影映像から、第２のコンテキストを認識し、第２のコンテキストと第２のスコアとを対応付けて出力する第２のコンテキスト認識エンジンと、第１の認識判定手段によって真と判定された際に、第２のコンテキスト認識エンジンによって認識された第２のコンテキストを出力する推定コンテキスト出力手段とを有する。【選択図】図２
2019096252.tif 000002
【特許請求の範囲】
【請求項１】
撮影映像からコンテキストを推定するようにコンピュータを機能させるコンテキスト推定プログラムであって、
前記撮影映像から、第１のコンテキストを認識し、第１のコンテキストと第１のスコアとを対応付けて出力する第１のコンテキスト認識エンジンと、
第１のコンテキスト認識エンジンによって認識された複数のコンテキストにおける第１のスコアの差が所定閾値以下であるか否かを判定する第１の認識判定手段と、
第１の認識判定手段によって真と判定された際に、前記撮影映像から、第２のコンテキストを認識し、第２のコンテキストと第２のスコアとを対応付けて出力する第２のコンテキスト認識エンジンと、
第１の認識判定手段によって真と判定された際に、少なくとも第２のコンテキストを出力する推定コンテキスト出力手段と
してコンピュータを機能させることを特徴とするコンテキスト推定プログラム。
【請求項２】
第１の認識判定手段は、第１のコンテキスト認識エンジンによって認識された上位２つのコンテキストにおけるスコアの差が所定閾値以下であるか否かを判定する
ようにコンピュータを機能させることを特徴とする請求項１に記載のコンテキスト推定プログラム。
【請求項３】
第１のコンテキスト認識エンジンは、前記撮影映像から、ＲＧＢ画像に基づく物体認識によって、対象物としての第１のコンテキストを推定し、
第２のコンテキスト認識エンジンは、前記撮影映像から、オプティカルフローに基づく動体認識によって、動体対象としての第２のコンテキストを推定する
ようにコンピュータを機能させることを特徴とする請求項１又は２に記載のコンテキスト推定プログラム。
【請求項４】
第１のコンテキスト認識エンジンは、前記撮影映像から、オプティカルフローに基づく動体認識によって、動体対象としての第１のコンテキストを推定し、
第２のコンテキスト認識エンジンは、前記撮影映像から、スケルトン情報に基づく人物の関節領域認識によって、人物の関節領域としての第２のコンテキストを推定する
ようにコンピュータを機能させることを特徴とする請求項１又は２に記載のコンテキスト推定プログラム。
【請求項５】
第１のコンテキスト認識エンジンは、前記撮影映像から、ＲＧＢ画像に基づく物体認識によって、対象物としての第１のコンテキストを推定し、
第２のコンテキスト認識エンジンは、前記撮影映像から、スケルトン情報に基づく人物の関節領域認識によって、人物の関節領域としての第２のコンテキストを推定する
ようにコンピュータを機能させることを特徴とする請求項１又は２に記載のコンテキスト推定プログラム。
【請求項６】
前記推定コンテキスト出力手段は、第２のコンテキストの出力に代えて、複数の第１のコンテキストそれぞれの第１のスコアと、複数の第２のコンテキストそれぞれの第２のスコアとの加算値又は平均値に基づいて、最も高いスコアとなるコンテキストを出力する
ようにコンピュータを機能させることを特徴とする請求項１から５のいずれか１項に記載のコンテキスト推定プログラム。
【請求項７】
前記撮影映像は、所定単位時間に区分されており、
所定単位時間毎に、当該所定単位時間の初期段階で第１のコンテキスト認識エンジン及び第１の認識判定手段を実行し、第１の認識判定手段の判定に基づいて、その後に第２のコンテキスト認識エンジンを実行するか否かを決定する
ようにコンピュータを機能させることを特徴とする請求項１から６のいずれか１項に記載のコンテキスト推定プログラム。
【請求項８】
第２のコンテキスト認識エンジンは、処理時間又は処理時間割合（単位時間当たりの当該処理時間の割合）を計測し、
第１の認識判定手段は、前記処理時間が所定閾値以上、又は、前記処理時間割合が所定閾値以上となる場合に、第１のコンテキストを前記推定コンテキスト出力手段へ出力すると共に、第２のコンテキスト認識エンジンを実行する
ようにコンピュータを更に機能させることを特徴とする請求項１から７のいずれか１項に記載のコンテキスト推定プログラム。
【請求項９】
第１の認識判定手段によって偽と判定された際に、第２のコンテキスト認識エンジンを実行すると共に、
第１の認識判定手段によって真と判定された際に、前記撮影映像から、第３のコンテキストを認識し、第３のコンテキストと第３のスコアとを対応付けて出力する第３のコンテキスト認識エンジンと、
第１の認識判定手段によって真と判定された際に、第２のコンテキストの出力に代えて、少なくとも第３のコンテキストを出力する推定コンテキスト出力手段と
してコンピュータを機能させることを特徴とする請求項１から８のいずれか１項に記載のコンテキスト推定プログラム。
【請求項１０】
第２のコンテキスト認識エンジンによって認識された複数のコンテキストにおけるスコアの差が所定閾値以下であるか否かを判定する第２の認識判定手段と、
第２の認識判定手段によって真と判定された際に、前記撮影映像から、第３のコンテキストを認識する第３のコンテキスト認識エンジンと
を更に有し、
前記推定コンテキスト出力手段は、第２の認識判定手段によって真と判定された際に、第２のコンテキストの出力に代えて、少なくとも第３のコンテキストを出力する
ようにコンピュータを機能させることを特徴とする請求項１から８のいずれか１項に記載のコンテキスト推定プログラム。
【請求項１１】
第１のコンテキスト認識エンジンは、前記撮影映像から、ＲＧＢ画像に基づく物体認識によって、対象物としての第１のコンテキストを推定し、
第２のコンテキスト認識エンジンは、前記撮影映像から、オプティカルフローに基づく動体認識によって、動体対象としての第２のコンテキストを推定し、
第３のコンテキスト認識エンジンは、前記撮影映像から、スケルトン情報に基づく人物の関節領域認識によって、人物の関節領域としての第３のコンテキストを推定する
ようにコンピュータを機能させることを特徴とする請求項９又は１０に記載のコンテキスト推定プログラム。
【請求項１２】
前記推定コンテキスト出力手段は、第３のコンテキストの出力に代えて、複数の第１のコンテキストそれぞれの第１のスコアと、複数の第２のコンテキストそれぞれの第２のスコアと、複数の第３のコンテキストそれぞれの第３のスコアとの加算値又は平均値に基づいて、最も高いスコアとなるコンテキストを出力する
ようにコンピュータを機能させることを特徴とする請求項９から１１のいずれか１項に記載のコンテキスト推定プログラム。
【請求項１３】
第２のコンテキスト認識エンジン及び／又は第３のコンテキスト認識エンジンは、処理時間又は処理時間割合（単位時間当たりの当該処理時間の割合）を計測し、
第１の認識判定手段は、前記処理時間が所定閾値以上、又は、前記処理時間割合が所定閾値以上となる場合に、第１のコンテキストを前記推定コンテキスト出力手段へ出力すると共に、第２のコンテキスト認識エンジン及び／又は第３のコンテキスト認識エンジンを実行する
ようにコンピュータを更に機能させることを特徴とする請求項９から１２のいずれか１項に記載のコンテキスト推定プログラム。
【請求項１４】
撮影映像からコンテキストを推定するコンテキスト推定装置であって、
前記撮影映像から、第１のコンテキストを認識し、第１のコンテキストと第１のスコアとを対応付けて出力する第１のコンテキスト認識エンジンと、
第１のコンテキスト認識エンジンによって認識された複数のコンテキストにおける第１のスコアの差が所定閾値以下であるか否かを判定する第１の認識判定手段と、
第１の認識判定手段によって真と判定された際に、前記撮影映像から、第２のコンテキストを認識し、第２のコンテキストと第２のスコアとを対応付けて出力する第２のコンテキスト認識エンジンと、
第１の認識判定手段によって真と判定された際に、少なくとも第２のコンテキストを出力する推定コンテキスト出力手段と
を有することを特徴とするコンテキスト推定装置。
【請求項１５】
撮影映像からコンテキストを推定する装置のコンテキスト推定方法であって、
前記装置は、
前記撮影映像から、第１のコンテキストを認識し、第１のコンテキストと第１のスコアとを対応付けて出力する第１のステップと、
第１のステップによって認識された複数のコンテキストにおける第１のスコアの差が所定閾値以下であるか否かを判定する第２のステップと、
第２のステップによって真と判定された際に、前記撮影映像から、第２のコンテキストを認識し、第２のコンテキストと第２のスコアとを対応付けて出力する第３のステップと、
第２のステップによって真と判定された際に、少なくとも第２のコンテキストを出力する第４のステップと
を実行することを特徴とする装置のコンテキスト推定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、深層学習の学習モデルを用いて、撮影映像から、人の行動を表すコンテキストを推定する技術に関する。
【背景技術】
【０００２】
図１は、行動推定装置を有するシステム構成図である。
【０００３】
図１のシステムによれば、行動推定装置１は、インターネットに接続されたサーバとして機能する。行動推定装置１は、予め学習映像によって学習モデルを構築した行動推定エンジンを有する。学習映像は、人の行動が映り込む撮影映像と、その行動対象とが予め対応付けられたものである。
【０００４】
端末２はそれぞれ、カメラを搭載しており、人の行動を撮影した撮影映像を、行動推定装置１へ送信する。端末２は、各ユーザによって所持されるスマートフォンや携帯端末であって、携帯電話網又は無線ＬＡＮのようなアクセスネットワークに接続する。
勿論、端末２は、スマートフォン等に限られず、例えば宅内に設置されたＷｅｂカメラであってもよい。また、Ｗｅｂカメラによって撮影された映像データがＳＤカードに記録され、その記録された映像データが行動推定装置１へ入力されるものであってもよい。
【０００５】
実運用としては、例えばモニターテストに参加したユーザに、自らのスマートフォンのカメラで、自らの行動を撮影してもらう。そのスマートフォンは、その映像を、行動推定装置１へ送信する。行動推定装置１は、その映像から人の行動を推定し、その推定結果を様々なアプリケーションで利用する。
【０００６】
行動推定装置１における行動推定エンジンとしては、様々な方式のものを実装することができる。
【０００７】
従来、撮影映像から動体の移動を認識するために、ＲＧＢ画像に加えて、移動の特徴量（オプティカルフロー）を用いた技術がある（例えば非特許文献１参照）。例えばTwo-stream ConvNetsによれば、空間方向のＣＮＮ(Spatial stream ConvNet)と時系列方向のＣＮＮ(Temporal stream ConvNet)とを用いて、画像中の物体や背景のアピアランスの特徴と、オプティカルフローの水平方向成分と垂直成分の系列における動きの特徴との両方を抽出する。
また、人の行動をするために、人の関節とその連携部分のスケルトン情報を抽出する技術もある（例えば非特許文献２参照）。
【０００８】
一方で、認識処理を高速化するために、対象画像から候補領域を切り出して対象物を判定する技術もある（例えば特許文献１参照）。この技術によれば、複数の画像サイズの対象画像の中から、学習モデルの生成の際に統一されたサイズに最も近くなる画像サイズの対象画像を選択する。
また、人が特定の行動タイプをとる可能性を予測する予測器モデルを生成する技術もある（例えば特許文献２参照）。この技術によれば、行動タイプの成功したインスタンスと失敗したインスタンスとを含むデータを収集する。これらデータから、異なるタイプの複数の予測器が生成され、その性能に基づいて予測器が選択される。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０１７−１４６８４０号公報
【特許文献２】特表２０１６−５１０４４１号公報
【非特許文献】
【００１０】
【非特許文献１】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＞
【非特許文献２】Zhe Cao, Tomas Simon, Shih-En Wei, Yaser Sheikh: Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields.、[online]、［平成２９年１１月１３日検索］、インターネット＜https://arxiv.org/pdf/1611.08050.pdf＞
【非特許文献３】「スコアの統合」、[online]、［平成２９年１１月１３日検索］、インターネット＜https://image.slidesharecdn.com/170121stairlabslideshare-170119103908/95/-54-638.jpg?cb=1484822888＞
【非特許文献４】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＞
【発明の概要】
【発明が解決しようとする課題】
【００１１】
前述した従来技術によれば、人の行動が映り込む撮影映像の内容に応じて、高速に且つ高精度に認識する学習モデルを予め決定しておく必要がある。具体的には、「飲む」「食べる」「走る」のようなコンテキスト（人の行動）は、物体認識、動体認識、人物の関節領域認識のいずれであっても認識することができる。
【００１２】
しかしながら、物体認識の場合、計算リソース（処理計算量）は比較的少なくても、物体の存在のみからコンテキストを認識するために、認識精度は低くならざるを得ない。一方で、動体認識や関節領域認識の場合、コンテキストの認識精度は高いが、計算リソースが大きくならざるを得ない。コンテキスト認識結果は、撮影映像に対してリアルタイムに出力する必要があるために、計算リソースの大きさが問題となる。
【００１３】
そこで、本発明は、撮影映像の内容に基づいて、人の行動を表すコンテキストを、できる限り高速且つ高精度に推定するプログラム、装置及び方法を提供することを目的とする。
【課題を解決するための手段】
【００１４】
本発明によれば、撮影映像からコンテキストを推定するようにコンピュータを機能させるコンテキスト推定プログラムであって、
撮影映像からコンテキストを推定するようにコンピュータを機能させるコンテキスト推定プログラムであって、
撮影映像から、第１のコンテキストを認識し、第１のコンテキストと第１のスコアとを対応付けて出力する第１のコンテキスト認識エンジンと、
第１のコンテキスト認識エンジンによって認識された複数のコンテキストにおける第１のスコアの差が所定閾値以下であるか否かを判定する第１の認識判定手段と、
第１の認識判定手段によって真と判定された際に、撮影映像から、第２のコンテキストを認識し、第２のコンテキストと第２のスコアとを対応付けて出力する第２のコンテキスト認識エンジンと、
第１の認識判定手段によって真と判定された際に、少なくとも第２のコンテキストを出力する推定コンテキスト出力手段と
してコンピュータを機能させることを特徴とする。
【００１５】
本発明のコンテキスト推定プログラムにおける他の実施形態によれば、
第１の認識判定手段は、第１のコンテキスト認識エンジンによって認識された上位２つのコンテキストにおけるスコアの差が所定閾値以下であるか否かを判定する
ようにコンピュータを機能させることも好ましい。
【００１６】
本発明のコンテキスト推定プログラムにおける他の実施形態によれば、
第１のコンテキスト認識エンジンは、撮影映像から、ＲＧＢ画像に基づく物体認識によって、対象物としての第１のコンテキストを推定し、
第２のコンテキスト認識エンジンは、撮影映像から、オプティカルフローに基づく動体認識によって、動体対象としての第２のコンテキストを推定する
ようにコンピュータを機能させることも好ましい。
【００１７】
本発明のコンテキスト推定プログラムにおける他の実施形態によれば、
第１のコンテキスト認識エンジンは、撮影映像から、オプティカルフローに基づく動体認識によって、動体対象としての第１のコンテキストを推定し、
第２のコンテキスト認識エンジンは、撮影映像から、スケルトン情報に基づく人物の関節領域認識によって、人物の関節領域としての第２のコンテキストを推定する
ようにコンピュータを機能させることも好ましい。
【００１８】
本発明のコンテキスト推定プログラムにおける他の実施形態によれば、
第１のコンテキスト認識エンジンは、撮影映像から、ＲＧＢ画像に基づく物体認識によって、対象物としての第１のコンテキストを推定し、
第２のコンテキスト認識エンジンは、撮影映像から、スケルトン情報に基づく人物の関節領域認識によって、人物の関節領域としての第２のコンテキストを推定する
ようにコンピュータを機能させることも好ましい。
【００１９】
本発明のコンテキスト推定プログラムにおける他の実施形態によれば、
推定コンテキスト出力手段は、第２のコンテキストの出力に代えて、複数の第１のコンテキストそれぞれの第１のスコアと、複数の第２のコンテキストそれぞれの第２のスコアとの加算値又は平均値に基づいて、最も高いスコアとなるコンテキストを出力する
ようにコンピュータを機能させることも好ましい。
【００２０】
本発明のコンテキスト推定プログラムにおける他の実施形態によれば、
撮影映像は、所定単位時間に区分されており、
所定単位時間毎に、当該所定単位時間の初期段階で第１のコンテキスト認識エンジン及び第１の認識判定手段を実行し、第１の認識判定手段の判定に基づいて、その後に第２のコンテキスト認識エンジンを実行するか否かを決定する
ようにコンピュータを機能させることも好ましい。
【００２１】
本発明のコンテキスト推定プログラムにおける他の実施形態によれば、
第２のコンテキスト認識エンジンは、処理時間又は処理時間割合（単位時間当たりの当該処理時間の割合）を計測し、
第１の認識判定手段は、処理時間が所定閾値以上、又は、処理時間割合が所定閾値以上となる場合に、第１のコンテキストを推定コンテキスト出力手段へ出力すると共に、第２のコンテキスト認識エンジンを実行する
してコンピュータを更に機能させることも好ましい。
【００２２】
本発明のコンテキスト推定プログラムにおける他の実施形態によれば、
第１の認識判定手段によって偽と判定された際に、第２のコンテキスト認識エンジンを実行すると共に、
第１の認識判定手段によって真と判定された際に、撮影映像から、第３のコンテキストを認識し、第３のコンテキストと第３のスコアとを対応付けて出力する第３のコンテキスト認識エンジンと、
第１の認識判定手段によって真と判定された際に、第２のコンテキストの出力に代えて、少なくとも第３のコンテキストを出力する推定コンテキスト出力手段と
してコンピュータを機能させることも好ましい。
【００２３】
本発明のコンテキスト推定プログラムにおける他の実施形態によれば、
第２のコンテキスト認識エンジンによって認識された複数のコンテキストにおけるスコアの差が所定閾値以下であるか否かを判定する第２の認識判定手段と、
第２の認識判定手段によって真と判定された際に、撮影映像から、第３のコンテキストを認識する第３のコンテキスト認識エンジンと
を更に有し、
推定コンテキスト出力手段は、第２の認識判定手段によって真と判定された際に、第２のコンテキストの出力に代えて、少なくとも第３のコンテキストを出力する
ようにコンピュータを機能させることも好ましい。
【００２４】
本発明のコンテキスト推定プログラムにおける他の実施形態によれば、
第１のコンテキスト認識エンジンは、撮影映像から、ＲＧＢ画像に基づく物体認識によって、対象物としての第１のコンテキストを推定し、
第２のコンテキスト認識エンジンは、撮影映像から、オプティカルフローに基づく動体認識によって、動体対象としての第２のコンテキストを推定し、
第３のコンテキスト認識エンジンは、撮影映像から、スケルトン情報に基づく人物の関節領域認識によって、人物の関節領域としての第３のコンテキストを推定する
ようにコンピュータを機能させることも好ましい。
【００２５】
本発明のコンテキスト推定プログラムにおける他の実施形態によれば、
推定コンテキスト出力手段は、第３のコンテキストの出力に代えて、複数の第１のコンテキストそれぞれの第１のスコアと、複数の第２のコンテキストそれぞれの第２のスコアと、複数の第３のコンテキストそれぞれの第３のスコアとの加算値又は平均値に基づいて、最も高いスコアとなるコンテキストを出力する
ようにコンピュータを機能させることも好ましい。
【００２６】
本発明のコンテキスト推定プログラムにおける他の実施形態によれば、
第２のコンテキスト認識エンジン及び／又は第３のコンテキスト認識エンジンは、処理時間又は処理時間割合（単位時間当たりの当該処理時間の割合）を計測し、
第１の認識判定手段は、処理時間が所定閾値以上、又は、処理時間割合が所定閾値以上となる場合に、第１のコンテキストを推定コンテキスト出力手段へ出力すると共に、第２のコンテキスト認識エンジン及び／又は第３のコンテキスト認識エンジンを実行する
ようにコンピュータを更に機能させることも好ましい。
【００２７】
本発明によれば、撮影映像からコンテキストを推定するコンテキスト推定装置であって、
撮影映像から、第１のコンテキストを認識し、第１のコンテキストと第１のスコアとを対応付けて出力する第１のコンテキスト認識エンジンと、
第１のコンテキスト認識エンジンによって認識された複数のコンテキストにおける第１のスコアの差が所定閾値以下であるか否かを判定する第１の認識判定手段と、
第１の認識判定手段によって真と判定された際に、撮影映像から、第２のコンテキストを認識し、第２のコンテキストと第２のスコアとを対応付けて出力する第２のコンテキスト認識エンジンと、
第１の認識判定手段によって真と判定された際に、少なくとも第２のコンテキストを出力する推定コンテキスト出力手段と
を有することを特徴とする。
【００２８】
本発明によれば、撮影映像からコンテキストを推定する装置のコンテキスト推定方法であって、
装置は、
撮影映像から、第１のコンテキストを認識し、第１のコンテキストと第１のスコアとを対応付けて出力する第１のステップと、
第１のステップによって認識された複数のコンテキストにおける第１のスコアの差が所定閾値以下であるか否かを判定する第２のステップと、
第２のステップによって真と判定された際に、撮影映像から、第２のコンテキストを認識し、第２のコンテキストと第２のスコアとを対応付けて出力する第３のステップと、
第２のステップによって真と判定された際に、少なくとも第２のコンテキストを出力する第４のステップと
を実行することを特徴とする。
【発明の効果】
【００２９】
本発明のプログラム、装置及び方法によれば、撮影映像の内容に基づいて、人の行動を表すコンテキストを、できる限り高速且つ高精度に推定することができる。具体的には、学習モデルとしてのコンテキスト認識エンジンを、撮影映像の内容に基づいて自動的に選択することができる。
【図面の簡単な説明】
【００３０】
【図１】行動推定装置を有するシステム構成図である。
【図２】２つのコンテキスト認識エンジンを有する行動推定装置の機能構成図である。
【図３】図２におけるコンテキストの推定を表すフロー図である。
【図４】撮影映像に対する推定タイミングを表す説明図である。
【図５】２つのコンテキスト認識エンジンの組み合わせを表すフローチャートである。
【図６】３つのコンテキスト認識エンジンを有する行動推定装置の機能構成図である。
【図７】３つのコンテキスト認識エンジンの組み合わせを表すフローチャートである。
【発明を実施するための形態】
【００３１】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。
【００３２】
図２は、２つのコンテキスト認識エンジンを有する行動推定装置の機能構成図である。
図３は、図２におけるコンテキストの推定を表すフロー図である。
【００３３】
行動推定装置１は、人の行動が映り込む撮影映像を入力し、コンテキストを推定する。図２によれば、行動推定装置１は、主な構成として、第１のコンテキスト認識エンジン１１と、第１の認識判定部１２と、第２のコンテキスト認識エンジン１３と、推定コンテキスト出力部１４とを有する。これら機能構成部は、装置に搭載されたコンピュータを機能させるプログラムを実行することによって実現される。また、これら機能構成部の処理の流れは、装置の行動推定方法としても理解できる。
【００３４】
行動推定装置１は、異なる種類の複数のコンテキスト認識エンジンを有し、撮影映像を区分した所定期間毎に、高速で且つ高精度のコンテキスト認識エンジンを自動的に選択するように機能する。
【００３５】
［第１のコンテキスト認識エンジン１１］
第１のコンテキスト認識エンジン１１は、撮影映像から、第１のコンテキストを認識し、第１のコンテキストと第１のスコア（コンテキスト認識精度）とを対応付けて出力する。第１のコンテキスト認識エンジン１１は、例えば「飲む」「食べる」「走る」のような人の行動を表すコンテキストを予め学習しているとする。
具体的には、撮影映像から以下のように第１のコンテキストを認識したとする。
［第１のコンテキスト］：［第１のスコア］
飲む          ：    ０．３
食べる        ：    ０．２
走る          ：    ０．１
認識結果となる第１のコンテキスト及び第１のスコアは、第１の認識判定部１２へ出力される。
【００３６】
［第１の認識判定部１２］
第１の認識判定部１２は、最初にオプション的に、第１のコンテキスト認識エンジン１１で認識された最上位の第１のコンテキストについて、そのスコアが所定閾値（例えば９０％）以上のように極めて高い場合、第２のコンテキスト認識エンジン１３を実行することなく、その第１のコンテキストのみを推定コンテキスト出力部１４へ出力するものであってもよい。
【００３７】
本発明によれば、第１の認識判定部１２は、第１のコンテキスト認識エンジン１１によって認識された複数のコンテキストにおける第１のスコアの差が所定閾値以下であるか否かを判定する。
具体的には、第１の認識判定部１２は、第１のコンテキスト認識エンジン１１によって認識された上位２つのコンテキストにおけるスコアの差が所定閾値以下であるか否かを判定する。
スコアの差が大きいほど、１位のスコアのコンテキストにほぼ断定することができる。その場合、第１のコンテキスト認識エンジン１１のみで推定した第１のコンテキストを出力することが好ましい。
一方で、スコアの差が小さいほど、上位２つのコンテキストが紛らわしいと判断される。その場合、別の種類のコンテキスト認識エンジンを更に実行し、そのコンテキストも用いて判断することが好ましい。
尚、所定閾値は、オペレータによって設定可能なものである。認識したいコンテキストが動きに基づくものである場合、所定閾値（スコアの差）を大きく設定することが好ましい。
【００３８】
前述した第１のコンテキストの例によれば、上位２つの認識結果とのスコアの差は、０．１である。ここで、所定閾値＝０．２とした場合、上位２つのコンテキストにおけるスコアの差が所定閾値以下となり、「真」と判定される。
［第１のコンテキスト］：［第１のスコア］
（上位１位）飲む          ：    ０．３
（上位２位）食べる        ：    ０．２（※スコア差０．１＝０．３−０．２）
第１の認識判定部１２は、真と判定した場合、撮影映像を、第２のコンテキスト認識エンジン１３へ出力する。一方で、偽と判定した場合、第１のコンテキストを、推定コンテキスト出力部１４へ出力する。
【００３９】
［第２のコンテキスト認識エンジン１３］
第２のコンテキスト認識エンジン１３は、第１の認識判定部１２によって真と判定された際に、撮影映像から、第２のコンテキストを認識し、第２のコンテキストと第２のスコアとを対応付けて出力する。第２のコンテキスト認識エンジン１３も、例えば「飲む」「食べる」「走る」のような人の行動を表すコンテキストを予め学習しているとする。
具体的には、撮影映像から以下のように第２のコンテキストを認識したとする。
［第２のコンテキスト］：［第２のスコア］
飲む          ：    ０．５
食べる        ：    ０．２
走る          ：    ０．０
認識結果となる第２のコンテキスト及び第２のスコアは、推定コンテキスト出力部１４へ出力される。
【００４０】
［推定コンテキスト出力部１４］
推定コンテキスト出力部１４は、第１の認識判定部１２によって真と判定された場合、第２のコンテキストを出力する。一方で、第１の認識判定部１２によって偽と判定された場合、第１のコンテキストを出力する。
【００４１】
また、他の実施形態として、推定コンテキスト出力部１４は、複数の第１のコンテキストそれぞれの第１のスコアと、複数の第２のコンテキストそれぞれの第２のスコアとの加算値又は平均値に基づいて、最も高いスコア（スコアの統合値）となるコンテキストを出力することも好ましい。
具体的には、以下のように推定コンテキストを出力する。
［コンテキスト］：［スコア（平均）］
飲む          ：（０．３＋０．５）／２＝０．４０
食べる        ：（０．２＋０．２）／２＝０．２０
走る          ：（０．１＋０．０）／２＝０．０５
この場合、最終的に、コンテキスト「飲む」が、アプリケーションへ出力される。
尚、スコアの統合については、単純平均のみならず、加重平均であってよいし、サポートベクタマシンを用いたものであってもよい（例えば非特許文献３参照）。
【００４２】
尚、推定コンテキスト出力部１４は、第１のコンテキストのスコア、第２のコンテキストのスコア、又は、第１及び第２のコンテキストのスコアの統合値（加算値又は平均値）が、所定閾値以下である場合、コンテキストの認識不可を出力する。
【００４３】
図４は、撮影映像に対する推定タイミングを表す説明図である。
【００４４】
撮影映像は、所定単位時間に区分されている。ここで、所定単位時間の中で、１行動当たりの認識に要する初期段階で、その後に使用すべきコンテキスト認識エンジンを自動的に選択する。即ち、所定単位時間毎に、第２のコンテキスト認識エンジン１３を実行するか否かが決定されていく。
【００４５】
当該所定単位時間の初期段階で、第１のコンテキスト認識エンジン１１及び第１の認識判定部１２を実行し、第１の認識判定部１２の判定に基づいて、その後に第２のコンテキスト認識エンジン１３を実行するか否かを決定する。第１の認識判定部１２によって「真」と判定された場合、その後の所定時間内では、第１のコンテキスト認識エンジン１１及び第２のコンテキスト認識エンジン１３の両方が実行される。両方が実行される場合、推定コンテキスト出力部１４は、両方のスコアを統合（加算値又は平均値）してコンテキストを決定する。
一方で、当該所定単位時間の初期段階で、第１の認識判定部１２によって「偽」と判定された場合、その後の所定時間内では、第１のコンテキスト認識エンジン１１のみが実行される。
【００４６】
図２によれば、オプション的な構成として、第２のコンテキスト認識エンジン１３は、処理時間又は処理時間割合を計測する。
【００４７】
このとき、第１の認識判定部１２は、処理時間が所定閾値以上、又は、処理時間割合（単位時間当たりの第２のコンテキスト認識エンジンの処理時間の割合）が所定閾値以上となる場合に、第１のコンテキストを推定コンテキスト出力部１４へ出力すると共に、第２のコンテキスト認識エンジンを実行する。第２のコンテキスト認識エンジン１３における処理時間又は処理時間割合が長いということは、第１のコンテキストのみでは足りず、第２のコンテキストも必要としていることを意味する。この場合、第１の認識判定部１２は、第１のコンテキスト及び第２のコンテキストの両方を、推定コンテキスト出力部１４へ出力するように制御する。
【００４８】
図２によれば、例えば以下のような３つの種別のコンテキスト認識エンジンを備えており、これらを組み合わせて利用する。
ＲＧＢ認識に基づく物体認識エンジン
オプティカルフローに基づく動体認識エンジン
スケルトン情報に基づく人物の関節領域認識エンジン
これらコンテキスト認識エンジンは、撮影映像から人の行動を推定するために、大量の学習映像から学習モデルを予め生成したものである。
【００４９】
ＲＧＢ認識に基づく物体認識エンジンは、具体的にはＣＮＮ(Convolutional Neural Network)のようなニューラルネットワークを用いて、撮影映像に映り込むオブジェクト（対象物）を推定する。
オプティカルフローに基づく動体認識エンジンは、フレーム間で同一の特徴点が動いている箇所を抽出し、撮影映像の中の物体の動きを「ベクトル」で表すものである。
スケルトン情報に基づく人物の関節領域認識エンジンは、具体的にはOpenPose（登録商標）のようなスケルトンモデルを用いて、人の関節の特徴点を抽出するものである（例えば非特許文献７〜９参照）。OpenPoseとは、画像から複数の人間の体／手／顔のキーポイントをリアルタイムに検出可能なソフトウェアであって、GitHubによって公開されている。撮影映像に映る人の身体全体であれば、例えば１５点のキーポイントを検出できる。
【００５０】
各コンテキスト認識エンジンは、以下のように特性が異なる。
［演算量］［認識精度］
ＲＧＢ認識に基づく物体認識エンジン              ：    小        低
オプティカルフローに基づく動体認識エンジン      ：    中        中
スケルトン情報に基づく人物の関節領域認識エンジン：    大        高
【００５１】
尚、物体認識、動体認識、関節領域認識では、一般に、人の行動を表すコンテキスト自体が異なる。本発明によれば、認識されるコンテキストを共通化している。
例えば物体認識によって「ペットボトル」「人物」を認識した上で、そのペットボトルと人物の口との位置から、コンテキスト「飲む」を認識する。
また、動体認識によってペットボトルが人物の口へ向かう動きから、コンテキスト「飲む」を認識する。
更に、関節領域認識によって人物の腕の角度とペットボトルとの位置から、コンテキスト「飲む」を認識する。
このように、同じコンテキストを認識する場合であっても、認識エンジンの種類によっては判断要素が異なっている。この場合でも、物体認識よりも、動体認識及び関節領域認識の方が、それら認識精度は高い。また、動体認識よりも、関節領域認識の方が、それら認識精度は高い。
【００５２】
図５は、２つのコンテキスト認識エンジンの組み合わせを表すフローチャートである。
［１］ＲＧＢ認識＋オプティカルフロー認識
［２］オプティカルフロー認識＋スケルトン情報認識
［３］ＲＧＢ認識＋スケルトン情報認識
【００５３】
［１］ＲＧＢ認識＋オプティカルフロー認識（図５（ａ））
（Ｓ１１）第１のコンテキスト認識エンジン１１は、撮影映像から、ＲＧＢ画像に基づく物体認識によって、対象物としての第１のコンテキストを推定する。
（Ｓ１２）ここで、上位２つのコンテキストにおけるスコアの差が所定閾値以下であるか否かを判定する。
（Ｓ１３）Ｓ１２の判定が真である場合、第２のコンテキスト認識エンジン１３が、撮影映像から、オプティカルフローに基づく動体認識によって、動体対象としての第２のコンテキストを推定する。
（Ｓ１４）そして、Ｓ１１及びＳ１３の２つのコンテキストを統合した推定コンテキスト（スコアの加算値又は平均値が最も高いコンテキスト）が出力される。
【００５４】
［２］オプティカルフロー認識＋スケルトン情報認識（図５（ｂ））
（Ｓ１１）第１のコンテキスト認識エンジン１１は、撮影映像から、オプティカルフローに基づく動体認識によって、動体対象としての第１のコンテキストを推定する。
（Ｓ１２）ここで、上位２つのコンテキストにおけるスコアの差が所定閾値以下であるか否かを判定する。
（Ｓ１３）Ｓ１２の判定が真である場合、第２のコンテキスト認識エンジン１３が、撮影映像から、スケルトン情報に基づく人物の関節領域認識によって、人物の関節領域としての第２のコンテキストを推定する。
（Ｓ１４）そして、Ｓ１１及びＳ１３の２つのコンテキストを統合）した推定コンテキスト（スコアの加算値又は平均値が最も高いコンテキスト）が出力される。
【００５５】
［３］ＲＧＢ認識＋スケルトン情報認識（図５（ｃ））
（Ｓ１１）第１のコンテキスト認識エンジン１１は、撮影映像から、ＲＧＢ画像に基づく物体認識によって、対象物としての第１のコンテキストを推定する。
（Ｓ１２）ここで、上位２つのコンテキストにおけるスコアの差が所定閾値以下であるか否かを判定する。
（Ｓ１３）Ｓ１２の判定が真である場合、第２のコンテキスト認識エンジン１３が、撮影映像から、スケルトン情報に基づく人物の関節領域認識によって、人物の関節領域としての第２のコンテキストを推定する。
（Ｓ１４）そして、Ｓ１１及びＳ１３の２つのコンテキストを統合した推定コンテキスト（スコアの加算値又は平均値が最も高いコンテキスト）が出力される。
【００５６】
図６は、３つのコンテキスト認識エンジンを有する本発明の行動推定装置の機能構成図である。
【００５７】
図６（ａ）によれば、第１の認識判定部１２が、真（上位２つのスコアの差が所定閾値以下）と判定した場合、撮影映像を、第３のコンテキスト認識エンジン１６へ出力する。一方で、偽と判定した場合、撮影映像を、第２のコンテキスト認識エンジン１３へ出力する。この場合、第１のコンテキスト認識エンジン１１は、第２のコンテキスト認識エンジン１３と第３のコンテキスト認識エンジン１６との切り替えのみのために用いられる。
【００５８】
スコアの差が小さいほど、上位２つのコンテキストが紛らわしいと判断される。その場合、認識処理が比較的低速でも、認識精度が比較的高い第３のコンテキスト認識エンジン１６を使用する。
一方で、スコアの差が大きいほど、１位のスコアのコンテキストにほぼ断定することができる。その場合、認識精度が比較的低くても、認識処理が比較的高速な第２のコンテキスト認識エンジン１３を使用する。
【００５９】
図６（ｂ）によれば、第１の認識判定部１２が、真（上位２つのスコアの差が所定閾値以下）と判定した場合、撮影映像を、第２のコンテキスト認識エンジン１３へ出力する。一方で、偽と判定した場合、第１のコンテキスト認識エンジン１１によって認識された第１のコンテキストを、推定コンテキスト出力部１４へ出力する。これについては、前述した図２と同様である。
そして、第２のコンテキスト認識エンジン１３は、認識した第２のコンテキストを、更に第２の認識判定部１５へ出力する。
【００６０】
第２の認識判定部１５は、第２のコンテキスト認識エンジン１３によって認識された複数のコンテキストにおける第２のスコアの差が所定閾値以下であるか否かを判定する。
具体的には、第２の認識判定部１５は、第２のコンテキスト認識エンジン１３によって認識された上位２つのコンテキストにおけるスコアの差が所定閾値以下であるか否かを判定する。
スコアの差が大きいほど、１位のスコアのコンテキストにほぼ断定することができる。その場合、第２のコンテキスト認識エンジン１３のみで推定した第２のコンテキストを出力することが好ましい。
一方で、スコアの差が小さいほど、上位２つのコンテキストが紛らわしいと判断される。その場合、更に第３のコンテキスト認識エンジン１６へ撮影映像を出力し、その第３のコンテキストも用いて判断することが好ましい。
【００６１】
推定コンテキスト出力部１４は、第２の認識判定部１５によって真と判定された場合、第３のコンテキストを出力し、偽と判定された場合、第２のコンテキストを出力する。尚、図２と同様に、第１の認識判定部１２によって偽と判定された場合、第１のコンテキストを出力する。
【００６２】
また、他の実施形態として、推定コンテキスト出力部１４は、複数の第１のコンテキストそれぞれの第１のスコアと、複数の第２のコンテキストそれぞれの第２のスコアと、複数の第３のコンテキストそれぞれの第３のスコアの加算値又は平均値に基づいて、最も高いスコア（スコアの統合値）となるコンテキストを出力することも好ましい。
【００６３】
更に、他の実施形態として、前述した図２と同様に、第２のコンテキスト認識エンジン１３及び／又は第３のコンテキスト認識エンジン１６は、処理時間又は処理時間割合（単位時間当たりの当該処理時間の割合）を計測するものであってもよい。
その場合、第２の認識判定部１５は、処理時間が所定閾値以上、又は、処理時間割合が所定閾値以上となる場合に、第１のコンテキストを推定コンテキスト出力部１４へ出力すると共に、第２のコンテキスト認識エンジン１３及び／又は第３のコンテキスト認識エンジン１６を実行する。前述と同様に、第２のコンテキスト認識エンジン１３及び／又は第３のコンテキスト認識エンジン１６における処理時間又は処理時間割合が長いということは、第１のコンテキストのみでは足りず、第２のコンテキスト及び／又は第３のコンテキストも必要としていることを意味する。この場合、第２の認識判定部１５は、第２のコンテキスト及び／又は第３のコンテキストの両方を、推定コンテキスト出力部１４へ出力するように制御する。
【００６４】
図７は、３つのコンテキスト認識エンジンの組み合わせを表すフローチャートである。
［４］ＲＧＢ認識＋オプティカルフロー認識orスケルトン情報認識
［５］ＲＧＢ認識＋オプティカルフロー認識＋スケルトン情報認識
【００６５】
［４］ＲＧＢ認識＋オプティカルフロー認識orスケルトン情報認識（図６（ａ）、図７（ａ））
（Ｓ１１）第１のコンテキスト認識エンジン１１は、撮影映像から、ＲＧＢ画像に基づく物体認識によって、対象物としての第１のコンテキストを推定する。
（Ｓ１２）ここで、上位２つのコンテキストにおけるスコアの差が所定閾値以下であるか否かを判定する。
（Ｓ１３１）Ｓ１２の判定が偽である場合、第２のコンテキスト認識エンジン１３が、撮影映像から、オプティカルフローに基づく動体認識によって、動体対象としての第２のコンテキストを推定する。
（Ｓ１３２））Ｓ１２の判定が真である場合、第３のコンテキスト認識エンジン１６が、スケルトン情報に基づく人物の関節領域認識によって、人物の関節領域としての第３のコンテキストを推定する。
（Ｓ１４）そして、Ｓ１１、Ｓ１３１及びＳ１３２の２つのコンテキストを統合した推定コンテキスト（スコアの加算値又は平均値が最も高いコンテキスト）が出力される。
【００６６】
［５］ＲＧＢ認識＋オプティカルフロー認識＋スケルトン情報認識（図６（ｂ）、図７（ｂ））
（Ｓ１１）第１のコンテキスト認識エンジン１１は、撮影映像から、ＲＧＢ画像に基づく物体認識によって、対象物としての第１のコンテキストを推定する。
（Ｓ１２）ここで、上位２つのコンテキストにおけるスコアの差が所定閾値以下であるか否かを判定する。
（Ｓ１３１）Ｓ１２の判定が真である場合、第２のコンテキスト認識エンジン１３が、撮影映像から、オプティカルフローに基づく動体認識によって、動体対象としての第２のコンテキストを推定する。
（Ｓ１３２）ここで、上位２つのコンテキストにおけるスコアの差が所定閾値以下であるか否かを判定する。
（Ｓ１３３）Ｓ１３２の判定が真である場合、第３のコンテキスト認識エンジン１６が、スケルトン情報に基づく人物の関節領域認識によって、人物の関節領域としての第３のコンテキストを推定する。
（Ｓ１４）そして、Ｓ１１、Ｓ１３１及びＳ１３３の２つのコンテキストを統合した推定コンテキスト（スコアの加算値又は平均値が最も高いコンテキスト）が出力される。
【００６７】
本発明によれば、撮影映像に映り込む人の行動の変化が大きいほど、ＲＧＢ認識のみならず、動体認識や人物の関節領域認識が実行される。
【００６８】
以上、詳細に説明したように、本発明のプログラム、装置及び方法によれば、撮影映像の内容に基づいて、人の行動を表すコンテキストを、できる限り高速且つ高精度に推定することができる。具体的には、学習モデルとしてのコンテキスト認識エンジンを、撮影映像の内容に基づいて自動的に選択することができる。
【００６９】
前述した本発明の種々の実施形態について、本発明の技術思想及び見地の範囲の種々の変更、修正及び省略は、当業者によれば容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。
【符号の説明】
【００７０】
１  行動推定装置
１１  第１のコンテキスト認識エンジン
１２  第１の認識判定部
１３  第２のコンテキスト認識エンジン
１４  推定コンテキスト出力部
１５  第２の認識判定部
１６  第３のコンテキスト認識エンジン
２  端末
【図１】
2019096252.tif 000003
【図２】
2019096252.tif 000004
【図３】
2019096252.tif 000005
【図４】
2019096252.tif 000006
【図５】
2019096252.tif 000007
【図６】
2019096252.tif 000008
【図７】
2019096252.tif 000009