(57)【要約】【課題】  モーションキャプチャ対象の凹凸や各部の状態を、一度隠れてもトラッキング可能であり、電源供給の必要がないマーカを用いて得る。【解決手段】  人体６の各部にユニークな位置マーカが貼り付けられている。カメラ１で人体６を撮影する。マーカ位置算出部４は、その画像から位置マーカを検出し、カメラ画面中の位置マーカの位置、回転角等の位置マーカ情報を求め、位置マーカＤＢ２とから各位置マーカの絶対座標系での位置座標、回転角を求める。モーション処理部５は各位置マーカの位置、傾きデータから各円柱の中心座標、傾き（３軸）のデータを求める処理を一定時間毎に繰り返し、データを蓄積する。【選択図】  図１
2005258891.tif 000002
【特許請求の範囲】
【請求項１】
モーションキャプチャ対象の各部分を、所定の立体形状でモデル化し、各立体に他の位置マーカとは異なるユニークな位置マーカを貼り付け、各位置マーカの絶対座標系での位置、３次元方向の各向き、大きさ、パターン、当該立体の立体ＩＤを位置マーカＤＢに登録し、また各立体の立体ＩＤ、絶対座標系での中心座標、向き（３軸）、大きさ、長さを立体ＤＢに登録しておく位置マーカデータ登録ステップと、
各部位の、前記モデルの位置マーカに対応する位置にユニークな位置マーカが貼られた前記対象をカメラで撮影し、画像データを取り込む画像データ取り込みステップと、
前記画像データから前記各位置マーカを検出し、そのマーカＩＤ、カメラ画面での位置座標、大きさ、３軸の回転角を含む位置マーカ情報を取得し、該位置マーカ情報と、前記位置マーカＤＢの対応する位置マーカの情報と、前記カメラの位置、光軸方向とカメラの画角のデータとから、前記対象に貼られた位置マーカの絶対座標系での位置座標と、３軸の回転角を求めるマーカ位置算出ステップと、
対象に貼られた各位置マーカの絶対座標系での位置座標、３軸の回転角、大きさから当該位置マーカに対応する立体の絶対座標での３軸の傾きと中心位置座標を求め、蓄積するモーション処理ステップと
を有する３Ｄモーションキャプチャ方法。
【請求項２】
前記モーション処理ステップにおいて、各立体が対象として自然な形に配置されるように立体の傾きおよび／または中心座標を補正し、また位置マーカのない立体に対して補完し、さらに時間軸方向に対象の動きとして妥当性のある動きとなるように、立体の傾きおよび／または中心座標を補正する、請求項１に記載の方法。
【請求項３】
モーションキャプチャ対象の各部分を、所定の立体形状でモデル化し、各立体に貼り付けられた、他の位置マーカとは異なるユニークな各位置マーカの絶対座標系での位置、３次元方向の向き、大きさ、パターン、当該立体の立体ＩＤが登録された位置マーカＤＢと、
各立体の立体ＩＤ、絶対座標系での中心座標、向き、大きさ、長さが登録されている立体ＤＢと、
各部位の、前記モデルの位置マーカに対応する位置にユニークな位置マーカが貼られた前記対象を撮影するカメラと、
前記画像データを取り込み、前記画像データから前記各位置マーカを検出し、そのマーカＩＤ、カメラ画面での位置座標、大きさ、３軸の回転角を含む位置マーカ情報を取得し、該位置マーカ情報と、前記位置マーカＤＢの対応する位置マーカの情報と、前記カメラの位置、光軸方向のデータとから、対象に貼られた位置マーカの絶対座標系での位置座標と、３軸の回転角を求めるマーカ位置算出手段と、
対象に貼られた各位置マーカの絶対座標での位置座標、３軸の回転角、大きさから当該位置マーカに対応する立体の絶対座標での３軸の傾きと中心位置座標を求め、蓄積するモーション処理手段と
を有する３Ｄモーションキャプチャ装置。
【請求項４】
請求項１または２に記載の３Ｄモーションキャプチャ方法をコンピュータで実行するためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は３Ｄモーションキャプチャ方法および装置に関する。
【背景技術】
【０００２】
従来のモーションキャプチャシステムとして、反射特性の優れた特殊なマーカを人体に取り付け、そのマーカの動きを６台のカメラで検出し、ソフトウェア的に３次元を再構成するものがある（非特許文献１）。
【非特許文献１】岡本庄司、山根克、中村仁彦「ビヘイビアキャプチャシステムにおけるリアルタイムモーションキャプチャ」日本機械学会［Ｎｏ．００−２］  ロボティクス・メカトロニクス講演会  '００ 講演論文集。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上述した従来のモーションキャプチャシステムでは、マーカ同士が交差したり、何かの陰に隠れた場合、どのマーカのデータか判別できず、キャプチャ後の処理に時間がかかっていた。発光体のマーカを使用する、システムでは電源供給が必要で、動きがさまたげられた。また、キャプチャしたマーカのみからでは、その部位までの奥行き情報、凹凸、回転の判定ができなかった。回転などの動きを判定するには、関節センサなどの大掛かりな装置の装着が必要であった。
【０００４】
本発明の目的は、一度影に隠れたマーカであってもトラッキングが可能であり、電源供給の必要がなく、キャプチャ対象の凹凸や対象（腕や体）の回転の情報が得られる３Ｄモーションキャプチャ方法および装置を提供することにある。
【課題を解決するための手段】
【０００５】
モーションキャプチャ対象の各部分を、所定の立体形状（例えば円柱）でモデル化し、各立体にユニークな位置マーカを貼り付け、各位置マーカの絶対座標系での位置、３次元方向の各向き、大きさ、パターン、当該立体の立体ＩＤを位置マーカＤＢに登録し、また各立体の立体ＩＤ、絶対座標系での中心座標、立体の傾き、大きさ、長さを立体ＤＢに登録しておく。
【０００６】
ここで、位置マーカとしてＡＲ  Ｔｏｏｌｋｉｔ（参考文献：加藤  博、Ｍａｒｋ  Ｂｉｌｌｉｎｇｈｕｒｓｔ、浅野  浩一、橘  啓八郎「マーカー追跡に基づく拡張感システムとそのキャリブレーション」日本バーチャルリアリティ学会論文誌  Ｖｏｌ．４、Ｎｏ．４、１９９９）のような３Ｄ情報取得に適した（向き、大きさがわかる）マーカを用いる。
【０００７】
一方、キャプチャ対象の各部位の、立体モデルの位置マーカに対応する位置マーカを貼り付けるか、または伸縮する衣服の上に位置マーカを貼り付ける。マーカ位置がずれた場合、キャリブレーションで対応することができる。
【０００８】
モーションキャプチャ動作では、まず、キャプチャ対象をカメラで撮影し、画像データを取り込む。次に、画像データから位置マーカを検出し、そのマーカＩＤ、カメラ画面での位置座標、大きさ、３軸の回転角を含む位置マーカ情報を取得し、該位置マーカ情報と、位置マーカＤＢの対応する位置マーカの情報と、カメラの位置、光軸方向のデータとから、人体に貼られた位置マーカの絶対座標系での位置座標と、３軸の回転角を求める。次に、キャプチャ対象に貼られた各位置マーカの絶対座標系での位置座標、３軸の回転角、大きさから当該位置マーカに対応する立体の絶対座標系での３軸の傾きと中心位置座標を求め、蓄積する。
【０００９】
以下、以上の動作を繰り返す。
【００１０】
実際にカメラ画像から取れるのはマーカの位置と向きなので、キャプチャ対象がどういうポーズになっているかという３Ｄデータに変換するために、例えば円柱モデルによって、キャプチャ対象の形を再構成する。人の体の各部位がどのような向きになっているかというデータに変換すれば、ゲームなどを作るときの人の体の自然な動きの入力情報に利用することができ、例えばＨＡＯＲＥＢＡ（参考文献：http://www.dressingsim.com/new/product/haoreba/）の試着サービスの人形を拡張して、人の体の動きに応じて動かして見せるなど、人の体の動きを入力情報としたアプリケーションに応用できる。
【発明の効果】
【００１１】
マーカが一意に定まるので、一度影に隠れたマーカであってもトラッキングが可能である。マーカが発光体でないため、電源供給の必要がなく動きの妨げが少ない。画像をキャプチャした時点で、マーカまでの距離とマーカ面の向きが求められるので、対象（人）のマーカの状況から、キャプチャ対象のマーカの位置、奥行きや凹凸が対象（腕や体）の回転の情報が得られ、動いた対象の部位の位置がわかる。
【発明を実施するための最良の形態】
【００１２】
次に、本発明の実施の形態について図面を参照して説明する。
【００１３】
図１は本発明の一実施形態の３Ｄモーションキャプチャ装置のブロック図、図２はその全体の処理の流れを示すフローチャートである。
【００１４】
本実施形態ではモーションキャプチャ対象を人６とし、人体モデルとして円柱モデルを用いており、人の大きさにあらかじめ合わせた円柱が用意されている。そして人６が立ったときの普通のポーズとして円柱の位置が決められている。各円柱には矩形の相異なる位置マーカが貼り付けられている。
【００１５】
位置マーカＤＢ２には、表１および図３に示すように、各位置マーカのマーカＩＤ、絶対座標系での中心位置（ｘｉ，ｙｉ，ｚｉ）、傾き（θｘｉ，θｙｉ，θｚｉ）、大きさＬｉ，Ｌｊ、パタンＰｉ、円柱ＩＤが登録されている。
【００１６】
【表１】
2005258891.tif 000003
【００１７】
円柱ＤＢ３には、表２に示すように、各円柱の円柱ＩＤ、絶対座標系での円柱中心座標（ｘｉ，ｙｉ，ｚｉ）、円柱の傾き（３軸）（θｘｉ，θｙｉ，θｚｉ）、直径Ｒｉ、長さＬｉが登録されている。一方、人体には円柱モデル上の位置マーカに対応した位置に位置マーカＭ1，Ｍ2，Ｍ3，…，Ｍi+1，…が１つの円柱に対して少なくとも１個カメラ１に写るように配置されている。
【００１８】
【表２】
2005258891.tif 000004
【００１９】
マーカ位置算出部４は、カメラ１から画像データを取り込み（ステップ１１）、位置マーカを検出、位置マーカ情報（マーカＩＤ、カメラ画面上での座標、大きさ、向き（３軸）など）を取得する。位置マーカ位置ＤＢ２のマーカの大きさと、カメラ画像中の位置マーカの大きさおよび、カメラ１の位置、および画角より、カメラ１から位置マーカまでの距離を計算する。カメラ画像中の位置マーカの位置および、マーカの向きとカメラ１の光軸方向から、位置マーカの絶対座標における向きを求める。カメラ１の座標とカメラ１からマーカまでの距離から、各位置マーカの絶対座標を求める（ステップ１２）。ステップ１２を全ての位置マーカについて繰り返す（ステップ１３）。
【００２０】
モーション処理部５は、各位置マーカの位置（絶対座標）、傾きデータから各円柱の中心座標、円柱の傾きのデータ（モーションデータ）を求める処理を一定時間（例えば１０秒）ごとに繰り返し、モーションデータを蓄積する（ステップ１４）。
【００２１】
以上の処理は次のシーンがあれば、繰り返される（ステップ１５）。
【００２２】
次に、マーカ位置算出部４のマーカ位置算出処理、モーション処理部５のモーション処理の詳細な処理を説明する。
１）マーカ位置算出処理（図４、図５）
カメラ１で撮影された画像から位置マーカを検出する（ステップ２１）。次に、位置マーカ情報（マーカの種類（Ｍi）、大きさ（Ｌci）、カメラ画面中の位置、回転角（３軸））（図４）を求める（ステップ２２）。次に、位置マーカ情報と位置マーカＤＢ２の情報（位置、向き）から各位置マーカの絶対座標系での位置座標、回転角（向き）を求める（ステップ２３）。
２）モーション処理（図６）
まず、位置マーカのキャリブレーションデータを読み込む（ステップ３１）。円柱の長さや円柱の直径は、例えば身長が１７０ｃｍの人であれば上腕の長さは１８ｃｍ、直径は５ｃｍなどと固定値を用いてもよい。しかし円柱をキャプチャする人体の体のサイズに近いものにするには、手首などの位置を固定して、手首からマーカまでの距離を図ることで、それを円柱の長さにすることもできる。これを本明細書ではキャリブレーションと呼んでいる。つまり実際の人体のサイズに合わせるという意味で使っている。次に、マーカ位置算出部４から位置マーカの絶対値・傾きのデータを読み込む（ステップ３２）。次に、人体モデルである各円柱の位置、向きを算出する（ステップ３３）。位置、向きが算出された全円柱を配置する（ステップ３４）。
【００２３】
次に、ステップ３３の処理を図７により詳しく説明する。ある円柱に対応する位置マーカＭiのデータ（絶対座標（ｘｉ，ｙｉ，ｚｉ）と傾き（θｘｉ，θｙｉ，θｚｉ））を取り込む（ステップ４１，４２）。次に、すべての位置マーカＭiの情報（中心座標（ｘｉ，ｙｉ，ｚｉ）、傾き（θｘｉ，θｙｉ，θｚｉ））から円柱の傾き（θｘ，θｙ，θｚ）、中心座標（ｘ，ｙ，ｚ）、直径Ｒ（固定）を求める（ステップ４３）。円柱にマーカが２つ以上あり、それぞれから求めた円柱の位置、傾きに矛盾があれば（計算誤差や画像処理の精度などで異なる場合等）、すべての位置Ｍiの情報から最小二乗法のような近似で円柱として妥当性のある状態を求める（ステップ４４，４５）。以上の処理をすべての円柱について繰り返す（ステップ４６）。次に、各円柱が人の形として自然に配置されるように円柱を補正する。また、位置マーカが検出できない円柱に対しては補完する（ステップ４７）。つまり、胴体の円柱が両腕の上腕の円柱の間付近にない時は、人体の形になるように、近傍の円柱から胴体の位置を求める（両腕の円柱の間に胴体の円柱を配置する）。また、たとえば、上腕部の円柱にマーカが見つからないと上腕部の円柱は求められない。そこで、ひじから手首の円柱情報（向き、位置）と、胴体の円柱情報の向き、位置から、上腕の円柱の向きと位置を推定する。最後に、時間軸方向に人の動きとして妥当性のある動きになるように、円柱の移動加速度がある範囲に収まるように円柱の位置を補正する（ステップ４８）。
【００２４】
次に、円柱直径キャリブレーションの例を図８により説明する。まず、キャリブレーション用座標（ｘｃ，ｙｃ，ｚｃ）にたとえば腕を設定する（ステップ５１）。各位置マーカの情報、すなわち中心座標（ｘ１，ｙ１，ｚ１）、傾き（θｘ１，θｙ１，θｚ１）、マーカ大きさＬ１、形状Ｌ1／Ｌ2を求める（ステップ５２）。最後に、キャリブレーション座標と、ある円柱の位置マーカまでの距離、位置マーカの大きさなどから円柱の直径、長さを推定する（ステップ５３）。
【００２５】
なお、本発明は専用のハードウェアにより実現されるもの以外に、その機能を実現するためのプログラムを、コンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行するものであってもよい。コンピュータ読み取り可能な記録媒体とは、フロッピーディスク、光磁気ディスク、ＣＤ−ＲＯＭ等の記録媒体、コンピュータシステムに内蔵されるハードディスク装置等の記憶装置を指す。さらに、コンピュータ読み取り可能な記録媒体は、インターネットを介してプログラムを送信する場合のように、短時間の間、動的にプログラムを保持するもの（伝送媒体もしくは伝送波）、その場合のサーバとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含む。
【図面の簡単な説明】
【００２６】
【図１】本発明の一実施形態の３Ｄモーションキャプチャ装置の構成図である。
【図２】図１の３Ｄモーションキャプチャ装置の全体の処理の流れを示すフローチャートである。
【図３】円柱モデル上での位置マーカの中心座標、傾き、大きさを示す図である。
【図４】マーカ位置算出部における処理のフローチャートである。
【図５】カメラ画面中のマーカの位置、方向、大きさを示す図である。
【図６】モーション処理部における処理のフローチャートである。
【図７】図６における円柱の位置・向き推定の処理のフローチャートである。
【図８】円柱直径キャリブレーションの処理を示すフローチャートである。
【符号の説明】
【００２７】
１    カメラ
２    位置マーカＤＢ
３    円柱ＤＢ
４    マーカ位置算出部
５    モーション処理部
６    人体
１１〜１５，２１〜２３，３１〜３５，４１〜４８，５１〜５３    ステップ
【図１】
2005258891.tif 000005
【図２】
2005258891.tif 000006
【図３】
2005258891.tif 000007
【図４】
2005258891.tif 000008
【図５】
2005258891.tif 000009
【図６】
2005258891.tif 000010
【図７】
2005258891.tif 000011
【図８】
2005258891.tif 000012