JP4409139B2 - 3dモデルをつくる方法および装置 - Google Patents

3dモデルをつくる方法および装置 Download PDF

Info

Publication number
JP4409139B2
JP4409139B2 JP2001524361A JP2001524361A JP4409139B2 JP 4409139 B2 JP4409139 B2 JP 4409139B2 JP 2001524361 A JP2001524361 A JP 2001524361A JP 2001524361 A JP2001524361 A JP 2001524361A JP 4409139 B2 JP4409139 B2 JP 4409139B2
Authority
JP
Japan
Prior art keywords
voxel
svl
voxels
image
pixel
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.)
Expired - Fee Related
Application number
JP2001524361A
Other languages
English (en)
Other versions
JP2003509790A (ja
Inventor
ダブリュー・ブルース・カルバートソン
トーマス・マルズベンダー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HP Inc
Original Assignee
Hewlett Packard Co
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JP2003509790A publication Critical patent/JP2003509790A/ja
Application granted granted Critical
Publication of JP4409139B2 publication Critical patent/JP4409139B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects

Description

【0001】
【発明の属する技術分野】
この発明は、シーンの一組の入力イメージから体積シーンを復元するための方法および装置に関し、より具体的には、入力イメージと整合性のあるシーンの高品質の3Dモデルを復元するための方法および装置に関する。
【0002】
【従来の技術】
今日、画像ベースのレンダリング手法に大きな関心が寄せられている。これらの手法は、コンピューターグラフィックス、コンピュータビジョン、画像処理および写真測定の分野から得られる。これらの手法の目標は、自然であるか合成であるかを問わず一つのシーンの2以上の画像から新しいビューを計算することである。一つのシーンのいくつかの画像が異なるカメラ視点から得られる。そのイメージデータは、そのシーンの3次元(3D)コンピュータモデルを作るために使われる。その3Dモデルは、そのカメラ視点と異なる視点から、そのシーンの1つまたは複数の画像を計算するために使うことができる。新しい画像は、所望の視点にその3Dモデルを投影することによって合成される。この手法は「新しいビュー合成」と呼ぶことができる。新しいビュー合成のいくつかの手法が先行技術で開示されている。
【0003】
ビュー・モーフィングおよび明るいフィールドは、中間ステップとして3Dモデルを創らない新しいビュー合成の問題に対するソリューションである。ビュー・モーフィングは、この問題に対する最も単純なソリューションの1つである。一つのシーンの2つの画像が与えられると、それは、補間法を用いてその入力イメージの間で視点的に中間において新しい画像を作る。ビュー・モーフィングはそのシーンについて3D情報を使わないので、その結果がたびたび説得力があるように見えるけれども、一般に厳密に正しい画像をレンダすることができない。そのアルゴリズムは、お互いを遮断するそのシーンにおける複数のオブジェクトを正しくレンダするには不十分な手段であることが明らかである。
【0004】
ルミグラフ(lumigraph)および明るいフィールドの手法は、ある容積体(ボリューム)の表面上のあらゆるポイントからあらゆる方向に放射される光のサンプリングを使う。理論上、データのそのような集合は、ほとんど完全な新しいビューを生成することができる。しかし、実際問題として、高品質画像を総合するために必要とされる大量の入力データは、その取込みおよび記憶が非実用的である。それにもかかわらず、これらの方法は、他の競合する手法に対して1つの利点、すなわち、それらは、鏡面反射を正しく扱うという利点を有する。
【0005】
ステレオ手法は、シーンで同じポイントに対応する、2以上の入力イメージにおけるポイントを見つける。その手法は、それからシーン・ポイントの深さを判定するためにカメラ位置および三角測量についての知識を使う。あいにく、ステレオは任意の視点からとられる画像に適用するのが難しい。入力視点が遠く離れているならば、対応する画像ポイントを自動的に見つけるのは難しい。他方、視点が近くであるならば、小さい測定誤差は計算された深さに大きな誤差を生じさせる。さらに、ステレオは2D深度マップを自然に生成し、そのようなマップを一体化して本当の3Dモデルにすることは、挑戦的な問題である。
【0006】
ボクセル色付けおよび空間切り分け(space carving)は、乱反射面の特性を利用する。乱反射面上のポイントは、「色整合」である、すなわち、それらのポイントが見える全ての画像においてそれらのポイントは類似した色の上に投影する。これらの方法は、そのシーンの任意の数のキャリブレート(calibrate)された画像、およびシーンのスーパーセットである一組のボリューム要素、すなわちボクセルから始める。それぞれのボクセルは、それが見える全ての画像に投影される。ボクセルがいくつかの画像で矛盾する色の上へ投影するならば、それは表面上にあってはならず、切り分け(carve)られる、すなわち透明と宣言される。その他の場合は、ボクセルは、「色をつけられる」、すなわち不透明であると宣言され、その投影の色を割り当てられる。全ての不透明なボクセルが画像における一貫した色に投影するとき、これらのアルゴリズムは止まる。不透明なボクセルの最後の組は色整合しているので、それはそのシーンの良いモデルである。
【0007】
ボクセル色付けおよび空間切り分けは、それらが可視性、すなわちどのボクセルが画像のどのピクセルから見えるかの知識、を判断する手段において異なる。ボクセルは、それが画像の外側に投影するか、または現在不透明と考えられている他のボクセルによってブロックされるならば、画像から見えなくなる。ボクセルの不透明性が変化するとき、他のボクセルの可視性も潜在的に変化するので、可視性を新しく保つのために効率的な手法が必要とされる。
【0008】
ボクセル色付けは、可視性計算を単純化するためにカメラ位置に制約を置く。それぞれのカメラに関して前から後ろの順で一つのスキャンでボクセルが処理されることができるように、カメラが配置される必要がある。一般的に、この条件は、すべてのカメラをそのシーンの一方の側に配置し、カメラから順に遠くなる平面でボクセルをスキャンすることによって満足される。このように、所与のボクセルが色整合性についてチェックされる前に、所与のボクセルを遮断するかもしれない全てのボクセルの透明性が判定される。それは可視性の計算を単純化するけれども、カメラ位置上の制約は重要な制限である。例えば、カメラはシーンを囲むことができないので、いくつかの表面はどの画像でも見ることができず、それゆえに復元することができない。
【0009】
空間切り分けは、カメラ位置の制約を取り除く。カメラを任意に置くと、複数のボクセルを順序に関係なく1回スキャンしても、最終的なモデルにおけるそれぞれボクセルの可視性(およびその色整合性)を正しく計算することができない。変化する不完全な可視性情報を使って、切り分けの間に複数回ボクセルの整合性を評価し、終わりに色整合した復元を得るアルゴリズムが設計された
空間切り分けは、初めに全てのボクセルを不透明と考え、ボクセルを透明に変えるだけで、その逆は行わない。従って、いくつかのボクセルが切り分けられるにつれて、残りの不透明なボクセルが画像から見えるようになってくる。整合性関数は単調(monotonic)と仮定され、このことは、SをS’のサブセットとして、任意の2組のピクセルSおよびS’について、もしSが矛盾しているならば、S’も矛盾していることを意味する。アルゴリズムが走るにつれてボクセルの可視性が増加するだけで、整合性関数が単調であるとすると、切り分けは保守的であり、最終モデルにおいて色整合するのであれば、そのボクセルは切り分けられない。
【0010】
空間切り分けはボクセル色付けと同じように色整合性のために複数のボクセルを、一度に一平面のボクセルを評価しながらスキャンする。それは、移動する平面の後にカメラがある画像だけを使うことによって、スキャンがカメラに対して前から後ろであることを強制する。このように、ボクセルが評価されるとき、現在使われているカメラからそれを遮断するかもしれない他のボクセルについて透明性はすでに知られている。ボクセル色付けとは異なり、空間切り分けは、典型的には、3軸のそれぞれの正方向および負方向に沿って複数のスキャンを使用する。切り分けが保守的であるので、不透明なボクセルの組は、所望の色整合したモデルの、アルゴリズムが走るにつれて縮小するスーパーセットである。
【0011】
空間切り分けは、切り分けてはならないボクセルを切り分けることはないが、色矛盾するいくつかのボクセルを含むモデルを生成することがありそうである。スキャンの間、チェックされているボクセルがそれらのカメラから見えるときでも、移動平面より前にあるカメラが色整合性のチェックのために使われない。それゆえに、ボクセルの色整合性は、一般に、それから見える画像の全ての集合にわたってチェックされることはない。
【0012】
【発明が解決しようとする課題】
従って、シーンの測定された画像からシーンの3Dモデルを復元するための改善された方法および装置に対する必要性が存在する。
【0013】
【課題を解決するための手段】
発明の第1側面によると、異なる視点からとられるシーンの複数の画像から、シーンの3次元モデルを復元する方法および装置が提供される。この方法は、次のステップを含んでいる。
【0014】
a)そのシーンを含む一組のボクセルの復元ボリュームを定義するステップ、
b)復元ボリュームの表面上で、切り分けされないボクセルを含む表面ボクセル・リスト(SVL)を初期化するステップ、
c)それぞれ画像における各ピクセルについて、ピクセルに投影する最も近いボクセルのIDを含む項目バッファを作るステップ、
d)SVLでそれぞれのボクセルVを処理するステップ、
e)項目バッファを作るステップ以来いずれかのボクセルが切り分けられていれば、ステップc)およびd)を繰り返すステップ、
およびf)項目バッファを作るステップ以来どのボクセルも切り分けられていなければ、SVLを保存するステップ。
【0015】
SVLでの各ボクセルVは、d1)ボクセルVが見える全ての画像におけるピクセルの集合vis(V)を計算すること、d2)vis(V)の色整合性を判定すること、およびd3)vis(V)が色整合でないならば、i)ボクセルVを切り分け、ii)SVLからボクセルVを取り除き、iii)ボクセルVに隣接しSVL上にないすべての切り分けられていないボクセルをSVLに加えることによって、処理される。
【0016】
発明の別の側面によると、異なる視点からとられるシーンの複数の画像から、シーンの3次元モデルを復元するための方法および装置が提供される。この方法は、次のステップを含む。
【0017】
a)シーンを含む一組のボクセルを含んでいる復元ボリュームを定義するステップ、
b)復元ボリュームの表面上で切り分けられていないボクセルを含む表面ボクセル・リスト(SVL)を初期化するステップ、
c)画像のそれぞれにおける各ピクセルについて、そのピクセルに投影するすべての表面ボクセルのリストで、ボクセルから画像のカメラまでの距離に従ってソートされたリストを含む階層化された深さ画像(LDI)を作るステップ、
d)SVLを可視性を変更されたSVL (CVSVL)にコピーするステップ、
e)CVSVLのボクセルを処理するステップ、
f)CVSVLが空のとき、SVLを保存するステップ。
【0018】
CVSVLにボクセルがあるとき、CVSVLのボクセルの処理は、次のことを含む。
【0019】
e1)CVSVL上のボクセルVを選びCVSVLからボクセルVを除去すること、
e2)ボクセルVが見える全ての画像におけるピクセルの集合vis(V)を計算すること、
e3)vis(V)の色整合性を判定すること、
およびe4)vis(V)が色整合でないならば、i)ボクセルVを切り分け、ii)SVLからボクセルVを除去し、iii)LDIからボクセルVを削除し、iv)ボクセルVがLDI(P)のヘッドにあるならば、LDI(P)に次のボクセルを加え、v)可視性が変化していればボクセルNをCVSVLに加え、ボクセルVをLDIに挿入することによって、ボクセルVに隣接する切り分けられていない各ボクセルNを処理すること。
【0020】
【発明の実施の形態】
発明に従ってシーンの3次元モデルの復元を示す模型的な図が図1に示される。カメラ10、12、14、16および18は、異なるカメラ視点からシーン30のそれぞれの入力イメージ20、22、24、26、28を得る。それぞれのカメラ1O、12、14、16および18の距離、位置およびオリエンテーションは知られており、得られる画像はキャリブレート(calibrate)された画像として定義される。下で記述されるアルゴリズムは、カメラの位置に制約をつけない。カメラは、シーン内および周辺の任意の位置に置かれることができる。カメラはシーンを囲むのが好ましい。この構成は、シーンについて最も完全な情報を提供し、シーン30の最高品質の復元を提供する。実際的な状況で、シーンの10から40個の画像が異なる視点から得られる。静的なシーンでは、同じカメラを用いて時間を変えて複数の画像をとることができる。
【0021】
先に述べたように、入力イメージ20、22、24、26および28は、カメラ10、12、14、16および18の視点と異なる視点からのシーン30の1つまたは複数の新しいビューすなわち画像を生成するために使われることができる。新しいビュー合成は、まず入力画像20、22、24、26および28からシーン30の3次元モデルを復元することを必要とする。3次元モデルは、次いでシーン30の1つまたは複数の新しい画像を生成(レンダ)するために使われる。この発明のボクセル色付けアルゴリズムは、シーン30の3次元モデルの復元に関連する。
【0022】
この発明は、斬新なアルゴリズムを容積体シーンの復元を提供する。任意の既知の位置からとられるシーンの一組の画像が与えられたとすると、アルゴリズムは入力イメージと整合するシーンの3Dモデルを構築する。このアルゴリズムは、一般化されたボクセル色付けすなわちGVCアルゴリズムと呼ばれる。このアルゴリズムは、ボクセルを使用してシーンをモデル化し、シーンの表面ポイントおよびそれらを表すボクセルが入力画像の調和した色に投影するという事実を利用する。ボクセル色付けおよび空間切り分けはシーン復元問題に対する成功したソリューションであるけれども、この発明のアルゴリズムはそれらに対し利点を有する。ボクセル色付けと違って、この発明は、入力カメラがシーン内およびその周辺の任意の位置に置かれるのを許す。ボクセルの色整合性をチェックするとき、この発明はボクセルが見える画像の全ての集合を使う。これに対し、空間切り分けは、これらの画像のサブセットを使うだけである。この発明では、結果として、よりよい新しいビューが合成される。
【0023】
2つの種類の一般化されたボクセル色付けアルゴリズムが開発された。GVCおよびGVC-LDIである。GVC-LDIアルゴリズムは、基本的なGVCアルゴリズムの増強である。1つのボクセルの切り分けは、潜在的に他のボクセルの可視性を変更する。切り分けられていないボクセルの可視性が変化するとき、その色整合性が再評価されなければならず、それが非整合の色であるとわかれば、それも切り分けられなければならない。GVC-LDIアルゴリズムは、別のボクセルが切り分けられるとき正確にどのボクセルの可視性が変化したかを判断するために階層化された深さ画像(LDI)を使用し、正しいボクセルを再評価することができる。同じ状況で、GVCアルゴリズムは、どのボクセルが再評価される必要があるかを知らないので、現在のモデルにおける全てのボクセルを再評価する。したがって、GVC-LDIアルゴリズムは、復元中にGVCアルゴリズムより非常に少ない色整合性評価を実行する。しかし、GVCアルゴリズムは、GVC-LDIアルゴリズムよりかなり小さいメモリを使う。両方のアルゴリズムは、全てのボクセルが不透明であると初めに仮定する。それらは、残りの全てのボクセルがそれらが見える画像において整合した色に投影するまで、色整合していないボクセルを切り分ける。
【0024】
一般化されたボクセル色付けすなわちGVCアルゴリズムは、次のようにして可視性を判断する。まず、あらゆるボクセルは、ユニークなIDを割り当てられる。それから、項目バッファが図4および5に示すようにそれぞれの画像のために造られる。全ての不透明なボクセルの標準的なZ-バッファ・レンダリングが実行されるが、各ピクセルにボクセル・色を格納する代わりに、ボクセルIDが格納される。このように、ボクセルが生成(レンダ)されたあと、項目バッファでの各ピクセルはそれに投影する最も近い不透明ボクセルのIDを含む。これが必要とされる可視性情報である。
【0025】
有効な項目バッファが画像のそれぞれについて計算されたあと、図6に示すように、ボクセルVが見える全てのピクセルの集合vis(V)を計算することができる。vis(V)は次のように計算する。ボクセルVが各画像に投影される。ボクセルVの投影におけるあらゆるピクセルPについて、ピクセルPのための項目バッファがボクセルVのIDを含むならば、ピクセルPがvis(V)に加えられる。ボクセルVの色整合性をチェックするために、整合性関数コンシスト()がvis(V)に適用される、すなわちコンシスト(vis(V))が計算される。
【0026】
ボクセルを切り分けると、残りの切り分けられていないボクセルの可視性が変えられ、項目バッファが可視性情報を維持するために使われるので、項目バッファは定期的に更新される必要がある。GVCアルゴリズムは、項目バッファを再計算することによってこれを行う。このプロセスは時間がかかるから、GVCアルゴリズムは項目バッファの更新の間で多くのボクセルを切り分けることを許される。その結果、項目バッファは、多くの時間において古くなっており、計算された集合vis(V)は、ボクセルVが見える全てのピクセルのサブセットであることが保証されるだけである。しかし、切り分けは保守的であるから、切り分けられるべきでないボクセルが切り分けられることはない。GVCアルゴリズムの最終的な繰返しの間に切り分けが発生しないので、可視性情報は、最新の状態にとどまる。あらゆるボクセルは最終的な繰返しにおいて色整合性のためにチェックされるので、最終的なモデルは色整合している。
【0027】
切り分けが進むにつれて、各ボクセルは、次の3つのカテゴリのうちの1つになる。1)色不整合とされ、切り分けられた、2)切り分けられていないボクセルの集合の表面上にあり、評価されるときはいつでも色整合であるとされる、3)切り分けられていないボクセルに囲まれているので、どの画像からも見えず、その色整合性は未定義である。
【0028】
ボクセルあたり1アレイのビットがどのボクセルが切り分けられたかを記録するのに使われる。このデータ構造は、フローチャートにおいて「切り分けされた」で示され、あらゆるボクセルについて最初は偽にセットされている。「表面ボクセル・リスト」(SVL)と呼ばれているデータ構造が、上記のボクセルの第2カテゴリを識別するために使われる。SVLは、他のボクセルによって囲まれていないボクセルの集合に初期化されている。項目バッファは初期化されており、SVL上の全てのボクセルを生成(レンダ)することによって、その後更新される。上記の第3のカテゴリのボクセルは、内部ボクセルと呼ばれる。内部ボクセルは不透明であるけれども、それらはどの画像からも見えないので、項目バッファに生成(レンダ)される必要はない。ボクセルが切り分けされるとき、隣接した内部ボクセルは表面ボクセルになりSVLに加えられる。ボクセルがSVLに2度以上加えられのを避けるために、ボクセルがすでにSVL上にあるかどうか判定する速い手段が必要である。ハッシュテーブルがこの目的のために維持される。
【0029】
GVCアルゴリズムが終わったとき、不透明ボクセルの最終組が関数切り分け(V)を保存することによって記録されることができる。しかし、画像から見えるボクセルだけを保存することが望ましいならば、SVLの見えるサブセットを識別するために項目バッファを使うことができる。閉じられた表面が所望であるならば、SVL全体を保存することができる。
【0030】
この発明の第1の実施例に従った一般化されたボクセル色づけアルゴリズムの例のフローチャートが図2に示される。図2のフローチャートに対応する擬似コードが図2Aに示される。ステップ100で、表面ボクセル・リスト(SVL)が初期化される。上述したようにSVLは、ボクセル・ボリュームの表面上の切り分けされていない(不透明の)ボクセルのリストである。ボクセル・ボリュームが選ばれ、ボクセルIDがボクセル・ボリュームの各ボクセルについて割り当てられていると仮定する。初期のボクセル・ボリュームは、シーンを含むように選ばれ、形状的に概して矩形であるか立方形である。しかし、任意に形づくられた初期ボクセル・ボリュームを使用することもできる。SVLを初期化するためのプロセスは、図3を参照して下で記述される。ボクセルが切り分けられるにつれて、SVLが変化する。
【0031】
ステップ102で、項目バッファがSVLを使って各画像のために作られる。各ピクセルのための項目バッファは、それに投影する最も近いボクセルのIDおよび最も近いボクセルからカメラまでの距離を含む。項目バッファを作るためのプロセスは図4を参照して後に説明する。
【0032】
ステップ104で、SVL上のボクセルが選ばれ、vis(V)がステップI 06で計算される。上述したように、vis(V)はボクセルVが見える全ての画像における全ピクセルの集合である。vis(V)を計算するためのプロセスは図6を参照しての後に説明する。
【0033】
ステップ110において、vis(V)の色整合性が判定される。上述したように、vis(V)はボクセルVが見える画像における全ピクセルの集合である。一般に、vis(V)の色整合性は、ボクセルVが不透明なボクセルであるか透明ボクセルであるかを判定するために使われる。不透明なボクセルは復元中のシーンの一部分であり、透明ボクセルは一般的にシーンの空の部分である。色整合性判定は、シーンの表面上のポイントは、そのポイントが見える全てのピクセルにおいて同じまたはおよそ同じ色を有するという事実に基づく。対照的に、シーンの表面上にないポイントに対応する複数のピクセルの色は、空のボリュームを異なる方向から見るとき予測されるように、一致しない。vis(V)の色整合性を判定するために、vis(V)でのピクセルの色が、色平均変数および色標準偏差変数に加えられる。色平均変数は、ボクセルVの投影におけるピクセルの平均色を表す。色標準偏差変数は、全画像にわたるボクセルVに対応するるピクセルの集合における色の変化の目安である。計算された色標準偏差値は、色付けしきい値と比較される。1つの方法では、色付けしきい値は固定である。別の方法では、色付けしきい値は、米国特許出願第09/273934号(1999年3月22日出願)で記述されるような複数の画像にわたる色変化の平均の関数である。色標準偏差値が、色付けしきい値より小さく、ボクセルVの異なる投影において色が整合していることが示されると、ボクセルVは不透明とみなされ、その色は計算された色平均値としてセットされる。このように、ボクセルの色は、vis(V)の投影における平均色にセットされる。vis(V)のピクセルが色整合していると判定されるならば、プロセスはステップ122に進む。色標準偏差値が色付けしきい値より小さくないならば、ボクセルVは、ステップ112において切り分けされているとマークされ、SVLから除去される。切り分けられたボクセルは、透明と判定されたボクセルと定義される。
【0034】
ボクセルVが切り分けされるとき、ボクセルVに隣接したボクセルが1つまたは複数の画像において見えるようになることある。ステップ114で、ボクセルVに隣接するボクセルNが選ばれる。ステップ16において、ボクセルNが切り分けされておらず、SVL上にないことが判定されるならば、ボクセルNはステップ118でSVLに加えられる。ボクセルNが切り分けされているか、すでにSVL上にあるならば、プロセスはステップ120に進む。ボクセルVに隣接するボクセルがもっとあることがステップ120で判定されるならば、プロセスは次に近いボクセルを処理するためにステップ1 14へ戻る。全ての隣接したボクセルが処理されたあと、プロセスはステップ122に進む。SVLにもっとボクセルがあることがステップ122で判定されるならば、プロセスはSVL上の次のボクセルを処理するためにステップ104へ戻る。SVLにおける全てのボクセルが処理されたあと、項目バッファが作られて以来、いずれかのボクセルが切り分けされたかどうか、ステップ124で判定される。ボクセルが切り分けされたならば、各画像について更新した項目バッファを作るためにステップ102に戻る。
【0035】
図2の例でのGVCアルゴリズムは、それぞれ画像のための更新された項目バッファを作る前にSVL上で全てのボクセルを処理する。所望の場合、更新された項目バッファがより頻繁に作られてもよいことが理解されるであろう。たとえば、更新された項目バッファは、予め定めた数のボクセルが処理された後、またはSVL上のあらかじめ決められたパーセンテージのボクセルが処理された後に作られることができる。項目バッファが更新される頻度は、項目バッファを更新するために必要にされる時間とボクセルを処理するために古い可視性情報を使うという好ましくない状態との間のトレードオフである。しかし、上で指摘したように、そうすべきでないボクセルが切り分けされることはない。
【0036】
ステップ118を再び参照すると、切り分けの結果見えるようになったボクセルNの色整合性をチェックすることを、主な処理ループの次の繰返しまで避けることが望ましいが、必ずそうしなければならない訳ではない。これは、ループですでに通られたポイントでSVLにボクセルNを挿入することによって達成することができる。代わりに、現在の繰返しの完了までボクセルNを一時的に新しいSVLに加え、次いでSVLにコピーすることができる。
【0037】
項目バッファが作られて以来、ボクセルが切り分けされていなことがステップ124で判定されるならば、SVLがステップ126で保存される。SVLは、この点で正確にシーンを表す不透明な表面ボクセルのリストを含む。
【0038】
図2のステップ100に対応する、SVLを初期化するプロセスが図3に示される。ステップ150で、復元ボリュームにおける全てのボクセルを使って各画像のために項目バッファが作られる。上述したように、各ピクセルのための項目バッファは、その上に投影する最も近い切り分けられていないボクセルのIDを含む。項目バッファを作るためのプロセスは、図4に関連して下で記述される。画像Iがステップ152で選ばれ、画像IにおけるピクセルPがステップ154で選ばれる。ステップ156で、ピクセルPの項目バッファに含まれるボクセルIDである、PボクセルIDと一致するIDを有するボクセルがあるかどうか判定される。ピクセルPのための項目バッファがボクセルIDを含まないならば、プロセスは、ステップ162に進む。その項目バッファがボクセルIDを含むならば、ボクセルVがすでにSVL上にあるかどうか、ステップ158で判定される。ボクセルVがすでにSVL上にあるならば、プロセスはステップ162に進む。ボクセルVがSVL上にないならば、ボクセルVがステップ160でSVLに加えられる。画像Iに処理すべきピクセルがもっとあるならば、ステップ162によってプロセスはステップ154に戻される。処理すべき画像がもっとあるならば、ステップ1 64によってプロセスはステップ152に戻される。
【0039】
画像Iおよび1組のボクセルSのための項目バッファが図4に示される。図4の処理は、各画像について図2のステップ102で繰り返される。ステップ180で画像I中のピクセルPが選ばれる。各ピクセルのための項目バッファは、ボクセルIDであるP.ボクセルIDおよびボクセルの距離であるP.距離を含む。ステップ182で、ピクセルPのためのボクセルIDがノーボクセルにセットされ、ボクセル距離が非常に遠いにセットされる。ステップ184で判定されるように、画像Iでに残っているピクセルがあるならば、プロセスは画像Iの次のピクセルの処理のためにステップ180へ戻る。ステップ180、182および184を含むループは、画像Iの各ピクセルの項目バッファをリセットさせる。ステップ186で、ボクセルSの集合でのボクセルVが選ばれ、ステップ188で画像IへのボクセルVの投影の中からピクセルPが選ばれる。ステップ190で、ピクセルPの項目バッファに含まれる距離であるP.距離がカメラからボクセルVまでの距離より大きいかどうか判定される。答えがイエスであり、ボクセルVが項目バッファのボクセルよりもカメラに近いことが示されると、項目バッファのボクセルがステップ192でボクセルVと置き換えられる。特に、P.ボクセルIDの値がボクセルVのIDにセットされ、P.距離がボクセルVの距離にセットされる。プロセスは、次いでステップ194に進む。画像IへのボクセルVの投影にもっとピクセルがあることがステップ194で判定されるならば、プロセスは次のピクセルの処理のためにステップ188へ戻る。ボクセルSの集合にもっとボクセルがあることがステップ196で判定されるならば、プロセスは次のボクセルを処理するためにステップ186へ戻る。図4のプロセスが完了すると、画像Iのための項目バッファは、各ピクセルに最も近いボクセルのIDおよびカメラからの距離を含む。
【0040】
項目バッファの模型的なイラストが図5に示される。イラストを単純化するために、復元ボリューム200(通常三次元)は、2次元に減らされている。同様に、対応する2D画像における各ピクセルのためのセルを通常有する項目バッファ202は、一次元にしている。不透明なボクセル21Oおよび212は、カメラ2 14によって得られる画像のピクセルPから見える。ボクセル21Oは、ボクセル212よりカメラ2 14に近い。従って、ピクセルPの項目バッファ位置220は、ボクセル210のIDであるA、およびボクセル210の距離を含む。項目バッファは、その画像のすべてのピクセルについて同様の情報を含む。
【0041】
vis(V) を判定するためのプロセスは、図2のステップ106に対応し、図6に示される。ステップ250で、画像Iが選ばれ、画像IへのボクセルVの投影からピクセルPがステップ252で選ばれる。ステップ254で、ボクセルVのIDがピクセルPの項目バッファに含まれるP.ボクセルIDと同じであるかどうか判断される。ボクセルVのIDがピクセルPの項目バッファに含まれるならば、ピクセルPがステップ256でvis(V)に加えられる。ボクセルVのIDがピクセルPの項目バッファに含まれないならば、プロセスはステップ258に進む。ステップ258で判定されるように、ボクセルVの投影にもっとピクセルがあるならば、プロセスは次のピクセルの処理のためにステップ252へ戻る。さもなければ、ステップはプロセス260に進む。ステップ260で判定されるように、処理すべき画像がもっとあるならば、プロセスは次の画像の処理のためにステップ250へ戻る。図6のプロセスが完了すると、vis(V)は、ボクセルVが見える全ての画像におけるピクセルの集合を含む。
【0042】
図2に示される、上述したGVCアルゴリズムは、メモリの効率的利用を行う比較的単純な方法で可視性を計算する。しかし、可視性情報は、更新に比較的時間がかかる。したがって、GVCアルゴリズムは低頻度で可視性情報を更新するので、可視性情報は多くの場合、古くなっている。このために不正確な結果を生じることはないが、非効率的である。なぜなら、すべての可視性情報を使用すると非整合と評価されるボクセルが、その情報のサブセットを使用すると整合と評価されることがあるからである。最終的に、すべての情報が集められるが、その間にボクセルは必要以上に長い間切り分けされないままにされることがあり、したがって、理想的な数より多くの整合性評価を必要とすることがある。さらに、GVCアルゴリズムは、それらの可視性(およびそれらの整合性)がそれらの最後の評価から変化していないときでも、SVL上のボクセルの整合性を再評価する。項目バッファでなく階層化された深さ画像を使うことによって、GVC -LDIアルゴリズムは、ボクセルが切り分けられるとき、効率的かつ直ちに可視性情報を更新し、その可視性が変化したボクセルを正確に判定する。
【0043】
ピクセルP上に投影する最も近いボクセルだけを各ピクセルPに記録するGVCアルゴリズムによって使われた項目バッファと異なり、LDIはピクセルPに投影するすべての表面ボクセルのリストを各ピクセルPに記憶する。これらのリストは、LDI(P)と呼ばれ、ボクセルから画像のカメラまでの距離に従ってソートされる。LDI(P)のヘッドは、ピクセルPに最も近いボクセルを格納し、それは項目バッファが格納するだろうものと同じボクセルである。項目バッファに格納される情報は、LDIでも利用可能であるから、vis(V)は両方のアルゴリズムで同様に計算すことができる。LDIは、SVLボクセルをそれらにレンダすることによって初期化される。
【0044】
別のボクセルが切り分けられるとき可視性が変化する、切り分けられていないボクセルは、2つのソースから来る。すなわち、1)図7Aに示すように切り分けられたボクセルが透明になるとき、切り分けられたボクセルに隣接する内部のボクセルが表面ボクセルになる、および2)図7Bに示すように、切り分けられないボクセルが既に表面ボクセルであり、したがってSVLおよびLDIにあり、切り分けられたボクセルから遠くにある。
【0045】
第1のカテゴリのボクセルは、それらが切り分けられたボクセルの隣にあるから簡単に識別することができる。第2カテゴリでのボクセルは、GVCアルゴリズムにおいて効率的に識別することができない。したがって、そのアルゴリズムは、色整合性のために繰り返し全てのSVLを評価しなければならない。GVC -LDIアルゴリズムでは、第2カテゴリでのボクセルは、LDIの助けで簡単に見つけることができる。それらは、切り分けられたボクセルの投影におけるピクセルPのLDI(P)上の第2ボクセルである。GVC-LDIアルゴリズムは、可視性が変化したSVLボクセルのリスト、変更された可視性SVL(CVSVL)と呼ばれる、を維持する。これらだけが、色整合性がチェックされなければならないボクセルである。CVSVLが空のとき、切り分けは終わる。
【0046】
ボクセルが切り分けがされるとき、LDI(および可視性情報)は、直ちにかつ効率的に更新されることができる。切り分けられたボクセルは、その投影におけるあらゆるピクセルPについてLDI(P)から削除されることができる。同じプロセスが、可視性が変化した、切り分けられていない第2カテゴリのボクセルのための可視性情報を自動的に更新する。これらのボクセルは、切り分けられたボクセルが取り除かれたLDIリストのヘッドに移動し、それらもCVSVLに加えられる。切り分けられたボクセルに隣接した内部ボクセルは、それらが投影するピクセルのためのLDIリスト上へ押し出される。このプロセスの副産物として、ボクセルが見えるかどうかが判定される。ボクセルが見えるならば、それはCVSVLに置かれる。
【0047】
発明の第2実施例に従うGVS-LDIアルゴリズムの例のフローチャートが図8に示される。これに対応する擬似コードを図8Aに示す。ステップ300でSVLが初期化される。先に述べたように、SVLは切り分けられていない表面ボクセルのリストを含む。SVLは、図3で示すように初期化されることができ、これについては既に記述した。
【0048】
ステップ302でLDIが初期化される。LDIは、各ピクセルから見える不透明なボクセルの順序づけられたリストを含んだ。LDIを初期化するプロセスが図9を参照して説明する。
【0049】
ステップ304で、SVLは変更された可視性SVLすなわちCVSVLにコピーされる。ステップ306でCVSVLが空でないと判定されるなら、ステップ308でボクセルVが除去され、ステップ310でvis(V)が計算される。上述してように、vis(V)はボクセルVが見える全ての画像におけるピクセルの集合である。Vis(V)は、図6と関連して先に述べたようにして計算することができる。
【0050】
ステップ314で、vis(V)の色整合性が、図2と関連して先に述べたようにして判定される。vis(V)が色整合であり、不透明なボクセルを示しているならば、プロセスはCVSVLにおける別のボクセルを処理するためにステップ306へ戻る。
【0051】
vis(V)が色整合でなく、透明ボクセルを示しているならば、ボクセルVは、切り分けられたとマークされ、ステップ316でSVLから除去される。ステップ3 1 8でボクセルVは、全てのLDIから削除される。別のボクセルV’がLDIリストのヘッドへ移るならば、ボクセルV’がCVSVL上に置かれる。
【0052】
ステップ320で、ボクセルVに隣接するボクセルNが選ばれる。ボクセルNが切り分けがされているかSVL上にあるならば、プロセスはステップ328に進む。ボクセルNが切り分けされておらずSVL上にないならば、ボクセルNはステップ324でSVLに加えられる。ステップ326でボクセルNは、LDIに挿入される。LDIにボクセルを挿入するプロセスは、図10を参照して下で記述される。ボクセルNがLDIリストのヘッドに挿入されるならば、ボクセルNがCVSVLに加えられる。
【0053】
ステップ328でボクセルVに隣接するボクセルがもっとあると判定されるならば、プロセスは次の隣接したボクセルを処理するためにステップ320へ戻る。どのボクセルもボクセルVに隣接しないことがステップ328で判定されるとき、プロセスはCVSVLの上で次のボクセルを処理するためにステップ306に進む。CVSVLが空とステップ306で判定されるとき、プロセスはステップ330に進み、SVLが保存される。
【0054】
図8のステップ300に対応する、LDIを初期化するためのプロセスが図9に示される。画像Iがステップ3 50で選ばれ、SVL上のボクセルVがステップ352で選ばれる。ボクセルVが、ステップ354で画像IのLDIに挿入される。LDIへのボクセルVの挿入は図10を参照して下で記述される。もっとボクセルがSVLにあるとステップ356で判定されるならば、プロセスは次のボクセルの処理のためにステップ352に戻る。SVLの全てのボクセルが画像IのためのLDIに挿入されたとき、プロセスはステップ358に進む。もっと画像があるとステップ358で判定されるならば、プロセスは次の画像を処理するためにステップ350へ戻る。ステップ358の後には、SVLのボクセルは、すべての画像のためのLDIにレンダされている。
【0055】
画像IのためのLDIにボクセルVを挿入するプロセスは、図8のステップ326および図9のステップ354に対応し、図10に示される。ステップ380で、画像IへのボクセルVの投影におけるピクセルPが選ばれる。ステップ3 82で、プロセスが現在LDI(P)の後尾(カメラから最も遠い)にあるかどうか判断される。プロセスがLDI(P)の後尾にあるならば、ボクセルVがステップ384でLDI(P)の後尾に挿入される。プロセスは、それからステップ392に進む。プロセスがLDI(P)の後尾にないことがステップ382で判定されるならば、ボクセルVがLDI(P)の次のボクセルよりカメラに近いかどうか、ステップ386で判断される。ボクセルVがLDI(P)の次のボクセルよりカメラに近いならば、ボクセルVはステップ388でLDI(P)上で次のボクセルの前に挿入される。プロセスは、それからステップ392に進む。ボクセルVがLDICPの次のボクセルよりカメラに近くないことがステップ386で判定されるならば、プロセスはステップ390でLDI(P)上の次のボクセルに進み、ステップ382に戻る。ステップ384またはステップ388に続いて、ボクセルVの画像Iへの投影にもっとピクセルがあるかどうか、ステップ392で判断される。画像IへのボクセルVの投影にもっとピクセルがあるとき、プロセスは次のピクセルの処理のためにステップ380へ戻る。
【0056】
LDIが図11におおまかに示されている。イラストを単純化するために、復元ボリューム396(通常三次元の)は、2次元にしてある。同様にLDI 398は、通常対応する2D画像のあらゆるピクセルについて1セルを持つが、1次元で示してある。LDI 398は、各ピクセルに対応する可視性情報を記憶するが、図11は1ピクセルについて格納される情報だけを示す。不透明なボクセル400および402は、カメラ404によって得られる画像のピクセルPから見える。ピクセルPのLDI(P)41Oは、ピクセルPに投影する不透明なボクセルの順序付けられたリストを含む。LDI(P)410における第1の位置は、IDフィールド41 8およびリンクフィールド420を有し、LDI(P)410の第2位置はIDフィールド422およびリンクフィールド424を有する。IDフィールド4 1 8は、最も近い不透明なボクセル400のIDであるAを含み、リンクフィールド420は、第2位置へのポインタを含む。IDフィールド422は、2番目に近い不透明なボクセル402のIDであるBを含み、リンクフィールド424は、リストの終わりを示す値を含んでいる。図11の例において、LDI(P)はリンクされたリストとして実行される。
【0057】
上述したシーンの複数の入力イメージからシーンの3次元モデルを復元するに適したコンピューターシステム500の例のブロック図を図12に示す。コンピューターシステム500は、中央処理装置(CPU)51O、磁気ディスク装置520、ディスプレイ530および入力装置540を含む。磁気ディスク装置520は、概して1つまたは複数のハードディスクドライブを使って実現される。シーンの3次元モデルを復元するための入力イメージは、磁気ディスク装置520に格納することができる。入力装置540は標準的なキーボードおよびポインティングデバイス(例えばマウスまたはトラックボール)を使って実現することができる。
【0058】
CPU 51は、プロセッサ512、ディスプレイ530上に表示される画像を格納するためのメモリ514およびフレームバッファー51 8を含む。プロセッサ512は、コンピューターシステム500の主要な処理能力を提供し、例えばモデルHP9000/J282(ヒューレット・パッカード社)を使って実現することができる。メモリ514は、プログラム命令の記憶のためにおよびプロセッサ5 12によって実行される計算の結果の記憶のために使われる。好ましい実施例においてメモリは、200メガバイト以上のRAMを含んでいる。フレームバッファ518は、ディスプレイ530のために1フレームのデータを格納することができる高速バッファ・メモリデバイスである。この発明に従ってシーンの3次元モデルの復元を実行するためのソフトウェア・ルーチンはCプログラミング言語を使って実現することができ、メモリ514や磁気ディスク装置520に常駐させることができる。この発明に従ってシーンの3次元モデルを復元するためのコンピュータプログラムは、コンピュータ読み取り可能媒体(例えば磁気ディスク、コンパクトディスクまたは磁気テープ)上に格納することができ、当技術分野で知られているように、適切な周辺デバイスを使ってコンピューターシステム500にロードすることができる。上で示したハードウェア構成機器は例として示しただけであり、この発明はさまざまなコンピューターシステムで実行されることができる。
【図面の簡単な説明】
【図1】この発明に従うシーンの3次元モデルの復元を示す図。
【図2】この発明の第1実施例に従って、項目バッファを利用する一般化されたボクセル色付けアルゴリズムの例を示すフローチャート。
【図2A】図2のフローチャートに対応する擬似コードを示す図。
【図3】表面ボクセル・リストを初期化するプロセスの例を示すフローチャート。
【図4】項目バッファを作るプロセスの例を示すフローチャート。
【図5】項目バッファの1例を示す図。
【図6】vis(V)を計算するプロセスの例を示すフローチャート。
【図7A】ボクセルが切り分けられるとき隣接したボクセルの可視性の変化を示す図。
【図7B】ボクセルが切り分けられるとき、遠いボクセルの可視性の変化を示す図。
【図8】発明の第2実施例に従って、階層化された深さ画像を利用している一般化されたボクセル色付けアルゴリズムの例を示すフローチャートである;
【図8A】第2実施例のボクセル色付けアルゴリズムの擬似コードの例を示す図。
【図9】階層化された深さ画像を初期化するプロセスの例を示すフローチャート。
【図10】階層化された深さ画像にボクセルを挿入するプロセスの例を示すフローチャート。
【図11】階層化された深さ画像の例を示す図。
【図12】この発明を実行するためのハードウェア構成の例を示すブロック図。

