説明

モーションキャプチャ装置及びモーションキャプチャ方法、並びにモーションキャプチャプログラム

【課題】 人物動きの速さや複雑な背景などによらず、実環境で利用可能なロバストなモーションキャプチャ装置及びモーションキャプチャ方法、並びにモーションキャプチャプログラムを提供する。
【解決手段】 キネマティクスモデルの関節間の連結性拘束に応じた順番で、関節の予測位置を姿勢・位置予測部5にて予測し、姿勢・位置射影部6にて予測位置を2次元画像上に射影し、信頼性評価部7にて2次元画像上に射影された予測位置の信頼性を評価し、評価結果に基づいて姿勢・位置推定部8にて推定位置を推定する。そして、姿勢・位置推定部8にて推定された推定位置は、次に予測する階層の関節の予測位置演算に用いられる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、カメラで撮像された画像に基づいて対象人物の姿勢又は動作を認識するモーションキャプチャ装置及びモーションキャプチャ方法、並びにモーションキャプチャプログラムに関する。
【背景技術】
【0002】
人と機器との自然なインタフェースを実現するには、人の手振り・身振りを含めて、操作者の様々な行動や音声などの情報を統合的に解析し、人の存在や意図などを検出し認識することが不可欠である。そのため、人の動きや行動パターンの解析に関する様々な技術が検討されてきた。動き解析技術としては、特殊なマーカー等を用いて動き情報を取得するものと、マーカー無しの画像解析によるものとに大別できる。
【0003】
特殊なマーカー等を用いるシステムは、磁気式、機械式、光学式などがあるが、最近の動き追跡・キャプチャシステムとしては、特に光学式のモーションキャプチャシステムが良く利用されている。例えば、Vicon Peaks社のMXカメラシステム(商標)、Natural Point社のOptiTrack(商標)、Motion Analysis社のHawk Digital System(商標)等のモーションキャプチャ・解析システムがすでにCG(Computer Graphics)、映画製作などの分野で利用されている。マーカー付き動き解析システムのメリットとしては、人物などの動き情報を正確に計測できるので、CGや映画製作などの高精度な動き解析が必要とするところで良く利用される。
【0004】
しかし、この方式は、大掛かりなシステム構成が必要であったり、マーカーの取り付けによる人体への負担があったりするため、自然なHMI(Human Machine Interface)と呼ぶことはできない。
【0005】
そこで、本発明者らは、一般環境での自然なHMIを実現するために、マーカー無しの画像解析による動き解析技術を用いている。マーカー無しの画像解析による動き解析手法は、いくつか検討されているが、代表的には、人物の3次元モデルとステレオ画像による動きと姿勢追跡手法(例えば、非特許文献1参照。)、多数カメラを用いる人物の3次元モデルに基づく人物動き追跡手法(例えば、非特許文献2参照。)、人物領域と運動モデルによる動き解析手法(例えば、非特許文献3参照。)等を挙げることができる。
【0006】
【非特許文献1】D. Demirdjian, T. Ko, T. Darrell, Constraining Human Body Tracking, Proceedings of the International Conference on Computer Vision, 2003.
【非特許文献2】K.M. Cheung, S. Baker, J.K. Hodgins, and T. Kanade, Markerless Human Motion Transfer, Proceedings of the 2nd International Symposium on 3D Data Processing, Visualization and Transmission, September, 2004.
【非特許文献3】Ramanan, D., Forsyth, DA, Zisserman, A. "Strike a Pose: Tracking People by Finding Stylized Poses." Computer Vision and Pattern Recognition (CVPR), San Diego, CA, June 2005.
【非特許文献4】D. Demirdjian, T. Darrell, 3-D Articulated Pose Tracking for Untethered Diectic Reference, Proceedings of the International Conference on Multimodal Interfaces, 2002.
【発明の開示】
【発明が解決しようとする課題】
【0007】
非特許文献1に記載された手法は、システム構成が簡単で、限定された環境においてリアルタイムで人物の動き・姿勢推定が可能であるが、距離画像の精度に依存することや、前後フレーム間の動き量が小さいことといった条件が必要であった。
【0008】
また、非特許文献2に記載された手法は、3次元モデルの推定がうまくできれば、人物動きの位置・姿勢の推定精度が高いと思われるが、システム構成が大掛かりで、3次元モデルを精度良く構築するために、人物以外の背景を除去する必要があった。
【0009】
また、非特許文献3に記載された手法は、アルゴリズムがシンプルで、一般背景での利用も可能であるが、人物の動き・姿勢を精度よく推定するために、人物の各肢体領域を正確に検出する必要があった。
【0010】
また、これらの技術を用いる場合、人間の身体のモデルを如何に当てはめるかという事が大きな問題となっていた。例えば非特許文献4には、視差画像のDepth情報を用いて対象人物を前景として抽出し、そこに3Dのシリンダモデルを当てはめることが記載されているが、頭や腕の位置を同定することは困難であった。
【0011】
このように、これら従来の手法では、一般環境において人物の自然な動き・姿勢を推定/追跡することが困難であり、自然なHMIを実現することができなかった。
【0012】
本発明は、このような従来の実情に鑑みて提案されたものであり、人物動きの速さや複雑な背景などによらず、実環境で利用可能なロバストなモーションキャプチャ装置及びモーションキャプチャ方法、並びにモーションキャプチャプログラムを提供することを目的とする。
【課題を解決するための手段】
【0013】
本発明に係るモーションキャプチャ装置は、対象人物の各関節及び肢体の3次元位置と姿勢を追跡するモーションキャプチャ装置において、上記対象人物の観測画像から各関節が連結されたキネマティクスモデルを生成する生成手段と、上記キネマティクスモデルの関節間の連結拘束及び前時刻の予測位置に基づいて上記対象人物の各関節の現時刻の予測位置を階層的に算出し、現時刻の各関節及び肢体の3次元位置と姿勢を予測する予測手段と、上記予測手段で予測された現時刻の対象人物の各関節及び肢体の3次元位置と姿勢を2次元画像上に射影する射影手段と、上記射影手段で射影された射影位置の信頼性を上記対象人物の観測画像に基づいて評価する評価手段と、上記信頼性の評価結果に基づいて上記現時刻の対象人物の各関節及び肢体の3次元位置と姿勢を推定する推定手段とを備えることにより、上述の課題を解決する。
【0014】
また、本発明に係るモーションキャプチャ方法は、対象人物の各関節及び肢体の3次元位置と姿勢を追跡するモーションキャプチャ方法において、上記対象人物の観測画像から各関節が連結されたキネマティクスモデルを生成する生成工程と、上記キネマティクスモデルの関節間の連結拘束及び前時刻の予測位置に基づいて上記対象人物の各関節の現時刻の予測位置を階層的に算出し、現時刻の各関節及び肢体の3次元位置と姿勢を予測する予測工程と、上記予測工程で予測された現時刻の対象人物の各関節及び肢体の3次元位置と姿勢を2次元画像上に射影する射影工程と、上記射影工程で射影された射影位置の信頼性を上記対象人物の観測画像に基づいて評価する評価工程と、上記信頼性の評価結果に基づいて上記現時刻の対象人物の各関節及び肢体の3次元位置と姿勢を推定する推定工程とを有することにより、上述の課題を解決する。
【0015】
また、本発明に係るモーションキャプチャプログラムは、対象人物の各関節及び肢体の3次元位置と姿勢を追跡する処理を実行させるモーションキャプチャプログラムにおいて、上記対象人物の観測画像から各関節が連結されたキネマティクスモデルを生成する生成工程と、上記キネマティクスモデルの関節間の連結拘束及び前時刻の予測位置に基づいて上記対象人物の各関節の現時刻の予測位置を階層的に算出し、現時刻の各関節及び肢体の3次元位置と姿勢を予測する予測工程と、上記予測工程で予測された現時刻の対象人物の各関節及び肢体の3次元位置と姿勢を2次元画像上に射影する射影工程と、上記射影工程で射影された射影位置の信頼性を上記対象人物の観測画像に基づいて評価する評価工程と、上記信頼性の評価結果に基づいて上記現時刻の対象人物の各関節及び肢体の3次元位置と姿勢を推定する推定工程とを有することにより、上述の課題を解決する。
【発明の効果】
【0016】
本発明によれば、対象人物の観測画像から各関節が連結されたキネマティクスモデルを生成し、キネマティクスモデルの各関節の連結拘束及び前時刻の予測位置に基づいて対象人物の各関節の現時刻の予測位置を階層的に算出し、現時刻の各関節及び肢体の3次元位置と姿勢を予測し、予測された現時刻の対象人物の各関節及び肢体の3次元位置と姿勢を2次元画像上に射影し、射影位置の信頼性を対象人物の観測画像に基づいて評価し、その評価結果に基づいて現時刻の対象人物の各関節及び肢体の3次元位置と姿勢を推定することにより、特殊なマーカー・センサーが不要で、且つ自然なヒューマンマシンインタラクションを実現することができる。
【発明を実施するための最良の形態】
【0017】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
【0018】
図1は、本発明の一実施の形態におけるモーションキャプチャ装置の構成を示すブロック図である。このモーションキャプチャ装置は、所定の位置に配置されたカメラ1L、1Rと、カメラキャリブレーションによりカメラパラメータを取得するカメラパラメータ取得部2と、カメラ1L、1Rで撮像された画像・距離情報を観測する画像・距離情報観測部3と、各関節を連結したキネマティクスモデルを生成するとともに画像情報を保存する初期化部4と、現時刻における対象人物の姿勢・位置を予測する姿勢・位置予測部5と、予測された姿勢・位置を2次元画像上に射影する姿勢・位置射影部6と、射影された2次元画像を評価する信頼性評価部7と、評価値に基づいて現時刻における対象人物の姿勢・位置を推定する姿勢・位置推定部8とを備えて構成されている。
【0019】
カメラ1L、1Rは、同一の対象人物を撮影できるように所定の位置に配置されている。なお、本実施の形態では、2台のカメラの視差から対象物の距離を算出する「ステレオビジョン」を用いることとして説明するが、レーザを照射してその反射光を検出するまでの時間を測定することによって距離を算出する「レーザレンジファインダ」等を利用することとしてもよい。
【0020】
カメラパラメータ取得部2は、カメラキャリブレーションにより、実世界座標とカメラ画像座標とを関係付けるカメラパラメータを取得する。このカメラパラメータは、画像・距離情報観測部3及び姿勢・位置射影部6に出力される。
【0021】
画像・距離情報観測部3は、カメラ1L、1Rで撮像された画像を初期化部4及び信頼性評価部7に出力する。また、カメラパラメータ取得部2で取得されたカメラパラメータに基づいて距離情報を生成し、距離情報を初期化部4及び信頼性評価部7に出力する。
【0022】
初期化部4は、キネマティクスモデルを生成するために対象人物の各関節点Sの3次元座標(x,y,z)を求めるとともに、予測された姿勢・位置を評価するために関節点、関節点間の肢体(Limbs)、及び顔等の特徴点の画像情報(初期画像モデル)を保存する。このキネマティクスモデルは、各関節が連結された関節モデルである。なお、本実施例では、15の関節点{Sk:k=0,1,・・・,14}で表現したキネマティクスモデルを用いることとして説明する。また、画像情報としては、例えば、表面の質感を表現するテクスチャ、色情報、視差情報、輪郭等の信頼度評価値等を用いることができる。
【0023】
姿勢・位置予測部5は、前時刻の各関節及び肢体の予測位置とキネマティックモデルの間接間の連結性拘束とを用いて、現時刻の各関節及び肢体の位置を確率モデルによって階層的に予測し、体の構え(姿勢)を予測する。具体的には、後述するように、関節モデルの前階層の関節の推定位置に確率分布を持たせ、次の階層の関節の予測位置を演算する。
【0024】
姿勢・位置射影部6は、姿勢・位置予測部5によって予測された現時刻における対象人物の3次元空間の各関節及び肢体の予測位置及び姿勢を、カメラキャリブレーションで得られた射影行列Pによって2次元画像上に射影し、3次元座標(x,y,z)に対応する2次元画像上の射影位置(u,v)を求める。
【0025】
信頼性評価部7は、姿勢・位置射影部6によって得られた2次元画像(観測画像)上の射影位置(u,v)の画像情報(例えば、距離情報・色情報・テクスチャ情報など)と、予め保存された画像情報(初期画像モデル)との相似性を計算することにより、射影位置の正しさを評価する。
【0026】
姿勢・位置推定部8は、信頼性評価部7で評価された2次元画像上の射影位置の評価値によって、現時刻における対象人物の3次元空間上の位置及び姿勢を推定する。この現時刻における対象人物の3次元空間上の位置及び姿勢の推定情報は、姿勢・位置予測部5に前時刻の対象人物の各関節及び肢体の位置として出力される。
【0027】
ここで、上述したモーションキャプチャ処理の概要を、図2に示す模式図を用いて説明する。
【0028】
まず、予め少なくとも2台以上のカメラ1L、1Rを、同一の対象人物が撮影できるように配置し、それらの位置関係やカメラパラメータ等をカメラキャリブレーションによって取得する。このカメラパラメータ等は、カメラパラメータ取得部2から画像・距離情報観測部3及び姿勢・位置射影部6に出力される。
【0029】
初期化部4では、例えば、図2(A)のような画像・距離情報観測部3から出力された対象人物の観測画像から視差画像(u,v,depth)を予測し、その視差画像(u,v,depth)を3次元空間上に逆射影することによって、対象人物の3次元形状及び各関節の3次元位置・座標モデル(x,y,z)を算出し、キネマティックスモデルを生成する。また、観測画像に基づいて各関節の画像情報(初期画像モデル)を保存する。
【0030】
次に、姿勢・位置予測部5において、例えば、図2(B)のような前時刻(t-1)の各関節位置・姿勢Pt−1の推定結果に基づいて図2(C)のような現時刻の各関節の位置・姿勢Pを、キネマティクスモデルの関節間の連結性拘束を用い、確率モデルによって階層的に予測する。
【0031】
姿勢・位置射影部6は、予測された現時刻の対象人物の各関節位置・姿勢Pを、カメラキャリブレーションで得られた射影行列Pによって、例えば、図2(D)のように2次元画像上に射影し、3次元座標(x,y,z)に対応する2次元画像上の射影位置及び視差(u,v,depth)を求める。
【0032】
そして、信頼性評価部7において、2次元画像(観測画像)上に射影された射影位置の視差(u,v,depth)、色情報、テクスチャ情報等の画像情報と、予め保存された画像情報(初期画像モデル)との相似性を計算し、2次元画像上に射影された対象人物の各関節の射影位置・姿勢の正しさを評価する。
【0033】
姿勢・位置推定部8は、信頼性評価部7で算出された評価値に基づいて、最終的に、図2(E)のように現時刻における対象人物の3次元空間上の予測位置・姿勢Pを求める。
【0034】
このように対象人物の位置・姿勢・動き追跡を行うことにより、対象人物に負担を掛けることのない、自然なHMI(Human Machine Interface)を実現することができる。
【0035】
続いて、上述したモーションキャプチャ装置における各処理について詳細に説明する。まず、対象人物のキネマティクスモデルの生成について説明する。図3に示すように、予めキャリブレーションされた左右カメラカメラ1L、1Rによって3次元空間の対象人物30の画像を観測し、これらの観測画像(u,v,depth)31L、31Rを用いて視差画像32を推定する。そして、視差画像(u,v,depth)32をカメラキャリブレーションで求められた射影行列によって、3次元空間に射影し、その3次元空間における人物の各関節の座標位置(x,y,z)を求めることにより、対象人物のキネマティクスモデル33を生成することができる。
【0036】
図4は、キネマティクスモデルを初期化するための初期化部4の構成を示すブロック図である。初期化部4は、距離画像を生成する距離計測部41と、入力画像から顔領域の位置及び距離を検出する顔検出部42と、距離画像及び顔の距離に基づいて対象人物を前景とするマスク画像を生成するマスク生成部43と、顔領域の色ヒストグラムを算出する色分布算出部44と、顔領域の位置及び距離に基づいて手のあるべき位置を示すウィンドウ位置を算出する手検出ウィンドウ生成部45と、顔領域の色相、彩度、及び色相、彩度それぞれの分散値と、手検出ウィンドウの位置と、マスク画像とに基づいて手を検出する手検出部46と、顔の位置及び距離と、手の位置及び距離に基づいて各関節位置を算出する関節位置算出部47とを備えて構成されている。
【0037】
続いて、初期化部4における初期化処理を図5に示すフローチャート及び図6に示す模式図を参照して説明する。
【0038】
ステップS1において、距離計測部41は、画像・距離情報観測部3から出力された画像・距離情報に基づいて距離画像を生成する。ここで、距離画像を生成すると同時にその距離の信頼度を示す画像を生成することが好ましい。これにより、後述するマスク画像生成の精度向上を図ることができる。なお、信頼度は、例えばステレオ法で距離を算出し、正規化相関を用いたマッチングを行った場合、そのマッチングコストを指数化したものを用いることができる。
【0039】
ステップS2において、顔検出部42は、図6(A)に示すように、対象人物の入力画像から顔Fを検出し、顔を検出したと判断した場合は、ステップSに進み、顔を検出していないと判断した場合は、ステップS1に戻る。
【0040】
顔認識技術としては、例えば、特再WO2003/019475(「ロボット装置、顔認識方法及び顔認識装置」ソニー(株))に記載されているように、ガボア・フィルタで顔特徴量を抽出し、サポート・ベクタ・マシンで顔識別を行う手法を用いることができる。
【0041】
ステップS3において、色分布算出部44は、図6(B)に示すように、顔検出部42で検出された顔領域の色のヒストグラムを算出する。ここで、ヒストグラムは、HSI表色系のH(Hue,色相)及びS(Saturation,彩度)に関して、その度数が最も大きいH及びSを求め、それぞれに適当な分散値を持たせたものを出力する。
【0042】
ステップS4において、顔検出部42は、図6(C)に示すように、検出した顔F、及び距離計測部41で計測された距離画像に基づいて、顔の距離を算出する。ここで、ノイズの影響を除去するために、平均値ではなく、顔領域内の中央の距離の値である中央値(Median)を用いることが好ましい。
【0043】
ステップS5において、手検出ウィンドウ生成部45は、顔検出部42で検出した顔領域の位置及び距離に基づいて、例えば、図6(D)に示すように、対象人物が両手を水平に伸ばした際の手のあるべき位置を示すウィンドウWの位置を算出する。この手検出ウィンドウの生成方法は、まず、画像中の顔の位置及び距離をカメラパラメータ取得部2で取得したカメラパラメータ等に応じてワールド座標系へと変換する。そして、顔の位置から首と腕の長さを加算し、ウィンドウ位置を決定する。なお、個人差を考慮して、首の長さを270mm±150mm、腕の長さを900mm±350mmとして規定した。また、対象人物は、モーションキャプチャ装置にほぼ正対していると仮定し、手の距離を顔の距離とほぼ同じであるとした。このようにして求められた手検出ウィンドウのワールド座標値をカメラ座標系へと逆変換し、画像中の手検出ウィンドウの位置を算出する。
【0044】
ステップS6において、マスク生成部43は、距離計測部41で生成された距離画像及び顔検出部42で算出した顔の距離に基づいて、図6(E)に示す対象人物を前景とするマスク画像を生成する。ここで、距離計測部41において、距離の信頼度を示す画像が生成されていた場合、マスク生成部43は、距離の信頼度を用いて、顔の距離から一定の距離だけシフトした値を閾値として2値化した画像をマスク画像として生成する。これにより、マスク画像生成の精度を向上させることができる。さらに、画像にラベリングを施してヒストグラムを取り、度数の大きい領域のみ残すことによってノイズ除去を行うことができる。
【0045】
ステップS7において、手検出部46は、色分布算出部44で算出された色相、彩度、及び色相、彩度それぞれの分散値と、手検出ウィンドウ生成部45で生成したウィンドウ位置と、マスク生成部43で生成したマスク画像とに基づいて手を検出する。具体的には、手検出ウィンドウ内において、マスク画像で前景となっている領域中から、顔と同じ色相及び彩度の範囲に入る領域を手として検出する。ここで、手の領域の中で、右手であれば右端に、左手であれば左端に円を当てはめ、その中心位置を手の座標として出力する。また、手領域内の中央の座標における距離の値を手の距離として出力する。
【0046】
ステップS8において、手検出部46は、両手が検出されたかを判断し、検出された場合は初期化成功とし、ステップS9へと進む。また、両手が検出されていないと判断した場合、ステップS1に戻る。
【0047】
ステップS9において、関節位置算出部47は、顔検出部42で検出した顔の位置及び距離と、手検出部46で検出した手の位置及び距離とに基づいて各関節位置の算出を行う。図6(F)は、各関節位置S〜Sを示す画像である。ここでは、手が水平な状態で算出されているという前提なので、両手の位置とあらかじめ用意しておいた肩、上腕及び下腕の長さの比率を用いることにより、肩と肘の位置を決定する事ができる。さらに、マスク生成部43で生成した距離の信頼度を示すマスク画像を用いることにより、ノイズを除去し、肘と肩の位置の精度向上を図ることができる。具体的には、まず、肘のX座標におけるマスク前景部分のY座標を求め、その中央値を肘のY座標として採用する。また、上腕部のX座標において何点かをサンプリングし、それぞれにおけるマスク前景部分のY座標の中央値をその点のY座標として採用し、それらの点を用いて上腕部の近似直線を求める。そして、肩のX座標におけるその近似直線上の点を、肩位置として採用する。これらの処理により、大幅に関節位置精度を向上させることができる。
【0048】
このように3次元空間の各関節位置を求めることにより、キネマティクスモデルを高精度に初期化することができる。また、キネマティクスモデルの初期化の際、そのモデルの各関節点に対応する画像情報(テクスチャ、色、視差、信頼度評価値など)を保存し、初期画像モデルとする。この初期モデルは、後述する追跡処理において、観測画像と比較され、予測の正しさの評価、追跡結果の算出に用いられる。
【0049】
次に、キネマティクスモデルの各関節位置の予測方法について説明する。図7(A)は、本実施の形態における階層的予測方法の概念図を示す。この階層的予測法は、まず、最も観測しやすい人物の頭部(顔)の情報を用いて、首の関節S及び頭部中心Sの位置を推定する。そして、関節Sの推定結果を元に、肩の関節S、S及び背中の関節Sの位置を推定する。その後、それぞれの関節S、S、Sの推定結果を用いて、両肘の関節S、S及び腰部関節S、S10の位置を推定する。さらに、両肘の関節S、Sをベースに、両腕の関節S、Sの位置を推定する。また。腰部関節S、S10をベースに両膝の関節S11、S12の位置を推定する。最後に、両膝の関節S11、S12に基づいて両足の関節S13、S14の位置を推定する。すなわち、この階層的予測法は、キネマティクスモデルの関節間の連結性拘束及び前時刻の関節位置に基づいて、現時刻の各関節位置を順次算出するものである。
【0050】
図7(B)は、各関節点の予測方法を説明するための模式図である。現時刻(t)における各関節S〜S14の予測位置は、前時刻(t-1)の予測結果に基づいて求められる。また、現時刻(t)における各関節の予測位置は、正規分布で表現され、信頼性(確率)の評価が行われる。また、信頼性の評価値により、各関節の推定結果をある範囲内に変動させる。これにより、精度が悪い推定結果をそのまま利用した場合、それぞれ連接する関節への推定精度に大きな影響が生じることを防止する。
【0051】
図8及び図9は、キネマティクスモデルの各関節位置の予測のための構成を示すブロック図である。ここで、関節S〜Sの位置・姿勢予測部51〜58は、姿勢・位置予測部5に対応するものであり、関節S〜Sの位置・姿勢推定部81〜88は、姿勢・位置推定部8に対応するものである。すなわち、図1において、キネマティクスモデルの関節間の連結性拘束に応じた順番で、関節の予測位置を姿勢・位置予測部5にて予測し、姿勢・位置射影部6にて予測位置を2次元画像上に射影し、信頼性評価部7にて2次元画像上に射影された予測位置の信頼性を評価し、評価結果に基づいて姿勢・位置推定部8にて推定位置を推定する。そして、姿勢・位置推定部8にて推定された推定位置は、次に予測する階層の関節の予測位置演算に用いられる。
【0052】
現時刻tにおける各関節の予測値(位置・姿勢)は、前時刻(t-1)における各関節S(m=0,・・・,14)の各仮説{k=1,2,・・・,K}に基づく姿勢の予測関数ωm(t,k)及び位置の予測関数ξm(t,k)を用いて計算される(m=0,・・・,14)。ωm(t,k)及びξm(t,k)は、それぞれ時刻tの第m番目の関節に関して下記のように計算される。
【0053】
【数1】

