IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キヤノン株式会社の特許一覧

特許7433782情報処理装置、情報処理方法、及びプログラム
<>
  • 特許-情報処理装置、情報処理方法、及びプログラム 図1
  • 特許-情報処理装置、情報処理方法、及びプログラム 図2
  • 特許-情報処理装置、情報処理方法、及びプログラム 図3
  • 特許-情報処理装置、情報処理方法、及びプログラム 図4
  • 特許-情報処理装置、情報処理方法、及びプログラム 図5
  • 特許-情報処理装置、情報処理方法、及びプログラム 図6
  • 特許-情報処理装置、情報処理方法、及びプログラム 図7
  • 特許-情報処理装置、情報処理方法、及びプログラム 図8
  • 特許-情報処理装置、情報処理方法、及びプログラム 図9
  • 特許-情報処理装置、情報処理方法、及びプログラム 図10
  • 特許-情報処理装置、情報処理方法、及びプログラム 図11
  • 特許-情報処理装置、情報処理方法、及びプログラム 図12
  • 特許-情報処理装置、情報処理方法、及びプログラム 図13
  • 特許-情報処理装置、情報処理方法、及びプログラム 図14
  • 特許-情報処理装置、情報処理方法、及びプログラム 図15
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-09
(45)【発行日】2024-02-20
(54)【発明の名称】情報処理装置、情報処理方法、及びプログラム
(51)【国際特許分類】
   G06T 7/00 20170101AFI20240213BHJP
