JP2004062631A - パターンマッチング方法およびその装置、並びにそこで実行されるプログラムを記録した記録媒体 - Google Patents
パターンマッチング方法およびその装置、並びにそこで実行されるプログラムを記録した記録媒体 Download PDFInfo
- Publication number
- JP2004062631A JP2004062631A JP2002221629A JP2002221629A JP2004062631A JP 2004062631 A JP2004062631 A JP 2004062631A JP 2002221629 A JP2002221629 A JP 2002221629A JP 2002221629 A JP2002221629 A JP 2002221629A JP 2004062631 A JP2004062631 A JP 2004062631A
- Authority
- JP
- Japan
- Prior art keywords
- template image
- image
- template
- region
- pattern matching
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Image Analysis (AREA)
Abstract
【課題】高速かつ高精度にパターンマッチング処理を行うパターンマッチング方法およびその装置、並びにプログラムを記録した記録媒体を提供する。
【解決手段】パターンマッチング装置1は、判別部111、第1および第2テンプレート格納部112および113、演算部114、および記憶部121を備えている。判別部111は、テンプレート画像TPに対して、エッジ周辺領域および均一輝度領域を判別し、それそれに対応した画像を生成する。第1のテンプレート格納部112は、均一輝度領域を第1のテンプレート画像TP1として格納する。第2のテンプレート格納部113は、エッジ周辺領域を第2のテンプレート画像TP2として格納する。演算部114は、入力画像Pxに対して、第1および第2のテンプレート画像TP1およびTP2を用いて位置座標およびその一致度を演算し、パターンマッチング処理の結果として出力する。
【選択図】 図2
【解決手段】パターンマッチング装置1は、判別部111、第1および第2テンプレート格納部112および113、演算部114、および記憶部121を備えている。判別部111は、テンプレート画像TPに対して、エッジ周辺領域および均一輝度領域を判別し、それそれに対応した画像を生成する。第1のテンプレート格納部112は、均一輝度領域を第1のテンプレート画像TP1として格納する。第2のテンプレート格納部113は、エッジ周辺領域を第2のテンプレート画像TP2として格納する。演算部114は、入力画像Pxに対して、第1および第2のテンプレート画像TP1およびTP2を用いて位置座標およびその一致度を演算し、パターンマッチング処理の結果として出力する。
【選択図】 図2
Description
【0001】
【発明の属する技術分野】
本発明は、位置認識や検査のために画像同士の一致度を演算するパターンマッチング方法およびその装置、並びにそこで実行されるプログラムを記録した記録媒体に関し、より特定的には、電子機器に使用される電子部品実装基板の製造装置における位置認識装置や検査装置で行われるパターンマッチング方法およびその装置、並びにそこで実行されるプログラムを記録した記録媒体に関する。
【0002】
【従来の技術】
従来、被撮像物をパターンマッチングを用いて画像処理する場合、被撮像物を撮像した画像と予め準備した被撮像物の基準となるマスタの画像とを比較して、そのマスタの画像と最も近い被撮像物の画像の対象パターンが検出される。このマスタの画像との近似度を示す尺度を一致度と呼び、それぞれの画像の輝度レベルの差が最小であるときに一致度が最も大きくなる関数を用いて検出される。この際、使用される画像の輝度レベルは、正規化されたものであってかまわない。また、予め準備される被撮像物の基準となるマスタの画像は、テンプレート画像と呼ばれ、一般的にはマスタの原画像がそのままパターンマッチングに使用されるか、もしくは、明るさとコントラストを不変化するために、輝度レベルを正規化した画像が使用される。
【0003】
しかし、マスタの原画像あるいは輝度レベルを正規化した画像をそのままテンプレート画像に用いた場合、テンプレート画像を表すのに必要なデータ量が大きいため、パターンマッチング処理の演算速度が遅くなる。このようなパターンマッチング処理の演算速度を高速で行うために、上記テンプレート画像の輝度レベル情報を一定のピッチ(画素、格子目)で間引くことによって、テンプレート画像のデータ量を削減する方法も用いられている。このとき、具体的には、テンプレート画像は、その画像の形状に関わらず格子目状に一定ピッチの画素が間引かれる方法が用いられる。また、テンプレート画像を用いてパターンマッチングの対象パターンを探索する際に、スキャンする座標を階層的に減らしていきながらパターンマッチングを繰り返す、ピラミッドサーチ方式を用いて対象とする位置を検出する方法も用いられていた。
【0004】
【発明が解決しようとする課題】
しかしながら、上述したように一定のピッチでテンプレート画像の画素データを間引いた場合、間引きのピッチよりも小さい範囲での画素の輝度レベルの変化による特徴が失われることがある。図11を参照して、テンプレート画像から一定ピッチの格子目状に画素データを間引くことによって、画素の輝度レベルの変化による特徴が失われる一例について説明する。
【0005】
図11において、微細部Mmが形成されたマスタMを撮像したテンプレート画像TPを考える。間引き処理前のテンプレート画像TPは、画素毎にその輝度レベルデータを有しており、マスタMは、画素毎の上記輝度レベルデータによって微細部Mmを含めてほぼ精確に表現されている。このテンプレート画像TPをその画像の輝度レベルの分布形状に関わらず一定ピッチ(図11の例では、2画素毎のピッチ)の格子目状に画素データを間引くことによって、間引きテンプレート画像TPtが得られる。例えば、間引きテンプレート画像TPtを生成する際に、微細部Mmを表現していた画素データが間引く対象となった場合、間引きテンプレート画像TPtでは微細部Mmが表現されず、マスタMの画素変化による特徴が失われることになる。
【0006】
したがって、マスタMに対して、微細部Mmがパターンマッチング処理の上記対象パターンに含まれている場合、微細部Mmを表現する画素データが失われた間引きテンプレート画像TPtを用いて上記一致度を演算することになる。つまり、一致度の演算に上記対象パターンの特徴である画素の輝度レベルを用いていないため、一致度が低下し上記対象パターンの位置を検出できない、もしくは誤った位置を検出位置としてしまう。また、実際に撮像した被撮像体の上記対象パターンの一部に欠陥等がある場合、その欠陥部を表現する画素データの有無によって一致度の演算値が影響を受けて検出位置がずれてしまう場合がある。このため、上記対象パターンの特徴を損なうことなく、かつ、画像中の欠陥等の阻害要因に影響されることなく、被撮像物の位置を検出することが必要である。
【0007】
それ故に、本発明の目的は、高速に処理しながら高精度に一致度を演算することができるパターンマッチング処理を行うパターンマッチング方法およびその装置、並びにそこで実行されるプログラムを記録した記録媒体を提供することである。
【0008】
【課題を解決するための手段】
上記目的を達成するために、本発明は、以下に述べるような特徴を有している。
本発明のパターンマッチング方法は、第1のテンプレート画像を生成する工程と、第2のテンプレート画像を生成する工程と、一致度を演算する工程とを含んでいる。第1のテンプレート画像を生成する工程は、被撮像物の基準となるテンプレート画像において均一な輝度レベルの画素の領域を示す均一輝度領域を抽出して第1のテンプレート画像を生成する。第2のテンプレート画像を生成する工程は、テンプレート画像において上記均一輝度領域の境界およびその境界周辺の領域を示すエッジ周辺領域を抽出して第2のテンプレート画像を生成する。一致度を演算する工程は、生成された上記第1および第2のテンプレート画像を用いて被撮像物の入力画像に対する一致度を演算する。
【0009】
上記した本発明の構成によれば、予め準備されたテンプレート画像中の均一輝度領域に着目し、それらの区分けをエッジとして、テンプレート画像の領域分割処理を行う。この領域分割処理によって、均一輝度領域を第1のテンプレート画像とし、当該均一輝度領域の境界およびその境界周辺領域を第2のテンプレート画像として生成する。このような第1および第2のテンプレート画像は、領域分割前のテンプレート画像より画素データが少ないため、被撮像物の入力画像に対する一致度を演算を高速に行うことができる。また、第2のテンプレート画像は、テンプレート画像をエッジ検出処理のみで抽出されるのではなく、均一輝度領域の境界およびその境界周辺領域として抽出される。これによって、局所的な輝度レベルの変化のみでなく、強調されたエッジ部分だけのデータに偏らない、エッジの立ち上がり等のエッジ周辺領域を含めて抽出することができる。したがって、第2のテンプレート画像は、一致度の演算結果に大きく影響するエッジ周辺領域を間引かれることなく正確に表しているため、一致度の演算を高精度に行うことができる。
【0010】
また、第1および第2のテンプレート画像を生成する工程は、テンプレート画像全体に対して、複数の画素で構成される小領域を用いた複数の評価値によって、均一輝度領域およびエッジ周辺領域を抽出してもかまわない。これによって、複数の評価値を得るための小領域の幅相当の不感帯が領域の縁辺に生じ、局所的な輝度レベル変化を捉える評価値ではなく、輝度レベル変化の周辺領域を含めた抽出が容易になる。
【0011】
上記複数の評価値は、小領域における輝度レベル評価値およびエッジ検出評価値とで構成されてもよい。さらに、上記第1および第2のテンプレート画像を生成する工程は、組合せの頻度を演算する工程と均一輝度領域およびエッジ周辺領域を区別する工程とを含んでもよい。組合せの頻度を演算する工程は、テンプレート画像に対して、小領域毎に演算される輝度レベル評価値およびエッジ検出評価値の組合せに応じてその組合せの頻度を演算する。均一輝度領域およびエッジ周辺領域を区別する工程は、上記頻度を所定のしきい値を用いて2値化し、その2値化された頻度によって区別される輝度レベル評価値およびエッジ検出評価値の上記組合せに応じて、均一輝度領域およびエッジ周辺領域を区別する。これによって、輝度レベル変化の激しい画素に偏る、あるいは輝度レベルの差が小さい画素を抽出できないようなテンプレート画像になることを防止することができる。また、輝度レベル評価値およびエッジ検出評価値の組合せの頻度で2値化するため、容易に上記組合せを評価することが可能であり、テンプレート画像の頻度が多い画素を均一輝度領域および頻度が少ない画素をエッジ周辺領域として区別することが可能となる。
【0012】
なお、本発明の複数の評価値は、例えば、小領域を構成する画素の輝度レベルの平均を示す平均輝度レベルや輝度レベルの分散値等の統計値、少なくとも異なる2方向のSobelフィルタ、差分フィルタ、あるいはラプラシアンフィルタ等の線形フィルタの出力値、局所領域の角度方向あるいは周波数方向のフーリエパワースペクトル等の領域特徴量のような種々のものが考えられる。
【0013】
また、一致度を演算する工程は、第1のテンプレート画像の画像データを所定の間隔で間引いた画像を用いてもかまわない。これによって、均一画素領域を示す第1のテンプレート画像の画素データを削減できるため、例えば、間引かれた第1のテンプレート画像を用いて、さらに高速に大略的な一致度を演算することが可能となる。
【0014】
なお、本発明は、上述したパターンマッチング方法における、それぞれの工程を実行する機能を有するパターンマッチング装置としても実現することができる。また、本発明は、コンピュータに、上述したパターンマッチング方法における、それぞれの工程を処理ステップとして実行させるためのパターンマッチングプログラムを記録したコンピュータ読み取り可能な記録媒体としても実現することができる。
【0015】
【発明の実施の形態】
図12を参照して、本発明の実施の形態を説明する前に、本発明の概念について説明する。被撮像物をパターンマッチングを用いて画像処理する場合、被撮像物を撮像した画像と予め準備された被撮像物の基準となるマスタの画像(以下、テンプレート画像とする)とを比較して、その一致度が比較される。図12(a)に示すように、テンプレート画像TPは、均一な輝度レベルを有する均一輝度領域と、その均一輝度領域間の境界部分(以下、エッジ領域)とに区分できる。それぞれの領域が、上記一致度の演算に与える影響を考えるために、テンプレート画像TPとその被撮像体の撮像画像Pxとがずれた状態で配置された断面方向のモデルを図12(b)に示す。図12(b)に示すように、パターンマッチングにおける一致度を演算する際に、テンプレート画像TPと撮像画像Pxとの位置がずれていても、互いの均一輝度領域が重なる領域Aaは、比較しても同一の輝度レベルになるため、一致度の演算結果に影響しない。一方、互いのエッジ領域が影響する領域Aeは、比較すると異なった輝度レベルであるため、一致度の演算結果に大きく影響する。つまり、パターンマッチング処理を高速にするためには、上記エッジ領域による一致度の演算が重要であることがわかる。
【0016】
一方、テンプレート画像TPから上記エッジ領域を抽出するには、一般的には隣り合う画素間の差分等を演算に用いたエッジ検出処理が用いられる。ここで、パターンマッチング処理は、輝度レベルの変化に対して一致度の演算および位置の検出を行うため、エッジの立ち上がり始めから終わりまでのエッジ周辺の輝度レベル変化を呈する領域(以下、エッジ周辺領域とする)を、テンプレート情報として持たなくてはならない。しかし、上記エッジ検出処理で一般的に用いられる差分やソベル等のフィルタリング処理は、局所的な輝度レベルの変化を捉える処理であるため、エッジだけを抽出するにはよいが、エッジの立ち上がり等のエッジ周辺領域を含めて抽出するのは困難である。また、撮像時の照明によって一部のエッジが強調される場合、エッジの強度に基づいたエッジ周辺領域を抽出しようとすると、強調されたエッジ部分だけのデータに偏ったテンプレート情報になってしまう可能性がある。
【0017】
そこで、本発明は、上記均一輝度領域に着目して、それらを区分けするエッジ領域をエッジとして、一般的な画像の領域分割処理を考える。最も簡単なケースでは、画像のヒストグラムを取り、輝度レベルの濃度分布情報に基づいて分割するものが考えられる。この場合、エッジ周辺領域の輝度レベルは、分割した結果から容易に抽出することができる。ところが、隣り合った均一輝度領域の輝度レベルの差が小さい場合、領域を分割することができないため、エッジを抽出することができない。そこで、複数の特徴量に基づいて領域を分割する。通常、上記領域分割処理を行うには、小領域(窓関数)で得られる特徴量を、特徴空間にプロットしてクラスタリングを行う必要がある。このようにして領域分割がなされた場合、上記特徴量を得るための小領域の幅相当の不感帯が領域の縁辺に生じる。これが、上述したエッジの立ち上がりから終わりまでの部分を含んだ縁辺部分(すなわち、エッジ周辺領域)であることを利用して、テンプレート情報を生成する。
【0018】
次に、本発明の一実施形態に係るパターンマッチング装置について説明する。当該パターンマッチング装置は、例えば、電子機器に使用される電子部品実装基板の製造装置における位置認識や検査に使用される。まず、図1を参照して、当該パターンマッチング装置のハード構成について説明する。パターンマッチング装置1には、撮像装置2、表示装置3、および入力装置4が接続されている。撮像装置2は、例えばCCD(Charge Coupled Device)で構成され、パターンマッチング処理を行う被撮像体Xを撮像し、その画像データを入力画像Pxとしてパターンマッチング装置1に出力する。表示装置2は、例えば液晶等で構成されるディスプレイ装置であり、パターンマッチング装置1からの処理結果等の出力を、ユーザに対して表示する。入力装置4は、キーボードやマウス等で構成され、ユーザからの指示をパターンマッチング装置1に入力する。パターンマッチング装置1には、中央演算ユニット(CPU)11および記憶装置12が設けられている。記憶装置12は、ROM(Read−Only Memory)、RAM(Random−Access Memory)、およびハードディスク等で構成される。記憶装置12は、後述するテンプレート画像を予め記憶したり、CPU11が処理する際に用いられる記憶領域やプログラム自体を記憶する領域として用いられる。
【0019】
図2を参照して、パターンマッチング装置1に構成される機能ブロックについて説明する。この機能ブロック図は、本発明のパターンマッチングプログラムをパターンマッチング装置1で実行することによって形成される機能構成の一例を示している。パターンマッチング装置1で実行されるパターンマッチングプログラムは、記憶装置12に格納され、CPU11内で実行される。なお、パターンマッチングプログラムは、CPU11がそれを読み出して実行可能であるかぎりにおいて。記憶装置12以外の他の記録媒体に格納されていてもかまわない。したがって、上記パターンマッチングプログラムを他の処理装置にインストールすることによって、同様の機能を移植することも可能である。
【0020】
図2において、パターンマッチング装置1は、判別部111、第1および第2テンプレート格納部112および113、演算部114、および記憶部121を備えている。
【0021】
判別部111は、記憶部121から入力したテンプレート画像TPの輝度レベル情報において、その小領域における複数の評価値を演算する判別用評価値演算部111aを含んでいる。判別部111は、判別用評価値演算部111aが演算した評価値に基づいて、上記テンプレート画像TPに対してパターンのエッジおよびそのエッジ周辺領域に相当する輝度レベルの変化を持つ画素か否かを判別し、それそれに対応した画像を生成する。
【0022】
第1テンプレート格納部112は、上記テンプレート画像TPの中で、上記判別部111によってパターンのエッジに相当する輝度レベルの変化を持たないと判別された画像(すなわち、均一輝度領域)を第1のテンプレート画像TP1として格納する。また、第2テンプレート格納部113は、上記テンプレート画像TPの中で、上記判別部111によってパターンのエッジおよびエッジの周辺領域に相当する輝度レベルの変化を持つと判別された画像(すなわち、エッジ周辺領域)を第2のテンプレート画像TP2として格納する。
【0023】
演算部114は、撮像装置2から入力した入力画像Pxの任意の画像領域に対して、上記第1および第2のテンプレート画像TP1およびTP2を用いて一致度を求める探索座標を演算し、その探索座標における一致度の演算を繰り返す。そして、演算部114は、最も一致度が高い探索座標位置に対して、その一致度および位置座標をパターンマッチング処理の結果として出力する。
【0024】
次に、図2および図3を参照して、当該パターンマッチング装置1がパターンマッチング処理のためのテンプレート画像を予め設定する手順について説明する。なお、図3は、パターンマッチング装置1が行うテンプレート画像の設定手順を示すフローチャートである。
【0025】
まず、パターンマッチング装置1は、記憶部121に格納されているテンプレート画像から、パターンマッチング処理に必要なテンプレート画像を抽出(ステップS11)し、該テンプレート画像に対して所定の基準で位置座標を設定(ステップS12)した後、該テンプレート画像からパターンマッチング処理を行う対象パターンを切り出す(ステップS13)。以下、このステップS13で切り出されたテンプレート画像をテンプレート画像TPとする。なお、上記ステップS11〜13の処理は、入力装置4を用いたユーザからの指示に基づいて行われてもかまわないが、既に公知の一般的なパターンマッチング処理であるため、本実施形態においてはこれ以上の説明を省略する。
【0026】
次に、判別部111は、上記ステップS13で作成されたテンプレート画像TPに対して、マスク画像Pmを作成する(ステップS14)。なお、図4は、判別部111が、上記ステップS14で行うマスク画像Pmの作成についての詳細な手順を示すサブルーチンである。以下、図4を参照して、判別部111が行うマスク画像作成手順について説明する。
【0027】
まず、判別部111は、上記ステップS13で入力したテンプレート画像TPから、所定の画素aを選択する(ステップS141)。そして、処理は次のステップに進む。
【0028】
次に、判別部111に含まれる判別用評価値演算部111aは、上記ステップS141で選択されたテンプレート画像TPの画素aを中心とした小領域(窓関数)に対して、Sobelフィルタ出力値および平均輝度レベルを演算する(ステップS142)。
【0029】
図5を参照して、判別用評価値演算部111aが行う上記ステップS142で演算されるSobelフィルタ出力値の演算について説明する。ここでは、画素aを中心とした小領域(窓関数)を、3×3の合計9画素と設定して説明を行う。まず、上記ステップS141で選択されている画素aに対して、窓関数Waを設定する。この窓関数Waによって演算対象となるテンプレート画像TPの画素は、画素aおよび画素aに接する8つの画素である。これに対して、Sobelフィルタは、方向の依存性を無くすために、図5に示すような水平方向および垂直方向で示される2方向のSobel出力のノルムf1およびf2を用いる。そして、判別用評価値演算部111aは、画素aを中心とした窓関数Waに対して、水平方向および垂直方向Sobelの出力のノルムf1およびf2を用いて、以下の式を用いてSobelフィルタ出力値Saを演算する。
【数1】
なお、上述したSobelフィルタ出力値の演算については、既に公知の一般的に画像のエッジ検出を行う処理であるため、本実施形態においてはこれ以上の説明を省略する。
【0030】
また、判別用評価値演算部111aは、上記ステップS142でテンプレート画像TPの画素aを中心とした小領域に対して、平均輝度レベルを演算する。この平均輝度レベルは、上記小領域に含まれる画素(上述した3×3の場合、合計9画素)のそれぞれの輝度レベルに対する平均値を演算する。
【0031】
なお、上記ステップS142では、判別用評価値演算部111aが小領域に対するSobelフィルタの出力値および平均輝度レベルを演算したが、他の評価値を用いてもかまわない。例えば、小領域を構成する画素の輝度レベルの輝度レベルの分散値、中央値、最大値、あるいは最小値等の統計値、差分フィルタ、あるいはラプラシアンフィルタ等の線形フィルタの出力値、局所領域の角度方向あるいは周波数方向のフーリエパワースペクトル等の領域特徴量のような種々の評価値から選択して演算すればよい。
【0032】
図4に戻り、判別用評価値演算部111aは、上記ステップS142で画素aに対して演算したSobelフィルタ出力値および平均輝度レベルを用いて、Sobelフィルタ出力および平均輝度レベルを数値軸とした2次元の特徴空間に対して、そのような数値をもつテンプレートTP中の頻度として示す(ステップS143)。図6を参照して、Sobelフィルタ出力および平均輝度レベルを数値軸とした2次元の特徴空間に、そのような数値をもつテンプレートTP中の頻度を第3軸に示したヒストグラムを説明する。例えば、上記ステップS141で画素aに対してSobelフィルタ出力値xおよび平均輝度レベルyが演算された場合、上記特徴空間のSobelフィルタ出力および平均輝度レベルの数値軸において、そのような組合せ(x、y)に相当するポイントに頻度1を加える。なお、上記特徴空間のポイントに既に頻度が記録されている場合、その頻度に対して+1する。このような処理を、全てのテンプレート画像TPの画素に対して繰り返すことによって、Sobelフィルタ出力値および平均輝度レベルの組合せ数値に対して、そのような数値をもつテンプレートTP中の頻度を第3軸に示したヒストグラムが作成される。
【0033】
図4に戻り、判別用評価値演算部111aは、テンプレート画像TPに含まれる全ての画素に対して、上記ステップS142およびS143の処理が行われたか否かを判断する(ステップS144)。そして、判別用評価値演算部111aは、全ての画素に対して処理が行われている場合、次のステップS145に処理を進め、全ての画素に対して処理が終了していない場合、上記ステップS141に戻り、処理を繰り返す。
【0034】
次に、判別用評価値演算部111aは、上記ステップS143で作成したSobelフィルタ出力、平均輝度レベルおよび頻度を数値軸としたヒストグラムに対して、上記頻度に対するしきい値Tを設定し、そのしきい値T以上か否かによって上記ヒストグラムの頻度を2値化する(ステップS145)。ここでは、この2値化を、しきい値T以上を示している画素を1とし、しきい値T未満を示している画素を0として処理する。なお、しきい値Tは、上記2値化によって分類される上記画素のそれぞれの総数の割合を予め設定することによって、自動的に算出するようにしてもよい。また、しきい値Tは、後述するマスク画像を表示装置3に表示させることによって、ユーザが該マスク画像の状態を確認し、その都度設定してもかまわない。そして、処理は次のステップに進む。
【0035】
次に、判別用評価値演算部111aは、上記ステップS145で2値化したそれぞれの頻度に相当する上記ヒストグラムにおけるSobelフィルタ出力および平均輝度レベルのポイントに対して、ラベリングを行う(ステップS146)。図7を参照して、上記ステップS146で処理されるラベリングについて説明する。上記ステップS146では、Sobelフィルタ出力および平均輝度レベルの数値軸空間を2値画像P2として扱うことによって、それぞれのSobelフィルタ出力および平均輝度レベルのポイントに対して、上記ステップS145で設定した2値化画素(すなわち、画素0あるいは1)がラベルとして割り当てられる。つまり、上記ヒストグラムにおけるしきい値T以上を示している画素に相当する上記ポイントには、ラベル1がラベリング(図7で示す2値画像P2の白領域)され、しきい値T未満を示している画素に相当する上記ポイントには、ラベル0がラベリング(図7で示す2値画像P2の黒領域)される。そして、処理は次のステップに進む。
【0036】
図4に戻り、判別部111は、上記ステップS146でラベリングしたSobelフィルタ出力および平均輝度レベルの数値軸空間で示される2値画像P2を用いて、テンプレート画像TPのマスク画像Pmを作成し(ステップS147)、当該サブルーチンによるマスク画像生成処理を終了する。ここでは、テンプレート画像TPを構成するそれぞれの画素毎に、マスク画像Pmへの変換処理が行われる。まず、判別部111は、それぞれのテンプレート画像TPの画素に対して、その画素のSobelフィルタ出力値および平均輝度レベルが対応する上記ラベルを、上記2値画像P2を用いてを抽出する。そして、判別部111は、上記抽出したラベル(すなわち、ラベル0あるいは1)を輝度レベル(すなわち、輝度レベル0あるいは1)として、それぞれの画素を該テンプレート画像TPの座標空間に変換する。このような処理を、テンプレート画像TPの全画素に対して行うことによって、Sobelフィルタ出力値および平均輝度レベルの組合せの頻度が小さい画素を輝度レベル0にしたマスク画像Pmが生成される。
【0037】
図8を参照して、テンプレート画像TPがマスク画像Pmに変換される一例を説明する。図8に示すテンプレート画像TPは、十字形状の領域A1とその周辺領域A2で構成されている。このようなテンプレート画像TPを構成するそれぞれの画素を中心とした小領域(窓関数)が上記領域A1あるいはA2にのみ含まれる場合(つまり、均一輝度領域)、その小領域を用いて演算した上記Sobelフィルタ出力値および上記平均輝度レベルの演算値は、演算対象画素を変えても極めて近似した値が演算される。一方、上記小領域が上記領域A1およびA2を共に含む場合(つまり、領域A1の縁辺を含むエッジ周辺領域)、その小領域を用いて演算した上記Sobelフィルタ出力値および上記平均輝度レベルの演算値は、該小領域に含まれる領域A1およびA2の割合や領域A1の縁辺の形状等の影響を大きく受けて、演算対象画素を変えると大きく異なった値が演算される。つまり、上記均一輝度領域を演算したSobelフィルタ出力値および平均輝度レベルの演算値の組合せの頻度は、上記エッジ周辺領域の演算値の組合せの頻度より非常に多くなることがわかる。したがって、上述した処理によってテンプレート画像TPを用いてマスク画像Pmを作成した場合、Sobelフィルタ出力値および平均輝度レベルの演算値の組合せの頻度が小さい画素が輝度レベル0でマスクされるため、上記エッジ周辺領域が輝度レベル0となったマスク画像Pmが作成される。一方、上記均一輝度領域に対しては上記頻度が多いため、輝度レベル1となったマスク画像Pmが作成される。つまり、均一輝度領域が輝度レベル1(図8で示すマスク画像Pmの白領域)およびエッジ周辺領域が輝度レベル0(図8で示すマスク画像Pmの黒領域)で表現されるマスク画像Pmを作成することができる。
【0038】
図3に戻り、判別部111は、上記ステップS147で作成したマスク画像Pmを用いて、テンプレート画像TPの上記均一輝度領域に相当する第1のテンプレート画像TP1およびテンプレート画像TPの上記エッジ周辺領域に相当する第2のテンプレート画像TP2を作成する(ステップS15)。なお、図9は、判別部111が、上記ステップS15で行う第1および第2のテンプレート画像の作成についての詳細な手順を示すサブルーチンである。以下、図9を参照して、判別部111が行う第1および第2のテンプレート画像作成手順について説明する。
【0039】
まず、判別部111は、上記ステップS147で作成したマスク画像Pmおよびテンプレート画像TPを入力する(ステップS151、S152)。そして、判別部111は、テンプレート画像TPから所定の画素bを選択する(ステップS153)。そして、処理は次のステップに進む。
【0040】
次に、判別部111は、上記ステップS153で選択した画素bと同一位置座標に位置するマスク画像Pmの画素に対して、その画素の輝度レベルが「0」か否かを判断する(ステップS154)。つまり、上述したようにマスク画像Pmにおける輝度レベル0の領域がエッジ周辺領域であるため、判定部111は、上記ステップS153で選択されたテンプレート画像TPの画素が、エッジ周辺領域か否かを判断することができる。そして、判別部111は、上記画素の位置座標がマスク画像Pmで輝度レベル0でない場合、該画素を第1のテンプレート画像TP1に設定し(ステップS155)、次のステップS157に処理を進める。一方、判別部111は、上記画素の位置座標がマスク画像Pmで輝度レベル0である場合、該画素を第2のテンプレート画像TP2に設定し(ステップS156)、次のステップS157に処理を進める。
【0041】
次に、判別部111は、テンプレート画像TPに含まれる全ての画素に対して、上記ステップS154〜S156の処理が行われたか否かを判断する(ステップS157)。そして、判別部111は、全ての画素に対して処理が行われている場合、当該サブルーチンによる処理を終了し、全ての画素に対して処理が終了していない場合、上記ステップS153に戻り、処理を繰り返す。
【0042】
図8を参照して、判別部111が上記ステップS153〜S157で作成する第1および第2のテンプレート画像TP1およびTP2について説明する。まず、第1のテンプレート画像TP1は、マスク画像Pmの輝度レベル1の画素に対して、同一位置座標に位置するテンプレート画像TPの画素が抽出されることによって作成される。つまり、マスク画像Pmの輝度レベル0の画素に対しては抽出されないため、結果的に第1のテンプレート画像TP1は、マスク画像Pmとテンプレート画像TPとを、同一座標空間の輝度レベルで掛け合わせることによって作成される。これにより、第1のテンプレート画像TP1は、上記均一輝度領域がテンプレート画像TPの画素で表現され、上記エッジ周辺領域が輝度レベル0(図8で示す第1のテンプレート画像TP1の黒領域)で表現される。一方、第2のテンプレート画像TP2は、マスク画像Pmの輝度レベル0の画素に対して、同一位置座標に位置するテンプレート画像TPの画素が抽出されることによって作成される。つまり、マスク画像Pmの輝度レベル1の画素に対しては抽出されないため、第2のテンプレート画像TP2は、マスク画像Pmの各画素の輝度レベルgを1−gとした(つまり、輝度レベル0の画素は輝度レベル1となり、輝度レベル1の画素は輝度レベル0となる)マスク画像(1−Pm)とテンプレート画像TPとを、同一座標空間の輝度レベルで掛け合わせることによって作成される。これにより、第2のテンプレート画像TP2は、上記エッジ周辺領域がテンプレート画像TPの画素で表現され、上記均一輝度領域が輝度レベル0(図8で示す第2のテンプレート画像TP2の黒領域)で表現される。
【0043】
図3に戻り、判別部111は、上記ステップS15で作成された第1および第2のテンプレート画像TP1およびTP2を、それぞれ第1および第2テンプレート格納部112および113に格納して(ステップS16)、当該フローチャートによるテンプレート画像を予め設定する処理を終了する。
【0044】
次に、図10を参照して、パターンマッチング装置1の演算部114が上記第1および第2のテンプレート画像TP1およびTP2を用いて、パターンマッチング処理を行う手順について説明する。なお、図10は、演算部114がパターンマッチング処理を行う手順を示すフローチャートである。
【0045】
まず、演算部114には、撮像装置2からパターンマッチング処理を行う対象である被撮像物Xを撮像した入力画像Pxが入力される(ステップS21)。そして、処理は次のステップに進む。
【0046】
次に、演算部114は、上述したように予め第1テンプレート格納部112に格納されている第1のテンプレート画像TP1を読み込む(ステップS22)。そして、演算部114は、上記ステップS21で入力した入力画像Pxに対して、第1のテンプレート画像TP1が大概的に近いパターンの位置座標を粗認識する(ステップS23)。ここで、上述したように第1のテンプレート画像TP1は、上記均一輝度領域がテンプレート画像TPの画素で表現され、上記エッジ周辺領域が輝度レベル0で表現された画像である。つまり、演算部114は、上記ステップS23で、上記均一輝度領域のみを表現したテンプレート画像を用いてパターンマッチング処理を行うことになり、その大概的な互いの一致度およびその位置座標を演算する。上記ステップS23における、入力画像Pxに対する一致度およびその位置座標の演算処理は、上記テンプレート画像TPより画素データの少ない第1のテンプレート画像TP1を用いているため、高速に行うことができる。さらに、上記ステップS23での粗認識処理では、第1のテンプレート画像TP1を所定の間隔の画素を間引いて行ってもかまわない。このような間引き処理を第1のテンプレート画像TP1に加えることによって、第1のテンプレート画像TP1の画素データが削減されるため、上記粗認識処理をさらに高速に行うことができる。あるいは、上記ステップS23の粗認識処理では、大概的な位置座標を演算しているため、入力画像Pxの全ての画素毎にパターンマッチング処理を行わなくてもかまわない。所定の画素単位の入力画像Pxに対して粗認識することによって、上記粗認識処理をさらに高速に行うことができる。
【0047】
次に、演算部114は、上述したように予め第2テンプレート格納部113に格納されている第2のテンプレート画像TP2を読み込む(ステップS24)。そして、演算部114は、上記ステップS21で入力した入力画像Pxに対して、第2のテンプレート画像TP2が最も近いパターンの位置座標を詳細認識する(ステップS25)。ここで、演算部114は、上記ステップS23で、入力画像Pxと第1のテンプレート画像TP1との互いの大概的な一致度およびその位置座標を演算している。したがって、上記ステップS25において、演算部114は、入力画像Pxの全ての画素に対してパターンマッチング処理をする必要はなく、上記ステップS23で演算した位置座標に基づいてその周辺をパターンマッチング処理するため、上記詳細認識処理を高速に行うことができる。また、上述したように第2のテンプレート画像TP2は、上記エッジ周辺領域がテンプレート画像TPの画素で表現され、上記均一輝度領域が輝度レベル0で表現された上記テンプレート画像TPより画素データの少ない画像である。つまり、演算部114は、上記ステップS25において、上記テンプレート画像TPより画素データが削減され、かつ上記エッジ周辺領域を正確に表現した一致度の演算結果に大きく影響する第2のテンプレート画像TP2を用いてパターンマッチング処理を行うため、高速に処理しながら高精度に互いの一致度およびその位置座標を演算することができる。なお、上述した実施例以外のパターンマッチング処理の手順については、既に公知の一般的な手順で処理されるため、本実施形態においてはこれ以上の説明を省略する。
【0048】
次に、演算部114は、上記ステップS25で演算された位置座標およびその一致度を出力し(ステップS26)、当該フローチャートによる処理を終了する。なお、演算部114から出力される位置座標およびその一致度は、設備動作のための位置認識や被撮像物の外観検査結果等、様々な用途に利用可能であるが、上記ステップS26以降の処理については、既に公知の一般的な手順で処理されるため、本実施形態においてはこれ以上の説明を省略する。
【0049】
なお、本実施形態のパターンマッチング処理では、第1のテンプレート画像を用いて粗認識し、第2のテンプレート画像を用いて詳細認識する方法を説明したが、いずれか一つのテンプレート画像を用いてパターンマッチング処理を行ってもかまわない。例えば、演算する位置座標の精度を求められない場合。均一輝度領域を示す第1のテンプレート画像のみを用いてパターンマッチング処理を行うことによって、高速に対象パターンの大まかな位置の検出を行うことができる。また、エッジ周辺領域を示す第2のテンプレート画像のみを用いてパターンマッチング処理を行うことによって、対象パターンの位置を高精度に検出することができる。さらに、別の手法を用いて上記粗認識を行った後、上記第2のテンプレート画像を用いて詳細認識することによって、パターンマッチング処理の高精度な高速化がさらに期待できることは言うまでもない。
【0050】
【発明の効果】
本発明は、予め準備されたテンプレート画像中の均一輝度領域に着目し、それらの区分けをエッジとして、テンプレート画像の領域分割処理を行う。この領域分割処理によって、均一輝度領域を第1のテンプレート画像とし、当該均一輝度領域の境界およびその境界周辺領域を第2のテンプレート画像として生成する。このような第1および第2のテンプレート画像は、領域分割前のテンプレート画像より画素データが少ないため、被撮像物の入力画像に対する一致度を演算を高速に行うことができる。また、第2のテンプレート画像は、テンプレート画像をエッジ検出処理のみで抽出されるのではなく、均一輝度領域の境界およびその境界周辺領域として抽出される。これによって、局所的な輝度レベルの変化のみでなく、強調されたエッジ部分だけのデータに偏らない、エッジの立ち上がり等のエッジ周辺領域を含めて抽出することができる。したがって、第2のテンプレート画像は、一致度の演算結果に大きく影響するエッジ周辺領域を間引かれることなく正確に表しているため、一致度の演算を高精度に行うことができる。また、間引かれた第1のテンプレート画像を用いて、さらに高速に大略的な一致度を演算することが可能となる。また、本発明は、従来と同じ撮像系を用いて高速化および高精度を実現することができる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係るパターンマッチング装置のハード構成を示す概略図である。
【図2】図1のパターンマッチング装置1に構成される機能ブロック図である。
【図3】図2のパターンマッチング装置1が行うテンプレート画像の設定手順を示すフローチャートである。
【図4】図2の判別部111が、図3のステップS14で行うマスク画像Pmの作成についての詳細な手順を示すサブルーチンである。
【図5】図2の判別用評価値演算部111aがSobelフィルタ出力値の演算するためのノルムの一例を示す図である。
【図6】図2の判別用評価値演算部111aが作成する、Sobelフィルタ出力および平均輝度レベルを数値軸とした2次元の特徴空間に、そのような数値をもつテンプレートTP中の頻度を第3軸に示したヒストグラムである。
【図7】図2の判別用評価値演算部111aが作成する、Sobelフィルタ出力および平均輝度レベルの数値軸空間をラベリングした2値画像P2を示す図である。
【図8】図2の判別部111が、テンプレート画像TPをマスク画像Pmに変換する一例示す図である。
【図9】図2の判別部111が、図3のステップS15で行う第1および第2のテンプレート画像の作成についての詳細な手順を示すサブルーチンである。
【図10】図2の演算部114が、第1および第2のテンプレート画像TP1およびTP2を用いて、パターンマッチング処理を行う手順を示すフローチャートである。
【図11】従来のテンプレート画像から一定ピッチの格子目状に画素データを間引くことによって、画素の変化による特徴が失われる一例を示す図である。
【図12】本発明のテンプレート画像を用いたパターンマッチング処理の概念を説明する図である。
【符号の説明】
1…パターンマッチング装置
11…CPU
111…判別部
111a…判別用評価値演算部
112…第1テンプレート格納部
113…第2テンプレート格納部
114…演算部
12…記憶装置
121…記憶部
2…撮像装置
3…表示装置
4…入力装置
A…領域
P2…2値画像
Pm…マスク画像
Px…入力画像
TP…テンプレート画像
TP1…第1のテンプレート画像
TP2…第2のテンプレート画像
X…被撮像物
【発明の属する技術分野】
本発明は、位置認識や検査のために画像同士の一致度を演算するパターンマッチング方法およびその装置、並びにそこで実行されるプログラムを記録した記録媒体に関し、より特定的には、電子機器に使用される電子部品実装基板の製造装置における位置認識装置や検査装置で行われるパターンマッチング方法およびその装置、並びにそこで実行されるプログラムを記録した記録媒体に関する。
【0002】
【従来の技術】
従来、被撮像物をパターンマッチングを用いて画像処理する場合、被撮像物を撮像した画像と予め準備した被撮像物の基準となるマスタの画像とを比較して、そのマスタの画像と最も近い被撮像物の画像の対象パターンが検出される。このマスタの画像との近似度を示す尺度を一致度と呼び、それぞれの画像の輝度レベルの差が最小であるときに一致度が最も大きくなる関数を用いて検出される。この際、使用される画像の輝度レベルは、正規化されたものであってかまわない。また、予め準備される被撮像物の基準となるマスタの画像は、テンプレート画像と呼ばれ、一般的にはマスタの原画像がそのままパターンマッチングに使用されるか、もしくは、明るさとコントラストを不変化するために、輝度レベルを正規化した画像が使用される。
【0003】
しかし、マスタの原画像あるいは輝度レベルを正規化した画像をそのままテンプレート画像に用いた場合、テンプレート画像を表すのに必要なデータ量が大きいため、パターンマッチング処理の演算速度が遅くなる。このようなパターンマッチング処理の演算速度を高速で行うために、上記テンプレート画像の輝度レベル情報を一定のピッチ(画素、格子目)で間引くことによって、テンプレート画像のデータ量を削減する方法も用いられている。このとき、具体的には、テンプレート画像は、その画像の形状に関わらず格子目状に一定ピッチの画素が間引かれる方法が用いられる。また、テンプレート画像を用いてパターンマッチングの対象パターンを探索する際に、スキャンする座標を階層的に減らしていきながらパターンマッチングを繰り返す、ピラミッドサーチ方式を用いて対象とする位置を検出する方法も用いられていた。
【0004】
【発明が解決しようとする課題】
しかしながら、上述したように一定のピッチでテンプレート画像の画素データを間引いた場合、間引きのピッチよりも小さい範囲での画素の輝度レベルの変化による特徴が失われることがある。図11を参照して、テンプレート画像から一定ピッチの格子目状に画素データを間引くことによって、画素の輝度レベルの変化による特徴が失われる一例について説明する。
【0005】
図11において、微細部Mmが形成されたマスタMを撮像したテンプレート画像TPを考える。間引き処理前のテンプレート画像TPは、画素毎にその輝度レベルデータを有しており、マスタMは、画素毎の上記輝度レベルデータによって微細部Mmを含めてほぼ精確に表現されている。このテンプレート画像TPをその画像の輝度レベルの分布形状に関わらず一定ピッチ(図11の例では、2画素毎のピッチ)の格子目状に画素データを間引くことによって、間引きテンプレート画像TPtが得られる。例えば、間引きテンプレート画像TPtを生成する際に、微細部Mmを表現していた画素データが間引く対象となった場合、間引きテンプレート画像TPtでは微細部Mmが表現されず、マスタMの画素変化による特徴が失われることになる。
【0006】
したがって、マスタMに対して、微細部Mmがパターンマッチング処理の上記対象パターンに含まれている場合、微細部Mmを表現する画素データが失われた間引きテンプレート画像TPtを用いて上記一致度を演算することになる。つまり、一致度の演算に上記対象パターンの特徴である画素の輝度レベルを用いていないため、一致度が低下し上記対象パターンの位置を検出できない、もしくは誤った位置を検出位置としてしまう。また、実際に撮像した被撮像体の上記対象パターンの一部に欠陥等がある場合、その欠陥部を表現する画素データの有無によって一致度の演算値が影響を受けて検出位置がずれてしまう場合がある。このため、上記対象パターンの特徴を損なうことなく、かつ、画像中の欠陥等の阻害要因に影響されることなく、被撮像物の位置を検出することが必要である。
【0007】
それ故に、本発明の目的は、高速に処理しながら高精度に一致度を演算することができるパターンマッチング処理を行うパターンマッチング方法およびその装置、並びにそこで実行されるプログラムを記録した記録媒体を提供することである。
【0008】
【課題を解決するための手段】
上記目的を達成するために、本発明は、以下に述べるような特徴を有している。
本発明のパターンマッチング方法は、第1のテンプレート画像を生成する工程と、第2のテンプレート画像を生成する工程と、一致度を演算する工程とを含んでいる。第1のテンプレート画像を生成する工程は、被撮像物の基準となるテンプレート画像において均一な輝度レベルの画素の領域を示す均一輝度領域を抽出して第1のテンプレート画像を生成する。第2のテンプレート画像を生成する工程は、テンプレート画像において上記均一輝度領域の境界およびその境界周辺の領域を示すエッジ周辺領域を抽出して第2のテンプレート画像を生成する。一致度を演算する工程は、生成された上記第1および第2のテンプレート画像を用いて被撮像物の入力画像に対する一致度を演算する。
【0009】
上記した本発明の構成によれば、予め準備されたテンプレート画像中の均一輝度領域に着目し、それらの区分けをエッジとして、テンプレート画像の領域分割処理を行う。この領域分割処理によって、均一輝度領域を第1のテンプレート画像とし、当該均一輝度領域の境界およびその境界周辺領域を第2のテンプレート画像として生成する。このような第1および第2のテンプレート画像は、領域分割前のテンプレート画像より画素データが少ないため、被撮像物の入力画像に対する一致度を演算を高速に行うことができる。また、第2のテンプレート画像は、テンプレート画像をエッジ検出処理のみで抽出されるのではなく、均一輝度領域の境界およびその境界周辺領域として抽出される。これによって、局所的な輝度レベルの変化のみでなく、強調されたエッジ部分だけのデータに偏らない、エッジの立ち上がり等のエッジ周辺領域を含めて抽出することができる。したがって、第2のテンプレート画像は、一致度の演算結果に大きく影響するエッジ周辺領域を間引かれることなく正確に表しているため、一致度の演算を高精度に行うことができる。
【0010】
また、第1および第2のテンプレート画像を生成する工程は、テンプレート画像全体に対して、複数の画素で構成される小領域を用いた複数の評価値によって、均一輝度領域およびエッジ周辺領域を抽出してもかまわない。これによって、複数の評価値を得るための小領域の幅相当の不感帯が領域の縁辺に生じ、局所的な輝度レベル変化を捉える評価値ではなく、輝度レベル変化の周辺領域を含めた抽出が容易になる。
【0011】
上記複数の評価値は、小領域における輝度レベル評価値およびエッジ検出評価値とで構成されてもよい。さらに、上記第1および第2のテンプレート画像を生成する工程は、組合せの頻度を演算する工程と均一輝度領域およびエッジ周辺領域を区別する工程とを含んでもよい。組合せの頻度を演算する工程は、テンプレート画像に対して、小領域毎に演算される輝度レベル評価値およびエッジ検出評価値の組合せに応じてその組合せの頻度を演算する。均一輝度領域およびエッジ周辺領域を区別する工程は、上記頻度を所定のしきい値を用いて2値化し、その2値化された頻度によって区別される輝度レベル評価値およびエッジ検出評価値の上記組合せに応じて、均一輝度領域およびエッジ周辺領域を区別する。これによって、輝度レベル変化の激しい画素に偏る、あるいは輝度レベルの差が小さい画素を抽出できないようなテンプレート画像になることを防止することができる。また、輝度レベル評価値およびエッジ検出評価値の組合せの頻度で2値化するため、容易に上記組合せを評価することが可能であり、テンプレート画像の頻度が多い画素を均一輝度領域および頻度が少ない画素をエッジ周辺領域として区別することが可能となる。
【0012】
なお、本発明の複数の評価値は、例えば、小領域を構成する画素の輝度レベルの平均を示す平均輝度レベルや輝度レベルの分散値等の統計値、少なくとも異なる2方向のSobelフィルタ、差分フィルタ、あるいはラプラシアンフィルタ等の線形フィルタの出力値、局所領域の角度方向あるいは周波数方向のフーリエパワースペクトル等の領域特徴量のような種々のものが考えられる。
【0013】
また、一致度を演算する工程は、第1のテンプレート画像の画像データを所定の間隔で間引いた画像を用いてもかまわない。これによって、均一画素領域を示す第1のテンプレート画像の画素データを削減できるため、例えば、間引かれた第1のテンプレート画像を用いて、さらに高速に大略的な一致度を演算することが可能となる。
【0014】
なお、本発明は、上述したパターンマッチング方法における、それぞれの工程を実行する機能を有するパターンマッチング装置としても実現することができる。また、本発明は、コンピュータに、上述したパターンマッチング方法における、それぞれの工程を処理ステップとして実行させるためのパターンマッチングプログラムを記録したコンピュータ読み取り可能な記録媒体としても実現することができる。
【0015】
【発明の実施の形態】
図12を参照して、本発明の実施の形態を説明する前に、本発明の概念について説明する。被撮像物をパターンマッチングを用いて画像処理する場合、被撮像物を撮像した画像と予め準備された被撮像物の基準となるマスタの画像(以下、テンプレート画像とする)とを比較して、その一致度が比較される。図12(a)に示すように、テンプレート画像TPは、均一な輝度レベルを有する均一輝度領域と、その均一輝度領域間の境界部分(以下、エッジ領域)とに区分できる。それぞれの領域が、上記一致度の演算に与える影響を考えるために、テンプレート画像TPとその被撮像体の撮像画像Pxとがずれた状態で配置された断面方向のモデルを図12(b)に示す。図12(b)に示すように、パターンマッチングにおける一致度を演算する際に、テンプレート画像TPと撮像画像Pxとの位置がずれていても、互いの均一輝度領域が重なる領域Aaは、比較しても同一の輝度レベルになるため、一致度の演算結果に影響しない。一方、互いのエッジ領域が影響する領域Aeは、比較すると異なった輝度レベルであるため、一致度の演算結果に大きく影響する。つまり、パターンマッチング処理を高速にするためには、上記エッジ領域による一致度の演算が重要であることがわかる。
【0016】
一方、テンプレート画像TPから上記エッジ領域を抽出するには、一般的には隣り合う画素間の差分等を演算に用いたエッジ検出処理が用いられる。ここで、パターンマッチング処理は、輝度レベルの変化に対して一致度の演算および位置の検出を行うため、エッジの立ち上がり始めから終わりまでのエッジ周辺の輝度レベル変化を呈する領域(以下、エッジ周辺領域とする)を、テンプレート情報として持たなくてはならない。しかし、上記エッジ検出処理で一般的に用いられる差分やソベル等のフィルタリング処理は、局所的な輝度レベルの変化を捉える処理であるため、エッジだけを抽出するにはよいが、エッジの立ち上がり等のエッジ周辺領域を含めて抽出するのは困難である。また、撮像時の照明によって一部のエッジが強調される場合、エッジの強度に基づいたエッジ周辺領域を抽出しようとすると、強調されたエッジ部分だけのデータに偏ったテンプレート情報になってしまう可能性がある。
【0017】
そこで、本発明は、上記均一輝度領域に着目して、それらを区分けするエッジ領域をエッジとして、一般的な画像の領域分割処理を考える。最も簡単なケースでは、画像のヒストグラムを取り、輝度レベルの濃度分布情報に基づいて分割するものが考えられる。この場合、エッジ周辺領域の輝度レベルは、分割した結果から容易に抽出することができる。ところが、隣り合った均一輝度領域の輝度レベルの差が小さい場合、領域を分割することができないため、エッジを抽出することができない。そこで、複数の特徴量に基づいて領域を分割する。通常、上記領域分割処理を行うには、小領域(窓関数)で得られる特徴量を、特徴空間にプロットしてクラスタリングを行う必要がある。このようにして領域分割がなされた場合、上記特徴量を得るための小領域の幅相当の不感帯が領域の縁辺に生じる。これが、上述したエッジの立ち上がりから終わりまでの部分を含んだ縁辺部分(すなわち、エッジ周辺領域)であることを利用して、テンプレート情報を生成する。
【0018】
次に、本発明の一実施形態に係るパターンマッチング装置について説明する。当該パターンマッチング装置は、例えば、電子機器に使用される電子部品実装基板の製造装置における位置認識や検査に使用される。まず、図1を参照して、当該パターンマッチング装置のハード構成について説明する。パターンマッチング装置1には、撮像装置2、表示装置3、および入力装置4が接続されている。撮像装置2は、例えばCCD(Charge Coupled Device)で構成され、パターンマッチング処理を行う被撮像体Xを撮像し、その画像データを入力画像Pxとしてパターンマッチング装置1に出力する。表示装置2は、例えば液晶等で構成されるディスプレイ装置であり、パターンマッチング装置1からの処理結果等の出力を、ユーザに対して表示する。入力装置4は、キーボードやマウス等で構成され、ユーザからの指示をパターンマッチング装置1に入力する。パターンマッチング装置1には、中央演算ユニット(CPU)11および記憶装置12が設けられている。記憶装置12は、ROM(Read−Only Memory)、RAM(Random−Access Memory)、およびハードディスク等で構成される。記憶装置12は、後述するテンプレート画像を予め記憶したり、CPU11が処理する際に用いられる記憶領域やプログラム自体を記憶する領域として用いられる。
【0019】
図2を参照して、パターンマッチング装置1に構成される機能ブロックについて説明する。この機能ブロック図は、本発明のパターンマッチングプログラムをパターンマッチング装置1で実行することによって形成される機能構成の一例を示している。パターンマッチング装置1で実行されるパターンマッチングプログラムは、記憶装置12に格納され、CPU11内で実行される。なお、パターンマッチングプログラムは、CPU11がそれを読み出して実行可能であるかぎりにおいて。記憶装置12以外の他の記録媒体に格納されていてもかまわない。したがって、上記パターンマッチングプログラムを他の処理装置にインストールすることによって、同様の機能を移植することも可能である。
【0020】
図2において、パターンマッチング装置1は、判別部111、第1および第2テンプレート格納部112および113、演算部114、および記憶部121を備えている。
【0021】
判別部111は、記憶部121から入力したテンプレート画像TPの輝度レベル情報において、その小領域における複数の評価値を演算する判別用評価値演算部111aを含んでいる。判別部111は、判別用評価値演算部111aが演算した評価値に基づいて、上記テンプレート画像TPに対してパターンのエッジおよびそのエッジ周辺領域に相当する輝度レベルの変化を持つ画素か否かを判別し、それそれに対応した画像を生成する。
【0022】
第1テンプレート格納部112は、上記テンプレート画像TPの中で、上記判別部111によってパターンのエッジに相当する輝度レベルの変化を持たないと判別された画像(すなわち、均一輝度領域)を第1のテンプレート画像TP1として格納する。また、第2テンプレート格納部113は、上記テンプレート画像TPの中で、上記判別部111によってパターンのエッジおよびエッジの周辺領域に相当する輝度レベルの変化を持つと判別された画像(すなわち、エッジ周辺領域)を第2のテンプレート画像TP2として格納する。
【0023】
演算部114は、撮像装置2から入力した入力画像Pxの任意の画像領域に対して、上記第1および第2のテンプレート画像TP1およびTP2を用いて一致度を求める探索座標を演算し、その探索座標における一致度の演算を繰り返す。そして、演算部114は、最も一致度が高い探索座標位置に対して、その一致度および位置座標をパターンマッチング処理の結果として出力する。
【0024】
次に、図2および図3を参照して、当該パターンマッチング装置1がパターンマッチング処理のためのテンプレート画像を予め設定する手順について説明する。なお、図3は、パターンマッチング装置1が行うテンプレート画像の設定手順を示すフローチャートである。
【0025】
まず、パターンマッチング装置1は、記憶部121に格納されているテンプレート画像から、パターンマッチング処理に必要なテンプレート画像を抽出(ステップS11)し、該テンプレート画像に対して所定の基準で位置座標を設定(ステップS12)した後、該テンプレート画像からパターンマッチング処理を行う対象パターンを切り出す(ステップS13)。以下、このステップS13で切り出されたテンプレート画像をテンプレート画像TPとする。なお、上記ステップS11〜13の処理は、入力装置4を用いたユーザからの指示に基づいて行われてもかまわないが、既に公知の一般的なパターンマッチング処理であるため、本実施形態においてはこれ以上の説明を省略する。
【0026】
次に、判別部111は、上記ステップS13で作成されたテンプレート画像TPに対して、マスク画像Pmを作成する(ステップS14)。なお、図4は、判別部111が、上記ステップS14で行うマスク画像Pmの作成についての詳細な手順を示すサブルーチンである。以下、図4を参照して、判別部111が行うマスク画像作成手順について説明する。
【0027】
まず、判別部111は、上記ステップS13で入力したテンプレート画像TPから、所定の画素aを選択する(ステップS141)。そして、処理は次のステップに進む。
【0028】
次に、判別部111に含まれる判別用評価値演算部111aは、上記ステップS141で選択されたテンプレート画像TPの画素aを中心とした小領域(窓関数)に対して、Sobelフィルタ出力値および平均輝度レベルを演算する(ステップS142)。
【0029】
図5を参照して、判別用評価値演算部111aが行う上記ステップS142で演算されるSobelフィルタ出力値の演算について説明する。ここでは、画素aを中心とした小領域(窓関数)を、3×3の合計9画素と設定して説明を行う。まず、上記ステップS141で選択されている画素aに対して、窓関数Waを設定する。この窓関数Waによって演算対象となるテンプレート画像TPの画素は、画素aおよび画素aに接する8つの画素である。これに対して、Sobelフィルタは、方向の依存性を無くすために、図5に示すような水平方向および垂直方向で示される2方向のSobel出力のノルムf1およびf2を用いる。そして、判別用評価値演算部111aは、画素aを中心とした窓関数Waに対して、水平方向および垂直方向Sobelの出力のノルムf1およびf2を用いて、以下の式を用いてSobelフィルタ出力値Saを演算する。
【数1】
なお、上述したSobelフィルタ出力値の演算については、既に公知の一般的に画像のエッジ検出を行う処理であるため、本実施形態においてはこれ以上の説明を省略する。
【0030】
また、判別用評価値演算部111aは、上記ステップS142でテンプレート画像TPの画素aを中心とした小領域に対して、平均輝度レベルを演算する。この平均輝度レベルは、上記小領域に含まれる画素(上述した3×3の場合、合計9画素)のそれぞれの輝度レベルに対する平均値を演算する。
【0031】
なお、上記ステップS142では、判別用評価値演算部111aが小領域に対するSobelフィルタの出力値および平均輝度レベルを演算したが、他の評価値を用いてもかまわない。例えば、小領域を構成する画素の輝度レベルの輝度レベルの分散値、中央値、最大値、あるいは最小値等の統計値、差分フィルタ、あるいはラプラシアンフィルタ等の線形フィルタの出力値、局所領域の角度方向あるいは周波数方向のフーリエパワースペクトル等の領域特徴量のような種々の評価値から選択して演算すればよい。
【0032】
図4に戻り、判別用評価値演算部111aは、上記ステップS142で画素aに対して演算したSobelフィルタ出力値および平均輝度レベルを用いて、Sobelフィルタ出力および平均輝度レベルを数値軸とした2次元の特徴空間に対して、そのような数値をもつテンプレートTP中の頻度として示す(ステップS143)。図6を参照して、Sobelフィルタ出力および平均輝度レベルを数値軸とした2次元の特徴空間に、そのような数値をもつテンプレートTP中の頻度を第3軸に示したヒストグラムを説明する。例えば、上記ステップS141で画素aに対してSobelフィルタ出力値xおよび平均輝度レベルyが演算された場合、上記特徴空間のSobelフィルタ出力および平均輝度レベルの数値軸において、そのような組合せ(x、y)に相当するポイントに頻度1を加える。なお、上記特徴空間のポイントに既に頻度が記録されている場合、その頻度に対して+1する。このような処理を、全てのテンプレート画像TPの画素に対して繰り返すことによって、Sobelフィルタ出力値および平均輝度レベルの組合せ数値に対して、そのような数値をもつテンプレートTP中の頻度を第3軸に示したヒストグラムが作成される。
【0033】
図4に戻り、判別用評価値演算部111aは、テンプレート画像TPに含まれる全ての画素に対して、上記ステップS142およびS143の処理が行われたか否かを判断する(ステップS144)。そして、判別用評価値演算部111aは、全ての画素に対して処理が行われている場合、次のステップS145に処理を進め、全ての画素に対して処理が終了していない場合、上記ステップS141に戻り、処理を繰り返す。
【0034】
次に、判別用評価値演算部111aは、上記ステップS143で作成したSobelフィルタ出力、平均輝度レベルおよび頻度を数値軸としたヒストグラムに対して、上記頻度に対するしきい値Tを設定し、そのしきい値T以上か否かによって上記ヒストグラムの頻度を2値化する(ステップS145)。ここでは、この2値化を、しきい値T以上を示している画素を1とし、しきい値T未満を示している画素を0として処理する。なお、しきい値Tは、上記2値化によって分類される上記画素のそれぞれの総数の割合を予め設定することによって、自動的に算出するようにしてもよい。また、しきい値Tは、後述するマスク画像を表示装置3に表示させることによって、ユーザが該マスク画像の状態を確認し、その都度設定してもかまわない。そして、処理は次のステップに進む。
【0035】
次に、判別用評価値演算部111aは、上記ステップS145で2値化したそれぞれの頻度に相当する上記ヒストグラムにおけるSobelフィルタ出力および平均輝度レベルのポイントに対して、ラベリングを行う(ステップS146)。図7を参照して、上記ステップS146で処理されるラベリングについて説明する。上記ステップS146では、Sobelフィルタ出力および平均輝度レベルの数値軸空間を2値画像P2として扱うことによって、それぞれのSobelフィルタ出力および平均輝度レベルのポイントに対して、上記ステップS145で設定した2値化画素(すなわち、画素0あるいは1)がラベルとして割り当てられる。つまり、上記ヒストグラムにおけるしきい値T以上を示している画素に相当する上記ポイントには、ラベル1がラベリング(図7で示す2値画像P2の白領域)され、しきい値T未満を示している画素に相当する上記ポイントには、ラベル0がラベリング(図7で示す2値画像P2の黒領域)される。そして、処理は次のステップに進む。
【0036】
図4に戻り、判別部111は、上記ステップS146でラベリングしたSobelフィルタ出力および平均輝度レベルの数値軸空間で示される2値画像P2を用いて、テンプレート画像TPのマスク画像Pmを作成し(ステップS147)、当該サブルーチンによるマスク画像生成処理を終了する。ここでは、テンプレート画像TPを構成するそれぞれの画素毎に、マスク画像Pmへの変換処理が行われる。まず、判別部111は、それぞれのテンプレート画像TPの画素に対して、その画素のSobelフィルタ出力値および平均輝度レベルが対応する上記ラベルを、上記2値画像P2を用いてを抽出する。そして、判別部111は、上記抽出したラベル(すなわち、ラベル0あるいは1)を輝度レベル(すなわち、輝度レベル0あるいは1)として、それぞれの画素を該テンプレート画像TPの座標空間に変換する。このような処理を、テンプレート画像TPの全画素に対して行うことによって、Sobelフィルタ出力値および平均輝度レベルの組合せの頻度が小さい画素を輝度レベル0にしたマスク画像Pmが生成される。
【0037】
図8を参照して、テンプレート画像TPがマスク画像Pmに変換される一例を説明する。図8に示すテンプレート画像TPは、十字形状の領域A1とその周辺領域A2で構成されている。このようなテンプレート画像TPを構成するそれぞれの画素を中心とした小領域(窓関数)が上記領域A1あるいはA2にのみ含まれる場合(つまり、均一輝度領域)、その小領域を用いて演算した上記Sobelフィルタ出力値および上記平均輝度レベルの演算値は、演算対象画素を変えても極めて近似した値が演算される。一方、上記小領域が上記領域A1およびA2を共に含む場合(つまり、領域A1の縁辺を含むエッジ周辺領域)、その小領域を用いて演算した上記Sobelフィルタ出力値および上記平均輝度レベルの演算値は、該小領域に含まれる領域A1およびA2の割合や領域A1の縁辺の形状等の影響を大きく受けて、演算対象画素を変えると大きく異なった値が演算される。つまり、上記均一輝度領域を演算したSobelフィルタ出力値および平均輝度レベルの演算値の組合せの頻度は、上記エッジ周辺領域の演算値の組合せの頻度より非常に多くなることがわかる。したがって、上述した処理によってテンプレート画像TPを用いてマスク画像Pmを作成した場合、Sobelフィルタ出力値および平均輝度レベルの演算値の組合せの頻度が小さい画素が輝度レベル0でマスクされるため、上記エッジ周辺領域が輝度レベル0となったマスク画像Pmが作成される。一方、上記均一輝度領域に対しては上記頻度が多いため、輝度レベル1となったマスク画像Pmが作成される。つまり、均一輝度領域が輝度レベル1(図8で示すマスク画像Pmの白領域)およびエッジ周辺領域が輝度レベル0(図8で示すマスク画像Pmの黒領域)で表現されるマスク画像Pmを作成することができる。
【0038】
図3に戻り、判別部111は、上記ステップS147で作成したマスク画像Pmを用いて、テンプレート画像TPの上記均一輝度領域に相当する第1のテンプレート画像TP1およびテンプレート画像TPの上記エッジ周辺領域に相当する第2のテンプレート画像TP2を作成する(ステップS15)。なお、図9は、判別部111が、上記ステップS15で行う第1および第2のテンプレート画像の作成についての詳細な手順を示すサブルーチンである。以下、図9を参照して、判別部111が行う第1および第2のテンプレート画像作成手順について説明する。
【0039】
まず、判別部111は、上記ステップS147で作成したマスク画像Pmおよびテンプレート画像TPを入力する(ステップS151、S152)。そして、判別部111は、テンプレート画像TPから所定の画素bを選択する(ステップS153)。そして、処理は次のステップに進む。
【0040】
次に、判別部111は、上記ステップS153で選択した画素bと同一位置座標に位置するマスク画像Pmの画素に対して、その画素の輝度レベルが「0」か否かを判断する(ステップS154)。つまり、上述したようにマスク画像Pmにおける輝度レベル0の領域がエッジ周辺領域であるため、判定部111は、上記ステップS153で選択されたテンプレート画像TPの画素が、エッジ周辺領域か否かを判断することができる。そして、判別部111は、上記画素の位置座標がマスク画像Pmで輝度レベル0でない場合、該画素を第1のテンプレート画像TP1に設定し(ステップS155)、次のステップS157に処理を進める。一方、判別部111は、上記画素の位置座標がマスク画像Pmで輝度レベル0である場合、該画素を第2のテンプレート画像TP2に設定し(ステップS156)、次のステップS157に処理を進める。
【0041】
次に、判別部111は、テンプレート画像TPに含まれる全ての画素に対して、上記ステップS154〜S156の処理が行われたか否かを判断する(ステップS157)。そして、判別部111は、全ての画素に対して処理が行われている場合、当該サブルーチンによる処理を終了し、全ての画素に対して処理が終了していない場合、上記ステップS153に戻り、処理を繰り返す。
【0042】
図8を参照して、判別部111が上記ステップS153〜S157で作成する第1および第2のテンプレート画像TP1およびTP2について説明する。まず、第1のテンプレート画像TP1は、マスク画像Pmの輝度レベル1の画素に対して、同一位置座標に位置するテンプレート画像TPの画素が抽出されることによって作成される。つまり、マスク画像Pmの輝度レベル0の画素に対しては抽出されないため、結果的に第1のテンプレート画像TP1は、マスク画像Pmとテンプレート画像TPとを、同一座標空間の輝度レベルで掛け合わせることによって作成される。これにより、第1のテンプレート画像TP1は、上記均一輝度領域がテンプレート画像TPの画素で表現され、上記エッジ周辺領域が輝度レベル0(図8で示す第1のテンプレート画像TP1の黒領域)で表現される。一方、第2のテンプレート画像TP2は、マスク画像Pmの輝度レベル0の画素に対して、同一位置座標に位置するテンプレート画像TPの画素が抽出されることによって作成される。つまり、マスク画像Pmの輝度レベル1の画素に対しては抽出されないため、第2のテンプレート画像TP2は、マスク画像Pmの各画素の輝度レベルgを1−gとした(つまり、輝度レベル0の画素は輝度レベル1となり、輝度レベル1の画素は輝度レベル0となる)マスク画像(1−Pm)とテンプレート画像TPとを、同一座標空間の輝度レベルで掛け合わせることによって作成される。これにより、第2のテンプレート画像TP2は、上記エッジ周辺領域がテンプレート画像TPの画素で表現され、上記均一輝度領域が輝度レベル0(図8で示す第2のテンプレート画像TP2の黒領域)で表現される。
【0043】
図3に戻り、判別部111は、上記ステップS15で作成された第1および第2のテンプレート画像TP1およびTP2を、それぞれ第1および第2テンプレート格納部112および113に格納して(ステップS16)、当該フローチャートによるテンプレート画像を予め設定する処理を終了する。
【0044】
次に、図10を参照して、パターンマッチング装置1の演算部114が上記第1および第2のテンプレート画像TP1およびTP2を用いて、パターンマッチング処理を行う手順について説明する。なお、図10は、演算部114がパターンマッチング処理を行う手順を示すフローチャートである。
【0045】
まず、演算部114には、撮像装置2からパターンマッチング処理を行う対象である被撮像物Xを撮像した入力画像Pxが入力される(ステップS21)。そして、処理は次のステップに進む。
【0046】
次に、演算部114は、上述したように予め第1テンプレート格納部112に格納されている第1のテンプレート画像TP1を読み込む(ステップS22)。そして、演算部114は、上記ステップS21で入力した入力画像Pxに対して、第1のテンプレート画像TP1が大概的に近いパターンの位置座標を粗認識する(ステップS23)。ここで、上述したように第1のテンプレート画像TP1は、上記均一輝度領域がテンプレート画像TPの画素で表現され、上記エッジ周辺領域が輝度レベル0で表現された画像である。つまり、演算部114は、上記ステップS23で、上記均一輝度領域のみを表現したテンプレート画像を用いてパターンマッチング処理を行うことになり、その大概的な互いの一致度およびその位置座標を演算する。上記ステップS23における、入力画像Pxに対する一致度およびその位置座標の演算処理は、上記テンプレート画像TPより画素データの少ない第1のテンプレート画像TP1を用いているため、高速に行うことができる。さらに、上記ステップS23での粗認識処理では、第1のテンプレート画像TP1を所定の間隔の画素を間引いて行ってもかまわない。このような間引き処理を第1のテンプレート画像TP1に加えることによって、第1のテンプレート画像TP1の画素データが削減されるため、上記粗認識処理をさらに高速に行うことができる。あるいは、上記ステップS23の粗認識処理では、大概的な位置座標を演算しているため、入力画像Pxの全ての画素毎にパターンマッチング処理を行わなくてもかまわない。所定の画素単位の入力画像Pxに対して粗認識することによって、上記粗認識処理をさらに高速に行うことができる。
【0047】
次に、演算部114は、上述したように予め第2テンプレート格納部113に格納されている第2のテンプレート画像TP2を読み込む(ステップS24)。そして、演算部114は、上記ステップS21で入力した入力画像Pxに対して、第2のテンプレート画像TP2が最も近いパターンの位置座標を詳細認識する(ステップS25)。ここで、演算部114は、上記ステップS23で、入力画像Pxと第1のテンプレート画像TP1との互いの大概的な一致度およびその位置座標を演算している。したがって、上記ステップS25において、演算部114は、入力画像Pxの全ての画素に対してパターンマッチング処理をする必要はなく、上記ステップS23で演算した位置座標に基づいてその周辺をパターンマッチング処理するため、上記詳細認識処理を高速に行うことができる。また、上述したように第2のテンプレート画像TP2は、上記エッジ周辺領域がテンプレート画像TPの画素で表現され、上記均一輝度領域が輝度レベル0で表現された上記テンプレート画像TPより画素データの少ない画像である。つまり、演算部114は、上記ステップS25において、上記テンプレート画像TPより画素データが削減され、かつ上記エッジ周辺領域を正確に表現した一致度の演算結果に大きく影響する第2のテンプレート画像TP2を用いてパターンマッチング処理を行うため、高速に処理しながら高精度に互いの一致度およびその位置座標を演算することができる。なお、上述した実施例以外のパターンマッチング処理の手順については、既に公知の一般的な手順で処理されるため、本実施形態においてはこれ以上の説明を省略する。
【0048】
次に、演算部114は、上記ステップS25で演算された位置座標およびその一致度を出力し(ステップS26)、当該フローチャートによる処理を終了する。なお、演算部114から出力される位置座標およびその一致度は、設備動作のための位置認識や被撮像物の外観検査結果等、様々な用途に利用可能であるが、上記ステップS26以降の処理については、既に公知の一般的な手順で処理されるため、本実施形態においてはこれ以上の説明を省略する。
【0049】
なお、本実施形態のパターンマッチング処理では、第1のテンプレート画像を用いて粗認識し、第2のテンプレート画像を用いて詳細認識する方法を説明したが、いずれか一つのテンプレート画像を用いてパターンマッチング処理を行ってもかまわない。例えば、演算する位置座標の精度を求められない場合。均一輝度領域を示す第1のテンプレート画像のみを用いてパターンマッチング処理を行うことによって、高速に対象パターンの大まかな位置の検出を行うことができる。また、エッジ周辺領域を示す第2のテンプレート画像のみを用いてパターンマッチング処理を行うことによって、対象パターンの位置を高精度に検出することができる。さらに、別の手法を用いて上記粗認識を行った後、上記第2のテンプレート画像を用いて詳細認識することによって、パターンマッチング処理の高精度な高速化がさらに期待できることは言うまでもない。
【0050】
【発明の効果】
本発明は、予め準備されたテンプレート画像中の均一輝度領域に着目し、それらの区分けをエッジとして、テンプレート画像の領域分割処理を行う。この領域分割処理によって、均一輝度領域を第1のテンプレート画像とし、当該均一輝度領域の境界およびその境界周辺領域を第2のテンプレート画像として生成する。このような第1および第2のテンプレート画像は、領域分割前のテンプレート画像より画素データが少ないため、被撮像物の入力画像に対する一致度を演算を高速に行うことができる。また、第2のテンプレート画像は、テンプレート画像をエッジ検出処理のみで抽出されるのではなく、均一輝度領域の境界およびその境界周辺領域として抽出される。これによって、局所的な輝度レベルの変化のみでなく、強調されたエッジ部分だけのデータに偏らない、エッジの立ち上がり等のエッジ周辺領域を含めて抽出することができる。したがって、第2のテンプレート画像は、一致度の演算結果に大きく影響するエッジ周辺領域を間引かれることなく正確に表しているため、一致度の演算を高精度に行うことができる。また、間引かれた第1のテンプレート画像を用いて、さらに高速に大略的な一致度を演算することが可能となる。また、本発明は、従来と同じ撮像系を用いて高速化および高精度を実現することができる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係るパターンマッチング装置のハード構成を示す概略図である。
【図2】図1のパターンマッチング装置1に構成される機能ブロック図である。
【図3】図2のパターンマッチング装置1が行うテンプレート画像の設定手順を示すフローチャートである。
【図4】図2の判別部111が、図3のステップS14で行うマスク画像Pmの作成についての詳細な手順を示すサブルーチンである。
【図5】図2の判別用評価値演算部111aがSobelフィルタ出力値の演算するためのノルムの一例を示す図である。
【図6】図2の判別用評価値演算部111aが作成する、Sobelフィルタ出力および平均輝度レベルを数値軸とした2次元の特徴空間に、そのような数値をもつテンプレートTP中の頻度を第3軸に示したヒストグラムである。
【図7】図2の判別用評価値演算部111aが作成する、Sobelフィルタ出力および平均輝度レベルの数値軸空間をラベリングした2値画像P2を示す図である。
【図8】図2の判別部111が、テンプレート画像TPをマスク画像Pmに変換する一例示す図である。
【図9】図2の判別部111が、図3のステップS15で行う第1および第2のテンプレート画像の作成についての詳細な手順を示すサブルーチンである。
【図10】図2の演算部114が、第1および第2のテンプレート画像TP1およびTP2を用いて、パターンマッチング処理を行う手順を示すフローチャートである。
【図11】従来のテンプレート画像から一定ピッチの格子目状に画素データを間引くことによって、画素の変化による特徴が失われる一例を示す図である。
【図12】本発明のテンプレート画像を用いたパターンマッチング処理の概念を説明する図である。
【符号の説明】
1…パターンマッチング装置
11…CPU
111…判別部
111a…判別用評価値演算部
112…第1テンプレート格納部
113…第2テンプレート格納部
114…演算部
12…記憶装置
121…記憶部
2…撮像装置
3…表示装置
4…入力装置
A…領域
P2…2値画像
Pm…マスク画像
Px…入力画像
TP…テンプレート画像
TP1…第1のテンプレート画像
TP2…第2のテンプレート画像
X…被撮像物
Claims (7)
- 被撮像物の基準となるテンプレート画像において均一な輝度レベルの画素の領域を示す均一輝度領域を抽出して第1のテンプレート画像を生成する工程と、
前記テンプレート画像において前記均一輝度領域の境界およびその境界周辺の領域を示すエッジ周辺領域を抽出して第2のテンプレート画像を生成する工程と、
生成された前記第1および第2のテンプレート画像を用いて前記被撮像物の入力画像に対する一致度を演算する工程とを含む、パターンマッチング方法。 - 前記第1および第2のテンプレート画像を生成する工程は、複数の画素で構成される小領域を用いた前記テンプレート画像全体に対する複数の評価値に基づいて、前記均一輝度領域および前記エッジ周辺領域を抽出する、請求項1に記載のパターンマッチング方法。
- 前記複数の評価値は、前記小領域における輝度レベル評価値およびエッジ検出評価値であり、
前記第1および第2のテンプレート画像を生成する工程は、
前記テンプレート画像に対して、前記小領域毎に演算される前記輝度レベル評価値および前記エッジ検出評価値の組合せに応じてその組合せの頻度を演算する工程と、
前記頻度を所定のしきい値を用いて2値化し、その2値化された頻度によって区別される前記輝度レベル評価値および前記エッジ検出評価値の組合せに応じて、前記均一輝度領域および前記エッジ周辺領域を区別する工程とを含む、請求項2に記載のパターンマッチング方法。 - 前記輝度レベル評価値は、前記小領域を構成する画素の輝度レベルの平均を示す平均輝度レベルであり、
前記エッジ検出評価値は、前記小領域を構成する画素に対する少なくとも異なる2方向のSobelフィルタ出力値であることを特徴とする、請求項3に記載のパターンマッチング方法。 - 前記一致度を演算する工程は、前記第1のテンプレート画像の画像データを所定の間隔で間引いた画像を用いる、請求項1〜4のいずれかに記載のパターンマッチング方法。
- 被撮像物の基準となるテンプレート画像において均一な輝度レベルの画素の領域を示す均一輝度領域を抽出して第1のテンプレート画像を生成する第1のテンプレート画像生成部と、
前記テンプレート画像において前記均一輝度領域の境界およびその境界周辺の領域を示すエッジ周辺領域を抽出して第2のテンプレート画像を生成する第2のテンプレート画像生成部と、
生成された前記第1および第2のテンプレート画像を用いて前記被撮像物の入力画像に対する一致度を演算する演算部とを備える、パターンマッチング装置。 - 被撮像物の基準となるテンプレート画像において均一な輝度レベルの画素の領域を示す均一輝度領域を抽出して第1のテンプレート画像を生成するステップと、
前記テンプレート画像において前記均一輝度領域の境界およびその境界周辺の領域を示すエッジ周辺領域を抽出して第2のテンプレート画像を生成するステップと、
生成された前記第1および第2のテンプレート画像を用いて前記被撮像物の入力画像に対する一致度を演算するステップとを、コンピュータに実行させるためのパターンマッチングプログラムを記録したコンピュータ読み取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002221629A JP2004062631A (ja) | 2002-07-30 | 2002-07-30 | パターンマッチング方法およびその装置、並びにそこで実行されるプログラムを記録した記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002221629A JP2004062631A (ja) | 2002-07-30 | 2002-07-30 | パターンマッチング方法およびその装置、並びにそこで実行されるプログラムを記録した記録媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004062631A true JP2004062631A (ja) | 2004-02-26 |
Family
ID=31941890
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002221629A Pending JP2004062631A (ja) | 2002-07-30 | 2002-07-30 | パターンマッチング方法およびその装置、並びにそこで実行されるプログラムを記録した記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004062631A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005293334A (ja) * | 2004-04-01 | 2005-10-20 | Nikon Corp | テンプレートマッチング装置 |
JP2007128480A (ja) * | 2005-10-05 | 2007-05-24 | Mitsubishi Electric Corp | 画像認識装置 |
JP2011019614A (ja) * | 2009-07-14 | 2011-02-03 | Chino System Kaihatsu:Kk | 鋼球の刻印認識システム |
CN107967679A (zh) * | 2017-11-21 | 2018-04-27 | 凌云光技术集团有限责任公司 | 一种基于pcb产品矢量图形的自动选取定位核的方法 |
-
2002
- 2002-07-30 JP JP2002221629A patent/JP2004062631A/ja active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005293334A (ja) * | 2004-04-01 | 2005-10-20 | Nikon Corp | テンプレートマッチング装置 |
JP2007128480A (ja) * | 2005-10-05 | 2007-05-24 | Mitsubishi Electric Corp | 画像認識装置 |
JP4670664B2 (ja) * | 2005-10-05 | 2011-04-13 | 三菱電機株式会社 | 画像認識装置 |
JP2011019614A (ja) * | 2009-07-14 | 2011-02-03 | Chino System Kaihatsu:Kk | 鋼球の刻印認識システム |
CN107967679A (zh) * | 2017-11-21 | 2018-04-27 | 凌云光技术集团有限责任公司 | 一种基于pcb产品矢量图形的自动选取定位核的方法 |
CN107967679B (zh) * | 2017-11-21 | 2020-07-03 | 凌云光技术集团有限责任公司 | 一种基于pcb产品矢量图形的自动选取定位核的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4877374B2 (ja) | 画像処理装置及びプログラム | |
EP3176751B1 (en) | Information processing device, information processing method, computer-readable recording medium, and inspection system | |
JP6547386B2 (ja) | 画像処理装置及び方法 | |
JP2006066478A (ja) | パターンマッチング装置及びそれを用いた走査型電子顕微鏡 | |
JP2002288589A (ja) | 画像処理方法、画像処理装置および画像処理方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JP2017041190A (ja) | 画像処理方法、画像処理装置、プログラム及び記録媒体 | |
JP2008011484A (ja) | 文字図形列抽出装置,文字図形列抽出方法,その方法を実行するプログラム,そのプログラムを記録した記録媒体 | |
JP2007048006A (ja) | 画像処理装置および画像処理プログラム | |
JP2009123206A (ja) | 画像からテキストを抽出する方法及び装置 | |
JP2009110070A (ja) | 画像処理装置及び画像処理方法、コンピュータプログラム | |
JP2002312761A (ja) | 細胞画像の画像処理方法 | |
JP2004062631A (ja) | パターンマッチング方法およびその装置、並びにそこで実行されるプログラムを記録した記録媒体 | |
CN115546219B (zh) | 检测板式生成方法、板卡缺陷检测方法、装置及产品 | |
JP2021111228A (ja) | 学習装置、学習方法、及びプログラム | |
JP2008294451A (ja) | 画像形成方法、及び画像形成装置 | |
JP2011203853A (ja) | 画像処理装置及びプログラム | |
JP5979008B2 (ja) | 画像処理装置、画像処理方法及びプログラム | |
JP5712859B2 (ja) | 画像認識装置および画像認識方法 | |
JP5220482B2 (ja) | 対象物検出装置及びプログラム | |
JP2012222581A (ja) | 画像処理装置、画像処理方法、プログラム、及び記憶媒体 | |
JP2011170554A (ja) | 物体認識装置、物体認識方法及び物体認識プログラム | |
JP2008268232A (ja) | クラスタ生成装置、欠陥分類装置、クラスタ生成方法およびプログラム | |
JP4253265B2 (ja) | 影検出装置、影検出方法及び影検出プログラム、影検出装置を用いた画像処理装置、影検出方法を用いた画像処理方法及び影検出プログラムを用いた画像処理プログラム | |
CN111493829A (zh) | 轻度认知障碍识别参数测定方法、***及设备 | |
JP2001126027A (ja) | ナンバープレート認識装置 |