【0054】
ここで、φは、平均値μ、標準分散σの正規乱数を得るための関数であり、νは、時刻(t-1)での各関節点の動き速度を示し、κは、寄与度を調整する定数を示す。
【0055】
図8に示す上半身の各関節の予測のための構成は、首の関節Sと頭部中心Sの位置・姿勢を予測するSとSの位置・姿勢予測部51と、SとSの位置・姿勢推定部81と、首の関節Sの推定結果に基づいて肩の関節S、Sの位置・姿勢を予測するSとSの位置・姿勢予測部52と、SとSの位置・姿勢推定部82と、肩の関節S、Sの推定結果に基づいて両肘の関節S、Sを位置・姿勢を予測するSとSの位置・姿勢予測部53と、SとSの位置・姿勢推定部83と、両肘の関節S、Sに基づいて両腕の関節S、Sの位置・姿勢を予測する位置・姿勢予測部54と、SとSの位置・姿勢推定部84とを備えている。
【0056】
とSの位置・姿勢予測部51は、前時刻(t-1)の首の関節位置S0(t-1,k)及び頭部中心位置S1(t-1,k)を入力し、現時刻(t)の首の関節位置S0(t,k)及び頭部中心位置S1(t,k)の予測値を算出する。
【0057】
【数2】

【0058】
とSの位置・姿勢推定部81は、後述するように現時刻(t)の首の関節位置S0(t,k)及び頭部中心位置S1(t,k)の仮説{k=1,2,・・・,K}の信頼性を評価し、例えば、最も信頼性の高い首の関節位置の仮説S0(t)をSとSの位置・姿勢予測部52に出力する。
【0059】
とSの位置・姿勢予測部52は、前時刻(t-1)の肩の関節位置S2(t-1,k)、S3(t-1,k)及び現時刻(t)の首の関節の推定位置S0(t)を入力し、現時刻(t)の肩の関節位置S2(t,k)、S3(t,k)の予測値を算出する。
【0060】
【数3】

