(57)【要約】【課題】無制約でマーカを用いない、人の手の動きをリアルタイムで取得する装置を提供する。【解決手段】手トラッカ９０は、３次元手モデル１１６の記憶部と、肌色バイナリマップ１４０とエッジ画像１４２とを抽出する画像プロセッサ１０４と、肌色バイナリマップ１４０とエッジ画像１４２とに基づき、手モデル１１６にパーティクルフィルタ処理を適用して現フレーム１０２中の手の姿勢と位置とを推定するパーティクルフィルタユニット１０８及び１１０と、推定結果により手モデル１１６を更新する組合せ及び更新モジュール１１２及び１１４とを含む。パーティクルフィルタユニット１０８及び１１０はｚバッファを含み、パーティクル形状のｚバッファ投影画像を肌色マップ１４０及びエッジ画像１４２と比較することによって、パーティクル形状の確率を計算する。【選択図】        図９
2008140101.tif 000002
【特許請求の範囲】
【請求項１】
パーティクルフィルタ処理を用いて映像シーケンスにおける手のトラッキングを行なうための手トラッキング装置であって、
３次元の手のモデルを記憶するための記憶手段と、
ビデオシーケンスの現在のフレームから手の姿勢の手がかりを抽出するための手がかり抽出手段と、
前記手がかりと現在の３次元の手のモデル形状とにパーティクルフィルタ処理を施して現在のフレーム中の手の姿勢を推定するための推定手段と、
前記推定手段によって推定された姿勢を用いて前記３次元の手のモデル形状を更新するための手段とを含み、
前記推定手段は、
３次元の手のモデルにランダムノイズを付加して前記３次元の手のモデルに対し予め定められた数のパーティクルの形状を生成する手段と、
手の形状を表す前記パーティクルの各々に対しｚバッファ画像を生成するためのｚバッファ処理手段とを含み、前記ｚバッファ画像は前記３次元の手のモデルの、前記ビデオシーケンスを出力する画像キャプチャ装置の画像面への投影であり、前記推定手段はさらに
前記手がかりと前記ｚバッファ画像とに基づいて、前記手の形状の各々の確率を計算するための確率計算手段と、
前記手の形状のそれぞれの確率を、前記手の形状を表すパーティクルのそれぞれの重みとして用いて、前記パーティクルの形状について計算された前記手の形状の重み合計を計算するための加重合計手段とを含む、手トラッキング装置。
【請求項２】
前記３次元の手のモデルは掌部分と指部分とを含み、前記確率計算手段は、
前記パーティクルの第１の部分の確率を計算するための第１の評価手段を含み、前記第１の部分のパーティクル形状の指部分の各々は前記３次元モデルの現在の指部分と置換えられており、前記確率計算手段はさらに、
前記パーティクルの第２の部分の確率を計算するための第２の評価手段を含み、前記第２の部分のパーティクル形状の掌部分の各々は前記３次元モデルの現在の掌部分と置換えられており、
前記加重合計手段は
それぞれの確率を重みとして用いて、前記パーティクルの前記第１の部分の加重合計を計算するための第１の合計手段と、
それぞれの確率を重みとして用いて、前記パーティクルの前記第２の部分の加重合計を計算するための第２の合計手段とを含み、
前記組合せ手段は、前記第１の合計手段によって出力された加重合計の掌部分と、前記第２の合計手段によって出力された加重合計の指部分とを組合せるための手段を含む、請求項１に記載の手トラッキング装置。
【請求項３】
前記第１の評価手段は並列に動作可能な複数の第１の計算ユニットによって実現され、前記複数の第１の計算ユニットの各々は前記パーティクル形状の前記第１の部分の一部の確率を計算するようにプログラムされる、請求項２に記載の手トラッキング装置。
【請求項４】
前記第２の評価手段は並列に動作可能な複数の第２の計算ユニットによって実現され、前記複数の第２の計算ユニットの各々は前記パーティクル形状の前記第２の部分の一部の確率を計算するようにプログラムされる、請求項２又は請求項３に記載の手トラッキング装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は人の手のトラッキングシステムに関し、特に、効果的な、無制約のリアルタイム、マーカ不使用の、人の手のトラッキングシステムに関する。
【背景技術】
【０００２】
自然な方法で人と相互に交流しあうように設計されたロボットにはいずれも、無制約の手トラッカが必要である。ヒューマノイドがマーカ不使用の手トラッカを用いて示すことができる能力は、スキルの学習、目と手との協調を介して人にものを渡したり交換したりするといった、人との相互交流に関する対話的な模倣、及び身振りの理解が可能になること、等に及ぶ。人はまたこのシステムを用いて、指さすことでロボットの注意を引くことができる。手トラッカシステムは、これらの課題において必要なものに対する解決を与えようとするものである。
【０００３】
マーカを用いる、グローブ（手ぶくろ）を用いる手トラッカは十分に検討されてきた。これらの技術は通常、良好なトラッキング結果をもたらす。我々が目指す応用では、ロボットは自然な環境でいかなるランダムな手もトラックできなければならないので、固定したマーカ等の何らかの準備を当てにすることはできない。このため、マーカを使わない解決策をとることとした。
【０００４】
マーカ不使用の手トラッキングは通常、映像入力ストリームを解釈することにより行なう。撮影されたフレームから手がかりを探す。よく用いられる手がかりは手の輪郭であって、これは入力フレームにエッジフィルタを適用することで見出すことができる。別の手がかりは目に見える手の面であって、これは肌の色をフィルタ処理することで抽出できる。トラッカによって推定された手の形状を入力画像の手がかりと比較し、予め定められた身振りの確率を得る。手がかりとの比較には、姿勢データベースまたは３Ｄ手モデルの投影モデルを用いる。
【０００５】
予め定義された手の姿勢を認識するという問題は、通常、姿勢データベースを用いるシステムによって解決される。一例は、非特許文献１に開示された外観ベースの身振り認識であり、これは隠れマルコフモデルを用いて手話データベース中の身振りを検出する。
【０００６】
本件発明の目的により近いのは、最近非特許文献２においてエロルが十分に検討している、複数自由度の手トラッカである。この検討においては、３つのカテゴリによって区別される、この分野での最近の展開が示されている。すなわち、単一フレーム推定器、単一仮説推定器及び複数仮説推定器である。
【０００７】
［単一フレーム推定器］
第１のカテゴリは、前のフレームの先行する知識に依存しない、単一フレームの姿勢推定器である。可能な解決策の一つは、運動学的なパラメータでラベル付けされた一組のテンプレート上でのグローバルな検索である。非特許文献３では、これらのテンプレートが３Ｄ手モデルを用いて生成され、ツリー構造で記憶される。姿勢を検出するために、ツリーが先行する知識無しで探索される。
【０００８】
これらのシステムは前のフレームから独立しているため、前のフレームのトラッキング誤差からの修復を必要とせず、この結果、頑健な挙動が得られる。しかし、テンプレートデータベースを構築することが必要であるため、システムの表現に対する性能は、姿勢の離散的なサブセットに制限されてしまい、これは本件発明の無制約のトラッキングという目標と矛盾する。グローバルな検索は、非常に大きな計算コストがかかる。トラッキングのために連続した関節空間を用いることは、リアルタイムのシステムでは現実的でない。多数のフレームにわたってトラッキングを行なうことにより、形状空間内で局部的な検索が行なわれるのみとなるため、より少ない資源しか用いないシステムを実現できる。
【０００９】
［単一仮説推定器］
第２のカテゴリは、前の推定から得られた単一の仮説を先行知識として用いる手トラッカを含む。画像から抽出された手がかりにあるモデルを当てはめるために最もよく用いられる方策は、標準的な最適化技術を用いることである。
【００１０】
非特許文献４では、分割統治（ｄｉｖｉｄｅ−ａｎｄ−ｃｏｎｑｕｅｒ）の方策が提案されている。第１に、手の全体の動きが推定され、次いで関節角度を推定する。この手順が、収束するまで繰返し適用される。単一仮説のトラッキング問題を解くために、カルマンフィルタもまた用いられている。非特許文献５では、アンセンテッド（ｕｎｓｃｅｎｔｅｄ）カルマンフィルタ（ＵＫＦ）を用いて手をトラッキングしている。
【００１１】
これらのシステムは勾配検索を用いているため、局所的最小値にしか到達できず、グローバルな最小値に到達しないためにトラッキング誤差を生ずる危険性が常にある。
【００１２】
［複数仮説推定器］
単一仮説トラッカに対して、複数仮説トラッカはシーケンスをトラッキングしつつ、複数のポーズ推定を継続しようとする。これによって、最小値に達するチャンスが増大する。この思想は、現在のフレームまでの状態の確率分布を保持するベイズフィルタ処理というフレームワークで最も良く実現される。再帰的ベイズフィルタを実現するよく知られた技術の一つがパーティクルフィルタである。
【００１３】
パーティクルフィルタ処理はまた、非特許文献６でマイケル・イサード及びアンドルー・ブレークによって紹介された凝縮（Ｃｏｎｄｅｎｓａｔｉｏｎ）アルゴリズムとしても知られている。凝縮アルゴリズムは、散乱において曲線をトラッキングするように設計されている。カルマンフィルタは、択一的な仮説を同時に表すことのできないガウス密度に基づいているため、このような作業には不適である。
【００１４】
パーティクルとは、ある対（ｓｎ,Πｎ）であって、ｓｎはパーティクルｎの形状ベクトルであり、Πｎはこの形状の確率である。手トラッカについて、各パーティクルは形状ベクトルとその確率とからなり、形状ベクトルの値の各々は運動学的な手モデルの角度又は平行移動を表す。従ってベクトルの次元は手の運動のＤＯＦ（Ｄｅｇｒｅｅ−Ｏｆ−Ｆｒｅｅｄｏｍ：自由度）の数と等しくなる。Πｎはｓｎの状態を評価することによって計算される。これは、映像フレームの目に見える面又はエッジ等の異なる手がかりを検索することでなされる。この実施例では、手画像の目に見える面とエッジとの両者を用いた。確率分布はパーティクルの組Ｓ＝（ｓ１,Π１）,…,（ｓＮ,ΠＮ）によってモデル化される。
【００１５】
パーティクルフィルタの繰返しごとの主なステップは、最後の繰返しの組Ｓｔ−１からのパーティクルの組Ｓｔをサンプリングするステップと、ｓｎの各々を評価してその確率Πｎを得るステップと、重み平均ｓｍｅａｎを計算するステップとを含む。ｓｍｅａｎは、現在仮定されている手の姿勢の推定を表す。
【非特許文献１】Ｐ．ドルー、「外観ベースの身振り認識」学位論文、ＲＷＴＨアーヘン大学、アーヘン、ドイツ、２００５年１月（P.  Dreuw,  “Appearance-based  gesture  recognition,”  Diploma  Thesis,  RWTH  Aachen  University,  Aachen,  Germany,  January  2005.）
【非特許文献２】Ａ．エロル、Ｇ．ベービス、Ｍ．ニコレスク、Ｒ．Ｄ．ボイル及びＸ．トムブリー、「視界ベースの完全ｄｏｆの手の動き推定に関する検討」ＣＶＰＲ’０５、コンピュータビジョン及びパターン認識に関する２００５年ＩＥＥＥコンピュータソサエティ会議予稿集、（ＣＶＰＲ’０５）−ワークショップ。ワシントンＤＣ、アメリカ合衆国、ＩＥＥＥコンピュータソサエティ、２００５、７５ページ（A.  Erol,  G.  Bebis,  M.  Nicolescu,  R.  D.  Boyle,  and  X.  Twombly,  “A  review  on  vision-based  full  dof  hand  motion  estimation,”  in  CVPR  ’05:  Proceedings  of  the  2005  IEEE  Computer  Society  Conference  on  Computer  Vision  and  Pattern  Recognition  (CVPR’05)  -Workshops.  Washington,  DC,  USA:  IEEE  Computer  Society,  2005,  p.  75.）
【非特許文献３】Ｂ．ステンガー、Ａ．タヤナンタン、Ｐ．トル、及びＲ．シポラ、「階層的検出を用いた手の姿勢推定」２００４年。[オンライン]、citeseer.ist.psu.edu/stenger04hand.htmlで入手可能（B.  Stenger,  A.  Thayananthan,  P.  Torr,  and  R.  Cipolla,  “Hand  pose  estimation  using  hierarchical  detection,”  2004.  [Online].  Available:  citeseer.ist.psu.edu/stenger04hand.html.）
【非特許文献４】Ｙ．ウー及びＴ．Ｓ．ヒュアン、「多関節の人の手の動きキャプチャ：分断攻略の方策」、ＩＣＣＶ（ＩＥＥＥコンピュータビジョンに関する国際会議）’９９、第１巻、６０６ページ、１９９９年（  Y.  Wu  and  T.  S.  Huang,  “Capturing  articulated  human  hand  motion:  A  divide-and-conquer  approach,”  ICCV  (IEEE  International  Conference  On  Computer  Vision)  '99,  vol.  01,  p.  606,  1999.）
【非特許文献５】Ｂ．ステンガー、Ｐ．Ｒ．Ｓ．メンドンカ、及びＲ．シポラ、「多関節の手のモデルベースの３ｄトラッキング」、ＣＶＲＰ（コンピュータビジョン及びパターン認識に関するＩＥＥＥ会議）、第２巻、３１０ページ、２００１年（  B.  Stenger,  P.  R.  S.  Mendonca,  and  R.  Cipolla,  “Model-based  3d  tracking  of  an  articulated  hand,”  CVPR  (IEEE  Conference  on  Computer  Vision  and  Pattern  Recognition),  vol.  02,  p.  310,  2001.）
【非特許文献６】Ｍ．イサード及びＡ．ブレーク、「凝縮―視覚的トラッキングのための条件付き濃度伝播」、コンピュータビジョン国際ジャーナル、第２９巻第１号、５−２８ページ、１９９８年。[オンライン]、citeseer.ist.psu.edu/isard98condensation.htmlで入手可能（M.Isard  and  A.  Blake,  “Condensation  -  conditional  density  propagation  for  visual  tracking,”  International  Journal  of  Computer  Vision,  vol.  29,  no.  1,  pp.  5-28,  1998.  [Online].  Available:  citeseer.ist.psu.edu/isard98condensation.html.）
【非特許文献７】Ｊ．リー及びＴ．Ｌ．クニイ、「手の姿勢のモデルベース分析」、ＩＥＥＥコンピュータグラフィック及びアプリケーション、第１５巻、第５号、７７−８６ページ、１９９５年（J.  Lee  and  T.  L.  Kunii,  “Model-based  analysis  of  hand  posture,”  IEEE  Computer  Graphics  and  Applications,  vol.  15,  no.  5,  pp.  77-86,  1995.）
【非特許文献８】Ｎ．シマダ、Ｋ．キムラ及びＹ．シライ、「単眼カメラを用いた２−ｄ外観取得に基づくリアルタイムの３−ｄ手姿勢推定」、ＲＡＴＦＧ−ＲＴＳ（リアルタイムシステムにおける顔及び身振りの認識、分析及びトラッキングに関する国際ワークショップ）、第００巻、００２３ページ、２００１年（N.  Shimada,  K.  Kimura,  and  Y.  Shirai,  “Real-time  3-d  hand  posture  estimation  based  on  2-d  appearance  retrieval  using  monocular  camera,”  RATFG-RTS  (International  Workshop  on  Recognition,  Analysis,  and  Tracking  of  Faces  and  Gestures  in  Real-Time  Systems),  vol.  00,  p.  0023,  2001.）
【非特許文献９】Ａ．ウデ、Ｖ．ワイアート、Ｍ．リン及びＧ．チェン、「ヒューマノイドロボットの視覚注目点の分布」、ＩＥＥＥ−ＲＡＳ／ＲＳＪヒューマノイドロボットに関する国際会議（Ｈｕｍａｎｏｉｄｓ  ２００５）、２００５年（  A.  Ude,  V.  Wyart,  M.  Lin,  and  G.  Cheng,  “Distributed  visual  attention  on  a  humanoid  robot,”  in  IEEE-RAS/RSJ  International  Conference  on  Humanoid  Robots  (Humanoids  2005),  2005.）
【非特許文献１０】Ｊ．ドイッチャー、Ａ．ブレーク及びＩ．リード、「アニールされたパーティクルフィルタ処理によってキャプチャされた多関節の体の動き」ＣＶＰＲ、第０２巻、２１２６ページ、２０００年（J.  Deutscher,  A.  Blake,  and  I.  Reid,  “Articulated  body  motion  capture  by  annealed  particle  filtering,”  CVPR,  vol.  02,  p.  2126,  2000.）
【発明の開示】
【発明が解決しようとする課題】
【００１６】
信頼性のある手トラッカが必要とされているため、第３のカテゴリの方法は単一仮説のトラッカに比べてより有望であるように思われる。しかし、これらは計算に関してより高価である。自然なやり方で人と相互に交流するように設計されたロボットはどれもリアルタイムのトラッキング能力を要するため、第３のカテゴリの効果的な手トラッキング装置が必要である。
【００１７】
従って、この発明の目的の一つは、無制約、リアルタイム、マーカ不使用の、複数仮説推定器型の手トラッキングシステムであって、人の手の動きをリアルタイムで効果的かつ信頼性をもってキャプチャする装置を提供することである。
【課題を解決するための手段】
【００１８】
この発明の第１の局面に従えば、パーティクルフィルタ処理を用いて映像シーケンスにおける手のトラッキングを行なうための手トラッキング装置は、３次元の手モデルを記憶するための記憶手段と、映像シーケンスの現在のフレームから手の姿勢の手がかりを抽出するための手がかり抽出手段と、手がかりと現在の３次元の手モデル形状とにパーティクルフィルタ処理を施して現在のフレーム中の手の姿勢を推定するための推定手段と、推定手段によって推定された姿勢を用いて３次元の手モデル形状を更新する手段とを含む。
【００１９】
前記推定手段は、３次元の手モデルにランダムノイズを付加して３次元の手モデルの形状を表す予め定められた数のパーティクルを生成する手段と、パーティクルの各々に対しｚバッファ画像を生成するためのｚバッファ処理手段とを含む。ｚバッファ画像は３次元の手モデルの、映像シーケンスを出力する画像キャプチャ装置の画像面への投影である。前記推定手段はさらに、手がかりとｚバッファ画像とに基づいて、手の形状の各々の確率を計算するための確率計算手段と、パーティクルのそれぞれの確率を、手形状のそれぞれの重みとして用いて、手形状について計算された手形状の重み合計を計算するための加重合計手段と、を含む。
【００２０】
３次元の手モデルは記憶手段に予め記憶される。手の姿勢の手がかりが映像シーケンスの現在のフレームから手がかり抽出手段によって抽出される。肌色の面及び／又はエッジが手がかりとして使用される。推定手段は３次元手モデルと手がかりとにパーティクルフィルタ処理を施して現在のフレームにおける手の姿勢を推定する。３次元手モデル形状は推定された姿勢によって更新される。
【００２１】
推定手段では、予め定められた数のパーティクル形状が生成される。手形状の各々について、投影のｚバッファ画像が生成される。手がかりをｚバッファ画像と比較することによって、推定手段は手形状の確率を計算することができる。推定された手の姿勢の加重合計により、３次元手モデル形状が更新される。
【００２２】
確率の計算にｚバッファ画像が用いられるので、隠れた部分ではなく可視部分のみが検索される。従って、迅速にトラッキングを行なうことができ、リアルタイムのトラッキングが可能となる。
【００２３】
好ましくは、３次元の手モデルは掌部分と指部分とを含む。確率計算手段は指パーティクルの第１の部分の確率を計算するための第１の評価手段を含む。第１の部分のパーティクル形状の指部分の各々は３次元モデルの現在の指部分と置換えられている。確率計算手段はさらに、パーティクルの第２の部分の確率を計算するための第２の評価手段を含む。第２の部分のパーティクルの掌部分の各々は３次元モデルの現在の掌部分と置換えられている。加重合計手段はそれぞれの確率を重みとして用いて、指形状の第１の部分の加重合計を計算するための第１の合計手段と、それぞれの確率を重みとして用いて、手形状を表すパーティクルの第２の部分の加重合計を計算するための第２の合計手段と、を含む。組合せ手段は、第１の合計手段によって出力された加重合計の掌部分と、第２の合計手段によって出力された加重合計の指部分とを組合せるための手段を含む。
【００２４】
第１の評価手段は指形状を表すパーティクルの第１の部分の確率を計算する。第１の部分のパーティクル形状の指部分が手モデルの現在の指部分と置換されているので、確率の計算においては掌部分のみが考慮される。同様に、第２の評価手段はパーティクルの第２の部分の確率を計算する。第２の部分のパーティクル形状の掌部分が、手モデルの現在の掌部分と置換されているので、確率の計算においては指部分のみが考慮される。このようにして、掌部分の姿勢の加重合計が第１の評価手段の出力に基づいて計算される。指の姿勢の加重合計は第２の評価手段の出力に基づいて計算される。これらの結果を組合せることにより、手全体の姿勢が推定される。
【００２５】
検索空間が２つの空間（掌部分及び指部分）に分解されるので、計算のコストが実質的に減じられ、リアルタイムのトラッキングが実現可能になる。
【００２６】
より好ましくは、第１の評価手段は並列に動作可能な複数の第１の計算ユニットによって実現される。複数の第１の計算ユニットの各々は手形状の第１の部分（指形状）の一部の確率を計算するようにプログラムされる。
【００２７】
さらに好ましくは、第２の評価手段は並列に動作可能な複数の第２の計算ユニットによって実現される。複数の第２の計算ユニットの各々はパーティクル形状の第２の部分の一部の確率を計算するようにプログラムされる。
【００２８】
各パーティクルでの、計算コストのかかる評価が他のパーティクル全てから独立しているので、これらを複数のコンピュータで並列に行なうことができる。従って、繰返しごとに必要とされる時間を減じることができ、リアルタイムのトラッキングが実現可能となる。
【発明を実施するための最良の形態】
【００２９】
＜特徴＞
［手トラッカの実現例］
Ａ．無制約のトラッキング
パーティクルフィルタが有望と思われるのは、計算コストがパーティクルのバランスのとれた並列実行で説明できるからである。なぜなら、コストが増加する時そのコストは独立した確率計算という形で生じるからである。従って、この発明の第１の実施の形態は、手の姿勢を推定するのにパーティクルフィルタを用いる。人の手のＤＯＦは比較的大きいので、検索空間が広くなりがちである。従ってこの実施の形態では、検索空間を２つに分解する。すなわち、手と指とである。手の姿勢と指の姿勢とを別々に推定した後、装置はこれらを組合せて、手全体の新たな姿勢を得る。
【００３０】
身振りの見え方を学習する身振り認識システムは、特化した手トラッカの一例である。このようなシステムはそのドメインにおいては良好な性能を発揮するが、これは任意の手形状をトラッキングするように設計されてはいない。ヒューマノイドロボットに、人為的な制限を導入することなく人と自然な相互交流を行なわせたい。そのため、ここでの方策は、トラッキングされた手形状を偏りなく表現できるようにすることであり、それによって我々のヒューマノイドの挙動モジュールが、手の動きに反応しかつこれを解釈することが可能になる。これは、模倣、注意を引くこと、及び意図の推定、目と手との強調、身振りの認識といった、異なる要件の様々な課題の基礎として用いることができる。
【００３１】
この目標を達成するために、この実施の形態では非特許文献７に開示されたのと同様のモデルを用いた、モデルベースの方策を選択した。３Ｄの手モデルを形状表現のための手段として用いることにより、予め決められた、手の姿勢の集合に制限されることがなくなる。非特許文献８においてシマダは３Ｄの手モデルを用いて手姿勢テンプレートのラベル付データベースを構築しており、これはその後、手の動きをトラッキングするのに用いられている。この方策の結果主として得られるのは、離散的な運動学的パラメータが付された手の姿勢である。
【００３２】
これに対して、この実施の形態では、３Ｄの手モデルを直接シーンに投影し、このため、連続した関節の角度範囲において正確な運動学的パラメータを知ることができる。データベースを用いることは、一般に計算上は安価である。しかし、この場合計算量が少なくなる代わりにかなりの量のメモリと検索時間とを必要とする。
【００３３】
モデルを直接使用することにいくつかの利点がある。その構造的パラメータをダイナミックに変更することもでき、また、異なる手に合わせるために、モデルを完全に交換することもできる。また、動いた状態で投影の詳細を自由に変更することができ、これは投影特性の異なる中心視覚及び広角カメラシステムが用いられているヒューマノイドロボットヘッドには特に重要である。これに対して、テンプレートを用いたシステムは、各カメラについて別個のデータベースを必要とするであろう。加えて、異なる課題に対してモデルの自由度を調整することができる。全ての姿勢が実行時に生成されるので、この実施の形態のシステムは、姿勢データベースに係る必要メモリ量が指数関数的に増えてしまうことがなく、次元に制約されずに済む。
【００３４】
Ｂ．リアルタイムの要件
非特許文献２の結論の一つは、リアルタイムの３Ｄ手トラッカが不足している、というものであった。環境及び人との相互交流をするためには、リアルタイムのシステムを生成する必要がある。従って、トラッキングの過程に長い遅延が導入されるのは受容できない。目標は、リアルタイムのトラッキングシステムを構築して、ロボットと人とのコミュニケーションのための自然な手段を確立することである。
【００３５】
この要件を念頭に置くと、パーティクルフィルタシステムは有望であると思われる。これは分散されたシステム部分間で必要とされるコミュニケーションを最小にするようなやり方で並列化されているので、非常にうまくその規模を調節できる。この特性を活かすことによって、非特許文献９で提案された分散視覚クラスタをベースに、分散されたパーティクルフィルタを実現することができた。計算上最もコストのかかる作業は各パーティクルの確率を計算することである。ここでは非特許文献８と同様の構成を選択し、１台のコンピュータでトラッキングを管理するとともに画像の撮影と前処理とを行ない、いくつかのクラスタノードで確率関数を計算する（図１５を参照）。
【００３６】
リアルタイムが必要な応用の一つは、模倣である。この目標を達成するために、トラッカシステムの推定角度をロボットの手の関節角度に変換する。手の姿勢を模倣するのに、商業的に入手可能なロボットハンドを用いた。結果を図１に示す。
【００３７】
［マーカ不使用のトラッカシステム］
Ａ．データフローの概観
図２はこの実施の形態に従ったデータフローの概観を示す。図２を参照して、人の手の入力画像５０は、肌色フィルタによってフィルタ処理され、肌色の面を示すバイナリマップ５２が生成される。バイナリマップ５２を用いて、入力画像５０から切出された手画像５４が得られる。ソーベルフィルタ等のエッジフィルタを画像５４に適用することにより、エッジフィルタ処理された画像５６が得られる。
【００３８】
先の繰返しで準備された３Ｄの手モデル５８から、３Ｄ手モデル５８にランダムノイズ５９を付加することによって、所定の数（この実施の形態では３０００）のパーティクルが生成される。パーティクルの各々は可能な手の姿勢を表す。
【００３９】
パーティクルの各々について、ｚバッファ画像６０が生成される。モデル形状のｚバッファ画像６０は、それぞれブロック６２と６４で示すように、肌色フィルタ処理されたバイナリマップ５２及びエッジフィルタ処理された画像５６と比較される。これらの結果を用いて、ブロック６６に示されるように、パーティクルのモデル形状の手の姿勢確率が計算される。これがどのように行なわれるかは、後に詳細に説明する。
【００４０】
ブロック６８に示すようなパーティクルの形状の加重合計により、３Ｄ手モデル５８の新たな形状が推定される。形状の確率は、この計算において重みとして用いられる。
【００４１】
フレームサイクルの各々について、上述の計算が行なわれ、繰返しごとの手姿勢が推定される。以下では、上述の処理の各々をさらに詳細に説明する。
【００４２】
Ｂ．画像の取得と前処理
図３を参照して、このシステムでは、ヒューマノイドの頭部に見られるような、眼球間の距離の小さい較正済のステレオカメラ３２を用いる。ステレオカメラを選択したのは、手について２つの視点があれば、深さ推定において１つの視野では無視できるほど小さい誤差も、第２の視野では目に見えるものとなるため、３Ｄ空間での位置づけがより良好となるからである。
【００４３】
手３０のステレオ画像を撮影したあと、ＨＳＶ空間で肌色を検出し、画像中の肌色の面のバイナリマップを生成し、これを肌面の手がかりの評価にも用いる。その後、このマスクを用いて画像のうち無関係の部分全てをカットし、元の画像から得られた面にエッジフィルタを適用して、手のエッジ画像を得る。これらの画像に基づき、ロボットの手３４は手３０の姿勢を模倣するように制御される。
【００４４】
Ｃ．３Ｄの手モデル
円錐断面のみからなる３Ｄの手モデル（図４、図５）を用いる。図４を参照して、このモデル５８は非常に高速にフレームに投影して手がかりを検出することが可能であり、その一方で依然として、手と指の動きをトラッキングするためには十分正確である。図４において、「ＤＩＰ」、「ＰＩＰ」、「ＭＣＰ」、「ＣＭＣ」、「ＩＰ」及び「ＴＭ」は、「遠位指節間関節」、「近位指節間関節」、「中手指節間関節」、「手根中手関節」、「指節間関節」及び「拇指手根中手関節」をそれぞれ意味する。図４において、白の丸は１ＤＯＦの関節を示し、黒の丸は２ＤＯＦの関節を示す。
【００４５】
人の手のＤＯＦは２２であるが、複雑さを避けるために、この運動学的手モデル５８の自由度を、各指ごとに屈曲に関する１自由度に制限した。非特許文献２で見られるように、θＤＩＰ＝θＰＩＰと設定した。θＰＩＰは各指のＰＩＰ角度を表し、θＤＩＰは各指のＤＩＰ角度を表す。モデル５８の関節の角度を表すために、以下でも同様の表記を用いる。
【００４６】
加えて、このトラッカは、検索空間の次元数を減じるために、θＰＩＰ＝θＭＣＰと仮定している。全体のモデルは、手の姿勢と位置について６の自由度、各指について２の自由度から成る。このシステムの現在の版では、拇指は標準位置に固定されている。従って、各パーティクルの形状ベクトルｓｎは次元１４を有する。
【００４７】
Ｄ.自己重なりの解決策
ドイッチャーは、非特許文献１０において画像の手がかりを評価する方法を提案している。彼は画像中の投影された体の部分の各々を直接評価している。手モデルの投影で自己と重なって隠れた部分の検索を避けるために、本実施の形態では彼の方法を修正した。隠れた部分ではなく、見える部分のみを検索するために、この実施の形態ではｚバッファ方策を提案する。
【００４８】
ｚバッファ処理の思想は、遠い対象物を先に描き、より近い、重なる対象物によって上書きされるように、重なって隠れた対象物を描くことである。ｚバッファ処理を用いてこの３Ｄ手モデルを正確に投影できるようにするためには、投影面からの距離に従って分類した指部分の順序付けしたリストが必要である。この投影面は、ステレオカメラシステム内で同一ではないので、各カメラについて別個のｚバッファを生成する必要がある。
【００４９】
３Ｄ手モデル要素を投影するために、各カメラの較正マトリックスの逆行列を用いる。近似として、視点の座標系に変換した各指の重心を比較する。その後、投影面と垂直となったｚ軸に従い、最も大きいｚ座標から始まるよう指部分をソートする。リストを生成した後、指の各要素をリストの順序に従ってバッファに描き、それによって指部分がエッジ又は面の手がかりを表すかどうかをコード化する。こうすることにより、自己と重なる手がかりのインデックスを、重複する指のもので上書きすることになる。どちらもバッファの同じ位置に書込まれることになるからである。深さ情報は、エッジ及び面の輝度により表わされる。
【００５０】
その後図６に例示されるようにｚバッファを算出するが、ここでは、各画素についてエッジが予測されるか、手の面が予測されるか、又は何もないと予測されるかがわかっている。これらの投影は最終的に、前処理された画像との比較に用いられる。
【００５１】
Ｅ．形状確率の評価
前処理されたフレームで見出されたエッジと面との手がかりに基づいて、各パーティクルの形状を評価する。各パーティクルｎのエッジ確率Πｅと面確率Πａとを計算するために、以下の式を用いる。
【００５２】
【数１】
2008140101.tif 000003
ここでΦａはバイナリの肌マスクであり、μｎａ及びμｎｍはパーティクルｎについて実際に見出された肌面の画素と欠落している肌面の画素とを含み、Φｅはマスクによりカットされた勾配画像であり、Πｎａ／ｅはパーティクルｎについてｚバッファにより生じた全ての面／エッジを含む。肌色マスク２８０上とエッジフィルタ処理された画像２８２との上に描かれた投影モデルを図７に示す。
【００５３】
さらに、２つの指部分間の最短距離を計算することにより、指間の衝突も検出する。もしこの距離がそれらの半径の合計より小さければ、衝突があると仮定して、Πｃｏｌｌにより確率関数内でこの状態にペナルティを与える。次に各パーティクルの確率Πｎを以下のように計算する
【００５４】
【数２】
2008140101.tif 000004
λを設定することにより、指数関数の入力範囲を選択することができる。[ｅ−λ,１]の範囲内での確率を得るために、全ての重みω[ｉ]を実験により決定して、合計が１となるように正規化する。また、全てのΠｎを合計が１になるように正規化する。その後、全てのパーティクルの重み平均を計算して、現在の手の形状ｓｍｅａｎを推定する。
【００５５】
【数３】
2008140101.tif 000005
Ｆ．再サンプリングにおける検索空間の区分け
パーティクルフィルタの次の繰返しのために、パーティクルの組を再サンプリングしなければならない。基本的に、非特許文献６でイサードが説明しているように、古いパーティクルの組に対する要素分解した（ｆａｃｔｏｒｅｄ）再サンプリングを用いる。この方策を用いることにより、手のトラッキングが可能となるが、個々の指のトラッキングはできない。姿勢形状がうまくアライメントされていないパーティクルは、モデル中の指を画像中の隣の指と比較してしまうことがあるために、指トラッキングの評価を低下させるという問題に直面した。
【００５６】
性能を向上させるために、パーティクルの組を２つの分離した組に分割してみた。第１の組を、現在の指形状での手（掌）の姿勢をトラッキングするために用い、このため、前回の繰返しでの平均指形状をこのパーティクルの組に割当てる。すなわち、パーティクル形状の指要素を、前回の繰返しで得られた現在の指形状で置換える。姿勢は全てのパーティクルから、それらの重みを考慮して再サンプリングされる。第２の組は、前回知られた手（掌）の姿勢での指をトラッキングするのに用いられる。この目的のために、前回の繰返しでの平均の手（掌）姿勢をこの組の全てのパーティクルに割当てる。すなわち、パーティクル形状の手（掌）要素を、前回の繰返しで得られた現在の手（掌）形状と置換える。その後、全てのパーティクルから指形状を再サンプリングする。再サンプリングの後、両方の組をマージする。
【００５７】
この方策を用いることによって、第２の組での指形状の検索にあたって前回知られた位置にパーティクルを集中させるという利点が得られ、実際上、検索空間の次元を６自由度だけ減じることができる。同時に、第１の組を用いて前回知られた指形状を用いて新たな手の姿勢を検索する。パーティクルの平均をこのようにして割当てることにより、多数の仮説を表すためのパーティクルフィルタの属性を保存する。
【００５８】
Ｇ．分散リアルタイムトラッキング
パーティクルフィルタは、クラスタの並列化によく適している。というのも、計算上コストのかかる各パーティクルの評価が、全ての他のパーティクルから独立しているからである。しかし、パーティクルを全てのクラスタノードに分配し、対応の確率を集めるためには通信が必要である。ここでは、前処理された画像を分配することも必要である。
【００５９】
この実施の形態のクラスタノードは標準的なギガビットのネットワークを介して相互に接続されている。画像を送るために必要なトラフィックを最小にするため、ブロードキャストを用いた。分散パーティクルフィルタを実現するために、非特許文献９で提案された分散視覚クラスタ（Ｄｉｓｔｒｉｂｕｔｅｄ  Ｖｉｓｉｏｎ  Ｃｌｕｓｔｅｒ）を用いる。各ノードにおいて多数の評価スレッドを開始することで、マルチプロセッサ、マルチコアのシステムの利益を享受することもできる。ステレオ画像の評価を、パーティクルフィルタの繰返しごとに１画像のみにインターリーブすることで、性能をほぼ２倍にできることがわかった。全ての試験とベンチマークのために、実験的に決定した３０００個のパーティクルを用いた。より多くのパーティクルを用いてもそれほどトラッキングが改善されず、２０００個より少ないパーティクルでは結果がかなり低下した。
【００６０】
分散視覚クラスタにより、パーティクルフィルタは９個のクラスタを用いて６．８４倍の速度まで拡大することができたが、これは７６．１％の効率である。１０．２ＦＰＳに到達することができた。測定のために、クラスタノードではデュアル２．１６ＧＨｚのＣＰＵを用いた。性能尺度を図８に示す。
【００６１】
＜システムの構造＞
図９はこの実施の形態の手モデルトラッカ９０の全体構造を示す。図９を参照して、手モデルトラッカ９０は、ステレオカメラ３２から出力されるステレオ画像出力をキャプチャするためのフレーム撮影部１００と、フレーム撮影部１００によってキャプチャされたステレオ画像を記憶するためのフレームメモリ１０２と、フレームメモリ１０２に記憶されたステレオ画像を処理して、手の肌色バイナリマップ１４０とエッジ画像１４２とを出力するための画像前処理モジュール１０４と、これらを記憶するためのメモリ１０６とを含む。
【００６２】
手モデルトラッカ９０はさらに、３Ｄの手モデル１１６を記憶するための記憶部（メモリ）と、３Ｄの手モデル１１６にランダムなノイズを付加して３０００個のパーティクルを生成するための乱数発生モジュール１１８と、手の姿勢を推定するためのパーティクル形状を記憶するパーティクルメモリ１２０と、指の姿勢を推定するためのパーティクル形状を記憶するパーティクルメモリ１２２とを含む。
【００６３】
手モデルトラッカ９０はさらに、手の姿勢のためのパーティクルフィルタユニット１０８と、指の姿勢のためのパーティクルフィルタユニット１１０と、推定された手の姿勢と指の姿勢とを組合わせるための組合せブロック１１２と、組合せブロック１１２の出力を用いて３Ｄ手モデル１１６を更新するモデル更新モジュール１１４とを含む。
【００６４】
図１０は画像前処理モジュール１０４のブロック図を示す。図１０を参照して、画像前処理モジュール１０４は、フレームメモリ１０２に記憶された手画像から肌色の面を検出し、肌色バイナリマップ１４０を出力するための肌色フィルタ１８０と、肌色バイナリマップ１４０をマスクとして用いて元の画像のうち無関係な部分をカットすることによって、フレームメモリ１０２に記憶された画像の一部を抽出するためのマスキングモジュール１８４と、マスキングモジュール１８４から出力された手の切出画像１８６からエッジ画像を検出するためのエッジフィルタ１８８とを含む。エッジフィルタ１８８の出力がエッジ画像１４２である。
【００６５】
図１１は手の姿勢のためのパーティクルフィルタユニット１０８の詳細をブロック図で示す。図１１を参照して、パーティクルフィルタユニット１０８は、肌色バイナリマップ１４０と、エッジ画像１４２と、手のパーティクルモデル形状とを記憶するためのパーティクル形状メモリ２００と、各々がその評価ユニットに割当てられたモデル形状の確率を計算するための、多数の評価ユニット２０２Ａ−２０２Ｎと、それぞれの確率を重みとして用いて、手の形状の加重合計を計算することによって、新たな手の姿勢を出力するための、加重合計モジュール２０４と、を含む。
【００６６】
評価ユニット２０２Ａ−２０２Ｎの各々はパーティクルモデル形状のうち手の姿勢に関する部分のみを受け、これらを現在の指形状と組合せる。これらの形状を用いて、評価ユニット２０２Ａ−２０２Ｎはパーティクルの確率を計算する。
【００６７】
評価ユニット２０２Ａ−２０２Ｎの各々は同じ構造を有する。図１２は、評価ユニット２０２Ａ−２０２Ｎの一つである評価ユニット２０２Ｋの詳細を示す。図１２を参照して、評価ユニット２０２Ｋはこのユニットに割当てられた手の姿勢のパーティクルモデル形状の各々を現在の指形状と組合せ、結果として得られるパーティクル形状ベクトルを出力するためのベクトル形成モジュール２１８と、ベクトル形成モジュール２１８から出力されたパーティクル形状ベクトルを記憶するためのメモリ２２０と、パーティクル形状ベクトルの要素をカメラ３２の較正マトリックスの逆行列を用いて、カメラ３２の画像面に投影するのに適した座標系に変換するための座標変換モジュール２２２とを含む。この新たな座標系は、画像面にＸ軸及びＹ軸を有し、さらに画像面に垂直なＺ軸を有する。
【００６８】
評価ユニット２０２Ｋはさらに、メモリ２２０に記憶された形状の手の部分の重心を計算するための重心計算モジュール２２４と、手の各部分のそれぞれの重心のＺ座標の降順で、手の各部分をソートし、手の各部分の順序付きのリスト２２８を出力するためのソートモジュール２２６と、ｚバッファ２３２と、リスト２２８の順序で、ｚバッファ２３２にパーティクル形状の投影画像を描画するための手部分描画モジュール２３０と、手の各部分間の衝突を検出し、衝突に関しそれぞれのペナルティを計算するための衝突検出モジュール２３４と、肌色バイナリマップとエッジ画像とを記憶するためのメモリ２３６と、メモリ２３６に記憶された肌色バイナリマップ及びエッジ画像と、ｚバッファ２３２内の画像と、衝突検出モジュール２３４によって計算された衝突ペナルティとを用いて、このユニット２０２Ｋに割当てられたパーティクル形状の各々の確率を計算するための確率計算モジュール２３８とを含む。結果として得られる、Ｋ番目の評価ユニット２０２Ｋに割当てられた手形状のｊ番目のパーティクルの確率ΠＨ，Ｋ,ｊが、図１１に示す加重合計モジュール２０４に与えられる。
【００６９】
指のためのパーティクルフィルタユニット１１０の詳細を図１３に示す。図１３を参照して、パーティクルフィルタユニット１１０は、肌色バイナリマップ１４０とエッジ画像１４２と、指のパーティクルモデル形状とを記憶するためのパーティクル形状メモリ２４０と、各々がその評価ユニットに割当てられたモデル形状の確率を計算する多数の評価ユニット２４２Ａ−２４２Ｎと、それぞれの確率を重みとして用いて、指形状を付加することにより、新たな指姿勢を出力するための加重合計モジュール２４４と、を含む。
【００７０】
評価ユニット２４２Ａ−２４２Ｎの各々は、パーティクルモデル形状のうち指姿勢に関する部分のみを受け、これらを現在の手形状と組合せる。これらの形状を用いて、評価ユニット２４２Ａ−２４２Ｎはパーティクルの確率を計算する。
【００７１】
評価ユニット２４２Ａ−２４２Ｎの各々は同じ構造を有する。図１４は評価ユニット２４２Ａ−２４２Ｎの一つである評価ユニット２４２Ｋの詳細を示す。図１４を参照して、評価ユニット２４２Ｋは、このユニットに割当てられた指のパーティクルモデル形状の各々を現在の手の形状と組合せ、結果として得られる手形状ベクトルを出力するためのベクトル形成モジュール２５８と、ベクトル形成モジュール２５８から出力されるパーティクル形状ベクトルを記憶するためのメモリ２６０と、パーティクル形状ベクトルの要素をカメラ３２の画像面に投影するのに適した座標系に変換するための座標変換モジュール２６２とを含む。この新たな座標系は、画像面にＸ軸及びＹ軸を有し、さらに画像面に垂直なＺ軸を有する。
【００７２】
評価ユニット２４２Ｋはさらに、メモリ２６０に記憶された形状の手の各部分の重心を計算するための重心計算モジュール２６４と、手部分のそれぞれの重心のＺ座標の降順で、手の各部分をソートし、手の各部分の順序付きリスト２６８を出力するためのソートモジュール２６６と、ｚバッファ２７２と、リスト２６８の順序で、ｚバッファ２７２にパーティクル形状の投影画像を描画するための手部分描画モジュール２７０と、手の各部分間の衝突を検出し、衝突に関しそれぞれのペナルティを計算するための衝突検出モジュール２７４と、肌色バイナリマップとエッジ画像とを記憶するためのメモリ２７６と、メモリ２７６に記憶された肌色バイナリマップ及びエッジ画像と、ｚバッファ２７２内の画像と、衝突検出モジュール２７４によって計算された衝突ペナルティとを用いて、このユニット２４２Ｋに割当てられたパーティクル形状の各々の確率を計算するための確率計算モジュール２７８とを含む。結果として得られる、Ｋ番目の評価ユニット２４２Ｋに割当てられた指形状のｊ番目のパーティクルの確率ΠＦ，Ｋ,ｊが、図１３に示す加重合計モジュール２４４に与えられる。
【００７３】
＜動作＞
手モデルトラッカ９０は以下のように動作する。図９を参照して、３Ｄ手モデル１１６は図４及び図５に示す初期３Ｄ手モデル５８を記憶する。カメラ３２はステレオ画像信号を出力する。各ステレオフレームはフレーム撮影部１００によって撮影され、フレームメモリ１０２に記憶される。
【００７４】
図１０を参照して、肌色フィルタ１８０はＨＳＶ空間における画像中の肌色面を検出して肌色バイナリマップ１４０を生成する。このマップはマスキングモジュール１８４によって、画像中の関連のない部分全てをカットするのに用いられ、これによって切出された手画像１８６が生成され、この結果として得られる、切出された手画像１８６にエッジフィルタ１８８が適用されてエッジ画像１４２が得られる。
【００７５】
結果として得られる肌色バイナリマップ１４０とエッジ画像１４２とが手姿勢のためのパーティクルフィルタユニット１０８と指姿勢のためのパーティクルフィルタユニット１１０とに与えられる。
【００７６】
一方で、乱数発生モジュール１１８がランダムノイズを発生し、これらを３Ｄ手モデル１１６に付加して３０００個のパーティクルを生成する。パーティクルの半数はパーティクルメモリ１２０に記憶され、残りの半数はパーティクルメモリ１２２に記憶される。前者は次の手姿勢を推定するのに用いられ、後者は次の指姿勢を推定するのに用いられる。
【００７７】
図１１を参照して、肌色バイナリマップ１４０とエッジ画像１４２とはパーティクル形状メモリ２００に記憶される。手姿勢のパーティクル形状はパーティクル形状メモリ２００に記憶される。これらはともに、評価ユニット２０２Ａ−２０２Ｎの各々に与えられる。現在の指形状が評価ユニット２０２Ａ−２０２Ｎの各々に供給される。
【００７８】
図１２を参照して、手姿勢のパーティクル形状と、現在の指形状のパーティクルフィルタとがベクトル形成モジュール２１８によって組合されてパーティクル形状ベクトルが形成され、これはメモリ２２０に記憶される。座標変換モジュール２２２はベクトルの座標系を、ｚバッファ処理に適したものに変換する。重心計算モジュール２２４はパーティクル形状の手部分の各々の重心を計算する。
【００７９】
ソートモジュール２２６は手部分をそれらのＺ座標の降順でソートして、リスト２２８を生成する。手部分描画モジュール２３０は手の各要素をｚバッファ２３２に描画して、より遠くの対象物が先に描画され、より近い、重なる対象物によって上書きされるようにし、指部分と、これがエッジ又は面の手がかりを表すかどうかを符号化する。手部分描画モジュール２３０により、自己に隠される手がかりのインデックスが、重なる指のものによって上書きされる。
【００８０】
図６に例示されるｚバッファ２３２を参照して、各画素について、エッジが予測されるか、面が予測されるか、何もないことが予測されるかは分かっている。これらの投影は最終的には確率計算モジュール２３８で前処理された画像との比較のために用いられる。
【００８１】
確率計算モジュール２３８は、上述の式（１）−（４）を用いて、前処理されたフレームで見出されメモリ２３６に記憶されたエッジ及び面の手がかりに基づいて各パーティクル形状の確率を計算する。
【００８２】
衝突検出モジュール２３４は、２つの指部分間の最短距離を計算することによって、指間の衝突を検出する。もしこの距離が指の半径の合計より短ければ、衝突が生じていると仮定され、この状態にはΠｃｏｌｌにより確率関数におけるペナルティが与えられる。その後各パーティクルの確率Πｎが、式（５）を用いて確率計算モジュール２３８によって計算される。
【００８３】
こうして、各形状についてその確率ΠＨ，Ｋ，ｊが計算され、図１１に示す加重合計モジュール２０４に与えられる。
【００８４】
確率ΠＨ，Ｋ，ｊの全てが与えられると、加重合計モジュール２０４は全ての手のパーティクルの加重平均を計算し、式（６）を用いて手の姿勢について現在の手形状ｓｍｅａｎ，Ｈを推定する。同様に、指姿勢のためのパーティクルフィルタ１１０は、式（６）を用いて指の姿勢について現在の指形状ｓｍｅａｎ，Ｆを推定する。手の姿勢についての手形状ｓｍｅａｎ，Ｈと、指の姿勢についての指形状ｓｍｅａｎ，Ｆとが与えられると、図９に示される組合せブロック１１２は、推定された手の姿勢を推定された指の姿勢と組合せることができる。結果として得られる推定された手全体の形状がモデル更新モジュール１１４に与えられ、更新モジュール１１４は推定された手全体の形状で３Ｄの手モデル１１６を更新する。
【００８５】
キャプチャされたステレオ画像の各々について上述の推定を繰返すことにより、手モデルトラッカ９０は手の姿勢をリアルタイムでトラッキングする。手全体の姿勢を推定するのにパーティクルフィルタが用いられるので、局所的最小にしか到達しない可能性は低い。従って、手モデルトラッカ９０は手の姿勢を信頼性をもってトラッキングする。検索空間の分解（手の姿勢と指の姿勢）により、トラッキングは各繰返しごとに短時間で実行でき、信頼性のあるリアルタイムのトラッキングが可能となった。
【００８６】
＜コンピュータハードウェア構成＞
上述の手モデルトラッカ９０は、高速ネットワークを介して相互に接続された複数のコンピュータで実現できる。図１５を参照して、手モデルトラッカ９０を実現するためのコンピュータシステム３２０は、ステレオ画像を撮影し、撮影された画像の前処理を行なうためのカメラ３２に接続されたパーソナルコンピュータ（ＰＣ）３３２と、各々がデュアルコアＣＰＵ構成を有し、評価ユニット２０２Ａ−２０２Ｎ及び２４２Ａ−２４２Ｎとして動作するように構成されたコアＣＰＵを各々が有するＰＣ３３４Ａ−３３４Ｘと、評価ユニット２０２Ａ−２０２Ｎ及び２４２Ａ−２４２Ｎから出力された確率を用いて、手形状及び指形状の重み平均を計算し、推定された手の姿勢を推定された指の姿勢と組合せるためのＰＣ３３８と、３Ｄ手モデルを記憶しＰＣ３３８の出力を用いてこれを更新するためのＰＣ３３６と、推定された手の姿勢に従ってロボットハンドを制御するハンド制御部３４０と、ＰＣ３３２、３３４Ａ−３３４Ｘ、３３６、３３８及び３４０を接続する高速ネットワーク３３０とを含む。
【００８７】
図１６はＰＣ３３２の典型的な構成を示す。図１６を参照して、ＰＣ３３２は、デュアル計算ユニットを有するデュアルコアＣＰＵ３７６と、ブートアッププログラムを記憶するための読出専用メモリ（ＲＯＭ）３７８と、デュアルコアＣＰＵ３７６によって実行されるべきプログラムを記憶し、プログラムで用いられる変数を記憶するためのランダムアクセスメモリ（ＲＡＭ）３８０と、プログラム、変数の初期値、初期３Ｄ手モデル及び他のデータを記憶するためのハードディスク３７４とを含む。
【００８８】
ＰＣ３３２はさらに、ＤＶＤ３８２からデータを読出し、データを書込むためのディジタル多用途ディスク（ＤＶＤ）ドライブ３７０と、キーボード３６６及びマウス３６８と、モニタ３６２、カメラ３２が接続されたビデオキャプチャボード３８８と、ポータブルメモリ３８４からデータを読出し、データを書込むためのメモリポート３７２と、ＰＣ３３２をネットワーク３３０に接続可能とするためのネットワークインターフェイス３９６と、を含む。
【００８９】
他のＰＣ３３４Ａ−３３４Ｘ、３３６、３３８及び３４０は同じ構成を有する。しかし、これらのＰＣは全てＰＣ３３２から制御可能となっているので、これらのＰＣにマウス、キーボード、またはモニタを設ける必要はない。
【００９０】
＜結果＞
複雑な多関節の対象物に対するトラッキングの性能を評価するのはなかなかむずかしい。通常は映像シーケンスからの比較用データを容易に得ることができないからである。手のトラッキングにおいては、データグローブ又はマーカ等のより正確な方法を容易に用いることもできない。これらが手の外観を変えてしまうからである。
【００９１】
我々は、２段階の評価を行なうことを選択した。第１に、自然な映像を用いて、本発明のトラッカがある姿勢と別の姿勢との間でトラッキングを行なうことで実世界とうまく作用することを示した。トラッカの性能を示すために、比較用データが既知の人工的映像シーケンスを生成して、システムのトラッキング誤差を評価した。
【００９２】
Ａ．自然な映像シーケンス
手の５つの姿勢を選択して、各対の間の遷移をトラッキングした。遷移が終了したあと、正確な姿勢までトラッカが完全に収束するまでに必要なフレームの数に注目した。全ての映像のキャプチャ速度は３０ＦＰＳであった。
【００９３】
【表１】
2008140101.tif 000006
表１に、姿勢[列]から姿勢[行]への遷移に必要なフレームの数の概略をまとめた。収束に必要とされる平均のフレーム数は４．６５である。わずかに掌のオフセットがあるが、収束した指形状は常に正しかった。
【００９４】
図１７は合成の手ステレオ投影（フレーム１５０から４００）のためのトラッキングシーケンスを示す。第１の行は面の手がかりのための入力を示し、第２の行はエッジの手がかりのための入力を示す。
【００９５】
Ｂ．合成映像シーケンス
第２の実験では、３Ｄ手モデル（図１８）のステレオアニメーションシーケンスを投影することによって制作された合成映像を用いた。提示されたシーケンスから、各シーケンスの比較用データを導出することができる。従って、トラッキングされた値と比較用データとを比較でき、図１９の結果が得られる。
【００９６】
図１９は人差し指のＭＣＰの２つのＤＯＦについて、推定値と比較用データとの比較を示す。図１９からわかるように、トラッキングされた値と比較用データとの誤差はきわめて小さい。
【００９７】
図２０では、４００フレームにわたるトラッキングでの手の姿勢誤差をみることができる。図２０からわかるように、平均誤差（θＭＣＰ）はフレーム３００で最高の０．０６ラジアンに達したのみである。
【００９８】
＜結論＞
この発明においては、パーティクルフィルタを用いた、マーカ不使用の手及び指トラッキングシステムの実施の形態を提示した。人の手のような、多関節で自己の重なりにより隠れた部分のある対象物の手がかりを正確に評価する、新規なｚバッファを用いる方法を提案した。指を正確にトラッキングできるようにするために、検索空間を区分するパーティクル再サンプリングを提案した。ＰＣクラスタに分散したパーティクルフィルタを用いてこれを実現し、トラッキングの結果を高いフレームレートで達成することが可能となった。トラッキングシステムの有効性は、２０自由度の精巧なロボットハンドをリアルタイムで制御することで示された。
【００９９】
このトラッキングシステムに人の全身のトラッカを組合せることで、非常に大きな利益が得られる。腕の姿勢を利用して手首の位置を得ることが可能となり、したがって、手の向きについての検索空間を大きく削減することができる。
【０１００】
今回開示された実施の形態は単に例示であって、本発明が上記した実施の形態のみに制限されるわけではない。本発明の範囲は、発明の詳細な説明の記載を参酌した上で、特許請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味および範囲内でのすべての変更を含む。
【図面の簡単な説明】
【０１０１】
【図１】この発明の実施の形態で制御されるロボットハンドの動きのシーケンスを示す図である。
【図２】この実施の形態に従ったデータフローの概観を示す図である。
【図３】この発明の一実施の形態のセットアップを示す図である。
【図４】この発明の一実施の形態で用いられる３Ｄ手モデルを概略的に示す図である。
【図５】３Ｄ手モデルの投影画像を示す図である。
【図６】ｚバッファ上に投影された３Ｄ手モデルの画像を示す図である。
【図７】肌色マスク２８０及びエッジフィルタ処理された画像２８２に描画された投影モデルを示す図である。
【図８】この発明の一実施の形態で用いられるクラスタノードの性能尺度を示す図である。
【図９】この実施の形態の手モデルトラッカ９０の全体構造を示す図である。
【図１０】画像前処理モジュール１０４を示すブロック図である。
【図１１】手の姿勢のためのパーティクルフィルタユニット１０８の詳細を示すブロック図である。
【図１２】手の姿勢のためのパーティクルフィルタユニット１０８の評価ユニット２０２Ｋの詳細を示す図である。
【図１３】指のためのパーティクルフィルタユニット１１０の詳細を示す図である。
【図１４】指のためのパーティクルフィルタユニット１１０の評価ユニット２４２Ｋの詳細を示す図である。
【図１５】この発明の一実施の形態を実現するためのコンピュータシステム構造を示す図である。
【図１６】図１５に示すコンピュータシステム３２０で用いられるパーソナルコンピュータ（ＰＣ）の典型的な構成を示す図である。
【図１７】合成した手のステレオ投影（フレーム１５０から４００）のトラッキングシーケンスを示す図であって、第１の行が面の手がかりのための入力を示し、第２の行がエッジの手がかりのための入力を示す、図である。
【図１８】３Ｄ手モデルのステレオアニメーションシーケンスを投影することによって制作された、第２の実験で用いられた合成映像のシーケンスを示す図である。
【図１９】実験において人差し指のＭＣＰの２ＤＯＦについて、比較用データと推定値との比較を示す図である。
【図２０】実験で観察された手の姿勢誤差を示す図である。
【符号の説明】
【０１０２】
３０  手
３２  カメラ
３４  ロボットハンド
５８、１１６  ３Ｄ手モデル
９０  手モデルトラッカ
１００  フレーム撮影部
１０２  フレームメモリ
１０４  画像前処理モジュール
１０６、２２０、２３６、２６０、２７６  メモリ
１０８  手のためのパーティクルフィルタユニット
１１０  指のためのパーティクルフィルタユニット
１１２  組合せブロック
１１４  モデル更新モジュール
１１８  乱数発生モジュール
１２０及び１２２  パーティクルメモリ
２００、２４０  パーティクル形状メモリ
２０２Ａ−２０２Ｎ及び２４２Ａ−２４２Ｎ  評価ユニット
２０４、２４４  加重合計モジュール
２１８、２５８  ベクトル形成モジュール
２２２、２６２  座標変換モジュール
２２４、２６４  重心計算モジュール
２２６、２６６  ソートモジュール
２２８、２６８  リスト
２３０、２７０  手部分描画モジュール
２３２、２７２  ｚバッファ
２３４、２７４  衝突検出モジュール
２３８、２７８  確率計算モジュール
【図１】
2008140101.tif 000007
【図２】
2008140101.tif 000008
【図３】
2008140101.tif 000009
【図４】
2008140101.tif 000010
【図５】
2008140101.tif 000011
【図６】
2008140101.tif 000012
【図７】
2008140101.tif 000013
【図８】
2008140101.tif 000014
【図９】
2008140101.tif 000015
【図１０】
2008140101.tif 000016
【図１１】
2008140101.tif 000017
【図１２】
2008140101.tif 000018
【図１３】
2008140101.tif 000019
【図１４】
2008140101.tif 000020
【図１５】
2008140101.tif 000021
【図１６】
2008140101.tif 000022
【図１７】
2008140101.tif 000023
【図１８】
2008140101.tif 000024
【図１９】
2008140101.tif 000025
【図２０】
2008140101.tif 000026
【手続補正書】
【提出日】平成19年1月29日(2007.1.29)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
パーティクルフィルタ処理を用いて映像シーケンスにおける手のトラッキングを行なうための手トラッキング装置であって、
３次元の手のモデルを記憶するための記憶手段と、
ビデオシーケンスの現在のフレームから手の姿勢の手がかりを抽出するための手がかり抽出手段と、
前記手がかりと現在の３次元の手のモデル形状とにパーティクルフィルタ処理を施して現在のフレーム中の手の姿勢を推定するための推定手段と、
前記推定手段によって推定された姿勢を用いて前記３次元の手のモデル形状を更新するための手段とを含み、
前記推定手段は、
３次元の手のモデルにランダムノイズを付加して前記３次元の手のモデルに対し予め定められた数のパーティクルの形状を生成する手段と、
手の形状を表す前記パーティクルの各々に対しｚバッファ画像を生成するためのｚバッファ処理手段とを含み、前記ｚバッファ画像は前記３次元の手のモデルの、前記ビデオシーケンスを出力する画像キャプチャ装置の画像面への投影であり、前記推定手段はさらに
前記手がかりと前記ｚバッファ画像とに基づいて、前記手の形状の各々の確率を計算するための確率計算手段と、
前記手の形状のそれぞれの確率を、前記手の形状を表すパーティクルのそれぞれの重みとして用いて、前記パーティクルの形状について計算された前記手の形状の重み合計を計算するための加重合計手段とを含む、手トラッキング装置。
【請求項２】
前記３次元の手のモデルは掌部分と指部分とを含み、前記確率計算手段は、
前記パーティクルの第１の部分の確率を計算するための第１の評価手段を含み、前記第１の部分のパーティクル形状の指部分の各々は前記３次元モデルの現在の指部分と置換えられており、前記確率計算手段はさらに、
前記パーティクルの第２の部分の確率を計算するための第２の評価手段を含み、前記第２の部分のパーティクル形状の掌部分の各々は前記３次元モデルの現在の掌部分と置換えられており、
前記加重合計手段は
それぞれの確率を重みとして用いて、前記パーティクルの前記第１の部分の加重合計を計算するための第１の合計手段と、
それぞれの確率を重みとして用いて、前記パーティクルの前記第２の部分の加重合計を計算するための第２の合計手段と、
前記第１の合計手段によって出力された加重合計の掌部分と、前記第２の合計手段によって出力された加重合計の指部分とを組合せるための組合せ手段とを含む、請求項１に記載の手トラッキング装置。
【請求項３】
前記第１の評価手段は並列に動作可能な複数の第１の計算ユニットによって実現され、前記複数の第１の計算ユニットの各々は前記パーティクル形状の前記第１の部分の一部の確率を計算するようにプログラムされる、請求項２に記載の手トラッキング装置。
【請求項４】
前記第２の評価手段は並列に動作可能な複数の第２の計算ユニットによって実現され、前記複数の第２の計算ユニットの各々は前記パーティクル形状の前記第２の部分の一部の確率を計算するようにプログラムされる、請求項２又は請求項３に記載の手トラッキング装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００２３
【補正方法】変更
【補正の内容】
【００２３】
好ましくは、３次元の手モデルは掌部分と指部分とを含む。確率計算手段は指パーティクルの第１の部分の確率を計算するための第１の評価手段を含む。第１の部分のパーティクル形状の指部分の各々は３次元モデルの現在の指部分と置換えられている。確率計算手段はさらに、パーティクルの第２の部分の確率を計算するための第２の評価手段を含む。第２の部分のパーティクルの掌部分の各々は３次元モデルの現在の掌部分と置換えられている。加重合計手段はそれぞれの確率を重みとして用いて、指形状の第１の部分の加重合計を計算するための第１の合計手段と、それぞれの確率を重みとして用いて、手形状を表すパーティクルの第２の部分の加重合計を計算するための第２の合計手段と、第１の合計手段によって出力された加重合計の掌部分と、第２の合計手段によって出力された加重合計の指部分とを組合せるための組合せ手段を含む。
【外国語明細書】
2008140101000001.pdf
2008140101000002.pdf
2008140101000003.pdf
2008140101000004.pdf