説明

画像処理装置及び画像処理プログラム

【課題】画像の位置合わせの処理の全てを操作者による操作によるものではなくすることができ、画像の位置合わせのための射影変換行列を安定的に求めることができ、さらに画像の位置合わせの処理量を少なくすることができるようにした画像処理装置を提供する。
【解決手段】画像処理装置の特徴点抽出手段は、2枚の画像から特徴点を抽出し、特徴点選択手段は、各々の前記画像から1個以上の特徴点を選択し、特徴点対生成手段は、前記特徴点選択手段により選択した特徴点の対を生成し、変換係数算出手段は、前記特徴点対生成手段により生成された1個以上の対を用いて変換係数を算出し、画像変換手段は、一方の前記画像の一部の領域を前記変換係数算出手段によって算出された変換係数に応じて変換し、距離計測手段は、前記画像変換手段によって変換された画像と他方の前記画像との距離を計測する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置及び画像処理プログラムに関する。
【背景技術】
【0002】
複数の画像の位置合わせを行う方法が種々提案されている。複数の画像の位置合わせを行う目的を有する技術の例として以下((1)〜(7))に示すものがある。
(1)入力画像の範囲よりも大きな範囲の画像を作成するための技術、いわゆる、パノラマ画像合成、あるいは、モザイク画像合成技術。以下((1−1)〜(1−5))に示すような応用技術、効果がある。
(1−1)面積が限定されたスキャナで、そのスキャナよりも大面積である原稿のスキャンを行う。そのために、複数回に分けてスキャンを行い、複数枚の画像を得る。その複数枚の画像の位置合わせを行うことができれば、後で電子的に張り合わせて原稿全体を一つの画像とすることが可能となる。
(1−2)画素数が限定された撮像素子(CCD等)を用いて、大画素数の画像を得る。複数回に分けて撮像素子で取得した画像が(糊しろはあるとして)別の位置を撮影したものであれば、張り合わせて大画素数の画像とすることができる。
(1−3)過去に同一場所を撮影した画像が複数ある場合に、その画像を合成して上記と同様の効果を得ることができる。
(1−4)航空写真、衛星写真などのように、一度に一部しか撮影できない場合も張り合わせて広い面積の写真を作成することができる。
(1−5)画角が限定されたカメラで広角の画像を取得することができる。
【0003】
(2)入力画像よりも高解像度の画像を作成するための技術、いわゆる、超解像技術。以下((2−1)〜(2−2))に示すような応用技術、効果がある。
(2−1)画素数が限定された撮像素子(CCD等)を用いて、大画素数の画像を得る。複数回に分けて撮像素子で取得した画像が同一位置を撮影したものであれば、解像度を向上させた画像を生成することができる。
(2−2)動画像を入力して、入力動画像よりも高解像度な静止画像を作成することができる。
【0004】
(3)複数枚の画像から、3次元形状を復元する技術。そのためには、少なくとも、2枚の画像のマッチングを取る必要がある。
(4)ロボットビジョン。物体の認識において、テンプレート画像とのマッチングを取る場合に必要となる。
(5)医用への応用技術、例えば、X線写真等のマッチング。過去のX線写真との差分を取ることで診断の補助とすることができる。
(6)リモートセンシングに対する応用技術。複数の条件(複数の周波数、色成分など)で取得した画像を重ね合わせて、新たな効果を得ることができる。
(7)その他の応用技術(例えば、全焦点画像の生成など)。複数の条件(絞り、焦点距離など)で取得した画像を重ね合わせて、新たな効果を得ることができる。
【0005】
複数の画像の位置合わせを行うためには、一般的には、対象となる物体が同一平面上にある場合、あるいは、カメラ運動が水平面での回転に制限されている場合には、射影変換を用いて、2枚の画像間の変換を規定することができる。射影変換とは、四角形を四角形に写す変換である。射影変換は、射影変換行列(ホモグラフィ)を用いて表すことができる。この射影変換行列を用いて、2枚の画像の一方を変換し、もう一つの画像に重ね合わせて、位置合わせを行うことができる。以下、射影変換行列を構成する要素を射影変換係数、あるいはもっと単純に変換係数と呼ぶ。
以下、本発明で対象としている技術は、「複数枚の画像が入力されたとき、そのうちの2枚の画像内の物体や模様などをできるだけ同じ位置で重ね合わせることのできる射影変換係数を求める」ものである。
例を図5に示す。いま図5(A)に示す画像Aを図5(B)に示す画像Bに重ね合わせたいとする。そのためには、画像Aを平行移動し、回転、拡大縮小等を組み合わせると図5(C)に示すように画像Bに重ね合わせることができる。
【0006】
このような射影変換係数を推定する方式に関連する技術の例を以下に示す。
例えば、非特許文献1に示す技術は、2枚の画像の重なり部分の画素値差分の2乗を評価関数として、評価関数値を最も小さくするような変換行列を非線形最適化法(gradient descent法や、Levenberg−Marquardt法など)を用いて推定するものである。
非特許文献1に示す技術では、2枚の画像の差が小さな場合には、比較的良好に正確な値に収束するが、2つの画像の差が大きなとき(平行移動量が大きな場合や回転角度が大きな場合、その他様々な要因が考えられる)には、局所解に陥る場合が多いため、解を求めることが困難であることが分かっている。
【0007】
そこで、非特許文献1に示すような非線形最適化を行う前に、大まかに位置合わせを行うことが必須である。以下、大まかな位置合わせを行う技術に関して述べる。例えば、特許文献1に示す技術は、分割画像を合成する際に、合成すべき分割画像を人手により大まかに重ね合わせて置くだけで、マッチング精度が高く、かつ処理量の少ない画像合成装置及び画像合成方法を提供することを課題とし、比較範囲限定部は、複数の分割画像の分割画像表示部と、表示された分割画像を移動して重ね合わせる分割画像移動部と、重ね合わせた分割画像を表示する合成画像表示部と、一方の分割画像での参照ブロックSを狭い幅で囲んだ探索範囲Tを他方の分割画像に設定する比較範囲抽出部とを備え、合成情報抽出部は比較範囲抽出部が抽出した参照ブロックSと探索範囲Tとに基づいてパターンマッチングを行い、合成情報を抽出し、画像合成部は、分割画像蓄積部からの複数の分割画像を合成情報抽出部からの合成情報に基づいて合成し、合成画像を合成画像蓄積部に格納するものである。つまり、マウスなどのポインティングデバイスなどを用いて人手で位置合わせを行う例が述べられている。
【0008】
また、例えば、非特許文献2には、縮小画像を用いて、大まかな対応を取る方法が記載されている。まず、2枚の入力画像を縮小する。次に、縮小した画像の重なり位置を少しずつ平行移動しながら、重なり部分の相関係数を求める。そして、この相関係数が最大となる位置を大まかなマッチング位置として得るものである。
【0009】
また、例えば、特許文献2に示す技術は、位置候補点を確定した後に回転角度検出を行う方法では正確な検出ができない等の問題を解決できる対象物の平行・回転のずれ量を検出する画像処理方法を提供することを課題とし、テンプレートとの類似度を評価することで画像中の対象物の位置を算出する画像処理方法において、対象画像を輪郭画像に変換し、予め記憶していた形状を予め設定しておいた範囲内で回転させ、それぞれの回転角度について基準画像としてテンプレートを作成し、前記輪郭画像に対し、前記の複数のテンプレートのそれぞれについて、縦横に平行にずらしつつ重ね合わせて、順次類似度評価を行い、類似度の最大を示すテンプレート及びそのテンプレートと重ね合わせた位置を算出することで、検出対象物の回転角度と位置を算出するようにすることにより、単純な装置構成で、正確な位置ずれ・回転ずれの検出を行えるようになるものである。つまり、回転角と平行移動量(あるいは拡大縮小率)、それぞれを変化させながら類似度を計測し、様々な回転角や平行移動量(あるいは拡大縮小率)の中で、最も類似度の高いものを選択するものである。
【0010】
また、例えば、非特許文献3に示す技術では、まず、画像から特徴点を抽出する。次に、2つの画像間の特徴点をペア化する。特徴点周囲の画素ブロックを利用し、周囲画素ブロックの2乗差分値が小さな特徴点をペアとする。この特徴点ペアを初期対応と呼ぶ。特徴点ペアを4ペア抽出することによって、射影変換行列を求めることができる。
例えば、図6において、五角形の頂点である○が抽出された特徴点であるとする。図6(A)に示す画像Aでは、a1〜a5の5つの特徴点が抽出され、画像Bでは、b1〜b5の5つの特徴点が抽出されたとする。
ここで、a1とb1がペアであることが判明したとする。同様に、a2とb2、a3とb3、a4とb4、及び、a5とb5が特徴点ペアであることが判明したとする。このとき、4つの特徴点ペアを用いて、画像Aを画像Bに重ね合わせる射影変換行列を算出することができる。4つの特徴点ペアとは、例えば、(a1,b1)、(a2,b2)、(a3, b3)、(a4,b4)であればよい(もちろん別の4つのペアでもよい)。
実際には、初期対応の特徴点ペアが正しくない場合がある。そこで、初期対応特徴点ペアをランダムに選択し、変換行列を求める。求めた変換行列を用いて、画像Aの特徴点を変換し、変換後の特徴点間の距離のメディアンを算出する。初期対応特徴点ペアのランダム選択を距離のメディアン値が収束するまで行う。
このように非特許文献3に示す技術では、特徴点ペアを用いて射影変換行列を求めるものである。
【0011】
また、例えば、非特許文献4に示す技術も、非特許文献3に示す技術と同様に、特徴点ペアを用いて射影変換行列を求める手法である。ただし、非特許文献4に示す技術では、予め特徴点ペアの組み合わせを行わず、特徴点ペアの抽出もランダムに行うものである。
いま、入力画像を画像A、及び、画像Bであるとする。画像Aの特徴点をa1,a2,...ai,...とする。画像Bの特徴点をb1,b2,...,bi,...とする。画像Aから、特徴点を4点(p1,p2,p3,p4)抽出する。また画像Bからも特徴点を4点(q1,q2,q3,q4)抽出する。さらに、特徴点ペアを、(p1−q1),(p2−q2),(p3−q3),(p4−q4)のように、決定する。この4つの特徴点ペアを用いて、射影変換行列を算出する。
次に、算出した射影変換行列を用いて、画像Aを変換する。変換後の画像Aと画像Bとの画素値の相互相関係数を算出する。全ての特徴点ペアの組み合わせのうち、上記相互相関係数の最も高いものを選択する。
【0012】
また、例えば、非特許文献5に示す技術は、DLT(Direct Linear Transformation)アルゴリズムが示されている。
また、例えば、非特許文献6に示す技術は、Harrisオペレータ等の画像コーナー点抽出アルゴリズムが示されている。
【特許文献1】特開平10−108003号公報
【特許文献2】特開平10−027253号公報
【非特許文献1】R. Szeliski “Video mosaics for virtual environments” IEEE Comput. Graphics & Appli., Vol. 16, no. 3,pp. 22-30, 1996.
【非特許文献2】千葉, 蚊野, 美濃, 安田 “画像特徴に基づくイメージモザイキング”信学論(D-II), vol. J82-D-II, no. 10, pp. 1581-1589, Oct., 1999.
【非特許文献3】金澤, 金谷 “段階的マッチングによる画像モザイク生成” 信学論(D-II),vol. J86-D-II, no.6, pp.816-824, June. 2003.
【非特許文献4】I. Zoghlami, O. Faugeras, and R. Deriche “Using geometric corners to build a 2D mosaic from a set of images ”CVPR ’97, pp. 420-425, 1997.
【非特許文献5】R. Hartley and A. Zisserman “Multiple View Geometry”Cambridge University Press, pp. 88-93
【非特許文献6】C. Harris and M. Stephens “A combined corner and edge detector” Proc. Alvey Vision Conf., pp. 147-151, 1988.
【発明の開示】
【発明が解決しようとする課題】
【0013】
本発明は、このような背景技術の状況の中でなされたもので、画像の位置合わせの全てを操作者による操作によるものではなくすることができ、画像の位置合わせのための射影変換行列を安定的に求めることができ、さらに画像の位置合わせの処理量を少なくすることができるようにした画像処理装置及び画像処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【0014】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
[1] 2枚の画像から特徴点を抽出する特徴点抽出手段と、
各々の前記画像から1個以上の特徴点を選択する特徴点選択手段と、
前記特徴点選択手段により選択した特徴点の対を生成する特徴点対生成手段と、
前記特徴点対生成手段により生成された1個以上の対を用いて変換係数を算出する変換係数算出手段と、
一方の前記画像の一部の領域を前記変換係数算出手段によって算出された変換係数に応じて変換する画像変換手段と、
前記画像変換手段によって変換された画像と他方の前記画像との距離を計測する距離計測手段
を具備することを特徴とする画像処理装置。
【0015】
[2] 前記距離計測手段によって計測された変換後画像と他方の前記画像との距離が離れている場合には、前記特徴点選択手段による特徴点の選択を再度行わせるように制御する制御手段
をさらに具備することを特徴とする[1]に記載の画像処理装置。
【0016】
[3] 前記距離計測手段によって計測された変換後画像と他方の前記画像との距離が近い場合には、前記画像変換手段による変換の対象を前記画像の一部の領域よりも広い領域として、前記画像変換手段による変換を再度行わせ、前記距離計測手段による計測を再度行わせるように制御する制御手段
をさらに具備することを特徴とする[1]に記載の画像処理装置。
【0017】
[4] 前記画像の一部の領域は、前記特徴点対生成手段により生成された対の特徴点の周囲の領域である
ことを特徴とする[1]に記載の画像処理装置。
【0018】
[5] 前記画像の一部の領域は、前記画像変換手段によって変換された画像と他方の前記画像との重なりあう領域の一部である
ことを特徴とする[1]に記載の画像処理装置。
【0019】
[6] 前記特徴点対生成手段により生成された対とは異なる対を生成する第2の特徴点対生成手段と、
前記第2の特徴点対生成手段により生成された対の特徴点の座標の差が閾値以下である対を計測する計測手段
をさらに具備し、
前記距離計測手段による距離の計測は、前記計測手段により計測された対の数とする
ことを特徴とする[1]に記載の画像処理装置。
【0020】
[7] 前記第2の特徴点対生成手段により生成された対の特徴点の周囲の領域を変換した結果、該変換後の画像と他方の前記画像との類似度に応じて、対を検証する特徴点対検証手段
をさらに具備することを特徴とする[6]に記載の画像処理装置。
【0021】
[8] 前記特徴点の周囲の領域の変換は、前記変換係数算出手段によって算出された変換係数を、対の特徴点の位置が一致するように平行移動させるものである
ことを特徴とする[7]に記載の画像処理装置。
【0022】
[9] 前記特徴点対生成手段によって生成された対を検証する検証手段
をさらに具備し、
前記検証手段は、前記特徴点対生成手段による対の生成が2回以上行われ、該対の検証を行う場合に、該検証を行う処理量がより多い検証を行う
ことを特徴とする[1]に記載の画像処理装置。
【0023】
[10] 画像処理システムを、
2枚の画像から特徴点を抽出する特徴点抽出手段と、
各々の前記画像から1個以上の特徴点を選択する特徴点選択手段と、
前記特徴点選択手段により選択した特徴点の対を生成する特徴点対生成手段と、
前記特徴点対生成手段により生成された1個以上の対を用いて変換係数を算出する変換係数算出手段と、
一方の前記画像の一部の領域を前記変換係数算出手段によって算出された変換係数に応じて変換する画像変換手段と、
前記画像変換手段によって変換された画像と他方の前記画像との距離を計測する距離計測手段
として機能させることを特徴とする画像処理プログラム。
【0024】
[11] 前記画像処理システムを、
前記距離計測手段によって計測された変換後画像と他方の前記画像との距離が離れている場合には、前記特徴点選択手段による特徴点の選択を再度行わせるように制御する制御手段
としてさらに機能させることを特徴とする[10]に記載の画像処理プログラム。
【0025】
[12] 前記画像処理システムを、
前記距離計測手段によって計測された変換後画像と他方の前記画像との距離が近い場合には、前記画像変換手段による変換の対象を前記画像の一部の領域よりも広い領域として、前記画像変換手段による変換を再度行わせ、前記距離計測手段による計測を再度行わせるように制御する制御手段
としてさらに機能させることを特徴とする[10]に記載の画像処理プログラム。
【0026】
[13] 前記画像の一部の領域は、前記特徴点対生成手段により生成された対の特徴点の周囲の領域である
ことを特徴とする[10]に記載の画像処理プログラム。
【0027】
[14] 前記画像の一部の領域は、前記画像変換手段によって変換された画像と他方の前記画像との重なりあう領域の一部である
ことを特徴とする[10]に記載の画像処理プログラム。
【0028】
[15] 前記画像処理システムを、
前記特徴点対生成手段により生成された対とは異なる対を生成する第2の特徴点対生成手段と、
前記第2の特徴点対生成手段により生成された対の特徴点の座標の差が閾値以下である対を計測する計測手段
としてさらに機能させ、
前記距離計測手段による距離の計測は、前記計測手段により計測された対の数とする
ことを特徴とする[10]に記載の画像処理プログラム。
【0029】
[16] 前記画像処理システムを、
前記第2の特徴点対生成手段により生成された対の特徴点の周囲の領域を変換した結果、該変換後の画像と他方の前記画像との類似度に応じて、対を検証する特徴点対検証手段
としてさらに機能させることを特徴とする[15]に記載の画像処理プログラム。
【0030】
[17] 前記特徴点の周囲の領域の変換は、前記変換係数算出手段によって算出された変換係数を、対の特徴点の位置が一致するように平行移動させるものである
ことを特徴とする[16]に記載の画像処理プログラム。
【0031】
[18] 前記画像処理システムを、
前記特徴点対生成手段によって生成された対を検証する検証手段
としてさらに機能させ、
前記検証手段は、前記特徴点対生成手段による対の生成が2回以上行われ、該対の検証を行う場合に、該検証を行う処理量がより多い検証を行う
ことを特徴とする[10]に記載の画像処理プログラム。
【発明の効果】
【0032】
本発明にかかる画像処理装置及び画像処理プログラムによれば、本構成を有していない場合に比較して、画像の位置合わせの全てを操作者による操作によるものではなくすることができ、画像の位置合わせのための射影変換行列を安定的に求めることができ、さらに画像の位置合わせの処理量を少なくすることができる。
【発明を実施するための最良の形態】
【0033】
実施の形態を説明するにあたり、まず、実施の形態における背景技術の問題点を説明する。
非特許文献1に示す技術では、2枚の入力画像の差分が大きなときに、局所解に陥る可能性があり、安定的に解を求めることができないことが問題である。
特許文献1に示す技術では、大まかな位置合わせを行うことができるが、人手を介する必要がある点が問題である。
非特許文献2に示す技術では、平行移動のみを対象としている点が問題である。入力画像間に回転や拡大縮小などの関係がある場合には、正確な変換係数を求めることができない。
【0034】
そこで、特許文献2に示す技術のように、様々な平行移動量、回転角、拡大縮小を行って得た画像を用いてマッチングを行えばよい。このようにすれば、大まかな位置合わせを行うことが可能である。しかしながら、上記のように様々な変換を行うための演算量が多くなってしまうことが問題である。安定的にマッチングを行うためには、平行移動量、回転角、あるいは、拡大縮小の量を少しずつ変化させる必要がある。平行移動量が2次元、回転角が1次元、拡大縮小倍率が1次元であるため、計4次元ベクトルを変化させながらマッチングを行わなければならない。1要素の候補点をNとすると、マッチングの回数はNとなり、処理量が多くなる。回転、平行移動、拡縮(拡大縮小)のみではなく、射影変換行列を求めようとすると、8つの未知数を決定する必要がある。この場合、1要素の候補点をNとすると、マッチングの回数はNとなり、処理量はさらに多くなる。
安定的にマッチングを行うためには、Nの数をある程度大きくする必要がある。例えば、回転角の種類を4つのみとすると、回転なし、90度回転、180度回転、270度回転の4種類には対応できるが、その他の回転角には対応できない。8つにすると、45度単位の回転には対応できるが、その他の回転角には対応できない。対応できない場合には、マッチングが不可となる。すなわち安定的なマッチングができない。ここで、例えば、±5度の角度がずれていてもマッチングを可能とすると、回転角は5度ごとに必要となる。すなわちNとしては、360/5=72が必要となる。このように大きなNに対しては、全体のマッチングの回数は非常に多くなってしまう。
【0035】
上記の問題点を解消するために、非特許文献3に示す技術では、入力画像から特徴点を抽出し、その特徴点をペア化することで演算回数を減少させることができる。すなわち、射影変換行列を求めるためには、4つの特徴点ペア間の座標を決定すればよい。
入力画像を画像Aと画像Bの2つとするとき、画像Aの特徴点から画像Bの特徴点に移る変換のみを対象とすればよいため、特許文献2に示す技術のように全ての射影変換行列のパターンをテストする必要がなくなる。
ただし、非特許文献3に示す技術では、画像Aと画像Bの特徴点をペア化する点に問題が存在している。
非特許文献3に示す技術では、最初に画像Aの特徴点と画像Bの特徴点をペア化する必要がある。ペア化するためには、画像A内の特徴点周囲の画素値と、画像B内の特徴点周囲の画素値との差分を計算し、差分が最も小さくなるように、画像A内の特徴点と画像B内の特徴点を1対1に対応させる。
ここで、「画像A内の特徴点周囲の画素値と、画像B内の特徴点周囲の画素値との差分を計算」するところに問題点が存在する。
【0036】
非特許文献3に示す技術では、画像A内の特徴点周囲の画像と、画像B内の特徴点周囲の画像をそのまま、変換せずに用いている。これは、画像Aと画像B間の変換を平行移動だけに限定していることと同値である。例えば、画像Aと画像B間に回転や拡縮の関係がある場合(例えば図7のような場合)、画像Aの特徴点と画像Bの特徴点を適度にペア化することが困難となってしまう場合が多い。
例えば、図7において、図7(A)に示す特徴点a1と図7(B)に示す特徴点b1は対応しており、ペア化されるべきであるが、特徴点a1と特徴点b1の周囲画素値は図7のようになってしまうため、非特許文献3に示す技術を用いた場合にはペア化することは困難である。
さらに、変換を平行移動に限定したとしても、入力画像の特徴が画像全面に渡って似通っている場合には、特徴点周囲の画素値が同じような画素値となってしまう場合がある(例えば、文字をスキャンしたような画像では、どの微小部分をとっても、同じような模様に見える)。このような場合、特徴点を1対1に対応化させることは困難である。
【0037】
非特許文献4に示す技術では、予め特徴点をペア化することがないため、非特許文献3に示す技術のような問題が生じない。
ただし、非特許文献4に示す技術では、特徴点を選択した後で、その特徴点が正しいペアを形成しているかどうかを確かめる処理量が多い点が問題である。
すなわち、非特許文献4に示す技術では、入力画像の全ての特徴点ペアを組み合わせて、射影変換行列を算出する。その射影変換行列を用いて、画像Aを変換して、画像Bとの相関を算出する。この相関が最も高くなる射影変換行列を選択するためである。このように、特徴点ペアの組み合わせ一つに対して、画像全体の射影変換結果を算出しなければならないため、処理量が多い。そのうえ、全ての特徴点ペアの組み合わせを試行しなければならないため、さらに処理量が多くなる。
【0038】
以上、背景技術には、(1)安定的に位置合わせができない(主に非特許文献1)、(2)人手を要する(主に特許文献1)、(3)平行移動のみを対象としている(主に非特許文献2)、(4)マッチングの試行回数が多い(主に特許文献2)、(5)平行移動のみを対象としている(主に非特許文献3)、(6)処理量が多い(主に非特許文献4)、という問題点があった。
本実施の形態は、以上のような問題点を解決するため、(1)全ての位置合わせを人手で行わせるのではなく(つまり、位置合わせの全てを人手で行うわけではなく、少なくとも一部を本実施の形態が行う。または、全ての位置合わせを本実施の形態が行ってもよいし、本実施の形態が行った位置合わせの確認、修正等を、操作者の操作に応じて行ってもよい。)、(2)射影変換行列を安定的に求めることができ、(3)処理量が比較的少ない画像位置合わせを行うものである。
【0039】
<1. 変換>
次に、本実施の形態の内容を説明する準備として、射影変換、及び、その他の変換について述べる。
<1.1. 射影変換>
ここでは、2次元平面上の点(x,y)を、(x’,y’)に写す射影変換を行うとする。この変換は(数1)式を用いて表すことができる。
【数1】

