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

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

Info

Publication number
JP5446127B2
JP5446127B2 JP2008131226A JP2008131226A JP5446127B2 JP 5446127 B2 JP5446127 B2 JP 5446127B2 JP 2008131226 A JP2008131226 A JP 2008131226A JP 2008131226 A JP2008131226 A JP 2008131226A JP 5446127 B2 JP5446127 B2 JP 5446127B2
Authority
JP
Japan
Prior art keywords
discrimination
support vector
determination
target
support
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
JP2008131226A
Other languages
English (en)
Other versions
JP2009281742A (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 JP2008131226A priority Critical patent/JP5446127B2/ja
Publication of JP2009281742A publication Critical patent/JP2009281742A/ja
Application granted granted Critical
Publication of JP5446127B2 publication Critical patent/JP5446127B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Investigating Materials By The Use Of Optical Means Adapted For Particular Applications (AREA)

Description

本発明は、製造ライン等において得られる複数のデータについて良否や適否等を判定するための判別方法、判別装置及びプログラムに関する。
近年、例えば製造プラントにおいて製造ラインのオートメーション化が進み、製造プラントで製造される製品の品質管理を行うために様々な検査が行われている。検査技術の進歩により、製品の欠陥などの不良状態を細部にわたり測定することが可能になり、測定データは多数の測定項目を要素として含むことが多い。このように要素が多い測定データではあるが、その測定データの各要素に基づいて、検出した不良がどのような種類の不良であるのかを判別することが非常に重要である。
例えば、鋼板の製造ラインでは、製造ラインに配置されたカメラによる鋼板の撮像画像に、所定の画像処理を行うことにより鋼板表面の疵等の欠陥を検出する検査装置が使用される。この検査装置では、画像内の画素等の領域の輝度をある輝度閾値で2値化し、その画像中において欠陥を表すと推定される領域(blob、ON(=1)となった領域)をラベリングにより疵候補データ(測定データの一例)として抽出する。そして、検査装置では、例えば、疵候補の高さ・幅・面積・輝度分布などの各特徴量ように、その領域を特徴付ける特徴情報から、その領域が有害な欠陥なのか無害なノイズなのかという判別が行われ、更に、欠陥である場合には、その欠陥の種類(疵種)や有害度合(深刻度合い、グレード)といった判別が行われる。例えば、許容できない欠陥が発生した場合や製造ライン自体が抱える不良により発生した欠陥である場合など、早期な対処が必要となることも多く、正しい判別を行うことは、製造ラインの生産性及び製品品質に大きな影響を与えうる。
このような判別処理を実行するには、その判別規則を定める必要がある。しかし、一般に実用に耐えうる性能の判別処理を実現するには、膨大な数の複雑な判別規則群を構築する必要がある。判別規則群を疵検査員等が人力で構築することは、構築時の疵検査員等への負荷も膨大になるばかりか、メンテナンス性も非常に悪くなるので現実的ではない。
そこで例えば、判別を行う装置で使用する判別規則を導き出すために、実際の疵候補についての特徴情報とその疵候補(画像データや製品の疵候補部位)の判別作業者による欠陥の種類(疵種)や有害度合に関する判別結果(正解情報)とを多数組含む学習データ(教師データ)を必要数用意し、その学習データに基づいて所定の処理で自動的に判別規則を構築する学習機能が開発されている。
このような学習機能として、例えば、プロダクションシステム、ニューラルネット、決定木などが研究されており、例えば下記非特許文献1に示すように、これらの学習機能が実問題に適用されている。
"パターン認識", 尾上守夫(訳),新技術コミュニケーションズ, 2001年 "Statistical Learning Theory", V.Vapnik, Wiley−Interscience, 1998 "Locality−sensitive hashing scheme based on p−stable distributions", Mayur Datar, Nicole Immorlica, Piotr Indyk, Vahab S.Mirronkni, Proceeding of twentieth annual symposium on Computational geometry, 2004 "A Stady on reduced support vector machines", K.−M. Lin, C.−J. Lin, IEEE Transaction on Neural Networks, 14(6)(2003)
一方、予め用意した学習データ(教師データ)を用いた学習機能として近年注目されている手法の1つにSVM(サポート・ベクター・マシン法:Support Vector Machine)が挙げられる(上記非特許文献2参照。)。このSVMは、例えば、以下のような特徴を有する。
(1)学習データ自体に関する正解率と、学習データに忠実に対応し過ぎて学習データ以外の他のデータに対するエラーが増加する現象である過学習とのバランスをとるように設定された判別関数(評価関数)を用いた最適化計算により、各疵候補をデータ点(疵データの集合の元)として、特徴情報の各特徴量を座標軸として張られる空間内(特徴量空間)に配置して、有害欠陥と判定されたデータ点がある領域と無害な欠陥(ノイズ)と判定されたデータ点がある領域との判別境界を計算により導出する。
(2)用意した学習データは、仮想的に規定される写像関数により、特徴量空間から判別境界を導出するために設定された高次元の別の空間に写像され、その高次元空間内での超平面によって判別される(当該超平面は、もとの空間では対応する曲面として表示される。)。
(3)最適化計算の結果として得られる、高次元の空間における判別境界(超平面)は、用意した学習データのうちのいくつかの疵データ点(サポートベクターと呼ばれる)の特徴量の値を係数とする線形結合式の形式の判別関数として表現される。こうして、判別境界を導出することにより、学習データを判別する規則が構築されたことになり、学習が完了したことになる。
このSVMによる学習機能は、上記の特徴などにより複雑な判別規則を学習できると同時に、過学習に陥り難いという優れた特性を有する。このSVMには、高次元空間への写像方法(カーネル関数で代表される)によって幾つかのバリエーションが存在する。このバリエーション中、カーネル関数としてガウスカーネル(ガウス関数型カーネル関数)を使用したSVMが、一般的に多く使用されている。このガウスカーネルは、高性能な判別を行うことができるなど優れた性能を有する一方、コンピュータによるデジタル計算による値の算出においては級数計算として実行されるので、判別に要する計算量が他のバリエーションに比べて多いという欠点がある。
ところで、例えば鉄鋼などの製造ライン上における判別処理は、製造ラインに同期してリアルタイムに実行する必要がある。よって、ガウスカーネルのように計算量が多いということは、判別処理に割ける時間的な制約から、単位時間当たりに可能な判別処理回数が他の判別方法よりも低い値に制限されることを意味する。しかしながら、稼働する製造ラインにおいて、単位時間当たりの判別処理回数がどの程度となるかを予め予想することは難しい。
本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、学習データを用いて判別規則を構築するのに際して従来の技術と比べて、判別精度をなるべく維持しつつ、判別処理の計算量をより低減することが可能な、判別方法、判別装置及びプログラムを提供することにある。
上記課題を解決するために、本発明のある観点によれば、判別対象の複数の特徴量の値からなる判別対象のデータを、上記複数の特徴量を座標軸として張られる特徴空間に配置して、上記判別対象のデータが、判別対象を分類する種類のいずれに属するのかを、上記判別対象を特徴付ける複数の特徴量の値からなる特徴情報を入力データとする判別関数を用い、その判別関数の出力値に基づいて判別する、ガウスカーネルを使用したサポート・ベクター・マシン法を用いた判別方法であって、上記サポート・ベクター・マシン法を用いて予め算出された判別関数を構成する複数のサポートベクターのそれぞれと前記判別対象との特徴量空間上の距離に閾値を設け、前記複数のサポートベクターの中から、前記距離が前記閾値未満であるサポートベクターを、前記判別対象の属する種類の判別に使用するサポートベクターとして選択する選択ステップと、上記選択ステップで選択したサポートベクターで構成される判別関数を用いて、上記判別対象を判別する判別ステップと、を有することを特徴とする、判別方法が提供される。
この構成によれば、選択ステップにおいて、各サポートベクターと判別対象との間の特徴量空間上の距離に基づいて、複数のサポートベクターから、判別に使用するサポートベクターを選択することができる。そして、判別ステップにおいて、この選択したサポートベクターにより構成される判別関数を用いて、判別対象を判別することができる。従って、全てのサポートベクターで構成される判別関数を用いて判別処理を行うよりも、計算量を低減することができ、判別処理に要する時間を短縮することができる。また、サポートベクターを選択する際に、判別対象からの距離に基づいた選択を行うことにより、各判別対象に対する判別結果への影響が大きいサポートベクターを適切に選択して判別に使用することができるので、判別精度を維持することができる。
なお、判別関数は、サポートベクターで構成されるが、ここで言う「構成」は、サポートベクターのみで判別関数が形成されていると言うことを意味するものではなく、サポートベクターを構成要素として含むという意味であり、他の定数や変数等を含んでもよいことは言うまでもない。また、同様に、「選択ステップで選択したサポートベクターで構成される判別関数」とは、この判別関数が選択ステップで選択したサポートベクターを構成要素として含むという意味であり、それ以外のサポートベクター、つまり、選択されていないサポートベクターを構成要素として含まないことを意味する。
また、上記選択ステップでは、上記特徴情報が上記判別対象に類似するサポートベクターを選択するように、最近傍探索法を用いて上記判別対象の判別に使用するサポートベクターを選択してもよい。
この構成によれば、選択ステップにおいて、最近傍探索法を用いてサポートベクターを選択することにより、各判別対象の特徴情報に応じて、その特徴情報に類似するサポートベクターを選択することができる。従って、各判別対象に対する判別結果への影響が大きいサポートベクターを適切に選択して判別に使用することができ、判別精度を維持することができる。また、最近傍探索法を用いることにより、サポートベクターを選択する際に要する計算量を低減して処理時間を短縮することができる。
また、サポート・ベクター・マシン法を用いて予め算出された判別関数を構成する複数のサポートベクターを、ローカリティ・センシティブ・ハッシング法を用いて、重複を許して複数のハッシュテーブルに格納するテーブル作成ステップを更に有し、上記選択ステップでは、上記判別対象と同一のハッシュ値を有するサポートベクターの集合を上記複数のハッシュテーブルからそれぞれ選択し、選択した当該サポートベクターの集合の和集合を上記判別対象の判別に使用するサポートベクターとして選択してもよい。
この構成によれば、テーブル作成ステップにおいて、ローカリティ・センシティブ・ハッシング法により、複数のサポートベクターをハッシュテーブルに格納することができる。そして、選択ステップにおいて、このハッシュテーブルを使用してサポートベクターを選択することができる。つまり、ハッシュテーブルに格納することにより、相互に類似したサポートベクターを関連付けることができ、そのハッシュテーブルから判別対象に類似するサポートベクターを選択することにより、関連付けられた複数のサポートベクターを適切に選択することができる。従って、実際に判別対象と各サポートベクターとの距離を計算することなく、判別対象に類似するサポートベクターを選択することができ、サポートベクターを選択する際に要する計算量を低減して処理時間を短縮することができる。
また、上記判別関数は、ガウスカーネルを用いたサポート・ベクター・マシン法により算出される。
この構成によれば、ガウスカーネルを用いたサポート・ベクター・マシン法により予め算出された判別関数を使用して、判別処理を行うことができる。従って、判別精度を向上させることができる。
また、上記課題を解決するために、本発明の別の観点によれば、判別対象の複数の特徴量の値からなる判別対象のデータを、上記複数の特徴量を座標軸として張られる特徴空間に配置して、上記判別対象のデータが、判別対象を分類する種類のいずれに属するのかを、上記判別対象を特徴付ける複数の特徴量の値からなる特徴情報を入力データとする判別関数を用い、その判別関数の出力値に基づいて判別する、ガウスカーネルを使用したサポート・ベクター・マシン法を用いた判別装置であって、上記サポート・ベクター・マシン法を用いて予め算出された判別関数を構成する複数のサポートベクターのそれぞれと上記判別対象との特徴量空間上の距離に閾値を設け、上記複数のサポートベクターの中から、上記距離が上記閾値未満であるサポートベクターを、上記判別対象の属する種類の判別に使用するサポートベクターとして選択する選択部と、上記選択部が選択したサポートベクターで構成される判別関数を用いて、上記判別対象を判別する判別と、を有することを特徴とする、判別装置が提供される。
また、上記選択部は、上記特徴情報が上記判別対象に類似するサポートベクターを選択するように、最近傍探索法を用いて上記判別対象の判別に使用するサポートベクターを選択してもよい。
また、サポート・ベクター・マシン法を用いて予め算出された判別関数を構成する複数のサポートベクターを、ローカリティ・センシティブ・ハッシング法を用いて、重複を許して複数のハッシュテーブルに格納するテーブル作成部を更に有し、上記選択部は、上記判別対象と同一のハッシュ値を有するサポートベクターの集合を上記複数のハッシュテーブルからそれぞれ選択し、選択した当該サポートベクターの集合の和集合を上記判別対象の判別に使用するサポートベクターとして選択してもよい。
また、上記判別関数は、ガウスカーネルを用いたサポート・ベクター・マシン法により算出される。
また、上記課題を解決するために、本発明の別の観点によれば、コンピュータに、判別対象の複数の特徴量の値からなる判別対象のデータを、上記複数の特徴量を座標軸として張られる特徴空間に配置して、上記判別対象のデータが、判別対象を分類する種類のいずれに属するのかを、上記判別対象を特徴付ける複数の特徴量の値からなる特徴情報を入力データとする判別関数を用い、その判別関数の出力値に基づいて判別する、ガウスカーネルを使用したサポート・ベクター・マシン法を用いた判別手順を実行させるためのプログラムであって、上記サポート・ベクター・マシン法を用いて予め算出された判別関数を構成する複数のサポートベクターのそれぞれと上記判別対象との特徴量空間上の距離に閾値を設け、上記複数のサポートベクターの中から、上記距離が上記閾値未満であるサポートベクターを、上記判別対象の属する種類の判別に使用するサポートベクターとして選択する選択手順と、上記選択手順で選択したサポートベクターで構成される判別関数を用いて、上記判別対象を判別する判別手順と、を実行させるためのプログラムが提供される。
以上説明したように本発明によれば、学習データを用いて判別規則を構築するのに際して従来の技術と比べて、判別精度をなるべく維持しつつ、判別処理の計算量をより低減することができる。
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
なお、本発明の一実施形態に係る判別装置は、「SVM(サポート・ベクター・マシン法:Support Vector Machine)」を用いて、判別対象が複数種類の集合のいずれに属するのかを判別する。この判別対象は、「特徴情報」により特徴付けられ、この特徴情報には、判別対象を特徴付ける1種類又は2種類以上の「特徴量」の値が含まれる。つまり、特徴情報は、各特徴量(スカラーで表現される)を要素として有するベクトルとして表すことができる。判別関数は、この特徴情報を入力データとして(つまり、引数として)使用し、計算結果を導出する。この計算結果である出力値は、各判別対象が複数種類の集合のいずれに属するのかを表しており、判別装置は、この出力値に基づいて判別を行う。
例えば、判別装置が、鋼板の撮像画像から疵候補の画像を採取し、当該疵候補についてその特徴情報に基づいて、疵種の判別や有害度の判別をするときの上記の特徴量や特徴情報を説明する。このとき、それぞれの疵画像が疵候補の領域(単に疵候補ともいう)であって、判別対象のデータである。疵候補の特徴量としては、その疵の高さ・深さ・幅・長さ・面積・輝度分布・色分布・形成位置等の各特徴量がよく用いられる。そして疵候補の特徴情報として、この特徴量それぞれの値の組、例えば(疵の高さの値、深さの値、…、形成位置の座標)を定量的なデータ(ベクトル値)として用いて、疵種等を判別する情報処理を実行することになる。又、判別対象の特徴情報のベクトルで表される特徴量空間におけるデータ点のことを、以下の説明では、特徴量空間における判別対象(の位置)とも記す。
本発明の一実施形態に係る判別装置は、計算量を低減するために、判別関数を構成するサポートベクター(上記[発明が解決しようとする課題]で説明した学習データのうちのいくつかの疵データ点)の一部を選択して使用する。この際、判別装置は、判別精度を維持するために、判別対象とサポートベクターとの特徴情報による空間(以下「特徴量空間」ともいう。)上の距離に基づいてサポートベクターを選択する。なお、特徴量空間は、各特徴量を座標軸として張られる空間であり、判別対象やサポートベクターを元とする。一方、この選択には、距離に基づく選択方法の例として「最近傍探索法」などを用いることができ、更に、この最近傍探索法の一例としては、公知技術である「LSH(ローカリティ・センシティブ・ハッシング法:Locality−Sensitive Hashing)」を使用することができる。
したがって、以下では、本発明の一実施形態に係る判別装置について理解しやすいように、まず、この<SVM>と<LSH>ついて説明する。その後、<判別装置の構成>及び<判別装置の動作>について説明し、本発明の一実施形態による<効果の例>について説明する。そして、更に本発明の一実施形態に係る判別装置の適用例として、判別装置が疵検査装置に適用された場合について説明する。
<SVM(Support Vector Machine)について>
SVMは、上述の通り、判別処理を行う判別方法の一例であって、特徴情報を入力データとして判定結果を表す出力値を算出する判別関数を使用することにより、その特徴情報が複数種類の集合(クラス)のいずれに属するのか判別する。このSVMでは、まず、判別関数に特徴情報を入力し、計算された出力値の符合により、その特徴情報が2つの集合のいずれに該当するのかを表すことができる。従って、SVMでは、各集合の境界毎に判別関数を用意し、それらの判別関数に特徴情報を入力することにより、判別対象が複数の集合のいずれに該当するのかをも判定することができる。この際、例えば、判別対象は、一番多くの判別関数により指示された集合に属すると判定することができる。つまり、SVMでは、複数の判別関数を使用することにより多クラス判定(複数種類の集合のいずれに属するのかを判定すること)をも行うことができるが、以下では、説明の便宜上、2クラス判定(2種類の集合のいずれに属するのかを判定すること)について説明する。
SVMでは、判別関数は、学習機能により導出される。
つまり、まず、特徴情報と、その特徴情報に対する既知の判別結果(「判別情報」ともいう。)とを含む学習データが複数用意される。学習データの特徴情報を、特徴量空間上に点として表した例を図1に示す。図1中、○(白抜きの丸)、□(白抜きの四角)、●(黒塗りの丸)、■(黒塗りの四角)などが、それぞれ学習データの点を表す。また、説明の便宜上、図1には特徴量空間として2次元の空間を示し、特徴情報を構成する2つの軸として第1特徴量と第2特徴量とを示す。なお、実際の特徴量空間は、特徴情報を構成する特徴量の数だけ次元を有することになる。
次に、これらの学習データの特徴情報は、仮想的に想定する高次元の写像空間へと写像される。この写像を行う関数(写像関数)を「カーネル関数」といい、カーネル関数によりSVMの特性が決定される。
そして、SVMでは、写像空間上の点(つまり学習データの特徴情報)が、判別結果別に線形分離する面(超平面。「判別面」ともいう。)が存在するという条件下で、その判別面までの距離が最短の点までの距離が最大となるように判別面を算出する。そして、この判別面から、2クラスの判別を行うことができるSVMによる判別関数が導出される(式(1)参照。)。このようにSVMでは、学習データから判別関数を導出し、その判別関数を用いた判別を行う。この判別関数の導出過程については、例えば、上記特許文献2などに詳しく記載されているため、詳しい説明は省略する。
なお、ここで導出される判別面は、写像元の特徴量空間に再度写像(すなわち逆写像)されると曲面で表される。図1中の判別境界B12が、その曲面を表す。つまり、判別境界B12は、クラスX1(例えば有害な疵の集合)とクラスX2(例えば無害な疵の集合)とを分離する境界線(3次元以上では境界面)を表すことになる。そして、この判別境界B12を表す式を判別関数とすることにより、判別関数が導出される。そして、判別関数は、判別対象の特徴情報が入力され、算出した結果出力する値の符合により、その判別対象がクラスX1とクラスX2とのどちらに属するのかを判別することができる(例えば、出力値の符合が正のときはクラスX1、負のときはクラスX2など)。なお、図1では、特徴量空間を2次元で表しているため、曲面は曲線で表される。また、図1には、クラスX1に属する学習データの点(ベクトルx)を○及び●(丸)で表し、クラスX2に属する学習データの点(ベクトルx)を、□及び■(四角)で表した。
SVMにより導出される判別関数は、下記の式(1)で表され、複数の学習データのうち、この判別境界までの距離が小さい学習データの特徴情報により構成される。この判別関数を構成する学習データの特徴情報によるベクトル(特徴量をt種類とするとt次元)のことを「サポートベクター」といい、SVMの学習計算により計算される。このサポートベクターを図1では●及び■(黒塗りの丸と四角)で表した。より具体的には、式(1)に示すように、判別関数g(x)は、サポートベクターx毎にそのサポートベクターxをカーネル関数F(x,x)に代入したものの線形結合により表される。
式(1)中、F(x,x)は、カーネル関数を表し、γは、適宜設定される外部パラメータ(スカラー)を表す。また、wiは、各サポートベクターが判別結果に与える影響度合を表したスカラー数であり、bは、判別境界B12を平行移動させるスカラー値であり、このwi及びbは、SVMによる学習結果として算出される。なお、添え字iは、サポートベクターの個数を表し、サポートベクターの数を、nとするとi=1,2,3…,nとなる。また、xiは、サポートベクター、つまり、判別件数を構成する学習データの特徴情報によるt次元のベクトルを表す。一方、SVは、サポートベクターの集合を表し、このSVも、SVMによる学習結果から得られる。そして、xは、判別対象の特徴情報によるベクトルを表し、このxが判別関数g(x)に代入された算出された結果の符合により、2クラスの判定が行われる。
カーネル関数としては、例えば、様々な線形カーネルや非線形カーネルなどが使用されてもよいが、ここでは非線形カーネルの一例である「ガウスカーネル」が使用される場合について説明する(式(2)参照)。
このガウスカーネルは、高性能な判定を行うことが可能なカーネル関数であり、式(2)の右辺の指数に示されるように、あるベクトルxと、他のベクトルyとの間の距離(||x−y||)に基づいて、両者の類似度を数値として出力する。従って、ある判別対象の特徴情報によるベクトルをxとした場合、判別関数g(x)は、図2に示すように、そのベクトルxと各サポートベクターとの間の距離(例えばd,d)毎に、上記ガウスカーネルを計算して線形和を計算することになる。よって、判別関数g(x)を計算する上で、処理量が嵩むのは、この線形和をとる処理(つまり、Σの計算)である。
一方、下記の適用例で説明する表面疵検査装置などの実問題における判定では、サポートベクターの数が数千個になる場合も珍しくない。このような場合、Σの計算は非常に多くなり、計算量が嵩み、単位時間当たりの判定回数が制限されてしまう。
そこで、本発明の一実施形態に係る判別装置は、このΣの計算を減少させることにより、計算量を低減する。そのために、判別装置は、各判別対象に応じて、複数あるサポートベクターから、その判別対象の判別に使用するサポートベクターを選択し、選択したサポートベクターに対してΣの計算を行うことにより、計算量を低減させる。
しかし、単に判別に使用するサポートベクターを間引く場合、Σの計算量を効果的に削減できるものの、判別精度に影響を与えてしまい、正しい判別が行えない可能性がある。そこで、本発明の一実施形態に係る判別装置は、判別対象と各サポートベクターとの間の距離dに基づいて、サポートベクターを選択する。つまり、判別装置は、判別対象に特徴情報が類似するサポートベクターを使用し、そのサポートベクターで構成される判別関数g’(x)を計算することにより、判別精度を維持しつつ、計算量を低減することを可能にしている。
この際、判別精度を維持できる理由について、図3及び図4を参照しつつ定性的に説明する。
図3は、本実施形態で使用するガウスカーネルの変化について説明するための説明図である。図4は、本実施形態においてサポートベクターを減少させた場合の判定処理について概念的に説明するための説明図である。
上述の通り、ガウスカーネルは、式(2)で表され、2つのベクトル(x、y)間の距離(||x−y||)を計算し、その距離に基づいて値を計算している。距離d=||x−y||とし、γ=1とした場合、ガウスカーネルF(d)は、図3のように変化する。
図3に示すように、ガウスカーネルF(d)は、距離dが大きくなれば大幅に減少する。図3に示す例では、例えば距離dが5を超えると、ガウスカーネルF(d)は、ほとんどゼロ(0)となる。これは、2つのベクトル間の距離が大きければ、両ベクトルの類似性が低下することを意味し、換言すれば、判別対象からの距離が遠いサポートベクターは、判別関数g(x)の計算結果に与える影響が少ないことを意味する。そこで、本実施形態に係る判別装置は、判別対象からサポートベクターまでの距離dに閾値R(例えば5など)を設け、複数のサポートベクターを、距離dが閾値R以上離れている集合SVFarと閾値R未満の集合SVNearとに分ける。そして、集合SVFarに対するガウスカーネルg(x)を、計算せずに0にすることで、判別精度を維持しつつ、Σの計算を簡略化することができる。換言すれば、判別関数g(x)は、下記式(3)から式(5)へと変形される。よって、本実施形態に係る判別装置は、式(6)に示すSVNearに属するサポートベクターで構成される判別関数g’(x)を導出して判別を行うことができる。
この際の判別処理について、概念的に説明すれば、以下の通りである。
つまり、図4に示すように、本実施形態に係る判断装置は、サポートベクターを、判別対象xからの距離Rにより集合SVNearと集合SVFarとに分ける。そして、集合SVNearに含まれるサポートベクターで構成される判別関数g’(x)を使用して、判別対象を判別する。この際、判別関数g’(x)は、概念的には、判別境界B12’のように集合SVNearにより構成される曲線(曲面)となる。従って、判別対象xの判別結果に与える影響が大きいサポートベクターを適切に選択して判別結果の精度を維持することができ、かつ、判別結果に与える影響が少ないようなサポートベクターに対する計算を省略して計算量を低減させることができる。
<LSH(Locality−Sensitive Hashing)について>
判別対象とサポートベクターとの間の距離に基づいて、判定に使用するサポートベクターを選択する際、本発明の一実施形態に係る判別装置は、更に計算量を低減させるために、判別対象に特徴情報が類似するサポートベクターを選択する。そして、この判別装置は、判別対象に類似するサポートベクターを抽出する方法の一例として、最近傍探索法を用いる。最近傍探索法を用いると、判別装置は、まず、複数のサポートベクターを相互に類似する複数の集合(クラス)に分類して記憶部(ハッシュテーブル記憶部132)に記録する。そして、判別装置は、判別対象の特徴情報に応じて、その判別対象が属する集合を求め、該当する集合に分類されているサポートベクターをSVNearに含まれるサポートベクターとして選択する。従って、最近傍探索法を用いてサポートベクターを選択することにより、判別対象とサポートベクターとの間の距離を実際に計算せずに、判別対象に近接して類似したサポートベクターを選択することができ、更に計算量を大幅に低減することができる。なお、ここで言う集合は、判別装置が判別対象に対する判別結果として導き出す集合(例えば図1の集合X,X)とは異なる。
この最近傍探索法としては、例えば、LSH(ローカリティ・センシティブ・ハッシング法、Locality−Sensitive Hashing)、kd木(kd−tree)、マトリック木(metric tree)などが挙げられる。本実施形態に係る判別装置は、様々な最近傍探索法を使用することができるが、特にLSHを使用することが好ましい。LSHは、他の最近傍探索法に比べても、より正確に類似する対象の範囲を決定することができ、選択精度を高めることができる。従って、本実施形態に係る判別装置は、LSHを使用することにより、判別対象に類似するサポートベクターの選択精度を高め、判別精度をより良く維持することができる。このLSHについては、上記非特許文献4にも詳しく説明されているので、ここでは本発明の一実施形態に係る判別装置への適用方法などを中心に説明する。
LSHでは、まず、複数のサポートベクターをハッシュテーブルに格納する。この際、LSHでは、ハッシュ関数を使用して、複数のサポートベクターを類似するもの毎に分類し、類似するもの同士を一つの集合に纏めてハッシュテーブル中に格納する。そして、LSHでは、このようなハッシュテーブルが複数作成されて記録される(テーブル作成)。一方、判別対象に類似するサポートベクターを検索する場合には、同じくハッシュ関数を使用して、その判別対象が属する集合を導出して、その集合に含まれるサポートベクターを抽出する(選択)。このLSHについて、更に詳細に図5〜図8を参照しつつ説明する。
図5は、本実施形態で使用するLSHによるハッシュテーブルについて説明するための説明図である。図6〜図8は、本実施形態で使用するLSHについて説明するための説明図である。
(テーブル作成)
まず、検索したいサポートベクターの距離範囲(判別対象を中心とした距離範囲)をRとして、この距離Rを決定する。なお、この距離Rは、上述の通り、SVNearに含めるサポートベクターの範囲、つまり判別対象から各サポートベクターまでの距離dの閾値(図4参照。)を意味し、ここで言う距離は、上記同様特徴量空間上の距離である。
この距離Rの決定は、以下の通りに行われる。
まず、上記式(5)のΣ計算で加算される各項のガウスカーネルにおいて、||x−y||を距離Rで置き換える。一方、SVM学習の際の判別関数において判別面の複雑さと学習データに対する誤判別数の重み付けを行うパラメータであるC、及び、SVMの定式化より、|w|≦Cという性質がある。よって、Σ計算の各項の絶対値は、下記式(7)のように、中央の項以下となる。ここで、Σ計算の各項の最大の閾値をεとする。εは、例えば1.0×10−5などのように、十分に小さい値に設定する。すると、下記式(7)の中央の項は、閾値ε以下に限定され、この式(7)から式(8)が導出される。この式(8)は、wが最大値を取るサポートベクターがΣ計算に与える影響が閾値ε以下となる距離Rを求めていることを意味する。
LSHでは、ハッシュ関数が使用される。サポートベクターをxとした場合、このハッシュ関数は、下記式(9)及び式(10)で表される。
スカラー値であるk及びωは、適宜調整して設定されるパラメータである。このハッシュ関数H(x)からは、「ハッシュ値」と呼ばれるk次元の整数ベクトルが算出される。このハッシュ値は、LSHにおける検索キーである。また、ハッシュ関数は、概念的にはサポートベクターxを写像して次元数をハッシュ値の次元へと落とす役割を担っている。また、LSHでは、この次元が低い状態で所定の方向への所定の幅中に含まれるサポートベクターx同士を類似すると分類する。この所定の幅は、ωによって決定される。ハッシュ値の次元数はkによって決定される。よってk及びωを適切な値に調整することにより、LSHによる類似検索の精度を高め、かつ、計算量を低減することが可能であるが、このk及びωは、判別装置が適用される対象の特性(例えばサポートベクターの次元数や取り得る値の範囲)などにも依存するため、適宜調整されて決定される。
また、式(9)の右辺には、引数を超えない最大の整数を返す床関数(例えば1.2であれば1を、−2.3であれば−3を返す関数)が使用されているが、天井関数が使用されてもよい。
また、式(10)中、aは、正規乱数を成分にもち、サポートベクターxと同じt次元のベクトルであり、bは、一様乱数で生成した[0,ω]となるスカラー値である。
上記(9)で算出されるk次元の整数ベクトルであるハッシュ値は、上述の通り、検索キーとして使用される。このハッシュ値を検索キーとして使用した検索が可能なように、複数のサポートベクターxiをテーブルに格納して記録する必要がある。そのためには、1つのテーブルのエントリ数をNとすると、k次元のハッシュ値を例えば0〜N−1のインデックス値に変換する必要がある。この変換には、様々な方法があるが、ここでは、例えば、エントリ数Nのテーブルをk個連結して、各テーブル(j番目のテーブル)の検索キーとして、k次元のハッシュ値の各要素(h)を下記式(11)で変換したインデックス値を使用する。そして、最後尾のk番目のテーブルでは、計算したインデックス値が示すメモリにサポートベクターxを格納する。既に、そのメモリに他のサポートベクターが格納されている場合には、リスト構造により、そのサポートベクターxを追加する。その結果、最後尾のk番目のテーブルの同一のインデックス値が示すメモリには、そのハッシュ関数により類似すると分類されるサポートベクターが集合として格納されることになる。また、k個連結されるテーブルのそれぞれをハッシュテーブルと言うが、ここでは便宜上、1つ1つのテーブルを単にテーブルとも言い、k個連結されたテーブルを1つのハッシュテーブルとも言う。
また、LSHでは、上記のようなハッシュテーブルへの格納をL通り行う。即ち、l=1,2…,Lとし、上記式(9)及び式(10)を、下記式(12)及び式(13)のように新たな添え字lを付加する。そして、各lに対して異なる値をもつal,j及びbl,jに基づいたハッシュテーブルをL個用意し、サポートベクターをそのL個のハッシュテーブルの各々に格納する。このような格納を、サポートベクターの集合SV内の各サポートベクターxiに対して行い、それぞれL個のハッシュテーブルに格納する。このようにLSHでは、類似を決定するハッシュ関数が相異なるハッシュテーブルを複数用意して記録しておく。なお、Lは、適宜調整されて決定されるスカラーのパラメータである。
このハッシュテーブルへの格納について、概念的に説明すれば以下の通りである。
各ハッシュテーブルHT1〜HTLの概念図を図5に示す。以下では、1つのハッシュテーブルHT1を例に、1つのサポートベクターの格納について説明するが、他のハッシュテーブルでも同様の格納が行われる。
まず、l=1固有のハッシュ関数H(x)により、ハッシュ値(ベクトル)が計算される。そして、まず、ハッシュ値ベクトルの第1要素h1,1について、式(11)によりインデックス値index1が計算される。そして、1番目のテーブルT1中の同一のインデックス値index1を有するエントリが参照される。このエントリには、インデックス値毎に異なる2番目のテーブルT2が関連付けられている。そこで、2番目のテーブルT2に進み、ハッシュ値ベクトルの第2要素h1,2が式(11)によりインデックス値index2に変換される。そして、2番目のテーブルT2中の同一のインデックス値index2を有するエントリが参照される。このエントリにも、インデックス値毎に異なる3番目のテーブルT3が関連付けられており、3番目のテーブルT3に進む。このような処理がハッシュ値ベクトルの要素の個数(つまりk)だけ行われる。そして、最後のテーブルTkでは、ハッシュ値ベクトルの第k要素h1,kのインデックス値indexkに対応するエントリには、メモリの一の領域が関連付けられており、そのメモリの領域に、サポートベクターが格納される。そして、ハッシュ値が異なるサポートベクターは、異なる経路を辿ることになり、異なる経路により到達する異なるエントリには、メモリの異なる領域が関連付けられる。従って、ハッシュ値が同一のサポートベクターは、同一のメモリの領域に(リスト構造により)格納され、ハッシュ値が異なるサポートベクターは、異なる領域に格納される。よって、メモリの各領域に相互に類似するサポートベクターを1つの集合として格納することができる。従って、類似するサポートベクターの集合が最大でN個作成される。ここでは、p=1,2…,Nとして、各集合を集合SVNear,p (l)と呼ぶ。
つまり、LSHでは、ハッシュ値ベクトルが同一であるものが類似している判断され、その類似を決定しているのが、上記式(12)及び式(13)で表されるハッシュ関数である。このハッシュ関数による類似判断の様子を概念的に図6及び図7に示す。上述の通り、ハッシュ関数は、d次元のサポートベクターを写像してk次元へと次元数を落とす役割を担う。つまり、ハッシュ関数H(x)中の1つの要素を担う関数h1,1(x)は、特徴量空間上の点を、正規乱数で決定されるベクトルa1,1方向に写像する。また、ベクトルa1,1を軸とする方向における類似の範囲は、その要素が同一値となる必要があるが、この同一の範囲は、式(13)中の床関数が同一値を返すことを意味し、その特徴両空間上における幅は、パラメータωにより決定される。従って、概念的には、ハッシュ関数Hの各要素である関数hは、ベクトルaの方向に、ωに対応する幅で特徴量空間を区画していることに相当する。そして、この区画は、スカラーbだけベクトルaの方向に平行移動されている。一方、このような区画がハッシュ関数Hの要素の個数kだけ行われる。従って、図6中、SVNear,p (1)が示す領域が、1つのハッシュテーブルにおいて類似すると判定されるサポートベクターが存在する範囲に該当する。換言すれば、区画された領域SVNear,p (1)中、同一の領域中に存在するサポートベクターが、相互に類似するとして1つの集合に纏められる。
一方、この場合、例えば、判別対象が領域SVNear,p (1)中の端部近傍に位置するときには、その領域SVNear,p (1)に含まれるサポートベクターは類似範囲に含まれるが、隣り合う他の領域の同一の端部近傍に位置するサポートベクターは、実質的に近接していても類似範囲に属さないこととなる。そこで、LSHでは、このような区画の仕方(ベクトルa、スカラーbの値)が異なる複数のハッシュテーブルHT1〜HTLを用意する。つまり、図7に示すハッシュテーブルHTlの場合ように、図6に示すハッシュテーブルHT1とは異なる区画の仕方のハッシュテーブルを複数用意する。このように複数のハッシュテーブルHT1〜HTLを用意することにより、1つのハッシュテーブルでは類似しないと分類されるが実質的に近接しているサポートベクター同士を、いずれかのハッシュテーブルHT1〜HTLにおいて、類似するとして1つの集合に格納することができ、類似判定の精度を向上させることができる。
(選択)
次に、この複数のハッシュテーブルHT1〜HTLを使用して、判別対象に対して類似するサポートベクターを検索して選択する処理について説明する。
サポートベクターと同様にt次元を有する判別対象xに対し、上記の格納と同様に、式(12)及び式(13)で示されるハッシュ関数を使用して、ハッシュ値ベクトルを計算する。そして、ハッシュテーブル中の同一のハッシュ値を有するサポートベクターが検索され、判別対象に類似するサポートベクターであるとして選択される。そして、ここではl番目のハッシュテーブルHTlから選択されるサポートベクターの集合をSVNear (l)とする(下記式(14)参照。)。この検索及び選択が、各ハッシュテーブルに対して行われる。そして、下記式(15)に示すように、各ハッシュテーブルから得られた類似するSVNear (1)〜SVNear (L)で和集合をとることにより、判別対象に類似するサポートベクターの集合SVNearが抽出される。
つまり、LSHによれば、図8に示すように、SVNear (1)〜SVNear (L)が重ね合わされた領域をSVNearとすることができる。従って、上述のように実際には近接しているにもかかわらず、1つのハッシュテーブルでは類似範囲に含まれないようなサポートベクターをも集合SVNearに含めることができる(図8参照。)。よって、実際の判別対象xからの距離を計算しなくても、判別対象xからの距離がR中に含まれるサポートベクターを適切に選択することができる。そして、SVMにおいて、下記式(16)のように、この選択したサポートベクターで構成される判別関数g’(x)を用いて判別結果を算出することができるので、判別精度を維持することが可能で、かつ、大幅に計算量を低減させることができる。
なお、このLSHでは、パラメータRに基づいてパラメータL,k,ωを適切に定めてハッシュテーブルHT1〜HTLを作成すれば、少ない計算量で精度よくサポートベクターの部分集合SVNearを得ることができる。従って、パラメータL,k,ωは、判別装置の適用先に応じて、実験などにより適切に決定されることが望ましい。
<判別装置の構成>
次に、上記で説明したSVM及びLSHによる判別を行う本発明の一実施形態に係る判別装置の具体的な構成について、図9を参照しつつ説明する。図9は、本実施形態に係る判別装置の構成を説明するための説明図である。
図9に示すように、判別装置100は、判別関数作成部110と、判別関数記憶部121と、SV記憶部122と、SV選択部130と、判別対象取得部141と、判別部142とを有する。
判別関数作成部110は、上記SVMを用いて、判別関数g(x)とその判別関数g(x)を構成するサポートベクターxとを算出する。そのために、判別関数作成部110は、学習データ記憶部111と、判別関数算出部112とを有する。
学習データ記憶部111には、判定結果が既知の特徴情報と、その判別結果を表した判別情報とを含む学習データが複数予め記録される。一方、判別関数算出部112は、この学習データを取得して、上記SVMの学習機能による学習を行い、判別関数g(x)と、その判別関数g(x)を構成する複数のサポートベクターxを算出する(上記式(1)及び(2)参照。)。そして、判別関数算出部112は、算出した判別関数g(x)を判別関数記憶部121に記録し、サポートベクターxをSV記憶部122に記録する。
SV選択部130は、選択部の一例であって、上記LSHを用いて、ハッシュテーブルHT1〜HTLを作成する。また、SV選択部130は、判別対象の特徴情報xが入力されると、判別対象とサポートベクターxとの間の距離に基づいて、上記LSHを用いて判別対象の特徴情報xに類似するサポートベクターxの集合SVNearを選択する。そして、SV選択部130は、判別関数g(x)を集合SVNear中のサポートベクターxで構成される判別関数g’(x)に修正し、その判別関数g’(x)を出力する。そのために、SV選択部130は、ハッシュテーブル作成部131と、ハッシュテーブル記憶部132と、最近傍探索部133と、判別関数修正部134とを有する。
ハッシュテーブル作成部131は、テーブル作成部の一例であって、SV記憶部122から全てのサポートベクターxを取得し、LSHによりサポートベクターxから複数のハッシュテーブルHT1〜HTLを作成する。そして、ハッシュテーブル作成部131は、このハッシュテーブルHT1〜HTLをハッシュテーブル記憶部132に記録する。
なお、ここまでの各構成による動作は、実際に判別を行いたい判別対象が入力する前に行われる。従って、例えば、一旦ハッシュテーブルHT1〜HTLを作成した後は、判別関数記憶部121以外の構成(判別関数作成部110、SV記憶部122、ハッシュテーブル作成部131)を取り除くことも可能である。
最近傍探索部133は、判別対象取得部141が判別対象の特徴情報xを取得すると、その特徴情報xを取得する。そして、最近傍探索部133は、その特徴情報xからハッシュ値Hを計算し、そのハッシュ値Hを使用してハッシュテーブル記憶部132に記憶されたハッシュテーブルHT1〜HTL中を検索する。この検索により、最近傍探索部133は、各ハッシュテーブルHT1〜HTLから、判別対象の特徴情報xに類似するサポートベクターの集合SVNear (l)を複数取得する(上記式(14)参照。)。その後、最近傍探索部133は、これらの集合SVNear (l)から和集合SVNearを作成し、その集合SVNear中に含まれるサポートベクターを、判別対象に類似するサポートベクターとして選択する(上記式(15)参照。)。そして、最近傍探索部133は、選択したサポートベクターを判別関数修正部134に出力する。
判別関数修正部134は、判別対象に類似するサポートベクターが判別関数修正部134から入力されると、判別関数記憶部121から判別関数g(x)を取得して、この判別関数g(x)を、上記式(16)に示すような選択されたサポートベクターで構成される判別関数g’(x)へと修正する。そして、この修正後の判別関数g’(x)は、判別部142に出力される。
判別部142は、判別対象取得部141が判別対象の特徴情報xを取得すると、その特徴情報xを取得し、更に、判別関数修正部134から修正後の判別関数g’(x)を取得する。そして、判別部142は、判別関数g’(x)に、判別対象の特徴情報xを代入して判別結果を算出する。判別関数g’(x)からの出力値は、その符合(プラス/マイナス)により、その判別対象が2つの集合X1,X2のどちらに属するのかを表すことになる。そこで、判別部142は、この出力値の符合を参照し、その符合に対応する集合X1,X2を判別結果として出力する。
なお、ここでは、判別装置100が2クラス判別を行う場合について説明してるが、上述の通り、判別装置100は、多クラス判定を行うことも可能である。この場合、判別装置100は、上記同様の判別関数g(x)をクラス間の境界毎に用意し、その複数の判別関数g(x)及び各判別関数g(x)に対応するサポートベクターxを用いて、上記同様に、LSHにより複数の判別関数g’(x)へと修正する。そして、判別部142が修正後の複数の判別関数g’(x)に判別対象の特徴情報xを代入して判別結果を算出する。この際、判別部142は、判別対象が属する集合として、一番多くの判別関数g’(x)の出力値が表している集合を判別結果として出力することができる。
<判別装置の動作>
以上、本発明の一実施形態に係る判別装置100の構成について説明した。
次に、この判別装置100の動作について、図10及び図11を参照しつつ説明する。図10は、本実施形態に係る判別装置のテーブル作成動作について説明するための説明図である。図11は、本実施形態に係る判別装置の選択及び判別動作について説明するための説明図である。
(テーブル作成動作)
まず、図10を参照しつつ、ハッシュテーブルHT1〜HTLが作成されるまでの動作(テーブル作成ステップ)について説明する。図10に示すように、まずステップS101において、SVM学習が行われる。つまり、判別関数算出部112により、判別関数g(x)と、その判別関数g(x)を構成する複数のサポートベクターxが算出される。そして、ステップS103が処理され、学習結果である判別関数g(x)が判別関数記憶部121に記録され、複数のサポートベクトルxがSV記憶部122に記録される。そしてステップS105に進む。
ステップS105では、ハッシュテーブル作成部131により、複数のサポートベクターxがハッシュテーブルに格納され、ハッシュテーブルHT1〜HTLが作成される。そして、ステップS107が処理され、複数のサポートベクターxをそれぞれ格納したハッシュテーブルHT1〜HTLがハッシュテーブル記憶部132に記録される。そして、テーブル作成動作は終了する。
(選択及び判別動作)
次に、図11を参照しつつ、実際の判別対象の特徴情報xの判別を行う場合の動作について説明する。テーブル作成動作が終了した後に、ステップS201が処理される。このステップS201では、判別対象取得部141が判別対象の特徴情報xを取得し、その判別対象の特徴情報xが最近傍探索部133及び判別部142に出力される。そしてステップS203に進む。
ステップS203では、最近傍探索部133により、特徴量空間において、判別対象の特徴情報xの近傍に位置するサポートベクターが選択される(選択ステップ)。つまり、最近傍探索部133は、上述のように、LSHを用いて作成されたハッシュテーブルHT1〜HTLを検索し、類似したサポートベクターxの集合SVNearを作成する。そして、最近傍探索部133は、この集合SVNearに含まれるサポートベクターxを選択し、判別関数修正部134に出力する。そしてステップS205に進む。
ステップS205では、判別関数修正部134により、判別関数記憶部121に記録された判別関数g(x)が、集合SVNearに含まれるサポートベクターxにより構成される判別関数g’(x)へと修正する。そして、修正された判別関数g’(x)は、判別部142に出力される。その後ステップS207に進む。
ステップS207では、判別部142により、修正後の判別関数g’(x)と判別対象の特徴情報xとを用いた判別が行われる(判別ステップ)。つまり、判別部142は、判別関数g’(x)に判別対象の特徴情報xを代入して計算し、その計算結果である出力値の符合により、その判別対象がどのクラスに属するのかを判別する。そしてステップS209に進み、その判別結果が出力される。そして、ステップS211に進む。
ステップS211では、判別装置100により、全ての判別対象に対する判別が終了したか否かが確認される。この確認は、例えば、判別対象取得部141が判別対象の特徴情報を所定の時間取得しない場合や、判別装置100を制御する上位の制御装置からの命令に基づいて行われてもよい。そして、全ての判別対象に対する判別が終了した場合には、選択及び判別動作を終了し、判別が終了していない場合には、ステップS201以降の処理が繰り返しおこなわれる。
<本実施形態による効果の例>
以上、本発明の一実施形態に係る判別装置100について説明した。この判別装置100によれば、SVMを用いて判別を行う際に、判別関数g(x)を構成するサポートベクターxを、判別対象からの距離に応じて選択し、その選択したサポートベクターxで構成される判別関数g’(x)により判別を行うことができる。従って、一部のサポートベクターxに対して判別関数を計算することにより判別結果を算出でき、判別処理に要する計算量を大幅に削減することができる。特に、ガウスカーネルを用いたSVMによる判別処理は、判別精度が高いものの、計算量が多く、実際にリアルタイム処理を行う装置への適用の障害となることがあった。しかし、本実施形態に係る判別装置100によれば、判別結果への影響が少ないサポートベクターxを削減することにより、このガウスカーネルを用いたSVMによる高い判別精度を可能な限り維持させつつ、単にSVMにより判別を行うよりも更に高速に判別処理を実行することができる。よって、判別装置100の適用範囲を、リアルタイム処理が要求される装置などを含む範囲にまで広げることが可能である。
更に、この判別装置100は、サポートベクターxを選択する際に、判別対象からの距離に応じて、判定に使用するサポートベクターxを選択する。更に、この際、判別装置100は、最近傍探索法を用いて、判定に使用するサポートベクターxを選択する。従って、特徴量空間上において判別対象に近接した(つまり類似した)サポートベクターを選択することができるので、図4に示すように判別の精度を維持しつつ、計算量を更に削減することができる。
また更に、この判別装置100は、最近傍探索法として、上記LSHを使用する。従って、判定に使用するサポートベクターxを選択する際に、判別対象に適切に類似するサポートベクターxを選択することができ、判別精度を更に維持し、かつ、計算量を大幅に削減することができる。
なお、例えば、多クラス判定を行う場合、判別処理で行われる判別関数は、そのクラス数をGとすると、個必要となる。そして、修正前の判別関数g(x)を使用する場合、サポートベクターxをn個と仮定すると、全ガウスカーネルの個数は、約×n個程度にも及び、膨大な計算量が必要となる。しかしながら、本実施形態に係る判別装置によれば、このnの数を大幅に減少させることができる。しかも、上述の通り、この際、判別精度を維持させるか、精度の低下を最小限に抑えることができる。
<判別装置の適用例>
次に、上記で詳しく説明した本発明の判別装置100が実際に適用された例について説明する。なお、本実施形態に係る判別装置100は、特徴情報が得られる様々な種類のデータに対して判別を行うような様々な実施の形態に構成することができる。以下では説明の便宜上、判別装置100が表面疵検査装置に適用された場合について説明する。そして、例えば、判別装置の判別対象は、表面疵検査装置が検出した疵の候補データ(「疵候補」ともいう。)であり、疵候補が属するかどうかを判別する複数の集合は、その疵の種類(「疵種」ともいう。)であるとして説明する。
しかしながら、表面疵検査装置は、判別装置100が適用された装置の一例であって、判別装置100の適用先を限定するものではない。判別装置100は、例えば、製品を製造する製造プラントの製造装置の故障状態を判別する装置、製造された製品の分類をする装置、製造された製品に発生した不良状態を判別する装置などにも適用することができる。つまり、判別装置100は、所定の測定装置により各種の状態を測定することが可能で、その測定により得られた測定データ(特徴情報)に応じて複数種類に分類される様々な判別対象を判別する装置に適用することができる。この判別装置100は、特に製品を製造する製造プラントで製造された製品の不良状態を判別する装置に適用される場合、非常に効果的である。更に、判別装置100は、測定数値に対するものだけでなく、例えば、OCR(Optical Character Reader)などの文字認識、音声認識、指紋・網膜・顔等の識別など、パターン認識を行う様々な個所に適用することができる。
図12は、本実施形態に係る判別装置の適用例である表面疵検査装置の構成の概要について説明するための説明図である。図13は、本実施形態に係る判別装置の適用例である表面疵検査装置の動作の概要について説明するための説明図である。
図12に示すように、表面疵検査装置1は、光源装置11と、撮像装置12と、画像処理装置13と、判別装置14と、判別結果記憶装置15と、表示装置16と、制御装置17とを有する。
表面疵検査装置1は、鋼板製造プラント(製造プラントの一例)内に配置され、このプラントで製造される鋼板3の表面に、例えば凹凸欠陥・スクラッチ・デントなどの疵が形成されていないか否かを検査する。そのために表面疵検査装置1は、図12に示すように、ロール2上を通板される鋼板3に光源装置11から光を照射する。この光は、例えば平行光であってもよい。そして、表面疵検査装置1は、鋼板3で反射した反射光を撮像装置12により撮像する。撮像画像には、光が照射された鋼板3の表面の幅方向にわたる領域4にある疵からの反射光が含まれる。この反射光は、撮像画像中の輝度(強度、階調)の濃淡として撮像される。
画像処理装置13は、撮像装置12が撮像した撮像画像を画像処理して解析し、撮像画像内の輝度の濃淡の分布から疵候補の領域(つまり、疵を表すと推定される領域)をラベリングにより抽出する。この際、各疵候補には、ラベル(識別情報)が付される。そして、画像処理装置13は、画像内でこの疵候補を表した領域について、その形状や輝度等の特徴からなる特徴情報を算出する。この特徴情報には、1又は2以上の種類の特徴を表す値が含まれ、この例の場合、この各値が上記の特徴量である。この特徴量としては、例えば、その疵の高さ・深さ・幅・長さ・面積・輝度分布・色分布・形成位置などが挙げられる。そして、画像処理装置13は、この疵候補のラベルとその特徴情報とを対応付けた疵候補データ(つまり判別対象)を判別装置14に出力する。
判別装置14は、本実施形態に係る判別装置100の一例であって、画像処理装置13から疵候補のラベルと特徴情報とからなる疵候補データを取得する。そして、判別装置14は、上記で説明した判別ロジックに従って、疵候補の疵種を判別する。判別装置14は、判別の結果として判別結果を出力する。この判別結果には、例えば、2クラス判定の場合、その疵候補が有害な疵の集合(X1)に属するのか、又は、無害な疵の集合(X2)であるのかという情報が含まれてもよい。また、多クラス判定の場合、判定結果には、例えば、無害な疵であれば、更にどのような疵種に属するのかという情報が含まれてもよい。
判別装置14が判別する疵種としては、例えば、擦り疵・欠き疵等の有害な疵種(製品品質に対して与える影響が大きく許容できない疵)、及びそれらの有害度合(深刻度合・グレードなど)、並びに無害な疵(許容しうる疵や単なるノイズなど)の判別を行うが、本実施形態において疵種とは、これらの疵の種類及びその程度の区分を総称して疵種と記す。
そして、判別装置14は、入力値である疵のラベル・特徴情報と判別結果とを、判別結果記憶装置15及び表示装置16に出力する。判別結果記憶装置15には、ラベル・特徴情報・判別結果が相互に紐付けられて記録される。表示装置16は、ラベル・特徴情報・判別結果を表示して、例えば、疵が検出されたこと・疵が有害であるのか無害であるのか・有害である場合どの疵種に属する疵であるのか・その有害度合などといった情報をユーザに通知する。なお、光源装置11・撮像装置12・画像処理装置13・判別装置14・判別結果記憶装置15・表示装置16は、制御装置17により制御され、上記それぞれの動作を行う。
この表面疵検査装置1の動作の概要について、図13を参照しつつ説明する。
まず、ステップS01が処理され、光源装置11から光が照射され、撮像装置12が鋼板3の照射部を撮像して、輝度分布(又は色分布)を有する撮像画像を出力する。次に、ステップS03に進む。
ステップS03では、画像処理装置13が、当該撮像画像内の輝度分布から疵部の可能性がある領域を疵候補を抽出する。そして、ステップS05に進み、このステップS05では、画像処理装置13が、疵候補を表した画像内の領域について、その疵領域の高さ・深さ・幅・長さ・面積・輝度分布・色分布・形成位置などの疵の特徴情報を算出し、ステップS07に進む。
ステップS07では、判別装置14が、特徴情報から疵種を判別して、判別結果を算出する。そして、ステップS09に進み、表示装置16がラベル・特徴情報・判別結果などを表示すると共に、判別結果は、判別結果記憶装置15に記録される。なお、表示装置16は、例えば判別結果を表した判別関数g’(x)の出力値やその符合を表示させてもよい。そして更にステップS011に進む。
そして、ステップS11では、制御装置17が製造ラインが停止したか否かを判断する。製造ラインが停止した場合、手動又は製造ラインを制御するプロセスコンピュータからの指令等により表面疵検査装置1は動作を停止する。一方、製造ラインが停止していない場合、表面疵検査装置1は上記ステップS01〜ステップS09を再度繰り返し処理する。
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されないことは言うまでもない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても当然に本発明の技術的範囲に属するものと了解される。
例えば、上記実施形態では、判別対象とサポートベクターとの間の特徴量空間上の距離に基づいて、サポートベクターを削減する場合について説明した。なお、サポートベクターを削減して計算量を低減して判別を高速化する方法が、例えば上記非特許文献4などに開示されており、上記実施形態に係る判別装置は、最近傍探索法によるサポートベクターの削減と共に、更にこれらの削減方法を使用してもよい。このような最近傍探索法以外のサポートベクターの削減方法としては、例えば、学習された判別関数を回帰によって近似する方法や、単純にサポートベクトルを間引く方法などが挙げられる。例えば、最近傍探索法によるサポートベクターの削減を行う前や行った後に、近接し合うサポートベクターの幾つかを更に単純に間引くことも可能であり、回帰による近似関数を算出して判定に使用することも可能である。このように他のサポートベクターの削減方法を組み合わせることにより、更に計算量を低減させることが可能である。
また、例えば、上記各実施形態で説明した一連の処理は、専用のハードウエアにより実行させてもよいが、ソフトウエアにより実行させてもよい。一連の処理をソフトウエアにより行う場合、図14に示すような汎用又は専用のコンピュータにプログラムを実行させることにより、上記の一連の処理を実現することができる。
図14は、プログラムを実行することにより一連の処理を実現するコンピュータの構成例を説明するための説明図である。一連の処理を行うプログラムのコンピュータによる実行について説明すれば、以下のようになる。
図14に示すように、コンピュータは、例えば、バス201及び入出力インターフェイス206等を介して接続された、CPU(Central Processing Unit)202と、HDD(Hard Disk Drive)203・ROM(Read Only Memory)204・RAM(Random Access Memory)205等の記録装置と、LAN(Local Area Network)・インターネット等のネットワーク208に接続された通信装置207と、マウス・キーボード(図示せず)等の入力装置209と、フレキシブルディスク、各種のCD(Compact Disc)・MO(Magneto Optical)ディスク・DVD(Digital Versatile Disc)等の光ディスク、磁気ディスク、半導体メモリ等のリムーバブル記録媒体211等を読み書きするドライブ210と、モニタなどの表示装置16・スピーカやヘッドホンなどの音声出力装置212などの出力装置等を有する。
そして、CPU202が、記録装置に記録されたプログラム、ネットワーク208を介して受信したプログラム、またはリムーバブル記録媒体211から読み出したプログラム等に従って、各種の処理を実行することにより、上記の一連の処理が、実現される。この際、CPU202は、必要に応じて入力装置209から入力する情報や信号に基づいて各種の処理を行ってもよい。そして、この処理結果は、必要に応じて上記の記録装置やリムーバブル記録媒体211等に記録されてもよく、出力装置に出力されてもよく、ネットワーク208に送信されてもよい。
尚、本明細書において、フローチャートに記述されたステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的に又は個別的に実行される処理をも含む。また時系列的に処理されるステップでも、場合によっては適宜順序を変更することが可能であることは言うまでもない。
本発明の一実施形態で使用するSVMについて説明するための説明図である。 同実施形態で使用するSVMについて説明するための説明図である。 同実施形態で使用するガウスカーネルの変化について説明するための説明図である。 同実施形態においてサポートベクターを減少させた場合の判定処理について概念的に説明するための説明図である。 同実施形態で使用するLSHによるハッシュテーブルについて説明するための説明図である。 同実施形態で使用するLSHについて説明するための説明図である。 同実施形態で使用するLSHについて説明するための説明図である。 同実施形態で使用するLSHについて説明するための説明図である。 同実施形態に係る判別装置の構成を説明するための説明図である。 同実施形態に係る判別装置のテーブル作成動作について説明するための説明図である。 同実施形態に係る判別装置の選択及び判別動作について説明するための説明図である。 同実施形態に係る判別装置の適用例である表面疵検査装置の構成の概要について説明するための説明図である。 同実施形態に係る判別装置の適用例である表面疵検査装置の動作の概要について説明するための説明図である。 プログラムを実行することにより一連の処理を実現するコンピュータの構成例を説明するための説明図である。
符号の説明
1 表面疵検査装置
2 ロール
3 鋼板
4 領域
11 光源装置
12 撮像装置
14,100 判別装置
13 画像処理装置
15 判別結果記憶装置
16 表示装置
17 制御装置
110 判別関数作成部
111 学習データ記憶部
112 判別関数算出部
121 判別関数記憶部
122 SV記憶部
130 SV選択部
131 ハッシュテーブル作成部
132 ハッシュテーブル記憶部
133 最近傍探索部
134 判別関数修正部
141 判別対象取得部
142 判別部

Claims (7)

  1. 判別対象の複数の特徴量の値からなる判別対象のデータを、前記複数の特徴量を座標軸として張られる特徴空間に配置して、前記判別対象のデータが、判別対象を分類する種類のいずれに属するのかを、前記判別対象を特徴付ける複数の特徴量の値からなる特徴情報を入力データとする判別関数を用い、その判別関数の出力値に基づいて判別する、ガウスカーネルを使用したサポート・ベクター・マシン法を用いた判別方法であって、
    前記サポート・ベクター・マシン法を用いて予め算出された判別関数を構成する複数のサポートベクターのそれぞれと前記判別対象との特徴量空間上の距離に閾値を設け、前記複数のサポートベクターの中から、前記距離が前記閾値未満であるサポートベクターを、前記判別対象の属する種類の判別に使用するサポートベクターとして選択する選択ステップと、
    前記選択ステップで選択したサポートベクターで構成される判別関数を用いて、前記判別対象を判別する判別ステップと、
    を有することを特徴とする、判別方法。
  2. 前記選択ステップでは、前記特徴情報が前記判別対象に類似するサポートベクターを選択するように、最近傍探索法を用いて前記判別対象の判別に使用するサポートベクターを選択することを特徴とする、請求項1に記載の判別方法。
  3. サポート・ベクター・マシン法を用いて予め算出された判別関数を構成する複数のサポートベクターを、ローカリティ・センシティブ・ハッシング法を用いて、重複を許して複数のハッシュテーブルに格納するテーブル作成ステップを更に有し、
    前記選択ステップでは、前記判別対象と同一のハッシュ値を有するサポートベクターの集合を前記複数のハッシュテーブルからそれぞれ選択し、選択した当該サポートベクターの集合の和集合を前記判別対象の判別に使用するサポートベクターとして選択することを特徴とする、請求項2に記載の判別方法。
  4. 判別対象の複数の特徴量の値からなる判別対象のデータを、前記複数の特徴量を座標軸として張られる特徴空間に配置して、前記判別対象のデータが、判別対象を分類する種類のいずれに属するのかを、前記判別対象を特徴付ける複数の特徴量の値からなる特徴情報を入力データとする判別関数を用い、その判別関数の出力値に基づいて判別する、ガウスカーネルを使用したサポート・ベクター・マシン法を用いた判別装置であって、
    前記サポート・ベクター・マシン法を用いて予め算出された判別関数を構成する複数のサポートベクターのそれぞれと前記判別対象との特徴量空間上の距離に閾値を設け、前記複数のサポートベクターの中から、前記距離が前記閾値未満であるサポートベクターを、前記判別対象の属する種類の判別に使用するサポートベクターとして選択する選択部と、
    前記選択部が選択したサポートベクターで構成される判別関数を用いて、前記判別対象を判別する判別と、
    を有することを特徴とする、判別装置。
  5. 前記選択部は、前記特徴情報が前記判別対象に類似するサポートベクターを選択するように、最近傍探索法を用いて前記判別対象の判別に使用するサポートベクターを選択することを特徴とする、請求項に記載の判別装置。
  6. サポート・ベクター・マシン法を用いて予め算出された判別関数を構成する複数のサポートベクターを、ローカリティ・センシティブ・ハッシング法を用いて、重複を許して複数のハッシュテーブルに格納するテーブル作成部を更に有し、
    前記選択部は、前記判別対象と同一のハッシュ値を有するサポートベクターの集合を前記複数のハッシュテーブルからそれぞれ選択し、選択した当該サポートベクターの集合の和集合を前記判別対象の判別に使用するサポートベクターとして選択することを特徴とする、請求項に記載の判別装置。
  7. コンピュータに、判別対象の複数の特徴量の値からなる判別対象のデータを、前記複数の特徴量を座標軸として張られる特徴空間に配置して、前記判別対象のデータが、判別対象を分類する種類のいずれに属するのかを、前記判別対象を特徴付ける複数の特徴量の値からなる特徴情報を入力データとする判別関数を用い、その判別関数の出力値に基づいて判別する、ガウスカーネルを使用したサポート・ベクター・マシン法を用いた判別手順を実行させるためのプログラムであって、
    前記サポート・ベクター・マシン法を用いて予め算出された判別関数を構成する複数のサポートベクターのそれぞれと前記判別対象との特徴量空間上の距離に閾値を設け、前記複数のサポートベクターの中から、前記距離が前記閾値未満であるサポートベクターを、前記判別対象の属する種類の判別に使用するサポートベクターとして選択する選択手順と、
    前記選択手順で選択したサポートベクターで構成される判別関数を用いて、前記判別対象を判別する判別手順と、
    を実行させるためのプログラム。
JP2008131226A 2008-05-19 2008-05-19 判別方法、判別装置及びプログラム Active JP5446127B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008131226A JP5446127B2 (ja) 2008-05-19 2008-05-19 判別方法、判別装置及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008131226A JP5446127B2 (ja) 2008-05-19 2008-05-19 判別方法、判別装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2009281742A JP2009281742A (ja) 2009-12-03
JP5446127B2 true JP5446127B2 (ja) 2014-03-19

Family

ID=41452362

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008131226A Active JP5446127B2 (ja) 2008-05-19 2008-05-19 判別方法、判別装置及びプログラム

Country Status (1)

Country Link
JP (1) JP5446127B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8977580B2 (en) 2010-06-14 2015-03-10 Nippon Steel & Sumitomo Metal Corporation Defect classification apparatus
JP5592337B2 (ja) * 2011-11-18 2014-09-17 日本電信電話株式会社 コンテンツ変換方法、コンテンツ変換装置及びコンテンツ変換プログラム
JP6164899B2 (ja) * 2013-04-05 2017-07-19 キヤノン株式会社 ハッシュ値生成装置、システム、判定方法、プログラム、記憶媒体
JP6318026B2 (ja) * 2014-06-26 2018-04-25 アズビル株式会社 粒子検出装置及び粒子の検出方法
JP6420976B2 (ja) * 2014-06-26 2018-11-07 アズビル株式会社 粒子検出装置及び粒子の検出方法
KR102073229B1 (ko) * 2015-06-25 2020-03-02 제이에프이 스틸 가부시키가이샤 표면 결함 검출 장치 및 표면 결함 검출 방법

Also Published As

Publication number Publication date
JP2009281742A (ja) 2009-12-03

Similar Documents

Publication Publication Date Title
Habib et al. Machine vision based papaya disease recognition
JP6704005B2 (ja) 血液学用デジタルホログラフィ顕微鏡検査データ分析
JP6781415B2 (ja) ニューラルネットワーク学習装置、方法、プログラム、およびパターン認識装置
WO2017084408A1 (zh) 检查货物的方法和系统
JP5446127B2 (ja) 判別方法、判別装置及びプログラム
US20210110215A1 (en) Information processing device, information processing method, and computer-readable recording medium recording information processing program
JP2008077403A (ja) 評価装置、評価方法及び評価プログラム
Kaur et al. Computer vision-based tomato grading and sorting
Ju et al. Classification of jujube defects in small data sets based on transfer learning
Arbeláez et al. Experimental evaluation of support vector machine-based and correlation-based approaches to automatic particle selection
TW202347396A (zh) 用於晶圓之成像資料集中異常之偵測與分類的電腦實施方法以及使用此方法的系統
JP5298552B2 (ja) 判別装置、判別方法及びプログラム
Sharma et al. Enhancing wheat crop resilience: An efficient deep learning framework for the detection and classification of rust disease
JP4343140B2 (ja) 評価装置及びそのコンピュータプログラム
Jena et al. Elitist TLBO for identification and verification of plant diseases
Rajesh et al. Automatic data acquisition and spot disease identification system in plants pathology domain: agricultural intelligence system in plant pathology domain
JP2022089430A (ja) 画像処理システム、及び画像処理プログラム
Lin Adaptive principal component analysis combined with feature extraction‐based method for feature identification in manufacturing
Roy et al. Predictive Analysis & Classification of Diseases in Organs using Modified-C Clustering Technique
Tariq et al. Machine learning approaches for the classification of knee osteoarthritis
Ma et al. Visual detection of cells in brain tissue slice for patch clamp system
Oriana et al. A Naive ConvNet Model for Defect Identification and Grading of Mangoes
Kavitha et al. Sugarcane Classification of Image Processing and Convolutional Neural Networks
Reddy et al. Opposition Crow Search-based Optimal Feature Selection for Defect Classification by SVM in Semiconductor Wafer
Mustafaev et al. Enhancing Metal Surface Defect Recognition through Image Patching and Synthetic Defect Generation

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100810

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120328

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130305

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130426

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: 20131203

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131216

R151 Written notification of patent or utility model registration

Ref document number: 5446127

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