(57)【要約】  コンピュータに実装された方法であって、ヒューマノイド対象物（２８）の身体を含むシーンの深度マップ（３０）を受け取るステップを含む。前記深度マップはピクセルのマトリクス（３２）を含み、それぞれのピクセルは、前記シーンにおけるそれぞれの位置に対応し、基準位置から前記それぞれの位置までの距離を示すピクセル値を有する。前記深度マップは、セグメント化され前記身体の輪郭（６４）が発見される。前記輪郭は、処理され、前記対象物のトルソ（７０）と１又は複数の手足（７６、７８、８０、８２）とが識別される。前記深度マップにおける前記識別された手足の少なくとも１つの配置を解析することにより、コンピュータにおいて動作しているアプリケーション・プログラムを制御する入力が生成される。
2009536731.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに実装されたデータ処理方法であって、
ヒューマノイド対象物の身体を含むシーンの深度マップを受け取るステップであって、前記深度マップはピクセルのマトリクスを含み、それぞれのピクセルは、前記シーンにおけるそれぞれの位置に対応し、基準位置から前記それぞれの位置までの距離を示すピクセル値を有する、ステップと、
前記深度マップをセグメント化して前記身体の輪郭を発見するステップと、
前記輪郭を処理して前記対象物のトルソと１又は複数の手足とを識別するステップと、
前記深度マップにおける前記識別された手足の少なくとも１つの配置を解析することにより、コンピュータにおいて動作しているアプリケーション・プログラムを制御する入力を生成するステップと、
を含むことを特徴とする方法。
【請求項２】
請求項１記載の方法において、前記深度マップを受け取るステップは、前記身体に専用のマーカを付着させることなく前記深度マップを取得するステップを含むことを特徴とする方法。
【請求項３】
請求項１記載の方法において、前記深度マップを受け取るステップは、単一の静止型画像化デバイスを用いて前記深度マップを取得するステップを含むことを特徴とする方法。
【請求項４】
請求項３記載の方法において、前記深度マップを取得するステップは、スポットの相関のないパターンを射影するステップと、前記射影されたパターンのイメージを前記画像化デバイスを用いてキャプチャするステップと、前記イメージを処理して前記深度マップを生成するステップと、を含むことを特徴とする方法。
【請求項５】
請求項４記載の方法において、前記スポットの相関のないパターンを射影するステップは、コヒーレント光源を用いてプライマリ・スペックル・パターンを形成するステップを含むことを特徴とする方法。
【請求項６】
請求項１記載の方法において、前記深度マップを受け取るステップは少なくとも毎秒２５フレームのフレーム速度で一連の深度マップを取得するステップを含み、前記制御入力を生成するステップは前記一連の深度マップに応答して前記制御入力を少なくとも前記フレーム速度と等しい更新速度で更新するステップを含むことを特徴とすることを特徴とする方法。
【請求項７】
請求項１記載の方法において、前記深度マップをセグメント化するステップは、前記身体に接続されていない前記シーンにおける背景物体を識別するステップと、前記輪郭を発見する前に前記背景物体を前記シーンから除去するステップと、を含むことを特徴とする方法。
【請求項８】
請求項１ないし請求項７のいずれかの請求項に記載の方法において、前記輪郭を処理するステップは、前記輪郭の内部の領域の厚さを評価するステップと、前記厚さに応答して前記領域の第１の部分を前記トルソとして識別するステップと、前記トルソに接続されている前記領域の第２の部分を前記手足の少なくとも１つとして識別するステップと、を含むことを特徴とする方法。
【請求項９】
請求項８記載の方法において、前記厚さを評価するステップは、
前記深度マップにおける前記身体の軸を識別するステップと、
前記軸に垂直な複数の第１の線に沿った前記輪郭の横断方向の厚さを計算するステップと、
前記軸と平行な複数の第２の線に沿った前記輪郭の長軸方向の厚さを計算するステップと、
前記第１及び第２の線によって定義された前記輪郭の内部の領域の一部を前記トルソとして指定するステップであって、前記第１及び第２の線に沿った前記横断方向の厚さ及び前記長軸方向の厚さは特定された横断方向のスレショルド及び長軸方向のスレショルドよりも小さくない、ステップと、
を含むことを特徴とする方法。
【請求項１０】
請求項８記載の方法において、前記領域の第２の部分を識別するステップは、前記基準位置からの前記トルソの代表距離を前記深度マップに基づいて決定するステップと、前記ピクセルの距離が前記代表距離よりも小さい前記トルソをオーバレイする領域を前記対象物の腕と識別するステップと、を含むことを特徴とする方法。
【請求項１１】
請求項１ないし請求項７のいずれかの請求項に記載の方法において、前記配置を解析するステップは、前記１又は複数の手足の１又は複数の対応する中心軸を発見するステップを含むことを特徴とする方法。
【請求項１２】
請求項１１記載の方法において、前記１又は複数の対応する中心軸を発見するステップは、前記手足の少なくとも１つから前記ピクセルを逐次的に除去するステップを含むことを特徴とする方法。
【請求項１３】
請求項１１記載の方法において、前記中心軸は湾曲しており、前記配置を解析するステップは、前記中心軸に適合する直線状のセグメントを発見することにより前記１又は複数のスティック形状を有する表現を導くステップを含むことを特徴とする方法。
【請求項１４】
請求項１ないし請求項７のいずれかの請求項に記載の方法において、前記１又は複数の手足は前記対象物の腕を含み、前記配置を解析するステップは、前記トルソにおける肩の地点と前記腕における手のひらの地点とを識別し前記肩と前記手のひらとの地点をそれぞれ通過して前記腕の肘において一致する２つの直線状のセグメントを識別することによって前記腕のスティック形状の表現を導くステップを含むことを特徴とする方法。
【請求項１５】
データ処理装置であって、
ヒューマノイド対象物の身体を含むシーンの画像をキャプチャするように構成された画像化デバイスと、
前記画像を処理しピクセルのマトリクスを含む深度マップを作成するプロセッサであって、それぞれのピクセルは前記シーンにおけるそれぞれの位置に対応し基準位置から前記それぞれの位置までの距離を示すピクセル値を有し、前記深度マップをセグメント化して前記身体の輪郭を発見し、前記輪郭を処理して前記対象物のトルソと１又は複数の手足とを識別し、前記深度マップにおける前記識別された手足の少なくとも１つの配置を解析することにより、コンピュータにおいて動作しているアプリケーション・プログラムを制御する入力を生成するプロセッサと、
を含むことを特徴とする装置。
【請求項１６】
請求項１５記載の装置において、前記プロセッサは、前記身体に付着された専用のマーカなしで前記深度マップを作成するように構成されていることを特徴とする装置。
【請求項１７】
請求項１５記載の装置において、前記プロセッサは、単一の静止型画像化デバイスを用いて前記深度マップを作成するように構成されていることを特徴とする装置。
【請求項１８】
請求項１７記載の装置において、前記画像化デバイスは、スポットの相関のないパターンを前記対象物に射影し、前記射影されたパターンをキャプチャするように構成されていることを特徴とする装置。
【請求項１９】
請求項１８記載の装置において、前記スポットの相関のないパターンは、コヒーレント光源によって形成されたプライマリ・スペックル・パターンを含むことを特徴とする装置。
【請求項２０】
請求項１５記載の装置において、前記プロセッサは、前記画像化デバイスによってキャプチャされた画像に応答して少なくとも毎秒２５フレームのフレーム速度で一連の深度マップを生成し、前記一連の深度マップに応答して前記制御入力を少なくとも前記フレーム速度と等しい更新速度で更新するように構成されていることを特徴とする装置。
【請求項２１】
請求項１５記載の装置において、前記プロセッサは、前記身体に接続されていない前記シーンにおける背景物体を識別し、前記輪郭を発見する前に前記背景物体を前記シーンから除去するように構成されていることを特徴とする装置。
【請求項２２】
請求項１５ないし請求項２１のいずれかの請求項に記載の装置において、前記プロセッサは、前記輪郭の内部の領域の厚さを評価し、前記厚さに応答して前記領域の第１の部分を前記トルソとして識別し、前記トルソに接続されている前記領域の第２の部分を前記手足の少なくとも１つとして識別するように構成されていることを特徴とする装置。
【請求項２３】
請求項２２記載の装置において、前記プロセッサは、前記深度マップにおける前記身体の軸を識別し、前記軸に垂直な複数の第１の線に沿った前記輪郭の横断方向の厚さを計算し、前記軸と平行な複数の第２の線に沿った前記輪郭の長軸方向の厚さを計算し、前記第１及び第２の線によって定義された前記輪郭の内部の領域の一部を前記トルソとして指定することによって、前記厚さを評価するように構成されており、前記第１及び第２の線に沿った前記横断方向の厚さ及び前記長軸方向の厚さは特定された横断方向のスレショルド及び長軸方向のスレショルドよりも小さくないことを特徴とする装置。
【請求項２４】
請求項２２記載の装置において、前記プロセッサは、前記基準位置からの前記トルソの代表距離を前記深度マップに基づいて決定し、前記ピクセルの距離が前記代表距離よりも小さい前記トルソをオーバレイする領域を前記対象物の腕と識別するように構成されていることを特徴とする装置。
【請求項２５】
請求項１５ないし請求項２１のいずれかの請求項に記載の装置において、前記プロセッサは、前記輪郭を分析して前記１又は複数の手足の１又は複数の対応する中心軸を発見するように構成されていることを特徴とする装置。
【請求項２６】
請求項２５記載の装置において、前記プロセッサは、前記手足の少なくとも１つを包囲する前記輪郭を逐次的に浸食することによって１又は複数の中心軸を発見するように構成されていることを特徴とする装置。
【請求項２７】
請求項２５記載の装置において、前記中心軸は湾曲しており、前記プロセッサは、前記中心軸に適合する直線状のセグメントを発見することにより前記１又は複数の手足のスティック形状を有する表現を導くように構成されていることを特徴とする装置。
【請求項２８】
請求項１５ないし請求項２１のいずれかの請求項に記載の装置において、前記１又は複数の手足は前記対象物の腕を含み、前記プロセッサは、前記トルソにおける肩の地点と前記腕における手のひらの地点とを識別し前記肩と前記手のひらとの地点をそれぞれ通過して前記腕の肘において一致する２つの直線状のセグメントを識別することによって、前記腕のスティック状の表現を導くように構成されていることを特徴とする装置。
【請求項２９】
プログラム命令が記憶されているコンピュータ可読媒体を含むコンピュータ・ソフトウェア・プロダクトであって、前記命令は、コンピュータによって読み取られると、前記コンピュータに、
ヒューマノイド対象物の身体を含むシーンの深度マップを受け取るステップであって、前記深度マップはピクセルのマトリクスを含み、それぞれのピクセルは、前記シーンにおけるそれぞれの位置に対応し、基準位置から前記それぞれの位置までの距離を示すピクセル値を有する、ステップと、
前記深度マップをセグメント化して前記身体の輪郭を発見するステップと、
前記輪郭を処理して前記対象物のトルソと１又は複数の手足とを識別するステップと、
前記深度マップにおける前記識別された手足の少なくとも１つの配置を解析することにより、コンピュータにおいて動作しているアプリケーション・プログラムを制御する入力を生成するステップと、
を実行させることを特徴とするコンピュータ・ソフトウェア・プロダクト。
【請求項３０】
請求項２９記載のコンピュータ・ソフトウェア・プロダクトにおいて、前記命令は、前記コンピュータに、前記身体に専用のマーカを付着させることなく前記深度マップを作成させることを特徴とするコンピュータ・ソフトウェア・プロダクト。
【請求項３１】
請求項２９記載のコンピュータ・ソフトウェア・プロダクトにおいて、前記命令は、前記コンピュータに、単一の静止型画像化デバイスを用いて前記深度マップを作成させることを特徴とするコンピュータ・ソフトウェア・プロダクト。
【請求項３２】
請求項３１記載のコンピュータ・ソフトウェア・プロダクトにおいて、スポットの相関のないパターンは前記対象物に射影され、前記射影されたパターンのイメージを前記画像化デバイスを用いてキャプチャするステップと、前記イメージを処理して前記深度マップを生成するステップと、を含むことを特徴とするコンピュータ・ソフトウェア・プロダクト。
【請求項３３】
請求項３２記載のコンピュータ・ソフトウェア・プロダクトにおいて、前記スポットの相関のないパターンは、コヒーレント光源を用いて形成されたプライマリ・スペックル・パターンを含むことを特徴とするコンピュータ・ソフトウェア・プロダクト。
【請求項３４】
請求項２９記載のコンピュータ・ソフトウェア・プロダクトにおいて、前記命令は、前記コンピュータに、少なくとも毎秒２５フレームのフレーム速度で一連の深度マップを生成させ、前記一連の深度マップに応答して前記制御入力を少なくとも前記フレーム速度と等しい更新速度で更新させることを特徴とすることを特徴とするコンピュータ・ソフトウェア・プロダクト。
【請求項３５】
請求項２９記載のコンピュータ・ソフトウェア・プロダクトにおいて、前記命令は、前記コンピュータに、前記身体に接続されていない前記シーンにおける背景物体を識別させ、前記輪郭を発見する前に前記背景物体を前記シーンから除去させることを特徴とするコンピュータ・ソフトウェア・プロダクト。
【請求項３６】
請求項２９ないし請求項３５のいずれかの請求項に記載のコンピュータ・ソフトウェア・プロダクトにおいて、前記命令は、前記コンピュータに、前記輪郭の内部の領域の厚さを評価させ、前記厚さに応答して前記領域の第１の部分を前記トルソとして識別させ、前記トルソに接続されている前記領域の第２の部分を前記手足の少なくとも１つとして識別させることを特徴とするコンピュータ・ソフトウェア・プロダクト。
【請求項３７】
請求項３６記載のコンピュータ・ソフトウェア・プロダクトにおいて、前記命令は、前記コンピュータに、前記深度マップにおける前記身体の軸を識別することと、前記軸に垂直な複数の第１の線に沿った前記輪郭の横断方向の厚さを計算することと、前記軸と平行な複数の第２の線に沿った前記輪郭の長軸方向の厚さを計算することと、前記第１及び第２の線によって定義された前記輪郭の内部の領域の一部を前記トルソとして指定することとによって、前記厚さ評価させ、前記第１及び第２の線に沿った前記横断方向の厚さ及び前記長軸方向の厚さは特定された横断方向のスレショルド及び長軸方向のスレショルドよりも小さくないことを特徴とするコンピュータ・ソフトウェア・プロダクト。
【請求項３８】
請求項３７記載のコンピュータ・ソフトウェア・プロダクトにおいて、前記命令は、前記コンピュータに、前記基準位置からの前記トルソの代表距離を前記深度マップに基づいて決定させ、前記ピクセルの距離が前記代表距離よりも小さい前記トルソをオーバレイする領域を前記対象物の腕と識別させることを特徴とするコンピュータ・ソフトウェア・プロダクト。
【請求項３９】
請求項２９ないし請求項３５のいずれかの請求項に記載のコンピュータ・ソフトウェア・プロダクトにおいて、前記命令は、前記コンピュータに、前記輪郭を分析させ前記１又は複数の手足の１又は複数の対応する中心軸を発見させることを特徴とするコンピュータ・ソフトウェア・プロダクト。
【請求項４０】
請求項３９記載のコンピュータ・ソフトウェア・プロダクトにおいて、前記命令は、前記コンピュータに、前記手足の少なくとも１つを包囲する前記輪郭を浸食することによって前記１又は複数の中心軸を発見させることを特徴とするコンピュータ・ソフトウェア・プロダクト。
【請求項４１】
請求項３９記載のコンピュータ・ソフトウェア・プロダクトにおいて、前記中心軸は湾曲しており、前記命令は、前記コンピュータに、前記中心軸に適合する直線状のセグメントを発見することにより前記１又は複数の手足のスティック形状を表現を導かせることを特徴とするコンピュータ・ソフトウェア・プロダクト。
【請求項４２】
請求項２９ないし請求項３５のいずれかの請求項に記載のコンピュータ・ソフトウェア・プロダクトにおいて、前記１又は複数の手足は前記対象物の腕を含み、前記命令は、前記コンピュータに、前記トルソにおける肩の地点と前記腕における手のひらの地点とを識別することと、前記肩と前記手のひらとの地点を通過して前記腕の肘において一致する２つの直線状のセグメントを識別することとにより、前記腕のスティック形状の表現を導くことを特徴とするコンピュータ・ソフトウェア・プロダクト。
【発明の詳細な説明】
【関連出願】
【０００１】
この出願では、２００６年３月１１日に出願された米国特許仮出願第６０／７９９，９５２に基づく優先権が主張される。なお、この米国特許仮出願を、この出願において援用する。
【技術分野】
【０００２】
本発明は、広くは三次元（３Ｄ）の物体のマッピング及びモデリング方法及びシステムに関し、特に、深度マップ（depth map）からヒューマノイド形状を自動的に抽出することに関係する。
【背景技術】
【０００３】
この技術分野では、深度マップを作成する多くの異なる方法及びシステムが知られている。この特許出願及び特許請求の範囲においては、「深度マップ」という用語は、ピクセルの二次元のマトリクスとしてのシーンの表現を意味する。それぞれのピクセルは、当該シーンにおけるそれぞれの位置に対応し、ある基準位置からそれぞれのシーン位置までの距離を示すピクセル値を有する。（言いかえれば、深度マップは、シーンにおける物体の輝度及び／又は色ではなく、ピクセル値が場所情報を示すイメージの形状を有する。）深度マップは、例えば、レーザ・スペックル・パターンがその上に射影される物体のイメージの検出及び処理によって作成される。そのような例が、はＰＣＴ国際公開第ＷＯ２００７／０４３０３６Ａ１に記載されている。この国際公開は、この出願で援用される。
【０００４】
述べられている。その開示は、参照によってここに組込まれる。
この技術分野においては、ビデオ又はそれ以外のイメージ・データからの人間の形状のコンピュータ化された三次元（３Ｄ）モデリングのための様々な方法が知られている。これらの方法の中のいくつかでは、対象物の運動のトラッキングを容易にするために、専用のマーカが対象物の身体の既知の位置に付着されることを必要とする。この種のマーカに基づく方法は、例えば、Fua et al., in "Human Shape and Motion Recovery Using Animation Models," 19th Congress, International Society for Photogrammetry and Remote Sensing (Amsterdam, July, 2000)に記載がある。この論文は、この特許出願において援用する。
【０００５】
他の方法では、複数のカメラを用いて、３Ｄステレオイメージ情報を提供し、この情報を処理して人間（又はそれ以外の）形状をモデル化する。例えば、Allard et al. describe such a method in "Marker-less Real Time 3D Modeling for Virtual Reality," Immersive Projection Technology (IPT 2004, Iowa State University)に記載がある。この論文は、この特許出願において援用する。人間の形状及び運動の確率的モデルを二次元（２Ｄ）イメージに適用する他の方法が、Howe et al., in "Bayesian Reconstruction of 3D Human Motion from Single-Camera Video," Advances in Neural Information Processing Systems 12 (Denver, Colorado, 1999)に記載されている。この論文は、この特許出願において援用する。
【０００６】
深度情報を提供する「ステレオ・カメラ」のしように関しては、Li et al. describe the use of a "stereo camera" in providing depth information in "Real-time 3D Motion Recognition with Dense Depth Map," (Report CPSC525, Department of Computer Science, University of British Columbia, Vancouver, BC, 2004)に記載がある。この論文は、この特許出願において援用する。統計的な背景（background）除去法方法がステレオ・カメラからの入力ビデオ・ストリームに適用され、また、相関に基づくステレオ方法を用いて前景（foreground）物体の稠密な深度マップが得られる。次に、オプティカル・フロー・アプローチを用いて、深度マップに基づき物体の運動が検出される。
【０００７】
別の深度ベースの方法が、Grammalidis et al. describe another depth-based method in "3-D Human Body Tracking from Depth Images Using Analysis by Synthesis," Proceedings of the IEEE International Conference on Image Processing (ICIP 2001, Thessaloniki, Greece), pp. 185-188に記載されている。この論文は、この特許出願において援用する。この方法は、人間の腕ののＭＰＥＧ−４身体アニメーション・パラメータ（ＢＡＰ）の評価に関する。ＭＰＥＧ−４の身体モデルのリジッドな部分は、カメラによって画像化される対応する身体部分の幾何学的な特性に当初スケーリングされる。次に、ＢＡＰ値が、ダウンヒル・シンプレックス最小化法に基づくテクニックを用いて評価される。
【発明の概要】
【０００８】
以下で説明される本発明の実施例は、深度マップに基づいてヒューマノイドの形状をモデル化する方法、デバイス及びソフトウェアを提供する。この特許出願において用いられる「ヒューマノイド」という用語は、身体構造が人間の身体構造に似た任意の存在を意味する。例示的な実施例では、プロセッサが、対象物の身体を含むシーンの深度マップをセグメント化して当該身体の輪郭を発見する。プロセッサは、次に、対象物のトルソと１又は複数の手足とを識別するために、輪郭を解析する。
【０００９】
プロセッサは、単一のイメージ又は一連のイメージにおける１又は複数の手足の配置を評価して、対象物のジェスチャ及び／又はそれ以外の動きを抽出する。結果として得られる情報は、コンピュータの上で動作しているアプリケーション・プログラムを制御する入力として用いられる。あるいは、プロセッサは、手足及び可能であればトルソの配置を組み入れた身体の静的又は動的なモデルを導く。以下で説明する深度マップを処理する方法は非常に効率的であり、それにより、従来型のマイクロプロセッサを、これらの方法をリアルタイムですなわち少なくとも毎秒２５−３０フレームの標準的なビデオ速度に等しい処理速度で実行するようにプログラムすることが可能である。
【００１０】
従って、本発明のある実施例によると、コンピュータに実装されたデータ処理方法であって、
ヒューマノイド対象物の身体を含むシーンの深度マップを受け取るステップであって、前記深度マップはピクセルのマトリクスを含み、それぞれのピクセルは、前記シーンにおけるそれぞれの位置に対応し、基準位置から前記それぞれの位置までの距離を示すピクセル値を有する、ステップと、
前記深度マップをセグメント化して前記身体の輪郭を発見するステップと、
前記輪郭を処理して前記対象物のトルソと１又は複数の手足とを識別するステップと、
前記深度マップにおける前記識別された手足の少なくとも１つの配置を解析することにより、コンピュータにおいて動作しているアプリケーション・プログラムを制御する入力を生成するステップと、
を含む方法が提供される。
【００１１】
典型的には、前記深度マップを受け取るステップは、前記身体に専用のマーカを付着させることなく前記深度マップを取得するステップを含む。開示されている実施例では、前記深度マップを受け取るステップは、単一の静止型画像化デバイスを用いて前記深度マップを取得するステップを含む。前記深度マップを取得するステップは、スポットの相関のないパターンを射影するステップと、前記射影されたパターンのイメージを前記画像化デバイスを用いてキャプチャするステップと、前記イメージを処理して前記深度マップを生成するステップと、を含み得る。ある実施例では、前記スポットの相関のないパターンを射影するステップは、コヒーレント光源を用いてプライマリ・スペックル・パターンを形成するステップを含む。
【００１２】
ある実施例では、前記深度マップを受け取るステップは少なくとも毎秒２５フレームのフレーム速度で一連の深度マップを取得するステップを含み、前記制御入力を生成するステップは前記一連の深度マップに応答して前記制御入力を少なくとも前記フレーム速度と等しい更新速度で更新するステップを含む。
【００１３】
典型的には、前記深度マップをセグメント化するステップは、前記身体に接続されていない前記シーンにおける背景物体を識別するステップと、前記輪郭を発見する前に前記背景物体を前記シーンから除去するステップと、を含む。
【００１４】
ある実施例では、前記輪郭を処理するステップは、前記輪郭の内部の領域の厚さを評価するステップと、前記厚さに応答して前記領域の第１の部分を前記トルソとして識別するステップと、前記トルソに接続されている前記領域の第２の部分を前記手足の少なくとも１つとして識別するステップと、を含む。ある実施例では、前記厚さを評価するステップは、前記深度マップにおける前記身体の軸を識別するステップと、前記軸に垂直な複数の第１の線に沿った前記輪郭の横断方向の厚さを計算するステップと、前記軸と平行な複数の第２の線に沿った前記輪郭の長軸方向の厚さを計算するステップと、前記第１及び第２の線によって定義された前記輪郭の内部の領域の一部を前記トルソとして指定するステップであって、前記第１及び第２の線に沿った前記横断方向の厚さ及び前記長軸方向の厚さは特定された横断方向のスレショルド及び長軸方向のスレショルドよりも小さくない、ステップと、を含む。更には、又は、あるいは、前記領域の第２の部分を識別するステップは、前記基準位置からの前記トルソの代表距離を前記深度マップに基づいて決定するステップと、前記ピクセルの距離が前記代表距離よりも小さい前記トルソをオーバレイする領域を前記対象物の腕と識別するステップと、を含む。
【００１５】
開示されている実施例では、前記配置を解析するステップは、前記手足の少なくとも１つから前記ピクセルを逐次的に除去することにより前記１又は複数の手足の１又は複数の対応する中心軸を発見するステップを含む。典型的には、前記中心軸は湾曲しており、前記配置を解析するステップは、前記中心軸に適合する直線状のセグメントを発見することにより前記１又は複数のスティック形状を有する表現を導くステップを含む。
【００１６】
典型的には、前記１又は複数の手足は前記対象物の腕を含み、前記配置を解析するステップは、前記トルソにおける肩の地点と前記腕における手のひらの地点とを識別し前記肩と前記手のひらとの地点をそれぞれ通過して前記腕の肘において一致する２つの直線状のセグメントを識別することによって前記腕のスティック形状の表現を導くステップを含む。
【００１７】
更に、本発明の実施例によると、データ処理装置であって、
ヒューマノイド対象物の身体を含むシーンの画像をキャプチャするように構成された画像化デバイスと、
前記画像を処理しピクセルのマトリクスを含む深度マップを作成するプロセッサであって、それぞれのピクセルは前記シーンにおけるそれぞれの位置に対応し基準位置から前記それぞれの位置までの距離を示すピクセル値を有し、前記深度マップをセグメント化して前記身体の輪郭を発見し、前記輪郭を処理して前記対象物のトルソと１又は複数の手足とを識別し、前記深度マップにおける前記識別された手足の少なくとも１つの配置を解析することにより、コンピュータにおいて動作しているアプリケーション・プログラムを制御する入力を生成するプロセッサと、を含むデータ処理装置が提供される。
【００１８】
更に、本発明の実施例によると、プログラム命令が記憶されているコンピュータ可読媒体を含むコンピュータ・ソフトウェア・プロダクトであって、前記命令は、コンピュータによって読み取られると、前記コンピュータに、ヒューマノイド対象物の身体を含むシーンの深度マップを受け取るステップであって、前記深度マップはピクセルのマトリクスを含み、それぞれのピクセルは、前記シーンにおけるそれぞれの位置に対応し、基準位置から前記それぞれの位置までの距離を示すピクセル値を有する、ステップと、前記深度マップをセグメント化して前記身体の輪郭を発見するステップと、前記輪郭を処理して前記対象物のトルソと１又は複数の手足とを識別するステップと、前記深度マップにおける前記識別された手足の少なくとも１つの配置を解析することにより、コンピュータにおいて動作しているアプリケーション・プログラムを制御する入力を生成するステップと、を実行させるコンピュータ・ソフトウェア・プロダクトが提供される。
【発明を実施するための最良の形態】
【００１９】
図１は、本発明の実施例に従って、深度マッピング及びモデリングのためのシステム２０の概要の図解である。システム２０は、画像化デバイス２２を含む。この画像化デバイスは、ヒューマノイド対象物２８を含むシーンのイメージをキャプチャする。イメージ・プロセッサ２４は、以下で説明するように、対象物２８の深度マップを作成し当該深度マップに基づいて対象物のモデル２６を作成するために、デバイス２２によって生成されたイメージ・データを処理する。モデルは、典型的には、被験者の手足の１つ以上の配置に関する３Ｄ情報を含む。以下で説明する方法により、プロセッサ２４は、先行するフレームに依存することなくリアルタイムのフレーム速度（少なくとも毎秒２５フレーム）で単一の深度マップから被験者の手足の配置を見つけることができる。さらに、プロセッサは、対象物が時間と共に位置を変更するにつれて、更に運動情報を提供する。
【００２０】
イメージ・プロセッサ２４は、汎用コンピュータプロセッサを含み、これは、ソフトウェアにおいて以下で説明する機能を実行するようにプログラムされる。ソフトウェアは、例えばネットワークを介して電子的な形式でプロセッサ２４にダウンロードされる。あるいは、光学的媒体、磁気媒体、電子的メモリ媒体のような有体物である媒体においても提供可能である。あるいは、イメージ・プロセッサの機能のうちのいくつかあるいはすべては、カスタム又はセミカスタムＩＣ又はプログラマブルなデジタル信号プロセッサ（ＤＳＰ）のような専用ハードウェアにおける実装も可能である。プロセッサ２４が画像化デバイス２２からの別個のユニットとして図１に例として示されているが、プロセッサ２４の処理機能のうちのいくつかあるいはすべては、適切なプロセッサあるいは画像化デバイスのハウジング内の他の専用回路類によって実行されるか、又は、そうでなければ画像化デバイスと関連している。
【００２１】
以下に記述されるモデル化の原理は、実質的に任意のタイプの画像化装置によって作成された対象物２８の深度マップの任意の適切な種類に適用される。しかし、単純性と低価格のため、画像化（撮像）デバイス２２が単一のイメージ・センサーを含む単一の静的デバイスを含むことが有利である。１つのそのような実施例では、例えば、デバイス２２は対象物２８上に関連しないパターンのスポットを生成し計画し、物体に現われる斑点模様のイメージを捕らえる。横断方向のシフトの関数としてのパターン中のスペックルの位置の自己相関はスポットサイズより大きな任意のシフトとの関係では些細であるという意味で、パターンは相関関係になる。コヒーレント光源からの一次スペックルによって作成されたようなランダムパターンは、この意味では相関関係にない。
【００２２】
前述したＰＣＴ国際公開ＷＯ第２００７／０４３０３６Ａ１には、そのようなデバイスに基づいた深度マッピングのための方法と同様に、この種の斑点ベースのイメージング及びマッピングデバイスについて記述する。射影されたレーザ・スペックルを使用する深度マッピングのさらなる特徴は、２００７年３月８日に出願されたＰＣＴ特許出願ＰＣＴ／ＩＬ２００７／０００３０６に記載がある。この国際出願は本出願の被譲渡人に譲渡されており、この出願において援用する。これらの文献において説明されるように、イメージ・プロセッサは、既知の基準パターンに関連のあるパターンを有するスペックルの横断方向のシフトを発見する。与えられたスペックルのシフトは、スペックルがデバイスからその上に射影される表面までの距離の関数である。
【００２３】
システム２０によって決定される対象物２８の手足の配置及び運動は、プロセッサ２４又は別のコンピュータ（図示せず）上で動作するアプリケーション・プログラムをコントロールする入力として使用される。例えば、プロセッサは、対象物によるジェスチャ（身振り）のような運動を識別し、対象物とコンピュータ・ゲームとの間の対話型インタフェースの中でこれらの運動を使用する。あるいは、対象物のスタンス及び／又は運動は、システム２０によって識別され、イメージ処理とアニメーションとの他のエリアと同様に、他の種類のアプリケーションをコントロールするのに使用される。
【００２４】
システム２０におけるスペックル・イメージからの深度マップの導出は、深度マップが得られ使用される環境の１つの典型的な種類を例証するための単なる例として上述されたに過ぎない。本発明の原理及び以下で記述される方法の応用例やこの種のシステム又はは深度マップを得るこの方法は、上述の説明には制限されない。より正確に言えば、これらの原理及び方法は、実質的に任意の種類の深度マップに適用可能である。深度マップは、この技術分野において知られているあらゆる適切な手段及びテクニックを用いて取得される。
【００２５】
図２は本発明の実施例による深度マップ３０の概略的な表現である。深度マップはピクセル３２の二次元のマトリックスを含み、それぞれのピクセルはそれぞれの場所にそれぞれ対応する。各ピクセル（図においては、グレースケール値によって示されている）の値は、基準位置からのシーンにおけるそれぞれの位置までの距離を示す。例えば、ピクセル値は、デバイス２２のイメージ平面からの対象物２８の身体における点までの距離（つまり深度）を示す。
【００２６】
実際の応用例では、対象物２８がより離れた背景に対して自由に移動することを許されるときには、深度マップのすべてのピクセルが有効な深度データを含むとは限らない。あるいは、デバイス２２が（対象物２８が典型的に位置している）ある距離範囲において深度情報を取得するように設定されていると想定すると、深度が前記範囲の外部にある領域に対応するピクセルは、所定のゼロ値を含み、これらのピクセルに対しては深度は見つからないことを示している。他のピクセルは、影の領域として分類される値を有し、つまり、当該ピクセルと対応する位置において当該距離範囲の中にある物体表面が存在するだろうと言うことを意味するが、当該ピクセルに対する深度値を決定することはできない。これらの影ピクセルの値も、別の実施例では異なる処理を影ピクセルに適用されることがあるが、下記に述べられた方法においてゼロ値として扱われる。
【００２７】
図３は、本発明の実施例に従って深度マップに基づいてヒューマノイド対象物をモデル化する方法を概略的に例証するフロー・チャートである。プロセッサ２４は、マップ取得ステップ４０において、深度マップを取得する。当該マップは、図１に示されるようにシステム２０を用いて、又は、この技術分野において知られている他の適切なタイプの深度マップ方式を用いて、獲得される。対象物のモデル化においてキーとなるステップは、対象物の身体の部分を定義するように深度マップをセグメント化するステップである。しかし、身体をセグメント化することに備え、プロセッサが、背景除去ステップ４２で、シーンから背景物体を取り除くことが有用である。２以上のヒューマノイドがシーンに存在する場合には、各々をセグメント化するのに先立って、それぞれの身体を分離することも有用である。
【００２８】
背景除去については、多くの異なる方法が、ステップ４２で使用される。これらの方法のうちのいくつかは、対象物の身体として深度マップ中でブロブ（類似した値を有するピクセルの接続されたグループ）の予備的な識別を行い、更に、このブロブとは著しく異なる深度値を有するそれ以外のブロブを除去することに依存する。このようにして予備的に識別されるブロブは、典型的にはある最小サイズを有していなければならない。しかし、この目的のために、ブロブのエッジにおけるピクセルの座標の間のユークリッド距離は、そのサイズの正確な測度を与えない。これが不正確である理由は、与えられた実際のサイズを有するオブジェクトに対応するピクセルにおけるブロブのサイズは、デバイス２２からのオブジェクトの距離に応じて増減するからである（図１を参照）。
【００２９】
従って、物体の実際のサイズを決定するには、当該物体の（ｘ，ｙ，深度）座標は、次の数式を用いて、まず「現実世界」の座標（ｘｒ，ｙｒ，深度）に転換される。
【００３０】
【数１】
2009536731.tif 000003
【００３１】
ここで、ｆｏｖｘとｆｏｖｙとは、ｘ軸及びｙ軸の方向の深度マップの視野である（ピクセルにおいて）。ピクセルサイズは、マッピング・デバイスから与えられた距離（ｒｅｆｅｒｅｎｃｅ＿ｄｅｐｔｈ）にあるピクセルによって境界が画定される長さである。次に、ブロブのサイズは、ブロブのエッジの現実世界における座標の間のユークリッド距離をとることにより、現実的に決定される。
【００３２】
プロセッサ２４は、当該シーンにおけるブロブの中で最小の平均深度値を有する必要な最小サイズのブロブを識別することによって、ステップ４２を行なう。このブロブ（デバイス２２に最も近い）が対象物２８の身体であると仮定することができる。少なくともあるスレショルドの分だけこの平均深度値よりも大きな深度を有するすべてのピクセルは背景物体に属すると仮定され、プロセッサは、これらのピクセルの深度をゼロ値にリセットする。当該スレショルドはヒューリスティックに決定され、アーティファクトなしのモデリング（背景物体からの干渉がない）と柔軟性（対象物が移動することを許される深度の範囲に関する）との間の最適なトレードオフを提供する。更に又はあるいは、ブロブの平均深度値よりもはるかに小さな深度値を有するピクセルは、同様にゼロ化される。
【００３３】
また、システム２０のための最大深度は、オペレーティング・ソフトウェアにおいて適切なパラメータを設定することにより事前に定義される。プロセッサ２４は、このプリセットされた最大深度を超える物体を無視するようにプログラムされる。対象物（被験者）２８は、システム２０の動作を始めるときには、プロセッサ２４に接続されたモニタにおいて実際の深度マップ（又は、結果的なモデル２６）を見ることができ、したがって、自分自身がシーンの中にいて適切なサイズでシステムによってキャプチャされるように、自身自身の位置を決めることができる。
【００３４】
別の方法としては、静的な深度フィルタを、対象物２８の存在しないシーンの当初の深度マップを最初にキャプチャすることにより作成される。あるピクセル又はピクセル群が、デバイス２２に最も接近している背景物体の上で識別される（ユーザによって対話的に、又は、プロセッサ２４によって自動的に）。プロセッサ２４は、このピクセル又はピクセル群の深度値を記録し、次に、ステップ４２において、この記録された値よりも大きな深度マップにおけるすべてのピクセルの深度値をゼロにする。
【００３５】
あるいは、プロセッサ２４は、これを超えると物体が深度マップから取り除かれる深度値を動的に決定することができる。この目的のため、シーンにおける対象物が移動していると仮定されている。したがって、その深度値が最小数のフレームにおいて変化しない任意のピクセルは、背景物体であると仮定される。その深度値がこの静的な深度値よりも大きなピクセルは背景物体に属すると仮定され、したがって、ゼロ化される。当初は、シーンにおけるすべてのピクセルは静的なものとして定義され、又は、シーンにおけるすべてのピクセルは非静的と定義される。両方の場合に、いったん対象物が移動し始めれば、実際の深度フィルタを動的に作成できる。
【００３６】
さらに、この技術分野において知られている他の方法を用いて、ステップ４２において背景物体を削除できる。
図４Ａと４Ｂは、本発明の実施例に従って、背景物体の除去の前後の深度マップ４４の概略的な表現である。図４Ａでは、マップ４４は背景物体に対応する他のブロブ（blob）４８と共に人間である対象物の身体に対応するブロブ４６を含む。マップ４４における残りのピクセル値は無効（null、ゼロ）である。プロセッサ２４は、少なくともあるスレショルド（上述した方法で決定される）の分だけブロブ４６の深度よりも大きな深度にブロブ４８が位置することを判断する。したがって、ブロブ４８は、セグメント化及びモデル化されるブロブ４６だけを残し、深度マップから取り除かれる。
【００３７】
再度図３に戻るが、いったんバックグラウンドが成功裡に除去されたならば、プロセッサ２４は、深度マップにおいて深度の接続された成分を見つけることにより、深度マップにおいてヒューマノイド形状をセグメント化する。ピクセルのそれぞれの接続されている成分の輪郭が、輪郭発見ステップ５０で見つかる。深度マップにおいて相互に（例えば、手を握るか互いに触れることにより接続された）隣接する２以上のヒューマノイド形状がある場合には、プロセッサは、まずこれらの形状を相互から分離することが一般的に必要である。ある場合には、この種の分離は、形態的な操作又はそれ以外の画像解析技術を用いて行なわれる。以下の説明では、深度マップはたった１つのヒューマノイド対象物を含むと仮定されるか、又は、接続されているヒューマノイド形状の分離が必要な場合には既に達成されていると仮定されており、その結果、それぞれのヒューマノイドは別個のブロブによって表わすことができる。
【００３８】
ステップ５０で対象物の身体の輪郭を見つけるため、プロセッサ２４は、深度マップ上で動作するように適切な修正がなされたこの技術分野で知られているエッジ検出の方法を使用する。このように、プロセッサは、身体の外部輪郭だけでなく、例えば腕とトルソなど２つの身体各部の間の輪郭も見つけることができる。ある実施例では、プロセッサは、この目的のために、次のような二段階スレショルド設定機構を用いる。
【００３９】
１．第一に、プロセッサは、ヒューマノイド形状に対応するブロブ中のすべてのピクセルを通過し、当該ピクセルが有効な深度値を有しており更に当該ピクセルと四つの接続された隣接するピクセル（右左上下）の中の少なくとも一つとの間の深度値の差が第一のスレショルドよりも大きい場合には、任意の与えられたピクセルに輪郭位置としてのマークを付ける。（この目的のために、有効な深度値とゼロ値との間の差は無限大であると考える。）
２．第一のステップが終了した後で、プロセッサは、当該ブロブを再度通過し、その８つの接続された隣接ピクセルの中に輪郭ピクセルが存在し更に当該ピクセルと残りの接続された隣接するピクセルの中の少なくとも一つとの間の深度値の差が第一のスレショルドよりも小さな第２のスレショルドよりも大きい場合には、（輪郭位置のマークがまだ付けられていない）任意の与えられたピクセルに輪郭位置としてのマークを付ける。
【００４０】
身体の外側輪郭を見つけた後に、プロセッサ２４は、更なるセグメント化ステップ５２で、身体各部を識別する。このステップの目的は、身体を、頭部、トルソ及び手足にセグメント化することである。この場合、手足とは、腕と脚部とを含む（深度マップの領域にそれらが含まれると仮定する）。
【００４１】
図５は、本発明の実施例による更なるセグメント化（サブセグメンテーション）ステップ５２の詳細を概略的に示すフロー・チャートである。この目的のための準備段階として、プロセッサ２４は、身体の長軸方向の軸を識別し、次に、身体の輪郭が回転ステップ５４において直立位置を取るように深度マップを回転させる。この回転の目的は、身体の長軸方向の軸をＹ座標（垂直）軸と位置合わせすることにより、後続のステップでの計算を単純化することである。あるいは、後述する計算は、当業者には明らかであるように必ずしもこの回転を行うことなく、身体の長軸方向の軸に関して実行される。
【００４２】
ステップ５４で身体の３Ｄ軸を見つけるのに用いられる方法は次の通りである。
１．プロセッサ２４は、当初の深度マップを、Ｘ軸及びＹ軸方向の各々においてｎピクセル離れたノードのグリッドへダウンサンプリングする。プロセッサは、各ノードの深度値を、当該ノードの中心にあるｎの二乗（ｎ２）の深度値に基づいて計算する。当該正方形の中のピクセルの半分以上がゼロ値（null value）が有する場合には、プロセッサは、ゼロ値にノードを設定する。そうでなければ、ノードは、ｎの二乗（ｎ２）の中で有効な深度値の平均に設定される。
【００４３】
２．プロセッサは、先行するステップの終了時における隣接ノードの値に基づいて、このダウンサンプリングされた深度マップを更に「クリーンアップ」する。与えられたノードの大多数の隣接値がゼロ値を有する場合には持っていれば、そのノードもゼロ値に設定される（前のステップの後に有効な深度値を有する場合でも）。
【００４４】
３．プロセッサは、ダウンサンプリングされたマップに残っているノードの長軸方向の軸を見つける。この目的のために、プロセッサは、線形最小二乗適合を行って、ノードに最適なラインを見つける。あるいは、プロセッサは、ノードの周囲に楕円体（エリプソイド）を適合させて、その長軸を見つける。
【００４５】
図６は、本発明の実施例によるヒューマノイド対象物の身体のダウンサンプリングされた深度マップ５６の概略的な表現であり、身体の長軸方向の３Ｄ軸が識別されている。既に説明されたように、マップ５６中のノード５８は、オリジナルの深度マップ（必要ならば背景物体を削除した後）をダウンサンプリングすることにより決定される値を有する。図６に示されるノードは非ゼロの深度値を有するノードである。軸６０は、直線をこれらのノードに適合させることにより見つかる。プロセッサ２４は、この軸と垂直の（Ｙ）軸との間の角度を見つけ、オリジナルの深度マップを回転させて軸６０を垂直方向に整列させる。
【００４６】
ここで図５を再び参照すると、深度マップを回転させた後、プロセッサ２４は、トルソ識別ステップ６２で、長軸方向の軸６０と平行であり横断する方向において身体の輪郭の厚さを測定することにより、身体のトルソを識別する。この目的のため、プロセッサは、身体輪郭（ステップ５０で識別され、ステップ５４で回転された）の周囲に境界箱（bounding box）を定義し、次に、その箱の中のピクセル値を２進化する。すなわち、ゼロの深度値を有するピクセルはゼロに設定され、非ゼロ深度値を有するピクセルは一に設定される。次に、プロセッサは、対応する垂直線に沿ってバイナリなピクセル値を合計することにより箱の中のＸの各値に対する長軸方向の厚さの値を計算し、対応する水平線に沿ってバイナリなピクセル値を合計することにより、Ｙの各値に対する横断方向の厚さの値を計算する。プロセッサは、スレショルドを最終的な値に適用して、輪郭が比較的厚い垂直及び水平ラインを識別する。
【００４７】
図７Ａ及び７Ｂは、深度マップで見つかった身体の輪郭６４の概略的な表現であり、本発明の実施例に従って、輪郭の長軸方向及び横断方向の厚さがあるスレショルドを超える領域を示している。図７Ａでは、水平領域６６は、対応するラインに沿ったバイナリなピクセル値の総和がＸスレショルドを越えるＸの値を含む。これらは、輪郭が長軸方向において比較的厚いＸ値を含む。同様に、図７Ｂでは、垂直領域６８は、対応するラインに沿ったバイナリなピクセル値の総和がＹスレショルドを超えるＹの値を含んでいる。Ｘスレショルド及びＹスレショルドは異なり、それぞれの直線に沿ったバイナリな値の総和のヒストグラムの解析によって適応的に決定される。
【００４８】
図７Ｃは、本発明の実施例によって図７Ａ及び７Ｂにおいて示されている厚さによって決定されるように、身体のトルソ７０に対応する領域を示す輪郭６４の概略的な表現である。プロセッサ２４は、この実施例では、先行する図面において示される領域６６及び６８の重なり部分をとることにより、トルソを見つける。
【００４９】
ここで図５に返ると、いったんトルソ７０が見つかったならば、プロセッサ２４は、頭部及び腕識別ステップ７２において、幾何学的な考察に基づいて、身体の頭部及び腕を識別することができる。腕はトルソの左右に接続された領域であり、頭部はトルソの上側に接続された領域であり、脚部はトルソの下側に接続された領域である。
【００５０】
更に、プロセッサは、肩を、トルソ領域の左上及び右上の角領域であると予備的に確認する。仮に対象物の手が肩の一方又は両方をカバーする場合には、これらの予備識別は正しくないことになる。この種のオーバーラップに対処する方法について、以下で説明を行う。
【００５１】
図７Ｄは、本発明の実施例によるステップ７２の結果を示す輪郭６４の概略的な表現である。輪郭は、トルソ７０と、頭部７４と、左右の腕７６及び７８と、左右の脚８０及び８２にセグメント化されている。この結果は、色又は輝度に関する情報に頼ることなく、もっぱら当初の深度マップによって提供された震度値だけに基づいて達成される。
【００５２】
図５にもう一度戻ると、プロセッサ２４は、中心発見ステップ８４で、身体の各部分の「重心（center of mass）」を決定する。ここで、ある領域の重心とは、当該領域の代表的な深度を意味する。この目的のために、例えば、プロセッサは、当該領域の中の深度値のヒストグラムを作成し、最も高頻度（又は、最高頻度を有する二つ以上の値の平均）を有する深度値を当該領域の重心とする。
【００５３】
異なる領域のそれぞれの重心は、オーバーラップ識別ステップ８６で、深度マップにおいてオーバラップする領域の間の輪郭を区別し見つけるのに特に役立つ。例えば、腕領域がトルソの前にあるときには、ステップ７２で識別された腕領域は不完全となり、トルソが歪むことになる。腕の形を完成するために、プロセッサは、その深度値が重心から遠く腕セグメントのうちの１つに隣接している接続された成分を形成するピクセルをトルソ７０の領域において見つける。プロセッサは、新たに識別された腕成分に接続された腕とトルソとの間の任意の残りの輪郭点と共に、この接続された成分を腕に加える。
【００５４】
次に図８を参照すると、本発明の実施例に従って、ステップ８６の動作を例示する身体の輪郭９０の概略的な表現が示されている。プロセッサ２４は、接続された成分１００の中のピクセルが腕９４の一部であると判断し、腕９４と接続して腕の定義を完成する。
【００５５】
プロセッサは、いったんトルソの重心を見つけたならば、対象物の腕あるいは手とオーバラップしている場合であっても、肩１０２を見つけることができる。この目的のために、プロセッサは、重心深度においてトルソを長方形としてモデル化する。肩は、長方形の左右の上部角に位置する。
【００５６】
もう一度図３に返ると、トルソと手足とを識別した後で、プロセッサ２４は、対象物の身体の「スティック図」モデルを生成する。多くの異なる方法が、この目的のために用いられる。この実施例では、プロセッサは、軸識別ステップ１０４で、手足の中心軸を見つけることにより始動する。腕のような深度マップの成分の中心軸を見つけるために、プロセッサは、成分を空値を用いて包囲し、当該成分から反復的にピクセルを取り除く。ある実施例では、プロセッサは、当該成分のいずれかの側における輪郭点が合致するまで、形態的な削除の連続的なステップによってピクセルを削除する。削除手順におけるそれぞれの逐次的な操作において、プロセッサは、輪郭点をゼロの深度値に設定し、次に、先行する輪郭の僅かに内側にある新たなより狭い輪郭を作成する。輪郭点は、やはり輪郭点であるような隣接点を２つよりも多く有する場合に合致すると考えられる。２つの輪郭点は、この態様で合致するときには、最終的な中間軸点によって置き換えられる。別の実施例（計算上、より効率的であることがありうる）では、深度成分の輪郭ピクセルは、当該成分のいずれかの側からの２つの輪郭ピクセルが一致するまで、連続的に皮をむかれる。
【００５７】
プロセッサは、中心軸の全体を定義するまで、このような処理を継続する。あるいは、削除又は皮をむく動作は、何回かの逐次的動作の後で停止する。更に、点は、スプリアスな中心軸点の作成を回避するように、何回かの逐次的な操作の後で開始する場合だけ、「中心軸点」として定義される。これらの点は、腕の対向する両端部が相互に当初近接している深度マップの部分において特に生じる。
【００５８】
図９は、深度マップで発見された身体の輪郭１０６の概略的な表現であり、本発明の実施例に従ってステップ１０４で識別される腕１１０の中間軸１０８を示す。プロセッサは、上述した方法を用いて、脚（図示せず）と同様に、トルソ１１２及び頭部１１４の中心軸を同様にして発見する。軸１０８は図においては図の平面における二次元曲線として表わされているが、プロセッサ２４は、実際には、空間の中の三次元曲線として腕１１０（及び身体のそれ以外の部分）の中心軸をモデル化する。言いかえれば、中心軸の上の点は、それぞれが、ｘ座標、ｙ座標及び深度座標を有する。
【００５９】
再度図３を参照すると、プロセッサ２４は、中心軸の上の点を識別した後で、セグメント・モデリング・ステップ１１４において、対象物のスタンス及び移動をスティック図としてモデル化するためこれらの順序の付けられていない点を「解剖的な」スティック形状セグメントに変換する。こうして、それぞれの腕は２つのスティック形状セグメントによって表される。ここで、第１のセグメントは肩から肘までであり、第２のセグメントは肘から手のひらまでである。この目的のために、プロセッサは、例えば、最初に長く直線的なセグメントの集合を生成し、次にこれらのセグメントを用いてスティック形状モデルを作成する。
【００６０】
長いセグメントを生成するため、プロセッサ２４は、中心軸上で第１の点（典型的には端点）を選び、第１の点から所定の半径にある中心軸上の第２の点を見つけ、この半径の中に含まれる他のすべての点に「終了」というマーク（しるし）を付ける。プロセッサは、第２の点においてこの手順を反復し、第２の点の反対側において前記所定の半径にある中心軸上で第３の点を見つける。第１及び第２の点を接続する直線と第１及び第３の点を接続する直線とが類似の勾配を有する場合には、プロセッサは、第２の点に終了のマークを付し、第１の点と第３の点との間の範囲全体を単一の直線状のセグメントで代替する。他方では、これらの直線の勾配が所定の許容差を超えて異なる場合には、第１の点と第２の点との間のセグメントは閉鎖され、プロセッサは、第２の点において新たな直線を開始する。
【００６１】
プロセッサが中心軸上のすべての点を横断し、ステップ１０４で見つかった中心軸に比較的接近している長い直線のセグメントにそれらの点を組み入れるまで、この手順は継続する。再び、プロセッサは、三次元の（ｘ，ｙ，深さ）空間において、これらのセグメントを定義する。次に、スティック図として身体の再構成を完了するために、プロセッサ２４は、これらのセグメントを２つの長い三次元の方向を有する「解剖学的な」セグメントによって代替する。これらの解剖学的なセグメントは、手足の実際の接合された部分に対応する。ここで、第１のセグメントは肩から肘までであり、第２のセグメントは肘から手のひらまでである。
【００６２】
図１０は、本発明の実施例に従って、ステップ１１４で輪郭１０６からプロセッサ２４が導くスティック形状モデルの一部の概略的な表現である。この例において、プロセッサは、それぞれの腕１１０を２つの長いセグメントで置き換える。前腕セグメント１１６は手のひらから肘までであり、上腕セグメント１１８は肘から肩までである。
【００６３】
肘を見つけ従って与えられた腕において２つの長いスティック形状セグメントを形成するため、プロセッサ２４は、２つの点（肩及び手のひら）と、２つの長さ（上腕及び前腕）と、上述した長いセグメントの一つとを用いる。肩と手のひらとは、既に見つかっているか、又は、このステップの間に識別される。肩を見つける方法については、上述した。手のひらは、中心軸に関して肩の反対側として、又は、身体の中心から中心軸に沿って中心軸上の最も遠い点として識別され、最小の深度値を有する。上腕と前腕との長さは、与えられるか又は学習される。例えば、プロセッサは、腕に対応する長いセグメントの長さ及び方位に基づいてこれらの長さの最初の推定を行う。
【００６４】
上記の情報を用いて、プロセッサ２４は、二つの球を定義する。それぞれの中心は肩点と手のひら点とにあり、それぞれの半径は上腕と前腕とに等しい。これらの球の断面は３Ｄ空間における円Ｃである。プロセッサ２４は、次に、問題となる腕の領域におけるすべての長く直線的なセグメントの中から開始セグメントを選択する。典型的には、この開始セグメントは、手のひら又は肩に隣接する最も長いセグメントであり、手のひら又は肩を通過する方向にある。
【００６５】
プロセッサ２４は、選択された端点（手のひら又は肩）から断面である円Ｃの方へ向かって開始セグメントを伸長することによって、肘を特定する。この伸長されたセグメントとＣを通過する平面との間の断面に最も近いＣ上の点が、肘として識別される。プロセッサは、第２の直線を、肘から中心軸の他方の端点に伸長する。中心軸上の点の十分な部分がこのように見つかるセグメント１１６及び１１８の所定の半径の中に場合、プロセッサは、腕が正確にモデル化されたとの結論を下す。そうでなければ、プロセッサは、モデル化された成分が対象物の腕ではないとの結論を下す。
【００６６】
あるいは、プロセッサは、成分の輪郭からスティック形状セグメントを引き出すために他の方法を使用することもある。この目的のために、プロセッサは、典型的には、肩の方向又は手のひらの方向に向かう長いセグメントを識別することを試みる。例えば、腕に対応する長いセグメントは、中心軸点だけではなく接続されている成分全体に関して上述したステップの適用により引き出される。プロセッサは、より大きな半径を備えた円を使用して、長いセグメントを維持する。プロセッサは、短いセグメントを、より長いセグメントを備えた速く変化する勾配に置き換える。主な勾配変更がある場合に限り、より長いセグメントが終了される。プロセッサは、長いセグメントを構築するために、有効に成分点を除去する。再び、スティック画（セグメント１１６及び１１８）が、肩と手のひらとの点と、上腕及び前腕の長さと、上述のように現在形成されている１つの長いセグメントとを用いて、形成される。
【００６７】
１つの長いセグメント（肩と手のひらとの点及び２つの長さと共に使用される）を作成する別の方法は、肩（又は、腕成文における点の中で肩点に最も近い点）又は手のひら点において、腕ブロブ（arm blob）における初期点から開始する。次に、異なる半径を備えた２つの円が、選択された点の周囲に形成される。これらの円は、中心点の近くで２度成分と交差し、それにより、共通点として円の中心点との２つの切片の間に角度を形成する。それぞれの円に対して１つであるから、二つの角度が存在する。これらの角度は二分され、各々の円のために、二等分線と円との交点が保存される。これらの２点は接続され、この直線は成分を表す。セグメントの長さは２つの半径の間の差であり、セグメントは常に肩か手のひらのいずれかの方向を指す。上述したように、このセグメントは、肩及び手のひらの点と上腕及び前腕の長さと共に、スティック形状セグメント１１６及び１１８を形成するのに用いることができる。
【００６８】
以上の説明では、明確化のために腕１１０との関係でステップ１０４及び１１４について述べたが、同様のステップを行って、同様に、脚とトルソと頭部とをモデル化するスティック形状セグメントを見つけることができる。そして、包括的なスティック図を所定の運動学的な特性と共に、対象物のスタンス、ジェスチャ及び他の運動の解析を終えるために、このモデルに適合される。この適合は、運動学的なスティック図モデルの可能性のある位置と深度マップに由来するモデルのセグメントとの間の距離を最小化する最適化技術を用いて行なわれる。プロセッサは、いったん初期フレームにおいてよい適合を見つけたならば、運動学的なモデルの可能性のある動きを用いて、連続的なフレームのそれぞれにおいて中のセグメント発見手順を初期化できる。その後、各フレームで見つかる実際のセグメント位置を用いて、運動学的モデルの位置が更新される。
【００６９】
プロセッサは、計算機アプリケーションへの制御入力として、スティック図の動きを用いることができる。例えば、スティック図の動きは、コンピュータ・スクリーン上の又は仮想現実ディスプレイに現れるユーザ・コントロールとの対話に用いることができる。別の例として、スティック図の動きは、ゲーム又はそれ以外の対話型アプリケーションにおけるキャラクタの３Ｄアバタ又は仮想的な３Ｄ身体の動きに反映させることができる。
【００７０】
まとめると、上述したように、プロセッサ２４は、深度マップを用いて、物理的及び運動学的な振る舞いを有し幾何学的な制約をスティック図を形成することができる。スティック図は、いったん初期化されると、後のフレームにおける身体部分に対する深度表面を識別することにより、後の人体セグメンテーションを援助できる。
【００７１】
以上で述べた実施例は例示としてなされたものであって、本発明は、上述されたものに限定されることはない。本発明の範囲は、上述した様々な特徴の組合せを含み、更に、以上の説明を読んだ当業者が想到可能であり従来技術文献に開示されている改変や修正も含まれる。
【図面の簡単な説明】
【００７２】
【図１】本発明の実施例による深度マップを取得及び処理するシステムの概略的な図解である。
【図２】本発明の実施例による深度マップの概略的な表現である。
【図３】本発明の実施例によって深度マップに基づいて人間である対象物をモデル化する方法を概略的に図解する流れ図である。
【図４Ａ】本発明の実施例によって背景物体を除去する前の深度マップの概略的な図解である。
【図４Ｂ】本発明の実施例によって背景物体を除去した後の深度マップの概略的な図解である。
【図５】本発明の実施例によって深度マップにおける身体部分を識別する方法の詳細を概略的に示す流れ図である。
【図６】本発明の実施例によって身体軸が識別されるダウンサンプリングされた深度マップの概略的な表現である。
【図７Ａ】本発明の実施例による深度マップにおいて発見された身体の輪郭の概略的な表現であって、当該輪郭の長軸方向の厚さがスレショルドを超える領域が示されている。
【図７Ｂ】本発明の実施例による図７Ａの輪郭の概略的な表現であって、当該輪郭の横断方向の厚さがスレショルドを超える領域が示されている。
【図７Ｃ】本発明の実施例による図７Ａの輪郭の概略的な表現であって、図７Ａ及び図７Ｂに示されている厚さによって決定された身体のトルソの領域が示されている。
【図７Ｄ】本発明の実施例による図７Ａの輪郭の概略的な表現であって、図７Ｃのトルソに基づいて識別される頭部及び手足が示されている。
【図８】本発明の実施例による深度マップにおいて発見された身体の輪郭の概略的な表現であって、トルソとオーバーラップする腕の一部の識別が示されている。
【図９】本発明の実施例による深度マップにおいて発見された身体の輪郭の概略的な表現であって、腕の中心軸の識別が示されている。
【図１０】本発明の実施例による深度マップにおいて発見された身体の輪郭の概略的な表現であって、深度マップから導かれた腕のスティック状のモデルが示されている。
【図１】
2009536731.tif 000004
【図２】
2009536731.tif 000005
【図３】
2009536731.tif 000006
【図４Ａ】
2009536731.tif 000007
【図４Ｂ】
2009536731.tif 000008
【図５】
2009536731.tif 000009
【図６】
2009536731.tif 000010
【図７Ａ】
2009536731.tif 000011
【図７Ｂ】
2009536731.tif 000012
【図７Ｃ】
2009536731.tif 000013
【図７Ｄ】
2009536731.tif 000014
【図８】
2009536731.tif 000015
【図９】
2009536731.tif 000016
【図１０】
2009536731.tif 000017
【国際調査報告】
2009536731.tif 000018
2009536731.tif 000019