JP2004157968A - 3次元コンピュータモデリング - Google Patents
3次元コンピュータモデリング Download PDFInfo
- Publication number
- JP2004157968A JP2004157968A JP2003113214A JP2003113214A JP2004157968A JP 2004157968 A JP2004157968 A JP 2004157968A JP 2003113214 A JP2003113214 A JP 2003113214A JP 2003113214 A JP2003113214 A JP 2003113214A JP 2004157968 A JP2004157968 A JP 2004157968A
- Authority
- JP
- Japan
- Prior art keywords
- image
- computer model
- data
- image data
- dimensional computer
- 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.)
- Withdrawn
Links
- 238000005094 computer simulation Methods 0.000 title claims abstract description 93
- 238000012545 processing Methods 0.000 claims description 90
- 238000000034 method Methods 0.000 claims description 69
- 230000008569 process Effects 0.000 claims description 36
- 230000004044 response Effects 0.000 claims description 7
- 239000002131 composite material Substances 0.000 claims description 4
- 238000003384 imaging method Methods 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 14
- 238000005516 engineering process Methods 0.000 description 4
- 238000007796 conventional method Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000001454 recorded image Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/10—Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/08—Indexing scheme for image data processing or generation, in general involving all processing steps from image acquisition to 3D model generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20092—Interactive image processing based on input by user
Abstract
【課題】異なる角度から撮影された複数の画像から3次元モデルを生成する。
【解決手段】被写体オブジェクトの画像からが夫々異なる位置及び向きから記録され、被写体オブジェクトの表面形状の3Dコンピュータモデルが生成される。被写体オブジェクトを横に倒して基部画像が更に登録される。ユーザが移動させる仮想カメラに従って、3Dコンピュータ表面形状モデルの画像が生成され、背景画像に重なるように表示される。このように、ユーザは3Dコンピュータモデル及びその下の静止画像の双方を見ることができる。その後、更なる画像の撮影パラメータを定義するために仮想カメラの撮影パラメータが格納され、更なる画像からの画像データを使用して3Dコンピュータモデルに対するテクスチャデータが生成される。
【選択図】 図4
【解決手段】被写体オブジェクトの画像からが夫々異なる位置及び向きから記録され、被写体オブジェクトの表面形状の3Dコンピュータモデルが生成される。被写体オブジェクトを横に倒して基部画像が更に登録される。ユーザが移動させる仮想カメラに従って、3Dコンピュータ表面形状モデルの画像が生成され、背景画像に重なるように表示される。このように、ユーザは3Dコンピュータモデル及びその下の静止画像の双方を見ることができる。その後、更なる画像の撮影パラメータを定義するために仮想カメラの撮影パラメータが格納され、更なる画像からの画像データを使用して3Dコンピュータモデルに対するテクスチャデータが生成される。
【選択図】 図4
Description
【0001】
【発明の属する技術分野】
本発明は、オブジェクトの3次元(3D)コンピュータモデル及びそれに対するテクスチャデータを生成するためのオブジェクトの画像を定義する画像データのコンピュータ処理に関する。
【0002】
【従来の技術】
オブジェクトの3Dコンピュータモデルを生成する方法としては、数多くの方法が知られている。
【0003】
特に、モデリング対象のオブジェクトの画像がオブジェクトに対して夫々異なる位置及び向きで記録される方法が知られている。この方法が既知でない場合のために説明すると、記録された画像がそれぞれ処理されて記録された位置及び向きが計算される。入力画像と位置及び向きとを使用してオブジェクトの表面形状の3Dコンピュータモデルが生成される。続いて、入力画像データから表面形状コンピュータモデルに対するテクスチャデータが生成される。
【0004】
この既知の方法のうちの第1の種類の方法では、モデリング対象の被写体オブジェクトは既知の特徴のパターンを有する校正オブジェクトと共に配置され、校正パターンと共に被写体オブジェクトを示す画像が夫々異なる位置及び向きから記録される。記録された画像はそれぞれ処理され、校正オブジェクトのパターンの各特徴の画像中の位置に基づいて記録された位置及び向きが計算される。被写体オブジェクト及び校正パターンは、画像の記録中相互に対して静止状態のままであるので、被写体オブジェクトに対する入力画像の位置及び向きが計算の結果明らかになり、画像から被写体オブジェクトの3Dコンピュータモデルを生成することができる。この種の技術の例は、Niemの「Automatic Reconstruc tion of3D Objects Using A Mobile Camera」(Image and Vision Computing 17(1999年)125〜134ページ)、Gortler他の「The Lumigraph」(Computer Graphics Proceedings, Annual Conference Series、1996年、ACM−0−89791−764−4/96/008)、JP−A−9−170914、及び本出願人の同時係属PCT特許出願GB00/04469(WO−A−01/39124)(これらの内容は全て相互参照により本明細書に取り入れられている)などに記載されている。そして、結果として得られた3Dコンピュータモデルに対するテクスチャデータは、その画像から生成される。
【0005】
第2の種類の既知の方法では、モデリング対象の被写体オブジェクトは校正オブジェクトなしに単独で撮影される。続いて、異なる入力画像間でオブジェクト上の特徴を照合し、夫々の画像で一致する特徴の夫々の位置によって、各画像の相対的な位置及び向きを計算することによって各画像の位置及び向きが計算される。このような技術の例は、例えば、EP−A−0898245に記載されている。
【0006】
第3の種類の既知の方法では、被写体オブジェクトが載置される表面に対して固定の位置及び向きに1台以上のカメラが取り付けられ(カメラにより記録される画像の位置及び向きを計算する必要がないように)、被写体オブジェクトの画像がカメラにより記録される。オブジェクトは、定められた量だけ回転させてその様々な部分の画像を記録できるようにターンテーブル上に配置されても良い。
【0007】
しかし、これらの既知の方法の全てには、最初の画像のうちの少なくとも1枚の画像中で見える被写体オブジェクトの部分に対してしか、3Dコンピュータサーフェスモデルに対する正確なテクスチャデータを生成することができないという問題がある。
【0008】
第1の種類の技術(被写体オブジェクトが校正パターンと共に撮影される)の場合には更なる問題が生じる。これは、画像の記録中に校正パターンに対して被写体オブジェクトを移動させることができないためである(移動させることが可能であると、被写体オブジェクトの位置及び向きは校正パターンに対して一定でなくなり、画像の計算された位置及び向きに対してその位置及び向きが分からなくなり、被写体オブジェクトの3Dコンピュータモデルを生成することができない)。従って、被写体オブジェクトが撮影用の校正オブジェクト上に配置される通常の場合では、被写体オブジェクトの基部が校正オブジェクト上にあるために基部上の特徴は撮影することができず、画像データから得られるテクスチャデータ中で再現することができない。
【0009】
第3の種類の技術に関しても同様の問題が生じる。これは、被写体オブジェクトを載置される表面に対して移動させることができないためである。移動させることが可能であると、固定されたカメラの位置及び向きの調整が変化することになる。このため、被写体オブジェクトの基部上の特徴は撮影することができず、画像データから得られるテクスチャデータ中で再現することができない。
【0010】
第2の種類の技術の場合、画像の位置及び向きが画像中の整合する被写体オブジェクトの特徴に基づいて相互に対して計算されるために問題が生じる。従って、各画像は被写体オブジェクト上の少なくとも一部の整合する特徴が画像中で見えると共に少なくとも1枚の更に別の画像中で見えるように記録される必要がある。この必要条件により、画像を撮影することが可能な位置及び向きが厳格に制限される可能性がある。
【0011】
【発明が解決しようとする課題】
本発明は、上述の問題点のうちの少なくとも1つに対処することを目的とする。
【0012】
【課題を解決するための手段】
本発明によると、夫々異なるビュー位置及びビュー方向から記録される被写体オブジェクトの画像を処理することによって、被写体オブジェクトの3Dコンピュータモデルが生成される。画像を登録するために画像の相対的な撮影位置及び撮影方向(既知でない場合)が計算され、画像に対するコンピュータモデルの位置及び向きが既知であるように、被写体オブジェクトの表面形状の3Dコンピュータモデルが登録された画像を使用して生成される。3Dコンピュータ表面形状モデルを生成する処理においては使用されておらず、テクスチャデータを生成すべき被写体オブジェクトの部分(被写体オブジェクトの基部など)を示す被写体オブジェクトの更なる画像が、3Dコンピュータ表面形状モデルに登録される。登録は、更なる画像をユーザに対して表示し、ユーザが制御することによって3Dコンピュータ表面形状モデルを見ることができるようになる仮想カメラを提供することによって実行される。静止状態を維持し、ユーザが移動させる仮想カメラに従って3Dコンピュータモデルの画像が生成され、重なって表示されるように更なる画像は表示される。3Dコンピュータモデルの画像は、ユーザが下の静止画像中で3Dコンピュータモデル及び被写体オブジェクトの配置を見ることができるような形態で表示される。これにより、ユーザには仮想カメラを移動させて表示された更なる画像中の被写体オブジェクトのビューに対応する3Dコンピュータモデルのビューを生成する機能が提供される。その後、仮想カメラの撮影パラメータが格納され、更なる画像の画像パラメータが定義される。このようにして、更なる画像は3Dコンピュータモデルに登録され、3Dコンピュータモデルに対するテクスチャデータが更なる画像及び少なくとも1枚の最初の画像からの画像データによって生成される。
【0013】
このように処理を実行することによって、被写体オブジェクトの画像を記録・処理し、3Dコンピュータ表面形状モデルを生成することができ、テクスチャデータを生成する際に使用する1枚以上の更なる画像を記録することができる。各更なる画像の記録は、3Dコンピュータ表面形状モデルを生成するための画像の記録に課される制約により制限されない。例えば、校正パターンが使用される場合、3Dコンピュータ表面形状モデルを生成するために使用する各画像は、校正パターンの十分な部分が見えるように記録されなければならないが、テクスチャデータ生成にのみ使用される各画像は、校正パターンを見せる必要はない。
【0014】
同様に、被写体オブジェクトが校正オブジェクトなしに撮影される場合、3Dコンピュータ表面形状モデルを生成するのに使用すべき各画像は、被写体オブジェクト上で十分な数の特徴を示すように記録されなければならない。この特徴は少なくとも1枚の他の画像中の特徴と照合することができるものである。しかし、テクスチャデータ生成のみに使用される各画像は、他の画像中の特徴と照合するための特徴を示す必要はない。
【0015】
各更なる画像を3Dコンピュータモデルに登録する方法により、正確で信頼性の高い登録方法が提供され、被写体オブジェクトを忠実に表現するテクスチャデータを生成できるようになる。
【0016】
3Dコンピュータモデルの画像及び更なる画像は、3Dコンピュータモデルの画像が更なる画像上に半透明の形態で重ねて表示されるように混合されても良い。これにより、ユーザは3Dコンピュータモデル及び下の更なる画像中の被写体オブジェクトの双方を見ることができる。
【0017】
代替の構成として、3Dコンピュータモデルの画像及び更なる画像は、3Dコンピュータモデルと更なる画像中の被写体オブジェクトとの間の配置が変化するにつれてユーザに対して表示される色が変化するように、ビットごとの論理演算に従って合成されても良い。
【0018】
3Dコンピュータモデルの画像及び更なる画像は、3Dコンピュータモデル及び更なる画像中の被写体オブジェクトの登録状態を示す表示画像をユーザに提供するのと同じ効果を達成するために、その他の方法で合成されても良い。
【0019】
また、本発明は、上述の処理を実行する際に使用する処理装置及び処理方法を提供する。
【0020】
また、本発明は、プログラム可能な処理装置を、上述の装置として、あるいは、上述の方法を実行するように動作可能に構成するための命令を含む記憶装置又は信号などとして具現化されたコンピュータプログラム製品を提供する。
【0021】
【発明の実施の形態】
添付の図面を参照して、単なる一例としての本発明の各実施例を説明する。同じ符号は同じ部分を示すのに使用される。
【0022】
図1を参照すると、本発明の一実施例は、従来のように1つ以上のプロセッサ、メモリ、及びグラフィックスカードなどを含むパーソナルコンピュータ(PC)のような処理装置2と、従来型のパーソナルコンピュータモニタのような表示装置4と、キーボード及びマウスなどのユーザ入力装置6と、プリンタ8と、WACOM製造のPL400などの、制御可能画素を有するフラットパネルから構成される表示パネル10とを具備する。
【0023】
処理装置2は、例えば、ディスク12などのデータ記憶媒体に格納されたデータとして及び/又は遠隔データベース等からインターネットなどの通信ネットワーク(不図示)を介する伝送あるいは空気を介する無線伝送により処理装置2に入力され且つ/又はキーボードなどのユーザ入力装置6を介してユーザにより入力される信号14として入力されるプログラミング命令に従って動作するようにプログラムされる。
【0024】
以下に更に詳細に説明するが、これらのプログラミング命令は、夫々異なる位置と向きで記録された被写体オブジェクトの複数の画像を定義する入力データを処理することによって被写体オブジェクトの表面形状の3Dコンピュータモデルを定義するデータを生成すると共に、被写体オブジェクトの少なくとも1枚の更なる画像の画像データから3Dコンピュータモデルに対するテクスチャデータを生成するように処理装置2を構成させるための命令である。この更なる画像自体は3Dコンピュータモデルを生成するのに使用されていない。更なる画像はサーフェスモデルを生成するのに使用される画像中で見えない被写体オブジェクトの部分を示しても良く、その結果、これらの部分に対して被写体オブジェクトの表面を忠実に表現するテクスチャデータが生成されるであろう。
【0025】
特に、プログラミング命令は、画像の第1の集合に対する画像データを処理して画像が記録された相対的な位置及び向きを計算し(それにより、第1の登録済の画像の集合を生成する)、第1の集合から登録済の画像を使用して被写体オブジェクトの表面形状の3Dコンピュータモデルを定義するデータを生成し、3Dコンピュータモデルを被写体オブジェクトの1つ以上の更なる画像に登録し、第1の集合の画像中で見える特徴の他に更なる画像中でのみ見える特徴を表現するテクスチャデータを含む3Dコンピュータモデルに対するテクスチャデータを生成するよう動作可能に処理装置2を構成させるための命令である。
【0026】
本実施例では、被写体オブジェクトは、既知の特徴パターンを有する校正オブジェクト(本実施例においては2次元写真マット)の上で撮影される。3Dコンピュータサーフェスモデルを生成するのに用いられる入力画像群は、固定の構成において(すなわち、被写体オブジェクトの校正オブジェクトに対する位置及び向きは各画像について同じ)被写体オブジェクト及び校正オブジェクトの夫々に異なる位置及び向きで記録される画像により構成されている。入力画像が記録されたときの位置及び向きは、画像中の校正オブジェクトパターンの特徴の位置を検出することにより計算される。
【0027】
以下で詳細に説明するように、プログラミング命令は、更なる画像を静止の背景画像として表示し、仮想カメラを制御することによってユーザが3Dコンピュータモデルを見ることができるようにする3Dブラウザを提供し、ユーザが仮想カメラを制御すると、半透明の形態で背景画像に重なる仮想カメラからの3Dコンピュータモデルの画像をリアルタイムで表示し、仮想カメラからの3Dコンピュータモデルの表示が表示された更なる画像と十分な程度に同じであることを示す信号をユーザが入力すると仮想カメラのビューパラメータを更なる画像のビューパラメータとして格納することによって、更なる画像の各々に3Dコンピュータモデルを登録するよう動作可能に処理装置2を構成させるための命令である。
【0028】
処理装置2は、プログラミング命令によりプログラミングされたとき、処理動作を実行するための幾つかの機能ユニットとして構成されたと考えることができる。そのような機能ユニットの例及びそれらの相互接続関係を図1に示す。しかし、図1に示すユニット及び相互接続は概念上のものであり、理解を助ける目的のために一例として示されているにすぎない。従って、それらが、処理装置2のプロセッサ、メモリなどが実際に構成するユニットや接続を必ずしも表してはいない。
【0029】
図1に示す機能ユニットを説明すると、中央制御装置20はユーザ入力装置6からの入力を処理すると共に、その他の機能ユニットの制御及び処理を提供するように構成される。
【0030】
メモリ24は、処理装置に対する動作命令を格納し、処理装置に入力されるデータを格納し、更に、中央制御装置20及びその他の機能ユニットにより生成されるデータを格納するべく設けられる。
【0031】
マット発生器30は、紙などの記録媒体上に校正パターンをプリントしてプリント済の「写真マット」34を形成するため、あるいは、表示パネル10に校正パターンを表示して写真マットを表示するためにプリンタ8又は表示パネル10を制御する制御信号を発生するように構成される。以下に更に詳細に説明するが、写真マットは所定の特徴の校正パターンを有し、3Dコンピュータモデルを生成すべき被写体オブジェクトは、プリント済写真マット34又は校正パターンが表示される表示パネル10上に配置される。その後、3Dコンピュータ表面形状モデルの生成に使用するために、被写体オブジェクトの画像及び校正パターンが記録され、処理装置2に入力される。これらの画像は、被写体オブジェクト及び校正パターンに対して夫々異なる位置及び向きから記録される画像であり、被写体オブジェクトの校正パターンに対する位置及び向きは3Dコンピュータ表面形状モデルを生成するのに使用される全ての画像に対して同じである。
【0032】
マット発生器30は、処理装置2が入力画像記録時の位置及び向きを計算する際に使用するための、写真マット上にプリント又は表示された特徴の校正パターンを定義するデータを格納するように構成される。すなわち、本実施例では、マット発生器30は、特徴パターンに対する座標系(実際には校正パターンの基準の位置及び向きを定義する)と共に特徴パターンを定義するデータを格納するように構成されており、処理装置2は、入力画像が記録されたときの位置及び向きを定義済み座標系において(従って、基準の位置及び向きに対して)計算するように構成されている。このように、入力画像の記録位置及び向きが相互に対して計算され、登録済の入力画像の集合が生成される。
【0033】
本実施例では、写真マット上の校正パターンは、例えば、PCT特許出願GB00/04469(WO−A−01/39124)(これらの内容は全て相互参照により本明細書に取り入れられている)に記載されているような特徴の空間クラスタ、あるいは、例えば、JP−A−9−170914に記載されているような、各々の対応するドットが一意のものであるように各ドットが異なる色相/輝度の組み合わせを有する着色ドットのパターン、Niemの「Automatic Reconstruction of 3D Objects Using a Mobile Camera」(Image and Vision Computing 17、1999年、125〜134ページ)に記載されているような、各象限で複数の同心円を寸法がわかっている半径方向線分及び位置マーカで結ぶことにより形成されるパターン、又はGortler他の「The Lumigraph」(Computer Graphics Proceedings, Annual Conference Series、1996年、ACM−0−89791−764−4/96/008に記載されているような、それぞれ異なる直径を有する複数の同心リングから構成されるパターンなどの任意の既知の特徴パターンを含む。
【0034】
本実施例の以下の説明においては、プリント済写真マット34を生成するために、校正パターンはプリンタ8により記録媒体(本実施例では、シート紙)にプリントされるものと想定するが、先に述べたように、表示パネル10に校正パターンを表示することも可能であろう。
【0035】
入力データインタフェース40は、処理装置2内への入力データの格納を制御するように構成される。データは、例えば、ディスク42などの記憶装置に格納されるデータとして、処理装置2へ送信される信号44として、又はユーザ入力装置6を使用して処理装置2に入力されても良い。本実施例では、入力データは夫々異なる位置及び向きで記録された写真マット34上の被写体オブジェクトの複数の画像を定義する。入力画像は、被写体オブジェクトの表面形状の3Dコンピュータモデルを生成するように処理すべき画像の集合を含む。校正パターンに対する被写体オブジェクトの位置及び向きは集合中の全ての画像に対して同じである。また、入力画像データは、3Dコンピュータモデル自体を生成するように処理されるものではなく、3Dコンピュータモデルに対するテクスチャデータを生成する為に処理されるための被写体オブジェクトの少なくとも1枚の更なる画像(校正パターンを示しても、示さなくても良い)に対する画像データを含む。加えて、本実施例における入力データは、入力画像を記録したカメラの固有のパラメータ、すなわち、縦横比、焦点距離、主点(光軸が撮影平面と交わる点)、1次半径方向歪み係数及びスキュー角(画素格子の軸が厳密には直交していないことがありえるため、それらの軸が成す角度)を定義するデータも含む。
【0036】
入力画像を定義する入力データは、例えば、画像を記録したデジタルカメラから画素データをダウンロードするか、あるいは、スキャナ(不図示)を使用して写真を走査することにより生成されても良い。
【0037】
固有のカメラパラメータを定義する入力データは、ユーザがユーザ入力装置6を使用することにより入力されても良い。
【0038】
カメラ計算器50は、3Dコンピュータ表面形状モデルを生成するのに使用される集合中の各入力画像を処理して、写真マット34の校正パターンの特徴の画像中の位置を検出すると共に、画像が記録されたときの写真マット34に対するカメラの位置及び向きを計算するように構成される。このように、各入力画像の位置及び向きは同じ校正パターンに対して計算されるので、集合中の入力画像の位置及び向きは共通の座標系において定義され、入力画像の登録済の集合が生成される。
【0039】
サーフェスモデラ60は、3Dコンピュータ表面形状モデルを生成するのに使用される集合中の各画像の画像データと集合中の各画像に対してカメラ計算器50により計算されるカメラの位置及び向きとを処理して、被写体オブジェクトの表面を表現するポリゴンメッシュを含む3Dコンピュータモデルを生成するように構成される。
【0040】
レンダラ70は、仮想カメラに従ってサーフェスモデラ60により生成される3Dコンピュータサーフェスモデルの画像を定義するデータを生成するように構成される。レンダラ70により実行される処理は従来のレンダリング処理であり、処理装置2により生成されるテクスチャデータを3Dコンピュータサーフェスモデル上にレンダリングすることを含む。
【0041】
仮想カメラ制御装置80は、ユーザ入力装置6を使用してユーザが入力した命令に応答して、レンダラ70により使用される仮想カメラを制御し、3Dコンピュータモデルの画像を生成する。
【0042】
テクスチャデータ発生器100は、サーフェスモデラ60により生成される3Dコンピュータモデルへとレンダラ70によりレンダリングすべき入力画像からテクスチャデータを生成するように構成される。
【0043】
表示制御装置110は、処理装置2による処理中に表示装置4を制御してユーザに対し画像及び命令を表示するように構成される。加えて、表示制御装置110は、表示装置4を制御してテクスチャデータ発生器100により生成されるテクスチャデータを用いてレンダリングされる3Dコンピュータサーフェスモデルの各画像を示すレンダラ70により生成される画像データを表示するように構成される。
【0044】
出力データインタフェース120は、処理装置2からのデータの出力を制御するように構成される。本実施例では、出力データは、サーフェスモデラ70により生成される3Dコンピュータ表面形状モデルとテクスチャデータ発生器100により生成されるテクスチャデータとを定義する。出力データインタフェース120は、例えば、ディスク122などの記憶装置上のデータ及び/又は信号124としてデータを出力するように構成される。出力データの記録は、直接に、あるいは、記録装置(不図示)を使用して間接的に出力信号124を記録することによって行なわれても良い。
【0045】
図2を参照して、3Dコンピュータ表面形状モデルを生成するために、処理装置2によって処理される入力画像の集合の記録について説明する。
【0046】
プリント済写真マット34が表面200に配置されており、3Dコンピュータモデルを生成すべき被写体オブジェクト210は、被写体オブジェクト210がマット上の校正パターンを構成する特徴により包囲されるように、写真マット34のほぼ中央に配置される。
【0047】
被写体オブジェクト210の夫々異なる部分を示すため、被写体オブジェクト210及び写真マット34の画像はデジタルカメラ230を使用して夫々異なる位置と向きで記録される。本実施例では、カメラ230により記録される画像を定義するデータは、ワイヤ232を介して信号44として処理装置2に入力される。
【0048】
具体的に説明すると、本実施例では、カメラ230の位置は固定されたままであり、被写体オブジェクト210を乗せた写真マット34は表面200上で移動(並進)及び(例えば、矢印240の方向に)回転され、カメラ230に対して夫々異なる位置と向きで被写体オブジェクト210の写真が記録される。3Dコンピュータ表面形状モデルを生成するのに使用される画像を記録するために表面200上で写真マット34が回転・並進している間、被写体オブジェクト210はマット34に対して動かない。このため、校正パターンに対する被写体オブジェクト210の位置及び向きは集合中の各画像に対して同じである。
【0049】
被写体オブジェクト210の上面の画像は、カメラ230を三脚から取り外し、上方から被写体オブジェクト210を撮影することによって記録される。
【0050】
図3は、3Dコンピュータ表面形状モデルを生成する処理のために処理装置2に入力されるデータにより定義される画像の集合のうちの画像の例300、304、308及び312を示す図である。これらの画像は、カメラ230に対して夫々異なる位置及び向きにある被写体オブジェクト210及び写真マット34を示す。
【0051】
図4は、本実施例において入力データを処理するために処理装置2により実行される処理動作を示す図である。
【0052】
図4のステップS4−2において、中央制御装置20は表示制御装置110に3Dコンピュータ表面形状モデルを生成する処理のためのデータの入力をユーザに要求するメッセージを表示装置4に表示させる。
【0053】
ステップS4−4において、ステップS4−2での要求に応答してユーザにより入力されたデータを入力データインタフェース40の制御下でメモリ24に格納する。具体的に説明すると、上述のように本実施例では、入力データは夫々異なる相対的な位置及び向きで記録された被写体オブジェクト210及び写真マット34の画像を定義するデータと、入力画像を記録したカメラ230の固有のパラメータを定義するデータとを含む。
【0054】
ステップS4−6において、カメラ計算器50は、ステップS6−4で格納された入力画像データ及び固有のカメラパラメータデータを処理して、入力画像ごとに写真マット34上の校正パターンに対する(従って、被写体オブジェクト210に対する)カメラ230の位置及び向きを判定する。この処理は、入力画像ごとに、写真マット34の校正パターンを構成する画像中の特徴を検出し、画像中のそれらの特徴の位置を格納されている写真マットのパターン中の特徴の位置と比較し、画像が記録されたときのマット34に対するカメラ230の位置及び向きを計算することから成る。ステップS4−6でカメラ計算器50により実行される処理は、写真マット34上で使用されている特徴の校正パターンによって決まる。このため、適切な処理は、例えば、同時係属PCT出願GB00/04469(WO−A−01/39124)、JP−A−9−170914、Niemの”Automatic Reconstruction of 3D Objects Using a Mobile Camera”(Image and Vision Computing 17、1999年、125〜134ページ)、及びGortler他の”The Lumigraph”(Computer Graphics Proceedings, Annual Conference Series、1996年、ACM−0−89791−764−4/96/008)に記載されている。尚、各入力画像中の校正パターンの特徴の位置は、列挙した参考文献における画像処理技術を使用してカメラ計算器50により独立して検出されるのではなく、ユーザにより(例えば、表示画像中の各校正パターン特徴を指示し、クリックすることによって)処理装置2に対して識別されても良い。
【0055】
ステップS4−6でのカメラ計算器50による処理の結果、写真マット34上の校正パターンに対して各入力画像の位置及び向きが計算され、画像が相互に登録されている。
【0056】
ステップ4−8において、サーフェスモデラ60は、入力画像とカメラ計算器50により生成される位置/向きデータとを処理することによって、被写体オブジェクト210の表面形状を表現するポリゴンメッシュを含む3Dコンピュータモデルを定義するデータを生成する。
【0057】
本実施例では、サーフェスモデラ60による処理は、ステップS4−4で格納される各入力画像を処理して被写体オブジェクト210を表現する画像データを他の画像データ(「背景」画像データ)から分離し、結果として生じる分離状態を処理して被写体オブジェクト210の表面形状を表現するポリゴンメッシュを生成することから成る。
【0058】
本実施例では、画像データを分割する処理は、例えば、GB−A−2358307の付録Aのパート2.2に記載の従来の画像分割方法を使用して実行される。
【0059】
分割処理により、各入力画像中で被写体オブジェクト210のシルエットを定義するデータが生成される。各シルエットは、シルエットが位置する画像が記録されたときのカメラの焦点位置と共に、3D空間中の(未知の)複数の点において被写体オブジェクト210の表面に接する3D空間中の無限の円錐形を定義する(シルエットは画像中の被写体オブジェクト表面の輪郭を定義するためである)。
【0060】
本実施例において、被写体オブジェクト210の表面形状を表現するポリゴンメッシュを生成するためにサーフェスモデラ60により実行される処理は、入力画像中の全てのシルエットにより定義される無限の円錐形の共通部分により定義される3D空間のボリュームを判定し、結合された平面ポリゴンのメッシュにより共通部分のボリュームを表現する処理から成る。
【0061】
この処理は、所有者の同時係属欧州特許出願EP−A−1,267,309(02254027.2)(これらの内容は全て相互参照により本明細書に取り入れられている)に記載される技術を使用して実行されても、あるいは、Martin Lohleinの”A Volumetric Intersection Algorithm for 3D−Reconstruction Using a Boundary−Representation”(http://i31www.ira.uka.de/diplomarbeiten/da_martin_loehlein/Reconstruction.html)又はM. Szilvasi−Nagyの”An Algorithm for Determining the Intersection of Two Simple Polyhedra”(Computer Graphics Forum 3、1984年、219〜225ページ)に記載されるような従来の方法を使用して実行されても良い。
【0062】
また、サーフェスモデラ60は、例えば、Illingsworth及びHiltonの”Looking to build a model world: automatic construction of static object modelsusing computer vision”(Electronics and Communication Engineering Journal、1998年6月、103〜113ページ)や、Niemの”Automatic Reconstruction of 3D Objects Using a Mobile Camera”(Image and Vision Computing 17、1999年、125〜134ページ)に記載されるようなshape−from−silhouette処理を実行しても良い。これらの方法では、シルエット円錐形の共通部分を計算し、これを使用して複数のボクセル(直平行六面体)から構成される被写体オブジェクトの「ボリューム表現」を生成する。具体的には、3D空間を複数のボクセルに分割し、これらのボクセルを検査してどのボクセルがシルエット円錐形の共通部分により定義されるボリュームの内側に位置するかを判定する。共通部分のボリュームの内側のボクセルは、被写体オブジェクトを表現する複数のボクセルのボリュームを定義するために保持される。ボリューム表現は、結合されたポリゴンのメッシュを含むサーフェスモデルへと変換される。
【0063】
ステップS4−8での処理の結果、被写体オブジェクト210の表面を表現するポリゴンメッシュが生成される。ポリゴンメッシュ390は、上述のように入力画像の集合のうちの入力画像300から316を使用して生成されるので、集合中のこれらの入力画像に登録される(すなわち、入力画像300から316の位置及び向きに対するポリゴンメッシュの位置及び向きは既知である)。
【0064】
ステップS4−10において、テクスチャデータ発生器100は入力画像を処理し、ステップS4−8で生成された3Dコンピュータモデルに対するテクスチャデータを生成する。
【0065】
具体的に説明すると、本実施例では、テクスチャデータ発生器100は、ステップS4−8で生成された3Dコンピュータモデル中の各ポリゴンを選択し、選択されたポリゴンに最も近接して直面している入力画像「i」を見出す処理を従来の方法で実行する。すなわち、ポリゴンの法線をnt(ベクトル)とし、「i」番目の画像の撮影方向をvi(ベクトル)とするとき、値nt・vtが最大である入力画像が求められる。これは、選択された表面ポリゴンが最大投射面積を有する入力画像を識別する。
【0066】
選択された表面ポリゴンは識別された入力画像へと投影され、投影された多角系の頂点は画像テクスチャマップを定義するためのテクスチャ座標として使用される。
【0067】
テクスチャデータ発生器100がステップS4−10においてテクスチャデータの生成に使用するであろうその他の技術は、同時係属英国特許出願第0026331.9号(GB−A−2,369,541)及び第0026347.5号(GB−A−2,369,260)に記載されている。これらの内容は全て相互参照により本明細書に取り入れられる。
【0068】
上述の処理を実行した結果、モデル上にレンダリングすべき入力画像から画像データを定義するテクスチャ座標と共に、被写体オブジェクト210の表面形状をモデリングするポリゴンメッシュを含む3Dコンピュータモデルが生成される。
【0069】
しかし、図2及び図3において、被写体オブジェクト210の一部は記録された画像中で見えず、ステップS4−6からS4−10で処理すべく処理装置2へと入力される。具体的には、図2及び図3に示す例において、被写体オブジェクト210の基部は見えない。このため、被写体オブジェクト210の基部はポリゴンメッシュにより平らな面としてモデリングされることになるが、基部に対する入力画像からテクスチャデータは取得されないであろう。従って、例えば、図5の例示の画像316に示すような3Dコンピュータモデルの画像において、テクスチャデータなしにフラットシェーディング(「コンスタントシェーディング」とも呼ばれる)が基部に対して行なわれることになる。すなわち、単一の光の強度値を使用して基部の平らな面を表現する各ポリゴンがシェーディングされるので、基部を構成する各ポリゴンのシェーディングは一定である。
【0070】
このため、本実施例のステップS4−12からS4−16において、ステップS4−6からS4−10で処理された入力画像中で見えない被写体オブジェクト210の部分を示す少なくとも1枚の追加の入力画像が処理装置2に入力され、各追加の入力画像をステップS4−8で生成された3Dコンピュータ表面形状モデルに登録する(すなわち、追加の入力画像が正しい配置及び寸法で3Dコンピュータサーフェスモデルへと投影するように3Dコンピュータサーフェスモデル及び追加の入力画像の相対的な位置及び向きを判定する)処理が実行される。続いて、3Dコンピュータ表面形状モデルに対する追加のテクスチャデータが追加の画像の画像データから生成される。
【0071】
図6は、ポリゴンメッシュの基部に対するテクスチャデータを生成するための追加の画像の記録の一例を示す図である。
【0072】
図6において、被写体オブジェクト210は写真マット34上で撮影される必要がない。その代わりに、図6に示す例では、被写体オブジェクト210はカラーのシート紙320に横にして配置され、被写体オブジェクト210の基部はカメラ230に面する。カメラ230の位置及び向きは、被写体オブジェクト210の基部の所要のビューを提供するために、図2に示す位置及び向きから変更されている。
【0073】
図7は、ステップS4−8で生成されたポリゴンメッシュの基部に対するテクスチャデータを生成する際に使用される図6に示す構成を用いて記録された画像330の一例を示す図である。
【0074】
追加の入力画像を処理してポリゴンメッシュの基部に対するテクスチャデータを生成するためにステップS4−12からS4−16で実行される処理動作について詳細に説明する。
【0075】
ステップS4−12において、中央制御装置20は、表示制御装置110によりテクスチャデータ生成に使用すべき追加の画像が存在するか否かを尋ねるメッセージを表示装置4に表示させる。
【0076】
これに応じて、ユーザがユーザ入力装置6を使用してテクスチャデータ生成に使用すべき追加の画像が存在しないことを示す信号を入力する場合、処理はステップS4−18へと進む。
【0077】
これに対し、ユーザがユーザ入力装置6を使用してテクスチャデータ生成に使用すべき追加の画像が少なくとも1枚存在することを示す信号を入力する場合、処理はステップS4−14へと進む。ステップS4−14において、各追加の画像はステップS4−8で先に生成されたポリゴンメッシュに登録される。
【0078】
図8は、ポリゴンメッシュに追加の画像を登録するためにステップS4−14で実行される処理動作を示す図である。
【0079】
図8のステップS8−2において、中央制御装置20は、表示制御装置110によりテクスチャデータ生成のために処理すべき各追加の画像を定義する画像データを入力するようユーザに対して要求するメッセージを表示装置4に表示させる。
【0080】
ステップS8−4において、ステップS8−2での要求に応答してユーザが入力した画像データが、入力データインタフェース40の制御下でメモリ24に格納される。
【0081】
ステップS8−6において、中央制御装置20は、表示制御装置110により静止の背景画像として次の追加の画像を表示装置4に表示させる(ステップS8−6が初めて実行される場合、これは最初の追加の画像である)。このため、図7に示す画像330が背景画像として表示装置4に表示される。
【0082】
ステップS8−8において、レンダラ70は仮想カメラの固有のパラメータ(焦点距離など)の値をステップS4−4で格納された値と同じになるように設定し、所定の仮想カメラビュー位置/方向に従ってステップS4−8で生成され、ステップS4−10で生成されたテクスチャデータを用いてレンダリングされたポリゴンメッシュの画像を定義する画像データを生成する。表示制御装置110は、表示装置4を制御してステップS8−6で表示された背景画像の上に重なるように、生成されたテクスチャマッピングされたポリゴンメッシュの画像を表示させる。本実施例では、テクスチャマッピングされたポリゴンメッシュは、背景画像が透過して見えるように半透明の形態で表示される。
【0083】
ポリゴンメッシュの半透明表示を達成するために、本実施例では、ポリゴンメッシュは背景画像上にレンダリングされ、メッシュが投影する(すなわち、各画素が少なくとも部分的にメッシュの内側にある)背景画像中の各画素に対して変更された値が計算される。この計算は変更すべき各画素に対して、背景画像中の画素色成分値(R、G、B)の各々とレンダリングされたポリゴンメッシュ中の画素の対応する画素色成分値(R、G、B)の各々の平均値を取ることによって、行われるものである。すなわち、背景画像中の画素の赤色値とレンダリングされたポリゴンメッシュ画像中の対応する画素の赤色値の平均が計算され、表示すべき画素に対する複合の赤色値が生成される。青色値及び緑色値に対しても同様の処理が行なわれる。投影されるポリゴンメッシュの外側の各画素に関して、背景画像中の画素の値が保持される。このように、レンダラ70により生成された画像中のポリゴンメッシュを包囲する背景は背景画像に影響を与えない。(代替例では、背景画像中の全ての画素は、それがポリゴンメッシュの内側にあるか、あるいは、外側にあるかに関わらず変更される可能性があり、その結果、ユーザに対して表示される画像中の各画素値は、背景画像からの画素値とレンダラ70により生成されたレンダリング済の画像における画素値の平均となる。)
ステップS8−8で実行された処理の結果の一例を図9に示す。図9はテクスチャマッピングされたポリゴンメッシュ350の画像データが背景画像データ360上に半透明の形態で重なって表示される画像340を示す図である。
【0084】
このように、テクスチャマッピングされたポリゴンメッシュの画像データを半透明の形態で表示することによって、ユーザは背景画像及びテクスチャマッピングされたポリゴンメッシュの双方を見ることができる。
【0085】
ステップS8−10において、仮想カメラ制御装置80は、ユーザがユーザ入力装置6を使用して入力した命令に従ってレンダラ70がポリゴンメッシュの画像を生成するのに使用する仮想カメラをポリゴンメッシュに対する新規の位置及び向きへと移動させる。
【0086】
ステップS8−12において、仮想カメラ及び3Dポリゴンメッシュの相対的な位置及び向きが変更されるのと同時に、レンダラ70は仮想カメラからのレンダリング済のポリゴンメッシュを示す更新された画像データを生成し、更新された画像データは半透明の形態で背景画像に重なって表示装置4に表示される。ポリゴンメッシュの基部にはフラットシェーディングが行なわれ、半透明の形態で表示される。
【0087】
ステップS8−14において、仮想カメラ制御装置80は、仮想カメラ及び3Dポリゴンメッシュの相対的な回転及び並進を変更するために更なる入力信号がユーザから受信されたか否かを判定する。仮想カメラ及びポリゴンメッシュの相対的な回転及び並進が正確である、すなわち、仮想カメラが追加の画像中で示される被写体オブジェクト210のビューとほぼ同じ3Dポリゴンメッシュのビューを示す位置及び向きまで移動したことを示す信号をユーザがユーザ入力装置6を使用して入力するまで、ステップS8−10からS8−14を繰り返す。
【0088】
このため、ステップS8−12で表示装置4に表示された画像400から450を示す図10aから図10fにおいて、ユーザは表示装置4に表示されたテクスチャマッピングされたポリゴンメッシュの画像350を移動させて静止の背景画像360中の被写体オブジェクト210の画像に正確に合わせるようにポリゴンメッシュに対して仮想カメラを移動させる(図10aから図10d)ことができると共に、レンダリング済のポリゴンメッシュの画像350のサイズが背景画像中の被写体オブジェクト210のサイズと同じであるように画像350のサイズを変更する(図10e及び図10f)ことができる。このように、ユーザは実際のカメラ230により記録された被写体オブジェクト210に対応する仮想カメラからのポリゴンメッシュのビューを生成することができる。テクスチャマッピングされたポリゴンメッシュの画像350を半透明の形態で背景画像に重ねて表示することにより、ユーザはこの登録プロセスを正確に実行することができる。
【0089】
再度図8を参照する。ステップS8−14においてユーザから登録を完了するように指示する命令が受信されると、処理はステップS8−16へと進む。ステップS8−16において、ステップS8−12で最終的な画像(すなわち、テクスチャマッピングされたポリゴンメッシュ350が背景画像データ360の被写体オブジェクト210に登録されている画像)を生成するのに使用される仮想カメラの位置及び向きが、ステップS8−6で選択された追加の画像に対する位置及び向きとして格納される。このため、格納されたデータはステップS8−8で生成されたポリゴンメッシュに対する追加の画像の位置及び向きを定義する。加えて、ステップS4−4で先に格納された固有のカメラパラメータ(焦点距離など)が追加の画像に対する固有のパラメータとして格納される。
【0090】
ステップS8−18において、中央制御装置20はテクスチャデータを生成するための処理すべき更なる追加の画像が存在するか否かを判定する。以上説明したように各追加の画像を処理し終わるまで、ステップS8−6からS8−18を繰り返す。
【0091】
図4に戻ると、ステップS4−16において、テクスチャデータ発生器100は、ステップS4−14でポリゴンメッシュに登録された各追加の画像からの画像データを考慮してステップS4−8で生成されたポリゴンメッシュに対するテクスチャデータを再度生成する。本実施例では、ステップS4−16でのテクスチャデータ生成は、上述のステップS4−10でのテクスチャデータ生成と同様に実行される。
【0092】
ステップS4−16での処理の結果、ステップS4−6からS4−10で処理された入力画像中では見えないが、ステップS4−12からS4−16で処理された少なくとも1枚の追加の画像中では見えるポリゴンメッシュの各表面に対してテクスチャデータが生成される。
【0093】
従って、図11を参照して説明すると、ポリゴンメッシュの基部が見えるビュー位置/方向からレンダリングされる画像460において、基部は追加の入力画像330から得られるテクスチャデータを使用して正確にテクスチャマッピングされることになる。
【0094】
再び図4に戻ると、ステップS4−18において、出力データインタフェース120は、ステップS4−8で生成された3Dポリゴンメッシュを定義するデータとステップS4−10及びS4−16で生成されたテクスチャデータとを出力する。出力されるテクスチャデータは、メッシュ中の各ポリゴンについて計算された入力画像中のテクスチャ座標を定義するデータと共に、テクスチャデータの為に使用される入力画像の各々を定義するデータを含んでも良い。また、テクスチャデータとして使用される画素データは入力画像から抽出され、出力されても良い。
【0095】
データは、例えば、ディスク122などの記憶装置上に格納されるデータ又は信号124(図1)として処理装置2から出力される。これに加えて又はその代わりに、レンダラ70は、仮想カメラ制御装置80により定義されると共にユーザにより制御される仮想カメラに従って、ステップS4−8で生成され、ステップS4−10で生成されたテクスチャデータを用いてレンダリングされた3Dコンピュータモデルの画像を定義する画像データを生成しても良い。画像は表示装置4に表示されるであろう。
【0096】
変更例及び変形例
上述の実施例には特許請求の範囲の趣旨の範囲内で様々な変更及び変形を行なうことができる。
【0097】
例えば、上述の実施例では、各入力画像は被写体オブジェクト210の「静止」画像である。しかし、入力画像はビデオカメラからの画像データのフレームであっても良い。
【0098】
上述の実施例のステップS4−4では、ユーザにより入力されるカメラの固有のパラメータを定義するデータが格納される。しかし、その代わりに、固有のカメラパラメータのうちの1つ以上に対してデフォルト値が想定されても良いし、また、例えば、Hartleyの「Euclidean Reconstruction From Uncalibrated Views」(Applications of Invariance in Computer Vision、Mundy, Zisserman andForsyth編集、237〜256ページ、Azores、1993年)に記載されるように従来の方法で固有のパラメータ値を計算する処理が実行されても良い。
【0099】
上述の実施例では、3Dコンピュータ表面形状モデル及び最初のテクスチャデータを生成するためにステップS4−6からS4−10で処理された入力画像の全ては、写真マット34上の被写体オブジェクト210の画像であり、カメラ計算器50による処理は、画像中の写真マット34上の校正パターンからの特徴を校正パターンを定義する格納データと照合する処理である。このように、各入力画像の位置及び向きは、校正パターンの基準の位置及び向きに対して計算される。しかし、その代わりに、カメラ計算器50は画像間(画像・格納パターン間の代わりに)で校正パターンの特徴を照合する処理を実行し、入力画像の相対的な位置及び向きを判定しても良い。例えば、同時係属PCT出願GB00/04469(WO−A−01/39124)において図53及び図54を参照して説明したような技術が使用されても良い。あるいは、ステップS4−6からS4−10で処理された入力画像は、写真マットなしの被写体オブジェクト210単独の画像であっても良く、カメラ計算器50は、ステップS4−6において、例えば、EP−A−0898245に記載されるように被写体オブジェクト210自体の特徴を照合(校正パターン中の特徴を照合するのではない)することによって入力画像の相対的な位置及び向きを計算する処理を実行しても良い。加えて、カメラ計算器50は、ステップS4−6において、ユーザにより識別される(例えば、異なる画像中の同じ特徴の位置を識別するために指示/クリックすることによって)画像中の整合する特徴を使用して入力画像の相対的な位置及び向きを計算しても良い。
【0100】
上述の実施例のステップS4−4で格納された入力画像は、位置及びビュー方向が定められた1台以上のカメラを用いて記録される被写体オブジェクト210の画像であっても良い。この場合、入力画像の撮影位置/向きは既知であり、ステップS4−4で格納されても良い。カメラ計算器50及びステップS4−6での処理は省略されるであろう。
【0101】
上述の実施例では、サーフェスモデラ60は、各画像の画像データを分割してシルエットを生成し、結果として生じたシルエットを処理することによって被写体オブジェクト210の3Dコンピュータ表面形状モデルを生成する。しかし、その代わりに、サーフェスモデラ60はその他の処理技術を使用して入力画像から3Dコンピュータ表面形状モデルを生成しても良い。例えば、EP−A−0898245に記載される技術が使用されても良い。
【0102】
上述の実施例では、ステップS4−12及びS4−14が実行される前のステップS4−10において、3Dコンピュータ表面形状モデルに対して最初のテクスチャデータが生成される。このように、ステップS4−14が実行されるときにステップS8−8及びS8−12で生成・表示される3Dコンピュータモデルの画像は、生成されたテクスチャデータがレンダリングされるポリゴンメッシュの画像であっても良い。また、ステップS4−10を省略し、全てのテクスチャデータ生成をステップS4−16で実行しても良い。この場合、ステップS8−8及びS8−12で生成・表示されるポリゴンメッシュの画像は、フラットシェーディング(コンスタントシェーディングとも呼ばれる)を行なったポリゴンメッシュの画像であっても良い。
【0103】
上述の実施例では、ステップS8−2において、テクスチャデータ生成に使用する各追加の画像に対する画像データを入力するようユーザに対して要求する処理が実行され、ステップS8−4において、入力画像データが格納される。しかし、この場合、ユーザがステップS8−2での要求に応答して追加の画像に対する画像データを入力する間、処理装置2による処理が中断されることになる。このため、その代わりに、処理装置2による処理の開始時にステップS4−2及びS4−4の一部としてステップS8−2及びS8−4が実行されても良い。このように、テクスチャデータ生成に使用する各追加の画像のみが開始時に入力され、テクスチャデータ専用の画像としてユーザにより識別される。この識別に基づいて、処理装置2はステップS4−6からS4−10において、3Dコンピュータ表面形状モデルを生成し、これらの画像の処理を実行するのに使用する画像を識別すると共に、ステップS4−12において、テクスチャデータ生成用の追加の画像を識別する処理を実行するであろう。識別されたテクスチャデータ画像はステップS4−14及びS4−16において処理される。
【0104】
上述の実施例では、追加の画像をポリゴンメッシュに登録する処理中にステップS8−8及びS8−12(図8)で生成・表示される画像データ中の画素値は、追加の画像における画素値とレンダリング済のポリゴンメッシュ画像中の対応する画素の値の平均値を取ることによって生成される。このように、ポリゴンメッシュは追加の画像上に半透明の形態で重なるように表示される。しかし、追加の画像からの画素値及びレンダリング済のポリゴンメッシュからの画素値は、他の方法で結合されても良い。加えて、ポリゴンメッシュは結果の画像中で半透明の形態で表示される必要はなく、画像を生成してユーザがレンダリング済のポリゴンメッシュ及び追加の画像中の被写体オブジェクトの相対的な配置を見ることができるように画像を表示するだけで良い。例えば、少なくとも部分的にレンダリング済のポリゴンメッシュ内にある画像中の各画素の値は、追加の画像中の画素の値からレンダリング済のポリゴンメッシュ画像中の画素の値を引き(又はその逆)、結果の値の絶対値を取ることによって計算されても良い。更なる代替例では、画像データはステップS8−8及びS8−12において、ユーザに対して表示すべきであり、少なくとも部分的にレンダリング済のポリゴンメッシュ内にある画像中の各画素の各色成分値(R、G、B)に対してビットごとの2値論理演算(排他的論理和演算など)を実行することによって生成されても良い。このとき、論理演算に対する入力は、レンダリング済のポリゴンメッシュ中の画素の色値(R、G、又はBであり、そのとき処理中の色成分による)を定義するビット(又は、所定数の最上位ビット)及び背景画像中の対応する画素の色値(R、G、又はB)を定義するビット(又は、同じ所定数の最上位ビット)を含む。各色成分(R、G、B)に対して論理演算がそれぞれ実行され、表示すべき画素の色成分に対する値が得られる。このため、例えば、論理演算がXOR演算の場合、背景画像中の画素の色成分がレンダリング済のポリゴンメッシュ中の画素の色成分と一致すればするほど、画素はより黒っぽく表示される。ステップS8−8及びS8−12において、このように結合画像データを生成することによって、ユーザは仮想カメラを制御し、レンダリング済のポリゴンメッシュ内の表示画像中の黒い画素の数を最大限に増加することができる。画素値を結合して結合画像データを生成する他の方法も使用可能であることは言うまでもない。
【0105】
上述の実施例では、ステップS8−8及びS8−16において、仮想カメラの固有のパラメータ(焦点距離など)の値が定義される。この値は、ステップS4−4でユーザによって入力され、格納された固有のカメラパラメータ値に対応する。これは、テクスチャデータ生成に使用すべき各追加の画像を記録するのに使用されるカメラが、ステップS4−4で格納され、ステップS4−6及びS4−8で処理された各画像を記録して3Dポリゴンメッシュを生成するのに使用されるのと同じカメラであることを想定するものである。しかし、カメラが別のものである可能性があるので、ステップS8−2において各追加の画像を記録したカメラの固有のパラメータを定義するデータを入力するようユーザに対して要求し、ステップS8−4においてこのパラメータを格納し、ステップS8−8及びS8−16において仮想カメラの固有のパラメータとして使用しても良い。あるいは、ステップS8−4で格納された各追加の画像に対する画像データを処理して、例えば、Hartleyの「Euclidean Reconstruction From Uncalibrated Views」(Applications of Invariance in Computer Vision、Mundy, Zisserman and Forsyth編集、237〜256ページ、Azores、1993年)に記載されるように従来の方法で固有のパラメータを計算しても良い。
【0106】
上述の実施例では、ステップS4−14及びS4−16において、被写体オブジェクト210の基部を示す追加の画像316が入力・処理されて、テクスチャデータが生成される例を説明した。しかし、これに加えて又はその代わりに、ステップS4−14及びS4−16において、被写体オブジェクト210の他の部分の1枚以上の追加の画像が入力・処理されても良い。例えば、詳細なテクスチャデータが必要とされる被写体オブジェクト210の一部のクローズアップ画像が入力・処理されても良い。ステップS4−14及びS4−16において、被写体オブジェクト210の同じ部分(基部又はその他の部分)を示す2枚以上の追加の画像が入力・処理されても良いことは言うまでもない。
【0107】
上述の実施例では、処理は、プログラミング命令により定義される処理ルーチンを使用してプログラム可能なコンピュータにより実行される。しかし、処理の一部又は全部はハードウェアを使用して実行可能であることは言うまでもない。
【図面の簡単な説明】
【図1】本発明の実施例の構成要素を、プログラミング命令によりプログラムされたときに処理装置の構成要素が構成されるものと考えられる概念上の機能処理ユニットと共に概略的に示す図である。
【図2】被写体オブジェクトの3Dコンピュータ表面形状モデルを生成する際に使用すべき被写体オブジェクトの画像の記録を示す図である。
【図3】図1の処理装置に入力され、被写体オブジェクトの3Dコンピュータ表面形状モデルを生成するように処理される被写体オブジェクトの画像の例を示す図である。
【図4】図1の処理装置が入力データを処理するために実行する処理動作を示す図である。
【図5】モデルの基部のフラットシェーディングを例証するために図4のステップS4−8及びS4−10で生成される3Dコンピュータモデルの画像を示す図である。
【図6】3Dコンピュータ表面形状モデルの基部に対するテクスチャデータを生成する際に使用すべき被写体オブジェクトの画像の記録を示す図である。
【図7】図1の処理装置に入力され、3Dコンピュータ表面形状モデルの基部に対するテクスチャデータを生成するように処理される被写体オブジェクトの画像の一例を示す図である。
【図8】図4のステップS4−14で実行される処理動作を示す図である。
【図9】図8のステップS8−8で生成・表示される重なる画像の一例を示す図である。
【図10a】、
【図10b】、
【図10c】、
【図10d】、
【図10e】、
【図10f】ユーザが仮想カメラを回転・並進させて3Dコンピュータ表面形状モデルをテクスチャデータ生成用の追加の画像に登録するときに図8のステップS8−10及びS8−12で生成・表示される重なる画像の例を示す図である。
【図11】図4のステップS4−16でモデルの基部に対して生成されるテクスチャデータを例証するために3Dコンピュータモデルの画像を示す図である。
【発明の属する技術分野】
本発明は、オブジェクトの3次元(3D)コンピュータモデル及びそれに対するテクスチャデータを生成するためのオブジェクトの画像を定義する画像データのコンピュータ処理に関する。
【0002】
【従来の技術】
オブジェクトの3Dコンピュータモデルを生成する方法としては、数多くの方法が知られている。
【0003】
特に、モデリング対象のオブジェクトの画像がオブジェクトに対して夫々異なる位置及び向きで記録される方法が知られている。この方法が既知でない場合のために説明すると、記録された画像がそれぞれ処理されて記録された位置及び向きが計算される。入力画像と位置及び向きとを使用してオブジェクトの表面形状の3Dコンピュータモデルが生成される。続いて、入力画像データから表面形状コンピュータモデルに対するテクスチャデータが生成される。
【0004】
この既知の方法のうちの第1の種類の方法では、モデリング対象の被写体オブジェクトは既知の特徴のパターンを有する校正オブジェクトと共に配置され、校正パターンと共に被写体オブジェクトを示す画像が夫々異なる位置及び向きから記録される。記録された画像はそれぞれ処理され、校正オブジェクトのパターンの各特徴の画像中の位置に基づいて記録された位置及び向きが計算される。被写体オブジェクト及び校正パターンは、画像の記録中相互に対して静止状態のままであるので、被写体オブジェクトに対する入力画像の位置及び向きが計算の結果明らかになり、画像から被写体オブジェクトの3Dコンピュータモデルを生成することができる。この種の技術の例は、Niemの「Automatic Reconstruc tion of3D Objects Using A Mobile Camera」(Image and Vision Computing 17(1999年)125〜134ページ)、Gortler他の「The Lumigraph」(Computer Graphics Proceedings, Annual Conference Series、1996年、ACM−0−89791−764−4/96/008)、JP−A−9−170914、及び本出願人の同時係属PCT特許出願GB00/04469(WO−A−01/39124)(これらの内容は全て相互参照により本明細書に取り入れられている)などに記載されている。そして、結果として得られた3Dコンピュータモデルに対するテクスチャデータは、その画像から生成される。
【0005】
第2の種類の既知の方法では、モデリング対象の被写体オブジェクトは校正オブジェクトなしに単独で撮影される。続いて、異なる入力画像間でオブジェクト上の特徴を照合し、夫々の画像で一致する特徴の夫々の位置によって、各画像の相対的な位置及び向きを計算することによって各画像の位置及び向きが計算される。このような技術の例は、例えば、EP−A−0898245に記載されている。
【0006】
第3の種類の既知の方法では、被写体オブジェクトが載置される表面に対して固定の位置及び向きに1台以上のカメラが取り付けられ(カメラにより記録される画像の位置及び向きを計算する必要がないように)、被写体オブジェクトの画像がカメラにより記録される。オブジェクトは、定められた量だけ回転させてその様々な部分の画像を記録できるようにターンテーブル上に配置されても良い。
【0007】
しかし、これらの既知の方法の全てには、最初の画像のうちの少なくとも1枚の画像中で見える被写体オブジェクトの部分に対してしか、3Dコンピュータサーフェスモデルに対する正確なテクスチャデータを生成することができないという問題がある。
【0008】
第1の種類の技術(被写体オブジェクトが校正パターンと共に撮影される)の場合には更なる問題が生じる。これは、画像の記録中に校正パターンに対して被写体オブジェクトを移動させることができないためである(移動させることが可能であると、被写体オブジェクトの位置及び向きは校正パターンに対して一定でなくなり、画像の計算された位置及び向きに対してその位置及び向きが分からなくなり、被写体オブジェクトの3Dコンピュータモデルを生成することができない)。従って、被写体オブジェクトが撮影用の校正オブジェクト上に配置される通常の場合では、被写体オブジェクトの基部が校正オブジェクト上にあるために基部上の特徴は撮影することができず、画像データから得られるテクスチャデータ中で再現することができない。
【0009】
第3の種類の技術に関しても同様の問題が生じる。これは、被写体オブジェクトを載置される表面に対して移動させることができないためである。移動させることが可能であると、固定されたカメラの位置及び向きの調整が変化することになる。このため、被写体オブジェクトの基部上の特徴は撮影することができず、画像データから得られるテクスチャデータ中で再現することができない。
【0010】
第2の種類の技術の場合、画像の位置及び向きが画像中の整合する被写体オブジェクトの特徴に基づいて相互に対して計算されるために問題が生じる。従って、各画像は被写体オブジェクト上の少なくとも一部の整合する特徴が画像中で見えると共に少なくとも1枚の更に別の画像中で見えるように記録される必要がある。この必要条件により、画像を撮影することが可能な位置及び向きが厳格に制限される可能性がある。
【0011】
【発明が解決しようとする課題】
本発明は、上述の問題点のうちの少なくとも1つに対処することを目的とする。
【0012】
【課題を解決するための手段】
本発明によると、夫々異なるビュー位置及びビュー方向から記録される被写体オブジェクトの画像を処理することによって、被写体オブジェクトの3Dコンピュータモデルが生成される。画像を登録するために画像の相対的な撮影位置及び撮影方向(既知でない場合)が計算され、画像に対するコンピュータモデルの位置及び向きが既知であるように、被写体オブジェクトの表面形状の3Dコンピュータモデルが登録された画像を使用して生成される。3Dコンピュータ表面形状モデルを生成する処理においては使用されておらず、テクスチャデータを生成すべき被写体オブジェクトの部分(被写体オブジェクトの基部など)を示す被写体オブジェクトの更なる画像が、3Dコンピュータ表面形状モデルに登録される。登録は、更なる画像をユーザに対して表示し、ユーザが制御することによって3Dコンピュータ表面形状モデルを見ることができるようになる仮想カメラを提供することによって実行される。静止状態を維持し、ユーザが移動させる仮想カメラに従って3Dコンピュータモデルの画像が生成され、重なって表示されるように更なる画像は表示される。3Dコンピュータモデルの画像は、ユーザが下の静止画像中で3Dコンピュータモデル及び被写体オブジェクトの配置を見ることができるような形態で表示される。これにより、ユーザには仮想カメラを移動させて表示された更なる画像中の被写体オブジェクトのビューに対応する3Dコンピュータモデルのビューを生成する機能が提供される。その後、仮想カメラの撮影パラメータが格納され、更なる画像の画像パラメータが定義される。このようにして、更なる画像は3Dコンピュータモデルに登録され、3Dコンピュータモデルに対するテクスチャデータが更なる画像及び少なくとも1枚の最初の画像からの画像データによって生成される。
【0013】
このように処理を実行することによって、被写体オブジェクトの画像を記録・処理し、3Dコンピュータ表面形状モデルを生成することができ、テクスチャデータを生成する際に使用する1枚以上の更なる画像を記録することができる。各更なる画像の記録は、3Dコンピュータ表面形状モデルを生成するための画像の記録に課される制約により制限されない。例えば、校正パターンが使用される場合、3Dコンピュータ表面形状モデルを生成するために使用する各画像は、校正パターンの十分な部分が見えるように記録されなければならないが、テクスチャデータ生成にのみ使用される各画像は、校正パターンを見せる必要はない。
【0014】
同様に、被写体オブジェクトが校正オブジェクトなしに撮影される場合、3Dコンピュータ表面形状モデルを生成するのに使用すべき各画像は、被写体オブジェクト上で十分な数の特徴を示すように記録されなければならない。この特徴は少なくとも1枚の他の画像中の特徴と照合することができるものである。しかし、テクスチャデータ生成のみに使用される各画像は、他の画像中の特徴と照合するための特徴を示す必要はない。
【0015】
各更なる画像を3Dコンピュータモデルに登録する方法により、正確で信頼性の高い登録方法が提供され、被写体オブジェクトを忠実に表現するテクスチャデータを生成できるようになる。
【0016】
3Dコンピュータモデルの画像及び更なる画像は、3Dコンピュータモデルの画像が更なる画像上に半透明の形態で重ねて表示されるように混合されても良い。これにより、ユーザは3Dコンピュータモデル及び下の更なる画像中の被写体オブジェクトの双方を見ることができる。
【0017】
代替の構成として、3Dコンピュータモデルの画像及び更なる画像は、3Dコンピュータモデルと更なる画像中の被写体オブジェクトとの間の配置が変化するにつれてユーザに対して表示される色が変化するように、ビットごとの論理演算に従って合成されても良い。
【0018】
3Dコンピュータモデルの画像及び更なる画像は、3Dコンピュータモデル及び更なる画像中の被写体オブジェクトの登録状態を示す表示画像をユーザに提供するのと同じ効果を達成するために、その他の方法で合成されても良い。
【0019】
また、本発明は、上述の処理を実行する際に使用する処理装置及び処理方法を提供する。
【0020】
また、本発明は、プログラム可能な処理装置を、上述の装置として、あるいは、上述の方法を実行するように動作可能に構成するための命令を含む記憶装置又は信号などとして具現化されたコンピュータプログラム製品を提供する。
【0021】
【発明の実施の形態】
添付の図面を参照して、単なる一例としての本発明の各実施例を説明する。同じ符号は同じ部分を示すのに使用される。
【0022】
図1を参照すると、本発明の一実施例は、従来のように1つ以上のプロセッサ、メモリ、及びグラフィックスカードなどを含むパーソナルコンピュータ(PC)のような処理装置2と、従来型のパーソナルコンピュータモニタのような表示装置4と、キーボード及びマウスなどのユーザ入力装置6と、プリンタ8と、WACOM製造のPL400などの、制御可能画素を有するフラットパネルから構成される表示パネル10とを具備する。
【0023】
処理装置2は、例えば、ディスク12などのデータ記憶媒体に格納されたデータとして及び/又は遠隔データベース等からインターネットなどの通信ネットワーク(不図示)を介する伝送あるいは空気を介する無線伝送により処理装置2に入力され且つ/又はキーボードなどのユーザ入力装置6を介してユーザにより入力される信号14として入力されるプログラミング命令に従って動作するようにプログラムされる。
【0024】
以下に更に詳細に説明するが、これらのプログラミング命令は、夫々異なる位置と向きで記録された被写体オブジェクトの複数の画像を定義する入力データを処理することによって被写体オブジェクトの表面形状の3Dコンピュータモデルを定義するデータを生成すると共に、被写体オブジェクトの少なくとも1枚の更なる画像の画像データから3Dコンピュータモデルに対するテクスチャデータを生成するように処理装置2を構成させるための命令である。この更なる画像自体は3Dコンピュータモデルを生成するのに使用されていない。更なる画像はサーフェスモデルを生成するのに使用される画像中で見えない被写体オブジェクトの部分を示しても良く、その結果、これらの部分に対して被写体オブジェクトの表面を忠実に表現するテクスチャデータが生成されるであろう。
【0025】
特に、プログラミング命令は、画像の第1の集合に対する画像データを処理して画像が記録された相対的な位置及び向きを計算し(それにより、第1の登録済の画像の集合を生成する)、第1の集合から登録済の画像を使用して被写体オブジェクトの表面形状の3Dコンピュータモデルを定義するデータを生成し、3Dコンピュータモデルを被写体オブジェクトの1つ以上の更なる画像に登録し、第1の集合の画像中で見える特徴の他に更なる画像中でのみ見える特徴を表現するテクスチャデータを含む3Dコンピュータモデルに対するテクスチャデータを生成するよう動作可能に処理装置2を構成させるための命令である。
【0026】
本実施例では、被写体オブジェクトは、既知の特徴パターンを有する校正オブジェクト(本実施例においては2次元写真マット)の上で撮影される。3Dコンピュータサーフェスモデルを生成するのに用いられる入力画像群は、固定の構成において(すなわち、被写体オブジェクトの校正オブジェクトに対する位置及び向きは各画像について同じ)被写体オブジェクト及び校正オブジェクトの夫々に異なる位置及び向きで記録される画像により構成されている。入力画像が記録されたときの位置及び向きは、画像中の校正オブジェクトパターンの特徴の位置を検出することにより計算される。
【0027】
以下で詳細に説明するように、プログラミング命令は、更なる画像を静止の背景画像として表示し、仮想カメラを制御することによってユーザが3Dコンピュータモデルを見ることができるようにする3Dブラウザを提供し、ユーザが仮想カメラを制御すると、半透明の形態で背景画像に重なる仮想カメラからの3Dコンピュータモデルの画像をリアルタイムで表示し、仮想カメラからの3Dコンピュータモデルの表示が表示された更なる画像と十分な程度に同じであることを示す信号をユーザが入力すると仮想カメラのビューパラメータを更なる画像のビューパラメータとして格納することによって、更なる画像の各々に3Dコンピュータモデルを登録するよう動作可能に処理装置2を構成させるための命令である。
【0028】
処理装置2は、プログラミング命令によりプログラミングされたとき、処理動作を実行するための幾つかの機能ユニットとして構成されたと考えることができる。そのような機能ユニットの例及びそれらの相互接続関係を図1に示す。しかし、図1に示すユニット及び相互接続は概念上のものであり、理解を助ける目的のために一例として示されているにすぎない。従って、それらが、処理装置2のプロセッサ、メモリなどが実際に構成するユニットや接続を必ずしも表してはいない。
【0029】
図1に示す機能ユニットを説明すると、中央制御装置20はユーザ入力装置6からの入力を処理すると共に、その他の機能ユニットの制御及び処理を提供するように構成される。
【0030】
メモリ24は、処理装置に対する動作命令を格納し、処理装置に入力されるデータを格納し、更に、中央制御装置20及びその他の機能ユニットにより生成されるデータを格納するべく設けられる。
【0031】
マット発生器30は、紙などの記録媒体上に校正パターンをプリントしてプリント済の「写真マット」34を形成するため、あるいは、表示パネル10に校正パターンを表示して写真マットを表示するためにプリンタ8又は表示パネル10を制御する制御信号を発生するように構成される。以下に更に詳細に説明するが、写真マットは所定の特徴の校正パターンを有し、3Dコンピュータモデルを生成すべき被写体オブジェクトは、プリント済写真マット34又は校正パターンが表示される表示パネル10上に配置される。その後、3Dコンピュータ表面形状モデルの生成に使用するために、被写体オブジェクトの画像及び校正パターンが記録され、処理装置2に入力される。これらの画像は、被写体オブジェクト及び校正パターンに対して夫々異なる位置及び向きから記録される画像であり、被写体オブジェクトの校正パターンに対する位置及び向きは3Dコンピュータ表面形状モデルを生成するのに使用される全ての画像に対して同じである。
【0032】
マット発生器30は、処理装置2が入力画像記録時の位置及び向きを計算する際に使用するための、写真マット上にプリント又は表示された特徴の校正パターンを定義するデータを格納するように構成される。すなわち、本実施例では、マット発生器30は、特徴パターンに対する座標系(実際には校正パターンの基準の位置及び向きを定義する)と共に特徴パターンを定義するデータを格納するように構成されており、処理装置2は、入力画像が記録されたときの位置及び向きを定義済み座標系において(従って、基準の位置及び向きに対して)計算するように構成されている。このように、入力画像の記録位置及び向きが相互に対して計算され、登録済の入力画像の集合が生成される。
【0033】
本実施例では、写真マット上の校正パターンは、例えば、PCT特許出願GB00/04469(WO−A−01/39124)(これらの内容は全て相互参照により本明細書に取り入れられている)に記載されているような特徴の空間クラスタ、あるいは、例えば、JP−A−9−170914に記載されているような、各々の対応するドットが一意のものであるように各ドットが異なる色相/輝度の組み合わせを有する着色ドットのパターン、Niemの「Automatic Reconstruction of 3D Objects Using a Mobile Camera」(Image and Vision Computing 17、1999年、125〜134ページ)に記載されているような、各象限で複数の同心円を寸法がわかっている半径方向線分及び位置マーカで結ぶことにより形成されるパターン、又はGortler他の「The Lumigraph」(Computer Graphics Proceedings, Annual Conference Series、1996年、ACM−0−89791−764−4/96/008に記載されているような、それぞれ異なる直径を有する複数の同心リングから構成されるパターンなどの任意の既知の特徴パターンを含む。
【0034】
本実施例の以下の説明においては、プリント済写真マット34を生成するために、校正パターンはプリンタ8により記録媒体(本実施例では、シート紙)にプリントされるものと想定するが、先に述べたように、表示パネル10に校正パターンを表示することも可能であろう。
【0035】
入力データインタフェース40は、処理装置2内への入力データの格納を制御するように構成される。データは、例えば、ディスク42などの記憶装置に格納されるデータとして、処理装置2へ送信される信号44として、又はユーザ入力装置6を使用して処理装置2に入力されても良い。本実施例では、入力データは夫々異なる位置及び向きで記録された写真マット34上の被写体オブジェクトの複数の画像を定義する。入力画像は、被写体オブジェクトの表面形状の3Dコンピュータモデルを生成するように処理すべき画像の集合を含む。校正パターンに対する被写体オブジェクトの位置及び向きは集合中の全ての画像に対して同じである。また、入力画像データは、3Dコンピュータモデル自体を生成するように処理されるものではなく、3Dコンピュータモデルに対するテクスチャデータを生成する為に処理されるための被写体オブジェクトの少なくとも1枚の更なる画像(校正パターンを示しても、示さなくても良い)に対する画像データを含む。加えて、本実施例における入力データは、入力画像を記録したカメラの固有のパラメータ、すなわち、縦横比、焦点距離、主点(光軸が撮影平面と交わる点)、1次半径方向歪み係数及びスキュー角(画素格子の軸が厳密には直交していないことがありえるため、それらの軸が成す角度)を定義するデータも含む。
【0036】
入力画像を定義する入力データは、例えば、画像を記録したデジタルカメラから画素データをダウンロードするか、あるいは、スキャナ(不図示)を使用して写真を走査することにより生成されても良い。
【0037】
固有のカメラパラメータを定義する入力データは、ユーザがユーザ入力装置6を使用することにより入力されても良い。
【0038】
カメラ計算器50は、3Dコンピュータ表面形状モデルを生成するのに使用される集合中の各入力画像を処理して、写真マット34の校正パターンの特徴の画像中の位置を検出すると共に、画像が記録されたときの写真マット34に対するカメラの位置及び向きを計算するように構成される。このように、各入力画像の位置及び向きは同じ校正パターンに対して計算されるので、集合中の入力画像の位置及び向きは共通の座標系において定義され、入力画像の登録済の集合が生成される。
【0039】
サーフェスモデラ60は、3Dコンピュータ表面形状モデルを生成するのに使用される集合中の各画像の画像データと集合中の各画像に対してカメラ計算器50により計算されるカメラの位置及び向きとを処理して、被写体オブジェクトの表面を表現するポリゴンメッシュを含む3Dコンピュータモデルを生成するように構成される。
【0040】
レンダラ70は、仮想カメラに従ってサーフェスモデラ60により生成される3Dコンピュータサーフェスモデルの画像を定義するデータを生成するように構成される。レンダラ70により実行される処理は従来のレンダリング処理であり、処理装置2により生成されるテクスチャデータを3Dコンピュータサーフェスモデル上にレンダリングすることを含む。
【0041】
仮想カメラ制御装置80は、ユーザ入力装置6を使用してユーザが入力した命令に応答して、レンダラ70により使用される仮想カメラを制御し、3Dコンピュータモデルの画像を生成する。
【0042】
テクスチャデータ発生器100は、サーフェスモデラ60により生成される3Dコンピュータモデルへとレンダラ70によりレンダリングすべき入力画像からテクスチャデータを生成するように構成される。
【0043】
表示制御装置110は、処理装置2による処理中に表示装置4を制御してユーザに対し画像及び命令を表示するように構成される。加えて、表示制御装置110は、表示装置4を制御してテクスチャデータ発生器100により生成されるテクスチャデータを用いてレンダリングされる3Dコンピュータサーフェスモデルの各画像を示すレンダラ70により生成される画像データを表示するように構成される。
【0044】
出力データインタフェース120は、処理装置2からのデータの出力を制御するように構成される。本実施例では、出力データは、サーフェスモデラ70により生成される3Dコンピュータ表面形状モデルとテクスチャデータ発生器100により生成されるテクスチャデータとを定義する。出力データインタフェース120は、例えば、ディスク122などの記憶装置上のデータ及び/又は信号124としてデータを出力するように構成される。出力データの記録は、直接に、あるいは、記録装置(不図示)を使用して間接的に出力信号124を記録することによって行なわれても良い。
【0045】
図2を参照して、3Dコンピュータ表面形状モデルを生成するために、処理装置2によって処理される入力画像の集合の記録について説明する。
【0046】
プリント済写真マット34が表面200に配置されており、3Dコンピュータモデルを生成すべき被写体オブジェクト210は、被写体オブジェクト210がマット上の校正パターンを構成する特徴により包囲されるように、写真マット34のほぼ中央に配置される。
【0047】
被写体オブジェクト210の夫々異なる部分を示すため、被写体オブジェクト210及び写真マット34の画像はデジタルカメラ230を使用して夫々異なる位置と向きで記録される。本実施例では、カメラ230により記録される画像を定義するデータは、ワイヤ232を介して信号44として処理装置2に入力される。
【0048】
具体的に説明すると、本実施例では、カメラ230の位置は固定されたままであり、被写体オブジェクト210を乗せた写真マット34は表面200上で移動(並進)及び(例えば、矢印240の方向に)回転され、カメラ230に対して夫々異なる位置と向きで被写体オブジェクト210の写真が記録される。3Dコンピュータ表面形状モデルを生成するのに使用される画像を記録するために表面200上で写真マット34が回転・並進している間、被写体オブジェクト210はマット34に対して動かない。このため、校正パターンに対する被写体オブジェクト210の位置及び向きは集合中の各画像に対して同じである。
【0049】
被写体オブジェクト210の上面の画像は、カメラ230を三脚から取り外し、上方から被写体オブジェクト210を撮影することによって記録される。
【0050】
図3は、3Dコンピュータ表面形状モデルを生成する処理のために処理装置2に入力されるデータにより定義される画像の集合のうちの画像の例300、304、308及び312を示す図である。これらの画像は、カメラ230に対して夫々異なる位置及び向きにある被写体オブジェクト210及び写真マット34を示す。
【0051】
図4は、本実施例において入力データを処理するために処理装置2により実行される処理動作を示す図である。
【0052】
図4のステップS4−2において、中央制御装置20は表示制御装置110に3Dコンピュータ表面形状モデルを生成する処理のためのデータの入力をユーザに要求するメッセージを表示装置4に表示させる。
【0053】
ステップS4−4において、ステップS4−2での要求に応答してユーザにより入力されたデータを入力データインタフェース40の制御下でメモリ24に格納する。具体的に説明すると、上述のように本実施例では、入力データは夫々異なる相対的な位置及び向きで記録された被写体オブジェクト210及び写真マット34の画像を定義するデータと、入力画像を記録したカメラ230の固有のパラメータを定義するデータとを含む。
【0054】
ステップS4−6において、カメラ計算器50は、ステップS6−4で格納された入力画像データ及び固有のカメラパラメータデータを処理して、入力画像ごとに写真マット34上の校正パターンに対する(従って、被写体オブジェクト210に対する)カメラ230の位置及び向きを判定する。この処理は、入力画像ごとに、写真マット34の校正パターンを構成する画像中の特徴を検出し、画像中のそれらの特徴の位置を格納されている写真マットのパターン中の特徴の位置と比較し、画像が記録されたときのマット34に対するカメラ230の位置及び向きを計算することから成る。ステップS4−6でカメラ計算器50により実行される処理は、写真マット34上で使用されている特徴の校正パターンによって決まる。このため、適切な処理は、例えば、同時係属PCT出願GB00/04469(WO−A−01/39124)、JP−A−9−170914、Niemの”Automatic Reconstruction of 3D Objects Using a Mobile Camera”(Image and Vision Computing 17、1999年、125〜134ページ)、及びGortler他の”The Lumigraph”(Computer Graphics Proceedings, Annual Conference Series、1996年、ACM−0−89791−764−4/96/008)に記載されている。尚、各入力画像中の校正パターンの特徴の位置は、列挙した参考文献における画像処理技術を使用してカメラ計算器50により独立して検出されるのではなく、ユーザにより(例えば、表示画像中の各校正パターン特徴を指示し、クリックすることによって)処理装置2に対して識別されても良い。
【0055】
ステップS4−6でのカメラ計算器50による処理の結果、写真マット34上の校正パターンに対して各入力画像の位置及び向きが計算され、画像が相互に登録されている。
【0056】
ステップ4−8において、サーフェスモデラ60は、入力画像とカメラ計算器50により生成される位置/向きデータとを処理することによって、被写体オブジェクト210の表面形状を表現するポリゴンメッシュを含む3Dコンピュータモデルを定義するデータを生成する。
【0057】
本実施例では、サーフェスモデラ60による処理は、ステップS4−4で格納される各入力画像を処理して被写体オブジェクト210を表現する画像データを他の画像データ(「背景」画像データ)から分離し、結果として生じる分離状態を処理して被写体オブジェクト210の表面形状を表現するポリゴンメッシュを生成することから成る。
【0058】
本実施例では、画像データを分割する処理は、例えば、GB−A−2358307の付録Aのパート2.2に記載の従来の画像分割方法を使用して実行される。
【0059】
分割処理により、各入力画像中で被写体オブジェクト210のシルエットを定義するデータが生成される。各シルエットは、シルエットが位置する画像が記録されたときのカメラの焦点位置と共に、3D空間中の(未知の)複数の点において被写体オブジェクト210の表面に接する3D空間中の無限の円錐形を定義する(シルエットは画像中の被写体オブジェクト表面の輪郭を定義するためである)。
【0060】
本実施例において、被写体オブジェクト210の表面形状を表現するポリゴンメッシュを生成するためにサーフェスモデラ60により実行される処理は、入力画像中の全てのシルエットにより定義される無限の円錐形の共通部分により定義される3D空間のボリュームを判定し、結合された平面ポリゴンのメッシュにより共通部分のボリュームを表現する処理から成る。
【0061】
この処理は、所有者の同時係属欧州特許出願EP−A−1,267,309(02254027.2)(これらの内容は全て相互参照により本明細書に取り入れられている)に記載される技術を使用して実行されても、あるいは、Martin Lohleinの”A Volumetric Intersection Algorithm for 3D−Reconstruction Using a Boundary−Representation”(http://i31www.ira.uka.de/diplomarbeiten/da_martin_loehlein/Reconstruction.html)又はM. Szilvasi−Nagyの”An Algorithm for Determining the Intersection of Two Simple Polyhedra”(Computer Graphics Forum 3、1984年、219〜225ページ)に記載されるような従来の方法を使用して実行されても良い。
【0062】
また、サーフェスモデラ60は、例えば、Illingsworth及びHiltonの”Looking to build a model world: automatic construction of static object modelsusing computer vision”(Electronics and Communication Engineering Journal、1998年6月、103〜113ページ)や、Niemの”Automatic Reconstruction of 3D Objects Using a Mobile Camera”(Image and Vision Computing 17、1999年、125〜134ページ)に記載されるようなshape−from−silhouette処理を実行しても良い。これらの方法では、シルエット円錐形の共通部分を計算し、これを使用して複数のボクセル(直平行六面体)から構成される被写体オブジェクトの「ボリューム表現」を生成する。具体的には、3D空間を複数のボクセルに分割し、これらのボクセルを検査してどのボクセルがシルエット円錐形の共通部分により定義されるボリュームの内側に位置するかを判定する。共通部分のボリュームの内側のボクセルは、被写体オブジェクトを表現する複数のボクセルのボリュームを定義するために保持される。ボリューム表現は、結合されたポリゴンのメッシュを含むサーフェスモデルへと変換される。
【0063】
ステップS4−8での処理の結果、被写体オブジェクト210の表面を表現するポリゴンメッシュが生成される。ポリゴンメッシュ390は、上述のように入力画像の集合のうちの入力画像300から316を使用して生成されるので、集合中のこれらの入力画像に登録される(すなわち、入力画像300から316の位置及び向きに対するポリゴンメッシュの位置及び向きは既知である)。
【0064】
ステップS4−10において、テクスチャデータ発生器100は入力画像を処理し、ステップS4−8で生成された3Dコンピュータモデルに対するテクスチャデータを生成する。
【0065】
具体的に説明すると、本実施例では、テクスチャデータ発生器100は、ステップS4−8で生成された3Dコンピュータモデル中の各ポリゴンを選択し、選択されたポリゴンに最も近接して直面している入力画像「i」を見出す処理を従来の方法で実行する。すなわち、ポリゴンの法線をnt(ベクトル)とし、「i」番目の画像の撮影方向をvi(ベクトル)とするとき、値nt・vtが最大である入力画像が求められる。これは、選択された表面ポリゴンが最大投射面積を有する入力画像を識別する。
【0066】
選択された表面ポリゴンは識別された入力画像へと投影され、投影された多角系の頂点は画像テクスチャマップを定義するためのテクスチャ座標として使用される。
【0067】
テクスチャデータ発生器100がステップS4−10においてテクスチャデータの生成に使用するであろうその他の技術は、同時係属英国特許出願第0026331.9号(GB−A−2,369,541)及び第0026347.5号(GB−A−2,369,260)に記載されている。これらの内容は全て相互参照により本明細書に取り入れられる。
【0068】
上述の処理を実行した結果、モデル上にレンダリングすべき入力画像から画像データを定義するテクスチャ座標と共に、被写体オブジェクト210の表面形状をモデリングするポリゴンメッシュを含む3Dコンピュータモデルが生成される。
【0069】
しかし、図2及び図3において、被写体オブジェクト210の一部は記録された画像中で見えず、ステップS4−6からS4−10で処理すべく処理装置2へと入力される。具体的には、図2及び図3に示す例において、被写体オブジェクト210の基部は見えない。このため、被写体オブジェクト210の基部はポリゴンメッシュにより平らな面としてモデリングされることになるが、基部に対する入力画像からテクスチャデータは取得されないであろう。従って、例えば、図5の例示の画像316に示すような3Dコンピュータモデルの画像において、テクスチャデータなしにフラットシェーディング(「コンスタントシェーディング」とも呼ばれる)が基部に対して行なわれることになる。すなわち、単一の光の強度値を使用して基部の平らな面を表現する各ポリゴンがシェーディングされるので、基部を構成する各ポリゴンのシェーディングは一定である。
【0070】
このため、本実施例のステップS4−12からS4−16において、ステップS4−6からS4−10で処理された入力画像中で見えない被写体オブジェクト210の部分を示す少なくとも1枚の追加の入力画像が処理装置2に入力され、各追加の入力画像をステップS4−8で生成された3Dコンピュータ表面形状モデルに登録する(すなわち、追加の入力画像が正しい配置及び寸法で3Dコンピュータサーフェスモデルへと投影するように3Dコンピュータサーフェスモデル及び追加の入力画像の相対的な位置及び向きを判定する)処理が実行される。続いて、3Dコンピュータ表面形状モデルに対する追加のテクスチャデータが追加の画像の画像データから生成される。
【0071】
図6は、ポリゴンメッシュの基部に対するテクスチャデータを生成するための追加の画像の記録の一例を示す図である。
【0072】
図6において、被写体オブジェクト210は写真マット34上で撮影される必要がない。その代わりに、図6に示す例では、被写体オブジェクト210はカラーのシート紙320に横にして配置され、被写体オブジェクト210の基部はカメラ230に面する。カメラ230の位置及び向きは、被写体オブジェクト210の基部の所要のビューを提供するために、図2に示す位置及び向きから変更されている。
【0073】
図7は、ステップS4−8で生成されたポリゴンメッシュの基部に対するテクスチャデータを生成する際に使用される図6に示す構成を用いて記録された画像330の一例を示す図である。
【0074】
追加の入力画像を処理してポリゴンメッシュの基部に対するテクスチャデータを生成するためにステップS4−12からS4−16で実行される処理動作について詳細に説明する。
【0075】
ステップS4−12において、中央制御装置20は、表示制御装置110によりテクスチャデータ生成に使用すべき追加の画像が存在するか否かを尋ねるメッセージを表示装置4に表示させる。
【0076】
これに応じて、ユーザがユーザ入力装置6を使用してテクスチャデータ生成に使用すべき追加の画像が存在しないことを示す信号を入力する場合、処理はステップS4−18へと進む。
【0077】
これに対し、ユーザがユーザ入力装置6を使用してテクスチャデータ生成に使用すべき追加の画像が少なくとも1枚存在することを示す信号を入力する場合、処理はステップS4−14へと進む。ステップS4−14において、各追加の画像はステップS4−8で先に生成されたポリゴンメッシュに登録される。
【0078】
図8は、ポリゴンメッシュに追加の画像を登録するためにステップS4−14で実行される処理動作を示す図である。
【0079】
図8のステップS8−2において、中央制御装置20は、表示制御装置110によりテクスチャデータ生成のために処理すべき各追加の画像を定義する画像データを入力するようユーザに対して要求するメッセージを表示装置4に表示させる。
【0080】
ステップS8−4において、ステップS8−2での要求に応答してユーザが入力した画像データが、入力データインタフェース40の制御下でメモリ24に格納される。
【0081】
ステップS8−6において、中央制御装置20は、表示制御装置110により静止の背景画像として次の追加の画像を表示装置4に表示させる(ステップS8−6が初めて実行される場合、これは最初の追加の画像である)。このため、図7に示す画像330が背景画像として表示装置4に表示される。
【0082】
ステップS8−8において、レンダラ70は仮想カメラの固有のパラメータ(焦点距離など)の値をステップS4−4で格納された値と同じになるように設定し、所定の仮想カメラビュー位置/方向に従ってステップS4−8で生成され、ステップS4−10で生成されたテクスチャデータを用いてレンダリングされたポリゴンメッシュの画像を定義する画像データを生成する。表示制御装置110は、表示装置4を制御してステップS8−6で表示された背景画像の上に重なるように、生成されたテクスチャマッピングされたポリゴンメッシュの画像を表示させる。本実施例では、テクスチャマッピングされたポリゴンメッシュは、背景画像が透過して見えるように半透明の形態で表示される。
【0083】
ポリゴンメッシュの半透明表示を達成するために、本実施例では、ポリゴンメッシュは背景画像上にレンダリングされ、メッシュが投影する(すなわち、各画素が少なくとも部分的にメッシュの内側にある)背景画像中の各画素に対して変更された値が計算される。この計算は変更すべき各画素に対して、背景画像中の画素色成分値(R、G、B)の各々とレンダリングされたポリゴンメッシュ中の画素の対応する画素色成分値(R、G、B)の各々の平均値を取ることによって、行われるものである。すなわち、背景画像中の画素の赤色値とレンダリングされたポリゴンメッシュ画像中の対応する画素の赤色値の平均が計算され、表示すべき画素に対する複合の赤色値が生成される。青色値及び緑色値に対しても同様の処理が行なわれる。投影されるポリゴンメッシュの外側の各画素に関して、背景画像中の画素の値が保持される。このように、レンダラ70により生成された画像中のポリゴンメッシュを包囲する背景は背景画像に影響を与えない。(代替例では、背景画像中の全ての画素は、それがポリゴンメッシュの内側にあるか、あるいは、外側にあるかに関わらず変更される可能性があり、その結果、ユーザに対して表示される画像中の各画素値は、背景画像からの画素値とレンダラ70により生成されたレンダリング済の画像における画素値の平均となる。)
ステップS8−8で実行された処理の結果の一例を図9に示す。図9はテクスチャマッピングされたポリゴンメッシュ350の画像データが背景画像データ360上に半透明の形態で重なって表示される画像340を示す図である。
【0084】
このように、テクスチャマッピングされたポリゴンメッシュの画像データを半透明の形態で表示することによって、ユーザは背景画像及びテクスチャマッピングされたポリゴンメッシュの双方を見ることができる。
【0085】
ステップS8−10において、仮想カメラ制御装置80は、ユーザがユーザ入力装置6を使用して入力した命令に従ってレンダラ70がポリゴンメッシュの画像を生成するのに使用する仮想カメラをポリゴンメッシュに対する新規の位置及び向きへと移動させる。
【0086】
ステップS8−12において、仮想カメラ及び3Dポリゴンメッシュの相対的な位置及び向きが変更されるのと同時に、レンダラ70は仮想カメラからのレンダリング済のポリゴンメッシュを示す更新された画像データを生成し、更新された画像データは半透明の形態で背景画像に重なって表示装置4に表示される。ポリゴンメッシュの基部にはフラットシェーディングが行なわれ、半透明の形態で表示される。
【0087】
ステップS8−14において、仮想カメラ制御装置80は、仮想カメラ及び3Dポリゴンメッシュの相対的な回転及び並進を変更するために更なる入力信号がユーザから受信されたか否かを判定する。仮想カメラ及びポリゴンメッシュの相対的な回転及び並進が正確である、すなわち、仮想カメラが追加の画像中で示される被写体オブジェクト210のビューとほぼ同じ3Dポリゴンメッシュのビューを示す位置及び向きまで移動したことを示す信号をユーザがユーザ入力装置6を使用して入力するまで、ステップS8−10からS8−14を繰り返す。
【0088】
このため、ステップS8−12で表示装置4に表示された画像400から450を示す図10aから図10fにおいて、ユーザは表示装置4に表示されたテクスチャマッピングされたポリゴンメッシュの画像350を移動させて静止の背景画像360中の被写体オブジェクト210の画像に正確に合わせるようにポリゴンメッシュに対して仮想カメラを移動させる(図10aから図10d)ことができると共に、レンダリング済のポリゴンメッシュの画像350のサイズが背景画像中の被写体オブジェクト210のサイズと同じであるように画像350のサイズを変更する(図10e及び図10f)ことができる。このように、ユーザは実際のカメラ230により記録された被写体オブジェクト210に対応する仮想カメラからのポリゴンメッシュのビューを生成することができる。テクスチャマッピングされたポリゴンメッシュの画像350を半透明の形態で背景画像に重ねて表示することにより、ユーザはこの登録プロセスを正確に実行することができる。
【0089】
再度図8を参照する。ステップS8−14においてユーザから登録を完了するように指示する命令が受信されると、処理はステップS8−16へと進む。ステップS8−16において、ステップS8−12で最終的な画像(すなわち、テクスチャマッピングされたポリゴンメッシュ350が背景画像データ360の被写体オブジェクト210に登録されている画像)を生成するのに使用される仮想カメラの位置及び向きが、ステップS8−6で選択された追加の画像に対する位置及び向きとして格納される。このため、格納されたデータはステップS8−8で生成されたポリゴンメッシュに対する追加の画像の位置及び向きを定義する。加えて、ステップS4−4で先に格納された固有のカメラパラメータ(焦点距離など)が追加の画像に対する固有のパラメータとして格納される。
【0090】
ステップS8−18において、中央制御装置20はテクスチャデータを生成するための処理すべき更なる追加の画像が存在するか否かを判定する。以上説明したように各追加の画像を処理し終わるまで、ステップS8−6からS8−18を繰り返す。
【0091】
図4に戻ると、ステップS4−16において、テクスチャデータ発生器100は、ステップS4−14でポリゴンメッシュに登録された各追加の画像からの画像データを考慮してステップS4−8で生成されたポリゴンメッシュに対するテクスチャデータを再度生成する。本実施例では、ステップS4−16でのテクスチャデータ生成は、上述のステップS4−10でのテクスチャデータ生成と同様に実行される。
【0092】
ステップS4−16での処理の結果、ステップS4−6からS4−10で処理された入力画像中では見えないが、ステップS4−12からS4−16で処理された少なくとも1枚の追加の画像中では見えるポリゴンメッシュの各表面に対してテクスチャデータが生成される。
【0093】
従って、図11を参照して説明すると、ポリゴンメッシュの基部が見えるビュー位置/方向からレンダリングされる画像460において、基部は追加の入力画像330から得られるテクスチャデータを使用して正確にテクスチャマッピングされることになる。
【0094】
再び図4に戻ると、ステップS4−18において、出力データインタフェース120は、ステップS4−8で生成された3Dポリゴンメッシュを定義するデータとステップS4−10及びS4−16で生成されたテクスチャデータとを出力する。出力されるテクスチャデータは、メッシュ中の各ポリゴンについて計算された入力画像中のテクスチャ座標を定義するデータと共に、テクスチャデータの為に使用される入力画像の各々を定義するデータを含んでも良い。また、テクスチャデータとして使用される画素データは入力画像から抽出され、出力されても良い。
【0095】
データは、例えば、ディスク122などの記憶装置上に格納されるデータ又は信号124(図1)として処理装置2から出力される。これに加えて又はその代わりに、レンダラ70は、仮想カメラ制御装置80により定義されると共にユーザにより制御される仮想カメラに従って、ステップS4−8で生成され、ステップS4−10で生成されたテクスチャデータを用いてレンダリングされた3Dコンピュータモデルの画像を定義する画像データを生成しても良い。画像は表示装置4に表示されるであろう。
【0096】
変更例及び変形例
上述の実施例には特許請求の範囲の趣旨の範囲内で様々な変更及び変形を行なうことができる。
【0097】
例えば、上述の実施例では、各入力画像は被写体オブジェクト210の「静止」画像である。しかし、入力画像はビデオカメラからの画像データのフレームであっても良い。
【0098】
上述の実施例のステップS4−4では、ユーザにより入力されるカメラの固有のパラメータを定義するデータが格納される。しかし、その代わりに、固有のカメラパラメータのうちの1つ以上に対してデフォルト値が想定されても良いし、また、例えば、Hartleyの「Euclidean Reconstruction From Uncalibrated Views」(Applications of Invariance in Computer Vision、Mundy, Zisserman andForsyth編集、237〜256ページ、Azores、1993年)に記載されるように従来の方法で固有のパラメータ値を計算する処理が実行されても良い。
【0099】
上述の実施例では、3Dコンピュータ表面形状モデル及び最初のテクスチャデータを生成するためにステップS4−6からS4−10で処理された入力画像の全ては、写真マット34上の被写体オブジェクト210の画像であり、カメラ計算器50による処理は、画像中の写真マット34上の校正パターンからの特徴を校正パターンを定義する格納データと照合する処理である。このように、各入力画像の位置及び向きは、校正パターンの基準の位置及び向きに対して計算される。しかし、その代わりに、カメラ計算器50は画像間(画像・格納パターン間の代わりに)で校正パターンの特徴を照合する処理を実行し、入力画像の相対的な位置及び向きを判定しても良い。例えば、同時係属PCT出願GB00/04469(WO−A−01/39124)において図53及び図54を参照して説明したような技術が使用されても良い。あるいは、ステップS4−6からS4−10で処理された入力画像は、写真マットなしの被写体オブジェクト210単独の画像であっても良く、カメラ計算器50は、ステップS4−6において、例えば、EP−A−0898245に記載されるように被写体オブジェクト210自体の特徴を照合(校正パターン中の特徴を照合するのではない)することによって入力画像の相対的な位置及び向きを計算する処理を実行しても良い。加えて、カメラ計算器50は、ステップS4−6において、ユーザにより識別される(例えば、異なる画像中の同じ特徴の位置を識別するために指示/クリックすることによって)画像中の整合する特徴を使用して入力画像の相対的な位置及び向きを計算しても良い。
【0100】
上述の実施例のステップS4−4で格納された入力画像は、位置及びビュー方向が定められた1台以上のカメラを用いて記録される被写体オブジェクト210の画像であっても良い。この場合、入力画像の撮影位置/向きは既知であり、ステップS4−4で格納されても良い。カメラ計算器50及びステップS4−6での処理は省略されるであろう。
【0101】
上述の実施例では、サーフェスモデラ60は、各画像の画像データを分割してシルエットを生成し、結果として生じたシルエットを処理することによって被写体オブジェクト210の3Dコンピュータ表面形状モデルを生成する。しかし、その代わりに、サーフェスモデラ60はその他の処理技術を使用して入力画像から3Dコンピュータ表面形状モデルを生成しても良い。例えば、EP−A−0898245に記載される技術が使用されても良い。
【0102】
上述の実施例では、ステップS4−12及びS4−14が実行される前のステップS4−10において、3Dコンピュータ表面形状モデルに対して最初のテクスチャデータが生成される。このように、ステップS4−14が実行されるときにステップS8−8及びS8−12で生成・表示される3Dコンピュータモデルの画像は、生成されたテクスチャデータがレンダリングされるポリゴンメッシュの画像であっても良い。また、ステップS4−10を省略し、全てのテクスチャデータ生成をステップS4−16で実行しても良い。この場合、ステップS8−8及びS8−12で生成・表示されるポリゴンメッシュの画像は、フラットシェーディング(コンスタントシェーディングとも呼ばれる)を行なったポリゴンメッシュの画像であっても良い。
【0103】
上述の実施例では、ステップS8−2において、テクスチャデータ生成に使用する各追加の画像に対する画像データを入力するようユーザに対して要求する処理が実行され、ステップS8−4において、入力画像データが格納される。しかし、この場合、ユーザがステップS8−2での要求に応答して追加の画像に対する画像データを入力する間、処理装置2による処理が中断されることになる。このため、その代わりに、処理装置2による処理の開始時にステップS4−2及びS4−4の一部としてステップS8−2及びS8−4が実行されても良い。このように、テクスチャデータ生成に使用する各追加の画像のみが開始時に入力され、テクスチャデータ専用の画像としてユーザにより識別される。この識別に基づいて、処理装置2はステップS4−6からS4−10において、3Dコンピュータ表面形状モデルを生成し、これらの画像の処理を実行するのに使用する画像を識別すると共に、ステップS4−12において、テクスチャデータ生成用の追加の画像を識別する処理を実行するであろう。識別されたテクスチャデータ画像はステップS4−14及びS4−16において処理される。
【0104】
上述の実施例では、追加の画像をポリゴンメッシュに登録する処理中にステップS8−8及びS8−12(図8)で生成・表示される画像データ中の画素値は、追加の画像における画素値とレンダリング済のポリゴンメッシュ画像中の対応する画素の値の平均値を取ることによって生成される。このように、ポリゴンメッシュは追加の画像上に半透明の形態で重なるように表示される。しかし、追加の画像からの画素値及びレンダリング済のポリゴンメッシュからの画素値は、他の方法で結合されても良い。加えて、ポリゴンメッシュは結果の画像中で半透明の形態で表示される必要はなく、画像を生成してユーザがレンダリング済のポリゴンメッシュ及び追加の画像中の被写体オブジェクトの相対的な配置を見ることができるように画像を表示するだけで良い。例えば、少なくとも部分的にレンダリング済のポリゴンメッシュ内にある画像中の各画素の値は、追加の画像中の画素の値からレンダリング済のポリゴンメッシュ画像中の画素の値を引き(又はその逆)、結果の値の絶対値を取ることによって計算されても良い。更なる代替例では、画像データはステップS8−8及びS8−12において、ユーザに対して表示すべきであり、少なくとも部分的にレンダリング済のポリゴンメッシュ内にある画像中の各画素の各色成分値(R、G、B)に対してビットごとの2値論理演算(排他的論理和演算など)を実行することによって生成されても良い。このとき、論理演算に対する入力は、レンダリング済のポリゴンメッシュ中の画素の色値(R、G、又はBであり、そのとき処理中の色成分による)を定義するビット(又は、所定数の最上位ビット)及び背景画像中の対応する画素の色値(R、G、又はB)を定義するビット(又は、同じ所定数の最上位ビット)を含む。各色成分(R、G、B)に対して論理演算がそれぞれ実行され、表示すべき画素の色成分に対する値が得られる。このため、例えば、論理演算がXOR演算の場合、背景画像中の画素の色成分がレンダリング済のポリゴンメッシュ中の画素の色成分と一致すればするほど、画素はより黒っぽく表示される。ステップS8−8及びS8−12において、このように結合画像データを生成することによって、ユーザは仮想カメラを制御し、レンダリング済のポリゴンメッシュ内の表示画像中の黒い画素の数を最大限に増加することができる。画素値を結合して結合画像データを生成する他の方法も使用可能であることは言うまでもない。
【0105】
上述の実施例では、ステップS8−8及びS8−16において、仮想カメラの固有のパラメータ(焦点距離など)の値が定義される。この値は、ステップS4−4でユーザによって入力され、格納された固有のカメラパラメータ値に対応する。これは、テクスチャデータ生成に使用すべき各追加の画像を記録するのに使用されるカメラが、ステップS4−4で格納され、ステップS4−6及びS4−8で処理された各画像を記録して3Dポリゴンメッシュを生成するのに使用されるのと同じカメラであることを想定するものである。しかし、カメラが別のものである可能性があるので、ステップS8−2において各追加の画像を記録したカメラの固有のパラメータを定義するデータを入力するようユーザに対して要求し、ステップS8−4においてこのパラメータを格納し、ステップS8−8及びS8−16において仮想カメラの固有のパラメータとして使用しても良い。あるいは、ステップS8−4で格納された各追加の画像に対する画像データを処理して、例えば、Hartleyの「Euclidean Reconstruction From Uncalibrated Views」(Applications of Invariance in Computer Vision、Mundy, Zisserman and Forsyth編集、237〜256ページ、Azores、1993年)に記載されるように従来の方法で固有のパラメータを計算しても良い。
【0106】
上述の実施例では、ステップS4−14及びS4−16において、被写体オブジェクト210の基部を示す追加の画像316が入力・処理されて、テクスチャデータが生成される例を説明した。しかし、これに加えて又はその代わりに、ステップS4−14及びS4−16において、被写体オブジェクト210の他の部分の1枚以上の追加の画像が入力・処理されても良い。例えば、詳細なテクスチャデータが必要とされる被写体オブジェクト210の一部のクローズアップ画像が入力・処理されても良い。ステップS4−14及びS4−16において、被写体オブジェクト210の同じ部分(基部又はその他の部分)を示す2枚以上の追加の画像が入力・処理されても良いことは言うまでもない。
【0107】
上述の実施例では、処理は、プログラミング命令により定義される処理ルーチンを使用してプログラム可能なコンピュータにより実行される。しかし、処理の一部又は全部はハードウェアを使用して実行可能であることは言うまでもない。
【図面の簡単な説明】
【図1】本発明の実施例の構成要素を、プログラミング命令によりプログラムされたときに処理装置の構成要素が構成されるものと考えられる概念上の機能処理ユニットと共に概略的に示す図である。
【図2】被写体オブジェクトの3Dコンピュータ表面形状モデルを生成する際に使用すべき被写体オブジェクトの画像の記録を示す図である。
【図3】図1の処理装置に入力され、被写体オブジェクトの3Dコンピュータ表面形状モデルを生成するように処理される被写体オブジェクトの画像の例を示す図である。
【図4】図1の処理装置が入力データを処理するために実行する処理動作を示す図である。
【図5】モデルの基部のフラットシェーディングを例証するために図4のステップS4−8及びS4−10で生成される3Dコンピュータモデルの画像を示す図である。
【図6】3Dコンピュータ表面形状モデルの基部に対するテクスチャデータを生成する際に使用すべき被写体オブジェクトの画像の記録を示す図である。
【図7】図1の処理装置に入力され、3Dコンピュータ表面形状モデルの基部に対するテクスチャデータを生成するように処理される被写体オブジェクトの画像の一例を示す図である。
【図8】図4のステップS4−14で実行される処理動作を示す図である。
【図9】図8のステップS8−8で生成・表示される重なる画像の一例を示す図である。
【図10a】、
【図10b】、
【図10c】、
【図10d】、
【図10e】、
【図10f】ユーザが仮想カメラを回転・並進させて3Dコンピュータ表面形状モデルをテクスチャデータ生成用の追加の画像に登録するときに図8のステップS8−10及びS8−12で生成・表示される重なる画像の例を示す図である。
【図11】図4のステップS4−16でモデルの基部に対して生成されるテクスチャデータを例証するために3Dコンピュータモデルの画像を示す図である。
Claims (22)
- 被写体オブジェクトの画像を定義する画像データを処理し、前記被写体オブジェクトの表面形状の3次元コンピュータモデルを定義するデータとそのためのテクスチャデータとを生成する装置であって、
前記被写体オブジェクトの複数の画像を定義する画像データを含む前記被写体オブジェクトの画像の集合を定義するデータと前記画像の撮影位置及び撮影方向を定義するデータとを処理し、前記集合中の前記画像に対して既知の位置及び向きを有する前記被写体オブジェクトの表面形状の3次元コンピュータモデルを定義するデータを生成する3次元コンピュータモデル生成手段と、
前記被写体オブジェクトの表面形状の3次元コンピュータモデルを前記被写体オブジェクトの更なる画像に登録するモデル登録手段であって、
仮想カメラに従って前記3次元コンピュータモデルの画像を定義する画像データを生成する3次元モデルビューイング手段と、
ユーザ入力信号に応答して前記仮想カメラ及び前記3次元コンピュータモデルの相対的な位置を変更する制御手段と、
前記3次元コンピュータモデルビューイング手段により生成される前記3次元コンピュータモデルの画像データのうちの少なくとも一部を前記更なる画像の画像データと結合し、前記更なる画像上に重なる前記3次元コンピュータモデルの画像を定義する合成画像データを生成することによって表示すべき画像データを生成する表示データ生成手段と、
前記仮想カメラのビューパラメータを前記更なる画像のビューパラメータとして定義するデータをメモリに書き込み、それにより、前記3次元コンピュータモデル及び前記更なる画像の相対的な位置及び向きを定義する手段とを備えるモデル登録手段と、
前記集合中の少なくとも1枚の画像及び前記更なる画像からの画像データによって前記3次元コンピュータモデルに対するテクスチャデータを生成するテクスチャデータ生成手段と
を備えることを特徴とする装置。 - 前記表示データ生成手段は、前記更なる画像上に半透明の形態で重なる前記3次元モデルビューイング手段により生成される前記3次元コンピュータモデルの前記画像を定義する表示すべき画像データを生成するように動作可能であることを特徴とする請求項1に記載の装置。
- 前記表示データ生成手段は、前記合成画像データ中の少なくとも一部の画素の各々に対して2値論理演算を実行した結果によって前記少なくとも一部の画素に対して画素値を設定するように動作可能であり、前記2値論理演算への入力は、前記画素の各々に対して、前記3次元モデルビューイング手段により生成される前記画像データ中の画素に対して色値を定義する第1の値及び前記更なる画像中の画素に対して色値を定義する第2の値を含むことを特徴とする請求項1記載の装置。
- 前記テクスチャデータ生成手段は、前記モデル登録手段の動作中に前記3次元コンピュータモデルの画像を定義する画像データを生成する前記3次元モデルビューイング手段の動作の前に、前記集合中の少なくとも1枚の画像からの画像データによって前記3次元コンピュータモデルに対するテクスチャデータを生成するように動作可能であり、
前記3次元モデルビューイング手段は、前記モデル登録手段の動作中に前記テクスチャデータ生成手段により生成される前記テクスチャデータを用いてレンダリングされる前記3次元コンピュータモデルの画像を定義する画像データを生成するように動作可能であり、
前記表示データ生成手段は、前記更なる画像上に重なる前記3次元モデルビューイング手段により生成される前記テクスチャレンダリング済の画像を定義する画像データを生成するように動作可能であることを特徴とする請求項1乃至3の何れか1項に記載の装置。 - 前記3次元モデルビューイング手段は、フラットシェーディングされた前記3次元コンピュータモデルの画像を定義する画像データを生成するように動作可能であり、
前記表示データ生成手段は、前記更なる画像上に重なる前記3次元モデルビューイング手段により生成される前記フラットシェーディング済の画像を定義する画像データを生成するように動作可能であることを特徴とする請求項1乃至3の何れか1項に記載の装置。 - カメラの少なくとも1つの固有の撮影パラメータの値を定義するデータをメモリに書き込む手段を更に備え、
前記3次元モデルビューイング手段は、前記仮想カメラの固有の撮影パラメータを前記格納されたパラメータと同じ値に設定するように動作可能であることを特徴とする請求項1乃至5の何れか1項に記載の装置。 - 前記固有の撮影パラメータの値を定義するデータをメモリに書き込む手段は、ユーザが入力する固有の撮影パラメータ値を定義するデータをメモリに書き込むように動作可能であることを特徴とする請求項6に記載の装置。
- 前記3次元コンピュータモデルを生成するのに使用される前記被写体オブジェクトの前記複数の画像を定義する画像データを処理し、前記3次元コンピュータモデル生成手段により使用すべき前記画像の前記撮影位置及び撮影方向を定義するデータを生成する画像登録手段を更に備えることを特徴とする請求項1乃至7の何れか1項に記載の装置。
- 前記画像登録手段は、ユーザが識別する前記画像中の特徴によって前記撮影位置及び撮影方向を計算するように動作可能であることを特徴とする請求項8に記載の装置。
- 被写体オブジェクトの画像を定義する画像データを処理し、前記被写体オブジェクトの表面形状の3次元コンピュータモデルを定義するデータとそのためのテクスチャデータとを生成する、処理装置で実行される方法であって、
前記被写体オブジェクトの複数の画像を定義する画像データを含む前記被写体オブジェクトの画像の集合を定義するデータと前記画像の撮影位置及び撮影向きを定義するデータとを処理し、前記集合中の前記画像に対して既知の位置及び向きを有する前記被写体オブジェクトの表面形状の3次元コンピュータモデルを定義するデータを生成し、
仮想カメラに従って前記3次元コンピュータモデルの画像を定義する画像データを生成し、
ユーザ入力信号に応答して前記仮想カメラ及び前記3次元コンピュータモデルの相対的な位置を変更し、
前記仮想カメラに従って生成される前記3次元コンピュータモデルの画像データのうちの少なくとも一部を更なる画像の画像データの少なくとも一部と混合し、前記更なる画像上に重なる前記3次元コンピュータモデルの画像を定義する混合画像データを生成することによって表示すべき画像データを生成し、
前記仮想カメラのビューパラメータを前記更なる画像のビューパラメータとして定義するデータをメモリに書き込み、それにより、前記3次元コンピュータモデル及び前記更なる画像の相対的な位置及び向きを定義することにより、
前記被写体オブジェクトの表面形状の3次元コンピュータモデルを前記被写体オブジェクトの前記更なる画像に登録し、
前記集合中の少なくとも1枚の画像及び前記更なる画像からの画像データによって前記3次元コンピュータモデルに対するテクスチャデータを生成することを特徴とする方法。 - 前記更なる画像上に半透明の形態で重なる前記3次元コンピュータモデルの画像を定義する画像データとして前記表示すべき画像データが生成されることを特徴とする請求項10に記載の方法。
- 前記表示すべき画像データを生成する処理において、前記合成画像データ中の少なくとも一部の画素の各々に対して2値論理演算を実行した結果によって前記少なくとも一部の画素に対して画素値が設定され、前記2値論理演算への入力は、前記画素の各々に対して、前記仮想カメラに従って生成される前記画像データ中の画素に対して色値を定義する第1の値及び前記更なる画像中の画素に対して色値を定義する第2の値を含むことを特徴とする請求項10に記載の方法。
- 前記3次元コンピュータモデルの画像を定義する画像データが、前記3次元コンピュータモデルを前記更なる画像に登録する処理中に前記仮想カメラに従って生成される前に、前記集合中の少なくとも1枚の画像からの画像データによって前記3次元コンピュータモデルに対するテクスチャデータが生成され、
前記3次元コンピュータモデルを前記更なる画像に登録する処理中に前記仮想カメラに従って生成される前記画像データは、前記生成されたテクスチャデータを用いてレンダリングされる前記3次元コンピュータモデルの画像を定義する画像データであり、
表示すべき画像データを生成する処理において、前記更なる画像上に重なる前記テクスチャレンダリング済の画像を定義する画像データが生成されることを特徴とする請求項10乃至12の何れか1項に記載の方法。 - 前記3次元コンピュータモデルを前記更なる画像に登録する処理中に前記仮想カメラに従って生成される前記画像データは、フラットシェーディングされた前記3次元コンピュータモデルの画像を定義する画像データであり、
表示すべき画像データを生成する処理において、前記更なる画像上に重なる前記フラットシェーディング済の画像を定義する画像データが生成されることを特徴とする請求項10乃至12の何れか1項に記載の方法。 - カメラの少なくとも1つの固有の撮影パラメータの値を定義するデータをメモリに書き込むことを更に含み、前記仮想カメラの少なくとも1つの固有の撮影パラメータは前記格納されたパラメータと同じ値に設定されることを特徴とする請求項10乃至14の何れか1項に記載の方法。
- メモリに書き込まれる前記固有の撮影パラメータの値は、ユーザが入力する固有の撮影パラメータ値を定義することを特徴とする請求項15に記載の方法。
- 前記3次元コンピュータモデルを生成するのに使用される前記複数の画像を定義する画像データを処理し、前記3次元コンピュータモデルを生成する際に使用すべき前記画像の相対的な撮影位置及び撮影向きを定義するデータを生成することを更に含むことを特徴とする請求項10乃至16の何れか1項に記載の方法。
- ユーザが識別する前記画像中の特徴によって前記相対的な撮影位置及び撮影向きが計算されることを特徴とする請求項10乃至17の何れか1項に記載の方法。
- 前記被写体オブジェクトの表面形状の3次元コンピュータモデルを定義するデータ及びそのための前記生成されたテクスチャデータを搬送する前記処理装置からの信号を出力することを更に含むことを特徴とする請求項10乃至18の何れか1項に記載の方法。
- 直接又は間接的に前記信号の記録を作成することを更に含むことを特徴とする請求項19に記載の方法。
- 請求項1乃至9の何れか1項に記載の装置として構成されるように、プログラム可能な処理装置をプログラムするコンピュータプログラム命令を格納する記憶媒体。
- 請求項1乃至9の何れか1項に記載の装置として構成されるように、プログラム可能な処理装置をプログラムするコンピュータプログラム命令を搬送する信号。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GBGB0208909.2A GB0208909D0 (en) | 2002-04-18 | 2002-04-18 | Three-dimensional computer modelling |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004157968A true JP2004157968A (ja) | 2004-06-03 |
Family
ID=9935087
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003113214A Withdrawn JP2004157968A (ja) | 2002-04-18 | 2003-04-17 | 3次元コンピュータモデリング |
Country Status (5)
Country | Link |
---|---|
US (1) | US7034821B2 (ja) |
EP (1) | EP1355277B1 (ja) |
JP (1) | JP2004157968A (ja) |
DE (1) | DE60318921D1 (ja) |
GB (1) | GB0208909D0 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010526295A (ja) * | 2007-04-24 | 2010-07-29 | 株式会社ソニー・コンピュータエンタテインメント | ビデオカメラとtvモニタを使用した3次元オブジェクトのスキャン |
KR101851303B1 (ko) * | 2016-10-27 | 2018-04-23 | 주식회사 맥스트 | 3차원 공간 재구성 장치 및 방법 |
KR101875047B1 (ko) * | 2018-04-24 | 2018-07-06 | 주식회사 예간아이티 | 사진측량을 이용한 3d 모델링 시스템 및 방법 |
KR20210023671A (ko) * | 2019-08-23 | 2021-03-04 | 주식회사 예간아이티 | 2d 이미지를 활용하여 3d 컨텐츠의 텍스처를 생성하는 영상 처리 방법 및 영상 처리 장치 |
JP7291835B1 (ja) | 2022-09-13 | 2023-06-15 | 株式会社バンダイ | 画像処理方法、情報処理装置、及び、コンピュータプログラム |
Families Citing this family (64)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6878162B2 (en) | 2002-08-30 | 2005-04-12 | Edwards Lifesciences Ag | Helical stent having improved flexibility and expandability |
GB2398469B (en) * | 2003-02-12 | 2005-10-26 | Canon Europa Nv | Image processing apparatus |
GB2400288B (en) * | 2003-04-02 | 2005-12-28 | Canon Europa Nv | Generating texture maps for use in 3D computer graphics |
JP2005050037A (ja) * | 2003-07-31 | 2005-02-24 | Canon Inc | 画像処理方法および装置 |
GB2405776B (en) * | 2003-09-05 | 2008-04-02 | Canon Europa Nv | 3d computer surface model generation |
GB2406252B (en) * | 2003-09-18 | 2008-04-02 | Canon Europa Nv | Generation of texture maps for use in 3d computer graphics |
US7616834B2 (en) * | 2004-03-03 | 2009-11-10 | Virtual Iris Studios, Inc. | System for delivering and enabling interactivity with images |
US7502036B2 (en) * | 2004-03-03 | 2009-03-10 | Virtual Iris Studios, Inc. | System for delivering and enabling interactivity with images |
US7542050B2 (en) | 2004-03-03 | 2009-06-02 | Virtual Iris Studios, Inc. | System for delivering and enabling interactivity with images |
US20060004476A1 (en) * | 2004-07-02 | 2006-01-05 | Bran Ferren | System for making custom prototypes |
US10215562B2 (en) * | 2004-07-16 | 2019-02-26 | Invention Science Find I, LLC | Personalized prototyping |
US7806339B2 (en) * | 2004-03-16 | 2010-10-05 | The Invention Science Fund I, Llc | Embedded identifiers |
US20060031044A1 (en) * | 2004-08-04 | 2006-02-09 | Bran Ferren | Identification of interior design features |
US7664563B2 (en) * | 2007-09-14 | 2010-02-16 | Searete Llc | System for making custom prototypes |
US20060012081A1 (en) * | 2004-07-16 | 2006-01-19 | Bran Ferren | Custom prototyping |
US20060025878A1 (en) * | 2004-07-30 | 2006-02-02 | Bran Ferren | Interior design using rapid prototyping |
EP1607716A3 (en) * | 2004-06-18 | 2012-06-20 | Topcon Corporation | Model forming apparatus and method, and photographing apparatus and method |
JP2006026790A (ja) * | 2004-07-15 | 2006-02-02 | Fanuc Ltd | 教示モデル生成装置 |
US20060074480A1 (en) | 2004-09-01 | 2006-04-06 | Pst, Llc | Stent and method for manufacturing the stent |
GB0507204D0 (en) * | 2005-04-08 | 2005-05-18 | Leuven K U Res & Dev | Maxillofacial and plastic surgery |
US10555775B2 (en) | 2005-05-16 | 2020-02-11 | Intuitive Surgical Operations, Inc. | Methods and system for performing 3-D tool tracking by fusion of sensor and/or camera derived data during minimally invasive robotic surgery |
CA2640234C (en) | 2006-02-14 | 2017-01-03 | Angiomed Gmbh & Co. Medizintechnik Kg | Highly flexible stent and method of manufacture |
KR101195942B1 (ko) | 2006-03-20 | 2012-10-29 | 삼성전자주식회사 | 카메라 보정 방법 및 이를 이용한 3차원 물체 재구성 방법 |
US7310606B2 (en) * | 2006-05-12 | 2007-12-18 | Harris Corporation | Method and system for generating an image-textured digital surface model (DSM) for a geographical area of interest |
US8560047B2 (en) | 2006-06-16 | 2013-10-15 | Board Of Regents Of The University Of Nebraska | Method and apparatus for computer aided surgery |
US8675951B2 (en) * | 2007-05-11 | 2014-03-18 | Three Pixels Wide Pty Ltd. | Method and system for generating a 3D model |
US9123159B2 (en) * | 2007-11-30 | 2015-09-01 | Microsoft Technology Licensing, Llc | Interactive geo-positioning of imagery |
CN101388115B (zh) * | 2008-10-24 | 2011-07-27 | 北京航空航天大学 | 一种结合纹理信息的深度图像自动配准方法 |
EP2462537A1 (en) | 2009-08-04 | 2012-06-13 | Eyecue Vision Technologies Ltd. | System and method for object extraction |
US9595108B2 (en) * | 2009-08-04 | 2017-03-14 | Eyecue Vision Technologies Ltd. | System and method for object extraction |
US8570343B2 (en) * | 2010-04-20 | 2013-10-29 | Dassault Systemes | Automatic generation of 3D models from packaged goods product images |
US8730267B2 (en) | 2010-06-21 | 2014-05-20 | Celsia, Llc | Viewpoint change on a display device based on movement of the device |
US9984474B2 (en) * | 2011-03-04 | 2018-05-29 | General Electric Company | Method and device for measuring features on or near an object |
US10019812B2 (en) * | 2011-03-04 | 2018-07-10 | General Electric Company | Graphic overlay for measuring dimensions of features using a video inspection device |
US10586341B2 (en) * | 2011-03-04 | 2020-03-10 | General Electric Company | Method and device for measuring features on or near an object |
US10157495B2 (en) | 2011-03-04 | 2018-12-18 | General Electric Company | Method and device for displaying a two-dimensional image of a viewed object simultaneously with an image depicting the three-dimensional geometry of the viewed object |
US11911117B2 (en) | 2011-06-27 | 2024-02-27 | Board Of Regents Of The University Of Nebraska | On-board tool tracking system and methods of computer assisted surgery |
US9498231B2 (en) | 2011-06-27 | 2016-11-22 | Board Of Regents Of The University Of Nebraska | On-board tool tracking system and methods of computer assisted surgery |
CN103764061B (zh) | 2011-06-27 | 2017-03-08 | 内布拉斯加大学评议会 | 工具承载的追踪系统和计算机辅助外科方法 |
WO2013089662A1 (en) * | 2011-12-12 | 2013-06-20 | Intel Corporation | Scene segmentation using pre-capture image motion |
JP5154685B1 (ja) * | 2011-12-28 | 2013-02-27 | 楽天株式会社 | 画像提供装置、画像提供方法、画像提供プログラム、及びそのプログラムを記録するコンピュータ読み取り可能な記録媒体 |
JP2014002614A (ja) * | 2012-06-19 | 2014-01-09 | Toshiba Corp | 画像処理装置及び画像処理方法 |
US9196084B2 (en) * | 2013-03-15 | 2015-11-24 | Urc Ventures Inc. | Determining object volume from mobile device images |
US10105149B2 (en) | 2013-03-15 | 2018-10-23 | Board Of Regents Of The University Of Nebraska | On-board tool tracking system and methods of computer assisted surgery |
FI125913B (en) | 2013-03-25 | 2016-04-15 | Mikkelin Ammattikorkeakoulu Oy | A state-defining object for computer-aided design |
JP6102648B2 (ja) * | 2013-09-13 | 2017-03-29 | ソニー株式会社 | 情報処理装置及び情報処理方法 |
FR3013492B1 (fr) * | 2013-11-15 | 2017-04-14 | Ortery Tech Inc | Procede utilisant des donnees de geometrie 3d pour une presentation et une commande d'image de realite virtuelle dans un espace 3d |
CN107073346A (zh) | 2014-09-10 | 2017-08-18 | 孩之宝公司 | 具有手动操作的扫描器的玩具系统 |
GB2530790B (en) * | 2014-10-02 | 2016-10-19 | Vision Rt Ltd | Method of calibrating a patient monitoring system for use with a radiotherapy treatment apparatus |
FR3028128A1 (fr) * | 2014-11-05 | 2016-05-06 | Morpho | Procede de calibration d'un systeme de visee |
US10169665B1 (en) * | 2016-02-28 | 2019-01-01 | Alarm.Com Incorporated | Virtual inductance loop |
US11472234B2 (en) * | 2016-03-04 | 2022-10-18 | TIREAUDIT.COM, Inc. | Mesh registration system and method for diagnosing tread wear |
US10403037B1 (en) | 2016-03-21 | 2019-09-03 | URC Ventures, Inc. | Verifying object measurements determined from mobile device images |
US9495764B1 (en) | 2016-03-21 | 2016-11-15 | URC Ventures, Inc. | Verifying object measurements determined from mobile device images |
DK3436773T3 (da) | 2016-04-01 | 2021-07-12 | Lego As | Legetøjsscanner |
JP6672075B2 (ja) * | 2016-05-25 | 2020-03-25 | キヤノン株式会社 | 制御装置、制御方法、及び、プログラム |
DE102016210538A1 (de) * | 2016-06-14 | 2017-12-14 | Eos Gmbh Electro Optical Systems | Verfahren und Vorrichtung zum Fertigen von Objekten mit verbesserter Oberflächenbeschaffenheit |
US10186049B1 (en) | 2017-03-06 | 2019-01-22 | URC Ventures, Inc. | Determining changes in object structure over time using mobile device images |
US10600203B2 (en) * | 2017-06-06 | 2020-03-24 | CapSen Robotics, Inc. | Three-dimensional scanner with detector pose identification |
US10885622B2 (en) | 2018-06-29 | 2021-01-05 | Photogauge, Inc. | System and method for using images from a commodity camera for object scanning, reverse engineering, metrology, assembly, and analysis |
US10834413B2 (en) * | 2018-08-24 | 2020-11-10 | Disney Enterprises, Inc. | Fast and accurate block matching for computer generated content |
US20240029376A1 (en) * | 2020-08-21 | 2024-01-25 | Youvue Corporation | Spatial foveated streaming -media distribution for extended reality devices |
US11282291B1 (en) | 2021-02-09 | 2022-03-22 | URC Ventures, Inc. | Determining object structure using fixed-location cameras with only partial view of object |
US11741618B2 (en) | 2021-03-22 | 2023-08-29 | Everypoint, Inc. | Performing object modeling by combining visual data from images with motion data of the image acquisition device |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5717454A (en) * | 1993-07-14 | 1998-02-10 | Lifetouch Portrait Studios, Inc. | Method and apparatus for creating posing masks on video screen |
JP3869876B2 (ja) | 1995-12-19 | 2007-01-17 | キヤノン株式会社 | 画像計測方法及び画像計測装置 |
US5850469A (en) * | 1996-07-09 | 1998-12-15 | General Electric Company | Real time tracking of camera pose |
CN1131495C (zh) * | 1996-08-29 | 2003-12-17 | 三洋电机株式会社 | 特征信息赋予方法及装置 |
US6106466A (en) | 1997-04-24 | 2000-08-22 | University Of Washington | Automated delineation of heart contours from images using reconstruction-based modeling |
EP0898245B1 (en) * | 1997-08-05 | 2004-04-14 | Canon Kabushiki Kaisha | Image processing method and apparatus |
US6563499B1 (en) * | 1998-07-20 | 2003-05-13 | Geometrix, Inc. | Method and apparatus for generating a 3D region from a surrounding imagery |
WO2001039124A2 (en) | 1999-11-23 | 2001-05-31 | Canon Kabushiki Kaisha | Image processing apparatus |
GB2358307B (en) | 1999-11-25 | 2004-03-24 | Canon Kk | Image processing apparatus |
US7065242B2 (en) * | 2000-03-28 | 2006-06-20 | Viewpoint Corporation | System and method of three-dimensional image capture and modeling |
US7728848B2 (en) * | 2000-03-28 | 2010-06-01 | DG FastChannel, Inc. | Tools for 3D mesh and texture manipulation |
JP3364654B2 (ja) * | 2000-05-31 | 2003-01-08 | 独立行政法人産業技術総合研究所 | 仮想形態生成装置及び生成方法 |
JP4474743B2 (ja) * | 2000-07-03 | 2010-06-09 | ソニー株式会社 | 三次元画像生成装置および三次元画像生成方法、並びにプログラム記録媒体 |
GB2369260B (en) | 2000-10-27 | 2005-01-19 | Canon Kk | Method and apparatus for the generation of composite images |
EP1204073B1 (en) | 2000-10-27 | 2007-01-31 | Canon Kabushiki Kaisha | Image generation method and apparatus |
GB2369541B (en) | 2000-10-27 | 2004-02-11 | Canon Kk | Method and aparatus for generating visibility data |
US6765572B2 (en) * | 2001-04-23 | 2004-07-20 | Koninklijke Philips Electronics N.V. | Virtual modeling by voxel-clipping shadow-cast |
GB0114157D0 (en) | 2001-06-11 | 2001-08-01 | Canon Kk | 3D Computer modelling apparatus |
US6762769B2 (en) * | 2002-01-23 | 2004-07-13 | Microsoft Corporation | System and method for real-time texture synthesis using patch-based sampling |
-
2002
- 2002-04-18 GB GBGB0208909.2A patent/GB0208909D0/en not_active Ceased
-
2003
- 2003-04-11 DE DE60318921T patent/DE60318921D1/de not_active Expired - Lifetime
- 2003-04-11 EP EP03252298A patent/EP1355277B1/en not_active Expired - Fee Related
- 2003-04-15 US US10/413,290 patent/US7034821B2/en not_active Expired - Fee Related
- 2003-04-17 JP JP2003113214A patent/JP2004157968A/ja not_active Withdrawn
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010526295A (ja) * | 2007-04-24 | 2010-07-29 | 株式会社ソニー・コンピュータエンタテインメント | ビデオカメラとtvモニタを使用した3次元オブジェクトのスキャン |
KR101851303B1 (ko) * | 2016-10-27 | 2018-04-23 | 주식회사 맥스트 | 3차원 공간 재구성 장치 및 방법 |
KR101875047B1 (ko) * | 2018-04-24 | 2018-07-06 | 주식회사 예간아이티 | 사진측량을 이용한 3d 모델링 시스템 및 방법 |
KR20210023671A (ko) * | 2019-08-23 | 2021-03-04 | 주식회사 예간아이티 | 2d 이미지를 활용하여 3d 컨텐츠의 텍스처를 생성하는 영상 처리 방법 및 영상 처리 장치 |
KR102413517B1 (ko) * | 2019-08-23 | 2022-06-28 | 주식회사 예간아이티 | 2d 이미지를 활용하여 3d 컨텐츠의 텍스처를 생성하는 영상 처리 방법 및 영상 처리 장치 |
JP7291835B1 (ja) | 2022-09-13 | 2023-06-15 | 株式会社バンダイ | 画像処理方法、情報処理装置、及び、コンピュータプログラム |
Also Published As
Publication number | Publication date |
---|---|
US7034821B2 (en) | 2006-04-25 |
EP1355277B1 (en) | 2008-01-30 |
GB0208909D0 (en) | 2002-05-29 |
DE60318921D1 (de) | 2008-03-20 |
US20030218607A1 (en) | 2003-11-27 |
EP1355277A2 (en) | 2003-10-22 |
EP1355277A3 (en) | 2004-01-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2004157968A (ja) | 3次元コンピュータモデリング | |
US6954212B2 (en) | Three-dimensional computer modelling | |
JP3793115B2 (ja) | 3dコンピュータモデリング装置 | |
JP4497772B2 (ja) | 画像処理装置 | |
Rivers et al. | Sculpting by numbers | |
Seitz | Image-based transformation of viewpoint and scene appearance | |
US20040155877A1 (en) | Image processing apparatus | |
WO2018080816A1 (en) | Augmented scanning of 3d models | |
CN107507274A (zh) | 一种基于云计算的公安案件现场三维实景快速还原方法 | |
JP2002520749A (ja) | 完全にテクスチャリングされた3次元モデルを発生する方法及びシステム | |
JP2002202838A (ja) | 画像処理装置 | |
CN106797458A (zh) | 真实对象的虚拟改变 | |
JP2003187265A (ja) | 画像処理装置 | |
JP3647407B2 (ja) | 画像処理装置 | |
GB2406252A (en) | Generation of texture maps for use in 3D computer graphics | |
JP2002236909A (ja) | 画像データ処理方法およびモデリング装置 | |
CN115439616A (zh) | 基于多对象图像α叠加的异构对象表征方法 | |
JP4809480B2 (ja) | 丸みのある角を備えた画像を生成するためのコンピュータグラフィックスの方法およびシステム | |
JP2003302211A (ja) | 3次元画像処理装置及び方法 | |
JP2003216970A (ja) | 三次元画像処理装置、三次元画像処理システム、三次元画像処理方法および三次元画像処理プログラム | |
US11393180B2 (en) | Applying non-destructive edits to nested instances for efficient rendering | |
JP3781008B2 (ja) | 3次元モデルの編集方法および装置並びにコンピュータプログラム | |
JP2000057376A (ja) | 新視点画像生成方法 | |
US20220245890A1 (en) | Three-dimensional modelling from photographs in series | |
Cabanes Gines | Hybrid 2D/3D Models for Photo-Based Animations of Virtual Urban Scenes. The Plaza de la Virgen of Valencia, in the 1870s |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20060704 |