(57)【要約】【課題】  ビデオカメラ等の簡易な入力手段を用いて、被写体の３次元像を制作するために必要な人体の部位のテクスチャを、容易、迅速にオペレータを介さず、自動生成できる人体パーツ自動分割装置を提供する。【解決手段】  被写体をビデオカメラで撮影し、コンピュータ内に２次元画像として取り込む手段と、２次元画像を画像処理する手段と、該２次元画像から、顔、手、足、胴体などの人体パーツを自動的に識別する手段とを備えた人体パーツ自動分割装置等を備える。【選択図】  図１
2005339363.tif 000002
【特許請求の範囲】
【請求項１】
被写体をビデオカメラで撮影し、コンピュータ内に２次元画像として取り込む手段と、
２次元画像を画像処理する手段と、
該２次元画像から、顔、手、足及び胴体を含む人体パーツを自動的に識別する手段とを備えることを特徴とする人体パーツ自動分割装置。
【請求項２】
前記人体パーツを自動的に識別する手段は、予め、人間の各部位の相対的な位置関係を算出してパターン化しておくことにより、頭、うで、足及び胴を含む人体パーツの認識度を高めることを特徴とする請求項１に記載の人体パーツ自動分割装置。
【請求項３】
被写体をビデオカメラで撮影し、コンピュータ内に２次元画像として取り込むステップと、
２次元画像を画像処理するステップと、
該２次元画像から、顔、手、足及び胴体を含む人体パーツを自動的に識別するステップとを含むことを特徴とする人体パーツ自動分割方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３次元像生成装置に関し、さらに詳しくは、実空間における対象物を、ビデオカメラで撮影しその撮影された対象物に対する３次元像を仮想空間において生成し、さらに人体のパーツごとのテクスチャをマッピングすることにより、仮想空間において対象物の像をリアルに再現する人体パーツ自動分割装置及び人体パーツ自動分割方法に関する。
【背景技術】
【０００２】
従来、３次元像生成装置における実画像の入力手法、および、人体パーツ認識方法として、カラー３次元デジタイザなどを用いて人物の周囲を回転しながらレーザ光線を照射し、人物の人体パーツごとに、距離情報および色彩情報の双方を測定、入力することにより、人体パーツを形成する手法がとられている。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記従来例では、手および指の３次元モデリングは、上記デジタイザを使用するのが困難なため、ビデオカメラを用いて行われる。これは、デジタイザが主に回転体に近い（中心軸を持つ）の入力には適しているが、手のような回転体とはいえない人体パーツの入力には適さないためである。
【０００４】
また、上記従来例では、人体パーツごとに、１つ１つ入力が行われるため、パーツの入力に要する時間も大幅にかかり、瞬時に人物の全体像を生成する実時間表示には適していないという問題点があった。
【０００５】
また、全身を、１度にビデオカメラで撮影し、得られた２次元画像から、各パーツを識別するという手法では、各パーツの認識において、頭のてっぺんや、手や、足先などの位置を求めるのは簡単でも、ひじの位置や、腰の位置、ひざの位置など、特徴が著しくない場所の位置座標を求めるのは困難であった。すなわち、オペレータが画面を確認しながら、あるいは、固定された状態で撮影するなど、制約が多く、完全な自動認識とはいえなかった。
【０００６】
そこで、本発明は、特別なスタジオ設備や、カラー３次元デジタイザのような高価な入力機器を使わなくても、たとえば、ビデオカメラ等の簡易な入力手段を用いて、被写体の３次元像を制作するために必要な人体の部位のテクスチャを、容易、迅速にオペレータを介さず、自動生成できる人体パーツ自動分割装置及び人体パーツ自動分割方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の人体パーツ自動分割装置は、被写体をビデオカメラで撮影し、コンピュータ内に２次元画像として取り込む手段と、２次元画像を画像処理する手段と、該２次元画像から、顔、手、足及び胴体を含む人体パーツを自動的に識別する手段とを備えることを特徴とする。
【０００８】
本発明の人体パーツ自動分割方法は、被写体をビデオカメラで撮影し、コンピュータ内に２次元画像として取り込むステップと、２次元画像を画像処理するステップと、該２次元画像から、顔、手、足及び胴体を含む人体パーツを自動的に識別するステップとを含むことを特徴とする。
【発明の効果】
【０００９】
本発明によれば、特別なスタジオ設備や、カラー３次元デジタイザのような高価な入力機器を使わなくても、たとえば、ビデオカメラ等の簡易な入力手段を用いて、被写体の３次元像を制作するために必要な人体の部位のテクスチャを、容易、迅速にオペレータを介さず、自動生成することが可能となる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。
【００１１】
本発明の一実施形態に係る人体パーツ自動分割装置は、イベント会場、もしくは、アトラクション会場など、体験者を撮影してから３次元像を生成して表示するまでを、リアルタイムに、しかも、自動的に行う装置に適用される。まず、体験者(被写体)は、たとえば、ブルーバック(クロマキー手法)などを背景にし全身像をビデオカメラで撮影する。得られた２次元画像から人体パーツを自動認識し、各パーツのテクスチャを、コンピュータグラフィックスなどで作成した３次元モデルにマッピングし、該合成画像をモニタに表示する手法を取る。以下に、本発明の人体パーツ自動分割装置について図面に基づいて詳しく説明する。
【００１２】
図１は、本実施形態の装置構成を示した図である。図１において、１０１は被写体および背景を撮影するためのビデオカメラである。１０２は、ビデオカメラ１０１の映像を取り込むための映像入力部である。１０３は、取り込んだ画像から人体の各パーツを認識するための人体パーツ認識部である。１０４は、各パーツのテクスチャ画像と、形状情報を反映させる以前の、基本的な３次元モデルを生成するためのモデリング部である。
【００１３】
１０５は、１０３で抽出した各パーツのテクスチャ画像と形状情報を、１０４で生成した基本的な３次元モデルに反映させ、体験者の人物像を仮想空間で生成するための人物像生成部である。１０６は、画像や各種情報の表示を行う表示部であり、表示装置としては、たとえばＣＲＴ（Cathode Ray Tube: 陰極線管）モニタが用いられる。
【００１４】
図２は本実施形態の装置が利用される状況を説明する概念図であり、この図に基づいて本発明の装置・システムの概要を説明する。２０１は、背景のブルーバックである。２０２は、体験者である。２０３は、本装置で用いるビデオカメラである。
【００１５】
次に、本発明の人体パーツ自動分割装置の処理の流れについて、図３のフローチャートに基づいて詳しく説明する。
【００１６】
ステップＳ１の説明
人体パーツ自動分割装置の起動が開始されるとまず、画像を表示するための、メインウインドウを作成し、表示部１０６に表示する。
【００１７】
ステップＳ２の説明
ここでは、被写体が、クロマキー前を通過したり、あるいは、立ち止まったりしている様子を、オペレータが観察していて、適当なタイミングでマウスをクリックする。
マウスクリックされた場合（ＹＥＳの場合）は、ステップＳ３へ進み、自動的にビデオカメラ１０１からコンピュータに映像が取り込まれる。マウスクリックが無い場合は、（ＮＯの場合）、ステップＳ２に戻りマウスがクリックされるまでの待ち状態になる。
【００１８】
ステップＳ３の説明
ここでは、映像入力部１０２において、背景画像と被写体画像の取り込みを開始する。すなわち、マウスクリックがされた瞬間のビデオ映像の１フレームをコンピュータ内に取り込み(以下、キャプチャと称す)、ビットマット画像フォーマット(４８０ｘ６４０画素)に変換する。以下、キャプチャされた背景と被写体を含む画像を、オリジナル画像と呼ぶ(図４参考)。
【００１９】
ステップＳ４の説明
ここでは、オリジナル画像から人体画像のマスク画像を抽出する。ステップＳ３で生成したオリジナル画像のうち、鮮やかな青色（ｒ=0、ｇ=0、ｂ=200）の画素をマスク画像の白部分（r=255,g=255,b=255）、青色以外の画素を黒部分（r=0,g=0,b=0）に置き換えたマスク画像(図５)を抽出することができる。
【００２０】
ステップＳ５の説明
ステップＳ４で作成したマスク画像を使って、オリジナル画像から、人体画像だけを抽出する。
【００２１】
ステップＳ６の説明
ここでは、人体パーツの認識処理を行う。すなわち、モデリング部１０４では人体モデルを１０個所のパーツに分けてモデリングするため、人体パーツ認識部１０３において、この１０箇所のパーツを識別するための特徴点(位置座標)を抽出する処理を行う。
【００２２】
人体モデルの１０箇所のパーツを、図６に示す。この１０箇所のパーツを識別するために、図７に示すような特徴点を定義する。まず、ステップＳ４で生成したマスク画像から、それぞれの特徴点（位置座標X,Y）を算出する手法を述べる。
【００２３】
図５のマスク画像を、上端点、下端点、とそれ以外の点（画素）に分類するために、１画素ごとに、左上（１，１）から、（２，１）、（３，１）・・・・（４８０，１）、（１，２）、（２，２）・・・・（４８０，２）・・・（４８０，６４０）画素まですべて、８近傍のデータパターンを解析する。図８（ａ）は、（ｘ，ｙ）＝（０，０）を対象画素としたときの、８近傍の座標を示している。この８近傍のうち、（−１，−１），（０，−１），（１，−１）のすべてが、白（２５５）である場合、この対象画素を、上端点と定義する。図８（ｂ）と、図８（ｃ）に、上端点の２例をしめす。また、（−１，１），（０，１），（１，１）のすべてが白（２５５）である場合、この対象画素を、下端点と定義する。図８（ｄ）と図８（ｅ）に、下端点の２例を示す。このようにして、全画素を、上端点と下端点と、それ以外の画素に分類した結果を図９に示す。
【００２４】
図９に示したように、頭の先や、肩などは上端点に分類され、足元、脇などが下端点に分類されるので、これらの上端点と、下端点のなかから、頭、右肩、左肩、右脇、左脇、右手、左手、右ひじ上、右ひじ下、左ひじ上、左ひじ下、右腰、左腰、右ひざ右端、右ひざ左端、左ひざ右端、左ひざの左端、右足、左足の特徴点（位置座標）を抽出していく。しかし、全ての特徴点が、上端点と、下端点から求められるわけではなく、また、求められても、確証がない場合もある。そこで、人体の平均的な部位の位置データを予め作成しておき、この位置関係をもとに特徴点を特定していく手法をとる。以下に、この人体の平均的な部位の位置データの作成方法について図１１を用いて詳しく述べる。
【００２５】
まず、平均的な体形の男女を、たとえば、平均を取るのに十分と思われるサンプル数だけキャプチャし、２次元の人体像画像だけを抽出する。この人体画像の各部位の位置や、領域を、身長を１としたときの相対的な数値〔比〕で求めていく。
【００２６】
はじめに、身長を算出する。上端点と、下端点から、頭の頂点（Ｘｈ，Ｙｈ）と、足の先（Ｘｆ、Ｙｆ）を抽出し、（この手法の詳細は、特徴点の抽出の仕方でのちに詳しく説明する）この差をとって、身長を求めると、身長Ｌは、Ｌ＝Ｙｆ−Ｙｈで算出される。従って、サンプルｎの身長は、Ｌｎで表される。
【００２７】
次に、図１１のＨで示す足の先から腰の高さまでの距離〔ｙ座標値〕の平均を求める方法のついて述べる。Ｈは、Ｙｆから腰の位置のＹ座標値を引いた値であるので、サンプルｎの足の先から腰の高さまでの距離は、Ｈｎで表される。身長Ｌｎ＝１としたときの腰の高さの比を求めると、腰の高さの比はＨｈｎ＝Ｈｎ／Ｌｎとなる。全てのサンプルｎに対して、Ｈｎ／Ｌｎを求め平均をとる。よって、平均的な腰の高さの比は、以下の式で算出できる。
Ｈa＝〔Ｈ１／Ｌ１＋Ｈ２／Ｌ２＋…・Ｈｎ／Ｌｎ〕／ｎ・・・（式１）
【００２８】
次に、図１１のＲＳに示すような肩が存在する領域を求める方法について述べる。まず、全てのサンプルに対し、身長に対する肩の位置（Ｘ値）の比を求めていき、頭の先のＸ値（図１１のＸｈ）との差をＳｎとする。身長Ｌ＝１としたときの平均的な首から肩までの長さの比は以下の式で算出できる。
Ｓａ＝（Ｓ１／Ｌ１＋Ｓ２／Ｌ２＋・・・Ｓｎ／Ｌｎ）／ｎ・・・（式２）
【００２９】
さらに、全てのサンプルに対し頭の頂点から肩の位置の高さを求め、身長を１としたときの相対的な値（比）Ｓｙｎを算出する。サンプルｎの頭の頂点の座標を（
ｈｎ，Ｙｈｎ）とすると、Ｓｙｎは以下の式で求められる。
Ｓｙｎ＝ ((肩のＹ座標)−Ｙｈｎ)／Ｌｎ・・・（式３）
Ｓｙｎの値のうち、最小値と最大値を抽出し、最小値をＳｙ＿ｍｉｎ、最大値をＳｙ＿ｍａｘと設定する。
【００３０】
次に、図１１のＲＡに示すような右脇が存在する領域を求める方法について述べる。まず、全てのサンプルに対し頭の頂点から右脇の位置を求め、身長を１としたときの相対的なＸ方向の比ＲＡｘｎと、Ｙ方向の比ＲＡｙｎを調べる。サンプルｎの頭の頂点の座標を（Ｘｈｎ,Ｙｈｎ）とすると、ＲＡｘｎ、ＲＡｙｎは以下の式で求められる。
ＲＡｘｎ＝= (Ｘｈｎ−(脇のＸ座標))／Ｌｎ
ＲＡｙｎ ＝ ((脇のＹ座標−Ｙｈｎ))／Ｌｎ・・・（式４−１）
ＲＡｘｎとＲＡｙｎの値のうち、それぞれ最小値と最大値を抽出し、最小値をＲＡｘ＿ｍｉｎ、ＲＡｙ＿ｍｉｎ、最大値をＲＡｘ＿ｍａｘ、ＲＡｙ＿ｍａｘと設定する。
【００３１】
図１１のＬＡに示すような左脇が存在する領域を求める方法について述べる。まず、全てのサンプルに対し頭の頂点から左脇の位置を求め、身長を１としたときの相対的なＸ方向の比ＬＡｘｎと、Ｙ方向の比ＬＡｙｎを調べる。サンプルｎの頭の頂点の座標を（Ｘｈｎ,Ｙｈｎ）とすると、ＬＡｘｎ、ＬＡｙｎは以下の式でもとめられる。
ＬＡｘｎ＝ ((脇のＸ座標)−Ｘｈｎ)／Ｌｎ
ＬＡｙｎ＝ ((脇のＹ座標−Ｙｈｎ))／Ｌｎ・・・（式４−２）
ＬＡｘｎとＬＡｙｎの値のうち、それぞれ最小値と最大値を抽出し、最小値をＬＡｘ＿ｍｉｎ、ＬＡｙ＿ｍｉｎ、最大値をＬＡｘ＿ｍａｘ、ＬＡｙ＿ｍａｘと設定する。同様に、図１１のひざの高さＫにつても身長に対する相対的な比を算出し、この値をＫａとする。
【００３２】
次に、上記、求めた平均的な部位の位置を参考にしながら、それぞれの特徴点を求めていく方法について、詳しく述べる。
【００３３】
<Head>・・・頭
頭の頂点は、上端点のなかで、最も小さいＹ値を有する画素、また、ｙ値に対し、ｘ値が複数存在する場合は、集合のなかの真ん中のＸ値をもつ画素（ｘ、ｙ）をＨｅａｄの特徴点とする。
【００３４】
<RightShoulder>・・・右肩
右肩は上端点のなかから右脇（RightArmpit）の座標をもとにして求める。右脇の上方で、右脇のＸ値とおなじか、最も近いＸ値をもつ画素（ｘ、ｙ）をRightShoulderの特徴点とする。しかし、正しく、右脇が求められなかった場合は、右肩の位置を設定できないので、図１１のＲＳに示すように、予め身長に対する相対的な肩の位置を設定しておき、その位置に最も近い上端点を、RightShoulderの特徴点とする。具体的には、（式２）で算出した身長に対する首から肩までの長さの平均値Ｓａと、（式３）で算出した身長に対する頭の頂点から肩までの長さの下限値Ｓｙ＿ｍｉｎと上限値Ｓｙ＿ｍａｘを用いて特定していく。すなわち、上端点のうち、ｘ値が、ＸＸに最も近いｘ値をもち、ｙ値がｍｉｎＹよりも小さく、ｍａｘＹより大きい画素（ｘ，ｙ）をRightShoulderの特徴点とする。
ＸＸ＝Ｘｈ−Ｌ＊Ｓａ
ｍｉｎＹ＝Ｙｈ＋Ｌ＊Ｓｙ＿ｍｉｎ
ｍａｘＹ＝Ｙｈ＋Ｌ＊Ｓｙ＿ｍａｘ・・・（式５）
【００３５】
<LeftShoulder>・・・左肩
左肩は上端点のなかから左脇（LeftArmpit）の座標をもとにして求める。LeftArmpitの上方で、LeftArmpitのＸ値とおなじか、最も近いＸ値をもつ画素（ｘ、ｙ）をLeftArmpitの特徴点とする。しかし、正しく、左脇が求められなかった場合は、左肩の位置を設定できないので、図１１のＬＳに示すように、予め身長に対する相対的な肩の位置を設定しておき、その位置に最も近い上端点を、LeftShoulderの特徴点とする。具体的には、式２で求めた身長に対する首から肩までの長さの平均値Ｓａと、（式３）で算出した身長に対する頭の頂点から肩までの長さの下限値Ｓｙ＿ｍｉｎと上限値Ｓｙ＿ｍａｘを用いて特定していく。すなわち、ｘ値が、ＸＸに最も近いｘ値をもち、ｙ値がｍｉｎＹよりも小さく、ｍａｘＹより大きい画素（ｘ，ｙ）をLeftShoulderの特徴点とする。
ＸＸ＝Ｘｈ＋Ｌ＊Ｓａ
ｍｉｎＹ＝Ｙｈ＋Ｌ＊Ｓｙ＿ｍｉｎ
ｍａｘＹ＝Ｙｈ＋Ｌ＊Ｓｙ＿ｍａｘ・・・（式６）
【００３６】
<RightArmpit>・・・右脇
下端点のなかで、特定の範囲内で、最も大きなＸ値をもつ画素の（ｘ、ｙ）を特徴点とする。特定の範囲内とは、図１１に示したＲＡの領域であり、Ｐ１を（ｍｉｎＸ、ｍｉｎＹ）,Ｐ２を（ｍａｘＸ,ｍａｘＹ）とすると、以下の式で設定される。ここで、ＲＡｘ＿ｍｉｎ,ＲＡｘ＿ｍａｘ,ＲＡｙ＿ｍｉｎ,ＲＡｙ＿ｍａｘは、（式４−１）で予め求めていた身長を１としたときの相対的なＸ方向の値の最小値と、最大値、および、Ｙ方向の最小値と、最大値である。
ｍｉｎＸ＝Ｘｈ−Ｌ＊ＲＡｘ＿ｍａｘ
ｍａｘＸ＝Ｘｈ−Ｌ*ＲＡｘ＿ｍｉｘ
ｍｉｎＹ＝Ｙｈ＋Ｌ＊ＲＡｙ＿ｍｉｎ
ｍａｘＹ＝Ｙｈ＋Ｌ＊ＲＡｙ＿ｍａｘ ・・・（式７）
【００３７】
<LeftArmpit>・・・左脇
下端点のなかで、特定の範囲内で、最も小さなＸ値をもつ画素の（ｘ、ｙ）特徴点とする。特定の範囲内とは、図１１に示したLAの領域であり、Ｐ３を（ｍｉｎＸ、ｍｉｎＹ）,Ｐ４を（ｍａｘＸ,ｍａｘＹ）とすると、以下の式で設定される。ここで、ＬＡｘ＿ｍｉｎ,  ＬＡｘ＿ｍａｘ,ＬＡｙ＿ｍｉｎ,ＬＡｙ＿ｍａｘは、(式４−２)で予めもとめていた身長を１としたときの相対的なX方向の値の最小値と、最大値、および、y方向の最小値と、最大値である。
ｍｉｎＸ＝Ｘｈ＋Ｌ＊ＬＡｘ＿ｍｉｎ
ｍａｘＸ＝Ｘｈ＋Ｌ＊ＬＡｘ＿ｍａｘ
ｍｉｎＹ＝Ｙｈ＋Ｌ＊ＬＡｙ＿ｍｉｎ
ｍａｘＹ＝Ｙｈ＋Ｌ＊ＬＡｙ＿ｍａｘ ・・・(式８)
【００３８】
<RightHand>・・・右手
下端点のなかで、最も小さなＸ値をもつ画素（ｘ、ｙ）をRightHandの特徴点とする。
【００３９】
<LeftHand>・・・左手
下端点のなかで、最も大きなＸ値をもつ画素（ｘ、ｙ）をLeftHandの特徴点とする。
【００４０】
<RightElbowUp>・・・右ひじ上
上端点のなかで、RightElbowDownのＸ値に最も近い画素（ｘ、ｙ）をRightElbowUpの特徴点とする。
【００４１】
<RightElbowDown>・・・右ひじ下
ひじの特徴点は、下端点のなかから、Ｘ値が小さい順に調べていき、図１２に示すRightHandの特徴点(XRhand,YRhand)から、特定の範囲内に存在することを条件として特定する。まず、右腕に存在する下端点は、Ｘ値が小さいので、小さい点を順に調べていく。その場合、有効な範囲を、(XRhand,YRhand)から任意の距離内であること、かつ、脇や、肩の特徴点のＸ値よりも小さい範囲に限定する。
【００４２】
次に、図１３に示すように、RightHandの特徴点Ｔ１と、RightArmpitの特徴点Ｔ２ との位置関係を調べ、腕の形状を決定する。たとえば、図１３（ｂ）のような場合は、下端点のなかからもっとも大きなＹ値をもつ点を右ひじ下の特徴点と特定し、図１３（ｃ）のような場合はもっとも小さなＹ値を持つ点を右ひじ下の特徴点と特定する。また、図１３（ａ）のようなひじが伸びている場合は、左ひじ下の特徴点にはＴ１とＴ２の中間点を算出し、この点の最も近い下端点、あるいは、輪郭を形成している点を右ひじ下の特徴点とする。
【００４３】
<LeftElbowUp>・・・左ひじ上
上端点のなかで、LeftElbowDownのＸ値に最も近い画素（ｘ、ｙ）をLeftElbowUpの特徴点とする。
【００４４】
<LeftElbowDown>・・・左ひじ下
ひじの特徴点は、下端点のなかから、Ｘ値が小さい順に調べていき、図１２に示すLeftHandの特徴点(XLhand,YLhand)から、特定の範囲内に存在することを条件として特定する。まず、左腕に存在する下端点は、Ｘ値が大きいので、大きい点から順に調べていく。その場合、有効な範囲を、(XLhand,YLhand)から任意の距離内であること、かつ、脇や、肩の特徴点のＸ値よりも大きい範囲に限定する。次に、図１４に示すように、LeftHandの特徴点ＴＴ１と、LeftArmpitの特徴点ＴＴ２との位置関係を調べ、腕の形状を決定する。たとえば、図１４（ｂ）のような場合は、下端点のなかから最も大きなＹ値をもつ点を左ひじ下の特徴点と特定し、図１４（ｃ）のような場合は最も小さなＹ値を持つ点を左ひじ下の特徴点と特定する。また、図１４（ａ）のようなひじが伸びている場合は、左ひじ下の特徴点にはＴ１とＴ２の中間点を算出し、この点の最も近い下端点、あるいは、輪郭を形成している点を左ひじ下の特徴点とする。
【００４５】
<RightHip>・・・右腰はじ
腰の特徴点は、上端点や下端点から求めにくいので、予め求めていた平均的な腰の位置の割合Ｈａを元に特定する。腰の特徴点のＹ値は、Ｙｈ＋Ｌ＊Ｈａとする。ここで、Ｈａは式１で予め求めていた平均的な腰の高さの割合である。また、腰の特徴点のＸ値は、Ｘｈからマイナス方向の画素のＸ値を調べていき、黒から白に移り変わる点をRightHipの特徴点とする。
【００４６】
<LeftHip>・・・左腰はじ
腰の特徴点のＹ値は、RightHipのＹ値と同じである。Ｘ値は、HeadのＸ値からプラス方向の画素のＸ値を調べていき、黒から白に移り変わる点をLeftHipの特徴点とする。
【００４７】
<RightKneeR,RightKneeL,LeftKneeR,LeftKneeL>・・・ひざ
ひざの特徴点のＹ値は、上端点や下端点から求めにくいので、予め求めていた身長に対する平均的なひざの位置の比を元に特定する。この比をＫａとすると、ひざの特徴点のＹ値は、Ｙｆ−Ｌ＊Ｋａとする。
【００４８】
次に、Ｙ値がＹｆ−Ｌ＊Ｋａの値をもち、Ｘ値が１から、４８０までの画素のうち、白から黒へ移り変わる点を抽出し、順序と、Ｘ値の大きさから判断し、４つの特徴点を特定する。長いスカートをはいていたり、ひざがくっついている場合は、RightKneeRとRightKneeLだけを求め、LeftKneeRとLeftKneeLの値は０とする。
【００４９】
<RightFoot、LeftFoot>・・・右足、左足
下端点をｙ値の小さい順にマージする。マージした画素のうち、ｘ値、ｙ値ともにある任意の数（たとえば３画素）以上離れていない、連続した画素同士を集めて、いくつかのグループにする。グループごとのｘ値と、ｙ値の最大値をもとめ、ｙ値の最大値の大きい順に２つのグループを選択する。最初のグループの画素数がある任意の数Ｆａ以上の場合は、右足と左足が接触していると判断し、両足の特徴点は同じ画素になり、グループの真ん中に位置する画素をRightFoot、LeftFootの特徴点とする。しかし、Ｆａ画素以下の場合は、右足と、左足が離れていると判断し、まず、ｘ値の最大値が小さいほうのグループを右足、大きい方のグループを、左足とする。それぞれのグループの真ん中に位置する画素をRightFoot、LeftFootの特徴点とする。ここで、Ｆａは、予め求めていた足のＸ方向の長さの平均〔画素数〕で、例えば５０である。
【００５０】
ステップＳ7の説明
ここでは、まず、モデリング部１０４において、テキストファイルに出力した人体パーツ位置データを読み込み、各パーツの形状を計算し、モデリングを行い３次元の人物像を生成する。
【００５１】
以下に、このモデリング手法(既存の手法)について説明する。図６は、人体の１０個のパーツと、パーツ名称を示した図である。
【００５２】
この人体の各パーツ形状を定義する情報を、たとえば、ポリゴン群（パーツメッシュ）によって定義する。パーツメッシュは頂点座標の定義、ノーマルベクトルの定義、テクスチャ座標の定義、及び頂点の連結情報によるポリゴン定義からなる。パーツメッシュは、人体の各パーツごとに生成される。パーツメッシュの生成は特殊なモデリング手法を使って行われる。このパーツメッシュ用のモデリング手法は、ボリュームレンダリングの技術分野から導入したものである。郭面のポリゴン化に利用したアルゴリズムはマーチングキューブ（Marching Cubes）とよばれる方法である。このアルゴリズムはGE社のエンジニアによって1987年頃に開発され、既に特許されている（U.S PAT. NUMBER 4710876）。
【００５３】
次に、人物像生成部１０５において、上記ステップＳ５で得られた人体画像を表面映像(テクスチャ)とし、モデリングされた３次元モデルにマッピングする。
【００５４】
以下に、このテクスチャマッピング手法について詳しく述べる。テクスチャ設定は人体画像とステップＳ６で求めた人体パーツの特徴点〔位置座標〕を元に行われる。パーツメッシュのテクスチャ座標は人体パーツの特徴点〔ｖ〕を利用して適切な値に調整される。これは、人体画像の各パーツの画像を、人体モデルの対応パーツにフィットさせるためである。以下、テクスチャ座標の調整方法を説明する。
【００５５】
まず、各パーツメッシュには円柱マッピングによって一旦、仮のテクスチャ座標が割り当てられる。また、人体パーツの特徴点の情報については、特徴点の座標を0〜1の範囲に規格化し、着目するパーツ四辺形の端点から基底ベクトルU'、V'が生成される（図１０参照）。ここで、パーツ四辺形とは各パーツを取り囲む人体画像上の四辺形領域を指す（図１０参照）。
【００５６】
次に、二つの基底ベクトルU（１，０）、V（０，１）が基底ベクトルU'、V'に変換されるような変換行列Mを求め、円柱マッピングによって生成された全頂点のテクスチャ座標に対しMによる変換を施す。これによって一パーツについての適切なテクスチャ座標が生成される。このような処理を全てのパーツに対して行うことにより人体モデルに対する適切なテクスチャマッピングが実現できる。
【００５７】
ステップＳ８の説明
ここでは、ステップＳ７で生成した３次元の人物像を、画像表示部１０６においてディスプレイなどに表示する。
【００５８】
以上説明したように、本実施形態によれば、マウスボタンを１回クリックするだけで、瞬時に撮像し、抽出、人体パーツ認識、画像表示までのすべての処理を、自動的に行う手段を具備することにより、熟練者や特別なオペレータ以外の一般ユーザや、コンピュータの扱いになれていないユーザであっても、簡単に操作し実行することが可能である。また、特別なスタジオ設備や、カラー３次元デジタイザのような高価な入力機器を使わなくても、ビデオカメラからの入力だけで、３次元モデル生成に必要な、人体の各パーツの映像と、形状の双方の情報を得ることができるので、対象物のリアルな像を、仮想空間に、実時間で再現することが可能となる。
【００５９】
よって、特別な照明やシステムなどを持たない美術館やイベント会場などでも、パソコン１台とその周辺機器を用意するだけで、容易に体験者一人一人に特化した３次元像を再現することができる。
【００６０】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。
【００６１】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、プログラムコード自体及びそのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００６２】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【００６３】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ(基本システム或いはオペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００６４】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【００６５】
【図１】本発明の一実施形態に係る人体パーツ自動分割装置の構成を表す図である。
【図２】本発明の一実施形態に係る人体パーツ自動分割装置が利用される状況を説明する概念図である。
【図３】本発明の一実施形態の処理動作を示すフローチャートである。
【図４】キャプチャした背景画像と被写体画像を含むオリジナル画像を示した図である。
【図５】人型のくりぬき部分のマスク画像を示す図である。
【図６】人体の１０個のパーツと、パーツ名称を示す図である。
【図７】人体パーツの位置データの定義を示す図である。
【図８】対象画素の８近傍の座標を示す図である。
【図９】全画素を、上端点と下端点と、それ以外の画素に分類した結果を示す図である。
【図１０】人体パーツのテクスチャ座標の変換を示す図である。
【図１１】人体の部位の相対的な位置と領域を表した図である。
【図１２】うで部分の上端点と下端点を示す図である。
【図１３】右腕の形状パターンを示す図である。
【図１４】左腕の形状パターンを示す図である。
【符号の説明】
【００６６】
１０１  ビデオカメラ
１０２  映像入力部
１０３  人体パーツ認識部
１０４  モデリング部
１０５  人物像生成部
１０６  画像表示部
【図１】
2005339363.tif 000003
【図２】
2005339363.tif 000004
【図３】
2005339363.tif 000005
【図４】
2005339363.tif 000006
【図５】
2005339363.tif 000007
【図６】
2005339363.tif 000008
【図７】
2005339363.tif 000009
【図８】
2005339363.tif 000010
【図９】
2005339363.tif 000011
【図１０】
2005339363.tif 000012
【図１１】
2005339363.tif 000013
【図１２】
2005339363.tif 000014
【図１３】
2005339363.tif 000015
【図１４】
2005339363.tif 000016