(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-22
(45)【発行日】2024-05-01
(54)【発明の名称】基本行列生成装置、制御方法、及びプログラム
(51)【国際特許分類】
G06T 7/33 20170101AFI20240423BHJP
【FI】
G06T7/33
(21)【出願番号】P 2023503271
(86)(22)【出願日】2021-03-03
(86)【国際出願番号】 JP2021008289
(87)【国際公開番号】W WO2022185462
(87)【国際公開日】2022-09-09
【審査請求日】2023-08-28
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100103894
【氏名又は名称】家入 健
(72)【発明者】
【氏名】中野 学
【審査官】山田 辰美
(56)【参考文献】
【文献】特開2017-174105(JP,A)
【文献】特開2017-11431(JP,A)
【文献】特開2016-100899(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00-7/90
(57)【特許請求の範囲】
【請求項1】
第1画像と第2画像から、互いに対応する特徴点のペアである特徴点ペアを3組以上検出する第1検出部と、
2組以上の各前記特徴点ペアについて、その特徴点ペアに含まれる前記第1画像上の点から第1方向に第1距離離れた点と、その特徴点ペアに含まれる前記第2画像上の点から第2方向に第2距離離れた点とのペアである派生点ペアを検出する第2検出部と、
各前記検出された特徴点ペア及び派生点ペアを利用して、前記第1画像上の点と前記第2画像上の点とのエピポーラ制約を表す基本行列を生成する生成部と、を有し、
前記第1方向と前記第1距離はそれぞれ、前記特徴点ペアに含まれる前記第1画像上の点について算出された特徴量に基づいて定まり、
前記第2方向と前記第2距離はそれぞれ、前記特徴点ペアに含まれる前記第2画像上の点について算出された特徴量に基づいて定まる、基本行列生成装置。
【請求項2】
前記第1方向と前記第1距離はそれぞれ、前記第1画像上の点について算出されたスケール不変特徴量の主軸方向とスケールの長さに基づいて決定され、
前記第2方向と前記第2距離はそれぞれ、前記第2画像上の点について算出されたスケール不変特徴量の主軸方向とスケールの長さに基づいて決定される、請求項1に記載の基本行列生成装置。
【請求項3】
前記第1方向と前記第1距離はそれぞれ、前記第1画像上の点について算出されたアフィン不変特徴量の特定の軸方向及びその軸の長さに基づいて決定され、
前記第2方向と前記第2距離はそれぞれ、前記第2画像上の点について算出されたアフィン不変特徴量の特定の軸方向及びその軸の長さに基づいて決定される、請求項1に記載の基本行列生成装置。
【請求項4】
前記派生点ペアの検出に利用する前記特徴点ペアを変更しながら、前記基本行列の生成を繰り返し行い、生成された複数の前記基本行列のうち、最も精度が高いものを出力する、請求項1から3いずれか一項に記載の基本行列生成装置。
【請求項5】
前記特徴点ペアと前記派生点ペアから3つの点を抽出して符号付面積の算出を行い、当該算出された符号付面積の符号に基づいて、前記基本行列の生成を行うか否かを判定する、請求項1から4いずれか一項に記載の基本行列生成装置。
【請求項6】
コンピュータによって実行される制御方法であって、
第1画像と第2画像から、互いに対応する特徴点のペアである特徴点ペアを3組以上検出する第1検出ステップと、
2組以上の各前記特徴点ペアについて、その特徴点ペアに含まれる前記第1画像上の点から第1方向に第1距離離れた点と、その特徴点ペアに含まれる前記第2画像上の点から第2方向に第2距離離れた点とのペアである派生点ペアを検出する第2検出ステップと、
各前記検出された特徴点ペア及び派生点ペアを利用して、前記第1画像上の点と前記第2画像上の点とのエピポーラ制約を表す基本行列を生成する生成ステップと、を有し、
前記第1方向と前記第1距離はそれぞれ、前記特徴点ペアに含まれる前記第1画像上の点について算出された特徴量に基づいて定まり、
前記第2方向と前記第2距離はそれぞれ、前記特徴点ペアに含まれる前記第2画像上の点について算出された特徴量に基づいて定まる、制御方法。
【請求項7】
前記第1方向と前記第1距離はそれぞれ、前記第1画像上の点について算出されたスケール不変特徴量の主軸方向とスケールの長さに基づいて決定され、
前記第2方向と前記第2距離はそれぞれ、前記第2画像上の点について算出されたスケール不変特徴量の主軸方向とスケールの長さに基づいて決定される、請求項6に記載の制御方法。
【請求項8】
前記第1方向と前記第1距離はそれぞれ、前記第1画像上の点について算出されたアフィン不変特徴量の特定の軸方向及びその軸の長さに基づいて決定され、
前記第2方向と前記第2距離はそれぞれ、前記第2画像上の点について算出されたアフィン不変特徴量の特定の軸方向及びその軸の長さに基づいて決定される、請求項6に記載の制御方法。
【請求項9】
第1画像と第2画像から、互いに対応する特徴点のペアである特徴点ペアを3組以上検出する第1検出ステップと、
2組以上の各前記特徴点ペアについて、その特徴点ペアに含まれる前記第1画像上の点から第1方向に第1距離離れた点と、その特徴点ペアに含まれる前記第2画像上の点から第2方向に第2距離離れた点とのペアである派生点ペアを検出する第2検出ステップと、
各前記検出された特徴点ペア及び派生点ペアを利用して、前記第1画像上の点と前記第2画像上の点とのエピポーラ制約を表す基本行列を生成する生成ステップと、を
コンピュータに実行させ、
前記第1方向と前記第1距離はそれぞれ、前記特徴点ペアに含まれる前記第1画像上の点について算出された特徴量に基づいて定まり、
前記第2方向と前記第2距離はそれぞれ、前記特徴点ペアに含まれる前記第2画像上の点について算出された特徴量に基づいて定まる、
プログラム。
【請求項10】
前記第1方向と前記第1距離はそれぞれ、前記第1画像上の点について算出されたスケール不変特徴量の主軸方向とスケールの長さに基づいて決定され、
前記第2方向と前記第2距離はそれぞれ、前記第2画像上の点について算出されたスケール不変特徴量の主軸方向とスケールの長さに基づいて決定される、請求項
9に記載の
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は基本行列(essential matrix)の生成に関する。
【背景技術】
【0002】
焦点距離などの内部パラメータが校正済みであるカメラを用いて、同一の被写体を異なる位置から撮影した2枚の画像間の相対的な外部パラメータを推定する技術が開発されている。相対的な外部パラメータとは、絶対的な大きさが不明な2自由度の3次元並進ベクトル(位置とも呼ばれる)と、3自由度の回転(姿勢とも呼ばれる)のことであり、それらを乗算した基本行列(essential matrix)としても表現される。例えば、非特許文献1は、画像間で同一の3次元座標が画像上に射影された対応点を5組用いることで、基本行列を算出する方法が記載されている。非特許文献2は、8組以上の対応点を用いる方法が記載されている。非特許文献3には、アフィン不変特徴点を使うことで2組の対応点から基本行列を算出する方法が記載されている。上述した非特許文献1~3では、2つの画像から互いに対応する特徴点のペアを複数検出し、検出した特徴点のペアの集合から、RANSAC(RAndom SAmple Consensus)のようなロバスト推定アルゴリズムを利用して、誤対応点を除去して正確な基本行列が生成される。
【先行技術文献】
【非特許文献】
【0003】
【文献】D. Nister、「An efficient solution to the five-point relative pose problem」、IEEE transactions on pattern analysis and machine intelligence、2004年4月19日、volume 26、Issue 6、pp. 756-770
【文献】C. Tomasi、「The Eight-Point Algorithm」、[online]、2015年、Duke University、[2021年2月25日検索]、インターネット、<URL: https://www2.cs.duke.edu/courses/fall15/compsci527/notes/longuet-higgins.pdf>
【文献】D. Barath and L. Hajder、「Efficient recovery of essential matrix from two affine correspondences」、IEEE Transactions on Image Processing、2018年6月22日、volume 27、Issue 11
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明者は、基本行列を生成する新たな技術を検討した。本開示の目的は、基本行列を生成する新たな技術を提供することである。
【課題を解決するための手段】
【0005】
本開示の基本行列生成装置は、第1画像と第2画像から、互いに対応する特徴点のペアである特徴点ペアを3組以上検出する第1検出部と、2組以上の各前記特徴点ペアについて、その特徴点ペアに含まれる前記第1画像上の点から第1方向に第1距離離れた点と、その特徴点ペアに含まれる前記第2画像上の点から第2方向に第2距離離れた点とのペアである派生点ペアを検出する第2検出部と、各前記検出された特徴点ペア及び派生点ペアを利用して、前記第1画像上の点と前記第2画像上の点との幾何学的な制約を表す基本行列を生成する生成部と、を有する。前記第1方向と前記第1距離はそれぞれ、前記特徴点ペアに含まれる前記第1画像上の点について算出された特徴量に基づいて定まる。前記第2方向と前記第2距離はそれぞれ、前記特徴点ペアに含まれる前記第2画像上の点について算出された特徴量に基づいて定まる。
【0006】
本開示の制御方法は、コンピュータによって実行される。当該制御方法は、第1画像と第2画像から、互いに対応する特徴点のペアである特徴点ペアを3組以上検出する第1検出ステップと、2組以上の各前記特徴点ペアについて、その特徴点ペアに含まれる前記第1画像上の点から第1方向に第1距離離れた点と、その特徴点ペアに含まれる前記第2画像上の点から第2方向に第2距離離れた点とのペアである派生点ペアを検出する第2検出ステップと、各前記検出された特徴点ペア及び派生点ペアを利用して、前記第1画像上の点と前記第2画像上の点との幾何学的な制約を表す基本行列を生成する生成ステップと、を有する。前記第1方向と前記第1距離はそれぞれ、前記特徴点ペアに含まれる前記第1画像上の点について算出された特徴量に基づいて定まる。前記第2方向と前記第2距離はそれぞれ、前記特徴点ペアに含まれる前記第2画像上の点について算出された特徴量に基づいて定まる。
【0007】
本開示のコンピュータ可読媒体は、本開示の制御方法をコンピュータに実行させるプログラムを格納している。
【発明の効果】
【0008】
本開示によれば、基本行列を生成する新たな技術が提供される。
【図面の簡単な説明】
【0009】
【
図1】実施形態1の基本行列生成装置の動作の概要を例示する図である。
【
図2】特徴点ペアと派生点ペアを例示する図である。
【
図3】実施形態1の基本行列生成装置の機能構成を例示するブロック図である。
【
図4】基本行列生成装置を実現するコンピュータのハードウエア構成を例示するブロック図である。
【
図5】実施形態1の基本行列生成装置によって実行される処理の流れを例示するフローチャートである。
【
図6】RANSAC を用いる基本行列生成装置によって実行される処理の流れを例示するフローチャートである。
【
図7】
図6のフローチャートに、符号付面積を利用して基本行列の生成を行うか否かを判定する処理が加えられたものを例示する図である。
【発明を実施するための形態】
【0010】
以下では、本開示の実施形態について、図面を参照しながら詳細に説明する。各図面において、同一又は対応する要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略される。また、特に説明しない限り、所定値や閾値などといった予め定められている値は、その値を利用する装置からアクセス可能な記憶装置などに予め格納されている。
【0011】
図1は、実施形態1の基本行列生成装置2000の動作の概要を例示する図である。ここで、
図1は、基本行列生成装置2000の概要の理解を容易にするための図であり、基本行列生成装置2000の動作は、
図1に示したものに限定されない。
【0012】
基本行列生成装置2000は、第1画像10及び第2画像20を取得し、第1画像10上の点と第2画像20上の点との幾何学的な制約(エピポーラ制約条件と呼ばれる)を表すための行列である基本行列40を生成する。基本行列40が満たすべきエピポーラ制約は、例えば以下の式(1)で表される。
【数1】
ここで、点 m は第1画像10上の点であり、点 n は第2画像20上の点であり、同一の3次元座標がそれぞれの画像へ射影された点である。すなわち、点 n と点 m は、互いに実空間上の同一の場所を表す点である。なお、点m とn はいずれも 3x1 の斉次座標系の座標で表されている。E は3x3の基本行列40であり、3つの特異値のうち、1つはゼロ、2つは等しいことが知られている。特異値に関する制約条件は以下の式(2)で表される。
【数2】
【0013】
基本行列生成装置2000は、上記基本行列40を算出するために、第1画像10と第2画像20との間で互いに対応する点(対応点)のペアを5組以上生成する。以下、対応点のペアを対応点ペアと呼ぶ。ここで、対応点ペアに含まれる第1画像10上の点と第2画像20上の点は、互いに実空間上の同一の場所を表す点である。
【0014】
基本行列生成装置2000は、以下の方法で対応点ペアを検出する。まず基本行列生成装置2000は、第1画像10から検出される特徴点と第2画像20から検出される特徴点とから、互いに対応する特徴点のペア(特徴点ペア)を検出する。すなわち、第1画像10上の或る特徴点と、その特徴点に対応する第2画像20上の特徴点とが、特徴点ペアとして検出される。ここで、少なくとも3組の特徴点ペアが、基本行列40の生成に利用する対応点ペアとして検出される。
【0015】
基本行列生成装置2000は、上述の方法で検出した特徴点ペアを利用して、さらに対応点ペアを検出する。具体的には、基本行列生成装置2000は、特徴点ペアに含まれる第1画像10上の特徴点から第1方向に第1距離離れた派生点と、その特徴点ペアに含まれる第2画像20上の特徴点から第2方向に第2距離離れた派生点とのペアを検出する。以下、このようにして検出される派生点のペアを、派生点ペアとも呼ぶ。
【0016】
第1方向、第1距離、第2方向、及び第2距離は、特徴点について算出される特徴量を利用して決定される。例えば特徴量として、SIFT などといったスケールと主軸方向について不変な特徴量(以下、スケール不変特徴量)が利用されるとする。この場合、第1方向としては、例えば、第1画像10上の特徴点について算出された特徴量において定まる主軸方向が利用される。同様に、第2方向としては、例えば、第2画像20上の特徴点について算出された特徴量において定まる主軸方向が利用される。また、第1距離としては、例えば、第1画像10上の特徴点について算出された特徴量において定まるスケールの大きさが利用される。同様に、第2距離としては、例えば、第2画像20上の特徴点について算出された特徴量において定まるスケールの大きさが利用される。
【0017】
図2は、特徴点ペアと派生点ペアを例示する図である。
図2の例では、(m1,n1)と(m2,n2)と(m3,n3)がそれぞれ特徴点ペアとして検出されている。ここで、m1 と m2 とm3はそれぞれ第1画像10上の特徴点であり、n1 と n2とn3 はそれぞれ第2画像20上の特徴点である。また、特徴点 m1 について算出されたスケール不変特徴量により、スケール a1 と主軸方向α1が定まっている。同様に、特徴点 n1 について算出されたスケール不変特徴量により、スケール b1 と主軸方向β1が定まっている。なお、この例において、方向は、画像の水平方向右向きを基準の0度とする角度で表されている。
【0018】
基本行列生成装置2000は、特徴点 m1 について、その特徴量における主軸方向α1 へ a1 移動させた派生点 p1 を検出する。また、基本行列生成装置2000は、特徴点 n1 について、その特徴量における主軸方向β1 へ b1 移動させた派生点 q1 を検出する。その結果、派生点 p1 と派生点 q1 のペア(p1,q1)が、派生点ペアとして検出される。なお、派生点 p1 は、特徴点 m1 を中心とする半径 a1 の円周上において主軸方向にある点とも表現できる。派生点 q1 についても同様である。
【0019】
同様の方法により、基本行列生成装置2000は、第1画像10上の特徴点 m2とm3 について、その特徴量における主軸方向α2、α3 へ a2、a3 移動させた派生点 p2 、p3を検出する。また、基本行列生成装置2000は、第2画像20上の特徴点 n2とn3 について、その特徴量における主軸方向β2、β3へ b2 、b3移動させた派生点 q2、q3 を検出する。その結果、派生点ペア(p2,q2)と(p3,q3)が検出される。
【0020】
基本行列生成装置2000は、検出された対応点ペアのうち、いずれか5組以上を用いて、基本行列40を生成する。なお
図2を用いて説明した例では、3組の特徴点ペアそれぞれについて、派生点ペアを検出している。そのため、対応点ペアが合計6組検出されている。しかしながら、基本行列40の生成に利用する対応点ペアを5組とする場合、検出する派生点ペアは2組もでよい。例えば、3組の特徴点ペアの中からいずれか2組を選択し、選択された2組の特徴点ペアそれぞれについて、派生点ペアの検出が行われる。その結果、3組の特徴点ペアと2組の派生点ペアが検出されるため、合計5組の対応点ペアを得ることができる。
【0021】
<作用効果の例>
非特許文献1の発明では、本開示における第1画像10と第2画像20について、特徴点のペアを5組以上利用して、基本行列40の生成が行われる。これに対し、本実施形態の基本行列生成装置2000では、特徴点ペアと派生点ペアが合計で5組以上あれば、基本行列40を生成できる。そのため、画像から検出する必要がある特徴点ペアの最小数は3組である。よって、特許文献1の発明と比較し、画像から検出する必要がある特徴点ペアの数が少ないという利点がある。
【0022】
以下、本実施形態の基本行列生成装置2000について、より詳細に説明する。
【0023】
<機能構成の例>
図3は、実施形態1の基本行列生成装置2000の機能構成を例示するブロック図である。基本行列生成装置2000は、第1検出部2020、第2検出部2040、及び生成部2060を有する。第1検出部2020は、第1画像10及び第2画像20から、3組以上の特徴点ペアを検出する。第2検出部2040は、2組以上の特徴点ペアそれぞれを用いて、第1画像10及び第2画像20から、2組以上の派生点ペアを検出する。生成部2060は、検出した特徴点ペアと派生点ペアを用いて、基本行列40を生成する。
【0024】
<ハードウエア構成の例>
基本行列生成装置2000の各機能構成部は、各機能構成部を実現するハードウエア(例:ハードワイヤードされた電子回路など)で実現されてもよいし、ハードウエアとソフトウエアとの組み合わせ(例:電子回路とそれを制御するプログラムの組み合わせなど)で実現されてもよい。以下、基本行列生成装置2000の各機能構成部がハードウエアとソフトウエアとの組み合わせで実現される場合について、さらに説明する。
【0025】
図4は、基本行列生成装置2000を実現するコンピュータ500のハードウエア構成を例示するブロック図である。コンピュータ500は、任意のコンピュータである。例えばコンピュータ500は、PC(Personal Computer)やサーバマシンなどといった、据え置き型のコンピュータである。その他にも例えば、コンピュータ500は、スマートフォンやタブレット端末などといった可搬型のコンピュータである。コンピュータ500は、基本行列生成装置2000を実現するために設計された専用のコンピュータであってもよいし、汎用のコンピュータであってもよい。
【0026】
例えば、コンピュータ500に対して所定のアプリケーションをインストールすることにより、コンピュータ500で、基本行列生成装置2000の各機能が実現される。上記アプリケーションは、基本行列生成装置2000の機能構成部を実現するためのプログラムで構成される。なお、上記プログラムの取得方法は任意である。例えば、当該プログラムが格納されている記憶媒体(DVD ディスクや USB メモリなど)から、当該プログラムを取得することができる。その他にも例えば、当該プログラムが格納されている記憶装置を管理しているサーバ装置から、当該プログラムをダウンロードすることにより、当該プログラムを取得することができる。
【0027】
コンピュータ500は、バス502、プロセッサ504、メモリ506、ストレージデバイス508、入出力インタフェース510、及びネットワークインタフェース512を有する。バス502は、プロセッサ504、メモリ506、ストレージデバイス508、入出力インタフェース510、及びネットワークインタフェース512が、相互にデータを送受信するためのデータ伝送路である。ただし、プロセッサ504などを互いに接続する方法は、バス接続に限定されない。
【0028】
プロセッサ504は、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、又は FPGA(Field-Programmable Gate Array)などの種々のプロセッサである。メモリ506は、RAM(Random Access Memory)などを用いて実現される主記憶装置である。ストレージデバイス508は、ハードディスク、SSD(Solid State Drive)、メモリカード、又は ROM(Read Only Memory)などを用いて実現される補助記憶装置である。
【0029】
入出力インタフェース510は、コンピュータ500と入出力デバイスとを接続するためのインタフェースである。例えば入出力インタフェース510には、キーボードなどの入力装置や、ディスプレイ装置などの出力装置が接続される。
【0030】
ネットワークインタフェース512は、コンピュータ500をネットワークに接続するためのインタフェースである。このネットワークは、LAN(Local Area Network)であってもよいし、WAN(Wide Area Network)であってもよい。
【0031】
ストレージデバイス508は、基本行列生成装置2000の各機能構成部を実現するプログラム(前述したアプリケーションを実現するプログラム)を記憶している。プロセッサ504は、このプログラムをメモリ506に読み出して実行することで、基本行列生成装置2000の各機能構成部を実現する。
【0032】
基本行列生成装置2000は、1つのコンピュータ500で実現されてもよいし、複数のコンピュータ500で実現されてもよい。後者の場合において、各コンピュータ500の構成は同一である必要はなく、それぞれ異なるものとすることができる。
【0033】
<処理の流れ>
図4は、実施形態1の基本行列生成装置2000によって実行される処理の流れを例示するフローチャートである。第1検出部2020は第1画像10及び第2画像20を取得する(S102)。第1検出部2020は、第1画像10及び第2画像20を用いて、3組以上の特徴点ペアを検出する(S104)。第2検出部2040は、第1画像10及び第2画像20を用いて、2組以上の特徴点ペアそれぞれについての派生点ペアを検出する(S106)。生成部2060は、特徴点ペアと派生点ペアを用いて、基本行列40を生成する(S108)。
【0034】
<第1画像10と第2画像20について>
第1画像10と第2画像20は、任意のカメラによって生成された任意の撮像画像である。ただし、第1画像10と第2画像20は、少なくともその一部に、互いに同一の場所が撮像された画像領域が含まれている。例えば、同じ建物や人物を互いに異なる位置や角度から撮像することにより、第1画像10と第2画像20が生成される。
【0035】
<第1画像10と第2画像20の取得:S102>
第1検出部2020は、第1画像10及び第2画像20を取得する(S102)。第1検出部2020が第1画像10と第2画像20を取得する方法は任意である。例えば第1検出部2020は、第1画像10と第2画像20を、それぞれが格納されている記憶装置から取得する。なお、第1画像10と第2画像20は、同じ記憶装置に格納されていてもよいし、互いに異なる記憶装置に格納されていてもよい。その他にも例えば、第1検出部2020は、第1画像10を生成したカメラと第2画像20を生成したカメラのそれぞれから、第1画像10と第2画像20を取得してもよい。
【0036】
<特徴点ペアの検出:S104>
第1検出部2020は、第1画像10と第2画像20から特徴点ペアを3組以上検出する(S104)。そのために、第1検出部2020は、第1画像10と第2画像20のそれぞれから、特徴点の検出を行う。ここで、第1画像10と第2画像20から検出する特徴点は、任意の種類の特徴点でよい。また、画像から特徴点を検出する技術には、既存の技術を利用することができる。
【0037】
また、第1検出部2020は、第1画像10と第2画像20のそれぞれから検出された特徴点について、その特徴点を含む領域の特徴量を算出する。ここで算出される特徴量は、例えば、SIFT などのようなスケール不変特徴量や、Hessian-Affine や Affine-SIFT などのようなアフィン変形について不変な特徴量(以下、アフィン不変特徴量)である。これらの特徴量の算出方法についても、既存の技術を利用することができる。
【0038】
第1検出部2020は、各特徴点について算出した特徴量を利用して、第1画像10上の複数の特徴点と第2画像20上の複数の特徴点との間で、特徴点マッチングを行う。すなわち、第1検出部2020は、第1画像10上の特徴点と第2画像20上の特徴点とを、特徴量の類似度合いに基づいて互いに対応づける。このように、特徴点マッチングによって対応づけられた第1画像10上の特徴点と第2画像20上の特徴点が、特徴点ペアとして利用できる。なお、特徴点マッチングによって2つの画像から対応点を検出する技術には、既存の技術を利用することができる。
【0039】
第1検出部2020は、このようにして対応づけられる第1画像10上の特徴点と第2画像20上の特徴点のペアのうち、任意の3組以上をそれぞれ特徴点ペアとして検出する。例えば第1検出部2020は、第1画像10から検出された特徴点のうちの1つを任意に選択し、その特徴点と特徴点マッチングによって対応づけられる第2画像20上の特徴点を特定する。すなわち、第1検出部2020は、第1画像10から抽出した特徴点について算出された特徴量と十分に類似する特徴量を持つ(特徴量の類似度が閾値以上である)第2画像20上の特徴点を特定し、特定した特徴点と第1画像10から抽出した特徴点とのペアを、特徴点ペアとして検出する。第1検出部2020は、当該処理を任意の回数繰り返すことで、任意の数の特徴点ペアを検出する。
【0040】
なお、特徴点ペアを検出する処理の流れは、上述した流れに限定されない。例えば第1検出部2020は、第2画像20から検出された特徴点のうちの1つを任意に選択し、その特徴点と対応する特徴点を第1画像10から検出することで、特徴点ペアを検出してもよい。
【0041】
<派生点ペアの検出:S106>
第2検出部2040は、2組以上の特徴点ペアそれぞれについて、派生点ペアを検出する(S106)。第1画像10上の特徴点から検出される派生点は、第1画像10上の特徴点から第1方向に第1距離離れた点である。一方、第2画像20上の特徴点から検出される派生点は、第2画像20上の特徴点から第2方向に第2距離離れた点である。
【0042】
前述したように、第1方向、第1距離、第2方向、及び第2距離は、特徴点について算出される特徴量を利用して決定される。例えば前述したように、スケール不変特徴量を利用する場合、第1方向としては、例えば、第1画像10上の特徴点について算出された特徴量における主軸方向が利用される。同様に、第2方向としては、例えば、第2画像20上の特徴点について算出された特徴量における主軸方向が利用される。
【0043】
ただし、第1方向と第2方向はそれぞれ、主軸方向を基準として定まる方向であればよく、主軸方向とは異なる方向であってもよい。例えば第1方向と第2方向はそれぞれ、主軸方向と逆方向(180度異なる方向)や、主軸方向から所定角度(例えば、+90度)回転した方向などであってもよい。
【0044】
ここで、第1方向は、或る特徴点ペアに含まれる第1画像10上の特徴点とその派生点、及び別の特徴点ペアに含まれる第1画像10上の特徴点とその派生点のいずれもが同一の直線を通らないように定められることが好適である。この場合、3つのうち2つの特徴点及び2つの派生点が線形従属となってしまうためである。
【0045】
そこで例えば第2検出部2040は、基本行列40の生成に利用する第1画像10上の特徴点のうち、任意の2つの特徴点の組み合わせそれぞれについて、それら2つの特徴点及びこれらを用いて検出される2つの派生点が同一の直線上に位置するか否かを判定する。これらの点が1つの直線上に位置する場合、第2検出部2040は、第1方向を変更して派生点の検出を再度行ってもよい。例えば、第1方向の初期値を主軸方向に設定した状態で、派生点の検出が行われる。そして、第1画像10上の2つの特徴点と2つの派生点が同一の直線上に位置する場合には、第2検出部2040は、第1方向を主軸方向から所定方向ずらした上で、再度派生点の検出を行う。なお、複数の点が1つの直線上に位置するか否かを判定する技術には、既存の技術を利用することができる。
【0046】
上述した縮退は、第2画像20でも同様に発生しうる。そこで第2検出部2040は、同様の方法で、第2画像20から検出する特徴点と派生点についても、1つの直線上に位置しないようにすることが好適である。
【0047】
第1距離としては、第1画像10上の特徴点について算出された特徴量におけるスケールの大きさの所定倍が利用される。同様に、第2距離としては、第2画像20上の特徴点について算出された特徴量におけるスケールの大きさの所定倍が利用される。第1距離の算出に利用する所定倍と第2距離の算出に利用される所定倍は、互いに等しい値とする。所定倍=1倍とすれば、スケールの値がそのまま利用される。
図2の例は、所定倍=1倍とした例である。
【0048】
特徴量は、スケール不変特徴量には限定されず、アフィン不変特徴量であってもよい。この場合、第1方向としては、例えば、第1画像10上の特徴点について算出された特徴量について定まる特定軸の方向が利用される。同様に、第2方向としては、例えば、第2画像20上の特徴点について算出された特徴量について定まる特定軸の方向が利用される。特定軸は、例えば、短軸又は長軸である。ただし、第1方向と第2方向はそれぞれ、短軸方向又は長軸方向の逆方向(180度異なる方向)や、短軸方向又は長軸方向所定角度回転した方向であってもよい。ただし、第1方向と第2方向は、互いに同じ種類の方向とする。すなわち、第1方向を短軸方向とした場合には第2方向も短軸方向とし、第1方向を長軸方向とした場合には第2方向も長軸方向とする。
【0049】
第1距離としては、第1画像10上の特徴点について算出された特徴量について定まる特定軸の長さの所定倍が利用される。同様に、第2距離としては、第2画像20上の特徴点について算出された特徴量について定まる特定軸の長さの所定倍が利用される。第1距離の算出に利用する所定倍と第2距離の算出に利用される所定倍は、互いに等しい値とする。
【0050】
第2検出部2040は、1つの特徴点ペアから2組以上の派生点ペアを検出してもよい。例えばスケール不変特徴量を利用するケースにおいて、第2検出部2040が、特徴点ペアに含まれる第1画像10上の特徴点から、2つの派生点を検出するとする。この場合、例えば、一方の派生点 p11 については、「第1方向=主軸方向、第1距離=スケールの k1 倍」とし、他方の派生点 p12 については、「第1方向=主軸と逆方向、第1距離=スケールの k2 倍」とする。ここで、k1 と k2 は等しくてもよいし、等しくなくてもよい。同様に、第2検出部2040は、特徴点ペアに含まれる第2画像20上の特徴点からも、2つの派生点を検出する。一方の派生点 q11 については、「第2方向=主軸方向、第2距離=スケールの k1 倍」とし、他方の派生点 q12 については、「第2方向=主軸と逆方向、第2距離=スケールの k2 倍」とする。そして、第2検出部2040は、(p11,q11)と(p12,q12)をそれぞれ、派生点ペアとして検出する。
【0051】
その他にも例えば、アフィン不変特徴量を利用するケースにおいて、第2検出部2040が、特徴点ペアに含まれる第1画像10上の特徴点から、4組の派生点を検出するとする。この場合、例えば、派生点 p11 については、「第1方向=短軸方向、第1距離=短軸の長さの k1 倍」とし、派生点 p12 については、「第1方向=短軸方向と逆方向、第1距離=短軸の長さの k2 倍」とし、派生点 p13 については、「第1方向=長軸方向、第1距離=長軸の長さの k3 倍」とし、派生点 p14 については、「第1方向=長軸方向と逆方向、第1距離=長軸の長さの k4 倍」とする。ここで、k1、k2、k3 及び k4 は、それぞれ等しくてもよいし、等しくなくてもよい。
【0052】
同様に、第2検出部2040は、特徴点ペアに含まれる第2画像20上の特徴点からも、4組の派生点 q11、q12、q13、及び q14 を検出する。派生点 q11 については、「第2方向=短軸方向、第2距離=短軸の長さの k1 倍」とし、派生点 q12 については、「第2方向=短軸方向と逆方向、第2距離=短軸の長さの k2 倍」とし、派生点 q13 については、「第2方向=長軸方向、第2距離=長軸の長さの k3 倍」とし、派生点 q14 については、「第2方向=長軸方向と逆方向、第2距離=長軸の長さの k4 倍」とする。
【0053】
そして、第2検出部2040は、(p11,q11)、(p12,q12)、(p13,q13)、及び(p14,q14)をそれぞれ、派生点ペアとして検出する。
【0054】
ここで、対応点ペアの数が5以上であればよいため、派生点ペアの数は特徴点ペアの数よりも少なくてもよい。このような場合において、派生点ペアの検出に利用する特徴点ペアを選択する方法は任意である。例えば第2検出部2040は、検出した特徴点ペアの中から、検出すべき派生点ペアの数と同数の特徴点ペアをランダムに選択し、選択した特徴点ペアのそれぞれについて、派生点ペアの検出を行う。
【0055】
検出すべき派生点ペアの数は、基本行列40の生成に利用する対応点ペアの数から、特徴点ペアの数を引いた値である。基本行列40の生成に利用する対応点ペアの数と特徴点ペアの数については、予め定められていてもよいし、基本行列生成装置2000のユーザによって指定されてもよい。
【0056】
<基本行列40の生成:S108>
生成部2060は、5組以上の対応点ペア(特徴点ペアと派生点ペア)を用いて、基本行列40を生成する。ここで、対応点ペアを5組以上用いて基本行列を算出する技術には、既存の技術を利用することができる。
【0057】
例えば基本行列40は、以下の式(3)で表される最適化問題を解くことによって算出される。
【数3】
ここで、ベクトル e は行列 E(基本行列40)のベクトル表現、行列 M はベクトル m とベクトル n から構成される係数行列である。
【0058】
なお、式(3)は、最小5点の場合は非特許文献1に記載された多項式問題へと帰着して解けることが知られている。また、8点以上の場合には、非特許文献2に記載されているように、||e||^2=1以外の制約条件を無視することで線形最小二乗法に帰着することが知られている。そして、線形最小二乗法による計算方法には、DLT(Direct Linear Transform)法などが利用できる。
【0059】
ここで、生成部2060は、対応点ペアに含まれる各点の座標をそのまま利用する代わりに、正規化した座標を利用してもよい。こうすることで、数値計算の誤差を低減することができる。例えば座標の正規化としては、座標値の平均がゼロ、かつ、分散が√2となるような相似変換を施す手法がある。このように正規化した座標値を用いる場合、生成部2060は、DLT 法等の手法によって得られた行列に対して、相似変換の逆変換を施すことで、基本行列40を生成することができる。
【0060】
ここで、派生点ペアの検出を行う前に、特徴点ペアの各点の座標の正規化が行われてもよい。この場合、第2検出部2040は、スケール不変特徴量のスケールの大きさや、アフィン不変特徴量の特定軸の長さについても同様の変換を施した上で、派生点ペアの検出を行う。
【0061】
<結果の出力>
基本行列生成装置2000は、生成した基本行列40を含む情報(以下、出力情報)を出力する。出力情報の出力態様は任意である。例えば基本行列生成装置2000は、出力情報を、基本行列生成装置2000からアクセス可能なディスプレイ装置に表示させる。その他にも例えば、基本行列生成装置2000は、出力情報を、基本行列生成装置2000からアクセス可能な記憶装置に格納する。その他にも例えば、基本行列生成装置2000は、出力情報を、基本行列生成装置2000と通信可能に接続されている他の装置へ送信する。
【0062】
出力情報は、基本行列40のみを含んでもよいし、基本行列40以外の情報をさらに含んでもよい。例えば出力情報には、基本行列40が、どの画像とどの画像とを結びつける基本行列なのかが把握可能な情報も含まれることが好適である。そこで例えば、出力情報は、変換元の画像の識別子(例えば、ファイル名や画像データそのもの)として第1画像10の識別子を含み、かつ、変換先の画像の識別子として第2画像20の識別子を含む。
【0063】
<基本行列40の精度の向上>
基本行列生成装置2000は、以下の手法により、より精度の高い基本行列40を生成してもよい。ここでいう基本行列40の精度とは、第1画像10上の点 mi と第2画像20上の点 niと基本行列を用いて三角測量して復元した三次元座標を、第1画像10と第2画像20へと再投影し、第1画像10上に再投影された2次元点と mi との誤差および第2画像20上に再投影された2次元点と ni との誤差の小ささを意味する。これらの再投影誤差が小さいほど、基本行列40によって、第1画像10上の点と第2画像20上の点とが正確に幾何的な制約条件を満たすこととなるため、基本行列40の精度が高いと言える。なお、再投影誤差の代わりに、計算量がより少ない代数学的誤差(例えば Sampson 誤差)を用いてもよい。以下では、これらの誤差を総称してエピポーラ誤差と呼ぶ。
【0064】
基本行列生成装置2000は、基本行列40の生成に利用する対応点ペアを様々に変えながら、基本行列40を複数生成する。そして、基本行列生成装置2000は、それら複数の基本行列40の中から最も精度が高いものを選択し、当該選択した基本行列40を含む出力情報を出力する。
【0065】
例えば基本行列生成装置2000は、RANSAC を利用して、精度の高い基本行列40の生成を実現する。
図6は、RANSAC を用いる基本行列生成装置2000によって実行される処理の流れを例示するフローチャートである。
【0066】
第1検出部2020は、第1画像10及び第2画像20を取得する(S202)。S204からS218は、その実行回数が最大反復回数Nに達するまで繰り返し実行されるループ処理L1である。S204において、基本行列生成装置2000は、ループ処理L1の実行回数が最大反復回数N以上であるか否かを判定する。ループ処理L1の実行回数が最大反復回数N以上である場合、
図6の処理はS220に進む。一方、ループ処理L1の実行回数が最大反復回数N以上でない場合、
図6の処理はS206に進む。
【0067】
第1検出部2020は、第1画像10及び第2画像20から、3組以上の特徴点ペアを検出する(S206)。第2検出部2040は、S206で検出された特徴点ペアの中から任意の3組の特徴点ペアを選択し、選択した各特徴点ペアについて派生点ペアを検出する(S208)。生成部2060は、選択した3組の特徴点ペア、及びそれらを用いて検出された3組の派生点ペアのうち、5組のペアを用いて、基本行列40を生成する(S210)。
【0068】
基本行列生成装置2000は、S206で検出された複数の特徴点ペアのうち、基本行列40によってエピポーラ制約を満たす特徴点ペアの個数を特定する(S212)。ここで、「特徴点ペアが基本行列40によってエピポーラ制約を満たす」とは、特徴点ペアに含まれる第1画像10上の点 mi と第2画像20上の点 ni とが、基本行列40によって定義されるエピポーラ誤差が十分に小さい(例えば閾値未満である)ことを意味する。以下、基本行列40によって正しく対応付けられる特徴点ペア(上記誤差が閾値未満となる特徴点ペア)を「正しい特徴点ペア」と呼び、基本行列40によって正しく対応づけられない特徴点ペア(上記誤差が閾値以上となる特徴点ペア)を、「正しくない特徴点ペア」と呼ぶ。
【0069】
正しい特徴点ペアの個数を特定するために、基本行列生成装置2000は、各特徴点ペアについて、1)その特徴点ペアに含まれる第1画像10上の点 mi とその特徴点ペアに含まれる第2画像20上の点 ni とのエピポーラ誤差を算出し、2)算出した誤差が閾値未満であるか否かを判定する。そして、基本行列生成装置2000は、誤差が閾値未満となった特徴点ペア(すなわち、正しい特徴点ペア)の個数を特定する。
【0070】
S214において、基本行列生成装置2000は、正しい特徴点ペアの個数が、これまでに実行されたループ処理L1で算出された個数の中で最大であるか否かを判定する。正しい特徴点ペアの個数が、これまでに算出された個数の中で最大でない場合(S214:NO)、
図6の処理はS218に進む。一方、正しい特徴点ペアの個数が、これまでに算出された個数の中で最大である場合(S214:YES)、基本行列生成装置2000は、ループ処理L1の最大反復回数を更新する(S216)。
【0071】
ここで、最大反復回数は、例えば以下の式(4)で表される。
【数4】
ここで、N は最大反復回数を表す。p は N 回中に1回は、基本行列40によって正しく変換される特徴点ペアが存在する確率を表す。s は、基本行列40の生成に利用した対応点ペアの個数(前述の例では3)を表す。εは、特徴点ペアの総数に占める、正しくない特徴点ペアの割合である。
【0072】
ここで、εの真の値は未知であるため、その推定値が利用される。具体的には、基本行列生成装置2000は、これまでに実行したループ処理L1において算出された正しい特徴点ペアの個数のうち、最大の個数を利用して推定される。この最大個数を Km と表記し、かつ、特徴点ペアの総数を Kall と表記すれば、εは (Kall-Km)/Kall と推定することができる。
【0073】
S218はループ処理L1の終端であるため、
図6の処理はS204に戻る。
【0074】
ループ処理L1の繰り返し実行が終了すると、
図6の処理はS220に進む。S220において、基本行列生成装置2000は、複数回実行されたループ処理L1それぞれで生成された基本行列40のうち、正しい特徴点ペアの個数が最大であったループ処理L1において生成された基本行列40を、出力情報に含めて出力する。こうすることで、複数生成された基本行列40のうち、精度が最大である基本行列40が出力されるようになる。
【0075】
ここで、本実施形態の基本行列生成装置2000では、特徴点ペアを利用して派生点ペアを検出するため、RANSAC の1回の試行(
図6のループ処理L1の1回の実行)で必要とされるサンプル点の数が3(式(4)において s=3)となる。そのため、非特許文献1の発明のように5つのサンプル点を必要とするケース(式(4)において s=5となるケース)や非特許文献2の発明のように8つのサンプル点を必要とするケース(式(4)において s=8となるケース)と比較し、最大反復回数 N がの値が指数関数的に減少する。よって、RANSAC の計算量が削減される。
【0076】
なお、5組よりも少ない対応点ペアで基本行列を生成する方法として、アフィン不変特徴点を2組用いる方法が、非特許文献3に記載されている。非特許文献3に記載されている方法では、局所的なアフィン変換とエピポーラ制約が満たす拘束条件を解くことで、基本行列を算出している。
【0077】
非特許文献3の手法では、対応点ペアの数が2組であるため、RANSAC の最大反復回数は、本実施形態の基本行列生成装置2000よりも理論的には少ない。しかしながら、本実施形態の基本行列生成装置2000には、非特許文献3の手法と比較し、全体的な実行時間が短くなるという利点がある。例えば、アフィン不変特徴点の計算量は、一般にスケール不変特徴点の数倍から数十倍を要するため、本実施形態の第1検出部2020による処理に要する時間は非特許文献3よりも大幅に小さい。そのため、全体的な実行時間を比較すると本実施形態の基本行列生成装置2000を利用するケースの方が高速になると考えられる。
【0078】
<<基本行列40の生成の省略>>
基本行列生成装置2000は、ループ処理L1において毎回基本行列40の生成を行うのではなく、特定の条件が満たされた場合のみ、基本行列40の生成を行うようにしてもよい。具体的には、基本行列生成装置2000は、S206で選択された3組の特徴点ペア、及びそれらを用いて検出された3組の派生点ペアを利用して、符号付面積を算出する。そして、符号付き面積の符号の正しさに基づいて、基本行列40の生成を行うか否かを判定する。以下、具体的に説明する。
【0079】
まず、3点の斉次化した画像座標 {x1, x2, x3} が与えられたとき、符号付面積は以下の式(5)で表される。
【数5】
【0080】
式(5)は、いわゆる 3x3 行列の行列式に等しい。5組の対応点ペアが与えられたとき、それらがいずれも正しい対応点ペアであれば5組の中から任意の3組を選んで式(5)を計算すると、その符号は必ず互いに同符号となる。例えば、選択された特徴点ペアが(m1,n1)と(m2,n2)であり、これらを用いて検出された派生点ペアが(p1,q1)と(p2,q2)であるとする。この場合において、例えば、(m1,n1)、(m2,n2)、及び(p1,q1)の3組を符号付面積の算出対象として選べば、det(m1,m2,p1) と det(n1,n2,q1) が算出される。そして、5組の対応点ペアがいずれも正しい対応点ペアなのであれば、算出された2つの符号付面積の符号は、互いに同符号となる。
【0081】
そこで基本行列生成装置2000は、5組の対応点ペアから3組の対応点ペアを選び、それらについて上述した符号付面積の算出を行って、算出された2つの符号付面積の符号が等しいか否かを判定する。そして、符号付面積の符号が正しい場合、基本行列生成装置2000は、S210以降の処理を実行する。一方、符号付面積の符号が正しくない場合、基本行列生成装置2000は、基本行列40の生成を行わず、ループ処理L1の先頭に戻る。
図7は、
図6のフローチャートに、符号付面積を利用して基本行列40の生成を行うか否かを判定する処理が加えられたものを例示する図である。当該判定の処理はS302である。
【0082】
ここで、5組の対応点ペアから3組の対応点ペアを選ぶ場合、10通りの選び方がある。基本行列生成装置2000はこれら10通りの選び方のいずれか1つ以上についてそれぞれ、前述した符号付面積の算出を行って、符号が互いに同一であるか否かを判定する。例えば基本行列生成装置2000は、10通り全てについて当該判定を行う。そして、基本行列生成装置2000は、全てのケースにおいて、算出される2つの符号付面積の符号が互いに等しい場合に、基本行列40の生成を行う(S302において、符号付面積の符号が正しいと判定する)。また、例えば、3組の特徴点ペアについて符号付面積の算出を行い、符号が互いに同一である場合のみ、派生点ペアを算出してもよい。この場合、まずS302にて当該判定の処理を行い、YES の場合にのみS208にて派生点ペアを計算し、S210以降の処理を実行する。
【0083】
<<RANSAC 以外の利用>>
基本行列40の精度を高める方法は、RANSAC を利用する方法に限定されない。例えば、RANSAC には様々な派生が存在するため、それらを選択的に組み合わせることが可能である。例えば、PROSAC(Progressive Sample Consensus)を用いる場合、特徴量のマッチングスコアが小さい順に特徴点ペアが選択される。すなわち、S208において、特徴点ペアがランダムに選択される代わりに、特徴量のマッチングスコアが小さい(すなわち、互いの特徴量の類似度合いが大きい)順に特徴点ペアが選択される。
【0084】
その他にも例えば、LO-RANSAC(Locally Optimized RANSAC)を用いてもよい。この場合、S214において、正しい特徴点ペアの個数が最大であると判定された場合(S214:YES)に、対応点ペアを用いて式(2)を解くように構成された生成部2060に処理を実行させてもよいし、M-estimatorなどの重みづけ最小二乗法を用いてもよい。
【0085】
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【0086】
なお、上述の例において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに提供することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD-ROM、CD-R、CD-R/W、半導体メモリ(例えば、マスク ROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM)を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに提供されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【0087】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
第1画像と第2画像から、互いに対応する特徴点のペアである特徴点ペアを3組以上検出する第1検出部と、
2組以上の各前記特徴点ペアについて、その特徴点ペアに含まれる前記第1画像上の点から第1方向に第1距離離れた点と、その特徴点ペアに含まれる前記第2画像上の点から第2方向に第2距離離れた点とのペアである派生点ペアを検出する第2検出部と、
各前記検出された特徴点ペア及び派生点ペアを利用して、前記第1画像上の点と前記第2画像上の点とのエピポーラ制約を表す基本行列を生成する生成部と、を有し、
前記第1方向と前記第1距離はそれぞれ、前記特徴点ペアに含まれる前記第1画像上の点について算出された特徴量に基づいて定まり、
前記第2方向と前記第2距離はそれぞれ、前記特徴点ペアに含まれる前記第2画像上の点について算出された特徴量に基づいて定まる、基本行列生成装置。
(付記2)
前記第1方向と前記第1距離はそれぞれ、前記第1画像上の点について算出されたスケール不変特徴量の主軸方向とスケールの長さに基づいて決定され、
前記第2方向と前記第2距離はそれぞれ、前記第2画像上の点について算出されたスケール不変特徴量の主軸方向とスケールの長さに基づいて決定される、付記1に記載の基本行列生成装置。
(付記3)
前記第1方向と前記第1距離はそれぞれ、前記第1画像上の点について算出されたアフィン不変特徴量の特定の軸方向及びその軸の長さに基づいて決定され、
前記第2方向と前記第2距離はそれぞれ、前記第2画像上の点について算出されたアフィン不変特徴量の特定の軸方向及びその軸の長さに基づいて決定される、付記1に記載の基本行列生成装置。
(付記4)
前記派生点ペアの検出に利用する前記特徴点ペアを変更しながら、前記基本行列の生成を繰り返し行い、生成された複数の前記基本行列のうち、最も精度が高いものを出力する、付記1から3いずれか一項に記載の基本行列生成装置。
(付記5)
前記特徴点ペアもしくは前記特徴点ペアと前記派生点ペアから3つの点を抽出して符号付面積の算出を行い、当該算出された符号付面積の符号に基づいて、前記基本行列の生成を行うか否かを判定する、付記1から4いずれか一項に記載の基本行列生成装置。
(付記6)
コンピュータによって実行される制御方法であって、
第1画像と第2画像から、互いに対応する特徴点のペアである特徴点ペアを3組以上検出する第1検出ステップと、
2組以上の各前記特徴点ペアについて、その特徴点ペアに含まれる前記第1画像上の点から第1方向に第1距離離れた点と、その特徴点ペアに含まれる前記第2画像上の点から第2方向に第2距離離れた点とのペアである派生点ペアを検出する第2検出ステップと、
各前記検出された特徴点ペア及び派生点ペアを利用して、前記第1画像上の点と前記第2画像上の点とのエピポーラ制約を表す基本行列を生成する生成ステップと、を有し、
前記第1方向と前記第1距離はそれぞれ、前記特徴点ペアに含まれる前記第1画像上の点について算出された特徴量に基づいて定まり、
前記第2方向と前記第2距離はそれぞれ、前記特徴点ペアに含まれる前記第2画像上の点について算出された特徴量に基づいて定まる、制御方法。
(付記7)
前記第1方向と前記第1距離はそれぞれ、前記第1画像上の点について算出されたスケール不変特徴量の主軸方向とスケールの長さに基づいて決定され、
前記第2方向と前記第2距離はそれぞれ、前記第2画像上の点について算出されたスケール不変特徴量の主軸方向とスケールの長さに基づいて決定される、付記6に記載の制御方法。
(付記8)
前記第1方向と前記第1距離はそれぞれ、前記第1画像上の点について算出されたアフィン不変特徴量の特定の軸方向及びその軸の長さに基づいて決定され、
前記第2方向と前記第2距離はそれぞれ、前記第2画像上の点について算出されたアフィン不変特徴量の特定の軸方向及びその軸の長さに基づいて決定される、付記6に記載の制御方法。
(付記9)
前記派生点ペアの検出に利用する前記特徴点ペアを変更しながら、前記基本行列の生成を繰り返し行い、生成された複数の前記基本行列のうち、最も精度が高いものを出力する、付記6から8いずれか一項に記載の制御方法。
(付記10)
前記特徴点ペアもしくは前記特徴点ペアと前記派生点ペアから3つの点を抽出して符号付面積の算出を行い、当該算出された符号付面積の符号に基づいて、前記基本行列の生成を行うか否かを判定する、付記6から9いずれか一項に記載の制御方法。
(付記11)
プログラムが格納されているコンピュータ可読媒体であって、
前記プログラムは、コンピュータに、
第1画像と第2画像から、互いに対応する特徴点のペアである特徴点ペアを3組以上検出する第1検出ステップと、
2組以上の各前記特徴点ペアについて、その特徴点ペアに含まれる前記第1画像上の点から第1方向に第1距離離れた点と、その特徴点ペアに含まれる前記第2画像上の点から第2方向に第2距離離れた点とのペアである派生点ペアを検出する第2検出ステップと、
各前記検出された特徴点ペア及び派生点ペアを利用して、前記第1画像上の点と前記第2画像上の点とのエピポーラ制約を表す基本行列を生成する生成ステップと、を実行させ、
前記第1方向と前記第1距離はそれぞれ、前記特徴点ペアに含まれる前記第1画像上の点について算出された特徴量に基づいて定まり、
前記第2方向と前記第2距離はそれぞれ、前記特徴点ペアに含まれる前記第2画像上の点について算出された特徴量に基づいて定まる、コンピュータ可読媒体。
(付記12)
前記第1方向と前記第1距離はそれぞれ、前記第1画像上の点について算出されたスケール不変特徴量の主軸方向とスケールの長さに基づいて決定され、
前記第2方向と前記第2距離はそれぞれ、前記第2画像上の点について算出されたスケール不変特徴量の主軸方向とスケールの長さに基づいて決定される、付記11に記載のコンピュータ可読媒体。
(付記13)
前記第1方向と前記第1距離はそれぞれ、前記第1画像上の点について算出されたアフィン不変特徴量の特定の軸方向及びその軸の長さに基づいて決定され、
前記第2方向と前記第2距離はそれぞれ、前記第2画像上の点について算出されたアフィン不変特徴量の特定の軸方向及びその軸の長さに基づいて決定される、付記11に記載のコンピュータ可読媒体。
(付記14)
前記コンピュータに、前記派生点ペアの検出に利用する前記特徴点ペアを変更しながら、前記基本行列の生成を繰り返し行い、生成された複数の前記基本行列のうち、最も精度が高いものを出力するステップを実行させる、付記11から13いずれか一項に記載のコンピュータ可読媒体。
(付記15)
前記コンピュータに、前記特徴点ペアと前記派生点ペアから3つの点を抽出して符号付面積の算出を行い、当該算出された符号付面積の符号に基づいて、前記基本行列の生成を行うか否かを判定するステップを実行させる、付記11から14いずれか一項に記載のコンピュータ可読媒体。
【符号の説明】
【0088】
10 第1画像
20 第2画像
40 基本行列
500 コンピュータ
502 バス
504 プロセッサ
506 メモリ
508 ストレージデバイス
510 入出力インタフェース
512 ネットワークインタフェース
2000 基本行列生成装置
2020 第1検出部
2040 第2検出部
2060 生成部