(57)【要約】【課題】より正確かつより高速に欠陥検出が可能な学習型の欠陥検出装置、欠陥検出方法および欠陥検出プログラムを提供する。【解決手段】学習画像ＬＮＩＭＧのＡ−Ａ線に沿って複数の部分領域ＢＬＫＬＮが設定された場合において、判断部は、このような部分領域ＢＬＫに対応する距離のうち、下限しきい値ＴｈＬと上限しきい値ＴｈＨとの間にあるもの（候補画像ベクトル）を学習対象と判断する。一方、距離が下限しきい値ＴｈＬ以下のもの、および距離が上限しきい値ＴｈＨ以上のものは、学習対象から除外される。【選択図】図１０
2010198476.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）などから構成される。マウス１０４は、クリックやスライドなどの動作に応じたユーザからの指令を受付ける。キーボード１０３は、入力されるキーに応じたユーザからの指令を受付ける。ＣＰＵ１０５は、プログラムされた命令を順次実行することで、各種の演算を実施する演算処理部である。メモリ１０６は、ＣＰＵ１０５でのプログラム実行に応じて、各種の情報を記憶する。インターフェイス１０９は、コンピュータ１００と撮像部８（図１）や照明部１０（図１）との間の通信を確立するための装置であり、ＣＰＵ１０５が出力した情報をたとえば電気信号に変換してこれらの装置へ送出するとともに、これらの装置から電気信号を受信してＣＰＵ１０５が利用できる情報に変換する。撮像部８によって撮影された画像データは、インターフェイス１０９を介して、メモリ１０６または固定ディスク１０７へ格納される。固定ディスク１０７は、ＣＰＵ１０５が実行するプログラムや画像データなどを記憶する不揮発性の記憶装置である。特に、本実施の形態に従う固定ディスク１０７には、後述するように、学習画像についての投影ベクトルの内積値が格納される。また、コンピュータ１００には、必要に応じて、プリンタなどの他の出力装置が接続されてもよい。
【００４０】
（欠陥検出処理の概略）
図３は、この発明の実施の形態に従う欠陥検出処理の概略を説明するための図である。図３（ａ）は、欠陥を含まない学習画像ＬＮＩＭＧの一例を示し、図３（ｂ）は、欠陥ＤＥＦを含む検査画像ＩＭＧの一例を示し、図３（ｃ）は、欠陥ＤＥＦを含まない部分領域の一例を示し、図３（ｄ）は、欠陥ＤＥＦを含む部分領域の一例を示す。
【００４１】
図３（ａ）を参照して、まず、本実施の形態に従う画像検出装置は、基準ワーク４を撮
影して得られた、欠陥を含まない学習画像ＬＮＩＭＧから所定の大きさの部分領域ＢＬＫＬＮを順次抽出する。そして、本実施の形態に従う画像検出装置は、この学習画像ＬＮＩＭＧの全体として現れる性質（特徴）を予め取得する。なお、図３（ａ）では、図面を簡素化するために、互いに重ならないように部分領域ＢＬＫを順次抽出する例を示すが、互いに重なるように部分領域ＢＬＫＬＮを設定してもよい。本実施の形態に従う欠陥検出装置によれば、部分領域の各々について欠陥ＤＥＦの有無を判断するため、隣接する部分領域ＢＬＫの判断結果に影響を受けないからである。
【００４２】
図３（ｂ）を参照して、続いて、本実施の形態に従う画像検出装置は、対象ワーク２を撮影して得られた検査画像ＩＭＧから所定の大きさの部分領域ＢＬＫ１，ＢＬＫ２を抽出したものとする。なお、検査画像ＩＭＧから抽出する部分領域ＢＬＫ１，ＢＬＫ２は、学習画像ＬＮＩＭＧから抽出した部分画像ＢＬＫの大きさといずれも同じである。
【００４３】
図３（ｃ）を示すように、部分領域ＢＬＫ１に欠陥ＤＥＦが含まない場合には、部分領域ＢＬＫ１は、学習画像ＬＮＩＭＧの全体として現れる性質とほぼ同様の性質を有することになる。一方、図３（ｄ）に示すように、部分領域ＢＬＫ２に欠陥ＤＥＦが含まれる場合には、部分領域ＢＬＫ２は、学習画像ＬＮＩＭＧの全体として現れる性質とは異なる特徴的な性質を有することになる。
【００４４】
そこで、本実施の形態に従う欠陥検出装置は、基準ワーク４を撮影して得られる学習画像の全体として現れる性質を学習結果として予め取得しておき、検査画像ＩＭＧの各部分領域ＢＬＫに現れる性質を予め取得した学習画像の全体として現れる性質と比較することで、検査画像ＩＭＧ中の欠陥ＤＥＦを検出する。
【００４５】
本実施の形態では、この学習画像の全体として現れる性質として、後述するように、各部分領域ＢＬＫの画像情報を含む画像ベクトルの組から算出される固有ベクトルにより決定される固有空間を用いる。そして、この固有空間と画像ベクトルとの距離に基づいて、検査画像ＩＭＧ中の欠陥ＤＥＦを検出する。すなわち、本実施の形態に従う欠陥検出装置は、検査画像ＩＭＧから算出される固有空間を学習結果として用いる。
【００４６】
特に、本実施の形態に従う欠陥検出装置は、学習画像ＬＮＩＭＧから抽出される部分領域ＢＬＫＬＮのうち、近似した性質を有するものを除外した上で、固有ベクトルを算出する。すなわち、本実施の形態に従う欠陥検出装置は、学習画像ＬＮＩＭＧから抽出される部分領域ＢＬＫＬＮのうち冗長なものを除外する。これにより、より効率的かつ短時間に固有ベクトルおよび固有空間を算出できる。
【００４７】
（学習処理）
まず、図４を参照して、この学習処理の概略について説明する。なお、本実施の形態における学習処理は、学習画像の部分領域の画像情報から生成される複数の画像ベクトルに基づいて固有ベクトルを算出する処理、およびこの算出された固有ベクトルを用いて固有空間を決定する処理を含む。
【００４８】
図４は、本実施の形態に従う欠陥検出装置における学習処理を概念的に説明するための図である。図４（ａ）は、学習画像ＬＮＩＭＧに基準領域ＳＴＤが設定されている状態を示し、図４（ｂ）は、学習画像ＬＮＩＭＧの基準領域ＳＴＤ以外の領域から部分領域ＢＬＫＬＮが抽出される状態を示し、図４（ｃ）は、学習画像ＬＮＩＭＧのうち固有ベクトル（固有空間）の算出対象となる学習対象領域ＴＲＧが決定された状態を示す。
【００４９】
図４（ａ）を参照して、まず、ユーザは、キーボード１０３やマウス１０４（図１）などを操作して、学習画像ＬＮＩＭＧに対して基準領域ＳＴＤを設定する。この基準領域ＳＴＤは、ユーザが学習画像ＬＮＩＭＧのうち基準として適切だと判断する領域、すなわち欠陥を含まないと判断できる領域である。そして、欠陥検出装置は、この基準領域ＳＴＤから所定の大きさの部分領域ＢＬＫＬＮを順次抽出し、この順次抽出する部分領域ＢＬＫＬＮに対応する画像情報から画像ベクトル（以下、「基準画像ベクトル」とも称す）をそれぞれ生成する。さらに、欠陥検出装置は、これらの基準画像ベクトルから固有ベクトル（以下、「基準固有ベクトル」とも称す）を算出し、この基準固有ベクトルを用いて固有空間（以下、「基準固有空間」とも称す）を決定する。この基準画像ベクトルの生成、基準固有ベクトルの算出、基準固有空間の決定については後述する。なお、基準領域ＳＴＤは、少なくとも部分領域ＢＬＫＬＮの大きさより大きければ、任意の大きさに設定できる。
【００５０】
その後、欠陥検出装置は、図４（ｂ）に示すように、学習画像ＬＮＩＭＧのうち基準領域ＳＴＤを除いた領域から部分領域ＢＬＫＬＮを順次抽出し、この順次抽出する部分領域ＢＬＫＬＮに対応する画像情報から画像ベクトル（以下、「候補画像ベクトル」とも称す）をそれぞれ生成する。そして、欠陥検出装置は、候補画像ベクトルの各々と基準固有空間との距離を算出し、この算出した距離が所定条件を満たしている候補画像ベクトルを抽出する。この所定条件は、学習画像ＬＮＩＭＧから順次抽出される部分領域ＢＬＫＬＮのうち、基準領域ＳＴＤと同様の性質を有するものを除外するように決定される。なお、候補画像ベクトルを抽出する領域をユーザがさらに設定するようにしてもよい。
【００５１】
このような手順によって、欠陥検出装置は、学習画像ＬＮＩＭＧのうち、基準領域ＳＴＤおよび学習対象領域ＴＲＧを決定する（図４（ｃ）参照）。この学習対象領域ＴＲＧは、その画像ベクトルと基準固有空間との距離が所定条件を満たすものの集合に相当する。そして、欠陥検出装置は、基準領域ＳＴＤから順次抽出される部分領域ＢＬＫＬＮに対応する複数の基準画像ベクトルと、学習対象領域ＴＲＧから順次抽出される部分領域ＢＬＫＬＮに対応する複数の候補画像ベクトルとを含むベクトルの組に対して、固有ベクトルを算出する。そして、欠陥検出装置は、この算出した固有ベクトルを用いて欠陥検出の基準となる固有空間（以下、「学習固有空間」とも称す）を決定する。
【００５２】
本実施の形態に従う欠陥検出装置は、このような手順によって決定された学習固有空間に基づいて、検査画像における欠陥を検出する。
【００５３】
（学習処理の変形例）
上述の説明では、主として１つの学習画像ＬＮＩＭＧに基づいて、学習固有空間を決定する構成について例示したが、複数の学習画像ＬＮＩＭＧに基づいて、学習固有空間を決定してもよい。なお、この学習固有空間の決定にあたり、１つの学習対象領域ＴＲＧを決定する必要があるので、以下のような処理を実行する。
【００５４】
より具体的には、まず、同一の基準ワーク４もしくは類似した基準ワーク４（たとえば、同じ製造ロッドであるもの）に対して複数回の撮像を行なうことで、複数枚の学習画像ＬＮＩＭＧを取得する。次に、複数の学習画像ＬＮＩＭＧの各々に対して、図４（ａ）〜図４（ｃ）に示す一連の処理を実行する。この結果、複数の学習画像ＬＮＩＭＧのそれぞれに対応する複数の学習対象領域ＴＲＧが抽出される。この抽出された複数の学習対象領域ＴＲＧを統合処理（典型的には、ＯＲ演算もしくはＡＮＤ演算）することで、１つの学習対象領域ＴＲＧを決定する。
【００５５】
別の処理手順として、上記と同様に複数の学習画像ＬＮＩＭＧを取得した上で、いずれか１つの学習画像ＬＮＩＭＧにおいて、図４（ｂ）に示すような基準領域ＳＴＤを設定するとともに、残りの学習画像ＬＮＩＭＧにおける部分領域ＢＬＫＬＮと比較することで、その結果をそれぞれの学習画像ＬＮＩＭＧについて取得する。さらに、この取得した複数の結果を上記と同様の統合処理することで、１つの学習対象領域ＴＲＧを決定する。
【００５６】
（制御構造）
次に、上述のような処理を実現するための制御構造について説明する。
【００５７】
図５は、この発明の実施の形態に従う欠陥検出装置の制御構造を示す機能ブロック図である。
【００５８】
図５を参照して、本実施の形態に従う欠陥検出装置は、その機能として、画像バッファ部２０２，２３２と、抽出部２０４，２１４，２３４と、ベクトル生成部２０６，２１６，２３６と、固有ベクトル算出部２０８，２２２と、固有空間決定部２１０，２２４と、距離算出部２１２，２３８と、判断部２１８と、画像ベクトルバッファ部２２０と、学習結果格納部２２８と、欠陥位置特定部２４２と、欠陥検出部２４４とを含む。
【００５９】
画像バッファ部２０２は、メモリ１０６（図１）の所定の領域に形成され、装置外部から入力される学習画像を一時的に格納する。なお、本実施の形態においては、撮像部８から画像バッファ部２０２へ学習画像が入力される構成について例示するが、撮像部８以外の装置によって撮影された学習画像が記録媒体やネットワークなどを介して、予め固定ディスク１０７（図２）に格納されていてもよい。
【００６０】
抽出部２０４は、ユーザからの基準領域指定に基づいて、学習画像ＬＮＩＭＧに対して設定された基準領域ＳＴＤから所定の大きさの部分領域ＢＬＫＬＮを順次抽出し、この順次抽出する部分領域ＢＬＫＬＮに対応する学習画像の画像情報を画像バッファ部２０２から読み出してベクトル生成部２０６へ出力する。言い換えれば、抽出部２０４は、学習画像ＬＮＩＭＧに設定される基準領域ＳＴＤから所定の大きさの学習サンプル（局所領域）を順次切り出す。
【００６１】
ベクトル生成部２０６は、抽出部２０４から順次抽出される学習画像ＬＮＩＭＧの基準領域ＳＴＤ中における部分領域ＢＬＫＬＮの画像情報から基準画像ベクトルｘ（ＳＴＤ）ｉを順次生成する。そして、ベクトル生成部２０６は、生成した基準画像ベクトルｘ（ＳＴＤ）ｉを固有ベクトル算出部２０８、距離算出部２１２、および画像ベクトルバッファ部２２０へそれぞれ出力する。
【００６２】
図６は、本実施の形態に従う欠陥検出装置における画像ベクトルの生成処理を概念的に説明するための図である。
【００６３】
図７は、本実施の形態に従う欠陥検出装置における学習画像の部分領域の画像情報を概念的に説明するための図である。
【００６４】
図６および図７を参照して、一例として、基準領域ＳＴＤがＷ画素×Ｈ画素で構成されるとする。この基準領域ＳＴＤに対して、抽出部２０４（図５）は、所定の大きさ（一例として、ｗ画素×ｈ画素）の部分領域ＢＬＫＬＮを順次設定する。そして、ベクトル生成部２０６（図５）は、この抽出部２０４が設定する部分領域ＢＬＫＬＮに含まれる画素の画像情報をベクトル化し、基準画像ベクトルｘ（ＳＴＤ）ｉを順次生成する。
【００６５】
なお、部分領域ＢＬＫＬＮは、基準領域ＳＴＤの大きさより小さければいずれの大きさであってもよい。この部分領域ＢＬＫＬＮの大きさは予め定めておいてもよいし、設定される基準領域ＳＴＤの大きさに応じて動的に決定されてもよい。
【００６６】
図６および図７を参照して、部分領域ＢＬＫＬＮの各々はｗ×ｈ個の画素を含み、各画素は画像情報ｙｉ（１≦ｉ≦Ｎ＝ｗ×ｈ）を有する。すなわち、抽出部２０４は、部分領域ＢＬＫＬＮの設定毎に、Ｎ個の画像情報ｙｉをベクトル生成部２０６へ出力する。
【００６７】
具体的には、ベクトル生成部２０６は、各部分領域ＢＬＫＬＮに対して、以下のような基準画像ベクトルｘ（ＳＴＤ）ｉを生成する。
【００６８】
基準画像ベクトルｘ（ＳＴＤ）ｉ＝［ｙ１，ｙ２，・・・，ｙＮ］Ｔ
但し、Ｎ＝ｗ×ｈ
なお、各画素がＲ成分値、Ｇ成分値、Ｂ成分値からなる場合には、画像情報ｙｉはこれらの成分値（階調値）を含む３次元の配列となる。そのため、基準画像ベクトルｘ（ＳＴＤ）ｉとしては、以下のようになる。
【００６９】
ｘ（ＳＴＤ）ｉ＝［Ｒ１，Ｇ１，Ｂ１，Ｒ２，Ｇ２，Ｂ２，・・・，ＲＮ，ＧＮ，ＢＮ］Ｔ
図８は、この発明の実施の形態に従う欠陥検出装置において生成される基準画像ベクトルｘ（ＳＴＤ）ｉをＮ次元ユークリッド空間上に表現した一例である。
【００７０】
図８を参照して、ベクトル生成部２０６が生成する各部分領域ＢＬＫＬＮについての基準画像ベクトルｘ（ＳＴＤ）ｉは、Ｎ次元ユークリッド空間上の点として定義できる。
【００７１】
再度、図５を参照して、固有ベクトル算出部２０８は、ベクトル生成部２０６が順次生成する基準画像ベクトルｘ（ＳＴＤ）ｉの組から固有ベクトルＥ（ＳＴＤ）を算出する。この固有ベクトルＥ（ＳＴＤ）は、学習画像ＬＮＩＭＧの基準領域ＳＴＤに現れる性質を表す。
【００７２】
具体的には、固有ベクトル算出部２０８は、ベクトル生成部２０６で生成される基準画像ベクトルｘ（ＳＴＤ）ｉの組（集合）として、以下のような集合ベクトルＸを算出する。
【００７３】
集合ベクトルＸ＝［ｘ（ＳＴＤ）１，ｘ（ＳＴＤ）２，・・・，ｘ（ＳＴＤ）Ｒ］
但し、Ｒは学習画像ＬＮＩＭＧの基準領域ＳＴＤに設定される部分領域ＢＬＫＬＮの総数（基準サンプル総数）である
たとえば、図６に示すようなＷ×Ｈ画素の基準領域ＳＴＤに対して、互いに重なることなくｗ×ｈ画素の部分領域ＢＬＫＬＮを順次設定する場合を考えると、基準サンプル総数Ｒは、Ｒ＝（Ｗ／ｗ）×（Ｈ／ｈ）個となる。
【００７４】
そして、固有ベクトル算出部２０８は、集合ベクトルＸの分散行列Ｑ＝ＸＸＴを対角化する固有ベクトルＥ（ＳＴＤ）を算出する。すなわち、固有ベクトル算出部２０８は、以下の式が成立するように、固有ベクトルＥ（ＳＴＤ）および固有値行列Δを算出する。
【００７５】
分散行列Ｑ＝ＸＸＴ＝Ｅ（ＳＴＤ）ΔＥ（ＳＴＤ）Ｔ
固有ベクトルＥ（ＳＴＤ）＝［ｅ（ＳＴＤ）１，ｅ（ＳＴＤ）２，・・・，ｅ（ＳＴＤ）Ｒ］
ここで、基底ベクトルｅ（ＳＴＤ）１，ｅ（ＳＴＤ）２，・・・，ｅ（ＳＴＤ）Ｒは、以下の条件を満たす。
【００７６】
【数１】
2010198476.tif 000003
【００７７】
また、固有値行列Δは、以下のように固有値λ（ＳＴＤ）１，λ（ＳＴＤ）２，・・・，λ（ＳＴＤ）Ｒの対角行列として表される。
【００７８】
【数２】
2010198476.tif 000004
【００７９】
なお、上記のような固有ベクトルおよび固有値の演算処理は、ＫＬ（Karhunen-Loeve）展開などの公知のアルゴリズムを用いて実現することができる。
【００８０】
固有空間決定部２１０は、固有ベクトル算出部２０８が算出した固有ベクトルＥ（ＳＴＤ）＝［ｅ（ＳＴＤ）１，ｅ（ＳＴＤ）２，・・・，ｅ（ＳＴＤ）Ｒ］のうち、その固有値が大きいものから所定数の基底ベクトルｅ（ＳＴＤ）１，ｅ（ＳＴＤ）２，・・・，ｅ（ＳＴＤ）ｄｉｍ（ｄｉｍ≦Ｒ）を用いて基準固有空間Ｅ（ＳＴＤ）を決定する。この基準固有空間Ｅ（ＳＴＤ）は次元ｄｉｍの超平面となる。なお、次元ｄｉｍは、学習画像ＬＮＩＭＧの基準領域ＳＴＤに現れる性質に応じて任意に決定できる。そして、固有空間決定部２１０は、決定した基準固有空間Ｅ（ＳＴＤ）を距離算出部２１２へ出力する。この基準固有空間Ｅ（ＳＴＤ）の決定方法について、以下より詳細に説明する。
【００８１】
図９は、２次元ユークリッド空間上において基底ベクトルを説明するための図である。
図９を参照して、より理解を容易にするため、２次元の基準固有空間Ｅ（ＳＴＤ）＝［ｅ（ＳＴＤ）１，ｅ（ＳＴＤ）２］として考える。なお、図９に示す２次元ユークリッド空間上のプロットは、基準画像ベクトルｘ（ＳＴＤ）ｉを示す。図９に示すように、基底ベクトルｅ（ＳＴＤ）１は、基準画像ベクトルｘ（ＳＴＤ）ｉの分布が最も広がっている方向（最も分散が大きい方法）に相当するベクトルであり、基底ベクトルｅ（ＳＴＤ）２は、基底ベクトルｅ（ＳＴＤ）１と直交するベクトルである。
【００８２】
すなわち、固有ベクトルＥ（ＳＴＤ）を構成する基底ベクトルｅ（ＳＴＤ）１，ｅ（ＳＴＤ）２，・・・，ｅ（ＳＴＤ）Ｒの各々は、Ｎ次元ユークリッド空間上において、学習画像ＬＮＩＭＧの基準領域ＳＴＤに現れる性質を代表するものであり、その固有値が大きいものほどその代表する度合いが大きくなる。ここで、固有値λ１≧λ２≧・・・≧λＲであるので、それぞれ対応する基底ベクトルｅ（ＳＴＤ）１，ｅ（ＳＴＤ）２，・・・，ｅ（ＳＴＤ）Ｒの順で学習画像ＬＮＩＭＧの基準領域ＳＴＤとして現れる性質を代表する度合いが大きいことを意味する。
【００８３】
そこで、本実施の形態に従う欠陥検出装置では、このような基底ベクトルｅ（ＳＴＤ）１，ｅ（ＳＴＤ）２，・・・，ｅ（ＳＴＤ）Ｒにおける物理的な意味を考慮して、その固有値が大きいものから順に所定数の基底ベクトルを用いて基準固有空間Ｅ（ＳＴＤ）を定義する。すなわち、基準固有空間Ｅ（ＳＴＤ）は、固有ベクトル算出部２０８で生成される基底ベクトルｅ（ＳＴＤ）１，ｅ（ＳＴＤ）２，・・・，ｅ（ＳＴＤ）Ｒの一部を用いて算出される部分空間である。このように算出される基準固有空間Ｅ（ＳＴＤ）は、学習画像ＬＮＩＭＧの基準領域ＳＴＤに現れる性質のうち、基底ベクトルの次元（次数）に応じた程度で反映したものとなる。ここで、学習画像ＬＮＩＭＧの基準領域ＳＴＤにおけるフラクタル性や周期性が支配的であれば、相対的に小さい次元の基底ベクトルで基底される基準固有空間Ｅ（ＳＴＤ）であっても、学習画像ＬＮＩＭＧの基準領域ＳＴＤの特性をほぼ近似し得る。
【００８４】
この基準固有空間Ｅ（ＳＴＤ）は、次元ｄｉｍの超平面を示すことになる。なお、次元ｄｉｍは、学習画像ＬＮＩＭＧの基準領域ＳＴＤに現れる性質に応じて任意に決定できるが、次元ｄｉｍが高くなるほど、後述する投影ベクトルなどに演算量が増大する。そのため、非特許文献１に開示されるような累積寄与度などに基づいて、適切な次元を決定することが望ましい。
【００８５】
図１０は、２つの基底ベクトルｅ（ＳＴＤ）１，ｅ（ＳＴＤ）２で形成される固有空間を説明するための図である。図１１は、固有空間を一般的に表現した図である。
【００８６】
図１０を参照して、一例として、２つの基底ベクトルｅ（ＳＴＤ）１，ｅ（ＳＴＤ）２を用いた固有空間は、互いに直交する基底ベクトルｅ（ＳＴＤ）１と基底ベクトルｅ（ＳＴＤ）２とによって張られる超平面となる。また、図１１を参照して、このような固有ベクトルは、Ｎ次元ユークリッド空間上に一般化して示される。
【００８７】
再度、図５を参照して、抽出部２１４は、学習画像ＬＮＩＭＧの基準領域ＳＴＤ以外の領域から所定の大きさの部分領域ＢＬＫＬＮを順次抽出し、この順次抽出する部分領域ＢＬＫＬＮに対応する学習画像の画像情報を画像バッファ部２０２から読み出してベクトル生成部２１６へ出力する。言い換えれば、抽出部２１４は、学習画像ＬＮＩＭＧに設定される基準領域ＳＴＤ以外の領域から所定の大きさの学習候補サンプル（局所領域）を順次切り出す。ここで、基準領域ＳＴＤから切り出される部分領域ＢＬＫＬＮの大きさは、学習画像ＬＮＩＭＧの基準領域ＳＴＤ以外の領域から切り出される部分領域ＢＬＫＬＮの大きさと等しい。なお、抽出部２１４は、抽出部２０４と連係することで、学習画像ＬＮＩＭＧの基準領域ＳＴＤとそれ以外の領域とを識別する。
【００８８】
ベクトル生成部２１６は、抽出部２１４から順次抽出される部分領域ＢＬＫＬＮの画像情報から候補画像ベクトルｘ（ＣＮＤ）ｊを順次生成する。そして、ベクトル生成部２１６は、生成した候補画像ベクトルｘ（ＣＮＤ）ｊを距離算出部２１２および判断部２１８へそれぞれ出力する。なお、ベクトル生成部２１６における候補画像ベクトルｘ（ＣＮＤ）ｊの生成処理は、ベクトル生成部２０６における基準画像ベクトルｘ（ＳＴＤ）ｉの生成処理と同様であるので、詳細な説明は繰返さない。
【００８９】
距離算出部２１２は、基準固有空間Ｅ（ＳＴＤ）と基準画像ベクトルｘ（ＳＴＤ）ｉの各々との距離を算出し、この算出結果に基づいて、判断部２１８での判断に使用される所定条件を決定する。また、距離算出部２１２は、基準固有空間Ｅ（ＳＴＤ）と候補画像ベクトルｘ（ＣＮＤ）ｊとの距離Δｘ（ＣＮＤ）ｊを順次算出し、この算出した距離Δｘ（ＣＮＤ）ｊを判断部２１８へ出力する。なお、距離算出部２１２が出力する所定条件は、基準固有空間Ｅ（ＳＴＤ）と候補画像ベクトルｘ（ＣＮＤ）ｊとの距離Δｘ（ＣＮＤ）ｊについての下限しきい値および上限しきい値を含む。
【００９０】
ここで、固有空間Ｅと画像ベクトルｘとの距離の算出方法について一般化して説明する。
【００９１】
図１２は、固有空間Ｅと画像ベクトルｘとの距離Δｘを説明するための図である。
図１２を参照して、固有空間Ｅと画像ベクトルｘとの距離Δｘは、ユークリッド距離として定義され、このユークリッド距離は、画像ベクトルｘの固有空間Ｅへの投影点ｘ’を用いて、以下のような式で表すことができる。
【００９２】
｜Δｘ｜２＝｜ｘ−ｘ’｜２＝（ｘ−ｘ’）Ｔ（ｘ−ｘ’）
また、画像ベクトルｘの固有空間Ｅへの投影点ｘ’は、以下のような式で表すことができる。
【００９３】
【数３】
2010198476.tif 000005
【００９４】
次に、図１３を参照して、固有空間を１次元とした場合について、固有空間Ｅ（１）と画像ベクトルｘとの間の距離について説明する。
【００９５】
図１３は、１次元の固有空間Ｅ（１）と画像ベクトルｘとの距離Δｘを説明するための図である。
【００９６】
図１３を参照して、原点から投影点ｘ’までの距離Ｐについて考える。１次元の固有空間Ｅ（１）は、基底ベクトルｅ１で定義されるので、ベクトル集合Ｐは、画像ベクトルｘと基底ベクトルｅ１とを用いて以下のような式で表すことができる。
【００９７】
Ｐ＝ｘ・ｅ１
これを、Ｄ次元まで拡張すると、原点から投影点ｘ’までの距離Ｐの集合は、以下のような式で表すことができる。
【００９８】
Ｐ＝（Ｐ１，Ｐ２，・・・，ＰＤ）Ｔ
したがって、任意の成分における原点から投影点ｘ’までの距離は、Ｐｍ＝ｘ・ｅｍ（１≦ｍ≦Ｄ）となる。
【００９９】
図１３に示すように固有空間Ｅ（１）が１次元であれば、固有空間Ｅ（１）（基底ベクトルｅ１平面）上の投影点ｘ’は、基底ベクトルｅ１方向にＰ倍したものと考えられるので、ｘ’＝Ｐｅ１となる。但し、基底ベクトルｅ１を単位ベクトルとする。
【０１００】
これを、Ｄ次元まで拡張すると、投影点ｘ’は以下のような式で表すことができる。
【０１０１】
【数４】
2010198476.tif 000006
【０１０２】
再度、固有空間Ｅと画像ベクトルｘとの距離Δｘについて考える。上述したように、
【０１０３】
【数５】
2010198476.tif 000007
【０１０４】
であるので、
｜Δｘ｜２＝｜ｘ−ｘ’｜２＝（ｘ−ｘ’）Ｔ（ｘ−ｘ’）
＝（ｘ−ＥＰ）Ｔ（ｘ−ＥＰ）  （但し、Ｐ＝ＥＴｘ）
＝ｘＴｘ−ｘＴＥＰ−ＰＴＥＴｘ＋ＰＴＥＴＥＰ
ここで、以下の式が成立するので、
【０１０５】
【数６】
2010198476.tif 000008
【０１０６】
｜Δｘ｜２＝ｘＴｘ−ＰＴＰ−ＰＴＰ＋ＰＴＰ
＝ｘＴｘ−ＰＴＰ
以上のように、固有空間Ｅと画像ベクトルｘとの距離Δｘは、画像ベクトルｘとベクトル集合Ｐとを用いて、以下のような式で表すことができる。
【０１０７】
｜Δｘ｜２＝ｘＴｘ−ＰＴＰ
ここで、ベクトル集合Ｐは、画像ベクトルｘを投影点ｘ’へ投影するための投影ベクトルに相当し、ＰＴＰは、この投影ベクトルの内積値に相当する。
【０１０８】
再度、図５を参照して、距離算出部２１２は、固有空間決定部２１０から出力される基準固有空間Ｅ（ＳＴＤ）と、ベクトル生成部２０６から出力される基準画像ベクトルｘ（ＳＴＤ）ｉの各々とを用いて、以下の演算式に従って距離Δｘ（ＳＴＤ）ｉを算出する。
【０１０９】
｜Δｘ（ＳＴＤ）ｉ｜２＝ｘ（ＳＴＤ）ｉＴｘ（ＳＴＤ）ｉ−Ｐ（ＳＴＤ）ｉＴＰ（ＳＴＤ）ｉ
但し、Ｐ（ＳＴＤ）ｉ＝Ｅ（ＳＴＤ）Ｔｘ（ＳＴＤ）ｉ
そして、距離算出部２１２は、このように順次算出される距離Δｘ（ＳＴＤ）ｉに基づいて、下限しきい値ＴｈＬおよび上限しきい値ＴｈＨを決定し、この決定したしきい値を判断部２１８へ出力する。
【０１１０】
同様に、距離算出部２１２は、固有空間決定部２１０から出力される基準固有空間Ｅ（ＳＴＤ）と、ベクトル生成部２１６から出力される候補画像ベクトルｘ（ＣＮＤ）ｊの各々とを用いて、以下の演算式に従って距離Δｘ（ＣＮＤ）ｊを算出する。
【０１１１】
｜Δｘ（ＣＮＤ）ｊ｜２＝ｘ（ＣＮＤ）ｊＴｘ（ＣＮＤ）ｊ−Ｐ（ＣＮＤ）ｊＴＰ（ＣＮＤ）ｊ
但し、Ｐ（ＣＮＤ）ｊ＝Ｅ（ＳＴＤ）Ｔｘ（ＣＮＤ）ｊ
判断部２１８は、ベクトル生成部２１６から順次出力される候補画像ベクトルｘ（ＣＮＤ）ｊの各々について、対応する距離Δｘ（ＣＮＤ）ｊが上述の下限しきい値ＴｈＬと上限しきい値ＴｈＨとの間に存在するか否かを判断する。そして、判断部２１８は、その距離Δｘ（ＣＮＤ）ｊが上述の下限しきい値ＴｈＬと上限しきい値ＴｈＨとの間に存在する学習候補画像ベクトルｘ（ＣＮＤ）ｋ（０≦ｋ≦ｊ）を画像ベクトルバッファ部２２０へ出力する。
【０１１２】
ここで、下限しきい値ＴｈＬは、ベクトル生成部２１６から順次出力される候補画像ベクトルｘ（ＣＮＤ）ｊのうち、基準領域ＳＴＤと近似した性質を有するものを除外するための条件である。すなわち、その距離Δｘ（ＣＮＤ）ｊが下限しきい値ＴｈＬ以下である場合には、対応する部分領域ＢＬＫＬＮは基準領域ＳＴＤと近似した性質を有することを意味し、後述する学習固有空間を決定するための対象からは除外される。一例として、距離算出部２１２は、算出される複数の距離Δｘ（ＳＴＤ）ｉの中での最大値を下限しきい値ＴｈＬに決定する。
【０１１３】
一方、上限しきい値ＴｈＬは、学習画像ＬＮＩＭＧに存在する欠陥を含む部分領域ＢＬＫＬＮを除外するための条件である。すなわち、学習画像ＬＮＩＭＧとしては、原則的に欠陥を含まない画像を用いるが、ユーザが気付かないうちに欠陥が含まれている場合や、欠陥を含む画像した取得できない場合には、このような欠陥を含む部分領域ＢＬＫＬＮから得られる画像ベクトルを、学習固有空間を決定するための対象から除外する。
【０１１４】
一例として、欠陥を含む部分領域が既知である場合には、この欠陥を含む部分領域から算出される画像ベクトルと基準固有空間Ｅ（ＳＴＤ）との距離に所定の比率（たとえば、８０％）を乗じた値を上限しきい値ＴｈＨとして決定してもよい。また、欠陥を含む部分領域が既知でない場合には、距離算出部２１２において算出される複数の距離Δｘ（ＳＴＤ）ｉの分散値を求め、この分散値に所定の比率（たとえば、５０％）を乗じた値を下限しきい値ＴｈＬに加えた値を、上限しきい値ＴｈＨとして決定してもよい。
【０１１５】
図１４は、学習固有空間を決定するために対象となる部分領域を選別する処理を説明するための図である。図１４（ａ）は、学習画像ＬＮＩＭＧに設定される部分領域ＢＬＫＬＮを概略的に示す図である。図１４（ｂ）は、図１４（ａ）に示す部分領域ＢＬＫＬＮに対応した判断部２１８における判断処理結果の一例を示す図である。
【０１１６】
図１４（ａ）を参照して、学習画像ＬＮＩＭＧのＡ−Ａ線に沿って、複数の部分領域ＢＬＫＬＮが設定された場合を考える。図１４（ｂ）は、この部分領域ＢＬＫＬＮの各々に対応する距離Δｘ（ＣＮＤ）ｊの一例を示す。判断部２１８は、このような部分領域ＢＬＫＬＮに対応する距離Δｘ（ＣＮＤ）ｊのうち、下限しきい値ＴｈＬと上限しきい値ＴｈＨとの間にあるもの（候補画像ベクトルｘ（ＣＮＤ）ｊ）を学習対象と判断する。一方、距離Δｘ（ＣＮＤ）ｊが下限しきい値ＴｈＬ以下のもの、および距離Δｘ（ＣＮＤ）ｊが上限しきい値ＴｈＨ以上のものは、学習対象から除外する。特に、距離Δｘ（ＣＮＤ）ｉが上限しきい値ＴｈＨ以上のものは、欠陥を含む部分領域とみなされる。
【０１１７】
このように判断部２１８は、学習固有空間を決定するために有効な部分領域の画像ベクトルのみを、画像ベクトルバッファ部２２０へ選択的に出力する。
【０１１８】
再度、図５を参照して、画像ベクトルバッファ部２２０は、メモリ１０６（図１）の所定の領域に形成され、ベクトル生成部２０６から出力される基準画像ベクトルｘ（ＳＴＤ）ｉおよび判断部２１８から選択的に出力される学習対象画像ベクトルｘ（ＣＮＤ）ｋを格納する。
【０１１９】
固有ベクトル算出部２２２は、画像ベクトルバッファ部２２０に格納される基準画像ベクトルｘ（ＳＴＤ）ｉおよび学習対象画像ベクトルｘ（ＣＮＤ）ｋの組から固有ベクトルＥを算出する。この固有ベクトルＥは、学習画像ＬＮＩＭＧの全体に現れる性質を表す。
【０１２０】
具体的には、固有ベクトル算出部２２２は、画像ベクトルバッファ部２２０に格納される画像ベクトルの組（集合）として、以下のような集合ベクトルＸを算出する。
【０１２１】
集合ベクトルＸ＝［ｘ（ＳＴＤ）１，ｘ（ＳＴＤ）２，・・・，ｘ（ＳＴＤ）Ｒ，ｘ（ＣＮＤ）１，ｘ（ＣＮＤ）２，・・・，ｘ（ＣＮＤ）Ｓ］
但し、Ｒは学習画像ＬＮＩＭＧの基準領域ＳＴＤに設定される部分領域ＢＬＫＬＮの総数であり、Ｓは所定条件を満足する学習対象画像ベクトルｘ（ＣＮＤ）ｋの総数である。
【０１２２】
固有ベクトル算出部２２２における固有ベクトルＥの算出処理は、固有ベクトル算出部２０８における固有ベクトルＥ（ＳＴＤ）の算出処理と同様であるので、詳細な説明は繰返さない。
【０１２３】
固有空間決定部２２４は、固有ベクトル算出部２２２が算出した固有ベクトルＥ＝［ｅ１，ｅ２，・・・，ｅＲ＋Ｓ］のうち、その固有値が大きいものから所定数の基底ベクトルｅ１，ｅ２，・・・，ｅＤ（Ｄ≦Ｒ＋Ｓ）を用いて学習固有空間Ｅ（Ｄ）を算出する。なお、次元Ｄは、学習画像ＬＮＩＭＧに現れる性質に応じて任意に決定できるが、次元Ｄが高くなるほど、後述する投影ベクトルなどに演算量が増大する。そのため、非特許文献１に開示されるような累積寄与度などに基づいて、適切な次元を決定することが望ましい。
【０１２４】
なお、上述の説明においては、抽出部２０４が１つの学習画像に対して指定される基準領域ＳＴＤの画像情報から基準画像ベクトルの組を生成する構成について例示したが、予め入力された複数の学習画像ＬＮＩＭＧに対してそれぞれ指定された基準領域ＳＴＤの画像情報から基準画像ベクトルの組を生成してもよい。このような構成によれば、たとえば、複数の基準ワーク４を撮影し、この撮影した複数の学習画像ＬＮＩＭＧに基づいて基準固有空間を決定する場合などに有効である。
【０１２５】
再度、図５を参照して、画像バッファ部２３２は、メモリ１０６（図１）の所定の領域に形成され、装置外部から入力される検査画像を一時的に格納する。なお、本実施の形態においては、撮像部８から画像バッファ部２３２へ検査画像が入力される構成について例示するが、撮像部８以外の装置によって撮影された検査画像が記録媒体やネットワークなどを介して、予め固定ディスク１０７（図２）に格納されていてもよい。
【０１２６】
抽出部２３４は、画像バッファ部２３２に一時的に格納される検査画像ＩＭＧから所定の大きさの部分領域ＢＬＫを順次抽出し、この順次抽出する部分領域ＢＬＫに対応する検査画像ＩＭＧの画像情報をベクトル生成部２３６へ出力する。言い換えれば、抽出部２３４は、画像バッファ部２３２に一時的に格納される検査画像ＩＭＧから所定の大きさの検査サンプル（局所領域）を順次切り出す。このとき、検査画像ＩＭＧから順次抽出される部分領域ＢＬＫは、学習画像ＬＮＩＭＧから予め抽出された部分領域ＢＬＫと対応するように扱われる。
【０１２７】
また、抽出部２３４は、検査画像ＩＭＧから順次抽出する部分領域ＢＬＫの位置（ラベル情報）を欠陥位置特定部２４２へ出力する。
【０１２８】
ベクトル生成部２３６は、抽出部２３４によって順次抽出される検査画像ＩＭＧの部分領域ＢＬＫの画像情報から検査画像ベクトルｘｉを順次生成する。なお、ベクトル生成部２３６における検査画像ベクトルの生成処理は、ベクトル生成部２０６やベクトル生成部２１６における画像ベクトルの生成処理と同様であるので、詳細な説明は繰返さない。
【０１２９】
距離算出部２３８は、ベクトル生成部２３６から出力される検査画像ベクトルｘｉと学習固有空間Ｅ（Ｄ）とに基づいて、
｜Δｘｉ｜２＝ｘｉＴｘｉ−ＰｉＴＰｉ  （但し、Ｐｉ＝Ｅ（Ｄ）Ｔｘｉ）
の関係式に従って、学習固有空間Ｅ（Ｄ）と検査画像ベクトルｘｉとの距離Δｘｉを算出する。距離算出部２３８は、学習結果格納部２２８から学習固有空間Ｅ（Ｄ）を読出す。
【０１３０】
したがって、学習画像ＬＮＩＭＧに基づいて学習固有空間Ｅ（Ｄ）が一旦算出された後は、その後に入力される検査画像ＩＭＧに基づいて学習固有空間Ｅ（Ｄ）の算出処理は必要ない。そのため、画像中に含まれる欠陥部分の情報が基準となる学習固有空間Ｅ（Ｄ）に混入することがないので、欠陥検出の精度を高いまま維持することができる。また、学習固有空間Ｅ（Ｄ）の算出に必要な演算処理などを省略できるので、処理時間を短縮することもできる。
【０１３１】
欠陥位置特定部２４２は、距離算出部２３８において算出された距離Δｘｉの大きさに基づいて、検査画像ＩＭＧ中の対応する部分領域ＢＬＫにおける欠陥の有無を判断する。代表的に、欠陥位置特定部２４２は、距離Δｘｉを所定のしきい値と比較し、距離Δｘｉが所定のしきい値を超えていれば、欠陥が存在すると判断する。なお、このしきい値は、学習画像ＬＮＩＭＧの対応する部分領域ＢＬＫについて算出した距離Δｘｉに応じて決定してもよい。
【０１３２】
さらに、欠陥位置特定部２４２は、抽出部２３４から出力される、検査画像ＩＭＧから抽出された部分領域ＢＬＫの位置を示すラベル情報を受けて、このラベル情報に対応付けて欠陥の有無をマッピングする。これにより、欠陥位置特定部２４２は、検査画像ＩＭＧにおける欠陥の位置を特定する。そして、欠陥位置特定部２４２は、この欠陥位置の特定情報を欠陥検出部２４４へ出力する。
【０１３３】
欠陥検出部２４４は、欠陥位置特定部２４２からの欠陥位置の特定情報に基づいて、画像バッファ部２３２に格納されている検査画像ＩＭＧを参照し、欠陥の種類や大きさなどの欠陥についての詳細な情報を検出する。具体的には、欠陥検出部２４４は、検査画像ＩＭＧに対してエッジ検出などを実行する。そして、欠陥検出部２４４は、検出した欠陥の詳細情報などを欠陥検出結果として出力する。
【０１３４】
以上のような機能構成によって、本実施の形態に従う欠陥検出装置は、欠陥を含まない学習画像ＬＮＩＭＧに基づいて検査画像ＩＭＧにおける欠陥を検出する。
【０１３５】
（処理手順）
図１５は、この発明に実施の形態に従う欠陥検出システム１において対象ワーク２に発生し得る欠陥を検出するための処理手順を示すフローチャートである。
【０１３６】
図１および図１５を参照して、ユーザは、予め欠陥が発生していないことが分かっている基準ワーク４を搬送機構６上の撮像部８の撮影範囲に配置する（ステップＳ２）。そして、ユーザは、欠陥検出装置に所定の指令を与えて、この基準ワーク４を撮影した学習画像を取得させる（ステップＳ４）。この際、照明部１０は、所定の光量の光を基準ワークに向けて照射する。なお、上述したように、撮像部８以外の装置によって予め撮影された学習画像を欠陥検出装置に与えるようにしてもよい。
【０１３７】
学習画像の取得後、欠陥検出装置は学習処理を実行し（ステップＳ６）、その学習結果（学習固有空間への投影ベクトルの内積値や画像ベクトルの大きさ）を格納する（ステップＳ８）。なお、学習処理については、後述する。
【０１３８】
この学習処理および投影ベクトルの内積値の格納が終了すると、ユーザは、対象ワーク２が搬送機構６上の撮像部８の撮影範囲に順次搬送されるように、搬送機構６などを操作する（ステップＳ１０）。撮像部８の撮影範囲に対象ワーク２が搬送されると、欠陥検出装置は、撮像部８によって対象ワーク２を撮影することで検査画像を取得する（ステップＳ１２）。なお、欠陥検出装置は、搬送機構６上などに配置される位置センサ（図示しない）などによって、対象ワーク２の到着を検出する。
【０１３９】
検査画像を取得すると、欠陥検出装置は、欠陥検出処理を実行し（ステップＳ１４）、その欠陥検出結果を出力する（ステップＳ１６）。なお、欠陥検出結果は、欠陥検出装置に格納されたり、モニタ１０２などに出力されたりする。
【０１４０】
そして、欠陥検出装置は、終了指示が与えられたか否かを判断する（ステップＳ１８）。この終了指示は、ユーザなどによって与えられ、もしくは欠陥検出対象の対象ワーク２が不存在であることの検知などに連動して与えられる。終了指示が与えられていなければ（ステップＳ１８においてＮＯ）、欠陥検出装置は、ステップＳ１２以降の処理を再度実行する。終了指示が与えられていれば（ステップＳ１８においてＹＥＳ）、処理は終了する。
【０１４１】
図１６は、この発明に実施の形態に従う学習処理の処理手順を示すフローチャートである。また、図１７は、この発明に実施の形態に従う欠陥検出処理の処理手順を示すフローチャートである。なお、図１６および図１７に示すフローチャートは、ＣＰＵ１０５が固定ディスク１０７などに予め格納されたプログラムをメモリ１０６に読出して実行することにより、図５に示すような機能を実現することで実行される。
【０１４２】
（学習処理の処理手順）
図５および図１６を参照して、抽出部２０４として機能するＣＰＵ１０５は、ユーザからの学習画像ＬＮＩＭＧに対する基準領域ＳＴＤの設定を受付ける（ステップＳ１００）。このとき、ユーザは、キーボード１０３やマウス１０４（図１）を操作して、学習画像ＬＮＩＭＧに対して基準領域ＳＴＤを設定する。そして、抽出部２０４として機能するＣＰＵ１０５は、学習画像ＬＮＩＭＧの基準領域ＳＴＤから所定の大きさの部分領域ＢＬＫＬＮを抽出する（ステップＳ１０２）。そして、ベクトル生成部２０６として機能するＣＰＵ１０５は、抽出した部分領域ＢＬＫＬＮの画像情報から基準画像ベクトルｘ（ＳＴＤ）ｉを生成する（ステップＳ１０４）。さらに、ＣＰＵ１０５は、学習画像ＬＮＩＭＧの基準領域ＳＴＤＬＮから抽出すべき部分領域ＢＬＫが残っているか否かを判断する（ステップＳ１０６）。学習画像ＬＮＩＭＧの基準領域ＳＴＤから抽出すべき部分領域ＢＬＫＬＮが残っている場合（ステップＳ１０６においてＹＥＳの場合）には、ＣＰＵ１０５は、ステップＳ１００以下の処理を繰返す。
【０１４３】
これに対して、学習画像ＬＮＩＭＧの基準領域ＳＴＤから抽出すべき部分領域ＢＬＫＬＮが残っていない場合（ステップＳ１０６においてＮＯの場合）には、固有ベクトル算出部２０８として機能するＣＰＵ１０５は、基準画像ベクトルｘ（ＳＴＤ）ｉの組から固有ベクトルＥ（ＳＴＤ）を算出する（ステップＳ１０８）。そして、固有空間決定部２１０として機能するＣＰＵ１０５は、算出した固有ベクトルＥ（ＳＴＤ）のうち、その固有値が大きいものから順に所定数の固有ベクトルを用いて基準固有空間Ｅ（ＳＴＤ）を決定する（ステップＳ１１０）。
【０１４４】
距離算出部２１２として機能するＣＰＵ１０５は、基準固有空間Ｅ（ＳＴＤ）と基準画像ベクトルｘ（ＳＴＤ）ｉの各々との距離を算出し、この算出結果に基づいて候補画像ベクトルｘ（ＣＮＤ）ｊを選別するための所定条件を決定する（ステップＳ１１２）。
【０１４５】
さらに、抽出部２１４として機能するＣＰＵ１０５は、学習画像ＬＮＩＭＧに設定される基準領域ＳＴＤ以外の領域から所定の大きさの部分領域ＢＬＫＬＮを抽出する（ステップＳ１１４）。そして、ベクトル生成部２１６として機能するＣＰＵ１０５は、抽出した部分領域ＢＬＫの画像情報から候補画像ベクトルｘ（ＣＮＤ）ｊを生成する（ステップＳ１１６）。
【０１４６】
続いて、距離算出部２１２として機能するＣＰＵ１０５は、基準固有空間Ｅ（ＳＴＤ）と候補画像ベクトルｘ（ＣＮＤ）ｊとの距離Δｘ（ＣＮＤ）ｊを算出する（ステップＳ１１８）。そして、判断部２１８として機能するＣＰＵ１０５は、算出した距離ΔｘｊがステップＳ１１２において決定した所定条件を満足しているか否かを判断する（ステップＳ１２０）。算出した距離Δｘ（ＣＮＤ）ｊがステップＳ１１２において決定した所定条件を満足している場合（ステップＳ１２０においてＹＥＳの場合）には、ＣＰＵ１０５は、対応の候補画像ベクトルｘ（ＣＮＤ）ｊを学習固有空間Ｅ（Ｄ）を決定するための学習対象に決定する（ステップＳ１２２）。これに対して、算出した距離Δｘ（ＣＮＤ）ｊがステップＳ１１２において決定した所定条件を満足していない場合（ステップＳ１２０においてＮＯの場合）には、ＣＰＵ１０５は、対応の候補画像ベクトルｘ（ＣＮＤ）ｊを学習固有空間Ｅ（Ｄ）を決定するための学習対象外に決定する（ステップＳ１２４）。
【０１４７】
さらに、ＣＰＵ１０５は、学習画像ＬＮＩＭＧに設定される基準領域ＳＴＤ以外の領域から抽出すべき部分領域ＢＬＫＬＮが残っているか否かを判断する（ステップＳ１２６）。学習画像ＬＮＩＭＧに設定される基準領域ＳＴＤ以外の領域から抽出すべき部分領域ＢＬＫＬＮが残っている場合（ステップＳ１２６においてＹＥＳの場合）には、ＣＰＵ１０５は、ステップＳ１１４以下の処理を繰返す。
【０１４８】
学習画像ＬＮＩＭＧに設定される基準領域ＳＴＤ以外の領域から抽出すべき部分領域ＢＬＫが残っていない場合（ステップＳ１２６においてＮＯの場合）には、固有ベクトル算出部２２２として機能するＣＰＵ１０５は、基準画像ベクトルｘ（ＳＴＤ）ｉおよび学習固有空間Ｅ（Ｄ）を決定するための学習対象に決定された学習対象画像ベクトルｘ（ＣＮＤ）ｋの組から固有ベクトルＥを算出する（ステップＳ１２８）。そして、固有空間決定部２２４として機能するＣＰＵ１０５は、算出した固有ベクトルＥのうち、その固有値が大きいものから順に所定数の固有ベクトルを用いて学習固有空間Ｅ（Ｄ）を算出する（ステップＳ１３０）。そして、ＣＰＵ１０５は、算出した学習固有空間Ｅ（Ｄ）を固定ディスク１０７へ格納する（ステップＳ１３２）。そして、処理はステップＳ８へ戻る。
【０１４９】
（欠陥検査処理の処理手順）
図５および図１７を参照して、抽出部２３４として機能するＣＰＵ１０５は、検査画像ＩＭＧから所定の大きさの部分領域ＢＬＫを抽出する（ステップＳ２００）。そして、ベクトル生成部２３６として機能するＣＰＵ１０５は、抽出した部分領域ＢＬＫの画像情報から検査画像ベクトルｘｉを生成する（ステップＳ２０２）。距離算出部２３８として機能するＣＰＵ１０５は、学習結果格納部２２８から、学習固有空間Ｅ（Ｄ）を読出す（ステップＳ２０４）。そして、ＣＰＵ１０５は、検査画像ベクトルｘｉと、読出した学習固有空間Ｅ（Ｄ）とに基づいて、学習固有空間Ｅ（Ｄ）に対する検査画像ベクトルｘｉの距離Δｘｉを算出する（ステップＳ２０６）。欠陥位置特定部２４２として機能するＣＰＵ１０５は、距離Δｘｉの大きさに基づいて、検査画像ＩＭＧの対応する部分領域ＢＬＫにおける欠陥の有無を判断する（ステップＳ２０８）。そして、欠陥位置特定部２４２として機能するＣＰＵ１０５は、対象の部分領域ＢＬＫのラベル情報に対応付けて、検査画像ＩＭＧにおける欠陥有無の状態をマッピングする（ステップＳ２１０）。すなわち、ＣＰＵ１０５は、検査画像ＩＭＧにおける欠陥の位置を特定する。
【０１５０】
その後、ＣＰＵ１０５は、検査画像ＩＭＧから抽出すべき部分領域ＢＬＫが残っているか否かを判断する（ステップＳ２１２）。検査画像ＩＭＧから抽出すべき部分領域ＢＬＫが残っている場合（ステップＳ２１２においてＹＥＳの場合）には、ＣＰＵ１０５は、ステップＳ２００以下の処理を繰返す。
【０１５１】
これに対して、検査画像ＩＭＧから抽出すべき部分領域ＢＬＫが残っていない場合（ステップＳ２１２においてＮＯの場合）には、欠陥検出部２４４として機能するＣＰＵ１０５は、検査画像ＩＭＧに対して欠陥の位置と特定された箇所に対して、エッジ検出などを実行し、欠陥の種類や大きさなどの欠陥についての詳細な情報を検出する（ステップＳ２１４）。そして、処理はステップＳ１６へ戻る。
【０１５２】
（本実施の形態による作用効果）
この発明の実施の形態によれば、学習画像に対する学習処理（学習固有空間の決定および学習固有空間に対する投影ベクトルの内積値の算出）に際して、学習画像中に予め指定された基準領域と類似した性質を有する領域を学習対象から除外する。これにより、冗長な画像ベクトルを除外して、学習固有空間を決定するための固有ベクトルの算出に用いる画像ベクトルを最適化できるので、演算に要する時間を低減できる。したがって、学習処理に要する時間を短縮化できる。
【０１５３】
また、この発明の実施の形態によれば、ユーザが任意に設定する学習画像内の基準領域に基づいて学習対象領域が決定される。すなわち、基準領域は欠陥のない正常な領域として取り扱われるので、ユーザは、対象ワークの形状や色などに応じて、適切な領域を欠陥のない正常な領域に設定できる。そのため、対象ワークの変更などにも相対的に柔軟に対応することができる。
【０１５４】
また、この発明の実施の形態によれば、欠陥にみなされる部分領域についての画像ベクトルを学習対象画像ベクトルから除外することができるので、欠陥部分の影響を排除した学習固有空間を決定することができる。そのため、検査画像に対する欠陥の検出精度をより高めることができる。
【０１５５】
（変形例）
上述の図１では、対象ワーク２として電子部品やプラスチック部品などの相対的に小型のものを検査対象とする構成について例示したが、本発明に係る欠陥検出装置は、相対的に大型のものを検査対象とすることもできる。
【０１５６】
図１８は、この発明に実施の形態の変形例に従う欠陥検出装置を含む欠陥検出システム１＃を示す概略図である。
【０１５７】
図１８を参照して、欠陥検出システム１＃は、一例として液晶パネルなどの相対的に大型の板状の対象ワーク２に対して欠陥を検査対象とする場合の構成を示す。欠陥検出システム１＃は、搬送架台２０と、搬送架台２０上を搬送方向にスライド可能な搬送台２２と、撮像部１４と、撮像部１４を対象ワーク２の搬送方向と直交する方向に移動可能な撮像部駆動機構２４とを備える。対象ワーク２は、搬送台２２の上に配置されて搬送方向に沿って移動する。撮像部１４は、搬送台２２によって移動する対象ワーク２を搬送方向に所定間隔毎に撮影するとともに、撮像部駆動機構２４によって移動されることにより、対象ワーク２を搬送方向と直交する方向にも所定間隔毎（但し、搬送方向の所定間隔とは異なる）に撮影する。
【０１５８】
この撮像部１４で撮影された画像は、インターフェイス１６を介して、欠陥検出装置を実現する制御装置１００＃へ伝送される。なお、撮像部１４には、照明部が一体的に組込まれていてもよく、この場合には、インターフェイス１６からこの照明部を駆動するための電源などが供給される。
【０１５９】
制御装置１００＃は、本体１０１＃と、モニタ１０２＃と、キーボード１０３＃などをさらに含む。本体１０１＃、モニタ１０２＃、およびキーボード１０３＃は、それぞれ図１に示すコンピュータ１００の本体１０１、モニタ１０２、およびキーボード１０３と同様の機能を実現する。
【０１６０】
特に、本実施の形態の変形例に従う欠陥検出システム１＃では、撮像部１４の撮影範囲内に対象ワーク２のすべてを収めることができないので、対象ワーク２の搬送方向の位置および撮像部１４の搬送方向と直交する方向の位置と対応付けた処理によって、欠陥位置を特定する必要がある。
【０１６１】
また、対象ワーク２と同様の大きさの基準ワークを用いる必要はなく、撮像部１４の撮影範囲にその全体が収まるような大きさの基準ワークを用いれば十分である。
【０１６２】
その他の構成および処理については、上述の本実施の形態に従う欠陥検出装置と同様であるので、詳細な説明は繰返さない。
【０１６３】
（その他の形態）
本発明に係るプログラムは、コンピュータのオペレーティングシステム（ＯＳ）の一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼出して処理を実行させるものであってもよい。その場合、プログラム自体には上記モジュールが含まれずＯＳと協働して処理が実行される。このようなモジュールを含まないプログラムも、本発明にかかるプログラムに含まれ得る。
【０１６４】
また、本発明にかかるプログラムは他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には上記他のプログラムに含まれるモジュールが含まれず、他のプログラムと協働して処理が実行される。このような他のプログラムに組込まれたプログラムも、本発明にかかるプログラムに含まれ得る。
【０１６５】
提供されるプログラム製品は、ハードディスクなどのプログラム格納部にインストールされて実行される。なお、プログラム製品は、プログラム自体と、プログラムが記憶された記憶媒体とを含む。
【０１６６】
さらに、本発明に係るプログラムによって実現される機能の一部または全部を専用のハードウェアによって構成してもよい。
【０１６７】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１６８】
１，１＃  欠陥検出システム、２  対象ワーク、４  基準ワーク、６  搬送機構、８，１４  撮像部、１０  照明部、１２  光源部、１６，１０９  インターフェイス、２０  搬送架台、２２  搬送台、２４  撮像部駆動機構、１００  コンピュータ、１００＃  制御装置、１０１  コンピュータ本体、１０１＃  本体、１０２，１０２＃  モニタ、１０３，１０３＃  キーボード、１０４  マウス、１０６  メモリ、１０７  固定ディスク、１１１  ＦＤ駆動装置、１１３  ＣＤ−ＲＯＭ駆動装置、２０２，２３２  画像バッファ部、２０４，２１４，２３４  抽出部、２０６，２１６，２３６  ベクトル生成部、２０８，２２２  固有ベクトル算出部、２１０，２２４  固有空間決定部、２１２，２３８  距離算出部、２１８  判断部、２２０  画像ベクトルバッファ部、２２６  内積値算出部、２２８  学習結果格納部、２４２  欠陥位置特定部、２４４  欠陥検出部。
【図１】
2010198476.tif 000009
【図２】
2010198476.tif 000010
【図３】
2010198476.tif 000011
【図４】
2010198476.tif 000012
【図５】
2010198476.tif 000013
【図６】
2010198476.tif 000014
【図７】
2010198476.tif 000015
【図８】
2010198476.tif 000016
【図９】
2010198476.tif 000017
【図１０】
2010198476.tif 000018
【図１１】
2010198476.tif 000019
【図１２】
2010198476.tif 000020
【図１３】
2010198476.tif 000021
【図１４】
2010198476.tif 000022
【図１５】
2010198476.tif 000023
【図１６】
2010198476.tif 000024
【図１７】
2010198476.tif 000025
【図１８】
2010198476.tif 000026