(数1)式において、hijは、射影変換係数であり、この係数を定めることによって、射影変換を決定することができる。(数1)式では、変換後の座標を計算する式の分母と分子に全て係数hijが乗じられた式となっている。そのため、射影変換係数hijを全て定数倍しても結果の(x’,y’)に影響はない。つまり、射影変換係数の未知数は9個あるが、実際の自由度は8である。8つの式を得ることができれば、射影変換を求めることができる。
【0040】
通常は、h33=1として、(数1)式を次の(数2)式とする。
【数2】

さらに、(数2)式の分母を両辺に掛けて、(数3)式とする。
【数3】

これによって、(数3)式は、hijの連立1次方程式となるため、通常の線形演算で解くことが可能となる。
8つの式を求めるためには、特徴点のペアを4つ与えればよい。4つの特徴点ペアの2次元座標があれば、特徴点ペア数(4)×次元数(2)=8個の式を得ることができる。
特徴点ペアが5つ以上の場合には、未知数よりも式の数の方が多くなるため、最小2乗法などを用いて連立方程式を解くことができる。
上記の説明では、h33=1として射影変換係数を求める方法を述べたが、射影変換行列を求める手法は様々にある。どのような方法を用いてもよい。例えば、非特許文献5に示す技術であるDLTアルゴリズムを用いてもよい。この方法では、h33=1を仮定しないため、h33=0、あるいは、h33が0に非常に近い値の場合であっても安定的に射影変換係数を求めることができる。
以下において、「(数2)式を用いて変換を行う」という記述がある場合には、「DLTアルゴリズムを用いて係数を定めて、(数1)式を用いて変換を行う」としてもよい。
【0041】
<1.2. 平行移動>
変換としては、単純な平行移動のみのものもある。この場合、(数4)式となり、未知数は2個である。1ペアの特徴点があれば算出できる。
【数4】