Claims (14)

  1. プロセッサとメモリを含むコンピュータシステムにおいて、複数の視点からとられたシーンの複数の画像からシーンの3次元モデルを復元する方法であって、前記プロセッサが、
    a)前記シーンを含む一組のボクセルを含む復元ボリュームを規定するステップと、
    b)前記復元ボリュームの表面上に切り分けられていないボクセルの表面ボクセル・リスト(SVL)を初期化するステップと、
    c)前記画像のそれぞれにおける各ピクセルについて、そのピクセルに投影する最も近いボクセルのIDを含む項目バッファを作って前記メモリに保管するステップと、
    d) 前記SVLにおける各ボクセルを処理するステップであって、
    dl) ボクセルが見える全ての画像におけるピクセルの集合vis(V)を計算し、
    d2)vis(V)の色整合性を判定し、
    d3)vis(V)が色整合でないならば、i) ボクセルVを切り分け、ii) SVLからボクセルVを取り除き、iii)ボクセルVに隣接しかつSVL上にないすべての切り分けられていないボクセルNをSVLに加える、処理ステップと、
    e) 項目バッファを作るステップ以来いずれかのボクセルが切り分けられていれば、ステップc)およびd)を繰り返すステップと、
    f)項目バッファを作るステップ以来どのボクセルも切り分けられていなければ、前記SVLを前記メモリに保存するステップと、
    実行することにより、前記3次元モデルを復元する方法。
  2. 請求項1の方法であって、SVLを初期化するステップが、
    復元ボリュームにおけるボクセルを使って各画像のための項目バッファを作ること、
    各画像の各ピクセルPについて、ピクセルPの項目バッファにおけるボクセルIDに一致するIDを有するボクセルVがあり、該ボクセルVがSVL上存在しないならば、ボクセルVをSVLに加えること、 を含む前記方法。
  3. 前記各画像のための項目バッファを作るステップが、
    b1)選ばれた画像の項目バッファにおいてピクセル位置を初期化するステップ、
    b2)復元ボリューム中のボクセルを選ぶステップ、
    b3)選ばれた画像への選ばれたボクセルの投影での各ピクセルについて、選ばれたボクセルからカメラへの距離が項目バッファに格納された距離より小さいならば、選ばれたボクセルからカメラまでの距離およびIDを項目バッファに格納するステップ、
    b4)復元ボリュームにおける各ボクセルについてステップb2)およびb3)を繰り返すステップ、
    b5)各画像についてステップb1)からb4)を繰り返すステップ、を含む請求項2に記載の方法。
  4. 前記項目バッファを作るステップが、
    c1)選ばれた画像について項目バッファでのピクセル位置を初期化するステップ、
    c2)SVLにおけるボクセルを選ぶステップ、
    c3) 選ばれた画像への選ばれたボクセルの投影での各ピクセルについて、選ばれたボクセルからカメラへの距離が項目バッファに格納された距離より小さいならば、選ばれたボクセルからカメラまでの距離およびIDを項目バッファに格納するステップ、
    c4)SVL上の各ボクセルについてステップc2)およびc3)を繰り返すステップ、および
    c5)各画像についてステップc1)からc4)を繰り返すステップ、を含む請求項1に記載の方法。
  5. 前記切り分けられていないボクセルをSVLに加えるステップは、SVL上の全てのボクセルがステップd)の現在の繰り返しにおいて処理された後に、SVLに切り分けられていないボクセルを加えることを含む、請求項1に記載の方法。
  6. 切り分けされていないボクセルNをSVLに加える前記ステップは、ステップd)の次の繰返しまで処理されない位置でSVLに切り分けされていないボクセル加えることを含む請求項1に記載の方法。
  7. ピクセルの集合vis(V)を計算する前記ステップは、ピクセルPの項目バッファにおけるボクセルIDがボクセルVのIDと一致するならば、画像のそれぞれへのボクセルVの投影における各ピクセルPをvis(V)に加えるステップを含む請求項1に記載の方法。
  8. プロセッサとメモリを含むコンピュータシステムにおいて、複数の視点からとられたシーンの複数の画像からシーンの3次元モデルを復元する方法であって、前記プロセッサが、
    a)前記シーンを含む一組のボクセルを含む復元ボリュームを規定するステップと、
    b)前記復元ボリュームの表面上に切り分けられていないボクセルを含む表面ボクセル・リスト(SVL)を初期化するステップと、
    c) 複数の画像のそれぞれにおける各ピクセルについて、該ピクセル上に投影するすべての表面ボクセルのリストであって、ボクセルから画像のカメラまでの距離に従ってソートされたリストを含む、階層化された深さ画像(LDI)を作るステップと、
    d)変更された可視性SVL(CVSVL)にSVLをコピーするステップと、
    e)CVSVLにボクセルがある間、
    e1)CVSVL上のボクセルVを選び、CVSVLからボクセルVを取り除き、
    e2)ボクセルVが見える全ての画像におけるピクセルの集合vis(V)を計算し、
    e3)vis(V)の色整合性を判定し、
    e4)vis(V)が色整合でないならば、i) ボクセルVを切り分け、ii) SVLからボクセルVを取り除き、iii) LDIからボクセルVを削除し、iv) ボクセルVがピクセルPのLDI(P)のヘッドにあるならば、CVSVLにLDI(P)上の次のボクセルを加え、v)ボクセルVに隣接するそれぞれの切り分けられていないボクセルNにつき、その可視性が変化していれば、ボクセルNをCVSVLに加え、ボクセルNをLDIに挿入する、ステップと、
    f)CVSVLが空であるとき、SVLを前記メモリに保存するステップと、
    実行することにより、前記3次元モデルを復元する方法。
  9. 請求項8の方法であって、SVLを初期化するステップが、
    復元ボリュームのボクセルを使って各画像のための項目バッファを作ること、
    各画像の各ピクセルPについて、ピクセルPの項目バッファ中のボクセルIDに一致するIDを有するボクセルVがあり、該ボクセルVがSVL上存在しないならば、ボクセルVをSVLに加えること、を含む前記方法。
  10. 前記各画像のための項目バッファを作るステップが、
    b1)選ばれた画像の項目バッファにおいてピクセル位置を初期化するステップ、
    b2)復元ボリューム中のボクセルを選ぶステップ、
    b3)選ばれた画像への選ばれたボクセルの投影での各ピクセルについて、選ばれたボクセルからカメラへの距離が項目バッファに格納された距離より小さいならば、選ばれたボクセルからカメラまでの距離およびIDを項目バッファに格納するステップ、
    b4)復元ボリュームにおける各ボクセルについてステップb2)およびb3)を繰り返すステップ、b5)各画像についてステップb1)からb4)を繰り返すステップ、
    を含む請求項9に記載の方法。
  11. 前記階層化された深さ画像(LDI)を作るステップが、
    c1)前記複数の画像から1つの画像を選択するステップ、
    c2)SVLにおけるボクセルを選ぶステップ、
    c3) 選ばれた画像への選ばれたボクセルの投影におけるすべてのピクセルについて、選ばれたボクセルから選ばれた画像のカメラまでの距離に従って、前記選ばれたボクセルを前記階層化された深さ画像に挿入するステップ、
    c4)SVL上の各ボクセルについてステップc2)およびc3)を繰り返すステップ、
    c5)前記複数の画像のおける画像のそれぞれについてステップc1)からc4)を繰り返すステップ、を含む請求項8に記載の方法。
  12. ピクセルの集合vis(V)を計算する前記ステップは、ピクセルPのLDI(P)の最初のエントリにおけるボクセルIDがボクセルVのIDと一致するならば、ボクセルVの画像のそれぞれへの投影における各ピクセルPをvis(V)に加えるステップを含む、請求項1に記載の方法。
  13. 複数の視点からとられたシーンの複数の画像からシーンの3次元モデルを復元するための装置であって、前記シーンの複数の画像を表す画像データを格納する記憶装置と、前記記憶装置における前記画像データを処理するディジタル・コンピュータとを備え、該ディジタル・コンピュータは、
    a)前記シーンを含む一組のボクセルを含む復元ボリュームを規定する手段と、
    b)前記復元ボリュームの表面上に切り分けられていないボクセルを含む表面ボクセル・リスト(SVL)を初期化する手段と、
    c)前記複数の画像のそれぞれにおける各ピクセルについて、そのピクセルに投影する最も近いボクセルのIDを含む項目バッファを作る手段と、
    d) 前記SVLにおける各ボクセルを処理する手段であって、
    dl) ボクセルが見える全ての画像におけるピクセルの集合vis(V)を計算する手段、
    d2)vis(V)の色整合性を判定する手段、
    d3)vis(V)が色整合でないならば、i) ボクセルVを切り分け、ii) SVLからボクセルVを取り除き、iii)ボクセルVに隣接しかつSVL上にないすべての切り分けられていないボクセルNをSVLに加える手段、を有する処理手段と、
    e) 項目バッファが作られて以来いずれかのボクセルが切り分けられていれば、項目バッファの作成および前記SVLにおける各ボクセルVの処理を繰り返す手段と、
    f)項目バッファが作られて以来どのボクセルも切り分けられていなければ、前記SVLを保存するための手段と、を含む装置。
  14. 複数の視点からとられたシーンの複数の画像からシーンの3次元モデルを復元するための装置であって、前記シーンの複数の画像を表す画像データを格納する記憶装置と、前記記憶装置における前記画像データを処理するディジタル・コンピュータとを備え、該ディジタル・コンピュータは、
    a)前記シーンを含む一組のボクセルを含む復元ボリュームを規定する手段と、
    b)前記復元ボリュームの表面上に切り分けられていないボクセルを含む表面ボクセル・リスト(SVL)を初期化する手段と、
    c) 画像のそれぞれにおける各ピクセルについて、該ピクセル上に投影するすべての表面ボクセルのリストであって、ボクセルから画像のカメラまでの距離に従ってソートされたリストを含む、階層化された深さ画像(LDI)を作る手段と、
    d)変更された可視性SVL(CVSVL)にSVLをコピーする手段と、
    e)CVSVLにボクセルがある間、
    e1)CVSVL上のボクセルVを選び、CVSVLからのボクセルVを取り除き、
    e2)ボクセルVが見える全ての画像のピクセルの集合vis(V)を計算し、
    e3)vis(V)の色整合性を判定し、
    e4)vis(V)が色整合でないならば、i) ボクセルVを切り分け、ii) SVLからボクセルVを取り除き、iii) LDIからボクセルVを削除し、iv) ボクセルVがピクセルPのLDI(P)のヘッドにあるならば、CVSVLにLDI(P)上の次のボクセルを加え、v)ボクセルVに隣接するそれぞれの切り分けられていないボクセルNにつき、その可視性が変化していれば、ボクセルNをCVSVLに加え、ボクセルNをLDIに挿入する、手段と、
    f)CVSVLが空であるとき、SVLを保存するための手段と、を備える装置。
