説明

モーションキャプチャを用いた運動学パラメータの推定法及び装置

【課題】
簡便な方法で高精度にリンク長を推定する。
【解決手段】
モーションキャプチャにより計測された被験体上のマーカ位置情報を用いた運動学パラメータの推定手段である。リンク機構モデルのリンク上の相対マーカ位置、リンク長、関節角とから推定マーカ位置を定義し、前記マーカ位置情報と前記推定マーカ位置との誤差を表す目的関数を用意する。前記目的関数に、複数フレーム上のマーカ位置情報、及び、関節角を入力する手段と、前記目的関数を用いて前記誤差を最小にする最適化計算を行い、複数のフレームに共通の相対マーカ位置及びリンク長を推定し、推定されたリンク長を前記被験体に特有のリンク長とする手段と、を備えている。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、人体骨格モデルの運動学パラメータ推定に係り、詳しくは、モーションキャプチャデータを用いたリンクパラメータの推定法及び装置に関するものである。
【背景技術】
【0002】
筋骨格モデルにおいて、計算機の発展に伴いより詳細なシミュレーションが行われるようになってきている。モデルが詳細になればなるほど、それを個人に適応し、逆運動学計算、逆動力学計算、筋力計算等を行う際に詳細なパラメータが求められる。
【0003】
ヒト身体を表現するリンク機構の各リンクの長さパラメータを推定する簡便な方法としては、メジャーなどで計測することがよく行われる。しかしながら、外観から関節の回転中心の位置を正確に推測し、それらの間の距離を高精度に計測することは困難である。
【0004】
一部のモーションキャプチャシステムでは、複数のマーカ位置を一定の割合で補間した位置を関節中心とみなし、それらの間の距離を計算することでリンク長を計算する機能を提供しているが、ノイズやマーカ取付位置のずれがそのまま誤差となるため高精度にデータを得ることは難しい。
【0005】
CTやMRI画像から骨領域を抽出し、その3次元モデルに基づいてリンク長を計算することも可能であるが、回転中心の推測はやはり困難であり、また、データ取得・処理に膨大な時間と労力が必要であるため、多数の被験者に対して行うことは現実的でない。
【発明の開示】
【発明が解決しようとする課題】
【0006】
すなわち、高精度な運動解析のためには、個人の体格に合わせたモデルが必要となるが、現状では精度と簡便性とを備えた技術が無い。本発明は、簡便な方法で高精度にリンク長を推定することを目的とするものである。
【課題を解決するための手段】
【0007】
本発明は、モーションキャプチャにより計測された被験体上のマーカ位置情報を用いた運動学パラメータの推定法であって、リンク機構モデルのリンク上の相対マーカ位置、リンク長、関節角とから推定マーカ位置を定義し、前記マーカ位置情報と前記推定マーカ位置との誤差を最小にする最適化計算によりリンク長を推定することで、前記被験体に特有のリンク長を取得するものである。一つの好ましい態様では、リンク長は、任意に選択された基準モデルに対するリンクスケールとして取得される。本発明において、リンク機構モデルは、人体、動物、ロボット等のリンク機構モデルを広く含むが、一つの好ましい態様では、リンク機構モデルは、人体骨格モデルである。本発明は、バイオメカニクスなどにおける運動解析のために必要なヒト身体リンク機構モデルにおける各リンクの長さパラメータを推定する手段を提供する。
【0008】
本発明が採用した第1の技術手段は、前記マーカ位置情報は、複数フレーム上のマーカ位置情報であり、前記マーカ位置情報と前記推定マーカ位置との誤差を最小にする最適化計算により、複数のフレームに共通のリンク長を推定することで、前記被験体に特有のリンク長を取得するものである。すなわち、最適化計算において、モーションキャプチャデータの複数フレームを用いて、一組のスケールパラメータを求めるものである。
【0009】
本発明が採用した第2の技術手段は、前記マーカ位置情報と前記推定マーカ位置との誤差を最小にする最適化計算によりリンク長及び相対マーカ位置を推定することで、前記被験体に特有のリンク長を取得するものである。最適化計算により相対マーカ位置を推定することで、相対マーカ位置の補正を行うことを含む。マーカ配置時の誤差を軽減するために、相対マーカ位置も最適化することによって推定精度を上げることができる。この場合、評価関数において、モーションキャプチャにより計測されたマーカ位置、関節角が入力値となり、リンク長(リンクスケール)、相対マーカ位置が推定値となる。第1の技術手段、第3の技術手段においては、相対マーカ位置を推定値とすることは一つの実施態様にすぎないものであり、相対マーカ位置を入力値として扱っても良い。
【0010】
本発明が採用した第3の技術手段は、関節角を逆運動学計算で計算しながら、前記マーカ位置情報と前記推定マーカ位置との誤差を最小にする最適化計算によりリンク長を推定することで、前記被験体に特有のリンク長を取得するものである。すなわち、最適化計算と逆運動学計算とを別に行い、交互に繰り返して収束させる。関節角の計算に最小二乗による最適化計算を行うと、初期姿勢をモーションキャプチャされたときの姿勢に近いものにしておかないとうまく収束しない場合があり、また、収束したとしても計算時間が長くなってしまう。
【0011】
一つの態様では、本発明は、被験体の所定部位に複数のマーカを取り付け、モーションキャプチャを行ってマーカ位置情報を取得するステップを含む。また、本発明では、予め取得して格納されている被験体のマーカ位置情報を用いても良い。
【0012】
一つの態様では、本発明は、被験体に装着された実際のマーカ位置に対応するように、リンク機構モデル上に相対マーカ位置を設定するステップを含む。より具体的な態様では、ディスプレイに表示したリンク機構モデル上に相対マーカ位置を、例えば、マウス等の入力手段を用いて設定したり、あるいは、相対マーカ位置を数値として、マウス、キーボード等の入力手段を用いて設定する。また、マーカの取付位置として、骨の上などの特徴的な部位を選択することで誤差を低減することができる。推定マーカ位置の初期値は、基準リンク機構モデルに基づいて設定される。より具体的には、推定マーカ位置を定義するパラメータであるリンクスケールの初期値を1とし、最適化計算によって推定される値が、被験体に特有のリンクスケールとなる。一つの態様では、最適化計算は、最急勾配法を用いて実行される。後述する実施形態では、最急勾配法を用いた最適化計算を説明するが、最適化計算は、最適化計算手法として知られるその他の勾配法、例えば、共役勾配法を用いて実行してもよい。
【0013】
本発明が採用した第4の技術手段は、モーションキャプチャにより計測された被験体上のマーカ位置情報を用いた運動学パラメータの推定装置であって、リンク機構モデルのリンク上の相対マーカ位置、リンク長、関節角とから推定マーカ位置を定義し、前記マーカ位置情報と前記推定マーカ位置との誤差を表す目的関数を用意し、前記目的関数に、マーカ位置情報、及び、関節角を入力する手段と、前記目的関数を用いて前記誤差を最小にする最適化計算を行い、相対マーカ位置及びリンク長を推定し、推定されリンク長を前記被験体に特有のリンク長とする手段と、を備えた、運動学パラメータの推定装置である。一つの態様では、前記マーカ位置情報は、複数フレーム上のマーカ位置情報であり、複数のフレームに共通の相対マーカ位置及びリンク長を推定する。一つの態様では、前記装置は、逆運動学計算手段を有し、前記関節角は、逆運動学計算手段によって計算される。
【発明の効果】
【0014】
本発明によれば、被験体の身体にマーカを取り付け、モーションキャプチャを行い、モーションキャプチャデータの複数フレームを用いて、一組のスケールパラメータを求めることで、精度の高いリンクパラメータを推定することができる。複数の姿勢のモーションキャプチャデータを用いることによって、様々な姿勢に応用できる運動学パラメータを推定できる。モーションキャプチャを用いることで、1つの姿勢ではなく複数の姿勢を考慮したリンク長を推定することができるため、ノイズの影響が小さい。また、人体等の被験体は複雑であるため姿勢によって回転中心が異なる関節が多いが、得られた値はさまざまな姿勢に対して平均的に有効である。また、相対マーカ位置も最適化することによって、マーカ配置時の誤差を軽減して推定精度を上げることができる。また、関節角を逆運動学計算で計算しながら、最適化計算を行うことで、最適化計算を良好に収束させることができる。
【発明を実施するための最良の形態】
【0015】
本発明の好適な実施形態であるモーションキャプチャデータを用いた人体骨格モデルの運動学パラメータ推定方法について説明する。本発明で推定する運動学パラメータはリンクのスケールである。具体的には各リンクの、基準となるリンク機構モデル(人体骨格モデル)に対する倍率を推定する。ある被験者についてモーションキャプチャにより計測されたマーカ位置情報と、人体骨格モデルにおける推定マーカ位置と、の誤差を最小にする最適化計算を行うことで、リンクパラメータの推定を行う。
【0016】
[A]人体骨格モデル
推定に用いた人体骨格モデルはおよそ50のリンクからなる。この人体骨格モデルは、鈴木、山根、多谷、栗原、中村:「高速動力学計算法を用いた詳細人体モデルに基づく人間の力学計算」、第20回日本ロボット学会学術講演会予稿集、3C14,2002に記載されている筋骨格モデル(図1に示す)に基づいており、筋骨格モデルの詳細については当該論文を参照することができる。また、約50のリンクの半数は背骨であるため、すべてのリンクに関して個別のスケールを推定する必要はない。必要のあるリンクを絞って運動学パラメータを推定することができる。
【0017】
本発明に用いることができる人体のリンク機構モデル(人体骨格モデル)は、上述のものに限定されるものではなく、もっと単純なモデルやもっと複雑なモデルを使うことも可能である。収束計算で解を求めることができるように、何らかの初期値を与えることができる基準となる人体のリンク機構モデル (すべてのスケール値が1のモデル) が必要となる。
【0018】
リンクのスケールについて説明する。人体骨格モデルのリンク構造はツリー構造で表され、例えば、図2で示すように、あるリンクのスケールはそのリンクよりもその下の階層にある全てのリンクに適用すると定義することができる。複数のスケールが適用されるリンクが存在するが、そのようなリンクの実際のスケールは影響を受けている全てのスケールの積とする。尚、あるリンクのスケールがそれ以下の階層のリンクすべてに影響するというモデルは必須ではなく、一つの実施形態にすぎない。他の形態では、例えば、すべてのリンクのスケールを独立に推定してもよく、また、スケールではなく長さそのものを推定してもよい。
【0019】
[B]モーションキャプチャデータ
スケーリングパラメータの推定には数フレーム〜数十フレームのモーションキャプチャデータを用いる。通常モーションキャプチャデータのサンプリングタイムは数〜数十ミリ秒である。しかし、運動学パラメータ推定に用いるモーションキャプチャデータは様々な姿勢が含まれているのが望ましいので、数秒間隔もしくは任意にピックアップしたフレームを用いる。こうすることによって、様々な姿勢に幅広く対応できる運動学パラメータが求まる。1フレームでも計算は可能であるが、いろいろな関節を動かした運動を計測した時系列データを使うことによって、姿勢による関節中心の変化を平均化したモデルが得られるというメリットがある。肩や膝関節の回転中心は、関節が回転すると移動することが知られている。また、モーションキャプチャでは一般に毎秒30〜100フレームのデータが得られるが、時刻の近いフレームを使っても姿勢が似ているので、適当な間隔でフレームを間引いたり、異なる姿勢を選んだりすることで効率を上げることができる。
【0020】
また、人体骨格モデル中の相対マーカ位置は手作業で与える。ディスプレイ中の3次元空間に基準となる人体骨格モデルを表示し、それに対してマウス操作でマーカを配置するという方法で相対マーカ位置を与える。この作業による誤差を軽減するために、マーカの取り付け位置は身体の特徴的な部分とする。また、相対マーカ位置を、数値として入力してもよい。
【0021】
[C]最急勾配法による最適化計算
本実施形態において、評価関数はマーカ位置と推定マーカ位置の二乗誤差とする。ここで、身体の特徴的な部分にマーカを配置しても手作業で配置しているので誤差が生じる。この誤差の影響を軽減するために、相対マーカ位置も最適化する。評価関数Zを式(1)のように定める。
【数1】

