(57)【要約】【課題】認識精度を低下させる追加学習の影響を適切に排除可能とし、認識精度の低下を抑えることを課題とする。【解決手段】情報処理装置は、モデルに基づいて特徴を認識する認識手段（１０３）と、モデルの追加学習を行う学習手段（１０４）と、モデルの追加学習の履歴の情報を管理する管理手段（１０６）と、モデルの認識の精度を評価する評価手段（１０７）と、履歴の情報が管理されているモデルのなかから、認識の精度に基づいてモデルを選択する選択手段（１０８）と、を有し、認識手段（１０３）は、選択手段（１０８）が選択したモデルを認識に用いる。【選択図】図１
2020204812.tif 000002
【特許請求の範囲】
【請求項１】
モデルに基づいて、特徴を認識する認識手段と、
前記モデルの追加学習を行う学習手段と、
前記モデルの追加学習の履歴の情報を管理する管理手段と、
前記モデルによる前記認識の精度を評価する評価手段と、
前記履歴の情報が管理されているモデルのなかから、前記認識の精度に基づいてモデルを選択する選択手段と、を有し、
前記認識手段は、前記選択手段が選択したモデルを前記認識に用いることを特徴とする情報処理装置。
【請求項２】
前記評価手段は、前記認識手段が認識する認識対象の集合を評価セットとして保持し、
前記選択手段は、前記履歴の情報が管理されているそれぞれのモデルを用いて、前記評価セットを前記認識手段で認識した精度を前記評価手段で評価した結果を基に前記モデルを選択することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記評価手段は、前記認識対象のうち重要な認識対象を選択し、前記重要な認識対象に類似した認識対象を抽出することによって新たに前記評価セットを作成することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記重要な認識対象は、前記認識手段が誤認識した際に利用者が前記誤認識を取り消した認識対象を含むことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記選択手段は、前記評価セットのうち、前記履歴が互いに類似する認識対象から少なくとも一つの認識対象を抽出して新たに評価セットとして用いることを特徴とする請求項２から４のいずれか１項に記載の情報処理装置。
【請求項６】
前記選択手段は、少なくとも一つ以上の候補を選択して、前記候補が複数の場合には利用者の操作に応じたモデルを選択することを特徴とする請求項１から５のいずれか１項に記載の情報処理装置。
【請求項７】
前記選択手段は、前記認識手段が認識する認識対象をクラスタリングし、前記クラスタリングの結果のうち少なくとも一つ以上のクラスタを前記モデルごとに選択し、
前記評価手段は、前記選択されたクラスタに含まれる結果に基づいて前記認識の精度を評価することを特徴とする請求項１から６のいずれか１項に記載の情報処理装置。
【請求項８】
前記選択手段は、前記認識対象の属性に基づいて、前記認識対象をクラスタリングすることを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記学習手段は、前記モデルに認識対象を追加または削除することによって追加学習を行い、
前記管理手段は、前記認識対象に前記追加学習が行われた世代を表す世代番号を付与することによって、前記モデルの履歴を管理し、
前記認識手段は、前記モデルが含むデータの部分集合を前記世代番号に基づいて定め、前記部分集合を前記履歴に含まれるモデルとすることを特徴とする請求項１から８のいずれか１項に記載の情報処理装置。
【請求項１０】
前記モデルは最近傍モデルを含むことを特徴とする請求項１から９のいずれか１項に記載の情報処理装置。
【請求項１１】
情報処理装置が実行する情報処理方法であって、
モデルに基づいて、特徴を認識する認識工程と、
前記モデルの追加学習を行う学習工程と、
前記モデルの追加学習の履歴の情報を管理する管理工程と、
前記モデルの前記認識の精度を評価する評価工程と、
前記履歴の情報が管理されているモデルのなかから、前記認識の精度に基づいてモデルを選択する選択工程と、を有し、
前記認識工程は、前記選択工程で選択されたモデルを前記認識に用いることを特徴とする情報処理方法。
【請求項１２】
コンピュータを、請求項１から１０のいずれか１項に記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習型の認識における情報処理技術に関する。
【背景技術】
【０００２】
学習型の認識装置において、稼働時に得られたデータを追加学習することによって、設置された環境に固有のパターンにおける認識精度を高める、いわゆるドメイン適応の手法が知られている。
近年は追加学習の効果を高めるため、不適切な教師データが混入しないよう選別する方法が提案されている。例えば特許文献１には、入力データを教師データとして採用するかどうかを、それまでに収集した教師データが持つ形態素の構成に合致しているかどうかで判断する手法が提案されている。また、特許文献２には、追加学習データの評価値の推移に基づいて過学習かどうかを判定して、過学習の場合は学習しなおす手法が提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−１９８１８９号公報
【特許文献２】特開２０１０−２５７１４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、前述の特許文献に記載の手法は、教師データの選別や過学習時のやり直し等を行ったとしても、不適切な学習データの混入や過学習の発生を確実に防ぐことが困難である。特に長期間の運用がなされる場合において、不適切な追加学習による認識精度の低下が、一切生じないようにすることは現実的でない。また、このような認識精度の低下による影響は、すぐに顕在化するとは限らない。認識精度の低下は、誤認識あるいは未認識が問題となったことではじめて認知されることになる。そして、認識精度の低下による影響が表れた場合に、その認識精度の低下の原因が、どのような追加学習にあったのかを分析することは容易ではない。このため、認識精度が低下してしまう不適切な追加学習の影響を、適切に排除可能にすることが望まれる。
【０００５】
そこで、本発明は、認識精度を低下させる追加学習の影響を適切に排除可能とし、認識精度の低下を抑えることを目的とする。
【課題を解決するための手段】
【０００６】
本発明の情報処理装置は、モデルに基づいて、特徴を認識する認識手段と、前記モデルの追加学習を行う学習手段と、前記モデルの追加学習の履歴の情報を管理する管理手段と、前記モデルの前記認識の精度を評価する評価手段と、前記履歴の情報が管理されているモデルのなかから、前記認識の精度に基づいてモデルを選択する選択手段と、を有し、前記認識手段は、前記選択手段が選択したモデルを前記認識に用いることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、認識精度を低下させる追加学習の影響を適切に排除可能とし、認識精度の低下を抑えることが可能となる。
【図面の簡単な説明】
【０００８】
【図１】第１の実施形態における情報処理装置の構成例を示す図である。
【図２】表示部の表示画面の一例を示した図である。
【図３】第１の実施形態における情報処理のフローチャートである。
【図４】第１の実施形態の管理部が管理するデータの一例を示す図である。
【図５】評価部による評価セット作成処理のフローチャートである。
【図６】評価セットの一例を示す模式図である。
【図７】第１の実施形態の選択部による探索処理のフローチャートである。
【図８】選択部が作成する性能値の推移の一例を示す図である。
【図９】表示部が表示する選択画面の一例を示す図である。
【図１０】第２の実施形態における情報処理のフローチャートである。
【図１１】評価部における性能値計算処理のフローチャートである。
【図１２】第３の実施形態の管理部が管理するデータの一例を示す図である。
【図１３】第３の実施形態の選択部によるスコア計算処理のフローチャートである。
【図１４】第４の実施形態の管理部が管理するデータの一例を示す図である。
【図１５】第４の実施形態の選択部によるスコア計算処理のフローチャートである。
【発明を実施するための形態】
【０００９】
以下、添付の図面を参照して、本発明の実施形態について詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
＜第１の実施形態＞
図１は第１の実施形態に係る情報処理装置の概略的な構成例を示した図である。
本実施形態の情報処理装置は、撮影部１０１、特徴量算出部１０２、認識部１０３、学習部１０４、記憶部１０５、管理部１０６、評価部１０７、選択部１０８、表示部１０９、及び操作部１１０を有する。
【００１０】
撮影部１０１は、レンズ、撮像素子、レンズ駆動用モータ、および、撮像素子とレンズ駆動用モータを制御するＭＰＵ等を有して構成されたカメラ装置である。撮影部１０１は、例えば動画を撮影し、その動画のデータを出力する。
特徴量算出部１０２は、ＭＰＵ等によって構成されている。特徴量算出部１０２は、撮影部１０１が撮影した動画に含まれる画像から特徴量を算出する。
【００１１】
認識部１０３は、ＭＰＵ等によって構成されている。認識部１０３は、特徴量算出部１０２が算出した特徴量を基に、動画の画像内に出現した対象物体を認識する。詳細は後述するが、認識部１０３は、特徴量算出部１０２が算出した特徴量について、後述の選択部１０８によって選択された統計モデルを基に、画像内の対象物体の認識に用いる認識スコアを算出する。そして、認識部１０３は、撮影された動画内で認識した対象物体について、異常な動作を行った対象物体を認識する。なお、本実施形態の場合、認識部１０３は、対象物体として人物を認識し、更にそれら人物のなかで異常な行動をとった人物を認識する。
【００１２】
学習部１０４は、ＭＰＵ等によって構成されている。学習部１０４は、認識部１０３が用いるモデルに、教師データから特徴量算出部１０２が算出した特徴量を追加して再学習することにより、教師データの特徴を追加的に学習したモデルを作成する。
【００１３】
記憶部１０５は、ハードディスクなどの記録メディア、およびＭＰＵ等によって構成されている。記憶部１０５は、撮影部１０１が撮影した動画のデータ、特徴量算出部１０２が算出した特徴量、認識部１０３が認識を行った結果の情報、学習部１０４が作成したモデル、これらの関係を表現する情報、および作成時刻情報などのメタデータを保存する。なお、記憶部１０５は、記録メディアの代わりに、ＮＡＳ（Network Attached Storage）、ＳＡＮ（Storage Area Network）、クラウドサービスなどのネットワーク上のストレージを用いてもよい。
【００１４】
管理部１０６は、ＭＰＵ等によって構成されている。管理部１０６は、学習部１０４で作成されたモデル、モデルの作成日時、学習に用いた教師データ、および認識部１０３での使用状況などの各情報を合わせて記録し、学習されたモデルの履歴を管理する。管理部１０６が管理する情報の詳細は後述する。
評価部１０７は、ＭＰＵ等によって構成されている。評価部１０７は、指定されたモデルについて性能を評価する。性能評価の詳細は後述する。
選択部１０８は、ＭＰＵ等によって構成されている。選択部１０８は、管理部１０６によって管理されているモデルのなかから、評価部１０７の評価結果などに基づいて、認識部１０３が使用するモデルを選択する。モデル選択の詳細は後述する。
【００１５】
表示部１０９は、液晶画面とこれを制御するＭＰＵ等によって構成されている。表示部１０９は、利用者に様々な情報を提示する。また、表示部１０９は、利用者が指示を入力する際に用いられるユーザーインターフェース（ＵＩ）画面を作成して表示する。ＵＩ画面の詳細は後述する。
操作部１１０は、スイッチとタッチパネル等を有して構成されている。操作部１１０は、利用者による操作を感知して情報処理装置に入力する。なお、操作部１１０は、タッチパネルの代わりにマウスやトラックボールなど他のポインティングデバイスを有していてもよい。
【００１６】
なお、本実施形態では、撮影された動画から対象物体としての人物の異常行動を認識する装置を例に挙げて説明しているが、認識の対象はこれに限らない。認識の対象は、例えば、特定の人物、特定の車両、又は特定の車種などであってもよいし、イベントや時間帯などであってもよい。また認識の対象は、動画の他に、音声、文書、さらにはそれらの組み合わせでもよい。
【００１７】
図２（Ａ）〜図２（Ｄ）は、本実施形態における表示部１０９の動作および利用者の操作の一例の説明に用いる図である。図２（Ａ）の映像２０１、図２（Ｂ）の映像２０４、図２（Ｃ）の映像２０７、及び、図２（Ｄ）の映像２１１は、撮影部１０１で撮影した動画が表示部１０９の画面に表示された映像例を示している。
【００１８】
図２（Ａ）の映像２０１は通常可動時の動画の映像例を示している。撮影部１０１は監視カメラとして監視対象箇所に設置されている。表示部１０９は、その撮影部１０１が撮影している動画をライブ映像として表示している。利用者は、表示部１０９に表示されているライブ映像を見て、監視対象箇所に異常が発生していないかどうかを監視している。認識部１０３は、監視対象箇所に人物が出現した場合に、その出現した人物を認識して表示部１０９に通知する。表示部１０９は、その人物の映像に、所定のオブジェクト（例えば人物を内接する矩形オブジェクト）を重畳してライブ映像上に表示する。図２（Ａ）の映像２０１は、監視対象箇所の動画から認識された人物に対して矩形オブジェクト２０２，２０３が重畳表示された例を示している。
【００１９】
また表示部１０９は、映像２０１の画面上にタイムバー２０９を表示する。タイムバー２０９は、操作部１１０を介して利用者による操作が可能となされている。そして、タイムバー２０９は、記憶部１０５に記憶された動画の撮影時間と対応付けられている。例えば利用者は、ライブ映像について例えば過去に表示された映像を見たい場合などに、操作部１１０を介してタイムバー２０９を操作することにより、過去の映像の表示を指示することができる。表示部１０９は、操作部１１０からタイムバー２０９が操作されたことの通知を受けると、記憶部１０５から、タイムバー２０９の操作位置に応じた撮影時間の動画データを読み出して、その撮影時間の映像を画面上に表示する。
【００２０】
また認識部１０３は、前述したように監視対象箇所に出現した人物の認識処理に加え、その人物における異常な行動を認識する処理も行う。図２（Ｂ）の映像２０４は、人物の異常な行動の一例として、人物２０５が転倒した場合の映像例を示している。認識部１０３は、人物２０５が転倒した場合、通常の歩行とは異なる異常が発生したことを認識して表示部１０９に通知する。表示部１０９は、認識部１０３から人物２０５において異常が発生したことの通知を受けると、その人物２０５の近傍に、人物の行動に異常が発生したことを表す警報オブジェクト２０６を表示する。これにより、利用者は、異常が発生したことを認識可能となり、その異常の状態を確認して必要な措置（例えば転倒者の救護などの必要な措置）をとることが可能となる。なお、図２（Ｂ）の例では警報オブジェクト２０６を画面上に表示したが、警報は、画面上の表示によるものに限らず、例えば警報音の発生でもよいし、利用者や警備員の端末にメールやショートメッセージを送信するようなものでもよい。
【００２１】
認識部１０３は、前述したように人物の異常な行動を認識可能であるが、例えば、正常に歩行している人物について、異常な行動がとったと誤認識してしまう場合があり得る。図２（Ｃ）の映像２０７は、人物が正常に歩行しているのに、異常な行動が発生したと認識部１０３が誤認識したことにより、画面上に警報オブジェクト２０８が表示された例を示している。このときの利用者は、画面上の映像を見ることで、警報が誤った警報（つまり誤報）であるかどうかを判断することになる。
【００２２】
ここで、利用者によりタイムバー２０９が操作されて過去の撮影時間を選択する指示がなされた上で、さらに利用者によって警報オブジェクト２０８の表示箇所に対する選択指示がなされたとする。なお、警報オブジェクト２０８の表示箇所に対する利用者の選択指示は、一例として警報オブジェクト２０８の位置を例えばタップするような操作であるとする。これらの選択指示がなされた場合、認識部１０３は、警報オブジェクト２０８による警報が誤報であると利用者が判断したと認識して、表示部１０９に通知する。このときの表示部１０９は、画面上に警報取り消し用のダイアログボックス２１０を表示する。当該ダイアログボックス２１０には、例えば「取り消しますか？」のメッセージ、及び「ＯＫ」と「キャンセル」のボタンが含まれる。「ＯＫ」ボタンは、利用者が警報取り消しを指示する際にタップ等されるボタンである。「キャンセル」ボタンは、利用者が警報取り消しを指示しない場合にタップ等されるボタンである。そして、表示部１０９は、例えば「ＯＫ］のボタンを利用者が選択した旨の情報を操作部１１０から受け取ると、警報の取り消しを利用者が指示したと判断して、警報オブジェクト２０８を画面から消す。そして、管理部１０６は、取り消された誤報に関する情報を記憶部１０５に保存させる。なお、取り消された誤報に関する情報は、認識部１０３が異常な行動であると認識した人物の画像領域の特徴量、撮影時間、およびタイムバー２０９の操作で利用者により選択された過去の撮影時間の情報などを含む。詳細は後述するが、記憶部１０５に保存された誤報に関する情報は、評価部１０７がモデルの性能を評価する際に使用される。
【００２３】
また前述したような監視の運用が行われている間、情報処理装置の学習部１０４は、バックグランド処理として、認識部１０３による認識結果に対する追加学習を行う。学習部１０４は、前述のように映像中に出現した各人物に対して認識部１０３が行った認識結果、人物の撮影時間、人物の画像領域、および特徴量算出部１０２が取得した特徴量などの情報を、人物に関する情報として記憶部１０５に蓄積させる。さらに、学習部１０４は、例えば１日ごとに、記憶部１０５に蓄積した情報を教師データとして追加学習を行う。そして、認識部１０３は、その学習によるモデルを、監視対象箇所での人物の認識処理および異常行動の認識処理に用いる。これにより、認識部１０３における認識精度の向上が図られている。また、認識部１０３における認識精度が保たれている限り、利用者はそのことを意識する必要がなく、また表示部１０９には特に追加学習の情報が表示されることはない。
【００２４】
しかしながら、前述のような追加学習を行ったにもかかわらず、認識精度が向上しない場合や、逆に認識精度が低下してしまうことがあり得る。その原因として、例えば人物の行動が正常であるのに異常行動として誤認識されて誤報が発生し、その誤報を利用者が見逃してしまい、その後、当該誤報に係る認識結果を教師データとして追加学習が行われた場合が考えらえる。その他にも、例えば、監視対象箇所において普段と異なるイベント等が催された場合に、そのイベント時の人物の行動、つまり普段とは異なった行動に係る大量の教師データが追加学習された場合などが考えられる。このような学習結果による品質の低いモデルが認識処理に用いられると、認識部１０３は、例えば人物の異常行動が多数発生しているのに、それらを異常行動として認識せずに見逃してしまうことがある。そして、このように認識精度が低下してしまうと、情報処理装置による監視の運用が困難になる。したがって、認識精度が低下してしまう不適切な追加学習を、適切に除去可能にしてて認識精度の低下を抑えることが望まれる。本実施形態では、認識精度の低下が発生する前の状態に戻すことで、不適切な追加学習が行われる前の、認識精度が高い状態に戻すようにする。
【００２５】
このため、本実施形態の情報処理装置では、評価部１０７が、追加学習によるモデルについて性能評価を行うようになされている。評価部１０７は、当該モデルの性能評価の結果、そのモデルを用いた場合に認識機能の性能が低下することを検出した場合、その旨を表示部１０９に通知する。この通知を受けた表示部１０９は、認識機能の性能が低下したことを表す情報を表示する。これにより利用者は、認識機能の性能低下が生じたことを認識できる。
【００２６】
図２（Ｄ）の映像２１１は、認識機能の性能低下が検出された場合に表示部１０９が表示する映像例を示している。表示部１０９は、図２（Ｄ）に示すダイアログボックス２１２を映像２１１内に表示する。ダイアログボックス２１２は、利用者に提示するメッセージ、「ＯＫ」、「キャンセル」、および「詳細確認」のボタンを含む。利用者に提示されるメッセージは、認識機能の低下が生じたことを表すメッセージと、認識機能の低下が生じる前のモデルの状態に戻すかを問うメッセージとからなる。なお、認識機能の低下が生じる前のモデルは、例えば、認識機能の低下が生じた時点より前で且つ現時点から最も近い日時に記憶部１０５に保存されたモデルであることが望ましい。
【００２７】
ここで本実施形態において、学習部１０４が学習で作成して記憶部１０５に保存したモデルは、管理部１０６により管理されている。また本実施形態において、認識部１０３が認識処理で使用するモデルは、管理部１０６が管理しているモデルの中から選択部１０８によって選択される。評価部１０７により認識機能の性能低下が検出された場合、選択部１０８は、管理部１０６が管理しているモデルの中から、認識機能の低下が生じる前のモデルを、認識機能の低下が生じる前のモデルの状態に戻す際の差し戻し候補のモデルとして選択する。そして、選択部１０８は、その差し戻し候補のモデルを、表示部１０９に通知する。表示部１０９は、その差し戻し候補モデルが記憶部１０５に保存された日時を基に、図２（Ｄ）に示したような、認識機能の低下が生じる前のモデルの状態に戻すことを利用者に問うためのメッセージを生成して表示する。このようなダイアログボックス２１２が表示されることで、利用者は、モデルの劣化によって認識精度の低下が生じたことと、認識精度が低下する前の差し戻し候補の時点のモデルとを知ることができる。
【００２８】
そして、例えば利用者がダイアログボックス２１２の「ＯＫ」ボタンをタップ等したことの通知を操作部１１０から受け取ると、選択部１０８は、認識部１０３が用いるモデルとして、差し戻し候補モデルを選択する。これにより、認識部１０３では、差し戻し候補モデル、つまり認識精度が低下する前のモデルを用いた認識処理が行われることになる。また例えば、利用者が「キャンセル」ボタンをタップ等したことの通知を操作部１１０から受け取ると、選択部１０８は、認識部１０３が用いるモデルとして、現在のモデルを選択する。これにより、認識部１０３では、現在のモデルを用いた認識処理が行われることになる。また例えば、利用者が「詳細確認」ボタンをタップ等した場合、その通知は操作部１１０から表示部１０９に送られる。この時の表示部１０９は、記憶部１０５から、差し戻し候補モデルに関する詳細情報を表示する。詳細情報は、利用者が差し戻し候補モデルを選択するか否かを判断する際に必要な情報である。詳細情報は、例えば、差し戻し候補モデルが学習された際の日時情報、このモデルを用いて認識部１０３が認識処理を行った際の認識結果、および、このモデルの学習時に用いられた人物の画像とその画像領域の特徴量などを含んでいてもよい。
【００２９】
図３は、前述したような本実施形態の情報処理装置における情報処理の流れを示すフローチャートである。本実施形態の情報処理装置は、撮影部１０１から動画の１フレームが入力されるごとに、図３のフローチャートの処理を実行する。なお、図３のフローチャートによる処理対象のフレームは、撮影部１０１からの動画のフレームだけに限定されない。例えば、処理対象のフレームは、以前に取得等した個別の動画ファイルのフレームでもよいし、データベース又はビデオマネジメントシステム（ＶＭＳ）等に蓄積された動画ファイルから日時の範囲が指定されて取り出された動画のフレームでもよい。また例えば、カメラの映像ストリームを指定して、記憶部１０５に逐次記録された動画データのフレームでもよい。
【００３０】
まずステップＳ３０１において、特徴量算出部１０２は、撮影部１０１が現在撮影している動画のフレームから画像の特徴量を抽出する。特徴量算出部１０２は、フレームの画像から人物の領域を公知の人体検出の手法を用いて検出し、その人体の画像領域ごとにＨＯＧ（Ｈｉｓｔｏｇｒａｍ  Ｏｆ  Ｇｒａｄｉｅｎｔ）を計算して実数値ベクトルを得ることによって特徴量を取得する。なお、特徴量の抽出方法はこれに限るものではない。
【００３１】
次にステップＳ３０２において、認識部１０３は、ステップＳ３０１で人物ごとに取得された特徴量のそれぞれについて、選択部１０８によって選択されているモデルを用いた認識処理を行って認識スコアを取得する。本実施形態の場合、モデルは混合ガウス分布モデルを用いる。認識部１０３は、混合ガウス分布モデルにおける分布関数に特徴量の値を代入して得られる値を認識スコアとして取得する。例えば、認識部１０３は、モデルＭを用いた際の特徴量ｘの認識スコアＳ（ｘ；Ｍ）を以下の式（１）により算出する。
【００３２】
【数１】
2020204812.tif 000003
【００３３】
式（１）中のＫは混合数、Ｎ（ｘ；μ，σ）は平均μおよび分散共分散行列σの多変量ガウス分布（正規分布）でのｘの値、ωiはモデルＭのｉ番目の分布の重み、μiはモデルＭのｉ番目の分布の平均、σiはモデルＭのｉ番目の分布の分散共分散行列である。重みは正の実数値を取り、ω１からωＫの総計は１である。認識スコアの値域は［０，１］の範囲の実数値であり、１に近いほど正常を表し、０に近いほど異常を表す。なおこの例に限らず、モデルは、例えばニューラルネットワークモデルや最近傍モデルでもよい。最近傍モデルについては後述する第３の実施形態において説明する。
【００３４】
次にステップＳ３０３において、認識部１０３は、ステップＳ３０２で算出した認識スコアに基づいた処理を行う。認識部１０３は、認識スコアが所定の閾値よりも低い場合に人物の行動が異常行動であると判定する。そして、表示部１０９は、図２（Ｂ）の映像２０４に示したような警報オブジェクト２０６を表示する。
次に、ステップＳ３０４において、記憶部１０５は、ステップＳ３０１で抽出された特徴量の情報を保存する。
【００３５】
次にステップＳ３０５において、学習部１０４は、追加学習を実行する条件が満たされたかどうかを判定する。学習部１０４は、条件が満たされていると判定した場合にはステップＳ３０６に処理を進める。一方、ステップＳ３０５において、条件が満たされていないと判定した場合、情報処理装置は、図３のフローチャートの処理を終了する。本実施形態において、追加学習を実行する条件は、図３のフローチャートの処理が例えば当日の０時を過ぎて初めて実行されたかどうかである。すなわち追加学習は、当日の０時を過ぎて初めて図３のフローチャートの処理が実行されたという条件が満たされた場合に限って実行される。これにより、追加学習は、毎日１回ずつ、その日に得られた特徴量を用いて行われることになる。
【００３６】
追加学習を実行する条件は前述した条件に限らない。例えば、追加学習の実行条件としての期間は、１日ごとだけでなく、半日ごとであってもよいし、１週間ごとであってもよい。また追加学習の実行条件は、ステップＳ３０４で保存された特徴量が所定個数以上蓄積されたタイミングであってもよい。所定個数が例えば１０００個である場合、学習部１０４は、ステップＳ３０４で保存された特徴量が１０００個以上蓄積されたタイミングごとに追加学習を実行する。また追加学習の実行条件は、例えば特徴量が得られた時点であってもよい。この場合、学習部１０４は、特徴量が得られるたびに常に追加学習を実行する。また追加学習の実行条件は、利用者が指示したタイミングであってもよい。さらに追加学習の実行条件は、前述した各条件の二つ以上を組み合わせた条件であってもよい。
【００３７】
次にステップＳ３０６において、学習部１０４は、選択部１０８によって選択されているモデルについて、記憶部１０５に記憶された特徴量を用いて、ＥＭアルゴリズムによる追加学習を行う。
次にステップＳ３０７において、評価部１０７は、認識部１０３が認識する認識対象の集合を、性能評価に用いる評価セットとして作成して保持する。評価セットは、特徴量の集合、特徴量ごとの正解ラベル、および、その特徴量を重視する度合いである重みの情報を含む。評価セットの作成方法は後述する。
次にステップＳ３０８において、評価部１０７は、ステップＳ３０７において作成した評価セットに基づき、選択部１０８によって選択されているモデルが劣化しているかどうかを判定する。
このときの評価部１０７は、ステップＳ３０７で作成した評価セットに含まれる特徴量を認識部１０３で認識した時の認識スコアを、追加学習の前後のモデルでそれぞれ算出して、重み付き平均を取る。モデルＭの性能値Ｓ（Ｍ）は、以下の式（２）で算出する。
【００３８】
【数２】
2020204812.tif 000004
【００３９】
式（２）中のＴは評価セットの特徴量集合であり、＃ＴはＴの要素数である。ｗxは特徴量ｘの重みである。ｐxはｘの正解ラベルが正常ならば＋１、異常ならば−１である。すなわちモデルの性能値Ｓ（Ｍ）は、人物の行動が正常で高く、異常で低いスコアを算出するほど大きくなる。例えば、追加学習後のモデルの性能値が、追加学習前のモデルの性能値の０．９８倍未満であった場合、評価部１０７は、モデルが劣化したと判定し、そうでない場合は劣化していないと判定する。なお、本実施形態の場合、追加学習におけるぶれを吸収するために２％程度性能値が下がっても劣化としないこととしているが、これは１．００倍など他の数値でもよい。また、モデルの性能値は、追加学習の進行度合いに応じて変えてもよく、追加学習の履歴が少ない場合はより性能の向上が見込めるため１．０２倍とし、履歴が十分に蓄積した後は０．９８倍にするなどしてもよい。また、モデルの劣化判定は、これらの例に限らず、モデルの性能値の差によって行ってもよい。また、比較対象は、追加学習前のモデルの性能値ではなく、モデルの履歴で最大の性能値を示すモデルなどにしてもよい。
【００４０】
次にステップＳ３２０において、評価部１０７は、ステップＳ３０８での判定結果が劣化かそうでないかを判定し、劣化していると判定していた場合はステップＳ３０９に進み、そうでなければステップＳ３１３に進む。
ステップＳ３２０において劣化していなかったと判定された場合、ステップＳ３１３において、管理部１０６は、ステップＳ３０６で追加学習されたモデルをモデル履歴に追加する。そして次のステップＳ３１４において、選択部１０８は、ステップＳ３１３において追加されたモデルを現在のモデルとして選択する。このステップ３１４の後、情報処理装置は、図３のフローチャートの処理を終了する。
【００４１】
図４は、管理部１０６が管理するモデル履歴データの模式的に示した図である。
図４に示すように、モデル履歴データは、モデル情報レコードの列からなる。モデル情報レコードは、モデルＩＤ、モデルデータ、元モデルＩＤ、教師データ、および追加学習日時を含む。
モデルＩＤはモデル情報レコードを識別する通し番号である。
モデルデータは、図４では図示を省略しているが、認識部１０３が用いるモデルの本体であり、例えばバイナリやＸＭＬといった形式で格納される。
元モデルＩＤは、学習部１０４が追加学習を行う際に元となったモデルのモデルＩＤである。モデルＩＤは、出荷時に格納されたモデル、初期設定において作成されたモデルなど、元になったモデルがない場合には「なし」となる。
教師データは、学習部１０４が追加学習を行う際に用いられた教師データの情報である。教師データは、記憶部１０５に格納された特徴量であり、モデル情報レコードではファイル名やｉｎｏｄｅ番号などの参照情報の集合を持つ。元になったモデルがない場合、教師データは「なし」となる。
追加学習日時は、学習部１０４が追加学習を行った日時である。
【００４２】
選択部１０８は、これらのモデル情報レコードのうち１つを、認識部１０３が用いるモデルとして選択する。
なお、ステップＳ３０８において、追加学習したモデルが劣化していないと判定される限りにおいて、管理部１０６はモデル履歴に追加学習したモデルを追加し、選択部１０８は追加されたモデルを選択することを続けることになる。すなわち、最新の追加学習が行われたモデルが、認識部１０３において使用され続ける。
【００４３】
一方、ステップＳ３２０において、追加学習したモデルが劣化していると評価部１０７が判定してステップＳ３０９に進むと、選択部１０８は、管理部１０６が管理しているモデルの中から、差し戻し候補モデルを探索する。差し戻し候補モデルの探索方法は後述する。
【００４４】
次にステップＳ３１０において、表示部１０９は、ステップＳ３０８において探索した差し戻し候補モデルの情報を表示することで、利用者に確認を促す。このときの利用者は、表示された差し戻し候補モデルに戻すかどうかを判断し、その判断の結果を、操作部１１０を介して入力する。
【００４５】
次にステップＳ３１１において、選択部１０８は、ステップＳ３１０で提示した差し戻し候補モデルに戻すことの指示が利用者から入力されたかどうかを判定する。そして、差し戻し候補モデルに戻すことの指示が入力された場合、選択部１０８は、ステップＳ３１２において、その差し戻し候補モデルを、認識部１０３が使用するモデルとして選択する。
【００４６】
一方、ステップＳ３１１において差し戻し候補モデルに戻さないことの指示が利用者から入力された場合、本実施形態の情報処理装置は図３のフローチャートの処理を終了する。この場合、ステップＳ３０６で追加学習を行う以前に選択されていたモデルが、認識部１０３でそのまま使用される。そして、差し戻し候補モデルをそのまま使うことで、その差し戻し候補モデルが得られた時点の状態に戻ることが保証される。なお、差し戻し候補モデルをそのまま使うのではなく、差し戻し候補モデルに対して、差し戻しの指示が入力された時点以降に行われた追加学習をやり直すようにしてもよい。すなわち、差し戻し候補モデルに戻してそのまま使用する場合、モデル履歴をそのまま辿って先ほどステップＳ３０６で作られたモデルと同じになってしまう。このため、学習部１０４は、例えば特許文献１に記載の手法などを用いて教師データの再選別を行ってから追加学習をやり直す。これにより、差し戻しの指示が入力された時点以降に得られた教師データを活用することができることになる。追加学習をやり直すか、差し戻し候補モデルをそのまま使うかは、利用者の操作によって決めるようにしてもよい。
【００４７】
図５は、ステップＳ３０７において評価部１０７が性能評価に用いるための評価セットを作成する処理の流れを示すフローチャートである。
評価部１０７は、一般的な人物画像から作られた初期評価セットを出荷時に保持している。評価部１０７は、この初期評価セットを監視対象箇所へ適応させるために、運用時に得られた情報を用いて随時更新することによって、評価セットを作成する。
【００４８】
図６は、評価セットの一例を示した図である。図６に示すように、評価セットは、評価データレコードの列からなる。評価データレコードは、評価データＩＤ、特徴量、重み、正解ラベル、およびスコア履歴を含む。評価ＩＤは評価データレコードを識別する通し番号である。重みは、評価データとしての特徴量の重要度を示し、性能値Ｓ（Ｍ）の計算に用いる。正解ラベルは、特徴量が示す特徴の正解の情報であり、「正常」または「異常」を示す情報となされる。スコア履歴は、モデルＩＤとスコアの値のペアの列から成り、モデルＩＤに対応するモデルを用いて認識部１０３が特徴量を認識した際のスコアの記録を含む。スコア履歴の内容は後述する図７のステップＳ７０２において作られる。
【００４９】
図５のフローチャートのステップＳ５０１において、評価部１０７は、まず優先評価データを決定して取得する。優先評価データは、記憶部１０５に記憶された特徴量のうち、利用者が操作部１１０を用いて警報の取り消しを行ったことがある特徴量の集合である。これらの特徴量は、異常という誤報が発生した上で、利用者が直接正常であると判断して指示した特徴量であるから、利用者にとっての正常度が高く、かつ誤報が発生した経緯があることから間違えやすい特徴量であるため、重要な特徴量であると推定される。
【００５０】
次にステップＳ５０２において、評価部１０７は、優先評価データのいずれかに類似した特徴量を、記憶部１０５に含まれる特徴量から検索する。特徴量の類似度の算出方法は限定しないが、例えば内積を使用することができる。優先評価データの量は一般に少量であるから、評価の正確性を保つため、優先評価データに類似した性質のデータを追加することによって、評価セットが偏らないようにする。なお、評価部１０７は、特徴量の類似度を直接判断する代わりに、画像から類似性を判断してもよい。例えば、評価部１０７は、人体の姿勢を推定して、同じような姿勢を取っているかどうかを人体パーツの配置から判断してもよい。また、評価部１０７は、例えば、一般物体認識を行って同じカテゴリに属せば類似していると判断してもよい。
【００５１】
次にステップＳ５０３において、評価部１０７は、ステップＳ５０１とステップＳ５０２で得られた類似データを評価セットに追加する。また、優先評価データの重みは例えば１０など大きい値とし、類似データの重みは例えば２など優先評価データよりも低い値とする。なお、初期評価セットに含まれるデータの重みは例えば１などさらに低い値になされてもよい。
【００５２】
次にステップＳ５０４において、評価部１０７は、評価セットに含まれるデータから、類似したスコア履歴のデータを削減する。つまり、評価セットにデータを追加し続けるとデータ量が肥大化するため、評価部１０７は、スコア履歴の類似度を用いて重複性の高いデータの削減を行う。
【００５３】
ここで、モデル履歴の評価の過程で得られたスコア履歴の推移が類似している２つのデータは、異なるモデルにおいても似たようなスコア変化の挙動を示してきていることになる。したがって、これらのデータは、以降の追加学習で作られたモデルでも似たようなスコアを出し続けることが推定される。すなわち、これらのデータは、モデルの評価という目的においては重複性の強いデータであると考えられる。２つのスコア履歴の類似度は、例えば同一モデルＩＤのスコア間の差の絶対値についての２乗平均の値などとして定める。評価部１０７は、類似度が例えば０．０１以下であれば類似しているものとして片方を削除する。例えば評価部１０７は、重みが異なる場合は重みの小さい方を削除し、重みが同じ場合はランダムに決めた方を削除する。すなわち評価部１０７は、類似している少なくとも一つを用いる。なお、評価部１０７は、例えば評価セットが５００個以下など十分に小さい場合、あるいはモデル履歴が１０個以下など類似度を信頼できるほど履歴が蓄積していない場合などでは、ステップＳ５０４の削除処理を行わないようにしてもよい。
【００５４】
評価部１０７は、以上のようにして、評価セットを作成する。図３のステップＳ３０８における劣化の判定は、この評価セットに基づいて行われる。またステップＳ３０９における差し戻し候補モデルの探索処理は、この評価セットに基づいて行われる。
【００５５】
図７は、図３のステップＳ３０９において選択部１０８がモデル履歴から差し戻し候補のモデルを探索する処理の流れを示したフローチャートである。
まずステップＳ７０１において、選択部１０８は、ステップＳ３０７で作成した評価セットについて、モデル履歴に含まれるそれぞれのモデルを基に性能値Ｓ（Ｍ）を計算する。
次にステップＳ７０２において、評価部１０７は、ステップＳ７０１における性能値のＳ（Ｍ）の計算過程において計算された、それぞれの評価データについての認識スコアを、評価データレコードのスコア履歴に追加する。
【００５６】
次にステップＳ７０３において、選択部１０８は、ステップＳ７０１で計算した性能値の値から、性能値が極大となるモデルの候補を探索する。性能値が極大となるモデルは、モデル履歴の中で最も性能値の高いモデルＭmaxをまず探索する。次いで選択部１０８は、そのモデルＭmaxの性能値Ｓ（Ｍmax）との差が、所定の閾値より小さいモデルがあれば、それらも極大候補モデルとして選び出す。ただし、選択部１０８は、モデルＭmaxが最初のモデル、すなわち追加学習を一度も行っていない初期モデルだった場合、追加学習がまったく効果がなかったことになるため、極大モデルの候補がないものとして、初期モデルの再作成を促す。
【００５７】
図８（Ａ）〜図８（Ｃ）は性能値の推移の例を示した図である。
例えば図８（Ａ）に示すように、最も性能値の高いモデルＭmaxの性能値Ｓ（Ｍmax）が高く、それに近い性能値のモデルがモデル履歴にない場合、選択部１０８は、モデルＭmaxをそのまま選択する。
例えば図８（Ｂ）に示すように、モデルＭmaxの性能値Ｓ（Ｍmax）に近い性能値のモデルが、例えば点線８０４で示す枠内のように複数存在した場合にはモデルＭmaxを単純に選択することが有効であるとは自明には言えない。このため、表示部１０９は、性能値の推移の変化を利用者に提示する。
例えば図８（Ｃ）に示すように、モデルＭmaxが初期モデルである場合は、そもそも追加学習の効果が一切現れていない。この場合、初期モデルに何らかの異常がある可能性が考えられる。
【００５８】
図７のフローチャートの説明に戻り、ステップＳ７０４において、選択部１０８は、性能値が極大となる候補のモデルの数を判定する。選択部１０８は、性能値が極大となる候補のモデル数が１の場合には、ステップＳ７０５において、その極大のモデルを選択候補モデルとしてそのまま選んで処理を終了する。一方、選択部１０８は、性能値が極大となる候補のモデル数が０個、すなわちモデルＭmaxが初期モデルだった場合には、表示部１０９が実行するステップＳ７０６に処理を進める。また選択部１０８は、性能値が極大となる候補のモデルが複数あった場合には、表示部１０９が実行するステップ７０９に処理を進める。
【００５９】
ステップＳ７０６に進むと、表示部１０９は、利用者にモデルの再作成を促すためのダイアログを表示する。そして次のステップＳ７０７において、選択部１０８は、利用者が操作部１１０を介してモデルの再作成を指示したか、あるいは、初期モデルに差し戻すことを指示したかを判定する。選択部１０８は、利用者の指示を基にモデルの再作成が行われた場合にはステップ７０８の処理に進み、再生成が行われていない場合つまり初期モデルへの差し戻しが指示された場合にはステップＳ７０５の処理に進む。
【００６０】
選択部１０８は、ステップＳ７０７においてモデルの再作成が行われたと判定してステップＳ７０８に進むと、その再作成されたモデルを選択候補モデルとして処理を終了する。一方、選択部１０８は、再作成が行われず、初期モデルへ差し戻されてステップＳ７０５に進むと、極大のモデルＭmaxすなわち初期モデルを選択候補モデルとして処理を終了する。
【００６１】
またステップＳ７０４において、性能値が極大となる候補のモデルが複数あってステップＳ７０９に進むと、表示部１０９は、極大候補モデルからの選択画面を表示する。
次にステップＳ７１０において、選択部１０８は、ステップＳ７０９で表示された選択画面を介して利用者が選択した極大候補モデルを、選択候補モデルとして処理を終了する。
【００６２】
図９は、ステップＳ７０９において表示部１０９が表示する極大候補からの選択画面の例を示した図である。
図９の選択画面において、コンボボックス９０１は、極大候補モデルの作成日時を項目として有する。利用者は、コンボボックス９０１の作成日時の項目を選択することで、極大候補モデルから１つを選択することができる。サムネイルエリア９０２および９０３は、評価セットの中で、現在の認識部１０３で用いるように選択されているモデルでの認識結果と異なる評価データのサムネイル画像が表示されるエリアである。サムネイルエリア９０２は、現在のモデルでは異常となるが極大候補モデルでは正常となるデータのサムネイル画像が表示されるエリアである。一方、サムネイルエリア９０３は、現在のモデルでは正常となるが極大候補モデルでは異常となるデータのサムネイル画像が表示されるエリアである。サムネイルエリア９０２および９０３に表示されるサムネイル画像は、コンボボックス９０１の選択を利用者が操作部１１０を用いて切り替えることによって変化する。利用者はこれらを見て、どのように結果が変化するかを確認しながらより良いと考えられる極大候補モデルを選択することができる。ボタン９０４は、利用者がコンボボックス９０１から選択した作成日時の極大候補モデルを、さらに利用者が選択候補モデルとして決定する際にタップ等されるボタンである。このようにして選択された選択候補モデルは、ステップＳ３１０での利用者の確認を経て、差し戻し候補モデルとして以降の認識部１０３において用いられることになる。
【００６３】
第１の実施形態の情報処理装置は、以上説明したように、追加学習によって認識性能に低下が発生することが判明した時点で、以前の履歴から、精度が高かった時点の状態に差し戻すことができる。すなわち第１の実施形態の情報処理装置は、認識精度を低下させる追加学習を適切に除去可能となり、認識精度の低下を抑えることが可能となる。
【００６４】
＜第２の実施形態＞
第１の実施形態では、評価セットが作成され、それを使って差し戻し候補モデルが探索される例を説明した。ただし、評価セットをモデル履歴のモデルごとに全て評価する場合、計算量が多くなる可能性がある。
第２の実施形態では、通常運用時の認識結果を再利用してモデルの評価を行う方法を説明する。第２の実施形態の情報処理装置の構成は図１と同様であるため、その図示と説明は省略する。以下、第２の実施形態において、第１の実施形態に対して追加または変更された部分についてのみ説明し、第１の実施形態と共通する部分の説明は省略する。
【００６５】
図１０は、第２の実施形態の情報処理装置における処理の流れを示すフローチャートである。なお、前述した図３のフローチャートと同様の処理が行われるステップには、図３と同じ参照符号を付してそれらの説明は省略する。図１０のフローチャートの処理は、図３と同様に、撮影部１０１から動画の１フレームの画像データが入力されるごとに実行される。図１０のフローチャートの場合、図３のステップＳ３０７の処理が省かれている一方で、ステップＳ３０５とステップＳ３０６との間にステップＳ１００１の処理が加えられている。
【００６６】
第２の実施形態の情報処理装置は、ステップＳ３０５で追加学習を行う条件が満たされていると判定された場合、ステップＳ１００１の処理に進む。ステップＳ１００１に進むと、評価部１０７は、現在の認識部１０３で用いるモデルの性能値を、後述する図１１のフローチャートの処理を実行することにより算出する。ステップＳ１００１の処理後、情報処理装置の処理はステップＳ３０６に進み、当該ステップＳ３０６において前述同様に追加学習が行われる。そして、ステップＳ３０６の後、情報処理装置の処理は、ステップＳ３０８に進む。
【００６７】
第２の実施形態の場合、図３のステップＳ３０７の処理が省かれている。このため、次のステップＳ３０８において、評価部１０７は、第１の実施形態における初期評価セットを常に用いてモデルの劣化判定を行う。なお、第１の実施形態と同様にステップＳ３０７を設けて評価セットの更新が行われるようにしてもよいが、その場合、評価セットは本ステップでのみ用いられることになる。
【００６８】
図１１は、図１０のステップＳ１００１において、評価部１０７が現在の認識部１０３で用いているモデルＭの性能値Ｓ（Ｍ）を計算する処理の流れを示すフローチャートである。
まずステップＳ１１０１において、評価部１０７は、ステップＳ３０２で認識スコアを計算した特徴量を記憶部１０５から取得してクラスタリングを行う。ここで、クラスタリングは、認識対象の属性に基づいて特徴量を分類する処理が考えられる。例えば、認識対象が人物である場合、クラスタリングは、人物の属性として、例えば姿勢を検出し、歩いている、走っている、または座っているなどの姿勢カテゴリごとに特徴量を分類する処理が挙げられる。またクラスタリングは、人物の属性として、例えば人物の歩行方向、歩行速度、カメラからの距離、身長、年齢、性別、服装、所持品、または人物密度などの各カテゴリによって特徴量を分類する処理であってもよい。さらにクラスタリングは、それらの各属性のうち、例えば性別と服装、服装と所持品、年齢と性別と歩行速度など、二つ以上の関連性の高い属性の組合せによって特徴量を分類する処理でもよい。その他にも、クラスタリングは、事前知識なしで例えばｋ平均法などを用いて特徴量を分類する処理であってもよい。
【００６９】
次にステップＳ１１０２において、評価部１０７は、ステップＳ１１０１でクラスタリングを行ったクラスタから、重要クラスタを決定する。例えば、評価部１０７は、クラスタのサイズが最も大きいものを選択して重要クラスタに決定する。例えば、走っている人物のクラスタが大きい場合、その監視対象箇所は、走っている人物が多く出現する環境であると考えられる。この場合、重要クラスタの決定は、モデルの評価の基準として、走っている人物を対象として行われることが合理的であると推定される。また、評価に用いる重要クラスタの選び方はこれに限ったものではない。例えば、利用者が、事前知識に基づいて座っている人物が重要であると判断するような場合、評価部１０７は、座っている人物のクラスタから、重要クラスタを決定する。また重要クラスタは、異常が発生しやすいクラスタが選ばれてもよい。また、これらのクラスタが複数組み合わせされてもよい。
【００７０】
次にステップＳ１１０３において、評価部１０７は、ステップＳ１１０２で決定した重要クラスタと、そこに含まれる特徴量についてステップＳ３０２で計算された認識スコアとを用いて、性能値Ｓ（Ｍ）を計算する。性能値を計算する際の正解ラベルは、利用者が操作部１１０を用いて警報の取り消しを行ったことがある特徴量については正常とし、そうでないものは警報が発生したものは異常としそれ以外は正常とする。
【００７１】
次にステップＳ１１０４において、評価部１０７は、ステップＳ１１０３で計算した現在のモデルの性能値を、モデル履歴レコードに紐づけて記憶部１０５に記憶する。
第２の実施形態では、以上のようにして、現在の認識部１０３で用いるモデルの性能値が計算される。
【００７２】
本実施形態の情報処理装置の場合、ステップＳ１００１によってモデルの性能値が既に算出されている。このため、第２の実施形態の情報処理装置は、前述した図７のステップＳ７０１及びステップＳ７０２の処理を省いたフローチャートの処理を行う。すなわち第２の実施形態の場合、図７のステップＳ７０１及びステップＳ７０２の処理が省かれ、選択部１０８は、ステップＳ７０３からフローチャートの処理を開始し、このステップＳ７０３以降の処理を行う。
【００７３】
このように、第２の実施形態の情報処理装置は、評価セットを用いず、モデルの選択時には重要クラスタでの性能に基づいて選択候補モデルを決定する。重要クラスタを用いた性能の比較は、評価セットを用いるような同一データでの性能比較にはならないものの、クラスタリングによってある程度類似した性質のデータが集まっていると期待される。また重要クラスタの認識スコアは、通常運用時の認識結果であるステップＳ３０２で計算したものを用いる。このため、第２の実施形態の情報処理装置は、モデル選択の際に新たに認識部１０３で計算を行う必要がなく、計算量の制約が強い環境において有用である。
【００７４】
なお、第２の実施形態では第１の実施形態で用いていた評価セットをモデル選択において使用しない方法を説明したが、部分的に評価セットを用いる方法でもよい。例えば、情報処理装置は、小規模な評価セットによる性能値を別に求めて、重要クラスタによる性能値を組み合わせたり、評価セットの内容を重要クラスタに類似したものに制限したりするなどの方法でもよい。この場合、評価セットの計算量が軽減可能となる。
【００７５】
＜第３の実施形態＞
第１の実施形態では、モデルとして混合ガウス分布を例に挙げて説明した。第３の実施形態では、最近傍モデルを用いることによって、モデル履歴の保存容量および差し戻し候補モデルの探索の軽量化を可能とする例について説明する。第３の実施形態の情報処理装置の構成は図１と同様であるため、その図示と説明は省略する。以下、第３の実施形態において、第１の実施形態に対して追加または変更された部分についてのみ説明し、第１の実施形態と共通する部分の説明は省略する。なお、第３の実施形態で説明する手法は、前述した第２の実施形態についても適用可能である。
【００７６】
第３の実施形態の場合、モデルは特徴量空間の点の集合である。また第３の実施形態における認識スコアは、特徴量に最も近い点（最近傍）までの距離である。第３の実施形態の場合、モデルＭを用いた際の特徴量ｘの認識スコアＳ（ｘ；Ｍ）は、以下の式（３）により算出する。
【００７７】
【数３】
2020204812.tif 000005
【００７８】
ここで式（３）のＫはモデルの点の数、ｙiはモデルに含まれる点のベクトル値、ｄ（ｙ，ｘ）はｙとｘのユークリッド距離である。認識スコアは（０，１］の範囲の実数値を取り、大きいほど正常、小さいほど異常を表す。なお、ｄの値域は［０，∞）である。ここではスコアとして取り扱うため、ｄの値域は０から１の範囲を取るよう変形しているが、その方法はここで示したものに限らない。また、ｄの値域はユークリッド距離に限らず、マンハッタン距離やチェビシェフ距離など擬距離の公理を満たす関係ならばどのような値域であってもよい。また本実施形態の手法は、ＬＳＨ（Ｌｏｃａｌｌｙ−Ｓｅｎｓｉｔｉｖｅ  Ｈａｓｈｉｎｇ）などの手法を用いてハミング距離で近似する方法でも同様に用いることができる。また第３の実施形態の場合、モデルの点ごとに追加学習の世代番号が、メタデータとして合わせて保持される。初期モデルでは、モデルの点は、すべて世代番号０を持つ。また第３の実施形態において、図３に示したステップＳ３０６の追加学習は、正解ラベルが正常である特徴量の点を、モデルに追加することによって行う。世代番号は、ステップＳ３０６の実行ごとにインクリメントし、追加学習で追加された点にメタデータとして付与される。
【００７９】
第３の実施形態における管理部１０６は、モデル情報レコードにモデルデータを保持せず、代わりに世代番号を保持する。また、管理部１０６は、最新のモデルに対応する単一のモデルのモデルデータを持ち、他の履歴のモデルデータは最新モデルのモデルデータから再現する。
【００８０】
図１２は、第３の実施形態における管理部１０６の履歴管理方法を説明する図である。
図１２に示すように、管理部１０６が管理するモデル履歴データは、モデル情報レコード１２０１の列からなる。モデル情報レコード１２０１は、世代番号、元モデルＩＤ、教師データ、および追加学習日時を含む。つまり第３の実施形態におけるモデル履歴データは、図４に示したモデル履歴データのモデルデータを含まず、その代わりに、世代番号を含んでいる。
世代番号は、追加学習ごとにインクリメントされる番号である。ただし、世代番号は、履歴の削除や分岐などが発生すればモデルＩＤと必ずしも一致するとは限らない。
【００８１】
第３の実施形態の管理部１０６は、別途、最新モデルのモデルデータ１２０２を管理する。最新モデルのモデルデータ１２０２は、モデルの点を表現するベクトル値を含み、それらモデルの点を表現するベクトル値ごとに、メタデータとして世代番号が付与されている。なお図１２では、具体的なベクトル値は省略している。同一の世代番号を持つベクトル値の部分集合は、同じ世代番号で追加されたベクトル値の集合を成す。
【００８２】
管理部１０６は、例えば世代番号９９のモデルデータを得る場合、最新モデルのモデルデータから、世代番号が９９以下のベクトル値のみを抽出する。これにより、初期モデルから世代番号９９までの追加学習で追加されたベクトル値の集合、すなわち世代番号９９のモデルデータが得られる。図１２の例の場合、ＩＤが９５０１番目から１００００番目までのベクトル値が、世代番号が１００に対応した追加学習で追加された値である。このため、管理部１０６は、世代番号９９のモデルデータを得る場合、世代番号が１００となっているベクトル値を除いた、ＩＤが１番から９５００番までの各ベクトル値を取り出すことによって、世代番号９９のモデルを得る。
【００８３】
図１３は、第３の実施形態の情報処理装置が、モデルの性能値Ｓ（Ｍ）を計算する際の処理の流れを示したフローチャートである。第３の実施形態の場合、情報処理装置は、前述した図７のステップＳ７０１で説明したような、すべてのモデル履歴のモデルの性能値を計算する代わりに、図１３に示すフローチャートの処理を行うことで、モデルの性能値の計算効率を高める。以下、図１３のフローチャートを参照して、第３の実施形態の情報処理装置が、モデルの性能値を計算する方法について説明する。なお、以下の説明では、世代番号をｇとし、その世代番号ｇのモデルをＭgとする。
【００８４】
まずステップＳ１３０１において、選択部１０８は、管理部１０６から最新のモデルの世代番号を取得して、世代番号Ｇとする。
次にステップＳ１３０２において、選択部１０８は、管理部１０６から、世代番号ＧのモデルＭGを取得する。すなわち先に説明したように、選択部１０８は、管理部１０６から世代番号がＧ以下のベクトル値の集合を取得してモデルＭGとする。
次にステップＳ１３０３において、評価部１０７は、認識スコアＳ（ｘ；ＭG）を前述の計算式で計算する。また、評価部１０７は、その計算過程で求める最近傍ｙ、すなわちｄ（ｙ，ｘ）が最小となるモデルＭGの点ｙを記憶しておく。
【００８５】
次にステップＳ１３０４において、選択部１０８は、ステップＳ１３０３で求めた最近傍ｙの世代番号を取得し、世代番号Ｇ’とする。
次にステップＳ１３０５において、選択部１０８は、世代番号Ｇ’から世代番号Ｇまでのモデルにおけるｘの認識スコアを、ステップＳ１３０３で求めた認識スコアＳ（ｘ；ＭG）の値で記憶する。すなわち、世代番号ｇの認識スコアＳ（ｘ；Ｍg）は下記の式（４）の値となる。
【００８６】
Ｓ（ｘ；Ｍg）＝Ｓ（ｘ；ＭG）Ｇ’≦ｇ≦Ｇ        式（４）
【００８７】
最近傍ｙは世代番号Ｇ’の追加学習で追加されたベクトル値であり、それが世代番号Ｇのモデルでも依然として最近傍なのであるから、世代番号Ｇ’＋１から世代番号Ｇまでの追加学習において最近傍ｙよりもｘに近いベクトル値は追加されていない。したがって、世代番号Ｇ’から世代番号Ｇまでのモデルの最近傍はすべてｙであり、同じ値Ｓ（ｘ；ＭG）を取ることがわかる。
【００８８】
次にステップＳ１３０６において、選択部１０８は、世代番号Ｇ’＝０かどうかを判定する。選択部１０８は、世代番号Ｇ’＝０であるならば、初期モデルまでのすべてのモデルについて認識スコアが既に計算されたため図１３のフローチャートの処理を終了する。一方、選択部１０８は、世代番号Ｇ’＝０でない場合にはステップＳ１３０７に処理を進める。ステップＳ１３０７に進むと、選択部１０８は、世代番号ＧにＧ’−１を設定してからステップＳ１３０２の処理に戻り、世代番号Ｇ’−１より以前のモデルについて認識スコアを計算する。
【００８９】
第３の実施形態の情報処理装置は、以上のようにして、モデル履歴に含まれるモデルのそれぞれについて認識スコアＳ（ｘ；Ｍg）を計算することができる。第３の実施形態の情報処理装置は、ステップＳ１３０５において世代番号Ｇ’からＧ−１までのモデルの計算を省略できるため、前述した実施形態のようなモデル履歴のモデルそれぞれで逐次計算を行う場合よりも計算効率が高くなる。例えば、ステップＳ１３０５で常に世代番号Ｇ’＝Ｇとなる最近傍が選ばれ続けるようなワーストケースの場合でも、計算効率は、前述した逐次計算と同等である。
第３の実施形態の情報処理装置は、以上のような処理を行うことで、最近傍モデルを用いた際には、モデル履歴のデータサイズおよびモデル性能の計算の効率を高めることができる。
【００９０】
＜第４の実施形態＞
前述した第３の実施形態の場合、ステップＳ３０６の追加学習は、正解ラベルが正常である教師データをモデルに追加することによって最近傍となり得る正常データを増加させるようにしている。これに対し、第４の実施形態の情報処理装置は、正解ラベルが異常である教師データを用いて、モデルの正常データを削減することによって、教師データの近傍におけるスコアを下げるような追加学習を可能とする。第４の実施形態によるモデルは、未認識の異常について認識しやすくする方向に働く。以下、第４の実施形態において正常データを削減する追加学習を行う方法の追加について説明する。なお、第４の実施形態の情報処理装置の構成は図１と同様であるため、その図示と説明は省略する。以下、第４の実施形態において、前述した実施形態に対して追加または変更された部分についてのみ説明し、前述の実施形態と共通する部分の説明は省略する。
【００９１】
第４の実施形態の場合、ステップＳ３０６において、学習部１０４は、まず第３の実施形態と同様に正解ラベルが正常である特徴量の点をモデルに追加する。そして、学習部１０４は、正解ラベルが異常である特徴量が教師データにあれば、それぞれについて、モデルの点のベクトル値のそれぞれとの距離ｄを計算して、いずれかの距離が所定の閾値ｔよりも小さいモデルの点については削除する。すなわち、学習部１０４は、教師データを中心とした半径（閾値ｔ）の超球に含まれるモデルの点を削除する。
【００９２】
例えば、学習部１０４は、削除時の世代番号をモデルの点のメタデータとしてさらに付加することによって削除する。また、学習部１０４は、削除時の世代番号として付加する世代番号を、別の正解データの追加による追加学習の世代のさらに次の世代とするためインクリメントする。すなわち、同一の世代番号の追加学習の世代は、すべて追加か、すべて削除のいずれかとなる。
【００９３】
図１４は、第４の実施形態における管理部１０６の履歴管理方法を説明する図である。
管理部１０６が管理するモデル履歴データは、モデル情報レコード１２０１の列からなる。モデル情報レコード１２０１は、第３の実施形態で説明したものと同様である。モデルデータ１４０１は、モデルの点を表現するベクトル値ごとに、メタデータとして世代番号および削除時の世代番号が付与されている。なお、削除されていないベクトル値は、削除時の世代番号では「なし」となる。図１４の例の場合、ＩＤの２番目と４８９０番目のベクトル値が、世代番号１０１の追加学習（削除による）によって削除されたことになる。言い換えると、例えばＩＤが４８９０番目のベクトル値は、世代番号５５で追加され、世代番号１０１で削除されたデータである。すなわち、例えばＩＤが４８９０番目のベクトル値は、世代番号５５から世代番号１００までのモデルにおいて存在するベクトル値である。
本実施形態において、このモデルデータから、例えば世代番号９９のモデルデータを得るためには、世代番号が９９以下で、かつ削除時の世代番号が「なし」または世代番号が９９より大きいベクトル値のみを抽出すればよい。
【００９４】
図１５は、第４の実施形態の情報処理装置が、モデルの性能値Ｓ（Ｍ）を計算する際の処理の流れを示したフローチャートである。以下、図１５のフローチャートを参照して、第４の実施形態の情報処理装置が、評価セットのひとつの特徴量ｘについてモデル履歴に含まれるモデルＭgのすべてについて認識スコアＳ（ｘ；Ｍg）を計算する方法について説明する。以下の説明では、図１３に示したフローチャートとは異なる処理について説明する。
【００９５】
第４の実施形態の情報処理装置は、ステップＳ１３０４の次はステップＳ１５０１の処理に進む。前述した第３の実施形態の場合、ステップＳ１３０３で探索した最近傍ｙは、最近傍ｙの追加時である世代番号Ｇ’から世代番号Ｇまでずっと最近傍である。一方、第４の実施形態の場合、世代番号Ｇ’から世代番号Ｇまでに削除された点が最近傍ｙよりも近いかもしれないため、選択部１０８はその探索を行う。そして、ステップＳ１５０１において、選択部１０８は、世代番号ＨにＧ’を設定する。以降、世代番号Ｈは、ステップＳ１５０１からＳ１５０７までの一連の流れにおいて、世代番号Ｇ’から始まって世代番号Ｇまで増加する変数である。
【００９６】
次にステップＳ１５０２において、評価部１０７は、モデルＭHからｘの最近傍ｙよりも近い最近傍ｚ、すなわちｄ（ｚ，ｘ）＜ｄ（ｙ，ｘ）なる最近傍ｚのうちｄ（ｚ，ｘ）が最小のものを探索して記憶する。そして、評価部１０７は、そのような最近傍ｚが存在すれば認識スコアＳ（ｘ；ＭH）を前述の計算式で計算する。最近傍ｚはｙよりもｘに近いが、世代番号Ｇの時点では存在しない（ｚよりも遠いｙが最近傍であるから）ので、最近傍ｚは世代番号ＨからＧの間に削除された点である。逆に、最近傍ｚの候補はそのような点に限られるため、世代番号ＨからＧの間に削除された点、すなわち削除時世代番号がＨ以上Ｇ以下の点に限って距離を計算することで効率よく最近傍ｚを探索できる。
【００９７】
次にステップＳ１５０３において、選択部１０８は、ステップＳ１５０２の最近傍ｚが見つかったかどうかを判定する。選択部１０８は、最近傍ｚが見つからなかった場合にはステップＳ１５０４に処理を進める。
ここで、最近傍ｚが見つからなかった場合、世代番号Ｈから世代番号Ｇまでの間に削除されたデータでｙよりも近いものはなかったのだから、世代番号Ｈから世代番号Ｇまでの間の最近傍はすべてｙであることがわかる。このため、選択部１０８は、ステップＳ１５０４において、世代番号Ｈから世代番号Ｇまでのモデルにおけるｘの認識スコアを、ステップＳ１３０３で求めた認識スコアＳ（ｘ；ＭG）の値で記憶する。そして、選択部１０８は、ステップＳ１３０６の処理に進む。
【００９８】
一方、ステップＳ１５０３において最近傍ｚが見つかった場合、選択部１０８は、ステップＳ１５０５に処理を進める。ステップＳ１５０５に進むと、選択部１０８は、最近傍ｚの削除時の世代番号を取得し、それを世代番号Ｈ'とする。最近傍ｚは、世代番号Ｈから、削除される直前である世代番号Ｈ'−１までの間はすべて最近傍であることがわかる。
【００９９】
次にステップＳ１５０６において、選択部１０８は、世代番号Ｈから世代番号Ｈ’−１までのモデルにおけるｘの認識スコアを、ステップＳ１５０２で求めた認識スコアＳ（ｘ；ＭH）の値で記憶する。
次にステップＳ１５０７において、選択部１０８は、世代番号ＨにＨ’を設定してから、ステップＳ１５０２の処理に戻る。
【０１００】
第４の実施形態においては、以上の一連の処理によって、世代番号Ｇ’から世代番号Ｇまでのモデルについて、特徴量ｘの認識スコアがすべて決定される。これはステップＳ１３０５の効果と同様である。
第４の実施形態によれば、以上のようにして、第３の実施形態の処理に、削除による追加学習の処理を追加した上で、前述の第３の実施形態と同様に効率的な処理を行うことができる。
【０１０１】
＜その他の実施形態＞
本発明は、前述の各実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
前述の実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明は、その技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【０１０２】
１０１：撮影部、１０２：特徴量算出部、１０３：認識部、１０４：学習部、１０５：記憶部、１０６：管理部、１０７：評価部、１０８：選択部、１０９：表示部、１１０：操作部
【図１】
2020204812.tif 000006
【図２】
2020204812.tif 000007
【図３】
2020204812.tif 000008
【図４】
2020204812.tif 000009
【図５】
2020204812.tif 000010
【図６】
2020204812.tif 000011
【図７】
2020204812.tif 000012
【図８】
2020204812.tif 000013
【図９】
2020204812.tif 000014
【図１０】
2020204812.tif 000015
【図１１】
2020204812.tif 000016
【図１２】
2020204812.tif 000017
【図１３】
2020204812.tif 000018
【図１４】
2020204812.tif 000019
【図１５】
2020204812.tif 000020