(57)【要約】  オクルージョンの発生による認識精度の低下を抑止できる認識プログラム等を提供する。認識プログラムは、被写体（５）までの距離をセンシングする複数のセンサ（１０）同士の位置関係を取得する処理をコンピュータ（１００）に実行させる。認識プログラムは、複数のセンサに含まれる個別のセンサで取得したセンシングデータのそれぞれに基づいて、個別のセンサそれぞれに対する被写体の向きを、複数の分類のうちいずれかに、それぞれ仮分類する処理をコンピュータに実行させる。認識プログラムは、個別のセンサそれぞれに対する被写体の向きの仮分類の結果に基づいて、複数のセンサ同士の位置関係に対応する組合せに対して、該組合せごとの尤度を算出する処理をコンピュータに実行させる。認識プログラムは、算出した組合せごとの尤度に応じて、個別のセンサそれぞれに対応する被写体の向きを分類する処理をコンピュータに実行させる。
2019069358.tif 000002
【特許請求の範囲】
【請求項１】
被写体までの距離をセンシングする複数のセンサ同士の位置関係を取得し、
前記複数のセンサに含まれる個別のセンサで取得したセンシングデータのそれぞれに基づいて、前記個別のセンサそれぞれに対する前記被写体の向きを、複数の分類のうちいずれかに、それぞれ仮分類し、
前記個別のセンサそれぞれに対する前記被写体の向きの前記仮分類の結果に基づいて、前記複数のセンサ同士の位置関係に対応する組合せに対して、該組合せごとの尤度を算出し、
算出した前記組合せごとの尤度に応じて、前記個別のセンサそれぞれに対応する前記被写体の向きを分類する、
処理をコンピュータに実行させることを特徴とする認識プログラム。
【請求項２】
前記算出する処理は、前記被写体が倒立する方向、および、前記被写体が自転する方向における前記複数のセンサ同士の位置関係に対応する組合せに対して、該組合せごとの尤度を算出する、
ことを特徴とする請求項１に記載の認識プログラム。
【請求項３】
前記分類する処理は、前記組合せに対応する前記個別のセンサそれぞれの尤度を加算した尤度に応じて、前記個別のセンサそれぞれに対応する前記被写体の向きを分類する、
ことを特徴とする請求項１または２に記載の認識プログラム。
【請求項４】
被写体までの距離をセンシングする複数のセンサ同士の位置関係を取得し、
前記複数のセンサに含まれる個別のセンサで取得したセンシングデータのそれぞれと、前記個別のセンサそれぞれに対する前記被写体の向きに応じて選択された骨格認識辞書とに基づいて、前記個別のセンサから見た前記被写体の骨格の３次元位置を、それぞれ推定し、
前記個別のセンサそれぞれから見た前記被写体の骨格の３次元位置の前記推定の結果と、前記複数のセンサ同士の位置関係とに基づいて、前記被写体の骨格の３次元位置を決定する、
処理をコンピュータに実行させることを特徴とする認識プログラム。
【請求項５】
前記推定する処理は、前記センシングデータに基づいて、前記骨格認識辞書を用いて前記被写体の部位を部位ラベルによって表す部位ラベル画像を生成し、生成した前記部位ラベル画像における前記部位ラベルに基づいて、前記被写体の骨格の３次元位置を推定する、
ことを特徴とする請求項４に記載の認識プログラム。
【請求項６】
前記推定する処理は、前記センシングデータのうち、前記部位ラベルの境界近傍のデータを用いて、前記被写体の骨格の３次元位置を推定する、
ことを特徴とする請求項５に記載の認識プログラム。
【請求項７】
前記決定する処理は、前記部位ラベルの境界の重心を関節位置と決定する、
ことを特徴とする請求項５に記載の認識プログラム。
【請求項８】
前記決定する処理は、前記複数のセンサのうち、前記被写体までの距離が最も近いセンサから見た前記骨格の３次元位置の推定結果を用いて、前記境界の重心を算出する、
ことを特徴とする請求項７に記載の認識プログラム。
【請求項９】
前記推定する処理は、前記個別のセンサそれぞれについて、前記境界近傍のデータの分散を算出し、算出した前記分散の逆数を用いて、前記個別のセンサそれぞれの前記センシングデータをランダムに間引いたセンシングデータ、または、前記個別のセンサそれぞれの前記センシングデータをランダムに増加させたセンシングデータを用いて、前記被写体の骨格の３次元位置を推定する、
ことを特徴とする請求項７に記載の認識プログラム。
【請求項１０】
前記決定する処理は、決定した複数の前記関節位置に基づいて、前記部位の位置を決定する、
ことを特徴とする請求項７に記載の認識プログラム。
【請求項１１】
前記決定する処理は、前記部位ラベルの重心を、該部位ラベルに対応する前記部位の位置と決定する、
ことを特徴とする請求項７に記載の認識プログラム。
【請求項１２】
被写体までの距離をセンシングする複数のセンサ同士の位置関係を取得し、
前記複数のセンサに含まれる個別のセンサで取得したセンシングデータのそれぞれに基づいて、前記個別のセンサそれぞれに対する前記被写体の向きを、複数の分類のうちいずれかに、それぞれ仮分類し、
前記個別のセンサそれぞれに対する前記被写体の向きの前記仮分類の結果に基づいて、前記複数のセンサ同士の位置関係に対応する組合せに対して、該組合せごとの尤度を算出し、
算出した前記組合せごとの尤度に応じて、前記個別のセンサそれぞれに対応する前記被写体の向きを分類する、
処理をコンピュータが実行することを特徴とする認識方法。
【請求項１３】
被写体までの距離をセンシングする複数のセンサ同士の位置関係を取得し、
前記複数のセンサに含まれる個別のセンサで取得したセンシングデータのそれぞれと、前記個別のセンサそれぞれに対する前記被写体の向きに応じて選択された骨格認識辞書とに基づいて、前記個別のセンサから見た前記被写体の骨格の３次元位置を、それぞれ推定し、
前記個別のセンサそれぞれから見た前記被写体の骨格の３次元位置の前記推定の結果と、前記複数のセンサ同士の位置関係とに基づいて、前記被写体の骨格の３次元位置を決定する、
処理をコンピュータが実行することを特徴とする認識方法。
【請求項１４】
被写体までの距離をセンシングする複数のセンサ同士の位置関係を取得する取得部と、
前記複数のセンサに含まれる個別のセンサで取得したセンシングデータのそれぞれに基づいて、前記個別のセンサそれぞれに対する前記被写体の向きを、複数の分類のうちいずれかに、それぞれ仮分類する第１分類部と、
前記個別のセンサそれぞれに対する前記被写体の向きの前記仮分類の結果に基づいて、前記複数のセンサ同士の位置関係に対応する組合せに対して、該組合せごとの尤度を算出する算出部と、
算出した前記組合せごとの尤度に応じて、前記個別のセンサそれぞれに対応する前記被写体の向きを分類する第２分類部と、
を有することを特徴とする認識装置。
【請求項１５】
被写体までの距離をセンシングする複数のセンサ同士の位置関係を取得する取得部と、
前記複数のセンサに含まれる個別のセンサで取得したセンシングデータのそれぞれと、前記個別のセンサそれぞれに対する前記被写体の向きに応じて選択された骨格認識辞書とに基づいて、前記個別のセンサから見た前記被写体の骨格の３次元位置を、それぞれ推定する推定部と、
前記個別のセンサそれぞれから見た前記被写体の骨格の３次元位置の前記推定の結果と、前記複数のセンサ同士の位置関係とに基づいて、前記被写体の骨格の３次元位置を決定する決定部と、
を有することを特徴とする認識装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、認識プログラム、認識方法および認識装置に関する。
【背景技術】
【０００２】
従来、人物までの距離をセンシングする距離センサ（以下、深度センサともいう。）が出力する距離画像（以下、深度画像ともいう。）に基づいて、人物の姿勢や動きを認識する装置がある。当該装置は、例えば、１台の距離センサから出力される距離画像に基づいて、人物の部位についてラベル分けを行う。次に、当該装置は、ラベル分けした各部位に基づいて、３次元の骨格位置を持つ骨格モデルを抽出する。その後、当該装置は、抽出した骨格モデルに基づいて、人物の姿勢や動きを認識する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許出願公開第２０１０／０１９７３９０号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、１台の距離センサを用いて人物の姿勢や動きを認識する場合、例えば、物体や人物自身の部位によって人物の一部が隠れるオクルージョンが発生することがある。オクルージョンが発生すると、人物の３次元における骨格認識の精度が低下し、複雑な動きを認識することが困難となる。すなわち、オクルージョンが発生することにより、人物の骨格等の認識精度が低下する。【０００５】
一つの側面では、オクルージョンの発生による認識精度の低下を抑止できる認識プログラム、認識方法および認識装置を提供することにある。
【課題を解決するための手段】
【０００６】
一つの態様では、認識プログラムは、被写体までの距離をセンシングする複数のセンサ同士の位置関係を取得する処理をコンピュータに実行させる。認識プログラムは、前記複数のセンサに含まれる個別のセンサで取得したセンシングデータのそれぞれに基づいて、前記個別のセンサそれぞれに対する前記被写体の向きを、複数の分類のうちいずれかに、それぞれ仮分類する処理をコンピュータに実行させる。認識プログラムは、前記個別のセンサそれぞれに対する前記被写体の向きの前記仮分類の結果に基づいて、前記複数のセンサ同士の位置関係に対応する組合せに対して、該組合せごとの尤度を算出する処理をコンピュータに実行させる。認識プログラムは、算出した前記組合せごとの尤度に応じて、前記個別のセンサそれぞれに対応する前記被写体の向きを分類する処理をコンピュータに実行させる。
【発明の効果】
【０００７】
オクルージョンの発生による認識精度の低下を抑止できる。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施例の認識システムの構成の一例を示す図である。
【図２】図２は、複数の距離センサの配置の一例を示す図である。
【図３】図３は、複数の距離センサの配置の一例を示す図である。
【図４】図４は、物体によるオクルージョンの一例を示す図である。
【図５】図５は、物体によるオクルージョンの一例を示す図である。
【図６】図６は、セルフオクルージョンの一例を示す図である。
【図７】図７は、セルフオクルージョンの一例を示す図である。
【図８】図８は、実施例の認識装置の構成の一例を示すブロック図である。
【図９】図９は、組合せ記憶部の一例を示す図である。
【図１０】図１０は、姿勢認識範囲および姿勢認識単位の一例を示す図である。
【図１１】図１１は、複数の距離センサの点群データの統合の一例を示す図である。
【図１２】図１２は、各距離センサの座標をワールド座標に統合する場合の一例を示す図である。
【図１３】図１３は、各距離センサの座標をメインセンサの座標に統合する場合の一例を示す図である。
【図１４】図１４は、ｘｚ平面での各距離センサの位置の一例を示す図である。
【図１５】図１５は、ｙｚ平面での各距離センサの位置の一例を示す図である。
【図１６】図１６は、自転方向における姿勢番号の全ての組合せの一例を示す図である。
【図１７】図１７は、倒立方向における姿勢番号の全ての組合せの一例を示す図である。
【図１８】図１８は、自転方向における辞書番号の決定の一例を示す図である。
【図１９】図１９は、倒立方向における辞書番号の決定の一例を示す図である。
【図２０】図２０は、倒立方向における姿勢認識結果と骨格認識辞書の選択範囲の一例を示す図である。
【図２１】図２１は、自転方向における姿勢認識結果と骨格認識辞書の選択範囲の一例を示す図である。
【図２２】図２２は、部位ラベル画像における境界画素の一例を示す図である。
【図２３】図２３は、各関節部位の境界点群の一例を示す図である。
【図２４】図２４は、関節座標の一例を示す図である。
【図２５】図２５は、部位ラベル画像の一例を示す図である。
【図２６】図２６は、実施例の第１認識処理の一例を示すフローチャートである。
【図２７】図２７は、センサ位置関係算出処理の一例を示すフローチャートである。
【図２８】図２８は、組合せ決定処理の一例を示すフローチャートである。
【図２９】図２９は、姿勢認識処理の一例を示すフローチャートである。
【図３０】図３０は、辞書決定処理の一例を示すフローチャートである。
【図３１】図３１は、実施例の第２認識処理の一例を示すフローチャートである。
【図３２】図３２は、認識プログラムを実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【０００９】
以下、図面に基づいて、本願の開示する認識プログラム、認識方法および認識装置の実施例を詳細に説明する。なお、本実施例により、開示技術が限定されるものではない。また、以下の実施例は、矛盾しない範囲で適宜組みあわせてもよい。
【実施例】
【００１０】
図１は、実施例の認識システムの構成の一例を示す図である。図１に示す認識システム１は、距離センサ１０ａ，１０ｂと、認識装置１００とを有する。なお、以下の説明では、距離センサ１０ａ，１０ｂを区別しない場合には、単に距離センサ１０と表現する。また、認識システム１では、距離センサ１０の数は限定されず、複数であれば任意の数の距離センサ１０を有するようにしてもよい。距離センサ１０ａ，１０ｂと認識装置１００との間は、有線または無線にて、相互に通信可能に接続される。【００１１】
認識システム１は、被写体である人物５を距離センサ１０で測定し、測定結果に基づいて、認識装置１００が人物５の姿勢等を認識するシステムの一例である。【００１２】
距離センサ１０は、例えば、赤外線レーザ等を用いて対象物の距離を画素ごとに測定（センシング）し、例えば横３２０×縦２４０画素の距離画像を出力する。距離画像には、各画素までの距離および角度が含まれる。つまり、距離画像は、距離センサ（深度センサ）１０から見た被写体の深度を表す深度画像である。距離センサ１０は、例えば、概ね１５ｍまでの距離にある対象物（被写体）の距離を測定する。【００１３】
ここで、図２および図３を用いて、距離センサ１０の配置について説明する。図２と図３は、複数の距離センサの配置の一例を示す図である。両者とも体操競技における例であるが、他のスポーツや、その他人の動きに応じた配置が可能となる。図２は、つり輪競技の場合における距離センサ１０の配置の一例である。なお、図２の例では、距離センサ１０を３台用いる場合の配置を示している。図２に示すように、メインセンサ１０ａは、つり輪２１における選手の多数が正面を向く方向の位置に配置する。サブセンサ１０ｂは、つり輪２１の斜め後方向の位置に配置する。サブセンサ１０ｃは、つり輪２１の斜め後方向の位置であって、サブセンサ１０ｂと反対側の位置に配置する。【００１４】
図３は、複数の距離センサの配置の一例を示す図である。なお、図３の例では、距離センサ１０を２台用いる場合の配置を示している。図３に示すように、メインセンサ１０ａは、あん馬２２における選手の正面方向の位置に配置する。サブセンサ１０ｂは、あん馬２２の斜め後方向のメインセンサ１０ａの軸線上から４５°程度斜めの位置に配置する。【００１５】
ここで、図４から図７を用いてオクルージョンについて説明する。図４および図５は、物体によるオクルージョンの一例を示す図である。図４では、領域２４に示すように、あん馬競技を行う人物の足の一部が、物体である器具のあん馬の後方に隠れるオクルージョンが発生している。同様に、図５では、領域２５に示すように、あん馬競技を行う人物の足の一部が、物体である器具のあん馬の後方に隠れるオクルージョンが発生している。【００１６】
図６および図７は、セルフオクルージョンの一例を示す図である。図６では、領域２６に示すように、あん馬競技を行う人物の腕の一部が足の後方に隠れるオクルージョンが発生している。図７では、領域２７に示すように、つり輪競技を行う人物の腕が胴体と重なりオクルージョンが発生している。【００１７】
図１の説明に戻って、認識装置１００は、複数の距離センサ１０から入力される距離画像に基づいて、人物５の姿勢等を認識する。認識装置１００は、被写体である人物５までの距離をセンシングする複数の距離センサ１０同士の位置関係を取得する。認識装置１００は、複数の距離センサ１０に含まれる個別の距離センサ１０で取得したセンシングデータのそれぞれに基づいて、個別の距離センサ１０それぞれに対する被写体である人物５の向き（姿勢）を、複数の分類のうちいずれかに、それぞれ仮分類する。認識装置１００は、個別の距離センサ１０それぞれに対する前記被写体の向きの仮分類の結果に基づいて、複数の距離センサ１０同士の位置関係に対応する組合せに対して、該組合せごとの尤度を算出する。認識装置１００は、算出した組合せごとの尤度に応じて、個別の距離センサ１０それぞれに対応する被写体である人物５の向き（姿勢）を分類する。これにより、認識装置１００は、オクルージョンの発生による人物５の向き（姿勢）の分類精度、つまり認識精度の低下を抑止できる。【００１８】
また、認識装置１００は、被写体である人物５までの距離をセンシングする複数の距離センサ１０同士の位置関係を取得する。認識装置１００は、複数の距離センサ１０に含まれる個別の距離センサ１０で取得したセンシングデータを取得する。認識装置１００は、取得したセンシングデータのそれぞれと、個別の距離センサ１０それぞれに対する被写体の向きに応じて選択された骨格認識辞書とに基づいて、個別の距離センサ１０から見た被写体の骨格の３次元位置を、それぞれ推定する。認識装置１００は、個別の距離センサ１０それぞれから見た被写体の骨格の３次元位置の推定の結果と、複数の距離センサ１０同士の位置関係とに基づいて、被写体の骨格の３次元位置を決定する。これにより、認識装置１００は、オクルージョンの発生による認識精度の低下を抑止できる。【００１９】
次に、図８を用いて認識装置１００の機能構成について説明する。図８は、実施例の認識装置の構成の一例を示すブロック図である。図８に示すように、認識装置１００は、通信部１１０と、表示部１１１と、操作部１１２と、記憶部１２０と、制御部１３０とを有する。なお、認識装置１００は、図８に示す機能部以外にも既知のコンピュータが有する各種の機能部、例えば各種の入力デバイスや音声出力デバイス等の機能部を有することとしてもかまわない。認識装置１００の一例としては、可搬型のパーソナルコンピュータ等を採用できる。なお、認識装置１００には、上記の可搬型のパーソナルコンピュータのみならず、据置型のパーソナルコンピュータを採用することもできる。【００２０】
通信部１１０は、例えば、ＮＩＣ（Network  Interface  Card）等によって実現される。通信部１１０は、距離センサ１０と有線または無線で接続され、距離センサ１０との間で情報の通信を司る通信インタフェースである。【００２１】
表示部１１１は、各種情報を表示するための表示デバイスである。表示部１１１は、例えば、表示デバイスとして液晶ディスプレイ等によって実現される。表示部１１１は、制御部１３０から入力された表示画面等の各種画面を表示する。【００２２】
操作部１１２は、認識装置１００のユーザから各種操作を受け付ける入力デバイスである。操作部１１２は、例えば、入力デバイスとして、キーボードやマウス等によって実現される。操作部１１２は、ユーザによって入力された操作を操作情報として制御部１３０に出力する。なお、操作部１１２は、入力デバイスとして、タッチパネル等によって実現されるようにしてもよく、表示部１１１の表示デバイスと、操作部１１２の入力デバイスとは、一体化されるようにしてもよい。【００２３】
記憶部１２０は、例えば、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ等の半導体メモリ素子、ハードディスクや光ディスク等の記憶装置によって実現される。記憶部１２０は、位置関係記憶部１２１と、組合せ記憶部１２２と、姿勢認識辞書記憶部１２３と、骨格認識辞書記憶部１２４とを有する。また、記憶部１２０は、制御部１３０での処理に用いる情報を記憶する。【００２４】
位置関係記憶部１２１は、距離センサ１０の位置関係に関する情報を記憶する。位置関係記憶部１２１は、各距離センサ１０のデータを、最も主要な情報（例えば、演技者の正面からの距離画像）を取得するメインセンサ１０の位置座標、または、ワールド座標に統合する場合の位置座標を、各距離センサ１０に対応付けて記憶する。また、位置関係記憶部１２１は、各距離センサ１０に対応するベクトルをｘｚ平面およびｙｚ平面に射影した場合の角度を示す自転方向角度および倒立方向角度を記憶する（センサから対象に向けた距離方向がｚ軸、ｚ軸に垂直な高さ方向がｙ軸、水平方向をｘ軸と定義する）。なお、自転方向とは、被写体である人物５の頭部から足に向かう軸に対して回転する方向、つまり、人物５が直立した状態で身体をひねる方向である。また、倒立方向とは、直立した人物５が前に倒れる方向、つまり、人物５が前転（宙返り）を行う方向である。【００２５】
組合せ記憶部１２２は、各距離センサ１０間の角度に基づいて算出された姿勢番号の全ての組合せを記憶する。図９は、組合せ記憶部の一例を示す図である。図９に示すように、組合せ記憶部１２２は、「自転方向」、「倒立方向」と行った項目を有する。「自転方向」は、自転方向における各距離センサ１０間の姿勢番号の組合せを示す情報である。「倒立方向」は、倒立方向における各距離センサ１０間の姿勢番号の組合せを示す情報である。【００２６】
ここで、図１０を用いて姿勢番号について説明する。図１０は、姿勢認識範囲および姿勢認識単位の一例を示す図である。図１０に示すように、本実施例では、姿勢認識単位として、人物５の向き、つまり姿勢を３０°単位で認識する。なお、以下の説明では、人物５の向きを認識することを姿勢認識という。【００２７】
本実施例では、円を３０°ごとに分けて、人物５の正面方向から反時計回りに姿勢番号を「１」〜「１２」まで振ることで、人物５の向きを姿勢番号で表す。また、姿勢番号は、人物５の方向として４方向にグループ分けされる。グループ「０」は、正面方向であって姿勢番号「１２」、「１」、「２」が属する。グループ「１」は、人物５の右手方向であって姿勢番号「９」、「１０」、「１１」が属する。グループ「２」は、人物５の後ろ方向であって姿勢番号「６」、「７」、「８」が属する。グループ「３」は、人物５の左手方向であって姿勢番号「３」、「４」、「５」が属する。【００２８】
図１０の例では、姿勢認識範囲はグループ「０」〜「３」に対応し、グループ「０」が正面方向の姿勢認識範囲、グループ「１」が右手方向の姿勢認識範囲、グループ「２」が後ろ方向の姿勢認識範囲、グループ「３」が左手方向の姿勢認識範囲となる。なお、骨格認識で用いる骨格認識辞書記憶部１２４は、機械学習において姿勢認識範囲よりも左右に姿勢番号１つ分範囲を広げて学習を行う。例えば、グループ「０」の姿勢認識範囲における骨格認識学習範囲は、姿勢番号「１１」、「１２」、「１」、「２」、「３」の範囲となる。これは、姿勢認識の若干の誤差が発生した場合でも、骨格認識を正常に行うことができるように備えるものである。【００２９】
図８の説明に戻って、姿勢認識辞書記憶部１２３は、距離画像が、いずれの姿勢に対応するのかを判定する際に用いられる辞書情報を記憶する。姿勢認識辞書記憶部１２３は、例えば、姿勢を一意に識別する姿勢番号と、係る姿勢番号に対応する距離画像の特徴とを対応付けて記憶する。なお、姿勢認識辞書記憶部１２３は、種々の距離画像について機械学習を行うことで生成される。この場合、機械学習のアルゴリズムとしては、例えば、ランダムフォレストやディープラーニングを用いることができる。【００３０】
骨格認識辞書記憶部１２４は、姿勢番号（辞書番号）ごとの仮定の関節位置（骨格位置）を示す辞書情報である。骨格認識辞書記憶部１２４は、例えば、姿勢番号と、係る姿勢番号に対応する距離画像と、人物の関節位置の情報（骨格辞書情報）とを対応づける。図示を省略するが、各姿勢番号に対応する骨格辞書情報がそれぞれ存在するものとする。すなわち、骨格認識辞書記憶部１２４は、距離画像から部位ラベル画像を得るために用いるマルチクラス識別器の一例である。なお、骨格認識辞書記憶部１２４は、姿勢番号に対応する種々の距離画像と、人物の関節位置の情報とについて機械学習を行うことで生成される。この場合、機械学習のアルゴリズムとしては、例えば、ランダムフォレストやディープラーニングを用いることができる。【００３１】
制御部１３０は、例えば、ＣＰＵ（Central  Processing  Unit）やＧＰＵ（Graphics  Processing  Unit）等によって、内部の記憶装置に記憶されているプログラムがＲＡＭを作業領域として実行されることにより実現される。また、制御部１３０は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現されるようにしてもよい。【００３２】
制御部１３０は、取得部１３１と、算出部１３２と、第１決定部１３３と、姿勢認識部１３４と、推定部１３５と、第２決定部１３６とを有し、以下に説明する情報処理の機能や作用を実現または実行する。すなわち、制御部１３０の各処理部は、第１認識処理および第２認識処理を実行する。なお、制御部１３０の内部構成は、図８に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。【００３３】
取得部１３１は、通信部１１０を介して、各距離センサ１０から距離画像（センシングデータ）を受信して取得する。取得部１３１は、取得した距離画像を算出部１３２、姿勢認識部１３４および推定部１３５に出力する。【００３４】
算出部１３２は、取得部１３１から距離画像が入力されると、距離センサ１０ごとの距離画像を点群データに変換する。点群データは、距離画像の各画素について、個別の距離センサ１０を基準とした座標におけるｘ，ｙ，ｚの３軸で表す点に変換したデータである。算出部１３２は、各距離センサ１０の変換した点群データを、１つの座標に統合する。【００３５】
ここで、図１１から図１３を用いて、点群データの統合について説明する。図１１は、複数の距離センサの点群データの統合の一例を示す図である。図１１に示すように、算出部１３２は、人物５を測定するメインセンサ１０ａおよびサブセンサ１０ｂの出力である距離画像３１ａ，３１ｂに基づいて、それぞれの点群データを生成する。算出部１３２は、生成した各点群データを、例えば、メインセンサ１０ａの座標に統合し、統合した点群データ３２を生成する。【００３６】
算出部１３２は、点群データを統合する際に、統合した座標で各点群データの位置合わせを行う。算出部１３２は、キャリブレーションによって、各距離センサ１０の座標を変換するためのセンサパラメータおよびアフィン変換行列を決定する。なお、キャリブレーションは、キャリブレーション用に選択された器具、あるいは、汎用のキャリブレーション用治具を用いて行われる。【００３７】
位置合わせ用センサパラメータは、ｘ軸中心回転角度を表すθｘｒｏｔ、ｙ軸中心回転角度を表すθｙｒｏｔ、ｚ軸中心回転角度を表すθｚｒｏｔ、ｘ軸平行移動を表すｔｘ、ｙ軸平行移動を表すｔｙ、ｚ軸平行移動を表すｔｚとなる。アフィン変換行列は、下記に示す式（１）〜（４）となる。式（１）は、ｘ軸回りの回転を表し、θ＝θｘｒｏｔとなる。式（２）は、ｙ軸回りの回転を表し、θ＝θｙｒｏｔとなる。式（３）は、ｚ軸回りの回転を表し、θ＝θｚｒｏｔとなる。式（４）は、平行移動を表す。【００３８】
【数１】
2019069358.tif 000003
【数２】
2019069358.tif 000004
【数３】
2019069358.tif 000005
【数４】
2019069358.tif 000006
【００３９】
図１２は、各距離センサの座標をワールド座標に統合する場合の一例を示す図である。図１２の例では、算出部１３２は、メインセンサ１０ａの座標と、サブセンサ１０ｂの座標とを、センサパラメータ１１ａ，１１ｂをそれぞれ用いて、ワールド座標に統合する。【００４０】
図１３は、各距離センサの座標をメインセンサの座標に統合する場合の一例を示す図である。図１３の例では、算出部１３２は、メインセンサ１０ａの座標と、サブセンサ１０ｂの座標とを、センサパラメータ１２ａ，１２ｂをそれぞれ用いて、メインセンサ１０ａの座標に統合する。この場合、メインセンサ１０ａに対応するセンサパラメータ１２ａは、全てゼロとなる。【００４１】
次に、算出部１３２は、キャリブレーションにより求めた統合した点群データに対応する各センサパラメータから、各距離センサ１０の本来の位置に戻すための逆方向アフィン変換行列を生成する。この場合、ｘ軸はθ＝−θｘｒｏｔ、ｙ軸はθ＝−θｙｒｏｔ、ｚ軸はθ＝−θｚｒｏｔとなる。【００４２】
算出部１３２は、各距離センサ１０について、単位ベクトル、例えば、ｚ方向単位ベクトルに逆方向アフィン変換行列をかけて、変換後のベクトルを算出する。算出部１３２は、各距離センサ１０に対応する変換後の各ベクトルをｘｚ平面に射影し、自転方向角度を取得する。つまり、算出部１３２は、各距離センサ１０の平面上の設置位置を決定する。【００４３】
また、算出部１３２は、各距離センサ１０に対応する変換後の各ベクトルをｙｚ平面に射影し、倒立方向角度を取得する。つまり、算出部１３２は、各距離センサ１０の相対高さおよび仰角を決定する。なお、ここでは簡易化のため、各距離センサ１０の相対高さおよび仰角は、同じとなるように設定される場合を仮定し、各距離センサ１０に対応するベクトルは、ほぼ同じとする。算出部１３２は、取得した自転方向角度および倒立方向角度を位置関係記憶部１２１に記憶する。算出部１３２は、自転方向角度および倒立方向角度を位置関係記憶部１２１に記憶すると、組合せ決定指示を第１決定部１３３に出力する。【００４４】
ここで、図１４および図１５を用いて、各距離センサ１０の位置に対応するベクトルを説明する。図１４は、ｘｚ平面での各距離センサの位置の一例を示す図である。図１４の例では、メインセンサ１０ａおよびサブセンサ１０ｂに対応する各ベクトルは、センサ配置を反映した方向となっている。図１５は、ｙｚ平面での各距離センサの位置の一例を示す図である。前述のように、図１５の例では、メインセンサ１０ａおよびサブセンサ１０ｂに対応する各ベクトルは、ほぼ同じ方向となっている。【００４５】
図８の説明に戻って、第１決定部１３３は、算出部１３２から組合せ決定指示が入力されると、位置関係記憶部１２１を参照し、各距離センサ１０の自転方向角度および倒立方向角度を取得する。第１決定部１３３は、取得した各距離センサ１０の自転方向角度および倒立方向角度に基づいて、各距離センサ１０間の角度、つまり各距離センサ１０に対応するベクトル間の角度を決定する。【００４６】
第１決定部１３３は、自転方向および倒立方向のそれぞれについて、各距離センサ１０間の角度に基づいて、姿勢番号の全ての組合せを決定する。第１決定部１３３は、決定した組合せを組合せ記憶部１２２に記憶する。【００４７】
図１６および図１７に決定した組合せの例を示す。図１６は、自転方向における姿勢番号の全ての組合せの一例を示す図である。図１６の例では、メインセンサ１０ａおよびサブセンサ１０ｂ間の角度に対応する姿勢番号の全ての組合せとして、「１−５」、「２−６」、「３−７」、・・・といった１２組の組合せが決定される。この１２組の組合せは、メインセンサ１０ａおよびサブセンサ１０ｂの位置関係として可能性のある組合せとなる。【００４８】
図１７は、倒立方向における姿勢番号の全ての組合せの一例を示す図である。図１７の例では、メインセンサ１０ａおよびサブセンサ１０ｂ間の角度に対応する姿勢番号の全ての組合せとして、「１−１」、「２−２」、「３−３」、・・・といった１２組の組合せが決定される。この１２組の組合せは、メインセンサ１０ａおよびサブセンサ１０ｂの位置関係として可能性のある組合せとなる。なお、第１決定部１３３は、距離センサ１０が３台以上の場合についても、同様に組合せを決定する。【００４９】
このように、算出部１３２および第１決定部１３３は、被写体である人物５までの距離をセンシング（測定）する複数の距離センサ１０同士の位置関係を取得する取得部の一例である。なお、この場合の取得部は、各距離センサ１０から距離画像を取得する取得部１３１を含めて取得部としてもよい。【００５０】
図８の説明に戻って、姿勢認識部１３４には、取得部１３１から各距離センサ１０に対応する距離画像が入力される。姿勢認識部１３４は、姿勢認識辞書記憶部１２３を参照し、各距離センサ１０の距離画像に基づいて、距離センサ１０ごとに姿勢認識を実行する。姿勢認識部１３４は、姿勢認識の結果である被写体の向き（姿勢）の確率を、自転方向および倒立方向の姿勢番号の組合せごとに算出する。姿勢認識部１３４は、各距離センサ１０の自転方向および倒立方向の姿勢番号がそれぞれ１２通りであるので、例えば、１４４通りのうち確率が高い上位１５組を用いる。なお、自転方向および倒立方向の姿勢番号の組合せごとの確率は、上位１５組に限られず、任意の組数を用いてもよい。【００５１】
姿勢認識部１３４は、自転方向および倒立方向のそれぞれについて、組合せ記憶部１２２を参照し、距離センサ１０間の姿勢番号の組合せごとに、被写体の向きの確率を加算して、距離センサ１０間の姿勢番号の組合せごとの尤度を算出する。姿勢認識部１３４は、例えば、組合せ「２−６」に対応するメインセンサ１０ａの姿勢番号「２」の確率が「０．３」、サブセンサ１０ｂの姿勢番号「６」の確率が「０．４」であるとすると、組合せ「２−６」の尤度は「０．７」であると算出する。姿勢認識部１３４は、全ての組合せの尤度を算出し、距離センサ１０間の姿勢番号の組合せごとの尤度が最大となる組合せの姿勢番号を決定する。姿勢認識部１３４は、決定した姿勢番号を距離センサ１０ごとの辞書番号として決定する。辞書番号は、骨格認識辞書記憶部１２４の姿勢番号に対応し、辞書番号によって、被写体の骨格の３次元位置の推定において用いる骨格認識辞書を指定する番号である。姿勢認識部１３４は、決定した各距離センサ１０における自転方向および倒立方向辞書番号を推定部１３５に出力する。【００５２】
図１８は、自転方向における辞書番号の決定の一例を示す図である。図１８に示すように、例えば、自転方向において、組合せ「２−６」の尤度「０．７」が最大であった場合には、姿勢番号「２」をメインセンサ１０ａの辞書番号と決定し、姿勢番号「６」をサブセンサ１０ｂの辞書番号と決定する。【００５３】
図１９は、倒立方向における辞書番号の決定の一例を示す図である。図１９に示すように、例えば、倒立方向において、組合せ「１０−１０」の尤度「０．８」が最大であった場合には、姿勢番号「１０」をメインセンサ１０ａおよびサブセンサ１０ｂの辞書番号と決定する。【００５４】
ここで、図２０および図２１を用いて姿勢認識結果と骨格認識辞書の選択範囲について説明する。図２０は、倒立方向における姿勢認識結果と骨格認識辞書の選択範囲の一例を示す図である。図２０に示すように、倒立方向における姿勢認識結果は、正立、うつ伏せ、倒立、仰向けの４方向に分類される。また、４方向のそれぞれについて、骨格認識辞書の選択範囲は、姿勢認識結果よりも広がる方向に姿勢番号１つ分ずつ拡大している。すなわち、正立の姿勢認識結果３３ａには骨格認識辞書範囲３４ａが対応し、うつ伏せの姿勢認識結果３３ｂには骨格認識辞書範囲３４ｂが対応する。また、倒立の姿勢認識結果３３ｃには骨格認識辞書範囲３４ｃが対応し、仰向けの姿勢認識結果３３ｄには骨格認識辞書範囲３４ｄが対応する。それぞれの骨格認識辞書範囲が姿勢認識結果よりも範囲が広いことは、姿勢認識の誤差に備えるものである。円３５に示す姿勢認識の結果の例では、メインセンサ１０ａおよびサブセンサ１０ｂに対応するベクトルは、いずれも０°方向、つまり姿勢番号「１」に向いている。このとき、姿勢認識結果は「正立」、骨格認識辞書範囲も「正立」となる。【００５５】
図２１は、自転方向における姿勢認識結果と骨格認識辞書の選択範囲の一例を示す図である。図２１に示すように、自転方向における姿勢認識結果は、正面、右、背面、左の４方向に分類される。また、４方向のそれぞれについて、骨格認識辞書の選択範囲は、姿勢認識結果よりも広がる方向に姿勢番号１つ分ずつ拡大している。すなわち、正面の姿勢認識結果３６ａには骨格認識辞書範囲３７ａが対応し、右の姿勢認識結果３６ｂには骨格認識辞書範囲３７ｂが対応する。また、背面の姿勢認識結果３６ｃには骨格認識辞書範囲３７ｃが対応し、左の姿勢認識結果３６ｄには骨格認識辞書範囲３７ｄが対応する。それぞれの骨格認識辞書範囲が姿勢認識結果よりも範囲が広いことは、姿勢認識の誤差に備えるものである。【００５６】
円３８に示す姿勢認識の結果の例では、メインセンサ１０ａに対応するベクトル３９ａは、３３０°方向、つまり姿勢番号「２」に向いている。このとき、姿勢認識結果は「正面」、骨格認識辞書範囲も「正面」となる。また、サブセンサ１０ｂに対応するベクトル３９ｂは、２１０°方向、つまり姿勢番号「６」に向いている。このとき、姿勢認識結果は「背面」、骨格認識辞書範囲も「背面」となる。【００５７】
このように、姿勢認識部１３４は、複数の距離センサ１０に含まれる個別の距離センサ１０で取得したセンシングデータのそれぞれに基づいて、個別の距離センサ１０それぞれに対する被写体の向きを、複数の分類のうちいずれかに、それぞれ仮分類する。なお、複数の分類は、姿勢番号に相当する。姿勢認識部１３４は、個別の距離センサ１０それぞれに対する被写体の向きの仮分類の結果（姿勢番号）に基づいて、複数の距離センサ１０同士の位置関係に対応する組合せに対して、該組合せごとの尤度を算出する。姿勢認識部１３４は、算出した組合せごとの尤度に応じて、個別の距離センサ１０それぞれに対応する被写体の向きを分類する。なお、分類される被写体の向きは、姿勢番号に対応する辞書番号となる。つまり、姿勢認識部１３４は、被写体の向きを仮分類する第１分類部、組合せごとの尤度を算出する算出部、および、組合せごとの尤度に応じて各距離センサ１０に対応する被写体の向きを分類する第２分類部の一例である。【００５８】
また、姿勢認識部１３４は、被写体が倒立する方向、および、被写体が自転する方向における複数の距離センサ１０同士の位置関係に対応する組合せに対して、該組合せごとの尤度を算出する。また、姿勢認識部１３４は、組合せに対応する個別の距離センサ１０それぞれの尤度を加算した尤度に応じて、個別の距離センサ１０それぞれに対応する被写体の向きを分類する。【００５９】
図８の説明に戻って、推定部１３５には、取得部１３１から距離画像が入力され、姿勢認識部１３４から各距離センサ１０における自転方向および倒立方向の辞書番号が入力される。推定部１３５は、骨格認識辞書記憶部１２４を参照し、各距離センサ１０の距離画像および辞書番号に基づいて、骨格認識辞書を用いて部位ラベル画像を生成する。なお、部位ラベル画像は、被写体である人物５の部位を距離（深度）によりラベル分けした画像である。【００６０】
推定部１３５は、生成した部位ラベル画像から各関節部位の境界画素を抽出する。推定部１３５は、抽出した各関節部位の境界画素に基づいて、各距離センサ１０の距離画像の境界画素に対応する画素を点群に変換し、各関節部位の境界点群を抽出する。推定部１３５は、距離センサ１０ごとの抽出した各関節部位の境界点群を第２決定部１３６に出力する。【００６１】
言い換えると、推定部１３５は、複数の距離センサ１０に含まれる個別の距離センサ１０で取得したセンシングデータを取得する。推定部１３５は、取得したセンシングデータのそれぞれと、個別の距離センサ１０それぞれに対する被写体の向きに応じて選択された骨格認識辞書とに基づいて、個別の距離センサ１０から見た被写体の骨格の３次元位置を、それぞれ推定する。また、推定部１３５は、センシングデータに基づいて、骨格認識辞書を用いて被写体の部位を部位ラベルによって表す部位ラベル画像を生成し、生成した部位ラベル画像における部位ラベルに基づいて、被写体の骨格の３次元位置を推定する。また、推定部１３５は、センシングデータのうち、部位ラベルの境界近傍のデータを用いて、被写体の骨格の３次元位置を推定する。【００６２】
なお、推定部１３５は、各距離センサ１０の各関節部位の境界点群について分散を算出し、算出した分散の逆数を用いて境界点群をランダムに間引き、または、増加させた境界点群を第２決定部１３６に出力するようにしてもよい。すなわち、推定部１３５は、個別の距離センサ１０それぞれについて、境界近傍のデータの分散を算出する。推定部１３５は、算出した分散の逆数を用いて、個別の距離センサ１０それぞれのセンシングデータをランダムに間引いたセンシングデータ、または、個別の距離センサ１０それぞれのセンシングデータをランダムに増加させたセンシングデータを用いて、被写体の骨格の３次元位置を推定する。【００６３】
ここで、図２２および図２３を用いて、各関節部位の境界点群について説明する。図２２は、部位ラベル画像における境界画素の一例を示す図である。図２２の部位ラベル画像４１では、部位ラベルの境界にある画素を関節部位の境界画素として抽出している。境界画素４２ａ，４２ｂは、それぞれ右手首および右肘に対応する。また、境界画素４２ｃ，４２ｄは、それぞれ左手首および左肘に対応する。【００６４】
図２３は、各関節部位の境界点群の一例を示す図である。図２３の点群データ４３は、部位ラベル画像４１に対応する距離画像をｘ，ｙ，ｚの３軸の座標軸に変換したものである。点群データ４３では、図２２で抽出した関節部位の境界画素に対応する点群を関節部位の境界点群として抽出している。境界点群４４ａ，４４ｂは、境界画素４２ａ，４２ｂに対応し、それぞれ右手首および右肘に対応する。また、境界点群４４ｃ，４４ｄは、境界画素４２ｃ，４２ｄに対応し、それぞれ左手首および左肘に対応する。【００６５】
図８の説明に戻って、第２決定部１３６には、推定部１３５から距離センサ１０ごとの抽出した各関節部位の境界点群が入力される。第２決定部１３６は、位置関係記憶部１２１を参照し、距離センサ１０ごとの抽出した各関節部位の境界点群を、センサパラメータを用いてメインセンサ１０ａの座標に統合する。なお、第２決定部１３６は、統合する座標としてワールド座標を用いてもよい。【００６６】
第２決定部１３６は、統合した各関節部位の境界点群について重心を求め、重心の座標を関節座標と決定する。すなわち、第２決定部１３６は、被写体である人物５の骨格の３次元位置を決定する。第２決定部１３６は、決定した関節座標を、例えば、距離画像とのフィッティングを行う処理部や処理装置に出力する。つまり、第２決定部１３６は、決定した関節座標を、例えば、体操の採点を行う処理部や処理装置に出力したり、骨格モデルとして、ＣＧ（Computer  Graphics）アニメーションに利用可能に出力したりすることができる。さらに、第２決定部１３６は、決定した関節座標を、例えば、特定のフォーマットに加工して、図示しない外部記憶装置等に出力するようにしてもよい。なお、第２決定部１３６は、決定した関節座標に基づいて、３次元モデルを生成して表示部１１１に出力して表示するようにしてもよい。【００６７】
言い換えると、第２決定部１３６は、個別の距離センサ１０それぞれから見た被写体の骨格の３次元位置の推定の結果と、複数の距離センサ１０同士の位置関係とに基づいて、被写体の骨格の３次元位置を決定する。また、第２決定部１３６は、部位ラベルの境界の重心を関節位置と決定する。【００６８】
また、第２決定部１３６は、被写体である人物５までの距離が最も近い距離センサ１０の各関節部位の境界点群について重心を求めるようにしてもよい。つまり、第２決定部１３６は、複数の距離センサ１０のうち、被写体までの距離が最も近い距離センサ１０から見た骨格の３次元位置の推定結果を用いて、境界の重心を算出するようにしてもよい。また、第２決定部１３６は、決定した複数の関節位置（関節座標）に基づいて、例えば、両肩の中心や股等の部位の位置（座標）を決定するようにしてもよい。また、第２決定部１３６は、頭部やつま先等では、部位ラベルの重心を、当該部位ラベルに対応する部位の位置（座標）と決定してもよい。【００６９】
ここで、図２４および図２５を用いて関節座標と部位ラベルについて説明する。図２４は、関節座標の一例を示す図である。図２４は、人物５ａについてラベル分けが行われ、各関節座標４５で表される各関節位置と、部位ラベルの各重心４６で表される各部位と、複数の関節座標４５に基づく各部位の位置４７とが決定された状態を示す。【００７０】
図２５は、部位ラベル画像の一例を示す図である。図２５に示す人物５ｂの部位ラベル画像は、図２４の人物５ａについてのラベル分けに対応する部位ラベル画像である。なお、人物５ａと人物５ｂとは、右手の位置が異なるが同一人物であるものとする。【００７１】
次に、実施例の認識装置１００の動作について説明する。まず、図２６から図３０を用いて、姿勢認識を行う第１認識処理について説明する。図２６は、実施例の第１認識処理の一例を示すフローチャートである。【００７２】
認識装置１００の取得部１３１は、各距離センサ１０から距離画像を受信して取得する。取得部１３１は、取得した距離画像を算出部１３２、姿勢認識部１３４および推定部１３５に出力する。算出部１３２は、取得部１３１から距離画像が入力されると、センサ位置関係算出処理を実行する（ステップＳ１）。【００７３】
ここで、図２７を用いてセンサ位置関係算出処理について説明する。図２７は、センサ位置関係算出処理の一例を示すフローチャートである。【００７４】
算出部１３２は、取得部１３１から距離画像が入力されると、距離センサ１０ごとの距離画像を点群データに変換する。算出部１３２は、各距離センサ１０の変換した点群データをメインセンサ１０ａの座標に統合する（ステップＳ１１）。【００７５】
算出部１３２は、統合した座標で各点群データのキャリブレーションを行う。算出部１３２は、キャリブレーションによって、各距離センサ１０のセンサパラメータおよびアフィン変換行列を決定する（ステップＳ１２）。【００７６】
算出部１３２は、各センサパラメータから各距離センサ１０の逆方向アフィン変換行列を生成する（ステップＳ１３）。算出部１３２は、各距離センサ１０について、ある単位ベクトルに逆方向アフィン変換行列をかけて、変換後のベクトルを算出する（ステップＳ１４）。【００７７】
算出部１３２は、各距離センサ１０に対応する変換後の各ベクトルをｘｚ平面に射影し、自転方向角度を取得する（ステップＳ１５）。また、算出部１３２は、各距離センサ１０に対応する変換後の各ベクトルをｙｚ平面に射影し、倒立方向角度を取得する（ステップＳ１６）。算出部１３２は、取得した自転方向角度および倒立方向角度を位置関係記憶部１２１に記憶し（ステップＳ１７）、組合せ決定指示を第１決定部１３３に出力して元の処理に戻る。これにより、算出部１３２は、各距離センサ１０の位置関係を算出できる。【００７８】
図２６の説明に戻って、第１決定部１３３は、算出部１３２から組合せ決定指示が入力されると、組合せ決定処理を実行する（ステップＳ２）。【００７９】
ここで、図２８を用いて組合せ決定処理について説明する。図２８は、組合せ決定処理の一例を示すフローチャートである。【００８０】
第１決定部１３３は、位置関係記憶部１２１を参照し、各距離センサ１０の自転方向角度および倒立方向角度を取得する。第１決定部１３３は、取得した各距離センサ１０の自転方向角度および倒立方向角度に基づいて、各距離センサ１０間の角度を決定する（ステップＳ２１）。【００８１】
第１決定部１３３は、自転方向および倒立方向のそれぞれについて、各距離センサ１０間の角度に基づいて、姿勢番号の全ての組合せを決定する（ステップＳ２２）。第１決定部１３３は、決定した組合せを組合せ記憶部１２２に記憶し（ステップＳ２３）、元の処理に戻る。これにより、第１決定部１３３は、各距離センサ１０間の角度に基づく姿勢番号の組合せを決定できる。【００８２】
図２６の説明に戻って、姿勢認識部１３４は、取得部１３１から各距離センサ１０に対応する距離画像が入力されると、姿勢認識処理を実行する（ステップＳ３）。【００８３】
ここで、図２９を用いて姿勢認識処理について説明する。図２９は、姿勢認識処理の一例を示すフローチャートである。【００８４】
姿勢認識部１３４は、姿勢認識辞書記憶部１２３を参照し、各距離センサ１０の距離画像に基づいて、距離センサ１０ごとに姿勢認識を実行する（ステップＳ３１）。姿勢認識部１３４は、姿勢認識の結果である被写体の向きの確率を、自転方向および倒立方向の姿勢番号の組合せごとに算出し（ステップＳ３２）、元の処理に戻る。これにより、姿勢認識部１３４は、被写体の向き（姿勢）を認識できる。【００８５】
図２６の説明に戻って、姿勢認識部１３４は、姿勢認識処理が終了すると、辞書決定処理を実行する（ステップＳ４）。【００８６】
ここで、図３０を用いて辞書決定処理について説明する。図３０は、辞書決定処理の一例を示すフローチャートである。【００８７】
姿勢認識部１３４は、自転方向および倒立方向について、組合せ記憶部１２２を参照し、距離センサ１０間の姿勢番号の組合せごとに、被写体の向きの確率を加算して、距離センサ１０間の姿勢番号の組合せごとの尤度を算出する（ステップＳ４１）。【００８８】
姿勢認識部１３４は、距離センサ１０間の姿勢番号の組合せごとの尤度が最大となる組合せの姿勢番号を決定する（ステップＳ４２）。姿勢認識部１３４は、決定した姿勢番号を距離センサ１０ごとの辞書番号として決定し（ステップＳ４３）、元の処理に戻る。これにより、姿勢認識部１３４は、骨格認識で用いる骨格認識辞書の辞書番号を決定できる。【００８９】
図２６の説明に戻って、姿勢認識部１３４は、決定した各距離センサ１０の辞書番号を推定部１３５に出力する（ステップＳ５）。これにより、認識装置１００は、人物５の姿勢認識の結果として、距離センサ１０ごとに用いる骨格認識辞書の辞書番号を出力することができる。すなわち、認識装置１００は、オクルージョンの発生による人物５の向きの分類精度、つまり認識精度の低下を抑止できる。また、認識装置１００は、複数の距離センサ１０の距離画像に基づく点群データを高速に統合して、精度よく姿勢認識を行うことができる。また、認識装置１００は、距離センサ１０が１台の場合と比べて、姿勢認識の精度を向上させることができる。なお、各距離センサ１０の位置が変化しない場合には、第１認識処理を繰返し実行する際に、位置関係算出処理および組合せ決定処理を省略するようにしてもよい。【００９０】
続いて、図３１を用いて骨格認識を行う第２認識処理について説明する。図３１は、実施例の第２認識処理の一例を示すフローチャートである。【００９１】
認識装置１００の推定部１３５には、取得部１３１から距離画像が入力され、姿勢認識部１３４から各距離センサ１０の辞書番号が入力される。推定部１３５は、骨格認識辞書記憶部１２４を参照し、各距離センサ１０の距離画像および辞書番号に基づいて、骨格認識辞書を用いて部位ラベル画像を生成する（ステップＳ１０１）。【００９２】
推定部１３５は、生成した部位ラベル画像から各関節部位の境界画素を抽出する（ステップＳ１０２）。推定部１３５は、抽出した各関節部位の境界画素に基づいて、各距離センサ１０の距離画像の境界画素に対応する画素を点群に変換し、各関節部位の境界点群を抽出する（ステップＳ１０３）。推定部１３５は、距離センサ１０ごとの抽出した各関節部位の境界点群を第２決定部１３６に出力する。【００９３】
第２決定部１３６は、位置関係記憶部１２１を参照し、推定部１３５から入力された距離センサ１０ごとの抽出した各関節部位の境界点群を、センサパラメータを用いてメインセンサ１０ａの座標に統合する（ステップＳ１０４）。第２決定部１３６は、統合した各関節部位の境界点群について重心を求め、重心の座標を関節座標と決定する（ステップＳ１０５）。第２決定部１３６は、決定した関節座標を、例えば他の処理部や処理装置に出力する（ステップＳ１０６）。これにより、認識装置１００は、オクルージョンの発生による認識精度の低下を抑止できる。また、複数の距離センサ１０（ｎ台）による点群の増加は、骨格認識の後段に位置するフィッティングにおける精度を、最大１／ｓｑｒｔ（ｎ）向上させることができる。また、認識装置１００は、高速および高精度な骨格認識結果を出力することができる。【００９４】
このように、認識装置１００は、被写体までの距離をセンシングする複数の距離センサ１０同士の位置関係を取得する。また、認識装置１００は、複数の距離センサ１０に含まれる個別の距離センサ１０で取得したセンシングデータのそれぞれに基づいて、個別の距離センサ１０それぞれに対する被写体の向きを、複数の分類のうちいずれかに、それぞれ仮分類する。また、認識装置１００は、個別の距離センサ１０それぞれに対する被写体の向きの仮分類の結果に基づいて、複数の距離センサ１０同士の位置関係に対応する組合せに対して、該組合せごとの尤度を算出する。また、認識装置１００は、算出した組合せごとの尤度に応じて、個別のセンサそれぞれに対応する被写体の向きを分類する。その結果、認識装置１００は、オクルージョンの発生による認識精度の低下を抑止できる。【００９５】
また、認識装置１００は、被写体が倒立する方向、および、被写体が自転する方向における複数の距離センサ１０同士の位置関係に対応する組合せに対して、該組合せごとの尤度を算出する。その結果、認識装置１００は、オクルージョンの発生による認識精度の低下を抑止できる。【００９６】
また、認識装置１００は、組合せに対応する個別の距離センサ１０それぞれの尤度を加算した尤度に応じて、個別の距離センサ１０それぞれに対応する被写体の向きを分類する。その結果、距離センサ１０における被写体の向きの分類精度を向上できる。【００９７】
また、認識装置１００は、被写体までの距離をセンシングする複数の距離センサ１０同士の位置関係を取得する。また、認識装置１００は、複数の距離センサ１０に含まれる個別の距離センサ１０で取得したセンシングデータを取得する。また、認識装置１００は、取得したセンシングデータのそれぞれと、個別の距離センサ１０それぞれに対する被写体の向きに応じて選択された骨格認識辞書とに基づいて、個別の距離センサ１０から見た被写体の骨格の３次元位置を、それぞれ推定する。また、認識装置１００は、個別の距離センサ１０それぞれから見た被写体の骨格の３次元位置の推定の結果と、複数の距離センサ１０同士の位置関係とに基づいて、被写体の骨格の３次元位置を決定する。その結果、認識装置１００は、オクルージョンの発生による認識精度の低下を抑止できる。【００９８】
また、認識装置１００は、センシングデータに基づいて、骨格認識辞書を用いて被写体の部位を部位ラベルによって表す部位ラベル画像を生成する。また、認識装置１００は、生成した部位ラベル画像における部位ラベルに基づいて、被写体の骨格の３次元位置を推定する。その結果、距離センサ１０ごとの被写体の骨格の３次元位置を推定できる。【００９９】
また、認識装置１００は、センシングデータのうち、部位ラベルの境界近傍のデータを用いて、被写体の骨格の３次元位置を推定する。その結果、認識装置１００は、距離画像から点群データへの変換の処理量を低減できる。【０１００】
また、認識装置１００は、部位ラベルの境界の重心を関節位置と決定する。その結果、認識装置１００は、関節の位置を決定できる。【０１０１】
また、認識装置１００は、複数の距離センサ１０のうち、被写体までの距離が最も近い距離センサ１０から見た骨格の３次元位置の推定結果を用いて、境界の重心を算出する。その結果、認識装置１００は、境界の重心の算出精度を向上させることができる。【０１０２】
また、認識装置１００は、個別の距離センサ１０それぞれについて、境界近傍のデータの分散を算出する。また、認識装置１００は、算出した分散の逆数を用いて、個別の距離センサ１０それぞれのセンシングデータをランダムに間引いたセンシングデータ、または、個別の距離センサ１０それぞれのセンシングデータをランダムに増加させたセンシングデータを用いて、被写体の骨格の３次元位置を推定する。その結果、認識装置１００は、境界の重心の算出速度の向上、または、算出精度の向上を図ることができる。【０１０３】
また、認識装置１００は、決定した複数の関節位置に基づいて、部位の位置を決定する。その結果、認識装置１００は、両肩の中心等の様な部位ラベルの境界の重心以外の位置を部位の位置と決定できる。【０１０４】
また、認識装置１００は、部位ラベルの重心を、該部位ラベルに対応する部位の位置と決定する。その結果、認識装置１００は、頭部等の様な部位ラベルの境界の重心以外の位置を部位の位置と決定できる。【０１０５】
なお、上記実施例では、姿勢認識を行う第１認識処理の結果を用いて、骨格認識を行う第２認識処理を実行したが、これに限定されない。例えば、姿勢認識に他の手法を用いて得られた結果に基づいて、本実施例の第２認識処理を実行して骨格認識を行ってもよい。また、本実施例の第１認識処理を実行して姿勢認識を行った結果に基づいて、他の手法を用いて骨格認識を行ってもよい。【０１０６】
また、上記実施例では、体操競技を行う人物５を測定して姿勢認識および骨格認識を行ったが、これに限定されない。例えば、フィギュアスケート等の他の採点競技や、リハビリテーションでの動作の検証、野球やゴルフ等のフォームの分析等にも適用してもよい。【０１０７】
また、上記実施例では、人物５の自転方向および倒立方向の２軸を用いたが、これに限定されない。例えば、さらに側転方向を加えて３軸としてもよいし、極座標を用いて人物５の背骨の向きと、両肩ラインの回転の３つの角度で表すようにしてもよい。【０１０８】
また、図示した各部の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、算出部１３２と第１決定部１３３と姿勢認識部１３４とを統合してもよい。また、図示した各処理は、上記の順番に限定されるものでなく、処理内容を矛盾させない範囲において、同時に実施してもよく、順序を入れ替えて実施してもよい。【０１０９】
さらに、各装置で行われる各種処理機能は、ＣＰＵ（またはＧＰＵ）上で、その全部または任意の一部を実行するようにしてもよい。また、各種処理機能は、ＣＰＵ（またはＧＰＵ）で解析実行されるプログラム上、またはワイヤードロジックによるハードウェア上で、その全部または任意の一部を実行するようにしてもよいことは言うまでもない。【０１１０】
ところで、上記の実施例で説明した各種の処理は、予め用意されたプログラムをコンピュータで実行することで実現できる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図３２は、認識プログラムを実行するコンピュータの一例を示す図である。【０１１１】
図３２に示すように、コンピュータ２００は、各種演算処理を実行するＣＰＵ２０１と、データ入力を受け付ける入力装置２０２と、モニタ２０３とを有する。また、コンピュータ２００は、記憶媒体からプログラム等を読み取る媒体読取装置２０４と、各種装置と接続するためのインタフェース装置２０５と、距離センサ１０や他の情報処理装置等と有線または無線により接続するための通信装置２０６とを有する。また、コンピュータ２００は、各種情報を一時記憶するＲＡＭ２０７と、ハードディスク装置２０８とを有する。また、各装置２０１〜２０８は、バス２０９に接続される。【０１１２】
ハードディスク装置２０８には、図８に示した取得部１３１、算出部１３２、第１決定部１３３、姿勢認識部１３４、推定部１３５および第２決定部１３６の各処理部と同様の機能を有する認識プログラムが記憶される。また、ハードディスク装置２０８には、位置関係記憶部１２１、組合せ記憶部１２２、姿勢認識辞書記憶部１２３、骨格認識辞書記憶部１２４、および、認識プログラムを実現するための各種データが記憶される。入力装置２０２は、例えば、コンピュータ２００のユーザから操作情報等の各種情報の入力を受け付ける。モニタ２０３は、例えば、コンピュータ２００のユーザに対して表示画面等の各種画面を表示する。インタフェース装置２０５は、例えば印刷装置等が接続される。通信装置２０６は、例えば、図８に示した通信部１１０と同様の機能を有し距離センサ１０や他の情報処理装置と接続され、距離センサ１０や他の情報処理装置と各種情報をやりとりする。【０１１３】
ＣＰＵ２０１は、ハードディスク装置２０８に記憶された各プログラムを読み出して、ＲＡＭ２０７に展開して実行することで、各種の処理を行う。また、これらのプログラムは、コンピュータ２００を図８に示した取得部１３１、算出部１３２、第１決定部１３３、姿勢認識部１３４、推定部１３５および第２決定部１３６として機能させることができる。【０１１４】
なお、上記の認識プログラムは、必ずしもハードディスク装置２０８に記憶されている必要はない。例えば、コンピュータ２００が読み取り可能な記憶媒体に記憶されたプログラムを、コンピュータ２００が読み出して実行するようにしてもよい。コンピュータ２００が読み取り可能な記憶媒体は、例えば、ＣＤ−ＲＯＭやＤＶＤ（Digital  Versatile  Disc）、ＵＳＢ（Universal  Serial  Bus）メモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ、ハードディスクドライブ等が対応する。また、公衆回線、インターネット、ＬＡＮ等に接続された装置にこの認識プログラムを記憶させておき、コンピュータ２００がこれらから認識プログラムを読み出して実行するようにしてもよい。
【符号の説明】
【０１１５】
１  認識システム
１０  距離センサ
１００  認識装置
１１０  通信部
１１１  表示部
１１２  操作部
１２０  記憶部
１２１  位置関係記憶部
１２２  組合せ記憶部
１２３  姿勢認識辞書記憶部
１２４  骨格認識辞書記憶部
１３０  制御部
１３１  取得部
１３２  算出部
１３３  第１決定部
１３４  姿勢認識部
１３５  推定部
１３６  第２決定部
【図１】
2019069358.tif 000007
【図２】
2019069358.tif 000008
【図３】
2019069358.tif 000009
【図４】
2019069358.tif 000010
【図５】
2019069358.tif 000011
【図６】
2019069358.tif 000012
【図７】
2019069358.tif 000013
【図８】
2019069358.tif 000014
【図９】
2019069358.tif 000015
【図１０】
2019069358.tif 000016
【図１１】
2019069358.tif 000017
【図１２】
2019069358.tif 000018
【図１３】
2019069358.tif 000019
【図１４】
2019069358.tif 000020
【図１５】
2019069358.tif 000021
【図１６】
2019069358.tif 000022
【図１７】
2019069358.tif 000023
【図１８】
2019069358.tif 000024
【図１９】
2019069358.tif 000025
【図２０】
2019069358.tif 000026
【図２１】
2019069358.tif 000027
【図２２】
2019069358.tif 000028
【図２３】
2019069358.tif 000029
【図２４】
2019069358.tif 000030
【図２５】
2019069358.tif 000031
【図２６】
2019069358.tif 000032
【図２７】
2019069358.tif 000033
【図２８】
2019069358.tif 000034
【図２９】
2019069358.tif 000035
【図３０】
2019069358.tif 000036
【図３１】
2019069358.tif 000037
【図３２】
2019069358.tif 000038
【国際調査報告】
2019069358.tif 000039
2019069358.tif 000040
2019069358.tif 000041