(57)【特許請求の範囲】
【請求項１】
判別対象の複数の特徴量の値からなる判別対象のデータを、前記複数の特徴量を座標軸として張られる特徴空間に配置して、前記判別対象のデータが、判別対象を分類する種類のいずれに属するのかを、前記判別対象を特徴付ける複数の特徴量の値からなる特徴情報を入力データとする判別関数を用い、その判別関数の出力値に基づいて判別する、ガウスカーネルを使用したサポート・ベクター・マシン法を用いた判別方法であって、
前記サポート・ベクター・マシン法を用いて予め算出された判別関数を構成する複数のサポートベクターのそれぞれと前記判別対象との特徴量空間上の距離に閾値を設け、前記複数のサポートベクターの中から、前記距離が前記閾値未満であるサポートベクターを、前記判別対象の属する種類の判別に使用するサポートベクターとして選択する選択ステップと、
前記選択ステップで選択したサポートベクターで構成される判別関数を用いて、前記判別対象を判別する判別ステップと、
を有することを特徴とする、判別方法。
【請求項２】
前記選択ステップでは、前記特徴情報が前記判別対象に類似するサポートベクターを選択するように、最近傍探索法を用いて前記判別対象の判別に使用するサポートベクターを選択することを特徴とする、請求項１に記載の判別方法。
【請求項３】
サポート・ベクター・マシン法を用いて予め算出された判別関数を構成する複数のサポートベクターを、ローカリティ・センシティブ・ハッシング法を用いて、重複を許して複数のハッシュテーブルに格納するテーブル作成ステップを更に有し、
前記選択ステップでは、前記判別対象と同一のハッシュ値を有するサポートベクターの集合を前記複数のハッシュテーブルからそれぞれ選択し、選択した当該サポートベクターの集合の和集合を前記判別対象の判別に使用するサポートベクターとして選択することを特徴とする、請求項２に記載の判別方法。
【請求項４】
判別対象の複数の特徴量の値からなる判別対象のデータを、前記複数の特徴量を座標軸として張られる特徴空間に配置して、前記判別対象のデータが、判別対象を分類する種類のいずれに属するのかを、前記判別対象を特徴付ける複数の特徴量の値からなる特徴情報を入力データとする判別関数を用い、その判別関数の出力値に基づいて判別する、ガウスカーネルを使用したサポート・ベクター・マシン法を用いた判別装置であって、
前記サポート・ベクター・マシン法を用いて予め算出された判別関数を構成する複数のサポートベクターのそれぞれと前記判別対象との特徴量空間上の距離に閾値を設け、前記複数のサポートベクターの中から、前記距離が前記閾値未満であるサポートベクターを、前記判別対象の属する種類の判別に使用するサポートベクターとして選択する選択部と、
前記選択部が選択したサポートベクターで構成される判別関数を用いて、前記判別対象を判別する判別部と、
を有することを特徴とする、判別装置。
【請求項５】
前記選択部は、前記特徴情報が前記判別対象に類似するサポートベクターを選択するように、最近傍探索法を用いて前記判別対象の判別に使用するサポートベクターを選択することを特徴とする、請求項４に記載の判別装置。
【請求項６】
サポート・ベクター・マシン法を用いて予め算出された判別関数を構成する複数のサポートベクターを、ローカリティ・センシティブ・ハッシング法を用いて、重複を許して複数のハッシュテーブルに格納するテーブル作成部を更に有し、
前記選択部は、前記判別対象と同一のハッシュ値を有するサポートベクターの集合を前記複数のハッシュテーブルからそれぞれ選択し、選択した当該サポートベクターの集合の和集合を前記判別対象の判別に使用するサポートベクターとして選択することを特徴とする、請求項５に記載の判別装置。
【請求項７】
コンピュータに、判別対象の複数の特徴量の値からなる判別対象のデータを、前記複数の特徴量を座標軸として張られる特徴空間に配置して、前記判別対象のデータが、判別対象を分類する種類のいずれに属するのかを、前記判別対象を特徴付ける複数の特徴量の値からなる特徴情報を入力データとする判別関数を用い、その判別関数の出力値に基づいて判別する、ガウスカーネルを使用したサポート・ベクター・マシン法を用いた判別手順を実行させるためのプログラムであって、
前記サポート・ベクター・マシン法を用いて予め算出された判別関数を構成する複数のサポートベクターのそれぞれと前記判別対象との特徴量空間上の距離に閾値を設け、前記複数のサポートベクターの中から、前記距離が前記閾値未満であるサポートベクターを、前記判別対象の属する種類の判別に使用するサポートベクターとして選択する選択手順と、
前記選択手順で選択したサポートベクターで構成される判別関数を用いて、前記判別対象を判別する判別手順と、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、製造ライン等において得られる複数のデータについて良否や適否等を判定するための判別方法、判別装置及びプログラムに関する。
【背景技術】
【０００２】
近年、例えば製造プラントにおいて製造ラインのオートメーション化が進み、製造プラントで製造される製品の品質管理を行うために様々な検査が行われている。検査技術の進歩により、製品の欠陥などの不良状態を細部にわたり測定することが可能になり、測定データは多数の測定項目を要素として含むことが多い。このように要素が多い測定データではあるが、その測定データの各要素に基づいて、検出した不良がどのような種類の不良であるのかを判別することが非常に重要である。
【０００３】
例えば、鋼板の製造ラインでは、製造ラインに配置されたカメラによる鋼板の撮像画像に、所定の画像処理を行うことにより鋼板表面の疵等の欠陥を検出する検査装置が使用される。この検査装置では、画像内の画素等の領域の輝度をある輝度閾値で２値化し、その画像中において欠陥を表すと推定される領域（ｂｌｏｂ、ＯＮ（＝１）となった領域）をラベリングにより疵候補データ（測定データの一例）として抽出する。そして、検査装置では、例えば、疵候補の高さ・幅・面積・輝度分布などの各特徴量ように、その領域を特徴付ける特徴情報から、その領域が有害な欠陥なのか無害なノイズなのかという判別が行われ、更に、欠陥である場合には、その欠陥の種類（疵種）や有害度合（深刻度合い、グレード）といった判別が行われる。例えば、許容できない欠陥が発生した場合や製造ライン自体が抱える不良により発生した欠陥である場合など、早期な対処が必要となることも多く、正しい判別を行うことは、製造ラインの生産性及び製品品質に大きな影響を与えうる。
【０００４】
このような判別処理を実行するには、その判別規則を定める必要がある。しかし、一般に実用に耐えうる性能の判別処理を実現するには、膨大な数の複雑な判別規則群を構築する必要がある。判別規則群を疵検査員等が人力で構築することは、構築時の疵検査員等への負荷も膨大になるばかりか、メンテナンス性も非常に悪くなるので現実的ではない。
【０００５】
そこで例えば、判別を行う装置で使用する判別規則を導き出すために、実際の疵候補についての特徴情報とその疵候補（画像データや製品の疵候補部位）の判別作業者による欠陥の種類（疵種）や有害度合に関する判別結果（正解情報）とを多数組含む学習データ（教師データ）を必要数用意し、その学習データに基づいて所定の処理で自動的に判別規則を構築する学習機能が開発されている。
【０００６】
このような学習機能として、例えば、プロダクションシステム、ニューラルネット、決定木などが研究されており、例えば下記非特許文献１に示すように、これらの学習機能が実問題に適用されている。
【０００７】
【非特許文献１】“パターン認識”，  尾上守夫（訳），新技術コミュニケーションズ，  ２００１年
【非特許文献２】“Ｓｔａｔｉｓｔｉｃａｌ  Ｌｅａｒｎｉｎｇ  Ｔｈｅｏｒｙ”，  Ｖ．Ｖａｐｎｉｋ，  Ｗｉｌｅｙ−Ｉｎｔｅｒｓｃｉｅｎｃｅ，  １９９８
【非特許文献３】“Ｌｏｃａｌｉｔｙ−ｓｅｎｓｉｔｉｖｅ  ｈａｓｈｉｎｇ  ｓｃｈｅｍｅ  ｂａｓｅｄ  ｏｎ  ｐ−ｓｔａｂｌｅ  ｄｉｓｔｒｉｂｕｔｉｏｎｓ”，  Ｍａｙｕｒ  Ｄａｔａｒ，  Ｎｉｃｏｌｅ  Ｉｍｍｏｒｌｉｃａ，  Ｐｉｏｔｒ  Ｉｎｄｙｋ，  Ｖａｈａｂ  Ｓ．Ｍｉｒｒｏｎｋｎｉ，  Ｐｒｏｃｅｅｄｉｎｇ  ｏｆ  ｔｗｅｎｔｉｅｔｈ  ａｎｎｕａｌ  ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ｃｏｍｐｕｔａｔｉｏｎａｌ  ｇｅｏｍｅｔｒｙ，  ２００４
【非特許文献４】“Ａ  Ｓｔａｄｙ  ｏｎ  ｒｅｄｕｃｅｄ  ｓｕｐｐｏｒｔ  ｖｅｃｔｏｒ  ｍａｃｈｉｎｅｓ”，  Ｋ．−Ｍ．  Ｌｉｎ，  Ｃ．−Ｊ．  Ｌｉｎ，  ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎ  ｏｎ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋｓ，  １４（６）（２００３）
【発明の開示】
【発明が解決しようとする課題】
【０００８】
一方、予め用意した学習データ（教師データ）を用いた学習機能として近年注目されている手法の１つにＳＶＭ（サポート・ベクター・マシン法：Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅ）が挙げられる（上記非特許文献２参照。）。このＳＶＭは、例えば、以下のような特徴を有する。
（１）学習データ自体に関する正解率と、学習データに忠実に対応し過ぎて学習データ以外の他のデータに対するエラーが増加する現象である過学習とのバランスをとるように設定された判別関数（評価関数）を用いた最適化計算により、各疵候補をデータ点（疵データの集合の元）として、特徴情報の各特徴量を座標軸として張られる空間内（特徴量空間）に配置して、有害欠陥と判定されたデータ点がある領域と無害な欠陥（ノイズ）と判定されたデータ点がある領域との判別境界を計算により導出する。
（２）用意した学習データは、仮想的に規定される写像関数により、特徴量空間から判別境界を導出するために設定された高次元の別の空間に写像され、その高次元空間内での超平面によって判別される（当該超平面は、もとの空間では対応する曲面として表示される。）。
（３）最適化計算の結果として得られる、高次元の空間における判別境界（超平面）は、用意した学習データのうちのいくつかの疵データ点（サポートベクターと呼ばれる）の特徴量の値を係数とする線形結合式の形式の判別関数として表現される。こうして、判別境界を導出することにより、学習データを判別する規則が構築されたことになり、学習が完了したことになる。
【０００９】
このＳＶＭによる学習機能は、上記の特徴などにより複雑な判別規則を学習できると同時に、過学習に陥り難いという優れた特性を有する。このＳＶＭには、高次元空間への写像方法（カーネル関数で代表される）によって幾つかのバリエーションが存在する。このバリエーション中、カーネル関数としてガウスカーネル（ガウス関数型カーネル関数）を使用したＳＶＭが、一般的に多く使用されている。このガウスカーネルは、高性能な判別を行うことができるなど優れた性能を有する一方、コンピュータによるデジタル計算による値の算出においては級数計算として実行されるので、判別に要する計算量が他のバリエーションに比べて多いという欠点がある。
【００１０】
ところで、例えば鉄鋼などの製造ライン上における判別処理は、製造ラインに同期してリアルタイムに実行する必要がある。よって、ガウスカーネルのように計算量が多いということは、判別処理に割ける時間的な制約から、単位時間当たりに可能な判別処理回数が他の判別方法よりも低い値に制限されることを意味する。しかしながら、稼働する製造ラインにおいて、単位時間当たりの判別処理回数がどの程度となるかを予め予想することは難しい。
【００１１】
本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、学習データを用いて判別規則を構築するのに際して従来の技術と比べて、判別精度をなるべく維持しつつ、判別処理の計算量をより低減することが可能な、判別方法、判別装置及びプログラムを提供することにある。
【課題を解決するための手段】
【００１２】
上記課題を解決するために、本発明のある観点によれば、判別対象の複数の特徴量の値からなる判別対象のデータを、上記複数の特徴量を座標軸として張られる特徴空間に配置して、上記判別対象のデータが、判別対象を分類する種類のいずれに属するのかを、上記判別対象を特徴付ける複数の特徴量の値からなる特徴情報を入力データとする判別関数を用い、その判別関数の出力値に基づいて判別する、ガウスカーネルを使用したサポート・ベクター・マシン法を用いた判別方法であって、上記サポート・ベクター・マシン法を用いて予め算出された判別関数を構成する複数のサポートベクターのそれぞれと前記判別対象との特徴量空間上の距離に閾値を設け、前記複数のサポートベクターの中から、前記距離が前記閾値未満であるサポートベクターを、前記判別対象の属する種類の判別に使用するサポートベクターとして選択する選択ステップと、上記選択ステップで選択したサポートベクターで構成される判別関数を用いて、上記判別対象を判別する判別ステップと、を有することを特徴とする、判別方法が提供される。
【００１３】
この構成によれば、選択ステップにおいて、各サポートベクターと判別対象との間の特徴量空間上の距離に基づいて、複数のサポートベクターから、判別に使用するサポートベクターを選択することができる。そして、判別ステップにおいて、この選択したサポートベクターにより構成される判別関数を用いて、判別対象を判別することができる。従って、全てのサポートベクターで構成される判別関数を用いて判別処理を行うよりも、計算量を低減することができ、判別処理に要する時間を短縮することができる。また、サポートベクターを選択する際に、判別対象からの距離に基づいた選択を行うことにより、各判別対象に対する判別結果への影響が大きいサポートベクターを適切に選択して判別に使用することができるので、判別精度を維持することができる。
【００１４】
なお、判別関数は、サポートベクターで構成されるが、ここで言う「構成」は、サポートベクターのみで判別関数が形成されていると言うことを意味するものではなく、サポートベクターを構成要素として含むという意味であり、他の定数や変数等を含んでもよいことは言うまでもない。また、同様に、「選択ステップで選択したサポートベクターで構成される判別関数」とは、この判別関数が選択ステップで選択したサポートベクターを構成要素として含むという意味であり、それ以外のサポートベクター、つまり、選択されていないサポートベクターを構成要素として含まないことを意味する。
【００１５】
また、上記選択ステップでは、上記特徴情報が上記判別対象に類似するサポートベクターを選択するように、最近傍探索法を用いて上記判別対象の判別に使用するサポートベクターを選択してもよい。
この構成によれば、選択ステップにおいて、最近傍探索法を用いてサポートベクターを選択することにより、各判別対象の特徴情報に応じて、その特徴情報に類似するサポートベクターを選択することができる。従って、各判別対象に対する判別結果への影響が大きいサポートベクターを適切に選択して判別に使用することができ、判別精度を維持することができる。また、最近傍探索法を用いることにより、サポートベクターを選択する際に要する計算量を低減して処理時間を短縮することができる。
【００１６】
また、サポート・ベクター・マシン法を用いて予め算出された判別関数を構成する複数のサポートベクターを、ローカリティ・センシティブ・ハッシング法を用いて、重複を許して複数のハッシュテーブルに格納するテーブル作成ステップを更に有し、上記選択ステップでは、上記判別対象と同一のハッシュ値を有するサポートベクターの集合を上記複数のハッシュテーブルからそれぞれ選択し、選択した当該サポートベクターの集合の和集合を上記判別対象の判別に使用するサポートベクターとして選択してもよい。
この構成によれば、テーブル作成ステップにおいて、ローカリティ・センシティブ・ハッシング法により、複数のサポートベクターをハッシュテーブルに格納することができる。そして、選択ステップにおいて、このハッシュテーブルを使用してサポートベクターを選択することができる。つまり、ハッシュテーブルに格納することにより、相互に類似したサポートベクターを関連付けることができ、そのハッシュテーブルから判別対象に類似するサポートベクターを選択することにより、関連付けられた複数のサポートベクターを適切に選択することができる。従って、実際に判別対象と各サポートベクターとの距離を計算することなく、判別対象に類似するサポートベクターを選択することができ、サポートベクターを選択する際に要する計算量を低減して処理時間を短縮することができる。
【００１７】
また、上記判別関数は、ガウスカーネルを用いたサポート・ベクター・マシン法により算出される。
この構成によれば、ガウスカーネルを用いたサポート・ベクター・マシン法により予め算出された判別関数を使用して、判別処理を行うことができる。従って、判別精度を向上させることができる。
【００１８】
また、上記課題を解決するために、本発明の別の観点によれば、判別対象の複数の特徴量の値からなる判別対象のデータを、上記複数の特徴量を座標軸として張られる特徴空間に配置して、上記判別対象のデータが、判別対象を分類する種類のいずれに属するのかを、上記判別対象を特徴付ける複数の特徴量の値からなる特徴情報を入力データとする判別関数を用い、その判別関数の出力値に基づいて判別する、ガウスカーネルを使用したサポート・ベクター・マシン法を用いた判別装置であって、上記サポート・ベクター・マシン法を用いて予め算出された判別関数を構成する複数のサポートベクターのそれぞれと上記判別対象との特徴量空間上の距離に閾値を設け、上記複数のサポートベクターの中から、上記距離が上記閾値未満であるサポートベクターを、上記判別対象の属する種類の判別に使用するサポートベクターとして選択する選択部と、上記選択部が選択したサポートベクターで構成される判別関数を用いて、上記判別対象を判別する判別部と、を有することを特徴とする、判別装置が提供される。
【００１９】
また、上記選択部は、上記特徴情報が上記判別対象に類似するサポートベクターを選択するように、最近傍探索法を用いて上記判別対象の判別に使用するサポートベクターを選択してもよい。
【００２０】
また、サポート・ベクター・マシン法を用いて予め算出された判別関数を構成する複数のサポートベクターを、ローカリティ・センシティブ・ハッシング法を用いて、重複を許して複数のハッシュテーブルに格納するテーブル作成部を更に有し、上記選択部は、上記判別対象と同一のハッシュ値を有するサポートベクターの集合を上記複数のハッシュテーブルからそれぞれ選択し、選択した当該サポートベクターの集合の和集合を上記判別対象の判別に使用するサポートベクターとして選択してもよい。
【００２１】
また、上記判別関数は、ガウスカーネルを用いたサポート・ベクター・マシン法により算出される。
【００２２】
また、上記課題を解決するために、本発明の別の観点によれば、コンピュータに、判別対象の複数の特徴量の値からなる判別対象のデータを、上記複数の特徴量を座標軸として張られる特徴空間に配置して、上記判別対象のデータが、判別対象を分類する種類のいずれに属するのかを、上記判別対象を特徴付ける複数の特徴量の値からなる特徴情報を入力データとする判別関数を用い、その判別関数の出力値に基づいて判別する、ガウスカーネルを使用したサポート・ベクター・マシン法を用いた判別手順を実行させるためのプログラムであって、上記サポート・ベクター・マシン法を用いて予め算出された判別関数を構成する複数のサポートベクターのそれぞれと上記判別対象との特徴量空間上の距離に閾値を設け、上記複数のサポートベクターの中から、上記距離が上記閾値未満であるサポートベクターを、上記判別対象の属する種類の判別に使用するサポートベクターとして選択する選択手順と、上記選択手順で選択したサポートベクターで構成される判別関数を用いて、上記判別対象を判別する判別手順と、を実行させるためのプログラムが提供される。
【発明の効果】
【００２３】
以上説明したように本発明によれば、学習データを用いて判別規則を構築するのに際して従来の技術と比べて、判別精度をなるべく維持しつつ、判別処理の計算量をより低減することができる。
【発明を実施するための最良の形態】
【００２４】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００２５】
なお、本発明の一実施形態に係る判別装置は、「ＳＶＭ（サポート・ベクター・マシン法：Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅ）」を用いて、判別対象が複数種類の集合のいずれに属するのかを判別する。この判別対象は、「特徴情報」により特徴付けられ、この特徴情報には、判別対象を特徴付ける１種類又は２種類以上の「特徴量」の値が含まれる。つまり、特徴情報は、各特徴量（スカラーで表現される）を要素として有するベクトルとして表すことができる。判別関数は、この特徴情報を入力データとして（つまり、引数として）使用し、計算結果を導出する。この計算結果である出力値は、各判別対象が複数種類の集合のいずれに属するのかを表しており、判別装置は、この出力値に基づいて判別を行う。
【００２６】
例えば、判別装置が、鋼板の撮像画像から疵候補の画像を採取し、当該疵候補についてその特徴情報に基づいて、疵種の判別や有害度の判別をするときの上記の特徴量や特徴情報を説明する。このとき、それぞれの疵画像が疵候補の領域（単に疵候補ともいう）であって、判別対象のデータである。疵候補の特徴量としては、その疵の高さ・深さ・幅・長さ・面積・輝度分布・色分布・形成位置等の各特徴量がよく用いられる。そして疵候補の特徴情報として、この特徴量それぞれの値の組、例えば（疵の高さの値、深さの値、…、形成位置の座標）を定量的なデータ(ベクトル値)として用いて、疵種等を判別する情報処理を実行することになる。又、判別対象の特徴情報のベクトルで表される特徴量空間におけるデータ点のことを、以下の説明では、特徴量空間における判別対象（の位置）とも記す。
【００２７】
本発明の一実施形態に係る判別装置は、計算量を低減するために、判別関数を構成するサポートベクター（上記［発明が解決しようとする課題］で説明した学習データのうちのいくつかの疵データ点）の一部を選択して使用する。この際、判別装置は、判別精度を維持するために、判別対象とサポートベクターとの特徴情報による空間（以下「特徴量空間」ともいう。）上の距離に基づいてサポートベクターを選択する。なお、特徴量空間は、各特徴量を座標軸として張られる空間であり、判別対象やサポートベクターを元とする。一方、この選択には、距離に基づく選択方法の例として「最近傍探索法」などを用いることができ、更に、この最近傍探索法の一例としては、公知技術である「ＬＳＨ（ローカリティ・センシティブ・ハッシング法：Ｌｏｃａｌｉｔｙ−Ｓｅｎｓｉｔｉｖｅ  Ｈａｓｈｉｎｇ）」を使用することができる。
【００２８】
したがって、以下では、本発明の一実施形態に係る判別装置について理解しやすいように、まず、この＜ＳＶＭ＞と＜ＬＳＨ＞ついて説明する。その後、＜判別装置の構成＞及び＜判別装置の動作＞について説明し、本発明の一実施形態による＜効果の例＞について説明する。そして、更に本発明の一実施形態に係る判別装置の適用例として、判別装置が疵検査装置に適用された場合について説明する。
【００２９】
＜ＳＶＭ（Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅ）について＞
ＳＶＭは、上述の通り、判別処理を行う判別方法の一例であって、特徴情報を入力データとして判定結果を表す出力値を算出する判別関数を使用することにより、その特徴情報が複数種類の集合（クラス）のいずれに属するのか判別する。このＳＶＭでは、まず、判別関数に特徴情報を入力し、計算された出力値の符合により、その特徴情報が２つの集合のいずれに該当するのかを表すことができる。従って、ＳＶＭでは、各集合の境界毎に判別関数を用意し、それらの判別関数に特徴情報を入力することにより、判別対象が複数の集合のいずれに該当するのかをも判定することができる。この際、例えば、判別対象は、一番多くの判別関数により指示された集合に属すると判定することができる。つまり、ＳＶＭでは、複数の判別関数を使用することにより多クラス判定（複数種類の集合のいずれに属するのかを判定すること）をも行うことができるが、以下では、説明の便宜上、２クラス判定（２種類の集合のいずれに属するのかを判定すること）について説明する。
【００３０】
ＳＶＭでは、判別関数は、学習機能により導出される。
つまり、まず、特徴情報と、その特徴情報に対する既知の判別結果（「判別情報」ともいう。）とを含む学習データが複数用意される。学習データの特徴情報を、特徴量空間上に点として表した例を図１に示す。図１中、○（白抜きの丸）、□（白抜きの四角）、●（黒塗りの丸）、■（黒塗りの四角）などが、それぞれ学習データの点を表す。また、説明の便宜上、図１には特徴量空間として２次元の空間を示し、特徴情報を構成する２つの軸として第１特徴量と第２特徴量とを示す。なお、実際の特徴量空間は、特徴情報を構成する特徴量の数だけ次元を有することになる。
【００３１】
次に、これらの学習データの特徴情報は、仮想的に想定する高次元の写像空間へと写像される。この写像を行う関数（写像関数）を「カーネル関数」といい、カーネル関数によりＳＶＭの特性が決定される。
【００３２】
そして、ＳＶＭでは、写像空間上の点（つまり学習データの特徴情報）が、判別結果別に線形分離する面（超平面。「判別面」ともいう。）が存在するという条件下で、その判別面までの距離が最短の点までの距離が最大となるように判別面を算出する。そして、この判別面から、２クラスの判別を行うことができるＳＶＭによる判別関数が導出される（式（１）参照。）。このようにＳＶＭでは、学習データから判別関数を導出し、その判別関数を用いた判別を行う。この判別関数の導出過程については、例えば、上記特許文献２などに詳しく記載されているため、詳しい説明は省略する。
【００３３】
なお、ここで導出される判別面は、写像元の特徴量空間に再度写像（すなわち逆写像）されると曲面で表される。図１中の判別境界Ｂ１２が、その曲面を表す。つまり、判別境界Ｂ１２は、クラスＸ１（例えば有害な疵の集合）とクラスＸ２（例えば無害な疵の集合）とを分離する境界線（３次元以上では境界面）を表すことになる。そして、この判別境界Ｂ１２を表す式を判別関数とすることにより、判別関数が導出される。そして、判別関数は、判別対象の特徴情報が入力され、算出した結果出力する値の符合により、その判別対象がクラスＸ１とクラスＸ２とのどちらに属するのかを判別することができる（例えば、出力値の符合が正のときはクラスＸ１、負のときはクラスＸ２など）。なお、図１では、特徴量空間を２次元で表しているため、曲面は曲線で表される。また、図１には、クラスＸ１に属する学習データの点（ベクトルｘｉ）を○及び●（丸）で表し、クラスＸ２に属する学習データの点（ベクトルｘｉ）を、□及び■（四角）で表した。
【００３４】
ＳＶＭにより導出される判別関数は、下記の式（１）で表され、複数の学習データのうち、この判別境界までの距離が小さい学習データの特徴情報により構成される。この判別関数を構成する学習データの特徴情報によるベクトル（特徴量をｔ種類とするとｔ次元）のことを「サポートベクター」といい、ＳＶＭの学習計算により計算される。このサポートベクターを図１では●及び■（黒塗りの丸と四角）で表した。より具体的には、式（１）に示すように、判別関数ｇ（ｘ）は、サポートベクターｘｉ毎にそのサポートベクターｘｉをカーネル関数Ｆ（ｘ，ｘｉ）に代入したものの線形結合により表される。
【００３５】
【数１】
0005446127.tif 000002
【００３６】
式（１）中、Ｆ（ｘ，ｘｉ）は、カーネル関数を表し、γは、適宜設定される外部パラメータ（スカラー）を表す。また、ｗiは、各サポートベクターが判別結果に与える影響度合を表したスカラー数であり、ｂは、判別境界Ｂ１２を平行移動させるスカラー値であり、このｗi及びｂは、ＳＶＭによる学習結果として算出される。なお、添え字ｉは、サポートベクターの個数を表し、サポートベクターの数を、ｎとするとｉ＝１，２，３…，ｎとなる。また、ｘiは、サポートベクター、つまり、判別件数を構成する学習データの特徴情報によるｔ次元のベクトルを表す。一方、ＳＶは、サポートベクターの集合を表し、このＳＶも、ＳＶＭによる学習結果から得られる。そして、ｘは、判別対象の特徴情報によるベクトルを表し、このｘが判別関数ｇ（ｘ）に代入された算出された結果の符合により、２クラスの判定が行われる。
【００３７】
カーネル関数としては、例えば、様々な線形カーネルや非線形カーネルなどが使用されてもよいが、ここでは非線形カーネルの一例である「ガウスカーネル」が使用される場合について説明する（式（２）参照）。
【００３８】
【数２】
0005446127.tif 000003
【００３９】
このガウスカーネルは、高性能な判定を行うことが可能なカーネル関数であり、式（２）の右辺の指数に示されるように、あるベクトルｘと、他のベクトルｙとの間の距離（｜｜ｘ−ｙ｜｜）に基づいて、両者の類似度を数値として出力する。従って、ある判別対象の特徴情報によるベクトルをｘとした場合、判別関数ｇ（ｘ）は、図２に示すように、そのベクトルｘと各サポートベクターとの間の距離（例えばｄ１，ｄ２）毎に、上記ガウスカーネルを計算して線形和を計算することになる。よって、判別関数ｇ（ｘ）を計算する上で、処理量が嵩むのは、この線形和をとる処理（つまり、Σの計算）である。
【００４０】
一方、下記の適用例で説明する表面疵検査装置などの実問題における判定では、サポートベクターの数が数千個になる場合も珍しくない。このような場合、Σの計算は非常に多くなり、計算量が嵩み、単位時間当たりの判定回数が制限されてしまう。
【００４１】
そこで、本発明の一実施形態に係る判別装置は、このΣの計算を減少させることにより、計算量を低減する。そのために、判別装置は、各判別対象に応じて、複数あるサポートベクターから、その判別対象の判別に使用するサポートベクターを選択し、選択したサポートベクターに対してΣの計算を行うことにより、計算量を低減させる。
【００４２】
しかし、単に判別に使用するサポートベクターを間引く場合、Σの計算量を効果的に削減できるものの、判別精度に影響を与えてしまい、正しい判別が行えない可能性がある。そこで、本発明の一実施形態に係る判別装置は、判別対象と各サポートベクターとの間の距離ｄに基づいて、サポートベクターを選択する。つまり、判別装置は、判別対象に特徴情報が類似するサポートベクターを使用し、そのサポートベクターで構成される判別関数ｇ’（ｘ）を計算することにより、判別精度を維持しつつ、計算量を低減することを可能にしている。
【００４３】
この際、判別精度を維持できる理由について、図３及び図４を参照しつつ定性的に説明する。
【００４４】
図３は、本実施形態で使用するガウスカーネルの変化について説明するための説明図である。図４は、本実施形態においてサポートベクターを減少させた場合の判定処理について概念的に説明するための説明図である。
【００４５】
上述の通り、ガウスカーネルは、式（２）で表され、２つのベクトル（ｘ、ｙ）間の距離（｜｜ｘ−ｙ｜｜）を計算し、その距離に基づいて値を計算している。距離ｄ＝｜｜ｘ−ｙ｜｜とし、γ＝１とした場合、ガウスカーネルＦ（ｄ）は、図３のように変化する。
【００４６】
図３に示すように、ガウスカーネルＦ（ｄ）は、距離ｄが大きくなれば大幅に減少する。図３に示す例では、例えば距離ｄが５を超えると、ガウスカーネルＦ（ｄ）は、ほとんどゼロ（０）となる。これは、２つのベクトル間の距離が大きければ、両ベクトルの類似性が低下することを意味し、換言すれば、判別対象からの距離が遠いサポートベクターは、判別関数ｇ（ｘ）の計算結果に与える影響が少ないことを意味する。そこで、本実施形態に係る判別装置は、判別対象からサポートベクターまでの距離ｄに閾値Ｒ（例えば５など）を設け、複数のサポートベクターを、距離ｄが閾値Ｒ以上離れている集合ＳＶＦａｒと閾値Ｒ未満の集合ＳＶＮｅａｒとに分ける。そして、集合ＳＶＦａｒに対するガウスカーネルｇ（ｘ）を、計算せずに０にすることで、判別精度を維持しつつ、Σの計算を簡略化することができる。換言すれば、判別関数ｇ（ｘ）は、下記式（３）から式（５）へと変形される。よって、本実施形態に係る判別装置は、式（６）に示すＳＶＮｅａｒに属するサポートベクターで構成される判別関数ｇ’（ｘ）を導出して判別を行うことができる。
【００４７】
【数３】
0005446127.tif 000004
【００４８】
この際の判別処理について、概念的に説明すれば、以下の通りである。
つまり、図４に示すように、本実施形態に係る判断装置は、サポートベクターを、判別対象ｘからの距離Ｒにより集合ＳＶＮｅａｒと集合ＳＶＦａｒとに分ける。そして、集合ＳＶＮｅａｒに含まれるサポートベクターで構成される判別関数ｇ’（ｘ）を使用して、判別対象を判別する。この際、判別関数ｇ’（ｘ）は、概念的には、判別境界Ｂ１２’のように集合ＳＶＮｅａｒにより構成される曲線（曲面）となる。従って、判別対象ｘの判別結果に与える影響が大きいサポートベクターを適切に選択して判別結果の精度を維持することができ、かつ、判別結果に与える影響が少ないようなサポートベクターに対する計算を省略して計算量を低減させることができる。
【００４９】
＜ＬＳＨ（Ｌｏｃａｌｉｔｙ−Ｓｅｎｓｉｔｉｖｅ  Ｈａｓｈｉｎｇ）について＞
判別対象とサポートベクターとの間の距離に基づいて、判定に使用するサポートベクターを選択する際、本発明の一実施形態に係る判別装置は、更に計算量を低減させるために、判別対象に特徴情報が類似するサポートベクターを選択する。そして、この判別装置は、判別対象に類似するサポートベクターを抽出する方法の一例として、最近傍探索法を用いる。最近傍探索法を用いると、判別装置は、まず、複数のサポートベクターを相互に類似する複数の集合（クラス）に分類して記憶部（ハッシュテーブル記憶部１３２）に記録する。そして、判別装置は、判別対象の特徴情報に応じて、その判別対象が属する集合を求め、該当する集合に分類されているサポートベクターをＳＶＮｅａｒに含まれるサポートベクターとして選択する。従って、最近傍探索法を用いてサポートベクターを選択することにより、判別対象とサポートベクターとの間の距離を実際に計算せずに、判別対象に近接して類似したサポートベクターを選択することができ、更に計算量を大幅に低減することができる。なお、ここで言う集合は、判別装置が判別対象に対する判別結果として導き出す集合（例えば図１の集合Ｘ１，Ｘ２）とは異なる。
【００５０】
この最近傍探索法としては、例えば、ＬＳＨ（ローカリティ・センシティブ・ハッシング法、Ｌｏｃａｌｉｔｙ−Ｓｅｎｓｉｔｉｖｅ  Ｈａｓｈｉｎｇ）、ｋｄ木（ｋｄ−ｔｒｅｅ）、マトリック木（ｍｅｔｒｉｃ  ｔｒｅｅ）などが挙げられる。本実施形態に係る判別装置は、様々な最近傍探索法を使用することができるが、特にＬＳＨを使用することが好ましい。ＬＳＨは、他の最近傍探索法に比べても、より正確に類似する対象の範囲を決定することができ、選択精度を高めることができる。従って、本実施形態に係る判別装置は、ＬＳＨを使用することにより、判別対象に類似するサポートベクターの選択精度を高め、判別精度をより良く維持することができる。このＬＳＨについては、上記非特許文献４にも詳しく説明されているので、ここでは本発明の一実施形態に係る判別装置への適用方法などを中心に説明する。
【００５１】
ＬＳＨでは、まず、複数のサポートベクターをハッシュテーブルに格納する。この際、ＬＳＨでは、ハッシュ関数を使用して、複数のサポートベクターを類似するもの毎に分類し、類似するもの同士を一つの集合に纏めてハッシュテーブル中に格納する。そして、ＬＳＨでは、このようなハッシュテーブルが複数作成されて記録される（テーブル作成）。一方、判別対象に類似するサポートベクターを検索する場合には、同じくハッシュ関数を使用して、その判別対象が属する集合を導出して、その集合に含まれるサポートベクターを抽出する（選択）。このＬＳＨについて、更に詳細に図５〜図８を参照しつつ説明する。
【００５２】
図５は、本実施形態で使用するＬＳＨによるハッシュテーブルについて説明するための説明図である。図６〜図８は、本実施形態で使用するＬＳＨについて説明するための説明図である。
【００５３】
（テーブル作成）
まず、検索したいサポートベクターの距離範囲（判別対象を中心とした距離範囲）をＲとして、この距離Ｒを決定する。なお、この距離Ｒは、上述の通り、ＳＶＮｅａｒに含めるサポートベクターの範囲、つまり判別対象から各サポートベクターまでの距離ｄの閾値（図４参照。）を意味し、ここで言う距離は、上記同様特徴量空間上の距離である。
【００５４】
この距離Ｒの決定は、以下の通りに行われる。
まず、上記式（５）のΣ計算で加算される各項のガウスカーネルにおいて、｜｜ｘ−ｙ｜｜を距離Ｒで置き換える。一方、ＳＶＭ学習の際の判別関数において判別面の複雑さと学習データに対する誤判別数の重み付けを行うパラメータであるＣ、及び、ＳＶＭの定式化より、｜ｗｉ｜≦Ｃという性質がある。よって、Σ計算の各項の絶対値は、下記式（７）のように、中央の項以下となる。ここで、Σ計算の各項の最大の閾値をεとする。εは、例えば１．０×１０−５などのように、十分に小さい値に設定する。すると、下記式（７）の中央の項は、閾値ε以下に限定され、この式（７）から式（８）が導出される。この式（８）は、ｗｉが最大値を取るサポートベクターがΣ計算に与える影響が閾値ε以下となる距離Ｒを求めていることを意味する。
【００５５】
【数４】
0005446127.tif 000005
【００５６】
ＬＳＨでは、ハッシュ関数が使用される。サポートベクターをｘｉとした場合、このハッシュ関数は、下記式（９）及び式（１０）で表される。
【００５７】
【数５】
0005446127.tif 000006
【００５８】
スカラー値であるｋ及びωは、適宜調整して設定されるパラメータである。このハッシュ関数Ｈ（ｘ）からは、「ハッシュ値」と呼ばれるｋ次元の整数ベクトルが算出される。このハッシュ値は、ＬＳＨにおける検索キーである。また、ハッシュ関数は、概念的にはサポートベクターｘｉを写像して次元数をハッシュ値の次元へと落とす役割を担っている。また、ＬＳＨでは、この次元が低い状態で所定の方向への所定の幅中に含まれるサポートベクターｘｉ同士を類似すると分類する。この所定の幅は、ωによって決定される。ハッシュ値の次元数はｋによって決定される。よってｋ及びωを適切な値に調整することにより、ＬＳＨによる類似検索の精度を高め、かつ、計算量を低減することが可能であるが、このｋ及びωは、判別装置が適用される対象の特性（例えばサポートベクターの次元数や取り得る値の範囲）などにも依存するため、適宜調整されて決定される。
【００５９】
また、式（９）の右辺には、引数を超えない最大の整数を返す床関数（例えば１．２であれば１を、−２．３であれば−３を返す関数）が使用されているが、天井関数が使用されてもよい。
【００６０】
また、式（１０）中、ａｊは、正規乱数を成分にもち、サポートベクターｘｉと同じｔ次元のベクトルであり、ｂｊは、一様乱数で生成した［０，ω］となるスカラー値である。
【００６１】
上記（９）で算出されるｋ次元の整数ベクトルであるハッシュ値は、上述の通り、検索キーとして使用される。このハッシュ値を検索キーとして使用した検索が可能なように、複数のサポートベクターｘｉをテーブルに格納して記録する必要がある。そのためには、１つのテーブルのエントリ数をＮとすると、ｋ次元のハッシュ値を例えば０〜Ｎ−１のインデックス値に変換する必要がある。この変換には、様々な方法があるが、ここでは、例えば、エントリ数Ｎのテーブルをｋ個連結して、各テーブル（ｊ番目のテーブル）の検索キーとして、ｋ次元のハッシュ値の各要素（ｈｊ）を下記式（１１）で変換したインデックス値を使用する。そして、最後尾のｋ番目のテーブルでは、計算したインデックス値が示すメモリにサポートベクターｘｉを格納する。既に、そのメモリに他のサポートベクターが格納されている場合には、リスト構造により、そのサポートベクターｘｉを追加する。その結果、最後尾のｋ番目のテーブルの同一のインデックス値が示すメモリには、そのハッシュ関数により類似すると分類されるサポートベクターが集合として格納されることになる。また、ｋ個連結されるテーブルのそれぞれをハッシュテーブルと言うが、ここでは便宜上、１つ１つのテーブルを単にテーブルとも言い、ｋ個連結されたテーブルを１つのハッシュテーブルとも言う。
【００６２】
【数６】
0005446127.tif 000007
【００６３】
また、ＬＳＨでは、上記のようなハッシュテーブルへの格納をＬ通り行う。即ち、ｌ＝１，２…，Ｌとし、上記式（９）及び式（１０）を、下記式（１２）及び式（１３）のように新たな添え字ｌを付加する。そして、各ｌに対して異なる値をもつａｌ，ｊ及びｂｌ，ｊに基づいたハッシュテーブルをＬ個用意し、サポートベクターをそのＬ個のハッシュテーブルの各々に格納する。このような格納を、サポートベクターの集合ＳＶ内の各サポートベクターｘｉに対して行い、それぞれＬ個のハッシュテーブルに格納する。このようにＬＳＨでは、類似を決定するハッシュ関数が相異なるハッシュテーブルを複数用意して記録しておく。なお、Ｌは、適宜調整されて決定されるスカラーのパラメータである。
【００６４】
【数７】
0005446127.tif 000008
【００６５】
このハッシュテーブルへの格納について、概念的に説明すれば以下の通りである。
各ハッシュテーブルＨＴ１〜ＨＴＬの概念図を図５に示す。以下では、１つのハッシュテーブルＨＴ１を例に、１つのサポートベクターの格納について説明するが、他のハッシュテーブルでも同様の格納が行われる。
【００６６】
まず、ｌ＝１固有のハッシュ関数Ｈ１（ｘ）により、ハッシュ値（ベクトル）が計算される。そして、まず、ハッシュ値ベクトルの第１要素ｈ１，１について、式（１１）によりインデックス値ｉｎｄｅｘ１が計算される。そして、１番目のテーブルＴ１中の同一のインデックス値ｉｎｄｅｘ１を有するエントリが参照される。このエントリには、インデックス値毎に異なる２番目のテーブルＴ２が関連付けられている。そこで、２番目のテーブルＴ２に進み、ハッシュ値ベクトルの第２要素ｈ１，２が式（１１）によりインデックス値ｉｎｄｅｘ２に変換される。そして、２番目のテーブルＴ２中の同一のインデックス値ｉｎｄｅｘ２を有するエントリが参照される。このエントリにも、インデックス値毎に異なる３番目のテーブルＴ３が関連付けられており、３番目のテーブルＴ３に進む。このような処理がハッシュ値ベクトルの要素の個数（つまりｋ）だけ行われる。そして、最後のテーブルＴｋでは、ハッシュ値ベクトルの第ｋ要素ｈ１，ｋのインデックス値ｉｎｄｅｘｋに対応するエントリには、メモリの一の領域が関連付けられており、そのメモリの領域に、サポートベクターが格納される。そして、ハッシュ値が異なるサポートベクターは、異なる経路を辿ることになり、異なる経路により到達する異なるエントリには、メモリの異なる領域が関連付けられる。従って、ハッシュ値が同一のサポートベクターは、同一のメモリの領域に（リスト構造により）格納され、ハッシュ値が異なるサポートベクターは、異なる領域に格納される。よって、メモリの各領域に相互に類似するサポートベクターを１つの集合として格納することができる。従って、類似するサポートベクターの集合が最大でＮｋ個作成される。ここでは、ｐ＝１，２…，Ｎｋとして、各集合を集合ＳＶＮｅａｒ，ｐ（ｌ）と呼ぶ。
【００６７】
つまり、ＬＳＨでは、ハッシュ値ベクトルが同一であるものが類似している判断され、その類似を決定しているのが、上記式（１２）及び式（１３）で表されるハッシュ関数である。このハッシュ関数による類似判断の様子を概念的に図６及び図７に示す。上述の通り、ハッシュ関数は、ｄ次元のサポートベクターを写像してｋ次元へと次元数を落とす役割を担う。つまり、ハッシュ関数Ｈ１（ｘ）中の１つの要素を担う関数ｈ１，１（ｘ）は、特徴量空間上の点を、正規乱数で決定されるベクトルａ１，１方向に写像する。また、ベクトルａ１，１を軸とする方向における類似の範囲は、その要素が同一値となる必要があるが、この同一の範囲は、式（１３）中の床関数が同一値を返すことを意味し、その特徴両空間上における幅は、パラメータωにより決定される。従って、概念的には、ハッシュ関数Ｈの各要素である関数ｈは、ベクトルａの方向に、ωに対応する幅で特徴量空間を区画していることに相当する。そして、この区画は、スカラーｂだけベクトルａの方向に平行移動されている。一方、このような区画がハッシュ関数Ｈの要素の個数ｋだけ行われる。従って、図６中、ＳＶＮｅａｒ，ｐ（１）が示す領域が、１つのハッシュテーブルにおいて類似すると判定されるサポートベクターが存在する範囲に該当する。換言すれば、区画された領域ＳＶＮｅａｒ，ｐ（１）中、同一の領域中に存在するサポートベクターが、相互に類似するとして１つの集合に纏められる。
【００６８】
一方、この場合、例えば、判別対象が領域ＳＶＮｅａｒ，ｐ（１）中の端部近傍に位置するときには、その領域ＳＶＮｅａｒ，ｐ（１）に含まれるサポートベクターは類似範囲に含まれるが、隣り合う他の領域の同一の端部近傍に位置するサポートベクターは、実質的に近接していても類似範囲に属さないこととなる。そこで、ＬＳＨでは、このような区画の仕方（ベクトルａ、スカラーｂの値）が異なる複数のハッシュテーブルＨＴ１〜ＨＴＬを用意する。つまり、図７に示すハッシュテーブルＨＴｌの場合ように、図６に示すハッシュテーブルＨＴ１とは異なる区画の仕方のハッシュテーブルを複数用意する。このように複数のハッシュテーブルＨＴ１〜ＨＴＬを用意することにより、１つのハッシュテーブルでは類似しないと分類されるが実質的に近接しているサポートベクター同士を、いずれかのハッシュテーブルＨＴ１〜ＨＴＬにおいて、類似するとして１つの集合に格納することができ、類似判定の精度を向上させることができる。
【００６９】
（選択）
次に、この複数のハッシュテーブルＨＴ１〜ＨＴＬを使用して、判別対象に対して類似するサポートベクターを検索して選択する処理について説明する。
【００７０】
サポートベクターと同様にｔ次元を有する判別対象ｘに対し、上記の格納と同様に、式（１２）及び式（１３）で示されるハッシュ関数を使用して、ハッシュ値ベクトルを計算する。そして、ハッシュテーブル中の同一のハッシュ値を有するサポートベクターが検索され、判別対象に類似するサポートベクターであるとして選択される。そして、ここではｌ番目のハッシュテーブルＨＴｌから選択されるサポートベクターの集合をＳＶＮｅａｒ（ｌ）とする（下記式（１４）参照。）。この検索及び選択が、各ハッシュテーブルに対して行われる。そして、下記式（１５）に示すように、各ハッシュテーブルから得られた類似するＳＶＮｅａｒ（１）〜ＳＶＮｅａｒ（Ｌ）で和集合をとることにより、判別対象に類似するサポートベクターの集合ＳＶＮｅａｒが抽出される。
【００７１】
【数８】
0005446127.tif 000009
【００７２】
つまり、ＬＳＨによれば、図８に示すように、ＳＶＮｅａｒ（１）〜ＳＶＮｅａｒ（Ｌ）が重ね合わされた領域をＳＶＮｅａｒとすることができる。従って、上述のように実際には近接しているにもかかわらず、１つのハッシュテーブルでは類似範囲に含まれないようなサポートベクターをも集合ＳＶＮｅａｒに含めることができる（図８参照。）。よって、実際の判別対象ｘからの距離を計算しなくても、判別対象ｘからの距離がＲ中に含まれるサポートベクターを適切に選択することができる。そして、ＳＶＭにおいて、下記式（１６）のように、この選択したサポートベクターで構成される判別関数ｇ’（ｘ）を用いて判別結果を算出することができるので、判別精度を維持することが可能で、かつ、大幅に計算量を低減させることができる。
【００７３】
【数９】
0005446127.tif 000010
【００７４】
なお、このＬＳＨでは、パラメータＲに基づいてパラメータＬ，ｋ，ωを適切に定めてハッシュテーブルＨＴ１〜ＨＴＬを作成すれば、少ない計算量で精度よくサポートベクターの部分集合ＳＶＮｅａｒを得ることができる。従って、パラメータＬ，ｋ，ωは、判別装置の適用先に応じて、実験などにより適切に決定されることが望ましい。
＜判別装置の構成＞
次に、上記で説明したＳＶＭ及びＬＳＨによる判別を行う本発明の一実施形態に係る判別装置の具体的な構成について、図９を参照しつつ説明する。図９は、本実施形態に係る判別装置の構成を説明するための説明図である。
【００７５】
図９に示すように、判別装置１００は、判別関数作成部１１０と、判別関数記憶部１２１と、ＳＶ記憶部１２２と、ＳＶ選択部１３０と、判別対象取得部１４１と、判別部１４２とを有する。
【００７６】
判別関数作成部１１０は、上記ＳＶＭを用いて、判別関数ｇ（ｘ）とその判別関数ｇ（ｘ）を構成するサポートベクターｘｉとを算出する。そのために、判別関数作成部１１０は、学習データ記憶部１１１と、判別関数算出部１１２とを有する。
【００７７】
学習データ記憶部１１１には、判定結果が既知の特徴情報と、その判別結果を表した判別情報とを含む学習データが複数予め記録される。一方、判別関数算出部１１２は、この学習データを取得して、上記ＳＶＭの学習機能による学習を行い、判別関数ｇ（ｘ）と、その判別関数ｇ（ｘ）を構成する複数のサポートベクターｘｉを算出する（上記式（１）及び（２）参照。）。そして、判別関数算出部１１２は、算出した判別関数ｇ（ｘ）を判別関数記憶部１２１に記録し、サポートベクターｘｉをＳＶ記憶部１２２に記録する。
【００７８】
ＳＶ選択部１３０は、選択部の一例であって、上記ＬＳＨを用いて、ハッシュテーブルＨＴ１〜ＨＴＬを作成する。また、ＳＶ選択部１３０は、判別対象の特徴情報ｘが入力されると、判別対象とサポートベクターｘｉとの間の距離に基づいて、上記ＬＳＨを用いて判別対象の特徴情報ｘに類似するサポートベクターｘｉの集合ＳＶＮｅａｒを選択する。そして、ＳＶ選択部１３０は、判別関数ｇ（ｘ）を集合ＳＶＮｅａｒ中のサポートベクターｘｉで構成される判別関数ｇ’（ｘ）に修正し、その判別関数ｇ’（ｘ）を出力する。そのために、ＳＶ選択部１３０は、ハッシュテーブル作成部１３１と、ハッシュテーブル記憶部１３２と、最近傍探索部１３３と、判別関数修正部１３４とを有する。
【００７９】
ハッシュテーブル作成部１３１は、テーブル作成部の一例であって、ＳＶ記憶部１２２から全てのサポートベクターｘｉを取得し、ＬＳＨによりサポートベクターｘｉから複数のハッシュテーブルＨＴ１〜ＨＴＬを作成する。そして、ハッシュテーブル作成部１３１は、このハッシュテーブルＨＴ１〜ＨＴＬをハッシュテーブル記憶部１３２に記録する。
【００８０】
なお、ここまでの各構成による動作は、実際に判別を行いたい判別対象が入力する前に行われる。従って、例えば、一旦ハッシュテーブルＨＴ１〜ＨＴＬを作成した後は、判別関数記憶部１２１以外の構成（判別関数作成部１１０、ＳＶ記憶部１２２、ハッシュテーブル作成部１３１）を取り除くことも可能である。
【００８１】
最近傍探索部１３３は、判別対象取得部１４１が判別対象の特徴情報ｘを取得すると、その特徴情報ｘを取得する。そして、最近傍探索部１３３は、その特徴情報ｘからハッシュ値Ｈを計算し、そのハッシュ値Ｈを使用してハッシュテーブル記憶部１３２に記憶されたハッシュテーブルＨＴ１〜ＨＴＬ中を検索する。この検索により、最近傍探索部１３３は、各ハッシュテーブルＨＴ１〜ＨＴＬから、判別対象の特徴情報ｘに類似するサポートベクターの集合ＳＶＮｅａｒ（ｌ）を複数取得する（上記式（１４）参照。）。その後、最近傍探索部１３３は、これらの集合ＳＶＮｅａｒ（ｌ）から和集合ＳＶＮｅａｒを作成し、その集合ＳＶＮｅａｒ中に含まれるサポートベクターを、判別対象に類似するサポートベクターとして選択する（上記式（１５）参照。）。そして、最近傍探索部１３３は、選択したサポートベクターを判別関数修正部１３４に出力する。
【００８２】
判別関数修正部１３４は、判別対象に類似するサポートベクターが判別関数修正部１３４から入力されると、判別関数記憶部１２１から判別関数ｇ（ｘ）を取得して、この判別関数ｇ（ｘ）を、上記式（１６）に示すような選択されたサポートベクターで構成される判別関数ｇ’（ｘ）へと修正する。そして、この修正後の判別関数ｇ’（ｘ）は、判別部１４２に出力される。
【００８３】
判別部１４２は、判別対象取得部１４１が判別対象の特徴情報ｘを取得すると、その特徴情報ｘを取得し、更に、判別関数修正部１３４から修正後の判別関数ｇ’（ｘ）を取得する。そして、判別部１４２は、判別関数ｇ’（ｘ）に、判別対象の特徴情報ｘを代入して判別結果を算出する。判別関数ｇ’（ｘ）からの出力値は、その符合（プラス／マイナス）により、その判別対象が２つの集合Ｘ１，Ｘ２のどちらに属するのかを表すことになる。そこで、判別部１４２は、この出力値の符合を参照し、その符合に対応する集合Ｘ１，Ｘ２を判別結果として出力する。
【００８４】
なお、ここでは、判別装置１００が２クラス判別を行う場合について説明してるが、上述の通り、判別装置１００は、多クラス判定を行うことも可能である。この場合、判別装置１００は、上記同様の判別関数ｇ（ｘ）をクラス間の境界毎に用意し、その複数の判別関数ｇ（ｘ）及び各判別関数ｇ（ｘ）に対応するサポートベクターｘｉを用いて、上記同様に、ＬＳＨにより複数の判別関数ｇ’（ｘ）へと修正する。そして、判別部１４２が修正後の複数の判別関数ｇ’（ｘ）に判別対象の特徴情報ｘを代入して判別結果を算出する。この際、判別部１４２は、判別対象が属する集合として、一番多くの判別関数ｇ’（ｘ）の出力値が表している集合を判別結果として出力することができる。
【００８５】
＜判別装置の動作＞
以上、本発明の一実施形態に係る判別装置１００の構成について説明した。
次に、この判別装置１００の動作について、図１０及び図１１を参照しつつ説明する。図１０は、本実施形態に係る判別装置のテーブル作成動作について説明するための説明図である。図１１は、本実施形態に係る判別装置の選択及び判別動作について説明するための説明図である。
【００８６】
（テーブル作成動作）
まず、図１０を参照しつつ、ハッシュテーブルＨＴ１〜ＨＴＬが作成されるまでの動作（テーブル作成ステップ）について説明する。図１０に示すように、まずステップＳ１０１において、ＳＶＭ学習が行われる。つまり、判別関数算出部１１２により、判別関数ｇ（ｘ）と、その判別関数ｇ（ｘ）を構成する複数のサポートベクターｘｉが算出される。そして、ステップＳ１０３が処理され、学習結果である判別関数ｇ（ｘ）が判別関数記憶部１２１に記録され、複数のサポートベクトルｘｉがＳＶ記憶部１２２に記録される。そしてステップＳ１０５に進む。
【００８７】
ステップＳ１０５では、ハッシュテーブル作成部１３１により、複数のサポートベクターｘｉがハッシュテーブルに格納され、ハッシュテーブルＨＴ１〜ＨＴＬが作成される。そして、ステップＳ１０７が処理され、複数のサポートベクターｘｉをそれぞれ格納したハッシュテーブルＨＴ１〜ＨＴＬがハッシュテーブル記憶部１３２に記録される。そして、テーブル作成動作は終了する。
【００８８】
（選択及び判別動作）
次に、図１１を参照しつつ、実際の判別対象の特徴情報ｘの判別を行う場合の動作について説明する。テーブル作成動作が終了した後に、ステップＳ２０１が処理される。このステップＳ２０１では、判別対象取得部１４１が判別対象の特徴情報ｘを取得し、その判別対象の特徴情報ｘが最近傍探索部１３３及び判別部１４２に出力される。そしてステップＳ２０３に進む。
【００８９】
ステップＳ２０３では、最近傍探索部１３３により、特徴量空間において、判別対象の特徴情報ｘの近傍に位置するサポートベクターが選択される（選択ステップ）。つまり、最近傍探索部１３３は、上述のように、ＬＳＨを用いて作成されたハッシュテーブルＨＴ１〜ＨＴＬを検索し、類似したサポートベクターｘｉの集合ＳＶＮｅａｒを作成する。そして、最近傍探索部１３３は、この集合ＳＶＮｅａｒに含まれるサポートベクターｘｉを選択し、判別関数修正部１３４に出力する。そしてステップＳ２０５に進む。
【００９０】
ステップＳ２０５では、判別関数修正部１３４により、判別関数記憶部１２１に記録された判別関数ｇ（ｘ）が、集合ＳＶＮｅａｒに含まれるサポートベクターｘｉにより構成される判別関数ｇ’（ｘ）へと修正する。そして、修正された判別関数ｇ’（ｘ）は、判別部１４２に出力される。その後ステップＳ２０７に進む。
【００９１】
ステップＳ２０７では、判別部１４２により、修正後の判別関数ｇ’（ｘ）と判別対象の特徴情報ｘとを用いた判別が行われる（判別ステップ）。つまり、判別部１４２は、判別関数ｇ’（ｘ）に判別対象の特徴情報ｘを代入して計算し、その計算結果である出力値の符合により、その判別対象がどのクラスに属するのかを判別する。そしてステップＳ２０９に進み、その判別結果が出力される。そして、ステップＳ２１１に進む。
【００９２】
ステップＳ２１１では、判別装置１００により、全ての判別対象に対する判別が終了したか否かが確認される。この確認は、例えば、判別対象取得部１４１が判別対象の特徴情報を所定の時間取得しない場合や、判別装置１００を制御する上位の制御装置からの命令に基づいて行われてもよい。そして、全ての判別対象に対する判別が終了した場合には、選択及び判別動作を終了し、判別が終了していない場合には、ステップＳ２０１以降の処理が繰り返しおこなわれる。
【００９３】
＜本実施形態による効果の例＞
以上、本発明の一実施形態に係る判別装置１００について説明した。この判別装置１００によれば、ＳＶＭを用いて判別を行う際に、判別関数ｇ（ｘ）を構成するサポートベクターｘｉを、判別対象からの距離に応じて選択し、その選択したサポートベクターｘｉで構成される判別関数ｇ’（ｘ）により判別を行うことができる。従って、一部のサポートベクターｘｉに対して判別関数を計算することにより判別結果を算出でき、判別処理に要する計算量を大幅に削減することができる。特に、ガウスカーネルを用いたＳＶＭによる判別処理は、判別精度が高いものの、計算量が多く、実際にリアルタイム処理を行う装置への適用の障害となることがあった。しかし、本実施形態に係る判別装置１００によれば、判別結果への影響が少ないサポートベクターｘｉを削減することにより、このガウスカーネルを用いたＳＶＭによる高い判別精度を可能な限り維持させつつ、単にＳＶＭにより判別を行うよりも更に高速に判別処理を実行することができる。よって、判別装置１００の適用範囲を、リアルタイム処理が要求される装置などを含む範囲にまで広げることが可能である。
【００９４】
更に、この判別装置１００は、サポートベクターｘｉを選択する際に、判別対象からの距離に応じて、判定に使用するサポートベクターｘｉを選択する。更に、この際、判別装置１００は、最近傍探索法を用いて、判定に使用するサポートベクターｘｉを選択する。従って、特徴量空間上において判別対象に近接した（つまり類似した）サポートベクターを選択することができるので、図４に示すように判別の精度を維持しつつ、計算量を更に削減することができる。
【００９５】
また更に、この判別装置１００は、最近傍探索法として、上記ＬＳＨを使用する。従って、判定に使用するサポートベクターｘｉを選択する際に、判別対象に適切に類似するサポートベクターｘｉを選択することができ、判別精度を更に維持し、かつ、計算量を大幅に削減することができる。
【００９６】
なお、例えば、多クラス判定を行う場合、判別処理で行われる判別関数は、そのクラス数をＧとすると、ＧＣ２個必要となる。そして、修正前の判別関数ｇ（ｘ）を使用する場合、サポートベクターｘｉをｎ個と仮定すると、全ガウスカーネルの個数は、約ＧＣ２×ｎ個程度にも及び、膨大な計算量が必要となる。しかしながら、本実施形態に係る判別装置によれば、このｎの数を大幅に減少させることができる。しかも、上述の通り、この際、判別精度を維持させるか、精度の低下を最小限に抑えることができる。
【００９７】
＜判別装置の適用例＞
次に、上記で詳しく説明した本発明の判別装置１００が実際に適用された例について説明する。なお、本実施形態に係る判別装置１００は、特徴情報が得られる様々な種類のデータに対して判別を行うような様々な実施の形態に構成することができる。以下では説明の便宜上、判別装置１００が表面疵検査装置に適用された場合について説明する。そして、例えば、判別装置の判別対象は、表面疵検査装置が検出した疵の候補データ（「疵候補」ともいう。）であり、疵候補が属するかどうかを判別する複数の集合は、その疵の種類（「疵種」ともいう。）であるとして説明する。
【００９８】
しかしながら、表面疵検査装置は、判別装置１００が適用された装置の一例であって、判別装置１００の適用先を限定するものではない。判別装置１００は、例えば、製品を製造する製造プラントの製造装置の故障状態を判別する装置、製造された製品の分類をする装置、製造された製品に発生した不良状態を判別する装置などにも適用することができる。つまり、判別装置１００は、所定の測定装置により各種の状態を測定することが可能で、その測定により得られた測定データ（特徴情報）に応じて複数種類に分類される様々な判別対象を判別する装置に適用することができる。この判別装置１００は、特に製品を製造する製造プラントで製造された製品の不良状態を判別する装置に適用される場合、非常に効果的である。更に、判別装置１００は、測定数値に対するものだけでなく、例えば、ＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅａｄｅｒ）などの文字認識、音声認識、指紋・網膜・顔等の識別など、パターン認識を行う様々な個所に適用することができる。
【００９９】
図１２は、本実施形態に係る判別装置の適用例である表面疵検査装置の構成の概要について説明するための説明図である。図１３は、本実施形態に係る判別装置の適用例である表面疵検査装置の動作の概要について説明するための説明図である。
【０１００】
図１２に示すように、表面疵検査装置１は、光源装置１１と、撮像装置１２と、画像処理装置１３と、判別装置１４と、判別結果記憶装置１５と、表示装置１６と、制御装置１７とを有する。
【０１０１】
表面疵検査装置１は、鋼板製造プラント（製造プラントの一例）内に配置され、このプラントで製造される鋼板３の表面に、例えば凹凸欠陥・スクラッチ・デントなどの疵が形成されていないか否かを検査する。そのために表面疵検査装置１は、図１２に示すように、ロール２上を通板される鋼板３に光源装置１１から光を照射する。この光は、例えば平行光であってもよい。そして、表面疵検査装置１は、鋼板３で反射した反射光を撮像装置１２により撮像する。撮像画像には、光が照射された鋼板３の表面の幅方向にわたる領域４にある疵からの反射光が含まれる。この反射光は、撮像画像中の輝度（強度、階調）の濃淡として撮像される。
【０１０２】
画像処理装置１３は、撮像装置１２が撮像した撮像画像を画像処理して解析し、撮像画像内の輝度の濃淡の分布から疵候補の領域（つまり、疵を表すと推定される領域）をラベリングにより抽出する。この際、各疵候補には、ラベル（識別情報）が付される。そして、画像処理装置１３は、画像内でこの疵候補を表した領域について、その形状や輝度等の特徴からなる特徴情報を算出する。この特徴情報には、１又は２以上の種類の特徴を表す値が含まれ、この例の場合、この各値が上記の特徴量である。この特徴量としては、例えば、その疵の高さ・深さ・幅・長さ・面積・輝度分布・色分布・形成位置などが挙げられる。そして、画像処理装置１３は、この疵候補のラベルとその特徴情報とを対応付けた疵候補データ（つまり判別対象）を判別装置１４に出力する。
【０１０３】
判別装置１４は、本実施形態に係る判別装置１００の一例であって、画像処理装置１３から疵候補のラベルと特徴情報とからなる疵候補データを取得する。そして、判別装置１４は、上記で説明した判別ロジックに従って、疵候補の疵種を判別する。判別装置１４は、判別の結果として判別結果を出力する。この判別結果には、例えば、２クラス判定の場合、その疵候補が有害な疵の集合（Ｘ１）に属するのか、又は、無害な疵の集合（Ｘ２）であるのかという情報が含まれてもよい。また、多クラス判定の場合、判定結果には、例えば、無害な疵であれば、更にどのような疵種に属するのかという情報が含まれてもよい。
【０１０４】
判別装置１４が判別する疵種としては、例えば、擦り疵・欠き疵等の有害な疵種（製品品質に対して与える影響が大きく許容できない疵）、及びそれらの有害度合（深刻度合・グレードなど）、並びに無害な疵（許容しうる疵や単なるノイズなど）の判別を行うが、本実施形態において疵種とは、これらの疵の種類及びその程度の区分を総称して疵種と記す。
【０１０５】
そして、判別装置１４は、入力値である疵のラベル・特徴情報と判別結果とを、判別結果記憶装置１５及び表示装置１６に出力する。判別結果記憶装置１５には、ラベル・特徴情報・判別結果が相互に紐付けられて記録される。表示装置１６は、ラベル・特徴情報・判別結果を表示して、例えば、疵が検出されたこと・疵が有害であるのか無害であるのか・有害である場合どの疵種に属する疵であるのか・その有害度合などといった情報をユーザに通知する。なお、光源装置１１・撮像装置１２・画像処理装置１３・判別装置１４・判別結果記憶装置１５・表示装置１６は、制御装置１７により制御され、上記それぞれの動作を行う。
【０１０６】
この表面疵検査装置１の動作の概要について、図１３を参照しつつ説明する。
まず、ステップＳ０１が処理され、光源装置１１から光が照射され、撮像装置１２が鋼板３の照射部を撮像して、輝度分布（又は色分布）を有する撮像画像を出力する。次に、ステップＳ０３に進む。
【０１０７】
ステップＳ０３では、画像処理装置１３が、当該撮像画像内の輝度分布から疵部の可能性がある領域を疵候補を抽出する。そして、ステップＳ０５に進み、このステップＳ０５では、画像処理装置１３が、疵候補を表した画像内の領域について、その疵領域の高さ・深さ・幅・長さ・面積・輝度分布・色分布・形成位置などの疵の特徴情報を算出し、ステップＳ０７に進む。
【０１０８】
ステップＳ０７では、判別装置１４が、特徴情報から疵種を判別して、判別結果を算出する。そして、ステップＳ０９に進み、表示装置１６がラベル・特徴情報・判別結果などを表示すると共に、判別結果は、判別結果記憶装置１５に記録される。なお、表示装置１６は、例えば判別結果を表した判別関数ｇ’（ｘ）の出力値やその符合を表示させてもよい。そして更にステップＳ０１１に進む。
【０１０９】
そして、ステップＳ１１では、制御装置１７が製造ラインが停止したか否かを判断する。製造ラインが停止した場合、手動又は製造ラインを制御するプロセスコンピュータからの指令等により表面疵検査装置１は動作を停止する。一方、製造ラインが停止していない場合、表面疵検査装置１は上記ステップＳ０１〜ステップＳ０９を再度繰り返し処理する。
【０１１０】
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されないことは言うまでもない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても当然に本発明の技術的範囲に属するものと了解される。
【０１１１】
例えば、上記実施形態では、判別対象とサポートベクターとの間の特徴量空間上の距離に基づいて、サポートベクターを削減する場合について説明した。なお、サポートベクターを削減して計算量を低減して判別を高速化する方法が、例えば上記非特許文献４などに開示されており、上記実施形態に係る判別装置は、最近傍探索法によるサポートベクターの削減と共に、更にこれらの削減方法を使用してもよい。このような最近傍探索法以外のサポートベクターの削減方法としては、例えば、学習された判別関数を回帰によって近似する方法や、単純にサポートベクトルを間引く方法などが挙げられる。例えば、最近傍探索法によるサポートベクターの削減を行う前や行った後に、近接し合うサポートベクターの幾つかを更に単純に間引くことも可能であり、回帰による近似関数を算出して判定に使用することも可能である。このように他のサポートベクターの削減方法を組み合わせることにより、更に計算量を低減させることが可能である。
【０１１２】
また、例えば、上記各実施形態で説明した一連の処理は、専用のハードウエアにより実行させてもよいが、ソフトウエアにより実行させてもよい。一連の処理をソフトウエアにより行う場合、図１４に示すような汎用又は専用のコンピュータにプログラムを実行させることにより、上記の一連の処理を実現することができる。
【０１１３】
図１４は、プログラムを実行することにより一連の処理を実現するコンピュータの構成例を説明するための説明図である。一連の処理を行うプログラムのコンピュータによる実行について説明すれば、以下のようになる。
【０１１４】
図１４に示すように、コンピュータは、例えば、バス２０１及び入出力インターフェイス２０６等を介して接続された、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０２と、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）２０３・ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０４・ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０５等の記録装置と、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）・インターネット等のネットワーク２０８に接続された通信装置２０７と、マウス・キーボード（図示せず）等の入力装置２０９と、フレキシブルディスク、各種のＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）・ＭＯ（Ｍａｇｎｅｔｏ  Ｏｐｔｉｃａｌ）ディスク・ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）等の光ディスク、磁気ディスク、半導体メモリ等のリムーバブル記録媒体２１１等を読み書きするドライブ２１０と、モニタなどの表示装置１６・スピーカやヘッドホンなどの音声出力装置２１２などの出力装置等を有する。
【０１１５】
そして、ＣＰＵ２０２が、記録装置に記録されたプログラム、ネットワーク２０８を介して受信したプログラム、またはリムーバブル記録媒体２１１から読み出したプログラム等に従って、各種の処理を実行することにより、上記の一連の処理が、実現される。この際、ＣＰＵ２０２は、必要に応じて入力装置２０９から入力する情報や信号に基づいて各種の処理を行ってもよい。そして、この処理結果は、必要に応じて上記の記録装置やリムーバブル記録媒体２１１等に記録されてもよく、出力装置に出力されてもよく、ネットワーク２０８に送信されてもよい。
【０１１６】
尚、本明細書において、フローチャートに記述されたステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的に又は個別的に実行される処理をも含む。また時系列的に処理されるステップでも、場合によっては適宜順序を変更することが可能であることは言うまでもない。
【図面の簡単な説明】
【０１１７】
【図１】本発明の一実施形態で使用するＳＶＭについて説明するための説明図である。
【図２】同実施形態で使用するＳＶＭについて説明するための説明図である。
【図３】同実施形態で使用するガウスカーネルの変化について説明するための説明図である。
【図４】同実施形態においてサポートベクターを減少させた場合の判定処理について概念的に説明するための説明図である。
【図５】同実施形態で使用するＬＳＨによるハッシュテーブルについて説明するための説明図である。
【図６】同実施形態で使用するＬＳＨについて説明するための説明図である。
【図７】同実施形態で使用するＬＳＨについて説明するための説明図である。
【図８】同実施形態で使用するＬＳＨについて説明するための説明図である。
【図９】同実施形態に係る判別装置の構成を説明するための説明図である。
【図１０】同実施形態に係る判別装置のテーブル作成動作について説明するための説明図である。
【図１１】同実施形態に係る判別装置の選択及び判別動作について説明するための説明図である。
【図１２】同実施形態に係る判別装置の適用例である表面疵検査装置の構成の概要について説明するための説明図である。
【図１３】同実施形態に係る判別装置の適用例である表面疵検査装置の動作の概要について説明するための説明図である。
【図１４】プログラムを実行することにより一連の処理を実現するコンピュータの構成例を説明するための説明図である。
【符号の説明】
【０１１８】
１        表面疵検査装置
２        ロール
３        鋼板
４        領域
１１      光源装置
１２      撮像装置
１４，１００    判別装置
１３      画像処理装置
１５      判別結果記憶装置
１６      表示装置
１７      制御装置
１１０    判別関数作成部
１１１    学習データ記憶部
１１２    判別関数算出部
１２１    判別関数記憶部
１２２    ＳＶ記憶部
１３０    ＳＶ選択部
１３１    ハッシュテーブル作成部
１３２    ハッシュテーブル記憶部
１３３    最近傍探索部
１３４    判別関数修正部
１４１    判別対象取得部
１４２    判別部
【図１】
0005446127.tif 000011
【図２】
0005446127.tif 000012
【図３】
0005446127.tif 000013
【図４】
0005446127.tif 000014
【図５】
0005446127.tif 000015
【図６】
0005446127.tif 000016
【図７】
0005446127.tif 000017
【図８】
0005446127.tif 000018
【図９】
0005446127.tif 000019
【図１０】
0005446127.tif 000020
【図１１】
0005446127.tif 000021
【図１２】
0005446127.tif 000022
【図１３】
0005446127.tif 000023
【図１４】
0005446127.tif 000024