Nはフレーム数、
Mはマーカ数、
iはフレームのインデックス、
jはマーカのインデックス、
i,j(hat)はモーションキャプチャにより計測されたマーカ位置、
i,jは推定マーカ位置、
は相対マーカ位置、
(hat)は相対マーカ位置の初期値である。
【0022】
また、推定マーカ位置Pi,jは、
【数2】

で表される。θは関節値、sはスケールを表す。相対マーカ位置mは、マーカが取り付けられたリンクに対するマーカの相対位置である。各リンク長、リンクに対するマーカの位置と、各関節の角度を決めるとマーカの理論上の位置が計算できる。本発明では、リンク長やリンクに対するマーカ位置を推定で求めるので、「推定マーカ位置」と呼ぶ。尚、ロボットの順運動学計算については、内山,中村:「ロボットモーション」岩波講座 ロボット学2,岩波書店,2004 pp.80-87」を参照することができる。
【0023】
評価関数において、入力値と推定値は以下のようにまとめられる。
【数3】

ただし、関節値θはパラメータ推定計算とは別に逆運動学計算を行うことにより求める。関節角を逆運動学計算で求めることは既知であって、山根克, 中村仁彦: "ヒューマンフィギュアの全身運動生成のための協応構造化インターフェース,"
日本ロボット学会誌,Vol.20,No.3,pp.335-343,2002.、及び、特開2003−58907「木構造リンク系のポーズ及び動作を生成する方法」を参照することができる。
【0024】
パラメータ推定計算と逆運動学計算を交互に行い、計算を収束させる。尚、式(1)の第2項は相対マーカ位置が初期値から離れすぎないように拘束するための項である。βを大きくすると拘束力が大きくなり、結果的にマーカ位置の修正量は小さくなる。
【0025】
リアルタイム処理は必要ないので、最適化計算には最急勾配法を用いる。x=x−△xとし、推定値xを式(2)のように定義し、更新量△xは式(3)で与えられる。
【数4】