【0061】
とSの位置・姿勢推定部82は、後述するように現時刻(t)の肩の関節位置S2(t,k)、S3(t,k)の仮説{k=1,2,・・・,K}の信頼性を評価し、例えば、最も信頼性の高い仮説S2(t)、S3(t)をSとSの位置・姿勢予測部53に出力する。
【0062】
とSの位置・姿勢予測部83は、前時刻(t-1)の両肘の関節位置S4(t-1,k)、S5(t-1,k)及び現時刻(t)の肩の関節の推定位置S2(t)、S3(t)を入力し、現時刻(t)の両肘の関節位置S4(t,k)、S5(t,k)の予測値を算出する。
【0063】
【数4】

【0064】
とSの位置・姿勢推定部83は、後述するように現時刻(t)の両肘の関節位置S4(t,k)、S5(t,k)の仮説{k=1,2,・・・,K}の信頼性を評価し、例えば、最も信頼性の高い仮説S4(t)、S5(t)をSとSの位置・姿勢予測部54に出力する。
【0065】
とSの位置・姿勢予測部54は、前時刻(t-1)の両腕の関節位置S6(t-1,k)、S7(t-1,k)及び現時刻(t)の両肘の関節位置S4(t)、S5(t)を入力し、現時刻(t)の両肘の関節位置S6(t,k)、S7(t,k)の予測値を算出する。
【0066】
【数5】

【0067】
とSの位置・姿勢推定部84は、後述するように現時刻(t)の両腕の関節位置S6(t,k)、S7(t,k)の仮説{k=1,2,・・・,K}の信頼性を評価し、例えば、最も信頼性の高い仮説S6(t)、S7(t)を両腕の関節位置として出力する。
【0068】
また、図9に示す下半身の各関節を予測するための構成は、背中の関節Sの位置・姿勢を予測するSの位置・姿勢予測部55と、Sの位置・姿勢推定部85と、背中の関節Sの推定結果に基づいて腰部関節S、S10の位置・姿勢を予測するSとS10の位置・姿勢予測部56と、SとS10の位置・姿勢推定部86と、腰部関節S、S10の推定結果に基づいて両膝の関節S11、S12の位置・姿勢を予測するS11とS12の位置・姿勢予測部57と、S11とS12の位置・姿勢推定部87と、両膝の関節S11、S12に基づいて両足の関節S13、S14の位置・姿勢を予測する位置・姿勢予測部58と、S13とS14の位置・姿勢推定部88とを備える。
【0069】
の位置・姿勢予測部55は、前時刻(t-1)の背中の関節位置S8(t-1,k)及び現時刻(t)の首の関節位置S0(t)を入力し、現時刻(t)の背中の関節位置S8(t,k)の予測値を算出する。
【0070】
【数6】

