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