検査装置、検査方法、検査プログラムおよびそれを記録したコンピュータ読み取り可能な記録媒体
【課題】ノンパラメトリックな1クラス判別に用いる判別関数の決定を支援する。
【解決手段】検査装置の判別関数決定部20では、良品領域数判定部26が、ノンパラメトリックな1クラス判別に用いる判別関数が、サンプルをプロットした入力空間において、クラスに判別されるサンプルを含む領域を単一の領域として形成するか否かを判定する。そして、クラスに判別されるサンプルを含む領域が単一でなければ、パラメータ設定部24が、判別関数を規定する、密度関数の基底となる基底関数の領域の大きさを規定する領域パラメータを、サンプルをプロットした入力空間において該判別関数が単一の領域を形成するように設定する。
【解決手段】検査装置の判別関数決定部20では、良品領域数判定部26が、ノンパラメトリックな1クラス判別に用いる判別関数が、サンプルをプロットした入力空間において、クラスに判別されるサンプルを含む領域を単一の領域として形成するか否かを判定する。そして、クラスに判別されるサンプルを含む領域が単一でなければ、パラメータ設定部24が、判別関数を規定する、密度関数の基底となる基底関数の領域の大きさを規定する領域パラメータを、サンプルをプロットした入力空間において該判別関数が単一の領域を形成するように設定する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、入力された検査対象の計測データから特徴量を抽出し、抽出した特徴量に基づいて検査対象の状態を判定する検査装置、検査方法、検査プログラムおよびそれを記録したコンピュータ読み取り可能な記録媒体に関するものである。
【背景技術】
【0002】
自動車や家電製品などには、モータ等の駆動系部品が組み込まれた回転機器が非常に多く用いられている。例えば、自動車では、エンジン、パワーステアリング、パワーシート、ミッションその他の至る所に回転機器が実装されている。また、家電製品では、冷蔵庫、エアコン、洗濯機その他各種の製品には、回転機器が実装されている。そして、これら回転機器が稼働すると、モータ等の回転によって音が発生する。
【0003】
この回転による音は、正常な動作に伴って必然的に発生するものもあれば、不良に伴って発生する音もある。この不良に伴う異常音の一例としては、ベアリングの異常、内部の異常接触、アンバランス、異物混入などがある。より具体的には、ギヤ1回転について1度の頻度で発生するギヤ欠け、異物かみ込み、スポット傷、モータ内部の回転部と固定部が回転中の一瞬だけこすれ合うような異常音がある。また、人が不快と感じる音としては、例えば人間が聞こえる20Hzから20kHzの中で様々な音があり、例えば約15kHz程度のものがある。そして、このような所定の周波数成分の音が発生している場合も異常音となる。もちろん、異常音はこの周波数に限られない。
【0004】
上記のような不良に伴う音は、不快であるばかりでなく、さらなる故障を発生させるおそれもある。そこで、それら各製品に対する品質保証を目的とし、生産工場においては、通常、検査員による聴覚や触覚などの五感による「官能検査」を行い、異常音の有無の判断を行っている。具体的には、検査員が耳で聞いたり、手で触って振動を確認したりすることによって行っている。なお、官能検査は、官能検査用語JIS Z8144に定義されている。
【0005】
ところで、検査員の五感による官能検査では、熟練した技術を要するばかりでなく、判定結果に個人差や時間による変化などのばらつきが大きい。さらには、判定結果のデータ化、数値化が難しく、管理が困難であるという問題がある。そこで、この問題を解決するため、駆動系部品を含む製品の異常を検査する検査装置として、定量的かつ明確な基準による安定した検査を目的とした異音検査装置がある。
【0006】
しかし、これまでの異音検査装置では、不良品(異常品)を良品(正常品)と誤判定してしまう見逃し率の発生をなくしつつ(不良品を出荷することになるため確実に阻止する必要がある)、良品を不良品と誤判定してしまう過検出率の低減を図る(良品が出荷されず、廃棄処理等されてしまう無駄・歩留まり低下の防止をする)ことを目的とし、高性能な良否判定アルゴリズムの作成・改良が行われていた。そのため、使用する特徴量の数が増加したり、よりよい判定ルールを作成するために要求されるサンプル数が増加したりしていた。
【0007】
一方、近年、工業製品の品質に対する消費者の目は厳しくなる一方である。また、多品種少量生産の時代の製造業においては、製品の品質を確保するだけでなく、生産ラインの立ち上げをいかに迅速に行えるかが重要な課題となる。つまり、単純に異音検査アルゴリズムの高精度化を図るだけでは十分ではなく、よりよい品質の製品を市場に送り出すために、生産現場には、以下の2つのニーズがある。
【0008】
1つ目は、検査の自動化である。すなわち、通常、生産工程での検査は製品の寸法や重さなど、生産された製品の個々の特性値それぞれに対して管理基準を決定し、品質を管理している。例えば、プリント配線基板のはんだ外観検査や、自動車エンジンの異音検査のような官能検査を自動化した検査装置では、画像や波形から複数の品質特性を抽出し、判別モデルがこれらの特性を総合的に判断して良否を判定する。
【0009】
2つ目は、垂直立ち上げである。生産現場では、ラインの立ち上げの際に、量産試作という過程を経て、量産ラインを立ち上げるのが一般的である。量産試作とは、研究・設計後に量産と同じ生産手段によって製品を作り、工程に問題が無いかなど量産の可否を決定するものである。自動検査装置の判別モデルを自動生成する場合は、十分なデータが集まらないとモデリングできないため、量産開始時まで検査基準を確定できない。この量産試作段階で量産段階に使用する検査基準を決定し、量産開始と同時に安定した検査を開始することが、生産ラインの垂直立ち上げを実現する上で重要な課題となる。
【0010】
上述したような官能検査では、音の大きさや高さ、外観の色、形状等さまざまな品質特性を総合的に判断して良否を決定する。そして、官能検査の自動化システムでは、マイクやカメラ等のセンサで取得したデータから品質特性を表す複数の特徴量を抽出し、判別関数によって良否を判定するパターン認識が有効である。一般にパータン認識では、判別関数を決めるために十分な数の学習サンプルを用意する必要がある。
【0011】
ここで、パターン認識による製品検査について説明する。
【0012】
図24は、パターン認識の手順を示す説明図である。パターン認識とは、データから抽出された特徴量のパターンから、そのデータが属する群を決定(判別)する手法である。そのため、あらかじめ、パターン空間上で、すでに観測されているデータから判別関数を自動生成(学習)しておく必要がある。
【0013】
そして、パターン認識の手法は、分布の表現方法と、分布の対称性とによって、4つに分類できる。
【0014】
分布の表現方法によれば、分布を統計パラメータで表現する「パラメトリック判別」と、分布を統計パラメータで表現しない「ノンパラメトリック判別」とに分類できる。また、分布の対称性によれば、分布の対称性を仮定する「2クラス判別モデル」と、分布の対称性を仮定しない「1クラス判別モデル」とに分類できる。
【0015】
具体的には、パラメトリック判別では、学習フェイズにおいて、すでに観測されているデータが構成する複数の群(例えば正常と異常)について、各群に属するデータが従う確率密度分布の形状を規定するパラメータ(例えば、平均・分散)を推定しておく。そして、判別フェイズにおいて、新たなデータが観測されたときに、推定したパラメータを使って各群への帰属の度合いを求め、いずれの群に属するかを決定する。このパラメトリック判別は、データが、パラメータで形状を規定できるような確率密度分布(例えば正規分布)に従うと仮定できる場合にのみ有効な手法である。
【0016】
また、ノンパラメトリック判別では、学習フェイズにおいて、群ごとに、すでに観測されているデータのすべて、または判別に寄与する一部のデータをそのまま保持しておく。あるいは、統計的パラメータを用いずに、データから直接密度分布を求める。そして、判別フェイズにおいて、新たなデータが観測されたときに、保持しておいたデータ、または分布との類似度や距離から各群への帰属度を求め、いずれの群に属するかを決定する。このノンパラメトリック判別は、データが、パラメータで形状を規定できるような確率密度分布に従うと仮定できない場合でも有効な手法である。
【0017】
一方、2クラス判別では、学習フェイズにおいて、判別したい2つのクラス(例えば良品と不良品)両方のサンプルを使用して判別関数を学習する。そして、判別フェイズにおいて、判別関数により、未知サンプルの両クラスへの帰属度を求め、いずれのクラスにより属しているかという比較評価を行う。
【0018】
また、1クラス判別では、学習フェイズにおいて、1クラスのみの学習サンプルを用いて、密度推定を行っておく。そして、判別フェイズにおいて、判別関数により、密度を元に未知サンプルの帰属度を求め、一定以上であればそのクラス、一定未満であればそのクラスでないと判別するような閾値判定を行う。
【0019】
そして、パターン認識の4分類の具体例を挙げれば次のとおりである。
【0020】
(1)パラメトリックな2クラス判別・・・ベイズ識別、判別分析
(2)ノンパラメトリックな2クラス判別・・・最近傍判別器(NN判別器)、サポートベクタマシン(SVM)
(3)パラメトリックな1クラス判別・・・マハラノビス・タグチ・システム(MTS)
(4)ノンパラメトリックな1クラス判別・・・ヒストグラム法、最近傍推定、1クラスSVM、Parzen窓法、RBF(動径基底関数(Radial Basis Function))ネットワーク、カーネル密度推定、ブートストラップ法等。
【0021】
ここで、良品は一様であるが不良品は多種多様であるため、各クラスの特徴空間上での分布の対称性を仮定する通常の2クラス判別は、良品/不良品の判別には適していない。また、製品検査で収集できる不良品サンプルは良品サンプルに比べて非常に少ない。よって、良品/不良品の判別には、良品分布のみを考慮する1クラス判別が有効である。
【0022】
また、一般に量産開始と同時に検査を開始する必要があるので、量産前に得られる限られたサンプルから判別関数を決める必要がある。しかし、量産前は良品サンプルも十分には得られない。そのため、統計的推定が必要なパラメトリック判別は、少数サンプルでは十分な性能を確保できない。よって、限られたサンプルから判別関数を決める場合には、統計的推定が不要なノンパラメトリック判別が有効である。
【0023】
以上のことから、製品検査に応用するパターン認識には、ノンパラメトリックな1クラス判別が有効である。
【0024】
なお、本願発明に関連する先行技術文献としては、次の非特許文献1〜3がある。
【0025】
パラメトリック判別は、少数サンプルでは学習不可能、または判別性能確保困難である。例えば、MTSは、学習サンプル数が特徴数以下の場合、(正確多重共線性)学習が不可能である。さらに、学習サンプル数が特徴数より多い場合でも、少数のサンプルしかないと統計的推定の精度が不十分なため、判別性能が確保できないことがある。そのため、性能を確保するには、経験的に特徴数の3倍程度のサンプルが必要である。非特許文献1には、サンプルが少数の場合、ノンパラメトリック判別を使用、あるいは併用することで性能確保を図る方法が開示されている。
【0026】
非特許文献2には、1クラスSVMにおいて、サポートベクトルの割合がleave-one-out法で評価した誤判別率の上限となる性質を利用し、サポートベクトル数が最小となるようにパラメータを調整する方法が開示されている。しかし、この方法では、領域の形状を評価していないため、良品領域が複数に分割される可能性があるという問題は解決されない。
【0027】
非特許文献3には、良品と判定されるすべての学習サンプルの組み合わせについて、それらを結ぶ線分が良品領域を逸脱しないかを判定することで、同じ領域に属する学習サンプルをクラスタリングする方法が開示されている。図25に示すように、逸脱の有無を0/1で表現したマトリクス(図25(b)、図25(d))を作ることで、同じクラスタに属するサンプルを知ることができる。なお、図25(b)は良品領域が単一である場合(図25(a))のマトリクス、図25(d)は良品領域が2つである場合(図25(c))のマトリクスである。
【非特許文献1】田崎博, 糀谷和人, 中島宏, “自動検査のための漸進的判別モデル更新手法”, 第32回知能システムシンポジウム講演論文集, pp. 243-246 (2005).
【非特許文献2】Nello Cristianini, John Shawe-Taylor, "An Introduction to Support Vector Machines: And Other Kernel-Based Learning Methods", Cambridge University Press (2000) (邦訳:サポートベクタマシン入門, 共立出版)
【非特許文献3】Asa Ben-Hur, David Horn, Hava T. Siegelmann, Vladimir Vapnik ,"Support Vector Clustering", Journal of Machine Learning Research 2, pp. 125-137 (2001).
【発明の開示】
【発明が解決しようとする課題】
【0028】
基本的に製品の品質特性は、目標値を中心としその周辺で(部品・材料のばらつきや製造装置の変動等に起因する)ばらつきを持つため、良品が発生する領域(真の良品領域)は、目標値を中心とした単一の領域を形成すると考えられる(図26(a))。
【0029】
また、有限のサンプルから学習した判別関数は、実際には真の良品領域とは異なる良品領域(学習した良品領域)を形成する。そして、その差異が小さいほど判別性能が良い(図26(b))。
【0030】
また、多くのノンパラメトリック判別では、学習サンプルの密度に基づいて良品領域を決定するため、学習サンプルに疎なところがあると、良品領域が複数の領域に分断される可能性がある(図27(a))。そして、学習サンプルが少数の場合には、本来密度の高いところでも学習サンプルが疎になる可能性があるため、判別性能が大幅に低下する危険性がある。
【0031】
以上より、良品領域が単一であれば(図27(b))、分割される場合に比べ真の良品領域に近くなると考えられるので、判別性能の向上が期待できる。そのためには、学習後、判別関数が単一の良品領域を形成するか否かを判定して、良品領域が単一になるようにパラメータを調整すればよい。
【0032】
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、ノンパラメトリックな1クラス判別に用いる判別関数の決定を支援することができる検査装置、検査方法、検査プログラムおよびそれを記録したコンピュータ読み取り可能な記録媒体を実現することにある。
【課題を解決するための手段】
【0033】
上記課題を解決するために、本発明に係る検査装置は、ノンパラメトリックな1クラス判別に用いる判別関数が、サンプルをプロットした入力空間において、クラスに判別されるサンプルを含む領域を単一の領域として形成するか否かを判定する判別関数判定手段を備えることを特徴としている。
【0034】
また、本発明に係る検査方法は、検査対象の状態の判別に用いる判別関数を決定する検査装置による検査方法であって、上記検査装置が備える判別関数判定手段が、ノンパラメトリックな1クラス判別に用いる判別関数が、サンプルをプロットした入力空間において、クラスに判別されるサンプルを含む領域を単一の領域として形成するか否かを判定することを特徴としている。
【0035】
上記の構成によれば、ノンパラメトリックな1クラス判別に用いる判別関数が、サンプルをプロットした入力空間において単一の領域を形成するか否かを判定することができる。なお、ノンパラメトリックな1クラス判別としては、具体的には、ヒストグラム法、最近傍推定、1クラスSVM、Parzen窓法、RBFネットワーク、カーネル密度推定、ブートストラップ法等がある。
【0036】
よって、上記判定の結果、判別関数が単一の領域を形成しない場合、すなわち、クラスに判別されるサンプルを含む領域が複数の領域に分割されている場合、判別関数が単一の領域を形成するように、例えば、基底関数の領域の大きさを規定する領域パラメータを変更して、判別関数を再学習することが可能となる。したがって、クラスに判別されるサンプルを含む領域を単一にして、真の領域に近づけることにより、判別性能を向上させることが可能となる。
【0037】
また、本発明に係る検査装置は、上記判別関数判定手段によって、上記判別関数が上記単一の領域を形成しないと判定されたとき、上記判別関数を規定する、密度関数の基底となる基底関数の領域の大きさを規定する領域パラメータを、サンプルをプロットした入力空間において該判別関数が単一の領域を形成するように設定するパラメータ設定手段を備えることを特徴としている。
【0038】
また、本発明に係る検査方法は、検査対象の状態の判別に用いる判別関数を決定する検査装置による検査方法であって、上記検査装置が備えるパラメータ設定手段が、ノンパラメトリックな1クラス判別に用いる判別関数を規定する、密度関数の基底となる基底関数の領域の大きさを規定する領域パラメータを、サンプルをプロットした入力空間において該判別関数が、クラスに判別されるサンプルを含む領域を単一の領域として形成するように設定することを特徴としている。
【0039】
上記の構成によれば、ノンパラメトリックな1クラス判別に用いる判別関数を規定する、密度関数の基底となる基底関数の領域の大きさを規定する領域パラメータを、サンプルをプロットした入力空間において該判別関数が単一の領域を形成するように設定することができる。なお、領域パラメータとしては、具体的には、具体的には、ヒストグラム法では超立方体の体積V、最近傍推定では超球の半径r、1クラスSVMではガウスカーネルの幅σである。
【0040】
よって、判別関数が単一の領域を形成しない場合、すなわち、クラスに判別されるサンプルを含む領域が複数の領域に分割されている場合でも、判別関数が単一の領域を形成するように、領域パラメータを変更して、判別関数を再学習することができる。したがって、クラスに判別されるサンプルを含む領域を単一にして、真の領域に近づけることにより、判別性能を向上させることが可能となる。
【0041】
さらに、本発明に係る検査装置は、上記ノンパラメトリックな1クラス判別の判別アルゴリズムは、識別面上のサンプルをモデルに記憶することが好ましい。
【0042】
ここで、識別面上のサンプルをモデルに記憶する1クラス判別の判別アルゴリズムとしては、例えば、1クラスサポートベクタマシンがある。一般に、サポートベクタマシンは、一般的なノンパラメトリック判別アルゴリズムに比べて、(i)汎化性能(未知サンプルに対する判別性能)が高い、(ii)学習の途中で局所解に陥らないことが保証されている、という特徴がある。
【0043】
よって、上記の構成によれば、判別性能および学習効率の高い検査装置を実現できる。
【0044】
さらに、本発明に係る検査装置は、上記判別関数判定手段は、上記単一の領域に含まれると判定されるサンプル同士を結ぶ線分が、上記単一の領域を逸脱するか否かを判定するものであってもよい(図8(a)(b))。
【0045】
さらに、本発明に係る検査装置は、上記判別関数判定手段は、サンプルの中心と、上記単一の領域に含まれると判定されるサンプルとを結ぶ線分が、上記単一の領域を逸脱するか否かを判定するものであってもよい(図9(a)(b))。
【0046】
上記の構成によれば、上記単一の領域に含まれると判定されるサンプル同士を結ぶ場合と比べて、線分の数が少なくなるため、演算量を抑制できる。
【0047】
さらに、本発明に係る検査装置は、上記判別関数判定手段は、モデルに記憶する識別面上のサンプル同士を結ぶ線分が、上記単一の領域を逸脱するか否かを判定するものであってもよい(図10(a)(b))。
【0048】
さらに、本発明に係る検査装置は、上記判別関数判定手段は、サンプルの中心と、モデルに記憶する識別面上のサンプルとを結ぶ線分が、上記単一の領域を逸脱するか否かを判定するものであってもよい(図11(a)(b))。
【0049】
上記の構成によれば、モデルに記憶する識別面上のサンプル同士を結ぶ場合と比べて、線分の数が少なくなるため、演算量を抑制できる。なお、モデルに記憶する識別面上のサンプルとしては、マージンサポートベクトルが利用できる。
【0050】
さらに、本発明に係る検査装置は、上記判別関数判定手段は、上記線分から1または複数の点を抽出し、各点を上記判別関数に当てはめて、すべての点が上記単一の領域に含まれると判別されるか否かを判定するものであってもよい。
【0051】
上記の構成によれば、さらに、1または複数の点についてのみ判別関数の演算を行えばよいため、線分が上記単一の領域を逸脱するか否かの判定を簡単に行うことができる。また、要求される判定精度に応じて、抽出する点の数を加減することができる。
【0052】
さらに、本発明に係る検査装置は、上記判別関数判定手段は、上記線分上での上記判別関数の最小値を求め、該最小値が所定の閾値以上であるか否かを判定するものであってもよい。
【0053】
上記の構成によれば、さらに、線分上での上記判別関数の最小値が所定の閾値以上であるか否かを判定するため、線分が上記単一の領域を逸脱するか否かの判定を高精度に行うことができる。なお、線分の範囲内で判別関数の最小値を求めるには、ニュートン法や最急降下法などの非線形最適化手法が利用できる。
【0054】
なお、上記検査装置は、コンピュータによって実現してもよく、この場合には、コンピュータを上記各手段として動作させることにより上記検査装置をコンピュータにて実現させる検査装置の検査プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
【発明の効果】
【0055】
以上のように、本発明に係る検査装置は、ノンパラメトリックな1クラス判別に用いる判別関数が、サンプルをプロットした入力空間において、クラスに判別されるサンプルを含む領域を単一の領域として形成するか否かを判定する判別関数判定手段を備える構成である。
【0056】
また、本発明に係る検査方法は、検査装置が備える判別関数判定手段が、ノンパラメトリックな1クラス判別に用いる判別関数が、サンプルをプロットした入力空間において、クラスに判別されるサンプルを含む領域を単一の領域として形成するか否かを判定する方法である。
【0057】
それゆえ、上記判定の結果、判別関数が単一の領域を形成しない場合、すなわち、クラスに判別されるサンプルを含む領域が複数の領域に分割されている場合、判別関数が単一の領域を形成するように、例えば、基底関数の領域の大きさを規定する領域パラメータを変更して、判別関数を再学習することが可能となる。したがって、クラスに判別されるサンプルを含む領域を単一にして、真の領域に近づけることにより、判別性能を向上させることが可能となるという効果を奏する。
【0058】
また、本発明に係る検査装置は、上記判別関数判定手段によって、上記判別関数が上記単一の領域を形成しないと判定されたとき、上記判別関数を規定する、密度関数の基底となる基底関数の領域の大きさを規定する領域パラメータを、サンプルをプロットした入力空間において該判別関数が単一の領域を形成するように設定するパラメータ設定手段を備える構成である。
【0059】
また、本発明に係る検査方法は、検査装置が備えるパラメータ設定手段が、ノンパラメトリックな1クラス判別に用いる判別関数を規定する、密度関数の基底となる基底関数の領域の大きさを規定する領域パラメータを、サンプルをプロットした入力空間において、クラスに判別されるサンプルを含む領域を単一の領域として形成するように設定する方法である。
【0060】
それゆえ、判別関数が単一の領域を形成しない場合、すなわち、クラスに判別されるサンプルを含む領域が複数の領域に分割されている場合でも、判別関数が単一の領域を形成するように、領域パラメータを変更して、判別関数を再学習することができる。したがって、クラスに判別されるサンプルを含む領域を単一にして、真の領域に近づけることにより、判別性能を向上させることが可能となるという効果を奏する。
【発明を実施するための最良の形態】
【0061】
本発明の一実施の形態について図面に基づいて説明すれば、以下のとおりである。
【0062】
図2は、本実施の形態に係る検査装置100の構成の概略を示す説明図である。図1は、検査装置100が備える判別関数決定部20の構成を示す機能ブロック図である。
【0063】
本実施の形態に係る検査装置100は、入力された検査対象の計測データから特徴量を抽出し、抽出した特徴量に基づいて、ノンパラメトリックな1クラス判別によってサンプルの良否を判別する。そして特に、判別関数決定部20を備え、(1)ノンパラメトリックな1クラス判別に用いる判別関数が単一の良品領域(クラス(良品)に判別される学習サンプルを含む領域;学習サンプルを多く含む方の領域)を形成するか否かを判定する機能、(2)ノンパラメトリックな1クラス判別に用いる判別関数を規定する、密度関数の基底となる基底関数の領域の大きさを規定する領域パラメータを、該判別関数が単一の良品領域を形成するように設定する機能を具備している。
【0064】
以下では、まず判別関数決定部20の機能の概要を説明した後、その装置構成について説明する。
【0065】
〔概要〕
(1)ノンパラメトリックな1クラス判別の基本概念
ノンパラメトリックな1クラス判別は、統計的パラメータを用いずに学習サンプルの密度を推定し、一定の閾値以上の密度の領域を良品、一定の閾値未満の領域を不良品と判別する手法である。その具体的な判別アルゴリズムとしては、以下に説明する、ヒストグラム法、最近傍推定、1クラスサポートベクタマシン(SVM)の他、Parzen窓法、RBFネットワーク、カーネル密度推定、ブートストラップ法等さまざまなアルゴリズムが存在する。
【0066】
(a)ヒストグラム法
図3は、ヒストグラム法を示す説明図である。図3は、学習サンプル数1以上を良品領域とする場合を示す。また、図中、丸印がサンプルを示し、1区画が体積Vの超直方体を示す。
【0067】
ヒストグラム法は、入力空間を体積Vの超直方体に分割し、含まれるサンプルの数をカウントすることで密度を推定する。そして、含まれる学習サンプル数が一定の閾値以上の領域を良品領域、一定の閾値未満の場合の場合は不良品領域(図中、斜線部)と判別する。
【0068】
(b)最近傍推定
図4は、最近傍推定を示す説明図である。図中、丸印がサンプルを示し、円弧がサンプルを中心とする半径rの超球を示す。
【0069】
最近傍推定は、学習サンプルを中心とする半径rの超球に含まれる領域を良品領域、含まれない領域を不良品領域(図中、斜線部)と判別する。
【0070】
(c)1クラスSVM
図5は、1クラスSVMを示す説明図である。図中、左側が元の空間である入力空間、右側が入力空間を非線形写像Φによって写像した多高次元ヒルベルト空間であり、丸印がサンプルを示す。図中下側に示した、学習後のヒルベルト空間において決定された識別面上のサンプルがサポートベクトル(SV)、それ以外のサンプルが非サポートベクトル(Non−SV)である。ヒルベルト空間の識別面を入力空間上に逆変換したものが境界である。1クラスSVMでは、この境界内の領域を良品領域、境界外の領域を不良品領域(図中、斜線部)と判別する。
【0071】
より詳細に説明すると、1クラスSVMは、入力空間上の学習サンプルを、非線形写像Φによって、入力空間を多高次元ヒルベルト空間に写像し、その上で線形な識別面を学習する。
【0072】
ここで、ガウスカーネルを用いたカーネル写像は、入力空間で密度が疎なところの学習サンプルは原点付近に、密なところの学習サンプルは原点から遠いところに写像するという特徴をもつ。
【0073】
【数1】
【0074】
そして、1クラスSVMは、ヒルベルト空間上で原点と学習サンプルを分離する超平面のうち、原点からの距離が最も大きくなるような超平面(すなわち、識別面)を学習する。超平面上の学習サンプルのことをサポートベクトルと呼ぶ。
【0075】
ここで、n個のd次元ベクトルx={x1,…,xd}の集合を学習サンプルとしたとき、1クラスSVMによる判別関数は以下のように表され、関数値が0以上のときは良品、0未満のときは不良品と判別される。
【0076】
【数2】
【0077】
上式において、xiは学習サンプルのラベルである。αiはサポートベクトルの重みと呼ばれる係数で、学習によって決定される。また、ρは、任意のサポートベクトルxi(係数αi≠0の学習サンプル)を次式に代入して求まる定数である。
【0078】
【数3】
【0079】
なお、一般的に入力空間上で非線形な識別面を学習するのは困難であるが、もし高次元空間に写像すれば線形な識別面となるのであれば、高次元空間上で線形判別アルゴリズムを用いて簡単に学習できる。また、SVMは線形判別アルゴリズムであり、その学習には2つのベクトルの内積が計算できればよい。そこで、入力空間で直接非線形な識別面を学習する代わりに、高次元空間上でSVMによって線形な識別面を学習することを考える。ここで、入力空間上の2つのベクトルで、高次元空間上での2つのベクトルの内積を表す関数を「カーネル関数」と呼ぶ。そして、カーネル関数であれば、高次元空間での計算を行うことなく非線形な識別面を簡単に学習することができる。このような高次元空間上での計算をカーネル関数の計算で置き換える方法をカーネルトリックと呼ぶ。
【0080】
(1クラスSVMにおけるソフトマージン)
ここで、図6(a)はソフトマージンなしの場合の入力空間、図6(b)はソフトマージンなしの場合のヒルベルト空間を示す説明図である。また、図7(a)はソフトマージンありの場合の入力空間、図7(b)はソフトマージンありの場合のヒルベルト空間を示す説明図である。
【0081】
通常、1クラスSVMは、学習サンプルが一つも識別面の原点側に残らないように学習する(ハードマージン)が、学習サンプルに外れ値を含む場合は過適合により判別性能が低下するという問題がある。これに対して、一定の割合まで学習サンプルを識別面の原点側に残すことを許す(ソフトマージン)ことで、外れ値への過適合を回避することができる。
【0082】
ソフトマージンでは、学習アルゴリズムに、原点側に残すことを許容する割合νが導入されるが、学習結果の判別関数はハードマージンのときと同じ形式で表現される。そして、ソフトマージンの場合、識別面上にある学習サンプルだけでなく、原点側に残された学習サンプルもサポートベクトルと呼ぶ。そのため、識別面上のサポートベクトルと原点側に残されたサポートベクトルを区別する場合、前者をマージンサポートベクトル(MSV;モデルに記憶する識別面上のサンプル)、後者をバウンデドサポートベクトル(BSV)と呼ぶこととする。
【0083】
(2)良品領域が単一であることの判定
良品領域が単一でない、すなわち、良品領域が複数の場合、良品領域を逸脱する線分が必ず存在する。そこで、例えば次の(i)〜(iv)のいずれかの線分を引いて、該線分上の点が良品領域を逸脱するか否かを判定する。なお、線分は、良品領域が複数の場合に良品領域を逸脱する部分を有するものであればよく、(i)〜(iv)の4種に限定されるものではない。
【0084】
(i)良品と判別される学習サンプル同士を結ぶ線分(図8(a)(b))
(ii)良品と判別される学習サンプルの中心(平均)と、良品と判別される学習サンプルとを結ぶ線分(図9(a)(b))
(iii)マージンサポートベクトル(MSV)同士を結ぶ線分(図10(a)(b))
(iv)良品と判別される学習サンプルの中心(平均)と、マージンサポートベクトルとを結ぶ線分(図11(a)(b))。
【0085】
ここで、図8〜図11は、それぞれ上記(i)〜(iv)の線分の説明図であり、各(a)が良品領域が単一である場合、各(b)が良品領域が2つである場合を示す。そして、各(b)中の線分の太線部分が、良品領域を逸脱する部分である。
【0086】
さらに、線分上の点が良品領域を逸脱するか否かは、(1)線分から抽出した複数の点について、判別関数が閾値以上であることを確認してもよいし、(2)最適化手法で線分上での判別関数の最小値を求め、該最小値が閾値以上(関数によっては大小逆の場合もある)であることを確認することによって行ってもよい。
【0087】
なお、厳密には、良品領域が単一であっても、領域に穴がある場合(図12(a))や領域が凸でない場合(図12(b))にも逸脱が発生する可能性があるため、パラメータ調整によってこれらのケースも排除される可能性がある。これらのケースでは良品領域より目標値に近い不良品領域が存在することになるので、やはり適切な良品領域とはいえない。よって、パラメータ調整によってこれらのケースも排除することは合理的であると考えられる。
【0088】
(3)ノンパラメトリック判別の領域パラメータ
図13〜図15は、ノンパラメトリック判別の領域パラメータの大きさによる良品領域の大きさの変化を示す説明図であり、図13はヒストグラム法、図14は最近傍推定、図15は1クラスSVMを示し、また、各(a)は領域パラメータが大の場合、各(b)は領域パラメータが中の場合、各(c)は領域パラメータが小の場合を示す。
【0089】
ノンパラメトリック判別の判別関数は、密度関数の基底となる関数の領域パラメータを持っている。具体的には、ヒストグラム法では超立方体の体積V、最近傍推定では超球の半径r、1クラスSVMではガウスカーネルの幅σである。
【0090】
基底関数の領域が大きくなれば、良品領域も大きくなる性質がある。よって、基底関数の領域が小さすぎると第1種の誤り(良品を不良品と判別する誤り)、大きすぎると第2種の誤り(不良品を良品と判別する誤り)が発生する危険性が高くなる。また、基底関数の領域が小さいと良品領域が複数に分割され、大きくなると単一の領域を構成しやすくなる。
【0091】
(領域パラメータの調整)
図26(b)に示すように、有限のサンプルから学習した判別関数によって構成される良品領域(学習した良品領域)は、実際には真の良品領域とは異なる。真の良品領域と学習した良品領域の差異が大きいと誤判別の危険性が高くなる。そこで、学習した良品領域を真の良品領域に近づけるため、領域パラメータの調整を行う。
【0092】
学習した良品領域が広くなるように調整すると、不良品を良品と誤判別する確率が大きくなる。一方、学習した良品領域が狭くなるように調整すると、良品を不良品と誤判別する確率が大きくなる。
【0093】
真の良品領域について先験的な知識がない場合、期待誤判別率(誤判別する領域に未知サンプルが出現する確率)を最小化するように領域パラメータを調整する。また、学習サンプルが少ないと、性能評価の信頼性が低いため、領域パラメータの調整では誤判別率が十分最小化できない可能性が高い。
【0094】
なお、領域パラメータの調整には、得られたサンプルの一部を判別性能の評価用にとっておき、残りを学習に使う方法(交差検証、leave-one-out法)が利用できる。
【0095】
〔装置構成〕
図2に示すように、検査装置100は、検査対象物101に接触・近接配置されたマイク102および加速度ピックアップ103からの信号が、アンプ104で増幅され、AD変換器105にてデジタルデータに変更された後、入力される。また、図示を省略するが、量試段階や、量産開始後では、生産現場にて実際にワーク(製品)の製造をする制御を司るPLC(Programmable Logic Controller)からも動作タイミングその他のデータを取得することができる。そして、検査装置100は、マイク102で収集した音データや、加速度ピックアップ103で収集した振動データに基づく波形データを取得し、特徴量を抽出するとともに、異常判定を行う。
【0096】
なお、検査装置100は、コンピュータから構成され、CPU本体100aと、キーボード、マウス等の入力装置100bと、ディスプレイ100cとを備えている。また、必要に応じて外部記憶装置を備えたり、通信機能を備え外部のデータベースと通信し、必要な情報を取得できるように構成されていてもよい。
【0097】
また、検査装置100は、異常判定をする際に用いる判定知識を正常なサンプルに基づいて生成し、条件に適合したものを良品とし、適合しないものを不良品と判定するといった、異常検出を行うことを基本的なアルゴリズムとしている。
【0098】
図1は、検査装置100が備える判別関数決定部20の構成を示す機能ブロック図である。
【0099】
判別関数決定部20は、検査対象の状態の判別に用いる判別関数を決定する。具体的には、ノンパラメトリックな1クラス判別に用いる判別関数が、サンプルをプロットした入力空間において単一の良品領域を形成するか否かを判定する。そして、良品領域が単一でなければ、判別関数を規定する、密度関数の基底となる基底関数の領域の大きさを規定する領域パラメータを、サンプルをプロットした入力空間において該判別関数が単一の良品領域を形成するように設定する。
【0100】
そのため、判別関数決定部20は、学習サンプル格納部21、学習サンプル取得部22、パラメータ候補格納部23、パラメータ設定部(パラメータ設定手段)24、判別関数学習部25、良品領域数判定部(判別関数判定手段)26、判別関数出力部27、判別関数格納部28を備えて構成されている。
【0101】
学習サンプル取得部22は、学習の際、学習サンプル格納部21に格納されている学習サンプルを取得し、判別関数学習部25へ出力する。
【0102】
パラメータ設定部24は、ノンパラメトリックな1クラス判別に用いる判別関数を規定する、密度関数の基底となる基底関数の領域の大きさを規定する領域パラメータを、サンプルをプロットした入力空間において該判別関数が単一の良品領域を形成するように設定する。なお、領域パラメータはあらかじめパラメータ候補格納部23に格納されているものから選択してもよい。
【0103】
判別関数学習部25は、学習サンプル取得部22が取得した学習サンプルと、パラメータ設定部24が選択した領域パラメータとを用いて、判別関数を生成する。例えば、ノンパラメトリックな1クラス判別の判別アルゴリズムが1クラスサポートベクタマシンである場合、識別面に対応する判別関数を生成する。
【0104】
良品領域数判定部26は、ノンパラメトリックな1クラス判別に用いる判別関数が、サンプルをプロットした入力空間において単一の良品領域を形成するか否かを判定する。なお、この判定には、検査に用いるのと同じ判別関数を使用する。
【0105】
具体的には、まず、良品領域を逸脱するか否かの判定に用いる線分を、次の中から選択する。
【0106】
(i)良品と判別される学習サンプル同士を結ぶ線分(図8(a)(b))
(ii)良品と判別される学習サンプルの中心(平均)と、良品と判別される学習サンプルとを結ぶ線分(図9(a)(b))
(iii)マージンサポートベクトル(MSV)同士を結ぶ線分(図10(a)(b))
(iv)良品と判別される学習サンプルの中心(平均)と、マージンサポートベクトルとを結ぶ線分(図11(a)(b))。
【0107】
そして、良品領域数判定部26は、線分が良品領域を逸脱するか否かを判定する際、(1)線分から1または複数の点を抽出し、各点を上記判別関数に当てはめて、すべての点が良品と判別されるか否かを判定する。(2)あるいは、線分上での上記判別関数の最小値を求め、該最小値が所定の閾値以上であるか否かを判定する。
【0108】
なお、いずれのタイプの線分を用いるかは、入力装置100bを用いてユーザが選択できるようにしてもよいし、あらかじめ設定されていてもよい。また、線分から抽出した複数の点について、判別関数が閾値以上であることを確認するか、最適化手法で線分上での判別関数の最小値を求め、該最小値が閾値以上(関数によっては大小逆の場合もある)であることを確認するかについても、入力装置100bを用いてユーザが選択できるようにしてもよいし、あらかじめ設定されていてもよい。
【0109】
判別関数出力部27は、判別関数学習部25が生成した判別関数が、良品領域数判定部26によって、単一の良品領域を形成するものであると判定されたとき、その判別関数を判別関数格納部28に格納する。
【0110】
図16を参照して、判別関数決定部20が用いるデータを説明する。
【0111】
図16(a)は、学習サンプル格納部21に格納される学習サンプルのデータ構造を示す説明図である。図16(a)に示すように、学習サンプルは、サンプルを識別するためのサンプルID(ID#)、良品か不良品かの別(Class)、特徴量(x1、x2、…)が対応付けられて学習サンプル格納部21に格納されている。
【0112】
図16(b)は、パラメータ候補格納部23に格納されるパラメータ候補の例である。図16(b)には、1クラスSVMの場合の例として、ガウスカーネルの幅σの候補が示してある。
【0113】
図16(c)は、判別関数格納部28に格納される判別関数の例である。図16(c)に示すように、判別関数は、判別に用いる式(f(x))の値を閾値(0)と比較して良品/不良品を判別するための規則が規定されている。
【0114】
つづいて、検査装置100が備える判別関数決定部20が判別関数を決定する処理について説明する。
【0115】
図17は、検査装置100が備える判別関数決定部20による判別関数決定処理を示すフローチャートである。
【0116】
まず、学習サンプル取得部22が、学習サンプル格納部21より学習サンプルを取得し、判別関数学習部25へ出力する(S1)。
【0117】
次に、パラメータ設定部24が、パラメータ候補格納部23より領域パラメータの候補を1つ取得し、判別関数学習部25へ出力する(S2)。
【0118】
次に、判別関数学習部25が、学習サンプル取得部22より入力された学習サンプルと、パラメータ設定部24より入力された領域パラメータを用いて、1クラス判別関数を学習する(S3)。
【0119】
次に、良品領域数判定部26が、判別関数学習部25が学習の結果として生成した判別関数が単一の良品領域を形成するか否かを判定する(S4)。そして、良品領域数判定部26の判定の結果、良品領域が2以上であれば、ステップS2へ戻って、領域パラメータを選択する処理から繰り返す。一方、良品領域数判定部26の判定の結果、良品領域が1であれば、判別関数学習部25が生成した判別関数、すなわち、直前の領域パラメータによって学習した判別関数を判別関数出力部27が判別関数格納部28へ格納する。
【0120】
ここで、ステップS2で設定する領域パラメータは、領域が複数に分断される程度に十分小さいパラメータ候補から始めて、順に大きいパラメータを設定していくのが望ましい。なぜなら、良品領域が単一になる領域パラメータが複数存在する場合、その中でもっとも小さいものが採用されるからである。これによって、領域パラメータが大きすぎて第2種の誤り(不良品を良品と判定する誤判別)が多くなる(図13(a)、図14(a)、図15(a))ことを防ぐことができる。
【0121】
逆に、確実に良品領域が1つになる程度に十分大きいパラメータ候補から始めて、順に小さいパラメータを設定していき、領域数が2以上になる手前のパラメータを採用するようにしても良い。
【0122】
あるいは、パラメータ候補をすべて適用し、良品領域が単一になる領域パラメータを複数出力するようにしてもよい。この場合、実際に検査するパラメータは人が決定するようにしてもよいし、何らかの基準で検査に使用するパラメータを自動的に選択しても良い。選択の基準としては、出力された中から最も小さいものを選択するのが望ましい。
【0123】
図18は、良品領域数判定部26による良品領域数判定処理(図17のS4)を示すフローチャートである。
【0124】
まず、良品領域数判定部26は、線分を生成し、未確認の線分について逸脱がないかを確認する(S11)。なお、ステップS11の詳細については後述する。
【0125】
そして、線分について逸脱があった場合(S12でyes)、良品領域は複数の領域を有すると判定する。一方、すべての線分について逸脱がなかった場合(S12でno、かつ、S13でyes)、良品領域は単一であると判定する。
【0126】
図19は、良品領域数判定部26による良品領域数判定処理(図17のS4、図18のS11)において、線分から抽出した複数の点について、判別関数が閾値以上であることを確認する場合の手順を示すフローチャートである。図20は、この手順を説明する説明図である。
【0127】
まず、良品領域数判定部26は、線分から有限個の点(図20(a)(b)の×印)を抽出する(S21)。
【0128】
次に、抽出した点の全てについて、検査に用いるのと同じ判別関数で良否を判別する(S22)。そして、1つでも不良と判別される点が存在すれば(S23でyes、図20(b))、逸脱ありと判定する。一方、不良と判別される点が存在しなければ(S23でno、図20(a))、逸脱なしと判定する。
【0129】
なお、線分上から抽出した点が、良品と判別される学習サンプル(あるいは、マージンサポートベクトル)と一致する場合には、上記の判定を省略してもよい。また、線分の一端を良品と判別される学習サンプルの中心とするとき、線分上から抽出した点が、良品と判別される学習サンプルの中心と一致する場合には、最初に一度だけ判定しておき、各線分の逸脱判定では個別に判定しないようにしてもよい。
【0130】
ここで、図21は、図19に示した手順に従って逸脱を判定する場合に、線分上から点を抽出する際に生成するデータの具体例を示す説明図である。図21では、線分を4等分する場合の例を示している。なお、これらのデータは、良品領域数判定部26が生成し、判別関数決定部20のメモリ(図示せず)に格納される。
【0131】
図21(a)は、両端を含めて5つの点を抽出し座標を登録する場合の例である。図21(a)に示すように、抽出点のデータは、線分を識別するための線分ID(線分ID#)、線分ごとに連番で付与された抽出点連番、等分して生成された座標に相当する特徴量(x1、x2、…)が対応付けられている。このように、図21(a)では、両端を含めて5つの点を抽出して座標が登録されている。なお、線分IDとしては、両端のサンプルのサンプルIDを連結したものを利用できる。
【0132】
図21(b)は、線分の両端のデータの登録を省略する場合の例である。線分の両端である良品と判定される学習サンプルの判定を省略する場合は、データとして登録しなくてもよい。
【0133】
図21(c)は、線分の一端が良品と判別される学習サンプルの中心である場合の例である。線分の一端が良品と判別される学習サンプルの中心である場合、中心を線分とは別に登録し、線分ごとの抽出点には登録しないようにしてもよい。
【0134】
図22は、良品領域数判定部26による良品領域数判定処理において、最適化手法で線分上での判別関数の最小値を求め、該最小値が閾値以上(関数によっては大小逆の場合もある)であることを確認する場合の手順を示すフローチャートである。また、図23は、この手順を説明する説明図である。
【0135】
まず、良品領域数判定部26は、線分上での判別関数値が最小となる点を求める(S31)。
【0136】
次に、最小となる点での判別関数値が負(=不良と判定されるか)であれば(S32でyes)、逸脱ありと判定する。一方、最小となる点での判別関数値が負でなければ(S32でno)、逸脱なしと判定する。
【0137】
ここで、図23に示すように、線分上での判別関数の値は、線分上の位置パラメータt(tはxの関数)の非線形連続関数となる。そこで、線分の範囲内で、ニュートン法や最急降下法などの非線形最適化手法で判別関数の最小値を求め、所定の閾値より小さいことを確認すればよい。例えば、判別関数の閾値が0の場合、判別関数の最小値が0以上であれば良(図23(a))、判別関数の最小値が負であれば不良(図23(b))と判定する。
【0138】
なお、上記検査装置100は、異音騒音、組立てミス、出力特性の検査分野に適用できる。また、量産を行うインラインでも、量産とは別に試作品の検査等を行うオフラインにも適用できる。そして、より具体的には、上記検査装置100は、例えば、自動車のエンジン(音)、トランスミッション(振動)などの自動車の駆動モジュールの検査機や、電動ドアミラー、電動パワーシート、電動コラム(ハンドルの位置合わせ)などの自動車のモータアクチュエーターモジュールの検査機としたり、上記の開発における異音騒音、組立てミス、出力特性の評価装置さらには開発中の試作機の評価装置として適用できる。
【0139】
また、冷蔵庫、エアコン室内外機、洗濯機、掃除機、プリンタなどのモータ駆動家電の検査機並びに上記開発における異音騒音、組立てミス、出力特性の評価装置として適用できる。さらに、NC加工機、半導体プラント、食品プラントなど設備の状態判別(異常状態/正常状態)を行う設備診断機器として適用することもできる。
【0140】
本発明の実施形態では、良品、不良品を判定するための検査装置に本発明を適用した内容を記載している。しかし、下記条件(1)〜(3)を満たすデータであり、ノンパラメトリックな1クラス判別を使って特定領域とそれ以外を判別するものであれば、どのようなサンプルであってもよい。
(1)目標値のあるデータのサンプルである。
(2)目標値周辺で1群を構成するサンプルである。
(3)環境などの外因によりデータにばらつきがでるサンプルである。
【0141】
また、本発明の実施形態では、ノンパラメトリックな1クラス判別の判別アルゴリズムが1クラスSVMである場合を記載しているが、識別面上の学習サンプルをモデルに記憶するノンパラメトリック1クラス判別モデルであれば、どのような判別アルゴリズムでもよい。また、本発明の実施形態で記載した「サポートベクトル」は「モデルに記憶される学習サンプル」であれば、どのようなサンプルでもよい。また、「マージンサポートベクトル」は「モデルに記憶する識別面上の学習サンプル」であれば、どのようなサンプルでもよい。
【0142】
本発明は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【0143】
本発明の検査装置は、ノンパラメトリックな1クラス判別によって良否を判定する検査装置であって、学習時に、良品領域がひとつであることを確認する手段を備えて構成されていてもよい。
【0144】
また、本発明の検査装置は、ノンパラメトリックな1クラス判別によって良否を判定する検査装置であって、学習時に、良品領域がひとつになるように、パラメータを調整する手段を備えて構成されていてもよい。
【0145】
さらに、本発明の検査装置は、上記ノンパラメトリックな1クラス判別の判別アルゴリズムが1クラスSVMであってもよい。
【0146】
さらに、本発明の検査装置は、上記良品領域がひとつであることを確認する手段が、良品と判定される学習サンプル同士を結ぶ線分が、良品領域を逸脱しないことを確認するものであってもよい。
【0147】
さらに、本発明の検査装置は、上記良品領域がひとつであることを確認する手段が、学習サンプルの中心と良品と判定される学習サンプルを結ぶ線分が、良品領域を逸脱しないことを確認するものであってもよい。なお、中心を求める際に使用する学習サンプルは、必ずしも良品と判定されるサンプルである必要はない。
【0148】
さらに、本発明の検査装置は、上記良品領域がひとつであることを確認する手段が、マージンサポートベクトル(MSV)同士を結ぶ線分が、良品領域を逸脱しないことを確認するものであってもよい。
【0149】
さらに、本発明の検査装置は、上記良品領域がひとつであることを確認する手段が、学習サンプルの中心とマージンサポートベクトル(MSV)を結ぶ線分が、良品領域を逸脱しないことを確認するものであってもよい。
【0150】
さらに、本発明の検査装置は、上記線分が良品領域を逸脱しないことを確認する手段が、線分から抽出した有限の点を判別したとき、すべての点について良品と判定するものであってもよい。
【0151】
さらに、本発明の検査装置は、上記線分が良品領域を逸脱しないことを確認する手段が、最適化手法で線分上での判別関数の最小値を求め、該最小値が閾値以上であること(関数によっては大小逆の場合もあり)ことを確認するものであってもよい。
【0152】
最後に、検査装置100の各ブロック、特に判別関数決定部20が備える学習サンプル取得部22、パラメータ設定部24、判別関数学習部25、良品領域数判定部26、判別関数出力部27は、ハードウェアロジックによって構成してもよいし、次のようにCPUを用いてソフトウェアによって実現してもよい。
【0153】
すなわち、検査装置100は、各機能を実現する制御プログラムの命令を実行するCPU(central processing unit)、上記プログラムを格納したROM(read only memory)、上記プログラムを展開するRAM(random access memory)、上記プログラムおよび各種データを格納するメモリ等の記憶装置(記録媒体)などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアである検査装置100の制御プログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読み取り可能に記録した記録媒体を、上記検査装置100に供給し、そのコンピュータ(またはCPUやMPU)が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
【0154】
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ系、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクやCD−ROM/MO/MD/DVD/CD−R等の光ディスクを含むディスク系、ICカード(メモリカードを含む)/光カード等のカード系、あるいはマスクROM/EPROM/EEPROM/フラッシュROM等の半導体メモリ系などを用いることができる。
【0155】
また、検査装置100を通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークとしては、特に限定されず、例えば、インターネット、イントラネット、エキストラネット、LAN、ISDN、VAN、CATV通信網、仮想専用網(virtual private network)、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、通信ネットワークを構成する伝送媒体としては、特に限定されず、例えば、IEEE1394、USB、電力線搬送、ケーブルTV回線、電話線、ADSL回線等の有線でも、IrDAやリモコンのような赤外線、Bluetooth(登録商標)、802.11無線、HDR、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
【産業上の利用可能性】
【0156】
本発明の検査装置は、ノンパラメトリックな1クラス判別に用いる判別関数を、サンプルをプロットした入力空間において単一の良品領域を形成するように決定できるため、製造ラインでの検査装置や機器の動作の評価装置に広く適用できる。すなわち、製品検査の他、製造装置や電力設備等の故障検知、人の健康状態判定等にも利用可能である。
【図面の簡単な説明】
【0157】
【図1】本発明の一実施の形態に係る検査装置が備える判別関数決定部の構成を示す機能ブロック図である。
【図2】本発明の一実施の形態に係る検査装置の構成の概略を示す説明図である。
【図3】ノンパラメトリックな1クラス判別の一例である、ヒストグラム法を示す説明図である。
【図4】ノンパラメトリックな1クラス判別の一例である、最近傍推定を示す説明図である。
【図5】ノンパラメトリックな1クラス判別の一例である、1クラスSVMを示す説明図である。
【図6】図6(a)はソフトマージンなしの場合の入力空間、図6(b)はソフトマージンなしの場合のヒルベルト空間を示す説明図である。
【図7】図7(a)はソフトマージンありの場合の入力空間、図7(b)はソフトマージンありの場合のヒルベルト空間を示す説明図である。
【図8】図1に示した判別関数決定部の良品領域数判定部が生成する、良品と判別される学習サンプル同士を結ぶ線分の説明図であり、(a)が良品領域が単一である場合、(b)が良品領域が2つである場合を示す。
【図9】図1に示した判別関数決定部の良品領域数判定部が生成する、良品と判別される学習サンプルの中心(平均)と、良品と判別される学習サンプルとを結ぶ線分の説明図であり、(a)が良品領域が単一である場合、(b)が良品領域が2つである場合を示す。
【図10】図1に示した判別関数決定部の良品領域数判定部が生成する、マージンサポートベクトル(MSV)同士を結ぶ線分の説明図であり、(a)が良品領域が単一である場合、(b)が良品領域が2つである場合を示す。
【図11】図1に示した判別関数決定部の良品領域数判定部が生成する、良品と判別される学習サンプルの中心(平均)と、マージンサポートベクトルとを結ぶ線分の説明図であり、(a)が良品領域が単一である場合、(b)が良品領域が2つである場合を示す。
【図12】良品領域が単一であっても不適切な場合の説明図であり、(a)は良品領域に穴がある場合、(b)は良品領域が凸でない場合を示す。
【図13】ヒストグラム法の超立方体の体積Vの大きさによる良品領域の大きさの変化を示す説明図であり、(a)は体積Vが大の場合、(b)は体積Vが中の場合、(c)は体積Vが小の場合を示す。
【図14】最近傍推定の超球の半径rの大きさによる良品領域の大きさの変化を示す説明図であり、(a)は半径rが大の場合、(b)は半径rが中の場合、(c)は半径rが小の場合を示す。
【図15】1クラスSVMのガウスカーネルの幅σの大きさによる良品領域の大きさの変化を示す説明図であり、(a)は幅σが大の場合、(b)は幅σが中の場合、(c)は幅σが小の場合を示す。
【図16】図1に示した判別関数決定部が用いるデータの説明図であり、(a)は学習サンプル、(b)はパラメータ候補、(c)は判別関数を示す。
【図17】図1に示した判別関数決定部による判別関数決定処理を示すフローチャートである。
【図18】図1に示した判別関数決定部の良品領域数判定部による良品領域数判定処理を示すフローチャートである。
【図19】図1に示した判別関数決定部の良品領域数判定部による良品領域数判定処理において、線分から抽出した複数の点について、判別関数が閾値以上であることを確認する場合の手順を示すフローチャートである。
【図20】図1に示した判別関数決定部の良品領域数判定部による良品領域数判定処理において、線分から抽出した複数の点について、判別関数が閾値以上であることを確認する場合の手順の説明図であり、(a)は逸脱がない場合、(b)は逸脱がある場合を示す。
【図21】図1に示した判別関数決定部の良品領域数判定部による良品領域数判定処理において、線分から抽出した複数の点について、判別関数が閾値以上であることを確認することによって逸脱を判定する場合に、線分上から点を抽出する際に生成するデータの具体例を示す説明図であり、(a)は両端を含めて5つの点を抽出し座標を登録する場合の例、(b)は線分の両端のデータの登録を省略する場合の例、(c)は線分の一端が良品と判別される学習サンプルの中心である場合の例を示す。
【図22】図1に示した判別関数決定部の良品領域数判定部による良品領域数判定処理において、最適化手法で線分上での判別関数の最小値を求め、該最小値が閾値以上であることを確認する場合の手順を示すフローチャートである。
【図23】図1に示した判別関数決定部の良品領域数判定部による良品領域数判定処理において、最適化手法で線分上での判別関数の最小値を求め、該最小値が閾値以上であることを確認する場合の手順を説明する説明図であり、(a)は逸脱がない場合、(b)は逸脱がある場合を示す。
【図24】パターン認識の手順を示す説明図である。
【図25】学習サンプル同士を結ぶ線分の良品領域からの逸脱の有無を0/1で表現したマトリクスの説明図であり、(b)は良品領域が単一である場合(a)のマトリクス、(d)は良品領域が2つである場合(c)のマトリクスを示す。
【図26】良品領域と不良品領域を説明する説明図であり、(a)は良品と不良品が発生する領域、(b)は真の良品領域と学習した良品領域を示す。
【図27】良品領域の数を説明する説明図であり、(a)は良品領域が複数に分割された場合、(b)は良品領域が単一である場合を示す。
【符号の説明】
【0158】
20 判別関数決定部
21 学習サンプル格納部
22 学習サンプル取得部
23 パラメータ候補格納部
24 パラメータ設定部(パラメータ設定手段)
25 判別関数学習部
26 良品領域数判定部(判別関数判定手段)
27 判別関数出力部
28 判別関数格納部
100 検査装置
【技術分野】
【0001】
本発明は、入力された検査対象の計測データから特徴量を抽出し、抽出した特徴量に基づいて検査対象の状態を判定する検査装置、検査方法、検査プログラムおよびそれを記録したコンピュータ読み取り可能な記録媒体に関するものである。
【背景技術】
【0002】
自動車や家電製品などには、モータ等の駆動系部品が組み込まれた回転機器が非常に多く用いられている。例えば、自動車では、エンジン、パワーステアリング、パワーシート、ミッションその他の至る所に回転機器が実装されている。また、家電製品では、冷蔵庫、エアコン、洗濯機その他各種の製品には、回転機器が実装されている。そして、これら回転機器が稼働すると、モータ等の回転によって音が発生する。
【0003】
この回転による音は、正常な動作に伴って必然的に発生するものもあれば、不良に伴って発生する音もある。この不良に伴う異常音の一例としては、ベアリングの異常、内部の異常接触、アンバランス、異物混入などがある。より具体的には、ギヤ1回転について1度の頻度で発生するギヤ欠け、異物かみ込み、スポット傷、モータ内部の回転部と固定部が回転中の一瞬だけこすれ合うような異常音がある。また、人が不快と感じる音としては、例えば人間が聞こえる20Hzから20kHzの中で様々な音があり、例えば約15kHz程度のものがある。そして、このような所定の周波数成分の音が発生している場合も異常音となる。もちろん、異常音はこの周波数に限られない。
【0004】
上記のような不良に伴う音は、不快であるばかりでなく、さらなる故障を発生させるおそれもある。そこで、それら各製品に対する品質保証を目的とし、生産工場においては、通常、検査員による聴覚や触覚などの五感による「官能検査」を行い、異常音の有無の判断を行っている。具体的には、検査員が耳で聞いたり、手で触って振動を確認したりすることによって行っている。なお、官能検査は、官能検査用語JIS Z8144に定義されている。
【0005】
ところで、検査員の五感による官能検査では、熟練した技術を要するばかりでなく、判定結果に個人差や時間による変化などのばらつきが大きい。さらには、判定結果のデータ化、数値化が難しく、管理が困難であるという問題がある。そこで、この問題を解決するため、駆動系部品を含む製品の異常を検査する検査装置として、定量的かつ明確な基準による安定した検査を目的とした異音検査装置がある。
【0006】
しかし、これまでの異音検査装置では、不良品(異常品)を良品(正常品)と誤判定してしまう見逃し率の発生をなくしつつ(不良品を出荷することになるため確実に阻止する必要がある)、良品を不良品と誤判定してしまう過検出率の低減を図る(良品が出荷されず、廃棄処理等されてしまう無駄・歩留まり低下の防止をする)ことを目的とし、高性能な良否判定アルゴリズムの作成・改良が行われていた。そのため、使用する特徴量の数が増加したり、よりよい判定ルールを作成するために要求されるサンプル数が増加したりしていた。
【0007】
一方、近年、工業製品の品質に対する消費者の目は厳しくなる一方である。また、多品種少量生産の時代の製造業においては、製品の品質を確保するだけでなく、生産ラインの立ち上げをいかに迅速に行えるかが重要な課題となる。つまり、単純に異音検査アルゴリズムの高精度化を図るだけでは十分ではなく、よりよい品質の製品を市場に送り出すために、生産現場には、以下の2つのニーズがある。
【0008】
1つ目は、検査の自動化である。すなわち、通常、生産工程での検査は製品の寸法や重さなど、生産された製品の個々の特性値それぞれに対して管理基準を決定し、品質を管理している。例えば、プリント配線基板のはんだ外観検査や、自動車エンジンの異音検査のような官能検査を自動化した検査装置では、画像や波形から複数の品質特性を抽出し、判別モデルがこれらの特性を総合的に判断して良否を判定する。
【0009】
2つ目は、垂直立ち上げである。生産現場では、ラインの立ち上げの際に、量産試作という過程を経て、量産ラインを立ち上げるのが一般的である。量産試作とは、研究・設計後に量産と同じ生産手段によって製品を作り、工程に問題が無いかなど量産の可否を決定するものである。自動検査装置の判別モデルを自動生成する場合は、十分なデータが集まらないとモデリングできないため、量産開始時まで検査基準を確定できない。この量産試作段階で量産段階に使用する検査基準を決定し、量産開始と同時に安定した検査を開始することが、生産ラインの垂直立ち上げを実現する上で重要な課題となる。
【0010】
上述したような官能検査では、音の大きさや高さ、外観の色、形状等さまざまな品質特性を総合的に判断して良否を決定する。そして、官能検査の自動化システムでは、マイクやカメラ等のセンサで取得したデータから品質特性を表す複数の特徴量を抽出し、判別関数によって良否を判定するパターン認識が有効である。一般にパータン認識では、判別関数を決めるために十分な数の学習サンプルを用意する必要がある。
【0011】
ここで、パターン認識による製品検査について説明する。
【0012】
図24は、パターン認識の手順を示す説明図である。パターン認識とは、データから抽出された特徴量のパターンから、そのデータが属する群を決定(判別)する手法である。そのため、あらかじめ、パターン空間上で、すでに観測されているデータから判別関数を自動生成(学習)しておく必要がある。
【0013】
そして、パターン認識の手法は、分布の表現方法と、分布の対称性とによって、4つに分類できる。
【0014】
分布の表現方法によれば、分布を統計パラメータで表現する「パラメトリック判別」と、分布を統計パラメータで表現しない「ノンパラメトリック判別」とに分類できる。また、分布の対称性によれば、分布の対称性を仮定する「2クラス判別モデル」と、分布の対称性を仮定しない「1クラス判別モデル」とに分類できる。
【0015】
具体的には、パラメトリック判別では、学習フェイズにおいて、すでに観測されているデータが構成する複数の群(例えば正常と異常)について、各群に属するデータが従う確率密度分布の形状を規定するパラメータ(例えば、平均・分散)を推定しておく。そして、判別フェイズにおいて、新たなデータが観測されたときに、推定したパラメータを使って各群への帰属の度合いを求め、いずれの群に属するかを決定する。このパラメトリック判別は、データが、パラメータで形状を規定できるような確率密度分布(例えば正規分布)に従うと仮定できる場合にのみ有効な手法である。
【0016】
また、ノンパラメトリック判別では、学習フェイズにおいて、群ごとに、すでに観測されているデータのすべて、または判別に寄与する一部のデータをそのまま保持しておく。あるいは、統計的パラメータを用いずに、データから直接密度分布を求める。そして、判別フェイズにおいて、新たなデータが観測されたときに、保持しておいたデータ、または分布との類似度や距離から各群への帰属度を求め、いずれの群に属するかを決定する。このノンパラメトリック判別は、データが、パラメータで形状を規定できるような確率密度分布に従うと仮定できない場合でも有効な手法である。
【0017】
一方、2クラス判別では、学習フェイズにおいて、判別したい2つのクラス(例えば良品と不良品)両方のサンプルを使用して判別関数を学習する。そして、判別フェイズにおいて、判別関数により、未知サンプルの両クラスへの帰属度を求め、いずれのクラスにより属しているかという比較評価を行う。
【0018】
また、1クラス判別では、学習フェイズにおいて、1クラスのみの学習サンプルを用いて、密度推定を行っておく。そして、判別フェイズにおいて、判別関数により、密度を元に未知サンプルの帰属度を求め、一定以上であればそのクラス、一定未満であればそのクラスでないと判別するような閾値判定を行う。
【0019】
そして、パターン認識の4分類の具体例を挙げれば次のとおりである。
【0020】
(1)パラメトリックな2クラス判別・・・ベイズ識別、判別分析
(2)ノンパラメトリックな2クラス判別・・・最近傍判別器(NN判別器)、サポートベクタマシン(SVM)
(3)パラメトリックな1クラス判別・・・マハラノビス・タグチ・システム(MTS)
(4)ノンパラメトリックな1クラス判別・・・ヒストグラム法、最近傍推定、1クラスSVM、Parzen窓法、RBF(動径基底関数(Radial Basis Function))ネットワーク、カーネル密度推定、ブートストラップ法等。
【0021】
ここで、良品は一様であるが不良品は多種多様であるため、各クラスの特徴空間上での分布の対称性を仮定する通常の2クラス判別は、良品/不良品の判別には適していない。また、製品検査で収集できる不良品サンプルは良品サンプルに比べて非常に少ない。よって、良品/不良品の判別には、良品分布のみを考慮する1クラス判別が有効である。
【0022】
また、一般に量産開始と同時に検査を開始する必要があるので、量産前に得られる限られたサンプルから判別関数を決める必要がある。しかし、量産前は良品サンプルも十分には得られない。そのため、統計的推定が必要なパラメトリック判別は、少数サンプルでは十分な性能を確保できない。よって、限られたサンプルから判別関数を決める場合には、統計的推定が不要なノンパラメトリック判別が有効である。
【0023】
以上のことから、製品検査に応用するパターン認識には、ノンパラメトリックな1クラス判別が有効である。
【0024】
なお、本願発明に関連する先行技術文献としては、次の非特許文献1〜3がある。
【0025】
パラメトリック判別は、少数サンプルでは学習不可能、または判別性能確保困難である。例えば、MTSは、学習サンプル数が特徴数以下の場合、(正確多重共線性)学習が不可能である。さらに、学習サンプル数が特徴数より多い場合でも、少数のサンプルしかないと統計的推定の精度が不十分なため、判別性能が確保できないことがある。そのため、性能を確保するには、経験的に特徴数の3倍程度のサンプルが必要である。非特許文献1には、サンプルが少数の場合、ノンパラメトリック判別を使用、あるいは併用することで性能確保を図る方法が開示されている。
【0026】
非特許文献2には、1クラスSVMにおいて、サポートベクトルの割合がleave-one-out法で評価した誤判別率の上限となる性質を利用し、サポートベクトル数が最小となるようにパラメータを調整する方法が開示されている。しかし、この方法では、領域の形状を評価していないため、良品領域が複数に分割される可能性があるという問題は解決されない。
【0027】
非特許文献3には、良品と判定されるすべての学習サンプルの組み合わせについて、それらを結ぶ線分が良品領域を逸脱しないかを判定することで、同じ領域に属する学習サンプルをクラスタリングする方法が開示されている。図25に示すように、逸脱の有無を0/1で表現したマトリクス(図25(b)、図25(d))を作ることで、同じクラスタに属するサンプルを知ることができる。なお、図25(b)は良品領域が単一である場合(図25(a))のマトリクス、図25(d)は良品領域が2つである場合(図25(c))のマトリクスである。
【非特許文献1】田崎博, 糀谷和人, 中島宏, “自動検査のための漸進的判別モデル更新手法”, 第32回知能システムシンポジウム講演論文集, pp. 243-246 (2005).
【非特許文献2】Nello Cristianini, John Shawe-Taylor, "An Introduction to Support Vector Machines: And Other Kernel-Based Learning Methods", Cambridge University Press (2000) (邦訳:サポートベクタマシン入門, 共立出版)
【非特許文献3】Asa Ben-Hur, David Horn, Hava T. Siegelmann, Vladimir Vapnik ,"Support Vector Clustering", Journal of Machine Learning Research 2, pp. 125-137 (2001).
【発明の開示】
【発明が解決しようとする課題】
【0028】
基本的に製品の品質特性は、目標値を中心としその周辺で(部品・材料のばらつきや製造装置の変動等に起因する)ばらつきを持つため、良品が発生する領域(真の良品領域)は、目標値を中心とした単一の領域を形成すると考えられる(図26(a))。
【0029】
また、有限のサンプルから学習した判別関数は、実際には真の良品領域とは異なる良品領域(学習した良品領域)を形成する。そして、その差異が小さいほど判別性能が良い(図26(b))。
【0030】
また、多くのノンパラメトリック判別では、学習サンプルの密度に基づいて良品領域を決定するため、学習サンプルに疎なところがあると、良品領域が複数の領域に分断される可能性がある(図27(a))。そして、学習サンプルが少数の場合には、本来密度の高いところでも学習サンプルが疎になる可能性があるため、判別性能が大幅に低下する危険性がある。
【0031】
以上より、良品領域が単一であれば(図27(b))、分割される場合に比べ真の良品領域に近くなると考えられるので、判別性能の向上が期待できる。そのためには、学習後、判別関数が単一の良品領域を形成するか否かを判定して、良品領域が単一になるようにパラメータを調整すればよい。
【0032】
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、ノンパラメトリックな1クラス判別に用いる判別関数の決定を支援することができる検査装置、検査方法、検査プログラムおよびそれを記録したコンピュータ読み取り可能な記録媒体を実現することにある。
【課題を解決するための手段】
【0033】
上記課題を解決するために、本発明に係る検査装置は、ノンパラメトリックな1クラス判別に用いる判別関数が、サンプルをプロットした入力空間において、クラスに判別されるサンプルを含む領域を単一の領域として形成するか否かを判定する判別関数判定手段を備えることを特徴としている。
【0034】
また、本発明に係る検査方法は、検査対象の状態の判別に用いる判別関数を決定する検査装置による検査方法であって、上記検査装置が備える判別関数判定手段が、ノンパラメトリックな1クラス判別に用いる判別関数が、サンプルをプロットした入力空間において、クラスに判別されるサンプルを含む領域を単一の領域として形成するか否かを判定することを特徴としている。
【0035】
上記の構成によれば、ノンパラメトリックな1クラス判別に用いる判別関数が、サンプルをプロットした入力空間において単一の領域を形成するか否かを判定することができる。なお、ノンパラメトリックな1クラス判別としては、具体的には、ヒストグラム法、最近傍推定、1クラスSVM、Parzen窓法、RBFネットワーク、カーネル密度推定、ブートストラップ法等がある。
【0036】
よって、上記判定の結果、判別関数が単一の領域を形成しない場合、すなわち、クラスに判別されるサンプルを含む領域が複数の領域に分割されている場合、判別関数が単一の領域を形成するように、例えば、基底関数の領域の大きさを規定する領域パラメータを変更して、判別関数を再学習することが可能となる。したがって、クラスに判別されるサンプルを含む領域を単一にして、真の領域に近づけることにより、判別性能を向上させることが可能となる。
【0037】
また、本発明に係る検査装置は、上記判別関数判定手段によって、上記判別関数が上記単一の領域を形成しないと判定されたとき、上記判別関数を規定する、密度関数の基底となる基底関数の領域の大きさを規定する領域パラメータを、サンプルをプロットした入力空間において該判別関数が単一の領域を形成するように設定するパラメータ設定手段を備えることを特徴としている。
【0038】
また、本発明に係る検査方法は、検査対象の状態の判別に用いる判別関数を決定する検査装置による検査方法であって、上記検査装置が備えるパラメータ設定手段が、ノンパラメトリックな1クラス判別に用いる判別関数を規定する、密度関数の基底となる基底関数の領域の大きさを規定する領域パラメータを、サンプルをプロットした入力空間において該判別関数が、クラスに判別されるサンプルを含む領域を単一の領域として形成するように設定することを特徴としている。
【0039】
上記の構成によれば、ノンパラメトリックな1クラス判別に用いる判別関数を規定する、密度関数の基底となる基底関数の領域の大きさを規定する領域パラメータを、サンプルをプロットした入力空間において該判別関数が単一の領域を形成するように設定することができる。なお、領域パラメータとしては、具体的には、具体的には、ヒストグラム法では超立方体の体積V、最近傍推定では超球の半径r、1クラスSVMではガウスカーネルの幅σである。
【0040】
よって、判別関数が単一の領域を形成しない場合、すなわち、クラスに判別されるサンプルを含む領域が複数の領域に分割されている場合でも、判別関数が単一の領域を形成するように、領域パラメータを変更して、判別関数を再学習することができる。したがって、クラスに判別されるサンプルを含む領域を単一にして、真の領域に近づけることにより、判別性能を向上させることが可能となる。
【0041】
さらに、本発明に係る検査装置は、上記ノンパラメトリックな1クラス判別の判別アルゴリズムは、識別面上のサンプルをモデルに記憶することが好ましい。
【0042】
ここで、識別面上のサンプルをモデルに記憶する1クラス判別の判別アルゴリズムとしては、例えば、1クラスサポートベクタマシンがある。一般に、サポートベクタマシンは、一般的なノンパラメトリック判別アルゴリズムに比べて、(i)汎化性能(未知サンプルに対する判別性能)が高い、(ii)学習の途中で局所解に陥らないことが保証されている、という特徴がある。
【0043】
よって、上記の構成によれば、判別性能および学習効率の高い検査装置を実現できる。
【0044】
さらに、本発明に係る検査装置は、上記判別関数判定手段は、上記単一の領域に含まれると判定されるサンプル同士を結ぶ線分が、上記単一の領域を逸脱するか否かを判定するものであってもよい(図8(a)(b))。
【0045】
さらに、本発明に係る検査装置は、上記判別関数判定手段は、サンプルの中心と、上記単一の領域に含まれると判定されるサンプルとを結ぶ線分が、上記単一の領域を逸脱するか否かを判定するものであってもよい(図9(a)(b))。
【0046】
上記の構成によれば、上記単一の領域に含まれると判定されるサンプル同士を結ぶ場合と比べて、線分の数が少なくなるため、演算量を抑制できる。
【0047】
さらに、本発明に係る検査装置は、上記判別関数判定手段は、モデルに記憶する識別面上のサンプル同士を結ぶ線分が、上記単一の領域を逸脱するか否かを判定するものであってもよい(図10(a)(b))。
【0048】
さらに、本発明に係る検査装置は、上記判別関数判定手段は、サンプルの中心と、モデルに記憶する識別面上のサンプルとを結ぶ線分が、上記単一の領域を逸脱するか否かを判定するものであってもよい(図11(a)(b))。
【0049】
上記の構成によれば、モデルに記憶する識別面上のサンプル同士を結ぶ場合と比べて、線分の数が少なくなるため、演算量を抑制できる。なお、モデルに記憶する識別面上のサンプルとしては、マージンサポートベクトルが利用できる。
【0050】
さらに、本発明に係る検査装置は、上記判別関数判定手段は、上記線分から1または複数の点を抽出し、各点を上記判別関数に当てはめて、すべての点が上記単一の領域に含まれると判別されるか否かを判定するものであってもよい。
【0051】
上記の構成によれば、さらに、1または複数の点についてのみ判別関数の演算を行えばよいため、線分が上記単一の領域を逸脱するか否かの判定を簡単に行うことができる。また、要求される判定精度に応じて、抽出する点の数を加減することができる。
【0052】
さらに、本発明に係る検査装置は、上記判別関数判定手段は、上記線分上での上記判別関数の最小値を求め、該最小値が所定の閾値以上であるか否かを判定するものであってもよい。
【0053】
上記の構成によれば、さらに、線分上での上記判別関数の最小値が所定の閾値以上であるか否かを判定するため、線分が上記単一の領域を逸脱するか否かの判定を高精度に行うことができる。なお、線分の範囲内で判別関数の最小値を求めるには、ニュートン法や最急降下法などの非線形最適化手法が利用できる。
【0054】
なお、上記検査装置は、コンピュータによって実現してもよく、この場合には、コンピュータを上記各手段として動作させることにより上記検査装置をコンピュータにて実現させる検査装置の検査プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
【発明の効果】
【0055】
以上のように、本発明に係る検査装置は、ノンパラメトリックな1クラス判別に用いる判別関数が、サンプルをプロットした入力空間において、クラスに判別されるサンプルを含む領域を単一の領域として形成するか否かを判定する判別関数判定手段を備える構成である。
【0056】
また、本発明に係る検査方法は、検査装置が備える判別関数判定手段が、ノンパラメトリックな1クラス判別に用いる判別関数が、サンプルをプロットした入力空間において、クラスに判別されるサンプルを含む領域を単一の領域として形成するか否かを判定する方法である。
【0057】
それゆえ、上記判定の結果、判別関数が単一の領域を形成しない場合、すなわち、クラスに判別されるサンプルを含む領域が複数の領域に分割されている場合、判別関数が単一の領域を形成するように、例えば、基底関数の領域の大きさを規定する領域パラメータを変更して、判別関数を再学習することが可能となる。したがって、クラスに判別されるサンプルを含む領域を単一にして、真の領域に近づけることにより、判別性能を向上させることが可能となるという効果を奏する。
【0058】
また、本発明に係る検査装置は、上記判別関数判定手段によって、上記判別関数が上記単一の領域を形成しないと判定されたとき、上記判別関数を規定する、密度関数の基底となる基底関数の領域の大きさを規定する領域パラメータを、サンプルをプロットした入力空間において該判別関数が単一の領域を形成するように設定するパラメータ設定手段を備える構成である。
【0059】
また、本発明に係る検査方法は、検査装置が備えるパラメータ設定手段が、ノンパラメトリックな1クラス判別に用いる判別関数を規定する、密度関数の基底となる基底関数の領域の大きさを規定する領域パラメータを、サンプルをプロットした入力空間において、クラスに判別されるサンプルを含む領域を単一の領域として形成するように設定する方法である。
【0060】
それゆえ、判別関数が単一の領域を形成しない場合、すなわち、クラスに判別されるサンプルを含む領域が複数の領域に分割されている場合でも、判別関数が単一の領域を形成するように、領域パラメータを変更して、判別関数を再学習することができる。したがって、クラスに判別されるサンプルを含む領域を単一にして、真の領域に近づけることにより、判別性能を向上させることが可能となるという効果を奏する。
【発明を実施するための最良の形態】
【0061】
本発明の一実施の形態について図面に基づいて説明すれば、以下のとおりである。
【0062】
図2は、本実施の形態に係る検査装置100の構成の概略を示す説明図である。図1は、検査装置100が備える判別関数決定部20の構成を示す機能ブロック図である。
【0063】
本実施の形態に係る検査装置100は、入力された検査対象の計測データから特徴量を抽出し、抽出した特徴量に基づいて、ノンパラメトリックな1クラス判別によってサンプルの良否を判別する。そして特に、判別関数決定部20を備え、(1)ノンパラメトリックな1クラス判別に用いる判別関数が単一の良品領域(クラス(良品)に判別される学習サンプルを含む領域;学習サンプルを多く含む方の領域)を形成するか否かを判定する機能、(2)ノンパラメトリックな1クラス判別に用いる判別関数を規定する、密度関数の基底となる基底関数の領域の大きさを規定する領域パラメータを、該判別関数が単一の良品領域を形成するように設定する機能を具備している。
【0064】
以下では、まず判別関数決定部20の機能の概要を説明した後、その装置構成について説明する。
【0065】
〔概要〕
(1)ノンパラメトリックな1クラス判別の基本概念
ノンパラメトリックな1クラス判別は、統計的パラメータを用いずに学習サンプルの密度を推定し、一定の閾値以上の密度の領域を良品、一定の閾値未満の領域を不良品と判別する手法である。その具体的な判別アルゴリズムとしては、以下に説明する、ヒストグラム法、最近傍推定、1クラスサポートベクタマシン(SVM)の他、Parzen窓法、RBFネットワーク、カーネル密度推定、ブートストラップ法等さまざまなアルゴリズムが存在する。
【0066】
(a)ヒストグラム法
図3は、ヒストグラム法を示す説明図である。図3は、学習サンプル数1以上を良品領域とする場合を示す。また、図中、丸印がサンプルを示し、1区画が体積Vの超直方体を示す。
【0067】
ヒストグラム法は、入力空間を体積Vの超直方体に分割し、含まれるサンプルの数をカウントすることで密度を推定する。そして、含まれる学習サンプル数が一定の閾値以上の領域を良品領域、一定の閾値未満の場合の場合は不良品領域(図中、斜線部)と判別する。
【0068】
(b)最近傍推定
図4は、最近傍推定を示す説明図である。図中、丸印がサンプルを示し、円弧がサンプルを中心とする半径rの超球を示す。
【0069】
最近傍推定は、学習サンプルを中心とする半径rの超球に含まれる領域を良品領域、含まれない領域を不良品領域(図中、斜線部)と判別する。
【0070】
(c)1クラスSVM
図5は、1クラスSVMを示す説明図である。図中、左側が元の空間である入力空間、右側が入力空間を非線形写像Φによって写像した多高次元ヒルベルト空間であり、丸印がサンプルを示す。図中下側に示した、学習後のヒルベルト空間において決定された識別面上のサンプルがサポートベクトル(SV)、それ以外のサンプルが非サポートベクトル(Non−SV)である。ヒルベルト空間の識別面を入力空間上に逆変換したものが境界である。1クラスSVMでは、この境界内の領域を良品領域、境界外の領域を不良品領域(図中、斜線部)と判別する。
【0071】
より詳細に説明すると、1クラスSVMは、入力空間上の学習サンプルを、非線形写像Φによって、入力空間を多高次元ヒルベルト空間に写像し、その上で線形な識別面を学習する。
【0072】
ここで、ガウスカーネルを用いたカーネル写像は、入力空間で密度が疎なところの学習サンプルは原点付近に、密なところの学習サンプルは原点から遠いところに写像するという特徴をもつ。
【0073】
【数1】
【0074】
そして、1クラスSVMは、ヒルベルト空間上で原点と学習サンプルを分離する超平面のうち、原点からの距離が最も大きくなるような超平面(すなわち、識別面)を学習する。超平面上の学習サンプルのことをサポートベクトルと呼ぶ。
【0075】
ここで、n個のd次元ベクトルx={x1,…,xd}の集合を学習サンプルとしたとき、1クラスSVMによる判別関数は以下のように表され、関数値が0以上のときは良品、0未満のときは不良品と判別される。
【0076】
【数2】
【0077】
上式において、xiは学習サンプルのラベルである。αiはサポートベクトルの重みと呼ばれる係数で、学習によって決定される。また、ρは、任意のサポートベクトルxi(係数αi≠0の学習サンプル)を次式に代入して求まる定数である。
【0078】
【数3】
【0079】
なお、一般的に入力空間上で非線形な識別面を学習するのは困難であるが、もし高次元空間に写像すれば線形な識別面となるのであれば、高次元空間上で線形判別アルゴリズムを用いて簡単に学習できる。また、SVMは線形判別アルゴリズムであり、その学習には2つのベクトルの内積が計算できればよい。そこで、入力空間で直接非線形な識別面を学習する代わりに、高次元空間上でSVMによって線形な識別面を学習することを考える。ここで、入力空間上の2つのベクトルで、高次元空間上での2つのベクトルの内積を表す関数を「カーネル関数」と呼ぶ。そして、カーネル関数であれば、高次元空間での計算を行うことなく非線形な識別面を簡単に学習することができる。このような高次元空間上での計算をカーネル関数の計算で置き換える方法をカーネルトリックと呼ぶ。
【0080】
(1クラスSVMにおけるソフトマージン)
ここで、図6(a)はソフトマージンなしの場合の入力空間、図6(b)はソフトマージンなしの場合のヒルベルト空間を示す説明図である。また、図7(a)はソフトマージンありの場合の入力空間、図7(b)はソフトマージンありの場合のヒルベルト空間を示す説明図である。
【0081】
通常、1クラスSVMは、学習サンプルが一つも識別面の原点側に残らないように学習する(ハードマージン)が、学習サンプルに外れ値を含む場合は過適合により判別性能が低下するという問題がある。これに対して、一定の割合まで学習サンプルを識別面の原点側に残すことを許す(ソフトマージン)ことで、外れ値への過適合を回避することができる。
【0082】
ソフトマージンでは、学習アルゴリズムに、原点側に残すことを許容する割合νが導入されるが、学習結果の判別関数はハードマージンのときと同じ形式で表現される。そして、ソフトマージンの場合、識別面上にある学習サンプルだけでなく、原点側に残された学習サンプルもサポートベクトルと呼ぶ。そのため、識別面上のサポートベクトルと原点側に残されたサポートベクトルを区別する場合、前者をマージンサポートベクトル(MSV;モデルに記憶する識別面上のサンプル)、後者をバウンデドサポートベクトル(BSV)と呼ぶこととする。
【0083】
(2)良品領域が単一であることの判定
良品領域が単一でない、すなわち、良品領域が複数の場合、良品領域を逸脱する線分が必ず存在する。そこで、例えば次の(i)〜(iv)のいずれかの線分を引いて、該線分上の点が良品領域を逸脱するか否かを判定する。なお、線分は、良品領域が複数の場合に良品領域を逸脱する部分を有するものであればよく、(i)〜(iv)の4種に限定されるものではない。
【0084】
(i)良品と判別される学習サンプル同士を結ぶ線分(図8(a)(b))
(ii)良品と判別される学習サンプルの中心(平均)と、良品と判別される学習サンプルとを結ぶ線分(図9(a)(b))
(iii)マージンサポートベクトル(MSV)同士を結ぶ線分(図10(a)(b))
(iv)良品と判別される学習サンプルの中心(平均)と、マージンサポートベクトルとを結ぶ線分(図11(a)(b))。
【0085】
ここで、図8〜図11は、それぞれ上記(i)〜(iv)の線分の説明図であり、各(a)が良品領域が単一である場合、各(b)が良品領域が2つである場合を示す。そして、各(b)中の線分の太線部分が、良品領域を逸脱する部分である。
【0086】
さらに、線分上の点が良品領域を逸脱するか否かは、(1)線分から抽出した複数の点について、判別関数が閾値以上であることを確認してもよいし、(2)最適化手法で線分上での判別関数の最小値を求め、該最小値が閾値以上(関数によっては大小逆の場合もある)であることを確認することによって行ってもよい。
【0087】
なお、厳密には、良品領域が単一であっても、領域に穴がある場合(図12(a))や領域が凸でない場合(図12(b))にも逸脱が発生する可能性があるため、パラメータ調整によってこれらのケースも排除される可能性がある。これらのケースでは良品領域より目標値に近い不良品領域が存在することになるので、やはり適切な良品領域とはいえない。よって、パラメータ調整によってこれらのケースも排除することは合理的であると考えられる。
【0088】
(3)ノンパラメトリック判別の領域パラメータ
図13〜図15は、ノンパラメトリック判別の領域パラメータの大きさによる良品領域の大きさの変化を示す説明図であり、図13はヒストグラム法、図14は最近傍推定、図15は1クラスSVMを示し、また、各(a)は領域パラメータが大の場合、各(b)は領域パラメータが中の場合、各(c)は領域パラメータが小の場合を示す。
【0089】
ノンパラメトリック判別の判別関数は、密度関数の基底となる関数の領域パラメータを持っている。具体的には、ヒストグラム法では超立方体の体積V、最近傍推定では超球の半径r、1クラスSVMではガウスカーネルの幅σである。
【0090】
基底関数の領域が大きくなれば、良品領域も大きくなる性質がある。よって、基底関数の領域が小さすぎると第1種の誤り(良品を不良品と判別する誤り)、大きすぎると第2種の誤り(不良品を良品と判別する誤り)が発生する危険性が高くなる。また、基底関数の領域が小さいと良品領域が複数に分割され、大きくなると単一の領域を構成しやすくなる。
【0091】
(領域パラメータの調整)
図26(b)に示すように、有限のサンプルから学習した判別関数によって構成される良品領域(学習した良品領域)は、実際には真の良品領域とは異なる。真の良品領域と学習した良品領域の差異が大きいと誤判別の危険性が高くなる。そこで、学習した良品領域を真の良品領域に近づけるため、領域パラメータの調整を行う。
【0092】
学習した良品領域が広くなるように調整すると、不良品を良品と誤判別する確率が大きくなる。一方、学習した良品領域が狭くなるように調整すると、良品を不良品と誤判別する確率が大きくなる。
【0093】
真の良品領域について先験的な知識がない場合、期待誤判別率(誤判別する領域に未知サンプルが出現する確率)を最小化するように領域パラメータを調整する。また、学習サンプルが少ないと、性能評価の信頼性が低いため、領域パラメータの調整では誤判別率が十分最小化できない可能性が高い。
【0094】
なお、領域パラメータの調整には、得られたサンプルの一部を判別性能の評価用にとっておき、残りを学習に使う方法(交差検証、leave-one-out法)が利用できる。
【0095】
〔装置構成〕
図2に示すように、検査装置100は、検査対象物101に接触・近接配置されたマイク102および加速度ピックアップ103からの信号が、アンプ104で増幅され、AD変換器105にてデジタルデータに変更された後、入力される。また、図示を省略するが、量試段階や、量産開始後では、生産現場にて実際にワーク(製品)の製造をする制御を司るPLC(Programmable Logic Controller)からも動作タイミングその他のデータを取得することができる。そして、検査装置100は、マイク102で収集した音データや、加速度ピックアップ103で収集した振動データに基づく波形データを取得し、特徴量を抽出するとともに、異常判定を行う。
【0096】
なお、検査装置100は、コンピュータから構成され、CPU本体100aと、キーボード、マウス等の入力装置100bと、ディスプレイ100cとを備えている。また、必要に応じて外部記憶装置を備えたり、通信機能を備え外部のデータベースと通信し、必要な情報を取得できるように構成されていてもよい。
【0097】
また、検査装置100は、異常判定をする際に用いる判定知識を正常なサンプルに基づいて生成し、条件に適合したものを良品とし、適合しないものを不良品と判定するといった、異常検出を行うことを基本的なアルゴリズムとしている。
【0098】
図1は、検査装置100が備える判別関数決定部20の構成を示す機能ブロック図である。
【0099】
判別関数決定部20は、検査対象の状態の判別に用いる判別関数を決定する。具体的には、ノンパラメトリックな1クラス判別に用いる判別関数が、サンプルをプロットした入力空間において単一の良品領域を形成するか否かを判定する。そして、良品領域が単一でなければ、判別関数を規定する、密度関数の基底となる基底関数の領域の大きさを規定する領域パラメータを、サンプルをプロットした入力空間において該判別関数が単一の良品領域を形成するように設定する。
【0100】
そのため、判別関数決定部20は、学習サンプル格納部21、学習サンプル取得部22、パラメータ候補格納部23、パラメータ設定部(パラメータ設定手段)24、判別関数学習部25、良品領域数判定部(判別関数判定手段)26、判別関数出力部27、判別関数格納部28を備えて構成されている。
【0101】
学習サンプル取得部22は、学習の際、学習サンプル格納部21に格納されている学習サンプルを取得し、判別関数学習部25へ出力する。
【0102】
パラメータ設定部24は、ノンパラメトリックな1クラス判別に用いる判別関数を規定する、密度関数の基底となる基底関数の領域の大きさを規定する領域パラメータを、サンプルをプロットした入力空間において該判別関数が単一の良品領域を形成するように設定する。なお、領域パラメータはあらかじめパラメータ候補格納部23に格納されているものから選択してもよい。
【0103】
判別関数学習部25は、学習サンプル取得部22が取得した学習サンプルと、パラメータ設定部24が選択した領域パラメータとを用いて、判別関数を生成する。例えば、ノンパラメトリックな1クラス判別の判別アルゴリズムが1クラスサポートベクタマシンである場合、識別面に対応する判別関数を生成する。
【0104】
良品領域数判定部26は、ノンパラメトリックな1クラス判別に用いる判別関数が、サンプルをプロットした入力空間において単一の良品領域を形成するか否かを判定する。なお、この判定には、検査に用いるのと同じ判別関数を使用する。
【0105】
具体的には、まず、良品領域を逸脱するか否かの判定に用いる線分を、次の中から選択する。
【0106】
(i)良品と判別される学習サンプル同士を結ぶ線分(図8(a)(b))
(ii)良品と判別される学習サンプルの中心(平均)と、良品と判別される学習サンプルとを結ぶ線分(図9(a)(b))
(iii)マージンサポートベクトル(MSV)同士を結ぶ線分(図10(a)(b))
(iv)良品と判別される学習サンプルの中心(平均)と、マージンサポートベクトルとを結ぶ線分(図11(a)(b))。
【0107】
そして、良品領域数判定部26は、線分が良品領域を逸脱するか否かを判定する際、(1)線分から1または複数の点を抽出し、各点を上記判別関数に当てはめて、すべての点が良品と判別されるか否かを判定する。(2)あるいは、線分上での上記判別関数の最小値を求め、該最小値が所定の閾値以上であるか否かを判定する。
【0108】
なお、いずれのタイプの線分を用いるかは、入力装置100bを用いてユーザが選択できるようにしてもよいし、あらかじめ設定されていてもよい。また、線分から抽出した複数の点について、判別関数が閾値以上であることを確認するか、最適化手法で線分上での判別関数の最小値を求め、該最小値が閾値以上(関数によっては大小逆の場合もある)であることを確認するかについても、入力装置100bを用いてユーザが選択できるようにしてもよいし、あらかじめ設定されていてもよい。
【0109】
判別関数出力部27は、判別関数学習部25が生成した判別関数が、良品領域数判定部26によって、単一の良品領域を形成するものであると判定されたとき、その判別関数を判別関数格納部28に格納する。
【0110】
図16を参照して、判別関数決定部20が用いるデータを説明する。
【0111】
図16(a)は、学習サンプル格納部21に格納される学習サンプルのデータ構造を示す説明図である。図16(a)に示すように、学習サンプルは、サンプルを識別するためのサンプルID(ID#)、良品か不良品かの別(Class)、特徴量(x1、x2、…)が対応付けられて学習サンプル格納部21に格納されている。
【0112】
図16(b)は、パラメータ候補格納部23に格納されるパラメータ候補の例である。図16(b)には、1クラスSVMの場合の例として、ガウスカーネルの幅σの候補が示してある。
【0113】
図16(c)は、判別関数格納部28に格納される判別関数の例である。図16(c)に示すように、判別関数は、判別に用いる式(f(x))の値を閾値(0)と比較して良品/不良品を判別するための規則が規定されている。
【0114】
つづいて、検査装置100が備える判別関数決定部20が判別関数を決定する処理について説明する。
【0115】
図17は、検査装置100が備える判別関数決定部20による判別関数決定処理を示すフローチャートである。
【0116】
まず、学習サンプル取得部22が、学習サンプル格納部21より学習サンプルを取得し、判別関数学習部25へ出力する(S1)。
【0117】
次に、パラメータ設定部24が、パラメータ候補格納部23より領域パラメータの候補を1つ取得し、判別関数学習部25へ出力する(S2)。
【0118】
次に、判別関数学習部25が、学習サンプル取得部22より入力された学習サンプルと、パラメータ設定部24より入力された領域パラメータを用いて、1クラス判別関数を学習する(S3)。
【0119】
次に、良品領域数判定部26が、判別関数学習部25が学習の結果として生成した判別関数が単一の良品領域を形成するか否かを判定する(S4)。そして、良品領域数判定部26の判定の結果、良品領域が2以上であれば、ステップS2へ戻って、領域パラメータを選択する処理から繰り返す。一方、良品領域数判定部26の判定の結果、良品領域が1であれば、判別関数学習部25が生成した判別関数、すなわち、直前の領域パラメータによって学習した判別関数を判別関数出力部27が判別関数格納部28へ格納する。
【0120】
ここで、ステップS2で設定する領域パラメータは、領域が複数に分断される程度に十分小さいパラメータ候補から始めて、順に大きいパラメータを設定していくのが望ましい。なぜなら、良品領域が単一になる領域パラメータが複数存在する場合、その中でもっとも小さいものが採用されるからである。これによって、領域パラメータが大きすぎて第2種の誤り(不良品を良品と判定する誤判別)が多くなる(図13(a)、図14(a)、図15(a))ことを防ぐことができる。
【0121】
逆に、確実に良品領域が1つになる程度に十分大きいパラメータ候補から始めて、順に小さいパラメータを設定していき、領域数が2以上になる手前のパラメータを採用するようにしても良い。
【0122】
あるいは、パラメータ候補をすべて適用し、良品領域が単一になる領域パラメータを複数出力するようにしてもよい。この場合、実際に検査するパラメータは人が決定するようにしてもよいし、何らかの基準で検査に使用するパラメータを自動的に選択しても良い。選択の基準としては、出力された中から最も小さいものを選択するのが望ましい。
【0123】
図18は、良品領域数判定部26による良品領域数判定処理(図17のS4)を示すフローチャートである。
【0124】
まず、良品領域数判定部26は、線分を生成し、未確認の線分について逸脱がないかを確認する(S11)。なお、ステップS11の詳細については後述する。
【0125】
そして、線分について逸脱があった場合(S12でyes)、良品領域は複数の領域を有すると判定する。一方、すべての線分について逸脱がなかった場合(S12でno、かつ、S13でyes)、良品領域は単一であると判定する。
【0126】
図19は、良品領域数判定部26による良品領域数判定処理(図17のS4、図18のS11)において、線分から抽出した複数の点について、判別関数が閾値以上であることを確認する場合の手順を示すフローチャートである。図20は、この手順を説明する説明図である。
【0127】
まず、良品領域数判定部26は、線分から有限個の点(図20(a)(b)の×印)を抽出する(S21)。
【0128】
次に、抽出した点の全てについて、検査に用いるのと同じ判別関数で良否を判別する(S22)。そして、1つでも不良と判別される点が存在すれば(S23でyes、図20(b))、逸脱ありと判定する。一方、不良と判別される点が存在しなければ(S23でno、図20(a))、逸脱なしと判定する。
【0129】
なお、線分上から抽出した点が、良品と判別される学習サンプル(あるいは、マージンサポートベクトル)と一致する場合には、上記の判定を省略してもよい。また、線分の一端を良品と判別される学習サンプルの中心とするとき、線分上から抽出した点が、良品と判別される学習サンプルの中心と一致する場合には、最初に一度だけ判定しておき、各線分の逸脱判定では個別に判定しないようにしてもよい。
【0130】
ここで、図21は、図19に示した手順に従って逸脱を判定する場合に、線分上から点を抽出する際に生成するデータの具体例を示す説明図である。図21では、線分を4等分する場合の例を示している。なお、これらのデータは、良品領域数判定部26が生成し、判別関数決定部20のメモリ(図示せず)に格納される。
【0131】
図21(a)は、両端を含めて5つの点を抽出し座標を登録する場合の例である。図21(a)に示すように、抽出点のデータは、線分を識別するための線分ID(線分ID#)、線分ごとに連番で付与された抽出点連番、等分して生成された座標に相当する特徴量(x1、x2、…)が対応付けられている。このように、図21(a)では、両端を含めて5つの点を抽出して座標が登録されている。なお、線分IDとしては、両端のサンプルのサンプルIDを連結したものを利用できる。
【0132】
図21(b)は、線分の両端のデータの登録を省略する場合の例である。線分の両端である良品と判定される学習サンプルの判定を省略する場合は、データとして登録しなくてもよい。
【0133】
図21(c)は、線分の一端が良品と判別される学習サンプルの中心である場合の例である。線分の一端が良品と判別される学習サンプルの中心である場合、中心を線分とは別に登録し、線分ごとの抽出点には登録しないようにしてもよい。
【0134】
図22は、良品領域数判定部26による良品領域数判定処理において、最適化手法で線分上での判別関数の最小値を求め、該最小値が閾値以上(関数によっては大小逆の場合もある)であることを確認する場合の手順を示すフローチャートである。また、図23は、この手順を説明する説明図である。
【0135】
まず、良品領域数判定部26は、線分上での判別関数値が最小となる点を求める(S31)。
【0136】
次に、最小となる点での判別関数値が負(=不良と判定されるか)であれば(S32でyes)、逸脱ありと判定する。一方、最小となる点での判別関数値が負でなければ(S32でno)、逸脱なしと判定する。
【0137】
ここで、図23に示すように、線分上での判別関数の値は、線分上の位置パラメータt(tはxの関数)の非線形連続関数となる。そこで、線分の範囲内で、ニュートン法や最急降下法などの非線形最適化手法で判別関数の最小値を求め、所定の閾値より小さいことを確認すればよい。例えば、判別関数の閾値が0の場合、判別関数の最小値が0以上であれば良(図23(a))、判別関数の最小値が負であれば不良(図23(b))と判定する。
【0138】
なお、上記検査装置100は、異音騒音、組立てミス、出力特性の検査分野に適用できる。また、量産を行うインラインでも、量産とは別に試作品の検査等を行うオフラインにも適用できる。そして、より具体的には、上記検査装置100は、例えば、自動車のエンジン(音)、トランスミッション(振動)などの自動車の駆動モジュールの検査機や、電動ドアミラー、電動パワーシート、電動コラム(ハンドルの位置合わせ)などの自動車のモータアクチュエーターモジュールの検査機としたり、上記の開発における異音騒音、組立てミス、出力特性の評価装置さらには開発中の試作機の評価装置として適用できる。
【0139】
また、冷蔵庫、エアコン室内外機、洗濯機、掃除機、プリンタなどのモータ駆動家電の検査機並びに上記開発における異音騒音、組立てミス、出力特性の評価装置として適用できる。さらに、NC加工機、半導体プラント、食品プラントなど設備の状態判別(異常状態/正常状態)を行う設備診断機器として適用することもできる。
【0140】
本発明の実施形態では、良品、不良品を判定するための検査装置に本発明を適用した内容を記載している。しかし、下記条件(1)〜(3)を満たすデータであり、ノンパラメトリックな1クラス判別を使って特定領域とそれ以外を判別するものであれば、どのようなサンプルであってもよい。
(1)目標値のあるデータのサンプルである。
(2)目標値周辺で1群を構成するサンプルである。
(3)環境などの外因によりデータにばらつきがでるサンプルである。
【0141】
また、本発明の実施形態では、ノンパラメトリックな1クラス判別の判別アルゴリズムが1クラスSVMである場合を記載しているが、識別面上の学習サンプルをモデルに記憶するノンパラメトリック1クラス判別モデルであれば、どのような判別アルゴリズムでもよい。また、本発明の実施形態で記載した「サポートベクトル」は「モデルに記憶される学習サンプル」であれば、どのようなサンプルでもよい。また、「マージンサポートベクトル」は「モデルに記憶する識別面上の学習サンプル」であれば、どのようなサンプルでもよい。
【0142】
本発明は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【0143】
本発明の検査装置は、ノンパラメトリックな1クラス判別によって良否を判定する検査装置であって、学習時に、良品領域がひとつであることを確認する手段を備えて構成されていてもよい。
【0144】
また、本発明の検査装置は、ノンパラメトリックな1クラス判別によって良否を判定する検査装置であって、学習時に、良品領域がひとつになるように、パラメータを調整する手段を備えて構成されていてもよい。
【0145】
さらに、本発明の検査装置は、上記ノンパラメトリックな1クラス判別の判別アルゴリズムが1クラスSVMであってもよい。
【0146】
さらに、本発明の検査装置は、上記良品領域がひとつであることを確認する手段が、良品と判定される学習サンプル同士を結ぶ線分が、良品領域を逸脱しないことを確認するものであってもよい。
【0147】
さらに、本発明の検査装置は、上記良品領域がひとつであることを確認する手段が、学習サンプルの中心と良品と判定される学習サンプルを結ぶ線分が、良品領域を逸脱しないことを確認するものであってもよい。なお、中心を求める際に使用する学習サンプルは、必ずしも良品と判定されるサンプルである必要はない。
【0148】
さらに、本発明の検査装置は、上記良品領域がひとつであることを確認する手段が、マージンサポートベクトル(MSV)同士を結ぶ線分が、良品領域を逸脱しないことを確認するものであってもよい。
【0149】
さらに、本発明の検査装置は、上記良品領域がひとつであることを確認する手段が、学習サンプルの中心とマージンサポートベクトル(MSV)を結ぶ線分が、良品領域を逸脱しないことを確認するものであってもよい。
【0150】
さらに、本発明の検査装置は、上記線分が良品領域を逸脱しないことを確認する手段が、線分から抽出した有限の点を判別したとき、すべての点について良品と判定するものであってもよい。
【0151】
さらに、本発明の検査装置は、上記線分が良品領域を逸脱しないことを確認する手段が、最適化手法で線分上での判別関数の最小値を求め、該最小値が閾値以上であること(関数によっては大小逆の場合もあり)ことを確認するものであってもよい。
【0152】
最後に、検査装置100の各ブロック、特に判別関数決定部20が備える学習サンプル取得部22、パラメータ設定部24、判別関数学習部25、良品領域数判定部26、判別関数出力部27は、ハードウェアロジックによって構成してもよいし、次のようにCPUを用いてソフトウェアによって実現してもよい。
【0153】
すなわち、検査装置100は、各機能を実現する制御プログラムの命令を実行するCPU(central processing unit)、上記プログラムを格納したROM(read only memory)、上記プログラムを展開するRAM(random access memory)、上記プログラムおよび各種データを格納するメモリ等の記憶装置(記録媒体)などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアである検査装置100の制御プログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読み取り可能に記録した記録媒体を、上記検査装置100に供給し、そのコンピュータ(またはCPUやMPU)が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
【0154】
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ系、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクやCD−ROM/MO/MD/DVD/CD−R等の光ディスクを含むディスク系、ICカード(メモリカードを含む)/光カード等のカード系、あるいはマスクROM/EPROM/EEPROM/フラッシュROM等の半導体メモリ系などを用いることができる。
【0155】
また、検査装置100を通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークとしては、特に限定されず、例えば、インターネット、イントラネット、エキストラネット、LAN、ISDN、VAN、CATV通信網、仮想専用網(virtual private network)、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、通信ネットワークを構成する伝送媒体としては、特に限定されず、例えば、IEEE1394、USB、電力線搬送、ケーブルTV回線、電話線、ADSL回線等の有線でも、IrDAやリモコンのような赤外線、Bluetooth(登録商標)、802.11無線、HDR、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
【産業上の利用可能性】
【0156】
本発明の検査装置は、ノンパラメトリックな1クラス判別に用いる判別関数を、サンプルをプロットした入力空間において単一の良品領域を形成するように決定できるため、製造ラインでの検査装置や機器の動作の評価装置に広く適用できる。すなわち、製品検査の他、製造装置や電力設備等の故障検知、人の健康状態判定等にも利用可能である。
【図面の簡単な説明】
【0157】
【図1】本発明の一実施の形態に係る検査装置が備える判別関数決定部の構成を示す機能ブロック図である。
【図2】本発明の一実施の形態に係る検査装置の構成の概略を示す説明図である。
【図3】ノンパラメトリックな1クラス判別の一例である、ヒストグラム法を示す説明図である。
【図4】ノンパラメトリックな1クラス判別の一例である、最近傍推定を示す説明図である。
【図5】ノンパラメトリックな1クラス判別の一例である、1クラスSVMを示す説明図である。
【図6】図6(a)はソフトマージンなしの場合の入力空間、図6(b)はソフトマージンなしの場合のヒルベルト空間を示す説明図である。
【図7】図7(a)はソフトマージンありの場合の入力空間、図7(b)はソフトマージンありの場合のヒルベルト空間を示す説明図である。
【図8】図1に示した判別関数決定部の良品領域数判定部が生成する、良品と判別される学習サンプル同士を結ぶ線分の説明図であり、(a)が良品領域が単一である場合、(b)が良品領域が2つである場合を示す。
【図9】図1に示した判別関数決定部の良品領域数判定部が生成する、良品と判別される学習サンプルの中心(平均)と、良品と判別される学習サンプルとを結ぶ線分の説明図であり、(a)が良品領域が単一である場合、(b)が良品領域が2つである場合を示す。
【図10】図1に示した判別関数決定部の良品領域数判定部が生成する、マージンサポートベクトル(MSV)同士を結ぶ線分の説明図であり、(a)が良品領域が単一である場合、(b)が良品領域が2つである場合を示す。
【図11】図1に示した判別関数決定部の良品領域数判定部が生成する、良品と判別される学習サンプルの中心(平均)と、マージンサポートベクトルとを結ぶ線分の説明図であり、(a)が良品領域が単一である場合、(b)が良品領域が2つである場合を示す。
【図12】良品領域が単一であっても不適切な場合の説明図であり、(a)は良品領域に穴がある場合、(b)は良品領域が凸でない場合を示す。
【図13】ヒストグラム法の超立方体の体積Vの大きさによる良品領域の大きさの変化を示す説明図であり、(a)は体積Vが大の場合、(b)は体積Vが中の場合、(c)は体積Vが小の場合を示す。
【図14】最近傍推定の超球の半径rの大きさによる良品領域の大きさの変化を示す説明図であり、(a)は半径rが大の場合、(b)は半径rが中の場合、(c)は半径rが小の場合を示す。
【図15】1クラスSVMのガウスカーネルの幅σの大きさによる良品領域の大きさの変化を示す説明図であり、(a)は幅σが大の場合、(b)は幅σが中の場合、(c)は幅σが小の場合を示す。
【図16】図1に示した判別関数決定部が用いるデータの説明図であり、(a)は学習サンプル、(b)はパラメータ候補、(c)は判別関数を示す。
【図17】図1に示した判別関数決定部による判別関数決定処理を示すフローチャートである。
【図18】図1に示した判別関数決定部の良品領域数判定部による良品領域数判定処理を示すフローチャートである。
【図19】図1に示した判別関数決定部の良品領域数判定部による良品領域数判定処理において、線分から抽出した複数の点について、判別関数が閾値以上であることを確認する場合の手順を示すフローチャートである。
【図20】図1に示した判別関数決定部の良品領域数判定部による良品領域数判定処理において、線分から抽出した複数の点について、判別関数が閾値以上であることを確認する場合の手順の説明図であり、(a)は逸脱がない場合、(b)は逸脱がある場合を示す。
【図21】図1に示した判別関数決定部の良品領域数判定部による良品領域数判定処理において、線分から抽出した複数の点について、判別関数が閾値以上であることを確認することによって逸脱を判定する場合に、線分上から点を抽出する際に生成するデータの具体例を示す説明図であり、(a)は両端を含めて5つの点を抽出し座標を登録する場合の例、(b)は線分の両端のデータの登録を省略する場合の例、(c)は線分の一端が良品と判別される学習サンプルの中心である場合の例を示す。
【図22】図1に示した判別関数決定部の良品領域数判定部による良品領域数判定処理において、最適化手法で線分上での判別関数の最小値を求め、該最小値が閾値以上であることを確認する場合の手順を示すフローチャートである。
【図23】図1に示した判別関数決定部の良品領域数判定部による良品領域数判定処理において、最適化手法で線分上での判別関数の最小値を求め、該最小値が閾値以上であることを確認する場合の手順を説明する説明図であり、(a)は逸脱がない場合、(b)は逸脱がある場合を示す。
【図24】パターン認識の手順を示す説明図である。
【図25】学習サンプル同士を結ぶ線分の良品領域からの逸脱の有無を0/1で表現したマトリクスの説明図であり、(b)は良品領域が単一である場合(a)のマトリクス、(d)は良品領域が2つである場合(c)のマトリクスを示す。
【図26】良品領域と不良品領域を説明する説明図であり、(a)は良品と不良品が発生する領域、(b)は真の良品領域と学習した良品領域を示す。
【図27】良品領域の数を説明する説明図であり、(a)は良品領域が複数に分割された場合、(b)は良品領域が単一である場合を示す。
【符号の説明】
【0158】
20 判別関数決定部
21 学習サンプル格納部
22 学習サンプル取得部
23 パラメータ候補格納部
24 パラメータ設定部(パラメータ設定手段)
25 判別関数学習部
26 良品領域数判定部(判別関数判定手段)
27 判別関数出力部
28 判別関数格納部
100 検査装置
【特許請求の範囲】
【請求項1】
ノンパラメトリックな1クラス判別に用いる判別関数が、サンプルをプロットした入力空間において、クラスに判別されるサンプルを含む領域を単一の領域として形成するか否かを判定する判別関数判定手段を備えることを特徴とする検査装置。
【請求項2】
上記判別関数判定手段によって、上記判別関数が上記単一の領域を形成しないと判定されたとき、上記判別関数を規定する、密度関数の基底となる基底関数の領域の大きさを規定する領域パラメータを、サンプルをプロットした入力空間において該判別関数が単一の領域を形成するように設定するパラメータ設定手段を備えることを特徴とする請求項1に記載の検査装置。
【請求項3】
上記ノンパラメトリックな1クラス判別の判別アルゴリズムは、識別面上のサンプルをモデルに記憶することを特徴とする請求項1に記載の検査装置。
【請求項4】
上記判別関数判定手段は、上記単一の領域に含まれると判定されるサンプル同士を結ぶ線分が、上記単一の領域を逸脱するか否かを判定するものであることを特徴とする請求項1から3のいずれか1項に記載の検査装置。
【請求項5】
上記判別関数判定手段は、サンプルの中心と、上記単一の領域に含まれると判定されるサンプルとを結ぶ線分が、上記単一の領域を逸脱するか否かを判定するものであることを特徴とする請求項1に記載の検査装置。
【請求項6】
上記判別関数判定手段は、モデルに記憶する識別面上のサンプル同士を結ぶ線分が、上記単一の領域を逸脱するか否かを判定するものであることを特徴とする請求項3に記載の検査装置。
【請求項7】
上記判別関数判定手段は、サンプルの中心と、モデルに記憶する識別面上のサンプルとを結ぶ線分が、上記単一の領域を逸脱するか否かを判定するものであることを特徴とする請求項3に記載の検査装置。
【請求項8】
上記判別関数判定手段は、上記線分から1または複数の点を抽出し、各点を上記判別関数に当てはめて、すべての点が上記単一の領域に含まれると判別されるか否かを判定するものであることを特徴とする請求項4に記載の検査装置。
【請求項9】
上記判別関数判定手段は、上記線分上での上記判別関数の最小値を求め、該最小値が所定の閾値以上であるか否かを判定するものであることを特徴とする請求項4に記載の検査装置。
【請求項10】
検査対象の状態の判別に用いる判別関数を決定する検査装置による検査方法であって、
上記検査装置が備える判別関数判定手段が、ノンパラメトリックな1クラス判別に用いる判別関数が、サンプルをプロットした入力空間において、クラスに判別されるサンプルを含む領域を単一の領域として形成するか否かを判定することを特徴とする検査方法。
【請求項11】
検査対象の状態の判別に用いる判別関数を決定する検査装置による検査方法であって、
上記検査装置が備えるパラメータ設定手段が、ノンパラメトリックな1クラス判別に用いる判別関数を規定する、密度関数の基底となる基底関数の領域の大きさを規定する領域パラメータを、サンプルをプロットした入力空間において該判別関数が、クラスに判別されるサンプルを含む領域を単一の領域として形成するように設定することを特徴とする検査方法。
【請求項12】
検査対象の状態の判別に用いる判別関数を決定する検査装置がコンピュータによって実現され、当該コンピュータを機能させるための検査プログラムであって、
上記検査装置が備える判別関数判定手段が、ノンパラメトリックな1クラス判別に用いる判別関数が、サンプルをプロットした入力空間において、クラスに判別されるサンプルを含む領域を単一の領域として形成するか否かを判定する処理を、コンピュータに実行させるための検査プログラム。
【請求項13】
請求項12に記載の検査プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項1】
ノンパラメトリックな1クラス判別に用いる判別関数が、サンプルをプロットした入力空間において、クラスに判別されるサンプルを含む領域を単一の領域として形成するか否かを判定する判別関数判定手段を備えることを特徴とする検査装置。
【請求項2】
上記判別関数判定手段によって、上記判別関数が上記単一の領域を形成しないと判定されたとき、上記判別関数を規定する、密度関数の基底となる基底関数の領域の大きさを規定する領域パラメータを、サンプルをプロットした入力空間において該判別関数が単一の領域を形成するように設定するパラメータ設定手段を備えることを特徴とする請求項1に記載の検査装置。
【請求項3】
上記ノンパラメトリックな1クラス判別の判別アルゴリズムは、識別面上のサンプルをモデルに記憶することを特徴とする請求項1に記載の検査装置。
【請求項4】
上記判別関数判定手段は、上記単一の領域に含まれると判定されるサンプル同士を結ぶ線分が、上記単一の領域を逸脱するか否かを判定するものであることを特徴とする請求項1から3のいずれか1項に記載の検査装置。
【請求項5】
上記判別関数判定手段は、サンプルの中心と、上記単一の領域に含まれると判定されるサンプルとを結ぶ線分が、上記単一の領域を逸脱するか否かを判定するものであることを特徴とする請求項1に記載の検査装置。
【請求項6】
上記判別関数判定手段は、モデルに記憶する識別面上のサンプル同士を結ぶ線分が、上記単一の領域を逸脱するか否かを判定するものであることを特徴とする請求項3に記載の検査装置。
【請求項7】
上記判別関数判定手段は、サンプルの中心と、モデルに記憶する識別面上のサンプルとを結ぶ線分が、上記単一の領域を逸脱するか否かを判定するものであることを特徴とする請求項3に記載の検査装置。
【請求項8】
上記判別関数判定手段は、上記線分から1または複数の点を抽出し、各点を上記判別関数に当てはめて、すべての点が上記単一の領域に含まれると判別されるか否かを判定するものであることを特徴とする請求項4に記載の検査装置。
【請求項9】
上記判別関数判定手段は、上記線分上での上記判別関数の最小値を求め、該最小値が所定の閾値以上であるか否かを判定するものであることを特徴とする請求項4に記載の検査装置。
【請求項10】
検査対象の状態の判別に用いる判別関数を決定する検査装置による検査方法であって、
上記検査装置が備える判別関数判定手段が、ノンパラメトリックな1クラス判別に用いる判別関数が、サンプルをプロットした入力空間において、クラスに判別されるサンプルを含む領域を単一の領域として形成するか否かを判定することを特徴とする検査方法。
【請求項11】
検査対象の状態の判別に用いる判別関数を決定する検査装置による検査方法であって、
上記検査装置が備えるパラメータ設定手段が、ノンパラメトリックな1クラス判別に用いる判別関数を規定する、密度関数の基底となる基底関数の領域の大きさを規定する領域パラメータを、サンプルをプロットした入力空間において該判別関数が、クラスに判別されるサンプルを含む領域を単一の領域として形成するように設定することを特徴とする検査方法。
【請求項12】
検査対象の状態の判別に用いる判別関数を決定する検査装置がコンピュータによって実現され、当該コンピュータを機能させるための検査プログラムであって、
上記検査装置が備える判別関数判定手段が、ノンパラメトリックな1クラス判別に用いる判別関数が、サンプルをプロットした入力空間において、クラスに判別されるサンプルを含む領域を単一の領域として形成するか否かを判定する処理を、コンピュータに実行させるための検査プログラム。
【請求項13】
請求項12に記載の検査プログラムを記録したコンピュータ読み取り可能な記録媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【公開番号】特開2007−327937(P2007−327937A)
【公開日】平成19年12月20日(2007.12.20)
【国際特許分類】
【出願番号】特願2007−85898(P2007−85898)
【出願日】平成19年3月28日(2007.3.28)
【出願人】(000002945)オムロン株式会社 (3,542)
【Fターム(参考)】
【公開日】平成19年12月20日(2007.12.20)
【国際特許分類】
【出願日】平成19年3月28日(2007.3.28)
【出願人】(000002945)オムロン株式会社 (3,542)
【Fターム(参考)】
[ Back to top ]