JP2002366934A - 3次元形状データの生成方法および装置並びにコンピュータプログラム - Google Patents
3次元形状データの生成方法および装置並びにコンピュータプログラムInfo
- Publication number
- JP2002366934A JP2002366934A JP2001177582A JP2001177582A JP2002366934A JP 2002366934 A JP2002366934 A JP 2002366934A JP 2001177582 A JP2001177582 A JP 2001177582A JP 2001177582 A JP2001177582 A JP 2001177582A JP 2002366934 A JP2002366934 A JP 2002366934A
- Authority
- JP
- Japan
- Prior art keywords
- data
- volume data
- volume
- dimensional
- attribute value
- 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.)
- Granted
Links
Landscapes
- Image Processing (AREA)
- Image Generation (AREA)
- Image Analysis (AREA)
Abstract
できるだけ少ないメモリ容量で且つ少ない演算時間で正
確に3次元形状を復元すること。 【解決手段】物体についての3次元形状データを生成す
る方法であって、物体についての視点の異なる複数の画
像からシルエット法を用いてボリュームデータに変換す
ることによって第1のボリュームデータを生成する第1
のステップ、物体について3次元計測によって得られた
3次元データをボリュームデータに変換することによっ
て第2のボリュームデータを生成する第2のステップ、
第1のボリュームデータと第2のボリュームデータとを
統合して1つのボリュームデータとする第3のステップ
を有してなる。
Description
の生成方法および装置並びにコンピュータプログラムに
関する。
成する方法の1つとして、シルエット法(Shape From S
ilhouette )が知られている。
影(または撮像)して得られた複数の画像から、当該物
体の3次元形状を復元する。つまり、シルエット法で
は、物体を複数の視線方法から撮影した画像に基づい
て、それぞれの視線方向から見た物体の形状を反映する
物体存在領域を3次元画像空間内のボクセルの集合とし
て記述する。そして、すべての方向から見た物体存在領
域内のボクセルの集合をその3次元空間内の物体として
求める。
では、物体の窪んだ部分または凹んだ部分がシルエット
画像として表れないため、そのような凹部領域の形状を
復元することができない。
法として、光切断法などにより非接触で物体を計測する
レンジセンサ(3次元計測装置)を用いる方法がある。
しかし、レンジセンサを用いた場合には、物体の表面の
反射率が極めて低い場合にデータが欠落してしまい、そ
の部分の3次元形状を復元できないという問題点があ
る。
ので、凹部領域や低反射率の部分があった場合でも、で
きるだけ少ないメモリ容量で且つ少ない演算時間で正確
に3次元形状を復元することを目的とする。
る方法では、物体についての3次元形状データを生成す
る方法であって、前記物体についての視点の異なる複数
の画像からシルエット法を用いてボリュームデータに変
換することによって第1のボリュームデータを生成する
第1のステップ、前記物体について3次元計測によって
得られた3次元データをボリュームデータに変換するこ
とによって第2のボリュームデータを生成する第2のス
テップ、前記第1のボリュームデータと第2のボリュー
ムデータとを統合して1つのボリュームデータとする第
3のステップを有してなる。
ルエット法を用いてボリュームデータに変換するに際
し、(a) ボリュームを表現する座標系内の離散的な
各座標位置において、前記物体の画像の輪郭と当該画像
の視点とにより定まる視体積の境界までの距離に応じた
値を求めるステップ、(b) 各座標位置について、前
記物体の複数の画像について求めた複数の値に基づいて
物体表面からの距離に応じた値を決定し、各座標位置に
対応付けて保持するステップを実行する。
ータをボリュームデータに変換するに際し、(a) ボ
リュームを表現する座標系内の離散的な各座標位置にお
いて、前記物体の3次元データで表される物体表面まで
の距離に応じた値を求めるステップ、(b) 求めた値
を各座標位置に対応付けて保持するステップを実行す
る。
ことにより、物体の3次元形状が復元される。本発明に
よると、3次元形状データの生成方法の相違によるそれ
ぞれの欠点を補って欠落のない精度のよい3次元モデル
が生成される。
ータ生成装置1のブロック図である。図1において、3
次元データ生成装置1は、装置本体10、磁気ディスク
装置11、媒体ドライブ装置12、ディスプレイ装置1
3、キーボード14、およびマウス15などからなる。
M、ビデオRAM、入出力ポート、および各種コントロ
ーラなどからなる。RAMおよびROMなどに記憶され
たプログラムをCPUが実行することにより、以下に説
明する種々の機能が実現される。
ing System) 、3次元モデルMLを生成するためのモデ
リングプログラムPR、その他のプログラム、入力され
た3次元データ(3次元形状データ)DT、画像(2次
元画像データ)FT、ボリュームデータDV、生成され
た3次元モデルML、その他のデータなどが格納されて
いる。これらのプログラムおよびデータは、適時、装置
本体10のRAMにローディングされる。
期化処理、属性値設定処理、属性値決定処理、境界判定
処理、分割処理、統合処理、逆変換処理、マッピング処
理、およびその他の処理のためのプログラムが含まれ
る。
(CD)、フロッピィディスクFD、光磁気ディスク、
コンパクトフラッシュ(登録商標)などの半導体メモリ
HM、その他の記録媒体にアクセスし、データまたはプ
ログラムの読み書きを行う。記録媒体の種類に応じて適
切なドライブ装置が用いられる。上に述べたモデリング
プログラムPRは、これら記録媒体からインストールす
ることも可能である。3次元データDTおよび画像FT
なども記録媒体を介して入力することが可能である。
上に述べた種々のデータ、3次元データDT、画像F
T、モデリングプログラムPRによる処理過程の画像、
生成された3次元モデルML、その他のデータまたは画
像が表示される。
スプレイ装置13に表示された画像FTおよび3次元デ
ータDTに対して、ユーザが種々の指定を行うために用
いられる他、装置本体10に種々のデータを入力しまた
は指令を与えるために用いられる。
写体である物体を種々の視線で撮影しまたは種々の視点
から撮影して画像FTを入力するためのデジタルカメラ
を接続することが可能である。画像FTから被写体であ
る物体の輪郭を切り出すことにより、シルエット画像F
Sが生成される。シルエット画像FSに基づいて、シル
エット法によって3次元データDTを生成することが可
能である。
次元再構成を行い、3次元データDTを生成することも
可能である。また、装置本体10には、物体を撮影して
その3次元データDTを入力するための3次元入力装置
(3次元計測装置)を接続することも可能である。その
ような3次元入力装置は、例えば光切断法によって物体
の3次元データDTを非接触で計測する。また、3次元
入力装置から、3次元データDTではなく、3次元デー
タDTを生成するための元となるデータを出力し、装置
本体10によって3次元データDTを演算によって求め
てもよい。
T、または3次元データDTを生成する途中のデータ
は、物体の3次元形状を境界表現形式で表現するもので
ある。本実施形態においては、境界表現形式で表現され
た物体の3次元形状を、各ボクセル(Voxel)に多値の属
性値dを持たせたボリュームデータ(Volume Data )D
Vに変換する。ボクセルとは、3次元空間を小さな単位
の格子に分解し、単位格子によって構成される小さな立
方体である。
から変換された複数のボリュームデータDVを、1つの
ボリュームデータDVに統合することも行われる。最終
的なボリュームデータDVは、再度、境界表現形式の形
状表現に逆変換される。その際に、例えば、公知の零等
値面抽出法などを用いることができる。つまり、隣接す
る頂点(格子点)を結ぶ辺上の零等値面に対応する点を
算出し、それらの点を連結した三角ポリゴンを生成する
ことにより、ポリゴンメッシュに変換することができ
る。
クスチャ画像を貼り付けることも行われる。このように
して3次元モデルMLが生成される。3次元データ生成
装置1は、パーソナルコンピュータまたはワークステー
ションなどを用いて構成することが可能である。上に述
べたプログラムおよびデータは、ネットワークNWを介
して受信して取得することも可能である。
元モデルMLの生成処理の流れを示すフローチャートで
ある。図2において、適当なサイズのボリューム(ボリ
ュームデータDV)が準備され、初期化が行われる(#
1)。ボリュームとして、例えば、50×50×50ボ
クセル、または100×100×100ボクセル程度の
サイズのものが用いられる。ボリュームは立方体でなく
てもよい。また、座標系におけるボクセルの中心の座標
および姿勢なども設定される。
類の多値のデータを属性値dとして格納することができ
る。つまり、各頂点に対して、2つの属性値ds,dr
を格納する領域が設けられる。これは、ボクセルの各頂
点に多値のデータを属性値として格納することが可能な
ボリュームが2つある、とすることもできる。この場合
に、一方を第1のボリューム、他方を第2のボリューム
と記載することができる。
のことを「ボリュームデータ」と記載することがある。
その場合には、「ボリュームデータ」は、ボクセルによ
って所定の形状となるように構成され、ボクセルの各頂
点にデータを格納することが可能な3次元領域を意味す
る。
について共通である。したがって、周縁部にはない頂点
については、8つのボクセルの頂点となる。頂点はボリ
ュームデータの格子点と一致する。したがって、「頂
点」を「格子点」と記載することがある。
いて変換処理が行われ、第1のボリュームデータDVが
生成される(#2)。レンジデータを用いて変換処理が
行われ、第2のボリュームデータDVが生成される(#
3)。なお、レンジデータとは、レンジファインダなど
と呼称される3次元計測装置を用いて、物体を計測して
得られた3次元形状データである。また、視差のある複
数の画像からステレオ法によって再構成された3次元形
状データも、ここにいうレンジデータに含まれる。
タDVが統合される(#4)。統合されたボリュームデ
ータDVが、境界表現形式の形状表現に逆変換される
(#5)。必要に応じてテクスチャマッピングが行われ
る(#6)。
変換処理、および複数のボリュームデータDVの統合処
理について、詳しく説明する。まず、変換処理について
説明する。 〔第1の実施形態による変換処理〕図3は3次元データ
生成装置1による変換処理を示すフローチャート、図4
は変換処理の変形例を示すフローチャートである。これ
らのフローチャートで示す変換処理は、レンジデータ、
その他の3次元形状データ、およびシルエット画像を用
いた変換処理に適用される。
表す3次元データDTが準備される。または、3次元デ
ータDTに代えて、3次元データDTの生成の元となる
複数の画像FTが準備される。そして、3次元データD
TとボリュームデータDVとの位置合わせが行われる
(#11)。通常、ボリュームデータDVの中に3次元
データDTが丁度納まるように、それらのサイズおよび
位置が決定される。
ついて、それぞれの頂点から3次元形状を表現する境界
まで、つまり物体の表面までの距離に応じた値が求めら
れる(#12)。求められた値は、各頂点の属性値とし
て保持される(#13)。
り格子点には、多値の属性値が格納され、多値の属性値
を持った格子点群により構成されるボリュームデータD
Vが生成される。
セルが抽出される(#22)。このようなボクセルを
「境界ボクセル」と記載することがある。境界ボクセル
について、その頂点から物体の表面までの距離に応じた
値が求められる(#23)。求められた値は、上と同様
に各頂点の属性値として保持される(#24)。
セルとの共通の頂点である場合に、その頂点は境界ボク
セルの頂点として扱う。 〔第2の実施形態による変換処理〕第2の実施形態に基
づいて、変換処理についてさらに詳しく説明する。な
お、第2および第3の実施形態は、主としてシルエット
画像を用いた変換処理に適用される。
ローチャート、図6は図5のステップ#34の属性値の
設定処理のサブルーチンを示すフローチャート、図7は
シルエット画像FSをボリュームデータDVに投影した
状態を説明するための図、図8は図7に示すシルエット
画像FSの一部を拡大して示す図、図9はボリュームデ
ータDVを水平面で切断した状態を示す図、図10は境
界ボクセルを拡大して示す図、図11はボリュームデー
タDVを格納したボリュームテーブルTLsの例を示す
図である。
ムデータDVについて、すべての格子点TPに初期値を
セットする。これによってボリュームデータDVを初期
化する(#31)。格子点TPの初期値として、例え
ば、物体内部を意味する「プラス無限大」をセットす
る。この場合、「プラス無限大」は本発明における第1
の特定値である。初期化が完了した時点において、図1
0に示すボリュームデータDVはすべて初期値となる。
2)。その際に、画像FTを撮影したときのカメラパラ
メータも入力する。カメラパラメータとして、焦点距離
などのカメラ内部行列、視点位置などの外部行列が挙げ
られる。これらを含んだ射影行列を入力してもよい。カ
メラパラメータに基づいて、画像FTをボリュームデー
タDVに投影する際の視点位置および投影方向が決定さ
れる。
ると、画像FTは磁気ディスク装置11に格納される。
磁気ディスク装置11に格納された画像FTは、プログ
ラムによって自動的にRAM上に読み込まれ、以降の処
理が加えられる。しかし、ステップ#32での画像の入
力を、磁気ディスク装置11に格納された画像FTをR
AM上に読み込む、という意味に用いてもよい。その場
合には、予め多数の画像FTを磁気ディスク装置11に
格納しておき、ステップ#32で指定された1つの画像
FTをRAM上に読み込むようにすればよい。また、画
像の入力を、磁気ディスク装置11に格納された多数の
画像FTの中から、処理すべき1つの画像FTを指定す
る、という意味に用いることも可能である。
体の輪郭が切り出されることにより、シルエット画像F
Sが生成される(#33)。シルエット画像FSは、輪
郭が分かればよいので、モノクロの画像で充分である。
シルエット画像の生成は、公知の方法によって自動的に
または手動により行うことができる。
Xの各頂点(格子点)TPの属性値が求められ、設定さ
れる(#34)。属性値は、各頂点TPと物体の表面と
の間の符号付き距離として求められる。つまり、例え
ば、図7および図8に示されるように、シルエット画像
FSによる輪郭(遮蔽輪郭)と視点VPとで定まる視体
積VVの境界SFから頂点TPまでの距離Lsを、視体
積VVの内側に向かう方向を+(プラス)として求めた
ものである。詳しくは後述する。
に、次の1つの画像を入力する(#35でイエス、#3
2)。これが、必要なすべての画像FTについての処理
が終了するまで繰り返される(#35)。予定したすべ
ての画像FTについての処理を終えた場合でも、必要に
応じて画像FTを追加してステップ#32〜34の処理
を行うことが可能である。
る代わりに、シルエット画像FSを入力することも可能
である。その場合には、ステップ#33は不要である。
図6において、属性値の設定に際し、まず、ボリューム
を構成する1つの格子点TPに注目する(#41)。注
目している格子点TPの属性値をチェックする(#4
2)。属性値が「マイナス無限大」であれば、ステップ
#45に進む。つまり、属性値が「マイナス無限大」で
あるということは、その格子点TPは物体の外部にある
ことを意味する。物体の外部にある格子点TPは切り取
られるので、それ以上に属性値を求める必要はない。こ
の場合、「マイナス無限大」は、本発明における第2の
特定値である。
格子点に初期値として「プラス無限大」がセットされて
いるので、すべてステップ#43に進む。2枚目以降の
画像を処理する時点では、以前の画像の処理により、
「プラス無限大」、「マイナス無限大」、または後述の
「符号付き距離ds」のいずれかが属性値としてセット
されており、「マイナス無限大」以外、つまり「プラス
無限大」または「符号付き距離ds」の場合に、ステッ
プ#43に進む。
ステップ#43において、符号付き距離dsの算出を行
う。符号付き距離の算出には種々の方法がある。次に第
1から第3までの3つの方法を説明する。 (第1の方法)注目している格子点TPと、その格子点
TPに隣接している格子点(つまり同じボクセルVXに
ついての頂点)とを、それぞれ視点VPに向かって画像
FT上に投影する。投影された点同士を画像FT上でつ
ないだときに、それによってできる辺が輪郭(遮蔽輪
郭)と交差する場合に、符号付き距離を計算する。
VXが、視体積VVの境界SF上にある場合に、そのボ
クセルVXは境界ボクセルVXsである。境界ボクセル
VXsの頂点TPについて、符号付き距離を計算する。
差するボクセルVXが、境界ボクセルVXsとして中間
濃度で示されている。図10において、境界ボクセルV
Xsの各頂点TPから視体積VVの境界SFまでの距離
を求める。求めた距離、またはそれに対応する数値が、
それぞれの頂点TPの属性値として示されている。
してよい。距離の最大値は、ボクセルVXの対角線の長
さである。したがって、対角線の長さを基準として、距
離を正規化してもよい。また、視体積VVの内部にある
頂点TPについては、距離の符号をそのまま正の値と
し、外部にある頂点TPについては、距離にマイナスを
付けて負の値とする。
用いる場合には、最上位ビットを符号ビットとし、下位
7ビットで距離を示す。これによって、−127〜+1
28の値を表現することができるので、−127を、外
部を示す「マイナス無限大」に対応させ、+128を、
内部を示す「プラス無限大」に対応させ、−126〜+
127を符号付き距離に対応させる。属性値として、1
2ビット、16ビット、その他のビット数のデータを用
いることができる。
界SF上にある場合には、その属性値は零となる。格子
点TPが視体積VVの内部にいくにしたがって属性値は
大きくなり、外部にいくにしたがって属性値は小さくな
る。
り境界ボクセルVXsでない場合には、その格子点TP
は視体積VVの内部または外部に存在する。外部にある
場合には、その格子点TPは切り取るべき点であるか
ら、属性値を「マイナス無限大」とする。内部にある場
合には属性値を「プラス無限大」のままとする。 (第2の方法)注目している格子点TPを視点VPに向
かって画像FT上に投影する。投影された点を中心と
し、中心から一定の半径の円の内部の領域に遮蔽輪郭が
あるか否かをチェックする。遮蔽輪郭が存在する場合
に、符号付き距離を計算する。領域内に遮蔽輪郭が存在
しない場合で、格子点TPが視体積VVの外部にある場
合には、属性値を「マイナス無限大」とする。。 (第3の方法)遮蔽輪郭を一定間隔でサンプリングし、
サンプリング点と視点VPとを結ぶ直線を得る。これら
の直線は、遮蔽輪郭を通る視線である。視体積VVの境
界SFに代えて視線を用い、3次元的に符号付き距離を
算出する。つまり、境界ボクセルVXsの頂点TPにつ
いて、頂点TPから視線までの距離を算出する。注目す
る格子点TPが視体積VVの外部にある場合には、属性
値を「マイナス無限大」とする。
TPに属性値をセットする。属性値をセットする際に
は、既にセットされている属性値よりも小さい値のみを
セットする。既にセットされている属性値よりも大きい
値が新たに得られている場合には、その新しい属性値は
無視する。
無限大」が得られたとすると、先にセットされている属
性値が何であれ、属性値は「マイナス無限大」となる。
このようにして物体の外部が切り取られていく。
った場合には、それらの平均値を求めてそれを新たな属
性値dとしてもよい。すべての格子点TPに対して処理
を行ったかどうかをチェックする(#45)。まだ処理
を行っていない格子点TPがある場合は、ステップ#4
1以降を繰り返す。すべての格子点TPについての処理
を終えた場合にはリターンする。これによって、図11
に示すようなボリュームテーブルTLsが完成する。
ごとに処理が行われるので、画像の処理が終わればその
画像を削除することができ、それだけ使用するメモリ容
量が少なくて済む。 〔第3の実施形態による変換処理〕第2の実施形態の変
換処理では、画像FTを追加していくことにより変換処
理を進行したが、最初に複数枚の画像FTをまとめて入
力し(読み込み)、処理を行うことも可能である。次に
その例を第3の実施形態として示す。
フローチャート、図13は図12のステップ#54の属
性値の設定処理のサブルーチンを示すフローチャートで
ある。
ステップ#31と同様である。ステップ#52では、物
体について撮影したすべての画像FTを一時に入力す
る。その際に、それぞれの画像FTを撮影したときのカ
メラパラメータを入力する。各画像FTについて、ステ
ップ#33と同様にシルエット画像FSが生成される
(#53)。そして、属性値の設定が行われる(#5
4)。
ず、ステップ#41と同様に、1つの格子点TPに注目
する(#61)。注目している格子点TPが、視体積V
Vに対してどのような位置に存在するかをチェックする
(#62)。
SFの付近に存在する場合には属性値を仮に「BORDER」
とし、視体積VVの内部に存在する場合には属性値を
「INSIDE」とし、被写体の外部に存在する場合には属性
値を「OUTSIDE 」とする。属性値「INSIDE」「OUTSIDE
」は、本発明における第1の特定値および第2の特定
値である。次に2つのチェック方法について説明する。 (第1の方法)注目している格子点TPと隣接している
格子点とを、すべての画像FT上に投影する。投影され
たそれぞれの画像FT上において、投影された2つの点
を各画像FT上でつないだときに、それによってできる
辺が輪郭(遮蔽輪郭)と交差するか否かを判断する。1
つでも交差する画像FTが存在すれば、格子点TPは視
体積VVの境界SF付近に存在すると判断し、属性値を
仮に「BORDER」とする。交差する画像FTがない場合
で、格子点TPの投影点が遮蔽輪郭の外部に存在してい
る画像が1つでもあれば、格子点TPは被写体の外部に
存在すると判断し、属性値を仮に「OUTSIDE 」とする。
それ以外の場合は、格子点TPは被写体の内部に存在す
ると判断し、属性値を仮に「INSIDE」とする。 (第2の方法)注目している格子点TPをすべての画像
FT上に投影する。投影された各点を中心とし、中心か
ら一定の半径の円の内部の領域に遮蔽輪郭があるか否か
をチェックする。遮蔽輪郭を含むと判断された画像が1
つでも存在する場合は、視体積VVの境界SF付近に存
在すると判断する。遮蔽輪郭を含むと判断された画像が
ない場合で、格子点TPの投影点が遮蔽輪郭外に存在し
ている画像が1つでもあれば、被写体の外部に存在する
と判断する。それ以外の場合は、被写体の内部に存在す
ると判断する。
て、全ての画像FTを考慮した上で、仮の属性値を決定
する。仮の属性値が「OUTSIDE 」または「INSIDE」であ
る場合には、属性値を、例えば、それぞれ「マイナス無
限大」または「プラス無限大」とする。仮の属性値が
「BORDER」である場合には、符号付き距離を計算する
(#63)。
テップ#43の説明で述べたと同様である。しかし、こ
こでは、1つの格子点TPについて、すべての画像FT
を同時に考慮して符号付き距離を決定する。
き距離を計算する。 (第1の方法)注目している格子点TPを、すべての画
像FT上に投影する。投影したすべての画像FTの中か
ら、投影点から遮蔽輪郭までの距離が一番近いものを選
択する。選択された画像FTについて、その遮蔽輪郭上
の点を通る視線を求める。格子点TPからその視線まで
の距離を求める。求めた距離に正負の符号を付けて属性
値とする。 (第2の方法)すべての画像FTについて、遮蔽輪郭を
一定間隔でサンプリングし、ステップ#34での第3の
方法と同様に、遮蔽輪郭を通る視線を用いて3次元的に
符号付き距離を算出する。
4と同様に格子点TPに属性値をセットする。但し、こ
ここでは、各格子点TPに対して、最終的な属性値がセ
ットされる。
様に、すべての格子点TPに対して処理を行ったかどう
かがチェックされる。第3の実施形態によると、仮の属
性値が「BORDER」である格子点TPのみについて符号付
き距離を計算するので、符号付き距離の計算量が大幅に
低減する。したがって、処理速度が速い。 〔第4の実施形態による変換処理〕次に、第4の実施形
態として、8分木(Octree) 表現を用いた変換処理につ
いて説明する。
フローチャート、図15は図14のステップ#75の交
差判定処理のサブルーチンを示すフローチャート、図1
6および図17は8分木表現の原理を説明するための図
である。
表現では、対象とする物体よりも大きい立方体を定義
し、これをルートキューブ(Root-Cube)RCとする。ル
ートキューブを、x,y,zの各方向に沿ってそれぞれ
2等分すると、体積が8分の1の立方体が8つ生成され
る。このような分割を任意のレベルまで再起的に繰り返
すことにより、8分木のデータが生成される。8分木表
現それ自体は公知である。
設定する(#71)。ルートキューブの設定に当たって
は、その中心の座標およびサイズを入力する。また、ル
ートキューブのすべての頂点に対して、物体内部を意味
する「CO」を初期値としてセットする。また、ルート
キューブの属性を、遮蔽輪郭と交差していることを表す
「GRAY」とし、レベルを「0」とする。属性が「GRAY」
であるキューブは、本発明における境界キューブに相当
する。
Tについて、必要なすべての画像を入力する(#7
2)。その際に、それぞれの画像FTを撮影したときの
カメラパラメータを入力する。
と同様にシルエット画像FSが生成される。ステップ#
74において、キューブ(ルートキューブ)の分割が行
われる。ここでの分割は、属性が「GRAY」であるキュー
ブのみがついて行われる。分割は、8分割とされる。そ
して、レベルを1つ上げる。
判定が行われる。ここでは、分割されたそれぞれのキュ
ーブを画像FT上に投影し、遮蔽輪郭との交差の有無を
判断する。その判断結果に基づいて、キューブの属性を
決定する。
ップ#74および75の処理を繰り返す(#76)。ま
たは、属性が「GRAY」であるキューブがなくなった場合
には、そこで終了する。その場合には、以降の処理にお
いて、境界上にあるキューブ、または頂点が境界上にあ
るキューブを、属性が「GRAY」であるキューブとして用
いる。
ューブについて、各頂点の属性値を求めて設定する(#
77)。各頂点について属性値を求める方法は、第2の
実施形態において説明した方法を用いることができる。
ちの1つに注目する(#81)。キューブをすべての画
像FT上に投影し、それぞれにおいて遮蔽輪郭との交差
の有無を判断する(#82)。
る画像FTが1つでも存在すれば、そのキューブの属性
を「GRAY」に設定する。すべての画像において、投影し
たキューブが遮蔽輪郭内に存在する場合は、キューブの
属性を、物体内部を表す「WHITE 」に設定する。すべて
の画像において、投影したキューブが遮蔽輪郭外に存在
する場合は、物体外部を表す「BLACK 」に設定する(#
83)。
は、それぞれ、上に述べた「BORDER」「INSIDE」「OUTS
IDE 」に対応する。分割された8つのキューブのすべて
についての処理が行われた場合には(#84でイエ
ス)、リターンする。
Y」であるキューブの格子点TPのみについて符号付き
距離を計算するので、符号付き距離の計算量が大幅に低
減し、処理速度が速い。
処理によると、格子点TPに多値のデータを持たせるこ
とができ、少ない個数のボクセルVXによって高精度の
3次元形状を表現することができる。したがって、少な
いメモリ容量で物体の3次元形状を高精度に表現するこ
とができる。
理は、主としてシルエット画像に適用されるものであ
る。次に、主としてレンジデータに対して適用される変
換処理について詳しく説明する。 〔第5の実施形態による変換処理〕図18は第5の実施
形態の変換処理を示すフローチャート、図19はスペー
スカービングを説明するための図、図20はボリューム
データDVを水平面で切断した状態を示す図、図21は
境界ボクセルを拡大して示す図、図22〜25は最近点
MDを求める方法を説明するための図である。
て変換処理を行う。このような複数のレンジデータは、
例えば、物体の周囲の異なる位置から物体を複数回に分
けて計測することにより得られる。なお、ボリュームデ
ータDVに対するレンジデータの位置合わせは済んでい
るものとする。
ace carving ) を行う(#91)。スペースカービング
は、ボリュームデータDVから、物体ではない不要な部
分を切り取る処理である。
ムデータDVのボクセルVXのうち、レンジデータDR
の外部にあるボクセルVXについて、その頂点TPの属
性値として「マイナス無限大」をセットする。その際
に、視点VPからレンジデータDRに対して、レンジデ
ータDRを含むような視線を仮想し、その視線の内側に
あって且つレンジデータDRの外側にあるボクセルVX
を、切り取るべきボクセルVXとする。但し、上の実施
形態の場合と同様に、レンジデータDRの近傍にある頂
点TPについては除外する。図19において、白いボク
セルが外部のボクセルVXとして表示されている。
2)。注目している格子点TPxの属性値をチェックす
る(#93)。属性値が「マイナス無限大」でなけれ
ば、ステップ#94に進む。
求める(#94)。i番目のレンジデータDRにおける
最近点MDを最近点riとする。最近点MDの求め方は
次のとおりである。
DRのそれぞれに対して、格子点TPxから垂線を下ろ
す。1つのレンジデータDRに対して複数の垂線が引け
る場合には、そのうちの最も短い垂線を選択する。垂足
点が最近点MD1,2である。但し、垂線の長さLM
1,2が所定の長さαよりも短いことを条件とする。つ
まり、垂線の長さLM1,2がいずれも所定の長さαよ
りも大きい場合には、最近点MDは存在しないものとす
る。
でノー)、その格子点TPxの属性値を「プラス無限
大」とする(#96)。1つまたは複数の最近点MDが
存在する場合には(#95でイエス)、最近点MDのう
ち、格子点TPxに最も近い最近点MDを最近点rmin
とする(#97)。
ータDRを構成する3次元のポリゴンデータDPの中か
ら選ばれる。つまり、図23および図25において、格
子点TPxに対するレンジデータDR上の最近点MD1
は、レンジデータDRのポリゴンデータDPとして存在
する3次元点と一致する。したがって、最近点MD1の
座標はポリゴンデータDPの座標と一致する。ポリゴン
データDPの座標は既知であるので、最近点MD1の座
標は極めて容易に求められる。しかし、最近点MD1
は、レンジデータDRに対して真に最も近い点とはいえ
ない。したがって、後で符号付き距離を求める際に、法
線となす角の余弦をかけて補正する。
ンメッシュPM上の任意の点PMTを最近点MDとした
場合には、レンジデータDRに対する真の最近点を得る
ことができる。しかし、この場合に、最近点MD1の座
標は、周辺のポリゴンデータDPの座標から演算により
求める必要があるので、座標を求めるのに時間がかか
る。
いて、格子点TPxからレンジデータDRまでの符号付
き距離を、格子点TPxから1つまたは複数の最近点M
Dまでの距離の加重平均によって求める。符号付き距離
の求め方は次のとおりである。
n から一定の距離内にある最近点MDのみを抽出する。
その中には最近点rmin も含める。つまり、最近点rmi
n から一定の距離よりも遠い最近点MDを除外する。抽
出された最近点MDについて、格子点TPxからの距離
を求める。求めたすべての距離を加重平均することによ
り得られる。
dr(x)は、 dr(x)=Σwi ・〔ni ・(ri −TPx)〕/Σwi ……(1) 但し、ri はi番目のレンジデータにおける最近点 ni は最近点ri の法線ベクトル wi は最近点ri の重み
xと最近点ri との間の距離は、格子点TPxと最近点
ri とを結ぶ線の長さ(つまりそれらの間の距離)に、
その線と最近点ri における法線とのなす角の余弦をか
けた値として求められる。つまり、格子点TPxまでの
最近点MDにおける法線方向の距離として求められる。
距離の符号は、法線方向がマイナスである。求めた距離
について、各最近点ri の信頼性に応じた重み(荷重)
を与えて平均する。これによって符号付き距離が求ま
る。
トルni と、格子点TPxを始点とし最近点ri を終点
とするベクトルとがなす角の余弦である。つまり、その
角が大きいほど、信頼性は小さくなると考えられるの
で、重みwi を小さくする。
の属性値として格納する。すべての格子点TPに対して
処理を行ったかどうかがチェックされる(#99)。ま
だ処理を行っていない格子点TPがある場合は、ステッ
プ#92以降を繰り返す。すべての格子点TPについて
の処理を終えた場合には終了する。これによって、レン
ジデータDRに対応した、図11のボリュームテーブル
TLsと同様なボリュームテーブルTLrが完成する。 〔ボリュームデータの統合〕さて、ステップ#2および
3において、シルエット画像FSを用いたボリュームデ
ータDVと、レンジデータDRを用いたボリュームデー
タDVとが生成された。ステップ#4では、これらのボ
リュームデータDVを統合する。ボリュームデータDV
の統合に際しては、各ボリュームデータDVの互いに対
応するボクセルVXの2つの属性値に基づいて、当該ボ
クセルVXの統合された属性値を求める。なお、シルエ
ット画像FSによるボリュームデータDVの属性値を、
シルエット属性値ds、レンジデータDRによるボリュ
ームデータDVの属性値を、レンジ属性値dr、統合さ
れたボリュームデータDVの属性値を統合属性値dtと
記載することがある。
HMとの位置関係を示す図、図27は2つの属性値の統
合方法を示す図である。図26に示すように、物体の表
面HMに対し、属性値の値に応じて、外部(遠)、外部
(近)、内部(近)、内部(遠)の4つに分類する。
場合に外部(遠)、属性値が「プラス無限大」の場合に
内部(遠)、属性値が負であって「マイナス無限大」で
ない場合に外部(近)、属性値が正であって「プラス無
限大」でない場合に内部(近)となる。これは、シルエ
ット画像FSおよびレンジデータDRのいずれによるボ
リュームデータDVに対しても適用される。
sが外部(遠)である場合に、レンジ属性値drの内容
に係わらず、統合属性値dtは外部(遠)を示す「マイ
ナス無限大」である。シルエット属性値dsおよびレン
ジ属性値drが共に内部(遠)である場合に、統合属性
値dtは内部(遠)を示す「プラス無限大」である。シ
ルエット属性値dsが内部(遠)で且つレンジ属性値d
rが外部(遠)である場合には、これは実際にはあり得
ないが、統合属性値dtは外部(遠)を示す「マイナス
無限大」である。
(遠)で他方が外部(近)または内部(近)であった場
合には、外部(近)または内部(近)であった方の属性
値が用いられる。両方が外部(近)または内部(近)で
あった場合には、両方の属性値が混合される。混合によ
って、統合属性値dtは次の(3)式により計算され
る。
重みを表す。つまり、レンジ属性値drの重みwxに応
じた比で、レンジ属性値drとシルエット属性値dsと
が混合される。荷重wxの値は、物体の形状などに応じ
て決定される。このように、重みに応じた適当な比で加
算されることにより、シルエット画像FSによるボリュ
ームデータDVとレンジデータDRによるボリュームデ
ータDVとの境界部分が滑らかに接続される。得られた
統合属性値dtは、その格子点TPの属性値として格納
される。このようにして、すべての格子点TPについて
属性値が求められる。これによって統合処理が完了す
る。
リュームデータDVとレンジデータDRによるボリュー
ムデータDVとを統合することにより、それぞれの欠点
を補って欠落のない精度のよい3次元モデルMLを生成
することができる。
部分があった場合でも、できるだけ少ないメモリ容量で
且つ少ない演算時間で、正確に3次元形状を復元するこ
とができる。
ボクセルの頂点にセットしたが、属性値をセットするの
は必ずしもボクセルの頂点である必要はない。例えば、
ボクセルの重心であってもよい。
み、頂点と境界との距離値をセットするようにしている
が、全ボクセルについて行ってもよい。但し、実施例の
ように交差するボクセルについてのみ演算する方が、演
算時間が短縮される。物体の内部を正、外部を負として
表現したが、逆であってもよい。
る例について説明したが、8分割に限らず、xyzそれ
ぞれの方向に3分割し、つまりキューブを27分割して
もよいし、それ以上に分割してもよい。
タ生成装置1の全体または各部の構成、処理の内容およ
び順序、ボクセルVXの個数、属性値の桁数などは、本
発明の趣旨に沿って適宜変更することができる。
部分があった場合でも、できるだけ少ないメモリ容量で
且つ少ない演算時間で正確に3次元形状を復元すること
ができる。
ック図である。
成処理の流れを示すフローチャートである。
ローチャートである。
る。
トである。
ブルーチンを示すフローチャートである。
状態を説明するための図である。
す図である。
す図である。
ブルの例を示す図である。
ートである。
のサブルーチンを示すフローチャートである。
ートである。
ブルーチンを示すフローチャートである。
る。
る。
ートである。
る。
示す図である。
る。
る。
る。
る。
示す図である。
合手段) 11 磁気ディスク装置 DV ボリュームデータ VX ボクセル FT 画像 FS シルエット画像 CD CD−ROM(記録媒体) FD フロッピィディスク(記録媒体) TL ボリュームテーブル(ボリュームデータ) PR モデリングプログラム(コンピュータプログラ
ム)
Claims (8)
- 【請求項1】物体についての3次元形状データを生成す
る方法であって、 前記物体についての視点の異なる複数の画像からシルエ
ット法を用いてボリュームデータに変換することによっ
て第1のボリュームデータを生成する第1のステップ、 前記物体について3次元計測によって得られた3次元デ
ータをボリュームデータに変換することによって第2の
ボリュームデータを生成する第2のステップ、 前記第1のボリュームデータと第2のボリュームデータ
とを統合して1つのボリュームデータとする第3のステ
ップ、 を有してなることを特徴とする3次元形状データの生成
方法。 - 【請求項2】前記ボリュームデータは、ボリュームを表
現する座標系内の離散的な各座標位置において、物体の
表面からの距離に応じた値が保持されたデータである、 請求項1記載の3次元形状データの生成方法。 - 【請求項3】第1のステップにおいて、シルエット法を
用いてボリュームデータに変換するに際し、(a) ボ
リュームを表現する座標系内の離散的な各座標位置にお
いて、前記物体の画像の輪郭と当該画像の視点とにより
定まる視体積の境界までの距離に応じた値を求めるステ
ップ、(b) 各座標位置について、前記物体の複数の
画像について求めた複数の値に基づいて物体表面からの
距離に応じた値を決定し、各座標位置に対応付けて保持
するステップ、 を実行する請求項2記載の3次元形状データの生成方
法。 - 【請求項4】第2のステップにおいて、3次元データを
ボリュームデータに変換するに際し、(a) ボリュー
ムを表現する座標系内の離散的な各座標位置において、
前記物体の3次元データで表される物体表面までの距離
に応じた値を求めるステップ、(b) 求めた値を各座
標位置に対応付けて保持するステップ、 を実行する請求項2記載の3次元形状データの生成方
法。 - 【請求項5】第3のステップにおいて、各座標位置に対
して、前記第1のボリュームデータの値と前記第2のボ
リュームデータの値とを所定の割合で加算する、 請求項2記載の3次元形状データの生成方法。 - 【請求項6】物体についての3次元形状データを生成す
る装置であって、 前記物体についての視点の異なる複数の画像からシルエ
ット法を用いてボリュームデータに変換することによっ
て第1のボリュームデータを生成する第1の変換手段、 前記物体について3次元計測によって得られた3次元デ
ータをボリュームデータに変換することによって第2の
ボリュームデータを生成する第2の変換手段、および、 前記第1のボリュームデータと第2のボリュームデータ
とを統合して1つのボリュームデータとする統合手段、 を有してなることを特徴とする3次元形状データの生成
装置。 - 【請求項7】物体についての3次元形状データを生成す
るためのコンピュータプログラムであって、 前記物体についての視点の異なる複数の画像からシルエ
ット法を用いてボリュームデータに変換することによっ
て第1のボリュームデータを生成する第1のステップ、 前記物体について3次元計測によって得られた3次元デ
ータをボリュームデータに変換することによって第2の
ボリュームデータを生成する第2のステップ、 前記第1のボリュームデータと第2のボリュームデータ
とを統合して1つのボリュームデータとする第3のステ
ップ、 をコンピュータに実行させるためのコンピュータプログ
ラム。 - 【請求項8】請求項7記載のコンピュータプログラムが
記録されたコンピュータ読み取り可能な記録媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001177582A JP4904638B2 (ja) | 2001-06-12 | 2001-06-12 | 3次元形状データの生成方法および装置並びにコンピュータプログラム |
US10/166,261 US6914601B2 (en) | 2001-06-12 | 2002-06-11 | Method, apparatus, and computer program for generating three-dimensional shape data or volume data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001177582A JP4904638B2 (ja) | 2001-06-12 | 2001-06-12 | 3次元形状データの生成方法および装置並びにコンピュータプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002366934A true JP2002366934A (ja) | 2002-12-20 |
JP4904638B2 JP4904638B2 (ja) | 2012-03-28 |
Family
ID=19018403
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001177582A Expired - Fee Related JP4904638B2 (ja) | 2001-06-12 | 2001-06-12 | 3次元形状データの生成方法および装置並びにコンピュータプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4904638B2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006048518A (ja) * | 2004-08-06 | 2006-02-16 | Toshiba Corp | 画像処理方法、画像処理プログラム、及び画像処理コンピュータ |
US8659593B2 (en) | 2007-07-27 | 2014-02-25 | Techno Dream 21 Co., Ltd. | Image processing apparatus, method and program |
JP2016224674A (ja) * | 2015-05-29 | 2016-12-28 | 株式会社日立製作所 | 点群データモデル化装置、および点群データモデル化方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09231370A (ja) * | 1996-02-21 | 1997-09-05 | Canon Inc | 画像情報入力装置 |
JP2001084403A (ja) * | 1999-09-10 | 2001-03-30 | Minolta Co Ltd | 3次元データの合成方法及び装置 |
-
2001
- 2001-06-12 JP JP2001177582A patent/JP4904638B2/ja not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09231370A (ja) * | 1996-02-21 | 1997-09-05 | Canon Inc | 画像情報入力装置 |
JP2001084403A (ja) * | 1999-09-10 | 2001-03-30 | Minolta Co Ltd | 3次元データの合成方法及び装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006048518A (ja) * | 2004-08-06 | 2006-02-16 | Toshiba Corp | 画像処理方法、画像処理プログラム、及び画像処理コンピュータ |
US8659593B2 (en) | 2007-07-27 | 2014-02-25 | Techno Dream 21 Co., Ltd. | Image processing apparatus, method and program |
JP2016224674A (ja) * | 2015-05-29 | 2016-12-28 | 株式会社日立製作所 | 点群データモデル化装置、および点群データモデル化方法 |
Also Published As
Publication number | Publication date |
---|---|
JP4904638B2 (ja) | 2012-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110458939B (zh) | 基于视角生成的室内场景建模方法 | |
CN113516769B (zh) | 虚拟现实三维场景加载与渲染方法、装置和终端设备 | |
KR101465479B1 (ko) | 빔(bim) 기반의 건축물 데이터를 표시하는 bim데이터 처리 시스템 | |
CN104616345B (zh) | 一种基于八叉树森林压缩的三维体素存取方法 | |
JP2642070B2 (ja) | 四角形メッシュの生成方法及びシステム | |
US20020082800A1 (en) | Method of composing three-dimensional multi-viewpoints data | |
US20240153123A1 (en) | Isogeometric Analysis Method Based on a Geometric Reconstruction Model | |
JP5036179B2 (ja) | 二次元線形データリアルタイム三次元変換方法及び変換装置、二次元線形データリアルタイム三次元画像表示方法及び表示装置 | |
CN101231761B (zh) | 一种保持外观特征的网格模型简化方法 | |
KR20050086463A (ko) | 다해상도 표면 분석을 위해 도메인 분해를 수행하는 시스템및 방법 | |
JP2003051026A (ja) | 3次元客体およびアニメートされた3次元客体のイメージベースの表現とレンダリング方法 | |
CN115984476A (zh) | 一种基于纹理的三维模型裁切方法 | |
CN103606151A (zh) | 基于影像点云的大范围虚拟地理场景自动构建方法 | |
KR20010006824A (ko) | 가역의 라운딩 조작에 의한 곡면 모델의 생성방법 및 그곡면 모델로부터 격자 폴리곤 모델을 생성하는 방법과이들 방법을 실행하기 위한 기록 매체 및 곡면 모델의전송/표시방법 | |
US6914601B2 (en) | Method, apparatus, and computer program for generating three-dimensional shape data or volume data | |
JP2003323640A (ja) | レーザスキャナデータと空中写真画像を用いた高精度都市モデルの生成方法及び高精度都市モデルの生成システム並びに高精度都市モデルの生成のプログラム | |
JP2000348213A (ja) | 三次元画像生成装置、三次元画像生成表示装置、及びその方法並びに記録媒体 | |
CN115937279B (zh) | 基于跨模态数据配准的点云密度上采样方法、系统及介质 | |
JP4229398B2 (ja) | 3次元モデリング・プログラム、3次元モデリング制御プログラム、3次元モデリング・データ伝送プログラム、記録媒体および3次元モデリング方法 | |
JP3950376B2 (ja) | 3次元点群からの形状モデル生成方法と装置、並びに、3次元点群からの形状モデル生成プログラムと該プログラムを記録した記録媒体 | |
CN117974899B (zh) | 一种基于数字孪生的三维场景展示方法及其系统 | |
JP2002366935A (ja) | ボリュームデータの生成方法および装置並びにコンピュータプログラム | |
JP4904638B2 (ja) | 3次元形状データの生成方法および装置並びにコンピュータプログラム | |
JP4320577B2 (ja) | 3次元モデルの生成方法および装置並びにコンピュータプログラム | |
JPH096941A (ja) | 3次元地形データ変換装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20050613 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20050704 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080425 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110112 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110125 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110325 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20111213 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20111226 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150120 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |