(57)【要約】【課題】  より正確に学習可能な学習装置、学習方法、学習プログラムおよび記録媒体を提供し、パターンをより正確に識別可能なパターン認識装置およびパターン認識方法を提供する。【解決手段】  値が最も多く分布している範囲から離れる値ほど、クラス内散らばり度を算出する際の重み付けを変化させる。クラス内散らばり度は、算出した評価値をフィードバックさせることで学習させる識別手段により分類された学習パターンに対応する値に基づいて算出される。【選択図】        図５
2007018176.tif 000002
【特許請求の範囲】
【請求項１】
予め所属クラスが指定された複数の学習パターンに前処理を施す前処理手段と、
前記前処理が施された前記複数の学習パターンの各々から、特徴量を抽出する特徴抽出手段と、
前記複数の学習パターンの各々を、対応する特徴量の値に基づいて、複数種類のクラスのいずれかに分類する識別手段と、
前記複数種類のクラスの各々に分類された、複数の学習パターンの各々に対応する特徴量の値に対し、対応するクラス内の分布状態を示すクラス内散らばり度を、前記複数種類のクラス毎に算出し、さらに、前記複数種類のクラス間の分布状態を示すクラス間散らばり度を算出する算出手段と、
前記クラス内散らばり度が小さくなる程評価値が大きくなることと、前記クラス間散らばり度が大きくなる程評価値が大きくなることをいずれか一つないしは両方を満たす評価値を算出する評価手段とを備え、
前記評価手段は、前記評価値が高くなるように、算出した前記評価値をフィードバックさせることで、前記前処理手段、前記特徴抽出手段ないしは前記識別手段の少なくとも一つを学習させ、
前記算出手段は、前記複数種類のクラス毎の特徴量の値が最も多く分布している範囲から離れる特徴量の値ほど、前記クラス内散らばり度を算出する際の重み付けを変化させる、学習装置。
【請求項２】
前記算出手段は、
前記複数種類のクラス毎の特徴量の値が最も多く分布している範囲から離れる特徴量の値ほど、重み付けを小さくして、前記複数種類のクラスの各々に対応する複数の学習パターンのそれぞれに対応する複数の特徴量の値に基づいたクラス内平均を、前記複数種類のクラス毎に算出し、
前記クラス内平均からの散らばり程度を表す前記クラス内散らばり度を、前記複数種類のクラス毎に算出し、
前記複数種類のクラス毎に対応するクラス内平均に基づいて、前記クラス間散らばり度を算出する、請求項１に記載の学習装置。
【請求項３】
前記算出手段は、
前記複数種類のクラスの各々に対応する複数の学習パターンのそれぞれに対応する複数の特徴量の値と、対応するクラスに対応するクラス内平均候補との複数の距離を、前記複数種類のクラス毎に算出し、
前記複数の距離の各々に対し、前記複数の距離の各々の値が大きい程、算出する値が小さくなる重み付けを行なった重み付き距離を、前記複数種類のクラス毎に算出し、
算出した複数の重み付き距離を、前記複数種類のクラスの各々に対応する学習パターンの数に基づいて平均化することでクラス内散らばり度候補を、前記複数種類のクラス毎に算出し、
クラス内散らばり度候補が最小となる前記クラス内平均候補を、クラス内平均として算出し、最小となったクラス内散らばり度候補を、クラス内散らばり度候補として算出する、請求項２に記載の学習装置。
【請求項４】
前記算出手段が前記クラス内散らばり度を算出するための平均化は、算術平均である、請求項３に記載の学習装置。
【請求項５】
前記算出手段は、
前記複数種類のクラスの各々に対応する複数の学習パターンのそれぞれに対応する複数の特徴量の値と、対応するクラスに対応する前記クラス内平均との複数の距離を、前記複数種類のクラス毎に算出し、
前記複数の距離の各々に対し、所定のべき乗値でべき乗したべき乗距離を、前記複数種類のクラス毎に算出し、
算出した複数の前記べき乗距離の分布に基づく中央値を前記クラス内散らばり度として、前記複数種類のクラス毎に算出する、請求項２に記載の学習装置。
【請求項６】
前記べき乗値は２である、請求項５に記載の学習装置。
【請求項７】
前記距離は、ユークリッド距離である、請求項３または請求項５に記載の学習装置。
【請求項８】
前記評価手段は、前記クラス間散らばり度を、前記複数種類のクラスのそれぞれに対応した複数のクラス内散らばり度の合計値で除算した値を、前記評価値として算出する、請求項１〜請求項７のいずれかに記載の学習装置。
【請求項９】
前記識別手段が、前記学習パターンを、予め指定された所属クラス以外のクラスに分類したことを、誤指定と判定する誤指定判定手段をさらに備え、
前記誤指定判定手段は、前記誤指定の対象となった学習パターンを、前記評価手段が算出する前記評価値を算出する対象となる学習パターンから除外する、請求項１〜請求項８のいずれかに記載の学習装置。
【請求項１０】
前記学習パターンは画像であり、
前記前処理は、所定の画像処理アルゴリズムに基づいた画像処理を前記学習パターンに施す処理であり、
前記評価手段は、前記評価値に基づいて、前記画像処理アルゴリズムを変化させる、請求項１〜請求項９のいずれかに記載の学習装置。
【請求項１１】
前記評価手段は、前記画像処理アルゴリズムを、遺伝的アルゴリズムに基づいて変化させる、請求項１０に記載の学習装置。
【請求項１２】
予め所属クラスが指定された複数の学習パターンに前処理を施す工程と、
前記前処理が施された前記複数の学習パターンの各々から、特徴量を抽出する工程と、
前記複数の学習パターンの各々を、対応する特徴量の値に基づいて、複数種類のクラスのいずれかに分類する工程と、
前記複数種類のクラスの各々に分類された、複数の学習パターンの各々に対応する特徴量の値に対し、対応するクラス内の分布状態を示すクラス内散らばり度を、前記複数種類のクラス毎に算出し、さらに、前記複数種類のクラス間の分布状態を示すクラス間散らばり度を算出する工程と、
前記クラス内散らばり度が小さくなる程評価値が大きくなることと、前記クラス間散らばり度が大きくなる程評価値が大きくなることをいずれか一つないしは両方を満たす評価値を算出する工程とを含み、
前記評価値を算出する工程は、前記評価値が高くなるように、算出した前記評価値をフィードバックさせることで前記前処理を施す工程、前記抽出する工程ないしは前記分類する工程の少なくとも一つを学習させる工程を含み、
前記算出する工程は、前記複数種類のクラス毎の特徴量の値が最も多く分布している範囲から離れる特徴量の値ほど、前記クラス内散らばり度を算出する際の重み付けを変化させる工程を含む、学習方法。
【請求項１３】
前記クラス間散らばり度を算出する工程は、
前記複数種類のクラス毎の特徴量の値が最も多く分布している範囲から離れる特徴量の値ほど、重み付けを小さくして、前記複数種類のクラスの各々に対応する複数の学習パターンのそれぞれに対応する複数の特徴量の値に基づいたクラス内平均を、前記複数種類のクラス毎に算出する工程と、
前記クラス内平均からの散らばり程度を表す前記クラス内散らばり度を、前記複数種類のクラス毎に算出する工程と、
前記複数種類のクラス毎に対応するクラス内平均に基づいて、前記クラス間散らばり度を算出する工程とを含む、請求項１２に記載の学習方法。
【請求項１４】
前記クラス間散らばり度を算出する工程は、
前記複数種類のクラスの各々に対応する複数の学習パターンのそれぞれに対応する複数の特徴量の値と、対応するクラスに対応するクラス内平均候補との複数の距離を、前記複数種類のクラス毎に算出する工程と、
前記複数の距離の各々に対し、前記複数の距離の各々の値が大きい程、算出する値が小さくなる重み付けを行なった重み付き距離を、前記複数種類のクラス毎に算出する工程と、
算出した複数の重み付き距離を、前記複数種類のクラスの各々に対応する学習パターンの数に基づいて平均化することでクラス内散らばり度候補を、前記複数種類のクラス毎に算出し、
クラス内散らばり度候補が最小となる前記クラス内平均候補を、クラス内平均として算出し、最小となったクラス内散らばり度候補を、クラス内散らばり度候補として算出する工程とを含む、請求項１３に記載の学習方法。
【請求項１５】
前記クラス間散らばり度を算出する工程が前記クラス内散らばり度を算出するための平均化は、算術平均である、請求項１４に記載の学習方法。
【請求項１６】
前記クラス間散らばり度を算出する工程は、
前記複数種類のクラスの各々に対応する複数の学習パターンのそれぞれに対応する複数の特徴量の値と、対応するクラスに対応する前記クラス内平均との複数の距離を、前記複数種類のクラス毎に算出する工程と、
前記複数の距離の各々に対し、所定のべき乗値でべき乗したべき乗距離を、前記複数種類のクラス毎に算出する工程と、
算出した複数の前記べき乗距離の分布に基づく中央値を前記クラス内散らばり度として、前記複数種類のクラス毎に算出する工程とを含む、請求項１３に記載の学習方法。
【請求項１７】
前記べき乗値は２である、請求項１６に記載の学習方法。
【請求項１８】
前記距離は、ユークリッド距離である、請求項１４または請求項１６に記載の学習方法。
【請求項１９】
前記評価値を算出する工程は、前記クラス間散らばり度を、前記複数種類のクラスのそれぞれに対応した複数のクラス内散らばり度の合計値で除算した値を、前記評価値として算出する工程を含む、請求項１２〜請求項１８のいずれかに記載の学習方法。
【請求項２０】
前記分類する工程が、前記学習パターンを、予め指定された所属クラス以外のクラスに分類したことを、誤指定と判定する工程をさらに含み、
前記誤指定と判定する工程は、前記誤指定の対象となった学習パターンを、前記評価値を算出する工程が算出する前記評価値を算出する対象となる学習パターンから除外する工程を含む、請求項１２〜請求項１９のいずれかに記載の学習方法。
【請求項２１】
前記学習パターンは画像であり、
前記前処理は、所定の画像処理アルゴリズムに基づいた画像処理を前記学習パターンに施す処理であり、
前記評価値を算出する工程は、前記評価値に基づいて、前記画像処理アルゴリズムを変化させる工程を含む、請求項１２〜請求項２０のいずれかに記載の学習方法。
【請求項２２】
前記評価値を算出する工程は、前記画像処理アルゴリズムを、遺伝的アルゴリズムに基づいて変化させる工程を含む、請求項２１に記載の学習方法。
【請求項２３】
コンピュータに学習処理を実行させるための学習プログラムであって、
予め所属クラスが指定された複数の学習パターンに前処理を施すステップと、
前記前処理が施された前記複数の学習パターンの各々から、特徴量を抽出するステップと、
前記複数の学習パターンの各々を、対応する特徴量の値に基づいて、複数種類のクラスのいずれかに分類するステップと、
前記複数種類のクラスの各々に分類された、複数の学習パターンの各々に対応する特徴量の値に対し、対応するクラス内の分布状態を示すクラス内散らばり度を、前記複数種類のクラス毎に算出し、さらに、前記複数種類のクラス間の分布状態を示すクラス間散らばり度を算出するステップと、
前記クラス内散らばり度が小さくなる程評価値が大きくなることと、前記クラス間散らばり度が大きくなる程評価値が大きくなることをいずれか一つないしは両方を満たす評価値を算出するステップとをコンピュータに実行させ、
前記評価値を算出するステップは、前記評価値が高くなるように、算出した前記評価値をフィードバックさせることで前記前処理を施すステップ、前記抽出するステップないしは前記分類するステップの少なくとも一つを学習させるステップを含み、
前記算出するステップは、前記複数種類のクラス毎の特徴量の値が最も多く分布している範囲から離れる特徴量の値ほど、前記クラス内散らばり度を算出する際の重み付けを変化させるステップを含む、学習プログラム。
【請求項２４】
請求項２３に記載の学習プログラムを記録した、記録媒体。
【請求項２５】
請求項１０または請求項１１に記載の画像処理アルゴリズムを用いて、処理対象画像のパターンを認識する、パターン認識装置。
【請求項２６】
請求項２１または請求項２２に記載の画像処理アルゴリズムを用いて、処理対象画像のパターンを認識する、パターン認識方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習装置、学習方法、学習プログラム、記録媒体、パターン認識装置およびパターン認識方法に関し、特に、学習に基づいた処理を行なう学習装置、学習方法、学習プログラム、記録媒体、パターン認識装置およびパターン認識方法に関する。
【背景技術】
【０００２】
近年、ＣＣＤ（Charge Coupled Device）等の画像撮像デバイスやパーソナルコンピュ一タ等の画像処理機器の低価格化により、画像処理の適用分野が広がりつつある。とりわけ、産業分野における欠陥検査への画像処理の適用は広範に渡る。たとえば、製品デバイスの歩留まりおよび品質の向上、目視検査員削減によるコストダウン等のために、画像処理は、ますますその必要性を高めている。
【０００３】
そこで、現状では欠陥検査のために、対象とする製品やデバイスに合わせて多種多様な画像処理アルゴリズムが開発されている。これは、欠陥検査向けの画像処理アルゴリズムは欠陥対象毎に専用設計することが一般的であり、一度設計した画像処理アルゴリズムを他の欠陥検査に適用できない場合が多いことに起因する。つまり、一度開発した画像処理アルゴリズムの再利用性はほとんど無く、適用分野および検査対象の拡大に比例して開発工数は増加してゆく。
【０００４】
画像処理アルゴリズムの開発は、設計工程と調整工程とから構成される。特に調整工程では各種のパラメータ変更とその評価を試行錯誤的に繰り返す。画像処理アルゴリズムの開発フローは、おおむね次の通りである。
【０００５】
まず、対象とする欠陥を含む欠陥画像データサンプルおよび欠陥を含まない良品画像データサンプルをそれぞれ複数取得する。そして、取得した欠陥画像データサンプルのうちから、検出が困難と思われる欠陥を含む欠陥画像データサンプルである限界欠陥画像データサンプルを選択する。その後、欠陥や背景の特徴から画像の正規化、ノイズ除去、２値化処理、２値画像形状計測などの基本となる画像処理の大まかな手順を決定する。ここまでが、画像処理アルゴリズムの開発における設計作業と位置付けられる。
【０００６】
次に、上述の基本となる画像処理を、限界欠陥画像データサンプルに適用した際に欠陥のみが検出されるように、画像処理の手順を構成するフィルタの処理回数、フィルタ形状およびしきい値などのパラメータ値の変更を行なう。そして、パラメータ値を変更した後の画像処理が適用された限界欠陥画像データサンプルを評価することにより、ベースとなる画像処理アルゴリズムを作成する。ここで、評価とは、対象とする欠陥のみが検出され、他に何も検出されない場合が最良となるものである。
【０００７】
さらに、限界欠陥画像データサンプルのみならず全ての欠陥画像データサンプルに含まれる欠陥が検出され、良品画像データサンプルからは何も検出されなくなるまでベースとなる画像処理アルゴリズムのパラメータの変更および評価を繰り返すことにより、画像処理アルゴリズムの開発は完了する。
【０００８】
しかしながら、通常は全ての欠陥画像データサンプルに含まれる欠陥を検出し、全ての良品画像データサンプルから何も検出しない画像処理アルゴリズムを開発することは困難である。すなわち、一部の真欠陥を検出できない場合（未検出）や、欠陥でない部位である擬似欠陥を検出する場合（過検出）は避けられない。以下においては、画像処理アルゴリズムにより検出されるべき欠陥を真欠陥という。また、画像処理アルゴリズムにより検出すべきでない部位にもかかわらず欠陥と誤判定されて検出されたものを擬似欠陥と呼ぶ。
【０００９】
以下においては、画像処理アルゴリズムを生成するための画像データを学習画像データともいう。ここで、学習画像データとは、あらかじめ欠陥等の抽出対象物の画像内における位置、大きさ、形状等のデータ（以下、欠陥見本情報という）が作業者によって付与されている画像データである。
【００１０】
欠陥等の抽出対象物の画像内における欠陥見本情報を指定する作業は、依然として作業者によって行われる。したがって、作業者の感覚、経験あるいは疲労状態などによって、欠陥見本情報の指定がばらついたり、欠陥部位が見逃されたり、欠陥でない部位を真欠陥として誤指定する場合がある。
【００１１】
以下においては、これらを総称して欠陥見本情報変動と呼ぶことにする。ここで、欠陥見本情報の指定のばらつきとは、たとえば、欠陥の位置がずれて指定される場合や欠陥の形状指定が大きすぎたり，小さすぎたりする場合である。
【００１２】
このような欠陥見本情報変動は、特徴抽出手段が抽出する特徴量に影響を及ぼし、さらに評価手段が算出する評価直に大きな影響を与えてしまう。最終的には、画像処理アルゴリズムを正しく学習させることが困難となる。
【００１３】
また、画像処理アルゴリズムでは、未検出を避けるために画像処理アルゴリズムの欠陥検出感度を上げるようにパラメータの調整を行なうと過検出が発生する。また、画像処理アルゴリズムでは、過検出を避けるために欠陥検出感度を下げると未検出が発生する。すなわち、未検出と過検出との間にはトレードオフが存在する。したがって、画像処理アルゴリズム開発におけるパラメータ調整と評価作業は、非常に困難である。このように、画像処理アルゴリズムの開発においては、これらの経験的かつ試行錯誤的なパラメータ調整と評価作業に非常に多くの工数を要する。
【００１４】
そこで、周向栄，他４名，「３次元画像処理エキスパートシステム３Ｄ−ＩＭＰＲＥＳＳ−Ｐｒｏの改良と肺がん陰影検出手順の自動構成への応用」，コンピュータ支援画像診断学会論文誌，May 2000，Vol.４，No.１（非特許文献１）では、異常陰影を見逃すことなく検出する場合と、真の異常陰影に対応しない部位を検出する場合を考慮して画像処理アルゴリズムを自動生成する技術（以下、従来技術Ａともいう）が提案されている。具体的には、所定の未検出率と所定の過検出率を考慮した評価値を算出し、その評価値に基づいて、画像処理アルゴリズムを学習させている。
【非特許文献１】周向栄，他４名，「３次元画像処理エキスパートシステム３Ｄ−ＩＭＰＲＥＳＳ−Ｐｒｏの改良と肺がん陰影検出手順の自動構成への応用」，コンピュータ支援画像診断学会論文誌，May 2000，Vol.４，No.１
【発明の開示】
【発明が解決しようとする課題】
【００１５】
しかしながら、従来技術Ａは、未検出もしくは過検出となった学習パターンの数のみに着目して評価値を算出している。つまり、評価値は、その学習パターンの特徴量がどのような値であったかどうかを考慮していない。したがって、未検出率および過検出率が等しい２つの学習アルゴリズムの優劣を判定することができない。
【００１６】
上述したように、特徴量の変動は、欠陥見本情報変動によって引き起こされる。しかしながら、さまざまな欠陥見本情報変動を考慮した学習方法はこれまで提案されていない。
【００１７】
本発明は、上述の問題点を解決するためになされたものであって、その目的は、欠陥見本情報変動がある場合でも、より正確に学習可能な学習装置を提供することである。
【００１８】
本発明の他の目的は、欠陥見本情報変動がある場合でも、より正確に学習可能な学習方法を提供することである。
【００１９】
本発明のさらに他の目的は、欠陥見本情報変動がある場合でも、より正確に学習可能な学習プログラムを提供することである。
【００２０】
本発明のさらに他の目的は、欠陥見本情報変動がある場合でも、より正確に学習可能な学習プログラムを記録した記録媒体を提供することである。
【００２１】
本発明のさらに他の目的は、パターンをより正確に識別可能なパターン認識装置を提供することである。
【００２２】
本発明のさらに他の目的は、パターンをより正確に識別可能なパターン認識方法を提供することである。
【課題を解決するための手段】
【００２３】
上述の課題を解決するために、この発明のある局面に従う学習装置は、予め所属クラスが指定された複数の学習パターンに前処理を施す前処理手段と、前処理が施された複数の学習パターンの各々から、特徴量を抽出する特徴抽出手段と、複数の学習パターンの各々を、対応する特徴量の値に基づいて、複数種類のクラスのいずれかに分類する識別手段と、複数種類のクラスの各々に分類された、複数の学習パターンの各々に対応する特徴量の値に対し、対応するクラス内の分布状態を示すクラス内散らばり度を、複数種類のクラス毎に算出し、さらに、複数種類のクラス間の分布状態を示すクラス間散らばり度を算出する算出手段と、クラス内散らばり度が小さくなる程評価値が大きくなることと、クラス間散らばり度が大きくなる程評価値が大きくなることをいずれか一つないしは両方を満たす評価値を算出する評価手段とを備え、評価手段は、評価値が高くなるように、算出した評価値をフィードバックさせることで、前処理手段、特徴抽出手段ないしは識別手段の少なくとも一つを学習させ、算出手段は、複数種類のクラス毎の特徴量の値が最も多く分布している範囲から離れる特徴量の値ほど、クラス内散らばり度を算出する際の重み付けを変化させる。
【００２４】
好ましくは、算出手段は、複数種類のクラス毎の特徴量の値が最も多く分布している範囲から離れる特徴量の値ほど、重み付けを小さくして、複数種類のクラスの各々に対応する複数の学習パターンのそれぞれに対応する複数の特徴量の値に基づいたクラス内平均を、複数種類のクラス毎に算出し、クラス内平均からの散らばり程度を表すクラス内散らばり度を、複数種類のクラス毎に算出し、複数種類のクラス毎に対応するクラス内平均に基づいて、クラス間散らばり度を算出する。
【００２５】
好ましくは、算出手段は、複数種類のクラスの各々に対応する複数の学習パターンのそれぞれに対応する複数の特徴量の値と、対応するクラスに対応するクラス内平均候補との複数の距離を、複数種類のクラス毎に算出し、複数の距離の各々に対し、複数の距離の各々の値が大きい程、算出する値が小さくなる重み付けを行なった重み付き距離を、複数種類のクラス毎に算出し、算出した複数の重み付き距離を、複数種類のクラスの各々に対応する学習パターンの数に基づいて平均化することでクラス内散らばり度候補を、複数種類のクラス毎に算出し、クラス内散らばり度候補が最小となるクラス内平均候補を、クラス内平均として算出し、最小となったクラス内散らばり度候補を、クラス内散らばり度候補として算出する。
【００２６】
好ましくは、算出手段がクラス内散らばり度を算出するための平均化は、算術平均である。
【００２７】
好ましくは、複数種類のクラスの各々に対応する複数の学習パターンのそれぞれに対応する複数の特徴量の値と、対応するクラスに対応するクラス内平均との複数の距離を、複数種類のクラス毎に算出し、複数の距離の各々に対し、所定のべき乗値でべき乗したべき乗距離を、複数種類のクラス毎に算出し、算出した複数のべき乗距離の分布に基づく中央値をクラス内散らばり度として、複数種類のクラス毎に算出する。
【００２８】
好ましくは、べき乗値は２である。
好ましくは、距離は、ユークリッド距離である。
【００２９】
好ましくは、評価手段は、クラス間散らばり度を、複数種類のクラスのそれぞれに対応した複数のクラス内散らばり度の合計値で除算した値を、評価値として算出する。
【００３０】
好ましくは、識別手段が、学習パターンを、予め指定された所属クラス以外のクラスに分類したことを、誤指定と判定する誤指定判定手段をさらに備え、誤指定判定手段は、誤指定の対象となった学習パターンを、評価手段が算出する評価値を算出する対象となる学習パターンから除外する。
【００３１】
好ましくは、学習パターンは画像であり、前処理は、所定の画像処理アルゴリズムに基づいた画像処理を学習パターンに施す処理であり、評価手段は、評価値に基づいて、画像処理アルゴリズムを変化させる。
【００３２】
好ましくは、評価手段は、画像処理アルゴリズムを、遺伝的アルゴリズムに基づいて変化させる。
【００３３】
この発明の他の局面に従う学習方法は、予め所属クラスが指定された複数の学習パターンに前処理を施す工程と、前処理が施された複数の学習パターンの各々から、特徴量を抽出する工程と、複数の学習パターンの各々を、対応する特徴量の値に基づいて、複数種類のクラスのいずれかに分類する工程と、複数種類のクラスの各々に分類された、複数の学習パターンの各々に対応する特徴量の値に対し、対応するクラス内の分布状態を示すクラス内散らばり度を、複数種類のクラス毎に算出し、さらに、複数種類のクラス間の分布状態を示すクラス間散らばり度を算出する工程と、クラス内散らばり度が小さくなる程評価値が大きくなることと、クラス間散らばり度が大きくなる程評価値が大きくなることをいずれか一つないしは両方を満たす評価値を算出する工程とを含み、評価値を算出する工程は、評価値が高くなるように、算出した評価値をフィードバックさせることで前処理を施す工程、抽出する工程ないしは分類する工程の少なくとも一つを学習させる工程を含み、算出する工程は、複数種類のクラス毎の特徴量の値が最も多く分布している範囲から離れる特徴量の値ほど、クラス内散らばり度を算出する際の重み付けを変化させる工程を含む。
【００３４】
好ましくは、クラス間散らばり度を算出する工程は、複数種類のクラス毎の特徴量の値が最も多く分布している範囲から離れる特徴量の値ほど、重み付けを小さくして、複数種類のクラスの各々に対応する複数の学習パターンのそれぞれに対応する複数の特徴量の値に基づいたクラス内平均を、複数種類のクラス毎に算出する工程と、クラス内平均からの散らばり程度を表すクラス内散らばり度を、複数種類のクラス毎に算出する工程と、複数種類のクラス毎に対応するクラス内平均に基づいて、クラス間散らばり度を算出する工程とを含む。
【００３５】
好ましくは、クラス間散らばり度を算出する工程は、複数種類のクラスの各々に対応する複数の学習パターンのそれぞれに対応する複数の特徴量の値と、対応するクラスに対応するクラス内平均候補との複数の距離を、複数種類のクラス毎に算出する工程と、複数の距離の各々に対し、複数の距離の各々の値が大きい程、算出する値が小さくなる重み付けを行なった重み付き距離を、複数種類のクラス毎に算出する工程と、算出した複数の重み付き距離を、複数種類のクラスの各々に対応する学習パターンの数に基づいて平均化することでクラス内散らばり度候補を、複数種類のクラス毎に算出し、クラス内散らばり度候補が最小となるクラス内平均候補を、クラス内平均として算出し、最小となったクラス内散らばり度候補を、クラス内散らばり度候補として算出する工程とを含む。
【００３６】
好ましくは、クラス間散らばり度を算出する工程がクラス内散らばり度を算出するための平均化は、算術平均である。
【００３７】
好ましくは、クラス間散らばり度を算出する工程は、複数種類のクラスの各々に対応する複数の学習パターンのそれぞれに対応する複数の特徴量の値と、対応するクラスに対応するクラス内平均との複数の距離を、複数種類のクラス毎に算出する工程と、複数の距離の各々に対し、所定のべき乗値でべき乗したべき乗距離を、複数種類のクラス毎に算出する工程と、算出した複数のべき乗距離の分布に基づく中央値をクラス内散らばり度として、複数種類のクラス毎に算出する工程とを含む。
【００３８】
好ましくは、べき乗値は２である。
好ましくは、距離は、ユークリッド距離である。
【００３９】
好ましくは、評価値を算出する工程は、クラス間散らばり度を、複数種類のクラスのそれぞれに対応した複数のクラス内散らばり度の合計値で除算した値を、評価値として算出する工程を含む。
【００４０】
好ましくは、分類する工程が、学習パターンを、予め指定された所属クラス以外のクラスに分類したことを、誤指定と判定する工程をさらに含み、
誤指定と判定する工程は、誤指定の対象となった学習パターンを、評価値を算出する工程が算出する評価値を算出する対象となる学習パターンから除外する工程を含む。
【００４１】
好ましくは、学習パターンは画像であり、前処理は、所定の画像処理アルゴリズムに基づいた画像処理を学習パターンに施す処理であり、評価値を算出する工程は、評価値に基づいて、画像処理アルゴリズムを変化させる工程を含む。
【００４２】
好ましくは、評価値を算出する工程は、画像処理アルゴリズムを、遺伝的アルゴリズムに基づいて変化させる工程を含む。
【００４３】
この発明のさらに他の局面に従うと、コンピュータに学習処理を実行させるための学習プログラムは、予め所属クラスが指定された複数の学習パターンに前処理を施すステップと、前処理が施された複数の学習パターンの各々から、特徴量を抽出するステップと、複数の学習パターンの各々を、対応する特徴量の値に基づいて、複数種類のクラスのいずれかに分類するステップと、複数種類のクラスの各々に分類された、複数の学習パターンの各々に対応する特徴量の値に対し、対応するクラス内の分布状態を示すクラス内散らばり度を、複数種類のクラス毎に算出し、さらに、複数種類のクラス間の分布状態を示すクラス間散らばり度を算出するステップと、クラス内散らばり度が小さくなる程評価値が大きくなることと、クラス間散らばり度が大きくなる程評価値が大きくなることをいずれか一つないしは両方を満たす評価値を算出するステップとをコンピュータに実行させ、評価値を算出するステップは、評価値が高くなるように、算出した評価値をフィードバックさせることで前処理を施すステップ、抽出するステップないしは分類するステップの少なくとも一つを学習させるステップを含み、算出するステップは、複数種類のクラス毎の特徴量の値が最も多く分布している範囲から離れる特徴量の値ほど、クラス内散らばり度を算出する際の重み付けを変化させるステップを含む。
【００４４】
この発明のさらに他の局面に従うと、記録媒体は、学習プログラムを記録した媒体である。
【００４５】
この発明のさらに他の局面に従うパターン認識装置は、画像処理アルゴリズムを用いて、処理対象画像のパターンを認識する。
【００４６】
この発明のさらに他の局面に従うパターン認識方法は、画像処理アルゴリズムを用いて、処理対象画像のパターンを認識する。
【発明の効果】
【００４７】
本発明に係る学習装置は、クラス内散らばり度が小さくなる程値が大きくなる評価値を算出する上で、値が最も多く分布している範囲から離れる値ほど、クラス内散らばり度を算出する際の重み付けを変化させる。クラス内散らばり度は、算出した評価値をフィードバックさせることで学習させる識別手段により分類された学習パターンに対応する値に基づいて算出される。
【００４８】
したがって、より正確なクラス内散らばり度を算出することができるため、より正確な評価値を算出することができる。その結果、より正確に学習することができるという効果を奏する。
【００４９】
本発明に係る学習方法は、クラス内散らばり度が小さくなる程値が大きくなる評価値を算出する上で、値が最も多く分布している範囲から離れる値ほど、クラス内散らばり度を算出する際の重み付けを変化させる。クラス内散らばり度は、算出した評価値をフィードバックさせることで学習させる分類する工程により分類された学習パターンに対応する値に基づいて算出される。
【００５０】
したがって、より正確なクラス内散らばり度を算出することができるため、より正確な評価値を算出することができる。その結果、より正確に学習することができるという効果を奏する。
【００５１】
本発明に係る学習プログラムは、クラス内散らばり度が小さくなる程値が大きくなる評価値を算出する上で、値が最も多く分布している範囲から離れる値ほど、クラス内散らばり度を算出する際の重み付けを変化させる。クラス内散らばり度は、算出した評価値をフィードバックさせることで学習させる分類するステップにより分類された学習パターンに対応する値に基づいて算出される。
【００５２】
したがって、より正確なクラス内散らばり度を算出することができるため、より正確な評価値を算出することができる。その結果、より正確に学習することができるという効果を奏する。
【００５３】
本発明に係る記録媒体は、学習プログラムを記録する。学習プログラムは、クラス内散らばり度が小さくなる程値が大きくなる評価値を算出する上で、値が最も多く分布している範囲から離れる値ほど、クラス内散らばり度を算出する際の重み付けを変化させる。クラス内散らばり度は、算出した評価値をフィードバックさせることで学習させる分類するステップにより分類された学習パターンに対応する値に基づいて算出される。
【００５４】
したがって、より正確なクラス内散らばり度を算出することができるため、より正確な評価値を算出することができる。その結果、より正確に学習することができるという効果を奏する。
【００５５】
本発明に係るパターン認識装置は、識別率をより高くさせるための画像処理アルゴリズムを使用して、処理対象画像のパターンを認識する。
【００５６】
したがって、より正確に、パターンを識別することができるという効果を奏する。
本発明に係るパターン認識方法は、識別率をより高くさせるための画像処理アルゴリズムを使用して、処理対象画像のパターンを認識する。
【００５７】
したがって、より正確に、パターンを識別することができるという効果を奏する。
【発明を実施するための最良の形態】
【００５８】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【００５９】
＜第１の実施の形態＞
図１は、本実施の形態における学習装置５００の内部の構成を示すブロック図である。学習装置５００は、たとえば、ＰＣ（Personal Computer）やワークステーション等のコンピュータである。なお、図１には、説明のために、記録媒体５５５、画像データ入力部６００も示している。記録媒体５５５には、後述するプログラム１８０が記録されている。すなわち、プログラム１８０は、媒体等に記録されてプログラム製品として流通される。また、記録媒体５５５もプログラム製品として流通される。
【００６０】
画像データ入力部６００は、詳細は後述するが、学習装置５００に画像データを送信する機能を有する。
【００６１】
図１を参照して、学習装置５００には、表示部５３０と、マウス５４２と、キーボード５４４とが接続される。
【００６２】
表示部５３０は、ユーザに各種情報を、文字や画像等で表示する機能を有する。表示部５３０は、学習装置５００から出力された画像データに基づいた画像を表示する。表示部５３０は、液晶ディスプレイ（ＬＣＤ（Liquid Crystal Display））、ＣＲＴ（Cathode Ray Tube）、ＦＥＤ（Field Emission Display）、ＰＤＰ（Plasma Display Panel）、有機ＥＬディスプレイ（Organic Electro luminescence Display）、ドットマトリクス等その他の画像表示方式の表示機器のいずれであってもよい。
【００６３】
マウス５４２は、ユーザが学習装置５００を操作するためのインターフェースである。キーボード５４４は、ユーザが学習装置５００を操作するためのインターフェースである。なお、表示部５３０およびキーボード５４４は、学習装置５００の内部に設けられる構成であってもよい。また、マウス５４２は、たとえば、タッチパッド等として、学習装置５００の内部に設けられる構成であってもよい。また、学習装置５００には、ペンタブレットが入力機器として接続されていてもよい。
【００６４】
学習装置５００は、制御部５１０と、データ一時記憶部５２２と、記憶部５２０と、通信部５６０と、通信部５６２と、ＶＤＰ（Video Display Processor）５３２と、ＣＧＲＯＭ（Character Graphic Read Only Memory）５３４と、ＶＲＡＭ（Video Random Access Memory）５３６と、入力部５４０と、記録媒体アクセス部５５０とを含む。
【００６５】
ＣＧＲＯＭ５３４には、フォントデータ、図形データなど、ＶＤＰ５３２が、表示部５３０で表示される画像を生成するための画像データが記憶されている。
【００６６】
記憶部５２０には、制御部５１０に後述する処理を行なわせるためのプログラム１８０、画像処理アルゴリズムに学習させるための学習用画像データベース１８２、その他各種プログラムおよびデータ等が記憶されている。記憶部５２０は、制御部５１０によってデータアクセスされる。なお、学習用画像データベース１８２は、各々が異なる複数種類の学習画像のデータから構成されるデータベースである。なお、学習画像についての詳細は後述する。
【００６７】
記憶部５２０は、大容量のデータを記憶可能なハードディスクである。なお、記憶部５２０は、ハードディスクに限定されることなく、電源を供給されなくてもデータを不揮発的に保持可能な媒体（たとえば、フラッシュメモリ）であればよい。
【００６８】
制御部５１０は、記憶部５２０に記憶されたプログラム１８０に従って、学習装置５００の内部の各機器に対する各種処理や、演算処理等を行なう機能を有する。制御部５１０は、マイクロプロセッサ（Microprocessor）、プログラミングすることができるＬＳＩ（Large Scale Integration）であるＦＰＧＡ（Field Programmable Gate Array）、特定の用途のために設計、製造される集積回路であるＡＳＩＣ（Application Specific Integrated Circuit）、その他の演算機能を有する回路のいずれであってもよい。
【００６９】
また、制御部５１０は、記憶部５２０に記憶されたプログラム１８０に従って、ＶＤＰ５３２に対し、画像を生成させ、当該画像を表示部５３０に表示させる指示（以下においては、「描画指示」とも称する）をだす。
【００７０】
ＶＤＰ５３２は表示部５３０と接続されている。ＶＤＰ５３２は、制御部５１０からの描画指示に応じて、ＣＧＲＯＭ５３４から必要な画像データを読出し、ＶＲＡＭ５３６を利用して画像を生成する。そして、ＶＤＰ５３２は、ＶＲＡＭ５３６に記憶された画像データを読出し、表示部５３０に、当該画像データに基づく画像を表示させる。
【００７１】
ＶＲＡＭ５３６は、ＶＤＰ５３２が生成した画像を一時的に記憶する機能を有する。
データ一時記憶部５２２は、制御部５１０によってデータアクセスされ、一時的にデータを記憶するワークメモリとして使用される。
【００７２】
データ一時記憶部５２２は、データを一時的に記憶可能なＲＡＭ（Random Access Memory）、ＳＲＡＭ（Static Random Access Memory）、ＤＲＡＭ（Dynamic Random Access Memory）、ＳＤＲＡＭ（Synchronous DRAM）、ダブルデータレートモードという高速なデータ転送機能を持ったＳＤＲＡＭであるＤＤＲ−ＳＤＲＡＭ（Double Data Rate SDRAM）、Rambus社が開発した高速インターフェース技術を採用したＤＲＡＭであるＲＤＲＡＭ（Rambus Dynamic Random Access Memory）、Ｄｉｒｅｃｔ−ＲＤＲＡＭ（Direct Rambus Dynamic Random Access Memory）、その他、データを揮発的に記憶保持可能な構成を有する回路のいずれであってもよい。
【００７３】
入力部５４０には、マウス５４２と、キーボード５４４とが接続されている。ユーザは、マウス５４２またはキーボード５４４を利用して、学習装置５００に指示を与える。マウス５４２またはキーボード５４４からの入力指示は、入力部５４０を介して制御部５１０に伝達される。制御部５１０は、入力部５４０からの入力指示に基づいて所定の処理を行なう。
【００７４】
記録媒体アクセス部５５０は、プログラム１８０が記録された記録媒体５５５から、プログラム１８０を読出す機能を有する。記録媒体５５５に記憶されているプログラム１８０は、制御部５１０の動作（インストール処理）により、記録媒体アクセス部５５０から読み出され、記憶部５２０に記憶される。
【００７５】
このインストール処理用プログラムは、予め、記憶部５２０に格納されており、インストール処理は、制御部５１０が、インストール処理用プログラムに基づいて行なう。
【００７６】
なお、記憶部５２０には、プログラム１８０がインストールされていなくてもよい。この場合、制御部５１０は、記録媒体アクセス部５５０を介して、記録媒体５５５に記憶されたプログラム１８０を読み出して、プログラム１８０に基づいた所定の処理を行なう。
【００７７】
記録媒体５５５は、ＤＶＤ−ＲＯＭ（Digital Versatile Disk Read Only Memory）、ＤＶＤ−Ｒ（Digital Versatile Disk Recordable）、ＤＶＤ−ＲＡＭ（Digital Versatile Disk Random Access Memory）、ＤＶＤ＋ＲＷ（Digital Versatile Disk Re-Writable）、ＤＶＤ−ＲＷ、ＣＤ−ＲＯＭ（Compact Disk Read Only Memory）、ＭＯ（Magneto Optical Disk）、フロッピー（登録商標）ディスク、ＣＦ(Compact Flash) カード、ＳＭ（Smart Media（登録商標））、ＭＭＣ（Multi Media Card）、ＳＤ（Secure Digital）メモリーカード、メモリースティック（登録商標）、ｘＤピクチャーカードおよびＵＳＢメモリ、磁気テープ、その他不揮発性メモリのいずれであってもよい。
【００７８】
通信部５６０は、制御部５１０とデータの授受を行なう。また、通信部５６０は、画像データ入力部６００と有線または無線で、データの授受を行なう。
【００７９】
制御部５１０は、通信部５６０を介して、画像データ入力部６００を制御するための制御データを送信する。また、制御部５１０は、画像データ入力部６００から、通信部５６０を介して、送信した制御データに応じたデータを受信する。
【００８０】
通信部５６０は、ＵＳＢ（Universal Serial Bus）１．１、ＵＳＢ２．０、その他シリアル転送を行なう通信用インターフェースのいずれであってもよい。また、通信部５６０は、イーサネット（登録商標）を利用した通信用インターフェースであってもよい。また、通信部５６０は、セントロニクス仕様、ＩＥＥＥ１２８４（Institute of Electrical and Electronic Engineers 1284）、その他パラレル転送を行なう通信用インターフェースのいずれであってもよい。また、通信部５６０は、ＩＥＥＥ１３９４、その他ＳＣＳＩ規格を利用した通信用インターフェースのいずれであってもよい。
【００８１】
また、通信部５６０は、無線ＬＡＮの規格であるＩＥＥＥ８０２．１１ａ、ＩＥＥＥ８０２．１１ｂ、ＩＥＥＥ８０２．１１ｇ、その他無線技術を利用してデータ通信を行なう通信用インターフェースのいずれであってもよい。
【００８２】
通信部５６２は、制御部５１０と、データの授受を行なう。通信部５６２は、通信部５６０と同様なので詳細な説明は繰り返さない。
【００８３】
通信部６１０は、通信部５６２およびネットワーク６２０とデータの授受を行なう。ネットワーク６２０は、インターネットなどの外部のネットワークである。通信部６１０は、イーサネット（登録商標）を利用した通信用インターフェース（たとえば、ルータ）である。また、通信部６１０と、ネットワーク６２０とは、無線または有線でデータの授受を行なう。当該有線は、たとえば、電話線、光ファイバケーブル等である。
【００８４】
したがって、本実施の形態における学習装置５００は、ネットワーク６２０から、通信部６１０および通信部５６２を介して、プログラムのダウンロード処理を行ない、記憶部５２０に格納することもできる。この場合、当該ダウンロードしたプログラムは、プログラム１８０である。
【００８５】
制御部５１０は、ネットワーク６２０からダウンロードしたプログラム（プログラム１８０）に従って、所定の処理を行なう。このダウンロード用プログラムは、予め、記憶部５２０に格納されており、ダウンロード処理は、制御部５１０が、ダウンロード用プログラムに基づいて行なう。
【００８６】
以上の構成の学習装置５００により、画像処理アルゴリズムが生成される。
図２は、画像データ入力部６００の内部構成を示すブロック図である。なお、図２には、説明のために、学習装置５００内の通信部５６０も示している。
【００８７】
図２を参照して、画像データ入力部６００は、ステージ６４０に設置された検査対象となる検査対象物６５０に光を当てて、検査対象物６５０の反射光をデータに変換する機能を有する。検査対象物６５０は、液晶パネル、半導体、電子部品、プラスチック、金属、木材、紙、布等のいずれであってもよい。
【００８８】
画像データ入力部６００は、制御部６１０と、光源６２０と、カメラ６３０とを含む。制御部６１０は、学習装置５００内の通信部５６０とデータの授受を行なう。制御部６１０は、前述の制御部５１０と同様な構成および機能を有する。制御部６１０は、通信部５６０を介して、制御部５１０から受信した制御データに基づいて、光源６２０と、カメラ６３０とを制御する。
【００８９】
光源６２０は、制御部６１０の制御により、光を検査対象物６５０に当てる。
カメラ６３０は、制御部６１０の制御により、検査対象物６５０からの反射光を撮像する機能を有する。カメラ６３０は、（Charge Coupled Devices）ＣＣＤ方式、（Complementary Metal Oxide Semiconductor）ＣＭＯＳ方式、または他の方式のカメラのいずれであってもよい。
【００９０】
また、カメラ６３０は、撮像したデータを画像データとして、制御部６１０へ送信する。制御部６１０は、受信した画像データを、通信部５６０を介して、制御部５１０へ送信する。制御部５１０は、受信した画像データを後述する学習原画像として記憶部５２０に記憶させる。制御部５１０は、当該受信した画像データを、表示部５３０に表示させる処理を行なう。検査員（オペレータ）は、表示部５３０に表示された画像（以下においては、検査画像とも称する）を参照することで、検査対象物６５０が不良品であるか否かが判定可能となる。なお、検査員（オペレータ）は、直接、検査対象物６５０を見て、不良品であるか否かを判定してもよい。
【００９１】
ここで、以下に使用する用語の定義を行なう。まず、検査対象物６５０が不良品であると検査員（オペレータ）が判定する要因となる真正の欠陥のことを真欠陥とする。一方、検査工程で抽出される欠陥ではあるが、検査員（オペレータ）が検査対象物６５０を不良品と判定するには至らず、検査対象が良品であると判定可能な欠陥のことを擬似欠陥とする。
【００９２】
次に、検査対象物６５０を撮像した画像のうち、画像中に擬似欠陥の有無に係わらず真欠陥が一つも存在しない画像を良品画像とし、画像中に擬似欠陥の有無に係わらず真欠陥が一つでも存在する画像を欠陥画像とする。良品画像と欠陥画像とはそれぞれ学習画像となり得るものとする。
【００９３】
以下の実施の形態で使用する画像のサイズは、たとえば、横６４０画素、縦４８０画素であるとする。なお、以下の実施の形態で使用する画像のサイズは、横６４０画素、縦４８０画素に限定されることはなく、任意のサイズ（たとえば、横３２０画素、縦２４０画素）であってもよい。
【００９４】
また、以下の実施の形態で使用する画像の画素の有する濃度値は、“０”〜“２５５”の範囲の値である。また、濃度値が“０”の場合、対応する画素は黒であるとする。また、濃度値が“２５５”の場合、対応する画素は白であるとする。なお、以下の実施の形態で使用する画像の画素の有する濃度値は、“０”〜“２５５”の範囲の値に限定されることはなく、任意の範囲の値であってもよい。
【００９５】
図３は、本実施の形態における学習装置５００の機能ブロック図である。図３を参照して、学習装置５００には、画像データ入力部６００および表示部５３０が接続されている。
【００９６】
学習装置５００は、制御部５１０を含む。制御部５１０は、前処理部５１１、特徴抽出部５１２、識別部５１３、誤指定判定部５１３Ａ、算出部５１４、評価部５１５として動作する。
【００９７】
前処理部５１１は、前処理手段として、後述する処理を行なう。特徴抽出部５１２は、特徴抽出手段として、後述する処理を行なう。識別部５１３は、識別手段として、後述する処理を行なう。誤指定判定部５１３Ａは、誤指定判定手段として、後述する処理を行なう。算出部５１４は、算出手段として、後述する処理を行なう。評価部５１５は、評価手段として、後述する処理を行なう。
【００９８】
図４は、一例としての学習画像７００を示す図である。図４を参照して、学習画像７００は、真欠陥７２０，７２２，７２４と、擬似欠陥７１０，７１２，７１４とを含む。学習画像７００の真欠陥７２０，７２２，７２４、擬似欠陥７１０，７１２，７１４以外の領域が背景領域である。すなわち、学習画像７００は、背景領域と欠陥領域とから構成される。
【００９９】
また、学習画像は、検査員（オペレータ）が、大きさ、形状および位置等を設定した欠陥を、真欠陥または擬似欠陥に指定し、当該欠陥を付与した欠陥画像または真欠陥を付与していない良品画像である。また、学習画像は、真欠陥の有無に係わらず、検査対象物６５０を撮像した画像であってもよい。記憶部５２０には、各々が異なる複数種類の学習画像が記憶される。
【０１００】
ここで、学習画像とは、画像処理アルゴリズムによる画像処理の対象となる画像である。
【０１０１】
学習装置５００は、各々が異なる複数種類の学習画像を取得して、未検出と過検出がない最良の画像処理アルゴリズムを学習して生成する画像処理アルゴリズム生成処理を行なう。学習画像は、複数の学習パターンを含む画像または、学習パターンを含まない画像である。学習装置５００は、学習画像に含まれる学習パターンとしての欠陥を２つのクラス（真欠陥のクラスと擬似欠陥のクラス）に分類できるように、最良の画像処理アルゴリズムを生成する。
【０１０２】
画像処理アルゴリズムは、たとえば、複数の画像処理モジュールを順次使用するアルゴリズムである。また、各画像処理モジュールは、いくつかのパラメータを有する。
【０１０３】
ここで、画像処理モジュールは、たとえば、最大値フィルタなどである。最大値フィルタは注目画素とその近傍領域の画素の持つ輝度値の最大のもので注目画素値を置き換える処理を行なうフィルタである。また、最大値フィルタの持つパラメータとしては、たとえば近傍領域を規定するパラメータが含まれて、該パラメータの値が、たとえば、“３”の場合、フィルタサイズは３画素×３画素と規定される。この場合は注目画素とその近傍の８画素がフィルタ処理の対象となる。同じくパラメータの値が“５”の場合、フィルタサイズは５画素×５画素と規定される。この場合、注目画素と注目画素の近傍の２４画素がフィルタ処理の対象となる。画像処理アルゴリズムは種々の画像処理モジュールの組合せと、各画像処理モジュールの持つパラメータ値によって表現される。
【０１０４】
画像処理アルゴリズム生成処理は、後述の計算方法により算出された評価値に基づいて、該画像処理アルゴリズムを構成する画像処理モジュールの組合せや、各画像処理モジュールが持つパラメータの値を変更する処理を繰返すことにより、より評価値の高い画像処理アルゴリズムを生成する方法である。
【０１０５】
なお、画像処理アルゴリズムを構成する１つ以上の画像処理モジュールは、オペレータもしくはプログラム等によってあらかじめ生成されて登録されたものの中から選択されたものである。具体的には、生成された１つ以上の画像処理モジュールは記憶部５２０に格納されている。
【０１０６】
図５は、画像処理アルゴリズム生成処理のフローチャートである。
図５を参照して、ステップＳ３００では、前処理部５１１が、初期画像処理アルゴリズムを生成する。具体的には、前処理部５１１は、記憶部５２０に記憶されている画像処理モジュール群とそのパラメータ群から任意に選択された画像処理モジュールとパラメータとを組合わせて画像処理アルゴリズムを生成する。その後、ステップＳ３１０に進む。
【０１０７】
ステップＳ３１０では、前処理部５１１は、記憶部５２０から、１つの学習画像を読み出す。その後、ステップＳ３１５に進む。
【０１０８】
ステップＳ３１５では、画像処理が行なわれる。画像処理では、前処理部５１１が、ステップＳ３１０で読み出された学習画像に対し、生成された画像処理アルゴリズムに基づく画像処理を施し、処理後画像を取得する。当該画像処理は、学習画像の対象部位（真欠陥）を強調させるとともに、非対象部位(擬似欠陥)を弱める処理である。また、当該画像処理では、ノイズ除去なども行なわれる。これにより、真欠陥の検出精度を高めている。その後、ステップＳ３４０に進む。
【０１０９】
ステップＳ３４０では、特徴量算出処理が行なわれる。特徴量算出処理では、特徴抽出部５１２が、処理後画像に含まれる真欠陥または擬似欠陥に対応する欠陥候補部を全て抽出し、全ての欠陥候補部の各々の特徴量の値を算出する。以下においては、特徴量の値を示すデータを特徴量データともいう。
【０１１０】
ここで特徴量とは、たとえば、欠陥候補部とその近傍とのコントラスト、欠陥候補部の面積、形状情報（周囲長、幅、穴数、オイラー数、モーメント量等）、重心座標、色情報などである。その後、ステップＳ３５０に進む。
【０１１１】
ステップＳ３５０では、欠陥識別処理が行なわれる。欠陥識別処理では、識別部５１３が、ステップＳ３４０で抽出された全ての欠陥候補部の各々を、真欠陥と、擬似欠陥とに分類する。すなわち、欠陥候補部を２つのクラスに分類する。
【０１１２】
まず、欠陥候補部の正しいクラス分けを行なうための正規分離処理が行われる。正規分離処理では、識別部５１３が、各欠陥候補部の位置データと、学習画像に予めオペレータにより付与されている真欠陥または擬似欠陥の位置データとの比較に基づいて、全ての欠陥候補部を、真欠陥または擬似欠陥に分類する。分類方法は、たとえば、各真欠陥に最近接している欠陥候補部を真欠陥とし、その以外の欠陥候補部を擬似欠陥とする方法である。
【０１１３】
以下においては、真欠陥に分類された欠陥候補部が属するクラスを真欠陥クラスともいう。また、擬似欠陥に分類された欠陥候補部が属するクラスを擬似欠陥クラスともいう。
【０１１４】
次に、パターン認識分類処理が行なわれる。パターン認識分類処理は、算出された欠陥候補部の各々の特徴量データの値に基づいて行われる。以下においては、特徴量が１種類である場合について説明する。パターン認識分類処理では、識別部５１３は、特徴量データの閾値（以下、クラス分類閾値ともいう）を記憶しており、クラス分類の対象となる欠陥候補部の特徴量データの値と、クラス分類閾値との大小関係を判定し、真欠陥と、擬似欠陥とに分類する。たとえば、クラス分類閾値以上の特徴量データに対応する欠陥候補部を真欠陥に分類し、閾値未満の特徴量データに対応する欠陥候補部を擬似欠陥に分類する。すなわち、クラス分類閾値は、欠陥候補部を、擬似欠陥と、真欠陥に分類するための値である。
【０１１５】
正規分離処理により真欠陥に分類された欠陥候補部が、パターン認識分類処理により真欠陥に分類された場合、識別部５１３が、正しく真欠陥を検出できたということになる。一方、正規分離処理により擬似欠陥に分類された欠陥候補部が、パターン認識分類処理により擬似欠陥に分類された場合、識別部５１３が、正しく擬似欠陥として検出できた（真欠陥として検出しなかった）ということになる。この場合、真欠陥に分類されるべき欠陥候補部が、識別部５１３により、真欠陥として正しく分類されたことになる。また、擬似欠陥に分類されるべき欠陥候補部が、識別部５１３により、擬似欠陥として正しく分類されたことになる。
【０１１６】
一方、正規分離処理により真欠陥に分類された欠陥候補部が、パターン認識分類処理により擬似欠陥に分類された場合、識別部５１３が、真欠陥を正しく検出できなかったということ（以下、未検出ともいう）になる。
【０１１７】
また、正規分離処理により擬似欠陥に分類された欠陥候補部が、パターン認識分類処理により真欠陥に分類された場合、識別部５１３が、擬似欠陥を真欠陥と誤って分類したこと（以下、過検出ともいう）になる。
【０１１８】
未検出や過検出は、ゼロとなることが望ましい。したがって、学習中の識別部５１３は、未検出や過検出が発生した場合は、その発生回数に応じて、その画像処理アルゴリズムの評価値から、予め定められた値を減算すればよい。つまり、未検出や過検出が少ないほど、評価値が良くなる。
【０１１９】
さて、識別器（識別部５１３）がパターン認識分類を行なう方法は、従来から様々な方法が提案されている。前述したような特徴量データを閾値により判別する方法は、識別関数による方法と呼ばれる。それ以外にも、ｋ−ＮＮ法（ｋ−Nearest-Neighbours Classification Rule）やニューラルネットワークによる方法等がある。本発明の学習装置では、どのような識別器の方法を用いても良い。その後、ステップＳ３５２に進む。
【０１２０】
ステップＳ３５２では、誤指定判定部５１３Ａが、後述するカウンタＫが所定値（たとえば、５０）以上であるか否かを判定する。ステップＳ３５２において、ＹＥＳならば、ステップＳ３５４に進む。一方、ステップＳ３５２において、ＮＯならば、ステップＳ３６０に進む。
【０１２１】
なお、ステップＳ３５２では、カウンタＫの値ではなく、ステップＳ３００の処理が開始されてから所定時間経過したか否かを判定してもよい。
【０１２２】
ステップＳ３５４では、誤指定判定部５１３Ａが、誤指定があるか否かを判定する。ここで、誤指定があるとは、ステップＳ３５０において、未検出または過検出があったということである。すなわち、オペレータが、学習画像を生成する際に、欠陥を、真欠陥（または擬似欠陥）と指定すべきところを、擬似欠陥（または真欠陥）と間違って指定した可能性が高いことになる。ステップＳ３５４において、ＹＥＳならば、ステップＳ３５６に進む。一方、ステップＳ３５４において、ＮＯならば、ステップＳ３６０に進む。
【０１２３】
ステップＳ３５６では、誤指定判定部５１３Ａが、未検出または過検出の対象となった欠陥候補部に対応する特徴量データを、後述する計算で使用する対象から除外する。そして、除外したことをオペレータに通知するために、表示部５３０にその旨を表示させる。その後、ステップＳ３６０に進む。
【０１２４】
なお、この場合、オペレータは、表示部５３０の表示に基づいて、間違って指定した欠陥を正しく指定し直した学習画像を生成してもよい。そして、再度、この画像処理アルゴリズム生成処理のステップＳ３００から処理を行なってもよい。
【０１２５】
ステップＳ３６０では、分布状態算出処理が行なわれる。分布状態算出処理では、算出部５１４が、前述のパターン認識分類処理において、擬似欠陥クラスに分類された欠陥候補部の特徴量分布と、真欠陥クラスに分類された欠陥候補部の特徴量分布とに基づいて、クラス内散らばり度およびクラス間散らばり度を算出する。
【０１２６】
クラス内散らばり度は、擬似欠陥クラスまたは真欠陥クラスに分類された欠陥候補部の特徴量分布に関してクラス内平均からの散らばり程度を表す指標である。以下においては、擬似欠陥クラスに対応するクラス内散らばり度を、擬似欠陥クラス内散らばり度ＳＷ（１）ともいう。また、真欠陥クラスに対応するクラス内散らばり度を、真欠陥クラス内散らばり度ＳＷ（２）ともいう。
【０１２７】
クラス間散らばり度は、２つのクラス内平均の散らばり程度を表す指標である。また、以下においては、擬似欠陥クラスおよび真欠陥クラスの各々のクラス内平均の散らばり程度を表す指標を、クラス間散らばり度ＳＢともいう。本発明の特徴である、クラス内散らばり度およびクラス間散らばり度の算出方法の詳細は後述する。その後、ステップＳ３７０に進む。
【０１２８】
ステップＳ３７０では、評価部５１５が、ステップＳ３６０により算出されたクラス内散らばり度およびクラス間散らばり度ＳＢに基づいて、ステップＳ３１５で使用された画像処理アルゴリズムの評価値Ｅを、以下の式（１）に基づいて算出する。
【０１２９】
【数１】
2007018176.tif 000003
【０１３０】
式（１）によると、評価値Ｅは、クラス間散らばり度ＳＢを、すべてのクラス内散らばり度の合計値で除算することで算出されることが分かる。
【０１３１】
式（１）によれば、クラス内散らばり度ＳＢが小さくなるほど、評価値Ｅは高くなる。また、クラス間散らばり度が大きくなるほど評価値Ｅは高くなる。
【０１３２】
なお、評価値Ｅは、クラス内散らばり度のみから算出されてもよい。また、評価値Ｅは、クラス間散らばり度のみから算出されてもよい。しかしながら、評価値Ｅは、クラス内散らばり度とクラス間散らばり度の両方から算出されることが望ましい。
【０１３３】
式（１）は、クラスを２つに分類する場合の評価値の算出式である。３つ以上のクラスに分類する場合、評価値Ｅは、すべてのクラス間散らばり度の合計を、すべてのクラス内散らばり度の合計で除算することで算出される。その後、ステップＳ３７５に進む。
【０１３４】
ステップＳ３７５では、評価部５１５が、終了条件を満たしているか否かを判定する。ここで、本実施例における終了条件は、ステップＳ３７０で算出された評価値が、予め設定された所定値以上となる条件、または、後述する画像処理アルゴリズムのパラメータ調整の処理を繰り返した回数が、所定回数（たとえば、１００回）となる条件である。なお、終了条件は、他の条件であってもよい。
【０１３５】
ステップＳ３７５において、ＹＥＳならば、この画像処理アルゴリズム生成処理は終了する。画像処理アルゴリズム生成処理が終了するのは、たとえば、ステップＳ３７０で算出された評価値が所定値以上の場合である。または、後述する画像処理アルゴリズムのパラメータ調整の処理を繰り返した回数が、所定回数となった場合である。
【０１３６】
一方、ステップＳ３７５において、ＮＯならば、ステップＳ３８０に進む。
ステップＳ３８０では、評価部５１５が、生成された画像処理アルゴリズムについて算出された評価値に基づいて、当該評価値が大きくなるように、画像処理モジュールの組合せやパラメータ値の変更（調整）を行なう。当該変更された画像処理アルゴリズムは、ステップＳ３１５において使用される。
【０１３７】
ステップＳ３８０における、ある評価値に基づいて画像処理モジュールの組合せやパラメータ値を最適化してゆく手法としては、たとえば、ＧＡ（遺伝的アルゴリズム）、ＳＡ（シミュレーティッドアニーリング）、非線形計画法またはニューラルネットワークによるものである。いずれも、評価値の高い組合せやパラメータ値に対して、それらの組合せや値をわずかに変動させて、より評価値の高いものを探索してゆくものである。
【０１３８】
なお、組合せの数やパラメータ値の取る範囲が十分に小さい場合は、ステップＳ３７５の終了条件を満たさない範囲で、画像処理アルゴリズムの構成要素である画像処理モジュールの全ての組合せの数とパラメータ値を変動させた条件にて評価を行なうことが可能である。このように画像処理アルゴリズムの調整が完了すると、その後、ステップＳ３８２に進む。
【０１３９】
ステップＳ３８２では、評価部５１５が、カウンタＫを１インクリメントする。ここで、カウンタＫは、ステップＳ３８０の処理が行なわれた回数をカウントするためのカウンタである。なお、カウンタＫの初期値は０に設定されている。その後、再度、ステップＳ３１５の処理が行なわれる。
【０１４０】
すなわち、ステップＳ３１０，Ｓ３１５，Ｓ３４０，Ｓ３５０，Ｓ３６０，Ｓ３７０，Ｓ３８０の処理は、画像処理アルゴリズムを変化させる処理である。
【０１４１】
ステップＳ３１５，Ｓ３４０，Ｓ３５０，Ｓ３６０，Ｓ３７０，Ｓ３８０の処理が、ステップＳ３７５の終了条件を満たすまで繰返し行なわれることにより、評価値が所定値以上である最終画像処理アルゴリズムの生成を実現しうる。
【０１４２】
次に、クラス内散らばり度およびクラス間散らばり度の算出方法を詳細に説明する。前述したように算出部５１４は、前述のパターン認識分類処理において、擬似欠陥クラスに分類された欠陥候補部の特徴量分布と、真欠陥クラスに分類された欠陥候補部の特徴量分布とに基づいて、クラス内散らばり度およびクラス間散らばり度を算出する。
【０１４３】
図６は、特徴量分布（ヒストグラム）の第１の例を示す図である。図６は、ステップＳ３４０の処理により取得された１１０個の特徴量データに基づいて生成されたプロット図である。すなわち、ステップＳ３１０で読み出された学習画像には、１１０個の欠陥候補部がある。図６の例では、特徴量データは、１種類のみである。特徴量データは、０〜２００の範囲の値をとるコントラストの値である。この場合のコントラストとは、欠陥と、その周辺領域の背景とのコントラストを数値化した値である。なお、特徴量データは、コントラストに限定されることなく、欠陥の面積等であってもよい。
【０１４４】
なお、１１０個の特徴量データのうち、１００個の特徴量データが、擬似欠陥クラスに分類されたデータであるとする。また、１１０個の特徴量データのうち、１０個の特徴量データが、真欠陥クラスに分類されたデータであるとする。
【０１４５】
図７は、特徴量分布の第１の例に使用された特徴量データを示す図である。図７（Ａ）は、擬似欠陥クラスに分類された１００個の特徴量データからなるデータテーブルＴ１００を示す図である。図７（Ｂ）は、真欠陥クラスに分類された１０個の特徴量データからなるデータテーブルＴ１１０を示す図である。
【０１４６】
再び、図６を参照して、横軸は、特徴量データの値、縦軸は、度数を示す。ここで、度数とは、対応する特徴量データが、所定の範囲の値に属する、欠陥候補部の数を示す。図６において、たとえば、度数が“２１”である場合、対応する特徴量データの値が４５以上５５未満という値の範囲に属する欠陥候補部の数が２１であることを示す。
【０１４７】
図６において、クラス領域Ｃ１Ａは、擬似欠陥クラスに分類されたデータによる曲線を含む。クラス領域Ｃ１Ｂは、真欠陥クラスに分類されたデータによる曲線を含む。図６では、各クラス領域内の一番大きな山の曲線から、大きく離れた例外値は見当たらない。この場合、算術平均をクラス内平均として算出し、分散をクラス内散らばり度として算出しても問題がない。
【０１４８】
図８は、特徴量分布（ヒストグラム）の第２の例を示す図である。横軸および縦軸は、図６と同様なので詳細な説明は繰り返さない。図８は、ステップＳ３４０の処理により取得された１１１個の特徴量データに基づいて生成されたプロット図である。すなわち、ステップＳ３１０で読み出された学習画像には、１１１個の欠陥候補部がある。特徴量データは、図６と同様０〜２００の範囲の値をとるコントラストの値である。図８の例では、図６と同様、特徴量のデータは、１種類のみである。
【０１４９】
なお、１１１個の特徴量データのうち、１００個の特徴量データが、擬似欠陥クラスに分類されたデータであるとする。また、１１１個の特徴量データのうち、１１個の特徴量データが、真欠陥クラスに分類されたデータであるとする。
【０１５０】
図９は、特徴量分布の第２の例に使用された特徴量データを示す図である。図９（Ａ）は、擬似欠陥クラスに分類された１００個の特徴量データからなるデータテーブルＴ１００を示す図である。図９（Ｂ）は、真欠陥クラスに分類された１１個の特徴量データからなるデータテーブルＴ１１０Ａを示す図である。
【０１５１】
再び、図８を参照して、クラス領域Ｃ２Ａは、擬似欠陥クラスに分類されたデータによる曲線を含む。クラス領域Ｃ２Ｂは、真欠陥クラスに分類されたデータによる曲線を含む。図８は、図６と比較すると、真欠陥クラスに分類された、特徴量データの値が１５０のデータが１つ存在している。当該データは、クラス領域Ｃ２Ｂ内の一番大きな山の曲線から、大きく離れており、例外値となる。当該例外値を除くと、第１の例（図６）と第２の例（図８）の特徴量分布は全く同じである。
（計算方法の検討例）
図１０は、特徴量分布の第１および第２の例に基づく、算出部５１４および評価部５１５による、検討例としての算出結果を示す図である。
【０１５２】
図１０を参照して、ｍ（１）は、クラス領域Ｃ１Ａおよびクラス領域Ｃ２Ａ内のデータに基づく、クラス内平均を示す。ＳＷ（１）は、クラス領域Ｃ１Ａおよびクラス領域Ｃ２Ａ内のデータに基づく、クラス内散らばり度を示す。
【０１５３】
ｍ（２）は、クラス領域Ｃ１Ｂおよびクラス領域Ｃ２Ｂ内のデータに基づく、クラス内平均を示す。ＳＷ（２）は、クラス領域Ｃ１Ｂおよびクラス領域Ｃ２Ｂ内のデータに基づく、クラス内散らばり度を示す。
【０１５４】
ＳＢは、２つのクラス内平均の散らばり程度を表す指標であるクラス間散らばり度を示す。Ｅは、画像処理アルゴリズムの評価値である。
【０１５５】
第１の例におけるクラス内平均ｍ（１）は、クラス領域Ｃ１Ａ内の１００個の特徴量データ（図７（Ａ）参照）に基づいて、以下の算術平均を求めるための式（２）により、４０．３と算出される。
【０１５６】
【数２】
2007018176.tif 000004
【０１５７】
式（２）のＮ（ｉ）は、クラスｉの特徴量データの個数である。この場合、ｉは“１”である。したがって、Ｎ（１）は１００となる。Ｓｉｊは、クラスｉのｊ番目のデータ（特徴量データ）の値となる。
【０１５８】
第２の例におけるクラス内平均ｍ（１）は、クラス領域Ｃ２Ａ内の１００個の特徴量データに基づいて、式（２）により算出される。なお、クラス領域Ｃ２Ａ内の１００個の特徴量データ（図９（Ａ）参照）は、クラス領域Ｃ１Ａ内の１００個の特徴量データと同じであるので、第２の例におけるクラス内平均ｍ（１）は、第１の例におけるクラス内平均ｍ（１）と同じ値（４０．３）となる。
【０１５９】
変動率は、以下の式（３）により算出される。
[（第２の例の値）／（第１の例の値）−１]×１００              ・・・（３）
したがって、第１および第２の例におけるクラス内平均ｍ（１）の変動率は式（３）より“０”となる。
【０１６０】
第１の例におけるクラス内散らばり度ＳＷ（１）は、クラス領域Ｃ１Ａ内の１００個の特徴量データに基づいて、以下の分散を求めるための式（４）および前述の式（２）により、３７．０と算出される。
【０１６１】
【数３】
2007018176.tif 000005
【０１６２】
この場合、式（４）のｉは“１”である。なお、式（４）の分母であるＮ（ｉ）−１は、Ｎ（ｉ）であってもよい。
【０１６３】
第２の例におけるクラス内散らばり度ＳＷ（１）は、クラス領域Ｃ２Ａ内の１００個の特徴量データに基づいて、式（４）および式（２）により算出される。なお、クラス領域Ｃ２Ａ（図９（Ａ）参照）内の１００個の特徴量データは、クラス領域Ｃ１Ａ内の１００個の特徴量データと同じであるので、第２の例におけるクラス内散らばり度ＳＷ（１）は、第１の例におけるクラス内散らばり度ＳＷ（１）と同じ値（３７．０）となる。
【０１６４】
また、第１および第２の例におけるクラス内散らばり度ＳＷ（１）の変動率は式（３）より“０”となる。
【０１６５】
第１の例におけるクラス内平均ｍ（２）は、クラス領域Ｃ１Ｂ内の１０個の特徴量データ（図７（Ｂ）参照）に基づいて、式（２）に、ｉ＝２、Ｎ（ｉ）＝１０を代入することで、９７．７と算出される。
【０１６６】
第２の例におけるクラス内平均ｍ（２）は、クラス領域Ｃ２Ｂ内の１１個の特徴量データ（図９（Ｂ）参照）に基づいて、式（２）に、ｉ＝２、Ｎ（ｉ）＝１１を代入することで、１０２．４と算出される。
【０１６７】
また、第１および第２の例におけるｍ（２）の変動率は式（３）より“５”となる。
第１の例におけるクラス内散らばり度ＳＷ（２）は、クラス領域Ｃ１Ｂ内の１０個の特徴量データに基づいて、式（４）に、ｉ＝２、Ｎ（ｉ）＝１０、前述の第１の例におけるｍ（２）を代入することで、２０．９と算出される。
【０１６８】
第２の例におけるクラス内散らばり度ＳＷ（２）は、クラス領域Ｃ２Ｂ内の１１個の特徴量データに基づいて、式（４）に、ｉ＝２、Ｎ（ｉ）＝１１、前述の第２の例におけるｍ（２）を代入することで、２６７．８と算出される。
【０１６９】
また、第１および第２の例におけるクラス内散らばり度ＳＷ（２）の変動率は式（３）より“１１８１”となる。
【０１７０】
第１の例におけるクラス間散らばり度ＳＢは、以下の式（５）および式（６）により、８２１．７と算出される。
【０１７１】
【数４】
2007018176.tif 000006
【０１７２】
【数５】
2007018176.tif 000007
【０１７３】
なお、式（６）のμは、クラス内平均ｍ（１）と、クラス内平均ｍ（２）との平均の値である。
【０１７４】
第２の例におけるクラス間散らばり度ＳＢは、式（５）および式（６）により、９６３．８と算出される。
【０１７５】
また、第１および第２の例におけるクラス間散らばり度ＳＢの変動率は式（３）より“１７”となる。
【０１７６】
第１の例における画像処理アルゴリズムの評価値Ｅは、前述の式（１）より、１４．２と算出される。なお、図６から、第１の例における１１０個の特徴量データは、擬似欠陥クラスおよび真欠陥クラスに、特徴量データの値が８０付近で分離できていることが分かる。したがって、未検出や過検出がない優良な画像処理アルゴリズムが生成されていることが容易に分かる。
【０１７７】
なお、第２の例における画像処理アルゴリズムの評価値Ｅは、前述の式（１）より、３．１６と算出される。画像処理アルゴリズムの評価値Ｅは、前述したように、第２の例では、特徴量データに例外値を含む。
【０１７８】
また、第１および第２の例における評価値Ｅの変動率は式（３）より“−７８”となる。
【０１７９】
したがって、例外値が１つあるだけで、クラス内平均、クラス内散らばり度ＳＷ、クラス間散らばり度ＳＢおよび評価値Ｅに大きく影響を及ぼすことが分かる。
【０１８０】
たとえば、第１および第２の例における真欠陥のクラス内平均ｍ（２）は、９７.７から１０２．４へ５％変動している。また、第１および第２の例における真欠陥のクラス内散らばり度ＳＷは、２０．９から２６７.８へ１１８１％も大きく変動している。また、第１および第２の例における真欠陥のクラス間散らばり度ＳＢは、８２１．７から９６３．８へ１７％変動している。また、第１および第２の例における画像処理アルゴリズムの評価値Ｅは、１４．２から３．１６へ−７８％も大きく変化し、評価が低下している，
このように、第１および第２の例では、どちらも、擬似欠陥クラスおよび真欠陥クラスに分類するのに使用する画像処理アルゴリズムの性能は同等であるにもかかわらず、クラス内平均を算術平均で算出し、クラス内散らばり度ＳＷを分散により算出するといった検討例の計算方法では問題が生じる。
【０１８１】
（第１の実施の形態における計算方法１）
次に、例外値の影響を小さくするための計算方法について説明する。一例として、重み付けを用いて平均値を正しく推定する手法であるＭ−ｅｓｔｉｍａｔｏｒを用いれば、例外値を含む場合でも、クラス内平均、クラス内散らばり度および評価値を正確に算出することができる。Ｍ−ｅｓｔｉｍａｔｏｒを用いたクラス内平均は、以下の式（７）により算出される。
【０１８２】
【数６】
2007018176.tif 000008
【０１８３】
式（７）において、Ｋは、クラス内平均の候補となる任意の変数（以下、クラス内平均候補変数ともいう）である。ｍ（ｉ）はクラスｉのクラス内平均、ａｒｇｍｉｎ｛ｘ｝はｘが最小の値となるようにＫを変化させて求める式である。
【０１８４】
また、式（７）のＮ（ｉ）はクラスｉに所属する欠陥候補部（特徴量データ）の数、ｆ（ｉ，ｊ）はクラスｉに所属する欠陥候補部のｊ番目の特徴量データを示す。
【０１８５】
また、関数ρは重み付け誤差関数と呼ばれており、これまでにいろいろ提案されている。たとえば、Ｇｅｍａｎ−ＭｃＣｌｕｒｅ関数を、以下の式（８）に示す。
【０１８６】
【数７】
2007018176.tif 000009
【０１８７】
ここで、σは、予め定められた定数であり、平均（この場合、クラス内平均ｍ（ｉ））からの距離に応じてどの程度の重み付けをするかを定めるパラメータである。このように、Ｍ−ｅｓｔｉｍａｔｏｒを用いることで、クラス内平均ｍ（ｉ）を算出することができる。
【０１８８】
本発明では、Ｍ−ｅｓｔｉｍａｔｏｒを用いて、クラス内散らばり度ＳＷを、以下の式（９）により算出することを提案する。
【０１８９】
【数８】
2007018176.tif 000010
【０１９０】
式（９）において、ＳＷ（ｉ）は、クラスｉのクラス内散らばり度、ｍ（ｉ）は式（７）にて算出されたクラスｉのクラス内平均である。
【０１９１】
図１１は、特徴量分布の第１および第２の例に基づく、算出部５１４および評価部５１５による、本発明の計算方法１による算出結果を示す図である。なお、第１および第２の例において使用した特徴量データは、前述の第１および第２の例で使用したデータと同じである。なお、以下の計算では、式（８）のσは６とした。
【０１９２】
図１１を参照して、第１の例におけるクラス内平均ｍ（１）は、クラス領域Ｃ１Ａ内の１００個の特徴量データ（図７（Ａ）参照）に基づいて、式（７）により算出された値である。第２の例におけるクラス内平均ｍ（１）は、クラス領域Ｃ２Ａ内の１００個の特徴量データに基づいて、式（７）により算出された値である。
【０１９３】
第１の例におけるクラス内散らばり度ＳＷ（１）は、クラス領域Ｃ１Ａ内の１００個の特徴量データに基づいて、提案した式（９）により算出された値である。第２の例におけるクラス内散らばり度ＳＷ（１）は、クラス領域Ｃ２Ａ内の１００個の特徴量データに基づいて、提案した式（９）により算出された値である。
【０１９４】
第１の例におけるクラス内平均ｍ（２）は、クラス領域Ｃ１Ｂ内の１０個の特徴量データ（図７（Ｂ）参照）に基づいて、式（７）により算出された値である。第２の例におけるクラス内平均ｍ（２）は、クラス領域Ｃ２Ｂ内の１１個の特徴量データ（図９（Ｂ）参照）に基づいて、式（７）により算出された値である。第１の例におけるクラス内散らばり度ＳＷ（２）は、クラス領域Ｃ１Ｂ内の１０個の特徴量データに基づいて、提案した式（９）により算出された値である。第２の例におけるクラス内散らばり度ＳＷ（２）は、クラス領域Ｃ２Ｂ内の１１個の特徴量データに基づいて、提案した式（９）により算出された値である。
【０１９５】
第１および第２の例におけるクラス間散らばり度ＳＢは、式（５）および式（６）により算出された値である。第１および第２の例における画像処理アルゴリズムの評価値Ｅは、式（１）により、算出された値である。
【０１９６】
第１および第２の例における真欠陥のクラス内平均ｍ（２）は、検討例では例外値の影響を受けていたが、上記計算方法１によれば、例外値の影響を受けずに、全く変動していない。したがって、第１および第２の例における真欠陥のクラス間散らばり度ＳＢも例外値の影響を受けずに、全く変動していない。
【０１９７】
第１および第２の例における真欠陥のクラス内散らばり度ＳＷ（２）は、検討例では例外値の影響を大きく受けていたが、上記提案した式（９）による計算によれば、０．２５から０．３２と、２８％の変動にとどまっている。
【０１９８】
したがって、第１および第２の例における画像処理アルゴリズムの評価値Ｅも、検討例では例外値の影響を大きく受けていたが、上記計算方法１によれば、１３２９．９から１１９２．２へ、わずか、−１０％の変動にとどまっている。
【０１９９】
したがって、Ｍ−ｅｓｔｉｍａｔｏｒを使用した上記提案した式（９）による算出方法を用いることで、例外値の影響を小さくすることができ、画像処理アルゴリズムを正しく評価することができるという効果を奏する。
【０２００】
そのため、前述のステップＳ３４０においても、正しく評価された画像処理アルゴリズムの評価値に基づいて、画像処理モジュールの組合せやパラメータ値の変更（調整）を、より正確に行なうことができる。すなわち、より正確に学習することができるという効果を奏する。
【０２０１】
したがって、短時間で、欠陥の識別率をより高くさせるための画像処理アルゴリズムを生成することができる。という効果を奏する。
【０２０２】
以上、特徴量データが１種類の場合の算出方法について説明したが、Ｍ−ｅｓｔｉｍａｔｏｒを用いた本発明は、特徴量データが複数種類の場合であっても、実施可能である。この場合、複数の欠陥候補部の各々の複数種類の特徴量データを特徴ベクトルで表し、スカラー演算からベクトル演算へ拡張すればよい。クラスｉのクラス内平均ｍ(ｉ)は、以下の式（１０）で算出できる。
【０２０３】
【数９】
2007018176.tif 000011
【０２０４】
ここで、||ｘ，ｙ||は、ベクトルｘとベクトルｙとの距離を表す。距離は、たとえば、ユークリッド距離を用いればよい。Ｋはクラス内平均候補変数である。また、クラスｉのクラス内散らばり度ＳＷは、本発明において提案する以下の式（１１）で算出できる。
【０２０５】
【数１０】
2007018176.tif 000012
【０２０６】
ここで、式（１１）のｍ（ｉ）は式（１０）にて算出されたクラスｉのクラス内平均ｍ（ｉ）である。
【０２０７】
（第１の実施の形態における計算方法２）
次に、例外値の影響を小さくするための他の計算方法について説明する。一例として、平均値として中央値を用いる手法であるＬＭｅｄＳ（Least Median of Squares）を用いれば、例外値を含む場合でも、クラス内平均、クラス内散らばり度および評価値を正確に算出することができる。ＬＭｅｄＳを用いたクラス内平均は、以下の式（１２）により算出される。
【０２０８】
【数１１】
2007018176.tif 000013
【０２０９】
式（１２）において、Ｍｅｄ｛ｘ２｝は、クラスｉに所属するｊ（（ｊ＝１，…，Ｎ（ｉ）））番目の欠陥候補部（特徴量データ）の偏差ｘの２乗分布に関する中央値である。Ｋはクラス内平均候補変数である。ｘは、クラスｉに所属する複数の欠陥候補部の各々の特徴量データｆ（ｉ，ｊ）と、クラス内平均候補変数Ｋとの距離（差）である。このように、平均値を推定する際に中央値を用いる手法は、例外値による重みを小さくするようにし、その重みを用いてクラス内散らばり度を算出することになる。
【０２１０】
さらに、本発明では、ＬＭｅｄＳを用いて、クラス内散らばり度ＳＷを、以下の式（１３）により算出することを提案する。
【０２１１】
【数１２】
2007018176.tif 000014
【０２１２】
式（１３）において、ｍ（ｉ）は式（１２）にて算出されたクラスｉのクラス内平均である。
【０２１３】
図１２は、特徴量分布の第１および第２の例に基づく、算出部５１４および評価部５１５による、本発明の計算方法２による算出結果を示す図である。なお、第１および第２の例において使用した特徴量データは、前述の第１および第２の例で使用したデータと同じである。
【０２１４】
図１２を参照して、第１の例におけるクラス内平均ｍ（１）は、クラス領域Ｃ１Ａ内の１００個の特徴量データ（図７（Ａ）参照）に基づいて、式（１２）により算出された値である。第２の例におけるクラス内平均ｍ（１）は、クラス領域Ｃ２Ａ内の１００個の特徴量データに基づいて、式（１２）により算出された値である。
【０２１５】
第１の例におけるクラス内散らばり度ＳＷ（１）は、クラス領域Ｃ１Ａ内の１００個の特徴量データに基づいて、提案した式（１３）により算出された値である。第２の例におけるクラス内散らばり度ＳＷ（１）は、クラス領域Ｃ２Ａ内の１００個の特徴量データに基づいて、提案した式（１３）により算出された値である。第１の例におけるクラス内平均ｍ（２）は、クラス領域Ｃ１Ｂ内の１０個の特徴量データ（図７（Ｂ）参照）に基づいて、式（１２）により算出された値である。第２の例におけるクラス内平均ｍ（２）は、クラス領域Ｃ２Ｂ内の１１個の特徴量データ（図９（Ｂ）参照）に基づいて、式（１２）により算出された値である。第１の例におけるクラス内散らばり度ＳＷ（２）は、クラス領域Ｃ１Ｂ内の１０個の特徴量データに基づいて、提案した式（１３）により算出された値である。第２の例におけるクラス内散らばり度ＳＷ（２）は、クラス領域Ｃ２Ｂ内の１１個の特徴量データに基づいて、提案した式（１３）により算出された値である。
【０２１６】
第１および第２の例におけるクラス間散らばり度ＳＢは、式（５）および式（６）により算出された値である。第１および第２の例における画像処理アルゴリズムの評価値Ｅは、式（１）により、算出された値である。
【０２１７】
第１および第２の例における真欠陥のクラス内平均ｍ（２）は、検討例では例外値の影響を受けていたが、上記計算によれば、例外値の影響を受けずに、全く変動していない。したがって、第１および第２の例における真欠陥のクラス間散らばり度ＳＢも例外値の影響を受けずに、全く変動していない。
【０２１８】
第１および第２の例における真欠陥のクラス内散らばり度ＳＷは、検討例では例外値の影響を大きく受けていたが、上記提案した式（１３）による計算によれば、９．１から９．２と、わずか１％の変動にとどまっている。
【０２１９】
したがって、第１および第２の例における画像処理アルゴリズムの評価値Ｅも、検討例では例外値の影響を大きく受けていたが、上記計算方法２によれば、例外値の影響を受けずに、全く変動していない。
【０２２０】
したがって、ＬＭｅｄＳを使用した上記提案した式（１３）による算出方法を用いることで、例外値の影響を小さくすることができ、画像処理アルゴリズムを正しく評価することができるという効果を奏する。
【０２２１】
そのため、前述のステップＳ３４０においても、正しく評価された画像処理アルゴリズムの評価値に基づいて、画像処理モジュールの組合せやパラメータ値の変更（調整）を、より正確に行なうことができる。すなわち、より正確に学習することができるという効果を奏する。
【０２２２】
したがって、短時間で、欠陥の識別率をより高くさせるための画像処理アルゴリズムを生成することができる。という効果を奏する。
【０２２３】
以上、特徴量データが１種類の場合の算出方法について説明したが、ＬＭｅｄＳを用いた本発明は、特徴量データが複数種類の場合であっても、実施可能である。この場合、複数の欠陥候補部の各々の複数種類の特徴量データを特徴ベクトルで表し、スカラー演算からベクトル演算へ拡張すればよい。クラスｉのクラス内平均ｍ(ｉ)は、以下の式（１４）で算出できる。
【０２２４】
【数１３】
2007018176.tif 000015
【０２２５】
さらに、本発明では、ＬＭｅｄＳを用いて、クラス内散らばり度ＳＷを、以下の式（１５）により算出することを提案する。
【０２２６】
【数１４】
2007018176.tif 000016
【０２２７】
式（１５）において、ｍ（ｉ）は式（１４）にて算出されたクラスｉのクラス内平均である。
【０２２８】
第１の実施の形態では、評価値を、前処理部５１１にフィードバックして、画像処理アルゴリズムを学習させた。本発明では、評価値を、特徴抽出部５１２または識別部５１３にフィードバックして学習させてもよい。特徴抽出部５１２を学習させるとは、たとえば、適切な特徴量を取捨選択することである。識別部５１３を学習させるとは、たとえば、欠陥候補部を、擬似欠陥と、真欠陥に分離するためのクラス分類閾値を学習させることである。
【０２２９】
図８に示した第２の例では、例外値が、各クラス領域内の一番大きな山の曲線から、大きく離れている特徴量データが存在する場合であった。しかし、例外値が、所属するクラス以外のほかのクラス分布内に存在することもある。
【０２３０】
すなわち、本来は擬似欠陥クラスに所属する欠陥候補部にも関わらず、作業者が誤って真欠陥として指定してしまった場合である。あるいは、本来は真欠陥クラスに所属する欠陥候補部にも関わらず、作業者が真欠陥に指定することを見落としている場合である。
【０２３１】
この場合は、擬似欠陥と真欠陥を完全に分離する（つまり、過検出と未検出ともにゼロにする）学習アルゴリズムを生成することができない。このような例外値がある場合でも、本発明では、例外値の影響を及ばないように評価値を算出することができ、学習アルゴリズムを学習することができるという効果を奏する。
【０２３２】
＜第２の実施の形態＞
次に、第１の実施の形態で生成された画像処理アルゴリズムを使用して、パターン認識を行なう処理について説明する。
【０２３３】
図１３は、本実施の形態におけるパターン認識装置５００Ａの内部の構成を示すブロック図である。
【０２３４】
図１３を参照して、パターン認識装置５００Ａは、図１の学習装置５００と比較して、記録媒体５５５の代わりに記録媒体５５５Ａにデータアクセスする点と、記憶部５２０に、プログラム１８０の代わりにプログラム１８０Ａが記録されている点と、記録媒体５５５Ａにプログラム１８０Ａが記録されている点と、記憶部５２０に画像処理アルゴリズム１８４がさらに記録されている点が異なる。それ以外の構成および機能は学習装置５００と同様なので詳細な説明は繰り返さない。
【０２３５】
画像処理アルゴリズム１８４は、第１の実施の形態で生成された画像処理アルゴリズムである。ここで、画像処理アルゴリズムとは、１つ以上の画像処理フィルタにより構成されるものである。パターン認識装置５００Ａには、画像内のパターンを識別させたい処理対象画像が入力される。なお、処理対象画像内に存在する１以上の欠陥に関する情報は未知である。
【０２３６】
パターン認識装置５００Ａは、この各欠陥を個別に検出し、欠陥毎にその所属クラスを推定することができる。もちろん、欠陥が一つもない画像データが入力された場合は、パターン認識装置５００Ａは、検出すべき欠陥が一つもないという推定結果を出力することになる。以上の構成のパターン認識装置５００Ａにより、入力された画像のパターンを認識するパターン認識処理が行なわれる。
【０２３７】
次に、パターン認識処理について説明する。
図１４は、パターン認識処理のフローチャートである。図１４を参照して、ステップＳ４１０では、制御部５１０が、記憶部５２０に記憶されている画像処理アルゴリズム１８４を記憶部５２０から読み出す。その後、ステップＳ４２０に進む。
【０２３８】
ステップＳ４２０では、画像データ入力部６００を用いて検査対象物６５０を撮像することにより処理対象画像を入力する。また、オフライン画像検査を行なう場合には、記憶部５２０に記憶されている処理対象画像を読出すことにより画像を入力する。その後、ステップＳ４３０に進む。
【０２３９】
ステップＳ４３０では、画像処理が行なわれる。画像処理では、前処理部５１１が、ステップＳ４２０で取得された処理対象画像に対し、画像処理アルゴリズム１８４の処理を施した、処理後画像を生成する。その後、ステップＳ４４０に進む。
【０２４０】
ステップＳ４４０では、特徴量算出処理が行なわれる。特徴量算出処理では、特徴抽出部５１２が、処理後画像に含まれる真欠陥または擬似欠陥に対応する欠陥候補部を全て抽出し、全ての欠陥候補部の各々に対応する特徴量データの値を算出する。その後、ステップＳ４５０に進む。
【０２４１】
ステップＳ４５０では、欠陥識別処理が行なわれる。欠陥識別処理では、識別部５１３が、ステップＳ３４０で抽出された全ての欠陥候補部の各々を、真欠陥と、擬似欠陥とに分類する。すなわち、欠陥候補部を２つのクラスに分類する。なお、分類の手法は、前述したパターン認識分類処理と同様なので詳細な説明は繰り返さない。したがって、全ての欠陥候補部の各々を、真欠陥と、擬似欠陥とに分類することで、処理対象画像内のパターンとしての欠陥候補部を識別することになる。その後、ステップＳ４６０に進む。
【０２４２】
ステップＳ４６０では、ステップＳ４５０により分類された各欠陥候補部の分類結果を、表示部５３０に表示する。以上により、このパターン認識処理は終了する。
【０２４３】
以上説明したように、本実施の形態では、パターン認識処理時に、第１の実施の形態で生成された、欠陥の識別率をより高くさせるための画像処理アルゴリズムを使用している。
【０２４４】
したがって、より正確に、処理対象画像内のパターンとしての欠陥候補部を識別することができるという効果を奏する。
【０２４５】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【０２４６】
【図１】本実施の形態における学習装置の内部の構成を示すブロック図である。
【図２】画像データ入力部の内部構成を示すブロック図である。
【図３】本実施の形態における学習装置の機能ブロック図である。
【図４】一例としての学習画像を示す図である。
【図５】画像処理アルゴリズム生成処理のフローチャートである。
【図６】特徴量分布（ヒストグラム）の第１の例を示す図である。
【図７】特徴量分布の第１の例に使用された特徴量データを示す図である。
【図８】特徴量分布（ヒストグラム）の第２の例を示す図である。
【図９】特徴量分布の第２の例に使用された特徴量データを示す図である。
【図１０】特徴量分布の第１および第２の例に基づく、算出部および評価部による、検討例としての算出結果を示す図である。
【図１１】特徴量分布の第１および第２の例に基づく、算出部および評価部による、本発明の計算方法１による算出結果を示す図である。
【図１２】特徴量分布の第１および第２の例に基づく、算出部および評価部による、本発明の計算方法２による算出結果を示す図である。
【図１３】本実施の形態におけるパターン認識装置の内部の構成を示すブロック図である。
【図１４】パターン認識処理のフローチャートである。
【符号の説明】
【０２４７】
１８０，１８０Ａ  プログラム、１８２  学習用画像データベース、１８４  画像処理アルゴリズム、５００  学習装置、５００Ａ  パターン認識装置、５１０  制御部、５２０  記憶部、５３０  表示部、５３２  ＶＤＰ、５５５，５５５Ａ  記録媒体、６００  画像データ入力部。
【図１】
2007018176.tif 000017
【図２】
2007018176.tif 000018
【図３】
2007018176.tif 000019
【図４】
2007018176.tif 000020
【図５】
2007018176.tif 000021
【図６】
2007018176.tif 000022
【図７】
2007018176.tif 000023
【図８】
2007018176.tif 000024
【図９】
2007018176.tif 000025
【図１０】
2007018176.tif 000026
【図１１】
2007018176.tif 000027
【図１２】
2007018176.tif 000028
【図１３】
2007018176.tif 000029
【図１４】
2007018176.tif 000030