JP4335589B2 - How to model a 3D object - Google Patents
How to model a 3D object Download PDFInfo
- Publication number
- JP4335589B2 JP4335589B2 JP2003172419A JP2003172419A JP4335589B2 JP 4335589 B2 JP4335589 B2 JP 4335589B2 JP 2003172419 A JP2003172419 A JP 2003172419A JP 2003172419 A JP2003172419 A JP 2003172419A JP 4335589 B2 JP4335589 B2 JP 4335589B2
- Authority
- JP
- Japan
- Prior art keywords
- light
- image
- images
- viewpoint
- vertex
- 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
Links
Images
Landscapes
- Image Analysis (AREA)
- Image Processing (AREA)
- Image Generation (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、総括的には、コンピュータグラフィックスに関し、より具体的には、3次元物理オブジェクト(3次元対象物)の画像を取得し、現実的なシーンにレンダリングすることができる3Dコンピュータグラフィックスのモデルを生成することに関する。
【0002】
【従来の技術】
3次元コンピュータグラフィックスのモデルは、多くのコンピュータグラフィックスの用途で使用される。手動で3Dモデルを生成することは、時間を要する作業であり、多くの実用的な用途にとってボトルネックの原因となる。複雑な形状をモデル化することの困難さに加えて、従来技術のパラメトリック反射モデルを使用して複雑なオブジェクトの幾何学図形および外観を複製することは不可能であることが多い。
【0003】
驚くことではないが、物理オブジェクトを読み取る、または画像化することにより、3Dモデルを自動的に生成するシステムの重要性は、非常に増大してきた。理想的なシステムは、オブジェクトの形状および外観を自動的に取得し、そして、任意の新しい照明を有する任意の現実的なシーンに配置できる詳細な3Dモデルを構築するであろう。
【0004】
最近、この目標に向けて多くの研究が行われてきているが、これまでのシステムのいずれも、これらの要件のすべてを満たしているわけではない。ほとんどの市販のシステムを含む多くのシステムは、正確な形状を取り込むことに焦点を合わせているが、正確な外観を取得することを無視している。他の方法は、3Dオブジェクトの反射特性を取り込み、これらの特性をパラメトリック双方向反射分布関数(BRDF)(Bi-directional reflectance distribution function)に適合させる。しかしながら、それらの方法は、複雑な異方性BRDFには機能せず、相互反射、自己遮蔽、透光性、サブサーフェス光散乱(sub-surface light scattering)、または屈折といった重要な外観の効果のモデル化を行わない。
【0005】
また、複雑なオブジェクトを取得し、表現する多数の画像ベースの方法も存在する。しかし、それらは、3D形状モデルを欠くか、正確な3D幾何学図形を前提とするか、新しい任意の照明下でのオブジェクトのレンダリングを可能としていないか、または単一の視点に制限されているかのいずれかである。これらシステムのすべては、かなりの手動操作を伴う。
【0006】
物理オブジェクトから高品質の3D形状を取得する多くの方法が存在し、これらの方法には、接触型デジタイザ(contact digitizer)、パッシブステレオ奥行き抽出(passive stereo depth-extraction)、およびアクティブな光画像システム(active light imaging system)が含まれる。パッシブデジタイザは、デジタル化されるオブジェクトが十分なテクスチャを有しない場合に無力である。ほとんどすべてのパッシブな方法は、BRDFが均等拡散(Lambertian)であるか、または、BRDFが表面全体にわたって変化しないと仮定する。
【0007】
Magda等は、「Beyond Lambert: Re-constructing Surfaces with Arbitrary BRDFs」Proc. of IEEE International Conference on Computer Vision ICCV, 2001において、ヘルムホルツ相反(Helmholtz reciprocity)を使用して、任意のBRDFによりオブジェクトから奥行きマップを抽出する立体視方法を記述している。しかしながら、彼らの方法は、滑らかなオブジェクトに対して強くはない。さらに、彼らの方法は、相互反射および自己遮蔽を考慮していない。
【0008】
レーザレンジスキャナといったアクティブな光システムは、非常によく知られ、この分野で大きなモデルを取得するために使用されてきた。これについては、Levoy等著「The Digital Michelangelo Project: 3D Scanning of Large Statues」Computer Graphics, SIGGRAPH 2000 Proceedings, pp. 131-144, 2000およびRushmeier等著「Acquiring Input for Rendering at Appropriate Levels of Detail: Digitizing a Piet'a」Proceedings of the 9th Eurographics Workshop on Rendering, pp. 81-92, 1998を参照されたい。
【0009】
アクティブな光システムは、別々に取得され、読み取られたメッシュを一列に並べる位置合わせステップを必要とすることが多い。これについては、Curless等著「A Volumetric Method for Building Complex Models from Range Images」Computer Graphics, SIGGRAPH 96 Proceedings, pp. 303-312, 1996、および、Turk等著「Zippered Polygon Meshes from Range Images」Computer Graphics, SIGGRAPH 94 Proceedings, pp. 311-318, 1994を参照されたい。あるいは、読み取られた幾何学図形は、別々に取得されたテクスチャ画像と一列に並べられる。これについては、Bernardini等著「High-Quality Texture Reconstruction from Multiple Scans」IEEE Trans. on Vis. and Comp. Graph., 7(4):318-332, 2001を参照されたい。
【0010】
その上、多くの場合、欠けているデータによるギャップを満たす必要がある。画像システムの照準線に沿って表面カラーの推定値を取得するために、複数のレーザを使用するシステムが構築されてきた。しかしながら、それらのシステムは、現実的な照明の下でオブジェクトを取り込むためには役に立たない。Hawkins等によって、「A Photometric Approach to Digitizing Cultural Artifacts」2nd International Symposium on Virtual Reality, Archaeology, and Cultural Heritage, 2001に詳述されるように、すべてのアクティブな光システムでは、読み取ることができる材質のタイプに制約がある。
【0011】
任意の材質により構成されるオブジェクトをレンダリングするには、画像ベースのレンダリングを使用することができる。画像ベースの表現は、オブジェクトの幾何学図形および外観の複雑さに関係なく、オブジェクトを取り込み、表現するという利点を有する。従来技術の画像ベースの方法は、対応情報を使用してシーン内をナビゲーションすることを可能にしていた。これについては、Chen等著「View Interpolation for Image Synthesis」Computer Graphics, SIGGRAPH 93 Proceedings, pp. 279-288, 1993およびMcMillan等著「Plenoptic Modeling: An Image-Based Rendering System」Computer Graphics, SIGGRAPH 95 Proceedings, pp. 39-46, 1995を参照されたい。この方法は、3Dオブジェクトのモデルを構築しないので、厳しく制約される。
【0012】
ライトフィールド(光照射野(light field))の方法は、幾何学情報は用いないが、増加した個数の画像を用いて、同様の結果を達成する。これについては、Gortler等著「The Lumigraph」Computer Graphics, SIGGRAPH 96 Proceedings, pp. 43-54, 1996およびLevoy等著「Light Field Rendering」Computer Graphics, SIGGRAPH 96 Proceedings, pp. 31-42, 1996を参照されたい。Gortler等によって記載されるように、それらの方法の最もよいものは、改良された光線補間のために、オブジェクトのビジュアルハル(visual hull)を含んでいる。しかしながら、それらの方法は、静止した照明を使用し、新しい任意の現実的なシーンにオブジェクトを正確にレンダリングすることができない。
【0013】
純粋なモデルベースの方法と純粋な画像ベースの方法との間の中間的な方法は、視点依存型テクスチャマッピングを使用する。これについては、Debevec等著「Modeling and Rendering Architecture from Photographs: A Hybrid Geometry- and Image-Based Approach」Computer Graphics, SIGGRAPH 96 Proceedings, pp. 11-20, 1996、Debevec等著「Efficient View-Dependent Image-Based Rendering with Projective Texture-Mapping」Proceedings of the 9th Eurographics Workshop on Rendering, pp. 105-116, 1998、およびPulli等著「View-Based Rendering: Visualizing Real Objects from Scanned Range and Color Data」Eurographics Rendering Workshop 1997, pp. 23-34, 1997を参照されたい。それらは、単純な幾何学図形およびまばらなテクスチャデータを結合して、画像間を正確に補間する。それらの方法は、それらの近似した3D形状にもかかわらず効果的であるが、それらは、比較的少ない個数のテクスチャマップのために、高い反射率の鏡面に対して制約がある。
【0014】
表面ライトフィールド(surface light field)は、視点依存型テクスチャマップのより一般的で、より効率的な表現と考えることができる。これについては、Nishino等著「Eigen-Texture Method: Appearance Compression based on 3D Model」Proc. of Computer Vision and Pattern Recognition, pp. 618-624, 1999、Miller等著「Lazy Decompression of Surface Light Fields for Precomputed Global Illumination」Proceedings of the 9th Eurographics Workshop on Rendering, pp. 281-292, 1998、Nishino等著「Appearance Compression and Synthesis based on 3D Model for Mixed Reality」Proceedings of IEEE ICCV '99, pp. 38-45, 1999、Grzeszczuk著「Acquisition and Visualization of Surface Light Fields」Course Notes, SIGGRAPH 2001, 2001、およびWood等著「Surface Light Field for 3D Photography」Computer Graphics, SIGGRAPH 2000 Proceedings, pp. 287-296, 2000を参照されたい。Wood等は、正確な高密度幾何学図形の表面ライトフィールドのデータを記憶する一方、Nishino等は、より粗い3角形のメッシュを、幾何学的複雑さの低いオブジェクトに使用する。
【0015】
表面ライトフィールドは、相互反射および自己遮蔽といった重要なグローバル照明効果(大域照明効果(global lighting effect))を再現することができる。表面ライトフィールドにより生成される画像は、通常、固定された照明条件下のオブジェクトを示す。この制限を克服するために、インバースレンダリング(inverse rendering)方法が、オブジェクトの画像および幾何学形状から表面BRDFを推定する。
【0016】
コンパクトなBRDF表現を達成するために、ほとんど方法は、パラメトリック反射モデルを画像データに適合させる。これについては、Lensch等著「Image-Based Reconstruction of Spatially Varying Materials」Proceedings of the 12th Eurographics Workshop on Rendering, 2001、Sato等著「Object Shape and Reflectance Modeling from Observation」Computer Graphics, SIGGRAPH 97 Proceedings, pp. 379-387, 1997、およびYu等著「Inverse Global Illumination: Recovering Reflectance Models of Real Scenes from Photographs」Computer Graphics, SIGGRAPH 99 Proceedings, pp. 215-224, 1994を参照されたい。
【0017】
Sato等およびYu等は、BRDFの鏡面部分が、オブジェクトの大きな領域上で一定である一方、拡散成分が、より高速に変化すると仮定する。Lensch等は、Lafortune BRDFモデルをオブジェクト表面のそれぞれの点に適合させる。しかしながら、単純なパラメトリックBRDFは、実際のシーンに見られる広範囲の反射を表現することができない。Hawkings等によって記載されたように、グラス、毛皮、毛髪、布、葉、または羽毛の特徴を有するオブジェクトは、このように表現することが非常に困難であるか、または不可能である。
【0018】
代替的な方法は、画像ベースであって、パラメトリックでない表現をオブジェクトの反射に対して使用する。これについては、Marschner等著「Image-based BRDF Measurement Including Human Skin」Proceedings of the 10th Eurographics Workshop on Rendering, pp. 139-152, 1999を参照されたい。彼らは、表形式のBRDF表現を使用し、凸面のオブジェクトの反射特性をデジタルカメラを用いて測定する。彼らの方法は、均一なBRDFを有するオブジェクトに制限され、彼らは、3Dレンジスキャナによって生じる幾何学的エラー(geometric error)に関連する問題に陥っている。画像ベースの再照明法(リライティング(relighting))は、表面反射がランバート性であると仮定することにより、実際の人間の顔にも適用することができる。これについては、Georghiades等著「Illumination-Based Image Synthesis: Creating Novel Images of Human Faces under Differing Pose and Lighting」IEEE Workshop on Multi-View Modeling and Analysis of Visual Scenes, pp. 47-54, 1999を参照されたい。
【0019】
より最近のアプローチは、画像データベースを使用して、完全なBRDF(full BRDF)を取得することなく、固定された視点からのオブジェクトのモデルを再照明(リライト(re-light))する。これについては、Debevec等著「Acquiring the Reflectance Field of a Human Face」Computer Graphics, SIGGRAPH 2000 Proceedings, pp. 145-156, 2000、Hawkins等著「A Photometric Approach to Digitizing Cultural Artifacts」2nd International Symposium on Virtual Reality, Archaeology, and Cultural Heritage, 2001、Koudelka等著「Image-based Modeling and Rendering of Surfaces with Arbitrary BRDFs」Proc. of Computer Vision and Pattern Recognition, 2001、およびMalzbender等著「Polynomial Texture Maps」Computer Graphics, SIGGRAPH 2001 Proceedings, pp. 519-528, 2001を参照されたい。
【0020】
それらは、固定されたカメラ位置を有する照明ステージ(light stage)および回転する光源を使用して、人間の顔または文化遺物の反射フィールド(reflectance field)を取得する。Malzbender等により記述された多項式テクスチャマップシステムは、ほぼ平面の幾何学図形および乱反射特性を有するオブジェクトに対して同様の技術を使用する。Koudelka等は、Debevec等と本質的に同じ方法を使用して、任意のBRDFによりオブジェクトをレンダリングする。それら反射フィールドのアプローチは、単一の視点からのレンダリングに制限される。Debevec等では、皮膚反射のパラメトリックモデルは、データに適合して、任意の方向からの視野を合成する。Kaudelka等に記述されているように、そのアプローチは、複雑な材質に一般化されない。
【0021】
従来技術では、オブジェクトの表面反射フィールド(surface reflectance field)は、照明のすべての可能な入射フィールドの下で、表面からの放射光として定義される。反射という用語にもかかわらず、表面反射フィールドは、表面テクスチャまたは外観、屈折、拡散、サブサーフェス散乱、および非均一な材質変化を含むすべての可能な表面および照明効果を取り込むことに留意することは重要である。
【0022】
Zongker等は、鏡のようなオブジェクトおよび透明なオブジェクトを取り込み、それらオブジェクトを任意の背景上で正確に合成する環境マッティング(environment matting)の技術を記載している。これについては、Zongker等著「Environment Matting and Compositing」Computer Graphics, SIGGRAPH 1999 Proceedings, pp. 205-214, August 1999を参照されたい。彼らのシステムは、光沢のあるオブジェクトまたは屈折性のオブジェクトを一組のコード化された光パターンで照射することにより、反射光線および屈折光線の方向および広がりを決定することができる。それらは、表面反射を2D環境マット(environment matte)にパラメータ化する。環境マッティングの拡張には、より正確な取り込み方法、および、移動するオブジェクトの実時間取り込み用の単純化され、正確さに劣る手順が含まれる。しかしながら、それらのシステムは、固定された視点についての環境マットを取り込むだけであり、それらは、オブジェクトの3D形状を再構築しない。
【0023】
【発明が解決しようとする課題】
したがって、任意の照明を有する現実的なシーンでコンピュータグラフィックスモデルをレンダリングできるように、さまざまな照明条件下において、任意の材質で作られているオブジェクトからコンピュータグラフィックスモデルを自動的に生成することが望まれている。
【0024】
【課題を解決するための手段】
本発明は、物理オブジェクトの高品質なグラフィカルモデルを取得し、レンダリングするシステムおよび方法を提供する。この物理オブジェクトには、従来のスキャナで取り扱うのが困難な高い反射率の鏡面材質、透明材質、または毛皮および羽毛といった毛羽立った材質から構成されるオブジェクトが含まれる。本システムは、回転盤、デジタルカメラの配列、指向性ライト(directional light)の回転配列、およびマルチカラーバックライトを含む。本システムは、取得された画像の同じ組を使用して、オブジェクトのモデルの構築、ならびに、任意の照明および視点についてのオブジェクトのレンダリングの双方を行う。
【0025】
本システムは、マルチバックグラウンドマッティング技法を使用して、オブジェクトを回転盤上に置くことにより複数の視点から3Dオブジェクトのアルファマットを取得する。アルファマットは、不透明ハル(opacity hull)を構築するために使用される。不透明ハルは、オブジェクトの表面ハル(surface hull)の新しい形状モデルであり、視点依存型の不透明パラメータ化機能を有する。不透明ハルにより、複雑なオブジェクトシルエットのレンダリングおよびオブジェクトのシームレスなブレンドを任意の現実的なシーンに行うことが可能となる。
【0026】
本発明によるコンピュータグラフィックスモデルは、放射輝度画像、反射画像、および屈折画像を取得することにより構築される。レンダリング中、取得した画像から導かれる圧縮された表面反射フィールドを使用してモデルを任意の方向から照射することもできる。本システムは、任意の視点からの変化する照明の下で、表面外観を取得し、レンダリングし、オブジェクトが人工のシーンに正確に合成することができる点においてユニークである。
【0027】
【発明の実施の形態】
(システム構造)
図1は、本発明により3Dオブジェクト150をモデル化し、レンダリングするシステム100を示している。システム100は、指向性オーバヘッドライト110の配列、マルチカラーバックライト120およびマルチカラーボトムライト121、カメラ130、ならびに回転盤140を含む。カメラ130の出力、すなわち、画像161〜166の組は、プロセッサ160に接続される。プロセッサ160は、取得されたモデル180を任意の現実的なシーンにレンダリングするために、出力デバイス170に接続することができる。カメラ130または回転盤140のいずれかを回転させて、複数の視点からオブジェクトを画像化できることに留意すべきである。回転は、サンプリングされた表面点のコヒーレント性を提供する。
【0028】
オーバヘッドライト110の配列は、回転させることができる。これらのライトは、半球の仰角に沿ってほぼ等間隔に配置されている。オブジェクトを画像化している間、オーバヘッドライトを固定しておくこともできるし、一定の視点を得るためにオブジェクトの周りを回転させることもできるし、またはオブジェクトと共に回転させることもできる。ライトの配列110は、4つ、6つ、またはそれより多くの指向性光源を有することができる。それぞれのライトは、32ワットのHMIハロゲンランプおよび指向性光源を無限遠に近づけるための光コリメータを使用する。オーバヘッドライトは、電子電灯スイッチおよび調光器によって制御される。オーバヘッドライトがカメラによって直接見える視点に対し、カメラの画像センサが飽和しないように、調光器は設定される。これらのライトは、個別に制御することができる。
【0029】
マルチカラーバックライトおよびボトムライト120〜121は、組み合わせて「バックライト群」と呼ばれ、任意の選択された色彩の光によってオブジェクトを照射することができる大スクリーン高解像度プラズマカラーモニタの形をとる。これら2つのプラズマモニタは、1024×768ピクセルの解像度を有する。我々は、後述するように、個々のピクセルを異なる色彩に点灯する。
【0030】
我々は、1360×1036ピクセルのカラーCCD画像センサを有する6つのQImaging QICAMカメラ(QImaging社のQICAMカメラ)を使用する。カメラ130は、毎秒11フレームで最大解像度のRGB画像を取得することができる。これらのカメラは、光度測定に基づいてキャリブレーションされる。これについては、2000年4月24日にBeardsleyによって出願された「Calibration of Multiple Cameras for a Turntable-Based 3D scanner」という発明の名称の米国特許出願第10/128,827号を参照されたい。この米国特許出願は、本願に参照して援用される。
【0031】
カメラ130は、ファイアワイヤリンクを介してプロセッサ160に接続される。プロセッサ160は、512MBのRAMを有する700MHzのPentium III PCである。あるいは、我々は、取得されるオブジェクトのサイズに応じて、15mmまたは8mmのCマウントレンズを使用する。オブジェクトが、カメラとバックライト群との間で前景になるように、カメラ130も、バックライト群に一様に向けられた半球の仰角に沿って等間隔に配置される。一貫した背面照明を容易にするために、我々は、バックライト120と正反対に位置する同じ垂直面にカメラを粗く取り付ける。
【0032】
デジタル化、モデル化、およびレンダリングされるオブジェクト150は、ボトムライト121の上に置かれる。ボトムライトは、回転盤140の上に置かれている。カメラ130は、さまざまな角度(視点)からオブジェクトに向けられる。一貫した背面照明を容易にするために、我々は、バックライト120と同じ垂直面にカメラを粗く取り付ける。バックライト120は、カメラの反対側に置かれ、カメラから見たときにほぼ背後からオブジェクトを照射する。ボトムライトは、オブジェクト150の下に置かれる。
【0033】
(システム動作)
図2に示すように、我々の3Dデジタルシステム100は、アクティブおよびパッシブな画像化プロセス200の双方を動作中に結合する。オブジェクト150は、画像161〜166の組が取得されている間、回転盤上で回転される。回転は、6×36の異なる視点からオブジェクトを画像化するように、10度のステップで行うことができる。または、回転盤の位置をユーザ指定することができる。すべての画像が、取得されたキャリブレーションパラメータ211を使用して相互に位置合わせされるように、回転盤の角度位置は、再現可能である。
【0034】
システムの動作中、カメラ130は、最大で6つの組の画像161〜166、すなわち、キャリブレーション画像161、参照画像162、オブジェクト画像163、放射輝度画像164、反射画像165、および屈折画像166をそれぞれ取得する。画像の処理は、図示するような順序で行われるべきではあるが、取得の順序は、重要ではない。キャリブレーションは、回転盤およびカメラのある特定の配置に対する前置処理ステップで一度だけ実行する必要がある。オブジェクトが回転盤に置かれた後の画像の取得および処理は、完全に自動化することができる。換言すると、モデル180は、完全に自動的に取得される。
【0035】
キャリブレーション画像161の組は、公知のキャリブレーションパターンにより装飾されたキャリブレーションオブジェクトから取得される。参照画像162の組は、背景パターンが、前景オブジェクト150がシーンに存在しない状態でモニタ120〜121に表示されている間に取得される。オブジェクト画像163の組は、オブジェクト150がバックライトおよびボトムライトによって照射されてアルファマット(alpha matt)を構築している間に取得される。放射輝度画像(radiance image)、反射画像、および屈折画像164〜166の組は、後に詳述するように、表面反射フィールド251を構築するために使用される。我々は、表面反射フィールドの従来の定義を使用する。この従来の定義は、照明のすべての可能な入射フィールドに基づいて、オブジェクト表面からの放射光をモデル化する。
【0036】
我々は、4つのフレームを取得することにより、高ダイナミックレンジで画像を取得する。すべてのオブジェクトに対して、我々は、それぞれの視点からのアルファマッティング用に2つのオブジェクト画像を取得する。我々は、それぞれの視点から1つの放射輝度画像を取得し、合計6×36×4×(2+1)=2592個の画像を取得する。我々は、それぞれの視点から4×15個の光の方向を使用して反射画像を取得し、合計6×36×4×(60+2)=53568個の画像を取得する。屈折画像は、それぞれの視点から18個の構造化された背景画像を使用して取得され、合計6×36×4×(18+2)=17280個の画像が取得される。さまざまな視点からの他の個数の画像を使用できることに留意すべきである。
【0037】
従来技術との重要な相違は、我々のシステムが、複数の視点に対するアルファマットの抽出のため、および、本発明による不透明ハル(opacity hull)の構築のために、マルチカラーバックライトおよびマルチカラーボトムライトを使用することである。後述するように、近似の幾何学図形および視点依存型アルファマットを利用できることにより、モデル化されるオブジェクトは、さまざまなタイプに大きく広がる。従来技術との別の重要な相違は、我々のシステムが、オーバヘッドライト、バックライト群、および回転盤の回転の組み合わせを使用して、オブジェクトの表面反射フィールドを複数の視点から取得することである。
【0038】
他の均等なシステムを構築できることに留意すべきである。例えば、回転盤を使用する代わりに、カメラをオブジェクトの回りに回転させることもでき、複数のプラズマモニタをオブジェクトの回りに置くことができ、従来のパッシブなコンピュータビジョン技術を使用してアルファマットを取得することができる。
【0039】
(画像取得プロセス)
(高ダイナミックレンジ画像)
我々の画像161〜162は、高ダイナミックレンジ(HDR)(high dynamic range)技術を使用して取得される。カメラ130からの生の出力が利用可能であるので、露光時間と放射輝度値との関係は、動作範囲のほとんどで線形である。それぞれの視点に対して、我々は、指数関数的に増加する露光時間で4つのフレームを取り込み、最小2乗直線当てはめを使用してこの応答ラインを決定する。我々のHDRイメージャは、10ビットの精度を有する。したがって、我々が用語「画像」を使用する場合に、我々は、4つの個々のダイナミックレンジフレームから構成されるHDR画像を意味する。
【0040】
スケールの両極端における非線形の飽和効果のために、我々は、5から1000の範囲の強度値のみを我々の最小2乗当てはめに使用する。我々は、カメラのCCDの熱雑音および固定パターン雑音によるDCオフセットを無視することができる。この雑音は、我々のカメラ130にとって無視することができる。したがって、我々は、応答ラインの傾きのみを、ピクセルごとに1つの浮動小数点数として記憶する。この画像表現は、ビューイング時における画像の所望の露出時間の指定の柔軟性を有する。
【0041】
(キャリブレーション画像)
画像取得シーケンス200は、キャリブレーションオブジェクトを回転盤140の上に置き、必要に応じて、カメラ130の位置および絞りを調整することにより開始する。我々は、既知のキャリブレーションオブジェクト、例えば既知のパターンを有する立方体のキャリブレーション画像161の組を取得する(210)。回転されるキャリブレーションターゲットの36画像シーケンスが、カメラのそれぞれから取り込まれる。固有のカメラパラメータおよび付帯的なカメラパラメータ211が、複数のカメラを有する回転盤システムのキャリブレーション手順を使用して決定される。
【0042】
(参照画像)
次に、我々は、マルチカラーのアルファマッティングに使用されるパターン化された背景の参照画像162の組を取得する(220)。それぞれの視点に対して、それぞれのパターン化された背景が、前景のオブジェクト150なしに単独で撮影される。参照画像は、キャリブレーション後に一度だけ取得される必要がある。それら参照画像は、次のオブジェクトモデル化のために記憶され、使用される。
【0043】
(オブジェクト画像)
続いて、オブジェクト150は、回転盤140の上に置かれ、プラズマモニタ120〜121が、下および背後からパターン化された背景でオブジェクト150を照射している間、オブジェクト画像163の組が取得され(230)、一方で、回転盤140は、最初の回転を完了する。参照画像162およびオブジェクト画像163は、後述するように、アルファマットおよび不透明ハルを決定するために使用される。後述するように、我々は、1つまたは2つ以上の位相の異なる有色の背景を使用して参照画像およびオブジェクト画像を取得する。
【0044】
(放射輝度画像)
放射輝度画像164の組は、オーバヘッド指向性ライト110の配列だけを使用して取得される(240)。指向性ライト110は、固定することもできるし、または、オブジェクトと共に回転させることもできる。共に回転させることにより、ハイライトといった視点依存型効果が、表面の同じ位置に留まるので、それぞれの表面点の放射輝度サンプルのコヒーレント性が大きくなる。1つまたは2つ以上のライトを使用することができる。周辺ライトが、放射輝度画像164の組に濃い影およびハイコントラストができるのを避けるために追加使用されると、我々は、最良の結果を得る。我々は、黒色の反射しない材質、例えば黒色フェルトのたれよけ布(drop-cloths)でシーン内のすべての装置を覆うことにより、鏡面反射を回避する。放射輝度画像は、レンダリング中に使用することができる表面反射フィールド251を構築するために使用される。
【0045】
(反射画像)
我々は、レンダリング中にオブジェクトから生成されるモデルを任意に照射したい場合、反射画像165の組を取得して(250)、表面反射フィールド251を構築することができる。鏡面反射を回避するために、我々は、オブジェクトの位置を乱すことなく、黒色フェルトで表示面を覆う。図5bを参照しながら詳述するように、我々は、ライト110のみを回転させて、セクタΩlを覆う。オブジェクトが定位置にいる間、ライト110の配列は、オブジェクト150の回りを回転する。それぞれの回転位置に対して、ライト配列の仰角に沿ったそれぞれのライトが順次点灯され、画像はそれぞれのカメラにより取り込まれる。我々は、それぞれのカメラ位置について合計4×15個の画像を取得するために、4つのライトを使用し、通常、24度ずつ回転角を増加させる。この手順は、すべての視点について繰り返される。反射画像165は、後述するように、低解像度の表面反射フィールド251を構築するために使用される。
【0046】
(屈折画像)
また、我々は、屈折画像166の組も任意選択で取得して(260)、表面反射フィールド251を高解像度で作成することができる。この取得プロセスは、プラズマモニタの水平方向、垂直方向、および対角線方向に所定時間で掃引される1Dガウスプロファイル(1D Gaussian profile)により、背景の前にある前景オブジェクトの複数の画像を取り込むことを含む。続いて、非線形の最適化手法を使用して、我々は、aおよび2Dガウシアン(2D Gaussian)Gのパラメータについて解く。
【0047】
非線形パラメータの推定のための記憶および計算時間を節約するために、我々は、オブジェクトのシルエットの外側の領域を識別し、除去する。環境マット(environment matte)が、8×8のピクセルブロックに細分される。この視野から見ることができる不透明ハル上のそれぞれの表面点が、画像内に投影される。少なくとも1つのバック投影された表面点を含むそれらのブロックのみが、記憶され、処理される。
【0048】
カメラ配列のある位置に関して、プラズマモニタの周縁が、視野の多くを利用できなくする透明オブジェクトを通して見ることができる。その結果、我々は、下端の1つのカメラおよび上端の2つのカメラを、環境マットの取得のためだけに使用する。下端のカメラは、背景モニタの前に直接、水平に配置される。上端の2つのカメラは、回転盤上のモニタの上に配置される。次に、後述するように、我々の環境マット補間を使用して、我々は、任意の視点のもっともらしい結果をレンダリングすることができる。
【0049】
(3Dモデルの双方向サブサーフェス反射分布フィールド)
画像161〜166を使用して、我々は、光がオブジェクト150の表面でどのように散乱するかを求めるために、近似の双方向サブサーフェス反射分布フィールド(BSSRDF)(bi-directional sub-surface reflectance distribution field)モデルを作成する。我々のモデルは、単一のカメラによる単一の視野から作成されるのではなく、複数のカメラ130(図1参照)による複数の視野から作成される点において、従来技術のBSSRDFモデル(以下のChuang参照)と異なる。従来技術のBSSRDFとの他の相違点は、以下に言及される。
【0050】
古典物理学を使用し、かつ入射光はオブジェクト表面から無限遠で発せられると仮定すると、それぞれのカメラピクセルに到達する光は、以下のように記述することができる。
【0051】
【数1】
【0052】
値Cは、それぞれのカメラピクセルにおいて記録されるカラー値であり、Eは、方向ωiからの環境照明であり、Wは、環境から前景オブジェクト150を通じてカメラ130へ光伝達を行うすべての手段を備える重み関数である。積分は、半球Ωの全体にわたって、およびそれぞれの波長に対して実行される。以下、この波長依存性を反映するために、すべての方程式は、R、GおよびBのカラーチャネルについて別々に評価される。
【0053】
あるピクセルにおいて測定されたカメラ強度Cおよび環境Eを考慮して、我々は、そのピクセルを通り抜ける光線に対応するオブジェクト表面点の関数Wの近似値を求めたい。
【0054】
我々の読み取りシステム100は、環境用に複数の照明フィールドを提供する。図5aに示すように、第1の照明は、プラズマモニタ120〜121にカラーパターンを表示することによって、バックライト群により生成される高解像度2Dテクスチャマップと一体になっている。第2の照明は、図5bに示すように、残りの半球上のまばらな組の方向からのオーバヘッドライト配列110によるものである。
【0055】
我々は、高解像度テクスチャマップより覆われる環境半球のセクタをΩhと呼び、ライト配列Ωlにより覆われる残りのセクタをΩlと呼ぶ。さらに、我々は、セクタΩhにおける光伝達が2つの成分によって記述できるという簡易化した仮定を置く。
【0056】
図5aに示すように、我々は、オブジェクトを通り抜ける光の複雑になり得る経路を、光線表面交差から背景モニタへの2つの直線光束によって近似している。他方で、セクタΩlの1つまたは2つ以上の指向性光源L(ωi)からの光は、ピクセルC500に到達する前にオブジェクトによって屈折および反射される。ここで、我々は、セクタΩlの入射ライトフィールド(incident light field)が、オブジェクトの背後からの高解像度モニタ120〜121から直接到来するセクタΩhの光よりも実質的に低い解像度でサンプリング可能であると仮定する。
【0057】
したがって、上記式は、次のようになる。
【0058】
【数2】
【0059】
我々は、Wh(x)を記述するためにガウシアンの和を使用している。後述するように、k最近傍補間の間、適合するガウシアンを見出すために、我々は、表面点ごとに2つのガウス関数の最大値に自身を制限する。したがって、
【0060】
【数3】
【0061】
ここで、G1およびG2は、楕円指向型2Dユニットガウシアン(elliptical, oriented 2D unit-Gaussian)である。a1およびa2は、それぞれそれらの振幅である。xは、カメラピクセルの座標である。Ciは、それぞれのガウシアンの中心である。σiは、それらの標準偏差であり、θiは、それらの方向である。より詳細については、Chuang等著「Environment Matting Extensions: Towards Higher Accuracy and Real-Time Capture」Computer Graphics, SIGGRAPH 2000 Proceedings, pp. 121-130, 2000を参照されたい。
【0062】
我々は、n個の光源L(ωi)110の離散的な組によりセクタΩlを照射しているので、重み関数Wh(x)を以下のように書き換えることができる。
【0063】
【数4】
【0064】
我々は、我々の発明によりレンダリングする間、この式を使用してBSSRDFをモデル化する。
【0065】
環境マッティング(environment matting)および反射フィールド(reflectance field)を使用して、我々は、観測データC、すなわち複数の視点からの画像161〜166のピクセルの値を用いてパラメータaおよびGを推定する。それぞれの視点について、推定されたパラメータは、(a1,G1,a2,G2)として環境マットに記憶され、n個の反射画像は、R(ωi)として記憶される。
【0066】
後述するように、我々が、このモデルに従ってレンダリングするとき、我々は、オブジェクト150の再構築される形状S上の可視表面点を決定する。それぞれの可視表面点は、k最近傍環境マットおよび反射画像からパラメータa、GおよびRを調べるために再び投影される。我々は、非構造化ルミグラフ補間または視点依存型テクスチャマッピングを使用して、任意の新しい視点にパラメータを補間する。その結果、パラメータは、上記方程式を使用して結合され、ピクセルCnの色彩が決定される。
【0067】
この式は、Chuangによって記述されたように、高品質環境マッティングと、我々の3D取得システム100との間の折衷案である。理想的な状況では、我々は、オブジェクトを高解像度モニタで取り囲み、複数のモニタ上に分布した任意の個数の重み関数Wのパラメータを取得する。
【0068】
あるいは、そうせずに、実際的な理由のため、我々は、ピクセルに到達する屈折光線および反射光線のほとんどが、オブジェクト背後の入射ライトフィールドから発せられていると仮定する。これは、大部分はかすめ角の強い反射成分および強い屈折成分を有するほとんどのオブジェクトにとって真である。このことは、水晶のシャンデリアといった大規模な内部構造または表面に切子面を有する透明なオブジェクトには必ずしも正しくない。しかしながら、実際には、このアプローチは、合理的にうまく機能する。
【0069】
視野方向に高解像度環境テクスチャを使用することは、ライト配列のみを使用して入射照明を提供することよりも優れている。例えば、通常のガラス張りの窓を通してまっすぐに見ると、その最大解像度で背景が見える。他方で、高解像度照明環境を使用することは、環境マッティングによってのみ実現可能である。他の手段は、それぞれの視点について非常に多くの反射画像を記憶することであるが、これは非現実的である。環境マットは、本質的に、高解像度表面反射フィールドのための非常にコンパクトな表現である。
【0070】
表面反射フィールドという用語にもかかわらず、我々は、屈折、拡散、サブサーフェス散乱、および非均一な材質変化を含む、より一層幅広い配列の効果を捕らえることに留意することは重要である。通常、まねることが高価であるか、または、不可能であるこれらの効果は、妥当な時間で我々のモデルからレンダリングすることができる。
【0071】
表面反射フィールドは、BSSRDFとほとんど等価である。主な相違は、我々が、光線表面交差の正確な物理的位置を知らないこと、および光の入射方向が、表面のいずれの点でも同じであるということである。
【0072】
我々のモデルは、モニタから入射する光線束の数を2つに限定する点、およびChuangにおける前景カラーFを表面反射関数Fiにわたる和で置き換える点で、Chuang等のものと異なる。オブジェクトでの反射および屈折によって、視野の光線が、背景に当たる2つの別個の光線束に分離するならば(図5a参照)、第1の仮定は妥当である。第2の仮定は、結果として、セクタΩlからの照明が、オブジェクトの前景カラーにどのように影響するかについてのより正確な推定になる。複数のモニタを使用することにより、我々は、部分的なピクセルカバレージ(α)および透明性の効果を正確に分離することができる。
【0073】
高解像度および低解像度の表面反射画像を取得することにより、我々は、高頻度の環境マップを取り扱うことができる。環境マットの使用、改良された補間方式、およびアルファマット取得の改良により、我々は、高い透明性を有するオブジェクトを取得し、レンダリングすることが可能となる。
【0074】
(不透明ハルの構築)
この上で、我々は不透明ハルをパラメータ化する、画像ベースの表面ハルを構築するために、我々は、さまざまな視点からシルエット画像を抽出する。従来技術の方法は、通常、白熱または蛍光の「白色」光を使用して、シルエットの視界を取得する。これについては、Matusik等著「Image-Based Visual Hulls」Computer Graphics, SIGGRAPH 2000 Proceedings, pp. 369-374, 2000を参照されたい。背景照明は、市販の2次元マシンビジョンシステムで多く使用される共通のセグメンテーション手法(segmentation approach)である。バックライトは、露光されたエリアの画像センサを飽和させる。次に、シルエット画像は、閾値処理され、オブジェクトの2値セグメンテーション(binary segmentation)が行われる。しかしながら、2値の閾値処理は、我々がモデル化したい毛髪といった小さなシルエット特徴を有するオブジェクトにとって十分正確ではない。また、2値の閾値処理は、オブジェクトのモデルの現実的なシーンへのサブピクセルアキュレート合成(sub-pixel accurate compositing)を可能にしない。
【0075】
別の問題として、カラースピル(color spill)がある。これについては、Smith等著「Blue Screen Matting」Computer Graphics, Vol. 30 of SIGGRAPH 96 Proceedings, pp. 259-268, 1996を参照されたい。カラースピルは、前景オブジェクト150におけるバックライトの反射が原因である。フレネル効果が、かすめ角付近で、材質のセキュラリティ(secularity)を増加させるので、カラースピルは、通常、オブジェクトのシルエットのエッジ付近で起こる。単一カラーのアクティブバックライトにより、スピルは、光沢のある金属またはセラミックといった高い反射率の表面に特に顕著である。
【0076】
(マルチカラー背景マッティング)
図3に示すように、我々は、マルチカラーの背景マッティング技法を使用して、それぞれ視点からオブジェクト150のアルファマット310を取得することによるこれら問題を解決する。オブジェクトの正確はアルファマットは、異なるカラーを有する2つの背景を背にしてオブジェクトを画像化することにより得ることができる。したがって、我々は、カラーモニタ120〜121を使用する。背景は、それぞれのピクセルのカラーが異なる。
【0077】
我々は、以下の正弦曲線のカラーパターンを使用する。
【0078】
【数5】
【0079】
ここで、Ci(x,y,n)は、ピクセル位置(x,y)におけるカラーチャネルi=0,1,2の強度である。nは、位相差である。λは、ストライプの幅である。2つの背景間のピクセルあたりの差を最大にするために、パターンは、180度だけ位相シフトされる(n=−1または+1)。ユーザは、正弦曲線のストライプの幅をパラメータλで定義する。このパターンは、実質的にグレーの照明を提供することにより、スピル効果を最小にする。
【0080】
ピクセルあたりのアルファα0は、以下の式に示すように、すべてのカラーチャネル上、我々の場合にはRGB上での加算結合を使用して決定される(305)。
【0081】
【数6】
【0082】
ここで、On301およびOチルダn302は、オブジェクト画像163のピクセルあたりの前景カラーであり、Rn303およびRチルダn304は、参照画像162のピクセルあたりの背景カラーである。
【0083】
我々が、それぞれの背景に対して、オブジェクトがあるピクセルおよびオブジェクトがないピクセルの双方で同じカラーを測定するならば、方程式(2)は、ゼロに等しくなる。これは、背景からカメラへまっすぐ通過してマッピングするピクセルに対応する。方程式(1)のカラーチャネルの位相シフトは、方程式(2)の分母が決してゼロでないことを保証する。正弦曲線パターンは、スピルが原因で観測されるピクセルカラーが、参照画像のピクセルカラーに一致する機会を低減する。それにもかかわらず、まだ、高い反射率の鏡面オブジェクトに対してスピルエラーを観測することができる。
【0084】
これらのエラーを低減するために、我々は、背景パターンの波長を変えるごとに、同じ手順を複数回適用する。最終的なアルファマットを得るために、我々は、すべての中間的なマットから最大のアルファを記憶する。画像を追加して取り込むオーバヘッドは小さく、我々は、最終的なアルファマットのみを記憶する必要がある。この方法は、鏡面材質および毛羽立った材質を含む多種多様なオブジェクトに対して非常によく機能する。
【0085】
(2値閾値処理)
次に、我々は、さまざまな視点からのアルファマット310を使用することにより、表面ハル340を構築する。まず、我々は、2値閾値処理320をアルファマットに使用して、2値シルエット画像311を得る。理論上、α>0であるそれぞれのピクセル、すなわち透明でないそれぞれのピクセルは、オブジェクト150に関連する。実際には、システムの雑音、残存するスピル問題、および僅かなキャリブレーションの誤りのために、我々は、僅かに高い閾値を使用する。
【0086】
我々の高ダイナミックレンジ画像に対して、我々は、α>0.05の閾値が、オブジェクトのすべておよび背景の一部を覆うセグメンテーションを与えることを見出している。また、不透明値(opacity value)がこの閾値未満である場合に、オブジェクトは正確にモデル化されないので、この閾値は、我々のシステムの上限も与える。
【0087】
しかしながら、我々は、非常に透明なオブジェクトによって1つの特定の問題に直面した。光が、オブジェクト、例えば非常に薄いガラスによって十分に屈折されないならば、オブジェクト内部のピクセルは、背景のピクセルにまっすぐ通過してマッピングされる。これらのピクセルは、オブジェクトのシルエット内に含まれるにもかかわらず、ゼロのアルファ値を割り当てられる。これは、2値シルエット画像の穴の原因となる。
【0088】
この問題を訂正するために、我々は、穴を満たす簡易で貪欲な手順を使用する。ピクセルは、そのアルファ値が閾値ta未満であると、空とみなされる。つながった空のピクセルの個数が、ユーザ定義の閾値na未満であると、我々は、空のピクセルの領域を満たす。通常のオブジェクトに対して、naは、5から100の範囲内の値とすることができる。シルエット内部のピクセルは、アルファ値1を割り当てられる。
【0089】
我々は、最初に測定されたアルファ値を、2値シルエットのエッジに沿ったピクセルに割り当てる。再び、我々は、簡易で貪欲な手順を使用する。ある小さな近傍においてピクセルを取り囲む空のピクセルが存在しないならば、それらピクセルは、2値シルエットの内部とみなされる。我々は、4つのピクセル近傍で良好な結果を達成している。他のすべてのピクセルは、シルエットのエッジの近くであるとみなされ、測定されたアルファ値を割り当てられる。
【0090】
次に、2値シルエットは、画像ベースの表面ハル340を構築するために使用される(330)。不適切に分類された前景領域が、他のすべての領域と一貫性を有しないならば、このプロセスは、当該領域の除去も行う。我々は、後述するように、高密度の組の表面点にIBVHをサンプリングし直す。
【0091】
(不透明ハルの構築)
次に、アルファマット310は、表面ハル340に投影され(350)、不透明ハル360を構築する。自己遮蔽を最小にするために、それぞれの表面点のそれぞれの画像への可視性が、エピポーラ幾何学を使用して決定される。不透明ハル360は、それぞれの表面点の不透明値を記憶する。
【0092】
(アルファスフィア(alphasphere))
不透明ハルは、それぞれの表面点のアルファスフィアAを記憶する。wが、表面点pにおいて外部を向く方向であるならば、A(p,w)は、方向wから見た不透明値αpである。アルファスフィアAを定義する関数は、球全体で連続であるべきであることに留意すべきである。しかしながら、どの物理システムも、離散的なサンプルのまばらな組のみを取得することができる。我々は、それぞれのアルファスフィアAを定義するパラメトリック関数を推定することができる。しかしながら、アルファスフィアをパラメトリック関数で近似することは、多くの場合、非常に困難である。
【0093】
その結果、後述するように、我々は、k最近傍補間を使用して、任意の視点からの不透明ハルをレンダリングする。不透明ハルが、視点依存型表現であることに留意することは重要である。不透明ハルは、背景に関して前景オブジェクトの視点依存型の部分的占有を取り込む。
【0094】
これは、直感的には、オブジェクトの部分的占有がそれぞれの視点で異なるという観測に対応する。視点依存型の特徴は、ボリュームグラフィックスで頻繁に使用されるvoxelシェルを除いて、不透明ハルを設定する。これについては、Udupa等著「Shell Rendering」IEEE Computer Graphics & Applications, 13(6):58-67, 1993を参照されたい。Voxel shellは、品質のよいシルエットの特徴を正確に表すことができないが、このことは、我々の不透明ハルの利点である。
【0095】
従来技術では、同心の半透明できめのあるシェルが、毛髪および毛皮のようなオブジェクトをレンダリングするために使用されてきた。これについては、Lengyel等著「Real-Time Fur over Arbitrary Surface」Symposium on Interactive 3D Graphics, pp. 227-232, 2001を参照されたい。彼らは、テクスチャードフィン(textured fin)と呼ばれる幾何学図形を使用して、オブジェクトのシルエットの外観を改良していた。フィンテクスチャの単一のインスタンスは、オブジェクトのすべてのエッジに使用される。
【0096】
対照的に、不透明ハルは、オブジェクトのすべての表面点に対して視点依存型の不透明値を有するテクスチャとして見ることができる。視点依存型の不透明性は、取得可能であり、オブジェクトを完全に囲む任意の表面幾何学図形(表面ハル)に歪ませることができる。すなわち、表面は、「防水」であると言われる。例えば、表面ハルは、レーザレンジ読み込みから取得された正確な幾何学図形から構築することもできるし、または、バウンディングボックスの幾何学図形を構築することによって取得することもできる。不透明ハルと、不透明ハルが投影(350)されるオブジェクトの表面ハル340を構築するために使用される特定の方法との相違は重要ではない。
【0097】
我々の幾何学図形によると、不透明ハルを、高い複雑さのシルエットをレンダリングするために使用することができる。
【0098】
不透明ハルを構築するのと同様に、我々は、取得された放射輝度画像164を、IBVH上の表面点から放射される光線に再パラメータ化する。この表現は、我々の表面反射フィールド251に使用される。
【0099】
表面ライトフィールドは、Miller等著「Lazy Decompression of Surface Light Field for Precomputed Global Illumination」Proceedings of the 9th Eurographics Workshop on Rendering, pp. 281-292, 1998およびWood等著「Surface Light Fields for 3D Photography」Computer Graphics, SIGGRAPH 2000 Proceedings, pp. 287-296, 2000によって記述されていた。それらの表面ライトフィールドは、読み取られた3次元のメッシュから生成された。これと対照的に、我々の表面放射輝度フィールド(surface radiance field)は、不透明ハル上に生成される。我々のシステムは、幾何学図形および放射輝度のための複数の読み取りを、同じ視点を使用して形状および放射輝度画像の組を取得する自動化されたプロセスに取り替える。
【0100】
表面放射輝度画像164は、固定された照明の下で、モデル180をレンダリングするために使用することができる。我々は、表面反射モデルではなく一定の外部に向かう放射輝度関数によりモデルを生成するので、このことは、応用範囲にいくつかの制限を加える。
【0101】
この制限に対処するために、我々は、反射画像165をも取得する。不透明ハルを構築するのと同様に、我々は、取得された反射画像165を、不透明ハルの表面点から放射された光線に再パラメータ化する。Debevec等は、表面反射フィールドを記載した。しかしながら、彼等は、表面反射フィールドを単一視点から取得し、レンダリングする。かれらのシステムと対照的に、我々は、オブジェクト150の回りの複数の視点の反射フィールドを取得する。
【0102】
直接照明の下では、表面反射フィールド251は、6次元関数Rである。それぞれの表面点Prに対して、関数Rは、入来する光の方向wiを、反射方向wrに沿って反射されたカラー値にマッピングする。したがって、R=R(Pr,wi,wr)となる。反射方向wrでピクセル(x,y)を通過するそれぞれの光線に対して、我々は、入来する光の方向wiから照射されるオブジェクトの反射関数Rxy(wi,wr)を観測する。取得の間、我々は、4次元関数Rxyを一組の視点wr(k)および一組の光の方向wi(l)からサンプリングする。
【0103】
従来技術の反射フィールド技術では、光の方向のサンプリングは、密度が高く、例えばl=64×32であり、視点については、単一の視点のみ、すなわちk=1である。代わって、我々は、反射フィールドを多くの方向から、例えばk=6×36でサンプリングする。我々が取得し、記憶するデータ量を制限するために、我々のシステムは、l=4×15の光の方向のまばらなサンプリングを使用することができる。
【0104】
我々は、後述するように、Rxy(k,l)のデータサンプルを記憶する。入来する方向オーババーwiからの新たな照明により新たな視野方向オーババーwrからの画像を再構築する処理は、2つの通過プロセスとなる。まず、我々は、新たな照明の下で、すべてのオリジナルの視野方向wr(k)についての画像を補間する。オリジナルの視野方向wrのそれぞれからの、位置(x,y)におけるピクセルのサンプルは、以下のように、光源L(wi)の加重結合として決定することができる。
【0105】
【数7】
【0106】
ここで、dAは、オリジナルの照明方向のそれぞれによって覆われる立体角であり、我々の場合、dA=sinφである。
【0107】
我々は、新しい照明の下で、すべてのオリジナルな視点について画像L(wr(k))を構築した後、k最近傍補間を使用して、画像データを新たな視点に補間する。これについては後に詳述する。
【0108】
代わりのアプローチは、反射用のパラメトリック関数またはBRDFを、取得されたデータに適合させることである。これは、特定用途にうまく機能する。例えば、人間の顔の表面反射フィールドを取得することができ、パラメトリック関数を、測定された反射フィールドに適合させることができる。パラメトリック反射関数を任意の材質に適合させることができる。
【0109】
後述するように、高い反射率の鏡面エリア、透明エリア、または自己遮蔽エリアの点についての反射関数は、非常に複雑であり、滑らかな基底関数を使用しても容易に近似することができない。我々は、我々が画像化する材質の反射特性について仮定を置かない。
【0110】
透明な材質を異なる屈折率で正確にレンダリングするために、我々は、屈折画像、すなわち「環境マット」をも取得する。後述するように、我々は、取得した屈折画像166を、不透明ハルの表面点からオブジェクト150の回りの複数の視点に向けて放射された光線に再パラメータ化する。
【0111】
(ポイントサンプリングされたデータの構造)
モデルを構築するために、我々は、レイヤデプスキューブ(LDC)(layered depth cube)ツリーに基づく拡張された点表現を我々の形状モデルとして使用し、この形状モデルにおいて、我々は、視点依存型の外観データをパラメータ化する。これについては、Pfister等著「Surfels: Surface Elements as Rendering Primitives」Computer Graphics, SIGGRAPH 2000 Proceedings, pp. 335-342, 2000、および、本願に引用して援用される、2002年5月28日にPfister等に発行された「Method for modeling graphical objects represented as surface elements」という発明の名称の米国特許第6,396,496号を参照されたい。
【0112】
前置処理ステップにおいて、我々は、3つの直交正投影を使用して、不透明ハルからoctreeベースのLDCツリーを構築する。この3つのツリー直交不透明ハル(tree orthogonal opacity hull)は、レイヤデプス画像(layered depth image)にサンプリングされる。サンプリング密度は、モデルの複雑さに依存し、ユーザ指定される。次に、レイヤデプス画像は、単一のoctreeモデルに融合される。我々の不透明ハルは、仮想的な正投影視点から生成されるので、それらの位置合わせは、正確である。この融合によっても、モデルが均等にサンプリングされることが保証される。
【0113】
(可視性ベクトル)
図4に示すように、LDCツリーのそれぞれの表面要素(surfel(surface element))400は、位置401、表面正常値402、およびカメラ可視性ビットベクトル403を記憶する。表面要素が画像空間解像度を有するならば、奥行き(depth)値のみを記憶する必要がある。可視性ベクトルは、表面要素が見えるそれぞれのカメラ位置に対して1の値、すなわち画像161〜166の組を記憶する。ビットベクトル403は、エピポーラ幾何学を使用して不透明ハルを構築中に計算することができる。
【0114】
それぞれのカメラ位置に対して、我々は、その視点に関連した放射輝度画像、反射画像、および屈折画像を記憶する。そして、ビットベクトルが使用され、特定の表面要素が、ある特定の視点について記憶画像を使用してレンダリングされるべきかどうかが決定される。我々は、必要に応じて、k最近傍補間により、記憶画像から直接レンダリングする。
【0115】
ポイントサンプルは、3Dモデルの用途にとっていくつかの利点を有する。モデル化の観点からすると、点群表現により、トポロジーまたは接続性を確立する必要性が取り除かれる。これは、複数のソースからのデータの融合を容易にする。
【0116】
また、ポイントサンプルは、テクスチャマッピングのための表面の一貫したパラメータ化を計算する困難なタスクも回避する。我々は、ポイントサンプリングされたモデルが、盆栽の木または羽毛といった複雑な有機体の形状を、ポリゴンメッシュよりも簡単に表現できることを見出している。特に、ポリゴンモデルおよびテクスチャマッピングを使用して、視点依存型不透明値を不透明ハルのそれぞれの点に表現することは困難である。
【0117】
表面反射フィールドの圧縮およびレンダリング
生の反射画像データ165は、約80GBの記憶容量を必要とする。オブジェクトシルエット内のピクセルブロックを記憶するだけでも、オブジェクトのサイズに応じて20〜30GBを必要とする。大きなサイズは、アプリケーションが、実時間レンダリング速度を達成することを妨げる。他方で、グラフィックス処理ユニット(GPU(graphics processing unit))を有する今日のグラフィックスハードウェアは、実時間フレーム速度でポリゴンデータをレンダリングすることができる。したがって、上述したように、我々は、我々の反射フィールド方法を拡張し、データの圧縮、および、今日のGPUハードウェアを使用した、圧縮された表現からの直接レンダリングを取り入れる。
【0118】
Wei-Chao Chen等は、ACM SIGGRAPH 2002 Conference Proceedings, July, 2002に掲載予定の「Light Field Mapping: Efficient Representation and Hardware Rendering of Surface Light Fields」において、ライトフィールドデータの圧縮およびレンダリングの方法を記載している。ライトフィールドは、Chen等によって使用されるように、固定された照明の下で、オブジェクトの表面から外に向かう放射輝度のみに関係している。これは、極度に単純化した照明モデルである。Chenは、モデル化されるオブジェクトの数百個の画像を1つのハンドヘルドカメラで取得する。照明は、オブジェクトに対して固定された位置にある1つのプロジェクタによって行われる。Chen等は、構造化照明システムを使用して、オブジェクトの幾何学図形を再生する。これは、走査中に、白色ペイントでオブジェクトを上塗りして、表面特性を隠すことを必要とする。白色ペイントは、暗いオブジェクト、高い反射率の鏡面オブジェクト、または半透明のオブジェクトを覆う。これらのオブジェクトは、彼らがモデル化できないものであり、もちろん、上述したように、我々にとって興味のある、まさに困難なタイプのオブジェクトである。
【0119】
Chen等と対照的に、我々は、それぞれの視点から4×15個のライト方向を使用して反射画像を取得し、合計6×36×(4×(4×15)+6)=53136個の画像を取得する。我々の画像は、複数の視点、複数の照明条件について、複数のカメラによって取得される。我々のカメラは、定位置にあり、ハンドヘルドカメラによって可能なデータよりも正確なデータを与える。また、最も重要なこととして、我々は、Chenのような従来のスキャナでは取り扱うことが難しい高い反射率の鏡面材質、暗い材質、透明な材質、または毛皮および羽毛といった毛羽立った材質の画像を取得する。我々は、表面反射フィールドを取得するので、どのような新しい環境にもオブジェクトを置くことができる。これは、Chen等を上回る明らかに有利な点である。
【0120】
表面反射フィールドのモデル
次の関数によって表面反射フィールドを記述する。
f(u, v, θview, φview, θlight, φlight)
ここで、u、vは、オブジェクト座標(u,v)の表面の点をパラメータ化したものである。θviewおよびφviewは、表面の点(u,v)にローカルな球面座標における視野方向である。θlightおよびφlightは、無限遠における入射光の方向である。すなわち、光線は、平行であると仮定される。
【0121】
今日のGPU上でオブジェクトをレンダリングするために、図8に示すように、ポリゴンによって表面を表す。ポリゴンモデル800のそれぞれの頂点V801について、以下のデータ構造、表面マップ810、ビューマップ820、およびライトマップ830を有する。表面の点のモデルといった他のモデルも使用できることは理解されるべきである。
【0122】
表面マップ810は、ポリゴンのそれぞれの頂点V801の周りのオブジェクトの表面近傍をパラメータ化したものである。それぞれの頂点Vについて、1つの表面マップを有する。表面マップs810は、以下の2つのパラメータを有する。
s(u,v)
ここで、(u,v)は、オブジェクト表面の頂点Vにおけるローカル座標系である。
【0123】
ビューマップ820は、表面の頂点Vにおける接平面に投影される視野方向をパラメータ化したものである。それぞれの頂点Vについて、異なるビューマップvを有する。ビューマップv820は、以下の2つのパラメータを有する。
v(s,t)
ここで、(s,t)は、頂点Vにおけるローカルな接平面に投影される単位視野方向ベクトルの座標である。
【0124】
ライトマップは、表面の頂点Vにおける接平面に投影される光の方向をパラメータ化したものである。それぞれの頂点Vについて、2つの異なるライトマップを有する。第1のマップは、Vの周りの接平面の上部の光の方向のためのものであり、第2のライトマップは、Vの周りの接平面の下部の光の方向のためのものである。それぞれのライトマップl830は、以下の2つのパラメータを有する。
l(x,y)
ここで、(x,y)は、頂点Vにおけるローカルな接平面に投影される単位光方向ベクトルの座標である。
【0125】
したがって、表面反射フィールド関数fは、表面マップ、ビューマップ、およびライトマップのパラメータを使用して、以下のように再び式で示すことができる。
f´(u, v, s, t, x, y)
【0126】
それぞれの頂点Vについて、この関数f´を以下の加算式によって近似している。
【0127】
【数8】
【0128】
ここで、kは、比較的小さな個数であり、以下を参照されたい。
【0129】
換言すると、ベクトルsk、vk、およびlkの積によって、6次元関数f´を表すことができる。
【0130】
圧縮
図9に示すように、それぞれの視点VPについて、かつ、それぞれの光方向LDについて画像を取得し(910)、(u,v)によってパラメータ化されたそれぞれの頂点Vにローカルなテクスチャを得る。我々は、2Dパラメータ空間の画像データを1次元ベクトルsVに「展開」する。展開することは、2D画像データを線形形式にすることを意味する。所与の光の方向について、すべての可能な視野方向のベクトルsVのすべてを記憶する行列Sを有する。ベクトルsVは、行列Sの列ベクトルまたは行ベクトルである。それぞれ(R、G、B)のカラーチャネルについて別々にそれぞれの式の値を求めることもできるし、または、それぞれの変数が、R、GおよびBのカラーを含むこともできる。
【0131】
それぞれの可能な光の方向についての行列Sを収集する。完備したデータの組は、行列Slの集合として表すことができる。ここで、それぞれの行列Slは、異なる光の方向に対応する。この行列の組を表面反射フィールドRと呼ぶ。
【0132】
表面反射フィールドRのデータ圧縮は、2つの部分を有する。まず、それぞれの行列SlをベクトルsVに展開する。ここで、行列Rの組は、表面反射フィールドを表す、より大きな行列Mrとして記憶される(920)。行列Mrは、列ベクトルまたは行ベクトルsVからなる。
【0133】
次に、主成分分析(PCA)または非負行列因子分解(NMF(non-negative matrix factorization))のいずれかを使用して、行列Mrに第1の因子分解を実行する(930)。この結果は、次の近似式になる。
【0134】
【数9】
【0135】
ここで、pckは、因子分解の主成分ベクトルである。cfkは、因子分解の係数である。当該技術分野で既知のように、PCAの目的は、少数のコンポーネントを求めることである。したがって、kは小さく、例えば5またはそれ未満であり、通常、3である。それぞれの主成分に対して1つの係数がある。ベクトルcfkは、図8のライトマップ830に対応する。
【0136】
第2に、主成分ベクトルpckを圧縮する。行列SlをベクトルsVに展開したのと逆の方法で、それぞれのベクトルpckを行列Mpcに変換する。
【0137】
次に、再びPCAまたはNMFにより、行列Mpcに第2の因子分解を実行する(940)。この結果は、次の近似式になる。
【0138】
【数10】
【0139】
ここで、pcmkは、第2の因子分解の主成分である。cfmkは、その係数である。この場合も、kは小さく、通常3である。
【0140】
したがって、図8および図9において、ベクトルpcmは、表面マップ810に対応し、ベクトルcfmは、ビューマップ820に対応し、ベクトルcfkは、それぞれの頂点Vについて記憶されたライトマップ830に対応する。すなわち、これらpcm、cfm、およびcfkは、圧縮された表面反射フィールド950に対応する。1つの頂点につき2つのライトマップ830を有するので、この圧縮を、1つの頂点につき、接平面の上部の光につき1回、接平面の下部の光につき1回の2回実行する。
【0141】
非常に小さな個数kおよびm、例えば3つの対応するベクトルの記憶のみを必要とするので、この手順は、結果として、表面反射フィールドの高圧縮比になる。上述したような方法は、80GBの生の画像データを3〜5MBに圧縮し、約4桁で圧縮する。これは、明らかに大きな利点であり、必要とされる記憶量および処理量を大幅に削減する。実際に、表面反射フィールドをDRAMに記憶することができ、標準的なポリゴンレンダリングエンジンによってこのデータをレンダリングすることができる。
【0142】
レンダリング
レンダリングは、逆の順序で進行する。主成分および係数が、(ベクトル乗算およびベクトル加算によって)結合され、任意の視点および照明についての新しい表面反射フィールド行列Mrの一部が構築される。レンダリングは、次のようにして進行する。
【0143】
任意の視点および任意の光の構成について、それぞれの可視ポリゴンのテクスチャ、すなわち外に向かう放射輝度を再構築しなければならない。それぞれのポリゴンのテクスチャは、それぞれの頂点Vを中心とする表面反射フィールド950の重み付き和である。重みの和が1となるような連続ブレンディング関数を使用する。例えば、重心座標は、ブレンディング関数の一例である。
【0144】
頂点Vを中心とする表面反射モデルを評価するために、以下の処理を実行する。
【0145】
まず、それぞれのポリゴンについて、表面マップ810における頂点Vの座標を求める(960)。次に、頂点V820についてのビューマップの座標フレームにおいて、ポリゴンの頂点についての新しい視野方向の座標D1、D2、D3を求める(970)。
【0146】
ポリゴンD1、D2、D3に含まれる、現在の視点に対応する主成分Mpcの一部を再構築する(980)。これは、加算および乗算を使用して達成することができ、今日のGPU上で効率的に実行することができる。
【0147】
我々は、Mpcの一部を主成分pckに展開する(990)。主成分pckの一部が与えられると、所与の視点に対応するMrの一部を再構築する(995)。行列Mrの列は、新しい光の構成ベクトルによって重み付けされ、共に加算される。
【0148】
この和は、任意の視点および任意の光の構成について求められたポリゴンの新しい表面反射フィールド997である。必要とされるすべての操作は、行列乗算および行列加算であり、これらの操作は、今日のGPU上で効率的に実行することができる。
【0149】
【発明の効果】
任意の材質から構成され、任意の照明により照射されるオブジェクトの高品質レンダリングの生成に最適化された3Dモデル化システムを説明してきた。本画像化アプローチの基本的前提は、正確な幾何学図形に頼るのではなく、大量の放射輝度情報を使用して、オブジェクトの正確なレンダリングを生成することである。従来技術のスキャナと異なり、本システムは、暗い表面、毛羽立った表面、透明な表面、半透明な表面、または高い反射率の表面を有するオブジェクトのモデルを確実に取得し、レンダリングする。
【0150】
圧縮された表面反射フィールドを使用して、本システムは、第1に、変化する照明下で任意の複雑度の形状および材質を有するオブジェクトを新しい視点からレンダリングする。さらに、圧縮された表面屈折フィールドの使用により、我々は、さまざまな屈折特性を有するオブジェクトの透明な部分を、標準的なポリゴンレンダリングエンジンを使用して正確にレンダリングすることができる。
【0151】
好ましい実施の形態を例にして本発明を説明してきたが、本発明の精神および範囲内で他のさまざまな適応および変更を行い得ることは理解されるであろう。したがって、併記の特許請求の範囲の目的は、このようなすべての変形および変更を、本発明の真の精神および範囲内に入るものとして包含することにある。
【図面の簡単な説明】
【図1】 本発明によるシステムの図である。
【図2】 本発明によって使用される画像を取得する方法の流れ図である。
【図3】 本発明による不透明ハル(opacity hull)を構築する方法の流れ図である。
【図4】 表面要素データ構造のブロック図である。
【図5a】 照明セクタの概略図である。
【図5b】 照明セクタの概略図である。
【図6】 ガウシアン環境マットの再投影の概略図である。
【図7】 マッチングする反射ガウシアンおよび屈折ガウシアンの概略図である。
【図8】 本発明によるポリゴンモデルの概略図である。
【図9】 表面反射フィールドを圧縮及びレンダリングするための方法のフロー図である。[0001]
BACKGROUND OF THE INVENTION
The present invention relates generally to computer graphics, and more specifically, to 3D computer graphics that can acquire an image of a 3D physical object (3D object) and render it in a realistic scene. To generate a model of
[0002]
[Prior art]
Three-dimensional computer graphics models are used in many computer graphics applications. Generating a 3D model manually is a time consuming task and causes bottlenecks for many practical applications. In addition to the difficulty of modeling complex shapes, it is often impossible to replicate the geometry and appearance of complex objects using prior art parametric reflection models.
[0003]
Not surprisingly, the importance of systems that automatically generate 3D models by reading or imaging physical objects has greatly increased. An ideal system would automatically capture the shape and appearance of the object and build a detailed 3D model that can be placed in any realistic scene with any new lighting.
[0004]
Much work has been done recently towards this goal, but none of the previous systems meets all of these requirements. Many systems, including most commercial systems, focus on capturing the exact shape, but ignore obtaining an accurate appearance. Other methods capture the reflection properties of 3D objects and adapt these properties to a parametric bidirectional reflection distribution function (BRDF). However, these methods do not work for complex anisotropic BRDFs, and do not have significant appearance effects such as interreflection, self-shielding, translucency, sub-surface light scattering, or refraction. Do not model.
[0005]
There are also a number of image-based methods for acquiring and representing complex objects. But do they lack a 3D shape model, assume accurate 3D geometry, do not allow the rendering of objects under any new lighting, or are limited to a single viewpoint One of them. All of these systems involve considerable manual operation.
[0006]
There are many ways to obtain high-quality 3D shapes from physical objects, including contact digitizers, passive stereo depth-extraction, and active optical imaging systems. (Active light imaging system). Passive digitizers are powerless when the object being digitized does not have sufficient texture. Almost all passive methods assume that the BRDF is Lambertian or that the BRDF does not change across the surface.
[0007]
Magda et al., “Beyond Lambert: Re-constructing Surfaces with Arbitrary BRDFs” Proc. Of IEEE International Conference on Computer Vision ICCV, 2001, used Helmholtz reciprocity to map depth maps from objects with arbitrary BRDF. Describes the stereoscopic viewing method to be extracted. However, their method is not strong against smooth objects. Furthermore, their method does not take into account interreflection and self-shielding.
[0008]
Active light systems such as laser range scanners are very well known and have been used to acquire large models in this field. For this, Levoy et al., `` The Digital Michelangelo Project: 3D Scanning of Large Statues '' Computer Graphics, SIGGRAPH 2000 Proceedings, pp. 131-144, 2000, and Rushmeier et al., `` Acquiring Input for Rendering at Appropriate Levels of Detail: Digitizing a See Piet'a, Proceedings of the 9th Eurographics Workshop on Rendering, pp. 81-92, 1998.
[0009]
Active light systems often require an alignment step that aligns the meshes acquired and read separately. In this regard, Curless et al., `` A Volumetric Method for Building Complex Models from Range Images '' Computer Graphics, SIGGRAPH 96 Proceedings, pp. 303-312, 1996, and Turk et al. `` Zippered Polygon Meshes from Range Images '' Computer Graphics, See SIGGRAPH 94 Proceedings, pp. 311-318, 1994. Alternatively, the read geometric figures are arranged in a line with the separately obtained texture images. For this, see Bernardini et al., “High-Quality Texture Reconstruction from Multiple Scans” IEEE Trans. On Vis. And Comp. Graph., 7 (4): 318-332, 2001.
[0010]
In addition, it is often necessary to fill gaps due to missing data. Systems have been constructed that use multiple lasers to obtain an estimate of the surface color along the line of sight of the imaging system. However, these systems are useless for capturing objects under realistic lighting. Material types that can be read by all active light systems, as detailed by Hawkins et al. In "A Photometric Approach to Digitizing Cultural Artifacts" 2nd International Symposium on Virtual Reality, Archeology, and Cultural Heritage, 2001 There are restrictions.
[0011]
Image-based rendering can be used to render objects composed of arbitrary materials. Image-based representation has the advantage of capturing and representing the object regardless of the complexity of the geometric shape and appearance of the object. Prior art image-based methods have made it possible to navigate within a scene using correspondence information. In this regard, Chen et al. "View Interpolation for Image Synthesis" Computer Graphics, SIGGRAPH 93 Proceedings, pp. 279-288, 1993 and McMillan et al. "Plenoptic Modeling: An Image-Based Rendering System" Computer Graphics, SIGGRAPH 95 Proceedings, pp. 39-46, 1995. This method is severely constrained because it does not build a 3D object model.
[0012]
The light field method does not use geometric information, but achieves similar results using an increased number of images. For this, see Gortler et al., “The Lumigraph,” Computer Graphics, SIGGRAPH 96 Proceedings, pp. 43-54, 1996 and Levoy et al., “Light Field Rendering”, Computer Graphics, SIGGRAPH 96 Proceedings, pp. 31-42, 1996. I want to be. As described by Gortler et al., The best of these methods include visual hull of the object for improved ray interpolation. However, those methods use stationary lighting and cannot accurately render objects in any new realistic scene.
[0013]
An intermediate method between pure model-based methods and pure image-based methods uses view-dependent texture mapping. For this, Debevec et al., “Modeling and Rendering Architecture from Photographs: A Hybrid Geometry- and Image-Based Approach”, Computer Graphics, SIGGRAPH 96 Proceedings, pp. 11-20, 1996, Debevec et al., “Efficient View-Dependent Image- Based Rendering with Projective Texture-Mapping '' Proceedings of the 9th Eurographics Workshop on Rendering, pp. 105-116, 1998, and Pulli et al., `` View-Based Rendering: Visualizing Real Objects from Scanned Range and Color Data''Eurographics Rendering Workshop 1997, pp. 23-34, 1997. They combine simple geometric figures and sparse texture data to accurately interpolate between images. Although these methods are effective despite their approximate 3D shape, they are constrained to high reflectivity mirrors due to the relatively small number of texture maps.
[0014]
A surface light field can be thought of as a more general and more efficient representation of a view-dependent texture map. For this, Nishino et al., `` Eigen-Texture Method: Appearance Compression based on 3D Model '' Proc. Of Computer Vision and Pattern Recognition, pp. 618-624, 1999, Miller et al., `` Lazy Decompression of Surface Light Fields for Precomputed Global Illumination ”Proceedings of the 9th Eurographics Workshop on Rendering, pp. 281-292, 1998, Nishino et al.“ Appearance Compression and Synthesis based on 3D Model for Mixed Reality ”Proceedings of IEEE ICCV '99, pp. 38-45, 1999, See "Acquisition and Visualization of Surface Light Fields" by Grzeszczuk, Course Notes, SIGGRAPH 2001, 2001, and "Surface Light Field for 3D Photography" by Wood et al. Computer Graphics, SIGGRAPH 2000 Proceedings, pp. 287-296, 2000. Wood et al. Store accurate high density geometric surface light field data, while Nishino et al. Use a coarser triangular mesh for objects with low geometric complexity.
[0015]
The surface light field can reproduce important global lighting effects (global lighting effects) such as interreflection and self-shielding. The image generated by the surface light field typically shows the object under fixed lighting conditions. To overcome this limitation, an inverse rendering method estimates the surface BRDF from the object's image and geometry.
[0016]
In order to achieve a compact BRDF representation, most methods fit a parametric reflection model to the image data. For this, Lensch et al. `` Image-Based Reconstruction of Spatially Varying Materials '' Proceedings of the 12th Eurographics Workshop on Rendering, 2001, Sato et al. `` Object Shape and Reflectance Modeling from Observation '' Computer Graphics, SIGGRAPH 97 Proceedings, pp. 379 -387, 1997, and Yu et al., "Inverse Global Illumination: Recovering Reflectance Models of Real Scenes from Photographs," Computer Graphics, SIGGRAPH 99 Proceedings, pp. 215-224, 1994.
[0017]
Sato et al. And Yu et al. Assume that the specular portion of the BRDF is constant over a large area of the object while the diffuse component changes more rapidly. Lensch et al. Fit the Lafortune BRDF model to each point on the object surface. However, a simple parametric BRDF cannot represent the wide range of reflections found in real scenes. As described by Hawkings et al., Objects with glass, fur, hair, cloth, leaf, or feather characteristics are very difficult or impossible to express in this way.
[0018]
An alternative method uses an image-based and non-parametric representation for object reflection. For this, Marschner et al., “Image-based BRDF Measurement Including Human Skin” Proceedings of the 10 th See Eurographics Workshop on Rendering, pp. 139-152, 1999. They use a tabular BRDF representation and measure the reflective properties of convex objects with a digital camera. Their method is limited to objects with uniform BRDF, and they have fallen into problems related to geometric errors caused by 3D range scanners. Image-based relighting methods (relighting) can also be applied to real human faces by assuming that surface reflections are Lambertian. For this, see Georghiades et al., `` Illumination-Based Image Synthesis: Creating Novel Images of Human Faces under Differing Pose and Lighting '' IEEE Workshop on Multi-View Modeling and Analysis of Visual Scenes, pp. 47-54, 1999. .
[0019]
A more recent approach uses an image database to re-illuminate (re-light) a model of an object from a fixed viewpoint without obtaining a full BRDF. Debevec et al. `` Acquiring the Reflectance Field of a Human Face '' Computer Graphics, SIGGRAPH 2000 Proceedings, pp. 145-156, 2000, Hawkins et al. `` A Photometric Approach to Digitizing Cultural Artifacts '' 2nd International Symposium on Virtual Reality , Archeology, and Cultural Heritage, 2001, Koudelka et al. `` Image-based Modeling and Rendering of Surfaces with Arbitrary BRDFs '' Proc. Of Computer Vision and Pattern Recognition, 2001, and Malzbender et al. `` Polynomial Texture Maps '' Computer Graphics, SIGGRAPH 2001 See Proceedings, pp. 519-528, 2001.
[0020]
They use a light stage with a fixed camera position and a rotating light source to obtain a reflection field of a human face or cultural relic. The polynomial texture map system described by Malzbender et al. Uses similar techniques for objects that have approximately planar geometric shapes and irregular reflection properties. Koudelka et al. Renders objects with arbitrary BRDFs using essentially the same method as Debevec et al. These reflective field approaches are limited to rendering from a single viewpoint. In Debevec et al., A parametric model of skin reflex fits the data and synthesizes a field of view from any direction. As described by Kaudelka et al., The approach is not generalized to complex materials.
[0021]
In the prior art, the surface reflectance field of an object is defined as the emitted light from the surface under all possible incident fields of illumination. It should be noted that despite the term reflection, the surface reflection field captures all possible surface and lighting effects, including surface texture or appearance, refraction, diffusion, subsurface scattering, and non-uniform material changes. is important.
[0022]
Zongker et al. Describe an environment matting technique that takes mirror-like and transparent objects and synthesizes them accurately on an arbitrary background. For this, see "Environment Matting and Compositing" by Zongker et al., Computer Graphics, SIGGRAPH 1999 Proceedings, pp. 205-214, August 1999. Their system can determine the direction and spread of reflected and refracted rays by illuminating a glossy or refractive object with a set of encoded light patterns. They parameterize surface reflections into a 2D environment matte. Environmental matting enhancements include more accurate capture methods and simplified, less accurate procedures for real-time capture of moving objects. However, these systems only capture the environment mat for a fixed viewpoint, and they do not reconstruct the 3D shape of the object.
[0023]
[Problems to be solved by the invention]
Therefore, automatically generate computer graphics models from objects made of any material under various lighting conditions so that the computer graphics model can be rendered in realistic scenes with arbitrary lighting Is desired.
[0024]
[Means for Solving the Problems]
The present invention provides a system and method for obtaining and rendering a high quality graphical model of a physical object. This physical object includes objects composed of highly reflective mirror materials, transparent materials, or fuzzy materials such as fur and feathers that are difficult to handle with conventional scanners. The system includes a turntable, an array of digital cameras, a rotating array of directional lights, and a multi-color backlight. The system uses the same set of acquired images to both build a model of the object and render the object for any lighting and viewpoint.
[0025]
The system uses a multi-background matting technique to obtain the alpha matte of a 3D object from multiple viewpoints by placing the object on a turntable. Alpha mattes are used to build opacity hulls. Opaque hull is a new shape model of an object's surface hull and has a view-dependent opacity parameterization function. Opaque hull allows complex object silhouette rendering and seamless blending of objects into any realistic scene.
[0026]
A computer graphics model according to the present invention is constructed by acquiring radiance, reflection, and refraction images. During rendering, the model can also be illuminated from any direction using a compressed surface reflection field derived from the acquired image. The system is unique in that the surface appearance can be acquired and rendered under varying lighting from any viewpoint, and the object can be accurately synthesized into an artificial scene.
[0027]
DETAILED DESCRIPTION OF THE INVENTION
(System structure)
FIG. 1 illustrates a
[0028]
The array of
[0029]
Multi-color backlights and bottom lights 120-121 are collectively referred to as "backlight groups" and take the form of a large screen high resolution plasma color monitor that can illuminate objects with light of any selected color. . These two plasma monitors have a resolution of 1024 × 768 pixels. We illuminate individual pixels in different colors, as described below.
[0030]
We use six QImaging QICAM cameras (QImaging QICAM cameras) with a color CCD image sensor of 1360 × 1036 pixels. The
[0031]
The
[0032]
The
[0033]
(System operation)
As shown in FIG. 2, our 3D
[0034]
During operation of the system, the
[0035]
A set of
[0036]
We acquire images with high dynamic range by acquiring four frames. For every object we get two object images for alpha matting from each viewpoint. We acquire one radiance image from each viewpoint and acquire a total of 6 × 36 × 4 × (2 + 1) = 2592 images. We acquire reflection images using 4 × 15 light directions from each viewpoint, for a total of 6 × 36 × 4 × (60 + 2) = 53568 images. Refraction images are acquired using 18 structured background images from each viewpoint, for a total of 6 × 36 × 4 × (18 + 2) = 17280 images. It should be noted that other numbers of images from various viewpoints can be used.
[0037]
An important difference from the prior art is that our system allows multicolor backlights and multicolor bottoms for alpha matte extraction for multiple viewpoints and for the construction of opacity hulls according to the present invention. Is to use the light. As described below, the availability of approximate geometric figures and view-dependent alpha mattes greatly expands the modeled objects into various types. Another important difference from the prior art is that our system uses a combination of overhead lights, backlights, and turntable rotation to obtain the object's surface reflection field from multiple viewpoints. .
[0038]
It should be noted that other equivalent systems can be constructed. For example, instead of using a turntable, the camera can be rotated around the object, multiple plasma monitors can be placed around the object, and alpha matte can be created using traditional passive computer vision technology. Can be acquired.
[0039]
(Image acquisition process)
(High dynamic range image)
Our images 161-162 are acquired using a high dynamic range (HDR) technique. Since the raw output from
[0040]
Due to the nonlinear saturation effect at the extremes of the scale, we use only intensity values in the range of 5 to 1000 for our least squares fit. We can ignore the DC offset due to camera CCD thermal noise and fixed pattern noise. This noise can be ignored for our
[0041]
(Calibration image)
The
[0042]
(Reference image)
Next, we obtain a set of patterned
[0043]
(Object image)
Subsequently, the
[0044]
(Radiance image)
A set of
[0045]
(Reflection image)
If we want to arbitrarily illuminate the model generated from the object during rendering, we can obtain a set of reflection images 165 (250) and build the
[0046]
(Refracted image)
We can also optionally obtain a set of refraction images 166 (260) to create a
[0047]
To save memory and computation time for nonlinear parameter estimation, we identify and remove regions outside the silhouette of the object. An environment matte is subdivided into 8 × 8 pixel blocks. Each surface point on the opaque hull that can be seen from this field of view is projected into the image. Only those blocks that contain at least one back-projected surface point are stored and processed.
[0048]
For certain positions of the camera array, the periphery of the plasma monitor can be seen through a transparent object that makes much of the field of view unavailable. As a result, we use one camera at the bottom and two cameras at the top only for obtaining the environmental mat. The bottom camera is placed horizontally directly in front of the background monitor. The top two cameras are placed on the monitor on the turntable. Next, using our environment matte interpolation, we can render a plausible result for any viewpoint, as described below.
[0049]
(Bidirectional subsurface reflection distribution field of 3D model)
Using images 161-166, we determine the approximate bi-directional sub-surface reflectance field (BSSRDF) to determine how light scatters on the surface of
[0050]
Using classical physics and assuming that incident light is emitted at infinity from the object surface, the light reaching each camera pixel can be described as follows:
[0051]
[Expression 1]
[0052]
The value C is the color value recorded at each camera pixel, and E is the direction ω i , And W is a weighting function comprising all means for transmitting light from the environment through the
[0053]
Considering the camera intensity C and environment E measured at a pixel, we want to approximate the function W of the object surface point that corresponds to the ray passing through that pixel.
[0054]
Our
[0055]
We Ω the environment hemisphere sector covered by the high resolution texture map h Light arrangement Ω l The remaining sectors covered by Ω l Call it. In addition, we h A simplified assumption is made that the light transmission in can be described by two components.
[0056]
As shown in FIG. 5a, we approximate the potentially complicated path of light through the object by two linear light fluxes from the ray surface intersection to the background monitor. On the other hand, sector Ω l One or more directional light sources L (ω i ) Is refracted and reflected by the object before reaching the pixel C500. Where we are the sector Ω l The incident light field of the sector Ω coming directly from the high resolution monitors 120-121 from behind the object h Assume that sampling is possible at a resolution substantially lower than that of the light.
[0057]
Therefore, the above equation becomes as follows.
[0058]
[Expression 2]
[0059]
We are W h A Gaussian sum is used to describe (x). As described below, to find a matching Gaussian during k nearest neighbor interpolation, we limit ourselves to a maximum of two Gaussian functions per surface point. Therefore,
[0060]
[Equation 3]
[0061]
Where G 1 And G 2 Is an elliptical, oriented 2D unit-Gaussian. a 1 And a 2 Are their amplitudes. x is the coordinates of the camera pixel. C i Is the center of each Gaussian. σ i Is their standard deviation, θ i Are those directions. For more details, see Chuang et al. "Environment Matting Extensions: Towards Higher Accuracy and Real-Time Capture" Computer Graphics, SIGGRAPH 2000 Proceedings, pp. 121-130, 2000.
[0062]
We have n light sources L (ω i ) Sector Ω by 110 discrete sets l The weight function W h (X) can be rewritten as follows.
[0063]
[Expression 4]
[0064]
We use this equation to model BSSRDF while rendering according to our invention.
[0065]
Using environment matting and reflection fields, we estimate parameters a and G using observation data C, ie, the values of the pixels of images 161-166 from multiple viewpoints. . For each viewpoint, the estimated parameters are (a 1 , G 1 , A 2 , G 2 ) Is stored in the environment mat, and the n reflected images are represented by R (ω i ) Is stored.
[0066]
As described below, when we render according to this model, we determine the visible surface points on the reconstructed shape S of the
[0067]
This equation is a compromise between high quality environment matting and our
[0068]
Alternatively, for practical reasons we assume that most of the refracted and reflected rays that reach the pixel originate from the incident light field behind the object. This is mostly true for most objects that have a strong grazing angle reflection component and a strong refraction component. This is not necessarily true for large internal structures such as crystal chandeliers or transparent objects with facets on the surface. In practice, however, this approach works reasonably well.
[0069]
Using a high resolution environmental texture in the viewing direction is superior to providing incident illumination using only a light array. For example, looking straight through a normal glass window, the background is visible at its maximum resolution. On the other hand, using a high-resolution lighting environment can only be realized by environmental matting. Another means is to store a very large number of reflection images for each viewpoint, which is unrealistic. An environmental mat is essentially a very compact representation for a high resolution surface reflection field.
[0070]
Despite the term surface reflection field, it is important to note that we capture a wider array of effects, including refraction, diffusion, subsurface scattering, and non-uniform material changes. These effects, which are usually expensive or impossible to imitate, can be rendered from our model in a reasonable amount of time.
[0071]
The surface reflection field is almost equivalent to BSSRDF. The main difference is that we do not know the exact physical location of the ray surface intersection and that the direction of incidence of light is the same at any point on the surface.
[0072]
Our model limits the number of ray bundles incident from the monitor to two, and the foreground color F in Chuang is the surface reflection function F i Is different from Chuang et al. The first assumption is reasonable if reflection and refraction at the object separates the rays in the field of view into two separate ray bundles that strike the background (see FIG. 5a). The second assumption results in the sector Ω l Provides a more accurate estimate of how lighting from the light affects the foreground color of the object. By using multiple monitors, we can accurately separate partial pixel coverage (α) and transparency effects.
[0073]
By acquiring high and low resolution surface reflection images, we can handle high frequency environment maps. The use of environmental mattes, improved interpolation schemes, and improvements in alpha matte acquisition allow us to acquire and render objects with high transparency.
[0074]
(Construction of opaque hull)
On this basis, we extract silhouette images from various viewpoints in order to build an image-based surface hull that parameterizes the opaque hull. Prior art methods typically use incandescent or fluorescent “white” light to obtain a silhouette view. For this, see "Image-Based Visual Hulls" by Matusik et al., Computer Graphics, SIGGRAPH 2000 Proceedings, pp. 369-374, 2000. Background lighting is a common segmentation approach that is often used in commercial two-dimensional machine vision systems. The backlight saturates the image sensor in the exposed area. Next, the silhouette image is subjected to threshold processing, and binary segmentation of the object is performed. However, binary thresholding is not accurate enough for objects with small silhouette features such as the hair we want to model. Also, binary thresholding does not allow sub-pixel accurate compositing of an object model into a realistic scene.
[0075]
Another problem is color spill. For this, see Smith et al., “Blue Screen Matting” Computer Graphics, Vol. 30 of SIGGRAPH 96 Proceedings, pp. 259-268, 1996. The color spill is caused by the reflection of the backlight in the
[0076]
(Multi-color background matting)
As shown in FIG. 3, we solve these problems by obtaining the
[0077]
We use the following sinusoidal color pattern.
[0078]
[Equation 5]
[0079]
Where C i (X, y, n) is the intensity of the color channel i = 0, 1, 2 at the pixel position (x, y). n is a phase difference. λ is the width of the stripe. In order to maximize the difference per pixel between the two backgrounds, the pattern is phase shifted by 180 degrees (n = -1 or +1). The user defines the width of the sinusoidal stripe with the parameter λ. This pattern minimizes the spill effect by providing substantially gray illumination.
[0080]
Alpha alpha per pixel 0 Is determined (305) using additive combination on all color channels, in our case on RGB, as shown in the equation below.
[0081]
[Formula 6]
[0082]
Where
[0083]
If we measure the same color for both the pixel with and without the object for each background, equation (2) is equal to zero. This corresponds to a pixel that maps straight from the background to the camera. The phase shift of the color channel in equation (1) ensures that the denominator in equation (2) is never zero. The sinusoidal pattern reduces the chance that the pixel color observed due to spill matches the pixel color of the reference image. Nevertheless, spill errors can still be observed for specular objects with high reflectivity.
[0084]
To reduce these errors, we apply the same procedure multiple times each time we change the wavelength of the background pattern. To get the final alpha matte, we remember the maximum alpha from all intermediate mats. The overhead of adding and capturing images is small and we only need to remember the final alpha matte. This method works very well for a wide variety of objects including specular and fuzzy materials.
[0085]
(Binary threshold processing)
Next, we construct a
[0086]
For our high dynamic range images, we have found that a threshold of α> 0.05 gives a segmentation that covers all of the object and part of the background. This threshold also gives the upper limit of our system, as objects are not accurately modeled when the opacity value is below this threshold.
[0087]
However, we faced one particular problem with highly transparent objects. If the light is not refracted sufficiently by the object, eg very thin glass, the pixels inside the object are mapped straight through to the background pixels. These pixels are assigned an alpha value of zero even though they are contained within the silhouette of the object. This causes a hole in the binary silhouette image.
[0088]
To correct this problem, we use a simple and greedy procedure to fill the hole. A pixel has an alpha value that is a threshold t a If it is less than, it is considered empty. The number of connected empty pixels is the user-defined threshold n a If less, we fill the area of empty pixels. N for normal objects a Can be a value in the range of 5 to 100. Pixels inside the silhouette are assigned an alpha value of 1.
[0089]
We assign the first measured alpha value to the pixels along the edge of the binary silhouette. Again, we use a simple and greedy procedure. If there are no empty pixels surrounding a pixel in a small neighborhood, those pixels are considered to be inside a binary silhouette. We have achieved good results near 4 pixels. All other pixels are considered to be near the edge of the silhouette and are assigned a measured alpha value.
[0090]
The binary silhouette is then used to construct an image-based surface hull 340 (330). If an improperly classified foreground region is not consistent with all other regions, the process also removes the region. We resample IBVH to a dense set of surface points, as described below.
[0091]
(Construction of opaque hull)
The
[0092]
(Alphasphere)
The opaque hull stores the alpha sphere A of each surface point. If w is the direction facing the outside at the surface point p, then A (p, w) is the opacity value α viewed from the direction w. p It is. It should be noted that the function defining the alpha sphere A should be continuous throughout the sphere. However, any physical system can only acquire a sparse set of discrete samples. We can estimate the parametric function that defines each alpha sphere A. However, it is often very difficult to approximate the alpha sphere with a parametric function.
[0093]
As a result, as described below, we render an opaque hull from an arbitrary viewpoint using k-nearest neighbor interpolation. It is important to note that opaque hull is a view-dependent representation. Opaque hull captures a view-dependent partial occupancy of the foreground object with respect to the background.
[0094]
This intuitively corresponds to the observation that the partial occupancy of the object is different from each viewpoint. View-dependent features set opaque hulls, except for the voxel shell that is frequently used in volume graphics. For this, see Udupa et al., "Shell Rendering" IEEE Computer Graphics & Applications, 13 (6): 58-67, 1993. Voxel shell cannot accurately represent the characteristics of a good quality silhouette, which is an advantage of our opaque hull.
[0095]
In the prior art, concentric translucent textured shells have been used to render objects such as hair and fur. For this, see "Real-Time Fur over Arbitrary Surface" by Lengyel et al. Symposium on Interactive 3D Graphics, pp. 227-232, 2001. They used geometric shapes called textured fins to improve the appearance of object silhouettes. A single instance of the fin texture is used for all edges of the object.
[0096]
In contrast, an opacity hull can be viewed as a texture having a view-dependent opacity value for all surface points of the object. View-dependent opacity is acquirable and can be distorted to any surface geometric figure (surface hull) that completely surrounds the object. That is, the surface is said to be “waterproof”. For example, the surface hull can be constructed from the exact geometry obtained from the laser range reading, or it can be obtained by constructing the bounding box geometry. The difference between the opaque hull and the particular method used to construct the
[0097]
According to our geometry, opaque hulls can be used to render high complexity silhouettes.
[0098]
Similar to building an opaque hull, we reparameterize the acquired
[0099]
Surface light field is "Lazy Decompression of Surface Light Field for Precomputed Global Illumination" by Miller et al. Proceedings of the 9th Eurographics Workshop on Rendering, pp. 281-292, 1998 and Wood et al. "Surface Light Fields for 3D Photography" Computer Graphics , SIGGRAPH 2000 Proceedings, pp. 287-296, 2000. Those surface light fields were generated from the read 3D mesh. In contrast, our surface radiance field is generated on an opaque hull. Our system replaces multiple readings for geometry and radiance with an automated process that uses the same viewpoint to acquire a set of shape and radiance images.
[0100]
The
[0101]
To address this limitation, we also obtain a
[0102]
Under direct illumination, the
[0103]
In the prior art reflective field technology, the sampling of the light direction is dense, for example l = 64 × 32, and for the viewpoint only a single viewpoint, ie k = 1. Instead, we sample the reflected field from many directions, for example, k = 6 × 36. In order to limit the amount of data we acquire and store, our system can use sparse sampling in the direction of l = 4 × 15 light.
[0104]
As we will see later, we xy Store (k, l) data samples. Incoming direction overbar w i New field of view overbar w due to new illumination from r The process of reconstructing the image from is a two-pass process. First, we have all the original viewing directions w under new lighting r Interpolate the image for (k). Original viewing direction w r A sample of the pixel at location (x, y) from each of the light sources L (w i ).
[0105]
[Expression 7]
[0106]
Here, dA is a solid angle covered by each of the original illumination directions, and in our case dA = sinφ.
[0107]
We have an image L (w for all original viewpoints under new lighting. r After constructing (k)), the image data is interpolated to a new viewpoint using k nearest neighbor interpolation. This will be described in detail later.
[0108]
An alternative approach is to fit a parametric function for reflection or BRDF to the acquired data. This works well for specific applications. For example, the surface reflection field of a human face can be obtained and the parametric function can be adapted to the measured reflection field. The parametric reflection function can be adapted to any material.
[0109]
As will be described later, the reflection function for a highly reflective mirror area, transparent area, or self-shielding area point is very complex and cannot be easily approximated using a smooth basis function. We make no assumptions about the reflective properties of the materials that we image.
[0110]
In order to accurately render transparent materials with different refractive indices, we also obtain refraction images, or “environment mats”. As described below, we reparameterize the acquired
[0111]
(Point-sampled data structure)
To build the model, we use an extended point representation based on a layered depth cube (LDC) tree as our shape model, in which we use a view-dependent Parameterize appearance data. Pfister et al., “Surfels: Surface Elements as Rendering Primitives” Computer Graphics, SIGGRAPH 2000 Proceedings, pp. 335-342, 2000, and Pfister on May 28, 2002, incorporated herein by reference. U.S. Pat. No. 6,396,496 entitled “Method for modeling graphical objects represented as surface elements”.
[0112]
In the preprocessing step, we construct an octree-based LDC tree from opaque hulls using three orthogonal orthographic projections. The three tree orthogonal opacity hulls are sampled into a layered depth image. The sampling density depends on the complexity of the model and is user specified. The layer depth image is then fused into a single octree model. Since our opaque hulls are generated from virtual orthographic viewpoints, their alignment is accurate. This fusion also ensures that the model is sampled evenly.
[0113]
(Visibility vector)
As shown in FIG. 4, each surface element (surfel (surface element)) 400 of the LDC tree stores a
[0114]
For each camera position we store a radiance image, a reflection image, and a refraction image associated with that viewpoint. A bit vector is then used to determine whether a particular surface element should be rendered using the stored image for a particular viewpoint. We render directly from the stored image by k nearest neighbor interpolation if necessary.
[0115]
Point samples have several advantages for 3D model applications. From a modeling perspective, the point cloud representation removes the need to establish topology or connectivity. This facilitates the fusion of data from multiple sources.
[0116]
Point samples also avoid the difficult task of calculating a consistent parameterization of the surface for texture mapping. We have found that point-sampled models can more easily represent complex organic shapes such as bonsai trees or feathers than polygon meshes. In particular, it is difficult to represent a view-dependent opacity value at each point of an opacity hull using a polygon model and texture mapping.
[0117]
Compression and rendering of surface reflection fields
Raw
[0118]
Wei-Chao Chen et al. Described light field data compression and rendering methods in “Light Field Mapping: Efficient Representation and Hardware Rendering of Surface Light Fields” scheduled to be published in ACM SIGGRAPH 2002 Conference Proceedings, July, 2002. Yes. The light field, as used by Chen et al., Is concerned only with the radiance going outward from the surface of the object under fixed illumination. This is an extremely simplified lighting model. Chen acquires hundreds of images of the modeled object with a single handheld camera. Illumination is performed by one projector at a fixed position relative to the object. Chen et al. Uses a structured lighting system to reproduce the geometric shape of an object. This requires overcoating the object with white paint to hide the surface properties during scanning. White paint covers dark objects, highly reflective specular objects, or translucent objects. These objects are something that they cannot model and, of course, are just the difficult types of objects that are of interest to us, as described above.
[0119]
In contrast to Chen et al., We acquired reflection images using 4 × 15 light directions from each viewpoint, for a total of 6 × 36 × (4 × (4 × 15) +6) = 53136 Get an image. Our images are acquired by multiple cameras for multiple viewpoints and multiple lighting conditions. Our camera is in place and gives more accurate data than is possible with a handheld camera. Most importantly, we also get images of highly reflective specular materials, dark materials, transparent materials, or fuzzy materials such as fur and feathers that are difficult to handle with conventional scanners like Chen. . We get the surface reflection field so we can place the object in any new environment. This is a clear advantage over Chen et al.
[0120]
Surface reflection field model
The surface reflection field is described by the following function.
f (u, v, θ view , φ view , θ light , φ light )
Here, u and v are obtained by parameterizing points on the surface of the object coordinates (u, v). θ view And φ view Is the viewing direction in spherical coordinates local to the surface point (u, v). θ light And φ light Is the direction of incident light at infinity. That is, the rays are assumed to be parallel.
[0121]
In order to render an object on today's GPU, the surface is represented by polygons as shown in FIG. Each vertex V801 of the
[0122]
The
s (u, v)
Here, (u, v) is a local coordinate system at the vertex V of the object surface.
[0123]
The
v (s, t)
Here, (s, t) is the coordinates of the unit visual field direction vector projected onto the local tangent plane at the vertex V.
[0124]
The light map is a parameterization of the direction of light projected onto the tangent plane at the vertex V of the surface. For each vertex V, it has two different lightmaps. The first map is for the direction of light above the tangential plane around V, and the second light map is for the direction of light below the tangential plane around V. . Each light map l830 has the following two parameters.
l (x, y)
Here, (x, y) is the coordinates of the unit light direction vector projected onto the local tangent plane at the vertex V.
[0125]
Thus, the surface reflection field function f can be re-expressed using the surface map, view map, and light map parameters as follows:
f´ (u, v, s, t, x, y)
[0126]
For each vertex V, this function f ′ is approximated by the following addition formula.
[0127]
[Equation 8]
[0128]
Here, k is a relatively small number, see below.
[0129]
In other words, the vector s k , V k And l k The six-dimensional function f ′ can be expressed by the product of
[0130]
compression
As shown in FIG. 9, images are acquired for each viewpoint VP and for each light direction LD (910), and a local texture is obtained for each vertex V parameterized by (u, v). We use 2D parameter space image data as a one-dimensional vector s. V "Deploy" to. Expansion means making 2D image data into a linear form. A vector s of all possible viewing directions for a given light direction V Has a matrix S for storing all of. Vector s V Is a column vector or row vector of the matrix S. The value of each equation can be determined separately for each (R, G, B) color channel, or each variable can include R, G, and B colors.
[0131]
Collect a matrix S for each possible light direction. The complete data set is the matrix S l Can be expressed as a set of Where each matrix S l Correspond to different light directions. This set of matrices is called a surface reflection field R.
[0132]
The data compression of the surface reflection field R has two parts. First, each matrix S l Vector s V Expand to. Here, the set of matrices R is a larger matrix M representing the surface reflection field. r (920). Matrix M r Is a column vector or row vector s V Consists of.
[0133]
The matrix M is then used using either principal component analysis (PCA) or non-negative matrix factorization (NMF). r A first factorization is performed (930). The result is the following approximate expression:
[0134]
[Equation 9]
[0135]
Where pc k Is a principal component vector of factorization. cf k Is a factorization factor. As is known in the art, the purpose of PCA is to seek a small number of components. Thus, k is small, for example 5 or less, and is usually 3. There is one coefficient for each principal component. Vector cf k Corresponds to the
[0136]
Second, the principal component vector pc k Compress. Matrix S l Vector s V Each vector pc in the opposite way to k The matrix M pc Convert to
[0137]
Next, again with PCA or NMF, the matrix M pc A second factorization is performed (940). The result is the following approximate expression:
[0138]
[Expression 10]
[0139]
Where pc mk Is the main component of the second factorization. cf mk Is the coefficient. Again, k is small and is usually 3.
[0140]
Therefore, in FIGS. 8 and 9, the vector pc m Corresponds to the
[0141]
This procedure results in a high compression ratio of the surface reflection field, since only a very small number k and m, for example three corresponding vectors, need to be stored. The method as described above compresses 80 GB of raw image data to 3 to 5 MB and compresses it by about 4 digits. This is clearly a great advantage and greatly reduces the amount of storage and processing required. In fact, the surface reflection field can be stored in DRAM and this data can be rendered by a standard polygon rendering engine.
[0142]
rendering
Rendering proceeds in the reverse order. The principal components and coefficients are combined (by vector multiplication and vector addition) and a new surface reflection field matrix M for any viewpoint and illumination. r A part of is built. Rendering proceeds as follows.
[0143]
For any viewpoint and any light configuration, the texture of each visible polygon, ie the outward radiance, must be reconstructed. The texture of each polygon is a weighted sum of the surface reflection fields 950 centered on each vertex V. Use a continuous blending function such that the sum of the weights is 1. For example, the barycentric coordinate is an example of a blending function.
[0144]
In order to evaluate the surface reflection model centered on the vertex V, the following processing is executed.
[0145]
First, for each polygon, the coordinates of the vertex V in the
[0146]
Polygon D 1 , D 2 , D 3 The principal component M corresponding to the current viewpoint pc Is reconstructed (980). This can be accomplished using addition and multiplication and can be performed efficiently on today's GPUs.
[0147]
We are M pc A part of the main component pc k (990). Principal component pc k Given a part of, M corresponding to a given viewpoint r Is reconstructed (995). The columns of the matrix Mr are weighted by the new light composition vector and added together.
[0148]
This sum is the new
[0149]
【The invention's effect】
A 3D modeling system has been described that is composed of arbitrary materials and optimized for the generation of high quality renderings of objects illuminated by arbitrary illumination. The basic premise of this imaging approach is to use a large amount of radiance information to generate an accurate rendering of the object, rather than relying on accurate geometric shapes. Unlike prior art scanners, the system reliably captures and renders models of objects with dark surfaces, fuzzy surfaces, transparent surfaces, translucent surfaces, or highly reflective surfaces.
[0150]
Using the compressed surface reflection field, the system first renders an object with arbitrarily complex shapes and materials from a new viewpoint under varying illumination. Furthermore, through the use of a compressed surface refraction field, we can accurately render transparent portions of objects with various refractive properties using a standard polygon rendering engine.
[0151]
While the invention has been described by way of examples of preferred embodiments, it is to be understood that various other adaptations and modifications can be made within the spirit and scope of the invention. Accordingly, it is the object of the appended claims to cover all such variations and modifications as fall within the true spirit and scope of the invention.
[Brief description of the drawings]
FIG. 1 is a diagram of a system according to the invention.
FIG. 2 is a flow diagram of a method for acquiring an image used by the present invention.
FIG. 3 is a flow diagram of a method for constructing an opacity hull according to the present invention.
FIG. 4 is a block diagram of a surface element data structure.
FIG. 5a is a schematic diagram of an illumination sector.
FIG. 5b is a schematic diagram of the illumination sector.
FIG. 6 is a schematic diagram of reprojection of a Gaussian environmental mat.
FIG. 7 is a schematic diagram of matching reflective and refractive Gaussians.
FIG. 8 is a schematic diagram of a polygon model according to the present invention.
FIG. 9 is a flow diagram of a method for compressing and rendering a surface reflection field.
Claims (6)
前記プロセッサにより、
複数のカメラによって、複数の視点のそれぞれについて、それぞれの視点に対する画像の複数の組のそれぞれが異なる照明を有する、前記オブジェクトの画像の複数の組を取得することと、
前記複数の画像を、前記3次元オブジェクトの表面反射フィールドを表す行列Mrとして記憶することと、
前記行列Mrを主成分pckおよび係数cfkに因子分解することと、
前記主成分pckを行列Mpcに記憶することと、
前記行列Mpcを主成分pcmおよび係数cfkに因子分解することと、
頂点Vにおける圧縮された表面反射フィールドを組み合わせて表す表面マップ、ビューマップ、およびライトマップの圧縮をそれぞれ表す主成分pcm、係数cfk、および係数cfkの対応する値を、前記3次元オブジェクトのモデルのそれぞれの前記頂点Vについて記憶することと
を含む方法。 The three-dimensional object placed on the turntable is irradiated with light from an overhead light and a backlight arranged around the three-dimensional object, and the three-dimensional object is brought into the foreground with the backlight. A method of modeling a three-dimensional object by a processor that acquires images from a plurality of cameras arranged to be ,
By the processor,
Obtaining a plurality of sets of images of the object with a plurality of cameras, each of a plurality of viewpoints having a different illumination for each of the plurality of sets of images for each viewpoint;
Storing the plurality of images as a matrix Mr representing a surface reflection field of the three-dimensional object;
Factorizing the matrix Mr into principal components pc k and coefficients cf k ;
Storing the principal component pc k in a matrix M pc ;
Factorizing the matrix M pc into principal components pc m and coefficients cf k ;
Corresponding values of principal component pc m , coefficient cf k , and coefficient cf k representing the compression of the surface map, view map, and light map, respectively, that combine the compressed surface reflection fields at vertex V, are stored in the 3D Storing for each said vertex V of the model.
任意の視点についてのそれぞれの前記頂点Vの座標を求めることと、
前記任意の視点に対応する前記行列Mpcの一部を再構築することと、
前記Mpcの一部を、前記主成分pckの一部に展開することと、
前記頂点Vについての新しい表面反射フィールドを求めるために、前記任意の視点および任意の照明に対応するMrの一部を再構築することと
をさらに含む請求項1に記載の方法。The model is composed of polygons,
Determining the coordinates of each vertex V for any viewpoint;
Reconstructing a part of the matrix M pc corresponding to the arbitrary viewpoint;
Expanding a portion of the M pc into a portion of the principal component pc k ;
The method of claim 1, further comprising: reconstructing a portion of Mr corresponding to the arbitrary viewpoint and arbitrary illumination to determine a new surface reflection field for the vertex V.
前記任意の視点および任意の光の構成について求められた前記テクスチャをレンダリングすることと
をさらに含む請求項3に記載の方法。Summing the new surface reflection field for a plurality of the vertices V of the polygon to obtain a texture of the polygon;
The method of claim 3, further comprising: rendering the texture determined for the arbitrary viewpoint and arbitrary light configuration.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/185,352 US6803910B2 (en) | 2002-06-17 | 2002-06-27 | Rendering compressed surface reflectance fields of 3D objects |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004164571A JP2004164571A (en) | 2004-06-10 |
JP4335589B2 true JP4335589B2 (en) | 2009-09-30 |
Family
ID=29779608
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003172419A Expired - Fee Related JP4335589B2 (en) | 2002-06-27 | 2003-06-17 | How to model a 3D object |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4335589B2 (en) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9384553B2 (en) * | 2013-04-03 | 2016-07-05 | Mitsubishi Electric Research Laboratories, Inc. | Method for factorizing images of a scene into basis images |
JP6390357B2 (en) * | 2014-11-06 | 2018-09-19 | 富士通株式会社 | Lighting control device, lighting control method, and lighting control program |
EP3032241B1 (en) * | 2014-12-11 | 2023-03-01 | X-Rite Europe GmbH | Method and apparatus for digitizing the appearance of a real material |
JP6383678B2 (en) * | 2015-02-10 | 2018-08-29 | 日本電信電話株式会社 | Relighting image generation apparatus, method, and program |
JP6787389B2 (en) | 2016-02-26 | 2020-11-18 | 株式会社ニコン | Detection device, detection system, detection method, information processing device, and processing program |
JP6812271B2 (en) * | 2017-02-27 | 2021-01-13 | キヤノン株式会社 | Image processing equipment, image processing methods and programs |
EP3474185B1 (en) * | 2017-10-18 | 2023-06-28 | Dassault Systèmes | Classification of 2d images according to types of 3d arrangement |
CN110689514B (en) * | 2019-10-11 | 2022-11-11 | 深圳大学 | Training method and computer equipment for new visual angle synthetic model of transparent object |
CN111275809B (en) * | 2020-01-14 | 2023-09-12 | 新疆初点信息科技有限公司 | Space display method and system for ceramic tiles |
CN112150598A (en) * | 2020-09-25 | 2020-12-29 | 网易(杭州)网络有限公司 | Cloud layer rendering method, device, equipment and storage medium |
US20220130091A1 (en) * | 2020-10-23 | 2022-04-28 | Stack's-Bowers Numismatics, Llc | Systems and methods for simulating animation of an object |
JP7099506B2 (en) * | 2020-10-27 | 2022-07-12 | 株式会社ニコン | Detection device, detection method, information processing device, and processing program |
-
2003
- 2003-06-17 JP JP2003172419A patent/JP4335589B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004164571A (en) | 2004-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4335588B2 (en) | How to model a 3D object | |
US6803910B2 (en) | Rendering compressed surface reflectance fields of 3D objects | |
US6903738B2 (en) | Image-based 3D modeling rendering system | |
Lensch et al. | Image-based reconstruction of spatial appearance and geometric detail | |
Matusik et al. | Acquisition and rendering of transparent and refractive objects | |
Müller et al. | Acquisition, synthesis, and rendering of bidirectional texture functions | |
Liu et al. | Synthesizing bidirectional texture functions for real-world surfaces | |
Matusik et al. | Image-based 3D photography using opacity hulls | |
US6792140B2 (en) | Image-based 3D digitizer | |
Alexa et al. | Point-based computer graphics | |
Winnemöller et al. | Light waving: Estimating light positions from photographs alone | |
JP4335589B2 (en) | How to model a 3D object | |
JP2004252603A (en) | Three-dimensional data processing method | |
Wang et al. | Capturing and rendering geometry details for BTF-mapped surfaces | |
Weyrich et al. | Rendering deformable surface reflectance fields | |
Debevec | Image-based techniques for digitizing environments and artifacts | |
Martos et al. | Realistic virtual reproductions. Image-based modelling of geometry and appearance | |
Krumpen et al. | OctreeBTFs–A compact, seamless and distortion-free reflectance representation | |
Yu | Modeling and editing real scenes with image-based techniques | |
Verbiest et al. | Image-based rendering for photo-realistic visualization | |
Ngan | Image-based 3D scanning system using opacity hulls | |
Lensch et al. | A framework for the acquisition, processing, transmission, and interactive display of high quality 3D models on the web | |
Yerex | Name of Author: Keith Yerex | |
Yerex | Rendering of multi-resolution graphics models captured from images | |
Palma | Surface Appearance Estimation from Video Sequences. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060425 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090403 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090421 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090529 |
|
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: 20090623 |
|
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: 20090625 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120703 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |