JP5867237B2 - 画像処理装置、画像処理方法および画像処理プログラム - Google Patents

画像処理装置、画像処理方法および画像処理プログラム Download PDF

Info

Publication number
JP5867237B2
JP5867237B2 JP2012078295A JP2012078295A JP5867237B2 JP 5867237 B2 JP5867237 B2 JP 5867237B2 JP 2012078295 A JP2012078295 A JP 2012078295A JP 2012078295 A JP2012078295 A JP 2012078295A JP 5867237 B2 JP5867237 B2 JP 5867237B2
Authority
JP
Japan
Prior art keywords
image
feature
matrix
feature point
image processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2012078295A
Other languages
English (en)
Other versions
JP2013206430A (ja
Inventor
吉田 昇平
昇平 吉田
和美 土井
和美 土井
阿部 大輔
大輔 阿部
内藤 宏久
宏久 内藤
あきら 宮崎
あきら 宮崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2012078295A priority Critical patent/JP5867237B2/ja
Publication of JP2013206430A publication Critical patent/JP2013206430A/ja
Application granted granted Critical
Publication of JP5867237B2 publication Critical patent/JP5867237B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Analysis (AREA)

Description

本発明は、画像処理装置、画像処理方法および画像処理プログラムに関する。
従来、同一の地点を異なる時期に撮影して得られた複数の画像を比較し照合するための技術が用いられている。たとえば、空中写真画像を用いた処理として、旧撮影空中写真画像と新撮影空中写真画像とを照合して、各画像から特徴点を抽出する。各画像の特徴点のうち、対応する特徴点を特徴点ペアとして抽出する。そして、特徴点ペアを構成する二つの特徴点を対応づけて、二つの画像の位置合わせを行う。位置合わせ後、両画像を比較することで、前の撮影時点から後の撮影時点までの間に撮影対象地点に生じた変化を、差分として抽出することができる。
特徴点ペアの抽出においては、たとえば、二つの画像から抽出された特徴点それぞれについて、画像特徴と傾き方向を算出する。算出した画像特徴や傾き方向に基づいて特徴点間の類似度を計算し、類似度の高い特徴点をペアとして抽出する。
特開2005−173128号公報
しかしながら、従来の手法を用いて二つの画像を比較・照合する場合、画像を撮影した時点での撮影条件の違い等の影響により、特徴点ペアを決定することができない場合があった。たとえば、天候の違いに起因する雲の陰の写る位置の違い、季節の違いに起因する木の葉の緑色の濃さの違い、日光の強さの違いに起因する建物の影の濃さの違いなどにより、画像の一部の輝度が暗くなったり、輝度の変化度合いが変わったりするからである。
たとえば、一つの画像の撮影を夏に行い、他の画像の撮影を冬に行った場合、画像中に含まれる植物の葉の色や形状が相違する。そのため、同一地点を撮影しても画像中の対応する箇所の輝度が相互に相違する場合がある。また、一つの画像を撮影したときに、雲の影が写って地物の一部が暗く写り、他方、他の画像には雲の影は移っていないという場合もありうる。この場合、影の部分の輝度が二つの画像間で対応していないため、画像を正しく照合することができない。このように、画像の一部の輝度が暗くなったり、輝度の変化度合いが変わったりした場合、従来の方法では特徴点のペアを正しく決定することができない。特徴点自体は適切に抽出されたとしても、二つの画像間で、特徴点の周囲の輝度変化の強さや方向が異なり、特徴点のペアが正しく認識できないためである。
開示の技術は、上記に鑑みてなされたものであって、画像の変化があった場合でも、適切に特徴点ペアを決定することができる画像処理装置、画像処理方法および画像処理プログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するために、本願の開示する画像処理装置、画像処理方法および画像処理プログラムは、第1の画像および第2の画像の各々から特徴点を抽出する。そして、前記第1および第2の画像の各々の特徴点について、該特徴点を中心とする同心円のマトリクスを作成する。マトリクスの各領域に、当該領域内の画素の輝度値と前記特徴点の輝度値との差分に関する情報を対応づけて特徴量マトリクスを作成する。前記第1の画像の特徴点の特徴量マトリクスと、前記第2の画像の特徴点の特徴量マトリクスとを比較し、類似する特徴点ペアを決定する。
本願の開示する画像処理装置、画像処理方法および画像処理プログラムの一つの態様によれば、画像の変化があった場合でも、適切に特徴点ペアを決定することができるという効果を奏する。
図1は、実施例1に係る画像処理サーバの構成の一例を示す図である。 図2は、画像記憶部に記憶される画像情報の構成の一例を示す図である。 図3は、特徴点記憶部に記憶される特徴点情報の構成の一例を示す図である。 図4は、マトリクス記憶部に記憶される特徴量マトリクス情報の構成の一例を示す図である。 図5は、特徴量マトリクスの構成の一例について説明するための図である。 図6は、ペア記憶部に記憶される特徴点ペア情報の構成の一例を示す図である。 図7は、実施例1に係る画像処理サーバの画像処理の処理手順の一例を示すフローチャートである。 図8は、実施例2に係る画像処理サーバの構成の一例を示す図である。 図9は、回転角記憶部に記憶される情報の構成の一例を示す図である。 図10は、拡大縮小率記憶部に記憶される情報の構成の一例を示す図である。 図11は、第2マトリクス記憶部に記憶される情報の構成の一例を示す図である。 図12は、回転部により作成される特徴量マトリクスを説明するための図である。 図13は、拡大縮小処理での縮小率について説明するための図である。 図14−1は、拡大縮小処理での拡大率について説明するための図である。 図14−2は、拡大縮小処理での拡大率について説明するための他の図である。 図15は、実施例2に係る画像処理サーバの画像処理の処理手順の一例を示すフローチャートである。 図16は、実施例1〜3に係る画像処理プログラムを実行するコンピュータの一例について説明するための図である。
以下に、本願の開示する画像処理装置、画像処理方法および画像処理プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
本願の開示する画像処理装置の実施例1として、画像処理サーバ100を説明する(図1参照)。画像処理サーバ100は、たとえば、クライアント200から同一の地点を異なる時点で撮影した二つの画像の入力を受ける。または、画像処理サーバ100は、クライアント200から同一の地点を異なる時期に撮影した二つの画像を特定する指示を受け付ける。そして、画像処理サーバ100は、二つの画像の各々から特徴点を抽出する。さらに、画像処理サーバ100は、各特徴点の輝度値と、当該特徴点から所定の距離範囲内に位置する画素の輝度値との差分を、当該特徴点を中心とする同心円状のマトリクスの複数の領域各々に対応付けて、各特徴点の特徴量マトリクスを作成する。画像処理サーバ100は、一つの画像の特徴点の特徴量マトリクスと、他の画像の特徴点の特徴量マトリクスとを比較して類似度を求める。画像処理サーバ100は、特徴量マトリクスの類似度が高い特徴点の対を特徴点ペアとして決定する。
まず、図1を参照して、画像処理サーバ100の構成の一例につき説明する。図1は、実施例1に係る画像処理サーバ100の構成の一例を示す図である。画像処理サーバ100は、記憶部110と、制御部120と、入出力部130とを備える。記憶部110は、画像処理サーバ100内での処理に使用するデータおよび画像処理サーバ100内での処理により生成されるデータを記憶する。制御部120は、画像処理サーバ100内での画像処理を制御する。入出力部130は、外部から画像処理サーバ100に入力されるデータを受信するとともに、画像処理サーバ100により生成されるデータを外部に送信する。
また、画像処理サーバ100は、クライアント200と、ネットワーク300を介して接続される。クライアント200は、たとえば、モニタ201を備える。画像処理サーバ100内で処理された画像は、入出力部130を介してクライアント200に送られ、モニタ201に表示することができる。なお、図1では、画像処理サーバ100の外部にひとつのクライアント200およびモニタ201が設けられるものとしたが、画像処理サーバ100は、ネットワーク300を介して複数のクライアント200と接続されてもよい。そして、画像処理サーバ100を、複数のクライアント200から送信される画像を受信するように構成してもよい。また、画像処理サーバ100内にモニタを設けて画像を確認できるように構成してもよい。また、画像処理サーバ100自体に撮像機能を設けてもよく、また、画像処理サーバ100を、クライアント200とは別の撮像装置と接続してもよい。なお、クライアント200は、たとえば、パーソナルコンピュータ、携帯電話機、スマートフォン、インターネットTVなどのコンピュータである。
[記憶部の構成]
記憶部110は、画像記憶部111、特徴点記憶部112、マトリクス記憶部113およびペア記憶部114を備える。なお、記憶部110は、半導体メモリ素子や記憶装置などである。たとえば、半導体メモリ素子としては、VRAM(Video Random Access Memory)、RAM(Random Access Memory)、ROM(Read Only Memory)やフラッシュメモリ(flash memory)などが挙げられる。また、記憶装置としては、ハードディスク、光ディスクなどの記憶装置が挙げられる。以下、記憶部110に記憶される情報につき説明する。
[画像情報]
画像記憶部111は、画像処理サーバ100が受信した画像情報を記憶する。図2は、画像記憶部111に記憶される画像情報の構成の一例を示す図である。たとえば、図2に示すように、画像情報は、画像を一意に識別する画像ID(Identifier)を含む。そして、画像記憶部111は、画像IDに対応付けて、画像が撮影された場所、撮影日時、画像自体等を記憶する。図2に示す例では、画像ID「001」に対応づけて、画像ID「001」の画像の撮影地点の緯度と経度が「35.6587,139.74」として記憶されている。さらに、画像ID「001」に対応づけて、撮影日時「2012/3/30」が記憶されている。さらに、画像ID「001」に対応づけて、画像自体が記憶されている。
[特徴点情報]
特徴点記憶部112は、画像処理サーバ100が受信した画像の特徴点に関する情報を記憶する。図3は、特徴点記憶部112に記憶される特徴点情報の構成の一例を示す図である。
ここで、特徴点とは、画像の中で目立った特徴を示す点のことをいう。たとえば、画像中の物体の角にあたる部分や、境界線に該当する部分など、周囲の画素との輝度勾配が大きい部分が特徴点として抽出される。なお、特徴点の抽出については後述するが、抽出の手法は特に限定されない。
図3に示すように、特徴点記憶部112は、たとえば、画像ID「001」に対応付けて、当該画像から抽出された特徴点の情報を記憶する。図3の例では、画像ID「001」に対応付けて、特徴点を一意に特定する特徴点ID「FP001」が記憶されている。さらに、特徴点ID「FP001」で特定される特徴点の位置が、画像上の座標「x,y」であることが記憶されている。特徴点は、各画像について複数個抽出され、その各々についての情報が特徴点記憶部112に記憶される。
[特徴量マトリクス情報]
マトリクス記憶部113は、特徴点各々の特徴量マトリクスの情報を記憶する。図4は、マトリクス記憶部113に記憶される特徴量マトリクス情報の構成の一例を示す図である。図5は、特徴量マトリクスの構成の一例について説明するための図である。
図4に示すように、特徴量マトリクス情報は、「画像ID」、「特徴点ID」、「マトリクスID」、「マトリクスセグメントID」、「輝度値」、「輝度差」および「輝度差レベル」を含む。特徴量マトリクス情報は、各特徴点の特徴量マトリクスについての情報である。たとえば、図4の例では、「画像ID:001」の画像の「特徴点ID:FP001」の特徴点について、「マトリクスID:M00101」の特徴量マトリクスについての情報が記憶されている。
特徴量マトリクスの詳細について説明する。なお、特徴量マトリクスは後述する作成部123によって作成される。図5に示すように、特徴量マトリクスは、特徴点を中心とした所定の長さ(所定の画素数)の半径を有する円を、周方向および半径方向に所定の数の領域に分割したものである。各領域に含まれる画素の輝度値と、同心円の中心に位置する特徴点の輝度値との差分が、各領域の「輝度差」の値となる。なお、図5の例には、合計49個の画素を示すが、以下、説明の便宜上、49個の画素をそれぞれ、「行番号、列番号」で特定して説明する。行番号は、下から上に向かって「1」〜「7」で示し、列番号は、左から右に向かって「1」〜「7」で示す。
図5の例では、作成部123は、特徴点FPを中心として、特徴点の存在する画素位置から半径方向に3画素の領域にわたる特徴量マトリクスを設定する。また、図5の例では、特徴量マトリクスを構成する円は、半径方向に2領域、周方向に4領域に分割され、全部で8個の領域が形成される。各領域には、当該領域を一意に特定するためのマトリクスセグメントIDが付与される。図5の例では、円の上中心から右回り方向に内側から外側に向けて順番に、マトリクスセグメントIDが付与されている。たとえば、中心側の同心円に含まれる4つの領域には、上中心から右回りに、マトリクスセグメントID「1」〜「4」が付与されている。外側の同心円に含まれる4つの領域には、上中心から右回りに、マトリクスセグメントID「5」〜「8」が付与されている。
このように特徴量マトリクスの領域を設定した場合、一つの画素が2以上の領域にまたがって存在する場合がある。ここでは、作成部123は、二つの領域にまたがる画素については、右側かつ下側の領域に入れて特徴量を計算する。たとえば、図5の画素「6、4」は、マトリクスセグメントID「1」「4」「5」「8」の4つの領域にまたがって存在する。そして、右側の領域は、マトリクスセグメントID「1」「5」の領域であり、そのうち下側の領域はマトリクスセグメントID「1」の領域である。したがって、作成部123は、画素「6、4」はマトリクスセグメントID「1」の領域に入れて特徴量を算出する。
このようにして、作成部123は、図5に示す各領域について、特徴量を算出する。たとえば、マトリクスセグメントID「1」の領域には、画素「6、4」、画素「5、4」、画素「5、5」が入る。したがって、輝度値「(100+100+100)/3=100」がマトリクスセグメントID「1」の領域の輝度値となる。そして、特徴点が存在する領域の画素の輝度値は「255」である。よって、「255−100=155」が、マトリクスセグメントID「1」の領域の輝度差の値となる。
また、マトリクスセグメントID「2」の領域には、画素「4、4」、画素「4、5」、画素「3、4」、画素「3、5」が含まれる。したがって、輝度値「(255+255+255+255)/4=255」がマトリクスセグメントID「2」の領域の輝度値となる。よって、「255−255=0」が、マトリクスセグメントID「2」の領域の輝度差の値となる。
同様に、図5に示すマトリクスセグメントID「3」〜「8」について輝度差を求めると、最終的に得られる数値は図4に示すようになる。このように、作成部123は、各特徴点について、マトリクスセグメント各々の輝度差を求め、マトリクス記憶部113は、特徴量マトリクス情報として記憶する。
また、マトリクス記憶部113は、輝度差の値がとり得る範囲である−255から255の値を、たとえば13のレベルに区分して、輝度差がどのレベルに該当するかも記憶する。たとえば、輝度差が「−255〜−215」の場合をP1、「−215〜−175」の場合をP2、「−175〜−135」の場合をP3、「−135〜−95」の場合をP4とする。また、輝度差が「−95〜−55」の場合をP5、「−55〜−15」の場合をP6、「−15〜15」の場合をP7、「15〜55」の場合をP8、「55〜95」の場合をP9、「95〜135」の場合をP10とする。さらに、輝度差が「135〜175」の場合をP11、「175〜215」の場合をP12、「215〜255」の場合をP13とする。この場合、図4に示すように、マトリクスセグメントID「1」の領域については、輝度差が「155」であるため、輝度差レベルは「P11」となる。なお、これに限定されず、輝度差の値のみを記憶してもよい。
[特徴点ペア情報]
ペア記憶部114は、画像処理サーバ100による処理によって決定される特徴点ペアについての情報を記憶する。図6は、ペア記憶部114に記憶される特徴点ペア情報の構成の一例を示す図である。
図6に示すように、特徴点ペア情報は、処理対象である画像(以下、「処理画像」とも呼ぶ)を一意に特定する「処理画像ID」と、処理画像と比較する対象である画像(以下、「比較画像」とも呼ぶ)を一意に特定する「比較画像ID」とを含む。さらに、「処理画像ID」および「比較画像ID」に対応づけて、各特徴点ペアを一意に特定する「ペアID」を記憶する。そして、「ペアID」に対応づけて、処理画像の特徴点を一意に特定する「処理画像特徴点ID」と、比較画像の特徴点を一意に特定する「比較画像特徴点ID」とを記憶する。たとえば、図6の例では、「処理画像ID:001」「比較画像ID:201」に対応づけて、ペアID「001」、「002」、「003」等が記憶される。そして、ペアID「001」に対応づけて、「処理画像特徴点ID:FP001」と「比較画像特徴点ID:FP201」が記憶される。このように、特徴点ペア情報は、二つの画像のどの特徴点同士が対応するかを示す情報である。
[制御部120の構成]
図1に戻り、制御部120の構成を説明する。制御部120は、受付部121と、抽出部122と、作成部123と、決定部124と、位置合わせ部125と、検出部126と、を備える。制御部120は、入出力部130を介して受信した画像を解析して特徴点ペアを決定する処理を実行する。さらに、制御部120は、決定した特徴点ペアに基づき、画像の位置合わせと画像間の差分検出を実行する。制御部120における処理によって生成されるデータは適宜、記憶部110に記憶される。なお、制御部120は、たとえば、各種の集積回路や電子回路である。たとえば、集積回路としては、ASIC(Application Specific Integrated Circuit)が挙げられる。また、電子回路としては、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などが挙げられる。
受付部121は、入出力部130を介して同一の地点を異なる時期に撮影することによって得られる少なくとも二つの画像を受け付ける。受け付けた画像は、指示入力に基づき抽出部122に送られる。また、受付部121が受け付けた画像は、画像記憶部111に記憶される。また、受付部121は、通常は受け付けた画像を画像記憶部111に記憶するのみとし、オペレータ等による指示入力があった場合に、画像記憶部111に記憶された画像を読み出し、抽出部122に送るよう構成してもよい。
抽出部122は、受付部121から送られる画像から特徴点を抽出する。たとえば、画像内の建物、道路、森林、敷地などの輪郭点や境界点などを特徴点として抽出する。特徴点を抽出するために用いる手法は特に限定されない。たとえば、ハリス(Harris)オペレータやモラベック(Moravec)オペレータを用いる方法、SUSAN(Smallest Univalue Segment Assimilating Nucleus)、MIC(Minimum Intensity Change)等を利用することができる。抽出部122が抽出した特徴点に関する情報は、特徴点記憶部112に記憶される。
作成部123は、抽出部122により抽出された特徴点各々について、上述した特徴量マトリクスを作成する。たとえば、作成部123は、特徴点を中心とする同心円状のマトリクスの各領域に、領域内の画素の輝度値と特徴点の画素の輝度値との差分を対応づけて特徴量マトリクスを作成する。作成した特徴量マトリクスは、マトリクス記憶部113に記憶される。
決定部124は、比較対象となる二つの画像の各々の特徴点について作成された特徴量マトリクスを比較し、類似度を算出する。たとえば、決定部124は、一方の画像の特徴点をひとつ選択する。そして、決定部124は、当該特徴点の特徴量マトリクスを、他方の画像の特徴点すべての特徴量マトリクスと比較する。たとえば、決定部124は、二つの特徴量マトリクスの各領域の輝度差レベル(図4参照)を比較する。そして、決定部124は、比較結果に基づき、特徴量マトリクス間の類似度を算出する。決定部124は、最も類似度が高い特徴点の対を特徴点ペアと決定する。なお、類似度を算出する手法は特に限定されない。たとえば、正規化相互相関(ZNCC:Zero-mean Normalized Cross-Correlation)や、差分絶対値和(SAD:Sum of Absolute Differences)、差の二乗和(SSD:Sum of Squared Difference)等を利用した手法を適用できる。
位置合わせ部125は、決定部124が決定した特徴点ペアに基づいて、二つの画像の位置合わせを実行する。たとえば、位置合わせ部125は、特徴点ペアの画像上の座標に基づいてホモグラフィ行列を算出し、一方の画像を、ホモグラフィ行列を用いて変換することで、画像の位置合わせを実行する。ただし、位置合わせに用いる手法は特に限定されない。
検出部126は、位置合わせ後の二つの画像の差分を検出する。たとえば、検出部126は、位置合わせ後の画像の画素値、たとえば輝度成分を比較して差分を検出する。ただし、差分検出に用いる手法は特に限定されない。検出した差分画像は、入出力部130を介して、クライアント200に送信することができる。
なお、ここで、受付部121、位置合わせ部125、検出部126は必ずしも必須ではなく、設けなくてもよい。
[実施例1に係る画像処理の流れ]
次に、図7を参照し、実施例1に係る画像処理サーバ100による画像処理の流れにつき説明する。図7は、実施例1に係る画像処理サーバ100による画像処理の処理手順の一例を示すフローチャートである。
まず、受付部121が、比較照合の対象となる二つの画像A(比較画像)、B(処理画像)を受け付ける(ステップS101)。受付部121は、受け付けた画像A、Bを抽出部122に送る。抽出部122は、受け取った画像A、Bのそれぞれから、特徴点を抽出する(ステップS102)。抽出部122は、たとえば、画像の各画素の輝度値や輝度変化の方向にもとづき、画像内の建物、道路、森林、敷地などの輪郭点や境界点を抽出する。
次に、作成部123は、抽出部122が抽出した特徴点各々について、特徴量マトリクスを作成する(ステップS103)。すなわち、作成部123は、特徴点を中心とする同心円のマトリクスを適用する。そして、作成部123は、マトリクスの各領域内の画素の輝度値を算出し、特徴点の画素の輝度値との差分を算出する。作成部123は、算出した差分を、各領域に対応づけて、特徴量マトリクスを作成する。
次に決定部124は、画像Bの特徴点から1の特徴点を選択する(ステップS104)。そして、決定部124は、選択した画像Bの特徴点の特徴量マトリクスと、画像Aの各特徴点の特徴量マトリクスと比較し、画像Aの各特徴点ごとに類似度を算出する(ステップS105)。そして、決定部124は、算出した類似度の中から最も高い類似度が算出された画像Aの特徴点を選択する(ステップS106)。次に決定部124は、選択した画像Aの特徴点の類似度が、所定値以上か否かを判定する(ステップS107)。選択した画像Aの特徴点の類似度が所定値未満である場合(ステップS107、否定)、決定部124は、ステップS104で選択した画像Bの特徴点を特徴点から除外する(ステップS108)。すなわち、当該特徴点の情報を特徴点記憶部112から削除する。
他方、選択した類似度が所定値以上である場合(ステップS107、肯定)、決定部124は、ステップS104で選択した画像Bの特徴点と、ステップS106で選択した画像Aの特徴点とが、特徴点ペアであると決定する(ステップS109)。そして、決定部124は、画像Bの特徴点全てについて特徴点ペアが決定したか否かを判定する(ステップS110)。まだペアが決定していない特徴点があると判定した場合(ステップS110、否定)、決定部124は、画像Bから次の特徴点を選択し(ステップS111)、ステップS105の処理に戻る。
他方、画像Bの特徴点全てについて特徴点ペアが決定したと判定した場合(ステップS110、肯定)、位置合わせ部125は、決定した特徴点ペアに基づいて位置合わせをおこなう(ステップS112)。そして、検出部126は、位置合わせ後の画像Aと画像Bとの差分を検出する(ステップS113)。そして検出した差分により構成される差分画像が、入出力部130から出力される(ステップS114)。これで処理を終了する。これが、画像処理サーバ100による画像処理の流れの一例である。
なお、ここでは、決定部124による処理の前に、作成部123が、画像A、Bの全ての特徴点について特徴量マトリクスを算出しておくものとした。しかし、作成部123は、画像Aの特徴量マトリクスのみを予め作成しておいてもよい。そして、決定部124が画像Bの特徴点を選択した後、作成部123が、選択された画像Bの特徴点の特徴量マトリクスを作成するものとしてもよい。また、決定部124が画像Bの特徴点を選択した後、決定部124が選択した画像Bの特徴点に対応する画素の近傍に存在する、画像Aの特徴点のみについて特徴量マトリクスを算出するものとしてもよい。このように構成することで処理量を減じることができる。ただし、画像A、Bの一方または両方に画像ずれが生じているために厳密な対照を行うことが好ましい場合は、画像Aの全ての特徴点について特徴量マトリクスを算出して比較する。
[実施例1の効果]
上述の通り、実施例1に係る画像処理サーバ100は、第1の画像および第2の画像の各々から特徴点を抽出する。そして、画像処理サーバ100は、第1および第2の画像の各々の特徴点について、当該特徴点を中心とする同心円のマトリクスの各領域に、当該領域内の画素の輝度値と特徴点の輝度値との差分に関する情報を対応づけて特徴量マトリクスを作成する。そして、画像処理サーバ100は、第1の画像の特徴点の特徴量マトリクスと、第2の画像の特徴点の特徴量マトリクスとを比較して、類似する特徴点ペアを決定する。このため、特徴点から所定の距離範囲内における輝度の分布を特徴量マトリクスに適切に反映することができる。したがって、画像の変化があった場合でも、適切に特徴点ペアを決定することができる。また、異なる時点で撮影した画像間に、季節の違いや天候の違い、日光の強さの違い等に起因したずれがある場合でも、特徴点ペアを正しく決定することができる。
また、実施例1に係る画像処理サーバ100は、第1の画像および第2の画像の各々から特徴点を抽出する。そして、画像処理サーバ100は、第1および第2の画像の各々の特徴点について、当該特徴点を中心とする同心円のマトリクスの各領域に、当該領域内の画素の輝度値と特徴点の輝度値との差分に関する情報を対応づけて特徴量マトリクスを作成する。そして、画像処理サーバ100は、第1の画像の特徴点の特徴量マトリクスと、第2の画像の特徴点の特徴量マトリクスとを比較して、類似する特徴点ペアを決定する。このため、画像の一部に影がかかる等の変化が生じている場合であっても、画像の全体的な明暗の傾向を特徴量マトリクスに表すことができ、画像の部分的な変動の影響による誤検出を防止することができる。したがって、異なる時点で撮影した画像間に画像の変化があった場合でも、特徴点ペアを正しく決定することができる。
なお、実施例1によれば、時間的に離れた2時点でそれぞれ撮影された、人工衛星や航空機により撮影された画像を比較し、差分を検出することで、変化が生じた地点を特定することができる。たとえば、実施例1によれば、違法に増改築された土地や建物、違法に伐採された森林や不法投棄などが行われている場所を特定することができる。また、かかる場所を画像上で特定したうえで、実際の場所を調査することができる。
上記実施例1では、画像処理サーバ100は、各特徴点につき一つの特徴量マトリクスを作成するものとした。しかし、画像処理サーバ100は、各特徴点につき複数の特徴量マトリクスを作成してもよい。特に、空中写真等の場合、画像の周辺部分に位置する対象物がゆがんで写っていることがある。このような場合であっても、正しく特徴点ペアを決定するには、特徴点の周辺画像の方向や縮尺を調整することが有効である。そこで、実施例2では、一方の画像の特徴点における特徴量マトリクスを所定角度回転させて、一つの特徴点につき、複数の回転角度に対応する複数の特徴量マトリクスを作成する。そして、一方の画像の一つの特徴点の複数の特徴量マトリクスと、他方の画像の特徴点の特徴量マトリクスとを比較することにより、特徴点ペアを決定する。また、実施例2では、一方の画像の特徴点に対して所定の比率で拡大縮小された複数のマトリクスを適用して、一つの特徴点につき複数の拡大縮小率に対応する複数の特徴量マトリクスを作成する。そして、一方の画像の一つの特徴点の複数の特徴量マトリクスと、他方の画像の特徴点の特徴量マトリクスとを比較することにより、特徴点ペアを決定する。
[実施例2に係る画像処理サーバ]
図8は、実施例2に係る画像処理サーバの構成の一例を示す図である。実施例2に係る画像処理サーバ400は、たとえば、クライアント200から同一の地点を異なる時点で撮影した二つの画像(たとえば、画像A、画像B)の入力を受ける。そして、画像処理サーバ400は、各画像から特徴点を抽出する。そして、画像処理サーバ400は、一方の画像(たとえば、画像A。以下適宜「比較画像」とも称する。)の特徴点各々の特徴量マトリクスを作成する。次に、画像処理サーバ400は、他方の画像(たとえば、画像B。以下適宜「処理画像」とも称する。)の特徴点を一つ選択して特徴量マトリクスを作成し、画像Aの特徴点の特徴量マトリクスと比較して類似度を算出する。
さらに画像処理サーバ400は、画像Bの特徴点の特徴量マトリクスを所定の角度だけ回転させて、画像Aの特徴点の特徴量マトリクスと比較して類似度を算出する。たとえば、特徴量マトリクスが周方向に8領域に区分されている場合、画像処理サーバ400は、画像Bの特徴点の特徴量マトリクスを45度ずつ回転させて、全部で8つの特徴量マトリクスを作成する。画像処理サーバ400は、作成した8つの特徴量マトリクス各々と、画像Aの特徴点の特徴量マトリクスとを比較する。
さらに、画像処理サーバ400は、画像Bの特徴点に対して、所定の比率で拡大縮小した複数のマトリクスを適用して、複数の特徴量マトリクスを作成する。たとえば、画像処理サーバ400は、適用するマトリクスを0.8倍、1.2倍等の拡大縮小率で拡大縮小する。そして、画像処理サーバ400は、拡大縮小したマトリクスを適用して複数の特徴量マトリクスを作成する。
画像処理サーバ400は、画像Bの特徴点について作成した複数の特徴量マトリクスと、画像Aの特徴点の特徴量マトリクスとを比較して類似度を算出する。画像処理サーバ400は、算出した類似度が高い特徴点の対を特徴点ペアとして決定する。そして、画像処理サーバ400は、位置合わせおよび差分検出処理を実行して、差分画像を出力する。
図8を参照し、実施例2に係る画像処理サーバ400の構成を説明する。画像処理サーバ400は、記憶部410、制御部420および入出力部430を備える。画像処理サーバ400は、ネットワーク300を介してクライアント200と接続される。クライアント200は、たとえばモニタ201を備える。
記憶部410は、画像記憶部411、特徴点記憶部412、マトリクス記憶部413およびペア記憶部414を備える。また、制御部420は、受付部421、抽出部422、作成部423、決定部424、位置合わせ部425、検出部426を備える。これら各部の機能は、実施例1と共通する部分については、実施例1に係る画像処理サーバ100の各部と同様である。ただし、実施例2に係る画像処理サーバ400は、記憶部410が、設定記憶部415を備え、マトリクス記憶部413が第1マトリクス記憶部413aと第2マトリクス記憶部413bとを備える点で、実施例1と異なる。設定記憶部415はさらに、回転角記憶部415aと、拡大縮小率記憶部415bとを備える。また、マトリクス記憶部413に記憶される情報の構成が、実施例1のマトリクス記憶部113に記憶される情報の構成と異なる。さらに、実施例2に係る画像処理サーバ400は、作成部423が、回転部423aと拡大縮小部423bとを備える点で、実施例1と異なる。また、実施例2に係る画像処理サーバ400は、制御部420が、設定部427を備える点で、実施例1と異なる。以下、実施例1と相違する点を説明し、同様の機能についての説明は省略する。
[設定記憶部に記憶される情報]
実施例2に係る画像処理サーバ400は、各特徴点に適用するマトリクスを所定の比率で拡大縮小して、複数の特徴量マトリクスを作成する。また、画像処理サーバ400は、作成した複数の特徴量マトリクスを所定の回転角度で回転させて、さらに特徴量マトリクスを作成する。かかる処理を実現するため、実施例2に係る画像処理サーバ400の記憶部410には、設定記憶部415が設けられている。たとえば、設定記憶部415は、回転角記憶部415aと拡大縮小率記憶部415bとを有する。
回転角記憶部415aは、回転処理に用いる情報を記憶する。図9は、回転角記憶部415aに記憶される情報の構成の一例を示す図である。たとえば、回転角記憶部415aは、特徴量マトリクスを回転させる回数と、回転させる角度およびその時点で適用されている回数を示すフラグを記憶する。図9の例では、「回転数」、「回転角度」、「フラグ」が記憶される。たとえば、回転数「8」に対応付けて、回転角度「0°,45°,90°,135°,180°,225°,270°,315°」が記憶されている。また、この時点で回転数「8」が適用されていることを示すフラグが記憶されている。図9の例では、ユーザが手動で回転数および回転角度を設定することができるよう、最下段に「回転数:任意(手動設定)」のボックスを設けている。ユーザが手動で回転数および回転角度を設定した場合は、最下段の空白のボックスに設定した回数および設定した角度が記憶される。
なお、回転数および回転角度は、特徴量マトリクスの周方向の領域数と対応させてよい。たとえば、特徴量マトリクスの周方向の領域が8つであれば、回転数も8つとし、回転角度は45度ずつ増加させるものとすればよい。このように、特徴量マトリクスの領域数と連動させる場合には、回転角記憶部415aを設けない構成としてもよい。
また、実施例2では、回転角記憶部415aに記憶された情報に基づいて、回転角度を変更することができる例を示すが、画像処理サーバ400において適用できる回転角度および回転数を固定にして、回転角記憶部415aを設けないものとすることもできる。
拡大縮小率記憶部415bは、特徴量マトリクス作成のため特徴点に適用するマトリクスを拡大縮小する際の、拡大縮小率を記憶する。図10は、拡大縮小率記憶部415bに記憶される情報の構成の一例を示す図である。たとえば、拡大縮小率記憶部415bは、画像の種類に対応付けて、拡大縮小率と、拡大縮小回数と、その時点で適用されている拡大縮小率を示すフラグとを記憶する。たとえば、図10に示すように、画像の種類「衛星画像」に対応づけて、拡大縮小率「0.8,1.0,1.2」が記憶される。さらに、この場合の拡大縮小回数である「3」が記憶される。さらに、この時点で「衛星画像」の拡大縮小率が適用されていることを示すフラグが記憶されている。拡大縮小率記憶部415bは、予め画像の種類に対応付けて拡大縮小率を記憶するが、ユーザが拡大縮小率を任意に設定することもできる。図10の最下段に示すように、ユーザが拡大縮小率を任意に設定した場合は、空白のボックスに拡大縮小率が記憶され、フラグが設定される。
なお、実施例2では、拡大縮小率記憶部415bに記憶された情報に基づいて、拡大縮小率を変更することができる例を示すが、画像処理サーバ400において適用できる拡大縮小率を固定にして、拡大縮小率記憶部415bを設けないこともできる。
[特徴量マトリクス記憶部に記憶される情報]
次に、実施例2のマトリクス記憶部413に記憶される情報の一例について説明する。マトリクス記憶部413が備える第1マトリクス記憶部413aおよび第2マトリクス記憶部413bのうち、第1マトリクス記憶部413aに記憶される情報は、図4の例と同様である。第1マトリクス記憶部413aには、比較画像の特徴量マトリクスが、図4の例と同様の構成で記憶される。
図11は、第2マトリクス記憶部413bに記憶される情報の構成の一例を示す図である。実施例2の画像処理サーバ400は、処理画像の特徴点各々について複数の特徴量マトリクスを作成する。そこで、第2マトリクス記憶部413bは、実施例1のマトリクス記憶部113のように、各特徴点について一つの特徴量マトリクスの情報を記憶するのではなく、各特徴点について複数の特徴量マトリクスの情報を記憶する。特に、第2マトリクス記憶部413bは、画像IDおよび特徴点IDに対応づけて、「マトリクスID」、「回転角」「拡大縮小率」を記憶する。そして、第2マトリクス記憶部413bはさらに、当該マトリクスIDで特定される特徴量マトリクスの情報として、「マトリクスセグメントID」に対応づけて「輝度値」「輝度差」「輝度差レベル」を記憶する。この点は図4の例と同様である。
図11の例では、たとえば画像ID「001」、特徴点ID「FP001」に対応付けて、マトリクスID「M00101」、回転角「0°」、拡大縮小率「1.0」が記憶されている。そして、実施例1と同様、マトリクスセグメントIDで特定される領域の輝度値、輝度差、輝度差レベルが記憶される。さらに、マトリクスID「M00102」に対応づけて、回転角「0°」、拡大縮小率「0.8」の特徴量マトリクスの情報が記憶されている。
決定部424が、一つの特徴点(「FP001」)を選択すると、作成部423は、回転処理および拡大縮小処理を実行して複数の特徴量マトリクスを作成する。図11の例の場合、まず、決定部424は、特徴点ID「FP001」を選択する。そして、作成部423の回転部423aは、回転角記憶部415aに記憶された回転角度と回転回数にもとづき、回転処理を実行する。図9の例の場合、まず、回転部423aは、回転角度「0°」を適用する。そして、最初は拡大縮小部423bによる拡大縮小処理はおこなわずに、作成部423は特徴量マトリクスを作成する。この場合、第2マトリクス記憶部413bには、回転角「0°」、拡大縮小率「1.0」に対応づけて特徴量マトリクスの情報が記憶される。
回転部423aにより8種類の回転角度の回転処理が終わると、次に拡大縮小部423bは、特徴点に適用するマトリクスを拡大縮小する。図10の例の場合、拡大縮小率「0.8、1.0、1.2」が選択されているため、拡大縮小部423bは、次の拡大縮小率、たとえば、「0.8」を適用して、マトリクスを縮小する。そして、作成部423は、縮小したマトリクスを適用して、特徴量マトリクスを作成する。この場合、第2マトリクス記憶部413bには、回転角「0°」、拡大縮小率「0.8」に対応づけて特徴量マトリクスの情報が記憶される。なお、特徴量マトリクスの作成順序や記憶順序は特に限定されない。
このように、実施例2の第2マトリクス記憶部413bは、その時点で適用されている回転数および拡大縮小率(図9、図10参照)に応じて、一つの特徴点につき複数の特徴量マトリクスの情報を記憶する。たとえば、拡大縮小率記憶部415bにおいて、拡大縮小率「0.8、1.0、1.2」にフラグが設定されており、回転角記憶部415aにおいて、回転数「8」にフラグが設定されているとする。その場合、一つの特徴点について、合計24個の特徴量マトリクスが作成され、その情報が第2マトリクス記憶部413bに記憶されることになる。
[制御部420の構成]
次に、図8に戻って、制御部420の各部を説明する。受付部421、抽出部422、位置合わせ部425および検出部426の動作は、実施例1に係る受付部121、抽出部122、位置合わせ部125および検出部126と同様である。よって、これらの各部については、ここでは詳細な説明は省略する。
実施例2の画像処理サーバ400は、作成部423、決定部424が、実施例1の作成部123、決定部124と異なる。また、実施例2の画像処理サーバ400は、設定部427を備える点で、実施例1と異なる。
設定部427は、入出力部430を介して、クライアント200から入力される特徴量マトリクスの設定を行う。たとえば、所定のコマンドをクライアント200のモニタ201から入力することで、モニタ201に入力画面が表示され、ユーザは、モニタ201から設定を入力する。設定部427は、設定の入力があると、入力された内容を、回転角記憶部415aおよび拡大縮小率記憶部415bに設定する。たとえば、該当する回転数および画像種類にフラグが設定される。または、ユーザが任意の数値を入力した場合は、空白のボックスに数値が設定され、当該ボックスにフラグが設定される。なお、設定の入力を待たず、デフォルトで拡大縮小率および回転角が設定されるものとしてもよい。また、画像処理サーバ400における処理の結果として、拡大縮小率および回転角が設定されるものとしてもよい。
作成部423は、拡大縮小率記憶部415bおよび回転角記憶部415aに記憶される情報に基づき、各特徴点の特徴量マトリクスを作成する。すなわち、回転部423aは、回転角記憶部415aに記憶された回転角に基づいて、特徴量マトリクスを回転させる。拡大縮小部423bは、拡大縮小率記憶部415bに記憶された拡大縮小率に基づいて、特徴点に適用するマトリクスを拡大縮小する。回転部423aおよび拡大縮小部423bによる回転処理および拡大縮小処理を経て作成部423が作成した特徴量マトリクスの情報は、マトリクス記憶部413に記憶される。回転処理および拡大縮小処理についてはさらに詳しく後述する。
決定部424は、作成部423が作成した各特徴点の複数の特徴量マトリクスを、比較画像の各特徴点の特徴量マトリクスと比較して類似度を算出する。そして、決定部424は、最も高い類似度の値が所定値以上か否かを判定する。そして、所定値未満であれば、決定部424は、当該特徴点は特徴点ではないものとして以後の処理対象から除外する。つまり、決定部424は、特徴点記憶部412から、当該特徴点の情報を削除する。他方、所定値以上であれば、決定部424は、当該特徴点と当該類似度を有する特徴点をペアとして決定する。
[回転処理]
次に、回転部423aによる回転処理の詳細につきさらに説明する。回転部423aは、作成部423が作成した特徴量マトリクスを所定角度回転させて、一つの特徴点について、所定の拡大縮小率における複数の特徴量マトリクスを作成する。たとえば、拡大縮小率「0.8」の画像から作成された特徴量マトリクスを、8つの異なる回転角度で回転させて、8種類の特徴量マトリクスを作成する。
回転部423aにより作成される特徴量マトリクスの例を、図12を参照して説明する。図12は、回転部423aにより作成される特徴量マトリクスを説明するための図である。比較画像の特徴点が、図12の(A)に示す特徴量マトリクスを有するとする。そして、処理画像の特徴点が、図12の(B)に示す特徴量マトリクスを有するとする。この場合、回転部423aは、処理画像の特徴点の特徴量マトリクスを45度ずつ回転させて、8つの特徴量マトリクス(B)〜(I)を作成する。決定部424は、(B)〜(I)の特徴量マトリクスそれぞれを、比較画像の特徴量マトリクス(A)と比較して類似度を計算する。
[拡大縮小処理]
次に、拡大縮小処理の詳細につき説明する。拡大縮小部423bは、特徴点に適用するマトリクスを所定の拡大縮小率で拡大縮小する。作成部423は、拡大縮小部423bによる拡大縮小後のマトリクスを適用して、各特徴点の特徴量マトリクスを作成する。
[縮小率および拡大率の設定]
図13は、拡大縮小処理での縮小率について説明するための図である。図13に示すように、特徴量マトリクスの半径をR(Rは画素数で示す)、半径方向の領域数をNとする。ここで、半径Rが、領域数Nよりも小さい場合、半径方向の1領域が1画素に満たないことになる。そこで、拡大縮小部423bは、縮小率を、半径方向の1領域が1画素以上となるように設定する。すなわち、縮小率pの最大値は、p=N/Rとする。
拡大縮小部423bは、拡大率qを画像の大きさを元に算出する。図14−1および図14−2は、拡大縮小処理での拡大率について説明するための図である。図14−1に示すように、拡大縮小部423bは、拡大縮小率を、特徴量マトリクスが画像の縦横の長さを超えるような数値に設定することはできない。たとえば、図14−1に示すように、画像の縦方向長さをW、横方向長さをHとする。このとき、特徴点が図14−1の座標「(x,y)」で表される位置にある場合、特徴量マトリクスの半径を、特徴点から画像上端までの距離より長く設定することはできない。また、特徴点が図14−1の座標「(x,y)」で表される位置にある場合、特徴量マトリクスの半径を、特徴点から画像右端までの距離より長く設定することはできない。したがって、拡大縮小部423bは、特徴点の座標の位置に応じて、設定できる特徴量マトリクスの拡大率を決定することができる。
拡大率qは、特徴点の位置が、図14−2に示す位置(1)〜(4)のいずれの位置にあるかによって、以下の式に基づいて決定することができる。
特徴点が、図14−2の位置(1)にある場合は、xがyよりも大きければ、q=x/Rとなる。また、xよりyが小さければ、q=y/Rとなる。
特徴点が、図14−2の位置(2)にある場合は、(W−x)よりyが大きければ、q=(W−x)/Rとなる。また、(W−x)よりyが小さければ、q=y/Rとなる。
特徴点が、図14−2の位置(3)にある場合は、xより(H−y)が大きければ、q=x/Rとなる。また、xより(H−y)が小さければ、q=(H−y)/Rとなる。
特徴点が、図14−2の位置(4)にある場合は、(W−x)より(H−y)が大きければ、q=(W−x)/Rとなる。また、(W−x)より(H−y)が小さければ、q=(H−y)/Rとなる。
このように、拡大率および縮小率を設定することができる。しかし、拡大縮小による変化の幅が最大となるように拡大率および縮小率を設定した場合、処理量が多くなり、画像処理サーバ400の負担も増加する。したがって、画像間で拡大率に大きな変動がない衛星画像等の場合には、拡大縮小の幅を0.8倍から1.2倍に設定することで、処理量の増加を抑制してもよい。また、適用する画像の種類に応じて、予め拡大縮小率を設定しておいてもよい。
[実施例2に係る画像処理の流れ]
図15を参照して、実施例2に係る画像処理サーバ400における処理手順の一例につき説明する。図15は、実施例2に係る画像処理サーバの画像処理の処理手順の一例を示すフローチャートである。
まず、設定部427は、拡大縮小率および回転角を設定する(ステップS201)。次に、受付部421は、二つの画像(画像A、B)の入力を受け付ける(ステップS202)。そして、抽出部422は、二つの画像A、Bから特徴点を抽出する(ステップS203)。そして、作成部423は、二つの画像のうち比較対象となる画像A(比較画像)の特徴点の各々について、回転処理および拡大縮小処理は行わずに、一つずつ特徴量マトリクスを作成する(ステップS204)。
次に、決定部424は、特徴量マトリクスを作成していない方の画像B(処理画像)の特徴点を一つ選択する(ステップS205)。作成部423は、画像Bの選択された特徴点について、拡大縮小部423bおよび回転部423aにおける拡大縮小処理および回転処理を経て、特徴量マトリクスを作成する(ステップS206)。そして、決定部424は、作成部423が作成した画像Bの特徴点の特徴量マトリクスを、画像Aの特徴点各々の特徴量マトリクスと比較して類似度を算出する(ステップS207)。
次に、決定部424は、回転部423aが特徴量マトリクスを回転角記憶部415aに記憶された所定の回転数だけ回転させたか否かを判定する(ステップS208)。所定の回転数の回転が完了していないと判定した場合(ステップS208、否定)、決定部424は、処理を作成部423に戻す。回転部423aはさらに、所定角度だけ特徴量マトリクスを回転させる(ステップS209)。そして、再び、決定部424が、類似度を算出して記憶部410に格納する(ステップS207)。
所定の回転数の回転が完了していると判定した場合(ステップS208、肯定)、決定部424は、拡大縮小率記憶部415bに記憶されている拡大縮小率に対応する拡大縮小処理が完了したか否かを判定する(ステップS210)。拡大縮小処理が完了していないと判定した場合(ステップS210、否定)、決定部424は、処理を作成部423に戻す。拡大縮小部423bは完了していない拡大縮小率による特徴量マトリクスの拡大縮小処理を実行する(ステップS211)。そして、作成部423は、拡大縮小処理後の特徴量マトリクスを元に、選択されている画像Bの特徴点の特徴量マトリクスを作成する(ステップS206)。決定部424は、作成された画像Bの特徴点の特徴量マトリクスをもとに、類似度を算出する(ステップS207)。そして、再び、作成部423は、所定回数の回転処理が完了したか否かを判定する(ステップS208)。
他方、ステップS210において拡大縮小処理が完了したと判定した場合(ステップS210、肯定)、決定部424は、算出した類似度のうち最も高い類似度が算出された画像Aの特徴点を選択する(ステップS212)。次に、決定部424は、選択した画像Aの特徴点の類似度が所定値以上か否かを判定する(ステップS213)。所定値未満と判定した場合(ステップS213、否定)、決定部424は、ステップS205で選択した画像Bの特徴点を除外する(ステップS214)。すなわち、画像Bについて特徴点記憶部412に記憶された特徴点の情報から、当該特徴点の情報を削除する。他方、所定値以上と判定した場合(ステップS213、肯定)、決定部424は、ステップS212で選択した画像Aの特徴点と、ステップS206で選択した画像Bの特徴点とをペアとして決定する(ステップS215)。
そして、決定部424は、処理画像の全ての特徴点についてペアが決定したか否かを判定する(ステップS216)。全ての特徴点についてペアが決定していないと判定した場合(ステップS216、否定)、決定部424は次の特徴点を選択し(ステップS217)、ステップS206の処理に戻る。他方、全ての特徴点についてペアが決定したと判定した場合(ステップS216、肯定)、位置合わせ部425が、決定した特徴点ペアに基づいて画像の位置合わせをおこなう(ステップS218)。次に、位置合わせ後の二つの画像に基づいて、検出部426が差分を検出する(ステップS219)。検出した差分から構成される差分画像は、入出力部430を介して出力される(ステップS220)。これによって処理が終了する。
[実施例2の効果]
上述の通り、実施例2に係る画像処理サーバ400は、第1の画像および第2の画像のうち、第1の画像の特徴点における特徴量マトリクスを所定角度回転させて、一つの特徴点につき、複数の回転角度に対応する複数の特徴量マトリクスを作成する。そして、画像処理サーバ400は、第1の画像の特徴点の複数の特徴量マトリクス各々と、第2の画像の特徴点の特徴量マトリクスとを比較し、類似する特徴点ペアを決定する。このため、画像の変化があった場合でも、適切に特徴点ペアを決定することができる。また、二つの画像の一部に、回転方向にずれた部分が存在していても、対応する箇所を正しく抽出し、適正に特徴点ペアを決定することができる。
また、上述の通り、また、実施例2に係る画像処理サーバ400は、第1の画像および第2の画像のうち、第1の画像の特徴点に対して所定の比率で拡大縮小された複数のマトリクスを適用する。そして、画像処理サーバ400は、一つの特徴点につき、複数の拡大縮小率に対応する複数の特徴量マトリクスを作成する。そして、画像処理サーバ400は、第1の画像の特徴点の複数の特徴量マトリクス各々と、第2の画像の特徴点の特徴量マトリクスとを比較し、類似する特徴点ペアを決定する。このため、画像の変化があった場合でも、適切に特徴点ペアを決定することができる。また、比較する画像間で部分的に縮尺のずれが生じていても、適切に比較を行って特徴点ペアを決定することができる。
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
[回転および拡大縮小の省略等]
上述した実施例2においては、特徴点全てについて、回転角度を変えて複数の特徴量マトリクスを算出し、または特徴点全てについて、異なる拡大縮小率の複数の特徴量マトリクスを作成するものとして説明した。しかし、いくつかの特徴点について回転角度および拡大縮小率を変動させて比較を行った結果、類似度が高い回転角度および/または拡大縮小率を決定することができる場合もある。そのような場合には、他の特徴点については同じ角度および/または同じ拡大縮小率の特徴量マトリクスのみを作成し、類似度を算出するものとしてもよい。
また、実施例2は、回転処理および拡大縮小処理を行うものとして説明したが、回転処理および拡大縮小処理のいずれか一方を実行するようにしてもよい。
[画像処理サーバ]
開示の画像処理方法は、クラウドシステムを構成する画像処理サーバに実装し、クラウドシステムを介してユーザから送信される画像の処理に適用することができる。たとえば、衛星写真システムや航空写真システムから随時提供される写真のデータを、クラウドシステムのサーバに格納する。ユーザは、画像に撮影地点の情報を添付して送信する。また、ユーザは、撮影地点ごとに検出したい対象物を特定し、また、変化の有無を検出するための処理を行う間隔を指定する。画像処理サーバは、開示の画像処理を行うことにより特徴点ペアを決定し、画像の位置合わせおよび差分検出を行う。このように構成することで、ユーザは、クラウドシステムに画像のデータを送信するだけで、所望の期間ごとに、同一地点においてどのような変化があったかを容易に確認することができる。
[分散および統合]
図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。たとえば、図1に示したモニタ201を画像処理サーバ100に組み入れ、画像処理サーバ100においてモニタに画像等を出力し確認することができるように構成してもよい。また、記憶部110について、画像記憶部111、特徴点記憶部112、ペア記憶部114を統合して一つの記憶部として構成してもよいし、画像記憶部111を外部メモリとして、ネットワーク300により画像処理サーバ100に接続される構成にしてもよい。
[画像処理プログラム]
また、上記の実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図16を用いて、上記の実施例と同様の機能を有する画像処理プログラムを実行するコンピュータの一例について説明する。
図16は、実施例1〜3に係る画像処理プログラムを実行するコンピュータの一例について説明するための図である。図16に示すように、コンピュータ1000は、操作部1100と、ディスプレイ1200と、通信部1300とを有する。さらに、このコンピュータ1000は、CPU1400と、ROM1500と、RAM1600と、HDD(Hard Disk Drive)1700とを有する。これら1100〜1700の各部はバス1800を介して接続される。
HDD1700には、図16に示すように、上記の実施例1で示した受付部121、抽出部122と同様の機能を発揮する画像処理プログラム1700a等が予め記憶される。さらに、HDD1700には、上記の実施例1で示した作成部123、決定部124、位置合わせ部125および検出部126と同様の機能を発揮する画像処理プログラム1700a等が予め記憶される。この画像処理プログラム1700aについては、図1および図8に示した各々の各構成要素と同様、適宜統合または分離してもよい。すなわち、HDD1700に格納される各データは、常に全てのデータがHDD1700に格納される必要はなく、処理に必要なデータのみがHDD1700に格納されればよい。
そして、CPU1400が、画像処理プログラム1700aをHDD1700から読み出してRAM1600に展開する。これによって、図16に示すように、画像処理プログラム1700aは、画像処理プロセス1600aとして機能する。この画像処理プロセス1600aは、HDD1700から読み出した各種データを適宜RAM1600上の自身に割り当てられた領域に展開し、この展開した各種データに基づいて各種処理を実行する。なお、画像処理プロセス1600aは、たとえば図1に示した受付部121、抽出部122、作成部123、決定部124、位置合わせ部125および検出部126にて実行される処理、たとえば、図7に示す処理を含む。また、CPU1400上で仮想的に実現される各処理部は、常に全ての処理部がCPU1400上で動作する必要はなく、処理に必要な処理部のみが仮想的に実現されればよい。
なお、上記の画像処理プログラム1700aについては、必ずしも最初からHDD1700やROM1500に記憶させておく必要はない。たとえば、コンピュータ1000に挿入されるフレキシブルディスク、CD−ROM(Compact Disc Read Only Memory)などの「可搬用の物理媒体」に各プログラムを記憶させる。また、たとえば、DVD(Digital Versatile Disc)ディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させる。そして、コンピュータ1000がこれらの可搬用の物理媒体から各プログラムを取得して実行するようにしてもよい。また、公衆回線、インターネット、LAN、WAN(Wide Area Network)などを介してコンピュータ1000に接続される他のコンピュータまたはサーバ装置などに各プログラムを記憶させてもよい。そして、コンピュータ1000がこれらから各プログラムを取得して実行するようにしてもよい。
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)第1の画像および第2の画像の各々から特徴点を抽出する抽出部と、
前記第1および第2の画像の各々の特徴点について、該特徴点を中心とする同心円のマトリクスの各領域に、当該領域内の画素の輝度値と前記特徴点の輝度値との差分に関する情報を対応づけた特徴量マトリクスを作成する作成部と、
前記第1の画像の特徴点の特徴量マトリクスと、前記第2の画像の特徴点の特徴量マトリクスとを比較し、類似する特徴点ペアを決定する決定部と、
を備えることを特徴とする画像処理装置。
(付記2)前記作成部は、前記第1の画像の特徴点における前記特徴量マトリクスを所定角度回転させて、一つの特徴点につき、複数の回転角度に対応する複数の特徴量マトリクスを作成し、
前記決定部は、前記第1の画像の特徴点の複数の特徴マトリクス各々と、前記第2の画像の特徴点の特徴量マトリクスとを比較し、類似する特徴点ペアを決定することを特徴とする、付記1に記載の画像処理装置。
(付記3)前記作成部は、前記第1の画像の特徴点に対して所定の比率で拡大縮小された複数のマトリクスを適用して、一つの特徴点につき、複数の拡大縮小率に対応する複数の特徴量マトリクスを作成し、
前記決定部は、前記第1の画像の特徴点の複数の特徴マトリクス各々と、前記第2の画像の特徴点の特徴量マトリクスとを比較し、類似する特徴点ペアを決定することを特徴とする、付記1又は2に記載の画像処理装置。
(付記4)画像処理サーバによって実行される画像処理方法であって、
記憶部に記憶された第1の画像および第2の画像の各々から特徴点を抽出し、
前記第1および第2の画像の各々の特徴点について、該特徴点を中心とする同心円のマトリクスの各領域に、当該領域内の画素の輝度値と前記特徴点の輝度値との差分に関する情報を対応づけた特徴量マトリクスを作成し、
前記第1の画像の特徴点の特徴量マトリクスと、前記第2の画像の特徴点の特徴量マトリクスとを比較し、類似する特徴点ペアを決定する
ことを特徴とする画像処理方法。
(付記5)前記第1の画像の特徴点における前記特徴量マトリクスを所定角度回転させて、一つの特徴点につき、複数の回転角度に対応する複数の特徴量マトリクスを作成し、
前記第1の画像の特徴点の複数の特徴量マトリクス各々と、前記第2の画像の特徴点の特徴量マトリクスとを比較し、類似する特徴点ペアを決定することを特徴とする、付記4に記載の画像処理方法。
(付記6)前記第1の画像の特徴点に対して所定の比率で拡大縮小された複数のマトリクスを適用して、一つの特徴点につき、複数の拡大縮小率に対応する複数の特徴量マトリクスを作成し、
前記第1の画像の特徴点の複数の特徴マトリクス各々と、前記第2の画像の特徴点の特徴量マトリクスとを比較し、類似する特徴点ペアを決定することを特徴とする、付記4又は5に記載の画像処理方法。
(付記7)記憶部に記憶された第1の画像および第2の画像の各々から特徴点を抽出し、
前記第1および第2の画像の各々の特徴点について、該特徴点を中心とする同心円のマトリクスの各領域に、当該領域内の画素の輝度値と前記特徴点の輝度値との差分に関する情報を対応づけた特徴量マトリクスを作成し、
前記第1の画像の特徴点の特徴量マトリクスと、前記第2の画像の特徴点の特徴量マトリクスとを比較し、類似する特徴点ペアを決定する、
各処理をコンピュータに実行させることを特徴とする画像処理プログラム。
(付記8)前記第1の画像の特徴点における前記特徴量マトリクスを所定角度回転させて、一つの特徴点につき、複数の回転角度に対応する複数の特徴量マトリクスを作成し、
前記第1の画像の特徴点の複数の特徴量マトリクス各々と、前記第2の画像の特徴点の特徴量マトリクスとを比較し、類似する特徴点ペアを決定する処理をさらにコンピュータに実行させることを特徴とする、付記7に記載の画像処理プログラム。
(付記9)前記第1の画像の特徴点に対して所定の比率で拡大縮小された複数のマトリクスを適用して、一つの特徴点につき、複数の拡大縮小率に対応する複数の特徴量マトリクスを作成し、
前記第1の画像の特徴点の複数の特徴マトリクス各々と、前記第2の画像の特徴点の特徴量マトリクスとを比較し、類似する特徴点ペアを決定する処理をさらにコンピュータに実行させることを特徴とする、付記7又は8に記載の画像処理プログラム。
100 画像処理サーバ
110 記憶部
111 画像記憶部
112 特徴点記憶部
113 マトリクス記憶部
114 ペア記憶部
120 制御部
121 受付部
122 抽出部
123 作成部
124 決定部
125 位置合わせ部
126 検出部
130 入出力部
200 クライアント
201 モニタ
300 ネットワーク
413a 第1マトリクス記憶部
413b 第2マトリクス記憶部
415a 回転角記憶部
415b 拡大縮小率記憶部
423a 回転部
423b 拡大縮小部
427 設定部