【0071】
の位置・姿勢推定部85は、後述するように現時刻(t)の背中の関節位置S8(t,k)の仮説{k=1,2,・・・,K}の信頼性を評価し、例えば、最も信頼性の高い仮説S8(t)をSとS10の位置・姿勢予測部56に出力する。
【0072】
とS10の位置・姿勢予測部56は、前時刻(t-1)の腰部の関節位置S9(t-1,k)、S10(t-1,k)及び現時刻(t)の背中の関節位置S8(t)を入力し、現時刻(t)の肩の関節位置S9(t,k)、S10(t,k)の予測値を算出する。
【0073】
【数7】

【0074】
とS10の位置・姿勢推定部86は、後述するように現時刻(t)の腰部の関節位置S9(t,k)、S10(t,k)の仮説{k=1,2,・・・,K}の信頼性を評価し、例えば、最も信頼性の高い仮説S9(t)、S10(t)をS11とS12の位置・姿勢予測部57に出力する。
【0075】
11とS12の位置・姿勢予測部57は、前時刻(t-1)の両膝の関節位置S11(t-1,k)、S12(t-1,k)及び現時刻(t)の腰部の関節位置S9(t)、S10(t)を入力し、現時刻(t)の両膝の関節位置S11(t,k)、S12(t,k)の予測値を算出する。
【0076】
【数8】

