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