JP2001524361A 1999-09-17 2000-09-16 3dモデルをつくる方法および装置 Expired - Fee Related JP4409139B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/398,489 1999-09-17
US09/398,489 US6373487B1 (en) 1999-09-17 1999-09-17 Methods and apparatus for constructing a 3D model of a scene from calibrated images of the scene
PCT/US2000/025549 WO2001020914A2 (en) 1999-09-17 2000-09-16 Methods and apparatus for constructing a 3d model of a scene from calibrated images of the scene

Publications (2)

Publication Number Publication Date
JP2003509790A JP2003509790A (ja) 2003-03-11
JP4409139B2 true JP4409139B2 (ja) 2010-02-03

Family

ID=23575571

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001524361A Expired - Fee Related JP4409139B2 (ja) 1999-09-17 2000-09-16 3dモデルをつくる方法および装置

Country Status (4)

Country Link
US (1) US6373487B1 (ja)
EP (1) EP1145567A3 (ja)
JP (1) JP4409139B2 (ja)
WO (1) WO2001020914A2 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6990228B1 (en) * 1999-12-17 2006-01-24 Canon Kabushiki Kaisha Image processing apparatus
US20020024517A1 (en) * 2000-07-14 2002-02-28 Komatsu Ltd. Apparatus and method for three-dimensional image production and presenting real objects in virtual three-dimensional space
US6930683B2 (en) * 2002-04-19 2005-08-16 Hewlett-Packard Development Company, L.P. Three-dimensional reconstruction method utilizing reprojective optimization
US6980301B2 (en) * 2002-07-25 2005-12-27 Cubic Co., Ltd Method and apparatus for three-dimensional surface morphometry
WO2004047009A2 (en) * 2002-11-15 2004-06-03 Esc Entertainment, A California Corporation Method for digitally rendering skin or like materials
US7301538B2 (en) * 2003-08-18 2007-11-27 Fovia, Inc. Method and system for adaptive direct volume rendering
KR100669900B1 (ko) * 2004-12-16 2007-01-17 한국전자통신연구원 이미지 기반의 볼륨 데이터 제거 방법
US8340241B2 (en) * 2006-02-27 2012-12-25 Kabushiki Kaisha Toshiba Image display apparatus and X-ray computed tomography apparatus
US8587583B2 (en) * 2011-01-31 2013-11-19 Microsoft Corporation Three-dimensional environment reconstruction
US8698874B2 (en) * 2011-06-10 2014-04-15 Microsoft Corporation Techniques for multiple video source stitching in a conference room
US9857470B2 (en) 2012-12-28 2018-01-02 Microsoft Technology Licensing, Llc Using photometric stereo for 3D environment modeling
US9940553B2 (en) 2013-02-22 2018-04-10 Microsoft Technology Licensing, Llc Camera/object pose from predicted coordinates
KR101793485B1 (ko) * 2014-01-03 2017-11-03 인텔 코포레이션 깊이 카메라를 사용하는 실시간 3d 재구성
CN104143212A (zh) * 2014-07-02 2014-11-12 惠州Tcl移动通信有限公司 基于穿戴设备的增强现实方法及系统
GB201512304D0 (en) * 2015-07-13 2015-08-19 Whispering Gibbon Ltd Preparing a polygon mesh for printing
WO2017079657A1 (en) * 2015-11-04 2017-05-11 Intel Corporation Use of temporal motion vectors for 3d reconstruction
WO2017180615A1 (en) 2016-04-12 2017-10-19 Quidient, Llc Quotidian scene reconstruction engine
JP6425780B1 (ja) * 2017-09-22 2018-11-21 キヤノン株式会社 画像処理システム、画像処理装置、画像処理方法及びプログラム
JP7399879B2 (ja) 2018-05-02 2023-12-18 クイッディエント・エルエルシー ほとんど無制限のディテールを有するシーンを処理するためのコーデック
CN109764824A (zh) * 2018-12-19 2019-05-17 武汉西山艺创文化有限公司 一种基于可拆卸套件的便携式三维模型扫描方法和装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2642198B1 (fr) * 1989-01-20 1991-04-05 Gen Electric Cgr Procede de calcul et d'exploitation de l'image en projection conique, par exemple au sens des rayons x, d'un objet tridimensionnel echantillonne, et procede de reconstruction tridimensionnelle d'un objet etudie utilisant ce procede de calcul
US5101475A (en) * 1989-04-17 1992-03-31 The Research Foundation Of State University Of New York Method and apparatus for generating arbitrary projections of three-dimensional voxel-based data
JPH0778266A (ja) * 1993-06-25 1995-03-20 Sony Corp 画像処理装置
WO1996007989A1 (en) * 1994-09-06 1996-03-14 The Research Foundation Of State University Of New York Apparatus and method for real-time volume visualization
US6008813A (en) * 1997-08-01 1999-12-28 Mitsubishi Electric Information Technology Center America, Inc. (Ita) Real-time PC based volume rendering system
US6249600B1 (en) * 1997-11-07 2001-06-19 The Trustees Of Columbia University In The City Of New York System and method for generation of a three-dimensional solid model
US6232979B1 (en) * 1997-12-19 2001-05-15 Silicon Graphics, Inc. Method, system, and computer program product for fast computation using parallel multi-channel resampling and blending

