(57)【特許請求の範囲】
【請求項１】
三次元点群によって表現される、三次元画像システムにより捕捉される三次元シーンの中のオブジェクトの骨格表現（１００）をフィッティングおよびトラッキングする方法であって、前記骨格表現（１００）は、複数の制御点（１１０、１１２、１１４、１１６、１１８、１２０、１２２、１２４、１２６、１２８、１３０、１３２、１３４）の配置を含んでおり、
ａ）前記シーンの前記三次元点群を使用して、前記シーンの中でフィッティングおよびトラッキングすべき前記オブジェクトに関係する入力情報を決めるステップと、
ｂ）前記フィッティングおよびトラッキングすべきオブジェクトを表現する前記三次元点群から得られる前記決められた入力情報を、前記三次元点群をグリッド（５２０）に投射することにより正投影表現に変換する（２２０）ステップと、
ｃ）前記フィッティングおよびトラッキングすべきオブジェクトの少なくとも一部の中心軸の位置を推定するために、前記正投影表現を用いて曲率中心の点（６２０）を決めるステップと、
ｄ）前記三次元シーンの中で前記フィッティングおよびトラッキングすべきオブジェクトを表現する前記複数の制御点（１１０、１１２、１１４、１１６、１１８、１２０、１２２、１２４、１２６、１２８、１３０、１３２、１３４）の位置を、前記正投影表現を用いて決めるステップと、
ｅ）時間に対する前記オブジェクトの前記骨格表現（１００）の前記位置を改良するために、前記三次元シーンの中の前記複数の制御点（１１０、１１２、１１４、１１６、１１８、１２０、１２２、１２４、１２６、１２８、１３０、１３２、１３４）をフィッティングおよびトラッキングするステップと、
を含むことを特徴とする方法。
【請求項２】
前記入力情報は、前記三次元点群の中の点のそれぞれのために決められる法線を含むことを特徴とする請求項１に記載の方法。
【請求項３】
ステップａ）は、少なくとも１つの着目したオブジェクトに対応する三次元点群を決めるステップを含むことを特徴とする請求項１または２のいずれか１項に記載の方法。
【請求項４】
ステップａ）は、前記フィッティングおよびトラッキングすべきオブジェクトの主方向を決めるステップを含むことを特徴とする請求項３に記載の方法。
【請求項５】
ステップａ）は、以前にいかなるオブジェクトもフィッティングおよびトラッキングされていない場合に、前記フィッティングおよびトラッキングすべきオブジェクトの骨格のポーズの表現を規定する前記制御点の位置の初期配置を空間内で決めるステップを含むことを特徴とする請求項３または４のいずれか１項に記載の方法。
【請求項６】
前記グリッドは、そのそれぞれが既定の大きさを有する複数のグリッドビン（５３０、５３２、５３４、５３６、５３８、５４０、５４２、５４４、５４６、５４８、５５０）を含み、前記三次元点群の前記グリッドへの投射は、空間における既定の静的な大きさによって前記オブジェクトの前記三次元点群をサンプリングすることを含むことを特徴とする請求項１ないし５のいずれか１項に記載の方法。
【請求項７】
ステップｂ）は、前記三次元点群の中の前記点に関する情報を、それが関連する前記グリッドビン（５３０、５３２、５３４、５３６、５３８、５４０、５４２、５４４、５４６、５４８、５５０）において、蓄積し、重み付けをするステップを含むことを特徴とする請求項６に記載の方法。
【請求項８】
グリッドビン（５４２）が空の場合、近隣の空でないグリッドビン（５４０、５４４）から補間された情報でそれを充填するステップをさらに含むことを特徴とする請求項７に記載の方法。
【請求項９】
ステップｃ）は、前記グリッドビン（５３０、５３２、５３４、５３６、５３８、５４０、５４２、５４４、５４６、５４８、５５０）によって提供され、前記グリッドビンから導き出される法線データから前記曲率中心の点（６２０）を決めるステップを含むことを特徴とする請求項６ないし８のいずれか１項に記載の方法。
【請求項１０】
ステップｃ）は、前記フィッティングおよびトラッキングすべきオブジェクトのそれぞれの部分の中心軸の体積を近似するために、それぞれの曲率中心の点（６２０）を接触する球（６１０）に関連付けるステップをさらに含み、それぞれの接触する球は、関連する曲率中心の点とフィッティングおよびトラッキングすべきオブジェクトの前記部分の表面上の既定の点との距離によって決められる半径を有し、その表面の法線上にあることを特徴とする請求項９に記載の方法。
【請求項１１】
ステップｃ）は、それぞれの曲率中心の点（６２０）とその関連する接触する球（６１０）とを、前記曲率中心の点と前記接触する球とが関連付けられた前記フィッティングおよびトラッキングすべきオブジェクトのそれぞれの部分の表面の凸性を示すタグに関連付けるステップをさらに含むことを特徴とする請求項１０に記載の方法。
【請求項１２】
ステップｄ）は、
ｄ１）制御点（１１０、１１２、１１４、１１６、１１８、１２０、１２２、１２４、１２６、１２８、１３０、１３２、１３４）のそれぞれの対の間の、少なくとも１つのセグメント（１５２、１５４、１５６、１５８、１６０、１６２、１６４、１６６）をフィッティングするステップ
を含むことを特徴とする請求項１ないし１１のいずれか１項に記載の方法。
【請求項１３】
ステップｄ）は、
ｄ２）前記オブジェクトの前記三次元点群の平面（１４０）を識別するステップ
を含むことを特徴とする請求項１２に記載の方法。
【請求項１４】
ステップｄ２）は、
ｄ３）前記フィッティングおよびトラッキングすべきオブジェクトの前記三次元点群の平面（１４０）を、前記平面（１４０）の表面の凸性を示す凸性タグを使用して識別するステップ
をさらに含むことを特徴とする請求項１３に記載の方法。
【請求項１５】
ステップｄ）は、
ｄ４）前記オブジェクトの主方向を識別するステップと、
ｄ５）前記オブジェクトの少なくとも１つの部分の前記位置を識別するステップと、
ｄ６）前記オブジェクトのそれぞれ部分の前記位置と、主方向とを、お互いに対して改良するステップと、
をさらに含むことを特徴とする請求項１３または１４のいずれか１項に記載の方法。
【請求項１６】
ステップｅ）は、前記トラッキングすべきオブジェクトの前記骨格表現の前記位置をフィッティングするために、識別される制御点（１１０、１１２、１１４、１１６、１１８、１２０、１２２、１２４、１２６、１２８、１３０、１３２、１３４）の特性を利用するステップを含むことを特徴とする請求項１ないし１５のいずれか１項に記載の方法。
【請求項１７】
前記利用される特性は、時間に対して決められる、位置、速度、加速度、および確率係数のうちの少なくとも１つを含み、前記確率係数は発生率と、成功率と、最小化効率の比とのうちの少なくとも１つであることを特徴とする請求項１６に記載の方法。
【請求項１８】
ステップｅ）は、時間に対して前記オブジェクトの前記骨格表現の前記ポーズをフィッティングするために、局所的な、および全体的なエネルギーの最小化の戦略の組み合わせを利用するステップを含み、前記局所的なフィッティングは、三次元点群で決められた予想位置を基準にして、以前の位置から前記骨格表現の制御点のそれぞれを再ポジショニングすることを含み、前記全体的なフィッティングは、前記骨格表現のすべての制御点を、互いに、および決定された全体的なポーズに対して、全体的に再ポジショニングすることを含むことを特徴とする請求項１ないし１７のいずれか１項に記載の方法。
【請求項１９】
前記エネルギーの最小化の戦略は、制御点と曲率中心の点との間の距離、現在の制御点と以前の骨格表現との間の距離、および制御点と前記フィッティングおよびトラッキングすべき前記オブジェクトの表面との間の距離のうちの少なくとも１つを利用することを含むことを特徴とする請求項１８に記載の方法。
【請求項２０】
ステップｅ）は、フィッティングおよびトラッキングの結果を最適化するために時間について決められた確率係数にしたがって制御点（１１０、１１２、１１４、１１６、１１８、１２０、１２２、１２４、１２６、１２８、１３０、１３２、１３４）の複数の可能性のある位置を評価するステップをさらに含むことを特徴とする請求項１８または１９のいずれかの１項に記載の方法。
【請求項２１】
ステップｅ）は、少なくとも１つの既定の基準にしたがって、局所的な、および全体的なエネルギーの最小化の両方を繰り返し実行するステップを含むことを特徴とする請求項２０に記載の方法。
【請求項２２】
前記エネルギーの最小化の戦略は、傾斜降下型のアルゴリスムを使って実行されることを特徴とする請求項１８ないし２１のうちのいずれか１項に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は三次元オブジェクトのモデリングに関し、特に、オブジェクトのモデリング、フィッティング、およびトラッキングの方法に関するもので、とりわけ、これに限る訳ではないが、三次元画像システムによって捕捉された距離画像の時系列におけるユーザの骨格表現を決定すること、フィッティングおよびトラッキングすることに関する。
【背景技術】
【０００２】
立体視カメラ、飛行時間型（ＴＯＦ）カメラ、および立体照明カメラなどの三次元（３Ｄ）画像システムは、１つのシーンにおける画像化された点それぞれについてＸ、Ｙ、Ｚ座標を少なくとも提供する２Ｄ画像である、距離画像の時系列を作成する。Ｘ、Ｙ座標は、カメラセンサのマトリックスアレイにおけるその画素の水平、垂直位置を示し、Ｚ座標は、そのシーンの中の画像化された点の、画像装置への距離を示し得る。あるいは、あるシーンにおける画像化された点のそれぞれは、３Ｄ空間における位置に対応するＸ、Ｙ、Ｚ座標、例えば、原点に基準点を有する３Ｄ座標系に対して表現される座標からなる。カメラの位置は、カメラの座標系を規定するために、基準点として選択され得る。しかしながら、あるシーンにおける画像化された点は、基準点がカメラ位置に設定されるのではなく、そのシーンにおける画像化された点のそれぞれのＸ、Ｙ、Ｚ座標が、いわゆるワールド座標系における現実の位置を表すように画像化される現実世界のシーンにおけるある点の位置に存在するように決定される、他の３Ｄ座標系でも表現され得る。特定の制限を含め、現実世界とカメラの座標系の間の変換は、特定の３Ｄ座標の幾何学的投影法を実行するために、例えば較正行列を用いる、数学的変換を適用することによって簡単に実施することができる。
【０００３】
どのような座標系を使っても、作成された距離画像は、特許文献１に述べられているような特定の２Ｄまたは３Ｄ分析方法を用いて、そのシーンにおける、関節で連結された人間の体や動物の体など、すなわちユーザを含むオブジェクトを検出し、ローカライズし、トラッキングし、分割し、分析するために処理することが可能である。そのような方法の１つの結果は、特に、一組の３Ｄポイントを、現実世界におけるそれぞれの人体またはオブジェクトを仮想世界において表現する点として画定するのに役立ち得る。
【０００４】
オブジェクトまたは少なくともユーザの体を表現するそのような３Ｄ点群を時間経過とともに処理することにより、モデルあるいはオブジェクトもしくは体のその他の種類の表現のマッピング、フィッティング、およびトラッキングが可能になる。例えば、現実世界におけるオブジェクトまたはユーザの動きについて、対応する、仮想世界におけるオブジェクトまたは体の仮想表現をモニターしまたは制御するために、人間の体、もしくはオブジェクトの骨格表現を、マッピングし、フィッティングし、およびトラッキングすることが可能である。これはモーションキャプチャと呼ばれる。
【０００５】
従来技術の画像処理技術においては、あるシーンでの骨格をトラッキングするための通常の方法は、骨格がトラッキングされるユーザに関連したマーカーの使用が必要であり、ユーザ自身よりもむしろそのマーカーがトラッキングされる。場合によっては、これらのマーカーは、スーツやユーザが身に着けている他のアイテムに取り付けられる。
【０００６】
より最近は、距離画像化装置の出力デ−タ、つまり、距離画像が、マーカーのない骨格のトラッキングのために使用され始めた。そのような画像装置を使うことによって、パターンマッチング技術を使用した身体部位認識と併せて、トラッキングは２Ｄまたは３Ｄの運動の検出と、一体化されたいくつかの推定技術に依存している。加えて、姿勢の認識と推定も、主として、モデルを利用したマッチング技術を使用する。
【０００７】
特許文献２には、距離画像から人間型の形態をモデリングするためのコンピュータにより実施される方法が開示されている。より具体的には、その方法は、人間型対象物の体を含むシーンの距離画像を受け取ることを含む。距離画像は画素の行列を含み、各画素はそのシーンのそれぞれの位置に対応し、基準位置からそれぞれの位置までの距離を示すそれぞれの画素値を有している。距離画像は、体の輪郭を発見するために分割され、引き続いて、考慮されている対象のトルソと１つ以上の肢部を識別するために処理される。距離画像における識別された肢部の少なくとも１つの配置を分析することによって、コンピュータ上で動くアプリケーションプログラムを制御するために、入力信号が生成される。
【０００８】
特許文献３には、骨格を距離画像から抽出する方法が記載されている。この方法は、頭部を有する人間型形態を含むシーンの距離画像の時系列を受け取ることを含む。距離画像は、それぞれの画素の奥行き値を有する画素の行列を含む。デジタルプロセッサは、距離画像の少なくとも１つを処理して、頭部の位置を発見し、その位置に基づいて、較正のポーズまたは姿勢で立っている人間型形態の寸法を推定する。プロセッサは、推定された寸法、身体部位の識別、および動きの推定方法を使用して、時系列にわたる人間型形態の動きを追跡する。
【０００９】
特許文献４では、人間の入力を処理するために、シーンの奥行き情報を捕捉するシステムと方法が使われる。シーンの奥行きの画像が、画像装置によって捕捉される。画像の捕捉は、シーンに対するカメラの方向に依存している。そして、奥行きの画像は、その奥行きの画像が人間と人間でないターゲットを含んでいるかどうかを判断するために分析される。例えば、奥行きの画像は、一人の人間のターゲットといくつかの人間でないターゲットを含む１つ以上のターゲットを含むことが可能である。１つの実施形態によれば、各ターゲットは塗りつぶされ、そのターゲットが人間のターゲットであるか否かを判断するためにパターンと比較される。もし奥行きの画像における１つ以上のターゲットが、人間のターゲットからなる場合、その人間のターゲットがスキャンされ、人間のターゲットの骨格モデルが、身体部位が識別される元となる人間のターゲットの２値マスクのスキャンに基づいて生成される。
【００１０】
特許文献５には、三次元（３Ｄ）環境における対象の動きをマーカーなしでトラッキングするための、画像処理に基づいた方法が開示されており、奥行き情報を含む入力画像が含まれている。この方法は、運動検出の原理を使用して、二次元（２Ｄ）の下部および上部の身体部位の検出ユニットを使用する。これらの検出ユニットは、空間において、３Ｄの身体部位の各々のための個々の候補の位置を特定するために下部および上部の身体部位モデルを使用する、いくつかの身体部位検出ユニットと関連している。いくつかの予想される体の姿勢にしたがって完全なモデルを描きだすために、モデルレンダリングユニットが使われる。
【００１１】
特許文献６には、アプリケーションインターフェースとともに奥行きセンサを使用する方法が開示されている。この方法は、人間型対象の体を含むシーンの距離画像にデータ処理を行うことを含む。上述の特許文献２で使用されるのと同様の方法において、距離画像は、画素の行列を含み、各画素は、シーンのそれぞれの位置に対応しており、かつ基準平面からそれぞれの位置までの距離を示すそれぞれの画素の奥行き値を有している。そして、距離画像は、人間型対象の体の少なくとも一部の骨格を抽出するようデジタルプロセッサで処理されが、その骨格はそれぞれの座標を有する多数の関節を含み、基準平面に対して少なくとも１０°回転させた体の前頭面を規定するために使われる、異なる各自の奥行き値を有する少なくとも２つの肩関節を含んでいる。アプリケーションプログラムインターフェース（ＡＰＩ）は、少なくとも、関節の座標を示す。
【００１２】
特許文献７には、カラー画像と深さ処理の組合せによって身体部位を追跡するための方法が開示されている。この方法は、画像処理技術に基づいており、人間の対象を含むシーンの奥行き画像を受け取ることと、人間の対象を含むそのシーンのカラー画像を受け取ることとを含む。対象の体の一部が、少なくとも１つの画像において識別される。深さ画像とカラー画像の両方の質が評価され、その質に応じて、１つの画像が、それらの画像中の体の一部の処理において支配的になるように選択される。識別された部分は、もう一方の画像からのサポートデータを使いながら、その支配的画像において位置決定される。
【００１３】
いくつかの既存の方法が、いくつかの特定の実施形態における骨格のマッピングを開示しているにもかかわらず、正しく対処されていない１つの重要な問題は、いつ、一つのシーンの画像化された点のそれぞれを表現する距離画像または対応する３Ｄ点群を使用して本来の距離画像の解像度とは独立に処理時間を有する頑強で効果的な方法を提供するか、とりわけ、いつ、頑強で効果的なフィッティングされた骨格に生の距離画像の完全処理を、低価格仕様のハードウエアのプラットフォームでリアルタイムに実行するかということである。
【００１４】
加えて、セグメントのかみ合わせを扱うことができ、関節の制限、速度の制約、衝突の制約を同時に考慮に入れることができる、いかなるオブジェクトのフィッティングおよびトラッキング方法も開示がない。さらに、いかなる既存の方法も、トラッキングすべきユーザまたはオブジェクトについて、形態学的に知ることなしに、姿勢のエラーから回復することができない。さらに、いかなる既存の方法も、骨格表現のフィッティングおよびトラッキングを改善するためにオブジェクトの部分の中心軸の推定を利用することはないし、また、多基準の繰り返しのエネルギーの最小化をフィッティング処理のために利用するということもない。
【先行技術文献】
【特許文献】
【００１５】
【特許文献１】国際公開第２０１１／０８０２８２号
【特許文献２】米国特許出願公開第２０１０／００３４４５７号明細書
【特許文献３】米国特許出願公開第２０１１／００５２００６号明細書
【特許文献４】米国特許出願公開第２０１０／０１９４８７２号明細書
【特許文献５】米国特許出願公開第２０１１／０２４９８６５号明細書
【特許文献６】米国特許出願公開第２０１１／０２９２０３６号明細書
【特許文献７】米国特許出願公開第２０１１／０２１１７５４号明細書
【特許文献８】国際公開第２００８／１２８５６８号
【特許文献９】国際公開第２０１１／０８０２８１号
【発明の概要】
【発明が解決しようとする課題】
【００１６】
したがって、本発明の目的は、対象物に取り付けるマーカーを必要とせずに、その対象物の骨格表現を作成し、フィッティングし、かつトラッキングするための方法を提供することである。
【００１７】
本発明の他の目的は、骨格表現のフィッティングおよびトラッキングを最適化するために、フィッティングおよびトラッキングすべきオブジェクトに対応する３Ｄ点群の正投影空間における投影を使用することである。
【００１８】
本発明の他の目的は、距離画像を使用して、オブジェクトの骨格表現を決定し、フィッティングし、トラッキングするための方法であって、そのオブジェクトの部位の中心軸の推定を、フィッティングを行うための種情報として使用する方法を提供することである。
【００１９】
本発明のさらなる目的は、距離画像を使用して、オブジェクトの骨格表現を決定し、フィッティングし、トラッキングするための頑強で効率的な方法であって、形態学的に知ることなしに、セグメントのかみ合わせ、関節の制限、速度の制約、衝突の制約、およびエラーの回復を扱うことのできる方法を提供することである。
【００２０】
本発明のさらなる他の目的は、局所的な、および全体的なレベルで、多基準のエネルギー最小化の方法を繰り返し使用して、オブジェクトの骨格表現の効果的なフィッティングおよびトラッキングを提供することである。
【課題を解決するための手段】
【００２１】
本発明の第一の態様によれば、三次元点群によって表現される三次元シーンの中のオブジェクトの骨格表現をフィッティングおよびトラッキングする方法であって、骨格表現は、複数の制御点の配置を含んでおり、ａ）シーンの中でフィッティングおよびトラッキングすべきオブジェクトに関係する入力情報を決めるために、そのシーンの三次元点群を使用するステップと、ｂ）シーンの中でフィッティングおよびトラッキングすべきオブジェクトの決められた三次元点群を、正投影表現に変換するステップと、ｃ）フィッティングおよびトラッキングすべきオブジェクトの少なくとも一部の中心軸の位置を推定するために、曲率中心の点を決めるステップと、ｄ）三次元シーンの中でフィッティングおよびトラッキングすべきオブジェクトを表現する複数の制御点の位置を決めるステップと、ｅ）時間に対するオブジェクトの骨格表現の位置を改良するために、三次元シーンの中の複数の制御点をフィッティングおよびトラッキングするステップと、を含む方法が提供される。
【００２２】
ここで使われる「オブジェクト」という用語は、無生物の物体、あるいは生命体を指し、人間、動物、またはロボットであり得る。
【００２３】
ここで使われる「骨格表現」という用語は、オブジェクトを表現し、その空間中での配置が、フィッティングおよびトラッキングすべきオブジェクトの姿勢を規定する、一組の制御点を指す。
【００２４】
本発明の方法は、フィッティングおよびトラッキングすべきオブジェクト、例えば人間ユーザの、三次元シーンの中の特定の骨格表現を、そのオブジェクトにマーカーを取り付けることなしに使用し、そのシーンの中の骨格表現を、時間を追ってトラッキングすることができるという利点を有している。
【００２５】
「トラッキング」という用語が、三次元シーンを捕捉する、カメラのような三次元画像装置に対するオブジェクトの相対的な動きを指すことは容易に理解されよう。これは、静止したオブジェクトであっても、もし、画像装置がそのようなオブジェクトに対して動いていれば、または、動きがなくとも、オブジェクトがある期間に少なくとも一度検知されれば、シーンの中でトラッキングすることができることを意味している。
【００２６】
本発明において考慮される骨格表現は、一組の制御点を用いる。画像装置によって捕捉される各フレームで処理される必要のある制御点の数は、この方法を実施するシステムの処理能力にしたがって、または表現すべき体のセグメントにおける正確性にしたがってと同じように、フィッティングおよびトラッキングすべきオブジェクトにしたがって事前に具体的に定義することができる。例えば、人間のユーザに関しては、１３個の制御点が、人間の骨格表現の適切な例示として考えられる。このように、制御点の数は、フィッティングおよびトラッキングすべきオブジェクトが、時がたっても常に同じタイプであると考える場合、例えば、システムが常に人間の骨格表現のフィッティングおよびトラッキングに使われる場合には、事前に決めておくことができる。しかし、シーンの中の検知されたオブジェクトを自動的に識別し、そして、制御点の数と配置の設定を含む最適な骨格表現を、フィッティングおよびトラッキングの対象として考慮されるべき識別されたものにしたがって設定するために、認識方法を使用することもできる。例えば、あるシステムが、時間経過とともに、一つのシーンの中の人間とロボットの骨格表現をフィッティングおよびトラッキングする必要があるかもしれない。そのシステムは、ロボットに対応するオブジェクトから、人間に対応するオブジェクトを検知し、認識し、区別し、それによって、それぞれの単一のオブジェクトのために正しい骨格表現を設定する。
【００２７】
好ましくは、ステップｃ）、ｄ）、ｅ）のそれぞれが正投影表現を使用することを含むということが理解されるだろう。
【００２８】
一つの実施形態では、三次元点群は、三次元シーンの距離画像から導き出すことができる。他の実施形態では、入力情報は、三次元点群におけるそれぞれの点のために決定される法線マップを、付加的に含んでいる。さらなる実施形態では、入力情報は、距離画像と法線マップの組合せを含むことができる。さらに他の実施形態では、入力情報は、フィッティングおよびトラッキングすべき既知のオブジェクトに対応する決定された骨格表現を含むことができる。
【００２９】
さらに、ステップａ）は、三次元点群から少なくとも１つの着目すべきオブジェクトを決定することを含むこともできる。これは、さらに、フィッティングおよびトラッキングすべきオブジェクトの主方向を決めることを含むことができる。他の実施形態では、これは、付加的に、フィッティングおよびトラッキングすべきオブジェクトを自動的に認識することと、もし、いくつかの種類のオブジェクトをそのシーンにおいてフィッティングおよびトラッキングしなければならない場合には、それに応じて、このオブジェクトの骨格表現を決めることとを含むことができる。
【００３０】
一つの好ましい実施形態では、ステップａ）は、以前にいかなるオブジェクトもフィッティングおよびトラッキングされていない場合に、フィッティングおよびトラッキングすべきオブジェクトの骨格のポーズの表現を規定する制御点の位置の初期配置を空間内で決めることを含むことができる。
【００３１】
好ましくは、ステップｂ）は、フィッティングおよびトラッキングすべきオブジェクトの三次元点群を、そのそれぞれが既定の大きさを有する複数のグリッドビンを含むグリッドに投射することを含み、その投射は、空間における既定の静的な大きさによってオブジェクトの三次元点群をサンプリングする。
【００３２】
加えて、ステップｂ）は、三次元点群の中のそれぞれの点に関する情報を、それに関連するグリッドビンに、蓄積し、重み付けをすることを含む。一つの実施形態では、この方法は、グリッドビンが空の場合に、近隣の空でないグリッドビンから補間された情報で、それを埋めることを、さらに含む。
【００３３】
好ましくは、ステップｃ）は、その位置が、正投影表現のグリッドビンによって好ましくは提供される法線データを使うことによって推定される、オブジェクトの部分の曲率中心の点を決めることを含む。
【００３４】
ステップｃ）は、フィッティングおよびトラッキングすべきオブジェクトのそれぞれの部分の中心軸の体積を近似するために、それぞれの曲率中心の点を接触する球に関連付けることをさらに含むことができる。
【００３５】
好ましくは、ステップｃ）は、それぞれの曲率中心の点とその関連する接触する球とを、それらと関連付けられたフィッティングおよびトラッキングすべきオブジェクトのそれぞれの部分の表面の凸性を示すタグに関連付けることを含む。表面の凸性は、平坦な表面、凹表面、および凸表面のうちの１つに分類することができる。特に、平坦な表面は、人間のユーザのトルソに対応することができ、凸表面は、人間のユーザの肢部の一部に対応することができる。凹表面は、効率的な人間の骨格のフィッティングおよびトラッキングを考える時は特に、常に適切と考えなくてもよいかもしれない。
【００３６】
好ましくは、ステップｄ）は、もし、オブジェクトが以前にフィッティングおよびトラッキングされている場合は、以前のフレームに設定された骨格表現を使って、あるいは、もし、以前にいかなるオブジェクトもフィッティングおよびトラッキングされていない場合には、ステップａ）で決定された初期の骨格表現を使って、制御点の位置を決定することを含む。
【００３７】
好都合には、ステップｄ）は、ｄ１）隣接する制御点のそれぞれの対の間の、少なくとも１つのセグメントをフィッティングするステップをさらに含む。
【００３８】
加えて、ステップｄ）は、ｄ２）オブジェクトの中の平面を識別するステップをさらに含む。
【００３９】
その上、ステップｄ２）は、ｄ３）凸性タグを使用してフィッティングおよびトラッキングすべきオブジェクトの三次元点群の平面を識別するステップをさらに含んでもよい。
【００４０】
なおその上に、ステップｄ）は、ｄ４）オブジェクトの主方向を識別するステップと、ｄ５）オブジェクトの少なくとも１つの部分の位置を識別するステップと、ｄ６）オブジェクトのそれぞれの部分の位置と、主方向とを、お互いに対して改良するステップと、をさらに含んでもよい。
【００４１】
オブジェクトが、例えば、人間のユーザといった、生物である１つの実施形態では、ステップｄ２）は、平面をトルソとして識別することを含むことができ、ステップｄ５）は、頭部に対応する身体部位を識別することを含むことができる。
【００４２】
一つの実施形態では、ステップｅ）は、トラッキングすべき骨格表現の位置をフィッティングするために、識別された制御点の特性を利用することを含む。利用される特性は、時間に対して決められる、位置、速度、加速度、および確率係数のうちの少なくとも１つを含むことができる。
【００４３】
加えて、ステップｅ）は、時間に対してオブジェクトの骨格表現のポーズを繰り返しフィッティングするための局所的な、および全体的なエネルギーの最小化の戦略の組み合わせを利用することを含むことができる。エネルギーの最小化の戦略は、物体までの距離、以前の骨格までの距離、およびシルエットまでの距離のうちの少なくとも１つの基準を含むことができる。好ましくは、エネルギーの最小化の戦略は、物体までの距離、以前の骨格までの距離、およびシルエットまでの距離の基準のすべてを使う。
【００４４】
ステップｅ）は、フィッティングおよびトラッキングの結果を最適化するために時間について決められた確率係数にしたがって複数の可能性のある制御点の位置を評価することをさらに含むことができる。一つの好ましい実施形態では、ステップｅ）は、少なくとも１つの既定の基準にしたがって、局所的な、および全体的なエネルギーの最小化の両方を繰り返し実行することを含む。
【００４５】
加えて、エネルギーの最小化の戦略は、傾斜降下型のアルゴリスムを使って実行されることができる。
【００４６】
さらに、ひとたび骨格がトラッキングされると、各制御点の位置は、好ましくは、骨格の動きのぎくしゃくした不自然な表現を避けるために、さらなるステップにおいて安定化させることができる。
【００４７】
さらなるステップにおいて、トラッキングが成功しなかった骨格の制御点の適切な位置を生成するために、仕上げ技術を用いることができる。そのような技術は、例えば、曖昧な既知のオブジェクトの姿勢が原因のトラッキングエラーを補うためにおよび／または、エネルギー最小化の後に骨格の欠如した部分に三次元点群を植えつけて三次元シーンを捕捉する画像装置には見えない骨格の部分を補うために、使うことが可能である。
【図面の簡単な説明】
【００４８】
本発明をより良く理解するために、ほんの一例として、以下の添付された図面を参考にする。
【図１】本発明によるトラッキングに使用される人体の骨格表現を図示する。
【図２】本発明による全体的な人体の骨格トラッキング処理のフローチャートを示す。
【図３】水平および垂直の勾配から法線マップを導き出すことなどの画像処理を施すために距離画像に適用される３×３の核を図示する。
【図４】図３のグリッドアレイの２つの隣接するグリッド要素に対して、Ｚ軸とＸ軸のそれぞれに沿った、奥行きのΔＺｘとΔＺｙの勾配を示す距離画像の上面図を示す。
【図５】ユーザの点群の正投影表現への投影の一部としての、仕分け（bin filling）の原則を示す。
【図６】ユーザの身体部位の中心軸の体積を表現するために使われる接触する球の２Ｄの図であり、その接触する球の中心は、法線マップから近似された曲率中心の点に対応している。
【図７ａ】本発明による正投影ユーザグリッド（ＯＲＵＳ）を図示する。
【図７ｂ】本発明による曲率中心の点とそれに関連する接触する球を図示する。
【図７ｃ】図７ａの正投影ユーザグリッドと、図７ｂの曲率中心の点とそれに関連する接触する球の組合せを図示する。
【図７ｄ】本発明によるフィッティング処理の結果として、接触する球の輪郭が、骨格によって置換された、図７ａの正投影ユーザグリッドを図示する。
【図７ｅ】ユーザに対応する３Ｄ点群を図示し、ここでは、本発明によるフィッティングされた骨格モデルと一緒に、曲率中心の点が一組の接触する球によって表現されている。
【図８ａ】ユーザの３Ｄ点群の重心位置を原点として用いたユーザ中心放射距離の計算原理を図示する。
【図８ｂ】図８ａに示すように測定された放射距離から決定されたプロフィールを図示する。
【図９】本発明による骨格表現のフィッティングおよびトラッキング処理において用いられる、繰り返しの局所的および全体的のエネルギー最小化の原理を図示する。
【発明を実施するための形態】
【００４９】
本発明は、特定の実施形態にについて、特定の図面を参照して記述されるが、本発明はそれらに限定される訳ではない。説明される図面は単なる概略図であって、限定的ではない。図面においては、要素のいくつかのサイズは誇張されている可能性があり、図示目的で縮尺通りに描かれている訳ではない。
【００５０】
ここで使われる「垂直」「水平」の用語は、図面の特定の方向を言及するものであって、ここで説明される特定の実施形態を限定するものではないことは、理解されるだろう。
【００５１】
また、骨格のフィッティングおよびトラッキングの方法を人間の体の骨格を参照して説明しているが、これに限る訳ではなく、それが生物であるか否か、および／または関節で接合されているか否かに関係なく、その他の種類のオブジェクトとともに用いることができることも理解されるだろう。
【００５２】
図１は、仮想環境にある人間をフィッティングおよびトラッキングするために使われる骨格表現１００を示している。骨格表現１００は、いくつかの制約と既定数の自由度を有する制御点または関節の集合の間の、関節で接合された剛体の集合からなる。より具体的には、骨格表現１００は、図示されるように、パッチ（patch）１４０を画定する１３個の制御点１１０、１１２、１１４、１１６、１１８、１２０、１２２、１２４、１２６、１２８、１３０、１３２、１３４と、９個のセグメント１５０、１５２、１５４、１５６、１５８、１６０、１６２、１６４、１６６とを備えることができる。パッチ１４０とセグメント１５０、１５２、１５４、１５６、１５８、１６０、１６２、１６４、１６６は、骨格表現１００の中の、１０個の固体部分または剛体と考えることができる。
【００５３】
これらの固体部分と剛体は、例えば、それらの表現が不自然な姿勢やポーズにしたがって互いに交差しないことを保証する衝突制限を含むことが可能である。制御点１１０、１１２、１１４、１１６、１１８、１２０、１２２、１２４、１２６、１２８、１３０、１３２、１３４の各々は、例えば仮想環境の中での３Ｄの位置決めの自由度と関連することが可能な、３つの自由度のみを備えることができる。
【００５４】
人間の骨格がフィッティングおよびトラッキングされる一つの特定の実施形態においては、人間の骨格表現を、それぞれが３自由度、すなわち、各々の３Ｄ位置を有する１３個の制御点だけに限定することにより、人間の骨格の行動のリアルな表現を維持しながら、３以上の自由度を有するより多くの制御点を使う場合よりも、より効果的なフィッティングおよびトラッキング処理を行うことが可能となる。制御点の数が多いほどおよび／または自由度の数が多いほど、これらの制御点の最もリアルなポーズを、ユーザを表現する３Ｄ点群にフィッティングするために必要な複雑さは高まり、それと共に、最良のフィッティングされたポーズの解に数学的収束する速度が遅くなる。しかしながら、１３個の制御点の使用は、人間の骨格表現のために好ましい実施形態に対応するが、トラッキングすべき、関節で接合されたオブジェクトにしたがって、例えば、関節の数と表現すべきセグメントの数にしたがって、またはプラットフォームの性能にしたがって、その他の適切な制御点の数および／または自由度を選択することができる。例えば、他の実施形態において、肢部先端部のより優れたレンダリングを提供するように、すなわち、手または足に対応する各々の以前の制御点が、それぞれ、足首と足の先端部および手首と手の先端部に対応する２個の制御点で取って代わられるように、人間の骨格表現は１７個の制御点を備えてもよい。
【００５５】
１３個の制御点を使う人間の骨格のフィッティングおよびトラッキングの特定の実施形態においては、各制御点１１０、１１２、１１４、１１６、１１８、１２０、１２２、１２４、１２６、１２８、１３０、１３２、１３４、各セグメント１５０、１５２、１５４、１５６、１５８、１６０、１６２、１６４、１６６、およびパッチ１４０は、上述のように、好適な３Ｄ画像装置により決定される３Ｄ点群において、ユーザに対応する点にマッピングされる。
【００５６】
制御点１１０、１１２、１１４、１１６、１１８、１２０、１２２、１２４、１２６、１２８、１３０、１３２、１３４は、骨格の部位または関節に効果的に対応し、点１１０は頭部に対応し、点１１２、１１４は手または手首に対応し、点１１６、１１８は肘に対応し、点１２０、１２２は肩に対応し、点１２４、１２６は足または足首に対応し、点１２８、１３０は膝に対応し、点１３２、１３４は臀部に対応している。
【００５７】
パッチ１４０は、トルソを画定するためにあわせて結合された４つの制御点１２０、１２２、１３２、１３４、すなわち、肩１２０、１２２および骨盤１３２、１３４を含んでいる。
【００５８】
セグメント１５０、１５２、１５４、１５６、１５８、１６０、１６２、１６４、１６６は、頭部（点１１０）をトルソ（パッチ１４０）に結合して、首を近似するセグメント１５０の例外はあるが、互いに結合されている制御点の対の間の組立てに対応し、セグメント１５２、１５４は、手または手首と肘（それぞれ、点１１２、１１６、および１１４、１１８）の間の前腕におよそ対応し、セグメント１５６、１５８は、肘と肩（それぞれ、点１１６、１２０、および１１８、１２２）の間の上腕におよそ対応し、セグメント１６０、１６２は、足または足首と膝（それぞれ、点１２４、１２８、および１２６、１３０）の間の下腿におよそ対応し、セグメント１６４、１６６は、膝と臀部（それぞれ、点１２８、１３２、および１３０、１３４）の間の太ももにおよそ対応している。
【００５９】
図２を参照すると、３Ｄシーン内で時間経過とともに自由に動くユーザの骨格表現を提供する処理におけるステップを図示するフローチャート２００が示されている。骨格のフィッティングおよびトラッキングは、３Ｄ画像システムによって提供される３Ｄ点群を使って実行され、骨格表現は、それが時間経過にわたるユーザの現実の動きと一致するように計算される。最初のステップ、ステップ２１０は、シーンの中のユーザを画像化する距離画像、ユーザマスクと対応するユーザの３Ｄ点群、可能性あるユーザ頭部の位置と可能性あるユーザの主方向の位置などの入力データが提供され、改良される初期化ステップである。特に、ステップ２１０は、フィッティングおよびトラッキングされるべきオブジェクトにしたがって、制御点の数に関するおよびそれらの制御点の空間における配置に関する、骨格表現の決定を含む。フィッティングおよびトラッキングされるべきオブジェクトが既知であり、時間経過とともに決して種類を変えない場合、例えば、シーンの中で人間をトラッキングして、それらを表現する３Ｄ点群上にそれらの骨格表現をフィッティングするときは、その決定は手動で事前に指定することができる。決定はまた、着目したオブジェクトが、複数の既知のオブジェクトのうちの１つの対象として、検出され、認識され、識別されるときには、ランタイムで、自動的に規定することができる。例えば、それに限る訳ではないが、２Ｄや３Ｄのマッチング技術を含む最先端の認識方法を、シーンの中の異なる生物のまたは無生物のオブジェクトを識別するために用いてもよい。着目したものと考えられるべきオブジェクトにしたがって、識別から、フィッティングおよびトラッキングのための各々の骨格表現を決定してもよい。
【００６０】
ステップ２１０は、フィッティングおよびトラッキング処理を始めるために、決定された骨格表現の基本的な初期ポーズのシステマティックでない決定をも含む。「システマティックでない」という用語は、骨格表現のそのような生のまたは基本的な初期ポーズの決定が、オブジェクトが検出され、かつ以前の骨格表現が利用できないときに行われるという意味である。例えば、人間のユーザがトラッキングされているとき、頭部の検出と位置決めは、人間ユーザの初期の主方向を提供するのに役立つ可能性がある。主方向は、頭部と、ユーザの３Ｄ表現の重心を通る方向であると考えることができる。
【００６１】
人間ユーザの主方向の決定は、各々が三次元空間における少なくとも一組の座標を有する複数の点を表現する３Ｄ画像データが、３Ｄ画像システムを使って捕捉される特許文献８に記述されているように、着目すべきオブジェクトをクラスターの集合に細分化することを用いて達成することができる。点は、クラスターの組を形成するようグループ分けされ、そのクラスターの組から、着目すべきオブジェクトが、既定のパラメータにしたがって、例えば、位置、大きさ、および形状にしたがって選択される。着目すべきオブジェクトに関係するクラスターは、さらなるパラメータの組、例えば、３Ｄ空間における位置および／または色彩にしたがって、サブクラスターの集合にグループ分けされる。それぞれのサブクラスターは、３Ｄ空間における図心を有しており、体積とこれらのサブクラスターの図心のそれぞれを関連付けることによって、着目すべきオブジェクトの表現を得ることができる。そのような表現と、サブクラスターの位置から、主方向と、トラッキングすべきオブジェクト、この場合は、人間ユーザの骨格表現のための初期ポーズも推定することが可能である。例えば、生の初期ポーズにより、体の先端部、すなわち、決定された主方向のためにその位置が明確である、単一の他のクラスターと結合され、頭部、手、および足と対応しているクラスターの位置決めを考えることができる。
【００６２】
初期化ステップ２１０は、別のプリセットステップ２２０と同様に、実際のフィッティングおよびトラッキングステップ２３０の前に行われる。特に、プリセットステップ２２０は、処理においてそれに続くフィッティングおよびトラッキングステップの最適化のために必要である特定の特性を生成する目的があり、すなわち、ステップ２３０における、時間経過にわたるユーザの骨格表現のより良いフィッティングおよびトラッキングを可能にする特定かつ必須な入力を提供するために、距離画像に埋め込まれている３Ｄ点データの正投影を実行する目的がある。
【００６３】
フローチャートに戻って、次のステップ２３０は、骨格の表現のフィッティングおよびトラッキングステップに対応している。そして、次のステップ、すなわち、安定化ステップ２４０は、骨格表現におけるぎくしゃくした不連続の動きを無効にするために行われる。そして、さらなる仕上げステップ２５０は、トラッキングを阻害するかもしれない、可能性ある曖昧な姿勢の集合のために、制御点を、特定の位置に再び向けるために行われ、出力改良ステップ２６０は、最後に、既定の仕様の集合にしたがって、例えば、骨格表現に関係するデータを、特定アプリケーションに適したメートル系に変換して、処理済みデータ出力を生成するために実行される。上記のように、シーンの画像化された点のそれぞれは、３Ｄ空間におけるその位置に対応するＸ、Ｙ、Ｚ座標であって、原点、つまり、基準点を有する３Ｄ座標系に対して表現される座標を備える。カメラの位置は、カメラ座標系を規定するために、基準点として選択されてもよい。データを変換する１つの例は、カメラ座標系と現実世界またはデカルト座標系との間であるかもしれない。
【００６４】
初期化ステップ２１０に戻ると、入力データは、距離画像、ユーザマスク、および／またはユーザ３Ｄ点群、距離画像から抽出された法線マップ、ユーザ３Ｄ点群の主方向、他の独立した方法から抽出された頭部位置、着目すべき点の集合、例えば、特許文献８に記されるようなクラスター化方法で規定される図心（ここでは、「キー点」とも呼ばれる）や、３Ｄ点群の重心を含むことができる。
【００６５】
上述のように、距離画像は、他の情報のうちの距離データを提供する。距離データは、通常、奥行感知（または３Ｄ画像化）カメラ装置によって捕捉されたシーンを表現する３Ｄ点群において３Ｄ点の各点のＺ座標に埋め込まれている。距離データは、シーンにおける画像化された点のそれぞれと、例えば、カメラ装置の位置またはシーンの中のあらかじめ定義された他の基準位置であり得る、他の基準位置との間の測定距離に対応している。そして、ユーザマスクまたは対応するユーザ３Ｄ点群は、どの画素が、ユーザに、またはその骨格がフィッティングおよびトラッキングされるべき関節で接合されたオブジェクトにそれぞれ属しているか正確に規定するように決められる。そのような決定は、特許文献１に詳細に述べられているような専用の方法を使用して実行することができる。特許文献１には、３Ｄ点群の中の画素が共通の図心を有する複数の領域にグループ分けされ、そして、それらの領域が相互に結合された領域のクラスターにグループ分けされる、オブジェクトのトラッキング方法が述べられている。それらの相互結合の空間的・時間的特性から、クラスターは、同じオブジェクトに属しているかどうか、およびそのオブジェクトは、２Ｄ投影において他のクラスターによって部分的にかみ合わされているかどうかを決定するために評価される。
【００６６】
初期化ステップ２１０は、さらに、法線マップをサポートしている場合は、入力センサから直接得られる、またはそうでない場合には、距離画像から計算される法線マップを決定すること、あるいは改良することを含む。後者の場合は、決定された法線マップは、図３、４を参照にして以下に述べるように、固定された大きさの核に対して、距離画像における水平と垂直の勾配を使用することにより、距離画像から抽出することができる。例えば、局所的にフィッティングされた平面または画素の集合または畳み込みのマスクに属する各中心画素の法線を規定することを含むことが可能である、法線マップを決定するための他の方法が知られている。
【００６７】
特に、図３に図示された一実施形態に関しては、それぞれの画素ために、Ｘ軸とＹ軸のそれぞれに沿って、ΔＺｘとΔＺｙの奥行き勾配の決定を行うために、９個のグリッド要素、あるいは画素３１０、３２０、３３０、３４０、３５０、３６０、３７０、３８０、３９０を含む３×３のグリッドアレイ３００、すなわち、核を、畳み込みのマスクとして距離画像に適用することができる。そして、これらの勾配から、いくつかの他の演算のうち、各画素のための局所的な表面の方向と対応する法線とが近似される。
【００６８】
図４は、表面４３０を有するオブジェクトであって、距離画像において画像化されているオブジェクトを有する３Ｄシーンの上面図４００を示す。図３の畳み込みのマスク３００をその距離画像に適用することによって、各画素の奥行き勾配を決定することができる。例えば、単一の次元においてＸ軸だけを考えると、オブジェクト点４１０は、画素３５０によって核において画像化され、距離画像において画像化された点４２０は、画素３６０によって核において画像化されている。すると、点４１０におけるΔＸを表現する、点４１０と４２０との間の奥行きの勾配ΔＺｘを決めることができる。点４１０でのΔＺｙを決めるために、同様な操作をＹ軸と核の点３２０に関して行うことができる。そして、点４１０におけるΔＺｘとΔＺｙは、それぞれの画素のための局所的な平面の方向を近似するために、入力として使われ、法線を抽出することができる。
【００６９】
初期化ステップ２１０はさらに、３Ｄ点群の重心の位置を決定しあるいは改良することを含む。重心は、当業者にとっては明らかであろう多くの方法で決定することができる。
【００７０】
初期化ステップ２１０はさらに、例えば、３Ｄ点群の主成分分析（ＰＣＡ）を使って得られる、ユーザの主方向を決め、あるいは改良することを含む。
【００７１】
初期化ステップ２１０はさらに、当業者には既知である好適な方法を使うことによって、頭部の位置を決め、あるいは改良することを含む。
【００７２】
入力データを改良し決定することとは別に、初期化ステップ２１０はまた、以前に骨格表現がなされなかった場合には、続くフィッティングおよびトラッキングステップのための正しい開始位置を提供するために、ユーザの３Ｄ点群にしたがって骨格表現の現実的な初期位置を設定することを目的とする。初期化は、トラッキングすべきユーザ／オブジェクトが特定のポーズで立っていることは要求しないが、ユーザ／オブジェクトの部位間に曖昧でない相対位置、例えば、これに限定する訳ではないが、腕を交差しない、脚を交差しない、すべての肢部はできるだけかみ合わせの少ない状態で可視であることを必要とする。ユーザ／オブジェクトのポーズが簡単にあればあるほど、ポーズの初期化はより早く、正しい骨格表現のポーズに収束する。このポーズの初期化ステップは、次のサブステップを含む。
１）入力を準備する、
２）最良の頭部の候補を決める、
３）トルソを外挿して推定する、
４）初期の骨格のポーズを決定する。
【００７３】
入力を準備することに関係して、ユーザ３Ｄ点群に均一に散らばった着目すべき点、すなわちキー点の集合に関する統計が、例えば、位置、画素の数、第一次と第二次の運動データ、図心の接続性、領域が隣接していること、隣接した図心、隣接した図心間の距離などの情報を決定するクラスター化アルゴリスムによって生成された図心を使って収集される。角度は、それぞれのキー点とそれが隣接するものとの対の組合せのそれぞれの間で決めることもでき、キー点および／または図心は、ポーズ識別処理で使われるように、以下に詳細に述べる３つのカテゴリーのうちの一つに分類され、例えば、重心位置と結びつけた頭部位置決め技術を使って、あるいはラインフィッティング技術を使って、あるいはＰＣＡまたは同様の平面／形状フィッティングアルゴリスムを使用して、あるいはトルソに属すると分類されるキー点を使用して、ユーザの体の主方向が決められる。
【００７４】
三つのカテゴリーは、「先端部」、すなわち可能性のある頭部、手、または足、「肢部」、すなわち可能性のある肘または膝、脚、腕、「トルソ」のうちの１つとして規定される。「先端部」のカテゴリーは、非常に鋭角度を有する、および／または、たった１つの隣接物を有するかおよび／または隣接物を全く有さない、キー点および／または図心を含む。「肢部」のカテゴリーは、先端部ではなく、かつ、二つの隣接物の間に位置する図心である、キー点を含む。「トルソ」のカテゴリーは、先端部または肢部として分類されないキー点および／または図心を含む。
【００７５】
頭部の候補は、適切な頭部検出アルゴリスムを使用して決められる。頭部候補の決定は次の条件が満たされることを要求し、すなわち、候補は「先端部」でなければならず、その候補は現実世界の座標系に対して最も高い点のうちの１つでなければならず（較正があると仮定して）、その候補は「トルソ」のカテゴリーに分類されるいくつかの点に結合されていなくてはならず、その候補はユーザの主要な体方向と緩く一致していなくてはならない。
【００７６】
可能性のある頭部の候補のそれぞれについて、骨盤の位置、左右の肩および左右の臀部からなる、外挿されたユーザのトルソが決められる。トルソの外挿は、ユーザは立っていると仮定し、最も高い頭部候補の点からユーザの身長を得て、ユーザの身長にしたがってトルソのプロポーションとスケールを規定することによってなされる。これらの初期のプロポーションは初期化ステップによって使われるのみであり、ユーザの現実の寸法が次第に改良されうる骨格フィッティング最適化ループによって、後に変更することができる。
【００７７】
以前に分類した個々のキー点または図心のそれぞれを使って、骨格表現の初期ポーズが、分類されたキー点および／または図心に最もフィットする制御点の特定の配置として考慮される。そして、骨格表現、すなわち、制御点は、識別されたキー点および／または図心のそれぞれの位置にしたがって、フィットおよび／またはマッチさせられなければならない。
【００７８】
初期ポーズの検出を決める方法は、以前に計算した情報を完全に使用しながら、ポーズの評価の回数を最小限にすることを目的とする。一実施形態によれば、ポーズの検出は、探査／活用戦略（exploration-exploitation strategy）または完全後戻り探査（full backtracking exploration）であってもよい。
【００７９】
ポーズを決めるために、キー点および／または図心のそれぞれは、頭部、トルソ、左右の腕、左右の脚の身体部位と関連させられている。これらの関連は、必ずしもそれに限る訳ではないが、上記の（入力を準備する）ポーズ推定ステップ２１０でなされた最初のキー点の分類を使って生成される。一つの関連付けがなされると、それがいくつかの標準的な人間の関節と形態学的制約を満足する場合のみ、特定の腕または脚の配列の評価が保持される。処理中にできるだけ早く、これらの評価ステップを実行することによって、探査すべきサーチ空間は劇的に小さくされる。保持される完全なポーズは、最も満足するキー点および／または図心の身体部位との関連を提供するポーズである。
【００８０】
例えば、一実施形態では、トップダウン後戻り探査が、識別された頭部の候補と、対応するトルソのキー点の候補とから始まってもよい。そして、可能性のある互換性ある全身のポーズは、様々な戦略または様々な戦略の組合せを使って、他のキー点、基本的には肢部を探索することによって決められる。
（ｉ）第一の戦略では、「肢部」として分類されるキー点のそれぞれが、可能性のある足および／または手であるとして探索され得る。そして、キー点の結合に関する情報からなる領域隣接関係グラフ（region adjacencies graph、ＲＡＧ）が、手や足に対応する可能性のある候補の間や、それらがリンクした最も近いトルソのキー点の候補の間の肘や膝を探索するのに使われ得る。
（ｉｉ）別の戦略では、「肢部」のカテゴリーに属するキー点も、可能性のある肘または膝であるとして探索されることができ、さらに、ＲＡＧが、可能性のある肘と膝の候補から、可能性のある手および足の候補を探索するために、または検証に役立てるために使われ得る。
【００８１】
さらに１つの実施形態では、特定の探索戦略の変更は、単独で、または他の戦略との組合せで、条件付きで実行してもよい。例えば、ユーザが体に沿って腕をまっすぐにして立っている可能性が高い場合には、１つの特定の戦略が、最良のキー点の候補の配置を探索するために用いられ得る。
【００８２】
さらに別の実施形態では、付加的な制約を、キー点の位置に関して、制御点の配置に適用される特定の制約を使用することによって、間違ったポーズの候補を排除するために、使うことができる。例えば、関節の限界、および大まかな肢部の長さの制約は、ポーズの候補を認めるかまたは拒否するために考慮することができる。
【００８３】
図２に戻ると、プリセットステップ（ステップ２２０）は、フィッティングおよびトラッキングステップ２３０の前に、既定量の画素またはビン（bin）を有するグリッドでの距離画像の正投影を生成することを含む。これらのビンの各々は、フィッティングしトラッキングすべきオブジェクトに対応する、３Ｄ点に関係する情報を収集する。この情報は、奥行きの測定値、ＩＲ照度値、法線ベクトル、および／またはこれらの測定値、数値、および／またはベクトル等の統計上のモードであってもよい。
【００８４】
情報をビンに収集することは、オブジェクトの３Ｄ点に対応するデータをビンに収納することによってなされる。各ビンは、その空間におけるこれらの点の、画像センサやカメラのような画像装置からの距離によって、そのオブジェクトのいくつかの３Ｄ点から情報を収集することができる。これは、３Ｄ点群が、解像度が固定されている２Ｄ画像センサによってサンプリングされ、結果として、画像センサまたはカメラに近い距離と比較すると、画像センサまたはカメラからより離れている距離では、３Ｄ空間は同じ正確さではサンプリングされないからである。例えば、画像センサまたはカメラから１ｍにおいては、取得される点は、現実世界における１．５ｃｍの表面と対応するのに対し、画像センサまたはカメラから５ｍにおいては、取得される点は、現実世界の７ｃｍの表面に対応し得る。ところで、データをビンに投影するために固定寸法の、例えば、５ｃｍのサンプリングステップを事前に規定することによって、それらが関連付けられる、投影される３Ｄ点の画像センサまたはカメラからの距離にしたがって、異なる量のデータがビンに集められることにもなる。
【００８５】
これは、例えば、画像センサから５ｍの距離にある単一の点は、正投影のグリッドの単一のビンに投影することができ、１ｍの距離にある、少なくとも、３個の点は、正投影におけるグリッドの単一のビンに投影することができることを意味する。また、これは、点が画像センサに近いほど、より多くの点が、グリッドのそれぞれのビンに入るので、正投影のグリッドはより正確になることを意味している。
【００８６】
グリッドにおける正投影であることにより、処理される画像は、カメラからのオブジェクトの距離に関係なく一定の大きさである。これは、カメラからのオブジェクトの距離とは独立することになる便利な固定のグリッドサイズを決めることにより、一定の処理時間を達成することができることを意味する。ほとんどの場合、処理性能、すなわち、処理時間と処理の質を最適にする妥協点が存在する。
【００８７】
本発明の好ましい実施形態によれば、正投影は、距離画像全体に対しては行われないが、好ましくは、ユーザマスクの画像を用いて規定される制限されたエリア、ユーザの重心に中心が置かれる直交再投影グリッドに関して行われる。このプロセスの結果は正投影ユーザまたはＯＲＵＳと呼ぶことができる。再投影を実施するとき、初期の３Ｄ点群のいくつかの画素は、正投影グリッドの中で同じ単一のセル要素、つまり、ビンを指し、ＯＲＵＳグリッドの中の他のセル要素またはビンは空であってもよい。
【００８８】
ＯＲＵＳによって提供されるデータは、画像を含むが、その画像のためのそれぞれの画素またはセルまたはビンは、ＯＲＵＳセルに関連する初期の３Ｄ点群の点に対応する法線の推定と、最小のＺ座標値、すなわち、ＯＲＵＳグリッドの単一のビンに投影される距離画像の画素の最小の奥行き値となり得る統計モードと、グリッド画素に投影される３Ｄ点群の点のＸ、Ｙ、Ｚ座標の平均値とを含む。
【００８９】
図５に、ＯＲＵＳ再投影法の原理を図示する例を示す。カメラ５００が、トラッキングすべきオブジェクト５１０を含むシーンを捕捉する。この場合には、オブジェクト５１０は図示のように曲線で示される。オブジェクト５１０は奥行き感知捕捉処理によってサンプリングされ、サンプルされた点５１１のそれぞれは、オブジェクト５１０から、カメラ５００のセンサマトリックス配列への投影５１２に対応する。いくつかのサンプリングされた点があり、その数は奥行き感知システムの解像度によって規定されるが、一つだけが、明確にするために図５においてラベル付けされていることが理解されるだろう。投影５１２は、奥行き感知システムの解像度だけでなく、その視野も含めて、使われている画像装置またはカメラの種類によって決まる。ＯＲＵＳ処理は、投影５１３に示すように、曲線またはオブジェクト５１０のサンプリングされた点のそれぞれを、複数のビン５３０、５３２、５３４、５３６、５３８、５４０、５４２、５４４、５４６、５４８、５５０を含む一定のステップサイズの投影グリッド５２０に、直交して投影する。垂直平面の断面図表現と対応しているので、グリッド５２０のたった一つの線が図５に示されている。グリッド５２０のビン５３０、５３２、５３４、５３６、５３８、５４０、５４２、５４４、５４６、５４８、５５０のそれぞれは、観察されたオブジェクト５１０からサンプリングされた点を蓄積し、曲線の奥行き値を示す少なくとも１つの値を含む。ビン５３０、５３２、５３４、５３６、５３８、５４０、５４２、５４４、５４６、５４８、５５０のそれぞれは、図３、４を参照して上述したように、対応する法線の値を含むことができる。例として、ビン５３０、５３２、５３４、５３６、５３８、５４０、５４４、５４６、５４８、５５０は奥行き値を含むが、ビン５４２は空で、それゆえに、オブジェクト５１０の再投影によって生成されたホール、またはかみ合わせに対応する。同様に、ビン５４８、５４４は、シーンからカメラシステムによってサンプリングされた２つの点から抽出されたデータを含んでいる。
【００９０】
１つの好ましい実施形態では、ＯＲＵＳグリッドの空のビンは、統計モードを使用する補間技術、例えば、隣接するビンのサンプリングされた点のそれぞれのデータの平均を使用して植えなおすことができる。この場合には、ビン５４２は、ビン５４０、５４４の中の値に対応する補間値を植えなおすことができる。補間されたデータ値は、少なくとも奥行きの値と、法線の値を含む。他の実施形態では、距離画像の三角測量を行うことができ、三角形をＯＲＵＳグリッドに投影することができ、なんらかの三角形ラスター化法（triangle rasterisation method）、例えば、３Ｄコンピュータグラフィックスにおける、スキャンラインのレンダリング、すなわち、多角形ごとあるいは画素ごとではなく、むしろ行ごとに動作する可視表面決定のアルゴリスムを使って満たすことができる。
【００９１】
ＯＲＵＳ投影を使って、ユーザに対応する３Ｄ点群を、図８ａと８ｂに示すユーザの体の主方向を決定し、あるいは改良するために、処理することができる。図８ａには、輪郭８１０を有するユーザの形状８００が示されている。ユーザの形状８００は、重心８２０を有している。重心８２０からの半径８３０が、輪郭８１０に示す、ユーザの形状８００の境界に延びている。ただ１つの半径８３０が、明確にするために、図８ａでラベル付けされている。半径のそれぞれは、適切な角度αだけ、隣接する半径から間隔をあけて配置されている。角度αは、重心８２０から輪郭８１０までで決定される距離の測定の数に応じて適切な角度、例えば、２°、５°、または１０°である。そして、距離測定値は、図８ｂに示す図に、角度に対してプロットされている。
【００９２】
図８ｂには、基準点、例えば、ユーザの重心８２０から、輪郭８１０までの、距離の測定値または半径の長さの、角度に対するプロットに対応するプロファイル８４０が示されている。プロファイル８４０は、この場合は、ユーザの伸ばした腕、彼／彼女の２本の脚、および彼／彼女の頭部のそれぞれに対応する多くのピーク８５０、８６０、８７０、８８０を有している。
【００９３】
図８ｂの図示に関して、頭部は、ピーク８８０、すなわち、例えば、ユーザの体の主方向によって決められる０°の位置に最も近いピークであると決定される。脚は、１８０°の位置のそれぞれの側に位置する、すなわち、実質的に頭部の位置とは反対の、ピーク８６０、８７０であると決められる。伸ばした腕は、０°と９０°との間のピーク８５０であると決められる。頭部の位置に対応するピークは、肩（図示せず）に対応する２つのピークの間に存在するとも決められる。
【００９４】
この場合のもう一方の腕は、ユーザの形状８００のトルソ部分によって効果的にかみ合わされているので、半径８３０の長さから決定することはできない。しかしながら、もしユーザが、例えば、両腕を伸ばして、異なる位置に立っていれば、もう一方の腕の位置は、２７０°と０°との間のピークとして決めることができたであろうことは理解されよう。
【００９５】
１つの好ましい実施形態によれば、図面の形態に基づく統計的分析が、検出されたすべての態様に対して、ユーザの３Ｄ点群の中の頭部の位置を決定するか改良するために実行される。加えて、形態の分布のいくつかの曖昧でない構成を識別することは、頭部の位置または全体的なポーズと関連するトラッキングエラーから回復するために有用である。例えば、可能性のある肩の形態に対する頭部の形態の対称性が考慮されるべきである。同様に、肢部の形態の詳細が考慮されるべきである。他の例では、同様の高さの大きさを有し、上下方向において３０°未満で隣接している２つの別々の形態は、その他の形態が潜在的に頭部や腕により良く対応し、頭部の形態が、好ましくは、腕を表現する２つの形態の間に局在した状態で、ユーザの脚により良く対応するかもしれない。特定の実施形態によれば、他の処理によって提供される頭部の位置は、形態の統計的分析によって規定されたユーザの３Ｄ点群に取り付けられた着目した点または図心に対応するより適切な位置になるように、リセットされるか改良されてもよい。
【００９６】
このユーザの頭部の位置の決定または改良から、主方向を、図８ａにしたがって、頭部中心から重心８２０まで、かつ足の間の位置に至るまでを直線で通過するものであるとして、決定する、あるいは改良することが可能である。
【００９７】
図２に戻って、曲率中心の点を決めるために、その後、ステップ２２０で、ＯＲＵＳデータが次のステップで使われる。特に、曲率中心の点の位置の推定は、局所的なレベルで法線の交点を決めるために、オブジェクトの部位の区切りの中央の点に対応する点である曲率中心の点を推定するように、法線ベクトル、すなわち、ＯＲＵＳグリッドの法線データを用いて行われる。曲率中心の点の位置に関するデータは、ＯＲＵＳグリッドに蓄積され、そして、これらの曲率中心の点の蓄積の最大密度を有する位置が、オブジェクトの部位の中心軸（すなわち、人間をフィッティングおよびトラッキングする場合は、肢部の骨）の最良の近似を規定するものとして設定される。特に、最大密度の位置のそれぞれは、接触する球のパラメータをその両方で規定する、中心と半径を有する。さらに、接触する球のそれぞれは、例えば、そこからそれが抽出される曲線Ｃの点の収束に対して、正の、負の、またはゼロの曲率の点として分類される。好ましい実施形態においては、そのように規定された接触する球とそのパラメータが、ユーザの体の骨の中心軸、ユーザの体の骨の体積、トルソ平面を近似するため、および体の主方向の質を高め、および／または再定義するために使われる。
【００９８】
図６には、接触する球の例が２次元で図示されている。点Ｐにて曲線Ｃと接触しており、その中心が点Ｐにて曲線に対する法線面内にある球体６１０は、接触する球として規定されている。この場合、曲線Ｃによって規定される表面に対して、接触する球６１０を、ＯＲＵＳグリッドに投影される曲線Ｃの法線の交点の密度の最大に対応するその中心６２０が、矢印６３０で示される点Ｐにおける表面Ｃの法線上に存在するように描くことができる。接触する球の中心６２０は、中心軸または可能性のある体の骨のラインの位置を表示している。体に取り付けられる接触する球すべての中心を一緒に関連付けることによって、骨格表現の構成の推定を獲得または改良することができる。
【００９９】
上述のように、接触する球とそれらが関連する曲率中心の点には、それらが関連する表面の収束に応じて３つのタイプがあることに注目すべきであって、すなわち、現在の実施形態では捨てられている凹表面に対応する正の半径を有するものと、少なくとも部分的にはトルソであり得る平らな表面を示すゼロに近い小さい半径の値を有するものと、現在の実施形態で特に考慮されている、例えば、ユーザの肢部である、管状構造に対応する負の半径を有するものである。もし接触する球の半径が最初から、曲率中心の点と点Ｐとの間の距離によって決められている場合は、それは事前に定義することもできると理解すべきである。
【０１００】
ステップ２２０で決定したデータから、続いて、形態学的および幾何学的制約を利用して、特定のトラッキング技術によって、反復的であり、局所的でも全体的でもあるフィッティングが実施される（ステップ２３０）。局所的なフィッティングは、３Ｄ点群で決められた予想位置を基準にして、以前の位置から骨格表現の制御点のそれぞれを再ポジショニングすること、例えば、頭部の制御点を、３Ｄ点群から、または好ましくは、ＯＲＵＳグリッドの分析から、決定される頭部の位置にフィッティングさせることを目的とする。「以前の位置」とは、もしオブジェクトの骨格表現が以前にフィッティングされトラッキングされていれば、骨格表現の制御点の位置および以前のフレームのうちの１つでの、好ましくは直前のフレームを使っての、それらの空間における配置の制御点を意味する。もしオブジェクトの骨格表現が以前にフィッティングおよびトラッキングされていなかったときは、以前の位置は、フィッティングおよびトラッキングされるべきオブジェクトの骨格表現の初期のポーズを使って決められる。現在の骨格のポーズの表現のための入力として使われる、以前のフレームにおける骨格表現は、モーション推定技術、例えば、一次、二次、および三次の運動モーメントパラメータのうちの少なくとも１つ、すなわち、以前のフレームにおける制御点の位置、速度、および加速度を使ったものを使って質を高められてもよいということは理解されよう。全体的なフィッティングは、骨格表現のすべての制御点を、互いに、および決定された全体的なポーズに対して、全体的に再ポジショニングすることを目的とする。
【０１０１】
形態学的制約に関する考察は、決定された相互関係を有する結合された点の集合、例えば、図１に示した、４つの結合された点の集合であるユーザのトルソを表現するパッチ１４０を考慮することを含む。加えて、前腕と上腕、太ももと下腿は、二つの結合された点の組であると考えられる。特に、トルソに対するユーザの頭部の位置を考えるとき、首に対応する結合された点の集合は、頭部を、二つの肩の間のセグメントの中心にリンクさせる三つの制御点の三角形構造として考慮される。
【０１０２】
幾何学的制約の考察は、二つの結合された制御点の間の最小および／または最大距離を含み、例えば、首の長さとともに、上部と下部の肢部の長さが制約される。結合されていない二つの制御点の間の制約も、例えば、頭部と臀部との距離も考慮することができる。特に、幾何学的制約は、形態学的制約によって利用可能になったポーズの推定の解空間を効果的に制限するためと、以下で詳細に述べる、フィッティングを簡単にするために使われ、例えば、頭部と肩について考察するとき、直交性の制約を遵守することができる。
【０１０３】
１つの好ましい実施形態では、骨格表現の制御点の幾何学的制約の間の距離は、その処理が信頼性のある測定値を収集するにつれて、時間の経過とともに、強化される。強化は、例えば、ガウス混合または時間平均法によって実行することができる。信頼性のある測定値は、骨格表現のポーズが曖昧さを含まないとき、例えば、ユーザが、肢部が全く交差せず、体のどの部位もかみ合わされていないところで、その先端部のすべてが完全に検出され識別されることができるように、シーンの中に立っているとき、検出することができる。
【０１０４】
形態学的および幾何学的制約に加えて、速度および衝突の制約も、骨格表現の制御点、関係するセグメント、および／または決して効果的にオーバラップしたり結合したりしないパッチの正しい位置のよりよい推定を得るために、考慮することができる。特に、速度の制約は、制御点の動きの速度に関係している。それらは、既定の、許容される速度の範囲の中に含まれていなければならない。許容される速度は、骨格表現の各単一制御点について規定され得る。既定の範囲に対してより低い速度は、動きがないことを示していると考えられる。許容されるのより早い速度も、動きがないことを示すと考えられる。したがって、既定の範囲の外の速度は、動きがないと考えられ、結果として、考慮される制御点は、以前のフレームにおいて有していたのと同じ位置を保持することになる。
【０１０５】
衝突の制約は、オーバラップ、溶け込み、そしてある程度は、制御点、セグメント、および／またはパッチの他のものからの距離に関係し、それらの間のオーバラップは許可されない。「許可されない」という用語により、フィッティング処理は、例えば、セグメント位置を、直近の許可された位置で固定するか、または、姿勢が、関連するすべての制約について、エネルギー最小化の原理を満たすようにセグメント位置を、別の位置に調節すると理解されるべきである。全体的なトラッキングのステップの効率はフィッティングの正確さに依存しているので、それはまた、形態学的および幾何学的制約にも、時をわたって依存している。スタートアップ時に、または以前にトラッキングがされていなかったときに、少なくとも一度提案される、ステップ２１０の骨格表現の初期のポーズの推定により、それにより骨格表現の制御点の曖昧でない配置がもたらされるので、トラッキング処理の効率の改善を助けるステップが提供される。
【０１０６】
トラッキングのステップ自体に戻ると、異なる基準の組合せであり得る、エネルギーを最小にする方法に基づくが、この基準とは、例えば、
●物までの距離、すなわち、骨格から接触する球の中心までの距離、
●現在の骨格のポーズから、以前の骨格のポーズまでの距離、
●画像装置によって観察されるユーザ表面までの距離、すなわち、骨格表現は、奥行きによれば、ユーザマスクの背後にあり、ユーザのシルエットの内部に含まれなければならない（これは、「シルエットまでの距離」と表現される）という事実、
である。
【０１０７】
エネルギーの最小化の最適化は２つのレベル、すなわち、局所的なレベルと全体的なレベルで行われる。その処理は、基本的に、骨格表現の制御点のそれぞれについて、それが、上述の制約と基準とに関してその一部である骨格表現の全体的なエネルギーを最小にする場所である局所的なレベルの位置を発見すること、すなわち、それが制約に関して関係しているその他の制御点のいくつかの位置の可能性ある変化に影響する、新しい位置における制御点の位置をフィッティングすることを目的とする。例えば、手に対応する制御点の位置の変化は、もし肘に対応する制御点の位置が変わるならば、二つの制御点の間の距離が前腕のセグメントの大きさによって制約されているので、少し変わるかもしれない。最適化は、例えば、勾配降下と呼ばれるアルゴリスムを用いたり、あるいは、レーベンバーグ・マーカート（Levenberg-Marquardt）のような方法を用いて、繰り返して行われる。収束基準が、繰り返しの最適化において一度満足されると、すなわち、例えば、局所的な最適化が局所的な最小値に近くなると、すると、その決定された局所的な最小値から抜け出して、エネルギーが、局所的な最適化のステップで先に決められたのよりも低い他の構成を見つけ出すことを試みることが可能となるように、付加的な導かれた構成の変更が使われる。そのとき、導かれた構成の変更は、局所的な最適化プロセスの上に全体的な最適化を実行することを目的としている。連続しているか否かに関わらず、局所的と全体的の最適化のいくつかのループを実行することができ、これにより、最小の全体的なエネルギーに達すること、最小の局所的なエネルギーに達すること、エネルギー最小化プロセスにおいてあらかじめ決められた繰り返し回数に達すること、および／または収束に許された、あらかじめ決められた時間に達することのうち、少なくとも一つあるいはその組合せを満足する、適切な骨格のポーズの解に収束する。
【０１０８】
導かれた構成の変更の好ましい一実施形態では、例えば、システムの状態においていくつかの既知のパターン、すなわち、限られた数の既知のユーザのポーズを検出し、既定の関連するレスポンス、すなわち、既定の骨格のポーズや既定の骨格の制御点の配置を適用する、システム全体のエネルギーのよりよい最小化を目的とする、特化した処理技術を使う。
【０１０９】
より好ましい実施形態においては、全体的なフィッティングとトラッキングの性能を向上させるために、それぞれの特化されたプロセスは、確率要素、例えば、発生率、成功率、およびそれらの最小化効率の比のうちの少なくとも１つによって重み付けられる。最小化効率の比は、以前に実行された最小化プロセスにおけるそれぞれの速度性能に対応している。より高い重みを有する特化されたプロセスは、より低い重み係数を有するその他のいかなる特化されたプロセスに対しても、優先的にかつそれより前に選択される。
【０１１０】
図９において、骨格表現のグローバルエネルギー、すなわち、骨格表現と関連する身体（すなわち、セグメントとパッチ）の制御点の、決められた曲率中心に対する、それらの以前の位置に対する、およびユーザマスクに対する距離に対応するグローバルエネルギーは、太い破線９１０で表現される。線９１０の形状は、図説の目的だけに描かれており、ユーザのポーズによって、および、骨格表現によって、大きく変わるかもしれないことを理解すべきである。それぞれのフレームについて、エネルギー最小化の処理（図２のステップ２３０）に入るとき、骨格のグローバルエネルギーが、点９２１で示されるように決められる。矢印９２０によって示される局所的な反復するエネルギー最小化プロセスは、最小エネルギーが、その骨格表現について点９２３によって示されるよう発見されるまで、点９２２、９２３によって示されるように、その骨格表現について適切な、可能性のある制御点の構成を次々に解析することによって、実施される。反復の回数はユーザのポーズによって変わることがあり、無限ループを避けるため、あるいは収束時間プロセスを制限するために、許される反復数に閾値を設定することができることが理解されるだろう。
【０１１１】
ひとたび、点９２３で示される局所最小値が発見されると、矢印９５０で示されるように、点９２３にて決められた局所的な最小ローカルから脱して、その相対的な形態のエネルギーが局所的に発見されたもの（点９２３）よりも低い骨格表現の別の制御点を発見することができるように、導かれた構成の変更プロセスが使われる。図９においては、導かれた構成の変更のプロセス（矢印９５０）は、全体的な最適化を実行するのを助け、その結果、点９２３におけるのよりも低いエネルギーを有する、点９５１によって表現される骨格表現の構成となる。図９ではたった一つの全体的な最小値のサーチが図示されているが、この全体的なエネルギーの最小化は、許される処理時間に対して収束の正確さを最適化するパラメータを使うことを含む局所的な最適化と同様に繰り返されるということが理解されるだろう。
【０１１２】
点９５１で、最良の全体的な最小値が発見されると、矢印９８０で示すように、他の局所的な最小値最適化プロセスを実行することができ、骨格表現の適切な局所的な構成が、最小の局所的エネルギーを発見するまで、点９８２、９８３によって表現されるように、繰り返しを使って発見される。
【０１１３】
局所的な、および全体的なエネルギー最小化最適化を繰り返し実行した後、点９８３に示すように、骨格表現の最適な構成が発見される。骨格表現のこの構成は、次に、最適なフィッティングに対応するもの、すなわち、現実のユーザのポーズを最も良く表現する骨格表現の最適な制御点の配置であると考えられる。
【０１１４】
次のステップは、堅固な安定化フィルタリングを骨格表現の制御点の位置に適用する、ステップ２４０を含む。好ましくは制御点のすべてを考察するが、もし、動きがないならば、そのいくつかの点は考察する必要がないであろうことが理解されよう。フレーム毎の安定化を実行する方法は、特許文献９に説明されているが、これによれば、カメラやその他のセンサによって捕捉された物理的変数の一連の測定値は、安定した画像を提供するために処理される。この処理は、第一と第二の測定値の間の差を既定の閾値と比較することを含み、もしその差が既定の閾値より小さい場合には、第二の測定値は、第一フィルタリング値を使ってその差が減少させられた訂正された第二の測定値と交換される。第二と第三の測定値についても同様に、もしその差が既定の閾値より小さい場合、第三の測定値は、第一フィルタリング値よりも小さい第二のフィルタリング値を使って減少させて訂正された第三の測定値と交換される。これは、骨格の動きの表現を滑らかにするように考えられるすべての骨格の制御点について繰り返される。
【０１１５】
次のステップであるステップ２５０において、いくつかの制御点にとって情報が得られない場合、例えば、骨格表現の対応する制御点を隠す三次元点群上でのかみ合わせがある場合、骨格表現のこれらの特定の制御点の少なくともいくつかについて、位置についての推定を提供する仕上げ処理がなされる。一つの特定の例は、ユーザの手が、奥行き感知システム、すなわち、画像センサやカメラの光学軸に対して、肩と一直線になって、少なくとも肘が隠れ、ユーザに対応する３Ｄ点群が肘に対応する点を持たないようになっているときである。その特定の例では、仕上げには、以前のステップ２３０、２４０に基づいて肘の位置を推定することが含まれ、そこでは、例えば、考慮されている骨格表現の制御点の最新の既知の位置によって、トラッキングおよび安定化の結果が改良される。本発明の好ましい一実施形態では、欠けている情報を仕上げることは、カルマンベースの位置の外挿、逆運動学（inverse kinematic）ベースの位置の改良、関節の制限、および重力シミュレーションのうちの少なくとも１つを用いる。
【０１１６】
特に、カルマンベースの位置の外挿を使った場合、エネルギー最小化プロセスを最適化するための情報が全く入手できない骨格表現の制御点は、以前の位置、速度、および加速度によって設定される位置を有している。運動学ベースの位置の改良を、単独で、またはカルマンベースの仕上げと組み合わせて使った場合、骨格表現の制御点は、例えば、隣接する制御点への距離についてリセットされる。関節の制限による位置の改良を、単独で、またはその他の仕上げプロセスの一つと組み合わせて使った場合、骨格表現の制御点の位置は、例えば、考察されるユーザ（またはオブジェクト）の生理学的特質にしたがって、それらのそれぞれとそれらの隣接するもののそれぞれとの間で許される角度の制限について、改良される。重力シミュレーションベースの位置の改良を、単独で、またはその他の先の仕上げプロセスのうちの１つとの組み合わせで使った場合、骨格表現における考慮している制御点の位置は、例えば、重力に関して、すなわち、それぞれの位置は、経過時間と、考慮されている制御点に割当てられた既定の重みの推定値にしたがって、以前推定された位置よりも低く調整される。特に、それぞれの制御点の重みの事前決定は、時間経過と共に改良されるユーザの大きさおよび寸法との関係で実行されてもよい。
【０１１７】
最終ステップであるステップ２６０は、図１を参照して上述したように、カメラの視野の中のユーザの骨格表現に対応する制御点の集合と、ユーザの骨格表現を提供する、セグメント、三角形、パッチなどの３Ｄ基本要素の集合とのうちの一方を含む出力を提供することを目的とする。制御点または３Ｄ基本要素の集合は、３Ｄ座標データと、３Ｄ方向データと、（異なるレベルの）運動に関連するデータと、関節（図１を参照して上述した制御点）または３Ｄ基本要素の識別と、関節（上述した制御点）または３Ｄ基本要素とを含むことができる。
【０１１８】
図２を参照して説明した方法は、人間のユーザとそのようなユーザの骨格表現の形成について言及しているが、その方法は、画像センサやカメラの視野内のその他のいかなるオブジェクトをも表す骨格表現を決め、そのオブジェクトの骨格表現をフィッティングし、トラッキングするためにも使うことができることが理解されるだろう。
【０１１９】
加えて、もし、カメラまたはその他の画像装置が、捕捉中のシーンに対して動いている場合には、静止しているオブジェクトをトラッキングすることができる。特に、その基準点または原点がシーンの中の別の点であるのと同じようにカメラの位置である座標系を基準として、その基準点が、例えば床上の点のように静止しているか、あるいは、例えばトラッキングされるオブジェクト上の点のように動いているかによらず、どんな３Ｄ情報でも提供され得る。
【０１２０】
本発明の方法は、次の利点を有している。
（１）一定のステップのグリッドが、正投影のために使われる。そのようなグリッドは処理時間を画像解像度から効果的に分離する、すなわち、処理時間は画像解像度とは実質的に独立している。
（２）この方法を最適化する場合、質と性能を天秤にかけることができる。これは、例えば、ＯＲＵＳグリッドの大きさと時間間隔ごとに稼働している特化された処理の数を選ぶことによって行われる。
（３）セグメントの中のそれぞれの骨の中心軸の近似は、点群からの局所的な法線ベクトルが交差する、空間における位置の推定によって規定される曲率中心の点の集合を使って決定される。
（４）骨格表現のためのフィッティングおよびトラッキングのエネルギーの測定基準が規定され、それには満足すべき判定基準が含まれる。
（５）骨格表現のポーズのエネルギーの局所最小値に対応するポーズの推定値を決定し、それによって、最小の全体的なポーズのエネルギーを決定することができる特化した処理に関連した局所的な、および全体的なエネルギーの最小化を含む、特有のトラッキングの戦略が使われる。
（６）動きの振る舞いを時間に対して滑らかにするために、決定される骨格表現の制御点の位置のそれぞれの上に、安定化が適用される。
（７）仕上げが、曖昧な既知のポーズを解決するために、終わりに使われる。
【０１２１】
図７ａは、正投影のユーザグリッド（ＯＲＵＳ）を図示している。ユーザが奇妙な形に見えるが、これは、ユーザに対応する３Ｄ点群を捕捉するために使われるカメラまたは画像装置の解像度のためである。
【０１２２】
図７ｂは、曲率中心の点の位置と、それらが関連する接触する球を図示している。図示されるように、接触する球は、骨格のような高いレベルの情報の代わりになるものではないが、すでに骨格のように見えるものを、効果的に、提示している。
【０１２３】
図７ｃは、図７ａの正投影ユーザグリッドと、図７ｂの曲率中心の点とそれらに関連する接触する球との組合せを図示している。図示されるように、接触する球の輪郭は、骨格モデルと同様な方法で、ＯＲＵＳグリッドの中にフィットしている。
【０１２４】
図７ｄは、接触する球の輪郭が、フィッティング処理の結果、骨格によって取って代わられている、図７ａの正投影ユーザグリッドを図示している。図示されるように、制御点は見えるが、図１に示すようなトルソに対応するパッチ１４０は示されていない。
【０１２５】
図７ｅは、ユーザに対応する３Ｄ点群を図示し、そこでは、接触する球の中心の位置を決める曲率中心の点の輪郭が、骨格モデルとともに、ユーザの骨の管状構造の近似を表現するために、描かれている。ここでは、ユーザのポーズは、図７ｂに示されたものと同じである。骨格は、本発明にしたがって、上述したように、接触する球にフィッティングされるので、接触する球の輪郭と骨格モデルは非常に似ていることは注目すべきである。
【図１】
0005855751.tif 000002
【図２】
0005855751.tif 000003
【図３】
0005855751.tif 000004
【図４】
0005855751.tif 000005
【図５】
0005855751.tif 000006
【図６】
0005855751.tif 000007
【図８ａ】
0005855751.tif 000008
【図９】
0005855751.tif 000009
【図７ａ】
0005855751.tif 000010
【図７ｂ】
0005855751.tif 000011
【図７ｃ】
0005855751.tif 000012
【図７ｄ】
0005855751.tif 000013
【図７ｅ】
0005855751.tif 000014
【図８ｂ】
0005855751.tif 000015