[go: up one dir, main page]

JP2015179426A - 情報処理装置、パラメータの決定方法、及びプログラム - Google Patents

情報処理装置、パラメータの決定方法、及びプログラム Download PDF

Info

Publication number
JP2015179426A
JP2015179426A JP2014056813A JP2014056813A JP2015179426A JP 2015179426 A JP2015179426 A JP 2015179426A JP 2014056813 A JP2014056813 A JP 2014056813A JP 2014056813 A JP2014056813 A JP 2014056813A JP 2015179426 A JP2015179426 A JP 2015179426A
Authority
JP
Japan
Prior art keywords
feature point
feature
parameter
image
point
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.)
Ceased
Application number
JP2014056813A
Other languages
English (en)
Inventor
小林 弘幸
Hiroyuki Kobayashi
弘幸 小林
明洋 皆川
Akihiro Minagawa
明洋 皆川
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2014056813A priority Critical patent/JP2015179426A/ja
Publication of JP2015179426A publication Critical patent/JP2015179426A/ja
Ceased legal-status Critical Current

Links

Images

Landscapes

  • Image Processing (AREA)

Abstract

【課題】画像同士の位置合わせに用いる変換モデルのパラメータを精度良く計算すること。
【解決手段】第1画像P1が有する第1特徴点q1と、第2画像P2が有する第2特徴点q2と、第1画像P1上の点を第2画像P2上の対応する点へと変換する変換モデルTMとを記憶する記憶部11と、設定された第1閾値Th1より特徴量が大きい第1及び第2特徴点q1、q2の集合を用いて変換モデルTMに含まれるパラメータAの推定値A1を計算し、第1閾値Th1より小さい第2閾値Th2よりも特徴量が大きく、かつ、推定値A1を適用した変換モデルTMに対する誤差が設定した範囲内にある第1特徴点q1と第2特徴点q2との組を選択し、選択した組毎にパラメータA及び当該パラメータAの評価値を計算し、評価値に基づいてパラメータAを決定する演算部12とを有する、情報処理装置10が提供される。
【選択図】図1

Description

