(57)【特許請求の範囲】
【請求項１】
身体姿勢推定のための写像関数を決定するコンピュータを用いた方法であって、
前記コンピュータのプロセッサは、
移動する被写体の２次元訓練画像シーケンスと、前記移動する被写体の前記２次元訓練画像シーケンスに対応する３次元身体姿勢表現のシーケンスと、を受け取り、
前記２次元訓練画像シーケンス中の前記２次元訓練画像のそれぞれに対応する、前記２次元訓練画像シーケンス中の前記移動する被写体の外観を表現する外観パッチと、前記２次元訓練画像シーケンスの複数の画像フレーム間での前記被写体の動作を表現する動作パッチとのセットを決定し、
前記外観パッチ及び前記動作パッチから特徴を抽出し、
前記抽出された特徴に少なくとも部分的に基づく多次元ブースト回帰を、前記外観パッチ及び前記動作パッチに対して適用して、前記２次元訓練画像の外観パッチと動作パッチとのセットのそれぞれを、前記被写体の３次元身体姿勢表現に写像する前記写像関数を導出し、
前記多次元ブースト回帰を適用することは、
前記写像関数を初期値に初期化し、
前記被写体の姿勢と、前記２次元訓練画像シーケンスに対して前記写像関数を適用した結果との間の差を表現する擬残差を計算し、
前記計算された擬残差に基づいて、特徴のセットのうちの最適な特徴及び最適な閾値を決定し、
前記最適な特徴及び前記最適な閾値を使用して、学習子関数のパラメータを決定し、
前記学習子関数を前記写像関数と結合して、前記写像関数を更新することを含むこと、
を特徴とする方法。
【請求項２】
前記プロセッサは、
前記写像関数を記憶媒体に格納すること、
を特徴とする請求項１に記載の方法。
【請求項３】
前記外観パッチを決定することは、
前記２次元訓練画像シーケンスの画像フレーム内に前記被写体を発見し、
前記発見された被写体の境界を決める、前記画像フレームの部分を抽出すること、を含むこと、
を特徴とする請求項１に記載の方法。
【請求項４】
前記外観パッチを決定することは、
前記画像フレームの前記抽出された部分を、正規化パラメータに従って正規化することを含むこと、
を特徴とする請求項３に記載の方法。
【請求項５】
前記動作パッチを決定することは、
第１の画像フレームから抽出された第１の外観パッチと、第２の画像フレームから抽出された第２の外観パッチとの間の、画像値の差を計算することを含むこと、
を特徴とする請求項１に記載の方法。
【請求項６】
前記外観パッチ及び前記動作パッチから特徴を抽出することは、
特徴フィルタのセットを生成し、
前記特徴フィルタのセットから特徴フィルタのサブセットを無作為に選択し、
前記外観パッチ及び前記動作パッチに対して前記選択した特徴フィルタのサブセットを適用し、
前記特徴フィルタのサブセットの適用から結果として生じる特徴を出力すること、を含むこと、
を特徴とする請求項１に記載の方法。
【請求項７】
前記特徴フィルタのセットは、
複数の方位を有するHaarフィルタを含むこと、
を特徴とする請求項６に記載の方法。
【請求項８】
前記写像関数を初期値に初期化することは、
前記写像関数を前記姿勢の平均値を含む定数値に設定することを含むこと、
を特徴とする請求項１に記載の方法。
【請求項９】
前記学習子関数の前記パラメータを決定することは、
前記最適な特徴及び前記最適な閾値に基づいて、前記２次元訓練画像シーケンスから、画像の第１のセット及び画像の第２のセットを決定し、
前記画像の第１のセットに対応する第１の領域内で計算された残差の平均値を表現する第１のパラメータを決定し、
前記画像の第２のセットに対応する第２の領域内で計算された残差の平均値を表現する第２のパラメータを決定することを含むこと、
を特徴とする請求項１に記載の方法。
【請求項１０】
前記学習子関数を前記写像関数と結合することは、
学習率によって前記学習子関数をスケーリングし、
前記スケーリングされた学習子関数を前記写像関数に加えることを含むこと、
を特徴とする請求項１に記載の方法。
【請求項１１】
高速人間身体姿勢推定のためのコンピュータを用いた方法であって、
前記コンピュータのプロセッサは、
移動する被写体の２次元テスト画像シーケンスを受け取り、
前記２次元テスト画像シーケンス中の前記移動する被写体の外観を表現する外観パッチと、前記２次元テスト画像シーケンスの複数の画像フレーム間での前記被写体の動作を表現する動作パッチとのセットを前記２次元テスト画像シーケンスから決定し、
前記外観パッチ及び前記動作パッチに対して、学習された写像関数を適用して、前記２次元テスト画像の外観パッチと動作パッチとのセットのそれぞれを、前記２次元テスト画像シーケンス中の前記移動する被写体の３次元身体姿勢表現を含む多次元出力に対して写像し、
前記学習された写像関数は、
訓練画像シーケンスについて実行される多次元ブースト回帰から導出され、
前記多次元ブースト回帰は、
前記訓練画像シーケンスから抽出された特徴に少なくとも部分的に基づいており、
前記学習された学習関数は、
前記写像関数を初期値に初期化し、
前記被写体の姿勢と、前記訓練画像シーケンスに対して前記写像関数を適用した結果との間の差を表現する擬残差を計算し、
前記計算された擬残差に基づいて、特徴のセットのうちの最適な特徴及び最適な閾値を決定し、
前記最適な特徴及び前記最適な閾値を使用して、学習子関数のパラメータを決定し、
前記学習子関数を前記写像関数と結合して、前記写像関数を更新することによって導出され、
前記コンピュータのプロセッサは、
前記テスト画像表現を表現する前記外観パッチ及び前記動作パッチに対して前記学習された写像関数を適用した結果である身体姿勢推定を出力すること、
を特徴とする方法。
【請求項１２】
前記動作パッチを決定することは、
第１の画像フレームから抽出された第１の外観パッチと、第２の画像フレームから抽出された第２の外観パッチとの間の、画像値の差を計算することを含むこと、
を特徴とする請求項１１に記載の方法。
【請求項１３】
前記抽出された特徴は、
特徴フィルタのセットを生成するステップと、
前記特徴フィルタのセットから、特徴フィルタのサブセットを無作為に選択するステップと、
前記選択した特徴フィルタのサブセットを前記外観パッチ及び前記動作パッチに適用するステップと、
前記フィルタのサブセットを適用した結果である特徴を出力するステップと、を含む処理に従って導出されること、
を特徴とする請求項１１に記載の方法。
【請求項１４】
身体姿勢推定のための写像関数を決定するコンピュータを機能させるプログラムであって、
前記プログラムは、
前記コンピュータのプロセッサに対して、
移動する被写体の２次元訓練画像シーケンスと、前記移動する被写体の前記２次元訓練画像シーケンスに対応する３次元身体姿勢表現のシーケンスと、を受け取り、
前記２次元訓練画像シーケンス中の前記２次元訓練画像のそれぞれについて、前記２次元訓練画像シーケンス中の前記移動する被写体の外観を表現する外観パッチと、前記２次元訓練画像シーケンスの複数の画像フレーム間での前記被写体の動作を表現する動作パッチとのセットを決定し、
前記外観パッチ及び前記動作パッチから特徴を抽出し、
前記抽出された特徴に少なくとも部分的に基づく多次元ブースト回帰を、前記外観パッチ及び前記動作パッチに対して適用して、前記２次元訓練画像の外観パッチと動作パッチとのセットのそれぞれを、前記被写体の３次元身体姿勢表現に写像する前記写像関数を導出するステップを実行させ、
前記多次元ブースト回帰を適用することは、
前記写像関数を初期値に初期化し、
前記被写体の姿勢と、前記２次元訓練画像シーケンスに対して前記写像関数を適用した結果との間の差を表現する擬残差を計算し、
前記計算された擬残差に基づいて、特徴のセットのうちの最適な特徴及び最適な閾値を決定し、
前記最適な特徴及び前記最適な閾値を使用して、学習子関数のパラメータを決定し、
前記学習子関数を前記写像関数と結合して、前記写像関数を更新することを含むこと、
を特徴とするプログラム。
【請求項１５】
前記プログラムは、
前記コンピュータのプロセッサに対し、
前記写像関数を記憶媒体に格納するステップを実行させること、
を特徴とする請求項１４に記載のプログラム。
【請求項１６】
前記動作パッチを決定することは、
第１の画像フレームから抽出された第１の外観パッチと、第２の画像フレームから抽出された第２の外観パッチとの間の、画像値の差を計算することを含むこと、
を特徴とする請求項１４に記載のプログラム。
【請求項１７】
前記外観パッチ及び前記動作パッチから特徴を抽出することは、
特徴フィルタのセットを生成し、
前記特徴フィルタのセットから特徴フィルタのサブセットを無作為に選択し、
前記外観パッチ及び前記動作パッチに対して前記選択した特徴フィルタのサブセットを適用し、
前記特徴フィルタのサブセットの適用から結果として生じる特徴を出力することを含むこと、
を特徴とする請求項１４に記載のプログラム。
【請求項１８】
身体姿勢推定のための写像関数を決定するシステムであって、
前記システムは、
移動する被写体の２次元訓練画像シーケンスと、前記移動する被写体の前記２次元訓練画像シーケンスに対応する３次元身体姿勢表現のシーケンスと、を受け取る入力制御装置と、
プロセッサと、
前記プロセッサによって実行される訓練モジュールを格納するコンピュータ読取可能な記憶媒体と、
を有し、
前記訓練モジュールは、
前記２次元訓練画像シーケンス中の前記２次元訓練画像のそれぞれに対応する、前記２次元訓練画像シーケンス中の前記移動する被写体の外観を表現する外観パッチと、前記２次元訓練画像シーケンスの複数の画像フレーム間での前記被写体の動作を表現する動作パッチとのセットを決定し、
前記外観パッチ及び前記動作パッチから特徴を抽出し、
前記抽出された特徴に少なくとも部分的に基づく多次元ブースト回帰を、前記外観パッチ及び前記動作パッチに対して適用して、前記２次元訓練画像の外観パッチと動作パッチとのセットのそれぞれを、前記被写体の３次元身体姿勢表現に写像する前記写像関数を導出し、
前記写像関数を初期値に初期化し、
前記被写体の姿勢と、前記２次元訓練画像シーケンスに対して前記写像関数を適用した結果との間の差を表現する擬残差を計算し、
前記計算された擬残差に基づいて、特徴のセットのうちの最適な特徴及び最適な閾値を決定し、
前記最適な特徴及び前記最適な閾値を使用して、学習子関数のパラメータを決定し、
前記学習子関数を前記写像関数と結合して、前記写像関数を更新すること、
を特徴とするシステム。
【請求項１９】
前記動作パッチを決定することは、
第１の画像フレームから抽出された第１の外観パッチと、第２の画像フレームから抽出された第２の外観パッチとの間の、画像値の差を計算することを含むこと、
を特徴とする請求項１８に記載のシステム。
【請求項２０】
前記訓練モジュールは、
特徴フィルタのセットを生成し、
前記特徴フィルタのセットから特徴フィルタのサブセットを無作為に選択し、
前記外観パッチ及び前記動作パッチに対して前記選択した特徴フィルタのサブセットを適用し、
前記特徴フィルタのサブセットの適用から結果として生じる特徴を出力すること、
を特徴とする請求項１８に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、２００６年１２月６日付けの、“Fast Human Pose Estimation Using Appearance and Motion via Multi-Dimensional Boosting Regression”と題する米国特許仮出願第６０／８６８，８３０号を基礎とする優先権を主張し、この出願はその全体がここに引用される。
【０００２】
本発明は、一般的には、コンピュータビジョンに関する。より具体的には、動作追跡のための高速人間姿勢推定に関する。
【背景技術】
【０００３】
現代コンピュータビジョンにおける重要課題は、ビデオシーケンスにおいて複数の人間について人体全体の追跡を如何に行うか、ということである。人間追跡の適用は、ビデオ監視、ジェスチャ分析、人間−コンピュータインタフェイス及びコンピュータアニメーションを含む。例えば、スポーツビデオゲームを創作する際、ゲームの登場人物をリアルに動かすためには、アスリートの３次元（３Ｄ）動作を追跡することが望ましい。生物学的な適用例では、人間関節の動きに関する課題を分析し解決する際に、３Ｄ動作追跡は重要な役割を果たす。従来の３Ｄ動作追跡においては、被写体が、特別なマーカの付された服を着用したうえで動作を実演し、その動作が複合３Ｄキャプチュアシステムによって記録される。しかしながら、特別な設備や十分なスタジオ撮影時間を要することから、このような３次元動作キャプチャシステムは高くつく。さらに、従来の３次元モーションキャプチャシステムは、相当な後処理作業を必要とし、この作業が、伝統的な３次元追跡方法をより高価で時間のかかるものにしている。
【０００４】
特別なマーカ又は特別な動作キャプチャ設備を必要とせずに、２Ｄ入力画像シーケンスから３Ｄ人間動作を追跡するという課題を解決するために、多くの努力が払われてきている。しかしながら、この課題は、いくつかの理由から、相当に困難であるといえる。第１に、３Ｄ姿勢情報は２Ｄ画像から推定されることから、所与の入力に対して信憑性のある解が多数存在する。隠蔽部分がある場合、このことは特に当てはまる。第２に、人体は、多数のパーツが関節で繋がってできており、これらのパーツの形状及び外観が、照明、衣服、視点及び姿勢のような妨害要因に起因して、画像中で変化する。第３に、許容される解（すなわち、人体の全パーツの全ての可能な位置及び方位）の空間が極端に大きく、この空間のなかから最適な形状を探し出そうとすると、直接的に解を出すには多くのコンピュータパワーを消費する組合せ問題となる。
【０００５】
人間追跡問題が呈する多くの困難に起因して、従来の追跡装置は、生来的に不完全であり、追跡装置は、不正確な推定を提供することに甘んじるか、軌跡全体を失うかのいずれかであるという条件が存在することになる。あるフレームから次のフレームへの間に体肢が大きく移動する高速動作の場合、このことは特に当てはまる。軌跡が失われた際、追跡装置を再初期化するために、典型的には１つの推定姿勢が使用され、追跡装置に対して、それを起点として再追跡が可能な１つの初期姿勢形状を与える。
【０００６】
しかしながら、何ら事前知識がないままで１つの画像から姿勢を推定すること自体が、困難な問題である。従来、この問題は、決定論的最適化、発生モデルを超えた推論、画像領域のセグメント化及びグループ化、又は標本化問題として位置付けられてきた。従来提案されてきた解は、非常に制約が多い外観モデルを前提にするか、信頼性はないものの特定の画像（例えば、スポーツ選手やアスリート）中では目印となりうる皮膚の色や顔の位置のような、キューを使用するかのいずれかであった。姿勢推定作業の大部分は、人体シルエットから３Ｄ姿勢を推定するという、単純化問題に焦点を合わせている。これらのアプローチは、シルエットから姿勢に対する、直接的写像、１対多の写像、及び確率論的混合としての写像のいずれかを学習することを試みている。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来の解決手段は、リアルタイム人間追跡において効果的に使用されるために充分正確かつ高速な姿勢推定を提供していなかった。さらに、従来の姿勢推定器は、入力された画像シーケンスによって提供された外観及び動作情報の両者を活かすことができなかった。したがって、必要とされているのは、外観及び動作特徴を使用する高速姿勢推定のための改良されたシステム及び方法である。
【課題を解決するための手段】
【０００８】
（要約）
２次元画像シーケンス内の被写体を、３次元で姿勢推定する方法及びシステムが開示される。訓練段階において、訓練モジュールは、入力画像シーケンスと、入力画像シーケンス内の被写体の姿勢との間の写像関数を決定する。訓練モジュールは、訓練画像の１つのシーケンスと、画像内の被写体の既知の姿勢の１つのセットとを受け取る。訓練モジュールは、訓練画像のシーケンスの個別画像を生成する。ある実施形態においては、個別画像は、被写体の外観を表現する外観パッチと、複数の画像フレーム間の被写体の動きを表現する動作パッチを含む。こうして、個別画像から、特徴が抽出される。ある実施形態においては、特徴のセットは、様々な方法で計算されたHaar-like特徴を含む。訓練画像のシーケンス内に抽出された特徴に基づいて、訓練モジュールは、１つの多次元回帰関数を学習する。多次元回帰関数は、個別画像と、既知の姿勢に対応する多次元ベクトル出力との間の写像を提供する。ある実施形態においては、多次元ベクトル出力は、その姿勢を完全に記述する複数の関節角度の１つのベクトルを含む。
【０００９】
テスト段階においては、テストモジュールが、未知の姿勢形状内の１つの被写体を含むテスト画像シーケンスを受け取る。訓練段階からの学習された写像関数が、受け取られたテスト画像シーケンスに対して適用される。学習された写像関数は、被写体の１つの姿勢推定を供給する１つの多次元ベクトルを出力する。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施形態に係るコンピュータシステムの一例である。
【図２】姿勢推定モジュールの一実施形態を示すブロック図である。
【図３】高速人間姿勢推定のための写像関数の学習処理の一実施形態を示すフローチャートである。
【図４】外観パッチ及び動作パッチの生成処理の一実施形態を示すフローチャートである。
【図５】個別画像から特徴を抽出する処理の一実施形態を示すフローチャートである。
【図６Ａ】様々な方位のHaar特徴の一例である。
【図６Ｂ】様々な方位のHaar特徴の一例である。
【図６Ｃ】様々な方位のHaar特徴の一例である。
【図７】写像関数学習処理の一実施形態を示すフローチャートである。
【図８】テスト画像シーケンスの高速人間姿勢推定処理の一実施形態を示すフローチャートである。
【発明を実施するための形態】
【００１１】
本発明の一実施形態を、図を参照しつつ説明する。複数の図にまたがって同様の参照番号が記される場合、それらは同一の又は機能的に類似した構成要素を意味する。本発明は、１つの２次元（２Ｄ）入力画像シーケンスから、１つの３次元（３Ｄ）人体姿勢を推定する人間追跡アプリケーション用の高速人体姿勢推定装置を提供する。ある第１の実施形態においては、姿勢推定装置は、従来の追跡モジュールを初期化し、追跡が失われた際に追跡装置を再初期化するために使用され得る。他の実施形態においては、姿勢推定装置は、画像シーケンスのフレーム毎に１つの姿勢推定を提供し得る。そして姿勢推定のシーケンス自体は、追跡装置の役割を果たす。従来の姿勢推定装置とは対照的に、本発明の姿勢推定モジュールは、ビデオのフレーム毎に実行される程度に高速であり、リアルタイム追跡アプリケーションに使用され得る。画像シーケンスから外観情報及び動作情報の両者を開発することによって、姿勢推定装置は、高度な正確性を以って動作する。
【００１２】
図１は、本発明の一実施形態が動作するコンピュータシステム１００を示している。コンピュータシステム１００は、プロセッサ１１０、入力制御装置１０２及びメモリ１０４を含む。
【００１３】
プロセッサ１１０は、データ信号を処理し、複合命令セットコンピュータ（ＣＩＳＣ）アーキテクチャ、縮小命令セットコンピュータ（ＲＩＳＣ）アーキテクチャ、又は命令セットの組合せを実装するアーキテクチャのような様々なコンピューティングアーキテクチャを含み得る。図１においては単一のプロセッサが示されているが、複数のプロセッサが含まれていてもよい。プロセッサ１１０は、算術論理演算ユニット、マイクロプロセッサ、汎用コンピュータ、若しくは、メモリ１０４、入力制御装置１０２、又は出力制御装置１０８、からの電子データ信号を送信し、受信し、かつ処理し得る他の情報処理製品を含む。
【００１４】
入力制御装置１０２は、コンピュータシステム１００に対して入力（例えば、ビデオ入力）を提供する装置であればよい。ある実施形態においては、入力制御装置１０２は、
１つ又は複数のネットワーク１２０、データベース１３０及び画像キャプチュアユニット１４０（例えば、ビデオカメラ）から入力画像シーケンスを受け取るように作られている。出力制御装置１０８は、１つ又は複数のデータベース１５０、ネットワーク１６０及びディスプレイ１７０（例えば、有機発光ダイオードディスプレイ（ＯＬＥＤ）、液晶ディスプレイ（ＬＣＤ）、又は陰極管ディスプレイ（ＣＲＴ））に対して処理済のデータを出力する装置であればよい。
【００１５】
メモリ１０４は、プロセッサ１１０によって実行される命令やデータを格納する。命令は、ここで記述される任意の技術を実行するためのコードを含む。メモリ１０４は、動的ランダムアクセスメモリ（ＤＲＡＭ）デバイス、静的ランダムアクセスメモリ（ＳＲＡＭ）デバイス、フラッシュＲＡＭ（不揮発性ストレージ）、これらの組合せ、又は当業界に知られている他のメモリーデバイスであってもよい。メモリ１０４は、データストア１０７及び姿勢推定モジュール１０６を含み、プロセッサ１１０、入力制御装置１０２、及び／又は出力制御装置１０８と接続されている。姿勢推定モジュール１０６は、後記する姿勢推定処理を実現するためのコンピュータが実行可能な命令を有する。
【００１６】
本発明の主旨と範囲を逸脱せずに図１に示された構成より多くの又はより少ない構成をコンピュータシステム１００が含んでもよいことは、当業者にとっては明らかである。例えば、コンピュータシステム１００は、一次若しくは二次キャッシュ、又は１若しくは複数の特定用途集積回路（ＡＳＩＣｓ）のような追加メモリを含んでもよい。同様にコンピュータシステム１００は、追加的な入力装置又は出力装置を含んでもよい。
【００１７】
図２は、姿勢推定モジュール１０６の一実施形態を示す詳細ブロック図である。ある実施形態においては、姿勢推定モジュール１０６はコンピュータシステム１００のプロセッサ１１０によって実行される、コンピュータに実行可能な命令を有する。姿勢推定モジュール１０６は、データストア１０７に格納されたデータ又は入力制御装置１０２によって受け取られたデータを更に使用してもよい。姿勢推定モジュール１０６によって使用される出力データ及び中間データは、出力制御装置１０８によって出力され、及び／又は、データストア１０７によって格納され得る。当業者には明らかなように、姿勢推定モジュール１０６の代替的な実施形態は、ファームウエア、ハードウエア又はソフトウエアを組合せることによ実現可能である。
【００１８】
姿勢推定モジュール１０６は、訓練モジュール２０２及びテストモジュール２０４を有する。訓練モジュール２０２は、例えば、外部データベース１３０、ネットワーク１２０、又は画像キャプチュアユニット１４０から複数の２Ｄ訓練画像からなる１つのシーケンスを受け取る。訓練画像２０６は、既知の姿勢形状２０８を有する人間像を格納している。姿勢形状２０８もまた、訓練モジュール２０２に対して入力される。訓練画像２０６は、例えば、１つ若しくは複数の被写体の歩行シーケンス又は、任意の数の他の一般動作を有し得る。姿勢形状２０８は、例えば、関節角度のベクトル又は、３Ｄ姿勢を完全に記述する他のあらゆる情報の集合を有し得る。姿勢形状２０８は、あらゆる従来の３Ｄ動作キャプチュア技術を使用して入手され得る。訓練画像シーケンス２０６及び既知の姿勢形状２０８を使用して、訓練モジュール２０２は、訓練画像２０６内の情報と既知の３Ｄ姿勢形状２０８との間の関係を記述する写像関数２１０を学習する。別々の動作に対応する多数の別々の訓練画像シーケンス２０６で、訓練モジュール２０２は動作し得る。ある実施形態においては、それぞれの写像関数２１０が別々の動作タイプに対応する状態で、多数の写像関数２１０が学習される。典型的には、訓練段階は、１つのオフラインモードで実行されるので、写像関数２１０が学習される回数は１回だけである。一旦写像関数２１０が、訓練画像２０６及び姿勢形状２０８から学習されれば、写像関数２１０はデータストア１０７に格納され、テストモジュール２０４によって使用され得る。
【００１９】
学習された写像関数２１０は、入力テスト画像シーケンス２１４内に発見された人間被写体の３Ｄ姿勢推定の１つのシーケンスを生成するために、テストモジュール２０４によって使用される。テストモジュール２０４は、未知の姿勢形状の人間像を有するテスト画像シーケンス２１４を受け取り、写像関数を適用し、姿勢推定２１２を出力する。姿勢推定２１２は、画像内の被写体（例えば、人間）の姿勢を表現する多次元ベクトルを有する。例えば、３Ｄ姿勢推定２１２は、姿勢を記述する複数の関節角度の１つのベクトルを含み得る。テストモジュール２０４は、マーカ又は特別な動作キャプチュカメラを使用せずに、２Ｄテスト画像シーケンス２１４から、３Ｄ姿勢２１２を推定する。ある実施形態においては、テストモジュール２０４は、テスト画像シーケンス２１４を１つ１つの画像毎に受け取り姿勢推定２１２を生成できる程度に高速で動作する。このようにして、例えば、ビデオのフレーム毎に姿勢推定することが可能である。
【００２０】
図３は、高速人間姿勢推定のための写像関数２１０を学習する処理の一実施形態を示すフロー図である。訓練モジュール２０２は、訓練画像シーケンス２０６を受け取り（ステップ３０２）、画像シーケンス２０６から個別画像を生成する（ステップＳ３０４）。ある実施形態においては、個別画像は、訓練画像シーケンス２０６から引き出された動作パッチ及び外観パッチを有する。外観パッチは、画像フレーム内の被写体の外観を表現する、画像フレームからの情報を有する。動作パッチは、画像フレーム間の被写体の動きを表現する情報を有する。動作パッチ及び外観パッチを生成する処理は、図４に沿って更に詳しく後記する。
【００２１】
訓練モジュール２０２は、個別画像（例えば、動作パッチ及び外観パッチ）から特徴を抽出する（ステップ３０６）。特徴とは、例えば、様々な方位を有するエッジ及び／又は線のような、画像の特性のことである。特徴を抽出する処理は、図５に沿って更に詳しく後記する。
【００２２】
次に、訓練モジュール２０２は、写像関数２１０を学習する（ステップ３０８）。写像関数２１０は、抽出された特徴に部分的に基づき、個別画像を既知の人体姿勢形状２０８に対して対応付ける。例えば、ある実施形態においては、写像関数２１０は、動作パッチ及び外観パッチの入力ベクトルと、姿勢を表現する複数の関節角度の多次元ベクトルとの間の関係を記述する。写像関数２１０を学習する処理（ステップ３０８）は、図７に沿って更に詳しく後記する。
【００２３】
図４のフロー図は、訓練画像シーケンス２０６の個別画像を生成する処理（ステップ３０４）の一実施形態を示す。訓練モジュール２０２は、第１に、訓練画像シーケンス２０６から受け取った１つの画像フレーム内に人間像を発見する（ステップ４０２）。人間像発見処理は、当業者に知られており、一例が、P. Violaらの“Detecting Pedestrians Using Patterns of Motion and Appearance”ICCV, p.734-741,2003に更に詳しく記述されている。当該文献の内容は、その全体がここに引用される。発見ステップ４０２は、発見された人体像を画像フレーム内に境界を定める境界ボックスを出力する。
【００２４】
続いてステップ４０４の処理は、境界ボックスを使用して、画像フレームから、人体を含む画像パッチを抽出する。パッチは、例えば、明暗度及び分解能（パッチは、６４×６４のピクセルにまでスケーリングされ得る）のような別々の変数に従って正規化され得る。的確なパッチサイズが、目視に基づいて選択され得る。そしてそのサイズは、観測者が姿勢間の違いを認識できる程度の情報をパッチが含むことを保証するものとする。選択的に、背景ピクセルをマスク除去する背景減算技術を使用して、人体のシルエットが抽出され得る（ステップ４０８）。いくつかの実施形態においては、このことが、学習速度及び一般化能力を改善する。他の実施形態においては、ステップ４０８は省略される。ステップ４０２から４０６（選択的に４０８）までの出力結果は、１つの外観パッチIiであり、これは、１つの画像フレーム内の１人の人間の外観を表現している。ある実施形態においては、外観パッチIiは、ピクセル明暗度の２Ｄ行列によって表現される。代替的に、例えば、ウエーブレットベースの表現、ガバーフィルタ表現等のような他の表現も使用され得る。
【００２５】
次に、隣接フレーム間の画像値の差の絶対値を計算することによって、外観パッチから動作情報が計算される（ステップ４１０）。この情報は、画像パッチΔiとして示され、これは式（１）によって与えられる。
【００２６】
【数１】
0004677046.tif 000002
【００２７】
ある実施形態においては、前記したViolaらが記述する技術と同様の技術を使用し、第１の画像とシフトされた第２の画像との差を取ることによって、動作の方向が決定され得る。例えば、画像パッチIi+1は、１ピクセル分だけ上にシフトされ、シフトされた画像パッチIi+1と、直前の画像パッチIiとの差が決定され得る。同様に、画像パッチIi+1は、左に、右に又は下にシフトされ、Iiと比較され得る。この差に基づき、最もありそうな動作の方向が決定され得る。訓練モジュール２０２により考慮される特徴の数を制限するために、この追加情報源は選択的に省略され得る。
【００２８】
更に他の実施形態においては、動作パッチΔiは、連続する２より多いビデオフレーム間の一時的な情報を含む。正規化された外観パッチIi及び動作パッチΔiは、特徴を抽出し（ステップ３０６）写像関数２１０を学習する（ステップ３０８）ために使用されることになる入力ベクトルxi = {Ii, Δi }を形成する。
【００２９】
外観パッチIi及び動作パッチΔiから特徴を抽出する処理（ステップ３０６）の一実施形態を次に説明する。ある実施形態においては、前記したViolaらが記述する特徴と同様のHaar-like特徴が画像から抽出される。一般的に、サイズも位置も縦横比も異なる、画像内の複数の長方形領域間の差を測定する１セットのフィルタを、画像に対して適用することによって、Haar特徴は抽出される。積分画像から、非常に効率的に特徴が計算され得るという、長所がある。
【００３０】
しかしながら、Violaらの文献で適用されているHaarフィルタは、顔面、又は歩行者のいずれかを発見するために使用されており、人体全体の姿勢発見のために使用されてはいない。顔面又は歩行者の発見では、対象を背景から区別するには、一辺が約２０ピクセルある小型の画像パッチがあれば充分である。しかしながら、本発明の人体全体の姿勢問題においては、より高解像度なパッチを使用するのが望ましい（例えば、６４×６４ピクセル）。このことは、体肢の記述が、数ピクセルしかない領域に制限されてしまうのを防ぐ。高い分解能を使用するほど、ノイズに対する敏感度は下がり、高い性能を発揮する。しかしながら、パッチサイズを大きくすると、そのパッチに該当する基底Haar特徴の数も増加し（およそ、面積に比例する）、特徴抽出に使用される計算レベルも上昇する。そこで、大きな面積の外観パッチ及び動作パッチに対し、Haarフィルタを適用するコンピュータ負担を低減するために、後記する技術が使用される。
【００３１】
図５に、本発明の一実施形態に係る特徴抽出処理（テップ３０６）が示されている。ある実施形態においては、当該処理は、画像から一時的な空間情報を抽出するために、人体に合わせて作られた１セットの微分フィルタを使用する。画像フレームから３Ｄ姿勢推定への写像関数２１０学習するブースト処理において使用するための、特徴の大きなプールが創設される。第１に、フィルタのセットが生成される（ステップ５０２）。図６Ａ〜図６Ｃに示されるように、数個の主たる方位に計算された回転バージョンを導入することにより、基底垂直Haar特徴のセットが拡張される。このことは、特徴があらゆる任意の方位を有する体肢を分離することを可能にする。例えば、ある実施形態において、エッジ特徴の１つのタイプ（図６Ａ）と、線特徴の２つのタイプ（図６Ｂ、図６Ｃ）とが使用されており、それぞれの特徴が１８の互いに異なる方位を有し、それらの方位は、[0,π]の値域内で１８等分した角度だけ離隔している。例えば、図６Ｃの特徴は、体肢とマッチングするのに適している一方、図６Ａ及び図６Ｂの特徴は、胴体、頭部及び全身とマッチングするのに適している。特徴は、パッチの内側において、任意の位置を有し得る。
【００３２】
大きな特徴セットのコンピュータ負担を削減するために、ある実施形態は、特徴抽出のために適用されるフィルタのフルセットから、フィルタのサブセットを選択する。例えば、フィルタセットのそれぞれの四角形が、最小の面積（例えば、８０ピクセル）しか有さないように制限することができるし、及び／又は、縁からの距離を制限される（例えば、四角形は、縁から８ピクセル以上離れる）こともできる。更に、複数の四角形は、均等な幅及び均等な高さを有する四角形に制限されることもできる。更にフィルタの数を制限するために、フィルタのセットのうちからK個のフィルタを、一様標本化によって無作為に選択する（ステップ５０４）。次に、特徴を抽出するために、外観パッチ及び動作パッチに対してフィルタのセットを適用する（ステップ５０６）。このアプローチを使用して、画像パッチの回転バージョン上に計算された積分画像から、非常に効率的に、方位特徴が抽出され得る。当該処理は、画像毎にK個の特徴の１つのセットを出力する（ステップ５０８）。
0004677046.tif 000003
【００３３】
多次元写像関数２１０を学習する処理（ステップ３０８）の一実施形態を説明する。ブースト回帰処理は、写像関数２１０を構築するための基底成分として使用されるべき最も参考となる特徴を、特徴の大きなプールから自動的に選択する方法である。ブースト回帰技術の例は、J. H. Friedmanの“Greedy Function Approximation: A Gradient Boosting Machine,”Annals of Statistics, 29:1189-1232,2001.3,4、A Torralbaの“Sharing Features: Efficient Boosting Procedures for Multiclass Object Detection,”CVPR,2004及びS,K,Zhouらの“Image Based Regression Using Boosting Method,”ICCV,2005に記述されており、これらの文献の内容は、その全体がここに引用される。
【００３４】
0004677046.tif 000004
従来の処理においては、導関数F *(x)は、入力されたベクトルxをスカラの出力yに写像していた。したがって、各関節角度のベクトル全体を決定するためには、関節角度毎に別々の写像関数が学習され、適用される。典型的には、期待損失は、経験推定値によって近似され、回帰問題は式（２）のように書き表される。
【００３５】
【数２】
0004677046.tif 000005
【００３６】
基底関数hを用いてF(x)を追加的に拡大することによって、正規化が課され得る。
【００３７】
【数３】
0004677046.tif 000006
【００３８】
0004677046.tif 000007
0004677046.tif 000008
一般的に、hは、L -末端ノード分類回帰ツリー（ＣＡＲＴ）であって、そこでは、内部ノードが、特徴応答を閾値と比較することによって親ノードに関連付けられた区分を分割し、葉は最終値Am を記述する。ＣＡＲＴは、L.Brieman らの“Classification and Regression Tree,”Wadsworth & Brooks, 1984,4,6,8に更に詳しく記述されており、この文献の内容は、その全体がここに引用される。式（２）は、greedy stagewiseアプローチによって解くことができる。このアプローチでは、損失関数を最大に減少させる基底関数h(x; Am, Rm)のパラメータが、ステップm毎に決定される。
【００３９】
【数４】
0004677046.tif 000009
【００４０】
基底学習子hは、区分定値関数であるので、勾配降下法によって前記方程式を解きパラメータを求めることは、複雑な処理になる。hのRimについての偏微関数は、ディラックのデルタ関数である。勾配ツリーブーストは、２ステップアプローチで式（２）を解く、効果的な近似最小化スキームである。勾配ツリーブーストは、前記のJ. H. Friedmanによってより詳しく記述されている。
0004677046.tif 000010
【００４１】
【数５】
0004677046.tif 000011
【００４２】
第１に、当該処理は、基底学習子h(x; A, R)を擬残差に近似する最小二乗法により、入力空間区分Rm(L−ノード回帰ツリー)を発見する。
【００４３】
【数６】
0004677046.tif 000012
【００４４】
0004677046.tif 000013
【００４５】
【数７】
0004677046.tif 000014
【００４６】
0004677046.tif 000015
【００４７】
0004677046.tif 000016
【００４８】
【数８】
0004677046.tif 000017
【００４９】
入力区分R及び関数値Aの両方が、式（６）で計算される。この場合、勾配ツリーブーストアルゴリズムは、式（５）に帰着する。
【００５０】
0004677046.tif 000018
【００５１】
【数９】
0004677046.tif 000019
【００５２】
勾配ツリーブースト処理のある実施形態においては、推定された回帰ツリーは、現在の近似値を更新する前に、収縮パラメータ0 < ν < 1（例えばν = 0.5）によってスケーリングされる。ここで、νは、学習率（値が小さいほど、よい一般化に繋がる）を制御する。
【００５３】
【数１０】
0004677046.tif 000020
【００５４】
0004677046.tif 000021
【００５５】
【数１１】
0004677046.tif 000022
【００５６】
hsは、前記した基底学習子hの特別な場合であることが分かる。
0004677046.tif 000023
【００５７】
0004677046.tif 000024
更に、Zhouは、基底関数としての決定幹に制限されている一方で、本発明のブーストフレームワークは一般的な回帰ツリーをサポートしている。
【００５８】
次に、本発明の一実施形態に係る多次元写像を効果的に処理するために、前記した勾配ツリーブースト処理に対する拡張が提供される。
0004677046.tif 000025
姿勢推定への適用においては、例えば、pは、関節角度の数を表す。ある実施形態においては、関節角度の数は、関節の数に３を乗じた数になる。各関節は、３つの角度のセットによって表されるからである。入力xiは、訓練画像シーケンス２０６から先に導かれた、正規化された外観パッチ及び動作パッチである。出力yiは、画像シーケンス２０６に対応する既知の姿勢形状２０８のベクトルであり、例えば、姿勢を記述する関節角度のベクトルであってもよい。従来技術とは異なり、入力xi及び出力yiの両者ともベクトルである。このように、関数は、多数の写像関数を使用して関節角度を導くというよりは、所与の入力に対して関節角度の完備ベクトルを提供し得る。多次元ツリーブースト処理は、写像関数F(x)が基底区分定値（ベクトル）関数の合計として表現され得ることを前提としている。
【００５９】
【数１２】
0004677046.tif 000026
【００６０】
当該処理は、損失関数Ey,x = Ψ(y, F(x))の期待値を最小化する写像関数F(x)を決定する。
0004677046.tif 000027
姿勢推定の適用については、このことは、特徴の同じセットを共有し、従って表現の効率性を実質的に改善する関節角度回帰と結果的に同じとなる。
【００６１】
Haar特徴応答について決定幹を基底学習子として使用する、本発明の一実施形態に係る多次元勾配ツリーブーストのための処理が、図７に示され、以降に記述される。損失関数として、例えば、最小二乗（ＬＳ）又は最小絶対偏差（ＬＡＤ）を使用する処理が実行され得る。
【００６２】
当該処理は、反復アプローチを使用して写像関数２１０を導く。停止目標に達するまで、当該処理は写像関数２１０を繰返し更新する。以降の説明では、m回目の反復によって導かれた写像関数を、Fm (x)と記す。
【００６３】
当該処理は、第１に、写像関数２１０を、損失関数Ψ(y, F(x))を最小化する定値関数F0(x)に初期化する（ステップ７０２）。ＬＳ損失関数が使用される場合は、定値関数F0(x)は、訓練出力yiの平均値（すなわち、既知の姿勢形状２０８）に初期化される。ＬＡＤ損失関数が使用される場合は、定値関数F0(x)は、訓練出力yiの中央値に初期化される。
【００６４】
【数１３】
0004677046.tif 000028
【００６５】
0004677046.tif 000029
ＬＳ損失関数が使用される場合は、擬残差は、訓練残差yi - Fm-1(xi)から計算される（ステップ７０４）。ＬＡＤ損失関数が使用される場合は、擬残差は、訓練残差の符号から計算される
【００６６】
【数１４】
0004677046.tif 000030
【００６７】
擬残差は、既知の姿勢形状２０８と、訓練入力２０６に対して適用される現在の写像関数Fm-1(x)（すなわち、直前の反復において導かれた写像関数）の出力との間の誤差を記述する。最適な特徴km及びそれに対応する閾値θmを発見することによって、領域Rlmが計算される（ステップ７０６）。
【００６８】
【数１５】
0004677046.tif 000031
【００６９】
ある実施形態においては、入力空間を、決定ツリー又は決定幹を使用して、複数の領域Rlmに区分する。決定ツリー（及び幹）は、複数の領域（area）の中に、入力ベクトルを区分する。これらの領域は、幹を使用して順々に更に区分されうる。すなわち、情報が葉ノードで集められ得る。
0004677046.tif 000032
そして、最も誤差の小さい特徴が選択される。最小二乗目標が、値aiを効果的に発見することを可能にしている。最適の閾値θmをサーチしている間、出力の平均値が、特徴値によってインクリメントして計算されているだけであるからである。
【００７０】
式（１６）により、基底幹学習子hsの２つのベクトルパラメータa1, a2が決まる（ステップ７０８）。これらのベクトルパラメータは、直前のステップ７０６において発見された２つの領域内の残差の定値予測である。
【００７１】
【数１６】
0004677046.tif 000033
【００７２】
ＬＳ損失関数が使用される場合は、パラメータa1, a2は、各領域の単純残差の平均値として計算される。ＬＡＤ損失関数が使用される場合は、パラメータa1, a2は、単純残差の中央値として計算される。幹学習子関数hsは、学習率υによってスケーリングされたうえで現在の写像関数Fm-1(x)に加えられ（ステップ７１０）、更新された写像関数Fm(x)となる。
【００７３】
【数１７】
0004677046.tif 000034
【００７４】
当該処理は、M回だけ反復される（ステップ７１２）。ある実施形態においては、Mは、事前に決定された定値である。
0004677046.tif 000035
【００７５】
図７の処理は、幹に限定されることなく、任意の決定ツリー用に定式化され得る。例えば、分類回帰ツリー（ＣＡＲＴ）が、基底関数h(x)として適用され得る。区分定値関数をモデル化する決定ツリーも存在する。
0004677046.tif 000036
そして、末端の葉は、入力空間区分Rlmを定義する。
【００７６】
開示されている方法は、多次元回帰関数を導く勾配ブースト技術を、有利に提供する。関節角度毎に別々の回帰関数を学習することに替わって、人体全体の姿勢を表現する関節角度のセットに特徴を写像するベクトル関数が学習される。多次元写像を学習する効果のひとつは、関節角度推定量が、同じ特徴のセットを共有できるということである。自然な人間姿勢の関節角度間には高度の相関関係があるがゆえに、このことは有用である。姿勢推定量の計算は、スカラのカウンターパートを収集するよりも、明らかに高速である。姿勢推定量の計算が使用するのは、ターゲット空間の有効次元とともに増す特徴の数であって、その特徴の数は、関節角度の数とともに増すのではないからである。記述した実施形態は、異なる尺度（scales）の成分を有する多次元写像近似に向いており、拡張して、回帰ツリーのようなより複雑な基底関数を含んでもよい。
【００７７】
図８に、高速人間姿勢推定処理の一実施形態が示されている。テストモジュール２０４は、入力テスト画像を２１４を受け取り（ステップ８０２）、テスト画像の個別画像を生成する（ステップ８０４）。ある実施形態においては、個別画像は、前記した図４の処理に従って生成された外観パッチ及び動作パッチを有する。学習された写像関数２１０は、個別画像に対して適用される（ステップ８０６）。写像関数２１０は、例えば、テスト画像２１４内の被写体の姿勢を記述する複数の関節角度の１つのベクトルを有する姿勢推定を出力する（ステップ８０８）。効果として、写像関数２１０の適用は、姿勢を完全に記述するベクトル出力を生成する。ある実施形態においては、テストモジュールは、標準フレームレート（例えば、毎秒３０フレーム）を有するビデオ入力のフレーム毎に姿勢推定を提供するために充分な速度で、図８の処理を実行する。
【００７８】
本明細書において、“ある実施形態”又は“１つの実施形態”と言う場合は、本発明の少なくとも１つの実施形態に、その実施形態に関連して記述される１つの特徴又は構造が含まれていることを意味する。本明細書のあちこちに“ある実施形態では”という語が出現しても、必ずしも同一の実施形態を指しているわけではない。
【００７９】
詳細説明のいくつかの部分は、アルゴリズム用語や、コンピュータメモリ内のデータビット操作を示す象徴的な表現による。これらのアルゴリズム的な説明や表現は、情報処理分野の当業者が、自らの業績の要旨を、同分野の他の当業者に最も効率的に伝えるために用いる手段である。アルゴリズムとは、ここでは、そして一般的にも、ある所望の結果に至る複数のステップ（命令）の首尾一貫したシーケンスのことを言う。ステップとは、物理量に対する物理的操作を要求するステップのことである。必要条件ではないものの、通常、それらの数値は、記憶され、転送され、合成され、比較されかつ操作され得る、電子的、磁気的又は光学的信号の形を取る。これらの信号のことを、ビット、値、要素、シンボル、文字、語又は番号等と呼ぶことが主として用語の共通化の理由から便宜である。さらに、物理量に対する物理的操作を要求するステップの配列のうちいくつかのものは、一般性を失うことなく、モジュール又はコードデバイスと呼ぶことが便宜である。
【００８０】
しかし、このような用語の全ては適当な物理量と関連付けられており、これらの物理量に付された単なる便宜的なラベルに過ぎない。後記において特段の説明がない限り、明細書本文全体を通じて、“処理”、“コンピューティング”、“計算”、“決定”又は“表示”等の用語を用いた説明は、（電子的な）物理量としてのデータを、コンピュータシステムのメモリ、レジスタ又は他の情報ストレージのなかで操作しかつ変形するコンピュータシステムや同様の電子的コンピューティングデバイスの動作や処理のことを言う。
【００８１】
本発明のいくつかの側面は、アルゴリズムの形になったプロセスステップや命令を含む。本発明のプロセスステップや命令は、ソフトウエア、ファームウエア又はハードウエアによって実施され、ソフトウエアで実施される場合は、ダウンロードされることが可能であり、多様なオペレーティングシステムが用いる別のプラットフォームから操作されることも可能である。
【００８２】
本発明は、操作を実行する装置にも関する。この装置は、所与の目的を達成する専用装置であってもよいし、コンピュータに記憶されたコンピュータプログラムによって動作する汎用コンピュータであってもよい。このようなコンピュータプログラムは、コンピュータが読取り可能な媒体に記憶され得る。その媒体とは、コンピュータシステムバスに接続可能な、フロッピー（登録商標）ディスク、光ディスク、ＣＤ−ＲＯＭ、電磁光学的ディスク、ＲＯＭ、ＲＡＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、電磁的又は光学的カード、ＡＳＩＣ又は電子的命令を記憶し得るあらゆる媒体を含むが、これらに限定されない。さらに、本明細書で言うコンピュータは、単体のプロセッサを含んでもよいし、コンピュータ能力を増加させるために複数のプロセッサを用いた装置であってもよい。
【００８３】
ここでいうアルゴリズムやディスプレイは、もともと特定のコンピュータや他の装置に関係している訳ではない。ここで教示される内容に従って、プログラムとともに多様な一般目的システムが使用され得る。又は、必要とされる方法ステップを実行するためにさらに特化した装置を作成することも便宜である。これらのシステムのそれぞれについてどのような構成が必要となるかは、前記した明細書本文から明らかになる。さらには、本発明は特定のプログラム言語を参照して記載されるものではない。本発明の教示を実装するために、多様なプログラム言語が使用され得る。前記において特定の言語に言及した場合、それは本発明の実施可能性及びベストモードを開示するためである。
【００８４】
さらに、本明細書で使用される言語は、主として読み易さ及び教育目的から選択されているのであって、本発明の主旨を限定するために選択されているのではない。従って、本発明の開示は、特許請求の範囲にて記述されている本発明の範囲を例示するものであるが限定するものではない。
【符号の説明】
【００８５】
１００  コンピュータシステム
１０２  入力制御装置
１０４  メモリ
１０６  姿勢推定モジュール
１０７  データストア
１０８  出力制御装置
１１０  プロセッサ
１２０  ネットワーク
１３０  データベース
１４０  画像キャプチュアユニット
１５０  データベース
１６０  ネットワーク
１７０  ディスプレイ
２０２  訓練モジュール
２０４  テストモジュール
２０６  訓練画像シーケンス
２０８  ３次元姿勢形状
２１０  写像関数
２１２  ３次元姿勢推定
２１４  テスト画像シーケンス
【図１】
0004677046.tif 000037
【図２】
0004677046.tif 000038
【図３】
0004677046.tif 000039
【図４】
0004677046.tif 000040
【図５】
0004677046.tif 000041
【図７】
0004677046.tif 000042
【図８】
0004677046.tif 000043
【図６Ａ】
0004677046.tif 000044
【図６Ｂ】
0004677046.tif 000045
【図６Ｃ】
0004677046.tif 000046