(57)【要約】【課題】ローカル認識器による認識結果が妥当であるか否かを検証することを目的とする。【解決手段】認識対象データに対して、ローカル認識器による認識処理を行う第１の認識手段と、前記第１の認識手段による認識処理の結果に基づいて、前記認識対象データに対し、グローバル認識器による認識処理を行う第２の認識手段と、前記第１の認識手段による認識処理の結果と、前記第２の認識手段による認識処理の結果と、に基づいて、前記第１の認識手段による認識処理の結果と前記第２の認識手段による認識処理の結果とのうちの少なくとも１つに誤りが含まれるという仮説を示す仮説情報を生成する生成手段と、前記生成手段により生成された前記仮説情報に基づいて、前記仮説情報に対応する仮説が妥当であるか否かを検証する検証手段と、を有する。【選択図】図６
2019117556.tif 000002
【特許請求の範囲】
【請求項１】
認識対象データに対して、ローカル認識器による認識処理を行う第１の認識手段と、
前記第１の認識手段による認識処理の結果に基づいて、前記認識対象データに対し、グローバル認識器による認識処理を行う第２の認識手段と、
前記第１の認識手段による認識処理の結果と、前記第２の認識手段による認識処理の結果と、に基づいて、前記第１の認識手段による認識処理の結果と前記第２の認識手段による認識処理の結果とのうちの少なくとも１つに誤りが含まれるという仮説を示す仮説情報を生成する生成手段と、
前記生成手段により生成された前記仮説情報に基づいて、前記仮説情報に対応する仮説が妥当であるか否かを検証する検証手段と、
を有する情報処理装置。
【請求項２】
前記第１の認識手段は、１つ以上の前記ローカル認識器それぞれについて、前記認識対象データに対し、前記ローカル認識器による認識処理を行う請求項１記載の情報処理装置。
【請求項３】
前記生成手段は、前記第１の認識手段による認識処理の結果と、前記第２の認識手段による認識処理の結果と、が一致しているか否かに基づいて、前記仮説情報を生成する請求項１又は２記載の情報処理装置。
【請求項４】
前記生成手段により生成された前記仮説情報が妥当であると前記検証手段により判定された場合、前記仮説情報に基づいて、前記第１の認識手段による認識処理の結果と、前記第２の認識手段による認識処理の結果と、のうち少なくとも１つを補正する補正手段を更に有し、
前記第２の認識手段は、更に、前記補正手段により補正された前記第１の認識手段による認識処理の結果、又は前記第２の認識手段による認識処理の結果に基づいて、前記認識対象データに対し、前記グローバル認識器による認識処理を行う請求項１乃至３何れか１項記載の情報処理装置。
【請求項５】
前記補正手段は、前記生成手段により生成された前記第１の認識手段に関する前記仮説情報が妥当であると前記検証手段により判定された場合、前記仮説情報に基づいて、前記第１の認識手段による認識処理の結果を補正し、
前記第２の認識手段は、前記補正手段により補正された前記第１の認識手段による認識処理の結果に基づいて、前記認識対象データに対し、前記グローバル認識器による認識処理を行う請求項４記載の情報処理装置。
【請求項６】
前記補正手段は、前記生成手段により生成された前記第２の認識手段に関する前記仮説情報が妥当であると前記検証手段により判定された場合、前記仮説情報に基づいて、前記第２の認識手段による認識処理の結果を補正し、
前記第２の認識手段は、前記補正手段により補正された前記第２の認識手段による認識処理の結果に基づいて、前記認識対象データに対し、前記グローバル認識器による認識処理を行う請求項４記載の情報処理装置。
【請求項７】
前記生成手段は、前記補正手段により補正された認識処理の結果に基づいて、改めて、前記第１の認識手段による認識処理の結果と前記第２の認識手段による認識処理の結果とのうちの少なくとも１つに誤りが含まれるという仮説を示す前記仮説情報を生成する請求項４乃至６何れか１項記載の情報処理装置。
【請求項８】
前記第１の認識手段は、映像データである前記認識対象データから抽出されたオブジェクトの領域に対して、前記ローカル認識器による認識処理を行う請求項１乃至７何れか１項記載の情報処理装置。
【請求項９】
前記第１の認識手段による前記認識対象データから抽出されたオブジェクトの領域に対しての認識処理の結果のうち、最も仮説を説明しうる認識結果に対応するオブジェクトを選択する選択手段を更に有し、
前記検証手段は、前記選択手段により選択されたオブジェクトについて前記生成手段により生成された前記仮説情報に対応する仮説が妥当であるか否かを検証する請求項８記載の情報処理装置。
【請求項１０】
前記グローバル認識器は、グラフィカルモデルであり、
前記ローカル認識器は、ニューラルネットワークである請求項１乃至９何れか１項記載の情報処理装置。
【請求項１１】
前記グローバル認識器は、Ｄｙｎａｍｉｃ  Ｂａｙｅｓｉａｎ  Ｎｅｔｗｏｒｋであり、
前記ローカル認識器は、畳み込み処理を行うニューラルネットワークである請求項１０記載の情報処理装置。
【請求項１２】
前記検証手段は、前記生成手段により生成された前記第１の認識手段に関する前記仮説情報に基づいて、前記仮説情報に対応する仮説が妥当であるか否かを検証する請求項１乃至１１何れか１項記載の情報処理装置。
【請求項１３】
前記検証手段は、前記生成手段により生成された前記第２の認識手段に関する前記仮説情報と前記第２の認識手段による複数回の認識処理の結果とに基づいて、前記第２の認識手段に関する前記仮説情報に対応する仮説が妥当であるか否かを検証する請求項１乃至１２何れか１項記載の情報処理装置。
【請求項１４】
前記検証手段は、前記第１の認識手段による認識処理の結果の補正に利用されるパラメータを最適化し、最適化された前記パラメータに基づいて、前記生成手段により生成された仮説情報に対応する仮説が妥当であるか否かを検証する請求項１乃至１３何れか１項記載の情報処理装置。
【請求項１５】
前記検証手段は、前記ローカル認識器がニューラルネットワークを用いる場合、前記パラメータである前記ローカル認識器の重みパラメータを最適化し、最適化された前記重みパラメータに基づいて、前記生成手段により生成された仮説情報に対応する仮説が妥当であるか否かを検証する請求項１４記載の情報処理装置。
【請求項１６】
前記検証手段による検証処理に利用された前記重みパラメータを、前記検証手段による検証処理に再利用可能なパラメータとして記憶部に記憶する記憶手段を更に有する請求項１５記載の情報処理装置。
【請求項１７】
前記検証手段は、前記第１の認識手段による認識処理の際に前記ローカル認識器に入力された入力データに変動が加えられたデータに対する前記ローカル認識器による認識結果と、前記第１の認識手段による認識処理の結果と、に基づいて、前記生成手段により生成された仮説情報に対応する仮説が妥当であるか否かを検証する請求項１乃至１６何れか１項記載の情報処理装置。
【請求項１８】
前記第２の認識手段は、前記第１の認識手段による認識処理の結果に基づいて、前記認識対象データに対し、前記グローバル認識器による異常を認識する認識処理を行う請求項１乃至１７何れか１項記載の情報処理装置。
【請求項１９】
前記検証手段により前記仮説情報が妥当であることが検証された場合、前記仮説情報に基づいて、前記ローカル認識器の辞書データを更新する更新手段を更に有する請求項１乃至１８何れか１項記載の情報処理装置。
【請求項２０】
認識対象データに対して、ローカル認識器による認識処理を行う第１の認識手段と、
前記第１の認識手段による認識処理の結果に基づいて、前記認識対象データに対し、グローバル認識器による認識処理を行う第２の認識手段と、
前記第１の認識手段による認識処理の結果と、前記第２の認識手段による認識処理の結果と、に基づいて、前記第２の認識手段による認識処理の結果に誤りが含まれるという仮説を示す仮説情報を生成する生成手段と、
前記生成手段により生成された前記仮説情報に基づいて、前記仮説情報に対応する仮説が妥当であるか否かを検証する検証手段と、
を有する情報処理装置。
【請求項２１】
認識対象データに対して、ローカル認識器による認識処理を行う第１の認識ステップと、
前記第１の認識ステップでの認識処理の結果に基づいて、前記認識対象データに対し、グローバル認識器による認識処理を行う第２の認識ステップと、
前記第１の認識ステップでの認識処理の結果と、前記第２の認識ステップでの認識処理の結果と、に基づいて、前記第１の認識ステップでの認識処理の結果と前記第２の認識ステップでの認識処理の結果とのうちの少なくとも１つに誤りが含まれるという仮説を示す仮説情報を生成する生成ステップと、
前記生成ステップで生成された前記仮説情報に基づいて、前記仮説情報に対応する仮説が妥当であるか否かを検証する検証ステップと、
を含む情報処理方法。
【請求項２２】
認識対象データに対して、ローカル認識器による認識処理を行う第１の認識ステップと、
前記第１の認識ステップでの認識処理の結果に基づいて、前記認識対象データに対し、グローバル認識器による認識処理を行う第２の認識ステップと、
前記第１の認識ステップでの認識処理の結果と、前記第２の認識ステップでの認識処理の結果と、に基づいて、前記第２の認識ステップでの認識処理の結果に誤りが含まれるという仮説を示す仮説情報を生成する生成ステップと、
前記生成ステップで生成された前記仮説情報に基づいて、前記仮説情報に対応する仮説が妥当であるか否かを検証する検証ステップと、
を含む情報処理方法。
【請求項２３】
コンピュータを、請求項１乃至２０何れか１項記載の情報処理装置の各手段として、機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
映像、画像等のデータから、例えば、オブジェクト及びオブジェクトの状態を認識するために、学習データを用いて認識器のパラメータを学習し、学習されたパラメータに基づいて、認識器を用いて入力データに対して認識処理を行う装置や方法が知られている。
認識処理の一つの方法として、入力データの中の局所的な部分に対して認識を行うローカルな認識器（以下では、ローカル認識器）を用いて、以下の処理を行う手法がある。即ち、複数のローカル認識器による認識結果を統合するグローバルな認識器（以下では、グローバル認識器）を学習することで、認識処理を行う方法である。非特許文献１には、このような認識処理の方法を映像データに対して応用した場合について開示されている。非特許文献１に記載されている方法は、Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ（ＣＮＮ）によって得られた人体姿勢推定結果をＨｉｄｄｅｎ  Ｍａｒｋｏｖ  Ｍｏｄｅｌｓ（ＨＭＭ）によって統合する方法である。ＣＮＮは、ニューラルネットワークの一種であり、局所的な畳み込み処理を行うという特徴がある。ＨＭＭは、Ｄｙｎａｍｉｃ  Ｂａｙｅｓｉａｎ  Ｎｅｔｗｏｒｋ（ＤＢＮ）というグラフィカルモデルの一種であり、隠れ状態に従って観測可能な時系列データが生成されるという仮定のもとで、その生成モデルを学習する。この場合は、ＣＮＮがローカル認識器であり、ＤＢＮがグローバル認識器という構成になっている。
また、非特許文献２には、調理手順を撮影した映像中の食材、道具、手先等をＣＮＮで認識し、認識した結果をツリー構造のグラフィカルモデルで統合する方法が開示されている。この場合は、ＣＮＮがローカル認識器であり、ツリーグラフィカルモデルがグローバル認識器という構成になっている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Ｄｅｅｐ  Ｄｙｎａｍｉｃ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋｓ  ｆｏｒ  Ｇｅｓｔｕｒｅ  Ｓｅｇｍｅｎｔａｔｉｏｎ  ａｎｄ  Ｒｅｃｏｇｎｉｔｉｏｎ、  Ｄｉ  Ｗｕ、  Ｌｉｎｇ  Ｓｈａｏ、  ＥＣＣＶ  ＣｈａＬｅａｒｎ  Ｌｏｏｋｉｎｇ  ａｔ  Ｐｅｏｐｌｅ  Ｗｏｒｋｓｈｏｐ、  ２０１４
【非特許文献２】Ｒｏｂｏｔ  Ｌｅａｒｎｉｎｇ  Ｍａｎｉｐｕｌａｔｉｏｎ  Ａｃｔｉｏｎ  Ｐｌａｎｓ  ｂｙ  "Ｗａｔｃｈｉｎｇ"  Ｕｎｃｏｎｓｔｒａｉｎｅｄ  Ｖｉｄｅｏｓ  ｆｒｏｍ  ｔｈｅ  ＷｏｒｌｄＷｉｄｅＷｅｂ、  Ｙｅｚｈｏｕ  Ｙａｎｇ、  Ｙｉ  Ｌｉ、  Ｃｏｒｎｅｌｉａ  Ｆｅｒｍuｌｌｅｒ、  Ｙｉａｎｎｉｓ  Ａｌｏｉｍｏｎｏｓ、  Ａｓｓｏｃｉａｔｉｏｎ  ｆｏｒ  ｔｈｅ  Ａｄｖａｎｃｅｍｅｎｔ  ｏｆ  Ａｒｔｉｆｉｃｉａｌ  Ｉｎｔｅｌｌｉｇｅｎｃｅ、  ２０１５
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、非特許文献１及び２等の従来技術は、ローカル認識器やグローバル認識器の認識結果に誤りが含まれている場合、ローカル認識結果とグローバル認識結果との間で不整合が生じ、認識精度が低下するという問題があった。そのような場合に、認識処理に用いられる認識器による認識結果が妥当であるか検証したいという要望がある。
そこで本発明は、認識処理に用いられる認識器による認識結果が妥当かの検証を目的とする。
【課題を解決するための手段】
【０００５】
本発明の情報処理装置は、認識対象データに対して、ローカル認識器による認識処理を行う第１の認識手段と、前記第１の認識手段による認識処理の結果に基づいて、前記認識対象データに対し、グローバル認識器による認識処理を行う第２の認識手段と、前記第１の認識手段による認識処理の結果と、前記第２の認識手段による認識処理の結果と、に基づいて、前記第１の認識手段による認識処理の結果と前記第２の認識手段による認識処理の結果とのうちの少なくとも１つに誤りが含まれるという仮説を示す仮説情報を生成する生成手段と、前記生成手段により生成された前記仮説情報に基づいて、前記仮説情報に対応する仮説が妥当であるか否かを検証する検証手段と、を有する。
【発明の効果】
【０００６】
本発明によれば、認識処理に用いられる認識器による認識結果が妥当であるかを検証できる。
【図面の簡単な説明】
【０００７】
【図１】異常検知システムのシステム構成の一例を示す図である。
【図２】ローカル学習装置のハードウェア構成の一例を示す図である。
【図３】異常検知システムのシステム構成要素の機能構成等の一例を示す図である。
【図４】異常検知システムのシステム構成要素の機能構成等の一例を示す図である。
【図５】学習処理の一例を示すフローチャートである。
【図６】認識処理の一例を示すフローチャートである。
【図７】ローカル認識部の詳細等の一例を示す図である。
【図８】認識対象の映像データの一例を示す図である。
【図９】グローバル学習部の詳細等の一例を示す図である。
【図１０】分割された領域とＤＢＮとの関係の一例を示す図である。
【図１１】事前確率、及び学習された確率テーブルの一例を示す図である。
【図１２】グローバル認識部の詳細等の一例を示す図である。
【図１３】認識に成功・失敗しうるパターンの一例を示す図である。
【図１４】仮説生成部の詳細等の一例を示す図である。
【図１５】仮説生成処理の一例を示すフローチャートである。
【図１６】仮説生成処理の一例を示すフローチャートである。
【図１７】仮説検証部の詳細等の一例を示す図である。
【図１８】仮説検証処理の一例を示すフローチャートである。
【図１９】仮説検証部の詳細等の一例を示す図である。
【図２０】前検証処理の一例を示すフローチャートである。
【発明を実施するための形態】
【０００８】
以下、本発明の実施形態について図面に基づいて説明する。
【０００９】
＜実施形態１＞
（異常検知システムの概要）
本実施形態では、映像中の物体やその状態を認識するローカル認識器と、複数のローカル認識器の認識結果（以下では、ローカル認識結果）を統合するグローバル認識器と、のそれぞれの認識器が辻褄を合せるように自身の認識結果を補正する処理を説明する。本実施形態では、グローバル認識器は、異常を認識することで異常を検知する認識器である。
図１は、本実施形態の異常検知システムのシステム構成の一例を示す図である。本実施例では、異常検知システムは、監視カメラ等の撮像装置によって撮影された映像中の異常を検出するシステムである。本実施形態では、複数のローカル認識結果をグローバル認識器が統合し、その統合した結果に基づいてグローバル認識器が異常を判定する。
異常検知システムは、ローカル学習装置１０、グローバル学習装置２０、グローバル認識装置３０、仮説生成検証装置４０、端末装置５０、外部記憶装置６０を含む。
【００１０】
ローカル学習装置１０は、複数のローカル認識器の学習を行うパーソナルコンピュータ（ＰＣ）、タブレット装置等の情報処理装置である。グローバル学習装置２０は、グローバル認識器の学習を行うＰＣ、タブレット装置等の情報処理装置である。グローバル認識装置３０は、グローバル学習装置２０により学習されたグローバル認識器を用いて、入力データ中の異常を認識するＰＣ、タブレット装置等の情報処理装置である。仮説生成検証装置４０は、ローカル認識器の認識結果に対する仮説の情報を生成・検証するＰＣ、タブレット装置等の情報処理装置である。端末装置５０は、グローバル認識装置３０から、最終的な認識結果を取得し、認識結果に応じた処理を行うＰＣ、タブレット装置等の情報処理装置である。外部記憶装置６０は、ローカル認識器の情報、グローバル認識器の情報、辞書データ、学習データ等を記憶する外付けハードディスク等の記憶装置である。
外部記憶装置６０は、ローカル学習装置１０、グローバル学習装置２０、グローバル認識装置３０、仮説生成検証装置４０等に接続され、これらと情報のやり取りを行う。ローカル学習装置１０、グローバル学習装置２０、グローバル認識装置３０、仮説生成検証装置４０は、外部記憶装置６０を介して、相互に情報をやり取りすることができる。また、ローカル学習装置１０、グローバル学習装置２０、グローバル認識装置３０、仮説生成検証装置４０は、例えば、携帯電話回線網、インターネット等のネットワークを介して、相互に通信可能に接続されていることとしてもよい。グローバル認識装置３０、仮説生成検証装置４０は、ネットワーク等を介して、相互に接続されている。
【００１１】
（異常検知システムの各構成要素のハードウェア構成）
図２は、ローカル学習装置１０のハードウェア構成の一例を示す図である。ローカル学習装置１０は、ＣＰＵ１００、主記憶装置１０１、補助記憶装置１０２、入出力Ｉ／Ｆ１０３、ネットワークＩ／Ｆ１０４を含む。これらは、システムバス１０５を介して相互に接続されている。
ＣＰＵ１００は、ローカル学習装置１０の処理を制御する中央演算装置である。主記憶装置１０１は、ＣＰＵ１００のワークエリアや、データの一時記憶領域として機能する。補助記憶装置１０２は、各種プログラム、各種設定データ、認識器の情報、学習データ等を記憶する。入出力Ｉ／Ｆ１０３は、外部記憶装置６０等の外部の装置との間の情報の入出力に利用されるインターフェースである。ネットワークＩ／Ｆ１０４は、外部の他の装置との間で、ネットワークを介した通信を行う際に利用されるインターフェースである。
ＣＰＵ１００が、補助記憶装置１０２等に記憶されたプログラムに基づき処理を実行することによって、図３で後述するローカル学習装置１０の機能及び図５で後述するフローチャートにおけるローカル学習装置１０の処理等が実現される。
【００１２】
グローバル学習装置２０、グローバル認識装置３０、仮説生成検証装置４０、端末装置５０のそれぞれのハードウェア構成は、図２と同様である。各装置では、ＣＰＵが、補助記憶装置等に記憶されたプログラムに基づき処理を実行することによって、後述する機能が実現され、後述するフローチャートにおける処理等が実現される。
【００１３】
（異常検知システムの各構成要素の機能構成の概要）
本実施形態の異常検知システムは、監視対象を撮像装置で撮影し、撮影した映像データに基づいて、監視対象の異常を検知する。異常検知システムは、異常がある場合は、監視センタに常駐する監視者に、例えば端末装置５０を介して警告する。異常検知システムの監視対象としては、例えば、家庭の屋内及び屋外や、病院、駅等の公共施設等がある。
図３は、異常検知システムのシステム構成要素のうち、学習処理に係る機能構成等の一例を示す図である。図４は、異常検知システムのシステム構成要素のうち、認識処理に係る機能構成等の一例を示す図である。本実施形態の異常検知システムの処理は、学習処理と、認識処理と、に大別される。そこで、学習処理に用いられる機能については、図３で示し、図３の各機能の処理の一例を後述する図５で説明する。また、認識処理に用いられる機能については、図４で示し、図４の各機能の処理の一例を後述する図６で説明する。
異常検知システムは、ローカル学習装置１０、グローバル学習装置２０、外部記憶装置６０を介して、認識器の辞書データの学習処理等を行う。
異常検知システムは、グローバル認識装置３０、仮説生成検証装置４０、端末装置５０、外部記憶装置６０を介して、異常の認識処理を行う。異常検知システムは、例えば、認識対象データの認識、異常の判定、及び異常の警告表示等を行う。
【００１４】
ローカル学習装置１０は、学習データ読込部１１、ローカル学習部１２を含む。
学習データ読込部１１は、外部記憶装置６０のローカル学習データ記憶部Ｄ１から、ローカル認識器の辞書データの学習に用いられる学習データを取得する。ローカル学習部１２は、学習データ読込部１１により取得された学習データに基づいて、ローカル認識器の辞書データの機械学習を行い、機械学習の結果、得られた辞書データを、外部記憶装置のローカル辞書記憶部Ｍ１に記憶する。
グローバル学習装置２０は、学習データ読込部２１、ローカル認識部２２、グローバル学習部２３を含む。
学習データ読込部２１は、外部記憶装置６０のグローバル学習データ記憶部Ｄ２から、グローバル認識器の辞書データの学習に用いられる学習データを取得する。ローカル認識部２２は、ローカル認識器による認識処理を行う。グローバル学習部２３は、グローバル認識器の辞書データを学習する。
【００１５】
グローバル認識装置３０は、認識対象データ読込部３１、ローカル認識部３２、グローバル認識部３３を含む。認識対象データ読込部３１は、認識対象データ記憶部Ｄ５から、認識対象データを取得する。ローカル認識部３２は、ローカル認識部２２と同様に、ローカル認識器による認識処理を行う。グローバル認識部３３は、ローカル認識部３２の認識結果に基づいて、グローバル認識器による認識処理を行う。
仮説生成検証装置４０は、仮説生成部４１、仮説検証部４２を含む。
仮説生成部４１は、ローカル認識部３２によるローカル認識結果と、グローバル認識部３３によるグローバル認識結果と、に基づいて、仮説情報を生成する。仮説生成部４１は、ローカル認識器の認識結果に誤りがあるのではないか、という仮説を生成する。ここで、認識結果の誤りには誤検出と未検出とがあり、それぞれについて仮説を生成する。仮説検証部４２は、ローカル認識器の学習に用いられた辞書データに基づいて、仮説生成部４１により生成された仮説情報を検証する。
端末装置５０は、表示部５１、音声出力部等を含む。表示部５１は、グローバル認識装置３０から送信された認識結果等を表示する。音声出力部は、グローバル認識装置３０の認識結果が異常を示す情報である場合、アラーム音等を出力し、ユーザに警告する。
【００１６】
外部記憶装置６０は、ローカル学習データ記憶部Ｄ１、グローバル学習データ記憶部Ｄ２、ローカル認識結果記憶部Ｄ３、グローバル認識結果記憶部Ｄ４、認識対象データ記憶部Ｄ５、ローカル辞書記憶部Ｍ１、グローバル辞書記憶部Ｍ２を含む。各記憶部は、外部記憶装置６０の記憶領域内に実装されている各種別のデータを記憶する記憶部である。
ローカル学習データ記憶部Ｄ１は、ローカル認識器の辞書データの学習に利用される学習データを、予め記憶している。グローバル学習データ記憶部Ｄ２は、グローバル認識器の辞書データの学習に利用される学習データを、予め記憶している。ローカル認識結果記憶部Ｄ３は、ローカル認識器による認識結果の情報を記憶する。グローバル認識結果記憶部Ｄ４は、グローバル認識器による認識の結果の情報を記憶する。ローカル辞書記憶部Ｍ１は、ローカル学習装置１０により学習されたローカル認識器の辞書データを記憶する。グローバル辞書記憶部Ｍ２は、グローバル学習装置２０により学習されたグローバル認識器の辞書データを記憶する。認識対象データ記憶部Ｄ５は、監視カメラにより撮影された映像データ等の異常認識処理の対象となる認識対象データを記憶する。
【００１７】
（学習処理の概要）
図５は、学習処理の一例を示すフローチャートである。図５を用いて、本実施形態の異常検知システムが行う学習処理を説明する。図５のＳ１７０１〜Ｓ１７０２の処理は、ローカル学習装置１０の処理である。また、図５のＳ１７０３〜Ｓ１７０５の処理は、グローバル学習装置２０の処理である。
Ｓ１７０１において、学習データ読込部１１は、ローカル認識器の辞書データの学習に利用される学習データを、ローカル学習データ記憶部Ｄ１から取得する。
Ｓ１７０２において、ローカル学習部１２は、Ｓ１７０１で取得された学習データを利用して、ローカル認識器の辞書データの学習を行い、学習したローカル認識器の辞書データを、ローカル辞書記憶部Ｍ１に記憶する。
【００１８】
Ｓ１７０３において、学習データ読込部２１は、ローカル認識器による認識処理を施すための学習データを、グローバル学習データ記憶部Ｄ２から取得する。
Ｓ１７０４において、ローカル認識部２２は、Ｓ１７０２で記憶されたローカル認識器の辞書データをローカル辞書記憶部Ｍ１から取得し、取得した辞書データに基づいて、ローカル認識器による認識処理を、Ｓ１７０３で取得された学習データに対して行う。そして、ローカル認識部２２は、ローカル認識器による認識処理の結果の情報を、ローカル認識結果記憶部Ｄ３に記憶する。
Ｓ１７０５において、グローバル学習部２３は、ローカル認識結果記憶部Ｄ３から、Ｓ１７０４で行われた認識処理の結果の情報を取得し、取得した情報に基づいて、グローバル認識器の辞書データの学習を行う。そして、グローバル学習部２３は、学習した辞書データを、グローバル辞書記憶部Ｍ２に記憶する。
【００１９】
（認識処理の概要）
図６は、認識処理の一例を示すフローチャートである。図６を用いて、本実施形態の異常検知システムが実行する認識処理の概要を説明する。図６のＳ１８０１〜Ｓ１８０３、Ｓ１８０７〜Ｓ１８０８の処理は、グローバル認識装置３０の処理である。図６のＳ１８０４〜Ｓ１８０６の処理は、グローバル認識装置３０の処理である。図６のＳ１８０９は、端末装置５０の処理である。
Ｓ１８０１において、認識対象データ読込部３１は、認識対象データ記憶部Ｄ５から認識対象データを取得する。
Ｓ１８０２において、ローカル認識部３２は、Ｓ１７０２で学習されたローカル認識器の辞書データを、ローカル辞書記憶部Ｍ１から取得する。そして、ローカル認識部３２は、取得した辞書データに基づいて、Ｓ１８０１で取得された認識対象データの認識処理を行い、認識処理の結果の情報を、ローカル認識結果記憶部Ｄ３に記憶する。
【００２０】
Ｓ１８０３において、グローバル認識部３３は、Ｓ１７０５で学習されたグローバル認識器の辞書データを、グローバル辞書記憶部Ｍ２から取得し、Ｓ１８０２での認識処理の結果の情報を、ローカル認識結果記憶部Ｄ３から取得する。そして、グローバル認識部３３は、取得した辞書データと認識結果の情報とに基づいて、各認識結果を統合する認識処理を行い、認識処理の結果の情報を、グローバル認識結果記憶部Ｄ４に記憶する。
Ｓ１８０４において、仮説生成部４１は、Ｓ１８０２での認識処理の結果の情報をローカル認識結果記憶部Ｄ３から取得し、Ｓ１８０３での認識処理の結果の情報をグローバル認識結果記憶部Ｄ４から取得する。仮説生成部４１は、ローカル認識結果記憶部Ｄ３から取得した情報と、グローバル認識結果記憶部Ｄ４から取得した情報と、の一致性に基づいて、Ｓ１８０２で行われた認識処理の結果の誤りに関する仮説情報を生成する。
Ｓ１８０５において、仮説検証部４２は、Ｓ１７０２で学習されたローカル認識器の辞書データを、ローカル辞書記憶部Ｍ１から取得し、取得した辞書データに基づいて、Ｓ１８０４で生成された仮説情報を検証する。
【００２１】
Ｓ１８０６において、仮説検証部４２は、Ｓ１８０２での認識処理に誤りがあるという仮説を正しいと判定した場合、Ｓ１８０４で生成された仮説情報を、ローカル認識結果記憶部Ｄ３に記憶されているＳ１８０２での認識処理の結果の情報に基づいて補正する。
Ｓ１８０７において、グローバル認識部３３は、Ｓ１８０６で補正されたＳ１８０２での認識処理の結果の情報を、ローカル認識結果記憶部Ｄ３から取得する。そして、グローバル認識部３３は、取得した認識処理の結果の情報及びＳ１７０５で学習されたグローバル認識器の辞書データに基づいて、再度、認識処理を行う。
Ｓ１８０８において、グローバル認識部３３は、Ｓ１８０７での認識処理の結果に基づいて、Ｓ１８０１で取得された認識対象データが異常であるか否かを判定し、その結果の情報を端末装置５０に送信する。
Ｓ１８０９において、端末装置５０は、Ｓ１８０８で送信された情報が異常を示す情報である場合、異常音を鳴らして警告する等の予め設定された異常に対応する処理を行う。
【００２２】
（学習処理の詳細）
以下では、異常検知システムによる学習処理の詳細について説明する。
まず、ローカル学習装置１０の各機能構成要素の詳細について説明する。
学習データ読込部１１は、ローカル認識器を学習するための学習データを、ローカル学習データ記憶部Ｄ１から取得し、ローカル学習部１２に送信する。ローカル学習データ記憶部Ｄ１から取得される学習データは、映像データや音声データ等、目的に応じたデータである。異常検知システムは、例えば、ローカル認識器を行動認識器として用いる場合、映像データを学習データとして利用する。異常検知システムは、例えば、ローカル認識器を音声認識器として用いる場合、音声データを学習データとして利用する。本実施形態では、異常検知システムは、映像データのみをローカル認識器の学習に用いることとする。即ち、本実施形態のローカル認識器は、入力された映像と、映像中に含まれるオブジェクトの名称と、の組とを学習し、入力された映像が何のオブジェクトの映像であるか認識する。ここで、名称とは、オブジェクトのクラスである。学習データは、オブジェクトのクラスと一対一に対応する教師信号を含むものとする。本実施形態で用いられる学習データには、少なくとも、認識対象と同じクラスのオブジェクトが含まれている。
【００２３】
なお、本実施形態では、異常検知システムは、学習データから特徴量を抽出する特徴抽出器を用いていないが、学習データ・認識対象のデータの種類やローカル認識器の種類等に応じて、ローカル認識器による処理の前に任意の特徴抽出器を用いてよい。
本実施形態では、異常検知システムは、ローカル認識器としてオブジェクトの名称を出力する認識器を用いることとする。しかし、異常検知システムは、例えば、オブジェクトの名称でなく、その他の情報を出力する任意の認識器をローカル認識器として用いてもよい。また、異常検知システムは、複数の種類のローカル認識器を用いることとしてもよい。例えば、異常検知システムは、入力された映像に撮影された人物の性別を出力するローカル認識器と、入力された映像に撮影された人物の行動の種類を出力するローカル認識器と、を用いてもよい。その場合、それぞれのローカル認識器は、入力された映像に撮影された同一の人物に対する認識結果を出力することとしてもよい。また、例えば、それぞれのローカル認識器は、入力された映像に撮影された同一の人物に対する異なる人物に対する認識結果を出力することとしてもよい。
また、学習に十分な量の学習データを予め用意することは困難な場合、異常検知システムは、追加の学習データとして、入手可能な異なるドメインの画像を用いてもよく、例えば、以下の参考文献１に記載のＩｍａｇｅ  Ｎｅｔを用いてもよい。
（参考文献１）ＩｍａｇｅＮｅｔ：  Ａ  ｌａｒｇｅ−ｓｃａｌｅ  ｈｉｅｒａｒｃｈｉｃａｌ  ｉｍａｇｅ  ｄａｔａｂａｓｅ、  Ｊ．  Ｄｅｎｇ、  Ｗ．  Ｄｏｎｇ、  Ｒ．  Ｓｏｃｈｅｒ、  Ｌ．−Ｊ．  Ｌｉ、  Ｋ．  Ｌｉ、  ａｎｄ  Ｌ．  Ｆｅｉ−Ｆｅｉ、  Ｉｎ  ＣＶＰＲ、  ２００９
Ｉｍａｇｅ  Ｎｅｔは、オブジェクトを大量に撮影した大規模画像データセットである。異常検知システムは、Ｉｍａｇｅ  Ｎｅｔをローカル認識器の学習に用いることで、ローカル認識器の汎化性能を向上させることができる。以上のようなデータを、ローカル学習データ記憶部Ｄ１は、ローカル認識器の学習に用いられる学習データとして記憶する。
【００２４】
ローカル学習部１２の詳細について説明する。
ローカル学習部１２は、学習データ読込部１１から送信された学習データに基づいてローカル認識器の辞書データを学習する。ローカル認識器には、例えば、Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ（ＣＮＮ）等がある。ＣＮＮは、局所的な畳み込み処理を行うニューラルネットワークの一種である。異常検知システムが行うＣＮＮの学習方法としては、例えば以下の参考文献２に記載の方法がある。ＣＮＮは、特徴抽出器を兼ねた認識器として機能し、学習データに適した特徴抽出器を実現できる。本実施形態では、異常検知システムは、ローカル認識器としてＣＮＮを用いることとする。
（参考文献２）Ｒｉｃｈ  ｆｅａｔｕｒｅ  ｈｉｅｒａｒｃｈｉｅｓ  ｆｏｒ  ａｃｃｕｒａｔｅ  ｏｂｊｅｃｔ  ｄｅｔｅｃｔｉｏｎ  ａｎｄ  ｓｅｍａｎｔｉｃ  ｓｅｇｍｅｎｔａｔｉｏｎ、  Ｒｏｓｓ  Ｇｉｒｓｈｉｃｋ、  Ｊｅｆｆ  Ｄｏｎａｈｕｅ、  Ｔｒｅｖｏｒ  Ｄａｒｒｅｌ、  Ｊｉｔｅｎｄｒａ  Ｍａｌｉｋ、  ＩＥＥＥ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ  ａｎｄ  Ｐａｔｔｅｒｎ  Ｒｅｃｏｇｎｉｔｉｏｎ  （ＣＶＰＲ）、  ２０１４
また、学習データの画像には異なるクラスのオブジェクトが複数存在していることがある。その場合、ローカル学習部１２は、参考文献２の方法でオブジェクトそれぞれが単独で存在する小領域を特定した後、特定したそれぞれの小領域を切り出した画像を用いてＣＮＮを学習すればよい。
ローカル学習部１２は、学習したローカル認識器の辞書データをローカル辞書記憶部Ｍ１に記憶する。ローカル検出器としてＣＮＮを用いる場合、異常検知システムが学習する辞書データは、ＣＮＮが持つ複数の重み係数であり、更に各重み係数に対応するＣＮＮのネットワーク構造上の位置の情報と、活性化関数の種類等モデルの情報をも含む。異常検知システムは、このように重み係数とネットワーク情報を辞書データとして保持することで、ＣＮＮの辞書データを取得した際に、元の学習済みネットワークを復元できる。
【００２５】
グローバル学習装置２０の各機能構成要素の詳細について説明する。
学習データ読込部２１の詳細について説明する。
学習データ読込部２１は、グローバル認識器を学習するための元となる学習データをグローバル学習データ記憶部Ｄ２から取得し、ローカル認識部２２に送信する。取得された学習データは、まずローカル認識器による認識処理が施され、その認識処理の結果の情報に基づいてグローバル認識器の辞書データが学習される。
学習データとしては、異常検知システムによる認識処理における認識対象として用いられる映像データと、同様の位置に設置されたカメラにより同様の場所を撮影された映像データとが用いられる。学習データとしては、異常な事象が含まれていない正常な映像データが用いられるため、正常な関係モデルをグローバル認識器が学習することになる。
【００２６】
ローカル認識部２２の詳細について説明する。図７は、ローカル認識部２２の詳細等の一例を示す図である。
ローカル認識部２２は、小領域抽出部２２１と、ローカル辞書読込部２２２と、ローカル認識実行部２２３と、ローカル認識結果送信部２２４と、を含む。
本実施形態の異常検知システムが認識対象とする映像データには、複数のオブジェクトが撮影される場合があり、ローカル認識器は、それぞれのオブジェクトを独立に認識するものとする。そこで、異常検知システムは、認識対象とする映像データに含まれるそれぞれのオブジェクトを囲む小領域を抽出する必要がある。
【００２７】
小領域抽出部２２１は、学習データである映像データの各フレームから、撮影されたオブジェクトを含む小領域を抽出する。ここで、ある映像データ中の１フレームの画像の例を図８に示す。図８の画像５０１は、ある交差点における監視映像の画像の例を示し、オブジェクト５０２〜５０５は撮影されたオブジェクトをそれぞれ示している。領域５０６〜５０９は、小領域抽出部２２１によって抽出された小領域のＢｏｕｎｄｉｎｇ  Ｂｏｘを示している。Ｂｏｕｎｄｉｎｇ  Ｂｏｘとは、ある画像中に設定された矩形領域の境界である。Ｂｏｕｎｄｉｎｇ  Ｂｏｘは、あくまでも小領域を抽出する具体例の一つであり、小領域抽出部２２１は、例えば、背景差分法によって撮影されたオブジェクトの輪郭に沿った小領域を抽出してもよい。オブジェクト５１０は、信号機を示している。
映像データのフレームから小領域を抽出するための方法は、複数存在し、大別して、背景差分法、物体検出・追尾法、領域分割法の三つ等がある。小領域抽出部２２１は、任意の方法で、オブジェクトの小領域を抽出することができるが、監視対象のオブジェクトが予め既知である場合、ターゲットのオブジェクトのみを検出・追尾する目的に絞られた物体検出・追尾法が比較的、適している。物体検出・追尾法には、例えば以下の参考文献３の方法があり、小領域抽出部２２１は、この方法を用いてもよい。
（参考文献３）Ｒｅａｌ−Ｔｉｍｅ  Ｔｒａｃｋｉｎｇ  ｖｉａ  Ｏｎ−ｌｉｎｅ  Ｂｏｏｓｔｉｎｇ、  Ｈ．  Ｇｒａｂｎｅｒ、  Ｍ．  Ｇｒａｂｎｅｒ  ａｎｄ  Ｈ．  Ｂｉｓｃｈｏｆ、  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  Ｂｒｉｔｉｓｈ  Ｍａｃｈｉｎｅ  Ｃｏｎｆｅｒｅｎｃｅ、  ｐａｇｅｓ  ６．１−６．１０．  ＢＭＶＡ  Ｐｒｅｓｓ、  Ｓｅｐｔｅｍｂｅｒ  ２００６
小領域抽出部２２１は、抽出した小領域の画像をローカル認識実行部２２３に送信する。
ローカル辞書読込部２２２は、ローカル辞書記憶部Ｍ１からローカル認識器の学習済みの辞書データを取得し、取得した辞書データをローカル認識実行部２２３に送信する。
【００２８】
ローカル認識実行部２２３は、ローカル辞書読込部２２２から受信したローカル認識器の辞書データを用いて、小領域抽出部２２１から受信した小領域の画像に対して認識処理を行う。ローカル認識実行部２２３は、例えば、図８のオブジェクト５０２を含む小領域画像に対して認識処理を実行した際は、オブジェクトの属性に関する歩行者であることを示す情報をローカル認識結果の情報として得る。また、ローカル認識実行部２２３は、図８の領域５０４の小領域画像に対して認識処理を実行した際は、自転車であることを示す情報をローカル認識結果の情報として得られる。ローカル認識実行部２２３は、ローカル認識結果の情報をローカル認識結果送信部２２４に送信する。
なお、ローカル認識器の辞書データの学習の際に、認識対象となる映像データ以外の学習データ（Ｉｍａｇｅ  Ｎｅｔ等）が利用された場合、認識対象データに対するローカル認識器の認識精度が低下することがある。その場合、ＣＮＮに対してＦｉｎｅ  Ｔｕｎｉｎｇを行うことで精度改善が期待できるため、ローカル認識実行部２２３は、Ｆｉｎｅ  Ｔｕｎｉｎｇを行ってもよい。Ｆｉｎｅ  Ｔｕｎｉｎｇには、実際の識別対象となる映像データ中のオブジェクトの画像と、その教師信号と、を用いて、別途再学習を行う必要がある。そこで、ローカル認識実行部２２３は、例えば参考文献２に記載の方法等を用いることで、Ｆｉｎｅ  Ｔｕｎｉｎｇを実現できる。
ローカル認識結果送信部２２４は、ローカル認識実行部２２３から受信したローカル認識結果をローカル認識結果記憶部Ｄ３に送信して記憶させる。ローカル認識結果記憶部Ｄ３は、学習データ読込部２１で取得された映像データ中におけるフレーム番号と、小領域の位置情報と、をローカル認識結果の情報と併せて、記憶することとする。フレーム番号は、そのローカル認識結果がどの時点で認識されたかを示している。また、小領域の位置情報は、映像データのフレーム上での小領域の座標を示す情報であり、異常検知システムは、例えば小領域の中心や重心等の代表値を使用すればよい。これにより、グローバル認識器は、ローカル認識結果の時系列情報、及び、位置情報を取得することができ、これらを考慮した認識処理を行うことが可能になる。
【００２９】
グローバル学習部２３の詳細について説明する。図９は、グローバル学習部２３の詳細等の一例を示す図である。グローバル学習部２３は、ローカル認識結果読込部２３１と、領域分割部２３２と、グローバル認識器学習部２３３と、を含む。
ローカル認識結果読込部２３１は、ローカル認識結果記憶部Ｄ３から、ローカル認識結果の情報を取得し、グローバル認識器学習部２３３に送信する。ローカル認識結果読込部２３１は、ローカル認識結果記憶部Ｄ３から、ローカル認識結果の情報と併せて、映像データのフレーム番号、及び認識対象となった小領域の位置情報をも取得する。
領域分割部２３２は、グローバル学習データ記憶部Ｄ２から、学習データとなる映像データを取得し、取得した映像データの情報に基づいて、取得した映像データの各フレームについて、領域分割を行う。領域分割とは、映像データの画面を複数の異なる領域に分割することである。グローバル認識器学習部２３３は、領域分割部２３２による領域分割処理により得られる領域に基づいて、グローバル認識器の辞書データの学習を行う。
【００３０】
領域分割の方法は、様々あり、最も単純な方法は画面の等分割である。領域分割部２３２は、例えば、映像データのフレームサイズに基づいて画面を４分割する。一方で、例えば、図８のようにオブジェクトが特定の経路上を動き回る特徴がある映像データの場合、等分割は単純すぎる。その場合は、領域分割部２３２は、例えば、以下の参考文献４に記載されているように、オブジェクトの動き特徴をベースとした領域分割を行ってもよい。本実施形態では、領域分割部２３２は、画面を４つに等分割することとする。
（参考文献４）Ｓｃｅｎｅ  Ｓｅｇｍｅｎｔａｔｉｏｎ  ｆｏｒ  Ｂｅｈａｖｉｏｕｒ  Ｃｏｒｒｅｌａｔｉｏｎ、  Ｊ．  Ｌｉ、  Ｓ．  Ｇｏｎｇ、  Ｔ．  Ｘｉａｎｇ、  Ｉｎ  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  Ｅｕｒｏｐｅａｎ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ  （ＥＣＣＶ）、  Ｍａｒｓｅｉｌｌｅ、  Ｆｒａｎｃｅ、  ２００８．
領域分割部２３２は、ターゲットとするデータによって領域分割の処理を行わず、代替する処理を行ってもよい。領域分割部２３２は、例えば、特許文献１に記載の、単語を検出するための区間の分割処理等をおこなってもよい。この処理は、ターゲットが映像データである際のローカル認識処理を行う前に領域分割を行い、領域毎にローカル認識を行う場合に相当し、領域分割部２３２は、必要に応じてこのような処理を行ってもよい。また、異常検知システムは、領域分割を行わずに、小領域それぞれについてのローカル認識器による認識結果を、直接グローバル認識器の入力として用いることとしてもよい。
領域分割部２３２は、分割した領域の情報を、グローバル辞書記憶部Ｍ２に記憶し、グローバル認識器学習部２３３に送信する。
【００３１】
グローバル認識器学習部２３３は、ローカル認識結果読込部２３１から受信したローカル認識結果と、領域分割部２３２から受信した領域分割結果と、に基づいて、グローバル認識器の辞書データを学習する。より具体的には、グローバル認識器学習部２３３は、時系列上・画面座標上に分布する複数の異なるローカル認識結果を統合するように、それらの関係を学習する。グローバル認識器学習部２３３は、このような学習に対応するのであれば、任意の認識器の辞書データを学習してもよい。本実施形態では、異常検知システムは、グローバル認識器として、時間遷移を含む確率モデルの一つであるＤｙｎａｍｉｃ  Ｂａｙｅｓｉａｎ  Ｎｅｔｗｏｒｋ（ＤＢＮ）を用いるものとする。ＤＢＮは、確率変数間の条件付き依存構造を示す確率モデルであるグラフィカルモデルの一例である。
ＤＢＮによってローカル認識結果を統合する処理の例を図１０に示す。図１０の状態６０１は、本実施形態の学習データや認識対象データと同様の場所が撮影された映像データから抜き出した一フレームの状態である。座標軸６０２のｕ軸は、画面座標上の横軸、ｖ軸は、縦軸を示している。領域６０３ａ〜６０３ｄは、領域分割部２３２により分割された領域を例示したものであり、画面座標が４等分に分割され、４つの領域が得られている。状態６０４〜６０７は、ＤＢＮの現在の観測変数を示した状態であり、一つ一つの観測変数が一つの分割領域に対応する。状態６０８は、ＤＢＮの不観測な現在の状態を示した状態であり、例えば、離散値をとることで、又は、予め設定された値で、状態数が決定される。エッジ６０９は、現在の観測変数と現在の状態とを繋ぐエッジであり、観測変数と状態とが確率的な関係を持つことを意味している。状態６１０は、過去の状態を示し、状態６０８の一つ前の状態を意味する。エッジ６１１は、過去の状態と現在の状態とを繋ぐエッジであり、エッジ６０９と同様に確率的な関係を表している。
【００３２】
ここで観測変数は、ＤＢＮに入力情報として与えられる可観測な時系列情報を表しており、観測変数が離散モデルのＤＢＮでは、例えば、０と１の数値で表わされる。このとき観測変数の値が、観測対象が観測された場合は１で表わされ、観測されなかった場合は０で表わされる。即ち、図１０は、各領域における現在のローカル検出結果の情報が、その領域の観測変数に対して代入されることを示す。なお、観測変数は任意の次元数のベクトルで表わされ、例えば図１０の状態６０４〜６０７は、それぞれ複数次元のベクトルで表わされる。より具体的には、図８を例とした場合、観測されるオブジェクトが歩行者及び自転車の２種類とすると、観測変数は歩行者と自転車とを意味する２次元ベクトルで表わされる。また、図１０では、各領域に複数の小領域が存在している場合がある。より具体的には、ある同一の領域に、図８の歩行者５０３と自転車５０５のような複数のオブジェクトが存在することがある。このような場合は、複数のオブジェクトの情報を一つの観測変数にまとめる必要があり、ここでは例として領域内にあるすべての小領域の和集合から観測変数を得るものとする。即ち、仮に、ある領域中に歩行者と自転車の小領域（オブジェクト）が存在する場合は、小領域が同時にいくつ存在している場合でも、歩行者の観測変数が１、自転車の観測変数が１とする。
【００３３】
図１０は、一次のマルコフ過程のＤＢＮを例示したものであり、現在から一つ前の過去の状態まで遡ってモデル化しているが、グローバル認識器学習部２３３は、任意のマルコフ次のＤＢＮを用いてもよい。本実施形態では、グローバル認識器学習部２３３は、一次のマルコフ過程のＤＢＮを用いることとする。
ＤＢＮを学習する方法は、任意であるが、観測が与えられたもとでの隠れ状態の尤度が高くなるように最適化を行うことが望ましい。グローバル認識器学習部２３３は、例えば、以下の参考文献５に記載の方法を用いてもよい。
（参考文献５）Ｄｙｎａｍｉｃ  Ｂａｙｅｓｉａｎ  Ｎｅｔｗｏｒｋ  ：  Ｒｅｐｒｅｓｅｎｔａｔｉｏｎ、  Ｉｎｆｅｒｅｎｃｅ  ａｎｄ  Ｌｅａｒｎｉｎｇ．  Ｋ．  Ｐ．  Ｍｕｒｐｈｙ、  ＰｈＤ  ｔｈｅｓｉｓ、  ＵＣ  Ｂｅｒｋｅｌｅｙ、  ２００２
グローバル認識器学習部２３３は、以上のような学習方法を利用することで、ＤＢＮが与えられた時系列的な観測変数を尤もらしく生成する状態を学習する。ＤＢＮは、観測変数と状態との間に存在する確率的な関係を学習によって獲得していると言い換えることもできる。グローバル認識器学習部２３３による学習処理によって得られた結果を図１１に例示する。図１１は、ＤＢＮが獲得した確率的関係を示す図である。図１１の例では、状態は２種類、観測変数は４種類である場合を例示している。テーブル７０１は、事前状態の確率を示すテーブルであり、図１０の状態６１０に対応する過去の状態がとり得る状態の事前確率を示している。テーブル７０２は、状態遷移確率テーブルであり、状態６１０に対応する過去の状態から状態６０８に対応する現在の状態に遷移する際に状態の値が変化する確率を示している。テーブル７０３は、観測確率テーブルであり、状態６０８に対応する現在の状態の値が定まったもとでの状態６０４〜６０７に対応する現在の観測変数の値がどのようになり得るかを確率的に示している。
本実施形態では、異常検知システムは、単一種類のローカル認識器による認識結果を、グローバル認識器に入力することとした。しかし、異常検知システムは、複数の種類のローカル認識器による認識結果を、グローバル認識器に入力することとしてもよい。その場合、複数の種類のローカル認識器の認識結果は、任意の形式で表現されることとしてもよい。例えば、観測変数の状態を複数の変数で表現されることとしてもよい。より具体的には、ローカル認識器が２種類である場合、２次元の観測変数で表現されることとなる。
グローバル認識器学習部２３３は、学習処理の結果の情報を、グローバル辞書記憶部Ｍ２に送信することで、グローバル辞書記憶部Ｍ２に記憶する。
以上が、異常検知システムの学習処理の詳細である。
【００３４】
（認識処理の詳細）
以下では、異常検知システムによる認識処理の詳細について説明する。
まず、グローバル認識装置３０の各機能構成要素の詳細について説明する。
認識対象データ読込部３１は、認識対象データ記憶部Ｄ５から認識対象データを取得し、ローカル認識部２２に送信する。本実施形態で用いられる認識対象データは、異常検知システムが異常を検知する映像データであり、正常な映像データだけでなく、異常な事態を撮影した映像データも含む。本実施形態では、ローカル認識器は、異常を検知せず、ローカル認識器の認識結果の関係に基づいてグローバル認識器が異常を検知する。
ローカル認識部３２は、ローカル辞書記憶部Ｍ１から学習済みのローカル認識器の辞書データを取得し、認識対象データ読込部３１から認識対象データである映像データを取得する。ローカル認識部３２は、ローカル認識器の辞書データに基づいて、認識対象データに対して認識処理を行い、認識結果の情報をローカル認識結果記憶部Ｄ３に記憶する。
ローカル認識部３２の詳細は、図７に示されるローカル認識部２２の詳細と同様である。ローカル認識部３２は、小領域抽出部３２１と、ローカル辞書読込部３２２と、ローカル認識実行部３２３と、ローカル認識結果送信部３２４と、を含む。小領域抽出部３２１、ローカル辞書読込部３２２、ローカル認識実行部３２３、ローカル認識結果送信部３２４の詳細は、それぞれ小領域抽出部２２１、ローカル辞書読込部２２２、ローカル認識実行部２２３、ローカル認識結果送信部２２４と同様である。
【００３５】
グローバル認識部３３の詳細について説明する。図１２は、グローバル認識部３３の詳細等の一例を示す図である。グローバル認識部３３は、ローカル認識結果読込部３３１と、グローバル辞書読込部３３２と、グローバル認識実行部３３３と、を含む。
ローカル認識結果読込部３３１は、ローカル認識結果記憶部Ｄ３から、ローカル認識結果の情報を取得し、グローバル認識実行部３３３に送信する。
グローバル辞書読込部３３２は、グローバル辞書記憶部Ｍ２から、学習済みのグローバル認識器の辞書データを取得し、グローバル認識実行部３３３に送信する。
グローバル認識実行部３３３は、グローバル認識結果記憶部Ｄ４から、過去のグローバル認識結果の情報を取得する。グローバル認識実行部３３３は、グローバル辞書読込部３３２から受信した辞書データと、ローカル認識結果読込部３３１から受信したローカル認識結果の情報と、取得した過去のグローバル認識結果の情報と、に基づいて、認識対象のデータへの認識処理を行う。
【００３６】
本実施形態では、異常検知システムがグローバル認識器としてＤＢＮを用いているため、過去のグローバル認識結果は、過去の状態に相当する。例えば、図１０の状態６１０に対応する状態が過去の状態である。また、ここで新たに認識を行うのは現在の状態であり、例えば状態６０８に対応する現在の状態である。
ここで、グローバル認識実行部３３３は、ＤＢＮの状態を認識する方法として、例えば参考文献５に記載されるＶｉｔｅｒｂｉアルゴリズムを用いてもよい。Ｖｉｔｅｒｂｉアルゴリズムは、動的計画法のように効率よく現在の状態の推定ができ、図１１のテーブル７０２のような状態遷移確率テーブル等を用いて、最適なパスを高速に算出可能である。
本実施形態では、グローバル認識実行部３３３は、Ｖｉｔｅｒｂｉアルゴリズムによって求めた現在の状態のもとで、例えば以下の式１によって尤度を計算できる。
【００３７】
【数１】
2019117556.tif 000003
【００３８】
式１で、Ｌ１は、尤度、Ｐ（・）は、確率、Ｐ（・｜・）は、条件付き確率、Ｏは、観測変数、Ｑは、状態、ｔは、時間を表すインデクスである。Ｑは、Ｖｉｔｅｒｂｉアルゴリズムによって求められた最適な状態を示している。なお、式１のＬ１は、時間ｔの幅が２であるとき（一つ前の過去の状態まで遡ることを意味する）の尤度を示しており、時間幅の増減によって尤度計算の式が変更される。このとき、グローバル認識実行部３３３は、式１によって求められた尤度Ｌ１に基づいて以下のように異常を判定できる。
【００３９】
【数２】
2019117556.tif 000004
【００４０】
式２で、Ｔｈ１は、予め設定された閾値を示しており、例えば、ユーザが任意に決定した値である。式２は、尤度が閾値よりも低いか否かを判定する式である。尤度の低下は、推定された状態のもとで観測されたある観測変数の条件付き確率が低い場合や、観測された観測変数を生成するために低い確率の状態遷移を行った場合等、統計・確率的に不自然なことが起きている際に生じる。
しかしながら、一方で、ローカル認識器やグローバル認識器の認識に誤りが起きている場合でも、同様に尤度が低下する場合がある。式２に基づいて、尤度が閾値よりも低いときに、認識が成功している場合と失敗している場合とで場合分けした表を図１３の表９０１に示す。表９０１の（Ａ）は、グローバル認識器が認識に成功し、かつ、ローカル認識器が認識に成功している場合を示しており、表９０１の（Ｂ）〜（Ｄ）は、それぞれの認識器が認識成功・認識失敗した場合の組み合わせを示している。（Ａ）は、グローバル認識器とローカル認識器がともに認識成功した場合であるため、このときに尤度が低いのであれば、仮定したモデルのもとで統計・確率的に何らかの異常が発生しているとすることができる。しかし、それ以外の場合では、認識器の誤りが尤度の低下を招いているかもしれないため、認識対象である映像が異常でない可能性もある。
更に、式２において尤度が閾値を超えている場合でも、認識結果が失敗である場合がある。例えば、ローカル認識器が認識すべきオブジェクトを見逃してしまい、その認識結果のもとで結果的にＤＢＮの尤度が高くなる場合がある。そのため、尤度が高い場合でも、認識器の誤りが生じて、認識対象である映像が正常でない可能性もある。
【００４１】
そこで、本実施形態では、異常検知システムは、異常の検知処理において、異常の判定を行う前にグローバル認識器の認識結果をローカル認識器にフィードバックし、相互の認識結果を検証・補正しあう処理を行う。そして、異常検知システムは、相互の認識結果を検証・補正しあった結果のもとで、例えば、式２に基づいて最終的な異常の判定を行う。より詳細な説明は、以降の仮説生成検証装置４０に関する説明として行う。
本実施形態のようにグローバル認識器がＤＢＮである場合、グローバル認識器による認識が失敗する場合としては、例えば学習サンプルの不足によって学習が上手くいかなかったことから認識が失敗する場合等がある。また、本実施形態のようにローカル認識器がＣＮＮである場合、ローカル認識器による認識が失敗する場合としては、例えば、学習が上手くいかず、図８の５０２を歩行者ではなく自転車として誤認識してしまう場合等がある。なお、ローカル認識器が複数存在する場合、ローカル認識器の一部が認識に失敗する場合もある。一部のローカル認識器が認識に失敗した場合でも、その一部よりも多数のその他のローカル認識器が認識に成功していれば、その結果に基づいて、グローバル認識器は、頑強に推定を行うことができると期待される。
グローバル認識実行部３３３は、グローバル認識器による認識結果の情報をグローバル認識結果記憶部Ｄ４に記憶する。また、グローバル認識実行部３３３は、仮説生成検証装置４０によるローカル認識結果の補正を受けて、再度、グローバル認識器による認識処理を行い、最終的な認識結果を取得し、認識結果の情報を端末装置５０に送信する。
【００４２】
次に、仮説生成検証装置４０の詳細について説明する。
仮説生成部４１の詳細を説明する。図１４は、仮説生成部４１の詳細等の一例を示す図である。仮説生成部４１は、認識結果読込部４１１と、グローバル辞書読込部４１２と、誤検出仮説生成部４１３と、未検出仮説生成部４１４と、を含む。仮説生成部４１は、誤検出仮説生成部４１３と未検出仮説生成部４１４との２つを含む。これは、本実施形態では、ローカル認識器の認識結果に含まれる可能性のある認識誤りの種類は、誤検出、及び、未検出の二種類が存在し、それぞれに対応する仮説を生成するためである。
認識結果読込部４１１は、ローカル認識結果記憶部Ｄ３から、ローカル認識結果を取得し、グローバル認識結果記憶部Ｄ４から、グローバル認識結果を取得する。そして、認識結果読込部４１１は、取得したローカル認識結果、及びグローバル認識結果を、誤検出仮説生成部４１３及び未検出仮説生成部４１４に送信する。
グローバル辞書読込部４１２は、グローバル辞書記憶部Ｍ２からグローバル認識器の辞書データを取得し、誤検出仮説生成部４１３、及び未検出仮説生成部４１４に送信する。
以下では、誤検出仮説生成部４１３、及び未検出仮説生成部４１４が、グローバル認識結果とローカル認識結果との一致性に基づいて、仮説を生成する処理を説明する。認識結果の一致性とは、グローバル認識結果と、ローカル認識結果と、に基づく実際の観測結果とが、一致しているか否かということを示す。誤検出仮説生成部４１３、及び未検出仮説生成部４１４は、例えば、認識結果が一致しているかどうかを決定するために、例えば、予め設定された閾値を用いた閾値判定を行う。
【００４３】
誤検出仮説生成部４１３は、認識結果読込部４１１、グローバル辞書読込部４１２からそれぞれ送信された、ローカル認識結果の情報とグローバル認識結果の情報と辞書データとに基づいて、ローカル認識器が起こし得る誤検出の情報を、仮説情報として生成する。
図１５は、ローカル認識器が起こし得る誤検出の情報である仮説情報の生成処理の一例を示すフローチャートである。
Ｓ１２０１において、誤検出仮説生成部４１３は、ローカル認識結果記憶部Ｄ３から、ローカル認識結果の情報を取得する。このローカル認識結果の情報は、全ての時点での認識対象の映像データに対するローカル認識結果のうち、現在時点での情報である。
Ｓ１２０２において、誤検出仮説生成部４１３は、グローバル認識結果記憶部Ｄ４から、グローバル認識結果を取得する。このグローバル認識結果は、現在時点でのグローバル認識結果の情報であり、現在時点の状態を示す。
【００４４】
Ｓ１２０３において、誤検出仮説生成部４１３は、グローバル辞書記憶部Ｍ２から、グローバル認識器の辞書データを取得する。Ｓ１２０３で取得されるグローバル認識器の辞書データは、現在時点での状態から各種の観測変数への条件付き確率を示す条件付き確率テーブルの情報である。Ｓ１２０３で取得される情報に対応する条件付き確率テーブルは、例えば、グローバル認識器による認識結果が示す状態における、ローカル認識器の認識結果が取り得る値それぞれの確率を示している。本実施形態では、観測変数が１であることは、ローカル認識器によるオブジェクトの認識がなされたことを示し、観測変数が０であることは、ローカル認識器によりオブジェクトが認識されなかったことを示す。
Ｓ１２０４において、誤検出仮説生成部４１３は、Ｓ１２０３で取得した条件付き確率テーブルを参照し、Ｓ１２０２で取得したグローバル認識結果の情報が示す現在時点での状態、及び観測変数に対応する観測確率を取得する。本実施形態で観測確率は、学習処理において、ある状態のもとで、ある観測変数が観測された確率を示している。即ち、認識器の学習処理の際に、その観測が現れた確率を意味している。本実施形態では、観測確率は、グローバル認識部があるローカル認識結果を観測する確率であり、現在時点で観測されているローカル認識結果を示している訳ではない。
Ｓ１２０５において、誤検出仮説生成部４１３は、観測がなされている観測変数に関して、得られた観測確率と、予め設定された閾値Ｔｈ２と、を比較する。誤検出仮説生成部４１３は、観測確率が閾値Ｔｈ２よりも小さく、かつ、実際に観測されていれば、Ｓ１２０６の処理に進み、そうでなければ、図１５の処理を終了する。本実施例では、観測変数は、１、０という離散型の入力値を想定しているが、当然ながら連続型の入力値を用いてもよい。その場合は、観測変数の観測が、どの値のときに観測されているとするのかを示す判断基準が必要となる。誤検出仮説生成部４１３は、判断基準として、例えば、予め設定された閾値を用い、実際の観測変数の値と比較して観測されているか否かを決定することができる。また、誤検出仮説生成部４１３は、この判断基準として、観測変数の分布を用いてもよい。例えば、誤検出仮説生成部４１３は、観測変数に単峰性のガウス分布を用いて、連続型の入力値を確率に変換して表現することができる。この場合、ガウス分布のパラメータは、例えば、入力値の分布に基づいて予め定められていることとしてもよい。
【００４５】
Ｓ１２０６において、誤検出仮説生成部４１３は、Ｓ１２０５で観測確率が閾値Ｔｈ２よりも小さく、かつ、実際に観測されているとされた観測を、ローカル認識器の誤検出であると判断する。そして、誤検出仮説生成部４１３は、その観測がローカル認識器の誤検出であることを示す仮説情報を生成する。
Ｓ１２０７において、誤検出仮説生成部４１３は、Ｓ１２０６で生成された仮説情報を、仮説検証部４２に送信する。
異常検知システムは、本実施形態で示した動作手順を一部変更し、Ｓ１８０４の処理を実行する前に、Ｓ１８０８の処理を行ってもよい。それにより、異常検知システムは、Ｓ１８０８での異常判定結果に基づいて、誤検出仮説生成部４１３の動作を実行するか否かを決めることができる。即ち、異常検知システムは、グローバル認識器が異常を検出した場合にのみ、ローカル認識器の誤検出を疑い、補正するための処理を行う。これにより、異常検知システムは、誤検出仮説の検証にかかる処理時間を低減できる場合がある。
【００４６】
未検出仮説生成部４１４は、認識結果読込部４１１、グローバル辞書読込部４１２からそれぞれ送信された、ローカル認識結果の情報とグローバル認識結果の情報と辞書データとに基づいて、ローカル認識器が起こし得る未検出の情報を、仮説情報として生成する。
図１６は、ローカル認識器が起こし得る未検出の情報である仮説情報の生成処理の一例を示すフローチャートである。
Ｓ１３０１において、未検出仮説生成部４１４は、ローカル認識結果記憶部Ｄ３から、ローカル認識結果の情報を取得する。このローカル認識結果の情報は、全ての時点での認識対象の映像データに対するローカル認識結果のうち、現在時点での情報である。
Ｓ１３０２において、未検出仮説生成部４１４は、グローバル認識結果記憶部Ｄ４から、グローバル認識結果の情報を取得する。このグローバル認識結果の情報は、現在時点でのグローバル認識結果の情報であり、現在時点の状態を示す。
【００４７】
Ｓ１３０３において、未検出仮説生成部４１４は、グローバル辞書記憶部Ｍ２から、グローバル認識器の辞書データを取得する。この辞書データは、現在時点での状態から各種の観測変数への条件付き確率を示す条件付き確率テーブルの情報である。
Ｓ１３０４において、未検出仮説生成部４１４は、Ｓ１３０２で取得したグローバル認識結果の情報が示す現在時点での状態に基づいて、以下の処理を行う。即ち、未検出仮説生成部４１４は、Ｓ１３０３で取得した条件付き確率テーブルを参照し、観測されたローカル認識結果以外の観測変数に対する全ての観測確率を取得する。
Ｓ１３０５において、未検出仮説生成部４１４は、Ｓ１３０４で取得した観測がなされていない観測変数に関して得られた観測確率と、予め設定された閾値Ｔｈ３との大小を比較する。未検出仮説生成部４１４は、観測確率が閾値Ｔｈ３よりも大きく、かつ、未観測であれば、Ｓ１３０６の処理に進み、そうでなければ図１６の処理を終了する。
【００４８】
Ｓ１３０６において、未検出仮説生成部４１４は、Ｓ１３０５で観測確率が閾値Ｔｈ３よりも大きく、かつ、未観測とされた観測について、ローカル認識器における未検出を示す仮説情報を生成する。ここで、例えばローカル認識器がマルチクラスである場合、閾値よりも大きい観測確率が複数存在する場合がある。その場合、未検出仮説生成部４１４は、最も確率が高い観測確率の観測を選択し、仮説を生成する。
Ｓ１３０７において、未検出仮説生成部４１４は、Ｓ１３０６で生成された仮説情報を、仮説検証部４２に送信する。
図１５、図１６の処理は、Ｓ１８０４の処理の詳細である。異常検知システムは、Ｓ１８０４（図１５、図１６）の処理で、もし仮説が生成されなかった場合は、Ｓ１８０８の処理に移る。
【００４９】
図１７は、仮説検証部４２の詳細等の一例を示す図である。仮説検証部４２は、ローカル辞書読込部４２１、ローカル認識結果読込部４２２、検証部４２３、検証結果判定部４２４、認識結果補正部４２５、を含む。
ローカル辞書読込部４２１は、ローカル辞書記憶部Ｍ１からローカル認識器の辞書データを取得し、検証部４２３に送信する。本実施形態では、ローカル認識器は、ＣＮＮである。そのため、ローカル辞書読込部４２１は、ローカル辞書記憶部Ｍ１からＣＮＮの重みパラメータ及びネットワーク構造の情報を、辞書データとして取得する。
ローカル認識結果読込部４２２は、ローカル認識結果記憶部Ｄ３から、ローカル認識結果の情報を取得し、取得した情報を、検証部４２３に送信する。
【００５０】
検証部４２３は、グローバル辞書記憶部Ｍ３から、グローバル認識器の辞書データを取得する。検証部４２３は、仮説生成部４１から仮説情報を受信する。そして、検証部４２３は、ローカル辞書読込部４２１から送信された辞書データと、ローカル認識結果読込部４２２から送信されたローカル認識結果の情報と、グローバル認識器の辞書データと、に基づいて、仮説生成部４１から送信された仮説情報の検証を行う。
図１８は、仮説検証処理の一例を示すフローチャートである。図１８を用いて、検証部４２３がローカル認識器の誤検出、未検出に関する仮説を検証する処理を説明する。
Ｓ１４０１において、検証部４２３は、ローカル辞書読込部４２１から送信された辞書データを受信する。
Ｓ１４０２において、検証部４２３は、ローカル認識結果読込部４２２から送信されたローカル認識結果の情報を受信する。
【００５１】
Ｓ１４０３において、検証部４２３は、グローバル辞書記憶部Ｍ３から、グローバル認識器の辞書データを取得する。
Ｓ１４０４において、検証部４２３は、仮説生成部４１から図１５、図１６の処理で生成された仮説情報（未検出仮説の仮説情報、誤検出仮説の仮説情報）を受信する。本実施形態では、仮説生成部４１は、仮説情報を１つずつ検証部４２３に送信することとする。そのため、仮説生成部４１により複数の仮説情報が生成された場合、検証部４２３は、以下の処理を仮説の数だけ繰り返すことになる。
Ｓ１４０５において、検証部４２３は、グローバル辞書記憶部Ｍ２から認識対象の映像データの分割領域を示す領域情報を取得する。
Ｓ１４０６において、検証部４２３は、Ｓ１４０５で取得した領域情報に基づいて、仮説情報に対応する領域を特定し、特定した領域に存在するオブジェクトのローカル認識結果を取得する。Ｓ１４０６で、仮説情報に対応する領域を特定する理由は、本実施形態において仮説生成部４１が生成した仮説情報はある観測変数に対する仮説であり、その観測変数は、領域に１対１で対応しているからである。そのため、検証部４２３は、仮説情報に対応する領域を特定し、その領域に存在するローカル認識結果を取得する。
【００５２】
Ｓ１４０７において、検証部４２３は、仮説情報に対応する領域に複数のオブジェクトが存在する場合に対応するため、仮説情報に対応する仮説を検証するオブジェクトの選択を行う。選択する方法としては、その領域中に存在する全てのオブジェクトに対して仮説を検証する方法と、一部のオブジェクトに対してのみ仮説を検証する方法とがあり、検証部４２３は、どちらの方法を選んでもよい。検証部４２３は、検証にかかる処理時間を短縮するために、例えば、順次仮説を検証していく際、一つでも仮説を立証するオブジェクトが見つかり次第、検証処理を打ち切り、仮説は正解であると決定してもよい。
しかしながら、すべてのオブジェクトに対して仮説を検証する処理が行われる場合は、オブジェクトが増えるに従って処理時間が長くなってしまう傾向がある。そこで本実施形態では、検証部４２３は、最も仮説を説明しうるローカル認識結果を選択し、仮説の検証を行うこととする。最も仮説を説明しうるローカル認識結果とは、誤検出仮説の場合は、例えば誤検出であると仮説を立てている観測変数の値に関して、最もスコアの低いローカル認識結果を持つオブジェクトについての認識結果である。また、未検出仮説の場合は、検証部４２３は、例えば、未検出であると仮説を立てている観測変数の値に関して、最もスコアの高いローカル認識結果のオブジェクトについての認識結果を選択する。ここで用いられるスコアは、任意であり、例えば、ローカル認識器であるＣＮＮの出力層が備えるソフトマックス関数の出力値であっても、ソフトマックス関数に入力される前の値であるロジットであってもよい。仮説検証器は、スコアとして、ロジットを用いることで、正規化される前の実数値ベースでスコアを比較することができるようになる。
【００５３】
Ｓ１４０８において、検証部４２３は、Ｓ１４０７で選択されたオブジェクトに対するローカル認識結果と、観測確率テーブルの確率と、を結合することで、ローカル認識結果を補正する。本実施例のローカル認識器はＣＮＮであることから、その結合結果は、例えば、以下の式３で求まる結合確率として与えられる。検証部４２３は、式３を用いて、ローカル認識結果を補正する。
【００５４】
【数３】
2019117556.tif 000005
【００５５】
式３で、ｓｏｆｔｍａｘ＿（Ｏｔ）は、観測Ｏｔに関するＣＮＮの出力値を得る関数であり、右辺の項の二項目に対応するソフトマックス関数を示す。ソフトマックス関数内のｆは、ＣＮＮのロジットを表し、Ｔは、温度パラメータである。
Ｓ１４０９において、検証部４２３は、Ｓ１４０８でのローカル認識結果の補正における補正に利用されるパラメータの最適化を行う。式３は、温度ＴのもとでＣＮＮの出力がＤＢＮの観測確率によって補正されたということもできる。本実施形態では、検証部４２３は、例えば、式３が最も高くなる温度Ｔを最適化によって求める。このとき最適化の目的関数は、以下の式４で表すことができる。
【００５６】
【数４】
2019117556.tif 000006
【００５７】
式４を最適化する方法は、任意であり、検証部４２３は、例えば、Ｔを設定された固定幅毎に粗くグリッドサンプリングした場合の式４の値を比べることで最適化してもよい。
Ｓ１４１０において、検証部４２３は、Ｓ１４０９で最適化したＴのもとで最も式４の値が高い観測Ｏｔの情報を、最も良く仮説を説明できる結果として、検証結果判定部４２４に送信する。
検証結果判定部４２４は、Ｓ１４１０で検証部４２３から受信した情報と、本来のローカル認識結果Ｏｔと、を比較し、異なるか否かを判定し、判定の結果を認識結果補正部４２５に送信する。例えば、検証結果判定部４２４は、Ｓ１４１０で検証部４２３から受信した情報と、本来のローカル認識結果Ｏｔと、の比較の結果、異なる場合、仮説が妥当であると判定し、同一である場合、仮説が妥当でないと判定する。
認識結果補正部４２５は、受け取った判定の結果に基づいて、ローカル認識結果を補正し、補正したローカル認識結果を、ローカル認識結果記憶部Ｄ３に記憶する。認識結果補正部４２５は、例えば、式３を用いて、検証部４２３により最適化されたＴに基づいて、ローカル認識結果を補正する。また、認識結果補正部４２５は、検証部４２３により式３を用いて補正されたローカル認識結果を、検証部４２３から取得することとしてもよい。そして、認識結果補正部４２５は、仮説情報に基づいて、ローカル認識結果が補正されたか否かを示す情報をグローバル認識部３３に送信する。
グローバル認識部３３は、仮説情報の生成及び検証処理の結果、ローカル認識結果が補正されたか否かの情報を受信し、補正された場合、再度状態の推定を行うことでグローバル認識器を補正し、異常を判定する。異常検知システムは、これ以降、収束するまで上述の仮説生成検証と状態の推定を繰り返してもよいし、設定された回数だけ繰り返してもよいし、１度のみ実行することとしてもよい。本実施形態では、異常検知システムは、式１の尤度が上昇する限り、上述の処理を繰り返すものとする。
以上の結果を受けて、グローバル認識部３３は、Ｓ１８０８で異常の判定をし、その結果を端末装置５０に送る。
以上が、異常検知システムによる認識処理の詳細である。
【００５８】
（端末装置の詳細）
端末装置５０の詳細について説明する。
端末装置５０は、表示部５１を含む。端末装置５０は、異常検知システムのユーザが利用するコンピュータ等の情報処理装置であり、グローバル認識装置３０から、例えば、ネットワークを介して送信される表示情報を表示部５１等に表示する。端末装置５０は、例えば、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）やタブレットＰＣ、スマートフォン、フューチャーフォン等により構成される。
グローバル認識装置３０が異常検知結果を出力したことに応じて、端末装置５０のＣＰＵは、異常検知結果を取得する。端末装置５０のＣＰＵは、取得した識別結果を表示部５１に出力する。端末装置５０のＣＰＵは、識別結果が異常の発生を示している場合、例えば、音声出力部を介して、異常音を鳴らして、ユーザに警告することができる。また、端末装置５０のＣＰＵは、ローカル認識結果記憶部Ｄ３からローカル認識結果をも受け取り、異常を警告する際等にローカル認識結果を表示部５１に重畳表示してもよい。
【００５９】
（変形例）
本実施形態では、異常検知システムは、ローカル認識器の認識結果に誤りが含まれている場合等に、グローバル認識器の認識結果に基づいて、ローカル認識器の認識結果に誤りがあるという仮説を生成し、生成した仮説を検証することとした。しかし、異常検知システムは、グローバル認識器の認識結果に誤りが含まれている場合等において、ローカル認識器の認識結果に基づいて、グローバル認識器の認識結果に誤りがあるという仮説を生成し、生成した仮説を検証することとしてもよい。
例えば、あるローカル認識器が、認識対象データである画像中のある小領域に特定のオブジェクトが存在することを検知したとする。そして、仮説生成部４１は、この検知結果と、複数のローカル認識器の認識結果を統合するグローバル認識器の認識結果と、から、この小領域に自転車が存在することは整合性がとれないと判断したとする。このような場合、仮説生成部４１は、グローバル認識器の認識結果が誤っているという仮説を示す仮説情報を生成してもよい。
【００６０】
グローバル認識器の認識結果が誤る原因には、例えば、グローバル認識器が局所解に陥ること等がある。より具体的には、例えば、グローバル認識器が凸最適化問題によって解くことができず、初期値依存性があるとする。初期値依存性とは、結果が初期値によって変化し得るという性質である。そのため、グローバル認識器の認識結果は、初期値によって変化しうる。この性質を利用し、仮説検証部４２は、仮説生成部４１により生成された仮説情報に基づいて、グローバル認識器の認識処理を繰り返すことで、仮説を検証してもよい。その場合、仮説検証部４２は、複数回にわたって仮説を検証していると言い換えることもできる。
仮説検証部４２は、例えば、複数回にわたり、グローバル認識器の認識処理を繰り返し、複数回の認識処理の結果のうち、最も頻度の高い結果を、正当な結果として特定してもよい。そして、仮説検証部４２は、特定した結果と、仮説生成部により生成された仮説情報と、に基づいて、仮説生成部により生成された仮説情報が妥当か否かを検証してもよい。仮説検証部４２は、例えば、特定した結果と、仮説情報に誤っていることが示される認識結果と、が一致した場合、仮説が妥当でないと検証する。また、仮説検証部４２は、例えば、特定した結果と、仮説情報に誤っていることが示される認識結果と、が一致しない場合、仮説が妥当であると検証する。
また、グローバル認識器の認識結果が誤る原因には、例えば、グローバル認識器による認識に用いられるローカル認識器の認識結果が誤っていることがある。その場合には、仮説検証部４２は、ローカル認識器の認識結果に係る仮説の検証と、グローバル認識器の認識結果に係る仮説の検証とを、任意の手順で繰り返し行ってもよい。仮説検証部４２は、例えば、ローカル認識器Ａの認識結果に基づいて、グローバル認識器の認識結果に誤りがあることを示す仮説を検証したとする。この際、グローバル認識器の認識結果が誤っているということが判明したとする。この結果に基づいて、仮説生成部４１は、ローカル認識器Ａと異なるローカル認識器Ｂの認識結果に誤りがあるという仮説を生成してもよい。そして、仮説検証部４２は、ローカル認識器Ｂの認識結果に誤りがあるという仮説が妥当か否かを検証することとなる。
【００６１】
仮説検証部４２は、ローカル認識器の認識結果に誤りがあるという仮説を検証する際に、以下のような処理を行ってもよい。即ち、仮説検証部４２は、このローカル認識器による認識処理の一部に変更を加えることで、仮説を検証してもよい。例えば、グローバル認識器の、ある観測変数に入力される情報が、ある小領域の画像情報を入力とするローカル認識器による認識結果であるとする。この場合、仮説検証部４２は、このローカル認識器の認識結果の誤りを検証するために、例えば、この小領域の画像情報に変動を加えて、変動を加えた画像情報を入力として、このローカル認識器による認識結果を改めて求めてもよい。仮説検証部４２は、例えば、この小領域の画像情報にノイズ（例えば、各画素の画素値に乱数を追加等）を加えて変動させ、ノイズを加えた画像情報を入力として、このローカル認識器による認識結果を改めて求めてもよい。また、仮説検証部４２は、例えば、この小領域の位置を予め定められた量だけ移動させ、移動させた小領域が示す画像情報を入力として、このローカル認識器による認識結果を改めて求めてもよい。また、仮説検証部４２は、例えば、この小領域の指定範囲を、予め定められた割合だけ、拡大又は縮小して、拡大又は縮小させた小領域が示す画像情報を入力として、このローカル認識器による認識結果を改めて求めてもよい。
このように、ローカル認識器に入力される情報に対して変動を加えた上で、このローカル認識器の新たな認識結果が得られた場合、仮説検証部４２は、以下の処理を行うことができる。即ち、仮説検証部４２は、変動を加える前の情報が入力された場合のローカル認識器による認識結果と、変動が加えられた情報が入力された場合のローカル認識器による認識結果と、が異なるか否かを検証する処理を行うことができる。過学習等によって、ローカル認識器が画像の特定のノイズに過敏である場合等においては、ローカル認識器が、ある特定の偶発的な入力情報等に対して過敏に反応する場合がある。例えば、そのような場合、ローカル認識器に入力される情報に変動を加えることで、その入力される情報内の特定の偶発的な入力情報の影響が薄まり、ローカル認識器により正しい認識結果が得られる可能性が向上することが期待できる。仮説検証部４２は、変動が加えられた入力される情報に対するローカル認識器の認識結果を、どのように用いてもよい。仮説検証部４２は、例えば、仮説を検証するために、ある特定のローカル認識器の入力情報に変動を加える処理、及び変動が加えられた入力情報に対するこのローカル認識器の認識結果を得る処理を、を独立に複数回（例えば、５回等）行う。そして、仮説検証部４２は、この複数回の処理により得られた複数の認識結果のうち、最も頻度の高かった認識結果をこのローカル認識器の本来の認識結果として特定し、このローカル認識器による認識結果の補正結果としてもよい。
【００６２】
ここで、本実施形態で示した認識結果の誤りを検証し訂正する機能が、どのような手順で有効に働きうるかを以下に説明する。特に、ローカル認識器の認識結果に誤りが含まれている場合に、どのような処理の流れによって、その誤りが訂正されうるかを説明する。
ローカル認識器の認識結果には、ローカル認識器の過学習等が原因となり、誤りが含まれることがある。例えば、ここで、ローカル認識器は、認識対象の状態が異常か否かを検知する認識器であるとする。この場合、ローカル認識器の認識結果の誤りは、例えば、認識対象の真の状態が異常ではないのにも関わらず、異常であると認識してしまうことである。また、ローカル認識器の認識結果の誤りは、例えば、認識対象の真の状態が異常であるにも関わらず、正常であると認識してしまうことである。
より具体的には、例えば、ある歩道を監視するユースケースにおいて、歩道上を歩く人物の動作を学習したローカル認識器があるとする。このローカル認識器は、例えば歩道上の人物のアピアランスに基づいて、認識対象の状態を認識する認識器である。また、このローカル認識器は、認識対象の人物が歩く等の日常動作をしていれば正常として認識し、それ以外を異常として認識する１−ｃｌａｓｓ識別器であるとする。
また、グローバル認識器は、複数のローカル認識器が出力する認識結果（異常検知の結果）を入力として、入力された情報を統合し、統合した情報に基づいて、更に、異常を検知するＨＭＭであるとする。また、グローバル認識器は、例えば、ローカル認識器が学習の際に用いていないデータに対して得られるローカル認識器の認識結果に基づいて、予め学習が行われたものとする。
この場合、グローバル認識器は、複数のローカル認識器の異常検知結果を統合するように学習が行われたとみなすことができる。より具体的には、例えば、第一の学習データと、第二の学習データと、が用意されているとして、ローカル認識器の学習には第一の学習データが用いられ、グローバル認識器の学習には第二の学習データが用いられることとしてもよい。これは、グローバル認識器の学習には、ローカル認識器の学習に用いられた学習データを用いないほうが、用いる場合よりも、ローカル認識器の誤検出をグローバル認識器が学習するうえで、より適切である場合があるためである。
【００６３】
また、ローカル認識器の認識結果に誤りが含まれやすい場合は、ローカル認識器の誤検知をグローバル認識器が正常な事例として学習することで、最終的な異常検知結果に対するローカル認識器の認識結果の誤りによる影響が低減されることが期待できる。即ち、あるローカル認識器の認識結果に誤りがあり、認識対象（例えば、歩道を歩く真に正常な人物の動作）を異常と誤検出しても、そのような誤検出のパターンをグローバル認識器が学習済みならば、グローバル認識器は、異常を検知しないようになりうる。ここで、誤検出パターンとは、例えば、複数のローカル認識器の認識結果を一つのベクトルとしてみなした場合、そのベクトルの要素の並びを示したパターンである。その場合、異常検知システムは、本実施形態で説明した処理により、ローカル認識器の誤検出の認識結果を補正してもよい。
しかし、ローカル認識器の誤検出パターンが、グローバル認識器によって学習済みでない場合もある。即ち、ローカル認識器の認識結果に異常であることを示す情報が含まれていても、グローバル認識器が、単純にはそれが誤りであるか否かを判別できない場合がある。例えば、グローバル認識器であるＨＭＭの認識結果として、ＨＭＭの隠れ状態が決定された際に、その隠れ状態に基づいて観測確率テーブル上で決定されるあるローカル認識器の観測確率が、予め定められた閾値より高い確率で正常の状態を指しているとする。また一方で、このローカル認識器の出力が、異常の状態を指しており、矛盾が生じているとする。このような場合、仮説生成部４１は、例えば、ローカル認識器が異常であるという認識結果を示していること、グローバル認識器の認識結果から得られる尤度が閾値よりも低いということ等に基づいて、ローカル認識器が誤検出を下とする仮説を生成してもよい。
【００６４】
例えば、歩道の監視の場合、以下のような処理の流れが発生しうる。第一の段階で、異常検知システムは、ある歩道上の人物の矩形領域に関する画像を抽出する。第二の段階で、異常検知システムは、抽出したこの矩形領域の画像に基づいて、あるローカル認識器Ｃに入力されるデータを生成し、ローカル認識器Ｃに入力する。第三の段階で、異常検知システムは、ローカル認識器Ｃにより検知された認識対象が異常な状態であるという認識結果を得る。第四の段階で、異常検知システムは、ローカル認識器Ｃによる認識結果の情報を、グローバル認識器であるＨＭＭの観測変数として入力する。第五の段階で、異常検知システムは、グローバル認識器であるＨＭＭを介して、歩道上の人物が異常であるというローカル認識器Ｃからの入力情報等に基づいて、ＨＭＭの隠れ状態を推定する。この際、異常検知システムは、入力情報として、ローカル認識器Ｃの認識結果だけではなく、例えば、路上の信号の状態や、その他の歩行者の状態や、その時点の時間帯等の情報についても、グローバル認識器に入力してもよい。これらの情報は、例えばＨＭＭの観測変数として扱うことができる情報であり、例えば、信号の状態が赤・黄・緑かによって、推定されるＨＭＭの隠れ状態が変化しうるようになる。
第六の段階で、異常検知システムは、例えば、ＨＭＭの推定された隠れ状態に基づいて決定されるローカル認識器Ｃの観測変数の状態に関する観測確率と、ローカル認識器Ｃの実際の認識結果と、を比較する。そして、異常検知システムは、仮説生成部４１を介して、ローカル認識器Ｃの実際の認識結果が得られる観測確率が、予め与えられた閾値よりも低いことを確認し、ローカル認識器Ｃの認識結果に誤りがあるとする仮説を生成する。また、異常検知システムは、仮説生成部４１を介して、グローバル認識器による認識結果に誤りがあるとする仮説を生成してもよい。即ち、ここで生成されるローカル認識器Ｃの認識結果に誤りがあるとする仮説は、ＨＭＭの推定された隠れ状態によれば、ローカル認識器Ｃが異常を検知した歩道上の人物は、異常ではないのではないか？という仮説である。例えば、昼の時間帯に存在する歩道上の人物は、すべて正常であるというローカル認識器の認識結果を学習したＨＭＭならば、昼の時間帯にローカル認識器Ｃが異常を検知したとしても、それは誤検知なのではないか？という疑義を生じさせるのである。
【００６５】
第七の段階で、異常検知システムは、仮説検証部４２を介して、ローカル認識器Ｃの認識結果に誤りがあるとする仮説を検証する。異常検知システムは、ローカル認識器Ｃに入力された画像に対して、予め定められた変動を加えた変動画像を生成する。もし、第三の段階でローカル認識器Ｃが画像上に現れた特定のノイズによって異常を検知していた場合、第七の段階で生成した変動画像をローカル認識器Ｃに入力することで、そのような特定のノイズの影響が軽減された際の認識結果を得ることができる。異常検知システムは、このような変動画像を、例えば５枚生成する。
第八の段階で、異常検知システムは、第７の段階で生成された５枚の変動画像それぞれに対するローカル認識器Ｃの認識結果を得て、例えば、多数決によってローカル認識器Ｃの正当な認識結果を特定する。そして、異常検知システムは、特定した認識結果に基づいて、第６の段階で生成した仮説が妥当か否かを検証することができる。検証の結果、異常であるということが確認された場合、異常検知システムは、歩道上の人物は異常であるとして、例えば、警備会社・警察・自治体等の予め定められた通報先に通報を行ってもよい。また、異常検知システムは、更に他の検証を続けてもよい。例えば、第九の段階として、異常検知システムは、グローバル認識器であるＨＭＭの認識結果に誤りがあるのではないか？という仮説を生成してもよい。
【００６６】
また、異常検知システムは、認識結果が誤りであるという結果が得られた場合、誤りの補正を行い、更に仮説の生成・検証を進めてもよい。このように、異常検知システムは、仮説生成・検証・補正の処理のチェーンを延々と行ってもよいが、システムに求められる応答速度に応じて、チェーンを打ち切る必要がある場合は、打ち切ってもよい。異常検知システムは、チェーンを打ち切る場合、仮説生成・検証・補正を延々と続けた結果、最後に得られた状態を、最終的な状態として決定してもよいし、その過程で得られたもっともらしい状態を、最終的な状態として決定してもよい。ここで、もっともらしさの基準は、問題に依存している。例えば、誤検知をなるべく減らしたいという目的においては、異常検知システムは、例えば、ＨＭＭの尤度が最も高くなったときの状態を最終的な状態として決定してもよい。
また、異常検知システムは、グローバル認識器の観測変数のモデルに、例えば、ガウス分布等を用いる場合、ローカル認識器の仮説検証を行うために、統計情報を用いてもよい。例えば、あるローカル認識器の認識結果の誤りを検証する際に、仮説生成部４１が、ローカル認識器の出力が誤りであるとする仮説を生成したとする。その際に、仮説検証部４２は、このローカル認識器の認識結果と、例えば、このガウス分布等のモデルと、に基づいて、特定の観測変数のある状態が観測される確率を求めることができる。例えば、この確率が予め定められた閾値よりも低い場合、仮説検証部４２は、このローカル認識器の認識結果を誤りとして判断してもよい。
【００６７】
（効果）
以上、本実施形態の処理により、本実施形態の異常検知システムは、データ中の物体やその状態を認識するローカル認識器と、複数のローカル認識結果を統合するグローバル認識器と、のそれぞれの認識結果に基づいて、以下の処理を行う。即ち、異常検知システムは、ローカル認識結果、又はグローバル認識結果に含まれうる誤りの情報である仮説情報を生成する。そして、異常検知システムは、生成した仮説情報の妥当性を検証することで、認識処理に用いられる認識器（ローカル認識器、グローバル認識器）による認識結果が妥当であるか否かを検証できる。
また、異常検知システムは、生成した仮説情報の妥当性の検証結果に基づいて、ローカル認識器と、グローバル認識器と、のそれぞれの認識器が辻褄を合せるように、ローカル認識器の認識結果を補正する。即ち、異常検知システムは、ローカル認識結果からローカル認識器による認識において発生し得る誤りの情報である仮説情報を生成し、生成した仮説情報を妥当か否か決定し、妥当であると決定した場合、ローカル認識結果、又はグローバル認識結果を補正する。そして、異常検知システムは、補正したローカル認識結果、又はグローバル認識結果に基づいて、再度、グローバル認識器による認識処理を行う。
これにより、異常検知システムは、ローカル認識器やグローバル認識器の認識結果に誤りが含まれている場合でも、以下のようにできる。即ち、異常検知システムは、ローカル認識結果、又はグローバル認識結果が妥当か否かを検証し、検証結果に基づいて、ローカル認識結果、又はグローバル認識結果を補正することで、認識精度を向上させることができる。
【００６８】
＜実施形態２＞
実施形態１では、異常検知システムは、式３を用いてローカル認識器とグローバル認識器の認識結果とを統合し、式４のように結合確率を最大化することで出力を補正する処理を行うこととした。この処理は、ＤＢＮから送られた仮説を再現するように、ＣＮＮの出力層のパラメータを最適化している処理ともいえる。
本実施形態では、異常検知システムがＤＢＮから仮説が与えられたもとで、ＣＮＮの出力層以外の層のパラメータをも最適化する処理を説明する。
本実施形態の異常検知システムのシステム構成、各システム構成要素のハードウェア構成は、実施形態１と同様である。本実施形態の異常検知システムの各システム構成要素の機能構成は、仮説生成検証装置４０が仮説検証部４２の代わりに仮説検証部４２ａを含む点、及び、外部記憶装置６０が、ローカル追加辞書記憶部Ｍ１を含む点で異なる。
【００６９】
仮説検証部４２ａの詳細について説明する。図１９は、仮説検証部４２ａの詳細等の一例を示す図である。
仮説検証部４２ａは、ローカル辞書読込部４２１ａ、ローカル認識結果読込部４２２、検証判定部４２３ａ、認識結果補正部４２５、を含む。仮説検証部４２ａは、仮説検証部４２と比べると、ローカル辞書読込部４２１の代わりにローカル辞書読込部４２１ａを含み、検証部４２３の代わりに検証判定部４２３ａを含み、検証結果判定部４２４を含まない点で異なる。
ローカル辞書読込部４２１ａは、ローカル辞書記憶部Ｍ１及びローカル追加辞書記憶部Ｍ１ａからローカル認識器の辞書データを取得し、取得した辞書データを検証部４２３に送信する。本実施形態では、実施形態１と同じくローカル認識器は、ＣＮＮであるとする。そのため、ローカル辞書読込部４２１ａは、ＣＮＮの重みパラメータ及びネットワーク構造の情報を、辞書データとして取得する。
ローカル辞書読込部４２１ａとローカル辞書読込部４２１との相違として、ローカル認識器の辞書データをローカル追加辞書記憶部Ｍ１ａからも取得することがある。ローカル追加辞書記憶部Ｍ１ａは、過去に検証判定部４２３ａが最適化したＣＮＮの重みパラメータの情報を記憶する。異常検知システムは、新たに仮説情報を検証する際に、過去に最適化した辞書データを使いまわすことで、仮説情報の検証の処理負担を低減できる。ローカル辞書読込部４２１ａは、複数存在する辞書データの中から、仮説生成部４１から受信した仮説情報に対応する仮説が与えられた場合の辞書データを選択する。
ローカル認識結果読込部４２２は、実施形態１と同様に、ローカル認識結果記憶部Ｄ３から、ローカル認識結果を取得し、検証判定部４２３ａに送信する。
【００７０】
検証判定部４２３ａは、仮説生成部４１から送信された仮説情報を検証する。
図２０は、仮説検証処理の一例を示すフローチャートである。図２０を用いて、検証判定部４２３ａがローカル認識器の誤検出、未検出に関する仮説情報を検証する処理を説明する。
Ｓ１６０１において、検証判定部４２３ａは、ローカル辞書記憶部Ｍ１及びローカル追加辞書記憶部Ｍ１ａから、ローカル認識器の辞書データを取得する。ローカル追加辞書記憶部Ｍ１ａから取得される辞書データは、過去に最適化された辞書データである。
Ｓ１４０２〜Ｓ１４０７の処理は、図１８と同様である。ただし、処理の主体は、検証判定部４２３ａである。
Ｓ１６０２において、検証判定部４２３ａは、Ｓ１４０７で決定したオブジェクトのローカル認識結果に対して、仮説情報の前検証を行う。本実施形態では、検証判定部４２３ａは、Ｓ１６０１で取得した過去に最適化された辞書データを用いて、仮説を説明できるか否かを調べる。検証判定部４２３ａは、仮説を説明可能な辞書データを、取得することができれば、仮説情報を正しいと決定する。検証判定部４２３ａによる判定処理は、以下の式５を用いて行われる。
【００７１】
【数５】
2019117556.tif 000007
【００７２】
式５で、関数Ｆは、仮説を検証する際に算出されるコスト関数であり、出力値が小さいほど仮説を良く説明できていることを表す。Ｈｙｐｏｔｈｅｓｉｓは、検証中の仮説であり、例えば、クラスの番号に対応するスカラー値をとる。ｘは、ＣＮＮの入力画像、ｗα及びｗβは、ＣＮＮの重みパラメータであり、ｗαは、学習済みのＣＮＮの重みパラメータ、Ｗは、過去の仮説検証時に最適化されたＣＮＮの重みパラメータの集合、ｗβは、集合Ｗの要素である。Ｔｈ４は、仮説の正否を決定するために予め設定された閾値である。即ち、式５は、過去の仮説検証時に最適化されたパラメータのうち、最も現在の仮説を正しいと言えるものを選んだとき、そのコストが閾値Ｔｈ４よりも高いか低いかを判定することで、現在の仮説の正否を判定するための式である。検証判定部４２３ａは、式５によって仮説を正しいと判定したら、Ｓ１４１０の処理に進み、そうでなければ、Ｓ１６０３の処理に進む。
Ｓ１６０３において、検証判定部４２３ａは、過去の仮説情報検証の際に最適化したＣＮＮのパラメータでは仮説を立証できなかったものとみなし、新たに仮説情報の検証を行う。検証判定部４２３ａは、以下の式６を用いて、仮説情報を検証する。
【００７３】
【数６】
2019117556.tif 000008
【００７４】
式６は、仮説検証に用いるコスト関数を最小化するＣＮＮの重みパラメータｗγを求める目的関数になっている。検証判定部４２３ａは、閾値よりもコスト関数が低ければ、仮説を採用したものとみなし、後に、新たにｗγを集合Ｗに加える。また、検証判定部４２３ａは、逆に閾値よりもコスト関数が高ければ、仮説を棄却する。ここで、関数Ｆは、例えば、以下の式７であるとする。
【００７５】
【数７】
2019117556.tif 000009
【００７６】
式７で、関数ｆ（・）はＣＮＮであり、||・||pは、ｐ-ノルムの正則化項である。λは、予め定められた任意の係数である。（Ｈｙｐｏｔｈｅｓｉｓ−ｆ（ｘ、ｗγ））2は、重みパラメータｗγによって仮説を再現した際の二乗誤差であり、式６のｍｉｎの最小化作用によって二乗誤差を小さくするように重みパラメータの探索に利用される。しかしながら、三層以上のニューラルネットワークは、任意の関数を近似する能力があるため、式（Ｈｙｐｏｔｈｅｓｉｓ−ｆ（ｘ、ｗγ））2は、最適化によって０になりうる。そこで、簡易な正則化を導入する必要があり、ここでは||ｗα−ｗγ||pを用いる。このとき、最適化されるパラメータｗγは、元の学習済み重みパラメータｗαからなるべく離れないように探索されるようになる。特に、ｐ＝１のとき正則化項は、スパース項になり、より少ない重みパラメータだけを変更するようになる。なお、ｗγはランダム又はｗαで初期化する等、任意の方法で初期化してもよい。
検証判定部４２３ａは、式６を、任意の方法で最適化してよいが、式７のｐ-ノルムに応じて最適化手法を選択する必要がある。検証判定部４２３ａは、例えば、Ｓｔｏｃｈａｓｔｉｃ  Ｇｒａｄｉｅｎｔ  Ｄｅｓｃｅｎｔ法を用いてもよいし、以下の参考文献６に記載の方法を用いてもよい。
（参考文献６）Ｓｔｏｃｈａｓｔｉｃ  Ｏｐｔｉｍｉｚａｔｉｏｎｆｏｒ  Ｍａｃｈｉｎｅ  Ｌｅａｒｎｉｎｇ、  Ｎａｔｉ  Ｓｒｅｂｒｏ、  Ａｍｂｕｊ  Ｔｅｗａｒｉ、  ＩＣＭＬ  Ｔｕｔｏｒｉａｌ、  ＩＣＭＬ、  ２０１０
【００７７】
検証判定部４２３ａは、式５と同様に、式６を用いて、仮説を正しいと言うことができるか否かの決定処理に閾値Ｔｈ４を用いる。検証判定部４２３ａは、式７を用いて求めたコスト関数Ｆを最小化するパラメータから求まる以下の式８の値を閾値Ｔｈ４と比較する。
【００７８】
【数８】
2019117556.tif 000010
【００７９】
検証判定部４２３ａは、仮説を妥当と決定し、採用するのであれば、式７を用いて求めたコスト関数Ｆを最小化するパラメータを、後の検証判定部４２３ａの仮説情報の検証処理で再利用可能なように、ローカル追加辞書記憶部Ｍ１ａに記憶する。また、検証判定部４２３ａは、認識結果補正部４２５に仮説情報の検証結果の情報を送信する。
以降の処理は、実施形態１と同様である。
【００８０】
以上、本実施形態の処理により、異常検知システムは、ローカル認識器であるＣＮＮが仮説の検証を行う際に、ＣＮＮの全体の重みパラメータを変更することで仮説を検証する。異常検知システムは、元の重みパラメータから離れないように最適化を行う。
また、本実施形態の異常検知システムは、仮説の検証を行う際に、後の検証処理の際に再利用可能なように、検証で用いたパラメータをローカル追加辞書記憶部Ｍ１ａに記憶する。そして、異常検知システムは、後の検証処理において、過去の検証で用いたパラメータを再利用することで、より高速に仮説の検証処理を行うことができる。
【００８１】
＜その他の実施形態＞
実施形態１、２では、異常検知システムは、ローカル学習装置１０、グローバル学習装置２０、グローバル認識装置３０、仮説生成検証装置４０、端末装置５０、外部記憶装置６０を含むシステムであるとした。しかし、ローカル学習装置１０、グローバル学習装置２０、グローバル認識装置３０、仮説生成検証装置４０、端末装置５０、外部記憶装置６０それぞれの機能を有した単一のＰＣ、サーバ装置等の情報処理装置が、本実施形態の処理を行うこととしてもよい。その場合、その情報処理装置は、図２と同様のハードウェア構成を有する。また、情報処理装置のＣＰＵが、情報処理装置の補助記憶装置等に記憶されたプログラムに基づき処理を実行することで、異常検知システムに含まれる各装置の機能、異常検知システムに含まれる各装置の処理が実現される。
実施形態１、２では、ローカル学習部１２とローカル認識部２２とを異なる装置としたが、ローカル認識部２２がローカル学習部１２の機能を保持することとしてもよい。
実施形態１、２では、異常検知システムが仮説情報を妥当であると決定した場合、その際に与えられた認識対象データに対して、ローカル認識器が誤った認識結果を出力してしまう可能性がある。そこで、異常検知システムは、これらの認識対象データと、妥当であると決定された仮説情報と、をローカル認識器の学習データとして利用することとしてもよい。その場合、異常検知システムは、ローカル認識部２２が学習機能を備えていれば、認識対象データの認識の際にローカル認識器の辞書データの追加的な学習により、ローカル認識器の辞書データを更新できるため利便性を高くすることができる。
【００８２】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではない。
例えば、上述した異常検知システムの機能構成の一部又は全てをハードウェアとしてグローバル認識装置３０等に実装してもよい。
【符号の説明】
【００８３】
４０  仮説生成検証装置
４１  仮説生成部
４２  仮説検証部
【図１】
2019117556.tif 000011
【図２】
2019117556.tif 000012
【図３】
2019117556.tif 000013
【図４】
2019117556.tif 000014
【図５】
2019117556.tif 000015
【図６】
2019117556.tif 000016
【図７】
2019117556.tif 000017
【図８】
2019117556.tif 000018
【図９】
2019117556.tif 000019
【図１０】
2019117556.tif 000020
【図１１】
2019117556.tif 000021
【図１２】
2019117556.tif 000022
【図１３】
2019117556.tif 000023
【図１４】
2019117556.tif 000024
【図１５】
2019117556.tif 000025
【図１６】
2019117556.tif 000026
【図１７】
2019117556.tif 000027
【図１８】
2019117556.tif 000028
【図１９】
2019117556.tif 000029
【図２０】
2019117556.tif 000030