図1はこの発明を好適に適用可能な検査システムの概略構成を示す図である。この検査システム1は、検査対象である半導体基板Sの外観に現れたピンホールや異物等の欠陥検査を行い、検出された欠陥の自動分類を行う検査システムである。検査システム1は、基板S上の検査対象領域から欠陥を検出する欠陥検出装置2と、欠陥検出装置2により検出された欠陥をより詳細に分析して欠陥の種類を特定する欠陥分類装置3とを備えている。欠陥検出装置2は基板Sの製造ラインに組み込まれ、検査システム1はいわゆるインライン型のシステムとなっている。
欠陥検出装置2は、基板S上の検査対象領域の画像を取得する画像取得ユニット20と、画像取得ユニット20からの画像データを解析して欠陥検出を行う検出ユニット21とを備えている。画像取得ユニット20は、例えばCCDセンサまたはCMOSセンサなどの撮像素子を有し基板S上の検査対象領域を撮像することにより画像データを取得する撮像部201、基板Sを保持するステージ202、および、撮像部201に対してステージ202を相対的に移動させるステージ駆動部203を備えている。ステージ駆動部203はボールねじ、ガイドレールおよびモータにより構成される。撮像部201およびステージ駆動部203は検出ユニット21に設けられた機構制御部211により制御されており、機構制御部211からの制御指令に応じて動作することで、基板S上の検査対象領域を撮像する。
撮像部201による撮像で得られた画像データに対して欠陥検出部212が適宜のデータ処理を施して欠陥検出を行う。欠陥検出部212は、撮像部201から与えられた画像データに対して適宜のデータ処理、例えばノイズ除去処理や平滑化処理などを施し、こうして処理された画像データに基づき欠陥検出を行う。より具体的には、実際の基板Sにおいて撮像された画像と、記憶部213に予め記憶された無欠陥の基板の画像とを比較して、その差異が予め定められた基準を超える場合には当該画像に欠陥が含まれると判定する。欠陥検出部212は、検出した欠陥の画像データをインターフェース(I/F)214を介して欠陥分類装置3に送信する。
欠陥分類装置3は、欠陥検出装置2から与えられる欠陥データに基づき、検出された欠陥の種別を判定する。すなわち、欠陥分類装置3は欠陥検出装置2から与えられる欠陥画像データに基づいて当該欠陥が属すべき分類カテゴリへと欠陥を自動分類(ADC;Automatic Defect Classification)する機能を有している。この欠陥分類装置3は、この発明の一実施形態を実装した装置である。以下に説明するように、一般的なパーソナルコンピュータが有するハードウェア資源を用いて、本発明にかかる各処理を記述した制御プログラムを実行させることにより、欠陥分類装置3としての機能を実現することが可能である。
欠陥分類装置3は、予め読み込まれた制御プログラムを実行することにより、図1に示す各機能ブロックを専用ハードウェアおよびソフトウェアにより実現する。欠陥分類装置3は、欠陥検出装置2から欠陥画像データを受信するためのインターフェース(I/F)31、欠陥画像データに基づく自動分類により、当該欠陥の種別を判定する欠陥分類部(ADC)32を備えている。インターフェース31は例えばLAN(Local Area Network)を介して他の外部機器と通信が可能となっている。
欠陥検出装置2から与えられる画像データおよび欠陥分類部32における処理過程で生じる種々の処理データは必要に応じて記憶部33に随時保存される。欠陥分類部32は、与えられた欠陥画像データに基づき特徴量算出部34が算出した複数種の特徴量の値に基づき、当該欠陥画像を、欠陥種別に対応して予め設定された複数の分類カテゴリのいずれかに分類する。
さらに、欠陥分類装置3は、ユーザからの操作入力を受け付けるキーボードおよびマウスなどの入力受付部35および操作手順や処理結果等のユーザ向け視覚情報を表示する表示部36を備えている。
欠陥分類部32は、検出された欠陥をSVM(サポートベクタマシン;Support Vector Machine)、ニューラルネットワーク、決定木、判別分析等適宜の学習アルゴリズムを利用して分類する処理をソフトウェア的に実行する。具体的には、欠陥検査装置2から与えられて記憶部33に記憶保存された欠陥画像データと、当該欠陥画像が分類されるべき分類カテゴリに関するユーザからの教示情報とに基づいて予め適宜の学習アルゴリズムによる機械学習を行っておく。そして、未分類の欠陥画像に対応する画像データが新たに与えられると、学習結果に基づく自動分類を行って新たな欠陥画像をいずれかの分類カテゴリに分類する。
図2は欠陥検出装置の動作を示すフローチャートである。欠陥検出装置2は、検査対象基板Sを撮像し、その撮像結果から欠陥を検出するための動作として以下の欠陥検出処理を実行する。最初に検査対象基板Sが画像取得ユニット20のステージ202にロードされると(ステップS101)、機構制御部211が撮像部201およびステージ駆動部203を制御して、基板S上の所定の検査対象位置を撮像し画像を取得する(ステップS202)。こうして得られた画像データに対して、欠陥検出部212は、必要に応じて例えば輝度調整やノイズ除去等の処理を行う。さらに、予め記憶部213に記憶されている無欠陥の基板の画像データのうち、当該検査対象位置に対応する画像データを読み出して、撮像により得られた画像データとの画素単位の差分を算出する(ステップS103)。
撮像された画像に欠陥が含まれなければ予め記憶されていた無欠陥の画像との差は小さい一方、欠陥が含まれていれば大きな差異が現れる。このことを利用して、両者の差分を求めることで欠陥の有無を判定することが可能である。具体的には、得られた差分画像に対して適宜の平滑化処理および二値化処理を行って(ステップS104)、有意な差が認められる領域があればその部分を欠陥部分として抽出する(ステップS105)。欠陥が検出された画像については(ステップS106)、当該画像を欠陥画像として、インターフェース214を介して欠陥分類装置3に送信する(ステップS107)。上記処理を、検査対象位置を順次変えながら基板Sの全体について行うことで(ステップS108)、基板Sの検査が完了する。
欠陥検出装置2は、検査対象基板Sの各位置を検査して欠陥の有無を判定する。一方、欠陥分類装置3は、検出された欠陥の種別を判定して、欠陥の発生傾向を分析してその結果を製造ラインにフィードバックしたり、欠陥検出装置2による欠陥検出処理の処理内容の調整を行うのに用いられる。検出された欠陥の分析を欠陥分類装置3により行うことで、欠陥検出装置2は欠陥検出に特化した処理を実行することができるので、高速での欠陥検出が可能となる。
図3は欠陥分類装置の動作を示すフローチャートである。上記した通り、欠陥分類装置3は欠陥検出装置2から出力される欠陥画像を、その欠陥種別に応じた分類カテゴリに分類する。より具体的には、欠陥分類部32が予め収集された欠陥画像データに基づき事前学習(後述)を行っておき(ステップS201)、未分類の欠陥画像が欠陥検出装置2から新たに与えられると(ステップS202)、特徴量算出部34が当該欠陥画像を特徴付ける複数の特徴量の値を算出する(ステップS203)。そして、欠陥分類部32が、算出された特徴量の値に基づき、事前学習により構成された分類器を用いて当該欠陥画像を複数の分類カテゴリのいずれかに分類する(ステップS204)。
分類カテゴリは当該基板Sにおいて発生し得る複数の欠陥種別に対応して複数種が予め設定されており、例えば異物、傷、気泡、ピンホール、パターン断線、短絡などが代表的なものであるが、これらに限定されるものではない。
図4は欠陥分類装置により実行される事前学習処理を示すフローチャートである。事前学習処理は、種々の欠陥を撮像した教師画像と、ユーザから教示される、当該教師画像がどの分類カテゴリに分類すべきものであるかを示す教示情報とに基づいて行われる。欠陥の典型的な外観を示す教師画像が多いほど学習効果が向上し、分類精度を高めることが可能である。一方、多数の教師画像の各々に対し分類カテゴリを割り当てる教示作業については、装置が未学習である以上自動的に処理することができず、経験を有するユーザの目視による判断に頼らざるを得ない。教師画像が多いと、単にそのためのユーザの作業量が増大するだけでなく、教示のばらつきに起因する誤分類を抑制するために各教師画像に対し矛盾のない教示を行うことが求められ、このためのユーザの作業負担が著しく重くなる。
そこで、この実施形態の事前学習処理は、ユーザ負担を軽減しユーザによる効率的な教示作業を可能とするために、ユーザに対し各種の支援機能が提供されるように構成されている。具体的には、ユーザに対して、分類カテゴリをなす欠陥種別の特定と、それらの分類カテゴリの各々について当該分類カテゴリの特徴が強く現れた典型例(典型画像)を多数の教師画像から1枚ずつ選出する作業とが求められる。これらがユーザにより指定されると、欠陥分類装置3は、他の教師画像について、与えられた情報に基づいて画像相互間の類似度合いを判定し、その結果を可視化してユーザに提示する。ユーザは提示された情報を参考にして、他の画像に対する教示入力や分類カテゴリの設定の再検討などを行うことが可能となり、何ら手がかりが与えられない状態での教示作業に比べ、遥かに少ない作業負担で効率的に教示作業を行うことができる。このための処理内容について、以下に説明する。
最初に、教師画像として用いられる複数の欠陥画像が収集される(ステップS301)。ここでは欠陥検出装置2から出力される欠陥画像を教師画像としてこれを順次記憶部33に保存することで収集を行うものとするが、例えば予め用意された画像ライブラリや外部のストレージに収集された教師画像データを取得する態様であってもよい。当然ながら、欠陥画像は、分類すべきカテゴリの数よりも多数が必要である。
次に、これらの教師画像を分類すべき分類カテゴリの種別と、分類カテゴリごとに1枚ずつの典型例とを指定することが、表示部36への適宜のメッセージ表示によりユーザに求められる。ユーザからの指定入力は入力受付部35により受け付けられる(ステップS302)。分類カテゴリおよび典型例の指定は事後的に変更することが可能であり、この時点で厳密な判断がユーザに要求されるものではない。もちろん、早期に的確な指定がなされることで、以降の処理はさらに効率的なものとなる。
続いて、各教師画像の類似度合いを可視化表示するためのマップの次元が設定される(ステップS303)。後述するように、この実施形態では、典型例として指定された教師画像に対し、他の教師画像がどの程度類似しているかが各種の表示態様で表示される。例えば教師画像の分布を任意の次元のマップ空間での散布図として表すことができるが、その次元が選択可能である。この次元の設定については、ユーザ指定を受け付けるようにしてもよく、また指定された分類カテゴリの種別数に応じて自動的に設定されるようにしてもよい。
原理的には、例えば任意の次元の超立方体をマップ空間とすることが可能である。このうち、ユーザが画像の分布を直感的に把握しやすい態様で可視化することのできるマップ空間は、二次元空間における正方形、三次元空間における立方体などである。その他、正方形または立方体を複数用いて、より高次元でのマップ表現も可能である。
次に、各教師画像の特徴を表す複数種の特徴量が、特徴量算出部34により算出される(ステップS304)。各教師画像は、複数の特徴量を要素とする特徴ベクトルによってその特徴が数値表現される。マップ空間での見やすい可視化という目的のためには、各画像の特徴量は所定の数値範囲、例えば0ないし1の範囲で正規化された形式で表現されてもよい。以下、各教師画像の特徴ベクトルはこのように正規化された特徴量によって表されるものとする。
なお、ステップS302ないしステップS304の実行順序は上記に限定されず、任意の順序で実行して同じ結果を得ることが可能である。
多次元特徴空間における画像の分布をより低次元のマップ空間に写像し可視化する手法として、T.コホネン(コホーネン)により提唱された自己組織化マップ(SOM)が有名である。SOMでは、マップ空間を構成する各ノードの参照ベクトルが、入力ベクトルである教師画像の特徴ベクトルに応じて調整されることによりノードが学習を行う。そして、学習されたノードの参照ベクトルに基づいて未知の画像をマッピングする。具体的には、未知の画像の特徴ベクトルと近い参照ベクトルを有するノードに当該画像を配置することで、マップ空間における当該画像の位置が決定される。
この実施形態でも、SOMの基本原理を用いてマッピングを行うことで、相互に類似する画像をマップ空間上の近接位置に配置することで、画像間の類似度が表される。ただし、各ノードの参照ベクトルの初期値の設定方法が公知のSOMとは異なっており、ユーザにより指定された典型例の情報がマッピングに反映されるようになっている。この目的のために、超立方体として設定されたマップ空間の各頂点に対応するノードに対し、ユーザにより指定された典型例の情報に基づいて決定される参照ベクトルの初期値が配置される(ステップS305)。
図5は参照ベクトルの初期値を説明する図である。より具体的には、図5(a)はマップ空間の頂点に対応するノードへの参照ベクトルの配置を示し、図5(b)は初期化終了後の各ノードへの参照ベクトルの配置を示す。ここでは、2種類の分類カテゴリがあり、それぞれ1つずつ典型例が指定されているものとする。また、各教師画像はXY平面上の二次元マップ空間に写像されるものとする。
なお、図5(a)および図5(b)では、原理を理解しやすくするために、参照ベクトルR=(r1,r2,…,ri,…)を構成する複数の要素のうち、一の特徴量に対応する一の要素riのみが図示されている。すなわち参照ベクトルWがあたかもスカラー量のように表現されているが、SOMの原理に則り、実際にはベクトル量としての参照ベクトルRがマップ空間(この場合はXY平面)に配置される。
この実施形態では、図5(a)に示すように、マップ空間の各頂点のうち、マップ空間において最も離れた位置にある(この例では正方形の対角に位置する)2つの頂点に対応するノードに、各要素ri(i=1,2,…)の値が全ての教師画像の特徴ベクトルの当該要素riの値の最小値以下である参照ベクトルRmin、および各要素ri(i=1,2,…)の値が全ての教師画像の特徴ベクトルの当該要素riの値の最大値以上である参照ベクトルRmaxがそれぞれ配置される。
参照ベクトルRminとしては、例えばゼロベクトル(0,0,…,0)を用いることができる。また、参照ベクトルRmaxとしては、例えば正規化された特徴量の最大値1を各要素の値とするベクトル(1,1,…,1)を用いることができる。
正方形マップ空間の他の2つの頂点に対応するノードには、ユーザにより指定された2つの分類カテゴリ(例えば「気泡」と「異物」)に対応する2つの典型例の特徴ベクトルと等しい参照ベクトルR1、R2がそれぞれ配置される。このような配置を可能とするために、マップ空間は、分類カテゴリの種類数N(Nは2以上の整数)に対して(N+2)以上の頂点を有する超立方体であることが必要である。言い換えれば、分類カテゴリの種類数Nが決まればマップ空間の次元を決定することができる。
上記のように分類カテゴリ数Nが2のとき、マップ空間は二次元以上、例えば二次元平面上の適宜の形状、例えば正方形とすることができる。また、分類カテゴリ数Nが3ないし6のとき、マップ空間は三次元以上、例えば立方体とすることができる。また例えば、分類カテゴリ数Nが7ないし14のとき、マップ空間は四次元以上の超立方体とすることができる。
N個の典型例に対し、マップ空間の頂点の数が(N+2)より大きいとき、典型例が配置されない頂点が生じる。このような頂点には、参照ベクトルRmin、Rmaxおよび典型例の特徴ベクトルとは異なる適宜の参照ベクトル、例えば全教師画像の特徴ベクトルから求めた平均的なベクトルに等しい参照ベクトルを配置することができる。
このようにして各頂点に対応するノードに配置された参照ベクトルR1、R2、Rmin、Rmaxから、マップ空間内の他の各ノードの参照ベクトルが初期化される(ステップS306)。すなわち、図5(a)において格子点として表される各ノードの参照ベクトルの初期値が求められる。具体的には、図5(a)に示すように配置された参照ベクトルをあたかも空間に配置された電荷のように扱い、これらの参照ベクトルを各位置に置くことでマップ空間にポテンシャル場が形成されると仮定する。
空間内の電位分布は、空間内での電荷配置(あるいは特定の位置における電位)を境界条件とするポアソン方程式の解として求められることが知られている。特に静電場はラプラス方程式によって記述され、空間内各部の電位はその近傍の電位の平均値によって表される。そして、電位分布を数値計算する方法としては、例えば、各部の電位をその近傍の電位の平均値によって記述し、全ての位置で電位の変化がなくなるまでこれを繰り返す方法(ガウス=ザイデル法)が知られている。このような知見は周知であるため、計算式の導出は省略する。
この考え方をマップ空間における参照ベクトルに適用すると、
(1)マップ空間の頂点に対応するノードに、典型例の特徴ベクトルに対応する参照ベクトルを配置する、
(2)頂点以外の各ノードにゼロベクトルを配置する、
(3)頂点以外の各ノードの参照ベクトルを、近傍のノードの参照ベクトルの平均に置き換える、
(4)全てのノードの参照ベクトルについて変化がなくなるまで、上記(3)を繰り返す、
という処理手順が得られる。上記手順で各ノードの参照ベクトルを求めることにより、参照ベクトルが初期化される。
上記(1)ないし(4)の処理により各ノードの参照ベクトルを初期化することで、各ノードの参照ベクトルの初期値が決定される。このとき、XY平面において各ノードの参照ベクトルの当該要素riがなすスカラー場(ポテンシャル場)は、図5(b)に示すようにマップ空間において比較的凹凸の少ない滑らかな曲面となる。すなわち、各参照ベクトルがなすベクトル場は滑らかな超曲面となる。
こうして得られた参照ベクトルを初期値として、SOMと同様の考え方で他の教師画像を用いた学習が行われる。すなわち、典型例以外の各教師画像は、当該教師画像の特徴ベクトルと最も近い参照ベクトルを有するノードに分類される(ステップS307)。特徴ベクトルと参照ベクトルとの距離については、例えば両ベクトルの内積の大きさによって評価することができ、各ノードのうち、教師画像の特徴ベクトルとの内積が最も大きくなるような参照ベクトルを有するノードが、当該教師画像が分類されるべきノードであるということができる。
そして、教師画像が分類されたノードおよびその近傍のノードの参照ベクトルが、当該ノードに分類された教師画像の特徴ベクトルに近づくように更新される(ステップS308)。学習結果が教師画像の選択順序の影響を受けないようにするために、全ての教師画像の分類が完了してから、各ノードに分類された特徴ベクトルを用いて参照ベクトルが更新される。1つのノードに複数の教師画像が分類されている場合には、それらの特徴ベクトルを平均したベクトルが用いられる。これは、いわゆるバッチ学習型SOMの考え方と同様である。
ステップS307およびS308の処理は、所定の収束条件、例えば全ての参照ベクトルの変化がなくなるまで繰り返される(ステップS309)。収束条件が成立すると(ステップS309においてYES)、各ノードの学習が終了し、最終的に得られた教師画像の分類結果が、言わば改良された自己組織化マップとして表示部36に表示出力され、ユーザに提示される(ステップS310)。
図6および図7は分類結果の表示出力例を示す図である。図6(a)に示す例では、マップ空間のノードと当該ノードに分類される教師画像の数が5行×5列のマトリクステーブルとして表示されている。すなわち、図6(a)の各枠内では、左上にノードを識別するためのノード番号が示され、右下に当該ノードに分類された教師画像の数が示されている。各ノードに対応する枠はマップ空間での位置に応じた配置で表示される。参照ベクトルR1に対応する典型例F1は左上のノード番号00の枠に含まれ、参照ベクトルR2に対応する典型例F2は右下のノード番号44の枠に含まれる。図において点線で囲んだ箇所は多くの教師画像が集まってクラスタを形成している部分を示す。
これらの典型例F1,F2を含むノードおよびその近傍のノードには多くの教師画像が含まれるクラスタが形成されており、指定された典型例が概ね適切なものであったことが示される。中でも、典型例F1を含む左上のノード00は特に多くの教師画像が集まるクラスタの中心となっており、典型例F1がこの分類カテゴリの典型例としてふさわしいものであることが示される。また、ノード00およびそれに極めて近いノードに分類された教師画像については、典型例F1と同一の分類カテゴリ(例えば気泡)が付与されるのが適切であることが、この結果からわかる。
図6(a)に示されたテーブルの表示画面は、例えばユーザがノード00を選択したとき、図6(b)に示されるように、ノード00に分類された画像Imの一覧を表示する画面ウィンドウWに切り替わるようにすることができる。選択されたノードがユーザ指定の典型例を含むノードである場合には、典型例Icと他の画像Imとをユーザが画面上で対比することができるように、これらを同一画面に並べて表示することがより好ましい。
ユーザは、一覧表示された画像を確認して問題がなければ、カーソルCを操作してそれらを一括して選択し画面左の分類カテゴリフォルダのいずれか(例えば「気泡」)に移動させることで、複数の画像に対し一括して教示を行うことができる。一方、同じカテゴリへ分類することが適当でない画像が含まれていれば選択から除外したり、他の分類カテゴリへ教示したりすることができる。このようにすることで、1つ1つの教師画像を目視判断する従来技術に比べ、ユーザによる教示作業は極めて効率的なものとなり、ユーザの作業負担は軽減される。
一方、図6(a)において、典型例F2が分類されたノード44を含む右下に形成されたクラスタでは、当該ノード44はクラスタの中心から少し外れており、むしろノード33に多くの教師画像が集まってクラスタの中心となっていると読み取れる。したがって、当該分類カテゴリ(例えば「異物」)の典型例としては、ノード33に分類された教師画像F2aから選ばれるのが好ましいことが示唆される。この場合にも、ノード33に分類された教師画像を一覧画面に表示させて、より好ましい典型例を探し直すことができる。
図6(a)からはさらに、テーブルの右上近くに、典型例F1,F2をそれぞれ含むクラスタとは離隔してもう1つのクラスタが形成されていることが読み取れる。このことは、左上のクラスタが示す「気泡」、右下のクラスタが示す「異物」とは別の欠陥種別を含んだ教師画像が相当数あることを示唆するものと言える。したがって、このクラスタに対応する分類カテゴリ(例えば「傷」)と、当該クラスタから選出した典型例F3とを新たに指定することができるようにすれば、このような欠陥種別にも事後的に対応して分類を行うことが可能となる。
この他、少数の教師画像がさらに小さなクラスタを形成し、あるいはどのクラスタにも属さず孤立するなど種々の態様で、全ての教師画像がマップ空間上に配置される。こうして、典型例とされた画像に対し他の教師画像がどの程度類似しているか、あるいは乖離しているかがマップ上の分布として明示される。
図7(a)に示す表示例では、教師画像の分類結果がXY平面上の散布図として表示される。また図7(b)に示す表示例では、ノードごとの教師画像の数がグラフとして示される。なお、図7(a)では各ドットが1つの教師画像に対応しておりドット数が画像の数を表すが、各ノードに分類された教師画像の数に応じた大きさの円によって画像の分布が表されてもよい。これらの表示態様によっても、指定された典型例の近傍やそれから離隔した位置に他の教師画像がどのように分布しているかをユーザは容易に読み取ることが可能である。ユーザの目的に応じて、これらの表示態様が適宜切り替えられることができるようにすればなお好ましい。
図8は三次元マップ空間での表示出力例を示す図である。マップ空間の次元が三次元である場合も、XYZ空間内の立方体の対角線上に当たる2つの頂点に、参照ベクトルRmin,Rmaxがそれぞれ配置される。他の6つの頂点には、最大6種類までの分類カテゴリに対応する典型例がそれぞれ配置される。
頂点に配置された典型例に類似した教師画像群はマップ空間において当該頂点の近傍に集まってクラスタを形成する。類似した画像が多数あれば大きなクラスタが形成され、少なければ小さなクラスタが形成される。また、典型例とは異なる特徴において類似する画像群は、頂点とは異なる位置にクラスタを形成する。このようなマップ表示がなされることで、二次元マップの場合と同様、ユーザは、指定した典型例に類似する画像がどの程度存在するか、あるいは典型例として指定しなかったが大きなクラスタを形成するような画像群があるか否か等を直感的に把握することができる。
なお、典型例が配置された頂点以外では、当該頂点に配置された参照ベクトルは人工的に作成されたものであり、必ずしも実在しない仮想的な画像の特徴ベクトルに対応するものとなっている。このため、当該頂点の近傍に集まってくる画像が少なくなることもあり得る。
また、異なる頂点に配置された複数の典型例を含むようにしてそれぞれ形成されるクラスタが一体となってそれらの境界が不明瞭となる場合もあり得る。このような場合には、例えばそれらの典型例がより離れた頂点に配置されるようにして再学習を行うことで、境界をより明確にすることができる場合もある。
図4に戻って、この実施形態の事前学習処理では、典型例の再指定や分類カテゴリの新設を可能となっている。すなわち、分類カテゴリや典型例の再指定が必要なときには(ステップS311においてYES)、ステップS302に戻り、分類カテゴリおよび典型例の指定を新たに受け付ける。一方、再指定が必要なければ、ユーザは上記のように表示される分類結果を参考情報としながら、未教示の教師画像について分類されるべき分類カテゴリを指定入力する教示作業を行うことができる。
全ての教師画像について教示入力が受け付けられると(ステップS312)、各教師画像の特徴量と、当該教師画像に付与された分類カテゴリに関する教示情報とに基づき、欠陥分類部32が適宜の機械学習アルゴリズムを実行して分類器を構成する(ステップS313)。これにより事前学習処理は完了し、こうして構成された分類器が、未知の欠陥画像の分類に適用される。
以上のように、この実施形態では、教師あり学習により構成された分類器を用いて未知の欠陥画像を分類することで、欠陥種別の典型例との類似度合いに基づく欠陥分類を行うことができる。多数の教師画像に対する教示作業はユーザにとって大きな負担となり得るが、この実施形態では、ユーザが各分類カテゴリに対し1つずつ典型例を指定すれば、他の教師画像の典型例との類似度合いが自動的に判定され、その結果が可視化されて提示される。そのため、ユーザによる教示作業の負担は大きく軽減され、教示作業を効率的に行うことが可能となる。すなわち、この実施形態は、ユーザが行う教示作業に対し極めて効果的な支援を提供することができる。
判定結果を可視化する手法としてはSOMの考え方が用いられるが、マップ空間の参照ベクトルの初期値の設定において、本実施形態は従来のSOMとは異なっている。従来のSOMアルゴリズムは教師なし学習を可能とするためのものである。基本的なSOMの手法では、マップ空間の各ノードの参照ベクトルが乱数により初期化される。このため、初期化された参照ベクトルによりマップ空間に形成されるベクトル場は、原理的に多くの凹凸を含むものとなる。
教師画像の特徴ベクトルが入力ベクトルとして与えられると、当該教師画像はその特徴ベクトルと最も近い参照ベクトルを有するノードに分類される。上記のように参照ベクトルがランダムに初期化されている場合、特徴ベクトルの差異が比較的小さい教師画像同士がマップ空間上で大きく離れた位置に配置されてしまうことがあり得る。特に学習の初期段階でこれが顕著である。このため、似通った特徴を有する2つの画像でありながらそれらが互いに異なるクラスタを形成することがあり、ユーザが指定する典型例を基準とした分類には適さない。
なおSOMでは、全入力データの主成分分析結果に基づいて参照ベクトルを整然と初期配置するという手法も採られるが、それにより得られる結果が人間の主観により指定される典型例を中心とした分類と一致する確率は極めて低い。このように、ユーザから何らの教示も受けない教師なし学習では、ユーザの感覚に見合った分類方法を提供することが困難である。
これに対し、この実施形態では、参照ベクトルの初期値を決定する段階で最小限のユーザ入力、すなわち幾つかの分類カテゴリの特定と、各分類カテゴリに対する1つずつの典型例の指定とを受け付ける。そして、これらの情報に基づいてマップ空間での参照ベクトルが初期化される。
具体的には、マップ空間を構成する超立方体において最も遠い2つの頂点に対応するノードに、各要素の値が全ての教師画像の特徴ベクトル以下である参照ベクトルRminと、各要素の値が全ての教師画像の特徴ベクトル以上である参照ベクトルRmaxとを配置する。超立方体の対角に当たる2つの頂点にこれらの参照ベクトルを配置することで、各教師画像の特徴ベクトルはマップ空間内の広い範囲に分布することになり、マップ空間のダイナミックレンジを有効に利用することができる。
また、超立方体の他の頂点には、ユーザにより指定された典型例の特徴ベクトルに相当する参照ベクトルが配置される。これにより、典型例がマップ空間で互いに離隔して配置されるため、1つの典型例と他の典型例との間に十分な距離を確保して、それぞれが属するクラスタの境界が曖昧になるのを抑制することができる。典型例についてユーザからの教示を受けない従来のSOMでは、このように典型例同士をマップ上で明確に分離しユーザの感覚に合った分類をすることが、原理的に不可能である。
そして、他の各ノードの参照ベクトルの初期値は、こうしてマップ空間の各頂点に対応するノードに配置された参照ベクトルを境界条件とするポアソン方程式の各ノード位置での解として与えられる。このため、初期化されたマップ空間において参照ベクトルにより形成されるベクトル場は比較的凹凸の少ない滑らかな超曲面となる。したがって、特徴ベクトルが似通った2つの教師画像が場の凹凸によって分断される確率は小さく、これらはマップ空間内で近接した位置に配置され単一のクラスタを形成すると期待される。
似た特徴を有する教師画像同士がマップ空間で複数のクラスタを形成した場合、それらが本当に別のクラスタとすべきものか、あるいは初期化の結果として偶然分断されたものかをユーザが見極める必要が生じる。このことはユーザ負担の増大を招き、教示を支援するという目的に反する。ユーザにより指定された典型例をマップ上に離隔配置し、それらの間を滑らかに接続する場を形成するような参照ベクトルを各ノードの初期値として設定することで、このような問題は回避される。
そして、こうして参照ベクトルが初期化されたノードを、典型例以外の教師画像により学習させることで、典型例と似た特徴を有する教師画像はマップ空間上で典型例の近傍に集まる一方、似ていない教師画像はより遠い位置に現れる。このように、分類カテゴリごとに1つの典型例が指定されれば、他の教師画像については自動的に典型例との関係がマップ空間上で可視化される。ユーザは提示された結果を参考にして教示作業を行うことが可能であり、教師あり学習のための教示作業におけるユーザの負担が大きく軽減されている。
教師なし学習に基づく分類では、分類結果が必ずしも人間の感覚に沿ったものとならず、ユーザが分類結果に違和感を覚えることがあり得る。一方、教師あり学習に基づく分類では、分類カテゴリ数を予め決めておいたり、全ての教師画像をユーザが目視判断したりする必要がある。本実施形態の分類方法では、これらの欠点が解消されている。
以上説明したように、この実施形態では、図4に示される事前学習処理に本発明にかかる「教示支援方法」が適用されており、そのうちステップS302ないしS306が本発明の「初期化工程」に相当し、ステップS307ないしS309が本発明の「学習工程」に相当している。そして、ステップS310が本発明の「出力工程」に相当している。また、図3に示される欠陥分類処理に本発明の「画像分類方法」が適用されており、そのうちステップS201が本発明の「取得工程」および「教示工程」に相当している。また、ステップS204が本発明の「分類工程」に相当している。
また、上記実施形態では、欠陥分類装置3としての機能が実装されたコンピュータが本発明の「コンピュータ」に相当し、表示部36が本発明の「表示手段」として機能している。
なお、本発明は上記した実施形態に限定されるものではなく、その趣旨を逸脱しない限りにおいて上述したもの以外に種々の変更を行うことが可能である。例えば、上記実施形態では、1つの正方形により二次元マップ空間が、また1つの立方体により三次元マップ空間が可視化表現されている。しかしながら、これらを複数使用してより多次元のマップ空間が表示されるようにしてもよい。
また例えば、上記実施形態は基板Sの製造ラインに設置されたインライン型検査システム1であるが、本発明にかかる教示支援方法および画像分類方法については、製造ラインとは独立して設けられたコンピュータシステムにより実現することも可能である。また、前述のように、本発明にかかる教示支援方法および画像分類方法は、一般的なハードウェア構成を有するパーソナルコンピュータやワークステーションに上記処理内容を記述した制御プログラムを実行させることにより実現可能である。したがって、既存の検査装置に追加的に組み込まれる制御プログラムとして、本発明を提供することも可能である。
また例えば、上記実施形態では、参照ベクトルRminとしてゼロベクトルを、参照ベクトルRmaxとして正規化された要素の値が全て1であるベクトルを用いているが、これらに限定されない。例えば、全ての教師画像の特徴ベクトルを要素(特徴量)ごとに比較し、各要素における最小値(または最大値)を当該要素の値とするようなベクトルを参照ベクトルRmin(または参照ベクトルRmax)として用いてもよい。また、上記実施形態では各特徴量を正規化しているが、これは処理の便宜上のものであり必須の要件ではない。
また、上記実施形態は半導体基板の欠陥を検査する検査装置であるが、本発明の適用対象は、半導体基板を検査する装置だけでなく、他の対象物、例えばプリント基板やガラス基板等を検査する装置や、各種材料の表面状態を検査する表面検査装置であってもよい。さらに、分類すべき画像は上記のような基板の欠陥画像に限定されず、例えば病理組織や細胞等の生物試料を撮像した画像、人間の顔認識のための画像などであってもよく、このような画像を分類する目的のために、本発明を適用することも可能である。
以上、具体的な実施形態を例示して説明してきたように、この発明にかかる教示支援方法の学習工程は、画像のノードへの分類と分類結果に基づく参照ベクトルの更新とを、所定の収束条件が満たされるまで交互に繰り返すように構成されてもよい。参照ベクトルの1回の更新で目的に応じた初期値が得られることはまれであり、処理を繰り返して学習結果を収束させるようにすることで、より分類精度を高めることができる。
また例えば、学習工程は、マップ空間の各頂点に配置された参照ベクトルを更新しないように構成されてもよい。こうすることで、頂点ではユーザにより指定された典型画像に対応する参照ベクトルが保持されるので、典型画像に類似した画像によるクラスタをマップ空間の頂点付近に形成させることができ、他の典型例がなすクラスタとの間を明確に分離することができる。
また、初期化工程において、マップ空間の頂点の数が(N+2)より大きいとき、第1および第2の頂点以外のN個の頂点に、N枚の典型画像の各々に対応する特徴ベクトルを参照ベクトルとして配置し、残りの頂点に、M枚の画像の特徴ベクトルの平均に相当する参照ベクトルを配置するようにしてもよい。このように、典型例が配置された頂点以外の頂点には平均的な参照ベクトルを配置することで、典型例と類似する特徴を有する教師画像が他の頂点に引き寄せられることが抑制され、典型例に類似した画像を典型例の周囲に効果的に集めることができる。
また例えば、正方形または立方体をマップ空間として、出力工程では、当該マップ空間における画像の分布を表す散布図を表示手段に表示出力するように構成されてもよい。このような表示態様では、各教師画像が典型例とどの程度類似しているか、あるいは各典型例に類似する他の教師画像がどの程度あるかが一目瞭然となる。
また例えば出力工程では、一の典型画像と、当該典型画像の近傍にある少なくとも一つの他の画像とを、表示手段の同一画面に表示出力するようにしてもよい。このような表示態様によれば、ユーザは典型画像に類似していると判定された他の画像を典型画像と比較し評価することが可能となる。
また、本発明にかかる画像分類方法では、教示工程に先立って、取得工程で取得された画像のうちから典型画像の指定入力を受け付けるようにしてもよい。このような構成では、取得工程においては典型画像であるか否かとは関係なく種々の画像を収集することができ、収集された多くの画像を教師画像とすることで、分類性能の優れた分類器を構成することが可能になる。