【0042】
<1.3. 相似変換(平行移動、回転、拡大縮小、これらの組み合わせ)>
この場合、(数5)式となり、自由度は4である(未知数は5であるが、式「S+C=1」があるため、自由度は4となる)。2ペアの特徴点があれば算出できる。
【数5】

【0043】
<1.4. アフィン変換>
この場合、(数6)式となり、未知数は6個であるため、3ペアの特徴点があれば算出できる。
【数6】

【0044】
<2. 本実施の形態の概要>
本実施の形態のアイデアを以下に示す。
非特許文献4に示す技術では、回転や拡縮やさらに、射影変換がなされていても、変換係数を求めることができるというメリットがあったが、処理量が多い点がデメリットであった。本実施の形態では、以下のアイデアを用いることで、非特許文献4に示す技術のメリットを損なわずに、処理量を削減させることができる。
以下に示すアイデア(1)とアイデア(2)は独立なものであるが、以下に説明する実施の形態では渾然一体となっている。
【0045】
(1) 特徴点ペアを決定後、射影変換行列を算出し、画像A全体を変換するのではなく、画像Aの一部(特徴点の周辺)だけを変換して、画像の一部の画像Bとの類似度を計測することによって、処理量を削減することが可能となる。
(1−1) 画像の一部だけをマッチングさせた場合、判断ミスが発生する可能性があるため、以下の手法をとる。
一部でマッチングがとれた場合(対応する特徴点であると判明した場合のことをいい、以下、「マッチングOK」ともいう)、マッチングの面積を大きくして、さらに類似度を計測する。このように階層的に類似度を計測することで、画像全面の類似度を常に計測するよりも処理量を削減することができる。
つまり、変換後の画像と他方の画像とが類似している場合には、変換の対象を一部の領域よりも広い領域として、変換を再度行わせ、類似度の計算を再度行わせるように制御する。
【0046】
(1−2) 画像の一部だけの類似度を計測する場合、かつ、選択した画像の一部が画像の平坦領域となった場合、どのような変換を行っても類似度が高く出てしまう可能性がある。例えば、黒の領域(画素値0の領域)では、どのような変換を行っても類似度は最高値となる。このような現象を避けるため、類似度を計測する画像部分の第1候補として、特徴点の周囲画素部分を用いる。特徴点は、画像のコーナーを抽出したものであるため、上記のような問題点は発生し難い。
ここで示したアイデアは、非特許文献3に示す技術と対比させることによって理解が容易になる。非特許文献3に示す技術では、特徴点周囲画素の平行移動変換を行った後の画素値の類似度を計測していたため、回転や拡縮等が行われたときに対応できなかった。本実施の形態では、特徴点周囲の画素に対して、射影変換を行った後で類似度を計測するため、どのような射影変換がなされていたとしても、画像間のマッチングを取ることが可能である。
(1−2−1) 類似度を計測する画像部分の第1候補として、まず、最初に決定した特徴点ペアの周囲の画素値を用いる。
(1−2−2) 次に、最初に決定した特徴点ペア以外の特徴点ペアの周囲の画素値を用いる。
【0047】
(2) 非特許文献4に示す技術では、特徴点ペアの組み合わせを全て試して、その中で最も類似度の高くなる変換を決定したが、この手法では、特徴点の数が多い場合には、特徴点ペアの組み合わせの数が膨大となってしまう。本実施の形態では、特徴点ペアをランダムに抽出し、マッチングの確度が予め定めた閾値よりも大きくなった時点で、変換係数を決定する。これによって、試行回数を激減させることが可能となる。
(2−1) マッチングの確度決定方式として、抽出した特徴点ペアで変換係数を算出し、その変換係数を用いて、最初に抽出した特徴点ペア以外の特徴点を変換して、特徴点間の距離を算出し、距離が閾値以下の特徴点数を計測する方式がある。
(2−1−1) 特徴点ペアの距離として、変換後の画像Aの特徴点の座標と画像Bの特徴点の座標とのユークリッド距離を用いる。距離については、マンハッタン距離などでもよい。さらに、前述の距離が閾値以下か否かの判定については、変換後の画像Aの特徴点の座標と画像Bの特徴点の座標とのx座標の差が閾値以下であり、かつ、変換後の画像Aの特徴点の座標と画像Bの特徴点の座標とのy座標の差が閾値以下であることを、距離が閾値以下であることとみなすという方法でもよい。
(2−1−2) 特徴点ペアの距離として、特徴点周囲の画素領域の類似度を用いてもよい。特徴点周囲の画素領域は、抽出した特徴点ペアを用いて算出した変換係数を用いて、いずれか一方の画像の領域が変換されているものとする。類似度(非類似度)は、画素値の差分の絶対値の平均値、差分の2乗の平均値、差分の2乗の平方根の平均値等でもよい。また、類似度は、画素値の相互相関係数でもよい。
【0048】
(2−2) マッチングの確度決定方式(マッチングの結果、対応する特徴点であると判定する処理)として、抽出した特徴点ペアで変換係数を算出し、その変換係数を用いて、最初に抽出した特徴点ペア以外の特徴点周囲の画素値を変換し、その変換後の画像との類似度を計測する方法でもよい。また、周囲画像を抽出する特徴点数を少しずつ多くしていくことで高速化(処理量を減らす)できる。一つでも類似度が低い特徴点があった時点で、次の特徴点ペアの探索に移るようにすればよい。
(2−3) また、マッチングの確度決定方式として、抽出した特徴点ペアで変換係数を算出し、その変換係数を用いて、画像Aの「画像の一部」を変換し、その変換後の画像との類似度を計測する方法でもよい。
(2−3−1) 画像Aと画像Bとの重なり部分を予め計算しておき、重なり部分の中心付近を上記「画像の一部」とするようにしてもよい。
(2−3−2) また、最初に、マッチングする特徴点を探して、その特徴点の座標の重心付近を上記「画像の一部」とするようにしてもよい。
【0049】
<3. 第1の実施の形態>
以下、図面に基づき本発明の好適な各種の実施の形態を説明する。各実施の形態は、2枚の画像の位置合わせを行うものに関するものである。
図1は、第1の実施の形態の概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはプログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、プログラム、システム及び方法の説明をも兼ねている。また、モジュールは機能にほぼ一対一に対応しているが、実装においては、1モジュールを1プログラムで構成してもよいし、複数モジュールを1プログラムで構成してもよく、逆に1モジュールを複数プログラムで構成してもよい。また、複数モジュールは1コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって1モジュールが複数コンピュータで実行されてもよい。なお、一つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続(データの授受、指示等)を含む。
また、システムとは、複数のコンピュータ、ハードウェア、装置等がネットワーク等の通信手段で接続されて構成されるほか、一つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。
【0050】
本実施の形態は、2枚の画像(画像A、画像B)の位置合わせを行うものであって、図1に示すように、特徴点抽出モジュール101、特徴点ペア選択モジュール102、特徴点ペア検証モジュール103、特徴点間距離算出モジュール104、変換係数算出モジュール105、最終変換検証モジュール106、詳細変換算出モジュール107を有している。
以下、図1に示す各モジュールの動作を詳細に説明する。
【0051】
<3.1. 特徴点抽出モジュール101>
特徴点抽出モジュール101は、図1に示すように、特徴点ペア選択モジュール102、特徴点間距離算出モジュール104と接続されている。
いま入力画像を、画像Aと画像Bの2つとする。
特徴点抽出モジュール101では、入力画像(画像A、あるいは、画像B)の特徴点を抽出して、特徴点の座標を出力する。
特徴点抽出モジュール101では、例えばHarrisオペレータ等の画像コーナー点抽出アルゴリズム(非特許文献6参照)を用いればよい。
その他様々なコーナー点抽出アルゴリズムが利用可能である。ただし、ここでのコーナー点とは、画像のエッジ部であり、かつ、直線のエッジではない点のことを意味している。
【0052】
<3.2. 特徴点ペア選択モジュール102>
特徴点ペア選択モジュール102は、図1に示すように、特徴点抽出モジュール101、特徴点ペア検証モジュール103、特徴点間距離算出モジュール104、変換係数算出モジュール105、最終変換検証モジュール106と接続されている。
特徴点抽出モジュール101において、抽出された画像Aの特徴点をa1,a2,...ai,...、また、画像Bの特徴点をb1,b2,...,bi,...とする。
特徴点ペア選択モジュール102では、a1,a2,...ai,...から、特徴点を4点(p1,p2,p3,p4)抽出する。またb1,b2,...,bi,...からも特徴点を4点(q1,q2,q3,q4)抽出する。さらに、特徴点ペアを、(p1−q1),(p2−q2),(p3−q3),(p4−q4)のように、決定する。
【0053】
<3.3. 変換係数算出モジュール105>
変換係数算出モジュール105は、図1に示すように、特徴点ペア選択モジュール102、特徴点ペア検証モジュール103、特徴点間距離算出モジュール104、最終変換検証モジュール106と接続されている。
変換係数算出モジュール105では、特徴点ペア選択モジュール102において選択された4つの特徴点ペア(p1−q1),(p2−q2),(p3−q3),(p4−q4)を用いて、変換係数を算出する。
上記の特徴点piの座標を(pxi,pyi)とする。また特徴点qiの座標を(qxi,qyi)とする。ここで、特徴点piがqiに移るとする。このとき、座標値を(数3)式に代入すると、(数7)式のようになる。
【数7】

一つの特徴点ペア(pi−qi)に対して、(数7)式のように2つの1次式を得ることができる。i=1,2,3,4であるから、計8つの1次式を得る。
ここで未知数である変換係数は、h11,h12,h13,h21,h22,h23,h31,h32の8つである。上記8つの1次式を連立させて変換係数を求めることができる。
【0054】
<3.4. 特徴点ペア検証モジュール103>
特徴点ペア検証モジュール103は、図1に示すように、特徴点ペア選択モジュール102、特徴点間距離算出モジュール104、変換係数算出モジュール105と接続されている。
特徴点ペア検証モジュール103では、変換係数算出モジュール105で算出された変換係数を用いて、特徴点ペア選択モジュール102で選択された特徴点ペア(p1−q1),(p2−q2),(p3−q3),(p4−q4)の検証を行う。
まず、i=1,2,3,4とする。
ここでは、特徴点piの周囲画素を、(数2)式を用いて変換する。変換結果の画素値と画像Bの画素値との差分の2乗平均、あるいは、相関値などを利用して、特徴点piの周囲画素値と特徴点qiの周囲画素値が似通っているかどうかを判断する。
このとき、画像Aの特徴点が、画像Bの特徴点に移るように、変換の平行移動量を変更する。
また、前述では画像Aの画素値を画像B上に変換したが、画像B上の画素値を画像A上に変換して差分等を計算してももちろんよい。つまり、予め閾値を用意しておき、差分の2乗平均が閾値以下である、あるいは、相関値が閾値以上である場合に、特徴点ペア(pi−qi)が対応するペアであるとする。
特徴点ペアが対応していないペアであると判断された場合には、特徴点ペア選択モジュール102によって再度特徴点ペアの選択を行わせる。
なお、図1では、特徴点ペア検証モジュール103には画像Aや画像Bの画素値を入力する線が図示されていないが、実際には特徴点ペア検証モジュール103には画像Aや画像Bの画素値が入力されていることに注意されたい。
【0055】
<3.5. 特徴点間距離算出モジュール104>
特徴点間距離算出モジュール104は、図1に示すように、特徴点抽出モジュール101、特徴点ペア選択モジュール102、特徴点ペア検証モジュール103、変換係数算出モジュール105、最終変換検証モジュール106と接続されている。
特徴点抽出モジュール101において抽出された画像Aの特徴点のうち、特徴点ペア選択モジュール102で選択された特徴点以外のものをa1’,a2’,...ai’,...とする。また、画像Bの特徴点のうち、特徴点ペア選択モジュール102で選択された特徴点以外のものをb1’,b2’,...,bi’,...とする。
特徴点間距離算出モジュール104では、a1’,a2’,...ai’,...を、(数2)式を用いて変換する。変換結果を、a1”,a2”,...ai”,...とする。
次に、各変換結果a1”,a2”,...ai”,...の座標値と、b1’,b2’,...,bi’,...の座標値とを比較する。
ここでは、各特徴点ai”に最も近い特徴点bi’を検出する。次に、ai”とbi’の距離(ユークリッド距離等)を算出し、その距離が予め定められた閾値T0以下かどうかを判断する。
全特徴点に対して、前述の演算を行い、閾値T0以下となった特徴点ペアの数を算出する。
前記特徴点ペア数が予め定めておいた閾値T1以上の場合、変換係数算出モジュール105で算出した変換係数は適合しているとして、次の最終変換検証モジュール106へ進む。
前記特徴点ペア数が予め定めておいた閾値T1未満の場合、変換係数算出モジュール105で算出した変換係数は不適合であるとして、特徴点ペア選択モジュール102に戻る。
前述では「各特徴点ai”に最も近い特徴点bi’を検出する。」としたが、「各特徴点ai”との距離が閾値T0以下のbi’を検出する。」としてもよい。あるいは、「各特徴点ai”との水平距離が閾値T0以下、かつ垂直距離が閾値T0以下のbi’を検出する。」としてもよく、このようにすることで、演算量を削減できる。
さらに、各特徴点ai”と特徴点bi’のペアは1対1の対応となるように制限した方がよい。これを実現するためには、一旦ペア化した特徴点にはフラグをつけるようにすればよい。
【0056】
<3.6. 最終変換検証モジュール106>
最終変換検証モジュール106は、図1に示すように、特徴点ペア選択モジュール102、特徴点間距離算出モジュール104、変換係数算出モジュール105、詳細変換算出モジュール107と接続されている。
最終変換検証モジュール106では、特徴点間距離算出モジュール104において適合していると判断した変換係数を検証する。
最終変換検証モジュール106では、(数2)式を用いて画像Aを変換する。変換後の画像Aと画像Bの重なり部において、両者の類似度(あるいは非類似度)を算出し、その類似度が閾値以上であるか、あるいは非類似度が閾値以下であれば、変換係数は適合しているものであるとする。
非類似度として、画素値の差分の絶対値の平均値、差分の2乗の平均値、差分の2乗の平方根の平均値等を用いればよい。
類似度としては、二つの画像の画素値の相関値などを用いればよい。
さらに、この最終変換検証を行う際に、一度目は、画像全体ではなく画像の一部で変換を行って、類似度あるいは非類似度を検証してもよい。一度目でOKになれば二度目の面積を大きくすればよい。
画像の一部とは、画像Aと画像Bの重なり部の重心などを用いればよい。
最終変換検証モジュール106で適合していると判断した場合は、次の行程である詳細変換算出モジュール107に進む。NGとなった場合は、特徴点ペア選択モジュール102に戻る。
【0057】
<3.7. 詳細変換算出モジュール107>
詳細変換算出モジュール107は、図1に示すように、最終変換検証モジュール106と接続されている。
以上で、大まかな変換係数が求まったので、詳細な変換係数を例えば非特許文献1に記載の技術等を利用して求めればよい。
【0058】
<3.8. 特徴点ペアの再選択>
また、特徴点ペア選択モジュール102に対して、特徴点ペアを再選択させるか否かの検証を行う際には、その検証を階層化することを行っている。つまり、処理量の少ないものから順に検証していくことができるようにしている。
具体的には、特徴点ペア検証モジュール103が、最初に選択した特徴点ペアを検証して、ペアとして適合しない場合は特徴点ペアを再選択させる。次に、特徴点間距離算出モジュール104が、最初に選択した以外の特徴点をペア化したものに対して特徴点間距離を算出して、ペアとして適合しない場合は特徴点ペアを再選択させる。次に、最終変換検証モジュール106が最終変換検証を行って、ペアとして適合しない場合は特徴点ペアを再選択させている。
つまり、特徴点ペア選択モジュール102による特徴点ペアの生成が2回以上行われ、そのペアの検証を行う場合に、その検証を行う処理量がより多い検証を行うようにしている。
【0059】
<4. 第2の実施の形態 各モジュールのバリエーション>
<4.1. 特徴点ペア選択モジュール102の変形>
第1の実施の形態では、4つの特徴点ペアを選択したが、特徴点ペアの数は4には限定されず、いくつでもよい。例えば、以下((1)〜(5))のようにすることもできる。
(1)1つの特徴点ペアのみを選択する場合、平行移動変換係数を検出できる。
(2)2つの特徴点ペアを選択する場合、相似変換(平行移動+拡大縮小+回転)係数を検出できる。
(3)3つの特徴点ペアを選択する場合、アフィン変換係数を検出できる。
(4)4つの特徴点ペアを選択する場合、射影変換係数を検出できる。
(5)5つ以上の特徴点ペアを選択する場合、射影変換係数をより正確に検出できる。
【0060】
<4.2. 特徴点ペア検証モジュール103の変形>
特徴点ペア検証モジュール103は必須ではない。なくてもよく、特徴点ペア選択モジュール102の結果を直接特徴点間距離算出モジュール104に渡してもよい。
つまり、特徴点ペア検証モジュール103がない場合、特徴点ペア選択モジュール102で選択された特徴点が常にペアとして適合したものとなる。
【0061】
<4.3. 特徴点間距離算出モジュール104の変形>
第1の実施の形態で述べたもの以外にも、特徴点間距離の算出方法は様々にある。
(1)特徴点の座標間の距離であれば何でもよい。
座標を用いた距離として、例えば、ユークリッド距離、マンハッタン距離等がある。その他の最大値ノルム(スープノルム)、ノルムL1,L2,L3,.L4,...L∞ノルム(無限大ノルム)等でもよい。
(2)画像Aの特徴点周囲の画素を変換して、変換後の画素値と同位置の画像Bの画素値との相関係数を計測し、その値を特徴点間距離としてもよい。
(3)画像Aの特徴点周囲の画素を変換して、変換後の画素値と同位置の画像Bの画素値の差分の2乗などを計測し、その値を特徴点間距離としてもよい。
なお、上記(2)、(3)に関しては、特徴点ペア検証モジュール103における検証方法と同様のものである。
【0062】
さらに、上記(1)の処理を行って、その後で(2)あるいは(3)の処理を行ってもよい。
具体的には、(1)でまず、画像Aの特徴点と画像Bの特徴点とをペア化する。
さらに、画像Aの特徴点周囲の画素値と画像Bの特徴点周囲の画素値との類似度(あるいは非類似度)を計測する。
これは、近い特徴点を抽出してから、その特徴点の周囲の画素値の処理を行った方が、変換係数の誤差がある場合にも安定的な検証が可能となるためである。
また、直接(2)や(3)を計測する場合には、変換係数に誤差があって、特徴点がずれている場合に、マッチングが取れない場合がある。また、(1)の処理量が少ないため、(1)を行ってから、(2)あるいは(3)を行った方が全体の処理量が少なくなる。
【0063】
<4.4. 最終変換検証モジュール106の変形>
第1の実施の形態において説明した最終変換検証モジュール106と、特徴点間距離算出モジュール104のいずれかは不要としてもよい。上記のどちらかがあれば、検証が可能である。
【0064】
<5. 第3の実施の形態>
3枚以上の画像の位置合わせを行う場合には、複数枚の入力画像から2枚を取り出して、前述と同様の処理を行えばよい。
【0065】
<6. 第4の実施の形態>
図2を用いて、画像モザイク合成に本実施の形態を応用する例を示す。本実施の形態は、画像位置合わせモジュール201、画像変換モジュール202、画像重ね合わせモジュール203を有している。
画像位置合わせモジュール201は、図2に示すように、画像変換モジュール202と接続されており、前述した実施の形態を含むものである。画像位置合わせモジュール201は、位置合わせの対象である画像Aと画像Bを入力し、その画像Aと画像B間の変換係数を算出し、画像変換モジュール202に渡す。
画像変換モジュール202は、図2に示すように、画像位置合わせモジュール201、画像重ね合わせモジュール203と接続されており、画像位置合わせモジュール201から画像Aと画像B間の変換係数を受け取り、変換対象である画像Aを変換し、変換後の画像Aを画像重ね合わせモジュール203へ渡す。
画像重ね合わせモジュール203は、図2に示すように、画像変換モジュール202と接続されており、画像変換モジュール202より変換後の画像Aを受け取り、画像Bと重ね合わせ処理を行い、画像Aと画像Bとの合成画像(モザイク画像)を生成する。
つまり、画像位置合わせモジュール201を用いて、画像Aと画像B間の変換係数を求める。画像変換モジュール202では、この変換係数を用いて、画像Aを変換し、画像重ね合わせモジュール203では画像Bと変換後の画像Aを重ね合わせて、モザイク画像(画像Aと画像Bを組み合わせて作成した大きな画像)を生成する。
【0066】
図3を用いて、モザイク合成例を説明する。図3(A)に画像Aを、図3(B)に画像Bを示す。ここでは、画像A内の五角形と画像B内の五角形とが対応している。
画像位置合わせモジュール201は、この五角形の頂点を特徴点として対応させることによって、変換係数を算出する。
次に、画像変換モジュール202は、変換係数を用いて、画像Aを変換する。この場合は、左周りに傾けるように回転させることに該当する。
そして、画像重ね合わせモジュール203は、変換後の画像Aと画像Bとを合成して、図3(C)に示すようなモザイク画像を合成する。
【0067】
前述では、画像位置合わせモジュール201によって、画像Aと画像B間の変換係数が求まるとした。画像位置合わせモジュール201の最終変換検証モジュール106又は詳細変換算出モジュール107で、変換後の画像Aを対象とした処理を行う場合には、画像位置合わせモジュール201内部で、変換後の画像Aを既に求めてしまっていることになる。この場合は、画像位置合わせモジュール201の出力を、変換後の画像Aとしてもよい。
【0068】
<7. 本実施の形態による作用>
非特許文献1〜3、特許文献1、2に示す技術では、大きな回転や拡縮が存在する場合に射影変換係数を求めることができなかった。本実施の形態を用いることで、大きな回転や拡縮が存在する場合にも射影変換係数を求めることができるようになった。
また、非特許文献4に示す技術では、射影変換係数を求めることができたが、演算量が多かった。
【0069】
<7.1. アイデア(1)による結果>
一つの特徴点ペアの組み合わせに対して、非特許文献4に示す技術では、画像全体の射影変換と、類似度算出演算が必要になる。それに対して、本実施の形態では、画像の一部(例えば特徴点周囲)の画素値のみ上記の演算を行えばよい。特徴点周囲画素のサイズを5×5、特徴点ペア数を4とすると、検証に要する画素数は、100画素でよい。
特徴点ペアの選択をK回行うとする。入力画像の画素数をN×Nとする。1画素あたりの、射影変換と、類似度算出演算に必要な演算量をGとする。
非特許文献4に示す技術では、K×G×Nの演算量が必要である。
それに対して、本実施の形態による演算量は、
K×G×100
でよい(特徴点周囲の画素値が偶然一致する確率は非常に低いとして見積もっている)。つまり、演算量の比は、100/Nとなる。
入力画像の画素数Nは通常100程度以上である。よって、100/Nは非常に小さな値となる。例えば、100/N<1/100が成り立つと考えられる。
よって、アイデア(1)によって、少なくとも、100倍程度の高速化が可能である。
【0070】
<7.2. アイデア(2)による結果>
さらにアイデア(2)を用いることで、Kの回数自体を削減することが可能である。
画像Aと画像Bの特徴点数をnとする。このとき、画像A及び画像Bから、4個ずつ重複を許して特徴点を抽出する場合の数は、nとなる。すなわち、非特許文献4の場合のKは、K=nである。
これに対して、本実施の形態では、特徴点ペアがOKであった時点で算出を止める。
まず、画像Aの特徴点の中で、画像Bの特徴点でもあるものの数をnとする。当然、画像Bの特徴点の中で、画像Aの特徴点でもあるものの数もnである。以下、このn個の特徴点を有効特徴点とする。このとき、ランダムに4つの特徴点ペアを取り出して、全てが正しいマッチングとなる確率wを計算する。画像Aの中から、4つ全てが有効な特徴点を取り出す確率は、(数8)式で表すことができる。
【数8】