【0077】
とSの位置・姿勢推定部87は、後述するように現時刻(t)の両膝の関節位置S11(t,k)、S12(t,k)の仮説{k=1,2,・・・,K}の信頼性を評価し、例えば、最も信頼性の高い仮説S11(t)、S12(t)をS12とS13の位置・姿勢予測部58に出力する。
【0078】
13とS14の位置・姿勢予測部58は、前時刻(t-1)の両足の関節位置S13(t-1,k)、S14(t-1,k)及び現時刻(t)の両膝の関節位置S11(t)、S12(t)を入力し、現時刻(t)の両足の関節位置S13(t,k)、S14(t,k)の予測値を算出する。
【0079】
【数9】

【0080】
S13とS14の位置・姿勢推定部88は、現時刻(t)の両足の関節位置S13(t,k)、S14(t,k)の仮説{k=1,2,・・・,K}の信頼性を評価し、例えば、最も信頼性の高い仮説S13(t)、S14(t)を両足の関節位置として出力する。
【0081】
このように隣接関節点を追跡精度(確率)に基づいて予測することにより、少ない仮設で全身の動きを予測することができる。例えば、各関節点の仮説k(予測フィルタ数)を10とし、15関節の動きを同時に予測した場合、1015仮説数必要となるが、隣接関節点を階層的に予測した場合、10×15=150仮説数だけでよい。
【0082】
また、本手法は、前の関節点Sk-1の追跡結果の信頼性を評価し、Sの予測モデル(パラメータ)を動的に変化させることにより、例えば、Sの推定結果が良くない場合、全ての関節点に影響するような、各階層の誤差累積による追跡精度の低下を防ぐことができる。例えば、関節点Sの追跡結果の信頼性の評価値が低い場合、関節点Sの動きを予測・追跡する際、図10に示すようにSを中心とする予測位置(x,y,z)を確率的に変化させながら、それを腕(S−S)の回転中心として、Sの動き予測と追跡を行い、最終的に腕(S4’−S)の動きを推定することにより、新しい肘関節点S4’を推定することができる。この例では、腕(S4’−S)の推定結果がより正しい肘関節位置として得ることができるので、肘関節点S4’の結果を上腕(S−S)の推定結果にフィードバックすることも可能である。
【0083】
図11は、姿勢・位置射影部6、信頼性評価部7、及び姿勢・位置推定部8の処理を説明するための模式図である。
【0084】
姿勢・位置射影部6は、各関節の仮説kの予測位置(x,y,z)kを2D画像(u,v,depth)kに射影する。すなわち、図8及び図9に示す各位置・姿勢予測部51〜58で予測された各仮説をカメラキャリブレーションで得られた射影行列によって2次元画像に射影する。具体例として、例えば、図11(A)に示す右腕の関節S7の各仮説の予測位置(x,y,z)に対して、図11(B)に示すように、それらの座標値を観測画像上に投影し、2次元画像上の投影位置・視差(u,v,depth)を求める。
【0085】
信頼性評価部7は、各仮説による観測画像上の射影位置の画像情報と、予め保存されたモデル画像の画像情報との相似性を評価し、予測された各仮説の信頼性(確率)を計算する。ここで、モデル画像の画像情報として、初期化の時に保存された画像情報(例えば、あるウィンドウ内の画像テクスチャ、色分布、視差など)を用いることができる。また、相似性評価方法としては、例えば、それらの画像パターンを用いる正規化相関や、それらの画像パターンの色分布特性のマッチングを用いることができる。
【0086】
マッチング評価は、階層的な動き予測手段によって予測された現時刻(t)の各関節点Sm(t,k)の仮説(m:関節点番号、k:仮説の番号)の3次元位置を、現時刻(t)の2次元画像平面に射影する際、仮説の動き予測パラメータ(R,T)を用いて、初期化の時に得られた画像領域に対応する3次元領域位置に回転(R)、移動(T)処理を行い、2次元モデル画像パターンを求め、このモデル画像パターンと、仮説の射影位置の画像パターンとの相似性評価を行い、マッチングスコアを計算することにより行われる。
【0087】
姿勢・位置推定部8は、相似性評価値(確率)による各関節Sの位置・姿勢を推定する。つまり、各仮説の予測位置での確率を寄与度とした平均状態の統計処理によって、関節の位置・姿勢を決定する。具体的には、例えば、図11(B)に示すように右腕の関節Sの各仮説の2次元画像上の射影位置を、信頼性評価部7のマッチング処理により評価された信頼性(確率)に基づいて統計処理することにより、図11(C)に示すように右腕の関節Sの位置を推定する。
【0088】
以上のように、対象人物のキネマティクスモデルを用いて階層的に現時刻の関節位置を予測することによって、一般環境での対象人物の3次元空間の位置・姿勢をロバストに推定することができる。また、2台以上の複数カメラを用いることによって、対象人物のキネマティクスモデルを容易に生成することができるとともに、対象人物の位置・姿勢の推定精度を向上させることができる。また、背景差分や時間差分を用いていないため、環境変化にロバストである。また、マーカーを用いることなく、対象人物の位置・姿勢・動き追跡を行うことができるため、対象人物に負担を掛けることなく、自然なHMIを実現することができる。
【図面の簡単な説明】
【0089】
【図1】本発明の一実施の形態におけるモーションキャプチャ装置の構成を示すブロック図である。
【図2】本発明の一実施の形態におけるモーションキャプチャ処理の概要を説明するための模式図である。
【図3】対象人物のキネマティクスモデル生成処理の概要を説明するための模式図である。
【図4】キネマティクスモデルを生成するための初期化部の構成を示すブロック図である。
【図5】初期化部における初期化処理を示すフローチャートである。
【図6】初期化処理を説明するための図である。
【図7】本実施の形態における階層的予測方法を説明するための図である。
【図8】キネマティクスモデルの各関節位置の予測のための構成を示すブロック図である。
【図9】キネマティクスモデルの各関節位置の予測のための構成を示すブロック図である。
【図10】前の関節点Sk-1の追跡結果の信頼性を評価し、Sの予測モデルを動的に変化させる処理例を説明するための模式図である。
【図11】姿勢・位置射影部、信頼性評価部、及び姿勢・位置推定部の処理を説明するための模式図である。
【符号の説明】
【0090】
1L,1R カメラ、 2 カメラパラメータ取得部、 3 画像・距離情報観測部、 4 初期化部、 5 姿勢・位置予測部、 6 姿勢・位置射影部、 7 信頼性評価部、 8 姿勢・位置推定部、 41 距離計測部、 42 顔検出部、 43 マスク生成部、 44 色分布算出部、 45 手検出ウィンドウ生成部、 46 手検出部、 47 関節位置算出部

