(57)【要約】外部測定値から対象者固有の骨格モデルを構築する効率的な手法を提供する。汎用人間骨格モデルを、人間のモーションキャプチャーされたシーケンスからのマーカー位置データを利用して、操作および変形する。前記モーションのシーケンスをもともと行った人間対象者の固有の骨格モデルの推定を構築するために関節および骨の形状パラメータを最適化する。フィッティング手順の範囲は、局所的骨領域にわたる小さな一連の最適化と一致するよう調節することも、同時にすべての骨格形状および関節のパラメータにわたる単一のグローバル最適化に広げることもできる。
2005535031.tif 000002
【特許請求の範囲】
【請求項１】
外部測定データセットおよび汎用骨格から対象者固有の骨格を生成する方法であって、
少なくとも骨セグメントパラメータを有する、フィッティング対象のパラメータのサブセットを決定するステップと、
前記パラメータのサブセットに対して、前記外部測定データセットと前記汎用骨格との間の対応づけをおこなうステップと、
前記パラメータのサブセットの変換のための目的関数を構築するステップと、
前記目的関数を最適化して前記パラメータのサブセットに対応する前記対象者固有の骨格を生成するステップと、
を有する方法。
【請求項２】
前記対象者固有の骨格の領域に対応する、フィッティング対象のパラメータの第２サブセットを選択するステップと、
前記パラメータの第２サブセットを最適化するステップと
をさらに有する請求項１の方法。
【請求項３】
前記第２サブセットを選択するステップおよび前記第２サブセットを最適化するステップを、前記対象者固有の骨格のそれぞれの領域が最適化完了するまで繰り返すステップ
をさらに有する請求項２の方法。
【請求項４】
前記目的関数の最適化に拘束を設定するステップ
をさらに有する請求項１の方法。
【請求項５】
前記拘束は、人体測定学的骨変倍、検索空間、および対称性のうちの一つを含むことを特徴とする、請求項４の方法。
【請求項６】
前記目的関数の勾配を変倍するためのウェイトを、前記最適化に適用するステップ
をさらに有する請求項１の方法。
【請求項７】
前記最適化するステップが、非線形最小二乗法最適化を実行することをさらに有することを特徴とする請求項１の方法。
【請求項８】
前記パラメータのサブセットが、グローバル最適化のためのすべての利用可能なパラメータを含むことを特徴とする請求項１の方法。
【請求項９】
前記パラメータのサブセットが、局所最適化のための利用可能なパラメータの一部を含むことを特徴とする請求項１の方法。
【請求項１０】
前記パラメータのサブセットが、三次元の骨形状を含むことを特徴とする請求項１の方法。
【請求項１１】
前記外部測定データセットが、モーションキャプチャーされたマーカーデータを含むことを特徴とする請求項１の方法。
【請求項１２】
前記汎用骨格が、関節パラメータおよび骨パラメータのうちの少なくとも一方を含むことを特徴とする請求項１の方法。
【請求項１３】
外部測定データセットおよび汎用骨格から対象者固有の骨格を生成するための装置であって、
少なくとも骨セグメントパラメータを有する、フィッティング対象のパラメータのサブセットを決定し、前記パラメータのサブセットに対して、前記外部測定データセットと前記汎用骨格との間の対応づけをおこなうよう構成された仮想マーカー配置モジュールと、
前記パラメータのサブセットの変換のための目的関数を構築するよう構成された目的関数モジュールと、
前記目的関数を最適化して前記パラメータのサブセットに対応する前記対象者固有の骨格を生成する最適化モジュールと、
を有する装置。
【請求項１４】
前記仮想マーカー配置モジュールがさらに、前記対象者固有の骨格の領域に対応する、フィッティング対象のパラメータの第２サブセットを選択するよう構成されていることを特徴とする請求項１３の装置。
【請求項１５】
前記目的関数モジュールがさらに、前記最適化モジュールに拘束を設定するよう構成されていることを特徴とする請求項１３の装置。
【請求項１６】
前記拘束は、人体測定学的骨変倍、検索空間、および対称性のうちの一つを含むことを特徴とする請求項１５の装置。
【請求項１７】
前記目的関数モジュールがさらに、前記目的関数の勾配を変倍するためのウェイトを、前記最適化モジュールに適用するよう構成されていることを特徴とする請求項１３の装置。
【請求項１８】
前記最適化モジュールが非線形最小二乗法最適化ルーチンであることを特徴とする請求項１３の装置。
【請求項１９】
前記パラメータのサブセットが、グローバル最適化のためのすべての利用可能なパラメータを含むことを特徴とする請求項１３の装置。
【請求項２０】
前記パラメータのサブセットが、局所最適化のための利用可能なパラメータの一部を含むことを特徴とする請求項１３の装置。
【請求項２１】
前記パラメータのサブセットが、三次元の骨形状を含むことを特徴とする請求項１３の装置。
【請求項２２】
前記外部測定データセットが、モーションキャプチャーされたマーカーデータを含むことを特徴とする請求項１３の装置。
【請求項２３】
前記汎用骨格が、関節パラメータおよび骨パラメータのうちの少なくとも一方を含むことを特徴とする請求項１３の装置。
【請求項２４】
外部測定データセットおよび汎用骨格から対象者固有の骨格を生成するための装置であって、
少なくとも骨セグメントパラメータを有する、フィッティング対象のパラメータのサブセットを決定する手段と、
前記パラメータのサブセットに対して、前記外部測定データセットと前記汎用骨格との間の対応づけをおこなう手段と、
前記パラメータのサブセットの変換のための目的関数を構築する手段と、
前記目的関数を最適化して前記パラメータのサブセットに対応する前記対象者固有の骨格を生成する手段と、
を有する装置。
【請求項２５】
少なくとも骨セグメントパラメータを有する、フィッティング対象のパラメータのサブセットを決定するためのプログラム命令と、
前記パラメータのサブセットに対して、前記外部測定データセットと前記汎用骨格との間の対応づけをおこなうためのプログラム命令と、
前記パラメータのサブセットの変換のための目的関数を構築するためのプログラム命令と、
前記目的関数を最適化して前記パラメータのサブセットに対応する前記対象者固有の骨格を生成するためのプログラム命令と、
を含むコンピュータ可読媒体。
【請求項２６】
前記対象者固有の骨格の領域に対応する、フィッティング対象のパラメータの第２サブセットを選択するためのプログラム命令と、
前記パラメータの第２サブセットを最適化するためのプログラム命令と
をさらに含む請求項２５のコンピュータ可読媒体。
【請求項２７】
前記第２サブセットを選択するステップおよび前記第２サブセットを最適化するステップを、前記対象者固有の骨格のそれぞれの領域が最適化完了するまで繰り返すためのプログラム命令
をさらに含む請求項２６のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願］
この出願は、2002年8月2日に出願日され、発明の名称を「スケルトン・フィッティング・フロム・エクスターナル・メジャーメンツ（Skeleton Fitting from External Measurements）」という米国仮特許出願シリアル番号第60/400,650号と、2002年8月2日に出願され、発明の名称を「アンスロポメトリ−ベースト・スケルトン・フィッティング（Anthropometry-based Skeleton Fitting）」という米国仮特許出願シリアル番号第60/400,798号と、に関連するものである。これらは、合衆国法典第35巻第119条(e)項に基づく優先権主張の基礎となるものであるとともに、参照により、その全文をここに組み入れるものとする。
【０００２】
［技術分野］
本発明は、骨格フィッティングに係り、より詳細には、汎用人体骨格から対象者固有のモデルを構成することに関する。
【背景技術】
【０００３】
骨格モデルの諸パラメータを調整して対象者固有の結果を獲得するために、骨格フィッティング技術が用いられる。対象者固有の骨格には、その対象者の動きをシミュレーションし、後でその動きおよびその動きから導かれるデータ、たとえば、関節のトルク、筋力、筋肉のエネルギー特性等、を分析するという潜在的用途がある。正確で精緻なシミュレーションを生成するためには、対象者固有の骨格は、その対象者の肉体的／体型的パラメータに合わせたものでなければならない。対象者固有の骨格を生成する従来の技術には、多くの制限がある。
【０００４】
従来の骨格フィッティングプロセスの一つに、汎用骨格を手作業で一律に操作するものがある。人間は均整のとれたものではないので、この手法では、不正確な結果を産むおそれがある。たとえば、汎用骨格に全体的にある倍率を適用すれば、個々のセグメントの寸法が不正確になる可能性がある。全体的倍率による拡大／縮小ではなく、セグメントごと個別に拡大／縮小する従来技法もいくつかある。これらの手法では、モーションキャプチャーしたマーカーデータ（motion-captured marker data）を利用して一次元（長さに関する）の骨フィッティングをおこなうことができる。しかし、一次元近似による対象者固有の表現は、三次元情報が失われているので、一般にその対象者の人体測定学的人体パラメータとは一致しない。
【０００５】
従来の骨格フィッティング技術には、他に前記汎用骨格が柔軟に変えられないという制限もある。従来の骨格フィッティング技術の実装形態においては、そのフィッティングプロセスは、特定の汎用骨格を緊密に統合させたものとなる可能性がある。したがって、従来の骨格フィッティング技術では、その汎用骨格への改良や変更を統合することが難しくなる傾向がある。また、そのような特定の汎用骨格は、関節のタイプが、たとえば、３自由度の回転関節に限定されることもあり、対象者固有のモデルの正確性をさらに制限することになる。
【０００６】
モーションキャプチャーしたマーカーデータから骨格フィッティングをおこなうための最適化手法がいくつかあるが、それらの従来技術には欠点もいくつかある。たとえば、そのような従来の最適化手法のひとつは、関節の変換（たとえば、関節の角度）の推定に限定される。その他、骨の個々の特性を考慮しないため限界を有する従来技術もある。
【０００７】
（１）モーションキャプチャーしたマーカーデータから自動的に骨格の構成および拡大／縮小をおこない、（２）広く様々な関節タイプに適用され、（３）個別化された係数を用いて関節の変換および骨の幾何学的大きさの三次元パラメータを最適化し、（４）汎用骨格の統合をモジュール化する、装置および方法が必要とされている。
【発明の開示】
【０００８】
本発明の一実施形態は、現実の人間の対象者から測定したデータから対象者固有の骨格を構成する方法を提供するものである。個人の測定データはさまざまなソースから取得可能であるが、モーションキャプチャー技術は、対象者に関するデータを取得する非侵襲的手段を提供するものである。モーションキャプチャーされた一つのシーケンスの間にキャプチャーされたマーカー位置には、四肢の三次元形状に関する情報が含まれている。最適化フィッティングモジュールは、パラメータ化された汎用骨格を対象者固有の骨格に変換するために、このマーカー位置のデータを用いることができる。対象者固有の骨格は、たとえば、個人の肉体的／体型的パラメータに合わせてカスタマイズした製品の開発に利用することができる。
【０００９】
本発明の一実施形態において、骨格フィッティングプロセスは、現実世界の対象者上の外部測定値（たとえば、モーションキャプチャーされたマーカー位置）と、汎用骨格上のそれに対応する部分（たとえば、仮想マーカー）との間の所定のマッピングを利用する。汎用骨格上の仮想マーカー位置と、対象者から測定した外部測定値の位置との間の距離を二乗した値の和を定義するために、目的関数が構成される。そして、最小二乗法最適化ルーチンが、その目的関数上で最適化をおこなう。対象者固有の骨格を生成するために、汎用骨格の骨を拡大／縮小するとともに関節自由度を回転または位置決めすることにより、その汎用骨格上の仮想マーカーと、現実のマーカーとの間の最小二乗距離を最小化する。
【００１０】
本発明の他の実施形態において、拘束方程式を生成し、前記最小二乗法最適化ルーチンに適用することができる。拘束方程式には、たとえば、骨および関節のパラメータに対する人体測定上の変倍拘束や、身体のセグメントの左右相称を強制するような検索空間拘束が含まれる。検索空間に拘束をかけることにより、解の収束を改善することができる。さらに、骨格フィッティングプロセスの効率を向上させるために、マーカーウェイトを用いることもできる。
【００１１】
本発明のさらに他の実施形態において、骨格フィッティングプロセスは、関節および骨のパラメータの完全なセットに対して全体的に適用することもできるが、各最適化を骨および関節のパラメータのサブセットに限定して局所的で小さい最適化の連続として適用することもできる。局所的最適化の実施形態は、利用可能な骨または関節のパラメータのサブセットに対応する最適化変数を選択することを含む。全体的な最適化の実施形態は、すべての利用可能なパラメータを同時に最適化するために汎用骨格のすべてのセグメントに対応する最適化変数を選択することを含む。
【００１２】
本発明のさらなる特徴、その性質、および、多様な利点が、添付の図面および以下に詳述するところから明らかとなるであろう。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の諸実施形態を、添付図面を参照しつつ説明する。図中、同一または機能的に類似の要素は同一の参照番号で示すものとする。また、図中、各参照番号の一番左側の数字は、その参照番号が最初に用いられた図面番号に対応するものとする。
【００１４】
Ａ．骨格フィッティングプロセス概説
対象者固有の骨格モデルは、現実の人間の対象者から測定されたデータから構成することができる。対象者固有の骨格は、個人の正確な人間シミュレーションを開発するために利用することができる。個人の人体測定情報は、モーションキャプチャーされたセッションからのマーカー位置や、人の様々な識別可能な標識点間の長さの測定値等、さまざまなソースから取得可能である。四肢の長さの直接測定値と比べると、モーションキャプチャーされたシーケンスのマーカー位置には、四肢の三次元形状に関するより多くの情報が含まれる。マーカー位置は、対象者の身体内部の骨格の部分の位置に関する情報を提供する。本発明の一実施形態において、この人体測定情報は、対象者固有の骨格を構成するために利用される。
【００１５】
図１は、本発明の一実施形態による骨格フィッティングプロセスのブロック図である。本発明の一実施形態によれば、汎用の骨格またはモデルを対象者固有の骨格またはモデルに変換するため、最適化プロセスが利用される。たとえば、図１に示すように、骨格フィッティングプロセスは、最適化フィッティングモジュール１０５を含む。この最適化フィッティングモジュール１０５は、入力として、汎用骨格１１０と、モーションキャプチャーされたマーカー１１５により生成されるデータ信号と、を含む。最適化フィッティングモジュール１０５は、汎用骨格１１０のパラメータ（たとえば、骨および関節のパラメータ）をモーションキャプチャーされたマーカー１１５で最適化し、対象者固有の骨格１２０を生成する。最適化フィッティングモジュール１０５について、以下、さらに詳細に説明する。
【００１６】
本発明のいくつかの実施形態には、汎用骨格１１０が、最適化フィッティングモジュール１０５から切り離してあるものがある。すなわち、最適化フィッティングモジュール１０５は、汎用骨格１１０の自由度を示す値（たとえば、骨および関節のパラメータ）のベクトルを処理するよう構成することができる。したがって、ここに記載の骨格フィッティングの枠組みは、細部において異なったレベルで汎用骨格１１０に適用することができる。モジュールとしての汎用骨格１１０は、最適化フィッティングモジュール１０５の実行に無視できない影響を与えるものでなければ、本発明の実施形態に、新たなタイプの関節等、変更や改良を導入することを可能にするものである。
【００１７】
Ｂ．汎用骨格
１．骨格パラメータ
本発明のいくつかの実施形態には、汎用骨格１１０が、対象者間のばらつきに対応するための適切な自由度を提供するような設計上の特徴を有するものがある。さらに、関節で接合されている骨格を記述するのに必要とされるパラメータの数を減らすために、人体のトポロジー上および構造上の普遍的な拘束を用いることができる。この汎用骨格の記述には、骨に加えて、骨格の骨と骨との間の関節変換関係が含まれているが、付属する筋肉や腱や靱帯その他の軟組織を含めることもできる。本発明の一実施形態において、前記汎用骨格１１０は、カリフォルニア州サンタクルーズ市のキュリアスラボ社（Curious Labs, Inc., Santa Cruz, CA）から購入できるPoserソフトウェアシステムのバージョン４．０に由来する靱帯骨格の形状に修正を加えたものである。このPoserソフトウェアシステム骨格モデルは、その関節パラメータおよび骨形状パラメータの双方に対する調節可能なパラメータを含むよう修正することができる。従来の骨格用汎用モデルには、調節できる関節パラメータに制約があり、その骨形状のサイズ変更ができないものがある。当業者であれば、本発明の実施形態が多くの汎用骨格に適用可能であることが理解されるであろう。たとえば、異なる骨モデルを使用することができる。あるいは、異なる関節接合形態を追加したり削除したりすることができる。汎用人体骨格の構築について記述するさらに詳細な説明が、たとえば、Ｎ．Ｉ．バドラー、Ｃ．Ｂ．フィリップス、Ｂ．Ｌ．ウェッバー（Badler, N. I., Phillips, C. B., and Webber, B. L.）共著「バーチャル・ヒューマンズ・アンド・シミュレイテッド・エージェンツ（Virtual Humans and Simulated Agents）」、オックスフォード大学出版局（Oxford University Press）、１９９２年、にある。この文献は、参照によりその全文をここに組み入れるものとする。
【００１８】
本発明の一実施形態によれば、骨格は、剛性要素と変形可能要素とからなる一組の要素を含む。汎用骨格１１０については、この剛性要素をセグメントと称する。各セグメントｓは、三次元空間におけるセグメントの位置と向きを指定する正規直交変換行列sＴを有するものとすることができる。
2005535031.tif 000003
他のセグメントを基準としてなされる変換とは、関節で接合されている骨格において末端セグメントの変換が相対的に基端側のセグメントを基準としてなされる場合のような、階層表現において利用されるものである。たとえば、脛骨の位置と向きは、その親セグメントである大腿骨を基準として表現される。各セグメントの回転および平行移動の変換に加えて、セグメントｓは、局所変形Ｄs（φs）を受けることもあり、その局所変形は、φs＝［ｘs  ｙs  ｚs］Tを満たすパラメータφsによる非剛性変換とすることができる。たとえば、数式１は、身体固定の３軸に沿った局所的で不均一な拡大／縮小（scaling）を定義するものである。
【００１９】
【数１】
2005535031.tif 000004
【００２０】
当業者であれば、ねじれや曲がり等の他の骨奇形をモデリングするために、任意形式（free-form）の変形等さらに他の形状変形が適用可能であることが理解されるであろう。任意形式の変形については、たとえば、Ｔ．Ｗ．シーダバーグ、Ｓ．Ｒ．パリー（Sederberg, T. W. and Parry, S. R.）共著「フリー−フォーム・デフォーメーション・オブ・ソリッド・ジオメトリック・モデルズ（Free-Form Deformation of Solid Geometric Models）」、コンピュータグラフィックス（Computer Graphics; ＳＩＧＧＲＡＰＨ’８６会報）、デイヴィッド  Ｃ．エヴァンズ、ラッセル  Ｊ．アセイ（Evans, David C. and Athay, Russell J.）共編、第２０巻、ｐｐ．１５１〜１６０、１９８６年８月、に記載がある。この文献は、参照によりその全文をここに組み入れるものとする。
【００２１】
２．骨格分割
図２は、本発明の一実施形態による分割された汎用骨格を例示するものである。この例では、汎用骨格１１０の骨は、１６のセグメントに分割することができる。骨格の躯幹部は、それぞれ、臀部２１０、胸部２１５、頚部２２０および頭部２２５の４セグメントを含む。二つの腕部は、それぞれ、上膊部２４０、下膊部２４５および手部２５０の３セグメントを含む。二つの脚部は、それぞれ、上脚部２６０、下脚部２６５および足部２７０の３セグメントを含む。
【００２２】
骨格モデルの視覚化のために、セグメント毎の座標系に任意の基本形状（たとえば、パラメトリックオブジェクト、三角メッシュ）を表示することができる。本発明の一実施形態において、骨に三角メッシュを使用するが、それは、当業者であればわかるように、そのデータが人間の骨格では容易に取得可能だからである。単一セグメント中に表示されている複数の骨は、特定の動きや仕事のために一体化していると考えることができる。たとえば、足部２７０の足根骨を、単純化するため、単一セグメント内で融合されているものとしてモデリングすることができる。
【００２３】
３．骨格トポロジー
図３は、本発明の一実施形態による骨格セグメントの依存関係を示す図である。関節の変換は、１セットのパラメータにより記述可能な、セグメントの座標系間の任意の変換とすることができる。図３に、人間の骨格を記述するためのツリートポロジーを示す。ルートノード３００は、臀部３０５（すなわち、骨盤の骨）とワールド座標系ないしグラウンド座標系との間の変換を記述する。臀部３０５は、位置と向きを６自由度（ｄｏｆ）の関節で記述される。他の関節はすべて１軸回転、２軸回転または３軸回転の回転関節である。臀部３０５以下、トポロジーを下方にたどれば、左上膊部３１０、左下膊部３１２、左手部３１４、左上脚部３２０、左下脚部３２２、左足部３２４、胸部３３０、頚部３３２、頭部３３４、右上脚部３４０、右下脚部３４２、右足部３４４、右上膊部３５０、右下膊部３５２、および、右手部３５４が、含まれている。
【００２４】
本発明の一実施形態において、関節は、二つの隣り合ったセグメント間に特定される。たとえば、右上膊部３５０と右下膊部３５２との間の関節は、１自由度の回転関節である。ルートノード３００側のセグメントを内側（inboard）ないし親（parent）と呼び、隣接する他セグメントを外側（outboard）ないし子（child）と称する。図３の例の中に図示した関節は２セグメントのものであるが、本発明の実施形態は、関節を、３以上のセグメント間の依存関係からなるものとすることもできる。
【００２５】
図４は、本発明の一実施形態による位置ベクトルを含む関節を示す図である。図示した例は、内側セグメントｐ４１０と外側セグメントｓ４１５との間の関節部（articulation）の共有点に、関節中心４０５を含むものである。また、内側セグメントｐ４１０の原点４２０および外側セグメントｓ４１５の原点４２５も図示されている。各々の関節変換は、その内側セグメントを基準として局所的に表示することができる。各関節がその変換の局所的原点と考えられる関節中心４０５を含む。内側および外側のセグメント４１０、４１５は、位置ベクトル４３０および４３５（ｃiおよびｃo）をそれぞれ含む。位置ベクトル４３０および４３５は、各セグメントの座標系を基準として関節中心４０５を位置決めする。関節の実際の動きは、関節の構成を特定する１セットのパラメータ（自由度）によって記述することができる。たとえば、三次元回転関節は、三つの回転角φx、φy、φzと含意された回転順序（たとえば、ｘｙｚの順：ｘ軸周りに回転してから、次にｙ軸周りに、そしてｚ軸周りに回転する）とにより決定するものとすることができる。そして、この回転は、数式２に示すような、セグメントに対する局所変換行列sＲとして記述することができる。当業者であれば、本発明の一実施形態において、各関節の自由度が有限範囲内に、たとえば、モデルの生理的関節の限界内に、限定されうることが理解されるであろう。
【００２６】
【数２】
2005535031.tif 000005
【００２７】
Ｃ．モーションキャプチャーされたマーカーデータ
本発明の一実施形態において、モーションキャプチャーされたマーカーデータは、身体表面ないし触診可能な骨標識に対応する１セットの標識付マーカーを含む。各マーカーは、その軌跡として知られている経時サンプリングした位置のシリーズを有する。本発明の実施形態には、それが触診可能な骨標識に対応するマーカー位置を含むものであることから、Ｃ．Ｌ．ボーン（Vaughan C. L.）、Ｂ．Ｌ．デイビス（Davis, B. L.）、Ｊ．Ｃ．オコーナー（O'Connor, J. C.）共著、「ダイナミクス・オブ・ヒューマン・ゲイト（Dynamics of Human Gait.）」、キボホ・パブリッシャーズ（Kiboho Publishers）、第２版、１９９９年、に記載のあるヘレン・ヘイズ・ホスピタル・マーカーセットを用いるものがある。なお、この文献は、参照によりその全文をここに組み入れるものとする。当業者であれば、対象者の身体内の骨格パーツの位置に関する情報を提供する他のマーカーセットが利用可能であることが理解されるであろう。マーカーは、キャプチャーされた動きシーケンスが継続している間の軌跡を含むので、マーカー間の距離の変化は、動きシーケンス中のマーカー位置の相対的な不変度（rigidity）に関する情報を提供することができる。マーカーデータの利用とは対照的に、静止姿勢で実測された人体測定データからの長さには、たとえば、動きの全体のシーケンスを精査したときに現れる誤差を含むおそれがある。
【００２８】
本発明の一実施形態において、選択された身体パーツ上のマーカーとその位置との間の対応はあらかじめ設定されている。当業者であれば、標識付でないマーカー群から標識付マーカーセットを構築する技法が存在することは、理解されるであろう。そのような技法の一つが、ヤン・ソン（Song, Yang）、ルイス・ゴンサルベス（Goncalves, Luis）、エンリコ・ディ・ベルナルド（Di Bernard, Enrico）、ピエトロ・ペローナ（Perona, Pietro）共著、「モノキュラー・パーセプション・オブ・バイオロジカル・モーション−ディテクション・アンド・ラベリング（Monocular Perception of Biological Motion- Detection and Labeling）」、ＩＣＣＶ９９の会報（Proceedings of ICCV'99）、ｐｐ．８０５〜８１２、１９９９年、に記載されている。この文献は、参照によりその全文をここに組み入れるものとする。
【００２９】
１．マーカーデータフォーマット
マーカーデータセットは、従来、インターネット上の＜URL: http://www.c3d.org＞から検索されるアンドリュー・デニス（Dainis, Andrew）著「Ｃ３ｄ（Coordinate 3d）ファイルフォーマット（File Format）」［オンライン］２００１年、に記載されているコーディネート３−Ｄ（Ｃ３Ｄ）ファイルフォーマットで利用可能である。Ｃ３Ｄフォーマットは、生体力学の分野で主に使用されるモーションキャプチャーされた情報のための標準形式である。Ｃ３Ｄファイルは、バイナリーフォーマットなので、人間が直接読むことはできない。本発明の一実施形態においては、マーカー標識とその経時的位置を抽出し、その情報をモーションキャプチャーデータ（Motion Captured Data：ＭＣＤ）と呼ばれるテキストファイルフォーマットに書き込むために、構文解析ルーチン（Parser）を用いる。Ｃ３Ｄフォーマットに対してＭＣＤフォーマットの優れているのは、その、人間が読み取り可能な点、拡張可能な点、そして、ファイルフォーマットの構文解析が容易な点である。非常に大きなデータセットに対しては、Ｃ３Ｄフォーマットが、テキストベースのフォーマットに比較して必要な記憶容量が小さくロード時間が速いという利点を享受する。当業者であれば、本発明の諸実施形態がマーカーデータを処理するための特定のファイルフォーマットやデータ構造に依存しないことが、理解されるであろう。さまざまな歩行シーケンスのモーションキャプチャーされたデータが取得され、以下さらに詳述する骨格フィッティングプロセスの実施形態を実施するために利用されている。表１は、データ構造の詳細を示すＭＣＤファイルの例を含む。
【００３０】
【表１】
2005535031.tif 000006
【００３１】
２．仮想マーカーの配置
図５は、本発明の一実施形態による仮想マーカーマッピング付きの汎用骨格を例示するものである。図５には、モーションキャプチャーされたデータからの実測されたマーカー５０５が仮想マーカー５１０として汎用骨格上の対応する位置にマッピングされていることが示されている。すなわち、本発明の一実施形態によって、仮想マーカーが１セット、汎用骨格上の、人間の対象者上のそれらの現実の位置に対応する位置に、配置されている。この実測されたマーカー５０５は、筋肉や脂肪等の軟組織の介在を説明するために、さまざまな部位で骨からずらして配置することができる。マーカーを選択するときには、その位置は骨格を構成する骨上で個別に参照することができるものなので、触診可能な骨標識にそれらを配置することが重視されなければならない。人間の対象者上にヘレン・ヘイズ・ホスピタル・マーカーセットのような標準マーカーセットを配置する手順については、Ｃ．Ｌ．ボーン（Vaughan C. L.）、Ｂ．Ｌ．デイビス（Davis, B. L.）、Ｊ．Ｃ．オコーナー（O'Connor, J. C.）共著、「ダイナミクス・オブ・ヒューマン・ゲイト（Dynamics of Human Gait.）」、キボホ・パブリッシャーズ（Kiboho Publishers）、第２版、１９９９年、に記載されている。なお、この文献は、参照によりその全文をここに組み入れるものとする。
【００３２】
本発明の一実施形態において、後述する最適化プロセスは、仮想マーカー５１０とその現実における対応物である実測されたマーカー５０５との間の積算二乗距離を最小化することを目的とするものである。仮想マーカー５０５の位置決めは、フィッティングプロセスの結果に、ひいては、セグメントの位置および向きの推定値の正確性に、影響を与える可能性がある。当業者であれば、最終骨格構成がマーカー位置の変化にどの程度依存するかを決定するためマーカー位置の感度分析をおこなうことができることが理解されるであろう。また、他の最適化基準を使用することも可能である。
【００３３】
Ｄ．骨格フィッティングプロセス
本発明の一実施形態において上述したように、最適化フィッティングモジュール１０５が、汎用骨格１１０を対象者固有の骨格１２０に変換する骨格フィッティングプロセスを実行する。対象者固有の骨格１２０の一用途に、大量に生成された対象者固有のシミュレーションから利益を享受する製品開発がある。図６は、本発明の一実施形態による最適化フィッティングモジュールを例示するブロック図である。最適化フィッティングモジュール１０５は、一般測定値と外部測定値との間の対応づけ６０５からスタートするプロセスを実行する。すなわち、仮想マーカー５１０をその現実世界の対応物と関連づける。人間の対象者からの外部測定値６１０と汎用骨格モデル１１０とがそのプロセスの入力として提供される。本発明の一実施形態において、人間の対象者からの外部測定値６１０は、さらに詳細な説明についてはすでに上述したモーションキャプチャーデータ（ＭＣＤ）フォーマットのモーションキャプチャーされたマーカーデータ１１５である。次に、目的関数６２０を構築する。目的関数６２０は、所与の最適化ｉに対する、汎用骨格上の仮想マーカー５１０位置と人間の対象者からの外部測定６１０位置との間の距離を二乗した値の和として定義することができる。本発明の一実施形態では、続いて、前記目的関数６２０に対して最小二乗法最適化６２５を実行し、対象者固有にフィッティングされた骨格１２０を生成する。骨の寸法と関節の角度を生理学的に妥当な値に限定するため、最小二乗法最適化６２５の最適化変数として、骨に対する人体測定上の変倍拘束を設定６３５することができる。骨格フィッティングプロセスのさらに詳細な説明については、図８を参照して後述する。
【００３４】
図７は、本発明の一実施形態によるメモリモジュールの機能ブロック図である。本発明の一実施形態において、メモリモジュール７００は、電算装置の機能ユニットである。メモリモジュールは実行可能なプログラム命令群からなるソフトウェアモジュールを含むものとすることができる。データバス７０５は、他の機能ユニットへ、たとえば、図示しない中央処理装置等への入出力インターフェースを提供する。図７に示す実施形態において、メモリモジュール７００は、仮想マーカー配置モジュール７１０と、目的関数モジュール７２０と、最小二乗法最適化モジュール７３０と、を含む。仮想マーカー配置モジュールは、一般測定値と外部測定値との間の対応づけ６０５のためのプログラム命令群を含む。目的関数モジュール７２０は、汎用骨格上の仮想マーカー５１０位置と人間の対象者からの外部測定６１０位置との間の距離を二乗した値の和を求める目的関数６２０を実行するためのプログラム命令群を含む。最小二乗法最適化モジュール７３０は、最適な骨／関節構成に骨格をフィッティングさせるよう汎用骨格１１０のパラメータを操作するためのプログラム命令群を含む。本発明の一実施形態において、最小二乗法最適化モジュール７３０は、ジョージア州タッカー市のＡＥＭデザイン社（AEM Design, Inc., Tucker, GA）から購入可能な、実行可能逐次二次計画法（ＣＦＳＱＰ）の非線形最小二乗ソルバーである。しかしながら、当業者であれば、その最適化の手法が、非線形最小二乗法ソルバーの特定の実施形態に依存するものではなく、その他の最適化技法を組み込むすることが可能なことが理解されるであろう。
【００３５】
本発明の諸実施形態は、個別のステップないしモジュールで説明されているが、当業者であれば、本発明の特徴や機能がさまざまな仕方で実施可能であることが理解されるであろう。たとえば、本発明は、汎用電算装置や専用電算装置上で、あるいはハードウェア（たとえば、集積回路）内で、実行するプログラム命令群を用いて実施することができる。このプログラム命令群は、コンピュータが読み取り可能な媒体やストレージボリューム上で流通させることができる。コンピュータが読み取り可能な媒体は、たとえば、公衆回線ネットワークやプライベートネットワークやインターネットを介して入手できるようにすることができる。プログラム命令群は、ソースコード、オブジェクトコード、スクリプティングコード等、任意の適当な形態とすることができる。
【００３６】
１．プロセスの表記法
最適化フィッティングモジュール１０５により実行される骨格フィッティングプロセスの実施形態をさらに詳細に記載する前に、表記法について説明する。ｎ個の現実のマーカーがあり、ｍi（ｉ＝０，...，ｎ−１）で表すとすると、ｎ個の対応する仮想マーカーのセットがあり、ｖｉ（ｉ＝０，...，ｎ−１）で表される。そして、複数の時間サンプルないしアニメーションフレームからなるモーションシーケンスにおいて、ｍi,j  は、そのシーケンスのフレームｊにおけるｉ番目マーカーの位置を示す。同様の添え字記法が仮想マーカーにも適用される。仮想マーカーの位置sｖiは、局所座標が割り当てられた固有のセグメントｓを基準とした局所座標中に表される。仮想マーカーのワールド座標位置は、数式３により計算することができる。
【００３７】
【数３】
2005535031.tif 000007
【００３８】
2005535031.tif 000008
【００３９】
【数４】
2005535031.tif 000009
【００４０】
図１を参照して上述したように、Ｄsは、セグメントｓに配置されているすべての形状に適用される変形操作である。本発明の一実施形態において、この変形は、他のセグメントの形状には適用されない。たとえば、Ｄｓ（φs）＝Ｇｓ（ｘs，ｙs，ｚs）と設定すれば、各骨セグメントをそれぞれ独立に３軸方向に拡大縮小することができる。本発明の一実施形態により、パラメータφsで定義された任意の変形Ｄｓ（φs）を最適化に含めることができる。各局所変換行列は、関節ｊに対する１セットの自由度θjにより定義することができる。
2005535031.tif 000010
【００４１】
本発明の一実施形態において、最適化プロセスは、骨格のすべての関節とセグメントのセットをそれぞれＪおよびＳとした場合の関節自由度θj，∀ｊ∈Ｊ、および形状変形（φs，∀Ｓ∈Ｓ）、の値の最良のセットを求めようとするものである。
【００４２】
図８は、本発明の一実施形態による骨格フィッティングプロセスを例示するフローチャートである。図示した実施形態では、後で述べるように、骨セグメントパラメータのサブセットを決定８０５し、関節パラメータのサブセットを決定８１０する。骨セグメントパラメータ８１５および関節パラメータ８２０は、総称して、最適化変数８２５と呼ぶ。
【００４３】
２．最適化変数８２５の選択
本発明の一実施形態により、さまざまなパラメータθおよびφのサブセットを選ぶことによって、最適化変数８２５を選択する。そして、選択されたパラメータを連結して一つのベクトルｘにし、関節変形関数および変形関数をｘで書き換えて一つの状態ベクトルで目的関数を表すようにすることができる。すべての可能な関節および骨セグメントのパラメータを選ぶと、すべてのセグメントと関節パラメータとを同時に調節する単一のグローバル最適化がなされることになる。あるいは、骨８０５および関節８１０のサブセットのみを選択すると、異なるパラメータセットに対する複数回の最適化を用いて汎用骨格１１０のすべてのパラメータの調節を適切にカバーすることになる。たとえば、本発明の実施形態には、グローバル最適化および局所最適化という二つの最適化プロセスを実行するものがある。グローバル最適化は、骨格内のすべてのセグメントのセットとなるＮiを設定して、すべての利用可能なパラメータを同時に最適化することにより、実行することができる。局所最適化は、骨格の局所領域に対してより小さい最適化セットを実行することができる。非線形最小二乗法最適化ルーチン８３０は、局所最適化プロセスまたはグローバル最適化プロセスのどちらかを実行するよう構成することができる。骨格セグメントツリーの深さ方向の最初の降下（たとえば、図３参照）が、ツリーの各ノードで最適化の実行とともに、おこなわれる。それぞれの最適化ごとに、現在のノードｓおよびその直下の子ノードがＮiにセットされる。
【００４４】
本発明の位置実施形態において、それぞれの最適化ごとのパラメータセットは、互いに排他的でなくてもよい。たとえば、骨格の別個の重なった領域に焦点を合わせる複数の最適化を有するものもありうる。それぞれの最適化における骨セグメントも隣り合わせである必要はない。たとえば、骨格を分ける矢状（sagittal）面の両側の対となる対応する左右の骨を同時に対象とすることもできる。大きな単一の最適化と多くの小さな最適化との間のトレードオフは、骨格フィッティングの精度向上か最適化プロセスの迅速な完了かにかかっている。
【００４５】
３．目的関数
目的関数ｆi（ｘi）は、汎用骨格上の仮想マーカー５１０の位置と、所与の最適化のためにモーションキャプチャーされた人間の対象者から取得された実測マーカー５０５の位置との間の距離を二乗した値の和として定義することができる。非線形最小二乗法最適化ルーチン８３０により実行されるそれぞれの最適化ｉにおいて、骨および関節のパラメータの最適セットが数式５により定義されるようなしかたで計算される１セットのセグメントＮiが選択される。
【００４６】
【数５】
2005535031.tif 000011
【００４７】
数式５において、Ｍsは、セグメントｓに関連するすべてのマーカーのセットである。典型的なネストされた階層型骨格において、セグメントの変形関数Ｄsおよび局所変換行列（たとえば、数式１および４参照）に対して、ｘの小さいサブセットが用いられることは、当業者であれば理解されるであろう。このことによって、可能な非ゼロ値を効率的に特定することができるので、ｘの要素に対するこれらの関数および行列の偏導関数を迅速に計算することができる。本発明の一実施形態では、個々のマーカーが最終最適化結果に対して異なるレベルの影響を有するものとなるように、ウェイトｗkを導入する。さらに、このウェイトは、その大きさが、フィッティングプロセスが収束するまでの繰り返しの回数に影響を与える。ウェイトについては、図９を参照しつつ、さらに詳しく後述する。ｘにおけるｘiにおけるものではない他のパラメータは、その現在の値に固定することができる。
【００４８】
図８に示す実施形態を参照すれば、非線形最小二乗法最適化ルーチン８３０へのインプットとして最適化変数８２５が与えられている。拘束方程式８４０を生成するために、人体測定上の骨の変倍拘束８３５を利用することができる。関節のパラメータを生理学的に妥当な値に限定し、骨の大きさを人体測定学的に制限するために、非線形最小二乗法最適化ルーチン８３０に拘束方程式８４０を適用することができる。当業者であれば、とり得る解の検索空間を制限する等、他の種類の拘束を組み込むことが有利な場合もあることが理解されるだろう。
【００４９】
2005535031.tif 000012
骨および関節のまだ最適化されていない追加パラメータがあるか否かが判定８５０される。最適化されるべき追加パラメータがないか、骨格の各パラメータが最適化の繰り返しに少なくとも１回関与した場合には、骨格フィッティングは完了となる８５５。それ以外の場合には、フィッティングされるべき新しい領域を選択することにより次回の最適化が構成される８６０。プロセスは、ステップ８０５とステップ８１０に戻り、最適化変数８２５の新しいサブセットを決定する。骨格フィッティングプロセスの実施形態は、プロセスを一回だけパスないし呼び出しして、汎用骨格１１０を対象者固有の骨格１２０に変換するものとすることができるが、当業者であれば、プロセスのパスを複数回実行するのが有利となることがあることが理解されるであろう。たとえば、２回パスのアプローチでは、骨セグメントパラメータ８１５を第１パスで最適化し、関節パラメータ８２０を第２パスで最適化することが可能であろう。
【００５０】
本発明の一実施形態では、勾配に基づく最適化手法が用いられる。したがって、当業者であれば、勾配を構築するために数式５の目的関数の偏導関数を計算することができることが理解されよう。数式６は、数式５の偏導関数を定義するものであり、一般性を損なわずに明瞭性を確保するためｆおよびＮに対する添え字は省略した。数式６において、ｘkはｘの成分である。
【００５１】
【数６】
2005535031.tif 000013
【００５２】
行列の偏導関数は、所与の変数に対するすべての要素の偏導関数をとることにより演算される。上述のように、検索パラメータｘに対しても拘束を設定することができる。骨格の関節角度および変倍倍率を生理学的限界に制限することができる。このように、とり得る解の検索空間を拘束することにより、解法が改良され、検索空間のサイズが縮小される。当業者であれば、検索空間を縮小するために、対応するセグメントの左右の変倍倍率を一致させることにより左右相称を強制する等、他の拘束をシステムに適用可能なことが理解されるであろう。
【００５３】
2005535031.tif 000014
【００５４】
【数７】
2005535031.tif 000015
【００５５】
2005535031.tif 000016
図４を参照して上述したように、ｐは、内側セグメントを指し、ｓは外側セグメントを指すものとする。セグメントとその親との間の変換は、関節中心（たとえば、図４参照）と呼ばれるこれら二つのセグメントの関節部の共有点で始まるものと概念化することができる。
2005535031.tif 000017
これら二つの一ベクトルを導入することにより、関節の中心を、セグメントの原点を固定させておきながら、独立にセグメント内に設定することができる。これにより、変倍変形Ｇs等の変形操作をセグメントの原点に対してより直感的におこなうことができる。
2005535031.tif 000018
【００５６】
【数８】
2005535031.tif 000019
【００５７】
【数９】
2005535031.tif 000020
【００５８】
2005535031.tif 000021
【００５９】
【数１０】
2005535031.tif 000022
【００６０】
2005535031.tif 000023
これらの行列のほとんどは本質的に局所行列なので、それぞれの行列は、ベクトルｘの成分の比較的小さなセットの関数とすることができる。したがって、本発明の一実施形態では、ほんの少数の非ゼロ勾配成分がそれぞれの関節ごとに保存されることになり、数式６が迅速に計算可能となる。
【００６１】
５．ウェイトの影響
図９は、本発明の一実施形態によるマーカーウェイト付き目的関数をグラフ化したものである。最適化の効率を左右する要因となるものに、数式５の目的関数へのウェイトｗkの導入がある。図９に示すように、極端に小さなウェイトは、目的関数の極小点近傍に広い平坦な領域を生じさせることとなる。このような状況においては、最適化ソルバーが目的関数に不充分な変化を検出するため、最適化プロセスが不充分なまま終了してしまうおそれがある。それにより、最適でない解が算出されることになりかねない。適切なマーカーウェイトによれば、目的関数に対してその最小値近傍で望ましい放物形状が生成され、最適解に収束する可能性が高まることとなる。マーカーウェイトを最適化変数と同等オーダーの大きさに設定することにより、誤差許容範囲内に迅速かつロバストな収束を達成することができる。すなわち、マーカーベクトル絶対値の最大値の最小ウェイト値に対する比率に相当する数式１１により、ウェイトを設定することができるので、マーカー座標値とほぼ同等オーダーの大きさのウェイトを生成される。これにより、目的関数における双曲放物体（hyperparaboloid）の凸面形状がウェイトｗi付き目的関数の勾配を変倍することにより（たとえば、数式６参照）平坦化しすぎなくなる。
【００６２】
【数１１】
2005535031.tif 000024
【００６３】
Ｅ．実施例の結果
本稿に記載の骨格フィッティング技法を評価するために、モーションキャプチャーされたデータの従来の歩行シーケンスのマーカー軌跡にグローバル最適化および局所最適化のプロセスを適用した。歩行動作のための対象者固有の骨格を作成するために、２回パスの最適化をおこなった。第１パスでは、歩行シーケンスのそれぞれのフレームごとに最適化をおこなった。全フレームにわたり、セグメントごとの骨形状変倍倍率の平均を計算した。第２パスでは、それぞれのフレームごとに関節自由度のみ最適化されるように、全体モーションシーケンスにわたり前記平均変倍倍率を固定した。２回パスのアプローチが正当化される理由は、マーカー位置が振動やノイズの影響を受けやすく、モーションシーケンスを通じて骨形状が非剛性（non-rigid）になってしまうことにある。骨形状に対する平均変倍倍率は、動作中の軟組織によるノイズや振動の誤差が効果的に平均化された固定骨形状を生成した。第２パスでは、関節自由度のみ調節したので素早く最適化が収束した。骨格の複数の局所領域に対して比較的小さな最適化をおこなう場合には、PENTIUM III 933MHzのシステムで３０フレーム／秒（ｆｐｓ）以上の対話速度で骨格フィッティングが起こる。しかし、全体としての動きの斉合性やなめらかさは、すべての関節および骨セグメントのパラメータに対する単一のグローバル最適化により、最もよく達成される。それぞれの最適化ごとに、その子セグメントに加え親セグメントを含ましめることによりセグメントの近傍を広げることができる。同じ歩行モーションシーケンスにグローバルフィッティングを適用すると、その結果は、局所フィッティングの場合よりなめらかになる。一方の脚部の大腿骨が他方より長い場合などの視覚的難点を低減するために対称性拘束が有効となるかもしれない。もっとも、人の骨の長さに実際物理的な差異が存在する場合もありうる。手などの末端部に位置するセグメントが見かけ上大きすぎたり小さすぎたりすることもある。セグメントの大きさが不正確となる理由は、それらの領域中の骨の三次元形状を完全に拘束するマーカーが存在しないことである。補足的なマーカーポイントを追加することが精確な結果を生成するのに役立つ。本発明の一実施形態において、厳密な骨形状を完全にキャプチャーするためには、それぞれのセグメントに少なくとも三つのマーカーを配置すべきである。最適化における有意の誤差をさらに低減するために、最適化フレームワークに、より自由度の高い異なる変形関数を付け加えてもよい。たとえば、一般的な自由形式の変形、より拘束度の高い曲げやねじり、および、局所的な骨変形が精確な結果を生成することに寄与する。
【００６４】
１．収束
目的関数の分析勾配により、目的関数に対する局所的二次近似がよりよく近似されるため、収束を高速化することができる。その結果、本発明の実施形態は、分析勾配またはヤコビアンを計算することができる場合には、他の関節変換ないし骨変形に拡張することができる。他の勾配に基づく最適化と対比すると、本発明の実施形態は、初期の推定が最適な構成とかけ離れている場合でさえも、ロバストに収束する。ルート骨盤セグメントが完全な６自由度を有し、セグメントがその子へと変換を広げるものであることから、骨盤セグメントの最適化は、グローバルな最小値に近似する構成となる。ルートノード３００に近いセグメントパラメータほどより多くの子セグメントの構成に影響を与えるので、ルートノード３００から骨格の葉ノードに至る汎用骨格１１０の関節パラメータを調節することで、最適化の検索パラメータが粗から細に精緻化される。
【００６５】
人体測定に基づく骨格フィッティングの実施形態（それは、例示的かつ非限定的なものとすることを意図するものである）を説明してきたが、前記説明に照らして、当業者であれば、修正や変更をなしうるものであることが特記される。したがって、開示した本発明の具体的な実施形態に、添付した請求の範囲および均等物により画定される本発明の範囲と趣旨を逸脱しない変更がなされうるものと理解されなければならない。
【図面の簡単な説明】
【００６６】
添付した図面は、この明細書に組み込まれてその一部を構成するものであるが、本発明のいくつかの実施形態を例示するものであるとともに、その説明部（description）と相俟って本発明の諸原理を解説する役割を担うものである。
【００６７】
【図１】本発明の一実施形態による骨格フィッティングプロセスのブロック図である。
【図２】本発明の一実施形態による分割された汎用骨格を例示するものである。
【図３】本発明の一実施形態による骨格セグメントの依存関係を示す図である。
【図４】本発明の一実施形態による位置ベクトルを含む関節を示す図である。
【図５】本発明の一実施形態による仮想マーカーマッピング付き汎用骨格を例示するものである。
【図６】本発明の一実施形態による最適化フィッティングモジュールを例示するブロック図である。
【図７】本発明の一実施形態によるメモリモジュールの機能ブロック図である。
【図８】本発明の一実施形態による骨格フィッティングプロセスを例示するフローチャートである。
【図９】本発明の一実施形態によるマーカーウェイト付き目的関数をグラフ化したものである。
【図１】
2005535031.tif 000025
【図２】
2005535031.tif 000026
【図３】
2005535031.tif 000027
【図４】
2005535031.tif 000028
【図５】
2005535031.tif 000029
【図６】
2005535031.tif 000030
【図７】
2005535031.tif 000031
【図８】
2005535031.tif 000032
【図９】
2005535031.tif 000033
【国際調査報告】
2005535031.tif 000034