Claims (5)

  1. 第1の画像および第2の画像の各々から特徴点を抽出する抽出部と、
    前記第1および第2の画像の各々の特徴点について、該特徴点を中心とする同心円のマトリクス、および少なくとも一方の画像におけるマトリクスを1または複数の所定の比率で拡大および/または縮小した各領域に、当該領域内の画素の輝度値と前記特徴点の輝度値との差分に関する情報を対応づけた特徴量マトリクスを作成する作成部と、
    前記第1の画像に含まれる特徴点に対応する1または複数の特徴量マトリクスと、前記第2の画像に含まれる特徴点に対応する1または複数の特徴量マトリクスとを比較し、類似する特徴点ペアを決定する決定部と、
    を備えることを特徴とする画像処理装置。
  2. 前記作成部は、前記画像内における前記特徴点の位置に応じた制限の範囲で前記マトリクスの拡大および/または縮小を行うことを特徴とする請求項1に記載の画像処理装置。
  3. 前記作成部は、前記第1の画像の特徴点における前記特徴量マトリクスを所定角度回転させて、一つの特徴点につき、1または複数の回転角度に対応する複数の特徴量マトリクスを作成し、
    前記決定部は、前記第1の画像の特徴点における前記特徴量マトリクスを所定角度回転させて、一つの特徴点につき、1または複数の角度に対応する特徴量マトリクスとを比較し、類似する特徴点ペアを決定することを特徴とする、請求項1または2に記載の画像処理装置。
  4. 画像処理装置によって実行される画像処理方法であって、
    記憶部に記憶された第1の画像および第2の画像の各々から特徴点を抽出し、
    前記第1および第2の画像の各々の特徴点について、該特徴点を中心とする同心円のマトリクス、および少なくとも一方の画像におけるマトリクスを1または複数の所定の比率で拡大および/または縮小した各領域に、当該領域内の画素の輝度値と前記特徴点の輝度値との差分に関する情報を対応づけた特徴量マトリクスを作成し、
    前記第1の画像に含まれる特徴点に対応する1または複数の特徴量マトリクスと、前記第2の画像に含まれる特徴点に対応する1または複数の特徴量マトリクスとを比較し、類似する特徴点ペアを決定する
    ことを特徴とする画像処理方法。
  5. 記憶部に記憶された第1の画像および第2の画像の各々から特徴点を抽出し、
    前記第1および第2の画像の各々の特徴点について、該特徴点を中心とする同心円のマトリクス、および少なくとも一方の画像におけるマトリクスを1または複数の所定の比率で拡大および/または縮小した各領域に、当該領域内の画素の輝度値と前記特徴点の輝度値との差分に関する情報を対応づけた特徴量マトリクスを作成し、
    前記第1の画像に含まれる特徴点に対応する1または複数の特徴量マトリクスと、前記第2の画像に含まれる特徴点に対応する1または複数の特徴量マトリクスとを比較し、類似する特徴点ペアを決定する、
    各処理をコンピュータに実行させることを特徴とする画像処理プログラム。
