(57)【要約】【課題】階層的な探索を行うことによって探索速度を向上するとともに、密な対応点を高精度に得ること。【解決手段】対応点探索部が、類似度画像における注目画素と注目画素の周辺画素との距離が大きいほど周辺画素の画素値が小さくなるように補正したうえで、補正後の各画素値の中で最大の画素値を他の類似度画像における注目画素の画素値に対して順次累積加算し、対応点をサブピクセル単位で検出し、階層化処理部が、特定された対応点を用いた累積加算およびあらたな対応点の特定を、ブロックのサイズを減少させつつ複数の階層にわたって繰り返すように対応点探索装置を構成する。【選択図】  図３
2010250771.tif 000002
【特許請求の範囲】
【請求項１】
入力画像と該入力画像の比較対象となる参照画像とを対応付ける対応点を探索する対応点探索方法であって、
前記参照画像を複数のブロックに分割して参照部分画像を生成する参照部分画像生成工程と、
互いにその一部が重なり合う複数のブロックに前記入力画像を分割して複数の入力部分画像を生成する入力部分画像生成工程と、
前記入力部分画像と前記参照部分画像との間の類似度を算定する類似度算定工程と、
前記類似度算定工程によって算定された前記類似度を画素値としてもつ複数の類似度画像を生成する類似度画像生成工程と、
前記類似度画像生成工程によって生成された類似度画像における注目画素と当該注目画素の周辺画素との距離が大きいほど当該周辺画素の画素値が小さくなるように補正したうえで、補正後の各画素値の中で最大の画素値を他の類似度画像における前記注目画素の画素値に対して順次累積加算する累積加算工程と、
前記累積加算工程によって累積加算された各類似度画像の画素値が最大となる画素の画素位置を対応点として特定する対応点特定工程と
を備えたことを特徴とする対応点探索方法。
【請求項２】
前記対応点特定工程は、
前記累積加算工程によって累積加算された各類似度画像の画素値が最大となる画素の画素位置を、当該画素位置に隣接する画素の画素値に基づいて画素サイズよりも小さいサブピクセル単位で算出したうえで、算出した画素位置を対応点として特定するものであって、
前記対応点特定工程によって特定された対応点を用いた前記累積加算工程による累積加算および前記対応点特定工程によるあらたな対応点の特定を、前記ブロックのサイズを減少させつつ複数の階層にわたって繰り返す階層化特定工程
をさらに含んだことを特徴とする請求項１に記載の対応点探索方法。
【請求項３】
前記累積加算工程は、
前記類似度画像生成工程によって生成された複数の類似度画像における注目画素の周辺画素の各画素値の中から選択した１つの画素値を、横方向（ｊ方向）、該横方向の逆方向（−ｊ方向）、縦方向（ｉ方向）、該縦方向の逆方向（−ｉ方向）にそれぞれ隣接する類似度画像の画素値に対してそれぞれ独立に累積加算する際に、前記注目画素と前記周辺画素との距離が大きいほど前記周辺画素の各画素値が小さくなるように補正したうえで、補正後の各画素値の中で最大の画素値を他の類似度画像における前記注目画素の画素値に対して独立に累積加算する処理を繰り返し、累積加算処理された類似度画像の注目画素の周辺画素の最大値を前記類似度画像生成工程によって生成された類似度画像の注目画素の画素値に累積加算することを特徴とする請求項１または２に記載の対応点探索方法。
【請求項４】
前記階層化特定工程は、
前記入力画像に関して直前の階層に対応する第１の対応点と、前記第１の対応点に基づいて前記入力画像から変形を除去する補正を行った変形補正画像に関して最新の階層に対応する第２の対応点とを合成することで、前記入力画像に関して最新の階層に対応する対応点を得ることを特徴とする請求項１、２または３に記載の対応点探索方法。
【請求項５】
入力画像と該入力画像の比較対象となる参照画像とを対応付ける対応点を探索する対応点探索装置であって、
前記参照画像を複数のブロックに分割して参照部分画像を生成する参照部分画像生成手段と、
互いにその一部が重なり合う複数のブロックに前記入力画像を分割して複数の入力部分画像を生成する入力部分画像生成手段と、
前記入力部分画像と前記参照部分画像との間の類似度を算定する類似度算定手段と、
前記類似度算定手段によって算定された前記類似度を画素値としてもつ複数の類似度画像を生成する類似度画像生成手段と、
前記類似度画像生成手段によって生成された類似度画像における注目画素と当該注目画素の周辺画素との距離が大きいほど当該周辺画素の画素値が小さくなるように補正したうえで、補正後の各画素値の中で最大の画素値を他の類似度画像における前記注目画素の画素値に対して順次累積加算する累積加算手段と、
前記累積加算手段によって累積加算された各類似度画像の画素値が最大となる画素の画素位置を対応点として特定する対応点特定手段と
を備えたことを特徴とする対応点探索装置。
【請求項６】
入力画像と該入力画像の比較対象となる参照画像とを対応付ける対応点を探索する対応点探索プログラムであって、
前記参照画像を複数のブロックに分割して参照部分画像を生成する参照部分画像生成手順と、
互いにその一部が重なり合う複数のブロックに前記入力画像を分割して複数の入力部分画像を生成する入力部分画像生成手順と、
前記入力部分画像と前記参照部分画像との間の類似度を算定する類似度算定手順と、
前記類似度算定手順によって算定された前記類似度を画素値としてもつ複数の類似度画像を生成する類似度画像生成手順と、
前記類似度画像生成手順によって生成された類似度画像における注目画素と当該注目画素の周辺画素との距離が大きいほど当該周辺画素の画素値が小さくなるように補正したうえで、補正後の各画素値の中で最大の画素値を他の類似度画像における前記注目画素の画素値に対して順次累積加算する累積加算手順と、
前記累積加算手順によって累積加算された各類似度画像の画素値が最大となる画素の画素位置を対応点として特定する対応点特定手順と
をコンピュータに実行させることを特徴とする対応点探索プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、入力画像と該入力画像の比較対象となる参照画像とを対応付ける対応点を探索する対応点探索方法、対応点探索装置および対応点探索プログラムに関し、特に、誤差の発生を抑制して階層的な探索を可能ならしめることで探索速度を向上することができるとともに、密な対応点を高精度に得ることができる対応点探索方法、対応点探索装置および対応点探索プログラムに関する。
【背景技術】
【０００２】
従来から、ＣＣＤ（Charge  Coupled  Devices）カメラ等のカメラやスキャナなどの画像入力装置から入力された入力画像を、あらかじめ登録された参照画像と照合する際に、両画像の対応点を探索して画像間の対応付けを行う技術が知られている。
【０００３】
たとえば、特許文献１には、参照画像を所定のブロックサイズ（たとえば、７画素×７画素）に分割した参照部分画像と、入力画像を参照部分画像よりもサイズが大きく、かつ、互いに一部が重なり合うように分割した入力部分画像とを用いて対応点を探索する技術が開示されている。
【０００４】
具体的には、参照部分画像と入力部分画像との間の類似度を算出したうえで、算出された類似度を画素値としてもつ複数の類似度画像を生成し、かかる類似度画像を行方向および列方向に配列する。そして、各類似度画像における注目画素の周辺画素の画素値の中で最大の画素値を、他の類似度画像における注目画素の画素値に累積加算する処理を再帰的に行う。
【０００５】
ここで、かかる累積加算処理は、正の行方向、負の行方向、正の列方向および負の列方向の４方向について、それぞれ行われる。このように、特許文献１の技術によれば、大局的な情報を用いて対応点を探索するので、ローカルミニマム（局所解）に陥るケースを低減することができる。なお、特許文献１のように、１組の類似度画像群に対し、正の行方向、負の行方向、正の列方向および負の列方向の４方向についてそれぞれ累積加算処理を行う手法を、「シリアルアップデート法（Serial  Update  Method）」と呼ぶこととする。
【０００６】
また、特許文献２には、生成された類似度画像群を４枚複写したうえで、複写先の４枚の類似度画像群に関し、正の行方向、負の行方向、正の列方向および負の列方向の４方向についてそれぞれ独立した累積加算処理を行い、さらに、累積加算処理が行われた４枚の類似度画像群から複写元の類似度画像群に対して累積加算処理を行う技術が開示されている。なお、特許文献２のように、複数の類似度画像群をそれぞれ独立して累積加算したうえで、さらに複写元の類似度画像群に対して累積加算処理を行う手法を、「パラレルアップデート法（Parallel  Update  Method）」と呼ぶこととする。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特許第４１６０７６２号公報
【特許文献２】特開２００４−２８７５２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１および特許文献２の技術は、基準となる参照画像上にサンプル点を設定し、かかるサンプル点に対応する対象画像の対応点を検出する技術であるため、サンプル点の間隔（ブロックサイズ）を小さくしていくと、対応点の収束が得られず対応点を特定することができないという問題がある。
【０００９】
その理由は、密な対応点を検出しようとしてサンプル点の間隔を小さくしていくと、対応点の変形の自由度が大きくなりすぎて、隣接する対応点間における変形量の連続性が満たされず、正確な対応点を求めることが困難となってしまうためである。
【００１０】
また、特許文献１および特許文献２の技術を用いて対応点の探索処理を階層的に行おうとすると、誤差の累積によって対応点の検出精度が低下するという問題もある。ここで、階層的な探索とは、最初は、大きいブロックサイズで対応点の探索を行い、ブロックサイズを徐々に小さくしつつ対応点探索を繰り返すことを指す。なお、かかる階層的な探索を行えば探索速度の高速化を期待できる。
【００１１】
これらのことから、誤差の発生を抑制して階層的な探索を可能ならしめることで探索速度を向上することができるとともに、密な対応点を高精度に得ることができる対応点探索方法、対応点探索装置あるいは対応点探索プログラムをいかにして実現するかが大きな課題となっている。
【００１２】
この発明は、上述した従来技術による問題点を解消するためになされたものであり、誤差の発生を抑制して階層的な探索を可能ならしめることで探索速度を向上することができるとともに、密な対応点を高精度に得ることができる対応点探索方法、対応点探索装置および対応点探索プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
上述した課題を解決し、目的を達成するために、本発明は、入力画像と該入力画像の比較対象となる参照画像とを対応付ける対応点を探索する対応点探索方法であって、前記参照画像を複数のブロックに分割して参照部分画像を生成する参照部分画像生成工程と、互いにその一部が重なり合う複数のブロックに前記入力画像を分割して複数の入力部分画像を生成する入力部分画像生成工程と、前記入力部分画像と前記参照部分画像との間の類似度を算定する類似度算定工程と、前記類似度算定工程によって算定された前記類似度を画素値としてもつ複数の類似度画像を生成する類似度画像生成工程と、前記類似度画像生成工程によって生成された類似度画像における注目画素と当該注目画素の周辺画素との距離が大きいほど当該周辺画素の画素値が小さくなるように補正したうえで、補正後の各画素値の中で最大の画素値を他の類似度画像における前記注目画素の画素値に対して順次累積加算する累積加算工程と、前記累積加算工程によって累積加算された各類似度画像の画素値が最大となる画素の画素位置を対応点として特定する対応点特定工程とを備えたことを特徴とする。このように、距離を用いた拘束条件によって対応点の変形自由度を制限することによって、密な対応点を高精度に得ることができるという効果を奏する。
【００１４】
また、本発明は、上記の発明において、前記対応点特定工程は、前記累積加算工程によって累積加算された各類似度画像の画素値が最大となる画素の画素位置を、当該画素位置に隣接する画素の画素値に基づいて画素サイズよりも小さいサブピクセル単位で算出したうえで、算出した画素位置を対応点として特定するものであって、前記対応点特定工程によって特定された対応点を用いた前記累積加算工程による累積加算および前記対応点特定工程によるあらたな対応点の特定を、前記ブロックのサイズを減少させつつ複数の階層にわたって繰り返す階層化特定工程をさらに含んだことを特徴とする。このように、対応点をサブピクセル単位で検出することによって、階層化探索を行う場合に問題となる誤差の累積を抑制することで、階層化探索を可能ならしめることができるという効果を奏する。また、階層化探索を可能とすることで、探索速度を向上させることができるという効果を奏する。
【００１５】
また、本発明は、上記の発明において、前記累積加算工程は、前記類似度画像生成工程によって生成された複数の類似度画像における注目画素の周辺画素の各画素値の中から選択した１つの画素値を、横方向（ｊ方向）、該横方向の逆方向（−ｊ方向）、縦方向（ｉ方向）、該縦方向の逆方向（−ｉ方向）にそれぞれ隣接する類似度画像の画素値に対してそれぞれ独立に累積加算する際に、前記注目画素と前記周辺画素との距離が大きいほど前記周辺画素の各画素値が小さくなるように補正したうえで、補正後の各画素値の中で最大の画素値を他の類似度画像における前記注目画素の画素値に対して独立に累積加算する処理を繰り返し、累積加算処理された類似度画像の注目画素の周辺画素の最大値を前記類似度画像生成工程によって生成された類似度画像の注目画素の画素値に累積加算することを特徴とする。このように、距離を用いた拘束条件によって対応点の変形自由度を制限することによって、パラレルアップデート法においても、密な対応点を高精度に得ることができるという効果を奏する。
【００１６】
また、本発明は、上記の発明において、前記階層化特定工程は、前記入力画像に関して直前の階層に対応する第１の対応点と、前記第１の対応点に基づいて前記入力画像から変形を除去する補正を行った変形補正画像に関して最新の階層に対応する第２の対応点とを合成することで、前記入力画像に関して最新の階層に対応する対応点を得ることを特徴とする。このように、階層化レベルが深くなるほど密な対応点を得ることができるという効果を奏する。
【００１７】
また、本発明は、入力画像と該入力画像の比較対象となる参照画像とを対応付ける対応点を探索する対応点探索装置であって、前記参照画像を複数のブロックに分割して参照部分画像を生成する参照部分画像生成手段と、互いにその一部が重なり合う複数のブロックに前記入力画像を分割して複数の入力部分画像を生成する入力部分画像生成手段と、前記入力部分画像と前記参照部分画像との間の類似度を算定する類似度算定手段と、前記類似度算定手段によって算定された前記類似度を画素値としてもつ複数の類似度画像を生成する類似度画像生成手段と、前記類似度画像生成手段によって生成された類似度画像における注目画素と当該注目画素の周辺画素との距離が大きいほど当該周辺画素の画素値が小さくなるように補正したうえで、補正後の各画素値の中で最大の画素値を他の類似度画像における前記注目画素の画素値に対して順次累積加算する累積加算手段と、前記累積加算手段によって累積加算された各類似度画像の画素値が最大となる画素の画素位置を対応点として特定する対応点特定手段とを備えたことを特徴とする。
【００１８】
また、本発明は、入力画像と該入力画像の比較対象となる参照画像とを対応付ける対応点を探索する対応点探索プログラムであって、前記参照画像を複数のブロックに分割して参照部分画像を生成する参照部分画像生成手順と、互いにその一部が重なり合う複数のブロックに前記入力画像を分割して複数の入力部分画像を生成する入力部分画像生成手順と、前記入力部分画像と前記参照部分画像との間の類似度を算定する類似度算定手順と、前記類似度算定手順によって算定された前記類似度を画素値としてもつ複数の類似度画像を生成する類似度画像生成手順と、前記類似度画像生成手順によって生成された類似度画像における注目画素と当該注目画素の周辺画素との距離が大きいほど当該周辺画素の画素値が小さくなるように補正したうえで、補正後の各画素値の中で最大の画素値を他の類似度画像における前記注目画素の画素値に対して順次累積加算する累積加算手順と、前記累積加算手順によって累積加算された各類似度画像の画素値が最大となる画素の画素位置を対応点として特定する対応点特定手順とをコンピュータに実行させることを特徴とする。
【発明の効果】
【００１９】
本発明によれば、誤差の発生を抑制して階層的な探索を可能ならしめることで探索速度を向上することができるという効果を奏する。
【図面の簡単な説明】
【００２０】
【図１】図１は、本発明に係る対応点探索手法の概要を示す図である。
【図２】図２は、シリアルアップデート法およびパラレルアップデート法に対する本発明の適用例を示す図である。
【図３】図３は、本実施例に係る対応点探索装置の構成を示すブロック図である。
【図４】図４は、階層化レベル１から階層化レベル２への階層化処理の概要を示す図である。
【図５】図５は、階層化レベル２から階層化レベル３への階層化処理の概要を示す図である。
【図６】図６は、サブピクセル位置算出処理の一例を示す図である。
【図７】図７は、対応点探索装置が実行する処理手順を示すフローチャートである。
【図８】図８は、対応点探索部の構成を示すブロック図である。
【図９】図９は、参照画像の一例を示す図である。
【図１０】図１０は、入力画像の一例を示す図である。
【図１１】図１１は、参照部分画像の一例を示す図である。
【図１２】図１２は、入力部分画像の一例を示す図である。
【図１３】図１３は、類似度画像の作成概念を示す図である。
【図１４】図１４は、各入力部分画像に対応する類似度画像を示す図である。
【図１５】図１５は、累積加算手順を示す図である。
【図１６】図１６は、ｊ方向の累積加算処理を示す図である。
【図１７】図１７は、−ｊ方向の累積加算処理を示す図である。
【図１８】図１８は、ｉ方向の累積加算処理を示す図である。
【図１９】図１９は、−ｉ方向の累積加算処理を示す図である。
【図２０】図２０は、累積加算後の類似度画像を示す図である。
【図２１】図２１は、図２０に示した類似度画像の最大値の位置を示す図である。
【図２２】図２２は、対応点に基づいて再構成した入力画像のひずみの一例を示す図である。
【図２３】図２３は、対応点に基づいて再構成した入力画像のひずみの一例を示す図である。
【図２４】図２４は、図８に示した対応点探索部の処理手順を示すフローチャートである。
【図２５】図２５は、累積加算手順の一例を示すフローチャートである。
【図２６】図２６は、変形例に係る対応点探索部の構成を示すブロック図である。
【図２７】図２７は、変形例に係る累積加算手順を示す図である。
【図２８】図２８は、変形例に係るｊ方向の累積加算処理を示す図である。
【図２９】図２９は、変形例に係る−ｊ方向の累積加算処理を示す図である。
【図３０】図３０は、変形例に係るｉ方向の累積加算処理を示す図である。
【図３１】図３１は、変形例に係る−ｉ方向の累積加算処理を示す図である。
【図３２】図３２は、各累積加算結果を加算する概念図である。
【図３３】図３３は、図２６に示した対応点探索部の処理手順を示すフローチャートである。
【図３４】図３４は、変形例に係る累積加算処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００２１】
以下に添付図面を参照して、この発明に係る対応点探索手法の好適な実施例を詳細に説明する。なお、以下では、本発明に係る対応点探索手法を適用した対応点探索装置が、文字画像を探索対象とする場合について説明するが、文字画像と同様に、同じ対象を撮像しても異なる内容となる可能性がある画像、たとえば、顔画像や掌画像などの生体画像を探索対象とすることも可能である。
【００２２】
また、以下では、本発明に係る対応点探索手法の概要について図１および図２を用いて説明した後に、本発明に係る対応点探索手法を適用した対応点探索装置についての実施例を図３以降の各図を用いて説明することとする。
【００２３】
まず、本発明に係る対応点探索手法の概要について説明する。図１は、本発明に係る対応点探索手法の概要を示す図である。同図に示すように、本発明に係る対応点探索手法は、参照画像におけるサンプル点の間隔（以下、「サンプル間隔」と記載する）を、徐々に狭めつつ、対応点の探索を行っていく（階層化探索）。なお、同図の（１ａ）、（２ａ）および（３ａ）に示す格子（メッシュ）の交点がサンプル点を指す。
【００２４】
従来、参照画像におけるサンプル点に対応する対応点を入力画像内で探索する場合、かかる対応点の探索は画素単位で行われていた。たとえば、探索された対応点の座標が、（１．４，２．５）であれば、かかる座標を四捨五入し、（１，３）と決定していた。しかし、このように対応点の最小単位を画素としてしまうと、階層化探索を行った場合に、誤差の累積によって探索精度が悪化してしまうという問題があった。
【００２５】
また、階層化探索を行わない場合であっても、サンプル間隔を狭くしすぎると、対応点の変形の自由度が大きくなりすぎて正確な対応点を求めることができないという問題もあった。具体的には、いきなり狭いサンプル間隔で、対応点を求めようとすると、サンプル点から大きくずれる対応点が多数検出されてしまうので、本来は隣り合う対応点が滑らかに変形するはずであるのに、変形の滑らかさを担保することができない。
【００２６】
そこで、本発明に係る対応点探索手法では、拘束条件を付加した更新式（以下、「拘束条件付更新式」と記載する）を用いることによって、密なサンプル点を設定した場合、すなわち、サンプル間隔を狭くした場合であっても、対応点の変形の自由度を制限することとした。したがって、密なサンプル点に対しても、対応点の滑らかな変形を担保することができる。
【００２７】
また、本発明に係る対応点探索手法では、対応点の座標を、画素単位ではなく、画素単位よりも小さい「サブピクセル単位」で求めることとした。これにより、上記した階層化探索を行う場合であっても誤差の累積を減少させることができるので、対応点の探索精度を向上させることができる。
【００２８】
具体的には、本発明に係る対応点探索手法では、所定のサンプル間隔で対応点の探索を開始する（同図の（０）参照）。なお、同図では、最初のサンプル間隔に対応する階層化レベルをレベル１、レベル１よりもサンプル間隔を狭めた階層化レベルをレベル２というようにあらわしている。
【００２９】
レベル１では、最初のサンプル間隔のサンプル点を参照画像上に設定し、かかるサンプル点にそれぞれ対応する対応点を入力画像上で探索する処理を行う。ここで、対応点は、サブピクセル単位で検出される（同図の（１ａ）参照）。また、対応点の探索には、上記した拘束条件付更新式を用いる。
【００３０】
そして、サンプル間隔を狭めたうえで（同図の（１ｂ）参照）、レベル２へと移行する。そして、レベル２では、レベル１よりも狭められたサンプル間隔で対応点を探索する処理を行う。ここでも、対応点は、サブピクセル単位で検出され（同図の（２ａ）参照）、対応点の探索には、上記した拘束条件付更新式を用いる。
【００３１】
つづいて、さらにサンプル間隔を狭めたうえで（同図の（２ｂ）参照）、レベル３へと移行し、レベル３では、レベル２よりも狭められたサンプル間隔で対応点を探索する処理を行う。ここでも、対応点は、サブピクセル単位で検出され（同図の（３ａ）参照）、対応点の探索には、上記した拘束条件付更新式を用いる。
【００３２】
このように、各階層化レベルにおいて、対応点をサブピクセル単位で検出することで、階層化レベルが深まった場合であっても、検出誤差の累積を減少させることができる。また、拘束条件付更新式を用いることで、階層化レベルを問わず滑らかな変形を反映した対応点を得ることができる。したがって、本発明に係る対応点探索手法によれば、誤差の発生を抑制して階層的な探索を可能ならしめることで探索速度を向上することができるとともに、密な対応点を高精度に得ることができる。
【００３３】
なお、階層化探索を行う場合には、最終的には、サンプル間隔が画素単位（１ピクセル）となるまで、すなわち、対応点を画素単位（１ピクセル）で検出するまで、任意数のレベルを設けることができる。また、必ずしもサンプル間隔が画素単位となるまで階層化探索を繰り返す必要性はなく、直前の階層化レベルと最新の階層化レベルとの間で対応点の変化量が所定値よりも小さければ、階層化探索を打ち切ることとしてもよい。
【００３４】
図２は、シリアルアップデート法およびパラレルアップデート法に対する本発明の適用例を示す図である。なお、同図の（Ａ）には、シリアルアップデート方法に対する本発明の適用例を、同図の（Ｂ）には、パラレルアップデート法に対する本発明の適用例を、それぞれ示している。なお、シリアルアップデート法の詳細については図８〜図２５を用いて、パラレルアップデート法の詳細については図２６〜図３４を用いて、それぞれ後述することとする。
【００３５】
図２の（Ａ）に示すように、シリアルアップデート法では、類似度画像全体Ｃ（ｍ，ｎ，ｕ，ｖ）について、同図に示す４方向（ｊ方向、−ｊ方向、ｉ方向、−ｉ方向）の更新処理を行う。かかるシリアルアップデート法に、本発明を適用する場合には、各更新処理を、本発明に係る拘束条件付更新式を用いて行うこととすればよい。
【００３６】
また、図２の（Ｂ）に示すように、パラレルアップデート法では、類似度画像全体Ｃ（ｍ，ｎ，ｕ，ｖ）を４枚複写し、これらをそれぞれＤ１（ｍ，ｎ，ｕ，ｖ）、Ｄ２（ｍ，ｎ，ｕ，ｖ）、Ｄ３（ｍ，ｎ，ｕ，ｖ）、Ｄ４（ｍ，ｎ，ｕ，ｖ）とし、それぞれｊ方向、−ｊ方向、ｉ方向、−ｉ方向の累積加算に使用する。かかるパラレルアップデート法に、本発明を適用する場合には、Ｄ１（ｍ，ｎ，ｕ，ｖ）〜Ｄ４（ｍ，ｎ，ｕ，ｖ）の更新処理を、本発明に係る拘束条件付更新式を用いて行うこととすればよい。
【００３７】
以下では、図１および図２を用いて説明した本発明に係る対応点探索手法を適用した対応点探索装置についての実施例を説明する。
【実施例】
【００３８】
図３は、本実施例に係る対応点探索装置１０の構成を示すブロック図である。同図に示すように、対応点探索装置１０は、画像入力部１１と、階層化情報記憶部１２と、階層化処理部１３と、収束判定部１４と対応点探索部２０とを備えている。
【００３９】
画像入力部１１は、入力画像および参照画像を入力する入力部である。具体的には、光学的に画像を取得するスキャナや、ネットワークから画像を取得するインタフェース部や、二次記憶装置から画像を読み出す読み出し部が該当する。
【００４０】
ここで、入力画像は、対応点の探索対象となる画像であり、歪みや変形を伴うものであってもよい。これに対し、参照画像は、入力画像の比較対象となる画像であり、歪みや変形を伴わないものであることが望ましい。なお、画像入力部１１は、受け付けた入力画像および参照画像を対応点探索部２０へ渡す処理を併せて行う。
【００４１】
階層化情報記憶部１２は、図１に示した各階層化レベル（レベル１、レベル２など）と、各階層化レベルで用いるサンプル間隔とを対応付けた情報である階層化情報を記憶する記憶部である。たとえば、階層化情報には、レベル１のサンプル間隔が１０画素、レベル２のサンプル間隔が８画素、最終レベルのサンプル間隔が１画素である旨を予め定義する。なお、階層化情報記憶部１２は、ハードディスクドライブや不揮発性メモリといった記憶デバイスで構成することができる。
【００４２】
階層化処理部１３は、階層化情報記憶部１２から読み出した階層化情報に基づき、サンプル間隔を徐々に狭めながら対応点の階層化探索を制御する処理を行う処理部である。具体的には、この階層化処理部１３は、レベル１のサンプル間隔で、対応点の探索を行うように対応点探索部２０を指示するとともに、対応点探索部２０によって探索された対応点（レベル１）の変形（サンプル点からのずれ量）を補正した変形補正画像（レベル１）を生成する。
【００４３】
そして、レベル２のサンプル間隔で、変形補正画像（レベル１）から対応点を探索するように対応点探索部２０に指示するとともに、対応点探索部２０によって探索された変形補正画像（レベル１）上の対応点（レベル２）と、先に探索されている対応点（レベル１）とを合成することで、入力画像上の対応点（レベル２）を生成する。
【００４４】
つづいて、同様の処理をレベル３、レベル４等について繰り返していくことで、対応点の探索単位を徐々に小さくしていき、最終的には、対応点の探索単位が画素（１ピクセル）になるまで階層化探索を繰り返していく。
【００４５】
ここで、階層化処理部１３が行う処理の概要について図４および図５を用いて説明しておく。図４は、階層化レベル１から階層化レベル２への階層化処理の概要を示す図であり、図５は、階層化レベル２から階層化レベル３への階層化処理の概要を示す図である。なお、以下の説明では、階層化レベル１、階層化レベル２などを、単に、レベル１、レベル２などと記載することとする。
【００４６】
まず、レベル１からレベル２への階層化処理について図４を用いて説明する。図４に示したように、レベル１では、レベル１に対応付けられたサンプル間隔で参照画像上にサンプル点を設定し、サンプル点が設定された参照画像と入力画像との対応付けを行う（図４の（１）参照）。そして、対応点探索部２０によって対応点探索が行われ（図４の（２）参照）、入力画像上のレベル１における対応点である対応点（レベル１）を得る。
【００４７】
また、レベル１では、対応点（レベル１）の変形（サンプル点からのずれ量）を補正した変形補正画像（レベル１）を生成する（図４の（３）参照）。なお、後述するように、この変形補正画像（レベル１）は、レベル２において参照画像の対応付け対象となる。
【００４８】
レベル２では、レベル１に対応付けられたサンプル間隔で参照画像上にサンプル点を設定し、サンプル点が設定された参照画像と、先に生成された変形補正画像（レベル１）との対応付けを行う（図４の（４）参照）。そして、対応点探索部２０によって対応点探索が行われ（図４の（５）参照）、変形補正画像（レベル１）上のレベル２における対応点である「変形補正画像（レベル１）上の対応点（レベル２）」を得る。
【００４９】
つづいて、階層化処理部１３は、レベル１で得た「入力画像上の対応点（レベル１）」と、レベル２で得た「変形補正画像（レベル１）上の対応点（レベル２）」とを合成する（図４の（６）参照）。具体的には、階層化処理部１３は、「入力画像上の対応点（レベル１）」および「変形補正画像（レベル１）上の対応点（レベル２）」を、それぞれ画素（１ピクセル）単位で補間したうえで、両者を足し合わせる。なお、補間処理には、線形補間や非線形補間に関する一般的な補間手法を用いることができる。
【００５０】
このような合成を行うことで、レベル２における「入力画像上の対応点（レベル２）」が得られるので、入力画像へ適用し（図４の（７）参照）、変形補正を行うことで（図４の（８）参照）、変形補正画像（レベル２）を生成する。
【００５１】
なお、変形補正画像（レベル１）を変形補正して変形補正画像（レベル２）を生成することも可能である。しかし、変形補正時に画像に対する補間処理が行われるので、補間処理に伴う誤差の累積によって画像が少しずつぼやけていき、対応点の検出を高精度に行うことが難しくなる。このため、上述のように、入力画像上の対応点（レベル２）を得たうえで、この対応点（レベル２）を入力画像へ適用して変形補正画像（レベル２）を生成することが好ましい。
【００５２】
次に、レベル２からレベル３への階層化処理について図５を用いて説明する。なお、説明の都合上、図４の下段に示したレベル２の処理を、図５の上段に再度記載しているが、実際には、レベル２おける処理は、１回のみ行うこととすればよい。
【００５３】
図５に示したように、レベル２では、レベル２に対応付けられたサンプル間隔で参照画像上にサンプル点を設定し、サンプル点が設定された参照画像と変形補正画像（レベル１）との対応付けを行う（図５の（１）参照）。そして、対応点探索部２０によって対応点探索が行われ、上述した「入力画像上の対応点（レベル２）」を対応点合成の対象として使用することとする（図５の（２）参照）。
【００５４】
また、レベル２では、「入力画像上の対応点（レベル２）」の変形を補正した変形補正画像（レベル２）を生成する（図５の（３）参照）。なお、後述するように、この変形補正画像（レベル２）は、レベル３において参照画像の対応付け対象となる。
【００５５】
レベル３では、レベル３に対応付けられたサンプル間隔で参照画像上にサンプル点を設定し、サンプル点が設定された参照画像と、先に生成された変形補正画像（レベル２）との対応付けを行う（図５の（４）参照）。そして、対応点探索部２０によって対応点探索が行われ（図５の（５）参照）、変形補正画像（レベル２）上のレベル３における対応点である「変形補正画像（レベル２）上の対応点（レベル３）」を得る。
【００５６】
つづいて、階層化処理部１３は、レベル２で得た「入力画像上の対応点（レベル２）」と、レベル３で得た「変形補正画像（レベル２）上の対応点（レベル３）」とを合成する（図５の（６）参照）。このようにして、レベル３における「入力画像上の対応点（レベル３）」が得られるので、入力画像へ適用し（図５の（７）参照）、変形補正を行うことで（図５の（８）参照）、変形補正画像（レベル３）を生成する。以下、図５に示した処理を、レベル４、レベル５のように繰り返していくことになる。
【００５７】
図３の説明に戻り、収束判定部１４について説明する。収束判定部１４は、階層化処理部１３経由で受け取った対応点探索部２０からの対応点の収束状況を判定し、異なるレベル間における対応点の変化量が所定の閾値を下回った場合に、階層化処理を打ち切る判定を行う処理部である。なお、収束判定部１４は、階層化情報記憶部１２の階層化情報における最大レベルに達した際にも階層化処理を打ち切る判定を行うものとする。
【００５８】
対応点探索部２０は、階層化処理部１３から指示されたサンプル間隔で対応点の探索を行うとともに、探索した対応点を階層化処理部１３へ通知する処理を行う処理部である。また、この対応点探索部２０は、上記した「拘束条件付更新式」を用いて対応点を探索するとともに、対応点の座標を、画素単位ではなく、画素単位よりも小さい「サブピクセル単位」で求める。
【００５９】
次に、対応点探索部２０によって行われるサブピクセル位置算出処理の例について図６を用いて説明する。図６は、サブピクセル位置算出処理の一例を示す図である。対応点探索部２０は、初期の類似度画像群に対して再帰的な更新による弛緩処理を行うことで類似度画像群を収束させる。このようにして得られた収束後の類似度画像群を構成する各類似度画像において、各画素の画素値は、類似度（Ｒ）をあらわしている。
【００６０】
たとえば、同図に示した「１つの類似度画像」の中で、最大の類似度（Ｒ）をもつ画素である対応点と、対応点の各周辺画素とを抜き出すと、同図に示すように、３画素×３画素の９つの画素が得られる。ここで、対応点および対応点の４近傍の画素位置は、ピクセル単位であれば同図に「×」で示した位置となる。
【００６１】
ここで、対応点の画素位置を（ｘ，ｙ）をとし、かかる画素の４近傍の画素位置を、それぞれ、（ｘ−１，ｙ）、（ｘ＋１，ｙ）、（ｘ，ｙ−１）、（ｘ，ｙ＋１）とする。そして、各画素の類似度をＲ（ｘ，ｙ）とすると、対応点のサブピクセル単位の位置（ｘ’，ｙ’）をパラボラフィッティングによって求めると、
ｘ’＝（Ｒ（ｘ−１，ｙ）−Ｒ（ｘ＋１，ｙ））／
（２Ｒ（ｘ−１，ｙ）−４Ｒ（ｘ，ｙ）＋２Ｒ（ｘ＋１，ｙ））
ｙ’＝（Ｒ（ｘ，ｙ−１）−Ｒ（ｘ，ｙ＋１））／
（２Ｒ（ｘ，ｙ−１）−４Ｒ（ｘ，ｙ）＋２Ｒ（ｘ，ｙ＋１））
となる。なお、パラボラフィッティングの代わりにスプライン補間などの他の補間手法を用いることとしてもよい。
【００６２】
たとえば、同図に示したように、Ｒ（ｘ，ｙ）＝１００、Ｒ（ｘ−１，ｙ）＝８５、Ｒ（ｘ＋１，ｙ）＝６０、Ｒ（ｘ，ｙ−１）＝８０、Ｒ（ｘ，ｙ＋１）＝９０の場合には、対応点のサブピクセル単位の位置（ｘ’，ｙ’）は、（０．２２７２・・・，０．１６６６・・・）と算出される。なお、小数点以下何桁までを有効とするかは任意に定めることができる。
【００６３】
このように、対応点探索部２０は、対応点の座標を、画素単位ではなく、画素単位よりも小さい「サブピクセル単位」で求める。これにより、階層化処理部１３の指示によって階層化探索がなされた場合であっても、検索誤差の累積を抑制することができる。
【００６４】
次に、対応点探索装置１０が実行する処理手順について図７を用いて説明する。図７は、対応点探索装置１０が実行する処理手順を示すフローチャートである。なお、同図では、レベル（階層化レベル）を変数Ｌであらわし、レベルＬに対応するサンプル間隔などをサンプル間隔（Ｌ）のように記載している。
【００６５】
図７に示したように、階層化処理部１３は、レベルを１（Ｌ＝１）とし（ステップＳ１０１）、階層化情報記憶部１２から取得したサンプル間隔（Ｌ）をセットする（ステップＳ１０２）。そして、レベルが１（Ｌ＝１）であるか否かを判定し（ステップＳ１０３）、レベルが１の場合には（ステップＳ１０３，Ｙｅｓ）、対応点探索部２０は、参照画像と入力画像とをサンプル間隔（Ｌ）で対応付ける（ステップＳ１０４）。
【００６６】
つづいて、入力画像上の対応点（Ｌ）をサブピクセル単位で決定し（ステップＳ１０５）、入力画像上の対応点（Ｌ）を変形補正して変形補正画像（Ｌ）を生成する（ステップＳ１０６）。
【００６７】
次に、階層化処理部１３は、サンプル間隔（Ｌ＋１）をセットし（ステップＳ１０７）、対応点探索部２０は、参照画像と変形補正画像（Ｌ）とをサンプル間隔（Ｌ＋１）で対応付ける（ステップＳ１０８）。そして、変形補正画像（Ｌ）上の対応点（Ｌ＋１）をサブピクセル単位で決定する（ステップＳ１０９）。
【００６８】
つづいて、入力画像上の対応点（Ｌ）と、変形補正画像（Ｌ）上の対応点（Ｌ＋１）とを合成して入力画像上の対応点（Ｌ＋１）を生成し（ステップＳ１１０）、入力画像上の対応点（Ｌ＋１）を変形補正して変形補正画像（Ｌ＋１）を生成する（ステップＳ１１１）。
【００６９】
そして、収束判定部１４は、直前のレベルにおける対応点と、最新のレベルにおける対応点との間の変形が収束したか否かを判定し（ステップＳ１１２）、変形が収束した場合には（ステップＳ１１２，Ｙｅｓ）、処理を終了する。一方、ステップＳ１１２の判定条件を満たさなかった場合には（ステップＳ１１２，Ｎｏ）、レベルＬをインクリメントしたうえで（ステップＳ１１３）、ステップＳ１０２以降の処理を繰り返す。
【００７０】
ここで、２回目以降にステップＳ１０３の判定を行う場合には、Ｌが２以上となってステップＳ１０３の判定条件を満たさないので（ステップＳ１０３，Ｎｏ）、ステップＳ１０４〜ステップＳ１０６の処理を行うことなく、ステップＳ１０７以降の処理を行うことになる。
【００７１】
なお、図７では、ステップＳ１１２において変形が収束したか否かを階層化探索の打ち切り条件とする場合について示したが、サンプル間隔が画素単位となるまで階層化探索を繰り返すこととしてもよい。
【００７２】
次に、図３に示した対応点探索部２０の構成およびその動作について、さらに詳細に説明する。なお、以下では、上記した「シリアルアップデート法」を行う対応点探索部２０（対応点探索部２０ａ）について図８〜図２５を用いて説明し、「パラレルアップデート法」を行う対応点探索部２０（対応点探索部２０ｂ）について図２６〜図３４を用いて説明することとする。
【００７３】
まず、「シリアルアップデート法」を行う対応点探索部２０ａについて説明する。図８は、対応点探索部２０ａの構成を示すブロック図である。同図に示す対応点探索部２０ａは、（１）入力画像を分割した入力部分画像と参照画像を分割した参照部分画像との間の類似度を示す類似度画像を作成する類似度画像作成段階と、（２）複数の類似度画像を累積加算した結果に基づいて最適な対応点を決定する対応点決定段階とからなる。
【００７４】
具体的には、（１）類似度画像作成段階では、たとえば、７×７画素のサイズからなる参照部分画像を２１×２１画素のサイズからなる入力部分画像内を移動させつつ両画像間の相関値を順次求め、求めた相関値を画素値としてもつ類似度画像を作成する。このため、作成した類似度画像は、参照部分画像上の中心点が入力部分画像上の点にどの程度類似しているかを示すことになる。
【００７５】
次に、（２）対応点決定段階では、各類似度画像の画素値を垂直方向および水平方向について再帰的な累積加算を繰り返しながら各類似度画像を更新し、各類似度画像を形成する画素のうち最大の画素値をもつ画素の位置を求め、求めた位置を入力部分画像上での対応点として決定する。
【００７６】
このように、この対応点探索部２０ａによれば、従来よりも大局的な最適化を行っているためローカルミニマム（局所解）に陥り難くなり、また、累積加算を繰り返す最適化の微調整によって対応付けの精度が高くなり、さらに、並列分散処理が可能になるのでハードウェア化が容易となる。
【００７７】
次に、対応点探索部２０ａの構成について説明する。なお、ここでは参照画像、入力画像の順に画像を入力する場合を示すこととする。図８に示すように、対応点探索部２０ａは、画像入力部２０ａａと、分割処理部２０ａｂと、参照部分画像一時記憶部２０ａｃと、類似度画像作成部２０ａｄと、累積加算処理部２０ａｅと、対応点決定部２０ａｆとを備えている。
【００７８】
画像入力部２０ａａは、対応点探索装置２０から、縦横のサイズＩ、Ｊからなる参照画像Ｉ０（ｉ，ｊ）（０≦ｉ≦Ｉ−１，０≦ｊ≦Ｊ−１）および入力画像Ｉ１（ｉ，ｊ）を受け付ける。
【００７９】
図９には参照画像２１を示しており、図１０には入力画像２２を示している。ここでは、説明を簡単にするために、参照画像２１および入力画像２２としてアルファベット「ａ」の３２×３２画素からなる文字画像を用いて説明する。
【００８０】
分割処理部２０ａｂは、画像入力部２０ａａによって入力された入力画像および参照画像を入力部分画像および参照部分画像にそれぞれ分割する処理部である。ただし、入力画像の分割手順と参照画像の分割手順とはそれぞれ異なる。
【００８１】
参照画像を分割する場合には、参照画像上で縦方向にＭ個、横方向にＮ個サンプリングした点（ｐｍ，ｑｎ）（０≦ｍ≦Ｍ−１，０≦ｎ≦Ｎ−１）を中心とした参照部分画像を作成する。図１１は、図９に示した参照画像２１の分割結果の一例を示す図であり、図１１に示すように、ここでは３２×３２画素の参照画像２１を７×７画素からなる２５個の参照部分画像に分割している。具体的には、ｐｍ＝Ｉ／Ｍ、ｑｎ＝Ｊ／Ｎであり、小数点以下についても所定の桁数を保持する。
【００８２】
入力画像を分割する場合には、参照画像を分割する場合とは異なり、各入力部分画像の一部が重なり合う重複したデータをもつように分割する。図１２は、図１０に示した入力画像２２の分割結果の一例を示す図であり、同図に示すように、ここでは３２×３２画素の入力画像２２を２１×２１画素からなる２５個の入力部分画像に分割している。
【００８３】
参照部分画像一時記憶部２０ａｃは、分割処理部２０ａｂで分割した各参照部分画像を一時記憶する記憶部であり、類似度画像作成部２０ａｄが類似度画像を作成する際に、該当する参照部分画像が取り出される。
【００８４】
類似度画像作成部２０ａｄは、入力部分画像と参照部分画像との間の変形を考慮した類似度を算定し、算定した類似度を画素値としてもつ類似度画像Ｃ（ｍ，ｎ，ｕ，ｖ）（０≦ｍ≦Ｍ−１，０≦ｎ≦Ｎ−１，０≦ｕ≦Ｕ−１，０≦ｖ≦Ｖ−１）を作成する処理部である。ただし、Ｕ、Ｖは、それぞれ類似度画像の縦横のサイズであるものとする。この類似度としては、たとえば、正規化相関係数（σｆｇ／（σｆ・σｇ））を用いることができる。
【００８５】
図１３は、参照部分画像および入力部分画像から類似度画像を作成する概念を示す図である。なお、ここでは、図１１および図１２の２行２列に位置する入力部分画像および参照部分画像を用いることとする。
【００８６】
同図に示す入力部分画像５１と参照部分画像５２との間の類似度を求める場合には、参照部分画像５２の中心画素を入力部分画像５１の左上部の画素に対応付けて正規化相関係数を計算し、計算結果を類似度画像５３の左上部の画素の画素値とする。その後、参照部分画像５２を右へずらし、同様の処理を行う。上記処理を参照部分画像５２をずらしながら入力部分画像５１の全画素について行うことによって類似度画像５３が求められる。
【００８７】
かかる類似度画像の作成処理を入力部分画像ごとに行うと、図１４に示すような複数の類似度画像が得られる。なお、参照部分画像の全ての画素の画素値が一定値である場合には、正規化相関係数の分母がゼロとなるため、この場合の類似度画像の画素値もゼロとなる。
【００８８】
累積加算処理部２０ａｅは、図１５に示すように、各類似度画像をｊ方向、−ｊ方向、ｉ方向、−ｉ方向の順序で再帰的に累積加算する処理部である。具体的には、ｊ方向に累積加算する場合には、ｎ＝１〜Ｎ−１の類似度画像について、
Ｃ（ｍ，ｎ，ｕ，ｖ）＝Ｃ（ｍ，ｎ，ｕ，ｖ）
＋α・Ｍａｘ（Ｃ（ｍ，ｎ−１，ｐ，ｑ）−ｗ（Δｄ））
を順次再帰的に計算する。ただし、Ｍａｘ（）は最大値を示し、αは定数であり、０≦ｕ≦Ｕ−１、０≦ｖ≦Ｖ−１、０≦ｍ≦Ｍ−１、０≦ｎ≦Ｎ−１、ｕ−１≦ｐ≦ｕ＋１、ｖ−１≦ｑ≦ｖ＋１とする。
【００８９】
また、ｗ（Δｄ）は、たとえば、ｗ（Δｄ）＝β・ｅｘｐ（Δｄ／Ｔ）であらわされる重みである（βおよびＴは定数）。そして、Δｄは、画素（ｕ，ｖ）と画素（ｐ，ｑ）との距離であり、
Δｄ＝ｓｑｒｔ（（ｕ−ｐ）２＋（ｖ−ｑ）２））
とあらわされる。なお、ｓｑｒｔ（）は平方根を示している。
【００９０】
ここで、「−ｗ（Δｄ）」は、拘束条件であり、Δｄが大きいほど、すなわち、画素（ｕ，ｖ）と画素（ｐ，ｑ）との距離が大きいほど、「Ｃ（ｍ，ｎ−１，ｐ，ｑ）−ｗ（Δｄ）」は小さい値となる。なお、ｗ（Δｄ）＝β・Δｄとすることとしてもよい（βは定数）。
【００９１】
すなわち、ｊ方向に累積加算する場合には、図１６に示すように、Ｃ（ｍ，ｎ−１，ｐ，ｑ）を中心とする３×３画素の中から最大の画素値を求める際に、各画素値からｗ（Δｄ）を差し引いた値同士を比較する。そして、拘束条件を反映した各値の中で最大の値をα倍し、Ｃ（ｍ，ｎ，ｕ，ｖ）の画素値に加算する処理を再帰的に繰り返すことになる。
【００９２】
なお、本実施例では、３×３画素の中から最大の画素値を求める場合について説明するが、５×５画素のように３×３画素以外の画素群の中から最大の画素値を求めることとしてもよい。また、４×４画素のように、中心画素が存在せず、画素のかたよりが発生する画素群を用いることとしてもよい。
【００９３】
また、−ｊ方向に累積加算する場合には、ｎ＝Ｎ−２〜０の類似度画像について、
Ｃ（ｍ，ｎ，ｕ，ｖ）＝Ｃ（ｍ，ｎ，ｕ，ｖ)
＋α・Ｍａｘ（Ｃ（ｍ，ｎ＋１，ｐ，ｑ）−ｗ（Δｄ））
を順次再帰的に計算する。ただし、０≦ｕ≦Ｕ−１、０≦ｖ≦Ｖ−１、０≦ｍ≦Ｍ−１、０≦ｎ≦Ｎ−２とする。また、Δｄ＝ｓｑｒｔ（（ｕ−ｐ）２＋（ｖ−ｑ）２））である。
【００９４】
すなわち、−ｊ方向に累積加算する場合には、図１７に示すように、Ｃ（ｍ，ｎ＋１，ｐ，ｑ）を中心とする３×３画素の中から最大の画素値を求める際に、各画素値からｗ（Δｄ）を差し引いた値同士を比較する。そして、拘束条件を反映した各値の中で最大の値をα倍し、Ｃ（ｍ，ｎ，ｕ，ｖ）の画素値に加算する処理を再帰的に繰り返すことになる。
【００９５】
また、ｉ方向に累積加算する場合には、ｍ＝１〜Ｍ−１の類似度画像について、
Ｃ（ｍ，ｎ，ｕ，ｖ）＝Ｃ（ｍ，ｎ，ｕ，ｖ）
＋α・Ｍａｘ（Ｃ（ｍ−１，ｎ，ｐ，ｑ）−ｗ（Δｄ））
を順次再帰的に計算する。ただし、０≦ｕ≦Ｕ−１、０≦ｖ≦Ｖ−１、０≦ｍ≦Ｍ−１、０≦ｎ≦Ｎ−１とする。また、Δｄ＝ｓｑｒｔ（（ｕ−ｐ）２＋（ｖ−ｑ）２））である。
【００９６】
すなわち、ｉ方向に累積加算する場合には、図１８に示すように、Ｃ（ｍ−１，ｎ，ｐ，ｑ）を中心とする３×３画素の中から最大の画素値を求める際に、各画素値からｗ（Δｄ）を差し引いた値同士を比較する。そして、拘束条件を反映した各値の中で最大の値をα倍し、Ｃ（ｍ，ｎ，ｕ，ｖ）の画素値に加算する処理を再帰的に繰り返すことになる。
【００９７】
また、−ｉ方向に累積加算する場合には、ｍ＝Ｍ−２〜０の類似度画像について、
Ｃ（ｍ，ｎ，ｕ，ｖ）＝Ｃ（ｍ，ｎ，ｕ，ｖ)
＋α・Ｍａｘ（Ｃ（ｍ＋１，ｎ，ｐ，ｑ）−ｗ（Δｄ））
を順次再帰的に計算する。ただし、０≦ｕ≦Ｕ−１、０≦ｖ≦Ｖ−１、０≦ｍ≦Ｍ−２、０≦ｎ≦Ｎ−１とする。また、Δｄ＝ｓｑｒｔ（（ｕ−ｐ）２＋（ｖ−ｑ）２））である。
【００９８】
すなわち、−ｉ方向に累積加算する場合には、図１９に示すように、Ｃ（ｍ＋１，ｎ，ｐ，ｑ）を中心とする３×３画素の中から最大の画素値を求める際に、各画素値からｗ（Δｄ）を差し引いた値同士を比較する。そして、拘束条件を反映した各値の中で最大の値をα倍し、Ｃ（ｍ，ｎ，ｕ，ｖ）の画素値に加算する処理を再帰的に繰り返すことになる。
【００９９】
対応点決定部２０ａｆは、累積加算処理部２０ａｅと連携しながら累積加算後の類似度画像に基づいて対応点を決定する処理部である。具体的には、各方向についての累積加算処理を行った時点で各類似度画像の最大値の位置を検出し、それらの位置と前回の累積加算処理時における最大値の位置との変化が所定の範囲内でなければ累積加算処理をフィードバックして繰り返し、所定の範囲内となった時点で繰り返しを終了する。そして、繰り返し終了時における各類似度画像の最大値の位置を対応点として決定する。
【０１００】
たとえば、累積加算処理の繰り返しによって図２０に示す各類似度画像が得られた場合には、各類似度画像の最大値の位置の変化分を調べ、調べた変化分が所定の範囲内となった場合には、図２１に示すように各類似度画像の最大値の位置を求めてこれを対応点とする。そして、この対応点に基づいて入力画像のひずみを図示すると図２２あるいは図２３のようになる。
【０１０１】
次に、図８に示した対応点探索部２０ａの処理手順について説明する。なお、上記説明と一部重複するが、図９〜図２３を用いて処理の流れを例示しつつ処理手順について説明することとする。
【０１０２】
図２４は、図８に示した対応点探索部２０ａの処理手順を示すフローチャートである。同図に示すように、この対応点探索部２０ａが参照画像および入力画像を取得したならば、取得した参照画像を参照部分画像に分割する（ステップＳ２０１）。たとえば、図９に示した３２×３２画素の参照画像２１を図１１に示した７×７画素からなる２５個の参照部分画像に分割して記憶する。この参照部分画像は、参照したい画像毎に予め記憶しておいてもよいし、また、参照部分画像ではなく、参照画像のみを予め別途記憶しておき、後述する入力画像と参照画像との類似度の計算の際に、記憶された参照画像から参照部分画像に分割してもよい。
【０１０３】
つづいて、入力画像を入力部分画像に分割する（ステップＳ２０２）。たとえば、図１０に示した３２×３２画素の入力画像２２を図１２に示した２１×２１画素からなる２５個の入力部分画像に分割する。
【０１０４】
そして、この参照部分画像と入力部分画像との間の類似度画像を作成する（ステップＳ２０３）。たとえば、図１３に示すようにして入力部分画像５１と参照部分画像５２との類似度を画素値とする類似度画像５３の作成を入力部分画像毎に行って図１４に示したような複数の類似度画像を作成する。
【０１０５】
つづいて、ｊ方向の累積加算処理（ステップＳ２０４）、−ｊ方向の累積加算処理（ステップＳ２０５）、ｉ方向の累積加算処理（ステップＳ２０６）、−ｉ方向の累積加算処理（ステップＳ２０７）を行い、類似度画像の最大値の位置を検出する（ステップＳ２０８）。具体的には、図１６〜図１９に示した加算処理を図１５に示すように再帰的に繰り返すことによって図２０に示したような類似度画像を作成し、図２１に示すように各類似度画像の最大値の位置を検出する。
【０１０６】
そして、最大値の位置の変動が一定値以内であるか否かを判定し（ステップＳ２０９）、一定値以内でなければ（ステップＳ２０９，Ｎｏ）、ステップＳ２０４へ移行して同様の処理を繰り返す。一方、一定値以内であれば（ステップＳ２０９，Ｙｅｓ）、この位置を対応点として処理を終了する。
【０１０７】
次に、図８に示した累積加算処理部２０ａｅによるｊ方向の累積加算処理手順について説明する。図２５は、図８に示した累積加算処理部２０ａｅによるｊ方向の累積加算処理手順を示すフローチャートである。なお、−ｊ方向、ｉ方向、−ｉ方向の累積加算処理についても同様である。
【０１０８】
同図に示すように、まず、変数ｍ、ｕおよびｖを０にするとともに、変数ｎを１とする初期化を行う（ステップＳ３０１〜ステップＳ３０４）。ここで、変数ｍは、ｉ方向のインデックスとして用いる変数であり、変数ｎは、ｊ方向のインデックスとして用いる変数である。また、変数ｕ、ｖは探索範囲を示すｉ方向およびｊ方向の変数である。
【０１０９】
そして、この初期化を終えたならば、
Ｃ（ｍ，ｎ，ｕ，ｖ）＝Ｃ（ｍ，ｎ，ｕ，ｖ）
＋α・Ｍａｘ（Ｃ（ｍ，ｎ−１，ｐ，ｑ）−ｗ（Δｄ））
の算定式による計算を行う（ステップＳ３０５）。
【０１１０】
つづいて、変数ｖをインクリメントし（ステップＳ３０６）、インクリメントした変数ｖがＶよりも小さければ（ステップＳ３０７，Ｙｅｓ）、ステップＳ３０５へ移行して加算処理を繰り返す。つまり、探索方位をｊ方向へずらすことになる。
【０１１１】
これに対して、変数ｖがＶ以上であれば（ステップＳ３０７，Ｎｏ）、変数ｕをインクリメントし（ステップＳ３０８）、インクリメントした変数ｕがＵよりも小さければ（ステップＳ３０９，Ｙｅｓ）、ステップＳ３０４へ移行して加算処理を繰り返す。つまり、探索範囲をｉ方向へずらすことになる。
【０１１２】
そして、変数ｕがＵ以上であれば（ステップＳ３０９，Ｎｏ）、ある類似度画像についての計算を終了し、次の類似度画像へ移行する。具体的には、変数ｎをインクリメントして注目類似度画像をｊ方向へ移行させた後に（ステップＳ３１０）、この変数ｎをＮと比較し（ステップＳ３１１）、変数ｎがＮよりも小さければ（ステップＳ３１１，Ｙｅｓ）、ステップＳ３０３へ移行して加算処理を繰り返す。
【０１１３】
これに対し、変数ｎがＮ以上であれば（ステップＳ３１１，Ｎｏ）、変数ｍをインクリメントして注目類似度画像をｉ方向へ移行させた後に（ステップＳ３１２）、この変数ｍがＭよりも小さければ（ステップＳ３１３，Ｙｅｓ）、ステップＳ３０２ヘ移行して加算処理を繰り返し、変数ｍがＭ以上であれば（ステップＳ３１３，Ｎｏ）、処理を終了する。上記した一連の処理を行うことによって各類似度画像の全画素についてｊ方向の累積加算結果が得られることになる。
【０１１４】
なお、図２５に示したフローチャートでは、変数ｕ、ｖのインクリメントを行いながら最大値を算出する場合について示した。しかしながら、これに限らず、あらかじめＣ（ｍ，ｎ−１，ｕ，ｖ）に最大値フィルターを掛けた最大値フィルター画像Ｃ’（ｍ，ｎ−１，ｕ，ｖ）を作成しておき、α倍してからＣ（ｍ，ｎ，ｕ，ｖ）に対して加算することとしてもよい。
【０１１５】
次に、「パラレルアップデート法」を行う対応点探索部２０ｂについて図２６〜図３４を用いて説明する。なお、ここでは参照画像、入力画像の順に画像を入力する場合を示すこととする。図２６に示すように、対応点探索部２０ｂは、画像入力部２０ｂａと、分割処理部２０ｂｂと、参照部分画像一時記憶部２０ｂｃと、類似度画像作成部２０ｂｄと、累積加算処理部２０ｂｅと、類似度画像更新部２０ｂｆと、対応点決定部２０ｂｇとを備えている。
【０１１６】
なお、画像入力部２０ｂａ、分割処理部２０ｂｂ、参照部分画像一時記憶部２０ｂｃおよび類似度画像作成部２０ｂｄについては、図８に示した対応点探索部２０ａの画像入力部ａａ、分割処理部２０ａｂ、参照部分画像一時記憶部２０ａｃおよび類似度画像作成部２０ａｄと同様であるので、ここでの説明を省略する。
【０１１７】
累積加算処理部２０ｂｅは、図２７に示すように、各類似度画像をｊ方向、−ｊ方向、ｉ方向、−ｉ方向にそれぞれ独立して累積加算する処理部である。具体的には、類似度画像全体Ｃ（ｍ，ｎ，ｕ，ｖ）を４枚複写し、これらをそれぞれＤ１（ｍ，ｎ，ｕ，ｖ）、Ｄ２（ｍ，ｎ，ｕ，ｖ）、Ｄ３（ｍ，ｎ，ｕ，ｖ）、Ｄ４（ｍ，ｎ，ｕ，ｖ）とし、それぞれｊ方向、ｉ方向、−ｊ方向、−ｉ方向の累積加算に使用する。たとえば、Ｄ１（ｍ，ｎ，ｕ，ｖ）を用いてｊ方向に累積加算する場合には、ｎ＝１〜Ｎ−１の類似度画像について、
Ｄ１（ｍ，ｎ，ｕ，ｖ）＝Ｃ（ｍ，ｎ，ｕ，ｖ）
＋α・Ｍａｘ（Ｄ１（ｍ，ｎ−１，ｐ，ｑ）−ｗ（Δｄ））
を順次再帰的に計算する。ただし、Ｍａｘ（）は最大値を示し、αは定数であり、０≦ｕ≦Ｕ−１、０≦ｖ≦Ｖ−１、０≦ｍ≦Ｍ−１、０≦ｎ≦Ｎ−１、ｕ−１≦ｐ≦ｕ＋１、ｖ−１≦ｑ≦ｖ＋１とする。
【０１１８】
また、また、ｗ（Δｄ）は、たとえば、ｗ（Δｄ）＝β・ｅｘｐ（Δｄ／Ｔ）であらわされる重みである（βおよびＴは定数）。そして、Δｄは、画素（ｕ，ｖ）と画素（ｐ，ｑ）との距離であり、
Δｄ＝ｓｑｒｔ（（ｕ−ｐ）２＋（ｖ−ｑ）２））
とあらわされる。ここで、ｓｑｒｔ（）は平方根を示している。
【０１１９】
ここで、「−ｗ（Δｄ）」は、拘束条件であり、Δｄが大きいほど、すなわち、画素（ｕ，ｖ）と画素（ｐ，ｑ）との距離が大きいほど、「Ｄ１（ｍ，ｎ−１，ｐ，ｑ）−ｗ（Δｄ）」は小さい値となる。なお、ｗ（Δｄ）＝β・Δｄとすることとしてもよい（βは定数）。
【０１２０】
すなわち、ｊ方向に累積加算する場合には、図２８に示すように、Ｄ１（ｍ，ｎ−１，ｕ，ｖ）を中心とする８近傍内の９画素のうちの最大の画素値を求める際に、各画素値からｗ（Δｄ）を差し引いた値同士を比較する。そして、拘束条件を反映した各値の中で最大の値をα倍し、Ｃ（ｍ，ｎ，ｕ，ｖ）の画素値に加算する処理を再帰的に繰り返すことになる。
【０１２１】
なお、本実施例では、３×３画素の中から最大の画素値を求める場合について説明するが、５×５画素のように３×３画素以外の画素群の中から最大の画素値を求めることとしてもよい。また、４×４画素のように、中心画素が存在せず、画素のかたよりが発生する画素群を用いることとしてもよい。
【０１２２】
また、−ｊ方向に累積加算する場合には、ｎ＝Ｎ−２〜０の類似度画像について、
Ｄ３（ｍ，ｎ，ｕ，ｖ）＝Ｃ（ｍ，ｎ，ｕ，ｖ）
＋α・Ｍａｘ（Ｄ３（ｍ，ｎ＋１，ｐ，ｑ）−ｗ（Δｄ））
を順次再帰的に計算する。ただし、Ｍａｘ（）は最大値を示し、αは定数であり、０≦ｕ≦Ｕ−１、０≦ｖ≦Ｖ−１、０≦ｍ≦Ｍ−１、０≦ｎ≦Ｎ−２、ｕ−１≦ｐ≦ｕ＋１、ｖ−１≦ｑ≦ｖ＋１とする。また、Δｄ＝ｓｑｒｔ（（ｕ−ｐ）２＋（ｖ−ｑ）２））である。
【０１２３】
すなわち、−ｊ方向に累積加算する場合には、図２９に示すように、Ｄ３（ｍ，ｎ，ｕ，ｖ）を中心とする８近傍内の９画素のうちの最大の画素値を求める際に、各画素値からｗ（Δｄ）を差し引いた値同士を比較する。そして、拘束条件を反映した各値の中で最大の値をα倍し、Ｃ（ｍ，ｎ，ｕ，ｖ）の画素値に加算する処理を再帰的に繰り返すことになる。
【０１２４】
また、ｉ方向に累積加算する場合には、ｍ＝１〜Ｍ−１の類似度画像について、
Ｄ２（ｍ，ｎ，ｕ，ｖ）＝Ｃ（ｍ，ｎ，ｕ，ｖ）
＋α・Ｍａｘ（Ｄ２（ｍ−１，ｎ，ｐ，ｑ）−ｗ（Δｄ））
を順次再帰的に計算する。ただし、Ｍａｘ（）は最大値を示し、αは定数であり、０≦ｕ≦Ｕ−１、０≦ｖ≦Ｖ−１、０≦ｍ≦Ｍ−１、０≦ｎ≦Ｎ−１、ｕ−１≦ｐ≦ｕ＋１、ｖ−１≦ｑ≦ｖ＋１とする。また、Δｄ＝ｓｑｒｔ（（ｕ−ｐ）２＋（ｖ−ｑ）２））である。
【０１２５】
すなわち、ｉ方向に累積加算する場合には、図３０に示すように、Ｄ２（ｍ，ｎ，ｕ，ｖ）を中心とする８近傍内の９画素のうちの最大の画素値を求める際に、各画素値からｗ（Δｄ）を差し引いた値同士を比較する。そして、拘束条件を反映した各値の中で最大の値をα倍し、Ｃ（ｍ，ｎ，ｕ，ｖ）の画素値に加算する処理を再帰的に繰り返すことになる。
【０１２６】
また、−ｉ方向に累積加算する場合には、ｍ＝Ｍ−２〜０の類似度画像について、
Ｄ４（ｍ，ｎ，ｕ，ｖ）＝Ｃ（ｍ，ｎ，ｕ，ｖ）
＋α・Ｍａｘ（Ｄ４（ｍ−１，ｎ，ｐ，ｑ）−ｗ（Δｄ））
を順次再帰的に計算する。ただし、Ｍａｘ（）は最大値を示し、αは定数であり、０≦ｕ≦Ｕ−１、０≦ｖ≦Ｖ−１、０≦ｍ≦Ｍ−２、０≦ｎ≦Ｎ−１、ｕ−１≦ｐ≦ｕ＋１、ｖ−１≦ｑ≦ｖ＋１とする。また、Δｄ＝ｓｑｒｔ（（ｕ−ｐ）２＋（ｖ−ｑ）２））である。
【０１２７】
すなわち、−ｉ方向に累積加算する場合には、図３１に示すように、Ｄ４（ｍ，ｎ，ｕ，ｖ）を中心とする８近傍内の９画素のうちの最大の画素値を求める際に、各画素値からｗ（Δｄ）を差し引いた値同士を比較する。そして、拘束条件を反映した各値の中で最大の値をα倍し、Ｃ（ｍ，ｎ，ｕ，ｖ）の画素値に加算する処理を再帰的に繰り返すことになる。
【０１２８】
類似度画像更新部２０ｂｆは、累積加算処理部２０ｂｅの累積加算後の類似度画像に基づいて類似度画像を更新する処理部である。具体的には、まず各方向についての累積加算処理を行ったならば、図３２の概念図に示すように、
【数１】
2010250771.tif 000003
式（１）によってＣ（ｍ，ｎ，ｕ，ｖ）を更新する。
【０１２９】
その後、対応点決定部２０ｂｇは、各類似度画像の最大値の位置を検出し、それらの位置と前回の各類似度画像の最大値の位置との変化が所定の範囲内でなければ累積加算処理をフィードバックして繰り返し、所定の範囲内となった時点で繰り返しを終了し、そのときの各類似度画像の最大値の位置を対応点として決定する。なお、上述の前回の各類似度画像というのは、初回処理の場合は、類似度画像作成部２０ｂｄにより作成された各類似度画像であり、初回以降は類似度画像更新部２０ｂｆにより前回更新処理された各類似度画像となる。
【０１３０】
図３３は、図２６に示した対応点探索部２０ｂの処理手順を示すフローチャートである。同図に示すように、この対応点探索部２０ｂが参照画像と入力画像を取得したならば、この参照画像を参照部分画像に分割する（ステップＳ４０１）。たとえば、図９に示した３２画素×３２画素の参照画像２１を、図１１に示した７×７画素からなる２５個の参照部分画像に分割して記憶する。この参照部分画像は、参照したい画像毎に予め記憶しておいてもよいし、また、参照部分画像ではなく、参照画像のみを予め別途記憶しておき、後述する入力画像と参照画像との類似度の計算の際に、記憶された参照画像から参照部分画像に分割してもよい。
【０１３１】
その後、入力画像を入力部分画像に分割する（ステップＳ４０２）。たとえば、図１０に示した３２画素×３２画素の入力画像２２を、図１２に示した２１画素×２１画素からなる２５個の入力部分画像に分割する。
【０１３２】
そして、この参照部分画像と入力部分画像の間の類似度画像を作成する（ステップＳ４０３）。たとえば、図１３に示すようにして入力部分画像５１と参照部分画像５２の類似度を画素値とする類似度画像５３の作成を入力部分画像ごとに行い、図１４に示したような複数の類似度画像を作成する。つづいて、各類似度画像の画素値が最大となる位置（以下、「最大値の位置」と記載する）を検出する（ステップＳ４０４）。ここで、最大値の位置は、画素サイズよりも小さいサブピクセル単位、たとえば、０．１画素単位や、０．０１画素単位で検出する。
【０１３３】
その後、類似度画像全体Ｃを４枚複写してＤ１、Ｄ２、Ｄ３およびＤ４を用意したうえで、４方向、すなわち、ｊ方向の累積加算処理、ｉ方向の累積加算処理、−ｊ方向の累積加算処理、−ｉ方向の累積加算処理をそれぞれ独立して行う（ステップＳ４０５）。そして、ｊ、ｉ、−ｊ、−ｉ方向の累積加算された類似度画像の各画素の８近傍内の９画素の拘束条件付き最大値を、ステップＳ４０３で作成された類似度画像の各画素に加算して各類似度画像を更新する（ステップＳ４０６）。
【０１３４】
つづいて、更新された類似度画像の最大値の位置を検出する（ステップＳ４０７）。具体的には、図２８〜図３２に示した加算処理を繰り返すことによって、図２０に示したような類似度画像を作成し、図２１に示したような各類似度画像の最大値の位置を検出する。
【０１３５】
次に、各類似度画像の最大値の一変動を算出し（ステップＳ４０８）、すべての最大値の一変動が所定値以内であるか否かを調べ（ステップＳ４０９）、所定値以内でなければ（ステップＳ４０９，Ｎｏ）、ステップＳ４０５以降の処理を繰り返し、所定値以内であれば（ステップＳ４０９，Ｙｅｓ）、この位置を対応点と決定し（ステップＳ４１０）、処理を終了する。
【０１３６】
なお、上述のステップＳ４０９における処理は、各類似度画像の最大値の位置が前回の各類似度画像の最大値の位置から変化した変化分について、所定値以内であるか否かを調べるという処理であり、所定値以内であれば、ステップＳ４１０において、更新処理後の各類似度画像の最大値の位置を入力画像の参照画像に対する対応点と決定する。
【０１３７】
なお、ここでは説明の便宜上、ｊ方向の累積加算処理、ｉ方向の累積加算処理、−ｊ方向の累積加算処理および−ｉ方向の累積加算処理を順次行うこととしたが、これらはそれぞれ独立した処理とすることができるので、並列処理化することとしてもよい。
【０１３８】
次に、図２６に示した累積加算処理部２０ｂｅによるｊ方向の累積加算処理手順について詳細に説明する。図３４は、図２６に示した累積加算処理部２０ｂｅによるｊ方向の累積加算処理手順を示すフローチャートである。なお、ｉ方向、−ｊ方向、−ｉ方向の累積加算処理も同様に行うことができる。
【０１３９】
同図に示すように、まず、変数ｍ、ｕおよびｖを０にするとともに、変数ｎを１とする初期化を行う（ステップＳ５０１〜ステップＳ５０４）。ここで、この変数ｍはｉ方向のインデックスとして用いる変数であり、変数ｎはｊ方向のインデックスとして用いる変数である。また、変数ｕ、ｖは探索範囲を示すｉ方向およびｊ方向の変数である。
【０１４０】
そして、これらの初期化を終えたならば、
Ｄ１（ｍ，ｎ，ｕ，ｖ）＝Ｃ（ｍ，ｎ，ｕ，ｖ）＋α・Ｍａｘ（Ｄ１（ｍ，ｎ−１，ｐ，ｑ）−ｗ（Δｄ））
の算定式による計算を行う（ステップＳ５０５）。
【０１４１】
その後、変数ｖをインクリメントし（ステップＳ５０６）、この変数ｖがＶよりも小さければ（ステップＳ５０７，Ｙｅｓ）、ステップＳ５０５に移行して加算処理を繰り返す。つまり、探索範囲をｊ方向にずらすことになる。
【０１４２】
これに対し、変数ｖがＶ以上であれば（ステップＳ５０７，Ｎｏ）、変数ｕをインクリメントし（ステップＳ５０８）、この変数ｕがＵよりも小さければ（ステップＳ５０９，Ｙｅｓ）、ステップＳ５０４に移行して加算処理を繰り返す。つまり、探索範囲をｉ方向にずらすことになる。
【０１４３】
そして、変数ｕがＵ以上であれば（ステップＳ５０９，Ｎｏ）、ある類似度画像についての計算を終了し、次の類似度画像に移行する。具体的には、変数ｎをインクリメントして注目類似度画像をｊ方向に移動させた後に（ステップＳ５１０）、この変数ｎをＮと比較し（ステップＳ５１１）、この変数ｎがＮよりも小さければ（ステップＳ５１１，Ｙｅｓ）、ステップＳ５０３に移行して加算処理を繰り返す。
【０１４４】
これに対し、変数ｎがＮ以上であれば（ステップＳ５１１，Ｎｏ）、変数ｍをインクリメントして注目類似度画像をｉ方向に移行させた後に（ステップＳ５１２）、この変数ｍがＭよりも小さければ（ステップＳ５１３，Ｙｅｓ）、ステップＳ５０２に移行して加算処理を繰り返し、変数ｍがＭ以上であれば（ステップＳ５１３，Ｎｏ）、処理を終了する。上記した一連の処理を行うことによって各類似度画像の全画素についてｊ方向の累積加算結果が得られることになる。
【０１４５】
なお、図３４に示したフローチャートでは、変数ｕ、ｖのインクリメントを行いながら最大値を算出する場合について示した。しかしながら、これに限らず、あらかじめＤ１（ｍ，ｎ−１，ｕ，ｖ）に最大値フィルターを掛けた最大値フィルター画像Ｄ１’（ｍ，ｎ−１，ｕ，ｖ）を作成しておき、α倍してからＣ（ｍ，ｎ，ｕ，ｖ）に対して加算することとしてもよい。
【０１４６】
上述してきたように、本実施例では、対応点決定部が、参照画像を複数のブロックに分割して参照部分画像を生成し、互いにその一部が重なり合う複数のブロックに入力画像を分割して複数の入力部分画像を生成し、入力部分画像と参照部分画像との間の類似度を算定し、算定された類似度を画素値としてもつ複数の類似度画像を生成し、生成された類似度画像における注目画素と注目画素の周辺画素との距離が大きいほど周辺画素の画素値が小さくなるように補正したうえで、補正後の各画素値の中で最大の画素値を他の類似度画像における注目画素の画素値に対して順次累積加算し、累積加算された各類似度画像の画素値が最大となる画素の画素位置を対応点として特定するように対応点探索装置を構成した。
【０１４７】
また、本実施例では、対応点決定部が、累積加算された各類似度画像の画素値が最大となる画素の画素位置を、この画素位置に隣接する画素の画素値に基づいて画素サイズよりも小さいサブピクセル単位で算出したうえで、算出した画素位置を対応点として特定し、階層化処理部が、特定された対応点を用いた累積加算およびあらたな対応点の特定を、ブロックのサイズを減少させつつ複数の階層にわたって繰り返すように対応点探索装置を構成した。
【０１４８】
したがって、誤差の発生を抑制して階層的な探索を可能ならしめることで探索速度を向上することができるとともに、密な対応点を高精度に得ることができる。
【０１４９】
なお、上述した実施例では、拘束条件付更新式における重み（ｗ）における定数（β）を各階層化レベルにおいて一定とする場合について示したが、階層化レベルに応じて定数（β）を変更することとしてもよい。この場合、レベル１のように階層化レベルの初期段階では、βを小さい値として拘束条件を弱くすることで対応点の変形を大きめに許容することとすればよい。そして、階層化レベルが深まるに従ってβを大きい値として拘束条件を強くすることで対応点の変形を小さめに許容することとすればよい。
【産業上の利用可能性】
【０１５０】
以上のように、本発明に係る対応点探索方法および対応点探索装置は、階層的な探索を行うことによって探索速度を向上させたい場合に有用であり、特に、密な対応点を高精度に得たい場合に適している。
【符号の説明】
【０１５１】
１０      対応点探索装置
１１      画像入力部
１２      階層化情報記憶部
１３      階層化処理部
１４      収束判定部
２０      対応点探索部
２０ａ    対応点探索部（シリアルアップデート）
２０ａａ  画像入力部
２０ａｂ  分割処理部
２０ａｃ  参照部分画像一時記憶部
２０ａｄ  類似度画像作成部
２０ａｅ  累積加算処理部
２０ａｆ  対応点決定部
２０ｂ    対応点探索部（パラレルアップデート）
２０ｂａ  画像入力部
２０ｂｂ  分割処理部
２０ｂｃ  参照部分画像一時記憶部
２０ｂｄ  類似度画像作成部
２０ｂｅ  累積加算処理部
２０ｂｆ  類似度画像更新部
２０ｂｇ  対応点決定部
２１    参照画像
２２    入力画像
５１    入力部分画像
５２    参照部分画像
５３    類似度画像
【図１】
2010250771.tif 000004
【図２】
2010250771.tif 000005
【図３】
2010250771.tif 000006
【図４】
2010250771.tif 000007
【図５】
2010250771.tif 000008
【図７】
2010250771.tif 000009
【図８】
2010250771.tif 000010
【図９】
2010250771.tif 000011
【図１０】
2010250771.tif 000012
【図１１】
2010250771.tif 000013
【図１２】
2010250771.tif 000014
【図１４】
2010250771.tif 000015
【図１５】
2010250771.tif 000016
【図１６】
2010250771.tif 000017
【図１７】
2010250771.tif 000018
【図１８】
2010250771.tif 000019
【図１９】
2010250771.tif 000020
【図２０】
2010250771.tif 000021
【図２１】
2010250771.tif 000022
【図２２】
2010250771.tif 000023
【図２３】
2010250771.tif 000024
【図２４】
2010250771.tif 000025
【図２５】
2010250771.tif 000026
【図２６】
2010250771.tif 000027
【図２７】
2010250771.tif 000028
【図２８】
2010250771.tif 000029
【図２９】
2010250771.tif 000030
【図３０】
2010250771.tif 000031
【図３１】
2010250771.tif 000032
【図３２】
2010250771.tif 000033
【図３３】
2010250771.tif 000034
【図３４】
2010250771.tif 000035
【図６】
2010250771.tif 000036
【図１３】
2010250771.tif 000037