(57)【特許請求の範囲】
【請求項１】
映像データに映った１人以上の人それぞれを被写体者として、前記被写体者について、骨格の複数の関節の位置を示す骨格情報を取得する骨格情報取得部と、
前記骨格情報取得部によって取得された、対象期間における前記被写体者についての前記骨格情報を時系列に並べた時系列データを用いて、前記複数の関節についての移動距離を合計又は平均して、前記被写体者の特徴量を計算する特徴量計算部と、
前記特徴量計算部によって計算された前記特徴量を入力として、前記被写体者の行動を特定する行動特定部と
を備える行動特定装置。
【請求項２】
前記行動特定部は、前記特徴量の変遷に基づいて前記被写体者の行動を特定する
請求項１に記載の行動特定装置。
【請求項３】
前記特徴量計算部は、前記複数の関節それぞれを対象の関節として、前記時系列データにおける連続する２つの時刻の間の前記対象の関節の移動距離を合計して、前記対象の関節についての前記対象期間における移動距離を計算し、前記複数の関節それぞれについての前記対象期間における移動距離を合計又は平均して、前記特徴量を計算する
請求項１又は２に記載の行動特定装置。
【請求項４】
前記行動特定部は、特徴量と人の行動を示す行動ラベルとを対応付けた行動ルールを参照して、前記特徴量計算部によって計算された前記特徴量に対応する行動ラベルを前記被写体者の行動を示す情報として取得する
請求項１から３までのいずれか１項に記載の行動特定装置。
【請求項５】
前記行動特定部は、特徴量を入力として、人の行動を示す行動ラベルを出力する行動モデルに対して、前記特徴量計算部によって計算された前記特徴量を入力することにより、前記被写体者の行動を示す行動ラベルを取得する
請求項１から４までのいずれか１項に記載の行動特定装置。
【請求項６】
骨格情報取得部が、映像データに映った１人以上の人それぞれを被写体者として、前記被写体者について、骨格の複数の関節の位置を示す骨格情報を取得し、
特徴量計算部が、対象期間における前記被写体者についての前記骨格情報を時系列に並べた時系列データを用いて、前記複数の関節の移動距離を合計又は平均して、前記被写体者の特徴量を計算し、
行動特定部が、前記特徴量を入力として、前記被写体者の行動を特定する行動特定方法。
【請求項７】
映像データに映った１人以上の人それぞれを被写体者として、前記被写体者について、骨格の複数の関節の位置を示す骨格情報を取得する骨格情報取得処理と、
前記骨格情報取得処理によって取得された、対象期間における前記被写体者についての前記骨格情報を時系列に並べた時系列データを用いて、前記複数の関節の移動距離を合計又は平均して、前記被写体者の特徴量を計算する特徴量計算処理と、
前記特徴量計算処理によって計算された前記特徴量を入力として、前記被写体者の行動を特定する行動特定処理と
を行う行動特定装置としてコンピュータを機能させる行動特定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、人の骨格の関節の位置を示す骨格情報に基づき、人の行動を特定する技術に関する。
【背景技術】
【０００２】
特許文献１には、骨格情報を用いた人の行動認識技術が記載されている。特許文献１に記載された技術では、映像に映った人を対象として、対象の人の骨格の関節の位置を示す骨格情報が取得され、特定の関節についての動きが特定される。そして、特定された関節の動きに基づき人の行動が特定される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０２０−９１８５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載された技術では、特定の関節の動きからどのように人の行動を特定するかが記載されていない。そのため、適切に人の行動を特定できない可能性がある。例えば、一瞬の関節の動きから行動を特定する場合には、人の向き又はオクルージョンによる一部身体の隠蔽の影響、又は、外乱の影響により、骨格情報の誤抽出が発生すると、人の行動が正しく特定されない可能性がある。
本開示は、適切に行動を特定可能にすることを目的とする。
【課題を解決するための手段】
【０００５】
本開示に係る行動特定装置は、
映像データに映った人である被写体について、骨格の関節の位置を示す骨格情報を取得する骨格情報取得部と、
前記骨格情報取得部によって取得された、対象期間における前記被写体者についての前記骨格情報を時系列に並べた時系列データを用いて、前記被写体者の特徴量を計算する特徴量計算部と、
前記特徴量計算部によって計算された前記特徴量を入力として、前記被写体者の行動を特定する行動特定部と
を備える。
【発明の効果】
【０００６】
本開示では、対象期間において時系列に連続する骨格情報から特徴量が計算され、被写体者の行動を特定する。これにより、人の向き又はオクルージョンによる一部身体の隠蔽等による被写体者の骨格の誤抽出が発生しても、被写体者の行動を正しく判別できる可能性が高くなる。その結果、適切に行動を特定可能である。
【図面の簡単な説明】
【０００７】
【図１】実施の形態１に係る行動特定装置１０の構成図。
【図２】実施の形態１に係る行動特定装置１０の全体的な動作を示すフローチャート。
【図３】実施の形態１に係る特徴量計算処理のフローチャート。
【図４】変形例３に係る行動特定装置１０の構成図。
【図５】実施の形態２に係る学習装置５０の構成図。
【図６】実施の形態２に係る学習装置５０が行動モデルを生成する動作を示すフローチャート。
【図７】変形例６に係る学習装置５０の構成図。
【図８】実施の形態３に係る特徴量計算処理のフローチャート。
【発明を実施するための形態】
【０００８】
実施の形態１．
＊＊＊構成の説明＊＊＊
図１を参照して、実施の形態１に係る行動特定装置１０の構成を説明する。
行動特定装置１０は、コンピュータである。
行動特定装置１０は、プロセッサ１１と、メモリ１２と、ストレージ１３と、通信インタフェース１４とのハードウェアを備える。プロセッサ１１は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【０００９】
プロセッサ１１は、プロセッシングを行うＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）である。プロセッサ１１は、具体例としては、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。
【００１０】
メモリ１２は、データを一時的に記憶する記憶装置である。メモリ１２は、具体例としては、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。
【００１１】
ストレージ１３は、データを保管する記憶装置である。ストレージ１３は、具体例としては、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）である。また、ストレージ１３は、ＳＤ（登録商標，Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）メモリカード、ＣＦ（ＣｏｍｐａｃｔＦｌａｓｈ，登録商標）、ＮＡＮＤフラッシュ、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ（登録商標）ディスク、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）といった可搬記録媒体であってもよい。
【００１２】
通信インタフェース１４は、外部の装置と通信するためのインタフェースである。通信インタフェース１４は、具体例としては、Ｅｔｈｅｒｎｅｔ（登録商標）、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）、ＨＤＭＩ（登録商標，Ｈｉｇｈ−Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ）のポートである。
【００１３】
行動特定装置１０は、通信インタフェース１４を介して、カメラ３１と接続されている。カメラ３１は、一般的な２Ｄ（Ｄｉｍｅｎｓｉｏｎ）カメラであってもよいが、３Ｄカメラであってもよい。カメラ３１として３Ｄカメラを用いることにより、奥行に関する情報も得られる。そのため、後述する処理において、人の関節の位置を適切に特定可能になる。
【００１４】
行動特定装置１０は、機能構成要素として、映像取得部２１と、骨格情報取得部２２と、特徴量計算部２３と、行動特定部２４とを備える。行動特定装置１０の各機能構成要素の機能はソフトウェアにより実現される。
ストレージ１３には、行動特定装置１０の各機能構成要素の機能を実現するプログラムが格納されている。このプログラムは、プロセッサ１１によりメモリ１２に読み込まれ、プロセッサ１１によって実行される。これにより、行動特定装置１０の各機能構成要素の機能が実現される。
ストレージ１３は、骨格情報データベース１３１と、特徴量データベース１３２との機能を実現する。
【００１５】
図１では、プロセッサ１１は、１つだけ示されていた。しかし、プロセッサ１１は、複数であってもよく、複数のプロセッサ１１が、各機能を実現するプログラムを連携して実行してもよい。
【００１６】
＊＊＊動作の説明＊＊＊
図２及び図３を参照して、実施の形態１に係る行動特定装置１０の動作を説明する。
実施の形態１に係る行動特定装置１０の動作手順は、実施の形態１に係る行動特定方法に相当する。また、実施の形態１に係る行動特定装置１０の動作を実現するプログラムは、実施の形態１に係る行動特定プログラムに相当する。
【００１７】
図２を参照して、実施の形態１に係る行動特定装置１０の全体的な動作を説明する。
（ステップＳ１１：映像取得処理）
映像取得部２１は、カメラ３１によって取得された映像データを取得する。映像取得部２１は、映像データをメモリ１２に書き込む。
【００１８】
（ステップＳ１２：骨格情報取得処理）
骨格情報取得部２２は、ステップＳ１１で取得された映像データに映った１人以上の人である被写体者それぞれを対象の被写体者として設定する。骨格情報取得部２２は、対象の被写体者について、骨格の関節の位置を示す骨格情報を取得する。骨格情報取得部２２は、取得した骨格情報は骨格情報データベース１３１に書き込む。
具体的には、骨格情報取得部２２は、メモリ１２から映像データを読み出す。骨格情報取得部２２は、映像データに映った１人以上の被写体者それぞれを対象の被写体者に設定する。骨格情報取得部２２は、対象の被写体者の骨格の関節の位置を特定し、被写体者と映像の撮影時刻とを判別可能なインデックスを付与して骨格情報を生成する。関節の位置は、座標値等によって表される。骨格情報取得部２２は、生成した骨格情報を骨格情報データベース１３１に書き込む。
【００１９】
骨格情報取得部２２は、映像データを構成するある１つのフレームから特定された関節の位置を骨格情報に含めてもよいし、映像データを構成する複数のフレームから特定された関節の位置を骨格情報に含めてもよい。例えば、骨格情報取得部２２は、ある時刻における骨格情報を特定する場合に、その時刻のフレームと、その時刻の前の直近数フレームとから関節の位置を特定してもよい。あるいは、骨格情報取得部２２は、ある時刻における骨格情報を特定する場合に、その時刻のフレームと、その時刻の前後数フレームとから関節の位置を特定してもよい。
映像データに映る人の関節の位置の抽出方法としては、深層学習を用いる方法と、対象者の関節の位置に物理的にマーカを付け、マーカを識別することで関節を特定する方法等がある。
【００２０】
（ステップＳ１３：特徴量計算処理）
特徴量計算部２３は、ステップＳ１１で取得された映像データに映った１人以上の人である被写体者それぞれを対象の被写体者として設定する。特徴量計算部２３は、ストレージ１３に含まれる骨格情報データベース１３１から対象の被写体者についての骨格情報を取得し、取得された骨格情報を時系列に並べた時系列データから特徴量を計算する。特徴量計算部２３は、特徴量を特徴量データベース１３２に書き込む。
ここで、時系列データは、例えば数秒といったある程度の長さをもった対象期間分の骨格情報を時系列に並べたデータであり、２つ以上の時刻における骨格情報を時系列に並べたデータである。
具体的な、骨格情報から特徴量を計算する処理については、後述する。
【００２１】
（ステップＳ１４：行動特定処理）
行動特定部２４は、ステップＳ１１で取得された映像データに映った１人以上の人である被写体者それぞれを対象の被写体者として設定する。行動特定部２４は、ストレージ１３に含まれる特徴量データベース１３２から、対象の被写体者の特徴量を取得し、取得した特徴量をもとに対象の被写体者の行動を特定する。
具体的には、行動特定部２４は、特徴量データベース１３２から、対象の被写体者の特徴量を取得する。そして、行動特定部２４は、特徴量からその人の行動を示す行動ラベルを出力する行動ルールを利用して、取得された特徴量から対象の被写体者の行動を特定する。行動ルールは、人の骨格情報から計算される特徴量と人の行動を示す行動ラベルとを対応付けたルールであり、事前にストレージ１３に記憶されている。つまり、行動特定部２４は、行動ルールに対して、人の骨格情報から計算された特徴量を入力することにより、行動ラベルが出力として得られる。行動特定部２４は、行動ラベルをメモリ１２に書き込む。
行動ラベルが示す行動は、例えば、「歩く」、「握手する」、「殴る」、「暴れる」といった行動である。
【００２２】
行動特定部２４が特徴量データベース１３２から取り出す特徴量は、ある１時刻で計算された１個ではなく、時系列に連続する複数の特徴量を取り出してもよい。そして、行動特定部２４は、特徴量の変遷をもとに、対象の被写体者の行動を特定してもよい。
【００２３】
図３を参照して、実施の形態１に係る特徴量計算処理（図２のステップＳ１３）を説明する。
（ステップＳ２１：時系列データ取得処理）
特徴量計算部２３は、現在時刻ｔからＮ時刻前までの対象の被写体者についての骨格情報を骨格情報データベース１３１から取得する。特徴量計算部２３は、取得された骨格情報を時系列に並べたデータを時系列データとして設定する。
【００２４】
（ステップＳ２２：移動距離計算処理）
特徴量計算部２３は、ステップＳ２１で設定された骨格情報の時系列データにおいて、時系列に連続する２つの時刻の骨格情報間における対象の被写体者の骨格の各関節の移動距離を計算する。具体的には、特徴量計算部２３は、各関節を対象として、２つの時刻の骨格情報間における対象の関節の位置の差分を計算することによって、対象の関節の移動距離を計算する。特徴量計算部２３は、各関節の移動距離を要素とするベクトルあるいは行列を生成する。以下では、各関節の移動距離を要素とするベクトルが生成されたとして説明する。
【００２５】
（ステップＳ２３：運動量計算処理）
特徴量計算部２３は、ステップＳ２２で生成された、各関節の移動距離を要素とするベクトルを時間方向に合計する。つまり、特徴量計算部２３は、各関節を対象として、対象の関節について計算された２つの時刻の間における移動距離を合計する。このようにして計算された値は、現在時刻ｔから過去時刻ｔ−Ｎまでの時間幅Ｎにおける各関節の移動距離の総和である。そのため、この値は、時間幅Ｎにおける各関節の運動量とみなすことができる。
特徴量計算部２３は、全関節の運動量を合計する、あるいは、平均値を取る等してスカラーとし、このスカラーを時間幅Ｎにおける被写体者の骨格全体の運動量とみなす。そして、特徴量計算部２３は、この運動量を特徴量とする。なお、時間幅Ｎで運動量を除算した値は速度とみなすことができるが、この速度を特徴量としてもよい。
特徴量計算部２３は、計算された特徴量に、現在時刻ｔをインデックスとして付与して、特徴量データベース１３２に書き込む。
【００２６】
ここで、Ｎ＝１のとき、ステップＳ１３で扱われる骨格情報は、現在時刻及び１時刻前の骨格情報であり、２フレーム間の関節の移動距離が運動量及び速度そのものとなる。実施の形態１では、Ｎは、１以上の整数である。つまり、時系列データは、２つ以上の時刻における骨格情報を時系列に並べたデータである。なお、Ｎは、３以上であることが望ましく、さらに１０以上のようにある程度の大きさを持っていることが望ましい。
【００２７】
上記説明では、運動量又は速度はスカラーであった。しかし、特徴量計算部２３は、全関節について運動量又は速度の合計又は平均値を取らずに、各関節の運動量又は速度を要素に持つベクトルデータを特徴量としてもよい。
【００２８】
特徴量計算部２３は、抽出された被写体者の骨格の関節のうち、任意の数の関節から特徴量を計算してもよい。あるいは、特徴量計算部２３は、任意の数の関節分だけ計算された特徴量どうしを加算する又は平均を取る等して、特徴量を抽出した関節数よりも少ない数の特徴量を計算してもよい。
【００２９】
特徴量を計算するにあたって、骨格情報のうちの一部の関節の位置が取得できない場合も起こり得る。この場合には、特徴量計算部２３は、特徴量データベース１３２に記憶されている過去の特徴量をもとにする、又は、関節の位置が取得できた関節をもとにする等して、取得できなかった関節の位置又は取得できなかった関節に関する特徴量を補完してもよい。
補完の方法としては、関節の位置が取得できなかった時刻の特徴量を１時刻前の特徴量とする、又は、関節の位置が取得できなかった時刻の特徴量を過去数時刻分の特徴量の変位から線形補完して計算することが考えられる。あるいは、特徴量計算部２３は、関節の位置が取得できた関節群全体の運動量から１関節当たりの運動量の平均値を計算し、関節の位置が取得できなかった関節の運動量としても、関節の位置が取得できなかった関節の周囲の関節から成り、関節の位置が取得できた関節群の運動量から１関節当たりの運動量の平均値を計算し、関節の位置が取得できなかった関節の運動量としてもよい。また、特徴量計算部２３は、取得できなかった右膝の位置を左膝の位置で補完するというように、取得できなかった関節と左右で対になっている関節、あるいは連結する関節の位置で補完してもよい。
【００３０】
＊＊＊実施の形態１の効果＊＊＊
以上のように、実施の形態１に係る行動特定装置１０は、瞬間的な骨格の変位量を求める場合よりもある程度長い時間幅における骨格情報の時系列データから計算される骨格の運動量又は速度を用いて、被写体者の行動を特定する。これにより、人の向き又はオクルージョンによる一部身体の隠蔽等による被写体者の骨格の関節の誤抽出が発生した場合でも、正しく行動を判別できる可能性が高くなる。その結果、適切に行動を特定可能である。
【００３１】
＊＊＊他の構成＊＊＊
＜変形例１＞
実施の形態１では、人の骨格情報から計算される特徴量と人の行動を示す行動ラベルとを対応付けた行動ルールを用いて、行動を特定した。しかし、行動ルールに代えて、ニューラルネットワーク等を用いて生成された学習済みのモデルである行動モデルが用いられてもよい。
行動ルールの代わりに用いられる行動モデルは、人の骨格情報と人の行動を示す行動ラベルとを組にして学習データとし、深層学習などによって構築される。つまり、行動モデルは、人の骨格情報から計算される特徴量を入力として与えると、行動ラベルが出力として得られるモデルである。
行動ルールの代わりに行動モデルが用いられる場合には、図２のステップＳ１４で行動特定部２４は、骨格情報の時系列データから計算される特徴量を行動モデルに入力して、対象の被写体者の行動を示す情報として、行動ラベルを取得する。
【００３２】
＜変形例２＞
実施の形態１では、行動ルールは、ストレージ１３に記憶されると説明した。しかし、行動ルールは、行動特定装置１０の外部の記憶装置に記憶されていてもよい。この場合には、行動特定装置１０は、通信インタフェース１４を介して、行動ルールにアクセスすればよい。
【００３３】
＜変形例３＞
実施の形態１では、各機能構成要素がソフトウェアで実現された。しかし、変形例３として、各機能構成要素はハードウェアで実現されてもよい。この変形例３について、実施の形態１と異なる点を説明する。
【００３４】
図４を参照して、変形例３に係る行動特定装置１０の構成を説明する。
各機能構成要素がハードウェアで実現される場合には、行動特定装置１０は、プロセッサ１１とメモリ１２とストレージ１３とに代えて、電子回路１５を備える。電子回路１５は、各機能構成要素と、メモリ１２と、ストレージ１３との機能とを実現する専用の回路である。
【００３５】
電子回路１５としては、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックＩＣ、ＧＡ（Ｇａｔｅ  Ａｒｒａｙ）、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）が想定される。
各機能構成要素を１つの電子回路１５で実現してもよいし、各機能構成要素を複数の電子回路１５に分散させて実現してもよい。
【００３６】
＜変形例４＞
変形例４として、一部の各機能構成要素がハードウェアで実現され、他の各機能構成要素がソフトウェアで実現されてもよい。
【００３７】
プロセッサ１１とメモリ１２とストレージ１３と電子回路１５とを処理回路という。つまり、各機能構成要素の機能は、処理回路により実現される。
【００３８】
実施の形態２．
実施の形態２では、変形例１で説明した行動モデルの生成処理について説明する。
【００３９】
＊＊＊構成の説明＊＊＊
図５を参照して、実施の形態２に係る学習装置５０の構成を説明する。
学習装置５０は、コンピュータである。
学習装置５０は、プロセッサ５１と、メモリ５２と、ストレージ５３と、通信インタフェース５４とのハードウェアを備える。プロセッサ５１は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【００４０】
プロセッサ５１は、プロセッサ１１と同様に、プロセッシングを行うＩＣである。メモリ５２は、メモリ１２と同様に、データを一時的に記憶する記憶装置である。ストレージ５３は、ストレージ１３と同様に、データを保管する記憶装置である。ストレージ５３は、ストレージ１３と同様に、可搬記録媒体であってもよい。通信インタフェース５４は、通信インタフェース１４と同様に、外部の装置と通信するためのインタフェースである。
学習装置５０は、通信インタフェース５４を介して行動特定装置１０と接続されている。
【００４１】
学習装置５０は、機能構成要素として、学習データ取得部６１と、モデル生成部６２とを備える。学習装置５０の各機能構成要素の機能はソフトウェアにより実現される。
ストレージ１３には、学習装置５０の各機能構成要素の機能を実現するプログラムが格納されている。このプログラムは、プロセッサ５１によりメモリ５２に読み込まれ、プロセッサ５１によって実行される。これにより、学習装置５０の各機能構成要素の機能が実現される。
【００４２】
図５では、プロセッサ５１は、１つだけ示されていた。しかし、プロセッサ５１は、複数であってもよく、複数のプロセッサ５１が、各機能を実現するプログラムを連携して実行してもよい。
【００４３】
＊＊＊動作の説明＊＊＊
図６を参照して、実施の形態２に係る学習装置５０の動作を説明する。
実施の形態２に係る学習装置５０の動作手順は、実施の形態２に係る学習方法に相当する。また、実施の形態２に係る学習装置５０の動作を実現するプログラムは、実施の形態２に係る学習プログラムに相当する。
【００４４】
図５を参照して、実施の形態２に係る学習装置５０が行動モデルを生成する動作を説明する。
（ステップＳ３１：学習データ取得処理）
学習データ取得部６１は、複数の時刻における人の骨格の関節の位置を示す骨格情報を時系列に並べた時系列データから計算された特徴量と、その人の行動とを関連付けた学習データを取得する。
例えば、学習データは、指定された行動を実際に行った人を撮像して得られた映像データから骨格情報を抽出し、抽出した骨格情報の時系列データから特徴量を計算することによって生成される。つまり、抽出された骨格情報の時系列データから計算された特徴量と、指定された行動とが関連付けられて学習データとされる。
【００４５】
（ステップＳ３２：モデル生成処理）
モデル生成部６２は、ステップＳ３１で取得された学習データを入力として、学習を行い、行動モデルを生成する。モデル生成部６２は、行動モデルを行動特定装置１０のストレージ１３に書き込む。
実施の形態２では、モデル生成部６２は、学習データを入力として、骨格情報の時系列データから計算される特徴量と行動との関係をニューラルネットワークに学習させる。例えば、モデル生成部６２は、歩行時と走行時それぞれの骨格情報の時系列データから計算される一定時間幅における運動量を計算し、歩行時の運動量と走行時の運動量とを区別するための決定境界を学習させる。なお、特徴量として、運動量ではなく、速度が用いられる場合には、モデル生成部６２は、歩行時と走行時それぞれの骨格情報から計算される一定時間幅における速度を計算し、歩行時の速度と走行時の速度とを区別するための決定境界を学習させればよい。
用いられるニューラルネットワークの構成はＤＮＮ（深層ニューラルネットワーク）と、ＣＮＮ（畳み込みニューラルネットワーク）と、ＲＮＮ（再帰型ニューラルネットワーク）といった周知のものでよい。
【００４６】
＊＊＊実施の形態２の効果＊＊＊
以上のように、実施の形態２に係る学習装置５０は、学習データに基づき、行動特定装置１０が用いる行動モデルを生成する。これにより、適切な学習データを与えることで、行動特定装置１０が用いる行動モデルの認識精度を高くすることができる。
【００４７】
＊＊＊他の構成＊＊＊
＜変形例５＞
行動特定装置１０は、行動モデルに代えて実施の形態１で説明した行動ルールを用いてもよい。
行動モデルに代えて行動ルールが用いられる場合には、図５のステップＳ３２でモデル生成部６２は、行動モデルに代えて行動ルールを生成する。具体的には、モデル生成部６２は、ステップＳ３１で取得された各学習データが示す、人の骨格の関節の位置を示す骨格情報の時系列データから計算される特徴量と、その人の行動を示す行動ラベルと対応付けたデータベースを行動ルールとして生成する。
【００４８】
＜変形例６＞
実施の形態２では、各機能構成要素がソフトウェアで実現された。しかし、変形例６として、各機能構成要素はハードウェアで実現されてもよい。この変形例６について、実施の形態２と異なる点を説明する。
【００４９】
図７を参照して、変形例６に係る学習装置５０の構成を説明する。
各機能構成要素がハードウェアで実現される場合には、学習装置５０は、プロセッサ５１とメモリ５２とストレージ５３とに代えて、電子回路５５を備える。電子回路５５は、各機能構成要素と、メモリ５２と、ストレージ５３との機能とを実現する専用の回路である。
【００５０】
電子回路５５としては、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックＩＣ、ＧＡ（Ｇａｔｅ  Ａｒｒａｙ）、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）が想定される。
各機能構成要素を１つの電子回路５５で実現してもよいし、各機能構成要素を複数の電子回路５５に分散させて実現してもよい。
【００５１】
＜変形例７＞
変形例７として、一部の各機能構成要素がハードウェアで実現され、他の各機能構成要素がソフトウェアで実現されてもよい。
【００５２】
プロセッサ５１とメモリ５２とストレージ５３と電子回路５５とを処理回路という。つまり、各機能構成要素の機能は、処理回路により実現される。
【００５３】
実施の形態３．
実施の形態３は、実施の形態１に係る特徴量計算部２３で計算される特徴量が動作の軌跡である点が実施の形態１と異なる。実施の形態３では、この異なる点を説明し、同一の点については説明を省略する。
【００５４】
＊＊＊動作の説明＊＊＊
図８を参照して、実施の形態３に係る行動特定装置１０の動作を説明する。
実施の形態３に係る行動特定装置１０の動作手順は、実施の形態３に係る行動特定方法に相当する。また、実施の形態３に係る行動特定装置１０の動作を実現するプログラムは、実施の形態３に係る行動特定プログラムに相当する。
【００５５】
図８を参照して、実施の形態３に係る特徴量計算処理（図２のステップＳ１３）を説明する。
（ステップＳ４１：時系列データ取得処理）
特徴量計算部２３は、現在時刻ｔからＮ時刻前までの対象の被写体者についての骨格情報を骨格情報データベース１３１から取得する。特徴量計算部２３は、取得された骨格情報を時系列に並べたデータを時系列データとして設定する。
【００５６】
（ステップＳ４２：軌跡計算処理）
特徴量計算部２３は、ステップＳ４１で生成された対象の被写体者の骨格情報の時系列データが表す、現在時刻ｔから過去時刻ｔ−Ｎ間の各時刻における被写体者の骨格の関節の位置の情報を時系列に並べたベクトルあるいは行列を特徴量として生成する。以下では、関節の位置の情報を時系列に並べたベクトルが生成されたとして説明する。このようにして生成されたベクトルは、時系列に並んだ骨格の関節の位置の情報を要素として持つ。そのため、時刻ｔから時刻ｔ−Ｎにおける関節の移動経路、つまり動作の軌跡を表す。
このとき、関節の位置の情報は、２次元画像内から抽出された骨格情報を対象としていれば、水平方向の位置を表す座標値ｘと垂直方向の位置を表す座標値ｙとを用いて（ｘ，ｙ）といった具合に表される。
特徴量計算部２３は、特徴量を計算するにあたって、抽出された被写体者の骨格の関節のうち、任意の数の関節に対して特徴量を計算してもよい。また、特徴量計算部２３は、正の整数Ｍ，ｍに関して、骨格情報がＭ次元の関節の位置情報を持っていた場合、ｍ≦Ｍとなるようなｍ個の座標値を利用して特徴量を計算してもよい。
【００５７】
＊＊＊実施の形態３の効果＊＊＊
以上のように、実施の形態３に係る行動特定装置１０は、実施の形態１に係る行動特定装置１０と同様に、瞬間的な骨格の変位量を求める場合よりも比較的長い時間幅における骨格情報の時系列から計算される動作の軌跡を用いて、被写体者の行動を特定する。これにより、骨格情報の誤抽出が一時的に発生した場合でも、正しく行動を判別できる可能性が高くなる。その結果、その結果、適切に行動を特定可能である。
【００５８】
以上、本開示の実施の形態及び変形例について説明した。これらの実施の形態及び変形例のうち、いくつかを組み合わせて実施してもよい。また、いずれか１つ又はいくつかを部分的に実施してもよい。なお、本開示は、以上の実施の形態及び変形例に限定されるものではなく、必要に応じて種々の変更が可能である。
【符号の説明】
【００５９】
１０  行動特定装置、１１  プロセッサ、１２  メモリ、１３  ストレージ、１４  通信インタフェース、１５  電子回路、２１  映像取得部、２２  骨格情報取得部、２３  特徴量計算部、２４  行動特定部、３１  カメラ、５０  学習装置、５１  プロセッサ、５２  メモリ、５３  ストレージ、５４  通信インタフェース、５５  電子回路、６１  学習データ取得部、６２  モデル生成部。
【要約】
骨格情報取得部（２２）は、映像データに映った１人以上の人である被写体者それぞれを対象として、対象の被写体者について、骨格の関節の位置を示す骨格情報を取得する。特徴量計算部（２３）は、骨格情報取得部（２２）によって取得された、対象期間における対象の被写体者についての骨格情報を時系列に並べた時系列データを用いて、対象の被写体者の特徴量を計算する。行動特定部（２４）は、特徴量計算部（２３）によって計算された特徴量を入力として、対象の被写体者の行動を特定する。【図１】
0006972434.tif 000002
【図２】
0006972434.tif 000003
【図３】
0006972434.tif 000004
【図４】
0006972434.tif 000005
【図５】
0006972434.tif 000006
【図６】
0006972434.tif 000007
【図７】
0006972434.tif 000008
【図８】
0006972434.tif 000009