(58)【調査した分野】(Int.Cl.,DB名)
誤差を修正した3Dモデルを受け取るための入力部を含むレンダリングユニットをさらに含み、前記レンダリングユニットは、誤差を修正した3Dモデルに基づいて、第1の物体の2D表示を提供する、請求項1に記載のシステム。
表示装置は、第2の物体の1つの画像をさらに表示するように構成され、オペレータ入力装置は、オペレータが、誤差を修正した3Dモデルに基づいて、表示された第1の画像、表示された第2の画像、および、表示されたレンダリングされた画像の1つの中に、第2の物体の画像を位置付けることを可能にするように構成される、請求項4に記載のシステム。
投影する工程、3D座標を決定する工程、誤差を測定する工程、および、カメラパラメータを調節する工程は、測定された誤差があらかじめ決められた誤差以下となるまで、繰り返される、請求項6に記載の方法。
繰り返される工程と、前記誤差を測定する工程は、あらかじめ決められた誤差に収束する時間を最適化するために、少なくとも1つのパラメータを展開させることによって行われる、請求項7に記載の方法。
【発明を実施するための形態】
【0010】
(
図1)
図1は、構造測定システムで展開された本発明の実施形態を示す。画像ソース(10)は、現実世界の3Dの住居構造(1)の画像を含む写真画像を含む。本発明のいくつかの実施形態では、適切な2D画像ソースは、JPEG、TIFF、GIF、RAW、および、他の画像保存フォーマットなどのグラフィック形式で保存される2D画像集を含む。本発明のいくつかの実施形態は、構造の鳥瞰図を含む少なくとも1つの画像を受け取る。1つの鳥瞰図は、4つの角度から航空写真を提供する。
【0011】
本発明の幾つかの実施形態において、適切な2D画像は、航空画像または衛星画像を含む。本発明の1つの実施形態では、2D画像ソースは、インターネットを介してシステム(200)によってアクセス可能なオンラインデータベースである。2D画像の適切なオンラインソースの例には、限定されないが、米国地理調査所(USGS)、米国メリーランド大学のGlobal Land Cover Facility、および、TerraServer−USA(Microsoft Research Maps(MSR)と最近改名された)が挙げられる。これらのデータベースは、地図と航空写真を保存する。
【0012】
本発明のいくつかの実施形態では、画像をジオリファレンス(geo−referenced)する。ジオリファレンスを行った画像は、それ自体のなかに、あるいは、補足ファイル(例えば、ワールドファイル)のなかに、どのようにして画像を他のデータに揃えるのかをGISシステムに示す情報を含んでいる。ジオリファレンスに適した形式は、GeoTiff、jp2、および、MrSidを含む。他の画像は、通常、同じ名前とサフィックスの画像ファイルを含む小さなテキストファイルであるコンパニオンファイル(companion file)(ワールドファイルとしてArcGISで知られている)中のジオリファレンス情報を伝えることもある。画像は、本発明のいくつかの実施形態において、使用するために手動でジオリファレンスが行われる。高解像度画像は、Google Earth Pro(商標)のような参加者データベースから利用可能である。Mapquest(商標)は、本発明のいくつかの実施形態に適している。本発明のいくつかの実施形態では、地図情報システム(GIS)情報を含む、ジオリファレンスを行った画像が受け取られる。
【0013】
構造(1)の画像は、航空機搭載カメラ(4)のような航空機搭載画像キャプチャデバイスを使用して、例えば、構造(1)の航空写真を撮る航空機(5)によって撮られた。カメラ(4)によって撮られた例証的な写真(107)は、住居構造(1)の屋根(106)の上から見下ろした図である。カメラ(4)によって得られた例証的な写真(107)は、住居構造(1)の屋根(106)の平面図である。しかしながら、本発明は、上から見下ろした図に限定されない。カメラ(4)は、構造(1)の正投影図と斜投影図、および、その他の図も撮ってもよい。
【0014】
画像ソース(10)を含む画像は、航空写真に限定される必要はない。例えば、構造(1)の追加画像は、第2のカメラ、例えば、地上カメラ(9)によって地面上で撮られる。地上での画像は、限定されないが、構造(1)の正面、側面、および、背面の図を含む。
図1は、構造(1)の第2の写真(108)を描いている。この図において、写真(108)は構造(1)の正面図を提供する。
【0015】
本発明の実施形態によれば、物体の第1と第2の図は、任意の特定のタイプの画像キャプチャデバイスを用いてキャプチャされる必要はない。異なる時間に、および、異なる目的のために、異なるキャプチャデバイスからキャプチャされた画像は、本発明の様々な実施形態で使用するのに適しているだろう。第1と第2の画像を得た画像キャプチャデバイスは、任意の特定の内部または外部のカメラの属性を共通して有する必要はない。本発明は、第1と第2の画像をキャプチャするために用いられる実際のカメラについて内部または外部のカメラの属性の知識に頼らない。
【0016】
ひとたび画像が画像ソース(10)に保存されると、画像は、選択とシステム(100)へのダウンロードに利用可能である。1つの使用例において、オペレータ(113)は、顧客から所在地住所を得る。オペレータ(113)は、画像(10)のソースに、例えば、インターネットによってアクセスするために、画像管理ユニット(103)を使用してもよい。オペレータ(113)は、所在地住所を提供することによって画像を得てもよい。画像ソース(10)は、与えられた所在地住所にある住宅の複数の視野を提供することに応じる。本発明の様々な実施形態とともに使用するのに適した図は、平面図、正面図、斜視図、正投影図、斜め画像、および、その他のタイプの画像および図を含む。
【0017】
この実施例において、第1の画像(107)は、住宅(1)の第1の視野を示す。第1の視野は、住宅(1)の屋根の平面図を示す。第2の画像(108)は、同じ住宅(1)の第2の視野を示す。第2の画像は、第1の視野に示される屋根とは違う視点から屋根を示している。したがって、第1の画像(107)は、2次元空間で第1の配向に物体(1)の画像を含み、第2の画像(108)は、2D空間の第2の配向に同じ物体(1)の画像を含む。本発明のいくつかの実施では、少なくとも1つの画像は、物体の平面図を含む。第1の画像(107)と第2の画像(108)は、画像中に表された物体(1)の大きさ、縦横比、および、他の特徴に関して、互いに異なってもよい。
【0018】
構造(1)の寸法を測定することが望ましい場合、構造の第1と第2の画像は、画像ソース(10)から得られる。第1と第2の画像を提供するカメラ(4)および(9)に関する情報が、必ずしも画像ソース(10)に保存されず、必ずしも検索した画像とともに提供されないことに着目することは重要である。多くの場合、第1と第2の写真を撮るために使用されるカメラに関するいかなる情報も、任意のソースからは入手できない。本発明の実施形態は、実際の第1と第2のカメラに関する情報が利用可能かどうかにかかわらず、第1と第2の画像に基づいた、第1と第2のカメラに関する情報を決定することができる。
【0019】
1つの実施形態では、住宅の第1と第2の画像は、システム(100)によって受け取られ、オペレータ(113)に表示される。オペレータ(113)は、3次元モデルジェネレーター(950)に提供される点集合(制御点)を生成するために、画像と相互に作用する(interact)。モデルジェネレーター(950)は、物体の3次元モデル
(951)を提供する。3次元モデル
(951)は、レンダリングエンジン
(995)によって、2D表示装置(103)上に表示するために
ディスプレイインターフェース(993)を介してレンダリングされる。オペレータ(113)は、表示された物体と相互に作用するために、測定アプリケーション
(992)を使用して、表示装置(103)に表示された物体の寸法を測定する。モデルの測定は、第1と第2の画像のスケールに関する情報に基づいた現実世界の測定に変換される。したがって、現実世界の物体の測定は、現場を訪れる必要なくなされる。本発明の実施形態は、物体の少なくとも2つの写真の画像に基づいて、構造の3次元モデルを生成することができる。
図21も同様のシステム構成要素を示している。
【0020】
(
図2)
図2は、本発明の実施形態に応じた物体の3次元モデルに基づいて現実世界の物体を測定する方法
(200)を例証および記載している。
【0021】
工程(203)では、測定される構造の3次元モデルが生成される。工程(205)では、オペレータが、画像の寸法を測定するために表示された画像と相互に作用することができるように、モデルは表示装置上でレンダリングされる。工程(207)では、測定値が受け取られる。工程(209)では、測定値は画像測定値から現実世界の測定値へと変換される。その時点で、測定値は、構造に太陽エネルギーシステムを整備する際に使用するのに適している。
【0022】
工程(203)を実行するために、本発明のモデルジェネレーターは、一致する点を受け取り、3次元モデルを生成する。3次元モデルは、再構築された3D構造に新しい最適化技術を適用することによって洗練される。洗練された3次元モデルは、洗練された3次元モデルの測定値を用いて得られる構造の有効な測定を可能にするのに十分な精度で、現実世界の構造を表す。
【0023】
これを遂行するために、3次元モデルは、表示装置(103)上でレンダリングされる。表示されたモデルの寸法が測定される。その測定値は現実世界の測定値に変換される。現実世界の測定値は、ソーラーパネルを持った構造を整備するために、太陽エネルギー整備システムによって使用される。
【0024】
(
図3および4)
適切な第1と第2の画像の例は、
図3と4で説明される。
図3は、住宅の屋根の平面図を含む第1の画像(107)を説明する。例えば、第1の画像(107)は、屋根の平面図を撮るために、構造の屋根の上に位置するカメラによって撮られた写真である。最も単純な実施形態では、2次元の第1の画像(107)は、3次元の物体、この場合は、住宅を、2次元の画像平面に投影する従来の方法によってキャプチャされたとみなされる。
【0025】
図4は、
図3で説明された屋根を含む、
図3で説明された住宅の正面図を含む第2の画像(108)を説明する。第1と第2の画像は立体画像である必要がないことに注目することが重要である。さらに、第1と第2の画像はスキャンされた画像である必要もない。本発明の1つの実施形態では、第1と第2の写真画像は、カメラのような画像キャプチャデバイスによってキャプチャされる。
【0026】
この明細書の目的のために、「写真」という用語は、感光面に降りかかる光によって作成された画像を指す。感光面は、電荷結合素子(CCD)または相補型金属酸化物半導体(CMOS)撮像デバイスなどの、写真フィルムおよび電子撮像装置を含む。本明細書の目的のために、写真はカメラを用いて作成される。カメラは、背景の可視波長光に焦点を当てて人間の目に見えるものの複製物を作るレンズを含む装置のことを指す。
【0027】
本発明の1つの実施形態では、第1の画像(107)は、測定される現実世界の物体の正投影図を含む。一般に、カメラまたはセンサーのような画像キャプチャデバイスは、飛行機または衛星のような車両またはプラットフォームによって運ばれ、そのプラットフォームから真下および/または垂直下方にある、最下点に向けられる。最下点に相当する画像中の点またはピクセルは、画像キャプチャデバイスに対して直角な点/ピクセルである。画像中のすべての他の点またはピクセルは、画像キャプチャデバイスに対して斜めである。該点またはピクセルが最下点からますます遠く離れるようになるにつれ、それらは画像キャプチャデバイスに対してますます傾斜するようになる。同様に、地上サンプル距離(すなわち、各ピクセルに対応する、または、各ピクセルによって覆われる、表面積)も増加する。直交画像中のこのような傾斜によって、画像中の特徴は歪曲し、特に、最下点から比較的遠く離れている画像を歪める。
【0028】
y軸と平行な正投影図(投影像)を用いて、現実世界の画像からの3D点α
x、α
y、α
zを、対応する2D点b
x、b
yに投影するために、対応するカメラモデルは、以下の例証的な関係によって記載されてもよい。
【0031】
ここで、ベクトルsは任意の基準化因数であり、cは任意のオフセットである。本発明のいくつかの実施形態では、これらの定数は、第1の画像(105)に示された視野に一致させるように第1のカメラモデル視点をそろえるために使用される。行列の乗算を用いて、方程式は、以下のようになる。
【0033】
本発明の1つの実施形態では、直交画像は、歪みについて補正される。例えば、歪みは、直交画像の各ピクセルをオーソメトリックグリッド(orthometric grid)または座標系に適合させるまたは曲げることによって基本的に直交画像から傾斜を取り除く、垂直調整(ortho−rectification)のプロセスによって、取り除かれるか、または、補正される。垂直調整のプロセスにより画像が作成され、すべてのピクセルが同じ地上サンプル距離を有しており、北に向けられる。したがって、垂直調整された画像上の任意の点は、X、Y座標系を用いて位置づけ可能であり、画像のスケールが既知のものである限り、地上の地物の長さと幅は、該地物間の相対的な距離と同様に、計算可能である。
【0034】
本発明の1つの実施形態では、第1と第2の画像のうちの1つは斜め画像を含む。斜め画像は、画像キャプチャデバイスを用いてキャプチャされてもよく、該画像キャプチャデバイスは、一般的に、該画像キャプチャデバイスを支持するプラットフォームの側面に、かつ、該プラットフォームから下方に向けられるか、あるいは、面している。斜め画像は、直交画像と異なり、住宅、建物、および/または、山などの地上の地物の側面と、その上面を表示する。斜め画像の前景における各ピクセルは、表面または描かれた物体の比較的小さな面積に対応する(すなわち、各々の前景ピクセルは、比較的小さな地上サンプル距離を有している)が、背景における各々のピクセルは、表面または描かれた物体の比較的大きな領域に対応する(すなわち、各々の背景ピクセルは、比較的大きな地上サンプル距離を有している)。斜め画像は、一般的に、被写体の表面または物体の台形面積または視野をキャプチャし、台形の前景は、台形の背景よりもかなり小さな地上サンプル距離(すなわち、より高い解像度)を有している。
【0035】
(
図5)
ひとたび第1と第2の画像が選択され表示されると、点集合(制御点)が選択される。点集合の選択は、例えば、オペレータによって、本発明の実施形態では手動で行われる。本発明の他の実施形態では、制御点は、例えば、機械視覚特徴照合技術(machine vision feature matching technique)によって自動的に選択されてもよい。手動の実施形態に関して、オペレータは、第1の画像内の点と、第2の画像内の対応する点を選択し、両方の点は、現実世界の3D構造内で同じ特徴を表す。
【0036】
一致点を特定して示すために、オペレータ(113)は、表示された第1と第2の画像上の対応点を示すべく、第1と第2の表示された画像と相互に作用する。
図3と4の例において、現実世界の3D構造(1)の点Aは、屋根(1)の角を示す。点Aは、表示された画像上の異なる位置ではあるが、第1の画像(107)と第2の画像(108)に現われる。
【0037】
第1と第2の画像内の対応点を示すために、オペレータは、第1の画像(10
7)と第2の画像(10
8)の各々で物体の対応する部分上に表示された証拠(indicia)を置く。例えば、証拠は、第1の画像(10
7)内の物体(102)の点Aの上に置かれ、次に、第2の画像(10
8)内の物体(102)の対応部分Aの上に置かれる。各点で、オペレータは、例えば、右または左のマウスをクリックするか、あるいは、他の選択機構を操作することによって、点の選択を示す。トラックボール、キーボード、ライトペン、タッチスクリーン、ジョイスティックなどの他のデバイスは、本発明の実施形態で使用するのに適している。したがって、オペレータは、
図5に説明されるような制御点の対
(503)のリスト(500)を作るために、第1と第2の画像と相互に作用する
(例えば、リスト(500)は第1の画像の制御点(505)と第2の画像の制御点(507)を含んでもよい)。
【0038】
本発明の1つの例証的な実施形態では、タッチスクリーンディスプレイが使用されてもよい。その場合、オペレータは、スクリーンに触れることで表示された画像中の所望の点または他の領域を選択する。ピクセル座標は、ディスプレイスクリーンの座標記述から、例えば、検知されたタッチしたピクセルを含む画像に対応する座標系記述に翻訳される。本発明の他の実施形態では、オペレータは、画像上の選択される点の上にマーカーまたは他の標識を置くために、マウスを用いる。マウスをクリックすることで、置かれたマーカーのピクセル座標を記録する。システム(100)は、ピクセル座標を対応する画像座標に翻訳する。
【0039】
制御点は、本発明の3Dモデリングシステムの3Dモデルジェネレーター(950)に提供される。撮像された構造の再構成は、各点の対に関してエピポーラ線の交点を見つけることによって達成される。
【0040】
(
図6および
図7)
図7は、接地面を定義する点
(703)のリスト(700)を説明する。本発明のいくつかの実施形態では、生成された3Dモデルは、接地平行線を参照することにより改良される。
図7は、
図5で説明された制御点の例証的なリストからの制御点
(703)の例証的なリスト
(700)を示し、
図7における制御点
(703)は、本発明の実施形態によって接地平行線を含む。
【0041】
図6は、物体に関連した直角を定義する点
(603)のリスト(600)を説明する。接地面のように、直角は、3次元モデルを改良するために本発明のいくつかの実施形態で使用されることもある。
【0042】
本発明の
様々な実施形態にかかるシステム
において、図1乃至7に関して説明されたように、オペレータは、表示装置(
103)に表示された第1と第2の画像から、第1と第2の画像点集合を選択する。第1のカメラ行列(カメラ1)は、第1の画像から点集合を受け取る。第2のカメラ行列(カメラ2)は第2の画像から点集合を受け取る。モデル生成は、カメラ1およびカメラ2の行列に初期パラメータを提供することによって始まる。
【0043】
本発明の1つの実施形態では、カメラパラメータは、以下の内部パラメータを含む。
【0044】
a)(u0,v0):網膜上のカメラセンターの投影である、画像センターのピクセル中の座標
【0045】
b)(au0,av0):画像の基準化因数
【0046】
c)(dimx,dimy):画像のピクセルの大きさ
【0047】
外部パラメータは本明細書では以下のように定義される:
【0048】
a)R:参照座標系においてカメラの軸を与える回転
【0049】
b)T:参照座標系におけるカメラセンターのmmでのポーズ
【0050】
カメラパラメータモデリングユニット(815)は、第1と第2の画像に対応するカメラモデル(行列)を提供するように構成される。カメラモデルは、第1と第2の画像をキャプチャするために使用されるカメラの記述である。本発明のカメラパラメータモデルは、カメラの制約を含めるように、第1と第2のカメラ行列をモデル化する。本発明のパラメータモデルは、生じる可能性が低いかあるいは無効であるパラメータ、例えば、画像中に見える物体から遠ざかる方向にレンズを向けるカメラ位置を説明する。したがって、これらのパラメータ値は、検査パラメータの計算で考慮する必要はない。
【0051】
カメラパラメータモデリングユニット
(815)は、関係をモデル化するように構成され、制約は、選択された第1と第2の画像の属性に少なくとも部分的に基づいた第1と第2パラメータ集合を含むパラメータ間の関係を記述する。
【0052】
本発明のカメラパラメータモデ
ルは、カメラパラメータの無効な、または、ありそうもない部分的な組み合わせの選択を防ぐために、第1と第2のカメラ上の位置の制約に関する十分な情報を具現化する。したがって、3次元モデルを生成する計算時間は、例えば、不可能な、さもなければ無効なまたはありそうにないカメラ位置のパラメータ値が検査パラメータに含まれる場合の計算時間よりも短い。
【0053】
幾つかの実施形態では、3次元のユークリッド空間に第1と第2のカメラの配向を記述するために、3つのパラメータが使用される。本発明の様々な実施形態は、異なる方法でカメラの配向を表す。例えば、本発明の1つの実施形態では、カメラパラメータモデルは、オイラー角によってカメラ位置を表す。オイラー角は剛体の配向を記述する3つの角度である。それらの実施形態では、3次元モデル空間の座標系は、オイラー角を含むカメラ角度を定義する実際のジンバルがあたかも存在するかのように、 カメラ位置を記述する。
【0054】
オイラー角は、基準(カメラ)フレームを、参照した(3次元モデル)フレームに移動させる、3つの合成回転(composed rotation)を表す
。
【0055】
したがって、任意の配向は、3つの基本的な回転(1つの軸のまわりの回転)を組み合わせることによって表すことができ、任意の回転行列は、3つの基本的な回転行列の積として分解され得る。
【0056】
点の対における各々の点に関して、モデルユニッ
トは、該点を含む画像をキャプチャした対応する仮想カメラを介して、視線(または光線)を投影する。第1の画像エピポールを通り抜ける線と、第2の画像エピポールを通り抜ける線は、理想的な条件下で、例えば、カメラモデルが画像をキャプチャするために用いられる実際のカメラを正確に表すとき、ノイズがないとき、および、点の対の特定が第1と第2の写真の間で正確でかつ一貫していたときに、交差する。
【0057】
3Dモデル
ジェネレーターユニット(
950)は、本発明の1つの実施形態において、三角測量技術を使用して、第1と第2のカメラモデルによって投影された光線の交点を測定する。一般に、三角測量は、点に対する距離を適切に測定するよりもむしろ、固定された基線のいずれか一方の端部にある既知の点から、点に対する角度を測定することによって、点の位置を測定するプロセスである。該点は、その後、1つの既知の辺と2つの既知の角度を備えた三角形の第3の点として固定され得る。点に対する座標と距離は、その点と2つの他の既知の基準点によって形成された三角形の角度と辺の測定を前提として、三角形の1つの辺の長さを計算することによって見出される。誤差のない文脈において、交差座標は、3次元モデル空間における点の3次元位置を含む。
【0058】
本発明のいくつかの実施形態によれば、3次元モデル
(951)は、現実世界の構造の3次元表示を含み、該表示は、座標系、例えば、デカルト座標系に対して参照された幾何学的なデータを含む。本発明のいくつかの実施形態では、3次元モデルは、グラフィックデータファイルを含む。3次元表示は、計算と測定を行う目的のために、処理装置(図示せず)のメモリに保存される。
【0059】
3次元モデルは、3Dレンダリングプロセスによって、2次元画像として視覚的に表示され得る。ひとたび、本発明のシステムが3次元モデルを生成すると、レンダリングエンジン(995)は、
ディスプレイインターフェース(993)によって表示装置(103)上で該モデルの2D画像をレンダリングする。従来のレンダリング技術は、本発明の実施形態で使用するのに適している。レンダリングに加えて、3次元モデルは、さもなければ、グラフィックまたはノングラフィックなコンピューターシミュレーションおよび計算に役立つ。レンダリングされた2D画像は、後で見るために保存されてもよい。しかしながら、本明細書に記載の本発明の実施形態は、オペレータ(113)が制御点対を示す際に、
表示装置(103)上にほぼリアルタイムで2D画像を表示することができる。
【0060】
3次元モデルを含む3D座標は、3Dの現実世界空間における構造点の位置を定義する。対照的に、画像座標は、フィルムまたは電子撮像システムデバイス上に、構造画像点の位置を定義する。
【0061】
点座標は3D画像座標と3Dモデル座標の間で翻訳される。例えば、画像面に平行な面上にある2つの点の間の距離は、画像のスケールsが分かっている場合、画像のその距離を測定することによって決定され得る。測定された距離に、1/sを乗じる。本発明の幾つかの実施形態において、第1と第2の画像のいずれかまたは両方のスケールの情報は、例えば、ダウンロードされた画像を含むメタデータとしてスケールの情報を受け取ることによって知られる。スケール情報は、測定ユニット(119)によって使用するために保存される。したがって、測定ユニット(119)は、表示装置(103)上でレンダリングされたモデルを測定することによって、オペレータ(113)に現実世界の3D物体を測定させることができる。
【0062】
オペレータ(
113)は、システム(100)へのダウンロードのために少なくとも2つの画像を選択する。本発明の1つの実施形態では、第1の選択された画像は、住宅の平面図である。第2の選択された画像は、住宅の斜視図である。オペレータ(
113)は表示装置(
103)に両方の画像を表示する。マウスまたは他の適切な入力装置を使用して、オペレータ(
103)は、第1と第2の画像上の点の集合を選択する。第1の画像中で選択されたすべての点について、対応する点は、第2の画像中で選択される。上に記述されたように、システム(100)によって、オペレータ(109)は、2次元の表示装置(103)に表示された2次元の(2−D)画像と相互作用して操作することができる。
図1の簡略化された例では、少なくとも1つの2D画像、例えば、第1の写真画像(10
7)は、処理装
置によって画像(10)のソースから得られる。本発明の他の実施形態では、2D画像の適切なソースは、処理装
置に保存され、表示装置(103)上で表示するために、オペレータ(1
13)によって選択可能である。本発明は、使用される画像ソースの数およびタイプに関して限定されない。もっと正確に言えば、様々な画像ソース(10)は、表示装置(103)上での獲得と表示のために、2D画像を含むのに適している。
【0063】
例えば、上に記載された例証的な実施形態において、本発明は、構造の画像に基づいて、住居構造の寸法を遠隔測定するために展開される。それらの実施形態では、マイクロソフト(商標)によって維持されているような商用の地理的な画像データベースが、2D画像の適切なソースである。本発明の実施形態のなかには、2D画像の1つ以上のソースに依存するものもある。例えば、第1の画像(10
7)は、第1の画像ソースから選択され、第2の画像(10
8)は第2の無関係な画像ソースから選択される。消費者用撮像デバイス、例えば、使い捨てカメラ、ビデオカメラなどによって撮られる画像は、本発明の実施形態で使用するのに適している。同様に、衛星、地理的な調査撮像機器、および、現実世界の物体の商用2D画像を提供する様々な他の撮像機器によって得られる専門的な画像は、本発明の様々な実施形態で使用するのに適している。
【0064】
1つの代替的な実施形態によれば、第1と第2の画像は、処理装
置につながれた局所的なスキャナーを使用してスキャンされる。各々のスキャンされた画像のスキャンデータは、処理装
置に提供される。スキャンされた画像は、表示装置(103)上でオペレータ(1
13)に表示される。別の代替的な実施形態では、画像キャプチャ機器は、現実世界の住宅がある場所に置かれる。その場合、画像キャプチャ機器は、インターネットを通じて処理装
置に画像を供給する。画像はリアルタイムで提供されてもよく、または、近い将来に提供されるために保存されてもよい。画像の別のソースは、データネットワークを介して処理装
置に接続された、画像アーカイブおよび通信システムである。画像を生成するおよび送ることができる実に様々な方法および装置が、本発明の様々な実施形態を用いて使用するのに適している。
【0065】
(モデルの改良)
実施において、エピポーラ幾何学は、実際の写真では不完全に具現化される。第1と第2の画像からの制御点の2D座標は、任意の精度では測定することができない。レンズの歪みまたは所望の点検出誤差による幾何学的なノイズのような様々な種類のノイズは、制御点座標の不正確さにつながる。加えて、第1と第2のカメラの幾何学的形状は完全には知られていない。結果として、第1と第2のカメラ行列によって対応する制御点からの3次元モデルジェネレーターによって投影された線は、三角形になると、必ずしも3D空間で交差するわけではない。その場合、3D座標の予測は、3次元モデルジェネレーター
(950)によって投影された線の相対的な線位置の予測に基づいてなされる。本発明の1つの実施形態では、予測された3D点は、第2の制御点投影に対する第1の制御点投影の最も近い近位の関係を表す3次元モデル空間の点を特定することによって測定される。
【0066】
現実世界の構造の直接的な誤差のない測定がなされていた場合、この予測された3D点は、現実世界の構造上の同じ点からその偏差に比例した誤差を有するであろう。本発明のいくつかの実施形態では、予測された誤差は、制御点対の雑音のない、歪みのない、誤差のない投影に由来したであろう3D点から予測された点の偏差を表す。本発明の他の実施形態では、予測された誤差は、3Dモデルの生成において、オペレータなどによって、外部で定義された基準に基づいた現実世界の3D点の「最良の予測」を表す3D点から予測された点の偏差を表す。
【0068】
モデル化された3Dの現実世界の構造を、可能な限り精密に表す3次元モデルを生成するために、再投影誤差を最小化するのが望ましい。したがって、例えば、ソーラーパネルを設置する目的で、寸法を測定するのに十分な精度で3Dモデルを作るために、本発明の実施形態は、予測された3D点が確実にカメラパラメータモデルの制約内にあるようにする一方で、交差に可能な限り投影線を近付けるために第1と第2のカメラの記述を調節する。
【0069】
本発明の1つの実施形態では、上記のように生成された3次元モデル座標は改良される。カメラモデルによって制御点対を投影することにより生成された3次元モデルを含む多くの3D点を考慮すると、該モデルを含むカメラパラメータと3D点は、3次元モデルがすべての点の対応する画像投影を含む最適性規準を満たすまで、調節される。それは、結局、パラメータモデルの制約下で最適な再構成を得るために、3D画像と表示パラメータ(すなわち、カメラポーズおよび潜在的な内部較正と放射状の歪み)についての最適化問題を意味する。本発明の技術は、観察され予想された画像点の画像位置間の再投影誤差を有効に最小化し、それは、多くの非線形の実数値関数の二乗和として表現される。この種の最小化は、一般的に、非線形の最小二乗アルゴリズムを用いて達成される。これらのうち、レーベンバーグ・マルカート法(Levenberg−Marquardt)が頻繁に採用される。レーベンバーグ・マルカート法は、現在の推定値の近傍で最小化される関数を繰り返し線形化する。このアルゴリズムは、正規方程式として知られている線形系の解を含む。有効ではあるが、零元(zero elements)で保存および作用するのを回避しながら明確に正規方程式の零パターン(zeros pattern)を活用するレーベンバーグ・マルカート法のわずかな変数でさえ、本発明が展開される用途で実際に使用される計算プロセスで莫大な時間がかかる。
【0070】
(
図8)
図8は、本発明の実施形態に応じて、物体の少なくとも2つの2D画像に基づいて物体の3Dモデルを生成する方法
(800)の工程を説明するフローチャートである。
【0071】
工程(805)で、オペレータによって選択された制御点が受け取られる。例えば、オペレータは、住宅を含む第1の画像から住宅のA部分を選択する。オペレータは、同じ住宅を含む第2の画像から、同じ住宅の同じA部分を選択する。第1と第2の画像中で描かれた、オペレータが選択した住宅の部分の表示座標が処理装置に提供される。
工程(807)で、初期のカメラパラメータは、例えば、オペレータから受け取られる。
工程(809)で、残りのカメラパラメータは、カメラパラメータモデルに少なくとも部分的に基づいて計算される。残りの工程(
例えば、工程811
、工程813、工程815、工程817、工程819、工程821、工程823、および、工程825)は、
上の記載で記載され、図8の
操作ブロックで指示されるように行われる。
【0072】
(
図9)
図9は、本発明の実施形態に応じて生成された3次元モデルにおける誤差を最小化する
ための、工程(903)、工程(905)、工程(907)、工程(909)、工程(911)、工程(913)、および、工程(915)を含む方法
(900)を例証し記載している。
【0073】
(
図10)
本発明の1つの実施形態
を示す図(1000)では、第1と第2のカメラの各々は、3次元モデル空間(
1012)に位置付けられるカメラベアリングプラットフォーム上に取り付けられたカメラとして、モデル化される。プラットフォームは、順に、「カメラジンバル」につながれる。不可能なカメラ位置は、こうして「ジンバルロック」位置として具現化される。ジンバルロックは、3つのジンバルの2つの軸が並列な構造に入れられ、システムを2次元空間の回転に「ロック」すると生じる、3次元空間での1自由度の喪失である。
【0074】
図10のモデルは、本発明の実施形態に応じて、モデル空間に2D画像の制御点を投影するために、最適な第1と第2のカメラ行列を迅速に測定するための1つの有利な構成および方法を表す。該モデルによると、第1と第2のカメラ行列のための初期パラメータは、対応する仮想カメラ(
1015と
1016)の開口部が球体(
1005)の中心の方に向けられるように配置されると仮定する。さらに、1つのカメラ(
1016)は、座標軸(1009)の座標x0、y1、z0で、球体(
1001)に対して位置付けられるように、すなわち、球体の中心に向かって直接下方に向けられた開口部を含む球体の上半球の上部に配されるように、モデル化される。
【0075】
加えて、可能な位置の範囲は、球体の表面
(1014)上の位置と、さらに球体の上部の半球に制約される。さらに、カメラ(
1015)のx軸位置は、x=0で留まるように設定される。従って、上記の制約に従うカメラ(
1015)によって仮定された位置は、z=1とz=−1の間のz軸の上にあり、y軸に対するカメラ(
1015)の位置はz軸位置によって決定される。カメラ(
1015)および(
1016)の各々は、それぞれの光学軸の回りを自由に回転する。
【0076】
図10で説明された配置は、第1の予測から、定義された収束基準を満たす予測までの、3次元の予測値の収束を容易にする、カメラ行列初期化パラメータを提供する。
【0077】
内部カメラパラメータについてこのように得られた初期値は、
図11および12で説明された方法の初期化工程の間に確立される。これらは、該方法を実施する間は変更されない。他方で、本発明のシミュレーション方法の連続的な繰り返しに関する外部パラメータの置換は、2つの軸に沿って一方のカメラの位置を固定することと、1つの軸に沿ってもう一方の別のカメラの位置を固定することによって、減らされる。
【0078】
(
図12)パラメータ方法
図12は、カメラ1(C1)のピッチ、ヨウ、ロール(pitch yaw and roll)を、
図10で説明されたパラメータモデルによって与えられるC1初期パラメータに基づい
て測定する
ための、工程(1203)、工程(1205)、工程(1207)、工程(1209)、工程(1211)、工程(1213)、および、工程(1215)を含む方法
(1200)を例証し記載する。
【0079】
(
図11)−パラメータ方法
同様に、
図11は、カメラ2(C2)のピッチ、ヨウ、ロール(pitch yaw and roll)を、
図10で説明されたパラメータモデルによって与えられるC2初期パラメータに基づい
て測定する
ための、工程(1103)、工程(1105)、工程(1107)、工程(1109)、工程(1111)、工程(1113)、および、工程(1115)を含む方法
(1100)を例証し記載する。
【0080】
(
図13)−例証的なGUIスクリーンショット
図13は、本発明の実施形態に従って、オペレータが、表示された第1と第2の画像と相互作用することを可能にするグラフィカルユーザーインターフェースのスクリーンショットである。
【0081】
(
図14)−シミュレーション方法−最低誤差出力の使用
図14は、3次元モデルを生成し、その一方で、生成された3次元モデルにおける誤差を最小化する
ための、工程(1403)、工程(1405)、工程(1407)、工程(1409)、工程(1411)、工程(1413)、工程(1415)、工程(1417)、工程(1419)、工程(1421)、測定工程(1423)、および、工程(1425)を含む方法
(1400)の工程を例証して記載するフローチャートである。
【0082】
(
図15)−カメラパラメータとシミュレーション方法
図15は、本発明の実施形態によって、3Dモデルを生成する
ための、工程(1503)、工程(1505)、工程(1507)、工程(1509)、工程(1511)、工程(1513)、工程(1515)、工程(1517)、工程(1519)、工程(1521)、測定工程(1523)、工程(1525)、工程(1527)、工程(1529)、測定工程(1531)、および、工程(1533)を含む方法
(1500)の工程を例証し記載するフローチャートである。
【0083】
(
図16)
図16は、本発明の実施形態に応じて第1と第2の画像から点集合
(1602)の3次元モデルベースの投影を提供する例証的な3次元モデルジェネレーター
(1650)を説明する概念図
(1600)である。
図16は、第1と第2の画像中の2D点に相当する3次元モデル
(1607)の3D点を、
(1604、1605、および、1606)(または、1604’、1605’、および、1606’)において、描いている。
3Dモデルは、縁(1613)と平面(1612)を含んでもよい。3次元モデルジェネレーター
(1650)は、各制御点対に、対応する3D点を提供するために、制御点対に作用する。第1と第2の画像それぞれの第1と第2の画像点について(同じ3次元の点に対応する)、画像点と3次元点と光学的中心は同一平面上にある。
【0084】
3D空間の物体は、透視投影変換技術によって画像をキャプチャしたデバイスのファインダーによって画像の2D空間で物体の画像にマッピングされることができる。以下のパラメータがこの変換を記載するためにしばしば用いられる。
・a
x,y,z−投影される現実世界の3D空間中の点
・c
x,y,z−カメラの実際の現実世界での位置
・θ
x,y,z−カメラの現実世界での回転。C
x,y,z=<0,0,0>かつθ
x,y,z=<0,0,0>であるとき、3Dベクトル<1,2,0>は2Dベクトル<1,2>に投影される。
・e
x,y,z−現実世界のディスプレイ表面に対する見る人の位置
この結果、
・b
x,y−aの2D投影
となる。
【0085】
本発明は、上記の逆変換を使用する。言いかえれば、本発明は、画像をキャプチャしたデバイスのファインダー越しに見えるように、2D空間の物体の画像上の点をマッピングする。これを達成するために、本発明は、3次元モデル空間(
1660)上に点の対を投影することによって、3Dの現実世界の物体をモデル形態で再構成するために、カメラ1行列(
1631)とカメラ2行列(
1632)を提供する。
【0086】
カメラ行列
(1631)および
(1632)は、カメラパラメータによって定義される。カメラパラメータは「内部パラメータ」および「外部パラメータ」を含んでもよい。外部パラメータは、カメラの外部定位、例えば、空間と視野方向における位置を定義する。内部パラメータは、撮像プロセスの幾何学的パラメータを定義する。これは主にレンズの焦点距離であるが、レンズ歪みの記述を含んでもよい。
【0087】
これに応じて、第1のカメラモデル(または行列)は、第1の画像をキャプチャしたカメラの仮想の記述を含む。第2のカメラモデル(または行列)は、第2の画像をキャプチャしたカメラの仮想の記述を含む。本発明のいくつかの実施形態では、カメラ行列(
1631および
1632)は、カメラ後方交会法(camera resectioning)技術を使用して構築される。カメラ後方交会法は、所定の写真またはビデオを製作したカメラの真のパラメータを見つけるプロセスである。カメラパラメータは、カメラ行列
(1631)および
(1632)を含む、3×4の行列で表される。
【0088】
(
図17)−カメラ行列およびモデル空間
図17は、制御点が第1と第2のカメラモデルによって投影される3次元モデル空間を示す。
【0089】
本明細書で使用されるような用語「カメラモデル」は、ピンホールカメラを介した、現実世界の物体を含む3D点の、物体の2D画像中の2D点へのマッピングを記述する、3×4行列のことを言う。この場合、2D背景または写真フレームはビューポートと呼ばれる。
【0090】
カメラと投射面の間の距離d、および、ビューポートの寸法、vwおよびvh。一緒に得られたこれらの値は、投影の視野、すなわち、投影された画像中に見える角度を決定する。
【0092】
(プロジェクター)
第1と第2のカメラ行列
(1732、1731)は、第1と第2の画像からの各々の2D制御点から、カメラモデルに従って構成された仮想カメラを通って、3Dモデル
(1761)(例えば、側面1734、1733を有するモデル)が後に提供される3D画像空間
(1700)へと
光線を投影する。
【0093】
したがって、カメラ行列は、それ自体のカメラ行列パラメータ設定に従って光線を投影する。第1と第2の画像を提供するカメラの実際のカメラパラメータが知られていないので、1つの手法はカメラパラメータを予測する。
【0094】
第1と第2のカメラ行列によって投影される2D点の所定の集合
(1711)は、3Dモデルへの理想的な投影における同じ点に対応することも知られている。この知識によって、本発明の原則に従ったカメラパラメータ予測は、手動で予測された初期値を提供する工程、収束について判定する工程、および、収束判定の結果に基づいてカメラ行列を調節する工程を含む。
【0095】
(
図18)−画像登録方法
図18は、本発明の実施形態に従って、互いに対して第1と第2の画像を登録するための、
工程(1804)、工程(1806)、工程(1808)、工程(1810)、工程(1812)、工程(1814)、工程(1816)、工程(1818)、工程(1820)、工程(1822)、工程(1824)、測定工程(1826)、工程(1828)、および、工程(1830)を含む方法
(1800)の工程を例証して記載している。
図19は、本発明に係る第1と第2の画像、カメラモデラー、および、モデルジェネレーター間の関係を例証する概念図(1900)である。
【0096】
(
図20)3次元モデル生成の方法
図20は、本発明の実施形態による、バンドル調整のための、
工程(2002)、工程(2004)、工程(2006)、工程(2008)、工程(2010)、工程(2012)、工程(2009)、工程(2011)、工程(2014)、工程(2016)、工程(2018)、工程(2020)、測定工程(2022)、工程(2024)、工程(2026)、工程(2028)、および、工程(2030)を含む方法
(2000)の工程を例証し記載している。
【0097】
(
図21)モデルジェネレーター
図21は、本発明の実施形態による、3次元モデルジェネレーターのブロック図
(2100)であ
り、2D画像ソース(2130)、3Dモデルジェネレーター(2120)(物体モデリングユニット2140、3Dモデル2145、誤差予測ユニット2150、および、カメラモデリングユニット2155を含む)、ディスプレイ(2170)(3D画像2175、第1の2D画像2180、および、第2の2D画像2185を含む)、並びに、ユーザーインターフェースデバイス(2160)を示している。
【0098】
(
図22)モデル生成方法の概要
図22は、本発明の実施形態による、バンドル調節のための
、工程(2202)、工程(2204)、工程(2206)、測定工程(2208)、工程(2210)、および、工程(2220)を含む方法
(2200)の工程を例証し記載するフローチャートである。
【0099】
(
図23)モデルジェネレーターの実施形態
図23は、本発明の実施形態による、カメラモデリングユニットのブロック図
(2300)であり、
ユーザー入出力(2302)、カメラモデリングユニット(2304)(パラメータモデリングユニット2306、第1のカメラ解像度(camera definition)2308、および、第2のカメラ解像度2310を備えたカメラ行列ユニット2312を含む)、誤差ユニット(2318)(誤差2314とパラメータセット2316を含む)、3D物体モデリングユニット(2320)、および、3Dモデル(2322)を示している。
【0100】
システ
ムを含む部品は、別々のユニットとして実行可能であり、代替的に、様々な組み合わせで一体化される。該部品は、ハードウェアとソフトウェアの様々な組み合わせで、実行可能である。
【0101】
本発明は好ましい設計を有するものとして記載されてきたが、本発明はこの開示の精神と範囲のなかでさらに修正されてもよい。したがって、この開示は、本明細書に開示された構造と要素に対する任意の同等物を包含するように意図される。さらに、この開示は、本明細書に開示された一般的な原則を用いる本発明の任意の変化、用途、または、適応を包含するように意図されている。さらに、この開示は、関連技術で知られている慣例または習慣的な慣例に入る、および、添付の請求項の限界に含まれる、開示された主題からの任意の逸脱を包含するように意図される。本発明が特定の実施形態に関して示され記載されてきた一方で、本発明はそのようには限定されない。多くの改良、変更、および、強化は、今や読者には明らかであろう。