JP2005339363A - 人体パーツ自動分割装置及び人体パーツ自動分割方法 - Google Patents
人体パーツ自動分割装置及び人体パーツ自動分割方法 Download PDFInfo
- Publication number
- JP2005339363A JP2005339363A JP2004159700A JP2004159700A JP2005339363A JP 2005339363 A JP2005339363 A JP 2005339363A JP 2004159700 A JP2004159700 A JP 2004159700A JP 2004159700 A JP2004159700 A JP 2004159700A JP 2005339363 A JP2005339363 A JP 2005339363A
- Authority
- JP
- Japan
- Prior art keywords
- human body
- value
- image
- dimensional image
- point
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
【課題】 ビデオカメラ等の簡易な入力手段を用いて、被写体の3次元像を制作するために必要な人体の部位のテクスチャを、容易、迅速にオペレータを介さず、自動生成できる人体パーツ自動分割装置を提供する。
【解決手段】 被写体をビデオカメラで撮影し、コンピュータ内に2次元画像として取り込む手段と、2次元画像を画像処理する手段と、該2次元画像から、顔、手、足、胴体などの人体パーツを自動的に識別する手段とを備えた人体パーツ自動分割装置等を備える。
【選択図】 図1
【解決手段】 被写体をビデオカメラで撮影し、コンピュータ内に2次元画像として取り込む手段と、2次元画像を画像処理する手段と、該2次元画像から、顔、手、足、胴体などの人体パーツを自動的に識別する手段とを備えた人体パーツ自動分割装置等を備える。
【選択図】 図1
Description
本発明は、3次元像生成装置に関し、さらに詳しくは、実空間における対象物を、ビデオカメラで撮影しその撮影された対象物に対する3次元像を仮想空間において生成し、さらに人体のパーツごとのテクスチャをマッピングすることにより、仮想空間において対象物の像をリアルに再現する人体パーツ自動分割装置及び人体パーツ自動分割方法に関する。
従来、3次元像生成装置における実画像の入力手法、および、人体パーツ認識方法として、カラー3次元デジタイザなどを用いて人物の周囲を回転しながらレーザ光線を照射し、人物の人体パーツごとに、距離情報および色彩情報の双方を測定、入力することにより、人体パーツを形成する手法がとられている。
しかしながら、上記従来例では、手および指の3次元モデリングは、上記デジタイザを使用するのが困難なため、ビデオカメラを用いて行われる。これは、デジタイザが主に回転体に近い(中心軸を持つ)の入力には適しているが、手のような回転体とはいえない人体パーツの入力には適さないためである。
また、上記従来例では、人体パーツごとに、1つ1つ入力が行われるため、パーツの入力に要する時間も大幅にかかり、瞬時に人物の全体像を生成する実時間表示には適していないという問題点があった。
また、全身を、1度にビデオカメラで撮影し、得られた2次元画像から、各パーツを識別するという手法では、各パーツの認識において、頭のてっぺんや、手や、足先などの位置を求めるのは簡単でも、ひじの位置や、腰の位置、ひざの位置など、特徴が著しくない場所の位置座標を求めるのは困難であった。すなわち、オペレータが画面を確認しながら、あるいは、固定された状態で撮影するなど、制約が多く、完全な自動認識とはいえなかった。
そこで、本発明は、特別なスタジオ設備や、カラー3次元デジタイザのような高価な入力機器を使わなくても、たとえば、ビデオカメラ等の簡易な入力手段を用いて、被写体の3次元像を制作するために必要な人体の部位のテクスチャを、容易、迅速にオペレータを介さず、自動生成できる人体パーツ自動分割装置及び人体パーツ自動分割方法を提供することを目的とする。
本発明の人体パーツ自動分割装置は、被写体をビデオカメラで撮影し、コンピュータ内に2次元画像として取り込む手段と、2次元画像を画像処理する手段と、該2次元画像から、顔、手、足及び胴体を含む人体パーツを自動的に識別する手段とを備えることを特徴とする。
本発明の人体パーツ自動分割方法は、被写体をビデオカメラで撮影し、コンピュータ内に2次元画像として取り込むステップと、2次元画像を画像処理するステップと、該2次元画像から、顔、手、足及び胴体を含む人体パーツを自動的に識別するステップとを含むことを特徴とする。
本発明によれば、特別なスタジオ設備や、カラー3次元デジタイザのような高価な入力機器を使わなくても、たとえば、ビデオカメラ等の簡易な入力手段を用いて、被写体の3次元像を制作するために必要な人体の部位のテクスチャを、容易、迅速にオペレータを介さず、自動生成することが可能となる。
以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。
本発明の一実施形態に係る人体パーツ自動分割装置は、イベント会場、もしくは、アトラクション会場など、体験者を撮影してから3次元像を生成して表示するまでを、リアルタイムに、しかも、自動的に行う装置に適用される。まず、体験者(被写体)は、たとえば、ブルーバック(クロマキー手法)などを背景にし全身像をビデオカメラで撮影する。得られた2次元画像から人体パーツを自動認識し、各パーツのテクスチャを、コンピュータグラフィックスなどで作成した3次元モデルにマッピングし、該合成画像をモニタに表示する手法を取る。以下に、本発明の人体パーツ自動分割装置について図面に基づいて詳しく説明する。
図1は、本実施形態の装置構成を示した図である。図1において、101は被写体および背景を撮影するためのビデオカメラである。102は、ビデオカメラ101の映像を取り込むための映像入力部である。103は、取り込んだ画像から人体の各パーツを認識するための人体パーツ認識部である。104は、各パーツのテクスチャ画像と、形状情報を反映させる以前の、基本的な3次元モデルを生成するためのモデリング部である。
105は、103で抽出した各パーツのテクスチャ画像と形状情報を、104で生成した基本的な3次元モデルに反映させ、体験者の人物像を仮想空間で生成するための人物像生成部である。106は、画像や各種情報の表示を行う表示部であり、表示装置としては、たとえばCRT(Cathode Ray Tube: 陰極線管)モニタが用いられる。
図2は本実施形態の装置が利用される状況を説明する概念図であり、この図に基づいて本発明の装置・システムの概要を説明する。201は、背景のブルーバックである。202は、体験者である。203は、本装置で用いるビデオカメラである。
次に、本発明の人体パーツ自動分割装置の処理の流れについて、図3のフローチャートに基づいて詳しく説明する。
ステップS1の説明
人体パーツ自動分割装置の起動が開始されるとまず、画像を表示するための、メインウインドウを作成し、表示部106に表示する。
人体パーツ自動分割装置の起動が開始されるとまず、画像を表示するための、メインウインドウを作成し、表示部106に表示する。
ステップS2の説明
ここでは、被写体が、クロマキー前を通過したり、あるいは、立ち止まったりしている様子を、オペレータが観察していて、適当なタイミングでマウスをクリックする。
マウスクリックされた場合(YESの場合)は、ステップS3へ進み、自動的にビデオカメラ101からコンピュータに映像が取り込まれる。マウスクリックが無い場合は、(NOの場合)、ステップS2に戻りマウスがクリックされるまでの待ち状態になる。
ここでは、被写体が、クロマキー前を通過したり、あるいは、立ち止まったりしている様子を、オペレータが観察していて、適当なタイミングでマウスをクリックする。
マウスクリックされた場合(YESの場合)は、ステップS3へ進み、自動的にビデオカメラ101からコンピュータに映像が取り込まれる。マウスクリックが無い場合は、(NOの場合)、ステップS2に戻りマウスがクリックされるまでの待ち状態になる。
ステップS3の説明
ここでは、映像入力部102において、背景画像と被写体画像の取り込みを開始する。すなわち、マウスクリックがされた瞬間のビデオ映像の1フレームをコンピュータ内に取り込み(以下、キャプチャと称す)、ビットマット画像フォーマット(480x640画素)に変換する。以下、キャプチャされた背景と被写体を含む画像を、オリジナル画像と呼ぶ(図4参考)。
ここでは、映像入力部102において、背景画像と被写体画像の取り込みを開始する。すなわち、マウスクリックがされた瞬間のビデオ映像の1フレームをコンピュータ内に取り込み(以下、キャプチャと称す)、ビットマット画像フォーマット(480x640画素)に変換する。以下、キャプチャされた背景と被写体を含む画像を、オリジナル画像と呼ぶ(図4参考)。
ステップS4の説明
ここでは、オリジナル画像から人体画像のマスク画像を抽出する。ステップS3で生成したオリジナル画像のうち、鮮やかな青色(r=0、g=0、b=200)の画素をマスク画像の白部分(r=255,g=255,b=255)、青色以外の画素を黒部分(r=0,g=0,b=0)に置き換えたマスク画像(図5)を抽出することができる。
ここでは、オリジナル画像から人体画像のマスク画像を抽出する。ステップS3で生成したオリジナル画像のうち、鮮やかな青色(r=0、g=0、b=200)の画素をマスク画像の白部分(r=255,g=255,b=255)、青色以外の画素を黒部分(r=0,g=0,b=0)に置き換えたマスク画像(図5)を抽出することができる。
ステップS5の説明
ステップS4で作成したマスク画像を使って、オリジナル画像から、人体画像だけを抽出する。
ステップS4で作成したマスク画像を使って、オリジナル画像から、人体画像だけを抽出する。
ステップS6の説明
ここでは、人体パーツの認識処理を行う。すなわち、モデリング部104では人体モデルを10個所のパーツに分けてモデリングするため、人体パーツ認識部103において、この10箇所のパーツを識別するための特徴点(位置座標)を抽出する処理を行う。
ここでは、人体パーツの認識処理を行う。すなわち、モデリング部104では人体モデルを10個所のパーツに分けてモデリングするため、人体パーツ認識部103において、この10箇所のパーツを識別するための特徴点(位置座標)を抽出する処理を行う。
人体モデルの10箇所のパーツを、図6に示す。この10箇所のパーツを識別するために、図7に示すような特徴点を定義する。まず、ステップS4で生成したマスク画像から、それぞれの特徴点(位置座標X,Y)を算出する手法を述べる。
図5のマスク画像を、上端点、下端点、とそれ以外の点(画素)に分類するために、1画素ごとに、左上(1,1)から、(2,1)、(3,1)・・・・(480,1)、(1,2)、(2,2)・・・・(480,2)・・・(480,640)画素まですべて、8近傍のデータパターンを解析する。図8(a)は、(x,y)=(0,0)を対象画素としたときの、8近傍の座標を示している。この8近傍のうち、(−1,−1),(0,−1),(1,−1)のすべてが、白(255)である場合、この対象画素を、上端点と定義する。図8(b)と、図8(c)に、上端点の2例をしめす。また、(−1,1),(0,1),(1,1)のすべてが白(255)である場合、この対象画素を、下端点と定義する。図8(d)と図8(e)に、下端点の2例を示す。このようにして、全画素を、上端点と下端点と、それ以外の画素に分類した結果を図9に示す。
図9に示したように、頭の先や、肩などは上端点に分類され、足元、脇などが下端点に分類されるので、これらの上端点と、下端点のなかから、頭、右肩、左肩、右脇、左脇、右手、左手、右ひじ上、右ひじ下、左ひじ上、左ひじ下、右腰、左腰、右ひざ右端、右ひざ左端、左ひざ右端、左ひざの左端、右足、左足の特徴点(位置座標)を抽出していく。しかし、全ての特徴点が、上端点と、下端点から求められるわけではなく、また、求められても、確証がない場合もある。そこで、人体の平均的な部位の位置データを予め作成しておき、この位置関係をもとに特徴点を特定していく手法をとる。以下に、この人体の平均的な部位の位置データの作成方法について図11を用いて詳しく述べる。
まず、平均的な体形の男女を、たとえば、平均を取るのに十分と思われるサンプル数だけキャプチャし、2次元の人体像画像だけを抽出する。この人体画像の各部位の位置や、領域を、身長を1としたときの相対的な数値〔比〕で求めていく。
はじめに、身長を算出する。上端点と、下端点から、頭の頂点(Xh,Yh)と、足の先(Xf、Yf)を抽出し、(この手法の詳細は、特徴点の抽出の仕方でのちに詳しく説明する)この差をとって、身長を求めると、身長Lは、L=Yf−Yhで算出される。従って、サンプルnの身長は、Lnで表される。
次に、図11のHで示す足の先から腰の高さまでの距離〔y座標値〕の平均を求める方法のついて述べる。Hは、Yfから腰の位置のY座標値を引いた値であるので、サンプルnの足の先から腰の高さまでの距離は、Hnで表される。身長Ln=1としたときの腰の高さの比を求めると、腰の高さの比はHhn=Hn/Lnとなる。全てのサンプルnに対して、Hn/Lnを求め平均をとる。よって、平均的な腰の高さの比は、以下の式で算出できる。
Ha=〔H1/L1+H2/L2+…・Hn/Ln〕/n・・・(式1)
Ha=〔H1/L1+H2/L2+…・Hn/Ln〕/n・・・(式1)
次に、図11のRSに示すような肩が存在する領域を求める方法について述べる。まず、全てのサンプルに対し、身長に対する肩の位置(X値)の比を求めていき、頭の先のX値(図11のXh)との差をSnとする。身長L=1としたときの平均的な首から肩までの長さの比は以下の式で算出できる。
Sa=(S1/L1+S2/L2+・・・Sn/Ln)/n・・・(式2)
Sa=(S1/L1+S2/L2+・・・Sn/Ln)/n・・・(式2)
さらに、全てのサンプルに対し頭の頂点から肩の位置の高さを求め、身長を1としたときの相対的な値(比)Synを算出する。サンプルnの頭の頂点の座標を(
hn,Yhn)とすると、Synは以下の式で求められる。
Syn= ((肩のY座標)−Yhn)/Ln・・・(式3)
Synの値のうち、最小値と最大値を抽出し、最小値をSy_min、最大値をSy_maxと設定する。
hn,Yhn)とすると、Synは以下の式で求められる。
Syn= ((肩のY座標)−Yhn)/Ln・・・(式3)
Synの値のうち、最小値と最大値を抽出し、最小値をSy_min、最大値をSy_maxと設定する。
次に、図11のRAに示すような右脇が存在する領域を求める方法について述べる。まず、全てのサンプルに対し頭の頂点から右脇の位置を求め、身長を1としたときの相対的なX方向の比RAxnと、Y方向の比RAynを調べる。サンプルnの頭の頂点の座標を(Xhn,Yhn)とすると、RAxn、RAynは以下の式で求められる。
RAxn== (Xhn−(脇のX座標))/Ln
RAyn = ((脇のY座標−Yhn))/Ln・・・(式4−1)
RAxnとRAynの値のうち、それぞれ最小値と最大値を抽出し、最小値をRAx_min、RAy_min、最大値をRAx_max、RAy_maxと設定する。
RAxn== (Xhn−(脇のX座標))/Ln
RAyn = ((脇のY座標−Yhn))/Ln・・・(式4−1)
RAxnとRAynの値のうち、それぞれ最小値と最大値を抽出し、最小値をRAx_min、RAy_min、最大値をRAx_max、RAy_maxと設定する。
図11のLAに示すような左脇が存在する領域を求める方法について述べる。まず、全てのサンプルに対し頭の頂点から左脇の位置を求め、身長を1としたときの相対的なX方向の比LAxnと、Y方向の比LAynを調べる。サンプルnの頭の頂点の座標を(Xhn,Yhn)とすると、LAxn、LAynは以下の式でもとめられる。
LAxn= ((脇のX座標)−Xhn)/Ln
LAyn= ((脇のY座標−Yhn))/Ln・・・(式4−2)
LAxnとLAynの値のうち、それぞれ最小値と最大値を抽出し、最小値をLAx_min、LAy_min、最大値をLAx_max、LAy_maxと設定する。同様に、図11のひざの高さKにつても身長に対する相対的な比を算出し、この値をKaとする。
LAxn= ((脇のX座標)−Xhn)/Ln
LAyn= ((脇のY座標−Yhn))/Ln・・・(式4−2)
LAxnとLAynの値のうち、それぞれ最小値と最大値を抽出し、最小値をLAx_min、LAy_min、最大値をLAx_max、LAy_maxと設定する。同様に、図11のひざの高さKにつても身長に対する相対的な比を算出し、この値をKaとする。
次に、上記、求めた平均的な部位の位置を参考にしながら、それぞれの特徴点を求めていく方法について、詳しく述べる。
<Head>・・・頭
頭の頂点は、上端点のなかで、最も小さいY値を有する画素、また、y値に対し、x値が複数存在する場合は、集合のなかの真ん中のX値をもつ画素(x、y)をHeadの特徴点とする。
頭の頂点は、上端点のなかで、最も小さいY値を有する画素、また、y値に対し、x値が複数存在する場合は、集合のなかの真ん中のX値をもつ画素(x、y)をHeadの特徴点とする。
<RightShoulder>・・・右肩
右肩は上端点のなかから右脇(RightArmpit)の座標をもとにして求める。右脇の上方で、右脇のX値とおなじか、最も近いX値をもつ画素(x、y)をRightShoulderの特徴点とする。しかし、正しく、右脇が求められなかった場合は、右肩の位置を設定できないので、図11のRSに示すように、予め身長に対する相対的な肩の位置を設定しておき、その位置に最も近い上端点を、RightShoulderの特徴点とする。具体的には、(式2)で算出した身長に対する首から肩までの長さの平均値Saと、(式3)で算出した身長に対する頭の頂点から肩までの長さの下限値Sy_minと上限値Sy_maxを用いて特定していく。すなわち、上端点のうち、x値が、XXに最も近いx値をもち、y値がminYよりも小さく、maxYより大きい画素(x,y)をRightShoulderの特徴点とする。
XX=Xh−L*Sa
minY=Yh+L*Sy_min
maxY=Yh+L*Sy_max・・・(式5)
右肩は上端点のなかから右脇(RightArmpit)の座標をもとにして求める。右脇の上方で、右脇のX値とおなじか、最も近いX値をもつ画素(x、y)をRightShoulderの特徴点とする。しかし、正しく、右脇が求められなかった場合は、右肩の位置を設定できないので、図11のRSに示すように、予め身長に対する相対的な肩の位置を設定しておき、その位置に最も近い上端点を、RightShoulderの特徴点とする。具体的には、(式2)で算出した身長に対する首から肩までの長さの平均値Saと、(式3)で算出した身長に対する頭の頂点から肩までの長さの下限値Sy_minと上限値Sy_maxを用いて特定していく。すなわち、上端点のうち、x値が、XXに最も近いx値をもち、y値がminYよりも小さく、maxYより大きい画素(x,y)をRightShoulderの特徴点とする。
XX=Xh−L*Sa
minY=Yh+L*Sy_min
maxY=Yh+L*Sy_max・・・(式5)
<LeftShoulder>・・・左肩
左肩は上端点のなかから左脇(LeftArmpit)の座標をもとにして求める。LeftArmpitの上方で、LeftArmpitのX値とおなじか、最も近いX値をもつ画素(x、y)をLeftArmpitの特徴点とする。しかし、正しく、左脇が求められなかった場合は、左肩の位置を設定できないので、図11のLSに示すように、予め身長に対する相対的な肩の位置を設定しておき、その位置に最も近い上端点を、LeftShoulderの特徴点とする。具体的には、式2で求めた身長に対する首から肩までの長さの平均値Saと、(式3)で算出した身長に対する頭の頂点から肩までの長さの下限値Sy_minと上限値Sy_maxを用いて特定していく。すなわち、x値が、XXに最も近いx値をもち、y値がminYよりも小さく、maxYより大きい画素(x,y)をLeftShoulderの特徴点とする。
XX=Xh+L*Sa
minY=Yh+L*Sy_min
maxY=Yh+L*Sy_max・・・(式6)
左肩は上端点のなかから左脇(LeftArmpit)の座標をもとにして求める。LeftArmpitの上方で、LeftArmpitのX値とおなじか、最も近いX値をもつ画素(x、y)をLeftArmpitの特徴点とする。しかし、正しく、左脇が求められなかった場合は、左肩の位置を設定できないので、図11のLSに示すように、予め身長に対する相対的な肩の位置を設定しておき、その位置に最も近い上端点を、LeftShoulderの特徴点とする。具体的には、式2で求めた身長に対する首から肩までの長さの平均値Saと、(式3)で算出した身長に対する頭の頂点から肩までの長さの下限値Sy_minと上限値Sy_maxを用いて特定していく。すなわち、x値が、XXに最も近いx値をもち、y値がminYよりも小さく、maxYより大きい画素(x,y)をLeftShoulderの特徴点とする。
XX=Xh+L*Sa
minY=Yh+L*Sy_min
maxY=Yh+L*Sy_max・・・(式6)
<RightArmpit>・・・右脇
下端点のなかで、特定の範囲内で、最も大きなX値をもつ画素の(x、y)を特徴点とする。特定の範囲内とは、図11に示したRAの領域であり、P1を(minX、minY),P2を(maxX,maxY)とすると、以下の式で設定される。ここで、RAx_min,RAx_max,RAy_min,RAy_maxは、(式4−1)で予め求めていた身長を1としたときの相対的なX方向の値の最小値と、最大値、および、Y方向の最小値と、最大値である。
minX=Xh−L*RAx_max
maxX=Xh−L*RAx_mix
minY=Yh+L*RAy_min
maxY=Yh+L*RAy_max ・・・(式7)
下端点のなかで、特定の範囲内で、最も大きなX値をもつ画素の(x、y)を特徴点とする。特定の範囲内とは、図11に示したRAの領域であり、P1を(minX、minY),P2を(maxX,maxY)とすると、以下の式で設定される。ここで、RAx_min,RAx_max,RAy_min,RAy_maxは、(式4−1)で予め求めていた身長を1としたときの相対的なX方向の値の最小値と、最大値、および、Y方向の最小値と、最大値である。
minX=Xh−L*RAx_max
maxX=Xh−L*RAx_mix
minY=Yh+L*RAy_min
maxY=Yh+L*RAy_max ・・・(式7)
<LeftArmpit>・・・左脇
下端点のなかで、特定の範囲内で、最も小さなX値をもつ画素の(x、y)特徴点とする。特定の範囲内とは、図11に示したLAの領域であり、P3を(minX、minY),P4を(maxX,maxY)とすると、以下の式で設定される。ここで、LAx_min, LAx_max,LAy_min,LAy_maxは、(式4−2)で予めもとめていた身長を1としたときの相対的なX方向の値の最小値と、最大値、および、y方向の最小値と、最大値である。
minX=Xh+L*LAx_min
maxX=Xh+L*LAx_max
minY=Yh+L*LAy_min
maxY=Yh+L*LAy_max ・・・(式8)
下端点のなかで、特定の範囲内で、最も小さなX値をもつ画素の(x、y)特徴点とする。特定の範囲内とは、図11に示したLAの領域であり、P3を(minX、minY),P4を(maxX,maxY)とすると、以下の式で設定される。ここで、LAx_min, LAx_max,LAy_min,LAy_maxは、(式4−2)で予めもとめていた身長を1としたときの相対的なX方向の値の最小値と、最大値、および、y方向の最小値と、最大値である。
minX=Xh+L*LAx_min
maxX=Xh+L*LAx_max
minY=Yh+L*LAy_min
maxY=Yh+L*LAy_max ・・・(式8)
<RightHand>・・・右手
下端点のなかで、最も小さなX値をもつ画素(x、y)をRightHandの特徴点とする。
下端点のなかで、最も小さなX値をもつ画素(x、y)をRightHandの特徴点とする。
<LeftHand>・・・左手
下端点のなかで、最も大きなX値をもつ画素(x、y)をLeftHandの特徴点とする。
下端点のなかで、最も大きなX値をもつ画素(x、y)をLeftHandの特徴点とする。
<RightElbowUp>・・・右ひじ上
上端点のなかで、RightElbowDownのX値に最も近い画素(x、y)をRightElbowUpの特徴点とする。
上端点のなかで、RightElbowDownのX値に最も近い画素(x、y)をRightElbowUpの特徴点とする。
<RightElbowDown>・・・右ひじ下
ひじの特徴点は、下端点のなかから、X値が小さい順に調べていき、図12に示すRightHandの特徴点(XRhand,YRhand)から、特定の範囲内に存在することを条件として特定する。まず、右腕に存在する下端点は、X値が小さいので、小さい点を順に調べていく。その場合、有効な範囲を、(XRhand,YRhand)から任意の距離内であること、かつ、脇や、肩の特徴点のX値よりも小さい範囲に限定する。
ひじの特徴点は、下端点のなかから、X値が小さい順に調べていき、図12に示すRightHandの特徴点(XRhand,YRhand)から、特定の範囲内に存在することを条件として特定する。まず、右腕に存在する下端点は、X値が小さいので、小さい点を順に調べていく。その場合、有効な範囲を、(XRhand,YRhand)から任意の距離内であること、かつ、脇や、肩の特徴点のX値よりも小さい範囲に限定する。
次に、図13に示すように、RightHandの特徴点T1と、RightArmpitの特徴点T2 との位置関係を調べ、腕の形状を決定する。たとえば、図13(b)のような場合は、下端点のなかからもっとも大きなY値をもつ点を右ひじ下の特徴点と特定し、図13(c)のような場合はもっとも小さなY値を持つ点を右ひじ下の特徴点と特定する。また、図13(a)のようなひじが伸びている場合は、左ひじ下の特徴点にはT1とT2の中間点を算出し、この点の最も近い下端点、あるいは、輪郭を形成している点を右ひじ下の特徴点とする。
<LeftElbowUp>・・・左ひじ上
上端点のなかで、LeftElbowDownのX値に最も近い画素(x、y)をLeftElbowUpの特徴点とする。
上端点のなかで、LeftElbowDownのX値に最も近い画素(x、y)をLeftElbowUpの特徴点とする。
<LeftElbowDown>・・・左ひじ下
ひじの特徴点は、下端点のなかから、X値が小さい順に調べていき、図12に示すLeftHandの特徴点(XLhand,YLhand)から、特定の範囲内に存在することを条件として特定する。まず、左腕に存在する下端点は、X値が大きいので、大きい点から順に調べていく。その場合、有効な範囲を、(XLhand,YLhand)から任意の距離内であること、かつ、脇や、肩の特徴点のX値よりも大きい範囲に限定する。次に、図14に示すように、LeftHandの特徴点TT1と、LeftArmpitの特徴点TT2との位置関係を調べ、腕の形状を決定する。たとえば、図14(b)のような場合は、下端点のなかから最も大きなY値をもつ点を左ひじ下の特徴点と特定し、図14(c)のような場合は最も小さなY値を持つ点を左ひじ下の特徴点と特定する。また、図14(a)のようなひじが伸びている場合は、左ひじ下の特徴点にはT1とT2の中間点を算出し、この点の最も近い下端点、あるいは、輪郭を形成している点を左ひじ下の特徴点とする。
ひじの特徴点は、下端点のなかから、X値が小さい順に調べていき、図12に示すLeftHandの特徴点(XLhand,YLhand)から、特定の範囲内に存在することを条件として特定する。まず、左腕に存在する下端点は、X値が大きいので、大きい点から順に調べていく。その場合、有効な範囲を、(XLhand,YLhand)から任意の距離内であること、かつ、脇や、肩の特徴点のX値よりも大きい範囲に限定する。次に、図14に示すように、LeftHandの特徴点TT1と、LeftArmpitの特徴点TT2との位置関係を調べ、腕の形状を決定する。たとえば、図14(b)のような場合は、下端点のなかから最も大きなY値をもつ点を左ひじ下の特徴点と特定し、図14(c)のような場合は最も小さなY値を持つ点を左ひじ下の特徴点と特定する。また、図14(a)のようなひじが伸びている場合は、左ひじ下の特徴点にはT1とT2の中間点を算出し、この点の最も近い下端点、あるいは、輪郭を形成している点を左ひじ下の特徴点とする。
<RightHip>・・・右腰はじ
腰の特徴点は、上端点や下端点から求めにくいので、予め求めていた平均的な腰の位置の割合Haを元に特定する。腰の特徴点のY値は、Yh+L*Haとする。ここで、Haは式1で予め求めていた平均的な腰の高さの割合である。また、腰の特徴点のX値は、Xhからマイナス方向の画素のX値を調べていき、黒から白に移り変わる点をRightHipの特徴点とする。
腰の特徴点は、上端点や下端点から求めにくいので、予め求めていた平均的な腰の位置の割合Haを元に特定する。腰の特徴点のY値は、Yh+L*Haとする。ここで、Haは式1で予め求めていた平均的な腰の高さの割合である。また、腰の特徴点のX値は、Xhからマイナス方向の画素のX値を調べていき、黒から白に移り変わる点をRightHipの特徴点とする。
<LeftHip>・・・左腰はじ
腰の特徴点のY値は、RightHipのY値と同じである。X値は、HeadのX値からプラス方向の画素のX値を調べていき、黒から白に移り変わる点をLeftHipの特徴点とする。
腰の特徴点のY値は、RightHipのY値と同じである。X値は、HeadのX値からプラス方向の画素のX値を調べていき、黒から白に移り変わる点をLeftHipの特徴点とする。
<RightKneeR,RightKneeL,LeftKneeR,LeftKneeL>・・・ひざ
ひざの特徴点のY値は、上端点や下端点から求めにくいので、予め求めていた身長に対する平均的なひざの位置の比を元に特定する。この比をKaとすると、ひざの特徴点のY値は、Yf−L*Kaとする。
ひざの特徴点のY値は、上端点や下端点から求めにくいので、予め求めていた身長に対する平均的なひざの位置の比を元に特定する。この比をKaとすると、ひざの特徴点のY値は、Yf−L*Kaとする。
次に、Y値がYf−L*Kaの値をもち、X値が1から、480までの画素のうち、白から黒へ移り変わる点を抽出し、順序と、X値の大きさから判断し、4つの特徴点を特定する。長いスカートをはいていたり、ひざがくっついている場合は、RightKneeRとRightKneeLだけを求め、LeftKneeRとLeftKneeLの値は0とする。
<RightFoot、LeftFoot>・・・右足、左足
下端点をy値の小さい順にマージする。マージした画素のうち、x値、y値ともにある任意の数(たとえば3画素)以上離れていない、連続した画素同士を集めて、いくつかのグループにする。グループごとのx値と、y値の最大値をもとめ、y値の最大値の大きい順に2つのグループを選択する。最初のグループの画素数がある任意の数Fa以上の場合は、右足と左足が接触していると判断し、両足の特徴点は同じ画素になり、グループの真ん中に位置する画素をRightFoot、LeftFootの特徴点とする。しかし、Fa画素以下の場合は、右足と、左足が離れていると判断し、まず、x値の最大値が小さいほうのグループを右足、大きい方のグループを、左足とする。それぞれのグループの真ん中に位置する画素をRightFoot、LeftFootの特徴点とする。ここで、Faは、予め求めていた足のX方向の長さの平均〔画素数〕で、例えば50である。
下端点をy値の小さい順にマージする。マージした画素のうち、x値、y値ともにある任意の数(たとえば3画素)以上離れていない、連続した画素同士を集めて、いくつかのグループにする。グループごとのx値と、y値の最大値をもとめ、y値の最大値の大きい順に2つのグループを選択する。最初のグループの画素数がある任意の数Fa以上の場合は、右足と左足が接触していると判断し、両足の特徴点は同じ画素になり、グループの真ん中に位置する画素をRightFoot、LeftFootの特徴点とする。しかし、Fa画素以下の場合は、右足と、左足が離れていると判断し、まず、x値の最大値が小さいほうのグループを右足、大きい方のグループを、左足とする。それぞれのグループの真ん中に位置する画素をRightFoot、LeftFootの特徴点とする。ここで、Faは、予め求めていた足のX方向の長さの平均〔画素数〕で、例えば50である。
ステップS7の説明
ここでは、まず、モデリング部104において、テキストファイルに出力した人体パーツ位置データを読み込み、各パーツの形状を計算し、モデリングを行い3次元の人物像を生成する。
ここでは、まず、モデリング部104において、テキストファイルに出力した人体パーツ位置データを読み込み、各パーツの形状を計算し、モデリングを行い3次元の人物像を生成する。
以下に、このモデリング手法(既存の手法)について説明する。図6は、人体の10個のパーツと、パーツ名称を示した図である。
この人体の各パーツ形状を定義する情報を、たとえば、ポリゴン群(パーツメッシュ)によって定義する。パーツメッシュは頂点座標の定義、ノーマルベクトルの定義、テクスチャ座標の定義、及び頂点の連結情報によるポリゴン定義からなる。パーツメッシュは、人体の各パーツごとに生成される。パーツメッシュの生成は特殊なモデリング手法を使って行われる。このパーツメッシュ用のモデリング手法は、ボリュームレンダリングの技術分野から導入したものである。郭面のポリゴン化に利用したアルゴリズムはマーチングキューブ(Marching Cubes)とよばれる方法である。このアルゴリズムはGE社のエンジニアによって1987年頃に開発され、既に特許されている(U.S PAT. NUMBER 4710876)。
次に、人物像生成部105において、上記ステップS5で得られた人体画像を表面映像(テクスチャ)とし、モデリングされた3次元モデルにマッピングする。
以下に、このテクスチャマッピング手法について詳しく述べる。テクスチャ設定は人体画像とステップS6で求めた人体パーツの特徴点〔位置座標〕を元に行われる。パーツメッシュのテクスチャ座標は人体パーツの特徴点〔v〕を利用して適切な値に調整される。これは、人体画像の各パーツの画像を、人体モデルの対応パーツにフィットさせるためである。以下、テクスチャ座標の調整方法を説明する。
まず、各パーツメッシュには円柱マッピングによって一旦、仮のテクスチャ座標が割り当てられる。また、人体パーツの特徴点の情報については、特徴点の座標を0〜1の範囲に規格化し、着目するパーツ四辺形の端点から基底ベクトルU'、V'が生成される(図10参照)。ここで、パーツ四辺形とは各パーツを取り囲む人体画像上の四辺形領域を指す(図10参照)。
次に、二つの基底ベクトルU(1,0)、V(0,1)が基底ベクトルU'、V'に変換されるような変換行列Mを求め、円柱マッピングによって生成された全頂点のテクスチャ座標に対しMによる変換を施す。これによって一パーツについての適切なテクスチャ座標が生成される。このような処理を全てのパーツに対して行うことにより人体モデルに対する適切なテクスチャマッピングが実現できる。
ステップS8の説明
ここでは、ステップS7で生成した3次元の人物像を、画像表示部106においてディスプレイなどに表示する。
ここでは、ステップS7で生成した3次元の人物像を、画像表示部106においてディスプレイなどに表示する。
以上説明したように、本実施形態によれば、マウスボタンを1回クリックするだけで、瞬時に撮像し、抽出、人体パーツ認識、画像表示までのすべての処理を、自動的に行う手段を具備することにより、熟練者や特別なオペレータ以外の一般ユーザや、コンピュータの扱いになれていないユーザであっても、簡単に操作し実行することが可能である。また、特別なスタジオ設備や、カラー3次元デジタイザのような高価な入力機器を使わなくても、ビデオカメラからの入力だけで、3次元モデル生成に必要な、人体の各パーツの映像と、形状の双方の情報を得ることができるので、対象物のリアルな像を、仮想空間に、実時間で再現することが可能となる。
よって、特別な照明やシステムなどを持たない美術館やイベント会場などでも、パソコン1台とその周辺機器を用意するだけで、容易に体験者一人一人に特化した3次元像を再現することができる。
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、プログラムコード自体及びそのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(基本システム或いはオペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
101 ビデオカメラ
102 映像入力部
103 人体パーツ認識部
104 モデリング部
105 人物像生成部
106 画像表示部
102 映像入力部
103 人体パーツ認識部
104 モデリング部
105 人物像生成部
106 画像表示部
Claims (3)
- 被写体をビデオカメラで撮影し、コンピュータ内に2次元画像として取り込む手段と、
2次元画像を画像処理する手段と、
該2次元画像から、顔、手、足及び胴体を含む人体パーツを自動的に識別する手段とを備えることを特徴とする人体パーツ自動分割装置。 - 前記人体パーツを自動的に識別する手段は、予め、人間の各部位の相対的な位置関係を算出してパターン化しておくことにより、頭、うで、足及び胴を含む人体パーツの認識度を高めることを特徴とする請求項1に記載の人体パーツ自動分割装置。
- 被写体をビデオカメラで撮影し、コンピュータ内に2次元画像として取り込むステップと、
2次元画像を画像処理するステップと、
該2次元画像から、顔、手、足及び胴体を含む人体パーツを自動的に識別するステップとを含むことを特徴とする人体パーツ自動分割方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004159700A JP2005339363A (ja) | 2004-05-28 | 2004-05-28 | 人体パーツ自動分割装置及び人体パーツ自動分割方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004159700A JP2005339363A (ja) | 2004-05-28 | 2004-05-28 | 人体パーツ自動分割装置及び人体パーツ自動分割方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005339363A true JP2005339363A (ja) | 2005-12-08 |
Family
ID=35492838
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004159700A Pending JP2005339363A (ja) | 2004-05-28 | 2004-05-28 | 人体パーツ自動分割装置及び人体パーツ自動分割方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005339363A (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008181423A (ja) * | 2007-01-25 | 2008-08-07 | Fujitsu Ten Ltd | 歩行者認識装置および歩行者認識方法 |
JP2010134901A (ja) * | 2008-12-08 | 2010-06-17 | Ind Technol Res Inst | 物体端の位置決め方法及びシステム |
US8023701B2 (en) | 2006-07-04 | 2011-09-20 | Fujifilm Corporation | Method, apparatus, and program for human figure region extraction |
US8041081B2 (en) | 2006-06-28 | 2011-10-18 | Fujifilm Corporation | Method, apparatus, and program for human figure region extraction |
US9866796B2 (en) | 2013-08-27 | 2018-01-09 | Olympus Corporation | Imaging apparatus, imaging method, and computer-readable recording medium |
JP2020027406A (ja) * | 2018-08-10 | 2020-02-20 | 株式会社Ntc | 測定システム、測定方法、測定サーバおよび測定プログラム |
CN111402360A (zh) * | 2020-03-13 | 2020-07-10 | 北京奇艺世纪科技有限公司 | 生成人体模型的方法、装置、计算机设备和存储介质 |
-
2004
- 2004-05-28 JP JP2004159700A patent/JP2005339363A/ja active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8041081B2 (en) | 2006-06-28 | 2011-10-18 | Fujifilm Corporation | Method, apparatus, and program for human figure region extraction |
US8023701B2 (en) | 2006-07-04 | 2011-09-20 | Fujifilm Corporation | Method, apparatus, and program for human figure region extraction |
JP2008181423A (ja) * | 2007-01-25 | 2008-08-07 | Fujitsu Ten Ltd | 歩行者認識装置および歩行者認識方法 |
JP2010134901A (ja) * | 2008-12-08 | 2010-06-17 | Ind Technol Res Inst | 物体端の位置決め方法及びシステム |
US8396300B2 (en) | 2008-12-08 | 2013-03-12 | Industrial Technology Research Institute | Object-end positioning method and system |
US9866796B2 (en) | 2013-08-27 | 2018-01-09 | Olympus Corporation | Imaging apparatus, imaging method, and computer-readable recording medium |
JP2020027406A (ja) * | 2018-08-10 | 2020-02-20 | 株式会社Ntc | 測定システム、測定方法、測定サーバおよび測定プログラム |
JP7126653B2 (ja) | 2018-08-10 | 2022-08-29 | 株式会社Ntc | 測定システム、測定方法、測定サーバおよび測定プログラム |
CN111402360A (zh) * | 2020-03-13 | 2020-07-10 | 北京奇艺世纪科技有限公司 | 生成人体模型的方法、装置、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1883052B1 (en) | Generating images combining real and virtual images | |
US9348950B2 (en) | Perceptually guided capture and stylization of 3D human figures | |
JP4434890B2 (ja) | 画像合成方法及び装置 | |
JP6587421B2 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
JP4473754B2 (ja) | 仮想試着装置 | |
JP2019510297A (ja) | ユーザの真実の人体モデルへの仮想的な試着 | |
KR101794731B1 (ko) | 2차원 캐릭터 그림데이터를 애니메이션이 가능한 3차원 모델로 변형하는 방법 및 장치 | |
JP5299173B2 (ja) | 画像処理装置および画像処理方法、並びにプログラム | |
JP4246516B2 (ja) | 人物動画像生成システム | |
JPWO2006049147A1 (ja) | 三次元形状推定システム及び画像生成システム | |
JP2019096113A (ja) | キーポイントデータに関する加工装置、方法及びプログラム | |
CN110147737B (zh) | 用于生成视频的方法、装置、设备和存储介质 | |
JP2019028509A (ja) | 検出装置、検出システム、画像処理装置、検出方法、画像処理プログラム、画像表示方法、及び画像表示システム | |
WO2020134925A1 (zh) | 人脸图像的光照检测方法、装置、设备和存储介质 | |
JP2009003813A (ja) | 手指形状推定装置及び手指形状推定方法、並びにプログラム | |
JP6640294B1 (ja) | 複合現実システム、プログラム、携帯端末装置、及び方法 | |
JP2005339363A (ja) | 人体パーツ自動分割装置及び人体パーツ自動分割方法 | |
JP2000194876A (ja) | 仮想空間共有装置 | |
JP2015212891A (ja) | 画像処理装置及び画像処理装置の制御方法 | |
JP2010033397A (ja) | 画像合成装置および方法 | |
KR20200117685A (ko) | 가상 객체 인식 방법, 상기 가상 객체를 이용한 증강 현실 콘텐츠 제공 방법 및 이를 위한 증강 방송 시스템 | |
JP2011210118A (ja) | 顔画像合成装置 | |
JPH10198824A (ja) | 映像生成処理装置及びその装置で用いられる構造化データを作成する構造化データ作成装置 | |
JP2005107968A (ja) | 画像表示装置及び方法並びに情報処理方法 | |
JP4623320B2 (ja) | 三次元形状推定システム及び画像生成システム |