∂Z/∂sは、は、以下のようにして求める。
1つのリンクkと1つのマーカj に注目すると、リンクとマーカの位置関係は2通りに分けられる。それぞれ、マーカがリンクより下の階層に含まれる場合(case 1)、マーカがリンクよりも根元側にある場合(case 2) である。
【0026】
リンクkのスケールを微少変化させた様子を表したのが図3である。2通りのマーカの変化前・変化後の位置をそれぞれp、p、p´、p´とし、リンクの始点の位置をpbで表した。変化前のスケールをs、変化後のスケールをs+△sとすると、2通りのマーカ位置の変化量は式(4)で表現される。
【数5】

よって、∂Pi,j/∂sは、式(5)となる。ただし、kはリンクのインデックス、Pb,i,kはリンクkの始点の位置である。
【数6】

【0027】
また、∂Pi,j/∂mjは次のようにして求める。
Oを基準座標系(Pi,jの座標系)、O´をマーカjが取り付けられているリンクの座標系、rをOからO´への位置ベクトル、RをOからO´への姿勢行列とすると、
i,j=r+Rmであるので、∂Pi,j/∂m=Rとなる。
【0028】
[D]実験
[D−1]小型ヒューマノイドロボットを用いた実験
計算結果の評価を行うために、HOAP-1を用いてパラメータの推定を行った。HOAP-1のスケールパラメータは既知であるので、結果の定量的な評価が行うことが出来る。HOAP-1実機でモーションキャプチャを行い(図4)、スケールの推定を行った。
【表1】