【FI】
G06T7/00 350B
【請求項の数】 18
(21)【出願番号】P 2019110963
(22)【出願日】2019-06-14
(65)【公開番号】P2020204812
(43)【公開日】2020-12-24
【審査請求日】2022-06-09
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100090273
【弁理士】
【氏名又は名称】國分 孝悦
(72)【発明者】
【氏名】佐藤 俊介
【審査官】小池 正彦
(56)【参考文献】
【文献】国際公開第2019/087791(WO,A1)
【文献】特開2015-116319(JP,A)
【文献】国際公開第2010/050334(WO,A1)
【文献】特開2015-103144(JP,A)
【文献】特開2014-153906(JP,A)
【文献】特開2010-257140(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
モデルに基づいて、画像から特徴を認識する認識手段と、
前記モデルの追加学習を行う学習手段と、
前記モデルの追加学習の履歴の情報を管理する管理手段と、
前記モデルによる前記認識の精度を評価する評価手段と、
前記履歴の情報が管理されているモデルのなかから、前記認識の精度に基づいてモデルを選択する選択手段と、を有し、
前記評価手段は、前記認識手段が認識する認識対象の情報の集合を記録した評価セットを保持し、
前記選択手段は、前記評価セットから前記認識対象の情報を抽出した部分集合によって精度を評価した結果に基づいて、追加学習されたモデルを選択し、
前記認識手段は、前記選択手段が選択したモデルを前記認識に用いることを特徴とする情報処理装置。
【請求項2】
前記評価手段は、前記認識手段が認識する認識対象の特徴量と、モデルのIDと、当該モデルを用いた当該認識対象の認識の結果として得られる当該認識対象の特徴の度合いに関するスコアと、の対応付けの集合を評価セットとして保持し、
前記選択手段は、前記履歴の情報が管理されているそれぞれのモデルを用いて、前記評価セットを前記認識手段で認識した精度を前記評価手段で評価した結果に基づいて、前記評価セットに含まれる認識対象のうち、前記モデルのIDと前記スコアが互いに類似する複数の認識対象のいずれかを除いた部分集合によって生成された評価セットを用いて追加学習されたモデルを選択することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記画像を表示装置に表示させる表示制御手段を更に有し、
前記表示制御手段は、前記評価セットに含まれる前記認識対象の情報を表示することを特徴とする請求項1または2に記載の情報処理装置。
【請求項4】
モデルに基づいて、画像から特徴を認識する認識手段と、
前記モデルの追加学習を行う学習手段と、
前記モデルの追加学習の履歴の情報を管理する管理手段と、
前記モデルによる前記認識の精度を評価する評価手段と、
前記履歴の情報が管理されているモデルのなかから、前記認識の精度に基づいてモデルを選択する選択手段と、を有し、
前記選択手段は、前記認識手段が認識する認識対象の一部を選択し、
前記評価手段は、前記選択された認識対象の一部における前記認識の結果に基づいて前記認識の精度を評価し、
前記認識手段は、前記選択手段が選択したモデルを前記認識に用いることを特徴とする情報処理装置。
【請求項5】
前記選択手段は、前記認識手段が認識する認識対象を複数のクラスタにクラスタリングし、前記複数のクラスタのうち少なくとも一つ以上のクラスタを選択し、
前記評価手段は、前記選択されたクラスタに属する認識対象における認識の結果に基づいて前記認識の精度を評価することを特徴とする請求項4に記載の情報処理装置。
【請求項6】
前記選択手段は、前記履歴における精度の推移において、精度が極大となるモデルを選択することを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。
【請求項7】
利用者がモデルを選択する選択入力手段をさらに備え、
前記選択手段は、前記履歴における精度の推移に基づいて決定した複数のモデルを利用者に提示し、利用者が前記選択入力手段によって入力された結果に基づいてモデルを選択することを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。
【請求項8】
前記選択手段は、前記履歴における精度の推移に基づいて、モデルの再作成の必要性を判断することを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。
【請求項9】
前記選択手段は、前記認識対象の属性に基づいて、前記認識対象をクラスタリングすることを特徴とする請求項に記載の情報処理装置。
【請求項10】
前記学習手段は、前記モデルに認識対象を追加または削除することによって追加学習を行い、
前記管理手段は、前記認識対象に前記追加学習が行われた世代を表す世代番号を付与することによって、前記モデルの履歴を管理し、
前記認識手段は、前記モデルが含むデータの部分集合を前記世代番号に基づいて定め、前記部分集合を前記履歴に含まれるモデルとすることを特徴とする請求項1乃至のいずれか1項に記載の情報処理装置。
【請求項11】
前記モデルは最近傍モデルを含むことを特徴とする請求項1乃至10のいずれか1項に記載の情報処理装置。
【請求項12】
前記モデルは、特徴量空間における前記認識対象を示すデータの集合であり、
前記認識の精度は、前記世代番号のモデルを用いた際の所定の認識対象のデータに最も近い点までの距離を示すスコアであって、
前記選択手段は、最新のモデルの前記世代番号から初期のモデルまでの各モデルに含まれる前記認識対象のデータと、前記所定の認識対象に基づいて、前記スコアが最小となる前記認識対象のデータを含むモデルを選択し、
前記評価手段は、前記選択されたモデルの前記世代番号が前記初期のモデルの前記世代番号と異なる場合は、前記選択されたモデルの前記世代番号以降のモデルに含まれる前記認識対象のデータを除いた前記認識対象のデータと、前記所定の認識対象に基づいて前記スコアを評価し、前記選択されたモデルの前記世代番号が前記初期のモデルの前記世代番号である場合は、評価を終了することを特徴とする請求項10に記載の情報処理装置。
【請求項13】
前記画像を表示装置に表示させる表示制御手段を更に有し、
前記表示制御手段は、前記認識手段によって正常と認識された物体と、異常が発生したと認識された物体とをそれぞれ示す情報を表示させることを特徴とする請求項1乃至12のいずれか1項に記載の情報処理装置。
【請求項14】
前記表示制御手段は、前記認識手段によって異常が発生したと認識された物体を示す情報のうち、利用者によって当該情報を取り消すことを指示するための情報を更に表示させることを特徴とする請求項13に記載の情報処理装置。
【請求項15】
前記表示制御手段は、前記選択手段によって選択されたモデルが複数ある場合に、当該複数のモデルが生成された時間を示す情報と、現在のモデルの認識結果と、当該複数のモデルのそれぞれの認識結果とが異なる物体の画像を表示させることを特徴とする請求項13または14に記載の情報処理装置。
【請求項16】
情報処理装置が実行する情報処理方法であって、
モデルに基づいて、画像から特徴を認識する認識工程と、
前記モデルの追加学習を行う学習工程と、
前記モデルの追加学習の履歴の情報を管理する管理工程と、
前記モデルの前記認識の精度を評価する評価工程と、
前記履歴の情報が管理されているモデルのなかから、前記認識の精度に基づいてモデルを選択する選択工程と、を有し、
前記評価工程は、認識対象の情報の集合を記録した評価セットを保持し、
前記選択工程は、前記評価セットから前記認識対象の情報を抽出した部分集合によって精度を評価した結果に基づいて、追加学習されたモデルを選択し、
前記認識工程は、前記選択工程で選択されたモデルを前記認識に用いることを特徴とする情報処理方法。
【請求項17】
情報処理装置が実行する情報処理方法であって、
モデルに基づいて、画像から特徴を認識する認識工程と、
前記モデルの追加学習を行う学習工程と、
前記モデルの追加学習の履歴の情報を管理する管理工程と、
前記モデルによる前記認識の精度を評価する評価工程と、
前記履歴の情報が管理されているモデルのなかから、前記認識の精度に基づいてモデル
を選択する選択工程と、を有し、
前記選択工程は、前記認識工程が認識する認識対象の一部を選択し、
前記評価工程は、前記選択された認識対象の一部における前記認識の結果に基づいて前記認識の精度を評価し、
前記認識工程は、前記選択工程が選択したモデルを前記認識に用いることを特徴とする情報処理方法。
【請求項18】
コンピュータを、請求項1乃至15のいずれか1項に記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、学習型の認識における情報処理技術に関する。
【背景技術】
【0002】
学習型の認識装置において、稼働時に得られたデータを追加学習することによって、設置された環境に固有のパターンにおける認識精度を高める、いわゆるドメイン適応の手法が知られている。
近年は追加学習の効果を高めるため、不適切な教師データが混入しないよう選別する方法が提案されている。例えば特許文献1には、入力データを教師データとして採用するかどうかを、それまでに収集した教師データが持つ形態素の構成に合致しているかどうかで判断する手法が提案されている。また、特許文献2には、追加学習データの評価値の推移に基づいて過学習かどうかを判定して、過学習の場合は学習しなおす手法が提案されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2010-198189号公報
【文献】特開2010-257140号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、前述の特許文献に記載の手法は、教師データの選別や過学習時のやり直し等を行ったとしても、不適切な学習データの混入や過学習の発生を確実に防ぐことが困難である。特に長期間の運用がなされる場合において、不適切な追加学習による認識精度の低下が、一切生じないようにすることは現実的でない。また、このような認識精度の低下による影響は、すぐに顕在化するとは限らない。認識精度の低下は、誤認識あるいは未認識が問題となったことではじめて認知されることになる。そして、認識精度の低下による影響が表れた場合に、その認識精度の低下の原因が、どのような追加学習にあったのかを分析することは容易ではない。このため、認識精度が低下してしまう不適切な追加学習の影響を、適切に排除可能にすることが望まれる。
【0005】
そこで、本発明は、認識精度を低下させる追加学習の影響を適切に排除可能とし、認識精度の低下を抑えることを目的とする。
【課題を解決するための手段】
【0006】
本発明の情報処理装置は、モデルに基づいて、画像から特徴を認識する認識手段と、前記モデルの追加学習を行う学習手段と、前記モデルの追加学習の履歴の情報を管理する管理手段と、前記モデルによる前記認識の精度を評価する評価手段と、前記履歴の情報が管理されているモデルのなかから、前記認識の精度に基づいてモデルを選択する選択手段と、を有し、前記評価手段は、認識対象の情報の集合を記録した評価セットを保持し、前記選択手段は、前記評価セットから前記認識対象の情報を抽出した部分集合によって精度を評価した結果に基づいて、追加学習されたモデルを選択し、前記認識手段は、前記選択手段が選択したモデルを前記認識に用いることを特徴とする。
【発明の効果】
【0007】
本発明によれば、認識精度を低下させる追加学習の影響を適切に排除可能とし、認識精度の低下を抑えることが可能となる。
【図面の簡単な説明】
【0008】
図1】第1の実施形態における情報処理装置の構成例を示す図である。
図2】表示部の表示画面の一例を示した図である。
図3】第1の実施形態における情報処理のフローチャートである。
図4】第1の実施形態の管理部が管理するデータの一例を示す図である。
図5】評価部による評価セット作成処理のフローチャートである。
図6】評価セットの一例を示す模式図である。
図7】第1の実施形態の選択部による探索処理のフローチャートである。
図8】選択部が作成する性能値の推移の一例を示す図である。
図9】表示部が表示する選択画面の一例を示す図である。
図10】第2の実施形態における情報処理のフローチャートである。
図11】評価部における性能値計算処理のフローチャートである。
図12】第3の実施形態の管理部が管理するデータの一例を示す図である。
図13】第3の実施形態の選択部によるスコア計算処理のフローチャートである。
図14】第4の実施形態の管理部が管理するデータの一例を示す図である。
図15】第4の実施形態の選択部によるスコア計算処理のフローチャートである。
【発明を実施するための形態】
【0009】
以下、添付の図面を参照して、本発明の実施形態について詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
<第1の実施形態>
図1は第1の実施形態に係る情報処理装置の概略的な構成例を示した図である。
本実施形態の情報処理装置は、撮影部101、特徴量算出部102、認識部103、学習部104、記憶部105、管理部106、評価部107、選択部108、表示部109、及び操作部110を有する。
【0010】
撮影部101は、レンズ、撮像素子、レンズ駆動用モータ、および、撮像素子とレンズ駆動用モータを制御するMPU等を有して構成されたカメラ装置である。撮影部101は、例えば動画を撮影し、その動画のデータを出力する。
特徴量算出部102は、MPU等によって構成されている。特徴量算出部102は、撮影部101が撮影した動画に含まれる画像から特徴量を算出する。
【0011】
認識部103は、MPU等によって構成されている。認識部103は、特徴量算出部102が算出した特徴量を基に、動画の画像内に出現した対象物体を認識する。詳細は後述するが、認識部103は、特徴量算出部102が算出した特徴量について、後述の選択部108によって選択された統計モデルを基に、画像内の対象物体の認識に用いる認識スコアを算出する。そして、認識部103は、撮影された動画内で認識した対象物体について、異常な動作を行った対象物体を認識する。なお、本実施形態の場合、認識部103は、対象物体として人物を認識し、更にそれら人物のなかで異常な行動をとった人物を認識する。
【0012】
学習部104は、MPU等によって構成されている。学習部104は、認識部103が用いるモデルに、教師データから特徴量算出部102が算出した特徴量を追加して再学習することにより、教師データの特徴を追加的に学習したモデルを作成する。
【0013】
記憶部105は、ハードディスクなどの記録メディア、およびMPU等によって構成されている。記憶部105は、撮影部101が撮影した動画のデータ、特徴量算出部102が算出した特徴量、認識部103が認識を行った結果の情報、学習部104が作成したモデル、これらの関係を表現する情報、および作成時刻情報などのメタデータを保存する。なお、記憶部105は、記録メディアの代わりに、NAS(Network Attached Storage)、SAN(Storage Area Network)、クラウドサービスなどのネットワーク上のストレージを用いてもよい。
【0014】
管理部106は、MPU等によって構成されている。管理部106は、学習部104で作成されたモデル、モデルの作成日時、学習に用いた教師データ、および認識部103での使用状況などの各情報を合わせて記録し、学習されたモデルの履歴を管理する。管理部106が管理する情報の詳細は後述する。
評価部107は、MPU等によって構成されている。評価部107は、指定されたモデルについて性能を評価する。性能評価の詳細は後述する。
選択部108は、MPU等によって構成されている。選択部108は、管理部106によって管理されているモデルのなかから、評価部107の評価結果などに基づいて、認識部103が使用するモデルを選択する。モデル選択の詳細は後述する。
【0015】
表示部109は、液晶画面とこれを制御するMPU等によって構成されている。表示部109は、利用者に様々な情報を提示する。また、表示部109は、利用者が指示を入力する際に用いられるユーザーインターフェース(UI)画面を作成して表示する。UI画面の詳細は後述する。
操作部110は、スイッチとタッチパネル等を有して構成されている。操作部110は、利用者による操作を感知して情報処理装置に入力する。なお、操作部110は、タッチパネルの代わりにマウスやトラックボールなど他のポインティングデバイスを有していてもよい。
【0016】
なお、本実施形態では、撮影された動画から対象物体としての人物の異常行動を認識する装置を例に挙げて説明しているが、認識の対象はこれに限らない。認識の対象は、例えば、特定の人物、特定の車両、又は特定の車種などであってもよいし、イベントや時間帯などであってもよい。また認識の対象は、動画の他に、音声、文書、さらにはそれらの組み合わせでもよい。
【0017】
図2(A)~図2(D)は、本実施形態における表示部109の動作および利用者の操作の一例の説明に用いる図である。図2(A)の映像201、図2(B)の映像204、図2(C)の映像207、及び、図2(D)の映像211は、撮影部101で撮影した動画が表示部109の画面に表示された映像例を示している。
【0018】
図2(A)の映像201は通常可動時の動画の映像例を示している。撮影部101は監視カメラとして監視対象箇所に設置されている。表示部109は、その撮影部101が撮影している動画をライブ映像として表示している。利用者は、表示部109に表示されているライブ映像を見て、監視対象箇所に異常が発生していないかどうかを監視している。認識部103は、監視対象箇所に人物が出現した場合に、その出現した人物を認識して表示部109に通知する。表示部109は、その人物の映像に、所定のオブジェクト(例えば人物を内接する矩形オブジェクト)を重畳してライブ映像上に表示する。図2(A)の映像201は、監視対象箇所の動画から認識された人物に対して矩形オブジェクト202,203が重畳表示された例を示している。
【0019】
また表示部109は、映像201の画面上にタイムバー209を表示する。タイムバー209は、操作部110を介して利用者による操作が可能となされている。そして、タイムバー209は、記憶部105に記憶された動画の撮影時間と対応付けられている。例えば利用者は、ライブ映像について例えば過去に表示された映像を見たい場合などに、操作部110を介してタイムバー209を操作することにより、過去の映像の表示を指示することができる。表示部109は、操作部110からタイムバー209が操作されたことの通知を受けると、記憶部105から、タイムバー209の操作位置に応じた撮影時間の動画データを読み出して、その撮影時間の映像を画面上に表示する。
【0020】
また認識部103は、前述したように監視対象箇所に出現した人物の認識処理に加え、その人物における異常な行動を認識する処理も行う。図2(B)の映像204は、人物の異常な行動の一例として、人物205が転倒した場合の映像例を示している。認識部103は、人物205が転倒した場合、通常の歩行とは異なる異常が発生したことを認識して表示部109に通知する。表示部109は、認識部103から人物205において異常が発生したことの通知を受けると、その人物205の近傍に、人物の行動に異常が発生したことを表す警報オブジェクト206を表示する。これにより、利用者は、異常が発生したことを認識可能となり、その異常の状態を確認して必要な措置(例えば転倒者の救護などの必要な措置)をとることが可能となる。なお、図2(B)の例では警報オブジェクト206を画面上に表示したが、警報は、画面上の表示によるものに限らず、例えば警報音の発生でもよいし、利用者や警備員の端末にメールやショートメッセージを送信するようなものでもよい。
【0021】
認識部103は、前述したように人物の異常な行動を認識可能であるが、例えば、正常に歩行している人物について、異常な行動がとったと誤認識してしまう場合があり得る。図2(C)の映像207は、人物が正常に歩行しているのに、異常な行動が発生したと認識部103が誤認識したことにより、画面上に警報オブジェクト208が表示された例を示している。このときの利用者は、画面上の映像を見ることで、警報が誤った警報(つまり誤報)であるかどうかを判断することになる。
【0022】
ここで、利用者によりタイムバー209が操作されて過去の撮影時間を選択する指示がなされた上で、さらに利用者によって警報オブジェクト208の表示箇所に対する選択指示がなされたとする。なお、警報オブジェクト208の表示箇所に対する利用者の選択指示は、一例として警報オブジェクト208の位置を例えばタップするような操作であるとする。これらの選択指示がなされた場合、認識部103は、警報オブジェクト208による警報が誤報であると利用者が判断したと認識して、表示部109に通知する。このときの表示部109は、画面上に警報取り消し用のダイアログボックス210を表示する。当該ダイアログボックス210には、例えば「取り消しますか?」のメッセージ、及び「OK」と「キャンセル」のボタンが含まれる。「OK」ボタンは、利用者が警報取り消しを指示する際にタップ等されるボタンである。「キャンセル」ボタンは、利用者が警報取り消しを指示しない場合にタップ等されるボタンである。そして、表示部109は、例えば「OK]のボタンを利用者が選択した旨の情報を操作部110から受け取ると、警報の取り消しを利用者が指示したと判断して、警報オブジェクト208を画面から消す。そして、管理部106は、取り消された誤報に関する情報を記憶部105に保存させる。なお、取り消された誤報に関する情報は、認識部103が異常な行動であると認識した人物の画像領域の特徴量、撮影時間、およびタイムバー209の操作で利用者により選択された過去の撮影時間の情報などを含む。詳細は後述するが、記憶部105に保存された誤報に関する情報は、評価部107がモデルの性能を評価する際に使用される。
【0023】
また前述したような監視の運用が行われている間、情報処理装置の学習部104は、バックグランド処理として、認識部103による認識結果に対する追加学習を行う。学習部104は、前述のように映像中に出現した各人物に対して認識部103が行った認識結果、人物の撮影時間、人物の画像領域、および特徴量算出部102が取得した特徴量などの情報を、人物に関する情報として記憶部105に蓄積させる。さらに、学習部104は、例えば1日ごとに、記憶部105に蓄積した情報を教師データとして追加学習を行う。そして、認識部103は、その学習によるモデルを、監視対象箇所での人物の認識処理および異常行動の認識処理に用いる。これにより、認識部103における認識精度の向上が図られている。また、認識部103における認識精度が保たれている限り、利用者はそのことを意識する必要がなく、また表示部109には特に追加学習の情報が表示されることはない。
【0024】
しかしながら、前述のような追加学習を行ったにもかかわらず、認識精度が向上しない場合や、逆に認識精度が低下してしまうことがあり得る。その原因として、例えば人物の行動が正常であるのに異常行動として誤認識されて誤報が発生し、その誤報を利用者が見逃してしまい、その後、当該誤報に係る認識結果を教師データとして追加学習が行われた場合が考えらえる。その他にも、例えば、監視対象箇所において普段と異なるイベント等が催された場合に、そのイベント時の人物の行動、つまり普段とは異なった行動に係る大量の教師データが追加学習された場合などが考えられる。このような学習結果による品質の低いモデルが認識処理に用いられると、認識部103は、例えば人物の異常行動が多数発生しているのに、それらを異常行動として認識せずに見逃してしまうことがある。そして、このように認識精度が低下してしまうと、情報処理装置による監視の運用が困難になる。したがって、認識精度が低下してしまう不適切な追加学習を、適切に除去可能にしてて認識精度の低下を抑えることが望まれる。本実施形態では、認識精度の低下が発生する前の状態に戻すことで、不適切な追加学習が行われる前の、認識精度が高い状態に戻すようにする。
【0025】
このため、本実施形態の情報処理装置では、評価部107が、追加学習によるモデルについて性能評価を行うようになされている。評価部107は、当該モデルの性能評価の結果、そのモデルを用いた場合に認識機能の性能が低下することを検出した場合、その旨を表示部109に通知する。この通知を受けた表示部109は、認識機能の性能が低下したことを表す情報を表示する。これにより利用者は、認識機能の性能低下が生じたことを認識できる。
【0026】
図2(D)の映像211は、認識機能の性能低下が検出された場合に表示部109が表示する映像例を示している。表示部109は、図2(D)に示すダイアログボックス212を映像211内に表示する。ダイアログボックス212は、利用者に提示するメッセージ、「OK」、「キャンセル」、および「詳細確認」のボタンを含む。利用者に提示されるメッセージは、認識機能の低下が生じたことを表すメッセージと、認識機能の低下が生じる前のモデルの状態に戻すかを問うメッセージとからなる。なお、認識機能の低下が生じる前のモデルは、例えば、認識機能の低下が生じた時点より前で且つ現時点から最も近い日時に記憶部105に保存されたモデルであることが望ましい。
【0027】
ここで本実施形態において、学習部104が学習で作成して記憶部105に保存したモデルは、管理部106により管理されている。また本実施形態において、認識部103が認識処理で使用するモデルは、管理部106が管理しているモデルの中から選択部108によって選択される。評価部107により認識機能の性能低下が検出された場合、選択部108は、管理部106が管理しているモデルの中から、認識機能の低下が生じる前のモデルを、認識機能の低下が生じる前のモデルの状態に戻す際の差し戻し候補のモデルとして選択する。そして、選択部108は、その差し戻し候補のモデルを、表示部109に通知する。表示部109は、その差し戻し候補モデルが記憶部105に保存された日時を基に、図2(D)に示したような、認識機能の低下が生じる前のモデルの状態に戻すことを利用者に問うためのメッセージを生成して表示する。このようなダイアログボックス212が表示されることで、利用者は、モデルの劣化によって認識精度の低下が生じたことと、認識精度が低下する前の差し戻し候補の時点のモデルとを知ることができる。
【0028】
そして、例えば利用者がダイアログボックス212の「OK」ボタンをタップ等したことの通知を操作部110から受け取ると、選択部108は、認識部103が用いるモデルとして、差し戻し候補モデルを選択する。これにより、認識部103では、差し戻し候補モデル、つまり認識精度が低下する前のモデルを用いた認識処理が行われることになる。また例えば、利用者が「キャンセル」ボタンをタップ等したことの通知を操作部110から受け取ると、選択部108は、認識部103が用いるモデルとして、現在のモデルを選択する。これにより、認識部103では、現在のモデルを用いた認識処理が行われることになる。また例えば、利用者が「詳細確認」ボタンをタップ等した場合、その通知は操作部110から表示部109に送られる。この時の表示部109は、記憶部105から、差し戻し候補モデルに関する詳細情報を表示する。詳細情報は、利用者が差し戻し候補モデルを選択するか否かを判断する際に必要な情報である。詳細情報は、例えば、差し戻し候補モデルが学習された際の日時情報、このモデルを用いて認識部103が認識処理を行った際の認識結果、および、このモデルの学習時に用いられた人物の画像とその画像領域の特徴量などを含んでいてもよい。
【0029】
図3は、前述したような本実施形態の情報処理装置における情報処理の流れを示すフローチャートである。本実施形態の情報処理装置は、撮影部101から動画の1フレームが入力されるごとに、図3のフローチャートの処理を実行する。なお、図3のフローチャートによる処理対象のフレームは、撮影部101からの動画のフレームだけに限定されない。例えば、処理対象のフレームは、以前に取得等した個別の動画ファイルのフレームでもよいし、データベース又はビデオマネジメントシステム(VMS)等に蓄積された動画ファイルから日時の範囲が指定されて取り出された動画のフレームでもよい。また例えば、カメラの映像ストリームを指定して、記憶部105に逐次記録された動画データのフレームでもよい。
【0030】
まずステップS301において、特徴量算出部102は、撮影部101が現在撮影している動画のフレームから画像の特徴量を抽出する。特徴量算出部102は、フレームの画像から人物の領域を公知の人体検出の手法を用いて検出し、その人体の画像領域ごとにHOG(Histogram Of Gradient)を計算して実数値ベクトルを得ることによって特徴量を取得する。なお、特徴量の抽出方法はこれに限るものではない。
【0031】
次にステップS302において、認識部103は、ステップS301で人物ごとに取得された特徴量のそれぞれについて、選択部108によって選択されているモデルを用いた認識処理を行って認識スコアを取得する。本実施形態の場合、モデルは混合ガウス分布モデルを用いる。認識部103は、混合ガウス分布モデルにおける分布関数に特徴量の値を代入して得られる値を認識スコアとして取得する。例えば、認識部103は、モデルMを用いた際の特徴量xの認識スコアS(x;M)を以下の式(1)により算出する。
【0032】
【数1】
【0033】
式(1)中のKは混合数、N(x;μ,σ)は平均μおよび分散共分散行列σの多変量ガウス分布(正規分布)でのxの値、ωiはモデルMのi番目の分布の重み、μiはモデルMのi番目の分布の平均、σiはモデルMのi番目の分布の分散共分散行列である。重みは正の実数値を取り、ω1からωKの総計は1である。認識スコアの値域は[0,1]の範囲の実数値であり、1に近いほど正常を表し、0に近いほど異常を表す。なおこの例に限らず、モデルは、例えばニューラルネットワークモデルや最近傍モデルでもよい。最近傍モデルについては後述する第3の実施形態において説明する。
【0034】
次にステップS303において、認識部103は、ステップS302で算出した認識スコアに基づいた処理を行う。認識部103は、認識スコアが所定の閾値よりも低い場合に人物の行動が異常行動であると判定する。そして、表示部109は、図2(B)の映像204に示したような警報オブジェクト206を表示する。
次に、ステップS304において、記憶部105は、ステップS301で抽出された特徴量の情報を保存する。
【0035】
次にステップS305において、学習部104は、追加学習を実行する条件が満たされたかどうかを判定する。学習部104は、条件が満たされていると判定した場合にはステップS306に処理を進める。一方、ステップS305において、条件が満たされていないと判定した場合、情報処理装置は、図3のフローチャートの処理を終了する。本実施形態において、追加学習を実行する条件は、図3のフローチャートの処理が例えば当日の0時を過ぎて初めて実行されたかどうかである。すなわち追加学習は、当日の0時を過ぎて初めて図3のフローチャートの処理が実行されたという条件が満たされた場合に限って実行される。これにより、追加学習は、毎日1回ずつ、その日に得られた特徴量を用いて行われることになる。
【0036】
追加学習を実行する条件は前述した条件に限らない。例えば、追加学習の実行条件としての期間は、1日ごとだけでなく、半日ごとであってもよいし、1週間ごとであってもよい。また追加学習の実行条件は、ステップS304で保存された特徴量が所定個数以上蓄積されたタイミングであってもよい。所定個数が例えば1000個である場合、学習部104は、ステップS304で保存された特徴量が1000個以上蓄積されたタイミングごとに追加学習を実行する。また追加学習の実行条件は、例えば特徴量が得られた時点であってもよい。この場合、学習部104は、特徴量が得られるたびに常に追加学習を実行する。また追加学習の実行条件は、利用者が指示したタイミングであってもよい。さらに追加学習の実行条件は、前述した各条件の二つ以上を組み合わせた条件であってもよい。
【0037】
次にステップS306において、学習部104は、選択部108によって選択されているモデルについて、記憶部105に記憶された特徴量を用いて、EMアルゴリズムによる追加学習を行う。
次にステップS307において、評価部107は、認識部103が認識する認識対象の集合を、性能評価に用いる評価セットとして作成して保持する。評価セットは、特徴量の集合、特徴量ごとの正解ラベル、および、その特徴量を重視する度合いである重みの情報を含む。評価セットの作成方法は後述する。
次にステップS308において、評価部107は、ステップS307において作成した評価セットに基づき、選択部108によって選択されているモデルが劣化しているかどうかを判定する。
このときの評価部107は、ステップS307で作成した評価セットに含まれる特徴量を認識部103で認識した時の認識スコアを、追加学習の前後のモデルでそれぞれ算出して、重み付き平均を取る。モデルMの性能値S(M)は、以下の式(2)で算出する。
【0038】
【数2】
【0039】
式(2)中のTは評価セットの特徴量集合であり、#TはTの要素数である。wxは特徴量xの重みである。pxはxの正解ラベルが正常ならば+1、異常ならば-1である。すなわちモデルの性能値S(M)は、人物の行動が正常で高く、異常で低いスコアを算出するほど大きくなる。例えば、追加学習後のモデルの性能値が、追加学習前のモデルの性能値の0.98倍未満であった場合、評価部107は、モデルが劣化したと判定し、そうでない場合は劣化していないと判定する。なお、本実施形態の場合、追加学習におけるぶれを吸収するために2%程度性能値が下がっても劣化としないこととしているが、これは1.00倍など他の数値でもよい。また、モデルの性能値は、追加学習の進行度合いに応じて変えてもよく、追加学習の履歴が少ない場合はより性能の向上が見込めるため1.02倍とし、履歴が十分に蓄積した後は0.98倍にするなどしてもよい。また、モデルの劣化判定は、これらの例に限らず、モデルの性能値の差によって行ってもよい。また、比較対象は、追加学習前のモデルの性能値ではなく、モデルの履歴で最大の性能値を示すモデルなどにしてもよい。
【0040】
次にステップS320において、評価部107は、ステップS308での判定結果が劣化かそうでないかを判定し、劣化していると判定していた場合はステップS309に進み、そうでなければステップS313に進む。
ステップS320において劣化していなかったと判定された場合、ステップS313において、管理部106は、ステップS306で追加学習されたモデルをモデル履歴に追加する。そして次のステップS314において、選択部108は、ステップS313において追加されたモデルを現在のモデルとして選択する。このステップ314の後、情報処理装置は、図3のフローチャートの処理を終了する。
【0041】
図4は、管理部106が管理するモデル履歴データの模式的に示した図である。
図4に示すように、モデル履歴データは、モデル情報レコードの列からなる。モデル情報レコードは、モデルID、モデルデータ、元モデルID、教師データ、および追加学習日時を含む。
モデルIDはモデル情報レコードを識別する通し番号である。
モデルデータは、図4では図示を省略しているが、認識部103が用いるモデルの本体であり、例えばバイナリやXMLといった形式で格納される。
元モデルIDは、学習部104が追加学習を行う際に元となったモデルのモデルIDである。モデルIDは、出荷時に格納されたモデル、初期設定において作成されたモデルなど、元になったモデルがない場合には「なし」となる。
教師データは、学習部104が追加学習を行う際に用いられた教師データの情報である。教師データは、記憶部105に格納された特徴量であり、モデル情報レコードではファイル名やinode番号などの参照情報の集合を持つ。元になったモデルがない場合、教師データは「なし」となる。
追加学習日時は、学習部104が追加学習を行った日時である。
【0042】
選択部108は、これらのモデル情報レコードのうち1つを、認識部103が用いるモデルとして選択する。
なお、ステップS308において、追加学習したモデルが劣化していないと判定される限りにおいて、管理部106はモデル履歴に追加学習したモデルを追加し、選択部108は追加されたモデルを選択することを続けることになる。すなわち、最新の追加学習が行われたモデルが、認識部103において使用され続ける。
【0043】
一方、ステップS320において、追加学習したモデルが劣化していると評価部107が判定してステップS309に進むと、選択部108は、管理部106が管理しているモデルの中から、差し戻し候補モデルを探索する。差し戻し候補モデルの探索方法は後述する。
【0044】
次にステップS310において、表示部109は、ステップS308において探索した差し戻し候補モデルの情報を表示することで、利用者に確認を促す。このときの利用者は、表示された差し戻し候補モデルに戻すかどうかを判断し、その判断の結果を、操作部110を介して入力する。
【0045】
次にステップS311において、選択部108は、ステップS310で提示した差し戻し候補モデルに戻すことの指示が利用者から入力されたかどうかを判定する。そして、差し戻し候補モデルに戻すことの指示が入力された場合、選択部108は、ステップS312において、その差し戻し候補モデルを、認識部103が使用するモデルとして選択する。
【0046】
一方、ステップS311において差し戻し候補モデルに戻さないことの指示が利用者から入力された場合、本実施形態の情報処理装置は図3のフローチャートの処理を終了する。この場合、ステップS306で追加学習を行う以前に選択されていたモデルが、認識部103でそのまま使用される。そして、差し戻し候補モデルをそのまま使うことで、その差し戻し候補モデルが得られた時点の状態に戻ることが保証される。なお、差し戻し候補モデルをそのまま使うのではなく、差し戻し候補モデルに対して、差し戻しの指示が入力された時点以降に行われた追加学習をやり直すようにしてもよい。すなわち、差し戻し候補モデルに戻してそのまま使用する場合、モデル履歴をそのまま辿って先ほどステップS306で作られたモデルと同じになってしまう。このため、学習部104は、例えば特許文献1に記載の手法などを用いて教師データの再選別を行ってから追加学習をやり直す。これにより、差し戻しの指示が入力された時点以降に得られた教師データを活用することができることになる。追加学習をやり直すか、差し戻し候補モデルをそのまま使うかは、利用者の操作によって決めるようにしてもよい。
【0047】
図5は、ステップS307において評価部107が性能評価に用いるための評価セットを作成する処理の流れを示すフローチャートである。
評価部107は、一般的な人物画像から作られた初期評価セットを出荷時に保持している。評価部107は、この初期評価セットを監視対象箇所へ適応させるために、運用時に得られた情報を用いて随時更新することによって、評価セットを作成する。
【0048】
図6は、評価セットの一例を示した図である。図6に示すように、評価セットは、評価データレコードの列からなる。評価データレコードは、評価データID、特徴量、重み、正解ラベル、およびスコア履歴を含む。評価IDは評価データレコードを識別する通し番号である。重みは、評価データとしての特徴量の重要度を示し、性能値S(M)の計算に用いる。正解ラベルは、特徴量が示す特徴の正解の情報であり、「正常」または「異常」を示す情報となされる。スコア履歴は、モデルIDとスコアの値のペアの列から成り、モデルIDに対応するモデルを用いて認識部103が特徴量を認識した際のスコアの記録を含む。スコア履歴の内容は後述する図7のステップS702において作られる。
【0049】
図5のフローチャートのステップS501において、評価部107は、まず優先評価データを決定して取得する。優先評価データは、記憶部105に記憶された特徴量のうち、利用者が操作部110を用いて警報の取り消しを行ったことがある特徴量の集合である。これらの特徴量は、異常という誤報が発生した上で、利用者が直接正常であると判断して指示した特徴量であるから、利用者にとっての正常度が高く、かつ誤報が発生した経緯があることから間違えやすい特徴量であるため、重要な特徴量であると推定される。
【0050】
次にステップS502において、評価部107は、優先評価データのいずれかに類似した特徴量を、記憶部105に含まれる特徴量から検索する。特徴量の類似度の算出方法は限定しないが、例えば内積を使用することができる。優先評価データの量は一般に少量であるから、評価の正確性を保つため、優先評価データに類似した性質のデータを追加することによって、評価セットが偏らないようにする。なお、評価部107は、特徴量の類似度を直接判断する代わりに、画像から類似性を判断してもよい。例えば、評価部107は、人体の姿勢を推定して、同じような姿勢を取っているかどうかを人体パーツの配置から判断してもよい。また、評価部107は、例えば、一般物体認識を行って同じカテゴリに属せば類似していると判断してもよい。
【0051】
次にステップS503において、評価部107は、ステップS501とステップS502で得られた類似データを評価セットに追加する。また、優先評価データの重みは例えば10など大きい値とし、類似データの重みは例えば2など優先評価データよりも低い値とする。なお、初期評価セットに含まれるデータの重みは例えば1などさらに低い値になされてもよい。
【0052】
次にステップS504において、評価部107は、評価セットに含まれるデータから、類似したスコア履歴のデータを削減する。つまり、評価セットにデータを追加し続けるとデータ量が肥大化するため、評価部107は、スコア履歴の類似度を用いて重複性の高いデータの削減を行う。
【0053】
ここで、モデル履歴の評価の過程で得られたスコア履歴の推移が類似している2つのデータは、異なるモデルにおいても似たようなスコア変化の挙動を示してきていることになる。したがって、これらのデータは、以降の追加学習で作られたモデルでも似たようなスコアを出し続けることが推定される。すなわち、これらのデータは、モデルの評価という目的においては重複性の強いデータであると考えられる。2つのスコア履歴の類似度は、例えば同一モデルIDのスコア間の差の絶対値についての2乗平均の値などとして定める。評価部107は、類似度が例えば0.01以下であれば類似しているものとして片方を削除する。例えば評価部107は、重みが異なる場合は重みの小さい方を削除し、重みが同じ場合はランダムに決めた方を削除する。すなわち評価部107は、類似している少なくとも一つを用いる。なお、評価部107は、例えば評価セットが500個以下など十分に小さい場合、あるいはモデル履歴が10個以下など類似度を信頼できるほど履歴が蓄積していない場合などでは、ステップS504の削除処理を行わないようにしてもよい。
【0054】
評価部107は、以上のようにして、評価セットを作成する。図3のステップS308における劣化の判定は、この評価セットに基づいて行われる。またステップS309における差し戻し候補モデルの探索処理は、この評価セットに基づいて行われる。
【0055】
図7は、図3のステップS309において選択部108がモデル履歴から差し戻し候補のモデルを探索する処理の流れを示したフローチャートである。
まずステップS701において、選択部108は、ステップS307で作成した評価セットについて、モデル履歴に含まれるそれぞれのモデルを基に性能値S(M)を計算する。
次にステップS702において、評価部107は、ステップS701における性能値のS(M)の計算過程において計算された、それぞれの評価データについての認識スコアを、評価データレコードのスコア履歴に追加する。
【0056】
次にステップS703において、選択部108は、ステップS701で計算した性能値の値から、性能値が極大となるモデルの候補を探索する。性能値が極大となるモデルは、モデル履歴の中で最も性能値の高いモデルMmaxをまず探索する。次いで選択部108は、そのモデルMmaxの性能値S(Mmax)との差が、所定の閾値より小さいモデルがあれば、それらも極大候補モデルとして選び出す。ただし、選択部108は、モデルMmaxが最初のモデル、すなわち追加学習を一度も行っていない初期モデルだった場合、追加学習がまったく効果がなかったことになるため、極大モデルの候補がないものとして、初期モデルの再作成を促す。
【0057】
図8(A)~図8(C)は性能値の推移の例を示した図である。
例えば図8(A)に示すように、最も性能値の高いモデルMmaxの性能値S(Mmax)が高く、それに近い性能値のモデルがモデル履歴にない場合、選択部108は、モデルMmaxをそのまま選択する。
例えば図8(B)に示すように、モデルMmaxの性能値S(Mmax)に近い性能値のモデルが、例えば点線804で示す枠内のように複数存在した場合にはモデルMmaxを単純に選択することが有効であるとは自明には言えない。このため、表示部109は、性能値の推移の変化を利用者に提示する。
例えば図8(C)に示すように、モデルMmaxが初期モデルである場合は、そもそも追加学習の効果が一切現れていない。この場合、初期モデルに何らかの異常がある可能性が考えられる。
【0058】
図7のフローチャートの説明に戻り、ステップS704において、選択部108は、性能値が極大となる候補のモデルの数を判定する。選択部108は、性能値が極大となる候補のモデル数が1の場合には、ステップS705において、その極大のモデルを選択候補モデルとしてそのまま選んで処理を終了する。一方、選択部108は、性能値が極大となる候補のモデル数が0個、すなわちモデルMmaxが初期モデルだった場合には、表示部109が実行するステップS706に処理を進める。また選択部108は、性能値が極大となる候補のモデルが複数あった場合には、表示部109が実行するステップ709に処理を進める。
【0059】
ステップS706に進むと、表示部109は、利用者にモデルの再作成を促すためのダイアログを表示する。そして次のステップS707において、選択部108は、利用者が操作部110を介してモデルの再作成を指示したか、あるいは、初期モデルに差し戻すことを指示したかを判定する。選択部108は、利用者の指示を基にモデルの再作成が行われた場合にはステップ708の処理に進み、再生成が行われていない場合つまり初期モデルへの差し戻しが指示された場合にはステップS705の処理に進む。
【0060】
選択部108は、ステップS707においてモデルの再作成が行われたと判定してステップS708に進むと、その再作成されたモデルを選択候補モデルとして処理を終了する。一方、選択部108は、再作成が行われず、初期モデルへ差し戻されてステップS705に進むと、極大のモデルMmaxすなわち初期モデルを選択候補モデルとして処理を終了する。
【0061】
またステップS704において、性能値が極大となる候補のモデルが複数あってステップS709に進むと、表示部109は、極大候補モデルからの選択画面を表示する。
次にステップS710において、選択部108は、ステップS709で表示された選択画面を介して利用者が選択した極大候補モデルを、選択候補モデルとして処理を終了する。
【0062】
図9は、ステップS709において表示部109が表示する極大候補からの選択画面の例を示した図である。
図9の選択画面において、コンボボックス901は、極大候補モデルの作成日時を項目として有する。利用者は、コンボボックス901の作成日時の項目を選択することで、極大候補モデルから1つを選択することができる。サムネイルエリア902および903は、評価セットの中で、現在の認識部103で用いるように選択されているモデルでの認識結果と異なる評価データのサムネイル画像が表示されるエリアである。サムネイルエリア902は、現在のモデルでは異常となるが極大候補モデルでは正常となるデータのサムネイル画像が表示されるエリアである。一方、サムネイルエリア903は、現在のモデルでは正常となるが極大候補モデルでは異常となるデータのサムネイル画像が表示されるエリアである。サムネイルエリア902および903に表示されるサムネイル画像は、コンボボックス901の選択を利用者が操作部110を用いて切り替えることによって変化する。利用者はこれらを見て、どのように結果が変化するかを確認しながらより良いと考えられる極大候補モデルを選択することができる。ボタン904は、利用者がコンボボックス901から選択した作成日時の極大候補モデルを、さらに利用者が選択候補モデルとして決定する際にタップ等されるボタンである。このようにして選択された選択候補モデルは、ステップS310での利用者の確認を経て、差し戻し候補モデルとして以降の認識部103において用いられることになる。
【0063】
第1の実施形態の情報処理装置は、以上説明したように、追加学習によって認識性能に低下が発生することが判明した時点で、以前の履歴から、精度が高かった時点の状態に差し戻すことができる。すなわち第1の実施形態の情報処理装置は、認識精度を低下させる追加学習を適切に除去可能となり、認識精度の低下を抑えることが可能となる。
【0064】
<第2の実施形態>
第1の実施形態では、評価セットが作成され、それを使って差し戻し候補モデルが探索される例を説明した。ただし、評価セットをモデル履歴のモデルごとに全て評価する場合、計算量が多くなる可能性がある。
第2の実施形態では、通常運用時の認識結果を再利用してモデルの評価を行う方法を説明する。第2の実施形態の情報処理装置の構成は図1と同様であるため、その図示と説明は省略する。以下、第2の実施形態において、第1の実施形態に対して追加または変更された部分についてのみ説明し、第1の実施形態と共通する部分の説明は省略する。
【0065】
図10は、第2の実施形態の情報処理装置における処理の流れを示すフローチャートである。なお、前述した図3のフローチャートと同様の処理が行われるステップには、図3と同じ参照符号を付してそれらの説明は省略する。図10のフローチャートの処理は、図3と同様に、撮影部101から動画の1フレームの画像データが入力されるごとに実行される。図10のフローチャートの場合、図3のステップS307の処理が省かれている一方で、ステップS305とステップS306との間にステップS1001の処理が加えられている。
【0066】
第2の実施形態の情報処理装置は、ステップS305で追加学習を行う条件が満たされていると判定された場合、ステップS1001の処理に進む。ステップS1001に進むと、評価部107は、現在の認識部103で用いるモデルの性能値を、後述する図11のフローチャートの処理を実行することにより算出する。ステップS1001の処理後、情報処理装置の処理はステップS306に進み、当該ステップS306において前述同様に追加学習が行われる。そして、ステップS306の後、情報処理装置の処理は、ステップS308に進む。
【0067】
第2の実施形態の場合、図3のステップS307の処理が省かれている。このため、次のステップS308において、評価部107は、第1の実施形態における初期評価セットを常に用いてモデルの劣化判定を行う。なお、第1の実施形態と同様にステップS307を設けて評価セットの更新が行われるようにしてもよいが、その場合、評価セットは本ステップでのみ用いられることになる。
【0068】
図11は、図10のステップS1001において、評価部107が現在の認識部103で用いているモデルMの性能値S(M)を計算する処理の流れを示すフローチャートである。
まずステップS1101において、評価部107は、ステップS302で認識スコアを計算した特徴量を記憶部105から取得してクラスタリングを行う。ここで、クラスタリングは、認識対象の属性に基づいて特徴量を分類する処理が考えられる。例えば、認識対象が人物である場合、クラスタリングは、人物の属性として、例えば姿勢を検出し、歩いている、走っている、または座っているなどの姿勢カテゴリごとに特徴量を分類する処理が挙げられる。またクラスタリングは、人物の属性として、例えば人物の歩行方向、歩行速度、カメラからの距離、身長、年齢、性別、服装、所持品、または人物密度などの各カテゴリによって特徴量を分類する処理であってもよい。さらにクラスタリングは、それらの各属性のうち、例えば性別と服装、服装と所持品、年齢と性別と歩行速度など、二つ以上の関連性の高い属性の組合せによって特徴量を分類する処理でもよい。その他にも、クラスタリングは、事前知識なしで例えばk平均法などを用いて特徴量を分類する処理であってもよい。
【0069】
次にステップS1102において、評価部107は、ステップS1101でクラスタリングを行ったクラスタから、重要クラスタを決定する。例えば、評価部107は、クラスタのサイズが最も大きいものを選択して重要クラスタに決定する。例えば、走っている人物のクラスタが大きい場合、その監視対象箇所は、走っている人物が多く出現する環境であると考えられる。この場合、重要クラスタの決定は、モデルの評価の基準として、走っている人物を対象として行われることが合理的であると推定される。また、評価に用いる重要クラスタの選び方はこれに限ったものではない。例えば、利用者が、事前知識に基づいて座っている人物が重要であると判断するような場合、評価部107は、座っている人物のクラスタから、重要クラスタを決定する。また重要クラスタは、異常が発生しやすいクラスタが選ばれてもよい。また、これらのクラスタが複数組み合わせされてもよい。
【0070】
次にステップS1103において、評価部107は、ステップS1102で決定した重要クラスタと、そこに含まれる特徴量についてステップS302で計算された認識スコアとを用いて、性能値S(M)を計算する。性能値を計算する際の正解ラベルは、利用者が操作部110を用いて警報の取り消しを行ったことがある特徴量については正常とし、そうでないものは警報が発生したものは異常としそれ以外は正常とする。
【0071】
次にステップS1104において、評価部107は、ステップS1103で計算した現在のモデルの性能値を、モデル履歴レコードに紐づけて記憶部105に記憶する。
第2の実施形態では、以上のようにして、現在の認識部103で用いるモデルの性能値が計算される。
【0072】
本実施形態の情報処理装置の場合、ステップS1001によってモデルの性能値が既に算出されている。このため、第2の実施形態の情報処理装置は、前述した図7のステップS701及びステップS702の処理を省いたフローチャートの処理を行う。すなわち第2の実施形態の場合、図7のステップS701及びステップS702の処理が省かれ、選択部108は、ステップS703からフローチャートの処理を開始し、このステップS703以降の処理を行う。
【0073】
このように、第2の実施形態の情報処理装置は、評価セットを用いず、モデルの選択時には重要クラスタでの性能に基づいて選択候補モデルを決定する。重要クラスタを用いた性能の比較は、評価セットを用いるような同一データでの性能比較にはならないものの、クラスタリングによってある程度類似した性質のデータが集まっていると期待される。また重要クラスタの認識スコアは、通常運用時の認識結果であるステップS302で計算したものを用いる。このため、第2の実施形態の情報処理装置は、モデル選択の際に新たに認識部103で計算を行う必要がなく、計算量の制約が強い環境において有用である。
【0074】
なお、第2の実施形態では第1の実施形態で用いていた評価セットをモデル選択において使用しない方法を説明したが、部分的に評価セットを用いる方法でもよい。例えば、情報処理装置は、小規模な評価セットによる性能値を別に求めて、重要クラスタによる性能値を組み合わせたり、評価セットの内容を重要クラスタに類似したものに制限したりするなどの方法でもよい。この場合、評価セットの計算量が軽減可能となる。
【0075】
<第3の実施形態>
第1の実施形態では、モデルとして混合ガウス分布を例に挙げて説明した。第3の実施形態では、最近傍モデルを用いることによって、モデル履歴の保存容量および差し戻し候補モデルの探索の軽量化を可能とする例について説明する。第3の実施形態の情報処理装置の構成は図1と同様であるため、その図示と説明は省略する。以下、第3の実施形態において、第1の実施形態に対して追加または変更された部分についてのみ説明し、第1の実施形態と共通する部分の説明は省略する。なお、第3の実施形態で説明する手法は、前述した第2の実施形態についても適用可能である。
【0076】
第3の実施形態の場合、モデルは特徴量空間の点の集合である。また第3の実施形態における認識スコアは、特徴量に最も近い点(最近傍)までの距離である。第3の実施形態の場合、モデルMを用いた際の特徴量xの認識スコアS(x;M)は、以下の式(3)により算出する。
【0077】
【数3】
【0078】
ここで式(3)のKはモデルの点の数、yiはモデルに含まれる点のベクトル値、d(y,x)はyとxのユークリッド距離である。認識スコアは(0,1]の範囲の実数値を取り、大きいほど正常、小さいほど異常を表す。なお、dの値域は[0,∞)である。ここではスコアとして取り扱うため、dの値域は0から1の範囲を取るよう変形しているが、その方法はここで示したものに限らない。また、dの値域はユークリッド距離に限らず、マンハッタン距離やチェビシェフ距離など擬距離の公理を満たす関係ならばどのような値域であってもよい。また本実施形態の手法は、LSH(Locally-Sensitive Hashing)などの手法を用いてハミング距離で近似する方法でも同様に用いることができる。また第3の実施形態の場合、モデルの点ごとに追加学習の世代番号が、メタデータとして合わせて保持される。初期モデルでは、モデルの点は、すべて世代番号0を持つ。また第3の実施形態において、図3に示したステップS306の追加学習は、正解ラベルが正常である特徴量の点を、モデルに追加することによって行う。世代番号は、ステップS306の実行ごとにインクリメントし、追加学習で追加された点にメタデータとして付与される。
【0079】
第3の実施形態における管理部106は、モデル情報レコードにモデルデータを保持せず、代わりに世代番号を保持する。また、管理部106は、最新のモデルに対応する単一のモデルのモデルデータを持ち、他の履歴のモデルデータは最新モデルのモデルデータから再現する。
【0080】
図12は、第3の実施形態における管理部106の履歴管理方法を説明する図である。
図12に示すように、管理部106が管理するモデル履歴データは、モデル情報レコード1201の列からなる。モデル情報レコード1201は、世代番号、元モデルID、教師データ、および追加学習日時を含む。つまり第3の実施形態におけるモデル履歴データは、図4に示したモデル履歴データのモデルデータを含まず、その代わりに、世代番号を含んでいる。
世代番号は、追加学習ごとにインクリメントされる番号である。ただし、世代番号は、履歴の削除や分岐などが発生すればモデルIDと必ずしも一致するとは限らない。
【0081】
第3の実施形態の管理部106は、別途、最新モデルのモデルデータ1202を管理する。最新モデルのモデルデータ1202は、モデルの点を表現するベクトル値を含み、それらモデルの点を表現するベクトル値ごとに、メタデータとして世代番号が付与されている。なお図12では、具体的なベクトル値は省略している。同一の世代番号を持つベクトル値の部分集合は、同じ世代番号で追加されたベクトル値の集合を成す。
【0082】
管理部106は、例えば世代番号99のモデルデータを得る場合、最新モデルのモデルデータから、世代番号が99以下のベクトル値のみを抽出する。これにより、初期モデルから世代番号99までの追加学習で追加されたベクトル値の集合、すなわち世代番号99のモデルデータが得られる。図12の例の場合、IDが9501番目から10000番目までのベクトル値が、世代番号が100に対応した追加学習で追加された値である。このため、管理部106は、世代番号99のモデルデータを得る場合、世代番号が100となっているベクトル値を除いた、IDが1番から9500番までの各ベクトル値を取り出すことによって、世代番号99のモデルを得る。
【0083】
図13は、第3の実施形態の情報処理装置が、モデルの性能値S(M)を計算する際の処理の流れを示したフローチャートである。第3の実施形態の場合、情報処理装置は、前述した図7のステップS701で説明したような、すべてのモデル履歴のモデルの性能値を計算する代わりに、図13に示すフローチャートの処理を行うことで、モデルの性能値の計算効率を高める。以下、図13のフローチャートを参照して、第3の実施形態の情報処理装置が、モデルの性能値を計算する方法について説明する。なお、以下の説明では、世代番号をgとし、その世代番号gのモデルをMgとする。
【0084】
まずステップS1301において、選択部108は、管理部106から最新のモデルの世代番号を取得して、世代番号Gとする。
次にステップS1302において、選択部108は、管理部106から、世代番号GのモデルMGを取得する。すなわち先に説明したように、選択部108は、管理部106から世代番号がG以下のベクトル値の集合を取得してモデルMGとする。
次にステップS1303において、評価部107は、認識スコアS(x;MG)を前述の計算式で計算する。また、評価部107は、その計算過程で求める最近傍y、すなわちd(y,x)が最小となるモデルMGの点yを記憶しておく。
【0085】
次にステップS1304において、選択部108は、ステップS1303で求めた最近傍yの世代番号を取得し、世代番号G’とする。
次にステップS1305において、選択部108は、世代番号G’から世代番号Gまでのモデルにおけるxの認識スコアを、ステップS1303で求めた認識スコアS(x;MG)の値で記憶する。すなわち、世代番号gの認識スコアS(x;Mg)は下記の式(4)の値となる。
【0086】
S(x;Mg)=S(x;MG)G’≦g≦G 式(4)
【0087】
最近傍yは世代番号G’の追加学習で追加されたベクトル値であり、それが世代番号Gのモデルでも依然として最近傍なのであるから、世代番号G’+1から世代番号Gまでの追加学習において最近傍yよりもxに近いベクトル値は追加されていない。したがって、世代番号G’から世代番号Gまでのモデルの最近傍はすべてyであり、同じ値S(x;MG)を取ることがわかる。
【0088】
次にステップS1306において、選択部108は、世代番号G’=0かどうかを判定する。選択部108は、世代番号G’=0であるならば、初期モデルまでのすべてのモデルについて認識スコアが既に計算されたため図13のフローチャートの処理を終了する。一方、選択部108は、世代番号G’=0でない場合にはステップS1307に処理を進める。ステップS1307に進むと、選択部108は、世代番号GにG’-1を設定してからステップS1302の処理に戻り、世代番号G’-1より以前のモデルについて認識スコアを計算する。
【0089】
第3の実施形態の情報処理装置は、以上のようにして、モデル履歴に含まれるモデルのそれぞれについて認識スコアS(x;Mg)を計算することができる。第3の実施形態の情報処理装置は、ステップS1305において世代番号G’からG-1までのモデルの計算を省略できるため、前述した実施形態のようなモデル履歴のモデルそれぞれで逐次計算を行う場合よりも計算効率が高くなる。例えば、ステップS1305で常に世代番号G’=Gとなる最近傍が選ばれ続けるようなワーストケースの場合でも、計算効率は、前述した逐次計算と同等である。
第3の実施形態の情報処理装置は、以上のような処理を行うことで、最近傍モデルを用いた際には、モデル履歴のデータサイズおよびモデル性能の計算の効率を高めることができる。
【0090】
<第4の実施形態>
前述した第3の実施形態の場合、ステップS306の追加学習は、正解ラベルが正常である教師データをモデルに追加することによって最近傍となり得る正常データを増加させるようにしている。これに対し、第4の実施形態の情報処理装置は、正解ラベルが異常である教師データを用いて、モデルの正常データを削減することによって、教師データの近傍におけるスコアを下げるような追加学習を可能とする。第4の実施形態によるモデルは、未認識の異常について認識しやすくする方向に働く。以下、第4の実施形態において正常データを削減する追加学習を行う方法の追加について説明する。なお、第4の実施形態の情報処理装置の構成は図1と同様であるため、その図示と説明は省略する。以下、第4の実施形態において、前述した実施形態に対して追加または変更された部分についてのみ説明し、前述の実施形態と共通する部分の説明は省略する。
【0091】
第4の実施形態の場合、ステップS306において、学習部104は、まず第3の実施形態と同様に正解ラベルが正常である特徴量の点をモデルに追加する。そして、学習部104は、正解ラベルが異常である特徴量が教師データにあれば、それぞれについて、モデルの点のベクトル値のそれぞれとの距離dを計算して、いずれかの距離が所定の閾値tよりも小さいモデルの点については削除する。すなわち、学習部104は、教師データを中心とした半径(閾値t)の超球に含まれるモデルの点を削除する。
【0092】
例えば、学習部104は、削除時の世代番号をモデルの点のメタデータとしてさらに付加することによって削除する。また、学習部104は、削除時の世代番号として付加する世代番号を、別の正解データの追加による追加学習の世代のさらに次の世代とするためインクリメントする。すなわち、同一の世代番号の追加学習の世代は、すべて追加か、すべて削除のいずれかとなる。
【0093】
図14は、第4の実施形態における管理部106の履歴管理方法を説明する図である。
管理部106が管理するモデル履歴データは、モデル情報レコード1201の列からなる。モデル情報レコード1201は、第3の実施形態で説明したものと同様である。モデルデータ1401は、モデルの点を表現するベクトル値ごとに、メタデータとして世代番号および削除時の世代番号が付与されている。なお、削除されていないベクトル値は、削除時の世代番号では「なし」となる。図14の例の場合、IDの2番目と4890番目のベクトル値が、世代番号101の追加学習(削除による)によって削除されたことになる。言い換えると、例えばIDが4890番目のベクトル値は、世代番号55で追加され、世代番号101で削除されたデータである。すなわち、例えばIDが4890番目のベクトル値は、世代番号55から世代番号100までのモデルにおいて存在するベクトル値である。
本実施形態において、このモデルデータから、例えば世代番号99のモデルデータを得るためには、世代番号が99以下で、かつ削除時の世代番号が「なし」または世代番号が99より大きいベクトル値のみを抽出すればよい。
【0094】
図15は、第4の実施形態の情報処理装置が、モデルの性能値S(M)を計算する際の処理の流れを示したフローチャートである。以下、図15のフローチャートを参照して、第4の実施形態の情報処理装置が、評価セットのひとつの特徴量xについてモデル履歴に含まれるモデルMgのすべてについて認識スコアS(x;Mg)を計算する方法について説明する。以下の説明では、図13に示したフローチャートとは異なる処理について説明する。
【0095】
第4の実施形態の情報処理装置は、ステップS1304の次はステップS1501の処理に進む。前述した第3の実施形態の場合、ステップS1303で探索した最近傍yは、最近傍yの追加時である世代番号G’から世代番号Gまでずっと最近傍である。一方、第4の実施形態の場合、世代番号G’から世代番号Gまでに削除された点が最近傍yよりも近いかもしれないため、選択部108はその探索を行う。そして、ステップS1501において、選択部108は、世代番号HにG’を設定する。以降、世代番号Hは、ステップS1501からS1507までの一連の流れにおいて、世代番号G’から始まって世代番号Gまで増加する変数である。
【0096】
次にステップS1502において、評価部107は、モデルMHからxの最近傍yよりも近い最近傍z、すなわちd(z,x)<d(y,x)なる最近傍zのうちd(z,x)が最小のものを探索して記憶する。そして、評価部107は、そのような最近傍zが存在すれば認識スコアS(x;MH)を前述の計算式で計算する。最近傍zはyよりもxに近いが、世代番号Gの時点では存在しない(zよりも遠いyが最近傍であるから)ので、最近傍zは世代番号HからGの間に削除された点である。逆に、最近傍zの候補はそのような点に限られるため、世代番号HからGの間に削除された点、すなわち削除時世代番号がH以上G以下の点に限って距離を計算することで効率よく最近傍zを探索できる。
【0097】
次にステップS1503において、選択部108は、ステップS1502の最近傍zが見つかったかどうかを判定する。選択部108は、最近傍zが見つからなかった場合にはステップS1504に処理を進める。
ここで、最近傍zが見つからなかった場合、世代番号Hから世代番号Gまでの間に削除されたデータでyよりも近いものはなかったのだから、世代番号Hから世代番号Gまでの間の最近傍はすべてyであることがわかる。このため、選択部108は、ステップS1504において、世代番号Hから世代番号Gまでのモデルにおけるxの認識スコアを、ステップS1303で求めた認識スコアS(x;MG)の値で記憶する。そして、選択部108は、ステップS1306の処理に進む。
【0098】
一方、ステップS1503において最近傍zが見つかった場合、選択部108は、ステップS1505に処理を進める。ステップS1505に進むと、選択部108は、最近傍zの削除時の世代番号を取得し、それを世代番号H'とする。最近傍zは、世代番号Hから、削除される直前である世代番号H'-1までの間はすべて最近傍であることがわかる。
【0099】
次にステップS1506において、選択部108は、世代番号Hから世代番号H’-1までのモデルにおけるxの認識スコアを、ステップS1502で求めた認識スコアS(x;MH)の値で記憶する。
次にステップS1507において、選択部108は、世代番号HにH’を設定してから、ステップS1502の処理に戻る。
【0100】
第4の実施形態においては、以上の一連の処理によって、世代番号G’から世代番号Gまでのモデルについて、特徴量xの認識スコアがすべて決定される。これはステップS1305の効果と同様である。
第4の実施形態によれば、以上のようにして、第3の実施形態の処理に、削除による追加学習の処理を追加した上で、前述の第3の実施形態と同様に効率的な処理を行うことができる。
【0101】
<その他の実施形態>
本発明は、前述の各実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
前述の実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明は、その技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【0102】
101:撮影部、102:特徴量算出部、103:認識部、104:学習部、105:記憶部、106:管理部、107:評価部、108:選択部、109:表示部、110:操作部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15