(57)【特許請求の範囲】
【請求項１】
被写体の画像内における前記被写体の特徴点を検出するコンピュータに実行させる方法であって、
前記コンピュータは、
前記画像及び時間的に前記画像以前に取得された先行画像を含む複数の連続画像を受け取り、
前記先行画像の特徴点の集合を検出し、
前記画像の背景の画像領域から前記被写体の画像領域を区画し、
前記被写体の前記区画された画像領域の輪郭に沿って複数の点をサンプリングし、
前記複数の点ごとに、内側距離形状関係（ＩＤＳＣ）記述子を決定し、
前記複数の点ごとに、当該点のＩＤＳＣ記述子と前記先行画像の特徴点の特徴点ＩＤＳＣ記述子との間の差異を、閾値と比較し、
前記複数の点のうち２つ以上の点について前記差異が前記閾値を超えない場合、時間的に前記画像以前に取得された前記先行画像について先行して検出された前記特徴点のうちの１つに基づいて、前記２つ以上の点のうちの１つを前記画像内における前記被写体の特徴点として選択すること
を特徴とする方法。
【請求項２】
前記特徴点ＩＤＳＣ記述子は、
前記被写体の特徴点ごとに、ＩＤＳＣ記述子を含むＩＤＳＣ見本集合から検索されること、
を特徴とする請求項１に記載の方法。
【請求項３】
前記複数の特徴点は、
前記被写体の前記区画された画像領域の前記輪郭に沿って一様にサンプリングされること、
を特徴とする請求項１に記載の方法。
【請求項４】
前記画像は、
深度画像を含み、
前記被写体は、
人間主体を含むこと、
を特徴とする請求項１に記載の方法。
【請求項５】
前記被写体の前記画像領域を区画することは、
予め決定された深度計測空間を超える深度値を有する、前記深度画像内の画像領域を、背景として識別し、
垂直深度画像法線ベクトルを有する画像領域を、背景として識別すること、
を特徴とする請求項４に記載の方法。
【請求項６】
前記特徴点は、
頭頂、左肩、右肩、左肘、右肘、左手首、右手首、左腰、右腰、股、左膝、右膝、左足首及び右足首のうちの１つを含むこと、
を特徴とする請求項４に記載の方法。
【請求項７】
前記コンピュータは、
前記先行画像の前記先行して検出された特徴点のうちの１つに基づいて、欠けている特徴点を付加し、
前記付加された特徴点及び人間モデルの運動学的制約に基づいて、前記人間モデルにおける、前記人間主体の姿勢を推定すること、
を特徴とする請求項４に記載の方法。
【請求項８】
前記人間モデルにおける、前記人間主体の姿勢を推定することは、
前記人間主体の観測された姿勢を有する、前記人間モデルの前記推定された姿勢を追跡すること、
を特徴とする請求項７に記載の方法。
【請求項９】
前記コンピュータは、
前記付加された特徴点及び前記人間モデルの前記運動学的制約に基づいて、予測された特徴点を生成すること、
を特徴とする請求項７に記載の方法。
【請求項１０】
前記人間モデルの前記運動学的制約は、
関節限界及び自己衝突回避を含むこと、
を特徴とする請求項７に記載の方法。
【請求項１１】
前記コンピュータは、
前記人間モデルの身体セグメントの実際の表面を包囲する仮想表面を作成し、
前記身体セグメントと、接続されていない構造との間の距離を監視し、
前記接続されていない構造が前記仮想表面を突き抜けるのを検出し、
前記接続されていない構造が前記身体セグメントと衝突するのを防ぐ関節モーションの方向を決定し、
前記方向が決定された関節モーションに基づき、前記身体セグメントの方向を変更し、前記接続されていない構造と衝突することを防ぐこと、
を特徴とする請求項１０に記載の方法。
【請求項１２】
前記コンピュータは、
前記人間主体の前記画像領域上で骨格分析を実行し、前記人間主体の骨格画像を生成し、
前記骨格画像を距離変換し、前記人間主体の、距離変換された骨格画像を生成し、
前記距離変換された骨格画像内で前記人間主体の前記特徴点を検出すること、
を特徴とする請求項４に記載の方法。
【請求項１３】
前記距離変換された骨格画像内で前記人間主体の前記特徴点を検出することは、
前記距離変換された骨格画像に基づいて、前記深度画像内に自己オクルージョンが存在するか否かを決定し、
前記深度画像内に自己オクルージョンが存在すると決定された場合は、前記深度画像の追加的分析を実行し、前記人間主体の前記特徴点を検出すること、
を特徴とする請求項１２に記載の方法。
【請求項１４】
前記深度画像は、
１つの飛行時間カメラによって取得されること、
を特徴とする請求項４に記載の方法。
【請求項１５】
前記コンピュータは、
前記画像内の前記検出された特徴点にラベル付けをすること、
を特徴とする請求項１に記載の方法。
【請求項１６】
被写体の画像内における前記被写体の特徴点を検出するシステムであって、
前記システムは、
実行可能なプログラムコードを実行するコンピュータプロセッサと、
実行可能なコンピュータプログラムコードを格納するコンピュータ読取可能記憶媒体と、
を有し、
前記コンピュータプログラムコードは、
前記コンピュータプロセッサに対して、
前記画像及び時間的に前記画像以前に取得された先行画像を含む複数の連続画像を受け取り、
前記先行画像の特徴点の集合を検出し、
前記画像の背景の画像領域から前記被写体の画像領域を区画し、
前記被写体の前記区画された画像領域の輪郭に沿って複数の点をサンプリングし、
前記複数の点ごとに、内側距離形状関係（ＩＤＳＣ）記述子を決定し、
前記複数の点ごとに、当該点のＩＤＳＣ記述子と前記先行画像の特徴点の特徴点ＩＤＳＣ記述子との間の差異を、閾値と比較し、
前記複数の点のうち２つ以上の点について前記差異が前記閾値を超えない場合、時間的に前記画像以前に取得された前記先行画像について先行して検出された前記特徴点のうちの１つに基づいて、前記２つ以上の点のうちの１つを前記画像内における前記被写体の特徴点として選択する処理を実行させること、
を特徴とするシステム。
【請求項１７】
前記先行画像の特徴点の集合は、
時間的に先行して取得された前記先行画像における前記被写体の再構成後の姿勢を閉ループ逆運動学によって算出することよって検出されること、
を特徴とする請求項１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、システムのモーションを追跡する分野に関する。より具体的には、視覚入力から特徴を検出し姿勢を推定することに関する。
【背景技術】
【０００２】
視覚的観測から人間姿勢を回復することは、コンピュータ画像の分野では困難な問題である。なぜならば、観測値を姿勢に関連付けるモデルが複雑であるからである。映像コーディング、視覚監視、人間ジェスチャー認識、生体力学、映像インデクス作成及び映像検索、キャラクターアニメーション、人間機械相互作用のような領域において、この問題に対する効果的な解は、多くの適用例を有している。D. Gavrila,“The visual analysis of human movement: a survey”,Computer Vision and Image Understanding,73(1):82-98(1999)、L. Wang, W. Hu, and T. Tan, “Recent development in human motion analysis”Pattern Recog.,36(3):585-601(2003)及びT.B. Moeslund, A. Hilton and V. Kruger, “A survey of advances in vision-based human motion capture and analysis”, Computer Vision and Image Understanding, 104(2,3):90-126(2006)を参照されたい。
【０００３】
視覚入力から姿勢を推定する際の主な困難の１つは、動きの多数の自由度を回復することにある。この動きは、２つの身体セグメント間の関節限界回避及び自己衝突回避のような運動学的制約に左右されることが多い。画像平面上に人間モーションを投影する際に、時間的又は空間的解像度が不充分、不明確であったり、ある設定の結果自己オクルージョンが発生したりすることが、このような困難と同時に現れる。照明が変化することにより結果的に外観が変化するという効果、又は、被写体の衣装、所望のカメラ設定、及び、アプリケーションによってはリアルタイム追随能力に起因して外観自体が変化する、と言う効果が他の困難としてある。
【０００４】
姿勢推定問題を解決するアプローチには、従来より、２つのカテゴリが存在する。すなわち、モデルベースアプローチ及び学習ベースアプローチである。モデルベースアプローチは、既知であることが明確なパラメトリック人間モデルに頼っており、各身体セグメント上の既知の画像特徴点からの運動学を反転すること、又は、高次元配置空間を検索すること、のいずれかによって姿勢を回復する。モデルベースアプローチは、決定論的に非線形最適化問題として、又は、確率論的に最大尤度問題として公式化されている。運動学を反転することについては、C. Barron and I.A. Kakadiaris, “Estimating anthropometry and pose from a single image”,Computer Vision and Pattern Recognition,1:669-676(2000)及びC.J. Taylor, “Reconstruction of articulated objects from point correspondence in a single uncalibrated image”, Computer Vision and Image Understanding,80(3):349-363(2000)を参照されたい。非線形最適化問題については、J.M. Rehg and T. Kanade, “Model-based tracking of selfoccluding articulated objects”,ICCV, pages 612-617(1995)を参照されたい。最大尤度問題については、H. Sidenbladh, M.J. Black and D.J. Fleet,“Stochastic tracking of 3D human figures using 2D image motion”, ECCV, pages 702-718(2000)を参照されたい。モデルベースアプローチは、典型的には、良好な初期化及び高次元特徴点を要求し、計算集約的である。さらに、モデルベースアプローチは、一般的に、関節限界及び自己衝突回避のような身体制約を大きくすることはなく、誤差のある推定結果を生成することが多い。
【０００５】
対照的に、学習ベースアプローチは、観測可能な画像データ量から身体姿勢を直接推定する。A. Agarwal and B. Triggs, “Recovering 3d human pose from monocular images”, IEEE Trans. on Pattern Analysis and Machine Intelligence, 28(1):44-58(2006)
及びG. Mori and J. Malik, “Recovering 3d human body configurations using shape contexts”, IEEE Trans. on Pattern Analysis and Machine Intelligence, 28(7):1052-1062(2006)を参照されたい。標本ベースの学習においては、姿勢を推定することは、ｋ個の最近傍の隣接例検索問題として公式化されるのが一般的である。当該問題においては、入力データは、三次元姿勢が既知である訓練標本のデータベースに一致する。高次元空間内で非常に大きなデータ集合に対して同様の検索を実行する計算の複雑さが、これらのアプローチの適用を制限している。より高速な近似値検索アルゴリズムが局地的高反応度ハッシュに基づいて開発されてきてはいるものの、学習ベースアプローチにとっては、計算速度が依然として課題である。G. Shakhnarovich, P. Viola and T. Darrell, “Fast pose estimation with parameter sensitive hashing”, ICCV, 2:750-757(2003)を参照されたい。モデルベースアプローチと同様に、学習ベースアプローチもまた計算集約的になりがちである。さらに、学習ベースアプローチを使用して、ある姿勢が正しく認識されるためには、システムは、姿勢を、前以って処理（“学習”）しなければならない。よって、一般的には、事前プログラミングされた人間姿勢の小さな集合のみが、学習ベースアプローチを使用して認識され得る。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
そこで、効率的かつ正確に身体特徴を検出し、リアルタイムで人間姿勢を推定するシステム及び方法がとりわけ必要となる。
【課題を解決するための手段】
【０００７】
（要約）
本発明の実施形態は、人間主体の特徴検出及び姿勢推定のための方法（及び対応するシステム及びコンピュータプログラム製品）を提供する。ある側面によれば、人間主体の深度画像内で特徴点が検出される。深度画像から、人間形状シルエットが区画される。人間形状シルエットに沿って、輪郭点がサンプリングされる。サンプル輪郭点の内側距離形状関係（ＩＤＳＣ）記述子が決定され、ＩＤＳＣ見本集合内の既知の特徴点のＩＤＳＣ記述子と比較される。サンプル輪郭点のＩＤＳＣ記述子と、ＩＤＳＣ見本集合内の特徴点のＩＤＳＣ記述子との類似度に基づいて、特徴点が、サンプル輪郭点のうちから識別される。
【０００８】
他の側面によれば、当該方法は、サンプル輪郭点のＩＤＳＣ記述子と、ＩＤＳＣ見本集合内の特徴点のＩＤＳＣ記述子との間の差異を、閾値と比較する。すべてのサンプル輪郭点のＩＤＳＣ記述子と、特定の特徴点のＩＤＳＣ記述子との差異が、閾値を超えている場合は、当該特徴点は、深度画像のなかで欠けているものと看做される。反対に、閾値が、複数のサンプル輪郭点のＩＤＳＣ記述子と、特定の特徴点のＩＤＳＣ記述子との差異を超えている場合は、複数のサンプル輪郭点のそれぞれは、深度画像のなかの当該特定の特徴点の候補として識別される。
【０００９】
さらに他の側面によれば、当該方法は、欠けている特徴点を付加し、事前に生成された対応する予測された特徴点に基づいて、候補のなかから特徴点を選択する。当該方法は、検出された特徴点、付加された特徴点及び人間モデルの運動学的制約に基づいて、人間モデルの姿勢を推定する。
【００１０】
本明細書に記述されている特徴及び利点は、限定的なものではなく、図面、明細書及び特許請求の範囲を見れば、当業者には、追加的な特徴及び利点が明らかになる。さらに、本明細書中で使用される用語は、主として意味の取りやすさ及び教示目的から選択されており、本発明の主旨を限定するために選択されているものではないことは当然である。
【図面の簡単な説明】
【００１１】
【図１】本発明のある実施形態に係る、ソースシステムにおけるモーション生成体の姿勢を推定する姿勢推定システムを示すブロック図である。
【図２】本発明のある実施形態に係る、図１の姿勢推定システムの機器構成を示すブロック図である。
【図３】本発明のある実施形態に係る、姿勢推定処理を示すフロー図である。
【図４】本発明のある実施形態に係る、特徴点検出処理を示すフロー図である。
【図５】本発明のある実施形態に係る、人間モデルを示す図である。
【図６】本発明のある実施形態に係る、内側距離形状関係（ＩＤＳＣ）記述子の特徴を示す図である。
【図７】本発明のある実施形態に係る、相互に衝突することを回避するために向きを変えられた、２つの接続されていない剛性身体を示す図である。
【図８Ａ】本発明のある実施形態に係る、ラベル付けされた特徴点を有する人間身体のスナップショットを示す図である。
【図８Ｂ】本発明のある実施形態に係る、ラベル付けされた特徴点を有する人間身体のスナップショットを示す図である。
【発明を実施するための形態】
【００１２】
本発明は、特徴を検出し、モーション生成体の姿勢をリアルタイムで推定するシステム（並びに、対応する方法及びコンピュータプロダクト製品）を提供する。当該システムは、生成体の視覚的入力内のキー特徴を検出し、検出された特徴に基づいて、生成体の姿勢をモデル上に再構築する。当該システムは、特徴点の予測値を作成し、予測値を使用して複数の特徴候補が検出された場合の不明瞭部分を解像し、欠けている又は隠れている特徴を間欠的に推定する。
【００１３】
説明の目的で、一般性を失うことなく、本明細書は、モーション生成体は人間主体であること、そしてモデルは人間モデルを表していること、を前提としている。人間モデルは、人間主体の構造に基づいて人間主体の身体姿勢に類似するように作られている。例えば、動物のような他のモーション生成体の姿勢を推定するために、ここに記述される技術が使用され得るということを、当業者であれば認識するであろう。
【００１４】
図及び明細書の後記箇所は、例示の目的のみによって、本発明の実施形態に関係する。以降、いくつかの実施形態を詳細に参照するが、実施形態の例は、添付の図に例示されている。同一の又は同様の参照番号が複数の図に跨って使用されている場合は、同一の又は同様の機能を示している。図は、例示の目的のみで、開示されたシステム（又は方法）の実施形態を記述している。ここに例示される構造及び方法の代替的な実施形態がここに記述される原理を逸脱することなく使用され得ることを、当業者であれば、以降の明細書の箇所から認識することができるであろう。
【００１５】
図１は、ソースシステム１０２内の人間主体の特徴を検出し、姿勢を推定する姿勢推定システム１００を示すブロック図である。ソースシステム１０２は、人間主体の一連の画像を生成し、これらの画像を姿勢推定システム１００に、画像ストリーム１０８として送信する。ある実施形態においては、ソースシステム１０２は、飛行時間カメラ（ＴＯＦカメラ、飛行時間範囲画像センサとも呼ぶ）のようなカメラを使用し、人間主体の姿勢を連続的に取得し、姿勢推定システム１００に深度画像ストリーム１０８を送信する。姿勢推定システム１００は、受け取られた画像ストリーム１０８のなかからキー特徴を検出し、人間主体の姿勢を人間モデル内に再構築する。
【００１６】
人間姿勢推定を提供することに加えて又は代替して、姿勢推定システム１００は、モーションの再目標化、追跡及び推定、並びに、生体力学における関節トルク推定のような他の目的のために使用されてもよい。モーション再目標化においては、姿勢推定システム１００は、再構築された姿勢に基づきソースシステム１０２のモーション記述子を生成し、モーション再目的化システムにモーション記述子を送信する。モーション再目的化システムは、目的化システムのモーションを制御する関節変数を生成し、ソースシステム１０２内のモーションをシミュレートする。モーション再目的化のさらなる情報は、“Control Of Robots From Human Motion Descriptor”と題する２００７年４月１２日出願の米国出願１１／７３４，７５８に記載されている。
【００１７】
（システム構造）
図２は、ある実施形態に係る、身体特徴を検出し人間姿勢を推定する姿勢推定システム１００の機器構成を示すブロック図である。姿勢推定システム１００は、深度画像ストリーム１０８内で検出された複数の特徴から、人間主体の身体姿勢を再構築する。特徴（又は、特徴点、解剖学的特徴、キー点）は、人間身体上の目立つ解剖学上のランドマークの三次元位置に対応する。一般性を失うことなく、姿勢推定システム１００は、図５に示されるような、１４個（ｋ＝１４）の身体特徴を追跡する。示されているように、１４個の特徴は、頭頂、左肩、右肩、左肘、右肘、左手首、右手首、左腰、右腰、股、左膝、右膝、左足首及び右足首である。再構築された（すなわち、推定された）人間姿勢ｑは、人間主体の姿勢を追跡する人間モデル内に記述される。ある実施形態においては、人間モデルは、人間主体の身体に酷似した人間解剖学モデルである。
【００１８】
図２に示されるように、姿勢推定システム１００は、特徴検出モジュール２０２（キーポイント検出モジュールとも呼ぶ）、補間モジュール２０４、欠落特徴付加モジュール２０６、姿勢再構築モジュール２０８（制約された閉ループ逆運動学モジュールとも呼ぶ）及び不明瞭部分解像モジュール２１０を有する。
【００１９】
特徴検出モジュール２０２は、深度画像ストリーム１０８を受け取り、深度画像ストリーム１０８内の特徴を検出し、検出結果を出力する。検出結果中に、オクルージョンが発生する、信頼できない観測値が存在する、又は信頼度が低い観測値が存在することに起因して、ある特定の画像フレームについて実際に観測される特徴の数は、ｋよりも小さくてもよい。実際に観測される特徴の数を、ｍ（ｍ＝０・・・ｋ）とする。検出された特徴は、位置ベクトルｐdet（２２０）によって表される。位置ベクトルｐdetは、検出された個々の特徴に対応する三次元位置ベクトルを連結することによって形成される。図４に関連して詳細を後記するように、特徴検出モジュール２０２は、まず、深度画像ストリーム１０８内のフレームから区画された人間シルエット上の輪郭点をサンプリングし、次に、特徴点のＩＤＳＣ記述子と、既知の特徴点のＩＤＳＣ記述子とを類似度について比較することによってサンプル輪郭点のうちから特徴点を検出する。
【００２０】
補間モジュール２０４は、特徴検出モジュール２０２から受け取られたベクトルｐdet
0005647155.tif 000002
ある実施形態においては、姿勢推定システム１００に送信される深度画像は、ＴＯＦカメラを使用して毎秒約１５フレームの速度で取得される。後続モジュールのうちの姿勢再構築モジュール２０８において実行される数値積分を安定させるために、補間モジュール２０４は、検出された特徴を、より高い速度（例えば、１００ＨＺ）で再サンプリングする。
0005647155.tif 000003
【００２１】
0005647155.tif 000004
この所望の特徴ベクトルをｐｄ（２２４）とする。前記したように、オクルージョン又は信頼できない観測値に起因して、それぞれのフレームで検出された特徴の数は、１４より小さくなるかもしれない（すなわち、ｍ＜ｋ＝１４）。欠落特徴付加モジュール２０６は、姿勢再構築モジュール２０８から、フィードバック経路２４０を経て、予測された特徴ｐ（２２８）を受け取り、ｐ（２２８）を使用して、欠けている特徴を付加する。付加された特徴ｐｄ（２２４）は、ｋ＝１４個の所望の特徴を表しており、姿勢再構築モジュール２０８に入力されるために使用される。
【００２２】
姿勢再構築モジュール２０８は、ｐｄ（２２４）、正確な人間モデル及びこのモデルの制約に基づいて、推定された姿勢ｑ（２３０）及び予測された特徴ｐ（２２８）を生成する。姿勢再構築モジュール２０８は、欠落特徴付加モジュール２０６及び不明瞭部分解像モジュール２１０に、ｐ（２２８）を送信し、事後的に不明瞭部分を解像し、欠けている又は隠れている特徴を間欠的に推定する。推定された（すなわち、再構築された、回復された）姿勢は、ベクトルｑ（２３０）によってパラメータ化されており、予測されたモーションを記述し、人間モデル内で、任意のｎ自由度の、予測されたモーション及び姿勢を記述する。予測された特徴ｐ（２２８）は、欠落特徴付加モジュール２０６にフィードバックされて、欠けている又は隠れている特徴を間欠的に付加し、不明瞭部分解像モジュール２１０にフィードバックされて、複数の特徴候補が検出されている場合の不明瞭部分を解像する。
【００２３】
不明瞭部分解像モジュール２１０は、特徴検出モジュール２０２が複数の特徴候補を検出したとき、不明瞭部分を解像する。不明瞭部分解像モジュール２１０は、姿勢再構築モジュール２０８から、フィードバック経路２５０を経て、予測された特徴ｐ（２２８）を受け取り、ｐ（２２８）を使用して不明瞭部分を解像する。例えば、予測された特徴ｐ（２２８）は、ある特徴（すなわち、特徴検出モジュール２０２からの特徴）の１つの候補の仮定位置が、本来の位置である可能性はほとんどないことを示し、不明瞭部分解像モジュール２１０に、その特徴の以外の候補を予測された特徴として選択させてもよい。他の例として、不明瞭部分解像モジュール２１０は、対応する予測された特徴に最も近い特徴候補を選択して検出された特徴としてもよい。代替的に又は追加的に、不明瞭部分解像モジュール２１０は、予測された特徴を検出された特徴として使用してもよい。
【００２４】
姿勢推定システム１００又は前記したその任意の構成要素は、ソフトウエア（例えば、プロッセサによって実行可能な命令を含むモジュール）として実現されても、ハードウエア（例えば、特定用途集積回路）として実現されても、これらの組み合わせとして実現されてもよい。ソフトウエア及び／又はソフトウエアは、プロッセサ、メモリ、コンピュータ読取可能記憶媒体（例えば、ハードドライブ）、ネットワークインタフェース、オペレーティングシステム及び他の機能ソフトウエア（例えば、ネットワークドライバ、通信プロトコル）を含むコンピュータシステム内で動作し得る。他の実施形態は、図２に示された他にも別の及び／又は追加的なモジュールを有し得ることを、当業者であれば認識するであろう。同様に、ここに記述されたものとは別の方法で、各機能が複数のモジュール間に配分され得る。さらに、これらの機能のうちには、姿勢推定システム１００以外の構成から提供されるものが存在し得る。
【００２５】
（システム操作）
図３は、本実施形態に係る、人間身体姿勢を推定する姿勢推定システム１００の処理手順の例を示すフローチャートである。
【００２６】
姿勢推定システム１００（すなわち、特徴検出モジュール２０２）は、深度画像ストリーム１０８内の、人間主体の身体特徴を検出する（ステップ３１０）。ある実施形態においては、姿勢推定システム１００は、まず、画像フレームから人間シルエットを区画し、次に、人間シルエット上の輪郭点をサンプリングすることによって、画像フレーム内の特徴を検出する（ステップ３１０）。姿勢推定システム１００は、サンプル輪郭点内の特徴点のＩＤＳＣ記述子を既知の特徴点のＩＤＳＣ記述子と類似度について比較することによってサンプル輪郭点内の特徴点を識別する。特徴を検出する処理（ステップ３１０）は、図４との関係で、さらに詳しく後記する。複数の特徴候補が検出されるとき、姿勢推定システム１００は、事前に生成されている予測された特徴ｐを使用して、不明瞭部分を解像する。
【００２７】
姿勢推定システム１００（すなわち、補間モジュール２０４）は、検出された特徴ｐdetを補間して、データをより高い速度（例えば、１００ＨＺ）で再サンプリングする（ステップ３２０）。ある実施形態においては、姿勢推定システム１００は、局地的三次元スプライン補間ルーチンを使用して検出された特徴を補間する（ステップ３２０）。当該補間は、姿勢再構築モジュール２０８において実行される数値積分を安定させるために実行される。ある実施形態においては、姿勢推定システム１００は、検出された特徴ｐdetにローパスフィルタをかけた後に、フィルタをかけた特徴を補間する。
【００２８】
姿勢推定システム１００（すなわち、欠落特徴付加モジュール２０６）は、検出されな
0005647155.tif 000005
生成する（ステップ３３０）。前記したように、姿勢推定システム１００は、オクルージョン又は信頼できない観測値に起因して、それぞれのフレーム内で、１４個に満たない身体特徴しか検出できないかもしれない。姿勢推定システム１００は、これらの検出されなかった特徴を、事前に生成されている予測された特徴ｐを使用して推定する。ｍ＜ｋである場合、検出された特徴は、再構築された姿勢を順行運動学的に計算して入手された（ｋ−ｍ）個の予測された特徴ｐによって付加される。
【００２９】
姿勢推定システム１００（すなわち、姿勢再構築モジュール２０８）は、人間モデル上に人間主体の観測された身体姿勢ｑを再構築し、後続の特徴ｐ（又は特徴点位置）を予測する（ステップ３４０）。それぞれの特徴の予測された位置は、ベクトルｐｉによって記述され、その原点は、腰関節座標系に対応する基準フレームの原点である。ある実施形態においては、姿勢推定システム１００は、複数の観測された特徴を追跡し、その特徴の重要性又は信頼水準に応じて特徴に優先順位を付けることによって人間姿勢を再構築する（ステップ３４０）。姿勢推定システム１００は、関節限界及び自己衝突回避のような、人間モデルの運動学的制約を大きくすることによって、後続の特徴を予測する。
【００３０】
姿勢推定システム１００は、観測された特徴及び予測された特徴を、デカルト空間内に表現する。これらの特徴は、人間モデルのモーションを完全に記述するために必要な自由度を定義するとは限らない。ｎ自由度の人間モデルについて、ベクトルｑ＝[ｑ１，・・・，ｑｎ]Ｔによってここに記述される配置空間、すなわち関節空間は、人間モデルのモーションの特徴を完全に表現する。配置空間速度とデカルト空間速度との間でのマッピングは、これらの２つの空間に関する微分運動学を考慮することによって入手される。
【００３１】
【数１】
0005647155.tif 000006
【００３２】
0005647155.tif 000007
速度である。J.J. Craig,“Introduction to robotics, mechanics and control”, Addition-Wesley, 2ndedition(1989)を参照されたい。
【００３３】
方法３００の１又は複数の処理は、ハードウエア及び／又はソフトウエア又はこれらの組合せによって実施されてもよい。例えば、方法３００は、ここに記述される動作を実行する命令を通じて実施されてもよく、このような命令は有形かつコンピュータ読取可能な媒体（例えば、フラッシュメモリ、ＲＡＭ、不揮発性磁気記憶デバイス）に記憶され、コンピュータプロセッサによって実行され得る。さらに、他の実施形態は、異なる順序で方法３００のステップを実行し得ることを、当業者であれば認識するであろう。さらに、他の実施形態は、ここに記述されたステップ以外にも、別の及び／又は追加的なステップを含み得る。姿勢推定システム１００は、方法３００のステップの複数のインスタンスを同時に実行させること、及び／又は、ステップを並列的に実行させることが可能である。
【００３４】
（特徴検出及び特徴追跡）
図４は、本発明のある実施形態に係る、深度画像ストリーム内の身体特徴を検出する姿勢推定システム１００（すなわち、特徴検出モジュール２０２）の処理手順４００を記述するフローチャートである。示されているように、姿勢推定システム１００は、背景から人間形状（以降、人間シルエットと呼ぶ）を区画し（ステップ４１０）、深度画像内の人間シルエット上の輪郭点をサンプリングする（ステップ４２０）。姿勢推定システム１００は、サンプル輪郭点の内側距離形状関係（ＩＤＳＣ）記述子を計算し（ステップ４３０）、計算されたＩＤＳＣ記述子を、ＩＤＳＣ見本集合内の既知の特徴点のＩＤＳＣ記述子と比較する（ステップ４４０）。姿勢推定システム１００は、それぞれの特徴点ごとに、当該特徴点のＩＤＳＣ記述子に最も類似するＩＤＳＣ記述子を有するサンプル輪郭点を、現在の画像フレーム内の対応特徴点として、ラベル付けする。
【００３５】
処理手順４００のステップは、さらに詳しく後記される。記述されている処理手順４００は、深度画像ストリーム内の身体特徴を検出する。しかしながら、当該処理手順の代替的な実施形態が、ここに記述される原理を逸脱することなく、通常の二次元画像ストリームのような他のタイプの画像ストリーム内の身体特徴を検出してもよいことを、当業者であれば、明細書の後記する箇所から容易に認識するであろう。
【００３６】
（人間シルエット区画）
姿勢推定システム１００は、人間シルエット区画処理（ステップ４１０）を経て、人間形状の画像領域（人間シルエット、前景とも呼ぶ）を、背景の画像領域から区画する。前景から区画されるべき背景不要物の例としては、深度計測空間の向こう側にある、床及び他の被写体がある。
【００３７】
ある実施形態によれば、前景は、［０，Ｚｍａｘ］に設定されている対象深度量（depth volume of interest、すなわち、深度計測空間）内にあるものと仮定されている。姿勢推定システム１００は、当該関心体積の外側に位置する深度値を有する画像座標（すなわち、（Ｚｍａｘ，∞］）を背景として識別する。姿勢推定システム１００は、当該処理の間に、形態学的操作を実行し、白黒ノイズを削除し得る。
【００３８】
ある実施形態によれば、床は、深度画像法線ベクトルが概ね垂直な方向を指している画像領域内にあると仮定されている。姿勢推定システム１００は、まず、深度画像内のそれぞれの画素における法線ベクトルを推定し、次に、垂直な法線ベクトルを有する画像座標を区画することによって、床を前景から区画する（ステップ４１０）。姿勢推定システム１００は、この処理の間、ノイズに起因する誤差のマージンを考慮し得る。
【００３９】
姿勢推定システム１００は、前記のように識別された背景の画像を深度画像ストリームから削除することによって、前景の画像を入手する。
【００４０】
（輪郭点サンプリング及びＩＤＳＣ記述子計算）
形状関係は、複数の形状間の類似度を計測し、複数の形状間の点の対応関係を示すために使用される記述子である。S. Belongie, J. Malik and J. Puzicha,“Shape Matching and Object Recognition Using Shape Contexts”, IEEE Trans. Pattern Analysis and Machine Intel. (PAMI),509-522(2002)を参照されたい。ある被写体の形状関係は、被写体の輪郭に沿ったそれぞれの点を、輪郭上の他のすべての点との関係において記述する。ある形状の輪郭上にｎ個の点があると仮定する。点ｐｉの形状関係は、次の式（２）で定義されるような、残りの（ｎ−１）個の点の相対座標ｈｉの粗いヒストグラムである。
【００４１】
【数２】
0005647155.tif 000008
【００４２】
式（２）において、ｋは、ヒストグラムのビン（棒グラフ、bin）の見出しを表し、＃{．}という表記は、括弧内に定義される点の数を表す。当該ヒストグラムは、輪郭上のある点から輪郭上の他のすべての点までの距離、及び、輪郭上のある点が輪郭上の他のすべての点となす角度の双方に基づいて、輪郭上のそれぞれの点ごとに計算される。通常、棒は、対数極座標空間において、同じ形状で記載される。
【００４３】
内側距離形状関係（ＩＤＳＣ）は、元の形状関係の拡張である。H. Ling and D.W. Jacobs, “Shape Classification Using the Inner-Distance”, IEEE Trans. Pattern Analysis and Machine Intel. (PAMI), 286-299(2007)を参照されたい。形状関係と同様に、ＩＤＳＣは、対数極座標空間における輪郭点のヒストグラムである。当該ヒストグラムは、それぞれの点が、他のすべての輪郭点と、距離及び角度の観点から、どのように関係しているかを記述する。輪郭点間の距離及び角度が計算されるという点で、ＩＤＳＣは、形状関係とはそもそも異なる。形状関係記述子は、通常のユークリッド距離測定を使用する。一方、ＩＤＳＣ記述子は、被写体の輪郭内を巡回する最短経路に沿った複数の点の間の内側距離を計算する。ＩＤＳＣ内の角度関係も、被写体の輪郭の内側で計測された。これを内側角度と呼ぶ。内側角度は、出発点における輪郭接線と、出発点を起点とする内側距離の方向とがなす角度として定義される。内部距離及び内部角度を式（２）に適用することによって、ＩＤＳＣ記述子が計算される。
【００４４】
姿勢推定システム１００は、区画された人間シルエットの輪郭に沿って、Ｎ個の点をサンプリングし（ステップ４２０）、式（２）を適用することによって、内側距離及び内側角度について、それぞれのサンプル輪郭点と他のすべてのサンプル輪郭点とのＩＤＳＣ記述子を計算（すなわち、決定）する（ステップ４３０）。サンプリングされた輪郭点をｘｉで表し、対応するＩＤＳＣ記述子をＩＤＳＣ（ｘｉ）で表す。ここで、ｉ＝１，．．．，Ｎである。ある実施形態においては、輪郭点は、人間形状の輪郭に沿って等間隔で（すなわち、均一に）サンプリングされる（ステップ４２０）。
【００４５】
（特徴点識別）
異なる関節下に同じ被写体の２つの画像がある場合、当該被写体の同じ部分に属する輪郭点のＩＤＳＣ記述子は（図６の２つの画像内の親指上の記号Δが付された点が示すように）類似している。一方、当該被写体の異なる部分に対応する点は、（図６において、記号Δ及び記号＋が示すように）類似していない。
【００４６】
前記の観測から動機を得て、サンプル輪郭点のＩＤＳＣ記述子を既知の特徴点のＩＤＳＣ記述子と類似度について比較する（ステップ４４０）ことによって、特徴点は、人間シルエットの輪郭に沿って検出され得る。既知の特徴点のＩＤＳＣ記述子（例えば、異なる画像内にラベル付けされている）が、他のサンプル輪郭点と比べて、特定のサンプル輪郭点のＩＤＳＣ記述子により類似している場合、当該特定のサンプル輪郭点は、人間シルエット内の当該特定の特徴点として識別され、その結果、ラベル付けされ得る（ステップ４５０）。
【００４７】
このアプローチを使用する特徴検出を容易にするために、姿勢推定装置１００は、訓練画像内の特徴点（例えば、図５に示される１４個の特徴点）の位置を決定し（すなわち、ラベル付けし）、訓練画像内のこれらの特徴点ごとにＩＤＳＣ記述子を計算することによって、既知の特徴点のＩＤＳＣ記述子の見本集合を作成する。具体的には、見本集合（以降、ＩＤＳＣ見本集合と呼ぶ）は、ＩＤＳＣ＿Ｇａｌｌｅｒｙ（ｊ，ｌ）と表記される。ここで、ｊ＝１，．．．，ｋであり、ｌ＝１，．．．，Ｍである。ｋは、既知の特徴点の数を表し、Ｍは、ＩＤＳＣ見本集合に含まれる訓練画像の数を表す。ＩＤＳＣ見本集合は、次の式（３）において示される見本集合行列として表記され得る。
【００４８】
【数３】
0005647155.tif 000009
【００４９】
特徴点Ｄｊ（ｊ＝１，．．．，ｋ）として識別されるサンプル輪郭点ｘｉ（ｉ＝１，．．．，Ｎ）は、式（４）によって識別される。
【００５０】
【数４】
0005647155.tif 000010
【００５１】
式（４）は、２つのヒストグラム間の、ビンごとの差異を計測し、すべてのビンの差異を合計し、合計の差異が最小となるヒストグラムのペアを、最良一致結果として識別する。このようにして、それぞれの特徴点ごとに、姿勢推定システム１００は、１つのサンプル輪郭点を、人間シルエット内の特徴点として識別する。当該識別されたサンプル輪郭点のＩＤＳＣ記述子は、他のすべてのサンプル輪郭点のＩＤＳＣ記述子よりも、ＩＤＳＣ見本集合内の特徴点のＩＤＳＣ記述子のうちの１つに類似している。
【００５２】
ある実施形態においては、姿勢推定システム１００は、サンプル輪郭点のＩＤＳＣ記述子と既知の特徴点のＩＤＳＣ記述子との間の差異を、設定可能な閾値と比較する。当該差異が閾値を超える場合は、たとえ当該輪郭点が、式（４）を適用すれば既知の特徴点として識別されたとしても、姿勢推定システム１００は、当該サンプル輪郭点が既知の参照点とは別のものとして区別可能であると決定する。ＩＤＳＣ見本集合内のある特定の特徴点のＩＤＳＣ記述子と、すべてのサンプル輪郭点のＩＤＳＣ記述子との間の差異が、閾値を超える場合は、姿勢推定システム１００は、基本画像フレーム内の当該特定の特徴点を識別せず、当該特定の特徴点は欠けていると看做す。一方、複数のサンプル輪郭点のＩＤＳＣ記述子と既知の特徴点のＩＤＳＣ記述子との間の差異がすべて閾値を下回る場合は、姿勢推定システム１００は、このようなすべてのサンプル輪郭点を、基本画像フレーム内の当該特定の特徴点についての特徴候補として識別してもよい。
【００５３】
ある実施形態においては、１つの身体特徴を表すために、複数の特徴点が使用され得る。たとえば、人間形状内の頭部を識別するために、頭頂の特徴点に加えて、左耳及び右耳が使用され得る。姿勢推定システム１００は、これらの特徴点のＩＤＳＣ記述子をグループにまとめて、累積ＩＤＳＣ記述子の形式にし、ＩＤＳＣ見本集合に含めることができる。人間シルエット内の特徴を検出するとき、姿勢推定システム１００は、サンプル輪郭点のＩＤＳＣ記述子の異なる組合せを、累積ＩＤＳＣ記述子と類似度について比較し、累積ＩＤＳＣ記述子に最も類似するＩＤＳＣ記述子を有するグループを、当該特徴に関連付けられた特徴点として識別する。
【００５４】
姿勢推定システム１００は、ＩＤＳＣ見本集合内の一致する特徴点に基づいて、識別された特徴点にラベル付けする（ステップ４０５）。例えば、サンプル輪郭点のＩＤＳＣ記述子が、見本集合画像のうちの１つの左肩のＩＤＳＣ記述子に最も近いと決定された場合、当該特定のサンプル輪郭点は、現在の画像フレーム内の左肩として、ラベル付けされる（ステップ４５０）。
【００５５】
人間シルエットの輪郭上の特徴点を検出するのに加えて、処理手順４００は、内側の（すなわち、人間シルエットの内側の）特徴点を検出し得る。たとえば、姿勢推定システム１００は、まず、輪郭上の左腰特徴点及び右腰特徴点を識別し、次に、左腰特徴点及び右腰特徴点の位置に基づいて腰中心の位置を導出することによって、人間形状の腰中心の位置（例えば、両者の中点）を識別し得る。同様に、姿勢推定システム１００は、人間シルエットの輪郭上の２つの耳の位置に基づいて、頭中心を識別し得る。
【００５６】
オクルージョンのような理由に起因して、いくつかの特徴点が、人間シルエットの内側に来ることがある。例えば、深度画像において、右腕が胴体の前面にある場合、右肘及び右手首は、人間シルエットの内側に入り込んでしまい、輪郭上に現れない。ある実施形態においては、人間シルエットの輪郭に沿って特徴点を検出することに加えて、姿勢推定システム１００は、骨格分析及び深度スライス分析のような追加的な技術を適用し、人間シルエットの内側に入り込む特徴点を検出する。人間形状内の特徴を検出するための追加的な技術についての更なる情報は、“Controlled Human Pose Estimation From Depth Image Streams”と題する２００９年５月２９日出願の米国特許出願１２／４４５，２５７及び“Controlled Human Pose Estimation From Depth Image Streams”と題する２００８年１２月１９日出願の米国特許出願１２／３１７，３６９に記載されている。別のアプローチを使用して検出された特徴点であっても、特徴候補として扱われ、不明瞭部分解像モジュール２１０に対して入力され得る。さらに、姿勢推定システム１００は、再構築された姿勢を順行運動学的に計算して入手された予測された特徴ｐによって、検出された特徴を付加してもよい。
【００５７】
一旦人間形状内の身体特徴が検出されると、姿勢推定システム１００は、人間姿勢を推定する、身体領域を区画する、手の形のような身体セグメントの姿勢を認識するというような目的に、検出された特徴を即座に使用できる。手領域を区画し、手の姿勢を認識するための更なる情報は、“Capturing and Recognizing Hand Posture Using Inner Distance Shape Contexts”と題する、本願と同時に出願された米国特許出願＃＃／＃＃＃，＃＃＃に記載されている。
【００５８】
（姿勢推定及び特徴予測）
姿勢推定システム１００（すなわち、姿勢再構築モジュール２０８）は、人間主体の観測された身体姿勢ｑを再構築し、後続の特徴位置ｐを予測する（ステップ３４０）。ある実施形態においては、姿勢推定システム１００は、特徴の重要度（又は信頼度）に応じて特徴に優先順位を付け、観測された姿勢を追跡する（デカルト追跡制御）ことによって身体姿勢ｑを再構築する（ステップ３４０）。さらに、姿勢推定システム１００は、関節限界及び自己衝突回避のような人間モデルの運動学的制約を大きくすることによって、後続の特徴位置を予測する。運動学的制約は、（身体関節セグメントについては）関節限界回避及び（接続されていない身体セグメントについては）自己衝突回避として分類されてもよい。これらの操作は、詳細に後記される。
【００５９】
（デカルト追跡制御）
ある実施形態においては、姿勢推定システム１００は、制御方針（デカルト追跡制御と呼ぶ）を適用する。当該制御方針は、推定された特徴と所望の（観測値からの）特徴との間のデカルト誤差が最小化されるように、関節変数（ｑ）を生成する。追跡能力は、特徴追跡要件の実行と同様に、人間モデル運動学的制約に左右される。特徴追跡要件は複数存在し、相互に競合することも多い。ある実施形態においては、姿勢推定システム１００は、閉ループ逆運動学（ＣＬＩＫ）として知られるデカルト空間運動学的制御方法に基づき、追跡制御アプローチを使用する。ＣＬＩＫアルゴリズムの解を求める原理は、式（１）によって記述されるようなデカルト変数及び関節変数に関する微分運動学の反転処理である。単純化のために、ｉ番目の特徴を参照する場合の上付文字ｉは、当該セクションにおいては一時的に省略される。
【００６０】
所望の変数値を、下付文字ｄで表す。関節速度は、式（１）を反転させて、フィードバック誤差項を加え、数値ドリフトを補正することによって、計算されてもよい。
【００６１】
【数５】
0005647155.tif 000011
【００６２】
式（５）において、Ｊ*は、正定値行列Ｗ１によって重み付けされたＪの正規化された右疑似逆を表す。
【００６３】
【数６】
0005647155.tif 000012
【００６４】
パラメータλ＞０は減衰項であり、Ｉは、恒等行列である。ベクトルｐ(・)ｄは、所望の特徴速度に対応する。行列Ｋは、３×３の対角正定値利得行列であり、ｅは、観測された特徴と計算された特徴との間の位置誤差を表すベクトルである。位置誤差は、ｅ＝ｐｄ−ｐとして単純に定義される。ここで、ｐｄ及びｐは、それぞれ、観測された特徴位置及び計算された特徴位置に対応する。
【００６５】
（複数特徴管理）
ある実施形態においては、姿勢推定システム１００（すなわち、姿勢再構築モジュール２０８）は、観測値における特徴の重要度又は信頼水準に応じて特徴に優先順位を付ける。例えば、肘位置が検出し難い場合は、他の位置が主特徴として指定されるのに対して、肘位置は副特徴として指定されてもよい。
【００６６】
前記の公式化は、１つの特徴から人間姿勢を推定することを前提としている。複数特徴は、２つの方法で処理され得る。すなわち、付加及び優先付けである。これらの方法は、ロボットモーション制御文献に詳細に記述されている。B. Siciliano and J. Slotine, “A general framework for managing multiple tasks in highly redundant robotic systems”, International Conference on Advanced Robotics, volume 2, pages 1211-1216, Pisa, Italy(1991)を参照されたい。ある実施形態においては、姿勢推定システム１００は、個々の空間速度の連結と、関連付けられたヤコビアン行列及びフィードバック利得行列とを参照する特徴付加を使用する。
【００６７】
0005647155.tif 000013
【００６８】
【数７】
0005647155.tif 000014
【００６９】
【数８】
0005647155.tif 000015
【００７０】
0005647155.tif 000016
付加されたシステムにおける追跡制御アルゴリズムの解法は、図５によって先述された方法と同じ方法に従う。特徴のそれぞれの成分ごとの追跡誤差率は、付加された空間における３ｋ×３ｋ対角行列を表す付加されたフィードバック利得行列Ｋによって制御できる。軌跡追跡誤差収束率は、式（５）のフィードバック利得行列の固有値に左右される。固有値が大きくなるほど、収束はより速くなる。ある実施形態においては、その関数は、連続時間システムの離散時間近似として実施される。したがって、固有値についての上限が存在し、その上限はサンプリング時間に左右される、と予測するのが合理的である。特定の特徴又はその個々の構成要素は、追跡方向に関連付けられたＫの固有値を増加させることによってより正確に追跡され得る。Ｋの成分を調節することによって、姿勢推定システム１００は、観測された信頼度の相対水準を効率的にコード化し得る。フィードバック利得値が高いほど、計測の信頼度は高くなる。
【００７１】
（制約された閉ループ逆運動学）
姿勢推定システム１００は、人間モデル内で検出された人間姿勢を追跡する際、人間モデル運動学的制約を考慮する。運動学的制約の例として、関節限界及び自己衝突制約が挙げられる。このような運動学的制約をＣＬＩＫ公式に統合する、制約された閉ループ逆運動学（ＣＣＬＩＫ）アルゴリズムが、詳細に後記される。
【００７２】
（関節限界回避制約）
ある実施形態においては、関節制限回避は、姿勢推定システム１００が式（６）の重み付け行列Ｗ１を正しく選択することによって達成される。重み付け行列の一例は、重み付けされた最小ノルム（ＷＬＮ）解によって定義される。ＷＬＮ解を初めて提案したのは、T.F. Chan and R.V. Dubey, “A weighted least-norm solution based scheme for avoiding joint limits for redundant joint manipulations”, IEEE Transaction on Robotics and Automation,11(2),(1995)である。ＷＬＮ解は、減衰最小二乗ヤコビアン逆数の関係中で公式化される。ＷＬＮ解は、関節限界付近で関節を減衰させる関節限界関数の勾配に基づいて、適当な重み付け行列を生成するために使用される。この解については後記する。
【００７３】
関節が限界に近づくほどより高い値を有し、関節限界において無限大になる候補関節限界関数は、Ｈ（ｑ）で表される。H. Zghalらによって提案されたこのような候補関数の１つが、式（９）によって与えられる。
【００７４】
【数９】
0005647155.tif 000017
【００７５】
式（９）において、ｑｉは、ｉ番目の自由度の一般化された座標を示し、ｑｉ，ｍｉｎ及びｑｉ，ｍａｘは、それぞれ、関節下限及び関節上限である。H. Zghal and R.V. Dubey, “Efficient gradient projection optimization for manipulators with multiple degrees of redundancy”, Int. Conf. Robotics and Automation, volume 2, pages 1006-1011(1990)を参照されたい。関節上限及び関節下限は、衝突回避に使用される、物理関節限界及び仮想関節限界のうち、より保守的な限界を表す。Ｈ（ｑ）は、正規化されて、モーションの範囲内での変動を説明することに留意されたい。Ｈの勾配は、∇Ｈと表記され、関節限界勾配関数、すなわち、そのエントリが、Ｈの増加速度が最も速い方向を指すｎ×１ベクトルを表す。
【００７６】
【数１０】
0005647155.tif 000018
【００７７】
関節ｉに関連付けられた成分は、式（１１）によって与えられる。
【００７８】
【数１１】
0005647155.tif 000019
【００７９】
勾配∂Ｈ（ｑ）／∂ｑｉは、関節が関節範囲の中点にある場合ゼロに等しく、何れかの間接限界で無限大に概ね到達する。関節限界勾配重み付け行列は、ＷＪＬと表記され、対角成分ｗＪＬｉ（ｉ＝１…ｎ）を有する、式（１２）のｎ×ｎ対角行列によって定義される。
【００８０】
【数１２】
0005647155.tif 000020
式（６）の重み付け行列Ｗ１は、ＷＪＬによって作成される（例えば、Ｗ１＝ＷＪＬ）。対角成分ｗＪＬｉは、式（１３）によって定義される。
【００８１】
【数１３】
0005647155.tif 000021
【００８２】
項Δ｜∂Ｈ／∂ｑｉ｜は、関節限界勾配関数の大きさの変化を表す。正値は、関節が関節限界に向かって動いていることを示し、一方、負値は、関節が関節限界から遠ざかって動いていることを示す。関節が関節限界に向かって動くとき、式（１３）の１行目の条件によって記述された、関連付けられた重み因子は、非常に大きくなりモーションを減速させる。関節が関節限界に概ね到達すると、重み付け因子は無限大に漸近するが、このことは、関節が仮想的に停止することに対応する。関節が関節限界から遠ざかって動いている場合、モーションを制約する又は不利にする必要はない。このシナリオでは、式（１３）の２行目の条件は、関節が自由に動くことを可能にする。したがって、ＷＪＬは、関節限界回避に使用され得る。
【００８３】
（自己衝突回避）
自己衝突回避は、１）接続された２つのセグメント間の衝突、２）接続されていない２つのセグメント間の衝突の２つのタイプのうちの１つとして分類され得る。セグメントが２つずつ接続されてペアになるということは、２つのセグメントは共通の関節において接続されていることを前提とし、その関節が回転することを保証する。
【００８４】
２つのセグメントが共通の回転関節で接続されている場合、すなわち、接続されたセグメントである場合、関節限界回避制約に関して詳しく前記したように、自己衝突は、関節範囲を限定することによって処理され得る。自己衝突回避のための関節制限は、解剖学上の関節限界に対応している必要はない。むしろ、自己衝突回避のための関節制限は、衝突が起こらない範囲を手動で確認することによって入手される値を有する、より保守的な仮想関節限界であってもよい。したがって、１つの回転関節で接続された２つのセグメントごとに、関節限界回避及び自己衝突回避が、前記と同じ技術を使用することによって実行され得る。
【００８５】
接続されていない２つの身体間、すなわち、関節を共有しない身体間の自己衝突の場合を考える。図７は、ある実施形態に係る、接続されていない２つの剛性身体７１０、７２０（すなわち、関節を共有しない身体）を示す。これらは、相互に衝突するのを回避するために方向を変更されている。一般的に、身体７１０（身体Ａとも呼ぶ）及び身体７２０（身体Ｂとも呼ぶ）は、両者とも動いていてもよい。
0005647155.tif 000022
２つの身体間の最短距離ｄ（ｄ≧０）は、ｐａ（７１２）及びｐｂ（７２２）の座標によって表され、その座標は、関節空間の基準フレーム内にある。２つの点ｐａ及びｐｂを衝突点とも呼ぶ。
【００８６】
0005647155.tif 000023
【００８７】
【数１４】
0005647155.tif 000024
【００８８】
身体Ａの実際の表面と身体Ａの仮想表面７３０との間の領域を、危険地帯７４０と呼ぶ。身体Ｂが静止している場合、ｐａにおけるモーションは、その方向が変更されて、危険地域７４０内に入り込むことを防止する。ｄ＜ｄｃであるとき、このように方向が変更される。
【００８９】
ある実施形態によれば、姿勢推定システム１００は、所望のタスク特徴ｐｄの軌跡を修正することによってｐａのモーションを制御する（方向を変更する）。
0005647155.tif 000025
【００９０】
0005647155.tif 000026
他の実施形態においては、図７に示されるように、衝突点ｐａにおける身体表面の接線の方向に沿って衝突点ｐａがスライドするように、衝突点ｐａの向きが変更される。
【００９１】
【数１５】
0005647155.tif 000027
【００９２】
前記のベクトルの方向変更を使用して、ｐａの衝突点モーションは、仮想表面の境界に沿ってガイドされ、その目標に向かう、より自然なモーションとなる。
【００９３】
0005647155.tif 000028
【００９４】
【数１６】
0005647155.tif 000029
【００９５】
式（１６）において、Ｊａ＝∂ｐａ／∂ｑは、衝突点ｐａにおけるヤコビアンであり、
Ｊ*ａは、重み付けされた減衰最小二乗逆数である。行列Ｓ＝ｄｉａｇ（ｓ１・・・ｓｎ）は、対角選択行列である。Ｊａのｉ番目の列の成分がすべてゼロである場合、ｓ１＝１
0005647155.tif 000030
【００９６】
式（１６）の物理的解釈は以下の通りである。
0005647155.tif 000031
Ｊａの任意のゼロ列（すべての成分がゼロ）は、関連付けられた自由度が、衝突点ｐａのモーションに貢献しないことを暗示している。式（１６）の第２項は、第１項の直交補間項であり、衝突点ｐａのモーションに影響を与えないこれらの関節速度を計算する。
【００９７】
式（１６）から計算された無衝突関節速度コマンドに基づいて、式（１７）のように、再設計された位置タスク記述子軌跡が計算されてもよい。
【００９８】
【数１７】
0005647155.tif 000032
【００９９】
パラメータが修正された閉ループ逆運動学方程式が、式（１８）によって与えられる。
【０１００】
【数１８】
0005647155.tif 000033
【０１０１】
式（１８）において、ｅ´＝ｐ´ｄ−ｐ´であり、Ｋ´は、適応的に変化する対角フィードバック利得行列である。距離ｄが減少するにつれて、その行列の値が減少する。現在時刻ｔにおけるｐ´ｄは、一次の数値積分によって計算されてもよい。
【０１０２】
【数１９】
0005647155.tif 000034
【０１０３】
0005647155.tif 000035
式（１７）に対する、ブレンドされた解が、式（２０）によって与えられる。
【０１０４】
【数２０】
0005647155.tif 000036
【０１０５】
式（２０）において、ｂは、式（２１）のＳ字状関数のような、適切なブレンディング関数である。
【０１０６】
【数２１】
0005647155.tif 000037
【０１０７】
式（２１）において、α及びδは、スカラパラメータであり、それぞれ、ブレンディング率及びブレンディング関数のシフトを調節するために使用される。ブレンディング関数の更なる情報は、“Real-Time Self Collision and Obstacle Avoidance”と題する２００８年１０月２４日出願の米国特許出願１２／２５７，６６４に記載されている。
【０１０８】
身体Ａが静止しており、身体Ｂが動いている場合も、前記した問題と同様である。身体Ａ及び身体Ｂの両者が動いているとき、方向変更ベクトルは、危険点ｐａ及びｐｂにおいて特定され、両者の危険点を制御するためにタスク付加が使用される。危険点における付加された速度ベクトル及びヤコビアンを、式（２２）によって記述する。
【０１０９】
【数２２】
0005647155.tif 000038
【０１１０】
【数２３】
0005647155.tif 000039
【０１１１】
式（１６）と同じ手順にしたがって、方向が変更された関節速度の解を求めることができる。
【０１１２】
【数２４】
0005647155.tif 000040
【０１１３】
方向が変更されたタスク記述子及び逆運動学的解法は、身体Ａのモーションのみが考慮されるときに記述されたのと同じ手順に従う。前記アルゴリズムを使用して、接続されていない身体間の衝突を防ぐ処理の更なる情報は、“Real-Time Self Collision and Obstacle Avoidance”と題する２００８年１０月２４日出願の米国特許出願１２／２５７，６６４に記載されている。
[実施例]
【０１１４】
開示される人間姿勢推定システムのある実施形態を、１つのＴＯＦカメラを使用してテストする。２つの人間身体モーションシーケンスをＴＯＦカメラによって取得し、人間姿勢推定システムに対して入力する。第１のシーケンスのスナップショットが、図８Ａに示されており、第２のシーケンスのスナップショットが、図８Ｂに示されている。図８Ａに示されているように、次の７つのキー特徴点が、第１のシーケンスのスナップショット内に、手動でラベル付けされている。すなわち、頭頂、左肩、右肩、左肘、右肘、左手及び右手である。これらのキー特徴点のＩＤＳＣ記述子が、ＩＤＳＣ見本集合を作成するために計算される。人間姿勢推定システムは、次に、輪郭点をサンプリングし、輪郭点のＩＤＳＣ記述子を、ＩＤＳＣ見本集合と比較することによって、第２のシーケンス内のキー特徴点を検出する。現物が８近傍画素の範囲内にあればよいとする比較によれば、人間姿勢推定システムの検出率は、８５％であった。検出されたキー特徴点の位置が、現物によって特定された実際の位置を中心とする４×４の領域内にある場合、キー点検出は、正しいものとして受け入れられる。検出結果の例が、図８Ｂに示されている。
【０１１５】
見本集合が、テスト画像の姿勢とは相当程度に異なる姿勢を有していた場合は、前記テスト結果は、非常に有望である。テストの更なる詳細については、２００９年２月２５日出願の米国特許仮出願６１／１５５，４３９を参照されたい。
【０１１６】
（追加的な実施形態）
前記の実施形態は、リアルタイムで特徴を検出し人間主体の身体姿勢を推定する姿勢推定システムを記述する。姿勢推定システムは動物のような他のモーション発生体の特徴検出及び姿勢推定にも使用され得ることが、当業者であれば理解できる。さらに、姿勢推定システムは、モーション再目標化、ロボットモーション生成及び制御、並びに、生体力学における関節トルク推定のような追加的な機能を提供し得る。例えば、姿勢推定システムの出力は、人間モーションを人間形ロボットにリアルタイムで移転するために効果的に使用され得る。
【０１１７】
ある実施形態においては、二次元人間シルエット上の輪郭点の二次元ＩＤＳＣ記述子に基づいて特徴点を検出する代わりに、又はそれに加えて、姿勢推定システムは、（例えば、深度画像内の）三次元人間形状上の表面点の三次元内側距離形状関係（球面形状関係、３ＤＩＤＳＣとも呼ぶ）を計算する。姿勢推定システムは、形状の表面に沿って表面点をサンプリングし、サンプリングされた表面点ごとに３ＤＩＤＳＣ記述子を計算し、３ＤＩＤＳＣ記述子を既知の特徴点の３ＤＩＤＳＣ見本集合と比較することによって、三次元人間形状の表面上の特徴点を検出し得る。
【０１１８】
開示されている発明の実施形態は、計算速度が速い、モデルベースの、制御理論アプローチを提供し、身体特徴を検出し、検出された身体特徴から人間姿勢を推定する。開示されている姿勢推定システムは、多くの従前のアプローチであれば困難であった異なるモーションシーケンスの姿勢の再構築に成功している。さらに、姿勢推定システムは、特徴の小さな集合から人間姿勢を確実に回復し得る。
【０１１９】
明細書の前記箇所のいくつかは、例えば、図３及び図４に記述されるような処理及び操作のような、アルゴリズム処理又はアルゴリズム操作の観点から実施形態を記述している。
【０１２０】
複数の図に跨って同様の参照番号が記される場合、それらは同一の又は機能的に類似した構成要素を意味する。同様に、複数の図に跨って、それぞれの参照番号の最も左の数字は、当該参照番号が最初に使用された図に対応している。
【０１２１】
本明細書において、“一実施形態”又は“ある実施形態”と言う場合は、本発明の少なくとも１つの実施形態に、その実施形態に関連して記述される１つの特徴又は構造が含まれていることを意味する。本明細書のあちこちに“ある実施形態では”という語が出現しても、必ずしも同一の実施形態を指しているわけではない。
【０１２２】
後記する詳細説明のいくつかの部分は、アルゴリズム用語や、コンピュータメモリ内のデータビット作業を示す象徴的な表現による。これらのアルゴリズム的な説明や表現は、情報処理分野の当業者が、自らの業績の要旨を、同分野の他の当業者に最も効率的に伝えるために用いる手段である。アルゴリズムとは、ここでは、そして一般的にも、ある所望の結果に至る複数のステップ（命令）の首尾一貫したシーケンスのことを言う。ステップとは、物理量に対する物理的操作を要求するステップのことである。通常、必ずしも必要条件ではないが、それらの数値は、記憶され、送信され、合成され、比較されかつ操作され得る、電子的、磁気的又は光学的信号の形を取る。これらの信号のことを、ビット、値、要素、シンボル、文字、語又は番号等と呼ぶことが主として用語の共通化の理由から便宜である。さらに、物理量に対する物理的操作を要求するステップの配列のうちいくつかのものは、一般性を失うことなく、モジュール又はコードデバイスと呼ぶことが便宜である。
【０１２３】
しかしながら、このような用語の全ては適当な物理量と関連付けられており、これらの物理量に付された単なる便宜的なラベルに過ぎない。後記において特段の説明がない限り、明細書本文全体を通じて、“処理”、“計算”、“算出”、“決定”又は“表示”等の用語を用いた説明は、（電子的な）物理量としてのデータを、コンピュータシステムのメモリ、レジスタ又は他の情報ストレージのなかで操作しかつ変形するコンピュータシステムや同様の電子的コンピューティングデバイスの動作や処理のことを言う。
【０１２４】
本発明のいくつかの側面は、アルゴリズムの形になったプロセスステップや命令を含む。本発明のプロセスステップや命令は、ソフトウエア、ファームウエア又はハードウエアによって実装され、ソフトウエアで実施される場合は、ダウンロードされることが可能であり、多様なオペレーティングシステムが用いる別のプラットフォームから操作されることも可能である。
【０１２５】
本発明は、操作を実行する装置にも関する。この装置は、所与の目的を達成する専用装置であってもよいし、コンピュータに記憶されたコンピュータプログラムによって動作する汎用コンピュータであってもよい。このようなコンピュータプログラムは、コンピュータが読取り可能な媒体に記憶され得る。その媒体とは、コンピュータシステムバスに接続可能な、フロッピーディスク（登録商標）、光ディスク、ＣＤ−ＲＯＭ、電磁光学的ディスク、ＲＯＭ、ＲＡＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、電磁的又は光学的カード、ＡＳＩＣ又は電子的命令を記憶し得るあらゆる媒体を含むが、これらに限定されない。さらに、本明細書で言うコンピュータは、単体のプロセッサを含んでもよいし、コンピュータ能力を増加させるために複数のプロセッサを用いた装置であってもよい。
【０１２６】
ここでいうアルゴリズムやディスプレイは、もともと特定のコンピュータや他の装置に関係している訳ではない。ここで教示される内容に従って、プログラムとともに多様な一般目的システムが使用され得る。又は、必要とされる方法ステップを実行するためにさらに特化した装置を作成することも便宜である。これらのシステムのそれぞれについてどのような構成が必要となるかは、後記する明細書本文から明らかになる。さらには、本発明は特定のプログラム言語を参照して記載されるものではない。本発明の教示を実施するために、多様なプログラム言語が使用され得る。後記において特定の言語に言及した場合、それは本発明の実施可能性及びベストモードを開示するためである。
【０１２７】
さらに、本明細書で使用される言語は、主として意味の取りやすさ及び教示目的から選択されているのであって、本発明の主旨を限定するために選択されているのではない。従って、本発明の開示は、特許請求の範囲にて記述されている本発明の範囲を例示するものであるが限定するものではない。
【符号の説明】
【０１２８】
１００  姿勢推定システム
１０２  ソースシステム
１０８  深度画像ストリーム
２０２  特徴検出モジュール
２０４  補間モジュール
２０６  欠落特徴付加モジュール
２０８  姿勢再構築モジュール
２１０  不明瞭部分解像モジュール
２２０  検出された特徴
２２２  補間された特徴
２２４  所望の特徴
２２８  予測された特徴
２３０  推定された姿勢
２４０、２５０  フィードバック経路
７１０、７２０  身体
７３０  仮想表面
７４０  危険地域
【図１】
0005647155.tif 000041
【図２】
0005647155.tif 000042
【図３】
0005647155.tif 000043
【図４】
0005647155.tif 000044
【図５】
0005647155.tif 000045
【図７】
0005647155.tif 000046
【図６】
0005647155.tif 000047
【図８Ａ】
0005647155.tif 000048
【図８Ｂ】
0005647155.tif 000049