JP2002519791A - 画像センサを使用して立体画像をキャプチャする方法および装置 - Google Patents
画像センサを使用して立体画像をキャプチャする方法および装置Info
- Publication number
- JP2002519791A JP2002519791A JP2000557427A JP2000557427A JP2002519791A JP 2002519791 A JP2002519791 A JP 2002519791A JP 2000557427 A JP2000557427 A JP 2000557427A JP 2000557427 A JP2000557427 A JP 2000557427A JP 2002519791 A JP2002519791 A JP 2002519791A
- Authority
- JP
- Japan
- Prior art keywords
- image
- image sensor
- imaging device
- light
- capturing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000003384 imaging method Methods 0.000 claims abstract description 161
- 230000008569 process Effects 0.000 claims description 10
- 238000001429 visible spectrum Methods 0.000 claims description 9
- 238000004422 calculation algorithm Methods 0.000 claims description 4
- 230000000875 corresponding effect Effects 0.000 description 28
- 238000004364 calculation method Methods 0.000 description 10
- 230000002596 correlated effect Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 230000000007 visual effect Effects 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 238000012937 correction Methods 0.000 description 6
- 239000013598 vector Substances 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 230000005855 radiation Effects 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 229910003460 diamond Inorganic materials 0.000 description 2
- 239000010432 diamond Substances 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 239000011521 glass Substances 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 239000003973 paint Substances 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 238000000411 transmission spectrum Methods 0.000 description 2
- 102100033041 Carbonic anhydrase 13 Human genes 0.000 description 1
- 101000867860 Homo sapiens Carbonic anhydrase 13 Proteins 0.000 description 1
- 101100063942 Neurospora crassa (strain ATCC 24698 / 74-OR23-1A / CBS 708.71 / DSM 1257 / FGSC 987) dot-1 gene Proteins 0.000 description 1
- 101100219325 Phaseolus vulgaris BA13 gene Proteins 0.000 description 1
- 239000004927 clay Substances 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 230000008021 deposition Effects 0.000 description 1
- 210000000887 face Anatomy 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000003331 infrared imaging Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000002834 transmittance Methods 0.000 description 1
- 230000035899 viability Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B11/00—Measuring arrangements characterised by the use of optical techniques
- G01B11/24—Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures
- G01B11/25—Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures by projecting a pattern, e.g. one or more lines, moiré fringes on the object
-
- 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/521—Depth or shape recovery from laser ranging, e.g. using interferometry; from the projection of structured light
-
- 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
- G06T7/593—Depth or shape recovery from multiple images from stereo images
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/204—Image signal generators using stereoscopic image cameras
- H04N13/207—Image signal generators using stereoscopic image cameras using a single 2D image sensor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/204—Image signal generators using stereoscopic image cameras
- H04N13/239—Image signal generators using stereoscopic image cameras using two 2D image sensors having a relative position equal to or related to the interocular distance
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/204—Image signal generators using stereoscopic image cameras
- H04N13/246—Calibration of cameras
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/204—Image signal generators using stereoscopic image cameras
- H04N13/254—Image signal generators using stereoscopic image cameras in combination with electromagnetic radiation sources for illuminating objects
-
- 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/10004—Still image; Photographic image
- G06T2207/10012—Stereo images
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N2013/0074—Stereoscopic image analysis
- H04N2013/0081—Depth or disparity estimation from stereoscopic image signals
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Electromagnetism (AREA)
- Optics & Photonics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Length Measuring Devices By Optical Means (AREA)
- Image Processing (AREA)
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
- Stereoscopic And Panoramic Photography (AREA)
Abstract
(57)【要約】
目標被写体上に構造化された光を投射する(51)、回折デバイスを備えた光源を使用して、立体画像をキャプチャする方法および装置。このシステムは、目標被写体の画像をキャプチャするために(52)、複数の撮像デバイスを使用する。さらに、このシステムは、3Dデータに加えて、テクスチャ・データを得る(53)。
Description
【0001】 (発明の背景) (1.発明の分野) 本発明は、一般に3次元(3D)モデルに関し、詳細には、処理を行うことに
より対象(被写体)の3次元モデルを形成する立体画像をキャプチャする方法お
よび装置に関する。
より対象(被写体)の3次元モデルを形成する立体画像をキャプチャする方法お
よび装置に関する。
【0002】 (2.関連技術の説明) 被写体の3次元(3D)モデルを生成することは、1つの角度からしか見るこ
とのできない2次元(2D)モデルの場合とは異なり、そのモデルを多くの異な
る角度から見ることを可能にする。3Dモデルを生成する1つの方法は、現実の
被写体の多数の画像を、異なる位置から撮って、被写体の投影での差を利用する
ことである。これら多数の画像は、被写体の3Dモデルを生成するのに適したも
のであり得る。3Dモデルが生成されると、その3Dモデルを写真やテレビの場
合と同様に仮想世界に置き、他者と共有することができる。詳細には、3Dモデ
ルが商業的に成り立つものであることが、エンターテイメント業界、広告業界、
およびシミュレーション業界で著しく目立っている。
とのできない2次元(2D)モデルの場合とは異なり、そのモデルを多くの異な
る角度から見ることを可能にする。3Dモデルを生成する1つの方法は、現実の
被写体の多数の画像を、異なる位置から撮って、被写体の投影での差を利用する
ことである。これら多数の画像は、被写体の3Dモデルを生成するのに適したも
のであり得る。3Dモデルが生成されると、その3Dモデルを写真やテレビの場
合と同様に仮想世界に置き、他者と共有することができる。詳細には、3Dモデ
ルが商業的に成り立つものであることが、エンターテイメント業界、広告業界、
およびシミュレーション業界で著しく目立っている。
【0003】 被写体の3Dモデルを生成するのが望ましく有利であることは、容易に理解さ
れ、3Dモデルを生成するための多くのツールが開発されてきた。例えば、カリ
フォルニア州サンフランシスコのKinetixからの3D Studio M
AXなどの3Dソフトウェアは、デジタル方式が使われているという違いを除け
ば、芸術家が粘土の塊を使って対象の彫刻をつくるのと同様に、ユーザが3Dモ
デルを生成することを可能にする。例としては、影響パラメータが割り当てられ
た球体である「メタボール」などのツールが融合して、望みの対象を形成する。
さらに細部のある対象の場合、生成される対象の小さな部分を定義する三角形ま
たは四角形などの「多角形」を使用することができる。別の例は、生成される対
象の表面を定義する曲線である「スプライン」であろう。ソフトウェアによる3
Dモデル生成の詳細は、ジョージ・マエストリ(George Maestri
)著の「Digital Character Animation」(New
Riders Publishing、1996年)に見ることができる。た
だし、ソフトウェアを使用して3Dモデルを生成することの複雑さや困難のため
に、当分野の技能者を除く多くの人々には、それを行うのは、ためらわれるもの
だった。例えば、ユーザは、芸術的であると同時に技術指向である必要がある。
さらに、3Dモデル化技法を修得するには、何年もの経験が必要になる可能性が
ある。これらの障害のため、普通の消費者は一般に、3Dソフトウェアを使用し
て3Dモデルを生成することができない。
れ、3Dモデルを生成するための多くのツールが開発されてきた。例えば、カリ
フォルニア州サンフランシスコのKinetixからの3D Studio M
AXなどの3Dソフトウェアは、デジタル方式が使われているという違いを除け
ば、芸術家が粘土の塊を使って対象の彫刻をつくるのと同様に、ユーザが3Dモ
デルを生成することを可能にする。例としては、影響パラメータが割り当てられ
た球体である「メタボール」などのツールが融合して、望みの対象を形成する。
さらに細部のある対象の場合、生成される対象の小さな部分を定義する三角形ま
たは四角形などの「多角形」を使用することができる。別の例は、生成される対
象の表面を定義する曲線である「スプライン」であろう。ソフトウェアによる3
Dモデル生成の詳細は、ジョージ・マエストリ(George Maestri
)著の「Digital Character Animation」(New
Riders Publishing、1996年)に見ることができる。た
だし、ソフトウェアを使用して3Dモデルを生成することの複雑さや困難のため
に、当分野の技能者を除く多くの人々には、それを行うのは、ためらわれるもの
だった。例えば、ユーザは、芸術的であると同時に技術指向である必要がある。
さらに、3Dモデル化技法を修得するには、何年もの経験が必要になる可能性が
ある。これらの障害のため、普通の消費者は一般に、3Dソフトウェアを使用し
て3Dモデルを生成することができない。
【0004】 3Dデータの生成は比較的遅く、上述の通り、普通の消費者には、時間がかか
って困難である。後で3Dデータを生成するのに使用する被写体の画像をキャプ
チャすることのできる3D撮像デバイス・システムを使用することで、特別な技
能をもたない消費者が、現実の被写体の3Dモデルを迅速かつ容易に生成するこ
とができるようになる。したがって、本発明は、後に3Dデータを生成するのに
使用でき、次に目標被写体の3Dモデルを生成するのに使用される立体画像を、
撮像デバイスを使用してキャプチャする方法および装置を対象とする。
って困難である。後で3Dデータを生成するのに使用する被写体の画像をキャプ
チャすることのできる3D撮像デバイス・システムを使用することで、特別な技
能をもたない消費者が、現実の被写体の3Dモデルを迅速かつ容易に生成するこ
とができるようになる。したがって、本発明は、後に3Dデータを生成するのに
使用でき、次に目標被写体の3Dモデルを生成するのに使用される立体画像を、
撮像デバイスを使用してキャプチャする方法および装置を対象とする。
【0005】 (発明の簡単な概要) 立体画像をキャプチャする方法および装置が開示される。目標被写体に構造化
された光を投射する回折デバイスを備えた光源が提供される。目標被写体の画像
をキャプチャするための複数の撮像デバイスが提供される。
された光を投射する回折デバイスを備えた光源が提供される。目標被写体の画像
をキャプチャするための複数の撮像デバイスが提供される。
【0006】 本発明の方法および装置の目的、特徴、および利点は、以下の説明から明らか
になろう。
になろう。
【0007】 (発明の詳細な説明) 現実の被写体の3次元(3D)モデルを生成する上で、現実の被写体の、多く
の画像を異なる位置から撮り、被写体の投影での差を利用する。多数の画像は例
えば、画像センサを備えたカムコーダまたはデジタル・カメラなどの撮像デバイ
スでキャプチャすることができる。一般に画像センサは、各ピクセルがその上に
注ぐ入射光をキャプチャする感光ピクセル配列を備えている。したがって、ピク
セル配列内でのピクセルの組み合わせにより、入射光からの画像をキャプチャす
ることができる。一般に、3Dモデルに再構成される被写体の表面は、少なくと
も2つの画像に存在していなければならない。というのは、再構成は、2つの画
像の表面の交差に基づいているからである。被写体の、上記の特徴を備えたこれ
らの2つまたは複数の画像(すなわち、立体画像)が、後続の3Dモデルへの処
理に適している。
の画像を異なる位置から撮り、被写体の投影での差を利用する。多数の画像は例
えば、画像センサを備えたカムコーダまたはデジタル・カメラなどの撮像デバイ
スでキャプチャすることができる。一般に画像センサは、各ピクセルがその上に
注ぐ入射光をキャプチャする感光ピクセル配列を備えている。したがって、ピク
セル配列内でのピクセルの組み合わせにより、入射光からの画像をキャプチャす
ることができる。一般に、3Dモデルに再構成される被写体の表面は、少なくと
も2つの画像に存在していなければならない。というのは、再構成は、2つの画
像の表面の交差に基づいているからである。被写体の、上記の特徴を備えたこれ
らの2つまたは複数の画像(すなわち、立体画像)が、後続の3Dモデルへの処
理に適している。
【0008】 被写体の立体画像を撮る上で、いくつかの問題が考慮される。第1に、被写体
は、画像が撮られている間に位置を変えたり、または形を変えたりしてはならな
い。第2に、すべての画像に関して、被写体は、その表面上のフィーチャが等し
く位置しているようでなければならない。これは、撮像デバイスの位置が変化す
るのにつれてフィーチャの位置が変化する鏡面反射の場合には当てはまらない。
第3に、光の経路は、この発明が適切に機能するためには実質的に直線的でなけ
ればならない。言い換えれば、画像の投影は、その経路の変更によって歪められ
てはならないということである。例としては、ガラスは光の経路を曲げる傾向が
あるので、投影される画像の経路にガラスがあってはならない。ただし、当技術
分野の専門家には、立体画像キャプチャの間に上記の条件が存在する場合、その
不一致に関して画像を補正できることが理解されるであろう。
は、画像が撮られている間に位置を変えたり、または形を変えたりしてはならな
い。第2に、すべての画像に関して、被写体は、その表面上のフィーチャが等し
く位置しているようでなければならない。これは、撮像デバイスの位置が変化す
るのにつれてフィーチャの位置が変化する鏡面反射の場合には当てはまらない。
第3に、光の経路は、この発明が適切に機能するためには実質的に直線的でなけ
ればならない。言い換えれば、画像の投影は、その経路の変更によって歪められ
てはならないということである。例としては、ガラスは光の経路を曲げる傾向が
あるので、投影される画像の経路にガラスがあってはならない。ただし、当技術
分野の専門家には、立体画像キャプチャの間に上記の条件が存在する場合、その
不一致に関して画像を補正できることが理解されるであろう。
【0009】 図3a〜3cは、目標被写体から抽出されている3Dデータの例を示している
。図3aは目標被写体で、この場合には顔である。撮像デバイスを使用して異な
る位置から被写体の画像をキャプチャすることによって、図3bに示されるとお
り、顔の立体画像である顔33および顔34をキャプチャすることができる。撮
像デバイスによってキャプチャされる顔の投影が、撮像デバイスの位置の変化す
るのにつれて、予測可能な仕方で変化することを確認できる。各画像は、2次元
である画像センサの平面に含まれているので、撮像デバイスによってキャプチャ
された画像は2次元(2D)データのみを含んでいることに注意されたい。ただ
し、2つの異なる位置からの顔の表面の、少なくとも2つの画像の交差が存在す
る場合、座標軸X、Y、Zをもった両方の画像センサに共有の任意の座標系に関
して、他方の画像に対応するポイントをもっている画像の各ポイントについて、
深さZ値を得ることができる。さらに、画像平面の座標軸X’、Y’によって表
現される、2つの画像センサでの2つの対応するポイントの位置を組み合わせて
、3Dデータのポイントのうちの1個になり得る3Dポイント(すなわち、X、
Y、Z値)を生成することができる。したがって、3Dデータは、目標被写体の
3Dポイント画像を形成するための、座標系内で識別される3D空間での複数の
ポイントであり、その例が図3cに示されている。目標被写体での、1個のポイ
ントのX、Y、Z値を得る方法は、後に説明する。次に、被写体の立体画像をキ
ャプチャするための3D撮像デバイス・システムについて説明する。
。図3aは目標被写体で、この場合には顔である。撮像デバイスを使用して異な
る位置から被写体の画像をキャプチャすることによって、図3bに示されるとお
り、顔の立体画像である顔33および顔34をキャプチャすることができる。撮
像デバイスによってキャプチャされる顔の投影が、撮像デバイスの位置の変化す
るのにつれて、予測可能な仕方で変化することを確認できる。各画像は、2次元
である画像センサの平面に含まれているので、撮像デバイスによってキャプチャ
された画像は2次元(2D)データのみを含んでいることに注意されたい。ただ
し、2つの異なる位置からの顔の表面の、少なくとも2つの画像の交差が存在す
る場合、座標軸X、Y、Zをもった両方の画像センサに共有の任意の座標系に関
して、他方の画像に対応するポイントをもっている画像の各ポイントについて、
深さZ値を得ることができる。さらに、画像平面の座標軸X’、Y’によって表
現される、2つの画像センサでの2つの対応するポイントの位置を組み合わせて
、3Dデータのポイントのうちの1個になり得る3Dポイント(すなわち、X、
Y、Z値)を生成することができる。したがって、3Dデータは、目標被写体の
3Dポイント画像を形成するための、座標系内で識別される3D空間での複数の
ポイントであり、その例が図3cに示されている。目標被写体での、1個のポイ
ントのX、Y、Z値を得る方法は、後に説明する。次に、被写体の立体画像をキ
ャプチャするための3D撮像デバイス・システムについて説明する。
【0010】 図1は、3D撮像デバイス・システムの実施形態を示している。図示されてい
る3D撮像デバイス・システム10は、この発明の理解を容易にするために左撮
像デバイス12および右撮像デバイス13と呼ぶことにする2つの撮像デバイス
を備えていることが示されている。この名前は、説明の最後まで使用するが、こ
の説明を読むことで、当技術分野の専門家には、この名前は互いに置き換えるこ
とが可能で、さらに、この発明は、2つより多い撮像デバイスが使用されている
場合も、あるいは適切な条件の下では、1つの撮像デバイスのみが使用される場
合にも適用可能なことが、理解されよう。撮像デバイス12および13のそれぞ
れは、目標被写体の画像をキャプチャすることのできる画像センサ14および1
5を備えている。3D撮像デバイス・システム10は、撮像デバイス12および
13によってキャプチャされた立体画像を、3Dデータになるように処理する計
算デバイス19を含み得る。この計算デバイスは、マイクロプロセッサ、論理演
算装置(ALU)、またはデータ情報を処理することのできる他のどのようなデ
バイスであってもよい。一実施形態では、計算デバイス19は、基礎となってい
るソフトウェアがどの程度、高度であるかにより、3Dデータを処理して3Dモ
デルにすることさえできる。例としては、3Dデータは、デロネー(Delau
nay)のアルゴリズムなどの従来のアルゴリズムを使用して、「三角測定する
」(すなわち、3Dデータの、すべての3個のポイントで三角形を形成すること
によって、被写体の表面を形成する)ことができる。当技術分野の専門家には、
適切な幾何構造を含めて、他のアルゴリズムを使用できることが理解されよう。
三角測定された構造の例が、図3dに示されている。例えば、カリフォルニア州
マウンテンビューのCaligaryから市販されるソフトウェア、True
Spaceを使用して、三角測定された構造にテクスチャ・データを適用するこ
とができる。一般に、テクスチャ・データは、被写体の物理的表面プロパティな
どの物質的情報を含み、また、被写体の色彩情報などを含むこともあり得る。別
法では、画像は後に処理するために、撮像デバイス12および13に格納され、
こうして3D撮像デバイス・システムでの計算デバイスの必要性を除去する。一
般に、後に説明することになる、3D撮像デバイス・システム10に関する「較
正」情報は、計算デバイス19に結合される、またはその一部分となり得るメモ
リ・デバイスに格納される。ただし、計算デバイス19が使用されない3D撮像
システム10では、システム10が、較正情報を格納するメモリ・デバイスを備
え得る、または較正情報はシステムとは別にされ、立体画像が3Dデータに変換
されるときに導入され得る。
る3D撮像デバイス・システム10は、この発明の理解を容易にするために左撮
像デバイス12および右撮像デバイス13と呼ぶことにする2つの撮像デバイス
を備えていることが示されている。この名前は、説明の最後まで使用するが、こ
の説明を読むことで、当技術分野の専門家には、この名前は互いに置き換えるこ
とが可能で、さらに、この発明は、2つより多い撮像デバイスが使用されている
場合も、あるいは適切な条件の下では、1つの撮像デバイスのみが使用される場
合にも適用可能なことが、理解されよう。撮像デバイス12および13のそれぞ
れは、目標被写体の画像をキャプチャすることのできる画像センサ14および1
5を備えている。3D撮像デバイス・システム10は、撮像デバイス12および
13によってキャプチャされた立体画像を、3Dデータになるように処理する計
算デバイス19を含み得る。この計算デバイスは、マイクロプロセッサ、論理演
算装置(ALU)、またはデータ情報を処理することのできる他のどのようなデ
バイスであってもよい。一実施形態では、計算デバイス19は、基礎となってい
るソフトウェアがどの程度、高度であるかにより、3Dデータを処理して3Dモ
デルにすることさえできる。例としては、3Dデータは、デロネー(Delau
nay)のアルゴリズムなどの従来のアルゴリズムを使用して、「三角測定する
」(すなわち、3Dデータの、すべての3個のポイントで三角形を形成すること
によって、被写体の表面を形成する)ことができる。当技術分野の専門家には、
適切な幾何構造を含めて、他のアルゴリズムを使用できることが理解されよう。
三角測定された構造の例が、図3dに示されている。例えば、カリフォルニア州
マウンテンビューのCaligaryから市販されるソフトウェア、True
Spaceを使用して、三角測定された構造にテクスチャ・データを適用するこ
とができる。一般に、テクスチャ・データは、被写体の物理的表面プロパティな
どの物質的情報を含み、また、被写体の色彩情報などを含むこともあり得る。別
法では、画像は後に処理するために、撮像デバイス12および13に格納され、
こうして3D撮像デバイス・システムでの計算デバイスの必要性を除去する。一
般に、後に説明することになる、3D撮像デバイス・システム10に関する「較
正」情報は、計算デバイス19に結合される、またはその一部分となり得るメモ
リ・デバイスに格納される。ただし、計算デバイス19が使用されない3D撮像
システム10では、システム10が、較正情報を格納するメモリ・デバイスを備
え得る、または較正情報はシステムとは別にされ、立体画像が3Dデータに変換
されるときに導入され得る。
【0011】 3D撮像デバイス・システム10はさらに、発生する光線を投射する照明デバ
イス16、ならびに光線を適切なパターンの線、グリッド、ドット、または他の
何らかの幾何パターンに分割する回折デバイス17を備えている。例としては、
回折デバイスは、ノース・カロライナ州シャーロットのDigital Opt
ics Corporationから市販されるもの、またはニューヨーク州ロ
チェスタのRochester Photonicsから市販されるものであり
得る。「構造化された光」という用語は、光源によって発生させられる線、スト
ライプ、セグメント化された線、グリッド、ドットなどを含む構造を意味するも
のと理解されたい。構造化された光の理由は、計算デバイスに容易に認識可能な
構造を、目標被写体に与えることである。言い換えれば、計算デバイスが、目標
被写体の自然なフィーチャから得られる情報だけを使用して、1つの画像での1
個のポイントを、別の画像での対応するポイントにマッチングすることは困難で
ある。例としては、人間の顔が3Dモデル化すべき被写体であり、目がマッチン
グすべきフィーチャである場合、計算デバイスは、別の対応する画像での2つの
目を区別できない、または他のフィーチャと区別できないために誤りを犯すとい
うことがあり得る。しかし、構造化された光を使用することにより、計算デバイ
スが、例えば縦線の位置によって、容易に被写体の輪郭を参照することができる
。一実施形態では、構造化された光の各縦線は、1本の縦線が別の1本のものか
ら区別できるようにコード化される。コード化は、目標被写体の輪郭によって縦
線が表れてくる場合に望ましい。この場合、計算デバイスは、1本の縦線から別
の1本の縦線にジャンプすることで誤りを犯し得る。各線にコードを与えること
により、縦線のコードを知っている計算デバイスは、トレースされている線のコ
ードが変わったときにエラーを検出し、そのエラーを修正するために戻って再ト
レースをすることができ得る。線は、例えば回折デバイス17の一端と結合され
た、適切なフィルタ18を使用することにより、コード化され得る。例えば、コ
ードは、縦線を、近傍にある別の縦線とは異なるパターンにセグメント化すると
いうことであり得る。フィルタ18は、縦線になった構造化された光が放出され
るようにするスリットをもち得るが、縦線の望まれるセグメント化パターンに対
応するスリットの遮蔽をもち得る。
イス16、ならびに光線を適切なパターンの線、グリッド、ドット、または他の
何らかの幾何パターンに分割する回折デバイス17を備えている。例としては、
回折デバイスは、ノース・カロライナ州シャーロットのDigital Opt
ics Corporationから市販されるもの、またはニューヨーク州ロ
チェスタのRochester Photonicsから市販されるものであり
得る。「構造化された光」という用語は、光源によって発生させられる線、スト
ライプ、セグメント化された線、グリッド、ドットなどを含む構造を意味するも
のと理解されたい。構造化された光の理由は、計算デバイスに容易に認識可能な
構造を、目標被写体に与えることである。言い換えれば、計算デバイスが、目標
被写体の自然なフィーチャから得られる情報だけを使用して、1つの画像での1
個のポイントを、別の画像での対応するポイントにマッチングすることは困難で
ある。例としては、人間の顔が3Dモデル化すべき被写体であり、目がマッチン
グすべきフィーチャである場合、計算デバイスは、別の対応する画像での2つの
目を区別できない、または他のフィーチャと区別できないために誤りを犯すとい
うことがあり得る。しかし、構造化された光を使用することにより、計算デバイ
スが、例えば縦線の位置によって、容易に被写体の輪郭を参照することができる
。一実施形態では、構造化された光の各縦線は、1本の縦線が別の1本のものか
ら区別できるようにコード化される。コード化は、目標被写体の輪郭によって縦
線が表れてくる場合に望ましい。この場合、計算デバイスは、1本の縦線から別
の1本の縦線にジャンプすることで誤りを犯し得る。各線にコードを与えること
により、縦線のコードを知っている計算デバイスは、トレースされている線のコ
ードが変わったときにエラーを検出し、そのエラーを修正するために戻って再ト
レースをすることができ得る。線は、例えば回折デバイス17の一端と結合され
た、適切なフィルタ18を使用することにより、コード化され得る。例えば、コ
ードは、縦線を、近傍にある別の縦線とは異なるパターンにセグメント化すると
いうことであり得る。フィルタ18は、縦線になった構造化された光が放出され
るようにするスリットをもち得るが、縦線の望まれるセグメント化パターンに対
応するスリットの遮蔽をもち得る。
【0012】 光源16の一実施形態は、レーザ放出体であり得る。光源16および回折デバ
イス17は、目標被写体上に、例えば縦線のレーザ光線を投射することができる
。縦線についてのこの説明は、決してこの発明の範囲を制限するものとして解釈
すべきではない。例えば、カメラの方向により、横線を使用することができる。
さらに、それはドットのグリッドまたはセグメント化された線などであり得る。
図4は、可視光源およびテクスチャ・データを使用して、目標被写体の立体画像
をキャプチャする一例が示されている。ブロック41は、光源16によって目標
被写体上に投射される構造化された光を示している。構造化された光が投射され
たところで、ブロック42は、3D撮像デバイス・システム10の左12および
右13の撮像デバイスによってキャプチャされた被写体の立体画像を示している
。構造化された光(すなわち、構造化された光データ)とともに被写体の立体画
像がキャプチャされたところで、ブロック43は、光源16のスイッチが切られ
るのを示している。ブロック44は、同時に、または可能な限り同時に近く、左
撮像デバイス12および右撮像デバイス13のいずれか1つによって、テクスチ
ャ・データを得るために画像がキャプチャされることを示している。テクスチャ
・データを得るためには、左12および右13撮像デバイスによって複数の画像
を撮り得るが、一般に1つの撮像デバイスからの1つの画像で充分であろう。こ
の同時性の理由は、構造化された光データをもった立体画像をテクスチャ・デー
タをもった画像と、できる限り綿密にマッチングするためである。ただし、3D
撮像デバイス・システム10および目標被写体が比較的、静止している場合、同
時性はもはや重要ではないことに注意されたい。さらに、一実施形態では、テク
スチャ・データは立体画像とは独立であることが可能で、例えば、テクスチャ・
データが、従来の方法を使用してコンピュータによって生成されている場合、テ
キスチャの画像は必要ない。
イス17は、目標被写体上に、例えば縦線のレーザ光線を投射することができる
。縦線についてのこの説明は、決してこの発明の範囲を制限するものとして解釈
すべきではない。例えば、カメラの方向により、横線を使用することができる。
さらに、それはドットのグリッドまたはセグメント化された線などであり得る。
図4は、可視光源およびテクスチャ・データを使用して、目標被写体の立体画像
をキャプチャする一例が示されている。ブロック41は、光源16によって目標
被写体上に投射される構造化された光を示している。構造化された光が投射され
たところで、ブロック42は、3D撮像デバイス・システム10の左12および
右13の撮像デバイスによってキャプチャされた被写体の立体画像を示している
。構造化された光(すなわち、構造化された光データ)とともに被写体の立体画
像がキャプチャされたところで、ブロック43は、光源16のスイッチが切られ
るのを示している。ブロック44は、同時に、または可能な限り同時に近く、左
撮像デバイス12および右撮像デバイス13のいずれか1つによって、テクスチ
ャ・データを得るために画像がキャプチャされることを示している。テクスチャ
・データを得るためには、左12および右13撮像デバイスによって複数の画像
を撮り得るが、一般に1つの撮像デバイスからの1つの画像で充分であろう。こ
の同時性の理由は、構造化された光データをもった立体画像をテクスチャ・デー
タをもった画像と、できる限り綿密にマッチングするためである。ただし、3D
撮像デバイス・システム10および目標被写体が比較的、静止している場合、同
時性はもはや重要ではないことに注意されたい。さらに、一実施形態では、テク
スチャ・データは立体画像とは独立であることが可能で、例えば、テクスチャ・
データが、従来の方法を使用してコンピュータによって生成されている場合、テ
キスチャの画像は必要ない。
【0013】 別の実施形態では、光源16は、赤外領域(一般に780nmより長い波長を
もった光であると考えられている)内に光を放出することができる。この場合に
は、撮像デバイス12、13の画像センサ14、15が、可視光のテクスチャ・
データおよび赤外の構造化された光データを同時にキャプチャできるように設計
され得る。画像センサ14、15は、色フィルタの適切な使用を介して、可視光
線および赤外線を同時にキャプチャできるように装備することができる。例とし
ては、2×2の正方形パターンの赤、緑、青(RGB)および赤外(IR)ピク
セルを備えた画像センサを、現存する市販の色フィルタ配列(CFA)材料を使
用し、これらの材料がIR放射に対しては透過性であるという事実の利点を生か
して、作成することができる。スペクトルの可視部分で重複する透過率のない、
2つのCFAの色(例えばR、B)の単なるオーバレイにより、可視光線を遮断
し、IRのみ透過させる合成フィルタ・エレメントを作成することが可能である
。2枚のフィルタが合成フィルタを作成するのに使用された場合には、この2枚
のフィルタのそれぞれは、他方のフィルタとは背反の可視放射透過スペクトルを
もっているので、実質的に可視光線が、この2枚のフィルタの組み合わせで結果
として形成された合成フィルタを透過することはない。3つ以上のフィルタを使
用した場合、各フィルタは、得られた複合フィルタが実質上可視光に対して不透
明であるように可視放射通過スペクトルを有する。したがって、この合成フィル
タ・エレメントは、合成されたフィルタを形成するのに使用されている構成要素
であるフィルタのそれぞれが、実質的にIRに対して透過性なので、IR通過フ
ィルタである。CFAの蒸着は、半導体産業では周知のフォトリソグラフ技法に
よって達せられる。RGBおよびIR画像センサに関するさらなる情報は、特許
出願「Infrared Pixel Sensor and Infrare
d Signal Correction」に見ることができる。
もった光であると考えられている)内に光を放出することができる。この場合に
は、撮像デバイス12、13の画像センサ14、15が、可視光のテクスチャ・
データおよび赤外の構造化された光データを同時にキャプチャできるように設計
され得る。画像センサ14、15は、色フィルタの適切な使用を介して、可視光
線および赤外線を同時にキャプチャできるように装備することができる。例とし
ては、2×2の正方形パターンの赤、緑、青(RGB)および赤外(IR)ピク
セルを備えた画像センサを、現存する市販の色フィルタ配列(CFA)材料を使
用し、これらの材料がIR放射に対しては透過性であるという事実の利点を生か
して、作成することができる。スペクトルの可視部分で重複する透過率のない、
2つのCFAの色(例えばR、B)の単なるオーバレイにより、可視光線を遮断
し、IRのみ透過させる合成フィルタ・エレメントを作成することが可能である
。2枚のフィルタが合成フィルタを作成するのに使用された場合には、この2枚
のフィルタのそれぞれは、他方のフィルタとは背反の可視放射透過スペクトルを
もっているので、実質的に可視光線が、この2枚のフィルタの組み合わせで結果
として形成された合成フィルタを透過することはない。3つ以上のフィルタを使
用した場合、各フィルタは、得られた複合フィルタが実質上可視光に対して不透
明であるように可視放射通過スペクトルを有する。したがって、この合成フィル
タ・エレメントは、合成されたフィルタを形成するのに使用されている構成要素
であるフィルタのそれぞれが、実質的にIRに対して透過性なので、IR通過フ
ィルタである。CFAの蒸着は、半導体産業では周知のフォトリソグラフ技法に
よって達せられる。RGBおよびIR画像センサに関するさらなる情報は、特許
出願「Infrared Pixel Sensor and Infrare
d Signal Correction」に見ることができる。
【0014】 図5は、非可視光源およびテクスチャ・データを使用して、目標被写体の構造
的光データをキャプチャする一例を示している。ブロック51は、目標被写体上
に構造化された光を投射する非可視光源を示している。ブロック52は、左撮像
デバイス12および右撮像デバイスによって撮られた立体画像を示している。ブ
ロック53は、撮像デバイス12、13の少なくとも1つが、テクスチャ・デー
タのために色出力(例えば、赤、青、緑)を生成し、撮像デバイス12、13の
両方が、構造的光データを処理するために、非可視光(例えば、赤外線)を生成
しているのを示している。
的光データをキャプチャする一例を示している。ブロック51は、目標被写体上
に構造化された光を投射する非可視光源を示している。ブロック52は、左撮像
デバイス12および右撮像デバイスによって撮られた立体画像を示している。ブ
ロック53は、撮像デバイス12、13の少なくとも1つが、テクスチャ・デー
タのために色出力(例えば、赤、青、緑)を生成し、撮像デバイス12、13の
両方が、構造的光データを処理するために、非可視光(例えば、赤外線)を生成
しているのを示している。
【0015】 別の実施形態では、撮像デバイス・システム10は、白黒撮像デバイスなどの
モノクローム撮像デバイスおよびカラー撮像デバイスを備えている。一般に、カ
ラー撮像デバイスが、目標被写体のテクスチャ・データと構造化された光データ
の両方をキャプチャするのに使用されている場合、構造化された光データの解像
度が損なわれる。このことは、フィーチャでのポイントを定義するのにも使用さ
れる3つ以上のピクセル(例えば、赤、緑、青)によって一般に定義される色に
より生じる。したがって、位置の情報がピクセルのグループにわたって拡がる。
フィーチャでの1個のポイントを定義するのに1個のピクセルを使用することで
、より高い解像度を得ることができる。フィーチャの位置の情報をキャプチャす
るのにモノクロームの撮像デバイスを使用することで、より高い精度が達せられ
る。
モノクローム撮像デバイスおよびカラー撮像デバイスを備えている。一般に、カ
ラー撮像デバイスが、目標被写体のテクスチャ・データと構造化された光データ
の両方をキャプチャするのに使用されている場合、構造化された光データの解像
度が損なわれる。このことは、フィーチャでのポイントを定義するのにも使用さ
れる3つ以上のピクセル(例えば、赤、緑、青)によって一般に定義される色に
より生じる。したがって、位置の情報がピクセルのグループにわたって拡がる。
フィーチャでの1個のポイントを定義するのに1個のピクセルを使用することで
、より高い解像度を得ることができる。フィーチャの位置の情報をキャプチャす
るのにモノクロームの撮像デバイスを使用することで、より高い精度が達せられ
る。
【0016】 図2は、上述の3D撮像デバイス・システムの一実施形態を示している。3D
撮像デバイス・システム20は、本明細書では左モノクローム撮像デバイス22
および右モノクローム撮像デバイス23と呼ぶことにする1対のモノクローム撮
像デバイスを備えている。1対のモノクローム撮像デバイス22、23は、被写
体の構造的な光データを含む目標被写体の立体画像をキャプチャする。構造化さ
れた光は、光源16および回折デバイス17によって、前述の方式で発生させら
れる。構造化された光のコード化が望まれる場合、適切なフィルタ18を、回折
デバイス17に結合することができる。3D撮像デバイス・システム20はさら
に、目標被写体のテクスチャ・データをキャプチャするカラーの撮像デバイス2
4を備えている。テクスチャ・データが得られたとき、光が可視スペクトル内に
ある場合、光源16は、構造化された光を放出しないように止められる。ただし
、その光が非可視スペクトル内にある場合は、モノクローム撮像デバイス22、
23およびカラー撮像デバイス24が、目標被写体の画像を同時に撮り得る。こ
の場合、モノクローム撮像デバイスは、非可視スペクトル内の光によって生成さ
れた構造的光データをキャプチャできるように適合可能でなければならない。例
としては、前述の通り非可視光源が赤外線放出体である場合、モノクローム撮像
デバイスは、赤外線撮像デバイスであり得る。モノクローム撮像デバイス22、
23によって得られたキャプチャされた位置情報が、カラー撮像デバイス24の
テクスチャ・データと組み合わせられて、高度の解像度をもった3Dモデルを形
成するように、3つの撮像デバイス22、23、24のすべては、選択された座
標系に対して較正されているべきことに注意されたい。どのような立体画像が撮
られるのにも先立って、3D撮像デバイス・システムのすべての撮像デバイスが
較正されなければならず、このことは以下の説明で明らかになる。
撮像デバイス・システム20は、本明細書では左モノクローム撮像デバイス22
および右モノクローム撮像デバイス23と呼ぶことにする1対のモノクローム撮
像デバイスを備えている。1対のモノクローム撮像デバイス22、23は、被写
体の構造的な光データを含む目標被写体の立体画像をキャプチャする。構造化さ
れた光は、光源16および回折デバイス17によって、前述の方式で発生させら
れる。構造化された光のコード化が望まれる場合、適切なフィルタ18を、回折
デバイス17に結合することができる。3D撮像デバイス・システム20はさら
に、目標被写体のテクスチャ・データをキャプチャするカラーの撮像デバイス2
4を備えている。テクスチャ・データが得られたとき、光が可視スペクトル内に
ある場合、光源16は、構造化された光を放出しないように止められる。ただし
、その光が非可視スペクトル内にある場合は、モノクローム撮像デバイス22、
23およびカラー撮像デバイス24が、目標被写体の画像を同時に撮り得る。こ
の場合、モノクローム撮像デバイスは、非可視スペクトル内の光によって生成さ
れた構造的光データをキャプチャできるように適合可能でなければならない。例
としては、前述の通り非可視光源が赤外線放出体である場合、モノクローム撮像
デバイスは、赤外線撮像デバイスであり得る。モノクローム撮像デバイス22、
23によって得られたキャプチャされた位置情報が、カラー撮像デバイス24の
テクスチャ・データと組み合わせられて、高度の解像度をもった3Dモデルを形
成するように、3つの撮像デバイス22、23、24のすべては、選択された座
標系に対して較正されているべきことに注意されたい。どのような立体画像が撮
られるのにも先立って、3D撮像デバイス・システムのすべての撮像デバイスが
較正されなければならず、このことは以下の説明で明らかになる。
【0017】 図1を例として参照すると、どのような立体画像が撮られるのにも先立って、
撮像デバイス12および13に対する較正が実行されて、これらの撮像デバイス
それぞれの位置および方向が決定される。較正を実行することにより、画像デバ
イスは、選択された座標系に配置されて、後に説明するように、これによって3
Dデータを生成するのに使用される計算デバイスが、選択された座標での撮像デ
バイスの相対的位置を知ることを可能にする。撮像デバイスの位置が知られると
、キャプチャされた立体画像のフィーチャを、3Dモデル化のための3Dデータ
を形成するために、合成された入力を形成するように相関させられる。この点を
説明するため、3D空間の2つの撮像デバイスが、同一の被写体の画像を撮って
、被写体の立体画像である左画像および右画像を形成するものと想定する。2つ
の画像の違いにより、立体的マッチングを行うことができる。立体的マッチング
は、1つの画像のポイント・フィーチャと、別の画像での対応するポイント・フ
ィーチャとのマッチングが行われる処理である。人間の視覚システムは、容易に
左画像と右画像の様々なフィーチャを検出して、この2つの画像を相関させられ
るのであるが、同様な機能を実行する計算デバイスには、様々なフィーチャを、
座標系の座標との関係で定義することが必要となる。この動作からの重要な情報
は、画像でのフィーチャの位置を決定する各画像の座標のセットである。すべて
の画像でのこれらのフィーチャの座標セットは、それを使用して各画像が撮られ
た撮像の位置とともに、ここで、識別されたフィーチャの、3次元空間での元の
位置を決定するのに使用することができる。
撮像デバイス12および13に対する較正が実行されて、これらの撮像デバイス
それぞれの位置および方向が決定される。較正を実行することにより、画像デバ
イスは、選択された座標系に配置されて、後に説明するように、これによって3
Dデータを生成するのに使用される計算デバイスが、選択された座標での撮像デ
バイスの相対的位置を知ることを可能にする。撮像デバイスの位置が知られると
、キャプチャされた立体画像のフィーチャを、3Dモデル化のための3Dデータ
を形成するために、合成された入力を形成するように相関させられる。この点を
説明するため、3D空間の2つの撮像デバイスが、同一の被写体の画像を撮って
、被写体の立体画像である左画像および右画像を形成するものと想定する。2つ
の画像の違いにより、立体的マッチングを行うことができる。立体的マッチング
は、1つの画像のポイント・フィーチャと、別の画像での対応するポイント・フ
ィーチャとのマッチングが行われる処理である。人間の視覚システムは、容易に
左画像と右画像の様々なフィーチャを検出して、この2つの画像を相関させられ
るのであるが、同様な機能を実行する計算デバイスには、様々なフィーチャを、
座標系の座標との関係で定義することが必要となる。この動作からの重要な情報
は、画像でのフィーチャの位置を決定する各画像の座標のセットである。すべて
の画像でのこれらのフィーチャの座標セットは、それを使用して各画像が撮られ
た撮像の位置とともに、ここで、識別されたフィーチャの、3次元空間での元の
位置を決定するのに使用することができる。
【0018】 図6は、較正を実行することの一実施形態を示している。較正の目的では、選
択された座標系との関係で撮像デバイスの位置および方向を完全に規定するには
、全部で少なくとも6つの位置の値が必要となり得る。この位置の値は、3D撮
像デバイス・システムでの各撮像デバイスについて決定されることに注意された
い。一実施形態では、撮像デバイスは、図7に示されるとおり、中心から突出し
、あらかじめ決定された距離(すなわち、後に説明するピン・ホール長さ)で画
像センサ15に対して垂直にあるピン・ホールPを備えた画像センサ15として
定義することができる。撮像デバイスのピン・ホールは、画像に対応するすべて
の入射光が撮像デバイスに侵入して、その画像を画像センサに投影することにな
る、画像センサの中心に対して垂直で固定距離に位置する、空間内の架空のポイ
ントである。撮像デバイスの位置は、選択した座標系でのピン・ホールの位置に
よって決定することができる。一実施形態では、選択された座標系は、任意に指
定される原点およびX、Y、Z軸をもったデカルト座標系であり、したがって、
位置の値の3つは、選択された座標系でのピン・ホールの位置に対応するX、Y
、Zであることが可能である。別の実施形態では、極座標系を使用することがで
き、同様に原点、半径、緯度角、経度角の参照が任意に指定され、したがって、
ピン・ホールの位置は、選択された座標系での半径、緯度角、および経度角で定
義することが可能である。
択された座標系との関係で撮像デバイスの位置および方向を完全に規定するには
、全部で少なくとも6つの位置の値が必要となり得る。この位置の値は、3D撮
像デバイス・システムでの各撮像デバイスについて決定されることに注意された
い。一実施形態では、撮像デバイスは、図7に示されるとおり、中心から突出し
、あらかじめ決定された距離(すなわち、後に説明するピン・ホール長さ)で画
像センサ15に対して垂直にあるピン・ホールPを備えた画像センサ15として
定義することができる。撮像デバイスのピン・ホールは、画像に対応するすべて
の入射光が撮像デバイスに侵入して、その画像を画像センサに投影することにな
る、画像センサの中心に対して垂直で固定距離に位置する、空間内の架空のポイ
ントである。撮像デバイスの位置は、選択した座標系でのピン・ホールの位置に
よって決定することができる。一実施形態では、選択された座標系は、任意に指
定される原点およびX、Y、Z軸をもったデカルト座標系であり、したがって、
位置の値の3つは、選択された座標系でのピン・ホールの位置に対応するX、Y
、Zであることが可能である。別の実施形態では、極座標系を使用することがで
き、同様に原点、半径、緯度角、経度角の参照が任意に指定され、したがって、
ピン・ホールの位置は、選択された座標系での半径、緯度角、および経度角で定
義することが可能である。
【0019】 撮像デバイスの方向は、選択された座標系に対する画像センサの方向によって
決定され得る。画像センサの方向を決定するため、各撮像デバイスは、撮像デバ
イス座標系に設定される。例えば、撮像デバイス座標系の原点は、その撮像装置
のピン・ホールとすることができる。撮像デバイス座標系のZ’軸は、ピン・ホ
ールをおよび画像センサの中心を通る軸とすることができる。撮像デバイス座標
系のX’軸およびY’軸はそれぞれ、画像センサの水平サイドおよび垂直サイド
に平行であるとすることができる。当技術分野の専門家には、撮像デバイス座標
系に別の原点および軸の方向を使用できることが理解されよう。一実施形態では
、ピン・ホールが選択された座標系の原点にあり、画像センサの中心が選択され
た座標系のZ軸にあり、画像センサがピン・ホール長さでZ軸と交差するような
方向で、較正すべき撮像システムが最初に選択された座標系に配置される極座標
システムを使用することができる。画像センサのX’軸およびY’軸はそれぞれ
、選択された座標系のX軸およびY軸に平行にすることができる。半径、経度角
、緯度角でピン・ホールが、選択された座標系での現在の位置に移動するとき、
画像センサもまた、選択された座標系で、元の方向から参照方向として指定され
る既知の方向へと移動する。画像センサの実際の方向は、参照方向からの偏差と
して測定される。一実施形態では、偏差は、Cx、Cy、および後により詳しく
説明するロールに対応する残り3つの位置の値を通じて決定することができる。
方向は、画像平面の中心が選択された座標系の原点、および上述のピン・ホール
の位置によって形成される軸上にあるようになっていることに注意されたい。
決定され得る。画像センサの方向を決定するため、各撮像デバイスは、撮像デバ
イス座標系に設定される。例えば、撮像デバイス座標系の原点は、その撮像装置
のピン・ホールとすることができる。撮像デバイス座標系のZ’軸は、ピン・ホ
ールをおよび画像センサの中心を通る軸とすることができる。撮像デバイス座標
系のX’軸およびY’軸はそれぞれ、画像センサの水平サイドおよび垂直サイド
に平行であるとすることができる。当技術分野の専門家には、撮像デバイス座標
系に別の原点および軸の方向を使用できることが理解されよう。一実施形態では
、ピン・ホールが選択された座標系の原点にあり、画像センサの中心が選択され
た座標系のZ軸にあり、画像センサがピン・ホール長さでZ軸と交差するような
方向で、較正すべき撮像システムが最初に選択された座標系に配置される極座標
システムを使用することができる。画像センサのX’軸およびY’軸はそれぞれ
、選択された座標系のX軸およびY軸に平行にすることができる。半径、経度角
、緯度角でピン・ホールが、選択された座標系での現在の位置に移動するとき、
画像センサもまた、選択された座標系で、元の方向から参照方向として指定され
る既知の方向へと移動する。画像センサの実際の方向は、参照方向からの偏差と
して測定される。一実施形態では、偏差は、Cx、Cy、および後により詳しく
説明するロールに対応する残り3つの位置の値を通じて決定することができる。
方向は、画像平面の中心が選択された座標系の原点、および上述のピン・ホール
の位置によって形成される軸上にあるようになっていることに注意されたい。
【0020】 一実施形態では、選択された座標系での撮像システムの位置および方向を決定
するのに、較正目標を使用することができる。説明のため、極座標系を使用する
ことにする。図8aに示されるとおり、各コーナ76および中心77上のドット
で、全部で5個のドットによって表される菱形を含む例示的な較正目標75を使
用することができる。ただし、当技術分野の専門家には、望む結果を得るために
別の構成および形を使用できることが明らかであろう。較正目標は、一枚の紙に
描かれた描画でも、ポイントのセットでも、また実際の被写体でもよいことに注
意されたい。実際の被写体が使用される場合、その被写体は、参照ポイントとし
て使用されるフィーチャを備えていなければならない。例としては、面のコーナ
を参照ポイントとして使用して、多分、各線が面の2つのコーナをつなぐ2つの
想像上の対角線の交差により中心に定義されるもう1個の参照ポイントをとり、
立方体の面を較正の被写体として使用することができる。
するのに、較正目標を使用することができる。説明のため、極座標系を使用する
ことにする。図8aに示されるとおり、各コーナ76および中心77上のドット
で、全部で5個のドットによって表される菱形を含む例示的な較正目標75を使
用することができる。ただし、当技術分野の専門家には、望む結果を得るために
別の構成および形を使用できることが明らかであろう。較正目標は、一枚の紙に
描かれた描画でも、ポイントのセットでも、また実際の被写体でもよいことに注
意されたい。実際の被写体が使用される場合、その被写体は、参照ポイントとし
て使用されるフィーチャを備えていなければならない。例としては、面のコーナ
を参照ポイントとして使用して、多分、各線が面の2つのコーナをつなぐ2つの
想像上の対角線の交差により中心に定義されるもう1個の参照ポイントをとり、
立方体の面を較正の被写体として使用することができる。
【0021】 再び図7を参照すると、撮像デバイス13のピン・ホールPの座標は、原点を
例えば、図示されるとおり、較正目標75の中心とし、較正目標に対して水平な
X軸をもち、較正目標に対して垂直なY軸をもち、Z軸が較正目標に対して垂直
にあるように選択された座標系に従って定義することができる。選択される座標
系は、各撮像デバイスが共通な選択された座標系をもつよう3D撮像デバイス・
システムで較正すべきすべての撮像システムについて、同一でなければならない
ことに注意されたい。ピン・ホールPの座標は、較正目標75の中心ドット77
に関する3つの位置の値に対応する、半径、緯度角、経度角によって定義するこ
とができる。半径、緯度角、および経度角は、従来の方式である、X軸、Y軸、
およびZ軸によるデカルト座標系での位置の規定から容易に生成することができ
る。
例えば、図示されるとおり、較正目標75の中心とし、較正目標に対して水平な
X軸をもち、較正目標に対して垂直なY軸をもち、Z軸が較正目標に対して垂直
にあるように選択された座標系に従って定義することができる。選択される座標
系は、各撮像デバイスが共通な選択された座標系をもつよう3D撮像デバイス・
システムで較正すべきすべての撮像システムについて、同一でなければならない
ことに注意されたい。ピン・ホールPの座標は、較正目標75の中心ドット77
に関する3つの位置の値に対応する、半径、緯度角、経度角によって定義するこ
とができる。半径、緯度角、および経度角は、従来の方式である、X軸、Y軸、
およびZ軸によるデカルト座標系での位置の規定から容易に生成することができ
る。
【0022】 画像センサ15の方向は、較正目標75の中心ドット77およびピン・ホール
Pの座標によって定義されるM軸に対するその中心72によって決定され得る。
M軸上にある較正目標75の中心ドット77は、M軸に対する画像センサ15の
中心72からの偏差74を表すものとして、画像センサ15で画像化される。偏
差74から、画像センサ15の中心72は、上述の撮像デバイス座標系でのピン
・ホールPとの関係で、中心72が偏差74の位置に対応するまで画像センサを
X’軸(Cx)およびY’軸(Cy)について回転させることにより、M軸に揃
えることができる。CxおよびCyの角度値は、残りの位置の値の2つに対応す
る。画像センサ15のロールは、撮像デバイス座標系のZ’軸での、画像センサ
15の回転方向を定義する。ロールは、例えば、画像センサの観点から、座標の
Y軸が画像センサのY’軸に平行になるまで、画像センサ15をZ’軸に沿って
回転させることにより、補正される。ロールの角度値は、最後に残っている位置
の値に対応する。
Pの座標によって定義されるM軸に対するその中心72によって決定され得る。
M軸上にある較正目標75の中心ドット77は、M軸に対する画像センサ15の
中心72からの偏差74を表すものとして、画像センサ15で画像化される。偏
差74から、画像センサ15の中心72は、上述の撮像デバイス座標系でのピン
・ホールPとの関係で、中心72が偏差74の位置に対応するまで画像センサを
X’軸(Cx)およびY’軸(Cy)について回転させることにより、M軸に揃
えることができる。CxおよびCyの角度値は、残りの位置の値の2つに対応す
る。画像センサ15のロールは、撮像デバイス座標系のZ’軸での、画像センサ
15の回転方向を定義する。ロールは、例えば、画像センサの観点から、座標の
Y軸が画像センサのY’軸に平行になるまで、画像センサ15をZ’軸に沿って
回転させることにより、補正される。ロールの角度値は、最後に残っている位置
の値に対応する。
【0023】 例としての6つの位置の値は、それらの値が適用されるシーケンスに従って決
定することができることに注意されたい。言い換えれば、1つのシーケンスに対
する位置の値は、別のシーケンスに対する位置の値と交換可能ではないことがあ
り得る。例えば、Cx、Cy、ロール、緯度、経度、半径というシーケンスに対
して得られる位置の値は、ロール、Cx、Cy、経度、緯度、半径というシーケ
ンスに対して得られた位置の値と異なる可能性がある。したがって、位置の値は
、その位置の値が取られたシーケンスと同一視される。
定することができることに注意されたい。言い換えれば、1つのシーケンスに対
する位置の値は、別のシーケンスに対する位置の値と交換可能ではないことがあ
り得る。例えば、Cx、Cy、ロール、緯度、経度、半径というシーケンスに対
して得られる位置の値は、ロール、Cx、Cy、経度、緯度、半径というシーケ
ンスに対して得られた位置の値と異なる可能性がある。したがって、位置の値は
、その位置の値が取られたシーケンスと同一視される。
【0024】 再び図6を参照すると、図示されるシーケンスは、決して制限として解釈すべ
きものではなく、当技術分野の専門家には、他のシーケンスを使用できることが
理解されよう。ブロック61は、画像センサに垂直で、その中心に対するピン・
ホールの隔たりの距離であるピン・ホール長さを決定することを示している。3
D撮像デバイス・システムでの各撮像デバイスに対するピン・ホール長さが、決
定されねばならない。一般に、ピン・ホール長さ(時として焦点距離として知ら
れている)は、製造業者による撮像デバイスの仕様で与えられている。個々の撮
像デバイスについてより精密なピン・ホール長さを得るには、図9に示される次
の機器を使用することができる。
きものではなく、当技術分野の専門家には、他のシーケンスを使用できることが
理解されよう。ブロック61は、画像センサに垂直で、その中心に対するピン・
ホールの隔たりの距離であるピン・ホール長さを決定することを示している。3
D撮像デバイス・システムでの各撮像デバイスに対するピン・ホール長さが、決
定されねばならない。一般に、ピン・ホール長さ(時として焦点距離として知ら
れている)は、製造業者による撮像デバイスの仕様で与えられている。個々の撮
像デバイスについてより精密なピン・ホール長さを得るには、図9に示される次
の機器を使用することができる。
【0025】 ピン・ホール長さPLの確度は、ピン・ホール長さから、目標被写体のサンプ
リングされたポイントが、画像センサ上の座標に変換されるということから重要
である。例示のために、右撮像デバイス13が使用されている。撮像デバイス1
3のピン・ホール長さPLは、レール91の軸に沿って前後にスライドする2つ
の長方形93、95をもっているレール91上に撮像デバイス13を配置するこ
とによって決定することができる。2つの長方形93、95を、第1の長方形9
3および第2の長方形95と呼ぶことにする。さらに、各長方形に関して、長方
形を定義する長さ(通常、横の長さ、または縦の長さと呼ばれる)のうち、少な
くとも1つが既知でなければならない。この例では、Aとして、第2の長方形9
5の、横の半分の長さが既知であり、Bとして、第1の長方形93の、横の半分
の長さが既知である。横の半分の長さBは、横の半分の長さAよりも短くしなけ
ればならない。ここで、Rが、横の半分の長さAに対する、横の半分の長さBの
比率である。両方の長方形は、レール91の中心線が2つの長方形に対して垂直
となるように取り付けなければならない。さらに、長方形93、95の中心は、
レール91の中心と一致しなければならない。第1の長方形93および第2の長
方形95はさらに、互いに平行でなければならない。第1の長方形93はさらに
、スライド可能で、常時、上述の要件に適合していなければならない。第2の長
方形95は静止したまま、第1の長方形93を撮像デバイス13の方向にスライ
ドさせることにより、レール91上のある距離で、画像センサ15の観点から、
これらの長方形を定義する長さの投影が画像センサ上で一致する。このポイント
で、第1の長方形93の、横の長さBの画像および第2の長方形95の、長さA
の画像がピン・ホールPを通過して、図6に示されるとおり、画像センサ15の
同一の位置上に同一の長さXを投影する。Cとして、レール91上で測定される
第1の長方形93と第2の長方形95の間の距離を知り、Xとして測定される画
像センサ上の投影の長さを知っていることで、ピン・ホール長さPLは、次の数
式で定義することができる。 PL=X*C/(A*(1−R))
リングされたポイントが、画像センサ上の座標に変換されるということから重要
である。例示のために、右撮像デバイス13が使用されている。撮像デバイス1
3のピン・ホール長さPLは、レール91の軸に沿って前後にスライドする2つ
の長方形93、95をもっているレール91上に撮像デバイス13を配置するこ
とによって決定することができる。2つの長方形93、95を、第1の長方形9
3および第2の長方形95と呼ぶことにする。さらに、各長方形に関して、長方
形を定義する長さ(通常、横の長さ、または縦の長さと呼ばれる)のうち、少な
くとも1つが既知でなければならない。この例では、Aとして、第2の長方形9
5の、横の半分の長さが既知であり、Bとして、第1の長方形93の、横の半分
の長さが既知である。横の半分の長さBは、横の半分の長さAよりも短くしなけ
ればならない。ここで、Rが、横の半分の長さAに対する、横の半分の長さBの
比率である。両方の長方形は、レール91の中心線が2つの長方形に対して垂直
となるように取り付けなければならない。さらに、長方形93、95の中心は、
レール91の中心と一致しなければならない。第1の長方形93および第2の長
方形95はさらに、互いに平行でなければならない。第1の長方形93はさらに
、スライド可能で、常時、上述の要件に適合していなければならない。第2の長
方形95は静止したまま、第1の長方形93を撮像デバイス13の方向にスライ
ドさせることにより、レール91上のある距離で、画像センサ15の観点から、
これらの長方形を定義する長さの投影が画像センサ上で一致する。このポイント
で、第1の長方形93の、横の長さBの画像および第2の長方形95の、長さA
の画像がピン・ホールPを通過して、図6に示されるとおり、画像センサ15の
同一の位置上に同一の長さXを投影する。Cとして、レール91上で測定される
第1の長方形93と第2の長方形95の間の距離を知り、Xとして測定される画
像センサ上の投影の長さを知っていることで、ピン・ホール長さPLは、次の数
式で定義することができる。 PL=X*C/(A*(1−R))
【0026】 一般に、撮像デバイス内での測定は、ピクセル単位で決定される。ピン・ホー
ル長さPLは、その大きさを投影Xから得ることに注意されたい。投影Xはピク
セル単位で測定されるので、ピン・ホール長さPLもまた、ピクセル単位で測定
され、これは実際に適切なことである。
ル長さPLは、その大きさを投影Xから得ることに注意されたい。投影Xはピク
セル単位で測定されるので、ピン・ホール長さPLもまた、ピクセル単位で測定
され、これは実際に適切なことである。
【0027】 再び図6を参照すると、ブロック62は、画像センサのCxおよびCyを決定
することを示している。図8bは、画像センサ15によってキャプチャされた較
正目標75の画像を示している。キャプチャされた画像から、画像センサの中心
72が較正目標75の撮像された中心77と一致するように、画像センサ15が
計算に基づいて移動される。撮像デバイス座標に関するX’軸およびY軸’での
、ピクセル単位の移動は、それぞれCxおよびCyに対応する。別法としては、
前述のとおりピン・ホール長さが知られているので、CxおよびCyはまた、ピ
ン・ホールPに関するX’軸およびY’軸での角回転で定義することもできる。
目標中心77が画像センサ15の中心72と一致したとき、画像の中心は、ピン
・ホールおよび選択された座標系の原点を通るM軸(図7を見よ)に揃っている
。CxおよびCyを通じて、軸Mおよびピン・ホールPに対する画像センサ15
の方向を決定することができる。画像センサの観点から、較正目標77が画像セ
ンサ15の中心72に再配置されると、較正目標を表すコーナ・ドット76もま
た、その新しい位置での画像センサからの見え方を表すように、計算に基づいて
移動される。再配置された較正目標は、図8cに示されている。
することを示している。図8bは、画像センサ15によってキャプチャされた較
正目標75の画像を示している。キャプチャされた画像から、画像センサの中心
72が較正目標75の撮像された中心77と一致するように、画像センサ15が
計算に基づいて移動される。撮像デバイス座標に関するX’軸およびY軸’での
、ピクセル単位の移動は、それぞれCxおよびCyに対応する。別法としては、
前述のとおりピン・ホール長さが知られているので、CxおよびCyはまた、ピ
ン・ホールPに関するX’軸およびY’軸での角回転で定義することもできる。
目標中心77が画像センサ15の中心72と一致したとき、画像の中心は、ピン
・ホールおよび選択された座標系の原点を通るM軸(図7を見よ)に揃っている
。CxおよびCyを通じて、軸Mおよびピン・ホールPに対する画像センサ15
の方向を決定することができる。画像センサの観点から、較正目標77が画像セ
ンサ15の中心72に再配置されると、較正目標を表すコーナ・ドット76もま
た、その新しい位置での画像センサからの見え方を表すように、計算に基づいて
移動される。再配置された較正目標は、図8cに示されている。
【0028】 以下は、上記の説明を例示する、Visual Basicでの例としての断
片的なプログラムである。 例えば、以下の定義が必要とされる。 VERTEX2Dは、画像の1個のポイントを規定している。その重要なメン
バは、x座標およびy座標である(すなわち、dx、dy); VTXLIST2Dは、関連するハウスキーピング・ストーレッジ(すなわち
、メンバ0が中心ポイント、メンバ1がトップ・ポイント、メンバ2がボトム・
ポイント、メンバ3が左ポイント、メンバ4が右ポイントである較正目標)をも
ったVERTEX2D被写体である; VERTEX3Dは、3D空間での1個のポイントを規定している。その重要
メンバは、x座標、y座標、z座標(dx、dy、dz)である;かつ VTXLIST3Dは、VERTEX3D被写体のリストである。 Public Sub gs_UndoCoxCoyWjm(In Vex
As VTXLIST2D,res As VTXLIST2D,Coff A
s VERTEX2D) ‘オフセットはCoffにリターンされる Dim v1 As VERTEX3D Dim v2 As VERTEX3D Dim v3 As VERTEX3D Dim vtx2tmp1 As VERTEX2D Dim vRot As VERTEX3D Dim dCosAngle As Double Dim dAngle As Double Dim i As Integer ‘xおよびyオフセットを計算する Coff.dx=v2.dx Coff.dy=v2.dy ‘撮像デバイスの取り消しおよびオフセンタの効果をシミュレートする作業を
行う ‘垂直角度よびび回転角度を得る v1.dx=0 v1.dy=0 v1.dz=f2_dCAMF v2.dx=InVec.vx2A(0).dx v2.dy=InVec.vx2A(0).dy v2.dz=f2_dCAMF Call gs_CosAngle3(v1,v2,dCosAngle)‘
v1とv2の間の角のコサインを得る Call gs_ArcCos(dCosAngle,dAngle)‘コサ
インから角を得る Call gs_orth3(v1,v2,vRot)‘v1およびv2の幅
がある平面に対する直交ベクトルを得る。つまり、画像平面の中心に中心ポイン
トをもってくるために、ピクチャが回転させられなければならないベクトルであ
る。 ‘CxおよびCy効果を取り消すために、目標頂点ですべてのベクトルを回転
させる For i=0 To InVec.1NumVertex−1 v1.dx=InVec.vx2A(i).dx v1.dy=InVec.vx2A(i).dy v1.dz=dCAMF‘dCAMFは、画像センサからピン・ホールの位置
への距離(ピクセルでの) Call gs_rot3dVec(dAngle,vRot,v1,v2) Call gs_project3Planar(f2_dCAMF,v2,
v3) res.vx2A(i).dx=v3.dx res.vx2A(i).dy=v3.dy res.vx2A(i).bFlag=True Next i End Sub
片的なプログラムである。 例えば、以下の定義が必要とされる。 VERTEX2Dは、画像の1個のポイントを規定している。その重要なメン
バは、x座標およびy座標である(すなわち、dx、dy); VTXLIST2Dは、関連するハウスキーピング・ストーレッジ(すなわち
、メンバ0が中心ポイント、メンバ1がトップ・ポイント、メンバ2がボトム・
ポイント、メンバ3が左ポイント、メンバ4が右ポイントである較正目標)をも
ったVERTEX2D被写体である; VERTEX3Dは、3D空間での1個のポイントを規定している。その重要
メンバは、x座標、y座標、z座標(dx、dy、dz)である;かつ VTXLIST3Dは、VERTEX3D被写体のリストである。 Public Sub gs_UndoCoxCoyWjm(In Vex
As VTXLIST2D,res As VTXLIST2D,Coff A
s VERTEX2D) ‘オフセットはCoffにリターンされる Dim v1 As VERTEX3D Dim v2 As VERTEX3D Dim v3 As VERTEX3D Dim vtx2tmp1 As VERTEX2D Dim vRot As VERTEX3D Dim dCosAngle As Double Dim dAngle As Double Dim i As Integer ‘xおよびyオフセットを計算する Coff.dx=v2.dx Coff.dy=v2.dy ‘撮像デバイスの取り消しおよびオフセンタの効果をシミュレートする作業を
行う ‘垂直角度よびび回転角度を得る v1.dx=0 v1.dy=0 v1.dz=f2_dCAMF v2.dx=InVec.vx2A(0).dx v2.dy=InVec.vx2A(0).dy v2.dz=f2_dCAMF Call gs_CosAngle3(v1,v2,dCosAngle)‘
v1とv2の間の角のコサインを得る Call gs_ArcCos(dCosAngle,dAngle)‘コサ
インから角を得る Call gs_orth3(v1,v2,vRot)‘v1およびv2の幅
がある平面に対する直交ベクトルを得る。つまり、画像平面の中心に中心ポイン
トをもってくるために、ピクチャが回転させられなければならないベクトルであ
る。 ‘CxおよびCy効果を取り消すために、目標頂点ですべてのベクトルを回転
させる For i=0 To InVec.1NumVertex−1 v1.dx=InVec.vx2A(i).dx v1.dy=InVec.vx2A(i).dy v1.dz=dCAMF‘dCAMFは、画像センサからピン・ホールの位置
への距離(ピクセルでの) Call gs_rot3dVec(dAngle,vRot,v1,v2) Call gs_project3Planar(f2_dCAMF,v2,
v3) res.vx2A(i).dx=v3.dx res.vx2A(i).dy=v3.dy res.vx2A(i).bFlag=True Next i End Sub
【0029】 図6のブロック63は、画像センサのロールを決定することを示す。ロールは
、撮像デバイス座標系のZ’軸、この場合には、ピン・ホールPおよび画像セン
サ15の中心72を通るM軸に対応するZ’軸の周りでの画像センサの回転であ
る。図8cを参照すると、画像センサの中心72が目標センタ77と一致するよ
うに画像センサが再配置されると、画像センサ上への、目標75のY軸の投影が
、画像センサの観点から、画像センサ15の垂直サイドに平行で、中心を通るY
’軸と比較される。Y軸とY’軸との間の角偏差が、画像センサでのロールであ
る。ロールは、画像センサをM軸に沿って、較正目標のY軸が画像センサのY’
と平行になるまで計算に基づいて回転させることにより、補正される。ロールが
補正されるのにつれて、較正目標を表しているコーナ・ドットもまた、ロール補
正による画像センサからの見え方を表すように、計算に基づいて移動される。ロ
ール補正された補正目標75が、図8dに示されている。
、撮像デバイス座標系のZ’軸、この場合には、ピン・ホールPおよび画像セン
サ15の中心72を通るM軸に対応するZ’軸の周りでの画像センサの回転であ
る。図8cを参照すると、画像センサの中心72が目標センタ77と一致するよ
うに画像センサが再配置されると、画像センサ上への、目標75のY軸の投影が
、画像センサの観点から、画像センサ15の垂直サイドに平行で、中心を通るY
’軸と比較される。Y軸とY’軸との間の角偏差が、画像センサでのロールであ
る。ロールは、画像センサをM軸に沿って、較正目標のY軸が画像センサのY’
と平行になるまで計算に基づいて回転させることにより、補正される。ロールが
補正されるのにつれて、較正目標を表しているコーナ・ドットもまた、ロール補
正による画像センサからの見え方を表すように、計算に基づいて移動される。ロ
ール補正された補正目標75が、図8dに示されている。
【0030】 以下は、上記の説明を例示する、Visual Basicでの例としてのプ
ログラムである。 Public Sub gs_UndoRollWjm(src As VT
XLIST2D,res As VTXLIST2D,dtwist As D
ouble)‘dTwistは検出されたロール角度である’ ‘Cx、Cyに対して撮像デバイスの方向が修正された後に、ロールを取り消
す’ Dim dalpha1 As Double Dim dalpha2 As Double Dim dAlpha As Double Dim v1 As VERTEX3D Dim v2 As VERTEX3D Dim i As Integer ‘atn x/yによって定義される角度で、z軸の周りを回転する dalpha1=Atn(src.vx2A(1).dx / src.vx
2A(1).dy) dalpha2=Atn(src.vx2A(2).dx / src.vx
2A(2).dy) dAlpha=(dalpha1+dalpha2) / 2‘算術平均を取
る dTwist=−dAlpha*190 / const_PI ‘画像の5個の較正ポイント上でロールの取り消しをシミュレートする For i=LBound(src.vx2A) To UBound(sr
c.vx2A) v1.dx=src.vx2A(i).dx v1.dy=src.vx2A(i).dy v1.dz=0 Call gs_rot3dZ(dAlpha,v1,v2) res.vx2A(i).dx=v2.dx res.vx2A(i).dy=v2.dy Next i End Sub
ログラムである。 Public Sub gs_UndoRollWjm(src As VT
XLIST2D,res As VTXLIST2D,dtwist As D
ouble)‘dTwistは検出されたロール角度である’ ‘Cx、Cyに対して撮像デバイスの方向が修正された後に、ロールを取り消
す’ Dim dalpha1 As Double Dim dalpha2 As Double Dim dAlpha As Double Dim v1 As VERTEX3D Dim v2 As VERTEX3D Dim i As Integer ‘atn x/yによって定義される角度で、z軸の周りを回転する dalpha1=Atn(src.vx2A(1).dx / src.vx
2A(1).dy) dalpha2=Atn(src.vx2A(2).dx / src.vx
2A(2).dy) dAlpha=(dalpha1+dalpha2) / 2‘算術平均を取
る dTwist=−dAlpha*190 / const_PI ‘画像の5個の較正ポイント上でロールの取り消しをシミュレートする For i=LBound(src.vx2A) To UBound(sr
c.vx2A) v1.dx=src.vx2A(i).dx v1.dy=src.vx2A(i).dy v1.dz=0 Call gs_rot3dZ(dAlpha,v1,v2) res.vx2A(i).dx=v2.dx res.vx2A(i).dy=v2.dy Next i End Sub
【0031】 図6のブロック64は、ピン・ホールの緯度の位置が決定されることを示して
いる。緯度は、較正目標に対するピン・ホールの垂直な位置を決定する。ピン・
ホールの緯度は、較正目標の、トップ・ドットと中心ドットの間の距離、および
ボトム・ドットと中心ドットの間の距離によって決定される。画像センサは、Y
軸およびピン・ホールの位置によって定義される平面での、較正目標の中心の周
りを、計算に基づいて放射状に移動される。撮像デバイスの方向は、画像センサ
の中心が、較正目標の中心および再配置されるピン・ホールによって定義される
軸の上に留まるという条件を維持する。画像センサは、トップ・ドットと中心ド
ットの間の距離、およびボトム・ドットと中心ドットの間の距離が、画像センサ
から見て同等になるまで移動される。このポイントで、ピン・ホールは、計算に
基づいてX−Z平面に移動されており、画像センサが計算に基づいて移動された
角度が緯度である。較正目標を表しているコーナ・ドットは、画像センサの位置
の変化により、画像センサの観点からの見え方を表すように、計算に基づいて変
換される。
いる。緯度は、較正目標に対するピン・ホールの垂直な位置を決定する。ピン・
ホールの緯度は、較正目標の、トップ・ドットと中心ドットの間の距離、および
ボトム・ドットと中心ドットの間の距離によって決定される。画像センサは、Y
軸およびピン・ホールの位置によって定義される平面での、較正目標の中心の周
りを、計算に基づいて放射状に移動される。撮像デバイスの方向は、画像センサ
の中心が、較正目標の中心および再配置されるピン・ホールによって定義される
軸の上に留まるという条件を維持する。画像センサは、トップ・ドットと中心ド
ットの間の距離、およびボトム・ドットと中心ドットの間の距離が、画像センサ
から見て同等になるまで移動される。このポイントで、ピン・ホールは、計算に
基づいてX−Z平面に移動されており、画像センサが計算に基づいて移動された
角度が緯度である。較正目標を表しているコーナ・ドットは、画像センサの位置
の変化により、画像センサの観点からの見え方を表すように、計算に基づいて変
換される。
【0032】 以下は、上記の説明を例示する、例としてのVisual Basicでのプ
ログラムである。 Public Sub gs_UndoLatitudeWjm(src A
s VTXLIST2D,res As VTXLIST3D,proj As
VTXLIST2D,dLatitude As Double) ‘両方の中間ポイントからの角度の比較を通じて緯度を見出す ‘yの方向 Dim dm1 As Double Dim dm2 As Double Dim dm3 As Double Dim v1 As VERTEX3D Dim v2 As VERTEX3D Dim v3 As VERTEX3D Dim v4 As VERTEX3D Dim i As Integer Dim dAlpha As Double dm1=src.vx2A(1).dy / f2_dCAMF dm2=src.vx2A(2).dy / f2_dCAMF If Abs(dm1+dm2) > 0.000000000001 Th
en dm3=2 * dm1 * dm2 / (dm1+dm2) dAlpha=Atn(dm3)−const_PI / 2 Else dm3=1E+100 dAlpha=0 End If ‘dalphaの範囲は、−90から+90deg’ If dAlpha < −const_PI / 2 Then DAlpha=dAlpha+const_PI End If DLatitude=dAlpha * 190 / const_PI Dim vpLatVec As VERTEX3D Dim vp1 As VERTEX3D Dim vp2 As VERTEX3D Dim vp3 As VERTEX3D Dim vp4 As VERTEX3D Dim vp5 As VERTEX3D Dim vl1 As VERTEX3D Dim vl2 As VERTEX3D Dim vPt As VERTEX3D ‘ディスプレイを修正する: ‘緯度の方向に傾斜したベクトルを生成する vpLatVec.dx=0 vpLatVec.dy=Cos(dAlpha) vpLatVec.dz=Sin(dAlpha) vp1.dx=0 vp1.dy=0 vp1.dz=0 Call gs_vec3ToNormalPlane(vpLatVec,
vp2,vp3) vp4.dx=1 vp4.dy=0 vp4.dz=0 vp5.dx=vpLatVec.dx vp5.dy=vpLatVec.dy vp5.dz=vpLatVec.dz ‘平面をピン・ホールからccdの中心に移す’ vp1.dz=vp1.dz−f2_dCAMF vp2.dz=vp2.dz−f2_dCAMF vp3.dz=vp3.dz−f2_dCAMF vp4.dz=vp4.dz−f2_dCAMF vp5.dz=vp5.dz−f2_dCAMF vl1.dx=0 vl1.dy=0 vl1.dz=0 res.vx3A(0).dx=src.vx2A(0).dx res.vx3A(0).dy=src.vx2A(0).dy res.vx3A(0).dz=−f2_dCAMF ‘緯度の取り消しをシミュレートする’ For i=1 To 4 vl2.dx=src.vx2A(i).dx vl2.dy=src.vx2A(i).dy vl2.dz=−f2_dCAMF If i < 3 Then Call gf_bPlaneLineIntersection(vp1,
vp4,vp5,vl1,vl2,vPt) Else Call gf_bPlaneLineIntersection(vp1,
vp2,vp3,vl1,vl2,vPt) End If ‘x軸の周りを回転する’ vPt.dz=vPt.dz+f2_dCAMF Call gs_rot3dX(−dAlpha,vPt,v3) ‘すべてをf距離だけ後ろにシフトする v3.dz=v3.dz−f2_dCAMF res.vx3A(i)=v3 ‘画像センサの平面に投影する’ Call gs_project3Planar(−f2_dCAMF,v3
,v4) proj.vx2A(i).dx=v4.dx proj.vx2A(i).dy=v4.dy Next i End Sub
ログラムである。 Public Sub gs_UndoLatitudeWjm(src A
s VTXLIST2D,res As VTXLIST3D,proj As
VTXLIST2D,dLatitude As Double) ‘両方の中間ポイントからの角度の比較を通じて緯度を見出す ‘yの方向 Dim dm1 As Double Dim dm2 As Double Dim dm3 As Double Dim v1 As VERTEX3D Dim v2 As VERTEX3D Dim v3 As VERTEX3D Dim v4 As VERTEX3D Dim i As Integer Dim dAlpha As Double dm1=src.vx2A(1).dy / f2_dCAMF dm2=src.vx2A(2).dy / f2_dCAMF If Abs(dm1+dm2) > 0.000000000001 Th
en dm3=2 * dm1 * dm2 / (dm1+dm2) dAlpha=Atn(dm3)−const_PI / 2 Else dm3=1E+100 dAlpha=0 End If ‘dalphaの範囲は、−90から+90deg’ If dAlpha < −const_PI / 2 Then DAlpha=dAlpha+const_PI End If DLatitude=dAlpha * 190 / const_PI Dim vpLatVec As VERTEX3D Dim vp1 As VERTEX3D Dim vp2 As VERTEX3D Dim vp3 As VERTEX3D Dim vp4 As VERTEX3D Dim vp5 As VERTEX3D Dim vl1 As VERTEX3D Dim vl2 As VERTEX3D Dim vPt As VERTEX3D ‘ディスプレイを修正する: ‘緯度の方向に傾斜したベクトルを生成する vpLatVec.dx=0 vpLatVec.dy=Cos(dAlpha) vpLatVec.dz=Sin(dAlpha) vp1.dx=0 vp1.dy=0 vp1.dz=0 Call gs_vec3ToNormalPlane(vpLatVec,
vp2,vp3) vp4.dx=1 vp4.dy=0 vp4.dz=0 vp5.dx=vpLatVec.dx vp5.dy=vpLatVec.dy vp5.dz=vpLatVec.dz ‘平面をピン・ホールからccdの中心に移す’ vp1.dz=vp1.dz−f2_dCAMF vp2.dz=vp2.dz−f2_dCAMF vp3.dz=vp3.dz−f2_dCAMF vp4.dz=vp4.dz−f2_dCAMF vp5.dz=vp5.dz−f2_dCAMF vl1.dx=0 vl1.dy=0 vl1.dz=0 res.vx3A(0).dx=src.vx2A(0).dx res.vx3A(0).dy=src.vx2A(0).dy res.vx3A(0).dz=−f2_dCAMF ‘緯度の取り消しをシミュレートする’ For i=1 To 4 vl2.dx=src.vx2A(i).dx vl2.dy=src.vx2A(i).dy vl2.dz=−f2_dCAMF If i < 3 Then Call gf_bPlaneLineIntersection(vp1,
vp4,vp5,vl1,vl2,vPt) Else Call gf_bPlaneLineIntersection(vp1,
vp2,vp3,vl1,vl2,vPt) End If ‘x軸の周りを回転する’ vPt.dz=vPt.dz+f2_dCAMF Call gs_rot3dX(−dAlpha,vPt,v3) ‘すべてをf距離だけ後ろにシフトする v3.dz=v3.dz−f2_dCAMF res.vx3A(i)=v3 ‘画像センサの平面に投影する’ Call gs_project3Planar(−f2_dCAMF,v3
,v4) proj.vx2A(i).dx=v4.dx proj.vx2A(i).dy=v4.dy Next i End Sub
【0033】 図6のブロック65は、ピン・ホールの経度を決定することを示している。経
度は、選択された座標系に関するX軸でのピン・ホールの位置を決定する。経度
は、画像センサに画像化された較正目標の、左ドットと中心ドットの間の距離、
および右ドットと中心ドットの間の距離によって決定される。画像センサは、X
−Z平面上で較正目標の周りを、計算に基づいて放射線状に移動される。撮像デ
バイスの方向は、画像センサの中心が、較正目標の中心および再配置されるピン
・ホールによって定義される軸の上に留まるように変更される。画像センサは、
画像センサから見て、左ドットと中心ドットの間の距離が、右ドットと中心ドッ
トの間の距離と同等になるまで移動される。このポイントで、ピン・ホールが移
動した角度が経度となっている。較正目標を表しているコーナ・ドットは、画像
センサの位置の変化による、画像センサからの見え方を表すように、計算に基づ
いて変換される。
度は、選択された座標系に関するX軸でのピン・ホールの位置を決定する。経度
は、画像センサに画像化された較正目標の、左ドットと中心ドットの間の距離、
および右ドットと中心ドットの間の距離によって決定される。画像センサは、X
−Z平面上で較正目標の周りを、計算に基づいて放射線状に移動される。撮像デ
バイスの方向は、画像センサの中心が、較正目標の中心および再配置されるピン
・ホールによって定義される軸の上に留まるように変更される。画像センサは、
画像センサから見て、左ドットと中心ドットの間の距離が、右ドットと中心ドッ
トの間の距離と同等になるまで移動される。このポイントで、ピン・ホールが移
動した角度が経度となっている。較正目標を表しているコーナ・ドットは、画像
センサの位置の変化による、画像センサからの見え方を表すように、計算に基づ
いて変換される。
【0034】 以下は、上記の説明を例示する、例としての、Visual Basicでの
プログラムである。 Public Sub gs_UndoLongitudeWjm(src
As VTXLIST3D,res As VTXLIST3D,proj A
s VTXLIST2D,dLongitude As Double) ‘両方の中間ポイントからの角度の比較を通じて経度を見出す’ ‘xの方向’ Dim dm1 As Double Dim dm2 As Double Dim dm3 As Double Dim v1 As VERTEX3D Dim v2 As VERTEX3D Dim v3 As VERTEX3D Dim v4 As VERTEX3D Dim i As Integer Dim dA As Double Dim dAlpha As Double ‘最初に、ポイント3のyz平面への投影を得る’ Call gs_project3Planar(−f2_dCAMF,sr
c.vx3A(3),v1) Call gs_project3Planar(−f2_dCAMF,sr
c.vx3A(4),v2) ‘次に、0ポイントからポイント3までに、どれだけの角度があるか見出す’ ‘xz平面で’ dm1=v1.dx / v1.dz dm2=v2.dx / v2.dz If Abs(dm1+dm2) > 0.000001 Then dm3=2 * dm1 * dm2 / (dm1+dm2) Else dm3=1000000 End If dAlpha=const_PI / 2−Atn(dm3) If dAlpha > const_PI / 2 Then dAlph
a=dAlpha−const_PI / 2 dLongitude=dAlpha * 190 / const_PI ‘経度の取り消しをシミュレートする’ For i=0 To 4 v2=src.vx3A(i) ‘zを0にすることによって、ピン・ホール平面への移行をシミュレートする
’ v2.dz=v2.dz+f2_dCAMF ‘y軸の周りを回転する’ Call gs_rot3dY(dAlpha,v2,v3) ‘その距離ですべてを元に戻す’ v3.dz=v3.dz−f2_dCAMF res.vx3A(i)=v3 ‘画像センサの平面に投影する’ Call gs_project3Planar(−f2_dCAMF,v3
,v4) proj.vx2A(i).dx=v4.dx proj.vx2A(i).dy=v4.dy Next i End Sub
プログラムである。 Public Sub gs_UndoLongitudeWjm(src
As VTXLIST3D,res As VTXLIST3D,proj A
s VTXLIST2D,dLongitude As Double) ‘両方の中間ポイントからの角度の比較を通じて経度を見出す’ ‘xの方向’ Dim dm1 As Double Dim dm2 As Double Dim dm3 As Double Dim v1 As VERTEX3D Dim v2 As VERTEX3D Dim v3 As VERTEX3D Dim v4 As VERTEX3D Dim i As Integer Dim dA As Double Dim dAlpha As Double ‘最初に、ポイント3のyz平面への投影を得る’ Call gs_project3Planar(−f2_dCAMF,sr
c.vx3A(3),v1) Call gs_project3Planar(−f2_dCAMF,sr
c.vx3A(4),v2) ‘次に、0ポイントからポイント3までに、どれだけの角度があるか見出す’ ‘xz平面で’ dm1=v1.dx / v1.dz dm2=v2.dx / v2.dz If Abs(dm1+dm2) > 0.000001 Then dm3=2 * dm1 * dm2 / (dm1+dm2) Else dm3=1000000 End If dAlpha=const_PI / 2−Atn(dm3) If dAlpha > const_PI / 2 Then dAlph
a=dAlpha−const_PI / 2 dLongitude=dAlpha * 190 / const_PI ‘経度の取り消しをシミュレートする’ For i=0 To 4 v2=src.vx3A(i) ‘zを0にすることによって、ピン・ホール平面への移行をシミュレートする
’ v2.dz=v2.dz+f2_dCAMF ‘y軸の周りを回転する’ Call gs_rot3dY(dAlpha,v2,v3) ‘その距離ですべてを元に戻す’ v3.dz=v3.dz−f2_dCAMF res.vx3A(i)=v3 ‘画像センサの平面に投影する’ Call gs_project3Planar(−f2_dCAMF,v3
,v4) proj.vx2A(i).dx=v4.dx proj.vx2A(i).dy=v4.dy Next i End Sub
【0035】 図6のブロック66は、ピン・ホールの半径を決定することを示している。半
径は、ピン・ホールと選択された座標系の間の距離である。半径は例えば、次の
ような方式で決定することができる。較正目標から、較正目標のコーナ・ドット
と中心ドットの間の距離が知られている。画像センサから、較正目標の画像化さ
れたコーナ・ドットおよび中心ドットを、ピクセルで測定することができる。ピ
ン・ホール長さは既知であるので、半径は次の数式によって定義される。 半径=PL*(A’/X’) ただしA’は、較正目標のコーナ・ドットと中心ドットの間の距離で、X’は
、画像センサでの、コーナ・ドットと中心ドットの画像化された距離である。
径は、ピン・ホールと選択された座標系の間の距離である。半径は例えば、次の
ような方式で決定することができる。較正目標から、較正目標のコーナ・ドット
と中心ドットの間の距離が知られている。画像センサから、較正目標の画像化さ
れたコーナ・ドットおよび中心ドットを、ピクセルで測定することができる。ピ
ン・ホール長さは既知であるので、半径は次の数式によって定義される。 半径=PL*(A’/X’) ただしA’は、較正目標のコーナ・ドットと中心ドットの間の距離で、X’は
、画像センサでの、コーナ・ドットと中心ドットの画像化された距離である。
【0036】 以下は、上記の説明を例示する、例としての、Visual Basicでの
例としてのプログラムである: Public Sub gs_DetermineDistanceWjm(
src As VTXLIST3D,res As VTXLIST3D,pr
oj As VTXLIST2D,dDistance As Double) res=src End Sub
例としてのプログラムである: Public Sub gs_DetermineDistanceWjm(
src As VTXLIST3D,res As VTXLIST3D,pr
oj As VTXLIST2D,dDistance As Double) res=src End Sub
【0037】 較正目標75での相対的ドットに対応する距離の変化が比較的小さい場合、較
正目標75が配置されている平面から突出した追加の較正ドットを、残りの目標
ドット76、77に対して、画像センサにより近く設置することが望ましい。追
加のドットは、画像センサにより近いので、このドットは、較正目標75上のド
ット76、77よりも、画像センサの方向への変化の影響を受けやすい。図10
は、較正目標101の平面から垂直に突出しているドット108を備える菱形を
もった、例としての較正目標101を示している。これは、図示されているとお
り、較正目標101が配置されている平面から突出する三角形の平面を備えるこ
とによって達せられる。突出の角度は、45°にすることができる。較正ドット
108は、突出する三角形の上に、ドット108が較正目標101の左ドット1
02および右ドット104と揃うように配置される。
正目標75が配置されている平面から突出した追加の較正ドットを、残りの目標
ドット76、77に対して、画像センサにより近く設置することが望ましい。追
加のドットは、画像センサにより近いので、このドットは、較正目標75上のド
ット76、77よりも、画像センサの方向への変化の影響を受けやすい。図10
は、較正目標101の平面から垂直に突出しているドット108を備える菱形を
もった、例としての較正目標101を示している。これは、図示されているとお
り、較正目標101が配置されている平面から突出する三角形の平面を備えるこ
とによって達せられる。突出の角度は、45°にすることができる。較正ドット
108は、突出する三角形の上に、ドット108が較正目標101の左ドット1
02および右ドット104と揃うように配置される。
【0038】 図6でのブロック64の緯度の決定を再び参照すると、較正目標101に対し
て緯度をもっている画像センサが、突出しているドット108について、較正目
標101の左ドット102と右ドット104を通るX軸の上にあるのか下にある
のかを検出する。画像センサは、ドット108が左ドット102および右ドット
104と揃うまで、計算に基づいて垂直に移動される。このポイントで、ピン・
ホールが移動した角距離が、緯度に対応している。図6のブロック65の経度の
決定の方を参照すると、較正目標101に対して経度をもっている画像センサは
、突出しているドット108が、較正目標101から離れていることを検出する
。例としては、突出しているドット108と較正目標101が配置されている平
面の右ドット104の間の距離、および右ドット104と左ドット102の間の
距離に対応する比率は、事前決定していることが可能であり、したがって、画像
センサが計算に基づいて水平に、事前決定の比率に達するまで移動されるのに応
じて、その比率は計算機で計算される。このポイントで、ピン・ホールが移動し
た角距離が、経度に対応する。
て緯度をもっている画像センサが、突出しているドット108について、較正目
標101の左ドット102と右ドット104を通るX軸の上にあるのか下にある
のかを検出する。画像センサは、ドット108が左ドット102および右ドット
104と揃うまで、計算に基づいて垂直に移動される。このポイントで、ピン・
ホールが移動した角距離が、緯度に対応している。図6のブロック65の経度の
決定の方を参照すると、較正目標101に対して経度をもっている画像センサは
、突出しているドット108が、較正目標101から離れていることを検出する
。例としては、突出しているドット108と較正目標101が配置されている平
面の右ドット104の間の距離、および右ドット104と左ドット102の間の
距離に対応する比率は、事前決定していることが可能であり、したがって、画像
センサが計算に基づいて水平に、事前決定の比率に達するまで移動されるのに応
じて、その比率は計算機で計算される。このポイントで、ピン・ホールが移動し
た角距離が、経度に対応する。
【0039】 6つの位置の値が、3D撮像デバイス・システムの撮像デバイスの各画像セン
サについて判明したとき、較正は完了する。3Dデータを生成するのに使用され
る計算デバイスは、得られた位置の値に逆順序付けを行うことによって、選択さ
れた座標系での画像センサの相対的位置を知ることができる。例えば、取られた
シーケンスが、Cx、Cy、ロール、緯度、経度、半径である場合には、計算デ
バイスは逆順序付けにより、つまり半径、経度、緯度、ロール、Cy、Cxのシ
ーケンスで計算することにより、画像センサの位置を知ることができる。
サについて判明したとき、較正は完了する。3Dデータを生成するのに使用され
る計算デバイスは、得られた位置の値に逆順序付けを行うことによって、選択さ
れた座標系での画像センサの相対的位置を知ることができる。例えば、取られた
シーケンスが、Cx、Cy、ロール、緯度、経度、半径である場合には、計算デ
バイスは逆順序付けにより、つまり半径、経度、緯度、ロール、Cy、Cxのシ
ーケンスで計算することにより、画像センサの位置を知ることができる。
【0040】 3D撮像デバイス・システムでの各撮像デバイスに対して較正が実行され、図
1に示されるとおり、撮像デバイス12および13によって立体画像が撮られる
前に例えば、最初に、図3aに示されるとおり被写体の輪郭またはフィーチャの
アウトラインを描くマーカが、目標被写体20に付けられるべきである。例えば
、被写体20上に縦線21を均等に付けることができる。ただし、例えば、目ま
たは鼻などの細かいフィーチャが存在する領域では、より多くの線21を被写体
20に加えることができる。縦線21は、暗闇で構造的データが得られるように
、暗闇でだけ見える蛍光塗料を使用して、被写体20の上にペイントすることが
できる。別法では、使用するペイントは、可視スペクトルでは非可視であるが、
赤外線または紫外線など、可視スペクトルの外では可視なものであり得る。別法
では、縦線21は、赤外線レーザまたは可視レーザなどの光源16を使用して、
被写体20上に投影することができる。縦線の説明は、決してこの発明の範囲を
制限するものと解釈されてはならないことが理解されよう。例えば、撮像デバイ
ス12および13の方向により、横線を使用することができる。さらに、回折デ
バイス17がどの程度、高度なものであるかにより、一様なドットのグリッドを
被写体上に投影することができる。
1に示されるとおり、撮像デバイス12および13によって立体画像が撮られる
前に例えば、最初に、図3aに示されるとおり被写体の輪郭またはフィーチャの
アウトラインを描くマーカが、目標被写体20に付けられるべきである。例えば
、被写体20上に縦線21を均等に付けることができる。ただし、例えば、目ま
たは鼻などの細かいフィーチャが存在する領域では、より多くの線21を被写体
20に加えることができる。縦線21は、暗闇で構造的データが得られるように
、暗闇でだけ見える蛍光塗料を使用して、被写体20の上にペイントすることが
できる。別法では、使用するペイントは、可視スペクトルでは非可視であるが、
赤外線または紫外線など、可視スペクトルの外では可視なものであり得る。別法
では、縦線21は、赤外線レーザまたは可視レーザなどの光源16を使用して、
被写体20上に投影することができる。縦線の説明は、決してこの発明の範囲を
制限するものと解釈されてはならないことが理解されよう。例えば、撮像デバイ
ス12および13の方向により、横線を使用することができる。さらに、回折デ
バイス17がどの程度、高度なものであるかにより、一様なドットのグリッドを
被写体上に投影することができる。
【0041】 この発明の理解をさらに進めるための例として、構造化された光を使用すると
、回折デバイス17を備えた光源16が、この例では縦線である構造化された光
を、目標被写体上に投射する。構造化された光が投射されると、3D撮像デバイ
ス・システム10の左撮像デバイス12および右撮像デバイス13によって、被
写体の立体画像がキャプチャされる。図11は、左画像と右画像を含む被写体の
立体画像からの、3Dデータの抽出を例示する実施形態の流れ図である。ブロッ
ク112は、構造化された光を使用して目標被写体上に投影された縦線に対応し
て、右画像センサによって検出された縦線の数を決定することを示している。ブ
ロック114は、同じく目標被写体上に投影された縦線に対応して、左画像セン
サによって検出された縦線の数を決定することを示している。ブロック116は
、右画像センサによって検出された縦線を、左画像センサによって検出された縦
線に、相関するような方式でマッチングを行うことを示している。ブロック11
8は、右画像センサで検出された、第1の相関する縦線を反映するものとして、
第1のカウンタを1に設定することを示している。ブロック120は、この相関
する縦線を複数のドットに変換することを示している。通常、ドット間の距離は
、ピクセル単位で測定され、例えば、縦線からの1個のドットを、5ピクセルご
とに形成することができる。相関する縦線の数および各縦線から変換されるドッ
トの数を制御することによって、3Dデータで希望の数のポイントを得るのが可
能なことに注意されたい。ブロック122は、縦線から変換されるドットの数を
決定し、第1のドットとして指定されたドットを反映して、第2のカウンタを1
に設定することを示している。ブロック124は、指定されたドットから発し、
右撮像デバイスのピン・ホールを通って3D空間に線を投影する「透視線」を計
算することを示している。座標の知られていない透視線のあるポイントで、その
ポイントは、指定されたドットが発した縦線に相関する目標被写体の縦線と交差
する。目標被写体での交差ポイントはまた、右画像センサでの指定されたドット
の位置と対応する。一実施形態では、右画像センサのための透視線は、次の方式
で生成することができる。
、回折デバイス17を備えた光源16が、この例では縦線である構造化された光
を、目標被写体上に投射する。構造化された光が投射されると、3D撮像デバイ
ス・システム10の左撮像デバイス12および右撮像デバイス13によって、被
写体の立体画像がキャプチャされる。図11は、左画像と右画像を含む被写体の
立体画像からの、3Dデータの抽出を例示する実施形態の流れ図である。ブロッ
ク112は、構造化された光を使用して目標被写体上に投影された縦線に対応し
て、右画像センサによって検出された縦線の数を決定することを示している。ブ
ロック114は、同じく目標被写体上に投影された縦線に対応して、左画像セン
サによって検出された縦線の数を決定することを示している。ブロック116は
、右画像センサによって検出された縦線を、左画像センサによって検出された縦
線に、相関するような方式でマッチングを行うことを示している。ブロック11
8は、右画像センサで検出された、第1の相関する縦線を反映するものとして、
第1のカウンタを1に設定することを示している。ブロック120は、この相関
する縦線を複数のドットに変換することを示している。通常、ドット間の距離は
、ピクセル単位で測定され、例えば、縦線からの1個のドットを、5ピクセルご
とに形成することができる。相関する縦線の数および各縦線から変換されるドッ
トの数を制御することによって、3Dデータで希望の数のポイントを得るのが可
能なことに注意されたい。ブロック122は、縦線から変換されるドットの数を
決定し、第1のドットとして指定されたドットを反映して、第2のカウンタを1
に設定することを示している。ブロック124は、指定されたドットから発し、
右撮像デバイスのピン・ホールを通って3D空間に線を投影する「透視線」を計
算することを示している。座標の知られていない透視線のあるポイントで、その
ポイントは、指定されたドットが発した縦線に相関する目標被写体の縦線と交差
する。目標被写体での交差ポイントはまた、右画像センサでの指定されたドット
の位置と対応する。一実施形態では、右画像センサのための透視線は、次の方式
で生成することができる。
【0042】 図7を参照すると、右撮像デバイスの較正から、選択された座標系での、右撮
像デバイス15のピン・ホールPの位置が知られている。ピン・ホールPは、画
像センサに対する中心の垂直な位置に、固定距離PLを離れて置かれている。こ
の例では、画像センサ15が、640×480のピクセル配列を含むものとする
。ただし、当技術分野の専門家には、他の配列もまた使用できることが理解され
よう。ピン・ホールPを撮像デバイス座標系の原点として使用すると、画像セン
サ15内のすべてのポイントは、ピン・ホールPからピクセル値(ΔX’、ΔY
’、PL)でリファレンスすることができる。ただし、ΔX’は、画像センサ1
5の中心からの、指定されたドットの位置のX’軸上での偏差、ΔY’は、画像
センサ15の中心からの、指定されたドットの位置のΔY’軸上での偏差、PL
は、Z’軸での固定距離である既知の固定値であり、3つの値すべては、ピクセ
ル値で測定されるものとする。ピン・ホールの座標は、選択された座標系で既知
であるので、この座標および指定されたドットに対応する値(ΔX’、ΔY’、
PL)を使用して、指定されたドットに対する透視線に対応する等式を生成する
ことができる。図12が、右画像センサ15の指定されたドットを表している透
視線L1を示している。
像デバイス15のピン・ホールPの位置が知られている。ピン・ホールPは、画
像センサに対する中心の垂直な位置に、固定距離PLを離れて置かれている。こ
の例では、画像センサ15が、640×480のピクセル配列を含むものとする
。ただし、当技術分野の専門家には、他の配列もまた使用できることが理解され
よう。ピン・ホールPを撮像デバイス座標系の原点として使用すると、画像セン
サ15内のすべてのポイントは、ピン・ホールPからピクセル値(ΔX’、ΔY
’、PL)でリファレンスすることができる。ただし、ΔX’は、画像センサ1
5の中心からの、指定されたドットの位置のX’軸上での偏差、ΔY’は、画像
センサ15の中心からの、指定されたドットの位置のΔY’軸上での偏差、PL
は、Z’軸での固定距離である既知の固定値であり、3つの値すべては、ピクセ
ル値で測定されるものとする。ピン・ホールの座標は、選択された座標系で既知
であるので、この座標および指定されたドットに対応する値(ΔX’、ΔY’、
PL)を使用して、指定されたドットに対する透視線に対応する等式を生成する
ことができる。図12が、右画像センサ15の指定されたドットを表している透
視線L1を示している。
【0043】 ブロック126は、右画像センサ15の指定されたドットに対応する左画像セ
ンサ14の相関する縦線での1個のポイントを決定することを示している。対応
するポイントが決定されると、左ピン・ホールの座標は、較正を通じ、選択され
た座標系で既知であり、そのポイントの位置の値は、上記に説明したばかりの方
式で決定することができるので、対応するポイントの透視線を表す等式を得るこ
とができる。図12が、左画像センサ14の指定されたドットを表している透視
線L2を示している。一実施形態では、左画像センサ14での対応するポイント
は、右画像センサ15の透視線L1を左画像センサ14上に「トレースする」こ
とによって決定することができる。左右画像センサでの相関する縦線は、目的の
被写体での同一の縦線に対応しているので、左画像センサから見た、右画像セン
サからの透視線と目標被写体での縦線の交差ポイントが、右画像センサでの指定
されたドットに対応するポイントとなる。この手順の理解を助けるブロック12
6を説明するのに、アナロジーを利用する。
ンサ14の相関する縦線での1個のポイントを決定することを示している。対応
するポイントが決定されると、左ピン・ホールの座標は、較正を通じ、選択され
た座標系で既知であり、そのポイントの位置の値は、上記に説明したばかりの方
式で決定することができるので、対応するポイントの透視線を表す等式を得るこ
とができる。図12が、左画像センサ14の指定されたドットを表している透視
線L2を示している。一実施形態では、左画像センサ14での対応するポイント
は、右画像センサ15の透視線L1を左画像センサ14上に「トレースする」こ
とによって決定することができる。左右画像センサでの相関する縦線は、目的の
被写体での同一の縦線に対応しているので、左画像センサから見た、右画像セン
サからの透視線と目標被写体での縦線の交差ポイントが、右画像センサでの指定
されたドットに対応するポイントとなる。この手順の理解を助けるブロック12
6を説明するのに、アナロジーを利用する。
【0044】 右画像センサ15で画像化された縦線での指定されたドットD1が、画像デバ
イス13の右ピン・ホールPRおよび空間を通過する光線L1を放出することが
できるものと想定する。左撮像デバイス12は、その視野から、この光線L1を
画像センサ14上で検出できることになる。検出された光線L1と指定されたド
ットが発する右画像センサ15での縦線に相関している左画像センサ14での縦
線との交差を決定することができる。交差ポイントD2は、指定されたドットD
1の、左画像センサでの対応するポイントとなる。交差ポイントD2から、左画
像センサの左ピン・ホールPLを通過して光線L1と交差すべき、光線L2が投
射され得る。2つの光線、L1とL2の交差ポイントは、右画像センサでの指定
されたドットに対応する目標被写体でのポイントの、選択された座標系でのX、
Y、Z座標となり、これが目標被写体の3Dデータでの1個のポイントである。
もちろん、現実には、上記の内容は、数理的に実行される。
イス13の右ピン・ホールPRおよび空間を通過する光線L1を放出することが
できるものと想定する。左撮像デバイス12は、その視野から、この光線L1を
画像センサ14上で検出できることになる。検出された光線L1と指定されたド
ットが発する右画像センサ15での縦線に相関している左画像センサ14での縦
線との交差を決定することができる。交差ポイントD2は、指定されたドットD
1の、左画像センサでの対応するポイントとなる。交差ポイントD2から、左画
像センサの左ピン・ホールPLを通過して光線L1と交差すべき、光線L2が投
射され得る。2つの光線、L1とL2の交差ポイントは、右画像センサでの指定
されたドットに対応する目標被写体でのポイントの、選択された座標系でのX、
Y、Z座標となり、これが目標被写体の3Dデータでの1個のポイントである。
もちろん、現実には、上記の内容は、数理的に実行される。
【0045】 以下は、上記の内容を実行する数理的手順を例示するために使用すべき、例と
しての、Visual Basicで書かれたプログラムである。 tc_MakeLineOfSight vx2A,ln3A,objA ‘上記第1の手順は、較正により、右透視線が選択された座標系に対応してい
る、右画像センサからの右透視線を生成することを示している’ tc_Ln3ObjMakeLn2 ln3A,ln2A,objB ‘上記第2の手順は、選択された座標系での右画像センサからの右透視線を、
左撮像デバイス座標系に変換することを示している。右透視線は、左画像センサ
上にトレースされる’
しての、Visual Basicで書かれたプログラムである。 tc_MakeLineOfSight vx2A,ln3A,objA ‘上記第1の手順は、較正により、右透視線が選択された座標系に対応してい
る、右画像センサからの右透視線を生成することを示している’ tc_Ln3ObjMakeLn2 ln3A,ln2A,objB ‘上記第2の手順は、選択された座標系での右画像センサからの右透視線を、
左撮像デバイス座標系に変換することを示している。右透視線は、左画像センサ
上にトレースされる’
【0046】 If gf_bContourLineIntersection(ln2A
,cn2B,vx2B) ‘上記第3の手続きは、左画像センサ上にトレースされた右透視線と右透視線
が発する右画像センサ上の縦線に相関する左画像センサ上で画像化された縦線と
の交差を見出すことを示している。’ Call tc_MakeLineOfSight(Vx2B,ln3B,o
bjB) ‘上記第4の手続きは、交差ポイントおよび選択された座標系での、左撮像デ
バイスの左ピン・ホールの座標から、左画像センサからの左透視線を生成するこ
とを示している。’
,cn2B,vx2B) ‘上記第3の手続きは、左画像センサ上にトレースされた右透視線と右透視線
が発する右画像センサ上の縦線に相関する左画像センサ上で画像化された縦線と
の交差を見出すことを示している。’ Call tc_MakeLineOfSight(Vx2B,ln3B,o
bjB) ‘上記第4の手続きは、交差ポイントおよび選択された座標系での、左撮像デ
バイスの左ピン・ホールの座標から、左画像センサからの左透視線を生成するこ
とを示している。’
【0047】 If gf_bLineDistance3D(ln3A,ln3B,vx3
A,dDist)=False Then ’result in vx3A ‘上記第5の手順は、左右透視線の交差を見出し、交差が起きない場合には、
右透視線が左透視線に最も近いポイントが、交差ポイントとして指定されること
を示している。’
A,dDist)=False Then ’result in vx3A ‘上記第5の手順は、左右透視線の交差を見出し、交差が起きない場合には、
右透視線が左透視線に最も近いポイントが、交差ポイントとして指定されること
を示している。’
【0048】 以下のサブルーチンは、第1の手順をさらに詳細に示している。 Public Sub tc_MakeLineOfSight(vx2In
As VERTEX2D,In3Out As LINE3D,obj2D
As Object) Dim vx2A As VERTEX2D Dim dDist As Double DDist=50 vx2A.dx=vx2In.dx−obj2D.f2_iCAMCx /
2‘obj2D ‘画像センサの中心X’軸を決定する’ vx2A.dy=vx2In.dy−obj2D.f2_iCAMCy /
2 ‘画像センサの中心Y’軸を決定する’ ‘上記2本の線は、右画像センサの中心を決定して、右撮像デバイス座標系で
の座標(0,0)に指定することを示している’ ln3Out.vx3A.dx=obj2D.f2_dLOSStart * vx2A.dx / obj2D.f2_dCAMF ln3Out.vx3A.dy=obj2D.f2_dLOSStart * vx2A.dy / obj2D.f2_dCAMF In3Out.vx3A.dZ=−obj2D.f2_dLOSStart ‘上記3本の線は、右撮像デバイス座標系に座標が定義される右透視線の開始
ポイントを指定することを示している’
As VERTEX2D,In3Out As LINE3D,obj2D
As Object) Dim vx2A As VERTEX2D Dim dDist As Double DDist=50 vx2A.dx=vx2In.dx−obj2D.f2_iCAMCx /
2‘obj2D ‘画像センサの中心X’軸を決定する’ vx2A.dy=vx2In.dy−obj2D.f2_iCAMCy /
2 ‘画像センサの中心Y’軸を決定する’ ‘上記2本の線は、右画像センサの中心を決定して、右撮像デバイス座標系で
の座標(0,0)に指定することを示している’ ln3Out.vx3A.dx=obj2D.f2_dLOSStart * vx2A.dx / obj2D.f2_dCAMF ln3Out.vx3A.dy=obj2D.f2_dLOSStart * vx2A.dy / obj2D.f2_dCAMF In3Out.vx3A.dZ=−obj2D.f2_dLOSStart ‘上記3本の線は、右撮像デバイス座標系に座標が定義される右透視線の開始
ポイントを指定することを示している’
【0049】 ln3Out.vx3B.dx=obj2D.f2_dLOSEnd * v
x2A.dx / obj2D.f2_dCAMF ln3Out.vx3B.dy=obj2D.f2_dLOSEnd * v
x2A.dy / obj2D.f2_dCAMF ln3Out.vx3B.dx=−obj2D.f2_dLOSEnd ‘上記3本の線は、右撮像デバイス座標系に座標が定義される右透視線の終了
ポイントを示している’
x2A.dx / obj2D.f2_dCAMF ln3Out.vx3B.dy=obj2D.f2_dLOSEnd * v
x2A.dy / obj2D.f2_dCAMF ln3Out.vx3B.dx=−obj2D.f2_dLOSEnd ‘上記3本の線は、右撮像デバイス座標系に座標が定義される右透視線の終了
ポイントを示している’
【0050】 ‘開始ポイントおよび終了ポイントは、開始ポイントと終了ポイントの間の距
離が、目標被写体に交差するのに充分なものとなるように、ユーザ定義すること
ができることに注意されたい。例としては、目標被写体が画像センサから4フィ
ートである場合、開始ポイントは、0.5フィートの場所に指定し、終了ポイン
トは6フィートの場所に指定することができる’ Call gs_XformCameraToWorld(ln3Out.v
x3A,In3Out.vx3A,obj2D) Call gs_XformCameraToWorld(ln3Out.v
x3B,In3Out.vx3B,obj2D) ‘開始ポイントおよび終了ポイントの座標を、右撮像デバイス座標系での座標
から、選択された座標系での座標に変換する’ End Sub
離が、目標被写体に交差するのに充分なものとなるように、ユーザ定義すること
ができることに注意されたい。例としては、目標被写体が画像センサから4フィ
ートである場合、開始ポイントは、0.5フィートの場所に指定し、終了ポイン
トは6フィートの場所に指定することができる’ Call gs_XformCameraToWorld(ln3Out.v
x3A,In3Out.vx3A,obj2D) Call gs_XformCameraToWorld(ln3Out.v
x3B,In3Out.vx3B,obj2D) ‘開始ポイントおよび終了ポイントの座標を、右撮像デバイス座標系での座標
から、選択された座標系での座標に変換する’ End Sub
【0051】 ‘以下のサブルーチンは、撮像デバイス座標系でのポイントを、選択された座
標系での座標に変換することを示している’ Public Sub gs_XformCameraToWorldWjm
(vx3In As VERTEX3D,vx3Out As VERTEX3
D,obj2D As Object) Dim v1 As VERTEX3D Dim v2 As VERTEX3D Dim vRot As VERTEX3D Dim dCosAngle As Double Dim dAngle As Double Dim dTwist As Double Dim dLongitude As Double Dim dLatitude As Double Dim dDistance As Double Call gs_rot3dC0xC0yWjm(vx3In,obj2D,
False,v2) v1=v2
標系での座標に変換することを示している’ Public Sub gs_XformCameraToWorldWjm
(vx3In As VERTEX3D,vx3Out As VERTEX3
D,obj2D As Object) Dim v1 As VERTEX3D Dim v2 As VERTEX3D Dim vRot As VERTEX3D Dim dCosAngle As Double Dim dAngle As Double Dim dTwist As Double Dim dLongitude As Double Dim dLatitude As Double Dim dDistance As Double Call gs_rot3dC0xC0yWjm(vx3In,obj2D,
False,v2) v1=v2
【0052】 ‘上記のコール・ルーチンは、画像センサの方向CxおよびCyの値を補正し
て、右撮像デバイス座標系を選択された座標系に変換する。Cy値の補正は、Y
’−Z’平面の位置を変化させる、X’軸での角回転によって得ることができる
。右透視線の開始ポイントおよび終了ポイントは、Y’−Z’平面の変化につい
ての角回転量によって補正される。Cx値の補正は、X’−Z’平面の位置を変
化させるY’軸での角回転によって得ることができる。右透視線の開始ポイント
および終了ポイントは、X’−Z’平面の変化についての角回転量によって補正
される。右撮像デバイスについて、方向CxおよびCyが補正されたとき、右画
像センサの中心は、右撮像デバイスのピン・ホールおよび選択された座標系の原
点と揃っている。右透視線の開始ポイントおよび終了ポイントの新しい位置は、
右画像センサの変更された位置からの、ポイントの認識を反映している’
て、右撮像デバイス座標系を選択された座標系に変換する。Cy値の補正は、Y
’−Z’平面の位置を変化させる、X’軸での角回転によって得ることができる
。右透視線の開始ポイントおよび終了ポイントは、Y’−Z’平面の変化につい
ての角回転量によって補正される。Cx値の補正は、X’−Z’平面の位置を変
化させるY’軸での角回転によって得ることができる。右透視線の開始ポイント
および終了ポイントは、X’−Z’平面の変化についての角回転量によって補正
される。右撮像デバイスについて、方向CxおよびCyが補正されたとき、右画
像センサの中心は、右撮像デバイスのピン・ホールおよび選択された座標系の原
点と揃っている。右透視線の開始ポイントおよび終了ポイントの新しい位置は、
右画像センサの変更された位置からの、ポイントの認識を反映している’
【0053】 dTwist=obj2D.f2_dCAMTtwist * const_
PI / 190 Call gs_rot3dZ(−dTwist,v1,v2) v1=v2 ‘上記のコール・ルーチンは、選択された座標系に対する右画像センサのロー
ルを補正する。ロール値の補正は、X’−Y’平面の位置を変化させる、Z’軸
での角回転によって得ることができる。右透視線の開始ポイントおよび終了ポイ
ントは、X’−Y’平面の変化についての角回転量によって補正される。右透視
線の開始ポイントおよび終了ポイントの新しい位置は、右画像センサの変更され
た位置からの、ポイントの認識を反映している’
PI / 190 Call gs_rot3dZ(−dTwist,v1,v2) v1=v2 ‘上記のコール・ルーチンは、選択された座標系に対する右画像センサのロー
ルを補正する。ロール値の補正は、X’−Y’平面の位置を変化させる、Z’軸
での角回転によって得ることができる。右透視線の開始ポイントおよび終了ポイ
ントは、X’−Y’平面の変化についての角回転量によって補正される。右透視
線の開始ポイントおよび終了ポイントの新しい位置は、右画像センサの変更され
た位置からの、ポイントの認識を反映している’
【0054】 ‘我々を世界の中心に移動させるため、Z軸に沿ってf、移動する’ dDistance=obj2D.f2_dCAMZ v1.dZ=v1.dZ+dDistance ‘上記3本の線は、変換された右撮像デバイス座標系の半径を補正することを
示している。Cx、Cy、およびロールが補正されると、右撮像デバイス座標系
は、右撮像デバイスのピン・ホールを原点としてもつ、選択された座標系に揃っ
ていることに注意されたい。ピン・ホールにある原点を、選択された座標系の原
点に移動することにより、右透視線の開始ポイントおよび終了ポイント位置は、
原点での右画像センサによるポイントの認識を反映している。これは、右撮像デ
バイス座標系の半径、経度角、経度角を、選択された座標系に補正することによ
って実行される’
示している。Cx、Cy、およびロールが補正されると、右撮像デバイス座標系
は、右撮像デバイスのピン・ホールを原点としてもつ、選択された座標系に揃っ
ていることに注意されたい。ピン・ホールにある原点を、選択された座標系の原
点に移動することにより、右透視線の開始ポイントおよび終了ポイント位置は、
原点での右画像センサによるポイントの認識を反映している。これは、右撮像デ
バイス座標系の半径、経度角、経度角を、選択された座標系に補正することによ
って実行される’
【0055】 dLatitude=obj2D.f2_dCAMTlat * const
_PI / 190 Call gs_rot3dX(−Latitude,v1,v2) v1=v2 ‘上記3本の線は、緯度角を補正することを示している’ dLongitude=obj2D.f2_dCAMTlong * con
st_PI / 190 Call gs_rot3dY(dLongitude,v1,v2) v1=v2 ‘上記3本の線は、経度角を補正することを示している’ vx3Out=v2 End Sub
_PI / 190 Call gs_rot3dX(−Latitude,v1,v2) v1=v2 ‘上記3本の線は、緯度角を補正することを示している’ dLongitude=obj2D.f2_dCAMTlong * con
st_PI / 190 Call gs_rot3dY(dLongitude,v1,v2) v1=v2 ‘上記3本の線は、経度角を補正することを示している’ vx3Out=v2 End Sub
【0056】 ‘以下は、画像センサの方向CxおよびCyの値を補正して、右撮像デバイス
座標系を選択された座標系に変換するサブルーチン・コールのための、例として
のコードである’ Public Sub gs_rot3dC0xC0yWjm(vx3In
As VERTEX3D,obj2D As Object,forward
As Boolean,vx3Out As VERTEX3D) Dim vx2v1 As VERTEX2D Dim vx2v2 As VERTEX2D Dim vx3v1 As VERTEX3D Dim vx3v2 As VERTEX3D Dim vx3Rot As VERTEX3D Dim dCosAngle As Double Dim dAngle as Double
座標系を選択された座標系に変換するサブルーチン・コールのための、例として
のコードである’ Public Sub gs_rot3dC0xC0yWjm(vx3In
As VERTEX3D,obj2D As Object,forward
As Boolean,vx3Out As VERTEX3D) Dim vx2v1 As VERTEX2D Dim vx2v2 As VERTEX2D Dim vx3v1 As VERTEX3D Dim vx3v2 As VERTEX3D Dim vx3Rot As VERTEX3D Dim dCosAngle As Double Dim dAngle as Double
【0057】 ‘修正された2d座標を生成する’ vx2v1.dx=obj2D.f2_iCAMC0x−obj2D.f2_
iCAMCx /2 vx2v1.dy=obj2D.f2_iCAMC0y−obj2D.f2_
iCAMCy /2 ‘ピン・ホール,cox,coyおよびピン・ホール,0,0(z,x,yを
単位ベクトルとする)の範囲にわたる垂線の周りの回転を通じてcox、coy
を取り消す’ ‘既知の2点に関する3Dベクトルを形成’ vx3v1.dx=0 vx3v1.dy=0 vx3v1.dZ=obj2D.f2_dCAMF vx3v2.dx=vx2v2.dx vx3v2.dy=vx2v2.dy vx3v2.dZ=obj2D.f2_dCAMF
iCAMCx /2 vx2v1.dy=obj2D.f2_iCAMC0y−obj2D.f2_
iCAMCy /2 ‘ピン・ホール,cox,coyおよびピン・ホール,0,0(z,x,yを
単位ベクトルとする)の範囲にわたる垂線の周りの回転を通じてcox、coy
を取り消す’ ‘既知の2点に関する3Dベクトルを形成’ vx3v1.dx=0 vx3v1.dy=0 vx3v1.dZ=obj2D.f2_dCAMF vx3v2.dx=vx2v2.dx vx3v2.dy=vx2v2.dy vx3v2.dZ=obj2D.f2_dCAMF
【0058】 ‘回転角度および法線ベクトルを得る’ Call gs_CosAngle3(vx3v1,vx3v2,dCosA
ngle) Call gs_ArcCos(dCosAngle,dAngle) If bForward=False Then dAngle=−dAngle End If Call gs_orth3(vx3v1,vx3v2,vx3Rot) Call gs_rot3dVec(dAngle,vx3Rot,vx3I
n,vx3Out) End Sub
ngle) Call gs_ArcCos(dCosAngle,dAngle) If bForward=False Then dAngle=−dAngle End If Call gs_orth3(vx3v1,vx3v2,vx3Rot) Call gs_rot3dVec(dAngle,vx3Rot,vx3I
n,vx3Out) End Sub
【0059】 ‘以下のサブルーチンは、第2の手順をさらに詳細に示す’ Public Sub tc_Ln3ObjMakeLn2(ln3A As
LINE3D,ln2A As LINE2D,obj2D As Obje
ct) Dim vx2A As VERTEX2D Dim vx2B As VERTEX2D Dim vx3AWorld As VERTEX3D Dim vx3ACam As VERTEX3D Dim vx3BWorld As VERTEX3D Dim vx3BCam As VERTEX3D
LINE3D,ln2A As LINE2D,obj2D As Obje
ct) Dim vx2A As VERTEX2D Dim vx2B As VERTEX2D Dim vx3AWorld As VERTEX3D Dim vx3ACam As VERTEX3D Dim vx3BWorld As VERTEX3D Dim vx3BCam As VERTEX3D
【0060】 ‘3D線をカメラ座標に変換する’ vx3AWorld=ln3A.vx3A vx3BWorld=ln3A.vx3B Call gs_XformWorldToCamera(vx3AWorl
d,vx3ACam,vx2A,obj2D) ‘上記コール・ルーチンは、選択された座標系での右透視線の開始ポイントを
、左撮像デバイス座標系での左画像センサ平面の座標に変換する’ Call gs_XformWorldToCamera(vs3BWorl
d,vx3BCam,vx2B,obj2D) ‘上記コール・ルーチンは、選択された座標系での右透視線の終了ポイントを
、左撮像デバイス座標系での左画像センサ平面の座標に変換する’ ln2A.vx2A=vx2A ln2A.vx2B=vx2B End Sub
d,vx3ACam,vx2A,obj2D) ‘上記コール・ルーチンは、選択された座標系での右透視線の開始ポイントを
、左撮像デバイス座標系での左画像センサ平面の座標に変換する’ Call gs_XformWorldToCamera(vs3BWorl
d,vx3BCam,vx2B,obj2D) ‘上記コール・ルーチンは、選択された座標系での右透視線の終了ポイントを
、左撮像デバイス座標系での左画像センサ平面の座標に変換する’ ln2A.vx2A=vx2A ln2A.vx2B=vx2B End Sub
【0061】 ‘以下は、選択された座標系のポイントを撮像デバイス座標系のポイントに変
換する例としてのコール・ルーチンである。下記ルーチンは、右透視線の開始ポ
イントおよび終了ポイントに適用することができる’ Public Sub gs_XformWorldToCameraWjm
(vx3In As VERTEX3D,vx3Out As VERTEX3
D,obj2D As Object) Dim aAlpha As Double Dim dBeta As Double Dim dF As Double Dim dDistance As Double Dim dLongitude As Double Dim dLatitude As Double Dim dTwist As Double Dim vx3Rot As VERTEX3D Dim iC0x As Integer Dim iC0y As Integer Dim iCx As Integer Dim iCy As Integer Dim vx3v1 As VERTEX3D Dim vx3v2 As VERTEX3D
換する例としてのコール・ルーチンである。下記ルーチンは、右透視線の開始ポ
イントおよび終了ポイントに適用することができる’ Public Sub gs_XformWorldToCameraWjm
(vx3In As VERTEX3D,vx3Out As VERTEX3
D,obj2D As Object) Dim aAlpha As Double Dim dBeta As Double Dim dF As Double Dim dDistance As Double Dim dLongitude As Double Dim dLatitude As Double Dim dTwist As Double Dim vx3Rot As VERTEX3D Dim iC0x As Integer Dim iC0y As Integer Dim iCx As Integer Dim iCy As Integer Dim vx3v1 As VERTEX3D Dim vx3v2 As VERTEX3D
【0062】 DLongitude=obj2D.f2_dCAMTlong * 3.1
415926 / 180 DLatitude=obj2D.f2_dCAMTlat * 3.141
5926 / 180 DTwist=obj2D.f2_dCAMTtwist * 3.1415
926 / 180 dF=obj2D.f2_dCAMF dDistance=obj2D.f2_dCAMZ Call gs_rot3dY(−dLongitude,vx3In,vx
3v2) ‘上記コール・ルーチンは、左撮像デバイスのピン・ホールの経度角を、選択
された座標系のポイントに適用する’
415926 / 180 DLatitude=obj2D.f2_dCAMTlat * 3.141
5926 / 180 DTwist=obj2D.f2_dCAMTtwist * 3.1415
926 / 180 dF=obj2D.f2_dCAMF dDistance=obj2D.f2_dCAMZ Call gs_rot3dY(−dLongitude,vx3In,vx
3v2) ‘上記コール・ルーチンは、左撮像デバイスのピン・ホールの経度角を、選択
された座標系のポイントに適用する’
【0063】 vx3v1=vx3v2 Call gs_rot3dX(dLatitude,vx3v1,vx3v
2) ‘上記コール・ルーチンは、左撮像デバイスのピン・ホールの緯度角を、選択
された座標系のポイントに適用する’ vx3v1=vx3v2 vx3v1.dZ=vx3v1.dZ−dDistance ‘上記コール・ルーチンは、左撮像デバイスのピン・ホールの半径を、選択さ
れた座標系のポイントに適用する’ Call gs_rot3dZ(dTwist,vx3v1,vx3v2) ‘上記コール・ルーチンは、左画像センサのロールを、選択された座標系のポ
イントに適用する’
2) ‘上記コール・ルーチンは、左撮像デバイスのピン・ホールの緯度角を、選択
された座標系のポイントに適用する’ vx3v1=vx3v2 vx3v1.dZ=vx3v1.dZ−dDistance ‘上記コール・ルーチンは、左撮像デバイスのピン・ホールの半径を、選択さ
れた座標系のポイントに適用する’ Call gs_rot3dZ(dTwist,vx3v1,vx3v2) ‘上記コール・ルーチンは、左画像センサのロールを、選択された座標系のポ
イントに適用する’
【0064】 vx3v1=vx3v2 ‘c0x,c0yを適用する’ Call gs_rot3dC0xC0yWjm(vx3v1,obj2D,
True,vx3v2) ‘上記コール・ルーチンは、左画像センサのCxおよびCyを、選択された座
標系のポイントに適用する’ vx3v1=vx3v2 vx3Out=vx3v2 End Sub
True,vx3v2) ‘上記コール・ルーチンは、左画像センサのCxおよびCyを、選択された座
標系のポイントに適用する’ vx3v1=vx3v2 vx3Out=vx3v2 End Sub
【0065】 右撮像デバイス座標系での開始ポイントおよび終了ポイントが、左撮像デバイ
ス座標系での座標に変換されると、変換された開始ポイントおよび終了ポイント
を左画像センサ上に投影するのに、左撮像デバイス座標系の原点であり得る左撮
像デバイスのピン・ホールを使用できることに注意されたい。別様に述べれば、
左撮像デバイス座標系での、開始ポイントおよび終了ポイントの既知の座標、な
らびに左ピン・ホールの既知の座標から、ピン・ホールおよび画像センサを通過
する開始ポイントおよび終了ポイントの透視線に対応する2つの等式を決定する
ことができる。左撮像デバイスの既知のピン・ホール長さから、左画像センサの
位置での、この2個のポイントを決定することができる。この2つの位置の決定
したポイントから、左画像センサによって認識された第1の撮像デバイスの透視
線に対応する線を、左画像センサ上にトレースすることができる。
ス座標系での座標に変換されると、変換された開始ポイントおよび終了ポイント
を左画像センサ上に投影するのに、左撮像デバイス座標系の原点であり得る左撮
像デバイスのピン・ホールを使用できることに注意されたい。別様に述べれば、
左撮像デバイス座標系での、開始ポイントおよび終了ポイントの既知の座標、な
らびに左ピン・ホールの既知の座標から、ピン・ホールおよび画像センサを通過
する開始ポイントおよび終了ポイントの透視線に対応する2つの等式を決定する
ことができる。左撮像デバイスの既知のピン・ホール長さから、左画像センサの
位置での、この2個のポイントを決定することができる。この2つの位置の決定
したポイントから、左画像センサによって認識された第1の撮像デバイスの透視
線に対応する線を、左画像センサ上にトレースすることができる。
【0066】 ブロック126で、計算デバイスは、左画像センサ14での対応するポイント
D2(図12を見よ)のX、Y、Z座標を決定し、較正を通じて決定された左ピ
ン・ホールPLの、既知のX、Y、Z座標を使用して、対応するポイントD2お
よび左ピン・ホールPLを通過する線L2を表す等式が導出される。ブロック1
28は、ブロック124およびブロック126から導出された等式を使用して、
右画像センサでの指定されたポイントに対応する被写体上のポイントのX、Y、
Z座標を計算する計算デバイスを示している。この等式は、選択された座標系で
の座標という形で定義されるピン・ホールの座標という形での変数をもっている
ことに注意されたい。したがって、被写体のポイントのX、Y、Z座標は、選択
された座標系での座標となる。ブロック130は、縦線上にまだ処理すべきポイ
ントがあるかを判断し、もしそうであれば、カウンタが増分され、ブロック12
0〜130で示されるステップが実行されることを示している。ブロック132
は、まだ処理すべき縦線があるか判断することを示している。ブロック120〜
132は、まだ処理すべき縦線がある場合には、カウンタが増分され、処理が繰
り返されることを示している。そうでなければ、3Dデータの抽出は完了となり
、処理は停止する。
D2(図12を見よ)のX、Y、Z座標を決定し、較正を通じて決定された左ピ
ン・ホールPLの、既知のX、Y、Z座標を使用して、対応するポイントD2お
よび左ピン・ホールPLを通過する線L2を表す等式が導出される。ブロック1
28は、ブロック124およびブロック126から導出された等式を使用して、
右画像センサでの指定されたポイントに対応する被写体上のポイントのX、Y、
Z座標を計算する計算デバイスを示している。この等式は、選択された座標系で
の座標という形で定義されるピン・ホールの座標という形での変数をもっている
ことに注意されたい。したがって、被写体のポイントのX、Y、Z座標は、選択
された座標系での座標となる。ブロック130は、縦線上にまだ処理すべきポイ
ントがあるかを判断し、もしそうであれば、カウンタが増分され、ブロック12
0〜130で示されるステップが実行されることを示している。ブロック132
は、まだ処理すべき縦線があるか判断することを示している。ブロック120〜
132は、まだ処理すべき縦線がある場合には、カウンタが増分され、処理が繰
り返されることを示している。そうでなければ、3Dデータの抽出は完了となり
、処理は停止する。
【0067】 本明細書に記載される例としての実施形態は、この発明の原理を例示するため
だけに提供されているもので、この発明の範囲を制限するものと解釈すべきでは
ない。そうではなく、この発明の原則は、本明細書に記載の利点を達成する、な
らびに他の利点を達成する、または同様に他の目的を満たすため、広い範囲のシ
ステムに適用することができる。
だけに提供されているもので、この発明の範囲を制限するものと解釈すべきでは
ない。そうではなく、この発明の原則は、本明細書に記載の利点を達成する、な
らびに他の利点を達成する、または同様に他の目的を満たすため、広い範囲のシ
ステムに適用することができる。
【図1】 例としての3次元(3D)撮像デバイスシステムを示す図である。
【図2】 例としての別の3D撮像デバイスシステムを示す図である。
【図3a】 立体画像化すべき目標被写体を示す図である。
【図3b】 目標被写体の立体画像を示す図である。
【図3c】 抽出された3Dデータを示す図である。
【図3d】 3Dデータで形成された表面構造を示す図である。
【図4】 可視光源およびテクスチャ・データを使用して、目標被写体の構造的光データ
をキャプチャする例としての方法を示す図である。
をキャプチャする例としての方法を示す図である。
【図5】 非可視光源およびテクスチャ・データを使用して、目標被写体の構造的光デー
タをキャプチャする例としての方法を示す図である。
タをキャプチャする例としての方法を示す図である。
【図6】 例としての較正手順を示す図である。
【図7】 選択された座標系に応じて較正すべき撮像デバイスを示す図である。
【図8a】 例としての較正目標を示す図である。
【図8b】 画像センサが較正されたときの、画像センサの観点からの較正目標の見え方を
示す図である。
示す図である。
【図8c】 画像センサが較正されたときの、画像センサの観点からの較正目標の見え方を
示す図である。
示す図である。
【図8d】 画像センサが較正されたときの、画像センサの観点からの較正目標の見え方を
示す図である。
示す図である。
【図9】 較正すべき撮像デバイスのピン・ホール長さを決定する例としての機器を示す
図である。
図である。
【図10】 較正目標の例としての別の実施形態を示す図である。
【図11】 被写体の立体画像からの例としての3Dデータ抽出手順を示す図である。
【図12】 例としての3Dデータ抽出手順の別の図である。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,GW,ML, MR,NE,SN,TD,TG),AP(GH,GM,K E,LS,MW,SD,SL,SZ,UG,ZW),E A(AM,AZ,BY,KG,KZ,MD,RU,TJ ,TM),AE,AL,AM,AT,AU,AZ,BA ,BB,BG,BR,BY,CA,CH,CN,CU, CZ,DE,DK,EE,ES,FI,GB,GD,G E,GH,GM,HR,HU,ID,IL,IN,IS ,JP,KE,KG,KP,KR,KZ,LC,LK, LR,LS,LT,LU,LV,MD,MG,MK,M N,MW,MX,NO,NZ,PL,PT,RO,RU ,SD,SE,SG,SI,SK,SL,TJ,TM, TR,TT,UA,UG,US,UZ,VN,YU,Z A,ZW Fターム(参考) 2F065 AA53 BB05 FF04 HH07 JJ03 JJ05 QQ31 UU05 5B057 BA02 BA13 CA01 CA08 CA13 CA16 CB01 CB13 CB16 CB18
Claims (19)
- 【請求項1】 目標被写体上に構造化された光を投射する回折デバイスを備
えた光源、および 前記目標被写体の画像をキャプチャする複数の撮像デバイスを含む装置。 - 【請求項2】 キャプチャされた前記画像を処理して3次元(3D)データ
にする計算デバイスをさらに含む請求項1に記載の装置。 - 【請求項3】 前記計算デバイスが、前記3Dデータを処理して、前記目標
被写体の3Dモデルにする請求項2に記載の装置。 - 【請求項4】 前記光源が、可視スペクトルの光を放出する請求項1に記載
の装置。 - 【請求項5】 前記光源が、非可視スペクトルの光を放出する請求項1に記
載の装置。 - 【請求項6】 前記撮像デバイスが、前記光源から放出された非可視反射光
をキャプチャするように適合された請求項5に記載の装置。 - 【請求項7】 前記複数の撮像デバイスが、カラー撮像デバイスである請求
項1に記載の装置。 - 【請求項8】 前記複数の撮像デバイスが、少なくとも2つのモノクローム
撮像デバイスおよび少なくとも1つのカラー撮像デバイスを含む請求項1に記載
の装置。 - 【請求項9】 前記構造化された光が、前記回折デバイスを備えた前記光源
によって生成された線、グリッド、ドット、セグメント化された線のうち1つを
含む請求項1に記載の装置。 - 【請求項10】 前記回折デバイスに結合されて、前記構造化された光をコ
ード化するフィルタをさらに含む請求項1に記載の装置。 - 【請求項11】 前記構造化された光が光の線であり、セグメント化された
1本の光の線と後続のセグメント化された1本の光の線が異なるセグメント化構
造をもつように前記光の線をコード化する請求項10に記載の装置。 - 【請求項12】 前記撮像デバイスが、カムコーダおよびデジタル・カメラ
のうちの1つである請求項1に記載の装置。 - 【請求項13】 目標被写体の立体画像をキャプチャする方法であって、 前記目標被写体上に構造化された光を投射するステップと、 前記目標被写体の前記立体画像をキャプチャするステップとを含む方法。
- 【請求項14】 前記目標被写体のテクスチャ・データをキャプチャするス
テップをさらに含む請求項13に記載の方法。 - 【請求項15】 前記構造化された光を発生する光源が、可視スペクトルの
光を放出する請求項13に記載の方法であって、 前記光源のスイッチを切るステップと、 前記目標被写体のテクスチャ・データをキャプチャするステップとをさらに含
む方法。 - 【請求項16】 前記構造化された光を発生する光源が、非可視スペクトル
の光を放出する請求項13に記載の方法であって、 構造化された光データおよびテクスチャ・データを含む前記立体画像を同時に
キャプチャするステップと、 前記テクスチャ・データに対応するカラー出力を生成するステップと、 構造的光データに対応する非可視光出力を生成するステップとをさらに含む方
法。 - 【請求項17】 目標被写体の立体画像をキャプチャする方法であって、 目標被写体上に構造化された光を投射するステップと、 第1の撮像デバイスを使用して、第1の位置から前記目標被写体の第1の画像
をキャプチャするステップと、 第2の撮像デバイスを使用して、第2の位置から前記目標被写体の第2の画像
をキャプチャするステップと、 前記第1の画像および前記第2の画像を使用して、前記目標被写体の少なくと
も一部分の3次元(3D)モデルを生成するステップとを含む方法。 - 【請求項18】 3Dモデルを生成するステップが、 前記第1の画像および前記第2の画像から、前記目標被写体の前記一部分の3
Dデータに対応する複数のポイントを抽出するステップと、 前記目標被写体の前記一部分の表面構造を形成するために事前決定されたアル
ゴリズムに従って前記複数のポイントの間に線を形成するステップとを含む請求
項17に記載の方法。 - 【請求項19】 前記目標被写体の、前記一部分の前記表面構造にテクスチ
ャ・データを適用するステップをさらに含む請求項18に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/108,907 | 1998-06-30 | ||
US09/108,907 US6377700B1 (en) | 1998-06-30 | 1998-06-30 | Method and apparatus for capturing stereoscopic images using image sensors |
PCT/US1999/011284 WO2000000926A1 (en) | 1998-06-30 | 1999-05-20 | Method and apparatus for capturing stereoscopic images using image sensors |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2002519791A true JP2002519791A (ja) | 2002-07-02 |
Family
ID=22324751
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000557427A Pending JP2002519791A (ja) | 1998-06-30 | 1999-05-20 | 画像センサを使用して立体画像をキャプチャする方法および装置 |
Country Status (8)
Country | Link |
---|---|
US (1) | US6377700B1 (ja) |
JP (1) | JP2002519791A (ja) |
KR (1) | KR100407436B1 (ja) |
AU (1) | AU4093499A (ja) |
DE (1) | DE19983341B4 (ja) |
GB (1) | GB2354661B (ja) |
TW (1) | TW533355B (ja) |
WO (1) | WO2000000926A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006174440A (ja) * | 2000-02-21 | 2006-06-29 | Sharp Corp | 画像合成装置 |
Families Citing this family (75)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6858826B2 (en) * | 1996-10-25 | 2005-02-22 | Waveworx Inc. | Method and apparatus for scanning three-dimensional objects |
JP2001165638A (ja) * | 1999-02-19 | 2001-06-22 | Sanyo Electric Co Ltd | 三次元モデル提供装置及びその方法 |
US6751344B1 (en) * | 1999-05-28 | 2004-06-15 | Champion Orthotic Investments, Inc. | Enhanced projector system for machine vision |
US6775397B1 (en) * | 2000-02-24 | 2004-08-10 | Nokia Corporation | Method and apparatus for user recognition using CCD cameras |
US7660444B2 (en) * | 2000-02-24 | 2010-02-09 | Nokia Corporation | Method and apparatus for user recognition using CCD cameras |
JP3867512B2 (ja) * | 2000-06-29 | 2007-01-10 | 富士ゼロックス株式会社 | 画像処理装置および画像処理方法、並びにプログラム |
US6795200B1 (en) * | 2000-11-13 | 2004-09-21 | Point Grey Research Inc. | Method and system for dimensioning boxes or other cuboid objects |
US6997387B1 (en) * | 2001-03-28 | 2006-02-14 | The Code Corporation | Apparatus and method for calibration of projected target point within an image |
JP2003294416A (ja) * | 2002-04-03 | 2003-10-15 | Eng Kk | ステレオ画像処理装置 |
US20030202124A1 (en) * | 2002-04-26 | 2003-10-30 | Alden Ray M. | Ingrained field video advertising process |
US7257236B2 (en) | 2002-05-22 | 2007-08-14 | A4Vision | Methods and systems for detecting and recognizing objects in a controlled wide area |
US7174033B2 (en) | 2002-05-22 | 2007-02-06 | A4Vision | Methods and systems for detecting and recognizing an object based on 3D image data |
US7103212B2 (en) | 2002-11-22 | 2006-09-05 | Strider Labs, Inc. | Acquisition of three-dimensional images by an active stereo technique using locally unique patterns |
CN101064005A (zh) * | 2003-02-13 | 2007-10-31 | 日本电气株式会社 | 伪装检测装置及伪装检测方法 |
DE10315923A1 (de) * | 2003-04-08 | 2004-10-28 | Tbs Holding Ag | Verfahren und Anordnung zur berührungslosen Detektion von Daten unebener Flächen |
US7557966B2 (en) * | 2004-08-11 | 2009-07-07 | Acushnet Company | Apparatus and method for scanning an object |
AU2011253652B2 (en) * | 2004-08-12 | 2013-08-01 | Bioscrypt, Inc. | Apparatus and method for performing enrollment of user biometric information |
WO2006031147A1 (fr) * | 2004-08-12 | 2006-03-23 | A4 Vision S.A. | Dispositif de controle biometrique de la surface d'un visage |
EP1783453A4 (en) * | 2004-08-12 | 2012-05-30 | A4 Vision S A | DEVICE FOR CONTACTLESS CONTROL OF THE SURFACE PROFILE OF OBJECTS |
US7646896B2 (en) * | 2005-08-02 | 2010-01-12 | A4Vision | Apparatus and method for performing enrollment of user biometric information |
AU2013251233B2 (en) * | 2004-08-12 | 2014-09-04 | Bioscrypt, Inc. | Apparatus and method for performing enrollment of user biometric information |
WO2006021165A1 (de) * | 2004-08-25 | 2006-03-02 | Tbs Holding Ag | Verfahren und anordnung zur optischen aufnahme biometrischer daten |
CN101198964A (zh) * | 2005-01-07 | 2008-06-11 | 格斯图尔泰克股份有限公司 | 使用红外图案照射创建对象的三维图像 |
WO2006078996A2 (en) * | 2005-01-21 | 2006-07-27 | Gesturetek, Inc. | Motion-based tracking |
DE102005013045B4 (de) * | 2005-03-18 | 2013-03-14 | Siemens Aktiengesellschaft | Fluoreszenz-Scanner für molekulare Signaturen |
DE102005013042A1 (de) * | 2005-03-18 | 2006-09-28 | Siemens Ag | Einrichtung zur Erzeugung von 3D-Fluoreszenz-oder Lumineszenz-Scans |
DE102005013044B4 (de) * | 2005-03-18 | 2007-08-09 | Siemens Ag | Fluoreszenz-Scanner |
DE102005013043A1 (de) * | 2005-03-18 | 2006-09-28 | Siemens Ag | Mobiler Fluoreszenz-Scanner für molekulare Signaturen |
WO2007043036A1 (en) | 2005-10-11 | 2007-04-19 | Prime Sense Ltd. | Method and system for object reconstruction |
JP5038296B2 (ja) * | 2005-05-17 | 2012-10-03 | クアルコム,インコーポレイテッド | 方位感受性信号出力 |
GB0515915D0 (en) * | 2005-08-02 | 2005-09-07 | Isis Innovation | Method and system for three-dimensional data capture |
US20070047774A1 (en) * | 2005-08-31 | 2007-03-01 | Artiom Yukhin | Method and apparatus for performing enrollment of 2D and 3D face biometrics |
US8848035B2 (en) | 2005-10-04 | 2014-09-30 | Motion Analysis Corporation | Device for generating three dimensional surface models of moving objects |
US9330324B2 (en) | 2005-10-11 | 2016-05-03 | Apple Inc. | Error compensation in three-dimensional mapping |
EP1960941A4 (en) | 2005-11-10 | 2012-12-26 | Motion Analysis Corp | DEVICE AND METHOD FOR CALIBRATING AN IMAGING DEVICE FOR GENERATING THREE-DIMENSIONAL SURFACE MODELS OF MOBILE OBJECTS |
CN101496033B (zh) | 2006-03-14 | 2012-03-21 | 普莱姆森斯有限公司 | 利用散斑图案的三维传感 |
US20070229850A1 (en) * | 2006-04-04 | 2007-10-04 | Boxternal Logics, Llc | System and method for three-dimensional image capture |
KR100801087B1 (ko) * | 2006-07-05 | 2008-02-11 | 삼성전자주식회사 | 스트럭처드 라이트를 이용한 이동체 감지 시스템 및 방법,상기 시스템을 포함하는 이동 로봇 |
WO2008083205A2 (en) * | 2006-12-29 | 2008-07-10 | Gesturetek, Inc. | Manipulation of virtual objects using enhanced interactive system |
TWI433052B (zh) | 2007-04-02 | 2014-04-01 | Primesense Ltd | 使用投影圖案之深度製圖 |
US8494252B2 (en) | 2007-06-19 | 2013-07-23 | Primesense Ltd. | Depth mapping using optical elements having non-uniform focal characteristics |
US20090103783A1 (en) * | 2007-10-19 | 2009-04-23 | Artec Ventures | System and Method for Biometric Behavior Context-Based Human Recognition |
US9488471B2 (en) * | 2007-11-05 | 2016-11-08 | Doubleshot, Inc. | Methods and systems for navigation and terrain change detection |
US8050468B2 (en) * | 2008-03-05 | 2011-11-01 | Honeywell International Inc. | Fingerprint acquisition system |
US8643641B2 (en) * | 2008-05-12 | 2014-02-04 | Charles G. Passmore | System and method for periodic body scan differencing |
US8456517B2 (en) | 2008-07-09 | 2013-06-04 | Primesense Ltd. | Integrated processor for 3D mapping |
DE102008047413A1 (de) * | 2008-09-16 | 2010-04-15 | Hella Kgaa Hueck & Co. | Vorrichtung und Verfahren zur Detektion von Objekten |
US8786682B2 (en) * | 2009-03-05 | 2014-07-22 | Primesense Ltd. | Reference image techniques for three-dimensional sensing |
US8717417B2 (en) * | 2009-04-16 | 2014-05-06 | Primesense Ltd. | Three-dimensional mapping and imaging |
US9582889B2 (en) * | 2009-07-30 | 2017-02-28 | Apple Inc. | Depth mapping based on pattern matching and stereoscopic information |
US8830227B2 (en) * | 2009-12-06 | 2014-09-09 | Primesense Ltd. | Depth-based gain control |
US8982182B2 (en) * | 2010-03-01 | 2015-03-17 | Apple Inc. | Non-uniform spatial resource allocation for depth mapping |
US9098931B2 (en) | 2010-08-11 | 2015-08-04 | Apple Inc. | Scanning projectors and image capture modules for 3D mapping |
WO2012066501A1 (en) | 2010-11-19 | 2012-05-24 | Primesense Ltd. | Depth mapping using time-coded illumination |
US9131136B2 (en) | 2010-12-06 | 2015-09-08 | Apple Inc. | Lens arrays for pattern projection and imaging |
US20120242795A1 (en) | 2011-03-24 | 2012-09-27 | Paul James Kane | Digital 3d camera using periodic illumination |
US9030528B2 (en) | 2011-04-04 | 2015-05-12 | Apple Inc. | Multi-zone imaging sensor and lens array |
KR101188357B1 (ko) * | 2011-04-21 | 2012-10-08 | 정제교 | 기설정 배율각을 가진 다중투사광의 2차원 영상획득을 통한 3차원 인식 방법 |
TWI477885B (zh) * | 2011-07-05 | 2015-03-21 | Danic Ind Co Ltd | 三維成像系統及方法 |
TWI510056B (zh) * | 2011-12-27 | 2015-11-21 | Hon Hai Prec Ind Co Ltd | 3d成像模組及3d成像方法 |
US9651417B2 (en) | 2012-02-15 | 2017-05-16 | Apple Inc. | Scanning depth engine |
JP6112807B2 (ja) * | 2012-09-11 | 2017-04-12 | 株式会社キーエンス | 形状測定装置、形状測定方法および形状測定プログラム |
PT2909807T (pt) | 2012-10-17 | 2020-05-06 | Cathx Res Ltd | Melhoramentos em relação à formação de imagens para vistorias subaquáticas |
PL2918967T3 (pl) | 2012-11-07 | 2018-10-31 | Artec Europe S.A.R.L. | Sposób monitorowania wymiarów liniowych obiektów trójwymiarowych |
US11509880B2 (en) | 2012-11-14 | 2022-11-22 | Qualcomm Incorporated | Dynamic adjustment of light source power in structured light active depth sensing systems |
CN103278141B (zh) * | 2013-03-06 | 2016-05-18 | 北京工业大学 | 婴幼儿睡眠监控系统及方法 |
US10349037B2 (en) | 2014-04-03 | 2019-07-09 | Ams Sensors Singapore Pte. Ltd. | Structured-stereo imaging assembly including separate imagers for different wavelengths |
CN105222724B (zh) * | 2015-09-10 | 2018-09-18 | 北京天远三维科技股份有限公司 | 多线阵列激光三维扫描系统及多线阵列激光三维扫描方法 |
US10542245B2 (en) * | 2017-05-24 | 2020-01-21 | Lg Electronics Inc. | Mobile terminal and method for controlling the same |
US10614292B2 (en) | 2018-02-06 | 2020-04-07 | Kneron Inc. | Low-power face identification method capable of controlling power adaptively |
CN108961195B (zh) * | 2018-06-06 | 2021-03-23 | Oppo广东移动通信有限公司 | 图像处理方法及装置、图像采集装置、可读存储介质和计算机设备 |
US11282231B2 (en) * | 2018-12-21 | 2022-03-22 | Sony Group Corporation | Camera rig with multiple sensors |
US11051001B2 (en) | 2019-05-29 | 2021-06-29 | Avigilon Corporation | Method and system for generating a two-dimensional and a three-dimensional image stream |
US11836940B2 (en) * | 2020-06-15 | 2023-12-05 | Zebra Technologies Corporation | Three-dimensional sensor acuity recovery assistance |
WO2023139254A1 (en) * | 2022-01-24 | 2023-07-27 | Trinamix Gmbh | Enhanced material detection by stereo beam profile analysis |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4525858A (en) * | 1983-01-03 | 1985-06-25 | General Electric Company | Method and apparatus for reconstruction of three-dimensional surfaces from interference fringes |
US4639878A (en) * | 1985-06-04 | 1987-01-27 | Gmf Robotics Corporation | Method and system for automatically determining the position and attitude of an object |
DE8808293U1 (de) * | 1988-06-28 | 1989-07-27 | Siemens AG, 1000 Berlin und 8000 München | Optik zur dreidimensionalen Formerfassung von Prüfobjekten mit strukturierter Beleuchtung mit lichtablenkenden Rastern |
DE4115401C2 (de) * | 1991-05-10 | 1994-04-14 | Rainer Dr Uhl | Fluoreszenz-Meßvorrichtung zum Bestimmen der Ionenkonzentration eines Untersuchungsobjekts, das mit einem Fluoreszenzfarbstoff eingefärbt ist, dessen Anregungsmaximum sich in Abhängigkeit von der zu bestimmenden Ionenkonzentration ändert |
DE4240940A1 (de) * | 1992-12-06 | 1994-06-09 | Robert Prof Dr Ing Massen | Automatisierte Kreation von individualisierten Puppen und Masken |
US5548418A (en) * | 1994-01-14 | 1996-08-20 | Dcs Corporation | Holographic structured light generator |
WO1995034044A1 (en) * | 1994-06-09 | 1995-12-14 | Kollmorgen Instrument Corporation | Stereoscopic electro-optical system for automated inspection and/or alignment of imaging devices on a production assembly line |
US6028672A (en) * | 1996-09-30 | 2000-02-22 | Zheng J. Geng | High speed three dimensional imaging method |
US5615003A (en) * | 1994-11-29 | 1997-03-25 | Hermary; Alexander T. | Electromagnetic profile scanner |
DE19516656A1 (de) * | 1995-05-05 | 1996-11-14 | Fraunhofer Ges Forschung | Verfahren zum Erfassen der dreidimensionalen Form von Objekten |
US5771310A (en) * | 1996-12-30 | 1998-06-23 | Shriners Hospitals For Children | Method and apparatus for recording three-dimensional topographies |
JPH1062154A (ja) * | 1996-08-15 | 1998-03-06 | Oki Electric Ind Co Ltd | 測定値処理方法、形状の再構成方法および形状の再構成装置 |
US5832107A (en) * | 1996-09-19 | 1998-11-03 | Optical Gaging Products, Inc. | Optical system for stereoscopically measuring feature heights based on lateral image offsets |
US5864640A (en) * | 1996-10-25 | 1999-01-26 | Wavework, Inc. | Method and apparatus for optically scanning three dimensional objects using color information in trackable patches |
US5838428A (en) * | 1997-02-28 | 1998-11-17 | United States Of America As Represented By The Secretary Of The Navy | System and method for high resolution range imaging with split light source and pattern mask |
JP2002516443A (ja) * | 1998-05-15 | 2002-06-04 | トリコーダー テクノロジー ピーエルシー | 3次元表示のための方法および装置 |
-
1998
- 1998-06-30 US US09/108,907 patent/US6377700B1/en not_active Expired - Lifetime
-
1999
- 1999-05-20 DE DE19983341T patent/DE19983341B4/de not_active Expired - Fee Related
- 1999-05-20 AU AU40934/99A patent/AU4093499A/en not_active Abandoned
- 1999-05-20 WO PCT/US1999/011284 patent/WO2000000926A1/en active IP Right Grant
- 1999-05-20 GB GB0031147A patent/GB2354661B/en not_active Expired - Fee Related
- 1999-05-20 KR KR10-2000-7015123A patent/KR100407436B1/ko not_active IP Right Cessation
- 1999-05-20 JP JP2000557427A patent/JP2002519791A/ja active Pending
- 1999-06-23 TW TW088110573A patent/TW533355B/zh not_active IP Right Cessation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006174440A (ja) * | 2000-02-21 | 2006-06-29 | Sharp Corp | 画像合成装置 |
JP4658787B2 (ja) * | 2000-02-21 | 2011-03-23 | シャープ株式会社 | 画像合成装置 |
Also Published As
Publication number | Publication date |
---|---|
US6377700B1 (en) | 2002-04-23 |
AU4093499A (en) | 2000-01-17 |
WO2000000926A1 (en) | 2000-01-06 |
GB2354661A (en) | 2001-03-28 |
TW533355B (en) | 2003-05-21 |
KR20010053347A (ko) | 2001-06-25 |
DE19983341B4 (de) | 2007-07-05 |
GB2354661B (en) | 2002-12-04 |
GB0031147D0 (en) | 2001-01-31 |
DE19983341T1 (de) | 2002-07-11 |
KR100407436B1 (ko) | 2003-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2002519791A (ja) | 画像センサを使用して立体画像をキャプチャする方法および装置 | |
US6125197A (en) | Method and apparatus for the processing of stereoscopic electronic images into three-dimensional computer models of real-life objects | |
US20210074024A1 (en) | Multi view camera registration | |
Neumann et al. | Augmented virtual environments (ave): Dynamic fusion of imagery and 3d models | |
US7573489B2 (en) | Infilling for 2D to 3D image conversion | |
US7573475B2 (en) | 2D to 3D image conversion | |
CN104335005B (zh) | 3d扫描以及定位系统 | |
US6195455B1 (en) | Imaging device orientation information through analysis of test images | |
US8432435B2 (en) | Ray image modeling for fast catadioptric light field rendering | |
US9357206B2 (en) | Systems and methods for alignment, calibration and rendering for an angular slice true-3D display | |
US20120176478A1 (en) | Forming range maps using periodic illumination patterns | |
US20120176380A1 (en) | Forming 3d models using periodic illumination patterns | |
Soucy et al. | Sensors and algorithms for the construction of digital 3-D colour models of real objects | |
JP2000503177A (ja) | 2次元映像(motion picture)を3次元映像に変換する方法及び装置 | |
Starck et al. | The multiple-camera 3-d production studio | |
Beraldin et al. | Exploring a Byzantine crypt through a high-resolution texture mapped 3D model: combining range data and photogrammetry | |
CN107103620B (zh) | 一种基于独立相机视角下空间采样的多光编码相机的深度提取方法 | |
Aliaga | Digital inspection: An interactive stage for viewing surface details | |
Colombo et al. | Shape reconstruction and texture sampling by active rectification and virtual view synthesis | |
JP3052926B2 (ja) | 三次元座標計測装置 | |
Zhou et al. | MR sand table: Mixing real-time video streaming in physical models | |
KR20030015625A (ko) | 정육면체 프레임을 이용한 카메라 보정이 필요없는 물체의3차원 구조 복원 방법 | |
Andrade et al. | Enhancing color texture quality of 3D models for digital preservation of indigenous ceramic artworks | |
Khuslen | A Study on Effective View-Dependent Projection Mapping by Projecting Virtual Object and Real Background with Perspectively-Correct Appearance | |
Battulga | A Study on Effective View-Dependent Projection Mapping by Projecting Virtual Object and Real Background with Perspectively-Correct Appearance |