(57)【特許請求の範囲】
【請求項１】
参照画像と、該参照画像に対応する画像を回転及び又は拡大縮小した画像をその一部に含む入力画像とを照合して、前記入力画像の参照画像に対応する部分の拡大率、回転角及び平行移動量を出力する画像照合方法において、
前記参照画像の各エッジ点から所定の基準点へのベクトルをエッジ方向ごとに収納したＲテーブルを作成し、
前記入力画像のエッジ点を前記参照画像のエッジ点とした場合の基準点の位置を前記Ｒテーブルに基づいて低分解能化したパラメータ空間上に投票して一又は複数の候補領域を求め、
該求めた候補領域が複数存在する場合には、各候補領域及び参照画像をハフ変換してθ−ρ平面をそれぞれ生成し、
該生成したθ−ρ平面をフーリエ変換してθ−ｑ平面をそれぞれ生成し、
該生成したθ−ｑ平面レベルで回転角及び拡大率をそれぞれ算出し、
該算出した回転角及び拡大率で補正したθ−ρ平面レベルで平行移動量をそれぞれ算出し、
前記候補領域の中で参照画像との照合度の最も大きな候補領域に対応して算出した拡大率、回転角及び平行移動量を出力する
ことを特徴とする画像照合方法。
【請求項２】
参照画像と、該参照画像に対応する画像を回転及び又は拡大縮小した画像をその一部に含む入力画像とを照合して、前記入力画像の参照画像に対応する部分の拡大率、回転角及び平行移動量を出力する画像照合装置において、
前記参照画像の各エッジ点から所定の基準点へのベクトルを記憶するＲテーブル記憶手段と、
前記入力画像のエッジ点を前記参照画像のエッジ点とした場合の基準点の位置を前記Ｒテーブル記憶手段の記憶内容に基づいて低分解能化したパラメータ空間上に投票する一般化ハフ変換手段と、
この低分解能化したパラメータ空間上に投票された投票値が所定レベル以上の候補領域を算定する算定手段と、
前記候補領域及び参照画像をハフ変換してθ−ρ平面を生成するθ−ρ平面生成手段と、
前記θ−ρ平面生成手段が生成したθ−ρ平面をフーリエ変換してθ−ｑ平面を生成するθ−ｑ平面生成手段と、
前記θ−ｑ平面生成手段が生成したθ−ｑ平面レベルで回転角及び拡大率を算出し、算出した回転角及び拡大率で補正したθ−ρ平面レベルで平行移動量を算出する算出手段と、
前記候補領域の中で参照画像との照合度の最も大きな候補領域に対応して算出した拡大率、回転角及び平行移動量を出力する出力手段と
を具備したことを特徴とする画像照合装置。
【請求項３】
参照画像と、該参照画像に対応する画像を回転及び又は拡大縮小した画像をその一部に含む入力画像とを照合して、前記入力画像の参照画像に対応する部分の拡大率、回転角及び平行移動量を出力する画像照合装置で用いる記録媒体であって、
前記参照画像の各エッジ点から所定の基準点へのベクトルをエッジ方向ごとに収納したＲテーブルを作成し、
前記入力画像のエッジ点を前記参照画像のエッジ点とした場合の基準点の位置を前記Ｒテーブルに基づいて低分解能化したパラメータ空間上に投票して一又は複数の候補領域を求め、
求めた候補領域が複数ある場合には、各候補領域と前記参照画像とをそれぞれ照合して、照合度の最も大きな候補領域の拡大率、回転角及び平行移動量を出力するプログラム  を記録することを特徴とする画像照合装置で用いる記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、参照画像と、該参照画像に対応する画像を回転及び又は拡大縮小した画像をその一部に含む入力画像とを照合して、入力画像の参照画像に対応する部分の拡大率、回転角及び平行移動量を出力する画像照合方法、装置及び記録媒体に関し、特に、参照画像に対応する部分の拡大率、回転角及び平行移動量を、メモリ容量を低減しつつ、迅速かつ精度良く求めることができる画像照合装置、方法及び記録媒体に関する。
【０００２】
【従来の技術】
予め登録された参照画像と、イメージスキャナ等から入力された入力画像を照合するためには、画像相互間での相対的な回転角、平行移動量および拡大・縮小率を算出する必要がある。
【０００３】
これらを算出するために、一般化ハフ（Hough）変換という手法が広く用いられているが、この一般化ハフ変換には、膨大な処理時間を要するという問題があるため、例えば特開昭６２−７７６８９号公報では、一般化ハフ変換回路をハードウエアで実現することにより、ハフ変換処理の高速化を図っている。
【０００４】
しかしながら、かかる一般化ハフ変換では、入力画像と参照画像の各エッジ点間の全ての組合せから回転量、平行移動量、拡大縮小率を求めるため、たとえこの従来技術を用いて一般化ハフ変換をハードウエア化したとしても、エッジ数が多い複雑な図形等を照合する場合には、エッジ点間の組合せが増大し、その処理に膨大な時間がかかる。
【０００５】
また、この一般化ハフ変換を行うためには、回転、平行移動、拡大縮小率からなる４次元のパラメータ空間のためのメモリが必要となるため、メモリ容量上の問題もある。例えば、平行移動を１画素、回転角を１度、拡大率を0.5から2.0まで0.1の分解能で求めるためには、画像サイズを２５６画素×２５６画素としたとき、パラメータ空間用に約３００メガバイト（256x256x360x15）のメモリ容量が要求される。
【０００６】
このように、一般化ハフ変換を用いて画像の照合を行う場合には、メモリ容量の増大及び処理遅延という問題が生ずるため、このメモリ容量及び処理遅延に係わる問題を低減する従来技術が提案されている。
【０００７】
例えば、特開平９−２４５１６７号公報には、参照画像及び入力画像に対してエッジ方向検出、ハフ変換及びフーリエ変換を順次行い、フーリエ平面レベルでの位置ずらし量に基づいて回転角を算出するとともに、この回転角により補正したハフ平面レベルで平行移動量を算出するよう構成した画像照合方法及び装置が開示されている。
【０００８】
【発明が解決しようとする課題】
しかしながら、この従来技術は、入力画像が、参照画像を平行移動、回転及び又は拡大縮小したものである場合には適用できるが、入力画像自体が、参照画像と異なる画像である場合には精度が低下する。
【０００９】
例えば、参照画像が一万円札のすかし部分であり、入力画像が一万円札全体である場合には、入力画像と参照画像とが大きく異なる画像であるために単純に従来技術を適用できない。かかる場合には、すかし部分以外の画情報がすべてノイズ成分となり、これによるＳ／Ｎ比の劣化に伴って、拡大率、回転角及び平行移動量の検出精度が低下するためである。
【００１０】
また、画像からの画素の間引き又は画像圧縮を行って画像を低分解能にし、この低分解能の画像から概略の拡大率、回転角及び平行移動量を検出することによって処理の高速化を図る技術もあるが、かかる画素の間引き等を行うと、例えば一画素の連結で形成される線分等の画情報を消失するため、入力画像のうちの参照画像に対応する部分を精度良く検出できなくなる。
【００１１】
このように、参照画像と、該参照画像に対応する画像を回転及び又は拡大縮小した画像をその一部に含む入力画像とを照合する場合に、参照画像に対応する部分の拡大率、回転角及び平行移動量を、メモリ容量を低減しつつ、いかに迅速かつ精度良く求めるかが、極めて重要な課題となっている。
【００１２】
そこで、本発明では、上記課題を解決し、参照画像と、該参照画像に対応する画像を回転及び又は拡大縮小した画像をその一部に含む入力画像とを照合する場合に、参照画像に対応する部分の拡大率、回転角及び平行移動量を、メモリ容量を低減しつつ、迅速かつ精度良く求めることができる画像照合方法、装置及び記録媒体を提供することを目的とする。
【００１３】
【課題を解決するための手段】
上記目的を達成するため、請求項１に記載された発明は、参照画像と、該参照画像に対応する画像を回転及び又は拡大縮小した画像をその一部に含む入力画像とを照合して、前記入力画像の参照画像に対応する部分の拡大率、回転角及び平行移動量を出力する画像照合方法において、前記参照画像の各エッジ点から所定の基準点へのベクトルをエッジ方向ごとに収納したＲテーブルを作成し、前記入力画像のエッジ点を前記参照画像のエッジ点とした場合の基準点の位置を前記Ｒテーブルに基づいて低分解能化したパラメータ空間上に投票して一又は複数の候補領域を求め、該求めた候補領域が複数存在する場合には、各候補領域及び参照画像をハフ変換してθ−ρ平面をそれぞれ生成し、該生成したθ−ρ平面をフーリエ変換してθ−ｑ平面をそれぞれ生成し、該生成したθ−ｑ平面レベルで回転角及び拡大率をそれぞれ算出し、該算出した回転角及び拡大率で補正したθ−ρ平面レベルで平行移動量をそれぞれ算出し、前記候補領域の中で参照画像との照合度の最も大きな候補領域に対応して算出した拡大率、回転角及び平行移動量を出力することを特徴とする。
【００１４】
また、請求項２に記載された発明は、参照画像と、該参照画像に対応する画像を回転及び又は拡大縮小した画像をその一部に含む入力画像とを照合して、前記入力画像の参照画像に対応する部分の拡大率、回転角及び平行移動量を出力する画像照合装置において、前記参照画像の各エッジ点から所定の基準点へのベクトルを記憶するＲテーブル記憶手段と、前記入力画像のエッジ点を前記参照画像のエッジ点とした場合の基準点の位置を前記Ｒテーブル記憶手段の記憶内容に基づいて低分解能化したパラメータ空間上に投票する一般化ハフ変換手段と、この低分解能化したパラメータ空間上に投票された投票値が所定レベル以上の候補領域を算定する算定手段と、前記候補領域及び参照画像をハフ変換してθ−ρ平面を生成するθ−ρ平面生成手段と、前記θ−ρ平面生成手段が生成したθ−ρ平面をフーリエ変換してθ−ｑ平面を生成するθ−ｑ平面生成手段と、前記θ−ｑ平面生成手段が生成したθ−ｑ平面レベルで回転角及び拡大率を算出し、算出した回転角及び拡大率で補正したθ−ρ平面レベルで平行移動量を算出する算出手段と、前記候補領域の中で参照画像との照合度の最も大きな候補領域に対応して算出した拡大率、回転角及び平行移動量を出力する出力手段とを具備したことを特徴とする。
【００１６】
また、請求項３に記載された発明は、参照画像と、該参照画像に対応する画像を回転及び又は拡大縮小した画像をその一部に含む入力画像とを照合して、前記入力画像の参照画像に対応する部分の拡大率、回転角及び平行移動量を出力する画像照合装置で用いる記録媒体であって、前記参照画像の各エッジ点から所定の基準点へのベクトルをエッジ方向ごとに収納したＲテーブルを作成し、前記入力画像のエッジ点を前記参照画像のエッジ点とした場合の基準点の位置を前記Ｒテーブルに基づいて低分解能化したパラメータ空間上に投票して一又は複数の候補領域を求め、求めた候補領域が複数ある場合には、各候補領域と前記参照画像とをそれぞれ照合して、照合度の最も大きな候補領域の拡大率、回転角及び平行移動量を出力するプログラムを記録することを特徴とする。
【００１７】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して説明する。
【００１８】
図１は、本実施の形態で用いる画像照合装置１０の構成を示す図である。
【００１９】
図１に示すように、この画像照合装置１０は、例えば図６（ｂ）に示すような参照濃度画像（以下「テンプレート画像」と言う。）Ｒ（ｘ，ｙ）と、該テンプレート画像に対応する画像を回転及び又は拡大縮小した画像をその一部に有する図６（ａ）に示すような入力濃度画像（以下「入力画像」と言う。）Ｉ（ｘ，ｙ）とを照合し、回転角、平行移動量及び拡大縮小率を出力する。
【００２０】
具体的には、この画像照合装置が行う処理は、入力画像Ｉ（ｘ，ｙ）の中からテンプレート画像Ｒ（ｘ，ｙ）に対応する複数の候補領域Ｆ（ｘ，ｙ）を抽出する前処理と、この前処理により取得した各候補領域Ｆ（ｘ，ｙ）とテンプレート画像Ｒ（ｘ，ｙ）とを照合して回転角、平行移動量及び拡大縮小率を取得する照合処理とに区分される。
【００２１】
この前処理では、テンプレート画像Ｒ（ｘ，ｙ）からエッジ検出したエッジ画像ｒ（ｘ，ｙ）の各エッジ点から所定の基準点へのベクトルを求めてＲテーブルを作成する。
【００２２】
その後、入力画像Ｉ（ｘ，ｙ）からエッジ点を求め、求めたエッジ点と同じエッジ方向を持つＲテーブル内のエッジ点の基準点の位置をパラメータ空間Ｐ上に順次投票し、投票値が所定のレベル以上になる複数の候補領域を検出する。なお、図６（ｃ）は、（ｘ、ｙ）の分解能が0.25倍のパラメータ空間Ｐへの投票結果の一例を示している。
【００２３】
ただし、パラメータ空間Ｐを形成する拡大率、回転角及び平行移動量の分解能を大きくすると、その精度は上がるものの、パラメータ空間Ｐに要するメモリ容量が大きくなり、かつ、膨大な計算時間を要するため、この画像照合装置１０では、パラメータ空間を低分解能にして複数の候補領域を抽出するにとどめることとしている。なお、本実施の形態では、あくまでもパラメータ空間を低分解能としているのであり、入力画像自体を低分解能にしているわけではないので、画像の細部の情報を欠落した状態で照合しているわけではない。
【００２４】
これに対して、上記照合処理では、前処理によって抽出した各候補領域Ｆ（ｘ，ｙ）とテンプレート画像Ｒ（ｘ，ｙ）とをそれぞれθ−ρハフ変換及びフーリエ変換し、両画像の照合度をそれぞれ求めて、そのうち最も照合度が大きい場合の拡大率、回転角及び平行移動量を求める。
【００２５】
次に、この画像照合装置１０の具体的な構成について説明する。
【００２６】
図１に示すように、この画像照合装置１０は、画像入力部１１と、候補領域算定部１２と、エッジ検出部１３と、一般化ハフ変換処理部１４と、Ｒテーブル記憶部１５と、画像照合部１６と、移動量特定部１７とからなる。
【００２７】
なお、この一般化ハフ変換処理部１４が本発明に係わる一般化ハフ変換手段に対応し、Ｒテーブル記憶部１５が本発明に係わるＲテーブル記憶手段に対応し、候補領域算定部１２が本発明に係わる算定手段に対応し、画像照合部１６及び移動量特定部１７が本発明に係わる照合手段に対応する。
【００２８】
画像入力部１１は、あらかじめ準備したテンプレート画像Ｒ（ｘ，ｙ）と入力画像Ｉ（ｘ，ｙ）を光学的に読み取るイメージスキャナ等の入力デバイスであり、入力された各画像を候補領域算定部１２に出力する。
【００２９】
候補領域算定部１２は、エッジ検出部１３及び一般化ハフ変換処理部１４を用いて入力画像Ｉ（ｘ，ｙ）の中からテンプレート画像Ｒ（ｘ，ｙ）に対応する複数の候補領域Ｆ（ｘ，ｙ）を算定する処理部である。
【００３０】
具体的には、この候補領域算定部１２では、画像入力部１１からテンプレート画像Ｒ（ｘ，ｙ）を受け取ったならば、後述するエッジ検出部１３を用いてテンプレート画像Ｒ（ｘ，ｙ）からエッジ画像Ｒｅ（ｘ，ｙ）を作成する。そして、このエッジ画像Ｒｅ（ｘ，ｙ）の各エッジ点から所定の基準点（例えば重心）へのベクトルを求めてＲテーブルを作成し、Ｒテーブル記憶部１５に格納する。
【００３１】
次に、画像入力部１１から入力画像を受け取ったならば、テンプレート画像の場合と同様に、この入力画像Ｉ（ｘ，ｙ）からエッジ画像Ｉｅ（ｘ，ｙ）を作成する。
【００３２】
そして、このエッジ画像の各エッジ点において、Ｒテーブル内でそのエッジ点と同じ方向のベクトルをパラメータ空間上に順次投票し、投票値が所定レベル以上となる複数の候補領域を検出する。
【００３３】
なお、この候補領域算定部１２が、パラメータ空間Ｐ上での投票値の最大位置から拡大率、回転角及び平行移動量を直接求めるのではなく、複数の候補領域Ｆ（ｘ，ｙ）の抽出にその処理を止めた理由は、メモリ容量の低減及び処理の高速化を考慮してパラメータ空間Ｐを低分解能にしたためである。
【００３４】
すなわち、パラメータ空間Ｐを高分解能をすると、投票値が最大となる位置（ｕ，ｖ，ｓ，θ）を求めることができる反面、パラメータ空間Ｐ用の膨大なメモリと膨大な計算時間を要するため、ここではパラメータ空間Ｐ上での処理を簡素化し、後述する画像照合部１６が行うハフ−フーリエ処理を通じて、拡大率ｓ、回転角θ、平行移動量（ｕ，ｖ）を特定することとした。
【００３５】
エッジ検出部１３は、濃度画像に対してガウスラプラシアンフィルターを適用して、ガウスラプラシアンフィルターの正負の符号がｘ軸方向又はｙ軸方向に変化する点（以下「ゼロクロス点」と言う。）を求めてエッジ点を検出するとともに、かかるゼロクロス点の位置に対してソーベルオペレータを適用することによりノイズの除去を図りつつエッジ強度Ｅｍ及びエッジ方向Ｅθを算定し、該エッジ強度Ｅｍが所定のしきい値以上であることを条件としてそのエッジ方向Ｅθをエッジ方向画像に格納する処理部である。
【００３６】
具体的には、本発明では、特開平５−１５１３５２号公報に開示されるゼロクロス点に基づくエッジ検出方法を用いて、Ｒ（ｘ，ｙ）に対応するＲｅ（ｘ，ｙ）Ｉ（ｘ，ｙ）に対応するＩｅ（ｘ，ｙ）及びＦ（ｘ，ｙ）に対応するＦｅ（ｘ，ｙ）を作成する。ただし、Ｆｅ（ｘ，ｙ）はＩｅ（ｘ，ｙ）からセグメントすることも可能である。
【００３７】
一般化ハフ変換処理部１４は、エッジ検出部１３が作成したエッジ画像Ｒｅ（ｘ，ｙ）の各エッジ点から所定の基準点へのベクトルを求めてＲテーブルを作成することと入力画像から作成したエッジ画像Ｉｅ（ｘ，ｙ）の各エッジ点において、そのエッジ方向と同じエッジ方向のＲテーブル内のベクトルをパラメータ空間Ｐ上に順次投票する処理部である。なお、作成されたＲテーブルは、Ｒテーブル記憶部１５に格納される。
【００３８】
具体的には、図２（ａ）に示すように、エッジ画像Ｒｅ（ｘ，ｙ）の各エッジ点（ｘ，ｙ）から基準点（ｘｃ，ｙｃ）へのベクトルｒ＝（ｒ，α）をそれぞれ求め、求めたベクトルｒをエッジ方向Φごとにまとめて図２（ｂ）に示すようなＲテーブルを作成する。
【００３９】
画像照合部１６は、候補領域算定部１２が算定した入力画像Ｉ（ｘ，ｙ）上の各候補領域Ｆ（ｘ，ｙ）とテンプレート画像Ｒ（ｘ，ｙ）とをハフ−フーリエ変換方式で照合して、候補領域ごとの拡大率、回転角、平行移動量及び照合度を出力する処理部であり、θ−ｑ平面作成部１６ａ、ハフ変換処理部１６ｂ、フーリエ変換処理部１６ｃ、対数座標変換処理部１６ｄ、移動量算出部１６ｅ、参照データ記憶部１６ｆ及び逆ハフ変換処理部１６ｇを有する。
【００４０】
θ−ｑ平面作成部１６ａは、エッジ検出部１３、ハフ変換処理部１６ｂ、フーリエ変換処理部１６ｃおよび対数座標変換処理部１６ｄを用いて、入力された画像からエッジ方向画像、θ−ρ平面データ、θ−ｐ平面データおよびθ−ｑ平面データを順次作成し、θ−ρ平面データ及びθ−ｑ平面データを移動量算出部１６ｅに出力する。
【００４１】
具体的には、エッジ検出部１３がエッジを抽出したエッジ方向画像をハフ変換処理部１６ｂを用いてハフ変換し、このハフ変換により得られるθ−ρ平面データをフーリエ変換処理部１６ｃを用いてフーリエ変換し、θ−ｐ平面データを作成し、さらに対数座標変換処理部１６ｄを用いてｐ軸をｑ軸に対数座標変換して、θ−ｑ平面データを作成する。
【００４２】
すなわち、このθ−ｑ平面作成部１６ａでは、入力された画像がテンプレート画像Ｒ（ｘ，ｙ）である場合には、該Ｒ（ｘ，ｙ）に対応する参照θ−ｑ平面データを作成し、また入力された画像が候補領域Ｆ（ｘ，ｙ）である場合には、該Ｆ（ｘ，ｙ）に対応する入力θ−ｑ平面データを作成する。
【００４３】
例えば、入力された画像がＲ（ｘ，ｙ）である場合には、まず最初にエッジ検出部１３を用いて参照エッジ方向画像Ｒｅ（ｘ，ｙ）を作成し、次に、このＲｅ（ｘ，ｙ）をハフ変換処理部１６ｂによりハフ変換し、参照θ−ρ平面データｈ0（θ，ρ）を作成する。さらに、このｈ0（θ，ρ）をフーリエ変換処理部１６ｃを用いてフーリエ変換し、参照θ−ｐ平面データＨ0（θ，ｐ）を作成し、さらに、このＨ0（θ，ｐ）を対数座標変換処理部１６ｄにより対数座標変換して、参照θ−ｑ平面データＨ0（θ，ｑ）を作成する。
【００４４】
ｈ0（θ，ρ）及びＨ0（θ，ｑ）を受け取った移動量算出部１６ｅは、このｈ0（θ，ρ）及びＨ0（θ，ｑ）を参照データとして、参照データ記憶部１６ｆに格納する。
【００４５】
ハフ変換処理部１６ｂは、エッジ検出部１３が作成したエッジ方向画像をハフ変換してθ−ρ平面データを作成する処理部であり、具体的には、Ｒｅ（ｘ，ｙ）に対応するｈ0（θ，ρ）およびＩｅ（ｘ，ｙ）に対応するｈ1（θ，ρ）を作成する。すなわち、このハフ変換処理部１６ｂは、一般化ハフ変換処理部１４と同様にハフ変換を行うこととなるが、そのハフ変換の内容自体については一般化ハフ変換とは異なる。
【００４６】
フーリエ変換処理部１６ｃは、ハフ変換処理部１６ｂが作成したθ−ρ平面データをフーリエ変換してθ−ｐ平面データを作成する処理部であり、具体的には、ｈ0（θ，ρ）に対応するＨ0（θ，ｐ）およびｈ1（θ，ρ）に対応するＨ1（θ，ｐ）を作成する。
【００４７】
対数座標変換処理部１６ｄは、フーリエ変換処理部１６ｃが作成したθ−ｐ平面のｐ軸を、対数座標軸ｑ軸に対数座標変換処理する処理部であり、具体的には、Ｈ0（θ，ｐ）に対応するＨ0（θ，ｑ）およびＨ1（θ，ｐ）に対応するＨ1（θ，ｑ）を作成する。
【００４８】
移動量算出部１６ｅは、θ−ｑ平面作成部１６ａから入力される入力データｈ1（θ，ρ）及びＨ1（θ，ｑ）と参照データ記憶部１６ｆに格納された参照データｈ0（θ，ρ）及びＨ0（θ，ｑ）を用いて、候補領域Ｆ（ｘ，ｙ）に含まれる図形（検査対象物）の、テンプレート画像Ｒ（ｘ，ｙ）に含まれる図形（基準となる形状パターン）に対する回転角、平行移動量および拡大・縮小率を算出しこれを出力する処理部である。
【００４９】
具体的には、この移動量算出部１６ｅは、ハフ変換を行ったθ−ρ平面をさらにフーリエ変換したθ−ｑ平面レベルで回転角および拡大・縮小率を算出するとともに、これら回転角および拡大・縮小率により補正されたθ−ρ平面レベルで平行移動量を算出する。
【００５０】
このようにθ−ρ平面をさらにフーリエ変換し、補正したθ−ρ平面で平行移動量を算出した理由は、まず、平行移動の影響を除去した上で回転角および拡大・縮小率を迅速に求め、その後これら回転角、拡大・縮小率の影響を除去した上で平行移動量を迅速に求めるためである。
【００５１】
また、この移動量算出部１６ｅが、参照データすなわちｈ0（θ，ρ）及びＨ0（θ，ｑ）をθ−ｑ平面作成部１６ａから受け取った場合には、かかる参照データを参照データ記憶部１６ｆに記憶する処理を行う。このため、その細部の説明は省略するが、θ−ｑ平面作成部１６ａが移動量算出部１６ｅに対して参照データを出力する際には、出力するデータが参照データであることを示す識別フラグ等を当該参照データに付与するようにしている。
【００５２】
参照データ記憶部１６ｆは、テンプレート画像Ｒ（ｘ，ｙ）に対応するθ−ρ平面データｈ0（θ，ρ）及びθ−ｑ平面データＨ0（θ，ｑ）を参照データとして記憶する記憶部であり、かかる参照データは移動量算出部１６ｅによりアクセスされる。
【００５３】
逆ハフ変換処理部１６ｇは、移動量算出部１６ｅが平行移動量を算出する際に使用する処理部であり、具体的には、この移動量算出部１６ｅが参照θ−ρ平面と入力θ−ρ平面との間で算出した相関係数を記憶したρ相互相関画像Ｃρ（θ，ρ）について逆ハフ変換を実行する。
【００５４】
移動量特定部１７は、画像照合部１６から受け取った照合結果に基づいて、複数の候補領域のうちテンプレート画像と最も照合度の高い候補領域を特定し、該特定した候補領域についての回転角、平行移動量及び拡大縮小率を出力する処理部である。
【００５５】
このように、この画像照合装置１０では、候補領域算定部１２がエッジ検出部１３及び一般化ハフ変換処理部１４を用いてテンプレート画像Ｒ（ｘ，ｙ）からＲテーブルを作成し、その後入力画像Ｉ（ｘ，ｙ）及びＲテーブルに基づくパラメータ空間Ｐ上への投票を行い投票値が所定レベル以上の位置を求めることによって、入力画像上でのテンプレート画像のサイズと拡大率を考慮した複数の候補領域を求め、求めた複数の候補領域についてハフ−フーリエ方式による画像照合を行うこととしている。
【００５６】
以上、図１に示す画像照合装置１０の構成について説明した。
【００５７】
次に、図１に示す画像照合装置１０の処理手順について説明する。
【００５８】
図３は、図１に示す画像照合装置１０の処理手順を示すフローチャートである。
【００５９】
同図に示すように、この画像照合装置１０は、入力画像及びテンプレート画像からそれぞれエッジを検出してエッジ画像を作成した後に（ステップ３０１）、テンプレート画像のエッジ画像からＲテーブルを作成し、このＲテーブルと入力画像のエッジ画像からパラメータ空間Ｐ上に投票を行って複数（Ｎ個）の候補領域を検出する（ステップ３０２）。
【００６０】
その後、候補領域の変数ｉを０に初期化し（ステップ３０３）、第ｉ番目の候補領域のセグメントを取得し（ステップ３０４）、この候補領域についてのハフ−フーリエ方式を用いた拡大率・回転角・平行移動量及び照合度を計算する（ステップ３０５）。
【００６１】
そして、この計算が終了したならば、変数ｉをインクリメントして該変数ｉをＮと比較し（ステップ３０６〜３０７）、変数ｉがＮよりも小さい場合すなわち他の候補領域が存在する場合には、ステップ３０４に移行して同様の処理を行う。
【００６２】
これに対して、変数ｉがＮ以上となった場合すなわち全ての候補領域についての照合処理を終了したならば、Ｎ個の候補領域の中で最大の照合度を持つ候補領域の拡大率、回転角及び平行移動量を出力する（ステップ３０８）。
【００６３】
上記一連の処理を行うことにより、テンプレート画像をその一部に含む入力画像とテンプレート画像とを照合する場合に、パラメータ空間のメモリ容量を低減しつつ、迅速かつ効率的に拡大率、回転角及び平行移動量を算出することができる。
【００６４】
次に、図３のステップ３０２に示す候補領域の算定処理についてさらに具体的に説明する。
【００６５】
図４は、図３に示す候補領域の算定処理手順を示すフローチャートである。
【００６６】
同図に示すように、この候補領域算定部１２は、一般化ハフ変換処理部１４がエッジ画像Ｒｅ（ｘ，ｙ）からＲテーブルを作成したならば、入力画像のエッジ画像Ｉｅ（ｘ，ｙ）上のエッジ点を順次取得し（ステップ４０１）、このエッジ点がＲテーブル内の点（ｒ，α）と対応すると仮定した場合に、可能性のある拡大率ｓ、回転角θ及び平行移動量（ｕ，ｖ）の全ての組合せを求め、求めた組合せをパラメータ空間Ｐ（ｕ，ｖ，ｓ，θ）上に順次投票する。
【００６７】
具体的には、まず拡大率ｓをｓmin とし（ステップ４０２）、回転角θをФｎ−θｅとし（ステップ４０３）、エッジ方向ΦをФn-1 とし（ステップ４０４）、エッジ方向の変数ｍを’０’とする（ステップ４０５）。
【００６８】
そして、この場合の平行移動量（ｕ，ｖ）を、
ｕ＝Ｘ＋ｒ×ｓ×ｃｏｓ（α＋θ）
ｖ＝Ｙ＋ｒ×ｓ×ｓｉｎ（α＋θ）
の算定式から求め、求めたパラメータ空間Ｐ上の位置Ｐ（ｓ，θ，ｕ，ｖ）の投票値をインクリメントする（ステップ４０６）。
【００６９】
そして、変数ｍが定数Ｍ未満である間は、該変数ｍをインクリメントしてステップ４０６に移行し、パラメータ空間Ｐ上の投票を繰り返し（ステップ４０７）、変数ｍが定数Ｍ以上になると、エッジ方向ФがФn+1以上となるまでエッジ方向Фを順次インクリメントしてステップ４０５に移行する（ステップ４０８）。
【００７０】
そして、エッジ方向ФがФn+1以上になると、回転角θがФｎ＋θｅ以上となるまで順次回転角θをΔθだけインクリメントしてステップ４０４に移行し（ステップ４０９）、回転角θがФｎ＋θｅ以上になると、拡大率ｓがｓmax 以上となるまで順次拡大率ｓをΔｓだけインクリメントしてステップ４０３に移行する（ステップ４１０）。
【００７１】
そして、拡大率ｓがｓmax 以上になると、エッジ点の変数ｎが定数Ｎ以上であるか否かを調べ、該変数ｎが定数Ｎ以上でなければステップ４０２に移行する（ステップ４１１）。
【００７２】
かかる処理を行うことにより、パラメータ空間Ｐ上の各位置の投票値の集計結果が得られるため、このパラメータ空間Ｐ上の投票結果に基づいて複数の候補領域を抽出する（ステップ４１２）。
【００７３】
このように、この候補領域算定部１２では、拡大率ｓをｓminからｓmaxまでΔｓ刻みで変位させるとともに、回転角θをФｎ−θｅからФｎ＋θｅまでΔθ刻みで変位させ、この場合の各平行移動量（ｕ，ｖ）を算出してパラメータ空間Ｐ上に投票する処理を繰り返すことにより、複数の候補領域を求めている。なお、θｅは実験から求めたエッジ方向の検出誤差である。
【００７４】
ところで、このΔｓ及びΔθの分解能が高ければ、パラメータ空間Ｐ内の最大値の位置の検出によって直接拡大率、回転角及び平行移動量が求まるわけであるが、高分解能にするためには膨大なメモリ容量と計算時間が必要となる。
【００７５】
例えば、入力画像のサイズを５１２×５１２画素とし、ｓの分解能を０．５から２．０まで０．１刻み、θの分解能を１度、（ｕ，ｖ）の分解能を（２，２）画素とすると、パラメータ空間Ｐに必要なメモリ容量は、約３００メガバイト（２５６×２５６×３６０×１５）以上となる。
【００７６】
このため、本実施の形態では、ｓの分解能を０．５から２．０まで０．１刻み、θの分解能を４度、（ｕ，ｖ）の分解能を（４，４）画素とすることにより、パラメータ空間Ｐに必要なメモリ容量を数十メガバイトに抑制するとともに、パラメータ空間Ｐ上への投票に要する時間を短縮している。
【００７７】
また、かかるパラメータ空間Ｐの低分解能化を行うと、パラメータ空間Ｐ上での回転角θから見た投票結果に良好な結果をもたらすことになる。
【００７８】
例えば、図５（ａ）に示す画像をテンプレートとして一般化ハフ変換する場合には、例えば図中に示すエッジ点Ｐ及びＱから基準点へのベクトルを求めてＲテーブルを作成するため、当然ながらエッジ点Ｐ及びＱから張るベクトルの終点はともに基準点となる。
【００７９】
これに対して、このテンプレート画像を１０度回転した図５（ｂ）に示す入力画像を用いてパラメータ空間Ｐ上に投票を行う場合に、たとえ入力画像のエッジ点Ｐ’及びＱ’がテンプレート画像のエッジ点Ｐ及びＱにそれぞれ対応し、各エッジ方向が同じ場合であっても、パラメータ空間Ｐが高分解能（分解能１）であれば、エッジ点Ｐ’からのベクトルの終点とエッジ点Ｑ’からのベクトルの終点が一点に集約しない。エッジ検出部１３が検出するエッジ方向は、３×３画素の微分オペレータで処理したものであり、誤差を含むからである。
【００８０】
このため、パラメータ空間Ｐ上の投票位置を正確に求めるためには、例えばエッジ点Ｐ’及びＱ’からのエッジ方向の誤差を考慮した複数のベクトルを考え、両エッジ点からのベクトルが一致する一致点を求めざるを得ないが、かかる一致点をその都度求めていたのでは、膨大な処理時間を要する。
【００８１】
ところが、図５（ｃ）に示すように、パラメータ空間Ｐを低分解能（分解能２）にすると、エッジ点Ｐ’からのベクトルの終点とエッジ点Ｑ’からのベクトルの終点が一点に集約する。
【００８２】
このように、パラメータ空間Ｐ上を低分解能にすると、Δθを大きくすることができるので、パラメータ空間を小さくし、かつ、処理速度を高速化できるのである。
【００８３】
以上、図１に示す画像照合装置１０の全体処理及び候補領域を算定するまでの処理について説明した。
【００８４】
次に、図１に示す画像照合部１６の処理手順について説明する。ただし、ここでは、参照データは既に参照データ記憶部１６ｆに設定済みであるものとする。
【００８５】
図７は、図１に示す画像照合部１６の処理手順を示すフローチャートである。
【００８６】
同図に示すように、この画像照合部１６は、候補領域Ｆ（ｘ，ｙ）が入力されると、θ−ｑ平面作成部１６ａがエッジ検出部１３を用いてＦ（ｘ，ｙ）からエッジ方向画像Ｆｅ（ｘ，ｙ）を作成する（ステップ７０１）。
【００８７】
そして、θ−ｑ平面作成部１６ａは、ハフ変換処理部１６ｂを用いてＦｅ（ｘ，ｙ）をハフ変換してθ−ρ平面データｈ1（θ，ρ）を作成した後（ステップ７０２）、フーリエ変換部１６ｃを用いてｈ1（θ，ρ）をさらにフーリエ変換しθ−ｐ平面データＨ1（θ，ｐ）を作成する（ステップ７０３）。
【００８８】
さらに、θ−ｑ平面作成部１６ａは、対数座標変換処理部１６ｄを用いてθ−ｐ平面（θ，ｐ）のｐ軸を、ｑ軸という対数座標軸に対数座標変換して、θ−ｑ平面データＨ1（θ，ｑ）を作成する（ステップ７０４）。
【００８９】
そして、移動量算出部１６ｅは、予め作成し参照データ記憶部１６ｆに予め記憶しておいた同様な対数座標変換後の参照データＨ0（θ，ｑ）を当該参照データ記憶部１６ｆから読み出す（ステップ７０５）。
【００９０】
ついで、ステップ７０４で作成されたフーリエ対数座標変換画像Ｈ1（θ，ｑ）と、ステップ７０５で参照データ記憶部１６ｆから読み出されたフーリエ対数座標変換画像Ｈ0（θ，ｑ）とを用いて、これらの２次元相関係数Ｃr（θ，ｑ）を計算する（ステップ７０６）。
【００９１】
そして、この２次元相関係数Ｃr（θ，ｑ）が最大となるθ、ｑの位置より回転角ψ、拡大・縮小率ｓを求める（ステップ７０７）。
【００９２】
次に、この移動量算出部１６ｅは、これら回転角ψおよび拡大・縮小率ｓに基づいて参照θ−ρ平面に対する入力θ−ρ平面のθ軸方向のシフト量およびρ軸方向の拡大・縮小率を補正し、この補正した参照θ−ρ平面データｈ0（θ，ρ）と入力θ−ρ平面データｈ1（θ，ρ）の各θについてρ軸方向にシフトしながら正規化相関係数を計算し、その相関係数の最大値の位置を検出して、相関係数を記憶したρ相互相関画像Ｃρ（θ，ρ）を作成する（ステップ７０８）。
【００９３】
そして、移動量算出部１６ｅは、逆ハフ変換処理部１６ｇを用いてρ相互相関画像Ｃρ（θ，ρ）を逆ハフ変換して逆ハフ変換画像Ｉｎｖ（ｘ，ｙ）を作成し、その最大値の位置を求めて平行移動量（ｘΔ,ｙΔ）を算出する（ステップ７０９）。Ｉｎｖ（ｘ，ｙ）の最大値を、この候補領域の照合度とする。
【００９４】
上記一連の処理を行うことにより、θ−ｑ平面レベルで回転角ψおよび拡大・縮小率ｓを求めるとともに、該回転角ψおよび拡大・縮小率ｓに基づいてθ−ρ平面レベルで平行移動量（ｘΔ,ｙΔ）を求めることが可能となる。なお、上記処理手順においては、Ｒｅ（ｘ，ｙ）、ｈ0（θ，ρ）、Ｈ0（θ，ｐ）、Ｈ0（θ，ｑ）の作成手順についての説明を省略したが、これらについても、Ｆ（ｘ，ｙ）の場合と同様にステップ７０１〜７０４を実行することにより作成することができる。
【００９５】
次に、図７のステップ７０１に示すエッジ方向画像の作成手順について具体的に説明する。
【００９６】
図８は、図２のステップ７０１のエッジ方向画像の作成手順を示すフローチャートである。
【００９７】
図８に示すように、エッジ検出部１３では、まず最初にゼロクロス点を求めるために、候補領域Ｆ（ｘ，ｙ）に対して次式に示すガウスラプラシアンフィルターを適用し、ラプラシアン画像Ｆｇ（ｘ，ｙ）を作成する（ステップ８０１）。
【００９８】
0003693147.tif 000002
そして、Ｆｇ（ｘ，ｙ）の注目画素が負で、かつ、その４近傍の画素のうち少なくとも１つの画素の画素値が正であるか否かを確認し（ステップ８０２）、かかる条件が成立する場合には、Ｆ（ｘ，ｙ）に対してソーベル（Sobel ）の微分オペレータを適用してエッジ強度Ｅｍを算出する（ステップ８０３）。
【００９９】
そして、このエッジ強度Ｅｍが所定のしきい値以上であれば、エッジ方向Ｅθを計算してエッジ方向画像Ｆｅ（ｘ，ｙ）に格納し、しきい値未満の場合には、次画素の処理に移行する（ステップ３０５）。
【０１００】
このように、上記ゼロクロス点は、σの値を小さくして画像の詳細なエッジを検出しようとするとノイズのエッジ点に対応するものが多くなるという性質を有するため、かかるノイズのゼロクロス点の位置に対してソーベルオペレータを適用することにより、ノイズのゼロクロス点の除去を図っている。
【０１０１】
そして、注目画素を移行させながらかかるステップ８０２〜８０５の処理を繰り返し（ステップ８０６）、全ての画素に対する処理を終了したならば、このエッジ方向画像処理を終了する。
【０１０２】
このように、このエッジ検出部１３は、特開平５−１５１３５２号公報に開示されたエッジ検出方法と同様の手法を用いてエッジ方向画像Ｆｅ（ｘ，ｙ）を作成している。
【０１０３】
なお、上記ソーベルの微分オペレータは、図９に示すように、ｘ方向のマスクオペレータ９０とｙ方向のマスクオペレータ９１から構成され、ｘ方向のマスクオペレータ９０からの出力をＭｘ、ｙ方向のマスクオペレータ９１からの出力をＭｙとすると、エッジ強度Ｅｍ及びエッジ方向Ｅθは次式により算出される。
【０１０４】
0003693147.tif 000003
また、ここでは、ソーベルの微分オペレータを用いた場合について説明したが、ロバーツ（Robert）やロビンソン（Robinson）等の各種微分オペレータを適用することも可能である。
【０１０５】
次に、図７のステップ７０２に示すθ−ρ平面データの作成手順について具体的に説明する。
【０１０６】
図１０は、図７のステップ７０２のθ−ρ平面データの作成手順を示すフローチャートである。
【０１０７】
図１０に示すように、ハフ変換処理部１６ｂは、エッジ方向画像Ｆｅ（ｘ，ｙ）が入力されると（ステップ１００１）、このＦｅ（ｘ，ｙ）がエッジ点であるか否かを確認し（ステップ１００２）、エッジ点である場合には、角度変数θを
θ＝Ｅθ−Δθ
に設定する（ステップ１００３）。なお、このΔθは、実験を踏まえて妥当な値が設定される。
【０１０８】
次に、
0003693147.tif 000004
を算出するとともに、その算出値に対応するｈ1（θ，ρ）に＋１加算（投票）する（ステップ１００４）。
【０１０９】
そして、角度変数θをインクリメントし（ステップ１００５）、該角度変数θがＥθ−ΔθからＥθ＋Δθの範囲内である限り、上記ステップ１００４及び１００５の処理を繰り返す（ステップ１００６）。
【０１１０】
そして、かかる処理をエッジ方向画像Ｆｅ（ｘ，ｙ）の全画素について繰り返し（ステップ１００７）、全画素の処理を終えた時点で、このθ−ρハフ変換処理を終了する。
【０１１１】
すなわち、Ｆｅ（ｘ，ｙ）がエッジ点である場合には、角度変数θをＥθ−ΔθからＥθ＋Δθまで変位させつつρを算出し、そのθ及びρの組み合わせに対応するｈ1（θ，ρ）に＋１加算していくことにより、ｈ1（θ，ρ）を作成している。
【０１１２】
なお、ここでは候補領域Ｆ（ｘ，ｙ）に対応するｈ1（θ，ρ）を作成する場合について説明したが、テンプレート画像Ｒ（ｘ，ｙ）に対応するｈ0（θ，ρ）についても同様に作成することができる。
【０１１３】
次に、図７のステップ７０３に示すフーリエ変換処理、つまりθ−ｐ平面データの作成手順について具体的に説明する。
【０１１４】
ここで、候補領域Ｆ（ｘ，ｙ）は、テンプレート画像Ｒ（ｘ，ｙ）に対して、拡大・縮小率ｓで拡大、縮小され、さらに回転角ψをもって回転され、さらに平行移動量（ｘΔ,ｙΔ）だけ平行移動されている。
【０１１５】
こうした（ｘ,ｙ）空間上での拡大・縮小、回転、平行移動は、（θ,ρ）空間上では下式に示される変換で表される。
【０１１６】
0003693147.tif 000005
ただし、
0003693147.tif 000006
である。
【０１１７】
そこで、（θ,ρ）空間から、こうした平行移動の影響を除去するために、候補領域Ｆ（ｘ，ｙ）に対応するｈ1（θ，ρ）およびテンプレート画像Ｒ（ｘ，ｙ）に対応するｈ0（θ，ρ）それぞれについて、ρ軸方向の１次元のフーリエ変換を行い、その後周波数ｐがｐ≧０の領域のパワースペクトル密度を計算してフーリエ変換画像Ｈ1（θ,ｐ）、Ｈ0（θ，ｐ）を求めるようにしている。
【０１１８】
すなわち、図１１は、かかるθ−ｐ平面データの作成手順を示すフローチャートであり、同図に示すように、フーリエ変換処理部１６ｃは、まず、ハフ変換処理部１６ｂが作成した入力θ−ρ平面データｈ1（θ，ρ）を入力する（ステップ１１０１）。ついで、角度変数θをゼロに初期設定した後（ステップ１１０２）、ＦＦＴすなわち高速フーリエ変換によりｈ1（θ，ρ）においてρ軸方向の１次元フーリエ変換を行い、そのパワーをＨ1（θ，ｐ）に格納する。つまり周波数ｐがｐ≧０の領域のパワースペクトル密度を計算してフーリエ変換画像Ｈ1（θ,ｐ）を下記（８）式のごとく求める。
【０１１９】
0003693147.tif 000007
（ステップ１１０３）。
【０１２０】
そして、角度変数θをインクリメントした後に（ステップ１１０４）、該θがθmax未満であるか否かを確認し（ステップ１１０５）、θmax未満である場合にはステップ１１０３及び１１０４の処理を繰り返し、やがてθmax 以上となった時点で処理を終了する。
【０１２１】
なお、ここでは候補領域Ｆ（ｘ，ｙ）に対応するＨ1（θ，ｐ）を作成する場合について説明したが、テンプレート画像Ｒ（ｘ，ｙ）に対応するＨ0（θ，ｐ）についても上記（７）式のごとく同様に作成することができる。
【０１２２】
上記（４）、（７）、（８）式よりＨ0（θ，ｐ）とＨ1（θ，ｐ）との関係は下記（９）式のように表され、（４）式との比較から平行移動の影響が除去されているのがわかる。
【０１２３】
0003693147.tif 000008
次に、図７のステップ７０４に示す対数座標変換処理の手順について具体的に説明する。
【０１２４】
ここで、対数座標変換処理をする理由は、以下のとおりである。
【０１２５】
すなわち、拡大・縮小率ｓをもって候補領域Ｆ（ｘ，ｙ）がテンプレート画像Ｒ（ｘ，ｙ）に対して拡大、縮小している場合には、入力フーリエ変換画像Ｈ1（θ，ｐ）は参照フーリエ変換画像Ｈ0（θ，ｐ）に対してｐ軸方向に縮小、拡大したものになっている（例えば、候補領域Ｆ（ｘ，ｙ）がテンプレート画像Ｒ（ｘ，ｙ）に対して拡大しているときは、ｐ軸方向に縮む関係となる）。
【０１２６】
このまま、拡大・縮小率ｓを求めたのでは、演算処理が煩雑なものとなり、処理に時間を要することとなる。
【０１２７】
そこで、周波数ｐ軸を、周波数の対数座標軸ｑ軸に対数座標変換することにより、ｐ軸方向に画像が伸縮している関係を、ｑ軸方向に画像が平行移動している関係に変換する。つまり、参照θ−ｑ平面に対して入力θ−ｑ平面を、ｑ軸方向に拡大・縮小率ｓに応じた量だけシフト（平行移動）させるようにする。
【０１２８】
このようにｑ軸方向に平行移動している関係にすることによって拡大・縮小率ｓを求める演算処理が簡易なものとなり、処理時間が短縮されることとなる。
【０１２９】
図１２は、こうした対数座標変換処理の手順を示すフローチャートであり、同図に示すように、対数座標変換処理部１６ｄは、まずθをゼロに初期設定するとともに（ステップ１２０１）、ｑをゼロに初期設定する（ステップ１２０２）。
【０１３０】
ついで、ｑに対応するｐを下記（２５）式、
ｐ＝ｃ・exp（ｑ）    （２５）
（ただし、ｃは定数）
から求める。つまり、対数座標軸ｑ上の座標位置に対応するｐ軸上の座標位置を求める（ステップ１２０３）。
【０１３１】
こうしてｐとｑの対応関係が判明したならば、下記（２６）式に示すように、フーリエ変換画像Ｈ1（θ，ｐ）を、対応するフーリエ対数座標変換画像Ｈ1（θ，ｑ）に変換する（ステップ１２０４）。
【０１３２】
Ｈ1（θ,ｑ）＝Ｈ1（θ,ｐ）  （２６）
つぎに、対数座標変換のサンプリング誤差の影響を軽減するために、ｑ軸方向にハニング窓を掛ける処理を行う。
【０１３３】
つまり、下記（２７）式に示すように、ステップ１２０４で取得されたＨ1（θ,ｑ）にハニング窓関数Ｗ（ｑ）を乗算したものを、新たなＨ1（θ,ｑ）とする。
【０１３４】
Ｗ（ｑ）＝０．５（１＋cos（πｑ/ｑmax））
Ｈ1（θ,ｑ）＝Ｗ（ｑ）・Ｈ1（θ,ｑ）    （２７）
ただし、ｑmaxはｑの最大値である（ステップ１２０５）。
【０１３５】
ついで、ｑをインクリメントし（ステップ１２０６）、ｑが最大値ｑmax未満であれば（ステップ１２０７の判断ＹＥＳ）、更新したｑに対して同様な処理（ステップ１２０３〜ステップ１２０６）を繰り返すが、やがてｑが最大値ｑmaxに達すると（ステップ１２０７の判断ＮＯ）、つぎのステップ１２０８に移行される。
【０１３６】
今度は、θがインクリメントされ、θが最大値θmax未満であれば（ステップ１２０８の判断ＹＥＳ）、更新したθに対してｑを再度ゼロにした上で同様な処理（ステップ１２０２〜ステップ１２０７）を繰り返すが、やがてθが最大値θmaxに達すると（ステップ１２０８の判断ＮＯ）、この対数座標変換処理を終了させる。
【０１３７】
なお、ここでは候補領域Ｆ（ｘ，ｙ）に対応するＨ1（θ，ｑ）を作成する場合について説明したが、テンプレート画像Ｒ（ｘ，ｙ）に対応するＨ0（θ，ｑ）についても同様に作成することができる。
【０１３８】
こうした取得されたＨ1（θ，ｑ）とＨ0（θ，ｑ）の関係は、下記（１０）式のように表される。
【０１３９】
0003693147.tif 000009
ただし、
0003693147.tif 000010
である。
【０１４０】
このように候補領域Ｆ（ｘ，ｙ）に対応するＨ1（θ，ｑ）は、テンプレート画像Ｒ（ｘ，ｙ）に対応するＨ0（θ，ｑ）を、ｑ軸方向に−λ、θ軸方向にψだけシフトしたものとして表すことができる。
【０１４１】
よって、このｑ軸方向のシフト量−λを算出することができれば、拡大・縮小率ｓを上記（１２）式の関係より求めることができ、θ軸方向のシフト量ψを算出することができれば、回転角ψを求めることができる。
【０１４２】
そこで、こうしたｑ軸方向のシフト量−λ、θ軸方向のシフト量ψを求めるべく、移動量算出部１６ｅは、まず、参照データ記憶部１６ｆに予め記憶しておいた対数座標変換後の参照データＨ0（θ，ｑ）を当該参照データ記憶部１６ｆから読み出し（ステップ７０５）、この読み出されたフーリエ対数座標変換画像Ｈ0（θ，ｑ）とステップ７０４で作成されたフーリエ対数座標変換画像Ｈ1（θ，ｑ）とを用いて、これらの２次元相関係数Ｃr（θ，ｑ）を計算する（ステップ７０６）。その後、この２次元相関係数Ｃr（θ，ｑ）が最大となるθ、ｑの位置より回転角ψ、拡大・縮小率ｓを求める（ステップ７０７）。
【０１４３】
図１３は、こうした２次元相関係数Ｃr（θ，ｑ）の演算処理および回転角ψ、拡大・縮小率ｓの算出処理の手順を示すフローチャートであり、同図に示すように、まずＨ1（θ，ｑ）を２次元フーリエ変換してＦ1（ｕ,ｖ）を求める（ステップ１３０１）。ついで、このＦ1（ｕ,ｖ）の各成分のパワーを１．０に正規化してＦ1φ（ｕ,ｖ）を求める（ステップ１３０２）。テンプレート画像Ｒ（ｘ，ｙ）に対応するＨ0（θ，ｑ）についても同様の処理が実行され、この結果作成されたＦ0φ（ｕ,ｖ）が記憶部に予め記憶されている。そこで、このＦ0φ（ｕ,ｖ）が読み出される（ステップ１３０３）。
【０１４４】
かかる一連の処理について更に詳しく説明すると、まず、Ｈ0（θ，ｑ）、Ｈ1（θ，ｑ）それぞれが２次元フーリエ変換されて下記（１３）、（１４）式に示すようにＦ0（ｕ,ｖ）、Ｆ1（ｕ,ｖ）が求められる。
【０１４５】
0003693147.tif 000011
ここで、上記（１０）式とこれら（１３）、（１４）式とを用いて、Ｆ0（ｕ,ｖ）とＦ1（ｕ,ｖ）との関係式（１５）を得る。
【０１４６】
0003693147.tif 000012
そこで、Ｆ0（ｕ,ｖ）をパワーと位相に分けると、下記（１６）式のように表され、Ｆ1（ｕ,ｖ）については上記（１５）式より下記（１７）式のように表される。
【０１４７】
0003693147.tif 000013
この結果、Ｆ0（ｕ,ｖ）、Ｆ1（ｕ,ｖ）の位相成分はそれぞれ下記（１８）、（１９）式のように表される。
【０１４８】
0003693147.tif 000014
そこで、こうした取得されたＦ0φ（ｕ,ｖ）、Ｆ1φ（ｕ,ｖ）を用いてＦ1φ（ｕ,ｖ）と、Ｆ0φ（ｕ,ｖ）＊の積を下記（２０）、（２１）、（２２）式に示すように逆フーリエ変換してＨ0（θ，ｑ）とＨ1（θ，ｑ）の相関値（２次元相関係数）Ｃr（θ，ｑ）を求める。
【０１４９】
0003693147.tif 000015
ただし、Ｆ0φ（ｕ,ｖ）＊は、Ｆ0φ（ｕ,ｖ）の複素共役である（ステップ８０４）。
【０１５０】
このようにして求められた相関値Ｃr（θ，ｑ）はデルタ関数になっているのがわかる（上記（２２）式参照）。そして、このデルタ関数Ｃr（θ，ｑ）は、θ＝ψ、ｑ＝−λの座標位置で最大値をとる。そこで、Ｃr（θ，ｑ）平面から最大値をとる座標位置θ＝ψ、ｑ＝−λを検出し（ステップ１３０５）、この検出位置（ψ、−λ）に基づき、回転角ψを求めるとともに、拡大・縮小率ｓを、上記（１２）式に基づく変換式、
ｓ＝ｋ・exp（−λ）  （２８）
（ｋは定数）
により求めるようにする（ステップ１３０６）。
【０１５１】
以上、この図１３では、Ｈ0（θ,ｑ）に対するＨ1（θ,ｑ）の、θ軸方向のシフト量、ｑ軸方向のシフト量を求めるために、２次元フーリエ変換の位相を利用したフーリエ位相変換法を用いるようにしたが、通常のマッチトフィルタや２次元相関によって求める実施も可能である。
【０１５２】
次に、図７のステップ７０８に示すρ相互相関画像Ｃρ（θ，ρ）の作成手順について具体的に説明する。
【０１５３】
図１４は、図７のステップ７０８のρ相互相関画像Ｃρ（θ，ρ）の作成手順を示すフローチャートである。
【０１５４】
同図に示すように、移動量算出部１６ｅは、図１３に示す処理により回転角ψ、拡大・縮小率ｓを求めたならば、入力θ−ρ平面データｈ1（θ，ρ）及び参照θ−ρ平面データｈ0（θ，ρ）を入力して、求めた回転角ψおよび拡大・縮小率ｓを用いて参照θ−ρ平面に対する入力θ−ρ平面のθ軸方向のシフト量およびρ軸方向の拡大・縮小率を補正する（ステップ１４０１）。
【０１５５】
ついで、角度変数θをゼロに初期設定し（ステップ１４０２）、ずらし量Δρに−ρmax ×２を代入する（ステップ１４０３）。
【０１５６】
そして、回転角ψ、拡大・縮小率ｓによって補正したｈ0（θ，ρ）とｈ1（θ，ρ）の正規化相互相関係数を計算してρ相互相関画像Ｃ（θ，Δρ）に記憶し（ステップ１４０４）、Δρをインクリメントする（ステップ１４０５）。
【０１５７】
その後、このΔρがρmax ×２未満であるか否かを確認し（ステップ１４０６）、ρmax ×２未満である場合には、ステップ１４０４に移行して上記ステップ１４０４及び１４０５の処理を繰り返す。
【０１５８】
これに対して、Δρがρmax ×２以上となった場合には、角度変数θをインクリメントした後に（ステップ１４０７）、該角度変数θがθmax 未満である場合にはステップ１４０３に移行する（ステップ１４０８）。
【０１５９】
すなわち、この移動量算出部１６ｅでは、ｈ0（θ，ρ）とｈ1（θ，ρ）の各θについて、ρ軸方向にずらしながら１次元の正規化相互相関係数を計算し、ρ相互相関画像Ｃρ（θ，ρ）を作成している。
【０１６０】
ずらし量がΔρである場合の１次元の正規化相互相関係数は、次式により算出される。
【０１６１】
0003693147.tif 000016
次に、図７のステップ７０９に示す逆ハフ変換画像Ｉｎｖ（ｘ，ｙ）の作成手順について説明する。
【０１６２】
図１５は、図７のステップ７０９の逆ハフ変換画像Ｉｎｖ（ｘ，ｙ）の作成手順を示すフローチャートである。
【０１６３】
同図に示すように、移動量算出部１６ｅは、ρ相互相関画像Ｃρ（θ，ρ）を作成したならば（ステップ１５０１）、角度変数θをゼロに初期設定した後に（ステップ１５０２）、ρに−ρmax を設定する（ステップ１５０３）。
【０１６４】
そして、このＣρ（θ，ρ）が該Ｃρ（θ，ρ）の最大値であるＣmax よりも大きいか否かを判断し（ステップ１５０４）、Ｃmax よりも大きな場合には、このＣρ（θ，ρ）をＣmax に代入してＣmax を更新するとともに、この時のρをρｋに代入する（ステップ１５０５）。したがって、このρｋには、Ｃmax が最大である場合におけるρの値が格納される。
【０１６５】
次に、このρをインクリメントし（ステップ１５０６）、ρがρmax 未満であるか否かを確認し（ステップ１５０７）、ρmax 未満である場合には、ステップ１５０４〜１５０６の処理を繰り返す。
【０１６６】
これに対して、ρがρmax 以上となった場合には、Ｃρ（θ，ρk）を逆ハフ変換する。つまり、逆ハフ変換処理部１６ｇでは、Ｃρ（θ，ρ）上の点（θ，ρｋ）を、
0003693147.tif 000017
の式で示す直線に変換する処理が実行される。
【０１６７】
そして、この逆ハフ変換後のＩｎｖ（ｘ，ｙ）平面上の直線
ｙ＝−（１／ｔａｎθ）ｘ＋ρｋ／ｓｉｎθ
上にＣρ（θ，ρｋ）の値を加算する（ステップ１５０８）。
【０１６８】
そして、角度変数θをインクリメントした後に（ステップ１５０９）、該θがθmax 未満であるか否かを確認し（ステップ１５１０）、θmax 未満である場合にはステップ１５０３に移行する。
【０１６９】
すなわち、この移動量算出部１６ｅでは、Ｃρ（θ，ρ）から各θで最大値をとる位置（θ，ρｋ）を検出し、その位置で逆ハフ変換を行って逆ハフ変換画像Ｉｎｖ（ｘ，ｙ）を作成している。
【０１７０】
そして、この逆ハフ変換画像Ｉｎｖ（ｘ，ｙ）の最大値の位置（Ｘmax ，Ｙmax ）が平行移動量（ｘΔ,ｙΔ）となる。また、Ｉｎｖ（ｘ，ｙ）の最大値をこの候補領域の照合度とする。
【０１７１】
次に、図１に示す画像照合部１６を適用した場合の処理結果について説明する。
【０１７２】
図１６は、図１に示す画像照合部１６を文字の照合に適用した場合にディスプレイ上に表示される中間調画像を示す写真である。
【０１７３】
ここで、図１６（ａ）は、文字（「万」）のテンプレート画像Ｒ（ｘ，ｙ）であり、このテンプレート画像Ｒ（ｘ，ｙ）からエッジ方向を抽出した参照エッジ方向画像Ｒｅ（ｘ，ｙ）は、図１６（ｂ）に示すようになる。
【０１７４】
そして、このＲｅ（ｘ，ｙ）に対してハフ変換を施すと、図１６（ｅ）に示すような帯状の模様を持つ参照θ−ρ平面データｈ0（θ，ρ）となり、さらにこのｈ0（θ，ρ）をフーリエ変換すると、図１６（ｇ）に示すような参照θ−ｐ平面データＨ0（θ，ｐ）が得られる。さらにこのＨ0（θ，ｐ）のｐ軸をｑ軸に対数座標変換すると、図１６（ｉ）に示すような参照θ−ｑ平面データＨ0（θ，ｑ）が得られる。
【０１７５】
一方、図１６（ｃ）は、文字（「万」）の候補領域Ｆ（ｘ，ｙ）である。
【０１７６】
この候補領域Ｆ（ｘ，ｙ）からエッジ方向を抽出した入力エッジ方向画像Ｆｅ（ｘ，ｙ）は、図１６（ｄ）に示すようになる。
【０１７７】
そして、このＦｅ（ｘ，ｙ）に対してハフ変換を施すと、図１６（ｆ）に示すような入力θ−ρ平面データｈ1（θ，ρ）となり、さらにこのｈ1（θ，ρ）をフーリエ変換すると、図１６（ｈ）に示すような入力θ−ｐ平面データＨ1（θ，ｐ）が得られる。さらにこのＨ1（θ，ｐ）のｐ軸をｑ軸に対数座標変換すると、図１６（ｊ）に示すような入力θ−ｑ平面データＨ1（θ，ｑ）が得られる。
【０１７８】
ここで、このｈ1（θ，ρ）がｈ0（θ，ρ）に比して帯のうねりが見られる理由は、文字の姿勢角と位置が異なるためである。
【０１７９】
また、候補領域Ｆ（ｘ，ｙ）がテンプレート画像Ｒ（ｘ，ｙ）に対して拡大しているために、入力フーリエ変換画像Ｈ1（θ，ｐ）は参照フーリエ変換画像Ｈ0（θ，ｐ）に対してｐ軸方向に縮んでいるのがわかる。
【０１８０】
また、こうしたｐ軸方向に画像が縮んでいる関係は、対数座標変換されたＨ1（θ，ｑ）、Ｈ0（θ，ｑ）をみると、ｑ軸方向に画像が平行移動している関係に変換されているのがわかる。つまり、画像Ｈ0（θ，ｑ）を下方にシフトさせたものが画像Ｈ1（θ，ｑ）であることがわかる。
【０１８１】
さて、図１６（ｋ）は、相関値Ｃr（θ，ｑ）平面であり、この相関値Ｃr（θ，ｑ）平面は、他の点とは明らかに区別できる最大輝度の座標位置を有していることがわかる（最大輝度をとる座標位置が、θ＝ψ、ｑ＝−λである）。
【０１８２】
また、図１６（ｌ）は、ｈ1（θ，ρ）とｈ0（θ，ρ）の各θについて、ρ軸方向にずらしながら計算したρ相互相関画像Ｃρ（θ，ρ）を示す図であり、図１６（ｍ）は、Ｃρ（θ，ρ）から各θで最大値を持つ位置（θ，ρｋ）を検出し、その位置で逆ハフ変換を行った逆ハフ変換画像Ｉｎｖ（ｘ，ｙ）である。また、、Ｉｎｖ（ｘ，ｙ）の最大値を照合度とする。
【０１８３】
以上、図１に示す画像照合部１６が行う処理について説明した。これらの処理を複数の候補領域について行ない、その中で最も高い照合度をもつ時の拡大率、回転角、平行移動量を求める。もし、候補領域が１つしか得られなかった場合には１回の処理で拡大率、回転角、平行移動量が求まる。
【０１８４】
上述してきたように、本実施の形態では、テンプレート画像から求めたエッジ画像の各エッジ点から所定の基準点へのベクトルを求めてＲテーブルを作成し、その後入力画像のエッジ画像のエッジ点において、そのエッジ点を同じエッジ方向を持つＲテーブル内のベクトルをパラメータ空間Ｐ上に順次投票し、投票値が所定のレベル以上の位置で、テンプレートのサイズと拡大率とを考慮して候補領域を検出する。
【０１８５】
ここで、本実施の形態では、パラメータ空間を低分解能にして複数の候補領域を抽出するにとどめ、その後に行うハフ−フーリエ変換によって最も照合度の大きな候補領域の拡大率、回転角及び平行移動量を求めるよう構成したので、参照画像と、該参照画像に対応する候補領域その一部に含む入力画像とを照合する場合に、候補領域の拡大率、回転角及び平行移動量を、メモリ容量を低減しつつ、迅速かつ精度良く求めることができる
なお、本実施の形態では、図５に示すような一万円札の一部の文字を照合する場合だけでなく、図１７（ａ）に示す約束手形全体を入力画像とし、図１７（ｂ）に示す捺印画像をテンプレート画像とする場合にも適用することができる。なお、かかる場合には、図１７（ｃ）に示すようなパラメータ空間上での投票が行われる。この時の（ｘ、ｙ）のパラメータ空間の分解能は0.25である。
【０１８６】
【発明の効果】
以上詳細に説明したように、本発明によれば、参照画像のエッジ点から所定の基準点へのベクトルをエッジ方向ごとに収納したＲテーブルを作成し、入力画像のエッジ点を参照画像のエッジ点とした場合の基準点の位置をＲテーブルに基づいて低分解能化したパラメータ空間上に投票して一又は複数の候補領域を求め、求めた候補領域が複数存在する場合には、各候補領域と参照画像とをそれぞれ高精度に照合して、照合度の最も大きな候補領域の拡大率、回転角及び平行移動量を出力するよう構成したので、下記に示す効果が得られる。
【０１８７】
１）参照画像に対応する部分の拡大率、回転角及び平行移動量を、メモリ容量を低減しつつ、迅速に求めることができる。
【０１８８】
２）入力画像を参照画像と事前に対応させる必要がなくなるので、照合効率を高めることができる。
【０１８９】
３）パラメータ空間を低分解能化するものの、画情報自体の欠落を招くわけではないので、拡大率、回転角及び平行移動量を精度良く求めることができる。
【図面の簡単な説明】
【図１】本実施の形態で用いる画像照合装置の構成を示す図である。
【図２】図１に示す一般化ハフ変換処理部が行う一般化ハフ変換の概念及びＲテーブルの一例を示す図である。
【図３】図１に示す画像照合装置の処理手順を示すフローチャートである。
【図４】図３に示す候補領域の算定処理手順を示すフローチャートである。
【図５】パラメータ空間の低分解能化の概念を示す図である。
【図６】入力画像、テンプレート画像及びパラメータ空間への投票結果の一例を示すディスプレイ上に表示される中間調画像を示す写真である。
【図７】図１に示す画像照合部で行われる処理手順を示すフローチャートである。
【図８】図１に示すエッジ検出部が行うエッジ方向画像の作成手順を示すフローチャートである。
【図９】ソーベルの微分オペレータを示す図である。
【図１０】図１に示すハフ変換処理部が行うθ−ρ平面データの作成手順を示すフローチャートである。
【図１１】図１に示すフーリエ変換処理部が行うθ−ｐ平面データの作成手順を示すフローチャートである。
【図１２】図１に示す対数座標変換処理部が行う対数座標変換処理の手順を示すフローチャートである。
【図１３】図１に示す移動量算出部が行う回転角および拡大・縮小率の算出手順を示すフローチャートである。
【図１４】図１に示す移動量算出部が行うρ相互相関画像Ｃρ（θ，ρ）の作成手順を示すフローチャートである。
【図１５】図１に示す逆ハフ変換処理部が行う逆ハフ変換画像Ｉｎｖ（ｘ，ｙ）の作成手順を示すフローチャートである。
【図１６】図１に示す画像照合部を文字の照合に適用した場合にディスプレイ上に表示される中間調画像を示す各写真である。
【図１７】入力画像、テンプレート画像及びパラメータ空間への投票結果の別の例を示すディスプレイ上に表示される中間調画像を示す写真である。
【符号の説明】
１０…画像照合装置、  １１…画像入力部、  １２…候補領域算定部、
１３…エッジ検出部、  １４…一般化ハフ変換処理部、
１５…Ｒテーブル記憶部、  １６…画像照合部、
１６ａ…θ−ｆ平面作成部、  １６ｂ…ハフ変換処理部、
１６ｃ…フーリエ変換処理部、  １６ｄ…対数座標変換処理部、
１６ｅ…移動量算出部、  １６ｆ…参照データ記憶部、
１６ｇ…逆ハフ変換処理部、  １７…移動量特定部、
９０，９１…ソーベルオペレータ
【図１】
0003693147.tif 000018
【図２】
0003693147.tif 000019
【図３】
0003693147.tif 000020
【図４】
0003693147.tif 000021
【図５】
0003693147.tif 000022
【図６】
0003693147.tif 000023
【図７】
0003693147.tif 000024
【図８】
0003693147.tif 000025
【図９】
0003693147.tif 000026
【図１０】
0003693147.tif 000027
【図１１】
0003693147.tif 000028
【図１２】
0003693147.tif 000029
【図１３】
0003693147.tif 000030
【図１４】
0003693147.tif 000031
【図１５】
0003693147.tif 000032
【図１６】
0003693147.tif 000033
【図１７】
0003693147.tif 000034