回路パターン検査装置および検査方法およびテストパターン
【課題】回路パターンの欠陥検査方法では、基準となるパターンの画像データを膨張・収縮といった操作を行い、許容できる最大の寸法と最小の寸法を有するマスタパターンを作製し、被検査物から得た画像データをこのマスタパターンと比較することで欠陥を発見する。このマスタパターンを作製する膨張・収縮という画像処理においては、画素毎にその周囲の画素を加減する処理が行われるが、様々な線幅が含まれる基準パターンの場合は線幅の比率によって一定の割合で膨張・収縮することが困難であった。
【解決手段】基準パターンに属する画素に背景からの距離データを付与し、周辺の画素に自分より大きな距離データがなくなるまで画素を削除し、基準パターンの骨格を代表する骨格パターンを作製する。この骨格パターンに属する画素が有する距離データに所定倍率をかけた範囲にある画素をマスタパターンとする。
【解決手段】基準パターンに属する画素に背景からの距離データを付与し、周辺の画素に自分より大きな距離データがなくなるまで画素を削除し、基準パターンの骨格を代表する骨格パターンを作製する。この骨格パターンに属する画素が有する距離データに所定倍率をかけた範囲にある画素をマスタパターンとする。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プリント基板回路パターン、LSI回路パターンの欠陥を画像処理により自動的に検査する回路パターンの検査方法に関する。
【背景技術】
【0002】
絶縁部材の上に導線のパターンを形成した回路パターンは、携帯電話といった電子機器の一般への普及と共に、急速に需要が高まっている。回路パターンは、それを用いる電子機器の性能や耐久性に影響を及ぼすため、電気的に設計通り結線されていることはもちろん、所定の寸法精度が要求される。
【0003】
そこで、回路パターンは作製後に全数検査し、所定のスペックを満足していることが確認される。ところで、回路パターンは、その種類も数も膨大になってきているため、できるだけ短時間に検査を終わらせる必要がある。
【0004】
従来この検査には、いくつかの方法が提案されている。線幅サブピクセル計測法と呼ばれる方法は、線幅を一定長毎に測定してゆき、前後数計測点からその間の線幅を決定し、基準幅に対しての良否を判断する方法である。この方法は、パターンピッチの1/10程度の分解能で検査が可能である。
【0005】
また、画像比較法は、2値化後の撮像データと良品データとの差分画像を求め、ある面積以上の差異部分を欠陥として求める方法である。この方法は、データを2値化しているため、計算速度は早くできる。
【0006】
一方、欠陥の判定方法として、従来提案されている方法は、1/3ルールと呼ばれるものである。このルールは回路パターンの導線であるリード部分の太さが、基準となる太さの1/3より太ければリードに突起があると判定し、基準となる太さの1/3より細ければ断線のおそれがあると判定するものである。
【0007】
特に特許文献1に開示されているのは、画像比較法を用いた方法で、基準となるパターンの部分が4/3倍になっている標準画像と、2/3倍になっている標準画像を用意し、それぞれの基準画像を検査対象となる回路パターンの画像と比較する。
【特許文献1】特開昭63−19541号公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
標準画像と検査対象となる画像を比較する画像比較法は、簡便に回路パターンの欠陥を見るけることができ、有用である。この方法での欠陥抽出の精度は、基準パターンに対して拡大又は縮小させた標準画像の作成方法に依存する。
【0009】
特許文献1には、拡大・縮小の方法として、隣接する画素との論理和を取ることで基準パターンの拡大又は縮小パターンを作成する方法が開示されている。この方法は全画素に対して同じだけの画素数を増加又は減少をするため、基準パターンがほぼ同じ幅のパターンから構成されている場合は問題なく標準画像を作成することができる。しかし、線幅が大きく異なるパターンが混在したパターンでは、次の問題が発生する。
【0010】
すなわち、太い線幅のパターンに合わせて縮小すると、細い線のパターンは消滅してしまい、細い線幅のパターンに合わせて拡大すると太い線のパターンは所定量だけ拡大しき
れない。言い換えると、線幅に応じた拡大・縮小した標準画像を作成することが困難になるという課題があった。
【課題を解決するための手段】
【0011】
本発明のパターン検査方法および装置は、上記の課題を解決すべく想到されたものである。すなわち、本発明では、基準パターンからパターンの骨格部分を抽出し、その骨格から所定倍数された距離分だけ画素を付け加えたマスタパターンを作成する。そしてこのマスタパターンと検査対象物の画像を比較し、欠陥を検出する。
【発明の効果】
【0012】
本発明は、基準パターンの骨格部分から所定倍率された距離の間にある画素をマスタパターンとするので、太い部分と細い部分が混在しているパターンであっても、同じ倍率で各部を膨張・収縮させたマスタパターンを得ることができる。従って、より多様な線幅のパターンの組み合わせが1つの基板に描かれた製品の欠陥検査を行うことが出来る。
【発明を実施するための最良の形態】
【0013】
以下本発明の実施形態について説明するが、本発明はこれらの実施形態に限定されることはなく、本発明の趣旨の範囲内で修正、変更することができる。
【0014】
(実施の形態1)
図1に本発明のパターン検査装置1の構成図を示す。本発明のパターン検査装置は、被検査物90の回路パターンを撮影する画像撮影部20と、撮影された画像を2値化する2値化部30と、基準となる画像(これを「マスタパターンMP」と呼ぶ)と検査対象画像の位置を合わせる位置合わせ部50、位置を合わせた画像同士の画素同士を論理演算する演算部60、演算結果を判定する判定部70を含む。また、マスタパターンを記憶しておく記憶部80と、マスタパターンを作製するマスタパターン作製部10をも含む。
【0015】
画像撮影部20は、少なくともカメラ21と照明22を有する。カメラ21は被検査物90のパターンの画像を画像データVdに変換し出力する。従って、CCDなどの光電子変換素子を用いたものが好ましい。CCDは画素が2次元に配列されたものであっても、ラインセンサなどのように1次元に配列されたものであってもよい。また、被検査物90を上方から撮影するため、テレセントリックスタイプのレンズを搭載したものがより好ましい。なお、通常の可視光の波長を用いるだけでなく、近赤外や紫外波長帯の光を検出するようにしてもよい。
【0016】
画像データVdは、光電子変換素子によって電気信号に変換された画素情報の集合である。具体的には、CCDの1画素が受光した光を8ビット若しくは10ビットの階調に変換された値(階調値)と画素の位置(座標など)のセットが1画像分集まったものである。1例を挙げると、CCDの有効画素数が500万画素あり、1画素あたり10ビットの階調値に変換される場合は、1画像分の画像データVdは、階調値だけで5000万ビット(50Mbit)になる。
【0017】
照明22は、被検査物90の撮影の際に光を当てて、コントラストを得るためのものである。特に制限されるものではなく、リング形状の蛍光灯やLED、光ファイバライトガイドなどを好適に用いることができる。
【0018】
また、被検査物90を上方から照らすだけでなく、被検査物90の下方から照らして、透過光をカメラ21で撮影してもよい。
【0019】
2値化部30以降は、画像データVdに対する画像処理を行う。それぞれの構成要素は
専用のハードウェアを作製することもできる。しかし、変更が容易である点と現在のコンピュータの処理速度は十分に速いことを考えると、コンピュータによるソフトウェア的な処理が主となる。
【0020】
従って、2値化部30、位置合わせ部50、演算部60、判定部70、マスタパターン作製部10は、コンピュータとソフトウェアで実行されことを表すため、制御装置85の要素として説明を進める。これらの要素はソフトウェアとコンピュータで実行可能である。
【0021】
なお、記憶部80は、制御装置85に含まれるように図示した。具体的には、半導体メモリが好適に用いられるからである。しかし、制御装置85の外側に設置されたハードディスクなどの2次記憶媒体が含まれていても良い。
【0022】
ここで、パターンについて説明を行う。パターンはポリイミドなどの基板上に回路又は回路の一部が形成された製品から得た画像データである。製品には導電体などでパターンが形成された部分と形成されていない部分があり、パターンが形成された部分の画像データを製品パターンpd、そうでない部分の画像データを背景パターンbdと呼ぶ。すなわち、図1の画像撮影部20で撮影した画像データVdは、パターンであり、パターンは製品パターンpdと背景パターンbdからなる。パターンは、画素を有し、それぞれの画素は階調値と座標を有する。製品パターンの画素をEpd、背景パターンの画素はEbdとする。
【0023】
基準パターンVsdは、各種の検査をパスした製品や設計時のCADデータ(これらをまとめて「基準製品」と呼ぶ。)から得た画像データである。
【0024】
基準パターンVsdは、さらに個々の画素に対して、座標(x、y)、パターン区別情報(Ev)、画素値(I)、境界からの距離(d)、骨格情報(B)といった情報を有している。また、マスタパターンを構成する画素となるか否かを表すマスタパターン情報(mp)を有していても良い。
【0025】
座標は、画像データの中でその画素の位置を表す情報である。画素値(I)とは、その画素の輝度を示す階調値である。パターン区別情報(Ev)は、その画素が製品パターンの画素か、背景パターンの画素かを示す情報である。なお、製品パターンと背景パターンの境を単に「境界」ともいう。
【0026】
画素値は、階調値である。境界からの距離(d)は、製品パターンpdに属する画素であって、最も近い背景パターンbdからの距離を画素数で示す。なお、距離(d)は距離データ(d)と呼んでもよい。骨格情報(B)は、製品パターンpdに属する画素であって、後述する骨格化処理の結果、骨格となったか否かを示す情報である。また、マスタパターン情報(mp)とは、後述する逆距離変換処理の結果マスタパターンの画素となるか否かを示す情報である。
【0027】
なお、基準パターンには、最初は座標とパターン区別情報と画素値があれば足りる。その他のパラメータはマスタパターン作製部で作製されるからである。
【0028】
これらは、並べて表示してもよく、具体的にはある画素に対して(x,y,Ev,I,d,B,mp)と記載してもよい。
【0029】
図2には、マスタパターン作製部10の処理フローを示す。基準パターンVsdが入力されると、距離変換処理(S201)、画素削除処理(S202)、細線化処理(S20
3)、合成処理(S204)、剪定処理(S205)、逆距離変換処理(S206)によって基準パターンが加工され、その結果マスタパターンが出力される(S208)。画素削除処理、細線化処理、合成処理、剪定処理をまとめて、骨格化処理と呼ぶ。基準パターンを収縮して得たマスタパターンを収縮マスタパターン、膨張させて得たマスタパターンを膨張マスタパターンと呼ぶ。以下各処理について説明する。なお、図2のフローは、最後にメインルーチンに戻る処理(S210)をつけ、メインルーチンの処理に対するサブルーチンとして示したが、独立した処理であってもよい。
【0030】
図3を参照して距離変換処理(図2のS201)についてより詳細に説明する。図3(a)は、1つの画像データ中に製品パターンpdと背景パターンbdがある事を示している。距離変換処理とは、入力された基準パターンVsdの背景パターンbdと製品パターンpdとの境界からの距離を製品パターンpdの画素の距離データとして付与する処理である。
【0031】
まず、製品パターンpdの全ての画素Epdに対して、その隣接する画素を調べ、背景パターンに隣接する画素には距離データ「1」を付与する。図3(b)では距離データ「1」の画素を黒四角で示した。次に同じく製品パターンpdの全ての画素に対して、距離データ「1」の画素に隣接する画素に距離データ「2」を付与する。図3(b)では距離データ「2」を付与された画素は黒丸で表した。このように、基準パターンの製品パターン部分に対して、背景パターンからの距離を画素数で与えたのが距離データ(d)である。
【0032】
図3(c)には、製品パターンに属する全ての画素に対して距離データ(d)が付与された状態を示す。これを基準距離パターンと呼ぶ。なお、距離データ「3」の画素は黒三角、距離データ「4」はバツ印で表した。基準距離パターンでは製品パターンに属する全ての画素Epdに対して距離データが与えられている。
【0033】
図4には、この距離変換処理のフローを示す。基準データが入力されると、処理がスタートする(S220)。終了判定を行い(S222)、終了であれば(S222のY分岐)処理をメイン(図2のステップS202)に返す(S234)。ここで終了判定は製品パターンの全ての画素に対して距離データが付与されたか否かで判定する。距離データは背景パターンからの画素数であらわすので、予め基準パターンに属する全ての画素に距離ゼロのデータを付与しておく処理を事前に行うのが好ましい。このようにしておけば、背景パターンの距離データは全てゼロにできる。
【0034】
次に全ての製品パターンに属する画素Epdに対して以下の処理を終えたか否かを判定する(S224)。すでに処理が終了していれば、距離を表す引数kをインクリメントし(S226)、ステップS222に戻り、終了判定を行う。引数kは距離変換処理がスタートした直後に初期値として「1」を与えておく。
【0035】
まだ、全ての製品パターンに属する画素に対して以下の処理を終えていない場合(S224のN分岐)は、以下の処理を行う。まず、ある画素に対してその画素を中心とする9画素の領域に着目する。図4(b)にはその領域を示した。以後これを参照領域と呼ぶ。参照領域は、パターン中のある画素に対する「周辺」を定義する領域でもある。真ん中の画素をAとし、その周辺の画素(8つ)をAp1乃至Ap8と表す。そして、いずれかの周辺画素Apの距離データがk−1であれば(S228のY分岐)、画素Aは距離を付与される画素であるとして、距離データkが付与される(S230)。ここで中心画素の有する距離データをA(d)と表わし、周辺の画素の距離データをAp(d)とした。
【0036】
例えば、今距離データ「1」の画素を探している時(k=1の時)、製品パターンに属
するある画素を参照領域の中心(画素A)と定め、画素Aのいずれかの周辺画素に距離「0」の背景パターンに属する画素があれば、その画素Aには距離データ「1」が付与される。また、周辺画素Apに距離データがゼロである画素がなければ(S228のN分岐)、ステップS230を飛ばして、次の製品パターンに属する画素Epdに移動し(S232)、ステップS224に戻る。次の画素に移動するとは、参照領域の中心画素を次の画素に移すということである。以上の処理を繰り返すことで、全ての製品パターンに属する画素Epdに距離データを与えることができる。
【0037】
次に骨格化処理について説明する。骨格化処理は、距離変換処理した画像データに画素削除処理を行い、別途細線化処理した結果を合成処理し、それを剪定処理して基準骨格化パターンを得る処理である。
【0038】
図5を参照して、より詳細に説明する。図5(a)には図3(c)の基準距離パターンを再掲した。画素削除処理は、製品パターンに属する画素Epdに距離データが付与された図5(a)に示す基準距離パターンが入力される。画素削除処理は、製品パターンに属する画素に対して、周囲に自分の有する距離データより大きな距離データを持つ画素が無くなるまで、画素を削除する処理を含む。画素削除処理は実際に画素を削除するのではなく、製品パターンに属する画素Epdから骨格となる画素を抽出する処理である。従って、画素削除処理とは、全ての画素Epdに対して予め骨格情報(B)に1の値を与えておき、この骨格情報をゼロにする処理である。画素削除処理によって得られた結果を画素削除処理画像という。
【0039】
図5(b)は、参照領域の真ん中の画素Aに対して、縦横斜め方向の周辺画素の距離データが画素Aの距離データより大きなものがなくなるまで画素を削除した結果を示す。すなわち、図5(b)は、製品パターンに属する画素Epdのうち、骨格情報(B)が1のものについて、その距離データを、黒四角、黒丸といった記号で示している。例えば、画素111は、距離データが2であり、骨格情報は1である画素である。このように画素削除処理では1つの連結した基準骨格パターンは得られない場合がある。
【0040】
次に、画素削除処理と並行して細線化処理によって線の太さが1となるまで周囲の画素を削除した細線化処理画像を作成する。細線化処理は、階調値に基づいて行われる。従って細線化処理には、基準パターンVsdが入力される。図5(c)は、細線化処理によって画像を生成した結果である。細線化処理によって得られた結果を細線化処理画像という。
【0041】
次に、画素削除処理画像と、細線化処理画像との結果を論理和演算する。これは合成処理である。図5(d)はその結果である。この前記演算処理によって、画素削除処理では骨格線分が分断されていた箇所が細線化処理によって保管された骨格化パターンとすることができる。すなわち、細線化処理画像で残った画素の骨格情報(B)を1にして画素削除処理画像との間で、骨格情報(B)の論理和を取る。
【0042】
そして、この合成処理の結果得られたパターン情報に対して、枝部となる部分を削除する剪定処理を行う。ここで枝部とは、先端を有し、画像データ上で45°の角度で連続する部分である。図5(d)では、113乃至117の部分が枝部にあたる。枝部は、細線化処理によって、パターンの角を線分の始点として処理するため生じる。
【0043】
枝部は、後で行う逆距離変換処理によって、欠陥検査に用いるマスタパターンに好ましくない部分を生成する可能性があり、削除しておく必要がある。また、剪定処理は骨格情報(B)が1の画素に対して行えばよい。図5(e)には、剪定処理を行い枝部が削除された結果得られる基準骨格パターンを示す。図5(b)の画素削除処理画像と比べて画素
112によって1つの連続した骨格パターンが得られたのがわかる。
【0044】
次にフローを用いて、各処理を例示する。図6に、画素削除処理のフローを示す。基準距離パターンが入力され画素削除処理がスタートすると(S250)、画素削除処理の終了判定を行う(S252)。終了判定は、削除すべき画素の有無である。従って、製品パターンに属する画素について判定すれば足りる。削除すべき画素が無くなったら、次の処理(S204)に移る(S264)。そうでなければ、製品パターンに属する画素であって、距離データがmである全ての画素について、検査が終了したかを判定する(S254)。終了していれば、削除する距離データを示すパラメータのmをインクリメントする。mは初期設定で1に設定させておく。
【0045】
製品パターンに属する距離データがmの全ての画素について処理が終了していなければ(S254のN分岐)、参照領域の真ん中の画素の距離データと、周辺画素の距離データの大小を比較する(S258)。周辺画素とは、図4(b)を参照して、真ん中の画素Aに対して周囲8方向にある近接画素(Ap1、Ap2、Ap3、Ap4、Ap5、Ap6、Ap7、Ap8)である。なお、図6では、i番目の周辺画素の距離データを「Api(d)」と表した。
【0046】
そして、周辺画素の距離データのいずれかが参照領域の真ん中の画素の距離データより大きければ(S258のY分岐)、画素Aの骨格情報(B)をゼロにする(S260)。骨格情報(B)がゼロというのは、現在参照領域の真ん中にある画素Aは骨格パターンになり得ないことを表す。そして、次の画素に移り(S262)ステップS254に戻る。
【0047】
この処理を繰り返すことによって、背景パターンに近い画素から骨格情報(B)がゼロになり、最後は図5(b)の情報となる。この処理は画素削除処理に相当する。
【0048】
次に細線化処理(S203)を説明する。細線化処理は、画像の輝度値に基づいて、明るい部分(明部)若しくは暗い部分(暗部)の太さが1画素になるまで明部を暗部になるように輝度値を入れ替える処理である。結果は、太さが1の明るい線、若しくは暗い線からなる画像が得られる。これには、いくつかの方法が提案されている。ここでは、代表的な1方法を説明する。なお、背景パターンbdは、暗い画素(階調値が低い画素)であり、製品パターンpdは明るい画素(階調値が高い画素)から構成されているとして説明する。
【0049】
細線化処理には、画像データに対して8種類の参照領域(これらを「細線化要素」と呼ぶ)を適用させ、個々の画素について削除が可能か否かを判断する。すなわち、以下の細線化要素と同じ領域が画像データ中にあれば、中心画素の輝度値を暗部に置き換える。
【0050】
図7に細線化要素を示す。それぞれをEL1からEL8とする。例えば、EL1は参照領域のAp1、Ap2、Ap3が暗部(Z)であり、Ap6、AP7、Ap8が明部(W)である場合に、中心画素(A)が明部であれば、暗部に変更できる場合を示す。ここで「X」は暗部でも、明部でもよい。ここで暗部に変更すると輝度値に関しては、画素が削除されたように見える。
【0051】
EL1は、画素が横に長く連続して並んでいる場合に、暗部との境界に接する画素を1画素分だけ暗部に変更する。この処理によって画面の横方向に長い部分は画面の上方向から削除される。しかし、参照領域は横に3画素分あるので、画像データが幅2画素以下になったら上方向から画素を削除することはなくなる。
【0052】
EL2は、Ap4とAp7の斜めの部分を残して角にあたる中心画素(A)を暗部に変
更する処理である。EL3乃至EL8は、EL1とEL2の方向違いである。従って、EL1、EL3、EL5、EL7によって、画像データは、上、右、下、左方向から削除されてゆく。ただし、EL1とEL5は、画素の横方向の画素数が2以下になったら適用されない。また、EL3とEL7は、縦方向の画素が2以下になったら適用されない。また、EL2、EL4、EL6、EL8によって斜め方向の画素の繋がりは残る。
【0053】
以上の処理を輝度値の置き換えがなくなるまで続けることにより、画像データを太さが1になる細線化処理を実行することができる。図5(c)はこの処理の結果である。
【0054】
図8および図9に、この処理のフローを示す。細線化処理(S203)がスタートする(S400)と、変数の初期化を行う(S402)。変数としては、「flag」と「EL」の2つを用いる。「flag」は、階調値の置き換えの有無を判断するためのフラグであり、この値がゼロであれば全ての画素について階調値の置き換えはなかったとして処理を終了する。初期値はゼロである。「EL」は、図7で説明した細線化要素を表す。例えばEL=1とはEL1を表すものとする。初期値は「1」である。
【0055】
なお、画像データの修正およびその更新ように「in」と「out」という2種類の画像データを用意する。これらの画像データは、基準パターンVsdの階調値と座標でよい。また、初期化の際はinとoutは同じでよい。
【0056】
次にEL=9か否かを判断する(S404)。これは8種類の細線化要素を画像データに適用したか否かを知るためである。適用すべき細線化要素がまだ残っている場合(S404のN分岐)は、階調値の置き換え処理Cを行う(S406)。ステップS406の詳細は図9で説明する。
【0057】
そしてELをインクリメントし(S408)、ELが9か否かの判断(S404)へ戻る。この処理を行うことで、全ての画素に対して、8つの細線化要素が順次適用され、処理Cによって階調値の置き換えが行われる。ステップS404でEL=9となったら、8つの細線化要素はすべて適用されたとして、終了判断を行う(S410)。
【0058】
終了判断はflagがゼロか否かを判断することによって行う。終了ならば(S410のY分岐)、細線化画像を作製し(S412)、図2で説明したメインルーチンの合成処理(S204)に戻る(S414)。そうでないなら(S410のN分岐)、変数の初期化(S402)に戻る。なお、細線化画像は、細線化処理で得られた明部の画素と同じ座標を基準距離パターンから抽出した画像データである。すなわち、細線化処理によって得られた明部の画素と同じ座標を有する画素を基準距離パターンから抽出し、その骨格情報(B)を1としたものである。この処理によって図5(c)の画像データを得られることができる。
【0059】
次に図9を参照して処理Cについて説明する。処理Cでは、現在設定されている8つの細線化要素の1つと同じ画素の位置関係を探し出し、適用する。そのため、まず画像データの先頭に参照領域の中心を設定する(S420)。そして、参照画素のなかのそれぞれの画素で現在指定されている細線化要素と画素関係が見つかるまで順次画素を調べる。そして、参照画素の中心画素の階調値が、暗部の階調値の最大値(MAX(Z))より大きく、明部の最小値(MIN(W))より小さいか否かを判断する(S422)。すなわち、現在適用されている細線化要素に適合する領域を見つけ、その参照領域の中心画素が明部であるか否かを判断する。
【0060】
細線化要素であって、しかも参照領域の中心画素が明部(W)である場合は、その画素を暗部の階調値の最大値に変換する。すなわち、暗部とする。そして、flagを1とす
る。画素の階調値の置き換えを行ったからである。
【0061】
最終画素か否かを判断し(S428)、最終画素でなければ次の画素に移り(S432)、画素値の判断(S422)に戻る。最終画素まで終了したら画像データinの内容を画像データoutに置き換える。階調値の置き換えは、画像データout上で行われているからである。そして、処理C(S406)に戻る。この結果階調値による細線化処理結果として図5(c)を得ることができる。
【0062】
次に合成処理について説明する。図5(b)の画素削除処理結果と図5(c)の細線化画像について、骨格情報(B)について論理和をとる。従って、図5(b)と図5(c)で骨格情報が1のものだけを抜き出し、その距離(d)を黒丸、黒四角といった距離データの印で示したものが図5(d)である。
【0063】
次に、合成処理の結果の画像データに対して剪定処理を行う。図10のフローを参照する。初めに剪定処理の終了判定を行う(S272)。ここでの終了判定は、枝部として剪定(削除)する画素の有無である。より具体的には、距離データを示すパラメータを「l」(エル)とし、基準パターンの画素のうち、距離データの最大値をlmaxとした時に、骨格情報(B)がゼロでなく、かつ距離データがl=1からl=lmax−1をもつ画素Epdについて、削除できる画素の有無を判定する。
【0064】
そして、この剪定処理の終了判定が、骨格化処理の終了判定ともなる。削除する画素がなくなったら骨格化処理は終了する。そうでなければ、製品パターンに属する画素のうち、所定の画素について、処理が終了したかを判定する(S274)。より具体的には、画素Epdのうち、骨格情報(B)が1であり、かつ距離データ(d)がlである画素について処理が終了したか否かを判定する。終了していれば、削除する距離を示すパラメータのlをインクリメントする。なお、パラメータlは初期値として1を与えておく。
【0065】
上記のような所定の画素Epdについて検査が終了していなければ(S274のN分岐)、参照領域の真ん中の画素に対して、まず、参照領域の真ん中の画素以外の周辺画素Ap1乃至Ap8に骨格情報(B)が1の画素が何個あるかを確認し、1個の場合のみ、真ん中の画素の距離データとAp1、Ap3、Ap6、Ap8の距離データの大小を比較する(S278)。Ap1、Ap3、Ap6、Ap8は、図4(b)を参照して、参照領域の真ん中の画素Aに対して斜めの関係にある画素である。
【0066】
なお、参照領域の真ん中の画素以外の周辺画素Ap1乃至Ap8で骨格情報(B)が1の画素の数を「SApi(B)」とした。また、Ap1、Ap3、Ap6、Ap8の距離データを「Apo(d)」とし、Ap2、Ap4、Ap5、Ap7の骨格情報(B)を「Ape(B)」とした。
【0067】
ここで、Ap1、Ap3、Ap6、Ap8の距離データのいずれかが参照領域の真ん中の画素Aの距離データより大きく、Ap2、Ap4、Ap5、Ap7の骨格情報(B)がゼロであれば(S278のY分岐)、真ん中の画素の骨格情報(B)をゼロにする(S280)。現在の距離データがl(エル)であり、周辺画素に骨格情報(B)が1のものがひとつしかなく、かつその画素が画素Aに対して斜め方向にしか存在せず、かつ距離データが画素Aよりも大きな場合、その画素は枝部であると判断できるからである。そして、次の画素に移りステップS274に戻る(S282)。
【0068】
この処理を繰り返すことによって、画素削除処理の結果と細線化処理の結果が合成されたパターン中の枝部が全て削除され、最後は図5(e)のパターンとなる。図10の処理は剪定処理に相当する。このように、製品パターンの骨格を示すパターンであって、枝部
のないパターンを基準骨格パターンtdと呼ぶ。また、基準骨格パターンに属する画素であって骨格情報(B)が1の画素を骨格画素Tpdで表す。例えば、骨格画素Tpdは図5(e)の黒丸、黒三角、バツ印の画素である。本実施例では、基準距離パターンに対して画素削除処理と剪定処理を行い、基準骨格パターンを求めたが、基準骨格パターンの求め方はこれに限定されるものではない。
【0069】
次に逆距離変換処理(図2のS206)について説明する。図11(a)には、図5(e)を再掲する。逆距離変換処理は図11(a)の基準骨格パターンが入力される。逆距離変換処理とは、骨格画素Tpdが有する距離データに、所定の倍率を乗算した距離に相当する画素を骨格画素の周辺に付与し、マスタパターンを生成する処理である。例えば、骨格画素が距離データdを有している場合に、収縮マスタパターンは基準パターンを0.8倍したものを求めるとすると、その骨格画素から0.8dの距離にある画素を全て収縮マスタパターンの画素とする。
【0070】
図11(b)を参照して、より詳細に逆距離変換処理を説明する。図11(a)の画素120は骨格画素Tpdの1つである。そして、この画素120の距離データdは4であった。倍率を0.8とすると、この画素120から4×0.8=3画素分が収縮マスタパターンの範囲である。なお、画素は整数でなければならないので、小数点以下を四捨五入した。
【0071】
そこで、この画素120を中心として縦横3画素ずつ計5×5=25画素の範囲124の画素がマスタパターンとなる。同様に画素121の距離データは3であり、画素122の距離データは2であったので、収縮マスタパターンに含まれる画素は、それぞれの画素を中心に9画素分(125)と、9画素分(126)である。
【0072】
全ての基準骨格パターンに属する画素Tpdに対してこの処理を行い、マスタパターンに含まれるとされた画素のマスタパターン情報mpを1にする。mp=1の画素をマスタパターン画素という。また、含まれないとされた画素はマスタパターン情報mpをゼロとする。また、マスタパターン情報を用いなくとも、画素値を変更してもよい。例えば、マスタパターンの画素には画素値Iの最大値であるImaxを付与し、それ以外の画素には画素値Iの最小値I0を付与する。このようにすると、2値画像としてマスタパターンを得ることができる。
【0073】
図11(c)は全ての基準骨格パターンに属する画素に対してこの処理を行い、収縮マスタパターン127を得た結果を示す。画素120があった部分128は、背景パターンから1画素分がマスタパターンに含まれていないが、画素122があった幅の狭い部分129では、製品パターンが全て残った。このように本発明のマスタパターン作製では、製品パターンの全ての部分について一律に同じ数の画素が削除されたり膨張されたりすることがない。言い換えると、収縮・膨張されるかどうかは、製品パターンの中でその画素が存在する位置関係に依存する。
【0074】
図12には逆距離変換処理のフローを示す。逆距離変換処理には、基準骨格パターンが入力される。まず、終了判定(S292)を行うのは、これまでの処理と同じである。ここで終了判定は、全ての基準骨格パターンに属する画素Tpdに対して逆距離変換できたか否かということである。逆距離変換できたら(S292のY分岐)、後処理(S300)に移る。
【0075】
そうでない場合(S292のN分岐)は、画素Tpd(参照領域の中心にいるので画素Aとも呼ぶ)の距離データdに倍率αを乗算した結果をzとして求め(S294)、画素Aを中心として距離zに含まれる画素(Apz)のマスタパターン情報mpを1にする(
S296)。なお、mpは初期値ゼロを与えておく。
【0076】
またApzの画素値Iに所定の値を入れる処理を追加してもよい(S296)。所定の値は、例えば画素値の最大値であるImaxの値である。ここで、画素Aを中心とした距離zの範囲にある周辺画素をApzで表し、そのマスタパターン情報をApz(mp)とし、画素値をApz(I)と表した。
【0077】
次の基準骨格化パターンに属する画素に移り(S298)、再び終了判定(S292)から繰り返す。全ての基準骨格パターンの画素Tpdについて処理を終えたら(S292のY分岐)、製品パターンに属する画素Epdであって、Imaxに値を変換されなかった画素の画素値を背景パターンの画素と同じ値(例えばI0)にする。この処理はマスタパターンを2値化画像データとして取得する場合に必要な処理である。2値化画像データとしてマスタパターンを作成しない場合はなくてもよい。そして終了する(S302)。
【0078】
以上の操作によって基準パターンのどの部分も一様にα倍されたマスタパターンを得ることができる。なお、ここでαを1.0より大きな値に設定すれば、基準パターンを膨張したマスタパターンを得ることができ、1.0より小さな値に設定すれば、基準パターンが収縮されたマスタパターンを得ることができる。また、複数のマスタパターンを得たい場合は、ステップS290からS302を倍数αを変えながら所定回数行ってもよい。
【0079】
以上のようにマスタパターン作製部10は、入力された基準パターンに基づいてマスタパターンMPを作製する。なお2値化された膨張・収縮マスタパターンは、膨張マスタパターンBcdx及び収縮マスタパターンBcdsとする。すなわち、Bcdx、BcdsはマスタパターンMPの形態の1つである。これらのマスタパターンは記憶部80に記憶される。
【0080】
次に図1および図13のフローを参照して、本発明のマスタパターンを用いたパターン検査方法について説明する。膨張マスタパターンおよび収縮マスタパターンは上記の説明に基づいて予め記憶部80に記録されているものとする。検査が開始されると(S1000)、終了判定を行う(S1002)。ここで終了判定は検査対象となる被検査物の有無である。もちろん、被検査物があっても、割り込み処理によって終了させてよい。終了であれば(S1002のY分岐)、検査を終了する(S1016)。
【0081】
被検査物が投入されると画像撮影部20が被検査物を撮影し画像データVdを取得する(S1004)。この画像データVdは、2値化部30にて2値画像データBcdに変換される(S1006)。マスタパターンとの比較を容易にするためである。なお、画像データは2値化される前に、所定の大きさに拡大または縮小といった補間処理が行われてもよい。
【0082】
2値画像データBcdは、位置合わせ部50で、記憶部80から送られたマスタパターンMPと位置合わせを行う(S1008)。2つの画像を比較するためである。位置合わせが行われた2つの画像は、演算部60にて対応する画素毎に演算され、マスタパターンとの大小比較が行われる(S1010)。
【0083】
より具体的には、被検査物の2値画像データBcdに属する画素の画像データから膨張マスタパターンBcdxに属する対応画素の画素値を引き算し、正となった場合の個数Cdxと、収縮マスタパターンBcdsから被検査物の2値画像データBcdを引き算し、正となった場合の個数Cdsを求める。
【0084】
被検査物の画像データの中の画素のうち、膨張マスタパターンの画素より画素値の値が
大きいということは、被検査物は、定められた基準以上に太った部分が存在することを意味する。すなわち、突起欠陥のおそれがある。また、収縮マスタパターンの方が被検査物の2値化画像データより画素値が大きいということは、被検査物には非常に細い部分が存在することを意味する。すなわち、欠け欠陥のおそれがある。
【0085】
判定部70は、演算部60で求めた膨張マスタパターンよりはみ出た画素の数Cdxと、収縮マスタパターンより細い画素の数Cdsを、予め与えられた閾値ThxおよびThsと比較し、容認できるか否かを判断する(S1012)。ここで閾値Thxは膨張閾値とよび、閾値Thsは収縮閾値と呼ぶ。
【0086】
つまり、CdxがThxより大きいということは、容認できないほど太った部分が被検査物のパターンに存在する。従って突起欠陥と判定する。同様に、CdsがThsより大きいということは、容認できないほど細い部分が被検査物のパターンに存在することを意味する。従って欠け欠陥と判定する。
【0087】
さらに判定部は、これらの結果Conを出力する(S1014)。出力の結果Conは、被検査物に対する欠陥が容認できる、又はできないといった判断だけであってもよいし、マスタパターンからの差であるCdx、Cdsの数を直接示しても良い。また、出力の結果Conは、ディスプレイ装置などに表示してもよいし、そのまま記録するまたは他の機器に送信する等してもよい。図1の符号88は結果Conの出力先を示す。
【0088】
図14,15を参照して、パターン検査のより具体的な例を示す。図14を参照して、すでに説明したように、基準パターンVsdから基準骨格パターンtdが生成されている。基準骨格パターンtdから、マスタパターン作製部10によって、収縮マスタパターンBcdsが生成される。今被検査物から画像データVcd1が得られたとする。この被検査物は製品パターン中に一箇所の断線131があるものとする。なお、Vsdでは、製品パターンpdの領域を、基準骨格パターンtdでは骨格情報B=1の領域を、Bcdsではマスタパターン情報mp=1であって画素値がImaxの領域をそれぞれ白で表した。
【0089】
演算部60にて、収縮マスタパターンBcdsに属する画素の画素値から、対応する画像データVcd1の画素の画素値を引くと、画像データ130が得られる。この画像データ130の中にI0以上の画素値を有する画素があった場合は、欠け欠陥であると判断できる。収縮マスタパターンよりも細い部分があるからである。図14では領域132が該当する。
【0090】
次に図15を参照する。マスタパターンは膨張マスタパターンBcdxである。ここに被検査物から画像データVd2が得られたとする。この被検査物は、製品パターン中にはみ出た部分133があるとする。膨張マスタパターンに属する画素の画素値から、対応する画像データVd2の画素の画素値を引くと、画像データ134が得られる。この画像データ134の中にI0以上の画素値を有する画素があった場合は、はみ出し欠陥であると判断できる。膨張マスタパターンよりも太い部分があるからである。図15では領域135である。なお、図15で白の領域で表したのは図14に従う。ただし、BcdsをBcdxに置き換える。
【0091】
以上のように、本発明のマスタパターンMPを用いることで、被検査物のパターン検査を行うことができる。特に製品パターン中に太さの違いの比率が大きい箇所を含む場合に本発明によるマスタパターンMPを用いることは有用である。
【0092】
(実施の形態2)
実施の形態1では、製品パターンの画素のうち、マスタパターンMPとなるべき画素に
は、マスタパターン情報mpを1にしたうえに、画素値の最大値Imaxを与え、マスタパターンとならない製品パターンの画素には画素値の最小値I0を与えた(図12のフロー参照)。これはマスタパターンを2値化画像データとして求めたことを意味する。
【0093】
従って、マスタパターンと被検査物の画像データVdとの差は画素の個数として求められ(CdxやCds)、欠陥の程度を定量的に判断することはできない。例えば、膨張マスタパターンよりはみ出た部分Cdxが膨張閾値Thxより少なく、判定部の判断は容認できるという判断であったとしても、基準パターンとほぼ同様程度の出来であったのか、基準パターンより太った部分が数多くあり、膨張閾値Thxをわずかに超えていなかったために容認されたのかという、程度の判断を行うことはできない。
【0094】
そこで、本実施の形態では、より定量的に基準パターンとの違いを評価できる実施態様について説明する。
【0095】
本実施の形態では、マスタパターンを作製する際に、マスタパターンMPに属する画素には基準骨格パターンからの距離に相当する画素値を与える。
【0096】
図16を参照してより詳細に説明する。基準骨格パターンに対して倍率αを変えながら、逆距離変換処理を行い、マスタパターン150、151、152、153を作製する。例えば、マスタパターン150はαをゼロ、151はαを0.5、152は1.0、153は1.3などである。明らかにマスタパターン150は基準骨格パターンであり、マスタパターン151は、収縮マスタパターンであり、マスタパターン152は基準パターンであり、マスタパターン153は膨張マスタパターンである。そして、それぞれのマスタパターンに属する画素には、基準骨格パターンからの距離に相当する画素値を与える。
【0097】
例えば、マスタパターン150に属する画素にはImax、マスタパターン151には0.8*Imax、マスタパターン152には0.5*Imax、マスタパターン152には0.3*Imaxなどである。そして、これらの画素データのマスタパターン情報mpが1の画素を倍率の大きいものから順に上書きする。なお、マスタパターン情報mpが1の画素をマスタパターン画素と呼ぶ。ここで、上書きとは、すでに画素値を有している画素に対して、新たな画素値で置き換えることをいう。図14では、符号155、156、157、158の順に上書きする。
【0098】
結果、合成されたマスタパターン160は、背景パターン161と、画素値0.3*Imaxの領域162と、画素値0.5*Imaxの領域163と、画素値0.8*Imaxの領域164と、画素値Imaxの領域165を有する。このマスタパターン160をマルチマスタパターンと呼ぶ。
【0099】
このマルチマスタパターンは、判定部が行う容認の可否だけでなく、どの程度基準パターンと違いがあるかという情報も取得できる。
【0100】
図17を参照して、より具体的に説明する。画像データ130は被検査物に切断131があったものの画像データであった(図14より)。また、画像データ134は被検査物にはみ出し135があったものの画像データであった(図15より)。
【0101】
これらの画像データとマルチマスタパターン160を比較すると、切断の部分は領域171で、はみ出しの部分は領域173に対応する。すると、この領域に属する画素の画素値と、数を調べることで、どの程度基準パターンと相違があるのかを示すことができる。具体的には、マスタパターンとの差異として求められた領域171および173について、総画素数、画素値毎の画素数を表示させるなどである。これらは、図13の判定処理(
S1012)に含めてもよい。
【0102】
図18にマルチマスタパターンを作製するフローを示す。マスタパターン作製部10が処理を行うものとして説明する。マルチマスタパターンの作製は図2で示すマスタパターン作製部10の処理のうち、骨格化処理S204までは全く同じ処理でよい。マルチマスタパターンを作製するには、逆距離変換処理を図16で示すステップS310からのフローに変更すればよい。
【0103】
図18のフローを行う際の前提として、上書きするマスタパターンの数と、それぞれのマスタパターンの倍率αと、それぞれの倍率α毎の画素値Iが決まっているものとする。ここでは、倍率αが大きくなるほど、画素値Iが小さくなるものとし、これをI(α)と表し、説明を続ける。まず、逆距離変換処理S310がスタートすると(S310)、初期設定を行う(S322)。初期設定は、倍率αをαの最大値であるαmaxにし、かつマルチマスタパターンMMPを基準パターンVsdにする。なお、マルチマスタパターンは順次上書きされていくので、何に決めても構わない。
【0104】
次に終了判定を行う(S324)。ここでの終了判定は、所定の数の回数のマスタパターンが上書きされたか否かである。倍率αが最小値になったか否かで判断してもよい。所定の数のマスタパターンが上書きされたら(S324のY分岐)処理をメインに返す(S338)。
【0105】
そうでなければ(S324のN分岐)、全ての基準骨格パターンの画素Tpdについて処理が行われたか否かを判断する(S326)。行われなかった場合は(S326のN分岐)、画素Tpd(参照領域の中心にいるので画素Aと呼ぶ)の距離データdに倍率αを乗算した結果をzとして求め(S328)、画素Aを中心として距離zに含まれる画素(Apz)のマスタパターン情報mpを1にする。なお、mpは初期値ゼロを与えておく。
【0106】
また、画素Apzの画素値には、倍率によって予め決めておいた画素値I(α)を代入する。そして、次の画素に移り(S332)、ステップS326を繰り返す。この処理の繰り返しによって倍率αのマスタパターンMP(α)が完成する。
【0107】
全ての基準骨格パターンの画素Tpdについて、以上の処理が終了したら、マルチマスタパターンMMPにマルチパターンMP(α)を上書きする。上書きとはマスタパターン画素を残し、特に後から書き込むマスタパターン画素を優先して残す処理である。
【0108】
より具体的に説明すると、MMPの画素xに対応するMP(α)の画素yを上書きする際に、以下のルールに従う。すなわち、画素xと画素yのマスタパターン情報mpの値を比較し、ともにゼロであったら、画素xと画素yのいずれかの画素値を採用する。画素xのmpがゼロで画素yのmpが1であった場合は画素yの画素値を採用する。画素xのmpが1で画素yのmpがゼロであった場合は、何もしない。画素xのMPも画素yのmpも共に1であった場合は、画素yを採用する。
【0109】
そして、倍率αを次の倍率にしてステップS324に戻る。以上の処理フローを行うことで倍率のαの大きいマスタパターンから順次上書きされたマルチマスタパターンを作製することができる。マルチマスタパターンと被検査物の画像データの比較は、図1の演算部10で行われ、判定部による結果Conに含めることが出来る。
【0110】
(実施の形態3)
本発明の検査方法では、被検査物のパターンの幅に応じたマスタパターンを作製している。そこで、本発明の検査方法が正しく機能しているか否かを確認するための方法があれ
ば便利である。ここでは、本発明の検査方法の検証のためのテストパターンについて説明する。
【0111】
図19は本発明の検査方法に対するテストパターンを示す。このテストパターンには太い部分180と細い部分182がカメラ20の同じ視野内に含まれるように構成される。そして、太い部分および細い部分に同程度の大きさの欠陥を形成する。図19では、太い部分180での突起184と欠け186および細い部分182での欠け188と突起190がこれにあたる。太い部分180と細い部分182の比率は100:20乃至100:50が望ましい。本発明の検査方法は同一視野内にこの範囲の太さの違いがあるパターンの検査に適しているからである。
【0112】
太い部分180にはこの線幅192に対する欠陥184および186がある。ここでは欠陥の大きさより線幅の方が十分太いので、これらの欠陥は容認される欠陥である。しかし、細い部分182での欠陥188および190は、同じ大きさの欠陥であっても、線幅193に対しては十分に大きな欠陥であるので、容認できない欠陥である。これら欠陥の大きさは、線幅に対してどれくらいの大きさまで許容できるかによって変えることができる。このようなテストパターンを入力し、これらの欠陥を容認、若しくは欠陥検出ができるか否かで本発明の検査方法が正しく行われているか否かの検証が可能である。
【0113】
図20は、このテストパターンに対する基準パターンである。このパターンには欠陥はない。この基準パターンに基づいて膨張および収縮マスタパターンが作製される。
【0114】
図21はテストパターンと基準パターンから得た容認できない突起部分194の出力例であり、図22は容認できない欠陥部分196の出力例である。これらは図20の基準パターンから作製された膨張および収縮マスタパターンとテストパターンの比較によって得られたものである。すなわち、図19の欠陥188および突起190を膨張および収縮マスタパターンで検出したものである。つまり、テストパターンを本発明の検査装置に入力し、図21、22の結果をえることができれば、検査装置は正常に動作していることが検証できる。
【0115】
図23および図24に、膨張マスタパターンおよび縮小マスタパターンをそれぞれ示す。これらは、基準パターンの太い部分および細い部分に対して30%の増減で作製されたものである。これらのマスタパターンはパターンの線幅に対する所定比率で膨張・縮小処理を行っているため、基準パターンとの太さの違いは一定ではない。しかし、比率は一定である。
【0116】
なお、テストパターンに形成する欠陥は、場所によって検出できる境界の大きさの欠陥を形成してもよい。例えば、パターン全体に対する欠陥検出の閾値をパターンの場所毎のs%であるとすると、太い部分および細い部分にそれぞれs%を超えない欠陥とs%を超える欠陥の少なくとも何れかを形成してもよい。このようにすることで、意図した通りの検査が行われているか否かがすぐに確認することができる。
【0117】
具体的には、太い部分が80ピクセル、細い部分が20ピクセルであり、突起や凹みの検査の閾値を30%とすると、太い部分は24ピクセルが検出の境界線となる。従って、太い部分に23ピクセルに相当する大きさ以下の人工欠陥と、24ピクセルに相当する大きさ以上の人工欠陥を形成しておく。なお閾値が30%であるなら、細い部分に対しては、7ピクセル以下の欠陥は容認される。これらの欠陥はそれぞれ容認および容認されない欠陥として検出されれば、本発明の欠陥検査方法が正しく行われていると判断することができる。
【0118】
図25には太い部分180に対して24ピクセル以上の突起200と欠け202と、細い部分182に対して7ピクセル以下の突起206と欠け204を加えたテストパターンである。以上のようにテストパターン中に閾値より大きな欠陥および小さな欠陥を含ませておけば、本発明の検査方法および検査装置の動作の妥当性をより正確に検証することが可能になる。
【産業上の利用可能性】
【0119】
本発明は回路パターンの自動欠陥検査に好適に利用することができる。
【図面の簡単な説明】
【0120】
【図1】本発明のパターン検査装置の構成を示す図である。
【図2】マスタパターン作製部のフローを示す図である。
【図3】基準パターンに距離データを付与する処理を説明する図である。
【図4】距離変換処理のフローを示す図である。
【図5】基準骨格パターンを作製する処理を説明する図である。
【図6】骨格化処理のうちが祖削除処理のフローを説明する図である。
【図7】細線化処理に用いる細線化要素を示す図である。
【図8】細線化処理のフローを示す図である。
【図9】細線化処理のフローのうち、処理Cのフローを示す図である。
【図10】剪定処理のフローを示す図である。
【図11】逆距離変換処理を説明する図である。
【図12】逆距離変換処理のフローを示す図である。
【図13】検査方法のフローを示す図である。
【図14】収縮マスタパターンによって欠け欠陥を検出する処理を説明する図である。
【図15】膨張マスタパターンによって突起欠陥を検出する処理を説明する図である。
【図16】マルチマスタパターンの構成を説明する図である。
【図17】マルチマスタパターンを用いて欠けと突起を検出する処理を説明する図である。
【図18】マルチマスタパターンを作製する際の逆距離変換処理のフローを示す図である。
【図19】検査用のテストパターンを例示する図である。
【図20】テストパターン用の基準画像を例示する図である。
【図21】容認できない突起を検出した例を示す図である。
【図22】容認できる突起を検出した例を示す図である。
【図23】線幅を30%増加させたマスタパターンを例示する図である。
【図24】線幅を30%減少させたマスタパターンを例示する図である。
【図25】線幅に応じた欠けと突起を付加した検査用のテストパターンを例示する図である。
【符号の説明】
【0121】
1 パターン検査装置
10 マスタパターン作製部
20 画像撮影部
30 2値化部
50 位置あわせ部
60 演算部
70 判定部
80 記憶部
85 制御装置
【技術分野】
【0001】
本発明は、プリント基板回路パターン、LSI回路パターンの欠陥を画像処理により自動的に検査する回路パターンの検査方法に関する。
【背景技術】
【0002】
絶縁部材の上に導線のパターンを形成した回路パターンは、携帯電話といった電子機器の一般への普及と共に、急速に需要が高まっている。回路パターンは、それを用いる電子機器の性能や耐久性に影響を及ぼすため、電気的に設計通り結線されていることはもちろん、所定の寸法精度が要求される。
【0003】
そこで、回路パターンは作製後に全数検査し、所定のスペックを満足していることが確認される。ところで、回路パターンは、その種類も数も膨大になってきているため、できるだけ短時間に検査を終わらせる必要がある。
【0004】
従来この検査には、いくつかの方法が提案されている。線幅サブピクセル計測法と呼ばれる方法は、線幅を一定長毎に測定してゆき、前後数計測点からその間の線幅を決定し、基準幅に対しての良否を判断する方法である。この方法は、パターンピッチの1/10程度の分解能で検査が可能である。
【0005】
また、画像比較法は、2値化後の撮像データと良品データとの差分画像を求め、ある面積以上の差異部分を欠陥として求める方法である。この方法は、データを2値化しているため、計算速度は早くできる。
【0006】
一方、欠陥の判定方法として、従来提案されている方法は、1/3ルールと呼ばれるものである。このルールは回路パターンの導線であるリード部分の太さが、基準となる太さの1/3より太ければリードに突起があると判定し、基準となる太さの1/3より細ければ断線のおそれがあると判定するものである。
【0007】
特に特許文献1に開示されているのは、画像比較法を用いた方法で、基準となるパターンの部分が4/3倍になっている標準画像と、2/3倍になっている標準画像を用意し、それぞれの基準画像を検査対象となる回路パターンの画像と比較する。
【特許文献1】特開昭63−19541号公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
標準画像と検査対象となる画像を比較する画像比較法は、簡便に回路パターンの欠陥を見るけることができ、有用である。この方法での欠陥抽出の精度は、基準パターンに対して拡大又は縮小させた標準画像の作成方法に依存する。
【0009】
特許文献1には、拡大・縮小の方法として、隣接する画素との論理和を取ることで基準パターンの拡大又は縮小パターンを作成する方法が開示されている。この方法は全画素に対して同じだけの画素数を増加又は減少をするため、基準パターンがほぼ同じ幅のパターンから構成されている場合は問題なく標準画像を作成することができる。しかし、線幅が大きく異なるパターンが混在したパターンでは、次の問題が発生する。
【0010】
すなわち、太い線幅のパターンに合わせて縮小すると、細い線のパターンは消滅してしまい、細い線幅のパターンに合わせて拡大すると太い線のパターンは所定量だけ拡大しき
れない。言い換えると、線幅に応じた拡大・縮小した標準画像を作成することが困難になるという課題があった。
【課題を解決するための手段】
【0011】
本発明のパターン検査方法および装置は、上記の課題を解決すべく想到されたものである。すなわち、本発明では、基準パターンからパターンの骨格部分を抽出し、その骨格から所定倍数された距離分だけ画素を付け加えたマスタパターンを作成する。そしてこのマスタパターンと検査対象物の画像を比較し、欠陥を検出する。
【発明の効果】
【0012】
本発明は、基準パターンの骨格部分から所定倍率された距離の間にある画素をマスタパターンとするので、太い部分と細い部分が混在しているパターンであっても、同じ倍率で各部を膨張・収縮させたマスタパターンを得ることができる。従って、より多様な線幅のパターンの組み合わせが1つの基板に描かれた製品の欠陥検査を行うことが出来る。
【発明を実施するための最良の形態】
【0013】
以下本発明の実施形態について説明するが、本発明はこれらの実施形態に限定されることはなく、本発明の趣旨の範囲内で修正、変更することができる。
【0014】
(実施の形態1)
図1に本発明のパターン検査装置1の構成図を示す。本発明のパターン検査装置は、被検査物90の回路パターンを撮影する画像撮影部20と、撮影された画像を2値化する2値化部30と、基準となる画像(これを「マスタパターンMP」と呼ぶ)と検査対象画像の位置を合わせる位置合わせ部50、位置を合わせた画像同士の画素同士を論理演算する演算部60、演算結果を判定する判定部70を含む。また、マスタパターンを記憶しておく記憶部80と、マスタパターンを作製するマスタパターン作製部10をも含む。
【0015】
画像撮影部20は、少なくともカメラ21と照明22を有する。カメラ21は被検査物90のパターンの画像を画像データVdに変換し出力する。従って、CCDなどの光電子変換素子を用いたものが好ましい。CCDは画素が2次元に配列されたものであっても、ラインセンサなどのように1次元に配列されたものであってもよい。また、被検査物90を上方から撮影するため、テレセントリックスタイプのレンズを搭載したものがより好ましい。なお、通常の可視光の波長を用いるだけでなく、近赤外や紫外波長帯の光を検出するようにしてもよい。
【0016】
画像データVdは、光電子変換素子によって電気信号に変換された画素情報の集合である。具体的には、CCDの1画素が受光した光を8ビット若しくは10ビットの階調に変換された値(階調値)と画素の位置(座標など)のセットが1画像分集まったものである。1例を挙げると、CCDの有効画素数が500万画素あり、1画素あたり10ビットの階調値に変換される場合は、1画像分の画像データVdは、階調値だけで5000万ビット(50Mbit)になる。
【0017】
照明22は、被検査物90の撮影の際に光を当てて、コントラストを得るためのものである。特に制限されるものではなく、リング形状の蛍光灯やLED、光ファイバライトガイドなどを好適に用いることができる。
【0018】
また、被検査物90を上方から照らすだけでなく、被検査物90の下方から照らして、透過光をカメラ21で撮影してもよい。
【0019】
2値化部30以降は、画像データVdに対する画像処理を行う。それぞれの構成要素は
専用のハードウェアを作製することもできる。しかし、変更が容易である点と現在のコンピュータの処理速度は十分に速いことを考えると、コンピュータによるソフトウェア的な処理が主となる。
【0020】
従って、2値化部30、位置合わせ部50、演算部60、判定部70、マスタパターン作製部10は、コンピュータとソフトウェアで実行されことを表すため、制御装置85の要素として説明を進める。これらの要素はソフトウェアとコンピュータで実行可能である。
【0021】
なお、記憶部80は、制御装置85に含まれるように図示した。具体的には、半導体メモリが好適に用いられるからである。しかし、制御装置85の外側に設置されたハードディスクなどの2次記憶媒体が含まれていても良い。
【0022】
ここで、パターンについて説明を行う。パターンはポリイミドなどの基板上に回路又は回路の一部が形成された製品から得た画像データである。製品には導電体などでパターンが形成された部分と形成されていない部分があり、パターンが形成された部分の画像データを製品パターンpd、そうでない部分の画像データを背景パターンbdと呼ぶ。すなわち、図1の画像撮影部20で撮影した画像データVdは、パターンであり、パターンは製品パターンpdと背景パターンbdからなる。パターンは、画素を有し、それぞれの画素は階調値と座標を有する。製品パターンの画素をEpd、背景パターンの画素はEbdとする。
【0023】
基準パターンVsdは、各種の検査をパスした製品や設計時のCADデータ(これらをまとめて「基準製品」と呼ぶ。)から得た画像データである。
【0024】
基準パターンVsdは、さらに個々の画素に対して、座標(x、y)、パターン区別情報(Ev)、画素値(I)、境界からの距離(d)、骨格情報(B)といった情報を有している。また、マスタパターンを構成する画素となるか否かを表すマスタパターン情報(mp)を有していても良い。
【0025】
座標は、画像データの中でその画素の位置を表す情報である。画素値(I)とは、その画素の輝度を示す階調値である。パターン区別情報(Ev)は、その画素が製品パターンの画素か、背景パターンの画素かを示す情報である。なお、製品パターンと背景パターンの境を単に「境界」ともいう。
【0026】
画素値は、階調値である。境界からの距離(d)は、製品パターンpdに属する画素であって、最も近い背景パターンbdからの距離を画素数で示す。なお、距離(d)は距離データ(d)と呼んでもよい。骨格情報(B)は、製品パターンpdに属する画素であって、後述する骨格化処理の結果、骨格となったか否かを示す情報である。また、マスタパターン情報(mp)とは、後述する逆距離変換処理の結果マスタパターンの画素となるか否かを示す情報である。
【0027】
なお、基準パターンには、最初は座標とパターン区別情報と画素値があれば足りる。その他のパラメータはマスタパターン作製部で作製されるからである。
【0028】
これらは、並べて表示してもよく、具体的にはある画素に対して(x,y,Ev,I,d,B,mp)と記載してもよい。
【0029】
図2には、マスタパターン作製部10の処理フローを示す。基準パターンVsdが入力されると、距離変換処理(S201)、画素削除処理(S202)、細線化処理(S20
3)、合成処理(S204)、剪定処理(S205)、逆距離変換処理(S206)によって基準パターンが加工され、その結果マスタパターンが出力される(S208)。画素削除処理、細線化処理、合成処理、剪定処理をまとめて、骨格化処理と呼ぶ。基準パターンを収縮して得たマスタパターンを収縮マスタパターン、膨張させて得たマスタパターンを膨張マスタパターンと呼ぶ。以下各処理について説明する。なお、図2のフローは、最後にメインルーチンに戻る処理(S210)をつけ、メインルーチンの処理に対するサブルーチンとして示したが、独立した処理であってもよい。
【0030】
図3を参照して距離変換処理(図2のS201)についてより詳細に説明する。図3(a)は、1つの画像データ中に製品パターンpdと背景パターンbdがある事を示している。距離変換処理とは、入力された基準パターンVsdの背景パターンbdと製品パターンpdとの境界からの距離を製品パターンpdの画素の距離データとして付与する処理である。
【0031】
まず、製品パターンpdの全ての画素Epdに対して、その隣接する画素を調べ、背景パターンに隣接する画素には距離データ「1」を付与する。図3(b)では距離データ「1」の画素を黒四角で示した。次に同じく製品パターンpdの全ての画素に対して、距離データ「1」の画素に隣接する画素に距離データ「2」を付与する。図3(b)では距離データ「2」を付与された画素は黒丸で表した。このように、基準パターンの製品パターン部分に対して、背景パターンからの距離を画素数で与えたのが距離データ(d)である。
【0032】
図3(c)には、製品パターンに属する全ての画素に対して距離データ(d)が付与された状態を示す。これを基準距離パターンと呼ぶ。なお、距離データ「3」の画素は黒三角、距離データ「4」はバツ印で表した。基準距離パターンでは製品パターンに属する全ての画素Epdに対して距離データが与えられている。
【0033】
図4には、この距離変換処理のフローを示す。基準データが入力されると、処理がスタートする(S220)。終了判定を行い(S222)、終了であれば(S222のY分岐)処理をメイン(図2のステップS202)に返す(S234)。ここで終了判定は製品パターンの全ての画素に対して距離データが付与されたか否かで判定する。距離データは背景パターンからの画素数であらわすので、予め基準パターンに属する全ての画素に距離ゼロのデータを付与しておく処理を事前に行うのが好ましい。このようにしておけば、背景パターンの距離データは全てゼロにできる。
【0034】
次に全ての製品パターンに属する画素Epdに対して以下の処理を終えたか否かを判定する(S224)。すでに処理が終了していれば、距離を表す引数kをインクリメントし(S226)、ステップS222に戻り、終了判定を行う。引数kは距離変換処理がスタートした直後に初期値として「1」を与えておく。
【0035】
まだ、全ての製品パターンに属する画素に対して以下の処理を終えていない場合(S224のN分岐)は、以下の処理を行う。まず、ある画素に対してその画素を中心とする9画素の領域に着目する。図4(b)にはその領域を示した。以後これを参照領域と呼ぶ。参照領域は、パターン中のある画素に対する「周辺」を定義する領域でもある。真ん中の画素をAとし、その周辺の画素(8つ)をAp1乃至Ap8と表す。そして、いずれかの周辺画素Apの距離データがk−1であれば(S228のY分岐)、画素Aは距離を付与される画素であるとして、距離データkが付与される(S230)。ここで中心画素の有する距離データをA(d)と表わし、周辺の画素の距離データをAp(d)とした。
【0036】
例えば、今距離データ「1」の画素を探している時(k=1の時)、製品パターンに属
するある画素を参照領域の中心(画素A)と定め、画素Aのいずれかの周辺画素に距離「0」の背景パターンに属する画素があれば、その画素Aには距離データ「1」が付与される。また、周辺画素Apに距離データがゼロである画素がなければ(S228のN分岐)、ステップS230を飛ばして、次の製品パターンに属する画素Epdに移動し(S232)、ステップS224に戻る。次の画素に移動するとは、参照領域の中心画素を次の画素に移すということである。以上の処理を繰り返すことで、全ての製品パターンに属する画素Epdに距離データを与えることができる。
【0037】
次に骨格化処理について説明する。骨格化処理は、距離変換処理した画像データに画素削除処理を行い、別途細線化処理した結果を合成処理し、それを剪定処理して基準骨格化パターンを得る処理である。
【0038】
図5を参照して、より詳細に説明する。図5(a)には図3(c)の基準距離パターンを再掲した。画素削除処理は、製品パターンに属する画素Epdに距離データが付与された図5(a)に示す基準距離パターンが入力される。画素削除処理は、製品パターンに属する画素に対して、周囲に自分の有する距離データより大きな距離データを持つ画素が無くなるまで、画素を削除する処理を含む。画素削除処理は実際に画素を削除するのではなく、製品パターンに属する画素Epdから骨格となる画素を抽出する処理である。従って、画素削除処理とは、全ての画素Epdに対して予め骨格情報(B)に1の値を与えておき、この骨格情報をゼロにする処理である。画素削除処理によって得られた結果を画素削除処理画像という。
【0039】
図5(b)は、参照領域の真ん中の画素Aに対して、縦横斜め方向の周辺画素の距離データが画素Aの距離データより大きなものがなくなるまで画素を削除した結果を示す。すなわち、図5(b)は、製品パターンに属する画素Epdのうち、骨格情報(B)が1のものについて、その距離データを、黒四角、黒丸といった記号で示している。例えば、画素111は、距離データが2であり、骨格情報は1である画素である。このように画素削除処理では1つの連結した基準骨格パターンは得られない場合がある。
【0040】
次に、画素削除処理と並行して細線化処理によって線の太さが1となるまで周囲の画素を削除した細線化処理画像を作成する。細線化処理は、階調値に基づいて行われる。従って細線化処理には、基準パターンVsdが入力される。図5(c)は、細線化処理によって画像を生成した結果である。細線化処理によって得られた結果を細線化処理画像という。
【0041】
次に、画素削除処理画像と、細線化処理画像との結果を論理和演算する。これは合成処理である。図5(d)はその結果である。この前記演算処理によって、画素削除処理では骨格線分が分断されていた箇所が細線化処理によって保管された骨格化パターンとすることができる。すなわち、細線化処理画像で残った画素の骨格情報(B)を1にして画素削除処理画像との間で、骨格情報(B)の論理和を取る。
【0042】
そして、この合成処理の結果得られたパターン情報に対して、枝部となる部分を削除する剪定処理を行う。ここで枝部とは、先端を有し、画像データ上で45°の角度で連続する部分である。図5(d)では、113乃至117の部分が枝部にあたる。枝部は、細線化処理によって、パターンの角を線分の始点として処理するため生じる。
【0043】
枝部は、後で行う逆距離変換処理によって、欠陥検査に用いるマスタパターンに好ましくない部分を生成する可能性があり、削除しておく必要がある。また、剪定処理は骨格情報(B)が1の画素に対して行えばよい。図5(e)には、剪定処理を行い枝部が削除された結果得られる基準骨格パターンを示す。図5(b)の画素削除処理画像と比べて画素
112によって1つの連続した骨格パターンが得られたのがわかる。
【0044】
次にフローを用いて、各処理を例示する。図6に、画素削除処理のフローを示す。基準距離パターンが入力され画素削除処理がスタートすると(S250)、画素削除処理の終了判定を行う(S252)。終了判定は、削除すべき画素の有無である。従って、製品パターンに属する画素について判定すれば足りる。削除すべき画素が無くなったら、次の処理(S204)に移る(S264)。そうでなければ、製品パターンに属する画素であって、距離データがmである全ての画素について、検査が終了したかを判定する(S254)。終了していれば、削除する距離データを示すパラメータのmをインクリメントする。mは初期設定で1に設定させておく。
【0045】
製品パターンに属する距離データがmの全ての画素について処理が終了していなければ(S254のN分岐)、参照領域の真ん中の画素の距離データと、周辺画素の距離データの大小を比較する(S258)。周辺画素とは、図4(b)を参照して、真ん中の画素Aに対して周囲8方向にある近接画素(Ap1、Ap2、Ap3、Ap4、Ap5、Ap6、Ap7、Ap8)である。なお、図6では、i番目の周辺画素の距離データを「Api(d)」と表した。
【0046】
そして、周辺画素の距離データのいずれかが参照領域の真ん中の画素の距離データより大きければ(S258のY分岐)、画素Aの骨格情報(B)をゼロにする(S260)。骨格情報(B)がゼロというのは、現在参照領域の真ん中にある画素Aは骨格パターンになり得ないことを表す。そして、次の画素に移り(S262)ステップS254に戻る。
【0047】
この処理を繰り返すことによって、背景パターンに近い画素から骨格情報(B)がゼロになり、最後は図5(b)の情報となる。この処理は画素削除処理に相当する。
【0048】
次に細線化処理(S203)を説明する。細線化処理は、画像の輝度値に基づいて、明るい部分(明部)若しくは暗い部分(暗部)の太さが1画素になるまで明部を暗部になるように輝度値を入れ替える処理である。結果は、太さが1の明るい線、若しくは暗い線からなる画像が得られる。これには、いくつかの方法が提案されている。ここでは、代表的な1方法を説明する。なお、背景パターンbdは、暗い画素(階調値が低い画素)であり、製品パターンpdは明るい画素(階調値が高い画素)から構成されているとして説明する。
【0049】
細線化処理には、画像データに対して8種類の参照領域(これらを「細線化要素」と呼ぶ)を適用させ、個々の画素について削除が可能か否かを判断する。すなわち、以下の細線化要素と同じ領域が画像データ中にあれば、中心画素の輝度値を暗部に置き換える。
【0050】
図7に細線化要素を示す。それぞれをEL1からEL8とする。例えば、EL1は参照領域のAp1、Ap2、Ap3が暗部(Z)であり、Ap6、AP7、Ap8が明部(W)である場合に、中心画素(A)が明部であれば、暗部に変更できる場合を示す。ここで「X」は暗部でも、明部でもよい。ここで暗部に変更すると輝度値に関しては、画素が削除されたように見える。
【0051】
EL1は、画素が横に長く連続して並んでいる場合に、暗部との境界に接する画素を1画素分だけ暗部に変更する。この処理によって画面の横方向に長い部分は画面の上方向から削除される。しかし、参照領域は横に3画素分あるので、画像データが幅2画素以下になったら上方向から画素を削除することはなくなる。
【0052】
EL2は、Ap4とAp7の斜めの部分を残して角にあたる中心画素(A)を暗部に変
更する処理である。EL3乃至EL8は、EL1とEL2の方向違いである。従って、EL1、EL3、EL5、EL7によって、画像データは、上、右、下、左方向から削除されてゆく。ただし、EL1とEL5は、画素の横方向の画素数が2以下になったら適用されない。また、EL3とEL7は、縦方向の画素が2以下になったら適用されない。また、EL2、EL4、EL6、EL8によって斜め方向の画素の繋がりは残る。
【0053】
以上の処理を輝度値の置き換えがなくなるまで続けることにより、画像データを太さが1になる細線化処理を実行することができる。図5(c)はこの処理の結果である。
【0054】
図8および図9に、この処理のフローを示す。細線化処理(S203)がスタートする(S400)と、変数の初期化を行う(S402)。変数としては、「flag」と「EL」の2つを用いる。「flag」は、階調値の置き換えの有無を判断するためのフラグであり、この値がゼロであれば全ての画素について階調値の置き換えはなかったとして処理を終了する。初期値はゼロである。「EL」は、図7で説明した細線化要素を表す。例えばEL=1とはEL1を表すものとする。初期値は「1」である。
【0055】
なお、画像データの修正およびその更新ように「in」と「out」という2種類の画像データを用意する。これらの画像データは、基準パターンVsdの階調値と座標でよい。また、初期化の際はinとoutは同じでよい。
【0056】
次にEL=9か否かを判断する(S404)。これは8種類の細線化要素を画像データに適用したか否かを知るためである。適用すべき細線化要素がまだ残っている場合(S404のN分岐)は、階調値の置き換え処理Cを行う(S406)。ステップS406の詳細は図9で説明する。
【0057】
そしてELをインクリメントし(S408)、ELが9か否かの判断(S404)へ戻る。この処理を行うことで、全ての画素に対して、8つの細線化要素が順次適用され、処理Cによって階調値の置き換えが行われる。ステップS404でEL=9となったら、8つの細線化要素はすべて適用されたとして、終了判断を行う(S410)。
【0058】
終了判断はflagがゼロか否かを判断することによって行う。終了ならば(S410のY分岐)、細線化画像を作製し(S412)、図2で説明したメインルーチンの合成処理(S204)に戻る(S414)。そうでないなら(S410のN分岐)、変数の初期化(S402)に戻る。なお、細線化画像は、細線化処理で得られた明部の画素と同じ座標を基準距離パターンから抽出した画像データである。すなわち、細線化処理によって得られた明部の画素と同じ座標を有する画素を基準距離パターンから抽出し、その骨格情報(B)を1としたものである。この処理によって図5(c)の画像データを得られることができる。
【0059】
次に図9を参照して処理Cについて説明する。処理Cでは、現在設定されている8つの細線化要素の1つと同じ画素の位置関係を探し出し、適用する。そのため、まず画像データの先頭に参照領域の中心を設定する(S420)。そして、参照画素のなかのそれぞれの画素で現在指定されている細線化要素と画素関係が見つかるまで順次画素を調べる。そして、参照画素の中心画素の階調値が、暗部の階調値の最大値(MAX(Z))より大きく、明部の最小値(MIN(W))より小さいか否かを判断する(S422)。すなわち、現在適用されている細線化要素に適合する領域を見つけ、その参照領域の中心画素が明部であるか否かを判断する。
【0060】
細線化要素であって、しかも参照領域の中心画素が明部(W)である場合は、その画素を暗部の階調値の最大値に変換する。すなわち、暗部とする。そして、flagを1とす
る。画素の階調値の置き換えを行ったからである。
【0061】
最終画素か否かを判断し(S428)、最終画素でなければ次の画素に移り(S432)、画素値の判断(S422)に戻る。最終画素まで終了したら画像データinの内容を画像データoutに置き換える。階調値の置き換えは、画像データout上で行われているからである。そして、処理C(S406)に戻る。この結果階調値による細線化処理結果として図5(c)を得ることができる。
【0062】
次に合成処理について説明する。図5(b)の画素削除処理結果と図5(c)の細線化画像について、骨格情報(B)について論理和をとる。従って、図5(b)と図5(c)で骨格情報が1のものだけを抜き出し、その距離(d)を黒丸、黒四角といった距離データの印で示したものが図5(d)である。
【0063】
次に、合成処理の結果の画像データに対して剪定処理を行う。図10のフローを参照する。初めに剪定処理の終了判定を行う(S272)。ここでの終了判定は、枝部として剪定(削除)する画素の有無である。より具体的には、距離データを示すパラメータを「l」(エル)とし、基準パターンの画素のうち、距離データの最大値をlmaxとした時に、骨格情報(B)がゼロでなく、かつ距離データがl=1からl=lmax−1をもつ画素Epdについて、削除できる画素の有無を判定する。
【0064】
そして、この剪定処理の終了判定が、骨格化処理の終了判定ともなる。削除する画素がなくなったら骨格化処理は終了する。そうでなければ、製品パターンに属する画素のうち、所定の画素について、処理が終了したかを判定する(S274)。より具体的には、画素Epdのうち、骨格情報(B)が1であり、かつ距離データ(d)がlである画素について処理が終了したか否かを判定する。終了していれば、削除する距離を示すパラメータのlをインクリメントする。なお、パラメータlは初期値として1を与えておく。
【0065】
上記のような所定の画素Epdについて検査が終了していなければ(S274のN分岐)、参照領域の真ん中の画素に対して、まず、参照領域の真ん中の画素以外の周辺画素Ap1乃至Ap8に骨格情報(B)が1の画素が何個あるかを確認し、1個の場合のみ、真ん中の画素の距離データとAp1、Ap3、Ap6、Ap8の距離データの大小を比較する(S278)。Ap1、Ap3、Ap6、Ap8は、図4(b)を参照して、参照領域の真ん中の画素Aに対して斜めの関係にある画素である。
【0066】
なお、参照領域の真ん中の画素以外の周辺画素Ap1乃至Ap8で骨格情報(B)が1の画素の数を「SApi(B)」とした。また、Ap1、Ap3、Ap6、Ap8の距離データを「Apo(d)」とし、Ap2、Ap4、Ap5、Ap7の骨格情報(B)を「Ape(B)」とした。
【0067】
ここで、Ap1、Ap3、Ap6、Ap8の距離データのいずれかが参照領域の真ん中の画素Aの距離データより大きく、Ap2、Ap4、Ap5、Ap7の骨格情報(B)がゼロであれば(S278のY分岐)、真ん中の画素の骨格情報(B)をゼロにする(S280)。現在の距離データがl(エル)であり、周辺画素に骨格情報(B)が1のものがひとつしかなく、かつその画素が画素Aに対して斜め方向にしか存在せず、かつ距離データが画素Aよりも大きな場合、その画素は枝部であると判断できるからである。そして、次の画素に移りステップS274に戻る(S282)。
【0068】
この処理を繰り返すことによって、画素削除処理の結果と細線化処理の結果が合成されたパターン中の枝部が全て削除され、最後は図5(e)のパターンとなる。図10の処理は剪定処理に相当する。このように、製品パターンの骨格を示すパターンであって、枝部
のないパターンを基準骨格パターンtdと呼ぶ。また、基準骨格パターンに属する画素であって骨格情報(B)が1の画素を骨格画素Tpdで表す。例えば、骨格画素Tpdは図5(e)の黒丸、黒三角、バツ印の画素である。本実施例では、基準距離パターンに対して画素削除処理と剪定処理を行い、基準骨格パターンを求めたが、基準骨格パターンの求め方はこれに限定されるものではない。
【0069】
次に逆距離変換処理(図2のS206)について説明する。図11(a)には、図5(e)を再掲する。逆距離変換処理は図11(a)の基準骨格パターンが入力される。逆距離変換処理とは、骨格画素Tpdが有する距離データに、所定の倍率を乗算した距離に相当する画素を骨格画素の周辺に付与し、マスタパターンを生成する処理である。例えば、骨格画素が距離データdを有している場合に、収縮マスタパターンは基準パターンを0.8倍したものを求めるとすると、その骨格画素から0.8dの距離にある画素を全て収縮マスタパターンの画素とする。
【0070】
図11(b)を参照して、より詳細に逆距離変換処理を説明する。図11(a)の画素120は骨格画素Tpdの1つである。そして、この画素120の距離データdは4であった。倍率を0.8とすると、この画素120から4×0.8=3画素分が収縮マスタパターンの範囲である。なお、画素は整数でなければならないので、小数点以下を四捨五入した。
【0071】
そこで、この画素120を中心として縦横3画素ずつ計5×5=25画素の範囲124の画素がマスタパターンとなる。同様に画素121の距離データは3であり、画素122の距離データは2であったので、収縮マスタパターンに含まれる画素は、それぞれの画素を中心に9画素分(125)と、9画素分(126)である。
【0072】
全ての基準骨格パターンに属する画素Tpdに対してこの処理を行い、マスタパターンに含まれるとされた画素のマスタパターン情報mpを1にする。mp=1の画素をマスタパターン画素という。また、含まれないとされた画素はマスタパターン情報mpをゼロとする。また、マスタパターン情報を用いなくとも、画素値を変更してもよい。例えば、マスタパターンの画素には画素値Iの最大値であるImaxを付与し、それ以外の画素には画素値Iの最小値I0を付与する。このようにすると、2値画像としてマスタパターンを得ることができる。
【0073】
図11(c)は全ての基準骨格パターンに属する画素に対してこの処理を行い、収縮マスタパターン127を得た結果を示す。画素120があった部分128は、背景パターンから1画素分がマスタパターンに含まれていないが、画素122があった幅の狭い部分129では、製品パターンが全て残った。このように本発明のマスタパターン作製では、製品パターンの全ての部分について一律に同じ数の画素が削除されたり膨張されたりすることがない。言い換えると、収縮・膨張されるかどうかは、製品パターンの中でその画素が存在する位置関係に依存する。
【0074】
図12には逆距離変換処理のフローを示す。逆距離変換処理には、基準骨格パターンが入力される。まず、終了判定(S292)を行うのは、これまでの処理と同じである。ここで終了判定は、全ての基準骨格パターンに属する画素Tpdに対して逆距離変換できたか否かということである。逆距離変換できたら(S292のY分岐)、後処理(S300)に移る。
【0075】
そうでない場合(S292のN分岐)は、画素Tpd(参照領域の中心にいるので画素Aとも呼ぶ)の距離データdに倍率αを乗算した結果をzとして求め(S294)、画素Aを中心として距離zに含まれる画素(Apz)のマスタパターン情報mpを1にする(
S296)。なお、mpは初期値ゼロを与えておく。
【0076】
またApzの画素値Iに所定の値を入れる処理を追加してもよい(S296)。所定の値は、例えば画素値の最大値であるImaxの値である。ここで、画素Aを中心とした距離zの範囲にある周辺画素をApzで表し、そのマスタパターン情報をApz(mp)とし、画素値をApz(I)と表した。
【0077】
次の基準骨格化パターンに属する画素に移り(S298)、再び終了判定(S292)から繰り返す。全ての基準骨格パターンの画素Tpdについて処理を終えたら(S292のY分岐)、製品パターンに属する画素Epdであって、Imaxに値を変換されなかった画素の画素値を背景パターンの画素と同じ値(例えばI0)にする。この処理はマスタパターンを2値化画像データとして取得する場合に必要な処理である。2値化画像データとしてマスタパターンを作成しない場合はなくてもよい。そして終了する(S302)。
【0078】
以上の操作によって基準パターンのどの部分も一様にα倍されたマスタパターンを得ることができる。なお、ここでαを1.0より大きな値に設定すれば、基準パターンを膨張したマスタパターンを得ることができ、1.0より小さな値に設定すれば、基準パターンが収縮されたマスタパターンを得ることができる。また、複数のマスタパターンを得たい場合は、ステップS290からS302を倍数αを変えながら所定回数行ってもよい。
【0079】
以上のようにマスタパターン作製部10は、入力された基準パターンに基づいてマスタパターンMPを作製する。なお2値化された膨張・収縮マスタパターンは、膨張マスタパターンBcdx及び収縮マスタパターンBcdsとする。すなわち、Bcdx、BcdsはマスタパターンMPの形態の1つである。これらのマスタパターンは記憶部80に記憶される。
【0080】
次に図1および図13のフローを参照して、本発明のマスタパターンを用いたパターン検査方法について説明する。膨張マスタパターンおよび収縮マスタパターンは上記の説明に基づいて予め記憶部80に記録されているものとする。検査が開始されると(S1000)、終了判定を行う(S1002)。ここで終了判定は検査対象となる被検査物の有無である。もちろん、被検査物があっても、割り込み処理によって終了させてよい。終了であれば(S1002のY分岐)、検査を終了する(S1016)。
【0081】
被検査物が投入されると画像撮影部20が被検査物を撮影し画像データVdを取得する(S1004)。この画像データVdは、2値化部30にて2値画像データBcdに変換される(S1006)。マスタパターンとの比較を容易にするためである。なお、画像データは2値化される前に、所定の大きさに拡大または縮小といった補間処理が行われてもよい。
【0082】
2値画像データBcdは、位置合わせ部50で、記憶部80から送られたマスタパターンMPと位置合わせを行う(S1008)。2つの画像を比較するためである。位置合わせが行われた2つの画像は、演算部60にて対応する画素毎に演算され、マスタパターンとの大小比較が行われる(S1010)。
【0083】
より具体的には、被検査物の2値画像データBcdに属する画素の画像データから膨張マスタパターンBcdxに属する対応画素の画素値を引き算し、正となった場合の個数Cdxと、収縮マスタパターンBcdsから被検査物の2値画像データBcdを引き算し、正となった場合の個数Cdsを求める。
【0084】
被検査物の画像データの中の画素のうち、膨張マスタパターンの画素より画素値の値が
大きいということは、被検査物は、定められた基準以上に太った部分が存在することを意味する。すなわち、突起欠陥のおそれがある。また、収縮マスタパターンの方が被検査物の2値化画像データより画素値が大きいということは、被検査物には非常に細い部分が存在することを意味する。すなわち、欠け欠陥のおそれがある。
【0085】
判定部70は、演算部60で求めた膨張マスタパターンよりはみ出た画素の数Cdxと、収縮マスタパターンより細い画素の数Cdsを、予め与えられた閾値ThxおよびThsと比較し、容認できるか否かを判断する(S1012)。ここで閾値Thxは膨張閾値とよび、閾値Thsは収縮閾値と呼ぶ。
【0086】
つまり、CdxがThxより大きいということは、容認できないほど太った部分が被検査物のパターンに存在する。従って突起欠陥と判定する。同様に、CdsがThsより大きいということは、容認できないほど細い部分が被検査物のパターンに存在することを意味する。従って欠け欠陥と判定する。
【0087】
さらに判定部は、これらの結果Conを出力する(S1014)。出力の結果Conは、被検査物に対する欠陥が容認できる、又はできないといった判断だけであってもよいし、マスタパターンからの差であるCdx、Cdsの数を直接示しても良い。また、出力の結果Conは、ディスプレイ装置などに表示してもよいし、そのまま記録するまたは他の機器に送信する等してもよい。図1の符号88は結果Conの出力先を示す。
【0088】
図14,15を参照して、パターン検査のより具体的な例を示す。図14を参照して、すでに説明したように、基準パターンVsdから基準骨格パターンtdが生成されている。基準骨格パターンtdから、マスタパターン作製部10によって、収縮マスタパターンBcdsが生成される。今被検査物から画像データVcd1が得られたとする。この被検査物は製品パターン中に一箇所の断線131があるものとする。なお、Vsdでは、製品パターンpdの領域を、基準骨格パターンtdでは骨格情報B=1の領域を、Bcdsではマスタパターン情報mp=1であって画素値がImaxの領域をそれぞれ白で表した。
【0089】
演算部60にて、収縮マスタパターンBcdsに属する画素の画素値から、対応する画像データVcd1の画素の画素値を引くと、画像データ130が得られる。この画像データ130の中にI0以上の画素値を有する画素があった場合は、欠け欠陥であると判断できる。収縮マスタパターンよりも細い部分があるからである。図14では領域132が該当する。
【0090】
次に図15を参照する。マスタパターンは膨張マスタパターンBcdxである。ここに被検査物から画像データVd2が得られたとする。この被検査物は、製品パターン中にはみ出た部分133があるとする。膨張マスタパターンに属する画素の画素値から、対応する画像データVd2の画素の画素値を引くと、画像データ134が得られる。この画像データ134の中にI0以上の画素値を有する画素があった場合は、はみ出し欠陥であると判断できる。膨張マスタパターンよりも太い部分があるからである。図15では領域135である。なお、図15で白の領域で表したのは図14に従う。ただし、BcdsをBcdxに置き換える。
【0091】
以上のように、本発明のマスタパターンMPを用いることで、被検査物のパターン検査を行うことができる。特に製品パターン中に太さの違いの比率が大きい箇所を含む場合に本発明によるマスタパターンMPを用いることは有用である。
【0092】
(実施の形態2)
実施の形態1では、製品パターンの画素のうち、マスタパターンMPとなるべき画素に
は、マスタパターン情報mpを1にしたうえに、画素値の最大値Imaxを与え、マスタパターンとならない製品パターンの画素には画素値の最小値I0を与えた(図12のフロー参照)。これはマスタパターンを2値化画像データとして求めたことを意味する。
【0093】
従って、マスタパターンと被検査物の画像データVdとの差は画素の個数として求められ(CdxやCds)、欠陥の程度を定量的に判断することはできない。例えば、膨張マスタパターンよりはみ出た部分Cdxが膨張閾値Thxより少なく、判定部の判断は容認できるという判断であったとしても、基準パターンとほぼ同様程度の出来であったのか、基準パターンより太った部分が数多くあり、膨張閾値Thxをわずかに超えていなかったために容認されたのかという、程度の判断を行うことはできない。
【0094】
そこで、本実施の形態では、より定量的に基準パターンとの違いを評価できる実施態様について説明する。
【0095】
本実施の形態では、マスタパターンを作製する際に、マスタパターンMPに属する画素には基準骨格パターンからの距離に相当する画素値を与える。
【0096】
図16を参照してより詳細に説明する。基準骨格パターンに対して倍率αを変えながら、逆距離変換処理を行い、マスタパターン150、151、152、153を作製する。例えば、マスタパターン150はαをゼロ、151はαを0.5、152は1.0、153は1.3などである。明らかにマスタパターン150は基準骨格パターンであり、マスタパターン151は、収縮マスタパターンであり、マスタパターン152は基準パターンであり、マスタパターン153は膨張マスタパターンである。そして、それぞれのマスタパターンに属する画素には、基準骨格パターンからの距離に相当する画素値を与える。
【0097】
例えば、マスタパターン150に属する画素にはImax、マスタパターン151には0.8*Imax、マスタパターン152には0.5*Imax、マスタパターン152には0.3*Imaxなどである。そして、これらの画素データのマスタパターン情報mpが1の画素を倍率の大きいものから順に上書きする。なお、マスタパターン情報mpが1の画素をマスタパターン画素と呼ぶ。ここで、上書きとは、すでに画素値を有している画素に対して、新たな画素値で置き換えることをいう。図14では、符号155、156、157、158の順に上書きする。
【0098】
結果、合成されたマスタパターン160は、背景パターン161と、画素値0.3*Imaxの領域162と、画素値0.5*Imaxの領域163と、画素値0.8*Imaxの領域164と、画素値Imaxの領域165を有する。このマスタパターン160をマルチマスタパターンと呼ぶ。
【0099】
このマルチマスタパターンは、判定部が行う容認の可否だけでなく、どの程度基準パターンと違いがあるかという情報も取得できる。
【0100】
図17を参照して、より具体的に説明する。画像データ130は被検査物に切断131があったものの画像データであった(図14より)。また、画像データ134は被検査物にはみ出し135があったものの画像データであった(図15より)。
【0101】
これらの画像データとマルチマスタパターン160を比較すると、切断の部分は領域171で、はみ出しの部分は領域173に対応する。すると、この領域に属する画素の画素値と、数を調べることで、どの程度基準パターンと相違があるのかを示すことができる。具体的には、マスタパターンとの差異として求められた領域171および173について、総画素数、画素値毎の画素数を表示させるなどである。これらは、図13の判定処理(
S1012)に含めてもよい。
【0102】
図18にマルチマスタパターンを作製するフローを示す。マスタパターン作製部10が処理を行うものとして説明する。マルチマスタパターンの作製は図2で示すマスタパターン作製部10の処理のうち、骨格化処理S204までは全く同じ処理でよい。マルチマスタパターンを作製するには、逆距離変換処理を図16で示すステップS310からのフローに変更すればよい。
【0103】
図18のフローを行う際の前提として、上書きするマスタパターンの数と、それぞれのマスタパターンの倍率αと、それぞれの倍率α毎の画素値Iが決まっているものとする。ここでは、倍率αが大きくなるほど、画素値Iが小さくなるものとし、これをI(α)と表し、説明を続ける。まず、逆距離変換処理S310がスタートすると(S310)、初期設定を行う(S322)。初期設定は、倍率αをαの最大値であるαmaxにし、かつマルチマスタパターンMMPを基準パターンVsdにする。なお、マルチマスタパターンは順次上書きされていくので、何に決めても構わない。
【0104】
次に終了判定を行う(S324)。ここでの終了判定は、所定の数の回数のマスタパターンが上書きされたか否かである。倍率αが最小値になったか否かで判断してもよい。所定の数のマスタパターンが上書きされたら(S324のY分岐)処理をメインに返す(S338)。
【0105】
そうでなければ(S324のN分岐)、全ての基準骨格パターンの画素Tpdについて処理が行われたか否かを判断する(S326)。行われなかった場合は(S326のN分岐)、画素Tpd(参照領域の中心にいるので画素Aと呼ぶ)の距離データdに倍率αを乗算した結果をzとして求め(S328)、画素Aを中心として距離zに含まれる画素(Apz)のマスタパターン情報mpを1にする。なお、mpは初期値ゼロを与えておく。
【0106】
また、画素Apzの画素値には、倍率によって予め決めておいた画素値I(α)を代入する。そして、次の画素に移り(S332)、ステップS326を繰り返す。この処理の繰り返しによって倍率αのマスタパターンMP(α)が完成する。
【0107】
全ての基準骨格パターンの画素Tpdについて、以上の処理が終了したら、マルチマスタパターンMMPにマルチパターンMP(α)を上書きする。上書きとはマスタパターン画素を残し、特に後から書き込むマスタパターン画素を優先して残す処理である。
【0108】
より具体的に説明すると、MMPの画素xに対応するMP(α)の画素yを上書きする際に、以下のルールに従う。すなわち、画素xと画素yのマスタパターン情報mpの値を比較し、ともにゼロであったら、画素xと画素yのいずれかの画素値を採用する。画素xのmpがゼロで画素yのmpが1であった場合は画素yの画素値を採用する。画素xのmpが1で画素yのmpがゼロであった場合は、何もしない。画素xのMPも画素yのmpも共に1であった場合は、画素yを採用する。
【0109】
そして、倍率αを次の倍率にしてステップS324に戻る。以上の処理フローを行うことで倍率のαの大きいマスタパターンから順次上書きされたマルチマスタパターンを作製することができる。マルチマスタパターンと被検査物の画像データの比較は、図1の演算部10で行われ、判定部による結果Conに含めることが出来る。
【0110】
(実施の形態3)
本発明の検査方法では、被検査物のパターンの幅に応じたマスタパターンを作製している。そこで、本発明の検査方法が正しく機能しているか否かを確認するための方法があれ
ば便利である。ここでは、本発明の検査方法の検証のためのテストパターンについて説明する。
【0111】
図19は本発明の検査方法に対するテストパターンを示す。このテストパターンには太い部分180と細い部分182がカメラ20の同じ視野内に含まれるように構成される。そして、太い部分および細い部分に同程度の大きさの欠陥を形成する。図19では、太い部分180での突起184と欠け186および細い部分182での欠け188と突起190がこれにあたる。太い部分180と細い部分182の比率は100:20乃至100:50が望ましい。本発明の検査方法は同一視野内にこの範囲の太さの違いがあるパターンの検査に適しているからである。
【0112】
太い部分180にはこの線幅192に対する欠陥184および186がある。ここでは欠陥の大きさより線幅の方が十分太いので、これらの欠陥は容認される欠陥である。しかし、細い部分182での欠陥188および190は、同じ大きさの欠陥であっても、線幅193に対しては十分に大きな欠陥であるので、容認できない欠陥である。これら欠陥の大きさは、線幅に対してどれくらいの大きさまで許容できるかによって変えることができる。このようなテストパターンを入力し、これらの欠陥を容認、若しくは欠陥検出ができるか否かで本発明の検査方法が正しく行われているか否かの検証が可能である。
【0113】
図20は、このテストパターンに対する基準パターンである。このパターンには欠陥はない。この基準パターンに基づいて膨張および収縮マスタパターンが作製される。
【0114】
図21はテストパターンと基準パターンから得た容認できない突起部分194の出力例であり、図22は容認できない欠陥部分196の出力例である。これらは図20の基準パターンから作製された膨張および収縮マスタパターンとテストパターンの比較によって得られたものである。すなわち、図19の欠陥188および突起190を膨張および収縮マスタパターンで検出したものである。つまり、テストパターンを本発明の検査装置に入力し、図21、22の結果をえることができれば、検査装置は正常に動作していることが検証できる。
【0115】
図23および図24に、膨張マスタパターンおよび縮小マスタパターンをそれぞれ示す。これらは、基準パターンの太い部分および細い部分に対して30%の増減で作製されたものである。これらのマスタパターンはパターンの線幅に対する所定比率で膨張・縮小処理を行っているため、基準パターンとの太さの違いは一定ではない。しかし、比率は一定である。
【0116】
なお、テストパターンに形成する欠陥は、場所によって検出できる境界の大きさの欠陥を形成してもよい。例えば、パターン全体に対する欠陥検出の閾値をパターンの場所毎のs%であるとすると、太い部分および細い部分にそれぞれs%を超えない欠陥とs%を超える欠陥の少なくとも何れかを形成してもよい。このようにすることで、意図した通りの検査が行われているか否かがすぐに確認することができる。
【0117】
具体的には、太い部分が80ピクセル、細い部分が20ピクセルであり、突起や凹みの検査の閾値を30%とすると、太い部分は24ピクセルが検出の境界線となる。従って、太い部分に23ピクセルに相当する大きさ以下の人工欠陥と、24ピクセルに相当する大きさ以上の人工欠陥を形成しておく。なお閾値が30%であるなら、細い部分に対しては、7ピクセル以下の欠陥は容認される。これらの欠陥はそれぞれ容認および容認されない欠陥として検出されれば、本発明の欠陥検査方法が正しく行われていると判断することができる。
【0118】
図25には太い部分180に対して24ピクセル以上の突起200と欠け202と、細い部分182に対して7ピクセル以下の突起206と欠け204を加えたテストパターンである。以上のようにテストパターン中に閾値より大きな欠陥および小さな欠陥を含ませておけば、本発明の検査方法および検査装置の動作の妥当性をより正確に検証することが可能になる。
【産業上の利用可能性】
【0119】
本発明は回路パターンの自動欠陥検査に好適に利用することができる。
【図面の簡単な説明】
【0120】
【図1】本発明のパターン検査装置の構成を示す図である。
【図2】マスタパターン作製部のフローを示す図である。
【図3】基準パターンに距離データを付与する処理を説明する図である。
【図4】距離変換処理のフローを示す図である。
【図5】基準骨格パターンを作製する処理を説明する図である。
【図6】骨格化処理のうちが祖削除処理のフローを説明する図である。
【図7】細線化処理に用いる細線化要素を示す図である。
【図8】細線化処理のフローを示す図である。
【図9】細線化処理のフローのうち、処理Cのフローを示す図である。
【図10】剪定処理のフローを示す図である。
【図11】逆距離変換処理を説明する図である。
【図12】逆距離変換処理のフローを示す図である。
【図13】検査方法のフローを示す図である。
【図14】収縮マスタパターンによって欠け欠陥を検出する処理を説明する図である。
【図15】膨張マスタパターンによって突起欠陥を検出する処理を説明する図である。
【図16】マルチマスタパターンの構成を説明する図である。
【図17】マルチマスタパターンを用いて欠けと突起を検出する処理を説明する図である。
【図18】マルチマスタパターンを作製する際の逆距離変換処理のフローを示す図である。
【図19】検査用のテストパターンを例示する図である。
【図20】テストパターン用の基準画像を例示する図である。
【図21】容認できない突起を検出した例を示す図である。
【図22】容認できる突起を検出した例を示す図である。
【図23】線幅を30%増加させたマスタパターンを例示する図である。
【図24】線幅を30%減少させたマスタパターンを例示する図である。
【図25】線幅に応じた欠けと突起を付加した検査用のテストパターンを例示する図である。
【符号の説明】
【0121】
1 パターン検査装置
10 マスタパターン作製部
20 画像撮影部
30 2値化部
50 位置あわせ部
60 演算部
70 判定部
80 記憶部
85 制御装置
【特許請求の範囲】
【請求項1】
マスタパターンと検査対象物の画像データを比較し欠陥を検出するパターン検査方法であって、
背景パターンと製品パターンを有する基準パターンを距離変換処理し基準距離パターンを得る第1の工程と、
前記基準距離パターンを骨格化処理し基準骨格パターンを得る第2の工程と、
前記基準骨格パターンを所定係数倍する距離で逆距離変換処理しマスタパターンを得る第3の工程と、
前記マスタパターンと検査対象パターンを比較して差異を検出する第4の工程を有するパターン検査方法。
【請求項2】
前記第1の工程は、
前記基準パターンに属する製品パターンに属する画素に、前記背景パターンと前記製品パターンの境界からの距離データを割り当てる処理である請求項1に記載されたパターン検査方法。
【請求項3】
前記第2の工程は、
前記画素に対して前記画素の周囲の画素の距離データが前記画素の距離データより大きな前記周囲の画素がなくなるまで前記画素を順次削除し画素削除処理画像を得る画素削除処理と、前記基準距離パターンを線幅が最小となるまで前記画素を削除し細線化処理画像を得る細線化処理と、前記画素削除処理画像と前記細線化処理画像とを合成する合成処理と、前記製品パターンに属する画素の中で前記合成処理の結果残留した画素から枝部を削除する剪定処理を有する請求項1または2の何れかの請求項に記載されたパターン検査方法。
【請求項4】
前記第3の工程は、少なくとも前記所定係数が1.0未満の場合と、1.0より大きい場合の両方について前記マスタパターンを得る工程である請求項1乃至3の何れか1の請求項に記載されたパターン検査方法。
【請求項5】
前記第3の工程は、前記基準骨格パターンに属する骨格画素の距離データに前記所定係数を乗じた距離によって決まる領域内の画素を全て前記マスタパターンに属するマスタパターン画素とする請求項1乃至4の何れか1の請求項に記載されたパターン検査方法。
【請求項6】
前記第3の工程は、前記所定係数に応じた画素値を前記所定係数によって作製される前記マスタパターンに属するマスタパターン画素の画素値に与える請求項1乃至5の何れか1の請求項に記載されたパターン検査方法。
【請求項7】
前記第3の工程は、さらに、前記係数に応じた画素値を付与されたマスタパターン画素同士を上書きしマルチマスタパターンを得る処理を含む請求項6に記載されたパターン検査方法。
【請求項8】
前記第4の工程で検出した前記差異と前記マルチマスタパターンをさらに比較する第5の工程を有する請求項7に記載されたパターン検査方法。
【請求項9】
背景パターンと製品パターンを有する基準パターンが入力されマスタパターンを出力するマスタパターン作製部と、
前記マスタパターンを記録する記憶部と、
被検査物を撮影し画像データを得る撮影部と、
前記画像データを2値化処理する2値化部と、
前記マスタパターンと前記2値化処理された画像データを比較し差異を出力する演算部と、
前記演算部の出力に基づいて判定結果を出力する判定部を有するパターン検査装置。
【請求項10】
前記マスタパターン作製部は、
前記製品パターンに属する画素に前記背景パターンと前記製品パターンの境界からの距離データを付与し基準距離パターンを作製し、
前記基準距離パターンから枝部のない基準骨格パターンを作製し、
前記基準骨格パターンに属する画素の距離データに所定係数倍する距離の間の画素をマスタパターン画素としてマスタパターンを作製する請求項9に記載されたパターン検査装置。
【請求項11】
同一視野内に太さの異なるパターンを有し、
前記太さの異なる部分に所定の大きさの欠陥または突起が形成されたテストパターン。
【請求項1】
マスタパターンと検査対象物の画像データを比較し欠陥を検出するパターン検査方法であって、
背景パターンと製品パターンを有する基準パターンを距離変換処理し基準距離パターンを得る第1の工程と、
前記基準距離パターンを骨格化処理し基準骨格パターンを得る第2の工程と、
前記基準骨格パターンを所定係数倍する距離で逆距離変換処理しマスタパターンを得る第3の工程と、
前記マスタパターンと検査対象パターンを比較して差異を検出する第4の工程を有するパターン検査方法。
【請求項2】
前記第1の工程は、
前記基準パターンに属する製品パターンに属する画素に、前記背景パターンと前記製品パターンの境界からの距離データを割り当てる処理である請求項1に記載されたパターン検査方法。
【請求項3】
前記第2の工程は、
前記画素に対して前記画素の周囲の画素の距離データが前記画素の距離データより大きな前記周囲の画素がなくなるまで前記画素を順次削除し画素削除処理画像を得る画素削除処理と、前記基準距離パターンを線幅が最小となるまで前記画素を削除し細線化処理画像を得る細線化処理と、前記画素削除処理画像と前記細線化処理画像とを合成する合成処理と、前記製品パターンに属する画素の中で前記合成処理の結果残留した画素から枝部を削除する剪定処理を有する請求項1または2の何れかの請求項に記載されたパターン検査方法。
【請求項4】
前記第3の工程は、少なくとも前記所定係数が1.0未満の場合と、1.0より大きい場合の両方について前記マスタパターンを得る工程である請求項1乃至3の何れか1の請求項に記載されたパターン検査方法。
【請求項5】
前記第3の工程は、前記基準骨格パターンに属する骨格画素の距離データに前記所定係数を乗じた距離によって決まる領域内の画素を全て前記マスタパターンに属するマスタパターン画素とする請求項1乃至4の何れか1の請求項に記載されたパターン検査方法。
【請求項6】
前記第3の工程は、前記所定係数に応じた画素値を前記所定係数によって作製される前記マスタパターンに属するマスタパターン画素の画素値に与える請求項1乃至5の何れか1の請求項に記載されたパターン検査方法。
【請求項7】
前記第3の工程は、さらに、前記係数に応じた画素値を付与されたマスタパターン画素同士を上書きしマルチマスタパターンを得る処理を含む請求項6に記載されたパターン検査方法。
【請求項8】
前記第4の工程で検出した前記差異と前記マルチマスタパターンをさらに比較する第5の工程を有する請求項7に記載されたパターン検査方法。
【請求項9】
背景パターンと製品パターンを有する基準パターンが入力されマスタパターンを出力するマスタパターン作製部と、
前記マスタパターンを記録する記憶部と、
被検査物を撮影し画像データを得る撮影部と、
前記画像データを2値化処理する2値化部と、
前記マスタパターンと前記2値化処理された画像データを比較し差異を出力する演算部と、
前記演算部の出力に基づいて判定結果を出力する判定部を有するパターン検査装置。
【請求項10】
前記マスタパターン作製部は、
前記製品パターンに属する画素に前記背景パターンと前記製品パターンの境界からの距離データを付与し基準距離パターンを作製し、
前記基準距離パターンから枝部のない基準骨格パターンを作製し、
前記基準骨格パターンに属する画素の距離データに所定係数倍する距離の間の画素をマスタパターン画素としてマスタパターンを作製する請求項9に記載されたパターン検査装置。
【請求項11】
同一視野内に太さの異なるパターンを有し、
前記太さの異なる部分に所定の大きさの欠陥または突起が形成されたテストパターン。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【公開番号】特開2010−145145(P2010−145145A)
【公開日】平成22年7月1日(2010.7.1)
【国際特許分類】
【出願番号】特願2008−320471(P2008−320471)
【出願日】平成20年12月17日(2008.12.17)
【出願人】(000003159)東レ株式会社 (7,677)
【Fターム(参考)】
【公開日】平成22年7月1日(2010.7.1)
【国際特許分類】
【出願日】平成20年12月17日(2008.12.17)
【出願人】(000003159)東レ株式会社 (7,677)
【Fターム(参考)】
[ Back to top ]