【0029】
スケーリングパラメータを左腕、右腕、左もも、右もも、左ひざ下、右ひざ下の6つにグループ分けした。計算の初期値として、左もも、右もものスケールを実際のスケールの0.8倍したものを与えた。表1の中列がその結果である。表中の数値は実際のスケール、つまり、影響している全てのスケールの積である。最大で約3%の誤差が見られた。
【0030】
また、スケールパラメータが既知であるモデルを用いることによって、相対マーカ位置の修正の計算のみを行うことが出来る。このようにして求められた信頼度の高い相対マーカ位置を用いて、上記のスケールパラメータの推定を行った結果が表1の右列である。この結果から、相対マーカ位置の精度が計算結果に大きく影響するということが読み取れる。
【0031】
[D−2]人間による実験
実際にモーションキャプチャデータを用いて、人間のスケール推定を行った。推定に用いたキャプチャデータのうち一部のフレームを図5に載せた。マーカ位置は骨の先端等、出来るだけ皮膚の上からでも位置を特定できる場所を選んだ。基準となる人体骨格モデルは被験者と同じ身長にあわせてから詳細部の運動学パラメータ推定を行った。
【0032】
[D−2−1]パラメータの推定結果
マーカ位置の最適化を行わない場合と行った場合の結果を表2に載せた。
【表2】

【0033】
結果は基準人体骨格モデルを1とした時の各リンクの相対スケールである。身長を合わせてあるので、スケールは1前後となっている。また、左右で近いスケールになっている傾向が見られる。マーカ位置の最適化をした場合としなかった場合を比較してみると、結果はほぼ一緒であるが、上体のスケールに差が見られる。これは上体でマーカ位置の誤差が目立ったためである。マーカ位置の修正値は最大で27mm 平均で12mm となったが、上体の一部である頭と肩のマーカで修正値20mmを超えた。上体ではマーカを取り付けるのに適した特徴的な部分が少なく、マーカ配置の際に誤差が出やすいことがわかる。
また、マーカ位置を最適化しない場合とした場合の評価関数の変化を以下のようになった。
【表3】

ただし、 比較のため両者とも式(1)の第一項の値を示した。
【0034】
[D−2−2]フレーム数とスケール推定精度の関係
単独のフレームを用いてパラメータ推定した結果4パターンと、3つのフレームを用いてパラメータ推定した結果4パターンを比較した。それぞれのパターン間でのばらつきを分散で表現したものが以下である。
【表4】

上記の結果から、姿勢によって運動学パラメータが変化するということが読み取れる。多くのフレームを用いたほうが、多様な姿勢に対応できるより汎用的な運動学パラメータを求められるといえる。逆に、特定の姿勢でのシミュレーションに使用する場合はその姿勢でパラメータ推定した方がより正確な値を求められる。
【産業上の利用可能性】
【0035】
本発明によれば個人差を反映した身体モデルを提供することができ、バイオメカニクスを初めとして医療・スポーツなどの分野における身体運動の解析に必要不可欠な技術である。より具体的な例を挙げると、特に、リハビリテーションなどの医療分野においてオーダーメイド医療と呼ばれる各個人の特性に合わせた効率のよい治療が求められるようになることから、個人モデルを作成できる本発明の利用価値は高い。
【図面の簡単な説明】
【0036】
【図1】人の筋骨格モデルを示す図である。
【図2】リンク構造モデルの部分図である。
【図3】リンクのスケールを微小変化させた様子を表す図である。
【図4】モーションキャプチャ用のマーカを装着した小型ヒューマノイドロボットを示す図である。
【図5】リンクスケース推定に用いたモーションキャプチャデータの一部のフレームを示す図である。