本発明は、情報処理装置、パラメータの決定方法、及びプログラムに関する。
撮像デバイスとして利用できる身近な携帯機器には、例えば、デジタルカメラ、スマートフォン、及び携帯電話などがある。こうした撮像デバイスの処理能力は年々向上しており、最近では撮像デバイスの内部で高度な画像処理を行うことが可能になってきている。例えば、電子式手ぶれ補正の機能やHDR(High Dynamic Range)撮影の機能などは、連続して撮像された複数枚の画像に対する高度な画像処理により実現される。
動画撮影時に適用される電子式手ぶれ補正は、連続する動画フレーム間で被写体の位置がずれないように位置を合わせて表示する技術である。また、静止画撮影時に適用される電子式手ぶれ補正は、速いシャッター速度で連続撮影された複数枚の画像を位置合わせして合成する技術である。また、HDR撮影は、露出を変えて撮像した複数枚の画像を合成して白飛びや黒つぶれの少ない画像を生成する技術である。HDR撮影の場合も画像同士の位置合わせが行われる。
画像同士の位置合わせは、一方の画像に含まれる複数の特徴点と他方の画像に含まれる複数の特徴点とが最も良く適合するように一方の画像を変換する処理に相当する。例えば、手ぶれに伴う画像の並進移動、回転、拡大・縮小などをアフィン変換の変換パラメータで表現し、複数画像の特徴点を用いて変換パラメータを決め、その変換パラメータを適用して画像全体を変換することにより、画像同士の位置合わせが実現される。
変換パラメータを計算する方法としては、例えば、RANSAC(RANdom SAmple Consensus)法がある。但し、RANSAC法による変換パラメータの計算は、ロバスト性に優れる一方で演算量が多い。そのため、RANSAC法に基づく変換パラメータの計算を上記のような撮像デバイスに実行させると処理に時間がかかる。また、考慮する変換の自由度が高く、変換パラメータの種類が多くなるほど、RANSAC法に基づく変換パラメータの計算に長い処理時間がかかる。
このような事情を受け、RANSAC法に基づく変換パラメータの計算を2段階に分けて実行する技術が提案されている。この技術の1段階目では、並進移動に対応する変換パラメータだけを含む変換モデルを用いてRANSAC法により画像同士の位置合わせを行い、許容範囲内で一致する特徴点の組み合わせを抽出する。2段階目では、並進移動や回転に対応する変換パラメータを含む変換モデルを用い、1段階目で抽出した特徴点を利用してRANSAC法により変換パラメータを計算する。
特開2009−122843号公報
上記の技術を適用した場合、計算負荷を低減できる可能性がある。但し、変換パラメータの計算を2段階に分ける技術を適用した場合、回転や拡大・縮小の成分が大きい画像に適用する場合には、1段階目で正しく特徴点の組み合わせが抽出できない可能性がある。この場合、2段階目の処理を実行しても正しい変換パラメータが得られない。また、1段階目の処理に適用する変換パラメータの種類を増加させたり、許容範囲を拡大して1段階目で抽出される特徴点の数を増加させたりすれば、演算量の削減効果が抑制される。つまり、変換パラメータの計算を高速化するに際し、現実的な撮影状況において変換パラメータを精度良く計算することが課題となる。
そこで、1つの側面によれば、本発明の目的は、画像同士の位置合わせに用いる変換モデルのパラメータを精度良く計算することが可能な情報処理装置、パラメータの決定方法、及びプログラムを提供することにある。
本開示の1つの側面によれば、第1画像が有する第1特徴点と、第2画像が有する第2特徴点と、第1画像上の点を第2画像上の対応する点へと変換する変換モデルとを記憶する記憶部と、設定された第1閾値より特徴量が大きい第1及び第2特徴点の集合を用いて変換モデルに含まれるパラメータの推定値を計算し、第1閾値より小さい第2閾値よりも特徴量が大きく、かつ、推定値を適用した変換モデルに対する誤差が設定した範囲内にある第1特徴点と第2特徴点との組を選択し、選択した組毎にパラメータ及び当該パラメータの評価値を計算し、評価値に基づいてパラメータを決定する演算部とを有する、情報処理装置が提供される。
また、本開示の他の1つの側面によれば、第1画像が有する第1特徴点と、第2画像が有する第2特徴点と、第1画像上の点を第2画像上の対応する点へと変換する変換モデルとを記憶する記憶部から、第1特徴点、第2特徴点、及び変換モデルの情報を取得可能なコンピュータが、設定された第1閾値より特徴量が大きい第1及び第2特徴点の集合を用いて変換モデルに含まれるパラメータの推定値を計算し、第1閾値より小さい第2閾値よりも特徴量が大きく、かつ、推定値を適用した変換モデルに対する誤差が設定した範囲内にある第1特徴点と第2特徴点との組を選択し、選択した組毎にパラメータ及び当該パラメータの評価値を計算し、評価値に基づいてパラメータを決定するパラメータの決定方法が提供される。
また、本開示の他の1つの側面によれば、第1画像が有する第1特徴点と、第2画像が有する第2特徴点と、第1画像上の点を第2画像上の対応する点へと変換する変換モデルとを記憶する記憶部から、第1特徴点、第2特徴点、及び変換モデルの情報を取得可能なコンピュータに、設定された第1閾値より特徴量が大きい第1及び第2特徴点の集合を用いて変換モデルに含まれるパラメータの推定値を計算し、第1閾値より小さい第2閾値よりも特徴量が大きく、かつ、推定値を適用した変換モデルに対する誤差が設定した範囲内にある第1特徴点と第2特徴点との組を選択し、選択した組毎にパラメータ及び当該パラメータの評価値を計算し、評価値に基づいてパラメータを決定する処理を実行させる、プログラムが提供される。
本発明によれば、画像同士の位置合わせに用いる変換モデルのパラメータを精度良く計算することが可能になる。
第1実施形態に係る情報処理装置の一例を示した図である。 RANSAC法について説明するための図である。 RANSAC法によるパラメータの計算について処理の流れを示したフロー図である。 RANSAC法によるパラメータの計算を画像処理へと適用する例を示した図である。 第2実施形態に係る情報処理装置が有する機能を実現可能なハードウェアの一例を示した図である。 第2実施形態に係る情報処理装置の機能について説明するためのブロック図である。 第2実施形態に係る特徴点情報の一例を示した図である。 第2実施形態に係る投票数テーブルの一例を示した図である。 第2実施形態に係るカウンタテーブルの一例を示した図である。 第2実施形態に係る前段処理(特徴点ペアの抽出)について説明するための図である。 第2実施形態に係る前段処理(投票処理)について説明するための図である。 第2実施形態に係る前段処理(推定変換行列の決定)について説明するための図である。 第2実施形態に係る後段処理(最大投票数の計算)について説明するための図である。 第2実施形態に係る後段処理(特徴点ペアの抽出)について説明するための図である。 第2実施形態に係る後段処理(変換行列の比較)について説明するための図である。 第2実施形態に係る後段処理(投票処理)について説明するための図である。 第2実施形態に係る後段処理(変換行列の決定)について説明するための図である。 第2実施形態に係る情報処理装置が実行する処理の全体的な流れを示したフロー図である。 第2実施形態に係る情報処理装置が実行する前段処理の流れを示した第1のフロー図である。 第2実施形態に係る情報処理装置が実行する前段処理の流れを示した第2のフロー図である。 第2実施形態に係る情報処理装置が実行する後段処理の流れを示した第1のフロー図である。 第2実施形態に係る情報処理装置が実行する後段処理の流れを示した第2のフロー図である。 第2実施形態に係る情報処理装置が実行する後段処理の流れを示した第3のフロー図である。 第3実施形態に係る後段処理の概要を示した図である。 第3実施形態に係る情報処理装置の機能について説明するためのブロック図である。 第3実施形態に係る許容範囲情報の一例を示した図である。 第3実施形態に係るペアマップリストの一例を示した図である。 第3実施形態に係るペアマップリストの生成方法について説明するための第1の図である。 第3実施形態に係るペアマップリストの生成方法について説明するための第2の図である。 第3実施形態に係る後段処理(変換行列の決定)について説明するための図である。 第3実施形態に係る情報処理装置が実行する後段処理の流れを示した第1のフロー図である。 第3実施形態に係る情報処理装置が実行する後段処理の流れを示した第2のフロー図である。 第3実施形態に係る情報処理装置が実行する後段処理のうち、ペアマップリストの生成に関する処理の流れを示したフロー図である。 第2及び第3実施形態の組み合わせについて説明するための第1の図である。 第2及び第3実施形態の組み合わせについて説明するための第2の図である。 第2及び第3実施形態の組み合わせに係る後段処理の流れを示したフロー図である。
以下に添付図面を参照しながら、本発明の実施形態について説明する。なお、本明細書及び図面において実質的に同一の機能を有する要素については、同一の符号を付することにより重複説明を省略する場合がある。
<1.第1実施形態>
図1を参照しながら、第1実施形態について説明する。図1は、第1実施形態に係る情報処理装置の一例を示した図である。なお、図1に例示した情報処理装置10は、第1実施形態に係る情報処理装置の一例である。
図1に示すように、情報処理装置10は、記憶部11、及び演算部12を有する。
なお、記憶部11は、RAM(Random Access Memory)などの揮発性記憶装置、或いは、HDD(Hard Disk Drive)やフラッシュメモリなどの不揮発性記憶装置である。演算部12は、CPU(Central Processing Unit)やDSP(Digital Signal Processor)などのプロセッサである。但し、演算部12は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの電子回路であってもよい。また、演算部12は、例えば、記憶部11又は他のメモリに記憶されたプログラムを実行する。
記憶部11は、第1画像P1が有する第1特徴点q1と、第2画像P2が有する第2特徴点q2と、第1画像P1上の点を第2画像P2上の対応する点へと変換する変換モデルTMとを記憶する。例えば、第1画像P1、第2画像P2は、連続して撮影された画像である。また、第1特徴点q1は、特徴量が設定した閾値より大きい点である。例えば、第1画像P1の画素毎に特徴量を検出し、検出した特徴量が設定した閾値より大きい画素を抽出することで、第1特徴点q1が得られる。
同様に、第2特徴点q2は、特徴量が設定した閾値より大きい点である。例えば、第2画像P2の画素毎に特徴量を検出し、検出した特徴量が設定した閾値より大きい画素を抽出することで、第2特徴点q2が得られる。特徴量としては、例えば、エッジ検出により得られるエッジの強度(勾配の大きさ)やエッジの方向(勾配方向)がある。勾配方向を利用する場合、注目画素の周囲にある画素のうち注目画素とは勾配方向が異なる画素の数を検出し、その数が設定した閾値より多い注目画素を抽出して特徴点とする。
図1の例では、第1特徴点q1として、第1特徴点q11、q12、…、q16が示されている。第1特徴点q11、q12、q13は、対象物C11の特徴部分を示す特徴点である。また、第1特徴点q14、q15、q16は、対象物C12の特徴部分を示す特徴点である。
また、図1の例では、第2特徴点q2として、第2特徴点q21、q22、…、q26が示されている。第2特徴点q21、q22、q23は、対象物C21の特徴部分を示す特徴点である。また、第2特徴点q24、q25、q26は、対象物C22の特徴部分を示す特徴点である。なお、対象物C11、C21は同じ被写体を表す。また、対象物C12、C22は同じ被写体を表す。但し、図1の例では、第1画像P1の撮影時と第2画像P2の撮影時とで撮影状況(露出の変化や撮影者の手ぶれによる撮像範囲のずれなど)が異なるため、第1特徴点q1と第2特徴点q2とが一致していない。
演算部12は、設定された第1閾値Th1より特徴量が大きい第1特徴点q1及び第2特徴点q2の集合を用いて変換モデルTMに含まれるパラメータAの推定値A1を計算する。変換モデルTMとしては、例えば、アフィン変換の変換モデルなどを適用することが可能である。この場合、パラメータAは、並進移動、回転、拡大・縮小を表す複数のパラメータを含む変換行列となる。
なお、第1特徴点q1及び第2特徴点q2の抽出時に利用した閾値よりも第1閾値Th1を高く設定することで、対象物C11、C12、C21、C22の特徴を表す特徴点としての信頼度が高い第1特徴点q1及び第2特徴点q2の集合が得られる。そのため、第1閾値Th1を利用して特徴点を絞り込む上記の方法を適用すれば、推定値A1の計算に利用する特徴点をランダムに選択する方法に比べて高い推定精度を得ることができる。
推定値A1を計算した演算部12は、第1閾値Th1より小さい第2閾値Th2よりも特徴量が大きく、かつ、推定値A1を適用した変換モデルTMに対する誤差が設定した範囲内にある第1特徴点q1と第2特徴点q2との組を選択する。また、演算部12は、選択した組毎にパラメータA及び当該パラメータAの評価値を計算する。そして、演算部12は、評価値に基づいてパラメータAを決定する。
上記のように、第2閾値Th2が第1閾値Th1より小さいことで、推定値A1の計算に利用した第1特徴点q1及び第2特徴点q2よりも多くの特徴点が選択の対象となる。但し、推定値A1を適用した変換モデルTMに対する誤差が大きい組については評価値の計算が回避される。
上記のように、推定値A1は、特徴量の大きな特徴点を利用して計算されており、すべての第1特徴点q1及び第2特徴点q2を利用して計算したパラメータAの値に近いと考えられる。そのため、誤差の大きい組を利用してパラメータAを計算しても、そのパラメータAの評価値は小さくなり、パラメータAの決定に寄与しない。このように、パラメータAの決定に寄与しない組を候補から除外して評価値の計算を回避することにより、パラメータAの計算精度を維持しつつ、演算量を低減することができる。
なお、上記の誤差は、第1特徴点q1と第2特徴点q2との組から計算されたパラメータAと推定値A1との差や、推定値A1を適用した変換モデルTMを利用して第1特徴点q1を変換した点と第2特徴点q2との距離に基づいて評価することが可能である。また、評価値の計算方法としては、例えば、RANSAC法に基づく計算に利用される投票処理を適用可能である。この場合、評価値は投票数となり、投票数が最大となるパラメータAが決定される。なお、図1の例では、候補となるパラメータAとしてパラメータA21、A22、…が示され、投票によりパラメータA21が決定されている。
以上、第1実施形態について説明した。
<2.第2実施形態>
次に、第2実施形態について説明する。第2実施形態は、RANSAC法に基づく変換パラメータの計算を2段階で実行する方法に関し、計算精度を維持しつつ演算量の削減を実現する仕組みを提案するものである。
[2−1.RANSAC法について]
ここで、図2及び図3を参照しながら、RANSAC法について説明する。なお、図2は、RANSAC法について説明するための図である。また、図3は、RANSAC法によるパラメータの計算について処理の流れを示したフロー図である。
RANSAC法は、多数のデータを良く表す数式モデルを推定する方法の一つである。RANSAC法では、ランダムに取り出したデータの組を用いて数式モデルのパラメータを計算する処理、及びそのパラメータを適用した数式モデルと他のデータとの誤差が許容可能な範囲に含まれるか否かを判定する処理が繰り返し実行される。
データが許容可能な範囲に含まれることをインライヤと呼び、データが許容可能な範囲に含まれないことをアウトライヤと呼ぶ。RANSAC法では、パラメータ毎にインライヤとなるデータの数がカウントされ、カウント数が最も多いパラメータが最適なパラメータに決定される。つまり、決定されたパラメータを適用した数式モデルが、データを良く表す数式モデルの推定結果とされる。
図2には、x−y座標系に配置された複数のデータ(座標点)から数式モデル(y=ax)のパラメータ(a)を推定する方法が例示されている。この例では数式モデルが一次式であるため、2つのデータがあればパラメータを計算することができる。例えば、ランダムに2つのデータ(x1,y1)、(x2,y2)が取り出された場合、パラメータaは、(y2−y1)/(x2−x1)で与えられる。
ランダムに取り出された2つのデータからパラメータaが計算されると、計算されたパラメータaを適用した数式モデル(y=ax)と他のデータとの距離dが計算される。そして、許容範囲(図2の例では2つの鎖線l1、l2間の領域)に含まれるデータの数(インライヤとなるデータの数)がカウントされる。同様に、データの取り出し、パラメータaの計算、及びインライヤとなるデータ数のカウントが繰り返し実行され、最大カウント数のパラメータaが最適なパラメータに決定される。
なお、データの取り出し、パラメータaの計算、及びインライヤとなるデータ数のカウントを繰り返す回数は、下記の式(1)で与えられるサンプリング回数T以上に設定される。但し、Fは数式モデルの自由度を表し、Eはアウトライヤとなるデータの割合を表し、Pは正しい数式モデルが得られる確率を表す。つまり、繰り返し回数をT以上にすれば、確率P以上で正しい数式モデルが得られる。
Figure 2015179426
パラメータを推定する方法の一つである最小二乗法の場合、アウトライヤとなるデータがパラメータの推定結果に影響を与えてしまう。一方、RANSAC法の場合、インライヤとなるデータを用いてパラメータが推定されるため、アウトライヤとなるデータがパラメータの推定結果に影響を及ぼさないという利点がある。
ここで、図3を参照しながら、RANSAC法によるパラメータの計算について処理の流れを説明する。
図3に示すように、まず、ランダムに2つのデータが選択される(S11)。次いで、S11で選択されたデータを用いてパラメータが計算される(S12)。次いで、S11で選択されたデータを除く残りのデータから1つのデータが抽出される(S13)。次いで、S13で抽出されたデータがインライヤか否かが判定される(S14)。インライヤである場合、処理はS15へと進む。一方、アウトライヤである場合、処理はS16へと進む。
処理がS15へと進んだ場合、S12で計算されたパラメータに対する投票が行われる(S15)。つまり、パラメータ毎に投票数が設定されており、S12で計算されたパラメータの投票数が1増加する。S15の処理が完了すると、処理はS16へと進む。
処理がS16へと進んだ場合、S11で選択されたデータを除く残りのデータがすべてS13で抽出されたか否かが判定される(S16)。残りのデータがすべてS13で抽出されている場合、処理はS17へと進む。一方、S13で抽出されていないデータがある場合、処理はS13へと進む。
処理がS17へと進んだ場合、S11からS17へと至る一連の処理がT回実行されたか(T回ループしたか)が判定される(S17)。ループ回数を示すTは、例えば、上記の式(1)により与えられる。T回ループした場合、処理はS18へと進む。一方、T回ループしていない場合、処理はS11へと進む。
処理がS18へと進んだ場合、投票数が最大のパラメータが出力される(S18)。つまり、インライヤとなるデータの数が最大となるパラメータが出力される。S18の処理が完了すると、図3に示した一連の処理は終了する。
上記のように、RANSAC法による計算処理は、S11からS17へと至る外側のループ処理と、S13からS16へと至る内側のループ処理とを含む。内側のループ処理は、パラメータの計算に利用していないすべてのデータを対象に、インライヤとなるか否かの判定を実行して投票を行う処理(以下、投票処理)である。そのため、データの数が増加すると投票処理を実行する回数が飛躍的に増大する。第2実施形態では、計算精度を維持しつつ投票処理の実行回数を低減する仕組みを提案する。
(画像処理への適用例)
ここで、図4を参照しながら、RANSAC法によるパラメータの計算を画像処理へと適用する例について説明する。図4は、RANSAC法によるパラメータの計算を画像処理へと適用する例を示した図である。
画像処理技術としては、複数の画像を利用して画質を向上させる技術や、複数の画像を照合して認証を行う技術などがある。例えば、動画撮影時に適用される電子式手ぶれ補正は、動画フレーム間で位置合わせを行い、重なる領域をクロップして表示することにより手ぶれによる表示画像の乱れを抑制する技術である。また、静止画撮影時に適用される電子式手ぶれ補正は、速いシャッター速度で複数枚の画像を撮像し、画像同士の位置を合わせて合成した上で重なる領域をクロップすることにより、手ぶれや被写体ぶれによる画像の乱れを抑制する技術である。
また、HDR撮影は、露出の異なる複数の画像を連続して撮影し、画像同士の位置を合わせて合成した上で重なる領域をクロップすることにより、露光不足や露光過多による白飛びや黒つぶれを抑制したダイナミックレンジの広い画像を生成する技術である。また、静脈認証、光彩認証、顔認証などの認証技術は、テンプレート画像と撮像画像とを照合して本人確認を行う技術である。
上記のような画像処理技術は、いずれも画像同士の位置合わせを利用する。なお、ここで言う画像同士の位置合わせとは、対象となる画像間における並進移動、回転、拡大・縮小などを補正することである。例えば、連続して撮像された画像であっても、被写体ぶれや手ぶれなどの影響で画像間に様々なずれが生じる。ずれが生じた状態で画像同士を重ね合わせても画質の向上や認証精度の向上などの効果は得られない。そこで、画像同士の位置合わせを実行してから表示、合成、認証などの各種処理が実行される。
図4には、連続して撮像された2つの画像P1、P2を合成する処理の流れが例示されている。図4の例では、画像P1に4つの特徴点q10、…、q13が含まれ、画像P2に4つの特徴点q20、…、q23が含まれている。画像P1の座標と画像P2の座標との関係は、例えば、アフィン変換の変換モデル(下記の式(2)を参照)により表現できる。但し、(x1,y1)は画像P1上の座標である。また、(x2,y2)は画像P2上の座標である。また、w11、w12、…、w23は変換パラメータである。
Figure 2015179426
上記の変換モデルにより画像P1に含まれる各画素の座標変換を行えば、画像P2との位置合わせが実現される。例えば、画像P1を座標変換した画像を画像P3とすると、2つの画像P2、P3を合成することで高画質な画像P4が得られる。このような画像の合成を精度良く行うには、上記の変換パラメータw11、w12、…、w23を精度良く求めることが大事になる。そのため、変換パラメータw11、w12、…、w23の計算に対してロバスト性に優れるRANSAC法を適用することは好適である。
RANSAC法を適用する場合、特徴点q10、…、q22からランダムに取り出した特徴点の組み合わせを用いて変換パラメータw11、w12、…、w23が計算され、上述した投票処理が実行される。また、変換パラメータw11、w12、…、w23の計算及び投票処理が繰り返し行われ、最大の投票数を得た変換パラメータw11、w12、…、w23が画像P1の座標変換に利用される。但し、実際に画像に含まれる特徴点の数は多いため、第2実施形態では演算量を削減する仕組みを提案する。
(その他の適用例)
RANSAC法によるパラメータの計算は、画像処理以外の用途にも利用可能である。例えば、声紋認証や音声解析などを行う際に音声データの特徴点をマッチングさせる用途で利用できる。この場合、2つの音声データに含まれる特徴点が抽出され、特徴点間の関係を表現した変換モデルのパラメータがRANSAC法により計算される。以下では、説明の都合上、画像同士の位置合わせを想定して説明を進めるが、第2実施形態に係る技術の適用範囲はこれに限定されず、RANSAC法を適用可能な任意の分野に及ぶ。
以上、RANSAC法について説明した。
[2−2.ハードウェア]
次に、図5を参照しながら、第2実施形態に係る変換パラメータの計算方法を実現可能な情報処理装置100のハードウェアについて説明する。なお、情報処理装置100は、第2実施形態に係る情報処理装置の一例である。また、図5は、第2実施形態に係る情報処理装置が有する機能を実現可能なハードウェアの一例を示した図である。
後述する情報処理装置100の機能は、例えば、図5に示す情報処理装置のハードウェア資源を用いて実現することが可能である。つまり、情報処理装置100が有する機能は、コンピュータプログラムを用いて図5に示すハードウェアを制御することにより実現される。
図5に示すように、このハードウェアは、主に、CPU902と、ROM(Read Only Memory)904と、RAM906と、ホストバス908と、ブリッジ910とを有する。さらに、このハードウェアは、外部バス912と、インターフェース914と、入力部916と、出力部918と、記憶部920と、ドライブ922と、接続ポート924と、通信部926とを有する。
CPU902は、例えば、演算処理装置又は制御装置として機能し、ROM904、RAM906、記憶部920、又はリムーバブル記録媒体928に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。ROM904は、CPU902に読み込まれるプログラムや演算に用いるデータなどを格納する記憶装置の一例である。RAM906には、例えば、CPU902に読み込まれるプログラムや、そのプログラムを実行する際に変化する各種パラメータなどが一時的又は永続的に格納される。
これらの要素は、例えば、高速なデータ伝送が可能なホストバス908を介して相互に接続される。一方、ホストバス908は、例えば、ブリッジ910を介して比較的データ伝送速度が低速な外部バス912に接続される。また、入力部916としては、例えば、マウス、キーボード、タッチパネル、タッチパッド、ボタン、スイッチ、及びレバーなどが用いられる。さらに、入力部916としては、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントローラが用いられることもある。
出力部918としては、例えば、CRT(Cathode Ray Tube)、LCD(Liquid Crystal Display)、PDP(Plasma Display Panel)、又はELD(Electro-Luminescence Display)などのディスプレイ装置が用いられる。また、出力部918として、スピーカやヘッドホンなどのオーディオ出力装置、又はプリンタなどが用いられることもある。つまり、出力部918は、情報を視覚的又は聴覚的に出力することが可能な装置である。
記憶部920は、各種のデータを格納するための装置である。記憶部920としては、例えば、HDDなどの磁気記憶デバイスが用いられる。また、記憶部920として、SSD(Solid State Drive)やRAMディスクなどの半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイスなどが用いられてもよい。
ドライブ922は、着脱可能な記録媒体であるリムーバブル記録媒体928に記録された情報を読み出し、又はリムーバブル記録媒体928に情報を書き込む装置である。リムーバブル記録媒体928としては、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどが用いられる。
接続ポート924は、例えば、USB(Universal Serial Bus)ポート、IEEE1394ポート、SCSI(Small Computer System Interface)、RS−232Cポート、又は光オーディオ端子など、外部接続機器930を接続するためのポートである。外部接続機器930としては、例えば、プリンタなどが用いられる。
通信部926は、ネットワーク932に接続するための通信デバイスである。通信部926としては、例えば、有線又は無線LAN(Local Area Network)用の通信回路、WUSB(Wireless USB)用の通信回路、光通信用の通信回路やルータ、ADSL(Asymmetric Digital Subscriber Line)用の通信回路やルータ、携帯電話ネットワーク用の通信回路などが用いられる。通信部926に接続されるネットワーク932は、有線又は無線により接続されたネットワークであり、例えば、インターネット、LAN、放送網、衛星通信回線などを含む。
以上、情報処理装置100のハードウェアについて説明した。
[2−3.情報処理装置の機能]
次に、図6を参照しながら、情報処理装置100の機能について説明する。図6は、第2実施形態に係る情報処理装置の機能について説明するためのブロック図である。なお、以下の説明において、適宜、図7〜図17を参照する。
図6に示すように、情報処理装置100は、記憶部101、撮像部102、特徴点抽出部103、前段処理部104、後段処理部105、及び画像処理部106を有する。
なお、記憶部101の機能は、上述したRAM906や記憶部920などを用いて実現できる。特徴点抽出部103、前段処理部104、後段処理部105、及び画像処理部106の機能は、上述したCPU902などを用いて実現できる。
(記憶部101)
記憶部101には、特徴点情報101a、モデル情報101b、投票数テーブル101c、及びカウンタテーブル101dが格納される。特徴点情報101aは、画像から抽出された特徴点に関する情報である。モデル情報101bは、画像の位置合わせに利用する変換モデルに関する情報である。投票数テーブル101c、カウンタテーブル101dは、投票処理の中で投票数を管理するために利用されるテーブルである。
ここで、図7を参照しながら、特徴点情報101aについて、さらに説明する。図7は、第2実施形態に係る特徴点情報の一例を示した図である。
図7の例では、位置合わせの対象となる2つの画像P1、P2それぞれから抽出された特徴点に関する情報(座標、特徴量)が特徴点情報101aに含まれている。なお、画像P1の特徴点と画像P2の特徴点とは対応付けられていない。特徴量としては、例えば、エッジ検出により得られるエッジの強度(勾配の大きさ)やエッジの方向(勾配方向)がある。エッジの方向を示す特徴量は、例えば、注目画素の周囲にある画素のうち注目画素とは勾配方向が異なる画素の数に基づく指標で表現される。
ここで、モデル情報101bについて、さらに説明する。
モデル情報101bには、変換モデルを表現する数式及び変換パラメータの情報が含まれる。変換モデルとしては、例えば、上記の式(1)で表現されるアフィン変換の変換モデルなどが適用可能である。アフィン変換の場合、変換パラメータは変換行列の形式で表現される。この変換行列は6つの変換パラメータを含む。そのため、画像P1の特徴点と画像P2の特徴点とのペア(以下、特徴点ペア)を3組用意すれば変換行列を計算することができる。
ここで、図8を参照しながら、投票数テーブル101cについて、さらに説明する。図8は、第2実施形態に係る投票数テーブルの一例を示した図である。
図8に示すように、投票数テーブル101cは、変換行列の計算に利用した特徴点ペアと、計算した変換行列に含まれるパラメータと、投票処理の中で当該パラメータに投票された投票数とを対応付けるテーブルである。例えば、図8の例では、3組の特徴点ペア(q14,q22)、(q13,q22)、(q11,q27)について変換パラメータ(0.31,0.26,0.61,0.18,0.53,0.12)が得られている。また、この変換パラメータに対して投票数(10)が対応付けられている。
ここで、図9を参照しながら、カウンタテーブル101dについて、さらに説明する。図9は、第2実施形態に係るカウンタテーブルの一例を示した図である。
図9に示すように、カウンタテーブル101dは、一方の画像に含まれる特徴点と、カウンタ値とを対応付けるテーブルである。図9の例では、画像P1の特徴点q10、q11、…、q1nのそれぞれと、カウンタ値とが対応付けられている。カウンタ値は、投票処理の中でインライヤと判定された特徴点ペアに含まれる特徴点をカウントした値である。カウンタテーブル101dは、投票処理を実行する際にインライヤか否かの判定を行う特徴点の選択順序を制御する際に利用される。
(撮像部102、特徴点抽出部103)
再び図6を参照する。撮像部102は、カメラ機能を提供する要素であり、画像を撮像する。例えば、撮像部102は、光学系、撮像素子、アナログ/デジタル変換回路、及び制御回路などを含む。撮像部102により撮像された画像(以下、画像P1、P2)は、記憶部101に格納されると共に、特徴点抽出部103に入力される。特徴点抽出部103は、入力された画像P1、P2のそれぞれから特徴点を抽出し、特徴点情報101aを生成する。特徴点抽出部103により生成された特徴点情報101aは記憶部101に格納される。
(前段処理部104)
前段処理部104は、特徴量の大きな特徴点を用いて変換行列の推定値(以下、推定変換行列)を計算する。なお、以下では、前段処理部104が実行する処理を「前段処理」と呼ぶ場合がある。前段処理を実行するために、前段処理部104は、図6に示すように、パラメータ計算部141、及び投票処理部142を含む。
パラメータ計算部141は、記憶部101に格納された特徴点情報101aを参照し、画像P1から抽出された特徴点のうち、特徴量が大きい順に予め設定された数(X個)の特徴点を抽出する。また、パラメータ計算部141は、画像P2から抽出された特徴点のうち、特徴量が大きい順に予め設定された数(X個)の特徴点を抽出する。そして、パラメータ計算部141は、抽出した特徴点から特徴点ペアを選択し、変換モデルに含まれる変換行列を計算する。
パラメータ計算部141は、選択した特徴点ペアの情報と、計算した変換行列の変換パラメータとを投票数テーブル101cに記録する。また、パラメータ計算部141により計算された変換行列は、投票処理部142に入力される。投票処理部142は、パラメータ計算部141により画像P1について抽出されたX個の特徴点のうち、入力された変換行列の計算に利用されていない特徴点を順次選択し、選択した特徴点がインライヤであるか否かを判定する。
例えば、投票処理部142は、入力された変換行列を用いて、選択した画像P1の特徴点を変換し、変換後の点を基準とする許容範囲内に画像P2の特徴点が存在するか否かを判定する。許容範囲内に画像P2の特徴点が存在する場合、投票処理部142は、選択した画像P1の特徴点がインライヤであると判定する。なお、投票処理部142は、変換後の点と画像P2の特徴点との最短距離が許容範囲内にあるか否かを判定し、最短距離が許容範囲内にある場合にインライヤであると判定してもよい。
投票処理部142は、インライヤと判定する度に、入力された変換行列の変換パラメータに投票する。つまり、投票処理部142は、インライヤと判定した場合に、入力された変換行列の変換パラメータに対応する投票数テーブル101cの投票数を設定した数(例えば、1)だけ増加させる。X個の特徴点すべてについて上記の判定が終了した場合、投票処理部142は、入力された変換行列に関する投票処理の終了をパラメータ計算部141に通知する。この通知を受けたパラメータ計算部141は、未選択の特徴点ペアを選択し、変換モデルに含まれる変換行列を計算する。
パラメータ計算部141は、選択した特徴点ペアの情報と、計算した変換行列の変換パラメータとを投票数テーブル101cに記録する。また、パラメータ計算部141により計算された変換行列は、投票処理部142に入力される。投票処理部142は、パラメータ計算部141により画像P1について抽出されたX個の特徴点のうち、入力された変換行列の計算に利用されていない特徴点を順次選択し、選択した特徴点がインライヤであるか否かを判定する。そして、投票処理部142は、インライヤと判定する度に、入力された変換行列の変換パラメータに投票する。
上記と同様に、パラメータ計算部141は、画像P1、P2からX個ずつ抽出された特徴点から順次特徴点ペアを選択して変換行列を計算する。そして、投票処理部142は、計算された変換行列に対して投票処理を実行する。特徴点ペアとして抽出可能なすべての組み合わせを選択し終えた場合、前段処理部104は、投票数テーブル101cを参照し、投票数が最大の変換行列(推定変換行列)を抽出する。前段処理部104により抽出された推定変換行列の情報は、記憶部101に格納されると共に、後段処理部105に入力される。
(後段処理部105)
後段処理部105は、記憶部101に格納された特徴点情報101aに含まれる特徴点のうち、推定変換行列の計算に利用した特徴点の数よりも多くの特徴点を利用して画像P1、P2の位置合わせに用いる変換行列を計算する。このとき、後段処理部105は、推定変換行列に基づいて、変換行列の計算に用いる特徴点ペアを絞り込む。なお、以下では、後段処理部105が実行する処理を「後段処理」と呼ぶ場合がある。後段処理を実行するために、後段処理部105は、図6に示すように、パラメータ計算部151、候補抽出部152、及び投票処理部153を含む。
パラメータ計算部151は、記憶部101に格納された特徴点情報101aを参照し、画像P1から抽出された特徴点と、画像P2から抽出された特徴点とのペアである特徴点ペアをランダムに選択し、変換モデルに含まれる変換行列を計算する。このとき、パラメータ計算部151は、記憶部101に格納されたカウンタテーブル101dを参照し、投票数が最小の特徴点から順に特徴点を選択してもよい。パラメータ計算部151により計算された変換行列は、候補抽出部152に入力される。
また、パラメータ計算部151は、選択した特徴点ペアの情報と、計算した変換行列の変換パラメータとを投票数テーブル101cに記録する。このとき、パラメータ計算部151は、推定変換行列の計算時に前段処理部104が利用した投票数テーブル101cとは異なる投票数テーブル101cを用意し、用意した投票数テーブル101cに特徴点ペアの情報と変換パラメータとを記録する。
候補抽出部152は、入力された変換行列と推定変換行列との誤差を計算し、誤差が許容範囲内であるか否かを判定する。例えば、候補抽出部152は、変換パラメータの種類(回転、並進移動、拡大・縮小など)毎に、入力された変換行列に含まれる変換パラメータと、推定変換行列に含まれる変換パラメータとの差(差分絶対値など)を計算する。そして、候補抽出部152は、計算した差が予め設定された許容値より小さいか否かを判定する。但し、上記の許容値は、変換パラメータの種類毎に設定される。
誤差が許容範囲内である場合、候補抽出部152は、入力された変換行列を投票処理部153に入力する。この場合、誤差が許容範囲内であると判定された変換行列について、後述する投票処理部153による投票処理が実行される。一方、誤差が許容範囲外である場合、候補抽出部152は、誤差が許容範囲外である旨をパラメータ計算部151に通知する。この場合、誤差が許容範囲外であると判定された変換行列について、後述する投票処理部153による投票処理は実行されない。
変換行列が入力された投票処理部153は、画像P1から抽出された特徴点のうち、入力された変換行列の計算に利用されていない特徴点を順次選択し、選択した特徴点がインライヤであるか否かを判定する。
例えば、投票処理部153は、入力された変換行列を用いて、選択した画像P1の特徴点を変換し、変換後の点を基準とする許容範囲内に画像P2の特徴点が存在するか否かを判定する。許容範囲内に画像P2の特徴点が存在する場合、投票処理部153は、選択した画像P1の特徴点がインライヤであると判定する。なお、投票処理部153は、変換後の点と画像P2の特徴点との最短距離が許容範囲内にあるか否かを判定し、最短距離が許容範囲内にある場合にインライヤであると判定してもよい。
投票処理部153は、インライヤと判定する度に、入力された変換行列の変換パラメータに投票する。つまり、投票処理部153は、インライヤと判定した場合に、入力された変換行列の変換パラメータに対応する投票数テーブル101cの投票数を設定した数(例えば、1)だけ増加させる。さらに、投票処理部153は、インライヤと判定した場合に、入力された変換行列の計算に利用された特徴点ペアに含まれる画像P1の特徴点について、カウンタテーブル101dのカウント値を増加させる。
すべての特徴点について上記の判定が終了した場合、投票処理部153は、入力された変換行列に関する投票処理の終了をパラメータ計算部151に通知する。この通知を受けたパラメータ計算部151は、未選択の特徴点ペアを選択し、変換モデルに含まれる変換行列を計算する。
パラメータ計算部151は、選択した特徴点ペアの情報と、計算した変換行列の変換パラメータとを投票数テーブル101cに記録する。また、パラメータ計算部151により計算された変換行列は、候補抽出部152に入力される。候補抽出部152は、入力された変換行列に対する判定処理を実行する。投票処理部153は、変換行列が入力された場合に、入力された変換行列の計算に利用されていない特徴点を順次選択し、選択した特徴点がインライヤであるか否かを判定する。そして、投票処理部153は、インライヤと判定する度に、入力された変換行列の変換パラメータに投票する。
上記と同様に、パラメータ計算部151は、画像P1、P2から抽出された特徴点から順次特徴点ペアを選択して変換行列を計算する。そして、候補抽出部152は、選択された変換行列に対する判定処理を実行する。また、投票処理部153は、変換行列が入力された場合に、計算された変換行列に対して投票処理を実行する。これらの処理が予め設定された回数(例えば、上記の式(1)で与えられるT)実行された場合、後段処理部105は、投票数テーブル101cを参照し、投票数が最大の変換行列を抽出する。
後段処理部105により抽出された変換行列の情報は、画像処理部106に入力される。画像処理部106は、入力された変換行列を用いて画像P1に含まれる画素の座標変換を実行する。そして、画像処理部106は、変換後の画像P1、及び画像P2を利用して予め設定された画像処理を実行する。例えば、画像処理部106は、電子式手ぶれ補正、HDR画像の生成、各種の認証処理などを実行する。
(前段処理:推定変換行列の計算)
ここで、図10〜図12を参照しながら、前段処理について、さらに説明する。
なお、図10は、第2実施形態に係る前段処理(特徴点ペアの抽出)について説明するための図である。また、図11は、第2実施形態に係る前段処理(投票処理)について説明するための図である。また、図12は、第2実施形態に係る前段処理(推定変換行列の決定)について説明するための図である。
図10に示すように、画像P1からn個(例えば、n=100)の特徴点q10、q11、…、q1nが検出され、画像P2からm個(例えば、m=80)の特徴点q20、q21、…、q2mが検出されている場合について考える。この場合、パラメータ計算部141は、画像P1から検出された特徴点のうち、特徴量が大きい順にX個(図10の例ではX=10)の特徴点を抽出する。また、パラメータ計算部141は、画像P2から検出された特徴点のうち、特徴量が大きい順にX個(図10の例ではX=10)の特徴点を抽出する。
特徴量の大きな特徴点は、特徴点としての信頼性が高い特徴点である。また、特徴量の大きな特徴点を抽出することは、特徴点の選択基準となる閾値を上げることに相当する。上記のように、特徴点の数を減らすことで、画像P1の特徴点と画像P2の特徴点とを組み合わせて特徴点ペアを生成する際、組み合わせ数を大幅に低減することが可能になる。考え得る特徴点ペアの数が少なくなれば、投票処理部142による投票処理の実行回数が少なくなり、処理負荷が低減される。
パラメータ計算部141は、抽出した特徴点の中から特徴点の組み合わせを選択して、変換行列を計算するに足りる数の特徴点ペアを生成する。上記の式(2)で与えられるアフィン変換の変換モデルを利用する場合、少なくとも3組の特徴点ペアを利用すれば変換行列を計算することが可能である。そのため、図10には、3組の特徴点ペアを生成する例を示した。なお、特徴点を抽出する際、特徴点間の距離を考慮してもよい。特徴点間の距離を考慮する方法については後段において述べる。
上記のように特徴点ペアを生成した後、パラメータ計算部141は、図11に示すように、生成した特徴点ペアを利用して変換行列を計算する。なお、i番目に生成された特徴点ペアに対応する変換行列をRi(i=1,2,…)と表記する。つまり、パラメータ計算部141は、変換行列Riの変換パラメータr11、r12、…、r23を計算する。計算された変換行列Riは、投票処理部142による投票処理に利用される。
投票処理部142は、パラメータ計算部141により抽出された画像P1の特徴点から1つずつ特徴点を選択し、選択した特徴点の座標を変換行列Riにより変換する。そして、投票処理部142は、変換後の座標と画像P2の特徴点とが許容範囲内にあるか否かを判定する。
図11の例では、画像P1の特徴点q15に対応する変換後の座標aと、画像P2の特徴点q27とが許容範囲内に収まっている。画像P1の特徴点q17についても同様である。一方、画像P1の特徴点q16に対応する変換後の座標bを基準とする許容範囲内には画像P2の特徴点が存在しない。この場合、特徴点q15、q17はインライヤであると判定され、特徴点q16はアウトライヤであると判定される。インライヤと判定した場合、投票処理部142は、変換行列Riの投票数を増加させる。
パラメータ計算部141により抽出された画像P1の特徴点(X個)をすべて選択し終えた場合、投票処理部142は、変換行列Riに対する投票処理の完了をパラメータ計算部141に通知する。この通知を受けたパラメータ計算部141は、他の特徴点ペアを生成する。そして、再び投票処理部142による投票処理が実行される。図12に示すように、特徴点ペアの抽出、及び投票処理が繰り返し実行される。例えば、取り得るすべての特徴点ペアについて処理が完了するまで処理が繰り返し実行される。但し、繰り返し回数が予め設定されていてもよい。
繰り返し処理が完了すると、図12に示すような投票数テーブル101cが得られる。図12の例では、変換パラメータに対応する変換行列の情報を併せて記載している。例えば、投票処理部142は、投票数テーブル101cのレコードを投票数が多い順にソートし、最上位に位置するレコードに対応する変換行列を抽出する。図12の例では、変換行列R3が最大投票数に対応する。そして、投票処理部142は、抽出した変換行列(図12の例ではR3)を推定変換行列Rに設定する。推定変換行列Rの設定が完了すると、前段処理は終了する。
(後段処理:変換行列の決定)
次に、図13〜図17を参照しながら、後段処理について、さらに説明する。
なお、図13は、第2実施形態に係る後段処理(最大投票数の計算)について説明するための図である。また、図14は、第2実施形態に係る後段処理(特徴点ペアの抽出)について説明するための図である。また、図15は、第2実施形態に係る後段処理(変換行列の比較)について説明するための図である。また、図16は、第2実施形態に係る後段処理(投票処理)について説明するための図である。また、図17は、第2実施形態に係る後段処理(変換行列の決定)について説明するための図である。
図13に示すように、後段処理部105は、処理の過程で参照する指標(最大投票数)の初期値を計算する。この指標は、最終的に採用されない変換行列に対する投票処理を途中で判定するために利用される。例えば、現時点で投票数が最大となる変換行列があり、他の変換行列に対する投票処理の中でインライヤとなる特徴点の数が、現時点で最大の投票数を下回ることが確定した場合、他の変換行列は最終的に採用されない。この場合、他の変換行列に対する投票処理を継続しても無駄である。そこで、無駄な処理を省くために上記の指標(最大投票数)を導入する。
投票処理部153は、画像P1の特徴点から1つずつ特徴点を選択し、選択した特徴点の座標を推定変換行列Rにより変換する。このとき、投票処理部153により選択される特徴点は、前段処理で利用されたX個の特徴点に制限されず、画像P1から抽出された特徴点すべて、又はX個以上の特徴点が利用される。投票処理部153は、変換後の座標と画像P2の特徴点とが許容範囲内にあるか否かを判定する。
図13の例では、画像P1の特徴点q15に対応する変換後の座標aと、画像P2の特徴点q27とが許容範囲内に収まっている。画像P1の特徴点q17についても同様である。一方、画像P1の特徴点q16に対応する変換後の座標bを基準とする許容範囲内には画像P2の特徴点が存在しない。この場合、特徴点q15、q17はインライヤであると判定され、特徴点q16はアウトライヤであると判定される。インライヤと判定した場合、投票処理部153は、最大投票数を増加させる。
最大投票数が計算された後、パラメータ計算部151は、図14に示すように、画像P1、P2の特徴点から特徴点の組み合わせをランダムに選択して、変換行列を計算するに足りる数の特徴点ペアを生成する。但し、パラメータ計算部151は、推定変換行列Rの計算に利用した特徴点ペアとは異なる特徴点ペアを生成する。
特徴点ペアを生成した後、パラメータ計算部151は、図15に示すように、生成した特徴点ペアを利用して変換行列を計算する。なお、i番目に生成された特徴点ペアに対応する変換行列をHi(i=1,2,…)と表記する。つまり、パラメータ計算部151は、変換行列Hiの変換パラメータh11、h12、…、h23を計算する。計算された変換行列Hiは、候補抽出部152により利用される。
候補抽出部152は、推定変換行列Rの変換パラメータr11、r12、…、r23と、変換行列Hiの変換パラメータh11、h12、…、h23との差|rk−hk|(但し、k=11,12,…,23)をそれぞれ計算する。
また、候補抽出部152は、計算した差|rk−hk|が予め設定された閾値Thkより小さいか否かを判定する。計算した差|rk−hk|が閾値Thkより小さい場合、候補抽出部152は、変換行列Hiを候補として投票処理部153に入力する。この場合、変換行列Hiは投票処理部153による投票処理に利用される。一方、計算した差|rk−hk|が閾値Thkより小さくない場合、候補抽出部152は、変換行列Hiを候補外とし、投票処理部153に入力しない。この場合、変換行列Hiは投票処理部153による投票処理に利用されない。
変換行列Hiが投票処理部153に入力された場合、投票処理部153は、画像P1の特徴点から1つずつ特徴点を選択し、選択した特徴点の座標を変換行列Hiにより変換する。このとき、投票処理部153により選択される特徴点は、前段処理で利用されたX個の特徴点に制限されず、画像P1から抽出された特徴点すべて、又はX個以上の特徴点が利用される。このとき、投票処理部153は、カウンタテーブル101dを参照し、投票数が小さい順に特徴点を選択する。また、投票処理部153は、変換後の座標と画像P2の特徴点とが許容範囲内にあるか否かを判定する。
図16の例では、画像P1の特徴点q15に対応する変換後の座標aと、画像P2の特徴点q27とが許容範囲内に収まっている。画像P1の特徴点q17についても同様である。一方、画像P1の特徴点q16に対応する変換後の座標bを基準とする許容範囲内には画像P2の特徴点が存在しない。この場合、特徴点q15、q17はインライヤであると判定され、特徴点q16はアウトライヤであると判定される。
インライヤと判定した場合、投票処理部153は、変換行列Hiに対する投票数を増加させる。さらに、投票処理部153は、変換行列Hiの計算に利用した特徴点ペアに含まれる画像P1の特徴点についてカウンタテーブル101dのカウント値を増加させ、カウンタテーブル101dを更新する。
また、投票処理部153は、現時点でアウトライヤと判定された特徴点の数をカウントする。現時点の最大投票数をNmaxとし、推定変換行列Rの計算に利用した画像P1の特徴点数をdとした場合に、投票処理部153は、アウトライヤと判定された特徴点の数が(n−d−Nmax)より大きいか否かを判定する。アウトライヤと判定された特徴点の数が(n−d−Nmax)より大きい場合、投票処理部153は、変換行列Hiに対する投票処理の中止をパラメータ計算部151に通知する。
また、画像P1の特徴点をすべて選択し終えた場合、投票処理部153は、変換行列Hiに対する投票処理の完了をパラメータ計算部151に通知する。完了又は中止の通知を受けたパラメータ計算部151は、他の特徴点ペアを生成する。そして、再び候補抽出部152、投票処理部153による処理が実行される。図17に示すように、特徴点ペアの抽出、変換行列の比較、及び投票処理が繰り返し実行される。例えば、予め設定された繰り返し回数(例えば、上記の式(1)で与えられるT)だけ処理が実行される。
繰り返し処理が完了すると、図17に示すような投票数テーブル101cが得られる。図17の例では、変換パラメータに対応する変換行列の情報を併せて記載している。例えば、投票処理部153は、投票数テーブル101cのレコードを投票数が多い順にソートし、最上位に位置するレコードに対応する変換行列を抽出する。図17の例では、変換行列H9が最大投票数に対応する。そして、投票処理部153は、抽出した変換行列(図17の例ではH9)を画像P1の変換に利用する変換行列Hに設定する。変換行列Hの設定が完了すると、後段処理は終了する。
(変形例:前段処理で特徴点間の距離を考慮する方法)
ここで、特徴点間の距離を考慮して前段処理に利用する特徴点ペアを抽出する方法(変形例)について、さらに説明する。
前処理の中で特徴量が大きい順にX個の特徴点を抽出する方法については既に説明した。ここでは、特徴量の大きさだけでなく、特徴点間の距離が離れているものを優先的に抽出する方法について説明する。
例えば、前段処理部104は、特徴量が大きい順にY個(Y>X)の特徴点を抽出し、抽出した特徴点の中から、他の特徴点との間の最短距離が長いものを順に選択してX個の特徴点を抽出する。他の例として、注目する画素と周囲の画素との間の距離が大きいほど値が大きくなる重み値を用いて注目する画素の特徴量に重み付けした上で、重み付き特徴量が大きい順にX個の特徴点を抽出する方法も考えられる。さらに他の例として、画像を複数の分割領域に分け、分割領域毎に特徴量が大きい順にZ個(但し、X=分割領域数×Z)の特徴点を選ぶ方法も考えられる。
上記の方法を適用すれば、画像の全体に広く分散している特徴点が優先的に抽出されるため、特徴量の大きな特徴点が局所的に集まっている画像を対象とする場合でも量子誤差を少なくする効果が期待できる。さらに、特徴量の大きな特徴点を含む被写体が動体である場合に、その動体に画面全体が引きずられてしまうことを防止する効果が期待できる。
以上、情報処理装置100の機能について説明した。
[2−4.処理の流れ]
次に、図18〜図23を参照しながら、情報処理装置100が実行する処理の流れについて説明する。
(全体的な処理の流れ)
まず、図18を参照しながら、処理の全体的な流れについて説明する。なお、図18は、第2実施形態に係る情報処理装置が実行する処理の全体的な流れを示したフロー図である。
図18に示すように、情報処理装置100は、画像P1、P2を取得する(S101)。例えば、情報処理装置100は、撮像部102の機能により、被写体の画像を連続的に撮像して画像P1、P2を取得する。但し、情報処理装置100は、ネットワーク932や接続ポート924に接続された外部の記憶装置から画像P1、P2を取得してもよい。また、情報処理装置100は、ドライブ922を介してリムーバブル記録媒体928に記録された画像P1、P2を取得してもよい。
次いで、情報処理装置100は、特徴点抽出部103の機能により、画像P1、P2から特徴点(例えば、100個ずつ)を抽出する(S102)。次いで、情報処理装置100は、前段処理部104の機能により前段処理を実行する(S103)。S103の処理では、推定変換行列が計算される。
次いで、情報処理装置100は、後段処理部105の機能により後段処理を実行する(S104)。S104の処理では、画像P1の変換に利用する変換行列が決定される。次いで、情報処理装置100は、画像処理部106の機能により、S104の処理で決定された変換行列を用いて画像処理を実行し(S105)、画像処理後の画像を出力する(S106)。S106の処理が完了すると、図18に示した一連の処理は終了する。
(前段処理の流れ)
次に、図19及び図20を参照しながら、前段処理の流れについて、さらに説明する。なお、図19は、第2実施形態に係る情報処理装置が実行する前段処理の流れを示した第1のフロー図である。また、図20は、第2実施形態に係る情報処理装置が実行する前段処理の流れを示した第2のフロー図である。図19及び図20に示した処理は、主に前段処理部104により実行される。
図19に示すように、前段処理部104は、パラメータ計算部141の機能により、画像P1の特徴点から特徴量が大きい順にX個(例えば、X=10)の特徴点を抽出する(S111)。次いで、前段処理部104は、パラメータ計算部141の機能により、画像P2の特徴点から特徴量が大きい順にX個の特徴点を抽出する(S112)。
次いで、前段処理部104は、パラメータ計算部141の機能により、S111の処理で画像P1から抽出した特徴点と、S112の処理で画像P2から抽出した特徴点とを組み合わせたd組の特徴点ペアを生成する(S113)。次いで、前段処理部104は、S113の処理で生成したd組の特徴点ペアを用いて変換行列Riを計算する(S114)。但し、変換行列Riは、S113の処理でi番目に生成された特徴点ペアを用いて計算された変換行列を表す。
次いで、前段処理部104は、投票処理部142の機能により、画像P1の特徴点のうち、変換行列Riの計算に利用していない特徴点を1個選択する(S115)。次いで、前段処理部104は、S115の処理で選択した特徴点の座標を変換行列Riで変換する(S116)。S116の処理が完了すると、処理は図20のS117へと進む。
処理がS117へと進んだ場合、前段処理部104は、投票処理部142の機能により、S116の処理による変換後の点との距離が閾値ThD(例えば、5ピクセル)以下となる特徴点が画像P2に存在するか否かを判定する(S117)。変換後の点との距離が閾値ThD以下となる特徴点が画像P2に存在する場合、処理はS118へと進む。一方、S116の処理による変換後の点との距離が閾値ThD以下となる特徴点が画像P2に存在しない場合、処理はS119へと進む。
処理がS118へと進んだ場合、前段処理部104は、投票処理部142の機能により、変換行列Riに投票する(S118)。S118の処理が完了すると、処理はS122へと進む。
処理がS119へと進んだ場合、前段処理部104は、投票処理部142の機能により、現時点における最大投票数Nmaxに基づいて(X−d−Nmax)を計算する(S119)。次いで、前段処理部104は、投票処理部142の機能により、現時点までにアウトライヤと判定した特徴点の数を計算する(S120)。
次いで、前段処理部104は、投票処理部142の機能により、S120の処理における計算結果が(X−d−Nmax)より大きいか否かを判定する(S121)。計算結果が(X−d−Nmax)より大きい場合、処理は図19のS113へと進む。一方、計算結果が(X−d−Nmax)より大きくない場合、処理はS122へと進む。
処理がS122へと進んだ場合、前段処理部104は、S115の処理で(X−d)個の特徴点をすべて選択したか否かを判定する(S122)。(X−d)個の特徴点をすべて選択した場合、処理はS123へと進む。一方、(X−d)個の特徴点のうち未選択の特徴点がある場合、処理は図19のS115へと進む。
処理がS123へと進んだ場合、前段処理部104は、S111の処理で画像P1から抽出した特徴点と、S112の処理で画像P2から抽出した特徴点とを組み合わせて生成可能なすべての特徴点ペアをS113の処理で生成したか否かを判定する(S123)。すべての特徴点ペアをS113の処理で生成した場合、処理はS124へと進む。一方、S113の処理で生成していない特徴点ペアがある場合、処理は図19のS113へと進む。
処理がS124へと進んだ場合、前段処理部104は、投票数が最大の変換行列Riを推定変換行列Rに設定する(S124)。S124の処理が完了すると、図19及び図20に示した一連の処理は終了する。なお、上記の説明では、可能なすべての特徴点ペアを生成する方法を示したが、予め設定した回数の処理を繰り返し、その回数分の特徴点ペアが生成されるように処理を変形することも可能である。
(後段処理の流れ)
次に、図21〜図23を参照しながら、後段処理の流れについて、さらに説明する。なお、図21は、第2実施形態に係る情報処理装置が実行する後段処理の流れを示した第1のフロー図である。また、図22は、第2実施形態に係る情報処理装置が実行する後段処理の流れを示した第2のフロー図である。また、図23は、第2実施形態に係る情報処理装置が実行する後段処理の流れを示した第3のフロー図である。図21〜図23に示した一連の処理は、主に後段処理部105により実行される。
図21に示すように、後段処理部105は、投票処理部153の機能により、画像P1の特徴点から、推定変換行列Rの計算に利用していない特徴点を1個選択する(S131)。次いで、後段処理部105は、投票処理部153の機能により、S131の処理で選択した特徴点の座標を推定変換行列Rで変換する(S132)。
次いで、後段処理部105は、投票処理部153の機能により、S132の処理による変換後の点との距離が閾値ThD以下であり、推定変換行列Rの計算に利用していない画像P2の特徴点があるか否かを判定する。(S133)。変換後の点との距離が閾値ThD以下であり、推定変換行列Rの計算に利用していない画像P2の特徴点がある場合、処理はS134へと進む。一方、変換後の点との距離が閾値ThD以下となる、推定変換行列Rの計算に利用していない画像P2の特徴点がない場合、処理はS131へと進む。
処理がS134へと進んだ場合、後段処理部105は、投票処理部153の機能により、推定変換行列Rに投票する(S134)。次いで、後段処理部105は、投票処理部153の機能により、S131の処理で(n−d)個の特徴点をすべて選択したか否かを判定する(S135)。(n−d)個の特徴点をすべて選択し終えている場合、処理はS136へと進む。一方、(n−d)個の特徴点のうち未選択の特徴点がある場合、処理はS131へと進む。
処理がS136へと進んだ場合、後段処理部105は、投票処理部153の機能により、S134の処理で投票された推定変換行列Rの投票数(総数)をNmaxとする(S136)。次いで、後段処理部105は、カウンタテーブル101dを初期化(カウンタ値を0に設定)する(S137)。
次いで、後段処理部105は、パラメータ計算部151の機能により、画像P1の特徴点と、画像P2の特徴点とをランダムに抽出し、d組の特徴点ペアを生成する(S138)。次いで、後段処理部105は、パラメータ計算部151の機能により、S138の処理で生成したd組の特徴点ペアを用いて変換行列Hiを計算する(S139)。但し、変換行列Hiは、S138の処理でi番目に生成された特徴点ペアを用いて計算された変換行列を表す。S139の処理が完了すると、処理は図22のS140へと進む。
処理がS140へと進んだ場合、後段処理部105は、候補抽出部152の機能により、変換行列Hiと推定変換行列Rとの差が許容範囲内であるか否かを判定する(S140)。変換行列Hiと推定変換行列Rとの差が許容範囲内である場合、処理はS141へと進む。一方、変換行列Hiと推定変換行列Rとの差が許容範囲内でない場合、処理は図21のS138へと進む。
処理がS141へと進んだ場合、後段処理部105は、投票処理部153の機能により、画像P1の特徴点から、変換行列Hiの計算に利用していない特徴点を選択する(S141)。このとき、カウンタテーブル101dのカウンタ値が小さい順に特徴点が選択される。次いで、後段処理部105は、投票処理部153の機能により、S141の処理で選択した特徴点の座標を変換行列Hiで変換する(S142)。
次いで、後段処理部105は、投票処理部153の機能により、S142の処理による変換後の点との距離が閾値ThD以下となる、変換行列Hiの計算に利用していない画像P2の特徴点があるか否かを判定する(S143)。変換後の点との距離が閾値ThD以下となる、変換行列Hiの計算に利用していない画像P2の特徴点がある場合、処理はS144へと進む。一方、変換後の点との距離が閾値ThD以下となる、変換行列Hiの計算に利用していない画像P2の特徴点がない場合、処理はS146へと進む。
処理がS144へと進んだ場合、後段処理部105は、投票処理部153の機能により、変換行列Hiに投票する(S144)。次いで、後段処理部105は、投票処理部153の機能により、S141の処理で選択した特徴点のカウンタ値を増加させる(S145)。S145の処理が完了すると、処理は図23のS149へと進む。
S143の処理における判定の結果、S146へと処理が進んだ場合、後段処理部105は、投票処理部153の機能により、(n−d−Nmax)を計算する(S146)。次いで、後段処理部105は、投票処理部153の機能により、現時点までにアウトライヤと判定した特徴点の数を計算する(S147)。
次いで、後段処理部105は、投票処理部153の機能により、S147の処理における計算結果が(n−d−Nmax)より大きいか否かを判定する(S148)。計算結果が(n−d−Nmax)より大きい場合、処理は図21のS138へと進む。一方、計算結果が(n−d−Nmax)より大きくない場合、処理は図23のS149へと進む。
処理がS149へと進んだ場合、後段処理部105は、S141の処理で(X−d)個の特徴点をすべて選択したか否かを判定する(S149)。(X−d)個の特徴点をすべて選択し終えた場合、処理はS150へと進む。一方、(X−d)個の特徴点のうち未選択の特徴点がある場合、処理は図22のS141へと進む。
処理がS150へと進んだ場合、後段処理部105は、変換行列Hiの投票数が最大投票数Nmaxを超えたか否かを判定する(S150)。変換行列Hiの投票数が最大投票数Nmaxを超えた場合、処理はS151へと進む。一方、変換行列Hiの投票数が最大投票数Nmaxを超えない場合、処理はS152へと進む。
処理がS151へと進んだ場合、後段処理部105は、変換行列Hiの投票数で最大投票数Nmaxを更新する(S151)。S151の処理が完了すると、処理はS152へと進む。処理がS152へと進んだ場合、後段処理部105は、カウンタテーブル101dを投票数順にソートする(S152)。
次いで、後段処理部105は、S138以降の処理をT回実行したか否かを判定する(S153)。但し、Tは、上記の式(1)で与えられる。処理をT回実行し終えた場合、処理はS154へと進む。一方、処理をT回実行し終えていない場合、処理は図21のS138へと進む。処理がS154へと進んだ場合、後段処理部105は、投票数が最大の変換行列Hiを画像処理に利用する変換行列Hに決定する(S154)。S154の処理が完了すると、図21〜図23に示した一連の処理は終了する。
以上、情報処理装置100が実行する処理の流れについて説明した。上記のように、後段処理にて変換行列Hiと推定変換行列Rとの差を評価し、差が許容範囲外である変換行列Hiに対する投票処理を回避することで処理負荷が低減される。さらに、カウント値が小さい特徴点から順に処理が実行されることで、最大投票数Nmaxを更新する見込みのない変換行列Hiに対する投票処理が早期に回避されることで処理負荷が低減される。その結果、高速に変換行列Hを決定することが可能になる。
以上、第2実施形態について説明した。
<3.第3実施形態>
次に、第3実施形態について説明する。
上記の第2実施形態は、前段処理で推定変換行列Rを計算し、後段処理で推定変換行列Rと特徴点ペア毎に計算した変換行列Hiとの差に基づいて無駄な投票処理を回避する方法であった。一方、第3実施形態は、図24に示すように、推定変換行列Rを利用して画像P1の特徴点を変換し、変換後の点を基準とする許容範囲(以下、インライヤ範囲)に収まる画像P2の特徴点を用いて特徴点ペアを生成する方法を提案する。なお、図24は、第3実施形態に係る後段処理の概要を示した図である。
図24の例では、画像P1の特徴点q11、q12、q13が推定変換行列Rで変換され、それぞれ変換後の点a、b、cの座標が得られている。この場合、点aを基準とするインライヤ範囲Daに含まれる画像P2の特徴点それぞれと、画像P1の特徴点q11とのペアが特徴点ペアの候補とされる。また、点bを基準とするインライヤ範囲Dbに含まれる画像P2の特徴点それぞれと、画像P1の特徴点q12とのペアが特徴点ペアの候補とされる。さらに、点cを基準とするインライヤ範囲Dcに含まれる画像P2の特徴点それぞれと、画像P1の特徴点q13とのペアが特徴点ペアの候補とされる。
上記のようにして抽出された特徴点ペアの候補から、投票処理の対象とする特徴点ペアが順次選択されて投票処理が実行される。つまり、候補が絞り込まれた上で、その候補の中から特徴点ペアが選択される。そのため、投票処理の実行回数が削減され、後段処理の負荷が低減される。以下、上記のような後段処理を実行可能な情報処理装置200について説明する。情報処理装置200は、第3実施形態に係る情報処理装置の一例である。また、上記の第2実施形態に係る情報処理装置100と実質的に同じ要素については重複説明を避けるため、同一の符号を付して詳細な説明を省略する場合がある。
[3−1.情報処理装置の機能]
図25を参照しながら、情報処理装置200の機能について説明する。図25は、第3実施形態に係る情報処理装置の機能について説明するためのブロック図である。なお、以下の説明において、適宜、図26〜図30を参照する。
図25に示すように、情報処理装置200は、撮像部102、特徴点抽出部103、前段処理部104、画像処理部106、記憶部201、及び後段処理部205を有する。
なお、記憶部201の機能は、上述したRAM906や記憶部920などを用いて実現できる。特徴点抽出部103、前段処理部104、後段処理部205、及び画像処理部106の機能は、上述したCPU902などを用いて実現できる。
(記憶部201)
記憶部201には、特徴点情報101a、モデル情報101b、投票数テーブル101c、許容範囲情報201a、及びペアマップリスト201bが格納される。なお、記憶部201には、カウンタテーブル101dが格納されてもよい。許容範囲情報201aは、特徴量ペアの候補を抽出する際に利用されるインライヤ範囲を決めるための情報である。また、ペアマップリスト201bは、特徴点ペアの候補が記載されるリストである。
ここで、図26を参照しながら、許容範囲情報201aについて、さらに説明する。図26は、第3実施形態に係る許容範囲情報の一例を示した図である。
図26に示すように、許容範囲情報201aは、変換パラメータの種類と、変換パラメータの許容範囲とを含む。図26の例は、上記の式(2)で与えられるアフィン変換の変換パラメータw11、w12、…、w23に関するものである。例えば、変換パラメータw11の許容範囲は、[w11−t11,w11+t11](つまり、w11−t11≦w11の許容範囲≦w11+t11)に設定されている。同様に、変換パラメータw12、w13、…、w23の許容範囲もそれぞれ設定されている。但し、t11、t12、…、t23は、許容範囲の幅を決める予め設定された設定値である。
例えば、画像P1の特徴点q11を推定変換行列Rで変換する場合、推定変換行列Rの変換パラメータr11、r12、…、r23を上記の幅で動かすと、変換後の点がとる領域(インライヤ範囲)が決まる。図24の例では、推定変換行列Rの変換パラメータw11、w12、…、w23を上記の幅で動かすことにより、特徴点q11に対応するインライヤ範囲Daが決まる。なお、変換後の点を基準に予め設定された半径の円領域や矩形領域をインライヤ範囲とする変形も可能であり、この場合には許容範囲情報201aとして半径や辺の長さを示す情報が予め設定される。
次に、図27を参照しながら、ペアマップリスト201bについて、さらに説明する。図27は、第3実施形態に係るペアマップリストの一例を示した図である。
図27に示すように、ペアマップリスト201bは、候補となる特徴点ペアを特定する情報と、その特徴点ペアに含まれる画像P1、P2の特徴点とを記載したリストである。図27の例では、候補となる特徴点ペアL1、L2、…、L8が示されている。例えば、特徴点ペアL1は、画像P1の特徴点q11と、画像P2の特徴点q21とを含む。このことは、特徴点q21が、特徴点q11を推定変換行列Rで変換した点を基準とするインライヤ範囲に含まれる特徴点であることを意味する。他の特徴点ペアL2、L3、…、L8についても同様である。
(撮像部102、特徴点抽出部103、前段処理部104、画像処理部106)
再び図25を参照する。撮像部102、特徴点抽出部103、前段処理部104、画像処理部106は、第2実施形態と実質的に同じである。前段処理部104により計算された推定変換行列Rの情報は、記憶部201に格納されると共に、後段処理部205に入力される。また、後段処理部205により決定された変換行列の情報は、画像処理部106に入力される。
(後段処理部205)
後段処理部205は、記憶部201に格納された特徴点情報101aに含まれる特徴点のうち、推定変換行列の計算に利用した特徴点の数よりも多くの特徴点を利用して画像P1、P2の位置合わせに用いる変換行列を計算する。このとき、後段処理部205は、推定変換行列に基づいて、変換行列の計算に用いる特徴点ペアを絞り込む。後段処理を実行するために、後段処理部205は、図25に示すように、候補抽出部251、パラメータ計算部252、及び投票処理部253を含む。
候補抽出部251は、記憶部201に格納された特徴点情報101aを参照し、画像P1から抽出された特徴点を1つ選択し、選択した特徴点の座標を推定変換行列Rにより変換する。また、候補抽出部251は、許容範囲情報201aに基づいて、変換後の座標を基準とするインライヤ範囲を計算する。さらに、候補抽出部251は、インライヤ範囲に含まれる画像P2の特徴点を抽出する。
そして、候補抽出部251は、選択した画像P1の特徴点と、抽出した画像P2の特徴点のそれぞれとを組み合わせて特徴点ペアの候補を生成する。また、候補抽出部251は、生成した特徴点ペアの候補の情報をペアマップリスト201bに記録する。また、候補抽出部251は、画像P1から抽出された特徴点を1つ選択し、選択した特徴点に対応する特徴点ペアの候補を生成する。これらの処理を繰り返し実行し、候補抽出部251は、ペアマップリスト201bを生成する。
パラメータ計算部252は、ペアマップリスト201bに記録された特徴点ペアの候補からd組の特徴点ペアを選択し、変換モデルに含まれる変換行列を計算する。また、パラメータ計算部252は、選択した特徴点ペアの情報と、計算した変換行列の変換パラメータとを投票数テーブル101cに記録する。投票処理部253は、画像P1から抽出された特徴点のうち、変換行列の計算に利用されていない特徴点を順次選択し、選択した特徴点がインライヤであるか否かを判定する。パラメータ計算部252により計算された変換行列は投票処理部253に入力される。
例えば、投票処理部253は、入力された変換行列を用いて、選択した画像P1の特徴点を変換し、変換後の点を基準とする許容範囲(上記のインライヤ範囲と異なる範囲でもよい。)内に画像P2の特徴点が存在するか否かを判定する。この許容範囲内に画像P2の特徴点が存在する場合、投票処理部253は、選択した画像P1の特徴点がインライヤであると判定する。
投票処理部253は、インライヤと判定する度に、入力された変換行列の変換パラメータに投票する。つまり、投票処理部253は、インライヤと判定した場合に、入力された変換行列の変換パラメータに対応する投票数テーブル101cの投票数を設定した数(例えば、1)だけ増加させる。すべての特徴点について上記の判定が終了した場合、投票処理部253は、入力された変換行列に関する投票処理の終了をパラメータ計算部252に通知する。この通知を受けたパラメータ計算部252は、未選択の特徴点ペアを選択し、変換モデルに含まれる変換行列を計算する。
パラメータ計算部252は、選択した特徴点ペアの情報と、計算した変換行列の変換パラメータとを投票数テーブル101cに記録する。また、パラメータ計算部252により計算された変換行列は、投票処理部253に入力される。投票処理部253は、入力された変換行列の計算に利用されていない特徴点を順次選択し、選択した特徴点がインライヤであるか否かを判定する。そして、投票処理部253は、インライヤと判定する度に、入力された変換行列の変換パラメータに投票する。
上記と同様に、パラメータ計算部252は、ペアマップリスト201bから順次特徴点ペアを選択して変換行列を計算する。また、投票処理部253は、入力された変換行列に対して投票処理を実行する。これらの処理が予め設定された回数(例えば、上記の式(1)で与えられるT)実行された場合、又はペアマップリスト201bの全特徴点ペアについて処理が実行された場合、後段処理部205は、投票数が最大の変換行列を抽出する。
(後段処理:変換行列の決定)
ここで、図28〜図30を参照しながら、後段処理について、さらに説明する。なお、図28は、第3実施形態に係るペアマップリストの生成方法について説明するための第1の図である。また、図29は、第3実施形態に係るペアマップリストの生成方法について説明するための第2の図である。また、図30は、第3実施形態に係る後段処理(変換行列の決定)について説明するための図である。
いま、画像P1の特徴点q11、q12、…、q16を含む特徴点ペアのペアマップリスト201bを生成する方法について考える。以下、推定変換行列Rにより特徴点q11、q12、…、q16を変換した点をそれぞれQ11、Q12、…、Q16と表記する。
図28の例では、点Q11のインライヤ範囲に画像P2の特徴点q21が含まれる。そのため、特徴点ペアの候補として、画像P1の特徴点q11と、画像P2の特徴点q21とのペアがペアマップリスト201bに記録される。同様に、点Q12のインライヤ範囲に画像P2の特徴点q22が含まれるため、特徴点ペアの候補として、画像P1の特徴点q12と、画像P2の特徴点q22とのペアがペアマップリスト201bに記録される。
点Q13のインライヤ範囲には画像P2の特徴点q23が含まれる。この特徴点q23は、点Q15、Q16のインライヤ範囲にも含まれる。この場合、特徴点q13、q23のペア、特徴点q15、q23のペア、及び特徴点q16、q23のペアがペアマップリスト201bに記録される。同様に、画像P2の特徴点q26は点Q15、Q16のインライヤ範囲に含まれるため、特徴点q15、q26のペア、及び特徴点q16、q26のペアがペアマップリスト201bに記録される。
図28の例では、画像P2の特徴点q24、q27がいずれのインライヤ範囲にも含まれない。そのため、特徴点q24、q27に関するペアはペアマップリスト201bに記録されない。また、点Q14のインライヤ範囲には、画像P2の特徴点がいずれも含まれない。そのため、特徴点q14に関するペアはペアマップリスト201bに記録されない。上記の処理を実行することで、図29に示すような特徴点同士の対応関係が得られる。
図29に示すように、画像P1の特徴点q11(点Q11に対応)と画像2の特徴点q21とはペア(特徴点ペアL1)となる。また、画像P1の特徴点q12(点Q12に対応)と画像2の特徴点q22とはペア(特徴点ペアL2)となる。また、画像P1の特徴点q13(点Q13に対応)と画像2の特徴点q23とはペア(特徴点ペアL3)となる。一方、画像P1の特徴点q14(点Q14に対応)はペアとならない。
また、画像P1の特徴点q15(点Q15に対応)と画像2の特徴点q23とはペア(特徴点ペアL4)となる。さらに、画像P1の特徴点q15(点Q15に対応)は画像2の特徴点q25ともペア(特徴点ペアL5)を成す。また、画像P1の特徴点q15(点Q15に対応)は画像2の特徴点q26ともペア(特徴点ペアL6)を成す。
また、画像P1の特徴点q16(点Q16に対応)と画像2の特徴点q23とペア(特徴点ペアL7)となる。さらに、画像P1の特徴点q16(点Q16に対応)は画像2の特徴点q26ともペア(特徴点ペアL8)を成す。一方、画像P2の特徴点q24、q27はペアとならない。これら特徴点同士の対応関係をまとめると、図30に示すようなペアマップリスト201bが得られる。
ペアマップリスト201bが得られると、パラメータ計算部252は、図30に示すように、ペアマップリスト201bから抽出したd組の特徴点ペア(図30の例ではL1,L2,L3)を用いて変換行列を計算する。そして、投票処理部253は、パラメータ計算部252が計算した変換行列を対象に投票処理を実行する。これらの処理が繰り返し実行され、最終的に投票数が最大となる変換行列が、画像処理に利用される変換行列Hに決定される。上記のように、特徴点ペアの数が絞り込まれることにより、投票処理の回数が減り、処理負荷が低減される。
以上、情報処理装置200の機能について説明した。
[3−2.処理の流れ]
次に、図31〜図33を参照しながら、情報処理装置200が実行する処理の流れについて説明する。なお、情報処理装置200が実行する処理のうち前段処理は第2実施形態と実質的に同じである。そのため、前段処理の流れについては詳細な説明を省略し、後段処理の流れについて説明する。
(後段処理の流れ)
図31及び図32を参照しながら、後段処理の流れについて説明する。なお、図31は、第3実施形態に係る情報処理装置が実行する後段処理の流れを示した第1のフロー図である。また、図32は、第3実施形態に係る情報処理装置が実行する後段処理の流れを示した第2のフロー図である。図31及び図32に示した一連の処理は、主に後段処理部205により実行される。
図31に示すように、後段処理部205は、投票処理部253の機能により、推定変換行列Rについて最大投票数Nmaxを計算する(S201)。S201の処理は、図21に示したS131〜S136の処理に相当する。次いで、後段処理部205は、候補抽出部251の機能により、ペアマップリスト201bを生成する(S202)。
次いで、後段処理部205は、パラメータ計算部252の機能により、d組の特徴点ペアをペアマップリスト201bから選択する(S203)。次いで、後段処理部205は、パラメータ計算部252の機能により、S203の処理で選択したd組の特徴点ペアを用いて変換行列Hiを計算する(S204)。但し、変換行列Hiは、S203の処理でi番目に生成された特徴点ペアを用いて計算された変換行列を表す。
次いで、後段処理部205は、投票処理部253の機能により、画像P1の特徴点から、変換行列Hiの計算に利用していない特徴点を選択する(S205)。次いで、後段処理部205は、投票処理部253の機能により、S205の処理で選択した特徴点の座標を変換行列Hiで変換する(S206)。S206の処理が完了すると、処理は図31のS207へと進む。
処理がS207へ進んだ場合、後段処理部205は、投票処理部253の機能により、S206の処理による変換後の点との距離が閾値ThD以下となる、変換行列Hiの計算に利用していない画像P2の特徴点があるか否かを判定する(S207)。変換後の点との距離が閾値ThD以下となる、変換行列Hiの計算に利用していない画像P2の特徴点がある場合、処理は、S208へと進む。一方、変換後の点との距離が閾値ThD以下となる、変換行列Hiの計算に利用していない画像P2の特徴点がない場合、処理はS209へと進む。
処理がS208へと進んだ場合、後段処理部205は、投票処理部253の機能により、変換行列Hiに投票する(S208)。S208の処理が完了すると、処理はS212へと進む。
処理がS209へと進んだ場合、後段処理部205は、投票処理部253の機能により、(n−d−Nmax)を計算する(S209)。なお、nは、画像P1から抽出された特徴点の数である。次いで、後段処理部205は、投票処理部253の機能により、現時点までにアウトライヤと判定した特徴点の数を計算する(S210)。
次いで、後段処理部205は、投票処理部253の機能により、S210の処理における計算結果が(n−d−Nmax)より大きいか否かを判定する(S211)。計算結果が(n−d−Nmax)より大きい場合、処理は図31のS203へと進む。一方、計算結果が(n−d−Nmax)より大きくない場合、処理はS212へと進む。
処理がS212へと進んだ場合、後段処理部205は、投票処理部253の機能により、S205の処理において(n−d)個の特徴点をすべて選択したか否かを判定する(S212)。(n−d)個の特徴点をすべて選択した場合、処理はS213へと進む。一方、(n−d)個の特徴点のうち未選択の特徴点がある場合、処理は図31のS205へと進む。
処理がS213へと進んだ場合、後段処理部205は、投票処理部253の機能により、変換行列Hiの投票数が最大投票数Nmaxを超えたか否かを判定する(S213)。変換行列Hiの投票数が最大投票数Nmaxを超えた場合、処理はS214へと進む。一方、変換行列Hiの投票数が最大投票数Nmaxを超えていない場合、処理はS215へと進む。
処理がS214へと進んだ場合、後段処理部205は、変換行列Hiの投票数で最大投票数Nmaxを更新する(S214)。S214の処理が完了すると、処理はS215へと進む。処理がS215へと進んだ場合、後段処理部205は、S203以降の処理をT回(例えば、上記の式(1)で与えられるT)実行したか否かを判定する(S215)。処理をT回実行し終えた場合、処理はS216へと進む。一方、処理をT回実行し終えていない場合、処理は図31のS203へと進む。
処理がS216へと進んだ場合、後段処理部205は、画像処理に利用する変換行列Hとして、投票数が最大の変換行列Hiを出力する(S216)。S216の処理が完了すると、図31及び図32に示した一連の処理は終了する。なお、上記の説明ではS203以降の処理をT回実行する例を示したが、ペアマップリスト201bの特徴点ペアがなくなるまでS203以降の処理を実行するように変形することも可能である。
(ペアマップリストの生成に係る処理の流れ)
ここで、図33を参照しながら、上述した後段処理のうち、ペアマップリスト201bの生成に関する処理の流れについて説明する。なお、図33は、第3実施形態に係る情報処理装置が実行する後段処理のうち、ペアマップリストの生成に関する処理の流れを示したフロー図である。図33に示した一連の処理は、上述したS202の処理に対応し、主に候補抽出部251により実行される。
図33に示すように、候補抽出部251は、画像P1の特徴点を1個選択する(S221)。次いで、候補抽出部251は、S221の処理で選択した特徴点を推定変換行列Rで変換する(S222)。次いで、候補抽出部251は、S222の処理による変換後の点のインライヤ範囲に含まれる画像P2の特徴点をすべて抽出する(S223)。
次いで、候補抽出部251は、S223の処理で抽出した特徴点と、S221の処理で選択した特徴点とのペアをペアマップリスト201bに記載する(S224)。次いで、候補抽出部251は、画像P1の全特徴点を選択したか否かを判定する(S225)。画像P1の全特徴点を選択し終えた場合、図33に示した一連の処理は終了する。一方、画像P1の特徴点のうち未選択の特徴点がある場合、処理はS221へと進む。
以上、情報処理装置200が実行する処理の流れについて説明した。上記のように、インライヤ範囲に基づく特徴点ペアの絞り込みを行うことで投票処理の実行回数を減らすことが可能になり、画像処理に利用する変換行列Hの計算負荷を低減することができる。
以上、第3実施形態について説明した。
<4.第2及び第3実施形態の組み合わせ>
ここで、図34〜図36を参照しながら、第2実施形態に係る方法と、第3実施形態に係る方法とを組み合わせる仕組みについて説明する。
なお、図34は、第2及び第3実施形態の組み合わせについて説明するための第1の図である。また、図35は、第2及び第3実施形態の組み合わせについて説明するための第2の図である。また、図36は、第2及び第3実施形態の組み合わせに係る後段処理の流れを示したフロー図である。
既に説明したように、第3実施形態に係る方法によれば、ペアマップリスト201bを利用することで処理負荷が低減される。例えば、点Q11のインライヤ範囲に含まれる特徴点q21、q22がある場合、図34に示すようなペアマップリスト201bが得られる。この例のように、インライヤ範囲に含まれる特徴点の数が少ない場合、ペアマップリスト201bに記載される特徴点ペアの数が少ないため、処理負荷の低減効果が大きい。
一方、図35に示すように、インライヤ範囲に含まれる特徴点の数が多い場合(図35の例では特徴点q21、q22、…、q25がインライヤ範囲に含まれる。)、ペアマップリスト201bに記載される特徴点ペアの数が多くなる。つまり、特徴点が局所的に密集しているような場合、ペアマップリスト201bを利用することで得られる処理負荷の低減効果が小さくなる。このような場合、第2実施形態に係る方法を適用する方が、より大きな処理負荷の低減効果が得られる可能性がある。
そこで、図34に示すような状況では第3実施形態に係る方法を適用し、図35に示すような状況では第2実施形態に係る方法を適用して処理負荷の低減効果を向上させる組み合わせ方式を提案する。この組み合わせ方式を適用する場合、処理の流れは図36のようになる。ここで、図36に示した処理の実行主体を後段処理部300と呼ぶことにする。
図36に示すように、後段処理部300は、画像P1の特徴点を推定変換行列Rで変換する(S301)。次いで、後段処理部300は、S301の処理による変換後の点を基準とするインライヤ範囲に含まれる特徴点の数Zを計算する(S302)。
次いで、後段処理部300は、S302の処理で計算した数Zが、予め設定された閾値ThZより大きいか否かを判定する(S303)。Z≧ThZの場合、処理はS304へと進む。一方、Z<ThZの場合、処理はS305へと進む。
処理がS304へと進んだ場合、後段処理部300は、第2実施形態の後段処理を実行する(S304)。一方、処理がS305へと進んだ場合、後段処理部300は、第3実施形態の後段処理を実行する(S305)。S304又はS305の処理が完了すると、図36に示した一連の処理は終了する。
上記のようにインライヤ範囲に含まれる特徴点の数に応じて第2実施形態の後段処理と第3実施形態の後段処理とを組み合わせることで、状況に応じた好適な処理が実現され、より大きな処理負荷の低減効果を得ることができる。
以上、第2及び第3実施形態の組み合わせについて説明した。
<5.付記>
以上説明した実施形態に関し、さらに以下の付記を開示する。
(付記1) 第1画像が有する第1特徴点と、第2画像が有する第2特徴点と、前記第1画像上の点を前記第2画像上の対応する点へと変換する変換モデルとを記憶する記憶部と、
設定された第1閾値より特徴量が大きい前記第1及び第2特徴点の集合を用いて前記変換モデルに含まれるパラメータの推定値を計算し、前記第1閾値より小さい第2閾値よりも特徴量が大きく、かつ、前記推定値を適用した前記変換モデルに対する誤差が設定した範囲内にある前記第1特徴点と前記第2特徴点との組を選択し、選択した組毎に前記パラメータ及び当該パラメータの評価値を計算し、前記評価値に基づいて前記パラメータを決定する演算部と
を有する、情報処理装置。
(付記2) 前記演算部は、
前記第2閾値よりも特徴量が大きい前記第1及び第2特徴点の集合から前記第1特徴点と前記第2特徴点との組を選択し、選択した組毎に前記パラメータを計算し、当該パラメータと前記推定値との差が設定した許容値よりも小さい場合に前記誤差が前記設定した範囲内にあると判断する
付記1に記載の情報処理装置。
(付記3) 前記演算部は、
抽出される前記第1特徴点同士の距離及び抽出される前記第2特徴点同士の距離が第1設定値より大きくなるように抽出した前記第1及び第2特徴点の集合から、前記第2閾値よりも特徴量が大きい前記第1及び第2特徴点の集合を特定する
付記1又は2に記載の情報処理装置。
(付記4) 前記演算部は、
前記パラメータの評価値を計算する処理において、当該パラメータの計算に用いていない前記第1特徴点を選択し、当該パラメータを適用した前記変換モデルで当該第1特徴点を変換し、変換後の点と当該第2特徴点との距離が第2設定値より小さい場合に当該パラメータに対する第1投票数を増加させ、選択したすべての前記第1特徴点に関する前記第1投票数の累積値を当該パラメータに対する前記評価値とする
付記1〜3のいずれかに記載の情報処理装置。
(付記5) 前記演算部は、
前記パラメータの評価値を計算する処理において、当該パラメータに対する前記第1投票数を増加させる際に当該パラメータの計算に用いた前記第1特徴点に対する第2投票数を増加させ、前記第1特徴点を選択する場合に前記第2投票数が小さい順に前記第1特徴点を選択する
付記4に記載の情報処理装置。
(付記6) 前記演算部は、
前記推定値の計算に用いていない前記第1特徴点を選択し、前記推定値を適用した前記変換モデルで当該第1特徴点を変換し、変換後の点と当該第2特徴点との距離が前記第2設定値より小さくなる場合に当該第1特徴点に対する第3投票数を増加させ、選択したすべての前記第1特徴点に関する前記第3投票数の累積値を上限値に設定し、前記第2投票数が前記上限値より大きい場合に当該第2投票数で前記上限値を更新し、
前記パラメータの評価値を計算する処理において、当該パラメータによる前記変換後の点と前記第2特徴点との距離が前記第2設定値より大きくなる前記第1特徴点の数が前記上限値に達した場合に、当該パラメータに対する前記評価値の計算を回避する
付記5に記載の情報処理装置。
(付記7) 前記演算部は、
前記第2閾値よりも特徴量が大きい前記第1及び第2特徴点の集合から前記第1特徴点と前記第2特徴点との組を選択し、選択した組毎に、前記推定値を適用した前記変換モデルで前記第1特徴点を変換し、変換後の点を基準に設定した領域に前記第2特徴点が含まれるか否かを判定し、当該領域に前記第2特徴点が含まれる場合に前記誤差が前記設定した範囲内にあると判断する
付記1〜4のいずれかに記載の情報処理装置。
(付記8) 第1画像が有する第1特徴点と、第2画像が有する第2特徴点と、前記第1画像上の点を前記第2画像上の対応する点へと変換する変換モデルとを記憶する記憶部から、前記第1特徴点、前記第2特徴点、及び前記変換モデルの情報を取得可能なコンピュータが、
設定された第1閾値より特徴量が大きい前記第1及び第2特徴点の集合を用いて前記変換モデルに含まれるパラメータの推定値を計算し、前記第1閾値より小さい第2閾値よりも特徴量が大きく、かつ、前記推定値を適用した前記変換モデルに対する誤差が設定した範囲内にある前記第1特徴点と前記第2特徴点との組を選択し、選択した組毎に前記パラメータ及び当該パラメータの評価値を計算し、前記評価値に基づいて前記パラメータを決定する
パラメータの決定方法。
(付記9) 第1画像が有する第1特徴点と、第2画像が有する第2特徴点と、前記第1画像上の点を前記第2画像上の対応する点へと変換する変換モデルとを記憶する記憶部から、前記第1特徴点、前記第2特徴点、及び前記変換モデルの情報を取得可能なコンピュータに、
設定された第1閾値より特徴量が大きい前記第1及び第2特徴点の集合を用いて前記変換モデルに含まれるパラメータの推定値を計算し、前記第1閾値より小さい第2閾値よりも特徴量が大きく、かつ、前記推定値を適用した前記変換モデルに対する誤差が設定した範囲内にある前記第1特徴点と前記第2特徴点との組を選択し、選択した組毎に前記パラメータ及び当該パラメータの評価値を計算し、前記評価値に基づいて前記パラメータを決定する
処理を実行させる、プログラム。
(付記10) 第1画像が有する第1特徴点と、第2画像が有する第2特徴点と、前記第1画像上の点を前記第2画像上の対応する点へと変換する変換モデルとを記憶する記憶部から、前記第1特徴点、前記第2特徴点、及び前記変換モデルの情報を取得可能なコンピュータに、
設定された第1閾値より特徴量が大きい前記第1及び第2特徴点の集合を用いて前記変換モデルに含まれるパラメータの推定値を計算し、前記第1閾値より小さい第2閾値よりも特徴量が大きく、かつ、前記推定値を適用した前記変換モデルに対する誤差が設定した範囲内にある前記第1特徴点と前記第2特徴点との組を選択し、選択した組毎に前記パラメータ及び当該パラメータの評価値を計算し、前記評価値に基づいて前記パラメータを決定する
処理を実行させるプログラムが格納された、コンピュータにより読み取り可能な記録媒体。
(付記11) 第1画像が有する第1特徴点と、第2画像が有する第2特徴点と、前記第1画像上の点を前記第2画像上の対応する点へと変換する変換モデルとを記憶する記憶部と、
一部の前記第1及び第2特徴点を用いて前記変換モデルに含まれるパラメータの推定値を計算し、全部の前記第1及び第2特徴点を対象に前記第1特徴点と前記第2特徴点との組を順次選択して組毎に前記パラメータを計算し、計算した前記パラメータと前記推定値との差が設定した範囲内となる場合に当該パラメータの評価値を計算し、前記評価値が最大となる前記パラメータを特定する演算部と
を有する、情報処理装置。
(付記12) 前記コンピュータが、前記第2閾値よりも特徴量が大きい前記第1及び第2特徴点の集合から前記第1特徴点と前記第2特徴点との組を選択し、選択した組毎に前記パラメータを計算し、当該パラメータと前記推定値との差が設定した許容値よりも小さい場合に前記誤差が前記設定した範囲内にあると判断する
付記8に記載のパラメータの決定方法。
(付記13) 前記コンピュータが、抽出される前記第1特徴点同士の距離及び抽出される前記第2特徴点同士の距離が第1設定値より大きくなるように抽出した前記第1及び第2特徴点の集合から、前記第2閾値よりも特徴量が大きい前記第1及び第2特徴点の集合を特定する
付記8又は12に記載のパラメータの決定方法。
(付記14) 前記パラメータの評価値を計算する処理において、前記コンピュータが、当該パラメータの計算に用いていない前記第1特徴点を選択し、当該パラメータを適用した前記変換モデルで当該第1特徴点を変換し、変換後の点と当該第2特徴点との距離が第2設定値より小さい場合に当該パラメータに対する第1投票数を増加させ、選択したすべての前記第1特徴点に関する前記第1投票数の累積値を当該パラメータに対する前記評価値とする
付記8、12、13のいずれかに記載のパラメータの決定方法。
(付記15) 前記パラメータの評価値を計算する処理において、前記コンピュータが、当該パラメータに対する前記第1投票数を増加させる際に当該パラメータの計算に用いた前記第1特徴点に対する第2投票数を増加させ、前記第1特徴点を選択する場合に前記第2投票数が小さい順に前記第1特徴点を選択する
付記14に記載のパラメータの決定方法。
(付記16) 前記コンピュータが、
前記推定値の計算に用いていない前記第1特徴点を選択し、前記推定値を適用した前記変換モデルで当該第1特徴点を変換し、変換後の点と当該第2特徴点との距離が前記第2設定値より小さくなる場合に当該第1特徴点に対する第3投票数を増加させ、選択したすべての前記第1特徴点に関する前記第3投票数の累積値を上限値に設定し、前記第2投票数が前記上限値より大きい場合に当該第2投票数で前記上限値を更新し、
前記パラメータの評価値を計算する処理において、当該パラメータによる前記変換後の点と前記第2特徴点との距離が前記第2設定値より大きくなる前記第1特徴点の数が前記上限値に達した場合に、当該パラメータに対する前記評価値の計算を回避する
付記15に記載のパラメータの決定方法。
(付記17) 前記コンピュータが、前記第2閾値よりも特徴量が大きい前記第1及び第2特徴点の集合から前記第1特徴点と前記第2特徴点との組を選択し、選択した組毎に、前記推定値を適用した前記変換モデルで前記第1特徴点を変換し、変換後の点を基準に設定した領域に前記第2特徴点が含まれるか否かを判定し、当該領域に前記第2特徴点が含まれる場合に前記誤差が前記設定した範囲内にあると判断する
付記8、12〜14のいずれかに記載のパラメータの決定方法。
10 情報処理装置
11 記憶部
12 演算部
q1、q11、q12、q13、q14、q15、q16 第1特徴点
q2、q21、q22、q23、q24、q25、q26 第2特徴点
A、A21、A22 パラメータ
A1 推定値
C11、C12、C21、C22 対象物
P1 第1画像
P2 第2画像
TM 変換モデル
Th1 第1閾値
Th2 第2閾値

