以下、本発明の実施の形態について図面を参照して説明する。
〔第1の実施の形態〕
図1は、第1の実施の形態に係る画像処理装置の機能構成例およびその動作例を示す図である。画像処理装置1は、第1の画像から抽出された特徴点と、第2の画像から抽出された特徴点との対応付けを行うことが可能な装置である。対応付けられた特徴点に関する情報は、例えば、第1の画像と第2の画像とを位置合わせする際に利用される。
画像処理装置1は、検出部2および判定部3を有する。検出部2および判定部3の処理は、例えば、画像処理装置1が備えるプロセッサが所定のプログラムを実行することによって実現される。
検出部2は、第1の画像および第2の画像から抽出された特徴点のそれぞれについて、各特徴点からその特徴点に最も近い同一画像上の他の特徴点への第1の方向に基づいて第2の方向を決定し、その特徴点から第2の方向に沿ってエッジを検出する。これにより検出部2は、特徴点それぞれについて、最も近い他の特徴点およびエッジの各位置を判別する。
判定部3は、第1の画像から抽出された特徴点のそれぞれと、第2の画像から抽出された特徴点のそれぞれとの間で、各特徴点とその特徴点に対応する最も近い他の特徴点およびエッジとの位置関係の類似度を判定する。判定部3は、類似度の判定結果に基づいて、第1の画像と第2の画像のそれぞれから抽出された特徴点同士を対応付ける。
このような処理により、画像間での特徴点の対応付けを適正化することができる。例えば、上記処理によって対応付けられた特徴点のペアを用いることで、第1の画像と第2の画像とを高精度で位置合わせすることができる。
以下、例として図1に示す画像11,12を用いて、特徴点の対応付けの適正化効果について説明する。
画像11,12は、人工衛星や航空機などによって上空から撮影された写真である。画像11,12には同一の被写体21,22が写っており、被写体21は、建物など、高さを有するものである一方、被写体22は、道路や駐車場など、高さを有さないものであるとする。
また、画像11と画像12とは、カメラの位置の違いから撮影角度が互いに異なっているものとする。このように撮影角度が異なる画像11と画像12とでは、高さを有する被写体21の写り方が異なる。一方、高さを有さない被写体22については、画像11と画像12とで写り方に変化がない。
ここで、画像11から特徴点P1a,P2aが抽出され、画像12から特徴点P1b,P2bが抽出されたものとする。特徴点P1aと特徴点P1b、特徴点P2aとP2bは、ともに被写体21の上面における同一箇所に対応するものとする。そして、特徴点P1aと特徴点P1bとを対応付けて特徴点ペアを生成し、特徴点P1aと特徴点P1bの各位置が一致するように画像11と画像12とを位置合わせすることを考える。
前述のように画像11と画像12とは撮影角度が異なることから、画像11における特徴点P1aと被写体22との位置関係は、画像12における特徴点P1bと被写体22との位置関係とは一致しない。このような場合に、特徴点P1aと特徴点P1bの各位置が一致するように画像11,12の位置合わせが行われると、被写体22など、高さを有さない被写体の位置ズレが発生し、これらの被写体を精度よく位置合わせすることができない。高さを有さない被写体の位置ズレを発生させないようにするには、特徴点P1a,P1bを対応付けた特徴点ペアを、位置合わせの際に利用する特徴点ペアから除外することが望ましい。
これに対して、画像処理装置1の検出部2は、画像11に関して、特徴点P1aに最も近い他の特徴点として特徴点P2aを抽出し、特徴点P1aから特徴点P2aへの方向を第1の方向と決定する。そして、検出部2は、特徴点P1aから、第1の方向に基づく第2の方向に対してエッジを探索し、点P3をエッジと判定する。一方、検出部2は、画像12に関して、特徴点P1bに最も近い他の特徴点として特徴点P2bを抽出し、特徴点P1bから特徴点P2bへの方向を第1の方向と決定する。そして、検出部2は、特徴点P1bから、第1の方向に基づく第2の方向に対してエッジを探索し、点P4をエッジと判定する。なお、図1の例では、第1の方向に対して右回り方向に90°の方向を第2の方向とするが、第2の方向は第1の方向に応じて任意に設定することができる。
画像処理装置1の判定部3は、特徴点P1a,P2aおよび点P3の位置関係と、特徴点P1b,P2bおよび点P3の位置関係とを比較し、これらの類似度を判定する。ここで、位置関係を示す情報とは、例えば、注目する特徴点(特徴点P1a,P1bに対応)から、最も近い他の特徴点への線分の長さと、検出されたエッジへの線分の長さとの比とすることができる。あるいは、注目する特徴点、最も近い他の特徴点およびエッジの各位置に基づいて所定の手順により形成される図形を示す情報であってもよい。特徴点P1a,P2aおよび点P3の位置関係と、特徴点P1b,P2bおよび点P3の位置関係とは一致せず、これらの類似度は所定のしきい値より低くなる。
また、図1の例では、画像11における特徴点P1aから特徴点P2aへの距離や方向と、画像12における特徴点P1bから特徴点P2bへの距離や方向が一致しているが、場合によっては、これらの距離または方向が一致しないこともある。このような場合にも、特徴点P1a,P2aおよび点P3の位置関係と、特徴点P1b,P2bおよび点P3の位置関係とは一致しない。
被写体21のように撮影角度が異なると写り方が変わる被写体の同一箇所から抽出された特徴点のペアについては、上記手順で位置関係を比較すると、位置関係が一致しない可能性が高く、これらの類似度が低くなる可能性が高い。一方、地表面にある被写体22のように撮影角度が異なっていても写り方が変わらない被写体の同一箇所から抽出された特徴点のペアについては、上記手順で位置関係を比較すると、位置関係が一致する可能性が高く、これらの類似度が高くなる可能性が高い。
従って、判定部3は、位置関係の類似度を基に、位置合わせに用いることが好ましい特徴点ペアと好ましくない特徴点ペアを判別することができ、その結果、画像間で特徴点を適正に対応付けることができる。図1の例では、判定部3は、特徴点P1aと特徴点P1bのペアを、対応付けが適正ではないと判定して、位置合わせに用いる特徴点ペアから除外することができる。そして、撮影角度が異なっていても写り方が変わらない被写体を精度よく位置合わせすることができるようになる。
〔第2の実施の形態〕
次に、上記の類似度判定を特徴点マトリクスの楕円の形状に基づいて行うようにした画像処理装置について説明する。図2は、第2の実施の形態に係る画像処理装置のハードウェア構成例を示す図である。
画像処理装置100は、照合する2つの画像のデータをクライアント200から受信し、各画像から抽出した特徴点を基に各画像の位置合わせを行う。画像処理装置100は、位置を合わせた状態で各画像の差分を抽出し、差分の大きい領域を示す情報をクライアント200に送信する。
照合する各画像は、例えば、人工衛星や航空機などによって上空からほぼ同一の地点が異なる時期に撮影された写真画像である。クライアント200のユーザは、画像処理装置100から、各画像間で差分の大きい領域を示す情報を取得することで、例えば、新たに建設された建物など、時間経過によって変化した領域を判別することができる。
画像処理装置100は、例えば、図2に示すようなコンピュータとして実現される。画像処理装置100は、プロセッサ101、RAM(Random Access Memory)102、HDD(Hard Disk Drive)103、画像信号処理部104、入力信号処理部105、ディスクドライブ106および通信インタフェース107を有する。これらの各ユニットは、画像処理装置100内でバス108に接続されている。
プロセッサ101は、プログラムの命令を実行する演算器を含むプロセッサである。プロセッサ101は、HDD103に記憶されているプログラムやデータの少なくとも一部をRAM102にロードし、プログラムを実行する。なお、プロセッサ101は複数のプロセッサコアを備えてもよく、画像処理装置100は複数のプロセッサを備えてもよい。
RAM102は、プロセッサ101が実行するプログラムや計算に用いられるデータを一時的に記憶する揮発性メモリである。HDD103は、OS(Operation System)やファームウェア、アプリケーションソフトウェアなどのプログラムおよびデータを記憶する不揮発性の記憶装置である。なお、画像処理装置100は、SSD(Solid State Drive)などの他の種類の記憶装置を備えてもよく、複数個の不揮発性の記憶装置を備えてもよい。
画像信号処理部104は、プロセッサ101からの命令に従って、画像処理装置100に接続されたディスプレイ104aに画像を出力する。ディスプレイ104aとしては、CRT(Cathode Ray Tube)ディスプレイや液晶ディスプレイなどを用いることができる。
入力信号処理部105は、画像処理装置100に接続された入力デバイス105aから入力信号を取得し、プロセッサ101に通知する。入力デバイス105aとしては、マウスやタッチパネルなどのポインティングデバイス、キーボードなどを用いることができる。
ディスクドライブ106は、記録媒体106aに記録されたプログラムやデータを読み取る駆動装置である。記録媒体106aとしては、例えば、フレキシブルディスク(FD:Flexible Disk)やHDDなどの磁気ディスク、CD(Compact Disc)やDVD(Digital Versatile Disc)などの光ディスク、光磁気ディスク(MO:Magneto-Optical disk)を使用できる。ディスクドライブ106は、プロセッサ101からの命令に従って、記録媒体106aから読み取ったプログラムやデータをRAM102またはHDD103に格納する。なお、画像処理装置100はディスクドライブ106を備えていなくてもよい。
通信インタフェース107は、ネットワーク107aを介して、クライアント200などの他の情報処理装置と通信を行う。
なお、画像処理装置100は、複数のクライアント200に接続されて、クライアント200のそれぞれから照合する2つの画像のデータを受信してもよい。また、照合する2つの画像のデータは、クライアント200の他、例えば、記録媒体106aを介して画像処理装置100に入力されてもよい。
なお、クライアント200も、例えば、図2に示すようなハードウェア構成を有するコンピュータとして実現することができる。
図3は、画像処理装置の機能の構成例を示すブロック図である。画像処理装置100は、制御部110および記憶部120を有する。制御部110の処理は、例えば、画像処理装置100のプロセッサ101が所定のプログラムを実行することで実現される。なお、制御部110の処理の少なくとも一部が、専用のハードウェア回路によって実現されてもよい。また、記憶部120は、画像処理装置100が備える記憶装置であり、例えば、RAM102として実現される。
制御部110は、特徴点抽出部111、マトリクス生成部112、特徴点ペア判定部113、楕円形状判定部114、位置合わせ処理部115および差分検出部116を備える。また、記憶部120には、画像情報121、特徴点情報122、第1マトリクス情報123、第2マトリクス情報124および特徴点ペア情報125が記憶される。
クライアント200から受信した2つの画像のデータは、画像情報121として記憶部120に記憶される。各画像は個別の画像IDが付与されることによって管理される。
特徴点抽出部111は、画像情報121に基づき、2つの画像のそれぞれから特徴点を抽出する。特徴点とは、画像の中で目立った特徴を示す点である。例えば、画像内の物体の角にあたる部分や、境界線に該当する部分など、周囲の画素との輝度勾配が大きい部分が特徴点として抽出される。
特徴点抽出部111は、例えば、画像内の建物、道路、森林、敷地などの輪郭点や境界点などを特徴点として抽出する。特徴点を抽出するための用いる手法は特に限定されず、例えば、ハリス(Harris)オペレータやモラベック(Moravec)オペレータを用いる方法、SUSAN(Smallest Univalue Segment Assimilating Nucleus)、MIC(Minimum Intensity Change)等を利用することができる。特徴点抽出部111は、各画像から抽出した特徴点の位置を示す情報を、特徴点情報122として記憶部120に格納する。
マトリクス生成部112は、各画像から抽出された特徴点それぞれについて、特徴量マトリクスを生成する。後述するように、特徴量マトリクスは、各特徴点の特徴量を示す情報であり、各特徴点を中心とした楕円を所定数の領域に分割し、各分割領域に情報を対応付けたものである。分割領域に対応付けられる情報は、特徴点の輝度値と分割領域の輝度値との差分(輝度差)である。
マトリクス生成部112は、2つの画像のうち比較対象となる画像(以下、適宜「比較画像」とも称する。)の特徴量マトリクスを、第1マトリクス情報123として記憶部120に格納する。また、マトリクス生成部112は、2つの画像のうち処理対象となる画像(以下、適宜「処理画像」とも称する。)の特徴量マトリクスを、第2マトリクス情報124として記憶部120に格納する。なお、後述するように、第2マトリクス情報124には、1つの特徴点について複数の特徴量マトリクスが記憶される場合もある。
特徴量マトリクスの詳しい生成方法については後述する。
特徴点ペア判定部113は、第1マトリクス情報123および第2マトリクス情報124に基づいて、画像間で特徴点同士を対応付けた特徴点ペアを生成する。生成された各特徴点ペアに関する情報は、特徴点ペア情報125として記憶部120に格納される。
特徴点ペア判定部113は、2つの画像のそれぞれの特徴点について生成された特徴量マトリクスを比較して、類似度を算出する。例えば、特徴点ペア判定部113は、一方の画像の特徴点を1つ選択し、選択した特徴点の特徴量マトリクスを、他方の画像の特徴点すべての特徴量マトリクスと比較する。例えば、特徴点ペア判定部113は、2つの特徴量マトリクスの各領域の輝度差レベルを比較する。そして、特徴点ペア判定部113は、比較結果に基づき、特徴量マトリクス間の類似度を算出する。特徴点ペア判定部113は、最も類似度が高い特徴点の対を特徴点ペアと決定する。
なお、類似度を算出する手法は特に限定されないが、例えば、正規化相互相関(ZNCC:Zero-mean Normalized Cross-Correlation)を用いることができる。また、差分絶対値和(SAD:Sum of Absolute Differences)、差の二乗和(SSD:Sum of Squared Difference)などを利用した手法を適用してもよい。
楕円形状判定部114は、特徴点ペアに含まれる各特徴点について生成された特徴量マトリクスの楕円の形状を比較し、これらの形状が類似するかを判定する。
位置合わせ処理部115は、特徴点ペア情報125に基づいて、2つの画像の位置合わせを実行する。このとき、位置合わせ処理部115は、楕円形状判定部114の判定結果に基づいて、位置合わせに利用する特徴点ペアを選別する。
位置合わせ処理部115は、各特徴点ペアに含まれる特徴点同士の位置を合わせることで、画像同士の位置合わせを実行する。例えば、位置合わせ処理部115は、特徴点ペアに含まれる各特徴点の座標に基づいてホモグラフィ行列を算出し、一方の画像をホモグラフィ行列を用いて変換することで、画像の位置合わせを実行する。なお、位置合わせに用いる手法は特に限定されない。
差分検出部116は、位置合わせ後の2つの画像の差分を検出する。例えば、差分検出部116は、位置合わせ後の画像の画素値(例えば、輝度成分)を比較して差分を検出する。なお、差分検出に用いる手法は特に限定されない。差分検出部116は、例えば、検出した差分画像をクライアント200に送信する。また、差分検出部116は、例えば、差分の値が所定のしきい値以上となる領域を比較画像上に示した表示情報を、クライアント200に送信してもよい。
上記の画像処理装置100による処理結果は、例えば、不動産管理業務を行う自治体職員などのユーザが、異なる時期に撮影された複数の画像を用いて、変化のある領域を判別するために利用される。ユーザは例えば、差分検出部116の出力結果から、違法に増改築された土地や建物、違法に伐採された森林、不法に投棄された廃棄物などがあるかを判別することができる。
次に、制御部110の処理の詳細について説明する。
<特徴量マトリクスを用いた特徴点ペアの判定処理>
まず、特徴点抽出部111、マトリクス生成部112および特徴点ペア判定部113の処理について説明する。特徴点抽出部111は、照合する2つの画像のそれぞれから特徴点を抽出し、抽出した各特徴点の情報を特徴点情報122として記憶部120に格納する。
図4は、特徴点情報に記憶される情報の例を示す図である。特徴点情報122には、画像を識別する「画像ID」に対して、該当する画像から抽出された複数の特徴点それぞれの情報が対応付けられる。各特徴点の情報には、特徴点を識別する「特徴点ID」と、該当する画像における特徴点の位置を示す「座標」とが含まれる。特徴点情報122には、2つの画像のそれぞれから抽出された各特徴点に関する情報が登録される。
マトリクス生成部112は、特徴点情報122に基づき、各画像から抽出された特徴点それぞれについて、特徴量マトリクスを生成する。図5は、特徴量マトリクスの構成例を示す図である。
特徴量マトリクスは、特徴点を中心として所定の長さの軸を有する楕円を、周方向および半径方向に所定の数の領域に分割したものである。後述するように、マトリクス生成部112は、特徴点とこれに最も近い他の特徴点とを結ぶ線分の方向を第1の方向と決定し、第1の方向に基づいて第2の方向を決定する。第2の方向は、例えば、第1の方向を所定方向に90°回転させた方向である。
マトリクス生成部112は、このように生成した特徴量マトリクスに、特徴点の画素値と、マトリクスの領域の画素値との差分に関する情報を対応付ける。本実施の形態では、画素値として輝度値を用いる。各領域に含まれる画素の輝度値と、楕円の中心に位置する特徴点の輝度値との差分が、各領域の「輝度差」の値となる。
なお、図5では例として、合計49個の画素を示すが、以下、説明の便宜上、49個の画素をそれぞれ、水平方向(x方向)の番号(座標)と垂直方向(y方向)の番号(座標)とによって特定して説明する。例えば、画素(1,2)は、x方向の番号が「1」、y方向の番号が「2」の画素を示す。
図5の例では、マトリクス生成部112は、特徴点FPを中心として、特徴点FPが存在する画素位置から長軸方向に左右3画素の領域にわたる特徴量マトリクスMTを設定する。また、図5の例では、特徴量マトリクスMTを構成する楕円は、径方向に2領域、周方向に4領域に分割され、全部で8個の領域が形成される。各領域には、領域を一意に特定するためのマトリクスセグメントIDが付与される。図5の例では、楕円の上中心から右回り方向に内側から外側に向けて順番に、マトリクスセグメントIDが付与されている。例えば、中心側の楕円に含まれる4つの領域には、上中心から右回りに、マトリクスセグメントID「1」〜「4」が付与されている。外側の楕円に含まれる4つの領域には、上中心から右回りに、マトリクスセグメントID「5」〜「8」が付与されている。
このように特徴量マトリクスMTの領域を設定した場合、1つの画素が2以上の領域にまたがって存在する場合がある。そこで、マトリクス生成部112は、例えば、2つの領域にまたがる画素については、右側かつ下側の領域に入れて特徴量を計算する。例えば、図5の画素(4,3)は、マトリクスセグメントID「1」,「4」,「5」,「8」の4つの領域にまたがって存在する。そして、右側の領域は、マトリクスセグメントID「1」,「5」の領域であり、そのうち下側の領域はマトリクスセグメントID「1」の領域である。従って、マトリクス生成部112は、画素(4,3)はマトリクスセグメントID「1」の領域にあるものとして特徴量を算出する。
このようにして、マトリクス生成部112は、図5に示す各領域について、特徴量を算出する。例えば、マトリクスセグメントID「1」の領域には、画素(3,5)および画素(3,6)が含まれる。従って、輝度値「(100+100)/2=100」がマトリクスセグメントID「1」の領域の輝度値となる。そして、特徴点FPが存在する領域の画素の輝度値は「255」である。よって、「255−100=155」が、マトリクスセグメントID「1」の領域に対応付けられる輝度差の値となる。
マトリクス生成部112は、各特徴点について、マトリクスセグメントそれぞれの輝度差を算出し、算出された輝度差を記憶部120に格納する。マトリクス生成部112は、比較画像の特徴点についての輝度差の情報を第1マトリクス情報123に登録し、処理画像の特徴点についての輝度差の情報を第2マトリクス情報124に登録する。
図6は、第1マトリクス情報に記憶される情報の例を示す図である。第1マトリクス情報123は、比較画像の各特徴点について1つの特徴量マトリクスを記憶する。
第1マトリクス情報123には、比較画像を識別する「画像ID」に対して、この比較画像から抽出された各特徴点を識別する「特徴点ID」が対応付けられ、「特徴点ID」のそれぞれに、該当特徴点について生成された特徴量マトリクスを識別する「マトリクスID」が対応付けられている。
「マトリクスID」のそれぞれには、該当特徴量マトリクスに含まれるマトリクスセグメントを識別する「マトリクスセグメントID」が対応付けられている。そして、「マトリクスセグメントID」のそれぞれに対して、該当マトリクスセグメントの「輝度値」および「輝度差」が対応付けられている。「輝度値」および「輝度差」の計算方法は、図5において説明した通りである。
さらに、「マトリクスID」のそれぞれには、「楕円形状情報」が対応付けられている。「楕円形状情報」は、該当特徴量マトリクスの楕円の形状を示す情報であり、楕円形状判定部114によって楕円形状が類似するかを判定するために参照されるものである。本実施の形態では例として、「楕円形状情報」は、楕円の一方の軸に対する他方の軸の比を示すものとする。
図7は、第2マトリクス情報に記憶される情報の例を示す図である。第2マトリクス情報124は、処理画像の各特徴点について1つまたは複数の特徴量マトリクスを記憶する。すなわち、第2マトリクス情報124においては、1つの「特徴点ID」に対して複数の「マトリクスID」が対応付けられ得る。
第2マトリクス情報124には、図6に示した第1マトリクス情報123に含まれる情報に加えて、「回転角」および「拡大縮小率」の各情報を含む。「回転角」は、特徴量マトリクスを所定方向に回転させた最大角度を示す。「拡大縮小率」は、特徴量マトリクスを拡大または縮小した比率を示す。同一の「特徴点ID」に対して複数の「マトリクスID」が対応付けられる場合、「マトリクスID」のそれぞれに対応付けられる「回転角」または「拡大縮小率」の少なくとも一方には異なる値が登録される。
ここで、特徴量マトリクスの生成処理についてさらに詳しく説明する。図8は、特徴量マトリクスの生成処理例を示す図である。
マトリクス生成部112は、注目する特徴点(以下、注目点と称する。)とこれに最も近い他の特徴点とを結ぶ線分の方向を第1の方向と決定し、第1の方向に基づいて第2の方向を決定する。本実施の形態では、第2の方向は、第1の方向を所定回転方向に90°回転させた方向である。マトリクス生成部112は、注目点を起点として第2の方向に対し、輝度変化が大きくなる点(エッジ)を探索する。マトリクス生成部112は、注目点を中心とし、第1の方向および第2の方向をそれぞれ軸として、注目点に最も近い他の特徴点と上記のエッジとを通る楕円を、特徴量マトリクスの外形とする。
図8の例では、マトリクス生成部112は、注目点P11から、この注目点P11に最も近い特徴点P12を結ぶ線分の方向を第1の方向とし、この第1の方向から例えば左回り方向に90°回転させた方向を第2の方向とする。マトリクス生成部112は、注目点P11を起点として第2の方向に対してエッジを探索し、点P13をエッジと判定する。マトリクス生成部112は、注目点P11を中心とし、注目点P11と特徴点P12とを結ぶ線分の方向および注目点P11と点P13とを結ぶ線分の方向をそれぞれ軸とし、特徴点P12および点P13を通る楕円Eを、特徴量マトリクスの外形とする。
なお、エッジの判定方法としては特に限定されないが、例えば、第2の方向に隣接する画素間の輝度値の差分が所定のしきい値以上となる場合にエッジと判定する方法、あるいは、Sobelフィルタなどを用いた各種フィルタ演算によってエッジ強度を算出し、エッジ強度が所定のしきい値以上となる点をエッジと判定する方法などを用いることができる。
マトリクス生成部112は、特徴量マトリクスの楕円の軸の方向および長さに応じて、図5に示したマトリクスセグメントを設定する。マトリクス生成部112は、設定した各マトリクスセグメントに対応付ける輝度差を算出して、第1マトリクス情報123または第2マトリクス情報124に登録する。また、マトリクス生成部112は、特徴量マトリクスの楕円における一方の軸(例えば、第1の方向に沿った軸)に対する他方の軸(例えば、第2の方向に沿った軸)の比を、楕円形状情報として第1マトリクス情報123または第2マトリクス情報124に登録する。
特徴点ペア判定部113は、第1マトリクス情報123および第2マトリクス情報124を参照して、比較画像の特徴点についての特徴量マトリクスと、処理画像の特徴点についての特徴量マトリクスとを比較し、類似度を算出する。例えば、特徴点ペア判定部113は、一方の画像の特徴点を1つ選択し、選択した特徴点の特徴量マトリクスの輝度差を、他方の画像の特徴点すべての特徴量マトリクスの輝度差と比較して、特徴量マトリクス間の類似度を算出する。特徴点ペア判定部113は、最も類似度が高い特徴点の対を特徴点ペアと決定する。このとき、特徴点ペア判定部113は、複数の特徴量マトリクスが生成された特徴点については、それら複数の特徴量マトリクスのそれぞれを用いて類似度を算出し、最も高い値をその特徴点についての類似度として採用する。
図9は、特徴点ペア情報に記憶される情報の例を示す図である。特徴点ペア判定部113は、決定した特徴点ペアに含まれる特徴点の情報を特徴点ペア情報125に格納する。
特徴点ペア情報125には、特徴点ペアを識別する「ペアID」に対して、比較画像の特徴点を識別する「特徴点ID」、その特徴点の特徴量マトリクスの楕円についての「楕円形状情報」、処理画像の特徴点を識別する「特徴点ID」、その特徴点の特徴量マトリクスの楕円についての「楕円形状情報」が対応付けられる。これらのうち、処理画像の特徴点についての「楕円形状情報」には、該当特徴点についての複数の特徴量マトリクスのうち、類似度の値が最も高くなったときの特徴量マトリクスの楕円についての形状情報が登録される。
ここで、特徴量マトリクスの生成において、注目点から最も近い他の特徴点を利用する理由について説明する。
例えば、比較画像においては、図8に示すように、注目点P11から最も近い他の特徴点は、特徴点P12となったとする。これに対して、処理画像においては、日照の変化により画像の一部に影がかかるといった変化が生じる場合がある。例えば、処理画像においては、注目点P11の領域には影にかかっていないが、特徴点P12の領域には影がかかっているとする。この場合、マトリクス生成部112は、特徴点P12を、注目点P11から最も近い他の特徴点として抽出できない場合がある。特徴点P12以外の特徴点が注目点P11に最も近い特徴点として抽出されると、マトリクス生成部112が注目点P11について生成する特徴量マトリクスは、比較画像から注目点P11について生成された特徴量マトリクスと異なることになる。この場合、正しく特徴点ペアが検出できない可能性がある。
しかし、通常は、特徴点ペアとして数百のペアが抽出したのち、正当性をチェックして誤対応ペアを除外する処理が行われる。また、衛星画像や航空写真の場合、すべての特徴点について日照変化等の影響で誤検出が生じる可能性は低い。従って、日照変化の影響を考慮しても、最も近い特徴点を抽出して特徴量マトリクスを生成することによって妥当な特徴点ペアを決定することができる。
次に、処理画像から特徴量マトリクスを生成する際の拡大縮小および回転処理について説明する。
図10は、特徴量マトリクスの拡大縮小処理を説明するための図である。前述のように、マトリクス生成部112は、処理画像において、注目点P11から最も近い特徴点P12を抽出し、注目点P11と最も近い特徴点P12とを結ぶ線分に対して90°の角度をなす線分上においてエッジとなる点P13を抽出する。そして、マトリクス生成部112は、90°の角度をなす線分(すなわち、注目点P11と点P13とを結ぶ線分)の長さを所定の割合で増減させて、複数の特徴量マトリクスを生成する。複数の特徴量マトリクスの情報は、それぞれの生成時の拡大縮小率の情報とともに第2マトリクス情報124に登録される。図7の「拡大縮小率」は、このときの線分の拡大縮小率を示す。
90°の角度をなす線分の長さについては、例えば、注目点からこの点に最も近い他の特徴点までの長さを基準として、増減の範囲が0.5倍〜2倍までに設定される。そして、基準の長さに対して、0.5倍、0.6倍、0.7倍、・・・2.0倍まで長さを変化させて特徴量マトリクスが生成される。
なお、拡大縮小率は、例えば次のような制約を受ける。縮小率は、特徴量マトリクスにおける楕円の半径方向の1領域(1つのマトリクスセグメント)が1画素以上となるように設定されることが望ましい。また、拡大縮小率は、特徴量マトリクスが処理画像の縦横の長さを超えないように設定されることが望ましい。後者に関しては、マトリクス生成部112は、注目点の座標に応じて、設定可能な拡大縮小率を決定する。
以上のように、特徴量マトリクスの短軸または長軸の長さを変化させて複数の特徴量マトリクスを生成することにより、画像の一部が歪んでいる場合であっても、正確に画像の輝度を反映した特徴量マトリクスを生成することができる。
図11は、特徴量マトリクスの回転処理について説明するための図である。図11(A)の画像301は、比較画像に写った被写体画像の例であり、図11(B)および図11(C)の画像302は、処理画像に写った同じ被写体画像の例である。撮影角度が変化した場合、複数画像間で、画像の写り具合が変化する。図11(A)の画像301と、図11(B)の画像302とでは、撮影角度の違いにより縦横の長さの比率が微妙に変化している。
図11(A)の画像301については、マトリクス生成部112は、注目点P11aに最も近い特徴点として、特徴点P12aを抽出する。そして、マトリクス生成部112は、注目点P11aと特徴点P12aとを結ぶ線分に対して90°の角度をなす線分に沿ってエッジを探索し、点P13aを輝度変化が所定値以上になるエッジとして抽出する。
一方、図11(B)の画像302は、画像301と比較して横方向の長さが短くなっている。このため、マトリクス生成部112は、注目点P11bに最も近い特徴点として特徴点P12bを抽出するが、注目点P11bと特徴点P12bとを結ぶ線分と90°をなす線分上には点P13bがないため、点P13bをエッジとして抽出できない。
ここで、エッジとして抽出される点を画像301と画像302とで等しくするためには、エッジ探索のために用いる線分の角度を変化させるとよい。そこで、図11(C)の例のように、マトリクス生成部112は、注目点とこれに最も近い他の特徴点とを結ぶ線分に対する、エッジを探索する方向の角度を90°から所定の範囲内で増減させて、複数の特徴量マトリクスを生成する。エッジを探索する方向の角度は、例えば、90°を基準として−89°から+89°までの範囲内で、1度ずつ変化させればよい。
エッジ探索方向の角度を変化させる範囲は、例えば、あらかじめ決められている。また、照合する画像に撮影角度の情報が付与されている場合には、マトリクス生成部112は、撮影角度の情報に基づいて角度変化範囲を算出してもよい。
次に、図12および図13を用いて、回転処理を経た特徴量マトリクスの生成処理について説明する。図12は、回転処理に伴う楕円の生成処理例を示す図である。また、図13は、最終的に生成される特徴量マトリクスの外形の例を示す図である。
図12の中央に示す例では、注目点P11に最も近い特徴点が特徴点P12であり、エッジ探索方向の角度を、注目点P11と特徴点P12とを結ぶ線分を90°回転させた方向から、さらにθ度回転させたものとする。このとき、マトリクス生成部112は、点P21をエッジと判定したものとする。
エッジ探索方向の角度を90°方向から変化させてしまうと、注目点P11を中心とした楕円を描くことができない。図12の中央に示す例では、注目点P11と点P21とを結ぶ線分を楕円の軸にすることができない。そこで、マトリクス生成部112は、次のような手順で特徴量マトリクスを生成する。
ここで、注目点P11に対して点P21に対向する点を点P22、注目点P11に対して点P12に対向する点を点P23とする。また、点P21,P22から特徴点P12と点P23とを結ぶ線分に下ろした垂線と、この線分との交点をそれぞれ点P24,P25とする。マトリクス生成部112は、これらの点に基づいて生成される4つの楕円を組み合わせることによって、特徴量マトリクスを生成する。
マトリクス生成部112は、図12の右上に示すように、点P24を中心とし、点P24と特徴点P12とを結ぶ線分を長径(または短径)、点P24と点P21とを結ぶ線分を短径(または長径)とする楕円E1を算出する。また、マトリクス生成部112は、図12の左上に示すように、点P24を中心とし、点P24と点P23とを結ぶ線分を長径(または短径)、点P24と点P21とを結ぶ線分を短径(または長径)とする楕円E2を算出する。
また、マトリクス生成部112は、図12の左下に示すように、点P25を中心とし、点P25と点P23とを結ぶ線分を長径(または短径)、点P25と点P22とを結ぶ線分を短径(または長径)とする楕円E3を算出する。また、マトリクス生成部112は、図12の右下に示すように、点P25を中心とし、点P25と特徴点P12とを結ぶ線分を長径(または短径)、点P25と点P22とを結ぶ線分を短径(または長径)とする楕円E4を算出する。
マトリクス生成部112は、楕円E1の右上領域311、楕円E2の左上領域312、楕円E3の左下領域313、楕円E4の右下領域314を組み合わせた図形315を、特徴量マトリクスの外形とする(図13参照)。
なお、前述のように、マトリクス生成部112は、特徴量マトリクスの楕円形状情報として、楕円の一方の軸に対する他方の軸の比を示すものとする。図13のように複数の楕円の組み合わせによって特徴量マトリクスが生成された場合、マトリクス生成部112は、例えば、一方の軸の長さを特徴点P12から点P23までの長さとする。また、他方の軸の長さを、特徴点P12とP23を結ぶ線分に対して注目点P11で直交する方向(図13の上下方向)に対して、特徴量マトリクスの外形と交差する点の距離とする。また、マトリクス生成部112は、他方の軸の長さを、点P21から点P24までの長さの倍の長さによって近似してもよい。
以上の図4〜図13において説明した処理によれば、画像処理装置100は、比較画像と処理画像のそれぞれの特徴点について、各特徴点を中心とし、当該特徴点と当該特徴点に最も近い他の特徴点とを結ぶ第1の線分を一方の径とし、当該特徴点と、当該特徴点から第1の線分の方向に基づく第2の方向への探索によって検出されたエッジとを結ぶ第2の線分を他方の径とする、楕円状の特徴量マトリクスを生成する。画像処理装置100は、楕円状のマトリクスの各領域に、当該領域内の画素値と当該特徴点の画素値との差分に関する情報を対応付ける。そして、画像処理装置100は、比較画像の各特徴点と処理画像の各特徴点との間で特徴量マトリクスを比較し、特徴量マトリクスが類似する特徴点同士を対応付けて特徴点ペアを決定する。これにより、画像処理装置100は、2つの画像間でのずれ方が画像内で一様でなくとも、適切に特徴点ペアを決定することができる。また、画像のアスペクト比を考慮した特徴量マトリクスを作成することができ、画像間にずれが生じている場合であっても、正確な特徴量マトリクスを作成して比較することができ、正確な特徴点ペアを決定することができる。
例えば、画像処理装置100は上記処理により、次のような画像間のズレに対処することができる。
2つの画像間のずれや、画像内で一様ではないずれは、2つの画像の撮影時の撮影角度や撮影方向の違いに起因して生じることがある。例えば、上空のカメラから真下方向を撮影した場合には、画像内の地物は、中心から周囲に向けた方向に倒れたような状態で写る。一方、上空のカメラから斜め下方向(例えばカメラから西向き等)を撮影した場合には、画像内の地物は、画像の一端、例えば東方向に相当する辺の中央を中心とする扇状に倒れたような状態で写る。さらに、カメラの向きが横方向に回転すると、上記の状態に回転要素が加わる。
このように撮影角度や撮影方向の差異に起因して画面にズレが生じる場合、画面中の領域ごとにアスペクト比、すなわち、縦方向の長さと横方向の長さの比が変化する場合がある。例えば、円形の時計盤を真上から見ると円形に見えるが、3時方向から斜めに見下ろすと、12時−6時を長軸とした楕円に見える。また、6時の方向から斜めに見下ろすと、3時−9時を長軸とした楕円に見える。上空から撮影した画像の場合にも同様のズレが画面内の領域ごとに生じる場合がある。
このようなズレが生じている場合に、各画像から特徴点を抽出し、特徴点の周囲の画素との画素値の変化の大きさとその変化の方向を算出する。そして、両画像間で算出した情報を比較することによりペアの決定を試みる。この場合、両画像間でアスペクト比が相違する箇所については、画素値の変化の大きさとその変化の方向が一致または類似せず、正しくペアを決定することができない。また、カメラの向きが横方向に回転している場合、上記のアスペクト比の変化に回転方向の変化が加わる。つまり、上記時計盤の例をとると、12時−6時の軸が中央を中心として回転方向にずれる場合がある。このような場合にも、特徴点の画素値の変化の方向が、画像ごとにずれることになり、正しく特徴点ペアを決定することができない。さらには、撮影時点が異なるために画像の明るさが画像ごとに相違し、特徴点ペアを決定するために使用する特徴量を輝度のみを基にしている場合、特徴点ペアを正しく決定することができない。
画像処理装置100は、上記のようなアスペクト比の違いや回転方向の変化、画像の明るさの違いに対処し、画像内に一様でないズレがある場合でも、正確な特徴点ペアを決定することができる。
また、画像処理装置100は、エッジを探索する第2の方向を、特徴点を中心として所定角度ずつ回転させて、1つの特徴点につき複数の特徴量マトリクスを作成する。これにより、2つの画像のずれが一様でなくとも、正確な特徴量マトリクスを作成して比較することができ、正確な特徴点ペアを決定することができる。また、2つの画像それぞれに異なる程度の回転要素が含まれている場合であっても、正確な特徴量マトリクスを作成して比較することができ、特徴量マトリクスの比較によって適切な特徴点ペアを決定することができる。
また、画像処理装置100は、楕円状のマトリクスを長軸方向または短軸方向に所定の比率で拡大または縮小して、1つの特徴点につき複数の特徴量マトリクスを作成する。これにより、2つの画像の縮尺が部分的に異なっている場合でも、正確な特徴量マトリクスを作成して比較することができ、特徴量マトリクスの比較によって適切な特徴点ペアを決定することができる。
<楕円形状の比較に基づく特徴点ペアの選別処理>
次に、楕円形状判定部114および位置合わせ処理部115の処理について説明する。前述のように、楕円形状判定部114は、特徴点ペアに含まれる各特徴点について生成された特徴量マトリクスの楕円の形状を比較し、これらの形状が類似するかを判定する。位置合わせ処理部115は、特徴点ペア情報125に基づいて、2つの画像の位置合わせを実行する。このとき、位置合わせ処理部115は、楕円形状判定部114の判定結果に基づいて、位置合わせに利用する特徴点ペアを選別する。
ここで、位置合わせに利用する特徴点ペアを選別する目的について説明する。図14は、撮影角度の違いによる被写体の写り方の違いの例を示す図である。
図14の例では、人工衛星SA1による撮影によって得られた画像401と、画像401とは異なる時期に人工衛星SA2によって撮影されて得られた画像402とを示す。画像401の撮影時における人工衛星SA1の位置と、画像402の撮影時における人工衛星SA2の位置は異なっており、そのため、画像401の撮影時と画像402の撮影時とでは、撮影角度が異なっている。なお、人工衛星SA1,SA2は、同一の人工衛星であってもよい。
画像401,402にはともに、被写体として、建物410,420、土地430および道路440,450,460が写っている。建物410,420は、ともに地表面からの高さを有し、土地430および道路440,450,460は高さを有さない(地表面と同じ高さである)ものとする。撮影角度の違いから、画像401と画像402とでは、建物410,420の写り方が異なる。一方、土地430および道路440,450,460については、画像401と画像402との間で写り方に違いがない。
図15は、画像の位置合わせの例を示す図である。図15の例では、画像401から特徴点411a,412a,413aが抽出され、画像402から特徴点411b,412b,413bが抽出されたものとする。特徴点411aと特徴点411b、特徴点412aと特徴点412b、特徴点413aと特徴点413bは、それぞれ建物410の上面における同一箇所に対応する。
ここで、特徴点411aと特徴点411b、特徴点412aと特徴点412b、特徴点413aと特徴点413bをそれぞれ対応付けて、画像401と画像402との位置合わせを行う。この例では図15の右側に示すように、特徴点411aと特徴点411bとの位置、特徴点412aと特徴点412bとの位置、特徴点413aと特徴点413bとの位置がそれぞれ重なるように、画像402が相対的に右方向に移動されて位置合わせが行われる。しかしながら、位置合わせ後の状態では、例えば、平地に存在する土地430は重ならず、横方向に位置ズレが生じてしまう。
本実施の形態において、画像同士の位置合わせの結果は差分検出部116において利用される。しかしながら、図15のように撮影角度によって写り方が異なる部分から抽出された特徴点のペアを用いて位置合わせした状態で、画像401と画像402との差分が演算されると、高さのない被写体の領域において、画像間で本来変化のない領域が変化のある領域として誤検出される可能性がある。
例えば、不動産管理業務を行うユーザが、異なる時期に撮影された複数の画像を用いて変化のある領域を判別するという用途では、土地や道路などの高さのない領域において、新たな建物が建築される、あるいは新たな廃棄物が投棄されるという事象を発見したいという要求がある。このため、高さのない被写体の領域における差分の誤検出の発生は、業務に支障をきたし、業務効率を低下させる。
これに対し、位置合わせ処理部115は、楕円形状判定部114の判定結果に基づいて、位置合わせに利用する特徴点ペアを選別する。これにより、位置合わせ処理部115は、高さのない被写体の領域における差分の誤検出を発生させるような特徴点ペアを、位置合わせに利用する特徴点ペアから除外する。
図16は、楕円形状の比較に基づく特徴点ペアの選別処理について説明するための図である。図16(A)に示す画像403と、図16(B)に示す画像404とは、撮影角度が異なっている。画像403,404には、ともに高さを有する建物410,420が写っている。また、画像403からは特徴点414a,415aが抽出され、画像404からは特徴点414b,415bが抽出されたものとする。
画像処理装置100のマトリクス生成部112は、画像403に関し、特徴点414aを注目点とし、特徴点414aから最も近い特徴点として特徴点415aを検出する。また、マトリクス生成部112は、特徴点414aを起点として、特徴点414aから特徴点415aへの方向を右回り方向に90°回転させた方向に沿ってエッジを探索し、点421aをエッジと判定する。このとき、マトリクス生成部112は、図16(A)に示すような形状の特徴量マトリクス471を生成する。
一方、マトリクス生成部112は、画像404に関し、特徴点414bを注目点とし、特徴点414bから最も近い特徴点として特徴点415bを検出する。また、マトリクス生成部112は、特徴点414bを起点として、特徴点414bから特徴点415bへの方向を右回り方向に90°回転させた方向に沿ってエッジを探索し、点421bをエッジと判定する。このとき、マトリクス生成部112は、図16(B)に示すような形状の特徴量マトリクス472を生成する。
特徴点ペア判定部113はその後、特徴量マトリクス471,472に基づき、画像403の特徴点414aと、画像404の特徴点414bとを対応付けて特徴点ペアを生成したものとする。しかしながら、特徴点414a,414bは高さのある被写体から抽出されたものである。このため、特徴点414aと特徴点414bとが重なるように画像403と画像404との位置合わせが行われた場合、高さのない他の被写体の位置ズレが発生し、その被写体の領域における差分の誤検出が発生する可能性がある。
これに対し、楕円形状判定部114は、各特徴点ペアに含まれる2つの特徴点それぞれに対応する特徴量マトリクスの楕円の形状を比較し、類似度を算出する。そして、位置合わせ処理部115は、楕円形状の類似度が所定のしきい値より低い場合には、その特徴点ペアを位置合わせに使用すべきでない特徴点ペアと判定する。
図16の例では、特徴点414aについての特徴量マトリクスの楕円形状と、特徴点414bについての特徴量マトリクスの楕円形状とは明らかに異なり、これらの類似度は所定のしきい値より低くなる。従って、位置合わせ処理部115は、特徴点414a,414bのペアを位置合わせに使用すべきでない特徴点ペアと判定する。
特徴量マトリクスの楕円形状が類似しない場合は、一方の特徴点とそれに最も近い他の特徴点および検出されたエッジの位置関係と、他方の特徴点とそれに最も近い他の特徴点および検出されたエッジの位置関係とが、類似しないことになる。例えば、特徴点とそれに最も近い他の特徴点との距離、または、特徴点とエッジとの距離の少なくとも一方が、特徴点間で一致しないケースが考えられる。このような場合、特徴点ペアに含まれる少なくとも一方の特徴点は、建物など、撮影方向によって写り方が変わる被写体から抽出されたものである可能性が高い。
一方、特徴量マトリクスの楕円形状が類似する場合は、特徴点に最も近い他の特徴点および検出されたエッジを含む、特徴点の周辺領域の写り方が、照合するどちらの画像においても変化していないことになる。この場合、少なくとも特徴点ペアに含まれる双方の特徴点が、撮影角度によって写り方が変化しない地表面にある可能性が高く、さらに、各特徴点から最も近い他の特徴点も地表面にある可能性が高い。従って、特徴量マトリクスの楕円形状が類似する特徴点ペアについては、位置合わせに使用した場合に高さのない被写体の位置ズレを発生させる原因になる可能性が低く、位置合わせに利用するのに好適であると推定することができる。
<位置合わせの補正処理>
位置合わせ処理部115は、上記のように特徴量マトリクスの楕円形状の比較結果に基づいて、位置合わせに利用するのに好適な特徴点ペアを選別する。しかしながら、例えば画像の歪みなどの要因によって選別結果に誤差が生じる場合がある。そこで、位置合わせ処理部115は、次のような手順で最終的に位置合わせに利用する特徴点ペアを決定するとともに、必要に応じて位置合わせ時の画像の移動量を補正する。
位置合わせ処理部115は、まず、上記の方法によって位置合わせに利用するのに好適として選別された特徴点ペアが、画像内に満遍なく分布しているかを判定する。この判定は、例えば、選別された特徴点ペアに含まれる特徴点のうち、あらかじめ決められた一方の画像に含まれる特徴点について、その画像を5画素×5画素に分割したブロックごとに分布している数を求め、各ブロックに特徴点が一定数以上の含まれていることで行われる。少なくとも1つのブロックにおいて特徴点の数が一定数に満たない場合は、分布に偏りがあると判定される。あるいは、両方の画像において各ブロックに特徴点が一定数以上含まれているかによって判定されてもよい。
なお、他の判定方法として、例えば、各ブロックに含まれる特徴点の数の誤差が一定割合以内であるかによって判定されてもよい。また、誤差の割合の代わりに、誤差が一定範囲内であるかを基に判定されてもよい。
特徴点ペアが画像内に満遍なく分布していれば、選別処理の信頼性が高いと推定される。このため、位置合わせ処理部115は、選別された特徴点ペアのみを用いて位置合わせを行う。
一方、特徴点ペアの画像内の分布に偏りがある場合、選別処理の信頼性が低く、位置合わせの精度が低くなる可能性が高いと推定される。この場合、位置合わせ処理部115は、特徴点ペア判定部113によって生成されたすべての特徴点ペアを用いて位置合わせを行う。その上で、位置合わせ処理部115は、選別した各特徴点ペアに含まれる特徴点同士の位置ズレが少なくなるように、位置合わせした画像の移動量を補正する。これにより、各画像の平地領域から抽出された特徴点同士の位置ができるだけ一致するように、位置合わせの量が補正される。
ただし、この場合には、特徴点ペアの選別処理の信頼性が高いと判定されておらず、選別された特徴点ペアのそれぞれに含まれる特徴点には、高さのある被写体から抽出されたものが比較的多く含まれていると考えられる。このことから、位置合わせ処理部115は、選別された特徴点ペアのそれぞれに含まれる特徴点同士の位置ズレ量を求め、前述の分割領域ごとに位置ズレ量の分布の偏りがあるかを判定して、偏りが小さいと判定された場合のみ補正を行う。
位置ズレ量の分布に偏りがあるかの判定は、例えば、各特徴点ペアについて算出した位置ズレ量の分散を計算し、分散が所定のしきい値より大きいかによって行うことができる。このしきい値は、例えば、複数の異なる画像のペアについて、正しく対応付けされた平地上の特徴点のペアから算出した位置ズレ量の分散を求め、それらの結果から経験的に設定することができる。例えば、分散値が3以下のとき分布の偏りが小さいと判定することで、位置合わせの補正精度をある程度維持することが可能である。
図17は、位置ズレ量の分布の偏りが大きい場合の例を示す図である。図17において、画像501からは特徴点511a,512a,513a,514aが抽出され、画像502からは特徴点511b,512b,513b,514bが抽出されたものとする。また、特徴点511aと特徴点511b、特徴点512aと特徴点512b、特徴点513aと特徴点513b、特徴点514aと特徴点514bが、それぞれ位置合わせに好適な特徴点ペアとして選別され、少なくともこれらの特徴点ペアを基に位置合わせが行われたものとする。例えば、画像502が相対的に右方向に移動することで位置合わせが行われる。
図17の例では、特徴点512aと特徴点512b、特徴点513aと特徴点513b、特徴点514aと特徴点514bについては、撮影角度によって写り方が変わる被写体から抽出されている。このため、位置合わせ後の状態では、選別された特徴点ペアのそれぞれについて算出された位置ズレ量の分散が大きい。例えば、特徴点511aと特徴点511b、特徴点513aと特徴点513b、特徴点514aと特徴点514bのそれぞれの位置ズレ量と比較して、特徴点512aと特徴点512bの位置ズレ量が明らかに大きい。
このような場合、選別された特徴点ペアのそれぞれに含まれる特徴点には、撮影角度によって写り方が変わる被写体から抽出されたものが多く含まれていると考えられる。この場合、選別された特徴点ペアを用いて位置合わせ量を補正したとしても補正精度が高くないと考えられるため、位置合わせ処理部115は補正を行わない。
図18は、位置ズレ量の分布の偏りが小さい場合の例を示す図である。図18において、画像503からは特徴点515a,516a,517a,518aが抽出され、画像504からは特徴点515b,516b,517b,518bが抽出されたものとする。また、特徴点515aと特徴点515b、特徴点516aと特徴点516b、特徴点517aと特徴点517b、特徴点518aと特徴点518bが、それぞれ位置合わせに好適な特徴点ペアとして選別され、少なくともこれらの特徴点ペアを基に位置合わせが行われたものとする。例えば、画像504が相対的に右方向に移動することで位置合わせが行われる。
図18の例では、特徴点515aと特徴点515b、特徴点516aと特徴点516b、特徴点517aと特徴点517b、特徴点518aと特徴点518bは、いずれも平地の領域から抽出されている。この場合、位置合わせした状態における特徴点515aと特徴点515b、特徴点516aと特徴点516b、特徴点517aと特徴点517b、特徴点518aと特徴点518bの各位置ズレ量は、ほぼ同じ値となる。この場合には、その位置ズレ量に対応する分だけ、画像の移動量を補正する。図18の例では、画像503の特徴点に対する画像504の特徴点のズレの方向の逆方向に対して、位置ズレの量だけ画像504を移動させる。これにより、平地の領域から抽出された特徴点同士の位置を近づけて、平地における差分の算出誤差を低減することができる。
画像移動の補正量は、例えば、選別された特徴点ペアのそれぞれから算出された位置ズレ量のうち、最大の位置ズレ量とすることができる。あるいは、算出された位置ズレ量の平均値を補正量としてもよい。
次に、以上説明した画像処理装置100の処理について、フローチャートを用いて説明する。図19は、画像処理装置の処理例を示すフローチャートである。
[ステップS11]特徴点抽出部111は、画像情報121に基づき、比較画像および処理画像のそれぞれから特徴点を抽出する。各画像から抽出された特徴点の座標は、特徴点情報122に登録される。
[ステップS12]マトリクス生成部112は、各画像から抽出された特徴点それぞれについて、特徴量マトリクスを生成する。特徴点ペア判定部113は、生成された特徴点マトリクスに基づいて、特徴点ペアを生成する。
ここで、ステップS12の処理について図20を用いて説明する。図20は、特徴点ペアの生成処理の例を示すフローチャートである。
[ステップS31]マトリクス生成部112は、比較画像から抽出された特徴点のそれぞれについて、特徴量マトリクスを生成する。生成された特徴量マトリクスの情報は、第1マトリクス情報123に登録される。
[ステップS32]特徴点ペア判定部113は、処理画像から抽出された特徴点の1つを選択する。
[ステップS33]マトリクス生成部112は、選択された特徴点について特徴量マトリクスを生成する。生成された特徴量マトリクスの情報は、第2マトリクス情報124に登録される。
[ステップS34]特徴点ペア判定部113は、ステップS33で生成された特徴量マトリクスを、比較画像の特徴点それぞれの特徴量マトリクスと比較して類似度を算出する。
[ステップS35]特徴点ペア判定部113は、特徴量マトリクスにおけるエッジ探索方向を所定回転数分だけ回転させたかを判定する。回転処理が完了してない場合、ステップS36の処理が実行され、回転処理が完了している場合、ステップS37の処理が実行される。
[ステップS36]マトリクス生成部112は、エッジ探索方向を所定角度回転させる。この後、ステップS33において、エッジ探索方向が回転された状態で特徴量マトリクスが生成され、ステップS34において、生成された特徴量マトリクスを用いて類似度が算出される。
[ステップS37]特徴点ペア判定部113は、特徴量マトリクスの楕円形状のエッジ探索方向への拡大縮小処理が完了したかを判定する。拡大縮小処理が完了していない場合、ステップS38の処理が実行され、拡大縮小処理が完了している場合、ステップS39の処理が実行される。
[ステップS38]マトリクス生成部112は、エッジ探索方向の軸を所定倍率拡大または縮小する。この後、ステップS33において、エッジ探索方向が拡大または縮小された特徴量マトリクスが生成され、ステップS34において、生成された特徴量マトリクスを用いて類似度が算出される。
[ステップS39]特徴点ペア判定部113は、選択された特徴点について算出された類似度のうち最も高い類似度が算出された、比較画像の特徴点を選択する。
[ステップS40]特徴点ペア判定部113は、算出された最高の類似度が所定のしきい値以上かを判定する。類似度がしきい値未満である場合、ステップS41の処理が実行され、類似度がしきい値以上である場合、ステップS42の処理が実行される。
[ステップS41]特徴点ペア判定部113は、現在選択されている処理画像の特徴点を、特徴点情報122から削除する。
[ステップS42]特徴点ペア判定部113は、ステップS39で選択された比較画像の特徴点と、現在選択されている処理画像の特徴点とを特徴点ペアに決定し、特徴点ペア情報125に登録する。このとき、特徴点ペア判定部113は、最も高い類似度が算出されたときに用いていた処理画像についての特徴量マトリクスを特定し、特定した特徴量マトリクスについての楕円形状情報を、登録した特徴点ペア情報125に付加する。また、特徴点ペア判定部113は、特徴点ペアに決定した比較画像および処理画像のそれぞれについての特徴点の情報を、特徴点情報122から削除する。
[ステップS43]特徴点ペア判定部113は、処理画像のすべての特徴点について特徴点ペアの決定処理を行ったかを判定する。特徴点ペアの決定処理が済んでいない特徴点がある場合、ステップS44の処理が実行される。一方、処理画像のすべての特徴点について特徴点ペアの決定処理が完了している場合、図19のステップS13の処理が実行される。
[ステップS44]特徴点ペア判定部113は、処理画像の特徴点のうち次の特徴点を選択する。この後、選択された特徴点についてステップS33以降の処理が実行される。
以下、図19に戻って説明する。
[ステップS13]楕円形状判定部114は、特徴点ペアに含まれる各特徴点についての楕円形状情報を比較して類似度を計算し、類似度が所定のしきい値以上となる特徴点ペアを選別する。
[ステップS14]位置合わせ処理部115は、ステップS13で選別された特徴点ペアが画像内に満遍なく分布しているかを判定する。分布の偏りが小さいと判定された場合、ステップS15の処理が実行され、分布の偏りが大きいと判定された場合、ステップS16の処理が実行される。
[ステップS15]位置合わせ処理部115は、ステップS13で選別された特徴点ペアのみの情報を用いて、比較画像と処理画像との位置合わせを行う。
[ステップS16]位置合わせ処理部115は、ステップS12で生成されたすべての特徴点ペアの情報を用いて、比較画像と処理画像との位置合わせを行う。
[ステップS17]位置合わせ処理部115は、画像が位置合わせされた状態において、ステップS13で選別された各特徴点ペアに含まれる特徴点同士の位置ズレ量を算出する。
[ステップS18]位置合わせ処理部115は、算出された位置ズレ量の分散を計算する。分散が所定のしきい値以上の場合、位置合わせの補正が行われずにステップS21の処理が実行される。一方、分散がしきい値未満の場合、ステップS19の処理が実行される。
[ステップS19]位置合わせ処理部115は、位置ズレ量が最大であった特徴点ペアを特定し、その位置ズレの方向を算出する。
[ステップS20]位置合わせ処理部115は、ステップS19で算出した方向と逆方向に対して、ステップS19で特定した特徴点ペアについての位置ズレ量の分だけ、一方の画像の位置を移動させて、位置合わせの補正を行う。
[ステップS21]差分検出部116は、位置合わせした状態の比較画像と処理画像との差分を演算する。差分検出部116は、例えば、差分が一定以上となる領域を示す情報を、クライアント200に送信する。
以上説明した画像処理装置100によれば、特徴量マトリクスの楕円形状の類似度に基づいて、位置合わせに利用するのに好適な特徴点ペアを選別する。これにより、比較画像と処理画像とを位置合わせして差分を演算したときに、平地の領域から抽出された特徴点において差分が誤検出される可能性を低減することができる。
また、画像処理装置100は、選別した特徴点ペアの分布が大きく偏っている場合には、特徴点ペアを限定せずに、生成されたすべての特徴点ペアの情報を用いて位置合わせする。これにより、位置合わせの精度を向上させることができる。
また、選別した特徴点ペアの分布が偏っている場合、画像処理装置100は、選別された特徴点ペアそれぞれについての位置ズレ量の分散が小さいときに、その位置ズレ量に基づいて位置合わせの補正を行う。これにより、平地の領域から抽出された特徴点同士の位置ズレ量を縮小でき、それらの特徴点の位置において差分が誤検出される可能性を低減することができる。
なお、上記の各実施の形態に示した画像処理装置の処理機能は、コンピュータによって実現することができる。その場合、各装置が有すべき機能の処理内容を記述したプログラムが提供され、そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD、DVD−RAM、CD−ROM、CD−R/RWなどがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムまたはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。