【特許請求の範囲】
【請求項1】
対象人物の各関節及び肢体の3次元位置と姿勢を追跡するモーションキャプチャ装置において、
上記対象人物の観測画像から各関節が連結されたキネマティクスモデルを生成する生成手段と、
上記キネマティクスモデルの関節間の連結拘束及び前時刻の予測位置に基づいて上記対象人物の各関節の現時刻の予測位置を階層的に算出し、現時刻の各関節及び肢体の3次元位置と姿勢を予測する予測手段と、
上記予測手段で予測された現時刻の対象人物の各関節及び肢体の3次元位置と姿勢を2次元画像上に射影する射影手段と、
上記射影手段で射影された射影位置の信頼性を上記対象人物の観測画像に基づいて評価する評価手段と、
上記信頼性の評価結果に基づいて上記現時刻の対象人物の各関節及び肢体の3次元位置と姿勢を推定する推定手段と
を備えることを特徴とするモーションキャプチャ装置。
【請求項2】
上記観測画像から距離画像を生成する距離画像生成手段と、
上記観測画像から顔領域の位置及び距離を検出する顔検出手段と、
上記距離画像及び顔の距離に基づいて対象人物を前景とするマスク画像を生成するマスク生成手段と
上記顔領域の色ヒストグラムを算出する色分布算出手段と、
上記顔領域の位置及び距離に基づいて所定位置に手検出ウィンドウを生成する手検出ウィンドウ生成手段と、
上記顔領域の色ヒストグラム、上記手検出ウィンドウの位置及び上記マスク画像に基づいて手の位置及び距離を検出する手検出手段と、
上記顔の位置及び距離と、上記手の位置及び距離とに基づいて上記キネマティクスモデルの各関節位置を算出する関節位置算出手段と
をさらに備えることを特徴とする請求項1記載のモーションキャプチャ装置。
【請求項3】
上記関節位置算出手段は、上記マスク画像の前景領域の肘の関節のY軸上の中央値を肘の関節のY座標とし、上記マスク画像の前景領域の上腕部のY軸上の中央値を上腕部のY座標として上腕部の近似直線を求め、肩の関節のX軸上と上記近似直線上との交点を、肩の関節の位置として算出することを特徴とする請求項2記載のモーションキャプチャ装置。
【請求項4】
上記生成手段は、上記観測画像から対象人物の視差画像を推定し、該視差画像を3次元空間に逆射影することによって、上記対象人物の各関節及び肢体の3次元位置と姿勢を算出し、キネマティクスモデルを生成することを特徴とする請求項1記載のモーションキャプチャ装置。
【請求項5】
上記射影手段は、上記予測手段によって予測された現時刻の各関節及び肢体の3次元位置と姿勢を、カメラキャリブレーションで得られた射影行列によって3次元空間の位置に対応する2次元画像上の射影位置を求めることにより、上記2次元画像上に射影することを特徴とする請求項1記載のモーションキャプチャ装置。
【請求項6】
上記評価手段は、上記射影位置に対応する観測画像の画像情報と、予め保存された各関節及び肢体の画像情報との相似性を計算し、上記信頼性を評価することを特徴とする請求項1記載のモーションキャプチャ装置。
【請求項7】
上記推定手段は、上記射影手段で射影された射影位置に対する評価値に基づいて、上記現時刻の対象人物の各関節及び肢体の3次元位置と姿勢を推定することを特徴とする請求項1記載のモーションキャプチャ装置。
【請求項8】
同一の対象人物を撮影できるように少なくとも2台以上のカメラを配置するとともに、これらの位置関係及びカメラパラメータを予め有する画像観測手段をさらに備えることを特徴とする請求項1記載のモーションキャプチャ装置。
【請求項9】
対象人物の各関節及び肢体の3次元位置と姿勢を追跡するモーションキャプチャ方法において、
上記対象人物の観測画像から各関節が連結されたキネマティクスモデルを生成する生成工程と、
上記キネマティクスモデルの関節間の連結拘束及び前時刻の予測位置に基づいて上記対象人物の各関節の現時刻の予測位置を階層的に算出し、現時刻の各関節及び肢体の3次元位置と姿勢を予測する予測工程と、
上記予測工程で予測された現時刻の対象人物の各関節及び肢体の3次元位置と姿勢を2次元画像上に射影する射影工程と、
上記射影工程で射影された射影位置の信頼性を上記対象人物の観測画像に基づいて評価する評価工程と、
上記信頼性の評価結果に基づいて上記現時刻の対象人物の各関節及び肢体の3次元位置と姿勢を推定する推定工程と
を有することを特徴とするモーションキャプチャ方法。
【請求項10】
対象人物の各関節及び肢体の3次元位置と姿勢を追跡する処理を実行させるモーションキャプチャプログラムにおいて、
上記対象人物の観測画像から各関節が連結されたキネマティクスモデルを生成する生成工程と、
上記キネマティクスモデルの関節間の連結拘束及び前時刻の予測位置に基づいて上記対象人物の各関節の現時刻の予測位置を階層的に算出し、現時刻の各関節及び肢体の3次元位置と姿勢を予測する予測工程と、
上記予測工程で予測された現時刻の対象人物の各関節及び肢体の3次元位置と姿勢を2次元画像上に射影する射影工程と、
上記射影工程で射影された射影位置の信頼性を上記対象人物の観測画像に基づいて評価する評価工程と、
上記信頼性の評価結果に基づいて上記現時刻の対象人物の各関節及び肢体の3次元位置と姿勢を推定する推定工程と
を有することを特徴とするモーションキャプチャプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate


【公開番号】特開2007−333690(P2007−333690A)
【公開日】平成19年12月27日(2007.12.27)
【国際特許分類】
【出願番号】特願2006−169070(P2006−169070)
【出願日】平成18年6月19日(2006.6.19)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】