Claims (9)

  1. 第1画像が有する第1特徴点と、第2画像が有する第2特徴点と、前記第1画像上の点を前記第2画像上の対応する点へと変換する変換モデルとを記憶する記憶部と、
    設定された第1閾値より特徴量が大きい前記第1及び第2特徴点の集合を用いて前記変換モデルに含まれるパラメータの推定値を計算し、前記第1閾値より小さい第2閾値よりも特徴量が大きく、かつ、前記推定値を適用した前記変換モデルに対する誤差が設定した範囲内にある前記第1特徴点と前記第2特徴点との組を選択し、選択した組毎に前記パラメータ及び当該パラメータの評価値を計算し、前記評価値に基づいて前記パラメータを決定する演算部と
    を有する、情報処理装置。
  2. 前記演算部は、
    前記第2閾値よりも特徴量が大きい前記第1及び第2特徴点の集合から前記第1特徴点と前記第2特徴点との組を選択し、選択した組毎に前記パラメータを計算し、当該パラメータと前記推定値との差が設定した許容値よりも小さい場合に前記誤差が前記設定した範囲内にあると判断する
    請求項1に記載の情報処理装置。
  3. 前記演算部は、
    抽出される前記第1特徴点同士の距離及び抽出される前記第2特徴点同士の距離が第1設定値より大きくなるように抽出した前記第1及び第2特徴点の集合から、前記第2閾値よりも特徴量が大きい前記第1及び第2特徴点の集合を特定する
    請求項1又は2に記載の情報処理装置。
  4. 前記演算部は、
    前記パラメータの評価値を計算する処理において、当該パラメータの計算に用いていない前記第1特徴点を選択し、当該パラメータを適用した前記変換モデルで当該第1特徴点を変換し、変換後の点と当該第2特徴点との距離が第2設定値より小さい場合に当該パラメータに対する第1投票数を増加させ、選択したすべての前記第1特徴点に関する前記第1投票数の累積値を当該パラメータに対する前記評価値とする
    請求項1〜3のいずれか1項に記載の情報処理装置。
  5. 前記演算部は、
    前記パラメータの評価値を計算する処理において、当該パラメータに対する前記第1投票数を増加させる際に当該パラメータの計算に用いた前記第1特徴点に対する第2投票数を増加させ、前記第1特徴点を選択する場合に前記第2投票数が小さい順に前記第1特徴点を選択する
    請求項4に記載の情報処理装置。
  6. 前記演算部は、
    前記推定値の計算に用いていない前記第1特徴点を選択し、前記推定値を適用した前記変換モデルで当該第1特徴点を変換し、変換後の点と当該第2特徴点との距離が前記第2設定値より小さくなる場合に当該第1特徴点に対する第3投票数を増加させ、選択したすべての前記第1特徴点に関する前記第3投票数の累積値を上限値に設定し、前記第2投票数が前記上限値より大きい場合に当該第2投票数で前記上限値を更新し、
    前記パラメータの評価値を計算する処理において、当該パラメータによる前記変換後の点と前記第2特徴点との距離が前記第2設定値より大きくなる前記第1特徴点の数が前記上限値に達した場合に、当該パラメータに対する前記評価値の計算を回避する
    請求項5に記載の情報処理装置。
  7. 前記演算部は、
    前記第2閾値よりも特徴量が大きい前記第1及び第2特徴点の集合から前記第1特徴点と前記第2特徴点との組を選択し、選択した組毎に、前記推定値を適用した前記変換モデルで前記第1特徴点を変換し、変換後の点を基準に設定した領域に前記第2特徴点が含まれるか否かを判定し、当該領域に前記第2特徴点が含まれる場合に前記誤差が前記設定した範囲内にあると判断する
    請求項1〜4のいずれか1項に記載の情報処理装置。
  8. 第1画像が有する第1特徴点と、第2画像が有する第2特徴点と、前記第1画像上の点を前記第2画像上の対応する点へと変換する変換モデルとを記憶する記憶部から、前記第1特徴点、前記第2特徴点、及び前記変換モデルの情報を取得可能なコンピュータが、
    設定された第1閾値より特徴量が大きい前記第1及び第2特徴点の集合を用いて前記変換モデルに含まれるパラメータの推定値を計算し、前記第1閾値より小さい第2閾値よりも特徴量が大きく、かつ、前記推定値を適用した前記変換モデルに対する誤差が設定した範囲内にある前記第1特徴点と前記第2特徴点との組を選択し、選択した組毎に前記パラメータ及び当該パラメータの評価値を計算し、前記評価値に基づいて前記パラメータを決定する
    パラメータの決定方法。
  9. 第1画像が有する第1特徴点と、第2画像が有する第2特徴点と、前記第1画像上の点を前記第2画像上の対応する点へと変換する変換モデルとを記憶する記憶部から、前記第1特徴点、前記第2特徴点、及び前記変換モデルの情報を取得可能なコンピュータに、
    設定された第1閾値より特徴量が大きい前記第1及び第2特徴点の集合を用いて前記変換モデルに含まれるパラメータの推定値を計算し、前記第1閾値より小さい第2閾値よりも特徴量が大きく、かつ、前記推定値を適用した前記変換モデルに対する誤差が設定した範囲内にある前記第1特徴点と前記第2特徴点との組を選択し、選択した組毎に前記パラメータ及び当該パラメータの評価値を計算し、前記評価値に基づいて前記パラメータを決定する
    処理を実行させる、プログラム。
