(57)【要約】【課題】移動する物体の移動方向に交差する交差方向に対する物体の一方側の部分と他方側の部分とを判別する。【解決手段】検出装置は、移動する物体の各点の位置情報を検出する検出部と、物体の移動方向と鉛直方向とに交差する交差方向において位置情報の変化量が所定の条件を満たす位置を基準位置として算出する基準算出部と、基準算出部が算出した基準位置に基づいた、移動方向と鉛直方向とを含む基準面に対して、第１側に配置される物体の第１部分と、基準面に対して第１側と反対の第２側に配置される物体の第２部分とを判別する判別部と、を備える。
2020026677.tif 000002
【特許請求の範囲】
【請求項１】
移動する物体の各点の位置情報を検出する検出部と、
前記物体の移動方向と鉛直方向とに交差する交差方向において前記位置情報の変化量が所定の条件を満たす位置を基準位置として算出する基準算出部と、
前記基準算出部が算出した前記基準位置に基づいた、前記移動方向と前記鉛直方向とを含む基準面に対して、第１側に配置される前記物体の第１部分と、前記基準面に対して前記第１側と反対の第２側に配置される前記物体の第２部分とを判別する判別部と、を備える検出装置。
【請求項２】
前記基準位置は、前記交差方向における前記物体の中心を含む部分の位置である、
請求項１に記載の検出装置。
【請求項３】
前記検出部は、前記位置情報として、前記物体の表面上の各点の三次元座標を含む点群データを検出し、
前記基準位置は、前記点群データに基づいて求められる、
請求項１または請求項２に記載の検出装置。
【請求項４】
前記基準位置は、前記点群データの座標の変化量が所定値以上となる第１基準位置によるものである、
請求項３に記載の検出装置。
【請求項５】
前記基準位置は、前記点群データに含まれる点について前記交差方向の各座標における前記鉛直方向の座標の最大値を算出し、前記交差方向の座標に対する前記最大値の変化量が所定値以上となる位置を前記第１基準位置とする、
請求項４に記載の検出装置。
【請求項６】
前記基準位置は、前記第１基準位置によって決まる所定の領域内の第２基準位置であり、
前記判別部は、前記第２基準位置に対して前記第１側に配置される部分を前記第１部分として判別し、前記第２基準位置に対して前記第２側に配置される部分を前記第２部分として判別する、
請求項４または請求項５に記載の検出装置。
【請求項７】
前記第１基準位置は、前記物体における前記第１側の位置と前記第２側の位置とを含み、
前記第１側の位置と前記第２側の位置との間を前記所定の領域とし、
前記所定の領域により前記第２基準位置を求める、
請求項６に記載の検出装置。
【請求項８】
前記基準算出部は、前記点群データに含まれる点について前記交差方向の各座標における前記移動方向の前方を正とした座標の極小値を算出し、前記交差方向の座標に対する前記極小値の変化量に基づいて前記第２基準位置を選択する、
請求項６または請求項７に記載の検出装置。
【請求項９】
前記基準算出部は、前記極小値が最大となる位置を前記第２基準位置として算出する、
請求項８に記載の検出装置。
【請求項１０】
前記判別部は、前記第２基準位置を含む面を前記基準面として、前記第１部分と前記第２部分とを判別する、
請求項６から請求項９のいずれか一項に記載の検出装置。
【請求項１１】
前記判別部は、前記基準位置と前記物体の部分とを結ぶ測地線と前記基準面との相対位置に基づいて、前記第１部分と前記第２部分とを判別する、
請求項１から請求項１０のいずれか一項に記載の検出装置。
【請求項１２】
前記判別部は、前記測地線において前記基準面に対して前記第１側に配置される部分の第１特徴量と、前記測地線において前記基準面に対して前記第２側に配置される部分の第２特徴量とに基づいて、前記測地線と前記基準面との相対位置を特定し、特定した前記測地線と前記基準面との相対位置に基づいて前記第１部分と前記第２部分とを判別する、
請求項１１に記載の検出装置。
【請求項１３】
前記第１特徴量は、前記基準面に対して前記第１側に配置される前記測地線上の複数の点についての各点と前記基準面との距離の平均であり、
前記第２特徴量は、前記基準面に対して前記第２側に配置される前記測地線上の複数の点についての各点と前記基準面との距離の平均である、
請求項１２に記載の検出装置。
【請求項１４】
前記第１特徴量は、前記基準面から前記第１側へ最も離れた前記測地線上の点と前記基準面との距離であり、
前記第２特徴量は、前記基準面から前記第２側へ最も離れた前記測地線上の点と前記基準面との距離である、
請求項１２または請求項１３に記載の検出装置。
【請求項１５】
前記判別部が判別した前記第１部分と前記第２部分とに基づいて、前記物体のモデル情報を算出するモデル生成部を備える、
請求項１から請求項１４のいずれか一項に記載の検出装置。
【請求項１６】
前記判別部が判別した前記第１部分と前記第２部分とに基づいて、前記物体の姿勢を推定する姿勢推定部を備える、
請求項１から請求項１５のいずれか一項に記載の検出装置。
【請求項１７】
前記物体は、前記第１部分と前記第２部分とが交互に前記移動方向に移動する、
請求項１から請求項１６のいずれか一項に記載の検出装置。
【請求項１８】
前記物体は人体を含み、
前記第１部分は、左半身の少なくとも一部であり、
前記第２部分は、右半身の少なくとも一部である、
請求項１から請求項１７のいずれか一項に記載の検出装置。
【請求項１９】
前記基準算出部は、前記基準位置として、前記人体の腕から頭部までの前記位置情報の変化量に基づいて、前記人体の頭部に対応する第１基準位置を算出する、
請求項１８に記載の検出装置。
【請求項２０】
前記基準算出部は、前記人体の左半身に対応する前記第１基準位置と前記人体の右半身に対応する前記第１基準位置とに基づいて、前記基準位置として、前記交差方向における前記人体の中心線の位置に対応する第２基準位置を算出する、
請求項１９に記載の検出装置。
【請求項２１】
前記検出部の検出結果に基づいて前記物体の移動方向を算出する方向算出部を備え、
前記基準算出部は、前記方向算出部が算出した移動方向に基づいて、前記基準位置を算出し、
前記判別部は、前記方向算出部が算出した移動方向に基づいて、前記第１部分と前記第２部分とを判別する、
請求項１から請求項２０のいずれか一項に記載の検出装置。
【請求項２２】
前記検出部は、前記物体を含む対象領域における各点の位置情報を検出し、前記対象領域における各点の位置情報から前記物体の表面上の各点の位置情報を抽出する、
請求項１から請求項２１のいずれか一項に記載の検出装置。
【請求項２３】
移動する物体の移動方向と鉛直方向とに交差する交差方向において、前記物体の表面上の各点の位置情報の変化量が所定の条件を満たす位置を基準位置として算出する基準算出部と、
前記基準位置に基づいて、前記物体のうち前記移動方向と前記鉛直方向とを含む基準面に対して第１側に配置される第１部分と、前記物体のうち前記基準面に対して前記第１側と反対の第２側に配置される第２部分とを判別する判別部と、を備える処理装置。
【請求項２４】
移動する物体の各点の位置情報を検出することと、
前記物体の移動方向と鉛直方向とに交差する交差方向において前記位置情報の変化量が所定の条件を満たす位置を基準位置として算出することと、
前記基準位置に基づいた、前記移動方向と前記鉛直方向とを含む基準面に対して、第１側に配置される前記物体の第１部分と、前記基準面に対して前記第１側と反対の第２側に配置される前記物体の第２部分とを判別することと、を含む検出方法。
【請求項２５】
コンピュータに、
移動する物体の移動方向と鉛直方向とに交差する交差方向において、前記物体の表面上の各点の位置情報の変化量が所定の条件を満たす位置を基準位置として算出することと、
前記基準位置に基づいて、前記移動方向と前記鉛直方向とを含む基準面に対して第１側に配置される前記物体の第１部分と、前記基準面に対して前記第１側と反対の第２側に配置される前記物体の第２部分とを判別することと、を実行させる処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検出装置、処理装置、検出方法、及び処理プログラムに関する。
【背景技術】
【０００２】
物体を検出する技術として、例えば下記の特許文献１に記載された技術がある。歩行する人体等の移動する物体を検出する場合、移動方向に対して左側の部分と右側の部分とを判別することが難しいことがある。例えば、歩行時やランニング時における人体を検出する場合、人体の肩幅方向において左足と右足とがほぼ同じ位置になり、左足と右足との判別が難しい。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−１３４５４６号公報
【発明の概要】
【０００４】
本発明の態様に従えば、移動する物体の各点の位置情報を検出する検出部と、物体の移動方向と鉛直方向とに交差する交差方向において位置情報の変化量が所定の条件を満たす位置を基準位置として算出する基準算出部と、基準算出部が算出した基準位置に基づいた、移動方向と鉛直方向とを含む基準面に対して、第１側に配置される物体の第１部分と、基準面に対して第１側と反対の第２側に配置される物体の第２部分とを判別する判別部と、を備える検出装置が提供される。
【０００５】
本発明の態様に従えば、移動する物体の移動方向と鉛直方向とに交差する交差方向において、物体の表面上の各点の位置情報の変化量が所定の条件を満たす位置を基準位置として算出する基準算出部と、基準位置に基づいて、物体のうち移動方向と鉛直方向とを含む基準面に対して第１側に配置される第１部分と、物体のうち基準面に対して第１側と反対の第２側に配置される第２部分とを判別する判別部と、を備える処理装置が提供される。
【０００６】
本発明の態様に従えば、移動する物体の各点の位置情報を検出することと、物体の移動方向と鉛直方向とに交差する交差方向において位置情報の変化量が所定の条件を満たす位置を基準位置として算出することと、基準位置に基づいた、移動方向と鉛直方向とを含む基準面に対して、第１側に配置される物体の第１部分と、基準面に対して第１側と反対の第２側に配置される物体の第２部分とを判別することと、を含む検出方法が提供される。
【０００７】
本発明の態様に従えば、コンピュータに、移動する物体の移動方向と鉛直方向とに交差する交差方向において、物体の表面上の各点の位置情報の変化量が所定の条件を満たす位置を基準位置として算出することと、基準位置に基づいて、移動方向と鉛直方向とを含む基準面に対して第１側に配置される物体の第１部分と、基準面に対して第１側と反対の第２側に配置される物体の第２部分とを判別することと、を実行させる処理プログラムが提供される。
【図面の簡単な説明】
【０００８】
【図１】第１実施形態に係る検出装置を示す図である。
【図２】第１実施形態に係る検出部を示す図である。
【図３】第１実施形態に係る点群データ生成部の処理を示す図である。
【図４】（Ａ）から（Ｃ）は、第１実施形態に係る基準算出部の処理を示す図である。
【図５】（Ａ）、（Ｂ）は、第１実施形態に係る基準算出部の処理を示す図である。
【図６】第１実施形態に係る部分判別部の処理を示す図である。
【図７】第１実施形態に係る姿勢推定部の処理を示す図である。
【図８】第１実施形態に係る検出方法を示すフローチャートである。
【図９】第２実施形態に係る検出装置を示す図である。
【図１０】第３実施形態に係る検出装置を示す図である。
【図１１】第４実施形態に係る検出装置を示す図である。
【発明を実施するための形態】
【０００９】
［第１実施形態］
第１実施形態について説明する。図１は、第１実施形態に係る検出装置を示す図である。検出装置１（検出システム）は、例えば、モーションキャプチャ装置、動作検出システム、運動支援システムなどである。また、検出装置１は、姿勢解析又は３次元モデリングなどに使われる。これらの場合、検出装置１は、所定の時間範囲において一方向又は複数の方向に移動する物体Ｍを検出する。検出装置１は、直線的に移動する物体Ｍを検出してもよいし、蛇行して移動する物体Ｍを検出してもよい。検出装置１が物体Ｍを検出する際の物体Ｍの移動経路（例、軌跡）は、直線を含んでもよいし、曲線を含んでもよく、直線および曲線を含んでもよい。検出装置１は、物体Ｍの移動方向ＭＤに対する側方の第１側（例、左側）に配置される物体Ｍの第１部分Ｍ１と、第１側と反対側（例、右側）に配置される物体Ｍの第２部分Ｍ２とを判別する。
【００１０】
物体Ｍは、検出装置１による検出の対象となる対象領域ＡＲ（例、検出装置１の検出領域、視野）において移動可能である。物体Ｍは、例えば、人体または人以外の動物、人型または人以外の動物型のロボット、若しくは動物型以外のロボットを含む。以下の説明において、物体Ｍが人体であるとし、適宜、物体Ｍを人体Ｍと表す。物体Ｍ（この場合、人体Ｍ）は、例えば、移動に伴って姿勢と形状との一方または双方が変化する物体である。例えば、人体Ｍは、移動（例、歩行、走行、運動、動作）する際に、第１部分Ｍ１（例、左足）と第２部分Ｍ２（例、右足）とが交互に移動方向に移動して、人体Ｍの少なくとも一部の形状（例、姿勢）が変化する。人体Ｍの場合、検出装置１は、人体Ｍの移動方向ＭＤ又は人体Ｍの正中線（例、体表上の左右の中心線）を境界にして第１側（例、左側）に配置される第１部分Ｍ１と、第１側と反対側（例、右側）に配置される第２部分Ｍ２とを判別できる。
【００１１】
移動する人体Ｍは、例えば、フェンシング、野球、サッカー、ゴルフ、剣道、アメリカンフットボール、アイスホッケー、又は体操などのスポーツ、ランニング、エクササイズ、ヨガ、ボディビル、ファッションショーなどのウォーキング又はポージング、ゲーム、人物認証、若しくは仕事において動作する人体である。物体Ｍは、移動する人体と、移動する人体に付帯する物体（例、衣類、装着物、運動器具、防具）とを含んでもよい。
【００１２】
以下の説明において、図１などに示すＸＹＺ直交座標系を参照する。このＸＹＺ直交座標系において、Ｘ方向は物体Ｍ（例、人体Ｍ）の移動方向であり、Ｙ方向は鉛直方向であり、Ｚ方向は物体Ｍ（人体Ｍ）の移動方向と鉛直方向とに交差（例、直交）する交差方向（例、直交方向）である。物体Ｍが人体である場合に、Ｚ方向は人体Ｍの肩幅の方向を含み、第１部分Ｍ１は人体Ｍの左半身の少なくとも一部であり、第２部分Ｍ２は人体Ｍの右半身の少なくとも一部である。また、Ｘ、Ｙ、Ｚの各方向において、適宜、矢印が指す側を＋側（例、＋Ｚ側）と称し、その反対側を−側（例、−Ｚ側）と称する。例えば、上記第１側は−Ｚ側であり、上記第２側は＋Ｚ側である。
【００１３】
検出装置１は、位置検出部２と処理装置３とを備える。位置検出部２は、移動する人体Ｍの位置情報を検出する。位置検出部２は、人体Ｍの位置情報として、人体Ｍの表面上の各点の三次元座標を含む点群データを検出する。本実施形態において、人体Ｍの移動方向は、対象領域ＡＲ（例、位置検出部２の視野）に対して予め定められている。対象領域ＡＲにおける鉛直方向および人体Ｍの移動方向は、既知の情報として検出装置１に与えられている。位置検出部２の検出結果（例、点群データ）において、Ｘ、Ｙ、Ｚの各方向は上記既知の情報に基づいて設定される。位置検出部２は、検出部４と、点群データ生成部５とを含む。
【００１４】
検出部４は、例えば携帯型の装置（携帯機器）の少なくとも一部である。検出部４は、据え置き型の装置の少なくとも一部でもよい。検出部４は、処理装置３の内部に設けられてもよい。また、点群データ生成部５は、処理装置３の外部の装置に設けられてもよい。例えば、位置検出部２は、処理装置３の外部の装置であって、検出部４と点群データ生成部５とを内蔵してもよい。検出装置１の一部または全体は、携帯可能な装置（例、情報端末、スマートフォン、タブレット、カメラ付き携帯電話、ウェアラブル端末）でもよい。また、検出装置１の一部または全体は、据え置き型の装置（例、定点カメラ）でもよい。
【００１５】
図２は、第１実施形態に係る検出部を示す図である。検出部４は、人体Ｍの位置情報としてデプスを検出する。検出部４は、例えばデプスセンサ（例、デプスカメラ）を含む。検出部４は、所定の点から、対象領域ＡＲに配置される物体の表面における各点までのデプス（例、位置情報、距離、奥行き、深度）を検出する。所定の点は、例えば、検出部４による検出の基準になる位置の点（例、視点、検出元の点、検出部４の位置を表す点、後述する撮像素子８の画素の位置）である。
【００１６】
検出部４は、照射部６、光学系７、及び撮像素子８を備える。照射部６は、対象領域ＡＲ（空間、検出領域）に光Ｌａ（例、パターン光、照射光）を照射（例、投影）する。光学系７は、例えば結像光学系（撮像光学系）を含む。撮像素子８は、例えば、ＣＭＯＳイメージセンサあるいはＣＣＤイメージセンサを含む。撮像素子８は、２次元的に配列された複数の画素を有する。撮像素子８は、光学系７を介して、対象領域ＡＲを撮像する。撮像素子８は、光Ｌａの照射によって対象領域ＡＲの物体から放射される光Ｌｂ（赤外光、戻り光）を検出する。
【００１７】
検出部４は、例えば、照射部６から照射される光Ｌａのパターン（例、強度分布）と、撮像素子８によって検出された光Ｌｂのパターン（例、強度分布、撮像画像）とに基づいて、撮像素子８の各画素に対応する対象領域ＡＲ上の点から、撮像素子８の各画素までのデプスを検出する。検出部４は、その検出結果として、対象領域ＡＲにおけるデプスの分布を表したデプスマップ（例、デプス画像、奥行き情報、距離情報）を処理装置３（図１参照）に出力する。検出部４は、人体Ｍの位置情報として、デプスマップを処理装置３に出力する。
【００１８】
なお、検出部４は、TOF（time of flight）法によってデプスを検出するデバイスでもよい。検出部４は、TOF法以外の手法でデプスを検出するデバイスでもよい。検出部４は、例えば、レーザスキャナ（例、レーザ測距器）を含み、レーザスキャンによってデプスを検出してもよい。検出部４は、例えば、位相差センサを含み、位相差法によってデプスを検出してもよい。検出部４は、例えば、DFD(depth from defocus)法によってデプスを検出してもよい。
【００１９】
なお、検出部４は、赤外光以外の光（例、可視光）を物体Ｍに照射し、物体Ｍから出射する光（例、可視光）を検出してもよい。検出部４は、例えばステレオカメラなどを含み、複数の視点から物体Ｍを検出（例、撮像）してもよい。検出部４は、複数の視点から物体Ｍを撮像した撮像画像を用いて、三角測量によってデプスを検出してもよい。検出部４は、光学的な手法以外の手法（例、超音波によるスキャン）でデプスを検出してもよい。
【００２０】
図１の説明に戻り、点群データ生成部５は、検出部４が検出したデプスに基づいて、人体Ｍの位置情報として点群データを生成する。図１において、検出部４が処理装置３の外部に設けられ、点群データ生成部５が処理装置３の内部に設けられる。処理装置３は、検出部４と通信可能に接続される。検出部４は、その検出結果を処理装置３に出力する。処理装置３は、検出部４から出力された検出結果を処理する。
【００２１】
処理装置３は、点群データ生成部５、基準算出部１１、部分判別部１２、姿勢推定部１３、及び記憶部１４を備える。記憶部１４は、例えば、不揮発性のメモリ、ハードディスク（ＨＤＤ）、ソリッドステートドライブ（ＳＳＤ）などである。記憶部１４は、処理装置３で処理される元データ、及び処理装置３で処理されたデータ（例、処理装置３で生成されたデータ）を記憶する。記憶部１４は、点群データの元データとして、検出部４から出力されるデプスマップを記憶する。
【００２２】
点群データ生成部５は、人体Ｍの位置情報として点群データを生成する点群処理を実行する。点群データは、対象領域ＡＲにおける人体Ｍ上の複数の点の３次元座標を含む。点群データは、人体Ｍの周囲の物体（例、壁、床）上の複数の点の３次元座標を含んでもよい。点群データ生成部５は、検出部４が検出した位置情報（例、デプス）に基づいて、人体Ｍの点群データを算出する。点群データ生成部５は、記憶部１４に記憶されている検出部４の検出結果（例、デプスマップ）を読み出して、点群データを算出する。点群データ生成部５は、物体Ｍ（例、人体Ｍ）のモデル情報（例、形状情報）として点群データを生成してもよい。
【００２３】
図３は、第１実施形態に係る点群データ生成部の処理を示す図である。符号Ｄ１は、検出部４の検出結果に相当するデプスマップ（例、デプス画像）である。デプスマップＤ１は、検出部４によるデプスの測定値の空間分布を表す情報（例、画像）である。デプスマップＤ１は、対象領域ＡＲの各点におけるデプスを階調値で表したグレースケールの画像である。デプスマップＤ１において、階調値が相対的に高い部分（例、白い部分、明るい部分）は、デプスが相対的に小さい部分（例、位置検出部２から相対的に近い部分）である。デプスマップＤ１において、階調値が相対的に低い部分（例、黒い部分、暗い部分）は、デプスが相対的に大きい部分（例、位置検出部２から相対的に遠い部分）である。
【００２４】
点群データ生成部５（図１参照）は、記憶部１４からデプスマップＤ１のデータを読み出し、デプスマップＤ１の各画素の階調値（例、デプスの測定値）に基づいて、各画素に相当する実空間上の点の３次元座標を算出し、点群データＤ２を生成する。以下の説明において、適宜、１つの点の三次元座標を点データと称する。点群データＤ２は、複数の点データを一組にしたデータである。
【００２５】
処理装置３（例、点群データ生成部５）は、例えば対象領域ＡＲの全体の点群データに対してセグメント化、パターン認識などを施して、人体Ｍの点群データＤ２を抽出する。点群データ生成部５は、対象領域ＡＲに配置される物体の位置情報から、物体の一部の位置情報を抽出する抽出処理（例、セグメンテーション）を実行する。ここで、対象領域ＡＲに配置される物体は、物体Ｍ（例、人体）と、物体Ｍの周囲の物体（例、床、壁、背景の物体）とを含むとする。点群データ生成部５は、位置検出部２が検出した位置情報から、物体Ｍ（例、人体Ｍ）の位置情報を抽出（例、セグメント化、分離）する。
【００２６】
上記の抽出処理に先立ち、位置検出部２は、対象領域ＡＲに物体Ｍが配置されていない第１状態と、対象領域ＡＲに物体Ｍが配置されている第２状態とのそれぞれの状態において、対象領域ＡＲにおける物体の位置情報を検出する。抽出処理において、点群データ生成部５は、第１状態における位置検出部２の検出結果と、第２状態における位置検出部２の検出結果との差分を算出することによって、物体Ｍ（例、人体Ｍ）の位置情報を抽出する。
【００２７】
上記の第１状態は、対象領域ＡＲに物体Ｍ（例、人体Ｍ）が配置され、かつ対象領域ＡＲにおける物体Ｍ（例、人体Ｍ）の位置が第２状態と異なる状態でもよい。例えば、上記第１状態は対象領域ＡＲにおける第１位置に物体Ｍ（例、人体Ｍ）が配置される状態であり、上記第２状態は、対象領域において第１位置と異なる第２位置に物体Ｍ（例、人体Ｍ）が配置される状態でもよい。上記の抽出処理は、点群データ生成部５以外の処理部によって実行されてもよい。この処理部は、処理装置３に設けられてもよいし、処理装置３の外部の装置に設けられてもよい。上記の抽出処理は実行されなくてもよい。
【００２８】
また、処理装置３は、位置検出部２の検出結果からノイズを除去してもよい。ノイズを除去するノイズ除去処理は、例えば、位置検出部２が生成するデプスマップから空間的なノイズを除去する処理を含む。例えば、処理装置３は、デプスマップにおいて隣り合う第１領域（例、第１画素）と第２領域（例、第２画素）とでデプスの差が閾値を超える場合に、第１領域におけるデプスまたは第２領域におけるデプスがノイズであると判定する。処理装置３は、第１領域におけるデプスがノイズであると判定した場合に、第１領域の周囲の領域（例、第３画素、第４画素）のデプスを用いた補間などによって第１領域のデプスを推定し、第１領域のデプスを推定したデプスで更新（置換、補正）することによって、空間的なノイズを除去する。点群データ生成部５は、空間的なノイズが除去されたデプスマップに基づいて、点群データを生成してもよい。
【００２９】
また、ノイズを除去するノイズ除去処理は、例えば、位置検出部２が生成するデプスマップから時間的なノイズ（例、時間的に変化するノイズ）を除去する処理を含む。例えば、位置検出部２は、所定のサンプリング周波数で検出を繰り返し、処理装置３は、検出のタイミングが異なる位置検出部２の検出結果（例、デプスマップ）を比較する。例えば、処理装置３は、第１フレームにおけるデプスマップと、第１フレームの次の第２フレームにおけるデプスマップとで、各画素におけるデプスの変化量（例、時間変化量）を算出する。処理装置３は、各画素におけるデプスの変化量が所定の条件を満たす場合、この画素の第１フレームにおけるデプスまたは第２フレームにおけるデプスがノイズであると判定する。処理装置３は、第２フレームにおけるデプスがノイズであると判定した場合に、第１フレームにおけるデプスと第２フレームの次の第３フレームにおけるデプスとを用いた補間などによって第２フレームのデプスを推定する。処理装置３は、ノイズに対応する画素のデプスを推定したデプスで更新（置換、補正）することによって、時間的なノイズを除去する。点群データ生成部５は、時間的なノイズが除去されたデプスマップに基づいて、点群データを生成してもよい。
【００３０】
なお、ノイズ除去処理は、空間的なノイズを除去する処理または時間的なノイズを除去する処理を含まなくてもよい。また、ノイズ除去処理は、処理装置３以外の部分（例、位置検出部２）で実行されてもよい。また、検出装置１は、ノイズ除去処理を実行しなくてもよい。
【００３１】
図１の説明に戻り、処理装置３は、所定方向において人体Ｍの断面形状が変化するパターンに基づいて、人体Ｍの形状に関連付けられた基準位置ＢＰを設定し、設定した基準に対して人体Ｍの左半身の部分と右半身の部分とを判別する。基準算出部１１は、移動方向（この場合、Ｘ方向）および鉛直方向（この場合、Ｙ方向）のいずれとも異なる方向（例、交差方向、Ｚ方向）を、所定方向に設定する。基準算出部１１は、所定方向に直交する面（例、ＸＹ平面またはＸＹ平面に平行な面）における人体Ｍの断面形状（例、輪郭）が、所定方向において変化するパターン（例、人体Ｍの断面特徴）を利用して、基準位置ＢＰを設定する。
【００３２】
基準算出部１１は、例えば、移動方向に対する側方から人体Ｍを見た側面視の人体Ｍの断面特徴（例、ＸＹ平面な断面における人体Ｍの輪郭がＺ方向に変化するパターン）を利用して、人体の特徴部分（例、腕、肩、頭部）を判別し、基準位置ＢＰを設定する。上記断面特徴は、人体Ｍの表面における点の位置情報の変化量によって特定される。点の位置情報（この場合、点データ）は、例えば、Ｘ方向の座標（Ｘ座標）、Ｙ方向の座標（Ｙ座標）、及びＺ方向の座標（Ｚ座標）を一組にした情報である。位置情報の変化量は、Ｘ方向におけるＹ座標の変化量（例、ｄｙ／ｄｘ）と、Ｘ方向におけるＺ座標の変化量（例、ｄｚ／ｄｘ）と、Ｙ方向におけるＸ座標の変化量（例、ｄｘ／ｄｙ）と、Ｙ方向におけるＺ座標の変化量（例、ｄｚ／ｄｙ）と、Ｚ方向におけるＸ座標の変化量（例、ｄｘ／ｄｚ）と、Ｚ方向におけるＹ座標の変化量（例、ｄｙ／ｄｚ）との少なくとも１つで表される。上記断面特徴については、図４（Ａ）から（Ｃ）、図５（Ａ）および（Ｂ）などで説明する。
【００３３】
基準算出部１１は、基準位置ＢＰを算出する基準算出処理を実行する。基準算出部１１は、人体Ｍの移動方向（この場合、Ｘ方向）と鉛直方向（この場合、Ｙ方向）とに交差する交差方向（例、Ｚ方向）において位置情報の変化量が所定の条件を満たす位置を、基準位置ＢＰとして算出する。基準算出部１１は、位置検出部２が任意のタイミングで人体Ｍを検出した検出結果（例、１フレームのデプス画像）に基づいて、後述の基準算出処理を実行する。
【００３４】
基準位置ＢＰは、後に図４（Ｂ）で説明する第１基準位置ＢＰ１、及び後に図５（Ｂ）で説明する第２基準位置ＢＰ２を含む。基準位置ＢＰは、第１部分Ｍ１と第２部分Ｍ２とを判別する部分判別処理において基準に用いる位置である。上記位置情報の変化量は、例えば、任意のタイミング（時刻）における人体Ｍの表面を表す複数の点間の座標の変化量（例、差分）を含む。上記位置情報の変化量は、人体Ｍの表面（例、外形、輪郭、シルエット）を表す曲線または直線の傾き（例、微分係数）でもよい。
【００３５】
次に、基準算出処理について説明する。基準算出部１１は、基準位置ＢＰとして、物体Ｍ（例、人体Ｍ）に含まれる構造のうちその数が１つである構造（例、頭部、胴体）の位置を推定する。基準算出部１１は、基準位置ＢＰとして、交差方向（例、Ｚ方向）における人体Ｍの中心（例、中心線ＣＬ）を含む部分の位置を推定する。基準算出部１１は、点群データに基づいて基準位置を算出する。基準算出部１１は、点群データ生成部５が生成した人体Ｍの点群データを記憶部１４から読み出して、基準算出処理を実行する。
【００３６】
図４（Ａ）から図４（Ｃ）、図５（Ａ）、図５（Ｂ）は、第１実施形態に係る基準算出部の処理を示す図である。基準算出部１１は、基準位置ＢＰとして第１基準位置ＢＰ１（図４（Ｂ）参照）を算出する第１基準算出処理を実行する。本実施形態において、第１基準位置ＢＰ１は、物体Ｍにおける第１側（例、−Ｚ側、左半身）の第１基準位置ＢＰ１ａと、物体Ｍにおける第２側（例、＋Ｚ側、右半身）の第１基準位置ＢＰ１ｂとを含む。また、基準算出部１１は、基準位置ＢＰとして、第１基準位置ＢＰ１に基づいて第２基準位置ＢＰ２（図５（Ｂ）参照）を算出する第２基準算出処理を実行する。
【００３７】
まず、第１基準算出処理について説明する。基準算出部１１は、人体Ｍの位置情報の変化の特徴に基づいて、人体Ｍの所定の部位（例、首の付け根、首と胴体との間、肩と頭部との間など）の位置を第１基準位置ＢＰ１ａとして推定する。基準算出部１１は、所定の条件として点群データＤ２に含まれる点の座標の変化量が閾値以上となる条件を満たす位置を、第１基準位置ＢＰ１として算出する。
【００３８】
ここで、基準算出部１１の処理は、検出対象として想定されている物体が歩行中の人体であるとし、任意のタイミングにおける人体の形状（例、姿勢）を想定する。人体は、腕（例、肘）から肩にかけて表面の位置が顕著に変化する（例、位置情報の変化量が閾値以上となる）。人体は、肩から首元までの間において表面の位置の変化が緩やかである（例、位置情報の変化量が閾値未満となる）。しかし、人体は、肩から頭部にかけて、肩の部分に比べて表面の位置が顕著に変化する（例、位置情報の変化量が閾値以上となる）。基準算出部１１は、位置情報（例、点データのＹ座標）の変化量が閾値以上となる条件を満たす位置を第１基準位置ＢＰ１として算出する。
【００３９】
なお、上記の腕（腕部）は、例えば、肩甲上腕関節を含み、肩甲上腕関節から指先までの部分である。また、上記の肩（肩部）は、例えば、左腕の肩甲上腕関節と右腕の肩甲上腕関節との間、かつ第７頸椎（首の付け根）よりも下半身側の部分である。また、上記の頭部は、例えば、頭蓋骨に囲まれる部分および頭蓋骨よりも表面側の部分、並びに頸部を含む。頭部は、例えば、第７頸椎および頭頂を含み、第７頸椎から頭頂までの部分である。
【００４０】
基準算出部１１は、Ｚ方向に領域を分割し、分割した領域ごとに第１基準位置ＢＰ１の候補を算出する。図４（Ａ）において、符号ＤＡｉは、分割された領域（分割領域、部分領域）である。添え字のｉは、分割された各領域に割り付けられる番号であり、例えば０以上の整数（ｉ＝０、１、２・・・）である。また、Ｚｉは、領域ＤＡｉを代表するＺ方向の座標（例、Ｚ方向における領域ＤＡｉの中心の座標）である。基準算出部１１は、領域ＤＡｉにおける点群データＤ２を２次元領域における点データの集合として（例、Ｚ座標の値を無視して）、第１基準算出処理を実行する。基準算出部１１は、領域ＤＡｉに含まれる点データのＺ座標がＺｉであるとして、第１基準算出処理を実行する。
【００４１】
基準算出部１１は、点群データＤ２に含まれる点について交差方向（例、Ｚ方向）の各座標における鉛直方向（Ｙ方向）の座標の最大値を算出する。基準算出部１１は、分割された領域ＤＡｉごとに、点データのＹ座標の最大値を算出する。図４（Ａ）のＹｍａｘ（Ｚｉ）は、領域ＤＡｉにおける点データのＹ座標の最大値である。基準算出部１１は、Ｙｍａｘ（Ｚｉ）を、各座標（Ｚｉ）における点データのＹ座標の最大値とする。基準算出部１１は、ｉを変更しつつＹｍａｘ（Ｚｉ）を算出する処理を繰り返して、ｉ＝０、１、２・・・のそれぞれについてＹｍａｘ（Ｚｉ）を算出する。
【００４２】
図４（Ｂ）には、交差方向の座標（Ｚ座標）に対するＹｍａｘ（Ｚｉ）のプロットを示した。ここで、交差方向の座標（Ｚ座標）に対する位置情報の変化量を、ΔＹｍａｘ（Ｚｉ）で表す。ΔＹｍａｘ（Ｚｉ）は、例えば下記の式（１）で表される。
ΔＹｍａｘ（Ｚｉ）＝Ｙｍａｘ（Ｚｉ＋１）−Ｙｍａｘ（Ｚｉ）・・・式（１）
【００４３】
また、図４（Ｃ）には、交差方向の座標（Ｚ座標）に対するΔＹｍａｘ（Ｚｉ）の絶対値のプロットを示した。図４（Ｂ）および図４（Ｃ）において、符号Ｑ１は人体Ｍの腕に対応する部分であり、適宜、左腕に対応する部分を符号Ｑ１ａで表し、右腕に対応する部分を符号Ｑ１ｂで表す。また、符号Ｑ２は人体Ｍの肩に対応する部分であり、適宜、左肩に対応する部分を符号Ｑ２ａで表し、右肩に対応する部分を符号Ｑ２ｂで表す。また、符号Ｑ３は人体Ｍの頭部に対応する部分である。
【００４４】
位置情報の変化量であるΔＹｍａｘ（Ｚｉ）の絶対値（｜ΔＹｍａｘ（Ｚｉ）｜）は、腕の部分Ｑ１において大きく、肩の部分Ｑ２において腕の部分Ｑ１よりも小さい。また、｜ΔＹｍａｘ（Ｚｉ）｜は、肩の部分Ｑ２から頭部の部分Ｑ３にかけて急激に大きくなる。基準算出部１１は、このような位置情報の変化量の特徴（例、変化パターン）に基づいて、基準位置ＢＰ（例、第１基準位置ＢＰ１ａ）を算出する。基準算出処理において、基準算出部１１は、｜ΔＹｍａｘ（Ｚｉ）｜が第１閾値Ｖ１以下となる部分を、第１特徴部分（例、左肩の部分Ｑ２ａ、右肩の部分Ｑ２ｂ）として設定（例、識別、特定、決定）する。
【００４５】
まず、人体Ｍにおける第１側（例、−Ｚ側、左半身側）の第１基準位置ＢＰ１ａを算出する処理について説明する。基準算出部１１は、交差方向（例、Ｚ方向）において一方の側（例、第１側、−Ｚ側）からその反対の他方の側（例、第２側、＋Ｚ側）に向かう順に、｜ΔＹｍａｘ（Ｚｉ）｜と第１閾値Ｖ１とを比較する。基準算出部１１は、｜ΔＹｍａｘ（Ｚｉ）｜と第１閾値Ｖ１との大小関係が切り替わる位置を、左腕の部分Ｑ１ａと左肩の部分Ｑ２ａとの境界（例、腕の端、肩の端）として設定（例、特定、識別）する。例えば、基準算出部１１は、｜Ｙｍａｘ（Ｚｉ）｜が第１閾値Ｖ１よりも大きく、ΔＹｍａｘ（Ｚｉ＋１）が第１閾値Ｖ１以下である場合に、Ｚｉの位置を左腕の部分Ｑ１における＋Ｚ側の端に設定し、Ｚｉ＋１の位置を左肩の部分Ｑ２における−Ｚ側の端に設定する。
【００４６】
また、基準算出部１１は、人体Ｍの第１特徴部分（例、左肩の部分Ｑ２ａ）に対して上記他方の側（例、第２側、＋Ｚ側）において、｜Ｙｍａｘ（Ｚｉ）｜が第２閾値Ｖ２以上となる部分を、人体Ｍの第２特徴部分（例、頭部の部分Ｑ３）とする。例えば、基準算出部１１は、第１特徴部分（例、左肩の部分Ｑ２ａ）における−Ｚ側の端として設定した位置から上記他方の側（例、＋Ｚ側）に向かう順に、｜ΔＹｍａｘ（Ｚｉ）｜と第２閾値Ｖ２とを比較する。基準算出部１１は、｜ΔＹｍａｘ（Ｚｉ）｜と第２閾値Ｖ２との大小関係が切り替わる位置を、第１特徴部分（例、左肩の部分Ｑ２ａ）と第２特徴部分（例、頭部の部分Ｑ３）との境界（例、左肩の基端、頭部における−Ｚ側の端、首元、首の付け根）として設定（例、特定、識別、決定）する。例えば、基準算出部１１は、ΔＹｍａｘ（Ｚｉ）が第２閾値Ｖ２よりも小さく、ΔＹｍａｘ（Ｚｉ＋１）が第２閾値Ｖ２以上である場合に、Ｚｉの位置を第１特徴部分（左肩の部分Ｑ２）における＋Ｚ側の端に設定し、Ｚｉ＋１の位置を第２特徴部分（頭部の部分Ｑ３）における−Ｚ側の端に設定する。
【００４７】
更に、基準算出部１１は、基準位置として、人体Ｍの腕から頭部までの位置情報の変化量に基づいて、人体の頭部に対応する第１基準位置ＢＰ１を算出する。基準算出部１１は、第１基準位置ＢＰ１として、第１特徴部分（例、左肩の部分Ｑ２ａ）と第２特徴部分（頭部の部分Ｑ３）との境界を表す位置を算出する。例えば、基準算出部１１は、第１基準位置ＢＰ１ａとして、第１特徴部分（左肩の部分Ｑ２ａ）における＋Ｚ側の端の位置を算出する。
【００４８】
次に、基準算出部１１は、第１基準位置ＢＰ１ａと同様にして、第１基準位置ＢＰ１ｂを算出する。基準算出部１１は、第１基準位置ＢＰ１ｂを算出する処理において、人体Ｍに対して他方の側（例、＋Ｚ側）からその反対側（例、−Ｚ側）に向かう順に、上記第１特徴部分および第２特徴部分を設定する。そして、基準算出部１１は、第１基準位置ＢＰ１ｂとして、第１特徴部分（右肩の部分Ｑ２ｂ）における−Ｚ側の端の位置を算出する。基準算出部１１は、算出した第１基準位置ＢＰ１（例、３次元座標値）を図１の記憶部１４に記憶させる。
【００４９】
なお、基準算出部１１は、第２特徴部分（頭部の部分Ｑ３）における−Ｚ側の端の位置を第１基準位置ＢＰ１ａとし、第２特徴部分（頭部の部分Ｑ３）における＋Ｚ側の端の位置を第１基準位置ＢＰ１ｂとしてもよい。また、基準算出部１１は、第１特徴部分（左肩の部分Ｑ２ａ）における＋Ｚ側の端の位置と、第２特徴部分（頭部の部分Ｑ３）における−Ｚ側の端の位置との間の位置（例、中心）を、第１基準位置ＢＰ１ａとしてもよい。この場合、基準算出部１１は、第１特徴部分（右肩の部分Ｑ２ｂ）における−Ｚ側の端の位置と、第２特徴部分（頭部の部分Ｑ３）における＋Ｚ側の端の位置との間の位置（例、中心）を、第１基準位置ＢＰ１ｂとしてもよい。また、基準算出部１１は、第１基準位置ＢＰ１として、第１基準位置ＢＰ１ａと第１基準位置ＢＰ１ｂとの一方のみを算出してもよい。
【００５０】
次に、図５（Ａ）、図５（Ｂ）を参照して、第２基準算出処理について説明する。基準算出部１１は、図４（Ｂ）に示した第１基準位置ＢＰ１に対して設定される所定の領域ＡＲ２（例、頭部の部分Ｑ３に相当するＺ方向の領域）から基準位置ＢＰとして第２基準位置ＢＰ２を選択（例、設定、決定）する。基準算出部１１は、図４（Ｂ）および図４（Ｃ）で説明したように、物体Ｍにおける第１側（例、−Ｚ側）の第１基準位置ＢＰ１ａと、第２側（例、＋Ｚ側）の第１基準位置ＢＰ１ｂとを算出する。基準算出部１１は、第１側の第１基準位置ＢＰ１ａと第２側の第１基準位置ＢＰ１ｂとの間を所定の領域（例、基準位置を含む領域）に設定する。Ｚ方向における人体Ｍの中心線ＣＬは、第１基準位置ＢＰ１ａと第１基準位置ＢＰ１ｂとの間の領域（上記所定の領域、頭部の部分Ｑ３）を通ることが想定される。基準算出部１１は、第１基準位置ＢＰ１ａと第１基準位置ＢＰ１ｂとの間の領域において、所定の条件を満たす位置を第２基準位置ＢＰ２として算出する。
【００５１】
基準算出部１１は、第２基準算出処理において、図４（Ａ）と同様にＺ方向に領域を分割し、分割した領域ごとに第２基準位置ＢＰ２の候補を算出する。基準算出部１１は、分割された領域ＤＡｉにおける点群データＤ２を２次元領域における点データの集合として（例、Ｚ座標の値を無視して）、第２基準算出処理を実行する。
【００５２】
基準算出部１１は、第２基準算出処理において、点群データに含まれる点について交差方向（例、Ｚ方向）の各座標（例、Ｚ＝Ｚｉ）おける移動方向（Ｘ方向）の前方（＋Ｘ側）を正とした座標の極小値を算出する。まず、基準算出部１１は、人体Ｍの前面側（進行方向の前方側、Ｘ方向の＋Ｘ側）の点データを抽出する。例えば、基準算出部１１は、Ｙ方向に領域を分割し、分割された領域ごとに点データのＸ座標の最大値を算出する。
【００５３】
図５（Ａ）において、符号ＤＢｊは、分割された領域（分割領域、部分領域）である。添え字のｊは、分割された各領域に割り付けられる番号であり、例えば０以上の整数（ｊ＝０、１、２・・・）である。また、Ｙｊは、領域ＤＢｊを代表するＹ方向の座標（例、Ｙ方向における領域ＤＢｊの中心の座標）である。基準算出部１１は、領域ＤＢｊにおける点群データＤ２を１次元領域における点データの集合として（例、Ｙ座標の値を無視して）、第１基準算出処理を実行する。基準算出部１１は、領域ＤＢｊに含まれる点データのＹ座標がＹｊであるとして、第２基準算出処理を実行する。
【００５４】
図５（Ａ）のＸｍａｘ（Ｙｊ）は、領域ＤＢｊにおける点データのＸ座標の最大値である。基準算出部１１は、Ｘｍａｘ（Ｙｊ）を、各座標（Ｙｊ）における点データのＸ座標の最大値とする。Ｘｍａｘ（Ｙｊ）は、鉛直方向（Ｙ方向）の各座標（Ｙｊ）において、進行方向（Ｘ方向）の前方側の点データのＸ座標に相当する。基準算出部１１は、ｊを変更しつつＸｍａｘ（Ｙｊ）を算出する処理を繰り返して、ｊ＝０、１、２・・・のそれぞれについてＸｍａｘ（Ｙｊ）を算出する。
【００５５】
基準算出部１１は、Ｙ座標（Ｙｊ）に対する点データのＸ座標の最大値（Ｘｍａｘ（Ｙｊ））の分布に基づいて、Ｙ座標に対するＸｍａｘ（Ｙｊ）の極小値を算出する。図５（Ａ）のＸｍｉｎ（Ｚｉ）は、Ｚ座標をＺｉ（図中のＺ＝Ｚｉ）とした領域ＤＡｉにおけるＹ座標に対するＸｍａｘ（Ｙｊ）の極小値であり、Ｙｋは、Ｘｍｉｎ（Ｚｉ）に対応する点データのＹ座標である。Ｘｍａｘ（Ｙｊ）の位置は、例えば、人体Ｍの肩よりも上側かつ顎よりも下側の位置になる。
【００５６】
基準算出部１１は、ｉを変更しつつＸｍｉｎ（Ｚｉ）を算出する処理を繰り返して、ｉ＝０、１、２・・・のそれぞれについてＸｍｉｎ（Ｚｉ）を算出する。図５（Ｂ）には、Ｚ座標に対するＸｍｉｎ（Ｚｉ）の分布を表すプロットを示した。基準算出部１１は、交差方向（例、Ｚ方向）の座標に対する極小値（Ｘｍｉｎ（Ｚｉ））の変化量に基づいて、第２基準位置ＢＰ２を選択する。人体Ｍの頸部を楕円柱で近似すると、頸部の表面は進行方向の前方に向かって凸となり、その先端の位置は人体Ｍの中心線ＣＬの位置に相当する。基準算出部１１は、Ｚ座標に対するＸｍｉｎ（Ｚｉ）が極大（または最大）となるＺ座標（図５（Ｂ）のＺｃ）を算出する。
【００５７】
基準算出部１１は、Ｘｍｉｎ（Ｚｃ）を第２基準位置ＢＰ２のＸ座標とする。また、基準算出部１１は、Ｘｍｉｎ（Ｚｃ）に対応するＹ座標（図５（Ａ）のＹｋ）を第２基準位置ＢＰ２のＹ座標とする。また、基準算出部１１は、Ｚｃを第２基準位置ＢＰ２のＺ座標とする。本実施形態に係る基準算出部１１は、上述のように、分割された領域ＤＡｉごとの点群データを２次元データとして扱って基準算出処理を実行するので、例えば処理の負荷を低減可能である。なお、基準算出部１１は、点群データを３次元データとして扱って基準算出処理を実行してもよい。
【００５８】
このように、本実施形態に係る基準算出部１１は、人体Ｍの前面側の外形特徴を用いて基準位置ＢＰ（例、第２基準位置ＢＰ２）を算出する。一般的な人体は顎から喉、胸の部分で形状の変化が顕著であるため、基準算出部１１は、第２基準位置ＢＰ２を高精度に算出可能である。なお、基準算出部１１は、人体Ｍの後面側（例、進行方向の後方側、背中側）の外形特徴を用いて基準位置ＢＰを算出してもよい。
【００５９】
図１の説明に戻り、基準算出部１１は、算出した基準位置ＢＰを記憶部１４に記憶させる。部分判別部１２は、部分判別処理を実行する。部分判別部１２は、部分判別処理において、物体Ｍ（人体Ｍ）の第１部分Ｍ１（例、左半身の少なくとも一部）と第２部分Ｍ２（例、右半身の少なくとも一部）とを判別（例、判定、識別、特定）する。第１部分Ｍ１は、後述する基準面ＢＦに対して第１側（例、−Ｚ側）に配置される物体Ｍの一部である。第２部分Ｍ２は、基準面ＢＦに対して第１側と反対の第２側（例、＋Ｚ側）に配置される物体Ｍの一部である。基準面ＢＦは、移動方向（Ｘ方向）と鉛直方向（Ｙ方向）とを含む平面である。基準面ＢＦは、例えば、移動方向（Ｘ方向）と鉛直方向（Ｙ方向）とに平行かつ、基準位置ＢＰ（第２基準位置ＢＰ２）を含む平面である。
【００６０】
部分判別部１２は、基準算出部１１が算出した基準位置ＢＰに基づいて、部分判別処理を実行する。部分判別部１２は、基準算出部１１が算出した基準位置ＢＰに基づいて、基準面ＢＦを設定する。部分判別部１２は、基準算出部１１が算出した基準位置ＢＰを記憶部１４から読み出し、基準面ＢＦを設定する。部分判別部１２は、Ｘ方向とＹ方向とに平行かつ第２基準位置ＢＰ２を含む面を、基準面ＢＦに設定する。
【００６１】
そして、部分判別部１２は、点群データ生成部５が生成した点群データに基づいて部分判別処理を実行する。基準算出部１１は、点群データ生成部５が生成した点群データを記憶部１４から読み出し、点群データに含まれる１または以上の点データが表す部分が基準面ＢＦに対して第１側（例、−Ｚ側）又は第２側（例、＋Ｚ側）のいずれに配置されるかを判定する。
【００６２】
本実施形態において、第２基準位置ＢＰ２は、人体Ｍの中心線ＣＬ上の点の位置として基準算出部１１が推定する位置であり、部分判別部１２は、基準位置ＢＰとして第２基準位置ＢＰ２を用いて部分判別処理を実行する。部分判別部１２は、第２基準位置ＢＰ２に対して第１側（例、−Ｚ側）に配置される部分を第１部分Ｍ１として判別する。また、部分判別部１２は、第２基準位置ＢＰ２に対して第２側（例、＋Ｚ側）に配置される部分を第２部分Ｍ２として判別する。
【００６３】
図６は、第１実施形態に係る部分判別部の処理を示す図である。図６において、符号ＱＸは、部分判別処理の対象の部分（例、点、領域）である。以下の説明において、部分判別処理の対象の部分を、判別対象部分と称する。判別対象部分ＱＸは、予め設定される。例えば、判別対象部分ＱＸは、人体Ｍの一部（例、手、足）に設定され、部分判別部１２は、判別対象部分ＱＸ（例、足）が左半身（例、左足）と右半身（例、右足）とのいずれに属するのかを判別する。判別対象部分ＱＸは、人体Ｍの複数の特徴部分（例、全身）に設定されてもよい。この場合、部分判別部１２は、人体Ｍの各部分を順に判別対象部分ＱＸに設定し、人体Ｍの部分ごとに部分判別処理を実行してもよい。
【００６４】
部分判別処理において、部分判別部１２は、基準位置ＢＰと物体Ｍ（人体Ｍ）の判別対象部分ＱＸとを結ぶ測地線ＳＬを算出する。測地線ＳＬは、物体Ｍ（人体Ｍ）の表面にそって２点を結ぶ最短の線である。部分判別部１２は、点群データから得られる人体Ｍの表面の形状に基づいて、測地線ＳＬを算出する。部分判別部１２は、基準位置ＢＰとして第２基準位置ＢＰ２を用いて、第２基準位置ＢＰ２と判別対象部分ＱＸとを結ぶ測地線ＳＬを算出する。判別対象部分ＱＸが領域である場合、部分判別部１２は、判別対象部分ＱＸから選択される点（例、判別対象部分ＱＸの中心）と、第２基準位置ＢＰ２とを結ぶ測地線ＳＬを算出する。
【００６５】
部分判別部１２は、測地線ＳＬと基準面ＢＦとの相対位置に基づいて、第１部分Ｍ１と第２部分Ｍ２とを判別する。まず、測地線ＳＬの全体が基準面ＢＦに対して第１側（例、−Ｚ側）または第２側（例、＋Ｚ側）に配置される場合について説明する。測地線ＳＬの全体が基準面ＢＦに対して第１側（例、−Ｚ側）に配置される場合、部分判別部１２は、測地線ＳＬが基準面ＢＦに対して第１側（例、−Ｚ側）に配置されていると、測地線ＳＬと基準面ＢＦとの相対位置を特定する。また、測地線ＳＬの全体が基準面ＢＦに対して第２側（例、＋Ｚ側）に配置される場合、部分判別部１２は、測地線ＳＬが基準面ＢＦに対して第２側（例、＋Ｚ側）に配置されていると、測地線ＳＬと基準面ＢＦとの相対位置を特定する。
【００６６】
次に、測地線ＳＬの一部が基準面ＢＦに対して第１側（例、−Ｚ側）に配置され、測地線ＳＬの一部が基準面ＢＦに対して第２側（例、＋Ｚ側）に配置される場合について説明する。部分判別部１２は、測地線ＳＬにおいて基準面ＢＦに対して第１側（例、−Ｚ側）に配置される部分の特徴量（第１特徴量）と、測地線ＳＬにおいて基準面ＢＦに対して第２側（例、＋Ｚ側）に配置される部分の特徴量（第２特徴量）とに基づいて、測地線ＳＬと基準面ＢＦとの相対位置を特定する。部分判別部１２は、第１特徴量と第２特徴量との大小関係または比に基づいて、測地線ＳＬと基準面ＢＦとの相対位置を特定する。
【００６７】
上記特徴量は、例えば、測地線ＳＬ上の点と基準面ＢＦとの距離である。部分判別部１２は、基準面ＢＦに対して第１側（例、−Ｚ側）に配置される測地線ＳＬ上の点と基準面ＢＦとの距離（第１特徴量）と、基準面ＢＦに対して第２側（＋Ｚ側）に配置される測地線ＳＬ上の点と基準面との距離（第２特徴量）とに基づいて測地線ＳＬと基準面ＢＦとの相対位置を特定する。
【００６８】
例えば、部分判別部１２は、基準面ＳＦに対して第１側（例、−Ｚ側）に配置される測地線ＳＬ上の複数の点（第１の点集合）についての各点と基準面ＳＦとの距離の平均（第１特徴量）を算出する。また、部分判別部１２は、基準面ＳＦに対して第２側（例、＋Ｚ側）に配置される測地線ＳＬ上の複数の点（第２の点集合）についての各点と基準面ＳＦとの距離の平均（第２特徴量）を算出する。部分判別部１２は、第１特徴量が第２特徴量よりも大きい場合、測地線ＳＬが基準面ＢＦに対して第１側（例、−Ｚ側）に配置される相対位置であると特定する。また、部分判別部１２は、第２特徴量が第１特徴量よりも大きい場合、測地線ＳＬが基準面ＢＦに対して第２側（例、＋Ｚ側）に配置される相対位置であると特定する。部分判別部１２は、第１特徴量と第２特徴量との比を閾値と比較して、測地線ＳＬと基準面ＢＦとの相対位置を特定してもよい。
【００６９】
部分判別部１２は、第１の点集合および第２の点集合を設定（生成）する際に、測地線ＳＬ上の複数の点を選択する。部分判別部１２は、上記複数の点を、規則的に（例、所定間隔で）選択してもよいし、不規則的（例、ランダム）に選択してもよい。そして、部分判別部１２は、選択した各点について、基準面ＳＦに対して第１側（例、−Ｚ側）に配置される場合にこの点を第１の点集合に分類し、基準面ＳＦに対して第２側（例、＋Ｚ側）に配置される場合にこの点を第２の点集合に分類して、第１の点集合および第２の点集合を設定する。
【００７０】
部分判別部１２は、上記第１の点集合に属する点の数と、上記第２の点集合に属する点の数とが同じになるように、第１の点集合と第２の点集合を設定してもよい。この場合、部分判別部１２は、特徴量として、距離の平均値の代わりに距離の総和を用いてもよい。例えば、部分判別部１２は、第１特徴量として第１の点集合に関する距離の総和を用い、第２特徴量として第２の点集合に関する距離の総和を用いて、測地線ＳＬと基準面ＢＦとの相対位置を特定してもよい。
【００７１】
また、上記第１特徴量は、基準面ＢＦから第１側（例、−Ｚ側）へ最も離れた測地線ＳＬ上の点と基準面ＢＦとの距離でもよい。上記第２特徴量は、基準面ＢＦから第２側（＋Ｚ側）へ最も離れた測地線ＳＬ上の点と基準面ＢＦとの距離でもよい。部分判別部１２は、第１特徴量が第２特徴量よりも大きい（距離が長い）場合、測地線ＳＬが基準面ＢＦに対して第１側（例、−Ｚ側）に配置される相対位置であると特定する。また、部分判別部１２は、第２特徴量が第１特徴量よりも大きい（距離が長い）場合、測地線ＳＬが基準面ＢＦに対して第２側（例、＋Ｚ側）に配置される相対位置であると特定する。部分判別部１２は、第１特徴量と第２特徴量との比を閾値と比較して、測地線ＳＬと基準面ＢＦとの相対位置を特定してもよい。
【００７２】
また、上記第１特徴量は、測地線ＳＬにおいて基準面ＢＦに対して第１側（例、−Ｚ側）に配置される部分の長さでもよい。上記第２特徴量は、測地線ＳＬにおいて基準面ＢＦに対して第２側（例、＋Ｚ側）に配置される部分の長さでもよい。部分判別部１２は、第１特徴量が第２特徴量よりも大きい（又は長い）場合、測地線ＳＬが基準面ＢＦに対して第１側（例、−Ｚ側）に配置される相対位置であると特定する。また、部分判別部１２は、第２特徴量が第１特徴量よりも大きい（又は長い）場合、測地線ＳＬが基準面ＢＦに対して第２側（例、＋Ｚ側）に配置される相対位置であると特定する。部分判別部１２は、第１特徴量と第２特徴量との比を閾値と比較して、測地線ＳＬと基準面ＢＦとの相対位置を特定してもよい。
【００７３】
また、部分判別部１２は、上記第１の点集合および第２の点集合を設定（生成）しなくてもよく、上記第１特徴量および第２特徴量を用いないで、測地線ＳＬと基準面ＢＦとの相対位置を特定してもよい。例えば、部分判別部１２は、測地線ＳＬ上の複数の点を、規則的に（例、所定間隔で）または不規則的（例、ランダム）に選択する。そして、部分判別部１２は、選択した各点について、基準面ＢＦとの距離を算出する。部分判別部１２は、選択した各点について、基準面ＢＦに対して一方側（例、第１側、−Ｚ側）に配置される場合に基準面ＢＦとの距離を負の値で表す。また、部分判別部１２は、選択した各点について、基準面ＢＦに対して他方側（例、第２側、＋Ｚ側）に配置される場合に基準面ＢＦとの距離を正の値で表す。部分判別部１２は、測地線ＳＬ上の複数の点について、正の値、負の値、又は０で表される各点と基準面ＢＦとの距離の総和を算出する。部分判別部１２は、算出した距離の総和が負の値である場合に、測地線ＳＬが基準面ＢＦに対して一方側（例、第１側、−Ｚ側）に配置される相対位置であると特定する。また、部分判別部１２は、算出した距離の総和が正の値である場合に、測地線ＳＬが基準面ＢＦに対して他方側（例、第２側、＋Ｚ側）に配置される相対位置であると特定する。
【００７４】
なお、部分判別部１２は、測地線ＳＬにおける所定の部分と基準面ＢＦとの相対位置に基づいて、測地線ＳＬと基準面ＢＦとの相対位置を特定してもよい。上記の所定の部分は、測地線ＳＬにおいて基準面ＢＦから最も離れた点（最遠点）でもよい。部分判別部１２は、上記最遠点が基準面ＢＦに対して第１側（例、−Ｚ側）に配置される場合、測地線ＳＬが基準面ＢＦに対して第１側（例、−Ｚ側）に配置される相対位置である特定する。また、部分判別部１２は、上記最遠点が基準面ＢＦに対して第２側（例、＋Ｚ側）に配置される場合、測地線ＳＬが基準面ＢＦに対して第２側（例、＋Ｚ側）に配置される相対位置であると特定する。上記所定の部分は、最遠点以外でもよく、例えば、測地線ＳＬにおいて判別対象部分ＱＸよりも第２基準位置ＢＰ２に近い部分（例、第２基準位置ＢＰ２を起点とする所定の長さの部分）でもよい。部分判別部１２は、測地線ＳＬのうち第２基準位置ＢＰ２を起点として所定の長さの部分が第２側（＋Ｚ側）に延びる場合に、判別対象部分ＱＸが第２部分Ｍ２に属すると判別してもよい。部分判別部１２は、上述の手法を組み合わせて、測地線ＳＬと基準面ＢＦとの相対位置を特定してもよい。
【００７５】
図６において、測地線ＳＬは、第２基準位置ＢＰ２を起点として＋Ｚ側に延びており、基準面ＢＦの＋Ｚ側を経由して判別対象部分ＱＸに至る。このような場合、部分判別部１２は、判別対象部分ＱＸが第２部分Ｍ２（例、右半身）に属すると判別する。ここで、左足と右足とが交差するか、もしくは同一の線上に並ぶ状態を想定する。この状態において、右足は、人体の肩幅の方向において左足よりも左側の位置または同じ位置に配置される。そのため、従来の通常の装置は、検出された足が右足であるのか左足であるのかを自動的に判別することが難しい場合がある。左足と右足とが交差するか、もしくは人体の中心線上に並ぶ状態において、実施形態に係る検出装置１は、例えば測地線ＳＬと基準面ＢＦとの相対位置を用いることによって、測地線ＳＬの少なくとも一部が基準面ＢＦに対して＋Ｚ側または−Ｚ側に配置されるので、検出された足が左足であるのか、若しくは右足であるのかを高精度に自動で判別することができる。
【００７６】
図１の説明に戻り、上述のように、部分判別部１２は、点群データが表す物体Ｍ（人体Ｍ）の少なくとも一部に対して部分判別処理を実行し、その処理結果を記憶部１４に記憶させる。例えば、部分判別部１２は、点群データが表す物体Ｍ（人体Ｍ）の部分ごとに部分判別処理を実行し、この部分が第１部分Ｍ１と第２部分Ｍ２とのいずれに属するかを示す判別情報（例、フラグ、属性情報）を処理結果として記憶部１４に記憶させる。
【００７７】
そして、姿勢推定部１３は、部分判別部１２が判別した第１部分Ｍ１と第２部分Ｍ２とに基づいて、物体Ｍの姿勢を推定する姿勢推定処理を実行する。部分判別部１２は、例えば、人体Ｍの特徴的な部分（例、特徴部分、特徴点）の位置情報を生成する。人体Ｍの特徴部分は、例えば、人体Ｍのうち他の部分と区別可能な部分である。人体Ｍの特徴部分は、例えば、人体の末端部（手先、足先、頭部）、関節、又は末端部と関節との間もしくは２つの関節の間の中間部の少なくとも１つを含む。
【００７８】
姿勢推定部１３は、例えば、点群データから得られる人体Ｍの形状に対して、認識処理（例、パターン認識、形状認識、骨格認識）を実行する。姿勢推定部１３は、認識処理によって、上記の特徴部分の位置情報を生成する。特徴部分の位置情報は、例えば、特徴部分を代表する点の座標（例、３次元座標）を含む。姿勢推定部１３は、上記の認識処理によって、特徴部分を表す点の座標を算出する。そして、姿勢推定部１３は、特定した部分の情報（例、特徴部分を表す点の座標）を記憶部１４に記憶させる。
【００７９】
図７は、第１実施形態に係る姿勢推定部の処理を示す図である。図７において、符号Ｑ１１からＱ３０は、姿勢推定部１３が特定した人体Ｍの特徴部分である。符号Ｑ１１からＱ１５は末端部に対応する特徴部分であり、Ｑ１１は頭部、Ｑ１２は左足先、Ｑ１３は左手先、Ｑ１４は右足先、Ｑ１５は右手先である。また、符号Ｑ１６から符号Ｑ２７は、関節に対応する特徴部分であり、Ｑ１６は左足首、Ｑ１７は左膝、Ｑ１８は左股関節（左足の付け根）、Ｑ１９は右足首、Ｑ２０は右膝、Ｑ２１は右股関節（右足の付け根）、Ｑ２２は左手首、Ｑ２３は左肘、Ｑ２４は左肩甲上腕関節、Ｑ２５は右手首、Ｑ２６は右肘、Ｑ２７は右肩甲上腕関節である。また、符号Ｑ２８からＱ３０は、末端部と関節との間もしくは２つの関節の間の中間部に相当する特徴部分であり、Ｑ２８は腰（左右の股関節の中央）、Ｑ２９は頸部（左右の肩甲上腕関節の中央）、Ｑ３０は背中（腰Ｑ２８と頸部Ｑ２９との中央）である。
【００８０】
本実施形態の姿勢推定部１３は、部分判別部１２が左半身の部分と右半身の部分とを高精度に判別可能であるので、人体Ｍの特徴部分（例、左足首、右足首）を高精度に特定可能である。姿勢推定部１３は、上記認識処理の結果として、各特徴部分の位置と、各特徴部分の情報（例、属性情報、名称（右膝、右股関節））と、２つの特徴部分の接続関係を示す接続情報とを一組にした姿勢情報（例、骨格情報、スケルトンデータ）を生成する。姿勢推定部１３は、上記姿勢情報を図１の記憶部１４に記憶させる。
【００８１】
姿勢推定部１３は、上記姿勢情報に基づいて、人体Ｍの姿勢を推定する。姿勢推定部１３は、接続関係がある一対の特徴部分を結ぶ第１線と、第１線に接続され、接続関係がある一対の特徴部分を結ぶ第２線との相対位置（例、角度）に基づいて、第１線および第２線を含む部分の姿勢を推定する。ここで、上記第１線は、右足首Ｑ１９と右膝Ｑ２０とを結ぶ右脛Ｑ３１であるとし、上記第２線は、右膝Ｑ２０と右股関節Ｑ２１とを結ぶ右大腿部Ｑ３２（ふともも）であるとする。姿勢推定部１３は、右脛Ｑ３１と右大腿部Ｑ３２とがなす角度αを算出する。姿勢推定部１３は、右脛Ｑ３１と右大腿部Ｑ３２とがなす角度αが閾値以下である場合、右脛Ｑ３１および右大腿部Ｑ３２を含む人体Ｍの右足が曲がった姿勢であると判定する。姿勢推定部１３は、右脛Ｑ３１と右大腿部Ｑ３２とがなす角度αが閾値よりも大きい場合、右脛Ｑ３１および右大腿部Ｑ３２を含む人体Ｍの右足が伸びた姿勢であると判定する。
【００８２】
姿勢推定部１３は、例えばユーザが予め設定した各特徴部分について、上述のように姿勢を推定することで、人体Ｍの一部または全体の姿勢を推定する。なお、姿勢推定部１３は、物体（例、人体）の姿勢を定義した姿勢定義情報を参照して、姿勢を推定してもよい。上記の姿勢定義情報は、例えば、姿勢の種類を表す情報と、各特徴部分の相対位置を定義する情報とを一組にした情報である。姿勢の種類を表す情報は、例えば、歩行姿勢、座位、ヨガのポーズ名など姿勢の名称である。各特徴部分の相対位置を定義する情報は、例えば、右脛Ｑ３１と右大腿部Ｑ３２とがなす角度αの範囲あるいは閾値である。姿勢推定部１３は、生成した上記姿勢情報と上記姿勢定義情報とを照合して、人体Ｍの姿勢を推定（識別）してもよい。
【００８３】
次に、上記検出装置１の構成に基づいて、実施形態に係る検出方法について説明する。図８は、第１実施形態に係る検出方法を示すフローチャートである。検出装置１の構成、各部による処理については、適宜、図１から図７を参照する。ステップＳ１において、位置検出部２は、物体Ｍの表面上の各点の位置情報を検出する。位置検出部２は、位置情報としてデプスを検出し、検出結果として位置情報を表す点群データを生成する（図３参照）。ステップＳ１の処理は、ステップＳ２の処理およびステップＳ３の処理を含む。ステップＳ２において、検出部４は、所定の点（視点）から対象領域ＡＲの各点までのデプスを検出する。検出部４は、検出結果を表すデプスマップ（デプスの空間分布）を記憶部１４に記憶させる。ステップＳ３において、点群データ生成部５は、デプスの検出結果に基づいて点群データを生成する。点群データ生成部５は、生成した点群データを記憶部１４に記憶させる。
【００８４】
ステップＳ４において、基準算出部１１は、位置情報の変化量が所定の条件を満たす位置を基準位置ＢＰとして算出する。基準算出部１１は、基準位置ＢＰとして、第１基準位置ＢＰ１および第２基準位置ＢＰ２を算出する。ステップＳ４の処理は、ステップＳ５の処理およびステップＳ６の処理を含む。
【００８５】
ステップＳ５において、基準算出部１１は、鉛直方向（Ｙ方向）の座標（位置情報）の変化量に基づいて、第１基準位置ＢＰ１を算出する（図４参照）。基準算出部１１は、算出した第１基準位置ＢＰ１を記憶部１４に記憶させる。ステップＳ６において、基準算出部１１は、第１基準位置ＢＰ１に基づいて第２基準位置ＢＰ２を算出する（図５参照）。基準算出部１１は、ステップＳ５で算出した第１基準位置ＢＰ１に基づいて所定の領域ＡＲ２を設定し、所定の領域ＡＲ２において所定の条件を満たす位置を第２基準位置ＢＰ２として算出する。基準算出部１１は、算出した第２基準位置ＢＰ２を記憶部１４に記憶させる。
【００８６】
次に、ステップＳ７において、部分判別部１２は、基準位置ＢＰに基づいて基準面ＢＦに対して第１側（−Ｚ側）の第１部分Ｍ１と第２側（＋Ｚ側）の第２部分Ｍ２とを判別する。部分判別部１２は、ステップＳ６で算出された第２基準位置ＢＰ２に基づいて基準面ＢＦを設定する。また、部分判別部１２は、部分判別処理の判別対象部分ＱＸと第２基準位置ＢＰ２とを結ぶ測地線ＳＬを算出する。
【００８７】
部分判別部１２は、基準面ＢＦと測地線ＳＬとの相対位置に基づいて、判別対象部分ＱＸが第１部分Ｍ１と第２部分Ｍ２とのいずれに属するかを判別する。部分判別部１２は、部分判別処理の処理結果として、判別対象部分ＱＸが第１部分Ｍ１と第２部分Ｍ２とのいずれに属するかを示す判別情報を生成する。部分判別部１２は、生成した判別情報を記憶部１４に記憶させる。
【００８８】
ステップＳ８において、姿勢推定部１３は、物体Ｍの姿勢を推定する。姿勢推定部１３は、部分判別部１２の処理結果（例、判別情報）に基づいて、物体Ｍ（人体Ｍ）の姿勢を推定する姿勢推定処理を実行する。姿勢推定部１３は、点群データから得られる人体Ｍの形状に対して認識処理を実行し、人体Ｍの特徴部分を特定する（図７参照）。姿勢推定部１３は、特定した複数の特徴部分の相対位置に基づいて、人体Ｍの姿勢を推定する。
【００８９】
このように、実施形態に係る検出装置１は、基準算出部１１が位置情報の変化量に基づいて基準位置ＢＰを算出し、部分判別部１２が基準位置ＢＰに基づいて物体Ｍの第１側（例、−Ｚ側、左側）の第１部分Ｍ１と第２側（例、＋Ｚ側、右側）の第２部分Ｍ２とを判別する。したがって、検出装置１は、第１部分Ｍ１（例、左足）と第２部分Ｍ２（例、右足）とを高精度に判別することができ、例えば姿勢推定部１３が物体Ｍ（人体Ｍ）の姿勢を高精度に推定することができる。
【００９０】
また、本実施形態に係る基準算出部１１は、基準位置ＢＰとして、交差方向（例、Ｚ方向）における物体Ｍの中心を含む部分の位置を推定する。この場合、部分判別部１２は、物体Ｍの中心を含む部分の位置に基づいて部分判別処理を実行するので、第１側の第１部分Ｍ１と第２側の第２部分Ｍ２とを高精度に判別することができる。
【００９１】
次に、変形例について説明する。基準位置ＢＰは、Ｚ方向における物体Ｍの中心からずれていてもよい。例えば、基準位置ＢＰが物体Ｍの中心に対して第１側（＋Ｚ側）に所定のずれ量でずれているとする。また、基準位置ＢＰと物体Ｍの中心とのずれ量に対して、測地線ＳＬ（図６参照）と基準面ＢＦとの最大の距離が大きいとする。この場合、部分判別部１２は、測地線ＳＬにおいて基準面ＢＦに対して第１側（＋Ｚ側）に配置される部分の特徴量（例、測地線ＳＬの全体に占める比率、基準面ＢＦからの最大の距離）に基づいて、測地線ＳＬが基準面ＢＦに対していずれの側に配置されているかを判別してもよい。例えば、部分判別部１２は、測地線ＳＬにおいて基準面ＢＦに対して第１側（＋Ｚ側）に配置される部分の比率が閾値以上である場合に、判別対象部分ＱＸが第１側に配置された部分であると判別してもよい。
【００９２】
なお、位置検出部２は、位置情報として点群データを算出しなくてもよい。この場合、基準算出部１１は、位置検出部２（検出部４）が検出したデプスを処理して基準位置ＢＰを算出してもよい。また、基準算出部１１は、位置検出部２（検出部４）が検出したデプスから得られる物体Ｍの形状情報（例、ポリゴンデータ）に基づいて、基準位置ＢＰを算出してもよい（後に図１０を参照して説明する。）。
【００９３】
なお、基準算出部１１は、所定の領域ＡＲ２を設定しなくてもよい。例えば、基準算出部１１は、第１基準位置ＢＰ１ａと第１基準位置ＢＰ１ｂとの中心を第２基準位置ＢＰ２に設定してもよい。また、基準算出部１１は、第１基準位置ＢＰ１として、第１基準位置ＢＰ１ａと第１基準位置ＢＰ１ｂとの一方のみを算出してもよい。この場合、基準算出部１１は、第１基準位置ＢＰ１からＺ方向に所定量だけシフトした位置を第２基準位置ＢＰ２に設定してもよい。上記所定量は、例えば、物体Ｍのサイズ（スケール）に基づいて設定されてもよい。例えば、上記所定量は、物体ＭのＺ方向の大きさ（例、左肩の左端と右肩の右端との距離）に対して所定の比率（例、２５％）の量に設定されてもよい。また、基準算出部１１は、第１基準位置ＢＰ１を算出しなくてもよい。例えば、基準算出部１１は、図５（Ａ）のように物体Ｍの前面側または後面側の特徴量（例、Ｘｍｉｎ（Ｚｉ））がＺ方向において変化するパターン（例、図５（Ｂ）参照）に基づいて、Ｘ＝Ｘｍｉｎ（Ｚｃ）、Ｙ＝Ｙｋ、Ｚ＝Ｚｃの位置を基準位置ＢＰとして算出してもよい。
【００９４】
なお、検出装置１は、上記の姿勢推定部１３を備えなくてもよい。検出装置１は、部分判別部１２が判別した部分の特徴量（例、寸法、外周の長さ、断面積）を算出してもよい。また、検出装置１は、部分判別部１２による部分判別処理の処理結果を用いて、物体Ｍをセグメント化してもよい。検出装置１は、部分判別部１２による部分判別処理の処理結果（例、検出された「足」が「左足」であるのか「右足」であるのか識別する情報）を用いて、物体Ｍのモデル情報を生成してもよい（後に図１０で説明する）。
【００９５】
［第２実施形態］
次に、第２実施形態について説明する。本実施形態において、上述の実施形態と同様の構成については、同じ符号を付してその説明を省略あるいは簡略化する。図９は、第２実施形態に係る検出装置を示す図である。第１実施形態において、移動方向は、対象領域ＡＲ（例、位置検出部２の視野）に対して予め定められているものとしたが、本実施形態において、検出装置１は、物体Ｍ（例、人体Ｍ）の移動方向を検出する。検出装置１は、位置検出部２の検出結果に基づいて物体Ｍ（人体Ｍ）の移動方向を算出（導出、検出）する方向算出部２１を備える。
【００９６】
本実施形態において、検出部４は人体Ｍを繰り返し検出し、点群データ生成部５は、位置情報として検出タイミングごとの人体Ｍの点群データを生成する。方向算出部２１は、位置検出部２が検出した人体Ｍの位置情報の時間変化に基づいて、人体Ｍの移動方向を算出する。例えば、方向算出部２１は、人体Ｍの軌跡（例、人体Ｍの所定位置の時間履歴）を算出し、軌跡に沿う方向を人体Ｍの移動方向とする。上記所定位置は、デフォルトの設定またはユーザの設定によって定められる人体Ｍ上の位置である。
【００９７】
方向算出部２１は、人体Ｍの所定位置として、点群データに含まれる複数の点の重心を算出する。方向算出部２１は、算出した重心の時間変化に基づいて、移動方向を算出する。例えば、方向算出部２１は、第１時刻における検出部４検出結果から得られる人体Ｍの第１の所定位置を始点とし、第１時刻よりも後の第２時刻における検出部４検出結果から得られる人体Ｍの第２の所定位置を終点とするベクトルを算出し、このベクトルに平行な方向ベクトル（例、単位ベクトル）を、第１時刻における人体Ｍの移動方向を決定する。
【００９８】
方向算出部２１は、算出した移動方向（例、移動情報）を記憶部１４に記憶させる。基準算出部１１は、方向算出部２１が算出した移動方向に基づいて、基準位置ＢＰを算出する。例えば、基準算出部１１は、方向算出部２１が算出した移動方向を記憶部１４から読み出し、移動方向をＸ方向に設定して、基準算出処理を実行する。部分判別部１２は、方向算出部２１が算出した移動方向に基づいて、第１部分Ｍ１と第２部分Ｍ２とを判別する。例えば、部分判別部１２は、鉛直方向と、方向算出部２１が算出した移動方向とに平行、かつ第２基準位置ＢＰ２を含む平面を基準面ＢＦに設定する。そして、部分判別部１２は、判別対象部分ＱＸについて、設定した基準面ＢＦに対して第１側（例、−Ｚ側）または第２側（例、＋Ｚ側）のいずれに配置されるかを判別する。
【００９９】
なお、上記所定位置は、第１実施形態で説明した特徴部分（例、人体Ｍの頭部）の位置でもよい。また、上記所定位置は、部分判別部１２の判別結果に基づいて導出される人体Ｍの特徴部分（例、右足、左足）の位置でもよい。また、上記所定位置は、基準算出部１１が算出した基準位置ＢＰ（例、第２基準位置ＢＰ２）でもよい。例えば、方向算出部２１は、予め設定される第１の所定位置（例、重心）の軌跡に基づいて移動方向の候補を算出してもよい。そして、基準算出部１１は、方向算出部２１が算出した移動方向の候補をＸ方向として、基準位置ＢＰ（例、第２基準位置ＢＰ２）の候補を算出してもよい。方向算出部２１は、基準算出部１１が算出した第２基準位置ＢＰ２の候補を第２の所定位置に用いて、第２の所定位置の軌跡に基づいて移動方向を算出（例、再計算）してもよい。基準算出部１１は、第２の所定位置を用いて算出される移動方向をＸ方向として、基準位置ＢＰを算出（再計算）してもよい。
【０１００】
なお、方向算出部２１は、全地球測位システム（ＧＰＳ）から取得される物体Ｍの位置情報に基づいて、物体Ｍの移動方向を算出してもよい。また、物体Ｍに加速度センサが設けられ、方向算出部２１は、上記加速度センサの検出結果に基づいて、物体Ｍの移動方向を算出してもよい。例えば、人体Ｍは、ＧＰＳから情報を受信する受信部と上記加速度センサとの一方または双方を備える携帯端末（例、スマートフォン）を付帯して移動し、方向算出部２１は、上記携帯端末から人体Ｍの位置情報（例、ＧＰＳ情報、加速度）を取得して、物体Ｍの移動方向を算出してもよい。
【０１０１】
なお、検出装置１は、鉛直方向を検出する鉛直検出部（例、重力加速度の向きを検出するセンサ）を備え、鉛直検出部が検出した検出結果を上記のＹ方向に設定して基準算出処理と部分判別処理との一方または双方を実行してもよい。検出装置１は、上記鉛直検出部を備えなくてもよい。例えば、上記鉛直検出部は、物体Ｍに設けられ（人体Ｍが携帯し）、検出装置１は、鉛直検出部から取得される鉛直方向に基づいて、基準算出処理と部分判別処理との一方または双方を実行してもよい。また、鉛直検出部は、検出装置１と物体Ｍとのいずれとも別に設けられてもよい。例えば、鉛直検出部は、物体Ｍを検出する場所（例、検出装置１が設置される設備）に設けられてもよい。
【０１０２】
［第３実施形態］
次に、第３実施形態について説明する。本実施形態において、上述の実施形態と同様の構成については、同じ符号を付してその説明を省略あるいは簡略化する。図１０は、第３実施形態に係る検出装置を示す図である。検出装置１は、物体Ｍ（この場合、人体Ｍ）のモデル情報を生成するモデル生成部２２を備える。モデル情報は、例えば３次元のＣＧモデルデータであり、物体Ｍの形状情報を含む。モデル生成部２２は、部分判別部１２が判別した第１部分Ｍ１と第２部分Ｍ２とに基づいて、物体Ｍのモデル情報を算出する。
【０１０３】
本実施形態に係るモデル生成部２２は、点群データ生成部５とサーフェス情報生成部２３とを備える。点群データ生成部５は、第１実施形態で説明したように、検出部４が検出した物体Ｍのデプスに基づいて、形状情報として点群データを生成する。サーフェス情報生成部２３は、形状情報としてサーフェス情報を算出するサーフェス処理を実行する。
【０１０４】
サーフェス情報は、例えばポリゴンデータ、ベクタデータ、及びドローデータの少なくとも１つを含む。サーフェス情報は、物体の表面上の複数の点の座標と、複数の点間の連結情報とを含む。連結情報（例、属性情報）は、例えば、物体表面の稜線（例、エッジ）に相当する線の両端の点を互いに関連付ける情報を含む。また、連結情報は、例えば、物体表面（サーフェス）の輪郭に相当する複数の線を互いに関連付ける情報を含む。
【０１０５】
サーフェス情報生成部２３は、サーフェス処理において、点群データに含まれる複数の点から選択される点とその近傍の点との間の面を推定する。サーフェス情報生成部２３は、点とその近傍の点との間の面を推定する際に、部分判別部１２の処理結果を用いて点群データをセグメント化する。例えば、サーフェス情報生成部２３は、人体Ｍの左足のサーフェス情報を生成する際に、部分判別部１２の処理結果に基づいて左足の点群データを右足の点群データと区別する。この場合、サーフェス情報生成部２３は、例えば左膝と右膝とが接近（例、接触）している場合等において、左膝と右膝とにまたがった面を推定することが回避され、高精度なサーフェス情報を生成可能である。
【０１０６】
また、サーフェス情報生成部２３は、サーフェス処理において、点群データを点間の平面情報を持つポリゴンデータに変換する。サーフェス情報生成部２３は、例えば、最小二乗法を用いたアルゴリズムにより、点群データをポリゴンデータへ変換する。このアルゴリズムは、例えば、点群処理ライブラリに公開されているアルゴリズムを適用したものでもよい。サーフェス情報生成部２３は、算出したサーフェス情報を記憶部１４に記憶させる。
【０１０７】
なお、モデル情報は、物体Ｍのテクスチャ情報を含んでもよい。モデル生成部２２は、３次元の点座標及びその関連情報で規定された面のテクスチャ情報を生成してもよい。テクスチャ情報は、例えば、物体表面の文字や図形、模様、質感、パターン、凹凸を規定する情報、特定の画像、及び色彩（例、有彩色、無彩色）の少なくとも１つの情報を含む。モデル生成部２２は、生成したテクスチャ情報を記憶部１４に記憶させてもよい。
【０１０８】
また、モデル情報は、画像の空間情報（例、照明条件、光源情報）を含んでもよい。光源情報は、物体Ｍに対して光（例、照明光）を照射する光源の位置、この光源から物体Ｍへ光が照射される方向（照射方向）、この光源から照射される光の波長、及びこの光源の種類のうち少なくとも１項目の情報を含む。モデル生成部２２は、例えば、ランバート反射を仮定したモデル、アルベド（Albedo）推定を含むモデルなどを利用して、光源情報を算出してもよい。モデル生成部２２は、生成した空間情報を記憶部１４に記憶させてもよい。モデル生成部２２は、テクスチャ情報と空間情報との一方または双方を生成しなくてもよい。
【０１０９】
［第４実施形態］
次に、第４実施形態について説明する。本実施形態において、上述の実施形態と同様の構成については、同じ符号を付してその説明を省略あるいは簡略化する。図１１は、第４実施形態に係る検出装置を示す図である。本実施形態に係る検出装置１（検出システム）は、モデル生成部２２と、レンダリング処理部２４（レンダリング処理装置、情報処理装置）と、入力装置２５と、表示装置２６とを備える。
【０１１０】
レンダリング処理部２４は、例えば、グラフィックス  プロセッシング  ユニット（GPU）を含む。なお、レンダリング処理部２４は、ＣＰＵおよびメモリが画像処理プログラムに従って各処理を実行する態様でもよい。レンダリング処理部２４は、例えば、描画処理、テクスチャマッピング処理、シェーディング処理の少なくとも一つの処理を行う。
【０１１１】
レンダリング処理部２４は、描画処理において、例えば、モデル情報の形状情報に定められた形状を任意の視点から見た推定画像（例、再構築画像）を算出できる。以下の説明において、形状情報が示す形状をモデル形状という。レンダリング処理部２４は、例えば、描画処理によって、モデル情報（例、形状情報）からモデル形状（例、推定画像）を再構成できる。レンダリング処理部２４は、例えば、算出した推定画像のデータを記憶部１４に記憶させる。
【０１１２】
また、レンダリング処理部２４は、テクスチャマッピング処理において、例えば、推定画像上の物体の表面に、モデル情報のテクスチャ情報が示す画像を貼り付けた推定画像を算出できる。レンダリング処理部２４は、推定画像上の物体の表面に、対象物と別のテクスチャを貼り付けた推定画像を算出することができる。
【０１１３】
レンダリング処理部２４は、シェーディング処理において、例えば、モデル情報の光源情報が示す光源により形成される陰影を推定画像上の物体に付加した推定画像を算出できる。また、レンダリング処理部２４は、シェーディング処理において、例えば、任意の光源により形成される陰影を推定画像上の物体に付加した推定画像を算出できる。
【０１１４】
入力装置２５は、処理装置３に対する各種情報（例、データ、指令）の入力に利用される。ユーザは、入力装置２５を操作することによって、処理装置３に対して各種情報を入力可能である。入力装置２５は、例えば、キーボード、マウス、トラックボール、タッチパネル、及び音声入力デバイス（例、マイク）の少なくとも一つを含む。
【０１１５】
表示装置２６は、処理装置３から出力される画像のデータに基づいて、この画像を表示する。例えば、処理装置３は、レンダリング処理部２４が生成した推定画像のデータを表示装置２６に出力する。表示装置２６は、処理装置３から出力された推定画像のデータに基づいて、推定画像を表示する。表示装置２６は、例えば、液晶ディスプレイを含む。表示装置２６および入力装置２５は、タッチパネルなどでもよい。
【０１１６】
なお、検出装置１は、入力装置２５を備えなくてもよい。例えば、検出装置１は、各種の指令、情報が通信を介して入力される形態でもよい。また、検出装置１は、表示装置２６を備えなくてもよい。例えば、検出装置１は、レンダリング処理により生成された推定画像のデータを通信を介して表示装置へ出力し、この表示装置が推定画像を表示してもよい。レンダリング処理部２４は、図１１において処理装置３に設けられるが、処理装置３の外部の装置に設けられてもよい。上記外部の装置は、処理装置３と通信可能に接続されるクラウドコンピュータでもよい。
【０１１７】
上述の実施形態において、処理装置３は、例えばコンピュータシステムを含む。処理装置３は、記憶部１４に記憶されている処理プログラムを読み出し、この処理プログラムに従って各種の処理を実行する。この処理プログラムは、例えば、コンピュータに、移動する物体の移動方向と鉛直方向とに交差する交差方向において、物体の表面上の各点の位置情報の変化量が所定の条件を満たす位置を基準位置として算出することと、基準位置に基づいて、移動方向と鉛直方向とを含む基準面に対して第１側に配置される物体の第１部分と、基準面に対して第１側と反対の第２側に配置される物体の第２部分とを判別することと、を実行させる。このプログラムは、コンピュータ読み取り可能な記憶媒体（例、非一時的な記録媒体、non-transitory tangible media）に記録されて提供されてもよい。
【０１１８】
なお、本発明の技術範囲は、上述の実施形態などで説明した態様に限定されるものではない。上述の実施形態などで説明した要件の１つ以上は、省略されることがある。また、上述の実施形態などで説明した要件は、適宜組み合わせることができる。また、法令で許容される限りにおいて、日本特許出願である特願２０１８−１４３６８７、及び、上述の実施形態などで引用した全ての文献の開示を援用して本文の記載の一部とする。
【符号の説明】
【０１１９】
１・・・検出装置、２・・・位置検出部、３・・・処理装置、４・・・検出部、５・・・点群データ生成部、１１・・・基準算出部、１２・・・部分判別部、１３・・・姿勢推定部、１４・・・記憶部、２１・・・方向算出部、２２・・・モデル生成部、ＢＦ・・・基準面、ＢＰ・・・基準位置、ＢＰ１・・・第１基準位置、ＢＰ１ａ・・・第１基準位置、ＢＰ１ｂ・・・第１基準位置、ＢＰ２・・・第２基準位置、ＣＬ・・・中心線、Ｄ２・・・点群データ、Ｍ・・・物体（人体）、Ｍ１・・・第１部分（左半身）、Ｍ２・・・第２部分（右半身）、ＭＤ・・・移動方向、ＳＬ・・・測地線、Ｖ１・・・第１閾値、Ｖ２・・・第２閾値
【図１】
2020026677.tif 000003
【図２】
2020026677.tif 000004
【図３】
2020026677.tif 000005
【図４】
2020026677.tif 000006
【図５】
2020026677.tif 000007
【図６】
2020026677.tif 000008
【図７】
2020026677.tif 000009
【図８】
2020026677.tif 000010
【図９】
2020026677.tif 000011
【図１０】
2020026677.tif 000012
【図１１】
2020026677.tif 000013
【国際調査報告】
2020026677.tif 000014
2020026677.tif 000015
2020026677.tif 000016
2020026677.tif 000017