(57)【要約】【課題】高速かつ高精度にパターンマッチング処理を行うパターンマッチング方法およびその装置、並びにプログラムを記録した記録媒体を提供する。【解決手段】パターンマッチング装置１は、判別部１１１、第１および第２テンプレート格納部１１２および１１３、演算部１１４、および記憶部１２１を備えている。判別部１１１は、テンプレート画像ＴＰに対して、エッジ周辺領域および均一輝度領域を判別し、それそれに対応した画像を生成する。第１のテンプレート格納部１１２は、均一輝度領域を第１のテンプレート画像ＴＰ１として格納する。第２のテンプレート格納部１１３は、エッジ周辺領域を第２のテンプレート画像ＴＰ２として格納する。演算部１１４は、入力画像Ｐｘに対して、第１および第２のテンプレート画像ＴＰ１およびＴＰ２を用いて位置座標およびその一致度を演算し、パターンマッチング処理の結果として出力する。【選択図】　　　　図２
2004062631.tif 000002
【特許請求の範囲】
【請求項１】
被撮像物の基準となるテンプレート画像において均一な輝度レベルの画素の領域を示す均一輝度領域を抽出して第１のテンプレート画像を生成する工程と、
前記テンプレート画像において前記均一輝度領域の境界およびその境界周辺の領域を示すエッジ周辺領域を抽出して第２のテンプレート画像を生成する工程と、
生成された前記第１および第２のテンプレート画像を用いて前記被撮像物の入力画像に対する一致度を演算する工程とを含む、パターンマッチング方法。
【請求項２】
前記第１および第２のテンプレート画像を生成する工程は、複数の画素で構成される小領域を用いた前記テンプレート画像全体に対する複数の評価値に基づいて、前記均一輝度領域および前記エッジ周辺領域を抽出する、請求項１に記載のパターンマッチング方法。
【請求項３】
前記複数の評価値は、前記小領域における輝度レベル評価値およびエッジ検出評価値であり、
前記第１および第２のテンプレート画像を生成する工程は、
前記テンプレート画像に対して、前記小領域毎に演算される前記輝度レベル評価値および前記エッジ検出評価値の組合せに応じてその組合せの頻度を演算する工程と、
前記頻度を所定のしきい値を用いて２値化し、その２値化された頻度によって区別される前記輝度レベル評価値および前記エッジ検出評価値の組合せに応じて、前記均一輝度領域および前記エッジ周辺領域を区別する工程とを含む、請求項２に記載のパターンマッチング方法。
【請求項４】
前記輝度レベル評価値は、前記小領域を構成する画素の輝度レベルの平均を示す平均輝度レベルであり、
前記エッジ検出評価値は、前記小領域を構成する画素に対する少なくとも異なる２方向のＳｏｂｅｌフィルタ出力値であることを特徴とする、請求項３に記載のパターンマッチング方法。
【請求項５】
前記一致度を演算する工程は、前記第１のテンプレート画像の画像データを所定の間隔で間引いた画像を用いる、請求項１〜４のいずれかに記載のパターンマッチング方法。
【請求項６】
被撮像物の基準となるテンプレート画像において均一な輝度レベルの画素の領域を示す均一輝度領域を抽出して第１のテンプレート画像を生成する第１のテンプレート画像生成部と、
前記テンプレート画像において前記均一輝度領域の境界およびその境界周辺の領域を示すエッジ周辺領域を抽出して第２のテンプレート画像を生成する第２のテンプレート画像生成部と、
生成された前記第１および第２のテンプレート画像を用いて前記被撮像物の入力画像に対する一致度を演算する演算部とを備える、パターンマッチング装置。
【請求項７】
被撮像物の基準となるテンプレート画像において均一な輝度レベルの画素の領域を示す均一輝度領域を抽出して第１のテンプレート画像を生成するステップと、
前記テンプレート画像において前記均一輝度領域の境界およびその境界周辺の領域を示すエッジ周辺領域を抽出して第２のテンプレート画像を生成するステップと、
生成された前記第１および第２のテンプレート画像を用いて前記被撮像物の入力画像に対する一致度を演算するステップとを、コンピュータに実行させるためのパターンマッチングプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、位置認識や検査のために画像同士の一致度を演算するパターンマッチング方法およびその装置、並びにそこで実行されるプログラムを記録した記録媒体に関し、より特定的には、電子機器に使用される電子部品実装基板の製造装置における位置認識装置や検査装置で行われるパターンマッチング方法およびその装置、並びにそこで実行されるプログラムを記録した記録媒体に関する。
【０００２】
【従来の技術】
従来、被撮像物をパターンマッチングを用いて画像処理する場合、被撮像物を撮像した画像と予め準備した被撮像物の基準となるマスタの画像とを比較して、そのマスタの画像と最も近い被撮像物の画像の対象パターンが検出される。このマスタの画像との近似度を示す尺度を一致度と呼び、それぞれの画像の輝度レベルの差が最小であるときに一致度が最も大きくなる関数を用いて検出される。この際、使用される画像の輝度レベルは、正規化されたものであってかまわない。また、予め準備される被撮像物の基準となるマスタの画像は、テンプレート画像と呼ばれ、一般的にはマスタの原画像がそのままパターンマッチングに使用されるか、もしくは、明るさとコントラストを不変化するために、輝度レベルを正規化した画像が使用される。
【０００３】
しかし、マスタの原画像あるいは輝度レベルを正規化した画像をそのままテンプレート画像に用いた場合、テンプレート画像を表すのに必要なデータ量が大きいため、パターンマッチング処理の演算速度が遅くなる。このようなパターンマッチング処理の演算速度を高速で行うために、上記テンプレート画像の輝度レベル情報を一定のピッチ（画素、格子目）で間引くことによって、テンプレート画像のデータ量を削減する方法も用いられている。このとき、具体的には、テンプレート画像は、その画像の形状に関わらず格子目状に一定ピッチの画素が間引かれる方法が用いられる。また、テンプレート画像を用いてパターンマッチングの対象パターンを探索する際に、スキャンする座標を階層的に減らしていきながらパターンマッチングを繰り返す、ピラミッドサーチ方式を用いて対象とする位置を検出する方法も用いられていた。
【０００４】
【発明が解決しようとする課題】
しかしながら、上述したように一定のピッチでテンプレート画像の画素データを間引いた場合、間引きのピッチよりも小さい範囲での画素の輝度レベルの変化による特徴が失われることがある。図１１を参照して、テンプレート画像から一定ピッチの格子目状に画素データを間引くことによって、画素の輝度レベルの変化による特徴が失われる一例について説明する。
【０００５】
図１１において、微細部Ｍｍが形成されたマスタＭを撮像したテンプレート画像ＴＰを考える。間引き処理前のテンプレート画像ＴＰは、画素毎にその輝度レベルデータを有しており、マスタＭは、画素毎の上記輝度レベルデータによって微細部Ｍｍを含めてほぼ精確に表現されている。このテンプレート画像ＴＰをその画像の輝度レベルの分布形状に関わらず一定ピッチ（図１１の例では、２画素毎のピッチ）の格子目状に画素データを間引くことによって、間引きテンプレート画像ＴＰｔが得られる。例えば、間引きテンプレート画像ＴＰｔを生成する際に、微細部Ｍｍを表現していた画素データが間引く対象となった場合、間引きテンプレート画像ＴＰｔでは微細部Ｍｍが表現されず、マスタＭの画素変化による特徴が失われることになる。
【０００６】
したがって、マスタＭに対して、微細部Ｍｍがパターンマッチング処理の上記対象パターンに含まれている場合、微細部Ｍｍを表現する画素データが失われた間引きテンプレート画像ＴＰｔを用いて上記一致度を演算することになる。つまり、一致度の演算に上記対象パターンの特徴である画素の輝度レベルを用いていないため、一致度が低下し上記対象パターンの位置を検出できない、もしくは誤った位置を検出位置としてしまう。また、実際に撮像した被撮像体の上記対象パターンの一部に欠陥等がある場合、その欠陥部を表現する画素データの有無によって一致度の演算値が影響を受けて検出位置がずれてしまう場合がある。このため、上記対象パターンの特徴を損なうことなく、かつ、画像中の欠陥等の阻害要因に影響されることなく、被撮像物の位置を検出することが必要である。
【０００７】
それ故に、本発明の目的は、高速に処理しながら高精度に一致度を演算することができるパターンマッチング処理を行うパターンマッチング方法およびその装置、並びにそこで実行されるプログラムを記録した記録媒体を提供することである。
【０００８】
【課題を解決するための手段】
上記目的を達成するために、本発明は、以下に述べるような特徴を有している。
本発明のパターンマッチング方法は、第１のテンプレート画像を生成する工程と、第２のテンプレート画像を生成する工程と、一致度を演算する工程とを含んでいる。第１のテンプレート画像を生成する工程は、被撮像物の基準となるテンプレート画像において均一な輝度レベルの画素の領域を示す均一輝度領域を抽出して第１のテンプレート画像を生成する。第２のテンプレート画像を生成する工程は、テンプレート画像において上記均一輝度領域の境界およびその境界周辺の領域を示すエッジ周辺領域を抽出して第２のテンプレート画像を生成する。一致度を演算する工程は、生成された上記第１および第２のテンプレート画像を用いて被撮像物の入力画像に対する一致度を演算する。
【０００９】
上記した本発明の構成によれば、予め準備されたテンプレート画像中の均一輝度領域に着目し、それらの区分けをエッジとして、テンプレート画像の領域分割処理を行う。この領域分割処理によって、均一輝度領域を第１のテンプレート画像とし、当該均一輝度領域の境界およびその境界周辺領域を第２のテンプレート画像として生成する。このような第１および第２のテンプレート画像は、領域分割前のテンプレート画像より画素データが少ないため、被撮像物の入力画像に対する一致度を演算を高速に行うことができる。また、第２のテンプレート画像は、テンプレート画像をエッジ検出処理のみで抽出されるのではなく、均一輝度領域の境界およびその境界周辺領域として抽出される。これによって、局所的な輝度レベルの変化のみでなく、強調されたエッジ部分だけのデータに偏らない、エッジの立ち上がり等のエッジ周辺領域を含めて抽出することができる。したがって、第２のテンプレート画像は、一致度の演算結果に大きく影響するエッジ周辺領域を間引かれることなく正確に表しているため、一致度の演算を高精度に行うことができる。
【００１０】
また、第１および第２のテンプレート画像を生成する工程は、テンプレート画像全体に対して、複数の画素で構成される小領域を用いた複数の評価値によって、均一輝度領域およびエッジ周辺領域を抽出してもかまわない。これによって、複数の評価値を得るための小領域の幅相当の不感帯が領域の縁辺に生じ、局所的な輝度レベル変化を捉える評価値ではなく、輝度レベル変化の周辺領域を含めた抽出が容易になる。
【００１１】
上記複数の評価値は、小領域における輝度レベル評価値およびエッジ検出評価値とで構成されてもよい。さらに、上記第１および第２のテンプレート画像を生成する工程は、組合せの頻度を演算する工程と均一輝度領域およびエッジ周辺領域を区別する工程とを含んでもよい。組合せの頻度を演算する工程は、テンプレート画像に対して、小領域毎に演算される輝度レベル評価値およびエッジ検出評価値の組合せに応じてその組合せの頻度を演算する。均一輝度領域およびエッジ周辺領域を区別する工程は、上記頻度を所定のしきい値を用いて２値化し、その２値化された頻度によって区別される輝度レベル評価値およびエッジ検出評価値の上記組合せに応じて、均一輝度領域およびエッジ周辺領域を区別する。これによって、輝度レベル変化の激しい画素に偏る、あるいは輝度レベルの差が小さい画素を抽出できないようなテンプレート画像になることを防止することができる。また、輝度レベル評価値およびエッジ検出評価値の組合せの頻度で２値化するため、容易に上記組合せを評価することが可能であり、テンプレート画像の頻度が多い画素を均一輝度領域および頻度が少ない画素をエッジ周辺領域として区別することが可能となる。
【００１２】
なお、本発明の複数の評価値は、例えば、小領域を構成する画素の輝度レベルの平均を示す平均輝度レベルや輝度レベルの分散値等の統計値、少なくとも異なる２方向のＳｏｂｅｌフィルタ、差分フィルタ、あるいはラプラシアンフィルタ等の線形フィルタの出力値、局所領域の角度方向あるいは周波数方向のフーリエパワースペクトル等の領域特徴量のような種々のものが考えられる。
【００１３】
また、一致度を演算する工程は、第１のテンプレート画像の画像データを所定の間隔で間引いた画像を用いてもかまわない。これによって、均一画素領域を示す第１のテンプレート画像の画素データを削減できるため、例えば、間引かれた第１のテンプレート画像を用いて、さらに高速に大略的な一致度を演算することが可能となる。
【００１４】
なお、本発明は、上述したパターンマッチング方法における、それぞれの工程を実行する機能を有するパターンマッチング装置としても実現することができる。また、本発明は、コンピュータに、上述したパターンマッチング方法における、それぞれの工程を処理ステップとして実行させるためのパターンマッチングプログラムを記録したコンピュータ読み取り可能な記録媒体としても実現することができる。
【００１５】
【発明の実施の形態】
図１２を参照して、本発明の実施の形態を説明する前に、本発明の概念について説明する。被撮像物をパターンマッチングを用いて画像処理する場合、被撮像物を撮像した画像と予め準備された被撮像物の基準となるマスタの画像（以下、テンプレート画像とする）とを比較して、その一致度が比較される。図１２（ａ）に示すように、テンプレート画像ＴＰは、均一な輝度レベルを有する均一輝度領域と、その均一輝度領域間の境界部分（以下、エッジ領域）とに区分できる。それぞれの領域が、上記一致度の演算に与える影響を考えるために、テンプレート画像ＴＰとその被撮像体の撮像画像Ｐｘとがずれた状態で配置された断面方向のモデルを図１２（ｂ）に示す。図１２（ｂ）に示すように、パターンマッチングにおける一致度を演算する際に、テンプレート画像ＴＰと撮像画像Ｐｘとの位置がずれていても、互いの均一輝度領域が重なる領域Ａａは、比較しても同一の輝度レベルになるため、一致度の演算結果に影響しない。一方、互いのエッジ領域が影響する領域Ａｅは、比較すると異なった輝度レベルであるため、一致度の演算結果に大きく影響する。つまり、パターンマッチング処理を高速にするためには、上記エッジ領域による一致度の演算が重要であることがわかる。
【００１６】
一方、テンプレート画像ＴＰから上記エッジ領域を抽出するには、一般的には隣り合う画素間の差分等を演算に用いたエッジ検出処理が用いられる。ここで、パターンマッチング処理は、輝度レベルの変化に対して一致度の演算および位置の検出を行うため、エッジの立ち上がり始めから終わりまでのエッジ周辺の輝度レベル変化を呈する領域（以下、エッジ周辺領域とする）を、テンプレート情報として持たなくてはならない。しかし、上記エッジ検出処理で一般的に用いられる差分やソベル等のフィルタリング処理は、局所的な輝度レベルの変化を捉える処理であるため、エッジだけを抽出するにはよいが、エッジの立ち上がり等のエッジ周辺領域を含めて抽出するのは困難である。また、撮像時の照明によって一部のエッジが強調される場合、エッジの強度に基づいたエッジ周辺領域を抽出しようとすると、強調されたエッジ部分だけのデータに偏ったテンプレート情報になってしまう可能性がある。
【００１７】
そこで、本発明は、上記均一輝度領域に着目して、それらを区分けするエッジ領域をエッジとして、一般的な画像の領域分割処理を考える。最も簡単なケースでは、画像のヒストグラムを取り、輝度レベルの濃度分布情報に基づいて分割するものが考えられる。この場合、エッジ周辺領域の輝度レベルは、分割した結果から容易に抽出することができる。ところが、隣り合った均一輝度領域の輝度レベルの差が小さい場合、領域を分割することができないため、エッジを抽出することができない。そこで、複数の特徴量に基づいて領域を分割する。通常、上記領域分割処理を行うには、小領域（窓関数）で得られる特徴量を、特徴空間にプロットしてクラスタリングを行う必要がある。このようにして領域分割がなされた場合、上記特徴量を得るための小領域の幅相当の不感帯が領域の縁辺に生じる。これが、上述したエッジの立ち上がりから終わりまでの部分を含んだ縁辺部分（すなわち、エッジ周辺領域）であることを利用して、テンプレート情報を生成する。
【００１８】
次に、本発明の一実施形態に係るパターンマッチング装置について説明する。当該パターンマッチング装置は、例えば、電子機器に使用される電子部品実装基板の製造装置における位置認識や検査に使用される。まず、図１を参照して、当該パターンマッチング装置のハード構成について説明する。パターンマッチング装置１には、撮像装置２、表示装置３、および入力装置４が接続されている。撮像装置２は、例えばＣＣＤ（Ｃｈａｒｇｅ　Ｃｏｕｐｌｅｄ　Ｄｅｖｉｃｅ）で構成され、パターンマッチング処理を行う被撮像体Ｘを撮像し、その画像データを入力画像Ｐｘとしてパターンマッチング装置１に出力する。表示装置２は、例えば液晶等で構成されるディスプレイ装置であり、パターンマッチング装置１からの処理結果等の出力を、ユーザに対して表示する。入力装置４は、キーボードやマウス等で構成され、ユーザからの指示をパターンマッチング装置１に入力する。パターンマッチング装置１には、中央演算ユニット（ＣＰＵ）１１および記憶装置１２が設けられている。記憶装置１２は、ＲＯＭ（Ｒｅａｄ−Ｏｎｌｙ　Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ−Ａｃｃｅｓｓ　Ｍｅｍｏｒｙ）、およびハードディスク等で構成される。記憶装置１２は、後述するテンプレート画像を予め記憶したり、ＣＰＵ１１が処理する際に用いられる記憶領域やプログラム自体を記憶する領域として用いられる。
【００１９】
図２を参照して、パターンマッチング装置１に構成される機能ブロックについて説明する。この機能ブロック図は、本発明のパターンマッチングプログラムをパターンマッチング装置１で実行することによって形成される機能構成の一例を示している。パターンマッチング装置１で実行されるパターンマッチングプログラムは、記憶装置１２に格納され、ＣＰＵ１１内で実行される。なお、パターンマッチングプログラムは、ＣＰＵ１１がそれを読み出して実行可能であるかぎりにおいて。記憶装置１２以外の他の記録媒体に格納されていてもかまわない。したがって、上記パターンマッチングプログラムを他の処理装置にインストールすることによって、同様の機能を移植することも可能である。
【００２０】
図２において、パターンマッチング装置１は、判別部１１１、第１および第２テンプレート格納部１１２および１１３、演算部１１４、および記憶部１２１を備えている。
【００２１】
判別部１１１は、記憶部１２１から入力したテンプレート画像ＴＰの輝度レベル情報において、その小領域における複数の評価値を演算する判別用評価値演算部１１１ａを含んでいる。判別部１１１は、判別用評価値演算部１１１ａが演算した評価値に基づいて、上記テンプレート画像ＴＰに対してパターンのエッジおよびそのエッジ周辺領域に相当する輝度レベルの変化を持つ画素か否かを判別し、それそれに対応した画像を生成する。
【００２２】
第１テンプレート格納部１１２は、上記テンプレート画像ＴＰの中で、上記判別部１１１によってパターンのエッジに相当する輝度レベルの変化を持たないと判別された画像（すなわち、均一輝度領域）を第１のテンプレート画像ＴＰ１として格納する。また、第２テンプレート格納部１１３は、上記テンプレート画像ＴＰの中で、上記判別部１１１によってパターンのエッジおよびエッジの周辺領域に相当する輝度レベルの変化を持つと判別された画像（すなわち、エッジ周辺領域）を第２のテンプレート画像ＴＰ２として格納する。
【００２３】
演算部１１４は、撮像装置２から入力した入力画像Ｐｘの任意の画像領域に対して、上記第１および第２のテンプレート画像ＴＰ１およびＴＰ２を用いて一致度を求める探索座標を演算し、その探索座標における一致度の演算を繰り返す。そして、演算部１１４は、最も一致度が高い探索座標位置に対して、その一致度および位置座標をパターンマッチング処理の結果として出力する。
【００２４】
次に、図２および図３を参照して、当該パターンマッチング装置１がパターンマッチング処理のためのテンプレート画像を予め設定する手順について説明する。なお、図３は、パターンマッチング装置１が行うテンプレート画像の設定手順を示すフローチャートである。
【００２５】
まず、パターンマッチング装置１は、記憶部１２１に格納されているテンプレート画像から、パターンマッチング処理に必要なテンプレート画像を抽出（ステップＳ１１）し、該テンプレート画像に対して所定の基準で位置座標を設定（ステップＳ１２）した後、該テンプレート画像からパターンマッチング処理を行う対象パターンを切り出す（ステップＳ１３）。以下、このステップＳ１３で切り出されたテンプレート画像をテンプレート画像ＴＰとする。なお、上記ステップＳ１１〜１３の処理は、入力装置４を用いたユーザからの指示に基づいて行われてもかまわないが、既に公知の一般的なパターンマッチング処理であるため、本実施形態においてはこれ以上の説明を省略する。
【００２６】
次に、判別部１１１は、上記ステップＳ１３で作成されたテンプレート画像ＴＰに対して、マスク画像Ｐｍを作成する（ステップＳ１４）。なお、図４は、判別部１１１が、上記ステップＳ１４で行うマスク画像Ｐｍの作成についての詳細な手順を示すサブルーチンである。以下、図４を参照して、判別部１１１が行うマスク画像作成手順について説明する。
【００２７】
まず、判別部１１１は、上記ステップＳ１３で入力したテンプレート画像ＴＰから、所定の画素ａを選択する（ステップＳ１４１）。そして、処理は次のステップに進む。
【００２８】
次に、判別部１１１に含まれる判別用評価値演算部１１１ａは、上記ステップＳ１４１で選択されたテンプレート画像ＴＰの画素ａを中心とした小領域（窓関数）に対して、Ｓｏｂｅｌフィルタ出力値および平均輝度レベルを演算する（ステップＳ１４２）。
【００２９】
図５を参照して、判別用評価値演算部１１１ａが行う上記ステップＳ１４２で演算されるＳｏｂｅｌフィルタ出力値の演算について説明する。ここでは、画素ａを中心とした小領域（窓関数）を、３×３の合計９画素と設定して説明を行う。まず、上記ステップＳ１４１で選択されている画素ａに対して、窓関数Ｗａを設定する。この窓関数Ｗａによって演算対象となるテンプレート画像ＴＰの画素は、画素ａおよび画素ａに接する８つの画素である。これに対して、Ｓｏｂｅｌフィルタは、方向の依存性を無くすために、図５に示すような水平方向および垂直方向で示される２方向のＳｏｂｅｌ出力のノルムｆ１およびｆ２を用いる。そして、判別用評価値演算部１１１ａは、画素ａを中心とした窓関数Ｗａに対して、水平方向および垂直方向Ｓｏｂｅｌの出力のノルムｆ１およびｆ２を用いて、以下の式を用いてＳｏｂｅｌフィルタ出力値Ｓａを演算する。
【数１】
2004062631.tif 000003
なお、上述したＳｏｂｅｌフィルタ出力値の演算については、既に公知の一般的に画像のエッジ検出を行う処理であるため、本実施形態においてはこれ以上の説明を省略する。
【００３０】
また、判別用評価値演算部１１１ａは、上記ステップＳ１４２でテンプレート画像ＴＰの画素ａを中心とした小領域に対して、平均輝度レベルを演算する。この平均輝度レベルは、上記小領域に含まれる画素（上述した３×３の場合、合計９画素）のそれぞれの輝度レベルに対する平均値を演算する。
【００３１】
なお、上記ステップＳ１４２では、判別用評価値演算部１１１ａが小領域に対するＳｏｂｅｌフィルタの出力値および平均輝度レベルを演算したが、他の評価値を用いてもかまわない。例えば、小領域を構成する画素の輝度レベルの輝度レベルの分散値、中央値、最大値、あるいは最小値等の統計値、差分フィルタ、あるいはラプラシアンフィルタ等の線形フィルタの出力値、局所領域の角度方向あるいは周波数方向のフーリエパワースペクトル等の領域特徴量のような種々の評価値から選択して演算すればよい。
【００３２】
図４に戻り、判別用評価値演算部１１１ａは、上記ステップＳ１４２で画素ａに対して演算したＳｏｂｅｌフィルタ出力値および平均輝度レベルを用いて、Ｓｏｂｅｌフィルタ出力および平均輝度レベルを数値軸とした２次元の特徴空間に対して、そのような数値をもつテンプレートＴＰ中の頻度として示す（ステップＳ１４３）。図６を参照して、Ｓｏｂｅｌフィルタ出力および平均輝度レベルを数値軸とした２次元の特徴空間に、そのような数値をもつテンプレートＴＰ中の頻度を第３軸に示したヒストグラムを説明する。例えば、上記ステップＳ１４１で画素ａに対してＳｏｂｅｌフィルタ出力値ｘおよび平均輝度レベルｙが演算された場合、上記特徴空間のＳｏｂｅｌフィルタ出力および平均輝度レベルの数値軸において、そのような組合せ（ｘ、ｙ）に相当するポイントに頻度１を加える。なお、上記特徴空間のポイントに既に頻度が記録されている場合、その頻度に対して＋１する。このような処理を、全てのテンプレート画像ＴＰの画素に対して繰り返すことによって、Ｓｏｂｅｌフィルタ出力値および平均輝度レベルの組合せ数値に対して、そのような数値をもつテンプレートＴＰ中の頻度を第３軸に示したヒストグラムが作成される。
【００３３】
図４に戻り、判別用評価値演算部１１１ａは、テンプレート画像ＴＰに含まれる全ての画素に対して、上記ステップＳ１４２およびＳ１４３の処理が行われたか否かを判断する（ステップＳ１４４）。そして、判別用評価値演算部１１１ａは、全ての画素に対して処理が行われている場合、次のステップＳ１４５に処理を進め、全ての画素に対して処理が終了していない場合、上記ステップＳ１４１に戻り、処理を繰り返す。
【００３４】
次に、判別用評価値演算部１１１ａは、上記ステップＳ１４３で作成したＳｏｂｅｌフィルタ出力、平均輝度レベルおよび頻度を数値軸としたヒストグラムに対して、上記頻度に対するしきい値Ｔを設定し、そのしきい値Ｔ以上か否かによって上記ヒストグラムの頻度を２値化する（ステップＳ１４５）。ここでは、この２値化を、しきい値Ｔ以上を示している画素を１とし、しきい値Ｔ未満を示している画素を０として処理する。なお、しきい値Ｔは、上記２値化によって分類される上記画素のそれぞれの総数の割合を予め設定することによって、自動的に算出するようにしてもよい。また、しきい値Ｔは、後述するマスク画像を表示装置３に表示させることによって、ユーザが該マスク画像の状態を確認し、その都度設定してもかまわない。そして、処理は次のステップに進む。
【００３５】
次に、判別用評価値演算部１１１ａは、上記ステップＳ１４５で２値化したそれぞれの頻度に相当する上記ヒストグラムにおけるＳｏｂｅｌフィルタ出力および平均輝度レベルのポイントに対して、ラベリングを行う（ステップＳ１４６）。図７を参照して、上記ステップＳ１４６で処理されるラベリングについて説明する。上記ステップＳ１４６では、Ｓｏｂｅｌフィルタ出力および平均輝度レベルの数値軸空間を２値画像Ｐ２として扱うことによって、それぞれのＳｏｂｅｌフィルタ出力および平均輝度レベルのポイントに対して、上記ステップＳ１４５で設定した２値化画素（すなわち、画素０あるいは１）がラベルとして割り当てられる。つまり、上記ヒストグラムにおけるしきい値Ｔ以上を示している画素に相当する上記ポイントには、ラベル１がラベリング（図７で示す２値画像Ｐ２の白領域）され、しきい値Ｔ未満を示している画素に相当する上記ポイントには、ラベル０がラベリング（図７で示す２値画像Ｐ２の黒領域）される。そして、処理は次のステップに進む。
【００３６】
図４に戻り、判別部１１１は、上記ステップＳ１４６でラベリングしたＳｏｂｅｌフィルタ出力および平均輝度レベルの数値軸空間で示される２値画像Ｐ２を用いて、テンプレート画像ＴＰのマスク画像Ｐｍを作成し（ステップＳ１４７）、当該サブルーチンによるマスク画像生成処理を終了する。ここでは、テンプレート画像ＴＰを構成するそれぞれの画素毎に、マスク画像Ｐｍへの変換処理が行われる。まず、判別部１１１は、それぞれのテンプレート画像ＴＰの画素に対して、その画素のＳｏｂｅｌフィルタ出力値および平均輝度レベルが対応する上記ラベルを、上記２値画像Ｐ２を用いてを抽出する。そして、判別部１１１は、上記抽出したラベル（すなわち、ラベル０あるいは１）を輝度レベル（すなわち、輝度レベル０あるいは１）として、それぞれの画素を該テンプレート画像ＴＰの座標空間に変換する。このような処理を、テンプレート画像ＴＰの全画素に対して行うことによって、Ｓｏｂｅｌフィルタ出力値および平均輝度レベルの組合せの頻度が小さい画素を輝度レベル０にしたマスク画像Ｐｍが生成される。
【００３７】
図８を参照して、テンプレート画像ＴＰがマスク画像Ｐｍに変換される一例を説明する。図８に示すテンプレート画像ＴＰは、十字形状の領域Ａ１とその周辺領域Ａ２で構成されている。このようなテンプレート画像ＴＰを構成するそれぞれの画素を中心とした小領域（窓関数）が上記領域Ａ１あるいはＡ２にのみ含まれる場合（つまり、均一輝度領域）、その小領域を用いて演算した上記Ｓｏｂｅｌフィルタ出力値および上記平均輝度レベルの演算値は、演算対象画素を変えても極めて近似した値が演算される。一方、上記小領域が上記領域Ａ１およびＡ２を共に含む場合（つまり、領域Ａ１の縁辺を含むエッジ周辺領域）、その小領域を用いて演算した上記Ｓｏｂｅｌフィルタ出力値および上記平均輝度レベルの演算値は、該小領域に含まれる領域Ａ１およびＡ２の割合や領域Ａ１の縁辺の形状等の影響を大きく受けて、演算対象画素を変えると大きく異なった値が演算される。つまり、上記均一輝度領域を演算したＳｏｂｅｌフィルタ出力値および平均輝度レベルの演算値の組合せの頻度は、上記エッジ周辺領域の演算値の組合せの頻度より非常に多くなることがわかる。したがって、上述した処理によってテンプレート画像ＴＰを用いてマスク画像Ｐｍを作成した場合、Ｓｏｂｅｌフィルタ出力値および平均輝度レベルの演算値の組合せの頻度が小さい画素が輝度レベル０でマスクされるため、上記エッジ周辺領域が輝度レベル０となったマスク画像Ｐｍが作成される。一方、上記均一輝度領域に対しては上記頻度が多いため、輝度レベル１となったマスク画像Ｐｍが作成される。つまり、均一輝度領域が輝度レベル１（図８で示すマスク画像Ｐｍの白領域）およびエッジ周辺領域が輝度レベル０（図８で示すマスク画像Ｐｍの黒領域）で表現されるマスク画像Ｐｍを作成することができる。
【００３８】
図３に戻り、判別部１１１は、上記ステップＳ１４７で作成したマスク画像Ｐｍを用いて、テンプレート画像ＴＰの上記均一輝度領域に相当する第１のテンプレート画像ＴＰ１およびテンプレート画像ＴＰの上記エッジ周辺領域に相当する第２のテンプレート画像ＴＰ２を作成する（ステップＳ１５）。なお、図９は、判別部１１１が、上記ステップＳ１５で行う第１および第２のテンプレート画像の作成についての詳細な手順を示すサブルーチンである。以下、図９を参照して、判別部１１１が行う第１および第２のテンプレート画像作成手順について説明する。
【００３９】
まず、判別部１１１は、上記ステップＳ１４７で作成したマスク画像Ｐｍおよびテンプレート画像ＴＰを入力する（ステップＳ１５１、Ｓ１５２）。そして、判別部１１１は、テンプレート画像ＴＰから所定の画素ｂを選択する（ステップＳ１５３）。そして、処理は次のステップに進む。
【００４０】
次に、判別部１１１は、上記ステップＳ１５３で選択した画素ｂと同一位置座標に位置するマスク画像Ｐｍの画素に対して、その画素の輝度レベルが「０」か否かを判断する（ステップＳ１５４）。つまり、上述したようにマスク画像Ｐｍにおける輝度レベル０の領域がエッジ周辺領域であるため、判定部１１１は、上記ステップＳ１５３で選択されたテンプレート画像ＴＰの画素が、エッジ周辺領域か否かを判断することができる。そして、判別部１１１は、上記画素の位置座標がマスク画像Ｐｍで輝度レベル０でない場合、該画素を第１のテンプレート画像ＴＰ１に設定し（ステップＳ１５５）、次のステップＳ１５７に処理を進める。一方、判別部１１１は、上記画素の位置座標がマスク画像Ｐｍで輝度レベル０である場合、該画素を第２のテンプレート画像ＴＰ２に設定し（ステップＳ１５６）、次のステップＳ１５７に処理を進める。
【００４１】
次に、判別部１１１は、テンプレート画像ＴＰに含まれる全ての画素に対して、上記ステップＳ１５４〜Ｓ１５６の処理が行われたか否かを判断する（ステップＳ１５７）。そして、判別部１１１は、全ての画素に対して処理が行われている場合、当該サブルーチンによる処理を終了し、全ての画素に対して処理が終了していない場合、上記ステップＳ１５３に戻り、処理を繰り返す。
【００４２】
図８を参照して、判別部１１１が上記ステップＳ１５３〜Ｓ１５７で作成する第１および第２のテンプレート画像ＴＰ１およびＴＰ２について説明する。まず、第１のテンプレート画像ＴＰ１は、マスク画像Ｐｍの輝度レベル１の画素に対して、同一位置座標に位置するテンプレート画像ＴＰの画素が抽出されることによって作成される。つまり、マスク画像Ｐｍの輝度レベル０の画素に対しては抽出されないため、結果的に第１のテンプレート画像ＴＰ１は、マスク画像Ｐｍとテンプレート画像ＴＰとを、同一座標空間の輝度レベルで掛け合わせることによって作成される。これにより、第１のテンプレート画像ＴＰ１は、上記均一輝度領域がテンプレート画像ＴＰの画素で表現され、上記エッジ周辺領域が輝度レベル０（図８で示す第１のテンプレート画像ＴＰ１の黒領域）で表現される。一方、第２のテンプレート画像ＴＰ２は、マスク画像Ｐｍの輝度レベル０の画素に対して、同一位置座標に位置するテンプレート画像ＴＰの画素が抽出されることによって作成される。つまり、マスク画像Ｐｍの輝度レベル１の画素に対しては抽出されないため、第２のテンプレート画像ＴＰ２は、マスク画像Ｐｍの各画素の輝度レベルｇを１−ｇとした（つまり、輝度レベル０の画素は輝度レベル１となり、輝度レベル１の画素は輝度レベル０となる）マスク画像（１−Ｐｍ）とテンプレート画像ＴＰとを、同一座標空間の輝度レベルで掛け合わせることによって作成される。これにより、第２のテンプレート画像ＴＰ２は、上記エッジ周辺領域がテンプレート画像ＴＰの画素で表現され、上記均一輝度領域が輝度レベル０（図８で示す第２のテンプレート画像ＴＰ２の黒領域）で表現される。
【００４３】
図３に戻り、判別部１１１は、上記ステップＳ１５で作成された第１および第２のテンプレート画像ＴＰ１およびＴＰ２を、それぞれ第１および第２テンプレート格納部１１２および１１３に格納して（ステップＳ１６）、当該フローチャートによるテンプレート画像を予め設定する処理を終了する。
【００４４】
次に、図１０を参照して、パターンマッチング装置１の演算部１１４が上記第１および第２のテンプレート画像ＴＰ１およびＴＰ２を用いて、パターンマッチング処理を行う手順について説明する。なお、図１０は、演算部１１４がパターンマッチング処理を行う手順を示すフローチャートである。
【００４５】
まず、演算部１１４には、撮像装置２からパターンマッチング処理を行う対象である被撮像物Ｘを撮像した入力画像Ｐｘが入力される（ステップＳ２１）。そして、処理は次のステップに進む。
【００４６】
次に、演算部１１４は、上述したように予め第１テンプレート格納部１１２に格納されている第１のテンプレート画像ＴＰ１を読み込む（ステップＳ２２）。そして、演算部１１４は、上記ステップＳ２１で入力した入力画像Ｐｘに対して、第１のテンプレート画像ＴＰ１が大概的に近いパターンの位置座標を粗認識する（ステップＳ２３）。ここで、上述したように第１のテンプレート画像ＴＰ１は、上記均一輝度領域がテンプレート画像ＴＰの画素で表現され、上記エッジ周辺領域が輝度レベル０で表現された画像である。つまり、演算部１１４は、上記ステップＳ２３で、上記均一輝度領域のみを表現したテンプレート画像を用いてパターンマッチング処理を行うことになり、その大概的な互いの一致度およびその位置座標を演算する。上記ステップＳ２３における、入力画像Ｐｘに対する一致度およびその位置座標の演算処理は、上記テンプレート画像ＴＰより画素データの少ない第１のテンプレート画像ＴＰ１を用いているため、高速に行うことができる。さらに、上記ステップＳ２３での粗認識処理では、第１のテンプレート画像ＴＰ１を所定の間隔の画素を間引いて行ってもかまわない。このような間引き処理を第１のテンプレート画像ＴＰ１に加えることによって、第１のテンプレート画像ＴＰ１の画素データが削減されるため、上記粗認識処理をさらに高速に行うことができる。あるいは、上記ステップＳ２３の粗認識処理では、大概的な位置座標を演算しているため、入力画像Ｐｘの全ての画素毎にパターンマッチング処理を行わなくてもかまわない。所定の画素単位の入力画像Ｐｘに対して粗認識することによって、上記粗認識処理をさらに高速に行うことができる。
【００４７】
次に、演算部１１４は、上述したように予め第２テンプレート格納部１１３に格納されている第２のテンプレート画像ＴＰ２を読み込む（ステップＳ２４）。そして、演算部１１４は、上記ステップＳ２１で入力した入力画像Ｐｘに対して、第２のテンプレート画像ＴＰ２が最も近いパターンの位置座標を詳細認識する（ステップＳ２５）。ここで、演算部１１４は、上記ステップＳ２３で、入力画像Ｐｘと第１のテンプレート画像ＴＰ１との互いの大概的な一致度およびその位置座標を演算している。したがって、上記ステップＳ２５において、演算部１１４は、入力画像Ｐｘの全ての画素に対してパターンマッチング処理をする必要はなく、上記ステップＳ２３で演算した位置座標に基づいてその周辺をパターンマッチング処理するため、上記詳細認識処理を高速に行うことができる。また、上述したように第２のテンプレート画像ＴＰ２は、上記エッジ周辺領域がテンプレート画像ＴＰの画素で表現され、上記均一輝度領域が輝度レベル０で表現された上記テンプレート画像ＴＰより画素データの少ない画像である。つまり、演算部１１４は、上記ステップＳ２５において、上記テンプレート画像ＴＰより画素データが削減され、かつ上記エッジ周辺領域を正確に表現した一致度の演算結果に大きく影響する第２のテンプレート画像ＴＰ２を用いてパターンマッチング処理を行うため、高速に処理しながら高精度に互いの一致度およびその位置座標を演算することができる。なお、上述した実施例以外のパターンマッチング処理の手順については、既に公知の一般的な手順で処理されるため、本実施形態においてはこれ以上の説明を省略する。
【００４８】
次に、演算部１１４は、上記ステップＳ２５で演算された位置座標およびその一致度を出力し（ステップＳ２６）、当該フローチャートによる処理を終了する。なお、演算部１１４から出力される位置座標およびその一致度は、設備動作のための位置認識や被撮像物の外観検査結果等、様々な用途に利用可能であるが、上記ステップＳ２６以降の処理については、既に公知の一般的な手順で処理されるため、本実施形態においてはこれ以上の説明を省略する。
【００４９】
なお、本実施形態のパターンマッチング処理では、第１のテンプレート画像を用いて粗認識し、第２のテンプレート画像を用いて詳細認識する方法を説明したが、いずれか一つのテンプレート画像を用いてパターンマッチング処理を行ってもかまわない。例えば、演算する位置座標の精度を求められない場合。均一輝度領域を示す第１のテンプレート画像のみを用いてパターンマッチング処理を行うことによって、高速に対象パターンの大まかな位置の検出を行うことができる。また、エッジ周辺領域を示す第２のテンプレート画像のみを用いてパターンマッチング処理を行うことによって、対象パターンの位置を高精度に検出することができる。さらに、別の手法を用いて上記粗認識を行った後、上記第２のテンプレート画像を用いて詳細認識することによって、パターンマッチング処理の高精度な高速化がさらに期待できることは言うまでもない。
【００５０】
【発明の効果】
本発明は、予め準備されたテンプレート画像中の均一輝度領域に着目し、それらの区分けをエッジとして、テンプレート画像の領域分割処理を行う。この領域分割処理によって、均一輝度領域を第１のテンプレート画像とし、当該均一輝度領域の境界およびその境界周辺領域を第２のテンプレート画像として生成する。このような第１および第２のテンプレート画像は、領域分割前のテンプレート画像より画素データが少ないため、被撮像物の入力画像に対する一致度を演算を高速に行うことができる。また、第２のテンプレート画像は、テンプレート画像をエッジ検出処理のみで抽出されるのではなく、均一輝度領域の境界およびその境界周辺領域として抽出される。これによって、局所的な輝度レベルの変化のみでなく、強調されたエッジ部分だけのデータに偏らない、エッジの立ち上がり等のエッジ周辺領域を含めて抽出することができる。したがって、第２のテンプレート画像は、一致度の演算結果に大きく影響するエッジ周辺領域を間引かれることなく正確に表しているため、一致度の演算を高精度に行うことができる。また、間引かれた第１のテンプレート画像を用いて、さらに高速に大略的な一致度を演算することが可能となる。また、本発明は、従来と同じ撮像系を用いて高速化および高精度を実現することができる。
【図面の簡単な説明】
【図１】本発明の一実施形態に係るパターンマッチング装置のハード構成を示す概略図である。
【図２】図１のパターンマッチング装置１に構成される機能ブロック図である。
【図３】図２のパターンマッチング装置１が行うテンプレート画像の設定手順を示すフローチャートである。
【図４】図２の判別部１１１が、図３のステップＳ１４で行うマスク画像Ｐｍの作成についての詳細な手順を示すサブルーチンである。
【図５】図２の判別用評価値演算部１１１ａがＳｏｂｅｌフィルタ出力値の演算するためのノルムの一例を示す図である。
【図６】図２の判別用評価値演算部１１１ａが作成する、Ｓｏｂｅｌフィルタ出力および平均輝度レベルを数値軸とした２次元の特徴空間に、そのような数値をもつテンプレートＴＰ中の頻度を第３軸に示したヒストグラムである。
【図７】図２の判別用評価値演算部１１１ａが作成する、Ｓｏｂｅｌフィルタ出力および平均輝度レベルの数値軸空間をラベリングした２値画像Ｐ２を示す図である。
【図８】図２の判別部１１１が、テンプレート画像ＴＰをマスク画像Ｐｍに変換する一例示す図である。
【図９】図２の判別部１１１が、図３のステップＳ１５で行う第１および第２のテンプレート画像の作成についての詳細な手順を示すサブルーチンである。
【図１０】図２の演算部１１４が、第１および第２のテンプレート画像ＴＰ１およびＴＰ２を用いて、パターンマッチング処理を行う手順を示すフローチャートである。
【図１１】従来のテンプレート画像から一定ピッチの格子目状に画素データを間引くことによって、画素の変化による特徴が失われる一例を示す図である。
【図１２】本発明のテンプレート画像を用いたパターンマッチング処理の概念を説明する図である。
【符号の説明】
１…パターンマッチング装置
１１…ＣＰＵ
１１１…判別部
１１１ａ…判別用評価値演算部
１１２…第１テンプレート格納部
１１３…第２テンプレート格納部
１１４…演算部
１２…記憶装置
１２１…記憶部
２…撮像装置
３…表示装置
４…入力装置
Ａ…領域
Ｐ２…２値画像
Ｐｍ…マスク画像
Ｐｘ…入力画像
ＴＰ…テンプレート画像
ＴＰ１…第１のテンプレート画像
ＴＰ２…第２のテンプレート画像
Ｘ…被撮像物
【図１】
2004062631.tif 000004
【図２】
2004062631.tif 000005
【図３】
2004062631.tif 000006
【図４】
2004062631.tif 000007
【図５】
2004062631.tif 000008
【図６】
2004062631.tif 000009
【図７】
2004062631.tif 000010
【図８】
2004062631.tif 000011
【図９】
2004062631.tif 000012
【図１０】
2004062631.tif 000013
【図１１】
2004062631.tif 000014
【図１２】
2004062631.tif 000015