【特許請求の範囲】
【請求項1】
モーションキャプチャにより計測された被験体上のマーカ位置情報を用いた運動学パラメータの推定法であって、
リンク機構モデルのリンク上の相対マーカ位置、リンク長、関節角とから推定マーカ位置を定義し、
前記マーカ位置情報は、複数フレーム上のマーカ位置情報であり、
前記マーカ位置情報と前記推定マーカ位置との誤差を最小にする最適化計算により、複数のフレームに共通のリンク長を推定することで、前記被験体に特有のリンク長を取得する、運動学パラメータの推定法。
【請求項2】
最適化計算により相対マーカ位置を推定することで、相対マーカ位置の補正を行うことを含む、請求項1に記載の運動学パラメータの推定法。
【請求項3】
関節角は、逆運動学計算を行うことで取得する、請求項1,2いずれかに記載の運動学パラメータの推定法。
【請求項4】
モーションキャプチャにより計測された被験体上のマーカ位置情報を用いた運動学パラメータの推定法であって、
リンク機構モデルのリンク上の相対マーカ位置、リンク長、関節角とから推定マーカ位置を定義し、
前記マーカ位置情報と前記推定マーカ位置との誤差を最小にする最適化計算によりリンク長及び相対マーカ位置を推定することで、前記被験体に特有のリンク長を取得する、運動学パラメータの推定法。
【請求項5】
前記マーカ位置情報は、複数フレーム上のマーカ位置情報であり、複数のフレームに共通のリンク長を推定する、請求項4に記載の運動学パラメータの推定法。
【請求項6】
関節角は、逆運動学計算を行うことで取得する、請求項4,5いずれかに記載の運動学パラメータの推定法。
【請求項7】
モーションキャプチャにより計測された被験体上のマーカ位置情報を用いた運動学パラメータの推定法であって、
リンク機構モデルのリンク上の相対マーカ位置、リンク長、関節角とから推定マーカ位置を定義し、
関節角を逆運動学計算で計算しながら、前記マーカ位置情報と前記推定マーカ位置との誤差を最小にする最適化計算によりリンク長を推定することで、前記被験体に特有のリンク長を取得する、運動学パラメータの推定法。
【請求項8】
前記マーカ位置情報は、複数フレーム上のマーカ位置情報であり、複数のフレームに共通のリンク長を推定する、請求項7に記載の運動学パラメータの推定法
【請求項9】
最適化計算により相対マーカ位置を推定することで、相対マーカ位置の補正を行うことを含む、請求項7,8いずれかに記載の運動学パラメータの推定法。
【請求項10】
被験体の所定部位に複数のマーカを取り付け、モーションキャプチャを行ってマーカ位置情報を取得するステップを含む、請求項1乃至9いずれかに記載の運動学パラメータの推定法。
【請求項11】
推定マーカ位置の初期値は、基準となるリンク機構モデルに基づいて設定される、請求項1乃至10いずれかに記載の運動学パラメータの推定法。
【請求項12】
最適化計算は、最急勾配法を用いて実行される、請求項1乃至11いずれかに記載の運動学パラメータの推定法。
【請求項13】
最適化計算は、共役勾配法を用いて実行される、請求項1乃至11いずれかに記載の運動学パラメータの推定法。
【請求項14】
モーションキャプチャにより計測された被験体上のマーカ位置情報を用いた運動学パラメータの推定装置であって、
リンク機構モデルのリンク上の相対マーカ位置、リンク長、関節角とから推定マーカ位置を定義し、前記マーカ位置情報と前記推定マーカ位置との誤差を表す目的関数を用意し、
前記目的関数に、マーカ位置情報、及び、関節角を入力する手段と、
前記目的関数を用いて前記誤差を最小にする最適化計算を行い、相対マーカ位置及びリンク長を推定し、推定されたリンク長を前記被験体に特有のリンク長とする手段と、
を備えた、
運動学パラメータの推定装置。
【請求項15】
前記入力されるマーカ位置情報は、複数フレーム上のマーカ位置情報であり、複数のフレームに共通の相対マーカ位置及びリンク長を推定する、請求項14に記載の運動学パラメータ推定装置。
【請求項16】
前記装置は、逆運動学計算手段を有し、前記関節角は、逆運動学計算手段によって計算される、請求項14,15いずれかに記載の運動学パラメータ推定装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2007−315968(P2007−315968A)
【公開日】平成19年12月6日(2007.12.6)
【国際特許分類】
【出願番号】特願2006−147292(P2006−147292)
【出願日】平成18年5月26日(2006.5.26)
【出願人】(504137912)国立大学法人 東京大学 (1,942)
【Fターム(参考)】