JP2012078295A 2012-03-29 2012-03-29 画像処理装置、画像処理方法および画像処理プログラム Expired - Fee Related JP5867237B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012078295A JP5867237B2 (ja) 2012-03-29 2012-03-29 画像処理装置、画像処理方法および画像処理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012078295A JP5867237B2 (ja) 2012-03-29 2012-03-29 画像処理装置、画像処理方法および画像処理プログラム

Publications (2)

Publication Number Publication Date
JP2013206430A JP2013206430A (ja) 2013-10-07
JP5867237B2 true JP5867237B2 (ja) 2016-02-24

Family

ID=49525383

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012078295A Expired - Fee Related JP5867237B2 (ja) 2012-03-29 2012-03-29 画像処理装置、画像処理方法および画像処理プログラム

Country Status (1)

Country Link
JP (1) JP5867237B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6474210B2 (ja) * 2014-07-31 2019-02-27 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 大規模画像データベースの高速検索手法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2723174B2 (ja) * 1994-12-02 1998-03-09 工業技術院長 異種センサ画像間レジストレーション補正方法
JP2004012429A (ja) * 2002-06-11 2004-01-15 Mitsubishi Heavy Ind Ltd 自己位置/姿勢同定装置、及び自己位置/姿勢同定方法
JP2011107878A (ja) * 2009-11-16 2011-06-02 Seiko Epson Corp 位置検出装置、位置検出方法
JP5338643B2 (ja) * 2009-12-07 2013-11-13 株式会社豊田中央研究所 画像特徴抽出装置、画像処理装置、及びプログラム

