JPH11167628A - 画像処理装置 - Google Patents

画像処理装置

Info

Publication number
JPH11167628A
JPH11167628A JP10222178A JP22217898A JPH11167628A JP H11167628 A JPH11167628 A JP H11167628A JP 10222178 A JP10222178 A JP 10222178A JP 22217898 A JP22217898 A JP 22217898A JP H11167628 A JPH11167628 A JP H11167628A
Authority
JP
Japan
Prior art keywords
image
images
point
points
pair
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP10222178A
Other languages
English (en)
Inventor
A Davison
ダビソン アラン
Jane Haslam
ハスラム ジェーン
Alex Lyons
リオンス アレックス
Simon Rowe
ロウエ サイモン
Richard Taylor
テイラー リチャード
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from GBGB9716517.9A external-priority patent/GB9716517D0/en
Priority claimed from GBGB9716504.7A external-priority patent/GB9716504D0/en
Priority claimed from GBGB9716514.6A external-priority patent/GB9716514D0/en
Priority claimed from GBGB9716502.1A external-priority patent/GB9716502D0/en
Application filed by Canon Inc filed Critical Canon Inc
Publication of JPH11167628A publication Critical patent/JPH11167628A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/593Depth or shape recovery from multiple images from stereo images
    • G06T7/596Depth or shape recovery from multiple images from stereo images from three or more stereo images
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/35Determination of transform parameters for the alignment of images, i.e. image registration using statistical methods
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/564Depth or shape recovery from multiple images from contours
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • G06T2207/10012Stereo images
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/207Image signal generators using stereoscopic image cameras using a single two-dimensional [2D] image sensor
    • H04N13/221Image signal generators using stereoscopic image cameras using a single two-dimensional [2D] image sensor using the relative movement between cameras and objects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/239Image signal generators using stereoscopic image cameras using two two-dimensional [2D] image sensors having a relative position equal to or related to the interocular distance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/243Image signal generators using stereoscopic image cameras using three or more two-dimensional [2D] image sensors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N2013/0074Stereoscopic image analysis
    • H04N2013/0081Depth or disparity estimation from stereoscopic image signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Image Analysis (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Processing Or Creating Images (AREA)
  • Image Processing (AREA)

Abstract

(57)【要約】 (修正有) 【課題】 オブジェクトの3次元モデルを生成するため
の相違及び方法において、異なる未知の位置からとられ
たオブジェクトのイメージが処理され、実際のオブジェ
クト上の同一のポイントに対応するイメージ内のポイン
ト(すなわち、マッチングポイント)を特定する。 【解決手段】 複数の異なるテクニックがマッチングポ
イントを特定するのに用いられ、複数の解が計算され、
相対位置についてテストされる。そして、最も多くのマ
ッチングポイントについて一致する解が選択される。一
つのマッチングテクニックにおいては、まずイメージ内
のコーナーポイントを特定し、ピクセルのエッジ方向値
に基づいてコーナーポイント間のエッジを特定すること
により、イメージ内のエッジが特定され、エッジは、ク
ロスオーバーを除去するために強さの順に処理される。

Description

【発明の詳細な説明】
【0001】本装置は画像処理装置および方法に関する
ものである。
【0002】実生活におけるオブジェクトの3次元コン
ピュータモデルの生成は伝統的に時間浪費型で高価であ
り、熟練した人材および/または高価な設備を必要とし
た。このことの一つの理由は、オブジェクト上の点につ
いて、2次元における相対的な位置とともに、相対的な
深さ(奥行き)も決定しなければならないことにある。
【0003】実在するオブジェクトからの3次元コンピ
ュータモデルの生成のための周知のテクニックは、動的
技法と受動的技法の2つのカテゴリのうちのいずれかひ
とつに属する。動的技法では、奥行き情報はオブジェク
トの表面を動的にセンスすることで得られる。また、受
動的技法では、奥行き情報はオブジェクトのイメージか
ら得られる。
【0004】動的技法の例としては、パルスレーザビー
ムでオブジェクトをスキャンし、それらの伝送時間に対
するパルスの検出時間を測定して奥行き情報を決定する
こと(レーザのレンジファインダーとして)、および位
置感知用のプローブでもってオブジェクトの表面上の複
数のポイントに接触することがあげられる。
【0005】また、一般的な受動的な技法においては、
異なるカメラポジションから撮影した少なくとも2つの
オブジェクトのイメージが必要である。そのイメージか
ら3次元コンピュータモデルを構築するために、まず第
1に、各イメージにおいて、オブジェクト上の実際に同
じポイントが表すポイントの位置を知ること、そして第
2に、そのイメージが撮影された位置からの相対的な距
離を知ることが必要である。これらは、特に、負担の大
きな要求である。結果として、周知の受動的なシステム
においては、識別するためのマーク/キャリブレーショ
ンがオブジェクトやその周囲に付加されて、マッチング
ポイントをイメージ中においてより容易に識別しうるよ
うにし、および/またはイメージはあらかじめ知られた
カメラ位置から撮影される。
【0006】たとえば、WO−A−90/10164
は、オブジェクトの2つのイメージから計算されたオブ
ジェクト表面上の3次元座標におけるポイントを用い
て、オブジェクト中のひずみ分布を測定するシステムを
開示している。イメージにおけるポイントのマッチング
を促進(容易化)するために、そのイメージが撮影され
る前に、電気化学的なエッチングもしくはシルクスクリ
ーンによって、一様な矩形のグリッドパターンがオブジ
ェクトに施される。こうして、グリッド線の交点の対応
する点は、イメージ中において容易に識別されるように
なる。さらに、オブジェクトは回転テーブル上に置かれ
る。その回転テーブルは、イメージの間のあらかじめ知
られた角度だけ回転する。これにより、相対的なカメラ
位置が決定される。
【0007】また、米国特許第4803645号はオブ
ジェクト上の点の3次元座標を決定するシステムを開示
する。このシステムにおいて、グリッドもしくは類似の
周期的パターンが光プロジェクタを用いてオブジェクト
上に投影され、そして、オブジェクトのイメージは、固
定された予め決められた位置で3つのイメージングシス
テムを用いて撮影される。
【0008】WO−A−88/02518は、予め決め
られた、既知のコンフィグレーションにおいてセットさ
れたイメージングデバイスから撮影された複数のイメー
ジから、オブジェクトの深さマップ(depth ma
p)を生成するシステムを開示する。同様に、米国特許
第5307136号は、自動車距離検出システムを開示
する。それは、ユーザの自動車内に、予め決められた、
既知のコンフィグレーションで装着された複数のカメラ
から撮影されたイメージを用いて自動車のレンジ(距
離)を決定するものである。
【0009】GB−A−2244621、WO−A−9
2/06444、および米国特許第4695156号
は、既知のカメラ位置から撮影されたオブジェクトのス
テレオイメージから、オブジェクトの表面上の点の3次
元座標を決定するシステムを開示している。
【0010】しかしながら、多くの場合において、参照
用グリッドあるいはマーキング・キャリブレーションを
オブジェクト上に提供すること、あるいは、既知の相対
的位置からイメージを撮影することは不便であり、高価
であり、実用的でない。イメージ中におけるポイントを
マッチさせること、及び/或いは相対的なカメラ位置を
計算することは、信頼性のある、正確な技術を必要とす
る。
【0011】さらに、たとえ、マッチングポイントが参
照特徴を用いて特定されても、もしもイメージが既知の
相対的位置から撮影されたのでなければ、そのイメージ
が撮影された位置を決定するための正確で信頼性のある
技術が必要である。
【0012】受動的技術が採用されるとき、オブジェク
トもしくはその周辺における参照用のマーキングあるか
否か、且つ/又は既知のカメラ位置が用いられるか否か
にかかわらず、マッチしたイメージポイント及びカメラ
位置を用いて3次元座標ポイントを正確に生成する方法
が必要である。しかしながら、参照マーキングが用いら
れずカメラ位置が未知である場合には、これは特に重要
である。イメージにおいて特定されたマッチングポイン
トの不正確さ、及び計算されたカメラ位置の不正確さが
ポイントの計算された3次元座標の不正確さの原因とな
るからである。
【0013】本発明は上述した一つもしくはそれ以上の
問題に鑑みてなされたものである。
【0014】一つの態様において、本発明はオブジェク
トのイメージが撮られた位置を決定するための装置及び
方法を提供することを目的とする。
【0015】他の態様において、本発明は、マッチした
イメージ特徴とイメージの相対的な位置関係を用いて、
3次元空間におけるポイントを決定するための装置及び
方法が提供される。
【0016】本発明によって提供される画像処理装置及
び方法においては、第1、第2及び第3のイメージの間
の位置的関係が、イメージ内のマッチした特徴を用いて
複数回決定され、各回において上記3つのイメージ間の
変換の異なる組み合わせが用いられ、最も正確な関係が
選択される。好ましくは、考慮される変換の組み合わせ
は、アフィン(affine)−アフィン、アフィンー
パースペクティブ(perspective)、パース
ペクティブーアフィン、パースペクティブーパースペク
ティブであり、或いはもしも1つのイメージペア間の変
換が固定されるならば、既知の変換−アフィンと既知の
変換−パースペクティブである。
【0017】本発明によって提供される画像処理装置或
いは方法においては、イメージが撮られた位置の間の関
係に関する従来の情報をその関係を決定するために用い
ることなく、異なるテクニックを用いて第1及び第2の
イメージにおいてマッチした特徴を表す信号を処理す
る。その関係は、複数回決定され、その関係の選択がな
される。ここで、各回においては、異なる1つ又は複数
のマッチングテクニックでマッチされた特徴が用いられ
る。
【0018】本発明によって提供される画像処理装置及
び方法においては、画像が撮られた位置の間の関係につ
いての従来の情報を用いることなく、第1及び第2の画
像においてマッチした特徴を表す信号が、その関係を決
定するために処理される。以下のステップが複数回実行
される。マッチした特徴が非物理的な実現化行列(たと
えば、fundamental行列など)をセットアッ
プするのに用いられ、その行列は物理的な実現化行列
(たとえば、物理的fundamental行列など)
に変換され、その正確さがテストされる。最も正確な物
理的実現化行列が選択される。
【0019】また、本発明によって提供される画像処理
装置或いは方法においては、オブジェクトの少なくとも
3つのイメージにおける対応するオブジェクト特徴を表
す信号と、イメージングポジションの間の関係を表す信
号とが処理され、当該オブジェクト上のポイントを表す
3次元空間における位置を生成する。対応する特徴の各
ペアが3D空間におけるポイントを特定するのに用いら
れ、同一の対応特徴から生成される3Dポイントが、対
応するオブジェクト上のポイントを表す3Dポイントを
定義するのに持ちいられる。続いて、その3Dオブジェ
クトポイントがオブジェクト上の同一のポイントを表す
ことができたかどうかを調べるべく処理を実行し、でき
ていれば更なる処理が実行される。
【0020】
【発明の実施の形態】これから説明する実施形態におい
て、2次元写真から再生されるオブジェクトの3次元モ
デルを表すオブジェクトデータは、選択されたあらゆる
視点方向からのオブジェクトのイメージをユーザに対し
て表示するために処理されるものである。しかしなが
ら、このオブジェクトデータは、異なる応用のために、
多くの他の方法においても処理され得るものである。た
とえば、3次元モデルは、オブジェクトのモデルを製造
するための製造設備を制御するのに用いられてもよい。
或いは、オブジェクトデータはオブジェクトを認識する
ために処理されてもよい。たとえば、オブジェクトデー
タをデータベースに予め格納されたデータと比較するこ
とによりオブジェクトの認識ができる。データは、ま
た、オブジェクト上での測定を行うために処理されても
よい。これは、オブジェクト上で測定が実行できないよ
うな場合、たとえば、そのような測定を行うのが非常に
危険であるような場合、たとえばオブジェクトが放射性
を有する場合等において特に有効である。また、3次元
モデルは、オブジェクトに生じた変化、たとえばオブジ
ェクト自身に生じた実際の物理的変化等を判断するため
に、以前に生成されたオブジェクトの3次元モデルと比
較されてもよい。また、3次元モデルは、ロボットがオ
ブジェクトと衝突するのを防ぐために、ロボットの動作
を制御するのにも用いられ得る。もちろん、オブジェク
トデータは、上述の処理が施される前に、遠隔の処理装
置に伝送されて、上述の処理が施されるようにしてもよ
い。特に、オブジェクトは、インターネット上の伝送の
ために、仮想現実マークアップ言語(VRML:vir
tual reality mark−up lang
uage)フォーマットで提供されてもよい。
【0021】図1は、本実施形態における画像処理装置
の全体的な構成を示すブロック図である。本装置におい
て、コンピュータ2は、中央処理ユニット(CPU)4
を有し、中央処理ユニット4にはメモリ6が接続されて
いる。メモリ6はCPU4によって実行される動作を規
定するプログラムを格納するとともに、オブジェクト及
びCPU4によって処理されたイメージデータを格納す
る。
【0022】ディスクドライブ8がメモリ6に接続され
る。ディスクドライブ8は、フロッピーディスク10の
ような着脱可能なデータ格納メディアを受容し、そこに
格納されているデータをメモリ6へ伝送する。中央処理
ユニット4のための動作命令は、ディスクドライブ8を
用いて、着脱可能なデータ格納メディアからメモリ6へ
入力されてもよい。
【0023】また、CPU4によって処理されるイメー
ジデータは、ディスクドライブ8を用いて、着脱可能な
データ格納メディアからコンピュータ2へ入力されても
よい。或いはそれに加えて、処理されるべきイメージデ
ータはキヤノンパワーショット600のようなディジタ
ルイメージデータ出力部を有するカメラ12から直接的
にメモリ6へ入力されてもよい。イメージデータはメモ
リ6に入力される前にカメラ12に格納されてもよい
し、或いは、カメラ12によってデータを集めながら
(撮影しながら)、リアルタイムでメモリ6へ転送する
ようにしてもよい。イメージデータはまたディジタルカ
メラ12の代わりに一般的なフィルムカメラから入力さ
れてもよい。この場合、カメラによって撮影された写真
をスキャンし、ディジタルイメージデータを生成してメ
モリ6に入力するために、スキャナ(不図示)が用いら
れる。加えて、イメージデータは、ローカルデータベー
スとの接続(不図示)を介して、イメージデータを格納
する遠隔データベースからメモリ6へダウンロードされ
てもよい。なお、ローカルデータベースとしては、たと
えば、イメージデータが光ディスクに格納されるコダッ
クのフォトCD装置があげられる。
【0024】入力装置14がCPU4の入力ポートに接
続される。この入力装置14は、たとえば、キーボー
ド、及び/或いはマウスやトラックボールのような位置
検出入力装置を備える。
【0025】また、CPU4にはフレームバッファ16
が接続される。フレームバッファ16は、イメージを構
成する各ピクセルのためにひとつ(或いは複数)のメモ
リロケーションを提供し、これにより、中央処理ユニッ
ト4によって生成された少なくともひとつのイメージに
関連するイメージデータを格納するべく構成されたメモ
リユニットを備える。
【0026】また、フレームバッファ16には、ディス
プレイユニット18が接続される。ディスプレイユニッ
ト18は、一般的な方法で、フレームバッファ16に格
納されたイメージを表示する。また、フレームバッファ
16にはビデオテープレコーダ(VTR)20、或いは
ペーパープリンタや35mmフィルムレコーダのよう
な、他の画像記録装置が接続される。
【0027】ハードディスクドライブのような、大きな
データ格納容量を有する大容量格納装置は、メモリ6
(典型的にはCPU4を介して)に接続され、また、フ
レームバッファ16にも接続される。大容量格納装置2
2は中央処理ユニット4によって処理されたデータをメ
モリ6から受信することができ、また、フレームバッフ
ァ16からの、表示ユニット18上に表示されるべきデ
ータを受信することができる。
【0028】CPU4、メモリ6、フレームバッファ1
6、ディスプレイユニット18及び大容量格納装置22
は、たとえばサンマイクロシステムズのスパークステー
ションのようなワークステーションなどの、商用的に入
手可能なコンピュータシステムの一部分を形成するもの
であってもよい。
【0029】本発明の実施形態のようにコンピュータ2
を動作させるための処理命令は、フロッピーディスク1
0或いは他のデータ格納メディアに格納されたプログラ
ムの形態で商用的に提供し得るものである。或いは、そ
のような処理命令は、それを受信するコンピュータ2
が、本発明を実施する装置へと再構築されるように、デ
ータリンク(不図示)を介してコンピュータ2へ信号と
して送信され得る。
【0030】図2は、CPU4によって処理されるため
のイメージデータの収集を示した図である。
【0031】オブジェクト24はカメラ12を用いて、
複数の異なる位置からイメージ化される。例として、図
2は、オブジェクト24が、5つの異なる、ランダムな
位置L1〜L5からイメージ化されている。また、図2
における矢印は、それら異なる位置の間におけるカメラ
12の動きを表す。
【0032】位置L1〜L5において記録されたイメー
ジデータはカメラ12に格納されて、続いて、コンピュ
ータ2のメモリ6へダウンロードされる。そして、以下
で説明する方法でCPU4によって処理される。本実施
形態において、CPU4は、それらイメージが撮影され
た位置を特定する情報を、絶対的な条項(term)で
も或いは相互の相対的な条項でも受け取らない。
【0033】図3は、CPU4によってカメラ12から
のイメージデータを処理するための、最上位レベルの処
理ルーチンを示す図である。
【0034】ステップS2において、初期のデータ入力
のためのルーチンが実行される。この処理については、
図4及び図5を参照して後述する。このルーチンの目的
は、カメラ12から受信したイメージデータを、それに
続く処理を容易にするような方法で格納するとともに、
カメラ12のパラメータに関わる情報を格納することで
ある。
【0035】ステップS4において、初期特徴マッチン
グ(initial feature matchin
g)が実行される。ここでは、オブジェクト24の撮影
された異なるイメージ間の特徴をマッチングする(すな
わち、それらイメージ間において、オブジェクト24の
同じ物理的ポイントに対応するポイントを特定する)。
この処理は、図6〜図19を参照して後述する。
【0036】ステップS6において、それらイメージが
撮影された異なるカメラ位置(図2のL1〜L5)の間
の変換(translation)、すなわち相対的な
形態によるそれらカメラ自身の位置が、イメージ中にお
いてマッチした位置を用いて計算される。この処理は、
図20〜図38を参照して後述する。
【0037】ステップS8において、ステップS6で計
算されたカメラ変換を用いて、イメージ中の更なる特徴
がマッチされる(計算されたカメラ変換は、他のイメー
ジにおいて与えられたポイントにマッチングするポイン
トをそのイメージにおいて探すために、イメージにおけ
る位置を計算、すなわち制約するために用いられてい
る)。この処理は、図39及び図40を参照して後述す
る。
【0038】ステップS10において、オブジェクト2
4の表面上の実際のポイントを表す3次元モデリング空
間におけるポイントが、図41から図48を参照して後
述するように、生成される。
【0039】ステップS12において、ステップS10
で生成された3次元空間のポイントは、3次元における
面を生成するために連結され、これらの面はオブジェク
ト24の3次元モデルを表す。この処理は図49を参照
して後述する。
【0040】ステップS14では、所望の視点方向から
のオブジェクト24のイメージを表示ユニット18上に
表示するために、ステップS12で生成された3Dモデ
ルが処理される。この処理は図50を参照して後述す
る。
【0041】図4は図3のステップS2における初期デ
ータ入力ルーチンにおいて実行されるステップを示す図
である。図4を参照すると、ステップS16において、
CPU4はイメージデータがメモリ6内に受信されるま
で待つ。上述したように、このイメージデータはディジ
タルカメラ12から受信されてもよいし、フロッピーデ
ィスク10を介して受信されてもよいし、スキャナ(不
図示)を用いて写真をディジタル化することによって受
信されてもよいし、或いは、たとえばデータリンク(不
図示)等を介して受信されてもよい。
【0042】全イメージに対するデータが受信された
後、ステップS18で、CPU4は各イメージのデータ
を別々の「プロジェクト」ファイルとしてメモリ6に再
格納する。ステップS20では、CPU4はメモリ6か
ら格納されたデータを読み出し、そのイメージを表示ユ
ニット18上で、ユーザに表示する。
【0043】図5はユーザへのイメージの表示を表す図
である。CPU4は、まず最初に、イメージデータが受
信された順番でイメージを表示する。図2を参照する
と、イメージは位置L1,L2,L3,L4そしてL5
から撮影されている。したがって、これらの位置から撮
影されたイメージのイメージデータが、同じ順番で、カ
メラ12に格納され、カメラ12からイメージデータが
ダウンロードされるときは同じ順番でコンピュータ2に
よって受信されることになる。したがって、図5におい
て示されているように、CPU4は初期において、撮影
時と同じ順番で、すなわちL1,L2,L3,L4,L
5の順番でイメージを表示する。
【0044】イメージを表示するのと同時に、CPU4
はユーザに、たとえば表示ユニット18上にメッセージ
(不図示)を表示することにより、ユーザにイメージを
アレンジしなおすよう促す。この再アレンジでは、最初
の表示のような時間的順序ではなく、オブジェクト24
の周りにおける、イメージが取られた位置に関わる位置
的順序を表す順番にイメージがアレンジされる。時間的
順序と位置的順序は同じであってもかまわない。しかし
ながら、図2において示された例では、位置L3は位置
L1とL2の間にある。それゆえ、オブジェクト24の
周囲のイメージの位置的な順序は、L1,L3,L2,
L4そしてL5となる。したがって、ステップS22に
おいて、ユーザはディスプレイ18上のイメージを再度
アレンジする。たとえば、イメージの正しい位置的順序
を与えるために、位置L2において撮影されたイメージ
をハイライトし、それを位置L3とL4イメージの間に
ドラッグする(図5において矢印で示されているよう
に)。
【0045】これに続いて、ステップS24で、CPU
4はディスプレイ18上のイメージの中心間の距離を計
算する。そして、各イメージに対して最も近隣のものを
決定する。こうして、たとえば、図5を参照すると、位
置L1で撮影されたイメージに対して、CPU4はその
中心と他のイメージの各々の中心との間の距離を計算
し、最も近隣のイメージが位置L3で撮影されたもので
あると判断する。位置L3において撮影されたイメージ
に対して、CPU4はその中心と位置L2,L4および
L5で撮影されたイメージの各々の中心との間の距離を
計算する(CPUは、位置L1で撮影されたイメージ
が、位置L3で撮影されたイメージのひとつの側におい
て、最近隣であることをすでに決定している)。このよ
うにして、CPU4は、位置L2において撮影されたイ
メージが、位置L3の他の側において撮影されたイメー
ジの最も近い近隣であると決定する。CPUは同じルー
チンを、位置L2,L4及びL5で撮影されたイメージ
に対して実行する。
【0046】ステップS26において、CPU4はメモ
リ6にイメージの位置的な順序を表すリンクを格納す
る。たとえば、CPU4は、そのリンクを別々の実体と
して生成し、メモリ6に格納する。各リンクに関するデ
ータは、リンクの各端におけるイメージを特定する。こ
うして、図2及び図5において示されている例のよう
に、L1とL3の位置において撮影されたイメージをそ
の端に有するもの、L3とL2の位置において撮影され
たイメージをその端に有するもの、L2とL4の位置に
おいて撮影されたイメージをその端に有するもの、そし
て、L4とL5の位置において撮影されたイメージをそ
の端に有するものという4つのリンクをCPU4は生成
する。
【0047】ステップS26において、CPU4はま
た、各イメージのためのプロジェクトファイル(ステッ
プS18において生成されたもの)に、そのイメージに
接続される各リンクの実体へのポインタを格納する。た
とえば、位置L3で撮影されたイメージのためのプロジ
ェクトファイルは、第1及び第2リンクへのポインタを
有する。
【0048】ステップS28において、CPU4は、そ
のイメージデータを記憶したカメラに関する情報を入力
するようユーザに要求する。CPU4はこれを、ユーザ
への要求メッセージの表示によって実現する。ここで
は、カメラレンズの焦点距離や、カメラ内のCCD撮像
素子或いはフィルムのサイズの入力を要求する。CPU
4はまた、ディスプレイ18上に、標準的なカメラのリ
ストを表示する。この情報はメモリ6に予め格納されて
いる。そして、ユーザは直接的に各情報を入力する変わ
りに、使用したカメラをそのリストから選択することが
できる。ステップS30において、ユーザは要求された
カメラデータを入力する、或いはリスト表示されたカメ
ラの一つを選択する。そして、ステップS32におい
て、CPU4は、以降の処理において使用するために、
入力されたカメラデータをメモリ6に格納する。
【0049】CPU4によってメモリ6に格納されたイ
メージデータの処理は、図6〜図50を参照して以下に
説明する。
【0050】図6は、ステップS4,S6,S8におい
てCPU4によって実行される、初期特徴マッチングの
ルーチン、カメラ変換の計算ルーチン、制約的特徴マッ
チング(constrained feature m
atching)のルーチン間の、トップレベルにおけ
る関連を示す。これらのルーチンの目的のために、CP
U4は、イメージを3つのイメージからなるグループで
考慮する。そのグループは、ステップS22(図4)に
おいて生成された位置的な順序における順番で生成さ
れ、各グループはイメージの「トリプル」(以下、イメ
ージトリプル)と称される。こうして、メモリ6に(図
2及び図5の例のように)5つのイメージのためのデー
タが格納された場合、CPU4は3つのイメージトリプ
ルを考慮する(すなわち、位置的順序を1〜5としたと
き、イメージ1−2−3、イメージ2−3−4、そして
イメージ3−4−5である)。各イメージトリプル内に
おいて、2つのイメージペアが存在する。すなわち、当
該トリプル内における第1及び第2イメージからなるペ
アと、当該トリプル内における第2及び第3イメージか
らなるペアである。
【0051】図6を参照すると、ステップS40におい
て、次のイメージトリプルが処理のために考慮される
(最初にステップS40が実行されときには、最初のト
リプル、すなわち位置的順序におけるイメージ1−2−
3となる)。ステップS42において、トリプルにおけ
るイメージのペア間にわたるポイントをマッチさせるた
めに、或いは3つのイメージのすべてにわたるポイント
をマッチさせるために初期特徴マッチングがその3つの
イメージに対して実行される。そして、ステップS44
において、ステップS42でマッチさせたポイントを用
いて、これら3つのイメージが撮影された位置の間のカ
メラ変換が計算される。計算されたカメラ変換は、その
位置的順序におけるイメージ間のカメラの移動及び回転
を特定する。この点についてはさらに詳細に後述する。
【0052】ステップS46において、CPU4はステ
ップS44で計算されたカメラ変換が十分に正確かどう
かを判断する。もし、その変換が十分に正確であると判
定された場合は、ステップS48において、その計算さ
れたカメラ変換を用いて、その3つのイメージについて
更なる特徴のマッチングを行う。ステップS48におい
て、CPU4によって実行される特徴マッチングは、制
約的特徴マッチングと称される。というのは、ステップ
S44で計算されたカメラ変換が、そのトリプルのある
イメージにおいて与えられたポイントにマッチするであ
ろう別のイメージ内のポイントを特定するために、当該
別のイメージにおいて検索する領域を制約するのに用い
られるからである。ステップS46において、計算され
たカメラ変換が十分に正確でないと判断された場合は、
ステップS42からステップS46が、十分な精度のカ
メラ変換が得られるまで繰り返される。しかしながら、
以下に説明されるように、CPU4が、計算されたカメ
ラ変換が十分に正確ではないと判断された後に、ステッ
プS42において3つのイメージの初期特徴マッチング
を繰り返し実行するときの第1回目の処理において、ス
テップS42が一番最初に実行された際に用いられた第
1のテクニックとは異なる第2のテクニックが用いられ
る。さらに、ステップS42の引き続く再実行におい
て、CPU4は第2テクニックを用いて初期特徴マッチ
ングを実行するが、入力としてのマッチングポイントの
数はその都度異なる(ステップS42が繰り返される都
度その数は増加する)。
【0053】ステップS50において、CPU4は、イ
メージの位置的順序においてまだ考慮されていない他の
イメージがが存在するかどうかを判断し、もし存在すれ
ば、ステップS40からS50が次のイメージトリプル
を考慮するために繰り返される。これらのステップは、
すべてのイメージが上述したような方法で処理されるま
で繰り返されることになる。
【0054】図7は、初期特徴マッチング、カメラ変換
計算、及び制約的特徴マッチングの間のさらに詳細な関
連を説明する図である。
【0055】図7を参照すると、ステップS52におい
て、CPU4は、第1のテクニックを用いてイメージト
リプル中の最初のペアに対して、後述するような、初期
特徴マッチングを実行する。この第1の初期特徴マッチ
ングテクニックはユーザからの入力を要求しないという
点において、自動的である。ステップS54において、
CPU4は、そのトリプル中の第2のイメージペアに対
して、自動的なテクニックを用いた第1の初期特徴マッ
チングを実行する。ステップS56において、CPU4
はトリプル中におけるイメージ間のカメラ変換を計算す
る。ステップS58において、CPU4はステップS5
6で計算されたカメラ変換が十分に正確であるかどうか
を判断する。もしそれらが十分に正確であるならば、そ
のトリプルのイメージにおける、更なるポイントをマッ
チさせるために、ステップS74において制約的特徴マ
ッチングが実行される。
【0056】一方、ステップS58において、計算され
たカメラ変換が十分に正確ではないと判定された場合、
CPU4はそのイメージトリプルについて、異なるテク
ニックを用いて、ステップS60からS68において初
期特徴マッチングを実行する。この実施形態において
は、後述するように、アフィン(affine)テクニ
ック(これは、イメージ中のオブジェクト24が、その
イメージの小領域に渡って意味のあるパースペクティブ
プロパティ(perspective propert
y)を提示しないことを仮定する)が用いられる。
【0057】ステップS60において、ユーザは、トリ
プル中の第1のイメージペア、及びトリプル中の第2の
イメージペアにおけるマッチングポイント(すなわち、
オブジェクト24上の同一な物理的ポイントに対応する
ポイント)を特定することを要求される。これは、ユー
ザに対して、トリプル中の3つのイメージをディスプレ
イユニット18上に表示することでなされる。ユーザ
は、表示されたカーソルを入力手段14を用いて動か
し、第1のイメージ中のポイントを特定するとともに、
第2のイメージ中の対応するマッチングするポイント
(オブジェクト24上の同一の物理的ポイントを表す)
を特定する。この処理は、第1と第2のイメージの間に
おいて10対のポイントがマッチされるまで繰り返され
る。ユーザは、次に、第2と第3のイメージにおける1
0組のマッチしたポイントのペアを特定するために上記
の処理を繰り返す。ユーザにとって、ポイントを選択す
る際に、表示されたカーソルを所望のポイント(それは
1ピクセルを占める大きさを有する)に正確に合わせる
のは困難であろう。したがって、ユーザによって特定さ
れたあるポイントが、ステップS52もしくはS54に
おいてCPUによって前もってそのイメージ中に特定さ
れたポイントの2ピクセル以内であれば、もしくは、ス
テップS62、S64或いはS74が前もって実行され
た場合にそれらの処理においてCPUによってそのイメ
ージ中に特定されたポイントの2ピクセル以内であれ
ば、CPU4はユーザが特定しようと意図したものが、
CPUが前もって自動的に特定したポイントであると判
断し、続いて、ディスプレイ18上でユーザによって実
際に特定されたポイントではなく、このポイントの座標
を格納する。
【0058】ステップS62において、CPU4は、ア
フィンマッチングテクニックを用いてトリプル中の第1
のイメージペアにおいてポイントをマッチさせる。そし
て、ステップS64において、このテクニックを用い
て、そのトリプル中の第2のイメージペアにおいてポイ
ントをマッチさせる。以下で説明するように、アフィン
特徴マッチングにおいては、CPU4は、各イメージの
ペアにおけるイメージ間の関連を決定するために、すな
わち、一方のイメージから他方のイメージへポイントを
変換するために必要な数学的な変換を得るために、ステ
ップS60でユーザによってマッチされたポイントを用
いる。そして、CPU4は、これを用いて、イメージ中
における更なるマッチングポイントを特定する。
【0059】ステップS66において、CPU4は、そ
の時点でマッチされているポイントのすべてを用いて、
そのトリプルにおける3つのイメージが撮影された位置
の間のカメラ変換を再度決定する。そして、ステップS
68において、計算された変換が十分に正確かどうかを
判断する。その変換が十分に正確であると判断された場
合は、CPU4はステップS74においてその3つのイ
メージに対して制約的特徴マッチングを実行する。一
方、その変換が十分に正確でないと判断された場合は、
CPU4はステップS70で、当該トリプル中の各イメ
ージのペアに関してより多くのポイントをマッチさせる
ようユーザに(すなわち、各イメージのペアにおいて、
オブジェクト24上の同一の物理的なポイントに対応す
るイメージポイントを特定するように)要求する。この
実施形態において、ユーザは、イメージトリプルにおけ
る第1のイメージペアにおいて10ペアの更なるマッチ
ングポイントを特定するように要求され、さらに、イメ
ージトリプルにおける第2のイメージペアにおいて10
ペアの更なるマッチングポイントを特定するように要求
される。ステップS72において、ユーザは、ステップ
S60において前述したのと同様の方法でマッチングポ
イントを特定する。そして再び、ユーザによって特定さ
れたポイントがCPU4によって(ステップS52又は
S54のいずれか、或いはステップS62、S64或い
はステップS74において)以前に特定されたポイント
から2ピクセル内にあればユーザはそのポイントを特定
するべく意図したものと判断され、ユーザによって特定
されたポイントではなく、CPUによって特定されたポ
イントの座標が格納される。
【0060】ステップS62からS72は、ステップS
68において、トリプルにおけるイメージ間の十分に正
確なカメラ変換が計算されたと判断されるまで、繰り返
される。すなわち、第2の特徴マッチングテクニック
(本実施形態ではアフィンテクニック)が、異なる数の
ユーザ特定されたマッチングポイントを各回の入力とし
て用いて、計算されるべき十分な精度のカメラ変換を可
能とするのに必要なマッチングがなされるまで繰り返さ
れる。そして、トリプルにおける3つのイメージのため
の制約的特徴マッチングがステップS74において実行
される。
【0061】ステップS76において、CPU4は処理
すべき位置的順序の中に他のイメージが存在するかどう
かを判断する。もし存在するならば、ステップS54か
らS76が、すべてのイメージが処理されるまで繰り返
される。図7からわかるように、ステップS52は、後
続のイメージが考慮される場合には実行されない。図2
及び図5に示される例を参照すると、CPU4によって
処理されるべきオブジェクト24の5つのイメージがあ
る。位置的順序におけるイメージ1とイメージ2のポイ
ントはステップS52(そして、第2特徴マッチングテ
クニックが用いられるならばステップS62)において
マッチングされる。また、イメージ2とイメージ3のポ
イントはステップS54(そして、第2マッチングテク
ニックが用いられるのであればステップS64)でマッ
チされる。上述したように、トリプルを単位としてイメ
ージが考慮される。したがって、イメージ4が最初に考
慮されるのは、イメージ2,3及び4を備えたトリプル
が考慮される場合である。しかしながら、イメージ2と
3におけるポイントは、ステップS54(及びステップ
S64)においてCPU4によって既にマッチングされ
ている。したがって、処理はステップS54から開始さ
れ、ステップS52は省略されるのである。ステップS
54では、トリプル中の第2のイメージペア(すなわ
ち、イメージ3、4)におけるポイントの自動的な特徴
マッチングが実行される。もしも自動的なテクニック
が、ステップS56及び58において十分に正確なカメ
ラ変換を生成できなかった場合は、トリプル中のイメー
ジの第1のペアと第2のペアの両方についてアフィンテ
クニックが実行される。すなわち、ユーザがステップS
60においてこれらイメージにおける更なるマッチング
ポイントを特定するので、第1のイメージペアに対して
初期特徴マッチングが再実行される。
【0062】本実施形態において、制約的特徴マッチン
グは、その順序における次のイメージが考慮され、初期
の特徴マッチングがそれに対して実行される前に、与え
られたイメージのトリプルに対して実行される。上述し
たように、制約的特徴マッチングのステップは、考慮中
のイメージトリプルにおける更なるマッチングポイント
を生成する。実際、後述するように、第1のイメージペ
アにおいて以前にマッチされたポイントとマッチするポ
イントがそのトリプルの最終イメージにおいて特定され
る(このようにして、すべての3つのイメージにおいて
マッチさせられたポイントを与える)。従って本実施形
態は、トリプルにおける次のイメージに対して初期特徴
マッチングを実行する際に、トリプルの最終イメージに
おけるこれらの新たにマッチしたポイントが用いられる
という長所を提供する。例えば、図5に示されるシーケ
ンスにおける最初の3つのイメージが処理される場合、
ステップS74における制約的特徴マッチングのステッ
プは、イメージ1とイメージ2内のポイントにマッチす
るイメージ3内のポイントを特定する。CPU4がイメ
ージ4を考慮し、ステップS54(及びステップS6
4)において初期特徴マッチングを実行する場合、ステ
ップS74で生成された新しいポイントが考慮され、マ
ッチングポイントがイメージ4の中に存在するかどうか
を判断するために、処理が実行される。マッチングポイ
ントがイメージ4において特定された場合、ステップS
74における制約的特徴マッチングによってマッチされ
た新しいポイント、およびポイントのトリプルから初期
特徴マッチングによって特定された新たなポイントが、
ステップS56もしくはS66でカメラ変換を計算する
際に考慮に入れられる。このように、ステップS74の
制約的特徴マッチングのステップは、次のイメージトリ
プルに対するカメラ変換の計算に用いられるポイントを
生成する可能性がある(すなわち、次のトリプルにおけ
るイメージの第2のペアに対するステップS54或いは
S64における初期特徴マッチングが、制約的特徴マッ
チングにおいてイメージの第1のペアにわたってマッチ
したポイントの少なくともひとつを新しいトリプルの第
3のイメージヘマッチさせる場合)。これについてはさ
らに詳しく後述する。
【0063】こうして、図7に示される処理は、次の初
期特徴マッチング処理の入力のために、および次のカメ
ラ変換処理を計算するために、計算されたカメラ変換を
用いて決定された新しいマッチングされたポイントのフ
ローを形成する。
【0064】図7におけるステップS52とS54にお
ける自動的な初期の特徴マッチングにおいてCPU4に
よって実行される処理について以下に説明する。
【0065】図8は、トリプルにおける第1のイメージ
ペアに対して自動的な初期特徴マッチングが実行される
際の、CPU4によってステップS52で実行される処
理を示す。
【0066】ステップS80において、トリプルの第1
のイメージにおける各ピクセルに対して、そのピクセル
に関するエッジおよびコーナーの量を表す値が計算され
る。これは、例えば、一般的なピクセルマスクを第1の
イメージに適用し、各ピクセルが考慮されるようにこの
マスクを動かすことによりなされる。そのようなテクニ
ックは、「Computer and Robot V
ision Volume 1、R.M.Harali
ck、L.G.Shapiro著、第8版、Addis
on−Wesley Publishing Comp
any出版、1992、ISBN 0−201−108
77−1(V.1)」に記載されている。ステップS8
2において、所定の閾値を超えるエッジおよびコーナー
の値を有するあらゆるピクセルは、一般的な方法で、第
1のイメージにおけるストロングコーナーとして特定さ
れる。ステップS84において、CPU4は第1のイメ
ージに対してステップS80で実行される上述の処理を
第2のイメージに対して実行する。そして、同様に、ス
テップS82で前に実行されたのと同じテクニックを用
いて、ステップS86で第2のイメージにおけるストロ
ングコーナーを特定する。
【0067】ステップS88において、CPU4は、ス
テップS82で第1のイメージにおいて特定された各ス
トロングコーナーを、ステップS86で第2のイメージ
において特定されたあらゆるストロングコーナーと比較
する。ここで比較に用いられる第2のイメージのピクセ
ルは、第1および第2のイメージにおけるコーナーの相
似性測度をプロデュースするための第1のイメージにお
ける考慮中のコーナーポイントと同じピクセル座標を有
する第2イメージ内のピクセルを中心とする所定のウイ
ンドウ領域内に存在するものである。この実施形態にお
いて、第2のイメージにおいて考慮される領域のサイズ
はy方向に中心ピクセルの±10ピクセル、x方向に中
心ピクセルの±200ピクセルである。第2のイメージ
における検索領域を減少させるためのそのようなウイン
ドウ領域の使用は、オブジェクト24の異なる部分に存
在する類似のポイントがマッチングしたと特定されない
ようにすることをより確実にする。本実施形態における
ウインドウは小さいy値(高さ)と比較的大きなx値
(幅)を有する。これは、オブジェクト24のイメージ
がしばしばカメラ12を用いてユーザにより、垂直方向
にはほぼ同じ高さで(オブジェクト24の表面上のポイ
ントが、イメージ中の垂直方向(y)には移動しないよ
うに)、水平方向にオブジェクト24の周りで移動して
記録されるからである。本実施形態において、ポイント
の比較は、適応的最小二乗相関テクニックが用いられ
る。これは、例えば、Adaptive Least
Squares Correlation:A Pow
erful Image Matching Tech
nique A.W.Gruen in Photog
rammetry Remote Sensing a
nd Cartography 1985、175−1
87頁に記載されている。
【0068】ステップS90において、CPU4はマッ
チングポイントを特定し格納する。これは、以下に説明
するように、緩和(relaxation)テクニック
を用いて実行される。ステップS88は第1のイメージ
における各ストロングコーナーと第2のイメージにおけ
る複数のストロングコーナー(すなわち、上述した第2
イメージにおけるウインドウ内に存在するもの)との間
の相似性測度を生成する。ステップS90において、C
PU4は効果的にこれらの値をテーブルアレイ(配列)
に並べる。例えば、第1のイメージにけるすべてのスト
ロングコーナーをカラム(行)にリスティングし、第2
のイメージにおけるすべてのストロングコーナーをロー
(列)にリスティングする。そして、テーブル内の適切
な交点によって与えられる各コーナーのペアについて相
似性測度を表す。この方法において、テーブルアレイの
1つのローは、第1のイメージにおける与えられたコー
ナーポイントと第2のイメージにおける各コーナーポイ
ントとの間の相似性測度を明示する(第1のイメージに
おけるコーナーが第2のイメージにおけるコーナーと比
較されなかった場合、ステップS88において相似性測
度はゼロとなる)。同様に、アレイ内のコラムは、第2
イメージ内の与えられたコーナーポイントと第1のイメ
ージ内の各コーナーポイントとの間の相似性測度を明示
する(ここでも、ステップS88においてポイントが比
較されなかったいくつかの値はゼロとなる)。CPU4
は、次に、値の第1行目を考慮し、当該行において最も
高い相似性測度値を有するものを選択し、この選択され
た値が、それが存在するコラムの中においても最も高い
値であるかどうかを判断する。その値がローおよびカラ
ムにおいて最も高い値である場合、これは第2のイメー
ジにおけるそのコーナーポイントが第1のイメージに対
する最もマッチングするポイントであり、また第1のイ
メージにおけるそのコーナーポイントが第2のイメージ
に対する最もマッチングするポイントでもある。この場
合、CPU4は当該ローおよび当該カラムにおけるすべ
ての値をゼロにセットし(これらの値が更なる処理にお
いて考慮されることのないように)、最高の相似性測度
値が所定の閾値(本実施形態では0.1とする)を超え
たか否かを判断する。類似性計測がその閾値を越えた場
合、CPU4は、第1のイメージにおけるそのポイント
と第2のイメージにおける対応するポイントをマッチン
グしたポイントとして格納する。一方、類似性計測が閾
値を越えていない場合は、たとえそのポイントが互いに
最もよいマッチングポイントであったとしても、類似性
の度合いがマッチングポイントとしてそのポイントを格
納するには十分ではないと決定する。
【0069】CPU4は、すべてのローが考慮されるま
で、テーブルアレイの各ローに対してこの処理を繰り返
す。ローにおける最も高い類似性計測が、それが存在す
るカラムにおいては最も高いものとならない場合は、C
PU4は次のローを考慮するべく処理を移す。従って、
ステップS90においてマッチングポイントのペアがひ
とつも特定されない可能性もある。
【0070】CPU4は、すべてのローが考慮された前
回の処理でマッチングポイントが特定された場合、上記
の処理を繰り返すために、テーブルアレー内の各ローを
再度考慮する。CPU4はそのような反復を繰り返し実
行し、それは、繰り返しにおいてひとつのマッチングポ
イントも特定されなくなるまで繰り返される。
【0071】図9は、トリプル内の第2のイメージペア
に対する自動的な初期特徴マッチングを実行する際の、
図7のステップS54においてCPU4により実行され
るステップを示す。この場合、そのペアの第1のイメー
ジ内のポイントはすでに特定されている。すなわち、先
行するイメージペアが考慮されたときの、図8のステッ
プS84とS86におけるストロングコーナーであり、
或いはまた、自動的な初期特徴マッチング(ステップS
54)、アフィン初期特徴マッチング(ステップS6
0、S64およびS72)、制約的特徴マッチング(ス
テップS74)からの他方の特徴ポイントである。これ
は、ただし、これらのステップが先行するイメージトリ
プルに対して実行された場合のことである。したがっ
て、CPU4は第2のイメージペアにおけるストロング
コーナーを特定するのみでよい(トリプルの第3のイメ
ージが考慮中のとき)。
【0072】図9を参照すると、ステップS92におい
て、CPU4はトリプルの第3のイメージに対してピク
セルマスクを適用し、第3のイメージの、各ピクセルに
ついて、エッジとコーナーの量を示す値を計算する。こ
れは前述したステップS80における処理と同じ方法で
実行される。ステップS94において、CPU4は第3
のイメージにおけるストロングコーナーを特定し格納す
る。これは前述のステップS82と同じ方法で実行され
る。ステップS96において、CPU4は先行するステ
ップS86、S54、S60、S64、S72およびS
74において、そのトリプル中の第2のイメージに対し
て特定され格納されたストロングポイントと、そのトリ
プル中の第3のイメージに対してステップS94で特定
され格納されたストロングコーナーとを考慮し、ポイン
ト対の間で相似性測度を計算する。これは前述したステ
ップS88と同様の方法で実現される(ここでも、第2
のイメージにおける各ポイントに対して比較される第3
のイメージにおけるポイントを限定するためのウインド
ウを用いる)。ステップS98において、そのトリプル
の第2および第3のイメージにおけるマッチングポイン
トが特定され格納される。これは前述のステップS90
と同じ方法で実現される。
【0073】ステップS52およびS54(上述した)
においてCPU4によって実行された特徴マッチングテ
クニックは、オブジェクト24が類似した複数の特徴ポ
イントを含む場合に、すなわち、同じ視覚的特徴を有す
る複数のポイントがオブジェクト24の面に渡って分散
している場合に、正確にマッチしたポイントを生成し得
ないであろうことが見出されている。これは、このよう
な状態において、同じ視覚的特徴を有するが、オブジェ
クト24の表面上の正確に同じ物理的ポイントを表して
いないポイントがイメージにおいてマッチングしてしま
うからである。このことを考慮するために、本実施形態
においては、第2の初期特徴マッチングテクニックがC
PU4によって実行される。このテクニックは、イメー
ジ間において正確に一致することがわかっている少数の
ポイントを用いてイメージを小さい領域に分割し、各イ
メージ内の対応する小領域においてポイントをマッチさ
せることを試みる。この第2のテクニックは、イメージ
内の対応する領域間のアフィン変換が計算できるよう
に、生成された小領域がフラット(パースペクティブ的
な質を提示するものではない)であることを仮定してい
る。第2のテクニックは、したがって、アフィン初期特
徴マッチングテクニックと称される。
【0074】図10aと10bは、パースペクティブプ
ロパティを表すオブジェクト(図10a)とアフィンプ
ロパティを表すオブジェクト(図10b)との間の相違
を表す図である。(CPU4による処理のためにメモリ
6へインプット可能な他のタイプのイメージとしてはフ
ラットオブジェクトのイメージがある。この場合におい
て、オブジェクト上のすべてのポイントは共通のフラッ
トな面に存在するので、オブジェクトの3次元モデルを
生成することは不可能である)。
【0075】以下、CPU4が、図7のステップS62
においてトリプル中の第1のイメージペアに対してアフ
ィン初期特徴マッチングを実行する方法、および図7の
ステップS64においてトリプル中の第2のイメージペ
アに対してアフィン初期特徴マッチングを実行する方法
について説明する。
【0076】図11は、図7におけるステップS62も
しくはS64でトリプル中のイメージペアにおけるアフ
ィン初期特徴マッチングを実行するときの、トップレベ
ルにおける、CPU4によって実行される処理を示す図
である。
【0077】図11を参照すると、ステップS100に
おいて、CPU4は、ステップS60もしくはS72で
ユーザによって他のイメージ中のポイントにマッチさせ
られた、ペア内の各イメージ内におけるポイントを考慮
し、これらのポイント間にエッジが存在するか否かを判
定するためにイメージデータを処理する。これらのユー
ザによって特定されたポイントは正確にイメージ中のマ
ッチングポイントを特定している(例えばステップS5
2、S54、S62、S64或いはS74においてCP
U4によって計算されたポイントは正確ではなく、それ
ゆえに本実施形態のステップS100においては用いら
れない)ので、これらユーザ特定ポイントが用いられ
る。
【0078】図12はステップS100においてCPU
4が実行する方法を示す図である。図12を参照する
と、ステップS106において、CPU4は、そのペア
内の第1のイメージにおいて特定されたポイント(すな
わち、そのペアの第2のイメージにおけるポイントに対
応するとしてユーザによって前もって特定されたポイン
ト)間に存在するあらゆるエッジの非2値の強さ(no
n−binary strength)を計算する。そ
して、ステップS108において、CPU4は当該ペア
の第2のイメージにおける特定されたポイント(すなわ
ち、そのペアの第1のイメージにおけるポイントに対応
するとしてユーザによって前もって特定されたポイン
ト)に対して同じ計算を実行する。
【0079】図13および図14は、図12におけるス
テップS106およびS108においてCPU4がエッ
ジ強度を決定する方法を示す。図13を参照すると、C
PU4は、ユーザによって特定されたイメージ内の2つ
のポイント30、32の間に存在する領域「A」におけ
るイメージデータを考慮する。領域Aは、図13に示さ
れるように、ポイント30と32を通る直線が通過する
ピクセルの両側の、ある設定された数のピクセル(本実
施形態では2ピクセル)以内に存在するピクセルと、ポ
イント30、32から距離aのところ、本実施形態では
2ピクセル分に相当する距離、に終端境界を設定し、こ
の終端境界内に存在するピクセルとを備える。ユーザ特
定ポイント(例えばポイント30、32)はディスプレ
イ上でユーザによって特定される際に正確には配置され
ないかもしれず、それゆえ、エッジ(もし、あれば)は
ポイント間を正確に通らないかもしれないので、そのラ
インの上および下のピクセルが考慮される。もしも、ポ
イント30、32が、それらポイントの間のラインが水
平よりも垂直に近いように配置された場合、ラインの上
及び下の2つのピクセルではなく、ラインが通過するピ
クセルの両横側の2つのピクセルが考慮される。図7に
おけるステップS60或いはS72でユーザによって他
のイメージ内のポイントとマッチングされるイメージ内
のポイントがエッジの端(すなわち、コーナー)に存在
するポイントである傾向があることが見出されているた
め、終端境界がセットされる。ポイントが本当にエッジ
の端にある場合、これらの近くにあるピクセルはエッジ
を特定するために用いられるオリエンテーション計算を
ゆがめる。これは、ポイント30と32がエッジの端に
ある場合、エッジがポイント30と32の近くで曲がり
始めるからである。これらのポイントは、ポイント間の
中央領域におけるオリエンテーションとは異なるオリエ
ンテーションの値を各ピクセルに与える。この理由か
ら、ポイント30、32の2ピクセル以内のピクセル
は、強度/方向の計算から省略される。
【0080】図14を参照すると、ステップS114に
おいて、CPU4は一般的な方法を用いてイメージデー
タを滑らかにする(スムージング)。この方法として
は、例えば、Tony Lindeberg著、Klu
wer Academic Publishers出版
の、Scale−Space Theory in C
omputer Vision,ISBN 0−792
3−9418−6の第4章に記載されているものを用い
ることができる。1.0ピクセルのスムージングパラメ
ータ(これはスムージング処理において用いられるマス
ク演算子の標準偏差である)が本実施形態では用いられ
る。
【0081】ステップS115において、CPU4はイ
メージ中における各ピクセルに対するのエッジマグニチ
ュードと方向値を計算する。これは一般的な方法でピク
セルマスクを適用することによりなされる。この処理
は、例えば、”Computer and Robot
Vision”HaralickとShapiro
著、Addison Wesley Pblishin
g Company,337〜346ページ、ISBN
0−201−10877−1(V.1)に記載されてい
る。本実施形態において、ステップS114で、イメー
ジ全体のデータは平滑化され、ステップS115でエッ
ジマグニチュード及び方向値があらゆるピクセルに対し
て計算される。しかしながら、その代わりに、これらス
テップの各々における処理のために、イメージの関連す
る領域のみを選択することも可能である。
【0082】ステップS116において、CPU4は、
ユーザによって特定されたポイントの各ペアの間の領域
A内に存在するピクセルを考慮する。そして、それらの
ポイント間のあらゆるエッジラインのマグニチュードを
計算する。図13を再度参照すると、CPU4は、領域
A内のピクセルの最初のカラム、例えばそのイメージ中
における最も左側にあるピクセルのカラム、を考慮する
ことにより開始する。このカラム内において、CPU4
は最初に最上位のピクセルを考慮する。そして、このピ
クセルに対してステップS115で計算されたエッジマ
グニチュードと方向値を閾値と比較する。この実施形態
において、マグニチュードの閾値は、ピクセル毎のスム
ースグレーレベル0.01のという非常に低い値にセッ
トされる。これは、しばしばエッジが、例えばエッジを
横切るように影等を生成し得るライティングによって、
イメージにおいて弱められるからである。したがって、
小さいマグニチュード閾値を用いることにより、あらゆ
る合理的なエッジマグニチュードの値を有するすべての
ピクセルが考慮されることを保証する。方向値の閾値
は、ポイント30と32をつなぐ直線の方向の小さい角
度の偏差内(本実施形態では0.5ラジアン)に存在さ
せるために、ピクセルの方向値に対して比較的厳しい要
求を課するように設定される。これは、ピクセルマグニ
チュード値よりも、方向の方が、ピクセルが実際にエッ
ジを表しているかどうかを決定するのにはるかに正確な
方法であることが見出されているからである。
【0083】もしも、ピクセルカラム中における最上位
のピクセルが、マグニチュード閾値を越える値を有し、
方向の閾値よりも小さい値を有するのであれば、そのカ
ラムに対して「票決(vote)」が登録される。「票
決」はポイント30、32の間のエッジの一部分がその
ピクセルカラムに存在することを表す。もしも、最上位
ピクセルの値がこの条件を満たさなければ、同じテスト
がそのカラム中の残りのピクセルに適用され、そのカラ
ムを下降して行く。その閾値条件を満足するピクセルが
一旦見出されると、「票決」がそのカラムに関して登録
され、次のカラムのピクセルが考慮される。一方、その
カラムの中にその閾値条件を満足するピクセルが見つか
らなかった場合は、そのカラムに関して「票決」は登録
されない。ピクセルカラムのすべてがこの方法で処理さ
れると、CPU4は、登録された「票決」を有するカラ
ムのパーセンテージを決定し、このパーセンテージを格
納する。このパーセンテージはエッジの強さを表すもの
である。
【0084】再び図12において、ステップS106と
S108を実行することで、CPU4は、そのペアの各
イメージにおける各エッジに対する強さを計算し格納す
ることになる。
【0085】ステップS110において、CPU4は、
そのペアの第1のイメージとそのペアの第2のイメージ
におけるエッジに対応する、結合された強さを計算す
る。これは、例えば、第1のイメージ内のエッジに対し
てステップS106で計算され、格納されたエッジ強さ
のパーセンテージと、第2のイメージにおける対応する
エッジに対してステップS108で計算され格納された
値とを読み出し、パーセンテージの幾何平均(すなわ
ち、パーセンテージの積の平方根)を計算することによ
り得られる。もしも結果として、結合された強さの値が
90%未満であった場合、CPU4はそのエッジは以降
の処理で考慮するほどには十分に強くないものと判断
し、それらを破棄する。また、もしも、結合された強さ
の値が90%以上であれば、CPU4はその値を格納
し、両イメージにおけるそのエッジを、以降の処理にお
いて使用するための強いエッジとして特定する。
【0086】ステップS110を実行することにより、
CPU4は効果的に、与えられたポイント間にエッジが
実際に存在するかどうかを判断するためにイメージペア
の両イメージ内のエッジ強さを考慮する。この方法にお
いて、たとえそれが両イメージの一方においていくらか
ゆがめられても(例えば、破壊されても)、エッジはな
お特定される。他のイメージにおけるエッジの強さがそ
れを埋め合わせるからである。
【0087】ステップS112において、CPU4はそ
のペアにおける第1のイメージにおける強いエッジ、す
なわち、ステップS110において弱いエッジが取り除
かれた後に残ったエッジを考慮し、エッジ間のあらゆる
交差を除去するためにイメージデータを処理する。
【0088】図15はエッジの間にクロスオーバが生じ
ているかどうかを判断しそれらを除去するためにCPU
4が実行する処理を示す図である。図15を参照する
と、ステップS120において、CPU4は、ペア中の
第1のイメージにおけるエッジのリストを生成する。こ
のエッジのリストでは、結合された強さの順番にエッジ
が並べられる。最も高い結合された強さを有するエッジ
を当該リストのトップとする。エッジの強さは浮動小数
点で計算され格納されるので、2つのエッジが同じ結合
された強さを有することはめったにない。ステップS1
22において、CPU4はリスト内のエッジの次のペア
を考慮する(そのステップが最初に実行されたとき、こ
れは第1のペアとなる)。そして、ステップS124に
おいて、CPU4は、各エッジの端部のポイントの座標
を比較し、第1のエッジの両端のポイントが第2のエッ
ジの同じ側に存在するかどうかを判断する。もし同じ側
に存在すると判断された場合は、エッジが図16(a)
で示される場合に対応する関係を有し、従って、CPU
4はステップS126において、それらは交差していな
いと判断する。一方、ステップS124において第1エ
ッジの両端のポイントが第2エッジの同じ側に存在しな
いと判断された場合は、エッジは、図16(b)或いは
図16(c)のいずれかに示されるような関係を有す
る。そして、これらの関係のうちのいずれであるかを判
断するために、ステップS128において、CPU4は
再びポイントの座標を考慮し、第2エッジの両端部のポ
イントが第1エッジの同じ側に存在するかどうかを判断
する。もし同じ側に存在するのであれば、エッジの関係
は図16(b)に示されるような場合に対応しており、
CPU4はステップS126において両エッジは交差し
ていないと判断する。一方、ステップS128におい
て、第2エッジの両端のポイントも第1エッジの同じ側
に存在しないと判定された場合は、CPU4は図16
(c)に示されるように両エッジが交差していると判断
する。そして、ステップS130において、当該ペアに
おける第2エッジを除去する。これは結合された強さが
より低いエッジを消去することになる。この処理は、そ
のエッジの結合された強さをゼロにセットすることによ
ってなされ、こうすることにより第1及び第2イメージ
からそのエッジを効率的に除去することができる。ステ
ップS132において、CPU4は、まだ比較されてい
ない他のエッジがリスト中にあるかどうかを判定する。
ステップS122からS132は、すべてのエッジが上
述した方法で考慮されるまで繰り返される。すなわち、
ステップ122から132は、まず最初に、最も高い結
合された強さを有するエッジをリストの下位にある各エ
ッジと比較し(リストを下方へ進む)、その次に、順次
リストに残っているその次に高いエッジとリストに残っ
ているものの内のそれよりも下位にある各エッジとを比
較する(リストを下方へ進む)。こうして、すべての比
較がなされるまで、強さの減少する順番でエッジを比較
しつづける(すなわち、次に高いエッジがそのリスト中
の最後のものとなるまで続ける)。
【0089】ステップS120において、エッジがこの
順番に比較されるように、結合された強さの順番にエッ
ジを並べることにより、後の処理のために、より高い結
合された値を有するエッジの最大数が保持されることが
保証される。例えば、もしもエッジが異なる順序で考慮
されると、第3番目の強さを有するエッジが、第2番目
の強さを有するエッジに交差するので消去され得る。し
かし、2番の強さを有するエッジ自身は、次に、最も強
い結合された強さを有するエッジと交差することが見出
されると、消去されてしまう。これは、本実施形態にお
ける処理ではおこらないことである。
【0090】再び図11を参照すると、ステップS10
0を実行した後、コンピュータ2は、そのペア内の各イ
メージにおいて、設定された閾値を越える強さを有し、
他のエッジと交差しないエッジを格納していることにな
る。ステップS102において、CPU4はユーザによ
って特定されたそのイメージ内のポイントを接続し、三
角形を生成する。
【0091】図17は、図11のステップS102にお
いてCPU4によって実行される処理を示す図である。
図17を参照すると、ステップS140において、CP
U4はまずはじめに、ペア内の第1のイメージにおける
ユーザ特定ポイントを接続する。ここで、これらのポイ
ントは、ステップS100(図11)の処理が実行され
た後に残る強いエッジによって接続されたものである。
ステップS142において、CPU4は、2つの強いエ
ッジを有するあらゆる三角形を完成するように、適切な
ポイントを結合し、それら三角形の第3の辺を生成す
る。ステップS142は、もしも2つの強いエッジが出
会った場合に、それらエッジの他の端が相互に接続され
て、強いエッジを辺として有する単一の三角形を生成す
るという利点を提供する。この方法によれば、オブジェ
クト24のイメージにおけるエッジが、通常は、表面上
の特徴もしくは表面上のエッジに対応するので、他の方
法でポイントが接続された場合よりもオブジェクト24
の物理的な面上に存在するより多くの三角形を生成する
ことができる。
【0092】ステップS140とS142において、も
しもエッジが閾値を越える強さを有しているならば(す
なわち、強いエッジならば)、三角形の辺は完全なエッ
ジから形成されることが観察される。これは、エッジの
全長にわたる辺を有する三角形が生成されるように、エ
ッジが分割されないという利点を提供する。
【0093】ステップS144において、CPU4は、
ペアの第1のイメージ内のユーザによって特定されたポ
イントの座標を考慮し、ステップS140及びS142
でまだ接続されていないあらゆるポイントを接続するま
っすぐなエッジの長さを計算する。これらの接続は、接
続長というターム(term)で格納される。ステップ
S146において、CPU4は、次に短い接続長を有す
るポイントのペア(本ステップが最初に実行されるとき
は、もっとも短い接続長を有するポイントのペアとな
る)の座標を考慮し、もしも新しいエッジが既存のエッ
ジとオーバーラップしないならば、それらポイントを接
続してエッジを生成する(もしもオーバーラップするな
らば、それらのポイントは接続されない)。ステップS
148において、CPU4は、ステップS144におい
て生成されたリスト中に、まだ考慮されていないポイン
トのペアが存在するかどうかを判断する。そして、もし
存在するならば、ステップS146が繰り返される。ス
テップS146とS148は、ユーザによって特定され
たポイントのすべてが考慮されるまで繰り返される。ス
テップS150において、CPU4は、接続したエッジ
によって特定される三角形の頂点のリストをメモリ6内
に格納する。
【0094】図11を再び参照すると、ステップS10
4において、CPU4は、イメージのペアにおいてさら
に対応するポイントを計算するために、ステップS10
2におけるユーザ特定ポイントから決定された三角形を
用いる。
【0095】図18A、Bは、ステップS104におい
てCPU4によって実行される処理を示す図である。図
18A、Bを参照すると、ステップS160において、
CPU4は、ステップS150(図17)において格納
された三角形の頂点の座標を読み出し、ペア内のイメー
ジ間の各三角形に対する変換を計算する。これは第1の
イメージ内の三角形の頂点と第2のイメージにおける対
応する三角形の頂点(すなわち、第1のイメージにおけ
る頂点のポイントに対して以前にマッチした第2のイメ
ージにおけるポイント)を考慮することにより実行され
る。与えられた三角形内のイメージの小さな部分はフラ
ットであり、したがって、パースペクティブによって影
響されないと仮定される。したがって、ひとつのイメー
ジ内における三角形内の各ポイントは、以下のような、
数学的なアフィン変換によって他のイメージにおける対
応するポイントに関連付けられる。
【0096】
【数1】
【0097】ここで、(x,y,1)は、ペア内の第1
のイメージにおけるポイントの同次の座標であり、
(x’,y’,1)は、そのペア内の第2のイメージに
おけるポイントの同次の座標であり、そして、A,B,
C,D,E及びFはその変換を決定する未知の変数であ
る。
【0098】CPU4において、変数A〜Fを計算する
ために、数学的変換は三角形の各頂点に対して同じであ
ると仮定する(なぜならば、各三角形の面積は、三角形
内のイメージにおいて表されるオブジェクトの表面の部
分が平面であると仮定できるほどに、十分に小さいから
である)。以下の数式が、第1のイメージ内の三角形の
3つの既知の頂点と第2のイメージにおける3つの対応
する既知の頂点を用いて確立される。
【0099】
【数2】
【0100】ここで、(x,y,1)は、第1のイメー
ジにおける三角形の頂点の同次の座標であり、座標番号
はその座標がどの頂点に関連付けられているかを表し、
(x’,y’,1)は、第2のイメージにおける、第1
のイメージ内の三角形の頂点にマッチするポイントの同
次の座標である(ここでも、座標番号はその座標がどの
頂点に関連付けられているかを表す)。この等式は、A
〜Fの値を計算するための一般的な方法によって解か
れ、ゆえに、各三角形の変換が特定される。
【0101】ステップS162において、CPU4は第
1のイメージを25ピクセル×25ピクセルの大きさの
一連のグリッド矩形に分割する。そして、矩形が「空」
であることを示すためのフラグを各矩形にセットする。
図19はグリッド矩形に分割されたイメージを表す図で
ある。ステップS164において、CPU4は、考慮中
のペアの第1のイメージ内に、先行するイメージにおけ
るポイントとマッチするが、当該ペアの第2のイメージ
におけるポイントとはマッチしないポイントが存在する
か否かを判定する。考慮中のペアのその第1のイメージ
がその処理における一番最初のイメージである場合(図
2の例において、位置L1で撮影されたイメージ)、そ
の順番において先立つイメージが存在しないので、ステ
ップS164ではそのようなポイントは存在しない。ま
た、その順番における第2のイメージ(図2の例におい
て位置L3において撮影されたイメージ)が、考慮中の
ペアにおける第1のイメージである場合、図7に見られ
るように、ポイントは先行するイメージ(その順番にお
ける第1のイメージ)と、ステップS52における自動
的な初期特徴マッチング、ステップS60またはS72
におけるユーザマッチング、或いはステップS62にお
けるアフィン初期特徴マッチングにより、一致させられ
ている可能性がある。考慮中のペアの第1のイメージが
第3或いはその順番における後続のイメージ(位置L
2、L3或いはL5で撮影されたイメージのうちのひと
つ)である場合、ポイントは先行するイメージと、ステ
ップS54における自動的な初期特徴マッチング、ステ
ップS60またはS72におけるユーザマッチング、ス
テップS62またはS64におけるアフィン初期特徴マ
ッチングと一致させられている可能性があり、或いは前
述され、さらにその詳細が後述されるステップS74に
おける制約的特徴マッチングにより追加的に一致させら
れている可能性がある。
【0102】再び図18Aを参照すると、ステップS1
64でそのようなポイントが存在するとCPU4が判定
すると、CPU4は、ステップS166において「以前
にマッチした」ポイントのひとつを考慮し、ステップS
168において、このポイントが、そのペアの第1のイ
メージ内における図11中のステップS102で生成し
た三角形内に存在するかどうかを判断する。もしもポイ
ントが三角形内に存在しない場合は、処理はステップS
178へ進み、CPU4は当該ペアの第1のイメージ中
に別の、以前にマッチしたポイントがあるかどうかを判
断する。ステップS166、S168、S176は、そ
のペアの第1のイメージ中の三角形内に存在する以前に
マッチしたポイントが特定されるまで、或いはそのよう
な以前にマッチしたポイントのすべてが考慮されるま
で、繰り返される。ステップS168において考慮中の
以前にマッチしたポイントがそのペアの第1のイメージ
内の三角形内に存在すると判断された場合、ステップS
170において、CPU4はそのペアの第2のイメージ
内の対応するポイントを見つけようと試みる。これは、
そのポイントが存在する三角形に関するアフィン変換
(ステップS160において計算されたもの)を、その
ポイントに適用し、第2のイメージ中におけるポイント
を特定することによりなされる。そして、最小二乗相関
ルーチンを適用し、第2のイメージにおける特定された
ポイントとその周りの少領域内のポイントを考慮し、そ
のペアの第1イメージ内における以前にマッチしたポイ
ントと同じ画像特性を有するポイントがあるかどうかを
判断する。なお、適用される最小二乗相関ルーチンとし
ては、「Adaptive Least Square
sCorrealation:A Powerful
Image Matchin Technique,
A.W.Gruen、PhotogrammetryR
emote Sensing and Cartogr
aphy、1985、175−187ページ」に記載さ
れているものを用いることができる。これは、第2のイ
メージ内のポイントに関する相似性測度をもたらす。ス
テップS172において、CPU4は、そのペアの第2
のイメージ内に対応するポイントが見つかったかどうか
を、その相似性測度値を閾値(本例では0.4)と比較
することにより判断する。もしも類似性測度が閾値より
も大きければ、この相似性測度を有する第2のイメージ
のポイントが第1のイメージの以前にマッチしたポイン
トに対応するものであると決定する。そして、ステップ
S174において、CPU4は第1のイメージ内のその
ポイントが存在するグリッド矩形に対するフラッグを、
そのグリッド矩形が「フル」であることを示すように変
更する。ステップS176において、CPU4は、マッ
チしたポイントを特定するデータを格納する。
【0103】ステップS178において、CPU4は、
そのペアの第1のイメージ内に、まだ考慮されていな
い、別の、以前にマッチしたポイントが存在するかどう
かを判断する。そして、もしも存在するならば、ステッ
プS166からS178が繰り返され、そのペアの第1
のイメージ内のすべての以前にマッチしたポイントが上
述した方法で処理されるまで行われる。
【0104】そのペアの第1のイメージ内の以前にマッ
チしたポイントのすべてが処理された場合、もしくは、
ステップS164において以前にマッチしたポイントが
存在しないと判断された場合は、ステップS180にお
いて、CPU4はそのペアの第1のイメージ内の次の空
のグリッド矩形を考慮する。そして、ステップS182
において、三角形(図11のステップS102において
特定されたもの)の部分がその矩形内に存在するかどう
かを判断する。もしも、例えば、図19における矩形3
4、36、38の場合のように、三角形のどの一部分も
その矩形内に存在しないのであれば、処理はステップS
192に進む。ステップS192において、CPU4
は、第1のイメージ内にまだ考慮されていない別の空の
グリッド矩形があるかどうかを判断する。三角形の部分
を含むグリッド矩形(例えば、図19の矩形40)が特
定されるまで、ステップS180、S182及びS19
2が繰り返される。三角形の少なくとも一部が含まれる
矩形が特定されると、次に、処理はステップS184へ
進む。ステップS184において、CPU4は、三角形
とグリッド矩形の両方に存在し最も高いマッチング特性
を有するポイントを特定する。この実施形態において、
この選択は、「Scale−Space Theory
in Computer Vision、Tony
Lindeberg、Kluwer Academic
Publishers、ISBN 0−7923−9
418−6、158−160、Junction(co
rner)Detection」に記載されているよう
なテクニックを用いて行われ、最も強いコーナー値を持
つポイントを特定する。
【0105】ステップS185において、CPU4はそ
の最良のポイントの値を閾値と比較する(本実施形態で
はコーナー値が1.0の閾値と比較される)。もしもそ
の値が閾値よりも小さい場合は、CPU4はその最良の
ポイントのマッチング特性は、そのポイントを他のイメ
ージにおけるポイントにマッチさせようとする処理を正
しく行うのに十分に強くはないと判断する。そして、ス
テップS192へ進む。
【0106】一方、その値が閾値と等しいかそれより大
きければ(それは、そのポイントがマッチングに適して
いることを表す)、ステップS186において、CPU
4はそのポイントが存在する三角形に対するアフィン変
換(ステップS160において計算されたもの)をステ
ップS184において選択されたポイントの座標に適用
し、第2のイメージにおけるポイントを特定する。そし
て、適応化最小二乗相関ルーチンを適用し、第2のイメ
ージにおける特定されたポイントの周囲領域内のピクセ
ルを考慮し、第1のイメージにおけるポイントと第2の
イメージ内のその領域内における最良のマッチングポイ
ントとの間の類似性の度合いを示す値を生成する。ここ
で、適応化最小二乗相関ルーチンは、「Adaptiv
e Least Squares Correalat
ion:A PowerfulImage Match
in Technique,A.W.Gruen、Ph
otogrammetry Remote Sensi
ng and Cartography、1985、1
75−187ページ」に示されるようなテクニックを用
いることができる。ステップS188において、CPU
4は、相似性測度を閾値と比較することにより、マッチ
ングポイントがそのペアの第2のイメージ内において見
つかったかどうかを判断する。もしも相似性測度が閾値
よりも大きければ、CPU4は第2のイメージにおいて
特定されたポイントが第1のイメージにおけるポイント
とマッチするものと判断し、ステップS190におい
て、そのマッチングを格納する。もしも、相似性測度が
閾値よりも低ければ、CPU4は第2のイメージにおい
てマッチングポイントが見つからなかったと判断する。
【0107】ステップS192において、CPU4は、
第1のイメージにおいて、まだ考慮されていない空のグ
リッド矩形があるかどうかを判断する。ステップS18
0からS192は、上述した方法ですべてのグリッド矩
形が考慮されるまで繰り返される。
【0108】そのペアの第2のイメージにおけるポイン
トにマッチングさせるための当該ペアの第1のイメージ
におけるポイントを特定するために上述したようにグリ
ッドを用いることは、マッチングに考慮された第1のイ
メージ内のポイントが、均一な度合いの間隔を有して広
いエリアにわたって広がる(イメージの小領域内に互い
に群れ合うのではない)という利点をもたらす。そのペ
アの第1のイメージにおけるマッチングに考慮されるべ
きポイントの数と密度はグリッドの面積の大きさを変更
することでなされる。もしも矩形が小さければ、より接
近した間隔のより多くの数のポイントが考慮される。一
方、グリッド矩形が大きければ、より少ない数のより広
い間隔を有したポイントが考慮される。
【0109】次に、CPU4が、図7のステップS56
とS66で、トリプル内の3つのイメージの間における
カメラ変換を計算する方法を、図20〜38を参照して
以下に説明する。
【0110】図20は、カメラ変換計算においてCPU
4によって実行されるトップレベルの処理を示す図であ
る。ステップS200において、CPU4は、カメラ変
換が計算されるトリプルにおけるイメージが、位置的順
序における最初3つのイメージであるかどうかを判定す
る。図7を再度参照すると、位置的順序における最初の
3つのイメージ(すなわち、図2の例では、位置L1、
L2及びL3において撮影されたイメージ)が処理され
る場合、そのトリプルにおけるイメージの第1のペアの
ためのカメラ変換はそれより前には計算されていない。
しかしながら、その順序における次のイメージトリプル
が考慮されるときには、処理されているイメージトリプ
ルは、その順序における第2、第3及び第4のイメージ
を備えることになる。この場合、その順序における第2
と第3のイメージの間のカメラ変換は、これらのイメー
ジが以前のイメージトリプル(このトリプルは、当該順
序における第1、第2、及び第3のイメージを含む)に
関して処理されたときにすでに計算されている。同様に
して、当該順序の後続のイメージが考慮されるときに
は、第1のイメージペアに関するカメラ変換がそれに先
行するイメージトリプルに関する計算においてすでに計
算されたものとなっている。
【0111】そのトリプルの第1のイメージペアに対す
るカメラ変換がそれまでに計算されていた場合は、CP
U4によって実行される処理は先行して計算された変換
を用いることにより簡素化される。したがって、CPU
4は、そのトリプルにおける第1のペアに関するカメラ
変換が先行して計算されたかどうかに依存して、異なる
計算ルーチンを実行する。考慮されているイメージトリ
プルが位置的順序における最初の3つのイメージを備え
る場合、第1のルーチンがステップS202において実
行され、他のイメージトリプルに対してはステップS2
04において第2のルーチンが実行される。
【0112】図21は、図20におけるステップS20
2で実行される計算ルーチンの中で、CPU4によって
実行されるトップレベルの処理を示す図である。図21
を参照すると、ステップS206において、CPU4は
計算に必要なパラメータをセットアップする。ステップ
S208において、CPU4はそのトリプル内の第1の
イメージペア間のカメラ変換を計算し、その結果を格納
する。そして、ステップS210において、CPU4は
そのトリプル内の第2のイメージペア間のカメラ変換を
計算し、その結果を格納する。ステップS212におい
て、ステップS208において計算された第1のイメー
ジペアに対するカメラ変換と、ステップS210におい
て計算された第2のイメージペアに対するカメラ変換と
を用いて、当該トリプル内の3つのイメージすべてに対
するカメラ変換を計算し、これらの変換を格納する。
【0113】図22は、ステップS206においてパラ
メータをセットアップする際の、CPU4によって実行
される処理を示す図である。図22を参照すると、ステ
ップS214において、CPU4は、ステップS30
(図4)でユーザによって入力されたカメラデータを読
む。ステップS216において、CPU4は、ステップ
S52、S60、S62及びS72(図7)における初
期特徴マッチングの間にそのトリプルの第1のイメージ
ペア内でマッチしたポイントと、ステップS54、S6
0、S64及びS72(図7)における初期特徴マッチ
ングの間にそのトリプル内の第2のイメージペア内でマ
ッチしたポイントとを読む。
【0114】ステップS218において、CPU4は、
各イメージペアに対して、ユーザ特定による(すなわ
ち、図7のステップS60もしくはS72においてユー
ザによって特定された)マッチングポイントのリスト、
及びCPU4によってマッチングするものとして(図7
のステップS52、S54、S62或いはS64におい
て)計算されたポイントとユーザ特定によるポイントの
両方を備えるマッチングポイントのリストを生成する。
計算されたマッチングポイントのいくらかは、ユーザに
よって特定されたマッチングポイントと同じになるであ
ろう。この場合、CPU4は、マッチングポイントの重
複をなくすために、CPUによって計算された方のポイ
ントをそのリストから消去する。CPUによって計算さ
れたポイントを消去することにより、CPU4は、計算
に使用されることになる1つのポイントが両方のリスト
に出現することを保証する(上記のように、2つのリス
トのうちの1つはユーザ特定されたポイントのみをリス
トアップしており、それゆえ、重複を除去するためにユ
ーザ特定されたポイントの方を消去すると、そのリスト
においてそのポイントが消滅してしまう)。なお、ユー
ザ特定されたマッチングポイントのリストにおけるリス
トの数はゼロであってもよい。これは、図7のステップ
S60からS72におけるアフィン初期特徴マッチング
が実行されなかった場合である。
【0115】ステップS218においても、CPU4は
トリプルポイント、すなわち、その考慮中のイメージト
リプル中の3つのイメージ全てにわたってマッチするポ
イント(ユーザマッチポイントとCPU計算ポイントの
両方を含む)のリストを生成する。
【0116】ステップS220において、CPU4はス
テップS218において生成されたリスト内のポイント
の座標を正規化する。この段階までにおいて、ポイント
の座標は、そのイメージの左上コーナーから横及び下へ
のピクセルの数によって表されている。そこで、ステッ
プS220において、CPU4は、ステップS214に
て読み出したカメラ焦点距離とイメージプレーン(フィ
ルム或いはCCD)のサイズを用いて、そのポイントの
座標を、ピクセルから、カメラの光学中心を原点に持つ
ミリメータ単位の座標系へ変換する。ミリメータ座標は
ピクセル座標と以下のように関連付けられる。
【0117】
【数3】
【0118】ここで、(x*,y*)はミリメータ座標
であり、(x,y)はピクセル座標、(C,C)は
イメージの中心(ピクセル座標による)であり、水平方
向及び垂直方向のピクセル数の半分として定義されたも
の、“h”と“v”は隣接するピクセル間の水平及び垂
直方向距離(mm単位)である。
【0119】CPU4はミリメータ座標とピクセル座標
の両方を格納する。
【0120】ステップS222において、CPU4は、
以下に示すように、ユーザ特定ポイントのリストとステ
ップS218で生成されたユーザ特定及び計算されたポ
イントのための測度行列(measurement m
atrix)、Mをセットアップする。
【0121】
【数4】
【0122】ここで、(x、y)はペア内の第1イメー
ジにおけるポイントのピクセル座標であり、(x’、
y’)は当該ペアの第2イメージにおける対応する(マ
ッチした)ポイントのピクセル座標であり、1〜kの数
字は、その座標がどのポイントのペアに対応するかを表
す(リスト内にはトータルでkペアのポイントがあり、
それは、もちろん、ユーザ特定リストとユーザ特定及び
計算ポイントリストとで異なっていてよい)。
【0123】ステップS224において、CPU4は、
第1のイメージペアのカメラ変換を計算するのに用いる
4つの異なる計算テクニックと、第2のイメージペアの
カメラ変換を計算するのに用いる4つの異なる計算テク
ニックとの実行するべき繰り返しの回数を決定する。カ
メラ変換を計算するのに用いられる4つのテクニック
(第1のイメージペアと第2のイメージペアに対して同
じテクニックが用いられる)は、ユーザ特定ポイントの
リストを用いたパースペクティブ計算(perspec
tive calculation)、ユーザ特定ポイ
ントと計算されたポイントのリストを用いたパースペク
ティブ計算、ユーザ特定ポイントリストのリストを用い
たアフィン計算、ユーザ特定及び計算されたポイントの
リストを用いたアフィン計算である。
【0124】図23は、図22のステップS224にお
いてCPU4によって実行されるステップを示す図であ
り、このステップでは各計算において用いられるべき繰
り返し回数を決定する。図23を参照すると、ステップ
S230において、CPU4は、ステップS218にお
いて生成されたリストのひとつを考慮し、そのリスト中
のポイントの数が4よりも小さいかどうかを判断する。
もし小さいのであれば、ステップS232において、C
PU4は、そのリスト内のポイントを用いたパースペク
ティブ計算のために実行されるべき繰り返し数“np”
をゼロに設定し、そのリスト内のポイントを用いたアフ
ィン計算のために実行されるべき繰り返し数“na”も
ゼロに設定する。すなわち、ステップS230において
リスト内のポイントの数が4よりも小さいことが見出さ
れた場合には、十分な数のマッチングポイントのペアが
存在しないので、パースペクティブ計算もアフィン計算
も実行されないことを保証するために、それらの繰り返
し数がステップS232においてゼロに設定されるので
ある。
【0125】もしもステップS230においてリスト内
のポイントのペアの数が4以上であると判定されたなら
ば、ステップS234において、CPU4はポイントの
ペアの数が7よりも小さいかどうかを判定する。もし7
よりも小さいのであれば、ステップS236において、
そのリスト内のポイントを用いたパースペクティブ計算
のための繰り返し数“np”をゼロに設定する(その計
算を実行するのには十分ではないからである)。そし
て、そのリスト内のポイントに対するアフィン計算を実
行する際の繰り返し数“na”を15に設定する。“n
a”が15に設定されるのは、その数が、アフィン計算
において、ポイントの6個(7未満の最大の数)のペア
を用いて重複することなく実行することが可能な最大の
繰り返し数だからである。
【0126】もしもステップS234において、リスト
中のポイントのペアの数が7以上であると判定された場
合は、ステップS238においてCPU4は、そのリス
ト内のポイントを用いたパースペクティブ計算のための
繰り返し数“np”を、4,000かk(k−1)(k
−2)(k−3)(k−4)(k−5)(k−6)/2
0160の整数部分のうちの小さいほうにセットすると
ともに、そのリスト内のポイントを用いたアフィン計算
のための実行すべき繰り返し数“na”を、800とk
(k−1)(k−2)(k−3)/48の整数部分の小
さいほうにセットする。後述するように、k(k−1)
(k−2)(k−3)(k−4)(k−5)(k−6)
/20160の値は、重複した計算なしにパースペクテ
ィブ計算を実行することが可能な繰り返しの最大数の2
5%を表す。また、k(k−1)(k−2)(k−3)
/48の値は、重複することなくアフィン計算を行うこ
とが可能な繰り返しの最大数の50%を表す。4,00
0及び800という値は、合理的な時間的制限の中にお
いて許容できる結果を得るために、経験的に決定された
ものである。
【0127】図23に関連して上述した処理は、第1の
イメージペア及び第2のイメージペアに対して4つのカ
メラ変換計算テクニックすべてにおいて実行されるべき
繰り返し数を計算するために、トリプルポイントのリス
トを除く、ステップS218においてセットアップした
リストの各々に対して実行される。
【0128】図24は、ステップS208(図21)に
おいてトリプル内の第1のイメージペアに関するカメラ
変換を計算するとき、及びステップS210(図21)
においてトリプル内の第2のイメージペアに関するカメ
ラ変換を計算するときに、CPU4によって実行される
処理のトップレベルを示す図である。
【0129】図24を参照すると、ステップS240に
おいて、CPU4はパースペクティブ計算を用いて、ペ
アである2つのイメージ間のカメラ変換を計算し、その
結果を格納する。ステップS242において、CPU4
はアフィン計算を用いてイメージペアのカメラ変換を計
算し、その結果を格納する。すなわち、CPU4は2つ
のテクニックを用いて各イメージペアに関するカメラ変
換を計算する。それらの各々は、処理のために入力され
得るイメージの2つの可能なタイプのそれぞれに対応す
る(前述したように、第3のタイプのイメージ、すなわ
ちフラットオブジェクトのイメージは、オブジェクトの
3Dモデルを生成する処理を実行することができな
い)。
【0130】図25A〜Cは、図24のステップS24
0においてパースペクティブ計算を用いて、カメラ変換
の計算を行ったときの、CPU4によって実行される処
理を示す図である。図25A〜Cを参照すると、CPU
4はまず、ユーザ特定されたポイントのリスト中のポイ
ントペアを用いてパースペクティブ計算を実行し(ステ
ップS244〜S262)、そして次に、ユーザ特定さ
れたポイントと計算されたポイントの両方含むリスト中
のポイントペアを用いて、パースペクティブ計算を実行
する(ステップS262からS282)。CPU4は、
どのポイントリストが最も正確な結果を生成したかを決
定し、これらの結果をそのイメージのペアのためのカメ
ラ変換に変換する(ステップS284)。これらの処理
では、複数の異なるポイントのセットを用いて変換が計
算され、このため、正確な変換が計算されるという点に
関して大きな可能性をもたらすという利点を提供する。
演算のより詳細については後述する。
【0131】図25A〜Cを参照すると、ステップS2
44において、CPU4は、ステップS224(図2
2)で決定された、ユーザ特定によるポイントを用いた
パースペクティブ計算のために実行されるべき繰り返し
数を示す値を読み出し、この値がゼロより大きいかどう
かを判定する。もしそうでなかったならば、パースペク
ティブ計算を実行するのにはユーザ特定されたポイント
だけでは十分でないと判断されるので、処理はステップ
S264へ進み、ユーザ特定されたポイントと計算され
たポイントの両方のリストを用いてパースペクティブ計
算のための処理を開始する。
【0132】一方、ステップS244において、繰り返
しの値がゼロよりも大きいならば、ステップS246に
おいてCPU4はカウンタの値を1つだけ増加させる
(最初にステップS246が実行されるときには、CP
U4はこのステップにおいてカウンタ値を1にセットす
る)。ステップS248において、CPU4は、ステッ
プS218(図22)でセットアップされたマッチング
したユーザ特定ポイントのリストから、ランダムに7個
のポイントペアを選択する。ステップS250におい
て、CPU4はその選択された7つのポイントペアと、
ステップS222においてセットされた測度行列とを用
いて、fundamental行列Fを計算する。この
行列は、イメージ間の幾何学的関係を表し、Fは以下の
等式を満足する3×3の行列である。
【0133】
【数5】
【0134】ここで、(x,y,1)は、そのペアの第
1のイメージ内の、選択された7つのポイントのすべて
の同次のピクセル座標であり、(x’,y’,1)はそ
のペアの第2のイメージにおける、対応する同次のピク
セル座標である。
【0135】Fundamental行列は一般的な方
法で計算される。例えば、「Robust Detec
tionof Degenerate Configu
rations Whilst Estimating
the Fundamental Matrix、
P.H.S.Torr、A.Zisserman及び
S.Maybank著,Oxford Univers
ity Technical Report2090/
90」に記載されているテクニックを用いることができ
る。
【0136】ステップS248において8つ以上のマッ
チしたポイントのペアを選択して、これらを用いてステ
ップS250でfundamental行列を計算する
ことも可能である。しかしながら、この実施形態では7
個のポイントのペアを用いている。この数が、経験的に
満足の行く結果をもたらすものであることが見出されて
おり、また、fundamental行列のパラメータ
を計算するのに必要な最小のペア数を表し、必要となる
処理を減少させるからである。
【0137】ステップS252において、CPU4は、
ステップS214(図22)で読み出したカメラデータ
を用いて、fundamental行列Fを物理的なf
undamental行列Fphysに変換する。これ
は一般的な方法において実行される。例えば、”Mot
ion and Structure from Tw
o Perspective Views:Algor
ithms,Error Analysis and
Error Estimation”、J.Weng,
T.S.Huang及びN.Ahuja著,IEEE
Transactions on Pattern A
nalysis and Machine Intel
ligence,vol.11,No.5,May 1
989,の451−476頁に記載されているテクニッ
クを用いることができる。以下に要点を示す。
【0138】まず、以下の等式を満足するessent
ial行列Eが計算される。
【0139】
【数6】
【0140】ここで、(x*,y*,f)はイメージの
中心を原点とするミリメートル座標系における第1のイ
メージ中の選択された7個のポイントの座標であり、z
座標はカメラの焦点距離fに対応するべく正規化されて
おり、(x*’,y*’,f)は、当該ペアの第2イメ
ージにおいて、対応するマッチングポイントの座標を表
す。Fundamental行列Fは,以下の式を用い
て、essential行列Eに変換される。
【0141】
【数7】
【0142】ここで、カメラパラメータh、v、c
及びfは予め特定されたものであり、シンボルTは
転置行列を示し、シンボルtrは行列traceを表
す。
【0143】移動ベクトル(translation
vector)(単位長さの)と回転行列(この最も近
い行列はEphys)に直接的に分解が可能な、Eに最
も最も近い行列を見つけることにより、計算されたes
sential行列Eは、物理的なessential
行列Ephysに変換される。
【0144】最後に、物理的なessential行列
は、以下の式を用いて、物理的なfundamenta
l行列へ変換される。
【0145】
【数8】
【0146】シンボル−1は逆行列を示す。
【0147】物理的なessential行列E
phys、物理的なfundamental行列F
physの各々は、物理的に信頼性のある行列である。
すなわち、それは直接的に回転行列と移動ベクトルへ分
解される。
【0148】物理的なfundamental行列F
physは、連結イメージ座標(concatenat
ed imagecoordinate)として知られ
る、座標(x,y,x’,y’)で表される4次元空間
における曲面を決定する。曲がった面は上述の式(6)
によって与えられ、それは連結イメージ座標における4
D空間内の3D2次曲面を定義する。
【0149】ステップS253において、CPU4は計
算された物理的なfundamental行列を、ステ
ップS250においてそのfundamental行列
を計算するのに用いられた各ポイントのペアに対してテ
ストする。これは、物理的なfundamental行
列を表す面から、ポイントの各ペアを表す4Dポイント
までの4Dユークリッド距離(連結イメージ座標におけ
る)の近似値を計算することによりなされる。この距離
は、サンプソン距離(Sampson distanc
e)として知られるもので、一般的な方法で計算され
る。このテクニックは、上述の「Robust Det
ection of Degenerate Conf
igurations Whilst Estimat
ing the Fundamental Matri
x、P.H.S.Torr、A.Zisserman及
びS.Maybank著,Oxford Univer
sity Technical Report 209
0/96」に記載されている。
【0150】図26は、ステップS253においてCP
U4が物理的なfundamental行列をテストす
る方法を示す図である。図26を参照すると、ステップ
S290において、CPU4はカウンタをゼロにセット
する。ステップS292において、CPU4は、ユーザ
特定によるポイントの7個のペア(ペアにおける各ポイ
ントを特定する2つの座標は、連結されたイメージ座標
の4次元空間における単一のポイントを特定するために
使用される)におけるポイントの次のペアの座標によっ
て定義される4次元ポイントにおいて、物理的なfun
damental行列を表す面のタンジェント平面を計
算する。ステップS292は、事実上、ポイントペアの
座標によって特定されるポイントに接触するために面を
シフトすることを備える。これは、一般的な方法によっ
て実行される。例えば、「Robust Detect
ion of Degenerate Configu
rations Whilst Estimating
the Fundamental Matrix、
P.H.S.Torr、A.Zisserman及び
S.Maybank著,Oxford Univers
ity Technical Report 2090
/96」に記載されているテクニックを用いることがで
きる。
【0151】ステップS294において、CPU4はス
テップS292で計算されたタンジェント平面の法線を
計算する。そして、ステップS296において、マッチ
したポイントのペアの座標によって特定される4D空間
におけるポイントから、物理的fundamental
行列を表す面までの、法線に沿った距離(サンプソン距
離(Sampson distance))を計算す
る。ステップS298において、計算された距離は閾値
と比較される。この閾値は、本実施形態では、2.8ピ
クセルにセットされる。もしも距離がその閾値よりも小
さければ、そのポイントはその表面に十分に接近して存
在しており、物理的なfundamental行列は、
考慮されているマッチしたポイントの特定のペアに関し
て、カメラのそのペアの第1のイメージからそのペアの
第2のイメージへの移動を正確に表すとみなされる。し
たがって、もしも距離が閾値よりも小さければ、ステッ
プS300において、CPU4はステップS290で初
期値0にセットされたカウンタをインクリメントし、そ
のポイントを格納し、ステップS296において計算さ
れた距離を格納する。
【0152】ステップS302において、CPU4は、
fundamental行列を計算するのに用いられた
7つのポイントペアにおいて別のポイントペアがあるか
どうかを判断する。そして、ステップS292からS3
02が、そのようなポイントのすべてが上述したように
処理されるまで繰り返される。
【0153】再び図25に戻り、ステップS254にお
いて、CPU4は、ステップS252において計算され
た物理的fundamental行列が、ユーザ特定さ
れたポイントと計算されたポイントのすべてに対してそ
れをテストするために、更なる処理を正当化するのに十
分に正確であるかどうかを判断する。本実施形態におい
ては、ステップS254が、ステップS300にてセッ
トされたカウンタ値(ステップS298において閾値よ
りも小さい距離を有するポイントのペアの数を表す、そ
れゆえ、物理的fundamenta行列と一致してい
ると考えられる)が7に等しいかどうかを判断する。す
なわち、CPU4は、物理的fundamental行
列が、物理的fundamental行列が派生するf
undamental行列を計算するために用いられる
すべてのポイントについて一貫しているかどうかを判断
する。カウンタ値が7より小さい場合は、CPU4は物
理的fundamental行列のテストをそれ以上行
わず、処理はステップS256へ進む。一方、カウンタ
値が7に等しければ、ステップS255においてCPU
4は、ユーザ特定ポイントと計算ポイントの両方を含む
リスト中のポイントの各ペアに対して物理的funda
mental行列をテストする(たとえ物理的fund
amental行列が、ユーザ特定ポイントのみを含む
リストからのポイントを用いて派生したものであって
も)。これは、以下の(i)〜(iii)の点を除い
て、上述したステップS253と同じ方法で実行され
る。 (i)ステップS290において、CPU4は、ステッ
プS253においてすでにテストされたポイントの7個
のペアを反映するためにカウンタを7にセットし、これ
らは物理的fundamental行列と一致すると判
断される。 (ii)物理的fundamental行列はすべての
ユーザ特定されたポイント及び計算されたポイントに対
してテストされる(ただし、ステップS253において
以前にテストされたポイントのペアは再度テストされな
い)。 (iii)CPU4は、以下の式を用いて、ステップS
300において格納された全ポイントに対するトータル
エラーを計算する。
【0154】
【数9】
【0155】ここで、eは、それらの座標によって表
された4DポイントとステップS296で計算された物
理的fnndamental行列を表す面との間のマッ
チしたポイントのi番目のペアの距離である。この値
は、無符号とするために二乗される(それにより、その
ポイントが物理的fundamental行列のどの側
にあるかということが結果に影響しないことを保証す
る)。pはステップS300において格納されたポイン
トの合計値であり、ethはステップS298で比較に
用いられた距離の閾値である。
【0156】ステップS255において、カウンタ値、
ステップS300(図26)において格納されたポイン
ト、及び上述のトータルエラーは、ステップS253に
おいてテストされた上述の7個のポイントペアを含む。
【0157】ステップS255の効果は、ステップS2
52において計算された物理的fundamental
行列が、ユーザ特定されたポイント及び計算されたポイ
ントの各ペアに対して正確かどうか、計算された行列が
十分に正確であるために必要なポイントの合計数を表す
最終的な(ステップS300)カウンタの値に対して正
確かどうかを判断することである。
【0158】ステップS256において、CPU4はス
テップS255でテストされた物理的fundamen
tal行列が、ユーザ特定されたポイントだけについて
パースペクティブ計算を用いて以前に計算したものより
も正確であるかどうかを判断する。ここでは、図26の
ステップS300において最後に計算された物理的fu
ndamental行列のために格納されたカウンタ値
(この値は、物理的fundamental行列が正確
なカメラ解であるためのポイント数を表す)を以前に計
算された最も正確な物理的fundamental行列
に関して格納された対応するカウンタ値とを比較する。
最も高いポイント数の行列(カウンタ値)は最も正確で
あるとしてとられる。もしもポイントの数が2つの行列
で同じであったならば、各マトリックスのトータルエラ
ー(上述のごとく計算されたもの)が比較され、低いエ
ラー値を有するものが最も正確な行列として採用され
る。もしも、ステップS256において、物理的fun
damental行列が現在格納されているものよりも
正確であったならば、ステップS258において以前の
ものが破棄され、新しい行列が格納される。このとき、
この新しい行列とともに、図26におけるステップS3
00にて格納されたポイント数(カウンタ値)、それら
のポイント自体及びその行列について計算されたトータ
ルエラーが格納される。
【0159】ステップS260において、CPU4はス
テップS246においてインクリメントされたカウンタ
の値が図22のステップS224において設定された、
繰り返し回数を定義する値“np”以上であるかどうか
を判断する。もしも値が“np”以上であれば、要求さ
れた繰り返しの回数が実行されており、ユーザ特定され
たポイントと計算されたポイントの両方を備えたリスト
内のポイントに対してパースペクティブ計算を実行する
ために、処理はステップS264へ進む。一方、もしも
要求された繰り返し数に達していない場合は(ステップ
S260においてカウンタ値が“np”未満である)、
ステップS262において、CPU4は、物理的なfu
ndamental行列の正確さ(ステップS258に
おいて格納されたカウンタ値とトータルエラーによって
表される)が、過去のnp/2回の繰り返しのすべてに
て、増加したかを判断する。もしそうならば、更なる繰
り返しを実行する価値があり、ステップS246〜S2
62が繰り返される。過去np/2回の繰り返しにおい
て、物理的fundamental行列の正確さに変化
が無ければ、たとえ図22のステップS224で設定さ
れた値“np”に繰り返し回数が到達していなくても処
理を止める。この方法により、繰り返し回数すべてを実
行することがそれほどに、より正確な結果を生まないよ
うな場合に、処理時間が節約されることになる。図23
に関して述べたように、“np”の値は、ステップS2
48において7つのペアをランダムに選択するのに用い
たポイントリスト内のポイントのペアの数に基づいて設
定される。図23のステップS238を参照すると、
(k−1)(k−2)(k−3)(k−4)(k−5)
(k−6)/20160の値は、重複することなしに実
行可能な繰り返しの最大数の25%を表す(この最大数
は、そのリストから選択された7つのポイントペアの異
なる組み合わせの合計数を表す)。ステップS262に
おいて用いられる値np/2は、合理的な時間で許容で
きる結果を生じるために経験的に決定されるものであ
る。
【0160】再び図25A〜Cを参照すると、ステップ
S264〜S282において、CPU4は、ユーザ特定
されたポイントと計算されたポイントの両方を備えるリ
ストからランダムに選択されたポイントのペアを用い
て、そのイメージペアについてパースペクティブ計算を
実行する。これらのステップは、上述したステップS2
44〜S262で実行した処理とほぼ同じである。異な
るのは、実行されるべき繰り返し数を特定する値“n
p”が異なって設定され(図22のステップS22
4)、ランダムに選択されたfundamental行
列を計算するために用いられる7個のポイントペアがユ
ーザ特定されたポイントと計算されたポイントの両方を
備えたリストから選択されるという点である。この処理
において実行される処理については、それゆえ、繰り返
し記載しない。上述のように、図26は、ユーザ特定さ
れたポイントと計算されたポイントの各ペアに対して物
理的なfundamental行列をテストするときに
実行されるステップ(ステップS273、S275)を
示す。
【0161】ステップS284において、CPU4は、
ユーザ特定されたポイントのみを用いて計算された最も
正確な物理的fundamental行列(ステップS
258にて格納されたもの)と、ユーザ特定されたポイ
ントと計算されたポイントの両方を用いて計算された最
も正確な物理的fundamental行列(ステップ
S278で格納されたもの)とを比較し、両者のうちの
より正確なほうを選択する(これは、行列が正確な解で
あるためのポイントの数を表すカウンタ値を比較するこ
とにより行われる。またこれが同一であった場合は、合
計のエラー値を比較することで行う)。最も正確な物理
的fundamental行列は、次に、イメージペア
間におけるカメラの動きを表すカメラ回転行列と移動ベ
クトルとに変換される。この変換は、一般的な方法で実
行される。例えば、”Motion and Stru
cture from Two Perspectiv
eViews:Algorithms,Error A
nalysis andError Estimati
on”、J.Weng,T.S.Huang、N.Ah
uja著,IEEE Transactions on
PatternAnalysis and Mach
ine Intelligence,Vol.11,N
o.5,May1989,451−476頁に記載され
ている方法を用いることができる。
【0162】図25A〜Cに関して上述した処理におい
て、CPU4はfundamental行列を計算し
(ステップS250及びS270)、ユーザ特定された
ポイントと計算されたポイントに対してテストする(ス
テップS255及びS275)ために、この行列を物理
的fundamental行列に変換する(ステップS
252及びS272)。これは、fundamenta
l行列を物理的なfundamental行列に変換す
るという付加的な処理が必要とはなるが、ステップS2
84において最終的に選択された物理的なfundam
ental行列自身がテストされるという長所を有す
る。もしもfundamental行列がユーザ特定ポ
イント及び計算ポイントに対してテストされ、最も正確
なfundamental行列が選択されたならば、そ
れ自身はテストされていない物理的なfundamen
tal行列へ変換されなければならないであろう。
【0163】図24を再度参照すると、CPU4は、い
まや、イメージペアのためのパースペクティブ計算を完
結し、ステップS242に進む。ステップS242にお
いては、CPU4は、第2のタイプの計算、すなわち、
アフィン計算をそのイメージペアに対して実行する。
【0164】図27A、Bはアフィン変換を実行すると
きのCPU4によって実行される処理を示す図である。
【0165】パースペクティブ計算を実行したときのよ
うに、CPU4は、ユーザ特定されたポイントだけのリ
スト(ステップS310〜S327)から選択されたポ
イントのペアを用いてアフィン計算を実行し、そして、
ユーザ特定されたポイントと計算されたポイントの両方
を備えたポイントリスト(ステップS328からS34
5)よりのポイントのペアを用いてアフィン計算を実行
する。そして、最も正確なアフィン解を求める(ステッ
プS346)。この場合においても、変換が複数のポイ
ントの異なる集合を用いて計算され、それにより、正確
な変換が計算される可能性をより高くするという長所を
生ずる。
【0166】パースペクティブ計算を実行するとき、そ
のfunsamental行列Fのすべてのコンポーネ
ントを計算することが可能である。しかしながら、その
イメージのペア間の関係がアフィン関係にある場合、そ
のfundamental行列の4個の独立したコンポ
ーネントのみを計算することができる。これら4個の独
立したコンポーネントは、アフィンfundament
al行列として一般に知られたものを定義する。
【0167】図27Aを参照すると、ステップS310
において、CPU4は、ユーザ特定されたポイントのみ
を用いたアフィン計算のための、ステップS224(図
22)でセットされた繰り返し数“na”がゼロより大
きいか否かを判断する。もしもゼロ以下ならば、アフィ
ン計算を実行するのに十分なポイントペアがユーザ特定
されたポイントのリスト中には無いので、処理はステッ
プS328へ進む。ステップS328では、ユーザ特定
されたポイントと計算されたポイントの両方を備えるリ
ストが考慮される。一方、ステップS310において、
実行されるべき繰り返し数がゼロより大きい場合、ステ
ップS312においてCPU4はカウンタの値をインク
リメントする(ただし、ステップS312の最初の処理
では、カウンタの値は1にセットされる)。
【0168】ステップS314において、CPU4は、
ユーザ特定されたポイントだけを含むポイントリストか
ら4個のマッチしたポイントのペアをランダムに選択す
る。ステップS316において、CPU4はその選択さ
れた4つのポイントペアとステップS222でセットさ
れた測度行列とを用いて、そのfundamental
行列(アフィンfudnamental行列を与える)
の4個の独立したコンポーネントを計算する。これに
は、「Affine Analysis ofImag
e Sequences」L.S.Shapiro著,
Section5,Cambridge Univer
sity Press1995,ISBN 0−521
−55063−7、に記載されているような技術を用い
ることができる。ステップS314において4個より多
いポイントペアを選択し、ステップS316においてア
フィンfundamental行列を計算することは可
能である。しかしながら、本実施形態においては、4つ
のペアのみが選択される。これは、この数が、経験的に
満足の行く結果を生じるものであり、そして、この数が
アフィンfundamental行列のコンポーネント
を計算するために要求される最小の数を表しており、そ
れゆえ必要な処理を減少させるものであるからである。
【0169】ステップS318において、CPU4はア
フィンfundamental行列を、ユーザ特定され
たポイントと計算されたポイントの両方を備えるリスト
内の各ポイントペアに対してテストする(たとえ、アフ
ィンfundamental行列がユーザ特定されたポ
イントのみを含むリストからのポイントを用いて派生し
たものであっても)。これには、「Affine An
alysis ofImage Sequence
s」、L.S.Shapiro著,Section
5,Cambridge University Pr
ess,1995,ISBN 0−521−55063
−7に記載のテクニックを用いることができる。アフィ
ンfundamental行列は、4次元の、連結され
たイメージ空間における平らな表面(ハイパープレー
ン)を表す。そして、このテストは、マッチしたポイン
トのペアの座標によって特定される4次元空間における
ポイントとそのアフィンfundamental行列に
よって表される平らな面との間の距離を決定することを
含む。ステップS255とS275(図25)で計算さ
れたパースペクティブ計算の間に実行されるテストのよ
うに、ステップS318で実行されるテストは、ユーザ
特定されたポイントと計算されたポイントのリスト内の
アフィンfundamental行列がカメラ変換のた
めに十分に正確な解を表すポイントペアの数を生成する
と共に、これらのポイントに関するトータルエラー値を
生成する。
【0170】ステップS320において、CPU4は、
ステップS316で計算され、ステップS318でテス
トされたアフィンfundamental行列が、ユー
ザ特定されたポイントだけを用いて以前に計算されたい
かなるものよりも正確であるかどうかを判断する。これ
は、行列が正確な解を表すためのポイントの数を、以前
に計算された最も正確なアフィンfundamenta
l行列のためのポイント数と比較することによりなされ
る。ポイントの数が最も多い行列が最も正確である。も
しも、ポイントの数が同じであったならば、その中で最
も低いエラーを有する行列が最も正確である。もしもア
フィンfundamental行列が以前に計算された
どの行列よりも正確であるならば、ステップS322に
おいて、それは、十分に正確な解を表すためのポイン
ト、これらポイントの総数及び行列のトータルエラーと
ともに格納される。
【0171】ステップS324において、CPU4はス
テップS312においてインクリメントされたカウンタ
の値が繰り返し数“na”よりも小さいかどうかを判断
する。この“na”はステップS224(図22)にお
いてユーザ特定されたポイントだけにかかわるアフィン
計算のためにセットされたものである。そして、これに
より、セットされた回数の繰り返しが実行される。もし
もカウンタの値が設定された繰り返し数以上であったな
らば、要求された繰り返し回数が実行されており、処理
はステップS328へ進む。もしも、カウンタの値が設
定された繰り返し回数未満であったならば、CPU4は
更なるテストをステップS326において実行する。そ
して、そのアフィンfundamental行列の正確
さが最近のna/2回の繰り返しのすべてにおいて増加
したかどうかを判断する。もしも正確さが増加していな
ければ、たとえ設定された繰り返し回数“na”回の処
理がまだ実行されていなくても、処理を停止する。この
ようにして、アフィンfundamental行列の正
確さの増加の発生しない無駄な繰り返しが実行されなく
なる。このため、処理時間が節約される。一方、正確さ
が増加したのであれば、ステップS324において設定
された回数の繰り返しが実行されたと判断されるか、或
いはステップS326において、先行するna/2回の
繰り返しにおいてアフィンfunamental行列の
正確さが増加していないと判断されるまで、ステップS
312からS326が繰り返される。
【0172】ステップS327において、CPU4は格
納されたアフィンfundamental行列(すなわ
ち、ユーザ特定されたポイントだけを用いて計算された
最も正確なもの)を、カメラ変換を表す3つの物理的変
数に変換する。これら3つの物理的変数は、すなわち2
つのイメージ間のオブジェクトのマグニフィケーション
(magnification)mと、カメラの回転の
軸φ、及びカメラのサイクロトーションローテーション
(cyclotorsion rotation)θで
ある(変数φとθはより詳細に後述する)。アフィンf
undamental行列のこれら物理的変数への変換
は、一般的な方法において実行される。例えば、「Af
fine Analysis of Image Se
quences」、L.S.Shapiro著,Sec
tion7,CambridgeUniversity
Press,1995,ISBN 0−521−55
063−7に記載されている方法を用いることができ
る。
【0173】ステップS328からS345において、
CPU4は、ユーザ特定されたポイントと計算されたポ
イントの両方を含むリストからランダムに選択されたポ
イントペアを用いてアフィン計算を実行する。これらの
ステップは、上述したステップS310〜S327にお
いてユーザ特定されたポイントだけに関してCPU4に
よって実行されたものと同じである。ただし、繰り返し
回数“na”は図22のステップS224でセットされ
たのとは異なる値となり、ステップS332においてラ
ンダムに選択された4つのポイントペアはユーザ特定さ
れたポイントと計算されたポイントの両方を備えたリス
トから選択されたものとなる。ここでは、これらのステ
ップについては再び記述しない。
【0174】以上のようにして、ユーザ特定されたポイ
ントだけを含むリストからのポイントのペアを用いたア
フィン計算(ステップS310〜S327)、ユーザ特
定されたポイントと計算されたポイントの両方を備える
リストからのポイントのペアを用いたアフィン計算(ス
テップS328〜S345)を行い、各計算に関して最
も正確なアフィンfundamental行列を生成し
終えると、ステップS346において、CPU4はこれ
ら2つのアフィンfundamental行列を比較
し、最も正確なものを選択する。これはポイント(ステ
ップS322とS340で格納された)数が最も多いも
のであり、もしもポイントの数が同じならば、最も低い
行列トータルエラーを有するものとなる。
【0175】再び図21を参照すると、ステップS20
8において上述したパースペクティブ及びアフィンテク
ニックを用いてトリプル内の第1のイメージペアについ
てカメラ変換を計算し、ステップS210において同じ
パースペクティブ及びアフィンテクニックを用いてその
トリプル内の第2のイメージペアについてカメラ変換を
計算すると、CPU4はステップS212においてその
結果を用いて、そのトリプル内の3つのイメージ全てに
ついてのカメラ変換を計算する。
【0176】図28は、ステップS212においてトリ
プル内の3つのイメージ全てについてのカメラ変換の計
算において、CPU4によって実行される処理を示す図
である。
【0177】トリプル内の3つのイメージ全てを考慮す
る場合、2つのカメラ変換が存在する。1つはそのトリ
プル内の第1のイメージが撮られた位置から第2のイメ
ージが撮られた位置まで、もう1つは、第2のイメージ
が撮られた位置から第3のイメージが撮られた位置まで
の変換である。これら変換の各々は、アフィン変換或い
はパースペクティブ変換のいずれでもよく、したがって
イメージ間の4つの可能な組み合わせが与えられる(す
なわち、アフィン−アフィン、アフィン−パースペクテ
ィブ、パースペクティブ−アフィン、パースペクティブ
−パースペクティブ)。したがって、ステップS35
0、S352、S354及びS356において、CPU
4はそれら4つの可能な組み合わせのそれぞれを考慮
し、ステップS358においてその4つから最も正確な
解を選択する。以下、この処理についてより詳細に説明
する。
【0178】ステップS350において、CPU4は、
トリプル内の第1のイメージペア間の変換がアフィンで
あり、第2のイメージペア間の変換もまたアフィンであ
る場合を考慮する。先行するステップS208(図2
1)において、CPU4は、そのトリプル内の第2のイ
メージペア間のアフィン変換を特定するアフィンfun
damental行列と、関連する3つの物理的変数を
計算した。前述したように、アフィンfundamen
tal行列から派生したこれら3つの物理的変数は、イ
メージのペア間のカメラの移動を完全に特定するもので
はない。ステップS350において、CPU4は前もっ
て計算された3つの物理的変数を用いて、各イメージペ
ア間におけるカメラの移動を完全に定義するために必要
なパラメータを計算する。
【0179】図29(a)及び29(b)は、カメラの
移動を完全に定義するために、ステップS350の計算
で必要なパラメータを表す図である。図29(a)は、
3つの異なる位置及び方向における、イメージがその上
に形成されるCCDイメージデバイス或いはフィルム5
0の配置を示し、トリプル中の第1、第2及び第3イメ
ージが撮られる位置と方向を表している。ライン52は
カメラ12の光軸を表す。光軸52は、第1位置から第
2位置へ移動するにおいて距離d1を移動し、第2位置
から第3位置へ移動するにおいて距離d2を移動する。
【0180】各イメージング位置におけるCCD50の
回転は、光軸52回りの回転と、イメージ平面に平行な
軸回りの回転に分解される。これは、「KvD分解」と
して知られるものであり、「Affine Analy
sis of ImageSequences」、L.
S.Shapiro著、Appendix D,Cam
bridge University Press,1
995,ISBN0−521−55063−7に記載さ
れている。光軸回りの回転は、サイクロトーション角度
(cyclotortion angle)として知ら
れるものであり、図29(a)においてθで示されてい
る。図29(a)に示される例において、CCD40
は、第1イメージのランドスケープ方向から第2イメー
ジのポートレート方向へθ1=90゜回転している。そ
して、さらに、θ2=−90゜回転して、第3のイメー
ジのランドスケープ方向へ戻る。
【0181】イメージ平面に平行な軸回りの回転は、軸
−角度公式により、2つの角度へ分解される。すなわ
ち、図29(b)に示されるφとρである。φはローテ
ーションの起こるイメージプレーン内の軸54を定義す
る。φは「軸角度」として知られている。ρは軸54回
りを通ってカメラが回転した角度を定義し、「ターン角
度」として知られている。
【0182】カメラ回転の3つの角度への変換は、各ト
リプルにおける第1及び第2イメージの間のカメラの変
換に適用され(これらの角度はθ1、φ1、ρ1とす
る)、また、第2及び第3イメージ間のカメラの変換に
適用される(これらの角度をθ2、φ2、ρ2とす
る)。
【0183】また、カメラの2つの変換がともにアフィ
ンであると考慮された場合、s=d2/d1として定義
されたスケールs、そして回転角度ρ1及びρ2はステ
ップS208とS210(図21)において計算された
アフィンfundamental行列では未定義で残さ
れ、ステップS350で計算されなければならない。
【0184】イメージのペア間のカメラ変換がパースペ
クティブ変換であるとき、ρ、d、θ、φの値はステッ
プS208もしくはS210(図21)で計算された回
転行列及び変換ベクトルにおいてすでに定義されてい
る。しかしながら、スケールは未知である。したがっ
て、CPU4がアフィン−パースペクティブケースを考
慮するときはステップS352においてスケールs及び
ρ1を計算することが必要であり、CPU4がパースペ
クティブ−アフィンケースを考慮するときはステップS
354においてスケールs及びρ2を計算することが必
要である。また、CPU4がパースペクティブ−パース
ペクティブの場合を考慮するときには、ステップS35
6においてスケールsのみを計算することが必要であ
る。
【0185】図30はステップS350、S352、S
354及びS356において、スケール、ρ1及びρ2
を計算するときに、CPU4によって実行される処理を
示す図である。
【0186】図30を参照すると、ステップS380に
おいて、CPU4はρ1、ρ2の次の値をとる。図31
の(a)〜(d)は、ステップS350からS356に
おける異なるケースにおいて、CPU4によって考慮さ
れるρ1とρ2の値を示す図である。
【0187】図31(a)は、ρ1及びρ2がともに既
知であるステップS350において考慮されるアフィン
−アフィンのケースのためのρ1及びρ2の値を示す図
である。ρ1及びρ2の64個の値が考慮され、10゜
〜45゜の間を5゜刻みで変化するρ1の8個の値と、
10゜〜45゜の間を5゜刻みで変化するρ2の8個の
値と、を比較する。ρ1とρ2の値について10゜〜4
5°の間が考慮されるのは、オブジェクト24の少なく
とも3つのイメージが撮影される場合に、連続的なイメ
ージの間において、ユーザがカメラ12をほとんどこの
範囲内で動かすからである。より広い、(或いは、より
狭い)値の範囲が考慮されてもよいことはいうまでもな
い。
【0188】図31(b)は、ステップS352におい
て考慮される、アフィン−パースペクティブケースのた
めのρ1、ρ2の値を示す図である。このケースにおい
て、第2カメラ変換がパースペクティブであるので、ρ
2が既知であり、それゆえ、ρ1のみの異なる値が考慮
される必要がある。再び、10゜〜45゜の間を5°刻
みで変化するρ1の8個の値が、既知のρ2の値のため
に考慮される。
【0189】図31(c)はステップS354において
考慮される、パースペクティブ−アフィンケースのため
に考慮されるρ1及びρ2の値を示す図である。第1の
カメラ変換がパースペクティブであるので、ρ1の値が
既知である。それゆえ、10゜〜45゜の間を5゜刻み
で変化するρ2の8個の値が、既知のρ1の値のために
考慮される。
【0190】図31(d)は、ステップS356におい
てパースペクティブ−パースペクティブケースにおいて
考慮されるρ1とρ2の値を示す図である。この場合、
2つのカメラ変換がパースペクティブであるので、ρ1
とρ2の両方の値が既知である。したがって、図示の如
く単一の値が考慮される。
【0191】再び、図30を参照すると、ステップS3
82において、CPU4は、ステップS380において
考慮されたρ1、ρ2の値に最もよくフィットするスケ
ールを計算する。
【0192】図32は、ステップS382において最良
のスケールを計算するときにCPU4によって実行され
る処理を示す図である。図32を参照すると、ステップ
S390において、CPU4はカウンタの値をゼロにセ
ットし、ステップS392においてカウンタの値を1つ
ずつインクリメントする。ステップS394において、
CPU4はマッチした次のトリプルポイントにおけるポ
イントの座標を読み取る。すなわち、ステップS218
(図22)において生成されたリストから、考慮されて
いる3個のイメージ全てにおいてマッチしたポイントの
座標を読み取る。ステップS396において、CPU4
は、ステップS208もしくはS210(図21)にお
いて前もって計算された適切なカメラ変換(アフィン或
いはパースペクティブ)を用いて、そのトリプル内のイ
メージの相対的構築(relatlve config
uration)を定義し、次いで、ステップS394
において読み出されたトリプルにおける各ポイントから
カメラの光学中心を通る光線(ray)(無限のライ
ン)を投射する(これは、カメラの焦点距離分だけ、イ
メージプレーンの中心から垂直方向に変位されたポイン
トである)。
【0193】図33はトリプル内の各ポイントから投射
される光線を示す図である。
【0194】ステップS208或いはS210において
計算されたカメラ変換における不正確さ、及びマッチし
たポイント自身における不正確さのゆえに、トリプル内
のポイントからの光線のいずれもが交差するということ
はまず起こらない。したがって、ステップS398にお
いて、CPU4は、第1のイメージと第2のイメージの
間のカメラ変換を計算する。この変換は、第2のイメー
ジからの光線を第1のイメージからの光線とポイント6
0のところで交差させる。この計算はCPU4によって
以下のように実行される。
【0195】a)もしも、sin(ρ1)×sin(φ
1)>0ならば、ρ1の符号がフリップ(反転)され
る。これは、イメージの順序付けの知識によってなされ
る。
【0196】b)回転行列Rが、角度(θ1、φ1、ρ
1)より以下の式を用いて定義される。
【0197】
【数10】
【0198】ここでIは恒等(identity)行列
である。
【0199】c)2つのイメージξ、ξ’におけるポイ
ント位置からの変換ベクトル、回転行列R及び2つの
イメージの間のマグニフィケーションにおける変化mは
等式を用いて以下のように定義される。
【0200】
【数11】
【0201】同様に、ステップS400において、CP
U4は、第2と第3イメージの間でカメラの変換を変更
し、第3イメージからの光線を第2イメージからの光線
とポイント62において交差させる。
【0202】ステップS402において、CPU4は、
第2のイメージのためのカメラ位置の光学的中心からポ
イント62までの距離d62とこの光学的中心からポイ
ント60までの距離d60との比を用いて、第1及び第
2カメラ位置の間の変換ベクトルの長さd1
initialと第2及び第3カメラ位置の間の変換ベ
クトルの長さd2initialを、以下のように調整
する。
【0203】
【数12】
【0204】図33を参照すると、上記のように計算さ
れた長さd1finalとd2finalは全3つのイ
メージからの光線を同一のポイント64でクロスさせる
変換ベクトルの長さである。そして、CPU4は、スケ
ールsを計算するためにその結果値を用いる。
【0205】
【数13】
【0206】ステップS404において、CPU4はス
テップS402において計算されたスケールをステップ
S218(図22)において生成されたリスト内のすべ
てのトリプルポイントに対してテストする。
【0207】図34は、すべてのトリプルポイントに対
してそのスケールをテストする際に、CPU4によって
実行される処理を示す図である。図34を参照すると、
ステップS420において、CPU4はカメラの相対的
な位置(図21のステップS208からS210におい
て決定されたものから、アフィン−アフィンであるか、
アフィン−パースペクティブであるか、パースペクティ
ブ−アフィンであるか、或いはパースペクティブ−パー
スペクティブのいずれが考慮されているかに依存した、
適切な変換によって定義される)を、ステップS402
(図32)において計算されたスケールを考慮に入れる
ために、3つのイメージ全てに関して調整する。これ
は、一般的な方法で実行される。例えば、座標系の原点
を、その第2ポジション(イメージ2)にあるカメラの
光学中心に固定し、x、y、z軸の配置をこの位置にお
けるカメラの方向によって与える(z軸はイメージ平面
に対して直角である)、そして以下の式を用いる。
【0208】
【数14】
【0209】ここでは添え字によって表されるイメー
ジ間の変換ベクトルであり、上記の式(17)によって
与えられ、Rは添え字によって表されるイメージ間の回
転を定義する回転行列であり、上記の式(13)によっ
て与えられる。
【0210】ステップS422において、CPU4は変
数Pをゼロにセットし、ステップS424において、ス
テップS218(図22)で生成したリストから、次の
マッチしたトリプルポイントを読み出す。ステップS4
26において、CPU4は、そのトリプルの第1イメー
ジ内にあるそのトリプルポイントから、第1位置にある
カメラの光学中心を通る光線と、そのトリプルの第3の
イメージ内に存在するトリプルポイントから第3位置に
あるカメラの光学中心を通る光線とを投射する。
【0211】図35はステップS426における光線の
投射を示す図である。
【0212】ステップS428において、CPU4は、
第1及び第3イメージから投射された光線の最も接近し
たアプローチラインに沿った中央ポイント68(図3
5)を計算する。この最も接近するアプローチラインは
図35に示されるように、第1イメージからの光線と第
3のイメージからの光線の両方に対して直角なラインで
ある。ステップS430において、CPU4はステップ
S428で計算された中央ポイントをそのトリプルの第
2イメージに投影する。すなわち、CPU4は中央ポイ
ント68を第2イメージに位置するカメラの光学中心を
通る光線で第2イメージと接続する。この結果、第2イ
メージ上にポイント70が生成される(図35)。
【0213】ステップS432において、CPU4は、
第2のイメージ内の投影されたポイント70と、ステッ
プS424において読み出されたトリプルポイントから
得られる第2のイメージ内の実際のポイント72との距
離“t”を計算する。ステップS434において、CP
U4は、設定された閾値(この実施形態においては3ピ
クセル)よりもステップS432で計算された距離の方
が小さいかどうかを判断する。第2のイメージにおいて
投影されたポイント70と実際のポイント72が互いに
近ければ近いほど、このトリプルポイントは、ステップ
S402(図32)で計算されたスケールのためのこの
値をサポートする。したがって、もしも距離が閾値より
も小さければ、計算されたスケールは十分に正確である
とみなされ、ステップS436において、CPU4は、
スケールが正確であるトリプルポイントの数を表す変数
Pをインクリメントする。このとき、考慮中のトリプル
ポイントに考慮中のスケールに対して正確である旨の注
釈を付加する。そして、トータルの距離エラーを(すな
わち、それまでに、ステップS432において計算され
た距離がステップS434において閾値よりも小さいと
みなされたすべてのポイントに対するエラー)ステップ
S432で計算された新しい距離で更新する。トータル
エラーは以下の式を用いて計算される。
【0214】
【数15】
【0215】ここで、eは、トリプル内のi番目のイ
メージにおける、投影されたポイント70と実際のポイ
ント72との距離である。この値は、符号無しとするた
めに二乗される。(それにより、その方向ではなく、投
影されたポイントと実際のポイントの間の距離の大きさ
(マグニチュード)だけが考慮されることを確実にす
る)。Pは、ポイントのトータル数である。そして、e
thはステップS434において比較のために用いられ
る距離の閾値である。
【0216】一方、ステップS434において、距離が
閾値より小さくない場合は、変数Pがインクリメントさ
れないように、ステップS436は省略される。
【0217】ステップS438において、CPU4は、
ステップS218(図22)において生成されたリスト
中に、別のトリプルポイントがあるかどうかを判断す
る。ステップS424からS438は、上述の処理がリ
スト内のすべてのトリプルポイントに対して実行される
まで繰り返される。この点において、変数Pの値は、計
算されたスケールが十分に正確であるトリプルポイント
のトータル数を示す。
【0218】再び図32を参照すると、上述した方法を
用いてステップS404においてスケールをテストした
後、CPU4は、ステップS406において、計算され
たスケールが現在格納されているいかなるものよりも正
確であるかどうかを判断する。これは、ステップS43
6で格納されたポイント数P及びトータルエラー(図3
4)を、それまでに格納された最良のスケールに対する
ポイント数及びトータルエラーと比較することでなされ
る。最も正確なスケールは、最も多くのポイント数を有
するものであるか、或いは、ポイントの数が同じであれ
ば、最も小さいトータルエラーを有するものである。も
しも新たに計算されたスケールがより正確ならば、それ
までの最も正確なスケール、ポイント数及びトータルエ
ラーに替えて、そのスケール、ポイント数P及びトータ
ルエラーがステップS408において格納される。そう
でなければ、以前の最も正確なスケール、ポイント数、
トータルエラーが維持される。
【0219】ステップS410において、CPU4は、
ステップS392においてインクリメントされたカウン
タの値が20より小さいかどうかを判断する。もしも小
さければ、ステップS412において、CPU4はステ
ップS218(図22)において格納されたリスト内の
別のトリプルポイントがあるかどうかを判断する。ステ
ップS392からS412は、20個のトリプルポイン
トがスケール(ステップS410で決定された)を計算
するのに用いられるまで、或いはもしもトリプルポイン
トの数が20よりも小さければステップS218(図2
2)において格納されたリスト内のすべてのトリプルポ
イントがスケール(ステップS412で決定された)を
計算するのに用いられた判定されるまで、繰り返され
る。この値20は、合理的な時間内にスケール計算のた
めの正確な結果を得るための、経験的に見出された値で
ある。
【0220】再び図30を参照すると、ステップS38
2において考慮下にあるρ1、ρ2の値のための最良の
スケールを計算した後、ステップS384において、C
PU4はその解が、すなわち、ρ1、ρ2、sの値が、
現在格納されている解よりもより正確であるかどうかを
判断する。こうして、CPU4は、ステップS380及
びステップS382で計算された最後の値ρ1、ρ2及
びsが、ステップS380及びS382でそれまでに計
算された値よりも正確なカメラ変換を生み出したかどう
かを判定する。これは、現在の最も正確な解のために格
納されたポイント数Pと、最も最近の解としてステップ
S408(図32)及びステップS436(図34)に
て格納されたポイント数とを比較することで行われる。
最も正確な解は、最も多くのポイント数を有するもので
あり、ポイント数が同じであれば最も小さいトータルエ
ラーを有するものである。もしも、新しい解が現在格納
されている解よりも正確であったならば、ステップS3
86において、CPU4は現在格納された解を新しいも
のに置き換える。一方、もしも現在格納されている解の
方がより正確であったならば、それは維持される。
【0221】ステップS388において、CPU4は、
考慮するべきさらなるρ1、ρ2の値があるかどうかを
判断し、ステップS380〜S388が、すべてのρ1
及びρ2の値が上述のように処理されるまで繰り返され
る。再び、図31を参照すると、図31(a)より、ス
テップS350(図28)においてアフィン−アフィン
ケースのためにステップS380〜S388が64回繰
り返されることがわかるであろう。また、図31(b)
及び図31(c)から、ステップS352(図28)に
おいてアフィン−パースペクティブケースのためにステ
ップS380〜S388が8回繰り返され、ステップS
354(図28)においてパースペクティブ−アフィン
ケースのためにステップS380〜S388が8回繰り
返される。また、ステップS356(図28)における
パースペクティブ−パースペクティブ計算のケースにつ
いてはステップS380〜S388は1回だけ行われ
る。図31(d)に示されるように、ρ1、ρ2のただ
ひとつの値がステップS380において考慮されるのに
有効だからである。
【0222】再び図28を参照すると、ステップS35
0におけるアフィン−アフィンケースのためのカメラ変
換、ステップS352におけるアフィン−パースペクテ
ィブケースのためのカメラ変換、ステップS354にお
けるパースペクティブ−アフィンケースのためのカメラ
変換、そしてステップS356におけるパースペクティ
ブ−パースペクティブケースのためのカメラ変換のそれ
ぞれの解を計算すると、ステップS358において、C
PU4はこれら4つの解から最も正確なものを選択す
る。これもまた、各解について格納されたトータルのポ
イント数Pを考慮してなされる(図30のステップS3
86、図32のステップS408及び図34のステップ
S436)。最も正確な解は最も多くのポイント数を有
する(なぜなら、この数は、トリプル内の解が正確なポ
イントの数だからである)。もしも解が同数のポイント
を有するならば、次に各解のトータルエラーが考慮さ
れ、最も小さいエラーの解が最も正確なものとして選択
される。
【0223】ステップS360において、CPU4は、
最も正確な解のポイントの数Pが4よりも小さいかどう
かを判定する。これは、図7のステップS58及びS6
8において、計算されたカメラ変換が十分に正確かどう
かを判断するためにCPU4が実行する方法である。も
しもポイント数Pが4より小さいならば、CPU4は、
ステップS362において、計算されたカメラ変換が十
分に正確ではないと判断する。一方、ポイント数が4以
上であったならば、CPU4は計算されたカメラ変換が
十分に正確であると判断し、処理はステップS364へ
進む。ステップS364において、CPU4は、最も正
確な解のポイント数Pが、ステップS218(図22)
において格納されたリスト内のトリプルポイントの総数
の80%よりも大きいかどうかを判断する。もしもポイ
ント数が80%よりも大きいならば、CPU4は、計算
されたカメラ変換をそれ以上に正確にするために処理す
る必要はないと判断する。なぜなら、それらは、すでに
十分に正確なものとなっているからである。したがっ
て、処理はステップS370へ進み、ここで、CPU4
は、解をフルのカメラ回転及び移動行列(full c
amera rotation and transl
atin matrices)に変換し、そのトリプル
内の3つのイメージの相対的位置を定義する(スケール
とρ値を含む)。
【0224】もしも、ステップS364において、ポイ
ントの数Pが80%よりも小さいと判断されたならば、
ステップS366においてCPU4は、最も正確な解
が、パースペクティブ−パースペクティブケースのため
に計算された解であるかどうかを判断する。もしもそう
ならば、CPU4は、その解はそれ以上に最適化される
べきではないと判断する。したがって、この場合も処理
はステップS370へ進み、解は、フルのカメラ回転及
び移動行列に変換される。尚、パースペクティブ−パー
スペクティブケースのための解は最適化されない。これ
は、ρ値がすでに十分に正確であると考えられるからで
ある(図24のステップS240でCPU4によって計
算されたfundamental行列において定義され
る)。一方、最も正確な解がパースペクティブ−パース
ペクティブケースに対応するものでなければ、ステップ
S368において、CPU4は一般的な最適化手法を用
いて、以下の関数、f(ρ)を最小化する。ここで用い
られる手法としては、例えば、「Numerical
Recipes in”C”」、W.H.Press,
S.A.Teukolsky,W.T.Vetterl
ing,及びB.P.Flannery著,1992,
412−420頁,ISBN 0−521−43108
−5に記載されているパウエルの最適化手法(Powe
ll’s method for optimisat
ion)が用いられ得る。
【0225】
【数16】
【0226】ここで、関数は、図30のステップS38
0、S382及びS386と同じステップを用いて評価
される。Pはその解のために格納されたポイントの数で
ある(図30のステップS386、図32のステップS
408及び図34のステップS436)、そして、マイ
ナス符号はPが最大化されることを表し、“erro
r”はステップS436(図34)で格納された解のト
ータルエラーであり、プラス符号はこれが最小化される
ことを示している。
【0227】ステップS370において、CPU4はス
テップS368にて計算された最適化された解(もしく
は、もしもポイントの数が80%より多ければ、或いは
もしも解がパースペクティブ−パースペクティブケース
に対応する解であった場合には、改良されない解)をフ
ルのカメラ回転行列と変換ベクトルに変換する。
【0228】図20に関して、上述したように、CPU
4は、そのトリプルにおける第1のイメージがイメージ
の順序における第1のイメージではないならば、そのト
リプルのイメージに対するカメラ変換の計算を異なるル
ートで実行する(図20のステップS204)。
【0229】図36は、そのような場合においてカメラ
変換を計算する際の、ステップS207(図20)にお
いてCPU4によって実行される処理の、トップレベル
を示す図である。
【0230】トリプルにおける第1のイメージがその順
序における第1のイメージではない場合、そのトリプル
における第1のイメージペアに関してカメラ変換を計算
する必要はない。そのイメージペアがそれに先行するイ
メージトリプルに関連して先に考慮されたときに、すで
に計算されてしまっているからである。(そのペアは、
先行するトリプルの第2のイメージペアを形成してい
る。)。
【0231】図36を参照すると、ステップS450に
おいて、CPU4はそのトリプルの第1のイメージペア
に対して存在するパラメータを読み出し、そのトリプル
の新たなイメージペア(第2のイメージペア)のための
パラメータをセットアップする。
【0232】図37は、ステップS450においてCP
U4によって実行される処理を示す図である。図37を
参照すると、ステップS460において、CPU4は、
図21のステップS212において以前に計算されたト
リプルの第1のイメージペアに対するカメラ解を読み出
す。ステップS462において、CPU4は、図7のス
テップS54、S60、S64或いはS72において特
定されたトリプル内の第2のイメージペアに対するマッ
チしたポイントペアを読み出す。ステップS464にお
いて、CPU4は図7のステップS60もしくはステッ
プS72でユーザによって、第2のイメージペアにおい
てマッチさせられたポイントペア(ユーザ特定されたポ
イントペア)のリストと、図7のステップS54もしく
はS64において、第1と第2イメージにおいてマッチ
するべく計算されたポイントペアとユーザ特定されたポ
イントとを備えるポイントペアのリストと(CPU4
は、図22のステップS218に関して上述した方法で
このリストから同じポイントを除去する)、トリプルポ
イントのリスト、すなわち、イメージトリプルにおける
3つのイメージ全てにわたってマッチしたポイントのリ
ストとを生成する。(なお、ステップS54もしくはス
テップS64は、そのトリプルの第3のイメージにおけ
るポイントを、そのトリプルの第2のイメージにおけ
る、以前にそのトリプルの第1のイメージ内のポイント
と図7のステップS74における制約的特徴マッチング
によってマッチされたポイントにマッチさせてもよい。
この場合、制約的特徴マッチングによって特定されたポ
イントは、トリプルポイントの一部を形成し、もし選択
されれば、ステップS404及び恐らくステップS39
4においてカメラ位置を計算するのに用いられる。)図
22におけるステップS218に関して上述したよう
に、ユーザ特定されたポイントの数は、アフィン初期特
徴マッチングが実行されなかったのならば、ゼロであろ
う。
【0233】ステップS466において、CPU4はス
テップS464及びステップS468において生成され
たリストにおけるポイントを正規化し、2つの測度行列
をセットアップする。ひとつは、ユーザ特定されたポイ
ントのリストのためのものであり、もうひとつはユーザ
特定及び計算されたポイントのリストのためのものであ
る。これらのステップは、上述した図22のステップS
220及びS222と同じ方法で実行される。したがっ
て、ここでは説明を省略する。ステップS470におい
て、CPU4は、そのトリプルにおける第2のイメージ
ペアに対するパースペクティブ及びアフィン計算を実行
する際の実行されるべき繰り返し回数を決定する。これ
は、上述の図22のステップS224と同じ方法で実行
される。したがって、ここでは繰り返し説明は行わな
い。
【0234】再び図36を参照すると、ステップS45
0において必要なパラメータのセットアップを行うと、
ステップS452において、CPU4はそのトリプル内
の第2のイメージペアに関してカメラ変換を計算し、そ
の結果を格納する。これは、上述した図21のステップ
S208及びS210と同じ方法で実行される。したが
ってここでは繰り返し説明しない。
【0235】ステップS454において、CPU4は、
そのトリプル内のすべての3つのイメージの間のカメラ
変換を計算するために、ステップS460(図37)で
読み出された第1のイメージペアのためのカメラ解を、
そのトリプル内の第2イメージペアに関してステップS
452で計算されたカメラ変換とともに用いる。
【0236】図38は、図36のステップS454にお
けるトリプル内の3つのイメージ間のカメラ変換を計算
するときの、CPU4によって実行される処理を示す図
である。これらの処理は、位置順序における最初の3つ
のイメージの間のカメラ変換を計算するときの、ステッ
プS212(図21)で実行された処理、そして図28
に関して上述した処理に非常に類似している。上述した
ように、そのトリプルの第1のイメージペアに対するカ
メラ間の関係は、先行するトリプルに関する計算によっ
て既知となっている。したがって、第2のイメージペア
のみの間の変換を考慮する。ステップS472におい
て、CPU4は第2のイメージペアの間の変換がアフィ
ンである場合を考慮する。これは、第1のイメージペア
に関するカメラ解(図36のステップS450において
読み出される)を、ステップS452(図36)におい
て第2のイメージペアのために計算された最も正確なア
フィンfundamental行列とともに考慮するこ
とにより、そして、図28のステップS354に関して
上述したのと同じ処理を用いてスケールs及びρ2を計
算することによりなされる。
【0237】ステップS474において、CPU4は第
2のイメージペア間の変換がパースペクティブである場
合を考慮する。CPU4は、ステップS460(図3
7)において読み出されたカメラの第1のペアのための
計算を、ステップS452(図36)で得られた第2の
イメージペアのためのカメラの正確な回転行列と変換ベ
クトルとともに用いて、ステップS356(図28)と
同じ処理を用いてスケールを計算する。ステップS47
6からS488において、CPU4は、上述した図28
のステップS358からS370で実行されたものと同
じ処理を実行する。すなわち、CPU4は、ステップS
472で計算されたものと、ステップS474で計算さ
れたものから最も正確な解を選択し、それが十分に正確
かどうかを判断し、必要ならばステップS486にて最
適化する(それは、図28のステップS368に対応す
る)。(ただし、ステップS484において解が*−パ
ースペクティブの場合に対応すると判断され場合は、ρ
は最適化されているので、解は最適化されない。そし
て、第2のイメージペアに対するパースペクティブ変換
において、ρは、常に、十分に正確である。それは、計
算されたfundamental行列において定義され
るからである。そして、第1のイメージペアに対するρ
の値は、変換がパースペクティブである場合にはfun
damental行列において定義され、変換がアフィ
ンである場合には、図28のステップS368において
すでに最適化されている)。
【0238】再び図7において、ステップS74にてイ
メージのトリプルのための制約的特徴マッチングをCP
U4が実行する方法について説明する。
【0239】図39は、制約的特徴マッチングを実行す
る場合のCPU4によって実行される処理のトップレベ
ルを示す図である。
【0240】図39を参照すると、ステップS500に
おいて、CPU4はそのトリプル内の第1のイメージペ
アにおける「ダブル」ポイントを考慮する。ダブルポイ
ントは、すなわち、ステップS52、S54、S60、
S62、S64、S72或いはS74において、第1の
イメージペアの間でマッチするが(ステップS54、S
64およびS74は、先行するイメージトリプルについ
て実行されていれば、適用可能である)、当該トリプル
内の第2及び第3のイメージの間ではマッチしないポイ
ントである。そのような「ダブル」ポイントの各ペアに
対して、CPU4は、第3のイメージにおける対応する
ポイントを特定することを試みる。もしそれが成功した
場合、トリプルのポイント(すなわち、3つのイメージ
のすべてにわたってマッチするポイント)が生成され
る。
【0241】同様に、ステップS502において、CP
U4は、現在のトリプルの第2及び第3イメージにおけ
る「ダブル」ポイント(すなわち、図7のステップS5
4、S60、S64もしくはS72において第2のイメ
ージペアにわたってマッチするが、当該トリプルの第1
のイメージペアにわたってはマッチしていないポイン
ト)を考慮する。そして、新しいトリプルのポイントを
生成するために、第1のイメージにおける対応するポイ
ントを特定することを試みる。
【0242】図40は、図39のステップS500及び
ステップS502においてCPU4により実行される処
理を示す図である。図40を参照すると、ステップS5
04において、CPU4は、そのペアの他のイメージ
(ステップS500を実行するときの第1のイメージ、
もしくはステップS502を実行するときの第3のイメ
ージ)とダブルポイントを形成するトリプルの第2のイ
メージ(中央)における次のポイントを考慮する。そし
て、図7のステップS56もしくはステップS66で計
算されたカメラ変換を用いて、そのトリプルの残りのイ
メージ(ステップS500を実行する際は第3のイメー
ジであり、ステップS502を実行する際は第1イメー
ジである)内の対応する位置におけるポイントを特定す
る。
【0243】ステップS506において、CPU4は、
第2イメージ内のポイントと、その残りのイメージ内に
特定されたポイントのx方向の両側の設定されたピクセ
ル数(本実施形態では、2ピクセル)の範囲内、および
特定されたポイントのy方向の両側の設定されたピクセ
ル数(本実施形態では、2ピクセル)の範囲内に存在す
るピクセルとの間の類似性測度を計算する。こうして、
そのトリプルの残りのイメージ内の5ピクセル×5ピク
セルの矩形内のポイントが考慮される。CPU4は、適
応化最小二乗相関テクニック(adaptive le
ast squares correlation t
echnique)を用いて相似性測度を計算する。こ
こで、例えば、「Adaptive LeastSqu
aresCorrelation:A Powerfu
l Image Matching Techniqu
e」、A.W.Gruen著、Photogramme
try Remote Sensing and Ca
rtography、1985、175−187頁に記
載されているテクニックを、最良のマッチポイントを特
定するのに用いることができる。
【0244】ステップS510において、CPU4は、
ステップS506において特定された最良のマッチポイ
ントの相似性測度が閾値(本実施形態では0.7)より
大きいかどうかを判断する。もしも相似性測度が閾値よ
りも大きければ、CPU4は第2イメージにおけるポイ
ントとそのトリプルの残りのイメージにおけるポイント
との間の類似性が、そのポイントがマッチングポイント
であるとみなすのに十分に高いと判断し、ステップS5
12において、ダブルポイントと、そのイメージのトリ
プルの残りのイメージにおいて特定された新しいポイン
トとからトリプルポイントを形成する。一方、CPU4
がステップS510において類似性測度が閾値以下であ
ると判断した場合、考慮中のダブルポイントに関しての
トリプルポイントを形成しないよう、ステップS512
が省略される。
【0245】ステップS514において、CPU4は、
考慮中のイメージペアにおいて別のダブルポイントがあ
るかどうかを判断する。ステップS504〜S514
は、考慮中のイメージペアに関してすべてのダブルポイ
ントが上述の方法で処理されるまで繰り返される。
【0246】図7のステップS74における制約的特徴
マッチングを実行するにおいて、CPU4がそのイメー
ジトリプルの第2及び第3のイメージにおけるポイント
間の新しいマッチング(図39のステップS500)、
そして、そのトリプルの第1のイメージペアにおけるポ
イント間の新しいマッチング(図39のステップS50
2)を生成することは歓迎すべきことである。これらの
新しいマッチングは、図3のステップS10において、
CPU4が3次元データを生成するのに用いられる。こ
の点は後述する。加えて、図7を参照すると、トリプル
内の第2のイメージペアにおけるポイント間について生
成された新しいマッチングは、次のイメージトリプルの
ために引き続き行われる初期特徴マッチングにおいて考
慮される。これは、前述したように、トリプル内の第2
のイメージペアに対する新しいマッチングを特定するた
めにステップS74において制約的特徴マッチングが実
行される場合、このイメージペアは、考慮される次のイ
メージトリプルにおける第1のイメージペアになる。そ
して、ステップS54で実行された初期自動的特徴マッ
チングとステップS64で実行された初期アフィン特徴
マッチングの両方は、そのトリプルの第2のイメージペ
アにわたって、以前に第1のイメージペアにわたってマ
ッチしたポイントをマッチさせることを試みる。制約的
特徴マッチング(図39のステップS502)の間に計
算された第1のイメージペア内のポイント間の新しいマ
ッチングは、次のイメージトリプルの初期特徴マッチン
グを実行する際には考慮されないが、これらの新しいマ
ッチングは、CPU4が図3のステップS10において
3次元データを生成する際に考慮される。この処理は後
述する。その順序における最終の3つのイメージに対し
て、図7のステップS74において制約的特徴マッチン
グが実行されるとき、これに続く考慮されるべきイメー
ジトリプルは存在しない。従って、そのトリプルにおけ
る第2のイメージペアにわたって生成される新しいマッ
チングは、初期特徴マッチングの間は考慮されない(こ
の処理は再び実行されないからである)。しかしなが
ら、これらの新しいマッチングは、図3におけるステッ
プS10で3Dデータを生成するときに考慮されること
になる。
【0247】図3を再び参照すると、初期特徴マッチン
グ(ステップS4)、カメラ変換の計算(ステップS
6)、そして上述した方法で制約的特徴マッチングを実
行(ステップS8)した後、CPU4はステップS10
において、それらの結果を用いて3Dデータを生成す
る。この処理の目的は、オブジェクト24の表面上のポ
イントを表すために正しく配置された3次元空間におけ
るポイントの単一の集合を生成する。
【0248】図41は、図3のステップS10において
3Dデータを生成するときの、CPU4によって実行さ
れる処理を示す図である。図41を参照すると、ステッ
プS520において、CPU4は、当該シーケンスにお
ける順番に、各イメージペアを考慮する(図2及び図5
の例においては、L1L3、L3L2、L2L4及びL
4L5のペア)。そして、ユーザ特定された「ダブル」
ポイント(すなわち、図7のステップS60またはS7
2において、イメージペア間でユーザによってマッチさ
れたポイントペアであって、そのイメージペアの直前或
いは直後のイメージにおけるポイントとはマッチしない
もの)、もしくは後続のイメージのトリプルポイントの
部分(すなわち、そのペア内のイメージ間及び位置的順
序においてそのペアの第2のイメージとこれに続くイメ
ージとの間でユーザもしくはCPU4によってマッチさ
れたポイント)のいずれかを形成するペア内のポイント
を投影し、そのようなポイントの各ペアから3D空間に
おける単一のポイントを計算する。ステップS520に
おいて、CPU4は次の(i)〜(iii)のマッチし
たポイントペアのみを考慮する。すなわち、(i)図3
のステップS6においてこの変換が計算されたときに、
計算されたカメラ変換で十分に正確であるとみなされた
ポイントペア、(ii)ステップS8において制約的特
徴マッチングが実行されたときに新たなマッチングポイ
ントとして特定されたポイントペア、(iii)図3の
ステップS6における制約的特徴マッチングの間にペア
からトリプルへ拡張された、その元のポイントペアを形
成したポイントペアである。このように、ステップS5
20においては、計算されたカメラ変換に関して十分に
正確であるとみなされなかった初期特徴マッチングの間
にマッチしたポイントはCPU4によって考慮されない
(それらが、制約的特徴マッチングによって、その後
に、トリプルへ拡張されない限り)。
【0249】図42は、ステップS520において3D
ポイントを計算するときにCPU4によって実行される
処理を示す。図42を参照すると、ステップS530に
おいて、CPU4はその順序における次のペアを考慮す
る(ステップS530が最初に実行されるときは第1の
ペアとなる)。ステップS532において、CPU4
は、ステップS530において考慮されたイメージペア
における、次の、ポイントペアの各ポイントから、その
ポイントに対するカメラの光学的中心を通る3次元空間
内のラインを投射する。なお、ここで、ラインが投射さ
れる各ポイントとは、ユーザ特定されたダブルポイント
よりのポイント、或いはトリプルポイントよりのポイン
トである。これは、図35で示したものと類似の光線を
生成する。ただし、図35においては、イメージがペア
で考慮されるので、光線が隣接するイメージから投射さ
れるという点が異なっている。
【0250】ステップS534において、CPU4は、
ステップS532において投射された両ラインを接続
し、かつ両ラインに直角である線分の中点を計算する
(この中点は、図35において示されるポイント68に
対応し、オブジェクト24の表面上の物理的ポイントを
表す)。ステップS536において、CPU4は、対応
するポイントがその順序における次のイメージにおいて
マッチしているかを判断する。すなわち、ステップS5
32において光線の投射元のポイントが、続くイメージ
にてトリプルポイントの部分を形成するかどうかを判断
する。もしも、対応するポイントが次のイメージにおい
てマッチすると判断されたならば、CPU4は次のイメ
ージにおけるマッチしたポイントからラインを投射す
る。これは、ステップS532においてポイントからラ
インを投射したのと同じ方法で行われる。ステップS5
40において、CPU4は、ステップS538で投射さ
れた新しいラインと、以前のステップS532でそのポ
イントから投射されたラインとを接続するとともにそれ
らに直角である線分の中点を計算する。これは、ステッ
プS540において中点が計算されたのと同じ方法で行
われる。
【0251】ステップS542において、CPU4は、
その順序の次のイメージにおいて対応するポイントがマ
ッチしたかどうか判断する。ステップS538からS5
42は、その順序における次のイメージが対応するマッ
チポイントを含まなくなるか、その順序におけるすべて
のイメージが処理されるまで、繰り返される。
【0252】例として、図2及び図5で示したような、
5つのイメージを含むイメージシーケンスを参照する。
ステップS532及びS534は、第1のイメージにお
けるポイント及び第2のイメージにおけるマッチしたポ
イントから光線を投射し、単一の3次元ポイントを計算
する(ステップS534における中点)。それは、第1
のイメージにおけるポイントと第2のイメージにおける
ポイントの投影を表す。こうして、オブジェクト24の
表面上の物理的ポイントを表す3次元空間内の単一のポ
イントが、その順序における隣接したイメージ間のポイ
ントペアから得られる。その順序における第3のイメー
ジが、第1及び第2イメージにおけるそれらのポイント
にマッチするポイントを含んでいる場合(ステップS5
36において決定される)、ステップS358及びS5
40は第3のイメージにおけるそのポイントからライン
を投射し、第2のイメージにおけるポイントからのライ
ンと第3のイメージにおけるポイントからのラインを接
続しそれらに直角な線分の中点を計算する。この中点は
第2イメージ及び第3イメージにおけるポイントの投射
からの結果である3Dポイントを表わす。同様に、その
順序における第4のイメージが第3のイメージにおける
ポイントとマッチするポイントを有する場合(ステップ
S542において決定される)、第4のイメージにおけ
るポイントからのラインを投射し、第4のイメージから
のラインと第3のイメージからのラインを接続しそれら
に直角名な分の中点を計算するために、ステップS53
8とS540が繰り返される。そのシーケンスにおける
第4及び第5のイメージからのポイントの投射を表すさ
らなる3Dポイントは、ステップS542において対応
するポイントがその順番における第5のイメージにおい
てマッチしたと判断された場合に、ステップS538と
S540を実行することによって得られる。こうして、
ポイントがその順番における5つのイメージの全てにお
いてマッチしたならば、4つの3Dポイントが生成され
る(これはオブジェクト24の同じ物理的ポイントを表
す)。これらの3D位置は、計算されたカメラ変換にお
けるエラーにより、及びそれらマッチング自体のエラー
により、正確に一致することはまずない。代わりに、図
43に示されるように、それらのポイントは3D空間に
おいて群80を形成する。
【0253】再び、図42を参照すると、ステップS5
44において、CPU4は、現在のイメージペアにおい
て、まだ考慮されていない、そのイメージペアにわたっ
てユーザ特定された「ダブル」ポイントを形成するポイ
ント、或いは後続のイメージとともにトリプルポイント
の一部をなすポイントがあるかどうかを判断する。ステ
ップS532からS544はそのようなポイントのすべ
てが考慮されるまで繰り返される。そのようなポイント
ペアの各々は、ステップS536で対応するポイントが
次のイメージにおいてマッチしないと判断された場合の
3D空間における単一のポイント82(図43)、もし
くは、対応するポイントが少なくとも次のイメージにお
いてマッチする場合のポイント群、のいずれかを生成す
る。もしもポイントがその順序における連続する3つの
イメージにわたってマッチするならばクラスタは2つの
ポイントを含み、もしもそれがその順序における連続す
る4つのイメージにわたってマッチするならばそれは3
つのポイントを含み、上述のようにその順序において5
つのイメージにわたってマッチするなら、クラスタは図
43の群80において示されるように4つのポイントを
備える。
【0254】ステップS546において、CPU4はそ
の順序において別のペアがあるかどうかを考慮する。ス
テップS532からS546は、その順序におけるすべ
てのイメージペアが上述のごとく処理されるまで繰り返
される。結果は、図43に示されるように、単一の3D
ポイントであるべきものに対応する各群のポイントとと
もに、3次元空間における複数のポイント群となる(こ
れはオブジェクト24の表面上の点を表す)。
【0255】図41を再び考慮すると、ステップS52
2において、CPU4はステップS520で計算された
3Dポイントを用いて、各カメラに対して前もって計算
された変換におけるエラーを計算し、不正確な3Dポイ
ントを特定し、破棄する。
【0256】図44A、Bは、図41のステップS52
2でCPU4により実行される処理を示す。図44A、
Bを参照すると、ステップS550で、CPU4はステ
ップS520(図41)で計算された3次元空間の全ポ
イントを考慮し、x座標の標準偏差Δxと、y座標の標
準偏差Δyと、z座標の標準偏差Δzを計算する。ステ
ップS552において、CPU4は3次元空間のポイン
トで作られたオブジェクトのサイズ(size)を以下
の式を用いて計算する。
【0257】
【数17】
【0258】ステップS554からS562において、
CPU4は、与えられたイメージペアより生成された3
次元空間内の不正確なポイントを特定し、これを破棄す
る。ステップS5464からS568において、CPU
4は残りのポイント、すなわち不正確なポイントが破棄
された後に残ったポイントを用いて、後続のカメラポジ
ションのペアについてカメラエラーを計算する。
【0259】ステップS554において、CPU4は、
次のカメラポジションのペアを考慮し(そのステップが
最初に実行されるときは、第1のカメラポジションが考
慮される)、ステップS520で計算された、後続のイ
メージとでトリプルポイントとなる部分を起源とする3
次元座標系の次のポイントを考慮し、この3Dポイント
とステップS520(図41)で前もって後続のカメラ
ポジションペアのために計算された3D空間内の対応ポ
イントとの間のベクトルシフトを計算する。これは図4
5Aに示されている。図45Aを参照すると、3次元空
間におけるポイント群90は、ステップS520(図4
1)で計算された4つのポイントを備える。それらポイ
ントは、上述のように、実際のオブジェクト24の表面
上の単一のポイントに対応する。#1とラベルされてい
るポイント92はステップS534(図42)でカメラ
ポジション(イメージ)の第1のペアから生成されたポ
イントであり、#2とラベルされているポイント96は
ステップS540(図42)でカメラポジション(イメ
ージ)の第2のペアから生成されたポイントである。同
様に、#3のポイントは、ステップS540でカメラポ
ジションの第3のペアから生成されたポイントであり、
#4のポイントは、ステップS540でカメラポジショ
ンの第4のペアから生成されたポイントである。これら
のポイントの各々は、図45Aにおいてドットで表され
ている。第1のカメラポジションペアに関するポイント
92と後続のカメラポジションペア(第2のペア)のた
めに前もって計算された対応ポイント96との間の、ス
テップS554で計算されたシフトが図45Aに示され
ている。このシフトは、第2のカメラポジションのペア
における、このポイントペアのエラーを表し、従って、
“SHIFT2”とラベル付けられている。カメラポジ
ションの第3のペアに関するエラー(SHIFT3)、
及び、カメラポジションの第4のペアに関するエラー
(SHIFT4)、これらはステップS554でカメラ
ポジションの後続のペアが考慮されるときに計算される
ことになるが、これらもまたポイント群を表す図45A
において示されている。
【0260】再び図44Aを参照すると、ステップS5
58において、CPU4はステップS554で計算され
たシフトのマグニチュードが、ステップS552で計算
されたオブジェクトサイズの10%よりも大きいかどう
かを判断する。もしそうならば、現在のカメラポジショ
ンペアに関して考慮中のポイントと、後続のカメラポジ
ションペアに関する対応ポイントが不正確であるとみな
され、従って、ステップS560で破棄される。図45
Aを再び参照すると、ステップS558(図44)で、
SHIFT2のマグニチュードがオブジェクトサイズの
10%よりも大きいと判断されると、ポイント92、9
6は破棄される。一方、ステップS558においてその
シフトのマグニチュードがオブジェクトサイズの10%
以下であると判断されると、ポイントは十分に正確であ
ると判断され、従ってそれらのポイントは維持される。
上述したように3Dポイントは、計算されたカメラ変換
について正確とみなされなかったポイントのペアからス
テップS520(図41)で生成されることはないが、
3DポイントはステップS520で制約的特徴マッチン
グの間に特定された新しいマッチングから生成される。
従って、図44のステップS554からS560で、C
PU4によって実行される処理は、制約的特徴マッチン
グがテストされている間に特定される新しいマッチング
から生成される3Dポイントの正確さを確実にする(よ
って、新しいマッチング自体がテストされる)。
【0261】図44Aを再び参照すると、ステップS5
62において、CPU4は、ステップS520(図4
1)にて、後続のイメージとともにトリプルの一部を形
成したポイントを起点とするカメラポジションの現在の
ペアに関して、計算された3次元空間における別のポイ
ントがあるかどうかを判断する。ステップS554から
S562は、そのようなすべてのポイントが上述のよう
に処理されるまで繰り返される。図45Bは、この処理
がカメラポジションの第1ペアについて完了したときの
状態を表している。各ポイント群について、第1のイメ
ージペアにおけるポイントから生成された3Dポイント
と後続のイメージペアにおけるポイントを用いて生成さ
れた対応ポイントとの間のシフトが計算される。もし
も、シフトが、オブジェクトサイズの10%よりも大き
ければ、カメラポジションの現在(第1)のペアに対す
るポイントとカメラポジションの後続(第2)のペアに
対するポイントは破棄される。図45Bから、3次元空
間における単一ポイントについて、シフト、すなわち、
群の部分を形成しないポイント、は計算されない。これ
は、これらのポイントはステップS520(図41)に
おいて2つの連続するイメージのみにわたってマッチす
るポイントペアから派生し、従って、シーケンスの連続
するイメージにおいてマッチした対応ポイントから派生
した3次元空間におけるポイントは存在しないので、シ
フトを計算することは可能ではない。
【0262】再び図44Aを参照すると、ステップS5
64において、CPU4は、カメラポジションの現在の
ペアのためのポイントと後続のカメラポジションペアの
ためのポイントとの間の全シフトの正味(net)を計
算する(オブジェクトの10%より大きいシフト(ステ
ップS558で決定される)は考慮されない)。これ
は、カメラポジションの後続のペアに対するエラー回転
行列とエラー変換ベクトルを与える。シフトの正味は、
一般的な方法で計算される。その方法は例えば、「Cl
osed−Form Solution of Abs
olute Orientation using U
nit Quaternions」、B.K.P.Ho
rn in Journal of the Opti
cal Society of America,4
(4):629−649,Apr.1987、に記載さ
れたquaternionsのホルンの方法を用いるこ
とができる。要約すると、後続のカメラポジションペア
に対するポイントを現在のカメラポジションペアの対応
ポイントに最も正確にマップするための回転行列R、変
換ベクトルが計算される。もし、Pを現在のカメラ
ポジションペアのポイントとし、Pを次のカメラポジ
ションペアの対応ポイントとし、P’がPの再マッ
プされたものであるとすれば、以下の式が成立する。
【0263】
【数18】
【0264】合計は内積(dot product)で
ある、(P’−P・(P’−P)のモジュ
ール(module)の全共通ポイントにわたって最小
化される。
【0265】ステップS566において、CPU4は、
ステップS564で計算されたエラー回転行列とエラー
変換ベクトルを、後続のカメラポジションペア(図45
Bの#2)について前もって計算された各ポイントに適
用する。前に計算された各ポイントに対し、これは、正
しいポイント(上述の式(32)によって与えられるP
’)を与える。このポイントは、図46に示されるよ
うに、現在のカメラポジションペアに対するポイントの
より近くに位置する。なお、図46では、カメラポジシ
ョンの現在のペアに対するポイントが、前のようにドッ
トであらわされ、カメラポジションの後続のペアについ
ての修正されたポイントがクロスによって表されてい
る。
【0266】ステップS568において、CPU4は、
ステップS566で計算された各修正された3Dポイン
トの座標と、その対応ポイントとの間の差を計算し、そ
して、その結果である差の共分散行列(co−vari
ance matrix)を計算する。これは、一般的
な数学的テクニックを用いて実行される。結果としての
共分散行列は、3次元におけるガウス分布(Gauss
ian distribution)を備える。ガウス
分布は、ステップS564で計算されたエラー変換のた
めの3次元のエラー楕円(errorellipsoi
d)を表す。こうして、ステップS564からS568
において、CPU4は、後続のカメラポジションペアの
ためのエラー変換と、エラー変換に関連するエラー(エ
ラー楕円)を計算する。
【0267】ステップS570において、CPU4は、
まだ考慮されていないカメラポジションペアがあるかど
うかを判断する。ステップS554からS570は、す
べてのカメラポジションペアについてのデータが上述し
た方法で処理されるまで繰り返される。
【0268】その順序におけるカメラポジションの第1
のペアに関して、ステップS564でエラー変換が計算
されないのは歓迎すべきことである。このカメラポジシ
ョンペアはゼロのエラーを有すると仮定される。また、
与えられたカメラポジションペアのためのエラー変換
が、前のカメラポジションペアに関連して起算されるこ
とも歓迎すべきことである。こうして、第2のカメラポ
ジションペア(すなわち、その順序における第2と第3
のイメージを生成する位置)のためのカラー変換は、累
積エラー(cumulative error)を含ま
ない。第1のカメラポジションペアに対するエラーがゼ
ロと仮定されるからである。一方、後続のカメラポジシ
ョンペアの各々に対するエラー変換は、累積エラーを含
む。例えば、第3のカメラポジションペア(すなわち、
その順序における第3と第4のイメージを生成する位
置)のためのエラー変換は、第2のカメラポジションペ
アのエラー変換に関連して計算される。従って、第3の
カメラポジションペアのためのトータルの累積エラーを
与えるために、第3のカメラポジションペアのための計
算されたエラー変換と共分散行列は、第2のカメラポジ
ションペアのためのエラー変換と共分散行列によって調
整される必要がある。同様に、第4のカメラポジション
ペア(その順序の第4及び第5のイメージを生成する位
置)のための計算されたエラー変換と共分散行列は、第
4のカメラポジションペアのトータルな累積エラーを与
えるために、第2のカメラポジションペアと第3のカメ
ラポジションペアのためのエラー変換及び共分散行列に
よって調整される必要がある。
【0269】これは、CPU4により、ステップS57
2で次のように実現される。
【0270】
【数19】
【0271】ここで、R’はi番目の累積エラー変換
のための回転行列であり、Rはi番目の個別のエラー
変換のための回転行列であり、t’はi番目の累積エ
ラー変換のための変換ベクトルであり、tはi番目の
個別のエラー変換のための変換ベクトルであり、c
はi番目の累積エラー変換のための分散行列であり、C
はn番目の個別エラー変換のための分散行列である。
【0272】図41を再び参照すると、ステップS52
2において各カメラポジションペアのためのエラーの計
算の後に、CPU4は、ステップS524において、適
切なカメラポジションエラーにより3次元空間における
各残りのポイント(すなわちステップS520で計算さ
れたポイントで、図44のステップS560で破棄され
たもの以外のポイント)の座標を調整する。これは、累
積エラー変換(図44のステップS572で既に計算さ
れた)をポイントポジションに適用し、適切なエラー累
積(これも図44のステップS572で計算された)を
そのポイントに加えることによりなされる。例えば、そ
の順序における第1のイメージペアからステップS52
0で生成されたポイントはステップS524で調整され
ない。上述したように、このイメージペアに対するカメ
ラポジションエラーはゼロと仮定されるからである。そ
の順序内の第2と第3のイメージを用いて、ステップS
520で生成されたポイントは、第2カメラポジション
ペアのために計算されたエラー変換によって移動され、
第2カメラポジションペアのために計算された共分散行
列が移動されたポイントに加えられる。その順序内の第
3と第4のイメージからステップS520で生成された
ポイントは、第3カメラポジションペアのために図44
のステップS572で計算された累積エラー変換により
移動され、第3カメラポジションペアのためにステップ
S572で計算された累積共分散行列がその移動された
ポイントに加えられる。その順序内の第4と第5のイメ
ージを用いてステップS520で計算されたポイント
は、第4のカメラポジションペアのためにステップS5
72で計算された累積エラー変換により移動され、第4
カメラポジションペアのためにステップS572で計算
された累積共分散行列がその移動されたポイントに加え
られる。
【0273】ステップS526において、CPU4は、
3次元空間中における実際のオブジェクト24上の共通
ポイントに関連するポイントを結合する。すなわち、各
個別の群内のポイントは結合ポイントを生成すべく結合
される。その結合ポイントの位置は群内に存在するポイ
ントの位置に依存し、群内のポイントのエラー累積に依
存するエラー累積を有する。エラー累積は、3D空間に
おけるガウス確率密度関数であり、同じ3Dポイントの
位置の独立した測度を表す。それらは独立しているの
で、個別の測度がこのステップにおいて、ガウス確率密
度関数を一般的な方法で互いに乗算することにより、結
合され、結合されたガウス確率密度関数もしくはエラー
累積を与える。
【0274】ステップS526で生成されたポイント
が、オブジェクト24上のユニークなポイントと実際に
は関連していないこともある。例えば、図47に示され
るように、ポイント100,102及び104に対する
エラー累積は、実際にはオーバーラップし、従ってこれ
らのポイントはオブジェクト24上の同一ポイントに関
連している。従って、ステップS528において、CP
U4は、ステップS526で生成された結合ポイントが
オブジェクト24上のユニークなイメージポイントに対
応するかどうかをチェックし、そうなっていないものを
マージする。
【0275】図48は、ステップS528において、C
PU4によって実行される処理を示す。図48を参照す
ると、ステップS580において、CPU4は、ステッ
プS526(図41)で生成されたポイントを、それら
のエラー楕円(すなわち、ステップS526で生成され
た結合エラー楕円)の大きさでソートし、最も小さいエ
ラー楕円のポイントを先頭としたリストを生成する。
【0276】ステップS582において、CPU4はリ
スト中の次に高い順位にあるポイント(これはステップ
S582が最初に実行されるときには最も高いポイント
である)をリスト中の後続の全ポイントと比較する。現
在のポイントが、その1標準偏差に等価な3D距離(マ
ハラノビス距離(Mahalanobis dista
nce))内に存在する全ての後続のポイントを特定す
る。
【0277】ステップS584において、考慮中の最高
順位のポイントは、リスト中のより下位の次の条件を満
足するポイントと結合される。その条件は、それらのポ
イント間の距離が、低順位のポイントのエラー楕円のマ
ハラノビス距離よりも小さいということである。これ
は、ステップS526で一般的な数学的手法を用いてポ
イントが結合されたのと同じ方法で、単一の結合された
ポイントを生成するための全ポイントと結合することに
より実現される。考慮中の最も高い順位のポイントは、
ステップS580で生成されたリスト中において結合さ
れたポイントへ置き換えられ、リスト中の結合ポイント
を生成するために使用されたすべての低順位ポイント
は、リストより除去される。ステップS586におい
て、CPU4は、まだ考慮していない別のポイントがそ
のリスト中にあるかどうかを判断する。ステップS58
2〜S586は、上述した方法で、リスト中のすべての
ポイントが処理されるまで繰り返される。
【0278】図41を再び参照すると、ステップS52
0からS528を実行した後で、CPU4は3次元空間
における複数ポイントを生成する。それらポイントの各
々は、オブジェクト24の表面上のポイントと関連して
いる。
【0279】図3を再び参照すると、ステップS12に
おいて、CPU4はオブジェクト24の表面を表す面を
生成するために、ポイントを処理する。
【0280】図49は、図3のステップS12において
面を生成する際の、CPU4によって実行される処理を
示す図である。図49を参照すると、ステップS590
において、CPU4は、一般的な手法における3次元空
間内のポイントのデラウナリの三角生成(Delaun
ary triangulation)を実行する。そ
の手法は、例えば、「Three−Dimension
al Computer Vision」、Fauge
ras著、Chapter 10、MIT Pres
s、ISBN 0−262−06158−9に記載され
ている。この処理は、複数の平らな三角形面を生成すべ
く、ポイントを相互に接続する。しかし、オブジェクト
24の内側を通して、多数の相互接続がポイント間にお
いてなされ、外部からは見えないオブジェクト24の内
部における面を生成する。加えて、それは、オブジェク
ト24の凹部領域にまたがる擬似的表面を生成する可能
性がある。それによって、実際の凹部表面が覆い隠され
てしまう。従って、ステップS592〜S600におい
て、CPU4はこれらの隠れた擬似的な表面を除去する
ためにデータを処理する。
【0281】ステップS592において、CPU4は、
その順序における次のカメラ(これは、ステップS59
2が最初に処理されるときは第1のカメラとなる)を考
慮する。そして、ステップS594において、そのカメ
ラから見える次の3Dポイント(ステップS594が最
初に実行されるときは最初の3Dポイント)へ、そのカ
メラから光線を投射する。すなわち、そのカメラに関す
るイメージデータ内でマッチしたポイントからオリジネ
イトされる3次元空間における次のポイントである。そ
のカメラと3Dポイント間で光線を投射するとき、CP
U4は、そのポイントのエラー楕円を横切る最も近いポ
イントでその光線をストップする。ステップS596に
おいて、CPU4は一般的なテクニックを用いて、その
光線がステップS590で生成された面を横切るかどう
かを判断する。そのテクニックは、例えば「Graph
ics Gems」、A.Glassner著、Aca
demic Press Professional,
1990、 ISBN 0−12−286166−3の
Chapter 7に記載されている。明らかに、その
ポイントとカメラの間には面は存在しない。さもなけれ
ば、カメラはそのポイントを見ることができない。従っ
て、光線によって横切られるあらゆる面がステップS5
96で除去される。ステップS598でCPU4は、カ
メラによって見ることのできる別のポイントが3次元空
間内にあるかどうかを判断する。ステップS594から
S598は、上述した方法ですべてのポイントが処理さ
れるまで繰り返される。ステップS600において、C
PU4は、その順序において別のカメラがあるかどうか
を判断する。ステップS592〜S600は、上述のよ
うな面を除去するためにすべてのカメラが考慮されるま
で繰り返される。
【0282】上述した処理において、ステップS594
で、CPU4はカメラからポイントのためのエラー楕円
のエッジへ光線を設定する(ポイント自身ではなく)、
そして、光線がいずれかの面を横切るかどうかを考慮す
る。これは、ポイントの位置的なエラーが考慮されると
いう長所をもたらす。例えば、もしも光線が、ポイント
までの間で投射されるならば、ポイントとそのエラー楕
円のカメラに最も近いエッジとの間にある面はその光線
によって横切られ、従って、除去される。しかしなが
ら、これは不正確な結果をもたらす。3Dポイントは正
確にそのエラー楕円内のあらゆるところに存在し、よっ
て面の前に存在する可能性があるからである。本実施形
態における処理はこれを考慮する。
【0283】ステップS602において、CPU4は、
残りの三角面を考慮する。そして、自由空間に接触する
面を持たないあらゆる三角形(これは、そのオブジェク
ト内に閉じ込められた面に対応する)を除去する。これ
は、一般的なテクニックを用いて実行される。そのよう
なテクニックは、例えば、「Three−Dimens
ional Computer Vision」、Fa
ugeras著、Chapter 10, MIT P
ress, ISBN 0−262−06158−9に
記載されている。
【0284】ステップS590からS602を実行した
後、CPU4はオブジェクト24を表す3次元空間にお
ける複数の面を生成する。ステップS604からS61
0において、CPU4は、各三角形表面に表示すべきテ
クスチャを決定する。
【0285】ステップS604において、CPU4は、
次の残りの三角形(ステップS604が最初に実行され
るとき、これは、第1の残余三角形である)に対する法
線を計算する。ステップS606において、CPU4
は、ステップS604で計算された法線と各カメラの光
軸との内積を計算し、法線に最も近い角度で三角形を見
たカメラを特定する(これは、その光軸と面の法線との
間の角度が最も小さいカメラである)。ステップS60
8において、CPU4は、ステップS606で特定され
たカメラのためのデータを読み出し(図4のステップS
18で格納されたもの)、三角形のためのテクスチャを
決定するためにその三角形の頂点の間にあるイメージデ
ータを読み出す。ステップS610において、CPU4
は、テクスチャを決定すべき別の残余の三角形があるか
どうかを判断する。ステップS604からS610は、
すべての三角形についてテクスチャが決定されるまで繰
り返される。
【0286】図3を再度参照すると、本実施形態におい
て、ステップS12でオブジェクトを表す面を生成した
後、CPU4はステップS14にてその面を表示する。
これは一般的な方法で実行される。たとえば、「Com
puter Graphics Principle
andPractice」、Foley,van Da
m,Feiner及びHughes著、Second
Edition、Addison−Wesley Pu
blishing Company Inc.,ISB
N 0−201−12110−7に記載の方法を用いる
ことができる。この方法の概要を以下に述べる。
【0287】図50は、ステップS14で表面データを
表示する際のCPU4によって実行される処理を示す。
図50を参照すると、ステップS620において、CP
U4は、オブジェクトに対するライティングパラメータ
(照明パラメータ)、すなわち、どのようにオブジェク
ト画が照らされるかを定義するデータを計算する。この
データは、入力デバイス14を用いてユーザによって入
力されてもよいし、或いは、デフォルトの照明パラメー
タが用いられてもよい。ステップS622において、オ
ブジェクトが観察されるべき方向が、入力デバイス14
を用いてユーザにより定義される。
【0288】ステップS624において、オブジェクト
のplanar三角形面を特定する頂点は、それらが定
義されるオブジェクト空間から、光源が定義されるモデ
ル空間へ変換される。ステップS626において、光源
の位置に関するデータ及び各三角形面のテクスチャデー
タ(ステップS608で前もって決定されている)を処
理することで、三角形面が照らされる。その後、ステッ
プS628において、モデリング空間は、ステップS6
22で選択されて方向付けられたビューイングに依存す
るビューイング空間に変換される。この変換は、ビュー
の特定のフィールドを定義する。それは、通常、モデリ
ング空間の全体よりも小さい空間をカバーする。従っ
て、ステップS630において、CPU4は面を除去、
或いはそれらのビューのフィールドの外に出る部分を除
去するために、クリッピング処理を実行する。
【0289】この段階までに、CPU4によって処理さ
れたオブジェクトデータは、3次元空間座標位置を決定
する。ステップS632において、三角形面の頂点が、
2次元イメージを特定するために、投影される。
【0290】2次元イメージを投影した後、「前向き」
の三角形面、すなわち、観察者の方向を向くもの、及び
「後ろ向き」の三角形面、すなわち観察者には見えない
ものを特定する必要がある。従って、ステップS634
において、後ろ向きの面が特定され、抜き取られる。こ
うして、ステップS634において、可視のポリゴンの
三角形面を特定する頂点が2次元において定義される。
【0291】ステップS636において、面を定義する
2次元データはCPU4により、ピクセル値を生成する
べく、図49のステップS608で前もって決定された
各面のテクスチャを定義するデータを考慮に入れて、ス
キャンコンバート(scan−convert)され
る。
【0292】ステップS638において、ステップS6
36で生成されたピクセル値が、フレームバッファに面
毎に書き込まれる。それにより、完全な2次元イメージ
のためのデータを生成する。
【0293】ステップS640において、CPU4は、
ピクセル値を定義する信号を生成する。信号は、ディス
プレイユニット18上にオブジェクトのイメージを生成
するために用いられ、及び/又は、例えばビデオレコー
ダ20内のビデオテープ上に記録される。或いは、信号
は表示或いは記録のために遠隔の受信機に送信されても
よい。
【0294】これまで記述してきた実施形態に対し、種
々の変形が可能である。
【0295】上述の実施形態において、図2に関連して
記述したように、カメラ12は、オブジェクトのイメー
ジを記録するために、オブジェクト24のまわりの異な
る位置へ移動される。しかしながら、これに限られるも
のではなく、カメラ12が固定位置に維持され、オブジ
ェクト24が移動してもよい。もちろんカメラ12とオ
ブジェクト24の位置の双方が動いてイメージを記録し
てもよい。
【0296】カメラ12は、オブジェクト24のイメー
ジの連続的なシーケンスを記録するビデオカメラであっ
てもよい。CPU4によって処理されるイメージデータ
は、ビデオシーケンスからイメージデータフレームを選
択することによって得られる。
【0297】上記実施形態において、図4のステップS
22及びS24でイメージの位置的順序をアレンジする
とき、ユーザがその順序における正しい位置へディスプ
レイ上のイメージを移動する(図5に関連して記述した
通りである)、そして、CPU4は、その順序における
それらの位置を決定するためにイメージ間の距離を計算
する。これに替えて、ユーザがその順序における位置を
表す数字を各イメージに割り当ててもよい。利便のため
に、CPU4は、割り当てられた番号に従ってユーザに
イメージを再表示する。
【0298】上記実施形態の記述において、3Dモデル
を生成するためにオブジェクト24の5つのイメージが
処理された。しかし、他の数のイメージが用いられても
よいことはもちろんである。
【0299】図7のステップS52、S54、S62、
S64で実行された上述の処理のために、異なる初期特
徴マッチングテクニックが用いられてもよい。例えば、
ステップS52とS54で実行された初期特徴マッチン
グは、イメージ中のコーナーを検出するが、この処理
は、イメージデータのカラー或いは輝度値における最
小、最大或いはサドル(saddle)点を検出するテ
クニックで置き換えてもよい。この種のテクニックは、
例えば、「Computer and RobotVi
sion Volume 1」、Haralick &
Shapiro著、Chapter 8、Addis
on−Wesley Publishing Comp
any,ISBN 0−201−10877−1(V.
1)に記載された方法が、そのようなポイントを検出す
るのに用いられ得る。検出されたポイントは、前述の適
応化最小二乗相関を用いてマッチングされる。上述で参
照されたすべてのタイプのポイント、すなわち、コーナ
ーポイント、最小ポイント、最大ポイント及びサドルポ
イントを検出し、マッチする初期特徴マッチングテクニ
ックが採用されてもよい。
【0300】上記実施形態では、ピクセルのエッジマグ
ニチュードとエッジ方向値を用いて、ステップS106
とS108でイメージ中におけるエッジを特定する。こ
れに替えて、エッジは、ピクセルのエッジマグニチュー
ドもしくはエッジ方向値の一方のみを用いて特定されて
もよい。
【0301】上記実施形態では、図7のステップS62
とS64でアフィン初期特徴マッチングを実行する際
に、CPU4は、各イメージにおけるユーザ特定ポイン
トを三角形で結び、その三角形内に含まれるイメージの
部分間の関係を計算するために、対応する三角形の各頂
点の座標を用いることにより、イメージペアの部分間の
関係を計算する。変形例として、ユーザ特定ポイントの
みを用いる代わりに、三角形を生成するためにCPU4
はユーザ特定およびCPU特定ポイントをコネクトする
ようにアレンジされてもよいし、CPU特定ポイント
(例えば、コーナーポイント)だけを用いるようにアレ
ンジされてもよい。
【0302】上記実施形態において、アフィン初期特徴
マッチングを実行する際に、ステップS162におい
て、CPU4は、イメージを矩形に分割するために水平
および垂直のグリッドを用いる。しかしながら、イメー
ジは、他の方法において、より小さい領域へ均等に分割
されてもよい。例えば、長方形へ分割するグリッドが用
いられてもよい。また、非水平および非垂直ラインを有
するグリッドが用いられてもよい。
【0303】上述の実施形態において、ステップS56
とS66で、カメラ変位を計算する際に、CPU4はパ
ースペクティブ計算を2度実行する(図25)。1つは
ユーザ特定ポイントのみを用いて(ステップS246〜
S262)、そしてもう1つはユーザ特定ポイントとC
PU計算ポイントの両方を用いて(ステップS266か
らS282)行われる。同様にCPU4は、アフィン計
算を2回(図27)実行する。1つは、ユーザ特定ポイ
ントのみを用いて(ステップS312からS327)、
そしてもう1つはユーザ特定およびCPU特定ポイント
を用いる(ステップS330からS345)。変形例と
して、CPU4は、各パースペクティブ計算とアフィン
計算のそれぞれの2回の計算を次のようにしてもよい。
すなわち、 ・1回はユーザ特定ポイントのみを用いて、次にCPU
計算されたポイントのみを用いて計算する。 ・1回は、CPU家違算されたポイントのみを用い、も
う1回ではユーザ特定およびCPU計算ポイントの両方
を用いる。
【0304】また、各パースペクティブおよび各アフィ
ン計算は、3回計算されてよい。例えば、1回は、ユー
ザ特定ポイントで、もう1回はCPU計算ポイント、さ
らにもう1回はユーザ特定およびCPU計算ポイントの
両方で行う。
【0305】上述した実施形態において、ステップS2
40におけるパースペクティブカメラ変換を計算する際
に、CPU4は物理的なfundamental行列を
テストする(図25のステップS253、255、27
3およびS275)。代わりに、他の物理的に信頼性の
ある行列、たとえば物理的essential行列(E
phys)がテストされもよい。
【0306】上記実施形態において、ステップS500
とステップS502(図39)で、制約的特徴マッチン
グを実行する際(図7のステップS74)、「ダブル」
ポイント(すなわち、トリプル中のイメージペアにたわ
たってマッチするポイント)が考慮され、トリプルポイ
ント(すなわち、3つのイメージにわたってマッチする
ポイント)を形成すべくトリプル内の別のイメージにお
ける対応ポイントを特定するべく試みるために処理が実
行される。また、シングルポイント、すなわちトリプル
内の1つのイメージで特定されるものの他のイメージと
の間ではマッチするポイントが見出されていないポイン
ト、を考慮することは可能であり、トリプルの他の2つ
のイメージの各々において対応点を特定するべく試みる
処理を実行することは可能である。たとえば、トリプル
中の第1イメージよりシングルポイントを取り出し、図
7のステップS56或いはステップS66で前もって計
算されたカメラ変換を用いて、第2イメージの対応する
位置のポイントを特定することができる。適応化最小二
乗相関テクニック、たとえば、前述で参照した、「Ad
aptive Least Squares Corr
elation:APowerful Image M
atching Technique」、A.W.Gr
uen著、Photogrammetry Remot
e Sensing and Cartograph
y、1985、175−187頁に記載のテクニック
が、第2イメージ中の対応ポイントの付近におけるピク
セルの相似性測度を決定するのに用いられてもよい。そ
して最も高い相似性測度を閾値と比較し、そのような相
似性測度値を有するピクセルが第1のイメージのポイン
トとマッチするかを判断する。マッチが見出されたら、
第3イメージにおけるポイントについてマッチが見出さ
れるかどうかを判断するために、類似の処理が実行さ
れ、それによりトリプルポイントが特定される。
【0307】上記実施形態において、図7のステップS
62或いはステップS64でイメージペアについてアフ
ィン初期特徴マッチングを実行する際、CPU4は、そ
の順序において先行するイメージ内のポイントとマッチ
するが、第2イメージペア中のポイントとはマッチしな
い第1イメージペア中の点を考慮し、そのようなポイン
トを第2イメージペアにおけるポイントとマッチするよ
う試みる(図18のステップS166、S176)。こ
うしてCPU4は、イメージのシーケンスを通して現在
のイメージから当該順序の後続のイメージヘマッチした
ポイントを伝播するために処理を実行する。また、その
ようなポイントを伝播する処理を反対方向に行うことも
可能である。すなわち、現在のイメージから、当該順序
における先行イメージへポイントを伝播してもよい。た
とえば、順序内のイメージは反対方向に考慮され得る。
すなわち、当該順序中の最終イメージ(図2の例で、位
置L5から撮られたイメージ)からはじめて、上述と同
様の方法データを処理するようにしてもよい。また、処
理は、両方向へポイントを伝播すべく実行されてよい。
これは、単一方向へポイントを伝播するべく処理が実行
される場合よりもポイント間のより多くのマッチングを
提供する可能性がある。これは、図7のステップS66
で計算されるべきより正確なカメラ変換を可能とする。
【0308】上記の実施形態において、図7のステップ
S74で制約的特徴マッチングをCPU4が実行する
際、図39のステップS500においてイメージトリプ
ルの第2および第3イメージ内のポイント間の新たなマ
ッチが特定される。前述のように、これらのポイントは
後続の処理において考慮される。その新たなポイントが
マッチングするイメージペアは、考慮される次のイメー
ジトリプルにおける第1のイメージペアとなるからであ
る。こうして、ステップS54或いはS64において、
次のトリプルにおける第2イメージペアのために自動的
な初期特徴マッチング、或いはアフィン初期特徴マッチ
ングが実行されるとき、制約的特徴マッチングによって
得られる新たなマッチングポイントは、上述のように、
そのトリプルの第3のイメージにおいて、マッチングポ
イントを特定するために用いられ得る。一方、上記実施
形態において、CPU4が制約的特徴マッチングを実行
する際に、図39のステップS502で生成された、ト
リプルにおける第1および第2イメージ内のポイント間
の新たなマッチングは、いかなる後続の初期特徴マッチ
ング処理においても考慮されない。これは、新たなマッ
チングがトリプル内の第1のイメージペアにわたってマ
ッチし、このペアは、さらに後続の初期特徴マッチング
処理において考慮されないからである。しかしながら、
新たなマッチングは、CPU4がステップS10(図
3)にて3Dデータを生成する際に考慮される。新たに
マッチしたポイントは、トリプルポイントの部分を形成
するからである。変形例としては、制約的なマッチング
の間に特定された新しいマッチングのすべてを考慮に入
れてカメラ変換を再計算するための追加的な処理を実行
することを可能とする。これは、各イメージトリプルに
関するカメラ変換について2つの解を生成する。すなわ
ち、第1は、図7に関して上述した方法において生成さ
れる解であり、第2は、新たなマッチングを考慮するた
めの付加的処理によって生成される。これらの2つの解
のうち、最も正確な解が選択される。
【0309】上述した実施形態において、ステップS5
2、S54、S60、S62、S64、S72およびS
74において、ポイント(コーナーポイント、最小ポイ
ント、最大ポイント、サドルポイント等)がイメージ内
でマッチングされる。しかしながら、例えば線等の、他
の特徴で特定およびマッチングを行うことも可能であ
る。
【0310】ステップS528において、上記実施形態
では、CPU4は、ポイントが互いの1標準偏差内にあ
ればそれらをマージする。しかしながら、それらを結合
する代わりにポイントのひとつを削除してもよい。
【0311】上述した実施形態において、図3のステッ
プS12において面を生成し、CPU4は、ステップ1
4で面データを表示すべく処理を実行する。これに替え
て、もしくは付加的に、ステップS14で面データを表
示する代わりに、CPU4が以下の処理を実行してもよ
い。すなわち、 ・例えば、適切な形状へ材料をカットするカッティング
装置を制御することにより、オブジェクト24のモデル
を製造する製造設備を制御する。 ・例えばデータベースに格納されたデータと比較するこ
とにより、オブジェクトを認識するための処理を実行す
る。 ・オブジェクトのサイズを記録するための絶対的な計測
値を取ることにより、或いは、前もって生成されたオブ
ジェクトのモデルとそのモデルを比較してそれらの間に
おける変化を判断することにより、そのオブジェクトを
計測するための処理を実現する。 ・ロボットを制御して、そのオブジェクトの回りをナビ
ゲートするための処理を実行する。 ・モデルを表すオブジェクトデータを、遠隔の処理装置
に伝送する(たとえば、CPU4はオブジェクトデータ
をVRMLフォーマットでインターネットを介して伝送
し、WWWブラウザで処理することを可能とする)。も
ちろん、オブジェクトデータは他の方法で利用されても
よい。
【0312】また、上述したテクニックは、たとえば、
地理情報システム(GIS)もしくは他の地形データベ
ースに入力されている3次元データ地形図作成および地
形調査において用いられてもよい。
【0313】
【図面の簡単な説明】
【図1】本発明の実施形態における画像処理装置のコン
ポーネントを示す概略図である。
【図2】オブジェクトの周囲の異なる位置がらオブジェ
クトをイメージングすることによりイメージデータを収
集する様子を表す図である。
【図3】本発明の実施形態における図1に示される画像
処理装置によって実行される処理のトップレベルを表す
図である。
【図4】図3のステップS2において、初期のデータ入
力の間に実行されるステップを示す図である
【図5】図4のステップS22において、ユーザによる
イメージの並べ替えを説明する図である。
【図6】図1の、ステップS4における初期特徴マッチ
ング、ステップS6におけるカメラ変換の計算、ステッ
プS8における制約的な特徴マッチングにおける処理の
間の関係を説明する図である。
【図7】図6に示される処理の間の関連を詳細に示す図
である。
【図8】図7のステップS52における、イメージトリ
プル内の第1のイメージペアにわたる自動的な初期特徴
マッチングにおける処理を示す図である。
【図9】図7のステップS54における、イメージトリ
プル内の第2のイメージペアにわたる自動的な初期特徴
マッチングにおける処理を示す図である。
【図10】(a)はパースペクティブ画像を、(b)は
アフィン画像を概略的に示した図である。
【図11】図7のステップS62もしくはステップS6
4において、トリプルイメージ内の第1(もしくは第
2)のイメージペアのためのアフィン初期特徴マッチン
グの間に実行される処理のトップレベルを示す図であ
る。
【図12】図11のステップS100における、各イメ
ージペア内のエッジを検出する処理を示す図である。
【図13】図12のステップS106もしくはステップ
S108におけるエッジ強度の計算において考慮される
ピクセルを表す図である。
【図14】図12のステップS106及びステップS1
08におけるエッジ強度の計算で実行される処理を示す
図である。
【図15】図12のステップS112において他のエッ
ジとクロスオーバするエッジを除去する際に実行される
処理を示す図である。
【図16】2つのエッジの例を説明する図であり、
(a)及び(b)はエッジがクロスしない例を、(c)
はエッジがクロスする例を示す図である。
【図17】図11のステップS102においてポイント
を三角形に接続する際の処理手順を説明する図である。
【図18A】図11におけるステップS104で、イメ
ージペアにおける更なる対応ポイントを計算する際に実
行される処理手順を説明する図である。
【図18B】図11におけるステップS104で、イメ
ージペアにおける更なる対応ポイントを計算する際に実
行される処理手順を説明する図である。
【図19】図18のステップS162、S174及びS
180における矩形のグリッドの使用を示す図である。
【図20】図7のステップS56及び66においてイメ
ージトリプルに関するカメラ変換を計算するときに実行
される処理のトップレベルを示す図である。
【図21】図20のステップS202においてルーチン
1を実行する際に実行される処理のトップレベルを示す
図である。
【図22】図21のステップS206においてパラメー
タをセットアップする際に実行される処理を示す図であ
る。
【図23】図22のステップS224において実行され
るべき繰り返し数を決定するための処理手順を説明する
図である。
【図24】図21のステップS208もしくはS210
において、トリプル内の第1のイメージペアもしくはト
リプル内の第2のイメージペアのためのカメラ変換を計
算する際の処理手順を説明する図である。
【図25A】図24のステップS240におけるイメー
ジペアのためのパースペクティブ計算を実行する際の処
理手順を説明する図である。
【図25B】図24のステップS240におけるイメー
ジペアのためのパースペクティブ計算を実行する際の処
理手順を説明する図である。
【図25C】図24のステップS240におけるイメー
ジペアのためのパースペクティブ計算を実行する際の処
理手順を説明する図である。
【図26】図25のステップS254及びS274で、
物理的fundamental行列をマッチしたユーザ
特定ポイント及び計算ポイントに対してテストする際の
処理手順説明を説明する図である。
【図27A】図24のステップS242において、イメ
ージペアのためにアフィン計算を実行する際の処理手順
を説明する図である。
【図27B】図24のステップS242において、イメ
ージペアのためにアフィン計算を実行する際の処理手順
を説明する図である。
【図28】図21のステップS212における、トリプ
ル内の3つのイメージ全てに対するカメラ変換を計算す
る際の処理手順を説明する図である。
【図29】トリプルの3つのイメージのための、スケー
ルs、回転角度ρ1、ρ2を説明する図である。
【図30】図28のステップS350、S352、S3
54及びS356において、s及び/又はρ1及び/又
はρ2を計算する際の処理手順を表す図である。
【図31】(a)〜(d)は、図30のステップS38
0において考慮された異なるρ1、ρ2の組み合わせを
説明する図である。
【図32】図30のステップS382における、最良の
スケールを計算する際の処理手順を示す図である。
【図33】3つのカメラ全てからの光線を単一のポイン
トでクロスさせるために、図32のステップS400に
おいてカメラの変換をどのように変化させるかを説明す
る図である。
【図34】図32のステップS404において、全ての
トリプルポイントに対して計算されたスケールをテスト
するための処理手順を説明する図である。
【図35】図34のステップS426において、トリプ
ルイメージの外側のイメージにおけるポイントに対する
光線の投射を説明する図である。
【図36】図20のステップS204におけるルーチン
2の処理を実行する際の処理手順のトップレベルを示す
図である。
【図37】図36のステップS450において、存在す
るパラメータを読み、新たなイメージペアのためのパラ
メータをセットアップする際の処理手順を説明する図で
ある。
【図38】図36のステップS454においてトリプル
内の3つのイメージ全てに関するカメラ変換を計算する
際の処理手順を示す図である。
【図39】図7のステップS74における、トリプルイ
メージのための制約的な特徴マッチングを実行する際の
処理のトップレベルを示す図である。
【図40】図39のステップS500及びS502にお
ける処理を説明する図であって、存在するダブルポイン
トの各々に関して対応するポイントを特定するための処
理手順を示す図である。
【図41】図3のステップS10における、3Dデータ
の生成の処理手順を示す図である。
【図42】図41のステップS520において、ユーザ
特定されたダブルポイントの各々、もしくは後続のイメ
ージとのトリプルの一部を形成するポイントの3D投射
を計算する際の処理を説明する図である。
【図43】図41のステップS520が5つのイメージ
にわたるポイントに関して実行された場合の結果を説明
する図である。
【図44A】図41のステップS522において、不正
確な3Dポイントを特定、破棄し、各カメラポジション
ペアのためのエラーを計算する処理手順を説明する図で
ある。
【図44B】図41のステップS522において、不正
確な3Dポイントを特定、破棄し、各カメラポジション
ペアのためのエラーを計算する処理手順を説明する図で
ある。
【図45A】図44のステップS556において、与え
られたカメラポジションペアの3Dポイントと次のカメ
ラポジションペアの対応ポイントとの間について計算さ
れたシフトを説明する図である。
【図45B】図44のステップS556において、与え
られたカメラポジションペアの3Dポイントと次のカメ
ラポジションペアの対応ポイントとの間について計算さ
れたシフトを説明する図である。
【図46】図44のステップS566を実行した結果の
次のカメラポジションペアのための修正された3Dポイ
ントと、現在のカメラポジションペアのための対応する
ポイントを説明する図である。
【図47】3D空間におけるポイントの数とそれらに関
連付けられたエラー楕円を説明する図である。
【図48】結合された3Dポイントがユニークなイメー
ジポイントに対応するかをチェックし、そうでないもの
を図41のステップS528においてマージする際の処
理手順を説明する図である。
【図49】図3のステップS12において面を生成する
際の処理手順を示す図である。
【図50】図3のステップS14において面データを表
示する際に実行される処理手順を示す図である。
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成10年10月9日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正内容】
【書類名】 明細書
【発明の名称】 画像処理装置
【特許請求の範囲】
【発明の詳細な説明】
【0001】本装置は画像処理装置および方法に関する
ものである。
【0002】実生活におけるオブジェクトの3次元コン
ピュータモデルの生成は伝統的に時間浪費型で高価であ
り、熟練した人材および/または高価な設備を必要とし
た。このことの一つの理由は、オブジェクト上の点につ
いて、2次元における相対的な位置とともに、相対的な
深さ(奥行き)も決定しなければならないことにある。
【0003】実在するオブジェクトからの3次元コンピ
ュータモデルの生成のための周知のテクニックは、動的
技法と受動的技法の2つのカテゴリのうちのいずれかひ
とつに属する。動的技法では、奥行き情報はオブジェク
トの表面を動的にセンスすることで得られる。また、受
動的技法では、奥行き情報はオブジェクトのイメージか
ら得られる。
【0004】動的技法の例としては、パルスレーザビー
ムでオブジェクトをスキャンし、それらの伝送時間に対
するパルスの検出時間を測定して奥行き情報を決定する
こと(レーザのレンジファインダーとして)、および位
置感知用のプローブでもってオブジェクトの表面上の複
数のポイントに接触することがあげられる。
【0005】また、一般的な受動的な技法においては、
異なるカメラポジションから撮影した少なくとも2つの
オブジェクトのイメージが必要である。そのイメージか
ら3次元コンピュータモデルを構築するために、まず第
1に、各イメージにおいて、オブジェクト上の実際に同
じポイントが表すポイントの位置を知ること、そして第
2に、そのイメージが撮影された位置からの相対的な距
離を知ることが必要である。これらは、特に、負担の大
きな要求である。結果として、周知の受動的なシステム
においては、識別するためのマーク/キャリブレーショ
ンがオブジェクトやその周囲に付加されて、マッチング
ポイントをイメージ中においてより容易に識別しうるよ
うにし、および/またはイメージはあらかじめ知られた
カメラ位置から撮影される。
【0006】たとえば、WO-A-90/10164は、オブジェク
トの2つのイメージから計算されたオブジェクト表面上
の3次元座標におけるポイントを用いて、オブジェクト
中のひずみ分布を測定するシステムを開示している。イ
メージにおけるポイントのマッチングを促進(容易化)
するために、そのイメージが撮影される前に、電気化学
的なエッチングもしくはシルクスクリーンによって、一
様な矩形のグリッドパターンがオブジェクトに施され
る。こうして、グリッド線の交点の対応する点は、イメ
ージ中において容易に識別されるようになる。さらに、
オブジェクトは回転テーブル上に置かれる。その回転テ
ーブルは、イメージの間のあらかじめ知られた角度だけ
回転する。これにより、相対的なカメラ位置が決定され
る。
【0007】また、米国特許第4803645号はオブジェク
ト上の点の3次元座標を決定するシステムを開示する。
このシステムにおいて、グリッドもしくは類似の周期的
パターンが光プロジェクタを用いてオブジェクト上に投
影され、そして、オブジェクトのイメージは、固定され
た予め決められた位置で3つのイメージングシステムを
用いて撮影される。
【0008】WO-A-88/02518は、予め決められた、既知
のコンフィグレーションにおいてセットされたイメージ
ングデバイスから撮影された複数のイメージから、オブ
ジェクトの深さマップ(depth map)を生成するシステ
ムを開示する。同様に、米国特許第5307136号は、自動
車距離検出システムを開示する。それは、ユーザの自動
車内に、予め決められた、既知のコンフィグレーション
で装着された複数のカメラから撮影されたイメージを用
いて自動車のレンジ(距離)を決定するものである。
【0009】GB-A-2244621、WO-A-92/06444、および米
国特許第4695156号は、既知のカメラ位置から撮影され
たオブジェクトのステレオイメージから、オブジェクト
の表面上の点の3次元座標を決定するシステムを開示し
ている。
【0010】しかしながら、多くの場合において、参照
用グリッドあるいはマーキング・キャリブレーションを
オブジェクト上に提供すること、あるいは、既知の相対
的位置からイメージを撮影することは不便であり、高価
であり、実用的でない。イメージ中におけるポイントを
マッチさせること、及び/或いは相対的なカメラ位置を
計算することは、信頼性のある、正確な技術を必要とす
る。
【0011】さらに、たとえ、マッチングポイントが参
照特徴を用いて特定されても、もしもイメージが既知の
相対的位置から撮影されたのでなければ、そのイメージ
が撮影された位置を決定するための正確で信頼性のある
技術が必要である。
【0012】受動的技術が採用されるとき、オブジェク
トもしくはその周辺における参照用のマーキングあるか
否か、且つ/又は既知のカメラ位置が用いられるか否か
にかかわらず、マッチしたイメージポイント及びカメラ
位置を用いて3次元座標ポイントを正確に生成する方法
が必要である。しかしながら、参照マーキングが用いら
れずカメラ位置が未知である場合には、これは特に重要
である。イメージにおいて特定されたマッチングポイン
トの不正確さ、及び計算されたカメラ位置の不正確さが
ポイントの計算された3次元座標の不正確さの原因とな
るからである。
【0013】本発明は上述した一つもしくはそれ以上の
問題に鑑みてなされたものである。
【0014】一つの態様において、本発明はオブジェク
トのイメージが撮られた位置を決定するための装置及び
方法を提供することを目的とする。
【0015】他の態様において、本発明は、マッチした
イメージ特徴とイメージの相対的な位置関係を用いて、
3次元空間におけるポイントを決定するための装置及び
方法が提供される。
【0016】本発明によって提供される画像処理装置及
び方法においては、第1、第2及び第3のイメージの間
の位置的関係が、イメージ内のマッチした特徴を用いて
複数回決定され、各回において上記3つのイメージ間の
変換の異なる組み合わせが用いられ、最も正確な関係が
選択される。好ましくは、考慮される変換の組み合わせ
は、アフィン(affine)−アフィン、アフィン−パース
ペクティブ(perspective)、パースペクティブ−アフ
ィン、パースペクティブ−パースペクティブであり、或
いはもしも1つのイメージペア間の変換が固定されるな
らば、既知の変換−アフィンと既知の変換−パースペク
ティブである。
【0017】本発明によって提供される画像処理装置或
いは方法においては、イメージが撮られた位置の間の関
係に関する従来の情報をその関係を決定するために用い
ることなく、異なるテクニックを用いて第1及び第2の
イメージにおいてマッチした特徴を表す信号を処理す
る。その関係は、複数回決定され、その関係の選択がな
される。ここで、各回においては、異なる1つ又は複数
のマッチングテクニックでマッチされた特徴が用いられ
る。
【0018】本発明によって提供される画像処理装置及
び方法においては、画像が撮られた位置の間の関係につ
いての従来の情報を用いることなく、第1及び第2の画
像においてマッチした特徴を表す信号が、その関係を決
定するために処理される。以下のステップが複数回実行
される。マッチした特徴が非物理的な実現化行列(たと
えば、fundamental行列など)をセットアップするのに
用いられ、その行列は物理的な実現化行列(たとえば、
物理的fundamental行列など)に変換され、その正確さ
がテストされる。最も正確な物理的実現化行列が選択さ
れる。
【0019】また、本発明によって提供される画像処理
装置或いは方法においては、オブジェクトの少なくとも
3つのイメージにおける対応するオブジェクト特徴を表
す信号と、イメージングポジションの間の関係を表す信
号とが処理され、当該オブジェクト上のポイントを表す
3次元空間における位置を生成する。対応する特徴の各
ペアが3D空間におけるポイントを特定するのに用いら
れ、同一の対応特徴から生成される3Dポイントが、対
応するオブジェクト上のポイントを表す3Dポイントを
定義するのに持ちいられる。続いて、その3Dオブジェ
クトポイントがオブジェクト上の同一のポイントを表す
ことができたかどうかを調べるべく処理を実行し、でき
ていれば更なる処理が実行される。
【0020】
【発明の実施の形態】これから説明する実施形態におい
て、2次元写真から再生されるオブジェクトの3次元モ
デルを表すオブジェクトデータは、選択されたあらゆる
視点方向からのオブジェクトのイメージをユーザに対し
て表示するために処理されるものである。しかしなが
ら、このオブジェクトデータは、異なる応用のために、
多くの他の方法においても処理され得るものである。た
とえば、3次元モデルは、オブジェクトのモデルを製造
するための製造設備を制御するのに用いられてもよい。
或いは、オブジェクトデータはオブジェクトを認識する
ために処理されてもよい。たとえば、オブジェクトデー
タをデータベースに予め格納されたデータと比較するこ
とによりオブジェクトの認識ができる。データは、ま
た、オブジェクト上での測定を行うために処理されても
よい。これは、オブジェクト上で測定が実行できないよ
うな場合、たとえば、そのような測定を行うのが非常に
危険であるような場合、たとえばオブジェクトが放射性
を有する場合等において特に有効である。また、3次元
モデルは、オブジェクトに生じた変化、たとえばオブジ
ェクト自身に生じた実際の物理的変化等を判断するため
に、以前に生成されたオブジェクトの3次元モデルと比
較されてもよい。また、3次元モデルは、ロボットがオ
ブジェクトと衝突するのを防ぐために、ロボットの動作
を制御するのにも用いられ得る。もちろん、オブジェク
トデータは、上述の処理が施される前に、遠隔の処理装
置に伝送されて、上述の処理が施されるようにしてもよ
い。特に、オブジェクトは、インターネット上の伝送の
ために、仮想現実マークアップ言語(VRML:virtual rea
lity mark-up language)フォーマットで提供されても
よい。
【0021】図1は、本実施形態における画像処理装置
の全体的な構成を示すブロック図である。本装置におい
て、コンピュータ2は、中央処理ユニット(CPU)4
を有し、中央処理ユニット4にはメモリ6が接続されて
いる。メモリ6はCPU4によって実行される動作を規
定するプログラムを格納するとともに、オブジェクト及
びCPU4によって処理されたイメージデータを格納す
る。
【0022】ディスクドライブ8がメモリ6に接続され
る。ディスクドライブ8は、フロッピーディスク10の
ような着脱可能なデータ格納メディアを受容し、そこに
格納されているデータをメモリ6へ伝送する。中央処理
ユニット4のための動作命令は、ディスクドライブ8を
用いて、着脱可能なデータ格納メディアからメモリ6へ
入力されてもよい。
【0023】また、CPU4によって処理されるイメー
ジデータは、ディスクドライブ8を用いて、着脱可能な
データ格納メディアからコンピュータ2へ入力されても
よい。或いはそれに加えて、処理されるべきイメージデ
ータはキヤノンパワーショット600のようなディジタ
ルイメージデータ出力部を有するカメラ12から直接的
にメモリ6へ入力されてもよい。イメージデータはメモ
リ6に入力される前にカメラ12に格納されてもよい
し、或いは、カメラ12によってデータを集めながら
(撮影しながら)、リアルタイムでメモリ6へ転送する
ようにしてもよい。イメージデータはまたディジタルカ
メラ12の代わりに一般的なフィルムカメラから入力さ
れてもよい。この場合、カメラによって撮影された写真
をスキャンし、ディジタルイメージデータを生成してメ
モリ6に入力するために、スキャナ(不図示)が用いら
れる。加えて、イメージデータは、ローカルデータベー
スとの接続(不図示)を介して、イメージデータを格納
する遠隔データベースからメモリ6へダウンロードされ
てもよい。なお、ローカルデータベースとしては、たと
えば、イメージデータが光ディスクに格納されるコダッ
クのフォトCD装置があげられる。
【0024】入力装置14がCPU4の入力ポートに接
続される。この入力装置14は、たとえば、キーボー
ド、及び/或いはマウスやトラックボールのような位置
検出入力装置を備える。
【0025】また、CPU4にはフレームバッファ16
が接続される。フレームバッファ16は、イメージを構
成する各ピクセルのためにひとつ(或いは複数)のメモ
リロケーションを提供し、これにより、中央処理ユニッ
ト4によって生成された少なくともひとつのイメージに
関連するイメージデータを格納するべく構成されたメモ
リユニットを備える。
【0026】また、フレームバッファ16には、ディス
プレイユニット18が接続される。ディスプレイユニッ
ト18は、一般的な方法で、フレームバッファ16に格
納されたイメージを表示する。また、フレームバッファ
16にはビデオテープレコーダ(VTR)20、或いは
ペーパープリンタや35mmフィルムレコーダのよう
な、他の画像記録装置が接続される。
【0027】ハードディスクドライブのような、大きな
データ格納容量を有する大容量格納装置は、メモリ6
(典型的にはCPU4を介して)に接続され、また、フ
レームバッファ16にも接続される。大容量格納装置2
2は中央処理ユニット4によって処理されたデータをメ
モリ6から受信することができ、また、フレームバッフ
ァ16からの、表示ユニット18上に表示されるべきデ
ータを受信することができる。
【0028】CPU4、メモリ6、フレームバッファ1
6、ディスプレイユニット18及び大容量格納装置22
は、たとえばサンマイクロシステムズのスパークステー
ションのようなワークステーションなどの、商用的に入
手可能なコンピュータシステムの一部分を形成するもの
であってもよい。
【0029】本発明の実施形態のようにコンピュータ2
を動作させるための処理命令は、フロッピーディスク1
0或いは他のデータ格納メディアに格納されたプログラ
ムの形態で商用的に提供し得るものである。或いは、そ
のような処理命令は、それを受信するコンピュータ2
が、本発明を実施する装置へと再構築されるように、デ
ータリンク(不図示)を介してコンピュータ2へ信号と
して送信され得る。
【0030】図2は、CPU4によって処理されるため
のイメージデータの収集を示した図である。
【0031】オブジェクト24はカメラ12を用いて、
複数の異なる位置からイメージ化される。例として、図
2は、オブジェクト24が、5つの異なる、ランダムな
位置L1〜L5からイメージ化されている。また、図2
における矢印は、それら異なる位置の間におけるカメラ
12の動きを表す。
【0032】位置L1〜L5において記録されたイメー
ジデータはカメラ12に格納されて、続いて、コンピュ
ータ2のメモリ6へダウンロードされる。そして、以下
で説明する方法でCPU4によって処理される。本実施
形態において、CPU4は、それらイメージが撮影され
た位置を特定する情報を、絶対的な条項(term)でも或
いは相互の相対的な条項でも受け取らない。
【0033】図3は、CPU4によってカメラ12から
のイメージデータを処理するための、最上位レベルの処
理ルーチンを示す図である。
【0034】ステップS2において、初期のデータ入力
のためのルーチンが実行される。この処理については、
図4及び図5を参照して後述する。このルーチンの目的
は、カメラ12から受信したイメージデータを、それに
続く処理を容易にするような方法で格納するとともに、
カメラ12のパラメータに関わる情報を格納することで
ある。
【0035】ステップS4において、初期特徴マッチン
グ(initial feature matching)が実行される。ここで
は、オブジェクト24の撮影された異なるイメージ間の
特徴をマッチングする(すなわち、それらイメージ間に
おいて、オブジェクト24の同じ物理的ポイントに対応
するポイントを特定する)。この処理は、図6〜図19
を参照して後述する。
【0036】ステップS6において、それらイメージが
撮影された異なるカメラ位置(図2のL1〜L5)の間
の変換(translation)、すなわち相対的な形態による
それらカメラ自身の位置が、イメージ中においてマッチ
した位置を用いて計算される。この処理は、図20〜図
38を参照して後述する。
【0037】ステップS8において、ステップS6で計
算されたカメラ変換を用いて、イメージ中の更なる特徴
がマッチされる(計算されたカメラ変換は、他のイメー
ジにおいて与えられたポイントにマッチングするポイン
トをそのイメージにおいて探すために、イメージにおけ
る位置を計算、すなわち制約するために用いられてい
る)。この処理は、図39及び図40を参照して後述す
る。
【0038】ステップS10において、オブジェクト2
4の表面上の実際のポイントを表す3次元モデリング空
間におけるポイントが、図41から図48を参照して後
述するように、生成される。
【0039】ステップS12において、ステップS10
で生成された3次元空間のポイントは、3次元における
面を生成するために連結され、これらの面はオブジェク
ト24の3次元モデルを表す。この処理は図49を参照
して後述する。
【0040】ステップS14では、所望の視点方向から
のオブジェクト24のイメージを表示ユニット18上に
表示するために、ステップS12で生成された3Dモデ
ルが処理される。この処理は図50を参照して後述す
る。
【0041】図4は図3のステップS2における初期デ
ータ入力ルーチンにおいて実行されるステップを示す図
である。図4を参照すると、ステップS16において、
CPU4はイメージデータがメモリ6内に受信されるま
で待つ。上述したように、このイメージデータはディジ
タルカメラ12から受信されてもよいし、フロッピーデ
ィスク10を介して受信されてもよいし、スキャナ(不
図示)を用いて写真をディジタル化することによって受
信されてもよいし、或いは、たとえばデータリンク(不
図示)等を介して受信されてもよい。
【0042】全イメージに対するデータが受信された
後、ステップS18で、CPU4は各イメージのデータ
を別々の「プロジェクト」ファイルとしてメモリ6に再
格納する。ステップS20では、CPU4はメモリ6か
ら格納されたデータを読み出し、そのイメージを表示ユ
ニット18上で、ユーザに表示する。
【0043】図5はユーザへのイメージの表示を表す図
である。CPU4は、まず最初に、イメージデータが受
信された順番でイメージを表示する。図2を参照する
と、イメージは位置L1,L2,L3,L4そしてL5
から撮影されている。したがって、これらの位置から撮
影されたイメージのイメージデータが、同じ順番で、カ
メラ12に格納され、カメラ12からイメージデータが
ダウンロードされるときは同じ順番でコンピュータ2に
よって受信されることになる。したがって、図5におい
て示されているように、CPU4は初期において、撮影
時と同じ順番で、すなわちL1,L2,L3,L4,L
5の順番でイメージを表示する。
【0044】イメージを表示するのと同時に、CPU4
はユーザに、たとえば表示ユニット18上にメッセージ
(不図示)を表示することにより、ユーザにイメージを
アレンジしなおすよう促す。この再アレンジでは、最初
の表示のような時間的順序ではなく、オブジェクト24
の周りにおける、イメージが取られた位置に関わる位置
的順序を表す順番にイメージがアレンジされる。時間的
順序と位置的順序は同じであってもかまわない。しかし
ながら、図2において示された例では、位置L3は位置
L1とL2の間にある。それゆえ、オブジェクト24の
周囲のイメージの位置的な順序は、L1,L3,L2,
L4そしてL5となる。したがって、ステップS22に
おいて、ユーザはディスプレイ18上のイメージを再度
アレンジする。たとえば、イメージの正しい位置的順序
を与えるために、位置L2において撮影されたイメージ
をハイライトし、それを位置L3とL4イメージの間に
ドラッグする(図5において矢印で示されているよう
に)。
【0045】これに続いて、ステップS24で、CPU
4はディスプレイ18上のイメージの中心間の距離を計
算する。そして、各イメージに対して最も近隣のものを
決定する。こうして、たとえば、図5を参照すると、位
置L1で撮影されたイメージに対して、CPU4はその
中心と他のイメージの各々の中心との間の距離を計算
し、最も近隣のイメージが位置L3で撮影されたもので
あると判断する。位置L3において撮影されたイメージ
に対して、CPU4はその中心と位置L2,L4および
L5で撮影されたイメージの各々の中心との間の距離を
計算する(CPUは、位置L1で撮影されたイメージ
が、位置L3で撮影されたイメージのひとつの側におい
て、最近隣であることをすでに決定している)。このよ
うにして、CPU4は、位置L2において撮影されたイ
メージが、位置L3の他の側において撮影されたイメー
ジの最も近い近隣であると決定する。CPUは同じルー
チンを、位置L2,L4及びL5で撮影されたイメージ
に対して実行する。
【0046】ステップS26において、CPU4はメモ
リ6にイメージの位置的な順序を表すリンクを格納す
る。たとえば、CPU4は、そのリンクを別々の実体と
して生成し、メモリ6に格納する。各リンクに関するデ
ータは、リンクの各端におけるイメージを特定する。こ
うして、図2及び図5において示されている例のよう
に、L1とL3の位置において撮影されたイメージをそ
の端に有するもの、L3とL2の位置において撮影され
たイメージをその端に有するもの、L2とL4の位置に
おいて撮影されたイメージをその端に有するもの、そし
て、L4とL5の位置において撮影されたイメージをそ
の端に有するものという4つのリンクをCPU4は生成
する。
【0047】ステップS26において、CPU4はま
た、各イメージのためのプロジェクトファイル(ステッ
プS18において生成されたもの)に、そのイメージに
接続される各リンクの実体へのポインタを格納する。た
とえば、位置L3で撮影されたイメージのためのプロジ
ェクトファイルは、第1及び第2リンクへのポインタを
有する。
【0048】ステップS28において、CPU4は、そ
のイメージデータを記憶したカメラに関する情報を入力
するようユーザに要求する。CPU4はこれを、ユーザ
への要求メッセージの表示によって実現する。ここで
は、カメラレンズの焦点距離や、カメラ内のCCD撮像
素子或いはフィルムのサイズの入力を要求する。CPU
4はまた、ディスプレイ18上に、標準的なカメラのリ
ストを表示する。この情報はメモリ6に予め格納されて
いる。そして、ユーザは直接的に各情報を入力する変わ
りに、使用したカメラをそのリストから選択することが
できる。ステップS30において、ユーザは要求された
カメラデータを入力する、或いはリスト表示されたカメ
ラの一つを選択する。そして、ステップS32におい
て、CPU4は、以降の処理において使用するために、
入力されたカメラデータをメモリ6に格納する。
【0049】CPU4によってメモリ6に格納されたイ
メージデータの処理は、図6〜図50を参照して以下に
説明する。
【0050】図6は、ステップS4,S6,S8におい
てCPU4によって実行される、初期特徴マッチングの
ルーチン、カメラ変換の計算ルーチン、制約的特徴マッ
チング(constrained feature matching)のルーチン間
の、トップレベルにおける関連を示す。これらのルーチ
ンの目的のために、CPU4は、イメージを3つのイメ
ージからなるグループで考慮する。そのグループは、ス
テップS22(図4)において生成された位置的な順序
における順番で生成され、各グループはイメージの「ト
リプル」(以下、イメージトリプル)と称される。こう
して、メモリ6に(図2及び図5の例のように)5つの
イメージのためのデータが格納された場合、CPU4は
3つのイメージトリプルを考慮する(すなわち、位置的
順序を1〜5としたとき、イメージ1−2−3、イメー
ジ2−3−4、そしてイメージ3−4−5である)。各
イメージトリプル内において、2つのイメージペアが存
在する。すなわち、当該トリプル内における第1及び第
2イメージからなるペアと、当該トリプル内における第
2及び第3イメージからなるペアである。
【0051】図6を参照すると、ステップS40におい
て、次のイメージトリプルが処理のために考慮される
(最初にステップS40が実行されときには、最初のト
リプル、すなわち位置的順序におけるイメージ1−2−
3となる)。ステップS42において、トリプルにおけ
るイメージのペア間にわたるポイントをマッチさせるた
めに、或いは3つのイメージのすべてにわたるポイント
をマッチさせるために初期特徴マッチングがその3つの
イメージに対して実行される。そして、ステップS44
において、ステップS42でマッチさせたポイントを用
いて、これら3つのイメージが撮影された位置の間のカ
メラ変換が計算される。計算されたカメラ変換は、その
位置的順序におけるイメージ間のカメラの移動及び回転
を特定する。この点についてはさらに詳細に後述する。
【0052】ステップS46において、CPU4はステ
ップS44で計算されたカメラ変換が十分に正確かどう
かを判断する。もし、その変換が十分に正確であると判
定された場合は、ステップS48において、その計算さ
れたカメラ変換を用いて、その3つのイメージについて
更なる特徴のマッチングを行う。ステップS48におい
て、CPU4によって実行される特徴マッチングは、制
約的特徴マッチングと称される。というのは、ステップ
S44で計算されたカメラ変換が、そのトリプルのある
イメージにおいて与えられたポイントにマッチするであ
ろう別のイメージ内のポイントを特定するために、当該
別のイメージにおいて検索する領域を制約するのに用い
られるからである。ステップS46において、計算され
たカメラ変換が十分に正確でないと判断された場合は、
ステップS42からステップS46が、十分な精度のカ
メラ変換が得られるまで繰り返される。しかしながら、
以下に説明されるように、CPU4が、計算されたカメ
ラ変換が十分に正確ではないと判断された後に、ステッ
プS42において3つのイメージの初期特徴マッチング
を繰り返し実行するときの第1回目の処理において、ス
テップS42が一番最初に実行された際に用いられた第
1のテクニックとは異なる第2のテクニックが用いられ
る。さらに、ステップS42の引き続く再実行におい
て、CPU4は第2テクニックを用いて初期特徴マッチ
ングを実行するが、入力としてのマッチングポイントの
数はその都度異なる(ステップS42が繰り返される都
度その数は増加する)。
【0053】ステップS50において、CPU4は、イ
メージの位置的順序においてまだ考慮されていない他の
イメージがが存在するかどうかを判断し、もし存在すれ
ば、ステップS40からS50が次のイメージトリプル
を考慮するために繰り返される。これらのステップは、
すべてのイメージが上述したような方法で処理されるま
で繰り返されることになる。
【0054】図7は、初期特徴マッチング、カメラ変換
計算、及び制約的特徴マッチングの間のさらに詳細な関
連を説明する図である。
【0055】図7を参照すると、ステップS52におい
て、CPU4は、第1のテクニックを用いてイメージト
リプル中の最初のペアに対して、後述するような、初期
特徴マッチングを実行する。この第1の初期特徴マッチ
ングテクニックはユーザからの入力を要求しないという
点において、自動的である。ステップS54において、
CPU4は、そのトリプル中の第2のイメージペアに対
して、自動的なテクニックを用いた第1の初期特徴マッ
チングを実行する。ステップS56において、CPU4
はトリプル中におけるイメージ間のカメラ変換を計算す
る。ステップS58において、CPU4はステップS5
6で計算されたカメラ変換が十分に正確であるかどうか
を判断する。もしそれらが十分に正確であるならば、そ
のトリプルのイメージにおける、更なるポイントをマッ
チさせるために、ステップS74において制約的特徴マ
ッチングが実行される。
【0056】一方、ステップS58において、計算され
たカメラ変換が十分に正確ではないと判定された場合、
CPU4はそのイメージトリプルについて、異なるテク
ニックを用いて、ステップS60からS68において初
期特徴マッチングを実行する。この実施形態において
は、後述するように、アフィン(affine)テクニック
(これは、イメージ中のオブジェクト24が、そのイメ
ージの小領域に渡って意味のあるパースペクティブプロ
パティ(perspective property)を提示しないことを仮
定する)が用いられる。
【0057】ステップS60において、ユーザは、トリ
プル中の第1のイメージペア、及びトリプル中の第2の
イメージペアにおけるマッチングポイント(すなわち、
オブジェクト24上の同一な物理的ポイントに対応する
ポイント)を特定することを要求される。これは、ユー
ザに対して、トリプル中の3つのイメージをディスプレ
イユニット18上に表示することでなされる。ユーザ
は、表示されたカーソルを入力手段14を用いて動か
し、第1のイメージ中のポイントを特定するとともに、
第2のイメージ中の対応するマッチングするポイント
(オブジェクト24上の同一の物理的ポイントを表す)
を特定する。この処理は、第1と第2のイメージの間に
おいて10対のポイントがマッチされるまで繰り返され
る。ユーザは、次に、第2と第3のイメージにおける1
0組のマッチしたポイントのペアを特定するために上記
の処理を繰り返す。ユーザにとって、ポイントを選択す
る際に、表示されたカーソルを所望のポイント(それは
1ピクセルを占める大きさを有する)に正確に合わせる
のは困難であろう。したがって、ユーザによって特定さ
れたあるポイントが、ステップS52もしくはS54に
おいてCPUによって前もってそのイメージ中に特定さ
れたポイントの2ピクセル以内であれば、もしくは、ス
テップS62、S64或いはS74が前もって実行され
た場合にそれらの処理においてCPUによってそのイメ
ージ中に特定されたポイントの2ピクセル以内であれ
ば、CPU4はユーザが特定しようと意図したものが、
CPUが前もって自動的に特定したポイントであると判
断し、続いて、ディスプレイ18上でユーザによって実
際に特定されたポイントではなく、このポイントの座標
を格納する。
【0058】ステップS62において、CPU4は、ア
フィンマッチングテクニックを用いてトリプル中の第1
のイメージペアにおいてポイントをマッチさせる。そし
て、ステップS64において、このテクニックを用い
て、そのトリプル中の第2のイメージペアにおいてポイ
ントをマッチさせる。以下で説明するように、アフィン
特徴マッチングにおいては、CPU4は、各イメージの
ペアにおけるイメージ間の関連を決定するために、すな
わち、一方のイメージから他方のイメージへポイントを
変換するために必要な数学的な変換を得るために、ステ
ップS60でユーザによってマッチされたポイントを用
いる。そして、CPU4は、これを用いて、イメージ中
における更なるマッチングポイントを特定する。
【0059】ステップS66において、CPU4は、そ
の時点でマッチされているポイントのすべてを用いて、
そのトリプルにおける3つのイメージが撮影された位置
の間のカメラ変換を再度決定する。そして、ステップS
68において、計算された変換が十分に正確かどうかを
判断する。その変換が十分に正確であると判断された場
合は、CPU4はステップS74においてその3つのイ
メージに対して制約的特徴マッチングを実行する。一
方、その変換が十分に正確でないと判断された場合は、
CPU4はステップS70で、当該トリプル中の各イメ
ージのペアに関してより多くのポイントをマッチさせる
ようユーザに(すなわち、各イメージのペアにおいて、
オブジェクト24上の同一の物理的なポイントに対応す
るイメージポイントを特定するように)要求する。この
実施形態において、ユーザは、イメージトリプルにおけ
る第1のイメージペアにおいて10ペアの更なるマッチ
ングポイントを特定するように要求され、さらに、イメ
ージトリプルにおける第2のイメージペアにおいて10
ペアの更なるマッチングポイントを特定するように要求
される。ステップS72において、ユーザは、ステップ
S60において前述したのと同様の方法でマッチングポ
イントを特定する。そして再び、ユーザによって特定さ
れたポイントがCPU4によって(ステップS52又は
S54のいずれか、或いはステップS62、S64或い
はステップS74において)以前に特定されたポイント
から2ピクセル内にあればユーザはそのポイントを特定
するべく意図したものと判断され、ユーザによって特定
されたポイントではなく、CPUによって特定されたポ
イントの座標が格納される。
【0060】ステップS62からS72は、ステップS
68において、トリプルにおけるイメージ間の十分に正
確なカメラ変換が計算されたと判断されるまで、繰り返
される。すなわち、第2の特徴マッチングテクニック
(本実施形態ではアフィンテクニック)が、異なる数の
ユーザ特定されたマッチングポイントを各回の入力とし
て用いて、計算されるべき十分な精度のカメラ変換を可
能とするのに必要なマッチングがなされるまで繰り返さ
れる。そして、トリプルにおける3つのイメージのため
の制約的特徴マッチングがステップS74において実行
される。
【0061】ステップS76において、CPU4は処理
すべき位置的順序の中に他のイメージが存在するかどう
かを判断する。もし存在するならば、ステップS54か
らS76が、すべてのイメージが処理されるまで繰り返
される。図7からわかるように、ステップS52は、後
続のイメージが考慮される場合には実行されない。図2
及び図5に示される例を参照すると、CPU4によって
処理されるべきオブジェクト24の5つのイメージがあ
る。位置的順序におけるイメージ1とイメージ2のポイ
ントはステップS52(そして、第2特徴マッチングテ
クニックが用いられるならばステップS62)において
マッチングされる。また、イメージ2とイメージ3のポ
イントはステップS54(そして、第2マッチングテク
ニックが用いられるのであればステップS64)でマッ
チされる。上述したように、トリプルを単位としてイメ
ージが考慮される。したがって、イメージ4が最初に考
慮されるのは、イメージ2,3及び4を備えたトリプル
が考慮される場合である。しかしながら、イメージ2と
3におけるポイントは、ステップS54(及びステップ
S64)においてCPU4によって既にマッチングされ
ている。したがって、処理はステップS54から開始さ
れ、ステップS52は省略されるのである。ステップS
54では、トリプル中の第2のイメージペア(すなわ
ち、イメージ3、4)におけるポイントの自動的な特徴
マッチングが実行される。もしも自動的なテクニック
が、ステップS56及び58において十分に正確なカメ
ラ変換を生成できなかった場合は、トリプル中のイメー
ジの第1のペアと第2のペアの両方についてアフィンテ
クニックが実行される。すなわち、ユーザがステップS
60においてこれらイメージにおける更なるマッチング
ポイントを特定するので、第1のイメージペアに対して
初期特徴マッチングが再実行される。
【0062】本実施形態において、制約的特徴マッチン
グは、その順序における次のイメージが考慮され、初期
の特徴マッチングがそれに対して実行される前に、与え
られたイメージのトリプルに対して実行される。上述し
たように、制約的特徴マッチングのステップは、考慮中
のイメージトリプルにおける更なるマッチングポイント
を生成する。実際、後述するように、第1のイメージペ
アにおいて以前にマッチされたポイントとマッチするポ
イントがそのトリプルの最終イメージにおいて特定され
る(このようにして、すべての3つのイメージにおいて
マッチさせられたポイントを与える)。従って本実施形
態は、トリプルにおける次のイメージに対して初期特徴
マッチングを実行する際に、トリプルの最終イメージに
おけるこれらの新たにマッチしたポイントが用いられる
という長所を提供する。例えば、図5に示されるシーケ
ンスにおける最初の3つのイメージが処理される場合、
ステップS74における制約的特徴マッチングのステッ
プは、イメージ1とイメージ2内のポイントにマッチす
るイメージ3内のポイントを特定する。CPU4がイメ
ージ4を考慮し、ステップS54(及びステップS6
4)において初期特徴マッチングを実行する場合、ステ
ップS74で生成された新しいポイントが考慮され、マ
ッチングポイントがイメージ4の中に存在するかどうか
を判断するために、処理が実行される。マッチングポイ
ントがイメージ4において特定された場合、ステップS
74における制約的特徴マッチングによってマッチされ
た新しいポイント、およびポイントのトリプルから初期
特徴マッチングによって特定された新たなポイントが、
ステップS56もしくはS66でカメラ変換を計算する
際に考慮に入れられる。このように、ステップS74の
制約的特徴マッチングのステップは、次のイメージトリ
プルに対するカメラ変換の計算に用いられるポイントを
生成する可能性がある(すなわち、次のトリプルにおけ
るイメージの第2のペアに対するステップS54或いは
S64における初期特徴マッチングが、制約的特徴マッ
チングにおいてイメージの第1のペアにわたってマッチ
したポイントの少なくともひとつを新しいトリプルの第
3のイメージへマッチさせる場合)。これについてはさ
らに詳しく後述する。
【0063】こうして、図7に示される処理は、次の初
期特徴マッチング処理の入力のために、および次のカメ
ラ変換処理を計算するために、計算されたカメラ変換を
用いて決定された新しいマッチングされたポイントのフ
ローを形成する。
【0064】図7におけるステップS52とS54にお
ける自動的な初期の特徴マッチングにおいてCPU4に
よって実行される処理について以下に説明する。
【0065】図8は、トリプルにおける第1のイメージ
ペアに対して自動的な初期特徴マッチングが実行される
際の、CPU4によってステップS52で実行される処
理を示す。
【0066】ステップS80において、トリプルの第1
のイメージにおける各ピクセルに対して、そのピクセル
に関するエッジおよびコーナーの量を表す値が計算され
る。これは、例えば、一般的なピクセルマスクを第1の
イメージに適用し、各ピクセルが考慮されるようにこの
マスクを動かすことによりなされる。そのようなテクニ
ックは、「Computer and Robot Vision Volume 1、R.M.
Haralick、L.G. Shapiro著、第8版、Addison-Wesley
Publishing Company出版、1992、ISBN 0-201-10877-1
(V.1)」に記載されている。ステップS82において、
所定の閾値を超えるエッジおよびコーナーの値を有する
あらゆるピクセルは、一般的な方法で、第1のイメージ
におけるストロングコーナーとして特定される。ステッ
プS84において、CPU4は第1のイメージに対して
ステップS80で実行される上述の処理を第2のイメー
ジに対して実行する。そして、同様に、ステップS82
で前に実行されたのと同じテクニックを用いて、ステッ
プS86で第2のイメージにおけるストロングコーナー
を特定する。
【0067】ステップS88において、CPU4は、ス
テップS82で第1のイメージにおいて特定された各ス
トロングコーナーを、ステップS86で第2のイメージ
において特定されたあらゆるストロングコーナーと比較
する。ここで比較に用いられる第2のイメージのピクセ
ルは、第1および第2のイメージにおけるコーナーの相
似性測度をプロデュースするための第1のイメージにお
ける考慮中のコーナーポイントと同じピクセル座標を有
する第2イメージ内のピクセルを中心とする所定のウイ
ンドウ領域内に存在するものである。この実施形態にお
いて、第2のイメージにおいて考慮される領域のサイズ
はy方向に中心ピクセルの±10ピクセル、x方向に中
心ピクセルの±200ピクセルである。第2のイメージ
における検索領域を減少させるためのそのようなウイン
ドウ領域の使用は、オブジェクト24の異なる部分に存
在する類似のポイントがマッチングしたと特定されない
ようにすることをより確実にする。本実施形態における
ウインドウは小さいy値(高さ)と比較的大きなx値
(幅)を有する。これは、オブジェクト24のイメージ
がしばしばカメラ12を用いてユーザにより、垂直方向
にはほぼ同じ高さで(オブジェクト24の表面上のポイ
ントが、イメージ中の垂直方向(y)には移動しないよ
うに)、水平方向にオブジェクト24の周りで移動して
記録されるからである。本実施形態において、ポイント
の比較は、適応的最小二乗相関テクニックが用いられ
る。これは、例えば、Adaptive Least Squares Correla
tion: A Powerful Image Matching Technique A.W. Gr
uen in Photogrammetry Remote Sensing and Cartograp
hy 1985、175-187頁に記載されている。
【0068】ステップS90において、CPU4はマッ
チングポイントを特定し格納する。これは、以下に説明
するように、緩和(relaxation)テクニックを用いて実
行される。ステップS88は第1のイメージにおける各
ストロングコーナーと第2のイメージにおける複数のス
トロングコーナー(すなわち、上述した第2イメージに
おけるウインドウ内に存在するもの)との間の相似性測
度を生成する。ステップS90において、CPU4は効
果的にこれらの値をテーブルアレイ(配列)に並べる。例
えば、第1のイメージにけるすべてのストロングコーナ
ーをカラム(行)にリスティングし、第2のイメージにお
けるすべてのストロングコーナーをロー(列)にリスティ
ングする。そして、テーブル内の適切な交点によって与
えられる各コーナーのペアについて相似性測度を表す。
この方法において、テーブルアレイの1つのローは、第
1のイメージにおける与えられたコーナーポイントと第
2のイメージにおける各コーナーポイントとの間の相似
性測度を明示する(第1のイメージにおけるコーナーが
第2のイメージにおけるコーナーと比較されなかった場
合、ステップS88において相似性測度はゼロとな
る)。同様に、アレイ内のコラムは、第2イメージ内の
与えられたコーナーポイントと第1のイメージ内の各コ
ーナーポイントとの間の相似性測度を明示する(ここで
も、ステップS88においてポイントが比較されなかっ
たいくつかの値はゼロとなる)。CPU4は、次に、値
の第1行目を考慮し、当該行において最も高い相似性測
度値を有するものを選択し、この選択された値が、それ
が存在するコラムの中においても最も高い値であるかど
うかを判断する。その値がローおよびカラムにおいて最
も高い値である場合、これは第2のイメージにおけるそ
のコーナーポイントが第1のイメージに対する最もマッ
チングするポイントであり、また第1のイメージにおけ
るそのコーナーポイントが第2のイメージに対する最も
マッチングするポイントでもある。この場合、CPU4
は当該ローおよび当該カラムにおけるすべての値をゼロ
にセットし(これらの値が更なる処理において考慮され
ることのないように)、最高の相似性測度値が所定の閾
値(本実施形態では0.1とする)を超えたか否かを判
断する。類似性計測がその閾値を越えた場合、CPU4
は、第1のイメージにおけるそのポイントと第2のイメ
ージにおける対応するポイントをマッチングしたポイン
トとして格納する。一方、類似性計測が閾値を越えてい
ない場合は、たとえそのポイントが互いに最もよいマッ
チングポイントであったとしても、類似性の度合いがマ
ッチングポイントとしてそのポイントを格納するには十
分ではないと決定する。
【0069】CPU4は、すべてのローが考慮されるま
で、テーブルアレイの各ローに対してこの処理を繰り返
す。ローにおける最も高い類似性計測が、それが存在す
るカラムにおいては最も高いものとならない場合は、C
PU4は次のローを考慮するべく処理を移す。従って、
ステップS90においてマッチングポイントのペアがひ
とつも特定されない可能性もある。
【0070】CPU4は、すべてのローが考慮された前
回の処理でマッチングポイントが特定された場合、上記
の処理を繰り返すために、テーブルアレー内の各ローを
再度考慮する。CPU4はそのような反復を繰り返し実
行し、それは、繰り返しにおいてひとつのマッチングポ
イントも特定されなくなるまで繰り返される。
【0071】図9は、トリプル内の第2のイメージペア
に対する自動的な初期特徴マッチングを実行する際の、
図7のステップS54においてCPU4により実行され
るステップを示す。この場合、そのペアの第1のイメー
ジ内のポイントはすでに特定されている。すなわち、先
行するイメージペアが考慮されたときの、図8のステッ
プS84とS86におけるストロングコーナーであり、
或いはまた、自動的な初期特徴マッチング(ステップS
54)、アフィン初期特徴マッチング(ステップS6
0、S64およびS72)、制約的特徴マッチング(ス
テップS74)からの他方の特徴ポイントである。これ
は、ただし、これらのステップが先行するイメージトリ
プルに対して実行された場合のことである。したがっ
て、CPU4は第2のイメージペアにおけるストロング
コーナーを特定するのみでよい(トリプルの第3のイメ
ージが考慮中のとき)。
【0072】図9を参照すると、ステップS92におい
て、CPU4はトリプルの第3のイメージに対してピク
セルマスクを適用し、第3のイメージの、各ピクセルに
ついて、エッジとコーナーの量を示す値を計算する。こ
れは前述したステップS80における処理と同じ方法で
実行される。ステップS94において、CPU4は第3
のイメージにおけるストロングコーナーを特定し格納す
る。これは前述のステップS82と同じ方法で実行され
る。ステップS96において、CPU4は先行するステ
ップS86、S54、S60、S64、S72およびS
74において、そのトリプル中の第2のイメージに対し
て特定され格納されたストロングポイントと、そのトリ
プル中の第3のイメージに対してステップS94で特定
され格納されたストロングコーナーとを考慮し、ポイン
ト対の間で相似性測度を計算する。これは前述したステ
ップS88と同様の方法で実現される(ここでも、第2
のイメージにおける各ポイントに対して比較される第3
のイメージにおけるポイントを限定するためのウインド
ウを用いる)。ステップS98において、そのトリプル
の第2および第3のイメージにおけるマッチングポイン
トが特定され格納される。これは前述のステップS90
と同じ方法で実現される。
【0073】ステップS52およびS54(上述した)
においてCPU4によって実行された特徴マッチングテ
クニックは、オブジェクト24が類似した複数の特徴ポ
イントを含む場合に、すなわち、同じ視覚的特徴を有す
る複数のポイントがオブジェクト24の面に渡って分散
している場合に、正確にマッチしたポイントを生成し得
ないであろうことが見出されている。これは、このよう
な状態において、同じ視覚的特徴を有するが、オブジェ
クト24の表面上の正確に同じ物理的ポイントを表して
いないポイントがイメージにおいてマッチングしてしま
うからである。このことを考慮するために、本実施形態
においては、第2の初期特徴マッチングテクニックがC
PU4によって実行される。このテクニックは、イメー
ジ間において正確に一致することがわかっている少数の
ポイントを用いてイメージを小さい領域に分割し、各イ
メージ内の対応する小領域においてポイントをマッチさ
せることを試みる。この第2のテクニックは、イメージ
内の対応する領域間のアフィン変換が計算できるよう
に、生成された小領域がフラット(パースペクティブ的
な質を提示するものではない)であることを仮定してい
る。第2のテクニックは、したがって、アフィン初期特
徴マッチングテクニックと称される。
【0074】図10aと10bは、パースペクティブプ
ロパティを表すオブジェクト(図10a)とアフィンプ
ロパティを表すオブジェクト(図10b)との間の相違
を表す図である。(CPU4による処理のためにメモリ
6へインプット可能な他のタイプのイメージとしてはフ
ラットオブジェクトのイメージがある。この場合におい
て、オブジェクト上のすべてのポイントは共通のフラッ
トな面に存在するので、オブジェクトの3次元モデルを
生成することは不可能である)。
【0075】以下、CPU4が、図7のステップS62
においてトリプル中の第1のイメージペアに対してアフ
ィン初期特徴マッチングを実行する方法、および図7の
ステップS64においてトリプル中の第2のイメージペ
アに対してアフィン初期特徴マッチングを実行する方法
について説明する。
【0076】図11は、図7におけるステップS62も
しくはS64でトリプル中のイメージペアにおけるアフ
ィン初期特徴マッチングを実行するときの、トップレベ
ルにおける、CPU4によって実行される処理を示す図
である。
【0077】図11を参照すると、ステップS100に
おいて、CPU4は、ステップS60もしくはS72で
ユーザによって他のイメージ中のポイントにマッチさせ
られた、ペア内の各イメージ内におけるポイントを考慮
し、これらのポイント間にエッジが存在するか否かを判
定するためにイメージデータを処理する。これらのユー
ザによって特定されたポイントは正確にイメージ中のマ
ッチングポイントを特定している(例えばステップS5
2、S54、S62、S64或いはS74においてCP
U4によって計算されたポイントは正確ではなく、それ
ゆえに本実施形態のステップS100においては用いら
れない)ので、これらユーザ特定ポイントが用いられ
る。
【0078】図12はステップS100においてCPU
4が実行する方法を示す図である。図12を参照する
と、ステップS106において、CPU4は、そのペア
内の第1のイメージにおいて特定されたポイント(すな
わち、そのペアの第2のイメージにおけるポイントに対
応するとしてユーザによって前もって特定されたポイン
ト)間に存在するあらゆるエッジの非2値の強さ(non-
binary strength)を計算する。そして、ステップS1
08において、CPU4は当該ペアの第2のイメージに
おける特定されたポイント(すなわち、そのペアの第1
のイメージにおけるポイントに対応するとしてユーザに
よって前もって特定されたポイント)に対して同じ計算
を実行する。
【0079】図13および図14は、図12におけるス
テップS106およびS108においてCPU4がエッ
ジ強度を決定する方法を示す。図13を参照すると、C
PU4は、ユーザによって特定されたイメージ内の2つ
のポイント30、32の間に存在する領域「A」におけ
るイメージデータを考慮する。領域Aは、図13に示さ
れるように、ポイント30と32を通る直線が通過する
ピクセルの両側の、ある設定された数のピクセル(本実
施形態では2ピクセル)以内に存在するピクセルと、ポ
イント30、32から距離aのところ、本実施形態では
2ピクセル分に相当する距離、に終端境界を設定し、こ
の終端境界内に存在するピクセルとを備える。ユーザ特
定ポイント(例えばポイント30、32)はディスプレ
イ上でユーザによって特定される際に正確には配置され
ないかもしれず、それゆえ、エッジ(もし、あれば)は
ポイント間を正確に通らないかもしれないので、そのラ
インの上および下のピクセルが考慮される。もしも、ポ
イント30、32が、それらポイントの間のラインが水
平よりも垂直に近いように配置された場合、ラインの上
及び下の2つのピクセルではなく、ラインが通過するピ
クセルの両横側の2つのピクセルが考慮される。図7に
おけるステップS60或いはS72でユーザによって他
のイメージ内のポイントとマッチングされるイメージ内
のポイントがエッジの端(すなわち、コーナー)に存在
するポイントである傾向があることが見出されているた
め、終端境界がセットされる。ポイントが本当にエッジ
の端にある場合、これらの近くにあるピクセルはエッジ
を特定するために用いられるオリエンテーション計算を
ゆがめる。これは、ポイント30と32がエッジの端に
ある場合、エッジがポイント30と32の近くで曲がり
始めるからである。これらのポイントは、ポイント間の
中央領域におけるオリエンテーションとは異なるオリエ
ンテーションの値を各ピクセルに与える。この理由か
ら、ポイント30、32の2ピクセル以内のピクセル
は、強度/方向の計算から省略される。
【0080】図14を参照すると、ステップS114に
おいて、CPU4は一般的な方法を用いてイメージデー
タを滑らかにする(スムージング)。この方法として
は、例えば、Tony Lindeberg著、Kluwer Academic Publ
ishers出版の、Scale-Space Theory in Computer Visio
n、ISBN 0-7923-9418-6の第4章に記載されているもの
を用いることができる。1.0ピクセルのスムージング
パラメータ(これはスムージング処理において用いられ
るマスク演算子の標準偏差である)が本実施形態では用
いられる。
【0081】ステップS115において、CPU4はイ
メージ中における各ピクセルに対するのエッジマグニチ
ュードと方向値を計算する。これは一般的な方法でピク
セルマスクを適用することによりなされる。この処理
は、例えば、"Computer and Robot Vision" Haralickと
Shapiro著、Addison Wesley Pblishing Company,337
〜346ページ、ISBN0-201-10877-1(V.1)に記載されて
いる。本実施形態において、ステップS114で、イメ
ージ全体のデータは平滑化され、ステップS115でエ
ッジマグニチュード及び方向値があらゆるピクセルに対
して計算される。しかしながら、その代わりに、これら
ステップの各々における処理のために、イメージの関連
する領域のみを選択することも可能である。
【0082】ステップS116において、CPU4は、
ユーザによって特定されたポイントの各ペアの間の領域
A内に存在するピクセルを考慮する。そして、それらの
ポイント間のあらゆるエッジラインのマグニチュードを
計算する。図13を再度参照すると、CPU4は、領域
A内のピクセルの最初のカラム、例えばそのイメージ中
における最も左側にあるピクセルのカラム、を考慮する
ことにより開始する。このカラム内において、CPU4
は最初に最上位のピクセルを考慮する。そして、このピ
クセルに対してステップS115で計算されたエッジマ
グニチュードと方向値を閾値と比較する。この実施形態
において、マグニチュードの閾値は、ピクセル毎のスム
ースグレーレベル0.01のという非常に低い値にセッ
トされる。これは、しばしばエッジが、例えばエッジを
横切るように影等を生成し得るライティングによって、
イメージにおいて弱められるからである。したがって、
小さいマグニチュード閾値を用いることにより、あらゆ
る合理的なエッジマグニチュードの値を有するすべての
ピクセルが考慮されることを保証する。方向値の閾値
は、ポイント30と32をつなぐ直線の方向の小さい角
度の偏差内(本実施形態では0.5ラジアン)に存在さ
せるために、ピクセルの方向値に対して比較的厳しい要
求を課するように設定される。これは、ピクセルマグニ
チュード値よりも、方向の方が、ピクセルが実際にエッ
ジを表しているかどうかを決定するのにはるかに正確な
方法であることが見出されているからである。
【0083】もしも、ピクセルカラム中における最上位
のピクセルが、マグニチュード閾値を越える値を有し、
方向の閾値よりも小さい値を有するのであれば、そのカ
ラムに対して「票決(vote)」が登録される。「票決」
はポイント30、32の間のエッジの一部分がそのピク
セルカラムに存在することを表す。もしも、最上位ピク
セルの値がこの条件を満たさなければ、同じテストがそ
のカラム中の残りのピクセルに適用され、そのカラムを
下降して行く。その閾値条件を満足するピクセルが一旦
見出されると、「票決」がそのカラムに関して登録さ
れ、次のカラムのピクセルが考慮される。一方、そのカ
ラムの中にその閾値条件を満足するピクセルが見つから
なかった場合は、そのカラムに関して「票決」は登録さ
れない。ピクセルカラムのすべてがこの方法で処理され
ると、CPU4は、登録された「票決」を有するカラム
のパーセンテージを決定し、このパーセンテージを格納
する。このパーセンテージはエッジの強さを表すもので
ある。
【0084】再び図12において、ステップS106と
S108を実行することで、CPU4は、そのペアの各
イメージにおける各エッジに対する強さを計算し格納す
ることになる。
【0085】ステップS110において、CPU4は、
そのペアの第1のイメージとそのペアの第2のイメージ
におけるエッジに対応する、結合された強さを計算す
る。これは、例えば、第1のイメージ内のエッジに対し
てステップS106で計算され、格納されたエッジ強さ
のパーセンテージと、第2のイメージにおける対応する
エッジに対してステップS108で計算され格納された
値とを読み出し、パーセンテージの幾何平均(すなわ
ち、パーセンテージの積の平方根)を計算することによ
り得られる。もしも結果として、結合された強さの値が
90%未満であった場合、CPU4はそのエッジは以降
の処理で考慮するほどには十分に強くないものと判断
し、それらを破棄する。また、もしも、結合された強さ
の値が90%以上であれば、CPU4はその値を格納
し、両イメージにおけるそのエッジを、以降の処理にお
いて使用するための強いエッジとして特定する。
【0086】ステップS110を実行することにより、
CPU4は効果的に、与えられたポイント間にエッジが
実際に存在するかどうかを判断するためにイメージペア
の両イメージ内のエッジ強さを考慮する。この方法にお
いて、たとえそれが両イメージの一方においていくらか
ゆがめられても(例えば、破壊されても)、エッジはな
お特定される。他のイメージにおけるエッジの強さがそ
れを埋め合わせるからである。
【0087】ステップS112において、CPU4はそ
のペアにおける第1のイメージにおける強いエッジ、す
なわち、ステップS110において弱いエッジが取り除
かれた後に残ったエッジを考慮し、エッジ間のあらゆる
交差を除去するためにイメージデータを処理する。
【0088】図15はエッジの間にクロスオーバが生じ
ているかどうかを判断しそれらを除去するためにCPU
4が実行する処理を示す図である。図15を参照する
と、ステップS120において、CPU4は、ペア中の
第1のイメージにおけるエッジのリストを生成する。こ
のエッジのリストでは、結合された強さの順番にエッジ
が並べられる。最も高い結合された強さを有するエッジ
を当該リストのトップとする。エッジの強さは浮動小数
点で計算され格納されるので、2つのエッジが同じ結合
された強さを有することはめったにない。ステップS1
22において、CPU4はリスト内のエッジの次のペア
を考慮する(そのステップが最初に実行されたとき、こ
れは第1のペアとなる)。そして、ステップS124に
おいて、CPU4は、各エッジの端部のポイントの座標
を比較し、第1のエッジの両端のポイントが第2のエッ
ジの同じ側に存在するかどうかを判断する。もし同じ側
に存在すると判断された場合は、エッジが図16(a)
で示される場合に対応する関係を有し、従って、CPU
4はステップS126において、それらは交差していな
いと判断する。一方、ステップS124において第1エ
ッジの両端のポイントが第2エッジの同じ側に存在しな
いと判断された場合は、エッジは、図16(b)或いは
図16(c)のいずれかに示されるような関係を有す
る。そして、これらの関係のうちのいずれであるかを判
断するために、ステップS128において、CPU4は
再びポイントの座標を考慮し、第2エッジの両端部のポ
イントが第1エッジの同じ側に存在するかどうかを判断
する。もし同じ側に存在するのであれば、エッジの関係
は図16(b)に示されるような場合に対応しており、
CPU4はステップS126において両エッジは交差し
ていないと判断する。一方、ステップS128におい
て、第2エッジの両端のポイントも第1エッジの同じ側
に存在しないと判定された場合は、CPU4は図16
(c)に示されるように両エッジが交差していると判断
する。そして、ステップS130において、当該ペアに
おける第2エッジを除去する。これは結合された強さが
より低いエッジを消去することになる。この処理は、そ
のエッジの結合された強さをゼロにセットすることによ
ってなされ、こうすることにより第1及び第2イメージ
からそのエッジを効率的に除去することができる。ステ
ップS132において、CPU4は、まだ比較されてい
ない他のエッジがリスト中にあるかどうかを判定する。
ステップS122からS132は、すべてのエッジが上
述した方法で考慮されるまで繰り返される。すなわち、
ステップ122から132は、まず最初に、最も高い結
合された強さを有するエッジをリストの下位にある各エ
ッジと比較し(リストを下方へ進む)、その次に、順次
リストに残っているその次に高いエッジとリストに残っ
ているものの内のそれよりも下位にある各エッジとを比
較する(リストを下方へ進む)。こうして、すべての比
較がなされるまで、強さの減少する順番でエッジを比較
しつづける(すなわち、次に高いエッジがそのリスト中
の最後のものとなるまで続ける)。
【0089】ステップS120において、エッジがこの
順番に比較されるように、結合された強さの順番にエッ
ジを並べることにより、後の処理のために、より高い結
合された値を有するエッジの最大数が保持されることが
保証される。例えば、もしもエッジが異なる順序で考慮
されると、第3番目の強さを有するエッジが、第2番目
の強さを有するエッジに交差するので消去され得る。し
かし、2番の強さを有するエッジ自身は、次に、最も強
い結合された強さを有するエッジと交差することが見出
されると、消去されてしまう。これは、本実施形態にお
ける処理ではおこらないことである。
【0090】再び図11を参照すると、ステップS10
0を実行した後、コンピュータ2は、そのペア内の各イ
メージにおいて、設定された閾値を越える強さを有し、
他のエッジと交差しないエッジを格納していることにな
る。ステップS102において、CPU4はユーザによ
って特定されたそのイメージ内のポイントを接続し、三
角形を生成する。
【0091】図17は、図11のステップS102にお
いてCPU4によって実行される処理を示す図である。
図17を参照すると、ステップS140において、CP
U4はまずはじめに、ペア内の第1のイメージにおける
ユーザ特定ポイントを接続する。ここで、これらのポイ
ントは、ステップS100(図11)の処理が実行され
た後に残る強いエッジによって接続されたものである。
ステップS142において、CPU4は、2つの強いエ
ッジを有するあらゆる三角形を完成するように、適切な
ポイントを結合し、それら三角形の第3の辺を生成す
る。ステップS142は、もしも2つの強いエッジが出
会った場合に、それらエッジの他の端が相互に接続され
て、強いエッジを辺として有する単一の三角形を生成す
るという利点を提供する。この方法によれば、オブジェ
クト24のイメージにおけるエッジが、通常は、表面上
の特徴もしくは表面上のエッジに対応するので、他の方
法でポイントが接続された場合よりもオブジェクト24
の物理的な面上に存在するより多くの三角形を生成する
ことができる。
【0092】ステップS140とS142において、も
しもエッジが閾値を越える強さを有しているならば(す
なわち、強いエッジならば)、三角形の辺は完全なエッ
ジから形成されることが観察される。これは、エッジの
全長にわたる辺を有する三角形が生成されるように、エ
ッジが分割されないという利点を提供する。
【0093】ステップS144において、CPU4は、
ペアの第1のイメージ内のユーザによって特定されたポ
イントの座標を考慮し、ステップS140及びS142
でまだ接続されていないあらゆるポイントを接続するま
っすぐなエッジの長さを計算する。これらの接続は、接
続長というターム(term)で格納される。ステップS1
46において、CPU4は、次に短い接続長を有するポ
イントのペア(本ステップが最初に実行されるときは、
もっとも短い接続長を有するポイントのペアとなる)の
座標を考慮し、もしも新しいエッジが既存のエッジとオ
ーバーラップしないならば、それらポイントを接続して
エッジを生成する(もしもオーバーラップするならば、
それらのポイントは接続されない)。ステップS148
において、CPU4は、ステップS144において生成
されたリスト中に、まだ考慮されていないポイントのペ
アが存在するかどうかを判断する。そして、もし存在す
るならば、ステップS146が繰り返される。ステップ
S146とS148は、ユーザによって特定されたポイ
ントのすべてが考慮されるまで繰り返される。ステップ
S150において、CPU4は、接続したエッジによっ
て特定される三角形の頂点のリストをメモリ6内に格納
する。
【0094】図11を再び参照すると、ステップS10
4において、CPU4は、イメージのペアにおいてさら
に対応するポイントを計算するために、ステップS10
2におけるユーザ特定ポイントから決定された三角形を
用いる。
【0095】図18A、Bは、ステップS104におい
てCPU4によって実行される処理を示す図である。図
18A、Bを参照すると、ステップS160において、
CPU4は、ステップS150(図17)において格納
された三角形の頂点の座標を読み出し、ペア内のイメー
ジ間の各三角形に対する変換を計算する。これは第1の
イメ−ジ内の三角形の頂点と第2のイメージにおける対
応する三角形の頂点(すなわち、第1のイメージにおけ
る頂点のポイントに対して以前にマッチした第2のイメ
ージにおけるポイント)を考慮することにより実行され
る。与えられた三角形内のイメージの小さな部分はフラ
ットであり、したがって、パースペクティブによって影
響されないと仮定される。したがって、ひとつのイメー
ジ内における三角形内の各ポイントは、以下のような、
数学的なアフィン変換によって他のイメージにおける対
応するポイントに関連付けられる。
【0096】
【数1】
【0097】ここで、(x,y,1)は、ペア内の第1のイ
メージにおけるポイントの同次の座標であり、(x',y',
1)は、そのペア内の第2のイメージにおけるポイント
の同次の座標であり、そして、A,B,C,D,E及びFはその変
換を決定する未知の変数である。
【0098】CPU4において、変数A〜Fを計算する
ために、数学的変換は三角形の各頂点に対して同じであ
ると仮定する(なぜならば、各三角形の面積は、三角形
内のイメージにおいて表されるオブジェクトの表面の部
分が平面であると仮定できるほどに、十分に小さいから
である)。以下の数式が、第1のイメージ内の三角形の
3つの既知の頂点と第2のイメージにおける3つの対応
する既知の頂点を用いて確立される。
【0099】
【数2】
【0100】ここで、(x,y,1)は、第1のイメージに
おける三角形の頂点の同次の座標であり、座標番号はそ
の座標がどの頂点に関連付けられているかを表し、
(x',y',1)は、第2のイメージにおける、第1のイメ
ージ内の三角形の頂点にマッチするポイントの同次の座
標である(ここでも、座標番号はその座標がどの頂点に
関連付けられているかを表す)。この等式は、A〜Fの
値を計算するための一般的な方法によって解かれ、ゆえ
に、各三角形の変換が特定される。
【0101】ステップS162において、CPU4は第
1のイメージを25ピクセル×25ピクセルの大きさの
一連のグリッド矩形に分割する。そして、矩形が「空」
であることを示すためのフラグを各矩形にセットする。
図19はグリッド矩形に分割されたイメージを表す図で
ある。ステップS164において、CPU4は、考慮中
のペアの第1のイメージ内に、先行するイメージにおけ
るポイントとマッチするが、当該ペアの第2のイメージ
におけるポイントとはマッチしないポイントが存在する
か否かを判定する。考慮中のペアのその第1のイメージ
がその処理における一番最初のイメージである場合(図
2の例において、位置L1で撮影されたイメージ)、そ
の順番において先立つイメージが存在しないので、ステ
ップS164ではそのようなポイントは存在しない。ま
た、その順番における第2のイメージ(図2の例におい
て位置L3において撮影されたイメージ)が、考慮中の
ペアにおける第1のイメージである場合、図7に見られ
るように、ポイントは先行するイメージ(その順番にお
ける第1のイメージ)と、ステップS52における自動
的な初期特徴マッチング、ステップS60またはS72
におけるユーザマッチング、或いはステップS62にお
けるアフィン初期特徴マッチングにより、一致させられ
ている可能性がある。考慮中のペアの第1のイメージが
第3或いはその順番における後続のイメージ(位置L
2、L3或いはL5で撮影されたイメージのうちのひと
つ)である場合、ポイントは先行するイメージと、ステ
ップS54における自動的な初期特徴マッチング、ステ
ップS60またはS72におけるユーザマッチング、ス
テップS62またはS64におけるアフィン初期特徴マ
ッチングと一致させられている可能性があり、或いは前
述され、さらにその詳細が後述されるステップS74に
おける制約的特徴マッチングにより追加的に一致させら
れている可能性がある。
【0102】再び図18Aを参照すると、ステップS1
64でそのようなポイントが存在するとCPU4が判定
すると、CPU4は、ステップS166において「以前
にマッチした」ポイントのひとつを考慮し、ステップS
168において、このポイントが、そのペアの第1のイ
メージ内における図11中のステップS102で生成し
た三角形内に存在するかどうかを判断する。もしもポイ
ントが三角形内に存在しない場合は、処理はステップS
178へ進み、CPU4は当該ペアの第1のイメージ中
に別の、以前にマッチしたポイントがあるかどうかを判
断する。ステップS166、S168、S176は、そ
のペアの第1のイメージ中の三角形内に存在する以前に
マッチしたポイントが特定されるまで、或いはそのよう
な以前にマッチしたポイントのすべてが考慮されるま
で、繰り返される。ステップS168において考慮中の
以前にマッチしたポイントがそのペアの第1のイメージ
内の三角形内に存在すると判断された場合、ステップS
170において、CPU4はそのペアの第2のイメージ
内の対応するポイントを見つけようと試みる。これは、
そのポイントが存在する三角形に関するアフィン変換
(ステップS160において計算されたもの)を、その
ポイントに適用し、第2のイメージ中におけるポイント
を特定することによりなされる。そして、最小二乗相関
ルーチンを適用し、第2のイメージにおける特定された
ポイントとその周りの少領域内のポイントを考慮し、そ
のペアの第1イメージ内における以前にマッチしたポイ
ントと同じ画像特性を有するポイントがあるかどうかを
判断する。なお、適用される最小二乗相関ルーチンとし
ては、「Adaptive Least Squares Correalation: A Pow
erful Image Matchin Technique、A.W. Gruen、Photogr
ammetry Remote Sensing andCartography、1985、175-1
87ページ」に記載されているものを用いることができ
る。これは、第2のイメージ内のポイントに関する相似
性測度をもたらす。ステップS172において、CPU
4は、そのペアの第2のイメージ内に対応するポイント
が見つかったかどうかを、その相似性測度値を閾値(本
例では0.4)と比較することにより判断する。もしも
類似性測度が閾値よりも大きければ、この相似性測度を
有する第2のイメージのポイントが第1のイメージの以
前にマッチしたポイントに対応するものであると決定す
る。そして、ステップS174において、CPU4は第
1のイメージ内のそのポイントが存在するグリッド矩形
に対するフラッグを、そのグリッド矩形が「フル」であ
ることを示すように変更する。ステップS176におい
て、CPU4は、マッチしたポイントを特定するデータ
を格納する。
【0103】ステップS178において、CPU4は、
そのペアの第1のイメージ内に、まだ考慮されていな
い、別の、以前にマッチしたポイントが存在するかどう
かを判断する。そして、もしも存在するならば、ステッ
プS166からS178が繰り返され、そのペアの第1
のイメージ内のすべての以前にマッチしたポイントが上
述した方法で処理されるまで行われる。
【0104】そのペアの第1のイメージ内の以前にマッ
チしたポイントのすべてが処理された場合、もしくは、
ステップS164において以前にマッチしたポイントが
存在しないと判断された場合は、ステップS180にお
いて、CPU4はそのペアの第1のイメージ内の次の空
のグリッド矩形を考慮する。そして、ステップS182
において、三角形(図11のステップS102において
特定されたもの)の部分がその矩形内に存在するかどう
かを判断する。もしも、例えば、図19における矩形3
4、36、38の場合のように、三角形のどの一部分も
その矩形内に存在しないのであれば、処理はステップS
192に進む。ステップS192において、CPU4
は、第1のイメージ内にまだ考慮されていない別の空の
グリッド矩形があるかどうかを判断する。三角形の部分
を含むグリッド矩形(例えば、図19の矩形40)が特
定されるまで、ステップS180、S182及びS19
2が繰り返される。三角形の少なくとも一部が含まれる
矩形が特定されると、次に、処理はステップS184へ
進む。ステップS184において、CPU4は、三角形
とグリッド矩形の両方に存在し最も高いマッチング特性
を有するポイントを特定する。この実施形態において、
この選択は、「Scale-Space Theory in Computer Visio
n、Tony Lindeberg、Kluwer Academic Publishers、ISB
N 0-7923-9418-6、158-160、Junction (corner) Detect
ion」に記載されているようなテクニックを用いて行わ
れ、最も強いコーナー値を持つポイントを特定する。
【0105】ステップS185において、CPU4はそ
の最良のポイントの値を閾値と比較する(本実施形態で
はコーナー値が1.0の閾値と比較される)。もしもそ
の値が閾値よりも小さい場合は、CPU4はその最良の
ポイントのマッチング特性は、そのポイントを他のイメ
ージにおけるポイントにマッチさせようとする処理を正
しく行うのに十分に強くはないと判断する。そして、ス
テップS192へ進む。
【0106】一方、その値が閾値と等しいかそれより大
きければ(それは、そのポイントがマッチングに適して
いることを表す)、ステップS186において、CPU
4はそのポイントが存在する三角形に対するアフィン変
換(ステップS160において計算されたもの)をステ
ップS184において選択されたポイントの座標に適用
し、第2のイメージにおけるポイントを特定する。そし
て、適応化最小二乗相関ルーチンを適用し、第2のイメ
ージにおける特定されたポイントの周囲領域内のピクセ
ルを考慮し、第1のイメージにおけるポイントと第2の
イメージ内のその領域内における最良のマッチングポイ
ントとの間の類似性の度合いを示す値を生成する。ここ
で、適応化最小二乗相関ルーチンは、「Adaptive Least
SquaresCorrealation: A Powerful Image Matchin Tec
hnique、A.W. Gruen、Photogrammetry Remote Sensing
and Cartography、1985、175-187ページ」に示されるよ
うなテクニックを用いることができる。ステップS18
8において、CPU4は、相似性測度を閾値と比較する
ことにより、マッチングポイントがそのペアの第2のイ
メージ内において見つかったかどうかを判断する。もし
も相似性測度が閾値よりも大きければ、CPU4は第2
のイメージにおいて特定されたポイントが第1のイメー
ジにおけるポイントとマッチするものと判断し、ステッ
プS190において、そのマッチングを格納する。もし
も、相似性測度が閾値よりも低ければ、CPU4は第2
のイメージにおいてマッチングポイントが見つからなか
ったと判断する。
【0107】ステップS192において、CPU4は、
第1のイメージにおいて、まだ考慮されていない空のグ
リッド矩形があるかどうかを判断する。ステップS18
0からS192は、上述した方法ですべてのグリッド矩
形が考慮されるまで繰り返される。
【0108】そのペアの第2のイメージにおけるポイン
トにマッチングさせるための当該ペアの第1のイメージ
におけるポイントを特定するために上述したようにグリ
ッドを用いることは、マッチングに考慮された第1のイ
メージ内のポイントが、均一な度合いの間隔を有して広
いエリアにわたって広がる(イメージの小領域内に互い
に群れ合うのではない)という利点をもたらす。そのペ
アの第1のイメージにおけるマッチングに考慮されるべ
きポイントの数と密度はグリッドの面積の大きさを変更
することでなされる。もしも矩形が小さければ、より接
近した間隔のより多くの数のポイントが考慮される。一
方、グリッド矩形が大きければ、より少ない数のより広
い間隔を有したポイントが考慮される。
【0109】次に、CPU4が、図7のステップS56
とS66で、トリプル内の3つのイメージの間における
カメラ変換を計算する方法を、図20〜38を参照して
以下に説明する。
【0110】図20は、カメラ変換計算においてCPU
4によって実行されるトップレベルの処理を示す図であ
る。ステップS200において、CPU4は、カメラ変
換が計算されるトリプルにおけるイメージが、位置的順
序における最初3つのイメージであるかどうかを判定す
る。図7を再度参照すると、位置的順序における最初の
3つのイメージ(すなわち、図2の例では、位置L1、
L2及びL3において撮影されたイメージ)が処理され
る場合、そのトリプルにおけるイメージの第1のペアの
ためのカメラ変換はそれより前には計算されていない。
しかしながら、その順序における次のイメージトリプル
が考慮されるときには、処理されているイメージトリプ
ルは、その順序における第2、第3及び第4のイメージ
を備えることになる。この場合、その順序における第2
と第3のイメージの間のカメラ変換は、これらのイメー
ジが以前のイメージトリプル(このトリプルは、当該順
序における第1、第2、及び第3のイメージを含む)に
関して処理されたときにすでに計算されている。同様に
して、当該順序の後続のイメージが考慮されるときに
は、第1のイメージペアに関するカメラ変換がそれに先
行するイメージトリプルに関する計算においてすでに計
算されたものとなっている。
【0111】そのトリプルの第1のイメージペアに対す
るカメラ変換がそれまでに計算されていた場合は、CP
U4によって実行される処理は先行して計算された変換
を用いることにより簡素化される。したがって、CPU
4は、そのトリプルにおける第1のペアに関するカメラ
変換が先行して計算されたかどうかに依存して、異なる
計算ルーチンを実行する。考慮されているイメージトリ
プルが位置的順序における最初の3つのイメージを備え
る場合、第1のルーチンがステップS202において実
行され、他のイメージトリプルに対してはステップS2
04において第2のルーチンが実行される。
【0112】図21は、図20におけるステップS20
2で実行される計算ルーチンの中で、CPU4によって
実行されるトップレベルの処理を示す図である。図21
を参照すると、ステップS206において、CPU4は
計算に必要なパラメータをセットアップする。ステップ
S208において、CPU4はそのトリプル内の第1の
イメージペア間のカメラ変換を計算し、その結果を格納
する。そして、ステップS210において、CPU4は
そのトリプル内の第2のイメージペア間のカメラ変換を
計算し、その結果を格納する。ステップS212におい
て、ステップS208において計算された第1のイメー
ジペアに対するカメラ変換と、ステップS210におい
て計算された第2のイメージペアに対するカメラ変換と
を用いて、当該トリプル内の3つのイメージすべてに対
するカメラ変換を計算し、これらの変換を格納する。
【0113】図22は、ステップS206においてパラ
メータをセットアップする際の、CPU4によって実行
される処理を示す図である。図22を参照すると、ステ
ップS214において、CPU4は、ステップS30
(図4)でユーザによって入力されたカメラデータを読
む。ステップS216において、CPU4は、ステップ
S52、S60、S62及びS72(図7)における初
期特徴マッチングの間にそのトリプルの第1のイメージ
ペア内でマッチしたポイントと、ステップS54、S6
0、S64及びS72(図7)における初期特徴マッチ
ングの間にそのトリプル内の第2のイメージペア内でマ
ッチしたポイントとを読む。
【0114】ステップS218において、CPU4は、
各イメージペアに対して、ユーザ特定による(すなわ
ち、図7のステップS60もしくはS72においてユー
ザによって特定された)マッチングポイントのリスト、
及びCPU4によってマッチングするものとして(図7
のステップS52、S54、S62或いはS64におい
て)計算されたポイントとユーザ特定によるポイントの
両方を備えるマッチングポイントのリストを生成する。
計算されたマッチングポイントのいくらかは、ユーザに
よって特定されたマッチングポイントと同じになるであ
ろう。この場合、CPU4は、マッチングポイントの重
複をなくすために、CPUによって計算された方のポイ
ントをそのリストから消去する。CPUによって計算さ
れたポイントを消去することにより、CPU4は、計算
に使用されることになる1つのポイントが両方のリスト
に出現することを保証する(上記のように、2つのリス
トのうちの1つはユーザ特定されたポイントのみをリス
トアップしており、それゆえ、重複を除去するためにユ
ーザ特定されたポイントの方を消去すると、そのリスト
においてそのポイントが消滅してしまう)。なお、ユー
ザ特定されたマッチングポイントのリストにおけるリス
トの数はゼロであってもよい。これは、図7のステップ
S60からS72におけるアフィン初期特徴マッチング
が実行されなかった場合である。
【0115】ステップS218においても、CPU4は
トリプルポイント、すなわち、その考慮中のイメージト
リプル中の3つのイメージ全てにわたってマッチするポ
イント(ユーザマッチポイントとCPU計算ポイントの
両方を含む)のリストを生成する。
【0116】ステップS220において、CPU4はス
テップS218において生成されたリスト内のポイント
の座標を正規化する。この段階までにおいて、ポイント
の座標は、そのイメージの左上コーナーから横及び下へ
のピクセルの数によって表されている。そこで、ステッ
プS220において、CPU4は、ステップS214に
て読み出したカメラ焦点距離とイメージプレーン(フィ
ルム或いはCCD)のサイズを用いて、そのポイントの
座標を、ピクセルから、カメラの光学中心を原点に持つ
ミリメータ単位の座標系へ変換する。ミリメータ座標は
ピクセル座標と以下のように関連付けられる。
【0117】
【数3】
【0118】ここで、(x*,y*)はミリメータ座標で
あり、(x,y)はピクセル座標、(Cx,Cy)はイメ
ージの中心(ピクセル座標による)であり、水平方向及
び垂直方向のピクセル数の半分として定義されたもの、
“h”と“v”は隣接するピクセル間の水平及び垂直方
向距離(mm単位)である。
【0119】CPU4はミリメータ座標とピクセル座標
の両方を格納する。
【0120】ステップS222において、CPU4は、
以下に示すように、ユーザ特定ポイントのリストとステ
ップS218で生成されたユーザ特定及び計算されたポ
イントのための測度行列(measurement matrix)、Mを
セットアップする。
【0121】
【数4】
【0122】ここで、(x、y)はペア内の第1イメー
ジにおけるポイントのピクセル座標であり、(x'、
y')は当該ペアの第2イメージにおける対応する(マ
ッチした)ポイントのピクセル座標であり、1〜kの数
字は、その座標がどのポイントのペアに対応するかを表
す(リスト内にはトータルでkペアのポイントがあり、
それは、もちろん、ユーザ特定リストとユーザ特定及び
計算ポイントリストとで異なっていてよい)。
【0123】ステップS224において、CPU4は、
第1のイメージペアのカメラ変換を計算するのに用いる
4つの異なる計算テクニックと、第2のイメージペアの
カメラ変換を計算するのに用いる4つの異なる計算テク
ニックとの実行するべき繰り返しの回数を決定する。カ
メラ変換を計算するのに用いられる4つのテクニック
(第1のイメージペアと第2のイメージペアに対して同
じテクニックが用いられる)は、ユーザ特定ポイントの
リストを用いたパースペクティブ計算(perspective ca
lculation)、ユーザ特定ポイントと計算されたポイン
トのリストを用いたパースペクティブ計算、ユーザ特定
ポイントリストのリストを用いたアフィン計算、ユーザ
特定及び計算されたポイントのリストを用いたアフィン
計算である。
【0124】図23は、図22のステップS224にお
いてCPU4によって実行されるステップを示す図であ
り、このステップでは各計算において用いられるべき繰
り返し回数を決定する。図23を参照すると、ステップ
S230において、CPU4は、ステップS218にお
いて生成されたリストのひとつを考慮し、そのリスト中
のポイントの数が4よりも小さいかどうかを判断する。
もし小さいのであれば、ステップS232において、C
PU4は、そのリスト内のポイントを用いたパースペク
ティブ計算のために実行されるべき繰り返し数“np”
をゼロに設定し、そのリスト内のポイントを用いたアフ
ィン計算のために実行されるべき繰り返し数“na”も
ゼロに設定する。すなわち、ステップS230において
リスト内のポイントの数が4よりも小さいことが見出さ
れた場合には、十分な数のマッチングポイントのペアが
存在しないので、パースペクティブ計算もアフィン計算
も実行されないことを保証するために、それらの繰り返
し数がステップS232においてゼロに設定されるので
ある。
【0125】もしもステップS230においてリスト内
のポイントのペアの数が4以上であると判定されたなら
ば、ステップS234において、CPU4はポイントの
ペアの数が7よりも小さいかどうかを判定する。もし7
よりも小さいのであれば、ステップS236において、
そのリスト内のポイントを用いたパースペクティブ計算
のための繰り返し数“np”をゼロに設定する(その計
算を実行するのには十分ではないからである)。そし
て、そのリスト内のポイントに対するアフィン計算を実
行する際の繰り返し数“na”を15に設定する。“n
a”が15に設定されるのは、その数が、アフィン計算
において、ポイントの6個(7未満の最大の数)のペア
を用いて重複することなく実行することが可能な最大の
繰り返し数だからである。
【0126】もしもステップS234において、リスト
中のポイントのペアの数が7以上であると判定された場
合は、ステップS238においてCPU4は、そのリス
ト内のポイントを用いたパースペクティブ計算のための
繰り返し数“np”を、4,000かk(k−1)(k
−2)(k−3)(k−4)(k−5)(k−6)/2
0160の整数部分のうちの小さいほうにセットすると
ともに、そのリスト内のポイントを用いたアフィン計算
のための実行すべき繰り返し数“na”を、800とk
(k−1)(k−2)(k−3)/48の整数部分の小
さいほうにセットする。後述するように、k(k−1)
(k−2)(k−3)(k−4)(k−5)(k−6)
/20160の値は、重複した計算なしにパースペクテ
ィブ計算を実行することが可能な繰り返しの最大数の2
5%を表す。また、k(k−1)(k−2)(k−3)
/48の値は、重複することなくアフィン計算を行うこ
とが可能な繰り返しの最大数の50%を表す。4,00
0及び800という値は、合理的な時間的制限の中にお
いて許容できる結果を得るために、経験的に決定された
ものである。
【0127】図23に関連して上述した処理は、第1の
イメージペア及び第2のイメージペアに対して4つのカ
メラ変換計算テクニックすべてにおいて実行されるべき
繰り返し数を計算するために、トリプルポイントのリス
トを除く、ステップS218においてセットアップした
リストの各々に対して実行される。
【0128】図24は、ステップS208(図21)に
おいてトリプル内の第1のイメージペアに関するカメラ
変換を計算するとき、及びステップS210(図21)
においてトリプル内の第2のイメージペアに関するカメ
ラ変換を計算するときに、CPU4によって実行される
処理のトップレベルを示す図である。
【0129】図24を参照すると、ステップS240に
おいて、CPU4はパースペクティブ計算を用いて、ペ
アである2つのイメージ間のカメラ変換を計算し、その
結果を格納する。ステップS242において、CPU4
はアフィン計算を用いてイメージペアのカメラ変換を計
算し、その結果を格納する。すなわち、CPU4は2つ
のテクニックを用いて各イメージペアに関するカメラ変
換を計算する。それらの各々は、処理のために入力され
得るイメージの2つの可能なタイプのそれぞれに対応す
る(前述したように、第3のタイプのイメージ、すなわ
ちフラットオブジェクトのイメージは、オブジェクトの
3Dモデルを生成する処理を実行することができな
い)。
【0130】図25A〜Cは、図24のステップS24
0においてパースペクティブ計算を用いて、カメラ変換
の計算を行ったときの、CPU4によって実行される処
理を示す図である。図25A〜Cを参照すると、CPU
4はまず、ユーザ特定されたポイントのリスト中のポイ
ントペアを用いてパースペクティブ計算を実行し(ステ
ップS244〜S262)、そして次に、ユーザ特定さ
れたポイントと計算されたポイントの両方含むリスト中
のポイントペアを用いて、パースペクティブ計算を実行
する(ステップS262からS282)。CPU4は、
どのポイントリストが最も正確な結果を生成したかを決
定し、これらの結果をそのイメージのペアのためのカメ
ラ変換に変換する(ステップS284)。これらの処理
では、複数の異なるポイントのセットを用いて変換が計
算され、このため、正確な変換が計算されるという点に
関して大きな可能性をもたらすという利点を提供する。
演算のより詳細については後述する。
【0131】図25A〜Cを参照すると、ステップS2
44において、CPU4は、ステップS224(図2
2)で決定された、ユーザ特定によるポイントを用いた
パースペクティブ計算のために実行されるべき繰り返し
数を示す値を読み出し、この値がゼロより大きいかどう
かを判定する。もしそうでなかったならば、パースペク
ティブ計算を実行するのにはユーザ特定されたポイント
だけでは十分でないと判断されるので、処理はステップ
S264へ進み、ユーザ特定されたポイントと計算され
たポイントの両方のリストを用いてパースペクティブ計
算のための処理を開始する。
【0132】一方、ステップS244において、繰り返
しの値がゼロよりも大きいならば、ステップS246に
おいてCPU4はカウンタの値を1つだけ増加させる
(最初にステップS246が実行されるときには、CP
U4はこのステップにおいてカウンタ値を1にセットす
る)。ステップS248において、CPU4は、ステッ
プS218(図22)でセットアップされたマッチング
したユーザ特定ポイントのリストから、ランダムに7個
のポイントペアを選択する。ステップS250におい
て、CPU4はその選択された7つのポイントペアと、
ステップS222においてセットされた測度行列とを用
いて、fundamental行列Fを計算する。この行列は、イ
メージ間の幾何学的関係を表し、Fは以下の等式を満足
する3×3の行列である。
【0133】
【数5】
【0134】ここで、(x,y,1)は、そのペアの第
1のイメージ内の、選択された7つのポイントのすべて
の同次のピクセル座標であり、(x',y',1)はその
ペアの第2のイメージにおける、対応する同次のピクセ
ル座標である。
【0135】Fundamental行列は一般的な方法で計算さ
れる。例えば、「Robust Detectionof Degenerate Conf
igurations Whilst Estimating the Fundamental Matri
x、P.H.S. Torr、A. Zisserman及びS. Maybank著, Oxfo
rd University Technical Report 2090/90」に記載され
ているテクニックを用いることができる。
【0136】ステップS248において8つ以上のマッ
チしたポイントのペアを選択して、これらを用いてステ
ップS250でfundamental行列を計算することも可能
である。しかしながら、この実施形態では7個のポイン
トのペアを用いている。この数が、経験的に満足の行く
結果をもたらすものであることが見出されており、ま
た、fundamental行列のパラメータを計算するのに必要
な最小のペア数を表し、必要となる処理を減少させるか
らである。
【0137】ステップS252において、CPU4は、
ステップS214(図22)で読み出したカメラデータ
を用いて、fundamental行列Fを物理的なfundamental行
列F physに変換する。これは一般的な方法において実行
される。例えば、"Motion and Structure from Two Per
spective Views: Algorithms, Error Analysis and Err
or Estimation"、J. Weng, T.S. Huang 及び N. Ahuja
著, IEEE Transactionson Pattern Analysis and Machi
ne Intelligence, vol. 11, No. 5, May 1989,の451-47
6頁に記載されているテクニックを用いることができ
る。以下に要点を示す。
【0138】まず、以下の等式を満足するessential行
列Eが計算される。
【0139】
【数6】
【0140】ここで、(x*,y*,f)はイメージの中
心を原点とするミリメートル座標系における第1のイメ
ージ中の選択された7個のポイントの座標であり、z座
標はカメラの焦点距離fに対応するべく正規化されてお
り、(x*’,y*’,f)は、当該ペアの第2イメージ
において、対応するマッチングポイントの座標を表す。
Fundamental行列Fは,以下の式を用いて、essential行
列Eに変換される。
【0141】
【数7】
【0142】ここで、カメラパラメータh、v、cx
y及びfは予め特定されたものであり、シンボルTは
転置行列を示し、シンボルtrは行列traceを表す。
【0143】移動ベクトル(translation vector)(単
位長さの)と回転行列(この最も近い行列はEphys)に
直接的に分解が可能な、Eに最も最も近い行列を見つけ
ることにより、計算されたessential行列Eは、物理的
なessential行列Ephysに変換される。
【0144】最後に、物理的なessential行列は、以下
の式を用いて、物理的なfundamental行列へ変換され
る。
【0145】
【数8】
【0146】シンボル−1は逆行列を示す。
【0147】物理的なessential行列Ephys、物理的なf
undamental行列Fphysの各々は、物理的に信頼性のある
行列である。すなわち、それは直接的に回転行列と移動
ベクトルへ分解される。
【0148】物理的なfundamental行列Fphysは、連結
イメージ座標(concatenated imagecoordinate)として
知られる、座標(x,y,x',y')で表される4次元
空間における曲面を決定する。曲がった面は上述の式
(6)によって与えられ、それは連結イメージ座標にお
ける4D空間内の3D2次曲面を定義する。
【0149】ステップS253において、CPU4は計
算された物理的なfundamental行列を、ステップS25
0においてそのfundamental行列を計算するのに用いら
れた各ポイントのペアに対してテストする。これは、物
理的なfundamental行列を表す面から、ポイントの各ペ
アを表す4Dポイントまでの4Dユークリッド距離(連
結イメージ座標における)の近似値を計算することによ
りなされる。この距離は、サンプソン距離(Sampson di
stance)として知られるもので、一般的な方法で計算さ
れる。このテクニックは、上述の「Robust Detection o
f Degenerate Configurations Whilst Estimating the
Fundamental Matrix、P.H.S. Torr、A.Zisserman及びS.
Maybank著, Oxford University Technical Report 209
0/96」に記載されている。
【0150】図26は、ステップS253においてCP
U4が物理的なfundamental行列をテストする方法を示
す図である。図26を参照すると、ステップS290に
おいて、CPU4はカウンタをゼロにセットする。ステ
ップS292において、CPU4は、ユーザ特定による
ポイントの7個のペア(ペアにおける各ポイントを特定
する2つの座標は、連結されたイメージ座標の4次元空
間における単一のポイントを特定するために使用され
る)におけるポイントの次のペアの座標によって定義さ
れる4次元ポイントにおいて、物理的なfundamental行
列を表す面のタンジェント平面を計算する。ステップS
292は、事実上、ポイントペアの座標によって特定さ
れるポイントに接触するために面をシフトすることを備
える。これは、一般的な方法によって実行される。例え
ば、「Robust Detection of Degenerate Configuration
s Whilst Estimating the Fundamental Matrix、P.H.S.
Torr、A. Zisserman及びS. Maybank著, Oxford Univer
sity Technical Report 2090/96」に記載されているテ
クニックを用いることができる。
【0151】ステップS294において、CPU4はス
テップS292で計算されたタンジェント平面の法線を
計算する。そして、ステップS296において、マッチ
したポイントのペアの座標によって特定される4D空間
におけるポイントから、物理的fundamental行列を表す
面までの、法線に沿った距離(サンプソン距離(Sampso
n distance))を計算する。ステップS298におい
て、計算された距離は閾値と比較される。この閾値は、
本実施形態では、2.8ピクセルにセットされる。もし
も距離がその閾値よりも小さければ、そのポイントはそ
の表面に十分に接近して存在しており、物理的なfundam
ental行列は、考慮されているマッチしたポイントの特
定のペアに関して、カメラのそのペアの第1のイメージ
からそのペアの第2のイメージへの移動を正確に表すと
みなされる。したがって、もしも距離が閾値よりも小さ
ければ、ステップS300において、CPU4はステッ
プS290で初期値0にセットされたカウンタをインク
リメントし、そのポイントを格納し、ステップS296
において計算された距離を格納する。
【0152】ステップS302において、CPU4は、
fundamental行列を計算するのに用いられた7つのポイ
ントペアにおいて別のポイントペアがあるかどうかを判
断する。そして、ステップS292からS302が、そ
のようなポイントのすべてが上述したように処理される
まで繰り返される。
【0153】再び図25に戻り、ステップS254にお
いて、CPU4は、ステップS252において計算され
た物理的fundamental行列が、ユーザ特定されたポイン
トと計算されたポイントのすべてに対してそれをテスト
するために、更なる処理を正当化するのに十分に正確で
あるかどうかを判断する。本実施形態においては、ステ
ップS254が、ステップS300にてセットされたカ
ウンタ値(ステップS298において閾値よりも小さい
距離を有するポイントのペアの数を表す、それゆえ、物
理的fundamenta行列と一致していると考えられる)が7
に等しいかどうかを判断する。すなわち、CPU4は、
物理的fundamental行列が、物理的fundamental行列が派
生するfundamental行列を計算するために用いられるす
べてのポイントについて一貫しているかどうかを判断す
る。カウンタ値が7より小さい場合は、CPU4は物理
的fundamental行列のテストをそれ以上行わず、処理は
ステップS256へ進む。一方、カウンタ値が7に等し
ければ、ステップS255においてCPU4は、ユーザ
特定ポイントと計算ポイントの両方を含むリスト中のポ
イントの各ペアに対して物理的fundamental行列をテス
トする(たとえ物理的fundamental行列が、ユーザ特定
ポイントのみを含むリストからのポイントを用いて派生
したものであっても)。これは、以下の(i)〜(iii)
の点を除いて、上述したステップS253と同じ方法で
実行される。 (i)ステップS290において、CPU4は、ステッ
プS253においてすでにテストされたポイントの7個
のペアを反映するためにカウンタを7にセットし、これ
らは物理的fundamental行列と一致すると判断される。 (ii)物理的fundamental行列はすべてのユーザ特定さ
れたポイント及び計算されたポイントに対してテストさ
れる(ただし、ステップS253において以前にテスト
されたポイントのペアは再度テストされない)。 (iii)CPU4は、以下の式を用いて、ステップS3
00において格納された全ポイントに対するトータルエ
ラーを計算する。
【0154】
【数9】
【0155】ここで、eiは、それらの座標によって表
された4DポイントとステップS296で計算された物
理的fnndamental行列を表す面との間のマッチしたポイ
ントのi番目のペアの距離である。この値は、無符号と
するために二乗される(それにより、そのポイントが物
理的fundamental行列のどの側にあるかということが結
果に影響しないことを保証する)。pはステップS30
0において格納されたポイントの合計値であり、ethは
ステップS298で比較に用いられた距離の閾値であ
る。
【0156】ステップS255において、カウンタ値、
ステップS300(図26)において格納されたポイン
ト、及び上述のトータルエラーは、ステップS253に
おいてテストされた上述の7個のポイントペアを含む。
【0157】ステップS255の効果は、ステップS2
52において計算された物理的fundamental行列が、ユ
ーザ特定されたポイント及び計算されたポイントの各ペ
アに対して正確かどうか、計算された行列が十分に正確
であるために必要なポイントの合計数を表す最終的な
(ステップS300)カウンタの値に対して正確かどう
かを判断することである。
【0158】ステップS256において、CPU4はス
テップS255でテストされた物理的fundamental行列
が、ユーザ特定されたポイントだけについてパースペク
ティブ計算を用いて以前に計算したものよりも正確であ
るかどうかを判断する。ここでは、図26のステップS
300において最後に計算された物理的fundamental行
列のために格納されたカウンタ値(この値は、物理的fu
ndamental行列が正確なカメラ解であるためのポイント
数を表す)を以前に計算された最も正確な物理的fundam
ental行列に関して格納された対応するカウンタ値とを
比較する。最も高いポイント数の行列(カウンタ値)は
最も正確であるとしてとられる。もしもポイントの数が
2つの行列で同じであったならば、各マトリックスのト
ータルエラー(上述のごとく計算されたもの)が比較さ
れ、低いエラー値を有するものが最も正確な行列として
採用される。もしも、ステップS256において、物理
的fundamental行列が現在格納されているものよりも正
確であったならば、ステップS258において以前のも
のが破棄され、新しい行列が格納される。このとき、こ
の新しい行列とともに、図26におけるステップS30
0にて格納されたポイント数(カウンタ値)、それらの
ポイント自体及びその行列について計算されたトータル
エラーが格納される。
【0159】ステップS260において、CPU4はス
テップS246においてインクリメントされたカウンタ
の値が図22のステップS224において設定された、
繰り返し回数を定義する値“np”以上であるかどうか
を判断する。もしも値が“np”以上であれば、要求さ
れた繰り返しの回数が実行されており、ユーザ特定され
たポイントと計算されたポイントの両方を備えたリスト
内のポイントに対してパースペクティブ計算を実行する
ために、処理はステップS264へ進む。一方、もしも
要求された繰り返し数に達していない場合は(ステップ
S260においてカウンタ値が“np”未満である)、
ステップS262において、CPU4は、物理的なfund
amental行列の正確さ(ステップS258において格納
されたカウンタ値とトータルエラーによって表される)
が、過去のnp/2回の繰り返しのすべてにて、増加し
たかを判断する。もしそうならば、更なる繰り返しを実
行する価値があり、ステップS246〜S262が繰り
返される。過去np/2回の繰り返しにおいて、物理的
fundamental行列の正確さに変化が無ければ、たとえ図
22のステップS224で設定された値“np”に繰り
返し回数が到達していなくても処理を止める。この方法
により、繰り返し回数すべてを実行することがそれほど
に、より正確な結果を生まないような場合に、処理時間
が節約されることになる。図23に関して述べたよう
に、“np”の値は、ステップS248において7つの
ペアをランダムに選択するのに用いたポイントリスト内
のポイントのペアの数に基づいて設定される。図23の
ステップS238を参照すると、(k-1)(k-2)(k-3)(k-4)
(k-5)(k-6)/20160の値は、重複することなしに実行可能
な繰り返しの最大数の25%を表す(この最大数は、そ
のリストから選択された7つのポイントペアの異なる組
み合わせの合計数を表す)。ステップS262において
用いられる値np/2は、合理的な時間で許容できる結
果を生じるために経験的に決定されるものである。
【0160】再び図25A〜Cを参照すると、ステップ
S264〜S282において、CPU4は、ユーザ特定
されたポイントと計算されたポイントの両方を備えるリ
ストからランダムに選択されたポイントのペアを用い
て、そのイメージペアについてパースペクティブ計算を
実行する。これらのステップは、上述したステップS2
44〜S262で実行した処理とほぼ同じである。異な
るのは、実行されるべき繰り返し数を特定する値“n
p”が異なって設定され(図22のステップS22
4)、ランダムに選択されたfundamental行列を計算す
るために用いられる7個のポイントペアがユーザ特定さ
れたポイントと計算されたポイントの両方を備えたリス
トから選択されるという点である。この処理において実
行される処理については、それゆえ、繰り返し記載しな
い。上述のように、図26は、ユーザ特定されたポイン
トと計算されたポイントの各ペアに対して物理的なfund
amental行列をテストするときに実行されるステップ
(ステップS273、S275)を示す。
【0161】ステップS284において、CPU4は、
ユーザ特定されたポイントのみを用いて計算された最も
正確な物理的fundamental行列(ステップS258にて
格納されたもの)と、ユーザ特定されたポイントと計算
されたポイントの両方を用いて計算された最も正確な物
理的fundamental行列(ステップS278で格納された
もの)とを比較し、両者のうちのより正確なほうを選択
する(これは、行列が正確な解であるためのポイントの
数を表すカウンタ値を比較することにより行われる。ま
たこれが同一であった場合は、合計のエラー値を比較す
ることで行う)。最も正確な物理的fundamental行列
は、次に、イメージペア間におけるカメラの動きを表す
カメラ回転行列と移動ベクトルとに変換される。この変
換は、一般的な方法で実行される。例えば、"Motion an
d Structure from Two PerspectiveViews: Algorithms,
Error Analysis and Error Estimation"、J. Weng, T.
S.Huang、N. Ahuja著, IEEE Transactions on Pattern
Analysis and Machine Intelligence, Vol. 11, No. 5,
May 1989, 451-476頁に記載されている方法を用いるこ
とができる。
【0162】図25A〜Cに関して上述した処理におい
て、CPU4はfundamental行列を計算し(ステップS
250及びS270)、ユーザ特定されたポイントと計
算されたポイントに対してテストする(ステップS25
5及びS275)ために、この行列を物理的fundamenta
l行列に変換する(ステップS252及びS272)。
これは、fundamental行列を物理的なfundamental行列に
変換するという付加的な処理が必要とはなるが、ステッ
プS284において最終的に選択された物理的なfundam
ental行列自身がテストされるという長所を有する。も
しもfundamental行列がユーザ特定ポイント及び計算ポ
イントに対してテストされ、最も正確なfundamental行
列が選択されたならば、それ自身はテストされていない
物理的なfundamental行列へ変換されなければならない
であろう。
【0163】図24を再度参照すると、CPU4は、い
まや、イメージペアのためのパースペクティブ計算を完
結し、ステップS242に進む。ステップS242にお
いては、CPU4は、第2のタイプの計算、すなわち、
アフィン計算をそのイメージペアに対して実行する。
【0164】図27A、Bはアフィン変換を実行すると
きのCPU4によって実行される処理を示す図である。
【0165】パースペクティブ計算を実行したときのよ
うに、CPU4は、ユーザ特定されたポイントだけのリ
スト(ステップS310〜S327)から選択されたポ
イントのペアを用いてアフィン計算を実行し、そして、
ユーザ特定されたポイントと計算されたポイントの両方
を備えたポイントリスト(ステップS328からS34
5)よりのポイントのペアを用いてアフィン計算を実行
する。そして、最も正確なアフィン解を求める(ステッ
プS346)。この場合においても、変換が複数のポイ
ントの異なる集合を用いて計算され、それにより、正確
な変換が計算される可能性をより高くするという長所を
生ずる。
【0166】パースペクティブ計算を実行するとき、そ
のfunsamental行列Fのすべてのコンポーネントを計算
することが可能である。しかしながら、そのイメージの
ペア間の関係がアフィン関係にある場合、そのfundamen
tal行列の4個の独立したコンポーネントのみを計算す
ることができる。これら4個の独立したコンポーネント
は、アフィンfundamental行列として一般に知られたも
のを定義する。
【0167】図27Aを参照すると、ステップS310
において、CPU4は、ユーザ特定されたポイントのみ
を用いたアフィン計算のための、ステップS224(図
22)でセットされた繰り返し数“na”がゼロより大
きいか否かを判断する。もしもゼロ以下ならば、アフィ
ン計算を実行するのに十分なポイントペアがユーザ特定
されたポイントのリスト中には無いので、処理はステッ
プS328へ進む。ステップS328では、ユーザ特定
されたポイントと計算されたポイントの両方を備えるリ
ストが考慮される。一方、ステップS310において、
実行されるべき繰り返し数がゼロより大きい場合、ステ
ップS312においてCPU4はカウンタの値をインク
リメントする(ただし、ステップS312の最初の処理
では、カウンタの値は1にセットされる)。
【0168】ステップS314において、CPU4は、
ユーザ特定されたポイントだけを含むポイントリストか
ら4個のマッチしたポイントのペアをランダムに選択す
る。ステップS316において、CPU4はその選択さ
れた4つのポイントペアとステップS222でセットさ
れた測度行列とを用いて、そのfundamental行列(アフ
ィンfudnamental行列を与える)の4個の独立したコン
ポーネントを計算する。これには、「Affine Analysis
of Image Sequences」L.S. Shapiro著, Section 5, Cam
bridge University Press 1995, ISBN 0-521-55063-7、
に記載されているような技術を用いることができる。ス
テップS314において4個より多いポイントペアを選
択し、ステップS316においてアフィンfundamental
行列を計算することは可能である。しかしながら、本実
施形態においては、4つのペアのみが選択される。これ
は、この数が、経験的に満足の行く結果を生じるもので
あり、そして、この数がアフィンfundamental行列のコ
ンポーネントを計算するために要求される最小の数を表
しており、それゆえ必要な処理を減少させるものである
からである。
【0169】ステップS318において、CPU4はア
フィンfundamental行列を、ユーザ特定されたポイント
と計算されたポイントの両方を備えるリスト内の各ポイ
ントペアに対してテストする(たとえ、アフィンfundam
ental行列がユーザ特定されたポイントのみを含むリス
トからのポイントを用いて派生したものであっても)。
これには、「Affine Analysis of Image Sequences」、
L.S. Shapiro著, Section 5, Cambridge University
Press, 1995, ISBN 0-521-55063-7に記載のテクニッ
クを用いることができる。アフィンfundamental行列
は、4次元の、連結されたイメージ空間における平らな
表面(ハイパープレーン)を表す。そして、このテスト
は、マッチしたポイントのペアの座標によって特定され
る4次元空間におけるポイントとそのアフィンfundamen
tal行列によって表される平らな面との間の距離を決定
することを含む。ステップS255とS275(図2
5)で計算されたパースペクティブ計算の間に実行され
るテストのように、ステップS318で実行されるテス
トは、ユーザ特定されたポイントと計算されたポイント
のリスト内のアフィンfundamental行列がカメラ変換の
ために十分に正確な解を表すポイントペアの数を生成す
ると共に、これらのポイントに関するトータルエラー値
を生成する。
【0170】ステップS320において、CPU4は、
ステップS316で計算され、ステップS318でテス
トされたアフィンfundamental行列が、ユーザ特定され
たポイントだけを用いて以前に計算されたいかなるもの
よりも正確であるかどうかを判断する。これは、行列が
正確な解を表すためのポイントの数を、以前に計算され
た最も正確なアフィンfundamental行列のためのポイン
ト数と比較することによりなされる。ポイントの数が最
も多い行列が最も正確である。もしも、ポイントの数が
同じであったならば、その中で最も低いエラーを有する
行列が最も正確である。もしもアフィンfundamental行
列が以前に計算されたどの行列よりも正確であるなら
ば、ステップS322において、それは、十分に正確な
解を表すためのポイント、これらポイントの総数及び行
列のトータルエラーとともに格納される。
【0171】ステップS324において、CPU4はス
テップS312においてインクリメントされたカウンタ
の値が繰り返し数“na”よりも小さいかどうかを判断
する。この“na”はステップS224(図22)にお
いてユーザ特定されたポイントだけにかかわるアフィン
計算のためにセットされたものである。そして、これに
より、セットされた回数の繰り返しが実行される。もし
もカウンタの値が設定された繰り返し数以上であったな
らば、要求された繰り返し回数が実行されており、処理
はステップS328へ進む。もしも、カウンタの値が設
定された繰り返し回数未満であったならば、CPU4は
更なるテストをステップS326において実行する。そ
して、そのアフィンfundamental行列の正確さが最近の
na/2回の繰り返しのすべてにおいて増加したかどう
かを判断する。もしも正確さが増加していなければ、た
とえ設定された繰り返し回数“na”回の処理がまだ実
行されていなくても、処理を停止する。このようにし
て、アフィンfundamental行列の正確さの増加の発生し
ない無駄な繰り返しが実行されなくなる。このため、処
理時間が節約される。一方、正確さが増加したのであれ
ば、ステップS324において設定された回数の繰り返
しが実行されたと判断されるか、或いはステップS32
6において、先行するna/2回の繰り返しにおいてア
フィンfunamental行列の正確さが増加していないと判断
されるまで、ステップS312からS326が繰り返さ
れる。
【0172】ステップS327において、CPU4は格
納されたアフィンfundamental行列(すなわち、ユーザ
特定されたポイントだけを用いて計算された最も正確な
もの)を、カメラ変換を表す3つの物理的変数に変換す
る。これら3つの物理的変数は、すなわち2つのイメー
ジ間のオブジェクトのマグニフィケーション(magnific
ation)mと、カメラの回転の軸φ、及びカメラのサイ
クロトーションローテーション(cyclotorsion rotatio
n)θである(変数φとθはより詳細に後述する)。ア
フィンfundamental行列のこれら物理的変数への変換
は、一般的な方法において実行される。例えば、「Affi
ne Analysis of Image Sequences」、L.S.Shapiro著, S
ection 7, Cambridge University Press, 1995, ISBN 0
-521-55063-7に記載されている方法を用いることができ
る。
【0173】ステップS328からS345において、
CPU4は、ユーザ特定されたポイントと計算されたポ
イントの両方を含むリストからランダムに選択されたポ
イントペアを用いてアフィン計算を実行する。これらの
ステップは、上述したステップS310〜S327にお
いてユーザ特定されたポイントだけに関してCPU4に
よって実行されたものと同じである。ただし、繰り返し
回数“na“は図22のステップS224でセットされ
たのとは異なる値となり、ステップS332においてラ
ンダムに選択された4つのポイントペアはユーザ特定さ
れたポイントと計算されたポイントの両方を備えたリス
トから選択されたものとなる。ここでは、これらのステ
ップについては再び記述しない。
【0174】以上のようにして、ユーザ特定されたポイ
ントだけを含むリストからのポイントのペアを用いたア
フィン計算(ステップS310〜S327)、ユーザ特
定されたポイントと計算されたポイントの両方を備える
リストからのポイントのペアを用いたアフィン計算(ス
テップS328〜S345)を行い、各計算に関して最
も正確なアフィンfundamental行列を生成し終えると、
ステップS346において、CPU4はこれら2つのア
フィンfundamental行列を比較し、最も正確なものを選
択する。これはポイント(ステップS322とS340
で格納された)数が最も多いものであり、もしもポイン
トの数が同じならば、最も低い行列トータルエラーを有
するものとなる。
【0175】再び図21を参照すると、ステップS20
8において上述したパースペクティブ及びアフィンテク
ニックを用いてトリプル内の第1のイメージペアについ
てカメラ変換を計算し、ステップS210において同じ
パースペクティブ及びアフィンテクニックを用いてその
トリプル内の第2のイメージペアについてカメラ変換を
計算すると、CPU4はステップS212においてその
結果を用いて、そのトリプル内の3つのイメージ全てに
ついてのカメラ変換を計算する。
【0176】図28は、ステップS212においてトリ
プル内の3つのイメージ全てについてのカメラ変換の計
算において、CPU4によって実行される処理を示す図
である。
【0177】トリプル内の3つのイメージ全てを考慮す
る場合、2つのカメラ変換が存在する。1つはそのトリ
プル内の第1のイメージが撮られた位置から第2のイメ
ージが撮られた位置まで、もう1つは、第2のイメージ
が撮られた位置から第3のイメージが撮られた位置まで
の変換である。これら変換の各々は、アフィン変換或い
はパースペクティブ変換のいずれでもよく、したがって
イメージ間の4つの可能な組み合わせが与えられる(す
なわち、アフィン−アフィン、アフィン−パースペクテ
ィブ、パースペクティブ−アフィン、パースペクティブ
−パースペクティブ)。したがって、ステップS35
0、S352、S354及びS356において、CPU
4はそれら4つの可能な組み合わせのそれぞれを考慮
し、ステップS358においてその4つから最も正確な
解を選択する。以下、この処理についてより詳細に説明
する。
【0178】ステップS350において、CPU4は、
トリプル内の第1のイメージペア間の変換がアフィンで
あり、第2のイメージペア間の変換もまたアフィンであ
る場合を考慮する。先行するステップS208(図2
1)において、CPU4は、そのトリプル内の第2のイ
メージペア間のアフィン変換を特定するアフィンfundam
ental行列と、関連する3つの物理的変数を計算した。
前述したように、アフィンfundamental行列から派生し
たこれら3つの物理的変数は、イメージのペア間のカメ
ラの移動を完全に特定するものではない。ステップS3
50において、CPU4は前もって計算された3つの物
理的変数を用いて、各イメージペア間におけるカメラの
移動を完全に定義するために必要なパラメータを計算す
る。
【0179】図29(a)及び29(b)は、カメラの
移動を完全に定義するために、ステップS350の計算
で必要なパラメータを表す図である。図29(a)は、
3つの異なる位置及び方向における、イメージがその上
に形成されるCCDイメージデバイス或いはフィルム5
0の配置を示し、トリプル中の第1、第2及び第3イメ
ージが撮られる位置と方向を表している。ライン52は
カメラ12の光軸を表す。光軸52は、第1位置から第
2位置へ移動するにおいて距離d1を移動し、第2位置
から第3位置へ移動するにおいて距離d2を移動する。
【0180】各イメージング位置におけるCCD50の
回転は、光軸52回りの回転と、イメージ平面に平行な
軸回りの回転に分解される。これは、「KvD分解」と
して知られるものであり、「Affine Analysis of Image
Sequences」、L.S. Shapiro著、Appendix D, Cambrid
ge University Press, 1995, ISBN 0-521-55063-7に記
載されている。光軸回りの回転は、サイクロトーション
角度(cyclotortion angle)として知られるものであ
り、図29(a)においてθで示されている。図29
(a)に示される例において、CCD40は、第1イメ
ージのランドスケープ方向から第2イメージのポートレ
ート方向へθ1=90°回転している。そして、さら
に、θ2=−90°回転して、第3のイメージのランド
スケープ方向へ戻る。
【0181】イメージ平面に平行な軸回りの回転は、軸
−角度公式により、2つの角度ヘ分解される。すなわ
ち、図29(b)に示されるφとρである。φはローテ
ーションの起こるイメージプレーン内の軸54を定義す
る。φは「軸角度」として知られている。ρは軸54回
りを通ってカメラが回転した角度を定義し、「ターン角
度」として知られている。
【0182】カメラ回転の3つの角度への変換は、各ト
リプルにおける第1及び第2イメージの間のカメラの変
換に適用され(これらの角度はθ1、φ1、ρ1とす
る)、また、第2及び第3イメージ間のカメラの変換に
適用される(これらの角度をθ2、φ2、ρ2とす
る)。
【0183】また、カメラの2つの変換がともにアフィ
ンであると考慮された場合、s=d2/d1として定義
されたスケールs、そして回転角度ρ1及びρ2はステ
ップS208とS210(図21)において計算された
アフィンfundamental行列では未定義で残され、ステッ
プS350で計算されなければならない。
【0184】イメージのペア間のカメラ変換がパースペ
クティブ変換であるとき、ρ、d、θ、φの値はステッ
プS208もしくはS210(図21)で計算された回
転行列及び変換ベクトルにおいてすでに定義されてい
る。しかしながら、スケールは未知である。したがっ
て、CPU4がアフィン−パースペクティブケースを考
慮するときはステップS352においてスケールs及び
ρ1を計算することが必要であり、CPU4がパースペ
クティブ−アフィンケースを考慮するときはステップS
354においてスケールs及びρ2を計算することが必
要である。また、CPU4がパースペクティブ−パース
ペクティブの場合を考慮するときには、ステップS35
6においてスケールsのみを計算することが必要であ
る。
【0185】図30はステップS350、S352、S
354及びS356において、スケール、ρ1及びρ2
を計算するときに、CPU4によって実行される処理を
示す図である。
【0186】図30を参照すると、ステップS380に
おいて、CPU4はρ1、ρ2の次の値をとる。図31
の(a)〜(d)は、ステップS350からS356に
おける異なるケースにおいて、CPU4によって考慮さ
れるρ1とρ2の値を示す図である。
【0187】図31(a)は、ρ1及びρ2がともに既
知であるステップS350において考慮されるアフィン
−アフィンのケースのためのρ1及びρ2の値を示す図
である。ρ1及びρ2の64個の値が考慮され、10°
〜45°の間を5°刻みで変化するρ1の8個の値と、
10°〜45°の間を5°刻みで変化するρ2の8個の
値と、を比較する。ρ1とρ2の値について10°〜4
5°の間が考慮されるのは、オブジェクト24の少なく
とも3つのイメージが撮影される場合に、連続的なイメ
ージの間において、ユーザがカメラ12をほとんどこの
範囲内で動かすからである。より広い、(或いは、より
狭い)値の範囲が考慮されてもよいことはいうまでもな
い。
【0188】図31(b)は、ステップS352におい
て考慮される、アフィン−パースペクティブケースのた
めのρ1、ρ2の値を示す図である。このケースにおい
て、第2カメラ変換がパースペクティブであるので、ρ
2が既知であり、それゆえ、ρ1のみの異なる値が考慮
される必要がある。再び、10°〜45°の間を5°刻
みで変化するρ1の8個の値が、既知のρ2の値のため
に考慮される。
【0189】図31(c)はステップS354において
考慮される、パースペクティブ−アフィンケースのため
に考慮されるρ1及びρ2の値を示す図である。第1の
カメラ変換がパースペクティブであるので、ρ1の値が
既知である。それゆえ、10°〜45°の間を5°刻み
で変化するρ2の8個の値が、既知のρ1の値のために
考慮される。
【0190】図31(d)は、ステップS356におい
てパースペクティブ−パースペクティブケースにおいて
考慮されるρ1とρ2の値を示す図である。この場合、
2つのカメラ変換がパースペクティブであるので、ρ1
とρ2の両方の値が既知である。したがって、図示の如
く単一の値が考慮される。
【0191】再び、図30を参照すると、ステップS3
82において、CPU4は、ステップS380において
考慮されたρ1、ρ2の値に最もよくフィットするスケ
ールを計算する。
【0192】図32は、ステップS382において最良
のスケールを計算するときにCPU4によって実行され
る処理を示す図である。図32を参照すると、ステップ
S390において、CPU4はカウンタの値をゼロにセ
ットし、ステップS392においてカウンタの値を1つ
ずつインクリメントする。ステップS394において、
CPU4はマッチした次のトリプルポイントにおけるポ
イントの座標を読み取る。すなわち、ステップS218
(図22)において生成されたリストから、考慮されて
いる3個のイメージ全てにおいてマッチしたポイントの
座標を読み取る。ステップS396において、CPU4
は、ステップS208もしくはS210(図21)にお
いて前もって計算された適切なカメラ変換(アフィン或
いはパースペクティブ)を用いて、そのトリプル内のイ
メージの相対的構築(relative configuration)を定義
し、次いで、ステップS394において読み出されたト
リプルにおける各ポイントからカメラの光学中心を通る
光線(ray)(無限のライン)を投射する(これは、カ
メラの焦点距離分だけ、イメージプレーンの中心から垂
直方向に変位されたポイントである)。
【0193】図33はトリプル内の各ポイントから投射
される光線を示す図である。
【0194】ステップS208或いはS210において
計算されたカメラ変換における不正確さ、及びマッチし
たポイント自身における不正確さのゆえに、トリプル内
のポイントからの光線のいずれもが交差するということ
はまず起こらない。したがって、ステップS398にお
いて、CPU4は、第1のイメージと第2のイメージの
間のカメラ変換を計算する。この変換は、第2のイメー
ジからの光線を第1のイメージからの光線とポイント6
0のところで交差させる。この計算はCPU4によって
以下のように実行される。
【0195】a)もしも、sin(ρ1)×sin(φ
1)>0ならば、ρ1の符号がフリップ(反転)され
る。これは、イメージの順序付けの知識によってなされ
る。
【0196】b)回転行列Rが、角度(θ1、φ1、ρ
1)より以下の式を用いて定義される。
【0197】
【数10】
【0198】ここでIは恒等(identity)行列である。
【0199】c)2つのイメージξ、ξ’におけるポイ
ント位置からの変換ベクトル、回転行列R及び2つの
イメージの間のマグニフィケーションにおける変化mは
等式を用いて以下のように定義される。
【0200】
【数11】
【0201】同様に、ステップS400において、CP
U4は、第2と第3イメージの間でカメラの変換を変更
し、第3イメージからの光線を第2イメージからの光線
とポイント62において交差させる。
【0202】ステップS402において、CPU4は、
第2のイメージのためのカメラ位置の光学的中心からポ
イント62までの距離d62とこの光学的中心からポイン
ト60までの距離d60との比を用いて、第1及び第2カ
メラ位置の間の変換ベクトルの長さd1initialと第2
及び第3カメラ位置の間の変換ベクトルの長さd2ini
tialを、以下のように調整する。
【0203】
【数12】
【0204】図33を参照すると、上記のように計算さ
れた長さd1finalとd2finalは全3つのイメージから
の光線を同一のポイント64でクロスさせる変換ベクト
ルの長さである。そして、CPU4は、スケールsを計
算するためにその結果値を用いる。
【0205】
【数13】
【0206】ステップS404において、CPU4はス
テップS402において計算されたスケールをステップ
S218(図22)において生成されたリスト内のすべ
てのトリプルポイントに対してテストする。
【0207】図34は、すべてのトリプルポイントに対
してそのスケールをテストする際に、CPU4によって
実行される処理を示す図である。図34を参照すると、
ステップS420において、CPU4はカメラの相対的
な位置(図21のステップS208からS210におい
て決定されたものから、アフィン−アフィンであるか、
アフィン−パースペクティブであるか、パースペクティ
ブ−アフィンであるか、或いはパースペクティブ−パー
スペクティブのいずれが考慮されているかに依存した、
適切な変換によって定義される)を、ステップS402
(図32)において計算されたスケールを考慮に入れる
ために、3つのイメージ全てに関して調整する。これ
は、一般的な方法で実行される。例えば、座標系の原点
を、その第2ポジション(イメージ2)にあるカメラの
光学中心に固定し、x、y、z軸の配置をこの位置にお
けるカメラの方向によって与える(z軸はイメージ平面
に対して直角である)、そして以下の式を用いる。
【0208】
【数14】
【0209】ここでは添え字によって表されるイメー
ジ間の変換ベクトルであり、上記の式(17)によって
与えられ、Rは添え字によって表されるイメージ間の回
転を定義する回転行列であり、上記の式(13)によっ
て与えられる。
【0210】ステップS422において、CPU4は変
数Pをゼロにセットし、ステップS424において、ス
テップS218(図22)で生成したリストから、次の
マッチしたトリプルポイントを読み出す。ステップS4
26において、CPU4は、そのトリプルの第1イメー
ジ内にあるそのトリプルポイントから、第1位置にある
カメラの光学中心を通る光線と、そのトリプルの第3の
イメージ内に存在するトリプルポイントから第3位置に
あるカメラの光学中心を通る光線とを投射する。
【0211】図35はステップS426における光線の
投射を示す図である。
【0212】ステップS428において、CPU4は、
第1及び第3イメージから投射された光線の最も接近し
たアプローチラインに沿った中央ポイント68(図3
5)を計算する。この最も接近するアプローチラインは
図35に示されるように、第1イメージからの光線と第
3のイメージからの光線の両方に対して直角なラインで
ある。ステップS430において、CPU4はステップ
S428で計算された中央ポイントをそのトリプルの第
2イメージに投影する。すなわち、CPU4は中央ポイ
ント68を第2イメージに位置するカメラの光学中心を
通る光線で第2イメージと接続する。この結果、第2イ
メージ上にポイント70が生成される(図35)。
【0213】ステップS432において、CPU4は、
第2のイメージ内の投影されたポイント70と、ステッ
プS424において読み出されたトリプルポイントから
得られる第2のイメージ内の実際のポイント72との距
離“t”を計算する。ステップS434において、CP
U4は、設定された閾値(この実施形態においては3ピ
クセル)よりもステップS432で計算された距離の方
が小さいかどうかを判断する。第2のイメージにおいて
投影されたポイント70と実際のポイント72が互いに
近ければ近いほど、このトリプルポイントは、ステップ
S402(図32)で計算されたスケールのためのこの
値をサポートする。したがって、もしも距離が閾値より
も小さければ、計算されたスケールは十分に正確である
とみなされ、ステップS436において、CPU4は、
スケールが正確であるトリプルポイントの数を表す変数
Pをインクリメントする。このとき、考慮中のトリプル
ポイントに考慮中のスケールに対して正確である旨の注
釈を付加する。そして、トータルの距離エラーを(すな
わち、それまでに、ステップS432において計算され
た距離がステップS434において閾値よりも小さいと
みなされたすべてのポイントに対するエラー)ステップ
S432で計算された新しい距離で更新する。トータル
エラーは以下の式を用いて計算される。
【0214】
【数15】
【0215】ここで、eiは、トリプル内のi番目のイ
メージにおける、投影されたポイント70と実際のポイ
ント72との距離である。この値は、符号無しとするた
めに二乗される。(それにより、その方向ではなく、投
影されたポイントと実際のポイントの間の距離の大きさ
(マグニチュード)だけが考慮されることを確実にす
る)。Pは、ポイントのトータル数である。そして、e
thはステップS434において比較のために用いられる
距離の閾値である。
【0216】一方、ステップS434において、距離が
閾値より小さくない場合は、変数Pがインクリメントさ
れないように、ステップS436は省略される。
【0217】ステップS438において、CPU4は、
ステップS218(図22)において生成されたリスト
中に、別のトリプルポイントがあるかどうかを判断す
る。ステップS424からS438は、上述の処理がリ
スト内のすべてのトリプルポイントに対して実行される
まで繰り返される。この点において、変数Pの値は、計
算されたスケールが十分に正確であるトリプルポイント
のトータル数を示す。
【0218】再び図32を参照すると、上述した方法を
用いてステップS404においてスケールをテストした
後、CPU4は、ステップS406において、計算され
たスケールが現在格納されているいかなるものよりも正
確であるかどうかを判断する。これは、ステップS43
6で格納されたポイント数P及びトータルエラー(図3
4)を、それまでに格納された最良のスケールに対する
ポイント数及びトータルエラーと比較することでなされ
る。最も正確なスケールは、最も多くのポイント数を有
するものであるか、或いは、ポイントの数が同じであれ
ば、最も小さいトータルエラーを有するものである。も
しも新たに計算されたスケールがより正確ならば、それ
までの最も正確なスケール、ポイント数及びトータルエ
ラーに替えて、そのスケール、ポイント数P及びトータ
ルエラーがステップS408において格納される。そう
でなければ、以前の最も正確なスケール、ポイント数、
トータルエラーが維持される。
【0219】ステップS410において、CPU4は、
ステップS392においてインクリメントされたカウン
タの値が20より小さいかどうかを判断する。もしも小
さければ、ステップS412において、CPU4はステ
ップS218(図22)において格納されたリスト内の
別のトリプルポイントがあるかどうかを判断する。ステ
ップS392からS412は、20個のトリプルポイン
トがスケール(ステップS410で決定された)を計算
するのに用いられるまで、或いはもしもトリプルポイン
トの数が20よりも小さければステップS218(図2
2)において格納されたリスト内のすべてのトリプルポ
イントがスケール(ステップS412で決定された)を
計算するのに用いられた判定されるまで、繰り返され
る。この値20は、合理的な時間内にスケール計算のた
めの正確な結果を得るための、経験的に見出された値で
ある。
【0220】再び図30を参照すると、ステップS38
2において考慮下にあるρ1、ρ2の値のための最良の
スケールを計算した後、ステップS384において、C
PU4はその解が、すなわち、ρ1、ρ2、sの値が、
現在格納されている解よりもより正確であるかどうかを
判断する。こうして、CPU4は、ステップS380及
びステップS382で計算された最後の値ρ1、ρ2及
びsが、ステップS380及びS382でそれまでに計
算された値よりも正確なカメラ変換を生み出したかどう
かを判定する。これは、現在の最も正確な解のために格
納されたポイント数Pと、最も最近の解としてステップ
S408(図32)及びステップS436(図34)に
て格納されたポイント数とを比較することで行われる。
最も正確な解は、最も多くのポイント数を有するもので
あり、ポイント数が同じであれば最も小さいトータルエ
ラーを有するものである。もしも、新しい解が現在格納
されている解よりも正確であったならば、ステップS3
86において、CPU4は現在格納された解を新しいも
のに置き換える。一方、もしも現在格納されている解の
方がより正確であったならば、それは維持される。
【0221】ステップS388において、CPU4は、
考慮するべきさらなるρ1、ρ2の値があるかどうかを
判断し、ステップS380〜S388が、すべてのρ1
及びρ2の値が上述のように処理されるまで繰り返され
る。再び、図31を参照すると、図31(a)より、ス
テップS350(図28)においてアフィン−アフィン
ケースのためにステップS380〜S388が64回繰
り返されることがわかるであろう。また、図31(b)
及び図31(c)から、ステップS352(図28)に
おいてアフィン−パースペクティブケースのためにステ
ップS380〜S388が8回繰り返され、ステップS
354(図28)においてパースペクティブ−アフィン
ケースのためにステップS380〜S388が8回繰り
返される。また、ステップS356(図28)における
パースペクティブ−パースペクティブ計算のケースにつ
いてはステップS380〜S388は1回だけ行われ
る。図31(d)に示されるように、ρ1、ρ2のただ
ひとつの値がステップS380において考慮されるのに
有効だからである。
【0222】再び図28を参照すると、ステップS35
0におけるアフィン−アフィンケースのためのカメラ変
換、ステップS352におけるアフィン−パースペクテ
ィブケースのためのカメラ変換、ステップS354にお
けるパースペクティブ−アフィンケースのためのカメラ
変換、そしてステップS356におけるパースペクティ
ブ−パースペクティブケースのためのカメラ変換のそれ
ぞれの解を計算すると、ステップS358において、C
PU4はこれら4つの解から最も正確なものを選択す
る。これもまた、各解について格納されたトータルのポ
イント数Pを考慮してなされる(図30のステップS3
86、図32のステップS408及び図34のステップ
S436)。最も正確な解は最も多くのポイント数を有
する(なぜなら、この数は、トリプル内の解が正確なポ
イントの数だからである)。もしも解が同数のポイント
を有するならば、次に各解のトータルエラーが考慮さ
れ、最も小さいエラーの解が最も正確なものとして選択
される。
【0223】ステップS360において、CPU4は、
最も正確な解のポイントの数Pが4よりも小さいかどう
かを判定する。これは、図7のステップS58及びS6
8において、計算されたカメラ変換が十分に正確かどう
かを判断するためにCPU4が実行する方法である。も
しもポイント数Pが4より小さいならば、CPU4は、
ステップS362において、計算されたカメラ変換が十
分に正確ではないと判断する。一方、ポイント数が4以
上であったならば、CPU4は計算されたカメラ変換が
十分に正確であると判断し、処理はステップS364へ
進む。ステップS364において、CPU4は、最も正
確な解のポイント数Pが、ステップS218(図22)
において格納されたリスト内のトリプルポイントの総数
の80%よりも大きいかどうかを判断する。もしもポイ
ント数が80%よりも大きいならば、CPU4は、計算
されたカメラ変換をそれ以上に正確にするために処理す
る必要はないと判断する。なぜなら、それらは、すでに
十分に正確なものとなっているからである。したがっ
て、処理はステップS370へ進み、ここで、CPU4
は、解をフルのカメラ回転及び移動行列(full camera
rotation and translatin matrices)に変換し、そのト
リプル内の3つのイメージの相対的位置を定義する(ス
ケールとρ値を含む)。
【0224】もしも、ステップS364において、ポイ
ントの数Pが80%よりも小さいと判断されたならば、
ステップS366においてCPU4は、最も正確な解
が、パースペクティブ−パースペクティブケースのため
に計算された解であるかどうかを判断する。もしもそう
ならば、CPU4は、その解はそれ以上に最適化される
べきではないと判断する。したがって、この場合も処理
はステップS370へ進み、解は、フルのカメラ回転及
び移動行列に変換される。尚、パースペクティブ−パー
スペクティブケースのための解は最適化されない。これ
は、ρ値がすでに十分に正確であると考えられるからで
ある(図24のステップS240でCPU4によって計
算されたfundamental行列において定義される)。一
方、最も正確な解がパースペクティブ−パースペクティ
ブケースに対応するものでなければ、ステップS368
において、CPU4は一般的な最適化手法を用いて、以
下の関数、f(ρ)を最小化する。ここで用いられる手
法としては、例えば、「Numerical Recipes in "C"」、
W.H. Press,S.A. Teukolsky,W.T. Vetterling,及び
B.P. Flannery著,1992,412-420頁,ISBN 0-521-43108
-5に記載されているパウエルの最適化手法(Powell's m
ethod for optimisation)が用いられ得る。
【0225】
【数16】
【0226】ここで、関数は、図30のステップS38
0、S382及びS386と同じステップを用いて評価
される。Pはその解のために格納されたポイントの数で
ある(図30のステップS386、図32のステップS
408及び図34のステップS436)、そして、マイ
ナス符号はPが最大化されることを表し、“error”は
ステップS436(図34)で格納された解のトータル
エラーであり、プラス符号はこれが最小化されることを
示している。
【0227】ステップS370において、CPU4はス
テップS368にて計算された最適化された解(もしく
は、もしもポイントの数が80%より多ければ、或いは
もしも解がパースペクティブ−パースペクティブケース
に対応する解であった場合には、改良されない解)をフ
ルのカメラ回転行列と変換ベクトルに変換する。
【0228】図20に関して、上述したように、CPU
4は、そのトリプルにおける第1のイメージがイメージ
の順序における第1のイメージではないならば、そのト
リプルのイメージに対するカメラ変換の計算を異なるル
ートで実行する(図20のステップS204)。
【0229】図36は、そのような場合においてカメラ
変換を計算する際の、ステップS207(図20)にお
いてCPU4によって実行される処理の、トップレベル
を示す図である。
【0230】トリプルにおける第1のイメージがその順
序における第1のイメージではない場合、そのトリプル
における第1のイメージペアに関してカメラ変換を計算
する必要はない。そのイメージペアがそれに先行するイ
メージトリプルに関連して先に考慮されたときに、すで
に計算されてしまっているからである。(そのペアは、
先行するトリプルの第2のイメージペアを形成してい
る。)。
【0231】図36を参照すると、ステップS450に
おいて、CPU4はそのトリプルの第1のイメージペア
に対して存在するパラメータを読み出し、そのトリプル
の新たなイメージペア(第2のイメージペア)のための
パラメータをセットアップする。
【0232】図37は、ステップS450においてCP
U4によって実行される処理を示す図である。図37を
参照すると、ステップS460において、CPU4は、
図21のステップS212において以前に計算されたト
リプルの第1のイメージペアに対するカメラ解を読み出
す。ステップS462において、CPU4は、図7のス
テップS54、S60、S64或いはS72において特
定されたトリプル内の第2のイメージペアに対するマッ
チしたポイントペアを読み出す。ステップS464にお
いて、CPU4は図7のステップS60もしくはステッ
プS72でユーザによって、第2のイメージペアにおい
てマッチさせられたポイントペア(ユーザ特定されたポ
イントペア)のリストと、図7のステップS54もしく
はS64において、第1と第2イメージにおいてマッチ
するべく計算されたポイントペアとユーザ特定されたポ
イントとを備えるポイントペアのリストと(CPU4
は、図22のステップS218に関して上述した方法で
このリストから同じポイントを除去する)、トリプルポ
イントのリスト、すなわち、イメージトリプルにおける
3つのイメージ全てにわたってマッチしたポイントのリ
ストとを生成する。(なお、ステップS54もしくはス
テップS64は、そのトリプルの第3のイメージにおけ
るポイントを、そのトリプルの第2のイメージにおけ
る、以前にそのトリプルの第1のイメージ内のポイント
と図7のステップS74における制約的特徴マッチング
によってマッチされたポイントにマッチさせてもよい。
この場合、制約的特徴マッチングによって特定されたポ
イントは、トリプルポイントの一部を形成し、もし選択
されれば、ステップS404及び恐らくステップS39
4においてカメラ位置を計算するのに用いられる。)図
22におけるステップS218に関して上述したよう
に、ユーザ特定されたポイントの数は、アフィン初期特
徴マッチングが実行されなかったのならば、ゼロであろ
う。
【0233】ステップS466において、CPU4はス
テップS464及びステップS468において生成され
たリストにおけるポイントを正規化し、2つの測度行列
をセットアップする。ひとつは、ユーザ特定されたポイ
ントのリストのためのものであり、もうひとつはユーザ
特定及び計算されたポイントのリストのためのものであ
る。これらのステップは、上述した図22のステップS
220及びS222と同じ方法で実行される。したがっ
て、ここでは説明を省略する。ステップS470におい
て、CPU4は、そのトリプルにおける第2のイメージ
ペアに対するパースペクティブ及びアフィン計算を実行
する際の実行されるべき繰り返し回数を決定する。これ
は、上述の図22のステップS224と同じ方法で実行
される。したがって、ここでは繰り返し説明は行わな
い。
【0234】再び図36を参照すると、ステップS45
0において必要なパラメータのセットアップを行うと、
ステップS452において、CPU4はそのトリプル内
の第2のイメージペアに関してカメラ変換を計算し、そ
の結果を格納する。これは、上述した図21のステップ
S208及びS210と同じ方法で実行される。したが
ってここでは繰り返し説明しない。
【0235】ステップS454において、CPU4は、
そのトリプル内のすべての3つのイメージの間のカメラ
変換を計算するために、ステップS460(図37)で
読み出された第1のイメージペアのためのカメラ解を、
そのトリプル内の第2イメージペアに関してステップS
452で計算されたカメラ変換とともに用いる。
【0236】図38は、図36のステップS454にお
けるトリプル内の3つのイメージ間のカメラ変換を計算
するときの、CPU4によって実行される処理を示す図
である。これらの処理は、位置順序における最初の3つ
のイメージの間のカメラ変換を計算するときの、ステッ
プS212(図21)で実行された処理、そして図28
に関して上述した処理に非常に類似している。上述した
ように、そのトリプルの第1のイメージペアに対するカ
メラ間の関係は、先行するトリプルに関する計算によっ
て既知となっている。したがって、第2のイメージペア
のみの間の変換を考慮する。ステップS472におい
て、CPU4は第2のイメージペアの間の変換がアフィ
ンである場合を考慮する。これは、第1のイメージペア
に関するカメラ解(図36のステップS450において
読み出される)を、ステップS452(図36)におい
て第2のイメージペアのために計算された最も正確なア
フィンfundamental行列とともに考慮することにより、
そして、図28のステップS354に関して上述したの
と同じ処理を用いてスケールs及びρ2を計算すること
によりなされる。
【0237】ステップS474において、CPU4は第
2のイメージペア間の変換がパースペクティブである場
合を考慮する。CPU4は、ステップS460(図3
7)において読み出されたカメラの第1のペアのための
計算を、ステップS452(図36)で得られた第2の
イメージペアのためのカメラの正確な回転行列と変換ベ
クトルとともに用いて、ステップS356(図28)と
同じ処理を用いてスケールを計算する。ステップS47
6からS488において、CPU4は、上述した図28
のステップS358からS370で実行されたものと同
じ処理を実行する。すなわち、CPU4は、ステップS
472で計算されたものと、ステップS474で計算さ
れたものから最も正確な解を選択し、それが十分に正確
かどうかを判断し、必要ならばステップS486にて最
適化する(それは、図28のステップS368に対応す
る)。(ただし、ステップS484において解が*−パ
ースペクティブの場合に対応すると判断され場合は、ρ
は最適化されているので、解は最適化されない。そし
て、第2のイメージペアに対するパースペクティブ変換
において、ρは、常に、十分に正確である。それは、計
算されたfundamental行列において定義されるからであ
る。そして、第1のイメージペアに対するρの値は、変
換がパースペクティブである場合にはfundamental行列
において定義され、変換がアフィンである場合には、図
28のステップS368においてすでに最適化されてい
る)。
【0238】再び図7において、ステップS74にてイ
メージのトリプルのための制約的特徴マッチングをCP
U4が実行する方法について説明する。
【0239】図39は、制約的特徴マッチングを実行す
る場合のCPU4によって実行される処理のトップレベ
ルを示す図である。
【0240】図39を参照すると、ステップS500に
おいて、CPU4はそのトリプル内の第1のイメージペ
アにおける「ダブル」ポイントを考慮する。ダブルポイ
ントは、すなわち、ステップS52、S54、S60、
S62、S64、S72或いはS74において、第1の
イメージペアの間でマッチするが(ステップS54、S
64およびS74は、先行するイメージトリプルについ
て実行されていれば、適用可能である)、当該トリプル
内の第2及び第3のイメージの間ではマッチしないポイ
ントである。そのような「ダブル」ポイントの各ペアに
対して、CPU4は、第3のイメージにおける対応する
ポイントを特定することを試みる。もしそれが成功した
場合、トリプルのポイント(すなわち、3つのイメージ
のすべてにわたってマッチするポイント)が生成され
る。
【0241】同様に、ステップS502において、CP
U4は、現在のトリプルの第2及び第3イメージにおけ
る「ダブル」ポイント(すなわち、図7のステップS5
4、S60、S64もしくはS72において第2のイメ
ージペアにわたってマッチするが、当該トリプルの第1
のイメージペアにわたってはマッチしていないポイン
ト)を考慮する。そして、新しいトリプルのポイントを
生成するために、第1のイメージにおける対応するポイ
ントを特定することを試みる。
【0242】図40は、図39のステップS500及び
ステップS502においてCPU4により実行される処
理を示す図である。図40を参照すると、ステップS5
04において、CPU4は、そのペアの他のイメージ
(ステップS500を実行するときの第1のイメージ、
もしくはステップS502を実行するときの第3のイメ
ージ)とダブルポイントを形成するトリプルの第2のイ
メージ(中央)における次のポイントを考慮する。そし
て、図7のステップS56もしくはステップS66で計
算されたカメラ変換を用いて、そのトリプルの残りのイ
メージ(ステップS500を実行する際は第3のイメー
ジであり、ステップS502を実行する際は第1イメー
ジである)内の対応する位置におけるポイントを特定す
る。
【0243】ステップS506において、CPU4は、
第2イメージ内のポイントと、その残りのイメージ内に
特定されたポイントのx方向の両側の設定されたピクセ
ル数(本実施形態では、2ピクセル)の範囲内、および
特定されたポイントのy方向の両側の設定されたピクセ
ル数(本実施形態では、2ピクセル)の範囲内に存在す
るピクセルとの間の類似性測度を計算する。こうして、
そのトリプルの残りのイメージ内の5ピクセル×5ピク
セルの矩形内のポイントが考慮される。CPU4は、適
応化最小二乗相関テクニック(adaptive least squares
correlation technique)を用いて相似性測度を計算す
る。ここで、例えば、「Adaptive LeastSquares Correl
ation: A Powerful Image Matching Technique」、A.W.
Gruen著、Photogrammetry Remote Sensing and Cartog
raphy、1985、175-187頁に記載されているテクニック
を、最良のマッチポイントを特定するのに用いることが
できる。
【0244】ステップS510において、CPU4は、
ステップS506において特定された最良のマッチポイ
ントの相似性測度が閾値(本実施形態では0.7)より
大きいかどうかを判断する。もしも相似性測度が閾値よ
りも大きければ、CPU4は第2イメージにおけるポイ
ントとそのトリプルの残りのイメージにおけるポイント
との間の類似性が、そのポイントがマッチングポイント
であるとみなすのに十分に高いと判断し、ステップS5
12において、ダブルポイントと、そのイメージのトリ
プルの残りのイメージにおいて特定された新しいポイン
トとからトリプルポイントを形成する。一方、CPU4
がステップS510において類似性測度が閾値以下であ
ると判断した場合、考慮中のダブルポイントに関しての
トリプルポイントを形成しないよう、ステップS512
が省略される。
【0245】ステップS514において、CPU4は、
考慮中のイメージペアにおいて別のダブルポイントがあ
るかどうかを判断する。ステップS504〜S514
は、考慮中のイメージペアに関してすべてのダブルポイ
ントが上述の方法で処理されるまで繰り返される。
【0246】図7のステップS74における制約的特徴
マッチングを実行するにおいて、CPU4がそのイメー
ジトリプルの第2及び第3のイメージにおけるポイント
間の新しいマッチング(図39のステップS500)、
そして、そのトリプルの第1のイメージペアにおけるポ
イント間の新しいマッチング(図39のステップS50
2)を生成することは歓迎すべきことである。これらの
新しいマッチングは、図3のステップS10において、
CPU4が3次元データを生成するのに用いられる。こ
の点は後述する。加えて、図7を参照すると、トリプル
内の第2のイメージペアにおけるポイント間について生
成された新しいマッチングは、次のイメージトリプルの
ために引き続き行われる初期特徴マッチングにおいて考
慮される。これは、前述したように、トリプル内の第2
のイメージペアに対する新しいマッチングを特定するた
めにステップS74において制約的特徴マッチングが実
行される場合、このイメージペアは、考慮される次のイ
メージトリプルにおける第1のイメージペアになる。そ
して、ステップS54で実行された初期自動的特徴マッ
チングとステップS64で実行された初期アフィン特徴
マッチングの両方は、そのトリプルの第2のイメージペ
アにわたって、以前に第1のイメージペアにわたってマ
ッチしたポイントをマッチさせることを試みる。制約的
特徴マッチング(図39のステップS502)の間に計
算された第1のイメージペア内のポイント間の新しいマ
ッチングは、次のイメージトリプルの初期特徴マッチン
グを実行する際には考慮されないが、これらの新しいマ
ッチングは、CPU4が図3のステップS10において
3次元データを生成する際に考慮される。この処理は後
述する。その順序における最終の3つのイメージに対し
て、図7のステップS74において制約的特徴マッチン
グが実行されるとき、これに続く考慮されるべきイメー
ジトリプルは存在しない。従って、そのトリプルにおけ
る第2のイメージペアにわたって生成される新しいマッ
チングは、初期特徴マッチングの間は考慮されない(こ
の処理は再び実行されないからである)。しかしなが
ら、これらの新しいマッチングは、図3におけるステッ
プS10で3Dデータを生成するときに考慮されること
になる。
【0247】図3を再び参照すると、初期特徴マッチン
グ(ステップS4)、カメラ変換の計算(ステップS
6)、そして上述した方法で制約的特徴マッチングを実
行(ステップS8)した後、CPU4はステップS10
において、それらの結果を用いて3Dデータを生成す
る。この処理の目的は、オブジェクト24の表面上のポ
イントを表すために正しく配置された3次元空間におけ
るポイントの単一の集合を生成する。
【0248】図41は、図3のステップS10において
3Dデータを生成するときの、CPU4によって実行さ
れる処理を示す図である。図41を参照すると、ステッ
プS520において、CPU4は、当該シーケンスにお
ける順番に、各イメージペアを考慮する(図2及び図5
の例においては、L1L3、L3L2、L2L4及びL
4L5のペア)。そして、ユーザ特定された「ダブル」
ポイント(すなわち、図7のステップS60またはS7
2において、イメージペア間でユーザによってマッチさ
れたポイントペアであって、そのイメージペアの直前或
いは直後のイメージにおけるポイントとはマッチしない
もの)、もしくは後続のイメージのトリプルポイントの
部分(すなわち、そのペア内のイメージ間及び位置的順
序においてそのペアの第2のイメージとこれに続くイメ
ージとの間でユーザもしくはCPU4によってマッチさ
れたポイント)のいずれかを形成するペア内のポイント
を投影し、そのようなポイントの各ペアから3D空間に
おける単一のポイントを計算する。ステップS520に
おいて、CPU4は次の(i)〜(iii)のマッチしたポイン
トペアのみを考慮する。すなわち、(i)図3のステップ
S6においてこの変換が計算されたときに、計算された
カメラ変換で十分に正確であるとみなされたポイントペ
ア、(ii)ステップS8において制約的特徴マッチングが
実行されたときに新たなマッチングポイントとして特定
されたポイントペア、(iii)図3のステップS6におけ
る制約的特徴マッチングの間にペアからトリプルへ拡張
された、その元のポイントペアを形成したポイントペア
である。このように、ステップS520においては、計
算されたカメラ変換に関して十分に正確であるとみなさ
れなかった初期特徴マッチングの間にマッチしたポイン
トはCPU4によって考慮されない(それらが、制約的
特徴マッチングによって、その後に、トリプルへ拡張さ
れない限り)。
【0249】図42は、ステップS520において3D
ポイントを計算するときにCPU4によって実行される
処理を示す。図42を参照すると、ステップS530に
おいて、CPU4はその順序における次のペアを考慮す
る(ステップS530が最初に実行されるときは第1の
ペアとなる)。ステップS532において、CPU4
は、ステップS530において考慮されたイメージペア
における、次の、ポイントペアの各ポイントから、その
ポイントに対するカメラの光学的中心を通る3次元空間
内のラインを投射する。なお、ここで、ラインが投射さ
れる各ポイントとは、ユーザ特定されたダブルポイント
よりのポイント、或いはトリプルポイントよりのポイン
トである。これは、図35で示したものと類似の光線を
生成する。ただし、図35においては、イメージがペア
で考慮されるので、光線が隣接するイメージから投射さ
れるという点が異なっている。
【0250】ステップS534において、CPU4は、
ステップS532において投射された両ラインを接続
し、かつ両ラインに直角である線分の中点を計算する
(この中点は、図35において示されるポイント68に
対応し、オブジェクト24の表面上の物理的ポイントを
表す)。ステップS536において、CPU4は、対応
するポイントがその順序における次のイメージにおいて
マッチしているかを判断する。すなわち、ステップS5
32において光線の投射元のポイントが、続くイメージ
にてトリプルポイントの部分を形成するかどうかを判断
する。もしも、対応するポイントが次のイメージにおい
てマッチすると判断されたならば、CPU4は次のイメ
ージにおけるマッチしたポイントからラインを投射す
る。これは、ステップS532においてポイントからラ
インを投射したのと同じ方法で行われる。ステップS5
40において、CPU4は、ステップS538で投射さ
れた新しいラインと、以前のステップS532でそのポ
イントから投射されたラインとを接続するとともにそれ
らに直角である線分の中点を計算する。これは、ステッ
プS540において中点が計算されたのと同じ方法で行
われる。
【0251】ステップS542において、CPU4は、
その順序の次のイメージにおいて対応するポイントがマ
ッチしたかどうか判断する。ステップS538からS5
42は、その順序における次のイメージが対応するマッ
チポイントを含まなくなるか、その順序におけるすべて
のイメージが処理されるまで、繰り返される。
【0252】例として、図2及び図5で示したような、
5つのイメージを含むイメージシーケンスを参照する。
ステップS532及びS534は、第1のイメージにお
けるポイント及び第2のイメージにおけるマッチしたポ
イントから光線を投射し、単一の3次元ポイントを計算
する(ステップS534における中点)。それは、第1
のイメージにおけるポイントと第2のイメージにおける
ポイントの投影を表す。こうして、オブジェクト24の
表面上の物理的ポイントを表す3次元空間内の単一のポ
イントが、その順序における隣接したイメージ間のポイ
ントペアから得られる。その順序における第3のイメー
ジが、第1及び第2イメージにおけるそれらのポイント
にマッチするポイントを含んでいる場合(ステップS5
36において決定される)、ステップS358及びS5
40は第3のイメージにおけるそのポイントからライン
を投射し、第2のイメージにおけるポイントからのライ
ンと第3のイメージにおけるポイントからのラインを接
続しそれらに直角な線分の中点を計算する。この中点は
第2イメージ及び第3イメージにおけるポイントの投射
からの結果である3Dポイントを表わす。同様に、その
順序における第4のイメージが第3のイメージにおける
ポイントとマッチするポイントを有する場合(ステップ
S542において決定される)、第4のイメージにおけ
るポイントからのラインを投射し、第4のイメージから
のラインと第3のイメージからのラインを接続しそれら
に直角名な分の中点を計算するために、ステップS53
8とS540が繰り返される。そのシーケンスにおける
第4及び第5のイメージからのポイントの投射を表すさ
らなる3Dポイントは、ステップS542において対応
するポイントがその順番における第5のイメージにおい
てマッチしたと判断された場合に、ステップS538と
S540を実行することによって得られる。こうして、
ポイントがその順番における5つのイメージの全てにお
いてマッチしたならば、4つの3Dポイントが生成され
る(これはオブジェクト24の同じ物理的ポイントを表
す)。これらの3D位置は、計算されたカメラ変換にお
けるエラーにより、及びそれらマッチング自体のエラー
により、正確に一致することはまずない。代わりに、図
43に示されるように、それらのポイントは3D空間に
おいて群80を形成する。
【0253】再び、図42を参照すると、ステップS5
44において、CPU4は、現在のイメージペアにおい
て、まだ考慮されていない、そのイメージペアにわたっ
てユーザ特定された「ダブル」ポイントを形成するポイ
ント、或いは後続のイメージとともにトリプルポイント
の一部をなすポイントがあるかどうかを判断する。ステ
ップS532からS544はそのようなポイントのすべ
てが考慮されるまで繰り返される。そのようなポイント
ペアの各々は、ステップS536で対応するポイントが
次のイメージにおいてマッチしないと判断された場合の
3D空間における単一のポイント82(図43)、もし
くは、対応するポイントが少なくとも次のイメージにお
いてマッチする場合のポイント群、のいずれかを生成す
る。もしもポイントがその順序における連続する3つの
イメージにわたってマッチするならばクラスタは2つの
ポイントを含み、もしもそれがその順序における連続す
る4つのイメージにわたってマッチするならばそれは3
つのポイントを含み、上述のようにその順序において5
つのイメージにわたってマッチするなら、クラスタは図
43の群80において示されるように4つのポイントを
備える。
【0254】ステップS546において、CPU4はそ
の順序において別のペアがあるかどうかを考慮する。ス
テップS532からS546は、その順序におけるすべ
てのイメージペアが上述のごとく処理されるまで繰り返
される。結果は、図43に示されるように、単一の3D
ポイントであるべきものに対応する各群のポイントとと
もに、3次元空間における複数のポイント群となる(こ
れはオブジェクト24の表面上の点を表す)。
【0255】図41を再び考慮すると、ステップS52
2において、CPU4はステップS520で計算された
3Dポイントを用いて、各カメラに対して前もって計算
された変換におけるエラーを計算し、不正確な3Dポイ
ントを特定し、破棄する。
【0256】図44A、Bは、図41のステップS52
2でCPU4により実行される処理を示す。図44A、
Bを参照すると、ステップS550で、CPU4はステ
ップS520(図41)で計算された3次元空間の全ポ
イントを考慮し、x座標の標準偏差Δxと、y座標の標
準偏差Δyと、z座標の標準偏差Δzを計算する。ステ
ップS552において、CPU4は3次元空間のポイン
トで作られたオブジェクトのサイズ(size)を以下の式
を用いて計算する。
【0257】
【数17】
【0258】ステップS554からS562において、
CPU4は、与えられたイメージペアより生成された3
次元空間内の不正確なポイントを特定し、これを破棄す
る。ステップS5464からS568において、CPU
4は残りのポイント、すなわち不正確なポイントが破棄
された後に残ったポイントを用いて、後続のカメラポジ
ションのペアについてカメラエラーを計算する。
【0259】ステップS554において、CPU4は、
次のカメラポジションのペアを考慮し(そのステップが
最初に実行されるときは、第1のカメラポジションが考
慮される)、ステップS520で計算された、後続のイ
メージとでトリプルポイントとなる部分を起源とする3
次元座標系の次のポイントを考慮し、この3Dポイント
とステップS520(図41)で前もって後続のカメラ
ポジションペアのために計算された3D空間内の対応ポ
イントとの間のベクトルシフトを計算する。これは図4
5Aに示されている。図45Aを参照すると、3次元空
間におけるポイント群90は、ステップS520(図4
1)で計算された4つのポイントを備える。それらポイ
ントは、上述のように、実際のオブジェクト24の表面
上の単一のポイントに対応する。#1とラベルされてい
るポイント92はステップS534(図42)でカメラ
ポジション(イメージ)の第1のペアから生成されたポ
イントであり、#2とラベルされているポイント96は
ステップS540(図42)でカメラポジション(イメ
ージ)の第2のペアから生成されたポイントである。同
様に、#3のポイントは、ステップS540でカメラポ
ジションの第3のペアから生成されたポイントであり、
#4のポイントは、ステップS540でカメラポジショ
ンの第4のペアから生成されたポイントである。これら
のポイントの各々は、図45Aにおいてドットで表され
ている。第1のカメラポジションペアに関するポイント
92と後続のカメラポジションペア(第2のペア)のた
めに前もって計算された対応ポイント96との間の、ス
テップS554で計算されたシフトが図45Aに示され
ている。このシフトは、第2のカメラポジションのペア
における、このポイントペアのエラーを表し、従って、
“SHIFT2”とラベル付けられている。カメラポジション
の第3のペアに関するエラー(SHIFT3)、及び、カメラ
ポジションの第4のペアに関するエラー(SHIFT4)、こ
れらはステップS554でカメラポジションの後続のペ
アが考慮されるときに計算されることになるが、これら
もまたポイント群を表す図45Aにおいて示されてい
る。
【0260】再び図44Aを参照すると、ステップS5
58において、CPU4はステップS554で計算され
たシフトのマグニチュードが、ステップS552で計算
されたオブジェクトサイズの10%よりも大きいかどう
かを判断する。もしそうならば、現在のカメラポジショ
ンペアに関して考慮中のポイントと、後続のカメラポジ
ションペアに関する対応ポイントが不正確であるとみな
され、従って、ステップS560で破棄される。図45
Aを再び参照すると、ステップS558(図44)で、
SHIFT2のマグニチュードがオブジェクトサイズの10%
よりも大きいと判断されると、ポイント92、96は破
棄される。一方、ステップS558においてそのシフト
のマグニチュードがオブジェクトサイズの10%以下で
あると判断されると、ポイントは十分に正確であると判
断され、従ってそれらのポイントは維持される。上述し
たように3Dポイントは、計算されたカメラ変換につい
て正確とみなされなかったポイントのペアからステップ
S520(図41)で生成されることはないが、3Dポ
イントはステップS520で制約的特徴マッチングの間
に特定された新しいマッチングから生成される。従っ
て、図44のステップS554からS560で、CPU
4によって実行される処理は、制約的特徴マッチングが
テストされている間に特定される新しいマッチングから
生成される3Dポイントの正確さを確実にする(よっ
て、新しいマッチング自体がテストされる)。
【0261】図44Aを再び参照すると、ステップS5
62において、CPU4は、ステップS520(図4
1)にて、後続のイメージとともにトリプルの一部を形
成したポイントを起点とするカメラポジションの現在の
ペアに関して、計算された3次元空間における別のポイ
ントがあるかどうかを判断する。ステップS554から
S562は、そのようなすべてのポイントが上述のよう
に処理されるまで繰り返される。図45Bは、この処理
がカメラポジションの第1ペアについて完了したときの
状態を表している。各ポイント群について、第1のイメ
ージペアにおけるポイントから生成された3Dポイント
と後続のイメージペアにおけるポイントを用いて生成さ
れた対応ポイントとの間のシフトが計算される。もし
も、シフトが、オブジェクトサイズの10%よりも大き
ければ、カメラポジションの現在(第1)のペアに対す
るポイントとカメラポジションの後続(第2)のペアに
対するポイントは破棄される。図45Bから、3次元空
間における単一ポイントについて、シフト、すなわち、
群の部分を形成しないポイント、は計算されない。これ
は、これらのポイントはステップS520(図41)に
おいて2つの連続するイメージのみにわたってマッチす
るポイントペアから派生し、従って、シーケンスの連続
するイメージにおいてマッチした対応ポイントから派生
した3次元空間におけるポイントは存在しないので、シ
フトを計算することは可能ではない。
【0262】再び図44Aを参照すると、ステップS5
64において、CPU4は、カメラポジションの現在の
ペアのためのポイントと後続のカメラポジションペアの
ためのポイントとの間の全シフトの正味(net)を計算す
る(オブジェクトの10%より大きいシフト(ステップ
S558で決定される)は考慮されない)。これは、カ
メラポジションの後続のペアに対するエラー回転行列と
エラー変換ベクトルを与える。シフトの正味は、一般的
な方法で計算される。その方法は例えば、「Closed-For
m Solution of Absolute Orientation using Unit Quat
ernions」、B.K.P. Horn in Journal of the Optical S
ociety of America, 4(4): 629-649, Apr. 1987、に記
載されたquaternionsのホルンの方法を用いることがで
きる。要約すると、後続のカメラポジションペアに対す
るポイントを現在のカメラポジションペアの対応ポイン
トに最も正確にマップするための回転行列R、変換ベク
トルが計算される。もし、Pcを現在のカメラポジシ
ョンペアのポイントとし、Pnを次のカメラポジション
ペアの対応ポイントとし、Pn’がPnの再マップされた
ものであるとすれば、以下の式が成立する。
【0263】
【数18】
【0264】合計は内積(dot product)である、(Pn'-
Pc)T・(Pn'-Pc)のモジュール(module)の全共通ポイン
トにわたって最小化される。
【0265】ステップS566において、CPU4は、
ステップS564で計算されたエラー回転行列とエラー
変換ベクトルを、後続のカメラポジションペア(図45
Bの#2)について前もって計算された各ポイントに適
用する。前に計算された各ポイントに対し、これは、正
しいポイント(上述の式(32)によって与えられるP
n’)を与える。このポイントは、図46に示されるよ
うに、現在のカメラポジションペアに対するポイントの
より近くに位置する。なお、図46では、カメラポジシ
ョンの現在のペアに対するポイントが、前のようにドッ
トであらわされ、カメラポジションの後続のペアについ
ての修正されたポイントがクロスによって表されてい
る。
【0266】ステップS568において、CPU4は、
ステップS566で計算された各修正された3Dポイン
トの座標と、その対応ポイントとの間の差を計算し、そ
して、その結果である差の共分散行列(co-variance ma
trix)を計算する。これは、一般的な数学的テクニック
を用いて実行される。結果としての共分散行列は、3次
元におけるガウス分布(Gaussian distribution)を備
える。ガウス分布は、ステップS564で計算されたエ
ラー変換のための3次元のエラー楕円(errorellipsoi
d)を表す。こうして、ステップS564からS568
において、CPU4は、後続のカメラポジションペアの
ためのエラー変換と、エラー変換に関連するエラー(エ
ラー楕円)を計算する。
【0267】ステップS570において、CPU4は、
まだ考慮されていないカメラポジションペアがあるかど
うかを判断する。ステップS554からS570は、す
べてのカメラポジションペアについてのデータが上述し
た方法で処理されるまで繰り返される。
【0268】その順序におけるカメラポジションの第1
のペアに関して、ステップS564でエラー変換が計算
されないのは歓迎すべきことである。このカメラポジシ
ョンペアはゼロのエラーを有すると仮定される。また、
与えられたカメラポジションペアのためのエラー変換
が、前のカメラポジションペアに関連して起算されるこ
とも歓迎すべきことである。こうして、第2のカメラポ
ジションペア(すなわち、その順序における第2と第3
のイメージを生成する位置)のためのカラー変換は、累
積エラー(cumulative error)を含まない。第1のカメ
ラポジションペアに対するエラーがゼロと仮定されるか
らである。一方、後続のカメラポジションペアの各々に
対するエラー変換は、累積エラーを含む。例えば、第3
のカメラポジションペア(すなわち、その順序における
第3と第4のイメージを生成する位置)のためのエラー
変換は、第2のカメラポジションペアのエラー変換に関
連して計算される。従って、第3のカメラポジションペ
アのためのトータルの累積エラーを与えるために、第3
のカメラポジションペアのための計算されたエラー変換
と共分散行列は、第2のカメラポジションペアのための
エラー変換と共分散行列によって調整される必要があ
る。同様に、第4のカメラポジションペア(その順序の
第4及び第5のイメージを生成する位置)のための計算
されたエラー変換と共分散行列は、第4のカメラポジシ
ョンペアのトータルな累積エラーを与えるために、第2
のカメラポジションペアと第3のカメラポジションペア
のためのエラー変換及び共分散行列によって調整される
必要がある。
【0269】これは、CPU4により、ステップS57
2で次のように実現される。
【0270】
【数19】
【0271】ここで、Ri'はi番目の累積エラー変換の
ための回転行列であり、Riはi番目の個別のエラー変
換のための回転行列であり、ti'はi番目の累積エラー
変換のための変換ベクトルであり、tiはi番目の個別
のエラー変換のための変換ベクトルであり、ci'はi番
目の累積エラー変換のための分散行列であり、cnはn
番目の個別エラー変換のための分散行列である。
【0272】図41を再び参照すると、ステップS52
2において各カメラポジションペアのためのエラーの計
算の後に、CPU4は、ステップS524において、適
切なカメラポジションエラーにより3次元空間における
各残りのポイント(すなわちステップS520で計算さ
れたポイントで、図44のステップS560で破棄され
たもの以外のポイント)の座標を調整する。これは、累
積エラー変換(図44のステップS572で既に計算さ
れた)をポイントポジションに適用し、適切なエラー累
積(これも図44のステップS572で計算された)を
そのポイントに加えることによりなされる。例えば、そ
の順序における第1のイメージペアからステップS52
0で生成されたポイントはステップS524で調整され
ない。上述したように、このイメージペアに対するカメ
ラポジションエラーはゼロと仮定されるからである。そ
の順序内の第2と第3のイメージを用いて、ステップS
520で生成されたポイントは、第2カメラポジション
ペアのために計算されたエラー変換によって移動され、
第2カメラポジションペアのために計算された共分散行
列が移動されたポイントに加えられる。その順序内の第
3と第4のイメージからステップS520で生成された
ポイントは、第3カメラポジションペアのために図44
のステップS572で計算された累積エラー変換により
移動され、第3カメラポジションペアのためにステップ
S572で計算された累積共分散行列がその移動された
ポイントに加えられる。その順序内の第4と第5のイメ
ージを用いてステップS520で計算されたポイント
は、第4のカメラポジションペアのためにステップS5
72で計算された累積エラー変換により移動され、第4
カメラポジションペアのためにステップS572で計算
された累積共分散行列がその移動されたポイントに加え
られる。
【0273】ステップS526において、CPU4は、
3次元空間中における実際のオブジェクト24上の共通
ポイントに関連するポイントを結合する。すなわち、各
個別の群内のポイントは結合ポイントを生成すべく結合
される。その結合ポイントの位置は群内に存在するポイ
ントの位置に依存し、群内のポイントのエラー累積に依
存するエラー累積を有する。エラー累積は、3D空間に
おけるガウス確率密度関数であり、同じ3Dポイントの
位置の独立した測度を表す。それらは独立しているの
で、個別の測度がこのステップにおいて、ガウス確率密
度関数を一般的な方法で互いに乗算することにより、結
合され、結合されたガウス確率密度関数もしくはエラー
累積を与える。
【0274】ステップS526で生成されたポイント
が、オブジェクト24上のユニークなポイントと実際に
は関連していないこともある。例えば、図47に示され
るように、ポイント100,102及び104に対する
エラー累積は、実際にはオーバーラップし、従ってこれ
らのポイントはオブジェクト24上の同一ポイントに関
連している。従って、ステップS528において、CP
U4は、ステップS526で生成された結合ポイントが
オブジェクト24上のユニークなイメージポイントに対
応するかどうかをチェックし、そうなっていないものを
マージする。
【0275】図48は、ステップS528において、C
PU4によって実行される処理を示す。図48を参照す
ると、ステップS580において、CPU4は、ステッ
プS526(図41)で生成されたポイントを、それらの
エラー楕円(すなわち、ステップS526で生成された
結合エラー楕円)の大きさでソートし、最も小さいエラ
ー楕円のポイントを先頭としたリストを生成する。
【0276】ステップS582において、CPU4はリ
スト中の次に高い順位にあるポイント(これはステップ
S582が最初に実行されるときには最も高いポイント
である)をリスト中の後続の全ポイントと比較する。現
在のポイントが、その1標準偏差に等価な3D距離(マ
ハラノビス距離(Mahalanobis distance))内に存在す
る全ての後続のポイントを特定する。
【0277】ステップS584において、考慮中の最高
順位のポイントは、リスト中のより下位の次の条件を満
足するポイントと結合される。その条件は、それらのポ
イント間の距離が、低順位のポイントのエラー楕円のマ
ハラノビス距離よりも小さいということである。これ
は、ステップS526で一般的な数学的手法を用いてポ
イントが結合されたのと同じ方法で、単一の結合された
ポイントを生成するための全ポイントと結合することに
より実現される。考慮中の最も高い順位のポイントは、
ステップS580で生成されたリスト中において結合さ
れたポイントへ置き換えられ、リスト中の結合ポイント
を生成するために使用されたすべての低順位ポイント
は、リストより除去される。ステップS586におい
て、CPU4は、まだ考慮していない別のポイントがそ
のリスト中にあるかどうかを判断する。ステップS58
2〜S586は、上述した方法で、リスト中のすべての
ポイントが処理されるまで繰り返される。
【0278】図41を再び参照すると、ステップS52
0からS528を実行した後で、CPU4は3次元空間
における複数ポイントを生成する。それらポイントの各
々は、オブジェクト24の表面上のポイントと関連して
いる。
【0279】図3を再び参照すると、ステップS12に
おいて、CPU4はオブジェクト24の表面を表す面を
生成するために、ポイントを処理する。
【0280】図49は、図3のステップS12において
面を生成する際の、CPU4によって実行される処理を
示す図である。図49を参照すると、ステップS590
において、CPU4は、一般的な手法における3次元空
間内のポイントのデラウナリの三角生成(Delaunary tr
iangulation)を実行する。その手法は、例えば、「Thr
ee-Dimensional Computer Vision」、Faugeras著、Chap
ter 10、MIT Press、ISBN 0-262-06158-9に記載されて
いる。この処理は、複数の平らな三角形面を生成すべ
く、ポイントを相互に接続する。しかし、オブジェクト
24の内側を通して、多数の相互接続がポイント間にお
いてなされ、外部からは見えないオブジェクト24の内
部における面を生成する。加えて、それは、オブジェク
ト24の凹部領域にまたがる擬似的表面を生成する可能
性がある。それによって、実際の凹部表面が覆い隠され
てしまう。従って、ステップS592〜S600におい
て、CPU4はこれらの隠れた擬似的な表面を除去する
ためにデータを処理する。
【0281】ステップS592において、CPU4は、
その順序における次のカメラ(これは、ステップS59
2が最初に処理されるときは第1のカメラとなる)を考
慮する。そして、ステップS594において、そのカメ
ラから見える次の3Dポイント(ステップS594が最
初に実行されるときは最初の3Dポイント)へ、そのカ
メラから光線を投射する。すなわち、そのカメラに関す
るイメージデータ内でマッチしたポイントからオリジネ
イトされる3次元空間における次のポイントである。そ
のカメラと3Dポイント間で光線を投射するとき、CP
U4は、そのポイントのエラー楕円を横切る最も近いポ
イントでその光線をストップする。ステップS596に
おいて、CPU4は一般的なテクニックを用いて、その
光線がステップS590で生成された面を横切るかどう
かを判断する。そのテクニックは、例えば「Graphics G
ems」、A. Glassner著、Academic Press Professiona
l、1990、 ISBN 0-12-286166-3のChapter 7に記載され
ている。明らかに、そのポイントとカメラの間には面は
存在しない。さもなければ、カメラはそのポイントを見
ることができない。従って、光線によって横切られるあ
らゆる面がステップS596で除去される。ステップS
598でCPU4は、カメラによって見ることのできる
別のポイントが3次元空間内にあるかどうかを判断す
る。ステップS594からS598は、上述した方法で
すべてのポイントが処理されるまで繰り返される。ステ
ップS600において、CPU4は、その順序において
別のカメラがあるかどうかを判断する。ステップS59
2〜S600は、上述のような面を除去するためにすべ
てのカメラが考慮されるまで繰り返される。
【0282】上述した処理において、ステップS594
で、CPU4はカメラからポイントのためのエラー楕円
のエッジへ光線を設定する(ポイント自身ではなく)、
そして、光線がいずれかの面を横切るかどうかを考慮す
る。これは、ポイントの位置的なエラーが考慮されると
いう長所をもたらす。例えば、もしも光線が、ポイント
までの間で投射されるならば、ポイントとそのエラー楕
円のカメラに最も近いエッジとの間にある面はその光線
によって横切られ、従って、除去される。しかしなが
ら、これは不正確な結果をもたらす。3Dポイントは正
確にそのエラー楕円内のあらゆるところに存在し、よっ
て面の前に存在する可能性があるからである。本実施形
態における処理はこれを考慮する。
【0283】ステップS602において、CPU4は、
残りの三角面を考慮する。そして、自由空間に接触する
面を持たないあらゆる三角形(これは、そのオブジェク
ト内に閉じ込められた面に対応する)を除去する。これ
は、一般的なテクニックを用いて実行される。そのよう
なテクニックは、例えば、「Three-Dimensional Comput
er Vision」、Faugeras著、Chapter 10, MIT Press,
ISBN 0-262-06158-9に記載されている。
【0284】ステップS590からS602を実行した
後、CPU4はオブジェクト24を表す3次元空間にお
ける複数の面を生成する。ステップS604からS61
0において、CPU4は、各三角形表面に表示すべきテ
クスチャを決定する。
【0285】ステップS604において、CPU4は、
次の残りの三角形(ステップS604が最初に実行され
るとき、これは、第1の残余三角形である)に対する法
線を計算する。ステップS606において、CPU4
は、ステップS604で計算された法線と各カメラの光
軸との内積を計算し、法線に最も近い角度で三角形を見
たカメラを特定する(これは、その光軸と面の法線との
間の角度が最も小さいカメラである)。ステップS60
8において、CPU4は、ステップS606で特定され
たカメラのためのデータを読み出し(図4のステップS
18で格納されたもの)、三角形のためのテクスチャを
決定するためにその三角形の頂点の間にあるイメージデ
ータを読み出す。ステップS610において、CPU4
は、テクスチャを決定すべき別の残余の三角形があるか
どうかを判断する。ステップS604からS610は、
すべての三角形についてテクスチャが決定されるまで繰
り返される。
【0286】図3を再度参照すると、本実施形態におい
て、ステップS12でオブジェクトを表す面を生成した
後、CPU4はステップS14にてその面を表示する。
これは一般的な方法で実行される。たとえば、「Comput
er Graphics Principle andPractice」、Foley, van Da
m, Feiner及びHughes著、Second Edition、Addison-Wes
ley Publishing Company Inc., ISBN 0-201-12110-7に
記載の方法を用いることができる。この方法の概要を以
下に述べる。
【0287】図50は、ステップS14で表面データを
表示する際のCPU4によって実行される処理を示す。
図50を参照すると、ステップS620において、CP
U4は、オブジェクトに対するライティングパラメータ
(照明パラメータ)、すなわち、どのようにオブジェク
ト画が照らされるかを定義するデータを計算する。この
データは、入力デバイス14を用いてユーザによって入
力されてもよいし、或いは、デフォルトの照明パラメー
タが用いられてもよい。ステップS622において、オ
ブジェクトが観察されるべき方向が、入力デバイス14
を用いてユーザにより定義される。
【0288】ステップS624において、オブジェクト
のplanar三角形面を特定する頂点は、それらが定義され
るオブジェクト空間から、光源が定義されるモデル空間
へ変換される。ステップS626において、光源の位置
に関するデータ及び各三角形面のテクスチャデータ(ス
テップS608で前もって決定されている)を処理する
ことで、三角形面が照らされる。その後、ステップS6
28において、モデリング空間は、ステップS622で
選択されて方向付けられたビューイングに依存するビュ
ーイング空間に変換される。この変換は、ビューの特定
のフィールドを定義する。それは、通常、モデリング空
間の全体よりも小さい空間をカバーする。従って、ステ
ップS630において、CPU4は面を除去、或いはそ
れらのビューのフィールドの外に出る部分を除去するた
めに、クリッピング処理を実行する。
【0289】この段階までに、CPU4によって処理さ
れたオブジェクトデータは、3次元空間座標位置を決定
する。ステップS632において、三角形面の頂点が、
2次元イメージを特定するために、投影される。
【0290】2次元イメージを投影した後、「前向き」
の三角形面、すなわち、観察者の方向を向くもの、及び
「後ろ向き」の三角形面、すなわち観察者には見えない
ものを特定する必要がある。従って、ステップS634
において、後ろ向きの面が特定され、抜き取られる。こ
うして、ステップS634において、可視のポリゴンの
三角形面を特定する頂点が2次元において定義される。
【0291】ステップS636において、面を定義する
2次元データはCPU4により、ピクセル値を生成する
べく、図49のステップS608で前もって決定された
各面のテクスチャを定義するデータを考慮に入れて、ス
キャンコンバート(scan-convert)される。
【0292】ステップS638において、ステップS6
36で生成されたピクセル値が、フレームバッファに面
毎に書き込まれる。それにより、完全な2次元イメージ
のためのデータを生成する。
【0293】ステップS640において、CPU4は、
ピクセル値を定義する信号を生成する。信号は、ディス
プレイユニット18上にオブジェクトのイメージを生成
するために用いられ、及び/又は、例えばビデオレコー
ダ20内のビデオテープ上に記録される。或いは、信号
は表示或いは記録のために遠隔の受信機に送信されても
よい。
【0294】これまで記述してきた実施形態に対し、種
々の変形が可能である。
【0295】上述の実施形態において、図2に関連して
記述したように、カメラ12は、オブジェクトのイメー
ジを記録するために、オブジェクト24のまわりの異な
る位置へ移動される。しかしながら、これに限られるも
のではなく、カメラ12が固定位置に維持され、オブジ
ェクト24が移動してもよい。もちろんカメラ12とオ
ブジェクト24の位置の双方が動いてイメージを記録し
てもよい。
【0296】カメラ12は、オブジェクト24のイメー
ジの連続的なシーケンスを記録するビデオカメラであっ
てもよい。CPU4によって処理されるイメージデータ
は、ビデオシーケンスからイメージデータフレームを選
択することによって得られる。
【0297】上記実施形態において、図4のステップS
22及びS24でイメージの位置的順序をアレンジする
とき、ユーザがその順序における正しい位置へディスプ
レイ上のイメージを移動する(図5に関連して記述した
通りである)、そして、CPU4は、その順序における
それらの位置を決定するためにイメージ間の距離を計算
する。これに替えて、ユーザがその順序における位置を
表す数字を各イメージに割り当ててもよい。利便のため
に、CPU4は、割り当てられた番号に従ってユーザに
イメージを再表示する。
【0298】上記実施形態の記述において、3Dモデル
を生成するためにオブジェクト24の5つのイメージが
処理された。しかし、他の数のイメージが用いられても
よいことはもちろんである。
【0299】図7のステップS52、S54、S62、
S64で実行された上述の処理のために、異なる初期特
徴マッチングテクニックが用いられてもよい。例えば、
ステップS52とS54で実行された初期特徴マッチン
グは、イメージ中のコーナーを検出するが、この処理
は、イメージデータのカラー或いは輝度値における最
小、最大或いはサドル(saddle)点を検出するテクニッ
クで置き換えてもよい。この種のテクニックは、例え
ば、「Computer and Robot Vision Volume 1」、Harali
ck & Shapiro著、Chapter 8、Addison-Wesley Publishi
ng Company, ISBN 0-201-10877-1 (V.1)に記載された方
法が、そのようなポイントを検出するのに用いられ得
る。検出されたポイントは、前述の適応化最小二乗相関
を用いてマッチングされる。上述で参照されたすべての
タイプのポイント、すなわち、コーナーポイント、最小
ポイント、最大ポイント及びサドルポイントを検出し、
マッチする初期特徴マッチングテクニックが採用されて
もよい。
【0300】上記実施形態では、ピクセルのエッジマグ
ニチュードとエッジ方向値を用いて、ステップS106
とS108でイメージ中におけるエッジを特定する。こ
れに替えて、エッジは、ピクセルのエッジマグニチュー
ドもしくはエッジ方向値の一方のみを用いて特定されて
もよい。
【0301】上記実施形態では、図7のステップS62
とS64でアフィン初期特徴マッチングを実行する際
に、CPU4は、各イメージにおけるユーザ特定ポイン
トを三角形で結び、その三角形内に含まれるイメージの
部分間の関係を計算するために、対応する三角形の各頂
点の座標を用いることにより、イメージペアの部分間の
関係を計算する。変形例として、ユーザ特定ポイントの
みを用いる代わりに、三角形を生成するためにCPU4
はユーザ特定およびCPU特定ポイントをコネクトする
ようにアレンジされてもよいし、CPU特定ポイント
(例えば、コーナーポイント)だけを用いるようにアレ
ンジされてもよい。
【0302】上記実施形態において、アフィン初期特徴
マッチングを実行する際に、ステップS162におい
て、CPU4は、イメージを矩形に分割するために水平
および垂直のグリッドを用いる。しかしながら、イメー
ジは、他の方法において、より小さい領域へ均等に分割
されてもよい。例えば、長方形へ分割するグリッドが用
いられてもよい。また、非水平および非垂直ラインを有
するグリッドが用いられてもよい。
【0303】上述の実施形態において、ステップS56
とS66で、カメラ変位を計算する際に、CPU4はパ
ースペクティブ計算を2度実行する(図25)。1つは
ユーザ特定ポイントのみを用いて(ステップS246〜
S262)、そしてもう1つはユーザ特定ポイントとC
PU計算ポイントの両方を用いて(ステップS266か
らS282)行われる。同様にCPU4は、アフィン計
算を2回(図27)実行する。1つは、ユーザ特定ポイ
ントのみを用いて(ステップS312からS327)、
そしてもう1つはユーザ特定およびCPU特定ポイント
を用いる(ステップS330からS345)。変形例と
して、CPU4は、各パースペクティブ計算とアフィン
計算のそれぞれの2回の計算を次のようにしてもよい。
すなわち、 ・1回はユーザ特定ポイントのみを用いて、次にCPU
計算されたポイントのみを用いて計算する。 ・1回は、CPU家違算されたポイントのみを用い、も
う1回ではユーザ特定およびCPU計算ポイントの両方
を用いる。
【0304】また、各パースペクティブおよび各アフィ
ン計算は、3回計算されてよい。例えば、1回は、ユー
ザ特定ポイントで、もう1回はCPU計算ポイント、さ
らにもう1回はユーザ特定およびCPU計算ポイントの
両方で行う。
【0305】上述した実施形態において、ステップS2
40におけるパースペクティブカメラ変換を計算する際
に、CPU4は物理的なfundamental行列をテストする
(図25のステップS253、255、273およびS
275)。代わりに、他の物理的に信頼性のある行列、
たとえば物理的essential行列(Ephys)がテストされも
よい。
【0306】上記実施形態において、ステップS500
とステップS502(図39)で、制約的特徴マッチン
グを実行する際(図7のステップS74)、「ダブル」
ポイント(すなわち、トリプル中のイメージペアにたわ
たってマッチするポイント)が考慮され、トリプルポイ
ント(すなわち、3つのイメージにわたってマッチする
ポイント)を形成すべくトリプル内の別のイメージにお
ける対応ポイントを特定するべく試みるために処理が実
行される。また、シングルポイント、すなわちトリプル
内の1つのイメージで特定されるものの他のイメージと
の間ではマッチするポイントが見出されていないポイン
ト、を考慮することは可能であり、トリプルの他の2つ
のイメージの各々において対応点を特定するべく試みる
処理を実行することは可能である。たとえば、トリプル
中の第1イメージよりシングルポイントを取り出し、図
7のステップS56或いはステップS66で前もって計
算されたカメラ変換を用いて、第2イメージの対応する
位置のポイントを特定することができる。適応化最小二
乗相関テクニック、たとえば、前述で参照した、「Adap
tive Least Squares Correlation: A Powerful Image M
atching Technique」、A.W. Gruen著、Photogrammetry
Remote Sensing and Cartography、1985、175-187頁に
記載のテクニックが、第2イメージ中の対応ポイントの
付近におけるピクセルの相似性測度を決定するのに用い
られてもよい。そして最も高い相似性測度を閾値と比較
し、そのような相似性測度値を有するピクセルが第1の
イメージのポイントとマッチするかを判断する。マッチ
が見出されたら、第3イメージにおけるポイントについ
てマッチが見出されるかどうかを判断するために、類似
の処理が実行され、それによりトリプルポイントが特定
される。
【0307】上記実施形態において、図7のステップS
62或いはステップS64でイメージペアについてアフ
ィン初期特徴マッチングを実行する際、CPU4は、そ
の順序において先行するイメージ内のポイントとマッチ
するが、第2イメージペア中のポイントとはマッチしな
い第1イメージペア中の点を考慮し、そのようなポイン
トを第2イメージペアにおけるポイントとマッチするよ
う試みる(図18のステップS166、S176)。こ
うしてCPU4は、イメージのシーケンスを通して現在
のイメージから当該順序の後続のイメージへマッチした
ポイントを伝播するために処理を実行する。また、その
ようなポイントを伝播する処理を反対方向に行うことも
可能である。すなわち、現在のイメージから、当該順序
における先行イメージへポイントを伝播してもよい。た
とえば、順序内のイメージは反対方向に考慮され得る。
すなわち、当該順序中の最終イメージ(図2の例で、位
置L5から撮られたイメージ)からはじめて、上述と同
様の方法データを処理するようにしてもよい。また、処
理は、両方向へポイントを伝播すべく実行されてよい。
これは、単一方向へポイントを伝播するべく処理が実行
される場合よりもポイント間のより多くのマッチングを
提供する可能性がある。これは、図7のステップS66
で計算されるべきより正確なカメラ変換を可能とする。
【0308】上記の実施形態において、図7のステップ
S74で制約的特徴マッチングをCPU4が実行する
際、図39のステップS500においてイメージトリプ
ルの第2および第3イメージ内のポイント間の新たなマ
ッチが特定される。前述のように、これらのポイントは
後続の処理において考慮される。その新たなポイントが
マッチングするイメージペアは、考慮される次のイメー
ジトリプルにおける第1のイメージペアとなるからであ
る。こうして、ステップS54或いはS64において、
次のトリプルにおける第2イメージペアのために自動的
な初期特徴マッチング、或いはアフィン初期特徴マッチ
ングが実行されるとき、制約的特徴マッチングによって
得られる新たなマッチングポイントは、上述のように、
そのトリプルの第3のイメージにおいて、マッチングポ
イントを特定するために用いられ得る。一方、上記実施
形態において、CPU4が制約的特徴マッチングを実行
する際に、図39のステップS502で生成された、ト
リプルにおける第1および第2イメージ内のポイント間
の新たなマッチングは、いかなる後続の初期特徴マッチ
ング処理においても考慮されない。これは、新たなマッ
チングがトリプル内の第1のイメージペアにわたってマ
ッチし、このペアは、さらに後続の初期特徴マッチング
処理において考慮されないからである。しかしながら、
新たなマッチングは、CPU4がステップS10(図
3)にて3Dデータを生成する際に考慮される。新たに
マッチしたポイントは、トリプルポイントの部分を形成
するからである。変形例としては、制約的なマッチング
の間に特定された新しいマッチングのすべてを考慮に入
れてカメラ変換を再計算するための追加的な処理を実行
することを可能とする。これは、各イメージトリプルに
関するカメラ変換について2つの解を生成する。すなわ
ち、第1は、図7に関して上述した方法において生成さ
れる解であり、第2は、新たなマッチングを考慮するた
めの付加的処理によって生成される。これらの2つの解
のうち、最も正確な解が選択される。
【0309】上述した実施形態において、ステップS5
2、S54、S60、S62、S64、S72およびS
74において、ポイント(コーナーポイント、最小ポイ
ント、最大ポイント、サドルポイント等)がイメージ内
でマッチングされる。しかしながら、例えば線等の、他
の特徴で特定およびマッチングを行うことも可能であ
る。
【0310】ステップS528において、上記実施形態
では、CPU4は、ポイントが互いの1標準偏差内にあ
ればそれらをマージする。しかしながら、それらを結合
する代わりにポイントのひとつを削除してもよい。
【0311】上述した実施形態において、図3のステッ
プS12において面を生成し、CPU4は、ステップ1
4で面データを表示すべく処理を実行する。これに替え
て、もしくは付加的に、ステップS14で面データを表
示する代わりに、CPU4が以下の処理を実行してもよ
い。すなわち、 ・例えば、適切な形状へ材料をカットするカッティング
装置を制御することにより、オブジェクト24のモデル
を製造する製造設備を制御する。 ・例えばデータベースに格納されたデータと比較するこ
とにより、オブジェクトを認識するための処理を実行す
る。 ・オブジェクトのサイズを記録するための絶対的な計測
値を取ることにより、或いは、前もって生成されたオブ
ジェクトのモデルとそのモデルを比較してそれらの間に
おける変化を判断することにより、そのオブジェクトを
計測するための処理を実現する。 ・ロボットを制御して、そのオブジェクトの回りをナビ
ゲートするための処理を実行する。 ・モデルを表すオブジェクトデータを、遠隔の処理装置
に伝送する(たとえば、CPU4はオブジェクトデータ
をVRMLフォーマットでインターネットを介して伝送
し、WWWブラウザで処理することを可能とする)。も
ちろん、オブジェクトデータは他の方法で利用されても
よい。
【0312】また、上述したテクニックは、たとえば、
地理情報システム(GIS)もしくは他の地形データベ
ースに入力されている3次元データ地形図作成および地
形調査において用いられてもよい。
【0313】
【図面の簡単な説明】
【図1】本発明の実施形態における画像処理装置のコン
ポーネントを示す概略図である。
【図2】オブジェクトの周囲の異なる位置がらオブジェ
クトをイメージングすることによりイメージデータを収
集する様子を表す図である。
【図3】本発明の実施形態における図1に示される画像
処理装置によって実行される処理のトップレベルを表す
図である。
【図4】図3のステップS2において、初期のデータ入
力の間に実行されるステップを示す図である
【図5】図4のステップS22において、ユーザによる
イメージの並べ替えを説明する図である。
【図6】図1の、ステップS4における初期特徴マッチ
ング、ステップS6におけるカメラ変換の計算、ステッ
プS8における制約的な特徴マッチングにおける処理の
間の関係を説明する図である。
【図7】図6に示される処理の間の関連を詳細に示す図
である。
【図8】図7のステップS52における、イメージトリ
プル内の第1のイメージペアにわたる自動的な初期特徴
マッチングにおける処理を示す図である。
【図9】図7のステップS54における、イメージトリ
プル内の第2のイメージペアにわたる自動的な初期特徴
マッチングにおける処理を示す図である。
【図10】(a)はパースペクティブ画像を、(b)は
アフィン画像を概略的に示した図である。
【図11】図7のステップS62もしくはステップS6
4において、トリプルイメージ内の第1(もしくは第2)
のイメージペアのためのアフィン初期特徴マッチングの
間に実行される処理のトップレベルを示す図である。
【図12】図11のステップS100における、各イメ
ージペア内のエッジを検出する処理を示す図である。
【図13】図12のステップS106もしくはステップ
S108におけるエッジ強度の計算において考慮される
ピクセルを表す図である。
【図14】図12のステップS106及びステップS1
08におけるエッジ強度の計算で実行される処理を示す
図である。
【図15】図12のステップS112において他のエッ
ジとクロスオーバするエッジを除去する際に実行される
処理を示す図である。
【図16】2つのエッジの例を説明する図であり、
(a)及び(b)はエッジがクロスしない例を、(c)
はエッジがクロスする例を示す図である。
【図17】図11のステップS102においてポイント
を三角形に接続する際の処理手順を説明する図である。
【図18A】図11におけるステップS104で、イメ
ージペアにおける更なる対応ポイントを計算する際に実
行される処理手順を説明する図である。
【図18B】図11におけるステップS104で、イメ
ージペアにおける更なる対応ポイントを計算する際に実
行される処理手順を説明する図である。
【図19】図18のステップS162、S174及びS
180における矩形のグリッドの使用を示す図である。
【図20】図7のステップS56及び66においてイメ
ージトリプルに関するカメラ変換を計算するときに実行
される処理のトップレベルを示す図である。
【図21】図20のステップS202においてルーチン
1を実行する際に実行される処理のトップレベルを示す
図である。
【図22】図21のステップS206においてパラメー
タをセットアップする際に実行される処理を示す図であ
る。
【図23】図22のステップS224において実行され
るべき繰り返し数を決定するための処理手順を説明する
図である。
【図24】図21のステップS208もしくはS210
において、トリプル内の第1のイメージペアもしくはト
リプル内の第2のイメージペアのためのカメラ変換を計
算する際の処理手順を説明する図である。
【図25A】図24のステップS240におけるイメー
ジペアのためのパースペクティブ計算を実行する際の処
理手順を説明する図である。
【図25B】図24のステップS240におけるイメー
ジペアのためのパースペクティブ計算を実行する際の処
理手順を説明する図である。
【図25C】図24のステップS240におけるイメー
ジペアのためのパースペクティブ計算を実行する際の処
理手順を説明する図である。
【図26】図25のステップS254及びS274で、
物理的fundamental行列をマッチしたユーザ特定ポイン
ト及び計算ポイントに対してテストする際の処理手順説
明を説明する図である。
【図27A】図24のステップS242において、イメ
ージペアのためにアフィン計算を実行する際の処理手順
を説明する図である。
【図27B】図24のステップS242において、イメ
ージペアのためにアフィン計算を実行する際の処理手順
を説明する図である。
【図28】図21のステップS212における、トリプ
ル内の3つのイメージ全てに対するカメラ変換を計算す
る際の処理手順を説明する図である。
【図29】トリプルの3つのイメージのための、スケー
ルs、回転角度ρ1、ρ2を説明する図である。
【図30】図28のステップS350、S352、S3
54及びS356において、s及び/又はρ1及び/又
はρ2を計算する際の処理手順を表す図である。
【図31】(a)〜(d)は、図30のステップS38
0において考慮された異なるρ1、ρ2の組み合わせを
説明する図である。
【図32】図30のステップS382における、最良の
スケールを計算する際の処理手順を示す図である。
【図33】3つのカメラ全てからの光線を単一のポイン
トでクロスさせるために、図32のステップS400に
おいてカメラの変換をどのように変化させるかを説明す
る図である。
【図34】図32のステップS404において、全ての
トリプルポイントに対して計算されたスケールをテスト
するための処理手順を説明する図である。
【図35】図34のステップS426において、トリプ
ルイメージの外側のイメージにおけるポイントに対する
光線の投射を説明する図である。
【図36】図20のステップS204におけるルーチン
2の処理を実行する際の処理手順のトップレベルを示す
図である。
【図37】図36のステップS450において、存在す
るパラメータを読み、新たなイメージペアのためのパラ
メータをセットアップする際の処理手順を説明する図で
ある。
【図38】図36のステップS454においてトリプル
内の3つのイメージ全てに関するカメラ変換を計算する
際の処理手順を示す図である。
【図39】図7のステップS74における、トリプルイ
メージのための制約的な特徴マッチングを実行する際の
処理のトップレベルを示す図である。
【図40】図39のステップS500及びS502にお
ける処理を説明する図であって、存在するダブルポイン
トの各々に関して対応するポイントを特定するための処
理手順を示す図である。
【図41】図3のステップS10における、3Dデータ
の生成の処理手順を示す図である。
【図42】図41のステップS520において、ユーザ
特定されたダブルポイントの各々、もしくは後続のイメ
ージとのトリプルの一部を形成するポイントの3D投射
を計算する際の処理を説明する図である。
【図43】図41のステップS520が5つのイメージ
にわたるポイントに関して実行された場合の結果を説明
する図である。
【図44A】図41のステップS522において、不正
確な3Dポイントを特定、破棄し、各カメラポジション
ペアのためのエラーを計算する処理手順を説明する図で
ある。
【図44B】図41のステップS522において、不正
確な3Dポイントを特定、破棄し、各カメラポジション
ペアのためのエラーを計算する処理手順を説明する図で
ある。
【図45A】図44のステップS556において、与え
られたカメラポジションペアの3Dポイントと次のカメ
ラポジションペアの対応ポイントとの間について計算さ
れたシフトを説明する図である。
【図45B】図44のステップS556において、与え
られたカメラポジションペアの3Dポイントと次のカメ
ラポジションペアの対応ポイントとの間について計算さ
れたシフトを説明する図である。
【図46】図44のステップS566を実行した結果の
次のカメラポジションペアのための修正された3Dポイ
ントと、現在のカメラポジションペアのための対応する
ポイントを説明する図である。
【図47】3D空間におけるポイントの数とそれらに関
連付けられたエラー楕円を説明する図である。
【図48】結合された3Dポイントがユニークなイメー
ジポイントに対応するかをチェックし、そうでないもの
を図41のステップS528においてマージする際の処
理手順を説明する図である。
【図49】図3のステップS12において面を生成する
際の処理手順を示す図である。
【図50】図3のステップS14において面データを表
示する際に実行される処理手順を示す図である。
【手続補正2】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正内容】
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図16】
【図7】
【図8】
【図9】
【図25C】
【図30】
【図10】
【図11】
【図17】
【図36】
【図12】
【図13】
【図15】
【図43】
【図14】
【図18A】
【図41】
【図45B】
【図18B】
【図19】
【図21】
【図20】
【図22】
【図26】
【図48】
【図23】
【図24】
【図29】
【図25A】
【図25B】
【図47】
【図27A】
【図27B】
【図28】
【図31】
【図33】
【図32】
【図34】
【図35】
【図39】
【図37】
【図38】
【図40】
【図44B】
【図42】
【図44A】
【図45A】
【図46】
【図49】
【図50】
───────────────────────────────────────────────────── フロントページの続き (31)優先権主張番号 9716502.1 (32)優先日 1997年8月5日 (33)優先権主張国 イギリス(GB) (72)発明者 アラン ダビソン イギリス国 1 オッカムコート,オッカ ムロード,サリーリサーチパーク,ギルド フォード,サリー ジー ユー 2 5 ワイ ジェイ キヤノン リサーチ セン ター ヨーロッパ リミテッド.内 (72)発明者 ジェーン ハスラム イギリス国 1 オッカムコート,オッカ ムロード,サリーリサーチパーク,ギルド フォード,サリー ジー ユー 2 5 ワイ ジェイ キヤノン リサーチ セン ター ヨーロッパ リミテッド.内 (72)発明者 アレックス リオンス イギリス国 1 オッカムコート,オッカ ムロード,サリーリサーチパーク,ギルド フォード,サリー ジー ユー 2 5 ワイ ジェイ キヤノン リサーチ セン ター ヨーロッパ リミテッド.内 (72)発明者 サイモン ロウエ イギリス国 1 オッカムコート,オッカ ムロード,サリーリサーチパーク,ギルド フォード,サリー ジー ユー 2 5 ワイ ジェイ キヤノン リサーチ セン ター ヨーロッパ リミテッド.内 (72)発明者 リチャード テイラー イギリス国 1 オッカムコート,オッカ ムロード,サリーリサーチパーク,ギルド フォード,サリー ジー ユー 2 5 ワイ ジェイ キヤノン リサーチ セン ター ヨーロッパ リミテッド.内

Claims (158)

    【特許請求の範囲】
  1. 【請求項1】 オブジェクトの第1のイメージペアの間
    のアフィン変換を表す第1の入力信号と、該第1のイメ
    ージペア間のパースペクティブ変換を表す第2の入力信
    号と、該オブジェクトの第2のイメージペアの間のアフ
    ィン変換を表す第3の入力信号と、ここでひとつのイメ
    ージは第1のペアと第2のペアで共通であり、該第2の
    イメージペアの間のパースペクティブ変換を表す第4の
    信号と、該第1のペアと第2のペアの3つのイメージ全
    てにおいてマッチした特徴を表す第5の信号とを処理す
    るためのプロセッサを有する画像処理装置において、3
    つのイメージ全ての間の変換を表す信号を生成するべく
    前記各入力信号を処理する方法であって、 (a)前記第1、第3及び第5の入力信号を用いて3つ
    のイメージ全ての間の変換を計算するステップと、 (b)前記第1、第4及び第5の入力信号を用いて3つ
    のイメージの全ての間の変換を計算するステップと、 (c)前記第2、第3及び第5の入力信号を用いて3つ
    のイメージの全ての間の変換を計算するステップと、 (d)前記第2、第4及び第5の入力信号を用いて3つ
    のイメージの全ての間の変換を計算するステップと、 (e)計算された変換のうち最も正確なものを選択する
    ステップとを備えることを特徴とする画像処理方法。
  2. 【請求項2】 オブジェクトの第1のイメージペアの間
    の変換を表す第1の入力信号と、該オブジェクトの第2
    のイメージペア間のアフィン変換を表す第2の入力信号
    と、ここでひとつのイメージは第1のペアと第2のペア
    で共通であり、該第2のイメージペアの間のパースペク
    ティブ変換を表す第3の信号と、該第1のペアと第2の
    ペアの3つのイメージ全てにおいてマッチした特徴を表
    す第4の信号とを処理するためのプロセッサを有する画
    像処理装置において、3つのイメージ全ての間の変換を
    表す信号を生成するべく前記各入力信号を処理する方法
    であって、 (a)前記第1、第2及び第4の入力信号を用いて3つ
    のイメージ全ての間の変換を計算するステップと、 (b)前記第1、第3及び第4の入力信号を用いて3つ
    のイメージの全ての間の変換を計算するステップと、 (c)計算された変換のうち最も正確なものを選択する
    ステップとを備えることを特徴とする画像処理方法。
  3. 【請求項3】 請求項1又は2に記載の方法であって、 3つのイメージ全ての間の変換が、前記第1のイメージ
    ペア間の回転角度と、前記第2のイメージペア間の回転
    角度の少なくとも一つの値のための変換スケールを計算
    することにより計算される。
  4. 【請求項4】 請求項3に記載の方法であって、 複数の変換スケールが、各回転角度の値のために計算さ
    れ、計算されたスケールの各々の正確さが判断され、判
    断された正確さが最も高いスケールが選択される。
  5. 【請求項5】 請求項3又は4に記載の方法であって、 3つのイメージ全ての間の変換が、イメージ間のパース
    ペクティブ−アフィン変換、イメージ間のアフィン−パ
    ースペクティブ変換、或いはイメージ間のアフィン−ア
    フィン変換を表す新っごうを用いて計算され、前記変換
    スケールは回転角度の複数の値について計算され、計算
    されたスケールの各々の正確さが決定され、そして最高
    の正確さを有するスケールと回転角度の値が選択され
    る。
  6. 【請求項6】 請求項5に記載の方法であって、 複数の回転角度の値は、ある範囲にわたって分散され
    た、第1ペアにおけるイメージ間の回転角度と第2ペア
    におけるイメージ間の回転角度の少なくとも一つの値を
    備える。
  7. 【請求項7】 請求項3乃至6のいずれかに記載の方法
    であって、 変換スケールは変換及び関連付けられたスケールを計算
    することによって計算され、該関連付けられたスケール
    は、前記3つのイメージの第1のイメージにおける特徴
    点から投射された光と、第2のイメージにおけるマッチ
    した特徴から投射された光線と、第3のイメージにおけ
    るマッチした特徴から投射された光とを1つのポイント
    で交差させるものである。
  8. 【請求項8】 請求項3乃至7のいずれかに記載の方法
    であって、 計算された変換スケールの正確さは、(i)第2及び第
    3イメージのマッチング特徴に依存して決定された第1
    イメージ内の計算された特徴の位置と、(ii)第1イ
    メージにおけるマッチング特徴の位置、との間の距離を
    計算することにより決定される。
  9. 【請求項9】 請求項8に記載の方法であって、 前記第1のイメージにおける計算された特徴の位置が、
    第2のイメージにおける特徴から光線を投射し、第3の
    イメージにおいてマッチした特徴から光線を投射し、該
    投射された光線に依存して3次元空間におけるポイント
    を計算し、該3次元空間における該ポイントに依存して
    第1のイメージにおける特徴の位置を計算することによ
    り決定される。
  10. 【請求項10】 請求項1乃至9のいずれかに記載の方
    法であって、 前記第5の入力信号において示される特徴がポイントを
    含む。
  11. 【請求項11】 請求項1乃至10のいずれかに記載の
    方法であって、 選択された最も正確な計算された変換を回転行列と移動
    ベクトルへ変換するステップを更に備える。
  12. 【請求項12】 請求項1乃至11のいずれかに記載の
    方法であって、 前記オブジェクトのイメージを表すイメージデータを処
    理して入力信号を生成するステップを更に備える。
  13. 【請求項13】 請求項1乃至12のいずれかに記載の
    方法であって、 3次元空間におけるオブジェクトのモデルを表すオブジ
    ェクトデータを生成するステップを更に備える。
  14. 【請求項14】 請求項13に記載の方法であって、 イメージデータを生成するために前記オブジェクトデー
    タを処理するステップを更に備える。
  15. 【請求項15】 請求項14に記載の方法であって、 前記オブジェクトのイメージを表示するステップを更に
    備える。
  16. 【請求項16】 請求項14又は15に記載の方法であ
    って、 前記イメージデータを記録するステップを更に備える。
  17. 【請求項17】 請求項13乃至16のいずれかに記載
    の方法であって、 前記オブジェクトデータを運ぶ信号を伝送するステップ
    を更に備える。
  18. 【請求項18】 請求項13乃至17のいずれかに記載
    の方法であって、 前記オブジェクトデータを記録するステップを更に備え
    る。
  19. 【請求項19】 画像処理装置を操作し、3つのイメー
    ジの全ての間の関係を決定するために、第1のイメージ
    と第2のイメージの間及び第2のイメージと第3のイメ
    ージの間の第1と第2のタイプの変換を表す信号と、イ
    メージ内の対応する特徴を表す信号とを処理させる方法
    であって、 対応する特徴を用い、第1及び第2イメージ間の第1の
    タイプの変換と第2及び第3イメージ間の第2のタイプ
    の変換とに基づいて、前記関係を決定するステップと、 対応する特徴を用い、第1及び第2イメージ間の第1の
    タイプの変換と第2及び第3イメージ間の第1のタイプ
    の変換とに基づいて、前記関係を決定するステップと、 対応する特徴を用い、第1及び第2イメージ間の第2の
    タイプの変換と第2及び第3イメージ間の第2のタイプ
    の変換とに基づいて、前記関係を決定するステップと、 対応する特徴を用い、第1及び第2イメージ間の第2の
    タイプの変換と第2及び第3イメージ間の第1のタイプ
    の変換とに基づいて、前記関係を決定するステップと、 最も正確な関係を選択するステップとを備える。
  20. 【請求項20】 画像処理装置を操作し、3つのイメー
    ジの全ての間の関係を決定するために、(i)第1のイ
    メージと第2のイメージの間の第1及び第2のタイプの
    変換と、(ii)第2のイメージと第3のイメージの間
    の変換と、(iii)イメージ内の対応する特徴とを表
    す信号を処理させる方法であって、 対応する特徴を用い、第1及び第2イメージ間の第1の
    タイプの変換と、第2と第3のイメージ間の変換とに基
    づいて、前記関係を決定するステップと、 対応する特徴を用い、第1及び第2イメージ間の第2の
    タイプの変換と、第2と第3のイメージ間の変換とに基
    づいて、前記関係を決定するステップと、 最も正確な関係を選択するステップとを備える。
  21. 【請求項21】 第1の入力信号と第2の信号を処理す
    るためのプロセッサを備えた画像処理装置において、全
    イメージ間の変換を表す信号を生成するためにそれら入
    力信号を処理する方法であって、ここで該第1の入力信
    号は、オブジェクトの少なくとも3つのイメージの間の
    変換を表し、該少なくとも3つのイメージは各イメージ
    ペアが他のペアのうちの一つのイメージを含むようにペ
    アが構成されており、該第1の入力信号は、(i)各ペ
    アの各々におけるイメージ間のそれぞれの第1のタイプ
    の変換と(ii)該ペアの各々のイメージ間のそれぞれ
    の第2のタイプの変換とを表し、該第2の入力信号はイ
    メージ内のマッチした特徴を表し、該方法は、 (a)前記第1の入力信号において表されるイメージ間
    の変換のそれぞれの組み合わせの各々について、第2の
    入力信号において表されるマッチング特徴を用いて全イ
    メージ間の変換を計算するステップと、 (b)計算された変換のうち最も正確なものを選択する
    ステップとを備えることを特徴とする画像処理方法。
  22. 【請求項22】 第1乃至第4の入力信号を処理するた
    めのプロセッサを備えた画像処理装置において、全イメ
    ージ間の変換を表す信号を生成するためにそれら入力信
    号を処理する方法であって、ここで該第1の入力信号
    は、オブジェクトの少なくとも3つのイメージの間の変
    換を表し、該少なくとも3つのイメージは各イメージペ
    アが他のペアのうちの一つのイメージを含むようにペア
    が構成されており、該第2の入力信号は前記少なくとも
    3つのイメージの一つと更に他のイメージとの間の第1
    のタイプの変換を表し、該第3の入力信号は前記少なく
    とも3つのイメージの前記一つと該更なる他のイメージ
    との間の第2のタイプの変換を表し、該第4の入力信号
    はイメージにおいてマッチした特徴を表し、該方法は、 (a)前記第1、第2及び第4の入力信号を用いて全イ
    メージ間の変換を計算するステップと、 (b)前記第1、第3及び第4の入力信号を用いて全イ
    メージ間の変換を計算するステップと、 (c)計算された変換のうち最も正確なものを選択する
    ステップとを備えることを特徴とする画像処理方法。
  23. 【請求項23】 第1乃至第3の入力信号を処理するた
    めのプロセッサを有する画像処理装置において、全イメ
    ージ間の変換を表す信号を生成するためにそれら入力信
    号を処理する方法であって、該第1の入力信号は、少な
    くとも2つのオブジェクトイメージ間の変換を表し、該
    第2の入力信号は前記少なくとも2つのイメージのうち
    の第1のイメージを含む少なくとも3つのオブジェクト
    イメージと更なる2つのオブジェクトイメージとの間の
    複数の変換を表し、該少なくとも2つのイメージのうち
    の該第1のイメージと該更なる2つのイメージは各イメ
    ージペアが他のペアのうちの一つのイメージを含むよう
    にペアに構成されており、該第2の入力信号は、(i)
    各ペアにおけるイメージ間のそれぞれの第1のタイプの
    変換と(ii)該ペアの各々のイメージ間のそれぞれの
    第2のタイプの変換とを表し、該第3の入力信号はイメ
    ージ内のマッチした特徴を表し、該方法は、 (a)前記第1と第2の入力信号において表されるイメ
    ージ間の変換のそれぞれの組み合わせの各々について、
    マッチング特徴を用いて全イメージ間の変換を計算する
    ステップと、 (b)計算された変換のうち最も正確なものを選択する
    ステップとを備えることを特徴とする画像処理方法。
  24. 【請求項24】 請求項21乃至23のいずれかに記載
    の方法であって、 前記第1のタイプの変換はアフィン変換であり、前記第
    2のタイプの変換はパースペクティブ変換である。
  25. 【請求項25】 画像処理装置に、各イメージペアが他
    のペアのうちの一つのイメージを含むようにペアが構成
    された少なくとも3つのオブジェクトイメージの間の変
    換を計算させる方法であって、ここで、全イメージの間
    の変換を決定するために、各ペアにおけるイメージ間の
    少なくとも一つの変換を表す信号が、ペアのイメージ間
    の前記入力信号において表されるそれぞれの変換の組み
    合わせに対して処理され、最も正確な変換が選択され
    る。
  26. 【請求項26】 オブジェクトの第1のイメージペアの
    間のアフィン変換を表す第1の入力信号と、該第1のイ
    メージペア間のパースペクティブ変換を表す第2の入力
    信号と、該オブジェクトの第2のイメージペアの間のア
    フィン変換を表す第3の入力信号と、ここでひとつのイ
    メージは第1のペアと第2のペアで共通であり、該第2
    のイメージペアの間のパースペクティブ変換を表す第4
    の信号と、該第1のペアと第2のペアの3つのイメージ
    全てにおいてマッチした特徴を表す第5の信号とを処理
    して、3つのイメージ全ての間の変換を表す信号を生成
    する画像処理装置であって、 (a)前記第1、第3及び第5の入力信号を用いて3つ
    のイメージ全ての間の変換を計算する手段と、 (b)前記第1、第4及び第5の入力信号を用いて3つ
    のイメージの全ての間の変換を計算する手段と、 (c)前記第2、第3及び第5の入力信号を用いて3つ
    のイメージの全ての間の変換を計算する手段と、 (d)前記第2、第4及び第5の入力信号を用いて3つ
    のイメージの全ての間の変換を計算する手段と、 (e)計算された変換のうち最も正確なものを選択する
    手段とを備えることを特徴とする画像処理装置。
  27. 【請求項27】 オブジェクトの第1のイメージペアの
    間の変換を表す第1の入力信号と、該オブジェクトの第
    2のイメージペア間のアフィン変換を表す第2の入力信
    号と、ここでひとつのイメージは第1のペアと第2のペ
    アで共通であり、該第2のイメージペアの間のパースペ
    クティブ変換を表す第3の信号と、該第1のペアと第2
    のペアの3つのイメージ全てにおいてマッチした特徴を
    表す第4の信号とを処理して、3つのイメージ全ての間
    の変換を表す信号を生成する画像処理装置であって、 (a)前記第1、第2及び第4の入力信号を用いて3つ
    のイメージ全ての間の変換を計算する手段と、 (b)前記第1、第3及び第4の入力信号を用いて3つ
    のイメージの全ての間の変換を計算する手段と、 (c)計算された変換のうち最も正確なものを選択する
    手段とを備えることを特徴とする画像処理装置。
  28. 【請求項28】 請求項26又は27に記載の装置であ
    って、 3つのイメージ全ての間の変換が、前記第1のイメージ
    ペア間の回転角度と、前記第2のイメージペア間の回転
    角度の少なくとも一つの値のための変換スケールを計算
    することにより計算される。
  29. 【請求項29】 請求項28に記載の装置であって、 複数の変換スケールが、各回転角度の値のために計算さ
    れ、計算されたスケールの各々の正確さが判断され、判
    断された正確さが最も高いスケールが選択される。
  30. 【請求項30】 請求項28又は29に記載の装置であ
    って、 3つのイメージ全ての間の変換が、イメージ間のパース
    ペクティブ−アフィン変換、イメージ間のアフィン−パ
    ースペクティブ変換、或いはイメージ間のアフィン−ア
    フィン変換を表す新っごうを用いて計算され、前記変換
    スケールは回転角度の複数の値について計算され、計算
    されたスケールの各々の正確さが決定され、そして最高
    の正確さを有するスケールと回転角度の値が選択され
    る。
  31. 【請求項31】 請求項30に記載の装置であって、複
    数の回転角度の値は、ある範囲にわたって分散された、
    第1ペアにおけるイメージ間の回転角度と第2ペアにお
    けるイメージ間の回転角度の少なくとも一つの値を備え
    る。
  32. 【請求項32】 請求項28乃至31のいずれかに記載
    の装置であって、 変換スケールは変換及び関連付けられたスケールを計算
    することによって計算され、該関連付けられたスケール
    は、前記3つのイメージの第1のイメージにおける特徴
    点から投射された光と、第2のイメージにおけるマッチ
    した特徴から投射された光線と、第3のイメージにおけ
    るマッチした特徴から投射された光とを1つのポイント
    で交差させるものである。
  33. 【請求項33】 請求項28乃至32のいずれかに記載
    の装置であって、 計算された変換スケールの正確さは、(i)第2及び第
    3イメージのマッチング特徴に依存して決定された第1
    イメージ内の計算された特徴の位置と、(ii)第1イ
    メージにおけるマッチング特徴の位置、との間の距離を
    計算することにより決定される。
  34. 【請求項34】 請求項33に記載の装置であって、 第1のイメージにおける計算された特徴の位置が、第2
    のイメージにおける特徴から光線を投射し、第3のイメ
    ージにおいてマッチした特徴から光線を投射し、該投射
    された光線に依存して3次元空間におけるポイントを計
    算し、該3次元空間における該ポイントに依存して第1
    のイメージにおける特徴の位置を計算することにより決
    定される。
  35. 【請求項35】 請求項26乃至34のいずれかに記載
    の装置であって、 前記第5の入力信号において示される特徴がポイントを
    含む。
  36. 【請求項36】 請求項26乃至35のいずれかに記載
    の装置であって、 選択された最も正確な計算された変換を回転行列と移動
    ベクトルへ変換する手段を更に備える。
  37. 【請求項37】 請求項26乃至36のいずれかに記載
    の装置であって、 前記オブジェクトのイメージを表すイメージデータを処
    理して入力信号を生成する手段を更に備える。
  38. 【請求項38】 請求項26乃至37のいずれかに記載
    の装置であって、 3次元空間におけるオブジェクトのモデルを表すオブジ
    ェクトデータを生成する手段を更に備える。
  39. 【請求項39】 請求項38に記載の装置であって、 イメージデータを生成するために前記オブジェクトデー
    タを処理する手段を更に備える。
  40. 【請求項40】 請求項39に記載の装置であって、 前記オブジェクトのイメージを表示する手段を更に備え
    る。
  41. 【請求項41】 第1の入力信号と第2の信号を処理し
    て、全イメージ間の変換を表す信号を生成するためにそ
    れら入力信号を処理する画像処理装置であって、ここで
    該第1の入力信号は、オブジェクトの少なくとも3つの
    イメージの間の変換を表し、該少なくとも3つのイメー
    ジは各イメージペアが他のペアのうちの一つのイメージ
    を含むようにペアが構成されており、該第1の入力信号
    は、(i)各ペアの各々におけるイメージ間のそれぞれ
    の第1のタイプの変換と(ii)該ペアの各々のイメー
    ジ間のそれぞれの第2のタイプの変換とを表し、該第2
    の入力信号はイメージ内のマッチした特徴を表し、 (a)前記第1の入力信号において表されるイメージ間
    の変換のそれぞれの組み合わせの各々について、第2の
    入力信号において表されるマッチング特徴を用いて全イ
    メージ間の変換を計算する手段と、 (b)計算された変換のうち最も正確なものを選択する
    手段とを備えることを特徴とする画像処理装置。
  42. 【請求項42】 第1乃至第4の入力信号を処理して全
    イメージ間の変換を表す信号を生成するする画像処理装
    置であって、ここで該第1の入力信号は、オブジェクト
    の少なくとも3つのイメージの間の変換を表し、該少な
    くとも3つのイメージは各イメージペアが他のペアのう
    ちの一つのイメージを含むようにペアが構成されてお
    り、該第2の入力信号は前記少なくとも3つのイメージ
    の一つと更に他のイメージとの間の第1のタイプの変換
    を表し、該第3の入力信号は前記少なくとも3つのイメ
    ージの前記一つと該更なる他のイメージとの間の第2の
    タイプの変換を表し、該第4の入力信号はイメージにお
    いてマッチした特徴を表し、該装置は、 (a)前記第1、第2及び第4の入力信号を用いて全イ
    メージ間の変換を計算する手段と、 (b)前記第1、第3及び第4の入力信号を用いて全イ
    メージ間の変換を計算する手段と、 (c)計算された変換のうち最も正確なものを選択する
    手段とを備えることを特徴とする画像処理装置。
  43. 【請求項43】 第1乃至第3の入力信号を処理して全
    イメージ間の変換を表す信号を生成する画像処理装置で
    あって、該第1の入力信号は、少なくとも2つのオブジ
    ェクトイメージ間の変換を表し、該第2の入力信号は前
    記少なくとも2つのイメージのうちの第1のイメージを
    含む少なくとも3つのオブジェクトイメージと更なる2
    つのオブジェクトイメージとの間の複数の変換を表し、
    該少なくとも2つのイメージのうちの該第1のイメージ
    と該更なる2つのイメージは各イメージペアが他のペア
    のうちの一つのイメージを含むようにペアに構成されて
    おり、該第2の入力信号は、(i)各ペアにおけるイメ
    ージ間のそれぞれの第1のタイプの変換と(ii)該ペ
    アの各々のイメージ間のそれぞれの第2のタイプの変換
    とを表し、該第3の入力信号はイメージ内のマッチした
    特徴を表し、 (a)前記第1と第2の入力信号において表されるイメ
    ージ間の変換のそれぞれの組み合わせの各々について、
    マッチング特徴を用いて全イメージ間の変換を計算する
    手段と、 (b)計算された変換のうち最も正確なものを選択する
    手段とを備えることを特徴とする画像処理装置。
  44. 【請求項44】 請求項41乃至43のいずれかに記載
    の装置であって、 前記第1のタイプの変換はアフィン変換であり、前記第
    2のタイプの変換はパースペクティブ変換である。
  45. 【請求項45】 各イメージペアが他のペアのうちの一
    つのイメージを含むようにペアが構成された少なくとも
    3つのオブジェクトイメージの間の変換を計算するため
    の画像処理装置であって、全イメージの間の変換を決定
    するために、各ペアにおけるイメージ間の少なくとも一
    つの変換を表す信号が、ペアのイメージ間について前記
    入力信号によって表されるそれぞれの変換の組み合わせ
    に対して処理され、最も正確な変換が選択される。
  46. 【請求項46】 プログラマブルな処理装置に、請求項
    1乃至25のいずれかに記載の方法を実行させるための
    命令を格納する格納装置。
  47. 【請求項47】 プログラマブルな処理装置に、請求項
    1乃至25のいずれかに記載の方法を実行させるための
    信号。
  48. 【請求項48】 第1及び第2のマッチングテクニック
    を用いて、未知のカメラ位置から撮られたオブジェクト
    の第1及び第2のイメージにおいてマッチした特徴を表
    す複数の特徴ペアを表す入力信号を処理するためのプロ
    セッサを有する画像処理装置において、前記カメラ位置
    の関係を表す信号を生成するべく前記入力信号を処理す
    る方法であって、 (a)前記カメラ位置の関係を計算するために、前記第
    1のマッチングテクニックによってマッチした特徴ペア
    を、少なくともいくらかの拡張を有して、用いるステッ
    プと、 (b)前記カメラ位置の関係を計算するために、(i)
    前記第2のマッチングテクニックによってマッチされた
    特徴ペアか、(ii)前記第1のマッチングテクニック
    によってマッチされた特徴ペアと前記第2のマッチング
    テクニックによってマッチされた特徴ペア、のいずれか
    を、少なくともいくらかの拡張を有して、用いるステッ
    プと、 (c)計算された関係が最も正確なものを選択するステ
    ップとを備えることを特徴とする画像処理方法。
  49. 【請求項49】 請求項48に記載の方法であって、 前記ステップ(a)及び(b)の各々において、前記カ
    メラ位置の間のパースペクティブ関係が計算される。
  50. 【請求項50】 請求項48に記載の方法であって、 前記ステップ(a)及び(b)の各々において、前記カ
    メラ位置の間のアフィン関係が計算される。
  51. 【請求項51】 請求項48乃至50のいずれかに記載
    の方法であって、 前記ステップ(a)及び(b)の各々が、前記第1のマ
    ッチングテクニックによってマッチした特徴ペアと前記
    第2マッチングテクニックによってマッチした特徴ペア
    とを用いて、前記計算された関係ををテストするステッ
    プを更に備える。
  52. 【請求項52】 請求項48乃至52のいずれかに記載
    の方法であって、 前記ステップ(a)及び(b)の各々において、前記カ
    メラ位置の計算に関して用いられた特徴ペアがランダム
    にもしくは擬似的にランダムに選択される。
  53. 【請求項53】 請求項48乃至52のいずれかに記載
    の方法であって、 前記マッチングテクニックの一つによってマッチされた
    特徴ペアはユーザによってマッチされたものであり、他
    のマッチングテクニックによってマッチされた特徴ペア
    は画像処理装置によってマッチされたものである。
  54. 【請求項54】 請求項48乃至53のいずれかに記載
    の方法であって、 前記入力信号を生成するために、前記オブジェクトのイ
    メージを表すイメージデータを処理するステップを更に
    備える。
  55. 【請求項55】 請求項48乃至54のいずれかに記載
    の方法であって、 前記特徴ペアはポイントペアを備える。
  56. 【請求項56】 請求項48乃至55のいずれかに記載
    の方法であって、 3次元空間における前記オブジェクトのモデルを表すオ
    ブジェクトデータを生成するためのに、前記入力信号
    と、前記カメラ位置の関係を表す信号とを処理するステ
    ップを更に備える。
  57. 【請求項57】 請求項56に記載の方法であって、 イメージデータを生成するために前記オブジェクトデー
    タを処理するステップを更に備える。
  58. 【請求項58】 請求項57に記載の方法であって、 前記オブジェクトのイメージを表示するステップを更に
    備える。
  59. 【請求項59】 請求項57又は58に記載の方法であ
    って、 前記め一時データを記録するステップを更に疎なる。
  60. 【請求項60】 請求項56乃至59のいずれかに記載
    の方法であって、 前記オブジェクトデータを運ぶ信号を伝送するステップ
    を更に備える。
  61. 【請求項61】 請求項56乃至60のいずれかに記載
    の方法であって、 前記オブジェクトデータを記録するステップを更に備え
    る。
  62. 【請求項62】 画像処理装置を稼動させて、未知のイ
    メージング位置からとられた第1及び第2のイメージに
    おいて第1のマッチングテクニックによってマッチされ
    たオブジェクト特徴を表す第1の信号と、第2の信号を
    用いて前記第1及び第2のイメージにおいてマッチした
    オブジェクト特徴を表す第2の信号とを処理させて、イ
    メージ間の位置的関係を決定させる方法であって、 (a)前記イメージ間の関係を決定するために前記第1
    の入力信号を処理するステップと、 (b)前記イメージ間の関係を決定するために前記第2
    の入力信号を処理するステップと、 (c)決定された関係で最も正確なものを選択するステ
    ップとを備えることを特徴とする画像処理方法。
  63. 【請求項63】 請求項62に記載の方法であって、 前記ステップ(b)において、前記イメージ間の関係を
    決定するために前記第1の入力信号と前記第2の入力信
    号が処理される。
  64. 【請求項64】 第1及び第2のマッチングテクニック
    を用いて、未知のカメラ位置から撮られたオブジェクト
    の第1及び第2のイメージにおいてマッチした特徴を表
    す複数の特徴ペアを表す入力信号を処理して、前記カメ
    ラ位置の関係を表す信号を生成する画像処理装置であっ
    て、 (a)前記カメラ位置の関係を計算するために、前記第
    1のマッチングテクニックによってマッチした特徴ペア
    を、少なくともいくらかの拡張を有して、用いる手段
    と、 (b)前記カメラ位置の関係を計算するために、(i)
    前記第2のマッチングテクニックによってマッチされた
    特徴ペアか、(ii)前記第1のマッチングテクニック
    によってマッチされた特徴ペアと前記第2のマッチング
    テクニックによってマッチされた特徴ペア、のいずれか
    を、少なくともいくらかの拡張を有して、用いる手段
    と、 (c)計算された関係が最も正確なものを選択する手段
    とを備えることを特徴とする画像処理装置。
  65. 【請求項65】 請求項64に記載の装置であって、 前記手段(a)及び(b)の各々において、前記カメラ
    位置の間のパースペクティブ関係が計算される。
  66. 【請求項66】 請求項64に記載の装置であって、 前記手段(a)及び(b)の各々において、前記カメラ
    位置の間のアフィン関係が計算される。
  67. 【請求項67】 請求項64乃至66のいずれかに記載
    の装置であって、 前記手段(a)及び(b)の各々が、前記第1のマッチ
    ングテクニックによってマッチした特徴ペアと前記第2
    マッチングテクニックによってマッチした特徴ペアとを
    用いて、前記計算された関係ををテストする手段を更に
    備える。
  68. 【請求項68】 請求項64乃至67のいずれかに記載
    の装置であって、 前記手段(a)及び(b)の各々において、前記カメラ
    位置の計算に関して用いられた特徴ペアがランダムにも
    しくは擬似的にランダムに選択される。
  69. 【請求項69】 請求項64乃至68のいずれかに記載
    の装置であって、 前記マッチングテクニックの一つによってマッチされた
    特徴ペアはユーザによってマッチされたものであり、他
    のマッチングテクニックによってマッチされた特徴ペア
    は画像処理装置によってマッチされたものである。
  70. 【請求項70】 請求項64乃至69のいずれかに記載
    の装置であって、 前記入力信号を生成するために、前記オブジェクトのイ
    メージを表すイメージデータを処理する手段を更に備え
    る。
  71. 【請求項71】 請求項64乃至69のいずれかに記載
    の装置であって、 前記特徴ペアはポイントペアを備える。
  72. 【請求項72】 請求項64乃至71のいずれかに記載
    の装置であって、 3次元空間における前記オブジェクトのモデルを表すオ
    ブジェクトデータを生成するためのに、前記入力信号
    と、前記カメラ位置の関係を表す信号とを処理する手段
    を更に備える。
  73. 【請求項73】 請求項72に記載の装置であって、 イメージデータを生成するために前記オブジェクトデー
    タを処理する手段を更に備える。
  74. 【請求項74】 請求項73に記載の装置であって、 前記オブジェクトのイメージを表示する手段を更に備え
    る。
  75. 【請求項75】 プログラマブルな処理装置に、請求項
    48乃至63のいずれかに記載の方法を実行させるため
    の命令を格納する格納装置。
  76. 【請求項76】 プログラマブルな処理装置に、請求項
    48乃至63のいずれかに記載の方法を実行させるため
    の信号。
  77. 【請求項77】 末知のカメラ位置から撮られたオブジ
    ェクトの第1及び第2イメージにおいてマッチする特徴
    を表す少なくとも8組の特徴ペアを表す入力信号を処理
    するプロセッサを有する画像処理装置において、前記カ
    メラ位置の関係を表す信号を生成するために前記入力信
    号を処理する方法であって、 (a)少なくとも第1の7個のマッチした特徴ペアを用
    いてfundamental行列を計算するステップ
    と、 (b)前記計算されたfundamental行列を物
    理的実現化行列(physically realis
    able matrix)へ変換するステップと、 (c)複数のマッチした特徴を用いて前記計算された物
    理的実現化行列をテストするステップと、 (d)前記ステップ(a)で異なる7つのマッチした特
    徴ペアを用いて前記ステップ(a)〜(c)を繰り返す
    ステップと、 (e)計算された物理的実現化行列のうち最も正確なも
    のを選択するステップとを備えることを特徴とする画像
    処理方法。
  78. 【請求項78】 請求項77に記載の方法であって、 前記ステップ(a)において、前記マッチした特徴ペア
    はランダムにもしくは擬似的ランダムに選択される。
  79. 【請求項79】 請求項77又は78に記載の方法であ
    って、 前記ステップ(c)において、 前記計算された物理的実現化行列は前記ステップ(a)
    においてfundamental行列を計算するのに用
    いたマッチした特徴ペアの各々を用いてテストされ、 前記物理的現実化行列が、所定数のマッチした特徴ペア
    に関して一貫しているならば、該物理的実現化行列は前
    記入力信号において表される他のマッチした特徴ペアに
    対してテストされる。
  80. 【請求項80】 請求項79に記載の方法であって、 前記所定の数は、前記fundamental行列を計
    算するのに用いられたマッチした特徴ペアの全てを含む
    数である。
  81. 【請求項81】 請求項77乃至80のいずれかに記載
    の方法であって、 前記ステップ(c)において、前記計算された物理的実
    現化行列は前記入力信号において表されるマッチした特
    徴ペアを用いてテストされる。
  82. 【請求項82】 請求項77乃至81のいずれかに記載
    の方法であって、 前記ステップ(d)において、前記ステップ(a)から
    (c)は複数回繰り返され、その繰り返し回数は、前記
    入力信号において表される特徴ペアの数に従って決定さ
    れる。
  83. 【請求項83】 請求項82に記載の方法であって、 前記ステップ(a)から(c)の繰り返し回数は、前記
    ステップ(a)においてfundamental行列を
    計算するために用いられた、前記入力信号において表さ
    れる特徴ペアから選択され得る、特徴ペアの数より得ら
    れることなる組み合わせの最大数のあるパーセンテージ
    である。
  84. 【請求項84】 請求項82又は83に記載の方法であ
    って、 ステップ(c)において、先行する所定回数の繰り返し
    で前記計算された物理的実現化行列の正確さが向上して
    いないと判断された場合、前記ステップ(d)におい
    て、前記ステップ(a)〜(c)の前記繰り返しを終了
    する。
  85. 【請求項85】 請求項77乃至84のいずれかに記載
    の方法であって、 前記入力信号は、第1のマッチングテクニックを用いて
    特定された少なくとも8ペアのマッチング特徴と、第2
    のマッチングテクニックを用いて特定された少なくとも
    1ペアのマッチング特徴とを表し、前記方法は、 (i)ステップ(a)から(e)を実行し、前記第1の
    マッチングテクニックでもって特定されたものからステ
    ップ(a)で用いられるべき特徴ペアを選択し、 (ii)ステップ(a)から(e)を実行し、前記第1
    のマッチングテクニックでもって特定されたもの及び前
    記第2のマッチングテクニックで特定されたものからス
    テップ(a)で用いられるべき特徴ペアを選択し、 (iii)ステップ(i)(e)において選択された物
    理的実現化行列とステップ(ii)(e)において選択
    された物理的実現化行列から、最も正確な計算された物
    理的実現化行列を選択する。
  86. 【請求項86】 請求項77乃至84のいずれかに記載
    の方法であって、 前記入力信号は、第1のマッチングテクニックを用いて
    特定された少なくとも8ペアのマッチング特徴と、第2
    のマッチングテクニックを用いて特定された少なくとも
    8ペアのマッチング特徴とを表し、前記方法は、 (i)ステップ(a)から(e)を実行し、前記第1の
    マッチングテクニックでもって特定されたものからステ
    ップ(a)で用いられるべき特徴ペアを選択し、 (ii)ステップ(a)から(e)を実行し、前記第2
    のマッチングテクニックで特定されたものからステップ
    (a)で用いられるべき特徴ペアを選択し、 (iii)ステップ(i)(e)において選択された物
    理的実現化行列とステップ(ii)(e)において選択
    された物理的実現化行列から、最も正確な計算された物
    理的実現化行列を選択する。
  87. 【請求項87】 請求項85又は86に記載の方法であ
    って、 前記マッチングテクニックの一つによってマッチした特
    徴ペアは、ユーザによってマッチされたものであり、も
    う一方のマッチングテクニックによってマッチした特徴
    ペアは画像処理装置によってマッチしたものである。
  88. 【請求項88】 請求項77乃至87のいずれかに記載
    の方法であって、 選択された最も正確な物理的実現化行列を回転行列と移
    動ベクトルへ変換するステップを更に備える。
  89. 【請求項89】 請求項77乃至88のいずれかに記載
    の方法であって、 前記入力信号を生成するために、オブジェクトのイメー
    ジを表すイメージデータを処理するステップを更に備え
    る。
  90. 【請求項90】 請求項77乃至89のいずれかに記載
    の方法であって、 前記物理的実現化行列は物理的fundamental
    行列を備える。
  91. 【請求項91】 請求項77乃至90のいずれかに記載
    の方法であって、 前記特徴ペアはポイントペアを備える。
  92. 【請求項92】 請求項77乃至91のいずれかに記載
    の方法であって、 3次元空間における前記オブジェクトのモデルを表すオ
    ブジェクトデータを生成するために、入力信号と、カメ
    ラ位置の間の関係を表す信号を処理する。
  93. 【請求項93】 請求項92に記載の方法であって、 イメージデータを生成するために前記オブジェクトデー
    タを処理するステップを更に備える。
  94. 【請求項94】 請求項93に記載の方法であって、 前記オブジェクトを表示するステップを更に備える。
  95. 【請求項95】 請求項93又は94に記載の方法であ
    って、 前記イメージデータを記録するステップを更に備える。
  96. 【請求項96】 請求項92乃至95のいずれかに記載
    の方法であって、 前記オブジェクトデータを運ぶ信号を伝送するステップ
    を更に備える。
  97. 【請求項97】 請求項92乃至96のいずれかに記載
    の方法であって、 前記オブジェクトデータを記録するステップを更に備え
    る。
  98. 【請求項98】 未知のイメージングポジションから取
    られた第1及び第2のイメージにおいてマッチしたオブ
    ジェクト特徴を表す信号を処理し、イメージ間尾位置的
    関係を決定するように画像処理装置を稼動させる方法で
    あって、 (a)マッチした特徴を用いて非物理的実現化行列を計
    算するステップと、 (b)前記比物理的実現化行列を物理的実現化行列へ変
    換するステップと、 (c)前記物理的実現化行列の正確さをテストするステ
    ップと、 (d)前記ステップ(a)から(c)を繰り返すステッ
    プと、 (e)最も正確な物理的実現化行列を選択するステップ
    とを備えることを特徴とする画像処理方法。
  99. 【請求項99】 未知のカメラ位置から撮られたオブジ
    ェクトの第1及び第2イメージにおいてマッチする特徴
    を表す少なくとも8組の特徴ペアを表す入力信号を処理
    して、前記カメラ位置の関係を表す信号を生成する画像
    処理装置であって、 (a)少なくとも第1の7個のマッチした特徴ペアを用
    いてfundamental行列を計算する手段と、 (b)前記計算されたfundamental行列を物
    理的実現化行列(physically realis
    able matrix)へ変換する手段と、 (c)複数のマッチした特徴を用いて前記計算された物
    理的実現化行列をテストする手段と、 (d)前記手段(a)で異なる7つのマッチした特徴ペ
    アを用いて前記手段(a)〜(c)を繰り返す手段と、 (e)計算された物理的実現化行列のうち最も正確なも
    のを選択する手段とを備えることを特徴とする画像処理
    装置。
  100. 【請求項100】 請求項99に記載の装置であって、 前記手段(a)において、前記マッチした特徴ペアはラ
    ンダムにもしくは擬似的ランダムに選択される。
  101. 【請求項101】 請求項99又は100に記載の装置
    であって、 前記手段(c)は、 前記計算された物理的実現化行列を、前記手段(a)に
    おいてfundamental行列を計算するのに用い
    たマッチした特徴ペアの各々を用いてテストし、 前記物理的現実化行列が、所定数のマッチした特徴ペア
    に関して一貫しているならば、該物理的実現化行列を前
    記入力信号において表される他のマッチした特徴ペアに
    対してテストする。
  102. 【請求項102】 請求項101に記載の装置であっ
    て、 前記所定の数は、前記fundamental行列を計
    算するのに用いられたマッチした特徴ペアの全てを含む
    数である。
  103. 【請求項103】 請求項99乃至102のいずれかに
    記載の装置であって、 前記手段(c)は、前記計算された物理的実現化行列を
    前記入力信号において表されるマッチした特徴ペアを用
    いてテストする。
  104. 【請求項104】 請求項99乃至103のいずれかに
    記載の装置であって、 前記手段(d)において、前記手段(a)から(c)は
    複数回繰り返され、その繰り返し回数は、前記入力信号
    において表される特徴ペアの数に従って決定される。
  105. 【請求項105】 請求項104に記載の装置であっ
    て、 前記手段(a)から(c)の繰り返し回数は、前記手段
    (a)においてfundamental行列を計算する
    ために用いられた、前記入力信号において表される特徴
    ペアから選択され得る、特徴ペアの数より得られること
    なる組み合わせの最大数のあるパーセンテージである。
  106. 【請求項106】 請求項104又は105に記載の装
    置であって、 手段(c)は、先行する所定回数の繰り返しで前記計算
    された物理的実現化行列の正確さが向上していないと判
    断された場合、前記手段(d)において、前記手段
    (a)〜(c)の前記繰り返しを終了する。
  107. 【請求項107】 請求項99乃至106のいずれかに
    記載の装置であって、 前記入力信号は、第1のマッチングテクニックを用いて
    特定された少なくとも8ペアのマッチング特徴と、第2
    のマッチングテクニックを用いて特定された少なくとも
    1ペアのマッチング特徴とを表し、前記装置は、 (i)手段(a)から(d)を実行し、前記第1のマッ
    チングテクニックでもって特定されたものから手段
    (a)で用いられるべき特徴ペアを選択し、 (ii)手段(a)から(d)を実行し、前記第1のマ
    ッチングテクニックでもって特定されたもの及び前記第
    2のマッチングテクニックで特定されたものから手段
    (a)で用いられるべき特徴ペアを選択し、 (iii)最も正確な計算された物理的実現化行列を、
    第1及び第2の選択された物理的実現化行列より選択す
    る。
  108. 【請求項108】 請求項99乃至106のいずれかに
    記載の装置であって、 前記入力信号は、第1のマッチングテクニックを用いて
    特定された少なくとも8ペアのマッチング特徴と、第2
    のマッチングテクニックを用いて特定された少なくとも
    8ペアのマッチング特徴とを表し、前記装置は、 (i)手段(a)から(d)を実行し、前記第1のマッ
    チングテクニックでもって特定されたものから手段
    (a)で用いられるべき特徴ペアを選択し、 (ii)手段(a)から(d)を実行し、前記第2のマ
    ッチングテクニックで特定されたものから手段(a)で
    用いられるべき特徴ペアを選択し、 (iii)最も正確な計算された物理的実現化行列を、
    第1及び第2の選択された物理的実現化行列より選択す
    る。
  109. 【請求項109】 請求項107又は108に記載の装
    置であって、 前記マッチングテクニックの一つによってマッチした特
    徴ペアは、ユーザによってマッチされたものであり、も
    う一方のマッチングテクニックによってマッチした特徴
    ペアは画像処理装置によってマッチしたものである。
  110. 【請求項110】 請求項99乃至109のいずれかに
    記載の装置であって、 選択された最も正確な物理的実現化行列を回転行列と移
    動ベクトルへ変換する手段を更に備える。
  111. 【請求項111】 請求項99乃至110のいずれかに
    記載の装置であって、 前記入力信号を生成するために、オブジェクトのイメー
    ジを表すイメージデータを処理する手段を更に備える。
  112. 【請求項112】 請求項99乃至111のいずれかに
    記載の装置であって、 前記物理的実現化行列は物理的fundamental
    行列を備える。
  113. 【請求項113】 請求項99乃至112のいずれかに
    記載の装置であって、 前記特徴ペアはポイントペアを備える。
  114. 【請求項114】 請求項99乃至113のいずれかに
    記載の装置であって、 3次元空間における前記オブジェクトのモデルを表すオ
    ブジェクトデータを生成するために、入力信号と、カメ
    ラ位置の間の関係を表す信号を処理する。
  115. 【請求項115】 請求項114に記載の装置であっ
    て、 イメージデータを生成するために前記オブジェクトデー
    タを処理する手段を更に備える。
  116. 【請求項116】 請求項115に記載の装置であっ
    て、 前記オブジェクトを表示する手段を更に備える。
  117. 【請求項117】 プログラマブルな処理装置に、請求
    項77乃至98のいずれかに記載の方法を実行させるた
    めの命令を格納する格納装置。
  118. 【請求項118】 プログラマブルな処理装置に、請求
    項77乃至98のいずれかに記載の方法を実行させるた
    めの信号。
  119. 【請求項119】 異なるカメラ位置から撮られたオブ
    ジェクトの少なくとも3つのイメージの各々においてマ
    ッチする少なくとも2つのポイントを表す第1の入力信
    号と、カメラ位置を表す第2の入力信号とを処理するプ
    ロセッサを有する画像処理装置において、3次元空間に
    おいてオブジェクト上のポイントを表す信号を生成する
    ために前記入力信号を処理する方法であって、 (a)第1のイメージペアにおいてマッチしたポイント
    の各々について、そのペアの一つのイメージにおけるポ
    イントとそのペアの他のイメージにおけるポイントとを
    用いて3次元空間におけるポイントを計算するステップ
    と、 (b)第2のイメージペアにおいてマッチしたポイント
    の各々について、そのペアの一つのイメージにおけるポ
    イントとそのペアの他のイメージにおけるポイントとを
    用いて3次元空間におけるポイントを計算するステップ
    と、 (c)各イメージにおいてマッチしたポイントの各々に
    ついて、3次元空間における単一ポイントと関連する位
    置エラーとを計算するステップと、ここで、各単一ポイ
    ントはステップ(a)で生成されたポイントとステップ
    (b)で生成されたポイントとに依存して、対応するマ
    ッチしたイメージポイントから計算され、 (d)ステップ(c)において生成された単一ポイント
    とそれらに関連する位置エラーとを処理して、前記オブ
    ジェクト上の同一のポイントを表す単一ポイントがある
    かどうかを判断するステップと、 (e)前記オブジェクトの同一ポイントを表す単一ポイ
    ントを処理し、前記3次元空間における一つのポイント
    とするステップとを備えることを特徴とする画像処理方
    法。
  120. 【請求項120】 請求項119に記載の画像処理方法
    であって、 前記ステップ(a)及びステップ(b)において、前記
    3次元空間における各ポイントは、 前記ペアの第1のイメージ内のポイントから該第1のイ
    メージに対するカメラの概念的な光学中心を通る光線を
    投射し、 前記ペアの第2のイメージ内のポイントから該第2のイ
    メージに対するカメラの概念的な光学中心を通る光線を
    投射し、 前記投射された光線の両方に直角を成すラインの中央ポ
    イントを計算することにより計算される。
  121. 【請求項121】 請求項119又は120に記載の方
    法であって、 ステップ(c)において、前記3次元空間における前記
    単一ポイントは、 (i)ステップ(a)及び(b)の少なくとも一つにお
    いて計算された3次元空間内の各ポイントについて位置
    エラーを計算し、 (ii)ステップ(i)で計算された位置エラーに従っ
    て少なくとも1つのステップで計算されたポイントを再
    配置し、再配置されたポイントを与え、 (iii)再配置されたポイントと、ステップ(a)及
    び(b)以外で、対応するマッチしたイメージポイント
    から生成された3次元空間におけるポイントとに従っ
    て、該3次元空間における各単一ポイントを計算するこ
    とにより計算される。
  122. 【請求項122】 請求項121に記載の方法であっ
    て、 前記ステップ(i)が、 ステップ(a)において生成された3次元空間における
    ポイントの各々と、ステップ(b)において、対応する
    マッチしたイメージポイントから生成されたポイントと
    の間の位置的差異を計算するステップと、 計算された、複数の位置的差異に従って、位置エラーを
    計算するステップとを備える。
  123. 【請求項123】 請求項122に記載の方法であっ
    て、 前記位置エラーは、閾値を越える位置的差異を除く、全
    ての計算された位置的差異に依存して計算される。
  124. 【請求項124】 請求項123に記載の方法であっ
    て、 前記閾値は、ステップ(a)及び(b)において計算さ
    れた3次元空間内の空間的分散に依存して設定される。
  125. 【請求項125】 請求項121乃至124のいずれか
    に記載の方法であって、 前記ステップ(c)において、3次元空間における前記
    単一ポイントに関連付けられる位置エラーは、各再配置
    されたポイントと、ステップ(a)及び(b)以外にお
    いて対応するマッチしたイメージポイントから生成され
    たポイントとの3次元空間内の位置的差異に依存して計
    算される。
  126. 【請求項126】 請求項125に記載の方法であっ
    て、 前記ステップ(c)において、3次元空間における前記
    単一ポイントに関連付けられた前記位置的エラーは前記
    3次元空間における確率分布として計算される。
  127. 【請求項127】 請求項126に記載の方法であっ
    て、 前記確率分布はガウス分布である。
  128. 【請求項128】 請求項126又は127に記載の方
    法であって、 前記ステップ(iii)は、再配置されたポイントの確
    率分布と、もし存在すれば、ステップ(a)及び(b)
    以外において対応するマッチしたイメージポイントから
    生成された3次元空間のポイントの確率分布とを組み合
    わせることにより3次元空間における単一ポイントの各
    々を計算するステップを備える。
  129. 【請求項129】 請求項126乃至128のいずれか
    に記載の方法であって、ステップ(d)において、前記
    単一ポイントの第1のポイントが第2のポイントから所
    定距離以内にある場合、前記第1のポイントは前記オブ
    ジェクト上で前記第2のポイントと同じポイントを表す
    と決定し、該所定距離は前記第2のポイントの位置エラ
    ーの確率分布に依存する。
  130. 【請求項130】 請求項129に記載の方法であっ
    て、 前記所定距離は、前記第2のポイントの確率分布におけ
    るマハラノビス距離である。
  131. 【請求項131】 請求項119乃至130のいずれか
    に記載の方法であって、ステップ(e)において、前記
    2次元空間における前記1つのポイントが、前記オブジ
    ェクト上の同一のポイントを表す全ての単一ポイントと
    それらに関連付けられた位置エラーに依存して計算され
    る。
  132. 【請求項132】 請求項119乃至131のいずれか
    に記載の方法であって、 前記第1の入力信号を生成するために、前記オブジェク
    トを表すイメージデータを処理するステップを更に備え
    る。
  133. 【請求項133】 請求項119乃至132のいずれか
    に記載の方法であって、 前記第1の入力信号を処理して前記第2の入力信号を生
    成するステップを更に備える。
  134. 【請求項134】 請求項119乃至133のいずれか
    に記載の方法であって、 イメージデータを生成するために、前記オブジェクト上
    のポイントを表す3次元空間内のポイントを表す信号を
    処理するステップを更に備える。
  135. 【請求項135】 請求項134に記載の方法であっ
    て、 前記オブジェクトのイメージを表示するステップを更に
    備える。
  136. 【請求項136】 請求項134又は135に記載の方
    法であって、 前記イメージデータを記録するステップを更に備える。
  137. 【請求項137】 請求項119乃至136のいずれか
    に記載の方法であって、 前記オブジェクト上のポイントを表す3次元空間内のポ
    イントを表す信号を伝送するステップを更に備える。
  138. 【請求項138】 請求項119乃至137のいずれか
    に記載の方法であって、 前記オブジェクト上のポイントを表す3次元空間内のポ
    イントを表す信号を記録するステップを更に備える。
  139. 【請求項139】 オブジェクトの第1、第2及び第3
    のイメージの各々におけるポイントを備えた第1の複数
    ポイントを表す第1の入力信号と、オブジェクトの第
    1、第2及び第3のイメージの各々における他のポイン
    トを含む第2の複数ポイントを表す第2の入力信号と、
    第1、第2及び第3のイメージが記録された位置の間の
    関係を表す第3の入力信号とを処理し、3次元空間にお
    いて該オブジェクト上のポイントを表すポイントを決定
    するように画像処理装置を稼動させる方法であって、 前記第1及び第3の入力信号を処理して、前記第1及び
    第2のイメージ内のポイントに基づいて前記3次元空間
    における第1のポイントを決定し、前記第2及び第3の
    イメージにおけるポイントに基づいて前記3次元空間に
    おける第2のポイントを決定するステップと、 前記第2及び第3の入力信号を処理して、前記第1及び
    第2のイメージ内の更なるポイントに基づいて前記3次
    元空間における第3のポイントを決定し、前記第2及び
    第3のイメージにおける更なるポイントに基づいて前記
    3次元空間における第4のポイントを決定するステップ
    と、 前記3次元空間における前記第1及び第2のポイントに
    依存して第5のポイントを決定するステップと、 前記3次元空間における前記第3及び第4のポイントに
    依存して第6のポイントを決定するステップと、 前記3次元空間における前記第5及び第6ポイントが前
    記オブジェクトの同一のポイントを表すかどうかを判断
    し、もしそうであれば、該第5及び第6ポイントに依存
    して前記3次元空間における第7のポイントを決定す
    る。
  140. 【請求項140】 異なるカメラ位置から撮られたオブ
    ジェクトの少なくとも3つのイメージの各々においてマ
    ッチする少なくとも2つのポイントを表す第1の入力信
    号と、カメラ位置を表す第2の入力信号とを処理して、
    3次元空間においてオブジェクト上のポイントを表す信
    号を生成する画像処理装置であって、、 (a)第1のイメージペアにおいてマッチしたポイント
    の各々について、そのペアの一つのイメージにおけるポ
    イントとそのペアの他のイメージにおけるポイントとを
    用いて3次元空間におけるポイントを計算する手段と、 (b)第2のイメージペアにおいてマッチしたポイント
    の各々について、そのペアの一つのイメージにおけるポ
    イントとそのペアの他のイメージにおけるポイントとを
    用いて3次元空間におけるポイントを計算する手段と、 (c)各イメージにおいてマッチしたポイントの各々に
    ついて、3次元空間における単一ポイントと関連する位
    置エラーとを計算する手段と、ここで、各単一ポイント
    は手段(a)で生成されたポイントと手段(b)で生成
    されたポイントとに依存して、対応するマッチしたイメ
    ージポイントから計算され、 (d)手段(c)において生成された単一ポイントとそ
    れらに関連する位置エラーとを処理して、前記オブジェ
    クト上の同一のポイントを表す単一ポイントがあるかど
    うかを判断する手段と、 (e)前記オブジェクトの同一ポイントを表す単一ポイ
    ントを処理し、前記3次元空間における一つのポイント
    とする手段とを備えることを特徴とする画像処理装置。
  141. 【請求項141】 請求項140に記載の装置であっ
    て、 前記手段(a)及び手段(b)は、 前記ペアの第1のイメージ内のポイントから該第1のイ
    メージに対するカメラの概念的な光学中心を通る光線を
    投射し、 前記ペアの第2のイメージ内のポイントから該第2のイ
    メージに対するカメラの概念的な光学中心を通る光線を
    投射し、 前記投射された光線の両方に直角を成すラインの中央ポ
    イントを計算することにより、前記3次元空間における
    各ポイントを計算する。
  142. 【請求項142】 請求項140又は141に記載の装
    置であって、 前記手段(c)は、 (i)手段(a)及び(b)の少なくとも一つにおいて
    計算された3次元空間内の各ポイントについて位置エラ
    ーを計算し、 (ii)手段(i)で計算された位置エラーに従って少
    なくとも1つの手段で計算されたポイントを再配置し、
    再配置されたポイントを与え、 (iii)再配置されたポイントと、手段(a)及び
    (b)以外で、対応するマッチしたイメージポイントか
    ら生成された3次元空間におけるポイントとに従って、
    該3次元空間における各単一ポイントを計算することに
    より、前記3次元空間における前記単一ポイントを計算
    する。
  143. 【請求項143】 請求項142に記載の装置であっ
    て、 前記ステップ(i)が、 手段(a)において生成された3次元空間におけるポイ
    ントの各々と、手段(b)において、対応するマッチし
    たイメージポイントから生成されたポイントとの間の位
    置的差異を計算し、 計算された、複数の位置的差異に従って、位置エラーを
    計算する。
  144. 【請求項144】 請求項143に記載の装置であっ
    て、 前記位置エラーは、閾値を越える位置的差異を除く、全
    ての計算された位置的差異に依存して計算される。
  145. 【請求項145】 請求項144に記載の装置であっ
    て、 前記閾値は、手段(a)及び(b)において計算された
    3次元空間内の空間的分散に依存して設定される。
  146. 【請求項146】 請求項142乃至145のいずれか
    に記載の装置であって、 前記手段(c)は、3次元空間における前記単一ポイン
    トに関連付けられる位置エラーを、各再配置されたポイ
    ントと、手段(a)及び(b)以外において対応するマ
    ッチしたイメージポイントから生成されたポイントとの
    3次元空間内の位置的差異に依存して計算する。
  147. 【請求項147】 請求項146に記載の装置であっ
    て、 前記手段(c)は、3次元空間における前記単一ポイン
    トに関連付けられた前記位置的エラーを前記3次元空間
    における確率分布として計算する。
  148. 【請求項148】 請求項147に記載の装置であっ
    て、 前記確率分布はガウス分布である。
  149. 【請求項149】 請求項147又は148に記載の装
    置であって、 前記ステップ(iii)は、再配置されたポイントの確
    率分布と、もし存在すれば、手段(a)及び(b)以外
    において対応するマッチしたイメージポイントから生成
    された3次元空間のポイントの確率分布とを組み合わせ
    ることにより3次元空間における単一ポイントの各々を
    計算するステップを備える。
  150. 【請求項150】 請求項147乃至149のいずれか
    に記載の装置であって、手段(d)は、前記単一ポイン
    トの第1のポイントが第2のポイントから所定距離以内
    にある場合、前記第1のポイントは前記オブジェクト上
    で前記第2のポイントと同じポイントを表すと決定し、
    該所定距離は前記第2のポイントの位置エラーの確率分
    布に依存する。
  151. 【請求項151】 請求項150に記載の装置であっ
    て、 前記所定距離は、前記第2のポイントの確率分布におけ
    るマハラノビス距離である。
  152. 【請求項152】 請求項140乃至151のいずれか
    に記載の装置であって、手段(e)は、前記2次元空間
    における前記1つのポイントを、前記オブジェクト上の
    同一のポイントを表す全ての単一ポイントとそれらに関
    連付けられた位置エラーに依存して計算する。
  153. 【請求項153】 請求項140乃至152のいずれか
    に記載の装置であって、 前記第1の入力信号を生成するために、前記オブジェク
    トを表すイメージデータを処理する手段を更に備える。
  154. 【請求項154】 請求項140乃至153のいずれか
    に記載の装置であって、 前記第1の入力信号を処理して前記第2の入力信号を生
    成する手段を更に備える。
  155. 【請求項155】 請求項140乃至154のいずれか
    に記載の装置であって、 イメージデータを生成するために、前記オブジェクト上
    のポイントを表す3次元空間内のポイントを表す信号を
    処理する手段を更に備える。
  156. 【請求項156】 請求項155に記載の装置であっ
    て、 前記オブジェクトのイメージを表示する手段を更に備え
    る。
  157. 【請求項157】 プログラマブルな処理装置に、請求
    項119乃至139のいずれかに記載の方法を実行させ
    るための命令を格納する格納装置。
  158. 【請求項158】 プログラマブルな処理装置に、請求
    項119乃至139のいずれかに記載の方法を実行させ
    るための信号。
JP10222178A 1997-08-05 1998-08-05 画像処理装置 Withdrawn JPH11167628A (ja)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
GB9716504.7 1997-08-05
GB9716517.9 1997-08-05
GBGB9716517.9A GB9716517D0 (en) 1997-08-05 1997-08-05 Image processing apparatus
GBGB9716504.7A GB9716504D0 (en) 1997-08-05 1997-08-05 Image processing apparatus
GBGB9716514.6A GB9716514D0 (en) 1997-08-05 1997-08-05 Image processing apparatus
GB9716502.1 1997-08-05
GB9716514.6 1997-08-05
GBGB9716502.1A GB9716502D0 (en) 1997-08-05 1997-08-05 Image processing apparatus

Publications (1)

Publication Number Publication Date
JPH11167628A true JPH11167628A (ja) 1999-06-22

Family

ID=27451685

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10222178A Withdrawn JPH11167628A (ja) 1997-08-05 1998-08-05 画像処理装置

Country Status (3)

Country Link
US (1) US6516099B1 (ja)
EP (1) EP0901105A1 (ja)
JP (1) JPH11167628A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000283719A (ja) * 1999-03-29 2000-10-13 Oki Electric Ind Co Ltd 物体の位置測定方法及び装置並びに物体の位置測定方法のプログラムを記録した記録媒体
KR101428467B1 (ko) * 2013-07-03 2014-08-12 연세대학교 산학협력단 자동화된 4d 캐드 건설 공정 모델 갱신 방법 및 장치

Families Citing this family (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6647146B1 (en) * 1997-08-05 2003-11-11 Canon Kabushiki Kaisha Image processing apparatus
US7050624B2 (en) * 1998-12-04 2006-05-23 Nevengineering, Inc. System and method for feature location and tracking in multiple dimensions including depth
US7016595B1 (en) * 1999-05-28 2006-03-21 Nikon Corporation Television set capable of controlling external device and image storage controlled by television set
EP1063614A3 (en) * 1999-06-22 2002-05-29 Infiniteface.Com Inc. Apparatus for using a plurality of facial images from different viewpoints to generate a facial image from a new viewpoint, method thereof, application apparatus and storage medium
KR20010089664A (ko) * 1999-10-21 2001-10-08 요트.게.아. 롤페즈 3차원 모델링 시스템 및 방법
GB9927678D0 (en) 1999-11-23 2000-01-19 Canon Kk Image processing apparatus
US6975755B1 (en) 1999-11-25 2005-12-13 Canon Kabushiki Kaisha Image processing method and apparatus
US6970591B1 (en) 1999-11-25 2005-11-29 Canon Kabushiki Kaisha Image processing apparatus
US6957177B1 (en) * 1999-12-10 2005-10-18 Microsoft Corporation Geometric model database for use in ubiquitous computing
US6990228B1 (en) 1999-12-17 2006-01-24 Canon Kabushiki Kaisha Image processing apparatus
US6980690B1 (en) 2000-01-20 2005-12-27 Canon Kabushiki Kaisha Image processing apparatus
US6798923B1 (en) * 2000-02-04 2004-09-28 Industrial Technology Research Institute Apparatus and method for providing panoramic images
JP2001268594A (ja) * 2000-03-15 2001-09-28 Infiniteface.Com Inc 三次元ビューティーシミュレーション用クライアントサーバシステム
JP3766578B2 (ja) * 2000-03-17 2006-04-12 ペンタックス株式会社 写真測量用画像処理装置およびこの写真測量用画像処理装置を用いた写真測量方法
GB2368117A (en) * 2000-05-08 2002-04-24 Neutral Ltd Optical viewing arrangement
US6771810B1 (en) * 2000-06-16 2004-08-03 Microsoft Corporation System and method for estimating the epipolar geometry between images
GB0023681D0 (en) * 2000-09-27 2000-11-08 Canon Kk Image processing apparatus
US7987186B1 (en) * 2000-11-06 2011-07-26 Navteq North America, Llc Method and system for wavelet-based representation and use of cartographic data
MXPA01012613A (es) * 2000-12-07 2003-08-20 Visteon Global Tech Inc Metodo para calibrar un modelo matematico.
US20020094134A1 (en) * 2001-01-12 2002-07-18 Nafis Christopher Allen Method and system for placing three-dimensional models
US20020164067A1 (en) * 2001-05-02 2002-11-07 Synapix Nearest neighbor edge selection from feature tracking
JP4877891B2 (ja) * 2001-08-03 2012-02-15 株式会社トプコン 校正用被写体
US7068274B2 (en) * 2001-08-15 2006-06-27 Mitsubishi Electric Research Laboratories, Inc. System and method for animating real objects with projected images
US7054491B2 (en) * 2001-11-16 2006-05-30 Stmicroelectronics, Inc. Scalable architecture for corresponding multiple video streams at frame rate
US6915310B2 (en) * 2002-03-28 2005-07-05 Harris Corporation Three-dimensional volumetric geo-spatial querying
US6701006B2 (en) 2002-06-26 2004-03-02 Nextengine, Inc. Apparatus and method for point cloud assembly
US6833811B2 (en) 2002-10-07 2004-12-21 Harris Corporation System and method for highly accurate real time tracking and location in three dimensions
GB2394873B (en) * 2002-10-29 2005-12-28 Canon Europa Nv Apparatus and method for generating texture maps for use in 3D computer graphics
GB2398469B (en) * 2003-02-12 2005-10-26 Canon Europa Nv Image processing apparatus
GB2400288B (en) * 2003-04-02 2005-12-28 Canon Europa Nv Generating texture maps for use in 3D computer graphics
US8064684B2 (en) * 2003-04-16 2011-11-22 Massachusetts Institute Of Technology Methods and apparatus for visualizing volumetric data using deformable physical object
JP4532856B2 (ja) * 2003-07-08 2010-08-25 キヤノン株式会社 位置姿勢計測方法及び装置
GB2406252B (en) * 2003-09-18 2008-04-02 Canon Europa Nv Generation of texture maps for use in 3d computer graphics
US20050285947A1 (en) * 2004-06-21 2005-12-29 Grindstaff Gene A Real-time stabilization
WO2006084385A1 (en) * 2005-02-11 2006-08-17 Macdonald Dettwiler & Associates Inc. 3d imaging system
US7565029B2 (en) * 2005-07-08 2009-07-21 Seiko Epson Corporation Method for determining camera position from two-dimensional images that form a panorama
DE102006048166A1 (de) * 2006-08-02 2008-02-07 Daimler Ag Verfahren zur Beobachtung einer Person in einem industriellen Umfeld
US20080089577A1 (en) * 2006-10-11 2008-04-17 Younian Wang Feature extraction from stereo imagery
CN101377851A (zh) * 2007-08-29 2009-03-04 鸿富锦精密工业(深圳)有限公司 点云到点云的最近距离计算系统及方法
US8036468B2 (en) * 2007-12-24 2011-10-11 Microsoft Corporation Invariant visual scene and object recognition
US9172940B2 (en) * 2009-02-05 2015-10-27 Bitanimate, Inc. Two-dimensional video to three-dimensional video conversion based on movement between video frames
KR20120011653A (ko) * 2010-07-29 2012-02-08 삼성전자주식회사 영상 처리 장치 및 방법
JP2012075088A (ja) * 2010-09-03 2012-04-12 Pentax Ricoh Imaging Co Ltd 画像処理システムおよび画像処理方法
US20140015924A1 (en) * 2010-10-07 2014-01-16 Sungevity, Inc. Rapid 3D Modeling
US8600192B2 (en) 2010-12-08 2013-12-03 Cognex Corporation System and method for finding correspondence between cameras in a three-dimensional vision system
US9124873B2 (en) 2010-12-08 2015-09-01 Cognex Corporation System and method for finding correspondence between cameras in a three-dimensional vision system
US11488322B2 (en) * 2010-12-08 2022-11-01 Cognex Corporation System and method for training a model in a plurality of non-perspective cameras and determining 3D pose of an object at runtime with the same
JP5625976B2 (ja) * 2011-02-09 2014-11-19 ソニー株式会社 撮像装置、および撮像装置制御方法、並びにプログラム
US8942917B2 (en) 2011-02-14 2015-01-27 Microsoft Corporation Change invariant scene recognition by an agent
US8447116B2 (en) * 2011-07-22 2013-05-21 Honeywell International Inc. Identifying true feature matches for vision based navigation
US9236024B2 (en) 2011-12-06 2016-01-12 Glasses.Com Inc. Systems and methods for obtaining a pupillary distance measurement using a mobile computing device
CN102609983B (zh) * 2012-01-20 2014-07-09 华中科技大学 一种基于图像及立体视觉的闪电三维图像重建方法
US9483853B2 (en) 2012-05-23 2016-11-01 Glasses.Com Inc. Systems and methods to display rendered images
US9286715B2 (en) 2012-05-23 2016-03-15 Glasses.Com Inc. Systems and methods for adjusting a virtual try-on
US9311746B2 (en) 2012-05-23 2016-04-12 Glasses.Com Inc. Systems and methods for generating a 3-D model of a virtual try-on product
US10719967B2 (en) 2012-08-01 2020-07-21 Dreamworks Animation L.L.C. Techniques for placing masking window objects in a computer-generated scene for stereoscopic computer-animation
KR101370718B1 (ko) * 2012-10-26 2014-03-06 한국과학기술원 파노라마 이미지를 이용한 2d에서 3d로의 변환 방법 및 장치
US9552533B2 (en) * 2013-03-05 2017-01-24 Toshiba Medical Systems Corporation Image registration apparatus and method
US9542773B2 (en) * 2013-05-23 2017-01-10 Google Inc. Systems and methods for generating three-dimensional models using sensed position data
KR102161052B1 (ko) * 2013-08-27 2020-09-29 삼성전자주식회사 영상에서 객체를 분리하는 방법 및 장치.
US9235215B2 (en) 2014-04-03 2016-01-12 Honeywell International Inc. Feature set optimization in vision-based positioning
US9986155B2 (en) * 2014-09-05 2018-05-29 Htc Corporation Image capturing method, panorama image generating method and electronic apparatus
CN105044800B (zh) * 2015-05-29 2017-12-19 中国人民解放军理工大学 一种基于光学观测的雷电定位装置及方法
US9975241B2 (en) * 2015-12-03 2018-05-22 Intel Corporation Machine object determination based on human interaction
CN106296698B (zh) * 2016-08-15 2019-03-29 成都通甲优博科技有限责任公司 一种基于立体视觉的闪电三维定位方法
US9990728B2 (en) * 2016-09-09 2018-06-05 Adobe Systems Incorporated Planar region guided 3D geometry estimation from a single image
US10467768B2 (en) * 2017-04-07 2019-11-05 Intel Corporation Optical flow estimation using 4-dimensional cost volume processing
US11347816B2 (en) * 2017-12-01 2022-05-31 At&T Intellectual Property I, L.P. Adaptive clustering of media content from multiple different domains
WO2021056190A1 (en) * 2019-09-24 2021-04-01 Beijing Didi Infinity Technology And Development Co., Ltd. Semantic-assisted multi-resolution point cloud registration
FR3113330B1 (fr) * 2020-08-10 2023-04-28 Continental Automotive Procédé d’alignement d’au moins deux images formées de points tridimensionnels
KR102242027B1 (ko) * 2020-08-28 2021-04-23 머지리티 주식회사 이미지 통합 방법 및 시스템
KR102398839B1 (ko) * 2020-12-01 2022-05-17 서울과학기술대학교 산학협력단 객체의 표면에 영상을 투영시키는 장치
WO2025034175A1 (en) * 2023-08-08 2025-02-13 Storage Sg Pte. Ltd. Method for constructing a 3-dimensional profile from at least two 2-dimensional images and system thereof
CN116863086B (zh) * 2023-09-04 2023-11-24 武汉国遥新天地信息技术有限公司 一种光学动作捕捉系统刚体稳定重建方法
US12579802B1 (en) * 2024-01-02 2026-03-17 Gm Cruise Holdings Llc Variable compute image backbones
CN119567247B (zh) * 2024-11-15 2025-11-11 广东轻工职业技术大学 一种运动控制方法及装置

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3901595A (en) 1974-02-13 1975-08-26 Bendix Corp Parallel line scanning system for stereomapping
US4175862A (en) 1975-08-27 1979-11-27 Solid Photography Inc. Arrangement for sensing the geometric characteristics of an object
US4925294A (en) 1986-12-17 1990-05-15 Geshwind David M Method to convert two dimensional motion pictures for three-dimensional systems
US4654872A (en) 1983-07-25 1987-03-31 Omron Tateisi Electronics Co. System for recognizing three-dimensional objects
FR2553912B1 (fr) 1983-10-21 1985-12-20 Onera (Off Nat Aerospatiale) Procede et appareillage pour determiner l'attitude d'un objet dans l'espace par rapport a un poste d'observation
JPH0619243B2 (ja) 1985-09-19 1994-03-16 株式会社トプコン 座標測定方法及びその装置
US4825393A (en) 1986-04-23 1989-04-25 Hitachi, Ltd. Position measuring method
US4695156A (en) 1986-07-03 1987-09-22 Westinghouse Electric Corp. Range finding method and apparatus
GB8623718D0 (en) 1986-10-02 1986-11-05 British Aerospace Real time generation of stereo depth maps
JPH0766445B2 (ja) 1988-09-09 1995-07-19 工業技術院長 画像処理方法
US4935810A (en) 1988-10-26 1990-06-19 Olympus Optical Co., Ltd. Three-dimensional measuring apparatus
US4969106A (en) 1989-02-27 1990-11-06 Camsys, Inc. Computerized method of determining surface strain distributions in a deformed body
NL8900867A (nl) 1989-04-07 1990-11-01 Theo Jogchum Poelstra Een systeem van "beeldmeetkunde" ten behoeve van de verkrijging van digitale, 3d topografische informatie.
US5144373A (en) 1989-08-02 1992-09-01 Loral Aerospace Corp. Detection of range discontinuities in stereoscopic imagery
US5589942A (en) 1990-04-05 1996-12-31 Intelligent Automation Systems Real time three dimensional sensing system
GB9011922D0 (en) 1990-05-29 1990-07-18 Europ Vision Syst Centre Machine vision stereo matching
US5220441A (en) 1990-09-28 1993-06-15 Eastman Kodak Company Mechanism for determining parallax between digital images
US5390291A (en) 1990-10-05 1995-02-14 Atlantic Richfield Company Method for interpolating between two regions of a display
IT1245014B (it) 1991-01-29 1994-09-13 Dea Spa Sistema per la misura tridimensionale di superfici sculturate da matematizzare
GB2257250B (en) 1991-06-29 1995-02-01 Camera Alive Limited Photogrammetric system
GB9121646D0 (en) 1991-10-11 1991-11-27 Marconi Gec Ltd Camera systems
JP3167752B2 (ja) 1991-10-22 2001-05-21 富士重工業株式会社 車輌用距離検出装置
US5519485A (en) 1992-07-31 1996-05-21 Kabushiki Kaisha Topcon Stereo image measuring apparatus
US5454069A (en) 1992-08-25 1995-09-26 University Of Kentucky Research Foundation Process for converting serial image to the sterolithography apparatus (SLA) slice file with automatic base and support generation
GB2270435A (en) 1992-09-05 1994-03-09 Ibm Stereogrammetry
US5381526A (en) 1992-09-11 1995-01-10 Eastman Kodak Company Method and apparatus for storing and retrieving generalized image data
DE69430153T2 (de) * 1993-06-21 2002-09-05 Nippon Telegraph & Telephone Verfahren und Vorrichtung zur dreidimensionalen Bilderzeugung von Objekten
US5848198A (en) * 1993-10-08 1998-12-08 Penn; Alan Irvin Method of and apparatus for analyzing images and deriving binary image representations
US5598515A (en) * 1994-01-10 1997-01-28 Gen Tech Corp. System and method for reconstructing surface elements of solid objects in a three-dimensional scene from a plurality of two dimensional images of the scene
JPH07222202A (ja) 1994-02-02 1995-08-18 Rohm Co Ltd 立体ビジョンカメラ
US5703961A (en) * 1994-12-29 1997-12-30 Worldscape L.L.C. Image transformation and synthesis methods
US5559334A (en) 1995-05-22 1996-09-24 General Electric Company Epipolar reconstruction of 3D structures
US5768415A (en) 1995-09-08 1998-06-16 Lucent Technologies Inc. Apparatus and methods for performing electronic scene analysis and enhancement
JPH0995194A (ja) * 1995-09-29 1997-04-08 Aisin Seiki Co Ltd 車両前方の物体検出装置
US6044181A (en) * 1997-08-01 2000-03-28 Microsoft Corporation Focal length estimation method and apparatus for construction of panoramic mosaic images

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000283719A (ja) * 1999-03-29 2000-10-13 Oki Electric Ind Co Ltd 物体の位置測定方法及び装置並びに物体の位置測定方法のプログラムを記録した記録媒体
KR101428467B1 (ko) * 2013-07-03 2014-08-12 연세대학교 산학협력단 자동화된 4d 캐드 건설 공정 모델 갱신 방법 및 장치

Also Published As

Publication number Publication date
EP0901105A1 (en) 1999-03-10
US6516099B1 (en) 2003-02-04

Similar Documents

Publication Publication Date Title
JPH11167628A (ja) 画像処理装置
JPH11149558A (ja) 画像処理装置
CN118314300B (zh) 工程测量精准定位与三维建模方法及系统
US6647146B1 (en) Image processing apparatus
US6801653B1 (en) Information processing apparatus and method as well as medium
Habib et al. Automatic calibration of low-cost digital cameras
US6950550B1 (en) Tracing technique and recording media of object motion
CN111123242B (zh) 一种基于激光雷达和相机的联合标定方法及计算机可读存储介质
US6208769B1 (en) Method of accurately locating the fractional position of a template match point
JPH1074272A (ja) 3次元形状データ処理装置
CN113223176B (zh) 多维度管道特征参数的获取方法和装置
Wang et al. Automated road sign inventory system based on stereo vision and tracking
CN120976503A (zh) 一种基于点云的多尺度的线阵相机拼接方法和系统
Tóth et al. A minimal solution for image-based sphere estimation
CN106530342B (zh) 利用激光点云辅助的可量测全景影像生成方法
JP4524514B2 (ja) 画像処理装置、画像処理方法、および記録媒体
US6961459B2 (en) Three-dimensional data processing device, three-dimensional data processing method, and program providing medium
Mohammadi et al. Selective weighted least square and piecewise bilinear transformation for accurate satellite DSM generation
GB2328355A (en) Edge detection in image processing
GB2328127A (en) Image processing apparatus
Stylianidis Measurements: Introduction to photogrammetry
US6847359B1 (en) Image processing apparatus and image capturing apparatus, which approximate object shapes using a plurality of polygon patches
CN120615201A (zh) 用于2d全景图像的深度图生成
GB2328356A (en) Overlapping edge detection in image processing
JPH10320560A (ja) 画像測定装置

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20051101