(57)【要約】【課題】検査対象物に発生する欠陥の大きさにかかわらず欠陥の検出精度を維持可能な学習型の欠陥検出装置、欠陥検出方法および欠陥検出プログラムを提供する。【解決手段】検査画像ＩＭＧから、大きさの異なる複数の部分領域ＢＬＫ（１），ＢＬＫ（２），・・・，ＢＬＫ（ｍ）を抽出する。抽出された部分領域ＢＬＫ（１），ＢＬＫ（２），・・・，ＢＬＫ（ｍ）の各々の画像情報からそれぞれの画像ベクトルを算出し、さらに各画像ベクトルと対応する固有空間との間の距離Ｏｕｔ１，Ｏｕｔ２，・・・，Ｏｕｔｍを算出する。さらに、これらの距離を要素とする応答ベクトルを算出し、この応答ベクトルを特徴空間に写像する。そして、予め決定した判別関数に基づいて、この応答ベクトルが正常値であるかはずれ値であるかを判断する。【選択図】図５
2010203845.tif 000002
【特許請求の範囲】
【請求項１】
欠陥を含まない学習画像から取得された学習結果に基づいて検査画像における欠陥を検出する欠陥検出装置であって、
前記検査画像に設定された第１の評価領域を包含し、かつ互いに大きさの異なる複数の部分領域それぞれの画像情報を抽出する手段と、
前記検査画像から抽出される前記画像情報の各々から、前記部分領域の大きさ毎に検査画像ベクトルを生成する手段と、
前記部分領域の大きさ毎の検査画像ベクトルの各々について、対応の固有空間との間の距離を算出する手段と、
予め定められた判別関数を参照して、前記部分領域の大きさ毎の前記距離を要素とする第１の応答ベクトルに基づいて、前記第１の評価領域における欠陥の有無を判断する手段とを備える、欠陥検出装置。
【請求項２】
前記学習画像に順次設定される第２の評価領域を含み、かつ前記検査画像から抽出される前記複数の部分領域とそれぞれ同じ大きさを有する複数の部分領域の画像情報をそれぞれ抽出する手段と、
前記学習画像から抽出される前記画像情報の各々から、前記部分領域の大きさ毎に評価領域画像ベクトルを順次生成する手段と、
前記部分領域の大きさ毎の評価領域画像ベクトルの各々について、対応の固有空間との間の距離を順次算出する手段と、
各々が前記部分領域の大きさ毎の前記距離を要素とする第２の応答ベクトルの集合に基づいて、前記集合内と前記集合外との境界を規定する前記判別関数を決定する手段とをさらに備える、請求項１に記載の欠陥検出装置。
【請求項３】
前記判別関数を決定する手段は、はずれ値検出手法に従って、前記判別関数を決定する、請求項２に記載の欠陥検出装置。
【請求項４】
前記学習画像から、前記複数の部分領域のうち１つの部分領域と同じ大きさの第３の部分領域の画像情報を順次抽出する手段と、
順次抽出される前記第３の部分領域の画像情報から学習画像ベクトルを生成する手段と、
前記学習画像ベクトルを含むベクトルの組から固有ベクトルを算出する手段と、
算出される前記固有ベクトルのうち、その固有値が大きいものから順に所定数の固有ベクトルを用いて、前記第３の部分領域の大きさにおける前記固有空間を決定する手段をさらに備える、請求項１〜３のいずれか１項に記載の欠陥検出装置。
【請求項５】
欠陥を含まない学習画像から取得された学習結果に基づいて検査画像における欠陥を検出する欠陥検出装置であって、
前記学習画像に順次設定される第１の評価領域を含み、かつ互いに大きさの異なる複数の部分領域それぞれの画像情報を抽出する手段と、
前記学習画像から抽出される前記画像情報の各々から、前記部分領域の大きさ毎に評価領域画像ベクトルを順次生成する手段と、
前記部分領域の大きさ毎の評価領域画像ベクトルの各々について、対応の固有空間との間の距離を順次算出する手段と、
各々が前記部分領域の大きさ毎の前記距離を要素とする応答ベクトルの集合に基づいて、前記集合内と前記集合外との境界を規定する前記判別関数を決定する手段と、
前記検査画像に順次設定される第２の評価領域を含み、かつ前記学習画像から抽出される前記複数の部分領域とそれぞれ同じ大きさを有する複数の部分領域の画像情報をそれぞれ抽出し、この抽出される前記画像情報から生成される検査画像ベクトルと、前記判別関数とに基づいて、前記第２の評価領域における欠陥の有無を判断する手段とを備える、欠陥検出装置。
【請求項６】
前記判別関数を決定する手段は、はずれ値検出手法に従って、前記判別関数を決定する、請求項５に記載の欠陥検出装置。
【請求項７】
演算装置および記憶装置を含むコンピュータを用いて、学習画像から取得された学習結果に基づいて検査画像における欠陥を検出する欠陥検出方法であって、
前記演算装置が、前記記憶装置に格納された前記検査画像に設定される第１の評価領域を包含し、かつ互いに大きさの異なる複数の部分領域それぞれの画像情報を抽出するステップと、
前記演算装置が、前記検査画像から抽出する前記画像情報の各々から、前記部分領域の大きさ毎に検査画像ベクトルを生成するステップと、
前記演算装置が、前記部分領域の大きさ毎の検査画像ベクトルの各々について、対応の固有空間との間の距離を算出するステップと、
前記演算装置が、予め前記記憶装置に格納された判別関数を参照して、前記部分領域の大きさ毎の前記距離を要素とする第１の応答ベクトルに基づいて、前記第１の評価領域における欠陥の有無を判断するステップとを含む、欠陥検出方法。
【請求項８】
演算装置および記憶装置を含むコンピュータを用いて、学習画像から取得された学習結果に基づいて検査画像における欠陥を検出する欠陥検出方法であって、
前記演算装置が、前記記憶装置に格納された前記学習画像に順次設定される第１の評価領域を含み、かつ互いに大きさの異なる複数の部分領域それぞれの画像情報を抽出するステップと、
前記演算装置が、前記学習画像から抽出する前記画像情報の各々から、前記部分領域の大きさ毎に評価領域画像ベクトルを順次生成するステップと、
前記演算装置が、前記部分領域の大きさ毎の評価領域画像ベクトルの各々について、対応の固有空間との間の距離を順次算出するステップと、
前記演算装置が、各々が前記部分領域の大きさ毎の前記距離を要素とする応答ベクトルの集合に基づいて、前記集合内と前記集合外との境界を規定する前記判別関数を決定するステップと、
前記演算装置が、前記記憶装置に格納された前記検査画像に順次設定される第２の評価領域を含み、かつ前記学習画像から抽出される前記複数の部分領域とそれぞれ同じ大きさを有する複数の部分領域の画像情報をそれぞれ抽出し、この抽出される前記画像情報から生成される検査画像ベクトルと、前記判別関数とに基づいて、前記第２の評価領域における欠陥の有無を判断するステップとを含む、欠陥検出方法。
【請求項９】
コンピュータを用いて、学習画像から取得された学習結果に基づいて検査画像における欠陥を検出する欠陥検出プログラムであって、コンピュータを、
前記検査画像に設定された第１の評価領域を包含し、かつ互いに大きさの異なる複数の部分領域それぞれの画像情報を抽出する手段と、
前記検査画像から抽出される前記画像情報の各々から、前記部分領域の大きさ毎に検査画像ベクトルを生成する手段と、
前記部分領域の大きさ毎の検査画像ベクトルの各々について、対応の固有空間との間の距離を算出する手段と、
予め定められた判別関数を参照して、前記部分領域の大きさ毎の前記距離を要素とする第１の応答ベクトルに基づいて、前記第１の評価領域における欠陥の有無を判断する手段として機能させる、欠陥検出プログラム。
【請求項１０】
コンピュータを用いて、学習画像から取得された学習結果に基づいて検査画像における欠陥を検出する欠陥検出プログラムであって、コンピュータを、
前記学習画像に順次設定される第１の評価領域を含み、かつ互いに大きさの異なる複数の部分領域それぞれの画像情報を抽出する手段と、
前記学習画像から抽出される前記画像情報の各々から、前記部分領域の大きさ毎に評価領域画像ベクトルを順次生成する手段と、
前記部分領域の大きさ毎の評価領域画像ベクトルの各々について、対応の固有空間との間の距離を順次算出する手段と、
各々が前記部分領域の大きさ毎の前記距離を要素とする応答ベクトルの集合に基づいて、前記集合内と前記集合外との境界を規定する前記判別関数を決定する手段と、
前記検査画像に順次設定される第２の評価領域を含み、かつ前記学習画像から抽出される前記複数の部分領域とそれぞれ同じ大きさを有する複数の部分領域の画像情報をそれぞれ抽出し、この抽出される前記画像情報から生成される検査画像ベクトルと、前記判別関数とに基づいて、前記第２の評価領域における欠陥の有無を判断する手段として機能させる、欠陥検出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は検査画像から欠陥を検出する欠陥検出装置、欠陥検出方法および欠陥検出プログラムに関し、特に学習画像から取得された学習結果に基づいて欠陥を検出する技術に関するものである。
【背景技術】
【０００２】
従来から、ＦＡ（Factory Automation）分野などにおいては、検査対象物（対象ワーク）に現れるキズやゴミなどの欠陥を検出する欠陥検査技術が開発されてきた。このような欠陥検査技術の代表的な方法として、検査対象物を撮影して得られる検査画像に対して画像処理を行なうことで欠陥を検出する、いわゆる画像計測を用いた欠陥検査が実用化されている。
【０００３】
このような画像計測を用いた欠陥検査の中でも、欠陥に相当するモデルを予め取得しておき、検査画像の各領域をこのモデルと比較することで、欠陥を検出する方法が一般的に採用されてきた。
【０００４】
これに対して、画像の全体で成り立つ性質から画像中の全体と異なる部分を検出する方法が提案されている。たとえば、非特許文献１には、画像のフラクタル性や周期性によって得られる画像の局所領域間における相関性に着目した欠陥検出方法が開示されている。
【０００５】
この欠陥検出方法によれば、検査画像からサンプルを複数切り出し、このサンプル毎に画像ベクトルを算出する。そして、これらの画像ベクトル列に対して固有ベクトル列を算出することによって固有空間を生成し、この固有空間とサンプル（画像ベクトル）との距離を用いて欠陥箇所を検出する。このような検出方法は、固有空間欠陥検出器（ＥＳＤＤ：Eigen Space Defect Detector）と称され、本明細書においても、固有空間と画像ベクトルとの距離に基づく欠陥の検出方法を「ＥＳＤＤ」とも総称する。
【０００６】
このように、ＥＳＤＤによれば、予め欠陥に相当するモデルを取得しておく必要がないので、検査対象物に生じ得る欠陥を予めモデル化することが困難な場合であっても、欠陥を検出できるという利点がある。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】天野敏之、「画像の相関性に基づく欠陥検出」、画像の認識・理解シンポジウム（ＭＩＲＵ２００５）、２００５年７月
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、検査対象物に生じる欠陥が、検査サンプルに比較して極端に大きな場合、あるいは極端に小さな場合には、欠陥の検出精度が低下するおそれがある。そのため、検査対象物に発生する欠陥の大きさにバラツキがある場合などには、特定の大きさの欠陥だけが検出対象として検出される一方、その他の欠陥は検出されないという問題が生じ得る。
【０００９】
そこで、この発明は、かかる問題を解決するためになされたものであり、その目的は、検査対象物に発生する欠陥の大きさにかかわらず欠陥の検出精度を維持可能な学習型の欠陥検出装置、欠陥検出方法および欠陥検出プログラムを提供することである。
【課題を解決するための手段】
【００１０】
この発明のある局面に従えば、欠陥を含まない学習画像から取得された学習結果に基づいて検査画像における欠陥を検出する欠陥検出装置を提供する。欠陥検出装置は、検査画像に設定された第１の評価領域を包含し、かつ互いに大きさの異なる複数の部分領域それぞれの画像情報を抽出する手段と、検査画像から抽出される画像情報の各々から、部分領域の大きさ毎に検査画像ベクトルを生成する手段と、部分領域の大きさ毎の検査画像ベクトルの各々について、対応の固有空間との間の距離を算出する手段と、予め定められた判別関数を参照して、部分領域の大きさ毎の距離を要素とする第１の応答ベクトルに基づいて、第１の評価領域における欠陥の有無を判断する手段とを備える。
【００１１】
この発明によれば、第１の評価領域に対して互いに大きさの異なる複数の部分領域が設定されとともに、各部分領域について、その画像情報から生成される画像ベクトルと対応の固有空間との間の距離を算出する。さらに、各部分領域についての大きさ毎の距離を要素とする第１の応答ベクトルを生成し、予め定められた判別関数を参照して、この第１の応答ベクトルを評価することで、第１の評価領域における欠陥の有無を判断する。このように、第１の評価領域を互いに大きさの異なる複数の部分領域の単位におけるそれぞれの評価結果を総合した上で、欠陥の有無を判断するので、検査画像に発生し得る欠陥の大きさのバラツキによる影響を抑制し、欠陥の検出精度をより高めることができる。
【００１２】
好ましくは、欠陥検出装置は、学習画像に順次設定される第２の評価領域を含み、かつ検査画像から抽出される複数の部分領域とそれぞれ同じ大きさを有する複数の部分領域の画像情報をそれぞれ抽出する手段と、学習画像から抽出される画像情報の各々から、部分領域の大きさ毎に評価領域画像ベクトルを順次生成する手段と、部分領域の大きさ毎の評価領域画像ベクトルの各々について、対応の固有空間との間の距離を順次算出する手段と、各々が部分領域の大きさ毎の距離を要素とする第２の応答ベクトルの集合に基づいて、集合内と集合外との境界を規定する判別関数を決定する手段とをさらに備える。
【００１３】
さらに好ましくは、判別関数を決定する手段は、はずれ値検出手法に従って、判別関数を決定する。
【００１４】
好ましくは、欠陥検出装置は、学習画像から、複数の部分領域のうち１つの部分領域と同じ大きさの第３の部分領域の画像情報を順次抽出する手段と、順次抽出される第３の部分領域の画像情報から学習画像ベクトルを生成する手段と、学習画像ベクトルを含むベクトルの組から固有ベクトルを算出する手段と、算出される固有ベクトルのうち、その固有値が大きいものから順に所定数の固有ベクトルを用いて、第３の部分領域の大きさにおける固有空間を決定する手段をさらに備える。
【００１５】
この発明の別の局面に従えば、欠陥を含まない学習画像から取得された学習結果に基づいて検査画像における欠陥を検出する欠陥検出装置を提供する。欠陥検出装置は、学習画像に順次設定される第１の評価領域を含み、かつ互いに大きさの異なる複数の部分領域それぞれの画像情報を抽出する手段と、学習画像から抽出される画像情報の各々から、部分領域の大きさ毎に評価領域画像ベクトルを順次生成する手段と、部分領域の大きさ毎の評価領域画像ベクトルの各々について、対応の固有空間との間の距離を順次算出する手段と、各々が部分領域の大きさ毎の距離を要素とする応答ベクトルの集合に基づいて、集合内と集合外との境界を規定する判別関数を決定する手段と、検査画像に順次設定される第２の評価領域を含み、かつ学習画像から抽出される複数の部分領域とそれぞれ同じ大きさを有する複数の部分領域の画像情報をそれぞれ抽出し、この抽出される画像情報から生成される検査画像ベクトルと、判別関数とに基づいて、第２の評価領域における欠陥の有無を判断する手段とを備える。
【００１６】
好ましくは、判別関数を決定する手段は、はずれ値検出手法に従って、判別関数を決定する。
【００１７】
この発明のさらに別の局面に従えば、演算装置および記憶装置を含むコンピュータを用いて、学習画像から取得された学習結果に基づいて検査画像における欠陥を検出する欠陥検出方法を提供する。欠陥検出方法は、演算装置が、記憶装置に格納された検査画像に設定される第１の評価領域を包含し、かつ互いに大きさの異なる複数の部分領域それぞれの画像情報を抽出するステップと、検査画像から抽出する画像情報の各々から、部分領域の大きさ毎に検査画像ベクトルを生成するステップと、部分領域の大きさ毎の検査画像ベクトルの各々について、対応の固有空間との間の距離を算出するステップと、予め記憶装置に格納された判別関数を参照して、部分領域の大きさ毎の距離を要素とする第１の応答ベクトルに基づいて、第１の評価領域における欠陥の有無を判断するステップとを含む。
【００１８】
この発明のさらに別の局面に従えば、演算装置および記憶装置を含むコンピュータを用いて、学習画像から取得された学習結果に基づいて検査画像における欠陥を検出する欠陥検出方法を提供する。欠陥検出装置は、演算装置が、記憶装置に格納された学習画像に順次設定される第１の評価領域を含み、かつ互いに大きさの異なる複数の部分領域それぞれの画像情報を抽出するステップと、学習画像から抽出する画像情報の各々から、部分領域の大きさ毎に評価領域画像ベクトルを順次生成するステップと、部分領域の大きさ毎の評価領域画像ベクトルの各々について、対応の固有空間との間の距離を順次算出するステップと、各々が部分領域の大きさ毎の距離を要素とする応答ベクトルの集合に基づいて、集合内と集合外との境界を規定する判別関数を決定するステップと、記憶装置に格納された検査画像に順次設定される第２の評価領域を含み、かつ学習画像から抽出される複数の部分領域とそれぞれ同じ大きさを有する複数の部分領域の画像情報をそれぞれ抽出し、この抽出される画像情報から生成される検査画像ベクトルと、判別関数とに基づいて、第２の評価領域における欠陥の有無を判断するステップとを含む。
【００１９】
この発明のさらに別の局面に従えば、コンピュータを用いて、学習画像から取得された学習結果に基づいて検査画像における欠陥を検出する欠陥検出プログラムを提供する。欠陥検出プログラムは、コンピュータを、検査画像に設定された第１の評価領域を包含し、かつ互いに大きさの異なる複数の部分領域それぞれの画像情報を抽出する手段と、検査画像から抽出される画像情報の各々から、部分領域の大きさ毎に検査画像ベクトルを生成する手段と、部分領域の大きさ毎の検査画像ベクトルの各々について、対応の固有空間との間の距離を算出する手段と、予め定められた判別関数を参照して、部分領域の大きさ毎の距離を要素とする第１の応答ベクトルに基づいて、第１の評価領域における欠陥の有無を判断する手段として機能させる。
【００２０】
この発明のさらに別の局面に従えば、コンピュータを用いて、学習画像から取得された学習結果に基づいて検査画像における欠陥を検出する欠陥検出プログラムを提供する。欠陥検出プログラムは、コンピュータを、学習画像に順次設定される第１の評価領域を含み、かつ互いに大きさの異なる複数の部分領域それぞれの画像情報を抽出する手段と、学習画像から抽出される画像情報の各々から、部分領域の大きさ毎に評価領域画像ベクトルを順次生成する手段と、部分領域の大きさ毎の評価領域画像ベクトルの各々について、対応の固有空間との間の距離を順次算出する手段と、各々が部分領域の大きさ毎の距離を要素とする応答ベクトルの集合に基づいて、集合内と集合外との境界を規定する判別関数を決定する手段と、検査画像に順次設定される第２の評価領域を含み、かつ学習画像から抽出される複数の部分領域とそれぞれ同じ大きさを有する複数の部分領域の画像情報をそれぞれ抽出し、この抽出される画像情報から生成される検査画像ベクトルと、判別関数とに基づいて、第２の評価領域における欠陥の有無を判断する手段として機能させる。
【発明の効果】
【００２１】
この発明によれば、検査対象物に発生する欠陥の大きさにかかわらず欠陥の検出精度を維持できる。
【図面の簡単な説明】
【００２２】
【図１】この発明の実施の形態１に従う欠陥検出装置を含む欠陥検出システムの全体構成を示す概略図である。
【図２】コンピュータのハードウェア構成を示す概略構成図である。
【図３】学習型ＥＳＤＤを用いて欠陥検出を行なう場合の処理を説明するための図である。
【図４】検査画像内に発生する欠陥の一例を示す図である。
【図５】この発明の実施の形態１に従う欠陥検出装置に設定される部分領域の大きさとその評価を概念的に説明するための図である。
【図６】この発明の実施の形態１に従う欠陥検出装置における学習処理および欠陥検出処理を概念的に説明するための図である。
【図７】この発明の実施の形態１に従う欠陥検出装置の制御構造を示す機能ブロック図である。
【図８】この発明の実施の形態１に従う欠陥検出装置における画像ベクトルの生成処理を概念的に説明するための図である。
【図９】この発明の実施の形態１に従う欠陥検出装置における部分領域の画像情報を概念的に説明するための図である。
【図１０】複数の部分領域の設定方法の一例を示す図である。
【図１１】評価領域に対応する部分領域セットの設定方法の一例を示す図である。
【図１２】部分領域セットに含まれ得る部分領域の上限ベクトルサイズおよび下限ベクトルサイズを示す図である。
【図１３】部分領域セットの一部が学習画像からはみ出る場合の処理を説明するための図である。
【図１４】固有空間と画像ベクトルとの距離を説明するための図である。
【図１５】１次元の固有空間と画像ベクトルとの距離を説明するための図である。
【図１６】部分領域が重複して設定される領域の固有空間に対する距離の算出方法を説明するための図である。
【図１７】この発明の実施の形態１に従う欠陥検出システムにおいて対象ワークに発生し得る欠陥を検出するための処理手順を示すフローチャートである。
【図１８】この発明の実施の形態１に従う学習処理の処理手順を示すフローチャートである。
【図１９】この発明の実施の形態１に従う欠陥検出処理の処理手順を示すフローチャートである。
【図２０】この発明の実施の形態２に従う欠陥検出装置の制御構造を示す機能ブロック図である。
【図２１】周期的なテクスチャを有する対象ワークの一例を示す図である。
【図２２】検査画像に表れる周期的な濃淡模様の位置がばらつく場合において、抽出される部分領域の一例を示す図である
【図２３】検査画像ＩＭＧに設定された評価領域に対応する代表的な部分領域ＢＬＫについての固有空間に対する距離を視覚的に示した図の一例である。
【図２４】検査画像における基準位置の検索処理を説明するための図である。
【図２５】検査画像における基準位置を検索するための検索領域の決定方法を説明するための図である。
【図２６】濃淡模様の周期について説明するための図である。
【図２７】距離算出部において順次算出される距離の一例を示す図である。
【図２８】検査画像に対して、抽出された候補点の一例を示す図である。
【図２９】部分領域設定部によって検査画像に対して設定される部分領域を説明するための図である。
【図３０】設定された部分領域の一部が検査画像からはみ出る場合の処理を説明するための図である。
【図３１】対象とする周期的な濃淡模様をもつ検査画像の一例を示す図である。
【図３２】図３１に示す検査画像に対して、従来の方法および本実施の形態に従う方法を適用した場合の結果を示す図である。
【図３３】この発明の実施の形態２に従う欠陥検出システムにおいて対象ワークに発生し得る欠陥を検出するための処理手順を示すフローチャートである。
【図３４】この発明の実施の形態２に従う基準位置検索処理の処理手順を示すフローチャートである。
【図３５】この発明の実施の形態２の変形例に従う対象ワークを撮像して得られた画像ＳＭＰの一例を示す図である。
【図３６】この発明の実施の形態２の変形例に従う欠陥検出システムにおいて周期性を有する対象ワークについての画像ベクトルを生成するための処理手順を示すフローチャートである。
【図３７】この発明の実施の形態３に従う欠陥検出装置を含む欠陥検出システムを示す概略図である。
【発明を実施するための形態】
【００２３】
この発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
【００２４】
［実施の形態１］
（全体装置構成）
図１は、この発明の実施の形態１に従う欠陥検出装置を含む欠陥検出システム１の全体構成を示す概略図である。
【００２５】
図１を参照して、欠陥検出システム１は、代表的に生産ラインなどに組込まれ、欠陥検査の対象となるワーク（以下、対象ワークとも称す）における欠陥の有無および欠陥の発生位置を検出する。欠陥とは、代表的に対象ワークに生じるキズやゴミなどを意味する。
【００２６】
本実施の形態に従う欠陥検出システム１においては、対象ワーク２は、ベルトコンベヤなどの搬送機構６によって搬送され、搬送された対象ワーク２は、撮像部８において順次撮影される。撮像部８によって撮影された画像（以下、「検査画像」とも称す）は、本実施の形態に従う欠陥検出装置を実現する代表例であるコンピュータ１００へ伝送される。
【００２７】
撮像部８は、一例として、ＣＣＤ（Coupled Charged Device）やＣＭＯＳ（Complementary Metal Oxide Semiconductor）センサなどの撮像素子およびレンズを備え、対象ワーク２または後述する基準ワーク４を撮影する。なお、撮像部８は、搬送機構６の搬送動作に応じてコンピュータ１００が発生する撮影指令などに従って撮影を行なう。
【００２８】
この撮像部８で撮影される画像は、典型的には、画素単位で画像情報を有する。代替的に、複数の画素をまとめたブロック単位で画像情報を有するようにしてもよい。このような「画像情報」としては、撮像部８が３バンドのカラーカメラであれば、光の三原色に基づく「赤色」「緑色」「青色」の階調値（Ｒ成分値、Ｇ成分値、Ｂ成分値）で特定される情報が用いられる。代替的に、画像情報として、光の三原色の補色である「シアン」「マゼンダ」「黄色」の階調値（Ｃ成分値、Ｍ成分値、Ｙ成分値）で特定される情報を用いてもよい。また、撮像部８がより多くのバンド数を有するカラーカメラであれば、そのバンド数に応じた数の階調値で特定される情報が用いられる。
【００２９】
あるいは、撮像部８がモノクロカメラであれば、濃淡を示す階調値（グレイスケール）で特定される情報を用いてもよい。この階調値を２段階とした場合には、「白」または「黒」の２値化画像を表わすことになる。
【００３０】
さらに、上述のような階調値に代えて、「色相（Hue）」「明度（Value）」「彩度（Chroma）」の各パラメータからなる色属性を画像情報」として用いてもよい。
【００３１】
特に本実施の形態に従う欠陥検出装置は、欠陥検査の基準にすべき基準ワーク４を予め撮影しておき、この撮影によって得られる画像（以下、「学習画像」とも称す）から学習結果を取得し、この学習結果に基づいて検査画像における欠陥を検出する（以下、本発明に係る欠陥検出装置による欠陥検出を「学習型ＥＳＤＤ」とも称す）。そのため、基準ワーク４としては、対象ワーク２と同一種類の製品を選択する必要がある。なお、基準ワーク４（すなわち、学習画像）は欠陥を含まないことが望ましい。ここで、「欠陥を含まない」とは、所定の判断基準下で欠陥と判断される部分を含まないことを意味する。
【００３２】
また、本明細書においては、学習結果の代表例として、互いにベクトルサイズの異なる複数の画像ベクトルと対応の固有空間との距離を要素として有する応答ベクトルを評価するための判別関数を用いる。この判別関数や応答ベクトルについては、後述する。
【００３３】
一方、対象ワーク２としては、電子部品やプラスチック部品などの連続的に生産される同一種類の製品が適している。なお、本発明に係る欠陥検出装置が欠陥検出の対象とする対象ワークの大きさや種類などは特に制限されない。さらに、工場の生産ラインで製造されるものに限られず、りんごなどの農作物の傷や映画フィルムにおけるスクラッチ傷などを検出することもできる。
【００３４】
欠陥検出システム１は、撮像部８の撮影範囲の付近を照明するための照明部１０と、この照明部１０を駆動する光源部１２とをさらに含む。そして、この光源部１２は、コンピュータ１００からの照明指令に従って、照明部１０から所定の光量の光を照射させる。照明部１０から照射される光は、比較的波長スペクトルの広いものが望ましい。
【００３５】
また、コンピュータ１００は、ＦＤ（Flexible Disk）駆動装置１１１およびＣＤ−ＲＯＭ（Compact Disk-Read Only Memory)駆動装置１１３を備えたコンピュータ本体１０１と、モニタ１０２と、キーボード１０３と、マウス１０４とを含む。そして、コンピュータ１００は、予め格納されたプログラムを実行することで、本実施の形態に従う欠陥検出装置を実現する。
【００３６】
（ハードウェア構成）
図２は、コンピュータ１００のハードウェア構成を示す概略構成図である。
【００３７】
図２を参照して、コンピュータ本体１０１は、図１に示すＦＤ駆動装置１１１およびＣＤ−ＲＯＭ駆動装置１１３に加えて、相互にバスで接続された、演算装置であるＣＰＵ（Central Processing Unit）１０５と、メモリ１０６と、記憶装置である固定ディスク１０７と、インターフェイス１０９とを含む。
【００３８】
ＦＤ駆動装置１１１にはＦＤ１１２が装着され、ＣＤ−ＲＯＭ駆動装置１１３にはＣＤ−ＲＯＭ１１４が装着される。上述したように、本実施の形態に従う欠陥検出装置は、ＣＰＵ１０５がメモリ１０６などのコンピュータハードウェアを用いて、プログラムを実行することで実現される。一般的に、このようなプログラムは、ＦＤ１１２やＣＤ−ＲＯＭ１１４などの記録媒体に格納されて、またはネットワークなどを介して流通する。そして、このようなプログラムは、ＦＤ駆動装置１１１やＣＤ−ＲＯＭ駆動装置１１３などにより記録媒体から読取られて、またはインターフェイス１０９にて受信されて、固定ディスク１０７に格納される。さらに、固定ディスク１０７からメモリ１０６に読出されて、ＣＰＵ１０５により実行される。
【００３９】
モニタ１０２は、ＣＰＵ１０５が出力する情報を表示するための表示部であって、一例としてＬＣＤ（Liquid Crystal Display）やＣＲＴ（Cathode Ray Tube）などから構成される。マウス１０４は、クリックやスライドなどの動作に応じたユーザからの指令を受付ける。キーボード１０３は、入力されるキーに応じたユーザからの指令を受付ける。ＣＰＵ１０５は、プログラムされた命令を順次実行することで、各種の演算を実施する演算処理部である。メモリ１０６は、ＣＰＵ１０５でのプログラム実行に応じて、各種の情報を記憶する。インターフェイス１０９は、コンピュータ１００と撮像部８（図１）や照明部１０（図１）との間の通信を確立するための装置であり、ＣＰＵ１０５が出力した情報をたとえば電気信号に変換してこれらの装置へ送出するとともに、これらの装置から電気信号を受信してＣＰＵ１０５が利用できる情報に変換する。特に、撮像部８によって撮影された画像データは、インターフェイス１０９を介して、メモリ１０６または固定ディスク１０７へ格納される。固定ディスク１０７は、ＣＰＵ１０５が実行するプログラムや画像データなどを記憶する不揮発性の記憶装置である。また、コンピュータ１００には、必要に応じて、プリンタなどの他の出力装置が接続されてもよい。
【００４０】
（学習型ＥＳＤＤによる欠陥検出処理）
図３は、学習型ＥＳＤＤを用いて欠陥検出を行なう場合の処理を説明するための図である。図３（ａ）は、欠陥を含まない学習画像ＬＮＩＭＧの一例を示し、図３（ｂ）は、欠陥ＤＥＦを含む検査画像ＩＭＧの一例を示し、図３（ｃ）は、欠陥ＤＥＦを含まない部分領域ＢＬＫ１の一例を示し、図３（ｄ）は、欠陥ＤＥＦを含む部分領域ＢＬＫ２の一例を示す。
【００４１】
図３（ａ）を参照して、まず、学習型ＥＳＤＤによれば、基準ワーク４を撮影して得られた欠陥を含まない学習画像ＬＮＩＭＧから所定の大きさの部分領域ＢＬＫＬＮが順次抽出される。そして、この学習画像ＬＮＩＭＧの全体として現れる性質（特徴）が予め取得される（学習）。なお、図３（ａ）では、図面を簡素化するために、互いに重ならないように部分領域ＢＬＫＬＮを順次抽出する例を示すが、互いに重なるように部分領域ＢＬＫＬＮを設定してもよい。
【００４２】
図３（ｂ）を参照して、続いて、学習型ＥＳＤＤによれば、対象ワーク２を撮影して得られた検査画像ＩＭＧから所定の大きさの部分領域ＢＬＫ１，ＢＬＫ２などが抽出される。なお、検査画像ＩＭＧから抽出される部分領域ＢＬＫ１，ＢＬＫ２は、学習画像ＬＮＩＭＧから抽出した部分領域ＢＬＫＬＮの大きさといずれも同じである。
【００４３】
図３（ｃ）に示すように、部分領域ＢＬＫ１が欠陥ＤＥＦを含まない場合には、部分領域ＢＬＫ１は、学習画像ＬＮＩＭＧの全体として現れる性質とほぼ同様の性質を有することになる。一方、図３（ｄ）に示すように、部分領域ＢＬＫ２に欠陥ＤＥＦが含まれる場合には、部分領域ＢＬＫ２は、学習画像ＬＮＩＭＧの全体として現れる性質とは異なる特徴的な性質を有することになる。
【００４４】
このように、学習型ＥＳＤＤによれば、基準ワーク４を撮影して得られる学習画像ＬＮＩＭＧの全体として現れる性質を予め取得（学習）しておき、この予め取得した学習画像ＬＮＩＭＧの全体として現れる性質と、検査画像ＩＭＧの対応する部分領域ＢＬＫに現れる性質とを比較することで、検査画像ＩＭＧ中の欠陥ＤＥＦを検出する。
【００４５】
図４は、検査画像ＩＭＧ内に発生する欠陥ＤＥＦ１，ＤＥＦ２の一例を示す図である。
図４を参照して、対象ワークによっては、発生する欠陥の大きさにバラツキが生じ得る。そのため、検査画像ＩＭＧ中には、部分領域ＢＬＫに収まる欠陥ＤＥＦ１が発生する場合もあれば、１つの部分領域ＢＬＫに収まりきらないような欠陥ＤＥＦ２が発生する場合もある。
【００４６】
一方、発生する欠陥の大きさを予め予測することは困難である場合が多く、予め部分領域ＢＬＫＬＮおよびＢＬＫの大きさを最適化することは難しい。また欠陥の大きさにバラツキが生じる場合などにも、部分領域ＢＬＫＬＮおよびＢＬＫの大きさを最適化することは難しい。
【００４７】
そこで、本発明に係る欠陥検出装置は、非特許文献１に開示されているＥＳＤＤとは異なり、部分領域ＢＬＫＬＮおよびＢＬＫの大きさを固定することなく、互いに大きさの異なる複数の部分領域ＢＬＫＬＮおよびＢＬＫを用いて画像を評価し、欠陥を検出する。なお、以下では、部分領域ＢＬＫＬＮおよびＢＬＫの大きさのことを「ベクトルサイズ」とも称す。
【００４８】
（学習処理および欠陥検出処理）
図５は、この発明の実施の形態１に従う欠陥検出装置に設定される部分領域の大きさとその評価を概念的に説明するための図である。
【００４９】
図６は、この発明の実施の形態１に従う欠陥検出装置における学習処理および欠陥検出処理を概念的に説明するための図である。図６（ａ）は学習処理を概念的に示し、図６（ｂ）は欠陥検出処理を概念的に示す。
【００５０】
図５を参照して、本実施の形態に従う欠陥検出装置は、学習画像ＬＮＩＭＧまたは検査画像ＩＭＧ（以下、単に「画像」と総称する場合もある）から、大きさの異なる複数の部分領域ＢＬＫＥＶ（１），ＢＬＫＥＶ（２），・・・，ＢＬＫＥＶ（ｍ）またはＢＬＫ（１），ＢＬＫ（２），・・・，ＢＬＫ（ｍ）をそれぞれ抽出する。このとき、ＢＬＫＥＶ（１），ＢＬＫＥＶ（２），・・・，ＢＬＫＥＶ（ｍ）または部分領域ＢＬＫ（１），ＢＬＫ（２），・・・，ＢＬＫ（ｍ）のうち、最も小さい（狭い）部分領域がそれぞれの評価領域となる。そして、他の部分領域は、この評価領域に相当する最も小さい領域（図５においては、部分領域ＢＬＫＥＶ（１）またはＢＬＫ（１））を包含するように設定される。以下、ある評価領域に対応する部分領域ＢＬＫＥＶ（１），ＢＬＫＥＶ（２），・・・，ＢＬＫＥＶ（ｍ）またはＢＬＫ（１），ＢＬＫ（２），・・・，ＢＬＫ（ｍ）を「部分領域セットＳＥＴ」とも称す。
【００５１】
そして、抽出された部分領域ＢＬＫＥＶ（１），ＢＬＫＥＶ（２），・・・，ＢＬＫＥＶ（ｍ）の各々の画像情報からそれぞれの画像ベクトルが算出され、さらに各画像ベクトルと対応する固有空間との間の距離Ｏｕｔ１，Ｏｕｔ２，・・・，Ｏｕｔｍが算出される。このような過程によって、各評価領域に対応する部分領域セットＳＥＴについての応答ベクトルＲＶ＝［Ｏｕｔ１，Ｏｕｔ２，・・・，Ｏｕｔｍ］が算出できる。
【００５２】
このように、学習画像ＬＮＩＭＧに設定される部分領域ＢＬＫＥＶ（１），ＢＬＫＥＶ（２），・・・，ＢＬＫＥＶ（ｍ）は、応答ベクトルＲＶの算出に用いられ、この応答ベクトルＲＶは、検査画像ＩＭＧに設定される各評価領域を評価するための判別関数の算出に用いられる。一方、後述する部分領域ＢＬＫＬＮは、主として、学習画像ＬＮＩＭＧにおける固有空間（固有ベクトル）の算出に用いられる。実際は、部分領域ＢＬＫＥＶ（１），ＢＬＫＥＶ（２），・・・，ＢＬＫＥＶ（ｍ）の大きさ（ベクトルサイズ）別に、固有空間（固有ベクトル）を算出する必要があるので、両者は同じ領域となる場合もあるが、理解を容易にするために、符号を異ならせて記載する。
【００５３】
図６（ａ）を参照して、本実施の形態に従う欠陥検出装置は、学習処理において、学習画像ＬＮＩＭＧの各評価領域に対応して算出される応答ベクトルＲＶを特徴空間に写像する。この特徴空間は、応答ベクトルを構成する各成分に対応する次元をもつ超空間となる。すなわち、この特徴空間は、各ベクトルサイズにおける画像ベクトルと固有空間との距離を基底（座標）とする。
【００５４】
そして、本実施の形態に従う欠陥検出装置は、この特徴空間に写像された応答ベクトルの集合に対して、正常値とはずれ値とを区別する。このような区別は、データマイニング（Data mining）分野のはずれ値検出手法を用いることで実現される。より具体的には、本実施の形態に従う欠陥検出装置は、正常値とはずれ値とを区別するための判別関数を決定する。すなわち、判別関数は、応答ベクトルの集合内と同集合外との境界を規定する関数である。
【００５５】
このような判別関数を決定する手順としては、以下のようになる。まず、学習画像ＬＮＩＭＧから算出される複数の応答ベクトルＲＶをクラスタリングする。このクラスタリングされた結果に対して、その距離（distance）や密度分布（density）などに基づいて、１つ以上のクラス（欠陥ではない部分に対応）を定義する。すなわち、各クラスの相違の基準を決定する。このクラスの相違の基準を示す関数が判別関数に相当する。そして、この判別関数に基づいて、何らかの検査画像ＩＭＧから算出された応答ベクトルＲＶが、定義されたいずれのクラスにも属さない場合には、「リジェクトクラス」として分類され、はずれ値、すなわち欠陥と判断される。
【００５６】
本実施の形態に従う欠陥検出装置では、応答ベクトルＲＶが「正常値」および「はずれ値」のいずれであるかを判別するだけであるので、１つのクラスのみを定義する、いわゆる「１クラス問題」の手法を用いて決定することができる。このような１クラス問題の代表的な手法として、１−クラスＳＶＭ（One-Class Support Vector Machine）やＳＶＤＤ（Support Vector Data Description）が知られている。なお、１−クラスＳＶＭについては、たとえば、文献（Siwei Lyu and Hany Farid, Steganalysis Using Color Wavelet Statistics and One-Class Support Vector Machines, Department of Science, Dartmouth College, Hanover, NH 03755, USA）を参照されたい。
【００５７】
代替的に、このような判別関数の決定手法として、Ｋ−ＮＮ法、Ｋ−Ｍｅａｎｓ法、ＭＣＤ（Minimum Covariance Determinant）法、ＧＭＭ（Gaussian Mixture Model）法、ＧＰ（Gaussian Process）法などを用いることもできる。なお、上述した、はずれ値検出手法については、文献（Sanjay Chawla and Pei Sun, "Clustering and Outlier Detection in High Dimensional Data", School of Information Technologies, University of Sydney NSW, Australia, http://www.dbs.ifi.lmu.de/CODHDD09/［インターネット］）を参照されたい。
【００５８】
以上のように、本実施の形態に従う欠陥検出装置は、学習処理において特徴空間上の判別関数（学習結果）を予め決定する。
【００５９】
図６（ｂ）を参照して、欠陥検出処理において、本実施の形態に従う欠陥検出装置は、上記の処理と同様に、検査画像ＩＭＧの各評価領域に対応する部分領域セットＳＥＴについての応答ベクトルＲＶ’を順次算出し、上記の特徴空間に写像する。そして、本実施の形態に従う欠陥検出装置は、予め決定した判別関数に基づいて、この写像した応答ベクトルＲＶ’が正常値であるかはずれ値であるかを判断する。すなわち、この写像した応答ベクトルＲＶ’が学習画像から算出される応答ベクトルの集合内に存在するか否かが判断される。そして、本実施の形態に従う欠陥検出装置は、応答ベクトルがはずれ値であれば、対応する評価領域において欠陥が存在すると検出する。
【００６０】
以上のように、本実施の形態に従う欠陥検出装置は、評価領域を包含する大きさの異なる複数の部分領域の各々についての評価結果を総合して、対象となる評価領域における欠陥の有無を判断する。そのため、欠陥の大きさと部分領域の大きさとの相対的なバラツキが存在する場合であっても、このバラツキによる欠陥検出の係る影響を抑制でき、欠陥の検出精度をより高めることができる。
【００６１】
（制御構造）
次に、上述のような処理を実現するための制御構造について説明する。
【００６２】
図７は、この発明の実施の形態１に従う欠陥検出装置の制御構造を示す機能ブロック図である。
【００６３】
図７を参照して、本実施の形態に従う欠陥検出装置は、その機能として、画像バッファ部２０２，２２２と、抽出部２０４，２１４，２２４と、ベクトル生成部２０６，２１６，２２６と、固有ベクトル算出部２０８と、固有空間決定部２１０と、距離算出部２１８，２２８と、分類部２２０と、判断部２３０と、欠陥検出部２３２と、学習結果格納部２４０とを含む。
【００６４】
画像バッファ部２０２は、メモリ１０６（図１）の所定の領域に形成され、装置外部から入力される学習画像を一時的に格納する。なお、本実施の形態においては、撮像部８から画像バッファ部２０２へ学習画像が入力される構成について例示するが、撮像部８以外の装置によって撮影された学習画像が記録媒体やネットワークなどを介して、予め固定ディスク１０７（図２）に格納されていてもよい。
【００６５】
抽出部２０４と、ベクトル生成部２０６と、固有ベクトル算出部２０８と、固有空間決定部２１０とは、各画像ベクトルとの間の距離を算出するための基準となる固有空間を決定する。なお、固有空間は、部分領域セットＳＥＴに含まれる部分領域ＢＬＫＥＶの大きさ（ベクトルサイズ）別にそれぞれ決定される。すなわち、各部分領域セットＳＥＴが互いに異なるベクトルサイズをもつｍ種類の部分領域ＢＬＫＥＶ（またはＢＬＫ）を含む場合には、ｍ個の固有空間が決定される。
【００６６】
抽出部２０４は、部分領域セットＳＥＴに含まれる複数の部分領域ＢＬＫＥＶのそれぞれについて、画像バッファ部２０２に一時的に格納される学習画像から、対応するベクトルサイズをもつ部分領域ＢＬＫＬＮをそれぞれ抽出し、このそれぞれ抽出した部分領域ＢＬＫＬＮに対応する学習画像の画像情報をベクトル生成部２０６へ出力する。言い換えれば、抽出部２０４は、画像バッファ部２０２に一時的に格納される学習画像から、ベクトルサイズ別に、学習サンプル（局所領域）を順次切り出す。
【００６７】
ベクトル生成部２０６は、抽出部２０４によって順次抽出される学習画像の部分領域ＢＬＫＬＮの画像情報から、各ベクトルサイズｊについての学習画像ベクトルｘ１ＬＮ（ｊ），ｘ２ＬＮ（ｊ），・・・，ｘＲ（ｊ）ＬＮ（ｊ）を順次生成する（但し、Ｒ（ｊ）は各ベクトルサイズｊにおける学習サンプル総数である）。
【００６８】
図８は、この発明の実施の形態１に従う欠陥検出装置における画像ベクトルの生成処理を概念的に説明するための図である。
【００６９】
図９は、この発明の実施の形態１に従う欠陥検出装置における部分領域の画像情報を概念的に説明するための図である。
【００７０】
図８を参照して、抽出部２０４は、画像バッファ部２０２に格納されている学習画像ＬＮＩＭＧに対して、異なる複数のベクトルサイズ毎に部分領域を順次設定する。図８（ａ）は、学習画像ＬＮＩＭＧに対して、ベクトルサイズ１の部分領域ＢＬＫＬＮ（１）が設定されている状態を示し、同様に、図８（ｂ）および図８（ｃ）は、それぞれ学習画像ＬＮＩＭＧに対して、ベクトルサイズ２の部分領域ＢＬＫＬＮ（２）およびベクトルサイズｍの部分領域ＢＬＫＬＮ（ｍ）が設定されている状態を示す。
【００７１】
図９を参照して、部分領域ＢＬＫＬＮがｗ画素×ｈ画素の大きさ（ベクトルサイズ）であれば、抽出部２０４は、設定される部分領域ＢＬＫＬＮ（ｊ）の各々について、Ｎ（＝ｗ×ｈ）個の画像情報ｃｉをベクトル生成部２０６へ出力する。そして、ベクトル生成部２０６は、設定される部分領域ＢＬＫＬＮの各々について、以下のような学習画像ベクトルを生成する。
【００７２】
学習画像ベクトルｘｉＬＮ（ｊ）＝［ｃ１，ｃ２，・・・，ｃＮ（ｊ）］Ｔ
但し、Ｎ（ｊ）＝ｗ×ｈ，１≦ｊ≦ｍ
なお、各画素がＲ成分値、Ｇ成分値、Ｂ成分値からなる場合には、画像情報ｃｉはこれらの成分値を含む３次元の配列となる。そのため、学習画像ベクトルｘｉＬＮ（ｊ）としては、以下のようになる。
【００７３】
ｘｉＬＮ（ｊ）＝［Ｒ１，Ｇ１，Ｂ１，Ｒ２，Ｇ２，Ｂ２，・・・，ＲＮ（ｊ），ＧＮ（ｊ），ＢＮ（ｊ）］Ｔ
ベクトル生成部２０６が生成する各部分領域ＢＬＫＬＮ（ｊ）についての学習画像ベクトルｘｉＬＮ（ｊ）は、Ｎ次元ユークリッド空間上の点として定義できる。
【００７４】
再度、図７を参照して、固有ベクトル算出部２０８は、ベクトル生成部２０６が順次生成する学習画像ベクトルｘｉＬＮ（ｊ）の組から、ベクトルサイズ毎に固有ベクトルを算出する。より詳細には、固有ベクトル算出部２０８は、ベクトル生成部２０６で生成される学習画像ベクトルｘｉＬＮ（ｊ）の組（集合）として、ベクトルサイズ別に、以下のような集合ベクトルＸＬＮ（ｊ）を算出する。
【００７５】
集合ベクトルＸＬＮ（ｊ）＝［ｘ１ＬＮ（ｊ），ｘ２ＬＮ（ｊ），・・・，ｘＲ（ｊ）ＬＮ（ｊ）］
但し、Ｒ（ｊ）は、対応のベクトルサイズｊにおいて、学習画像ＬＮＩＭＧに設定される部分領域ＢＬＫＬＮの総数（学習サンプル総数）である
そして、固有ベクトル算出部２０８は、集合ベクトルＸＬＮ（ｊ）の分散行列Ｑ（ｊ）＝ＸＬＮ（ｊ）・ＸＬＮ（ｊ）Ｔを対角化する固有ベクトルＶ（ｊ）を算出する。すなわち、固有ベクトル算出部２０８は、以下の式が成立するように、固有ベクトルＶ（ｊ）および固有値行列Δ（ｊ）を算出する。
【００７６】
分散行列Ｑ（ｊ）＝ＸＬＮ（ｊ）・ＸＬＮ（ｊ）Ｔ＝Ｖ（ｊ）・Δ（ｊ）・Ｖ（ｊ）Ｔ
固有ベクトルＶ（ｊ）＝［ｅ１（ｊ），ｅ２（ｊ），・・・，ｅＲ（ｊ）］
ここで、基底ベクトルｅ１（ｊ），ｅ２（ｊ），・・・，ｅＲ（ｊ）は、以下の条件を満たす。
【００７７】
【数１】
2010203845.tif 000003
【００７８】
また、固有値行列Δ（ｊ）は、以下のように固有値λ１（ｊ），λ２（ｊ），・・・，λＲ（ｊ）の対角行列として表される。
【００７９】
【数２】
2010203845.tif 000004
【００８０】
なお、上記のような固有ベクトルおよび固有値の演算処理は、ＫＬ（Karhunen-Loeve）展開などの公知のアルゴリズムを用いて実現することができる。
【００８１】
ここで、固有ベクトルＶ（ｊ）を構成する基底ベクトルｅ１（ｊ），ｅ２（ｊ），・・・，ｅＲ（ｊ）の各々は、学習画像ＬＮＩＭＧを対応のベクトルサイズでサンプリングした場合に、学習画像ＬＮＩＭＧの全体として現れる性質を代表するものであり、その固有値が大きいものほどその代表する度合いが大きくなる。ここで、固有値λ１（ｊ）≧λ２（ｊ）≧・・・≧λＲ（ｊ）であるので、基底ベクトルｅ１（ｊ），ｅ２（ｊ），・・・，ｅＲ（ｊ）の順で学習画像ＬＮＩＭＧの全体として現れる性質を代表する度合いが大きいことを意味する。
【００８２】
そこで、本実施の形態に従う欠陥検出装置では、このような基底ベクトルｅ１（ｊ），ｅ２（ｊ），・・・，ｅＲ（ｊ）における物理的な意味を考慮して、その固有値が大きいものから順に所定数の基底ベクトルを用いて、各ベクトルサイズにおける固有空間を決定する。すなわち、固有空間は、固有ベクトル算出部２０８で生成される基底ベクトルｅ１（ｊ），ｅ２（ｊ），・・・，ｅＲ（ｊ）の一部を用いて算出される部分空間である。このように算出される固有空間は、学習画像ＬＮＩＭＧの全体として現れる性質を、基底ベクトルの次元（次数）に応じた程度で反映したものとなる。ここで、学習画像ＬＮＩＭＧにおけるフラクタル性や周期性が支配的であれば、相対的に小さい次元の基底ベクトルで規定される固有空間であっても、学習画像ＬＮＩＭＧの大部分の特性をほぼ近似し得る。
【００８３】
固有空間決定部２１０は、固有ベクトル算出部２０８が算出した固有ベクトルＶ（ｊ）＝［ｅ１（ｊ），ｅ２（ｊ），・・・，ｅＲ（ｊ）］のうち、その固有値が大きいものから所定数の基底ベクトルｅ１（ｊ），ｅ２（ｊ），・・・，ｅｄｉｍ（ｊ）（ｊ）（ｄｉｍ（ｊ）≦Ｒ（ｊ））を用いて、各ベクトルサイズにおける固有空間Ｅ（ｊ）を決定する。この固有空間Ｅ（ｊ）は、次元ｄｉｍ（ｊ）の超平面となる。なお、次元ｄｉｍ（ｊ）は、学習画像ＬＮＩＭＧに現れる性質に応じて任意に決定できるが、次元ｄｉｍ（ｊ）が高くなるほど、後述する投影ベクトルなどに演算量が増大する。そのため、非特許文献１に開示されるような累積寄与度などに基づいて、適切な次元を決定することが望ましい。そして、固有空間決定部２１０は、この決定した固有空間Ｅ（ｊ）を距離算出部２１８へ出力するとともに、学習結果格納部２４０へ格納する。
【００８４】
次に、抽出部２１４と、ベクトル生成部２１６と、距離算出部２１８と、分類部２２０とは、学習画像ＬＮＩＭＧに設定される各評価領域に対応する部分領域セットＳＥＴについての応答ベクトルを算出するとともに、この応答ベクトルの集合に対して、正常値とはずれ値とを区別するための判別関数を決定する。
【００８５】
抽出部２１４は、学習画像ＬＮＩＭＧに評価領域を順次設定するとともに、各評価領域に対応付けて、異なる複数のベクトルサイズをもつ部分領域ＢＬＫＥＶ（１），ＢＬＫＥＶ（２），・・・，ＢＬＫＥＶ（ｍ）を順次抽出する。なお、部分領域ＢＬＫＥＶ（１），ＢＬＫＥＶ（２），・・・，ＢＬＫＥＶ（ｍ）の大きさは、ベクトル生成部２０６によって生成される固有空間Ｅ（ｊ）（但し、１≦ｊ≦ｍ）のそれぞれに対応する部分領域の大きさと一致する。
【００８６】
そして、抽出部２１４は、この順次抽出する部分領域ＢＬＫＥＶ（１），ＢＬＫＥＶ（２），・・・，ＢＬＫＥＶ（ｍ）（部分領域セット）に対応する学習画像の画像情報を画像バッファ部２０２からそれぞれ読出し、これらの読出した画像情報をベクトル生成部２１６へ出力する。上述したように、部分領域ＢＬＫＥＶ（１），ＢＬＫＥＶ（２），・・・，ＢＬＫＥＶ（ｍ）は、いずれも対応する評価領域を包含するように設定される。
【００８７】
ここで、部分領域ＢＬＫＥＶ（１），ＢＬＫＥＶ（２），・・・，ＢＬＫＥＶ（ｍ）は、評価領域（最小の部分領域ＢＬＫに相当）を包含するものであればどのように設定してもよい。そのため、図５に示すように、評価領域（部分領域ＢＬＫＥＶ（１）に相当）に対して紙面右下方向に順次拡大するように部分領域をそれぞれ設定してもよいし、評価領域を中心として周辺方向に順次拡大するように部分領域を設定してもよい。
【００８８】
図１０は、複数の部分領域ＢＬＫＥＶ（１），ＢＬＫＥＶ（２），・・・，ＢＬＫＥＶ（ｍ）の設定方法の一例を示す図である。図１０においては、学習画像ＬＮＩＭＧに設定される評価領域（部分領域ＢＬＫＥＶ（１）に相当）を中心として、その周辺方向に拡大するように、部分領域ＢＬＫＥＶ（２）〜ＢＬＫＥＶ（ｍ）が設定される場合が示される。
【００８９】
また、評価領域は、学習画像ＬＮＩＭＧ中の任意の場所に設定することが可能である。
図１１は、評価領域に対応する部分領域セットＳＥＴの設定方法の一例を示す図である。図１１（ａ）に示すように、抽出部２１４（図７）は、一例として、学習画像ＬＮＩＭＧに対して、部分領域セットＳＥＴを所定間隔だけずらして順次設定する。このとき、部分領域セットＳＥＴ１と隣接する部分領域セットＳＥＴ２との一部が互いに重複してもよい。さらに、図１１（ｂ）に示すように、部分領域セットＳＥＴ１と、部分領域セットＳＥＴ１から互いに所定間隔だけ隔離された部分領域セットＳＥＴ２とを設定してもよい。さらに、部分領域セットＳＥＴ１と部分領域セットＳＥＴ２との間、および部分領域セットＳＥＴ２と部分領域セットＳＥＴ３との間のように、隣接する部分領域セットの間隔が一定でなくともよい。
【００９０】
なお、抽出部２０４および抽出部２１４（図７）が設定する部分領域セットに含まれる部分領域の大きさは、ユーザなどからの最小／最大ベクトルサイズ設定に従って、決定することができる。すなわち、部分領域セットＳＥＴに含まれる最小の部分領域の大きさを最小ベクトルサイズに設定し、同じく最大の部分領域の大きさを最大ベクトルサイズに設定する。さらに、最小ベクトルサイズから最大ベクトルサイズの間で、必要な数の部分領域が設定される。
【００９１】
図１２は、部分領域セットに含まれ得る部分領域の上限ベクトルサイズおよび下限ベクトルサイズを示す図である。図１２を参照して、部分領域として設定可能なベクトルサイズの下限値としては、学習画像ＬＮＩＭＧを構成する最小単位である１画素となる。一方、部分領域として設定可能なベクトルサイズの上限値としては、学習画像ＬＮＩＭＧの全体、すなわち学習画像ＬＮＩＭＧの画像サイズとなる。
【００９２】
また、部分領域セットの一部が学習画像ＬＮＩＭＧからはみ出る場合には、特定の処理を行なうようにしてもよい。
【００９３】
図１３は、部分領域セットＳＥＴの一部が学習画像ＬＮＩＭＧからはみ出る場合の処理を説明するための図である。
【００９４】
部分領域セットＳＥＴの一部が学習画像ＬＮＩＭＧからはみ出る場合の処理例として、図１３（ａ）に示すように、当該はみ出し部分の画像情報の出力を省略してもよい。図１３（ａ）に示す例では、部分領域ＢＬＫＥＶ（ｍ）の一部の領域がはみ出し部分となるので、この部分についての画像情報は出力されない。このような場合には、後述するベクトル生成部２１６で生成される対応の画像ベクトルの大きさが小さくなるが、画像ベクトルと対応の固有空間との間の距離に基づいて欠陥の有無が評価されるので、この画像ベクトルの大きさの変動による影響はない。
【００９５】
代替的に、図１３（ｂ）に示すように、学習画像ＬＮＩＭＧからはみ出る部分について、当該部分に隣接する部分の画像情報に基づいて補間処理を行なってもよい。このような補間処理を行なうことで、その一部が学習画像ＬＮＩＭＧからはみ出る部分領域を含む部分領域セットであっても、すべての部分領域が学習画像ＬＮＩＭＧ内に収まる部分領域セットと同様の画像ベクトルの組を生成できる。この補間処理は、はみ出した部分を隣接する部分と同様の性質を有するとして扱うものであるため、ＥＳＤＤに基づく欠陥検出方法においては、この補間処理による検出精度の低下はほとんど無視できる。
【００９６】
再度、図７を参照して、ベクトル生成部２１６は、抽出部２１４によって順次抽出される部分領域セット（部分領域ＢＬＫＥＶ（１），ＢＬＫＥＶ（２），・・・，ＢＬＫＥＶ（ｍ））の画像情報から、評価領域画像ベクトルｘｋＥＶ（１），ｘｋＥＶ（２），・・・，ｘｋＥＶ（ｍ）を順次生成する。なお、ｋは、学習画像ＬＮＩＭＧに設定される部分領域セット（評価領域）を示すラベル番号である。
【００９７】
ベクトル生成部２１６における評価領域画像ベクトルの生成処理は、上述したベクトル生成部２０６における学習画像ベクトルの生成処理と同様であるので、詳細な説明は繰返さない。そして、ベクトル生成部２１６は、生成した評価領域画像ベクトルを距離算出部２１８へ出力する。
【００９８】
距離算出部２１８は、ベクトル生成部２１６から出力される評価領域画像ベクトルｘｋＥＶ（１），ｘｋＥＶ（２），・・・，ｘｋＥＶ（ｍ）の各々について、対応するベクトルサイズの固有空間Ｅ（ｊ）との間の距離Ｏｕｔ１（ｋ），Ｏｕｔ２（ｋ），・・・，Ｏｕｔｍ（ｋ）を順次算出する。
【００９９】
ここで、固有空間Ｅと画像ベクトルｘとの距離の算出方法について一般化して説明する。
【０１００】
図１４は、固有空間Ｅと画像ベクトルｘとの距離Ｏｕｔを説明するための図である。
図１４を参照して、固有空間Ｅと画像ベクトルｘとの距離Ｏｕｔは、ユークリッド距離として定義され、このユークリッド距離は、画像ベクトルｘの固有空間Ｅへの投影点ｘ’を用いて、以下のような式で表すことができる。
【０１０１】
｜Ｏｕｔ｜２＝｜ｘ−ｘ’｜２＝（ｘ−ｘ’）Ｔ（ｘ−ｘ’）
また、画像ベクトルｘの固有空間Ｅへの投影点ｘ’は、以下のような式で表すことができる。
【０１０２】
【数３】
2010203845.tif 000005
【０１０３】
次に、図１５を参照して、固有空間を１次元とした場合について、固有空間Ｅ（１）と画像ベクトルｘとの間の距離について説明する。
【０１０４】
図１５は、１次元の固有空間Ｅ（１）と画像ベクトルｘとの距離Ｏｕｔを説明するための図である。
【０１０５】
図１５を参照して、原点から投影点ｘ’までの距離Ｐについて考える。１次元の固有空間Ｅ（１）は、基底ベクトルｅ１で定義されるので、ベクトル集合Ｐは、画像ベクトルｘと基底ベクトルｅ１とを用いて以下のような式で表すことができる。
【０１０６】
Ｐ＝ｘ・ｅ１
これを、ｄｉｍ次元まで拡張すると、原点から投影点ｘ’までの距離Ｐの集合は、以下のような式で表すことができる。
【０１０７】
Ｐ＝（Ｐ１，Ｐ２，・・・，Ｐｄｉｍ）Ｔ
したがって、任意の成分における原点から投影点ｘ’までの距離は、Ｐｍ＝ｘ・ｅｍ（１≦ｍ≦ｄｉｍ）となる。
【０１０８】
図１５に示すように固有空間（１）が１次元であれば、固有空間（１）（基底ベクトルｅ１平面）上の投影点ｘ’は、基底ベクトルｅ１方向にＰ倍したものと考えられるので、ｘ’＝Ｐｅ１となる。但し、基底ベクトルｅ１を単位ベクトルとする。
【０１０９】
これを、ｄｉｍ次元まで拡張すると、投影点ｘ’は以下のような式で表すことができる。
【０１１０】
【数４】
2010203845.tif 000006
【０１１１】
再度、固有空間Ｅと画像ベクトルｘとの距離Ｏｕｔについて考える。上述したように、
【０１１２】
【数５】
2010203845.tif 000007
【０１１３】
であるので、
｜Ｏｕｔ｜２＝｜ｘ−ｘ’｜２＝（ｘ−ｘ’）Ｔ（ｘ−ｘ’）
＝（ｘ−ＥＰ）Ｔ（ｘ−ＥＰ）  （但し、Ｐ＝ＥＴｘ）
＝ｘＴｘ−ｘＴＥＰ−ＰＴＥＴｘ＋ＰＴＥＴＥＰ
ここで、以下の式が成立するので、
【０１１４】
【数６】
2010203845.tif 000008
【０１１５】
｜Ｏｕｔ｜２＝ｘＴｘ−ＰＴＰ−ＰＴＰ＋ＰＴＰ
＝ｘＴｘ−ＰＴＰ
以上のように、固有空間Ｅと画像ベクトルｘとの距離Ｏｕｔは、画像ベクトルｘとベクトル集合Ｐとを用いて、以下のような式で表すことができる。
【０１１６】
｜Ｏｕｔ｜２＝ｘＴｘ−ＰＴＰ
ここで、ベクトル集合Ｐは、画像ベクトルｘを投影点ｘ’へ投影するための投影ベクトルに相当し、ＰＴＰは、この投影ベクトルの内積値に相当する。
【０１１７】
再度、図７を参照して、距離算出部２１８は、ベクトル生成部２１６から出力される評価領域画像ベクトルｘｋＥＶ（１），ｘｋＥＶ（２），・・・，ｘｋＥＶ（ｍ）の各々について、固有空間決定部２１０から出力される固有空間Ｅ（ｊ）のうち、同一のベクトルサイズをもつ固有空間との間の距離Ｏｕｔ１（ｋ），Ｏｕｔ２（ｋ），・・・，Ｏｕｔｍ（ｋ）を順次算出する。
【０１１８】
｜Ｏｕｔｊ（ｋ）｜２＝ｘｋＥＶ（ｊ）Ｔ・ｘｋＥＶ（ｊ）−Ｐｋ（ｊ）Ｔ・Ｐｋ（ｊ）
但し、Ｐｋ（ｊ）＝Ｅ（ｊ）Ｔ・ｘｋＥＶ（ｊ）
そして、距離算出部２１８は、このように順次算出する距離Ｏｕｔ１（ｋ），Ｏｕｔ２（ｋ），・・・，Ｏｕｔｍ（ｋ）を分類部２２０へ出力する。
【０１１９】
なお、部分領域が互いに重複して設定される領域の固有空間に対する距離は、重複して設定される各部分領域についての距離の和として算出してもよい。
【０１２０】
図１６は、部分領域が重複して設定される領域の固有空間に対する距離の算出方法を説明するための図である。図１６（ａ）は、２つの部分領域ＢＬＫａおよびＢＬＫｂが重複する場合を示し、図１６（ｂ）は、４つの部分領域ＢＬＫａ，ＢＬＫｂ，ＢＬＫｃ，ＢＬＫｄが重複する場合を示す。
【０１２１】
図１６（ａ）を参照して、部分領域ＢＬＫａと部分領域ＢＬＫｂとの重複部分についての固有空間に対する距離は、部分領域ＢＬＫａの固有空間に対する距離と、部分領域ＢＬＫｂの固有空間に対する距離との和、もしくはその平均値として算出することができる。
【０１２２】
また、図１６（ｂ）を参照して、部分領域ＢＬＫａ，ＢＬＫｂ，ＢＬＫｃ，ＢＬＫｄの重複部分についての固有空間に対する距離は、部分領域ＢＬＫａ，ＢＬＫｂ，ＢＬＫｃ，ＢＬＫｄの固有空間に対するそれぞれの距離の和、もしくはその平均値として算出することができる。
【０１２３】
再度、図７を参照して、分類部２２０は、まず、距離算出部２１８で算出された各評価領域における距離Ｏｕｔ１（ｋ），Ｏｕｔ２（ｋ），・・・，Ｏｕｔｍ（ｋ）を集合して応答ベクトルＲＶ（ｋ）＝［Ｏｕｔ１（ｋ），Ｏｕｔ２（ｋ），・・・，Ｏｕｔｍ（ｋ）］を順次生成する。そして、分類部２２０は、順次生成する応答ベクトルＲＶ（ｋ）をｍ次元の特徴空間に写像する。さらに、分類部２２０は、このｍ次元の特徴空間上において、写像されたｋ個の応答ベクトルＲＶ（ｋ）の集合に対して、正常値とはずれ値とを区別するための判別関数を決定する（図６（ａ）参照）。
【０１２４】
上述したように、本実施の形態に従う分類部２２０は、はずれ値検出手法（典型的には、１−クラスＳＶＭ）の手法を用いて判別関数を決定する。そして、分類部２２０は、この決定した判別関数を学習結果格納部２４０へ格納する。
【０１２５】
以上のように、学習結果格納部２４０には、学習結果として、分類部２２０により決定された判別関数が格納される。これにより、学習処理は完了する。
【０１２６】
次に、画像バッファ部２２２と、抽出部２２４と、ベクトル生成部２２６と、距離算出部２２８と、判断部２３０と、欠陥検出部２３２とは、検査画像における欠陥の検出処理を行なう。
【０１２７】
画像バッファ部２２２は、メモリ１０６（図１）の所定の領域に形成され、装置外部から入力される検査画像を一時的に格納する。なお、本実施の形態においては、撮像部８から画像バッファ部２２２へ検査画像が入力される構成について例示するが、撮像部８以外の装置によって撮影された検査画像が記録媒体やネットワークなどを介して、予め固定ディスク１０７（図２）に格納されていてもよい。
【０１２８】
抽出部２２４は、画像バッファ部２２２に一時的に格納される検査画像ＩＭＧに評価領域を順次設定するとともに、各評価領域に対応付けて、異なる複数のベクトルサイズをもつ部分領域ＢＬＫ（１），ＢＬＫ（２），・・・，ＢＬＫ（ｍ）を順次抽出する。なお、部分領域ＢＬＫ（１），ＢＬＫ（２），・・・，ＢＬＫ（ｍ）の大きさは、抽出部２１４によって学習画像ＬＮＩＭＧから順次抽出される部分領域ＢＬＫ（１），ＢＬＫ（２），・・・，ＢＬＫ（ｍ）の大きさと一致する。また、抽出部２２４が検査画像ＩＭＧに設定する評価領域は、抽出部２１４が学習画像ＬＮＩＭＧに設定する評価領域のいずれかに対応するものとする。
【０１２９】
また、抽出部２２４は、検査画像ＩＭＧから順次抽出する評価領域の位置（ラベル情報）を判断部２３０へ出力する。
【０１３０】
ベクトル生成部２２６は、抽出部２２４によって順次抽出される部分領域セット（部分領域ＢＬＫ（１），ＢＬＫ（２），・・・，ＢＬＫ（ｍ））の画像情報から、検査画像ベクトルｘｋ（１），ｘｋ（２），・・・，ｘｋ（ｍ）を生成する。なお、ｋは、検査画像ベクトルに設定された評価領域が、学習画像ＬＮＩＭＧに設定された部分領域セット（評価領域）のいずれに対応するかを示すラベル番号である。なお、ベクトル生成部２２６における検査画像ベクトルの生成処理は、上述したベクトル生成部２０６における学習画像ベクトルの生成処理と同様であるので、詳細な説明は繰返さない。そして、ベクトル生成部２２６は、生成した検査画像ベクトルを距離算出部２２８へ出力する。
【０１３１】
距離算出部２２８は、ベクトル生成部２２６から出力される検査画像ベクトルｘｋ（１），ｘｋ（２），・・・，ｘｋ（ｍ）の各々について、対応するベクトルサイズの固有空間Ｅ（１），Ｅ（２），・・・，Ｅ（ｍ）との間の距離Ｏｕｔ’１（ｋ），Ｏｕｔ’２（ｋ），・・・，Ｏｕｔ’ｍ（ｋ）を順次算出する。より詳細には、距離算出部２２８は、ベクトル生成部２２６から出力される検査画像ベクトルｘｋ（ｊ）と、学習結果格納部２４０に格納される対応するベクトルサイズの固有空間Ｅ（Ｄ）とに基づいて、
｜Ｏｕｔ’ｊ（ｋ）｜２＝ｘｋ（ｊ）Ｔ・ｘｋ（ｊ）−Ｐｋ（ｊ）Ｔ・Ｐｋ（ｊ）
（但し、Ｐｋ（ｊ）＝Ｅ（Ｄ）Ｔｘｋ（ｊ））
の関係式に従って、検査画像ベクトルｘｋ（ｊ）と対応する固有空間Ｅ（Ｄ）との間の距離Ｏｕｔ’ｊ（ｋ）を算出する。この演算に際して、距離算出部２２８は、学習結果格納部２４０から対応の固有空間Ｅ（Ｄ）を読出す。
【０１３２】
このように、距離算出部２２８は、学習結果格納部２４０に格納された固有空間Ｅ（Ｄ）を用いて、固有空間Ｅ（Ｄ）と検査画像ベクトルｘｋ（ｊ）との距離Ｏｕｔ’ｊ（ｋ）を算出するので、学習画像ＬＮＩＭＧに基づいて固有空間Ｅ（Ｄ）が一旦算出された後は、その後に入力される検査画像ＩＭＧの各々に対して固有空間Ｅ（Ｄ）を再度算出する必要はない。そのため、従来に比較して処理時間を短縮することができる。また、基準となる固有空間Ｅ（Ｄ）が画像中に含まれる欠陥部分の情報を含むことがないので、欠陥検出の精度を高めることができる。
【０１３３】
判断部２３０は、距離算出部２２８で算出された対象評価領域における距離Ｏｕｔ’１（ｋ），Ｏｕｔ’２（ｋ），・・・，Ｏｕｔ’ｍ（ｋ）を集合して応答ベクトルＲＶ’（ｋ）＝［Ｏｕｔ’１（ｋ），Ｏｕｔ’２（ｋ），・・・，Ｏｕｔ’ｍ（ｋ）］を生成する。そして、判断部２３０は、生成した応答ベクトルＲＶ’（ｋ）をｍ次元の特徴空間に写像するとともに、学習結果格納部２４０から予め算出された判別関数を読出し、この写像した応答ベクトルＲＶ’が正常値およびはずれ値のいずれの領域に存在しているかを判断する（図６（ｂ）参照）。そして、判断部２３０は、応答ベクトルＲＶ’がはずれ値の領域に存在していれば、対象となる評価領域に欠陥が存在すると判断する。一方、判断部２３０は、応答ベクトルＲＶ’が正常値の領域に存在していれば、対象となる評価領域には欠陥が存在しないと判断する。さらに、欠陥が存在していると判断すると、判断部２３０は、欠陥位置を特定するための情報を欠陥検出部２３２へ通知する。
【０１３４】
欠陥検出部２３２は、判断部２３０からの欠陥位置の特定情報に基づいて、画像バッファ部２２２に格納されている検査画像ＩＭＧを参照し、欠陥の種類や大きさなどの欠陥についての詳細な情報を検出する。具体的には、欠陥検出部２３２は、検査画像ＩＭＧに対してエッジ検出などを実行する。そして、欠陥検出部２３２は、検出した欠陥の詳細情報などを欠陥検出結果として出力する。
【０１３５】
以上のような機能構成によって、本実施の形態に従う欠陥検出装置は、欠陥を含まない学習画像ＬＮＩＭＧに基づいて検査画像ＩＭＧにおける欠陥を検出する。
【０１３６】
（処理手順）
図１７は、この発明の実施の形態１に従う欠陥検出システム１において対象ワーク２に発生し得る欠陥を検出するための処理手順を示すフローチャートである。
【０１３７】
図１および図１７を参照して、ユーザは、予め欠陥が発生していないことが分かっている基準ワーク４を搬送機構６上の撮像部８の撮影範囲に配置する（ステップＳ２）。そして、ユーザは、欠陥検出装置に所定の指令を与えて、この基準ワーク４を撮影した学習画像を取得させる（ステップＳ４）。この際、照明部１０は、所定の光量の光を基準ワークに向けて照射する。なお、上述したように、撮像部８以外の装置によって予め撮影された学習画像を欠陥検出装置に与えるようにしてもよい。
【０１３８】
学習画像の取得後、欠陥検出装置は学習処理を実行し（ステップＳ６）、その学習結果（判別関数や固有空間）を格納する（ステップＳ８）。なお、学習処理については、後述する。
【０１３９】
この学習処理および学習結果の格納が終了すると、ユーザは、対象ワーク２が搬送機構６上の撮像部８の撮影範囲に順次搬送されるように、搬送機構６などを操作する（ステップＳ１０）。撮像部８の撮影範囲に対象ワーク２が搬送されると、欠陥検出装置は、撮像部８によって対象ワーク２を撮影することで検査画像を取得する（ステップＳ１２）。なお、欠陥検出装置は、搬送機構６上などに配置される位置センサ（図示しない）などによって、対象ワーク２の到着を検出する。
【０１４０】
検査画像を取得すると、欠陥検出装置は、欠陥検出処理を実行し（ステップＳ１４）、その欠陥検出結果を出力する（ステップＳ１６）。なお、欠陥検出結果は、欠陥検出装置に格納されたり、モニタ１０２などに出力されたりする。
【０１４１】
そして、欠陥検出装置は、終了指示が与えられたか否かを判断する（ステップＳ１８）。この終了指示は、ユーザなどによって与えられ、もしくは欠陥検出対象の対象ワーク２が不存在であることの検知などに連動して与えられる。終了指示が与えられていなければ（ステップＳ１８においてＮＯ）、欠陥検出装置は、ステップＳ１２以降の処理を再度実行する。終了指示が与えられていれば（ステップＳ１８においてＹＥＳ）、処理は終了する。
【０１４２】
図１８は、この発明の実施の形態１に従う学習処理の処理手順を示すフローチャートである。また、図１９は、この発明の実施の形態１に従う欠陥検出処理の処理手順を示すフローチャートである。なお、図１８および図１９に示すフローチャートは、ＣＰＵ１０５が固定ディスク１０７などに予め格納されたプログラムをメモリ１０６に読出して実行することにより、図７に示すような機能を実現することで実行される。
【０１４３】
（学習処理の処理手順）
図７および図１８を参照して、抽出部２０４として機能するＣＰＵ１０５は、ユーザから、部分領域セットに含まれる部分領域の最小／最大ベクトルサイズおよび部分領域の数の設定を受付ける（ステップＳ１００）。そして、抽出部２０４として機能するＣＰＵ１０５は、ステップＳ１００におけるユーザからの設定情報に従って、部分領域セットを決定する（ステップＳ１０２）。
【０１４４】
抽出部２０４として機能するＣＰＵ１０５は、部分領域セットに含まれる１つのベクトルサイズについて、学習画像ＬＮＩＭＧから部分領域を抽出する（ステップＳ１０４）。そして、ベクトル生成部２０６として機能するＣＰＵ１０５は、抽出された部分領域の画像情報から学習画像ベクトルｘｉＬＮ（ｊ）を生成する（ステップＳ１０６）。さらに、ＣＰＵ１０５は、学習画像ＬＮＩＭＧから抽出すべき部分領域ＢＬＫＬＮが未だ残っているか否かを判断する（ステップＳ１０８）。学習画像ＬＮＩＭＧから抽出すべき部分領域ＢＬＫＬＮが残っている場合（ステップＳ１０８においてＹＥＳの場合）には、ＣＰＵ１０５は、ステップＳ１０４以下の処理を繰返す。
【０１４５】
これに対して、学習画像ＬＮＩＭＧから抽出すべき部分領域ＢＬＫが残っていない場合（ステップＳ１０８においてＮＯの場合）には、固有ベクトル算出部２０８として機能するＣＰＵ１０５は、学習画像ベクトルｘｉＬＮ（ｊ）からなるベクトルの組から固有ベクトルＶ（ｊ）を算出する（ステップＳ１１０）。そして、固有空間決定部２１０として機能するＣＰＵ１０５は、算出した固有ベクトルＶ（ｊ）のうち、その固有値が大きいものから順に所定数の固有ベクトルを用いて、当該ベクトルサイズにおける固有空間Ｅ（ｊ）を決定する（ステップＳ１１２）。そして、ＣＰＵ１０５は、決定した固有空間Ｅ（ｊ）を学習結果格納部２４０へ格納する（ステップＳ１１４）。
【０１４６】
さらに、ＣＰＵ１０５は、部分領域セットに含まれるすべてのベクトルサイズの部分領域について固有空間Ｅ（ｊ）の決定が完了したか否かを判断する（ステップＳ１１６）。部分領域セットに含まれるすべてのベクトルサイズの部分領域について固有空間Ｅ（ｊ）の算出が完了していない場合（ステップＳ１１６においてＮＯの場合）には、抽出部２０４として機能するＣＰＵ１０５は、部分領域セットに含まれる残りのベクトルサイズについて、学習画像ＬＮＩＭＧから部分領域を抽出する（ステップＳ１１８）。そして、ステップＳ１０６以降の処理を再度実行する。
【０１４７】
部分領域セットに含まれるすべてのベクトルサイズの部分領域について抽出を完了している場合（ステップＳ１１６においてＹＥＳの場合）には、抽出部２１４として機能するＣＰＵ１０５は、学習画像ＬＮＩＭＧに評価領域を設定（ステップＳ１２０）し、その評価領域について、異なる複数のベクトルサイズをもつ部分領域ＢＬＫＥＶ（１），ＢＬＫＥＶ（２），・・・，ＢＬＫＥＶ（ｍ）を順次抽出する（ステップＳ１２２）。そして、ベクトル生成部２１６として機能するＣＰＵ１０５は、抽出された部分領域ＢＬＫＥＶ（１），ＢＬＫＥＶ（２），・・・，ＢＬＫＥＶ（ｍ）の画像情報から、評価領域画像ベクトルｘｋＥＶ（１），ｘｋＥＶ（２），・・・，ｘｋＥＶ（ｍ）を生成する（ステップＳ１２４）。
【０１４８】
続いて、距離算出部２１８として機能するＣＰＵ１０５は、評価領域画像ベクトルｘｋＥＶ（１），ｘｋＥＶ（２），・・・，ｘｋＥＶ（ｍ）の各々について、対応するベクトルサイズの固有空間Ｅ（１），Ｅ（１），・・・，Ｅ（ｍ）との間の距離Ｏｕｔ１（ｋ），Ｏｕｔ２（ｋ），・・・，Ｏｕｔｍ（ｋ）を算出する（ステップＳ１２６）。そして、距離算出部２１８として機能するＣＰＵ１０５は、算出した距離Ｏｕｔ１（ｋ），Ｏｕｔ２（ｋ），・・・，Ｏｕｔｍ（ｋ）を集合して応答ベクトルＲＶ（ｋ）＝［Ｏｕｔ１（ｋ），Ｏｕｔ２（ｋ），・・・，Ｏｕｔｍ（ｋ）］を生成する（ステップＳ１２８）。
【０１４９】
さらに、ＣＰＵ１０５は、学習画像ＬＮＩＭＧに評価領域を設定すべき領域が未だ残っているか否かを判断する（ステップＳ１３０）。学習画像ＬＮＩＭＧに評価領域を設定すべき領域が残っている場合（ステップＳ１３０においてＹＥＳの場合）には、ＣＰＵ１０５は、ステップＳ１２０以下の処理を繰返す。
【０１５０】
これに対して、学習画像ＬＮＩＭＧに評価領域を設定すべき領域が残っていない場合（ステップＳ１３０においてＮＯの場合）には、分類部２２０として機能するＣＰＵ１０５は、ステップＳ１２６において生成した応答ベクトルＲＶ（ｋ）の集合に対して、正常値とはずれ値とを区別するための判別関数を決定し（ステップＳ１３２）、この決定した判別関数を学習結果格納部２４０へ格納する（ステップＳ１３４）。そして、処理はステップＳ８へ戻る。
【０１５１】
（欠陥検査処理の処理手順）
図７および図１９を参照して、抽出部２２４として機能するＣＰＵ１０５は、検査画像ＩＭＧに評価領域を設定（ステップＳ２００）し、その評価領域について、異なる複数のベクトルサイズをもつ部分領域ＢＬＫ（１），ＢＬＫ（２），・・・，ＢＬＫ（ｍ）を順次抽出する（ステップＳ２０２）。そして、ベクトル生成部２２６として機能するＣＰＵ１０５は、抽出された部分領域ＢＬＫ（１），ＢＬＫ（２），・・・，ＢＬＫ（ｍ）の画像情報から、検査画像ベクトルｘｋ（１），ｘｋ（２），・・・，ｘｋ（ｍ）を生成する（ステップＳ２０４）。
【０１５２】
続いて、距離算出部２２８として機能するＣＰＵ１０５は、学習結果格納部２４０から、検査画像ベクトルｘｋ（１），ｘｋ（２），・・・，ｘｋ（ｍ）にそれぞれ対応する固有空間Ｅ（Ｄ）を読出す（ステップＳ２０６）。そして、距離算出部２２８として機能するＣＰＵ１０５は、検査画像ベクトルｘｋ（１），ｘｋ（２），・・・，ｘｋ（ｍ）と、これらの読出した内積値Ｐｋ（ｊ）Ｔ・Ｐｋ（ｊ）とに基づいて、対応するベクトルサイズの固有空間Ｅ（ｊ）との距離Ｏｕｔ’１（ｋ），Ｏｕｔ’２（ｋ），・・・，Ｏｕｔ’ｍ（ｋ）を算出する（ステップＳ２０８）。
【０１５３】
続いて、判断部２３０として機能するＣＰＵ１０５は、算出した距離Ｏｕｔ’１（ｋ），Ｏｕｔ’２（ｋ），・・・，Ｏｕｔ’ｍ（ｋ）を集合して応答ベクトルＲＶ’（ｋ）＝［Ｏｕｔ’１（ｋ），Ｏｕｔ’２（ｋ），・・・，Ｏｕｔ’ｍ（ｋ）］を生成する（ステップＳ２１０）。そして、判断部２３０として機能するＣＰＵ１０５は、学習結果格納部２４０から判別関数を読出し（ステップＳ２１２）、読出した判別関数に基づいて、算出した応答ベクトルＲＶ’（ｋ）が正常値およびはずれ値のいずれの領域に存在しているかを判断する（ステップＳ２１４）。そして、判断部２３０として機能するＣＰＵ１０５は、対象の評価領域のラベル情報に対応付けて、検査画像ＩＭＧにおける欠陥有無の状態をマッピングする（ステップＳ２１６）。すなわち、ＣＰＵ１０５は、検査画像ＩＭＧにおける欠陥の位置を特定する。
【０１５４】
その後、ＣＰＵ１０５は、検査画像ＩＭＧに評価領域を設定すべき領域が未だ残っているか否かを判断する（ステップＳ２１８）。検査画像ＩＭＧに評価領域を設定すべき領域が残っている場合（ステップＳ２１８においてＹＥＳの場合）には、ＣＰＵ１０５は、ステップＳ２００以下の処理を繰返す。
【０１５５】
これに対して、検査画像ＩＭＧに評価領域を設定すべき領域が残っていない場合（ステップＳ２１８においてＮＯの場合）には、判断部２３０として機能するＣＰＵ１０５は、検査画像ＩＭＧに対して欠陥の位置と特定された箇所に対して、エッジ検出などを実行し、欠陥の種類や大きさなどの欠陥についての詳細な情報を検出する（ステップＳ２２０）。そして、処理はステップＳ１６へ戻る。
【０１５６】
（本実施の形態による作用効果）
この発明の実施の形態１によれば、検査画像の評価領域に対して互いに大きさの異なる複数の部分領域が設定されとともに、各部分領域について、その画像情報から生成される画像ベクトルと対応の固有空間との間の距離を算出する。さらに、各部分領域についての大きさ毎の距離を要素とする応答ベクトルを生成し、学習処理によって予め定められた判別関数を参照して、この応答ベクトルを評価することで、評価領域における欠陥の有無を判断する。このように、評価領域を互いに大きさの異なる複数の部分領域の単位におけるそれぞれの評価結果を総合した上で、欠陥の有無を判断するので、検査画像に発生し得る欠陥の大きさのバラツキによる影響を抑制し、欠陥の検出精度をより高めることができる。
【０１５７】
また、この発明の実施の形態１によれば、予め欠陥を含まない学習画像に基づいて、画像ベクトルとの間の距離を算出するための基準となる固有空間が決定される。そのため、欠陥部分の影響を排除した固有空間を決定することができるので、検査画像に対する欠陥の検出精度をより高めることができる。
【０１５８】
また、この発明の実施の形態１によれば、欠陥検出処理時における画像ベクトルと固有空間との間の距離は、学習処理時に算出された投影ベクトルの内積値を用いて算出される。そのため、欠陥検出処理における距離算出に伴う演算量を低減できるので、より高速な欠陥検出処理を実現できる。
【０１５９】
［実施の形態２］
上述の実施の形態１に従う欠陥検出処理によれば、検査画像に発生し得る欠陥の大きさのバラツキによる影響を抑制し、欠陥の検出精度をより高めることができる。しかしながら、検査画像が周期的なテクスチャをもつ場合などには、誤差を生じやすい。
【０１６０】
具体的には、検査画像から切り出すサンプルの位置が学習画像と全く同じ位置であっても、そこの表れている周期的なテクスチャが全く同一であるとは限らない。そのため、切り出した評価領域（部分領域セットＳＥＴ）に表れる周期的な濃淡模様に空間的な位相差が生じ、その結果、欠陥がなくても固有空間に対する距離が増大し得る。そこで、本実施の形態では、周期的な濃淡模様を含む検査画像に対しても、正確に欠陥検出を行なうことができる構成および処理について例示する。
【０１６１】
より具体的には、検査画像ＩＭＧに対する評価領域の配置パターンの開始位置を適切に決定するために、各検査画像ＩＭＧにおける基準位置を検索する。特に、学習画像ＬＮＩＭＧおよび検査画像ＩＭＧが周期的な濃淡模様をもつ場合には、この配置パターンをいずれの位置に配置するかによって、その欠陥の検出精度が大きく影響される。なお、周期的な濃淡模様をもつ画像とは、同一の模様（テクスチャ）が所定周期（周期一定）で連続的に表れるような画像を意味する。典型的には、後述する図２１，図２２，図２４に示すような幾何学的模様などを含む画像を意味する。
【０１６２】
ここで、学習画像ＬＮＩＭＧと検査画像ＩＭＧとに生じる周期的な濃淡模様の位置（空間的な位相）が全く同一であるとは限らず、また生産ラインの搬送状態などによっても、撮像部８によって撮影された画像に表れる周期的な濃淡模様にずれが生じる。このような場合には、当該配置パターンのある位置に存在する評価領域に対応するある部分領域ＢＬＫＬＮおよびＢＬＫについて見れば、学習画像ＬＮＩＭＧおよび検査画像ＩＭＧからそれぞれ生成された画像ベクトルに表れる特徴量は互いに異なったものとなる。そこで、検査画像ＩＭＧに対する欠陥検出の実行前に、学習画像ＬＮＩＭＧの所定の検索方向に沿って、所定の大きさをもつ部分領域ＢＬＫＳを順次設定していき、各位置における部分領域ＢＬＫＳの画像情報から生成される画像ベクトルの固有空間に対する距離を順次算出する。そして、この固有空間に対する距離の検索方向についての変化に基づいて、検査画像ＩＭＧにおける対応する基準位置を決定する。そして、この決定した基準位置に基づく配置パターンに従って、検査画像ＩＭＧに対して評価領域（すなわち、対応するＢＬＫ（１），ＢＬＫ（２），・・・，ＢＬＫ（ｍ））を設定し、欠陥の有無を検出する。
【０１６３】
（制御構造）
図２０は、この発明の実施の形態２に従う欠陥検出装置の制御構造を示す機能ブロック図である。
【０１６４】
図２０を参照して、本実施の形態に従う欠陥検出装置は、図７に示す実施の形態１に従う欠陥検出装置において、領域設定部２４４と、ベクトル生成部２４６と、距離算出部２４８と、基準位置決定部２５０と、検索領域受付部２５６とを加えたものに相当する。その他の部位については、図７を用いて説明したので、詳細な説明は繰返さない。
【０１６５】
まず、対象ワーク２が周期的なテクスチャを有し、学習画像ＬＮＩＭＧおよび検査画像ＩＭＧに周期的な濃淡模様が表れている場合について考える。このような場合には、検査画像ＩＭＧに設定する評価領域（すなわち、対応するＢＬＫＥＶ（１），ＢＬＫＥＶ（２），・・・，ＢＬＫＥＶ（ｍ）、または、ＢＬＫ（１），ＢＬＫ（２），・・・，ＢＬＫ（ｍ））の配置パターンを、検査画像ＩＭＧに表れる周期的な濃淡模様に応じて適切に設定する必要がある。
【０１６６】
以下、このような周期的な濃淡模様が表れている学習画像ＬＮＩＭＧおよび検査画像ＩＭＧに対して、本実施の形態に従う欠陥検出方法を適用する場合に、誤差が発生する原因について説明する。
【０１６７】
図２１は、周期的なテクスチャを有する対象ワーク２の一例を示す図である。たとえば、図２１（ａ）に示す対象ワーク２と、図２１（ｂ）に示す対象ワーク２とを比較すると、各対象ワーク２における周期的な濃淡模様の相対的な開始位置が異なっていることがわかる。具体的には、当該濃淡模様が全体的に紙面上下方向にずれていることがわかる。このように、同一の製造ラインで製造される対象ワークであっても、その表面に現れるテクスチャが全く同一の位置に現れるとは限らない。
【０１６８】
図２２は、検査画像ＩＭＧに表れる周期的な濃淡模様の位置がばらつく場合において、抽出される部分領域ＢＬＫの一例を示す図である。図２２（ａ）は、検査画像ＩＭＧ全体の一例を示し、図２２（ｂ）および図２２（ｃ）は、それぞれ抽出される部分領域ＢＬＫの一例を示す。
【０１６９】
図２２（ａ）に示すような、全体的に周期的な濃淡模様を有する検査画像ＩＭＧにおいて、周期的な濃淡模様の位置がばらついてしまうと、検査画像ＩＭＧにおける対応する座標位置を基準として評価領域を設定したとしても、抽出された部分領域ＢＬＫ（１），ＢＬＫ（２），・・・，ＢＬＫ（ｍ）に含まれる特徴は異なったものとなる。たとえば、検査画像ＩＭＧの左上の頂点を基準として評価領域を設定したとしても、当該検査画像ＩＭＧの周期的な濃淡模様の位置がばらついてしまうと、図２２（ｂ）および図２２（ｃ）に示すように、その評価領域に対応する同一サイズの部分領域ＢＬＫＥＶ（ｍ）とＢＬＫ（ｍ）との間の特徴は互いに異なったものとなる。
【０１７０】
図２３は、検査画像ＩＭＧに設定された評価領域に対応する代表的な部分領域ＢＬＫについての固有空間に対する距離を視覚的に示した図の一例である。図２３（ａ）は、検査画像ＩＭＧにおける基準位置がずれている場合を示し、図２３（ｂ）は、検査画像ＩＭＧにおける基準位置が学習画像ＬＮＩＭＧの基準位置と対応している場合を示す。なお、図２３においては、濃度が高い（黒い）ほど、固有空間に対する距離が小さいことを示し、明るい（白い）ほど、固有空間に対する距離が大きいことを示す。
【０１７１】
図２３（ａ）を参照して、検査画像ＩＭＧの基準位置がずれている場合には、このずれによって周期的な誤差が発生していることがわかる。これに対して、図２３（ｂ）に示すように、検査画像ＩＭＧの基準位置が学習画像ＬＮＩＭＧの基準位置と対応している場合には、欠陥ＤＥＦを含む部分領域ＢＬＫを除いて、各部分領域ＢＬＫについての固有空間
に対する距離が小さく、かつ均一化していることがわかる。
【０１７２】
そこで、本実施の形態に従う欠陥画像装置は、検査画像ＩＭＧに対して、学習画像ＬＮＩＭＧに設定される評価領域に対応する基準位置を検索し、この検索した基準位置を基準にして、欠陥検出の対象とする評価領域を設定する。すなわち、学習画像ＬＮＩＭＧおよび検査画像ＩＭＧ内での相対的な位置を共通化するのではなく、学習画像ＬＮＩＭＧの基準点における周期的な濃淡模様の部分と対応付けて、検査画像ＩＭＧ内の基準点を検索するものである。これにより、学習画像ＬＮＩＭＧに表れる周期的な濃淡模様と検査画像ＩＭＧに表れる濃淡模様との間にずれがあっても、正確な欠陥検出を実現できる。
【０１７３】
再度、図２０を参照して、このような基準位置の検索処理は、領域設定部２４４と、ベクトル生成部２４６と、距離算出部２４８と、基準位置決定部２５０と、検索領域受付部２５６とによって実現される。
【０１７４】
図２４は、検査画像ＩＭＧにおける基準位置の検索処理を説明するための図である。図２４（ａ）は、学習画像ＬＮＩＭＧに設定される評価領域（但し、簡略化のため、最小サイズの部分領域ＢＬＫＥＶ（１）として表現）を示し、図２４（ｂ）は、検査画像ＩＭＧにおける基準位置を検索するための部分領域ＢＬＫＳを示す。
【０１７５】
図２４（ａ）を参照して、たとえば、学習画像ＬＮＩＭＧには、所定の基準位置（たとえば、左上頂点）を基準とする所定の配置パターンに従って、評価領域が規則的に複数設定される。この複数設定された評価領域に対応する部分領域ＢＬＫ（１），ＢＬＫ（２），・・・，ＢＬＫ（ｍ）の全部もしくは一部に基づいて、固有空間が算出される。
【０１７６】
一方、図２４（ｂ）を参照して、検査画像ＩＭＧに対して設定される部分領域ＢＬＫＳを所定の検索方向に沿って、順次走査するとともに、各部分領域ＢＬＫＳに対応する画像ベクトル（以下、「検索画像ベクトル」とも称す）と固有空間との間の距離を順次算出する。なお、便宜上、検査画像ＩＭＧの紙面横方向をＸ方向と称し、同じく紙面縦方向をＹ方向と称す。さらに、この検索方向についての固有空間に対する距離の変化に基づいて、検査画像ＩＭＧにおける基準位置が決定される。
【０１７７】
検査画像ＩＭＧにおける基準位置を検索するためには、検索方向に沿った部分領域ＢＬＫＳの長さより短い間隔で部分領域ＢＬＫＳを順次設定する必要があり、検査画像ＩＭＧを構成する画素（ピクセル）単位の間隔で部分領域ＢＬＫＳを設定することがより好ましい。このように、部分領域ＢＬＫＳを１画素単位で移動させることによって、より正確に検査画像ＩＭＧにおける基準位置を決定することができる。
【０１７８】
また、部分領域ＢＬＫＳを検査画像ＩＭＧの全体に亘って走査することで、検査画像ＩＭＧにおける基準位置を検索することができるが、そのために過剰な処理時間を要する場合も考えられる。そこで、予め定められた検索領域ＳＲＣ内において、部分領域ＢＬＫＳを走査することが好ましい。なお、Ｘ方向単独またはＹ方向単独、ないしＸ・Ｙ方向同時のいずれの方法で部分領域ＢＬＫＳの走査を行なってよい。
【０１７９】
図２５は、検査画像ＩＭＧにおける基準位置を検索するための検索領域ＳＲＣの決定方法を説明するための図である。図２５（ａ）は、濃淡模様の周期が部分領域ＢＬＫＳの大きさより短い場合を示し、図２５（ｂ）は、濃淡模様の周期が部分領域ＢＬＫＳの大きさより長い場合を示す。図２６は、濃淡模様の周期について説明するための図である。
【０１８０】
図２５（ａ）を参照して、濃淡模様の周期が部分領域ＢＬＫＳの大きさより短い場合、
すなわち１つの部分領域ＢＬＫＳ内に１周期以上の濃淡模様が存在する場合には、検索領域ＳＲＣは、最大で部分領域ＢＬＫＳの２×２の大きさとすればよい。これは、部分領域ＢＬＫＳを濃淡模様の１周期分の距離に亘って走査することで、基準位置を決定することができるためである。
【０１８１】
一方、図２５（ｂ）を参照して、濃淡模様の周期が部分領域ＢＬＫＳの大きさより長い場合、すなわち１つの部分領域ＢＬＫＳが１周期分の濃淡模様を含まない場合には、当該濃淡模様の周期に応じて、検索領域ＳＲＣを決定する必要がある。
【０１８２】
図２６を参照して、本明細書において、濃淡模様の周期とは、隣接する同一模様（テクスチャ）の間の距離を意味する。濃淡模様の周期としては、基本的に、Ｘ方向およびＹ方向のそれぞれについて規定することができる。そして、これらのＸ方向に１周期分以上およびＹ方向に１周期分以上の長さをもつ検索領域ＳＲＣを設定することが好ましい。
【０１８３】
このような検索領域ＳＲＣは、欠陥を含まない学習画像ＬＮＩＭＧに基づいて固有空間を算出する際に、ユーザが、学習画像ＬＮＩＭＧに表れる周期的な濃淡模様を確認した上で、予め決定してもよい。このような場合には、検索領域受付部２５６（図２０）がユーザから検索領域ＳＲＣの大きさを受付け、その値を学習結果格納部２４０へ格納する。あるいは、学習画像ＬＮＩＭＧに対して、公知のパターン抽出処理などを行なって、このような濃淡模様の周期を算出した上で、検索領域ＳＲＣを算出してもよい。このような場合には、検索領域受付部２５６（図２０）が、ユーザに検索領域ＳＲＣとすべき領域の候補をガイドするようにしてもよい。
【０１８４】
再度、図２０を参照して、領域設定部２４４は、画像バッファ部２２２に一時的に格納される検査画像ＩＭＧに対して、検査画像ＩＭＧの所定の検索方向に従って、部分領域ＢＬＫＳを順次設定する。領域設定部２４４は、図２４（ｂ）に示すように、学習結果格納部２４０に格納された検索領域ＳＲＣに従って、部分領域ＢＬＫＳを順次設定する。
【０１８５】
そして、領域設定部２４４は、この設定した各部分領域ＢＬＫＳに対応する検査画像ＩＭＧの画像情報をベクトル生成部２４６へ出力する。言い換えれば、領域設定部２４４は、画像バッファ部２２２に一時的に格納される検査画像から所定の大きさの検索サンプル（局所領域）を順次切り出す。
【０１８６】
ベクトル生成部２４６は、領域設定部２４４によって順次抽出される検査画像ＩＭＧの部分領域ＢＬＫＳの画像情報から検索画像ベクトルｘＳｉを順次生成する。なお、ベクトル生成部２４６における検索画像ベクトルｘＳｉの生成処理は、ベクトル生成部２０６および２１６における学習画像ベクトルｘＬＮｉの生成処理、ならびにベクトル生成部２２６における検査画像ベクトルｘｉの生成処理と同様であるので、詳細な説明は繰返さない。
【０１８７】
距離算出部２４８は、ベクトル生成部２４６から出力される検索画像ベクトルｘＳｉと、学習結果格納部２４０に予め格納される固有空間Ｅ（Ｄ）とに基づいて、固有空間Ｅ（Ｄ）と検索画像ベクトルｘＳｉとの距離ΔｘＳｉを算出する。なお、この固有空間Ｅ（Ｄ）と検索画像ベクトルｘＳｉとの距離ΔｘＳｉを算出処理は、上述の距離算出部２１８における、固有空間Ｅ（Ｄ）と検査画像ベクトルｘｉとの距離Δｘｉを算出処理と同様であるので、詳細な説明は繰返さない。
【０１８８】
基準位置決定部２５０は、距離算出部２４８において順次算出される距離ΔｘＳｉの検索方向についての変化に基づいて、検査画像ＩＭＧにおいて、学習画像ＬＮＩＭＧの基準位置に対応する基準位置を決定する。
【０１８９】
図２７は、距離算出部２４８において順次算出される距離ΔｘＳｉの一例を示す図である。図２７（ａ）は、検査画像ＩＭＧをＸ方向に検索した場合の変化の一例を示し、図２７（ｂ）は、検査画像ＩＭＧをＹ方向に検索した場合の変化の一例を示す。
【０１９０】
図２７（ａ）および図２７（ｂ）を参照して、基準位置決定部２５０は、検査画像ＩＭＧに設定される部分領域ＢＬＫＳの位置に応じて変化する距離ΔｘＳｉに対して、極小点となる位置を基準位置の候補位置として抽出する。なお、基準位置の候補位置として抽出する際には、その距離ΔｘＳｉが所定のしきい値Ｔｈ以下であることを条件にすることが好ましい。このしきい値Ｔｈは、距離ΔｘＳｉの全体平均値などに応じて決定することができる。
【０１９１】
基準位置を検索する方法としては、検査画像ＩＭＧのＸ方向またはＹ方向の一方を固定した上で、他方の軸に沿って部分領域ＢＬＫＳを順次設定する方法や、Ｘ方向およびＹ方向を独立に変化させて部分領域ＢＬＫＳを順次設定する方法を採用することができる。
【０１９２】
図２８は、検査画像ＩＭＧに対して、抽出された候補点の一例を示す図である。
図２８を参照して、上記のような方法によれば、Ｘ方向およびＹ方向における候補位置を取得することができるので、これらの候補位置に基づいて、検査画像ＩＭＧに対して複数の候補点が算出できる。ここで、候補点は、Ｘ方向の候補位置とＹ方向の候補位置とによって、一意に決定される座標である。
【０１９３】
基準位置決定部２５０は、複数の候補点のうち、１つの候補点を検査画像ＩＭＧにおける基準位置として決定する。代表的に、基準位置決定部２５０は、学習画像ＬＮＩＭＧの基準位置に対応する原点からの距離Ｄｉｓが最も小さい候補点を基準位置として決定する。すなわち、候補点の座標を（ｘ，ｙ）とすると、原点からの距離Ｄｉｓ＝（ｘ２＋ｙ２）１／２が最小となる候補点を基準位置として決定する。
【０１９４】
これは、一般的に、対象ワーク２に表れる周期的な濃淡模様のずれは周期単位で現れるため、学習画像ＬＮＩＭＧに現れる周期的な濃淡模様に対するずれが最小となる位置を選択することで、より適切な基準位置を決定できるからである。
【０１９５】
このように基準位置決定部２５０で決定された基準位置は、抽出部２２４へ出力され、検査画像ＩＭＧに対する欠陥検出処理が実行される。
【０１９６】
図２９は、抽出部２２４によって検査画像ＩＭＧに対して設定される評価領域（但し、簡略化のため、最小サイズの部分領域ＢＬＫ（１）として表現）を説明するための図である。
【０１９７】
図２９を参照して、抽出部２２４は、基準位置決定部２５０によって決定された基準位置に基づいて、当該基準位置を基準とする配置パターンに従って、検査画像ＩＭＧに対して評価領域を順次設定する。
【０１９８】
図２４（ａ）と図２９とを比較すると、検査画像ＩＭＧの全体枠に対して、評価領域を設定するための配置パターンがはみ出して配置されていることがわかる。しかしながら、検査画像ＩＭＧに現れる濃淡模様に対するこの配置パターンの相対的な位置関係は、学習画像ＬＮＩＭＧに現れる濃淡模様に対する、評価領域を設定するための配置パターンの相対的な位置関係とほぼ一致していることがわかる。すなわち、たとえば、学習画像ＬＮＩＭＧの基準位置に隣接する評価領域に囲まれた濃淡模様は、検査画像ＩＭＧの基準位置に隣接する評価領域に囲まれた濃淡模様と同様であることがわかる。このように、学習画像ＬＮＩＭＧと検査画像ＩＭＧとの間において、対応する一対の評価領域に対応するそれぞれの部分領域に現れる濃淡模様を互いに一致させることで、精度の高い誤差検出を行なうことができる。
【０１９９】
（バリエーション１）
上述の説明では、予め定められた検索領域ＳＲＣに対して、部分領域ＢＬＫＳを所定の間隔（好ましくは、１画素単位）で順次設定する構成について説明したが、部分領域ＢＬＫＳを設定する間隔を複数段階に分けてもよい。すなわち、相対的に大きな間隔で基準位置を大まかに検索した後、相対的に小さな間隔で基準位置をより細かく検索してもよい。
【０２００】
具体的には、検査画像ＩＭＧに対して、部分領域ＢＬＫＳを相対的に大きな間隔（たとえば、８画素単位）で順次設定して、上記と同様の方法によって候補点を検索する。そして、この候補点の周辺に検索領域を限定した上で、当該検索画像に対して相対的に小さな間隔（たとえば、１画素単位）で部分領域ＢＬＫＳを順次設定して、上記と同様の方法によって候補点をさらに緻密に検索する。
【０２０１】
このような方法によれば、部分領域ＢＬＫＳの設定および固有空間に対する距離の算出を効率化できるので、基準位置の検索処理を高速化できる。
【０２０２】
なお、上記のような方法を採用する場合には、検索領域ＳＲＣを予め設定しなくともよい。
【０２０３】
（バリエーション２）
上述の説明では、検査画像ＩＭＧ内の周期的な濃淡模様に対して、部分領域ＢＬＫＳを順次設定する構成について説明したが、部分領域ＢＬＫＳを検査画像ＩＭＧからはみ出るように設定してもよい。
【０２０４】
図３０は、設定された部分領域ＢＬＫＳの一部が検査画像ＩＭＧからはみ出る場合の処理を説明するための図である。
【０２０５】
図３０を参照して、検査画像ＩＭＧからはみ出る部分について、隣接する部分の画像情報に基づいて補間処理を行なってもよい。このような補間処理については、文献（天野敏之・佐藤幸男、「ｋＢＰＬＰ法を用いた高次元非線形投影による画像補間」、電子情報通信学会論文誌  Ｄ−ＩＩ  Ｖｏｌ．Ｊ８６−Ｄ−ＩＩ  Ｎｏ．４  ｐｐ．５２５−５３４、２００３年４月）などを参照されたい。
【０２０６】
このような補間処理を行なうことで、その一部が検査画像ＩＭＧからはみ出る部分領域ＢＬＫＳが存在する場合であっても、基準位置を検索することができる。
【０２０７】
（比較例）
従来から、検査画像から欠陥を検出する方法として、画像を構成する画素の輝度値で表される空間周波数に基づいて処理を行なう方法が知られている。しかしながら、このような方法では、本発明の対象とする周期的な濃淡模様をもつ検査画像から欠陥を検出することは難しい。
【０２０８】
図３１は、対象とする周期的な濃淡模様をもつ検査画像の一例を示す図である。
図３２は、図３１に示す検査画像に対して、従来の方法および本実施の形態に従う方法を適用した場合の結果を示す図である。
【０２０９】
図３１を参照して、従来の方法および本実施の形態に従う方法を、紙面横方向および紙面縦方向に沿って周期的な濃淡模様をもつ検査画像に適用する場合を考える。
【０２１０】
図３２（ａ）は、図３１のサンプル領域におけるＲ成分値、Ｇ成分値、Ｂ成分値を、その位置に対応付けてプロットしたグラフを示す。このように、各画素の成分からなる空間周波数で評価した場合には、検査画像が周期的な濃淡模様をもっていても、各成分値における差分値や正・負の値には、ばらつきが生じる。そのため、基準にすべき色成分を決定したり、そのしきい値を決定したりすることは非常に困難である。
【０２１１】
これに対して、図３２（ｂ）に示すように、学習画像ＬＮＩＭＧに基づいて固有空間を予め算出した上、各部分領域における当該固有空間からの距離を用いて評価することによって、変数を１次元化できるとともに、ノイズを除去した上で、欠陥検出を行なうことができる。そのため、本発明に係る方法は、検査画像に表れる周期的な濃淡模様の色成分などに影響されることなく、汎用的に適用することができる。
【０２１２】
（処理手順）
図３３は、この発明の実施の形態２に従う欠陥検出システム１において対象ワーク２に発生し得る欠陥を検出するための処理手順を示すフローチャートである。
【０２１３】
図３３に示すフローチャートは、図７に示すフローチャートにおいて、ステップＳ７およびＳ１３を追加したものに相当する。同一の処理には、図７と同一のステップ番号を付しており、各ステップの処理については上述したので、詳細な説明は繰返さない。
【０２１４】
図２０および図３３を参照して、学習処理（ステップＳ６）の実行後、欠陥検出装置はユーザから検索領域ＳＲＣを受付ける（ステップＳ７）。ユーザは、撮影された学習画像を確認しながら、キーボード１０３やマウス１０４を操作して、検索領域ＳＲＣを設定する。
【０２１５】
撮像部８によって対象ワーク２を撮影することで検査画像を取得（ステップＳ１２）した後、欠陥検出装置は、まず基準位置検索処理を実行する（ステップＳ１３）。その上で、欠陥検出装置は、欠陥検出処理を実行する（ステップＳ１４）。そして、欠陥検出装置は、その欠陥検出結果を出力する（ステップＳ１６）。
【０２１６】
図３４は、この発明の実施の形態２に従う基準位置検索処理の処理手順を示すフローチャートである。なお、図３４に示すフローチャートは、ＣＰＵ１０５が固定ディスク１０７などに予め格納されたプログラムをメモリ１０６に読出して実行することにより、図２０に示すような機能を実現することで実行される。
【０２１７】
図２０および図３４を参照して、領域設定部２４４として機能するＣＰＵ１０５は、学習値格納部２１２から検索領域ＳＲＣを読出す（ステップＳ３００）。そして、領域設定部２４４として機能するＣＰＵ１０５は、検査画像ＩＭＧに対して、所定の検索方向に従って、検索領域ＳＲＣ内に部分領域ＢＬＫＳを順次設定する（ステップＳ３０２）。そして、ベクトル生成部２４６として機能するＣＰＵ１０５は、各部分領域ＢＬＫＳの画像情報から検索画像ベクトルｘＳｉを生成する（ステップＳ３０４）。距離算出部２４８として機能するＣＰＵ１０５は、学習値格納部２１２から、固有空間Ｅ（Ｄ）を読出す（ステップＳ３０６）。そして、ＣＰＵ１０５は、検索画像ベクトルｘＳｉと、読出した固有空間Ｅ（Ｄ）とに基づいて、固有空間Ｅ（Ｄ）から検索画像ベクトルｘＳｉまでの距離ΔｘＳｉを算出する（ステップＳ３０８）。さらに、ＣＰＵ１０５は、検索領域ＳＲＣ内に抽出すべき部分領域ＢＬＫＳが残っているか否かを判断する（ステップＳ３１０）。検索領域ＳＲＣ内に抽出すべき部分領域ＢＬＫＳが残っている場合（ステップＳ３１０においてＹＥＳの場合）には、ＣＰＵ１０５は、ステップＳ３０２以下の処理を繰返す。
【０２１８】
検索領域ＳＲＣ内に抽出すべき部分領域ＢＬＫＳが残っていない場合（ステップＳ３１０においてＮＯの場合）には、基準位置決定部２５０として機能するＣＰＵ１０５は、距離ΔｘＳｉの検索方向のそれぞれについて極小点となる位置を、候補位置として抽出する（ステップＳ３１２）とともに、抽出した極小点のうち、所定のしきい値Ｔｈを超えるものを除外する（ステップＳ３１４）。さらに、ＣＰＵ１０５は、それぞれの検索方向における候補位置に基づいて、検査画像ＩＭＧにおける候補点を算出し（ステップＳ３１６）、これらの候補点のうち、学習画像ＬＮＩＭＧの基準位置に対応する原点からの距離が最も小さい候補点を基準位置として決定する（ステップＳ３１８）。
【０２１９】
（本実施の形態による作用効果）
この発明の実施の形態２によれば、検査画像に評価領域を設定するに際して、所定の検索方向に沿って、固有空間に対する距離が極小値をとるような位置を検索する。そして、この検索した位置に基づいて、評価領域を設定するための配置パターンを位置決めする。これにより、学習画像および検査画像において周期的な濃淡模様を含む場合であっても、学習画像および検査画像において、周期的な濃淡模様に対する配置パターンの相対的な開始位置を互いに一致させることができる。よって、周期的な濃淡模様を含む検査画像
に対しても、欠陥検出の精度を高めることができる。
【０２２０】
［実施の形態２の変形例］
上述の実施の形態２においては、学習画像ＬＮＩＭＧおよび検査画像ＩＭＧが周期的な濃淡模様をもつ場合に、評価領域の配置パターンを適切化する構成について例示した。ところで、実際の生産ラインなどにおいては、生産効率を高めるために、１つの基材から複数の製品を製造するようなプロセス、たとえば、液晶パネルや半導体基板などの製造プロセスが知られている。このようなプロセスでは、各製品は同一のサイズを有しているので、１つの基材上には、切り離し前の製品が周期的に配列されている。このような場合には、１つの製品の大きさに対応する部分領域セットを定めて、画像ベクトルおよび応答ベクトルを算出することが望ましい。そこで、本変形例においては、このようなアプリケーションに適用が容易に構成について、以下説明する。
【０２２１】
図３５は、この発明の実施の形態２の変形例に従う対象ワークを撮像して得られた画像ＳＭＰの一例を示す図である。図３５には、典型例として、１つの基材上に複数の回路基板が形成されている状態を示す。
【０２２２】
本変形例に従う欠陥検出装置は、図３５（ａ）に示すような対象ワークに対して、画像ベクトルを生成するための部分領域のサイズおよび位置を自動的に決定することが可能である。より具体的には、対象ワークに含まれる１つの回路基板の少なくとも一部を表わすパターン（テンプレートパターン）ＭＤＬを予め登録しておき、画像ＳＭＰ上でこの登録されたパターンＭＤＬと一致する複数の位置を特定する。このパターンＭＤＬに基づいて特定された位置の数は、検査対象物に含まれる製品の数と一致し、その位置周期は、検査対象物に含まれる製品の配置周期と一致する。したがって、図３５（ｂ）に示すように、登録されたパターンと一致する位置同士の間隔を計測することで、各製品に対して設定すべき部分領域ＢＬＫのサイズ（Ｘ方向長さＬｘおよびＹ方向長さＬｙ）を決定することができる。以下、図３６に示すフローチャートを用いて、より詳細な処理手順について説明する。
【０２２３】
図３６は、この発明の実施の形態２の変形例に従う欠陥検出システムにおいて周期性を有する対象ワークについての画像ベクトルを生成するための処理手順を示すフローチャートである。なお、図３６に示すフローチャートは、ＣＰＵ１０５が固定ディスク１０７などに予め格納されたプログラムをメモリ１０６に読出して実行することにより実現される。
【０２２４】
図３６を参照して、ＣＰＵ１０５は、ユーザが指定するテンプレートパターンを受付ける（ステップＳ４００）。すなわち、ユーザは、対象ワークに周期的に現れる１つの製品などの一部の画像をモデル画像を示すパターンＭＤＬとして登録する。このパターンＭＤＬは、基準にすべきワークを撮影して得られた画像データから切り出してもよいし、あるいは、カタログなどの画像データを外部入力してもよい。さらに、ＣＰＵ１０５は、ユーザが指定する対象ワークに周期的に現れる周期サイズ（Ｘ方向およびＹ方向の値）を受付ける（ステップＳ４０２）。すなわち、ユーザは、対象ワークに周期的に現れる１つの製品などのおおよそのサイズを入力する。このサイズは、後述するサーチ処理に要する時間を短縮するためのものである。
【０２２５】
これらの入力が終了すると、ＣＰＵ１０５は、対象ワークを撮像して得られた画像データに対して、先に登録されたパターンＭＤＬと一致する位置を探すための粗検索処理を実行する（ステップＳ４０４）。この粗検索処理においては、パターンＭＤＬと対象の領域との間の特徴量、典型的には、相関値が相対的に高い位置を検索する（正規化相関マッチング処理）。この結果、相関値が相対的に高い位置にパターンＭＤＬが位置決めされる。
【０２２６】
続いて、ＣＰＵ１０５は、各位置決めされた部分を基準として、検索領域ＳＲＣをそれぞれ設定する（ステップＳ４０６）。なお、この検索領域ＳＲＣは、ステップＳ４０２において入力された周期サイズに応じた範囲で設定される。続いて、ＣＰＵ１０５は、各検索領域ＳＲＣにおいて、パターンＭＤＬと一致する位置をより詳細に探すための微検索処理を実行する（ステップＳ４０８）。
【０２２７】
パターンＭＤＬと一致する位置がそれぞれ特定されると、ＣＰＵ１０５は、それぞれ特定されたパターンＭＤＬと一致する位置の間の間隔（図３５（ａ）に示すＸ方向長さＬｘおよびＹ方向長さＬｙ）を計測する（ステップＳ４１０）。続いて、ＣＰＵ１０５は、計測したＸ方向長さＬｘおよびＹ方向長さＬｙをもつ部分領域ＢＬＫを、ステップＳ４０８において特定されたパターンＭＤＬと一致する位置に対応付けて、設定する（ステップＳ４１２）。さらに、ＣＰＵ１０５は、対象ワーク上に設定した部分領域ＢＬＫの各々について、画像情報を抽出するとともに、抽出した画像情報に基づいて画像ベクトルを生成する（ステップＳ４１４）。この生成された画像ベクトルに基づいて、応答ベクトルなどが算出される。
【０２２８】
上述のような処理手順は、学習画像ＬＮＩＭＧおよび検査画像ＩＭＧのそれぞれについての画像ベクトルおよび応答ベクトルの生成の手順の一部として組入れられる。
【０２２９】
（本実施の形態の変形例による作用効果）
この発明の実施の形態２の変形例によれば、周期性をもつ構造物に対して、画像ベクトルおよび応答ベクトルをより迅速かつ確実に生成することができる。そのため、１つの基材から複数の製品を製造するようなプロセスにおいても、確実に欠陥検出を行なうことができる。
【０２３０】
［実施の形態３］
上述の図１では、対象ワーク２として電子部品やプラスチック部品などの相対的に小型のものを検査対象とする構成について例示したが、本発明に係る欠陥検出装置は、相対的に大型のものを検査対象とすることもできる。
【０２３１】
図３７は、この発明の実施の形態３に従う欠陥検出装置を含む欠陥検出システム１＃を示す概略図である。
【０２３２】
図３７を参照して、欠陥検出システム１＃は、一例として液晶パネルなどの相対的に大型の板状の対象ワーク２に対して欠陥を検査対象とする場合の構成を示す。欠陥検出システム１＃は、搬送架台２０と、搬送架台２０上を搬送方向にスライド可能な搬送台２２と、撮像部１４と、撮像部１４を対象ワーク２の搬送方向と直交する方向に移動可能な撮像部駆動機構２４とを備える。対象ワーク２は、搬送台２２の上に配置されて搬送方向に沿って移動する。撮像部１４は、搬送台２２によって移動する対象ワーク２を搬送方向に所定間隔毎に撮影するとともに、撮像部駆動機構２４によって移動されることにより、対象ワーク２を搬送方向と直交する方向にも所定間隔毎（但し、搬送方向の所定間隔とは異なる）に撮影する。
【０２３３】
この撮像部１４で撮影された画像は、インターフェイス１６を介して、欠陥検出装置を実現する制御装置１００＃へ伝送される。なお、撮像部１４には、照明部が一体的に組込まれていてもよく、この場合には、インターフェイス１６からこの照明部を駆動するための電源などが供給される。
【０２３４】
制御装置１００＃は、本体１０１＃と、モニタ１０２＃と、キーボード１０３＃などをさらに含む。本体１０１＃、モニタ１０２＃、およびキーボード１０３＃は、それぞれ図１に示すコンピュータ１００の本体１０１、モニタ１０２、およびキーボード１０３と同様の機能を実現する。
【０２３５】
特に、本実施の形態に従う欠陥検出システム１＃では、撮像部１４の撮影範囲内に対象ワーク２のすべてを収めることができないので、対象ワーク２の搬送方向の位置および撮像部１４の搬送方向と直交する方向の位置と対応付けた処理によって、欠陥位置を特定する必要がある。
【０２３６】
また、対象ワーク２と同様の大きさの基準ワークを用いる必要はなく、撮像部１４の撮影範囲にその全体が収まるような大きさの基準ワークを用いれば十分である。
【０２３７】
その他の構成および処理については、上述の本実施の形態に従う欠陥検出装置と同様であるので、詳細な説明は繰返さない。
【０２３８】
［その他の形態］
本発明に係るプログラムは、コンピュータのオペレーティングシステム（ＯＳ）の一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼出して処理を実行させるものであってもよい。その場合、プログラム自体には上記モジュールが含まれずＯＳと協働して処理が実行される。このようなモジュールを含まないプログラムも、本発明にかかるプログラムに含まれ得る。
【０２３９】
また、本発明にかかるプログラムは他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には上記他のプログラムに含まれるモジュールが含まれず、他のプログラムと協働して処理が実行される。このような他のプログラムに組込まれたプログラムも、本発明にかかるプログラムに含まれ得る。
【０２４０】
提供されるプログラム製品は、ハードディスクなどのプログラム格納部にインストールされて実行される。なお、プログラム製品は、プログラム自体と、プログラムが記憶された記録媒体とを含む。
【０２４１】
さらに、本発明に係るプログラムによって実現される機能の一部または全部を専用のハードウェアによって構成してもよい。
【０２４２】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０２４３】
１，１＃  欠陥検出システム、２  対象ワーク、４  基準ワーク、６  搬送機構、８  撮像部、１０  照明部、１２  光源部、１４  撮像部、１６，１０９  インターフェイス、２０  搬送架台、２２  搬送台、２４  撮像部駆動機構、１００  コンピュータ、１００＃  制御装置、１０１  コンピュータ本体、１０１＃  本体、１０２，１０２＃  モニタ、１０３，１０３＃  キーボード、１０４，１０４＃  マウス、１０６  メモリ、１０７  固定ディスク、１１１  ＦＤ駆動装置、１１３  ＣＤ−ＲＯＭ駆動装置、２０２，２２２  画像バッファ部、２０４，２１４，２２４  抽出部、２０６，２１６，２２６  ベクトル生成部、２０８  固有ベクトル算出部、２１０  固有空間決定部、２１８，２２８  距離算出部、２２０  分類部、２３０  判断部、２３２  欠陥検出部、２４０  学習結果格納部、２４４  領域設定部、２４６  ベクトル生成部、２４８  距離算出部、２５０  基準位置決定部、２５６  検索領域受付部。
【図１】
2010203845.tif 000009
【図２】
2010203845.tif 000010
【図３】
2010203845.tif 000011
【図４】
2010203845.tif 000012
【図５】
2010203845.tif 000013
【図６】
2010203845.tif 000014
【図７】
2010203845.tif 000015
【図８】
2010203845.tif 000016
【図９】
2010203845.tif 000017
【図１０】
2010203845.tif 000018
【図１１】
2010203845.tif 000019
【図１２】
2010203845.tif 000020
【図１３】
2010203845.tif 000021
【図１４】
2010203845.tif 000022
【図１５】
2010203845.tif 000023
【図１６】
2010203845.tif 000024
【図１７】
2010203845.tif 000025
【図１８】
2010203845.tif 000026
【図１９】
2010203845.tif 000027
【図２０】
2010203845.tif 000028
【図２１】
2010203845.tif 000029
【図２２】
2010203845.tif 000030
【図２４】
2010203845.tif 000031
【図２５】
2010203845.tif 000032
【図２６】
2010203845.tif 000033
【図２７】
2010203845.tif 000034
【図２８】
2010203845.tif 000035
【図２９】
2010203845.tif 000036
【図３０】
2010203845.tif 000037
【図３２】
2010203845.tif 000038
【図３３】
2010203845.tif 000039
【図３４】
2010203845.tif 000040
【図３６】
2010203845.tif 000041
【図３７】
2010203845.tif 000042
【図２３】
2010203845.tif 000043
【図３１】
2010203845.tif 000044
【図３５】
2010203845.tif 000045