JP2005215724A - テクスチャ情報生成装置 - Google Patents
テクスチャ情報生成装置 Download PDFInfo
- Publication number
- JP2005215724A JP2005215724A JP2004017925A JP2004017925A JP2005215724A JP 2005215724 A JP2005215724 A JP 2005215724A JP 2004017925 A JP2004017925 A JP 2004017925A JP 2004017925 A JP2004017925 A JP 2004017925A JP 2005215724 A JP2005215724 A JP 2005215724A
- Authority
- JP
- Japan
- Prior art keywords
- distance
- model
- texture
- texture information
- normal vector
- 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 Generation (AREA)
- Image Analysis (AREA)
Abstract
【課題】 立体モデルに付与すべきテクスチャを短い処理時間で生成する。
【解決手段】 画像取得部130は、三次元物体を複数の角度から撮像した撮像画像を取得する。立体モデル生成部138は、取得した複数の撮像画像をもとに、三次元物体の立体モデルを生成する。距離計算部140は、生成した立体モデルの表面座標点に関し、立体モデルを貫く軸からの距離を算出する。法線演算部136は、その軸からの距離に基づいて立体モデルの面法線ベクトルを算出する。テクスチャ情報処理部142は、算出した面法線ベクトルに基づいて、取得した複数の撮像画像から立体モデルに付与するために抽出した画像情報をテクスチャ情報として取得する。
【選択図】図7
【解決手段】 画像取得部130は、三次元物体を複数の角度から撮像した撮像画像を取得する。立体モデル生成部138は、取得した複数の撮像画像をもとに、三次元物体の立体モデルを生成する。距離計算部140は、生成した立体モデルの表面座標点に関し、立体モデルを貫く軸からの距離を算出する。法線演算部136は、その軸からの距離に基づいて立体モデルの面法線ベクトルを算出する。テクスチャ情報処理部142は、算出した面法線ベクトルに基づいて、取得した複数の撮像画像から立体モデルに付与するために抽出した画像情報をテクスチャ情報として取得する。
【選択図】図7
Description
この発明は三次元モデリング技術に関し、特に、対象物体を撮像して生成される立体モデルにテクスチャ情報を付与するための技術に関する。
コンピュータの画像表現力の向上や、ネットワークのブロードバンド化により、三次元デジタルコンテンツを取り扱うための土壌は整いつつある。このような時代背景の中、視覚によって感知される外界情報を三次元画像データに変換する技術が求められている。
美術品をアーカイブ化したり、クレイモデルから設計データを取得したり、人間を撮影してその立体像を得るようなとき、実在の対象物体を三次元デジタイズしてモデリングすることがある。コンピュータにより対象物体をモデリングして三次元画像データである立体モデルが生成されると、今度はこの立体モデルに対してテクスチャを付与する必要がある。
たとえば、特許文献1は、そのために立体モデルの表面領域をポリゴン分割して、テクスチャを付与するための技術を開示する。対象物体の三次元モデリングは、CG処理をするハードウエアの高性能化やオブジェクトデータを伝送する通信帯域の拡大により、今後さらに多くのアプリケーションを獲得していくと思われる。
特開平11−120372号公報
上述の代表例として示した立体モデルにテクスチャを付与するための技術には、ポリゴンを生成する処理が必須である。このポリゴン生成処理のための時間がかかると、三次元モデリング処理全体として時間がかかることになる。とくに、ポリゴンを精緻化すると、三次元モデリング処理には更に時間がかかる。このテクスチャ付与に要する時間をいかに短縮できるかは、実用的な三次元モデリング技術を確立する上で極めて重要である。
本発明は、このような課題に鑑みてなされたものであり、その目的は、立体モデルへ付与すべきテクスチャ情報を高速に生成するための技術を提供することにある。
本発明のテクスチャ情報生成装置は、三次元物体を複数の角度から撮像した撮像画像から立体モデルを生成する。次に、立体モデルを貫く軸から表面座標点までの距離に基づいて、立体モデルの面法線ベクトルを算出する。そして、この面法線ベクトルに基づいて、撮像画像から立体モデルに付与するために抽出した画像情報をテクスチャ情報として取得する。なお、立体モデルの算出すべき面法線ベクトルは、軸からの距離を計算した表面座標点における面法線ベクトルであればよい。テクスチャ情報生成装置は、立体モデルの外部に設定された基準平面からの距離に基づいて、立体モデルの面法線ベクトルを算出してもよい。
本発明によれば、立体モデルへ付与すべきテクスチャ情報を高速に生成できる。
図1は、対象物体104の撮像画像を取得するためのハードウェア構成を示す図である。対象物体104は三次元モデリングの対象となる3次元物体である。12個のカメラ102が同一平面上において30度間隔で配置されている。すべてのカメラ102は対象物体104の中心を撮像方向に設定している。対象物体104の中心点と各カメラ102の距離は等距離である。これにより、計12方向から12枚の撮像画像が取得される。テクスチャ情報生成装置100は、これら複数のカメラ102から得られた12枚の撮像画像から立体モデルを生成する。テクスチャ情報生成装置100は、専用のコンピュータであってもよいが、通常の計算処理能力を有する汎用的なコンピュータであってもよい。
図2は、三次元モデリングの全般的な処理過程を示すフローチャートである。図1に示したように、カメラ102が対象物体104を複数の角度から撮像することにより撮像画像が取得される(S10)。これらの撮像画像はテクスチャ情報生成装置100に入力される。テクスチャ情報生成装置100は、特許文献1に示すボーティング処理により、仮想的なボクセル(voxel)に分割された三次元空間(以下、単に「ボクセル空間」とよぶ)にて立体モデルを生成する(S12)。
ボクセルは、直交座標空間におけるX、Y、Z軸のそれぞれの方向に空間を等間隔で分割したときに切り出される立方体である。立体モデルはボクセル空間において、ボクセルを単位として積み木状に構成される。換言すれば、立体モデルを包含するボクセル空間内においては、立体モデルに含まれるボクセル(以下、単に「内ボクセル」とよぶ)と立体モデルに含まれないボクセル(以下、単に「外ボクセル」とよぶ)が存在することになる。
テクスチャ情報生成装置100は、ボクセルによって構成された立体モデルの表面にテクスチャを付与する(S14)。テクスチャは立体モデル表面に付与するための色彩情報であり、本装置の場合は、撮像画像から抽出される。これにより、彩色された立体モデルが完成する。本発明は、S14におけるテクスチャを立体モデルに付与するための処理に関する。その説明に先立って、本発明の特徴をより明確にするために、従来のテクスチャ付与方法について簡単に説明する。
図3は、従来のポリゴン生成によるテクスチャ付与処理の過程を示すフローチャートである。同フローチャートは、図2のS14の処理をさらに詳細に示すフローチャートである。立体モデルが生成されると、特許文献1に示すポリゴン生成処理により、立体モデルの表面はポリゴンとよばれる三角形状の平面で分割される(S20)。次に、設定された一時変数iにゼロが代入される(S22)。変数iは、テクスチャが付与済みのポリゴンを数えるための変数である。
iが総ポリゴン数以下であれば(S24のY)、そのi番目のポリゴンにテクスチャが付与される(S26)。付与後、iはインクリメントされる(S28)。iが立体モデルの総ポリゴン数以上の数となっていれば(S24のN)、すべてのポリゴンにテクスチャが付与されたので処理は終了する。
図4は、図3のS26の処理を更に詳細に示すフローチャートである。まず、生成されたポリゴンについての面法線ベクトルが決定される(S30)。次に、カメラ102が対象物体104を撮像した角度とこの面法線ベクトルの角度に応じて、付与すべきテクスチャを含む撮像画像が選択される(S32)。選択した撮像画像から、更に、そのポリゴンに対応する位置のテクスチャが抽出される(S34)。撮像画像から抽出されたテクスチャはポリゴンに付与される(S36)。
ここに示す従来方法においては、図3のS20に示したポリゴン生成処理に時間がかかる。とくに、精緻な立体モデルを生成するためにはポリゴンの総数を増やす必要があるため、さらに処理に時間がかかる。立体モデルの表面をポリゴンにより分割するのは、立体モデルに付与すべきテクスチャを特定するために面法線ベクトルが必要だからである。本発明者は、ポリゴン生成処理を経ることなく面法線ベクトルを特定できれば、三次元モデリング処理時間の大幅な短縮が可能であることに想到した。
図5は、本実施例のテクスチャ情報生成装置100におけるテクスチャ付与処理の過程を示すフローチャートである。同フローチャートは、図2のS14の処理をさらに詳細に示すフローチャートである。テクスチャ情報生成装置100は、立体モデル生成後、距離情報を生成する(S40)。ここでいう距離情報とは、立体モデルの表面座標点から立体モデルを貫く軸までの距離を、円筒座標系においてマッピングしたものである。詳しくは後述する。次に、テクスチャ情報生成装置100は距離情報に基づいて、法線情報を生成する(S42)。法線情報とは、立体モデルの表面座標点における面法線ベクトルについて、円筒座標系においてマッピングしたものである。これも詳しくは後述する。テクスチャ情報生成装置100は、この表面座標点に対応づけられた表面座標領域に色彩情報としてテクスチャを付与する。表面座標領域は表面座標点そのものを表す立体モデルの一画素であってもよいし、表面座標点を中心とする矩形領域のように複数の画素によって構成される領域でもよい。結果として、立体モデルの表面は複数の表面座標領域によって分割される。
法線情報が生成されると、テクスチャ情報生成装置100は一時変数iにゼロを代入して初期化する(S44)。変数iは、テクスチャ付与処理が完了した表面座標点を数えるカウンタの役割を果たす。iが表面座標点の総数以下であれば(S46のY)、テクスチャ情報生成装置100は、カメラ102が対象物体104を撮像した角度とそのi番目の表面座標点における面法線ベクトルの一致度をもとに、表面座標点に対応する表面座標領域に付与すべきテクスチャを含む撮像画像を選択する(S48)。テクスチャ情報生成装置100は、選択した撮像画像から、更に、その表面座標領域に対応するテクスチャを抽出する(S50)。テクスチャ情報生成装置100は、撮像画像から抽出したテクスチャを表面座標領域に付与する(S52)。i番目の表面座標点に対応する表面座標領域にテクスチャが付与されると、iはインクリメントされる(S54)。iが立体モデルにおいてマッピングされた表面座標点の総数以上となっていれば(S46のN)、処理は終了する。
特許文献1に詳しい従来方法では、立体モデルの表面を多面体表現するため、多面体表現データ形式であるポリゴンを生成する処理が必要であった。そして、生成されたポリゴンごとに面法線ベクトルを求め、この面法線ベクトルをもとに、ポリゴンに対してテクスチャを付与していた。これに対して、本実施例のテクスチャ情報生成装置100は、円筒座標系において一定間隔に設定できる表面座標点に基づいて面法線ベクトルを求め、表面座標点に対応する表面座標領域にテクスチャを付与する。表面座標領域は表面座標点の座標に基づいて定まる領域であるので、多様な形状のポリゴンを生成するよりも高速に生成できる。
図6は、対象物体104を包含する直交座標空間と円筒座標空間について示す模式図である。中心軸112は対象物体104を貫くよう設定される。この中心軸112を中心として円筒座標空間110が設定される。円筒座標空間110は中心軸112を中心として対象物体104を包含する円筒座標系で表される空間である。同図に示すように、中心軸112と一致する方向にy軸が設定される。また、中心軸112を中心とした回転角をθで表す。直交座標空間120は、対象物体104を包含する直交座標系で表される空間である。同図に示すように、x、y、z軸が設定される。直交座標空間120のx軸方向の幅をsize_x、y軸方向の幅をsize_y、z軸方向の幅をsize_zで表す。
図7は、テクスチャ情報生成装置100の機能ブロック図である。ここに示す各ブロックは、ハードウェア的には、コンピュータのCPUをはじめとする素子や機械装置で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウェア、ソフトウェアの組合せによっていろいろなかたちで実現できることは、当業者には理解されるところである。
テクスチャ情報生成装置100は、画像取得部130、ユーザインタフェース処理部132、制御部134、法線演算部136、立体モデル生成部138、距離計算部140、テクスチャ情報処理部142およびデータ格納部152を含む。データ格納部152は更に、撮像画像格納部154、立体モデル情報格納部156、距離情報格納部158および法線情報格納部160を含む。
ユーザインタフェース処理部132は、ユーザからの操作入力を取得すると共に、ユーザに対して各種情報の表示を行う。制御部134は、ユーザインタフェース処理部132などからの指示によりテクスチャ情報生成装置100の各機能ブロックを統括的に制御する。画像取得部130は、カメラ102から対象物体104について複数の撮像画像を取得する。画像取得部130は、取得した撮像画像をその対象物体104に対する撮影位置や角度と対応づけて撮像画像格納部154に格納する。すなわち、撮像画像格納部154には、各カメラ102から取得された撮像画像が格納される。画像取得部130がすべての撮像画像を取得すると、立体モデル生成部138はボーティング処理を実行して対象物体104の立体モデルを生成する。立体モデル生成部138は、ボクセルの集合体として生成した立体モデルのデータを立体モデル情報格納部156に格納する。
距離計算部140は、この生成された立体モデルの表面座標点の中心軸112からの距離(以下、単に「軸距離」とよぶ)を計算する。距離計算部140は、まず、内ボクセルのうち、立体モデルの表面にあたるボクセル(以下、「表面ボクセル」とよぶ)を抽出する。そして、これらの表面ボクセル上の表面座標点に関しそれぞれ算出した軸距離を立体モデルを包容する円筒座標系に基づく距離情報として距離情報格納部158に格納する。法線演算部136は、この距離情報に基づいて各表面座標点について面法線ベクトルを算出する。法線演算部136は面法線ベクトルを法線情報として法線情報格納部160に格納する。テクスチャ情報処理部142は、法線情報格納部160が格納する法線情報を参照して立体モデルの表面座標領域にテクスチャを付与する。テクスチャ情報処理部142はテクスチャ付与後の立体モデルを立体モデル情報格納部156に再格納する。
図8は、距離情報格納部158が格納する距離情報のデータ構造を示す図である。距離情報は、円筒座標空間110に基づいて表される。同図において横軸は回転角θにあたり、360度を0〜3599の3600個に等分した欄が設定される。縦軸はy軸にあたり、0〜679までの680個の欄が設定される。すなわち、3600×680で合計2448000個の表面座標点が設定される。同図では、座標(θ、y)=(170、210)における表面座標点の軸距離は「12」である。次に、図5に示したS40においてこの距離情報を生成する処理過程を更に詳細に説明する。
図9は、図5に示したS40の処理を更に詳細に示すフローチャートである。距離計算部140は、距離情報を0に初期化する(S58)。距離計算部140は、y方向を表す変数jに0を代入して初期化する(S60)。変数jがsize_yより小さければ(S62のY)、距離計算部140はy=jのxz平面について距離情報を生成する(S64)。このxz平面での距離情報生成後、距離計算部140は変数jをインクリメントする(S68)。変数jがsize_y以上となっていれば(S62のN)、処理は終了する。図8に示した例によれば、size_y=680であり、変数jは0〜679まで移行する。
図10は、図9のS64の処理を更に詳細に示すフローチャートである。距離計算部140は、z方向を表す変数kに0を代入して初期化する(S70)。変数kがsize_zより小さければ(S72のY)、距離計算部140は、x方向を表す変数nに0を代入して初期化する(S74)。変数nがsize_xより小さければ(S76のY)、直交座標空間120における座標(n、j、k)に位置するボクセルに関して、距離情報を生成する(S78)。距離情報生成後、距離計算部140は変数nをインクリメントする(S80)。変数nがsize_x以上となれば(S76のN)、距離計算部140は変数kをインクリメントする(S82)。変数kがsize_z以上となれば(S72のN)、処理は終了する。
図11は、表面ボクセルの境界線分について説明するための模式図である。表面ボクセル180は内ボクセルである。表面ボクセル180には隣り合う内ボクセルが存在しない面がある。この場合、距離計算部140は表面ボクセル180が表面ボクセルであると判定する。図10のS78において、各ボクセルについての距離情報を生成するときには、まず表面ボクセル180のxz平面における境界線分を特定する。同図では境界線分182と境界線分184が、境界線分として特定される。この境界線分上の点を表面座標点として特定し軸距離を計算する。次に、その具体的な処理過程を説明する。
図12は、図10のS78の処理を更に詳細に示すフローチャートである。S78は、y=jにおけるxz平面に存在するすべてのボクセルに対して実行される。直交座標空間120は、内ボクセルに隣接する別の内ボクセルが存在するか否かに基づいて立体モデルの表面を特定する。
直交座標空間120における座標(n、j、k)のボクセルが、内ボクセルでなければ(S90のN)、そのボクセルについての処理は終了する。内ボクセルであれば(S90のY)、直交座標空間120における座標(n−1、j、k)の隣接するボクセルが、内ボクセルか否かを判定する(S92)。外ボクセルであれば(S92のY)、座標(n、j、k)の内ボクセルの−x方向に境界線分が存在する。距離計算部140は、この内ボクセルの−x方向における境界線分について境界処理を実行する(S126)。境界処理とは、境界線分上に特定される表面座標点について軸距離を算出する処理である。図11に示した表面ボクセル180の場合、−x方向に境界線分184が存在しているので、境界線分184について境界処理が実行される。
S92において内ボクセルであれば(S92のN)、S126はスキップされる。−x方向に隣接するボクセルが内ボクセルであれば、その向きに境界線分が存在しないからである。次に、座標(n+1、j、k)の隣接するボクセルが、内ボクセルか否かを判定する(S94)。外ボクセルであれば(S94のY)、+x方向に境界線分が存在する。距離計算部140は、このボクセルの+x方向の境界線分について境界処理を実行する(S128)。S94において内ボクセルであれば(S94のN)、S128はスキップされる。
次に、座標(n、j、k−1)の隣接するボクセルが、内ボクセルか否かを判定する(S96)。外ボクセルであれば(S96のY)、−z方向に境界線分が存在する。距離計算部140は、このボクセルの−z方向の境界線分について境界処理を実行する(S130)。S96において、内ボクセルであれば(S96のN)、S130はスキップされる。
次に、座標(n、j、k+1)の隣接するボクセルが、内ボクセルか否かを判定する(S98)。外ボクセルであれば(S98のY)、+z方向に境界線分が存在する。距離計算部140は、このボクセルの+z方向の境界線分について境界処理を実行する(S100)。S98において、内ボクセルであれば(S98のN)、S100はスキップされる。
図13は、境界処理の内容を説明するための模式図である。距離計算部140は、表面ボクセルの境界線分上における表面座標点について軸距離を算出する。面190は、立体モデルに含まれるある表面ボクセルのxz平面である。面190は境界線分196を有する。境界線分196は、点Aと点Bを両端とする。このとき、境界線分196上に表面座標点が設定される。点Cは、このxz平面における中心軸112の位置である。点Aの円筒座標系における回転角はθ1、点Bの回転角はθ2である。距離計算部140は、点Aから点Bまでを走査して境界線分196上のθ1からθ2までのさまざまな回転角に対応した表面座標点について距離情報を生成する。
同図において、面192は、同一のxz平面に存在する別の内ボクセルのxz平面である。面192も表面ボクセルのxz平面であり境界線分198を有する。点Dは境界線分198上に存在する表面座標点であり、その回転角はθ1である。境界線分196について境界処理を実行した場合には、回転角θ1についての軸距離は点Aから点Cまでの距離と算出される。一方、境界線分198について境界処理を実行した場合には、回転角θ1について点Dから点Cまでの距離が軸距離として算出される。この場合には、回転角θ1についての軸距離は点Dから点Cまでの距離に決定される。このように、同一のxz平面における同一の回転角に対する軸距離は、より長い軸距離に決定される。
図14は、図12のS126、S128、S130およびS100の境界処理を更に詳細に示すフローチャートである。距離計算部140は、xz平面において境界線分を抽出すると、この線分を円筒座標空間110における円筒座標系に変換する(S110)。距離計算部140はこの境界線分について処理すべき回転角の範囲を決定する(S112)。図13の境界線分196の場合には、処理すべき回転角の範囲はθ1からθ2である。距離計算部140は、xz平面における回転角を表す変数mを有する。mは計360度の回転角を3600等分する。この場合、mの値は0から3599までの数である。たとえば、m=121は、回転角12.1度に対応する。距離計算部140は、境界線分196における回転角の最低値であるθ1に対応してm_min、最大値であるθ2に対応してm_maxを設定する。
まず、距離計算部140は、変数mにm_minを代入して初期化する(S114)。mがm_max以下であれば(S116のY)、距離計算部140は回転角mにおける境界線分上の表面座標点につき軸距離を計算する(S118)。このときの軸距離をdtmp(m、j)と表す。距離計算部140は、変数mについての軸距離が別の表面ボクセルについての境界処理において既に計算されている場合には、すでに計算済みの軸距離d(m、j)とdtmp(m、j)の大小を比較判定する(S120)。新たに計算した軸距離dtmp(m、j)が既に計算済みの軸距離d(m、j)よりも大きければ(S120のY)、軸距離d(m、j)にdtmp(m、j)を代入してその値を更新する(S122)。大きくなければ(S120のN)、S122はスキップされる。距離計算部140はmをインクリメントし(S124)、処理はS116に戻る。S116において、mがm_maxよりも大きければ(S116のN)、この境界線分についての境界処理は終了する。この境界処理をすべての境界線分について実行することにより、円筒座標空間110のすべての座標(m、j)について、距離情報が生成される。以上の処理により、図8に示した距離情報が完成する。
図15は、法線情報格納部160が格納する法線情報のデータ構造を示す図である。法線情報も、円筒座標空間110に示した円筒座標系に基づいて表される。同図において横軸は回転角θにあたり、360度の回転角を0〜3599の3600個に等分した欄が設定される。縦軸はy軸にあたり、0〜679までの680個の欄が設定される。すなわち、距離情報と同様に3600×680で合計2448000個の表面座標点が設定されている。同図では、座標(m、j)=(112、150)における表面座標点の面法線ベクトルの回転角は「24(度)」となっている。
図16は、面法線ベクトルの算出処理を説明するための模式図である。法線演算部136は、距離情報を参照し、同一のxz平面において回転角の異なる複数の表面座標点についてそれぞれ算出された軸距離に基づき、面法線ベクトルを算出する。境界線204は、立体モデルのあるxz平面における境界線である。立体モデルはボクセルによって構成されるため、通常は境界線204は完全になめらかな線とはならない。点E、点F、点GはそれぞれS40の処理過程において特定された、同一xz平面において隣り合う表面座標点である。点Cは、xz平面における中心軸112の位置である。円筒座標系における点Eの回転角はθ3、点Fの回転角はθ4、点Gの回転角はθ5である。同図では、説明のためにこれら各点についての回転角の差を大きく示すが、通常はこれらの回転角の差はきわめて小さい。なお、これらの隣り合う表面座標点間の回転角差は一定である。たとえば、同図に示した例では、θ4−θ3=θ5−θ4となる。
隣り合う表面座標点であっても、それらは別々の境界線分や別々の内ボクセルに所属してよい。これらの各回転角ごとの軸距離は距離情報として距離情報格納部158に格納されている。同図では、点Fの面法線ベクトルを算出する場合を示す。面法線ベクトル200は、点Fにおける真の面法線ベクトルである。このとき、点Fの隣の表面座標点である点Eと点Gを結ぶxz平面上の線分EGを設定する。次に、線分CFと線分EGの交点Hから線分EGに対して垂直なベクトル202を求める。そして、この算出されたベクトル202を、点Fにおける真の面法線ベクトル200であると近似する。点Eや点Gが点Fと十分に近ければ、より正確な面法線ベクトルを算出することができる。
図17は、図5のS42における処理を更に詳細に示すフローチャートである。法線演算部136はまず、法線情報に0を代入して初期化する(S138)。法線演算部136は、y方向を表す変数jに0を代入して初期化する(S140)。jがsize_yよりも小さければ(S142のY)、法線演算部136は回転角θを表す変数mに0を代入して初期化する(S144)。mは360度を0から3599までの3600等分して表す。mが360度、すなわち、3600よりも小さければ(S146のY)、円筒座標空間110における座標(θ、y)=(m、j)における表面座標点についての面法線ベクトルを、同一のxz平面にて隣り合う表面座標点から算出する(S148)。算出後、法線演算部136はmをインクリメントし(S150)、処理はS146に戻る。mが360度以上となれば(S146のN)、法線演算部136はjをインクリメントし(S152)、処理はS142に戻る。jがsize_y以上となれば(S142のN)、法線情報の生成処理は終了する。
こうして、立体モデル生成部138は生成した法線情報を法線情報格納部160に格納する。テクスチャ情報処理部142は各表面座標点についての面法線ベクトルの角度と撮像の角度の差が最も180度に近くなるような角度で撮像された撮像画像を撮像画像格納部154から選択する。表面座標点から面法線ベクトル方向に伸びた線が選択された撮像画像と交わる点を求め、その交点における撮像画像の色彩をテクスチャ情報として表面座標点に対応する表面座標領域に投影する。このような処理により立体モデルが彩色される。
以上に示した実施例によれば、ポリゴンを生成することなく、立体モデルにテクスチャを付与できる。そのため、三次元モデリングに要する処理時間を従来よりも短縮できる。実施例では、立体モデルの中心を一直線に貫く軸に基づいて軸距離の計算を行う場合を示した。本発明においては、立体モデルを複数のxz平面に分割して独立に処理を実行する。そのため、距離情報を生成するに際してyの値が異なるxz平面ごとに軸の位置が異なっても良い。たとえば、対象物体104がバナナ形状である場合、立体モデルを一直線に貫く軸を設定できない場合がある。このようなとき、距離計算部140は、立体モデルの切断面の略重心を貫く軸を設定して、軸距離を算出してもよい。これにより、立体モデルのすべてのxz切断面に対して、正しく軸距離を算出できる。
以上、実施例をもとに本発明を説明した。なお本発明はこの実施の形態に限定されることなく、そのさまざまな変形例もまた、本発明の態様として有効である。
(変形例1)
上記実施例では、円筒座標系に基づいて距離情報を生成したが、直交座標系に基づいて距離情報を生成してもよい。この場合、立体モデルのxz切断面につき、軸からではなく立体モデルを包含する直交座標空間のxy平面やyz平面から各表面座標点までの奥行き距離を距離情報として算出する。この方法によれば、立体モデルの正面に対してより簡便にテクスチャを付与できる。
上記実施例では、円筒座標系に基づいて距離情報を生成したが、直交座標系に基づいて距離情報を生成してもよい。この場合、立体モデルのxz切断面につき、軸からではなく立体モデルを包含する直交座標空間のxy平面やyz平面から各表面座標点までの奥行き距離を距離情報として算出する。この方法によれば、立体モデルの正面に対してより簡便にテクスチャを付与できる。
図18を参照して、本変形例における距離情報の生成方法について説明する。各表面座標点についての距離情報はxy平面(以後、「基準xy平面」とよぶ)からの距離に基づいて生成される。たとえば、表面座標点Eにおける距離は線分EE’の長さに相当する。線分EE’は基準xy平面の法線である。点Eはこの法線と基準xy平面の交点である。各表面座標点の距離情報は、距離情報配列(d[x][y])に格納される。
基準xy平面からの距離の基づいて各表面座標点の距離情報を生成する場合には、x座標が等しい表面座標点は2個以上存在する。本実施例におけるテクスチャ情報生成装置100は、基準xy平面をボクセル空間の外側、すなわち、モデリング対象となる三次元物体の外側に設定し、基準xy平面からの距離が近い方の表面座標点の距離情報のみを距離情報配列に格納する。すなわち、基準xy平面から視認可能な物体面にのみテクスチャ情報が付与される。
この距離情報の生成処理は図14に関連して説明したフローチャートと同様の処理過程により実行可能である。ただし、本実施例では、S118の距離算出処理は図18に関連して説明した方法により距離情報が算出される。なお、処理の開始条件および終了条件は適切に設定すべきである。また、本実施例においては、S110における境界線分を円筒座標系に変換する処理は不要であることは言うまでもない。
次に図19を参照して、本実施例における法線情報の生成方法について説明する。円筒座標系により生成された距離情報を利用する上記実施例と同様に、法線演算部136は各表面座標点における面法線ベクトルを表面座標点の両隣に位置する二つの表面座標点の間を結ぶ線分の垂線により近似的に求める。たとえば、表面座標点Gの面法線ベクトル202Gは、表面座標点Gに隣接する表面座標点Fと表面座標点Hを結ぶ線分FHの垂線の方向と一致する。上記した実施例と同様、テクスチャ情報処理部142は求められた各表面座標点についての面法線ベクトルの角度に基づいて撮像画像格納部154から撮像画像を選択する。
この法線情報の生成処理は図17に関連して説明したフローチャートと同様の処理過程により実行可能である。円筒座標系に基づいた法線情報生成の場合、S148の面法線ベクトルの算出を図16に関連して説明した方法により実行した。本実施例では図19に関連して説明した方法により算出される。なお、処理の開始条件および終了条件は適切に設定すべきである。
(変形例2)
上記実施例では、表面座標点における面法線ベクトルの方向に基づいて、テクスチャ生成用の撮像画像は選択された。すなわち、面法線ベクトルの方向に基づいて、どのカメラによる撮像画像に基づいてテクスチャ生成するかを決定する。しかし、凹凸が多くて滑らかでない表面形状の対象物体104の場合、近接する表面座標点でありながら、それぞれにおける面法線ベクトルの方向が大きく異なる場合がある。このとき、近接する表面座標点に対して選択される撮像画像の撮像角度差が大きくなりやすい。一般に、各撮像画像の撮像条件はカメラ102の配置に伴う照明条件に依存する。したがって、先述のように撮像画像の撮像角度が大きく変わる場合、各カメラ102の配置に伴う照明条件の違いに影響され、テクスチャ付与後の立体モデルの彩色に関し、このような表面座標点の近辺におけるむらが生じ得る。そこでテクスチャ情報処理部142は、近接する表面座標点に対して選択される撮像画像の撮像角度が大きく異ならないように処理してもよい。テクスチャ情報生成装置100は、法線情報を円筒座標系における角度θと高さyに基づく二次元配列に格納するので、2次元画像処理で行われる既知の方法であるスムージング処理によりこのような処理を実行可能である。
上記実施例では、表面座標点における面法線ベクトルの方向に基づいて、テクスチャ生成用の撮像画像は選択された。すなわち、面法線ベクトルの方向に基づいて、どのカメラによる撮像画像に基づいてテクスチャ生成するかを決定する。しかし、凹凸が多くて滑らかでない表面形状の対象物体104の場合、近接する表面座標点でありながら、それぞれにおける面法線ベクトルの方向が大きく異なる場合がある。このとき、近接する表面座標点に対して選択される撮像画像の撮像角度差が大きくなりやすい。一般に、各撮像画像の撮像条件はカメラ102の配置に伴う照明条件に依存する。したがって、先述のように撮像画像の撮像角度が大きく変わる場合、各カメラ102の配置に伴う照明条件の違いに影響され、テクスチャ付与後の立体モデルの彩色に関し、このような表面座標点の近辺におけるむらが生じ得る。そこでテクスチャ情報処理部142は、近接する表面座標点に対して選択される撮像画像の撮像角度が大きく異ならないように処理してもよい。テクスチャ情報生成装置100は、法線情報を円筒座標系における角度θと高さyに基づく二次元配列に格納するので、2次元画像処理で行われる既知の方法であるスムージング処理によりこのような処理を実行可能である。
(変形例3)
上記実施例では、表面座標点における面法線ベクトルの方向に基づいて、テクスチャ生成用の撮像画像は一義的に選択された。しかし、テクスチャ生成用に複数の撮像画像を選択し、この複数の画像を合成処理してテクスチャを生成してもよい。たとえば、面法線ベクトルの角度と撮像角度の差が最も180度に近い角度で撮像された第1の撮像画像と、2番目にその差が180度に近い角度で撮像された第2の撮像画像を合成してテクスチャを生成してもよい。これにより、よりスムーズに立体モデルを彩色できる。
上記実施例では、表面座標点における面法線ベクトルの方向に基づいて、テクスチャ生成用の撮像画像は一義的に選択された。しかし、テクスチャ生成用に複数の撮像画像を選択し、この複数の画像を合成処理してテクスチャを生成してもよい。たとえば、面法線ベクトルの角度と撮像角度の差が最も180度に近い角度で撮像された第1の撮像画像と、2番目にその差が180度に近い角度で撮像された第2の撮像画像を合成してテクスチャを生成してもよい。これにより、よりスムーズに立体モデルを彩色できる。
(変形例4)
上記実施例では、隣接する二つの表面座標点の距離情報に基づき、法線情報は生成された。しかし、法線演算部136は、2つに限ることなく、3つ以上の表面座標点の距離情報に基づき法線情報を生成してもよい。
上記実施例では、隣接する二つの表面座標点の距離情報に基づき、法線情報は生成された。しかし、法線演算部136は、2つに限ることなく、3つ以上の表面座標点の距離情報に基づき法線情報を生成してもよい。
(変形例5)
上記実施例では、対象物体104を固定し、その周囲に配置された複数台のカメラ102が撮像した複数の撮像画像に基づき、三次元モデリング処理が実行された。そのほかの方法として、カメラ102は一台のみとし、対象物体104を自転させて撮像された複数の撮像画像に基づいて、三次元モデリング処理を実行してもよい。この場合であっても、上記実施例や上記変形例1から4にて説明した処理過程と同等の処理過程により、三次元モデリング処理を実行できる。
上記実施例では、対象物体104を固定し、その周囲に配置された複数台のカメラ102が撮像した複数の撮像画像に基づき、三次元モデリング処理が実行された。そのほかの方法として、カメラ102は一台のみとし、対象物体104を自転させて撮像された複数の撮像画像に基づいて、三次元モデリング処理を実行してもよい。この場合であっても、上記実施例や上記変形例1から4にて説明した処理過程と同等の処理過程により、三次元モデリング処理を実行できる。
100 テクスチャ情報生成装置、102 カメラ、104 対象物体、130 画像取得部、136 法線演算部、138 立体モデル生成部、140 距離計算部、142 テクスチャ情報処理部、152 データ格納部、154 撮像画像格納部、156 立体モデル情報格納部、158 距離情報格納部、160 法線情報格納部。
Claims (9)
- 三次元物体を複数の角度から撮像した撮像画像を取得する画像取得部と、
前記取得した複数の撮像画像をもとに、前記三次元物体の立体モデルを生成するモデル生成部と、
前記生成した立体モデルの表面座標点に関し、前記立体モデルを貫く軸からの距離を算出する距離計算部と、
前記算出した距離に基づいて前記立体モデルの面法線ベクトルを算出する法線演算部と、
前記算出した面法線ベクトルに基づいて、前記取得した複数の撮像画像から前記立体モデルに付与するために抽出した画像情報をテクスチャ情報として取得するテクスチャ情報取得部と、
を備えることを特徴とするテクスチャ情報生成装置。 - 複数の表面座標点に関しそれぞれ算出した前記距離を前記立体モデルを包容する円筒座標系に基づく距離配列情報として格納する距離格納部を更に備え、
前記法線演算部は、前記距離配列情報に基づいて前記面法線ベクトルを算出することを特徴とする請求項1に記載のテクスチャ情報生成装置。 - 前記法線演算部は、前記距離配列情報を参照し、前記軸を中心とした回転角度の異なる複数の表面座標点についてそれぞれ算出された前記距離に基づいて面法線ベクトルを算出することを特徴とする請求項2に記載のテクスチャ情報生成装置。
- 前記モデル生成部は、前記三次元物体を複数の六面体により表現する立体モデルを生成し、
前記距離計算部は、前記六面体に隣接する別の六面体が存在するか否かに基づいて前記立体モデルの表面座標点を特定することを特徴とする請求項1から3のいずれかに記載のテクスチャ情報生成装置。 - 前記距離計算部は、前記立体モデルの表面に位置する六面体の境界線上における表面座標点について前記軸からの距離を算出することを特徴とする請求項4に記載のテクスチャ情報生成装置。
- 前記距離計算部は、前記立体モデルの切断面の略重心を貫く軸を設定して、前記軸からの距離を算出することを特徴とする請求項1から5のいずれかに記載のテクスチャ情報生成装置。
- 三次元物体を複数の角度から撮像した撮像画像を取得する機能と、
前記取得した複数の撮像画像をもとに、前記三次元物体の立体モデルを生成する機能と、
前記生成した立体モデルの表面座標点に関し、前記立体モデルを貫く軸からの距離を算出する機能と、
前記算出した距離に基づいて前記立体モデルの面法線ベクトルを算出する機能と、
前記算出した面法線ベクトルに基づいて、前記取得した複数の撮像画像から前記立体モデルに付与するために抽出した画像情報をテクスチャ情報として取得する機能と、
をコンピュータに発揮させることを特徴とするテクスチャ情報生成プログラム。 - 三次元物体を複数の角度から撮像した撮像画像を取得する画像取得部と、
前記取得した複数の撮像画像をもとに、前記三次元物体の立体モデルを生成するモデル生成部と、
前記生成した立体モデルの表面座標点に関し、前記立体モデルの外部に設定された基準平面からの距離を算出する距離計算部と、
前記算出した距離に基づいて前記立体モデルの面法線ベクトルを算出する法線演算部と、
前記算出した面法線ベクトルに基づいて、前記取得した複数の撮像画像から前記立体モデルに付与するために抽出した画像情報をテクスチャ情報として取得するテクスチャ情報取得部と、
を備えることを特徴とするテクスチャ情報生成装置。 - 三次元物体を複数の角度から撮像した撮像画像を取得する機能と、
前記取得した複数の撮像画像をもとに、前記三次元物体の立体モデルを生成する機能と、
前記生成した立体モデルの表面座標点に関し、前記立体モデルの外部に設定された基準平面からの距離を算出する機能と、
前記算出した距離に基づいて前記立体モデルの面法線ベクトルを算出する機能と、
前記算出した面法線ベクトルに基づいて、前記取得した複数の撮像画像から前記立体モデルに付与するために抽出した画像情報をテクスチャ情報として取得する機能と、
をコンピュータに発揮させることを特徴とするテクスチャ情報生成プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004017925A JP2005215724A (ja) | 2004-01-27 | 2004-01-27 | テクスチャ情報生成装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004017925A JP2005215724A (ja) | 2004-01-27 | 2004-01-27 | テクスチャ情報生成装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005215724A true JP2005215724A (ja) | 2005-08-11 |
Family
ID=34902581
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004017925A Pending JP2005215724A (ja) | 2004-01-27 | 2004-01-27 | テクスチャ情報生成装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005215724A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008117113A (ja) * | 2006-11-02 | 2008-05-22 | Fresh Remix Kk | 画像生成装置および方法、画像生成プログラム |
CN112529996A (zh) * | 2020-12-16 | 2021-03-19 | 网易(杭州)网络有限公司 | 生成模型的方法、装置和电子设备 |
JP7480972B1 (ja) | 2024-01-19 | 2024-05-10 | 株式会社アプリクラフト | 情報処理装置、情報処理方法、情報処理プログラム及び非一過性のコンピュータ読み取り可能な記録媒体 |
-
2004
- 2004-01-27 JP JP2004017925A patent/JP2005215724A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008117113A (ja) * | 2006-11-02 | 2008-05-22 | Fresh Remix Kk | 画像生成装置および方法、画像生成プログラム |
CN112529996A (zh) * | 2020-12-16 | 2021-03-19 | 网易(杭州)网络有限公司 | 生成模型的方法、装置和电子设备 |
CN112529996B (zh) * | 2020-12-16 | 2024-02-23 | 网易(杭州)网络有限公司 | 生成模型的方法、装置和电子设备 |
JP7480972B1 (ja) | 2024-01-19 | 2024-05-10 | 株式会社アプリクラフト | 情報処理装置、情報処理方法、情報処理プログラム及び非一過性のコンピュータ読み取り可能な記録媒体 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4999717B2 (ja) | レンジ画像から物体の姿勢を求める方法及びシステム | |
US9098930B2 (en) | Stereo-aware image editing | |
CN105026997A (zh) | 投影系统、半导体集成电路及图像修正方法 | |
JP2008123019A (ja) | 3次元サーフェス生成方法 | |
TWI786157B (zh) | 用於產生場景之舖磚式三維影像表示之設備及方法 | |
JP2019536162A (ja) | シーンのポイントクラウドを表現するシステム及び方法 | |
WO2015051624A1 (zh) | 一种三维物体重建的方法、装置和终端 | |
WO2023093739A1 (zh) | 一种多视图三维重建的方法 | |
WO2019093457A1 (ja) | 情報処理装置、情報処理方法及びプログラム | |
CN111382618B (zh) | 一种人脸图像的光照检测方法、装置、设备和存储介质 | |
JP2018180687A (ja) | 画像処理装置、画像処理方法、及びプログラム | |
CN110738730A (zh) | 点云匹配方法、装置、计算机设备和存储介质 | |
CN107203962B (zh) | 一种利用2d图片制作伪3d图像的方法及电子设备 | |
JP5178538B2 (ja) | 深度マップを画像から決定する方法、深度マップを決定する装置 | |
JP2023527438A (ja) | リアルタイム深度マップを用いたジオメトリ認識拡張現実効果 | |
CN117635875B (zh) | 一种三维重建方法、装置及终端 | |
JP2009530701A5 (ja) | ||
KR102522892B1 (ko) | 가상 시점 영상을 합성하기 위한 입력 영상을 제공하는 카메라 선별 방법 및 장치 | |
JP7298687B2 (ja) | 物体認識装置及び物体認識方法 | |
CN112002007A (zh) | 基于空地影像的模型获取方法及装置、设备、存储介质 | |
JP2008204318A (ja) | 画像処理装置、画像処理方法及び画像処理プログラム | |
JP2005215724A (ja) | テクスチャ情報生成装置 | |
CN113822994B (zh) | 三维模型构建方法、装置及存储介质 | |
JP6156922B2 (ja) | 三次元データ生成装置、三次元データ生成方法、及びプログラム | |
JPH0814860A (ja) | モデル作成装置 |