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