(57)【要約】【課題】静的物体だけではなく動的物体に対しても正則性を持つ３Ｄメッシュを実時間でモデリングすることができ、プログレッシブ性を併せ持つ３次元モデリング・プログラム等を提供する。【解決手段】所定の解像度の下で終了時刻等又は打切られるまで物体２０の距離画像３０等を複数のカメラ２５ａ等により各々取得させる。解像度を段階的に増大させながら所定の時間が経過するまで各距離画像３０等により物体２０の３次元メッシュ・モデルを作成する。まず複数の距離画像３０等の画素値を３Ｄ空間上に逆射影して物体２０上に表面点を定義し、表面点を仮想円筒４０上に射影する。仮想円筒４０を２次元空間の仮想平面Ｐへ展開し、所定のサイズの矩形の画素の中心点の距離値を周囲の距離値を補間して求める。各中心点を三角形でつなぐことにより３Ｄモデルを三角形化する。仮想平面Ｐを仮想円筒４０へ戻し中心点の距離値を物体２０上へ逆射影する。【選択図】  図１
2004302524.tif 000002
【特許請求の範囲】
【請求項１】
物体の周囲に配置された複数の撮像装置を用いて該物体の３次元モデルを作成する３次元モデリング・プログラムであって、該複数の撮像装置により各々取得させた、該物体までの距離を画素値として有する距離画像を各撮像装置に応じて記録した距離画像記録部と、所定の解像度を記録した初期解像度記録部とを用いるものであり、コンピュータに、
前記距離画像記録部に記録させた各距離画像の対応点を決定させる対応点決定ステップ、
前記物体の距離画像を前記初期解像度記録部に記録された所定の解像度および前記対応点決定ステップで決定された対応点の下で前記複数の撮像装置により各々取得させると共に、取得させた時刻を時刻記録部に記録させ、該所定の解像度を解像度記録部に記録させる距離画像取得ステップ、
前記距離画像取得ステップで取得させた各距離画像を前記距離画像記録部に記録させる距離画像記録ステップ、
前記解像度記録部に記録された解像度の下で前記距離画像記録部に記録された各距離画像に基づき、前記物体の３次元メッシュ・モデルを作成させる３次元メッシュ・モデリング・ステップ、
前記時刻記録部に記録された時刻から所定の時間が経過していない場合、前記解像度記録部に記録された解像度を所定の割合で増加させて前記３次元メッシュ・モデリング・ステップから繰返して実行させ、前記時刻記録部に記録された時刻から所定の時間が経過し且つ所定の終了時刻を越えていない場合、前記距離画像取得ステップから繰返して実行させるステップ
を実行させるための３次元モデリング・プログラム。
【請求項２】
請求項１記載の３次元モデリング・プログラムにおいて、前記３次元メッシュ・モデリング・ステップは、
前記距離画像記録部に記録された各距離画像の各画素値を仮想３次元空間内で逆射影することにより得られる各表面点の３次元座標値を求める表面点作成ステップと、
前記表面点作成ステップで求められた各表面点の３次元座標値を表面点記録部に記録する表面点記録ステップと、
前記表面点記録部に記録された３次元座標値を有する各表面点から仮想３次元空間に形成された仮想立体上へ射影することにより得られる各３次元射影点への３次元射影ベクトルを求める３次元射影点作成ステップと、
前記３次元射影点作成ステップで求められた各３次元射影点への３次元射影ベクトルを、各３次元射影点毎に、該３次元射影点と対応する表面点との間の３次元距離値を示す属性値と共に３次元射影点記録部に記録する３次元射影点記録ステップと、
前記３次元射影点記録部に記録された各３次元射影点毎の３次元射影ベクトルを前記仮想立体を切断して展開された仮想平面上へ変換して、２次元変換点への２次元変換ベクトルとして求める２次元変換点作成ステップと、
前記２次元変換点作成ステップで求められた各２次元変換点への２次元変換ベクトルを、各２次元変換点毎に前記３次元射影点記録部に記録された前記属性値と共に２次元変換点記録部に記録する２次元変換点記録ステップと、
前記仮想平面上に所定のサイズの画素を設定し、各画素の中心点の２次元座標値を求める画素中心点作成ステップと、
前記画素中心点作成ステップで求められた各画素の中心点の２次元座標値と前記２次元変換点記録部に記録された２次元変換点の２次元変換ベクトルとに基づいて、所定の２次元距離値の範囲内における所定の数の２次元変換点を求め、該所定の数の２次元変換点について前記２次元変換点記録部に記録された前記属性値に基づき、各画素の中心点の補間距離値を求める補間距離値作成ステップと、前記画素中心点作成ステップで求められた各画素の中心点の２次元座標値を、前記補間距離値作成ステップで求められた各画素の中心点の補間距離値と共に画素中心点記録部に記録する画素中心点記録ステップと、
前記画素中心記録部に記録された各画素の中心点の２次元座標値を、前記仮想立体上の３次元座標値へ逆変換して各画素の中心点の３次元逆変換点を求める画素中心３次元逆変換点作成ステップと、
前記画素中心３次元逆変換点作成ステップで求められた各画素の中心点の３次元逆変換点の３次元座標値を、前記画素中心点記録部に記録された各画素の中心点の補間距離値と共に画素中心３次元逆変換点記録部に記録する画素中心３次元逆変換点記録ステップと、
前記画素中心３次元逆変換点記録部に記録された各画素の中心点の補間距離値を仮想３次元空間内で逆射影することにより得られる各画素の中心点に対応する各表面点の３次元座標値を求める画素中心対応表面点作成ステップと、
前記画素中心対応表面点作成ステップで求められた各画素の中心点に対応する各表面点の３次元座標値を画素中心対応表面点記録部に記録する画素中心対応表面点記録ステップとを備えたことを特徴とする３次元モデリング・プログラム。
【請求項３】
請求項２記載の３次元モデリング・プログラムにおいて、前記３次元射影点記録ステップは、前記解像度記録部に記録された解像度が前記初期解像度記録部に記録された所定の解像度と等しい場合、前記３次元射影点作成ステップで求められた各３次元射影点への３次元射影ベクトルを、各３次元射影点毎に、該３次元射影点に対応する表面点の３次元座標値を示す属性値と共に３次元射影点記録部に記録し、
前記３次元射影点作成ステップは、前記解像度記録部に記録された解像度が前記初期解像度記録部に記録された所定の解像度より大きい場合、
前記表面点記録部に既に記録された３次元座標値を有する従前の表面点に関しては、該従前の表面点に対応する従前の３次元射影点毎に既に前記３次元射影点記録部に記録された従前の３次元射影ベクトルを用い、解像度の増加により新たに前記表面点記録部に記録された３次元座標値を有する新表面点に関しては、新表面点の近傍における従前の表面点に対応する該従前の３次元射影ベクトルの前記属性値に基づいて新たな３次元射影ベクトルを求めることを特徴とする３次元モデリング・プログラム。
【請求項４】
請求項２または３記載の３次元モデリング・プログラムにおいて、前記３次元射影点作成ステップは、前記仮想立体が仮想円筒または仮想円錐の場合、表面点に対応する画素を含む距離画像を取得した撮像装置と物体との間の空間位置情報が記録された空間位置情報部をさらに備え、
仮想円筒または仮想円錐の中心線を仮想空間上で作成する仮想立体作成ステップと、
前記仮想立体作成ステップで作成された中心線に垂直で且つ前記表面点記録部に記録された表面点を通る仮想円筒または仮想円錐を切断する平面であって周囲が該仮想円筒または仮想円錐の周囲と一致する切断平面を作成する切断平面作成ステップと、
前記切断平面作成ステップで作成された切断平面の中心点の座標値を求める中心点座標値作成ステップと、
前記中心点座標値作成ステップで求められた中心点の座標値と前記表面点記録部に記録された前記表面点の座標値とを結ぶ線分が前記切断平面の周囲と交わる２点を求める２点作成ステップと、
前記空間位置情報部に記録された空間位置情報に基づき、前記表面点記録部に記録された前記表面点に対応する画素を含む距離画像に対応する仮想平面を仮想空間上で作成する仮想平面作成ステップと、
前記仮想平面作成ステップで作成された仮想平面における前記表面点に対応する画素の座標値を求める画素座標値作成ステップと、
前記画素座標値作成ステップで求められた画素の座標値から前記中心点座標値作成ステップで求められた中心点の座標値へ向かう画素ベクトルと、前記表面点記録部に記録された前記表面点の座標値から前記２点作成ステップで求められた２点への２つの表面点ベクトルを求めるベクトル作成ステップと、
前記ベクトル作成ステップで求められた画素ベクトルと前記２つの表面点ベクトルの各々との間の角度を比較し、小さい角度に対応する表面点ベクトルを３次元射影ベクトルとするステップとを備えたことを特徴とする３次元モデリング・プログラム。
【請求項５】
請求項２または３記載の３次元モデリング・プログラムにおいて、前記３次元射影点作成ステップは、前記仮想立体が仮想球の場合、
仮想球の中心点の座標値を求める中心点座標値作成ステップと、
前記中心点座標値作成ステップで求められた中心点の座標値と前記表面点記録部に記録された前記表面点の座標値とを結ぶ線分上において、該中心点の座標値から該表面点へ向かう方向のベクトルを３次元射影ベクトルとするステップとを備えたことを特徴とする３次元モデリング・プログラム。
【請求項６】
物体の周囲に配置された複数の撮像装置を用いて該物体の３次元モデルを作成する処理を制御する３次元モデリング制御プログラムであって、該複数の撮像装置により各々取得させた、該物体までの距離を画素値として有する距離画像を各撮像装置に応じて記録した距離画像記録部と、所定の解像度を記録した初期解像度記録部とを用いるものであり、各撮像装置を用いて該物体の３次元モデルを作成する各距離画像記録部に対応した複数のコンピュータと、該複数のコンピュータの処理結果を統合する統合コンピュータとを有し、
３次元モデリング制御プログラムを実行するコンピュータに、
前記距離画像記録部に記録させた各距離画像の対応点を決定させる対応点決定ステップを実行させ、
前記複数のコンピュータの各々に、
前記物体の距離画像を前記初期解像度記録部に記録された所定の解像度および前記対応点決定ステップで決定された対応点の下で前記撮像装置により取得させると共に、取得させた時刻を時刻記録部に記録させ、該所定の解像度を解像度記録部に記録させる距離画像取得ステップ、
前記距離画像取得ステップで取得させた距離画像を前記距離画像記録部に記録させる距離画像記録ステップ、
前記距離画像記録部に記録された距離画像の各画素値を仮想３次元空間内で逆射影することにより得られる各表面点の３次元座標値を求める表面点作成ステップ、
前記表面点作成ステップで求められた各表面点の３次元座標値を表面点記録部に記録する表面点記録ステップ、
前記表面点記録部に記録された３次元座標値を有する各表面点から仮想３次元空間に形成された仮想立体上へ射影することにより得られる各３次元射影点への３次元射影ベクトルを求める３次元射影点作成ステップ、
前記３次元射影点作成ステップで求められた各３次元射影点への３次元射影ベクトルを、各３次元射影点毎に、該３次元射影点と対応する表面点との間の３次元距離値を示す属性値と共に３次元射影点記録部に記録する３次元射影点記録ステップを実行させ、
前記統合コンピュータに、
前記３次元射影点記録部に記録された各３次元射影点毎の３次元射影ベクトルを前記仮想立体を切断して展開された仮想平面上へ変換して、２次元変換点への２次元変換ベクトルとして求める２次元変換点作成ステップ、
前記２次元変換点作成ステップで求められた各２次元変換点への２次元変換ベクトルを、各２次元変換点毎に前記３次元射影点記録部に記録された前記属性値と共に２次元変換点記録部に記録する２次元変換点記録ステップ、
前記仮想平面上に所定のサイズの画素を設定し、各画素の中心点の２次元座標値を求める画素中心点作成ステップ、
前記画素中心点作成ステップで求められた各画素の中心点の２次元座標値と前記２次元変換点記録部に記録された２次元変換点の２次元変換ベクトルとに基づいて、所定の２次元距離値の範囲内における所定の数の２次元変換点を求め、該所定の数の２次元変換点について前記２次元変換点記録部に記録された前記属性値に基づき、各画素の中心点の補間距離値を求める補間距離値作成ステップ、前記画素中心点作成ステップで求められた各画素の中心点の２次元座標値を、前記補間距離値作成ステップで求められた各画素の中心点の補間距離値と共に画素中心点記録部に記録する画素中心点記録ステップ、
前記画素中心記録部に記録された各画素の中心点の２次元座標値を、前記仮想立体上の３次元座標値へ逆変換して各画素の中心点の３次元逆変換点を求める画素中心３次元逆変換点作成ステップ、
前記画素中心３次元逆変換点作成ステップで求められた各画素の中心点の３次元逆変換点の３次元座標値を、前記画素中心点記録部に記録された各画素の中心点の補間距離値と共に画素中心３次元逆変換点記録部に記録する画素中心３次元逆変換点記録ステップ、
前記画素中心３次元逆変換点記録部に記録された各画素の中心点の補間距離値を仮想３次元空間内で逆射影することにより得られる各画素の中心点に対応する各表面点の３次元座標値を求める画素中心対応表面点作成ステップ、
前記画素中心対応表面点作成ステップで求められた各画素の中心点に対応する各表面点の３次元座標値を画素中心対応表面点記録部に記録する画素中心対応表面点記録ステップを実行させ、
前記時刻記録部に記録された時刻から所定の時間が経過していない場合、前記解像度記録部に記録された解像度を所定の割合で増加させて、前記複数のコンピュータの各々に前記表面点作成ステップから繰返して実行させ、前記時刻記録部に記録された時刻から所定の時間が経過し且つ所定の終了時刻を越えていない場合、前記複数のコンピュータの各々に前記距離画像取得ステップから繰返して実行させるステップ
を実行させるための３次元モデリング制御プログラム。
【請求項７】
物体の周囲に配置された複数の撮像装置を用いて作成された該物体の３次元モデリング・データを伝送する３次元モデリング・データ伝送プログラムであって、該複数の撮像装置により各々取得させた、該物体までの距離を画素値として有する距離画像を各撮像装置に応じて記録した距離画像記録部と、所定の解像度を記録した初期解像度記録部とを用いるものであり、コンピュータに、
前記距離画像記録部に記録させた各距離画像の対応点を決定させる対応点決定ステップ、
前記物体の距離画像を前記初期解像度記録部に記録された所定の解像度および前記対応点決定ステップで決定された対応点の下で前記複数の撮像装置により各々取得させると共に、取得させた時刻を時刻記録部に記録させ、該所定の解像度を解像度記録部に記録させる距離画像取得ステップ、
前記距離画像取得ステップで取得させた各距離画像を前記距離画像記録部に記録させる距離画像記録ステップ、
前記距離画像記録部に記録された各距離画像の各画素値を仮想３次元空間内で逆射影することにより得られる各表面点の３次元座標値を求める表面点作成ステップ、
前記表面点作成ステップで求められた各表面点の３次元座標値を表面点記録部に記録する表面点記録ステップ、
前記表面点記録部に記録された３次元座標値を有する各表面点から仮想３次元空間に形成された仮想立体上へ射影することにより得られる各３次元射影点への３次元射影ベクトルを求める３次元射影点作成ステップ、
前記３次元射影点作成ステップで求められた各３次元射影点への３次元射影ベクトルを、各３次元射影点毎に、該３次元射影点と対応する表面点との間の３次元距離値を示す属性値と共に３次元射影点記録部に記録する３次元射影点記録ステップ、
前記３次元射影点記録部に記録された各３次元射影点毎の３次元射影ベクトルを前記仮想立体を切断して展開された仮想平面上へ変換して、２次元変換点への２次元変換ベクトルとして求める２次元変換点作成ステップ、
前記２次元変換点作成ステップで求められた各２次元変換点への２次元変換ベクトルを、各２次元変換点毎に前記３次元射影点記録部に記録された前記属性値と共に２次元変換点記録部に記録する２次元変換点記録ステップ、
前記仮想平面上に所定のサイズの画素を設定し、各画素の中心点の２次元座標値を求める画素中心点作成ステップ、
前記画素中心点作成ステップで求められた各画素の中心点の２次元座標値と前記２次元変換点記録部に記録された２次元変換点の２次元変換ベクトルとに基づいて、所定の２次元距離値の範囲内における所定の数の２次元変換点を求め、該所定の数の２次元変換点について前記２次元変換点記録部に記録された前記属性値に基づき、各画素の中心点の補間距離値を求める補間距離値作成ステップ、
前記画素中心点作成ステップで求められた各画素の中心点の２次元座標値を、前記補間距離値作成ステップで求められた各画素の中心点の補間距離値と共に画素中心点記録部に記録する画素中心点記録ステップ、
前記時刻記録部に記録された時刻から所定の時間が経過していない場合、前記解像度記録部に記録された解像度を所定の割合で増加させて前記表面点作成ステップから繰返して実行させ、前記時刻記録部に記録された時刻から所定の時間が経過し且つ所定の終了時刻を越えていない場合、前記距離画像取得ステップから繰返して実行させ、前記時刻記録部に記録された時刻から所定の時間が経過し且つ所定の終了時刻を越えた場合、前記画素中心点記録部に記録された各画素の中心点の２次元座標値と該各画素の中心点の補間距離値とを含む３次元モデリング・データを伝送するステップ
を実行させるための３次元モデリング・データ伝送プログラム。
【請求項８】
請求項１ないし７のいずれかに記載のプログラムを記録したコンピュータ読取り可能な記録媒体。
【請求項９】
物体の周囲に配置された複数の撮像装置を用いて該物体の３次元モデルを作成する３次元モデリング方法であって、該複数の撮像装置により各々取得させた、該物体までの距離を画素値として有する距離画像を各撮像装置に応じて記録した距離画像記録部と、所定の解像度を記録した初期解像度記録部とを用いるものであり、コンピュータに、
前記距離画像記録部に記録させた各距離画像の対応点を決定させる対応点決定ステップと、
前記物体の距離画像を前記初期解像度記録部に記録された所定の解像度および前記対応点決定ステップで決定された対応点の下で前記複数の撮像装置により各々取得させると共に、取得させた時刻を時刻記録部に記録させ、該所定の解像度を解像度記録部に記録させる距離画像取得ステップと、
前記距離画像取得ステップで取得させた各距離画像を前記距離画像記録部に記録させる距離画像記録ステップと、
前記解像度記録部に記録された解像度の下で前記距離画像記録部に記録された各距離画像に基づき、前記物体の３次元メッシュ・モデルを作成させる３次元メッシュ・モデリング・ステップと、
前記時刻記録部に記録された時刻から所定の時間が経過していない場合、前記解像度記録部に記録された解像度を所定の割合で増加させて前記３次元メッシュ・モデリング・ステップから繰返して実行させ、前記時刻記録部に記録された時刻から所定の時間が経過し且つ所定の終了時刻を越えていない場合、前記距離画像取得ステップから繰返して実行させるステップと
を実行させることを特徴とする３次元モデリング方法。
【請求項１０】
請求項９記載の３次元モデリング方法において、前記３次元メッシュ・モデリング・ステップは、
前記距離画像記録部に記録された各距離画像の各画素値を仮想３次元空間内で逆射影することにより得られる各表面点の３次元座標値を求める表面点作成ステップと、
前記表面点作成ステップで求められた各表面点の３次元座標値を表面点記録部に記録する表面点記録ステップと、
前記表面点記録部に記録された３次元座標値を有する各表面点から仮想３次元空間に形成された仮想立体上へ射影することにより得られる各３次元射影点への３次元射影ベクトルを求める３次元射影点作成ステップと、
前記３次元射影点作成ステップで求められた各３次元射影点への３次元射影ベクトルを、各３次元射影点毎に、該３次元射影点と対応する表面点との間の３次元距離値を示す属性値と共に３次元射影点記録部に記録する３次元射影点記録ステップと、
前記３次元射影点記録部に記録された各３次元射影点毎の３次元射影ベクトルを前記仮想立体を切断して展開された仮想平面上へ変換して、２次元変換点への２次元変換ベクトルとして求める２次元変換点作成ステップと、
前記２次元変換点作成ステップで求められた各２次元変換点への２次元変換ベクトルを、各２次元変換点毎に前記３次元射影点記録部に記録された前記属性値と共に２次元変換点記録部に記録する２次元変換点記録ステップと、
前記仮想平面上に所定のサイズの画素を設定し、各画素の中心点の２次元座標値を求める画素中心点作成ステップと、
前記画素中心点作成ステップで求められた各画素の中心点の２次元座標値と前記２次元変換点記録部に記録された２次元変換点の２次元変換ベクトルとに基づいて、所定の２次元距離値の範囲内における所定の数の２次元変換点を求め、該所定の数の２次元変換点について前記２次元変換点記録部に記録された前記属性値に基づき、各画素の中心点の補間距離値を求める補間距離値作成ステップと、前記画素中心点作成ステップで求められた各画素の中心点の２次元座標値を、前記補間距離値作成ステップで求められた各画素の中心点の補間距離値と共に画素中心点記録部に記録する画素中心点記録ステップと、
前記画素中心記録部に記録された各画素の中心点の２次元座標値を、前記仮想立体上の３次元座標値へ逆変換して各画素の中心点の３次元逆変換点を求める画素中心３次元逆変換点作成ステップと、
前記画素中心３次元逆変換点作成ステップで求められた各画素の中心点の３次元逆変換点の３次元座標値を、前記画素中心点記録部に記録された各画素の中心点の補間距離値と共に画素中心３次元逆変換点記録部に記録する画素中心３次元逆変換点記録ステップと、
前記画素中心３次元逆変換点記録部に記録された各画素の中心点の補間距離値を仮想３次元空間内で逆射影することにより得られる各画素の中心点に対応する各表面点の３次元座標値を求める画素中心対応表面点作成ステップと、
前記画素中心対応表面点作成ステップで求められた各画素の中心点に対応する各表面点の３次元座標値を画素中心対応表面点記録部に記録する画素中心対応表面点記録ステップとを備えたことを特徴とする３次元モデリング方法。
【請求項１１】
請求項１０記載の３次元モデリング方法において、前記３次元射影点記録ステップは、前記解像度記録部に記録された解像度が前記初期解像度記録部に記録された所定の解像度と等しい場合、前記３次元射影点作成ステップで求められた各３次元射影点への３次元射影ベクトルを、各３次元射影点毎に、該３次元射影点に対応する表面点の３次元座標値を示す属性値と共に３次元射影点記録部に記録し、
前記３次元射影点作成ステップは、前記解像度記録部に記録された解像度が前記初期解像度記録部に記録された所定の解像度より大きい場合、
前記表面点記録部に既に記録された３次元座標値を有する従前の表面点に関しては、該従前の表面点に対応する従前の３次元射影点毎に既に前記３次元射影点記録部に記録された従前の３次元射影ベクトルを用い、解像度の増加により新たに前記表面点記録部に記録された３次元座標値を有する新表面点に関しては、新表面点の近傍における従前の表面点に対応する該従前の３次元射影ベクトルの前記属性値に基づいて新たな３次元射影ベクトルを求めることを特徴とする３次元モデリング方法。
【請求項１２】
請求項１０または１１記載の３次元モデリング方法において、前記３次元射影点作成ステップは、前記仮想立体が仮想円筒または仮想円錐の場合、表面点に対応する画素を含む距離画像を取得した撮像装置と物体との間の空間位置情報が記録された空間位置情報部をさらに備え、
仮想円筒または仮想円錐の中心線を仮想空間上で作成する仮想立体作成ステップと、
前記仮想立体作成ステップで作成された中心線に垂直で且つ前記表面点記録部に記録された表面点を通る仮想円筒または仮想円錐を切断する平面であって周囲が該仮想円筒または仮想円錐の周囲と一致する切断平面を作成する切断平面作成ステップと、
前記切断平面作成ステップで作成された切断平面の中心点の座標値を求める中心点座標値作成ステップと、
前記中心点座標値作成ステップで求められた中心点の座標値と前記表面点記録部に記録された前記表面点の座標値とを結ぶ線分が前記切断平面の周囲と交わる２点を求める２点作成ステップと、
前記空間位置情報部に記録された空間位置情報に基づき、前記表面点記録部に記録された前記表面点に対応する画素を含む距離画像に対応する仮想平面を仮想空間上で作成する仮想平面作成ステップと、
前記仮想平面作成ステップで作成された仮想平面における前記表面点に対応する画素の座標値を求める画素座標値作成ステップと、
前記画素座標値作成ステップで求められた画素の座標値から前記中心点座標値作成ステップで求められた中心点の座標値へ向かう画素ベクトルと、前記表面点記録部に記録された前記表面点の座標値から前記２点作成ステップで求められた２点への２つの表面点ベクトルを求めるベクトル作成ステップと、
前記ベクトル作成ステップで求められた画素ベクトルと前記２つの表面点ベクトルの各々との間の角度を比較し、小さい角度に対応する表面点ベクトルを３次元射影ベクトルとするステップとを備えたことを特徴とする３次元モデリング方法。
【請求項１３】
請求項１０または１１記載の３次元モデリング方法において、前記３次元射影点作成ステップは、前記仮想立体が仮想球の場合、
仮想球の中心点の座標値を求める中心点座標値作成ステップと、
前記中心点座標値作成ステップで求められた中心点の座標値と前記表面点記録部に記録された前記表面点の座標値とを結ぶ線分上において、該中心点の座標値から該表面点へ向かう方向のベクトルを３次元射影ベクトルとするステップとを備えたことを特徴とする３次元モデリング方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、３次元モデリング・プログラム等に関し、特に物体の周囲に配置された複数の撮像装置を用いて該物体の３次元モデルを作成する３次元モデリング・プログラム、物体の３次元モデルを作成する処理を制御する３次元モデリング制御プログラム、物体の３次元モデリング・データを伝送する３次元モデリング・データ伝送プログラム等に関する。
【０００２】
【従来の技術】
【非特許文献１】Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ＩＥＥＥ  Ｖｉｓｕａｌｉｚａｔｉｏｎ  ’９７，  Ｐｈｏｅｎｉｘ，  Ａｒｉｚｏｎａ，  Ｏｃｔｏｂｅｒ  １９９７，  ｐｐ．  ２７７−２８３，  ５５２
【非特許文献２】延原章平、和田俊和、松山隆司、「弾性メッシュモデルを用いた多視点画像からの高精度３次元形状復元」、情報処理学会  ＣＶＩＭ研究会論文誌、Ｖｏｌ．  ４３，  ＳＩＧ１１（ＣＶＩＭ５），  ｐｐ．５３−６３，  ２００２．１２
【非特許文献３】安居院猛、中嶋正之共著、「コンピュータグラフィックス」、ｐｐ．１０７−１０９，  昭晃堂
【非特許文献４】Ｌｅｅ，  Ａ．Ｗ．Ｆ．，  Ｓｗｅｌｄｅｎｓ，  Ｗ．，  Ｓｃｈｒｏｄｅｒ，  Ｐ．，  Ｃｏｗｓａｒ，  Ｌ．，  ａｎｄ  Ｄｏｂｋｉｎ，  Ｄ．，“ＭＡＰＳ  ：  Ｍｕｌｔｉｒｅｓｏｌｕｔｉｏｎ  Ａｄａｐｔｉｖｅ  Ｐａｒａｍｅｔｅｒｉｚａｔｉｏｎ  ｏｆ  Ｓｕｒｆａｃｅｓ．”，Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ＳＩＧＧＲＡＰＨ  ９８，  ｐｐ．９５−１０４
【特許文献１】特開２００２−３２４２４６号公報
【特許文献２】特開２００１−６７４９５号公報
【０００３】
従来、物体の３次元（以下、「３Ｄ」と略す）モデルを編集、獲得および表示する技術はエンターテインメントまたは医療の分野等で主に発展してきた。近年の半導体技術の進歩およびネットワークにおける伝送速度の高速化に伴い、テキスト、音声および画像に続くディジタルコンテンツとしての３Ｄモデルの需要は更に高まってきている。この需要の高まりに伴い、モデリングおよびレンダリングを中心とした様々な関連技術の研究が盛んに進められている。一般に３Ｄモデルには様々な表現方法がある。例えば、ボクセルの集合体として再構成した３Ｄ離散モデルであるヴォリュームモデル、幾何モデルの中で３Ｄ形状を立体によって表すソリッドモデル、自由曲面をスプライン曲線による曲面パッチの多面体で近似するスプラインパッチ等が挙げられる。
【０００４】
図１８は、頂点と三角形とで物体（オブジェクト）の表面を近似した３Ｄメッシュ（ｍｅｓｈ）モデル（以下、「３Ｄメッシュ」と略す）を例示する。図１８に示されるように、３Ｄメッシュは物体の表面を三角形等の多角形のポリゴン面で近似しており、高精細なモデルおよびアニメーション等を比較的簡単に表現できるため広く用いられている。
【０００５】
ここで、３Ｄメッシュの正則性（ｒｅｇｕｌａｒｉｔｙ）および非正則性（ｉｒｒｅｇｕｌａｒｉｔｙ）について説明する。一般に、幾何情報は式１で示されるその頂点の３次元座標Ｖｉと三角形がもつ頂点のインデックスの集合（ｐ，ｑ，ｒ）とにより構成される。式１でｘｉ、ｙｉ、ｚｉはｘｙｚ座標における座標値を示し、Ｒ３は３Ｄ空間を示し、Ｎは頂点の数を示す。頂点インデックスの集合を考慮することができるが、本明細書ではこれ以上は立ち入らないこととする。
【０００６】
【数１】
2004302524.tif 000003
【０００７】
すべての頂点がｋ個の辺を持つ（頂点の次数がｋであるという）ものをｋ正則メッシュ（ｋ−ｒｅｇｕｌａｒ  ｍｅｓｈｅｓ）または単に正則メッシュと呼び、頂点が任意の数の次数を持つものを非正則メッシュと呼ぶ。またほとんどすべての頂点が正則であるものを正則メッシュと区別して半正則メッシュ（ｓｅｍｉ−ｒｅｇｕｌａｒ  ｍｅｓｈｅｓ）と呼ぶことがあるが、本明細書では３Ｄメッシュの境界部分以外のすべての頂点が正則となる場合、単に正則メッシュと呼ぶことにする。図１９は正則メッシュと非正則メッシュとを例示する。図１９（Ａ）に示されるように、頂点と三角形とからなる３Ｄメッシュにおいて、すべて（またはほとんどすべて）の頂点がｋ個の三角形（または辺）を持つ場合、その３Ｄメッシュは正則性を持つという。一方、図１９（Ｂ）に示されるように、すべて（またはほとんどすべて）の頂点がｋ個の三角形（または辺）を持たない場合、その３Ｄメッシュは非正則性を持つという。３Ｄメッシュは３次元空間上に配置された頂点を多角形で結ぶことにより物体の表面を近似した３Ｄモデルである。
【０００８】
次に、代表的な従来のモデリング手法について説明する。非特許文献１に記載されているように、「Ｖｉｒｔｕａｌｉｚｅｄ  Ｒｅａｌｉｔｙ」という  米国カーネギーメロン大学で開発された３Ｄ動画生成システムがある。この３Ｄ動画生成システムは複数の距離画像（Ｒａｎｇｅ  Ｉｍａｇｅ）を用いて３Ｄメッシュを得る手法を用いている。この距離画像とは、３Ｄ空間内にある平面（画像）を仮定し、その平面から物体までの距離を画素値として持たせた画像である。しかし、上述の３Ｄ動画生成システムでは、正則性を実現することができないという問題があった。さらに処理の実時間性も実現することができず、処理に時間をかければかけるほど画質（解像度）が良くなる特性であるプログレッシブ性（漸進性）も実現することができないという問題があった。
【０００９】
他の従来のモデリング手法として、非特許文献２に記載されているような京都大学の松山教授が開発したモデリングシステムとして実時間性を持つ３Ｄ動画生成システムがある。この３Ｄ動画生成システムは視体積交差法を用いている。視体積交差法は２次元画像から３Ｄ空間を再構成する方法の１つであり、同一時刻にカメラで撮像した複数枚の画像を利用して物体の位置および周囲形状を求める方法である。この３Ｄ動画生成システムは実時間性を持つものの、正則性およびプログレッシブ性は持たないという問題があった。
【００１０】
他のモデリング手法として、特許文献１に記載されている方法があるが、当該方法は実時間性は有するものの、正則性およびプログレッシブ性等を考慮したものではないという問題があった。
【００１１】
次に、メッシュ化および三角形化に関する手法について説明する。非特許文献３に記載されているように、良く知られている三角形化の手法としてＤｅｌａｕｎｅｙ法がある。Ｄｅｌａｕｎｅｙ法は３点を通る円の中に他の点が存在しない場合、その３点で三角形を構成するということをすべての頂点について行なうという方法である。しかしＤｅｌａｕｎｅｙ法は処理計算量が多いため実時間性がなく、また正則性は約束されないという問題があった。
【００１２】
他のメッシュ化および三角形化に関する手法として、非特許文献４に記載されているように、非正則メッシュを正則メッシュへ変換するＭＡＰＳという著名な手法がある。ＭＡＰＳは既にモデリング済みの非正則メッシュを対象としている。ＭＡＰＳは処理計算量が多く、実時間性がないという問題があった。
【００１３】
他のメッシュ化および三角形化に関する手法として、特許文献１に記載されている方法があるが、当該方法は鋭角特徴を再現するものであり、正則性、プログレッシブ性および実時間性等を考慮したものではないという問題があった。
【００１４】
【発明が解決しようとする課題】
何らかの方法で取得された３Ｄメッシュに対する各種の「３Ｄメッシュ処理」技術は種々存在し、スムージング、特徴抽出、簡略化／詳細化および符号化等の技術は多数提案されてきた。３Ｄメッシュは３Ｄ空間上でランダムにサンプリングされた点を様々な方法で接続することによりポリゴンを構築している。このようにランダムにサンプリングを行なっているため、例えば通常のディジタル信号における等間隔でサンプリングされたグリッドおよび画素等のような概念はない。このため等間隔の時系列データとして処理することが困難となり、３Ｄメッシュ処理を複雑なものにしている。このため従来から、頂点同士が不規則に接続されたメッシュ（非正則メッシュ）をパラメータ化し、正則メッシュへ変換することにより、３Ｄメッシュの取り扱いを容易にしようという試みが盛んに行われてきた。しかしいずれも正則性およびプログレッシブ性を持たないという問題があった。特に、非正則３Ｄメッシュをモデリングした後、正則メッシュに変換するという二つの手順を踏んでいるため、処理計算量が非常に多くなる。この結果、短時間で正則３Ｄメッシュを得たい場合、または動きのある物体（動的物体）に対する動的な正則３Ｄメッシュを実時間で生成したい場合に不都合となるという問題があった。
【００１５】
従来の多くの３Ｄモデリング手法は、静止した物体（静的物体）の形状を取得することを目的とするか、またはディスク上に保存されたビデオ信号列を用いてオフラインで３Ｄアニメーションを取得することを目的としている。動的物体の３Ｄアニメーションの取得について、カメラから送られるビデオ信号列を実時間で処理し、モデリングする手法もいくつか提案されてきた。しかし、動きのある物体を実時間でモデリングする際、当然、計算に用いるプロセッサの処理能力に応じて１フレームのモデリングにかかる時間にばらつきが生じることになる。従来のモデリング手法ではそのアルゴリズム全体に沿った処理を実行することにより一つのモデルができあがることになる。このため、上記アルゴリズムが終了する時間が１フレーム時間より長くなると、モデリングが完了せずに無駄な処理となって終了することになるという問題があった。
【００１６】
従来、３Ｄメッシュ・データを伝送する場合、頂点座標の他に三角形の接続を表す情報を送る必要があった。このため３Ｄメッシュ・データの伝送には長時間を要するという問題があった。
【００１７】
そこで、本発明の目的は、上記問題を解決するためになされたものであり、静的物体だけではなく動的物体に対しても正則性を持つ３Ｄメッシュを実時間でモデリングすることができ、プログレッシブ性を併せ持つ３次元モデリング・プログラム等を提供することにある。
【００１８】
本発明の第２の目的は、アルゴリズムを途中で打ち切ることができ、打ち切った時点で最良の解像度を有する３Ｄメッシュをモデリングすることができる３次元モデリング・プログラム等を提供することにある。
【００１９】
本発明の第３の目的は、３Ｄメッシュ・データの伝送に長時間を要することのない３次元モデリング・データ伝送プログラムを提供することにある。
【００２０】
【課題を解決するための手段】
この発明の３次元モデリング・プログラムは、物体の周囲に配置された複数の撮像装置を用いて該物体の３次元モデルを作成する３次元モデリング・プログラムであって、該複数の撮像装置により各々取得させた、該物体までの距離を画素値として有する距離画像を各撮像装置に応じて記録した距離画像記録部と、所定の解像度を記録した初期解像度記録部とを用いるものであり、コンピュータに、前記距離画像記録部に記録させた各距離画像の対応点を決定させる対応点決定ステップ、
前記物体の距離画像を前記初期解像度記録部に記録された所定の解像度および前記対応点決定ステップで決定された対応点の下で前記複数の撮像装置により各々取得させると共に、取得させた時刻を時刻記録部に記録させ、該所定の解像度を解像度記録部に記録させる距離画像取得ステップ、
前記距離画像取得ステップで取得させた各距離画像を前記距離画像記録部に記録させる距離画像記録ステップ、
前記解像度記録部に記録された解像度の下で前記距離画像記録部に記録された各距離画像に基づき、前記物体の３次元メッシュ・モデルを作成させる３次元メッシュ・モデリング・ステップ、
前記時刻記録部に記録された時刻から所定の時間が経過していない場合、前記解像度記録部に記録された解像度を所定の割合で増加させて前記３次元メッシュ・モデリング・ステップから繰返して実行させ、前記時刻記録部に記録された時刻から所定の時間が経過し且つ所定の終了時刻を越えていない場合、前記距離画像取得ステップから繰返して実行させるステップ
を実行させるための３次元モデリング・プログラムである。
【００２１】
ここで、この発明の３次元モデリング・プログラムにおいて、前記３次元メッシュ・モデリング・ステップは、
前記距離画像記録部に記録された各距離画像の各画素値を仮想３次元空間内で逆射影することにより得られる各表面点の３次元座標値を求める表面点作成ステップと、
前記表面点作成ステップで求められた各表面点の３次元座標値を表面点記録部に記録する表面点記録ステップと、
前記表面点記録部に記録された３次元座標値を有する各表面点から仮想３次元空間に形成された仮想立体上へ射影することにより得られる各３次元射影点への３次元射影ベクトルを求める３次元射影点作成ステップと、
前記３次元射影点作成ステップで求められた各３次元射影点への３次元射影ベクトルを、各３次元射影点毎に、該３次元射影点と対応する表面点との間の３次元距離値を示す属性値と共に３次元射影点記録部に記録する３次元射影点記録ステップと、
前記３次元射影点記録部に記録された各３次元射影点毎の３次元射影ベクトルを前記仮想立体を切断して展開された仮想平面上へ変換して、２次元変換点への２次元変換ベクトルとして求める２次元変換点作成ステップと、
前記２次元変換点作成ステップで求められた各２次元変換点への２次元変換ベクトルを、各２次元変換点毎に前記３次元射影点記録部に記録された前記属性値と共に２次元変換点記録部に記録する２次元変換点記録ステップと、
前記仮想平面上に所定のサイズの画素を設定し、各画素の中心点の２次元座標値を求める画素中心点作成ステップと、
前記画素中心点作成ステップで求められた各画素の中心点の２次元座標値と前記２次元変換点記録部に記録された２次元変換点の２次元変換ベクトルとに基づいて、所定の２次元距離値の範囲内における所定の数の２次元変換点を求め、該所定の数の２次元変換点について前記２次元変換点記録部に記録された前記属性値に基づき、各画素の中心点の補間距離値を求める補間距離値作成ステップと、前記画素中心点作成ステップで求められた各画素の中心点の２次元座標値を、前記補間距離値作成ステップで求められた各画素の中心点の補間距離値と共に画素中心点記録部に記録する画素中心点記録ステップと、
前記画素中心記録部に記録された各画素の中心点の２次元座標値を、前記仮想立体上の３次元座標値へ逆変換して各画素の中心点の３次元逆変換点を求める画素中心３次元逆変換点作成ステップと、
前記画素中心３次元逆変換点作成ステップで求められた各画素の中心点の３次元逆変換点の３次元座標値を、前記画素中心点記録部に記録された各画素の中心点の補間距離値と共に画素中心３次元逆変換点記録部に記録する画素中心３次元逆変換点記録ステップと、
前記画素中心３次元逆変換点記録部に記録された各画素の中心点の補間距離値を仮想３次元空間内で逆射影することにより得られる各画素の中心点に対応する各表面点の３次元座標値を求める画素中心対応表面点作成ステップと、
前記画素中心対応表面点作成ステップで求められた各画素の中心点に対応する各表面点の３次元座標値を画素中心対応表面点記録部に記録する画素中心対応表面点記録ステップとを備えることができる。
【００２２】
ここで、この発明の３次元モデリング・プログラムにおいて、前記３次元射影点記録ステップは、前記解像度記録部に記録された解像度が前記初期解像度記録部に記録された所定の解像度と等しい場合、前記３次元射影点作成ステップで求められた各３次元射影点への３次元射影ベクトルを、各３次元射影点毎に、該３次元射影点に対応する表面点の３次元座標値を示す属性値と共に３次元射影点記録部に記録し、
前記３次元射影点作成ステップは、前記解像度記録部に記録された解像度が前記初期解像度記録部に記録された所定の解像度より大きい場合、
前記表面点記録部に既に記録された３次元座標値を有する従前の表面点に関しては、該従前の表面点に対応する従前の３次元射影点毎に既に前記３次元射影点記録部に記録された従前の３次元射影ベクトルを用い、解像度の増加により新たに前記表面点記録部に記録された３次元座標値を有する新表面点に関しては、新表面点の近傍における従前の表面点に対応する該従前の３次元射影ベクトルの前記属性値に基づいて新たな３次元射影ベクトルを求めることができる。
【００２３】
ここで、この発明の３次元モデリング・プログラムにおいて、前記３次元射影点作成ステップは、前記仮想立体が仮想円筒または仮想円錐の場合、表面点に対応する画素を含む距離画像を取得した撮像装置と物体との間の空間位置情報が記録された空間位置情報部をさらに備え、
仮想円筒または仮想円錐の中心線を仮想空間上で作成する仮想立体作成ステップと、
前記仮想立体作成ステップで作成された中心線に垂直で且つ前記表面点記録部に記録された表面点を通る仮想円筒または仮想円錐を切断する平面であって周囲が該仮想円筒または仮想円錐の周囲と一致する切断平面を作成する切断平面作成ステップと、
前記切断平面作成ステップで作成された切断平面の中心点の座標値を求める中心点座標値作成ステップと、
前記中心点座標値作成ステップで求められた中心点の座標値と前記表面点記録部に記録された前記表面点の座標値とを結ぶ線分が前記切断平面の周囲と交わる２点を求める２点作成ステップと、
前記空間位置情報部に記録された空間位置情報に基づき、前記表面点記録部に記録された前記表面点に対応する画素を含む距離画像に対応する仮想平面を仮想空間上で作成する仮想平面作成ステップと、
前記仮想平面作成ステップで作成された仮想平面における前記表面点に対応する画素の座標値を求める画素座標値作成ステップと、
前記画素座標値作成ステップで求められた画素の座標値から前記中心点座標値作成ステップで求められた中心点の座標値へ向かう画素ベクトルと、前記表面点記録部に記録された前記表面点の座標値から前記２点作成ステップで求められた２点への２つの表面点ベクトルを求めるベクトル作成ステップと、
前記ベクトル作成ステップで求められた画素ベクトルと前記２つの表面点ベクトルの各々との間の角度を比較し、小さい角度に対応する表面点ベクトルを３次元射影ベクトルとするステップとを備えることができる。
【００２４】
ここで、この発明の３次元モデリング・プログラムにおいて、前記３次元射影点作成ステップは、前記仮想立体が仮想球の場合、
仮想球の中心点の座標値を求める中心点座標値作成ステップと、
前記中心点座標値作成ステップで求められた中心点の座標値と前記表面点記録部に記録された前記表面点の座標値とを結ぶ線分上において、該中心点の座標値から該表面点へ向かう方向のベクトルを３次元射影ベクトルとするステップとを備えることができる。
【００２５】
この発明の３次元モデリング制御プログラムは、物体の周囲に配置された複数の撮像装置を用いて該物体の３次元モデルを作成する処理を制御する３次元モデリング制御プログラムであって、該複数の撮像装置により各々取得させた、該物体までの距離を画素値として有する距離画像を各撮像装置に応じて記録した距離画像記録部と、所定の解像度を記録した初期解像度記録部とを用いるものであり、各撮像装置を用いて該物体の３次元モデルを作成する各距離画像記録部に対応した複数のコンピュータと、該複数のコンピュータの処理結果を統合する統合コンピュータとを有し、
３次元モデリング制御プログラムを実行するコンピュータに、
前記距離画像記録部に記録させた各距離画像の対応点を決定させる対応点決定ステップを実行させ、
前記複数のコンピュータの各々に、
前記物体の距離画像を前記初期解像度記録部に記録された所定の解像度および前記対応点決定ステップで決定された対応点の下で前記撮像装置により取得させると共に、取得させた時刻を時刻記録部に記録させ、該所定の解像度を解像度記録部に記録させる距離画像取得ステップ、
前記距離画像取得ステップで取得させた距離画像を前記距離画像記録部に記録させる距離画像記録ステップ、
前記距離画像記録部に記録された距離画像の各画素値を仮想３次元空間内で逆射影することにより得られる各表面点の３次元座標値を求める表面点作成ステップ、
前記表面点作成ステップで求められた各表面点の３次元座標値を表面点記録部に記録する表面点記録ステップ、
前記表面点記録部に記録された３次元座標値を有する各表面点から仮想３次元空間に形成された仮想立体上へ射影することにより得られる各３次元射影点への３次元射影ベクトルを求める３次元射影点作成ステップ、
前記３次元射影点作成ステップで求められた各３次元射影点への３次元射影ベクトルを、各３次元射影点毎に、該３次元射影点と対応する表面点との間の３次元距離値を示す属性値と共に３次元射影点記録部に記録する３次元射影点記録ステップを実行させ、
前記統合コンピュータに、
前記３次元射影点記録部に記録された各３次元射影点毎の３次元射影ベクトルを前記仮想立体を切断して展開された仮想平面上へ変換して、２次元変換点への２次元変換ベクトルとして求める２次元変換点作成ステップ、
前記２次元変換点作成ステップで求められた各２次元変換点への２次元変換ベクトルを、各２次元変換点毎に前記３次元射影点記録部に記録された前記属性値と共に２次元変換点記録部に記録する２次元変換点記録ステップ、
前記仮想平面上に所定のサイズの画素を設定し、各画素の中心点の２次元座標値を求める画素中心点作成ステップ、
前記画素中心点作成ステップで求められた各画素の中心点の２次元座標値と前記２次元変換点記録部に記録された２次元変換点の２次元変換ベクトルとに基づいて、所定の２次元距離値の範囲内における所定の数の２次元変換点を求め、該所定の数の２次元変換点について前記２次元変換点記録部に記録された前記属性値に基づき、各画素の中心点の補間距離値を求める補間距離値作成ステップ、前記画素中心点作成ステップで求められた各画素の中心点の２次元座標値を、前記補間距離値作成ステップで求められた各画素の中心点の補間距離値と共に画素中心点記録部に記録する画素中心点記録ステップ、
前記画素中心記録部に記録された各画素の中心点の２次元座標値を、前記仮想立体上の３次元座標値へ逆変換して各画素の中心点の３次元逆変換点を求める画素中心３次元逆変換点作成ステップ、
前記画素中心３次元逆変換点作成ステップで求められた各画素の中心点の３次元逆変換点の３次元座標値を、前記画素中心点記録部に記録された各画素の中心点の補間距離値と共に画素中心３次元逆変換点記録部に記録する画素中心３次元逆変換点記録ステップ、
前記画素中心３次元逆変換点記録部に記録された各画素の中心点の補間距離値を仮想３次元空間内で逆射影することにより得られる各画素の中心点に対応する各表面点の３次元座標値を求める画素中心対応表面点作成ステップ、
前記画素中心対応表面点作成ステップで求められた各画素の中心点に対応する各表面点の３次元座標値を画素中心対応表面点記録部に記録する画素中心対応表面点記録ステップを実行させ、
前記時刻記録部に記録された時刻から所定の時間が経過していない場合、前記解像度記録部に記録された解像度を所定の割合で増加させて、前記複数のコンピュータの各々に前記表面点作成ステップから繰返して実行させ、前記時刻記録部に記録された時刻から所定の時間が経過し且つ所定の終了時刻を越えていない場合、前記複数のコンピュータの各々に前記距離画像取得ステップから繰返して実行させるステップ
を実行させるための３次元モデリング制御プログラムである。
【００２６】
この発明の３次元モデリング・データ伝送プログラムは、物体の周囲に配置された複数の撮像装置を用いて作成された該物体の３次元モデリング・データを伝送する３次元モデリング・データ伝送プログラムであって、該複数の撮像装置により各々取得させた、該物体までの距離を画素値として有する距離画像を各撮像装置に応じて記録した距離画像記録部と、所定の解像度を記録した初期解像度記録部とを用いるものであり、コンピュータに、
前記距離画像記録部に記録させた各距離画像の対応点を決定させる対応点決定ステップ、
前記物体の距離画像を前記初期解像度記録部に記録された所定の解像度および前記対応点決定ステップで決定された対応点の下で前記複数の撮像装置により各々取得させると共に、取得させた時刻を時刻記録部に記録させ、該所定の解像度を解像度記録部に記録させる距離画像取得ステップ、
前記距離画像取得ステップで取得させた各距離画像を前記距離画像記録部に記録させる距離画像記録ステップ、
前記距離画像記録部に記録された各距離画像の各画素値を仮想３次元空間内で逆射影することにより得られる各表面点の３次元座標値を求める表面点作成ステップ、
前記表面点作成ステップで求められた各表面点の３次元座標値を表面点記録部に記録する表面点記録ステップ、
前記表面点記録部に記録された３次元座標値を有する各表面点から仮想３次元空間に形成された仮想立体上へ射影することにより得られる各３次元射影点への３次元射影ベクトルを求める３次元射影点作成ステップ、
前記３次元射影点作成ステップで求められた各３次元射影点への３次元射影ベクトルを、各３次元射影点毎に、該３次元射影点と対応する表面点との間の３次元距離値を示す属性値と共に３次元射影点記録部に記録する３次元射影点記録ステップ、
前記３次元射影点記録部に記録された各３次元射影点毎の３次元射影ベクトルを前記仮想立体を切断して展開された仮想平面上へ変換して、２次元変換点への２次元変換ベクトルとして求める２次元変換点作成ステップ、
前記２次元変換点作成ステップで求められた各２次元変換点への２次元変換ベクトルを、各２次元変換点毎に前記３次元射影点記録部に記録された前記属性値と共に２次元変換点記録部に記録する２次元変換点記録ステップ、
前記仮想平面上に所定のサイズの画素を設定し、各画素の中心点の２次元座標値を求める画素中心点作成ステップ、
前記画素中心点作成ステップで求められた各画素の中心点の２次元座標値と前記２次元変換点記録部に記録された２次元変換点の２次元変換ベクトルとに基づいて、所定の２次元距離値の範囲内における所定の数の２次元変換点を求め、該所定の数の２次元変換点について前記２次元変換点記録部に記録された前記属性値に基づき、各画素の中心点の補間距離値を求める補間距離値作成ステップ、
前記画素中心点作成ステップで求められた各画素の中心点の２次元座標値を、前記補間距離値作成ステップで求められた各画素の中心点の補間距離値と共に画素中心点記録部に記録する画素中心点記録ステップ、
前記時刻記録部に記録された時刻から所定の時間が経過していない場合、前記解像度記録部に記録された解像度を所定の割合で増加させて前記表面点作成ステップから繰返して実行させ、前記時刻記録部に記録された時刻から所定の時間が経過し且つ所定の終了時刻を越えていない場合、前記距離画像取得ステップから繰返して実行させ、前記時刻記録部に記録された時刻から所定の時間が経過し且つ所定の終了時刻を越えた場合、前記画素中心点記録部に記録された各画素の中心点の２次元座標値と該各画素の中心点の補間距離値とを含む３次元モデリング・データを伝送するステップ
を実行させるための３次元モデリング・データ伝送プログラムである。
【００２７】
この発明の記録媒体は本発明のいずれかのプログラムを記録したコンピュータ読取り可能な記録媒体である。
【００２８】
この発明の３次元モデリング方法は、物体の周囲に配置された複数の撮像装置を用いて該物体の３次元モデルを作成する３次元モデリング方法であって、該複数の撮像装置により各々取得させた、該物体までの距離を画素値として有する距離画像を各撮像装置に応じて記録した距離画像記録部と、所定の解像度を記録した初期解像度記録部とを用いるものであり、コンピュータに、
前記距離画像記録部に記録させた各距離画像の対応点を決定させる対応点決定ステップと、
前記物体の距離画像を前記初期解像度記録部に記録された所定の解像度および前記対応点決定ステップで決定された対応点の下で前記複数の撮像装置により各々取得させると共に、取得させた時刻を時刻記録部に記録させ、該所定の解像度を解像度記録部に記録させる距離画像取得ステップと、
前記距離画像取得ステップで取得させた各距離画像を前記距離画像記録部に記録させる距離画像記録ステップと、
前記解像度記録部に記録された解像度の下で前記距離画像記録部に記録された各距離画像に基づき、前記物体の３次元メッシュ・モデルを作成させる３次元メッシュ・モデリング・ステップと、
前記時刻記録部に記録された時刻から所定の時間が経過していない場合、前記解像度記録部に記録された解像度を所定の割合で増加させて前記３次元メッシュ・モデリング・ステップから繰返して実行させ、前記時刻記録部に記録された時刻から所定の時間が経過し且つ所定の終了時刻を越えていない場合、前記距離画像取得ステップから繰返して実行させるステップと
を実行させることを特徴とする。
【００２９】
ここで、この発明の３次元モデリング方法において、前記３次元メッシュ・モデリング・ステップは、
前記距離画像記録部に記録された各距離画像の各画素値を仮想３次元空間内で逆射影することにより得られる各表面点の３次元座標値を求める表面点作成ステップと、
前記表面点作成ステップで求められた各表面点の３次元座標値を表面点記録部に記録する表面点記録ステップと、
前記表面点記録部に記録された３次元座標値を有する各表面点から仮想３次元空間に形成された仮想立体上へ射影することにより得られる各３次元射影点への３次元射影ベクトルを求める３次元射影点作成ステップと、
前記３次元射影点作成ステップで求められた各３次元射影点への３次元射影ベクトルを、各３次元射影点毎に、該３次元射影点と対応する表面点との間の３次元距離値を示す属性値と共に３次元射影点記録部に記録する３次元射影点記録ステップと、
前記３次元射影点記録部に記録された各３次元射影点毎の３次元射影ベクトルを前記仮想立体を切断して展開された仮想平面上へ変換して、２次元変換点への２次元変換ベクトルとして求める２次元変換点作成ステップと、
前記２次元変換点作成ステップで求められた各２次元変換点への２次元変換ベクトルを、各２次元変換点毎に前記３次元射影点記録部に記録された前記属性値と共に２次元変換点記録部に記録する２次元変換点記録ステップと、
前記仮想平面上に所定のサイズの画素を設定し、各画素の中心点の２次元座標値を求める画素中心点作成ステップと、
前記画素中心点作成ステップで求められた各画素の中心点の２次元座標値と前記２次元変換点記録部に記録された２次元変換点の２次元変換ベクトルとに基づいて、所定の２次元距離値の範囲内における所定の数の２次元変換点を求め、該所定の数の２次元変換点について前記２次元変換点記録部に記録された前記属性値に基づき、各画素の中心点の補間距離値を求める補間距離値作成ステップと、前記画素中心点作成ステップで求められた各画素の中心点の２次元座標値を、前記補間距離値作成ステップで求められた各画素の中心点の補間距離値と共に画素中心点記録部に記録する画素中心点記録ステップと、
前記画素中心記録部に記録された各画素の中心点の２次元座標値を、前記仮想立体上の３次元座標値へ逆変換して各画素の中心点の３次元逆変換点を求める画素中心３次元逆変換点作成ステップと、
前記画素中心３次元逆変換点作成ステップで求められた各画素の中心点の３次元逆変換点の３次元座標値を、前記画素中心点記録部に記録された各画素の中心点の補間距離値と共に画素中心３次元逆変換点記録部に記録する画素中心３次元逆変換点記録ステップと、
前記画素中心３次元逆変換点記録部に記録された各画素の中心点の補間距離値を仮想３次元空間内で逆射影することにより得られる各画素の中心点に対応する各表面点の３次元座標値を求める画素中心対応表面点作成ステップと、
前記画素中心対応表面点作成ステップで求められた各画素の中心点に対応する各表面点の３次元座標値を画素中心対応表面点記録部に記録する画素中心対応表面点記録ステップとを備えることができる。
【００３０】
ここで、この発明の３次元モデリング方法において、前記３次元射影点記録ステップは、前記解像度記録部に記録された解像度が前記初期解像度記録部に記録された所定の解像度と等しい場合、前記３次元射影点作成ステップで求められた各３次元射影点への３次元射影ベクトルを、各３次元射影点毎に、該３次元射影点に対応する表面点の３次元座標値を示す属性値と共に３次元射影点記録部に記録し、
前記３次元射影点作成ステップは、前記解像度記録部に記録された解像度が前記初期解像度記録部に記録された所定の解像度より大きい場合、
前記表面点記録部に既に記録された３次元座標値を有する従前の表面点に関しては、該従前の表面点に対応する従前の３次元射影点毎に既に前記３次元射影点記録部に記録された従前の３次元射影ベクトルを用い、解像度の増加により新たに前記表面点記録部に記録された３次元座標値を有する新表面点に関しては、新表面点の近傍における従前の表面点に対応する該従前の３次元射影ベクトルの前記属性値に基づいて新たな３次元射影ベクトルを求めることができる。
【００３１】
ここで、この発明の３次元モデリング方法において、前記３次元射影点作成ステップは、前記仮想立体が仮想円筒または仮想円錐の場合、表面点に対応する画素を含む距離画像を取得した撮像装置と物体との間の空間位置情報が記録された空間位置情報部をさらに備え、
仮想円筒または仮想円錐の中心線を仮想空間上で作成する仮想立体作成ステップと、
前記仮想立体作成ステップで作成された中心線に垂直で且つ前記表面点記録部に記録された表面点を通る仮想円筒または仮想円錐を切断する平面であって周囲が該仮想円筒または仮想円錐の周囲と一致する切断平面を作成する切断平面作成ステップと、
前記切断平面作成ステップで作成された切断平面の中心点の座標値を求める中心点座標値作成ステップと、
前記中心点座標値作成ステップで求められた中心点の座標値と前記表面点記録部に記録された前記表面点の座標値とを結ぶ線分が前記切断平面の周囲と交わる２点を求める２点作成ステップと、
前記空間位置情報部に記録された空間位置情報に基づき、前記表面点記録部に記録された前記表面点に対応する画素を含む距離画像に対応する仮想平面を仮想空間上で作成する仮想平面作成ステップと、
前記仮想平面作成ステップで作成された仮想平面における前記表面点に対応する画素の座標値を求める画素座標値作成ステップと、
前記画素座標値作成ステップで求められた画素の座標値から前記中心点座標値作成ステップで求められた中心点の座標値へ向かう画素ベクトルと、前記表面点記録部に記録された前記表面点の座標値から前記２点作成ステップで求められた２点への２つの表面点ベクトルを求めるベクトル作成ステップと、
前記ベクトル作成ステップで求められた画素ベクトルと前記２つの表面点ベクトルの各々との間の角度を比較し、小さい角度に対応する表面点ベクトルを３次元射影ベクトルとするステップとを備えることができる。
【００３２】
ここで、この発明の３次元モデリング方法において、前記３次元射影点作成ステップは、前記仮想立体が仮想球の場合、
仮想球の中心点の座標値を求める中心点座標値作成ステップと、
前記中心点座標値作成ステップで求められた中心点の座標値と前記表面点記録部に記録された前記表面点の座標値とを結ぶ線分上において、該中心点の座標値から該表面点へ向かう方向のベクトルを３次元射影ベクトルとするステップとを備えることができる。
【００３３】
【発明の実施の形態】
以下、本発明の実施の形態につき図面を参照して詳細に説明する。本明細書では最も一般的なすべての多角形が三角形となる三角メッシュのみを取り扱うこととする。以下の説明に用いる各図において、同じ符号を付した箇所は同じ要素を示すため、当該符号が付された要素に関する説明は原則として最初に現れた図に関してのみ行い、再度現れた図に関しては省略する。
【００３４】
実施の形態１．
図１は、本発明の実施の形態１における３次元モデリング・プログラム等が動作する環境を示す。図１において、符号１は本発明の３次元モデリング・プログラム等が実行されるコンピュータ、１０はコンピュータ１に接続されたディスク等の記録装置、２０は３次元モデルを作成する対象となる物体、２５ａ、２５ｂ、２５ｃ、２５ｄ、２５ｅおよび２５ｆは、コンピュータ１に接続され物体２０の周囲に配置された複数のカメラ（撮像装置）である。図１ではカメラ２５ａ等は６台示されているが、これは図面の都合上のものであり、本発明の３次元モデリング・プログラム等は２台以上のカメラについて適用することが可能である。
【００３５】
図１に示されるように、記録装置１０は、複数のカメラ２５ａ等により各々取得させた距離画像を各カメラ２５ａ等に応じて記録した距離画像記録部３を有している。ここで距離画像とは、３Ｄ空間内にある平面（画像）を仮定し、その平面から物体２０までの距離を画素値として有する所定の解像度の画像である。記録装置１０はさらに、所定の解像度（Ｎ×Ｍの場合はＮおよびＭ）を記録した初期解像度記録部４、カメラ２５ａ等により距離画像を取得させた時刻を記録する時刻記録部５、後述するように更新される解像度を記録した初期解像度記録部６を有している。記録装置１０は所定のデータを記録する他の表面点記録部１１、３次元射影点記録部１２、２次元変換点記録部１３、画素中心点記録部１４、画素中心３次元逆変換点記録部１５、画素中心対応表面点記録部１６および空間位置情報部１７を有しているが、これらの記録部については後述する。
【００３６】
図２は、距離画像について説明する図である。図２（Ａ）において、符号３０は例えばカメラ２５ａにより取得された物体２０の距離画像である。図２（Ａ）に示されるように、距離画像３０上の画素Ａは画素Ａと物体２０上の点Ｂとの間の距離ｒａを画素値として有している。図２（Ｂ）において、符号３０は例えばカメラ２５ａにより取得された物体２０の距離画像、３１は例えばカメラ２５ｂにより取得された物体２０の距離画像、３２は例えばカメラ２５ｃにより取得された物体２０の距離画像、３３は例えばカメラ２５ｄにより取得された物体２０の距離画像、３４は例えばカメラ２５ｅにより取得された物体２０の距離画像、３５は例えばカメラ２５ｆにより取得された物体２０の距離画像である。図２（Ｂ）に示されるように、距離画像３５上の画素Ｃは画素Ｃと物体２０上の点Ｂとの間の距離ｒｂを画素値として有している。これらの距離画像３０等が各カメラ２５ａ等に応じて距離画像記録部３に各々記録されている。
【００３７】
本発明の３次元モデリング・プログラムはカメラ２５ａ等の数（Ｉ）に対応する枚数分作成された距離画像を用いる。複数のカメラ２５ａ等を用いて距離画像３０等を得る手法は多数存在するが、本明細書では距離画像３０等を得る手法は問わず、あるアルゴリズムを用いて距離画像３０等が得られ、距離画像記録部３に各々記録されていることを前提とする。距離画像３０等を取得する手法としては、一般的なステレオ画像法を用いることができる。光レーダ型レンジファインダ、位相差検出型レンジファインダ等を用いた光飛行時間測定法により距離を測定する方法を用いてもよい。あるいはスポット光投影法、スリット光投影法、ステップ光投影法またはパターン光投影法等を用いた三角測量に基づくレンジファインダを用いることもできる。
【００３８】
次に、本発明の３次元モデリング・プログラムの機能について説明する。図３は本発明の３次元モデリング・プログラムの機能をフローチャートで示す。図３に示されるように、まず距離画像記録部３に記録させた各距離画像３０等の対応点を決定させる（対応点決定ステップ。ステップＳ１０）。複数の距離画像３０等を用いる場合、ある距離画像３０における画素Ａが他の距離画像３５におけるどの画素に対応するのかという対応点（対応位置）の決定を予め行っておく必要がある。この対応点の決定には例えばＩＣＰ（Ｉｔｅｒａｔｉｖｅ  Ｃｌｏｓｅｓｔ  Ｐｏｉｎｔ  Ｍｅｔｈｏｄ）を用いることができる。各距離画像３０等の対応点を調べることをレジストレーション（Ｒｅｇｉｓｔｒａｔｉｏｎ）と呼ぶ。以上により各距離画像３０等の合成ができる。対応点決定ステップ（ステップＳ１０）の処理はオフラインで行う。
【００３９】
続いて、物体２０の距離画像３０等を初期解像度記録部４に記録された所定の解像度（Ｎ×Ｍ）および対応点決定ステップ（ステップＳ１０）で決定された対応点の下で複数のカメラ２５ａ等により各々取得させる。この結果、カメラ２５ａ等の数（Ｉ）分の距離画像３０等を取得することになる。併せて、距離画像３０等を取得させた時刻（ｔ）を時刻記録部５に記録させ、所定の解像度（Ｎ×Ｍ）を解像度記録部６に記録させる（距離画像取得ステップ。ステップＳ１２）。
【００４０】
次に、距離画像取得ステップ（ステップＳ１２）で取得させた各距離画像３０等を距離画像記録部３に各々記録させる（距離画像記録ステップ。ステップＳ１４）。
【００４１】
解像度記録部６に記録された解像度（最初はＮ×Ｍ）の下で、距離画像記録部３に記録された各距離画像３０等に基づき、物体２０の３次元メッシュ・モデルを作成させる（３次元メッシュ・モデリング・ステップ。ステップＳ１６）。当該ステップＳ１６については後で詳述する。
【００４２】
時刻記録部５に記録された時刻（ｔ）から所定の時間（フレームレート：δＴ）が経過したか否かを判定し（ステップＳ１８）、経過していない場合、解像度記録部６に記録された解像度（最初はＮ×Ｍ）を所定の割合、例えば２倍ずつの割合（２Ｎ×２Ｍ）で増加させて、３次元メッシュ・モデリング・ステップ（ステップＳ１６）から繰返して実行させる（ステップＳ２０）。一方、時刻記録部５に記録された時刻（ｔ）から所定の時間（δＴ）が経過して時刻がｔ＋δＴとなっており、且つ所定の終了時刻を越えていない場合、距離画像取得ステップ（ステップＳ１２）から繰返して実行させる（ステップＳ２２）。距離画像取得ステップ（ステップＳ１２）からステップＳ２０またはＳ２２までの処理は実時間で実行する。
【００４３】
次に、３次元メッシュ・モデリング・ステップ（ステップＳ１６）について詳述する。図４は本発明の３次元モデリング・プログラムにおける３次元メッシュ・モデリング・ステップの機能をフローチャートで示す。以下、図４のフローチャートについて図５ないし図１１を併せ用いて説明する。
【００４４】
すべての距離画像３０等の画素値（すなわち画素Ａの中心から物体２０までの距離）を３Ｄ平面上に逆射影することにより、物体２０の表面上に点を定義することができる。この点を以下では「表面点」と呼ぶことにする。図４に示されるように、まず距離画像記録部３に記録された各距離画像３０等の各画素値を仮想３次元空間内で逆射影することにより得られる各表面点の３次元座標値を求める（表面点作成ステップ。ステップＳ３０）。図５は表面点を説明するための図である。図５において、符号２８は物体２０の表面上に上述のように定義された表面点の１つを示す。
【００４５】
表面点作成ステップ（ステップＳ３０）で求められた各表面点２８等の３次元座標値を表面点記録部１１に記録する（表面点記録ステップ。ステップＳ３２）。
【００４６】
事前に決めておいた基準点を中心とする仮想的に３Ｄ空間内に定義された仮想立体、例えば仮想円筒（Ｖｉｒｔｕａｌ  Ｃｙｌｉｎｄｅｒ）を定義する。図６は仮想円筒を説明するための図である。図６（Ａ）および（Ｂ）において、符号４５は事前に決めておいた基準点、４０は基準点４５を中心として定義された仮想円筒である。図６（Ａ）は仮想円筒４０を上から見た平面図を示し、図６（Ｂ）は斜視図を示す。図７（Ａ）、（Ｂ）および（Ｃ）は、各々図６に示される仮想円筒４０と位相同型の多様体４０ａ、４０ｂおよび４０ｃを示す。以下では仮想円筒の例を用いて説明していくが、図７に示されるような多様体４０ａ、４０ｂおよび４０ｃであれば３次元メッシュ・モデリング・ステップ（ステップＳ１６）の処理を同様に適用することができる。
【００４７】
次に、物体２０の表面上のすべての表面点２８等を仮想円筒４０上に射影（マッピング）する。図４に示されるように、表面点記録部１１に記録された３次元座標値を有する各表面点２８等から仮想３次元空間に形成された仮想立体、たとえば仮想円筒４０上へ射影することにより得られる各３次元射影点への３次元射影ベクトルを求める（３次元射影点作成ステップ。ステップＳ３４）。ここで射影は、例えば透視射影法または直交射影法等を用いることができる。
【００４８】
図８および図９は、表面点２８等の仮想円筒４０への射影を説明する図である。図８（Ａ）に示されるように、まず仮想円筒４０の中心線４１に垂直で且つ物体２０上の一つの表面点２８を通る切断平面（または円）４２を想定する。次に図８（Ｂ）に示されるように切断平面（または円）４２により仮想円筒４０を輪切りにする。図９（Ａ）に示されるように、輪切りにされた円４２の中心（基準点）４５と表面点２８とを結ぶ線Ｌ１を定義する。射影点（３次元射影点）は円４２の円周上に点４４ａと点４４ｂとの２点が得られる。そこで図９（Ｂ）に示されるように、表面点２８に相当する画素Ａから表面点２８へ向かうベクトル（画素ベクトル）Ｇと、表面点２８から円４２上のある射影点４４ａへ向かうベクトル（表面点ベクトル）Ｍａおよび表面点２８から円４２上の別の射影点４４ｂへ向かうベクトル（表面点ベクトル）Ｍｂとを想定する。ベクトルＧおよびベクトルＭａがなす角θａとベクトルＧおよびベクトルＭｂがなす角θｂとを比較して角度が近い方に射影する。例えば図９（Ｂ）の場合、θａ＜θｂであるため、上部、つまり射影点４４ａへ射影される。この射影に用いたベクトルＭａを射影ベクトル（３次元射影ベクトル）と呼ぶ。以上の操作をすべての表面点２８等に対して行うことにより距離画像３０等のパノラマを作成することができる。
【００４９】
仮想円筒４０上の射影点４４ａ等はその点から物体２０までの距離を値として持つ。そのような点の集合をＶとする。図４に示されるように、３次元射影点作成ステップ（ステップＳ３４）で求められた各３次元射影点４４ａ等への３次元射影ベクトルＭａ等を、各３次元射影点４４ａ等毎に、当該３次元射影点４４ａ等と対応する表面点２８等との間の３次元距離値を示す属性値と共に３次元射影点記録部１２に記録する（３次元射影点記録ステップ。ステップＳ３６）。すなわち３次元射影点記録部１２に上述の集合Ｖが記録される。
【００５０】
次に、仮想円筒４０をある線で切断することにより一枚の展開された平面を得る。図４に示されるように、３次元射影点記録部１２に記録された各３次元射影点４４ａ等毎の３次元射影ベクトルＭａ等を仮想立体４０を切断して展開された仮想平面上へ変換して、２次元変換点への２次元変換ベクトルとして求める（２次元変換点作成ステップ。ステップＳ３８）。図１０は仮想円筒４０の展開を説明するための図である。図１０（Ａ）に示されるように、仮想円筒４０をある線Ｌ２で切断すると、図１０（Ｂ）に示されるような仮想平面Ｐへ展開することができる。図１０（Ｂ）に示されるように、仮想平面Ｐ上の点４４ａ（２）は３次元射影点４４ａが２次元空間へ変換された２次元変換点である。
【００５１】
図４に示されるように、２次元変換点作成ステップ（ステップＳ３８）で求められた各２次元変換点４４ａ（２）等への２次元変換ベクトルを、各２次元変換点４４ａ（２）等毎に３次元射影点記録部１２に記録された属性値と共に２次元変換点記録部１３に記録する（２次元変換点記録ステップ。ステップＳ４０）。
【００５２】
次に図４に示されるように、仮想平面Ｐ上に所定のサイズの矩形の画素を定義し、さらにそれぞれの画素の中心に中心点を新たに定義しその座標値を求める（画素中心点作成ステップ。ステップＳ４２）。中心点の集合をＶｃとする。図１１は仮想平面Ｐを示す。図１１（Ａ）に示されるように、仮想平面Ｐは矩形の画素Ｐ１１、Ｐ１５等が定義されている。２次元変換点４４ａ（２）は画素Ｐ１５内に含まれており、他の２次元変換点４６（２）、４７（２）および４８（２）等が周囲の画素内に含まれている。図１１（Ｂ）に示されるように、仮想平面Ｐに上述の中心点を定義する。例えば画素Ｐ１１の中心点はＣ１１、画素Ｐ１５の中心点はＣ１５等のように定義される。集合Ｖｃの要素はＣ１１、Ｃ１５等となる。
【００５３】
ここで集合Ｖｃの各点が持つ物体２０までの距離値を以下の手順で計算する。まず集合Ｖｃのそれぞれの点Ｃ１５等に仮想平面Ｐ内で定義されるユークリッド距離が最も近いＶの点を数点見つける。例えば２次元変換点４４ａ（２）、４６（２）、４７（２）および４８（２）等を見つけることができる。それらの数点の距離値（属性値）を用いて単純な線形補間によりＶｃの距離値を求める。詳しくは、図４に示されるように、画素中心点作成ステップ（ステップＳ４２）で求められた各画素Ｐ１５等の中心点Ｃ１５等の２次元座標値と２次元変換点記録部１３に記録された２次元変換点４４ａ（２）等の２次元変換ベクトルとに基づいて、所定の２次元距離（ユークリッド距離）値の範囲内における所定の数の２次元変換点４４ａ（２）等を求める。当該所定の数の２次元変換点４４ａ（２）等について２次元変換点記録部１３に記録された属性値（表面点２８等と３次元射影点４４ａ等との間の３次元距離値）に基づき、各画素Ｐ１５等の中心点Ｃ１５等の補間された補間距離値を求める（補間距離値作成ステップ。ステップＳ４４）。ここで補間距離値を求める場合、例えば線形補間またはスプライン補間等を用いることができる。
【００５４】
図４に示されるように、画素中心点作成ステップ（ステップＳ４２）で求められた各画素Ｐ１５等の中心点Ｃ１５等の２次元座標値を、補間距離値作成ステップ（ステップＳ４４）で求められた各画素Ｐ１５等の中心点Ｃ１５等の補間距離値と共に画素中心点記録部１４に記録する（画素中心点記録ステップ。ステップＳ４６）。
【００５５】
次に図１１（Ｃ）に示されるように、各中心点Ｃ１５等を三角形でつなぐことにより実際に３Ｄモデルを三角形化する。上述のＶｃは規則性を持っているため、三角形化は図１１（Ｃ）に示す通り、単純に左上、上、左、右、下、右下の画素Ｐ１５等の中心点Ｃ１５等と接続させることにより達成することができる。仮想平面Ｐの右端の点と左端の点とも同様に接続する。距離画像３０等の解像度に合わせて仮想平面Ｐ上のグリッドの数も増加させる。
【００５６】
次に、仮想平面Ｐを仮想円筒４０へ戻す。新たに作られた距離値Ｖｃを物体２０上に逆射影することにより正則メッシュを持つ３Ｄモデルを作成することができる。詳しくは、図４に示されるように、画素中心記録部１４に記録された各画素Ｐ１５等の中心点Ｃ１５等の２次元座標値を、仮想円筒４０上の３次元座標値へ逆変換して各画素Ｐ１５等の中心点Ｃ１５等の３次元逆変換点を求める（画素中心３次元逆変換点作成ステップ。ステップＳ４８）。画素中心３次元逆変換点作成ステップ（ステップＳ４８）で求められた各画素Ｐ１５等の中心点Ｃ１５等の３次元逆変換点の３次元座標値を、画素中心点記録部１４に記録された各画素Ｐ１５等の中心点Ｃ１５等の補間距離値と共に画素中心３次元逆変換点記録部１５に記録する（画素中心３次元逆変換点記録ステップ。ステップＳ５０）。画素中心３次元逆変換点記録部１５に記録された各画素Ｐ１５等の中心点Ｃ１５等の補間距離値を仮想３次元空間内で逆射影することにより得られる各画素Ｐ１５等の中心点Ｃ１５等に対応する各表面点２８等の３次元座標値を求める（画素中心対応表面点作成ステップ。ステップＳ５２）。画素中心対応表面点作成ステップ（ステップ５２）で求められた各画素Ｐ１５等の中心点Ｃ１５等に対応する各表面点２８の３次元座標値を画素中心対応表面点記録部１６に記録する（画素中心対応表面点記録ステップ。ステップＳ５４）。
【００５７】
本発明の３次元モデリング・プログラムは、上述したように「実時間性」と「正則性」とに関わるところに特徴があるだけではなく、その他にプログレッシブなモデリングが可能となるところにも大きな特徴を持っている。本発明の３次元モデリング・プログラムは計算時間にスケーラビリティを持っている。ここでスケーラビリティとは、アルゴリズムの一部またはすべてを選択し実行することで、モデリングにおけるある変数（ここでは計算の複雑さ）を制御できる特性のことを言う。したがって本発明の３次元モデリング・プログラムは１フレームに対するアルゴリズム全体を実行せずに途中でうち切ったとしても、その時点での最適な解像度を持つモデルを取得することができるという特徴を持つ。プロセッサの処理能力が高い場合は高解像度の、低い場合は低解像度の３Ｄメッシュがモデリング可能である。これは実時間モデリングに大きな利点をもたらす。アルゴリズムを繰り返し実行すればするほど解像度が上がるという意味で、本発明の３次元モデリング・プログラムをプログレッシブモデリングと呼ぶことができる。
【００５８】
以上説明したように、本発明の実施の形態１によれば、まず予めオフライン処理で距離画像記録部３に記録させた各距離画像３０等の対応点を決定させておく。次に、オンライン処理で物体２０の距離画像３０等を初期解像度記録部６に記録された所定の解像度（Ｎ×Ｍ）および決定された対応点の下で複数のカメラ２５ａ等により各々取得させると共に、取得させた時刻（ｔ）を時刻記録部５に記録させ、所定の解像度（Ｎ×Ｍ）を解像度記録部６に記録させておく。取得させた各距離画像３０等は距離画像記録部に記録させる。解像度記録部６に記録された解像度の下で距離画像記録部３に記録された各距離画像３０等に基づき、物体２０の３次元メッシュ・モデルを作成させる。
【００５９】
３次元メッシュ・モデルの作成は、まず複数の距離画像３０等の画素値を３Ｄ空間上に逆射影して物体２０上に表面点を定義する。３Ｄ空間に仮想円筒４０を定義し、物体２０上のすべての表面点を仮想円筒４０上に射影して３次元射影点を求める。３次元射影点には表面点２８と射影点との間の距離値を持たせる。仮想円筒を２次元空間の仮想平面Ｐへ展開し、３次元射影点を２次元空間へ変換した２次元変換点を求める。この２次元変換点は３次元射影点の距離値を有している。仮想平面Ｐ上に所定のサイズの矩形の画素を定義し、さらにそれぞれの画素の中心に中心点を新たに定義する。中心点の距離値は周囲の２次元変換点の距離値を補間することにより求める。各中心点を三角形でつなぐことにより３Ｄモデルを三角形化する。仮想平面Ｐを仮想円筒４０へ戻し、中心点の距離値を物体２０上へ逆射影することにより、正則メッシュを持つ３Ｄメッシュ・モデルを作成することができる。
【００６０】
続いて、時刻記録部５に記録された時刻（ｔ）から所定の時間（δＴ）が経過していない場合、解像度記録部６に記録された解像度を所定の割合、例えば２倍で増加させて３次元メッシュ・モデリング・ステップから繰返して実行させる。時刻記録部に記録された時刻（ｔ）から所定の時間が経過して時刻がｔ＋δＴとなり、且つ所定の終了時刻を越えていない場合、距離画像取得ステップから繰返して実行させる。以上により、静的物体だけではなく動的物体に対しても正則性を持つ３Ｄメッシュを実時間でモデリングすることができ、プログレッシブ性を併せ持つ３次元モデリング・プログラム等を提供することができる。このプログレッシブ性を併せ持つことにより、アルゴリズムを途中で打ち切ることができ、打ち切った時点で最良の解像度を有する３Ｄメッシュをモデリングすることができる３次元モデリング・プログラム等を提供することができる。
【００６１】
実施の形態２．
実施の形態１では３次元射影点作成ステップ（ステップＳ３４）で、表面点２８等から仮想円筒４０へのマッピングの方法を示した。本実施の形態２では、別のマッピングの方法を説明する。
【００６２】
各時間ｔにおける１回目の繰り返し、つまり距離画像３０等の解像度がＮ×Ｍの時は３次元射影点作成ステップ（ステップＳ３４）と同様の処理を行う。ただし３次元射影点４４ａ等は物体２０までの距離値ではなく、物体２０上の表面点２８等の３次元座標（ｘ，  ｙ，  ｚ）を値として持つ。詳しくは、３次元射影点記録ステップ（ステップＳ３６）において、解像度記録部６に記録された解像度が初期解像度記録部４に記録された所定の解像度と等しい場合、３次元射影点作成ステップ（ステップＳ３４）で求められた各３次元射影点４４ａ等への３次元射影ベクトルＭａ等を、各３次元射影点４４ａ等毎に、表面点２８等の３次元座標値を示す属性値と共に３次元射影点記録部１２に記録しておく。
【００６３】
２回目の繰り返し、つまり解像度が２Ｎ×２Ｍ以上の時は以下の手順で射影を行う。Ｎ×Ｍから２Ｎ×２Ｍに解像度を上げることによりできる新たな画素の３次元射影ベクトルをまず求める。図１２は、本発明の実施の形態２におけるマッピングの方法を説明するための図である。図１２（Ａ）は解像度がＮ×Ｍの場合の仮想平面Ｐ上の画素Ｐ１１、Ｐ１２等（黒丸）を示し、図１２（Ｂ）は解像度が２Ｎ×２Ｍの場合の仮想平面Ｐ上の画素Ｐ１１、Ｐ１２、Ｐ１１−２、Ｐ１１−３、Ｐ１１−４等を示す。図１２（Ｂ）で白丸で示される画素Ｐ１１−２、Ｐ１１−３、Ｐ１１−４等が新たな画素である。Ｎ×Ｍの画素Ｐ１１、Ｐ１２等（黒丸）が持つ３次元射影ベクトルＭａ等は既に求まっており、その３次元射影ベクトルを内挿または外挿することにより新たに加えられた画素Ｐ１１−２、Ｐ１１−３、Ｐ１１−４等の３次元射影ベクトルを求める。詳しくは、３次元射影点作成ステップ（ステップＳ３４）において、解像度記録部６に記録された解像度が初期解像度記録部４に記録された所定の解像度（Ｎ×Ｍ）より大きい場合、表面点記録部１１に既に記録された３次元座標値を有する従前の表面点２８等に関しては、従前の表面点２８等に対応する従前の３次元射影点４４ａ等毎に既に３次元射影点記録部１２に記録された従前の３次元射影ベクトルＭａ等を用いる。一方、解像度の増加により新たに表面点記録部１１に記録された３次元座標値を有する新表面点に関しては、新表面点の近傍における従前の表面点２８等に対応する該従前の３次元射影ベクトルＭａ等の属性値（３次元距離値）に基づいて新たな３次元射影ベクトルを求めることができる。後は、新たな３次元射影ベクトルと仮想円筒４０との交点をもとめマッピングする。３次元射影点は相当する物体２０上の点の３次元座標（ｘ，  ｙ，  ｚ）を値として持つ。
【００６４】
以上説明したように、本発明の実施の形態２によれば、各時間ｔにおける１回目の繰り返しの時は、３次元射影点４４ａ等は物体２０までの距離値ではなく、物体２０上の表面点２８等の３次元座標（ｘ，  ｙ，  ｚ）を値として持つ点を除き、３次元射影点作成ステップ（ステップＳ３４）と同様の処理を行う。２回目以降の繰り返しの時は、新たな画素の３次元射影ベクトルは既に前回の繰返しの時に求めた３次元射影ベクトルを内挿または外挿することにより求めることができる。この結果、繰返しにより解像度が増加した場合に新たな３次元ベクトルを効率よく求めることができる。
【００６５】
実施の形態３．
実施の形態１および２では射影をする対象として仮想円筒を用いた。本実施の形態３では仮想円錐の場合を説明する。本発明の３次元モデリング・プログラムのアルゴリズムでは仮想円筒４０と同様に仮想円錐（または円錐と位相同型の多様体）の場合にも、そのまま適用できる。以下では、図４に示されるフローチャート中の３次元射影点作成ステップ（ステップＳ３４）について仮想円筒４０を仮想円錐へ置き換えて説明する。他のステップは同様であるため説明は省略する。
【００６６】
図１３は、本発明の実施の形態３における仮想円錐を用いたマッピングを説明する図である。図１３（Ａ）に示されるように、仮想円錐５０をある線Ｌ２で切断して展開すると、図１３（Ｂ）に示される仮想平面Ｐ２を得ることができる。まず、表面点２８等に対応する画素を含む距離画像３０等を取得したカメラ２５ａ等と物体２０との間の空間位置情報が記録された空間位置情報部１７をさらに設けておく。図１４は、本発明の実施の形態３における３次元射影点作成ステップのフローチャートを示す。図１４に示されるように、仮想円錐５０の中心線（仮想円筒４０の場合の中心線４１に相当）を仮想空間上で作成する（仮想立体作成ステップ。ステップＳ６０）。作成された中心線に垂直で且つ表面点記録部１１に記録された表面点２８等を通る仮想円錐５０を切断する平面であって、周囲が仮想円錐５０の周囲と一致する切断平面（仮想円筒４０の場合の切断平面４２に相当）を作成する（切断平面作成ステップ。ステップＳ６２）。作成された切断平面の中心点の座標値を求め（中心点座標値作成ステップ。ステップＳ６４）、求められた中心点の座標値と表面点記録部１１に記録された表面点２８等の座標値とを結ぶ線分が切断平面の周囲と交わる２点（仮想円筒４０の場合の４４ａおよび４４ｂに相当）を求める（２点作成ステップ。ステップＳ６６）。空間位置情報部１７に記録された空間位置情報に基づき、表面点記録部１１に記録された表面点２８等に対応する画素を含む距離画像３０等に対応する仮想平面を仮想空間上で作成する（仮想平面作成ステップ。ステップＳ６８）。作成された仮想平面における表面点２８等に対応する画素の座標値を求める（画素座標値作成ステップ。ステップＳ７０）。求められた画素の座標値から上記中心点の座標値へ向かう画素ベクトル（仮想円筒４０の場合のベクトルＧに相当）と、表面点記録部１１に記録された表面点２８等の座標値から上記２点への２つの表面点ベクトル（仮想円筒４０の場合のベクトルＭａおよびＭｂに相当）を求める（ベクトル作成ステップ。ステップＳ７２）。画素ベクトルと上記２つの表面点ベクトルの各々との間の角度（仮想円筒４０の場合の角度θａおよびθｂに相当）を比較し（ステップＳ７４）、小さい角度に対応する表面点ベクトルを３次元射影ベクトルとする（ステップＳ７６、Ｓ７８）。
【００６７】
以上説明したように、本発明の実施の形態３によれば、本発明の３次元モデリング・プログラムのアルゴリズムは仮想円筒４０と同様に仮想円錐（または円錐と位相同型の多様体）の場合にも、そのまま適用することができる。
【００６８】
実施の形態４．
上述の実施の形態では射影をする対象として仮想円筒または仮想円錐を用いた場合を説明した。本発明の３次元モデリング・プログラムのアルゴリズムは仮想円筒４０または仮想円錐と同様に仮想球（または球と位相同型の多様体）の場合にも、一部を変更することにより同様に適用できる。以下では、図４に示されるフローチャート中の３次元射影点作成ステップ（ステップＳ３４）と２次元変換点作成ステップ（ステップＳ３８）とについて仮想円筒４０を仮想球へ置き換えて説明する。他のステップは同様であるため説明は省略する。
【００６９】
図１５は、本発明の実施の形態４における仮想球を用いたマッピングを説明する図である。図１５（Ａ）に示されるように、３次元射影点作成ステップ（ステップＳ３４）では、まず仮想球６０の中心点６５の座標値を求め（中心点座標値作成ステップ）、次に中心点６５の座標値と表面点記録部１１に記録された表面点２８等の座標値とを結ぶ線分上において、中心点６５の座標値から表面点２８等へ向かう方向のベクトルを３次元射影ベクトルとする。図１５（Ｂ）に示されるように、２次元変換点作成ステップ（ステップＳ３８）では、地球儀を世界地図へマッピングするのと同様の方法で行うことにより仮想平面Ｐ３を得ることができる。
【００７０】
以上説明したように、本発明の実施の形態４によれば、本発明の３次元モデリング・プログラムのアルゴリズムは仮想円筒４０と同様に仮想球（または球と位相同型の多様体）の場合にも、仮想球６０の中心点６５から表面点２８等へ向かう方向のベクトルを３次元射影ベクトルとすることにより、適用することができる。
【００７１】
実施の形態５．
上述した本発明の各実施の形態における３次元モデリング・プログラムのアルゴリズムは、１台のコンピュータではなく、複数台のコンピュータ（パーソナル・コンピュータ：ＰＣ）をツリー状に配置したシステムにより実行することができる。
【００７２】
図１６は、本発明の実施の形態５における物体の３次元モデルを作成する処理を制御する３次元モデリング制御プログラムが実行される環境（システム）を示す。図１６において、符号７０ａないし７０ｍはｍ台のカメラ、８０ａないし８０ｍはカメラ７０ａないし７０ｍに対応する距離画像記録部、５ａないし５ｎは各カメラ７０ａ等を用いて物体２０の３次元モデルを作成する各距離画像記録部８０ａないし８０ｍに対応した複数のコンピュータ、５ｐは複数のコンピュータ５ａないし５ｎの処理結果を統合する統合コンピュータ、５ｑは３次元モデリング制御プログラム自体が実行されるコンピュータである。カメラ７０ａないし７０ｍ、距離画像記録部８０ａないし８０ｍ、コンピュータ５ａないし５ｎ、統合コンピュータ５ｐおよびコンピュータ５ｑはバス７５により接続されており、レイヤ３を構成する。レイヤ２では距離画像記録部８０ａないし８０ｍを２つずつまとめた結果を記録する統合記録部９０ａないし９０ｍ／２により構成され、レイヤ１では最終結果を記録する最終結果記録部１００を有している。
【００７３】
以下では、図３および図４に示されるフローチャート中の各ステップをどのコンピュータに実行させるかについて説明する。まず、コンピュータ５ｑに距離画像記録部８０ａないし８０ｍに記録させた各距離画像の対応点を決定させる（対応点決定ステップ。ステップＳ１０）を実行させる。レイヤ３では、距離画像取得ステップ（ステップＳ１２）から３次元射影点記録ステップ（ステップＳ３６）までを複数のコンピュータ５ａないし５ｎの各々に担当させる。各ＰＣは一枚の距離画像のみを取り扱う。レイヤ２では、統合コンピュータ５ｐに２次元変換点作成ステップ（ステップＳ３８）から画素中心対応表面点記録ステップ（ステップＳ５４）までを担当させる。つまり、１台の統合コンピュータ５ｐが仮想平面の一部を取り扱う。次にコンピュータ５ｑに、ステップＳ１８、Ｓ２０およびＳ２２の繰返し判定の処理を行わせる。
【００７４】
以上説明したように、本発明の実施の形態５によれば、本発明の３次元モデリング・プログラムのアルゴリズムは、複数台のＰＣをツリー状に配置し、各処理を複数のＰＣに担当させることにより、短時間で効率よく実行することができる。
【００７５】
実施の形態６．
本実施の形態６では、３次元モデリング・データを伝送する３次元モデリング・データ伝送プログラムについて説明する。
【００７６】
図１６に示されるように、最終結果記録部１００には上述の実施の形態で説明された図１１（Ｂ）に示されるような矩形画素の画素値が記録されている（画素中心点記録ステップ。ステップＳ５４）。そこで３次元モデリング・データをネットワーク１０２を介してクライアントの記録部１０４、１０６、１０８および１１０等へ伝送する際、３Ｄメッシュ・データを直接伝送するのではなく、最終結果記録部１００に記録された矩形画素の画素値を伝送する。クライアント側では受け取ったデータに対して上述の三角形化を施し、それを３Ｄ空間内に逆射影することで復号、レンダリングが可能になる。以上により、３Ｄメッシュ・データを伝送する際に、頂点座標の他に三角形の接続を表す情報を送る必要がなくなる。
【００７７】
以上説明したように、本発明の実施の形態６によれば、３次元モデリング・データをネットワーク１０２を介してクライアント側へ伝送する場合、最終結果記録部１００に記録された矩形画素の画素値を伝送することにより、頂点座標の他に三角形の接続を表す情報を送る必要をなくすことができる。この結果、３Ｄメッシュ・データの伝送に長時間を要することのない３次元モデリング・データ伝送プログラムを提供することができる。
【００７８】
実施の形態７．
図１７は、上述した各実施の形態を実現するための本発明のコンピュータ・プログラムを実行するコンピュータ１等の内部回路１２０を示すブロック図である。図１７において、上述の本発明のコンピュータ・プログラムは、ＲＯＭ１２２、ディスク１２５ａまたはＣＤ−ＲＯＭ１２５ｎ等の記録媒体に記録されている。このコンピュータ・プログラムは、ＲＯＭ１２２、ディスク１２５ａまたはＣＤ−ＲＯＭ１２５ｎ等の記録媒体からコンピュータローラ１２４を介しバス１２６を通ってＲＡＭ１２３へロードされる。ディスク１２５ａ等の記録媒体は記録装置１０等を対応させておくことができる。入力操作部１２８はコンピュータ１等に入力を行うためのマウスまたはテンキー等の入力装置であり、入力制御部１２７は入力操作部１２８と接続され入力制御等を行う。外部インタフェース（Ｉ／Ｆ）部１２９は、コンピュータ５ｑ等がネットワーク１０２を介して通信を行う際のインタフェース機能を有する。
【００７９】
ＣＰＵ１２１がＲＡＭ１２３内の上述の本発明のコンピュータ・プログラムを実行することにより、本発明の目的を達成することができる。当該コンピュータ・プログラムは上述のようにＣＤ−ＲＯＭ１２５ｎ等の脱着可能な記録媒体の形態でコンピュータＣＰＵ１２１に供給することができ、当該コンピュータ・プログラムを記録したＣＤ−ＲＯＭ１２５ｎ等の記録媒体も同様に本発明を構成することになる。当該コンピュータ・プログラムを記録した記録媒体としては上述された記録媒体の他に、例えばＤＶＤ、光ディスク、メモリ・カード、メモリスティック、ＭＯ、ＦＤ等を用いることができる。
【００８０】
【発明の効果】
以上説明したように、本発明の３次元モデリング・プログラムによれば、距離画像３０等の解像度を段階的に増大させながら入力し、その入力距離画像３０等をもとに３Ｄメッシュを構成している。これによりアルゴリズムを長時間実行すればするほど３Ｄメッシュの解像度が上がる「プログレッシブ性」を実現することができる。本発明の３次元モデリング・プログラム等では、いったんモデリングした非正則３Ｄメッシュを正則に変換するという二重の手順を踏むことなく、直接正則な３Ｄメッシュを生成することができる。以上により、静的物体だけではなく動的物体に対しても正則性を持つ３Ｄメッシュを実時間でモデリングすることができ、プログレッシブ性を併せ持つ３次元モデリング・プログラム等を提供することができる。
【００８１】
本発明の３次元モデリング・プログラム等ではアルゴリズムを途中で打ち切ることが可能である。このため、打ち切った時点での最良の解像度を持つ３Ｄメッシュを出力することができる３次元モデリング・プログラム等を提供することができる。
【００８２】
本発明の３次元モデリング伝送プログラムでは実時間でモデリングし伝送することにより、遠隔地にいるクライアントがその３Ｄメッシュをあらゆる角度から、しかも実時間で見ることができるようにすることができる。クライアント側へ送るデータは３Ｄメッシュそのものではなく、矩形画素の画素値という画像に似たデータであるため、静止画像または動画像の圧縮アルゴリズムを直接適用することができる。これは高圧縮につながるだけでなく、ＳＮＲスケーラビリティ、解像度スケーラビリティ等の各種スケーラビリティを容易に実現することができるという利点を有している。以上により、３Ｄメッシュ・データの伝送に長時間を要することのない３次元モデリング・データ伝送プログラムを提供することができる。
【図面の簡単な説明】
【図１】本発明の実施の形態１における３次元モデリング・プログラム等が動作する環境を示す図である。
【図２】距離画像について説明する図である。
【図３】本発明の３次元モデリング・プログラムの機能を示すフローチャートである。
【図４】本発明の３次元モデリング・プログラムにおける３次元メッシュ・モデリング・ステップの機能を示すフローチャートである。
【図５】表面点を説明するための図である。
【図６】仮想円筒を説明するための図である。
【図７】仮想円筒４０と位相同型の多様体４０ａ、４０ｂおよび４０ｃを示す図である。
【図８】表面点２８等の仮想円筒４０への射影を説明する図である。
【図９】表面点２８等の仮想円筒４０への射影を説明する図である。
【図１０】仮想円筒４０の展開を説明するための図である。
【図１１】仮想平面Ｐを示す図である。
【図１２】本発明の実施の形態２におけるマッピングの方法を説明するための図である。
【図１３】本発明の実施の形態３における仮想円錐を用いたマッピングを説明する図である。
【図１４】本発明の実施の形態３における３次元射影点作成ステップを示すフローチャートである。
【図１５】本発明の実施の形態４における仮想球を用いたマッピングを説明する図である。
【図１６】本発明の実施の形態５における物体の３次元モデルを作成する処理を制御する３次元モデリング制御プログラムが実行される環境（システム）を示す図である。
【図１７】本発明のコンピュータ・プログラムを実行するコンピュータ１等の内部回路１２０を示すブロック図である。
【図１８】頂点と三角形とで物体（オブジェクト）の表面を近似した３Ｄメッシュを例示する図である。
【図１９】正則メッシュと非正則メッシュとを例示する図である。
【符号の説明】
１  コンピュータ、  ３，８０ａ，８０ｂ，８０ｃ，８０ｄ，８０ｍ−１，８０ｍ  距離画像記録部、    ４  初期解像度記録部、  ５  時刻記録部、  ６  初期解像度記録部、  １０  記録装置、  １１  表面点記録部、  １２  ３次元射影点記録部、１３  ２次元変換点記録部、  １４  画素中心点記録部、  １５画素中心３次元逆変換点記録部、  １６  画素中心対応表面点記録部、  ２０物体、  ２５ａ，２５ｂ，２５ｃ，２５ｄ，２５ｅ，２５ｆ，７０ａ、７０ｂ，７０ｃ，７０ｄ，７０ｅ、７０ｆ  カメラ（撮像装置）、  ２８  表面点、  ３０，３１，３２，３３，３４，３５  距離画像、  ４０  仮想円筒、  ４０ａ，４０ｂ，４０ｃ  仮想円筒と位相同型の多様体、  ４１  中心線、４２  切断平面、  ４４ａ、４４ｂ  ３次元射影点、  ４４ａ（２）、４６（２），４７（２），４８（２）  ２次元変換点、  ４５  基準点、  ５０  仮想円錐、  ６０仮想球、  ６５  中心点、  ７５，１２６  バス、  ９０ａ，９０ｂ，９０ｍ／２  統合記録部、  １００  最終結果記録部、  １０２  ネットワーク、  １０４，１０６，１０８，１１０  記録部、  １２０  内部回路、  １２１  ＣＰＵ、  １２２  ＲＯＭ、  １２３  ＲＡＭ、  １２４  コンピュータローラ、  １２５ａ  ディスク、  １２５ｎ  ＣＤ−ＲＯＭ、  １２７  入力制御部、  １２８  入力操作部、  １２９  外部Ｉ／Ｆ部。
【図１】
2004302524.tif 000004
【図２】
2004302524.tif 000005
【図３】
2004302524.tif 000006
【図４】
2004302524.tif 000007
【図５】
2004302524.tif 000008
【図６】
2004302524.tif 000009
【図７】
2004302524.tif 000010
【図８】
2004302524.tif 000011
【図９】
2004302524.tif 000012
【図１０】
2004302524.tif 000013
【図１１】
2004302524.tif 000014
【図１２】
2004302524.tif 000015
【図１３】
2004302524.tif 000016
【図１４】
2004302524.tif 000017
【図１５】
2004302524.tif 000018
【図１６】
2004302524.tif 000019
【図１７】
2004302524.tif 000020
【図１８】
2004302524.tif 000021
【図１９】
2004302524.tif 000022