(57)【特許請求の範囲】
【請求項１】
第１の画像および第２の画像の各々から特徴点を抽出する抽出部と、
前記第１および第２の画像の各々の特徴点について、該特徴点を中心とする同心円のマトリクス、および少なくとも一方の画像におけるマトリクスを１または複数の所定の比率で拡大および／または縮小した各領域に、当該領域内の画素の輝度値と前記特徴点の輝度値との差分に関する情報を対応づけた特徴量マトリクスを作成する作成部と、
前記第１の画像に含まれる特徴点に対応する１または複数の特徴量マトリクスと、前記第２の画像に含まれる特徴点に対応する１または複数の特徴量マトリクスとを比較し、類似する特徴点ペアを決定する決定部と、
を備えることを特徴とする画像処理装置。 
【請求項２】
前記作成部は、前記画像内における前記特徴点の位置に応じた制限の範囲で前記マトリクスの拡大および／または縮小を行うことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記作成部は、前記第１の画像の特徴点における前記特徴量マトリクスを所定角度回転させて、一つの特徴点につき、１または複数の回転角度に対応する複数の特徴量マトリクスを作成し、
前記決定部は、前記第１の画像の特徴点における前記特徴量マトリクスを所定角度回転させて、一つの特徴点につき、１または複数の角度に対応する特徴量マトリクスとを比較し、類似する特徴点ペアを決定することを特徴とする、請求項１または２に記載の画像処理装置。 
【請求項４】
画像処理装置によって実行される画像処理方法であって、
記憶部に記憶された第１の画像および第２の画像の各々から特徴点を抽出し、
前記第１および第２の画像の各々の特徴点について、該特徴点を中心とする同心円のマトリクス、および少なくとも一方の画像におけるマトリクスを１または複数の所定の比率で拡大および／または縮小した各領域に、当該領域内の画素の輝度値と前記特徴点の輝度値との差分に関する情報を対応づけた特徴量マトリクスを作成し、
前記第１の画像に含まれる特徴点に対応する１または複数の特徴量マトリクスと、前記第２の画像に含まれる特徴点に対応する１または複数の特徴量マトリクスとを比較し、類似する特徴点ペアを決定する
ことを特徴とする画像処理方法。 
【請求項５】
記憶部に記憶された第１の画像および第２の画像の各々から特徴点を抽出し、
前記第１および第２の画像の各々の特徴点について、該特徴点を中心とする同心円のマトリクス、および少なくとも一方の画像におけるマトリクスを１または複数の所定の比率で拡大および／または縮小した各領域に、当該領域内の画素の輝度値と前記特徴点の輝度値との差分に関する情報を対応づけた特徴量マトリクスを作成し、
前記第１の画像に含まれる特徴点に対応する１または複数の特徴量マトリクスと、前記第２の画像に含まれる特徴点に対応する１または複数の特徴量マトリクスとを比較し、類似する特徴点ペアを決定する、
各処理をコンピュータに実行させることを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法および画像処理プログラムに関する。
【背景技術】
【０００２】
従来、同一の地点を異なる時期に撮影して得られた複数の画像を比較し照合するための技術が用いられている。たとえば、空中写真画像を用いた処理として、旧撮影空中写真画像と新撮影空中写真画像とを照合して、各画像から特徴点を抽出する。各画像の特徴点のうち、対応する特徴点を特徴点ペアとして抽出する。そして、特徴点ペアを構成する二つの特徴点を対応づけて、二つの画像の位置合わせを行う。位置合わせ後、両画像を比較することで、前の撮影時点から後の撮影時点までの間に撮影対象地点に生じた変化を、差分として抽出することができる。
【０００３】
特徴点ペアの抽出においては、たとえば、二つの画像から抽出された特徴点それぞれについて、画像特徴と傾き方向を算出する。算出した画像特徴や傾き方向に基づいて特徴点間の類似度を計算し、類似度の高い特徴点をペアとして抽出する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−１７３１２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の手法を用いて二つの画像を比較・照合する場合、画像を撮影した時点での撮影条件の違い等の影響により、特徴点ペアを決定することができない場合があった。たとえば、天候の違いに起因する雲の陰の写る位置の違い、季節の違いに起因する木の葉の緑色の濃さの違い、日光の強さの違いに起因する建物の影の濃さの違いなどにより、画像の一部の輝度が暗くなったり、輝度の変化度合いが変わったりするからである。
【０００６】
たとえば、一つの画像の撮影を夏に行い、他の画像の撮影を冬に行った場合、画像中に含まれる植物の葉の色や形状が相違する。そのため、同一地点を撮影しても画像中の対応する箇所の輝度が相互に相違する場合がある。また、一つの画像を撮影したときに、雲の影が写って地物の一部が暗く写り、他方、他の画像には雲の影は移っていないという場合もありうる。この場合、影の部分の輝度が二つの画像間で対応していないため、画像を正しく照合することができない。このように、画像の一部の輝度が暗くなったり、輝度の変化度合いが変わったりした場合、従来の方法では特徴点のペアを正しく決定することができない。特徴点自体は適切に抽出されたとしても、二つの画像間で、特徴点の周囲の輝度変化の強さや方向が異なり、特徴点のペアが正しく認識できないためである。
【０００７】
開示の技術は、上記に鑑みてなされたものであって、画像の変化があった場合でも、適切に特徴点ペアを決定することができる画像処理装置、画像処理方法および画像処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本願の開示する画像処理装置、画像処理方法および画像処理プログラムは、第１の画像および第２の画像の各々から特徴点を抽出する。そして、前記第１および第２の画像の各々の特徴点について、該特徴点を中心とする同心円のマトリクスを作成する。マトリクスの各領域に、当該領域内の画素の輝度値と前記特徴点の輝度値との差分に関する情報を対応づけて特徴量マトリクスを作成する。前記第１の画像の特徴点の特徴量マトリクスと、前記第２の画像の特徴点の特徴量マトリクスとを比較し、類似する特徴点ペアを決定する。
【発明の効果】
【０００９】
本願の開示する画像処理装置、画像処理方法および画像処理プログラムの一つの態様によれば、画像の変化があった場合でも、適切に特徴点ペアを決定することができるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施例１に係る画像処理サーバの構成の一例を示す図である。
【図２】図２は、画像記憶部に記憶される画像情報の構成の一例を示す図である。
【図３】図３は、特徴点記憶部に記憶される特徴点情報の構成の一例を示す図である。
【図４】図４は、マトリクス記憶部に記憶される特徴量マトリクス情報の構成の一例を示す図である。
【図５】図５は、特徴量マトリクスの構成の一例について説明するための図である。
【図６】図６は、ペア記憶部に記憶される特徴点ペア情報の構成の一例を示す図である。
【図７】図７は、実施例１に係る画像処理サーバの画像処理の処理手順の一例を示すフローチャートである。
【図８】図８は、実施例２に係る画像処理サーバの構成の一例を示す図である。
【図９】図９は、回転角記憶部に記憶される情報の構成の一例を示す図である。
【図１０】図１０は、拡大縮小率記憶部に記憶される情報の構成の一例を示す図である。
【図１１】図１１は、第２マトリクス記憶部に記憶される情報の構成の一例を示す図である。
【図１２】図１２は、回転部により作成される特徴量マトリクスを説明するための図である。
【図１３】図１３は、拡大縮小処理での縮小率について説明するための図である。
【図１４−１】図１４−１は、拡大縮小処理での拡大率について説明するための図である。
【図１４−２】図１４−２は、拡大縮小処理での拡大率について説明するための他の図である。
【図１５】図１５は、実施例２に係る画像処理サーバの画像処理の処理手順の一例を示すフローチャートである。
【図１６】図１６は、実施例１〜３に係る画像処理プログラムを実行するコンピュータの一例について説明するための図である。
【発明を実施するための形態】
【００１１】
以下に、本願の開示する画像処理装置、画像処理方法および画像処理プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例１】
【００１２】
本願の開示する画像処理装置の実施例１として、画像処理サーバ１００を説明する（図１参照）。画像処理サーバ１００は、たとえば、クライアント２００から同一の地点を異なる時点で撮影した二つの画像の入力を受ける。または、画像処理サーバ１００は、クライアント２００から同一の地点を異なる時期に撮影した二つの画像を特定する指示を受け付ける。そして、画像処理サーバ１００は、二つの画像の各々から特徴点を抽出する。さらに、画像処理サーバ１００は、各特徴点の輝度値と、当該特徴点から所定の距離範囲内に位置する画素の輝度値との差分を、当該特徴点を中心とする同心円状のマトリクスの複数の領域各々に対応付けて、各特徴点の特徴量マトリクスを作成する。画像処理サーバ１００は、一つの画像の特徴点の特徴量マトリクスと、他の画像の特徴点の特徴量マトリクスとを比較して類似度を求める。画像処理サーバ１００は、特徴量マトリクスの類似度が高い特徴点の対を特徴点ペアとして決定する。
【００１３】
まず、図１を参照して、画像処理サーバ１００の構成の一例につき説明する。図１は、実施例１に係る画像処理サーバ１００の構成の一例を示す図である。画像処理サーバ１００は、記憶部１１０と、制御部１２０と、入出力部１３０とを備える。記憶部１１０は、画像処理サーバ１００内での処理に使用するデータおよび画像処理サーバ１００内での処理により生成されるデータを記憶する。制御部１２０は、画像処理サーバ１００内での画像処理を制御する。入出力部１３０は、外部から画像処理サーバ１００に入力されるデータを受信するとともに、画像処理サーバ１００により生成されるデータを外部に送信する。
【００１４】
また、画像処理サーバ１００は、クライアント２００と、ネットワーク３００を介して接続される。クライアント２００は、たとえば、モニタ２０１を備える。画像処理サーバ１００内で処理された画像は、入出力部１３０を介してクライアント２００に送られ、モニタ２０１に表示することができる。なお、図１では、画像処理サーバ１００の外部にひとつのクライアント２００およびモニタ２０１が設けられるものとしたが、画像処理サーバ１００は、ネットワーク３００を介して複数のクライアント２００と接続されてもよい。そして、画像処理サーバ１００を、複数のクライアント２００から送信される画像を受信するように構成してもよい。また、画像処理サーバ１００内にモニタを設けて画像を確認できるように構成してもよい。また、画像処理サーバ１００自体に撮像機能を設けてもよく、また、画像処理サーバ１００を、クライアント２００とは別の撮像装置と接続してもよい。なお、クライアント２００は、たとえば、パーソナルコンピュータ、携帯電話機、スマートフォン、インターネットＴＶなどのコンピュータである。
【００１５】
［記憶部の構成］
記憶部１１０は、画像記憶部１１１、特徴点記憶部１１２、マトリクス記憶部１１３およびペア記憶部１１４を備える。なお、記憶部１１０は、半導体メモリ素子や記憶装置などである。たとえば、半導体メモリ素子としては、ＶＲＡＭ（Video  Random  Access  Memory）、ＲＡＭ（Random  Access  Memory)、ＲＯＭ（Read  Only  Memory）やフラッシュメモリ（flash  memory）などが挙げられる。また、記憶装置としては、ハードディスク、光ディスクなどの記憶装置が挙げられる。以下、記憶部１１０に記憶される情報につき説明する。
【００１６】
［画像情報］
画像記憶部１１１は、画像処理サーバ１００が受信した画像情報を記憶する。図２は、画像記憶部１１１に記憶される画像情報の構成の一例を示す図である。たとえば、図２に示すように、画像情報は、画像を一意に識別する画像ＩＤ（Identifier）を含む。そして、画像記憶部１１１は、画像ＩＤに対応付けて、画像が撮影された場所、撮影日時、画像自体等を記憶する。図２に示す例では、画像ＩＤ「００１」に対応づけて、画像ＩＤ「００１」の画像の撮影地点の緯度と経度が「３５．６５８７，１３９．７４」として記憶されている。さらに、画像ＩＤ「００１」に対応づけて、撮影日時「２０１２／３／３０」が記憶されている。さらに、画像ＩＤ「００１」に対応づけて、画像自体が記憶されている。
【００１７】
［特徴点情報］
特徴点記憶部１１２は、画像処理サーバ１００が受信した画像の特徴点に関する情報を記憶する。図３は、特徴点記憶部１１２に記憶される特徴点情報の構成の一例を示す図である。
【００１８】
ここで、特徴点とは、画像の中で目立った特徴を示す点のことをいう。たとえば、画像中の物体の角にあたる部分や、境界線に該当する部分など、周囲の画素との輝度勾配が大きい部分が特徴点として抽出される。なお、特徴点の抽出については後述するが、抽出の手法は特に限定されない。
【００１９】
図３に示すように、特徴点記憶部１１２は、たとえば、画像ＩＤ「００１」に対応付けて、当該画像から抽出された特徴点の情報を記憶する。図３の例では、画像ＩＤ「００１」に対応付けて、特徴点を一意に特定する特徴点ＩＤ「ＦＰ００１」が記憶されている。さらに、特徴点ＩＤ「ＦＰ００１」で特定される特徴点の位置が、画像上の座標「ｘ１，ｙ１」であることが記憶されている。特徴点は、各画像について複数個抽出され、その各々についての情報が特徴点記憶部１１２に記憶される。
【００２０】
［特徴量マトリクス情報］
マトリクス記憶部１１３は、特徴点各々の特徴量マトリクスの情報を記憶する。図４は、マトリクス記憶部１１３に記憶される特徴量マトリクス情報の構成の一例を示す図である。図５は、特徴量マトリクスの構成の一例について説明するための図である。
【００２１】
図４に示すように、特徴量マトリクス情報は、「画像ＩＤ」、「特徴点ＩＤ」、「マトリクスＩＤ」、「マトリクスセグメントＩＤ」、「輝度値」、「輝度差」および「輝度差レベル」を含む。特徴量マトリクス情報は、各特徴点の特徴量マトリクスについての情報である。たとえば、図４の例では、「画像ＩＤ：００１」の画像の「特徴点ＩＤ：ＦＰ００１」の特徴点について、「マトリクスＩＤ：Ｍ００１０１」の特徴量マトリクスについての情報が記憶されている。
【００２２】
特徴量マトリクスの詳細について説明する。なお、特徴量マトリクスは後述する作成部１２３によって作成される。図５に示すように、特徴量マトリクスは、特徴点を中心とした所定の長さ（所定の画素数）の半径を有する円を、周方向および半径方向に所定の数の領域に分割したものである。各領域に含まれる画素の輝度値と、同心円の中心に位置する特徴点の輝度値との差分が、各領域の「輝度差」の値となる。なお、図５の例には、合計４９個の画素を示すが、以下、説明の便宜上、４９個の画素をそれぞれ、「行番号、列番号」で特定して説明する。行番号は、下から上に向かって「１」〜「７」で示し、列番号は、左から右に向かって「１」〜「７」で示す。
【００２３】
図５の例では、作成部１２３は、特徴点ＦＰを中心として、特徴点の存在する画素位置から半径方向に３画素の領域にわたる特徴量マトリクスを設定する。また、図５の例では、特徴量マトリクスを構成する円は、半径方向に２領域、周方向に４領域に分割され、全部で８個の領域が形成される。各領域には、当該領域を一意に特定するためのマトリクスセグメントＩＤが付与される。図５の例では、円の上中心から右回り方向に内側から外側に向けて順番に、マトリクスセグメントＩＤが付与されている。たとえば、中心側の同心円に含まれる４つの領域には、上中心から右回りに、マトリクスセグメントＩＤ「１」〜「４」が付与されている。外側の同心円に含まれる４つの領域には、上中心から右回りに、マトリクスセグメントＩＤ「５」〜「８」が付与されている。
【００２４】
このように特徴量マトリクスの領域を設定した場合、一つの画素が２以上の領域にまたがって存在する場合がある。ここでは、作成部１２３は、二つの領域にまたがる画素については、右側かつ下側の領域に入れて特徴量を計算する。たとえば、図５の画素「６、４」は、マトリクスセグメントＩＤ「１」「４」「５」「８」の４つの領域にまたがって存在する。そして、右側の領域は、マトリクスセグメントＩＤ「１」「５」の領域であり、そのうち下側の領域はマトリクスセグメントＩＤ「１」の領域である。したがって、作成部１２３は、画素「６、４」はマトリクスセグメントＩＤ「１」の領域に入れて特徴量を算出する。
【００２５】
このようにして、作成部１２３は、図５に示す各領域について、特徴量を算出する。たとえば、マトリクスセグメントＩＤ「１」の領域には、画素「６、４」、画素「５、４」、画素「５、５」が入る。したがって、輝度値「（１００＋１００＋１００）／３＝１００」がマトリクスセグメントＩＤ「１」の領域の輝度値となる。そして、特徴点が存在する領域の画素の輝度値は「２５５」である。よって、「２５５−１００＝１５５」が、マトリクスセグメントＩＤ「１」の領域の輝度差の値となる。
【００２６】
また、マトリクスセグメントＩＤ「２」の領域には、画素「４、４」、画素「４、５」、画素「３、４」、画素「３、５」が含まれる。したがって、輝度値「（２５５＋２５５＋２５５＋２５５）／４＝２５５」がマトリクスセグメントＩＤ「２」の領域の輝度値となる。よって、「２５５−２５５＝０」が、マトリクスセグメントＩＤ「２」の領域の輝度差の値となる。
【００２７】
同様に、図５に示すマトリクスセグメントＩＤ「３」〜「８」について輝度差を求めると、最終的に得られる数値は図４に示すようになる。このように、作成部１２３は、各特徴点について、マトリクスセグメント各々の輝度差を求め、マトリクス記憶部１１３は、特徴量マトリクス情報として記憶する。
【００２８】
また、マトリクス記憶部１１３は、輝度差の値がとり得る範囲である−２５５から２５５の値を、たとえば１３のレベルに区分して、輝度差がどのレベルに該当するかも記憶する。たとえば、輝度差が「−２５５〜−２１５」の場合をＰ１、「−２１５〜−１７５」の場合をＰ２、「−１７５〜−１３５」の場合をＰ３、「−１３５〜−９５」の場合をＰ４とする。また、輝度差が「−９５〜−５５」の場合をＰ５、「−５５〜−１５」の場合をＰ６、「−１５〜１５」の場合をＰ７、「１５〜５５」の場合をＰ８、「５５〜９５」の場合をＰ９、「９５〜１３５」の場合をＰ１０とする。さらに、輝度差が「１３５〜１７５」の場合をＰ１１、「１７５〜２１５」の場合をＰ１２、「２１５〜２５５」の場合をＰ１３とする。この場合、図４に示すように、マトリクスセグメントＩＤ「１」の領域については、輝度差が「１５５」であるため、輝度差レベルは「Ｐ１１」となる。なお、これに限定されず、輝度差の値のみを記憶してもよい。
【００２９】
［特徴点ペア情報］
ペア記憶部１１４は、画像処理サーバ１００による処理によって決定される特徴点ペアについての情報を記憶する。図６は、ペア記憶部１１４に記憶される特徴点ペア情報の構成の一例を示す図である。
【００３０】
図６に示すように、特徴点ペア情報は、処理対象である画像（以下、「処理画像」とも呼ぶ）を一意に特定する「処理画像ＩＤ」と、処理画像と比較する対象である画像（以下、「比較画像」とも呼ぶ）を一意に特定する「比較画像ＩＤ」とを含む。さらに、「処理画像ＩＤ」および「比較画像ＩＤ」に対応づけて、各特徴点ペアを一意に特定する「ペアＩＤ」を記憶する。そして、「ペアＩＤ」に対応づけて、処理画像の特徴点を一意に特定する「処理画像特徴点ＩＤ」と、比較画像の特徴点を一意に特定する「比較画像特徴点ＩＤ」とを記憶する。たとえば、図６の例では、「処理画像ＩＤ：００１」「比較画像ＩＤ：２０１」に対応づけて、ペアＩＤ「００１」、「００２」、「００３」等が記憶される。そして、ペアＩＤ「００１」に対応づけて、「処理画像特徴点ＩＤ：ＦＰ００１」と「比較画像特徴点ＩＤ：ＦＰ２０１」が記憶される。このように、特徴点ペア情報は、二つの画像のどの特徴点同士が対応するかを示す情報である。
【００３１】
［制御部１２０の構成］
図１に戻り、制御部１２０の構成を説明する。制御部１２０は、受付部１２１と、抽出部１２２と、作成部１２３と、決定部１２４と、位置合わせ部１２５と、検出部１２６と、を備える。制御部１２０は、入出力部１３０を介して受信した画像を解析して特徴点ペアを決定する処理を実行する。さらに、制御部１２０は、決定した特徴点ペアに基づき、画像の位置合わせと画像間の差分検出を実行する。制御部１２０における処理によって生成されるデータは適宜、記憶部１１０に記憶される。なお、制御部１２０は、たとえば、各種の集積回路や電子回路である。たとえば、集積回路としては、ＡＳＩＣ（Application  Specific  Integrated  Circuit）が挙げられる。また、電子回路としては、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などが挙げられる。
【００３２】
受付部１２１は、入出力部１３０を介して同一の地点を異なる時期に撮影することによって得られる少なくとも二つの画像を受け付ける。受け付けた画像は、指示入力に基づき抽出部１２２に送られる。また、受付部１２１が受け付けた画像は、画像記憶部１１１に記憶される。また、受付部１２１は、通常は受け付けた画像を画像記憶部１１１に記憶するのみとし、オペレータ等による指示入力があった場合に、画像記憶部１１１に記憶された画像を読み出し、抽出部１２２に送るよう構成してもよい。
【００３３】
抽出部１２２は、受付部１２１から送られる画像から特徴点を抽出する。たとえば、画像内の建物、道路、森林、敷地などの輪郭点や境界点などを特徴点として抽出する。特徴点を抽出するために用いる手法は特に限定されない。たとえば、ハリス（Harris）オペレータやモラベック（Moravec）オペレータを用いる方法、ＳＵＳＡＮ（Smallest  Univalue  Segment  Assimilating  Nucleus）、ＭＩＣ（Minimum  Intensity  Change）等を利用することができる。抽出部１２２が抽出した特徴点に関する情報は、特徴点記憶部１１２に記憶される。
【００３４】
作成部１２３は、抽出部１２２により抽出された特徴点各々について、上述した特徴量マトリクスを作成する。たとえば、作成部１２３は、特徴点を中心とする同心円状のマトリクスの各領域に、領域内の画素の輝度値と特徴点の画素の輝度値との差分を対応づけて特徴量マトリクスを作成する。作成した特徴量マトリクスは、マトリクス記憶部１１３に記憶される。
【００３５】
決定部１２４は、比較対象となる二つの画像の各々の特徴点について作成された特徴量マトリクスを比較し、類似度を算出する。たとえば、決定部１２４は、一方の画像の特徴点をひとつ選択する。そして、決定部１２４は、当該特徴点の特徴量マトリクスを、他方の画像の特徴点すべての特徴量マトリクスと比較する。たとえば、決定部１２４は、二つの特徴量マトリクスの各領域の輝度差レベル（図４参照）を比較する。そして、決定部１２４は、比較結果に基づき、特徴量マトリクス間の類似度を算出する。決定部１２４は、最も類似度が高い特徴点の対を特徴点ペアと決定する。なお、類似度を算出する手法は特に限定されない。たとえば、正規化相互相関（ＺＮＣＣ：Zero-mean  Normalized  Cross-Correlation）や、差分絶対値和（ＳＡＤ：Sum  of  Absolute  Differences）、差の二乗和（ＳＳＤ：Sum  of  Squared  Difference）等を利用した手法を適用できる。
【００３６】
位置合わせ部１２５は、決定部１２４が決定した特徴点ペアに基づいて、二つの画像の位置合わせを実行する。たとえば、位置合わせ部１２５は、特徴点ペアの画像上の座標に基づいてホモグラフィ行列を算出し、一方の画像を、ホモグラフィ行列を用いて変換することで、画像の位置合わせを実行する。ただし、位置合わせに用いる手法は特に限定されない。
【００３７】
検出部１２６は、位置合わせ後の二つの画像の差分を検出する。たとえば、検出部１２６は、位置合わせ後の画像の画素値、たとえば輝度成分を比較して差分を検出する。ただし、差分検出に用いる手法は特に限定されない。検出した差分画像は、入出力部１３０を介して、クライアント２００に送信することができる。
【００３８】
なお、ここで、受付部１２１、位置合わせ部１２５、検出部１２６は必ずしも必須ではなく、設けなくてもよい。
【００３９】
［実施例１に係る画像処理の流れ］
次に、図７を参照し、実施例１に係る画像処理サーバ１００による画像処理の流れにつき説明する。図７は、実施例１に係る画像処理サーバ１００による画像処理の処理手順の一例を示すフローチャートである。
【００４０】
まず、受付部１２１が、比較照合の対象となる二つの画像Ａ（比較画像）、Ｂ（処理画像）を受け付ける（ステップＳ１０１）。受付部１２１は、受け付けた画像Ａ、Ｂを抽出部１２２に送る。抽出部１２２は、受け取った画像Ａ、Ｂのそれぞれから、特徴点を抽出する（ステップＳ１０２）。抽出部１２２は、たとえば、画像の各画素の輝度値や輝度変化の方向にもとづき、画像内の建物、道路、森林、敷地などの輪郭点や境界点を抽出する。
【００４１】
次に、作成部１２３は、抽出部１２２が抽出した特徴点各々について、特徴量マトリクスを作成する（ステップＳ１０３）。すなわち、作成部１２３は、特徴点を中心とする同心円のマトリクスを適用する。そして、作成部１２３は、マトリクスの各領域内の画素の輝度値を算出し、特徴点の画素の輝度値との差分を算出する。作成部１２３は、算出した差分を、各領域に対応づけて、特徴量マトリクスを作成する。
【００４２】
次に決定部１２４は、画像Ｂの特徴点から１の特徴点を選択する（ステップＳ１０４）。そして、決定部１２４は、選択した画像Ｂの特徴点の特徴量マトリクスと、画像Ａの各特徴点の特徴量マトリクスと比較し、画像Ａの各特徴点ごとに類似度を算出する（ステップＳ１０５）。そして、決定部１２４は、算出した類似度の中から最も高い類似度が算出された画像Ａの特徴点を選択する（ステップＳ１０６）。次に決定部１２４は、選択した画像Ａの特徴点の類似度が、所定値以上か否かを判定する（ステップＳ１０７）。選択した画像Ａの特徴点の類似度が所定値未満である場合（ステップＳ１０７、否定）、決定部１２４は、ステップＳ１０４で選択した画像Ｂの特徴点を特徴点から除外する（ステップＳ１０８）。すなわち、当該特徴点の情報を特徴点記憶部１１２から削除する。
【００４３】
他方、選択した類似度が所定値以上である場合（ステップＳ１０７、肯定）、決定部１２４は、ステップＳ１０４で選択した画像Ｂの特徴点と、ステップＳ１０６で選択した画像Ａの特徴点とが、特徴点ペアであると決定する（ステップＳ１０９）。そして、決定部１２４は、画像Ｂの特徴点全てについて特徴点ペアが決定したか否かを判定する（ステップＳ１１０）。まだペアが決定していない特徴点があると判定した場合（ステップＳ１１０、否定）、決定部１２４は、画像Ｂから次の特徴点を選択し（ステップＳ１１１）、ステップＳ１０５の処理に戻る。
【００４４】
他方、画像Ｂの特徴点全てについて特徴点ペアが決定したと判定した場合（ステップＳ１１０、肯定）、位置合わせ部１２５は、決定した特徴点ペアに基づいて位置合わせをおこなう（ステップＳ１１２）。そして、検出部１２６は、位置合わせ後の画像Ａと画像Ｂとの差分を検出する（ステップＳ１１３）。そして検出した差分により構成される差分画像が、入出力部１３０から出力される（ステップＳ１１４）。これで処理を終了する。これが、画像処理サーバ１００による画像処理の流れの一例である。
【００４５】
なお、ここでは、決定部１２４による処理の前に、作成部１２３が、画像Ａ、Ｂの全ての特徴点について特徴量マトリクスを算出しておくものとした。しかし、作成部１２３は、画像Ａの特徴量マトリクスのみを予め作成しておいてもよい。そして、決定部１２４が画像Ｂの特徴点を選択した後、作成部１２３が、選択された画像Ｂの特徴点の特徴量マトリクスを作成するものとしてもよい。また、決定部１２４が画像Ｂの特徴点を選択した後、決定部１２４が選択した画像Ｂの特徴点に対応する画素の近傍に存在する、画像Ａの特徴点のみについて特徴量マトリクスを算出するものとしてもよい。このように構成することで処理量を減じることができる。ただし、画像Ａ、Ｂの一方または両方に画像ずれが生じているために厳密な対照を行うことが好ましい場合は、画像Ａの全ての特徴点について特徴量マトリクスを算出して比較する。
【００４６】
［実施例１の効果］
上述の通り、実施例１に係る画像処理サーバ１００は、第１の画像および第２の画像の各々から特徴点を抽出する。そして、画像処理サーバ１００は、第１および第２の画像の各々の特徴点について、当該特徴点を中心とする同心円のマトリクスの各領域に、当該領域内の画素の輝度値と特徴点の輝度値との差分に関する情報を対応づけて特徴量マトリクスを作成する。そして、画像処理サーバ１００は、第１の画像の特徴点の特徴量マトリクスと、第２の画像の特徴点の特徴量マトリクスとを比較して、類似する特徴点ペアを決定する。このため、特徴点から所定の距離範囲内における輝度の分布を特徴量マトリクスに適切に反映することができる。したがって、画像の変化があった場合でも、適切に特徴点ペアを決定することができる。また、異なる時点で撮影した画像間に、季節の違いや天候の違い、日光の強さの違い等に起因したずれがある場合でも、特徴点ペアを正しく決定することができる。
【００４７】
また、実施例１に係る画像処理サーバ１００は、第１の画像および第２の画像の各々から特徴点を抽出する。そして、画像処理サーバ１００は、第１および第２の画像の各々の特徴点について、当該特徴点を中心とする同心円のマトリクスの各領域に、当該領域内の画素の輝度値と特徴点の輝度値との差分に関する情報を対応づけて特徴量マトリクスを作成する。そして、画像処理サーバ１００は、第１の画像の特徴点の特徴量マトリクスと、第２の画像の特徴点の特徴量マトリクスとを比較して、類似する特徴点ペアを決定する。このため、画像の一部に影がかかる等の変化が生じている場合であっても、画像の全体的な明暗の傾向を特徴量マトリクスに表すことができ、画像の部分的な変動の影響による誤検出を防止することができる。したがって、異なる時点で撮影した画像間に画像の変化があった場合でも、特徴点ペアを正しく決定することができる。
【００４８】
なお、実施例１によれば、時間的に離れた２時点でそれぞれ撮影された、人工衛星や航空機により撮影された画像を比較し、差分を検出することで、変化が生じた地点を特定することができる。たとえば、実施例１によれば、違法に増改築された土地や建物、違法に伐採された森林や不法投棄などが行われている場所を特定することができる。また、かかる場所を画像上で特定したうえで、実際の場所を調査することができる。
【実施例２】
【００４９】
上記実施例１では、画像処理サーバ１００は、各特徴点につき一つの特徴量マトリクスを作成するものとした。しかし、画像処理サーバ１００は、各特徴点につき複数の特徴量マトリクスを作成してもよい。特に、空中写真等の場合、画像の周辺部分に位置する対象物がゆがんで写っていることがある。このような場合であっても、正しく特徴点ペアを決定するには、特徴点の周辺画像の方向や縮尺を調整することが有効である。そこで、実施例２では、一方の画像の特徴点における特徴量マトリクスを所定角度回転させて、一つの特徴点につき、複数の回転角度に対応する複数の特徴量マトリクスを作成する。そして、一方の画像の一つの特徴点の複数の特徴量マトリクスと、他方の画像の特徴点の特徴量マトリクスとを比較することにより、特徴点ペアを決定する。また、実施例２では、一方の画像の特徴点に対して所定の比率で拡大縮小された複数のマトリクスを適用して、一つの特徴点につき複数の拡大縮小率に対応する複数の特徴量マトリクスを作成する。そして、一方の画像の一つの特徴点の複数の特徴量マトリクスと、他方の画像の特徴点の特徴量マトリクスとを比較することにより、特徴点ペアを決定する。
【００５０】
［実施例２に係る画像処理サーバ］
図８は、実施例２に係る画像処理サーバの構成の一例を示す図である。実施例２に係る画像処理サーバ４００は、たとえば、クライアント２００から同一の地点を異なる時点で撮影した二つの画像（たとえば、画像Ａ、画像Ｂ）の入力を受ける。そして、画像処理サーバ４００は、各画像から特徴点を抽出する。そして、画像処理サーバ４００は、一方の画像（たとえば、画像Ａ。以下適宜「比較画像」とも称する。）の特徴点各々の特徴量マトリクスを作成する。次に、画像処理サーバ４００は、他方の画像（たとえば、画像Ｂ。以下適宜「処理画像」とも称する。）の特徴点を一つ選択して特徴量マトリクスを作成し、画像Ａの特徴点の特徴量マトリクスと比較して類似度を算出する。
【００５１】
さらに画像処理サーバ４００は、画像Ｂの特徴点の特徴量マトリクスを所定の角度だけ回転させて、画像Ａの特徴点の特徴量マトリクスと比較して類似度を算出する。たとえば、特徴量マトリクスが周方向に８領域に区分されている場合、画像処理サーバ４００は、画像Ｂの特徴点の特徴量マトリクスを４５度ずつ回転させて、全部で８つの特徴量マトリクスを作成する。画像処理サーバ４００は、作成した８つの特徴量マトリクス各々と、画像Ａの特徴点の特徴量マトリクスとを比較する。
【００５２】
さらに、画像処理サーバ４００は、画像Ｂの特徴点に対して、所定の比率で拡大縮小した複数のマトリクスを適用して、複数の特徴量マトリクスを作成する。たとえば、画像処理サーバ４００は、適用するマトリクスを０．８倍、１．２倍等の拡大縮小率で拡大縮小する。そして、画像処理サーバ４００は、拡大縮小したマトリクスを適用して複数の特徴量マトリクスを作成する。
【００５３】
画像処理サーバ４００は、画像Ｂの特徴点について作成した複数の特徴量マトリクスと、画像Ａの特徴点の特徴量マトリクスとを比較して類似度を算出する。画像処理サーバ４００は、算出した類似度が高い特徴点の対を特徴点ペアとして決定する。そして、画像処理サーバ４００は、位置合わせおよび差分検出処理を実行して、差分画像を出力する。
【００５４】
図８を参照し、実施例２に係る画像処理サーバ４００の構成を説明する。画像処理サーバ４００は、記憶部４１０、制御部４２０および入出力部４３０を備える。画像処理サーバ４００は、ネットワーク３００を介してクライアント２００と接続される。クライアント２００は、たとえばモニタ２０１を備える。
【００５５】
記憶部４１０は、画像記憶部４１１、特徴点記憶部４１２、マトリクス記憶部４１３およびペア記憶部４１４を備える。また、制御部４２０は、受付部４２１、抽出部４２２、作成部４２３、決定部４２４、位置合わせ部４２５、検出部４２６を備える。これら各部の機能は、実施例１と共通する部分については、実施例１に係る画像処理サーバ１００の各部と同様である。ただし、実施例２に係る画像処理サーバ４００は、記憶部４１０が、設定記憶部４１５を備え、マトリクス記憶部４１３が第１マトリクス記憶部４１３ａと第２マトリクス記憶部４１３ｂとを備える点で、実施例１と異なる。設定記憶部４１５はさらに、回転角記憶部４１５ａと、拡大縮小率記憶部４１５ｂとを備える。また、マトリクス記憶部４１３に記憶される情報の構成が、実施例１のマトリクス記憶部１１３に記憶される情報の構成と異なる。さらに、実施例２に係る画像処理サーバ４００は、作成部４２３が、回転部４２３ａと拡大縮小部４２３ｂとを備える点で、実施例１と異なる。また、実施例２に係る画像処理サーバ４００は、制御部４２０が、設定部４２７を備える点で、実施例１と異なる。以下、実施例１と相違する点を説明し、同様の機能についての説明は省略する。
【００５６】
［設定記憶部に記憶される情報］
実施例２に係る画像処理サーバ４００は、各特徴点に適用するマトリクスを所定の比率で拡大縮小して、複数の特徴量マトリクスを作成する。また、画像処理サーバ４００は、作成した複数の特徴量マトリクスを所定の回転角度で回転させて、さらに特徴量マトリクスを作成する。かかる処理を実現するため、実施例２に係る画像処理サーバ４００の記憶部４１０には、設定記憶部４１５が設けられている。たとえば、設定記憶部４１５は、回転角記憶部４１５ａと拡大縮小率記憶部４１５ｂとを有する。
【００５７】
回転角記憶部４１５ａは、回転処理に用いる情報を記憶する。図９は、回転角記憶部４１５ａに記憶される情報の構成の一例を示す図である。たとえば、回転角記憶部４１５ａは、特徴量マトリクスを回転させる回数と、回転させる角度およびその時点で適用されている回数を示すフラグを記憶する。図９の例では、「回転数」、「回転角度」、「フラグ」が記憶される。たとえば、回転数「８」に対応付けて、回転角度「０°，４５°，９０°，１３５°，１８０°，２２５°，２７０°，３１５°」が記憶されている。また、この時点で回転数「８」が適用されていることを示すフラグが記憶されている。図９の例では、ユーザが手動で回転数および回転角度を設定することができるよう、最下段に「回転数：任意（手動設定）」のボックスを設けている。ユーザが手動で回転数および回転角度を設定した場合は、最下段の空白のボックスに設定した回数および設定した角度が記憶される。
【００５８】
なお、回転数および回転角度は、特徴量マトリクスの周方向の領域数と対応させてよい。たとえば、特徴量マトリクスの周方向の領域が８つであれば、回転数も８つとし、回転角度は４５度ずつ増加させるものとすればよい。このように、特徴量マトリクスの領域数と連動させる場合には、回転角記憶部４１５ａを設けない構成としてもよい。
【００５９】
また、実施例２では、回転角記憶部４１５ａに記憶された情報に基づいて、回転角度を変更することができる例を示すが、画像処理サーバ４００において適用できる回転角度および回転数を固定にして、回転角記憶部４１５ａを設けないものとすることもできる。
【００６０】
拡大縮小率記憶部４１５ｂは、特徴量マトリクス作成のため特徴点に適用するマトリクスを拡大縮小する際の、拡大縮小率を記憶する。図１０は、拡大縮小率記憶部４１５ｂに記憶される情報の構成の一例を示す図である。たとえば、拡大縮小率記憶部４１５ｂは、画像の種類に対応付けて、拡大縮小率と、拡大縮小回数と、その時点で適用されている拡大縮小率を示すフラグとを記憶する。たとえば、図１０に示すように、画像の種類「衛星画像」に対応づけて、拡大縮小率「０．８，１．０，１．２」が記憶される。さらに、この場合の拡大縮小回数である「３」が記憶される。さらに、この時点で「衛星画像」の拡大縮小率が適用されていることを示すフラグが記憶されている。拡大縮小率記憶部４１５ｂは、予め画像の種類に対応付けて拡大縮小率を記憶するが、ユーザが拡大縮小率を任意に設定することもできる。図１０の最下段に示すように、ユーザが拡大縮小率を任意に設定した場合は、空白のボックスに拡大縮小率が記憶され、フラグが設定される。
【００６１】
なお、実施例２では、拡大縮小率記憶部４１５ｂに記憶された情報に基づいて、拡大縮小率を変更することができる例を示すが、画像処理サーバ４００において適用できる拡大縮小率を固定にして、拡大縮小率記憶部４１５ｂを設けないこともできる。
【００６２】
［特徴量マトリクス記憶部に記憶される情報］
次に、実施例２のマトリクス記憶部４１３に記憶される情報の一例について説明する。マトリクス記憶部４１３が備える第１マトリクス記憶部４１３ａおよび第２マトリクス記憶部４１３ｂのうち、第１マトリクス記憶部４１３ａに記憶される情報は、図４の例と同様である。第１マトリクス記憶部４１３ａには、比較画像の特徴量マトリクスが、図４の例と同様の構成で記憶される。
【００６３】
図１１は、第２マトリクス記憶部４１３ｂに記憶される情報の構成の一例を示す図である。実施例２の画像処理サーバ４００は、処理画像の特徴点各々について複数の特徴量マトリクスを作成する。そこで、第２マトリクス記憶部４１３ｂは、実施例１のマトリクス記憶部１１３のように、各特徴点について一つの特徴量マトリクスの情報を記憶するのではなく、各特徴点について複数の特徴量マトリクスの情報を記憶する。特に、第２マトリクス記憶部４１３ｂは、画像ＩＤおよび特徴点ＩＤに対応づけて、「マトリクスＩＤ」、「回転角」「拡大縮小率」を記憶する。そして、第２マトリクス記憶部４１３ｂはさらに、当該マトリクスＩＤで特定される特徴量マトリクスの情報として、「マトリクスセグメントＩＤ」に対応づけて「輝度値」「輝度差」「輝度差レベル」を記憶する。この点は図４の例と同様である。
【００６４】
図１１の例では、たとえば画像ＩＤ「００１」、特徴点ＩＤ「ＦＰ００１」に対応付けて、マトリクスＩＤ「Ｍ００１０１」、回転角「０°」、拡大縮小率「１．０」が記憶されている。そして、実施例１と同様、マトリクスセグメントＩＤで特定される領域の輝度値、輝度差、輝度差レベルが記憶される。さらに、マトリクスＩＤ「Ｍ００１０２」に対応づけて、回転角「０°」、拡大縮小率「０．８」の特徴量マトリクスの情報が記憶されている。
【００６５】
決定部４２４が、一つの特徴点（「ＦＰ００１」）を選択すると、作成部４２３は、回転処理および拡大縮小処理を実行して複数の特徴量マトリクスを作成する。図１１の例の場合、まず、決定部４２４は、特徴点ＩＤ「ＦＰ００１」を選択する。そして、作成部４２３の回転部４２３ａは、回転角記憶部４１５ａに記憶された回転角度と回転回数にもとづき、回転処理を実行する。図９の例の場合、まず、回転部４２３ａは、回転角度「０°」を適用する。そして、最初は拡大縮小部４２３ｂによる拡大縮小処理はおこなわずに、作成部４２３は特徴量マトリクスを作成する。この場合、第２マトリクス記憶部４１３ｂには、回転角「０°」、拡大縮小率「１．０」に対応づけて特徴量マトリクスの情報が記憶される。
【００６６】
回転部４２３ａにより８種類の回転角度の回転処理が終わると、次に拡大縮小部４２３ｂは、特徴点に適用するマトリクスを拡大縮小する。図１０の例の場合、拡大縮小率「０．８、１．０、１．２」が選択されているため、拡大縮小部４２３ｂは、次の拡大縮小率、たとえば、「０．８」を適用して、マトリクスを縮小する。そして、作成部４２３は、縮小したマトリクスを適用して、特徴量マトリクスを作成する。この場合、第２マトリクス記憶部４１３ｂには、回転角「０°」、拡大縮小率「０．８」に対応づけて特徴量マトリクスの情報が記憶される。なお、特徴量マトリクスの作成順序や記憶順序は特に限定されない。
【００６７】
このように、実施例２の第２マトリクス記憶部４１３ｂは、その時点で適用されている回転数および拡大縮小率（図９、図１０参照）に応じて、一つの特徴点につき複数の特徴量マトリクスの情報を記憶する。たとえば、拡大縮小率記憶部４１５ｂにおいて、拡大縮小率「０．８、１．０、１．２」にフラグが設定されており、回転角記憶部４１５ａにおいて、回転数「８」にフラグが設定されているとする。その場合、一つの特徴点について、合計２４個の特徴量マトリクスが作成され、その情報が第２マトリクス記憶部４１３ｂに記憶されることになる。
【００６８】
［制御部４２０の構成］
次に、図８に戻って、制御部４２０の各部を説明する。受付部４２１、抽出部４２２、位置合わせ部４２５および検出部４２６の動作は、実施例１に係る受付部１２１、抽出部１２２、位置合わせ部１２５および検出部１２６と同様である。よって、これらの各部については、ここでは詳細な説明は省略する。
【００６９】
実施例２の画像処理サーバ４００は、作成部４２３、決定部４２４が、実施例１の作成部１２３、決定部１２４と異なる。また、実施例２の画像処理サーバ４００は、設定部４２７を備える点で、実施例１と異なる。
【００７０】
設定部４２７は、入出力部４３０を介して、クライアント２００から入力される特徴量マトリクスの設定を行う。たとえば、所定のコマンドをクライアント２００のモニタ２０１から入力することで、モニタ２０１に入力画面が表示され、ユーザは、モニタ２０１から設定を入力する。設定部４２７は、設定の入力があると、入力された内容を、回転角記憶部４１５ａおよび拡大縮小率記憶部４１５ｂに設定する。たとえば、該当する回転数および画像種類にフラグが設定される。または、ユーザが任意の数値を入力した場合は、空白のボックスに数値が設定され、当該ボックスにフラグが設定される。なお、設定の入力を待たず、デフォルトで拡大縮小率および回転角が設定されるものとしてもよい。また、画像処理サーバ４００における処理の結果として、拡大縮小率および回転角が設定されるものとしてもよい。
【００７１】
作成部４２３は、拡大縮小率記憶部４１５ｂおよび回転角記憶部４１５ａに記憶される情報に基づき、各特徴点の特徴量マトリクスを作成する。すなわち、回転部４２３ａは、回転角記憶部４１５ａに記憶された回転角に基づいて、特徴量マトリクスを回転させる。拡大縮小部４２３ｂは、拡大縮小率記憶部４１５ｂに記憶された拡大縮小率に基づいて、特徴点に適用するマトリクスを拡大縮小する。回転部４２３ａおよび拡大縮小部４２３ｂによる回転処理および拡大縮小処理を経て作成部４２３が作成した特徴量マトリクスの情報は、マトリクス記憶部４１３に記憶される。回転処理および拡大縮小処理についてはさらに詳しく後述する。
【００７２】
決定部４２４は、作成部４２３が作成した各特徴点の複数の特徴量マトリクスを、比較画像の各特徴点の特徴量マトリクスと比較して類似度を算出する。そして、決定部４２４は、最も高い類似度の値が所定値以上か否かを判定する。そして、所定値未満であれば、決定部４２４は、当該特徴点は特徴点ではないものとして以後の処理対象から除外する。つまり、決定部４２４は、特徴点記憶部４１２から、当該特徴点の情報を削除する。他方、所定値以上であれば、決定部４２４は、当該特徴点と当該類似度を有する特徴点をペアとして決定する。
【００７３】
［回転処理］
次に、回転部４２３ａによる回転処理の詳細につきさらに説明する。回転部４２３ａは、作成部４２３が作成した特徴量マトリクスを所定角度回転させて、一つの特徴点について、所定の拡大縮小率における複数の特徴量マトリクスを作成する。たとえば、拡大縮小率「０．８」の画像から作成された特徴量マトリクスを、８つの異なる回転角度で回転させて、８種類の特徴量マトリクスを作成する。
【００７４】
回転部４２３ａにより作成される特徴量マトリクスの例を、図１２を参照して説明する。図１２は、回転部４２３ａにより作成される特徴量マトリクスを説明するための図である。比較画像の特徴点が、図１２の（Ａ）に示す特徴量マトリクスを有するとする。そして、処理画像の特徴点が、図１２の（Ｂ）に示す特徴量マトリクスを有するとする。この場合、回転部４２３ａは、処理画像の特徴点の特徴量マトリクスを４５度ずつ回転させて、８つの特徴量マトリクス（Ｂ）〜（Ｉ）を作成する。決定部４２４は、（Ｂ）〜（Ｉ）の特徴量マトリクスそれぞれを、比較画像の特徴量マトリクス（Ａ）と比較して類似度を計算する。
【００７５】
［拡大縮小処理］
次に、拡大縮小処理の詳細につき説明する。拡大縮小部４２３ｂは、特徴点に適用するマトリクスを所定の拡大縮小率で拡大縮小する。作成部４２３は、拡大縮小部４２３ｂによる拡大縮小後のマトリクスを適用して、各特徴点の特徴量マトリクスを作成する。
【００７６】
［縮小率および拡大率の設定］
図１３は、拡大縮小処理での縮小率について説明するための図である。図１３に示すように、特徴量マトリクスの半径をＲ（Ｒは画素数で示す）、半径方向の領域数をＮとする。ここで、半径Ｒが、領域数Ｎよりも小さい場合、半径方向の１領域が１画素に満たないことになる。そこで、拡大縮小部４２３ｂは、縮小率を、半径方向の１領域が１画素以上となるように設定する。すなわち、縮小率ｐの最大値は、ｐ＝Ｎ／Ｒとする。
【００７７】
拡大縮小部４２３ｂは、拡大率ｑを画像の大きさを元に算出する。図１４−１および図１４−２は、拡大縮小処理での拡大率について説明するための図である。図１４−１に示すように、拡大縮小部４２３ｂは、拡大縮小率を、特徴量マトリクスが画像の縦横の長さを超えるような数値に設定することはできない。たとえば、図１４−１に示すように、画像の縦方向長さをＷ、横方向長さをＨとする。このとき、特徴点が図１４−１の座標「（ｘ１，ｙ１）」で表される位置にある場合、特徴量マトリクスの半径を、特徴点から画像上端までの距離より長く設定することはできない。また、特徴点が図１４−１の座標「（ｘ２，ｙ２）」で表される位置にある場合、特徴量マトリクスの半径を、特徴点から画像右端までの距離より長く設定することはできない。したがって、拡大縮小部４２３ｂは、特徴点の座標の位置に応じて、設定できる特徴量マトリクスの拡大率を決定することができる。
【００７８】
拡大率ｑは、特徴点の位置が、図１４−２に示す位置（１）〜（４）のいずれの位置にあるかによって、以下の式に基づいて決定することができる。
【００７９】
特徴点が、図１４−２の位置（１）にある場合は、ｘがｙよりも大きければ、ｑ＝ｘ／Ｒとなる。また、ｘよりｙが小さければ、ｑ＝ｙ／Ｒとなる。
【００８０】
特徴点が、図１４−２の位置（２）にある場合は、（Ｗ−ｘ）よりｙが大きければ、ｑ＝（Ｗ−ｘ）／Ｒとなる。また、（Ｗ−ｘ）よりｙが小さければ、ｑ＝ｙ／Ｒとなる。
【００８１】
特徴点が、図１４−２の位置（３）にある場合は、ｘより（Ｈ−ｙ）が大きければ、ｑ＝ｘ／Ｒとなる。また、ｘより（Ｈ−ｙ）が小さければ、ｑ＝（Ｈ−ｙ）／Ｒとなる。
【００８２】
特徴点が、図１４−２の位置（４）にある場合は、（Ｗ−ｘ）より（Ｈ−ｙ）が大きければ、ｑ＝（Ｗ−ｘ）／Ｒとなる。また、（Ｗ−ｘ）より（Ｈ−ｙ）が小さければ、ｑ＝（Ｈ−ｙ）／Ｒとなる。
【００８３】
このように、拡大率および縮小率を設定することができる。しかし、拡大縮小による変化の幅が最大となるように拡大率および縮小率を設定した場合、処理量が多くなり、画像処理サーバ４００の負担も増加する。したがって、画像間で拡大率に大きな変動がない衛星画像等の場合には、拡大縮小の幅を０．８倍から１．２倍に設定することで、処理量の増加を抑制してもよい。また、適用する画像の種類に応じて、予め拡大縮小率を設定しておいてもよい。
【００８４】
［実施例２に係る画像処理の流れ］
図１５を参照して、実施例２に係る画像処理サーバ４００における処理手順の一例につき説明する。図１５は、実施例２に係る画像処理サーバの画像処理の処理手順の一例を示すフローチャートである。
【００８５】
まず、設定部４２７は、拡大縮小率および回転角を設定する（ステップＳ２０１）。次に、受付部４２１は、二つの画像（画像Ａ、Ｂ）の入力を受け付ける（ステップＳ２０２）。そして、抽出部４２２は、二つの画像Ａ、Ｂから特徴点を抽出する（ステップＳ２０３）。そして、作成部４２３は、二つの画像のうち比較対象となる画像Ａ（比較画像）の特徴点の各々について、回転処理および拡大縮小処理は行わずに、一つずつ特徴量マトリクスを作成する（ステップＳ２０４）。
【００８６】
次に、決定部４２４は、特徴量マトリクスを作成していない方の画像Ｂ（処理画像）の特徴点を一つ選択する（ステップＳ２０５）。作成部４２３は、画像Ｂの選択された特徴点について、拡大縮小部４２３ｂおよび回転部４２３ａにおける拡大縮小処理および回転処理を経て、特徴量マトリクスを作成する（ステップＳ２０６）。そして、決定部４２４は、作成部４２３が作成した画像Ｂの特徴点の特徴量マトリクスを、画像Ａの特徴点各々の特徴量マトリクスと比較して類似度を算出する（ステップＳ２０７）。
【００８７】
次に、決定部４２４は、回転部４２３ａが特徴量マトリクスを回転角記憶部４１５ａに記憶された所定の回転数だけ回転させたか否かを判定する（ステップＳ２０８）。所定の回転数の回転が完了していないと判定した場合（ステップＳ２０８、否定）、決定部４２４は、処理を作成部４２３に戻す。回転部４２３ａはさらに、所定角度だけ特徴量マトリクスを回転させる（ステップＳ２０９）。そして、再び、決定部４２４が、類似度を算出して記憶部４１０に格納する（ステップＳ２０７）。
【００８８】
所定の回転数の回転が完了していると判定した場合（ステップＳ２０８、肯定）、決定部４２４は、拡大縮小率記憶部４１５ｂに記憶されている拡大縮小率に対応する拡大縮小処理が完了したか否かを判定する（ステップＳ２１０）。拡大縮小処理が完了していないと判定した場合（ステップＳ２１０、否定）、決定部４２４は、処理を作成部４２３に戻す。拡大縮小部４２３ｂは完了していない拡大縮小率による特徴量マトリクスの拡大縮小処理を実行する（ステップＳ２１１）。そして、作成部４２３は、拡大縮小処理後の特徴量マトリクスを元に、選択されている画像Ｂの特徴点の特徴量マトリクスを作成する（ステップＳ２０６）。決定部４２４は、作成された画像Ｂの特徴点の特徴量マトリクスをもとに、類似度を算出する（ステップＳ２０７）。そして、再び、作成部４２３は、所定回数の回転処理が完了したか否かを判定する（ステップＳ２０８）。
【００８９】
他方、ステップＳ２１０において拡大縮小処理が完了したと判定した場合（ステップＳ２１０、肯定）、決定部４２４は、算出した類似度のうち最も高い類似度が算出された画像Ａの特徴点を選択する（ステップＳ２１２）。次に、決定部４２４は、選択した画像Ａの特徴点の類似度が所定値以上か否かを判定する（ステップＳ２１３）。所定値未満と判定した場合（ステップＳ２１３、否定）、決定部４２４は、ステップＳ２０５で選択した画像Ｂの特徴点を除外する（ステップＳ２１４）。すなわち、画像Ｂについて特徴点記憶部４１２に記憶された特徴点の情報から、当該特徴点の情報を削除する。他方、所定値以上と判定した場合（ステップＳ２１３、肯定）、決定部４２４は、ステップＳ２１２で選択した画像Ａの特徴点と、ステップＳ２０６で選択した画像Ｂの特徴点とをペアとして決定する（ステップＳ２１５）。
【００９０】
そして、決定部４２４は、処理画像の全ての特徴点についてペアが決定したか否かを判定する（ステップＳ２１６）。全ての特徴点についてペアが決定していないと判定した場合（ステップＳ２１６、否定）、決定部４２４は次の特徴点を選択し（ステップＳ２１７）、ステップＳ２０６の処理に戻る。他方、全ての特徴点についてペアが決定したと判定した場合（ステップＳ２１６、肯定）、位置合わせ部４２５が、決定した特徴点ペアに基づいて画像の位置合わせをおこなう（ステップＳ２１８）。次に、位置合わせ後の二つの画像に基づいて、検出部４２６が差分を検出する（ステップＳ２１９）。検出した差分から構成される差分画像は、入出力部４３０を介して出力される（ステップＳ２２０）。これによって処理が終了する。
【００９１】
［実施例２の効果］
上述の通り、実施例２に係る画像処理サーバ４００は、第１の画像および第２の画像のうち、第１の画像の特徴点における特徴量マトリクスを所定角度回転させて、一つの特徴点につき、複数の回転角度に対応する複数の特徴量マトリクスを作成する。そして、画像処理サーバ４００は、第１の画像の特徴点の複数の特徴量マトリクス各々と、第２の画像の特徴点の特徴量マトリクスとを比較し、類似する特徴点ペアを決定する。このため、画像の変化があった場合でも、適切に特徴点ペアを決定することができる。また、二つの画像の一部に、回転方向にずれた部分が存在していても、対応する箇所を正しく抽出し、適正に特徴点ペアを決定することができる。
【００９２】
また、上述の通り、また、実施例２に係る画像処理サーバ４００は、第１の画像および第２の画像のうち、第１の画像の特徴点に対して所定の比率で拡大縮小された複数のマトリクスを適用する。そして、画像処理サーバ４００は、一つの特徴点につき、複数の拡大縮小率に対応する複数の特徴量マトリクスを作成する。そして、画像処理サーバ４００は、第１の画像の特徴点の複数の特徴量マトリクス各々と、第２の画像の特徴点の特徴量マトリクスとを比較し、類似する特徴点ペアを決定する。このため、画像の変化があった場合でも、適切に特徴点ペアを決定することができる。また、比較する画像間で部分的に縮尺のずれが生じていても、適切に比較を行って特徴点ペアを決定することができる。
【実施例３】
【００９３】
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
【００９４】
［回転および拡大縮小の省略等］
上述した実施例２においては、特徴点全てについて、回転角度を変えて複数の特徴量マトリクスを算出し、または特徴点全てについて、異なる拡大縮小率の複数の特徴量マトリクスを作成するものとして説明した。しかし、いくつかの特徴点について回転角度および拡大縮小率を変動させて比較を行った結果、類似度が高い回転角度および／または拡大縮小率を決定することができる場合もある。そのような場合には、他の特徴点については同じ角度および／または同じ拡大縮小率の特徴量マトリクスのみを作成し、類似度を算出するものとしてもよい。
【００９５】
また、実施例２は、回転処理および拡大縮小処理を行うものとして説明したが、回転処理および拡大縮小処理のいずれか一方を実行するようにしてもよい。
【００９６】
［画像処理サーバ］
開示の画像処理方法は、クラウドシステムを構成する画像処理サーバに実装し、クラウドシステムを介してユーザから送信される画像の処理に適用することができる。たとえば、衛星写真システムや航空写真システムから随時提供される写真のデータを、クラウドシステムのサーバに格納する。ユーザは、画像に撮影地点の情報を添付して送信する。また、ユーザは、撮影地点ごとに検出したい対象物を特定し、また、変化の有無を検出するための処理を行う間隔を指定する。画像処理サーバは、開示の画像処理を行うことにより特徴点ペアを決定し、画像の位置合わせおよび差分検出を行う。このように構成することで、ユーザは、クラウドシステムに画像のデータを送信するだけで、所望の期間ごとに、同一地点においてどのような変化があったかを容易に確認することができる。
【００９７】
［分散および統合］
図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。たとえば、図１に示したモニタ２０１を画像処理サーバ１００に組み入れ、画像処理サーバ１００においてモニタに画像等を出力し確認することができるように構成してもよい。また、記憶部１１０について、画像記憶部１１１、特徴点記憶部１１２、ペア記憶部１１４を統合して一つの記憶部として構成してもよいし、画像記憶部１１１を外部メモリとして、ネットワーク３００により画像処理サーバ１００に接続される構成にしてもよい。
【００９８】
［画像処理プログラム］
また、上記の実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図１６を用いて、上記の実施例と同様の機能を有する画像処理プログラムを実行するコンピュータの一例について説明する。
【００９９】
図１６は、実施例１〜３に係る画像処理プログラムを実行するコンピュータの一例について説明するための図である。図１６に示すように、コンピュータ１０００は、操作部１１００と、ディスプレイ１２００と、通信部１３００とを有する。さらに、このコンピュータ１０００は、ＣＰＵ１４００と、ＲＯＭ１５００と、ＲＡＭ１６００と、ＨＤＤ（Hard  Disk  Drive）１７００とを有する。これら１１００〜１７００の各部はバス１８００を介して接続される。
【０１００】
ＨＤＤ１７００には、図１６に示すように、上記の実施例１で示した受付部１２１、抽出部１２２と同様の機能を発揮する画像処理プログラム１７００ａ等が予め記憶される。さらに、ＨＤＤ１７００には、上記の実施例１で示した作成部１２３、決定部１２４、位置合わせ部１２５および検出部１２６と同様の機能を発揮する画像処理プログラム１７００ａ等が予め記憶される。この画像処理プログラム１７００ａについては、図１および図８に示した各々の各構成要素と同様、適宜統合または分離してもよい。すなわち、ＨＤＤ１７００に格納される各データは、常に全てのデータがＨＤＤ１７００に格納される必要はなく、処理に必要なデータのみがＨＤＤ１７００に格納されればよい。
【０１０１】
そして、ＣＰＵ１４００が、画像処理プログラム１７００ａをＨＤＤ１７００から読み出してＲＡＭ１６００に展開する。これによって、図１６に示すように、画像処理プログラム１７００ａは、画像処理プロセス１６００ａとして機能する。この画像処理プロセス１６００ａは、ＨＤＤ１７００から読み出した各種データを適宜ＲＡＭ１６００上の自身に割り当てられた領域に展開し、この展開した各種データに基づいて各種処理を実行する。なお、画像処理プロセス１６００ａは、たとえば図１に示した受付部１２１、抽出部１２２、作成部１２３、決定部１２４、位置合わせ部１２５および検出部１２６にて実行される処理、たとえば、図７に示す処理を含む。また、ＣＰＵ１４００上で仮想的に実現される各処理部は、常に全ての処理部がＣＰＵ１４００上で動作する必要はなく、処理に必要な処理部のみが仮想的に実現されればよい。
【０１０２】
なお、上記の画像処理プログラム１７００ａについては、必ずしも最初からＨＤＤ１７００やＲＯＭ１５００に記憶させておく必要はない。たとえば、コンピュータ１０００に挿入されるフレキシブルディスク、ＣＤ−ＲＯＭ（Compact  Disc  Read  Only  Memory）などの「可搬用の物理媒体」に各プログラムを記憶させる。また、たとえば、ＤＶＤ（Digital  Versatile  Disc）ディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に各プログラムを記憶させる。そして、コンピュータ１０００がこれらの可搬用の物理媒体から各プログラムを取得して実行するようにしてもよい。また、公衆回線、インターネット、ＬＡＮ、ＷＡＮ（Wide  Area  Network）などを介してコンピュータ１０００に接続される他のコンピュータまたはサーバ装置などに各プログラムを記憶させてもよい。そして、コンピュータ１０００がこれらから各プログラムを取得して実行するようにしてもよい。
【０１０３】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１０４】
（付記１）第１の画像および第２の画像の各々から特徴点を抽出する抽出部と、
前記第１および第２の画像の各々の特徴点について、該特徴点を中心とする同心円のマトリクスの各領域に、当該領域内の画素の輝度値と前記特徴点の輝度値との差分に関する情報を対応づけた特徴量マトリクスを作成する作成部と、
前記第１の画像の特徴点の特徴量マトリクスと、前記第２の画像の特徴点の特徴量マトリクスとを比較し、類似する特徴点ペアを決定する決定部と、
を備えることを特徴とする画像処理装置。
【０１０５】
（付記２）前記作成部は、前記第１の画像の特徴点における前記特徴量マトリクスを所定角度回転させて、一つの特徴点につき、複数の回転角度に対応する複数の特徴量マトリクスを作成し、
前記決定部は、前記第１の画像の特徴点の複数の特徴マトリクス各々と、前記第２の画像の特徴点の特徴量マトリクスとを比較し、類似する特徴点ペアを決定することを特徴とする、付記１に記載の画像処理装置。
【０１０６】
（付記３）前記作成部は、前記第１の画像の特徴点に対して所定の比率で拡大縮小された複数のマトリクスを適用して、一つの特徴点につき、複数の拡大縮小率に対応する複数の特徴量マトリクスを作成し、
前記決定部は、前記第１の画像の特徴点の複数の特徴マトリクス各々と、前記第２の画像の特徴点の特徴量マトリクスとを比較し、類似する特徴点ペアを決定することを特徴とする、付記１又は２に記載の画像処理装置。
【０１０７】
（付記４）画像処理サーバによって実行される画像処理方法であって、
記憶部に記憶された第１の画像および第２の画像の各々から特徴点を抽出し、
前記第１および第２の画像の各々の特徴点について、該特徴点を中心とする同心円のマトリクスの各領域に、当該領域内の画素の輝度値と前記特徴点の輝度値との差分に関する情報を対応づけた特徴量マトリクスを作成し、
前記第１の画像の特徴点の特徴量マトリクスと、前記第２の画像の特徴点の特徴量マトリクスとを比較し、類似する特徴点ペアを決定する
ことを特徴とする画像処理方法。
【０１０８】
（付記５）前記第１の画像の特徴点における前記特徴量マトリクスを所定角度回転させて、一つの特徴点につき、複数の回転角度に対応する複数の特徴量マトリクスを作成し、
前記第１の画像の特徴点の複数の特徴量マトリクス各々と、前記第２の画像の特徴点の特徴量マトリクスとを比較し、類似する特徴点ペアを決定することを特徴とする、付記４に記載の画像処理方法。
【０１０９】
（付記６）前記第１の画像の特徴点に対して所定の比率で拡大縮小された複数のマトリクスを適用して、一つの特徴点につき、複数の拡大縮小率に対応する複数の特徴量マトリクスを作成し、
前記第１の画像の特徴点の複数の特徴マトリクス各々と、前記第２の画像の特徴点の特徴量マトリクスとを比較し、類似する特徴点ペアを決定することを特徴とする、付記４又は５に記載の画像処理方法。
【０１１０】
（付記７）記憶部に記憶された第１の画像および第２の画像の各々から特徴点を抽出し、
前記第１および第２の画像の各々の特徴点について、該特徴点を中心とする同心円のマトリクスの各領域に、当該領域内の画素の輝度値と前記特徴点の輝度値との差分に関する情報を対応づけた特徴量マトリクスを作成し、
前記第１の画像の特徴点の特徴量マトリクスと、前記第２の画像の特徴点の特徴量マトリクスとを比較し、類似する特徴点ペアを決定する、
各処理をコンピュータに実行させることを特徴とする画像処理プログラム。
【０１１１】
（付記８）前記第１の画像の特徴点における前記特徴量マトリクスを所定角度回転させて、一つの特徴点につき、複数の回転角度に対応する複数の特徴量マトリクスを作成し、
前記第１の画像の特徴点の複数の特徴量マトリクス各々と、前記第２の画像の特徴点の特徴量マトリクスとを比較し、類似する特徴点ペアを決定する処理をさらにコンピュータに実行させることを特徴とする、付記７に記載の画像処理プログラム。
【０１１２】
（付記９）前記第１の画像の特徴点に対して所定の比率で拡大縮小された複数のマトリクスを適用して、一つの特徴点につき、複数の拡大縮小率に対応する複数の特徴量マトリクスを作成し、
前記第１の画像の特徴点の複数の特徴マトリクス各々と、前記第２の画像の特徴点の特徴量マトリクスとを比較し、類似する特徴点ペアを決定する処理をさらにコンピュータに実行させることを特徴とする、付記７又は８に記載の画像処理プログラム。
【符号の説明】
【０１１３】
１００  画像処理サーバ
１１０  記憶部
１１１  画像記憶部
１１２  特徴点記憶部
１１３  マトリクス記憶部
１１４  ペア記憶部
１２０  制御部
１２１  受付部
１２２  抽出部
１２３  作成部
１２４  決定部
１２５  位置合わせ部
１２６  検出部
１３０  入出力部
２００  クライアント
２０１  モニタ
３００  ネットワーク
４１３ａ  第１マトリクス記憶部
４１３ｂ  第２マトリクス記憶部
４１５ａ  回転角記憶部
４１５ｂ  拡大縮小率記憶部
４２３ａ  回転部
４２３ｂ  拡大縮小部
４２７  設定部
【図１】
0005867237.tif 000002
【図２】
0005867237.tif 000003
【図３】
0005867237.tif 000004
【図４】
0005867237.tif 000005
【図５】
0005867237.tif 000006
【図６】
0005867237.tif 000007
【図７】
0005867237.tif 000008
【図８】
0005867237.tif 000009
【図９】
0005867237.tif 000010
【図１０】
0005867237.tif 000011
【図１１】
0005867237.tif 000012
【図１２】
0005867237.tif 000013
【図１３】
0005867237.tif 000014
【図１４−１】
0005867237.tif 000015
【図１４−２】
0005867237.tif 000016
【図１５】
0005867237.tif 000017
【図１６】
0005867237.tif 000018