JP5298552B2 - 判別装置、判別方法及びプログラム - Google Patents

判別装置、判別方法及びプログラム Download PDF

Info

Publication number
JP5298552B2
JP5298552B2 JP2008024529A JP2008024529A JP5298552B2 JP 5298552 B2 JP5298552 B2 JP 5298552B2 JP 2008024529 A JP2008024529 A JP 2008024529A JP 2008024529 A JP2008024529 A JP 2008024529A JP 5298552 B2 JP5298552 B2 JP 5298552B2
Authority
JP
Japan
Prior art keywords
discrimination
discriminant
feature information
result
function
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2008024529A
Other languages
English (en)
Other versions
JP2009186243A (ja
Inventor
純 梅村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Steel Corp
Original Assignee
Nippon Steel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Steel Corp filed Critical Nippon Steel Corp
Priority to JP2008024529A priority Critical patent/JP5298552B2/ja
Publication of JP2009186243A publication Critical patent/JP2009186243A/ja
Application granted granted Critical
Publication of JP5298552B2 publication Critical patent/JP5298552B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Length Measuring Devices By Optical Means (AREA)
  • Investigating Materials By The Use Of Optical Means Adapted For Particular Applications (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)

Description

本発明は、製造ライン等において得られる複数のデータについて良否や適否等を判定するための判別装置、判別方法及びプログラムに関する。
近年、例えば製造プラントにおいて製造ラインのオートメーション化が進み、製造プラントで製造される製品の品質管理を行うために様々な検査が行われている。検査技術の進歩により、製品の欠陥などの不良状態を細部にわたり測定することが可能になり、その測定データに基づいて、検出した不良がどのような種類の不良であるのかを判別することが重要である。なお、当該想定データは、複数の測定項目のデータを要素として有することも多い。
例えば、鋼板の製造ラインでは、製造ラインに配置されたカメラによる鋼板の撮像画像に、所定の画像処理を行うことにより鋼板表面の疵等の欠陥を検出する検査装置が使用される。この検査装置では、画像を2値化し、その画像中において欠陥を表すと推定される領域(blob、ON(=1)となった領域)をラベリングにより疵候補データ(測定データの一例)として抽出する。そして、検査装置では、例えば、高さ・幅・面積・輝度分布などのその領域の特徴情報(特徴量)から、その領域が有害な欠陥なのか無害なノイズなのか、欠陥である場合には更に、その欠陥の種類(疵種)や有害度合(深刻度合い、グレード)といった判別が行われる。例えば、許容できない欠陥が発生した場合や製造ライン自体が抱える不良により発生した欠陥である場合など、早期な対処が必要となる場合も多く、正しい判別を行うことは、製造ラインの生産性及び製品品質に大きな影響を与えうる。
このような判別処理を実行するには、その判別規則を定める必要がある。しかし、一般に実用に耐えうる性能の判別処理を実現するには、膨大な数の複雑な判別規則群を構築する必要がある。判別規則群をユーザが自ら構築することは、構築時のユーザへの負荷も膨大になるばかりか、メンテナンス性も非常に悪くなるので現実的ではない。
そこで例えば、判別を行う装置で使用する判別規則を導き出すために、特徴情報とその特徴情報の判別作業者による判別結果(正解情報)とを含む学習データを必要数用意し、その学習データに基づいて自動的に判別規則を構築する学習機能が開発されている。
このような学習機能として、例えば、プロダクションシステム、ニューラルネット、決定木などが研究されており、例えば下記非特許文献1に示すように、これらの学習機能が実問題に適用されている。
特開2003−344300号公報 "パターン認識", 尾上守夫(訳), 2001 "Statistical Learning Theory", V.Vapnik, 1998
一方、学習機能として近年注目されている手法の1つにSVM(サポート・ベクター・マシン法:Support Vector Machine)が挙げられる(上記非特許文献2参照。)。このSVMは、例えば、以下のような特徴を有する。
(1)正解と、学習データに忠実に対応し過ぎてその他のデータに対するエラーが増加する減少である過学習とのバランスをとるように設定された評価関数を用いた最適化計算により、各疵データ点を元とし、特徴情報の各特徴量を座標軸として張られる空間内(特徴量空間)において、有害欠陥と無害なノイズとの判別境界を計算により導出する。
(2)用意した学習データは、仮想的に規定される写像関数により、特徴量空間から高次元の別の空間に写像され、その高次元空間内での超平面によって判別される(もとの空間では曲面により判別される。)。
(3)最適化計算の結果として得られる判別境界(超平面)は、用意した学習データの幾つかの線形結合による判別関数として表現される。
このSVMによる学習機能は、上記の特徴などにより複雑な判別規則を学習できると同時に、過学習に陥り難いという優れた特性を有する。
しかしながら、SVMによる判別規則の算出過程は、ユーザにとってブラックボックス(black box)的な側面が多く、所望の判別性能を発揮するように柔軟に判別規則を調整するのが難しいことが多い。例えば、SVMによる計算に必要な判別関数及び当該判別関数に含まれるパラメータなどを設定して最適化計算を実行すれば、ある程度調整された判別規則を算出できる。しかしながら、例えば学習データの極一部に誤りや紛らわしいデータが含まれているようなときには、ユーザの期待した判別規則を算出できるとは限らないことがある。つまり、例えば、誤った判定結果を導き出すことを許容できない特徴情報に対して、誤った判別結果を導き出してしまうような判別規則を算出してしまう場合などがある。
SVMによって算出された判別規則を基にして、ユーザーが所望の判別規則を算出するために、パラメータなどを調整することが可能なときがある。例えば評価関数と写像関数のパラメータをユーザが後で調整することにより、ユーザの要望をある程度反映させることができる。しかし、これらのパラメータ調整による判別規則の調整は、間接的な調整であり、十分な調整が行えない場合が少なくない。つまり、これらのパラメータは、最適化計算のパラメータであり、判別規則による判別結果を直接的に調整しうるものではない。
このような、パラメータの調整によって判別規則を十分に調整することができないことがある理由として、例えば特徴情報の不足・正解の矛盾など、学習データの不備が原因であることも考えられる。しかし、学習データを修正して再学習を行うには、莫大なメンテナンスコストや時間が必要となる。また、そもそも正解の精度において、完璧な学習データを準備すること自体が難しいことが多い。よって、実問題の適用(実用)においては、莫大なメンテナンスコストや時間をかけずに、実際の学習データを用いて判別規則の最適性をある程度犠牲にしても、所望の判別結果が得られることが望まれる場合がある。
上記特許文献1には、所望の判別結果が得られるように判別規則に対応した上記高次元空間内での超平面を、誤って判定された特徴情報を正しく判別できるように平行移動することにより、判別規則を調整する技術が開示されている。しかしながら、このように超平面を平行移動させることは、超平面近傍(境界付近)の特徴情報に対して、大きな影響を与える場合がある。特に、SVMでは超平面近傍の特徴情報が判別規則を決定しているので、かえって、これら超平面近傍の特徴情報を誤って判定してしまう可能性がある。
本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、疵データのような複数の特徴量や要素で構成されるデータについてその適否や良否を判定するために、当該データの学習データを用いてSVMにより判別規則を導出するのに際して、誤判定したデータ点等の所定の判定対象に対して所望の判別結果が得られるように、複数のデータ内のその他のデータ点の判別結果に対する影響を抑えつつ、従来よりも柔軟に判別規則を調整することが可能な判別装置、判別方法及びプログラムを提供することにある。
上記課題を解決するために、本発明のある観点によれば、判別対象が複数種類の集合のいずれに属するのかを該判別対象を特徴付ける特徴量で構成される特徴情報を入力データとする判別関数を用い、その判別関数の出力値である結果に基づいて判別する判別装置であって、判別結果が既知の複数の学習用特徴情報と該学習用特徴情報それぞれに対応付けられた判別結果を表す学習用判別結果情報とに基づいて、学習用特徴情報それぞれを特徴情報による空間上の点として表し、仮想的に規定する写像関数により上記空間上の点を写像した際に写像先の空間上において上記点を判別結果別に線形分離する判別面と、当該判別面までの距離が最短の上記点との距離が最大になるように、サポート・ベクター・マシン法を用いて上記判別面を算出して上記判別関数を導出する判別関数算出部と、既知の判別結果を有する特徴情報であって、上記判別関数に該特徴情報を入力した結果である判別結果情報と該特徴情報の既知の判別結果とが異なる誤判別特徴情報について、上記判別結果情報と上記既知の判別結果とが一致するように、上記誤判別特徴情報が上記判別関数に対して個別に与える影響度合を表した影響係数をそれぞれ調整し、上記判別関数を修正する判別関数修正部と、判別結果が未知の判別対象を、該判別対象の特徴情報を入力データとして上記修正された上記判別関数を用いて判別する判別部と、を有することを特徴とする、判別装置が提供される。
この構成によれば、判別関数算出部により、学習用特徴情報及び学習用判別結果情報とに基づいて、サポート・ベクター・マシン法による学習機能を利用した判別関数を導出することができる。そして、判別関数修正部により、判別結果が誤っている誤判別特徴情報の影響係数を調整することができる。つまり、判別関数修正部は、判別関数のうち、誤判別特徴情報が関与する項を直接調整することができる。よって、判別関数を、誤判別特徴情報に対しても正しい判別結果を導き出せるように修正することができる。
また、上記判別関数は、上記学習用特徴情報それぞれと判別対象の特徴情報とを入力データとするサポート・ベクター・マシン法のカーネル関数値に、それぞれの上記影響係数を掛けて加え合わせた総和であり、上記判別関数修正部は、該判別関数の判別結果について上記学習用特徴情報のいずれかが誤判別特徴情報となる場合、上記判別結果の判別結果が正解となるように所定の処理で該誤判別特徴情報の影響係数の大きさを調整することにより、上記判別関数を修正してもよい。
この構成によれば、学習用特徴情報に対しても正しい判別結果を導き出せるように、判別関数を修正することができる。
また、上記判別関数は、上記学習用特徴情報それぞれと判別対象の特徴情報とを入力データとするサポート・ベクター・マシン法のカーネル関数値に、それぞれの上記影響係数を掛けて加え合わせた総和であり、上記判別関数修正部は、上記学習用特徴情報の1又は2以上により形成された上記判別関数に、上記判別部が誤判別した誤判別特徴情報を新たに追加し、かつ、当該誤判別特徴情報の影響係数の大きさを調整して、上記判別結果の判別結果が正解となるように所定の処理で上記判別関数を修正してもよい。
この構成によれば、学習用特徴情報ではない誤判別特徴情報に対しても正しい判別結果を導き出せるように、判別関数を修正することができる。
また、上記判別関数算出部は、上記複数種類の集合における2つの集合の組み合わせ毎に上記判別面を算出して、当該判別面のそれぞれを判別関数とし、上記判別部は、上記判別結果が未知の判別対象を、上記判別関数のそれぞれに基づいて上記2つの集合毎に判別した結果、最も多くの上記判別関数により判別された集合に属すると判別してもよい。
この構成によれば、複数種類の集合から判別する場合には、判別関数算出部により、その複数種類の集合中の2つの集合の組み合わせ毎に判別関数を算出することができる。そして、判別部により、判別結果が未知の判別対象は、各判別関数を使用して判別した結果が最も多く示す集合に属すると判別することができる。つまり、例えば集合がN個の場合、判別関数算出部は、個の判別関数を算出することができる。そして、判別部は、個の判別関数を使用して、個の判別結果を算出し、その判別結果の個数が最も多い集合に、判別対象が属すると判別する。なお、判別対象が1の集合に属すると判別される場合、その1の集合は、最大でN−1個の判別関数の判別結果により判別されうる。
また、上記判別関数修正部は、少なくとも上記誤判別特徴情報の既知の判別結果と上記判別部による判別結果とが一致するまで、上記判別関数のそれぞれを修正してもよい。
この構成によれば、判別関数修正部により、判別関数のそれぞれを修正することができる。そして、この修正は、既知の判別結果と判別部による判別結果とが一致するまで行われる。つまり、上述のように判別部は、最も多くの判別関数により判別された集合に、判別対象を判別する。そこで、判別関数修正部は、少なくとも既知の判別結果が表した集合が最も多くの判別関数により判別されるように、判別関数のそれぞれを修正する。つまり、例えば、既知の判別結果が表した集合を、判別結果とする判別関数の個数が、最大となるだけの個数の判別関数を、少なくとも修正することができる。
また、上記判別対象は、製品を製造する製造プラントにおいて製造させる上記製品に発生した不良状態であり、上記特徴情報は、上記不良状態を検査した結果得られる1又は2以上の測定値を含んでもよい。
また、上記課題を解決するために、本発明の別の観点によれば、判別対象が複数種類の集合のいずれに属するのかを該判別対象を特徴付ける特徴量で構成される特徴情報を入力データとする判別関数を用い、その判別関数の出力値である結果に基づいて判別する判別方法であって、判別結果が既知の複数の学習用特徴情報と該学習用特徴情報それぞれに対応付けられた判別結果を表す学習用判別結果情報とに基づいて、学習用特徴情報それぞれを特徴情報による空間上の点として表し、仮想的に規定する写像関数により上記空間上の点を写像した際に写像先の空間上において上記点を判別結果別に線形分離する判別面と、当該判別面までの距離が最短の上記点との距離が最大になるように、サポート・ベクター・マシン法を用いて上記判別面を算出して上記判別関数を導出する判別関数算出ステップと、既知の判別結果を有する特徴情報であって、上記判別関数に該特徴情報を入力した結果である判別結果情報と該特徴情報の既知の判別結果とが異なる誤判別特徴情報について、上記判別結果情報と上記既知の判別結果とが一致するように、上記誤判別特徴情報が上記判別関数に対して個別に与える影響度合を表した影響係数をそれぞれ調整し、上記判別関数を修正する判別関数修正ステップと、判別結果が未知の判別対象を、該判別対象の特徴情報を入力データとして上記修正された上記判別関数を用いて判別する判別ステップと、を有することを特徴とする、判別方法が提供される。
また、上記判別関数は、上記学習用特徴情報それぞれと判別対象の特徴情報とを入力データとするサポート・ベクター・マシン法のカーネル関数値に、それぞれの上記影響係数を掛けて加え合わせた総和であり、上記判別関数修正ステップでは、該判別関数の判別結果について上記学習用特徴情報のいずれかが誤判別特徴情報となる場合、上記判別結果の判別結果が正解となるように所定の処理で該誤判別特徴情報の影響係数の大きさを調整してもよい。
また、上記判別関数は、上記学習用特徴情報それぞれと判別対象の特徴情報とを入力データとするサポート・ベクター・マシン法のカーネル関数値に、それぞれの上記影響係数を掛けて加え合わせた総和であり、上記判別関数修正ステップでは、上記学習用特徴情報の1又は2以上により形成された上記判別関数に、上記判別ステップで誤判別された誤判別特徴情報を新たに追加し、かつ、当該誤判別特徴情報の影響係数の大きさを調整して、上記判別結果の判別結果が正解となるように所定の処理で上記判別関数を修正してもよい。
また、上記判別関数算出ステップでは、上記複数種類の集合における2つの集合の組み合わせ毎に上記判別面を算出して、当該判別面のそれぞれを判別関数とし、上記判別ステップでは、上記判別結果が未知の判別対象を、上記判別関数のそれぞれに基づいて上記2つの集合毎に判別した結果、最も多くの上記判別関数により判別された集合に属すると判別してもよい。
また、上記判別関数修正ステップでは、少なくとも上記誤判別特徴情報の既知の判別結果と上記判別ステップにおける判別結果とが一致するまで、上記判別関数のそれぞれを修正してもよい。
また、上記判別対象は、製品を製造する製造プラントにおいて製造させる上記製品に発生した不良状態であり、上記特徴情報は、上記不良状態を検査した結果得られる1又は2以上の測定値を含んでもよい。
また、上記課題を解決するために、本発明の別の観点によれば、コンピュータに、判別対象が複数種類の集合のいずれに属するのかを該判別対象を特徴付ける特徴量で構成される特徴情報を入力データとする判別関数を用い、その判別関数の出力値である結果に基づいて判別する判別手順を実行させるためのプログラムであって、コンピュータに、判別結果が既知の複数の学習用特徴情報と該学習用特徴情報それぞれに対応付けられた判別結果を表す学習用判別結果情報とに基づいて、学習用特徴情報それぞれを特徴情報による空間上の点として表し、仮想的に規定する写像関数により上記空間上の点を写像した際に写像先の空間上において上記点を判別結果別に線形分離する判別面と、当該判別面までの距離が最短の上記点との距離が最大になるように、サポート・ベクター・マシン法を用いて上記判別面を算出して上記判別関数を導出する判別関数算出手順と、既知の判別結果を有する特徴情報であって、上記判別関数に該特徴情報を入力した結果である判別結果情報と該特徴情報の既知の判別結果とが異なる誤判別特徴情報について、上記判別結果情報と上記既知の判別結果とが一致するように、上記誤判別特徴情報が上記判別関数に対して個別に与える影響度合を表した影響係数をそれぞれ調整し、上記判別関数を修正する判別関数修正手順と、判別結果が未知の判別対象を、該判別対象の特徴情報を入力データとして上記修正された上記判別関数を用いて判別する判別手順と、を実行させるためのプログラムが提供される。
以上説明したように本発明によれば、疵データのような複数の特徴量や要素で構成されるデータについてその適否や良否を判定するために、当該データの学習データを用いてSVMにより判別規則を導出するのに際して、誤判定したデータ点等の所定の判定対象に対して所望の判別結果が得られるように、複数のデータ内のその他のデータ点の判別結果に対する影響を抑えつつ、従来よりも柔軟に判別規則を調整することができる。
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
本発明の各実施形態に係る判別装置は、判別対象のデータ点が複数種類の集合(クラスともいう。)のいずれに属するのかを、その判別対象が有する特徴情報に基づいて判別することができる。なお、ここで「特徴情報」とは、判別対象を特徴付ける様々な情報であって、複数の種類の特徴量により構成される。
また、判別装置は、特徴情報が得られる様々な種類のデータに対して判別対象を判別するような、様々な実施の形態に構成することができる。以下では説明の便宜上、判別装置が表面疵検査装置に適用された場合について説明する。そして、例えば、判別装置の判別対象は、表面疵検査装置が検出した疵の候補データ(疵候補とも記す)であり、疵候補が属するかどうかを判別する複数の集合は、その疵の種類(疵種とも記す)であるとして説明する。
しかしながら、表面疵検査装置は、判別装置が適用された装置の一例であって、判別装置の適用先を限定するものではない。判別装置は、例えば、製品を製造する製造プラントの製造装置の故障状態を判別する装置、製造された製品の分類をする装置、製造された製品に発生した不良状態を判別する装置などにも適用することができる。つまり、判別装置は、所定の測定装置により各種の状態を測定することが可能で、その測定により得られた測定データ(特徴情報)に応じて複数種類に分類される様々な判別対象を判別する装置に適用することができる。この判別装置は、特に製品を製造する製造プラントで製造された製品の不良状態を判別する装置に適用される場合、非常に効果的である。更に、判別装置は、測定数値に対するものだけでなく、例えば、OCR(Optical Character Reader)などの文字認識、音声認識、指紋・網膜・顔等の識別など、パターン認識を行う様々な個所に適用することができる。この判別装置を説明するために、まず、以下では判別装置が適用された表面疵検査装置の概要について説明する。
<表面疵検査装置>
図1は、本発明の各実施形態に係る判別装置が適用された一例である鋼板の表面疵検査装置の構成の概要を説明するための説明図である。図2は、その表面疵検査装置の動作の概要を説明するための説明図である。
図1に示すように、表面疵検査装置1は、光源装置11と、撮像装置12と、画像処理装置13と、判別装置14と、判別結果記憶装置15と、表示装置16と、制御装置17とを有する。
表面疵検査装置1は、鋼板製造プラント(製造プラントの一例)内に配置され、このプラントで製造される鋼板Fの表面に、例えば凹凸欠陥・スクラッチ・デントなどの疵が形成されていないか否かを検査する。そのために表面疵検査装置1は、図1に示すように、ロールR上を通板される鋼板Fに光源装置11から光を照射する。この光は、例えば平行光であってもよい。そして、表面疵検査装置1は、鋼板Fで反射した反射光を撮像装置12により撮像する。撮像画像には、光が照射された鋼板Fの表面の幅方向にわたる領域Tにある疵からの反射光が含まれる。この反射光は、撮像画像中の輝度(強度、階調)の濃淡として撮像される。
画像処理装置13は、撮像装置12が撮像した撮像画像を画像処理して解析し、撮像画像内の輝度の濃淡の分布から疵候補の領域(つまり、疵を表すと推定される領域)をラベリングにより抽出する。この際、各疵候補には、ラベル(識別情報)が付される。そして、画像処理装置13は、画像内でこの疵候補を表した領域について、その形状や輝度等の特徴からなる特徴情報を算出する。この特徴情報には、1又は2以上の種類の特徴を表す値が含まれ、この各値を「特徴量」ともいう。この特徴量としては、例えば、その疵の高さ・深さ・幅・長さ・面積・輝度分布・色分布・形成位置などが挙げられる。そして、画像処理装置13は、この疵候補のラベルとその特徴情報とを対応付けた疵候補データを判別装置14に出力する。
判別装置14は、本実施形態に係る判別装置の一例であって、画像処理装置13から疵候補のラベルと特徴情報とからなる疵候補データを取得する。そして、判別装置14は、以下で説明する判別ロジックに従って、疵候補の疵種を判別する。判別装置14は、判別の結果として判別結果情報を算出する。この「判別結果情報」は、疵候補の判別結果を表す情報であり、具体的な例としては、正又は負の値を取り、その符号により判別結果を示す(例えば正であれば有害疵であり負であれば無害疵を示すなど。)。なお、判別結果情報には、判別装置14が算出した判別結果情報だけでなく、判別結果が既知の特徴情報に対するその判別結果を表した判別結果情報も含まれる。
判別装置14が判別する疵種としては、例えば、擦り疵・欠き疵等の有害な疵種(製品品質に対して与える影響が大きく許容できない疵)、及びそれらの有害度合(深刻度合・グレードなど)、並びに無害な疵(許容しうる疵や単なるノイズなど)の判別を行うが、本実施形態において疵種とは、これらの疵の種類及びその程度の区分を総称して疵種と記す。なお、説明の便宜上、以下では、本発明の第1実施形態に係る判別装置として、特徴情報に基づいて、2種類の疵種のいずれに属する疵であるのかを判別する判別装置について説明する。そして引き続き、本発明の第2実施形態に係る判別装置として、特徴情報に基づいて、2以上の複数種類の疵種のいずれに属する疵であるのかを判別する判別装置について説明する。
そして、判別装置14は、入力値である疵のラベル・特徴情報と、判別結果である判別結果情報とを、判別結果記憶装置15及び表示装置16に出力する。判別結果記憶装置15には、ラベル・特徴情報・判別結果情報が相互に紐付けられて記録される。表示装置16は、ラベル・特徴情報・判別結果情報を表示して、例えば、疵が検出されたこと・疵が有害であるのか無害であるのか・有害である場合どの疵種に属する疵であるのか・その有害度合などといった情報をユーザに通知する。なお、光源装置11・撮像装置12・画像処理装置13・判別装置14・判別結果記憶装置15・表示装置16は、制御装置17により制御され、上記それぞれの動作を行う。
この表面疵検査装置1の動作の概要について、図2を参照しつつ説明する。
まず、ステップS01が処理され、光源装置11から光が照射され、撮像装置12が鋼板Fの照射部を撮像して、輝度分布(又は色分布)を有する撮像画像を出力する。次に、ステップS03に進む。
ステップS03では、画像処理装置13が、当該撮像画像内の輝度分布から疵部の可能性がある領域を疵候補を抽出する。そして、ステップS05に進み、このステップS05では、画像処理装置13が、疵候補を表した画像内の領域について、その疵領域の高さ・深さ・幅・長さ・面積・輝度分布・色分布・形成位置などの疵の特徴情報を算出し、ステップS07に進む。
ステップS07では、判別装置14が、特徴情報から疵種を判別して、判別結果情報を算出する。そして、ステップS09に進み、表示装置16がラベル・特徴情報・判別結果情報などを表示すると共に、判別結果情報は、判別結果記憶装置15に記憶される。なお、表示装置16は、例えば判別結果情報に含まれる判別結果(つまり符合による判別結果)を表示させてもよい。そして更にステップS011に進む。
そして、ステップS11では、制御装置17が製造ラインが停止したか否かを判断する。製造ラインが停止した場合、手動又は製造ラインを制御するプロセスコンピュータからの指令等により表面疵検査装置1は動作を停止する。一方、製造ラインが停止していない場合、表面疵検査装置1は上記ステップS01〜ステップS09を再度繰り返し処理する。
以上、本発明の各実施形態に係る判別装置の適用例である表面疵検査装置1について説明した。表面疵検査装置1は、判別装置14を有することにより、検出した疵候補の疵種を判別することが可能である。次に、以下ではこの判別装置14の各実施形態について説明する。
<第1実施形態に係る判別装置>
図3は、本発明の第1実施形態に係る判別装置の構成について説明するための説明図である。
図3に示す本発明の第1実施形態に係る判別装置100は、疵候補(判別対象)が、二種類の疵種(集合)のいずれに属するのかを、その疵候補の特徴情報に基づいて判別する。なお、本実施形態に係る判別装置100は、図1に示す表面疵検査装置1の判別装置14に相当する。また、上述のように、特徴情報には、例えば、その疵の高さ・深さ・幅・長さ・面積・輝度分布・形成位置などの特徴量が含まれる。この疵候補のデータ点は、各特徴量を座標軸として張られる多次元空間において、特徴情報の各特徴量の値を成分とするベクトルや、各特徴量の値を座標とする空間上の点として表現することができる。この多次元空間を「特徴量空間(特徴情報空間)」ともいう。鋼板の疵検査における当該多次元空間の次元は、100次元以上に及ぶことも珍しくはない。
なお、説明の便宜上、判別装置100が判別する二種類の疵種として、「有害な疵の集合」と「無害な疵の集合」を例に挙げて説明する。つまり、本実施形態に係る判別装置100では、疵候補が有害な疵の集合及び無害な疵の集合のどちらに属するのかが判別される。
図3に示すように、判別装置100は、判別関数作成部110と、判別関数修正部120と、判別部130とを有する。
(判別関数作成部110)
判別関数作成部110は、疵候補の判別に使用する判別関数を作成する。判別関数とは、疵候補の特徴情報を引数(入力値、入力データ)とし判別結果情報を返す(算出する)関数であり、識別関数とも言われる関数である。図3に示すように、この判別関数作成部110は、この判別関数を作成するために、学習データ記憶部111と、判別関数算出部112とを有する。
学習データ記憶部111には、ユーザによって予め入力された複数の学習データが記録されている。
「学習データ」とは、学習機能に学習させて判別関数を作成させるための正解データである。学習データは、特徴情報と、その特徴情報の正しい判別結果情報とを含む。この学習データに含まれる疵の特徴情報及び判別結果情報を、判別対象である他の疵候補の特徴情報及びその判別結果情報と区別するために、ここでは「学習用特徴情報」及び「学習用判別結果情報」ともいう。そして、学習データに含まれる学習用特徴情報と学習用判別結果情報とは相互に紐付けられている。つまり、学習用特徴情報と学習用判別結果情報とは一対一に対応付けられている。
通常この学習データは、鋼板の製造ライン等において、鋼板の検査作業者が実際に検出した多数の疵について、各疵の特徴情報及び当該疵の属する疵種を判定した結果(正解)に基づいて作成されることが多い。このように、学習用特徴情報としては、過去に行われた実験や実際の検査などにより検出された疵候補の特徴情報、人為的に決定された疵候補の特徴情報など、判別結果情報が既知の特徴情報を使用することができる。なお、学習用特徴情報及び学習用判別結果情報は、検査作業者により判別結果情報が先に決定され、その判別結果情報(疵種)に含まれる特徴情報が作成されることにより、作成されてもよい。
以下では、学習データiの学習用特徴情報を、特徴領空間(多次元空間)内で定義されたベクトルであるxで表し、そのベクトルxの学習用判別結果情報を、スカラー値であるyで表す。そして、判別関数に入力する変数である特徴情報を、ベクトルxで表し、その結果算出される判別結果情報をスカラーyで表す。なお、ベクトルx、xの各要素が、それぞれ特徴量を表す。なお、学習用特徴情報x学習用判別結果情報yに付している疵を識別するためのiは、1〜nの正の整数であり、nは、学習データの個数を表す。また、有害な疵の集合及び無害な疵の集合を、それぞれクラスX1及びクラスX2で表す。
判別関数算出部112は、学習データ記憶部111から複数の学習データを取得する。そして、その学習データそれぞれに含まれる学習用特徴情報xと学習用識別情報yとに基づいて、判別関数を算出する。判別関数算出部112は、SVM(サポート・ベクター・マシン法:Support Vector Machine)による学習機能を有し、このSVMにより、判別関数を算出する。なお、ここで言うSVMは、例えば線形SVM・非線形SVMなどあらゆるSVMであってもよい。
このSVMによる判別関数の算出方法を簡単に説明すると以下の通りである。
まず、判別関数算出部112は、各学習データiの学習用特徴情報xを、特徴量空間上の点(ベクトルx)として表す。この各学習データを特徴量空間上の点として表した例を、図4に示す。○(白抜きの丸)、□(白抜きの四角)、●(黒塗りの丸)、■(黒塗りの四角)などが、それぞれ学習データの点を表す。また、図4には、説明の便宜上、特徴量空間として、2次元の空間を示し、特徴情報を構成する2つの元として第1特徴量と第2特徴量とを示す。なお、実際の特徴量空間は、特徴情報を構成する特徴量の数だけ次元を有することになる。
そして次に、判別関数算出部112は、仮想的に規定する写像関数φにより点を写像した際に、写像先の空間(以下「写像空間」ともいう。)上において各点を判別結果別に線形分離する判別面(超平面)であって(第1の条件)、その判別面までの距離が最短の点との距離が最大になる判別面(第2の条件)を算出する。
この判別面は、写像元の特徴量空間に再度写像(すなわち逆写像)されると曲面で表される。なお、図4では、特徴量空間を2次元で表しているため、曲面は曲線(判別境界B12)で表される。この写像空間における判別面、特徴量空間における曲面又は曲線をここでは総称して「判別境界B12」とも言う。この判別境界B12は、クラスX1(有害な疵の集合)とクラスX2(無害な疵の集合)とを分離する境界線(3次元以上では境界面)を表す。図4には、クラスX1に属する学習データの点(ベクトルx)を○及び●(丸)で表し、クラスX2に属する学習データの点(ベクトルx)を、□及び■(四角)で表した。
そして、判別関数算出部112は、判別面を表す判別関数g(x)を学習データを用いて導出して設定する。この判別関数は、下記の式の形式で表されるとする。この式の右辺の各係数を多数の学習データxを用いて以下で説明する処理により決定する。そして、決定された判別関数は、その後、疵候補の特徴情報を入力データとして、その出力値を判別結果として出力するのに用いられる。
Figure 0005298552
上記判別関数g(x)に、判別を行いたい判別対象(疵)の特徴情報(ベクトルx)を代入すれば、判別関数g(x)は、判別結果情報yを出力する。この判別結果情報yは、例えば、判別対象がクラスX1に判別される場合、正の値になり、判別対象がクラスX2に判別される場合、負の値となる。つまり、判別関数g(x)は、算出値の符合により二種類の集合を判別することができる関数である。
[SVM(Support Vector Machine)の説明]
まず具体的に、判別関数算出部112による判別関数g(x)の算出過程、ひいてはSVMについて説明すると以下の通りである。なお、ここでは、判別結果情報が判っていない判別対象を「未知判別対象」と呼び、その特徴情報を「未知特徴情報」と呼ぶ。また、学習用判別結果情報を含む、既知の判別結果情報のことを「教師判別結果情報(教師データ)」ともいう。
SVMは、下記式(1)の形で表される判別関数(識別関数)を用いる。この判別関数は、判別関数算出部112により複数の学習データを用いて導出される。
Figure 0005298552
ここで、ベクトルwは、学習データを用いて決定されるべき係数ベクトルを表し、その次元はnである。また、ベクトルxは、入力ベクトル(つまり判別対象の特徴情報x)を表し、スカラーbは、学習データを用いて決定されるべきスカラー定数を表す。
(I)第1の条件
上述のように、ベクトルxを代入した結果g(x)より算出される判別結果情報(スカラーy)が、正のときには「ベクトルxはクラスX1である」と判別し、負のときには「ベクトルxはクラスX2である」と判別する。同様に、学習データiのベクトルxに対するスカラーyiも、正であればクラスX1を表し、負であればクラスX2を表す。このスカラーyを定式化すると、下記式(2)となる。
Figure 0005298552
このときSVMが学習すべき制約条件は、i=1,2,…,nに対して下記式(3)を満たすという条件になる。
Figure 0005298552
ここで、スカラーξ(≧0)は、ベクトルxiを誤って判別したときに非零となるスラックス変数を表し、判別関数による誤判別を許容するための項である。そして、上記式(2)及び式(3)をまとめて、SVMが学習すべき制約条件は、下記式(4)及び式(5)で記述される。
Figure 0005298552
(II)第2の条件
一方、判別関数算出部112は、g(x)=0で表される判別境界B12と、その判別境界B12までの距離が最短のベクトルxとの間の距離が、最大となるように判別関数g(x)を導出して決定する。この距離は、マージンとも呼ばれ、1/||w||で表される。よって、判別関数算出部112は、このマージンを最大化させるように判別関数g(x)を導出する。このマージン最大化は、下記式(6)で表される評価関数G(w)を最小化するという最小化問題に帰着することができる。また、上述のようにスカラーξは、誤判別を許容するための項であるので、この式(6)は、誤判別を減少させ、かつ、マージンを最大化させる判別関数を意味する。すなわち、式(6)の右辺の第1項は、上記マージンの逆数であり、第2項は、各学習データXに対して許容した誤判別のデータ全体にわたる総和を表している。いずれの項も最小化するのが目的であるが、次元が異なるため重みパラメータCを第2項に乗じた線形和を評価関数G(w)とする。
Figure 0005298552
この最適化問題を解くために、評価関数G(w)を主問題Pとする双対問題Dを導く。つまり、判別関数算出部112は、この最小化問題をラグランジュ未定定数法によって解く。ラグランジュ変数λ(≧0)、γ(≧0)を導入すると、ラグランジュ関数Lは、下記式(7)で表される。
Figure 0005298552
このラグランジュ関数を解くことができるための必要十分条件、つまり、主問題Pを解くための必要十分条件は、KKT(Karush-Kuhn-Tucker)条件より下記式(8)〜式(10)となる。
Figure 0005298552
最適化された係数ベクトルwを、wとすると、式(8)は、移行して下記式(11)となる。
Figure 0005298552
また、最適化されたスカラー定数bを、bとすると、ラグランジュ関数Lは、式(7)から下記式(12)の関数Fのように記述できる。
Figure 0005298552
つまり、この式(12)の関数Fが双対問題Dの評価関数となり、この評価関数Fを最大化することにより、最適化された係数W及び最適化されたスカラー定数bを求めて、判別関数g(x)を導出することができる。
なお、上記式(12)中の第2項は、上記式(9)を用いて下記式(13)のように計算され、上記式(12)中の第3項は、上記式(10)を用いて下記式(14)のように計算される。
Figure 0005298552
従って、上記双対問題Dの評価関数Fは、下記式(15)で表される。そして、この式(15)を最大化することとなる。なお、この式(15)では、右辺の変数からラグランジュ変数γが消えている。
Figure 0005298552
この式(15)を最大化するための制約条件は、上記式(9)より導かれる下記式(16)と、上記式(10)及びγ≧0より導かれる下記式(17)との2式となる。
Figure 0005298552
以上をまとめると、式(11)の右辺に各学習データiの特徴情報(ベクトルxi)を入力データとして代入した結果λの関数として表されるWを、式(15)の右辺に代入しながら、式(16)及び式(17)の条件の下に公知の探索的な収束計算法により、式(15)が最大値をとるように、最適化されたラグランジュ変数λすなわちλ を決定する。
そして、判別関数算出部112は、決定したλ と上記式(11)とから、wを算出する。また、最適化されたスカラー定数bは、当該式(4)(等号部分)を用いてw=wとし、ある学習データiの特徴情報のベクトルxと判別結果情報yとを代入して算出する。よって、学習データを学習した結果の判別関数g(x)(上記式(1))は、記号「(・,・)」をベクトルの内積として、下記式(18)となる。
Figure 0005298552
式(18)から判るように第1項において、係数である最適化されたラグランジュ変数λ >0となるxだけが判別関数g(x)を形成し、λ =0となるxは判別関数g(x)の値に寄与しない。そのために、この判別関数g(x)を形成しているベクトルxを「サポートベクトル」と呼ぶ。
このサポートベクトルの概要を、上述の図4を用いて説明する。図4は、本実施形態における特徴量空間の概略図である。図4に示すベクトルx中、記号●,■(黒塗りの丸又は四角)で示した点がサポートベクトルを表す。このサポートベクトルは、判別境界B12に近接したベクトルxとなる。つまり、判別関数g(x)は、全学習データにおける判別面に近接したベクトルxの線形結合により式(18)で表される。また、ベクトルxを含む各項の係数は、最適化されたラグランジュ変数λ となっているので、この非零である変数λ は、判別関数g(x)に対して各ベクトルxが与える影響度合を表していることがわかる。この変数λ をここでは、影響度係数ともいう。
次に、非線形のSVMでは、仮想的に想定される写像関数φ(x)を使用して写像空間に写像した際に、その写像空間上において各ベクトルxやベクトルxを線形分離する判別面を算出することになる。そこで、仮想的に想定される写像関数φ(x)によりベクトルxやベクトルxなどを、特徴量空間よりも高次元の仮想的な写像空間に写像することを考える。この写像関数φ(x)を使用すると、特徴量空間において判別関数g(x)は上記式(18)で表されたが、当該写像空間において、新たな判別関数g(x)は下記式(19)で表される。なお、記号「(φ(x),φ(x))」は、写像空間上での内積を表す。
Figure 0005298552
SVMでは、下記式(20)のような関数K(x,x’)が存在する写像関数φ(x)を構築することができることが知られている。この関数K(x,x’)は、カーネル関数と呼ばれ、写像空間上におけるxとx’の内積(類似度)を返す関数である。当該カーネル関数K(x,x’)は、SVM法では公知の関数であって、これを用いて式(19)の右辺を計算することができる。
Figure 0005298552
このカーネル関数Kを使用することにより、上記式(19)で表された判別関数g(x)は、更に下記式(21)になる。
Figure 0005298552
以上説明したようなSVMの学習機能を利用して、判別関数算出部112は、式(21)で表される判別関数を導出して決定することができる。なお、このSVMによる学習機能の詳しい説明は、上記非特許文献2に記載されている。
(判別関数作成部110の動作)
この判別関数作成部110による判別関数を作成する動作について説明する。図5は、本発明の第1実施形態に係る判別装置による判別関数の作成動作及び作成時の修正動作のフローを説明する説明図である。
図5に示すように、まず、ステップS101で、判別関数算出部112が学習データ記憶部111から複数の学習データを取得する。そして、ステップS103(判別関数算出ステップ)で、判別関数算出部112が上記SVMの説明で記載した各計算を行うことにより、判別関数(上記式(21))を算出する。その後、算出された当該判別関数は、ユーザの指示等により、誤った判別をしないように修正されるが、この作成時の修正動作(ステップS201以降)については、後述する。
(判別関数修正部120)
再び図3を参照して、判別装置100が有する他の構成の説明に戻る。
判別関数修正部120は、判別関数作成部110が作成した判別関数g(x)を取得する。そして、判別関数修正部120は、この判別関数による判別結果が誤っている疵候補のデータ(特徴情報x)が存在する場合、当該疵候補の特徴情報に対しても正しい判別結果を算出するように判別関数を修正する。この判別結果が誤っている特徴情報を、他の特徴情報xと区別するために「誤判別特徴情報」ともいう。また、判別結果が誤っている場合とは、判別関数が算出した判別結果情報の符合が誤っている(逆である)場合を意味する。なお、多数ある学習データのうちの一部の学習データの学習用特徴情報が誤判別情報になることもあるし、学習データではない別の疵候補の特徴量情報、すなわち未知特徴情報が誤判別情報になることもありうる。判別関数修正部120は、誤判別特徴情報となった学習用特徴情報及び未知特徴情報の両方に対して、判別関数を修正することができる。これらの特定の学習データや別の疵候補、及びその特徴情報は通常ユーザにより指定される。なお、多数の学習データのうちに誤った判別結果が含まれることがある理由は、例えば検査作業者が誤判別をしたり、特徴情報自体が判別するのが困難なほど微妙なグレーゾーンにあることなどに依るものである。
そのために判別関数修正部120は、重要学習データ選択部121と、判別関数確認部122と、係数算出部123と、判別関数調整部124と、誤りデータ入力部125とを有する。
学習データの学習用判別特徴情報が誤判別特徴情報であるか否かは、重要学習データ選択部121と判別関数確認部122との動作により確認される。そして、係数算出部123及び判別関数調整部124により判別関数の修正が行われる。この学習データに対する判別関数の修正を、「作成時の修正」と呼ぶ(学習データの誤り判定の調整)。
一方、判別結果が未知の未知判別対象が誤って判別された場合、つまり、未知特徴情報が誤判別特徴情報である場合、ユーザが誤りデータ入力部125で、未知判別対象の未知特徴情報とその教師判別結果情報(正しい判別結果情報)とを係数算出部123に入力する。なお、この誤判別特徴情報であった未知特徴情報と、その教師判別結果情報とを合わせて「誤りデータ」ともいう。そして、誤りデータに対して、係数算出部123及び判別関数調整部124により判別関数の修正が行われる。この誤りデータに対する判別関数の修正を、「作成後の修正」と呼ぶ(学習データでないデータの誤り判定の調整)。
より具体的にこれらの各構成部について説明する。
重要学習データ選択部121は、作成時の修正において、学習データ記憶部111に記録された学習データのうち、特に重要な学習データ(以下「重要学習データ」ともいう。)を選択して取得する。重要学習データとは、誤った判別が許容できない学習データのことを意味する。重要学習データとしては、例えば、以下のような学習データが挙げられる。ただし、これらの重要学習データの例は、重要学習データを限定するものではない。
(1)ユーザが設定した学習データ
(2)所定の特徴量が閾値を超えている学習データなど、所定の計算により算出される重要度が高い学習データ
(3)各学習データに対応付けられて学習データ記憶部111に記録された重要度が高い学習データ
判別関数確認部122は、作成時の修正において、正確な判別を行うことができる判別関数が算出されたか否かを、重要学習データを使用して確認する。より具体的には、判別関数確認部122は、判別関数算出部112が算出した判別関数に、重要学習データの学習用特徴情報を代入する。そして、判別結果情報を算出する。そして、判別関数確認部122は、この算出した判別結果情報が示す判別結果が、重要学習データの学習用判別結果情報が示す正しい判別結果と等しいか否か、つまり符合が一致するか否かを確認する。なお、判別結果情報の数値までが一致している必要はない。換言すれば、判別関数確認部122は、重要学習データの学習用特徴情報が誤判別特徴情報となるか否かを確認する。判別関数確認部122は、判別結果が正しい場合には、判別関数を判別部130に出力し、判別結果が正しくない場合には、その正しくない結果が導かれた重要学習データと、判別関数とを係数算出部123に出力する。
係数算出部123は、作成時の修正における動作として、重要学習データの誤判別特徴情報に対しても正しい判別結果が導かれるように、その誤判別特徴情報(x)に対する新たな影響係数(λ’)を算出する。そして、係数算出部123は、算出した影響係数及び判別関数を判別関数調整部124に出力する。
判別関数調整部124は、作成時の修正における動作として、判別関数を形成している重要学習データの誤判別特徴情報(x)の影響係数(λ)を、上記係数算出部123が算出した影響係数(λ’)に変更することにより判別関数を調整する。そして、判別関数調整部124は、調整した判別関数を、判別部130で実際の判別に使用する判別関数に設定する。
一方、誤りデータ入力部125は、作成後の修正において、誤りデータをユーザの指示により係数算出部123に入力する。この誤りデータ入力部125は、制御装置17やユーザによって制御される。そして、実際に疵候補を判別した際に、判定が誤っていた疵候補が発見されると、誤りデータ入力部125は、制御装置17又はユーザによって操作されて、その疵候補の未知特徴情報及び教師判別結果情報(正しい判別結果情報)とを誤りデータとして係数算出部123に入力する。
上記係数算出部123は、作成後の修正における動作として、判別部130が判別に使用している判別関数を取得する。そして、係数算出部123は、誤りデータの誤判別特徴情報(x’)に対しても正しい判別結果が導かれるような新たな影響係数(λ’)を算出する。なお、この係数算出部123による影響係数の算出過程は、作成時の修正と作成後の修正とでは異なる。そして、係数算出部123は、算出した影響係数及び判別関数を判別関数調整部124に出力する。
上記判別関数調整部124は、作成後の修正における動作として、誤りデータの誤判別特徴情報(ベクトルx’)を、サポートベクトルとして判別関数g(x)に新たに追加する(組み込む)ことにより判別関数を調整する。その際、判別関数調整部124は、誤りデータの影響係数として、係数算出部123が算出した影響係数(λ’)を使用する。そして、判別関数調整部124は、調整した判別関数を、判別部130で実際の判別に使用する判別関数に設定する。
この判別関数修正部120による修正動作について説明する前に、判別装置100が有する他の構成である判別部130について説明する。
(判別部130)
判別部130は、判別関数調整部124により設定された判別関数を使用して、疵の候補(判別対象)を判別する。つまり、判別部130は、疵の候補の特徴情報xを判別関数g(x)に代入し、判別結果情報yを算出する。そして、判別部130は、算出した判別結果情報yの符合が正であるか負であるかに応じて、その疵の候補が有害な疵の集合(クラスX1)に属するのか、又は、無害な疵の集合(クラスX2)に属するのかを判別して、判別結果を出力する。この際、判別部130は、判別結果だけでなく、特徴情報x及び判別結果情報yなどを出力してもよい。
(判別部130の判別動作)
この判別部130による判別動作について、図6を参照しつつ説明する。
図6は、本発明の第1実施形態に係る判別装置による判別動作について説明するための説明図である。
図6に示すように、判別部130は、判別ステップとして、以下のステップS301〜ステップS305を処理する。より具体的には、判別部130は、未知判別対象の未知特徴情報(判別を行いたい疵候補の特徴情報)を取得すると、ステップS301を処理する。このステップS301では、判別部130は、未知特徴情報xを、設定されている判別関数g(x)に代入する。そして、ステップS303に進み、判別関数による計算が行われて判別結果情報yを算出する。ステップS303の処理後はステップS305に進み、判別部130は、判別結果情報に応じた判別結果を出力する。
(判別関数修正部120による修正動作について)
ここで上記判別関数修正部120による判別関数の修正についてより詳細に説明する。
重要学習データを誤って判定した場合や、誤りデータが発生した場合、重要学習データ又は誤りデータの誤判定特徴情報も、特徴量空間上の点として表すことができる。この誤判定特徴情報をベクトル(空間上の点)x’又はxで表し、図7A及び図7Bに示す(j=1〜n)。なお、誤った判定は、ベクトルx’又はxをクラスX2(y<0)に属すると判定すべきであったところを、誤ってクラスX1(y>0)に属すると判定してしまった場合やその逆の場合を意味する。図7A及び図7Bには、判別関数(判別境界B12)は、ベクトルx’又はxがクラスX2に属するように特徴量空間を区切らねばならないところ、ベクトルx’又はxがクラスX1に属するように特徴量空間を区切っている場合を示した。このような判別関数が算出されると、ベクトルxが重要学習データである場合には、判別関数確認部122がこの重要学習データを検出する。一方、ベクトルx’が誤りデータである場合には、誤りデータ入力部125がこの誤りデータを入力する。そして、判別関数確認部122は、作成時の修正又は作成後の修正により判別関数を修正する。
[作成時の修正について]
この作成時の修正についてより詳細に説明する。
作成時の修正について説明する前に、算出された判別関数を構成するサポートベクトルと学習データとの関係について説明する。
SVMでは、KKT(Karush-Kuhn-Tucker)の相補性条件より下記式(22)及び式(23)が成立する。
Figure 0005298552
また、学習データ(x)がサポートベクトルとならなかった場合には、上述の通り、λ =0となる。よって、上記式(10)より下記式(24)が導かれ、式(24)と上記式(23)とから下記式(25)が更に導かれる。
Figure 0005298552
この式(25)と上記式(4)とから下記式(26)が導かれる。
Figure 0005298552
式(26)からは、yが負の場合には判別関数の計算結果も負になり、yが正の場合には判別関数の計算結果も正となることが判る。つまり、判別関数算出部112により算出された判別関数は、サポートベクトルとならなかった学習データ(x)に対しては必ず正しい判別を行えることが判る。
一方、学習データ(x)がサポートベクトルである場合には、上述の通り、λ ≠0となる。よって、上記式(22)より、下記式(27)が導かれる。
Figure 0005298552
このλ は、上記式(17)より0〜Cまでに値を取るので、このλ について以下のケースA及びケースBに場合分けをする。
ケースA)0<λ <Cのとき
上記式(10)より下記式(28)が導かれ、γ≠0となるため、式(23)より下記式(29)が導かれる。
Figure 0005298552
よって、この式(29)と上記式(27)とから、下記式(30)が導かれる。
Figure 0005298552
式(30)からは、yが負の場合には判別関数の計算結果も負になり、yが正の場合には判別関数の計算結果も正となることが判る。つまり、判別関数算出部112により算出された判別関数は、サポートベクトルとなった学習データ(x)のうち0<λ <Cとなる学習データに対しても必ず正しい判別を行えることが判る。
ケースB)λ =Cのとき
一方、ケースBの場合、上記式(10)より、下記式(31)が導かれる。
Figure 0005298552
そこで、更にξについて、上記式(5)の範囲内でケースB1及びケースB2に場合分けをする。
ケースB1)0≦ξ≦1のとき
上記式(27)より、下記式(32)が導かれる。
Figure 0005298552
よって、式(32)からは、yが負の場合には判別関数の計算結果も負になり、yが正の場合には判別関数の計算結果も正となることが判る。つまり、判別関数算出部112により算出された判別関数は、サポートベクトルとなった学習データ(x)のうち、λ =C、0≦ξ≦1となる学習データに対しても必ず正しい判別を行えることが判る。
ケースB2)1<ξのとき
同様に上記式(27)より、下記式(33)が導かれる。
Figure 0005298552
よって、式(33)からは、yが負の場合には判別関数の計算結果は正になり、yが正の場合には判別関数の計算結果は負となることが判る。つまり、判別関数算出部112により算出された判別関数は、サポートベクトルとなった学習データ(x)のうち、λ =C、1<ξとなる学習データに対しては必ず誤った判別を行ってしまうことが判る。
つまり、以上で説明したサポートベクトルと学習データとの関係から、誤った判定がなされる学習データは、サポートベクトルであり、かつ、λ =C、1<ξとなることが判る。
そこで、判別関数修正部120は、図5に示すように、作成時には以下のような修正動作を行う。なお、誤った判定がなされる重要学習データの学習用特徴情報(誤判別特徴情報)をベクトルx(jは1〜nまでの整数)とし、その正しい判別結果を表す学習用判別結果情報(教師判別結果情報)をyとする。この場合、ベクトルxにより判別関数g(x)が算出する判別結果情報yは、下記式(34)で表される。
Figure 0005298552
まず、判別関数修正部120は、判別関数作成部110から判別関数を取得すると、図5に示すようにステップS201を処理する。このステップS201では、重要学習データ選択部121が、学習データ記憶部111から重要学習データを選択して取得する。そして、ステップS203に進む。
ステップS203では、判別関数確認部122が、重要学習データの学習用特徴情報xを判別関数g(x)に代入して判別結果情報yを算出する。そして、ステップS205に進む。
ステップS205では、判別関数確認部122が、判別関数が正しい判別を行うか否かを確認する。つまり、判別結果情報yの符合が、学習用判別結果情報yの符合と一致するか否かを確認する。両者の符合が一致する場合、判別関数確認部122は正しい判別結果である判断して、ステップS211に進む。一方、両者の符合が一致しない場合、判別関数確認部122は誤った判別結果である判断して、ステップS207に進む。
ステップS207では、係数算出部123が、判別結果情報yが学習用判別結果情報yと一致するように(符合が一致するように)、影響係数λ’を算出する。より具体的には、係数算出部123は、下記式(35)を満たすように影響係数λ’を算出する。そして、ステップS209に進む。
Figure 0005298552
ステップS209(判別関数修正ステップ)では、判別関数調整部124が、上記算出された影響係数λ’を使用して影響係数λを調整し、判別関数を修正する。より具体的には、上述したように誤り判定された重要学習データは、判別関数のサポートベクトルとなっている。そこで、判別関数調整部124は、誤判定された重要学習データの学習用特徴情報xの影響係数λを、係数算出部123が算出した影響係数λ’に変更する。そして、判別関数調整部124は、判別関数作成部110が作成した判別関数g(x)を、下記式(36)で表される新たな判別関数g(x)へと修正する。そして、ステップS211に進む。
Figure 0005298552
ステップS211では、判別関数調整部124が、判別部130が判別に使用する判別関数を、修正した判別関数g(x)に設定する。そして、判別関数の作成動作及び修正動作は終了する。
このように影響係数λ’を変更することは、判別関数における判別結果を直接変更する操作に該当する。つまり、一般のSVMでは、上記式(17)により影響係数λに上限が決定されているので、重要学習データを誤って判定する判別関数を算出してしまう可能性がある。しかしながら、本実施形態に係る判別装置100は、誤判定された重要学習データに対してのみ影響係数λを上記式(17)を超えて調整する。よって、図7A又は図7Bに概念的に示すように、判別装置100は、判別境界B12が誤り判定された学習データxをも正しく区画するように、判別境界B12を湾曲(曲線B−1、図7B参照。)させたり、判別境界B−2による分離した領域を形成させることができる。よって、判別装置100は、他の特徴情報の判別結果に与える影響を抑えつつ、誤って判定してしまった判定対象に対して所望の判別結果が得られるように判別関数(つまり判別規則)を調整することができる。
[作成後の修正について]
以上、判別関数修正部120による修正動作のうち作成時の修正について説明した。
次に、図8を参照しつつ、他の修正動作である作成後の修正について詳細に説明する。図8は、本発明の第1実施形態に係る判別装置による判別関数の作成後の修正動作について説明するための説明図である。
なお、SVMでは、学習データでない誤りデータがあり、この誤りデータが許容することができないデータである場合には、その誤りデータをも正しく判定するように再学習させる必要、つまり、判別関数を再度作成し直す必要がある。判別関数を再度作成するには、判別関数算出部112が、誤りデータを学習データに加えて再度上記最適化計算を実行する必要がある。
しかし、一般に表面疵検査装置1において学習データの個数は数千個、それぞれの学習用特徴情報の特徴量も数百個を超える場合も珍しくない。よって、誤りデータが発生する度にこの再学習を繰り返すのでは、莫大なメンテナンスコストや時間が必要となる。
そこで、本実施形態に係る判別装置100は、上記構成を有することにより、以下のような動作を行う。なお、誤りデータを、ベクトルx’とし、その正しい判別結果を表す教師判別結果情報をy’とする。この場合、ベクトルx’により判別関数が算出する判別結果情報yは、下記式(37)で表される。
Figure 0005298552
まず、教師判別結果情報がy’=+1であるのに、判別結果情報がy=g(x’)<0であった場合について説明する。
図8に示すように、まず、ステップS401が処理され、誤りデータ入力部125が、誤りデータを係数算出部123に入力する。つまり、誤りデータ入力部125は、誤りデータの未知特徴情報x’(誤判別特徴情報)と、その正しい判別結果である教師判別結果情報y’とを係数算出部123に入力する。そして、ステップS403に進む。
ステップS403では、係数算出部123が、判別結果情報yが教師判別結果情報y’と一致するように(符合が一致するように)、影響係数λ’を差出する。より具体的には、係数算出部123は、下記式(38)を満たすように影響係数λ’を算出する。そして、ステップS405に進む。
Figure 0005298552
ステップ405では、判別関数調整部124が、誤りデータの誤判別特徴情報x’をサポートベクトルとして判別関数g(x)に追加する。より具体的には、判別関数調整部124は、判別部130で使用されている判別関数g(x)に、誤判別特徴情報x’で記述される項を追加することにより、判別関数g(x)を下記式(39)で表される判別関数g(x)へと修正する。そして、ステップS407に進む。
Figure 0005298552
ステップS407では、判別関数調整部124が、判別部130が判別に使用する判別関数を、修正した判別関数g(x)に設定する。そして、判別関数の作成動作及び修正動作は終了する。
その結果、誤りデータx’に対して判別部130で算出される判別結果情報は、下記式(40)に示すように正となる。
Figure 0005298552
なお、教師判別結果情報がy’=−1であるのに、判別結果情報がy=g(x’)>0であった場合も、同様に修正することができる。この際、ステップS403において、係数算出部123は、下記式(41)を満たすように影響係数λ’を算出する。その結果、未知特徴情報x’に対して判別部130で算出される判別結果情報yは、下記式(42)に示すように負となる。
Figure 0005298552
上述のように、影響係数λ’を算出して、誤りデータをサポートベクトルとして判別関数に導入`することも、判別関数における判別結果を直接変更する操作に属する。この修正前のSVMの判別関数は、学習データの学習用特徴情報であるサポートベクトルの線形結合で表される。よって、一般には、学習データでない誤りデータについて正しい判別結果を得るためには、再度判別関数を算出する必要がある。しかしながら、本実施形態に係る判別装置100は、学習データとは異なる誤りデータをサポートベクトルとして判別関数に追加することにより、判別関数を調整することができる。よって、他の特徴情報の判別結果に与える影響を抑えつつ、誤って判定してしまった判定対象に対して所望の判別結果が得られるように判別関数(つまり判別規則)を調整することができる。
<第2実施形態>
以上、本発明の第1実施形態に係る判別装置100について説明した。
次に、図9を参照しつつ、本発明の第2実施形態に係る判別装置200について説明する。図9は、本発明の第2実施形態に係る判別装置の構成について説明するための説明図である。
図9に示す本実施形態に係る判別装置200は、疵候補(判別対象)が、3以上の複数種類の疵種(集合)のいずれに属するのかを、その疵候補の特徴情報に基づいて判別する。なお、本実施形態に係る判別装置200は、図1に示す表面疵検査装置1の判別装置14に相当する。
この判別装置200も、上記第1実施形態に係る判別装置100と同様のSVMの判別関数を使用して、疵種の判別を行う。上述のようにSVMの判別関数は、二種類の集合(クラス)の判別を判別結果情報の符合で表す。よって、判別装置200は、N種類のクラス(N>2)の判別を行う場合、個の判別関数を使用する。つまり、判別装置200は、N種類のクラス中の2種類のクラスの判別を行う判別関数を、クラスの組み合わせの個数(判別境界の個数)だけ使用する。そして、判別装置200は、多数決により、どのクラスに属するかの判別を行う。つまり、判別装置200は、未知判別対象の未知特徴情報xを、複数の判別関数に代入し、判別結果情報yが最も多く示したクラスに未知判別対象が属すると判別する。ここでは、1又は2以上の判別関数が1のクラスを示した場合、そのクラスを示した判別関数の個数を、そのクラスが獲得した「票」ともいう。そして、複数のクラスをX1、X2、X3、…とした場合、各クラスの得票数をn1、n2、n3、…とする。つまり、判別装置200は、「未知判別対象xは得票数nkが最も多いクラスXkに属する(k=1〜N)」と判別する。なお、1つのクラスは、N−1個の判別関数により判別されるので、1つのクラスの最大得票数は、N−1となる。
このように判別装置200は、上記第1実施形態に係る判別装置100における二クラスの判別を複数回行うことにより、3以上のクラスの判別を行う。よって、判別装置200は、第1実施形態に係る判別装置100と共通する構成及び動作が多いので、以下では、第1実施形態に係る判別装置100との相違点を中心に説明する。
図9に示すように、判別装置200は、第1実施形態に係る判別装置100が有する判別関数修正部120と判別部130に代えて、判別関数修正部220と判別部230とを有する。なお、判別装置200が有する判別関数作成部110は、第1実施形態に係る判別装置100と同様の構成により、複数の判別関数を算出する。
判別部230は、判別部の一例であって、上述の通り、複数の判別関数を使用して、未知判別対象の未知特徴情報を、これらの判別関数に代入する。そして、判別部230は、各クラスXkの得票数を計算する。そして、判別部230は、得票数nkの最も多いクラスXkを判定結果として出力する。なお、判別部230の他の動作は、上記第1実施形態に係る判別部130と同様である。
判別関数修正部220は、第1実施形態に係る判別関数修正部120が有する構成に加えて、更に、得票数確認部226と、判別関数選択部227とを有する。なお、この判別関数修正部220が1の判別関数に対して行う判別関数の修正は、上記第1実施形態に係る判別関数修正部120が行う判別関数の修正と同様である。しかし、判別部230が正しい判別結果を導くように判別関数を修正するために全ての判別関数を修正することは、必ずしも必要ではなく、1又は2以上の判別関数を選択して、その判別関数を修正すればよい場合がある。この修正する判別関数を選択するために、判別関数修正部220は、上記得票数確認部226と、判別関数選択部227とを有する。以下では、この修正する判別関数の選択動作を中心に各構成及び動作を説明する。
なお、作成時の修正(重要学習データに対する修正)では、作成時に判別関数確認部122が全ての判別関数を1つ1つ確認すれば、誤った判別を行った判別関数をその都度修正して全ての判別関数を修正することは、容易である。しかしながら、作成後の修正(誤りデータに対する修正)では、判別関数は既に作成されており、かつ、1つ1つの判別関数を確認して全ての判別関数を修正するには、メンテナンスコスト及び時間が必要である。よって、判別関数を選択して修正することは、特に、作成後の修正において、効力を発揮する。よって、以下では、この作成後の修正を例に挙げて、判別関数の選択動作を説明する。ただし、作成時の修正における判別関数の選択動作も、下記で説明する作成後の修正の場合と同様に実施することができ、かつ、判別規則の構築時のコスト及び時間を節約できることは言うまでもない。
得票数確認部226は、誤りデータ入力部125から誤りデータを取得する。この誤りデータの取得をトリガーとして、得票数確認部226は、判別部230から各クラスXkの得票数nkを取得する。そして、得票数確認部226は、誤りデータの教師判別結果情報が表す正しいクラスXt(t=1〜N)が判別されるために、何個の判別関数を修正する必要があるのか、つまり得票数ntを何個増やせば誤りデータが正しいクラスXtに判別されるのかを確認する。
この得票数確認部226による得票数nkの確認では、最大得票モードと最小得票モードとが存在する。最大得票モードは、クラスXtが最大の得票数ntで選出されるように、判別関数を調整するモードであり、最小得票モードは、クラスXtが最小の得票数ntで選出されるように、判別関数を調整するモードである。
最大得票モードでは、正しいクラスXtと、他のクラスXo(o=1〜N,o≠t)とを判別する判別関数を全て修正数することにより、クラスXtが最大得票数N−1で選出される。よって、得票数確認部226は、修正する必要のある判別関数の個数ΔnをN−1に設定する。
一方、最小得票モードでは、まず、得票数確認部226は、各クラスXkの得票数nkを確認し、正しいクラスXtの得票数ntよりも多い得票数noを得ているクラスXoを特定する(nt<no)。そして、得票数確認部226は、必要のある判別関数の個数Δnを1に設定する。つまり、この最小得票モードでは、正しいクラスXtの得票数ntが、他のクラスの得票数noよりも大きくなるまでΔnを1に設定し、必要投票数に達してnt>noとなったらΔnを0に設定する。
なお、作成時の修正では、得票数確認部226は、誤りデータの変わりに、判別関数確認部122による確認結果が誤っていた場合に動作を開始する。そして、得票数確認部226は、判別関数確認部122が判別関数を確認した際に算出された判別結果情報を累積して得票数nkを算出する。また、得票数確認部226は、判別関数確認部122から取得した学習用判別結果情報から、正しいクラスXkを特定する。
判別関数選択部227は、得票数確認部226から、修正すべき判別関数の個数Δn及び正しいクラスXkを取得する。判別関数選択部227は、更に、判別部230から、クラスXkを判別先のクラスとしているN−1個の判別関数及びその判別関数の判別結果情報yを取得する。そして、判別関数選択部227は、取得した判別関数に、その判別結果情報yの絶対値の小さい順に順位を付ける(ソート)。更に、判別関数選択部227は、個数Δnだけの判別関数を、係数算出部123に出力して、係数算出部123及び判別関数調整部124に判別関数を修正させる。この際、判別関数選択部227は、順位が小さい順に判別関数を出力する。つまり、判別関数選択部227は、上位の判別関数を出力する。また、判別関数選択部227は、1の修正においては、一端出力した判別関数以外の判別関数を出力する。つまり、既に修正した判別関数は出力しない。
よって、最大得票モードでは、クラスXkを判別先のクラスとしているN−1個の判別関数の修正が行われる。一方、最小得票モードでは、正しいクラスXtが選出されるまで、判別結果情報yの絶対値が小さい順に判別関数の修正が行われる。
なお、作成時の修正では、判別関数選択部227は、判別関数確認部122から、クラスXkを判別先のクラスとしているN−1個の判別関数及びその判別関数の判別結果情報yを取得する。
上記最小得票モードにおける判別関数の修正動作について、図10を参照して説明する。
図10は、本発明の第2実施形態に係る判別装置の動作について説明するための説明図である。
この最小得票モードにおいて、誤りデータ入力部125から誤りデータなどを取得した得票数確認部226は、修正する必要がある判別関数の個数Δnを1に設定する。すると、ステップS501が処理され、判別関数選択部227が、正しいクラスXtの判別を行っているN−1個の判別関数を取得して、その判別関数を、判別結果情報yの絶対値の小さい順にソートする。そして、ステップS503に進む。
ステップS503では、判別関数選択部227が、未修正で、かつ、上位の判別関数を1つ係数算出部123に出力して、その判別関数を係数算出部123及び判別関数調整部124に修正させる。このステップS503の処理後は、ステップS505に進む。
ステップS505では、判別部230が、修正された判別関数を使用して各クラスXiの得票数niを算出する。そして、得票数確認部226が、正しいクラスXtの得票数ntが、そのクラスXtが選出されるのに十分な得票数(必要得票数)に達しているか否かを確認する。つまり、nt>noとなっているか否かが確認される。そして、必要得票数に達していない場合には、ステップS503を繰り返し処理し、必要得票数に達している場合には、動作を終了する。
このような動作により、最小得票モードでは、修正する判別関数の個数を最小限に抑えることができる。よって、判別関数の修正に要する時間及びコストを削減することができる。一方、判別関数が算出する判別結果情報yの絶対値が小さいことは、判別境界B12に近いことを意味する。よって、yの絶対値が小さい判別関数から修正することにより、判別の確からしさが低い判別関数を修正することができる。つまり、最小得票モードでは、判別関数の修正による影響を最小限に抑えることができる。
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されないことは言うまでもない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても当然に本発明の技術的範囲に属するものと了解される。
例えば、上記各実施形態で説明した一連の処理は、専用のハードウエアにより実行させてもよいが、ソフトウエアにより実行させてもよい。一連の処理をソフトウエアにより行う場合、図11に示すような汎用又は専用のコンピュータにプログラムを実行させることにより、上記の一連の処理を実現することができる。
図11は、プログラムを実行することにより一連の処理を実現するコンピュータの構成例を説明するための説明図である。一連の処理を行うプログラムのコンピュータによる実行について説明すれば、以下のようになる。
図11に示すように、コンピュータは、例えば、バス301及び入出力インターフェイス306等を介して接続された、CPU(Central Processing Unit)302と、HDD(Hard Disk Drive)303・ROM(Read Only Memory)304・RAM(Random Access Memory)305等の記録装置と、LAN(Local Area Network)・インターネット等のネットワーク308に接続された通信装置307と、マウス・キーボード(図示せず)等の入力装置309と、フレキシブルディスク、各種のCD(Compact Disc)・MO(Magneto Optical)ディスク・DVD(Digital Versatile Disc)等の光ディスク、磁気ディスク、半導体メモリ等のリムーバブル記録媒体311等を読み書きするドライブ310と、モニタなどの表示装置16・スピーカやヘッドホンなどの音声出力装置312などの出力装置等を有する。
そして、CPU302が、記録装置に記録されたプログラム、ネットワーク308を介して受信したプログラム、またはリムーバブル記録媒体311から読み出したプログラム等に従って、各種の処理を実行することにより、上記の一連の処理が、実現される。この際、CPU302は、必要に応じて入力装置309から入力する情報や信号に基づいて各種の処理を行ってもよい。そして、この処理結果は、必要に応じて上記の記録装置やリムーバブル記録媒体311等に記録されてもよく、出力装置に出力されてもよく、ネットワーク308に送信されてもよい。
尚、本明細書において、フローチャートに記述されたステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的に又は個別的に実行される処理をも含む。また時系列的に処理されるステップでも、場合によっては適宜順序を変更することが可能であることは言うまでもない。
本発明の各実施形態に係る判別装置が適用された一例である表面疵検査装置の構成の概要を説明するための説明図である。 本発明の各実施形態に係る判別装置が適用された一例である表面疵検査装置の動作の概要を説明するための説明図である。 本発明の第1実施形態に係る判別装置の構成について説明するための説明図である。 本発明の各実施形態に係る判別装置が判別する判別対象を特徴量空間上の点として表した一例を説明するための説明図である。 本発明の第1実施形態に係る判別装置による判別関数の作成動作及び作成時の修正動作について説明するための説明図である。 本発明の第1実施形態に係る判別装置による判別動作について説明するための説明図である。 本発明の各実施形態に係る判別装置による判別関数の修正動作について説明するための説明図である。 本発明の各実施形態に係る判別装置による判別関数の修正動作について説明するための説明図である。 本発明の第1実施形態に係る判別装置による判別関数の作成後の修正動作について説明するための説明図である。 本発明の第2実施形態に係る判別装置の構成について説明するための説明図である。 本発明の第2実施形態に係る判別装置の動作について説明するための説明図である。 プログラムを実行することにより一連の処理を実現するコンピュータの構成例を説明するための説明図である。
符号の説明
1 表面疵検査装置
11 光源装置
12 撮像装置
13 画像処理装置
14,100,200 判別装置
15 判別結果記憶装置
16 表示装置
17 制御装置
110 判別関数作成部
111 学習データ記憶部
112 判別関数算出部
120,220 判別関数修正部
121 重要学習データ選択部
122 判別関数確認部
123 係数算出部
124 判別関数調整部
125 誤りデータ入力部
130,230 判別部
226得票数確認部
227 判別関数選択部
301 バス
302 CPU
303 HDD
304 ROM
305 RAM
306 入出力インターフェイス
307 通信装置
308 ネットワーク
309 入力装置
310 ドライブ
311 リムーバブル記録媒体
312 音声出力装置
F 鋼板
R ロール
T 表面の領域

Claims (13)

  1. 判別対象が複数種類の集合のいずれに属するのかを該判別対象を特徴付ける特徴量で構成される特徴情報を入力データとする判別関数を用い、その判別関数の出力値である結果に基づいて判別する判別装置であって、
    判別結果が既知の複数の学習用特徴情報と該学習用特徴情報それぞれに対応付けられた判別結果を表す学習用判別結果情報とに基づいて、学習用特徴情報それぞれを特徴情報による空間上の点として表し、仮想的に規定する写像関数により前記空間上の点を写像した際に写像先の空間上において前記点を判別結果別に線形分離する判別面と、当該判別面までの距離が最短の前記点との距離が最大になるように、サポート・ベクター・マシン法を用いて前記判別面を算出して前記判別関数を導出する判別関数算出部と、
    既知の判別結果を有する特徴情報であって、前記判別関数に該特徴情報を入力した結果である判別結果情報と該特徴情報の既知の判別結果とが異なる誤判別特徴情報について、前記判別結果情報と前記既知の判別結果とが一致するように、前記誤判別特徴情報が前記判別関数に対して個別に与える影響度合を表した影響係数をそれぞれ調整し、前記判別関数を修正する判別関数修正部と、
    判別結果が未知の判別対象を、該判別対象の特徴情報を入力データとして前記修正された前記判別関数を用いて判別する判別部と、
    を有することを特徴とする、判別装置。
  2. 前記判別関数は、前記学習用特徴情報それぞれと判別対象の特徴情報とを入力データとするサポート・ベクター・マシン法のカーネル関数値に、それぞれの前記影響係数を掛けて加え合わせた総和であり、
    前記判別関数修正部は、該判別関数の判別結果について前記学習用特徴情報のいずれかが誤判別特徴情報となる場合、前記判別結果の判別結果が正解となるように所定の処理で該誤判別特徴情報の影響係数の大きさを調整することにより、前記判別関数を修正することを特徴とする、請求項1に記載の判別装置。
  3. 前記判別関数は、前記学習用特徴情報それぞれと判別対象の特徴情報とを入力データとするサポート・ベクター・マシン法のカーネル関数値に、それぞれの前記影響係数を掛けて加え合わせた総和であり、
    前記判別関数修正部は、前記学習用特徴情報の1又は2以上により形成された前記判別関数に、前記判別部が誤判別した誤判別特徴情報を新たに追加し、かつ、当該誤判別特徴情報の影響係数の大きさを調整して、前記判別結果の判別結果が正解となるように所定の処理で前記判別関数を修正することを特徴とする、請求項1又は2に記載の判別装置。
  4. 前記判別関数算出部は、前記複数種類の集合における2つの集合の組み合わせ毎に前記判別面を算出して、当該判別面のそれぞれを判別関数とし、
    前記判別部は、前記判別結果が未知の判別対象を、前記判別関数のそれぞれに基づいて前記2つの集合毎に判別した結果、最も多くの前記判別関数により判別された集合に属すると判別することを特徴とする、請求項1〜3のいずれかに記載の判別装置。
  5. 前記判別関数修正部は、少なくとも前記誤判別特徴情報の既知の判別結果と前記判別部による判別結果とが一致するまで、前記判別関数のそれぞれを修正することを特徴とする、請求項4に記載の判別装置。
  6. 前記判別対象は、製品を製造する製造プラントにおいて製造させる前記製品に発生した不良状態であり、
    前記特徴情報は、前記不良状態を検査した結果得られる1又は2以上の測定値を含むことを特徴とする、請求項1〜5のいずれかに記載の判別装置。
  7. 判別対象が複数種類の集合のいずれに属するのかを該判別対象を特徴付ける特徴量で構成される特徴情報を入力データとする判別関数を用い、その判別関数の出力値である結果に基づいて判別する判別方法であって、
    判別結果が既知の複数の学習用特徴情報と該学習用特徴情報それぞれに対応付けられた判別結果を表す学習用判別結果情報とに基づいて、学習用特徴情報それぞれを特徴情報による空間上の点として表し、仮想的に規定する写像関数により前記空間上の点を写像した際に写像先の空間上において前記点を判別結果別に線形分離する判別面と、当該判別面までの距離が最短の前記点との距離が最大になるように、サポート・ベクター・マシン法を用いて前記判別面を算出して前記判別関数を導出する判別関数算出ステップと、
    既知の判別結果を有する特徴情報であって、前記判別関数に該特徴情報を入力した結果である判別結果情報と該特徴情報の既知の判別結果とが異なる誤判別特徴情報について、前記判別結果情報と前記既知の判別結果とが一致するように、前記誤判別特徴情報が前記判別関数に対して個別に与える影響度合を表した影響係数をそれぞれ調整し、前記判別関数を修正する判別関数修正ステップと、
    判別結果が未知の判別対象を、該判別対象の特徴情報を入力データとして前記修正された前記判別関数を用いて判別する判別ステップと、
    を有することを特徴とする、判別方法。
  8. 前記判別関数は、前記学習用特徴情報それぞれと判別対象の特徴情報とを入力データとするサポート・ベクター・マシン法のカーネル関数値に、それぞれの前記影響係数を掛けて加え合わせた総和であり、
    前記判別関数修正ステップでは、該判別関数の判別結果について前記学習用特徴情報のいずれかが誤判別特徴情報となる場合、前記判別結果の判別結果が正解となるように所定の処理で該誤判別特徴情報の影響係数の大きさを調整することにより、前記判別関数を修正することを特徴とする、請求項7に記載の判別方法。
  9. 前記判別関数は、前記学習用特徴情報それぞれと判別対象の特徴情報とを入力データとするサポート・ベクター・マシン法のカーネル関数値に、それぞれの前記影響係数を掛けて加え合わせた総和であり、
    前記判別関数修正ステップでは、前記学習用特徴情報の1又は2以上により形成された前記判別関数に、前記判別ステップで誤判別された誤判別特徴情報を新たに追加し、かつ、当該誤判別特徴情報の影響係数の大きさを調整して、前記判別結果の判別結果が正解となるように所定の処理で前記判別関数を修正することを特徴とする、請求項7又は8に記載の判別方法。
  10. 前記判別関数算出ステップでは、前記複数種類の集合における2つの集合の組み合わせ毎に前記判別面を算出して、当該判別面のそれぞれを判別関数とし、
    前記判別ステップでは、前記判別結果が未知の判別対象を、前記判別関数のそれぞれに基づいて前記2つの集合毎に判別した結果、最も多くの前記判別関数により判別された集合に属すると判別することを特徴とする、請求項7〜9のいずれかに記載の判別方法。
  11. 前記判別関数修正ステップでは、少なくとも前記誤判別特徴情報の既知の判別結果と前記判別ステップにおける判別結果とが一致するまで、前記判別関数のそれぞれを修正することを特徴とする、請求項10に記載の判別方法。
  12. 前記判別対象は、製品を製造する製造プラントにおいて製造させる前記製品に発生した不良状態であり、
    前記特徴情報は、前記不良状態を検査した結果得られる1又は2以上の測定値を含むことを特徴とする、請求項7〜11のいずれかに記載の判別方法。
  13. コンピュータに、判別対象が複数種類の集合のいずれに属するのかを該判別対象を特徴付ける特徴量で構成される特徴情報を入力データとする判別関数を用い、その判別関数の出力値である結果に基づいて判別する判別手順を実行させるためのプログラムであって、
    コンピュータに、
    判別結果が既知の複数の学習用特徴情報と該学習用特徴情報それぞれに対応付けられた判別結果を表す学習用判別結果情報とに基づいて、学習用特徴情報それぞれを特徴情報による空間上の点として表し、仮想的に規定する写像関数により前記空間上の点を写像した際に写像先の空間上において前記点を判別結果別に線形分離する判別面と、当該判別面までの距離が最短の前記点との距離が最大になるように、サポート・ベクター・マシン法を用いて前記判別面を算出して前記判別関数を導出する判別関数算出手順と、
    既知の判別結果を有する特徴情報であって、前記判別関数に該特徴情報を入力した結果である判別結果情報と該特徴情報の既知の判別結果とが異なる誤判別特徴情報について、前記判別結果情報と前記既知の判別結果とが一致するように、前記誤判別特徴情報が前記判別関数に対して個別に与える影響度合を表した影響係数をそれぞれ調整し、前記判別関数を修正する判別関数修正手順と、
    判別結果が未知の判別対象を、該判別対象の特徴情報を入力データとして前記修正された前記判別関数を用いて判別する判別手順と、
    を実行させるためのプログラム。
JP2008024529A 2008-02-04 2008-02-04 判別装置、判別方法及びプログラム Active JP5298552B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008024529A JP5298552B2 (ja) 2008-02-04 2008-02-04 判別装置、判別方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008024529A JP5298552B2 (ja) 2008-02-04 2008-02-04 判別装置、判別方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2009186243A JP2009186243A (ja) 2009-08-20
JP5298552B2 true JP5298552B2 (ja) 2013-09-25

Family

ID=41069642

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008024529A Active JP5298552B2 (ja) 2008-02-04 2008-02-04 判別装置、判別方法及びプログラム

Country Status (1)

Country Link
JP (1) JP5298552B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011158711A1 (ja) * 2010-06-14 2011-12-22 住友金属工業株式会社 欠陥判別装置
WO2012050108A1 (ja) * 2010-10-14 2012-04-19 住友金属工業株式会社 溶接品質判別装置
JP6427973B2 (ja) * 2014-06-12 2018-11-28 オムロン株式会社 画像認識装置及び画像認識装置への特徴量データ登録方法
CN108956653A (zh) * 2018-05-31 2018-12-07 广东正业科技股份有限公司 一种焊点质量检测方法、系统、装置及可读存储介质
CN110360932B (zh) * 2019-06-10 2020-08-04 上海交通大学 零件在线检测及数据处理平台以及方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08254501A (ja) * 1995-03-16 1996-10-01 Hitachi Denshi Ltd 外観検査方法及び装置
JP4132229B2 (ja) * 1998-06-03 2008-08-13 株式会社ルネサステクノロジ 欠陥分類方法
JP3979007B2 (ja) * 2000-12-22 2007-09-19 富士ゼロックス株式会社 パターン識別方法および装置
AU2002243783B2 (en) * 2001-01-23 2007-07-19 Health Discovery Corporation Computer-aided image analysis
JP2003344300A (ja) * 2002-05-21 2003-12-03 Jfe Steel Kk 表面欠陥判別方法
JP4059429B2 (ja) * 2002-08-29 2008-03-12 大日本スクリーン製造株式会社 分類装置、歩留管理システム、分類方法、基板製造方法およびプログラム
JP4573036B2 (ja) * 2005-03-16 2010-11-04 オムロン株式会社 検査装置および検査方法
JP2007114843A (ja) * 2005-10-18 2007-05-10 Denso Corp 良否判定装置
JP5050607B2 (ja) * 2006-05-09 2012-10-17 オムロン株式会社 検査装置、検査方法、検査プログラムおよびそれを記録したコンピュータ読み取り可能な記録媒体

Also Published As

Publication number Publication date
JP2009186243A (ja) 2009-08-20

Similar Documents

Publication Publication Date Title
CN111052331B (zh) 识别检测到的缺陷中的扰乱及所关注缺陷的系统及方法
EP3478728B1 (en) Method and system for cell annotation with adaptive incremental learning
JP6573226B2 (ja) データ生成装置、データ生成方法及びデータ生成プログラム
US10043264B2 (en) Integration of automatic and manual defect classification
US9715723B2 (en) Optimization of unknown defect rejection for automatic defect classification
JPWO2018167900A1 (ja) ニューラルネットワーク学習装置、方法、およびプログラム
CN114092387B (zh) 生成可用于检查半导体样本的训练数据
US10803575B2 (en) System, method and computer program product for generating a training set for a classifier
Liu et al. Unsupervised segmentation and elm for fabric defect image classification
JP5298552B2 (ja) 判別装置、判別方法及びプログラム
JP2006039658A (ja) 画像分類学習処理システム及び画像識別処理システム
JP4728444B2 (ja) 異常領域検出装置および異常領域検出方法
JP7150918B2 (ja) 試料の検査のためのアルゴリズムモジュールの自動選択
US11321633B2 (en) Method of classifying defects in a specimen semiconductor examination and system thereof
JP5446127B2 (ja) 判別方法、判別装置及びプログラム
KR102364865B1 (ko) 제품의 양불을 판정하는 방법 및 장치
JP6988995B2 (ja) 画像生成装置、画像生成方法および画像生成プログラム
Wang et al. Local defect detection and print quality assessment
US11132790B2 (en) Wafer map identification method and computer-readable recording medium
CN116091496B (zh) 基于改进Faster-RCNN的缺陷检测方法及装置
JP2007018176A (ja) 学習装置、学習方法、学習プログラム、記録媒体、パターン認識装置およびパターン認識方法
CN116664540A (zh) 基于高斯线检测的橡胶密封圈表面缺陷检测方法
EP3696771A1 (en) System for processing an input instance, method, and medium
JP2020052474A (ja) 分類器構築方法、画像分類方法、分類器構築装置および画像分類装置
US20240071057A1 (en) Microscopy System and Method for Testing a Sensitivity of an Image Processing Model

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100209

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120301

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120327

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120524

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130305

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130422

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130521

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130603

R151 Written notification of patent or utility model registration

Ref document number: 5298552

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350