JP2014056813A 2014-03-19 2014-03-19 情報処理装置、パラメータの決定方法、及びプログラム Ceased JP2015179426A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014056813A JP2015179426A (ja) 2014-03-19 2014-03-19 情報処理装置、パラメータの決定方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014056813A JP2015179426A (ja) 2014-03-19 2014-03-19 情報処理装置、パラメータの決定方法、及びプログラム

Publications (1)

Publication Number Publication Date
JP2015179426A true JP2015179426A (ja) 2015-10-08

Family

ID=54263414

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014056813A Ceased JP2015179426A (ja) 2014-03-19 2014-03-19 情報処理装置、パラメータの決定方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP2015179426A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017187990A (ja) * 2016-04-07 2017-10-12 株式会社デンソーアイティーラボラトリ 演算装置、演算方法、及びプログラム
JP2018072937A (ja) * 2016-10-25 2018-05-10 日本電信電話株式会社 テンプレートマッチング装置、方法、及びプログラム
US10186042B2 (en) * 2015-11-20 2019-01-22 Vivotek Inc. Object matching method and camera system with an object matching function
JP2023505379A (ja) * 2019-12-16 2023-02-08 チャンシャ インテリジェント ドライビング インスティテュート コーポレーション リミテッド 交通手段の全景ルックアラウンド画像を生成する方法と装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009163357A (ja) * 2007-12-28 2009-07-23 Casio Comput Co Ltd 画像合成装置及びプログラム
JP2011053937A (ja) * 2009-09-02 2011-03-17 Nec Corp 画像変換パラメータ算出装置、画像変換パラメータ算出方法およびプログラム
JP2011259044A (ja) * 2010-06-04 2011-12-22 Panasonic Corp 画像処理装置、方法
WO2012096163A1 (ja) * 2011-01-13 2012-07-19 パナソニック株式会社 画像処理装置、画像処理方法、及びそのプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009163357A (ja) * 2007-12-28 2009-07-23 Casio Comput Co Ltd 画像合成装置及びプログラム
JP2011053937A (ja) * 2009-09-02 2011-03-17 Nec Corp 画像変換パラメータ算出装置、画像変換パラメータ算出方法およびプログラム
JP2011259044A (ja) * 2010-06-04 2011-12-22 Panasonic Corp 画像処理装置、方法
WO2012096163A1 (ja) * 2011-01-13 2012-07-19 パナソニック株式会社 画像処理装置、画像処理方法、及びそのプログラム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10186042B2 (en) * 2015-11-20 2019-01-22 Vivotek Inc. Object matching method and camera system with an object matching function
JP2017187990A (ja) * 2016-04-07 2017-10-12 株式会社デンソーアイティーラボラトリ 演算装置、演算方法、及びプログラム
JP2018072937A (ja) * 2016-10-25 2018-05-10 日本電信電話株式会社 テンプレートマッチング装置、方法、及びプログラム
JP2023505379A (ja) * 2019-12-16 2023-02-08 チャンシャ インテリジェント ドライビング インスティテュート コーポレーション リミテッド 交通手段の全景ルックアラウンド画像を生成する方法と装置
JP7335446B2 (ja) 2019-12-16 2023-08-29 チャンシャ インテリジェント ドライビング インスティテュート コーポレーション リミテッド 交通手段の全景ルックアラウンド画像を生成する方法と装置

Similar Documents

Publication Publication Date Title
CN110826519B (zh) 人脸遮挡检测方法、装置、计算机设备及存储介质
KR102406354B1 (ko) 비디오 수복 방법 및 장치, 전자 기기 및 기억 매체
KR102538164B1 (ko) 이미지 처리 방법 및 장치, 전자 장치 및 기억 매체
CN107409166B (zh) 摇摄镜头的自动生成
JP5980294B2 (ja) データ処理装置、撮像装置、およびデータ処理方法
US9344690B2 (en) Image demosaicing
US10674066B2 (en) Method for processing image and electronic apparatus therefor
CN107316326B (zh) 应用于双目立体视觉的基于边的视差图计算方法和装置
CN110991287A (zh) 一种实时视频流人脸检测跟踪方法及检测跟踪系统
US10306210B2 (en) Image processing apparatus and image capturing apparatus
US9558534B2 (en) Image processing apparatus, image processing method, and medium
JP6703314B2 (ja) フォーカス検出
JP7032913B2 (ja) 画像処理装置、画像処理方法、コンピュータプログラム
CN103516983A (zh) 图像处理装置、摄像装置以及图像处理方法
CN112862877A (zh) 用于训练图像处理网络和图像处理的方法和装置
JP2015148532A (ja) 距離計測装置、撮像装置、距離計測方法、およびプログラム
KR20150126768A (ko) 이미지 합성 방법 및 그 전자 장치
JPWO2017169039A1 (ja) 画像処理装置、撮像装置、および画像処理方法、並びにプログラム
WO2021082819A1 (zh) 一种图像生成方法、装置及电子设备
JP7176616B2 (ja) 画像処理システム、画像処理装置、画像処理方法、及び画像処理プログラム
JP2015179426A (ja) 情報処理装置、パラメータの決定方法、及びプログラム
CN112418279B (zh) 图像融合方法、装置、电子设备及可读存储介质
CN113628259A (zh) 图像的配准处理方法及装置
WO2023160426A1 (zh) 视频插帧方法、训练方法、装置和电子设备
US20240296522A1 (en) Information processing apparatus, information processing method, and storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171122

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20171219

A045 Written measure of dismissal of application [lapsed due to lack of payment]

Free format text: JAPANESE INTERMEDIATE CODE: A045

Effective date: 20180424