Also Published As

Publication number Publication date
JP2013206430A (ja) 2013-10-07

Similar Documents

Publication Publication Date Title
JP5919963B2 (ja) 画像処理装置、画像処理方法および画像処理プログラム
US11006104B2 (en) Collaborative sighting
US10593014B2 (en) Image processing apparatus, image processing system, image capturing system, image processing method
US9723203B1 (en) Method, system, and computer program product for providing a target user interface for capturing panoramic images
US9900505B2 (en) Panoramic video from unstructured camera arrays with globally consistent parallax removal
US8761457B1 (en) Aligning ground based images and aerial imagery
US10055885B2 (en) Systems and methods for digital elevation map filters for three dimensional point clouds
US11238647B2 (en) Apparatus for building map using machine learning and image processing
JP2016151955A (ja) 画像処理装置、撮像装置、距離計測装置、および画像処理方法
KR102195051B1 (ko) 드론의 영상 정보를 이용한 공간 정보 생성 시스템 및 방법과, 이를 위한 컴퓨터 프로그램
US20210398258A1 (en) Voronoi Cropping of Images for Post Field Generation
CN111598777A (zh) 天空云图的处理方法、计算机设备和可读存储介质
KR101324250B1 (ko) 영상 처리를 통한 광축 오차 보상 방법 및 시스템, 광축 오차 보상 기능이 구현된 줌 카메라
KR102061152B1 (ko) 증강현실 서비스 제공 시스템 및 이의 360도 회전 이미지 파일 생성 방법
US10380719B2 (en) Device and method for generating panorama image
JP5867237B2 (ja) 画像処理装置、画像処理方法および画像処理プログラム
JP2013206431A (ja) 画像処理装置、画像処理方法および画像処理プログラム
CN109429008A (zh) 图像处理装置、信息处理系统、信息处理方法和存储介质
CN117057996A (zh) 光伏板图像的处理方法、装置、设备及介质
CN111698412B (zh) 双光谱全景图像采集方法、装置、无人机及客户端
JP2017103756A (ja) 画像データ処理装置及び方法
JP5919955B2 (ja) 画像処理装置、画像処理方法および画像処理プログラム
CN110930303A (zh) 全景图形成方法及系统
US9992398B2 (en) Optical sighting
JPH11339074A (ja) 景観モデリング装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150106

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150908

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150915

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151116

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20151208

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151221

R150 Certificate of patent or registration of utility model

Ref document number: 5867237

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees