以下、本発明の実施形態を図面を参照して説明する。
実施形態1.
図1は、本発明の第1の実施形態の画像変換パラメータ算出装置の例を示すブロック図である。第1の実施形態の画像変換パラメータ算出装置1は、2つの画像が入力されると、一方の画像(Aとする。)に含まれる物体の位置が他の画像(Bとする。)におけるその物体の位置と同じになるように、画像A内の画素の座標を変換する変換パラメータを算出する。入力される画像A,Bは、画像の位置合わせの対象となる画像である。例えば、動画における連続するフレーム等が、画像A,Bとして入力される。本発明の画像変換パラメータ算出装置1は、特徴点検出手段2と、対応特徴点特定手段3と、モデル選択手段4と、パラメータ計算手段5と、モデル適切性判定手段6とを備える。
特徴点検出手段2は、入力された画像A,Bから、それぞれ特徴点を検出する。すなわち、画像A,B内において特徴点となる画素を判定する。特徴点検出手段2は、各画像の個々の画素に対して、特徴点検出用オペレータの演算を行い、その演算結果として得られる値に基づいて、特徴点となる画素を判定すればよい。以下、特徴点検出用オペレータとして、Harrisのインタレストオペレータを用いる場合を例にして説明するが、特徴点検出用オペレータは、Harrisのインタレストオペレータに限定されない。Harrisのインタレストオペレータを用いる場合、特徴点検出手段2は、画像内の画素毎に、Harrisのインタレストオペレータの演算を行い、演算結果が極大となる画素を特徴点として判定すればよい。
対応特徴点特定手段3は、画像Aから検出された特徴点群と、画像Bから検出された特徴点群とから、画像A,B間で対応する特徴点の組を特定する。対応特徴点特定手段3は、例えば、画像Aから検出された特徴点座標を中心とする局所領域内のパターンと、画像Bから検出された特徴点座標を中心とする局所領域内のパターンとの類似度を計算し、類似度が高いと判定される特徴点同士を対応付ければよい。あるいは、他の方法で特徴点同士を対応づけてもよい。
パラメータ計算手段5は、画像Aの各特徴点の座標を、画像B内で対応する特徴点座標またはその近傍の点の座標に変換する変換パラメータを計算する。この変換パラメータは、画像Aを画像Bに合わせるように画像Aの画素の座標を変換するための変換パラメータの候補である。
パラメータ計算手段5は、モデル選択手段4が選択する座標変換モデルにおける変換パラメータを計算することによって、画像Aの各特徴点の座標を、画像B内で対応する特徴点座標またはその近傍の点の座標に変換する変換パラメータを計算する。この計算では、パラメータ計算手段5は、選択された座標変換モデルにおける変換パラメータを、対応する特徴点同士の組を用いて、例えば、RANSAC(RANdom SAmple Consensus)アルゴリズムによって計算すればよい。
モデル選択手段4は、パラメータ計算手段5が変換パラメータを計算する際の座標変換モデルを選択する。既に説明したように、座標変換モデルとは、変換の自由度で分類した座標変換の種類である。変換の自由度は、パラメータの数で表される。すなわち、変換の自由度が高くなるほど、変換パラメータの数は多くなり、変換の自由度が低いほど、変換パラメータの数は少なくなる。以下、座標変換モデルの例を示す。以下の説明において、an(nは自然数)は、座標変換モデルにおける変換パラメータを表すものとする。
座標変換モデルの第1の例として、座標を平行移動させる変換(以下、平行移動変換と記す。)が挙げられる。変換前の座標を(x,y)とし、変換後の座標を(x’,y’)とすると、平行移動変換は、以下に示す式(1)および式(2)で表すことができる。
x’=x+a1 式(1)
y’=y+a2 式(2)
平行移動変換で用いる変換パラメータは、a1,a2の2個であり、平行移動変換の自由度は2である。
座標変換モデルの第2の例として、アフィン変換が挙げられる。変換前の座標を(x,y)とし、変換後の座標を(x’,y’)とすると、アフィン変換は、以下に示す式(3)および式(4)で表すことができる。
x’=a1x+a2y+a3 式(3)
y’=a4x+a5y+a6 式(4)
アフィン変換で用いる変換パラメータは、a1〜a6の6個であり、アフィン変換の自由度は6である。
座標変換モデルの第3の例として、ホモグラフィ(Homography)変換が挙げられる。ホモグラフィ変換では、長方形を任意の四辺形に変換可能である。変換前の座標を(x,y)とし、変換後の座標を(x’,y’)とすると、ホモグラフィ変換は、以下に示す式(5)および式(6)で表すことができる。
x’=(a1x+a2y+a3)/(a7x+a8y+1) 式(5)
y’=(a4x+a5y+a6)/(a7x+a8y+1) 式(6)
ホモグラフィ変換で用いる変換パラメータは、a1〜a8の8個であり、ホモグラフィ変換の自由度は8である。
本例では、座標変換モデルの例を3つ挙げたが、モデル選択手段4は、他の座標変換モデルを選択してもよい。
本実施形態では、モデル選択手段4は、変換の自由度が少ない順に、座標変換モデルを選択する。以下の説明では、モデル選択手段4が、自由度2,6,8の順に座標変換モデルを選択する場合を例にして説明する。具体的には、平行移動変換、アフィン変換、ホモグラフィ変換の順に座標変換モデルを選択する場合を例に説明する。
モデル選択手段4が平行移動変換を選択した場合、パラメータ計算手段5は、式(1)および式(2)におけるa1,a2を計算する。また、モデル選択手段4がアフィン変換を選択した場合、パラメータ計算手段5は、式(3)および式(4)におけるa1〜a6を計算する。また、モデル選択手段4がホモグラフィ変換を選択した場合、パラメータ計算手段5は、式(5)および式(6)におけるa1〜a8を計算する。
モデル適切性判定手段6は、モデル選択手段4によって選択された座標変換モデルが適切であるか否かを判定する。モデル適切性判定手段6は、パラメータ計算手段5が計算した変換パラメータを用いて画像A内の特徴点の座標を変換し、その特徴点に対応する画像B内の特徴点の座標と、変換によって得た座標との差(例えば、後述の平均再投影誤差)を計算する。モデル適切性判定手段6は、その差が大きければ、選択された座標変換モデルは画像Aから画像Bへの変換として適切でないと判定する。また、その差が小さければ、選択された座標変換モデルは画像Aから画像Bへの変換として適切であり、その座標変換モデルに基づいて計算された変換パラメータも画像Aから画像Bへの変換パラメータとして適切であると判定する。なお、画像A内の特徴点に対応する画像B内の特徴点の座標と、画像A内の特徴点を変換して得た座標との差が大きいか否かは、予め定めた閾値との大小関係に基づいて判定すればよい。
特徴点検出手段2、対応特徴点特定手段3、モデル選択手段4、パラメータ計算手段5、およびモデル適切性判定手段6は、例えば、画像変換パラメータ算出プログラムに従って動作するコンピュータのCPUによって実現される。例えば、コンピュータのプログラム記憶手段(図示せず)に記憶された画像変換パラメータ算出プログラムをCPUが読み込み、CPUがそのプログラムに従って、特徴点検出手段2、対応特徴点特定手段3、モデル選択手段4、パラメータ計算手段5、およびモデル適切性判定手段6として動作する。また、特徴点検出手段2、対応特徴点特定手段3、モデル選択手段4、パラメータ計算手段5、およびモデル適切性判定手段6がそれぞれ別々の回路として実現されていてもよい。
次に、動作について説明する。
図2は、本発明の画像変換パラメータ算出装置の処理経過の例を示すフローチャートである。なお、初期状態において、モデル選択手段4は、変換の自由度が2である平行移動変換を選択しているものとする。
画像A,Bが入力されると、特徴点検出手段2は、入力された画像A,Bそれぞれから特徴点を検出する(ステップS1)。画像Aから特徴点を検出する場合、特徴点検出手段2は、画像Aの各画素に対して、Harrisのインタレストオペレータの演算を行い、演算結果が極大となる画素を特徴点とする。特徴点検出手段2は、画像Bからも同様に特徴点を検出する。ここでは、Harrisのインタレストオペレータを用いて特徴点を検出する場合を例示したが、本実施形態では、特徴点検出手段2の特徴点検出方法は、特に限定されない。
次に、対応特徴点特定手段3は、画像Aから検出された特徴点群と、画像Bから検出された特徴点群とから、画像間で対応する特徴点の組を特定する(ステップS2)。ステップS2において、対応特徴点特定手段3は、一方の画像(画像A)の特徴点を選択し、もう一方の画像(画像B)からその特徴点に対応する特徴点(以下、対応点と記す。)の候補を選択する。さらに、対応特徴点特定手段3は、画像Aの特徴点座標を中心とする局所領域内のパターンを画像Aから抽出し、同様に、画像Bからも選択した対応点の候補の座標を中心とする局所領域内のパターンを抽出する。対応特徴点特定手段3は、画像Aから抽出したパターンと画像Bから抽出したパターンの組み合わせにおけるSAD(Sum of Absolute Difference)値を計算する。SAD値とは、2つのパターンの対応する画素毎に、画素値の差の絶対値を計算して、画素毎に計算した画素値の差の絶対値の総和として得られる値である。対応特徴点特定手段3は、画像Bの対応点候補を変更しながら、対応点候補毎にSAD値を計算し、SAD値が最小となる対応点を、画像Aから選択した特徴点に対応する画像B内の特徴点として決定する。対応特徴点特定手段3は、この動作を繰り返し、画像A内の特徴点と、画像B内の特徴点とを対応付ければよい。ここではSAD値に基づいて特徴点を対応付ける場合を例にして説明したが、対応特徴点特定手段3は、他の方法で画像間の特徴点の対応付けを行ってもよい。
次に、パラメータ計算手段5は、ステップS2で対応付けられた特徴点同士の組を用いて、選択されている座標変換モデルにおける変換パラメータの値を計算する(ステップS3)。本例では、初期状態で、平行移動変換が選択されている。従って、最初にステップS3に移行した場合、パラメータ計算手段5は、式(1)および式(2)におけるa1,a2を計算すればよい。
また、パラメータ計算手段5は、ステップS3において、例えば、RANSACアルゴリズムにより変換パラメータを計算すればよい。以下、RANSACアルゴリズムによる変換パラメータの計算例を示す。
パラメータ計算手段5は、対応する特徴点同士の組の中から、選択されている座標変換モデルにおける変換パラメータの値を計算可能な特徴点同士の組を任意に選択し、その特徴点同士の組から変換パラメータの値を計算する。パラメータ計算手段5は、この特徴点の組の選択と、変換パラメータの値の計算を複数回繰り返す。選択した特徴点の組から変換パラメータを計算する際には、パラメータ計算手段5は、画像Aの特徴点の座標を変換前の座標とし、画像Bの特徴点の座標を変換後の座標として、選択されている座標変換モデルの変換式にその座標代入し、変換式に含まれる各パラメータanについての方程式を解けばよい。
特徴点の組を変えて、変換パラメータの値を計算することを繰り返すことにより、変換パラメータの値が複数得られる。パラメータ計算手段5は、計算した各変換パラメータの値について、対応特徴点特定手段3によって対応付けられた全ての特徴点の組を用いて評価し、選択されている座標変換モデルにおける変換パラメータとして適切なパラメータを決定する。この評価では、パラメータ計算手段5は、対応特徴点特定手段3によって対応付けられた特徴点の各組における画像Aの特徴点の座標を変換前の座標とし、計算した変換パラメータ毎に、変換後の座標値を計算する。そして、パラメータ計算手段5は、変換パラメータ毎に、計算した変換後の座標群の中から、画像Aの特徴点に対応する画像Bの特徴点の座標との距離が所定の閾値未満となる座標の個数を計数する。パラメータ計算手段5は、その計数結果が最大となる変換パラメータを、選択されている座標変換モデルでの適切なパラメータと決定する。換言すれば、パラメータ計算手段5は、変換パラメータ毎に、ステップS2で対応付けられた特徴点の全組に関して、画像Aの特徴点座標を変換し、変換後の座標と、変換元の特徴点に対応する画像Bの特徴点の座標との距離が閾値未満となっている特徴点の組の数を計数し、その計数結果が最大となる変換パラメータを、選択されている座標変換モデルでの適切なパラメータと決定する。
以下、具体例を示す。ここでは、平行移動変換が選択されているものとする。この場合、特徴点同士の一つの組から、平行移動変換の変換式である式(1)および式(2)における変換パラメータa1,a2を計算することができる。よって、パラメータ計算手段5は、特徴点同士の組を任意に1組選択し、選択した1組から式(1)および式(2)における変換パラメータa1,a2を計算する処理を繰り返す。この結果、1つめの組からは“a1=p1,a2=q1”が得られ、2つ目の組からは“a1=p2,a2=q2”が得られるというように、複数の変換パラメータが得られたとする。パラメータ計算手段5は、対応特徴点特定手段3によって対応付けられた全ての特徴点の組における画像Aの特徴点の座標を、“a1=p1,a2=q1”を用いて変換した場合の変換結果を計算する。そして、パラメータ計算手段5は、特徴点の各組における画像Aの特徴点の座標を変換パラメータ“a1=p1,a2=q1”で変換して得た座標群の中から、画像Aの特徴点に対応する画像Bの特徴点の座標との距離が所定の閾値未満となる座標の個数を計数する。“a1=p2,a2=q2”等の他の変換パラメータに関しても同様の処理を行う。パラメータ計算手段5は、求めた計数結果が最大となる変換パラメータを、平行移動変換での適切な変換パラメータであると決定する。
なお、上記の例は、RANSACアルゴリズムによる変換パラメータ計算の一例であり、変換パラメータの計算方法は、上記の例に限定されない。
例えば、上記の例では、対応特徴点特定手段3によって対応づけられた特徴点の全組における画像Aの特徴点の座標の変換結果のうち、変換元の特徴点に対応する画像Bの特徴点の座標との距離が閾値未満となっている座標の数を計数し、その計数結果が最大となる変換パラメータを、適切な変換パラメータであると決定する場合を示した。このように変換パラメータを決定するのではなく、計数結果が大きい順に所定数の変換パラメータを選び、その各変換パラメータ導出時に選択していた各特徴点の組を用いて、最小二乗法により変換パラメータを決定してもよい。
また、例えば、特徴点の組を変えて、変換パラメータの値を計算することを繰り返す際にも、変換パラメータの値を計算するために必要な最小限の数よりも多くの数の組を選択し、それらの組から最小二乗法により変換パラメータの値を計算してもよい。
選択されている座標変換モデルでの適切な変換パラメータを計算する処理(ステップS3)の後、モデル適切性判定手段6は、ステップS3で決定した変換パラメータにおける平均再投影誤差を計算する(ステップS4)。
ここで、平均再投影誤差について説明する。ステップS2で対応付けられた特徴点の組のうち、画像A側の特徴点の座標を(xi,yi)とし、画像B側の特徴点の座標を(x’i,y’i)とする。また、画像Aの特徴点の座標(xi,yi)を、ステップS3で決定された変換パラメータを用いて変換した結果を(Xi,Yi)とする。また、テップS2で対応付けられた特徴点の組の総数をm個とする。このとき、平均再投影誤差をEとすると、平均再投影誤差Eは、以下に示す式(7)として定義される。
平均再投影誤差Eは、画像A内の特徴点に対応する画像B内の特徴点の座標と、その画像A内の特徴点の座標を変換パラメータで変換した座標との差を、画像A内の特徴点毎に求め、その平均を計算した結果の値である。平均再投影誤差Eは、画像A内の特徴点に対応する画像B内の特徴点の座標と、その画像A内の特徴点の座標を変換パラメータで変換した座標との差を表した値であるということができる。
ステップS4の次に、モデル適切性判定手段6は、選択されている座標変換モデルが画像Aから画像Bへの変換として適切か否かを判定する(ステップS5)。ステップS5では、モデル適切性判定手段6は、平均再投影誤差Eが、予め定められた閾値(以下、誤差閾値と記す。)以下であるか否かを判定することによって、選択されている座標変換モデルが適切か否かを判定する。
平均再投影誤差Eが誤差閾値より大きいということは、選択されている座標変換モデルに基づいてステップS3で決定した変換パラメータは、画像Aから画像Bへの変換を適切に表現できていないことになる。よって、モデル適切性判定手段6は、平均再投影誤差Eが誤差閾値より大きい場合には、選択されている座標変換モデルが適切でないと判定する(ステップS5のNo)。逆に、平均再投影誤差Eが誤差閾値以下であるということは、画像A内の特徴点に対応する画像B内の特徴点の座標と、その画像A内の特徴点の座標を変換パラメータで変換した座標との差が十分に小さく、選択されている座標変換モデルが適切であり、その変換モデルに基づいてステップS3で計算された変換パラメータも、画像Aから画像Bへの変換を適切に表現できているということができる。よって、モデル適切性判定手段6は、平均再投影誤差Eが誤差閾値以下である場合には、選択されている座標変換モデルが適切であると判定する(ステップS5のYes)。
選択されている座標変換モデルが適切でない場合(すなわち、平均再投影誤差Eが誤差閾値より大きい場合)、モデル選択手段4は、選択している座標変換モデルよりも自由度が高い座標変換モデルを新たに選択する(ステップS6)。すなわち、選択する座標変換モデルを更新する。例えば、平行移動変換を選択している状態でステップS6に移行した場合、モデル選択手段4は、より自由度の高いアフィン変換を選択する。また、アフィン変換を選択している状態でステップS6に移行した場合、モデル選択手段4は、より自由度の高いホモグラフィ変換を選択する。
ただし、予め選択順を定めた座標変換モデルで、最も自由度が高い座標変換モデルを既に選択している場合には、より自由度が高い座標変換モデルを選択できない。この場合(ステップS7のNo)、ステップS8に移行する。
また、ステップS6でより自由度が高い変換モデルを選択した場合には(ステップS7のYes)、画像変換パラメータ算出装置は、画像A,Bに対して、ステップS1以降の処理を繰り返す。
ステップS6でアフィン変換が新たに選択され、ステップS1から処理をやり直した場合におけるステップS3の処理の例を示す。この場合、特徴点同士の3つの組から、式(3)および式(6)の方程式を6個定め、その方程式から変換パラメータa1〜a6を計算することができる。よって、パラメータ計算手段5は、特徴点同士の組を任意に3組選択し、選択した3組から式(3)および式(4)における変換パラメータa1〜a6を計算することを繰り返す。この結果、1つめの組からは“a1=p1,a2=q1,a3=r1,a4=s1,a5=t1,a6=u1” が得られ、2つ目の組からは“a1=p2,a2=q2,a3=r2,a4=s2,a5=t2,a6=u2” が得られるというように、複数の変換パラメータが得られたとする。パラメータ計算手段5は、対応特徴点特定手段3によって対応付けられた全ての特徴点の組における画像Aの特徴点の座標を、“a1=p1,a2=q1,a3=r1,a4=s1,a5=t1,a6=u1”を用いて変換した場合の変換結果を計算する。そして、パラメータ計算手段5は、特徴点の各組における画像Aの特徴点の座標を変換パラメータ“a1=p1,a2=q1,a3=r1,a4=s1,a5=t1,a6=u1”で変換して得た座標群の中から、画像Aの特徴点に対応する画像Bの特徴点の座標との距離が所定の閾値未満となる座標の個数を計数する。“a1=p2,a2=q2,a3=r2,a4=s2,a5=t2,a6=u2” 等の他の変換パラメータに関しても同様の処理を行う。パラメータ計算手段5は、求めた計数結果が最大となる変換パラメータを、アフィン変換での適切な変換パラメータであると決定する。
ステップS6でホモグラフィ変換が新たに選択された後に、ステップS1から処理をやり直してステップS3に移行した場合にも、同様の処理を行って、ホモグラフィ変換での適切な変換パラメータa1〜a8の値を決定すればよい。
なお、既に説明したように、上記の例は、RANSACアルゴリズムによる変換パラメータ計算の一例であり、変換パラメータの計算方法は、上記の例に限定されない。
ステップS6で新たに座標変換パラメータを選択し、ステップS1以降の処理を繰り返すループ処理において、モデル適正判定手段6が、選択されている座標変換モデルが画像Aから画像Bへの変換として適切と判定したならば(ステップS5のYes)、モデル適正判定手段6は、その直前のステップS4で計算された変換パラメータを、画像Aから画像Bへの変換を表現した変換パラメータとして確定する(ステップS8)。
また、予め定めた座標変換モデルのうち、最も自由度が高い座標変換モデルを選択している場合に、ステップS6に移行し、ステップS6で次の座標変換モデルを選択できない状態となったときにも(ステップS7のNo)、モデル適正判定手段6は、その直前のステップS4で計算された変換パラメータを、画像Aから画像Bへの変換を表現した変換パラメータとして確定する(ステップS8)。
本実施形態によれば、モデル選択手段4が、変換の自由度が低い方から順に座標変換モデルを選択し、その座標変換モデルにおける変換式のパラメータをパラメータ計算手段5が計算する。そして、モデル適切性判定手段6が、画像A内の特徴点に対応する画像B内の特徴点の座標と、その画像A内の特徴点の座標を変換パラメータで変換した座標との差の大きさに応じて、選択されている座標変換モデルが画像Aから画像Bへの変換として適切か否かを判定し、適切でなければ、モデル選択手段4がより自由度の大きい座標変換モデルを選択する。このような構成により、処理対象とする画像A,Bに対して適切かつ必要最小限の自由度を持った座標変換モデルを特定して、その座標変換モデルにおけるパラメータとして、画像Aから画像Bへの適切な変換パラメータを得ることができる。また、その結果、画像Aから画像Bへの画像変換(位置合わせ)の精度を向上させることができる。
なお、図2では、ステップS6でより自由度が高い変換モデルを選択した場合に(ステップS7のYes)、ステップS1以降の処理を繰り返す場合を示しているが、ステップS3以降の処理を繰り返してもよい。すなわち、ステップS1,S2を再度実行して、特徴点検出および特徴点の対応付けをやり直してもよいし、あるいは、既に対応付けの済んだ特徴点の組を用いてステップS3から処理をやり直してもよい。ステップS3から処理をやり直す場合には、新たに選択された座標変換モデルに関して変換パラメータを計算するときに、以前に選択された座標変換モデルに関して変換パラメータを計算する際に既に対応付けられていた特徴点の組を用いることになる。
また、上記の実施形態では、平行移動変換、アフィン変換、ホモグラフィ変換の順に選択する場合を示したが、選択対象となる座標変換モデルの組み合わせは、上記の3つの変換の組み合わせに限定されない。例えば、アフィン変換、ホモグラフィ変換の順に選択する構成であってもよい。また、平行移動変換、アフィン変換、ホモグラフィ変換以外の座標変換モデルを選択してもよい。
また、上記の実施形態では、モデル選択手段4が座標変換モデルを1つずつ選択し、選択された座標変換モデル毎にループ処理を実行する場合を示した。このようなループ処理を実行するのではなく、各座標変換モデルに対する処理を並列に行ってもよい。例えば、ステップS1,S2を実行した後、パラメータ計算手段5が、平行移動変換に関する変換パラメータ計算と、アフィン変換に関する変換パラメータ計算と、ホモグラフィ変換に関する変換パラメータ計算とをそれぞれ並列に行ってもよい。すなわち、複数種類の座標変換モデルに対するステップS3の処理を並列に行ってもよい。その後、モデル適切性判定手段6が、座標変換モデル毎に、平均再投影誤差の計算を行い(ステップS4)、座標変換モデルの適切性の判定(ステップS5)を行う。そして、ステップS5で、平均再投影誤差が誤差閾値以下となっている座標変換モデルを適切な座標変換モデルと決定し、その座標変換モデルに関して計算した変換パラメータを、画像Aから画像Bへの変換パラメータとして確定する。平均再投影誤差が誤差閾値以下となっている座標変換モデルが複数存在する場合には、その中で自由度が最も低い座標変換モデルを、適切な座標変換モデルとして決定すればよい。また、平均再投影誤差が誤差閾値以下となっている座標変換モデルが存在しない場合には、予め定めた座標変換モデルのうち、自由度が最も高い座標変換モデルを適切な変換モデルとして決定すればよい。
実施形態2.
第2の実施形態の画像変換パラメータ算出装置は、画像から特徴点を検出する際に、予め定められた所定数以上の特徴点を検出することにより、十分な数の特徴点を確保する。
図3は、本発明の第2の実施形態の画像変換パラメータ算出装置の例を示すブロック図である。第1の実施形態と同様の構成要素については、図1と同一の符号を付し、詳細な説明を省略する。第2の実施形態の画像変換パラメータ算出装置10は、特徴点検出手段20と、対応特徴点特定手段3と、モデル選択手段4と、パラメータ計算手段5と、モデル適切性判定手段6とを備える。対応特徴点特定手段3、モデル選択手段4、パラメータ計算手段5およびモデル適切性判定手段6は、第1の実施形態と同様である。
特徴点検出手段20は、入力された各画像A,Bから特徴点を検出する。第1の実施形態では、特徴点検出方法は特に限定していない。これに対し、第2の実施形態において、特徴点検出手段20は、画像の個々の画素に対して、特徴点検出用オペレータの演算を行う。そして、特徴点検出手段20は、画像の画素に対して、ラスタスキャン順に、特徴点検出用オペレータの演算結果が極大になっているかを判定し、極大になっている画素を分類する。この分類処理では、特徴点検出手段20は、特徴点検出用オペレータの演算結果として計算され得る最小値から最大値までの範囲を分割した各区間のうちのどの区間に、画素に対する演算結果が属するかを判定して、画素をその区間に分類する。特徴点検出手段20は、演算結果が極大となる各画素に対してこの分類処理を行った後、演算結果のとり得る最大値に近い方の区間から順に区間を選択し、選択した区間に分類した画素を累積加算していく。その累積加算結果が、所定数数以上になった時点で区間の選択を停止する。この結果、特徴点検出手段20は、演算結果に対するソーティング処理を行うことなく、所定数以上の特徴点を得ることができる。
図4は、画素に対する特徴点検出用オペレータの演算結果を模式的に示す説明図である。図4に示す横軸は、1つの画像内の個々の画素の識別情報(例えば、座標値)を示す。また、縦軸は、各画素に対する特徴点検出用オペレータの演算結果の値を示す。従って、図4では、画素毎の特徴点検出用オペレータの演算結果の変化を模式的に表している。図5は、図4に示す演算結果の変化において演算結果が極大となる箇所を示す説明図である。図5では、演算結果が極大となる箇所を丸印で囲んで示している。特徴点検出手段20は、ラスタスキャン順に、演算結果がこのような極大となる画素であるかを判定し、演算結果が極大となる画素(特徴点)に対して、上述のように分類処理を行う。そして、特徴点の分類に用いた区間を順に選択していくことによって、演算結果が極大となる画素を演算結果の値の降順に一つ一つ順序づけるソーティング処理は行わずに、特徴点を選択する。なお、本実施形態では、ラスタスキャン順に、演算結果が極大となる画素であるかを判定していく場合を例示するが、このスキャン順は例示であり、特徴点検出手段20は、ラスタスキャン順以外の順にこの処理を行ってもよい。
特徴点検出手段20は、具体的には、オペレータ演算手段21と、特徴点分類手段22と、分類結果記憶手段23と、特徴点選択手段24とを含む。
オペレータ演算手段21は、画像内の個々の画素に対して、特徴点検出用オペレータの演算を行う。本実施形態では、特徴点検出用オペレータとしてHarrisのインタレストオペレータを用いる場合を例にして説明するが、演算結果が極大となる画素を特徴点として選択することが可能なオペレータであれば、Harrisのインタレストオペレータ以外のオペレータであってもよい。
特徴点分類手段22は、Harrisのインタレストオペレータの演算結果が極大となる画素である特徴点を、ラスタスキャン順に、その演算結果の値に応じて分類する。この分類を行えるようにするため、Harrisのインタレストオペレータの演算結果の値がとり得る範囲を、予め複数の区間に分割し、各区間の範囲を定めておく。特徴点分類手段22は、ラスタスキャン順に、Harrisのインタレストオペレータの演算結果が極大となる画素(すなわち特徴点)を、その演算結果がどの区間に属するかを判定し、分類する。
図6は、演算結果の値がとり得る範囲を分割した各区間の例を示す。図6に示す縦軸および横軸は、図4と同様である。Harrisのインタレストオペレータの演算結果の値がとり得る最小値をHminとし、最大値をHmaxとする。Hmin〜Hmaxの範囲を分割して、複数の区間を予め定めておけばよい。Hmin〜Hmaxの範囲を分割する場合には、例えば、各区間が均等になるように分割を行えばよい。ただし、この分割方法に限定されるわけではなく、各区間の範囲の大きさが異なるように分割してもよい。図6に示す例では、H3〜Hmaxの範囲を区間h1と定め、同様に、H2〜H3の範囲、H1〜H2の範囲、Hmin〜H1の範囲をそれぞれ、区間h2,h3,h4と定める場合を例示している。なお、区間の境界となる値(本例ではH1,H2,H3)は、いずれか一方の区間に振り分ければよい。以下、個々の区間に該当する演算結果の範囲を区間該当範囲と記す。
図7は、特徴点の分類を模式的に示す説明図である。図7に例示する特徴点(極大点)が得られた場合、特徴点分類手段22は、各特徴点を、Harrisのインタレストオペレータの演算結果の値が属する区間の特徴点として分類する。本例では、区間h2に3つの特徴点が分類され、他の区間h1,h3,h4には1つずつ特徴点が分類されることになる。
分類結果記憶手段23は、特徴点分類手段22による特徴点の分類結果を記憶する記憶装置である。分類結果記憶手段23は、例えば、区間毎に、分類された特徴点の座標値(特徴点識別情報)、および分類された特徴点の総数をまとめたテーブルを記憶する。以下のこのテーブルを特徴点テーブルと記す。図8に特徴点テーブルの例を示す。図8は、図7に示す各区間に特徴点を分類した場合の例を示している。また、図8では、便宜上、特徴点座標を模式的に1,2・・等の番号で図示している。図8に示す例では、区間h1には、1つの特徴点が分類され、その特徴点座標が「1」であることを示している。同様に、区間h2には、1つの特徴点が分類され、その特徴点座標が「2」、「3」、「4」であることを示している。また、区間h3には、1つの特徴点が分類され、その特徴点座標が「5」であることを示している。また、区間h4には、1つの特徴点が分類され、その特徴点座標が「6」であることを示している。
特徴点選択手段24は、区間該当範囲がHmaxに近い方の区間から、区間を順次選択して、選択した区間に属する特徴点数を累積加算していく。特徴点選択手段24は、選択した区間に属する特徴点数を、特徴点テーブルから読み込めばよい。Hmaxは、Harrisのインタレストオペレータの演算結果のとり得る最大値である。そして、その加算結果が所定数以上となったならば、区間の選択を中止し、それまでに選択した各区間に分類されている特徴点を選択する。
上記の構成により、特徴点検出手段20は、入力された画像Aから、所定個数以上の特徴点を検出する。また、特徴点検出手段20は、入力されたもう一方の画像Bからも、所定個数以上の特徴点を検出する。
対等特徴点決定手段3は、特徴点検出手段20によって画像A,Bから検出された特徴点を対象にして、第1の実施形態と同様の処理を実行する。
本実施形態における特徴点検出手段20(オペレータ演算手段21、特徴点分類手段22、分類結果記憶手段23、特徴点選択手段24)は、例えば、画像変換パラメータ算出プログラムに従って動作するコンピュータのCPUによって実現される。例えば、コンピュータのプログラム記憶手段(図示せず)に記憶された画像変換パラメータ算出プログラムをCPUが読み込み、CPUがそのプログラムに従って、特徴点検出手段20(オペレータ演算手段21、特徴点分類手段22、分類結果記憶手段23、特徴点選択手段24)、対応特徴点特定手段3、モデル選択手段4、パラメータ計算手段5、およびモデル適切性判定手段6として動作する。なお、分類結果記憶手段23は、例えば、CPUが備えるメモリによって実現されるが、CPUとの外部に設けられた記憶装置であってもよい。
また、特徴点検出手段20、対応特徴点特定手段3、モデル選択手段4、パラメータ計算手段5、およびモデル適切性判定手段6がそれぞれ別々の回路として実現されていてもよい。特徴点検出手段20に関しても、オペレータ演算手段21、特徴点分類手段22、分類結果記憶手段23および特徴点選択手段24がそれぞれ別々の回路として実現されていてもよい。
次に、第2の実施形態の動作について説明する。
第2の実施形態の画像変換パラメータ算出装置10は、第1の実施形態と同様にステップS1〜S8の動作(図2参照。)を実行することにより、一方の画像Aから他方の画像Bへの変換パラメータを確定する。ただし、画像A,Bそれぞれから特徴点を検出する処理(ステップS1)において、特徴点検出手段20は、以下のように動作する。
図9は、第2の実施形態における特徴点検出処理の処理経過の例を示すフローチャートである。特徴点検出手段20は、入力された画像A,Bそれぞれに対して図9に示す処理を行う。以下に示す例では、Harrisのインタレストオペレータの演算結果の値がとり得る範囲を分割した各区間を、区間該当範囲がHmaxに近い方から順番に、1,2,・・・という区間識別番号で識別しているものとする。そして、特徴点選択手段24が選択している区間の区間識別番号を変数mで表すこととする。一つの画像に対して特徴点検出処理を開始するときには、特徴点選択手段24は、mの値を1に初期化するものとする。すなわち、区間該当範囲がHmaxに最も近い区間を最初に選択することになる。
画像Aから特徴点を検出する場合を例にすると、オペレータ演算手段21は、画像A内の個々の画素に対して、Harrisのインタレストオペレータの演算を行う(ステップS11)。
次に、特徴点分類手段22は、ステップS11で計算された演算結果が極大となっているか否かをラスタスキャン順に各画素について判定し、演算結果が極大となっている画素を特徴点として定める。そして、特徴点分類手段22は、その特徴点をラスタスキャン順に、予め定められた区間のいずれかに分類する。この分類処理では、特徴点をステップS11における演算結果の値に応じて、いずれかの区間に分類すればよい。そして、特徴点分類手段22は、分類結果を分類結果記憶手段23に記憶させる(ステップS12)。換言すれば、特徴点分類手段22は、各区間に分類した特徴点の特徴点識別情報および各区間の特徴点総数を特徴点テーブルに登録する。例えば、特徴点分類手段22は、特徴点テーブル(図8参照)の各区間の特徴点総数をそれぞれ0に初期化し、特徴点座標に関しても何も格納されていない状態に初期化する。そして、特徴点分類手段22は、ステップS11の演算結果が極大となっている画素である特徴点に関して、その演算結果の値がどの区間に属するかを判定し、その特徴点をその区間に分類する。そして、特徴点分類手段22は、特徴点テーブルにおいて、その区間に対応する特徴点総数の値を1加算し、その区間に対応する特徴点座標に、分類した特徴点の座標を格納する。特徴点分類手段22は、この処理をテップS11の演算結果が極大となっている特徴点毎に実行する。この結果、図8に例示する特徴点テーブルが得られる。
ステップS12の後、特徴点選択手段24は、選択している区間の特徴点総数を読み取り、それまで選択した各区間の特徴点総数に累積加算する。そして、その累積加算結果が、予め定められた所定数以上になっているか否かを判定する(ステップS13)。すなわち、特徴点選択手段24は、以下の式(8)で表される条件が満たされているか否かを判定する。
式(8)において、ckは、区間識別番号がkである区間に分類された特徴点の総数である。また、特徴点選択手段24は、区間該当範囲がHmaxに近い方から順番に区間を選択していく。従って、式(8)の左辺は、それまで選択した各区間の特徴点総数を累積加算した値を意味する。また、式(8)の右辺に示すthreshは、予め定められた所定数を表す定数である。
式(8)に示す条件が成立していないということは、区間該当範囲がHmaxに近い方から順番に選択してきた各区間の特徴点の総和が、所定数に達していないということである。この場合(ステップS13のNo)、特徴点選択手段24は、選択している区間の区間識別番号を表す変数mの値を1インクリメントする(ステップS14)。変数mを1インクリメントするということは、それまで選択していた区間に隣接している区間であって、Hmaxから遠い方の区間を新たに選択することを意味する。従って、特徴点選択手段24は、区間該当範囲がHmaxに近い方から順番に区間を選択していくことになる。
また、式(8)に示す条件が成立しているということは、区間該当範囲がHmaxに近い方から順番に選択してきた各区間の特徴点の総和が所定数に達したということである。この場合8ステップS13のYes)、特徴点選択手段24は、区間識別番号が1からmまでの各区間に分類された各特徴点を選択する(ステップS15)。ステップS15で選択された特徴点が、画像Aから検出された特徴点である。
なお、ステップS13において、特徴点選択手段24は、それまでに選択した各区間の特徴点総数の累積加算結果を求める際には、その都度、式(8)の左辺の計算を行ってもよい。
あるいは、特徴点選択手段24は、j番目の区間を選択したときに、1番目からj番目までの各区間の特徴点の総和を求め、その総和が、thresh未満である場合には、求めた総和を記憶してもよい。そして、ステップS14を経て再度ステップS13に移行したときには、記憶している総和に、j+1番目の区間の特徴点総数を加算することによって、1番目からj+1番目までの各区間の特徴点の総和を計算してもよい。この計算方法によれば、ステップS13に移行する毎に式(8)の左辺の計算を行う場合よりも、計算量を少なくすることができる。なお、上記のjは1以上の任意の区間識別番号である。
ステップS13,S14のループ処理の具体例を示す。本例では、図8に例示する特徴点テーブルがステップS12で作成されているものとする。また、図8に示す例では、区間h1〜h4の区間識別番号はそれぞれ1〜4である。また、ここでは、thresh=3である場合を例に説明する。最初にステップS13に移行したときには、m=1である。すなわち、特徴点選択手段24は、区間h1を選択している。区間h1に分類されている特徴点数は1個であるので(図8参照)、選択した各区間の特徴点累積加算結果は1である。よって、式(8)の条件は満たさないので、特徴点選択手段24は、変数mの値を2に更新し、区間h2を選択する。区間h2に分類されている特徴点数は3個であるので(図8参照)、選択した各区間の特徴点累積加算結果は1+3=4となり、thresh以上となる。よって、特徴点選択手段24は、ステップS15に移行し、区間h1,h2に分類された特徴点を選択する。
以上の説明において、特徴点検出手段20が画像Aから特徴点を検出する場合を示したが、特徴点検出手段20は、特徴点Bからも同様の処理で特徴点を検出する。特徴点検出手段20が画像A,Bからそれぞれ所定数以上の特徴点を検出したことにより、本実施形態におけるステップS1(図2参照)が完了する。ステップS1の後、画像変換パラメータ算出出装置10は、第1の実施形態と同様にステップS2以降の処理を実行する。ステップS2以降の処理は、第1の実施形態と同様であり、説明を省略する。
本実施形態によれば、入力される画像A,Bそれぞれから所定数以上の特徴点を検出することができる。従って、十分な数の特徴点を得ることができ、画像Aから画像Bへの画像変換(位置合わせ)の精度を向上させることができる。
また、本実施形態では、特徴点分類手段22は、特徴点をその演算結果に応じた区間に分類する。そして、特徴点選択手段24が、区間該当範囲がHmaxに近い方から区間を選択し、選択した区間における特徴点数の累積加算結果が所定数以上となったときに、それまでに選択した各区間に分類された各特徴点を選択する。従って、演算結果が極大となる特徴点を、演算結果の値の降順に一つ一つ順序づけるソーティング処理が不要となる。その結果、効率的に所定数以上の特徴点を検出することができる。
実施形態3.
第2の実施形態で示した特徴点検出手段20を、特徴点検出装置として実現してもよい。第3の実施形態として、このような特徴点検出装置を説明する。図10は、本発明の第3の実施形態の特徴点検出装置の例を示すブロック図である。第2の実施形態における特徴点検出手段20の構成要素と同様の構成要素は、図3と同一の符号を付して詳細な説明を省略する。本実施形態の特徴点検出装置27は、オペレータ演算手段21と、特徴点分類手段22と、分類結果記憶手段23と、特徴点選択手段24とを含む。
特徴点検出装置27は、入力された画像から特徴点を検出する。本実施形態では、第2の実施形態と同様に、画像A,Bのように変換パラメータ算出の対象となる複数の画像が入力されてもよい。あるいは、1つの画像のみが入力されてもよい。特徴点検出装置27は、入力された個々の画像毎に特徴点を検出する。
本実施形態におけるオペレータ演算手段21、特徴点分類手段22、分類結果記憶手段23および特徴点選択手段24(図10参照)は、第2の実施形態における特徴点検出手段20が備えるオペレータ演算手段21、特徴点分類手段22、分類結果記憶手段23および特徴点選択手段24(図3参照)と同様である。
すなわち、オペレータ演算手段21は、画像内の個々の画素に対して、特徴点検出用オペレータの演算を行う。第2の実施形態と同様に、特徴点検出用オペレータとしてHarrisのインタレストオペレータを用いる場合を例にして説明するが、演算結果が極大となる画素を特徴点として選択することが可能なオペレータであれば、Harrisのインタレストオペレータ以外のオペレータであってもよい。
特徴点分類手段22は、Harrisのインタレストオペレータの演算結果が極大となる画素である特徴点を、その演算結果の値に応じて分類する。分類結果記憶手段23は、特徴点分類手段22による特徴点の分類結果を記憶する記憶装置である。特徴点分類手段22は、例えば、図8に例示するような特徴点テーブルを分類結果として分類結果記憶手段23に記憶させる。
特徴点選択手段24は、区間該当範囲がHmaxに近い方の区間から、区間を順次選択して、選択した区間に属する特徴点数を累積加算する。そして、その加算結果が所定数以上となったならば、区間の選択を中止し、それまでに選択した各区間に分類されている特徴点を選択する。
オペレータ演算手段21、特徴点分類手段22、分類結果記憶手段23および特徴点選択手段24は、例えば、特徴点検出プログラムに従って動作するコンピュータのCPUによって実現される。コンピュータのプログラム記憶手段(図示せず)に記憶された特徴点検出プログラムをCPUが読み込み、CPUがそのプログラムに従って、オペレータ演算手段21、特徴点分類手段22、分類結果記憶手段23、特徴点選択手段24として動作する。分類結果記憶手段23は、例えば、CPUが備えるメモリによって実現されるが、CPUとの外部に設けられた記憶装置であってもよい。
また、オペレータ演算手段21、特徴点分類手段22、分類結果記憶手段23および特徴点選択手段24がそれぞれ別々の回路として実現されていてもよい。
第3の実施形態の特徴点検出装置27の処理経過は、第2の実施形態で説明したステップS11〜S15と同様である。この動作により、特徴点検出装置27は、入力された画像から所定数以上の特徴点を検出する。
本実施形態においても、入力された画像から所定数以上の特徴点を検出することができる。また、第2の実施形態と同様に、特徴点検出用オペレータの演算結果が極大となる特徴点を演算結果の値の降順に一つ一つ順序づけるソーティング処理が不要となる。従って、効率的に所定数以上の特徴点を検出することができる。
第3の実施形態の特徴点検出装置は、第2の実施形態の画像変換パラメータ算出装置の外にも、画像から検出された特徴点を用いて処理を行う種々の画像処理装置で利用可能である。
次に、本発明の最小構成について説明する。図11は、本発明の画像変換パラメータ算出装置の最小構成の例を示すブロック図である。本発明の画像変換パラメータ算出装置10は、特徴点検出手段20と、対応特徴点特定手段3と、パラメータ計算手段5と、モデル適切性判定手段6とを備える。
特徴点検出手段20は、入力される第1画像(例えば、画像A)および第2画像(例えば、画像B)からそれぞれ所定数以上の特徴点を検出する。
対応特徴点特定手段3は、第1画像および第2画像の間で対応する特徴点の組を特定する。
パラメータ計算手段5は、変換の自由度で分類した座標変換の種類を示す座標変換モデル毎に、特徴点の組を用いて、座標変換を表す変換パラメータを計算する。
モデル適切性判定手段6は、パラメータ計算手段が計算した変換パラメータを用いて第1画像の特徴点の座標を変換し、その特徴点に対応する第2画像の特徴点の座標と、変換によって得た座標との差に基づいて、その変換パラメータに対応する座標変換モデルが第1画像から第2画像への変換として適切であるか否かを判定し、適切であると判定した座標変換モデルに関して計算された変換パラメータを第1画像から第2画像への変換パラメータとして確定する。
また、特徴点検出手段20は、オペレータ演算手段21と、特徴点分類手段22と、特徴点選択手段24とを有する。
オペレータ演算手段21は、画像内の各画素に対して特徴点検出用オペレータ(例えば、Harrisのインタレストオペレータ)の演算を行う。
特徴点分類手段22は、特徴点検出用オペレータの演算結果が極大となる各画素をそれぞれ特徴点とし、各特徴点を特徴点検出用オペレータの演算結果に応じて、特徴点検出用オペレータの演算がとり得る最小値から最大値までの範囲を分割した複数の区間のいずれかに分類する。
特徴点選択手段24は、区間に該当する範囲がその最大値に近い方から区間を選択し、選択した区間に分類された特徴点数を累積加算し、特徴点数の累積加算結果が所定数以上となったときに、選択済みの各区間に分類された特徴点を選択する。
そして、対応特徴点特定手段3は、特徴点選択手段24が選択した特徴点の中から特徴点の組を特定する。
以上のような構成により、第1画像および第2画像の組み合わせに関して適切な座標変換モデルを特定して、その座標変換モデルにおけるパラメータとして、第1画像から第2画像への適切な変換パラメータを得ることができる。また、その結果、第1画像から第2画像への画像変換(位置合わせ)の精度を向上させることができる。
また、特徴点検出用オペレータの演算結果が極大となる特徴点を演算結果の値の降順に一つ一つ順序づけるソーティング処理を行うことなく、所定数以上の特徴点を検出することができる。従って、画像から効率的に所定数以上の特徴点を検出できる。
なお、上記の実施形態には、以下の(1)〜(7)に示すような画像変換パラメータ算出装置が開示されている。
(1)入力される第1画像(例えば、画像A)および第2画像(例えば、画像B)からそれぞれ所定数以上の特徴点を検出する特徴点検出手段(例えば、特徴点検出手段20)と、第1画像および第2画像の間で対応する特徴点の組を特定する対応特徴点特定手段(例えば、対応特徴点特定手段3)と、変換の自由度で分類した座標変換の種類を示す座標変換モデル毎に、特徴点の組を用いて、座標変換を表す変換パラメータを計算するパラメータ計算手段(例えば、パラメータ計算手段5)と、パラメータ計算手段が計算した変換パラメータを用いて第1画像の特徴点の座標を変換し、その特徴点に対応する第2画像の特徴点の座標と、変換によって得た座標との差に基づいて、その変換パラメータに対応する座標変換モデルが第1画像から第2画像への変換として適切であるか否かを判定し、適切であると判定した座標変換モデルに関して計算された変換パラメータを第1画像から第2画像への変換パラメータとして確定するモデル適切性判定手段(例えば、モデル適切性判定手段6)とを備え、特徴点検出手段が、画像内の各画素に対して特徴点検出用オペレータ(例えば、Harrisのインタレストオペレータ)の演算を行うオペレータ演算手段(例えば、オペレータ演算手段21)と、特徴点検出用オペレータの演算結果が極大となる各画素をそれぞれ特徴点とし、各特徴点を特徴点検出用オペレータの演算結果に応じて、特徴点検出用オペレータの演算がとり得る最小値から最大値までの範囲を分割した複数の区間のいずれかに分類する特徴点分類手段(例えば、特徴点分類手段22)と、区間に該当する範囲がその最大値に近い方から区間を選択し、選択した区間に分類された特徴点数を累積加算し、特徴点数の累積加算結果が所定数(例えば、定数thresh)以上となったときに、選択済みの各区間に分類された特徴点を選択する特徴点選択手段(例えば、特徴点選択手段24)を有し、対応特徴点特定手段が、特徴点選択手段が選択した特徴点の中から特徴点の組を特定することを特徴とする画像変換パラメータ算出装置。
(2)モデル適切性判定手段が、対応する特徴点の組毎に、パラメータ計算手段が計算した変換パラメータを用いて第1画像の特徴点の座標を変換し、その特徴点に対応する第2画像の特徴点の座標と、変換によって得た座標との差を計算し、組毎に計算した差の平均値(例えば、平均再投影誤差E)が、予め定められた閾値以下である場合に、その変換パラメータに対応する座標変換モデルが第1画像から第2画像への変換として適切であると判定し、その平均値が閾値より大きい場合に、その変換パラメータに対応する座標変換モデルが第1画像から第2画像への変換として適切でないと判定する画像変換パラメータ算出装置。
(3)座標変換モデルを選択する座標変換モデル選択手段(例えば、モデル選択手段4)を備え、パラメータ計算手段が、選択された座標変換モデルにおける変換パラメータを計算し、座標変換モデル選択手段が、モデル適切性判定手段によって座標変換モデルが第1画像から第2画像への変換として適切でないと判定された場合に、その座標変換モデルよりも変換の自由度が高い座標変換モデルを新たに選択する画像変換パラメータ算出装置。
(4)パラメータ計算手段が、新たに選択された座標変換モデルに関して変換パラメータを計算するときに、以前に選択された座標変換モデルに関して変換パラメータを計算する際に既に対応付けられていた特徴点の組を用いる画像変換パラメータ算出装置。
(5)パラメータ計算手段が、複数の座標変換モデルに関して並列に変換パラメータを計算する画像変換パラメータ算出装置。
(6)特徴点分類手段による特徴点の分類結果(例えば、図8に例示する特徴点テーブル)を記憶する分類結果記憶手段(例えば、分類結果記憶手段23)を備え、特徴点分類手段が、複数の区間毎に、分類した特徴点の数、および分類した各特徴点を識別する特徴点識別情報を分類結果記憶手段に記憶させ、特徴点選択手段が、選択した区間に分類された特徴点数を分類結果記憶手段から読み込む画像変換パラメータ算出装置。
(7)入力される第1画像および第2画像からそれぞれ特徴点を検出する特徴点検出手段と、第1画像および第2画像の間で対応する特徴点の組を特定する対応特徴点特定手段と、変換の自由度で分類した座標変換の種類を示す座標変換モデル毎に、特徴点の組を用いて、座標変換を表す変換パラメータを計算するパラメータ計算手段と、パラメータ計算手段が計算した変換パラメータを用いて第1画像の特徴点の座標を変換し、その特徴点に対応する第2画像の特徴点の座標と、変換によって得た座標との差に基づいて、その変換パラメータに対応する座標変換モデルが第1画像から第2画像への変換として適切であるか否かを判定し、適切であると判定した座標変換モデルに関して計算された変換パラメータを第1画像から第2画像への変換パラメータとして確定するモデル適切性判定手段とを備えることを特徴とする画像変換パラメータ算出装置。
また、上記の実施形態には、以下の(8),(9)に示すような特徴点検出装置が開示されている。
(8)画像内の各画素に対して特徴点検出用オペレータの演算を行うオペレータ演算手段(例えば、オペレータ演算手段10)と、特徴点検出用オペレータの演算結果が極大となる各画素をそれぞれ特徴点とし、各特徴点を特徴点検出用オペレータの演算結果に応じて、特徴点検出用オペレータの演算がとり得る最小値から最大値までの範囲を分割した複数の区間のいずれかに分類する特徴点分類手段(例えば、特徴点分類手段22)と、区間に該当する範囲がその最大値に近い方から区間を選択し、選択した区間に分類された特徴点数を累積加算し、特徴点数の累積加算結果が所定数以上となったときに、選択済みの各区間に分類された特徴点を選択する特徴点選択手段(例えば、特徴点選択手段24)とを備えることを特徴とする特徴点検出装置。
(9)特徴点分類手段による特徴点の分類結果を記憶する分類結果記憶手段(例えば、分類結果記憶手段23)を備え、特徴点分類手段が、複数の区間毎に、分類した特徴点の数、および分類した各特徴点を識別する特徴点識別情報を分類結果記憶手段に記憶させ、特徴点選択手段が、選択した区間に分類された特徴点数を分類結果記憶手段から読み込む特徴点検出装置。