Also Published As

Publication number Publication date
EP1145567A3 (en) 2002-09-11
WO2001020914A3 (en) 2001-10-04
EP1145567A2 (en) 2001-10-17
JP2003509790A (ja) 2003-03-11
US6373487B1 (en) 2002-04-16
WO2001020914A2 (en) 2001-03-22

Similar Documents

Publication Publication Date Title
JP4409139B2 (ja) 3dモデルをつくる方法および装置
Culbertson et al. Generalized voxel coloring
US7542034B2 (en) System and method for processing video images
Slabaugh et al. A survey of methods for volumetric scene reconstruction from photographs
US7362332B2 (en) System and method of simulating motion blur efficiently
US7046840B2 (en) 3-D reconstruction engine
US7129943B2 (en) System and method for feature-based light field morphing and texture transfer
JPH0581438A (ja) 三次元ソリツド対象物を表現する表示可能情報を発生する装置と方法
Liu et al. High-quality textured 3D shape reconstruction with cascaded fully convolutional networks
US20070216680A1 (en) Surface Detail Rendering Using Leap Textures
Schollmeyer et al. Efficient and anti-aliased trimming for rendering large NURBS models
Nguyen et al. High-definition texture reconstruction for 3D image-based modeling
US6518964B1 (en) Apparatus, system, and method for simplifying annotations on a geometric surface
Maxim et al. A survey on the current state of the art on deep learning 3D reconstruction
Rossignac et al. Correct shading of regularized CSG solids using a depth-interval buffer
EP1503346A1 (en) A process for providing a vector image with removed hidden lines
Woodford et al. Fast image-based rendering using hierarchical image-based priors
Leung et al. Embedded voxel colouring with adaptive threshold selection using globally minimal surfaces
Gatenby et al. Optimizing discontinuity meshing radiosity
Yilmaz et al. An Image-Based Inexpensive 3D Scanner
Prakash et al. A semi-supervised approach to space carving
Harvey Blinking cubes: a method for polygon-based scene reconstruction
Fusiello Multi-view Stereo Reconstruction
Bigdelou et al. Incremental Visual Hull Reconstruction.
Kessel Surface Estimation From Multiple Images

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061012

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090630

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090820

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20090820

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: 20091013

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: 20091111

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121120

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees