(57)【特許請求の範囲】
【請求項１】
入力されたデータに対する特定のカテゴリらしさを表す値を、所定のパラメータに基づいて計算し、計算した結果に基づいて、前記入力されたデータが前記特定のカテゴリに属するデータであるか否かを識別する識別器を作成する識別器作成装置であって、
前記特定のカテゴリに属することが既知のデータである複数の学習用特定カテゴリデータの分布からの距離が大きいデータの前記学習用特定カテゴリデータの分布に対する乖離度を大きくするとともに、前記特定のカテゴリに属さないことが既知のデータである少なくとも１つの学習用非特定カテゴリデータの前記学習用特定カテゴリデータの分布に対する乖離度を大きくするように、前記パラメータを決定する決定手段を有することを特徴とする識別器作成装置。
【請求項２】
前記決定手段は、前記複数の学習用特定カテゴリデータの分布から乖離している前記学習用特定カテゴリデータであるほど、当該学習用特定カテゴリデータに対する前記特定のカテゴリらしさを表す値を、前記特定のカテゴリらしくないことを示す値にするとともに、前記学習用非特定カテゴリデータに対する前記特定のカテゴリらしさを表す値を、前記学習用特定カテゴリデータに対する前記特定のカテゴリらしさを表す値よりも前記特定のカテゴリらしくないことを示す値にする計算を行った結果に基づいて、前記パラメータを決定することを特徴とする請求項１に記載の識別器作成装置。
【請求項３】
前記決定手段は、前記複数の学習用特定カテゴリデータの分布から乖離している前記学習用特定カテゴリデータであるほど、当該学習用特定カテゴリデータに対する前記特定のカテゴリらしさを表す値を、前記特定のカテゴリらしくないことを示す値にすることを計算する特定カテゴリ学習項と、前記学習用非特定カテゴリデータに対する前記特定のカテゴリらしさを表す値を、前記学習用特定カテゴリデータに対する前記特定のカテゴリらしさを表す値よりも前記特定のカテゴリらしくないことを示す値にすることを計算する非特定カテゴリ学習項と、を用いた計算の結果に基づいて、前記パラメータを決定することを特徴とする請求項１または２に記載の識別器作成装置。
【請求項４】
前記特定カテゴリ学習項と前記非特定カテゴリ学習項の少なくとも１つは、前記特定のカテゴリらしさを表す値を計算するための、前記パラメータを含む計算式を含む項であり、
前記決定手段は、前記特定カテゴリ学習項と前記非特定カテゴリ学習項とを含む目的関数であって、前記特定のカテゴリらしさを表す値を最大化または最小化することを目的とする目的関数の値を最大化または最小化する前記パラメータを決定することを特徴とする請求項３に記載の識別器作成装置。
【請求項５】
前記決定手段は、前記パラメータを初期化する初期化手段と、
前記複数の学習用特定カテゴリデータと、前記少なくとも１つの学習用非特定カテゴリデータとを用いて、前記初期化手段により初期化された前記パラメータを修正する修正手段と、をさらに有し、
前記修正手段は、前記複数の学習用特定カテゴリデータの分布から乖離している前記学習用特定カテゴリデータであるほど、当該学習用特定カテゴリデータに対する前記特定のカテゴリらしさを表す値が、前記特定のカテゴリらしくないことを示す値になるとともに、前記学習用非特定カテゴリデータに対する前記特定のカテゴリらしさを表す値が、前記学習用特定カテゴリデータに対する前記特定のカテゴリらしさを表す値よりも前記特定のカテゴリらしくないことを示す値になるように、前記初期化手段により初期化された前記パラメータを修正することを特徴とする請求項１に記載の識別器作成装置。
【請求項６】
前記特定のカテゴリらしさを表す値を計算するための、前記パラメータを含む計算式は、当該値を計算する対象となるデータと前記学習用特定カテゴリデータとの差を含む計算式であり、
前記決定手段は、前記学習用非特定カテゴリデータと前記学習用特定カテゴリデータとの差に応じて、前記パラメータを決定することを特徴とする請求項１に記載の識別器作成装置。
【請求項７】
前記学習用特定カテゴリデータが、前記複数の学習用特定カテゴリデータの分布から乖離するように、前記パラメータが変更されることによって、前記学習用非特定カテゴリデータが、前記複数の学習用特定カテゴリデータの分布から乖離することを特徴とする請求項１〜６の何れか１項に記載の識別器作成装置。
【請求項８】
前記複数の学習用特定カテゴリデータを複数のセットに分割する分割手段と、
前記複数のセットのうち少なくとも１つを除いたセットであるサブセットと、前記学習用非特定カテゴリデータと、前記パラメータを決定する際に使用されるハイパーパラメータの候補と、に基づいて、前記ハイパーパラメータを導出する導出手段と、をさらに有し、
前記導出手段は、前記サブセットと、前記学習用非特定カテゴリデータと、前記ハイパーパラメータの候補とに基づいて、前記決定手段により前記パラメータを決定する方法と同じ方法を用いて、前記パラメータを決定し、決定した結果を、前記複数のセットのうち前記サブセットと異なるセットと、前記学習用非特定カテゴリデータとに基づいて評価し、評価した結果に基づいて、前記ハイパーパラメータを導出することを特徴とする請求項１〜７の何れか１項に記載の識別器作成装置。
【請求項９】
請求項１〜８の何れか１項に記載の識別器作成装置により決定されたパラメータを用いて、入力されたデータに対する特定のカテゴリらしさを表す値を計算する計算手段と、
前記計算手段により計算された値に基づいて、前記入力されたデータが前記特定のカテゴリに属するデータであるか否かを識別する識別手段と、を有することを特徴とする識別器。
【請求項１０】
入力されたデータに対する特定のカテゴリらしさを表す値を、所定のパラメータに基づいて計算し、計算した結果に基づいて、前記入力されたデータが前記特定のカテゴリに属するデータであるか否かを識別する識別器を作成する識別器作成装置による識別器作成方法であって、
前記識別器作成装置が有する決定手段が、前記特定のカテゴリに属することが既知のデータである複数の学習用特定カテゴリデータの分布からの距離が大きいデータの前記学習用特定カテゴリデータの分布に対する乖離度を大きくするとともに、前記特定のカテゴリに属さないことが既知のデータである少なくとも１つの学習用非特定カテゴリデータの前記学習用特定カテゴリデータの分布に対する乖離度を大きくするように、前記パラメータを決定する決定工程を有することを特徴とする識別器作成方法。
【請求項１１】
請求項１〜８の何れか１項に記載の識別器作成装置の各手段としてコンピュータを機能させることを特徴とするプログラム。
【請求項１２】
前記識別器は、Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅであることを特徴とする請求項１〜８の何れか１項に記載の識別器作成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、識別器作成装置、識別器作成方法、およびプログラムに関し、特に、入力されたデータが特定カテゴリに属するか否かを識別するために用いて好適なものである。
【背景技術】
【０００２】
識別器に入力されたパターン（データ）が、特定のカテゴリのパターンであるか否かを識別する方法として、様々な方法が提案されている。このような方法は、例えば、多数のデータ内から、特定のカテゴリのパターン（特定カテゴリパターン）を検出したり、逆に、特定のカテゴリとは異なるパターン（非特定カテゴリパターン）を検出したりするような用途に用いることができる。
【０００３】
特定のカテゴリのパターンであるか否かを識別する一般的な方法としては、Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅ（ＳＶＭ）に代表される、いわゆる２クラス識別器を用いる方法がある。これは、多数の特定カテゴリパターン、および、多数の非特定カテゴリパターンを用いて、特定カテゴリパターンと非特定カテゴリパターンとを分離するように識別器を学習し、その識別器を用いて、識別器に入力されたパターンを識別する方法である。しかし、この方法では、識別器の学習に用いる非特定カテゴリパターンが少ないと、識別器の学習に用いていない非特定カテゴリパターンを、特定カテゴリパターンであると誤判定しやすいように識別器が学習されてしまう場合がある。例えば、監視カメラで撮影された画像に基づいて、異常な事態を検出するような用途において、正常な範囲を特定のカテゴリとし、何らかの異常な事態を非特定のカテゴリとする。この場合、識別器の学習に用いる異常な事態のパターン数が少ないと、このような状況が発生してしまう可能性が高くなる。つまり、学習に用いていない異常な事態を、正常と判定してしまうように、識別器が学習されてしまう場合がある。
【０００４】
一方、１クラスＳＶＭに代表される、いわゆる１クラス識別器を用いた方法も存在する。この方法は、多数の特定カテゴリパターンを用いて、特定カテゴリパターンの範囲をモデル化するように識別器を学習し、その識別器を用いて、識別器に入力されたパターンを識別する方法である。しかし、この方法では、非特定カテゴリパターンを学習に用いることができない。そのため、特定のカテゴリと類似しているが、特定のカテゴリではないと判定すべきであることが既知のパターンに対する検出感度を高める（当該パターンを非特定カテゴリパターンであることを高い確率で判定する）ように学習することができない。例えば、監視カメラで撮影された画像に基づいて、異常な事態を検出するような用途においては、予め分かっている、正常の範囲に近いが、異常な事態と判定すべきパターンに対する検出感度を高めるように識別器を学習することができないことになる。したがって、そのような異常な事態を見逃す可能性が高くなる。
【０００５】
これに対し、特許文献１には、正常行動モデルと異常行動モデルとをそれぞれ学習しておき、各モデルに対する類似度を統合して、異常な行動を検出する方法が開示されている。
【０００６】
また、非特許文献１に記載には、Ａｓｙｍｍｅｔｒｉｃ  ＳＶＭについて開示されている。Ａｓｙｍｍｅｔｒｉｃ  ＳＶＭは、ＳＶＭと１クラスＳＶＭとを統合した手法である。この手法は、特定カテゴリパターンと非特定カテゴリパターンとのマージンと、学習に用いているパターンと類似していないパターンを代表する、特徴空間における原点と特定カテゴリパターンとのマージンとを同時に最大化する手法である。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特許第４３６９９６１号公報
【特許文献２】特開２００６−０７９２７２号公報
【非特許文献】
【０００８】
【非特許文献１】Ｗｕ，Ｓ．−Ｈ．，Ｋ．−Ｐ．Ｌｉｎ，Ｈ．−Ｈ．Ｃｈｉｅｎ，Ｃ．−Ｍ．Ｃｈｅｎ  ａｎｄ  Ｍ．−Ｓ．Ｃｈｅｎ，"Ｏｎ  Ｇｅｎｅｒａｌｉｚａｂｌｅ  Ｌｏｗ  Ｆａｌｓｅ−Ｐｏｓｉｔｉｖｅ  Ｌｅａｒｎｉｎｇ  Ｕｓｉｎｇ  Ａｓｙｍｍｅｔｒｉｃ  Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅｓ"，ＩＥＥＥ  Ｔｒａｎｓ．ｏｎ  Ｋｎｏｗｌｅｄｇｅ  ａｎｄ  Ｄａｔａ  Ｅｎｇｉｎｅｅｒｉｎｇ，Ｖｏｌ．２５，Ｎｏ．５，ｐｐ．１０８３−１０９６，２０１３
【非特許文献２】Ｄａｌａｌ，Ｎ．，Ｂ．Ｔｒｉｇｇｓ  ａｎｄ  Ｃ．Ｓｃｈｍｉｄ，"Ｈｕｍａｎ  Ｄｅｔｅｃｔｉｏｎ  ｕｓｉｎｇ  Ｏｒｉｅｎｔｅｄ  Ｈｉｓｔｏｇｒａｍｓ  ｏｆ  Ｆｌｏｗ  ａｎｄ  Ａｐｐｅａｒａｎｃｅ"，ＩＥＥＥ  Ｅｕｒｏｐｅａｎ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ，Ｖｏｌ．２，ｐｐ．４２８−４４１，２００６
【非特許文献３】杉山将、"密度比に基づく機械学習の新たなアプローチ"、統計数理、Ｖｏｌ．５８、Ｎｏ．２、ｐｐ．１４１−１５５、２０１０
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献１に記載の技術では、異常行動モデルを学習する際に、異常行動のデータが十分に存在している必要がある。したがって、異常行動のデータは少ない場合には、適切な異常行動モデルを生成することは容易ではない。
【００１０】
また、非特許文献１に記載の技術では、予め分かっている特定パターンに対する検出感度は担保される。しかしながら、既知の非特定カテゴリパターンに対する検出感度を高めようとすると、未知の非特定カテゴリパターンに対する検出感度が低くなる。すなわち、既知の非特定カテゴリパターンを非特定カテゴリパターンとして見逃しなく検出しようとすると、未知の非特定カテゴリパターンを特定カテゴリパターンであると判定し易くなる。したがって、異常なデータを正常なデータであると判定し易くなる。よって、異常なデータの見逃しを避けることが求められる用途には適さない。
【００１１】
本発明は、このような問題点に鑑みてなされたものであり、学習に用いる非特定カテゴリに属するデータの数が少なくても、識別器に入力される未知の非特定カテゴリに属するデータを識別できるようにすることを目的とする。
【課題を解決するための手段】
【００１２】
本発明の識別器作成装置は、入力されたデータに対する特定のカテゴリらしさを表す値を、所定のパラメータに基づいて計算し、計算した結果に基づいて、前記入力されたデータが前記特定のカテゴリに属するデータであるか否かを識別する識別器を作成する識別器作成装置であって、前記特定のカテゴリに属することが既知のデータである複数の学習用特定カテゴリデータの分布からの距離が大きいデータの前記学習用特定カテゴリデータの分布に対する乖離度を大きくするとともに、前記特定のカテゴリに属さないことが既知のデータである少なくとも１つの学習用非特定カテゴリデータの前記学習用特定カテゴリデータの分布に対する乖離度を大きくするように、前記パラメータを決定する決定手段を有することを特徴とする。
【発明の効果】
【００１３】
本発明によれば、学習に用いる非特定カテゴリに属するデータの数が少なくても、識別器に入力される未知の非特定カテゴリに属するデータを識別することができる。
【図面の簡単な説明】
【００１４】
【図１】識別器作成装置の構成の第１の例を示す図である。
【図２】識別器作成装置による処理の第１の例を説明するフローチャートである。
【図３】識別器の構成の第１の例を示す図である。
【図４】識別器による処理の第１の例を説明するフローチャートである。
【図５】識別器作成装置および識別器のハードウェア構成を示す図である。
【図６】パラメータ設定装置の構成を示す図である。
【図７】パラメータ設定装置による処理を説明するフローチャートである。
【図８】識別器作成装置の構成の第２の例を示す図である。
【図９】識別器作成装置による処理の第２の例を説明するフローチャートである。
【図１０】識別器の構成の第２の例を示す図である。
【図１１】識別器による処理の第２の例を説明するフローチャートである。
【図１２】処理対象となるパターンを示す図である。
【図１３】識別器作成装置の構成の第３の例を示す図である。
【図１４】識別器作成装置による処理の第３の例を説明するフローチャートである。
【図１５】識別器作成装置の構成の第４の例を示す図である。
【図１６】識別器作成装置による処理の第４の例を説明するフローチャートである。
【図１７】識別器の構成の第３の例を示す図である。
【図１８】識別器による処理の第３の例を説明するフローチャートである。
【発明を実施するための形態】
【００１５】
以下、添付図面を参照しながら、本発明の実施形態を説明する。
（第１の実施形態）
まず、第１の実施形態を説明する。本実施形態では、監視カメラで撮影された動画像に基づいて、監視エリア内の異常を検出するためのパターン識別器の学習を行う方法を例に挙げて説明する。本実施形態では、異常が発生していない状況、つまり、正常な状況を、特定カテゴリとし、何らかの異常が発生している状況を、非特定カテゴリと定義する。また、本実施形態では、特定カテゴリのデータ、つまり、正常な状況を撮影した監視カメラの動画像を、必要に応じて正常データと記載する。また、非特定カテゴリのデータ、つまり、何らかの異常が発生している状況を撮影した監視カメラの動画像を、必要に応じて異常データと記載する。本実施形態では、入力されたデータが、正常であるか否かを判定する識別器を、予め得られている、多数の正常データと、少なくとも１つの異常データとを用いて学習する方法を示す。
【００１６】
図１は、識別器作成装置１００の機能的な構成の一例を示す図である。また、図２は、識別器作成装置１００による処理の一例を説明するフローチャートである。以下、図１および図２を参照しながら、本実施形態の識別器学習方法の一例を説明する。
【００１７】
ステップＳ２０１において、学習データ入力部１０１は、多数の学習データを入力する。学習データは、識別器の学習に用いられる。本実施形態では、多数の学習データとして、多数の正常データと、少なくとも１つの異常データとを用いる。学習データ入力部１０１は、Ｎ（Ｎは２以上の整数）個の正常データと、Ｍ（Ｍは１以上の整数）個の異常データを、それぞれ学習データとして入力し、学習データ保持部１０２に記録する。尚、このように学習データは、特定カテゴリおよび非特定カテゴリの何れのデータであるか（すなわち、正常であるか異常であるか）が既知のデータである。また、本実施形態では、例えば、正常データが学習用特定カテゴリデータの一例であり、異常データが学習用非特定カテゴリデータの一例である。
【００１８】
次に、ステップＳ２０２において、特徴抽出部１０３は、ステップＳ２０１で学習データ保持部１０２に記録された学習データのそれぞれから、特徴データ（特徴量）を抽出する。本実施形態では、データとして動画像を用いる。このため、本実施形態では、特徴抽出部１０３は、動画像を対象とした特徴データとして、例えば、特許文献２に記載の立体高次局所自己相関特徴（ＣＨＬＡＣ）を抽出する。これにより、１つの学習データから、２５１次元の特徴ベクトルが抽出される。特徴抽出部１０３は、学習データのそれぞれから抽出した２５１次元の特徴ベクトルを、抽出元の学習データと相互に関連づけて学習パターン保持部１０４に記録する。以下の本実施形態の説明では、正常データから抽出され学習パターン保持部１０４に記録された特徴ベクトルを、必要に応じて正常パターンと記載する。また、異常データから抽出され学習パターン保持部１０４に記録された特徴ベクトルを、必要に応じて異常パターンと記載する。本実施形態では、正常パターンとして、Ｎ個の２５１次元の特徴ベクトルが、異常パターンとして、Ｍ個の２５１次元の特徴ベクトルが、それぞれ学習パターン保持部１０４に記録される。尚、ここでは、ＣＨＬＡＣを特徴データとして抽出する場合を例に挙げて説明した。しかしながら、例えば、非特許文献２に記載の、Ｍｏｔｉｏｎ  Ｂｏｕｎｄａｒｙ  Ｈｉｓｔｏｇｒａｍ（ＭＢＨ）特徴等を特徴データとして抽出しても構わない。
【００１９】
続いて、ステップＳ２０３において、パラメータ初期化部１０５は、Ｎ個の係数｛αi｝（ｉ＝１、２、・・・、Ｎ）を初期化する。この係数｛αi｝は、学習対象の識別器が、識別器に入力されたデータに対する特定カテゴリらしさの度合いを数値で表す正常度を導出する計算式に含まれるパラメータである、この係数｛αi｝の詳細については、後述する。パラメータ初期化部１０５は、以下の２つの条件に従うように、無作為に、Ｎ個のパラメータを初期化する。
条件１：０≦αi≦１／（νＮ）
条件２：Σ［ｉ＝１〜Ｎ］αi＝１
【００２０】
ここで、条件１のνは、正常パターンの内、どの程度の割合のパターンが、正常パターン群の境界付近にあるようにするのかを設定するパラメータである。従って、このパラメータνの範囲は、０＜ν≦１である。例えば、パラメータ初期化部１０５は、ν＝０．１等に予め設定する。また、Σ［ｉ＝１〜Ｎ］は、ｉ＝１から、１ずつ順に、ｉ＝Ｎまでの
総和をとることを意味する。パラメータ初期化部１０５は、初期化したＮ個の係数｛αi｝を、識別器パラメータ１０６として記録する。
【００２１】
次に、ステップＳ２０４において、特定カテゴリ目的関数設定部１０７は、特定カテゴリ、つまり、正常パターンに関する目的関数Ｊp（θ）を設定する。ここでのθは、最適化すべき所定のパラメータを意味する。本実施形態の場合、このθは係数｛αi｝となる。そこで、本実施形態では、特定カテゴリ目的関数設定部１０７は、以下の（１）式の目的関数Ｊp（｛αi｝）を設定する。
【００２２】
【数１】
0006708385.tif 000002
【００２３】
ここで、ｘi、ｘnは、それぞれ、ｉ番目、ｎ番目の正常パターンである。本実施形態では、正常パターンは、正常データから抽出された２５１次元の特徴ベクトルのデータである。また、ｋ（ｘi、ｘn）は、カーネル関数であり、本実施形態では、以下の（２）式のカーネル関数を用いる。
【００２４】
【数２】
0006708385.tif 000003
【００２５】
本実施形態では、カーネル関数として、（２）式に示すような、いわゆるガウスカーネルを用いるが、カーネル関数は、これに限定されない。すなわち、ｘiとｘnが類似していない場合に、ｋ（ｘi、ｘn）が０（ゼロ）に近づくような関数であれば、その他の関数でも構わない。また、本実施形態では、カーネル関数のパラメータσは、予め設定されるものとする。
【００２６】
（１）式に示した目的関数Ｊp（θ）は、前述の１クラスＳＶＭの目的関数と一致する。この目的関数Ｊp（θ）を最大化するパラメータ、すなわち係数｛αi｝を求めることが、１クラスＳＶＭの学習処理である。しかし、１クラスＳＶＭの学習では、非特定カテゴリのデータを学習に用いることができず、目的関数Ｊp（θ）の最大化だけでは、非特定カテゴリであることが既知である学習データ（本実施形態では、異常データ）に対する感度を高めることができない。つまり、既に異常だとわかっている異常パターンを、正常ではないと判定するように、識別器のパラメータ、すなわち係数｛αi｝を調整することができない。そこで、本実施形態では、この目的関数Ｊp（θ）に、既知の異常データに対する正常度を小さくするペナルティ項を追加する。このようにすることにより、非特定カテゴリであると既知である学習データ（本実施形態では、異常データ）に対する感度を上げる。
【００２７】
この目的を達成するため、ステップＳ２０５において、非特定カテゴリ目的関数設定部１０８は、非特定カテゴリ、つまり、異常パターンに関する目的関数Ｊn（｛αi｝）を設定する。この目的関数Ｊn（｛αi｝）は、学習に用いる非特定カテゴリのパターン（すなわち、異常パターン）が、特定カテゴリ（本実施形態では、正常）であるとは判定されにくくなるようにするためのものである。以下、この目的関数Ｊn（｛αi｝）について、詳細に説明する。
【００２８】
前述の１クラスＳＶＭでは、（１）式に示した目的関数Ｊp（｛αi｝）を最大化する係数｛αi｝を用いて、新たな入力データｘに対する、以下の（３）式の値を導出する。この値が、０（ゼロ）以上であれば、入力データｘは、特定カテゴリに属するデータであり、そうでなければ、入力データｘは、特定カテゴリに属さないデータであると判定される。
【００２９】
【数３】
0006708385.tif 000004
【００３０】
ここで、（３）式中の、ρは閾値であり、任意の入力データｘに対して一定である。従って、閾値ρを無視した、以下の（４）式のｆ（ｘ）は、新たな入力データｘに対する特定カテゴリ度、つまり、このｆ（ｘ）の値が大きい程、新たな入力データｘが特定カテゴリのデータである度合いが高いことを表す。
【００３１】
【数４】
0006708385.tif 000005
【００３２】
そこで、非特定カテゴリ目的関数設定部１０８は、学習に用いる非特定カテゴリのパターン、すなわち、学習に用いる異常パターンに対して、（４）式の値を下げるような目的関数を設定する。具体的に本実施形態では、非特定カテゴリ目的関数設定部１０８は、以下（５）式に示す目的関数Ｊn（｛αi｝）を、異常パターンに関する目的関数として設定する。
【００３３】
【数５】
0006708385.tif 000006
【００３４】
ここで、ｘ'mは、ｍ番目の異常パターンである。本実施形態では、異常パターンは、異常データから抽出された２５１次元の特徴ベクトルのデータである。（５）式より、αi≧０であり、（２）式より、ｋ（ｘi、ｘ'm）＞０であるので、この目的関数Ｊn（｛αi｝）の値を大きくすることにより、異常パターンに対する（４）式の値の２乗平均を下げることになる。
【００３５】
本実施形態では、ステップＳ２０６、Ｓ２０７の処理において、パラメータ修正部１０９は、（１）式の目的関数Ｊp（｛αi｝）と、（５）式の目的関数Ｊn（｛αi｝）とを用いて、所定のパラメータ（本実施形態では、係数｛αi｝）の最適化を行う。具体的にパラメータ修正部１０９は、以下の（６）式に示す目的関数Ｊ（｛αi｝）を最大化することにより、ステップＳ２０３で初期化されたパラメータ｛αi｝の最適化を行う。
【００３６】
【数６】
0006708385.tif 000007
【００３７】
ここで、λは、各目的関数Ｊp（｛αi｝）、Ｊn（｛αi｝）の効果のバランスを調整するための正のパラメータである。パラメータ修正部１０９は、例えば、λ＝Ｎ／Ｍとなるようにパラメータλを予め設定する。この目的関数Ｊ（｛αi｝）の最大化により、係数｛αi｝を最適化することで、（６）式の第１項による効果と、（６）式の第２項による効果とを、合わせ持つ係数｛αi｝を得ることができる。（６）式の第１項による効果は、特定カテゴリのパターン（本実施形態では正常パターン）については（４）式の値が大きくなるとともに、特定カテゴリのパターンから乖離したパターンについては乖離度に応じて（４）式の値が小さくなるという効果である。また、（６）式の第２項による効果は、学習に用いる非特定カテゴリのパターン（本実施形態では異常パターン）について、（４）式の値が小さくなるという効果である。そのため、１クラスＳＶＭ等と同様に、特定カテゴリのパターンの分布から外れるパターンを、特定カテゴリとは異なるパターンであると判定できると共に、学習に用いる非特定カテゴリのパターンに対する感度を高めることができる。
【００３８】
尚、本実施形態では、例えば、（６）式の第１項が特定カテゴリ学習項の一例であり、（６）式の第２項が非特定カテゴリ学習項の一例である。また、例えば、（６）式の第１項により、学習用特定カテゴリデータの分布から相対的に乖離している学習用特定カテゴリデータに対する特定のカテゴリらしさを表す値を、相対的に特定のカテゴリらしくないことを示す方向に変更させることができる。また、例えば、（６）式の第２項により、学習用非特定カテゴリデータに対する特定のカテゴリらしさを表す値を、相対的に特定のカテゴリらしくないことを示す方向に変更させることができる。
【００３９】
そして、ステップＳ２０６において、パラメータ修正部１０９は、（６）式の目的関数Ｊp（｛αi｝）の値を最大化するため、係数｛αi｝の修正を行う。本実施形態では、目的関数Ｊp（｛αi｝）の値の最大化を、ＳＶＭのパラメータの最適化において一般的な、Ｓｅｑｕｅｎｔｉａｌ  Ｍｉｎｉｍａｌ  Ｏｐｔｉｍｉｚａｔｉｏｎ法（ＳＭＯ法）を用いて行う。ＳＭＯ法では、最適化するパラメータ内の、任意の２つを選択し、それらを逐次的に更新していくことで、パラメータの最適化を行う。本実施形態では、パラメータ修正部１０９は、識別器パラメータ１０６として記録されているＮ個の係数｛αi｝の内の、任意の２つの係数αs、αt（ｓ、ｔ＝１、２、・・・、Ｎ、ｓ≠ｔ）を、以下の（７）式〜（１１）式により更新する。
【００４０】
【数７】
0006708385.tif 000008
【００４１】
この処理において選択される２つの係数αs、αtは、任意で構わないが、効率的な更新を行うためには、（１１）式の右辺第２項の絶対値が大きいようなｓとｔの組合せを選択することが好適である。
【００４２】
次に、ステップＳ２０７において、パラメータ修正部１０９は、ステップＳ２０６で修正した係数｛αi｝に基づいて、識別器の学習が収束したか否かを判定する。この判定の結果、識別器の学習が収束していない場合には、ステップＳ２０６に進む。そして、識別器の学習が収束すると判定されるまで、ステップＳ２０６、Ｓ２０７の処理を繰り返し実行することにより、係数｛αi｝の最適化を行う。識別器の学習が収束したか否かは、例えば、係数｛αi｝の修正が収束したか否かによって判定すればよい。本実施形態では、パラメータ修正部１０９は、全てのｓ、ｔの組合せにおける、（１１）式の右辺第２項の分子の絶対値の最大値が、所定値以下（例えば、１０-3以下）である場合に、識別器の学習が収束したと判定する。
【００４３】
以上のようにしてステップＳ２０７において、識別器の学習が収束したと判定された場合、ステップＳ２０８に進む。ステップＳ２０８に進むと、識別器データ出力部１１０は、学習の結果から得られる識別器データを外部に出力する。ここでは、識別器データ出力部１１０は、最適化した係数｛αi｝の内、αi＞０であるものと、それに対応する正常パターンｘiとをセットにしたリストを識別器データとして出力する。このリストは、識別器パラメータ１０６として記憶されている係数｛αi｝と、学習パターン保持部１０４に記録されている正常パターンとに基づいて作成される。
【００４４】
例えば、係数｛αi｝の内、０（ゼロ）を上回るものがＮSV個であるとする。この場合、識別器データ出力部１１０は、ＮSV個の係数｛α(SV)i｝（ｉ＝１、２、・・・、ＮSV）と、それぞれに対応するＮSV個の正常パターン｛ｘ(SV)i｝（ｉ＝１、２、・・・、ＮSV）とを出力する。
【００４５】
また、識別器データ出力部１１０は、最終的な係数｛αi｝を用いて、学習パターン保持部１０４に記録されているＭ個の異常パターンに対する（４）式の値の最大値ｍａｘ｛ｆ（ｘ'm）｝を求め、それを識別器の閾値Ｖthとして出力することができる。この場合、識別器の閾値Ｖthも、識別器データに含められる。
【００４６】
このように本実施形態では、１クラスＳＶＭの識別器と同様の機能を実現しつつ、既知の非特定カテゴリのパターンに対する特定カテゴリ度を小さくするように、識別器を学習することが可能になる。
【００４７】
本実施形態では、非特定カテゴリのパターンに対する特定カテゴリ度を小さくするために、その特定カテゴリ度の２乗の総和を小さくするような項を、１クラスＳＶＭの目的関数に付加した（（６）式の右辺第２項を参照）。しかしながら、非特定カテゴリのパターンに対する特定カテゴリ度を小さくする項を用いていれば、必ずしも、非特定カテゴリのパターンに対する特定カテゴリ度の２乗の総和を小さくする項を用いる必要はない。例えば、非特定カテゴリのパターンに対する特定カテゴリ度の単純な総和を小さくするような項を、１クラスＳＶＭの目的関数に付加してもよい。
【００４８】
続いて、以上のようにして学習した識別器を用いて、監視カメラの動画像に基づいて、監視エリア内の異常を検出するパターン識別方法の一例を説明する。
図３は、識別器３００の機能的な構成の一例を示す図である。また、図４は、識別器３００による処理の一例を説明するフローチャートである。以下、図３および図４を参照しながら、本実施形態のパターン識別方法の一例を説明する。
【００４９】
まず、ステップＳ４０１において、識別器データ入力部３０１は、図２のステップＳ２０８で出力された識別器データを入力する。ここでは、ＮSV個の係数｛α(SV)i｝（ｉ＝１、２、・・・、ＮSV）と、それぞれの係数｛α(SV)i｝に対応するＮSV個の正常パターン｛ｘ(SV)i｝（ｉ＝１、２、・・・、ＮSV）と、識別器の閾値Ｖthとを入力する。尚、これらのデータの入力の形態は特に限定されない。例えば、識別器データ入力部３０１は、識別器データ出力部１１０から通信回線を介してこれらのデータを入力することができる。また、識別器データ出力部１１０が、これらのデータを、外部装置に送信した場合、識別器データ入力部３０１は、当該外部装置から通信回線を介してこれらのデータを入力することができる。また、識別器データ出力部１１０が、これらのデータを、可搬型の記憶媒体に記憶した場合、識別器データ入力部３０１は、当該可搬型記憶媒体から通信回線を介してこれらのデータを読み出すことができる。
【００５０】
ＮSV個の係数｛α(SV)i｝と、ＮSV個の正常パターン｛ｘ(SV)i｝は、後述する特定カテゴリ度算出部３０４において用いられる。このため、ＮSV個の係数｛α(SV)i｝と、ＮSV個の正常パターン｛ｘ(SV)i｝は、特定カテゴリ度算出部３０４に送信される。また、識別器の閾値Ｖthは、後述する識別結果出力部３０５において用いられる。このため、識別器の閾値Ｖthは、識別結果出力部３０５に送信される。
【００５１】
続いて、ステップＳ４０２において、データ入力部３０２は、異常が存在するか否かの判定を行う動画像として、監視カメラ３１０によって撮影された動画像のデータを入力する。尚、監視カメラ３１０は、公知の技術で実現することができる。また、ステップＳ４０１で説明したのと同様に、動画像のデータの入力の形態は、特に限定されない、
【００５２】
次に、ステップＳ４０３において、特徴抽出部３０３は、ステップＳ４０２で入力された動画像のデータから、特徴データを抽出する。本実施形態では、図２のステップＳ２０２と同様に、特徴抽出部３０３は、立体高次局所自己相関特徴（ＣＨＬＡＣ）を抽出する。これにより、ステップＳ４０２で入力された動画像データに対する特徴抽出が行われる。本実施形態では、２５１次元の特徴ベクトルが得られる。
【００５３】
次に、ステップＳ４０４において、特定カテゴリ度算出部３０４は、ステップＳ４０１で入力された識別器データと、ステップＳ４０３で抽出された特徴ベクトルとを用いて、以下の（１２）式により、特定カテゴリ度を算出する。
【００５４】
【数８】
0006708385.tif 000009
【００５５】
ここで、ｘは、ステップＳ４０３で抽出された２５１次元の特徴ベクトルである。本実施形態では、特定カテゴリ度は、ステップＳ４０２で入力された動画像のデータの正常らしさの度合いを表したものとなる。
【００５６】
最後に、ステップＳ４０５において、識別結果出力部３０５は、ステップＳ４０４で算出された特定カテゴリ度と、ステップＳ４０１で入力された識別器の閾値Ｖthとを比較する。そして、特定カテゴリ度が、閾値Ｖth以上である場合、識別結果出力部３０５は、入力された動画像の特徴データは、特定カテゴリのパターンであり、入力された動画像内において、異常な事態は発生していないと判定する。一方、そうでない場合、識別結果出力部３０５は、入力された動画像の特徴データは、特定カテゴリのパターンではなく、入力した動画像内で、異常な事態が発生していると判定する。
【００５７】
識別結果出力部３０５は、この判定の結果を外部に出力する。判定の結果の出力の形態は、特に限定されない。例えば、コンピュータディスプレイへの表示と、外部装置への送信と、内部または外部の記憶媒体への記憶との少なくとも何れか１つを出力の形態として採用することができる。これにより、本実施形態のパターン識別方法の処理が終了となる。
【００５８】
以上の処理により、監視カメラ３１０で撮影された動画像内の異常を検出するに際し、特に、正常パターンとは乖離したパターンだけでなく、パターン識別器の学習に用いた既知の異常パターンと類似したパターンも、異常であると検出できる可能性が高くなる。
【００５９】
本実施形態では、１つの動画像に対するパターン識別方法の処理を例に挙げて説明した。しかしながら、図４のステップＳ４０２〜Ｓ４０５の処理を繰り返すことにより、監視カメラ３１０により撮影される動画像に対して、継続的に異常を検出する処理を行うことができる。また、本実施形態では、特定カテゴリ度に対する閾値として、識別器の学習時に算出した閾値Ｖthを用いた（図２のステップＳ２０８の説明を参照）。しかしながら、特定カテゴリ度に対する閾値は、これに限るものではない。例えば、より異常に対して敏感にしたいのであれば、識別器の学習時に算出した閾値よりも大きな閾値を採用すればよい。
【００６０】
最後に、図５を参照しながら、識別器作成装置１００および識別器３００のハードウェア構成の一例を説明する。尚、前述した機能を実現することができれば、識別器作成装置１００および識別器３００のハードウェア構成は、図５に示す構成に限定されない。
ＣＰＵ５０１は、ＲＯＭ５０２やＲＡＭ５０３に格納されたプログラムに従って命令を実行する。
【００６１】
ＲＯＭ５０２は、不揮発性メモリであり、前述したフローチャートによる処理を実行するプログラムや、その他の制御に必要なプログラムや、データを格納する。
ＲＡＭ５０３は、揮発性メモリであり、フレーム画像データや、被写体の同定の結果などの一時的なデータを記憶する。
【００６２】
２次記憶装置５０４は、ハードディスクドライブやフラッシュメモリーなど、データの書き換えが可能な２次記憶装置であり、画像情報や、各種設定内容などを記憶する。これらの情報は、ＲＡＭ５０３に転送されて、ＣＰＵ５０１がプログラムを実行する際に利用されたり、データとして利用されたりする。
入力装置５０５は、キーボードやマウスなどであり、ユーザからの入力を可能とする。
【００６３】
表示装置５０６は、ブラウン管ＣＲＴや液晶ディスプレイなどであり、ユーザに対して処理結果などを表示する。
ネットワークＩ／Ｆ５０７は、モデムやＬＡＮなどであり、インターネットやイントラネットなどのネットワークと接続を行う。
バス５０８は、前述した各要素を相互に通信可能に接続する。各要素は、バス５０８を介して相互にデータの入出力を行う。
【００６４】
以上のように本実施形態では、識別器のパラメータを学習するに際し、以下の２つを実施する。第１に、学習用の正常パターン群から相対的に乖離している学習用の正常パターンの特定カテゴリ度を、学習用の正常パターン群から相対的に乖離していない学習用の正常パターンの特定カテゴリ度に対し相対的に低減させる。第２に、学習用の異常パターンの特定カテゴリ度を、学習用の正常パターン群の特定カテゴリ度に対し相対的に低減させる。したがって、学習用の異常パターンに対する感度を高めながら、正常パターンの範囲をモデル化できる識別器を学習することが可能になる。よって、学習用の異常パターンが少なくても、識別器に入力される未知の異常なデータを高い確率で識別することができる。また、その識別器を用いることにより、学習に用いた異常パターンに対する感度を持ちながら、正常パターンの範囲から離れたパターンについては、正常ではないと判定することができるようなパターン識別を実現することができる。
【００６５】
（第２の実施形態）
次に、第２の実施形態を説明する。第１の実施形態における識別器の学習方法では、係数｛αi｝以外のパラメータν、σ、λについては、予め設定した値を用いた。パラメータλは、パラメータ初期化部１０５で使用する条件１に含まれるパラメータである。パラメータσは、（２）式に示したカーネル関数のパラメータσである。パラメータλは、各目的関数Ｊp（｛αi｝）、Ｊn（｛αi｝）の効果のバランスを調整するための正のパラメータである。これに対し、本実施形態では、これらのパラメータについても適切に探索する。このように本実施形態と第１の実施形態とは、パラメータν、σ、λを導出する方法が主として異なる。従って、本実施形態の説明において、第１の実施形態と同一の部分については、図１〜図５に付した符号と同一の符号を付す等して詳細な説明を省略する。以下の説明では、係数｛αi｝以外のパラメータを必要に応じてハイパーパラメータと記載する。
【００６６】
本実施形態におけるハイパーパラメータとしては、ν、σ、λがある。これらのハイパーパラメータν、σ、λについては、いわゆる交差検定の枠組みにより、適切な値を設定することができる。図６は、パラメータ設定装置６００の機能的な構成の一例を示す図である。また、図７は、パラメータ設定装置６００による処理の一例を説明するフローチャートである。以下、図６および図７を参照しながら、本実施形態のパラメータ設定方法の一例を説明する。
【００６７】
ステップＳ７０１において、学習データ入力部６０１は、多数の正常データと、少なくとも１つの異常データを、それぞれ学習データとして入力し、学習データ保持部６０２に記録する。ステップＳ７０１の処理は、図２のステップＳ２０１と同じ処理であるので、詳細な説明を省略する。
次に、ステップＳ７０２において、特徴抽出部６０３は、ステップＳ７０１で学習データ保持部６０２に記録された学習データのそれぞれから、特徴データを抽出し、抽出元の学習データと相互に関連づけて学習パターン保持部６０４に記録する。本実施形態では、特徴抽出部６０３は、特徴データとして、例えば、特許文献２に記載の立体高次局所自己相関特徴（ＣＨＬＡＣ）を抽出する。ステップＳ７０２の処理は、図２のステップＳ２０２と同じ処理であるので、詳細な説明を省略する。
【００６８】
次に、ステップＳ７０３において、特定カテゴリデータ分割部６０５は、複数の特定カテゴリのパターン（本実施形態では正常パターン）のみを、複数のセットに分割する。このとき、ステップＳ７０１で入力した正常データの全てを用いるのが好ましい。ただし、必ずしも、ステップＳ７０１で入力した正常データの全てを用いる必要はない。また、複数の正常パターンをいくつに分割するかは任意である。本実施形態では、特定カテゴリデータ分割部６０５は、複数の正常パターンを５つのセットに分割する場合を例に挙げて説明する。
【００６９】
続いて、ステップＳ７０４において、パラメータ設定部６０６は、ハイパーパラメータν、σ、λを設定する。ここでは、パラメータ設定部６０６は、各ハイパーパラメータν、σ、λにつき、予め定めた複数の設定値を用意しておき、それらの組合せの内、１つの組合せを設定する。具体的には、例えば、ハイパーパラメータνについては、｛０．１、０．２、・・・、０．９｝の９つの設定値を用意する。また、例えば、ハイパーパラメータσについては、｛０．１、０．３２、１、３．２、１０｝の５つの設定値を用意する。また、例えば、ハイパーパラメータλについては、｛１、２、・・・、１０｝の１０個の設定値を用意する。この場合、ハイパーパラメータν、σ、λの組合せは、４５０（＝９×５×１０）通り存在する。ここでは、パラメータ設定部６０６は、その内の１つの組合せ（例えば、ν＝０，１、σ＝０．１、λ＝１）を順に設定していく。パラメータ設定部６０６は、設定したハイパーパラメータν、σ、λを、学習部６０７に送信する。また、パラメータ設定部６０６は、設定したハイパーパラメータν、σ、λの値と相互に関連付けて平均評価値保持部６１０に記録する。
【００７０】
次に、ステップＳ７０５において、学習部６０７は、ステップＳ７０３で分割された複数のセットから、１つのセットを除いた残りのセットであるサブセットと、複数の異常パターンを用いた学習を実行する。本実施形態では、正常パターンを５つのセットに分割する。したがって、学習部６０７は、正常パターンに関しては、分割した内の４つのセットを、異常パターンについては、全てのパターンを、それぞれ用いて学習を行う。ここでの学習は、ステップＳ７０４において設定されたハイパーパラメータを用いて、図２のステップＳ２０６、Ｓ２０７で説明した手法により行われる。この学習の結果から、識別器データが得られる。第１の実施形態で説明した例では、ＮSV個の係数｛α(SV)i｝（ｉ＝１、２、・・・、ＮSV）と、それぞれに対応するＮSV個の正常パターン｛ｘ(SV)i｝（ｉ＝１、２、・・・、ＮSV）とが識別器データとして得られる。
【００７１】
次に、ステップＳ７０６において、評価値算出部６０８は、ステップＳ７０５で得られた識別器データと、ステップＳ７０５における学習に用いなかった１セットの正常パターンと、学習に用いた異常パターンとに基づいて、学習結果の評価値を算出する。具体的には、まず、評価値算出部６０８は、学習に用いなかった１セットの正常パターンと、学習に用いた異常パターンの全てに対し、（１２）式を用いて、それぞれの特定カテゴリ度を算出する。そして、評価値算出部６０８は、異常パターンに対する特定カテゴリ度の内、最も特定カテゴリ度の高かったものを基準とし、学習に用いなかった１セットの正常パターンの中で、その基準よりも特定カテゴリ度の高かったパターンの比率を算出する。この比率が、学習結果の評価値となる。評価値算出部６０８は、学習の結果の評価値を、平均評価値記録部６０９に送信する。
【００７２】
次に、ステップＳ７０７において、パラメータ設定装置６００は、ステップＳ７０３で分割された複数のセットから、１つのセットを除いた残りのセットであるサブセットとして取り得る全てのセットの学習結果の評価値の算出が終了したか否かを判定する。この判定の結果、サブセットとして取り得る全てのセットの学習結果の評価値の算出が終了していない場合には、ステップＳ７０５に戻る。ステップＳ７０５に戻ると、学習部６０７は、学習結果の評価値を算出していないサブセットと、複数の異常パターンを用いた学習を実行する。そして、サブセットとして取り得る全てのセットの学習結果の評価値の算出が終了するまで、ステップＳ７０５〜Ｓ７０７の処理を繰り返し行う。
【００７３】
サブセットとして取り得る全てのセットの学習結果の評価値の算出が終了すると、ステップＳ７０８に進む。本実施形態では、正常パターンを５つのセットに分割するので、学習と、学習結果の評価値の算出とを行うサブセットの組合せとしては、５つのパターンが存在する。したがって、それら５つのパターン全てに対し、学習と、学習結果の評価値の算出とを行って、それぞれのパターンにおける学習結果の評価値を算出する。
【００７４】
ステップＳ７０８に進むと、平均評価値記録部６０９は、全てのサブセットの組合せに対する学習結果の評価値の平均値を算出する。そして、評価値記録部６０８は、全てのサブセットの組合せに対する学習結果の評価値の平均値を、ステップＳ７０４で設定されたハイパーパラメータν、σ、λの値と相互に関連付けて平均評価値保持部６１０に記録する。
【００７５】
次に、ステップＳ７０９において、パラメータ設定装置６００は、ハイパーパラメータν、σ、λの組合せの全てを設定したか否かを判定する。この判定の結果、ハイパーパラメータν、σ、λの組合せの全てを設定していない場合には、ステップＳ７０４に戻る。ステップＳ７０４に戻ると、パラメータ設定部６０６は、未選択のハイパーパラメータν、σ、λを設定する。そして、ハイパーパラメータν、σ、λの組合せの全てが設定され、それら全てのハイパーパラメータν、σ、λの組合せについて、学習結果の評価値の平均値が算出されるまで、ステップＳ７０４〜Ｓ７０９の処理を繰り返し行う。
【００７６】
以上のようにして全てのハイパーパラメータν、σ、λの組合せについて、学習結果の評価値の平均値が算出されると、ステップＳ７１０に進む。ステップＳ７１０に進むと、前述したハイパーパラメータの設定値の例であれば（ステップＳ７０４の説明を参照）、４５０通りの組合せそれぞれに対し、ステップＳ７０４〜Ｓ７０８の処理を実行する。その結果、４５０通りのハイパーパラメータの値と、それに対応する学習結果の評価値の平均値とが、平均評価値保持部６１０に記録される。
【００７７】
最後に、ステップＳ７１０において、パラメータ決定結果出力部６１１は、平均評価値保持部６１０に記録されている全てのハイパーパラメータν、σ、λの組合せの中で、学習結果の評価値の平均値が最も高いものを選択する。そして、パラメータ決定結果出力部６１１は、選択したハイパーパラメータν、σ、λの組合せを、ハイパーパラメータの決定結果として外部に出力する。ハイパーパラメータの決定結果の出力の形態は、特に限定されない。例えば、コンピュータディスプレイへの表示と、外部装置への送信と、内部または外部の記憶媒体への記憶との少なくとも何れか１つを出力の形態として採用することができる。これにより、本実施形態のパラメータ設定方法の処理が終了となる。
【００７８】
以上の処理により、適切なハイパーパラメータν、σ、λを決定することができ、決定したハイパーパラメータν、σ、λを用いて、図２のフローチャートによる識別器学習方法の処理を行う。
【００７９】
以上のように本実施形態では、正常パターンのみを、複数のセットに分割し、異常パターンを分割しない。そして、分割された複数のセットから、１つのセットを除いた残りのセットであるサブセットと、異常パターンと、ハイパーパラメータの候補とを用いた学習を実行し、学習結果の評価値を導出する。このような学習結果の評価値を、サブセットとして取り得る全てのセットについて導出し、学習結果の評価値の平均値を導出する。このような学習結果の評価値の平均値の導出を、全てのハイパーパラメータの候補について行う。そして、ハイパーパラメータの候補の内、学習結果の評価値の平均値が最も高くなるハイパーパラメータを選択する。したがって、異常パターンが少ない場合でも、ハイパーパラメータを適切に設定することができる。
【００８０】
尚、本実施形態のパラメータ設定装置６００を第１の実施形態で説明した識別器作成装置１００に含めることができる。このようにする場合、学習データ入力部６０１、学習データ保持部６０２、特徴抽出部６０３、学習パターン保持部６０４は、それぞれ、図１の学習データ入力部１０１、学習データ保持部１０２、特徴抽出部１０３、学習パターン保持部１０４で実現できる。したがって、学習データ入力部６０１、学習データ保持部６０２、特徴抽出部６０３、学習パターン保持部６０４を必ずしも設ける必要はない。
【００８１】
一般的な交差検定では、本実施形態で説明した方法とは異なり、非特定カテゴリのパターンに関しても分割を行い、その一部を学習結果の評価用に用いる。しかしながら、その場合、非特定カテゴリのパターンの数が少ないと、分割の仕方のバラつき等により、安定的にハイパーパラメータν、σ、λを決定することが難しいという問題がある。本実施形態のように、監視カメラ３１０により撮影された異常な事態の動画像といった、稀な事象のデータを、非特定カテゴリのデータとして利用する場合、このことが問題となり得る。これに対し、本実施形態で説明した方法では、非特定カテゴリのパターンが少なかったとしても、特定カテゴリのパターンが十分に存在すれば、安定的にハイパーパラメータν、σ、λを決定することができる。もし、一般的なＳＶＭによる学習を、本実施形態と同様の手法に適用すると、学習に用いた非特定カテゴリのパターンのみを、特定のカテゴリではないと判定し、それ以外を全て特定カテゴリと判定してしまうハイパーパラメータが選択されてしまう虞がある。これに対し、第１の実施形態で説明した識別器学習方法では、特定カテゴリのパターンに対する特定カテゴリ度を下げることにより、非特定カテゴリパターンの特定カテゴリ度を下げるという、いわば正則化を行っている。そこで、本実施形態では、第１の実施形態で説明した識別器学習方法による学習を行い、その学習の結果の評価値を算出する。このように、正則化の枠組みとして、非特定カテゴリのパターンに対する特定カテゴリ度を下げるように識別器を学習することにより、学習に用いる非特定カテゴリのパターンが少ないとしても、安定的にハイパーパラメータを選択することが可能になる。ただし、例えば、様々な種類の非特定カテゴリのパターンを多数入手可能であれば、一般的な交差検定により、適切なハイパーパラメータν、σ、λを設定することができる。
【００８２】
（第３の実施形態）
次に、第３の実施形態を説明する。第１、第２の実施形態では、識別器のパラメータを学習するための目的関数を、１クラスＳＶＭを用いた識別器のパラメータを学習するための目的関数を拡張した目的関数にする場合を例に挙げて説明した。これに対し、本実施形態では、識別器のパラメータを学習するための目的関数を、非特許文献３に記載のＫｕｌｌｂａｃｋ−Ｌｅｉｂｌｅｒ  Ｉｍｐｏｒｔａｎｃｅ  Ｅｓｔｉｍａｔｉｏｎ  Ｐｒｏｃｅｄｕｒｅ（ＫＬＩＥＰ）を拡張した目的関数とする。このように本実施形態と第１の実施形態とでは、識別器と、識別器のパラメータを学習するための目的関数とが異なることによる構成および処理が主として異なる。したがって、本実施形態の説明において、第１、第２の実施形態と同一の部分については、図１〜図７に付した符号と同一の符号を付す等して詳細な説明を省略する。
【００８３】
本実施形態でも、第１の実施形態と同様に、監視カメラで撮影された動画像に基づいて、監視エリア内の異常を検出するためのパターン識別器の学習を行う方法を例に挙げて説明する。また、本実施形態でも、正常データから抽出され学習パターン保持部１０４に記録された特徴ベクトルを、必要に応じて正常パターンと記載する。また、異常データから抽出され学習パターン保持部１０４に記録された特徴ベクトルを、必要に応じて異常パターンと記載する。
【００８４】
識別器作成装置１００の機能的な構成の一例と、識別器作成装置１００による処理の一例は、それぞれ、図１、図２に示したものと同じであり、目的関数に関する部分の処理が異なる。また、識別器３００の機能的な構成の一例と、識別器３００による処理の一例は、それぞれ、図３、図４に示したものと同じであり、特徴カテゴリ度に関する部分の処理が異なる。そこで、図１〜図４を参照しながら、第１の実施形態と異なる部分について、本実施形態の識別器学習方法とパターン識別方法の一例を説明する。
【００８５】
本実施形態では、ステップＳ２０４において特定カテゴリ目的関数設定部１０７が設定する正常パターン（特定カテゴリ）に関する目的関数に、ＫＬＩＥＰによる、異常パターンを検出するためのパターン識別器の学習における目的関数を用いる。そのため、本実施形態では、特定カテゴリ目的関数設定部１０７は、以下の（１３）式の目的関数Ｊp（｛αi｝）を設定する。
【００８６】
【数９】
0006708385.tif 000010
【００８７】
本実施形態では、特定カテゴリ目的関数設定部１０７は、Ｎ個の正常パターンを、Ｎn個とＮd個の２つのセットに分割する（よって、Ｎn＋Ｎd＝Ｎになる）。（１３）式において、Ｎn個のセットに含まれる、ｎ番目の正常パターンのベクトルをｘn、Ｎd個のセットに含まれる、ｊ番目の正常パターンのベクトルをｘ"jとする。また、φi（ｘ）は、基底関数であり、本実施形態では、ｂ＝Ｎdとして、以下の（１４）式の基底関数φi（ｘ）を用いる。
【００８８】
【数１０】
0006708385.tif 000011
【００８９】
ＫＬＩＥＰでは、（１３）式の目的関数Ｊp（｛αi｝）を最大化する係数｛αi｝を求めることによって、パターン識別器を学習することになる。ＫＬＩＥＰにおける特定カテゴリ度は、以下の（１５）式のｆ（ｘ）で表される。
【００９０】
【数１１】
0006708385.tif 000012
【００９１】
（４）式と同様に、（１５）式のｆ（ｘ）は、新たな入力データｘに対する特定カテゴリ度、つまり、このｆ（ｘ）の値が大きい程、新たな入力データｘが特定カテゴリのデータである度合いが高いことを表す。そこで、本実施形態では、ステップＳ２０５において、非特定カテゴリ目的関数設定部１０８は、非特定カテゴリ、つまり、異常パターンに関する目的関数Ｊn（｛αi｝）として以下の（１６）式を設定する。
【００９２】
【数１２】
0006708385.tif 000013
【００９３】
以上より、ステップＳ２０６、Ｓ２０７の処理において、パラメータ修正部１０９は、（１３）式と（１６）式との和で表される以下の（１７）式の目的関数Ｊ（｛αi｝）を最大化することによって、最適な係数｛αi｝を導出する。
【００９４】
【数１３】
0006708385.tif 000014
【００９５】
この目的関数Ｊ（｛αi｝）は、係数｛αi｝に関して凸関数である。したがって、ステップＳ２０６において、パラメータ修正部１０９は、勾配法による係数｛αi｝の修正と、係数｛αi｝に対する制約充足を、識別器パラメータ１０６として記録されたＮ個の係数｛αi｝に対して繰り返す。これにより、大域的な最適解を得ることができる。
【００９６】
尚、本実施形態では、例えば、（１７）式の第１項が特定カテゴリ学習項の一例であり、（１７）式の第２項が非特定カテゴリ学習項の一例である。また、例えば、（１７）式の第１項により、学習用特定カテゴリデータの分布から相対的に乖離している学習用特定カテゴリデータに対する特定のカテゴリらしさを表す値を、相対的に特定のカテゴリらしくないことを示す方向に変更させることができる。また、例えば、（１７）式の第２項により、学習用非特定カテゴリデータに対する特定のカテゴリらしさを表す値を、相対的に特定のカテゴリらしくないことを示す方向に変更させることができる。
【００９７】
目的関数Ｊ（｛αi｝）を最大化する係数｛αi｝を導出した後、ステップＳ２０８において、識別器データ出力部１１０は、学習の結果から得られる識別器データを外部に出力し、学習結果を外部に出力して、本実施形態の識別器学習方法の処理が終了となる。ここでも、ＫＬＩＥＰの性質上、αi＝０となるものが出てくるので、最適化した係数｛αi｝の内、αi＞０であるものと、それに対応する正常パターンｘ"iとをセットにしたリストを識別器データとして出力する。例えば、係数｛αi｝の内、０（ゼロ）より大きいものがＮs個であったとすると、ＮS個の係数｛α(S)i｝（ｉ＝１、２、・・・、ＮS）と、それぞれの係数に対応するＮS個の正常パターン｛ｘ"(S)i｝（ｉ＝１、２、・・・、ＮS）とを出力する。この学習の結果を用いた特定カテゴリ度の算出は、以下の（１８）式により行うことができる。
【００９８】
【数１４】
0006708385.tif 000015
【００９９】
本実施形態では、図４のステップＳ４０４において、（１２）式ではなく、（１８）式を用いる。この特定カテゴリ度が、所定の閾値以上である場合、識別結果出力部３０５は、入力した動画像の特徴データは、特定のカテゴリのパターンであり、入力した動画像内において、異常な事態は発生していないと判定する。一方、そうでない場合、識別結果出力部３０５は、入力した動画像の特徴データは、特定のカテゴリのパターンではなく、入力した動画像内で、異常な事態が発生していると判定する。
【０１００】
また、本実施形態でも、第２の実施形態と同様の方法で、ハイパーパラメータを選択することが可能である。本実施形態の場合、ハイパーパラメータは、（１４）式に示した基底関数φi（ｘ）のσと、（１７）式に示した目的関数Ｊ（｛αi｝）のλである。これらのハイパーパラメータσ、λに、所定の設定値を設定し、第２の実施形態において説明したのと同様の交差検定を行うことにより、適切なハイパーパラメータパラメータσ、λを選択することが可能である。
以上のように、識別器のパラメータの学習に用いる目的関数は、１クラスＳＶＭを用いた識別器のパラメータを学習するための目的関数を拡張したものだけでなく、その他の手法を用いた識別器のパラメータを学習するための目的関数を拡張したものでもよい。
【０１０１】
（第４の実施形態）
次に、第４の実施形態を説明する。第１〜第３の実施形態では、いわゆる１クラス系の識別器のパラメータの学習に用いる目的関数を拡張する場合を例に挙げて説明した。これに対し、本実施形態では、２クラス識別器のパラメータの学習に用いる目的関数を拡張する場合を例に挙げて説明する。本実施形態では、２クラス識別器として一般的なロジスティック回帰を用いた識別器のパラメータの学習に用いる目的関数を拡張する場合について説明する。このように、本実施形態と第１〜３の実施形態は、識別器が２クラス識別器であることによる構成および処理が主として異なる。したがって、本実施形態の説明において、第１〜第３の実施形態と同一の部分については、図１〜図７に付した符号と同一の符号を付す等して詳細な説明を省略する。
【０１０２】
本実施形態では、人物の顔画像（静止画像）を入力し、その顔画像の人物が、予め定められた特定の人物であるか否かを識別するためのパターン識別器の学習を行う場合を例に挙げて説明する。
図８は、識別器作成装置８００の機能的な構成の一例を示す図である。また、図９は、識別器作成装置８００による処理の一例を説明するフローチャートである。以下、図８および図９を参照しながら、本実施形態の識別器学習方法について、第１および第３の実施形態と異なる部分を説明する。
【０１０３】
ステップＳ９０１において、学習データ入力部８０１は、多数の学習データを入力する。学習データは、識別器の学習に用いられる。本実施形態では、多数の学習データとして、多数の人物の顔画像を用いる。具体的には、本実施形態では、画像から、人物の顔の領域を切り出した、２０×２０画素のグレースケールの画像を人物の顔画像として用いる。以下の説明では、このような画像を、必要に応じて単に顔画像と記載する。これらの顔画像は、予め定めた特定の人物の顔画像と、特定の人物以外の任意の人物の顔画像とから構成される。本実施形態では、例えば、特定の人物の顔画像が学習用特定カテゴリデータの一例であり、予め定められた特定の人物以外の任意の人物の顔画像が学習用非特定カテゴリデータの一例である。
【０１０４】
学習データ入力部８０１は、予め定められた特定の人物の顔画像に関しては、特定カテゴリのデータとして、学習データ保持部８０２に記録する。以下、本実施形態では、特定カテゴリのデータを必要に応じて特定カテゴリパターンと記載する。一方、学習データ入力部８０１は、予め定められた特定の人物以外の任意の人物の顔画像については、特定のカテゴリとは異なるデータとして、学習データ保持部８０２に記録する。以下、本実施形態では、特定カテゴリとは異なるデータを必要に応じて非特定カテゴリパターンと記載する。
【０１０５】
本実施形態では、特定の人物に関して様々な状況下で撮影されたＮ枚の顔画像と、特定の人物以外の、任意の人物の顔画像に関して同じく様々な状況で撮影されたＭ枚の顔画像の、計Ｎ＋Ｍ枚の顔画像を学習データとして用いる。このような計Ｎ＋Ｍ枚の顔画像が、学習データ保持部８０２に記録される。以降、ここで記録された学習データ（顔画像のデータ）は、２０×２０画素の画素値をラスタスキャン的に並べた４００次元のベクトルとして扱う。
【０１０６】
続いて、ステップＳ９０２において、パラメータ初期化部８０３は、学習する識別器のパラメータであるＮ個の係数｛ｗi｝（ｉ＝１、２、・・・、Ｎ）を初期化する。この係数｛ｗi｝の詳細については、後述する。パラメータ初期化部８０３は、以下の２つの条件に従うように、無作為に、Ｎ個のパラメータを初期化する。
条件１：ｗi≧０
条件２：Σ［ｉ＝１〜Ｎ］ｗi＝Ｃ
【０１０７】
ここで、条件２のＣは、正則化のための正のパラメータである。パラメータＣの値が小さい程、正則化の効果が大きくなる。パラメータＣは、学習の前の段階で予め定めておくハイパーパラメータである。例えば、パラメータ初期化部８０３は、Ｃ＝０．１Ｎというように、パラメータＣを予め設定することができる。また、第２の実施形態において説明した、交差検定によるハイパーパラメータの設定方法を用いて、パラメータＣの値として適切な値を選択してもよい。パラメータ初期化部８０３は、初期化したＮ個の係数｛ｗi｝を、識別器パラメータ８０４として記録する。
【０１０８】
２クラス識別器において一般的に使用されるロジスティック回帰の目的関数は、特定カテゴリパターンに関する項と、非特定カテゴリパターンに関する項に分離すると、以下の（１９）式、（２０）式のように表される。（１９）式の目的関数Ｊ（｛ｗi｝）の値を最小化する係数｛ｗi｝を求めることによって、パターン識別器を学習することになる。
【０１０９】
【数１５】
0006708385.tif 000016
【０１１０】
ここで、φi（ｘ）は、ｂ個の基底関数の内の、ｉ番目の基底関数である。ロジスティック回帰における、特定カテゴリ度を求める関数ｆ（ｘ）は、（１９）式の目的関数Ｊ（｛ｗi｝）の値を最小化する係数｛ｗi｝を用いて、以下の（２１）式で表される。
【０１１１】
【数１６】
0006708385.tif 000017
【０１１２】
本実施形態では、（１９）式の目的関数Ｊ（｛ｗi｝）における基底関数φi（ｘ）を所定の形式に制限する。更に、基底関数φi（ｘ）を制限した目的関数に対し、係数｛ｗi｝に関する制約条件（制約式）を付加する。具体的に本実施形態では、基底関数φi（ｘ）として、以下の（２２）式の関数を用いる。
【０１１３】
【数１７】
0006708385.tif 000018
【０１１４】
この基底関数φi（ｘ）中のｘiは、ステップＳ９０１において入力されたＮ個の特定カテゴリパターンのｉ番目の特定カテゴリパターンである（ｉ＝１、２、・・・、Ｎ）。このように、本実施形態では、基底関数φi（ｘ）として、特定カテゴリパターンを核とするガウス基底関数を用いる。しかしながら、基底関数φi（ｘ）は、これに限るものではない。特定カテゴリパターンから乖離したデータに対する値が０（ゼロ）に近づくような基底関数であれば、その他の基底関数を用いても構わない。
以上のことから本実施形態では、ステップＳ９０３において、目的関数設定部８０５は、（１９）式の目的関数Ｊ（｛ｗi｝）に、係数｛ｗi｝に関する２つの制約条件を付加した、以下の（２３）式の目的関数Ｊ（｛ｗi｝）を設定する。
【０１１５】
【数１８】
0006708385.tif 000019
【０１１６】
本実施形態では、（２３）式の基底関数φi（ｘ）は（２２）式で表される。
このように、本実施形態では、通常のロジスティック回帰の目的関数に対し、基底関数の制限と制約条件の付加とを行ったものを、パターン識別器の係数｛ｗi｝を学習するための目的関数とする。（２３）式の右辺第１項は、特定カテゴリパターンから相対的に乖離した特定カテゴリパターンの特定カテゴリ度を、特定カテゴリパターンから相対的に乖離していない特定カテゴリパターンの特定カテゴリ度に対して、相対的に下げる効果を持つ項となる。また、（２３）式の右辺第２項は、学習に用いる非特定カテゴリパターンに対する特定カテゴリ度を、特定カテゴリパターンの特定カテゴリ度に対して、相対的に下げる効果を持つ項となる。
【０１１７】
尚、本実施形態では、例えば、（２３）式の第１項が特定カテゴリ学習項の一例であり、（２３）式の第２項が非特定カテゴリ学習項の一例である。また、例えば、（２３）式の第１項により、学習用特定カテゴリデータの分布から相対的に乖離している学習用特定カテゴリデータに対する特定のカテゴリらしさを表す値を、相対的に特定のカテゴリらしくないことを示す方向に変更させることができる。また、例えば、（２３）式の第２項により、学習用非特定カテゴリデータに対する特定のカテゴリらしさを表す値を、相対的に特定のカテゴリらしくないことを示す方向に変更させることができる。
【０１１８】
続いて、ステップＳ９０４において、パラメータ修正部８０６は、第３の実施形態と同様に、勾配法による係数｛ｗi｝の修正と、係数｛ｗi｝に対する制約充足を、ステップＳ９０５において識別器の学習が収束したと判定されるまで繰り返し行う。これにより、最適解（係数｛ｗi｝）を得ることができる。ただし、第３の実施形態においては、目的関数の最大化を行ったが、ここでは、目的関数の最小化を行う。このようにして、識別器パラメータ８０４として記録された係数｛ｗi｝が修正される。
【０１１９】
以上のようにして、（２３）式の目的関数Ｊ（｛ｗi｝）の値を最小化する係数｛ｗi｝が導出されると、ステップＳ９０６に進む。ステップＳ９０６に進むと、識別器データ出力部８０７は、学習の結果から得られる識別器データを外部に出力する。第１、第３の実施形態と同様に、識別器データ出力部８０７は、最適化した係数｛ｗi｝の内、ｗi＞０である係数と、それに対応する特定カテゴリパターンｘiとをセットにしたリストを、識別器データとして出力する。例えば、係数｛ｗi｝の内、０（ゼロ）より大きいものがＮs個であったとする。この場合、ＮS個の係数｛ｗ(S)i｝（ｉ＝１、２、・・・、ＮS）と、それぞれの係数｛ｗ(S)i｝に対応するＮS個の特定カテゴリパターン｛ｘ(S)i｝（ｉ＝１、２、・・・、ＮS）とが出力される。
【０１２０】
以上の手法により、入力された顔画像が、特定の人物の顔画像であるか否かを識別するパターン識別器を学習することが可能になる。また、以上の手法により学習したパターン識別器では、入力した顔画像が、特定の人物の顔画像と比べて大きく異なるような顔画像であれば、特定の人物の顔画像ではないと、正しく判定することができる可能性が高い。また、パターン識別器の学習に用いた、特定の人物以外の顔画像に対しても、特定の人物の顔画像ではないと、正しく判定できる可能性を高めることができる。特に、学習に用いた特定の人物以外の人物の内、特定の人物と類似した人物が存在しても、その人物の顔画像を、特定の人物の顔画像ではないと、正しく判定することができる可能性を高めることができる。
【０１２１】
このように、１クラス系の識別器だけでなく、２クラス識別器においても、特定カテゴリパターンとは乖離したパターンと、識別器の学習に用いた既知の非特定カテゴリパターンと類似したパターンとの双方を識別できる識別器を構築することができる。また、第１、第３の実施形態のような、動画像に対する異常を検出するパターン識別器の学習だけでなく、特定の人物の顔画像であるか否かといった、一般的なパターンを対象にした場合にも適用可能である。
【０１２２】
尚、本実施形態の識別器学習方法においても、いくつかのハイパーパラメータが存在する。具体的には、（２２）式に示した基底関数φi（ｘ）のパラメータσと、係数｛ｗi｝に関する制約条件を定める正則化パラメータＣが、ハイパーパラメータである。これらのハイパーパラメータσ、Ｃに関しても、第２の実施形態において説明したのと同様の交差検定を行うことにより、適切な値を設定することができる。ただし、特定の人物以外の顔画像を多数入手可能であれば、一般的な交差検定により、適切なハイパーパラメータσ、Ｃを設定することができる。
【０１２３】
続いて、以上のようにして学習した識別器を用いて、識別器に入力された顔画像が、特定の人物の顔画像であるか否かを判定するパターン識別方法の一例を示す。
図１０は、識別器１０００の機能的な構成の一例を示す図である。また、図１１は、識別器１０００による処理の一例を説明するフローチャートである。以下、図１０および図１１を参照しながら、本実施形態のパターン識別方法の一例を説明する。
【０１２４】
まず、ステップＳ１１０１において、識別器データ入力部１００１は、図９のステップＳ９０６で出力された識別器データを入力する。ここでは、ＮS個の係数｛ｗ(S)i｝（ｉ＝１、２、・・・、ＮS）と、それぞれの係数｛ｗ(S)i｝に対応するＮS個の特定カテゴリパターン｛ｘ(S)i｝（ｉ＝１、２、・・・、ＮS）を入力する。図４のステップＳ４０１で説明したのと同様に、識別器データの入力の形態は特に限定されない。ＮS個の係数｛ｗ(S)i｝と、ＮS個の特定カテゴリパターン｛ｘ(S)i｝は、後述する特定カテゴリ度算出部１００３において用いられるため、これらのデータは、特定カテゴリ度算出部１００３に送信される。
【０１２５】
続いて、ステップＳ１１０２において、データ入力部１００２は、特定の人物の顔画像であるか否かの判定を行う顔画像のデータを入力する。ステップＳ１１０２で入力される顔画像のデータとして、不図示の撮影装置で撮影された画像データ、または、ネットワークを介して送信された画像ファイル等、様々な形式のデータを利用することが可能である。ただし、いずれも、学習データと同じ形式の顔画像のデータとする。前述した例では、画像から顔の部分を切り出した、２０×２０画素のグレースケールの画像とする必要がある。また、入力された顔画像のデータは、２０×２０画素の画素値をラスタスキャン的に並べた４００次元のベクトルとして扱われる。
【０１２６】
そして、ステップＳ１１０３において、特定カテゴリ度算出部１００３は、ステップＳ１１０１で入力された識別器データと、ステップＳ１１０２で入力された顔画像のデータとを用いて、以下の（２４）式により、特定カテゴリ度を算出する。
【０１２７】
【数１９】
0006708385.tif 000020
【０１２８】
ここで、ｘは、ステップＳ１１０２で入力された顔画像のデータ（４００次元のベクトル）である。本実施形態では、特定カテゴリ度は、特定の人物の顔画像らしさの度合いを表したものとなる。
最後に、ステップＳ１１０４において、識別結果出力部１００４は、ステップＳ１１０３で算出された特定カテゴリ度と閾値とを比較する。そして、特定カテゴリ度が、閾値０．５以上である場合、識別結果出力部１００４は、入力された顔画像は、特定の人物の顔画像であると判定し、そうでない場合、識別結果出力部１００４は、入力された顔画像は、特定の人物の顔画像ではないと判定する。識別結果出力部１００４は、この判定の結果を外部に出力する。尚、本実施形態では、特定カテゴリ度が０．５以上であるか否かにより、特定の人物の顔画像であるか否かを判定した。しかしながら、閾値は、０．５に限るものではない。例えば、特定の人物の顔画像以外を、特定の人物の顔画像であると誤判定する可能性を低くするためには、この閾値を１よりも小さい範囲で大きくすればよい。これにより、本実施形態のパターン識別方法の処理が終了となる。尚、図４のステップＳ４０５で説明したのと同様に、判定の結果の出力の形態は、特に限定されない。
【０１２９】
以上の処理により、識別器に入力された顔画像が、特定の人物であるか否かを判定することが可能になる。特に、特定の人物の顔画像と比べて、大きく異なるような顔画像だけでなく、パターン識別器の学習に用いた特定の人物以外の顔画像に類似した顔画像に対しても、特定の人物の顔画像ではないと、正しく判定できる可能性が高くなる。
【０１３０】
（第５の実施形態）
次に、第５の実施形態を説明する。本実施形態では、複雑なテクスチャパターンを有する製造物の表面を撮影した画像から、その表面上の欠陥を、異常パターンとして検出する方法において用いるパターン識別器のパラメータの学習方法の一例を示す。本実施形態では、複雑なテクスチャパターンを有する製造物が、表面に粗し加工を施したゴム板である場合を例に挙げて説明する。ただし、本実施形態の手法は、その他の製造物等にも適用可能である。また、第１〜第４の実施形態では、所定の基底関数の線形結合で表される形式のパターン識別器を用いる。これに対し、本実施形態では、それとは異なる形式のパターン識別器を用いる。また、第１〜第４の実施形態では、学習に用いる非特定カテゴリのデータに対する特定カテゴリ度を小さくする場合を例に挙げて説明した（（４）式、（６）式の右辺第２項等を参照）。これに対し、本実施形態では、学習に用いる非特定カテゴリのデータに対する非特定カテゴリ度を大きくするように、パターン識別器のパラメータの学習のために用いる目的関数を設定する。このように、本実施形態と第１〜第４の実施形態は、識別器と、識別器のパラメータを学習するための目的関数とが異なることによる構成および処理が主として異なる。したがって、本実施形態の説明において、第１〜第４の実施形態と同一の部分については、図１〜図１１に付した符号と同一の符号を付す等して詳細な説明を省略する。
【０１３１】
図１２は、本実施形態での処理対象となるパターンの一例を示す図である。これらは、表面粗し加工を施したゴム板の表面を撮影したグレースケール画像から、１２８×１２８画素の領域を切り出したものである。図１２において、画像データ１２０１ａ〜１２０１ｅは、正常であるゴム板の画像から切り出した画像である。画像データ１２０２ａ〜１２０２ｂは、欠陥を含むゴム板の画像から、欠陥部（図中、丸印にて図示）を含むような領域を切り出したものである。
【０１３２】
本実施形態では、画像データ１２０１ａ〜１２０１ｅのような画像データを正常データとし、画像データ１２０２ａ〜１２０２ｅのような画像データを異常データとする。画像データ１２０２ａ〜１２０２ｅは、黒いスポット状のムラのような欠陥が存在する異常データである。図１２に示すように、欠陥の形状やサイズは様々である。
【０１３３】
欠陥のパターンには、画像データ１２０２ｃのように、全体的にグラデーションがあるパターンがある。また、画像データ１２０２ｄのように、白いスポット状のムラがあるパターンがある。この他、画像データ１２０２ｅのように、テクスチャのコントラストが一部だけ低いパターン等がある。このように、様々な欠陥の種類が存在する。本実施形態では、画像データ１２０１ａ〜１２０１ｅのような画像データが与えられた場合に、正常なデータであると判定し、画像データ１２０２ａ〜１２０２ｅのような画像データが与えられた場合に、異常なデータであると判定するパターン識別器を学習する。
【０１３４】
図１３は、識別器作成装置１３００の機能的な構成の一例を示す図である。また、図１４は、識別器作成装置１３００による処理の一例を説明するフローチャートである。以下、図１３および図１４を参照しながら、本実施形態の識別器学習方法の一例について、第１〜第４の実施形態と異なる部分について説明する。
【０１３５】
ステップＳ１４０１において、学習データ入力部１３０１は、多数の学習データを入力する。学習データは、識別器の学習に用いられる。本実施形態では、多数の学習データとして、図１２に示したような、画像データ１２０１ａ〜１２０１ｅ、１２０２ａ〜１２０２ｅを多数用いる。ここでは、画像データ１２０１ａ〜１２０１ｅのような、欠陥の無いＮ枚の画像データと、画像データ１２０２ａ〜１２０２ｅのような、何らかの欠陥が存在するＭ枚の画像データを入力する。尚、欠陥の無い画像データの数は多い程好ましい。一方、何らかの欠陥が存在する画像データの数は少なくとも１つあればよい。学習データ入力部１３０１は、入力した画像データを、学習データ保持部１３０２に記録する。また、本実施形態では、例えば、欠陥の無い画像データが学習用特定カテゴリデータの一例であり、何らかの欠陥が存在する画像データが学習用非特定カテゴリデータの一例である。
【０１３６】
続いて、ステップＳ１４０２において、特徴抽出部１３０３は、ステップＳ１３０１で学習データ保持部１３０２に記録された学習データのそれぞれから、特徴データ（特徴量）を抽出する。本実施形態では、特徴抽出部１３０３は、各画像データのそれぞれに対し、画素値の平均値、分散、および最大値といった、ｄ種類（例えば３０種類程度）の特徴量を抽出する。特徴抽出部１３０３は、各画像データから抽出した、ｄ種類の特徴量を並べたものを、ｄ次元の特徴ベクトルとして、抽出元の画像データと相互に関連付けて学習パターン保持部１３０４に記録する。以下の説明では、欠陥の無い正常な画像データから抽出され学習パターン保持部１３０４に記録されたｄ次元の特徴ベクトルを、必要に応じて正常パターンと記載する。また、何らかの欠陥が存在する異常な画像データから抽出され学習パターン保持部１３０４に記録されたｄ次元の特徴ベクトルを、必要に応じて異常パターンと記載する。本実施形態では、正常パターンとして、Ｎ個のｄ次元の特徴ベクトルが、異常パターンとして、Ｍ個のｄ次元の特徴ベクトルが、それぞれ学習パターン保持部１３０４に記録される。
【０１３７】
この後、学習パターン保持部１３０４に記録された複数の正常パターンと、少なくとも１つの異常パターンとを用いて、パターン識別器の学習が行われる。ここで、本実施形態において学習するパターン識別器について説明する。本実施形態において学習するパターン識別器は、入力データｘ（ｄ次元の特徴ベクトル）に対し、以下の（２５）式のｆ（ｘ）の値が、所定の閾値以内であれば、入力データｘが特定カテゴリ、つまり、正常パターンであると判定する。一方、入力データｘ（ｄ次元の特徴ベクトル）に対し、以下の（２５）式のｆ（ｘ）の値が、所定の閾値以上であれば、パターン識別器は、入力データが特定カテゴリではない、つまり、異常パターンであると判定する。
【０１３８】
【数２０】
0006708385.tif 000021
【０１３９】
ここで、μ、Σは、それぞれ学習により決定するパラメータである。具体的にパラメー
タμは、ｄ次元の特徴ベクトルであり、パラメータΣはｄ×ｄの行列である。（２５）式
に示す関数ｆ（ｘ）の値が大きい程、特定カテゴリではないと判定されやすい。従って、（２５）式に示す関数ｆ（ｘ）は、非特定カテゴリ度を表していると言える。第１〜第４の実施形態においては、特定カテゴリ度をベースとして学習を行ったが、非特定カテゴリ度は、特定カテゴリ度の裏返しである。従って、（２５）式に示す関数ｆ（ｘ）、すなわち非特定カテゴリ度をベースとしても、特定カテゴリ度をベースとした場合と同様に学習を行うことが可能である。
【０１４０】
ステップＳ１４０３において、特定カテゴリ目的関数設定部１３０５は、特定カテゴリ、つまり、正常パターンに関する目的関数Ｊp（θ）を設定する。ここでのθは、学習により決定するパラメータを意味しているので、本実施形態の場合、パラメータμ、Σとな
る。そこで、本実施形態では、特定カテゴリ目的関数設定部１３０５は、以下の（２６）式の目的関数Ｊp（μ、Σ）を設定する。
【０１４１】
【数２１】
0006708385.tif 000022
【０１４２】
ここで、ｘnは、ｎ番目の正常パターンであり、｜Σ｜はΣの行列式である。この目的
関数Ｊp（μ、Σ）の第１項は、学習に用いる正常パターンに対する、（２５）式に示す
関数ｆ（ｘ）（すなわち非特定カテゴリ度）の総和である。したがって、目的関数Ｊp（μ、Σ）の第１項の値を小さくすることにより、正常パターンに対する平均的な非特定カ
テゴリ度を下げることができる。尚、ｎ番目の正常パターンｘnの正常パターンの分布からの乖離度は、（ｘn−μ）Σ-1（ｘn−μ）で表される。また、目的関数Ｊp（μ、Σ
）の第２項は、パラメータΣに関する正則化項である。
【０１４３】
次に、ステップＳ１４０４において、非特定カテゴリ目的関数設定部１３０６は、非特定カテゴリ、つまり、異常パターンに関する目的関数Ｊn（μ、Σ）を設定する。本実施
形態では、異常パターンに対する非特定カテゴリ度を上げるような目的関数を設定するので、以下の（２７）式の目的関数Ｊn（μ、Σ）を設定する。
【０１４４】
【数２２】
0006708385.tif 000023
【０１４５】
ここで、ｘ'mは、ｍ番目の異常パターンである。また、目的関数Ｊn（μ、Σ）は、
学習に用いる異常パターンに対する、非特定カテゴリ度ｆ（ｘ）の総和の符号を反転したものである。そのため、この目的関数Ｊn（μ、Σ）の値を小さくすることにより、異常
パターンに対する、平均的な非特定カテゴリ度を上げることができる。
【０１４６】
そして、ステップＳ１４０５において、パラメータ算出部１３０７は、（２６）式の目的関数Ｊp（μ、Σ）と、（２７）式の目的関数Ｊn（μ、Σ）を統合した、以下の（２
８）式に示す目的関数Ｊ（μ、Σ）を最小化するパラメータμ、Σを算出する。尚、本実
施形態では、例えば、（２８）式の第１項が特定カテゴリ学習項の一例であり、（２８）式の第３項が非特定カテゴリ学習項の一例である。また、例えば、（２８）式の第１項により、学習用特定カテゴリデータの分布から相対的に乖離している学習用特定カテゴリデータに対する特定のカテゴリらしさを表す値を、相対的に特定のカテゴリらしくないことを示す方向に変更させることができる。また、例えば、（２８）式の第３項により、学習用非特定カテゴリデータに対する特定のカテゴリらしさを表す値を、相対的に特定のカテゴリらしくないことを示す方向に変更させることができる。
【０１４７】
【数２３】
0006708385.tif 000024
【０１４８】
ここで、λは、各目的関数Ｊp（μ、Σ）、Ｊn（μ、Σ）の効果のバランスを調整す
るための正のパラメータである。パラメータλは、λは、第１、第３の実施形態で説明したパラメータλと同じ意味を持つものである。ただし、本実施形態においては、パラメータ算出部１３０７は、λ＜Ｎ／Ｍとなるようにパラメータλを設定することが好適である。（２８）式に示す目的関数Ｊ（μ、Σ）の値を最小化するパラメータμ、Σは、第１〜
第４の実施形態とは異なり、解析的に求められる。目的関数Ｊ（μ、Σ）の値を最小化す
るパラメータμ、Σは、それぞれ以下の（２９）式、（３０）式により算出される。
【０１４９】
【数２４】
0006708385.tif 000025
【０１５０】
パラメータ算出部１３０７は、以上のようにして算出したパラメータμ、Σを識別器デ
ータ出力部１３０８に送信する。
最後に、ステップＳ１４０６において、識別器データ出力部１３０８は、ステップＳ１４０５で算出されたパラメータμ、Σを、識別器データとして外部に出力する。
【０１５１】
以上の処理により、正常パターンから乖離したパターンだけでなく、学習に用いた異常パターンと類似したパターンに対しても、正しく異常パターンであると判定できる可能性の高いパターン識別器を学習することができる。尚、本実施形態におけるハイパーパラメータは、パラメータλのみであるが、これに関しても、第２の実施形態において説明した交差検定による方法により、適切の値を選択することができる。ただし、何らかの欠陥が存在する画像データを多数入手可能であれば、一般的な交差検定により、適切なハイパーパラメータλを設定することができる。
【０１５２】
以上の方法により学習したパターン識別器を用いて、複雑なテクスチャパターンを有する製造物の表面を撮影した画像から、その表面上の欠陥を、異常パターンとして検出する場合、まず、識別器は、識別器データであるパラメータμ、Σを入力する。そして、識別
器は、検査対象である画像データを入力し、当該画像データから、前述したように、ｄ種類の特徴量を抽出して、それを並べたｄ次元の特徴ベクトルを生成する。そして、識別器は、入力したパラメータμ、Σを用いて（２５）式の計算を行うことにより、そのｄ次元
の特徴ベクトルに対する非特定カテゴリ度を算出する。識別器は、この非特定カテゴリ度の値が、所定の閾値以下であれば、入力した画像データは、正常なパターンであると判定し、そうでなければ、入力した画像データは、欠陥が存在する異常パターンと判定する。
【０１５３】
以上のように、識別器は、製造物の表面欠陥検査等に用いるパターン識別器であってもよい。また、第１〜第４の実施形態では、所定の基底関数の線形結合で表される形式のパターン識別器を用いたが、本実施形態のように、それとは異なる形式のパターン識別器であってもよい。また、第１〜第４の実施形態では、特定カテゴリ度をベースとしたが、本実施形態のように、特定カテゴリ度の裏返しである、非特定カテゴリ度をベースとした手法にも適用可能である。
【０１５４】
（第６の実施形態）
次に、第６の実施形態を説明する。本実施形態では、製造装置等の装置内に設置した複数のセンサで検出された情報に基づき、その装置に異常が発生しているか否か判定する方法において用いるパターン識別器の学習方法の一例を示す。本実施形態では、製造装置を対象とする場合を例に挙げて説明するが、例えば、車両や印刷機器等を対象にした場合にも適用可能である。また、本実施形態では、識別器として１クラス系のｋ近傍法を拡張したパターン識別器を用いる。このように、本実施形態と第１〜第５の実施形態は、識別器が異なることによる構成および処理が主として異なる。したがって、本実施形態の説明において、第１〜第５の実施形態と同一の部分については、図１〜図１４に付した符号と同一の符号を付す等して詳細な説明を省略する。
【０１５５】
図１５は、識別器作成装置１５００の機能的な構成の一例を示す図である。また、図１６は、識別器作成装置１３００による処理の一例を説明するフローチャートである。以下、図１５および図１６を参照しながら、本実施形態の識別器学習方法の一例について、第１〜第５の実施形態と異なる部分について説明する。
【０１５６】
ステップＳ１６０１において、学習データ入力部１５０１は、多数の学習データを入力する。学習データは、識別器の学習に用いられる。本実施形態では、多数の学習データとして、多数の様々な稼働状況における、製造装置内に設置した複数のセンサで検出された情報をセットにしたデータを用いる。以下の本実施形態の説明では、センサで検出された情報を必要に応じてセンサ情報と記載する。ここでは、正常な稼働状況で取得されたＮセットのセンサ情報と、何らかの異常が発生した状況で取得されたＭセットのセンサ情報を入力する。尚、正常な稼働状況で取得されたセンサ情報の数は多い程好ましい。一方、何らかの異常が発生した状況で取得されたセンサ情報は、少なくとも１つあればよい。学習データ入力部１５０１は、例えば、製造装置内の複数の箇所における温度、製造装置内の複数の配線箇所における電流量、および製造装置内の複数の可動箇所における一定期間内の応力変化等、複数のセンサ情報をセットにしたデータを入力する。学習データ入力部１５０１は、入力したデータを、学習データ保持部１５０２に記録する。本実施形態では、例えば、正常な稼働状況で取得されたセンサ情報が学習用特定カテゴリデータの一例であり、何らかの異常が発生した状況で取得されたセンサ情報が学習用非特定カテゴリデータの一例である。
【０１５７】
続いて、ステップＳ１６０２において、特徴抽出・正規化部１５０３は、ステップＳ１６０１で入力されたそれぞれのデータに対して、特徴データの抽出と、特徴データの正規化とを行う。本実施形態では、特徴抽出・正規化部１５０３は、各種のセンサ情報に基づいて、ｄ次元（例えば３０次元程度）の特徴ベクトルを生成し、この特徴ベクトルの要素ごとに正規化処理を行う。ｄ次元の特徴ベクトルの各要素として、温度センサの値等、センサ情報をそのまま用いる場合がある。また、例えば、一定期間内の応力変化といった、時系列的なデータに関しては、スペクトル解析により、所定の周波数成分の強度を抽出して、それを特徴ベクトルの要素として用いる場合もある。もちろん、周波数成分の強度に限らず、例えば、時系列的なデータの最大値と最小値の差分を特徴ベクトルの要素としても構わない。
【０１５８】
そして、特徴抽出・正規化部１５０３は、正常な稼働状況で取得されたＮセットのセンサ情報から生成した特徴ベクトルの各要素の標準偏差を求め、生成した全ての特徴ベクトルの各要素を、当該要素の標準偏差で除することによって正規化を行う。特徴抽出・正規化部１５０３は、学習データ保持部１５０２に記録されている全てのデータに対して、前述した特徴ベクトルの生成と、特徴ベクトルの正規化とを行う。そして、特徴抽出・正規化部１５０３は、それらを特徴ベクトルの生成元のデータと相互に関連付けて学習パターン保持部１５０４に記録する。
【０１５９】
また、特徴抽出・正規化部１５０３は、何らかの異常が発生した状況で取得されたＭセットのセンサ情報についても、前述したようにして、特徴ベクトルの生成と、特徴ベクトルの正規化とを行う。そして、特徴抽出・正規化部１５０３は、それらを特徴ベクトルの生成元のデータと相互に関連付けて学習パターン保持部１５０４に記録する。
【０１６０】
以下の本実施形態の説明では、正常な稼働状況で取得されたセンサ情報から生成され正規化されたｄ次元の特徴ベクトルを、必要に応じて正常パターンと記載する。また、何らかの異常が発生した状況で取得されたセンサ情報から生成され正規化されたｄ次元の特徴ベクトルを、必要に応じて異常パターンと記載する。本実施形態では、正常パターンとして、Ｎ個のｄ次元の特徴ベクトルが、異常パターンとして、Ｍ個のｄ次元の特徴ベクトルが、それぞれ学習パターン保持部１５０４に記録される。
【０１６１】
ここで、本実施形態において学習するパターン識別器について説明する。本実施形態では、１クラス系のｋ近傍法を拡張したパターン識別器を用いる。具体的には、識別器は、入力されたｄ次元の特徴ベクトルｘに対する、Ｎ個の正常パターンそれぞれに対応する重みパラメータ｛ｗi｝（ｉ＝１、２、・・・、Ｎ）を用いた以下の（３０）式に示す式ｆ（ｘ）の値を計算する。識別器は、この計算の結果に基づいて、入力されたｄ次元の特徴ベクトルｘが特定のカテゴリであるか否かを判定する。
【０１６２】
【数２５】
0006708385.tif 000026
【０１６３】
ここで、ｉ*は、Ｎ個の正常パターンの内、入力した特徴ベクトルｘとのユークリッド距離が近いｋ個（ｋはハイパーパラメータであり、例えば、ｋ＝３等）以内の正常パターンの番号である。ｘi*、ｗi*は、それぞれ、ｉ*番目の正常パターン、ｉ*番目の正常パターンに対応する重みパラメータである。つまり、（３０）式は、学習に用いたＮ個の正常パターンの内、入力した特徴ベクトルｘとのユークリッド距離が近いｋ個の正常パターンまでのユークリッド距離を、各正常パターンに対応する重みパラメータで重み付けして総和をとったものとなる。
【０１６４】
そして、識別器は、この（３０）式の値を、非特定カテゴリ度とみなし、この値が、所定の閾値未満ならば、入力した特徴ベクトルｘは、特定カテゴリであり、そうでなければ、入力した特徴ベクトルｘは特定カテゴリではないと判定する。ここで、全ての重みパラメータｗi*を１とすると、いわゆる１クラス系のｋ近傍法のパターン識別器の一般的な方法の１つとなる。
【０１６５】
これに対し、本実施形態では、正常パターンに対する重みパラメータ｛ｗi｝を導入する。そして、入力した学習用のデータを用いて、ステップＳ１６０３以降の処理で、この重みパラメータ｛ｗi｝を設定することで、学習に用いる異常パターンに対する感度を上げる。
【０１６６】
まず、ステップＳ１６０３において、近傍データ距離算出部１５０５は、Ｍ個の異常パターンのそれぞれについて、Ｎ個の正常パターンの内、最もユークリッド距離が近いｋ個の正常パターンと、その正常パターンまでのユークリッド距離とを求める。ここでの具体的な処理を、ｍ番目の異常パターンについての処理を例として説明する。まず、近傍データ距離算出部１５０５は、ｍ番目の異常パターンと、１番目からＮ番目までの、Ｎ個の全ての正常パターンとのユークリッド距離を算出し、算出した全てのユークリッド距離の内、小さい値のユークリッド距離をｋ個探索する。そして、近傍データ距離算出部１５０５は、探索したｋ個のユークリッド距離のそれぞれについて、対応する正常パターンが何番目であるのかの番号と、当該番号の正常パターンとｍ番目の異常パターンとのユークリッド距離とをセットにしたものを求める。近傍データ距離算出部１５０５は、この処理を、Ｍ個の異常パターンの全てに対して行う。結局、ここでの処理により、正常パターンの番号と、それに対応するユークリッド距離とをセットにしたものが、Ｍ×ｋ個分得られることになる。
【０１６７】
次に、ステップＳ１６０４において、重みパラメータ算出部１５０６は、ステップＳ１６０３で求めた正常パターンの番号とそれに対応するユークリッド距離とのセットに基づき、Ｎ個の正常パターンのそれぞれに対応する重みパラメータ｛ｗi｝を算出する。具体的には、重みパラメータ算出部１５０６は、以下の（３１）式により、各重みパラメータｗiを算出する。
【０１６８】
【数２６】
0006708385.tif 000027
【０１６９】
ここで、ｍ＾は、ｉ番目の正常パターンが、ｋ個以内の近傍であった異常パターンの番号である。ｍ＾は、ステップＳ１６０３の結果に基づいて得られる。ｘ'm^は、ｍ＾番目の異常パターンである。また、λは、第１、第３、第５の実施形態で説明したパラメータλと同様の意味を持つハイパーパラメータである。すなわち、λは、パターン識別器の学習における、異常パターンに関しての効果を調整するための正のパラメータである。
【０１７０】
（３１）式に示すように、重みパラメータｗiは、Ｍ個の異常パターンのいずれにおいても、ｉ番目の正常パターンがｋ個以内の近傍ではなかった場合に最小値１となる。そして、少なくとも１つの異常パターンにおいて、ｉ番目の正常パターンがｋ個以内の近傍にあった場合は、そのユークリッド距離に反比例する重みが加算されることになる。このように、異常パターンの近傍にある正常パターンに対する重みパラメータを増加させることで、当該正常パターンの近傍（つまり異常パターンの近傍）のデータに対しては、（３０）式に示す非特定カテゴリ度が大きくなる。その結果として、学習に用いた異常パターンの非特定カテゴリ度が大きくなり、特定カテゴリではないと判定できる可能性が高くなるようにパターン識別器を学習できる。尚、（３１）式に示す非特定カテゴリ度は、正常パターンの分布から乖離したようなデータに対しては、重みパラメータの値に関わらず、大きな値となるため、そのようなデータについても、特定のカテゴリではないと、正しく判定することができる。
【０１７１】
最後に、ステップＳ１６０５において、識別器データ出力部１５０７は、学習の結果から得られる識別器データを外部に出力する。ここでは、識別器データ出力部１５０７は、Ｎ個の重みパラメータ｛ｗi｝と、各重みパラメータ｛ｗi｝に対応するＮ個の正常パターン｛ｘi｝と、特徴ベクトルの各要素の標準偏差（ｄ個の標準偏差）とを、識別器データとして出力する。
【０１７２】
尚、本実施形態の識別器学習方法においても、２つのハイパーパラメータｋ、λが存在する。これらのハイパーパラメータに関しても、第２の実施形態において説明したのと同様の交差検定を行うことにより、適切なパラメータを設定することができる。
【０１７３】
続いて、以上のようにして学習した識別器を用いて、製造装置内に設置された複数のセンサ情報に基づき、当該製造装置に異常が発生しているか否か判定するパターン識別方法の一例を説明する。
図１７は、識別器１７００の機能的な構成の一例を示す図である。また、図１８は、識別器１７００による処理の一例を説明するフローチャートである。以下、図１７および図１８を参照しながら、本実施形態のパターン識別方法の一例を説明する。
【０１７４】
まず、ステップＳ１８０１において、図１６のステップＳ１６０５で出力された識別器データを入力する。ここでは、Ｎ個の重みパラメータ｛ｗi｝（ｉ＝１、２、・・・、Ｎ）と、各重みパラメータ｛ｗi｝に対応するＮ個の正常パターン｛ｘi｝（ｉ＝１、２、・・・、Ｎ）と、特徴ベクトルの各要素の標準偏差（ｄ個の標準偏差）とを入力する。図４のステップＳ４０１で説明したのと同様に、識別器データの入力の形態は特に限定されない。Ｎ個の重みパラメータ｛ｗi｝とＮ個の正常パターン｛ｘi｝は、後述する非特定カテゴリ度算出部１７０４において用いられる。このため、Ｎ個の重みパラメータ｛ｗi｝とＮ個の正常パターン｛ｘi｝は、非特定カテゴリ度算出部１７０４に送信される。また、ｄ個の標準偏差については、後述する特徴抽出・正規化部１７０３において、特徴ベクトルの正規化のために用いられる。このため、ｄ個の標準偏差は、特徴抽出・正規化部１７０３に送信される。
【０１７５】
続いて、ステップＳ１７０２において、データ入力部１７０２は、異常が発生しているか否かを判定する製造装置１７１０内に設置した複数のセンサで検出された情報（複数のセンサ情報）をセットにしたデータを入力する。ここでは、製造装置１７１０に設置された複数のセンサにより検出された温度等の複数のセンサ情報をセットにしたデータを入力する。
【０１７６】
次に、ステップＳ１８０３において、特徴抽出・正規化部１７０３は、ステップＳ１８０２で入力されたデータに対し、図１６のステップＳ１６０２で説明したのと同様にして、特徴ベクトルの生成と、特徴ベクトルの各要素の正規化とを行う。ここでの処理により、ステップＳ１８０２で入力されたデータに基づくｄ次元の特徴ベクトルｘが得られる。
次に、ステップＳ１８０４において、非特定カテゴリ度算出部１７０４は、ステップＳ１８０１で入力された識別器データと、ステップＳ１８０３で生成された正規化後のｄ次元の特徴ベクトルｘを用いて（３１）式の計算を行い、非特定カテゴリ度を算出する。
【０１７７】
最後に、ステップＳ１８０５において、識別結果出力部１７０５は、ステップＳ１８０４で算出された非特定カテゴリ度と閾値とを比較する。そして、非特定カテゴリ度が、閾値以下である場合、識別結果出力部１７０５は、正規化後のｄ次元の特徴ベクトルｘは、特定カテゴリであり、制御装置は正常であると判定する。一方、非特定カテゴリ度が、閾値以下でない場合、識別結果出力部１７０５は、正規化後のｄ次元の特徴ベクトルｘは、特定カテゴリではなく、制御装置に異常が発生していると判定する。識別結果出力部１７０５は、この判定の結果を外部に出力する。尚、図４のステップＳ４０５で説明したのと同様に、判定の結果の出力の形態は、特に限定されない。
【０１７８】
以上の処理により、製造装置等の装置内に設置した複数のセンサで検出された情報（複数のセンサ情報）に基づき、その装置に異常が発生しているか否かを判定することが可能になる。特に、正常な状態におけるセンサ情報と比べて識別器に入力されたセンサ情報が大きく異なる場合だけでなく、パターン識別器の学習に用いた、何らかの異常が発生した時のセンサ情報に近い場合にも、異常が発生していると正しく判定を行える可能性が高くなる。
【０１７９】
以上のように、識別器は、画像や動画像に対するパターン識別に限らず、センサ情報といったデータに対するパターン識別を行う識別器でもよい。そのため、装置の異常を検出する識別器であっても、学習に用いた特定カテゴリのデータと大きく異なるデータと、学習に用いた非特定カテゴリのデータに近いデータとを正しく識別することができる。また、本実施形態で示したように、パターン識別器の学習方法は、ｋ近傍法をベースとしたような識別器の学習等、様々な識別器の学習方法を適用することが可能である。
【０１８０】
尚、前述した実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【０１８１】
（その他の実施例）
本発明は、以下の処理を実行することによっても実現される。即ち、まず、以上の実施形態の機能を実現するソフトウェア（コンピュータプログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）が当該コンピュータプログラムを読み出して実行する。
【符号の説明】
【０１８２】
１００、６００、８００、１３００、１５００：識別器作成装置、３００、１０００、１７００：識別器
【図１】
0006708385.tif 000028
【図２】
0006708385.tif 000029
【図３】
0006708385.tif 000030
【図４】
0006708385.tif 000031
【図５】
0006708385.tif 000032
【図６】
0006708385.tif 000033
【図７】
0006708385.tif 000034
【図８】
0006708385.tif 000035
【図９】
0006708385.tif 000036
【図１０】
0006708385.tif 000037
【図１１】
0006708385.tif 000038
【図１２】
0006708385.tif 000039
【図１３】
0006708385.tif 000040
【図１４】
0006708385.tif 000041
【図１５】
0006708385.tif 000042
【図１６】
0006708385.tif 000043
【図１７】
0006708385.tif 000044
【図１８】
0006708385.tif 000045