(57)【要約】【課題】  未知のデータを、高精度かつ高速に特定のクラスに識別すること。【解決手段】  未知のデータを、特定クラスと特定外クラスに識別するためのハッシュ値を生成するハッシュ値生成装置であって、前記特定クラスに属するデータの特徴量を示す特定特徴量に基づき、ハッシュ関数を含むハッシュ関数情報を生成する生成手段と、前記生成されたハッシュ関数情報に基づき、前記特定特徴量をハッシュ値に変換する変換手段と、前記変換されたハッシュ値を正常ハッシュ値として、前記ハッシュ関数情報と関連づけて記憶する記憶手段とを備える。【選択図】  図１
2014203289.tif 000002
【特許請求の範囲】
【請求項１】
未知のデータを、特定クラスと特定外クラスに識別するためのハッシュ値を生成するハッシュ値生成装置であって、
前記特定クラスに属するデータの特徴量を示す特定特徴量に基づき、ハッシュ関数を含むハッシュ関数情報を生成する生成手段と、
前記生成されたハッシュ関数情報に基づき、前記特定特徴量をハッシュ値に変換する変換手段と、
前記変換されたハッシュ値を正常ハッシュ値として、前記ハッシュ関数情報と関連づけて記憶する記憶手段とを備えることを特徴とするハッシュ値生成装置。
【請求項２】
前記生成手段は、特徴空間上で、前記特定特徴量の密度が大きくなるように前記ハッシュ関数情報を生成することを特徴とする請求項１に記載のハッシュ値生成装置。
【請求項３】
前記生成手段は、前記特定特徴量と、前記特定外クラスに属するデータの特徴量を示す特定外特徴量とに基づき、前記ハッシュ関数情報を生成することを特徴とする請求項１または２に記載のハッシュ値生成装置。
【請求項４】
前記生成手段は、前記特定特徴量と、前記特定外クラスの特徴量を示す特定特徴量とが、前記特徴空間上で分離して分布するように前記ハッシュ関数情報を生成すること特徴とする請求項３に記載のハッシュ値生成装置。
【請求項５】
前記記憶手段に記憶されているハッシュ関数情報を評価する評価手段と、
前記評価手段の結果に基づいて、前記ハッシュ関数情報を更新する更新手段とを更に備えることを特徴とする請求項１乃至４のいずれか１項に記載のハッシュ値生成装置。
【請求項６】
前記更新手段は、前記記憶手段に記憶されているハッシュ関数情報を削除することを特徴とする請求項５に記載のハッシュ値生成装置。
【請求項７】
前記変換手段は、未知のデータの特徴量を示す未知特徴量を取得し、前記ハッシュ関数記憶部が記憶する前記ハッシュ関数情報に基づいて、前記取得した未知特徴量をハッシュ値に変換し、未知ハッシュ値として出力することを特徴とする請求項１乃至請求項６のいずれか１項に記載のハッシュ値生成装置。
【請求項８】
請求項１乃至７のいずれか一項に記載のハッシュ値生成装置と、前記ハッシュ値生成装置と接続される情報処理装置とを備えるシステムであって、
前記ハッシュ値生成装置は、
更に、前記情報処理装置から特徴量を取得する第１の取得手段を備え、
前記変換手段は、前記取得した特徴量を前記記憶手段に記憶されているハッシュ関数情報を用いて、ハッシュ値に変換して、未知ハッシュ値とし、
前記情報処理装置は、
未知のデータを取得する第２の取得手段と、
前記取得した未知のデータから、特徴量を抽出する抽出手段と、
前記ハッシュ値生成装置から、前記変換された未知ハッシュ値と、前記正常ハッシュ値とを取得する第２の取得手段と、
前記取得された前記ハッシュ値と、前記正常ハッシュ値とに基づいて、前記未知のデータが前記特定のクラスに属するか否かを判定する判定手段とを備えることを特徴とするしシステム。
【請求項９】
前記情報処理装置は、
更に、前記未知のデータを撮像する撮像手段と、
前記判定された結果を出力する出力手段とを更に備えることを特徴とする請求項８に記載のシステム。
【請求項１０】
未知のデータを、特定クラスと特定外クラスに識別するためのハッシュ値を生成するハッシュ値生成方法であって、
前記特定クラスに属するデータの特徴量を示す特定特徴量に基づき、ハッシュ関数を含むハッシュ関数情報を生成する生成工程と、
前記生成されたハッシュ関数情報に基づき、前記特定特徴量をハッシュ値に変換する変換工程と、
前記変換されたハッシュ値を正常ハッシュ値として、前記ハッシュ関数情報と関連づけて記憶する記憶工程とを備えることを特徴とするハッシュ値生成方法。
【請求項１１】
ハッシュ値生成装置と、前記ハッシュ値生成装置と接続される情報処理装置とを備えるシステムにおける判定方法であって、
前記情報処理装置の取得手段が、未知のデータを取得する取得工程と、
前記情報処理装置の抽出手段が、前記取得した未知のデータから、特徴量を抽出する抽出手段と、
前記ハッシュ値生成装置の変換手段が、前記情報処理装置から前記抽出された特徴量を取得し、該取得した特徴量をハッシュ関数を用いて、未知ハッシュ値に変換する変換工程と、
前記情報処理装置の判定手段が、前記変換された未知ハッシュ値と、特定のクラスに属するデータの特徴量を前記ハッシュ関数を用いて変換された正常ハッシュ値とを取得し、該取得した未知ハッシュ値と正常ハッシュ値とに基づいて、前記未知のデータが前記特定のクラスに属するか否かを判定する判定工程とを備えることを特徴とする判定方法。
【請求項１２】
コンピュータを、請求項１乃至７のいずれか１項に記載のハッシュ値生成装置の各手段として機能させるプログラム。
【請求項１３】
請求項１２項に記載のプログラムを格納したコンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、未知のデータを識別するための技術に関する。
【背景技術】
【０００２】
センサが取得したデータが異常であるか否かを識別する異常検知の問題がある。この異常検知の問題に対するアプローチには、判定対象のデータが、判定の基準となるデータから乖離している場合に、判定対象のデータが異常であると識別するものがある。
【０００３】
非特許文献１では、乖離の度合いを測る基準として、局所性鋭敏型ハッシュ関数が用いられている。具体的には、判定対象のデータと、判定の基準となるデータとが、ランダムに選択された複数のハッシュ関数によりハッシュ値へと変換される。そして、判定対象のデータと、判定の基準データとなるデータとが、同じハッシュ値を取る回数が乖離度合いとして用いられている。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Ｌｏｃａｌｉｔｙ  Ｓｅｎｓｉｔｉｖｅ  Ｏｕｔｌｉｅｒ  Ｄｅｔｅｃｔｉｏｎ：  Ａ  ｒａｎｋｉｎｇ  ｄｒｉｖｅ  ａｐｐｒｏａｃｈ，  Ｙｅ  Ｗａｎｇ，  Ｓｒｉｎｉｖａｓａｎ  Ｐａｒｔｈａｓａｒａｔｈｙ，  Ｓｈｉｒｉｓｈ  Ｔａｔｉｋｏｎｄａ，  Ｔｈｅ  ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ２０１１  ＩＥＥＥ  ２７ｔｈ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｄａｔａ  Ｅｎｇｉｎｅｅｒｉｎｇ
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、非特許文献１に記載の異常検知方法では、ランダムにハッシュ関数が選択されるため、各々のハッシュ関数の信頼性が低く、精度よく乖離度合いを測定するためには、ハッシュ関数を多数用いる必要があった。そのため、乖離度合いを測定するのに時間がかかるという問題があった。
【０００６】
本発明は、以上の課題に鑑みてなされたものであり、未知のデータを、高精度かつ高速に特定のクラスに識別することを目的とする。
【課題を解決するための手段】
【０００７】
本発明のハッシュ値生成装置は、例えば、未知のデータを、特定クラスと特定外クラスに識別するためのハッシュ値を生成するハッシュ値生成装置であって、前記特定クラスに属するデータの特徴量を示す特定特徴量に基づき、ハッシュ関数を含むハッシュ関数情報を生成する生成手段と、前記生成されたハッシュ関数情報に基づき、前記特定特徴量をハッシュ値に変換する変換手段と、前記変換されたハッシュ値を正常ハッシュ値として、前記ハッシュ関数情報と関連づけて記憶する記憶手段とを備える。
【発明の効果】
【０００８】
本発明によれば、未知のデータを、高精度かつ高速に特定のクラスに識別することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の第１の実施形態に係るハッシュ値生成装置と情報処理装置とを用いた異常検知システムの構成の一例を示す構成を示す図である。
【図２】本発明の第１の実施形態に係る正常特徴量記憶部（特定特徴量記憶部）が記憶する情報の一例を示す図である。
【図３】本発明の第１の実施形態に係るハッシュ関数記憶部が記憶する情報の一例を示す図である。
【図４】本発明の第１の実施形態に係るハッシュ関数生成部が選択するハッシュ関数情報の一例を示す図である。
【図５】本発明の第１の実施形態に係るハッシュ関数生成部が生成するハッシュ関数にて考慮される距離の尺度の一例を示す図である。
【図６】本発明の第１の実施形態に係る正常ハッシュ値記憶部（特定ハッシュ値記憶部）が記憶する情報の一例を示す図である。
【図７】本発明の第１の実施形態に係る異常検知システムのハッシュ関数生成に係る動作の一例を示すフローチャートである。
【図８】本発明の第１の実施形態に係る異常検知システムの識別に係る動作の一例を示すフローチャートである。
【図９】本発明の第１の実施形態に係るハッシュ関数生成部が生成したハッシュ関数の一例を示す図である。
【図１０】本発明の第１の実施形態に係る識別部が識別した結果の一例を示す図である。
【図１１】本発明の第１の実施形態に係る異常検知システムと本実施形態のハッシュ関数生成部の代わりに非特許文献１のｐ−ｓｔａｂｌｅ  ｈａｓｈを用いた場合との、ＵＭＮデータにおける平均ＡＵＣを示す図である。
【図１２】本発明の第１の実施形態に係る異常検知システムと本実施形態のハッシュ関数生成部の代わりに非特許文献１のｐ−ｓｔａｂｌｅ  ｈａｓｈを用いた場合との、ＵＣＳＤデータにおけるＥＥＲ及びＡＵＣを示す図である。
【図１３】本発明の第２の実施形態に係るハッシュ値生成装置と情報処理装置とを用いた異常検知システムの構成の一例を示す構成を示す図である。
【図１４】本発明の第２の実施形態に係る異常検知システムのハッシュ関数生成に係る動作の一例を示すフローチャートである。
【図１５】本発明の第３の実施形態に係るハッシュ値生成装置と情報処理装置とを用いた異常検知システムの構成の一例を示す構成を示す図である。
【図１６】本発明の第３の実施形態に係る正常・異常特徴量記憶部（特定・特定外特徴量記憶部）が記憶する情報の一例を示す図である。
【図１７】本発明の第３の実施形態に係る正常・異常ハッシュ値記憶部（特定・特定外ハッシュ値記憶部）が記憶する情報の一例を示す図である。
【発明を実施するための形態】
【００１０】
［第１の実施形態］
本発明を実施するための第１の実施形態について、図面を参照して説明する。本実施形態における異常検知システム１０００では、監視対象をカメラ等の撮像装置で撮影し、撮影した映像データ（未知のデータ）に基づいて、監視対象に異常があるか否かを判定する。そして、異常がある場合は、警備室等の監視センタに常駐する監視者に警告する場合について説明する。つまり、ここでは、特定のクラス（特定クラス）を正常クラス、特定外のクラス（特定外クラス）を異常クラスとする。この監視対象には、例えば、一般家庭の屋内及び屋外、又は病院、駅などの公共施設が含まれる。
【００１１】
図１は、本発明の一実施形態に係るハッシュ値生成装置と情報処理装置とを用いた異常検知システムの構成の一例を示すブロック図である。本実施形態の異常検知システム１０００は、ネットワークを介して接続されたハッシュ値生成装置１００と、情報処理装置２００と、撮像装置３０と、端末装置４０とを備えている。このネットワークは、有線でも無線でもかまわない。例えば、携帯電話回線網やインターネットが適用できる。
【００１２】
次に、ハッシュ値生成装置１００の詳細な構成について、説明する。
【００１３】
ハッシュ値生成装置１００は、情報処理装置２００で識別に用いられるハッシュ値を生成する装置である。ハッシュ値生成装置１００は、正常特徴量（特定特徴量記憶部）１１と、ハッシュ関数記憶部１２０と、正常ハッシュ値記憶部（特定ハッシュ値記憶部）１３０と、ハッシュ関数生成部１４０と、ハッシュ値変換部１５０と、を備えている。
【００１４】
正常特徴量記憶部（特定特徴量記憶部）１１０は、データを識別するデータＩＤと関連付けて、正常クラス（特定のクラス）に属するデータの特徴量を示す正常特徴量（特定特徴量）を記憶する。ここで、正常クラスに属するデータとは、人間により予め正常であると確認された監視対象の映像データである。また、正常特徴量とは、正常クラスに属する映像データから所定の抽出方法を用いて抽出された、監視対象の複数の特徴を示す情報である。特徴量の抽出方法については、情報処理装置２００が備える特徴量抽出部２１０の説明にて後述する。
【００１５】
図２は、本実施形態の正常徴量記憶部１１０が記憶する情報の一例を示す表である。図２に示すように、データＩＤは、例えば、アルファベット及び数字とから成る文字列である。例えば、２つのデータは、データＩＤ「Ｄ０００１」とデータＩＤ「Ｄ０００２」とにより識別される。そして、図２では、データＩＤに関連付けて複数の特徴量、例えば、特徴量１、特徴量２の値が格納されていることが示されている。
【００１６】
ハッシュ関数記憶部１２０は、ハッシュ関数を識別するハッシュ関数ＩＤと関連付けて、ハッシュ関数を示すハッシュ関数情報を記憶する。ここで、ハッシュ関数情報には、例えば、ハッシュ関数で用いられる一つ又は複数のパラメータが含まれる。
【００１７】
図３は、本実施形態のハッシュ関数記憶部１２が記憶する情報の一例を示す表である。図３に示すように、ハッシュ関数ＩＤは、例えば、アルファベット及び数字とから成る文字列である。例えば、１つ目のハッシュ関数と２つ目の関数とは、「Ｈ０００１」と「Ｈ０００２」とにより識別される。そして、図３は、このハッシュ関数ＩＤに関連付けられたハッシュ関数のパラメータ、例えば、パラメータ１、パラメータ２の値が記憶されていることを示している。
【００１８】
再び、図１を参照して、ハッシュ値生成装置１００の構成について説明する。
【００１９】
ハッシュ関数生成部１４０は、正常特徴量記憶部１１０が記憶する正常特徴量に基づき、ハッシュ関数情報を生成し、ハッシュ関数ＩＤと関連付けてハッシュ関数記憶部１２０に記憶させる。具体的には、ハッシュ関数生成部１４０は、正常特徴量記憶部１１０から、正常特徴量を読み込む。次に、ハッシュ関数生成部１４０は、読み込んだ正常特徴量に基づいて、予め定められた個数のハッシュ関数情報を生成する。そして、ハッシュ関数生成部１４０は、ハッシュ関数ＩＤと関連づけて、生成したハッシュ関数情報を、ハッシュ関数記憶部１２０に記憶させる。ここで、ハッシュ関数ＩＤは、本実施形態においては、例えば、ハッシュ関数情報が生成された順番に基づいて決定される。この場合、３番目に生成されたハッシュ関数のハッシュ関数ＩＤは、「Ｈ０００３」である。
【００２０】
なお、ハッシュ関数生成部１４０は、特徴空間上の正常ハッシュ値（特定ハッシュ値）に対応する領域に対して、正常特徴量の密度が大きくなるようにハッシュ関数情報を生成する。具体的には、ハッシュ関数は、特徴空間上での超平面としてモデル化される。ここで、特徴空間とは、各要素に特徴量（例えば、図２の特徴量１又は特徴量２）を持つ特徴ベクトルの空間である。そして、超平面を境界として、法線ベクトルの方向側にある特徴ベクトルのハッシュ値を「０」、その反対側にある特徴ベクトルのハッシュ値を「１」とする。例えば、ｍ番目のハッシュ関数を式（１）で表す。
【００２１】
【数１】
2014203289.tif 000003
【００２２】
ここで、Ｔは、ベクトルの転置、ｘは各要素に一つの特徴量を持つ特徴ベクトルであり、ｗは超平面の法線ベクトルであり、ｂはバイアスである。つまり、ハッシュ関数を示すハッシュ関数情報は、パラメータｗとｂに対応する。ここで、超平面の左辺を式（２）のようにｚとする。
【００２３】
【数２】
2014203289.tif 000004
【００２４】
ある特徴ベクトルｘが法線ベクトルｗの方向側にある場合、ｚは正の値をとり、反対側にある場合は、負の値を取る。この性質を利用することにより、ハッシュ関数生成部１４０は、次の評価式を用いてハッシュ関数を評価する。
【００２５】
【数３】
2014203289.tif 000005
【００２６】
ここで、Ｎは正常データ数、λはバイアス重みパラメータである。また、Ｌ（ｚ）は、正常データを異常と判定した場合の誤差を表す関数であり、例えば次のように定義される。
【００２７】
【数４】
2014203289.tif 000006
【００２８】
関数Ｌ（ｚ）は、次の性質を持つ。正常特徴ベクトルが超平面の法線ベクトルの方向側にあればＬ（ｚ）の値は０になる。一方、当該ベクトルが超平面の反対側にある場合は、Ｌ（ｚ）の値は、超平面からの距離に比例した正の値を持つ。つまり、出来るだけ多くの正常特徴ベクトルが、超平面の法線ベクトル方向側にある超平面は、式（３）の第１項目の値が小さい。
【００２９】
一方、式（３）の第２項目のバイアスパラメータｂは、その値が０のとき、超平面は原点（つまり、特徴ベクトルの全要素が０になる点）を通る。そして、その値が大きくなるにつれ、超平面は法線ベクトルの方向に平行移動する。一方、その値が小さく（例えば負の値）なるにつれ、超平面は、法線ベクトルの逆方向に平行移動する。バイアス重みパラメータλは、式（３）において、第１項目に対して相対的に第２項目のバイアスパラメータｂの影響度を調整することができる。λの値は、予め人間により設定される。なお、クロスバリデーション等を用いて、自動的にλの値を自動的に設定してもよい。
【００３０】
ハッシュ関数生成部１４０は、ランダムに所定の数Ｍ個のパラメータｗとｂとの組みを生成することにより、ハッシュ関数の候補を用意する。例えば、パラメータｗの各要素及びｂは、正規分布や一様分布に従って選択する。そして、ハッシュ関数生成部１４０は、該候補の中から式（３）を最小化するパラメータｗとｂとの組を選択する。これにより、ハッシュ関数生成部１４０は、多くの正常特徴ベクトルが超平面の法線ベクトルの方向側にあり、かつ超平面が正常特徴ベクトルに近いハッシュ関数を選択することが出来る。つまり、正常特徴量の密度が大きいハッシュ関数が選択される。
【００３１】
図４は、本実施形態のハッシュ関数生成部が生成するハッシュ関数の一例を示す図である。４つの点は、それぞれの点が、２次元の特徴空間上の正常特徴量を表しており、また、３つの点線（ａ）、（ｂ）及び（ｃ）は、ハッシュ関数に対応する超平面（２次元なので直線）の候補を表している。また、点線に対して垂直な矢印は、直線の法線ベクトルの方向を示している。これらの候補のうち（ａ）は、正常データの一部が超平面の反対側にあるため、評価式（３）の第１項目の値が大きい。（ｃ）は評価式（３）の第１項目の値は０になるものの、正常データから離れているため、第２項目の値が大きい。これらに対して、（ｂ）は、全ての正常データが超平面の法線ベクトル方向側にあり、かつ、超平面が正常データの近くにあるため、評価式（３）の値は３つの候補の中では最小となる。これにより、ハッシュ関数生成部１１は、超平面（ｂ）を選択する。
【００３２】
図５は、本実施形態のハッシュ関数生成部１４０が生成するハッシュ関数にて考慮される距離の尺度の例を示す図である。黒丸印で示したｐは、２次元の特徴空間上の正常特徴量を表しており、白丸印で示した点（ｑ）は、映像特徴量（未知特徴量）を表している。また、θｘは、横軸上のある点ｘを基準とした２つの正常特徴量間の最大角度を表し、βｘは、映像特徴量と正常特徴量との間の最小角度を表す。ここで、簡単化のために、ハッシュ関数生成部１４０により生成されるハッシュ関数を点ｘを通る直線に限定すると、当該ハッシュ関数では、次の式のように、正常データの領域に係る距離の尺度が考慮されていると解釈できる。
【００３３】
【数５】
2014203289.tif 000007
【００３４】
また、当該ハッシュ関数は、次の局所鋭敏型ハッシュの条件を満たす。
【００３５】
【数６】
2014203289.tif 000008
【００３６】
つまり、式（６）は、正常特徴量及び映像特徴量が角度θｘに対応する領域内にある場合、２つのハッシュ値（ｈ（ｐ）及びｈ（ｑ））が等しくなる確率が高いことを示す。それとともに、式（６）は、映像特徴量が角度θｘに対応する領域内に無い場合、２つのハッシュ値が等しくなる確率は、βｘが大きい程、低いことを示す。
【００３７】
ハッシュ関数生成部１４は、上述した方法により所定の数Ｌ個のハッシュ関数情報（パラメータｗとｂの組み）を生成する。そして、ハッシュ関数生成部１４０は、Ｌ個のハッシュ関数情報を、ハッシュ関数ＩＤに関連付けてハッシュ関数記憶部１２０に記憶させるとともに、ハッシュ値変換部１５０に、変換の開始を示す変換トリガーをに出力する。
【００３８】
正常ハッシュ値記憶部（特定ハッシュ値記憶部）１３０は、ハッシュ関数ＩＤとハッシュ値とに関連付けて、ハッシュ関数によりハッシュ値に変換されたデータＩＤを記憶する。
【００３９】
図６は、本実施形態の正常ハッシュ値記憶部１３が記憶する情報の一例を示す表である。図６に示すように、ハッシュ値は整数値で、例えば、「０」及び「１」である。図６では、ハッシュ関数「Ｈ０００１」により、データ「Ｄ０００１」と「Ｄ０００２」とがハッシュ値「０」に変換されたことが示されている。また、ハッシュ関数「Ｈ０００２」により、データ「Ｄ０００１」がハッシュ値「０」に、データ「Ｄ０００２」がハッシュ値「１」に変換されたことが示されている。なお、所定の個数のハッシュ値を連結して一つのハッシュ値としてもよい。例えば、ハッシュ値「０」および「１」の２個のハッシュ値を連結すると、ハッシュ値は４つの値「００」、「０１」、「１０」及び「１１」のいずれかを取る。
【００４０】
再び、図１を参照して、ハッシュ値生成装置１００の構成について説明する。
【００４１】
ハッシュ値変換部１５０は、ハッシュ関数記憶部１２０が記憶するハッシュ関数情報に基づき、正常特徴量記憶部１１０が記憶する正常特徴量を正常ハッシュ値に変換する。そして、ハッシュ関数ＩＤと、正常ハッシュ値とに関連付けて、正常ハッシュ値に変換したデータＩＤを正常ハッシュ値記憶部１３０に記憶させる。具体的には、ハッシュ値変換部１５０は、ハッシュ関数生成部１４０から変換トリガーが入力されると、ハッシュ関数記憶部１２０（図３を参照）から、ハッシュ関数ＩＤとハッシュ関数情報とを読み込む。それとともに、データＩＤと、正常特徴量とを、正常特徴量記憶部１１０から（図２を参照）読み込む。ハッシュ値変換部１５０は、読み込んだハッシュ関数情報に基づき、読み込んだ正常特徴量を正常ハッシュ値に変換する。そして、ハッシュ値変換部１５０は、正常ハッシュ値に変換したデータのＩＤを、正常ハッシュ値記憶部１２０（図６を参照）に、ハッシュ関数ＩＤと正常ハッシュ値とに関連付けて記憶させる。
【００４２】
なお、ハッシュ値変換部１５０は、映像データ（未知のデータ）の特徴量を示す映像データ特徴量（未知特徴量）を情報処理装置２００から入力する。そして、ハッシュ値変換部１２は、入力した映像データ特徴量を、ハッシュ関数記憶部１２０が記憶するハッシュ関数情報に基づいて、ハッシュ値に変換した映像ハッシュ値（未知ハッシュ値）を出力する。具体的には、情報処理装置２００により未知のデータがネットワークを介してハッシュ値変換部１５０に出力される。ハッシュ値変換部１５０は、映像データの特徴量を取得したことに応じて、ハッシュ関数記憶部１２０が記憶するハッシュ関数情報を読み込む。そして、ハッシュ値変換部１５０は、読み込んだハッシュ関数情報に基づいて、取得した当該特徴量を、ハッシュ値に変換し、ネットワークを介して情報処理装置２００に出力する。
【００４３】
次に、図１を参照して、情報処理装置２００の構成について説明する。
【００４４】
撮像装置３０は、監視対象に係る画像データ又は映像データを撮像するカメラを備える。なお、該装置は、監視対象の音声を入力するマイクロフォン、温度を測定する温度計、又は距離を測る距離センサなどを備えてもよい。撮像装置３０は、取得した映像データを、情報処理装置２００にネットワークを介して送信する。
【００４５】
情報処理装置２００は、撮像装置３０が撮像した映像データに異常があるか否かを判定する装置である。情報処理装置２００は、特徴量抽出部２１０と、識別部２２０と、出力部２３０とを備えている。
【００４６】
特徴量抽出部２１０は、撮像装置３０から取得した映像データから映像特徴量を抽出する。具体的には、所定の時間間隔で映像データがネットワークを介して撮像部３０から特徴抽出部２１に出力される。特徴抽出部２１０は、映像データを取得したことに応じて、取得した映像データを、所定の特徴量抽出方法により特徴量に変換し、識別部２２０に出力する。ここで、映像データは、所定の長さで、所定のフレームレートで構成される。例えば、長さは５秒で、フレームレートは３ｆｐｓである。そして、特徴量抽出方法には、例えば、映像データの各フレームの局所的な特徴を抽出するＨＯＧ（Ｈｉｓｔｏｇｒａｍ  ｏｆ  Ｇｒａｄｉｅｎｔ）、ＨＯＦ（Ｈｉｓｔｏｇｒａｍ  ｏｆ  Ｏｐｔｉｃａｌ  Ｆｌｏｗ）、ＭＨＯＦ（Ｍｕｌｔｉ−ｓｃａｌｅ  Ｈｉｓｔｏｇｒａｍ  ｏｆ  Ｏｐｔｉｃａｌ  Ｆｌｏｗ）又はＳＩＦＴ（Ｓｃａｌｅ  Ｉｎｖａｒｉａｎｔ  Ｆｅａｔｕｒｅ  Ｔｒａｎｓｆｏｒｍ）などが用いられる。なお、これらの特徴抽出方法を、映像データの各フレームを複数の領域に分割した各領域に適用してもよい。なお、特徴量抽出方法は、特定の監視対象に特化してもよい。例えば、監視対象が人物の場合は、人物の姿勢及び移動軌跡などを特徴量として抽出する方法でもよい。
【００４７】
識別部２２０は、映像特徴量をハッシュ値生成装置１００が備えるハッシュ値変換部１５０によって映像ハッシュ値に変換し、該映像ハッシュ値と、正常ハッシュ値記憶部１３０が記憶する正常ハッシュ値とに基づいて、映像データが正常クラス又は異常クラスに属するかを識別する。そして、識別部２２０は、識別結果を示す識別結果情報を出力部２３０に出力する。具体的には、識別部２２０は、映像特徴量を特徴抽出部２１０から入力する。識別部２２０は、入力した映像特徴量をハッシュ値生成装置１００が備えるハッシュ値変換部１５０を介して、映像特徴量を映像ハッシュ値へと変換するとともに、ハッシュ値生成装置１００が備える正常ハッシュ値記憶部１２０が記憶する正常ハッシュ値を読み込む。そして、識別部２２０は、変換した映像データのハッシュ値と、読み込んだ正常ハッシュ値とを比較し、映像データが正常クラス又は異常クラスに属するかを識別する。識別方法としては、例えば２つの方法がある。
【００４８】
第１の識別方法として、映像ハッシュ値と一致する正常ハッシュ値が一つもないハッシュ関数が存在する場合、識別部２２０は、映像データが異常クラスに属すると識別する。これは該ハッシュ関数に対応する超平面により、映像データが全ての正常データから分離されるため、映像データが正常データから乖離していることを意味する。
【００４９】
第２の識別方法として、正常ハッシュ値と映像ハッシュ値とが一致した回数または、回数のハッシュ関数に関する平均が所定の閾値よりも低い場合、識別部２２０は、映像データが異常クラスに属すると識別する。これはハッシュ関数に対応する超平面により、映像データが多くの正常データから分離されるため、映像データが正常データから乖離していることを意味する。なお、第２の識別方法には、複数の映像ハッシュ値に関する当該回数の統計量を用いてよい。この複数の映像ハッシュ値は、例えば、映像データの各フレームを分割した各フレームの複数領域や、各領域の複数フレームに対応する。この統計量には、例えば、平均値及び最小値などがある。
【００５０】
識別部２２０は、映像データが正常クラス又は異常クラスに属するかを示す識別結果情報を、出力部２３０に出力する。この識別結果情報は、例えば、異常の場合は「−１」、正常の場合は「１」の値を取る。
【００５１】
出力部２３０は、識別結果情報に基づいて、映像データに係る表示情報を生成して、生成した表示情報を出力する。具体的には、出力部２３は、撮像装置３０から映像データを、特徴量抽出部２１０から映像特徴量を入力するとともに、識別部２２０から識別結果情報を入力する。そして、識別部２２０は、入力した識別結果情報に基づいて、入力した映像データの表示情報を生成し、生成した表示情報をネットワークを介して端末装置４０に出力する。この表示情報は、識別結果情報が映像データに異常がないことを示す場合（例えば、「１」の場合）、例えば、そのままの映像データ、又は解像度及びフレームレートを低くした映像データである。一方、識別結果情報が映像データに異常があることを示す場合（例えば、「−１」の場合）、表示情報は、映像データに加え、監視者の注意を促すための警告情報を含む。この警告情報は、例えば、「異常があります」等のテキストまたは音声である。なお、この表示情報には、入力した映像特徴量を含めてもよい。
【００５２】
端末装置４０は、監視ユーザが利用するコンピュータ装置であり、情報処理装置２００からネットワークを介して供給される表示情報を提供する。図示はしないが、端末装置４０は、表示部４１を備える。端末装置４０には、例えばＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）やタブレットＰＣ、スマートフォン、フューチャーフォン等が適用できる。具体的には、情報処理装置２００が表示情報を出力したことに応じて、端末装置４０は、表示情報を取得する。そして、端末装置４０は、取得した表示情報を不図示の表示部４１に出力する。
【００５３】
次に、図７を参照して、異常検知システム１０００におけるハッシュ関数生成の動作について説明する。図７は、本実施形態の異常検知システム１０００のハッシュ関数生成の動作の一例を示すフローチャートである。
【００５４】
（ステップＳ１０１）
まず、ハッシュ関数生成部１４０は、正常特徴量記憶部１１０から、正常特徴量を読み込む。
【００５５】
（ステップＳ１０２）
次に、ハッシュ関数生成部１４０は、生成したハッシュ関数の数を示すカウンターｌを「０」に設定する。
【００５６】
（ステップＳ１０３）
次に、ハッシュ関数生成部１４９は、ランダムにハッシュ関数情報の候補を生成する。具体的には、ランダムにパラメータｗとｂとの値を設定することにより、Ｍ個のハッシュ関数の候補（ｗとｂの組み）を生成する。
【００５７】
（ステップＳ１０４）
次に、ハッシュ関数生成部１４０は、ハッシュ関数を選択する。具体的には、ハッシュ関数生成部１４は、Ｍ個のハッシュ関数の候補の中から、式（３）を最小化するハッシュ関数を選択する。そして、ハッシュ関数生成部１４０は、カウンターｌに「１」を加算する。
【００５８】
（ステップＳ１０５）
次に、ハッシュ関数生成部１４０は、カウンターｌが所定のハッシュ関数の個数Ｌ以上か否かを判定する。カウンターｌが所定のハッシュ関数の個数Ｌ以上の場合、ハッシュ関数生成部１４０は、処理をステップＳ１０６に進める。カウンターｌが所定のハッシュ関数の個数Ｌより小さい場合、ハッシュ関数生成部１４０は、処理をステップＳ１０３に戻す。
【００５９】
（ステップＳ１０６）
次に、ハッシュ関数生成部１４０は、生成したハッシュ関数情報を、記憶させる。具体的には、ハッシュ関数生成部１４０は、生成したＬ個のハッシュ関数情報を、ハッシュ関数記憶部１２０に、ハッシュ関数ＩＤと関連付けて記憶させる。それとともに、ハッシュ関数生成部１４０は、変換トリガーをハッシュ値変換部１５０に出力する。
【００６０】
（ステップＳ１０７）
次に、ハッシュ値変換部１５０は、正常特徴量をハッシュ値に変換する。具体的には、ハッシュ値変換部１５０は、ハッシュ関数生成部１４０から変換トリガーが入力されると、ハッシュ関数記憶部１２０（図３を参照）から、ハッシュ関数ＩＤとハッシュ関数情報とを読み込む。それとともに、データＩＤと、正常特徴量とを正常特徴量記憶部１１０から（図２を参照）読み込む。ハッシュ値変換部１５０は、読み込んだハッシュ関数情報に基づき、読み込んだ正常特徴量をハッシュ値に変換する。
【００６１】
（ステップＳ１０８）
次に、ハッシュ値変換部１５０は、ハッシュ値に変換したデータＩＤを記憶させて、処理を終了させる。具体的には、ハッシュ値変換部１５０は、ハッシュ値に変換したデータのＩＤを、正常ハッシュ値記憶部１３０（図６を参照）に、ハッシュ関数ＩＤとハッシュ値とに関連付けて記憶させる。
【００６２】
次に、図８を参照して、異常検知システム１０００における識別の動作について説明する。図８は、本実施形態の異常検知システム１０００の識別の動作の一例を示すフローチャートである。
【００６３】
（ステップＳ２０１）
まず、特徴抽出部２１０は、映像データを撮像装置から取得する（第２の取得）。具体的には、撮像装置３０により撮像された映像データが、ネットワークを介して特徴抽出部２１０と出力部２３０に出力される。特徴抽出部２１０は、映像データを取得したことに応じて、所定の特徴抽出方法を用いて、取得した映像データから映像特徴量を抽出する。そして、特徴抽出部２１０は、抽出した映像特徴量を識別部２２０に出力する。
【００６４】
（ステップＳ２０２）
次に、ハッシュ値変換部１５０は、映像データをハッシュ値に変換する。具体的には、識別部２２０は、特徴抽出部２１０から映像特徴量を入力したことに応じて、映像特徴量をハッシュ値生成装置１００が備えるハッシュ値変換部１５０に出力する。ハッシュ値変換部１５０は、情報処理装置２００の識別部２２０から映像特徴量を入力（第１の取得）したことに応じて、ハッシュ関数記憶部１２０からハッシュ関数情報を読み込む。そして、ハッシュ値変換部１５０は、読み込んだハッシュ関数情報に基づき、入力した映像特徴量をハッシュ値に変換し、映像ハッシュ値として、情報処理装置２００の識別部２２０に出力する。
【００６５】
（ステップＳ２０３）
次に、識別部２２０は、映像データが正常クラス又は異常クラスに属するかを識別する。具体的には、ハッシュ値生成装置１００のハッシュ値変換部２２０から映像特徴量を入力したことに応じて、ハッシュ値生成装置１００が備える正常ハッシュ値記憶部１３０から正常ハッシュ値を読み込む。そして、識別部２２０は、読み込んだ正常ハッシュ値と、入力した映像ハッシュ値とに基づき、映像データが正常クラス又は異常クラスに属するかを識別する。そして、識別部２２０は、識別結果示す識別結果情報を出力部２３０に出力する。
【００６６】
（ステップＳ２０４）
次に、出力部２３０は、表示情報を端末装置４０に出力する。具体的には、出力部２３０は、識別部２２０から、入力した識別結果情報と、撮像装置３０から入力した映像データとに基づいて生成した表示情報を、ネットワークを介して端末装置４０に出力する。
【００６７】
（ステップＳ２０５）
次に、端末装置４０は、表示情報を出力し、処理を終了する。具体的には、端末装置４０は、情報処理装置２００の出力部２３０から入力した表示情報を、不図示の表示部４１に出力する。
【００６８】
次に、図９と図１０とを参照して、人工データを用いた異常検知システム１０００による異常検知の例について説明する。図９は、本実施形態のハッシュ関数生成部１１０が生成したハッシュ関数の例を示す図である。点は、２次元の特徴空間上で、各次元がガウス混合分布  ０．５Ｎ（１，  ０．２５）＋０．５Ｎ（１，１）に従う正常特徴量を表している。線は、ハッシュ関数生成部１１により、Ｍ＝２００個のハッシュ関数の候補からそれぞれ選ばれたＬ＝１００個のハッシュ関数に対応する超平面（２次元なので直線）を表している。ここで、バイアス重みパラメータλは、０．０００１に設定されている。図９は、ハッシュ関数生成部１４０が、多くの正常特徴量を分割せず、かつ、正常特徴量の近くにあるハッシュ関数を選択していることを示している。
【００６９】
次に、図１０は、本実施形態の識別部２２が識別した結果の例を示す図である。×の点は、２次元特徴空間上で、各次元が一様分布  Ｕ（−５，５）に従う映像特徴量（未知特徴量）を表している。また、丸印の中に×がある点は、映像特徴量のうち、識別部２２により、異常クラスに属すると識別された映像特徴量を示している。ここで、識別方法としては、正常ハッシュ値と映像ハッシュ値とが一致した回数のハッシュ関数に関する平均が閾値１９９以下の場合、識別部２２は、映像特徴量が異常クラスに属すると識別する。図１０は、識別部２２により、正常データにより囲まれた領域内では、映像特徴量が正常クラスに属すると識別され、領域外では、異常クラスに属すると識別されていることを示している。
【００７０】
次に、図１１及び図１２を参照して、公開データであるＵＭＮデータとＵＣＳＤデータとを用いた、異常検知システム１０００の性能評価について説明する。
【００７１】
図１１は、本実施形態の異常検知システム１０００と、本実施形態のハッシュ関数生成部１４０の代わりに非特許文献１のｐ−ｓｔａｂｌｅ  ｈａｓｈを用いた場合との、ＵＭＮデータにおける平均ＡＵＣ（Ａｒｅａ  Ｕｎｄｅｒ  ｔｈｅ  Ｃｕｒｖｅ）を示す表である。ＵＭＮデータは、３つの異なる環境にて複数回、数十人の群衆が正常である「歩く」動作と異常である「走って逃げる」動作とを繰り返す映像データであり、ｈｔｔｐ：／／ｍｈａ．ｃｓ．ｕｍｎ．ｅｄｕ／ｍｏｖｉｅｓ／ｃｒｏｗｄａｃｔｉｖｉｔｙ−ａｌｌ．ａｖｉにて提供される。各反復のうち最初の４００フレーム（もし「歩く」動作に対応するフレーム数が４００未満の場合は、２００フレーム）を正常クラスに属するデータとし、残りのフレームを未知のデータとする。
【００７２】
これらのデータからオプティカルフローの強度と方向を推定し、各フレームを４ｘ５に分割した各領域からＭＨＯＦが、正常特徴量及び映像特徴量として抽出される。なお、ＭＨＯＦの強度閾値には、正常データの強度の１パーセンタイルが用いられる。本実施形態の異常検知システム１０００では、ハッシュ関数の候補数Ｍ＝１０００、ハッシュ関数の数Ｌ＝５０、バイアス重みパラメータλ＝０．００１、及び連結数Ｂ＝５に設定されている。また、ｐ−ｓｔａｂｌｅ  ｈａｓｈでは、ハッシュ関数の数Ｌ＝５０及び連結数Ｂ＝５に設定されている。正常ハッシュ値と映像ハッシュ値とが一致した回数の４ｘ５領域分の平均が閾値よりも低い場合、当該フレームが異常であると判定される。図１１は、本実施形態の異常検知システム１０００が、ｐ−ｓｔａｂｌｅ  ｈａｓｈを用いた場合よりも、群衆の異常行動検知において、高い性能を持つことを示している。
【００７３】
図１２は、本実施形態の異常検知システム１０００と、本実施形態のハッシュ関数生成部１４０の代わりに非特許文献１のｐ−ｓｔａｂｌｅ  ｈａｓｈを用いた場合との、ＵＣＳＤデータにおけるＥＥＲ（Ｅｑｕａｌ  Ｅｒｒｏｒ  Ｒａｔｅ）及びＡＵＣを示す表である。ＵＣＳＤデータは、３４個の正常映像データと、３６個の未知のデータを含む。ここで、正常映像データには、歩行者のみが映っているのに対し、未知のデータには、歩行者の他に、自転車、車などの歩行者以外の物体が映っている。なお、ＵＣＳＤデータは、ｈｔｔｐ：／／ｗｗｗ．ｓｖｃｌ．ｕｃｓｄ．ｅｄｕ／ｐｒｏｊｅｃｔｓ／ａｎｏｍａｌｙ／ｄａｔａｓｅｔ．ｈｔｍｌにて提供される。
【００７４】
これらのデータから、オプティカルフローの強度と方向を推定し、各フレームを７ｘ７に分割した各領域からＭＨＯＦが、正常特徴量と映像特徴量として抽出される。なお、ＭＨＯＦの強度閾値には、正常クラスに属するデータの強度の５パーセンタイルを用いられる。本実施形態の異常検知システム１では、７ｘ７の各領域ごとに、ハッシュ関数の候補数Ｍ＝１０００、ハッシュ関数の数Ｌ＝３００、バイアス重みパラメータλ＝０．０００１、及び連結数Ｂ＝５に設定されている。また、ｐ−ｓｔａｂｌｅ  ｈａｓｈでは、７ｘ７の各領域ごとに、ハッシュ関数の数Ｌ＝３００及び連結数Ｂ＝５に設定されている。両方法において、７ｘ７の各領域のうちオプティカルフローの平均が全体の平均よりも大きい場合、正常ハッシュ値と映像ハッシュ値とが一致した回数の前後２０フレームの平均値が計算される。そして、７ｘ７領域のうち最小の平均値が閾値よりも低い場合、当該フレームが異常であると判定される。図１２は、本実施形態のハッシュ値生成装置１００が、ｐ−ｓｔａｂｌｅ  ｈａｓｈよりも、異常行動検知において、高い性能を持つことを示している。
【００７５】
以上説明したように、ハッシュ値生成装置１００は、映像データを正常クラス又は異常クラスに識別する情報処理装置で用いられるハッシュ値を生成する装置である。ハッシュ関数生成部１４０は、正常特徴量記憶部１１０が記憶する正常のクラスに属するデータの特徴量を示す正常特徴量に基づき、ハッシュ関数を示すハッシュ関数情報を生成し、ハッシュ関数記憶部に記憶させる。ハッシュ値変換部１５０は、ハッシュ関数記憶部が記憶するハッシュ関数情報に基づき、正常特徴量記憶部１１０が記憶する正常特徴量をハッシュ値に変換し、正常ハッシュ値として、正常ハッシュ値記憶部１３０に記憶させる。これにより、ハッシュ関数の生成において正常特徴量の領域を考慮できるため、正常ハッシュ値生成装置１００は、正常からの乖離度合いを測る基準として、信頼性の高いハッシュ関数を生成できる。また、当該ハッシュ関数を用いることにより、信頼性の高い正常ハッシュ値を生成することができる。
【００７６】
なお、ハッシュ値生成装置１００のハッシュ関数生成部１４０は、特徴空間上の正常ハッシュ値に対応する領域に対して、正常特徴量の密度が大きくなるようにハッシュ関数情報を生成する。これにより、ハッシュ値生成装置１００は、正常特徴量が同じハッシュ値を取り、該ハッシュ値を取る特徴空間上の領域が小さくなるようなハッシュ関数を生成することができる。そのため、正常ハッシュ値生成装置１００は、異常クラスに属するデータを誤って正常クラスに属すると識別する割合を減らすことが可能な信頼性の高いハッシュ関数を生成することができる。また、当該ハッシュ関数を用いることにより、信頼性の高い正常ハッシュ値を生成することができる。
【００７７】
なお、ハッシュ値生成装置１００のハッシュ値変換部１５０は、映像データの特徴量を示す映像特徴量を入力し、ハッシュ関数記憶部１２０が記憶するハッシュ関数情報に基づいて、映像特徴量をハッシュ値に変換し、映像ハッシュ値として出力する。これにより、正常からの乖離度合いを測る基準として、信頼性の高いハッシュ関数を用いることができるため、ハッシュ値変換部１５０は、信頼性の高い映像ハッシュ値を生成できる。
【００７８】
なお、情報処理装置２００は、特徴抽出部２１０が、映像データを入力し映像特徴量を抽出する。識別部２２は、特徴量をハッシュ値変換部１５０を介して映像ハッシュ値に変換し、正常ハッシュ値記憶部１３０が記憶する正常ハッシュ値と、映像ハッシュ値とに基づいて、映像データが正常クラス又は異常クラスに属するかを識別し、識別結果を示す識別結果情報を出力する。出力部２３０は、識別結果情報に基づいて、映像データに係る表示情報を生成し出力する。これにより、正常からの乖離度合いを測る基準として信頼できる少数の正常ハッシュ関数を用いるため、情報処理装置２００は、高速に識別することができる。
【００７９】
［第２の実施形態］
次に、本発明を実施するための第２の実施形態について、図面を参照して説明する。なお、上述した第１の実施形態における各構成と同一の構成については、同一の符号を付して説明を省略する。
【００８０】
本実施形態における異常検知システム２０００について、正常データがオンラインで追加された場合を例に説明する。つまり、本実施形態のハッシュ値生成装置３００は、監視者により新たに追加された正常データに基づいて、ハッシュ関数を更新できる点において、第１の実施形態と異なる。ここでは、第１の実施形態と同様に、特定のクラスを正常クラス、特定外のクラスを異常クラスとする。
【００８１】
図１３は、本発明の第２の実施形態に係る異常検知システム２０００の構成の一例を示す構成図である。異常検知システム２０００は、ネットワークを介して接続されたハッシュ値生成装置３００ａと、情報処理装置４００と、撮像装置３０と、端末装置４０ａとを備えている。本実施形態では、ハッシュ生成装置と、端末装置のみが第１の実施形態と異なり、撮像装置と情報処理装置は、第１の実施形態と同一である。
【００８２】
端末装置４０は、監視ユーザが利用するコンピュータ装置であり、情報処理装置４００からネットワークを介して供給される表示情報を提供するとともに、ハッシュ値生成装置３００で用いられる正常特徴量の追加を行う。図示はしないが、端末装置４０は、表示部４１と操作検出部４２とを備える。具体的には、情報処理装置４００が表示情報を出力したことに応じて、端末装置４０は、表示情報を取得する。そして、端末装置４０は、取得した表示情報を表示部４１に出力する。そして、監視ユーザが特徴量を追加することを示す特徴量追加情報を入力すると、端末装置４０は、情報処理装置４００から入力した表示情報に含まれる映像特徴量を、正常特徴量としてハッシュ値生成装置３００に出力する。
【００８３】
例えば、図示はしないが、表示部４１に表示された映像データに基づく、監視ユーザによる「特徴量を追加する」ボタンの押下を、端末装置４０ａの操作検出部４２が検出すると、映像特徴量が、正常特徴量として、ハッシュ値生成装置３００に出力される。
【００８４】
次に、ハッシュ値生成装置３００の詳細な構成について説明する。
【００８５】
ハッシュ値生成装置３００は、情報処理装置４００で識別に用いられるハッシュ値を生成する装置である。ハッシュ値生成装置３００は、正常特徴量記憶部３１０と、ハッシュ関数記憶部３２０と、正常ハッシュ値記憶部１３０と、ハッシュ関数生成部３４０と、ハッシュ値変換部１５０と、特徴量追加部３７０と、ハッシュ関数評価部３６０とを備えている。
【００８６】
特徴量追加部１３は、正常特徴量を正常特徴量記憶部Ｍ１に記憶させる。具体的には、端末装置４０が映像データ特徴量を、正常特徴量としてネットワークを介して出力したことに応じて、特徴量追加部１３は正常特徴量を取得する。特徴量追加部１３は、取得した正常特徴量を正常特徴量記憶部Ｍ１（図２を参照）に、データＩＤと関連付けて記憶させる。それとともに、特徴量抽出部１３は、評価の開始を示す評価トリガーをハッシュ関数評価部１４に出力する。
【００８７】
ハッシュ関数評価部３６０は、正常特徴量記憶部３１０が記憶する正常特徴量に基づいて、ハッシュ関数記憶部３２０が記憶するハッシュ関数情報を評価し、評価が低いハッシュ関数情報をハッシュ関数記憶部３２０から削除し、ハッシュ関数生成部３６０を介して、ハッシュ関数記憶部３２０に新しいハッシュ関数情報を追加する。具体的には、ハッシュ関数評価部３６０は、特徴量追加部３７０から評価トリガーを入力したことに応じて、正常特徴量記憶部３１０から正常特徴量を読み込むとともに、ハッシュ関数記憶部３２０からハッシュ関数情報を読み込む。そして、ハッシュ関数評価部３６０は、読み込んだ正常特徴量と、ハッシュ関数情報とに基づいて、各ハッシュ関数の所定の評価方法を用いて評価を行う。評価方法は、例えば、次の２つの方法がある。
【００８８】
第１の評価方法として、各ハッシュ関数情報に対する評価式（３）の値を算出し、値が所定の閾値より小さい場合、ハッシュ関数評価部３６０は、当該ハッシュ関数を削除すると判定する。
【００８９】
第２の評価方法として、各ハッシュ関数情報に対する評価式（３）の値を算出し、ハッシュ関数評価部３６０は、最小の値を持つ１つまたは複数のハッシュ関数を削除すると判定する。
【００９０】
ハッシュ関数評価部３６０は、削除すると判定したハッシュ関数のハッシュ関数ＩＤと一致するハッシュ関数ＩＤを有するハッシュ関数情報をハッシュ関数記憶部３２０から削除する。それとともに、ハッシュ関数生成部３４０に追加するハッシュ関数の情報を示す追加情報を出力する。この追加情報は、例えば、追加するハッシュ関数の個数を含む。この個数は、ハッシュ関数生成部３４０が削除したハッシュ関数の個数と同じである。
【００９１】
ハッシュ関数生成部１１ａは、ハッシュ関数評価部１４から追加情報を入力したことに応じて、ハッシュ関数を生成する。具体的には、ハッシュ関数生成部３４０は、ハッシュ関数評価部３６０から追加情報を入力したことに応じて、正常特徴量記憶部３１０から正常特徴量を読み込む。そして、入力したハッシュ関数情報と、読み込んだ正常特徴量に基づき、追加情報に含まれる個数のハッシュ関数を生成し、ハッシュ関数ＩＤと関連付けてハッシュ関数記憶部３２０（図３を参照）に記憶させる。例えば第１の実施形態で説明したハッシュ関数生成部１４０と同じ方法を用いて、ハッシュ関数生成部３４０は、追加情報に含まれる個数のハッシュ関数情報を生成する。
【００９２】
次に、図１４を参照して、異常検知システム２０００におけるハッシュ関数生成の動作についての動作について説明する。図１４は、本実施形態異常検知システム２０００のハッシュ関数生成の動作の一例を示すフローチャートである。なお、ステップＳ３０１からステップＳ３０８までの処理に関しては、第１の実施形態で説明した図７のステップＳ１０１からステップＳ１０８までの処理と同一であるので、その説明を省略する。
【００９３】
（ステップＳ３０９）
まず、監視ユーザが端末装置４０にて特徴量追加情報を入力したことに応じて、端末装置４０は、正常特徴量を出力する。具体的には、端末装置４０は、自装置が備える検出部４２が監視ユーザによる特徴量追加情報の入力を検知した（つまり、ＹＥＳ）場合、情報処理装置４００から入力した映像特徴量を、正常特徴量としてハッシュ値生成装置１０に出力するとともに、処理をステップＳ３１０に移動する。一方、検知しない（つまり、ＮＯ）場合、端末装置４０は、処理をステップＳ３０９に戻す。
【００９４】
（ステップＳ３１０）
次に、特徴追量追加部３７０は、正常データ特徴記憶部３１０に正常特徴量を追加する。具体的には、端末装置４０が正常特徴量を出力したことに応じて、特徴追量追加部３７０は、正常特徴量を取得する。特徴量追加部３７０は、取得した正常特徴量を正常特徴量記憶部３１０（図２を参照）に、データＩＤと関連付けて記憶させる。それとともに、特徴量追加部３７０は、評価トリガーをハッシュ関数評価部３６０に出力する。
【００９５】
（ステップＳ３１１）
次に、ハッシュ関数評価部３６０は、ハッシュ関数を評価する。具体的には、ハッシュ関数評価部３６０は、特徴量追加部３７０から評価トリガーを入力したことに応じて、正常特徴量記憶部３１０から正常特徴量を読み込むとともに、ハッシュ関数記憶部３２０からハッシュ関数情報を読み込む。そして、ハッシュ関数評価部３６０は、読み込んだ正常特徴量と、ハッシュ関数情報とに基づいて、各ハッシュ関数の所定の評価方法（例えば、第１又は第２の評価方法）を用いて評価を行う。
【００９６】
（ステップＳ３１２）
次に、ハッシュ関数評価部３６０は、評価が低いハッシュ関数を削除する。具体的には、ハッシュ関数評価部３６０は、所定の評価方法に基づいて評価が低いと判定されたハッシュ関数のハッシュ関数ＩＤと一致するハッシュ関数ＩＤを有するハッシュ関数情報を、ハッシュ関数記憶部３２０から削除する。そして、削除したハッシュ関数の個数を含む追加情報を、ハッシュ関数生成部３４０に出力する。
【００９７】
（ステップＳ３１３）
次に、ハッシュ関数生成部３４０は、ハッシュ関数を追加し、処理を終了させる。具体的には、ハッシュ関数評価部３６０から追加情報を入力したことに応じて、ハッシュ関数生成部３４０は、正常特徴量記憶部から正常特徴量を読み込む。ハッシュ関数生成部３４０は、追加情報が示す個数のハッシュ関数を、読み込んだ正常特徴量に基づいて生成する。そして、ハッシュ関数生成部３４０は、生成したハッシュ関数を示すハッシュ関数情報を、ハッシュ関数ＩＤに関連付けてハッシュ関数記憶部３２０に記憶させる。
【００９８】
以上説明したように、ハッシュ値生成装置３００は、特徴量追加部３７０が正常特徴量記憶部３１０に、正常特徴量を追加する。ハッシュ関数評価部３６０は、正常特徴量記憶部３１０が記憶する正常特徴量に基づいて、ハッシュ関数記憶部３２０が記憶するハッシュ関数情報を評価し、評価が低いハッシュ関数情報をハッシュ関数記憶部３２０から削除し、追加するハッシュ関数の情報を示す追加情報をハッシュ関数生成部３４０に出力する。ハッシュ関数生成部３４０は、追加情報に基づきハッシュ関数情報を生成し、生成したハッシュ関数をハッシュ関数記憶部３２０に記憶させる。これにより、新しく正常データが追加された場合でも、全てのハッシュ関数を再度生成する必要がないため、ハッシュ値生成装置３００は、高速にハッシュ関数を更新することができる。
【００９９】
［第３の実施形態］
次に、本発明を実施するための第３の実施形態について、図面を参照して説明する。なお、上述した第１の実施形態における各構成と同一の構成については、同一の符号を付して説明を省略する。
【０１００】
本実施形態における異常検知システム３０００について、正常データに加え少数の異常データの特徴量が訓練データとして与えられる場合を例に説明する。つまり、本実施形態のハッシュ値生成装置５００は、正常データに加え異常データの特徴量に基づいて、ハッシュ関数を選択できる点において、第１の実施形態と異なる。ここでは、第１の実施形態及び第２の実施形態と同様に、特定のクラスを正常クラス、特定外のクラスを異常クラスとする。
【０１０１】
図１５は、本発明の第３の実施形態に係る異常検知システム３０００の構成の一例を示す構成図である。異常検知システム３０００は、ネットワークを介して接続されたハッシュ値生成装置５００と、情報処理装置６００と、撮像装置３０と、端末装置４０とを備えている。
【０１０２】
次に、ハッシュ値生成装置５００の詳細な構成について説明する。
【０１０３】
ハッシュ値生成装置５００は、情報処理装置６００の識別部６２０における識別に用いられるハッシュ値を生成する装置である。ハッシュ値生成装置５００は、正常・異常特徴量記憶部（特定・特定外特徴量記憶部）５１０と、ハッシュ関数記憶部５２０と、正常・異常ハッシュ値記憶部（特定・特定外ハッシュ値記憶部）５３０と、ハッシュ関数生成部５４０ｂと、ハッシュ値変換部５５０と、を備えている。
【０１０４】
正常・異常特徴量記憶部（特定・特定外特徴量記憶部）５１０は、データを識別するデータＩＤと関連付けて、データが属するクラスを示すクラス情報と、データの特徴量を記憶する。ここで、クラスを示すクラス情報とは、人間により予め正常のクラス又は異常のクラスのいずれかにデータが属することを示す情報である。
【０１０５】
図１６は、本実施形態の正常・異常特徴量記憶部５１０が記憶する情報の一例を示す表である。図１６に示すように、データＩＤは、例えば、アルファベット及び数字とから成る文字列である。また、クラス情報は、「１」、「−１」の数値であり、「１」は正常のクラス、「−１」は異常のクラスを示す。図１６では、例えば、データ「Ｄ０００１」と「Ｄ０００２」とは、正常クラス「１」に属し、データ「Ｄ０００３」は異常クラス「−１」に属することが示されている。また、データＩＤに関連付けられた特徴量、例えば、特徴量１、特徴量２の値が格納されていることが示されている。
【０１０６】
ハッシュ関数生成部５４０は、正常・異常特徴量記憶部５１０が記憶する、正常特徴量に加え、異常クラスに属するデータの特徴量を示す異常特徴量（特定外特徴量）に基づき、ハッシュ関数を示すハッシュ関数情報を生成し、ハッシュ関数記憶部５２０に記憶させる。具体的には、ハッシュ関数生成部５００は、正常・異常徴量記憶部５１０から、正常特徴量と異常特徴量とを読み込む。そして、ハッシュ関数生成部５４０は、読み込んだ正常特徴量と異常特徴量とに基づいて、予め定められた個数Ｌのハッシュ関数情報を生成する。そして、ハッシュ関数ＩＤと関連づけて、生成したハッシュ関数情報を、ハッシュ関数記憶部５２０に記憶させる。
【０１０７】
なお、ハッシュ関数生成部５４０は、正常特徴量と、異常特徴量とが異なるハッシュ値を取り、かつ特徴空間上の正常ハッシュ値に対応する領域に対して、正常特徴量の密度が大きくなるようにハッシュ関数情報を生成する。ここで、第１の実施形態で説明したハッシュ関数生成部５４０と異なる点は、評価式（３）の代わりに次の評価式を用いるところである。
【０１０８】
【数７】
2014203289.tif 000009
【０１０９】
ここで、Ｎｐは正常データの数、Ｎｎは異常データの数、ＮはＮｐとＮｎの合計である。具体的には、第１項目と第３項目は式（７）の第１項目と同じ性質を持つ。第２項目は、異常データの特徴ベクトルが超平面の法線ベクトルの反対方向側にあれば、Ｌ（−ｚ）の値は０になる。一方、当該ベクトルが超平面の法線ベクトル方向側にある場合は、Ｌ（−ｚ）は、超平面からの距離に比例した正の値を持つ。つまり、複数の異常ベクトルのうち出来るだけ多くの当該ベクトルが、超平面の法線ベクトル反対側にある超平面を選べば、式（７）の第２項目の値が小さくすることができる。また、第１項目と第２項目の係数であるＮｎ／Ｎと、Ｎｐ／Ｎとは、正常データ数Ｎｐに比べて異常データが少数Ｎｎの場合に対応するために、各項の影響度を調整するためのものである。
【０１１０】
正常・異常ハッシュ値記憶部（特定・特定外ハッシュ値記憶部）５３０は、ハッシュ関数ＩＤとハッシュ値とクラス情報とに関連付けて、ハッシュ関数によりハッシュ値に変換されたデータＩＤを記憶する。
【０１１１】
図１７は、本実施形態の正常・異常ハッシュ値記憶部５３０が記憶する情報の一例を示す表である。図１７に示すように、クラス情報が示すクラスのラベルごとに表がある。例えば、クラス情報が「１」の表には、クラス「１」に属するデータＩＤ「Ｄ０００１」及び「Ｄ０００２」が、ハッシュ関数ＩＤとハッシュ値とに関連付けて記憶されている。また、クラス情報が「−１」の表には、クラス「−１」に属するデータＩＤ「Ｄ０００３」が、ハッシュ関数ＩＤとハッシュ値とに関連付けて記憶されている。
【０１１２】
ハッシュ値変換部５５０は、ハッシュ関数記憶部５２０が記憶するハッシュ関数情報に基づき、正常・異常特徴量記憶部５１０が記憶する正常特徴量と異常特徴量とをハッシュ値に変換した正常ハッシュ値と異常ハッシュ値とを、ハッシュ値記憶部５２０に記憶させる。具体的には、ハッシュ値変換部５５０は、ハッシュ関数生成部５４０から変換トリガーが入力されると、ハッシュ関数記憶部５３０（図３を参照）からハッシュ関数情報を読み込む。次に、ハッシュ値変換部５５０は、正常又は異常特徴量を正常・異常特徴量記憶部５１０（図１５を参照）から読み込み、ハッシュ関数を用いて、ハッシュ値に変換する。そして、ハッシュ値変換部５５０は、ハッシュ値に変換したデータＩＤを、正常・異常ハッシュ値記憶部５５０（図１７を参照）に、ハッシュ関数ＩＤと、ハッシュ値と、クラス情報とに関連付けて記憶させる。
【０１１３】
情報処理装置６００は、撮像装置３０が撮像した映像データが正常又は異常であるかを識別する装置である。情報処理装置６００は、特徴量抽出部６１０と、識別部６２０と、出力部６３０とを備えている。
【０１１４】
識別部６２０は、映像特徴量をハッシュ値変換部５５０を介して映像ハッシュ値（未知ハッシュ値）に変換し、ハッシュ値記憶部５２０が記憶する正常ハッシュ値と異常ハッシュ値と、映像ハッシュ値とに基づいて、映像データが正常クラス又は異常クラスに属するかを識別し、識別結果を示す識別結果情報を出力部６３０に出力する。具体的には、識別部６２０は、映像特徴量を特徴抽出部６１０から入力する。識別部６２０は、入力した映像特徴量をハッシュ値生成装置５００が備えるハッシュ値変換部５５０を介して、映像ハッシュ値へと変換する。それとともに、ハッシュ値生成装置５００が備えるハッシュ値記憶部５２０が記憶する正常ハッシュ値と異常ハッシュ値とを読み込む。そして、識別部６２０は、映像ハッシュ値と、読み込んだ正常ハッシュ値及び異常ハッシュ値とを比較し、映像データが正常クラス又は異常クラスに属するかを識別する。識別方法としては、例えば２つの方法がある。
【０１１５】
第１の識別方法として、映像ハッシュ値と一致する正常ハッシュ値が一つもないハッシュ関数が存在する場合、識別部６２０は、映像データが異常クラスに属すると識別する。これは該ハッシュ関数に対応する超平面により、映像データが全ての正常データから分離されるため、映像データが正常データから乖離していることを意味する。
【０１１６】
第２の判定方法として、異常ハッシュ値と映像ハッシュ値とが一致した回数が所定の閾値よりも大きい場合、識別部６２０は、映像データが異常クラスに属すると識別する。これはハッシュ関数に対応する超平面により、映像データが多くの異常データから分離できないため、映像データが異常データから乖離していないことを意味する。
【０１１７】
異常検知システム３０００におけるハッシュ関数生成の動作及び識別動作は、第１の実施形態にて説明した異常システム１と同様であるため、その説明を省略する。
【０１１８】
以上説明したように、ハッシュ値生成装置５００は、正常・異常特徴量記憶部５１０が記憶する正常特徴量と、異常特徴量とに基づき、ハッシュ関数情報を生成する。これにより、ハッシュ関数の生成において正常特徴量と異常特徴と、それぞれの領域を考慮できるためできるため、ハッシュ値生成装置５００は、正常及び異常からの乖離度合いを測る基準として、信頼性の高いハッシュ関数を生成できる。また、当該ハッシュ関数を用いることにより、信頼性の高い正常ハッシュ値を生成することができる。
【０１１９】
なお、ハッシュ値生成装置３０００のハッシュ関数生成部５４０は、正常特徴量と、異常特徴量とが異なるハッシュ値を取り、かつ特徴空間上の正常ハッシュ値に対応する領域に対して、正常特徴量の密度が大きくなるようにハッシュ関数情報を生成する。これにより、ハッシュ値生成装置５００は、正常特徴量と異常特徴量とが異なるハッシュ値を取り、かつ正常ハッシュ値を取る特徴空間上の領域が小さくなるようなハッシュ関数を生成することができる。そのため、異常クラスに属するデータを誤って正常クラスに属すると識別する割合を減らすことが可能な信頼性の高いハッシュ関数を生成することができる。また、当該ハッシュ関数を用いることにより、信頼性の高い正常ハッシュ値を生成することができる。
【０１２０】
以上、本発明の実施の形態について図面を参照して詳述したが、具体的な構成はその実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計等も含まれる。また、各実施形態は、上記の各実施形態を組み合せて実施してもよい。
【０１２１】
また、上記の各実施形態においては、異常検知の問題を例に、本発明の実施形態について説明したが、本発明の装置は、この発明の要旨を逸脱しない範囲内において一般的な識別問題に適用することが可能である。例えば、本発明の装置は、特定のクラスを人体のクラス、特定外のクラスを人体以外のクラスとし、画像又は映像データから人体を検知する問題に適用することができる。また、本発明のハッシュ関数生成装置が生成するハッシュ関数と、局所性鋭敏型ハッシュ関数などの他のハッシュ関数とを組み合わせることにより、本発明の情報装置は、多クラスの識別問題に適用することができる。
【０１２２】
また、上記の各実施形態においては、ハッシュ値生成装置１００、３００及び５００はハッシュ関数記憶部、正常ハッシュ値記憶部、正常・異常ハッシュ値記憶部及びハッシュ値変換部を備えていると説明したが、情報処理装置２００、４００、６００がこれらの構成を備えてもよい。
【０１２３】
また、上記の各実施形態においては、ハッシュ値生成装置１００、３００及び５００が，正常特徴量記憶部及び正常・異常特徴量記憶部を備える例を示したが、これら各構成を他の装置が備えるようにシステムを構成してもよい。
【０１２４】
以上、実施形態を詳述したが、本発明は、例えば、システム、装置、方法、プログラム、もしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０１２５】
また、各装置が備える各部は、専用のハードウェアにより実現されるものであってもよく、また、各装置が備える各部はメモリおよびＣＰＵ（中央演算装置）により構成され、各装置が備える各部の機能を実現するためのプログラムをメモリにロードして実行することによりその機能を実現させるものであってもよい。
【０１２６】
また、各装置が備える各部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、各装置が備える各部による処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。即ち、本発明は、ソフトウェアのプログラムをシステム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによって前述した実施形態の機能が達成される場合を含む。この場合、供給されるプログラムは実施形態で図に示したフローチャートに対応したコンピュータプログラムである。
【０１２７】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【０１２８】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であっても良い。
【０１２９】
コンピュータプログラムを供給するためのコンピュータ読み取り可能な記憶媒体としては以下が挙げられる。例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などである。
【０１３０】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムをハードディスク等の記憶媒体にダウンロードすることが挙げられる。この場合、ダウンロードされるプログラムは、圧縮され自動インストール機能を含むファイルであってもよい。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【０１３１】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布するという形態をとることもできる。この場合、所定の条件をクリアしたユーザに、インターネットを介してホームページから暗号を解く鍵情報をダウンロードさせ、その鍵情報を使用して暗号化されたプログラムを実行し、プログラムをコンピュータにインストールさせるようにもできる。
【０１３２】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどとの協働で実施形態の機能が実現されてもよい。この場合、ＯＳなどが、実際の処理の一部または全部を行ない、その処理によって前述した実施形態の機能が実現される。
【０１３３】
さらに、記憶媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれて前述の実施形態の機能の一部或いは全てが実現されてもよい。この場合、機能拡張ボードや機能拡張ユニットにプログラムが書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行なう。
【図１】
2014203289.tif 000010
【図２】
2014203289.tif 000011
【図３】
2014203289.tif 000012
【図４】
2014203289.tif 000013
【図５】
2014203289.tif 000014
【図６】
2014203289.tif 000015
【図７】
2014203289.tif 000016
【図８】
2014203289.tif 000017
【図９】
2014203289.tif 000018
【図１０】
2014203289.tif 000019
【図１１】
2014203289.tif 000020
【図１２】
2014203289.tif 000021
【図１３】
2014203289.tif 000022
【図１４】
2014203289.tif 000023
【図１５】
2014203289.tif 000024
【図１６】
2014203289.tif 000025
【図１７】
2014203289.tif 000026