【0071】
さらに、4つの特徴点それぞれについて、画像Bから正しくマッチする点を選択する確率は、(数9)式で表すことができる。
【数9】

結果として、ランダムに画像Aから4点、画像Bから4点を取り出して、有効なマッチングとなる確率wは、(数10)式で表すことができる。
【数10】

このとき、全ての特徴点ペアのマッチングが有効となる特徴点が選択されるまでに費やされる試行の回数Kの期待値E(K)は、(数11)式で表すことができる。
【数11】

これを計算すると、(数12)式のようになる。
【数12】

つまり、アイデア(2)によって、試行回数は1/nにできることが分かる。アイデア(2)を用いると演算量の比は、1/nとなる。nを少なめに見積もって10としても、1/n=1/10000となる。
さらに、アイデア(1)とアイデア(2)を組み合わせた場合、演算量の比は、
100/(N×n
となり、N=100、n=10の場合、10倍の高速とできる。非特許文献4に示す技術と比較して、非常に効果の高いことが分かる。
【0072】
<8. ハードウェア構成等>
図4を参照して、第1〜第4の実施の形態のハードウェア構成例について説明する。図4に示す構成は、例えばパーソナルコンピュータ(PC)などによって構成される画像処理システムであり、スキャナ等のデータ読み取り部417と、プリンタなどのデータ出力部418を備えたハードウェア構成例を示している。なお、このハードウェア構成は、他の実施の形態についても適用する。
【0073】
CPU(Central Processing Unit)401は、上述の実施の形態において説明した各種のモジュール、すなわち、特徴点抽出モジュール101、特徴点ペア選択モジュール102、特徴点ペア検証モジュール103等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する制御部である。
【0074】
ROM(Read Only Memory)402は、CPU401が使用するプログラムや演算パラメータ等を格納する。RAM(Random Access Memory)403は、CPU401の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはCPUバスなどから構成されるホストバス404により相互に接続されている。
【0075】
ホストバス404は、ブリッジ405を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス406に接続されている。
【0076】
キーボード408、マウス等のポインティングデバイス409は、操作者により操作される入力デバイスである。ディスプレイ410は、液晶表示装置又はCRT(Cathode Ray Tube)などからなり、各種情報をテキストやイメージ情報として表示する。
【0077】
HDD(Hard Disk Drive)411は、ハードディスクを内蔵し、ハードディスクを駆動し、CPU401によって実行するプログラムや情報を記録又は再生させる。ハードディスクは、画像A、画像Bや変換後の画像などが格納される。さらに、その他の各種のデータ処理プログラム等、各種コンピュータ・プログラムが格納される。
【0078】
ドライブ412は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体413に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース407、外部バス406、ブリッジ405、及びホストバス404を介して接続されているRAM403に供給する。リムーバブル記録媒体413も、ハードディスクと同様のデータ記録領域として利用可能である。
【0079】
接続ポート414は、外部接続機器415を接続するポートであり、USB、IEEE1394等の接続部を持つ。接続ポート414は、インタフェース407、及び外部バス406、ブリッジ405、ホストバス404等を介してCPU401等に接続されている。通信部416は、ネットワークに接続され、外部とのデータ通信処理を実行する。データ読み取り部417は、例えばスキャナであり、ドキュメントの読み取り処理を実行する。データ出力部418は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。
【0080】
なお、図4に示す画像処理システムのハードウェア構成は、一つの構成例を示すものであり、本実施の形態は、図4に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア(例えば特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)等)で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図4に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、複写機、ファックス、スキャナ、プリンタ、複合機(多機能複写機とも呼ばれ、スキャナ、プリンタ、複写機、ファックス等の機能を有している)などに組み込まれていてもよい。
【0081】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、上記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク(DVD)であって、DVDフォーラムで策定された規格である「DVD−R、DVD−RW、DVD−RAM等」、DVD+RWで策定された規格である「DVD+R、DVD+RW等」、コンパクトディスク(CD)であって、読出し専用メモリ(CD−ROM)、CDレコーダブル(CD−R)、CDリライタブル(CD−RW)等、光磁気ディスク(MO)、フレキシブルディスク(FD)、磁気テープ、ハードディスク、読出し専用メモリ(ROM)、電気的消去及び書換可能な読出し専用メモリ(EEPROM)、フラッシュ・メモリ、ランダム・アクセス・メモリ(RAM)等が含まれる。
そして、上記のプログラム又はその一部は、上記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク(LAN)、メトロポリタン・エリア・ネットワーク(MAN)、ワイド・エリア・ネットワーク(WAN)、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、上記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して
記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。
【図面の簡単な説明】
【0082】
【図1】第1の実施の形態の構成例についての概念的なモジュール構成図である。
【図2】第4の実施の形態をモザイク画像合成に応用した場合の構成例についての概念的なモジュール構成図である。
【図3】第4の実施の形態による具体的な処理例の説明図である。
【図4】第1〜第4の実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
【図5】背景技術の説明図である。
【図6】背景技術の説明図である。
【図7】背景技術の説明図である。
【符号の説明】
【0083】
101…特徴点抽出モジュール
102…特徴点ペア選択モジュール
103…特徴点ペア検証モジュール
104…特徴点間距離算出モジュール
105…変換係数算出モジュール
106…最終変換検証モジュール
107…詳細変換算出モジュール
201…画像位置合わせモジュール
202…画像変換モジュール
203…画像重ね合わせモジュール

【特許請求の範囲】
【請求項1】
2枚の画像から特徴点を抽出する特徴点抽出手段と、
各々の前記画像から1個以上の特徴点を選択する特徴点選択手段と、
前記特徴点選択手段により選択した特徴点の対を生成する特徴点対生成手段と、
前記特徴点対生成手段により生成された1個以上の対を用いて変換係数を算出する変換係数算出手段と、
一方の前記画像の一部の領域を前記変換係数算出手段によって算出された変換係数に応じて変換する画像変換手段と、
前記画像変換手段によって変換された画像と他方の前記画像との距離を計測する距離計測手段
を具備することを特徴とする画像処理装置。
【請求項2】
前記距離計測手段によって計測された変換後画像と他方の前記画像との距離が離れている場合には、前記特徴点選択手段による特徴点の選択を再度行わせるように制御する制御手段
をさらに具備することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記距離計測手段によって計測された変換後画像と他方の前記画像との距離が近い場合には、前記画像変換手段による変換の対象を前記画像の一部の領域よりも広い領域として、前記画像変換手段による変換を再度行わせ、前記距離計測手段による計測を再度行わせるように制御する制御手段
をさらに具備することを特徴とする請求項1に記載の画像処理装置。
【請求項4】
前記画像の一部の領域は、前記特徴点対生成手段により生成された対の特徴点の周囲の領域である
ことを特徴とする請求項1に記載の画像処理装置。
【請求項5】
前記画像の一部の領域は、前記画像変換手段によって変換された画像と他方の前記画像との重なりあう領域の一部である
ことを特徴とする請求項1に記載の画像処理装置。
【請求項6】
前記特徴点対生成手段により生成された対とは異なる対を生成する第2の特徴点対生成手段と、
前記第2の特徴点対生成手段により生成された対の特徴点の座標の差が閾値以下である対を計測する計測手段
をさらに具備し、
前記距離計測手段による距離の計測は、前記計測手段により計測された対の数とする
ことを特徴とする請求項1に記載の画像処理装置。
【請求項7】
前記第2の特徴点対生成手段により生成された対の特徴点の周囲の領域を変換した結果、該変換後の画像と他方の前記画像との類似度に応じて、対を検証する特徴点対検証手段
をさらに具備することを特徴とする請求項6に記載の画像処理装置。
【請求項8】
前記特徴点の周囲の領域の変換は、前記変換係数算出手段によって算出された変換係数を、対の特徴点の位置が一致するように平行移動させるものである
ことを特徴とする請求項7に記載の画像処理装置。
【請求項9】
前記特徴点対生成手段によって生成された対を検証する検証手段
をさらに具備し、
前記検証手段は、前記特徴点対生成手段による対の生成が2回以上行われ、該対の検証を行う場合に、該検証を行う処理量がより多い検証を行う
ことを特徴とする請求項1に記載の画像処理装置。
【請求項10】
画像処理システムを、
2枚の画像から特徴点を抽出する特徴点抽出手段と、
各々の前記画像から1個以上の特徴点を選択する特徴点選択手段と、
前記特徴点選択手段により選択した特徴点の対を生成する特徴点対生成手段と、
前記特徴点対生成手段により生成された1個以上の対を用いて変換係数を算出する変換係数算出手段と、
一方の前記画像の一部の領域を前記変換係数算出手段によって算出された変換係数に応じて変換する画像変換手段と、
前記画像変換手段によって変換された画像と他方の前記画像との距離を計測する距離計測手段
として機能させることを特徴とする画像処理プログラム。
【請求項11】
前記画像処理システムを、
前記距離計測手段によって計測された変換後画像と他方の前記画像との距離が離れている場合には、前記特徴点選択手段による特徴点の選択を再度行わせるように制御する制御手段
としてさらに機能させることを特徴とする請求項10に記載の画像処理プログラム。
【請求項12】
前記画像処理システムを、
前記距離計測手段によって計測された変換後画像と他方の前記画像との距離が近い場合には、前記画像変換手段による変換の対象を前記画像の一部の領域よりも広い領域として、前記画像変換手段による変換を再度行わせ、前記距離計測手段による計測を再度行わせるように制御する制御手段
としてさらに機能させることを特徴とする請求項10に記載の画像処理プログラム。
【請求項13】
前記画像の一部の領域は、前記特徴点対生成手段により生成された対の特徴点の周囲の領域である
ことを特徴とする請求項10に記載の画像処理プログラム。
【請求項14】
前記画像の一部の領域は、前記画像変換手段によって変換された画像と他方の前記画像との重なりあう領域の一部である
ことを特徴とする請求項10に記載の画像処理プログラム。
【請求項15】
前記画像処理システムを、
前記特徴点対生成手段により生成された対とは異なる対を生成する第2の特徴点対生成手段と、
前記第2の特徴点対生成手段により生成された対の特徴点の座標の差が閾値以下である対を計測する計測手段
としてさらに機能させ、
前記距離計測手段による距離の計測は、前記計測手段により計測された対の数とする
ことを特徴とする請求項10に記載の画像処理プログラム。
【請求項16】
前記画像処理システムを、
前記第2の特徴点対生成手段により生成された対の特徴点の周囲の領域を変換した結果、該変換後の画像と他方の前記画像との類似度に応じて、対を検証する特徴点対検証手段
としてさらに機能させることを特徴とする請求項15に記載の画像処理プログラム。
【請求項17】
前記特徴点の周囲の領域の変換は、前記変換係数算出手段によって算出された変換係数を、対の特徴点の位置が一致するように平行移動させるものである
ことを特徴とする請求項16に記載の画像処理プログラム。
【請求項18】
前記画像処理システムを、
前記特徴点対生成手段によって生成された対を検証する検証手段
としてさらに機能させ、
前記検証手段は、前記特徴点対生成手段による対の生成が2回以上行われ、該対の検証を行う場合に、該検証を行う処理量がより多い検証を行う
ことを特徴とする請求項10に記載の画像処理プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2008−197917(P2008−197917A)
【公開日】平成20年8月28日(2008.8.28)
【国際特許分類】
【出願番号】特願2007−32519(P2007−32519)
【出願日】平成19年2月13日(2007.2.13)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】