(57)【要約】【課題】  異なるモーションクラスに属する人体モーションを認識し、追跡するシステムと方法を提供する。【解決手段】  学習ステージ２２０では、判別モデル２３０を学習して、モーションデータを高次元空間から低次元空間へ射影し、さらに、低次元空間で異なるモーションクラスに属するモーション間で判別を行う。さらに、低次元データをモーションセグメントにクラスタ化して、モーションセグメントごとにモーションダイナミクスを学習するようにしてもよい。追跡ステージ２５０では、少なくとも１つのモーションを含んだ人体モーションの表現を受信する。モーションを認識したり追跡するときには、学習した判別モデル２３０と学習したダイナミクスに基づいて行う。【選択図】  図２【特許請求の範囲】
【請求項１】
人体モーションを認識し、追跡する方法であって、
前記方法は、
任意のモーションクラスに属し、高次元空間で表現されたポーズ状態のシーケンスを含んでいる少なくとも１つのモーションを有する人体モーションの表現を受信し、
前記ポーズ状態のシーケンスを高次元空間から低次元空間に射影するために用いられ、前記低次元空間において異なるモーションクラスに属するモーションどうしを判別するような判別モデルを受信し、
前記判別モデルの少なくとも一部に基づいて前記少なくとも１つのモーションを追跡する
ことを含むことを特徴とする人体モーションの追跡方法。
【請求項２】
前記少なくとも１つのモーションの追跡は、
前記判別モデルに基づいて、任意のポーズ状態を前記高次元空間から前記低次元空間へ射影して、射影したポーズ状態を生成し、
予測される将来のポーズ状態を表わす少なくとも１つのポーズ予測を前記低次元空間において生成し、
前記判別モデルに基づいて前記高次元空間において少なくとも１つのポーズ予測を再構成し、
前記高次元空間で表された前記少なくとも１つのポーズ予測と、前記人体モーションの表現の現在のフレームとの最適なフィッティングを決定する
ことを含むことを特徴とする請求項１に記載の人体モーション追跡方法。
【請求項３】
前記最適なフィッティングの決定は、
四肢、胴体部および頭部に相当する形状の人体部位と関節との座標を含んだモデルを用いて前記現在のフレームを表わし、
前記人体モデルを用いて前記高次元空間における各ポーズ予測を表わし、
前記人体モデルに基づいて前記現在のフレームに最適にフィットする前記ポーズ予測を選択する
ことを含むことを特徴とする請求項２に記載の人体モーションの追跡方法。
【請求項４】
前記人体モデルは、色ヒストグラム、勾配配向ヒストグラムおよび色距離ヒストグラムの１つ以上を含んだ人体部位の記述子を含むことを特徴とする請求項３に記載の人体モーションの追跡方法。
【請求項５】
前記低次元空間における前記少なくとも１つのポーズ予測の生成は、
前記射影されたポーズ状態を表す、前記低次元のデータの最近傍を決定し、
前記最近傍のモーションごとに種類を決定し、
前記モーションの種類に基づいて、学習ステージで学習したダイナミックモデルを各最近傍に適用する
ことを含むことを特徴とする請求項２に記載の人体モーションの追跡方法。
【請求項６】
前記判別モデルは学習ステージで受信され、
前記学習ステージは、
モーションキャプチャ ソースから、第１のモーションクラスに属する第１のモーションと、前記第１のモーションクラスとは異なる第２のモーションクラスに属する第２のモーションとを含んだモーションキャプチャ データを受信し、
前記モーションキャプチャ データを処理して、前記第１のモーションを表す第１のポーズ状態のシーケンスと、前記第２のモーションを表す第２のポーズ状態のシーケンスとを抽出し、
前記第１のポーズ状態のシーケンスと前記第２のポーズ状態のシーケンスとを低次元空間に射影し、前記低次元空間における前記第１のモーションクラスと前記第２のモーションクラスとの判別を行う判別モデルを学習し、
クラスタ化アルゴリズムを用いて、前記低次元空間において時間的に連続するデータをモーション セグメントにクラスタ化し、
前記モーションセグメントごとにダイナミックモデルを学習して、前記低次元空間においてモーション予測を生成する
ことを含むことを特徴とする請求項１に記載の人体モーションの追跡方法。
【請求項７】
前記クラスタ化アルゴリズムにはk-meansクラスタ化アルゴリズムが含まれることを特徴とする請求項６に記載の人体モーションの追跡方法。
【請求項８】
前記判別モデルの学習には、LDEモデルを用いることが含まれることを特徴とする請求項６に記載の人体モーションの追跡方法。
【請求項９】
前記判別モデルの学習には、
同じモーションクラスに属するデータ点間の距離の合計を表す、クラス間のばらつきを算出し、
異なるモーションクラスに属するデータ点間の距離の合計を表す、クラス間の乖離性を算出し、
前記クラス間のばらつきを低減し、前記クラス間の乖離性を増加させるような射影行列を求め、
前記射影行列に基づいて前記モーションキャプチャ データを前記高次元空間から前記低次元空間に射影する
ことを含むことを特徴とする請求項６に記載の人体モーションの追跡方法。
【請求項１０】
前記ポーズ状態は、骨格の関節の座標のベクトルを含むことを特徴とする請求項１に記載の人体モーションの追跡方法。
【請求項１１】
前記少なくとも１つのモーションを、背景減算を行わずに追跡することを特徴とする請求項１に記載の人体モーションの追跡方法。
【請求項１２】
前記少なくとも１つのモーションの追跡は、前記少なくとも１つのモーションを三次元において追跡することを特徴とする請求項１に記載の人体モーションの追跡方法。
【請求項１３】
人体モーションを認識し、追跡するシステムであって
前記システムは、
任意のモーションクラスに属し、高次元空間で表わされたポーズ状態のシーケンスを含んだ少なくとも１つのモーションを有する人体モーションの表現を受信するモーション受信手段と、
前記ポーズ状態のシーケンスを高次元空間から低次元空間に射影するために用いられ、前記低次元空間において異なるモーションクラスに属するモーションどうしを判別するような判別モデルを受信する判別モデル受信手段と、
前記判別モデルの少なくとも一部に基づいて前記少なくとも１つのモーションを追跡する追跡手段と
を備えることを特徴とする人体モーション追跡システム。
【請求項１４】
前記少なくとも１つのモーションを追跡する前記追跡手段は、
前記判別モデルに基づいて任意のポーズ状態を前記高次元空間から前記低次元空間へ射影して、射影したポーズ状態を生成するポーズ状態射影手段と、
予測される将来のポーズ状態を表わす少なくとも１つのポーズ予測を前記低次元空間において生成する予測手段と、
前記判別モデルに基づいて少なくとも１つのポーズ予測を前記高次元空間において再構築する再構成手段と、
前記少なくとも１つのポーズ予測と、前記人体モーションの表現の現在のフレームとの最適なフィッティングを決定するフィッティング手段と
を備えることを特徴とする請求項１３に記載の人体モーション追跡システム。
【請求項１５】
前記最適なフィッティングを決定するフィッティング手段は、
四肢、胴体部および頭部に相当する形状の人体部位と関節との座標を含んだ人体モデルを用いて前記現在のフレームを表わす第１の人体モデル化手段と、
前記人体モデルを用いて前記高次元空間における各ポーズ予測を表わす第２の人体モデル化手段と、
前記人体モデルに基づいて、前記現在のフレームとの最適なフィッティングを有するポーズ予測を選択する選択手段と
を備えることを特徴とする請求項１４に記載の人体モーション追跡システム。
【請求項１６】
前記人体モデルは、色ヒストグラム、勾配配向ヒストグラムおよび色距離ヒストグラムの１つ以上を含んだ人体部位の記述子を含むことを特徴とする請求項１５に記載の人体モーション追跡システム。
【請求項１７】
前記少なくとも１つのポーズ予測を前記低次元空間において生成する前記予測手段は、
前記射影されたポーズ状態を表す、前記低次元データの最近傍を決定する最近傍決定手段と、
前記最近傍のモーションごとに種類を決定するモーション種類決定手段と、
前記モーションの種類に基づいて、学習ステージで学習したダイナミックモデルを各最近傍に適用するダイナミックモデル化手段と、
を備えることを特徴とする請求項１４に記載の人体モーション追跡システム。
【請求項１８】
前記モデル受信手段は前記判別モデルを学習ステージから受信し、
前記学習ステージは、
第１のモーションクラスに属する第１のモーションと、前記第１のモーションクラスとは異なる第２のモーションクラスに属する第２のモーションとを含んだモーションキャプチャ データを、モーションキャプチャ ソースから受信するモーションキャプチャ手段と、
前記モーションキャプチャ データを処理して、前記第１のモーションを表す第１のポーズ状態のシーケンスと、前記第２のモーションを表す第２のポーズ状態のシーケンスとを抽出する処理手段と、
前記第１のポーズ状態のシーケンスと前記第２のポーズ状態のシーケンスとを低次元空間に射影し、前記低次元空間における前記第１のモーションクラスと前記第２のモーションクラスとの判別を行う判別モデルを学習する判別モデル学習手段と、
クラスタ化アルゴリズムを用いて、時間的に連続するデータを前記低次元空間においてモーション セグメントにクラスタ化するクラスタ化手段と、
前記モーションセグメントごとにダイナミックモデルを学習して、モーション予測を前記低次元空間において生成するダイナミックモデル学習手段と
を備えることを特徴とする請求項１３に記載の人体モーション追跡システム。
【請求項１９】
前記クラスタ化アルゴリズムを用いる前記クラスタ化手段は、k-meansクラスタ化アルゴリズムを用いるk-meansクラスタ化手段を備えることを特徴とする請求項１８に記載の人体モーション追跡システム。
【請求項２０】
前記判別モデルを学習する前記判別モデル学習手段は、LDEモデル化を用いるLDEモデル化手段を備えることを特徴とする請求項１８に記載の人体モーション追跡システム。
【請求項２１】
前記判別モデルを学習する前記判別モデル学習手段は、
同じモーションクラスに属するデータ点間の距離の合計を表す、クラス間のばらつきを算出するクラス間ばらつき算出手段と、
異なるモーションクラスに属するデータ点間の距離の合計を表す、クラス間の乖離性を算出するクラス間乖離性算出手段と、
前記クラス間のばらつきを低減し、前記クラス間の乖離性を増加させるような射影行列を求める射影行列手段と、
前記射影行列に基づいて前記モーションキャプチャ データを前記高次元空間から前記低次元空間に射影するモーションキャプチャ 手段と
を備えることを特徴とする請求項１８に記載の人体モーション追跡システム。
【請求項２２】
前記ポーズ状態は、骨格の関節の座標のベクトルを含むことを特徴とする請求項１３に記載の人体モーション追跡システム。
【請求項２３】
前記追跡手段は、前記少なくとも１つのモーションを、背景減算を行わずに追跡することを特徴とする請求項１３に記載の人体モーション追跡システム。
【請求項２４】
前記追跡手段は、少なくとも１つのモーションを三次元において追跡することを特徴とする請求項１３に記載の人体モーション追跡システム。
【請求項２５】
人体モーションを認識し、追跡するコンピュータ実行可能な符号を記憶するコンピュータ読み取り可能な記憶媒体を備えたコンピュータプログラム製品であって、
前記コンピュータ実行可能な符号は、
高次元空間で表わされたポーズ状態のシーケンスを含んだ、任意のモーションクラスに属する少なくとも１つのモーションを有する人体モーションの表現を受信し、
前記ポーズ状態のシーケンスを前記高次元空間から前記低次元空間へ射影するために用いられ、前記低次元空間において異なるモーションクラスに属するモーション間で判別を行う判別モデルを受信し、
前記判別モデルの少なくとも一部に基づいて前記少なくとも１つのモーションを追跡する
ことを含むことを特徴とするコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、米国特許仮出願番号第６０/７３１１５８ 発明の名称：「Discriminative Motion Modeling For Human Motion Tracking」および米国特許出願番号第１１/５５３３７４ 発明の名称：「Discriminative Motion Modeling For Human Motion Tracking」の優先権を主張するものであり、この出願のすべての記載をここに引用する。
【０００２】
本発明は、一般に、コンピュータビジョン（computer vision）に関し、具体的には、人体モーションの追跡に関する。
【背景技術】
【０００３】
コンピュータビジョンの応用では、多くの場合にモーション追跡や動作認識などのモーション解析とモデリングが不可欠である。従来の動作モデリングの手法の多くは、主に、単純な動作に限られている。したがって、生体運動や人体モーションなどの複雑なモーションを包括的に解析する解析モデルは挑戦的な課題である。モーションモデリングの難しさは複雑なモーションの高次元性に起因するものであり、モデル自体に高度な記述力が要求される。不可能ではないにしても、なんら拘束を受けずに任意のモーションをモデル化するのは極めて困難である。幸運にも、実際には、目的とするモーションは、物理的理由や生体的理由から多少なりとも拘束を受ける。このような拘束は極めて線形的であるが、概ねでモーション固有の複雑さを低減するものである。例えば、人体モーションは任意にはなり得ないし、上腕および下腕はそれぞれを独立して動かすことはできない、などの人類学的に実現可能な間接角度の拘束を受けなければならない。
【０００４】
従って、モーション追跡の課題のひとつは、このような拘束を特徴づけて、その利点を利用することにある。モーションの拘束を明示的に記述することは困難であるため、代替法として、トレーニングデータからこのようなモーションの拘束を学習することが考えられる。人体モーションは複雑ではあるが、関節角空間（joint angle space）と比べても、その空間の次元性はるかに低い。従って、次元性を低減させることは、複雑さの問題を緩和し、モーションモデルを構築するために有用な学習において重要なステップである。
【０００５】
人体モーション追跡における次元性の低減に利用可能な従来技術は多数ある。そのひとつが、ISOMAPSを用いて次元性を低減し、低次元空間で混合正規分布モデル（GMM：Gaussian mixture model）を学習する技術であり、その詳細は、Tenenbaum, J.B.らの「A Global Geometric Framework For Nonlinear Dimensionality Reduction」、Ｓｃｉｅｎｃｅ、２０００年、第２９０巻、ＰＰ２３１９−２３２３に記載されている。なお、この文献に記載されるすべての内容をここに引用する。別の従来技術としては、Laplacian eigenmapを用いて次元数の低減を図るものがあり、ダイナミクスをモデリングするときに連続補間（continuity interpolation）を行うものであるが、この詳細は、Sminchisescu, C、およびA. Jepsonらの「Generative Modeling for Continuous Non- Linearity Embedded Visual Inference」ＩＣＭＬ、２００４年に記載されている。なおこの文献に記載されるすべての内容をここに引用する。さらに、別の従来技術としては、K-meansクラスタリングを用いて、まず静止空間を分割し、次に主成分解析（PCA）を用いて次元数を低減するものがある。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
これらの従来技術は、モーションが短くて均一に連続するような場合に好適であるが、異なるモーションパターンを認識したり追跡するような場合には適さない。このような技術は、低次元空間ゆえのコンパクト性に起因して、異なるモーションクラス間で混乱を招き、正確な追跡を妨げる恐れがある。
【０００７】
そこで、複数のモーションクラスで構成されるトレーニングデータを処理する試みがなされている。例えば、推移確率行列（transition probability matrix）は学習可能であることが、Wang, Q.らの「Learning Object Intrinsic Structure for Robust Visual Tracking」、Ｐｒｏｃ．ＩＥＥＥ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ  ａｎｄ  Ｐａｔｔｅｒｎ  Ｒｅｃｏｇｎｉｔｉｏｎ、２００３年、 ＰＰ２２７−２３３、および、North, B.らの「Learning and Classification of Complex Dynamics」ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｐａｔｔｅｒｎ  Ａｎａｌｙｓｉｓ  ａｎｄ  Ｍａｃｈｉｎｅ  Ｉｎｔｅｌｌｉｇｅｎｃｅ、２０００年、 ＰＰ１０１６−１０３４に記載されている。なお、これらの文献に記載されるすべての内容をここに引用する。また、推移行列の代わりとしては、個々のモーションごとにトレーニングアルゴリズムを繰り返し用いる方法がある。しかし、これらの２つの方法は、類似する人体ポーズを含んだ異なるモーションを追跡することもあり得るのだが、このようなポーズのデータを低次元化することで、より近似してしまうという問題に直面している。モーション追跡を試みる者は、このように紛らわしい領域に取り組むときに、可能なモーションパターンを判別（discriminance）するための手段がないため、混同してしまう可能性がある。異なる特徴を有するモーションセグメントが混同されると、モーションモデリングの精度が低下する恐れが生じる。
【０００８】
前記の問題に起因して、トレーニングセットにおけるモーションパターン間の差異を維持することは、複数のモーションクラスを追跡する際には重要な特性となる。従って、低次元空間においてもモーション間での判別（discriminance）を維持することが好ましい。従来のように、線形判別解析（LDA：Linear Discriminative Analysis）などの判別型のモデルの場合、モデル化をするモーションは一般に非線形および非ガウス型であるため、ここで扱う問題には適さない。
【０００９】
従って、低次元空間であっても人体の各種モーションパターンを認識して追跡できるような、判別可能なモーションモデリングのシステムが必要とされている。
【課題を解決するための手段】
【００１０】
定型化された人体モーションのセットを効果的に認識し、追跡するためのシステムと方法を提供する。任意のモーションクラスに属する少なくとも１つのモーションを有する人体モーションの表現を受信する。１つのモーションは、高次元空間におけるポーズ状態のシーケンスを含む。判別モデルを、例えば、オフラインの学習ステージから受信して、このポーズ状態のシーケンスを高次元空間から低次元空間へ射影する。判別モデルは、低次元空間において異なるモーションクラス間での判別を行う。学習した判別モデルに基づいて、異なるモーションクラス間でのモーションを正確かつ効果的に追跡することができる。このような手法は、一般的なものであり、追跡を行おうとする定型化モーションについては特に制約を要さない。
【００１１】
一実施形態では、低次元空間でも判別が維持できるように、判別モデルは、元の高次元空間で近傍となるデータポイントを、低次元空間でも近傍となるように、射影する。さらに、異なるモーションクラスに属する元の高次元空間での近傍のデータ点どうしは低次元空間ではできる限り乖離させる。
【００１２】
学習ステージの一実施形態では、人体モデルを、骨格と人体部位として表現する。ポーズ状態ベクトルは、このようなベクトルのシーケンスによって、骨格のポーズと各種類のモーションを表す。高次元空間のベクトルを低次元空間へ射影する際は、次元数低減アルゴリズムを用いる。クラスタ化アルゴリズムを低次元のデータで用いて、モーションセグメントのセットを生成し、モーションセグメントごとに自己回帰処理（ARP）を学習する。
【００１３】
追跡ステージの一実施形態では、最初の骨格を低次元空間に射影する。次に、現在の骨格の最近傍と、これらの近傍に対応する可能なモーションの種類を決定する。判別モーションモデルを用いることで、特に、複数のモーションクラスを追跡する場合に、このような最近傍を選択することが可能となる。次に、学習したダイナミクスを用いて、低次元空間における将来の骨格のポーズを予測して、さらに、この予測したポーズを元の高次元空間に再構築することができる。最後に、人体部位の仮説と予測した骨格から、追跡結果を相互に決定する。
【発明を実施するための最良の形態】
【００１４】
図面を参照しつつ、本発明の好ましい実施形態について以下に説明するが、図面の類似する符号は同一の構成要素、または機能的に類似する構成要素を示す。図において、各符号の上位桁の番号は、最初に用いられた符号の数字に対応する。
【００１５】
本細書中の「一実施形態」あるいは「ある実施形態」という表現は、実施形態に関して記載された特定の特徴、構造あるいは特性が本発明の少なくとも１つの実施形態に含まれることを意味する。本明細書中の随所に見られる「一実施形態において」という表現は、必ずしも同じ実施形態について言及したものではない。
【００１６】
以下の詳細な記載は、アルゴリズムや、コンピュータメモリ内のデータビットで表される動作の象徴的表現によって表現される場合がある。このようなアルゴリズム的な記述や表現は、他の当業者に仕事の実体を最も効果的に伝達するために、データ処理技術の当業者が用いる手段である。ここで言うアルゴリズムとは、一般に、所望の結果に導かれる首尾一貫した連続するステップ（指令）を指す。これらのステップは、物理的な数量を物理的に取り扱うことを必要とするステップである。必ずしもではないが、通常、これらの数量は、記憶や結合、比較、あるいはこの他の処理が実行可能な電気的あるいは磁気的な信号の形態をとる。主に一般用途の理由から、これらの信号を、例えば、ビット、数値、要素、シンボル、文字、表現、数字などで表すことが利便である。さらに、物理的な数量の物理的操作を必要とするステップの構成についても、モジュールや符号装置の表現で表すほうが、一般性を損なうことなく便利である。
【００１７】
しかしながら、留意すべきは、これらの表現や類似の表現は、所定の物理的な数量に相当し、これらの数量に便宜的に付されたラベルに過ぎない。特に記載される場合を除いて、以下の説明から明らかなように、「処理する」「演算する」「算出する」「決定する」「表示する」などの表現を用いた記載は、コンピュータシステムあるいは類似する電子演算装置の動作や処理を指しており、これらのコンピュータシステムや類似の電子演算装置は、コンピュータシステムの記録部やメモリ内の物理的（電子的）な数量で表されたデータを、コンピュータシステムのメモリや記録部内の、あるいは他の情報記憶部、伝送装置あるいは表示装置などの物理的な数量として同じように表現される他のデータに変換することを意味していることは、説明全体を通じて理解されるであろう。
【００１８】
本発明の側面によっては、ここに記載される処理ステップや指令はアルゴリズムの形態の場合も含まれる。本発明の処理ステップおよび指令を、ソフトウェアやファームウェア、ハードウェアなどで実装してもよく、ソフトウェアで実装する場合は、各種のオペレーティングシステムで用いる異なるプラットフォーム上にダウンロードして、動作させるようにしてもよい。
【００１９】
本発明は、ここに記載される動作を実施する装置にも関する。本装置は所定の目的に特化して構成されているか、あるいは、内部に記憶されたコンピュータプログラムによって選択的に起動されたり、再コンフィギュレートされるような汎用コンピュータを備える。このようなコンピュータプログラムは、以下に限定されるものではないが、例えば、フレキシブルディスク、光ディスク、ＣＤ−ＲＯＭ、光磁気ディスク、読出専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気カード、光カード、ＡＳＩＣ（application specific integrated circuits（特定用途向け集積回路））あるいは、あらゆる種類のディスク、または電子的指令の記憶に適したあらゆる種類の媒体など、コンピュータ読取可能な記憶媒体に記憶され、各々はコンピュータシステムのバスに接続される。
【００２０】
ここで言うアルゴリズムおよび表示装置は、もともと、特定のコンピュータやこの他の装置のみに関するわけではない。ここに教示される内容に応じたプログラムを用いて様々な汎用システムを利用してもよく、より特殊な装置を構成して上記方法のステップを実行するほうが好適である場合もある。このような各種のシステムに必要な構成は以下の記載から明らかとなるであろう。また、本発明は、特定のプログラミング言語に関して説明するものではない。各種プログラミング言語を用いてここに記載される発明の教示内容を実装してもよく、また、特定の表現は、本発明の実施の可能性と最良の形態を開示するために用いられることは理解できるであろう。
【００２１】
さらに、明細書中に用いられる言語は、主に読みやすさや例示上の目的から選択されたものであって、本発明の請求の範囲を限定するために選択されたものでない。従って、本発明の開示は、請求項に記載される本発明の範囲を例示することを目的としたものであり、これのみに限定されるものではない。
【００２２】
図１は、本発明の一実施形態に係わるコンピュータシステムを示している。コンピュータシステム１００は、入力装置１０２と、メモリ１０４と、プロセッサ１０６と、出力装置１０８と、画像プロセッサ１１０とを備える。入力装置１０２はネットワーク１２０と、データベース１３０と、画像キャプチャ部１４０とに接続される。出力装置１０８は、データベース１５０と、ネットワーク１６０と、ディスプレイ１７０に接続される。他の実施形態では、入力装置１０２は、ネットワーク１２０、データベース１３０、画像キャプチャ部１４０の１つまたは２つのみに接続される。また、別の実施形態では、入力装置１０２は、コンピュータシステムにデータを入力するように構成された任意の入力装置であれば、いずれの入力装置にも接続可能である。同様に、いくつかの実施形態では、出力装置１０８は、データベース１５０、ネットワーク１６０、ディスプレイ１７０、あるいは、出力データを受信する能力のある任意の装置のいずれかまたは複数に接続可能である。別の実施形態では、コンピュータシステム１００は、プロセッサ１０６、画像プロセッサ１１０、あるいは特殊用途のプロセッサの１つ以上を備える。
【００２３】
図２は、本発明の一実施形態に係わる入力／出力のブロック図を示すものである。オフラインの学習ステージ２２０では、モーションキャプチャデータ２１０に基づいて判別モデル２３０が生成される。追跡ステージ２５０では、判別モデル２３０と、１つ以上の追跡するモーションを含む人体モーションデータ（ビデオなど）２４０を受信する。学習した判別モデル２３０に基づいて、追跡ステージ２５０では追跡データ２６０を出力する。
【００２４】
モーションキャプチャデータ２１０は、１つ以上のモーションクラスのデータを含む。例えば、モーションクラスは、歩く、手拍子する、トスする、バランスをとる、スィングするなどであってもよい。モーションキャプチャデータ２１０は、各種の従来技術によって取得するようにしてもよい。一実施形態では、対象はマーカーの付いた特殊なスーツを身に付けてモーションを行って、このモーションをビデオカメラや類似する装置で捕える。さらに、モーションキャプチャデータ２１０は、二次元または三次元であってもよい。モーションキャプチャデータ２１０は、同じクラスのモーションを実行する複数の対象から取得するようにしてもよい。このようなデータの取得によって、判別モデル２３０を生成するために用いる統計データが得られる。
【００２５】
学習ステージ２２０では、図３に示すように、モーションキャプチャデータ２１０をコンピュータシステム１００で受信する（Ｓ３０２）。一実施形態では、モーションキャプチャデータ２１０を、入力装置１０２に接続する画像キャプチャ部１４０で受信するようにしてもよい。他の実施形態では、モーションキャプチャデータ２１０をデータベース１３０から、またはネットワーク１２０を介して、入力装置１０２で受信するようにしてもよい。
【００２６】
モーションキャプチャデータを処理して、ポーズ状態を抽出する（Ｓ３０４）。この処理は、プロセッサ１０６、画像プロセッサ１１０、あるいはこの他の専用プロセッサにより処理するようにしてもよい。ここで、ポーズ状態を表示する事例を図４に示す。この事例の実施形態では、人体４００には、骨格関節４０４からなるポーズ状態が含まれる。ポーズ状態はベクトルxで表現される。例えば、ベクトルｘは、骨格関節４０４の相対座標を表すようにしてもよい。あるいは、別の実施形態では、ポーズ状態ベクトルxは、ポーズ状態を記述するこの他の特徴を表現するようにしてもよい。例えば、ポーズ状態ベクトルxは、ポーズ状態を記述するために用いる目的の関節、四肢あるいはこの他の身体部位や箇所に関する角度、位置、速度、加速度を表現するようにしてもよい。モーションはポーズ状態の時間シーケンスで構成され、X = [x1 x2…xm]のベクトルのシーケンスで表現される。個々のポーズ状態ベクトルxiにはモーションラベルyiが割り当てられる。モーションラベル yiは、ポーズ状態ベクトルxiが属するモーションのクラスを表す。
【００２７】
2009514109.tif 000002
【００２８】
2009514109.tif 000003
【００２９】
例えば、「拍手する」というモーションクラスのポーズ状態ベクトル xa は、「スィングする」というモーションクラスのポーズ状態ベクトル xb に類似するように見えるかもしれない。そこで、判別モデルは、低次元のベクトルza およびzb を低次元空間では乖離させるように射影する。反対に、もしポーズ状態ベクトルxa およびxc が同じ「拍手する」というモーションクラスに属し、高次元空間で非常に類似するように見える場合には、判別モデルは、ベクトルza およびzc を低次元空間でも類似するようにデータを射影する。このように、判別モデルは異なるモーションクラス間で混同を招く領域を避けるように構成されるため、複数のモーションクラスの追跡を正確に行うことができる。
【００３０】
判別の処理では、異なるモーションクラスに属するデータどうしは、各データ点とこれに対応する近傍データ点との距離の合計であるクラス間の乖離性を増大させ、同時に、同じモーションクラスに属するデータどうしは、各データ点とこれに対応する近接データ点との距離の合計であるクラス間のばらつきを低減させる。このような２つのやり方を用いる利点は、多くの従来技術とは対照的に、データをガウス分布に追従させる前提に依存していないことである。
【００３１】
一実施形態では、Local DiscriminantEmbedding （以下、LDEという）（または周辺フィッシャー解析（Marginal Fisher Analysis））により、判別モデル２３０を生成して、高次元空間から低次元空間へデータを射影する。LDEおよび周辺フィッシャー解析の詳細は、Chen，H．らの「Local Discriminant Embedding and Its Variants」、Ｐｒｏｃ.  ＩＥＥＥ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ  ａｎｄ  Ｐａｔｔｅｒｎ  Ｒｅｃｏｇｎｉｔｉｏｎ、２０００年、ＰＰ１２６−１３３、およびYanらの「Graph Embedding: A General Framework for Dimensionality Reduction」、Ｐｒｏｃ.  ＩＥＥＥ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ  ａｎｄ  Ｐａｔｔｅｒｎ  Ｒｅｃｏｇｎｉｔｉｏｎ、２００５年、ＰＰ８３０−８３７に記載される。なお、これらの文献に記載されるすべての内容をここに引用する。さらに詳細な説明は、He, X.の「Locality Preserving Projections」、ＮＩＰＳ、２００３年にも記載される。なおこの文献に記載されるすべての内容をここに引用する。
【００３２】
2009514109.tif 000004
【００３３】
クラス間のばらつきを下の式１のように算出する（Ｓ５１０）
【００３４】
【数１】
2009514109.tif 000005
【００３５】
2009514109.tif 000006
【００３６】
クラス間の乖離性を下の式２のように算出する（Ｓ５２０）。
【００３７】
【数２】
2009514109.tif 000007
【００３８】
2009514109.tif 000008
【００３９】
次に、下の一般固有ベクトルの問題を解いて射影行列 V を求める（Ｓ５３０）。
【００４０】
【数３】
2009514109.tif 000009
【００４１】
2009514109.tif 000010
【００４２】
ダイナミックな人体モーションモデルを用いることで、モーション追跡の精度をさらに向上させることができる。短い時間の運動は連続する傾向があるという認識に立つならば、モーションを自己回帰処理することで実際にモデル化することが可能である。このようなモデルは次の文献に記載される手法の一部に基づく：前出のWangとNorth、および Agarwal， A．とB．Triggsらの「Tracking Articulated Motion Using a Mixture of Autoregressive Models」ＥＣＣＶ、２００４年、および、Li，Y．らの「Motion Texture: A Two-Level Statistical Model for Character Motion Synthesis」、ＳＩＧＧＲＡＰＨ、２００２年。なお、これらの文献に記載されるすべての内容をここに引用する。
【００４３】
再び図３に戻って、クラスタ化アルゴリズムを用いて、データをモーションパターンごとに低次元空間でクラスタに分割する（Ｓ３０８）。一実施形態では、クラスタ化アルゴリズムとしてK-meansアルゴリズムを用いる。各クラスタが連続するシーケンスで形成されるように、各サンプル点 zi ごとに時間スタンプ tiを検討する。このようにして、一実施形態では、低次元空間で類似していても、極めて異なる時間スタンプtを有するような状態ベクトルzは別々にクラスタ化する。例えば、低次元の状態ベクトル za と zbとは非常に類似しており、時間的にも非常に近似する場合、このような状態ベクトルは同じモーションセグメントの一部である可能性が極めて高く、同じクラスタにまとめる必要がある。しかし、類似する状態ベクトルが時間的に乖離している場合には、これらのベクトルは同じモーションセグメントの一部である可能性は低いため、異なるモーションセグメントに属する類似ポーズとして表現するようにしてもよい。このように、クラスタ化アルゴリズムは、時間的に連続するサンプルのベクトルを１つのセグメントにクラスタ化するものである。
【００４４】
追跡の誘導を支援するために、モーションセグメントごとにモーションダイナミクスを学習する（Ｓ３１０）。なお、モーションダイナミクスは、二次元または三次元のモーションから構成されていてもよい。一実施形態では、自己回帰処理（ARP: Auto-regressive Process）を用いて、下の式４により各セグメントのモーションパターンを学習する。
【００４５】
【数４】
2009514109.tif 000011
【００４６】
2009514109.tif 000012
【００４７】
追跡ステージ２５０は、学習モデルに基づいて定型化モーションパターンのセットを追跡するように構成される。追跡作業では、図４に示すように、人体モデルを用いて人体を表現する。一実施形態では、人体モデルを構成するデータは、パラメータのサブセットを２つ組み合わせたもの、つまり、（例えば、骨格関節４０４で表される）ポーズ状態と人体部位４０８とを組み合わせたものである。このように分解可能なモデルを用いれば、演算を２つのサブセットに配分して、それぞれで次元数を低減することができる。これらの２つのサブセットを相互に統合して人体構成を決定する、つまり、骨格関節４０４は、一般的かつ包括的な人間の運動を考慮した、抽象的な「スタイル」のモーションを表わす。また、人体部位４０８はモーションのコンテンツであり、異なる衣服を着た異なる人ごとに異なる。
【００４８】
人体部位４０８は、人体部位の記述子（Descriptors）のセットにより表される。一実施形態では、四肢、胴体部、頭部を表す四角形を用いて各人体部位を表す。別の実施形態では、異なる形状を用いて人体部位を表す。各人体部位４０８は、中心点、高さ、幅、大きさおよび方向性に関するパラメータを有する。人体部位４０８は、平行移動、回転、スケーリングなどの方向性に関する操作が行えるようにしてもよい。
【００４９】
一実施形態では、各種のヒストグラムを人体部位の記述子として用いる。例えば、色ヒストグラム、勾配配向ヒストグラムおよび色距離ヒストグラムなどを用いるようにしてもよい。色ヒストグラムは、画像中の各ピクセルの色をカウントして画像を表示するような従来のヒストグラムである。勾配配向ヒストグラムは、画像のエッジ情報を提供する表現である。人体部位のピクセルごとに勾配の方向性と大きさの両方を演算する。続いて、方向性を所定のbin数に数値化し、各勾配の大きさを対応するbinに加える。
【００５０】
色距離ヒストグラムは、色ピクセルの空間分布を表す。色距離ヒストグラムは、色ピクセルが人体部位においてどのように分布するのかを記述するものであり、色ヒストグラムは同じであるが色ピクセルの空間分布が極めて異なるような候補者間で生じる混同を低減させることができる。色距離ヒストグラムを算出するときには、ピクセルの強さのレンジを所定のbin数に数値化する。ピクセルごとに、人体部位の中心までのピクセル距離を算出して、この距離を当該ピクセルの強さを表すbinに加える。このようにして、色ピクセルの強さと空間構成を考慮する。
【００５１】
図６に示す追跡ステージ２５０では、追跡するモーションを含んだ人体モーションデータ２４０（例えば、ビデオなど）から画像を受信する（Ｓ６０２）。一実施形態では、多くの従来技術とは対照的に、受信した画像について背景減算を行わない。現在の骨格ベクトルxc をzc = VTxcにより低次元空間へ射影する（Ｓ６０４）。この場合、Vは学習ステージ２２０で生成した射影行列である。次に、骨格の将来のポーズ状態を予測するためのポーズ予測を生成する（Ｓ６０８）。ここで、図７に、Ｓ６０８でのポーズ予測を生成する方法に関する一実施形態を示す。各々が異なるモーションセグメントによって構成される、ベクトルzcの最近傍Pを判定する（Ｓ７０２）。一実施形態では、最近傍Pは所定の数値である。次に、最近傍Pの各々についてモーション種類を判定する（Ｓ７０４）。複数の異なるモーションセグメントで構成される最近傍Pについて学習したモーションダイナミクスを用いて、最近傍ごとにポーズ予測を生成する（Ｓ７０６）。このように、異なるモーションセグメントごとに学習したモーションダイナミクスに基づいて予測を生成する（Ｓ６０８）。一実施形態では、前記の式４で記載した自己回帰処理を用いてポーズ予測を生成する。
【００５２】
低次元空間Ｌで骨格構成が得られると、これ対応する骨格を元の高次元空間Ｈに再構成して予測ポーズを得る（Ｓ６１０）。
ここで、基本的な前提として、局部形状は元の空間と低次元空間のいずれにおいても一致していることとする。近傍部を再構築する手法を用いて、低次元空間の予測ポーズ zP から元の高次元空間に予測ポーズ xP を再構築する。このような手法は次の文献に記載される手法と類似する：Roweis, S.およびL.K. Saulらの「Nonlinear Dimensionality Reduction By Locally Linear Embedding」Ｓｃｉｅｎｃｅ、２０００年、第２９０巻、ＰＰ２３２３−２３２６。なお、この文献に記載されるすべての内容をここに引用する。
【００５３】
低次元空間の予測ポーズzpから元の高次元空間の予測ポーズxpを再構築するときには、まずzpの最近傍を決定する。次に、決定した最近傍から最適なzpを再構築するための線形係数を、最小二乗法を用いて算出する。ここで、低次元空間Lの予測ポーズzpの近傍から、高次元空間Hの対応するポーズ状態がすでに分かっている。次に、前記の算出した係数を用いて、これらのポーズ状態を線的に結ぶことでxpを再構築する。
【００５４】
人体部位と前記の通りに予測した骨格との最適または略最適な組み合わせを決定する（Ｓ６１２）のだが、これを行うためには、人体部位４０８と骨格４０４とを一致（フィット）させる必要がある。そこで、人体の各部位を、可能性のある予測骨格Sp のp=1, ..., Pそれぞれでフィットさせる。人体部位の構成形態（topology）を表す１つの方法として、グラフG = (V, E)を用いるのだが、この場合の頂点{V1, ..., VQ}は、Q個の人体部位（例えば、図４ではQ = 10）にそれぞれ対応する。エッジe（vi, vj）を、例えば、頭部と胴体部などの各接続部位viとvjとに割り当てる。グラフＧのパラメータには骨格SPの構成とQ個すべての人体部位Bi,i=1,...,Qの構成が含まれており、このグラフGの費用関数を最小化するような最適なフィッティングを公式化することができる。
【００５５】
人体部位Biごとの費用関数 m（Bi）を下の式５を用いて記述することができる。
【００５６】
【数５】
2009514109.tif 000013
【００５７】
2009514109.tif 000014
【００５８】
【数６】
2009514109.tif 000015
【００５９】
2009514109.tif 000016
【００６０】
従来の手法とは対照的に、可能な骨格数を前記の最近傍Pに基づいた予測だけに制限することで、演算を大幅に低減することができる。判別モーションモデリングは、トレーニングデータに複数のモーションクラスが存在する場合に発生する紛らわしい領域を低減することができるため、このような局所近傍の検索に好適に用いられる。また、人体部位のフィッティングを指数時間ではなく多項式時間で解くような動的計画法（dynamic programming）を用いることで、演算費用をさらに低減することができる。このような手法は、Felzenszwalb, P.F.の「Efficient Matching of Pictorial Structures」、ＩＥＥＥ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ  ａｎｄ  Ｐａｔｔｅｒｎ  Ｒｅｃｏｇｎｉｔｉｏｎ、２０００年、ＰＰ６６−７３、で用いられる手法の一部に基づいている。なお、この文献に記載されるすべての内容をここに引用する。
【００６１】
子を持たない任意の頂点（つまり、ツリーの任意のリーフ）vjについては、その最適な構成を親viの関数として算出することができる。
【００６２】
【数７】
2009514109.tif 000017
【００６３】
また、親viと子の両方を有する任意の頂点vjについては、Bjの構成が与えられるならば、子すべての最適なロケーションが分かる。ここで、CBjは子すべてについての最適な費用を示しているとし、vjの最適な構成は下の式８の通りである。
【００６４】
【数８】
2009514109.tif 000018
【００６５】
根の頂点（root vertex）vrの最適な構成は、次の通りに求めることができる。
【００６６】
【数９】
2009514109.tif 000019
【００６７】
つまり、人体部位と骨格とのフィッティングは、下腕、下肢などのリーフ部から始めて、次に、その親である上腕および上肢に接続させて、最後に根である頭部に到達するようにして行う。リーフ部を持たない各ノードには、そのノード自体の構成を与えることで最適な子が記録される。この後に、人体部位ごとの最適な構成を、根部からリーフ部に向かって追跡して決定する。なお、ここでの演算は多項式O(Q n2)である。
【００６８】
前記の通りに、本発明の特定の実施形態と応用例について事例し、説明したが、本発明はここに開示される厳密な構成や要素のみに限定されるものではなく、付属の請求項に定義される発明の技術的思想と範囲から逸脱しない限りにおいて、本発明の方法および装置の構成、作業、詳細について各種の修正、変更、変形が可能であることは理解できるであろう。
【図面の簡単な説明】
【００６９】
【図１】本発明の一実施形態に係わるコンピュータシステムを示す図である。
【図２】本発明の一実施形態に係わる入力／出力に関するブロック図である。
【図３】本発明の一実施形態に係わるオフライン学習ステージを示すフロー図である。
【図４】本発明の一実施形態に係わる人体モデルを示す図である。
【図５】本発明の一実施形態に係わる判別モデルを用いた方法を示すフロー図である。
【図６】本発明の一実施形態に係わる追跡ステージを示すフロー図である。
【図７】本発明の一実施形態に係わる予測ポーズを生成する方法を示すフロー図である。
【図１】
2009514109.tif 000020
【図２】
2009514109.tif 000021
【図３】
2009514109.tif 000022
【図４】
2009514109.tif 000023
【図５】
2009514109.tif 000024
【図６】
2009514109.tif 000025
【図７】
2009514109.tif 000026