(57)【要約】【課題】画像間の対応付けをおこなう際に、精密な対応付け結果を高速かつ効率良く取得すること。【解決手段】分割処理部１１は、区分けされる領域のブロック数に応じて入力画像と参照画像を分割し、領域区分け処理部１４は、分割されたブロック数に応じて類似度画像を複数の領域に区分けし、対応点決定部１５は、区分けされた各領域の同位置のブロック群に対して対応点探索処理を並列しておこなって、各領域の同位置のブロックごとに仮の対応点を決定し、対応点再決定部１７は、対応点決定部１５により仮の対応点が決定された類似度画像に対して再度対応点探索処理をおこなって各ブロックの対応点を再決定する。【選択図】        図１
2005182201.tif 000002
【特許請求の範囲】
【請求項１】
入力画像と参照画像に対して分割処理をおこなって複数の画素から構成される複数のブロックに分割し、該分割されたブロックである入力部分画像と参照部分画像から生成される類似度画像に対して対応点探索処理をおこなって対応点を決定する画像の対応点探索方法であって、
前記分割処理によって分割されたブロック数に応じて前記類似度画像を複数の領域に区分けする領域区分け工程と、
前記領域区分け工程によって区分けされた各領域の同位置のブロックごとに対応点探索処理をおこなって仮の対応点を決定する第一の対応点決定工程と、
前記第一の対応点決定工程によって仮の対応点が決定された類似度画像に対して再度対応点探索処理をおこなって各ブロックの対応点を決定する第二の対応点決定工程と
を含んだことを特徴とする画像の対応点探索方法。
【請求項２】
前記第一の対応点決定工程は、前記領域区分け工程によって区分けされた各領域の同位置のブロック群に対して対応点探索処理を並列しておこなって仮の対応点を決定することを特徴とする請求項１に記載の画像の対応点探索方法。
【請求項３】
入力画像と参照画像に対して分割処理をおこなって複数の画素から構成される複数のブロックに分割し、該分割されたブロックである入力部分画像と参照部分画像から生成される類似度画像に対して対応点探索処理をおこなって対応点を決定する画像の対応点探索装置であって、
前記分割処理によって分割されたブロック数に応じて前記類似度画像を複数の領域に区分けする領域区分け手段と、
前記領域区分け手段によって区分けされた各領域の同位置のブロックごとに対応点探索処理をおこなって仮の対応点を決定する第一の対応点決定手段と、
前記第一の対応点決定手段によって仮の対応点が決定された類似度画像に対して再度対応点探索処理をおこなって各ブロックの対応点を決定する第二の対応点決定手段と
を備えたことを特徴とする画像の対応点探索装置。
【請求項４】
入力画像と参照画像に対して分割処理をおこなって複数の画素から構成される複数のブロックに分割し、該分割されたブロックである入力部分画像と参照部分画像から生成される類似度画像に対して対応点探索処理をおこなって対応点を決定する画像の対応点探索プログラムであって、
前記分割処理によって分割されたブロック数に応じて前記類似度画像を複数の領域に区分けする領域区分け手順と、
前記領域区分け手順によって区分けされた各領域の同位置のブロックごとに対応点探索処理をおこなって仮の対応点を決定する第一の対応点決定手順と、
前記第一の対応点決定手順によって仮の対応点が決定された類似度画像に対して再度対応点探索処理をおこなって各ブロックの対応点を決定する第二の対応点決定手順と
をコンピュータに実行させることを特徴とする画像の対応点探索プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力画像と参照画像に対して分割処理をおこなって複数の画素から構成される複数のブロックに分割し、該分割されたブロックである入力部分画像と参照部分画像から生成される類似度画像に対して対応点探索処理をおこなって対応点を決定する画像の対応点探索方法、対応点探索装置および対応点探索プログラムに関し、特に、画像間の対応付けをおこなう際に、精密な対応付け結果を高速かつ効率良く取得することができる画像の対応点探索方法、対応点探索装置および対応点探索プログラムに関する。
【背景技術】
【０００２】
従来より、スキャナなどの画像入力装置から入力された入力画像をあらかじめ登録した参照画像と照合する際に、両画像の対応点を探索して画像間の対応付けをおこなう技術が知られている。
【０００３】
たとえば、非特許文献１（従来技術１）には、設定したエネルギー関数を変分法の枠組みにより最小化する標準正則化理論を適用した技術が開示されている。この従来技術１が採用する標準正則化理論は、局所的な情報のみを使った繰り返し計算によりエネルギーを最小化することによって対応点を計算するものであるので、並列分散処理をおこなうことができ、人間の脳情報処理に近い処理を実現できる可能性がある。
【０００４】
また、非特許文献２（従来技術２）には、ＤＰ（Dynamic Programming）を用いて効率的に最適解を探索する２次元ＤＰワープ法を採用した技術が開示されている。この従来技術２によれば、最適化問題を効率的に計算することができる。
【０００５】
ところが、上記従来技術１のものは、局所的な情報のみを使った繰り返し計算によってエネルギーを最小化して対応点を計算するため、初期値の影響が大きくなるという問題や、局所解（ローカルミニマム）に陥り易いことから最適な対応付け結果を得られ難いという問題がある。また、従来技術２のものは、ＤＰによって効率よく最適解を探索できるものの、その計算量が膨大なものになるという問題がある。具体的には、最適解を得るためには画像サイズの指数オーダーの計算時間が必要となる。
【０００６】
これらのことから、本願特許出願人は、特願２００２−０５６６６１号（従来技術３）において、画像間の対応付けをおこなう際に、局所解に陥ることなく安定した対応付け結果を得ることができる画像の対応点探索装置、対応点探索方法およびその方法をコンピュータに実行させるプログラムを提案した。
【０００７】
ところが、上記の従来技術（従来技術３）を２次元変形画像を対象とした認識技術（例えば、サイン照合）に対して適用するためには、現状においてその精度が不足している。具体的には、対応点と対応点の間に大きな変曲点がある画像に対して対応付けをおこなった場合、類似度画像の格子点間隔（ブロックの間隔）が広いため、変形の大きな画像に追従することができず、十分な精度の対応付け結果を得られない。
【０００８】
このため、上記従来技術３では、類似度画像の格子点間隔が広いことに起因する性能の限界を解消することによって画像間の対応付けの精密化が図られている。具体的には、格子点候補（入力画像および参照画像の分割数）を増やして類似度画像の格子点間隔（ブロックの間隔）を狭くし、隣接候補点間の連結性を確保することにより、変形の大きな画像にも追従することができるようにしている。
【０００９】
【非特許文献１】T.Poggio，V.TorreandC.Koch，”Computational vision and regularization theory”，NATURE Vol.317，pp. 314-319，1985
【非特許文献２】内田誠一，迫江博昭，”動的計画法に基づく単調連続２次元ワープ法の検討”，信学論（D-II） Vol. J81-D-II no. 6，pp.1251-1258，June 1998
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、上記の従来技術は、格子点候補（入力画像および参照画像の分割数）を増やすことに起因して局所解（ローカルミニマム）に陥りやすくなるため、精度の高い対応付け結果を取得することが困難である。
【００１１】
また、上記の従来技術では、格子点候補（入力画像および参照画像の分割数）を増やすことにより、処理対象となる類似度画像のブロック数が膨大なものとなるため、処理を迅速化する上での制約がある。
【００１２】
そこで、この発明は、上述した従来技術による問題点を解消するためになされたものであり、画像間の対応付けをおこなう際に、精密な対応付け結果を高速かつ効率良く取得することができる画像の対応点探索方法、対応点探索装置および対応点探索プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
上述した課題を解決し、目的を達成するため、請求項１の発明に係る画像の対応点探索方法は、入力画像と参照画像に対して分割処理をおこなって複数の画素から構成される複数のブロックに分割し、該分割されたブロックである入力部分画像と参照部分画像から生成される類似度画像に対して対応点探索処理をおこなって対応点を決定する画像の対応点探索方法であって、前記分割処理によって分割されたブロック数に応じて前記類似度画像を複数の領域に区分けする領域区分け工程と、前記領域区分け工程によって区分けされた各領域の同位置のブロックごとに対応点探索処理をおこなって仮の対応点を決定する第一の対応点決定工程と、前記第一の対応点決定工程によって仮の対応点が決定された類似度画像に対して再度対応点探索処理をおこなって各ブロックの対応点を決定する第二の対応点決定工程とを含んだことを特徴とする。
【００１４】
また、請求項２の発明に係る画像の対応点探索方法は、請求項１の発明において、前記第一の対応点決定工程は、前記領域区分け工程によって区分けされた各領域の同位置のブロック群に対して対応点探索処理を並列しておこなって仮の対応点を決定することを特徴とする。
【００１５】
また、請求項３の発明に係る画像の対応点探索装置は、入力画像と参照画像に対して分割処理をおこなって複数の画素から構成される複数のブロックに分割し、該分割されたブロックである入力部分画像と参照部分画像から生成される類似度画像に対して対応点探索処理をおこなって対応点を決定する画像の対応点探索装置であって、前記分割処理によって分割されたブロック数に応じて前記類似度画像を複数の領域に区分けする領域区分け手段と、前記領域区分け手段によって区分けされた各領域の同位置のブロックごとに対応点探索処理をおこなって仮の対応点を決定する第一の対応点決定手段と、前記第一の対応点決定手段によって仮の対応点が決定された類似度画像に対して再度対応点探索処理をおこなって各ブロックの対応点を決定する第二の対応点決定手段とを備えたことを特徴とする。
【００１６】
また、請求項４の発明に係る画像の対応点探索プログラムは、入力画像と参照画像に対して分割処理をおこなって複数の画素から構成される複数のブロックに分割し、該分割されたブロックである入力部分画像と参照部分画像から生成される類似度画像に対して対応点探索処理をおこなって対応点を決定する画像の対応点探索プログラムであって、前記分割処理によって分割されたブロック数に応じて前記類似度画像を複数の領域に区分けする領域区分け手順と、前記領域区分け手順によって区分けされた各領域の同位置のブロックごとに対応点探索処理をおこなって仮の対応点を決定する第一の対応点決定手順と、前記第一の対応点決定手順によって仮の対応点が決定された類似度画像に対して再度対応点探索処理をおこなって各ブロックの対応点を決定する第二の対応点決定手順とをコンピュータに実行させることを特徴とする。
【発明の効果】
【００１７】
本発明によれば、分割処理によって分割されたブロック数に応じて類似度画像を複数の領域に区分けし、区分けされた各領域の同位置のブロックごとに対応点探索処理をおこなって仮の対応点を決定し、仮の対応点が決定された類似度画像に対して再度対応点探索処理をおこなって各ブロックの対応点を決定することとしたので、画像間の対応付けをおこなう際に、精密な対応付け結果を高速かつ効率良く取得することが可能になる。さらに、これに関連して、最初の対応点探索処理で粗く対応点を決定しておき、次いでおこなわれる対応点探索処理で最終的な対応点を決定する、すなわち、対応点探索処理を階層的におこなうことで、高速かつ効率良く処理をおこなうことが可能になる。
【００１８】
また、本発明によれば、区分けされた各領域の同位置のブロック群に対して対応点探索処理を並列しておこなって仮の対応点を決定することとしたので、高速かつ効率良く処理をおこなうことが可能になる。
【発明を実施するための最良の形態】
【００１９】
以下に添付図面を参照して、この発明に係る対応点探索方法、対応点探索装置および対応点探索プログラムの好適な実施例を詳細に説明する。
【実施例】
【００２０】
本実施例に係る対応点検索装置では、変形の大きな画像にも対応付けできるようにし、精度の良い対応付け結果を取得するために、格子点候補（参照画像および入力画像の分割数）を増やして類似度画像の格子点間隔（ブロックの間隔）を狭くするが、この時、格子点候補を増やすことに起因して局所解（ローカルミニマム）および処理の遅延化を引き起こさぬように、以下に説明する３つの処理段階を設けたことを特徴とする。
【００２１】
図１は、本実施例で用いる対応点検索装置の構成を示す機能ブロック図である。同図に示す対応点検索装置１は、（１）入力画像を分割した入力部分画像と参照画像を分割した参照部分画像との間の類似度を示す類似度画像を作成する「類似度画像作成段階」と、（２）類似度画像を所定のブロック数で構成された複数の領域に区分けし、該区分けされた各領域の同位置のブロックごとに対応点探索処理をおこなって仮の対応点を決定する「第一の対応点決定段階」と、（３）「第一の対応点決定段階」で仮の対応点が決定された類似度画像に対して再度対応点探索処理をおこなって各ブロックの対応点を決定する「第二の対応点決定段階」との３つの段階の処理を行う。
【００２２】
具体的には、（１）「類似度画像作成段階」では、たとえば１６×１６画素のサイズからなる参照部分画像を４８×４８画素のサイズからなる入力部分画像内を移動させつつ順次相関値を求め、この相関値を画素値として持つ類似度画像を作成する。このため、この類似度画像は、参照部分画像上の中心点が入力部分画像上の点にどの程度類似しているかを示すことになる。
【００２３】
次に、（２）「第一の対応点決定段階」では、図４−１に示すように、「２×２」のブロックで構成された複数の領域に類似度画像を区分けし、該区分けされた各領域の同位置のブロック群（ブロック１、ブロック２、ブロック３およびブロック４と同位置のブロック群）に対して「対応点探索処理」を並列しておこなって仮の対応点を決定する（図５に示す（１）および（２）参照）。
【００２４】
そして、（３）「第二の対応点決定段階」では、「第一の対応点決定段階」で仮の対応点が決定された各ブロック（図５に示す（１）参照）を元の位置に再配置し（図５に示す（２）参照）、該再配置された類似度画像に対して再度対応点探索処理をおこなって各ブロックの対応点を決定する（図５に示す（３）参照）。
【００２５】
したがって、本実施例に係る対応点探索装置によれば、上記した従来技術のように、隣接ブロック間で対応点探索処理（「累積加算処理」および「更新処理」）をおこなうのではなく、各領域の同位置のブロックごとに対応点探索処理（「累積加算処理」および「更新処理」）をおこなって仮の対応点を決定し、該仮の対応点が決定された類似度画像に対して再度対応点探索処理をおこなって各ブロックの対応点を決定することとしたので、所定の間隔（すなわち、本実施例では、類似度画像を「２×２」の領域に区分けするため、１ブロック間隔となる。）ごとのブロック間で対応点探索処理（「累積加算処理」および「更新処理」）をおこなうこととなり、大局的な最適化をおこなうことができる。このため、格子点候補（入力画像および参照画像の分割数）を増やすことに起因して生じる局所解（ローカルミニマム）を低減することが可能になる。
【００２６】
さらに、これに関連して、「第一の対応点決定段階」で粗く対応点を決定しておき、「第二の対応点決定段階」で最終的な対応点を決定する、すなわち、「対応点探索処理」を階層的におこなうことで、高速かつ効率良く処理をおこなうことが可能になる。
【００２７】
また、本実施例に係る対応点探索装置によれば、各領域の同位置のブロック群（ブロック１、ブロック２、ブロック３およびブロック４と同位置のブロック群）に対して「対応点探索処理」を並列しておこなって仮の対応点を決定することとしたので、高速かつ効率良く処理をおこなうことが可能になる。
【００２８】
次に、図１に示した対応点探索装置１の構成について説明する。なお、ここでは、参照画像、入力画像の順に画像を入力する場合を示すこととする。図１に示すように、この対応点探索装置１は、画像入力部１０と、分割処理部１１と、参照画像一時記憶部１２と、類似度画像作成部１３と、領域区分け処理部１４と、対応点決定部１５と、再配置部１６と、対応点再決定部１７とからなる。
【００２９】
画像入力部１０は、縦横のサイズＩ、Ｊからなる参照画像Ｉ0（ｉ，ｊ）および入力画像Ｉ1（ｉ，ｊ）（０≦ｉ≦Ｉ−１，０≦ｊ≦Ｊ−１）を入力する入力部である。具体的には、光学的に原稿を読み取って画像を取得するスキャナや、ネットワークから画像を取得するインターフェース部や、二次記憶装置から画像を読み出す読み出し部が該当する。ここで、この入力画像とは、対応点の探索対象となる画像であって、歪みや変形を伴うものであっても良い。これに対して、参照画像とは、入力画像の比較の対象となる画像であり、歪みなどを伴わないものであることが望ましい。
【００３０】
分割処理部１１は、領域区分け処理部１４によって区分けされる領域のブロック数に応じて画像入力部１０により入力された入力画像と参照画像を入力部分画像および参照部分画像にそれぞれ分割する処理部である。具体的には、上記の従来技術において、「Ｍ（縦方向：３）×Ｎ（横方向：４）」のブロック数に分割されていた入力画像と参照画像を、本実施例（領域区分け処理部１４によって区分けされる「領域」を「２×２」のブロックで構成しようとする場合）においては、「２Ｍ×２Ｎ（６×８）」に分割する（図２−２および図３−２参照）。また、領域区分け処理部１４によって区分けされる「領域」を「３×３」のブロックで構成しようとする場合には、入力画像と参照画像を「３Ｍ×３Ｎ（９×１２）」に分割することとなる（図２−３および図３−３参照）。
【００３１】
また、「領域区分け処理」に密接に関連する「類似度画像」のブロック数は、入力画像および参照画像の分割数に依存するため、分割処理部１１による「分割処理」によって「類似度画像」のブロック数を決定することができる。このため、かかる「分割処理」をおこなうことにより、任意のブロック数で構成された類似度画像に対して「領域区分け処理」をおこなうことができるようになる。
【００３２】
ただし、入力画像の分割手順と参照画像の分割手順はそれぞれ異なる。具体的には、参照画像を分割する場合には、参照画像上で縦方向にＭ個、横方向にＮ個サンプリングした点（ｐm，ｑn）（０≦ｍ≦Ｍ−１，０≦ｎ≦Ｎ−１）を中心とした参照部分画像を作成する。図２−２は、図２−１に示した参照画像の分割結果の一例を示す図であり、同図に示すように、ここでは９６×１２８画素の参照画像を６×６画素からなる４８個の参照部分画像に分割している。具体的には、ｐm＝round（Ｉ／Ｍ）、ｑn＝round（Ｊ／Ｎ）としている。ただし、round（）は四捨五入を示している。
【００３３】
また、入力画像を分割する場合には、参照画像を分割する場合と異なり、各入力部分画像の一部が重なり合う重複したデータを持つように分割する。図３−２は、図３−１に示した入力画像の分割結果の一例を示す図であり、同図に示すように、ここでは９６×１２８画素の入力画像を４８×４８画素からなる４８個の入力部分画像に分割している。
【００３４】
参照部分画像一時記憶部１２は、分割処理部１１で分割した各参照部分画像を一時記憶する記憶部であり、類似度画像作成部１３が類似度画像を作成する際に該当する参照部分画像が取り出される。
【００３５】
類似度画像作成部１３は、入力部分画像と参照部分画像の間の変形を考慮した類似度を算定して、該類似度を画素値として持つ類似度画像Ｃ（m , n , u , v）（０≦ｍ≦Ｍ−１，０≦ｎ≦Ｎ−１，０≦ｕ≦Ｕ−１，０≦ｖ≦Ｖ−１）を作成する処理部である。ただし、Ｕ，Ｖはそれぞれ類似度画像の縦横のサイズであるものとする。この類似度として正規化相関係数を用いることができる。
【００３６】
これを詳細に説明すると、入力部分画像と参照部分画像の類似度を求める場合には、参照部分画像の中心画素を入力部分画像の左上部の画素に対応付けて正規化相関係数を計算し、その計算結果を類似度画像の左上部の画素値とする。その後、参照部分画像を右にずらし、同様の処理をおこなう。上記処理を参照部分画像をずらしながら入力部分画像の全画素についておこなうことにより、類似度画像が求められる。なお、参照部分画像のすべての画素の画素値が一定値である場合には、正規化相関係数の分母がゼロとなるため、この場合の類似度画像の画素値もゼロとなる。
【００３７】
領域区分け処理部１４は、分割処理部１１によって分割されたブロック数に応じて類似度画像を複数の領域に区分けする処理部である。具体的には、分割処理部１１によって入力画像と参照画像が「２Ｍ×２Ｎ（６×８）」のブロック数に分割された場合（図２−２および図３−２参照）、該分割された入力部分画像と参照部分画像から作成された「類似度画像」においても同様に、「２Ｍ×２Ｎ（６×８）」のブロック数となるため、「類似度画像」を「２×２」のブロック数で構成された複数の領域に区分けすることができる（図４−１参照）。また、区分けする「領域」を「３×３」のブロックで形成することが想定されていた場合には、分割処理部１１によって分割された「３Ｍ×３Ｎ（９×１２）」のブロック数に応じて類似度画像を「３×３」のブロック数で形成された複数の領域に区分けする（図４−２参照）。
【００３８】
すなわち、かかる「領域」は、図４−１に示すように、ブロック１、ブロック２、ブロック３およびブロック４で１つの領域が形成されることとなる。また、同様に、「領域」を「３×３」のブロックで形成する場合には、図４−２に示すように、ブロック１〜ブロック９で１つの領域が形成されることとなる。なお、以下では、図４−１に示す左上部のブロック１と、各領域においてブロック１と同位置にあるブロック（斜線が引かれたブロック）群を「ブロック１」と記し、同様に、「ブロック２」、「ブロック３」、「ブロック４」と記すこととする。
【００３９】
対応点決定部１５は、領域区分け処理部１４によって区分けされた各領域の同位置のブロック群に対して「対応点探索処理」を並列しておこなって仮の対応点を決定する処理部である。具体的には、図５における（１）に示すように、「ブロック１」、「ブロック２」、「ブロック３」および「ブロック４」に対して「対応点探索処理」を並列しておこなって仮の対応点を決定する。
【００４０】
このように、各領域の同位置のブロックごとに「対応点探索処理」をおこなうこととしたのは、所定の間隔ごとのブロック間で対応点探索処理をおこなうことにより、大局的な最適化をおこなうことができるようにするという目的と、「第一の対応点決定段階」で粗く対応点を決定しておくことにより、次いでおこなわれる「第二の対応点決定段階」と併せて「対応点探索処理」を階層的におこない、高速かつ効率良く処理をおこなうことができるようにするという目的を達成するためである。なお、対応点決定部１５は、特許請求の範囲における「第一の対応点決定手段」に対応する。
【００４１】
ここで、本発明に密接に関連する「対応点探索処理」について説明する。この「対応点探索処理」は、概略的に、各類似度画像の画素値を垂直方向および水平方向別に独立に累積加算を繰り返した後に、これらの累積加算結果から得られる各画素の周辺画素の最大値を類似度画像の各画素の画素値に累積加算して類似度画像を更新し、更新後の各類似度画像の最大値の位置と更新前の各類似度画像の最大値の位置との変動が所定値未満となるまでこれらの処理を繰り返して、入力部分画像上での対応点を求める処理であり、上記の「対応点探索処理」をおこなうに際して、対応点決定部１５は、機能概念的に、累積加算処理部１５ａと、類似度画像更新部１５ｂと、対応点決定部１５ｃとを備える。
【００４２】
このうち、累積加算処理部１５ａは、図７に示すように、各類似度画像を横方向（ｊ方向）、該横方向の逆方向（−ｊ方向）、縦方向（ｉ方向）、該縦方向の逆方向（−ｉ方向）にそれぞれ独立して累積加算する処理部である。具体的には、類似度画像全体Ｃ(m , n , u , v)を４枚複写して、これをそれぞれＤ１(m , n, u , v)、Ｄ２(m , n , u , v)、Ｄ３(m , n , u , v)、Ｄ４(m , n , u , v)とし、それぞれｊ方向、−ｊ方向、ｉ方向、−ｉ方向の累積加算に使用する。たとえば、Ｄ１(m , n , u , v)を用いてｊ方向に累積加算する場合には、ｎ＝１〜Ｎ−１の類似度画像について、
Ｄ１（m , n , u , v）＝Ｃ（m , n , u , v）＋α・Ｍａｘ（Ｄ１（m , n-1 ,p , q））
を順次再帰的に計算する。ただし、Ｍａｘ（）は最大値を示し、αは定数であり、０≦ｕ≦Ｕ−１、０≦ｖ≦Ｖ−１、０≦ｍ≦Ｍ−１、０≦ｎ≦Ｎ−１、ｕ−１≦ｐ≦ｕ＋１、ｖ−１≦ｑ≦ｖ＋１とする。
【００４３】
すなわち、ｊ方向に累積加算する場合には、図８に示すように、Ｄ１(m , n-1 , u , v)を中心とする８近傍内の９画素のうちの最大の画素値を求め、この最大の画素値をα倍してＣ(m , n , u , v)の画素値に加算する処理を再帰的に繰り返すことになる。
【００４４】
また、−ｊ方向に累積加算する場合には、ｎ＝Ｎ−２〜０の類似度画像について、
Ｄ３（m , n , u , v ）＝Ｃ（m , n , u , v）＋α・Ｍａｘ（Ｄ３（m , n+1 , p , q））
を順次再帰的に計算する。ただし、０≦ｕ≦Ｕ−１、０≦ｖ≦Ｖ−１、０≦ｍ≦Ｍ−１、０≦ｎ≦Ｎ−２とする。すなわち、−ｊ方向に累積加算する場合には、図９に示すように、Ｄ３（m , n+1 ,u , v）を中心とする８近傍内の９画素のうちの最大の画素値を求め、この最大の画素値をα倍してＣ(m , n , u , v)の画素値に加算する処理を再帰的に繰り返すことになる。
【００４５】
また、ｉ方向に累積加算する場合には、ｍ＝１〜Ｍ−１の類似度画像について、
Ｄ２（m , n , u , v）＝Ｃ（m , n , u , v）＋α・Ｍａｘ（Ｄ２（m-1 , n, p , q））
を順次再帰的に計算する。ただし、０≦ｕ≦Ｕ−１、０≦ｖ≦Ｖ−１、１≦ｍ≦Ｍ−１、０≦ｎ≦Ｎ−１とする。すなわち、ｉ方向に累積加算する場合には、図１０に示すように、Ｄ２（m-1 , n , u , v）を中心とする８近傍内の９画素のうちの最大の画素値を求め、この最大の画素値をα倍してＣ(m , n , u , v)の画素値に加算する処理を再帰的に繰り返すことになる。
【００４６】
また、−ｉ方向に累積加算する場合には、ｍ＝Ｍ−２〜０の類似度画像について、
Ｄ４（m , n , u , v）＝Ｃ（m , n , u , v）＋α・Ｍａｘ（Ｄ４（m+1 , n ,p , q））
を順次再帰的に計算する。ただし、０≦ｕ≦Ｕ−１、０≦ｖ≦Ｖ−１、０≦ｍ≦Ｍ−２、０≦ｎ≦Ｎ−１とする。すなわち、−ｉ方向に累積加算する場合には、図１１に示すように、Ｄ４（m+1 , n , u , v）を中心とする８近傍内の９画素のうちの最大の画素値を求め、この最大の画素値をα倍してＣ(m , n , u , v)の画素値に加算する処理を再帰的に繰り返すことになる。
【００４７】
類似度画像更新部１５ｂは、累積加算処理部１５ａの累積加算後の類似度画像に基づいて類似度画像を更新する処理部である。具体的には、まず各方向についての累積加算処理をおこなったならば、図１２の概念図に示すように、
Ｃ（m , n , u , v）＝Ｃ（m , n , u , v）＋α・Ｍａｘ（Ｄ１（m , n-1 ,p , q））
＋α・Ｍａｘ（Ｄ２（m-1 , n , p , q））
＋α・Ｍａｘ（Ｄ３（m , n+1 , p , q））
＋α・Ｍａｘ（Ｄ４（m+1, n , p , q））
の算定式によりＣ( m , n , u , v)を更新する。
【００４８】
その後、対応点決定部１５ｃは、各類似度画像の最大値の位置を検出し、それらの位置と前回の各類似度画像の最大値の位置との変化が所定の範囲内でなければ累積加算処理をフィードバックして繰り返し、所定の範囲内となった時点で繰り返しを終了し、そのときの各類似度画像の最大値の位置を対応点として決定する。
【００４９】
再配置部１６は、対応点決定部１５によって決定された仮の対応点を元の位置に再配置する処理部である。具体的には、並列しておこなわれた「ブロック１」、「ブロック２」、「ブロック３」および「ブロック４」の対応点の結果（図５に示す（１）参照）を元の類似度画像の配置に再配置する（図５に示す（２）参照）。
【００５０】
対応点再決定部１７は、再配置部１６によって再配置された類似度画像に対して「対応点探索処理」をおこなって各ブロックの対応点を再決定する処理部である。具体的には、再配置部１６によって各ブロックが元の位置に再配置された類似度画像（図５に示す（２）参照）に対して再度「対応点探索処理」をおこなって各ブロックの対応点を再決定する（図５に示す（３）参照）。なお、対応点再決定部１７は、特許請求の範囲における「第二の対応点決定手段」に相当する。
【００５１】
このように、各領域の同位置のブロックごとに仮の対応点を決定し、各ブロックを元の位置に再配置し（図５に示す（２）参照）、該再配置された類似度画像に対して「対応点探索処理」を再度おこなうことにより、ブロック間の位置関係について整合を取ることができ、画像間の対応付けをおこなう際に、精密な対応付け結果を取得することが可能になる。なお、対応点再決定部１７における累積加算処理部１７ａ、類似度画像更新部１７ｂおよび対応点決定部１７ｃは、機能概念的に、対応点決定部１５における累積加算処理部１５ａ、類似度画像更新部１５ｂおよび対応点決定部１５ｃと同様の処理をおこなうため、説明を省略する。
【００５２】
次に、図１に示した対応点探索装置１の処理手順について説明する。なお、上記説明と一部重複するが、図２〜図１２を用いて処理の流れを例示しつつ処理手順について説明することとする。
【００５３】
図１３は、図１に示した対応点探索装置１の処理手順を示すフローチャートである。なお、本実施例では、領域区分け処理部１４によって区分けされる「領域」を「２×２」のブロックで形成する場合について説明することとする。
【００５４】
同図に示すように、この対応点探索装置１が参照画像と入力画像を取得したならば、参照画像を「２Ｍ×２Ｎ（６×８）」の参照部分画像に分割する（ステップＳ１０１）。たとえば、図２−１に示した９６×１２８画素の参照画像を図２−２に示した１６×１６画素からなる４８個の参照部分画像に分割して記憶する。この参照部分画像は、参照したい画像ごとに予め記憶しておいてもよいし、また、参照部分画像ではなく、参照画像のみを予め別途記憶しておき、後述する入力画像と参照画像との類似度画像の計算の際に、記憶された参照画像から参照部分画像に分割してもよい。
【００５５】
その後、入力画像を「２Ｍ×２Ｎ（６×８）」の入力部分画像に分割する（ステップＳ１０２）。たとえば、図３−１に示した９６×１２８画素の入力画像を図３−２に示した４８×４８画素からなる４８個の入力部分画像に分割する。
【００５６】
そして、この参照部分画像と入力部分画像の間の類似度画像を作成する（ステップＳ１０３）。具体的には、入力部分画像と参照部分画像の類似度を画素値とする類似度画像の作成を各入力部分画像ごとにおこなって「２Ｍ×２Ｎ（６×８）」のブロック数からなる類似度画像を作成する。
【００５７】
続いて、類似度画像を「２×２」のブロック数で構成された複数の領域に区分けする（図４−１参照）（ステップＳ１０４）。
【００５８】
ここで、各領域の同位置のブロック群に対して「対応点探索処理」を並列しておこなう（ステップＳ１０５）。具体的には、図５における（１）に示すように、「ブロック１」、「ブロック２」、「ブロック３」および「ブロック４」に対して「対応点探索処理」を並列しておこなって仮の対応点を決定する。
【００５９】
続いて、並列しておこなわれた「ブロック１」、「ブロック２」、「ブロック３」および「ブロック４」の対応点の結果（図５に示す（１）参照）を元の位置に再配置する（図５に示す（２）参照）（ステップＳ１０６）。
【００６０】
そして、各ブロックが元の位置に再配置された類似度画像に対して再度「対応点探索処理」をおこない（ステップＳ１０７）、各ブロックの対応点を再決定する（図５に示す（３）参照）（ステップＳ１０８）。
【００６１】
次に、本発明に密接に関連する「対応点探索処理」における累積加算処理手順について詳細に説明する。図１４は、図１に示した累積加算処理部１５ａおよび累積加算処理部１７ａによるｊ方向の累積加算処理手順を示すフローチャートである。なお、−ｊ方向、ｉ方向、−ｉ方向の累積加算処理も同様におこなうことができる。
【００６２】
同図に示すように、まず変数ｍ、ｕおよびｖを０にするとともに、変数ｎを１とする初期化をおこなう（ステップＳ２０１〜Ｓ２０４）。ここで、この変数ｍはｉ方向のインデックスとして用いる変数であり、変数ｎはｊ方向のインデックスとして用いる変数である。また、変数ｕ，ｖは探索範囲を示すｉ方向およびｊ方向の変数である。
【００６３】
そして、この初期化を終えたならば、
Ｄ１（m , n , u , v）＝Ｃ（m , n , u , v）＋α・Ｍａｘ（Ｄ１（m , n-1, p , q））
の算定式による計算をおこなう（ステップＳ２０５）。
【００６４】
その後、変数ｖをインクリメントし（ステップＳ２０６）、この変数ｖがＶよりも小さければ（ステップＳ２０７肯定）、ステップＳ２０５に移行して加算処理を繰り返す。つまり、探索範囲をｊ方向にずらすのである。
【００６５】
これに対して、変数ｖがＶ以上であれば（ステップＳ２０７否定）、変数ｕをインクリメントし（ステップＳ２０８）、この変数ｕがＵよりも小さければ（ステップＳ２０９肯定）、ステップＳ２０４に移行して加算処理を繰り返す。つまり、探索範囲をｉ方向にずらすことになる。
【００６６】
そして、変数ｕがＵ以上であれば（ステップＳ２０９否定）、ある画素についての計算を終了し、次の画素に移行する。具体的には、変数ｎをインクリメントして注目画素をｊ方向に移行させた後に（ステップＳ２１０）、この変数ｎをＮと比較し（ステップＳ２１１）、この変数ｎがＮよりも小さければ（ステップＳ２１１肯定）、ステップＳ２０３に移行して加算処理を繰り返す。
【００６７】
これに対して、変数ｎがＮ以上であれば（ステップＳ２１１否定）、変数ｍをインクリメントして注目画素をｉ方向に移行させた後に（ステップＳ２１２）、この変数ｍがＭよりも小さければ（ステップＳ２１３肯定）、ステップＳ２０２に移行して加算処理を繰り返し、変数ｍがＭ以上であれば（ステップＳ２１３否定）、処理を終了する。上記一連の処理をおこなうことにより、各類似度画像の全画素についてｊ方向の累積加算結果が得られることになる。
【００６８】
ところで、上記図１４のフローチャートでは、変数ｕ，ｖのインクリメントをおこないながら最大値を算出していた。別の計算方法として、あらかじめＣ（m, n-1 , u , v）に最大値フィルターをかけた最大値フィルター画像Ｄ１'（m , n-1, u , v）を作成しておき、α倍してからＣ（m , n , u , v）と加算することもできる。
【００６９】
そこで、かかる最大値フィルターを用いる場合の処理手順を図１５および図１６を用いて説明する。図１５は、図１に示した累積加算処理部１５ａおよび累積加算処理部１７ａによる最大値フィルターを用いたｊ方向の累積加算処理手順を示すフローチャートであり、図１６は、最大値フィルターの処理手順を示すフローチャートである。
【００７０】
図１５に示すように、変数ｍを０に初期化し（ステップＳ３０１）、変数ｎを１に初期化した後（ステップＳ３０２）、最大値フィルターＤ１'（m , n-1 , u , v）を算定する（ステップＳ３０３）。
【００７１】
具体的には、図１６に示すように、変数ｕ，ｖを０に初期化した後に（ステップＳ４０１〜Ｓ４０２）、Ｄ１'（m , n , u , v）＝Ｍａｘ［Ｄ１（m , n , p, q）］を計算する（ステップＳ４０３）。ただし、ｕ−１≦ｐ≦ｕ＋１、ｖ−１≦ｑ≦ｖ＋１とする。そして、ｖをインクリメントして（ステップＳ４０４）、この変数ｖがＶよりも小さい場合には（ステップＳ４０５肯定）、ステップＳ４０３に移行して同様に計算をおこなう。また、変数ｖがＶ以上である場合には（ステップＳ４０５否定）、変数ｕをインクリメントして（ステップＳ４０６）、この変数ｕがＵよりも小さい場合には（ステップＳ４０７肯定）、ステップＳ４０２に移行して同様の処理を繰り返し、結果的に最大値を求める。
【００７２】
このようにして最大値フィルターを算定したならば、変数ｕおよびｖを０に初期化した後（ステップＳ３０４〜Ｓ３０５）、
Ｄ１（m , n , u , v）＝Ｃ（m , n , u , v）＋α・Ｍａｘ（Ｄ１'（m , n-1 , p , q））
の算定式による計算をおこなう（ステップＳ３０６）。
【００７３】
その後、変数ｖをインクリメントし（ステップＳ３０７）、この変数ｖがＶよりも小さければ（ステップＳ３０８肯定）、ステップＳ３０６に移行して加算処理を繰り返す。つまり、探索範囲をｊ方向にずらすのである。
【００７４】
これに対して、変数ｖがＶ以上であれば（ステップＳ３０８否定）、変数ｕをインクリメントし（ステップＳ３０９）、この変数ｕがＵよりも小さければ（ステップＳ３１０肯定）、ステップＳ３０５に移行して加算処理を繰り返す。つまり、探索範囲をｉ方向にずらすことになる。
【００７５】
そして、変数ｕがＵ以上であれば（ステップＳ３１０否定）、ある画素についての計算を終了し、次の画素に移行する。具体的には、変数ｎをインクリメントして注目画素をｊ方向に移行させた後に（ステップＳ３１１）、この変数ｎをＮと比較し（ステップＳ３１２）、この変数ｎがＮよりも小さければ（ステップＳ３１２肯定）、ステップＳ３０３に移行して加算処理を繰り返す。
【００７６】
これに対して、変数ｎがＮ以上であれば（ステップＳ３１２否定）、変数ｍをインクリメントして注目画素をｉ方向に移行させた後に（ステップＳ３１３）、この変数ｍがＭよりも小さければ（ステップＳ３１４肯定）、ステップＳ３０２に移行して加算処理を繰り返し、変数ｍがＭ以上であれば（ステップＳ３１４否定）、処理を終了する。
【００７７】
上述してきたように、本実施例に係る対応点探索装置によれば、類似度画像に対して「対応点探索処理」（「累積加算処理」および「更新処理」）をおこなう際に、隣接ブロック間で「対応点探索処理」をおこなうのではなく、所定の間隔（すなわち、本実施例では、類似度画像を「２×２」の領域に区分けするため、１ブロック間隔となる。）ごとのブロック間で「対応点探索処理」をおこなうこととしたので、大局的な最適化をおこなうことができ、格子点候補（入力画像および参照画像の分割数）を増やすことに起因して生じる局所解（ローカルミニマム）を低減することができる。
【００７８】
すなわち、類似度画像の格子点間隔を増やすことに起因して生じる問題点（対応点（解）がローカルミニマムに陥るという問題点）を解消することによって画像間の対応付けを精密化できることとしたので、変形の大きな画像についても、上記の従来技術における対応付け結果と比較して（図６−１参照）、精度の高い対応付け結果を取得することができる（図６−２参照）。
【００７９】
さらに、これに関連して、「第一の対応点決定段階」（対応点決定部１５）で粗く対応点を決定しておき、「第二の対応点決定段階」（対応点再決定部１７）で最終的な対応点を決定する、すなわち、「対応点探索処理」を階層的におこなうことで、高速かつ効率良く処理をおこなうことが可能になる。
【００８０】
また、本実施例に係る対応点探索装置によれば、各領域の同位置のブロック群（「ブロック１」、「ブロック２」、「ブロック３」および「ブロック４」）に対して「対応点探索処理」を並列しておこなうこととしたので、高速かつ効率良く処理をおこなうことができる。
【００８１】
なお、本実施例では、説明の便宜上、参照画像と入力画像のサイズが同じ場合を示したが、本発明はこれに限定されるものではなく、参照画像と入力画像のサイズを異なる場合に適用することもできる。かかる場合にも同様の処理をおこなうことができる。
【００８２】
また、本実施例では、「対応点決定段階」と「対応点再決定段階」の概念を説明する便宜上、対応点決定部１５と対応点再決定部１７を個別に設けて説明したが、対応点再決定部１７の「対応点探索処理」の処理は、対応点決定部１５が兼務してもよい。
【００８３】
また、本実施例では、「対応点探索処理」における累積加算処理手順として、各類似度画像をｊ方向、−ｊ方向、ｉ方向、−ｉ方向の順序で再帰的に累積加算する場合を示したが、本発明は必ずしもこれに限定されるものではなく、斜め方向或いは一方向のみについて累積加算する場合に適用することもできる。一方向のみであっても、類似度が加算されることにより一定の大局情報が得られる。
【００８４】
また、本実施例では、類似度として正規化相関係数を用いた場合を示したが、本発明はこれに限定されるものではなく、ユークリッド距離などの他の指標を類似度として用いることもできる。
【００８５】
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００８６】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【産業上の利用可能性】
【００８７】
以上のように、本発明に係る画像の対応点探索方法、対応点探索装置および対応点探索プログラムは、入力画像と参照画像に対して分割処理をおこなって複数の画素から構成される複数のブロックに分割し、該分割されたブロックである入力部分画像と参照部分画像から生成される類似度画像に対して対応点探索処理をおこなって対応点を決定する画像の対応点探索方法、対応点探索装置および対応点探索プログラムに有用であり、特に、画像間の対応付けをおこなう際に、精密な対応付け結果を高速かつ効率良く取得することができる画像の対応点探索方法、対応点探索装置および対応点探索プログラムに適している。
【図面の簡単な説明】
【００８８】
【図１】この発明の実施例に係る対応点探索装置の構成を示す機能ブロック図である。
【図２−１】参照画像の一例を示す図である。
【図２−２】図２−１に示した参照画像の分割結果の一例を示す図である。
【図２−３】図２−１に示した参照画像の分割結果の一例を示す図である。
【図３−１】入力画像の一例を示す図である。
【図３−２】図３−１に示した入力画像の分割結果の一例を示す図である。
【図３−３】図３−１に示した入力画像の分割結果の一例を示す図である。
【図４−１】領域区分け処理を説明するための図である。
【図４−２】領域区分け処理を説明するための図である。
【図５】第一の対応点決定段階および第二の対応点決定段階の概念を説明するための説明図である。
【図６−１】従来技術におけるサイン照合の対応付け結果を示す図である。
【図６−２】本発明をサイン照合に適用した場合の対応付け結果を示す図である。
【図７】累積加算手順を説明するための説明図である。
【図８】ｊ方向の累積加算処理を説明するための説明図である。
【図９】−ｊ方向の累積加算処理を説明するための説明図である。
【図１０】ｉ方向の累積加算処理を説明するための説明図である。
【図１１】−ｉ方向の累積加算処理を説明するための説明図である。
【図１２】各累積加算結果を加算する概念図である。
【図１３】図１に示した対応点探索装置の処理手順を示すフローチャートである。
【図１４】累積加算処理手順の一例を示すフローチャートである。
【図１５】最大値フィルターを用いて累積加算処理をおこなう場合の処理手順の一例を示すフローチャートである。
【図１６】最大値フィルターの処理手順の一例を示すフローチャートである。
【符号の説明】
【００８９】
１    対応点探索装置
１０    画像入力部
１１    分割処理部
１２    参照部分画像一時記憶部
１３    類似度画像作成部
１４    領域区分け処理部
１５    対応点決定部
１５ａ  累積加算処理部
１５ｂ  類似度画像更新部
１５ｃ  対応点決定部
１６    再配置部
１７    対応点再決定部
１７ａ  累積加算処理部
１７ｂ  類似度画像更新部
１７ｃ  対応点決定部
【図１】
2005182201.tif 000003
【図２−１】
2005182201.tif 000004
【図２−２】
2005182201.tif 000005
【図２−３】
2005182201.tif 000006
【図３−１】
2005182201.tif 000007
【図３−２】
2005182201.tif 000008
【図３−３】
2005182201.tif 000009
【図４−１】
2005182201.tif 000010
【図４−２】
2005182201.tif 000011
【図５】
2005182201.tif 000012
【図６−１】
2005182201.tif 000013
【図６−２】
2005182201.tif 000014
【図７】
2005182201.tif 000015
【図８】
2005182201.tif 000016
【図９】
2005182201.tif 000017
【図１０】
2005182201.tif 000018
【図１１】
2005182201.tif 000019
【図１２】
2005182201.tif 000020
【図１３】
2005182201.tif 000021
【図１４】
2005182201.tif 000022
【図１５】
2005182201.tif 000023
【図１６】
2005182201.tif 000024