(57)【要約】【課題】回路パターンの欠陥検査方法では、基準となるパターンの画像データを膨張・収縮といった操作を行い、許容できる最大の寸法と最小の寸法を有するマスタパターンを作製し、被検査物から得た画像データをこのマスタパターンと比較することで欠陥を発見する。このマスタパターンを作製する膨張・収縮という画像処理においては、画素毎にその周囲の画素を加減する処理が行われるが、様々な線幅が含まれる基準パターンの場合は線幅の比率によって一定の割合で膨張・収縮することが困難であった。【解決手段】基準パターンに属する画素に背景からの距離データを付与し、周辺の画素に自分より大きな距離データがなくなるまで画素を削除し、基準パターンの骨格を代表する骨格パターンを作製する。この骨格パターンに属する画素が有する距離データに所定倍率をかけた範囲にある画素をマスタパターンとする。【選択図】図１
2010145145.tif 000002
【特許請求の範囲】
【請求項１】
マスタパターンと検査対象物の画像データを比較し欠陥を検出するパターン検査方法であって、
背景パターンと製品パターンを有する基準パターンを距離変換処理し基準距離パターンを得る第1の工程と、
前記基準距離パターンを骨格化処理し基準骨格パターンを得る第２の工程と、
前記基準骨格パターンを所定係数倍する距離で逆距離変換処理しマスタパターンを得る第３の工程と、
前記マスタパターンと検査対象パターンを比較して差異を検出する第４の工程を有するパターン検査方法。
【請求項２】
前記第１の工程は、
前記基準パターンに属する製品パターンに属する画素に、前記背景パターンと前記製品パターンの境界からの距離データを割り当てる処理である請求項１に記載されたパターン検査方法。
【請求項３】
前記第２の工程は、
前記画素に対して前記画素の周囲の画素の距離データが前記画素の距離データより大きな前記周囲の画素がなくなるまで前記画素を順次削除し画素削除処理画像を得る画素削除処理と、前記基準距離パターンを線幅が最小となるまで前記画素を削除し細線化処理画像を得る細線化処理と、前記画素削除処理画像と前記細線化処理画像とを合成する合成処理と、前記製品パターンに属する画素の中で前記合成処理の結果残留した画素から枝部を削除する剪定処理を有する請求項１または２の何れかの請求項に記載されたパターン検査方法。
【請求項４】
前記第３の工程は、少なくとも前記所定係数が１．０未満の場合と、１．０より大きい場合の両方について前記マスタパターンを得る工程である請求項１乃至３の何れか１の請求項に記載されたパターン検査方法。
【請求項５】
前記第３の工程は、前記基準骨格パターンに属する骨格画素の距離データに前記所定係数を乗じた距離によって決まる領域内の画素を全て前記マスタパターンに属するマスタパターン画素とする請求項１乃至４の何れか１の請求項に記載されたパターン検査方法。
【請求項６】
前記第３の工程は、前記所定係数に応じた画素値を前記所定係数によって作製される前記マスタパターンに属するマスタパターン画素の画素値に与える請求項１乃至５の何れか１の請求項に記載されたパターン検査方法。
【請求項７】
前記第３の工程は、さらに、前記係数に応じた画素値を付与されたマスタパターン画素同士を上書きしマルチマスタパターンを得る処理を含む請求項６に記載されたパターン検査方法。
【請求項８】
前記第４の工程で検出した前記差異と前記マルチマスタパターンをさらに比較する第５の工程を有する請求項７に記載されたパターン検査方法。
【請求項９】
背景パターンと製品パターンを有する基準パターンが入力されマスタパターンを出力するマスタパターン作製部と、
前記マスタパターンを記録する記憶部と、
被検査物を撮影し画像データを得る撮影部と、
前記画像データを２値化処理する２値化部と、
前記マスタパターンと前記２値化処理された画像データを比較し差異を出力する演算部と、
前記演算部の出力に基づいて判定結果を出力する判定部を有するパターン検査装置。
【請求項１０】
前記マスタパターン作製部は、
前記製品パターンに属する画素に前記背景パターンと前記製品パターンの境界からの距離データを付与し基準距離パターンを作製し、
前記基準距離パターンから枝部のない基準骨格パターンを作製し、
前記基準骨格パターンに属する画素の距離データに所定係数倍する距離の間の画素をマスタパターン画素としてマスタパターンを作製する請求項９に記載されたパターン検査装置。
【請求項１１】
同一視野内に太さの異なるパターンを有し、
前記太さの異なる部分に所定の大きさの欠陥または突起が形成されたテストパターン。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリント基板回路パターン、ＬＳＩ回路パターンの欠陥を画像処理により自動的に検査する回路パターンの検査方法に関する。
【背景技術】
【０００２】
絶縁部材の上に導線のパターンを形成した回路パターンは、携帯電話といった電子機器の一般への普及と共に、急速に需要が高まっている。回路パターンは、それを用いる電子機器の性能や耐久性に影響を及ぼすため、電気的に設計通り結線されていることはもちろん、所定の寸法精度が要求される。
【０００３】
そこで、回路パターンは作製後に全数検査し、所定のスペックを満足していることが確認される。ところで、回路パターンは、その種類も数も膨大になってきているため、できるだけ短時間に検査を終わらせる必要がある。
【０００４】
従来この検査には、いくつかの方法が提案されている。線幅サブピクセル計測法と呼ばれる方法は、線幅を一定長毎に測定してゆき、前後数計測点からその間の線幅を決定し、基準幅に対しての良否を判断する方法である。この方法は、パターンピッチの１／１０程度の分解能で検査が可能である。
【０００５】
また、画像比較法は、２値化後の撮像データと良品データとの差分画像を求め、ある面積以上の差異部分を欠陥として求める方法である。この方法は、データを２値化しているため、計算速度は早くできる。
【０００６】
一方、欠陥の判定方法として、従来提案されている方法は、１／３ルールと呼ばれるものである。このルールは回路パターンの導線であるリード部分の太さが、基準となる太さの１／３より太ければリードに突起があると判定し、基準となる太さの１／３より細ければ断線のおそれがあると判定するものである。
【０００７】
特に特許文献１に開示されているのは、画像比較法を用いた方法で、基準となるパターンの部分が４／３倍になっている標準画像と、２／３倍になっている標準画像を用意し、それぞれの基準画像を検査対象となる回路パターンの画像と比較する。
【特許文献１】特開昭６３−１９５４１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
標準画像と検査対象となる画像を比較する画像比較法は、簡便に回路パターンの欠陥を見るけることができ、有用である。この方法での欠陥抽出の精度は、基準パターンに対して拡大又は縮小させた標準画像の作成方法に依存する。
【０００９】
特許文献１には、拡大・縮小の方法として、隣接する画素との論理和を取ることで基準パターンの拡大又は縮小パターンを作成する方法が開示されている。この方法は全画素に対して同じだけの画素数を増加又は減少をするため、基準パターンがほぼ同じ幅のパターンから構成されている場合は問題なく標準画像を作成することができる。しかし、線幅が大きく異なるパターンが混在したパターンでは、次の問題が発生する。
【００１０】
すなわち、太い線幅のパターンに合わせて縮小すると、細い線のパターンは消滅してしまい、細い線幅のパターンに合わせて拡大すると太い線のパターンは所定量だけ拡大しき
れない。言い換えると、線幅に応じた拡大・縮小した標準画像を作成することが困難になるという課題があった。
【課題を解決するための手段】
【００１１】
本発明のパターン検査方法および装置は、上記の課題を解決すべく想到されたものである。すなわち、本発明では、基準パターンからパターンの骨格部分を抽出し、その骨格から所定倍数された距離分だけ画素を付け加えたマスタパターンを作成する。そしてこのマスタパターンと検査対象物の画像を比較し、欠陥を検出する。
【発明の効果】
【００１２】
本発明は、基準パターンの骨格部分から所定倍率された距離の間にある画素をマスタパターンとするので、太い部分と細い部分が混在しているパターンであっても、同じ倍率で各部を膨張・収縮させたマスタパターンを得ることができる。従って、より多様な線幅のパターンの組み合わせが１つの基板に描かれた製品の欠陥検査を行うことが出来る。
【発明を実施するための最良の形態】
【００１３】
以下本発明の実施形態について説明するが、本発明はこれらの実施形態に限定されることはなく、本発明の趣旨の範囲内で修正、変更することができる。
【００１４】
（実施の形態１）
図１に本発明のパターン検査装置１の構成図を示す。本発明のパターン検査装置は、被検査物９０の回路パターンを撮影する画像撮影部２０と、撮影された画像を２値化する２値化部３０と、基準となる画像（これを「マスタパターンＭＰ」と呼ぶ）と検査対象画像の位置を合わせる位置合わせ部５０、位置を合わせた画像同士の画素同士を論理演算する演算部６０、演算結果を判定する判定部７０を含む。また、マスタパターンを記憶しておく記憶部８０と、マスタパターンを作製するマスタパターン作製部１０をも含む。
【００１５】
画像撮影部２０は、少なくともカメラ２１と照明２２を有する。カメラ２１は被検査物９０のパターンの画像を画像データＶｄに変換し出力する。従って、ＣＣＤなどの光電子変換素子を用いたものが好ましい。ＣＣＤは画素が２次元に配列されたものであっても、ラインセンサなどのように１次元に配列されたものであってもよい。また、被検査物９０を上方から撮影するため、テレセントリックスタイプのレンズを搭載したものがより好ましい。なお、通常の可視光の波長を用いるだけでなく、近赤外や紫外波長帯の光を検出するようにしてもよい。
【００１６】
画像データＶｄは、光電子変換素子によって電気信号に変換された画素情報の集合である。具体的には、ＣＣＤの１画素が受光した光を８ビット若しくは１０ビットの階調に変換された値（階調値）と画素の位置（座標など）のセットが１画像分集まったものである。１例を挙げると、ＣＣＤの有効画素数が５００万画素あり、１画素あたり１０ビットの階調値に変換される場合は、１画像分の画像データＶｄは、階調値だけで５０００万ビット（５０Ｍｂｉｔ）になる。
【００１７】
照明２２は、被検査物９０の撮影の際に光を当てて、コントラストを得るためのものである。特に制限されるものではなく、リング形状の蛍光灯やＬＥＤ、光ファイバライトガイドなどを好適に用いることができる。
【００１８】
また、被検査物９０を上方から照らすだけでなく、被検査物９０の下方から照らして、透過光をカメラ２１で撮影してもよい。
【００１９】
２値化部３０以降は、画像データＶｄに対する画像処理を行う。それぞれの構成要素は
専用のハードウェアを作製することもできる。しかし、変更が容易である点と現在のコンピュータの処理速度は十分に速いことを考えると、コンピュータによるソフトウェア的な処理が主となる。
【００２０】
従って、２値化部３０、位置合わせ部５０、演算部６０、判定部７０、マスタパターン作製部１０は、コンピュータとソフトウェアで実行されことを表すため、制御装置８５の要素として説明を進める。これらの要素はソフトウェアとコンピュータで実行可能である。
【００２１】
なお、記憶部８０は、制御装置８５に含まれるように図示した。具体的には、半導体メモリが好適に用いられるからである。しかし、制御装置８５の外側に設置されたハードディスクなどの２次記憶媒体が含まれていても良い。
【００２２】
ここで、パターンについて説明を行う。パターンはポリイミドなどの基板上に回路又は回路の一部が形成された製品から得た画像データである。製品には導電体などでパターンが形成された部分と形成されていない部分があり、パターンが形成された部分の画像データを製品パターンｐｄ、そうでない部分の画像データを背景パターンｂｄと呼ぶ。すなわち、図１の画像撮影部２０で撮影した画像データＶｄは、パターンであり、パターンは製品パターンｐｄと背景パターンｂｄからなる。パターンは、画素を有し、それぞれの画素は階調値と座標を有する。製品パターンの画素をＥｐｄ、背景パターンの画素はＥｂｄとする。
【００２３】
基準パターンＶｓｄは、各種の検査をパスした製品や設計時のＣＡＤデータ（これらをまとめて「基準製品」と呼ぶ。）から得た画像データである。
【００２４】
基準パターンＶｓｄは、さらに個々の画素に対して、座標（ｘ、ｙ）、パターン区別情報（Ｅｖ）、画素値（Ｉ）、境界からの距離（ｄ）、骨格情報（Ｂ）といった情報を有している。また、マスタパターンを構成する画素となるか否かを表すマスタパターン情報（ｍｐ）を有していても良い。
【００２５】
座標は、画像データの中でその画素の位置を表す情報である。画素値（Ｉ）とは、その画素の輝度を示す階調値である。パターン区別情報（Ｅｖ）は、その画素が製品パターンの画素か、背景パターンの画素かを示す情報である。なお、製品パターンと背景パターンの境を単に「境界」ともいう。
【００２６】
画素値は、階調値である。境界からの距離（ｄ）は、製品パターンｐｄに属する画素であって、最も近い背景パターンｂｄからの距離を画素数で示す。なお、距離（ｄ）は距離データ（ｄ）と呼んでもよい。骨格情報（Ｂ）は、製品パターンｐｄに属する画素であって、後述する骨格化処理の結果、骨格となったか否かを示す情報である。また、マスタパターン情報（ｍｐ）とは、後述する逆距離変換処理の結果マスタパターンの画素となるか否かを示す情報である。
【００２７】
なお、基準パターンには、最初は座標とパターン区別情報と画素値があれば足りる。その他のパラメータはマスタパターン作製部で作製されるからである。
【００２８】
これらは、並べて表示してもよく、具体的にはある画素に対して（ｘ，ｙ，Ｅｖ，Ｉ，ｄ，Ｂ，ｍｐ）と記載してもよい。
【００２９】
図２には、マスタパターン作製部１０の処理フローを示す。基準パターンＶｓｄが入力されると、距離変換処理（Ｓ２０１）、画素削除処理（Ｓ２０２）、細線化処理（Ｓ２０
３）、合成処理（Ｓ２０４）、剪定処理（Ｓ２０５）、逆距離変換処理（Ｓ２０６）によって基準パターンが加工され、その結果マスタパターンが出力される（Ｓ２０８）。画素削除処理、細線化処理、合成処理、剪定処理をまとめて、骨格化処理と呼ぶ。基準パターンを収縮して得たマスタパターンを収縮マスタパターン、膨張させて得たマスタパターンを膨張マスタパターンと呼ぶ。以下各処理について説明する。なお、図２のフローは、最後にメインルーチンに戻る処理（Ｓ２１０）をつけ、メインルーチンの処理に対するサブルーチンとして示したが、独立した処理であってもよい。
【００３０】
図３を参照して距離変換処理（図２のＳ２０１）についてより詳細に説明する。図３（ａ）は、１つの画像データ中に製品パターンｐｄと背景パターンｂｄがある事を示している。距離変換処理とは、入力された基準パターンＶｓｄの背景パターンｂｄと製品パターンｐｄとの境界からの距離を製品パターンｐｄの画素の距離データとして付与する処理である。
【００３１】
まず、製品パターンｐｄの全ての画素Ｅｐｄに対して、その隣接する画素を調べ、背景パターンに隣接する画素には距離データ「１」を付与する。図３（ｂ）では距離データ「１」の画素を黒四角で示した。次に同じく製品パターンｐｄの全ての画素に対して、距離データ「１」の画素に隣接する画素に距離データ「２」を付与する。図３（ｂ）では距離データ「２」を付与された画素は黒丸で表した。このように、基準パターンの製品パターン部分に対して、背景パターンからの距離を画素数で与えたのが距離データ（ｄ）である。
【００３２】
図３（ｃ）には、製品パターンに属する全ての画素に対して距離データ（ｄ）が付与された状態を示す。これを基準距離パターンと呼ぶ。なお、距離データ「３」の画素は黒三角、距離データ「４」はバツ印で表した。基準距離パターンでは製品パターンに属する全ての画素Ｅｐｄに対して距離データが与えられている。
【００３３】
図４には、この距離変換処理のフローを示す。基準データが入力されると、処理がスタートする（Ｓ２２０）。終了判定を行い（Ｓ２２２）、終了であれば（Ｓ２２２のＹ分岐）処理をメイン（図２のステップＳ２０２）に返す（Ｓ２３４）。ここで終了判定は製品パターンの全ての画素に対して距離データが付与されたか否かで判定する。距離データは背景パターンからの画素数であらわすので、予め基準パターンに属する全ての画素に距離ゼロのデータを付与しておく処理を事前に行うのが好ましい。このようにしておけば、背景パターンの距離データは全てゼロにできる。
【００３４】
次に全ての製品パターンに属する画素Ｅｐｄに対して以下の処理を終えたか否かを判定する（Ｓ２２４）。すでに処理が終了していれば、距離を表す引数ｋをインクリメントし（Ｓ２２６）、ステップＳ２２２に戻り、終了判定を行う。引数ｋは距離変換処理がスタートした直後に初期値として「１」を与えておく。
【００３５】
まだ、全ての製品パターンに属する画素に対して以下の処理を終えていない場合（Ｓ２２４のＮ分岐）は、以下の処理を行う。まず、ある画素に対してその画素を中心とする９画素の領域に着目する。図４（ｂ）にはその領域を示した。以後これを参照領域と呼ぶ。参照領域は、パターン中のある画素に対する「周辺」を定義する領域でもある。真ん中の画素をＡとし、その周辺の画素（８つ）をＡｐ１乃至Ａｐ８と表す。そして、いずれかの周辺画素Ａｐの距離データがｋ−１であれば（Ｓ２２８のＹ分岐）、画素Ａは距離を付与される画素であるとして、距離データｋが付与される（Ｓ２３０）。ここで中心画素の有する距離データをＡ（ｄ）と表わし、周辺の画素の距離データをＡｐ（ｄ）とした。
【００３６】
例えば、今距離データ「１」の画素を探している時（ｋ＝１の時）、製品パターンに属
するある画素を参照領域の中心（画素Ａ）と定め、画素Ａのいずれかの周辺画素に距離「０」の背景パターンに属する画素があれば、その画素Ａには距離データ「１」が付与される。また、周辺画素Ａｐに距離データがゼロである画素がなければ（Ｓ２２８のＮ分岐）、ステップＳ２３０を飛ばして、次の製品パターンに属する画素Ｅｐｄに移動し（Ｓ２３２）、ステップＳ２２４に戻る。次の画素に移動するとは、参照領域の中心画素を次の画素に移すということである。以上の処理を繰り返すことで、全ての製品パターンに属する画素Ｅｐｄに距離データを与えることができる。
【００３７】
次に骨格化処理について説明する。骨格化処理は、距離変換処理した画像データに画素削除処理を行い、別途細線化処理した結果を合成処理し、それを剪定処理して基準骨格化パターンを得る処理である。
【００３８】
図５を参照して、より詳細に説明する。図５（ａ）には図３（ｃ）の基準距離パターンを再掲した。画素削除処理は、製品パターンに属する画素Ｅｐｄに距離データが付与された図５（ａ）に示す基準距離パターンが入力される。画素削除処理は、製品パターンに属する画素に対して、周囲に自分の有する距離データより大きな距離データを持つ画素が無くなるまで、画素を削除する処理を含む。画素削除処理は実際に画素を削除するのではなく、製品パターンに属する画素Ｅｐｄから骨格となる画素を抽出する処理である。従って、画素削除処理とは、全ての画素Ｅｐｄに対して予め骨格情報（Ｂ）に１の値を与えておき、この骨格情報をゼロにする処理である。画素削除処理によって得られた結果を画素削除処理画像という。
【００３９】
図５（ｂ）は、参照領域の真ん中の画素Ａに対して、縦横斜め方向の周辺画素の距離データが画素Ａの距離データより大きなものがなくなるまで画素を削除した結果を示す。すなわち、図５（ｂ）は、製品パターンに属する画素Ｅｐｄのうち、骨格情報（Ｂ）が１のものについて、その距離データを、黒四角、黒丸といった記号で示している。例えば、画素１１１は、距離データが２であり、骨格情報は１である画素である。このように画素削除処理では１つの連結した基準骨格パターンは得られない場合がある。
【００４０】
次に、画素削除処理と並行して細線化処理によって線の太さが１となるまで周囲の画素を削除した細線化処理画像を作成する。細線化処理は、階調値に基づいて行われる。従って細線化処理には、基準パターンＶｓｄが入力される。図５（ｃ）は、細線化処理によって画像を生成した結果である。細線化処理によって得られた結果を細線化処理画像という。
【００４１】
次に、画素削除処理画像と、細線化処理画像との結果を論理和演算する。これは合成処理である。図５（ｄ）はその結果である。この前記演算処理によって、画素削除処理では骨格線分が分断されていた箇所が細線化処理によって保管された骨格化パターンとすることができる。すなわち、細線化処理画像で残った画素の骨格情報（Ｂ）を１にして画素削除処理画像との間で、骨格情報（Ｂ）の論理和を取る。
【００４２】
そして、この合成処理の結果得られたパターン情報に対して、枝部となる部分を削除する剪定処理を行う。ここで枝部とは、先端を有し、画像データ上で４５°の角度で連続する部分である。図５（ｄ）では、１１３乃至１１７の部分が枝部にあたる。枝部は、細線化処理によって、パターンの角を線分の始点として処理するため生じる。
【００４３】
枝部は、後で行う逆距離変換処理によって、欠陥検査に用いるマスタパターンに好ましくない部分を生成する可能性があり、削除しておく必要がある。また、剪定処理は骨格情報（Ｂ）が１の画素に対して行えばよい。図５（ｅ）には、剪定処理を行い枝部が削除された結果得られる基準骨格パターンを示す。図５（ｂ）の画素削除処理画像と比べて画素
１１２によって１つの連続した骨格パターンが得られたのがわかる。
【００４４】
次にフローを用いて、各処理を例示する。図６に、画素削除処理のフローを示す。基準距離パターンが入力され画素削除処理がスタートすると（Ｓ２５０）、画素削除処理の終了判定を行う（Ｓ２５２）。終了判定は、削除すべき画素の有無である。従って、製品パターンに属する画素について判定すれば足りる。削除すべき画素が無くなったら、次の処理（Ｓ２０４）に移る（Ｓ２６４）。そうでなければ、製品パターンに属する画素であって、距離データがｍである全ての画素について、検査が終了したかを判定する（Ｓ２５４）。終了していれば、削除する距離データを示すパラメータのｍをインクリメントする。ｍは初期設定で１に設定させておく。
【００４５】
製品パターンに属する距離データがｍの全ての画素について処理が終了していなければ（Ｓ２５４のＮ分岐）、参照領域の真ん中の画素の距離データと、周辺画素の距離データの大小を比較する（Ｓ２５８）。周辺画素とは、図４（ｂ）を参照して、真ん中の画素Ａに対して周囲８方向にある近接画素（Ａｐ１、Ａｐ２、Ａｐ３、Ａｐ４、Ａｐ５、Ａｐ６、Ａｐ７、Ａｐ８）である。なお、図６では、ｉ番目の周辺画素の距離データを「Ａｐi（ｄ）」と表した。
【００４６】
そして、周辺画素の距離データのいずれかが参照領域の真ん中の画素の距離データより大きければ（Ｓ２５８のＹ分岐）、画素Ａの骨格情報（Ｂ）をゼロにする（Ｓ２６０）。骨格情報（Ｂ）がゼロというのは、現在参照領域の真ん中にある画素Ａは骨格パターンになり得ないことを表す。そして、次の画素に移り（Ｓ２６２）ステップＳ２５４に戻る。
【００４７】
この処理を繰り返すことによって、背景パターンに近い画素から骨格情報（Ｂ）がゼロになり、最後は図５（ｂ）の情報となる。この処理は画素削除処理に相当する。
【００４８】
次に細線化処理（Ｓ２０３）を説明する。細線化処理は、画像の輝度値に基づいて、明るい部分（明部）若しくは暗い部分（暗部）の太さが１画素になるまで明部を暗部になるように輝度値を入れ替える処理である。結果は、太さが1の明るい線、若しくは暗い線からなる画像が得られる。これには、いくつかの方法が提案されている。ここでは、代表的な１方法を説明する。なお、背景パターンｂｄは、暗い画素（階調値が低い画素）であり、製品パターンｐｄは明るい画素（階調値が高い画素）から構成されているとして説明する。
【００４９】
細線化処理には、画像データに対して８種類の参照領域（これらを「細線化要素」と呼ぶ）を適用させ、個々の画素について削除が可能か否かを判断する。すなわち、以下の細線化要素と同じ領域が画像データ中にあれば、中心画素の輝度値を暗部に置き換える。
【００５０】
図７に細線化要素を示す。それぞれをＥＬ１からＥＬ８とする。例えば、ＥＬ１は参照領域のＡｐ１、Ａｐ２、Ａｐ３が暗部（Ｚ）であり、Ａｐ６、ＡＰ７、Ａｐ８が明部（Ｗ）である場合に、中心画素（Ａ）が明部であれば、暗部に変更できる場合を示す。ここで「Ｘ」は暗部でも、明部でもよい。ここで暗部に変更すると輝度値に関しては、画素が削除されたように見える。
【００５１】
ＥＬ１は、画素が横に長く連続して並んでいる場合に、暗部との境界に接する画素を１画素分だけ暗部に変更する。この処理によって画面の横方向に長い部分は画面の上方向から削除される。しかし、参照領域は横に３画素分あるので、画像データが幅２画素以下になったら上方向から画素を削除することはなくなる。
【００５２】
ＥＬ２は、Ａｐ４とＡｐ７の斜めの部分を残して角にあたる中心画素（Ａ）を暗部に変
更する処理である。ＥＬ３乃至ＥＬ８は、ＥＬ１とＥＬ２の方向違いである。従って、ＥＬ１、ＥＬ３、ＥＬ５、ＥＬ７によって、画像データは、上、右、下、左方向から削除されてゆく。ただし、ＥＬ１とＥＬ５は、画素の横方向の画素数が２以下になったら適用されない。また、ＥＬ３とＥＬ７は、縦方向の画素が２以下になったら適用されない。また、ＥＬ２、ＥＬ４、ＥＬ６、ＥＬ８によって斜め方向の画素の繋がりは残る。
【００５３】
以上の処理を輝度値の置き換えがなくなるまで続けることにより、画像データを太さが１になる細線化処理を実行することができる。図５（ｃ）はこの処理の結果である。
【００５４】
図８および図９に、この処理のフローを示す。細線化処理（Ｓ２０３）がスタートする（Ｓ４００）と、変数の初期化を行う（Ｓ４０２）。変数としては、「ｆｌａｇ」と「ＥＬ」の２つを用いる。「ｆｌａｇ」は、階調値の置き換えの有無を判断するためのフラグであり、この値がゼロであれば全ての画素について階調値の置き換えはなかったとして処理を終了する。初期値はゼロである。「ＥＬ」は、図７で説明した細線化要素を表す。例えばＥＬ＝１とはＥＬ１を表すものとする。初期値は「１」である。
【００５５】
なお、画像データの修正およびその更新ように「ｉｎ」と「ｏｕｔ」という２種類の画像データを用意する。これらの画像データは、基準パターンＶｓｄの階調値と座標でよい。また、初期化の際はｉｎとｏｕｔは同じでよい。
【００５６】
次にＥＬ＝９か否かを判断する（Ｓ４０４）。これは８種類の細線化要素を画像データに適用したか否かを知るためである。適用すべき細線化要素がまだ残っている場合（Ｓ４０４のＮ分岐）は、階調値の置き換え処理Ｃを行う（Ｓ４０６）。ステップＳ４０６の詳細は図９で説明する。
【００５７】
そしてＥＬをインクリメントし（Ｓ４０８）、ＥＬが９か否かの判断（Ｓ４０４）へ戻る。この処理を行うことで、全ての画素に対して、８つの細線化要素が順次適用され、処理Ｃによって階調値の置き換えが行われる。ステップＳ４０４でＥＬ＝９となったら、８つの細線化要素はすべて適用されたとして、終了判断を行う（Ｓ４１０）。
【００５８】
終了判断はｆｌａｇがゼロか否かを判断することによって行う。終了ならば（Ｓ４１０のＹ分岐）、細線化画像を作製し（Ｓ４１２）、図２で説明したメインルーチンの合成処理（Ｓ２０４）に戻る（Ｓ４１４）。そうでないなら（Ｓ４１０のＮ分岐）、変数の初期化（Ｓ４０２）に戻る。なお、細線化画像は、細線化処理で得られた明部の画素と同じ座標を基準距離パターンから抽出した画像データである。すなわち、細線化処理によって得られた明部の画素と同じ座標を有する画素を基準距離パターンから抽出し、その骨格情報（Ｂ）を１としたものである。この処理によって図５（ｃ）の画像データを得られることができる。
【００５９】
次に図９を参照して処理Ｃについて説明する。処理Ｃでは、現在設定されている８つの細線化要素の１つと同じ画素の位置関係を探し出し、適用する。そのため、まず画像データの先頭に参照領域の中心を設定する（Ｓ４２０）。そして、参照画素のなかのそれぞれの画素で現在指定されている細線化要素と画素関係が見つかるまで順次画素を調べる。そして、参照画素の中心画素の階調値が、暗部の階調値の最大値（ＭＡＸ（Ｚ））より大きく、明部の最小値（ＭＩＮ（Ｗ））より小さいか否かを判断する（Ｓ４２２）。すなわち、現在適用されている細線化要素に適合する領域を見つけ、その参照領域の中心画素が明部であるか否かを判断する。
【００６０】
細線化要素であって、しかも参照領域の中心画素が明部（Ｗ）である場合は、その画素を暗部の階調値の最大値に変換する。すなわち、暗部とする。そして、ｆｌａｇを１とす
る。画素の階調値の置き換えを行ったからである。
【００６１】
最終画素か否かを判断し（Ｓ４２８）、最終画素でなければ次の画素に移り（Ｓ４３２）、画素値の判断（Ｓ４２２）に戻る。最終画素まで終了したら画像データｉｎの内容を画像データｏｕｔに置き換える。階調値の置き換えは、画像データｏｕｔ上で行われているからである。そして、処理Ｃ（Ｓ４０６）に戻る。この結果階調値による細線化処理結果として図５（ｃ）を得ることができる。
【００６２】
次に合成処理について説明する。図５（ｂ）の画素削除処理結果と図５（ｃ）の細線化画像について、骨格情報（Ｂ）について論理和をとる。従って、図５（ｂ）と図５（ｃ）で骨格情報が１のものだけを抜き出し、その距離（ｄ）を黒丸、黒四角といった距離データの印で示したものが図５（ｄ）である。
【００６３】
次に、合成処理の結果の画像データに対して剪定処理を行う。図１０のフローを参照する。初めに剪定処理の終了判定を行う（Ｓ２７２）。ここでの終了判定は、枝部として剪定（削除）する画素の有無である。より具体的には、距離データを示すパラメータを「ｌ」（エル）とし、基準パターンの画素のうち、距離データの最大値をｌｍａｘとした時に、骨格情報（Ｂ）がゼロでなく、かつ距離データがｌ＝１からｌ＝ｌｍａｘ−１をもつ画素Ｅｐｄについて、削除できる画素の有無を判定する。
【００６４】
そして、この剪定処理の終了判定が、骨格化処理の終了判定ともなる。削除する画素がなくなったら骨格化処理は終了する。そうでなければ、製品パターンに属する画素のうち、所定の画素について、処理が終了したかを判定する（Ｓ２７４）。より具体的には、画素Ｅｐｄのうち、骨格情報（Ｂ）が１であり、かつ距離データ（ｄ）がｌである画素について処理が終了したか否かを判定する。終了していれば、削除する距離を示すパラメータのｌをインクリメントする。なお、パラメータｌは初期値として１を与えておく。
【００６５】
上記のような所定の画素Ｅｐｄについて検査が終了していなければ（Ｓ２７４のＮ分岐）、参照領域の真ん中の画素に対して、まず、参照領域の真ん中の画素以外の周辺画素Ａｐ１乃至Ａｐ８に骨格情報（Ｂ）が１の画素が何個あるかを確認し、１個の場合のみ、真ん中の画素の距離データとＡｐ１、Ａｐ３、Ａｐ６、Ａｐ８の距離データの大小を比較する（Ｓ２７８）。Ａｐ１、Ａｐ３、Ａｐ６、Ａｐ８は、図４（ｂ）を参照して、参照領域の真ん中の画素Ａに対して斜めの関係にある画素である。
【００６６】
なお、参照領域の真ん中の画素以外の周辺画素Ａｐ１乃至Ａｐ８で骨格情報（Ｂ）が１の画素の数を「ＳＡｐi（Ｂ）」とした。また、Ａｐ１、Ａｐ３、Ａｐ６、Ａｐ８の距離データを「Ａｐo（ｄ）」とし、Ａｐ２、Ａｐ４、Ａｐ５、Ａｐ７の骨格情報（Ｂ）を「Ａｐe（Ｂ）」とした。
【００６７】
ここで、Ａｐ１、Ａｐ３、Ａｐ６、Ａｐ８の距離データのいずれかが参照領域の真ん中の画素Ａの距離データより大きく、Ａｐ２、Ａｐ４、Ａｐ５、Ａｐ７の骨格情報（Ｂ）がゼロであれば（Ｓ２７８のＹ分岐）、真ん中の画素の骨格情報（Ｂ）をゼロにする（Ｓ２８０）。現在の距離データがｌ（エル）であり、周辺画素に骨格情報（Ｂ）が１のものがひとつしかなく、かつその画素が画素Ａに対して斜め方向にしか存在せず、かつ距離データが画素Ａよりも大きな場合、その画素は枝部であると判断できるからである。そして、次の画素に移りステップＳ２７４に戻る（Ｓ２８２）。
【００６８】
この処理を繰り返すことによって、画素削除処理の結果と細線化処理の結果が合成されたパターン中の枝部が全て削除され、最後は図５（ｅ）のパターンとなる。図１０の処理は剪定処理に相当する。このように、製品パターンの骨格を示すパターンであって、枝部
のないパターンを基準骨格パターンｔｄと呼ぶ。また、基準骨格パターンに属する画素であって骨格情報（Ｂ）が１の画素を骨格画素Ｔｐｄで表す。例えば、骨格画素Ｔｐｄは図５（ｅ）の黒丸、黒三角、バツ印の画素である。本実施例では、基準距離パターンに対して画素削除処理と剪定処理を行い、基準骨格パターンを求めたが、基準骨格パターンの求め方はこれに限定されるものではない。
【００６９】
次に逆距離変換処理（図２のＳ２０６）について説明する。図１１（ａ）には、図５（ｅ）を再掲する。逆距離変換処理は図１１（ａ）の基準骨格パターンが入力される。逆距離変換処理とは、骨格画素Ｔｐｄが有する距離データに、所定の倍率を乗算した距離に相当する画素を骨格画素の周辺に付与し、マスタパターンを生成する処理である。例えば、骨格画素が距離データｄを有している場合に、収縮マスタパターンは基準パターンを０．８倍したものを求めるとすると、その骨格画素から０．８ｄの距離にある画素を全て収縮マスタパターンの画素とする。
【００７０】
図１１（ｂ）を参照して、より詳細に逆距離変換処理を説明する。図１１（ａ）の画素１２０は骨格画素Ｔｐｄの１つである。そして、この画素１２０の距離データｄは４であった。倍率を０．８とすると、この画素１２０から４×０．８＝３画素分が収縮マスタパターンの範囲である。なお、画素は整数でなければならないので、小数点以下を四捨五入した。
【００７１】
そこで、この画素１２０を中心として縦横３画素ずつ計５×５＝２５画素の範囲１２４の画素がマスタパターンとなる。同様に画素１２１の距離データは３であり、画素１２２の距離データは２であったので、収縮マスタパターンに含まれる画素は、それぞれの画素を中心に９画素分（１２５）と、９画素分（１２６）である。
【００７２】
全ての基準骨格パターンに属する画素Ｔｐｄに対してこの処理を行い、マスタパターンに含まれるとされた画素のマスタパターン情報ｍｐを１にする。ｍｐ=１の画素をマスタパターン画素という。また、含まれないとされた画素はマスタパターン情報ｍｐをゼロとする。また、マスタパターン情報を用いなくとも、画素値を変更してもよい。例えば、マスタパターンの画素には画素値Ｉの最大値であるＩｍａｘを付与し、それ以外の画素には画素値Ｉの最小値Ｉ0を付与する。このようにすると、２値画像としてマスタパターンを得ることができる。
【００７３】
図１１（ｃ）は全ての基準骨格パターンに属する画素に対してこの処理を行い、収縮マスタパターン１２７を得た結果を示す。画素１２０があった部分１２８は、背景パターンから１画素分がマスタパターンに含まれていないが、画素１２２があった幅の狭い部分１２９では、製品パターンが全て残った。このように本発明のマスタパターン作製では、製品パターンの全ての部分について一律に同じ数の画素が削除されたり膨張されたりすることがない。言い換えると、収縮・膨張されるかどうかは、製品パターンの中でその画素が存在する位置関係に依存する。
【００７４】
図１２には逆距離変換処理のフローを示す。逆距離変換処理には、基準骨格パターンが入力される。まず、終了判定（Ｓ２９２）を行うのは、これまでの処理と同じである。ここで終了判定は、全ての基準骨格パターンに属する画素Ｔｐｄに対して逆距離変換できたか否かということである。逆距離変換できたら（Ｓ２９２のＹ分岐）、後処理（Ｓ３００）に移る。
【００７５】
そうでない場合（Ｓ２９２のＮ分岐）は、画素Ｔｐｄ（参照領域の中心にいるので画素Ａとも呼ぶ）の距離データｄに倍率αを乗算した結果をｚとして求め（Ｓ２９４）、画素Ａを中心として距離ｚに含まれる画素（Ａｐｚ）のマスタパターン情報ｍｐを１にする（
Ｓ２９６）。なお、ｍｐは初期値ゼロを与えておく。
【００７６】
またＡｐｚの画素値Ｉに所定の値を入れる処理を追加してもよい（Ｓ２９６）。所定の値は、例えば画素値の最大値であるＩｍａｘの値である。ここで、画素Ａを中心とした距離ｚの範囲にある周辺画素をＡｐｚで表し、そのマスタパターン情報をＡｐｚ（ｍｐ）とし、画素値をＡｐｚ（Ｉ）と表した。
【００７７】
次の基準骨格化パターンに属する画素に移り（Ｓ２９８）、再び終了判定（Ｓ２９２）から繰り返す。全ての基準骨格パターンの画素Ｔｐｄについて処理を終えたら（Ｓ２９２のＹ分岐）、製品パターンに属する画素Ｅｐｄであって、Ｉｍａｘに値を変換されなかった画素の画素値を背景パターンの画素と同じ値（例えばＩ0）にする。この処理はマスタパターンを２値化画像データとして取得する場合に必要な処理である。２値化画像データとしてマスタパターンを作成しない場合はなくてもよい。そして終了する（Ｓ３０２）。
【００７８】
以上の操作によって基準パターンのどの部分も一様にα倍されたマスタパターンを得ることができる。なお、ここでαを１．０より大きな値に設定すれば、基準パターンを膨張したマスタパターンを得ることができ、１．０より小さな値に設定すれば、基準パターンが収縮されたマスタパターンを得ることができる。また、複数のマスタパターンを得たい場合は、ステップＳ２９０からＳ３０２を倍数αを変えながら所定回数行ってもよい。
【００７９】
以上のようにマスタパターン作製部１０は、入力された基準パターンに基づいてマスタパターンＭＰを作製する。なお２値化された膨張・収縮マスタパターンは、膨張マスタパターンＢｃｄｘ及び収縮マスタパターンＢｃｄｓとする。すなわち、Ｂｃｄｘ、ＢｃｄｓはマスタパターンＭＰの形態の１つである。これらのマスタパターンは記憶部８０に記憶される。
【００８０】
次に図１および図１３のフローを参照して、本発明のマスタパターンを用いたパターン検査方法について説明する。膨張マスタパターンおよび収縮マスタパターンは上記の説明に基づいて予め記憶部８０に記録されているものとする。検査が開始されると（Ｓ１０００）、終了判定を行う（Ｓ１００２）。ここで終了判定は検査対象となる被検査物の有無である。もちろん、被検査物があっても、割り込み処理によって終了させてよい。終了であれば（Ｓ１００２のＹ分岐）、検査を終了する（Ｓ１０１６）。
【００８１】
被検査物が投入されると画像撮影部２０が被検査物を撮影し画像データＶｄを取得する（Ｓ１００４）。この画像データＶｄは、２値化部３０にて２値画像データＢｃｄに変換される（Ｓ１００６）。マスタパターンとの比較を容易にするためである。なお、画像データは２値化される前に、所定の大きさに拡大または縮小といった補間処理が行われてもよい。
【００８２】
２値画像データＢｃｄは、位置合わせ部５０で、記憶部８０から送られたマスタパターンＭＰと位置合わせを行う（Ｓ１００８）。２つの画像を比較するためである。位置合わせが行われた２つの画像は、演算部６０にて対応する画素毎に演算され、マスタパターンとの大小比較が行われる（Ｓ１０１０）。
【００８３】
より具体的には、被検査物の２値画像データＢｃｄに属する画素の画像データから膨張マスタパターンＢｃｄｘに属する対応画素の画素値を引き算し、正となった場合の個数Ｃｄｘと、収縮マスタパターンＢｃｄｓから被検査物の２値画像データＢｃｄを引き算し、正となった場合の個数Ｃｄｓを求める。
【００８４】
被検査物の画像データの中の画素のうち、膨張マスタパターンの画素より画素値の値が
大きいということは、被検査物は、定められた基準以上に太った部分が存在することを意味する。すなわち、突起欠陥のおそれがある。また、収縮マスタパターンの方が被検査物の２値化画像データより画素値が大きいということは、被検査物には非常に細い部分が存在することを意味する。すなわち、欠け欠陥のおそれがある。
【００８５】
判定部７０は、演算部６０で求めた膨張マスタパターンよりはみ出た画素の数Ｃｄｘと、収縮マスタパターンより細い画素の数Ｃｄｓを、予め与えられた閾値ＴｈｘおよびＴｈｓと比較し、容認できるか否かを判断する（Ｓ１０１２）。ここで閾値Ｔｈｘは膨張閾値とよび、閾値Ｔｈｓは収縮閾値と呼ぶ。
【００８６】
つまり、ＣｄｘがＴｈｘより大きいということは、容認できないほど太った部分が被検査物のパターンに存在する。従って突起欠陥と判定する。同様に、ＣｄｓがＴｈｓより大きいということは、容認できないほど細い部分が被検査物のパターンに存在することを意味する。従って欠け欠陥と判定する。
【００８７】
さらに判定部は、これらの結果Ｃｏｎを出力する（Ｓ１０１４）。出力の結果Ｃｏｎは、被検査物に対する欠陥が容認できる、又はできないといった判断だけであってもよいし、マスタパターンからの差であるＣｄｘ、Ｃｄｓの数を直接示しても良い。また、出力の結果Ｃｏｎは、ディスプレイ装置などに表示してもよいし、そのまま記録するまたは他の機器に送信する等してもよい。図１の符号８８は結果Ｃｏｎの出力先を示す。
【００８８】
図１４，１５を参照して、パターン検査のより具体的な例を示す。図１４を参照して、すでに説明したように、基準パターンＶｓｄから基準骨格パターンｔｄが生成されている。基準骨格パターンｔｄから、マスタパターン作製部１０によって、収縮マスタパターンＢｃｄｓが生成される。今被検査物から画像データＶｃｄ１が得られたとする。この被検査物は製品パターン中に一箇所の断線１３１があるものとする。なお、Ｖｓｄでは、製品パターンｐｄの領域を、基準骨格パターンｔｄでは骨格情報Ｂ＝１の領域を、Ｂｃｄｓではマスタパターン情報ｍｐ＝１であって画素値がＩｍａｘの領域をそれぞれ白で表した。
【００８９】
演算部６０にて、収縮マスタパターンＢｃｄｓに属する画素の画素値から、対応する画像データＶｃｄ１の画素の画素値を引くと、画像データ１３０が得られる。この画像データ１３０の中にＩ0以上の画素値を有する画素があった場合は、欠け欠陥であると判断できる。収縮マスタパターンよりも細い部分があるからである。図１４では領域１３２が該当する。
【００９０】
次に図１５を参照する。マスタパターンは膨張マスタパターンＢｃｄｘである。ここに被検査物から画像データＶｄ２が得られたとする。この被検査物は、製品パターン中にはみ出た部分１３３があるとする。膨張マスタパターンに属する画素の画素値から、対応する画像データＶｄ２の画素の画素値を引くと、画像データ１３４が得られる。この画像データ１３４の中にＩ0以上の画素値を有する画素があった場合は、はみ出し欠陥であると判断できる。膨張マスタパターンよりも太い部分があるからである。図１５では領域１３５である。なお、図１５で白の領域で表したのは図１４に従う。ただし、ＢｃｄｓをＢｃｄｘに置き換える。
【００９１】
以上のように、本発明のマスタパターンＭＰを用いることで、被検査物のパターン検査を行うことができる。特に製品パターン中に太さの違いの比率が大きい箇所を含む場合に本発明によるマスタパターンＭＰを用いることは有用である。
【００９２】
（実施の形態２）
実施の形態１では、製品パターンの画素のうち、マスタパターンＭＰとなるべき画素に
は、マスタパターン情報ｍｐを１にしたうえに、画素値の最大値Ｉｍａｘを与え、マスタパターンとならない製品パターンの画素には画素値の最小値Ｉ0を与えた（図１２のフロー参照）。これはマスタパターンを２値化画像データとして求めたことを意味する。
【００９３】
従って、マスタパターンと被検査物の画像データＶｄとの差は画素の個数として求められ（ＣｄｘやＣｄｓ）、欠陥の程度を定量的に判断することはできない。例えば、膨張マスタパターンよりはみ出た部分Ｃｄｘが膨張閾値Ｔｈｘより少なく、判定部の判断は容認できるという判断であったとしても、基準パターンとほぼ同様程度の出来であったのか、基準パターンより太った部分が数多くあり、膨張閾値Ｔｈｘをわずかに超えていなかったために容認されたのかという、程度の判断を行うことはできない。
【００９４】
そこで、本実施の形態では、より定量的に基準パターンとの違いを評価できる実施態様について説明する。
【００９５】
本実施の形態では、マスタパターンを作製する際に、マスタパターンＭＰに属する画素には基準骨格パターンからの距離に相当する画素値を与える。
【００９６】
図１６を参照してより詳細に説明する。基準骨格パターンに対して倍率αを変えながら、逆距離変換処理を行い、マスタパターン１５０、１５１、１５２、１５３を作製する。例えば、マスタパターン１５０はαをゼロ、１５１はαを０．５、１５２は１．０、１５３は１．３などである。明らかにマスタパターン１５０は基準骨格パターンであり、マスタパターン１５１は、収縮マスタパターンであり、マスタパターン１５２は基準パターンであり、マスタパターン１５３は膨張マスタパターンである。そして、それぞれのマスタパターンに属する画素には、基準骨格パターンからの距離に相当する画素値を与える。
【００９７】
例えば、マスタパターン１５０に属する画素にはＩｍａｘ、マスタパターン１５１には０．８＊Ｉｍａｘ、マスタパターン１５２には０．５＊Ｉｍａｘ、マスタパターン１５２には０．３＊Ｉｍａｘなどである。そして、これらの画素データのマスタパターン情報ｍｐが１の画素を倍率の大きいものから順に上書きする。なお、マスタパターン情報ｍｐが１の画素をマスタパターン画素と呼ぶ。ここで、上書きとは、すでに画素値を有している画素に対して、新たな画素値で置き換えることをいう。図１４では、符号１５５、１５６、１５７、１５８の順に上書きする。
【００９８】
結果、合成されたマスタパターン１６０は、背景パターン１６１と、画素値０．３＊Ｉｍａｘの領域１６２と、画素値０．５＊Ｉｍａｘの領域１６３と、画素値０．８＊Ｉｍａｘの領域１６４と、画素値Ｉｍａｘの領域１６５を有する。このマスタパターン１６０をマルチマスタパターンと呼ぶ。
【００９９】
このマルチマスタパターンは、判定部が行う容認の可否だけでなく、どの程度基準パターンと違いがあるかという情報も取得できる。
【０１００】
図１７を参照して、より具体的に説明する。画像データ１３０は被検査物に切断１３１があったものの画像データであった（図１４より）。また、画像データ１３４は被検査物にはみ出し１３５があったものの画像データであった（図１５より）。
【０１０１】
これらの画像データとマルチマスタパターン１６０を比較すると、切断の部分は領域１７１で、はみ出しの部分は領域１７３に対応する。すると、この領域に属する画素の画素値と、数を調べることで、どの程度基準パターンと相違があるのかを示すことができる。具体的には、マスタパターンとの差異として求められた領域１７１および１７３について、総画素数、画素値毎の画素数を表示させるなどである。これらは、図１３の判定処理（
Ｓ１０１２）に含めてもよい。
【０１０２】
図１８にマルチマスタパターンを作製するフローを示す。マスタパターン作製部１０が処理を行うものとして説明する。マルチマスタパターンの作製は図２で示すマスタパターン作製部１０の処理のうち、骨格化処理Ｓ２０４までは全く同じ処理でよい。マルチマスタパターンを作製するには、逆距離変換処理を図１６で示すステップＳ３１０からのフローに変更すればよい。
【０１０３】
図１８のフローを行う際の前提として、上書きするマスタパターンの数と、それぞれのマスタパターンの倍率αと、それぞれの倍率α毎の画素値Ｉが決まっているものとする。ここでは、倍率αが大きくなるほど、画素値Ｉが小さくなるものとし、これをＩ（α）と表し、説明を続ける。まず、逆距離変換処理Ｓ３１０がスタートすると（Ｓ３１０）、初期設定を行う（Ｓ３２２）。初期設定は、倍率αをαの最大値であるαｍａｘにし、かつマルチマスタパターンＭＭＰを基準パターンＶｓｄにする。なお、マルチマスタパターンは順次上書きされていくので、何に決めても構わない。
【０１０４】
次に終了判定を行う（Ｓ３２４）。ここでの終了判定は、所定の数の回数のマスタパターンが上書きされたか否かである。倍率αが最小値になったか否かで判断してもよい。所定の数のマスタパターンが上書きされたら（Ｓ３２４のＹ分岐）処理をメインに返す（Ｓ３３８）。
【０１０５】
そうでなければ（Ｓ３２４のＮ分岐）、全ての基準骨格パターンの画素Ｔｐｄについて処理が行われたか否かを判断する（Ｓ３２６）。行われなかった場合は（Ｓ３２６のＮ分岐）、画素Ｔｐｄ（参照領域の中心にいるので画素Ａと呼ぶ）の距離データｄに倍率αを乗算した結果をｚとして求め（Ｓ３２８）、画素Ａを中心として距離ｚに含まれる画素（Ａｐｚ）のマスタパターン情報ｍｐを１にする。なお、ｍｐは初期値ゼロを与えておく。
【０１０６】
また、画素Ａｐｚの画素値には、倍率によって予め決めておいた画素値Ｉ（α）を代入する。そして、次の画素に移り（Ｓ３３２）、ステップＳ３２６を繰り返す。この処理の繰り返しによって倍率αのマスタパターンＭＰ（α）が完成する。
【０１０７】
全ての基準骨格パターンの画素Ｔｐｄについて、以上の処理が終了したら、マルチマスタパターンＭＭＰにマルチパターンＭＰ（α）を上書きする。上書きとはマスタパターン画素を残し、特に後から書き込むマスタパターン画素を優先して残す処理である。
【０１０８】
より具体的に説明すると、ＭＭＰの画素ｘに対応するＭＰ（α）の画素ｙを上書きする際に、以下のルールに従う。すなわち、画素ｘと画素ｙのマスタパターン情報ｍｐの値を比較し、ともにゼロであったら、画素ｘと画素ｙのいずれかの画素値を採用する。画素ｘのｍｐがゼロで画素ｙのｍｐが１であった場合は画素ｙの画素値を採用する。画素ｘのｍｐが１で画素ｙのｍｐがゼロであった場合は、何もしない。画素ｘのＭＰも画素ｙのｍｐも共に１であった場合は、画素ｙを採用する。
【０１０９】
そして、倍率αを次の倍率にしてステップＳ３２４に戻る。以上の処理フローを行うことで倍率のαの大きいマスタパターンから順次上書きされたマルチマスタパターンを作製することができる。マルチマスタパターンと被検査物の画像データの比較は、図１の演算部１０で行われ、判定部による結果Ｃｏｎに含めることが出来る。
【０１１０】
（実施の形態３）
本発明の検査方法では、被検査物のパターンの幅に応じたマスタパターンを作製している。そこで、本発明の検査方法が正しく機能しているか否かを確認するための方法があれ
ば便利である。ここでは、本発明の検査方法の検証のためのテストパターンについて説明する。
【０１１１】
図１９は本発明の検査方法に対するテストパターンを示す。このテストパターンには太い部分１８０と細い部分１８２がカメラ２０の同じ視野内に含まれるように構成される。そして、太い部分および細い部分に同程度の大きさの欠陥を形成する。図１９では、太い部分１８０での突起１８４と欠け１８６および細い部分１８２での欠け１８８と突起１９０がこれにあたる。太い部分１８０と細い部分１８２の比率は１００：２０乃至１００：５０が望ましい。本発明の検査方法は同一視野内にこの範囲の太さの違いがあるパターンの検査に適しているからである。
【０１１２】
太い部分１８０にはこの線幅１９２に対する欠陥１８４および１８６がある。ここでは欠陥の大きさより線幅の方が十分太いので、これらの欠陥は容認される欠陥である。しかし、細い部分１８２での欠陥１８８および１９０は、同じ大きさの欠陥であっても、線幅１９３に対しては十分に大きな欠陥であるので、容認できない欠陥である。これら欠陥の大きさは、線幅に対してどれくらいの大きさまで許容できるかによって変えることができる。このようなテストパターンを入力し、これらの欠陥を容認、若しくは欠陥検出ができるか否かで本発明の検査方法が正しく行われているか否かの検証が可能である。
【０１１３】
図２０は、このテストパターンに対する基準パターンである。このパターンには欠陥はない。この基準パターンに基づいて膨張および収縮マスタパターンが作製される。
【０１１４】
図２１はテストパターンと基準パターンから得た容認できない突起部分１９４の出力例であり、図２２は容認できない欠陥部分１９６の出力例である。これらは図２０の基準パターンから作製された膨張および収縮マスタパターンとテストパターンの比較によって得られたものである。すなわち、図１９の欠陥１８８および突起１９０を膨張および収縮マスタパターンで検出したものである。つまり、テストパターンを本発明の検査装置に入力し、図２１、２２の結果をえることができれば、検査装置は正常に動作していることが検証できる。
【０１１５】
図２３および図２４に、膨張マスタパターンおよび縮小マスタパターンをそれぞれ示す。これらは、基準パターンの太い部分および細い部分に対して３０％の増減で作製されたものである。これらのマスタパターンはパターンの線幅に対する所定比率で膨張・縮小処理を行っているため、基準パターンとの太さの違いは一定ではない。しかし、比率は一定である。
【０１１６】
なお、テストパターンに形成する欠陥は、場所によって検出できる境界の大きさの欠陥を形成してもよい。例えば、パターン全体に対する欠陥検出の閾値をパターンの場所毎のｓ％であるとすると、太い部分および細い部分にそれぞれｓ％を超えない欠陥とｓ％を超える欠陥の少なくとも何れかを形成してもよい。このようにすることで、意図した通りの検査が行われているか否かがすぐに確認することができる。
【０１１７】
具体的には、太い部分が８０ピクセル、細い部分が２０ピクセルであり、突起や凹みの検査の閾値を３０％とすると、太い部分は２４ピクセルが検出の境界線となる。従って、太い部分に２３ピクセルに相当する大きさ以下の人工欠陥と、２４ピクセルに相当する大きさ以上の人工欠陥を形成しておく。なお閾値が３０％であるなら、細い部分に対しては、７ピクセル以下の欠陥は容認される。これらの欠陥はそれぞれ容認および容認されない欠陥として検出されれば、本発明の欠陥検査方法が正しく行われていると判断することができる。
【０１１８】
図２５には太い部分１８０に対して２４ピクセル以上の突起２００と欠け２０２と、細い部分１８２に対して７ピクセル以下の突起２０６と欠け２０４を加えたテストパターンである。以上のようにテストパターン中に閾値より大きな欠陥および小さな欠陥を含ませておけば、本発明の検査方法および検査装置の動作の妥当性をより正確に検証することが可能になる。
【産業上の利用可能性】
【０１１９】
本発明は回路パターンの自動欠陥検査に好適に利用することができる。
【図面の簡単な説明】
【０１２０】
【図１】本発明のパターン検査装置の構成を示す図である。
【図２】マスタパターン作製部のフローを示す図である。
【図３】基準パターンに距離データを付与する処理を説明する図である。
【図４】距離変換処理のフローを示す図である。
【図５】基準骨格パターンを作製する処理を説明する図である。
【図６】骨格化処理のうちが祖削除処理のフローを説明する図である。
【図７】細線化処理に用いる細線化要素を示す図である。
【図８】細線化処理のフローを示す図である。
【図９】細線化処理のフローのうち、処理Ｃのフローを示す図である。
【図１０】剪定処理のフローを示す図である。
【図１１】逆距離変換処理を説明する図である。
【図１２】逆距離変換処理のフローを示す図である。
【図１３】検査方法のフローを示す図である。
【図１４】収縮マスタパターンによって欠け欠陥を検出する処理を説明する図である。
【図１５】膨張マスタパターンによって突起欠陥を検出する処理を説明する図である。
【図１６】マルチマスタパターンの構成を説明する図である。
【図１７】マルチマスタパターンを用いて欠けと突起を検出する処理を説明する図である。
【図１８】マルチマスタパターンを作製する際の逆距離変換処理のフローを示す図である。
【図１９】検査用のテストパターンを例示する図である。
【図２０】テストパターン用の基準画像を例示する図である。
【図２１】容認できない突起を検出した例を示す図である。
【図２２】容認できる突起を検出した例を示す図である。
【図２３】線幅を３０％増加させたマスタパターンを例示する図である。
【図２４】線幅を３０％減少させたマスタパターンを例示する図である。
【図２５】線幅に応じた欠けと突起を付加した検査用のテストパターンを例示する図である。
【符号の説明】
【０１２１】
１  パターン検査装置
１０  マスタパターン作製部
２０  画像撮影部
３０  ２値化部
５０  位置あわせ部
６０  演算部
７０  判定部
８０  記憶部
８５  制御装置
【図１】
2010145145.tif 000003
【図２】
2010145145.tif 000004
【図３】
2010145145.tif 000005
【図４】
2010145145.tif 000006
【図５】
2010145145.tif 000007
【図６】
2010145145.tif 000008
【図７】
2010145145.tif 000009
【図８】
2010145145.tif 000010
【図９】
2010145145.tif 000011
【図１０】
2010145145.tif 000012
【図１１】
2010145145.tif 000013
【図１２】
2010145145.tif 000014
【図１３】
2010145145.tif 000015
【図１４】
2010145145.tif 000016
【図１５】
2010145145.tif 000017
【図１６】
2010145145.tif 000018
【図１７】
2010145145.tif 000019
【図１８】
2010145145.tif 000020
【図１９】
2010145145.tif 000021
【図２０】
2010145145.tif 000022
【図２１】
2010145145.tif 000023
【図２２】
2010145145.tif 000024
【図２３】
2010145145.tif 000025
【図２４】
2010145145.tif 000026
【図２５】
2010145145.tif 000027