(57)【特許請求の範囲】
【請求項１】
実世界データから高次元の特徴量を計算する特徴量計算手段と、
予め収集した学習用実世界データから前記特徴量を異常判別空間に射影するために生成された行列を使用して、検査用に入力された実世界データから計算された特徴量を異常の有無を判定する異常判別空間に射影する射影手段と、
前記異常判別空間上の分布から異常の有無を判断する異常判断手段と、
既知の異常の場合、異常と判断した際に前記異常判別空間上の分布の傾向から異常の内容を識別して提示する異常識別手段と、
異常の検知結果として、前記異常判別空間上の分布を可視化表示する表示手段とを備えたことを特徴とする異常検出装置。
【請求項２】
更に、前記表示手段によって表示された検知結果から学習処理を行い、前記行列を更新する学習更新手段を備えたことを特徴とする請求項１に記載の異常検出装置。
【請求項３】
前記行列は、カテゴリカル・フィルターを用いて生成されていることを特徴とする請求項１に記載の異常検出装置。
【請求項４】
実世界データから高次元の特徴量を計算するステップと、
予め収集した学習用実世界データから前記特徴量を異常判別空間に射影するために生成された行列を使用して、検査用に入力された実世界データから計算された特徴量を異常の有無を判定する異常判別空間に射影するステップと、
前記異常判別空間上の分布から異常の有無を判断するステップと、
既知の異常の場合、異常と判断した際に前記異常判別空間上の分布の傾向から異常の内容を識別して提示するステップと、
異常の検知結果として、前記異常判別空間上の分布を可視化表示するステップとを含むことを特徴とする異常検出方法。
【請求項５】
コンピュータに、
実世界データから高次元の特徴量を計算する特徴量計算機能と、
予め収集した学習用実世界データから前記特徴量を異常判別空間に射影するために生成された行列を使用して、検査用に入力された実世界データから計算された特徴量を異常の有無を判定する異常判別空間に射影する射影機能と、
前記異常判別空間上の分布から異常の有無を判断する異常判断機能と、
既知の異常の場合、異常と判断した際に前記異常判別空間上の分布の傾向から異常の内容を識別して提示する異常識別機能と、
異常の検知結果として、前記異常判別空間上の分布を可視化表示する表示機能とを実現させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、異常検出装置、異常検出方法及びプログラムに関するものであり、特に検出結果を直感的に把握可能な視覚情報として表示する異常検出装置、異常検出方法及びプログラムに関する。
【背景技術】
【０００２】
従来、画像データや音データ等からの異常検出による自動化、省力化のニーズは、監視カメラ、種々の製品検査（目視検査）、プラントやシステムの状態モニタリング（センサ情報や音）など多岐にわたっている。そして、異常検出のニーズはカメラやセンサの普及とも相まって今後益々増大すると思われる。異常検出の自動化、省力化を実現するための手段としては、例えば下記特許文献１、特許文献２に記載された方法が提案されている。    【０００３】
下記特許文献１、２には、非特許文献１に記載された立体高次局所自己相関特徴抽出法と呼ばれる手法を用いて特徴量を計算し、映像中の人物の行動の異常度を算出し、異常を検出する方法が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４３６８７６７号
【特許文献２】特開２００７−２１９８６５号
【非特許文献】
【０００５】
【非特許文献１】A Three-Way Auto-Correlation Based Approach to Human Identification by Gait, Proc. IEEE Workshop on Visual Surveillance (VS), pp.185-192, 2006.
【発明の概要】
【発明が解決しようとする課題】
【０００６】
前記した従来の技術においては下記のような問題点があった。特許文献１に記載された従来技術は、異常を「学習時に用意された正常データと異なるもの」と定義し、学習的に正常データから計算された特徴量の部分空間を生成、そこからの逸脱度（異常値）に対して閾値処理を行い、正常/異常の判定を行っている。しかしながら、異常にも何通りか内容の違いがあるが、従来法は異常値と言うスカラー値のみで正常ではないものを一括りに異常と判定するため、異常の違いを判別する事はできなかった。    【０００７】
例えば、高速道路における映像監視を例にした場合、異常値の大きさから正常、異常の判定は出来ても、検出した異常が「自動車の逆走」なのか、「人の侵入」なのか判断する事ができない。また、異常を「学習時に用意された正常データと異なるもの」として捉えるため、学習データから逸脱するような稀有な正常事例、例えばカメラの前を鳥が横切る場合なども異常として検出してしまうという問題もあった。    【０００８】
特許文献２では、学習サンプルに異常例も加えて、「誤報率（正常を異常）と失報率（異常を正常）を計算し、両者の値が同じとなるなどの基準から適切な閾値を決める」、「正常、異常の２段階ではなく、軽度な異常も含めた３段階やそれ以上にも拡張」、「寄与率（次元）も、誤報率や失報率が小さくなるように決める」といった改良方法が示されている。これらの方法により、異常値の閾値設定や程度に関しては、設定時のオペレーターの負担の軽減には成功しているものの、上記した問題の基本的な解決には至っていない。    【０００９】
非特許文献１では、予め用意したデータを複数カテゴリに分けた上で、特徴量分布の傾向を学習的にモデル化し、テストデータがどのカテゴリに属するか識別する、いわゆるパターン認識の方法が提案されている。    【００１０】
そこで、この様な方法を採用することで問題の解決を図る事も可能だが、テストデータを識別する空間が４次元以上の高次の空間となる場合が通常であり、識別結果を視覚的かつ直感的に把握する事は困難であり、また、正常と異常の判別の観点は考慮されていなかった。    【００１１】
先行技術に対する問題点を改めて整理すると、次の２点にまとめる事ができる。（１）異常は「オペレーターが想定する既知の異常」と「想定外の未知の異常」の２つに大別されるが、異常の度合いの大小で正常、異常を判定する特許文献１、特許文献２の方式では、この２つ（既知の異常の場合はその種類）を区別する事ができない。    【００１２】
（２）非特許文献１の方式においても、高次元の特徴空間上の識別結果をオペレーターが直感的に把握可能な情報として提示することが困難であり、正常と異常の判別の視点やユーザインタフェースの視点は欠如していた。    【００１３】
本発明の目的は、上記の従来技術の問題点を解決し、実世界データから計算された特徴量を用いて、下記の機能を実現する事にある。・正常、異常の判定を行い、異常と判定された場合、既知の異常なのか、それとも未知の異常なのかを識別する。更に、既知の異常の場合、その内容を識別する。・上記異常の検出および識別は、従来の正常と異常の２クラスの判別分析ではなく、新たな判別手法（カテゴリカル・フィルター）を採用する。・検知結果をオペレーターが直感的に把握可能な情報として、高次元の特徴量の空間を、異常判別のための少数次元（２〜３次元）の異常判別空間（２次元の場合は異常判別平面）に射影して画面に表示すると共に、必要に応じて判定処理にフィードバックする。
【課題を解決するための手段】
【００１４】
本発明の異常検出装置は、実世界データから高次元の特徴量を計算する特徴量計算手段と、予め収集した学習用実世界データから特徴量を異常判別空間に射影する行列を生成する行列生成手段と、前記行列を使用して、検査用に入力された実世界データから計算された特徴量を異常の有無を判定する異常判別空間に射影する射影手段と、異常判別空間上の分布から異常の有無を判断する異常判断手段と、既知の異常の場合、異常と判断した際に異常判別空間上の分布の傾向から異常の内容を識別して提示する異常識別手段と、検知結果を直感的に理解するため異常判別空間上の分布を可視化表示する表示手段を備えたことを主要な特徴とする。    【００１５】
また、前記した異常検出装置において、更に、可視化表示手段によって表示された検知結果から学習処理を行い、前記行列を更新する学習更新手段を備えた点にも特徴がある。    【００１６】
また、前記した異常検出装置において、前記行列生成手段はカテゴリカル・フィルターを用いて前記行列を生成する点にも特徴がある。    【００１７】
また、本発明の異常検出方法は、実世界データから高次元の特徴量を計算するステップと、予め収集した学習用実世界データから特徴量を異常判別空間に射影する行列を生成するステップと、前記行列を使用して、検査用に入力された実世界データから計算された特徴量を異常の有無を判定する異常判別空間に射影するステップと、異常判別空間上の分布から異常の有無を判断するステップと、既知の異常の場合、異常と判断した際に異常判別空間上の分布の傾向から異常の内容を識別して提示するステップと、検知結果を直感的に理解するため異常判別空間上の分布を可視化表示するステップを含むことを主要な特徴とする。
【発明の効果】
【００１８】
本発明の異常検出装置および異常検出方法には以下のような効果がある。
（１）提示された異常判別空間上の可視化情報からどのような内容の異常だったのかを直感的に把握する事が可能となるので、単純に異常値の大きさのみで判定した場合に誤報となるケースについても、可視化情報によってオペレーターが発見したい本当の異常と誤報の違いを直感的に把握可能となる。このため、異常検出装置が異常を検出した際に取るべき対応をより最適に選択する事が出来る。例えば工場における生産機械の故障診断においては、検出結果をもとに効率的なＰＤＣＡサイクルが実現し、機械メンテナンスの効率化が実現できる。    【００１９】
（２）異常検出装置の運用開始直後等のタイミングで誤報が多発した場合においても、可視化情報に基づき容易に適切な閾値に変更することが可能となる。
【図面の簡単な説明】
【００２０】
【図１】図１は本発明の異常検出装置のハードウェア構成を示すブロック図である。
【図２】図２は本発明の異常検出方法を使用した異常検出処理の内容を示すフローチャートである。
【図３】図３は本発明の学習処理の内容を示すフローチャートである。
【図４】図４は本発明における異常検知処理の内容を示すフローチャートである。
【図５】図５は本発明における学習更新処理の内容を示すフローチャートである。
【図６】図６は本発明における異常判別空間の表示例を示す説明図である。
【図７】図７は本発明における異常値推移と異常判別空間上の分布の関係を示す説明図である。
【図８】図８は本発明の動画像解析における異常判別空間表示画面例を示す説明図である。
【図９】図９は本発明の静止画像による外観検査における異常判別空間表示画面例を示す説明図である。
【発明を実施するための形態】
【００２１】
以下に、この発明の実施の形態を実施例によって図面に基づき詳細に説明する。本発明による異常検出装置においても、従来の技術と同様に正常、異常を判定するための１スカラー量（１次元）を計算する。以後、この値を異常値と呼ぶ。更に、異常判別を行う元の特徴空間（高次元）を最適に射影して得られる異常判別空間での分布位置として、検知結果を少数次元（２〜３次元）空間に表示して可視化する。    
【００２２】
異常判別空間（平面）の作成方法としては、異常値を計算する特徴空間上において異常検出に最も寄与する２つの次元を選択する方法が考えられる。従来法では、特徴空間での異常の違いなどの情報が、正常からの逸脱度（異常値）の１次元（スカラー値）に集約され、その閾値処理で正常、異常の２クラス判定されており、異常の違い（方向）などの情報が落とされ、有効に利用されていなかった。    
【００２３】
これに対して、本発明では、そのような異常の違いなどの欠落情報も、２次元の異常判別平面上での位置の違いとして表示され、オペレーターによる異常の直感的把握や識別が可能となる。    
【００２４】
図７は、本発明の動画像解析における異常判別空間の表示画面例を示す説明図であり、監視カメラによる病院や介護施設を想定したベッド転落検知を例にした異常値推移と異常判別平面上での分布を示している。図上部の異常値推移により、学習した正常な動きとの逸脱度合いを定量化し、ベッドからの転落を異常として検出する事は可能である。しかし、異常値推移から寝返り、見回り、転落などを識別する事は不可能であり、異常値のみでは、ベッド周辺でどのような事がおきているか等のより詳細な情報を把握する事はできない。    
【００２５】
そこで、本発明においては、図７下部に示すように検知結果を異常判別平面上にプロットさせ、その分布の傾向(図中の場所の違い)から寝返り(正常)、見回り(正常)、転落(異常)を識別する事ができる。さらに、判定結果の妥当性を視覚化情報からオペレーターが容易に判断する事が出来る。例えば、図下部のプロットから異常は異常判別平面の第２象限に分布する傾向があるとわかり、それ以外の象限に分布した場合は、誤報の可能性がある等の判断を下す事が出来る。    
【００２６】
また、異常判別平面上の分布はリアルタイムにオペレーターに提示する。分布を提示する際に、検知状況をより的確にかつ直感的に把握できるようにするため下記に示す情報（付加情報）を分布情報に追加して提示する。（１）閾値設定情報、（２）過去の検知結果履歴（３）オペレーターが実世界データに対して付与した、正常、異常のラベル情報。    
【００２７】
このような視覚情報を提示することで、検知結果の傾向を直感的に把握可能となる。例えば、特徴分布の傾向が過去の検知履歴とは異なり逸脱した事を示すことにより、オペレーターが想定していない未知の現象が発生した可能性を把握することができる。なお、付加情報の表示はオペレーターの選択による表示/非表示を選ぶことが出来るようにする。    
【００２８】
異常例を既知として学習に利用できる場合には、積極的に教師有り学習を用いて、より性能の高い異常判別平面を構成する。特に異常が複数モード（カテゴリ）既知の場合には、それらを異常判別平面での各分布領域（場所）として楕円や矩形等でマークしてラベル付けしておき、自動識別する。以下、実施例について説明する。
【実施例１】
【００２９】
図１は本発明の異常検出装置のハードウェア構成を示すブロック図である。図１において、カメラ１０は例えば対象物を動画あるいは静止画にて撮影するデジタルカメラであり、撮影されたデジタル画像データをコンピューター１１に出力する。コンピューター１１は例えば、汎用デジタル入出力インターフェース回路、マイクなどからのアナログ電気信号を取り込むためのインターフェース回路等を備えた周知のパソコン（ＰＣ）であってもよい。本発明は、パソコンなどの周知の任意のコンピューター１１に後述する処理を実行するプログラムを作成してインストールすることにより実現される。    【００３０】
モニタ装置１２はコンピューター１１の周知の出力装置であり、例えば異常判別平面等の解析結果情報等をオペレーターに表示するために使用される。キーボード１３およびマウス１４（タッチパネルやトラックボールであってもよい。）は、オペレーターが入力に使用する周知の入力装置である。オペレーターはモニタ装置に出力された情報を元に、マウス１４およびキーボード１５を用いて可視化された検知結果に対して表示方法に関する操作等を行う。    【００３１】
操作としては、例えば（１）データ収集機器が複数接続されている場合において可視化対象とする接続機器を選択する。（２）可視化された分布の一部を拡大して表示するというような操作が考えられる。    【００３２】
図２は本発明の異常検出方法を使用した異常検出処理の内容を示すフローチャートである。本発明で実行される処理は学習処理、異常検知処理、学習更新処理に大別される。Ｓ１０の学習処理では、事前に収集した画像データなどの実世界データから特徴量を計算し、学習サンプルデータを生成する。そして、この学習サンプルデータを利用して、特徴量を異常判別空間上に可視化するための変換行列を学習的に生成する。変換行列生成後、異常検出を行うための閾値を決定する。    【００３３】
Ｓ１１の異常検知処理では、検査対象となる実世界データから計算された特徴量と学習処理結果で得られた変換行列から正常、異常の判定を行い、異常の場合は「異常の違い」を識別する。更に、検知結果を異常判別空間に表示し、正常、異常およびその違いを視覚的に確認可能にする。検知処理は検査対象となる実世界データが入力される度に繰り返し実行される。    【００３４】
Ｓ１２においては例えばオペレーターから処理終了の指示が入力されたか否かが判定され、判定結果が否定の場合にはＳ１１に移行するが、肯定の場合には処理を終了する。    【００３５】
Ｓ１３の学習更新処理はオペレーターによるＳ１１の判定結果の目視確認、学習更新の作業であり、オペレーターが必要に応じて任意のタイミングで起動することにより、検知処理と並行して後述する処理が実行される。学習更新処理の結果はＳ１１の異常検知処理に反映され、判定精度が向上していく。    【００３６】
図３は本発明の学習処理の内容を示すフローチャートである。Ｓ２０では、例えば画像データや音データなど、学習に用いる実世界データの収集を行う。Ｓ２１では収集した実世界データから特徴量を計算する。特徴量計算方法の例としては様々な汎用的な特徴量を計算する事が可能な高次局所自己相関特徴抽出法が考えられるが、その他の特徴量計算方法を採用しても良い。    【００３７】
高次自己相関特徴量の計算方法の例としては特許文献１に記載された動画を対象とした計算方法がある。計算される特徴量は、次の特徴空間上のベクトルで表現される。    【００３８】
【数１】
0006903142.tif 000002
【００３９】
ここで添え字ｉは、動画や音の様に時系列データの場合、適当な時間枠をずらしながらサンプリングされた特徴ベクトルの時系列の時間に沿った添え字である。また、各種製品の目視検査時に撮影された静止画像の様に非時系列データの場合は、添字ｉはサンプル番号を示す。    【００４０】
添え字ｍは、計算される高次自己相関特徴量等の次元数を示す。計算された特徴量の次元数は、対象となる実世界データによって変わるが、例えば２値の静止画像の場合：２５次元、２５６階調の静止画像の場合：３５次元、２値の動画像の場合：２５１次元など、いずれの場合においても高次元となる。    【００４１】
Ｓ２２においては、学習用の教師データ（正常、異常のラベル付けを行なったデータ）を作成するか否かが判定され、判定結果が否定の場合にはＳ２５に移行するが、肯定の場合にはＳ２３に移行する。例えば、実世界データの数が少なく、かつ全てが正常データであるような場合には教師データの作成は行わない。    【００４２】
Ｓ２３においては、収集した実世界データすべてに対してオペレーターが正常/異常のラベル付を行い、ラベルのデータを入力する。例えば、種々の製品の外観検査の場合、目視検査で良品と判断されたサンプル画像に対して正常とラベル付を行い、目視検査で欠陥が含まれたと判断されたサンプル画像に対して異常とラベル付けする。また、動画像や音響データなどの時系列データを対象とする場合、なんらかの障害が発生した時間帯に収集した実世界データに対して異常とラベル付し、それ以外の実世界データに対して正常とラベル付けする。求まった特徴量で構成される学習サンプルデータは、下記の様に表現する。    【００４３】
【数２】
0006903142.tif 000003
【００４４】
ここで、Ｎは正常例のサンプル、Ａは異常例を示すサンプルであり、通常ｓ≫ｔである。    【００４５】
Ｓ２４の処理では、実世界データから計算された特徴量を、オペレーターが直感的に目視確認可能な異常判別空間（２次元平面）に射影する変換行列を計算する。異常判別平面を構成する座標ベクトルを単位ベクトルの組みａ１，ａ２として、特徴ベクトルｘｊの線形射影（ａｆｆｉｎｅ写像）を考えると、異常判別平面への射影は下記式で表現できる。    【００４６】
【数３】
0006903142.tif 000004
【００４７】
ここでベクトルは全て縦ベクトル、行列Ａ’は行列Ａの転置行列、ｂは平行移動ベクトルを表す。Ｓ２４の処理により、学習サンプルデータから上記行列Ａおよび平行移動ベクトルｂを導出する。    【００４８】
従来、異常例が少数ながらも「正常ではないもの」という括りで得られている場合には、まず公知の判別分析を正常と異常の２クラスの判別に適用することが考えられる。しかし、一般にＫクラスの判別分析では実質最大Ｋ−１次元の判別空間が得られるため、２クラス判別の場合には実質には１次元の判別軸（正常ｖｓ異常）ａ_１が得られる。    【００４９】
この軸に沿って値を閾値処理して判別的な異常検出を行うことが出来るが、異常判別空間の構成には第２軸の取り方に任意性が残る。第２軸を適当に取って（例えば判別力の無い第２固有値λ_２＝０に対応する固有ベクトルなど）構成したとしても、その平面上では正常と異常の２クラスが分離した２つのクラスターとして捉え
られるだけである。異常の違いがあったとしても同一の異常のクラスターに射影されて区別はされない。    【００５０】
そこで本発明では、正常なサンプルが原点周りに集まり、異常サンプルは原点から遠くに出来るだけ区別されて散らばるような異常判別平面を生成する手法としてカテゴリカル・フィルターを提案する。これは、あるクラス（今の場合は正常）に軸足を置いた判別写像の構成法であり、次のような定式化で行列Ａと平行移動ベクトルｂを求める。まず、正常クラスのサンプル（Ｎ）の平均（重心  μN）を写像先（ｙ）の原点へ写像（平行移動）する。これによりｂが求まる。    【００５１】
【数４】
0006903142.tif 000005
【００５２】
次に、正常クラスのサンプルの原点周りの分散σ２Ｎを１とする条件の下で、注目クラス以外（今の場合は異常）のサンプル（Ａ）の原点周りの分散σ２Ａを最大化する写像行列Ａを求める。これは、それらの比λ＝σ２Ａ／σ２Ｎを最大化することに等価であり、λをラグランジュ乗数とする次の変分問題に帰着される。    【００５３】
【数５】
0006903142.tif 000006
【００５４】
これを解くと、次の判別分析型の固有値問題に帰着される。    【００５５】
【数６】
0006903142.tif 000007
【００５６】
ここに、ＣＮは正常サンプルの所謂共分散行列、ＣＡは異常サンプルの原点周りの共分散行列（ｓｃａｔｔｅｒ行列）である。そして、上位最大２固有値λ１≧λ２に対応する固有ベクトルを並べたＡ＝［ａ１，ａ２］（ｍ×２）が最適な異常判別空間（平面）への写像行列として求まる。    【００５７】
一方、Ｓ２５においては、学習時に異常例が明示的に与えられないか、あるいは学習を行うのに十分な異常例を用意できないケースなどにおいては、数式6におけるＣＡを単位行列とする事で異常判別平面を生成する事ができる。    【００５８】
また、従来手法で提案されているＰＣＡに基づく方式で、異常判別平面を生成する事も出来る。例えば、最大ｎ固有値λ１≧λ２≧…≧λｎ≧…≧λｍまでの正常部分空間ＳＮをｎ次元で打ち切り、残りの直交補空間Ｓ⊥Ｎを異常部分空間とし、異常部分空間に対する最初の２つの固有値λ（ｎ＋１）≧λ（ｎ＋２）に対応する固有ベクトルで張る２次元平面を異常判別平面とする方法がある。    【００５９】
学習時に十分な異常例を収集する事が困難なケースの場合、上記のような方法で異常検出を行い、ある程度の検出事例が蓄積された段階で、検出データにラベルを付与し、Ｓ２３、２４の処理に移行する事も可能である。    【００６０】
Ｓ２６では閾値θに採用する値を決定する。閾値θを決定するにあたり、固有値問題のフルランクの次元ｒ≦ｍｉｎ（ｍ，ｔ）の判別空間での原点からの距離を異常の度合いを示す値として計算する。これを異常値と呼ぶ。異常値とラベル情報を基に誤報率や失報率を計算し、誤報が０になる閾値、失報が０になる閾値等をオペレーターに表示する。    【００６１】
表示方法としては、異常判別平面に正常／異常のラベル情報に応じて表示方法（色や丸、バツ、三角、四角、十字などの形状）を変更したサンプル点をプロットし、そこに候補となる閾値を示す円を描画する方法が考えられる。    【００６２】
これにより、どのようなサンプルデータが過検出され、または見落とされてしまうか視覚的に確認することができ、更に例えば過検出した正常サンプルが、異常サンプルと比べて分布の傾向が異なるか否かを視覚的に確認する事が出来る。    【００６３】
なお、学習サンプルと異なるデータセットを用意してＳ２６の閾値決定処理に利用しても良い。学習に利用していないデータセットを用意することで、閾値の信頼性をより高める事が可能となる。    【００６４】
図４は本発明における異常検知処理の内容を示すフローチャートである。Ｓ３０では検知対象となる実世界データを収集する。検知処理におけるデータ収集は学習処理と異なり、例えば予め定めた時間間隔毎に行う。例えば、１０秒間データの収集を行い、以降の検知処理を適用するという動作を繰り返す。    【００６５】
Ｓ３１では収集した実世界データから特徴量を計算する。この処理は学習処理におけるＳ２１と同様の処理である。Ｓ３２においては、閾値決定の際に採用した方法と同一の方法で異常値を計算し、異常値が閾値θ以上となった場合に異常と判定する。Ｓ３３の処理では閾値θを示す判定円が描かれた異常判別平面上に解析結果をプロットし、リアルタイムに表示する。    【００６６】
図６は本発明における２次元の異常判別空間（平面）の表示例を示す説明図である。図６において、円２０は学習処理によって設定された閾値を示す円である。丸２１とバツ２２は学習用実世界データの分布の正常を丸２１、異常をバツ２２と表示方法を変えてプロットしたものである。三角２３は異常検知処理において対象となったデータ（オペレーターによる正常、異常のラベル付与がされていないもの）の分布を示し、十字２４は直近に解析されたデータに対する分布を示す。    【００６７】
オペレーターは図６に示すような分布を目視することで、正常、異常の違いを直感的に把握する事が出来る。また、学習時に用意した異常事例（バツ２２）に対する分布からも一定以上逸脱した（離れた）分布（図６中の２４のようなケース）を未知の異常の可能性ありと判断してオペレーターに表示し、オペレーターが後述する対応を行うことによって実世界データを精査する事が出来る。Ｓ３４においては、処理の終了が指示されたか否かが判定され、判定結果が否定の場合にはＳ３０に移行するが、肯定の場合には処理を終了する。    【００６８】
図５は、本発明における学習更新処理の内容を示すフローチャートである。Ｓ３５においては、オペレーターから学習更新処理の開始が指示されたか否かが判定され、判定結果が否定の場合には処理を終了するが、肯定の場合にはＳ３６に移行する。Ｓ３６においては、オペレーターに表示画面から未学習データを１つ選択させる。未学習データとはオペレーターによる正常、異常のラベル付与がなされていないデータを指す。    【００６９】
Ｓ３７においては、オペレーターに対して動画や静止画、音などの実世界データを表示し、オペレーターはこの実世界データを見て（聞いて）正常、異常を判定し、コンピューター１１に判定結果を入力する。Ｓ３８においてはオペレーターによる判定処理の終了が指示されたか否かが判定され、判定結果が否定の場合にはＳ３６に移行するが、肯定の場合にはＳ３９に移行する。    【００７０】
Ｓ３９においては異常判定処理において異常判定に使用する行列、閾値を計算し直して更新し、オペレーターに対する表示データも更新する。Ｓ４０においては、オペレーターによって異常検出処理の終了が指示されたか否かが判定され、判定結果が否定の場合にはＳ３６に移行するが、肯定の場合には処理を終了する。    【００７１】
オペレーターによる精査の結果、真に未知の異常だった場合、オペレーターの指示に基づき、該当サンプルに正常、異常のラベルを付与して教師データに追加し、改めて学習処理を実行することで、未知の異常を既知の異常として扱うことが可能となる。    【００７２】
なお、異常検知において、検知した現象が本来は正常である（誤報）というケースが起こり得る。そこで、Ｓ３７においてプログラムによる判定結果が誤報であった場合、誤報フラグを検知結果に対して付与する。    【００７３】
また、Ｓ３７においては、オペレーターが検知された異常が既知のものか、未知のものかの確認を行う。そして、異常が未知のものである場合、異常の内容を入力し、新たな異常のクラスを作成する。    【００７４】
上記の様な操作をオペレーターが行うにあたり、装置は異常判別平面をオペレーターに提示する際に、各種解析結果情報を提示することで、検知結果をより直感的に把握することが可能となる。また、最適な提示方法は入力される実世界データが時系列データか否かで異なってくる。    【００７５】
図８は、本発明の動画像解析における異常判別空間の表示画面例を示す説明図である。動画像のような時系列データの表示方法としては、例えば図８のような構成が考えられる。入力された動画映像３５が順次画面の右上に表示され、異常が検出された際には動画映像の周囲を色付けしたり、警告音を発生させたりして警告する。また、入力される実世界データが音などの時系列信号データの場合には、解析対象となる各信号データの波形を表示する方法が挙げられる。    【００７６】
画面左下には閾値処理の対象となる異常値の推移３６と設定閾値を表示する。なお、異常値推移が閾値を超えるエリアに達した場合に閾値処理で異常となった事を示す。画面右上には図６で示した異常判別平面上の分布３７を表示している。    【００７７】
異常判別平面上にプロットされた特徴点をマウスで選択するようなインターフェースを用意することで、オペレーターによる目視確認操作を簡便に行う事が可能となる。また、図中の矩形のような表示で、目視確認情報を画面上に表示する事で、検知結果をより直感的に把握することが可能となる。    【００７８】
なお、リスト３８にチェックを入れることによりオペレーターが確認したい分布情報のみを表示させる事ができるようにする。また、保存された解析結果とリアルタイムに処理された解析結果を表示するか選択する。保存された解析結果を表示する場合は、スライドバー３９で表示対象となる日時を指定する。また、日時の指定はカレンダー形式等のインターフェースを利用してもよい。更に、スロー再生表示や逆再生表示をおこなうためのボタンを用意しても良い。    【００７９】
図８は、本発明の静止画像による外観検査における異常判別空間表示画面例を示す説明図である。外観検査では入力された静止画像のどの部分に、欠陥が存在するかを特定する必要がある。そこで、入力した静止画像を部分領域に分け、部分領域毎に特徴量の抽出と異常検知を行う。    【００８０】
図８において、画面左には検査対象となった画像と検査結果４１を表示する。検査結果情報として異常値の大きさと正常/異常の判定結果を表示し、異常値の大きな個所（図８では画像の右下の白く小さい四角）を例えば色を変えで図示する。    【００８１】
異常個所の図示は上記方法の他に異常値の大きさに応じてグラデーション表示する方法などでもよい。画面中央は異常判別平面上の特徴分布図４２であり、リスト４３から表示するサンプルを１つまたは複数指定して表示する。特徴分布図４２の丸はオペレーターの操作により、選択された特徴サンプル（１つ選択した場合はその画像の特徴サンプル、複数選択した場合は全ての画像の特徴サンプル）を示すものである。    【００８２】
このような操作を行った場合、画面左のエリア４１に対応する画像が表示され、特徴分布図４２の対応する個所に矩形を表示させる。画面右のリスト４３は保存された解析結果とリアルタイムに処理された解析結果を表示するか選択するためのものである。リアルタイム表示の場合は、外部信号をトリガーに画像撮影を行い、検査処理を実行する。図８、図９に示した情報の他に、前処理適用結果画像など解析結果が得られるまでの途中経過を画面に表示しても良い。    【００８３】
このような情報を表示する事で正常/異常の判別のみならず、異常の違いなどを視覚的かつ容易に把握する事が出来る。更に、異常の違いがある場合には２クラス判別分析の場合と異なり、異常判別平面での場所の違いとして判別される傾向が強い。従って、オペレーターに異常の違いを視覚的にも直感的に示すことが出来る。
【実施例２】
【００８４】
実施例１では学習用実世界データを正常、異常の２クラスで表現しているが、異常を複数のクラスで定義できる場合もある。映像監視への適用を例とし
た場合、「敷地内への侵入」、「喧嘩」、「転倒」のように、より詳細な異常クラスを定義する事ができる。このような場合、正常も一つのクラスとして通常の多クラスの判別分析を適用することが出来る。なお、正常についても複数のクラスで定義してもよい。多クラス（Ｋ−クラス）の判別分析を行う場合は、図３におけるＳ２４を、下記固有値問題を解くことで実現する。    【００８５】
【数７】
0006903142.tif 000008
【００８６】
ここで、特徴ベクトルのクラス内共分散行列をＣW、クラス間共分散行列をＣBとする。また、μjはクラスｊの平均特徴ベクトル、μTはそれらの全平均ベクトル、ωjはクラスｊの先験確率（Σjωj＝１）、Ｃjはクラスｊの共分散行列である。    【００８７】
ｎ＝ｍｉｎ（ｍ，Ｋ−１）次元となる判別空間において、入力特徴ベクトルと各クラスの距離（各クラスの重心とのユークリッド距離、あるいはマハラノビス距離）を計算し、最小となるクラスであると識別する事が出来る。つまり、正常か、いずれの異常であるかを検出する事が出来る。    【００８８】
また、異常の識別を重要視しない場合は、カテゴリカル・フィルターを利用する事で、より高い精度で異常検出を行う事が出来る。この場合、図３におけるＳ２４を、下記の数式に示す固有値問題を解くことで実現する。ここで、μNは正常クラスの平均特徴ベクトルである。    【００８９】
【数８】
0006903142.tif 000009
【００９０】
しかしながら、上記のような仕組みだけでは、学習したＫ個のクラスに分類されない未知の現象も学習した何れかのクラスに識別されてしまう。そこで、識別されたクラスに対する重心距離が閾値θ以上となった場合を「未知の異常」と扱う。    【００９１】
閾値決定はＳ２６の処理で行い、決定方法としてはクラス毎に閾値θiを計算する方法が挙げられる。Ｓ２６において、クラス毎に学習サンプルに対する重心距離の平均値μiと、その標準偏差σiを計算し、閾値θiを下記式で計算する。（ｎには任意の値を設定する。）    【００９２】
【数９】
0006903142.tif 000010
Ｓ３３の異常判別空間（平面）上の分布表示は基本的に実施例１と同様だが、クラス毎にθiにもとづき分布領域を表示する。即ち、実施例１と同様に、正常ラベルを付与された学習用実世界データの分布と正常クラスに対する閾値により求まる分布領域である円を表示する。また、各異常クラス群に対するラベルが付与された学習用実世界データの分布と共に分布領域を分布の重心を中心とする円で示す。このような表示を行うことで、例えば直近のデータが既知の現象にあてはまらない未知の現象であるか否かが容易にわかる。    【００９３】
以上、実施例について説明したが、本発明には以下のような変形例も考えられる。実施例においてはオペレーターに対して異常判別空間を２次元表示する例を開示したが、異常判別空間を３次元表示してもよい。この場合、表示装置は２次元表示しかできないので、オペレーターの操作に基づき、例えば表示空間を任意の方向に回転させることにより、オペレーターが各データの空間上での位置を認識することができるようにする。
【産業上の利用可能性】
【００９４】
本発明はコンピューターに入力可能な任意の信号の認識、識別、異常検出に適用可能である。
【符号の説明】
【００９５】
１０…カメラ  １１…コンピューター  １２…モニタ装置  １３…キーボード  １４…マウス  
【図１】
0006903142.tif 000011
【図２】
0006903142.tif 000012
【図３】
0006903142.tif 000013
【図４】
0006903142.tif 000014
【図５】
0006903142.tif 000015
【図６】
0006903142.tif 000016
【図７】
0006903142.tif 000017
【図８】
0006903142.tif 000018
【図９】
0006903142.tif 000019