(57)【特許請求の範囲】
【請求項１】
判別対象が複数種類の集合のいずれに属するのかを該判別対象を特徴付ける特徴量で構成される特徴情報を入力データとする判別関数を用い、その判別関数の出力値である結果に基づいて判別する判別装置であって、
判別結果が既知の複数の学習用特徴情報と該学習用特徴情報それぞれに対応付けられた判別結果を表す学習用判別結果情報とに基づいて、学習用特徴情報それぞれを特徴情報による空間上の点として表し、仮想的に規定する写像関数により前記空間上の点を写像した際に写像先の空間上において前記点を判別結果別に線形分離する判別面と、当該判別面までの距離が最短の前記点との距離が最大になるように、サポート・ベクター・マシン法を用いて前記判別面を算出して前記判別関数を導出する判別関数算出部と、
既知の判別結果を有する特徴情報であって、前記判別関数に該特徴情報を入力した結果である判別結果情報と該特徴情報の既知の判別結果とが異なる誤判別特徴情報について、前記判別結果情報と前記既知の判別結果とが一致するように、前記誤判別特徴情報が前記判別関数に対して個別に与える影響度合を表した影響係数をそれぞれ調整し、前記判別関数を修正する判別関数修正部と、
判別結果が未知の判別対象を、該判別対象の特徴情報を入力データとして前記修正された前記判別関数を用いて判別する判別部と、
を有することを特徴とする、判別装置。
【請求項２】
前記判別関数は、前記学習用特徴情報それぞれと判別対象の特徴情報とを入力データとするサポート・ベクター・マシン法のカーネル関数値に、それぞれの前記影響係数を掛けて加え合わせた総和であり、
前記判別関数修正部は、該判別関数の判別結果について前記学習用特徴情報のいずれかが誤判別特徴情報となる場合、前記判別結果の判別結果が正解となるように所定の処理で該誤判別特徴情報の影響係数の大きさを調整することにより、前記判別関数を修正することを特徴とする、請求項１に記載の判別装置。
【請求項３】
前記判別関数は、前記学習用特徴情報それぞれと判別対象の特徴情報とを入力データとするサポート・ベクター・マシン法のカーネル関数値に、それぞれの前記影響係数を掛けて加え合わせた総和であり、
前記判別関数修正部は、前記学習用特徴情報の１又は２以上により形成された前記判別関数に、前記判別部が誤判別した誤判別特徴情報を新たに追加し、かつ、当該誤判別特徴情報の影響係数の大きさを調整して、前記判別結果の判別結果が正解となるように所定の処理で前記判別関数を修正することを特徴とする、請求項１又は２に記載の判別装置。
【請求項４】
前記判別関数算出部は、前記複数種類の集合における２つの集合の組み合わせ毎に前記判別面を算出して、当該判別面のそれぞれを判別関数とし、
前記判別部は、前記判別結果が未知の判別対象を、前記判別関数のそれぞれに基づいて前記２つの集合毎に判別した結果、最も多くの前記判別関数により判別された集合に属すると判別することを特徴とする、請求項１〜３のいずれかに記載の判別装置。
【請求項５】
前記判別関数修正部は、少なくとも前記誤判別特徴情報の既知の判別結果と前記判別部による判別結果とが一致するまで、前記判別関数のそれぞれを修正することを特徴とする、請求項４に記載の判別装置。
【請求項６】
前記判別対象は、製品を製造する製造プラントにおいて製造させる前記製品に発生した不良状態であり、
前記特徴情報は、前記不良状態を検査した結果得られる１又は２以上の測定値を含むことを特徴とする、請求項１〜５のいずれかに記載の判別装置。
【請求項７】
判別対象が複数種類の集合のいずれに属するのかを該判別対象を特徴付ける特徴量で構成される特徴情報を入力データとする判別関数を用い、その判別関数の出力値である結果に基づいて判別する判別方法であって、
判別結果が既知の複数の学習用特徴情報と該学習用特徴情報それぞれに対応付けられた判別結果を表す学習用判別結果情報とに基づいて、学習用特徴情報それぞれを特徴情報による空間上の点として表し、仮想的に規定する写像関数により前記空間上の点を写像した際に写像先の空間上において前記点を判別結果別に線形分離する判別面と、当該判別面までの距離が最短の前記点との距離が最大になるように、サポート・ベクター・マシン法を用いて前記判別面を算出して前記判別関数を導出する判別関数算出ステップと、
既知の判別結果を有する特徴情報であって、前記判別関数に該特徴情報を入力した結果である判別結果情報と該特徴情報の既知の判別結果とが異なる誤判別特徴情報について、前記判別結果情報と前記既知の判別結果とが一致するように、前記誤判別特徴情報が前記判別関数に対して個別に与える影響度合を表した影響係数をそれぞれ調整し、前記判別関数を修正する判別関数修正ステップと、
判別結果が未知の判別対象を、該判別対象の特徴情報を入力データとして前記修正された前記判別関数を用いて判別する判別ステップと、
を有することを特徴とする、判別方法。
【請求項８】
前記判別関数は、前記学習用特徴情報それぞれと判別対象の特徴情報とを入力データとするサポート・ベクター・マシン法のカーネル関数値に、それぞれの前記影響係数を掛けて加え合わせた総和であり、
前記判別関数修正ステップでは、該判別関数の判別結果について前記学習用特徴情報のいずれかが誤判別特徴情報となる場合、前記判別結果の判別結果が正解となるように所定の処理で該誤判別特徴情報の影響係数の大きさを調整することにより、前記判別関数を修正することを特徴とする、請求項７に記載の判別方法。
【請求項９】
前記判別関数は、前記学習用特徴情報それぞれと判別対象の特徴情報とを入力データとするサポート・ベクター・マシン法のカーネル関数値に、それぞれの前記影響係数を掛けて加え合わせた総和であり、
前記判別関数修正ステップでは、前記学習用特徴情報の１又は２以上により形成された前記判別関数に、前記判別ステップで誤判別された誤判別特徴情報を新たに追加し、かつ、当該誤判別特徴情報の影響係数の大きさを調整して、前記判別結果の判別結果が正解となるように所定の処理で前記判別関数を修正することを特徴とする、請求項７又は８に記載の判別方法。
【請求項１０】
前記判別関数算出ステップでは、前記複数種類の集合における２つの集合の組み合わせ毎に前記判別面を算出して、当該判別面のそれぞれを判別関数とし、
前記判別ステップでは、前記判別結果が未知の判別対象を、前記判別関数のそれぞれに基づいて前記２つの集合毎に判別した結果、最も多くの前記判別関数により判別された集合に属すると判別することを特徴とする、請求項７〜９のいずれかに記載の判別方法。
【請求項１１】
前記判別関数修正ステップでは、少なくとも前記誤判別特徴情報の既知の判別結果と前記判別ステップにおける判別結果とが一致するまで、前記判別関数のそれぞれを修正することを特徴とする、請求項１０に記載の判別方法。
【請求項１２】
前記判別対象は、製品を製造する製造プラントにおいて製造させる前記製品に発生した不良状態であり、
前記特徴情報は、前記不良状態を検査した結果得られる１又は２以上の測定値を含むことを特徴とする、請求項７〜１１のいずれかに記載の判別方法。
【請求項１３】
コンピュータに、判別対象が複数種類の集合のいずれに属するのかを該判別対象を特徴付ける特徴量で構成される特徴情報を入力データとする判別関数を用い、その判別関数の出力値である結果に基づいて判別する判別手順を実行させるためのプログラムであって、
コンピュータに、
判別結果が既知の複数の学習用特徴情報と該学習用特徴情報それぞれに対応付けられた判別結果を表す学習用判別結果情報とに基づいて、学習用特徴情報それぞれを特徴情報による空間上の点として表し、仮想的に規定する写像関数により前記空間上の点を写像した際に写像先の空間上において前記点を判別結果別に線形分離する判別面と、当該判別面までの距離が最短の前記点との距離が最大になるように、サポート・ベクター・マシン法を用いて前記判別面を算出して前記判別関数を導出する判別関数算出手順と、
既知の判別結果を有する特徴情報であって、前記判別関数に該特徴情報を入力した結果である判別結果情報と該特徴情報の既知の判別結果とが異なる誤判別特徴情報について、前記判別結果情報と前記既知の判別結果とが一致するように、前記誤判別特徴情報が前記判別関数に対して個別に与える影響度合を表した影響係数をそれぞれ調整し、前記判別関数を修正する判別関数修正手順と、
判別結果が未知の判別対象を、該判別対象の特徴情報を入力データとして前記修正された前記判別関数を用いて判別する判別手順と、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、製造ライン等において得られる複数のデータについて良否や適否等を判定するための判別装置、判別方法及びプログラムに関する。
【背景技術】
【０００２】
近年、例えば製造プラントにおいて製造ラインのオートメーション化が進み、製造プラントで製造される製品の品質管理を行うために様々な検査が行われている。検査技術の進歩により、製品の欠陥などの不良状態を細部にわたり測定することが可能になり、その測定データに基づいて、検出した不良がどのような種類の不良であるのかを判別することが重要である。なお、当該想定データは、複数の測定項目のデータを要素として有することも多い。
【０００３】
例えば、鋼板の製造ラインでは、製造ラインに配置されたカメラによる鋼板の撮像画像に、所定の画像処理を行うことにより鋼板表面の疵等の欠陥を検出する検査装置が使用される。この検査装置では、画像を２値化し、その画像中において欠陥を表すと推定される領域（ｂｌｏｂ、ＯＮ（＝１）となった領域）をラベリングにより疵候補データ（測定データの一例）として抽出する。そして、検査装置では、例えば、高さ・幅・面積・輝度分布などのその領域の特徴情報（特徴量）から、その領域が有害な欠陥なのか無害なノイズなのか、欠陥である場合には更に、その欠陥の種類（疵種）や有害度合（深刻度合い、グレード）といった判別が行われる。例えば、許容できない欠陥が発生した場合や製造ライン自体が抱える不良により発生した欠陥である場合など、早期な対処が必要となる場合も多く、正しい判別を行うことは、製造ラインの生産性及び製品品質に大きな影響を与えうる。
【０００４】
このような判別処理を実行するには、その判別規則を定める必要がある。しかし、一般に実用に耐えうる性能の判別処理を実現するには、膨大な数の複雑な判別規則群を構築する必要がある。判別規則群をユーザが自ら構築することは、構築時のユーザへの負荷も膨大になるばかりか、メンテナンス性も非常に悪くなるので現実的ではない。
【０００５】
そこで例えば、判別を行う装置で使用する判別規則を導き出すために、特徴情報とその特徴情報の判別作業者による判別結果（正解情報）とを含む学習データを必要数用意し、その学習データに基づいて自動的に判別規則を構築する学習機能が開発されている。
【０００６】
このような学習機能として、例えば、プロダクションシステム、ニューラルネット、決定木などが研究されており、例えば下記非特許文献１に示すように、これらの学習機能が実問題に適用されている。
【０００７】
【特許文献１】特開２００３−３４４３００号公報
【非特許文献１】“パターン認識”,  尾上守夫(訳),  2001
【非特許文献２】“Statistical  Learning  Theory”,  V.Vapnik,  1998
【発明の開示】
【発明が解決しようとする課題】
【０００８】
一方、学習機能として近年注目されている手法の１つにＳＶＭ（サポート・ベクター・マシン法：Support  Vector  Machine）が挙げられる（上記非特許文献２参照。）。このＳＶＭは、例えば、以下のような特徴を有する。
（１）正解と、学習データに忠実に対応し過ぎてその他のデータに対するエラーが増加する減少である過学習とのバランスをとるように設定された評価関数を用いた最適化計算により、各疵データ点を元とし、特徴情報の各特徴量を座標軸として張られる空間内（特徴量空間）において、有害欠陥と無害なノイズとの判別境界を計算により導出する。
（２）用意した学習データは、仮想的に規定される写像関数により、特徴量空間から高次元の別の空間に写像され、その高次元空間内での超平面によって判別される（もとの空間では曲面により判別される。）。
（３）最適化計算の結果として得られる判別境界（超平面）は、用意した学習データの幾つかの線形結合による判別関数として表現される。
【０００９】
このＳＶＭによる学習機能は、上記の特徴などにより複雑な判別規則を学習できると同時に、過学習に陥り難いという優れた特性を有する。
【００１０】
しかしながら、ＳＶＭによる判別規則の算出過程は、ユーザにとってブラックボックス（black  box）的な側面が多く、所望の判別性能を発揮するように柔軟に判別規則を調整するのが難しいことが多い。例えば、ＳＶＭによる計算に必要な判別関数及び当該判別関数に含まれるパラメータなどを設定して最適化計算を実行すれば、ある程度調整された判別規則を算出できる。しかしながら、例えば学習データの極一部に誤りや紛らわしいデータが含まれているようなときには、ユーザの期待した判別規則を算出できるとは限らないことがある。つまり、例えば、誤った判定結果を導き出すことを許容できない特徴情報に対して、誤った判別結果を導き出してしまうような判別規則を算出してしまう場合などがある。
【００１１】
ＳＶＭによって算出された判別規則を基にして、ユーザーが所望の判別規則を算出するために、パラメータなどを調整することが可能なときがある。例えば評価関数と写像関数のパラメータをユーザが後で調整することにより、ユーザの要望をある程度反映させることができる。しかし、これらのパラメータ調整による判別規則の調整は、間接的な調整であり、十分な調整が行えない場合が少なくない。つまり、これらのパラメータは、最適化計算のパラメータであり、判別規則による判別結果を直接的に調整しうるものではない。
【００１２】
このような、パラメータの調整によって判別規則を十分に調整することができないことがある理由として、例えば特徴情報の不足・正解の矛盾など、学習データの不備が原因であることも考えられる。しかし、学習データを修正して再学習を行うには、莫大なメンテナンスコストや時間が必要となる。また、そもそも正解の精度において、完璧な学習データを準備すること自体が難しいことが多い。よって、実問題の適用（実用）においては、莫大なメンテナンスコストや時間をかけずに、実際の学習データを用いて判別規則の最適性をある程度犠牲にしても、所望の判別結果が得られることが望まれる場合がある。
【００１３】
上記特許文献１には、所望の判別結果が得られるように判別規則に対応した上記高次元空間内での超平面を、誤って判定された特徴情報を正しく判別できるように平行移動することにより、判別規則を調整する技術が開示されている。しかしながら、このように超平面を平行移動させることは、超平面近傍（境界付近）の特徴情報に対して、大きな影響を与える場合がある。特に、ＳＶＭでは超平面近傍の特徴情報が判別規則を決定しているので、かえって、これら超平面近傍の特徴情報を誤って判定してしまう可能性がある。
【００１４】
本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、疵データのような複数の特徴量や要素で構成されるデータについてその適否や良否を判定するために、当該データの学習データを用いてＳＶＭにより判別規則を導出するのに際して、誤判定したデータ点等の所定の判定対象に対して所望の判別結果が得られるように、複数のデータ内のその他のデータ点の判別結果に対する影響を抑えつつ、従来よりも柔軟に判別規則を調整することが可能な判別装置、判別方法及びプログラムを提供することにある。
【課題を解決するための手段】
【００１５】
上記課題を解決するために、本発明のある観点によれば、判別対象が複数種類の集合のいずれに属するのかを該判別対象を特徴付ける特徴量で構成される特徴情報を入力データとする判別関数を用い、その判別関数の出力値である結果に基づいて判別する判別装置であって、判別結果が既知の複数の学習用特徴情報と該学習用特徴情報それぞれに対応付けられた判別結果を表す学習用判別結果情報とに基づいて、学習用特徴情報それぞれを特徴情報による空間上の点として表し、仮想的に規定する写像関数により上記空間上の点を写像した際に写像先の空間上において上記点を判別結果別に線形分離する判別面と、当該判別面までの距離が最短の上記点との距離が最大になるように、サポート・ベクター・マシン法を用いて上記判別面を算出して上記判別関数を導出する判別関数算出部と、既知の判別結果を有する特徴情報であって、上記判別関数に該特徴情報を入力した結果である判別結果情報と該特徴情報の既知の判別結果とが異なる誤判別特徴情報について、上記判別結果情報と上記既知の判別結果とが一致するように、上記誤判別特徴情報が上記判別関数に対して個別に与える影響度合を表した影響係数をそれぞれ調整し、上記判別関数を修正する判別関数修正部と、判別結果が未知の判別対象を、該判別対象の特徴情報を入力データとして上記修正された上記判別関数を用いて判別する判別部と、を有することを特徴とする、判別装置が提供される。
【００１６】
この構成によれば、判別関数算出部により、学習用特徴情報及び学習用判別結果情報とに基づいて、サポート・ベクター・マシン法による学習機能を利用した判別関数を導出することができる。そして、判別関数修正部により、判別結果が誤っている誤判別特徴情報の影響係数を調整することができる。つまり、判別関数修正部は、判別関数のうち、誤判別特徴情報が関与する項を直接調整することができる。よって、判別関数を、誤判別特徴情報に対しても正しい判別結果を導き出せるように修正することができる。
【００１７】
また、上記判別関数は、上記学習用特徴情報それぞれと判別対象の特徴情報とを入力データとするサポート・ベクター・マシン法のカーネル関数値に、それぞれの上記影響係数を掛けて加え合わせた総和であり、上記判別関数修正部は、該判別関数の判別結果について上記学習用特徴情報のいずれかが誤判別特徴情報となる場合、上記判別結果の判別結果が正解となるように所定の処理で該誤判別特徴情報の影響係数の大きさを調整することにより、上記判別関数を修正してもよい。
この構成によれば、学習用特徴情報に対しても正しい判別結果を導き出せるように、判別関数を修正することができる。
【００１８】
また、上記判別関数は、上記学習用特徴情報それぞれと判別対象の特徴情報とを入力データとするサポート・ベクター・マシン法のカーネル関数値に、それぞれの上記影響係数を掛けて加え合わせた総和であり、上記判別関数修正部は、上記学習用特徴情報の１又は２以上により形成された上記判別関数に、上記判別部が誤判別した誤判別特徴情報を新たに追加し、かつ、当該誤判別特徴情報の影響係数の大きさを調整して、上記判別結果の判別結果が正解となるように所定の処理で上記判別関数を修正してもよい。
この構成によれば、学習用特徴情報ではない誤判別特徴情報に対しても正しい判別結果を導き出せるように、判別関数を修正することができる。
【００１９】
また、上記判別関数算出部は、上記複数種類の集合における２つの集合の組み合わせ毎に上記判別面を算出して、当該判別面のそれぞれを判別関数とし、上記判別部は、上記判別結果が未知の判別対象を、上記判別関数のそれぞれに基づいて上記２つの集合毎に判別した結果、最も多くの上記判別関数により判別された集合に属すると判別してもよい。
この構成によれば、複数種類の集合から判別する場合には、判別関数算出部により、その複数種類の集合中の２つの集合の組み合わせ毎に判別関数を算出することができる。そして、判別部により、判別結果が未知の判別対象は、各判別関数を使用して判別した結果が最も多く示す集合に属すると判別することができる。つまり、例えば集合がＮ個の場合、判別関数算出部は、ＮＣ２個の判別関数を算出することができる。そして、判別部は、ＮＣ２個の判別関数を使用して、ＮＣ２個の判別結果を算出し、その判別結果の個数が最も多い集合に、判別対象が属すると判別する。なお、判別対象が１の集合に属すると判別される場合、その１の集合は、最大でＮ−１個の判別関数の判別結果により判別されうる。
【００２０】
また、上記判別関数修正部は、少なくとも上記誤判別特徴情報の既知の判別結果と上記判別部による判別結果とが一致するまで、上記判別関数のそれぞれを修正してもよい。
この構成によれば、判別関数修正部により、判別関数のそれぞれを修正することができる。そして、この修正は、既知の判別結果と判別部による判別結果とが一致するまで行われる。つまり、上述のように判別部は、最も多くの判別関数により判別された集合に、判別対象を判別する。そこで、判別関数修正部は、少なくとも既知の判別結果が表した集合が最も多くの判別関数により判別されるように、判別関数のそれぞれを修正する。つまり、例えば、既知の判別結果が表した集合を、判別結果とする判別関数の個数が、最大となるだけの個数の判別関数を、少なくとも修正することができる。
【００２１】
また、上記判別対象は、製品を製造する製造プラントにおいて製造させる上記製品に発生した不良状態であり、上記特徴情報は、上記不良状態を検査した結果得られる１又は２以上の測定値を含んでもよい。
【００２２】
また、上記課題を解決するために、本発明の別の観点によれば、判別対象が複数種類の集合のいずれに属するのかを該判別対象を特徴付ける特徴量で構成される特徴情報を入力データとする判別関数を用い、その判別関数の出力値である結果に基づいて判別する判別方法であって、判別結果が既知の複数の学習用特徴情報と該学習用特徴情報それぞれに対応付けられた判別結果を表す学習用判別結果情報とに基づいて、学習用特徴情報それぞれを特徴情報による空間上の点として表し、仮想的に規定する写像関数により上記空間上の点を写像した際に写像先の空間上において上記点を判別結果別に線形分離する判別面と、当該判別面までの距離が最短の上記点との距離が最大になるように、サポート・ベクター・マシン法を用いて上記判別面を算出して上記判別関数を導出する判別関数算出ステップと、既知の判別結果を有する特徴情報であって、上記判別関数に該特徴情報を入力した結果である判別結果情報と該特徴情報の既知の判別結果とが異なる誤判別特徴情報について、上記判別結果情報と上記既知の判別結果とが一致するように、上記誤判別特徴情報が上記判別関数に対して個別に与える影響度合を表した影響係数をそれぞれ調整し、上記判別関数を修正する判別関数修正ステップと、判別結果が未知の判別対象を、該判別対象の特徴情報を入力データとして上記修正された上記判別関数を用いて判別する判別ステップと、を有することを特徴とする、判別方法が提供される。
【００２３】
また、上記判別関数は、上記学習用特徴情報それぞれと判別対象の特徴情報とを入力データとするサポート・ベクター・マシン法のカーネル関数値に、それぞれの上記影響係数を掛けて加え合わせた総和であり、上記判別関数修正ステップでは、該判別関数の判別結果について上記学習用特徴情報のいずれかが誤判別特徴情報となる場合、上記判別結果の判別結果が正解となるように所定の処理で該誤判別特徴情報の影響係数の大きさを調整してもよい。
【００２４】
また、上記判別関数は、上記学習用特徴情報それぞれと判別対象の特徴情報とを入力データとするサポート・ベクター・マシン法のカーネル関数値に、それぞれの上記影響係数を掛けて加え合わせた総和であり、上記判別関数修正ステップでは、上記学習用特徴情報の１又は２以上により形成された上記判別関数に、上記判別ステップで誤判別された誤判別特徴情報を新たに追加し、かつ、当該誤判別特徴情報の影響係数の大きさを調整して、上記判別結果の判別結果が正解となるように所定の処理で上記判別関数を修正してもよい。
【００２５】
また、上記判別関数算出ステップでは、上記複数種類の集合における２つの集合の組み合わせ毎に上記判別面を算出して、当該判別面のそれぞれを判別関数とし、上記判別ステップでは、上記判別結果が未知の判別対象を、上記判別関数のそれぞれに基づいて上記２つの集合毎に判別した結果、最も多くの上記判別関数により判別された集合に属すると判別してもよい。
【００２６】
また、上記判別関数修正ステップでは、少なくとも上記誤判別特徴情報の既知の判別結果と上記判別ステップにおける判別結果とが一致するまで、上記判別関数のそれぞれを修正してもよい。
【００２７】
また、上記判別対象は、製品を製造する製造プラントにおいて製造させる上記製品に発生した不良状態であり、上記特徴情報は、上記不良状態を検査した結果得られる１又は２以上の測定値を含んでもよい。
【００２８】
また、上記課題を解決するために、本発明の別の観点によれば、コンピュータに、判別対象が複数種類の集合のいずれに属するのかを該判別対象を特徴付ける特徴量で構成される特徴情報を入力データとする判別関数を用い、その判別関数の出力値である結果に基づいて判別する判別手順を実行させるためのプログラムであって、コンピュータに、判別結果が既知の複数の学習用特徴情報と該学習用特徴情報それぞれに対応付けられた判別結果を表す学習用判別結果情報とに基づいて、学習用特徴情報それぞれを特徴情報による空間上の点として表し、仮想的に規定する写像関数により上記空間上の点を写像した際に写像先の空間上において上記点を判別結果別に線形分離する判別面と、当該判別面までの距離が最短の上記点との距離が最大になるように、サポート・ベクター・マシン法を用いて上記判別面を算出して上記判別関数を導出する判別関数算出手順と、既知の判別結果を有する特徴情報であって、上記判別関数に該特徴情報を入力した結果である判別結果情報と該特徴情報の既知の判別結果とが異なる誤判別特徴情報について、上記判別結果情報と上記既知の判別結果とが一致するように、上記誤判別特徴情報が上記判別関数に対して個別に与える影響度合を表した影響係数をそれぞれ調整し、上記判別関数を修正する判別関数修正手順と、判別結果が未知の判別対象を、該判別対象の特徴情報を入力データとして上記修正された上記判別関数を用いて判別する判別手順と、を実行させるためのプログラムが提供される。
【発明の効果】
【００２９】
以上説明したように本発明によれば、疵データのような複数の特徴量や要素で構成されるデータについてその適否や良否を判定するために、当該データの学習データを用いてＳＶＭにより判別規則を導出するのに際して、誤判定したデータ点等の所定の判定対象に対して所望の判別結果が得られるように、複数のデータ内のその他のデータ点の判別結果に対する影響を抑えつつ、従来よりも柔軟に判別規則を調整することができる。
【発明を実施するための最良の形態】
【００３０】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００３１】
本発明の各実施形態に係る判別装置は、判別対象のデータ点が複数種類の集合（クラスともいう。）のいずれに属するのかを、その判別対象が有する特徴情報に基づいて判別することができる。なお、ここで「特徴情報」とは、判別対象を特徴付ける様々な情報であって、複数の種類の特徴量により構成される。
【００３２】
また、判別装置は、特徴情報が得られる様々な種類のデータに対して判別対象を判別するような、様々な実施の形態に構成することができる。以下では説明の便宜上、判別装置が表面疵検査装置に適用された場合について説明する。そして、例えば、判別装置の判別対象は、表面疵検査装置が検出した疵の候補データ（疵候補とも記す）であり、疵候補が属するかどうかを判別する複数の集合は、その疵の種類（疵種とも記す）であるとして説明する。
【００３３】
しかしながら、表面疵検査装置は、判別装置が適用された装置の一例であって、判別装置の適用先を限定するものではない。判別装置は、例えば、製品を製造する製造プラントの製造装置の故障状態を判別する装置、製造された製品の分類をする装置、製造された製品に発生した不良状態を判別する装置などにも適用することができる。つまり、判別装置は、所定の測定装置により各種の状態を測定することが可能で、その測定により得られた測定データ（特徴情報）に応じて複数種類に分類される様々な判別対象を判別する装置に適用することができる。この判別装置は、特に製品を製造する製造プラントで製造された製品の不良状態を判別する装置に適用される場合、非常に効果的である。更に、判別装置は、測定数値に対するものだけでなく、例えば、ＯＣＲ（Optical  Character  Reader）などの文字認識、音声認識、指紋・網膜・顔等の識別など、パターン認識を行う様々な個所に適用することができる。この判別装置を説明するために、まず、以下では判別装置が適用された表面疵検査装置の概要について説明する。
【００３４】
＜表面疵検査装置＞
図１は、本発明の各実施形態に係る判別装置が適用された一例である鋼板の表面疵検査装置の構成の概要を説明するための説明図である。図２は、その表面疵検査装置の動作の概要を説明するための説明図である。
【００３５】
図１に示すように、表面疵検査装置１は、光源装置１１と、撮像装置１２と、画像処理装置１３と、判別装置１４と、判別結果記憶装置１５と、表示装置１６と、制御装置１７とを有する。
【００３６】
表面疵検査装置１は、鋼板製造プラント（製造プラントの一例）内に配置され、このプラントで製造される鋼板Ｆの表面に、例えば凹凸欠陥・スクラッチ・デントなどの疵が形成されていないか否かを検査する。そのために表面疵検査装置１は、図１に示すように、ロールＲ上を通板される鋼板Ｆに光源装置１１から光を照射する。この光は、例えば平行光であってもよい。そして、表面疵検査装置１は、鋼板Ｆで反射した反射光を撮像装置１２により撮像する。撮像画像には、光が照射された鋼板Ｆの表面の幅方向にわたる領域Ｔにある疵からの反射光が含まれる。この反射光は、撮像画像中の輝度（強度、階調）の濃淡として撮像される。
【００３７】
画像処理装置１３は、撮像装置１２が撮像した撮像画像を画像処理して解析し、撮像画像内の輝度の濃淡の分布から疵候補の領域（つまり、疵を表すと推定される領域）をラベリングにより抽出する。この際、各疵候補には、ラベル（識別情報）が付される。そして、画像処理装置１３は、画像内でこの疵候補を表した領域について、その形状や輝度等の特徴からなる特徴情報を算出する。この特徴情報には、１又は２以上の種類の特徴を表す値が含まれ、この各値を「特徴量」ともいう。この特徴量としては、例えば、その疵の高さ・深さ・幅・長さ・面積・輝度分布・色分布・形成位置などが挙げられる。そして、画像処理装置１３は、この疵候補のラベルとその特徴情報とを対応付けた疵候補データを判別装置１４に出力する。
【００３８】
判別装置１４は、本実施形態に係る判別装置の一例であって、画像処理装置１３から疵候補のラベルと特徴情報とからなる疵候補データを取得する。そして、判別装置１４は、以下で説明する判別ロジックに従って、疵候補の疵種を判別する。判別装置１４は、判別の結果として判別結果情報を算出する。この「判別結果情報」は、疵候補の判別結果を表す情報であり、具体的な例としては、正又は負の値を取り、その符号により判別結果を示す（例えば正であれば有害疵であり負であれば無害疵を示すなど。）。なお、判別結果情報には、判別装置１４が算出した判別結果情報だけでなく、判別結果が既知の特徴情報に対するその判別結果を表した判別結果情報も含まれる。
【００３９】
判別装置１４が判別する疵種としては、例えば、擦り疵・欠き疵等の有害な疵種（製品品質に対して与える影響が大きく許容できない疵）、及びそれらの有害度合（深刻度合・グレードなど）、並びに無害な疵（許容しうる疵や単なるノイズなど）の判別を行うが、本実施形態において疵種とは、これらの疵の種類及びその程度の区分を総称して疵種と記す。なお、説明の便宜上、以下では、本発明の第１実施形態に係る判別装置として、特徴情報に基づいて、２種類の疵種のいずれに属する疵であるのかを判別する判別装置について説明する。そして引き続き、本発明の第２実施形態に係る判別装置として、特徴情報に基づいて、２以上の複数種類の疵種のいずれに属する疵であるのかを判別する判別装置について説明する。
【００４０】
そして、判別装置１４は、入力値である疵のラベル・特徴情報と、判別結果である判別結果情報とを、判別結果記憶装置１５及び表示装置１６に出力する。判別結果記憶装置１５には、ラベル・特徴情報・判別結果情報が相互に紐付けられて記録される。表示装置１６は、ラベル・特徴情報・判別結果情報を表示して、例えば、疵が検出されたこと・疵が有害であるのか無害であるのか・有害である場合どの疵種に属する疵であるのか・その有害度合などといった情報をユーザに通知する。なお、光源装置１１・撮像装置１２・画像処理装置１３・判別装置１４・判別結果記憶装置１５・表示装置１６は、制御装置１７により制御され、上記それぞれの動作を行う。
【００４１】
この表面疵検査装置１の動作の概要について、図２を参照しつつ説明する。
まず、ステップＳ０１が処理され、光源装置１１から光が照射され、撮像装置１２が鋼板Ｆの照射部を撮像して、輝度分布（又は色分布）を有する撮像画像を出力する。次に、ステップＳ０３に進む。
【００４２】
ステップＳ０３では、画像処理装置１３が、当該撮像画像内の輝度分布から疵部の可能性がある領域を疵候補を抽出する。そして、ステップＳ０５に進み、このステップＳ０５では、画像処理装置１３が、疵候補を表した画像内の領域について、その疵領域の高さ・深さ・幅・長さ・面積・輝度分布・色分布・形成位置などの疵の特徴情報を算出し、ステップＳ０７に進む。
【００４３】
ステップＳ０７では、判別装置１４が、特徴情報から疵種を判別して、判別結果情報を算出する。そして、ステップＳ０９に進み、表示装置１６がラベル・特徴情報・判別結果情報などを表示すると共に、判別結果情報は、判別結果記憶装置１５に記憶される。なお、表示装置１６は、例えば判別結果情報に含まれる判別結果（つまり符合による判別結果）を表示させてもよい。そして更にステップＳ０１１に進む。
【００４４】
そして、ステップＳ１１では、制御装置１７が製造ラインが停止したか否かを判断する。製造ラインが停止した場合、手動又は製造ラインを制御するプロセスコンピュータからの指令等により表面疵検査装置１は動作を停止する。一方、製造ラインが停止していない場合、表面疵検査装置１は上記ステップＳ０１〜ステップＳ０９を再度繰り返し処理する。
【００４５】
以上、本発明の各実施形態に係る判別装置の適用例である表面疵検査装置１について説明した。表面疵検査装置１は、判別装置１４を有することにより、検出した疵候補の疵種を判別することが可能である。次に、以下ではこの判別装置１４の各実施形態について説明する。
【００４６】
＜第１実施形態に係る判別装置＞
図３は、本発明の第１実施形態に係る判別装置の構成について説明するための説明図である。
【００４７】
図３に示す本発明の第１実施形態に係る判別装置１００は、疵候補（判別対象）が、二種類の疵種（集合）のいずれに属するのかを、その疵候補の特徴情報に基づいて判別する。なお、本実施形態に係る判別装置１００は、図１に示す表面疵検査装置１の判別装置１４に相当する。また、上述のように、特徴情報には、例えば、その疵の高さ・深さ・幅・長さ・面積・輝度分布・形成位置などの特徴量が含まれる。この疵候補のデータ点は、各特徴量を座標軸として張られる多次元空間において、特徴情報の各特徴量の値を成分とするベクトルや、各特徴量の値を座標とする空間上の点として表現することができる。この多次元空間を「特徴量空間（特徴情報空間）」ともいう。鋼板の疵検査における当該多次元空間の次元は、１００次元以上に及ぶことも珍しくはない。
【００４８】
なお、説明の便宜上、判別装置１００が判別する二種類の疵種として、「有害な疵の集合」と「無害な疵の集合」を例に挙げて説明する。つまり、本実施形態に係る判別装置１００では、疵候補が有害な疵の集合及び無害な疵の集合のどちらに属するのかが判別される。
【００４９】
図３に示すように、判別装置１００は、判別関数作成部１１０と、判別関数修正部１２０と、判別部１３０とを有する。
【００５０】
（判別関数作成部１１０）
判別関数作成部１１０は、疵候補の判別に使用する判別関数を作成する。判別関数とは、疵候補の特徴情報を引数（入力値、入力データ）とし判別結果情報を返す（算出する）関数であり、識別関数とも言われる関数である。図３に示すように、この判別関数作成部１１０は、この判別関数を作成するために、学習データ記憶部１１１と、判別関数算出部１１２とを有する。
【００５１】
学習データ記憶部１１１には、ユーザによって予め入力された複数の学習データが記録されている。
「学習データ」とは、学習機能に学習させて判別関数を作成させるための正解データである。学習データは、特徴情報と、その特徴情報の正しい判別結果情報とを含む。この学習データに含まれる疵の特徴情報及び判別結果情報を、判別対象である他の疵候補の特徴情報及びその判別結果情報と区別するために、ここでは「学習用特徴情報」及び「学習用判別結果情報」ともいう。そして、学習データに含まれる学習用特徴情報と学習用判別結果情報とは相互に紐付けられている。つまり、学習用特徴情報と学習用判別結果情報とは一対一に対応付けられている。
【００５２】
通常この学習データは、鋼板の製造ライン等において、鋼板の検査作業者が実際に検出した多数の疵について、各疵の特徴情報及び当該疵の属する疵種を判定した結果（正解）に基づいて作成されることが多い。このように、学習用特徴情報としては、過去に行われた実験や実際の検査などにより検出された疵候補の特徴情報、人為的に決定された疵候補の特徴情報など、判別結果情報が既知の特徴情報を使用することができる。なお、学習用特徴情報及び学習用判別結果情報は、検査作業者により判別結果情報が先に決定され、その判別結果情報（疵種）に含まれる特徴情報が作成されることにより、作成されてもよい。
【００５３】
以下では、学習データｉの学習用特徴情報を、特徴領空間（多次元空間）内で定義されたベクトルであるｘｉで表し、そのベクトルｘｉの学習用判別結果情報を、スカラー値であるｙｉで表す。そして、判別関数に入力する変数である特徴情報を、ベクトルｘで表し、その結果算出される判別結果情報をスカラーｙで表す。なお、ベクトルｘｉ、ｘの各要素が、それぞれ特徴量を表す。なお、学習用特徴情報ｘｉ学習用判別結果情報ｙｉに付している疵を識別するためのiは、１〜ｎの正の整数であり、ｎは、学習データの個数を表す。また、有害な疵の集合及び無害な疵の集合を、それぞれクラスＸ１及びクラスＸ２で表す。
【００５４】
判別関数算出部１１２は、学習データ記憶部１１１から複数の学習データを取得する。そして、その学習データそれぞれに含まれる学習用特徴情報ｘｉと学習用識別情報ｙｉとに基づいて、判別関数を算出する。判別関数算出部１１２は、ＳＶＭ（サポート・ベクター・マシン法：Support  Vector  Machine）による学習機能を有し、このＳＶＭにより、判別関数を算出する。なお、ここで言うＳＶＭは、例えば線形ＳＶＭ・非線形ＳＶＭなどあらゆるＳＶＭであってもよい。
【００５５】
このＳＶＭによる判別関数の算出方法を簡単に説明すると以下の通りである。
まず、判別関数算出部１１２は、各学習データｉの学習用特徴情報ｘｉを、特徴量空間上の点（ベクトルｘｉ）として表す。この各学習データを特徴量空間上の点として表した例を、図４に示す。○（白抜きの丸）、□（白抜きの四角）、●（黒塗りの丸）、■（黒塗りの四角）などが、それぞれ学習データの点を表す。また、図４には、説明の便宜上、特徴量空間として、２次元の空間を示し、特徴情報を構成する２つの元として第１特徴量と第２特徴量とを示す。なお、実際の特徴量空間は、特徴情報を構成する特徴量の数だけ次元を有することになる。
【００５６】
そして次に、判別関数算出部１１２は、仮想的に規定する写像関数φにより点を写像した際に、写像先の空間（以下「写像空間」ともいう。）上において各点を判別結果別に線形分離する判別面（超平面）であって（第１の条件）、その判別面までの距離が最短の点との距離が最大になる判別面（第２の条件）を算出する。
【００５７】
この判別面は、写像元の特徴量空間に再度写像（すなわち逆写像）されると曲面で表される。なお、図４では、特徴量空間を２次元で表しているため、曲面は曲線（判別境界Ｂ１２）で表される。この写像空間における判別面、特徴量空間における曲面又は曲線をここでは総称して「判別境界Ｂ１２」とも言う。この判別境界Ｂ１２は、クラスＸ１（有害な疵の集合）とクラスＸ２（無害な疵の集合）とを分離する境界線（３次元以上では境界面）を表す。図４には、クラスＸ１に属する学習データの点（ベクトルｘｉ）を○及び●（丸）で表し、クラスＸ２に属する学習データの点（ベクトルｘｉ）を、□及び■（四角）で表した。
【００５８】
そして、判別関数算出部１１２は、判別面を表す判別関数ｇ（ｘ）を学習データを用いて導出して設定する。この判別関数は、下記の式の形式で表されるとする。この式の右辺の各係数を多数の学習データｘｉを用いて以下で説明する処理により決定する。そして、決定された判別関数は、その後、疵候補の特徴情報を入力データとして、その出力値を判別結果として出力するのに用いられる。
【００５９】
【数１】
0005298552.tif 000002
【００６０】
上記判別関数ｇ（ｘ）に、判別を行いたい判別対象（疵）の特徴情報（ベクトルｘ）を代入すれば、判別関数ｇ（ｘ）は、判別結果情報ｙを出力する。この判別結果情報ｙは、例えば、判別対象がクラスＸ１に判別される場合、正の値になり、判別対象がクラスＸ２に判別される場合、負の値となる。つまり、判別関数ｇ（ｘ）は、算出値の符合により二種類の集合を判別することができる関数である。
【００６１】
［ＳＶＭ（Support  Vector  Machine）の説明］
まず具体的に、判別関数算出部１１２による判別関数ｇ（ｘ）の算出過程、ひいてはＳＶＭについて説明すると以下の通りである。なお、ここでは、判別結果情報が判っていない判別対象を「未知判別対象」と呼び、その特徴情報を「未知特徴情報」と呼ぶ。また、学習用判別結果情報を含む、既知の判別結果情報のことを「教師判別結果情報（教師データ）」ともいう。
【００６２】
ＳＶＭは、下記式（１）の形で表される判別関数（識別関数）を用いる。この判別関数は、判別関数算出部１１２により複数の学習データを用いて導出される。
【００６３】
【数２】
0005298552.tif 000003
【００６４】
ここで、ベクトルｗは、学習データを用いて決定されるべき係数ベクトルを表し、その次元はｎである。また、ベクトルｘは、入力ベクトル（つまり判別対象の特徴情報ｘ）を表し、スカラーｂは、学習データを用いて決定されるべきスカラー定数を表す。
【００６５】
（Ｉ）第１の条件
上述のように、ベクトルｘを代入した結果ｇ（ｘ）より算出される判別結果情報（スカラーｙ）が、正のときには「ベクトルｘはクラスＸ１である」と判別し、負のときには「ベクトルｘはクラスＸ２である」と判別する。同様に、学習データiのベクトルｘｉに対するスカラーｙｉも、正であればクラスＸ１を表し、負であればクラスＸ２を表す。このスカラーｙｉを定式化すると、下記式（２）となる。
【００６６】
【数３】
0005298552.tif 000004
【００６７】
このときＳＶＭが学習すべき制約条件は、ｉ＝１，２，…，ｎに対して下記式（３）を満たすという条件になる。
【００６８】
【数４】
0005298552.tif 000005
【００６９】
ここで、スカラーξｉ（≧０）は、ベクトルｘiを誤って判別したときに非零となるスラックス変数を表し、判別関数による誤判別を許容するための項である。そして、上記式（２）及び式（３）をまとめて、ＳＶＭが学習すべき制約条件は、下記式（４）及び式（５）で記述される。
【００７０】
【数５】
0005298552.tif 000006
【００７１】
（II）第２の条件
一方、判別関数算出部１１２は、ｇ（ｘ）＝０で表される判別境界Ｂ１２と、その判別境界Ｂ１２までの距離が最短のベクトルｘｉとの間の距離が、最大となるように判別関数ｇ（ｘ）を導出して決定する。この距離は、マージンとも呼ばれ、１／｜｜ｗ｜｜で表される。よって、判別関数算出部１１２は、このマージンを最大化させるように判別関数ｇ（ｘ）を導出する。このマージン最大化は、下記式（６）で表される評価関数Ｇ（ｗ）を最小化するという最小化問題に帰着することができる。また、上述のようにスカラーξｉは、誤判別を許容するための項であるので、この式（６）は、誤判別を減少させ、かつ、マージンを最大化させる判別関数を意味する。すなわち、式（６）の右辺の第１項は、上記マージンの逆数であり、第２項は、各学習データＸｉに対して許容した誤判別のデータ全体にわたる総和を表している。いずれの項も最小化するのが目的であるが、次元が異なるため重みパラメータＣを第２項に乗じた線形和を評価関数Ｇ（ｗ）とする。
【００７２】
【数６】
0005298552.tif 000007
【００７３】
この最適化問題を解くために、評価関数Ｇ（ｗ）を主問題Ｐ０とする双対問題Ｄ０を導く。つまり、判別関数算出部１１２は、この最小化問題をラグランジュ未定定数法によって解く。ラグランジュ変数λｉ（≧０）、γｉ（≧０）を導入すると、ラグランジュ関数Ｌは、下記式（７）で表される。
【００７４】
【数７】
0005298552.tif 000008
【００７５】
このラグランジュ関数を解くことができるための必要十分条件、つまり、主問題Ｐ０を解くための必要十分条件は、ＫＫＴ（Karush-Kuhn-Tucker）条件より下記式（８）〜式（１０）となる。
【００７６】
【数８】
0005298552.tif 000009
【００７７】
最適化された係数ベクトルｗを、ｗ＊とすると、式（８）は、移行して下記式（１１）となる。
【００７８】
【数９】
0005298552.tif 000010
【００７９】
また、最適化されたスカラー定数ｂを、ｂ＊とすると、ラグランジュ関数Ｌは、式（７）から下記式（１２）の関数Ｆのように記述できる。
【００８０】
【数１０】
0005298552.tif 000011
【００８１】
つまり、この式（１２）の関数Ｆが双対問題Ｄ０の評価関数となり、この評価関数Ｆを最大化することにより、最適化された係数Ｗ＊及び最適化されたスカラー定数ｂ＊を求めて、判別関数ｇ（ｘ）を導出することができる。
【００８２】
なお、上記式（１２）中の第２項は、上記式（９）を用いて下記式（１３）のように計算され、上記式（１２）中の第３項は、上記式（１０）を用いて下記式（１４）のように計算される。
【００８３】
【数１１】
0005298552.tif 000012
【００８４】
従って、上記双対問題Ｄ０の評価関数Ｆは、下記式（１５）で表される。そして、この式（１５）を最大化することとなる。なお、この式（１５）では、右辺の変数からラグランジュ変数γが消えている。
【００８５】
【数１２】
0005298552.tif 000013
【００８６】
この式（１５）を最大化するための制約条件は、上記式（９）より導かれる下記式（１６）と、上記式（１０）及びγ≧０より導かれる下記式（１７）との２式となる。
【００８７】
【数１３】
0005298552.tif 000014
【００８８】
以上をまとめると、式（１１）の右辺に各学習データｉの特徴情報（ベクトルｘｉ）を入力データとして代入した結果λｉの関数として表されるＷ＊を、式（１５）の右辺に代入しながら、式（１６）及び式（１７）の条件の下に公知の探索的な収束計算法により、式（１５）が最大値をとるように、最適化されたラグランジュ変数λｉすなわちλｉ＊を決定する。
【００８９】
そして、判別関数算出部１１２は、決定したλｉ＊と上記式（１１）とから、ｗ＊を算出する。また、最適化されたスカラー定数ｂ＊は、当該式（４）（等号部分）を用いてｗ＝ｗ＊とし、ある学習データｉの特徴情報のベクトルｘｉと判別結果情報ｙｉとを代入して算出する。よって、学習データを学習した結果の判別関数ｇ（ｘ）（上記式（１））は、記号「（・，・）」をベクトルの内積として、下記式（１８）となる。
【００９０】
【数１４】
0005298552.tif 000015
【００９１】
式（１８）から判るように第１項において、係数である最適化されたラグランジュ変数λｉ＊＞０となるｘｉだけが判別関数ｇ（ｘ）を形成し、λｉ＊＝０となるｘｉは判別関数ｇ（ｘ）の値に寄与しない。そのために、この判別関数ｇ（ｘ）を形成しているベクトルｘｉを「サポートベクトル」と呼ぶ。
【００９２】
このサポートベクトルの概要を、上述の図４を用いて説明する。図４は、本実施形態における特徴量空間の概略図である。図４に示すベクトルｘｉ中、記号●，■（黒塗りの丸又は四角）で示した点がサポートベクトルを表す。このサポートベクトルは、判別境界Ｂ１２に近接したベクトルｘｉとなる。つまり、判別関数ｇ（ｘ）は、全学習データにおける判別面に近接したベクトルｘｉの線形結合により式（１８）で表される。また、ベクトルｘｉを含む各項の係数は、最適化されたラグランジュ変数λｉ＊となっているので、この非零である変数λｉ＊は、判別関数ｇ（ｘ）に対して各ベクトルｘｉが与える影響度合を表していることがわかる。この変数λｉ＊をここでは、影響度係数ともいう。
【００９３】
次に、非線形のＳＶＭでは、仮想的に想定される写像関数φ（ｘ）を使用して写像空間に写像した際に、その写像空間上において各ベクトルｘやベクトルｘｉを線形分離する判別面を算出することになる。そこで、仮想的に想定される写像関数φ（ｘ）によりベクトルｘやベクトルｘｉなどを、特徴量空間よりも高次元の仮想的な写像空間に写像することを考える。この写像関数φ（ｘ）を使用すると、特徴量空間において判別関数ｇ（ｘ）は上記式（１８）で表されたが、当該写像空間において、新たな判別関数ｇ（ｘ）は下記式（１９）で表される。なお、記号「（φ（ｘｉ），φ（ｘ））」は、写像空間上での内積を表す。
【００９４】
【数１５】
0005298552.tif 000016
【００９５】
ＳＶＭでは、下記式（２０）のような関数Ｋ（ｘ，ｘ’）が存在する写像関数φ（ｘ）を構築することができることが知られている。この関数Ｋ（ｘ，ｘ’）は、カーネル関数と呼ばれ、写像空間上におけるｘとｘ’の内積（類似度）を返す関数である。当該カーネル関数Ｋ（ｘ，ｘ’）は、ＳＶＭ法では公知の関数であって、これを用いて式（１９）の右辺を計算することができる。
【００９６】
【数１６】
0005298552.tif 000017
【００９７】
このカーネル関数Ｋを使用することにより、上記式（１９）で表された判別関数ｇ（ｘ）は、更に下記式（２１）になる。
【００９８】
【数１７】
0005298552.tif 000018
【００９９】
以上説明したようなＳＶＭの学習機能を利用して、判別関数算出部１１２は、式（２１）で表される判別関数を導出して決定することができる。なお、このＳＶＭによる学習機能の詳しい説明は、上記非特許文献２に記載されている。
【０１００】
（判別関数作成部１１０の動作）
この判別関数作成部１１０による判別関数を作成する動作について説明する。図５は、本発明の第１実施形態に係る判別装置による判別関数の作成動作及び作成時の修正動作のフローを説明する説明図である。
【０１０１】
図５に示すように、まず、ステップＳ１０１で、判別関数算出部１１２が学習データ記憶部１１１から複数の学習データを取得する。そして、ステップＳ１０３（判別関数算出ステップ）で、判別関数算出部１１２が上記ＳＶＭの説明で記載した各計算を行うことにより、判別関数（上記式（２１））を算出する。その後、算出された当該判別関数は、ユーザの指示等により、誤った判別をしないように修正されるが、この作成時の修正動作（ステップＳ２０１以降）については、後述する。
【０１０２】
（判別関数修正部１２０）
再び図３を参照して、判別装置１００が有する他の構成の説明に戻る。
判別関数修正部１２０は、判別関数作成部１１０が作成した判別関数ｇ（ｘ）を取得する。そして、判別関数修正部１２０は、この判別関数による判別結果が誤っている疵候補のデータ（特徴情報ｘ）が存在する場合、当該疵候補の特徴情報に対しても正しい判別結果を算出するように判別関数を修正する。この判別結果が誤っている特徴情報を、他の特徴情報ｘと区別するために「誤判別特徴情報」ともいう。また、判別結果が誤っている場合とは、判別関数が算出した判別結果情報の符合が誤っている（逆である）場合を意味する。なお、多数ある学習データのうちの一部の学習データの学習用特徴情報が誤判別情報になることもあるし、学習データではない別の疵候補の特徴量情報、すなわち未知特徴情報が誤判別情報になることもありうる。判別関数修正部１２０は、誤判別特徴情報となった学習用特徴情報及び未知特徴情報の両方に対して、判別関数を修正することができる。これらの特定の学習データや別の疵候補、及びその特徴情報は通常ユーザにより指定される。なお、多数の学習データのうちに誤った判別結果が含まれることがある理由は、例えば検査作業者が誤判別をしたり、特徴情報自体が判別するのが困難なほど微妙なグレーゾーンにあることなどに依るものである。
【０１０３】
そのために判別関数修正部１２０は、重要学習データ選択部１２１と、判別関数確認部１２２と、係数算出部１２３と、判別関数調整部１２４と、誤りデータ入力部１２５とを有する。
【０１０４】
学習データの学習用判別特徴情報が誤判別特徴情報であるか否かは、重要学習データ選択部１２１と判別関数確認部１２２との動作により確認される。そして、係数算出部１２３及び判別関数調整部１２４により判別関数の修正が行われる。この学習データに対する判別関数の修正を、「作成時の修正」と呼ぶ（学習データの誤り判定の調整）。
【０１０５】
一方、判別結果が未知の未知判別対象が誤って判別された場合、つまり、未知特徴情報が誤判別特徴情報である場合、ユーザが誤りデータ入力部１２５で、未知判別対象の未知特徴情報とその教師判別結果情報（正しい判別結果情報）とを係数算出部１２３に入力する。なお、この誤判別特徴情報であった未知特徴情報と、その教師判別結果情報とを合わせて「誤りデータ」ともいう。そして、誤りデータに対して、係数算出部１２３及び判別関数調整部１２４により判別関数の修正が行われる。この誤りデータに対する判別関数の修正を、「作成後の修正」と呼ぶ（学習データでないデータの誤り判定の調整）。
【０１０６】
より具体的にこれらの各構成部について説明する。
重要学習データ選択部１２１は、作成時の修正において、学習データ記憶部１１１に記録された学習データのうち、特に重要な学習データ（以下「重要学習データ」ともいう。）を選択して取得する。重要学習データとは、誤った判別が許容できない学習データのことを意味する。重要学習データとしては、例えば、以下のような学習データが挙げられる。ただし、これらの重要学習データの例は、重要学習データを限定するものではない。
（１）ユーザが設定した学習データ
（２）所定の特徴量が閾値を超えている学習データなど、所定の計算により算出される重要度が高い学習データ
（３）各学習データに対応付けられて学習データ記憶部１１１に記録された重要度が高い学習データ
【０１０７】
判別関数確認部１２２は、作成時の修正において、正確な判別を行うことができる判別関数が算出されたか否かを、重要学習データを使用して確認する。より具体的には、判別関数確認部１２２は、判別関数算出部１１２が算出した判別関数に、重要学習データの学習用特徴情報を代入する。そして、判別結果情報を算出する。そして、判別関数確認部１２２は、この算出した判別結果情報が示す判別結果が、重要学習データの学習用判別結果情報が示す正しい判別結果と等しいか否か、つまり符合が一致するか否かを確認する。なお、判別結果情報の数値までが一致している必要はない。換言すれば、判別関数確認部１２２は、重要学習データの学習用特徴情報が誤判別特徴情報となるか否かを確認する。判別関数確認部１２２は、判別結果が正しい場合には、判別関数を判別部１３０に出力し、判別結果が正しくない場合には、その正しくない結果が導かれた重要学習データと、判別関数とを係数算出部１２３に出力する。
【０１０８】
係数算出部１２３は、作成時の修正における動作として、重要学習データの誤判別特徴情報に対しても正しい判別結果が導かれるように、その誤判別特徴情報（ｘｊ）に対する新たな影響係数（λｊ’）を算出する。そして、係数算出部１２３は、算出した影響係数及び判別関数を判別関数調整部１２４に出力する。
【０１０９】
判別関数調整部１２４は、作成時の修正における動作として、判別関数を形成している重要学習データの誤判別特徴情報（ｘｊ）の影響係数（λｊ）を、上記係数算出部１２３が算出した影響係数（λｊ’）に変更することにより判別関数を調整する。そして、判別関数調整部１２４は、調整した判別関数を、判別部１３０で実際の判別に使用する判別関数に設定する。
【０１１０】
一方、誤りデータ入力部１２５は、作成後の修正において、誤りデータをユーザの指示により係数算出部１２３に入力する。この誤りデータ入力部１２５は、制御装置１７やユーザによって制御される。そして、実際に疵候補を判別した際に、判定が誤っていた疵候補が発見されると、誤りデータ入力部１２５は、制御装置１７又はユーザによって操作されて、その疵候補の未知特徴情報及び教師判別結果情報（正しい判別結果情報）とを誤りデータとして係数算出部１２３に入力する。
【０１１１】
上記係数算出部１２３は、作成後の修正における動作として、判別部１３０が判別に使用している判別関数を取得する。そして、係数算出部１２３は、誤りデータの誤判別特徴情報（ｘ’）に対しても正しい判別結果が導かれるような新たな影響係数（λ’）を算出する。なお、この係数算出部１２３による影響係数の算出過程は、作成時の修正と作成後の修正とでは異なる。そして、係数算出部１２３は、算出した影響係数及び判別関数を判別関数調整部１２４に出力する。
【０１１２】
上記判別関数調整部１２４は、作成後の修正における動作として、誤りデータの誤判別特徴情報（ベクトルｘ’）を、サポートベクトルとして判別関数ｇ（ｘ）に新たに追加する（組み込む）ことにより判別関数を調整する。その際、判別関数調整部１２４は、誤りデータの影響係数として、係数算出部１２３が算出した影響係数（λ’）を使用する。そして、判別関数調整部１２４は、調整した判別関数を、判別部１３０で実際の判別に使用する判別関数に設定する。
【０１１３】
この判別関数修正部１２０による修正動作について説明する前に、判別装置１００が有する他の構成である判別部１３０について説明する。
【０１１４】
（判別部１３０）
判別部１３０は、判別関数調整部１２４により設定された判別関数を使用して、疵の候補（判別対象）を判別する。つまり、判別部１３０は、疵の候補の特徴情報ｘを判別関数ｇ（ｘ）に代入し、判別結果情報ｙを算出する。そして、判別部１３０は、算出した判別結果情報ｙの符合が正であるか負であるかに応じて、その疵の候補が有害な疵の集合（クラスＸ１）に属するのか、又は、無害な疵の集合（クラスＸ２）に属するのかを判別して、判別結果を出力する。この際、判別部１３０は、判別結果だけでなく、特徴情報ｘ及び判別結果情報ｙなどを出力してもよい。
【０１１５】
（判別部１３０の判別動作）
この判別部１３０による判別動作について、図６を参照しつつ説明する。
図６は、本発明の第１実施形態に係る判別装置による判別動作について説明するための説明図である。
【０１１６】
図６に示すように、判別部１３０は、判別ステップとして、以下のステップＳ３０１〜ステップＳ３０５を処理する。より具体的には、判別部１３０は、未知判別対象の未知特徴情報（判別を行いたい疵候補の特徴情報）を取得すると、ステップＳ３０１を処理する。このステップＳ３０１では、判別部１３０は、未知特徴情報ｘを、設定されている判別関数ｇ（ｘ）に代入する。そして、ステップＳ３０３に進み、判別関数による計算が行われて判別結果情報ｙを算出する。ステップＳ３０３の処理後はステップＳ３０５に進み、判別部１３０は、判別結果情報に応じた判別結果を出力する。
【０１１７】
（判別関数修正部１２０による修正動作について）
ここで上記判別関数修正部１２０による判別関数の修正についてより詳細に説明する。
【０１１８】
重要学習データを誤って判定した場合や、誤りデータが発生した場合、重要学習データ又は誤りデータの誤判定特徴情報も、特徴量空間上の点として表すことができる。この誤判定特徴情報をベクトル（空間上の点）ｘ’又はｘｊで表し、図７Ａ及び図７Ｂに示す（ｊ＝１〜ｎ）。なお、誤った判定は、ベクトルｘ’又はｘｊをクラスＸ２（ｙ＜０）に属すると判定すべきであったところを、誤ってクラスＸ１（ｙ＞０）に属すると判定してしまった場合やその逆の場合を意味する。図７Ａ及び図７Ｂには、判別関数（判別境界Ｂ１２）は、ベクトルｘ’又はｘｊがクラスＸ２に属するように特徴量空間を区切らねばならないところ、ベクトルｘ’又はｘｊがクラスＸ１に属するように特徴量空間を区切っている場合を示した。このような判別関数が算出されると、ベクトルｘｊが重要学習データである場合には、判別関数確認部１２２がこの重要学習データを検出する。一方、ベクトルｘ’が誤りデータである場合には、誤りデータ入力部１２５がこの誤りデータを入力する。そして、判別関数確認部１２２は、作成時の修正又は作成後の修正により判別関数を修正する。
【０１１９】
［作成時の修正について］
この作成時の修正についてより詳細に説明する。
作成時の修正について説明する前に、算出された判別関数を構成するサポートベクトルと学習データとの関係について説明する。
【０１２０】
ＳＶＭでは、ＫＫＴ（Karush-Kuhn-Tucker）の相補性条件より下記式（２２）及び式（２３）が成立する。
【０１２１】
【数１８】
0005298552.tif 000019
【０１２２】
また、学習データ（ｘｉ）がサポートベクトルとならなかった場合には、上述の通り、λｉ＊＝０となる。よって、上記式（１０）より下記式（２４）が導かれ、式（２４）と上記式（２３）とから下記式（２５）が更に導かれる。
【０１２３】
【数１９】
0005298552.tif 000020
【０１２４】
この式（２５）と上記式（４）とから下記式（２６）が導かれる。
【０１２５】
【数２０】
0005298552.tif 000021
【０１２６】
式（２６）からは、ｙｉが負の場合には判別関数の計算結果も負になり、ｙｉが正の場合には判別関数の計算結果も正となることが判る。つまり、判別関数算出部１１２により算出された判別関数は、サポートベクトルとならなかった学習データ（ｘｉ）に対しては必ず正しい判別を行えることが判る。
【０１２７】
一方、学習データ（ｘｉ）がサポートベクトルである場合には、上述の通り、λｉ＊≠０となる。よって、上記式（２２）より、下記式（２７）が導かれる。
【０１２８】
【数２１】
0005298552.tif 000022
【０１２９】
このλｉ＊は、上記式（１７）より０〜Ｃまでに値を取るので、このλｉ＊について以下のケースＡ及びケースＢに場合分けをする。
【０１３０】
ケースＡ）０＜λｉ＊＜Ｃのとき
上記式（１０）より下記式（２８）が導かれ、γｉ≠０となるため、式（２３）より下記式（２９）が導かれる。
【０１３１】
【数２２】
0005298552.tif 000023
【０１３２】
よって、この式（２９）と上記式（２７）とから、下記式（３０）が導かれる。
【０１３３】
【数２３】
0005298552.tif 000024
【０１３４】
式（３０）からは、ｙｉが負の場合には判別関数の計算結果も負になり、ｙｉが正の場合には判別関数の計算結果も正となることが判る。つまり、判別関数算出部１１２により算出された判別関数は、サポートベクトルとなった学習データ（ｘｉ）のうち０＜λｉ＊＜Ｃとなる学習データに対しても必ず正しい判別を行えることが判る。
【０１３５】
ケースＢ）λｉ＊＝Ｃのとき
一方、ケースＢの場合、上記式（１０）より、下記式（３１）が導かれる。
【０１３６】
【数２４】
0005298552.tif 000025
【０１３７】
そこで、更にξｉについて、上記式（５）の範囲内でケースＢ１及びケースＢ２に場合分けをする。
【０１３８】
ケースＢ１）０≦ξｉ≦１のとき
上記式（２７）より、下記式（３２）が導かれる。
【０１３９】
【数２５】
0005298552.tif 000026
【０１４０】
よって、式（３２）からは、ｙｉが負の場合には判別関数の計算結果も負になり、ｙｉが正の場合には判別関数の計算結果も正となることが判る。つまり、判別関数算出部１１２により算出された判別関数は、サポートベクトルとなった学習データ（ｘｉ）のうち、λｉ＊＝Ｃ、０≦ξｉ≦１となる学習データに対しても必ず正しい判別を行えることが判る。
【０１４１】
ケースＢ２）１＜ξｉのとき
同様に上記式（２７）より、下記式（３３）が導かれる。
【０１４２】
【数２６】
0005298552.tif 000027
【０１４３】
よって、式（３３）からは、ｙｉが負の場合には判別関数の計算結果は正になり、ｙｉが正の場合には判別関数の計算結果は負となることが判る。つまり、判別関数算出部１１２により算出された判別関数は、サポートベクトルとなった学習データ（ｘｉ）のうち、λｉ＊＝Ｃ、１＜ξｉとなる学習データに対しては必ず誤った判別を行ってしまうことが判る。
【０１４４】
つまり、以上で説明したサポートベクトルと学習データとの関係から、誤った判定がなされる学習データは、サポートベクトルであり、かつ、λｉ＊＝Ｃ、１＜ξｉとなることが判る。
【０１４５】
そこで、判別関数修正部１２０は、図５に示すように、作成時には以下のような修正動作を行う。なお、誤った判定がなされる重要学習データの学習用特徴情報（誤判別特徴情報）をベクトルｘｊ（ｊは１〜ｎまでの整数）とし、その正しい判別結果を表す学習用判別結果情報（教師判別結果情報）をｙｊとする。この場合、ベクトルｘｊにより判別関数ｇ（ｘ）が算出する判別結果情報ｙは、下記式（３４）で表される。
【０１４６】
【数２７】
0005298552.tif 000028
【０１４７】
まず、判別関数修正部１２０は、判別関数作成部１１０から判別関数を取得すると、図５に示すようにステップＳ２０１を処理する。このステップＳ２０１では、重要学習データ選択部１２１が、学習データ記憶部１１１から重要学習データを選択して取得する。そして、ステップＳ２０３に進む。
【０１４８】
ステップＳ２０３では、判別関数確認部１２２が、重要学習データの学習用特徴情報ｘｊを判別関数ｇ（ｘ）に代入して判別結果情報ｙを算出する。そして、ステップＳ２０５に進む。
【０１４９】
ステップＳ２０５では、判別関数確認部１２２が、判別関数が正しい判別を行うか否かを確認する。つまり、判別結果情報ｙの符合が、学習用判別結果情報ｙｊの符合と一致するか否かを確認する。両者の符合が一致する場合、判別関数確認部１２２は正しい判別結果である判断して、ステップＳ２１１に進む。一方、両者の符合が一致しない場合、判別関数確認部１２２は誤った判別結果である判断して、ステップＳ２０７に進む。
【０１５０】
ステップＳ２０７では、係数算出部１２３が、判別結果情報ｙが学習用判別結果情報ｙｊと一致するように（符合が一致するように）、影響係数λｊ’を算出する。より具体的には、係数算出部１２３は、下記式（３５）を満たすように影響係数λｊ’を算出する。そして、ステップＳ２０９に進む。
【０１５１】
【数２８】
0005298552.tif 000029
【０１５２】
ステップＳ２０９（判別関数修正ステップ）では、判別関数調整部１２４が、上記算出された影響係数λｊ’を使用して影響係数λｊを調整し、判別関数を修正する。より具体的には、上述したように誤り判定された重要学習データは、判別関数のサポートベクトルとなっている。そこで、判別関数調整部１２４は、誤判定された重要学習データの学習用特徴情報ｘｊの影響係数λｊを、係数算出部１２３が算出した影響係数λｊ’に変更する。そして、判別関数調整部１２４は、判別関数作成部１１０が作成した判別関数ｇ（ｘ）を、下記式（３６）で表される新たな判別関数ｇ１（ｘ）へと修正する。そして、ステップＳ２１１に進む。
【０１５３】
【数２９】
0005298552.tif 000030
【０１５４】
ステップＳ２１１では、判別関数調整部１２４が、判別部１３０が判別に使用する判別関数を、修正した判別関数ｇ１（ｘ）に設定する。そして、判別関数の作成動作及び修正動作は終了する。
【０１５５】
このように影響係数λｊ’を変更することは、判別関数における判別結果を直接変更する操作に該当する。つまり、一般のＳＶＭでは、上記式（１７）により影響係数λに上限が決定されているので、重要学習データを誤って判定する判別関数を算出してしまう可能性がある。しかしながら、本実施形態に係る判別装置１００は、誤判定された重要学習データに対してのみ影響係数λを上記式（１７）を超えて調整する。よって、図７Ａ又は図７Ｂに概念的に示すように、判別装置１００は、判別境界Ｂ１２が誤り判定された学習データｘｊをも正しく区画するように、判別境界Ｂ１２を湾曲（曲線Ｂ−１、図７Ｂ参照。）させたり、判別境界Ｂ−２による分離した領域を形成させることができる。よって、判別装置１００は、他の特徴情報の判別結果に与える影響を抑えつつ、誤って判定してしまった判定対象に対して所望の判別結果が得られるように判別関数（つまり判別規則）を調整することができる。
【０１５６】
［作成後の修正について］
以上、判別関数修正部１２０による修正動作のうち作成時の修正について説明した。
次に、図８を参照しつつ、他の修正動作である作成後の修正について詳細に説明する。図８は、本発明の第１実施形態に係る判別装置による判別関数の作成後の修正動作について説明するための説明図である。
【０１５７】
なお、ＳＶＭでは、学習データでない誤りデータがあり、この誤りデータが許容することができないデータである場合には、その誤りデータをも正しく判定するように再学習させる必要、つまり、判別関数を再度作成し直す必要がある。判別関数を再度作成するには、判別関数算出部１１２が、誤りデータを学習データに加えて再度上記最適化計算を実行する必要がある。
【０１５８】
しかし、一般に表面疵検査装置１において学習データの個数は数千個、それぞれの学習用特徴情報の特徴量も数百個を超える場合も珍しくない。よって、誤りデータが発生する度にこの再学習を繰り返すのでは、莫大なメンテナンスコストや時間が必要となる。
【０１５９】
そこで、本実施形態に係る判別装置１００は、上記構成を有することにより、以下のような動作を行う。なお、誤りデータを、ベクトルｘ’とし、その正しい判別結果を表す教師判別結果情報をｙ’とする。この場合、ベクトルｘ’により判別関数が算出する判別結果情報ｙは、下記式（３７）で表される。
【０１６０】
【数３０】
0005298552.tif 000031
【０１６１】
まず、教師判別結果情報がｙ’＝＋１であるのに、判別結果情報がｙ＝ｇ（ｘ’）＜０であった場合について説明する。
【０１６２】
図８に示すように、まず、ステップＳ４０１が処理され、誤りデータ入力部１２５が、誤りデータを係数算出部１２３に入力する。つまり、誤りデータ入力部１２５は、誤りデータの未知特徴情報ｘ’（誤判別特徴情報）と、その正しい判別結果である教師判別結果情報ｙ’とを係数算出部１２３に入力する。そして、ステップＳ４０３に進む。
【０１６３】
ステップＳ４０３では、係数算出部１２３が、判別結果情報ｙが教師判別結果情報ｙ’と一致するように（符合が一致するように）、影響係数λ’を差出する。より具体的には、係数算出部１２３は、下記式（３８）を満たすように影響係数λ’を算出する。そして、ステップＳ４０５に進む。
【０１６４】
【数３１】
0005298552.tif 000032
【０１６５】
ステップ４０５では、判別関数調整部１２４が、誤りデータの誤判別特徴情報ｘ’をサポートベクトルとして判別関数ｇ（ｘ）に追加する。より具体的には、判別関数調整部１２４は、判別部１３０で使用されている判別関数ｇ（ｘ）に、誤判別特徴情報ｘ’で記述される項を追加することにより、判別関数ｇ（ｘ）を下記式（３９）で表される判別関数ｇ２（ｘ）へと修正する。そして、ステップＳ４０７に進む。
【０１６６】
【数３２】
0005298552.tif 000033
【０１６７】
ステップＳ４０７では、判別関数調整部１２４が、判別部１３０が判別に使用する判別関数を、修正した判別関数ｇ２（ｘ）に設定する。そして、判別関数の作成動作及び修正動作は終了する。
【０１６８】
その結果、誤りデータｘ’に対して判別部１３０で算出される判別結果情報は、下記式（４０）に示すように正となる。
【０１６９】
【数３３】
0005298552.tif 000034
【０１７０】
なお、教師判別結果情報がｙ’＝−１であるのに、判別結果情報がｙ＝ｇ（ｘ’）＞０であった場合も、同様に修正することができる。この際、ステップＳ４０３において、係数算出部１２３は、下記式（４１）を満たすように影響係数λｊ’を算出する。その結果、未知特徴情報ｘ’に対して判別部１３０で算出される判別結果情報ｙは、下記式（４２）に示すように負となる。
【０１７１】
【数３４】
0005298552.tif 000035
【０１７２】
上述のように、影響係数λ’を算出して、誤りデータをサポートベクトルとして判別関数に導入｀することも、判別関数における判別結果を直接変更する操作に属する。この修正前のＳＶＭの判別関数は、学習データの学習用特徴情報であるサポートベクトルの線形結合で表される。よって、一般には、学習データでない誤りデータについて正しい判別結果を得るためには、再度判別関数を算出する必要がある。しかしながら、本実施形態に係る判別装置１００は、学習データとは異なる誤りデータをサポートベクトルとして判別関数に追加することにより、判別関数を調整することができる。よって、他の特徴情報の判別結果に与える影響を抑えつつ、誤って判定してしまった判定対象に対して所望の判別結果が得られるように判別関数（つまり判別規則）を調整することができる。
【０１７３】
＜第２実施形態＞
以上、本発明の第１実施形態に係る判別装置１００について説明した。
次に、図９を参照しつつ、本発明の第２実施形態に係る判別装置２００について説明する。図９は、本発明の第２実施形態に係る判別装置の構成について説明するための説明図である。
【０１７４】
図９に示す本実施形態に係る判別装置２００は、疵候補（判別対象）が、３以上の複数種類の疵種（集合）のいずれに属するのかを、その疵候補の特徴情報に基づいて判別する。なお、本実施形態に係る判別装置２００は、図１に示す表面疵検査装置１の判別装置１４に相当する。
【０１７５】
この判別装置２００も、上記第１実施形態に係る判別装置１００と同様のＳＶＭの判別関数を使用して、疵種の判別を行う。上述のようにＳＶＭの判別関数は、二種類の集合（クラス）の判別を判別結果情報の符合で表す。よって、判別装置２００は、Ｎ種類のクラス（Ｎ＞２）の判別を行う場合、ＮＣ２個の判別関数を使用する。つまり、判別装置２００は、Ｎ種類のクラス中の２種類のクラスの判別を行う判別関数を、クラスの組み合わせの個数（判別境界の個数）だけ使用する。そして、判別装置２００は、多数決により、どのクラスに属するかの判別を行う。つまり、判別装置２００は、未知判別対象の未知特徴情報ｘを、複数の判別関数に代入し、判別結果情報ｙが最も多く示したクラスに未知判別対象が属すると判別する。ここでは、１又は２以上の判別関数が１のクラスを示した場合、そのクラスを示した判別関数の個数を、そのクラスが獲得した「票」ともいう。そして、複数のクラスをＸ１、Ｘ２、Ｘ３、…とした場合、各クラスの得票数をｎ１、ｎ２、ｎ３、…とする。つまり、判別装置２００は、「未知判別対象ｘは得票数ｎｋが最も多いクラスＸｋに属する（ｋ＝１〜Ｎ）」と判別する。なお、１つのクラスは、Ｎ−１個の判別関数により判別されるので、１つのクラスの最大得票数は、Ｎ−１となる。
【０１７６】
このように判別装置２００は、上記第１実施形態に係る判別装置１００における二クラスの判別を複数回行うことにより、３以上のクラスの判別を行う。よって、判別装置２００は、第１実施形態に係る判別装置１００と共通する構成及び動作が多いので、以下では、第１実施形態に係る判別装置１００との相違点を中心に説明する。
【０１７７】
図９に示すように、判別装置２００は、第１実施形態に係る判別装置１００が有する判別関数修正部１２０と判別部１３０に代えて、判別関数修正部２２０と判別部２３０とを有する。なお、判別装置２００が有する判別関数作成部１１０は、第１実施形態に係る判別装置１００と同様の構成により、複数の判別関数を算出する。
【０１７８】
判別部２３０は、判別部の一例であって、上述の通り、複数の判別関数を使用して、未知判別対象の未知特徴情報を、これらの判別関数に代入する。そして、判別部２３０は、各クラスＸｋの得票数を計算する。そして、判別部２３０は、得票数ｎｋの最も多いクラスＸｋを判定結果として出力する。なお、判別部２３０の他の動作は、上記第１実施形態に係る判別部１３０と同様である。
【０１７９】
判別関数修正部２２０は、第１実施形態に係る判別関数修正部１２０が有する構成に加えて、更に、得票数確認部２２６と、判別関数選択部２２７とを有する。なお、この判別関数修正部２２０が１の判別関数に対して行う判別関数の修正は、上記第１実施形態に係る判別関数修正部１２０が行う判別関数の修正と同様である。しかし、判別部２３０が正しい判別結果を導くように判別関数を修正するために全ての判別関数を修正することは、必ずしも必要ではなく、１又は２以上の判別関数を選択して、その判別関数を修正すればよい場合がある。この修正する判別関数を選択するために、判別関数修正部２２０は、上記得票数確認部２２６と、判別関数選択部２２７とを有する。以下では、この修正する判別関数の選択動作を中心に各構成及び動作を説明する。
【０１８０】
なお、作成時の修正（重要学習データに対する修正）では、作成時に判別関数確認部１２２が全ての判別関数を１つ１つ確認すれば、誤った判別を行った判別関数をその都度修正して全ての判別関数を修正することは、容易である。しかしながら、作成後の修正（誤りデータに対する修正）では、判別関数は既に作成されており、かつ、１つ１つの判別関数を確認して全ての判別関数を修正するには、メンテナンスコスト及び時間が必要である。よって、判別関数を選択して修正することは、特に、作成後の修正において、効力を発揮する。よって、以下では、この作成後の修正を例に挙げて、判別関数の選択動作を説明する。ただし、作成時の修正における判別関数の選択動作も、下記で説明する作成後の修正の場合と同様に実施することができ、かつ、判別規則の構築時のコスト及び時間を節約できることは言うまでもない。
【０１８１】
得票数確認部２２６は、誤りデータ入力部１２５から誤りデータを取得する。この誤りデータの取得をトリガーとして、得票数確認部２２６は、判別部２３０から各クラスＸｋの得票数ｎｋを取得する。そして、得票数確認部２２６は、誤りデータの教師判別結果情報が表す正しいクラスＸｔ（ｔ＝１〜Ｎ）が判別されるために、何個の判別関数を修正する必要があるのか、つまり得票数ｎｔを何個増やせば誤りデータが正しいクラスＸｔに判別されるのかを確認する。
【０１８２】
この得票数確認部２２６による得票数ｎｋの確認では、最大得票モードと最小得票モードとが存在する。最大得票モードは、クラスＸｔが最大の得票数ｎｔで選出されるように、判別関数を調整するモードであり、最小得票モードは、クラスＸｔが最小の得票数ｎｔで選出されるように、判別関数を調整するモードである。
【０１８３】
最大得票モードでは、正しいクラスＸｔと、他のクラスＸｏ（ｏ＝１〜Ｎ，ｏ≠ｔ）とを判別する判別関数を全て修正数することにより、クラスＸｔが最大得票数Ｎ−１で選出される。よって、得票数確認部２２６は、修正する必要のある判別関数の個数ΔｎをＮ−１に設定する。
【０１８４】
一方、最小得票モードでは、まず、得票数確認部２２６は、各クラスＸｋの得票数ｎｋを確認し、正しいクラスＸｔの得票数ｎｔよりも多い得票数ｎｏを得ているクラスＸｏを特定する（ｎｔ＜ｎｏ）。そして、得票数確認部２２６は、必要のある判別関数の個数Δｎを１に設定する。つまり、この最小得票モードでは、正しいクラスＸｔの得票数ｎｔが、他のクラスの得票数ｎｏよりも大きくなるまでΔｎを１に設定し、必要投票数に達してｎｔ＞ｎｏとなったらΔｎを０に設定する。
【０１８５】
なお、作成時の修正では、得票数確認部２２６は、誤りデータの変わりに、判別関数確認部１２２による確認結果が誤っていた場合に動作を開始する。そして、得票数確認部２２６は、判別関数確認部１２２が判別関数を確認した際に算出された判別結果情報を累積して得票数ｎｋを算出する。また、得票数確認部２２６は、判別関数確認部１２２から取得した学習用判別結果情報から、正しいクラスＸｋを特定する。
【０１８６】
判別関数選択部２２７は、得票数確認部２２６から、修正すべき判別関数の個数Δｎ及び正しいクラスＸｋを取得する。判別関数選択部２２７は、更に、判別部２３０から、クラスＸｋを判別先のクラスとしているＮ−１個の判別関数及びその判別関数の判別結果情報ｙを取得する。そして、判別関数選択部２２７は、取得した判別関数に、その判別結果情報ｙの絶対値の小さい順に順位を付ける（ソート）。更に、判別関数選択部２２７は、個数Δｎだけの判別関数を、係数算出部１２３に出力して、係数算出部１２３及び判別関数調整部１２４に判別関数を修正させる。この際、判別関数選択部２２７は、順位が小さい順に判別関数を出力する。つまり、判別関数選択部２２７は、上位の判別関数を出力する。また、判別関数選択部２２７は、１の修正においては、一端出力した判別関数以外の判別関数を出力する。つまり、既に修正した判別関数は出力しない。
【０１８７】
よって、最大得票モードでは、クラスＸｋを判別先のクラスとしているＮ−１個の判別関数の修正が行われる。一方、最小得票モードでは、正しいクラスＸｔが選出されるまで、判別結果情報ｙの絶対値が小さい順に判別関数の修正が行われる。
【０１８８】
なお、作成時の修正では、判別関数選択部２２７は、判別関数確認部１２２から、クラスＸｋを判別先のクラスとしているＮ−１個の判別関数及びその判別関数の判別結果情報ｙを取得する。
【０１８９】
上記最小得票モードにおける判別関数の修正動作について、図１０を参照して説明する。
図１０は、本発明の第２実施形態に係る判別装置の動作について説明するための説明図である。
【０１９０】
この最小得票モードにおいて、誤りデータ入力部１２５から誤りデータなどを取得した得票数確認部２２６は、修正する必要がある判別関数の個数Δｎを１に設定する。すると、ステップＳ５０１が処理され、判別関数選択部２２７が、正しいクラスＸｔの判別を行っているＮ−１個の判別関数を取得して、その判別関数を、判別結果情報ｙの絶対値の小さい順にソートする。そして、ステップＳ５０３に進む。
【０１９１】
ステップＳ５０３では、判別関数選択部２２７が、未修正で、かつ、上位の判別関数を１つ係数算出部１２３に出力して、その判別関数を係数算出部１２３及び判別関数調整部１２４に修正させる。このステップＳ５０３の処理後は、ステップＳ５０５に進む。
【０１９２】
ステップＳ５０５では、判別部２３０が、修正された判別関数を使用して各クラスＸｉの得票数ｎｉを算出する。そして、得票数確認部２２６が、正しいクラスＸｔの得票数ｎｔが、そのクラスＸｔが選出されるのに十分な得票数（必要得票数）に達しているか否かを確認する。つまり、ｎｔ＞ｎｏとなっているか否かが確認される。そして、必要得票数に達していない場合には、ステップＳ５０３を繰り返し処理し、必要得票数に達している場合には、動作を終了する。
【０１９３】
このような動作により、最小得票モードでは、修正する判別関数の個数を最小限に抑えることができる。よって、判別関数の修正に要する時間及びコストを削減することができる。一方、判別関数が算出する判別結果情報ｙの絶対値が小さいことは、判別境界Ｂ１２に近いことを意味する。よって、ｙの絶対値が小さい判別関数から修正することにより、判別の確からしさが低い判別関数を修正することができる。つまり、最小得票モードでは、判別関数の修正による影響を最小限に抑えることができる。
【０１９４】
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されないことは言うまでもない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても当然に本発明の技術的範囲に属するものと了解される。
【０１９５】
例えば、上記各実施形態で説明した一連の処理は、専用のハードウエアにより実行させてもよいが、ソフトウエアにより実行させてもよい。一連の処理をソフトウエアにより行う場合、図１１に示すような汎用又は専用のコンピュータにプログラムを実行させることにより、上記の一連の処理を実現することができる。
【０１９６】
図１１は、プログラムを実行することにより一連の処理を実現するコンピュータの構成例を説明するための説明図である。一連の処理を行うプログラムのコンピュータによる実行について説明すれば、以下のようになる。
【０１９７】
図１１に示すように、コンピュータは、例えば、バス３０１及び入出力インターフェイス３０６等を介して接続された、ＣＰＵ（Central  Processing  Unit）３０２と、ＨＤＤ（Hard  Disk  Drive）３０３・ＲＯＭ（Read  Only  Memory）３０４・ＲＡＭ（Random  Access  Memory）３０５等の記録装置と、ＬＡＮ（Local  Area  Network）・インターネット等のネットワーク３０８に接続された通信装置３０７と、マウス・キーボード（図示せず）等の入力装置３０９と、フレキシブルディスク、各種のＣＤ（Compact  Disc）・ＭＯ（Magneto  Optical）ディスク・ＤＶＤ（Digital  Versatile  Disc）等の光ディスク、磁気ディスク、半導体メモリ等のリムーバブル記録媒体３１１等を読み書きするドライブ３１０と、モニタなどの表示装置１６・スピーカやヘッドホンなどの音声出力装置３１２などの出力装置等を有する。
【０１９８】
そして、ＣＰＵ３０２が、記録装置に記録されたプログラム、ネットワーク３０８を介して受信したプログラム、またはリムーバブル記録媒体３１１から読み出したプログラム等に従って、各種の処理を実行することにより、上記の一連の処理が、実現される。この際、ＣＰＵ３０２は、必要に応じて入力装置３０９から入力する情報や信号に基づいて各種の処理を行ってもよい。そして、この処理結果は、必要に応じて上記の記録装置やリムーバブル記録媒体３１１等に記録されてもよく、出力装置に出力されてもよく、ネットワーク３０８に送信されてもよい。
【０１９９】
尚、本明細書において、フローチャートに記述されたステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的に又は個別的に実行される処理をも含む。また時系列的に処理されるステップでも、場合によっては適宜順序を変更することが可能であることは言うまでもない。
【図面の簡単な説明】
【０２００】
【図１】本発明の各実施形態に係る判別装置が適用された一例である表面疵検査装置の構成の概要を説明するための説明図である。
【図２】本発明の各実施形態に係る判別装置が適用された一例である表面疵検査装置の動作の概要を説明するための説明図である。
【図３】本発明の第１実施形態に係る判別装置の構成について説明するための説明図である。
【図４】本発明の各実施形態に係る判別装置が判別する判別対象を特徴量空間上の点として表した一例を説明するための説明図である。
【図５】本発明の第１実施形態に係る判別装置による判別関数の作成動作及び作成時の修正動作について説明するための説明図である。
【図６】本発明の第１実施形態に係る判別装置による判別動作について説明するための説明図である。
【図７Ａ】本発明の各実施形態に係る判別装置による判別関数の修正動作について説明するための説明図である。
【図７Ｂ】本発明の各実施形態に係る判別装置による判別関数の修正動作について説明するための説明図である。
【図８】本発明の第１実施形態に係る判別装置による判別関数の作成後の修正動作について説明するための説明図である。
【図９】本発明の第２実施形態に係る判別装置の構成について説明するための説明図である。
【図１０】本発明の第２実施形態に係る判別装置の動作について説明するための説明図である。
【図１１】プログラムを実行することにより一連の処理を実現するコンピュータの構成例を説明するための説明図である。
【符号の説明】
【０２０１】
１        表面疵検査装置
１１      光源装置
１２      撮像装置
１３      画像処理装置
１４，１００，２００      判別装置
１５      判別結果記憶装置
１６      表示装置
１７      制御装置
１１０    判別関数作成部
１１１    学習データ記憶部
１１２    判別関数算出部
１２０，２２０    判別関数修正部
１２１    重要学習データ選択部
１２２    判別関数確認部
１２３    係数算出部
１２４    判別関数調整部
１２５    誤りデータ入力部
１３０，２３０    判別部
２２６得票数確認部
２２７    判別関数選択部
３０１    バス
３０２    ＣＰＵ
３０３    ＨＤＤ
３０４    ＲＯＭ
３０５    ＲＡＭ
３０６    入出力インターフェイス
３０７    通信装置
３０８    ネットワーク
３０９    入力装置
３１０    ドライブ
３１１    リムーバブル記録媒体
３１２    音声出力装置
Ｆ        鋼板
Ｒ        ロール
Ｔ        表面の領域
【図１】
0005298552.tif 000036
【図２】
0005298552.tif 000037
【図３】
0005298552.tif 000038
【図４】
0005298552.tif 000039
【図５】
0005298552.tif 000040
【図６】
0005298552.tif 000041
【図７Ａ】
0005298552.tif 000042
【図７Ｂ】
0005298552.tif 000043
【図８】
0005298552.tif 000044
【図９】
0005298552.tif 000045
【図１０】
0005298552.tif 000046
【図１１】
0005298552.tif 000047