JP2019106089A - 情報処理装置、情報処理方法、コンピュータプログラム - Google Patents

情報処理装置、情報処理方法、コンピュータプログラム Download PDF

Info

Publication number
JP2019106089A
JP2019106089A JP2017239300A JP2017239300A JP2019106089A JP 2019106089 A JP2019106089 A JP 2019106089A JP 2017239300 A JP2017239300 A JP 2017239300A JP 2017239300 A JP2017239300 A JP 2017239300A JP 2019106089 A JP2019106089 A JP 2019106089A
Authority
JP
Japan
Prior art keywords
data
learning
distribution
classifier
information processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2017239300A
Other languages
English (en)
Inventor
侑輝 斎藤
Yuki Saito
侑輝 斎藤
克彦 森
Katsuhiko Mori
克彦 森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2017239300A priority Critical patent/JP2019106089A/ja
Publication of JP2019106089A publication Critical patent/JP2019106089A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Image Analysis (AREA)

Abstract

【課題】追加学習時に学習データを用いないためデータ容量とデータ伝送とに関するコスト増大を低減することができる情報処理装置を提供する。【解決手段】あらかじめ学習された識別器を用いて判定の対象のデータである判定データを識別する情報処理装置は、識別器に基づいてデータの分布を推定する分布推定部62、推定されたデータの分布に基づいて生成データを生成するデータ生成部60を有する。情報処理装置は、判定データと生成データに基づいて識別器を更新する。【選択図】図1

Description

本発明は、映像画像等のデータ中の物体及びその状態等を識別する技術に関する。
映像画像等のデータ中の物体およびその状態を識別するために、学習データを用いて識別器を学習し、その識別器を用いて入力データを判定する装置や方法が知られている。さらに、判定した結果が誤っている場合に、判定時に用いた実データ(以降、判定データと称す)を追加学習することで識別器の精度を高めることが検討されている。
追加学習には大別して、判定データの追加学習時にあらかじめ識別器を学習したときに用いた学習データを用いない方法と、学習データを用いる方法とがある(オンライン学習として、例えば非特許文献1)。
学習データを用いない方法は、追加学習する判定データを基準として識別器を更新することで、判定データの分布が動的に変化する場合に対応することができる。
一方、学習データを用いる方法は、追加学習時にあらかじめ識別器を学習したときに用いた学習データも考慮することで、学習データに対する判定精度を保ちながら識別器の更新を行うことができる(例えば、特許文献1)。
Real-Time Tracking via On-line Boosting, H. Grabner, M. Grabner and H. Bischof, Proceedings of the British Machine Conference, pages 6.1-6.10. BMVA Press, September 2006
特開2005−309920号公報
しかしながら、追加学習時に学習データを用いない方法では、学習データを用いる場合と比較して追加学習によって学習データに対する判定精度が低下する場合がある。
また、追加学習時に学習データを用いる方法では、学習データを保存しておくためのデータ容量のコストと、追加学習時に記憶領域から学習データを伝送するコストとが必要になる、という問題がある。
本発明は、追加学習時に学習データを用いないためデータ容量とデータ伝送とに関するコスト増大を低減することができる情報処理装置を提供することを、主たる目的とする。
本発明の情報処理装置は、あらかじめ学習された識別器を用いて判定の対象のデータである判定データを識別する情報処理装置であって、前記識別器に基づいてデータの分布を推定する分布推定手段と、前記推定されたデータの分布に基づいてデータを生成するデータ生成手段と、前記判定データと、前記生成したデータとに基づいて前記識別器を更新する学習手段と、を有することを特徴とする。
本発明によれば、追加学習時に学習データを用いないためデータ容量とデータ伝送とに関するコスト増大を低減することができる。また、追加学習時に生成データを用いることで学習データの分布をも考慮し、学習データに対する識別精度の低下を抑制することができる。
第1実施形態に係る異常検知システムの構成の一例を示す概略ブロック図。 特徴空間上の学習特徴量の分布の一例を示すグラフ。 学習データに対して識別器の境界面を重畳した場合の分布の一例を示すグラフ。 識別装置の構成の一例を示す図。 端末装置の構成の一例を示す図。 データ生成装置、追加学習装置の構成の一例を示す図。 異常検出システムが行う確率分布の推定処理の一例を示すフローチャート。 識別器が確率分布を推定する際に特徴空間上でどのように動作するかを可視化した一例を示す図。 第2実施形態に係る異常検知システムの学習装置の構成の一例を示す図。 異常検知システムが行う二つの確率分布を比較する処理に関するフローチャート。 第3実施形態に係る異常検知システムの学習装置の構成の一例を示す図。 異常検知システムが行う識別器を評価するための処理の一例を示すフローチャート。
以下、本発明の実施形態について図面に基づいて説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載の構成の具体的な実施例の1つである。
[第1実施形態]
本発明を実施する一つの形態として、ここでは判定データを識別する際に用いる識別器からデータを生成し(以降、生成データと称す)、当該生成された生成データと判定データとを用いて追加学習を行う場合を例に挙げて説明する。
なお、本実施形態を具体的に示すために、本発明を適用した情報処理装置の一例として異常検知システムを構成した場合を例に挙げて説明する。
本実施形態に係る異常検知システムは、監視カメラによって撮像された映像中の異常を検出する機能を備えたシステムとする。また、異常検知システムにおいて用いられるデータは、「正常」クラスと「異常」クラスのいずれか一方に属し、それぞれ正常データおよび異常データと称することとする。
本実施形態に係る異常検知システムは、また、監視対象をカメラ等の撮像装置で撮影し、撮影した映像データに基づいて監視対象に異常があるか否かを判定する。異常がある場合は、警備室等の監視センタに常駐する監視者に警告する。この監視対象には、例えば、一般家庭の屋内及び屋外、又は病院、駅などの公共施設が含まれる。
図1は、本実施形態に係る異常検知システムの構成の一例を示す概略ブロック図である。
図1に示す異常検知システム1は、学習データ取得装置10、学習装置20、判定データ取得装置30、識別装置40、端末装置50、データ生成装置60、追加学習装置70、学習特徴量記憶部M1、識別器記憶部M2を有する。また、異常検知システム1の動作を統括的に制御するCPU(Central Processing Unit)100を有する。これら各機能部間の接続は、例えば電子回路を介して接続されていても、ネットワークを介して接続されていてもよい。このネットワークには、例えば、携帯電話回線網やインターネット網を適用することができる。
なお、異常検知システム1の動作は、学習フェーズ、識別フェーズ、追加学習フェーズを含む複数の動作がある。
学習フェーズでは、学習データ取得装置10、学習装置20が動作して識別器の学習を行う。判定フェーズでは、判定データ取得装置30、識別装置40、端末装置50が動作して判定データの識別および追加データの指定を行う。追加学習フェーズでは、データ生成装置60、追加学習装置70が動作して生成データ及び追加データを用いた追加学習を行う。以降では、各フェーズで動作する装置に関して順に説明する。
ここで、学習データ取得装置10の構成と動作について詳細に説明する。
学習データ取得装置10は、学習データ取得部11、学習特徴量抽出部12を有する。
学習データ取得部11は、学習に用いるための映像データを取得し、取得した映像データを学習特徴量抽出部12に送る。ここで取得する映像データは、異常検知システム1に接続されたカメラが撮像した監視映像である。
学習特徴量抽出部12は、学習データ取得部11から受け取った映像データから特徴量を抽出する。ここで、特徴量を抽出する方式はどのようなものでもよく、例えばオプティカルフローを用いることで動き特徴量を抽出することができる。
なお、オプティカルフローを抽出するためのアルゴリズムはどのようなものでもよく、例えば以下に示す文献2において提案されている方式を用いても良い。
J. Pers, et al., Histograms of optical flow for efficient representation of body motion, Pattern Recognition Letters, vol. 31, no. 11, pages 1369-1376, 2010・・・(文献2)
当然ながら、オプティカルフロー以外の特徴量や、異なる種類の特徴量を複数抽出して用いてもよい。オプティカルフロー以外の特徴量として、例えば画像特徴を用いる場合は、以下に示す文献3において提案されている方式を用いることができる。
D. G. Lowe, Object recognition from local scale-invariant features, In proceedings of international conference on computer vision (ICCV), pages 1150-1157, 1999・・・(文献3)
なお、本実施形態では、上記のように映像データから抽出した特徴量を学習に使用するが、例えば映像ではなく数値データなどの特徴量抽出が必要ないデータを用いる場合には当然ながら特徴量の抽出をしなくてもよい。
その場合は、異常検知システム1から特徴量を抽出する部分を除外し、代わりに特徴量抽出前のデータを特徴量と同様に扱うように構成してもよい。
以降の説明においては、抽出する特徴量は映像データの1フレームにつき1個得られるものとする。これは、本実施形態の説明を簡潔にするための例であって、必要であれば映像のフレームを領域分割し、分割後の領域ごとに特徴量を得るように構成してもよい。
学習特徴量抽出部12は、抽出した特徴量を学習特徴量記憶部M1に送り、学習特徴量記憶部M1は、受け取った特徴量を保存する。なお、以降では学習に用いる特徴量を学習特徴量と称す。
次に、学習装置20の構成と動作について詳細に説明する。
学習装置20は、学習特徴量読込部21、識別器学習部22、分布学習部23を有する。
学習特徴量読込部21は、学習特徴量記憶部M1から学習特徴量を読み込み、識別器学習部22に送る。
識別器学習部22は、学習特徴量読込部21から受け取った学習特徴量に基づいて識別器を学習する。ここで使用する識別器はどのようなものであってもよいが、基本的に問題設定によって用いるべき識別器は異なる。より具体的には、学習特徴量に異常の例が存在せず正常の例しか存在しない場合と、異常の例と正常の例の両方が存在する場合とで適切な識別器の種類が分かれる。
正常の例しか存在しない場合は、1−class識別器として以下に示す文献4、5において提案されているものを用いてもよい。
Locality Sensitive Outlier Detection: A Ranking Driven Approach, Ye Wang, et al., Data Engineering (ICDE), 2011 IEEE 27th International Conference on・・・(文献4)
Support vector novelty detection applied to jet engine vibration spectra, Hayton, P., Schoelkopf, B., Tarassenko, L. and Anuzis, P., Advances in Neural Information Processing Systems 13, (Ed) TK Leen and TG Dietterich and V Tresp, Advances in Neural Information Processing Systems, MIT Press, Cambridge, MA, USA, 946-952, ISBN: 0-262-12241-3, 14th Annual Neural Information Processing Systems Conference・・・(文献5)
また、異常の例が存在する場合は、2−class識別器として以下に示す文献6、7において提案されているものを用いてもよい。この場合は、異常の例と正常の例とを区別するためのラベルを付与する必要がある。また、その他の例としてニューラルネットワークを識別器として用いてもよい。
なお、以降では特に断りのない限り、説明を簡単にするため1−class識別器を用いるものとする。
Isolation forest, Fei Tony Liu, Kai Ming Ting, and Zhi-Hua Zhou, Data Mining, 2008. ICDM '08. Eighth IEEE International Conference on・・・(文献6)
SVMs Modeling for Highly Imbalanced Classification, Liu, F.T., et al., Data Mining, 2008. ICDM '08. Eighth IEEE International Conference on・・・(文献7)
分布学習部23は、学習特徴量の特徴空間上における分布情報を取得する。ここで学習特徴量の分布情報とは、特徴空間上のある区間において、学習特徴量の点が何個存在するかということを意味するものとする。
なお、区間とは、識別器学習部22で学習した識別器が定義する境界面によって区分けされた範囲である。つまり分布学習部23は、識別器の境界面によって区分される範囲に含まれる学習特徴量のサンプル数を集計する処理を行う。
図2は、特徴空間上の学習特徴量の分布の一例を示すグラフである。
図2中に示す学習データF21は、学習特徴量のサンプルを示しており、複数のサンプルが分布している様子を示している。
なお、説明を簡単にするため、図2に示した特徴空間は2次元の特徴空間を示しているものとする。
図3は、学習データF21に対して識別器の境界面を重畳した場合の分布の一例を示すグラフである。
なお、ここで示す識別器は、様々な識別器が存在しうる中から代表例として複数の線形識別器(例えば、ハッシュ関数)を用いたものとする。
図3に示す線分F31は、複数の識別器の境界面が特徴空間を分割する例を示しており、それぞれの線分が一つ一つの識別器の境界面を示している。
分布学習部23は、前述した識別器の境界面の組み合わせによって区分される範囲のうち、どの範囲に含まれるかによって学習データF21を分別する。このとき、分別された学習データF21の数をカウントすることで、該当する範囲の学習データ数を計上することができる。このように、分布学習部23は識別器の境界面の組み合わせによって区分される範囲に含まれる学習データの数を集計する。
分布学習部23は、識別器と、識別器の境界面によって集計された学習データ数からなる分布情報とを識別器情報として識別器記憶部に送る。識別器記憶部は、分布学習部23から受け取った識別器情報を保存する。
次に、判定データ取得装置30の構成と動作について詳細に説明する。
判定データ取得装置30は、判定データ取得部31、判定特徴量抽出部32を有する。
判定データ取得部31は、監視対象を撮像した映像を取得し、判定特徴量抽出部32に送る。この時点では、撮像された映像データ(入力データ)は異常を示しているか否かは判明していない。
ここで、判定データ取得部31から判定特徴量抽出部32に送られる映像データの時間長は、毎フレーム順次送られるものとする。なおこれは一例であって、例えば5分に一度だけ映像データを送るように構成してもよい。
判定特徴量抽出部32は、判定データ取得部31から受け取った映像データから特徴量を抽出し、抽出結果を識別装置40に送る。ここで抽出する特徴量の種類は、学習特徴量抽出部12で用いた特徴抽出手法と同様のものを用いる。なお、以降では判定に用いる特徴量を判定特徴量と称す。
次に、識別装置40の構成と動作について図11を用いて詳細に説明する。
図4は、識別装置40の構成の一例を示す図である。
図4に示す識別装置40は、識別情報取得部41、識別部42を有する。
識別情報取得部41は、識別器記憶部M2から識別器情報を受け取り、識別部42に送る。
識別部42は、判定特徴量抽出部32からは判定特徴量を受け取り、識別情報取得部41からは識別器情報を受け取る。識別部42は、判定特徴量が異常であるか否かについて識別器を用いて判定し、その結果を端末装置50に送る。この際、どのような方法で識別処理がなされるかは識別器の種類に依存しており、詳細な説明は各文献の内容に譲るものとする。
次に、端末装置50の構成と動作について図12に基づいて詳細に説明する。
図5は、端末装置50の構成の一例を示す図である。
図5に示す端末装置50は、監視ユーザが利用するコンピュータ装置であり、識別装置40から例えばネットワークを介して供給される表示情報を提供する。
端末装置50は、表示部51、追加データ指定部52を有する。端末装置50は、例えばPC(Personal Computer)やタブレットPC、スマートフォン、フューチャーフォン等である。具体的には、識別装置40が識別結果を出力したことに応じて、端末装置50は識別結果を取得する。そして、端末装置50は、取得した識別結果を表示部51に出力する。このとき、識別結果が異常を指している場合、例えば表示部51は異常音を鳴らして警告するように構成することができる。
追加データ指定部52は、追加学習する判定データ(以降、追加データと称す)を特定する処理を行う。例えば、異常検出システム1が異常を見逃した場合や誤検出を発生させた場合、このような誤識別結果をユーザがシステムにフィードバックすることで同様の誤識別を抑制することが考えられる。
なお、追加データを特定する手段はどのようなものであってもよいが、例えば表示部51に撮像された映像に対して、ユーザが追加データのラベルを振ることで追加データを特定することが考えられる。ここで得られた追加データから抽出された特徴量が追加学習装置70に送られる(以降、追加データから抽出された特徴量を追加特徴量と称す)。
次に、データ生成装置60の構成と動作について図6を参照して説明する。
図6は、データ生成装置60、追加学習装置70の構成の一例を示す図である。
図6に示すデータ生成装置60は、識別器情報取得部61、分布推定部62、サンプリング部63を有する。
識別器情報取得部61は、識別器記憶部M2から識別器情報を受け取り、分布推定部62に送る。
分布推定部62は、受け取った識別器情報に含まれる分布情報を用いて、特徴空間上における学習特徴量の確率分布を推定する。確率分布の推定方法の具体的な一例として、複数の線形識別器を学習に利用した場合のフローチャートを図7に示す。この場合、複数の線形識別器の組み合わせに基づいた識別対象の空間上での区分ごとに前記データの数を数えることでデータの分布を推定することになる。
以下、図7を参照して一連の処理の説明を行う。
図7は、異常検出システム1が行う確率分布の推定処理の一例を示すフローチャートである。なお、図7に示す各処理は、主として分布推定部62を介してCPU100により実行される。
CPU100は、特徴空間上に均一に並ぶ格子点を生成する(S501)。ここで、格子点の具体的な例を図8を用いて説明する。
図8は、識別器が確率分布を推定する際に特徴空間上でどのように動作するかを可視化した一例を示す図である。
図8に示すF61は、特徴空間上で均等かつ密に分布する格子点の模式図である。ここで、格子の幅はどのようなものであってもよいが、例えば特徴空間の各次元を1000等分する幅を用いてもよい。
図7の説明に戻り、CPU100は、識別器を用いて格子点を識別する(S502)。格子点は特徴空間上に分布するため特徴量を有している。ここでは、複数の線形識別器を用いてすべての格子点を識別する。
図8に示すF62は、識別器の具体的な一例であり、ここでは特徴空間上に識別器の境界面が描かれていることが見て取れる。
CPU100は、識別結果に基づいて格子点へ学習特徴量の分布情報を反映する(S503、図8参照)。ここで用いる分布情報は、識別器の境界面によって区分される範囲に含まれる特徴量のサンプル数である。つまり、それぞれの格子点に対して、学習特徴量のサンプル数が割り当てられる。
CPU100は、格子点に割り当てられたサンプル数を規格化する(S504)。ここで規格化された格子点は、一次元に並べ替える単純な操作を行うことで、ヒストグラム上に分布する確率分布として扱うことができる。
図8に示すF63は、規格化された格子点の一例であり、色の濃度が確率分布の高さを表している。
CPU100は、推定した確率分布をサンプリング部63に送る。
サンプリング部63は、分布推定部62で推定した確率分布に基づいて特徴量を生成する(以降、生成特徴量と称す)。また、サンプリング部63は、生成特徴量を追加学習装置70に送る。ここで用いる確率分布は学習特徴量の分布から推定されたものであるため、得られた生成特徴量は近似的な学習特徴量であると考えられる。
なお、特徴量を生成する方法はどのようなサンプリング方法でもよいが、例えばヒストグラム確率分布からサンプルを生成する一般的な方法を用いてもよい。また、以降では生成する特徴量の数は学習特徴量の数と同じものとする。
なお、上記の例では格子点を利用して密に確率分布を推定し,それに基づいてサンプリングを行う場合について説明を行った。その他の方法として、ランダムネスを利用してサンプリングを行ってもよい。
例えば分布推定部62は、上述した特徴空間上において、任意の数の点(例えば100個の点)を一様分布からサンプリングするとする。さらに、格子点を利用する場合と同様に、生成した点を上述した識別器によって識別し、各点に対する重みづけを与える。この重みは、格子点を利用する場合と同様に、識別器の分布情報によって与えられる。このようにすることで、各点の重みに対して学習データの分布を反映することになる。分布推定部62は、上記の生成した点を重みとともにサンプリング部63に送る。
サンプリング部63は、各点の重みに基づいて、生成した点を任意の数選択する。これによって、直接分布を推定することなく、識別器の分布情報に基づいてサンプルを生成することができる。
次に、追加学習装置70の構成と動作について詳細に説明する。
図6に示すように、追加学習装置70は、識別器更新部71、識別器保存部72を有する。
識別器更新部71は、サンプリング部63から追加特徴量を受け取り、識別器に反映させる処理を行う。ここで識別器に反映させる処理がどのようなものであるかは用いる識別器に依存している。
例えば、以下に示す文献8において提案されている識別器を用いる場合、識別器記憶部M2に存在する識別器と、新たにランダムに生成した線形識別器とを評価することで良い識別器だけを選択することができる。ここで評価には生成特徴量および追加特徴量を用いる。
NSH: Normality Sensitive Hashing for Anomaly Detection, Hachiya, H., Masakazu M., Computer Vision Workshops (ICCVW), 2013 IEEE International Conference on・・・(文献8)
また、例えば識別器の更新に勾配法を利用する場合は、生成特徴量および追加特徴量を用いて勾配を計算し、その結果に基づいて識別器を更新してもよい。識別器更新部71は、更新した識別器を識別器情報として識別器保存部72に送る。
識別器保存部72は、識別器更新部71から受け取った識別器情報を、識別器記憶部M2に保存する処理を行う。
なお、上記の例では確率分布として分布の推定およびサンプリングを行う場合について示したが、確率分布を用いなくともよい。例えば、ランダムに生成した点に対する重みを正規化せずに、重み付きの点として用いて、そこからサンプリングを行ってもよい。その場合、例えばもっとも重みが大きい順から点を選択する方法をとってもよいし、その他の公知な方法を用いてもよい。
また、上記の例では識別器の例として線形識別器を用いる場合を例示したが、非線形な識別器を用いてもよい。
また、上記の例では単一の特徴空間を用いる場合について示したが、複数の特徴空間においてもサンプルを生成してもよい。例えばニューラルネットワークを用いて、各層に関してサンプルを生成してもよい。
このように本実施形態に係る情報処理装置(異常検知システム1)では、学習データそのものではなく、近似的に生成した生成データを追加学習時に用いることができる。これにより、学習データを保存しておくためのデータ容量、学習データを伝送するための帯域を使用するコストなどを低減することができる。
[第2実施形態]
第1実施形態では、識別器を用いて学習特徴量を近似的に生成する例を示した。本実施形態では、識別器が十分に学習特徴量の分布を近似できているか否かをさらにチェックし、十分に近似できていない場合には識別器を更新するように構成する場合について説明する。
異常検知システムを本実施形態のように構成した場合、学習特徴量の分布をより高精度に近似可能になり、生成データが学習データにより近づくことで、追加学習を精度良く行うことができると考えられる。
なお、第1実施形態で説明した機能構成と同じものは、同一の符号を付すと共にその説明を省略する。
図9は、本実施形態に係る異常検知システムの学習装置20aの構成の一例を示す図である。
図9に示す学習装置20aは、学習特徴量読込部21、識別器学習部22、分布学習部23、近似能力チェック部24aを有する。
なお、学習装置20aにおける近似能力チェック部24a以外の機能部については、第1実施形態の機能部と同様の機能部であるためその説明を省略する。
近似能力チェック部24aは、識別器学習部22で取得した識別器が分布学習部23において学習特徴量の分布を十分精度良く近似できているか否かを判定する。
具体的には、学習特徴量が従う確率分布と、識別器を用いて学習した学習特徴量の確率分布とを比較し、二つの分布の違い(差異)を定量化(導出)した後に定量化された値が閾値を超えるか否かを判定する。
図10は、異常検知システムが行う二つの確率分布を比較する処理に関するフローチャートである。なお、図10に示す処理は、主として近似能力チェック部24aを介してCPU100により実行される。
CPU100は、特徴空間上に均一に並ぶ格子点を生成する(S501)。
CPU100は、識別器記憶部M2から識別器情報を読み込む(S801)。
CPU100は、識別器を用いて格子点を識別する(S502)。格子点は特徴空間上に分布するため特徴量を有している。ここでは、複数の線形識別器を用いてすべての格子点を識別する。
CPU100は、識別結果に基づいて格子点へ学習特徴量の分布情報を反映する(S503)。ここで用いる分布情報は、識別器の境界面によって区分される範囲に含まれる特徴量のサンプル数である。つまり、それぞれの格子点に対して、学習特徴量のサンプル数が割り当てられる。
CPU100は、格子点に割り当てられたサンプル数を規格化する(S504)。この一連の処理により、識別器が近似する確率分布を求めることができる。
CPU100は、学習特徴量記憶部M1から学習特徴量を読み込む(S802)。
CPU100は、学習特徴量の特徴空間上での座標と、格子点の座標とを比較し、学習特徴量を最近傍の格子点に振り分ける(S803)。
CPU100は、振り分けられた特徴量が何個存在するかを各格子点においてカウントする(S804)。
CPU100は、学習特徴量の総数を用いて、各格子点のカウント値を割った値を算出することで規格化する(S805)。これにより、格子点は確率分布を表現することになる。
CPU100は、ステップS504の処理とステップS805の処理において取得した二つの確率分布を比較して違いを定量化する(S806)。
なお、二つの確率分布の違いを定量化する方法はどのようなものでもよいが、本実施形態では一つの例として、カルバック・ライブラー・ダイバージェンス(以降、KLDと称す)を求める。KLDは二つの確率分布間の擬距離を算出することができるものであり、以下に示す式(1)で求めることができる。
ここで、式(1)のDKLはKLDの値であり、PとQは比較する対象の確率分布、iは特徴空間上の格子点を指定するインデクスである。DKLは二つの確率分布が同じになる場合に最小値0をとり、二つの確率分布が異なるほど単純に増加する。
なお、DKLはPとQを交換した場合に同じ値になるとは限らないため、純粋に距離を算出したい場合は、例えばイェンセン・シャノン・ダイバージェンスを用いてもよい。
CPU100は、近似能力チェック部24aを介して、DKLの値が閾値を超えたと判別した場合には識別器学習部22に処理ステップを戻して学習をやり直す指示を行う。ここで用いる閾値は、実験に基づいて経験的に決める必要がある。
なお、識別器学習部22で用いる識別器の学習手法によっては、何度学習を実行しても学習結果が変わらない場合がある。例えば、バッチ学習を利用した勾配法は学習結果が常に同じになる特徴がある。そのような場合は、確率によって学習結果が変動する確率的勾配法などの学習手法にあらかじめ変更するか、学習時のパラメータを学習ごとにランダムに微調整することで解決してもよい。
CPU100は、近似能力チェック部24aを介して、DKLの値が閾値を超えない場合に学習した識別器を識別器記憶部M2に保存する。
また、前述した文献4、文献8のように学習時に識別器をランダムに生成する場合は、学習をやり直すたびに識別器を新たに追加してもよい。なお、上記の学習の繰り返しによって識別器の数が必要以上に多くなった場合は、例えば文献8に記載されている方法で識別器の一部を削除してもよい。
このように、本実施形態に係る情報処理装置(異常検知システム)では、学習特徴量の従う確率分布と識別器が近似する確率分布とを比較し、近似性能が低い場合に再学習を行うことで近似性能を高めることが可能になる。これにより、近似された分布から生成されたデータに基づいて追加学習を行う際に、学習データに対する識別精度を高精度に保つことができる。
[第3実施形態]
第1実施形態では、識別器を用いて学習特徴量を近似的に生成する例を示した。本実施形態では、学習特徴量の分布を精度良く近似するように識別器の学習を行うように構成した場合について説明する。
異常検知システムを本実施形態のように構成した場合、近似された分布から生成されるデータが学習データに近くなることで、精度良く追加学習を行うことができると考えられる。
なお、第1、第2実施形態で説明した機能構成と同じものは、同一の符号を付すと共にその説明を省略する。
図11は、本実施形態に係る異常検知システムの学習装置20bの構成の一例を示す図である。
図11に示す学習装置20bは、学習特徴量読込部21、識別器学習部22b、分布学習部23を有する。
なお、学習装置20bにおける識別器学習部22b以外の機能部については、第1実施形態の機能部と同様の機能部であるためその説明を省略する。
識別器学習部22bは、学習特徴量の分布を精度よく近似するように識別器の学習を行う。以降の説明では、識別器の学習に関する実施形態の一つの例として複数の線形識別器をランダムに生成し、生成した識別器を評価および選択することで学習を行う場合を例に挙げて説明する。
なお、ランダムに線形識別器を生成する方法としては、例えば前述した文献4に提案されている方法が挙げられる。以下、複数の線形識別器を文献4の方法によってランダムに生成した後の処理として、生成した識別器を評価し、評価結果に基づいて識別器を選択する例について説明する。
図12は、異常検知システムが行う識別器を評価するための処理の一例を示すフローチャートである。なお、図12に示す処理は、主としてCPU100により実行される。
図12に示す各処理によって、ランダムに生成された複数の識別器のうち、学習特徴量の近傍を通る識別器の評価値が高くなる。評価値に基づいて識別器が選別され、学習特徴量の近傍を通る識別器が選択されることで、結果的に学習特徴量の分布をより細かく近似できるようになる。
CPU100は、特徴空間上に均一に並ぶ格子点を生成する(S501)。
CPU100は、学習特徴量記憶部M1から学習特徴量を読み込む(S802)。
CPU100は、学習特徴量の特徴空間上での座標と、格子点の座標とを比較し、学習特徴量を最近傍の格子点に振り分ける(S803)。
CPU100は、振り分けられた特徴量が何個存在するかを各格子点においてカウントする(S804)。
CPU100は、学習特徴量の総数を用いて、各格子点のカウント値を割った値を算出することで規格化する(S805)。これにより、格子点は確率分布を表現することになる。
CPU100は、識別器記憶部M2から識別器情報を読み込む(S801)。
CPU100は、各識別器が近傍を通る格子点の判定を行う(S1001)。ここでは、それぞれの線形識別器が、どの格子点の近傍を通るかを判定する。ここで、近傍の定義はどのようなものでもよいが、例えば線形識別器から格子点に下ろした垂線の長さが閾値を超えるか否かを基準としてもよい。また、閾値はどのようなものであってもよいが、例えば格子点間の幅の半分の値を閾値としてもよい。
CPU100は、各識別器が近傍を通る格子点に基づいて識別器を評価する(S1002)。ここで、評価基準としてどのようなものを用いてもよいが、例えば識別器が近傍を通るすべての格子点の確率値の総和や、近傍を通る格子点の数を用いることができる。
CPU100は、識別器学習部22bを介して、これらの処理により求められた評価値に基づいて識別器の選択を行う。ここで、選択する識別器の数はどのような数でもよいが、例えば生成した識別器の1/10を選択することや、識別時にリアルタイムで処理可能な識別器の上限数を選択することが考えられる。
このように本実施形態に係る情報処理装置(異常検知システム)では、学習特徴量の分布を近似しやすいように識別器の学習を行うことで、近似された分布から生成されるデータが学習データに近くなり、精度良く追加学習を行うことができる。
本発明は、上述の実施形態の1以上の機能を実現するコンピュータプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがコンピュータプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
上記説明した実施形態は、本発明をより具体的に説明するためのものであり、本発明の範囲が、これらの例に限定されるものではない。

Claims (10)

  1. あらかじめ学習された識別器を用いて判定の対象のデータである判定データを識別する情報処理装置であって、
    前記識別器に基づいてデータの分布を推定する分布推定手段と、
    前記推定されたデータの分布に基づいてデータを生成するデータ生成手段と、
    前記判定データと、前記生成したデータとに基づいて前記識別器を更新する学習手段と、を有することを特徴とする、
    情報処理装置。
  2. 前記識別器は、複数の線形識別器として構成されることを特徴とする、
    請求項1に記載の情報処理装置。
  3. 前記複数の線形識別器は、ハッシュ関数で構成されることを特徴とする、
    請求項2に記載の情報処理装置。
  4. 前記識別器に基づいて推定するデータの分布は、当該識別器を学習する時に用いたデータの確率分布であることを特徴とする、
    請求項1乃至3のいずれか一項に記載の情報処理装置。
  5. 前記分布推定手段は、前記複数の線形識別器の組み合わせに基づいた識別対象の空間上での区分ごとに前記データの数を数えることで前記データの分布を推定することを特徴とする、
    請求項2乃至4のいずれか一項に記載の情報処理装置。
  6. 前記識別対象の空間上での区分は、前記識別対象の空間上における前記複数の線形識別器の境界の組み合わせがなす区分であることを特徴とする、
    請求項5に記載の情報処理装置。
  7. 前記データが従う分布と、前記識別器に基づいて推定した前記データの分布とを比較してその差異を導出する近似能力チェック手段を有し、
    前記学習手段は、前記導出された差異の大きさに基づいて前記識別器を更新することを特徴とする、
    請求項1乃至6のいずれか一項に記載の情報処理装置。
  8. 前記複数の線形識別器は、学習データの近傍を通るか否かによって選別されることを特徴とする、
    請求項2乃至7のいずれか一項に記載の情報処理装置。
  9. あらかじめ学習された識別器を用いて判定の対象のデータである判定データを識別する情報処理方法であって、
    前記識別器に基づいてデータの分布を推定する工程と、
    前記推定されたデータの分布に基づいてデータを生成する工程と、
    前記判定データと、前記生成したデータとに基づいて前記識別器を更新する工程と、を有することを特徴とする、
    情報処理方法。
  10. コンピュータを、あらかじめ学習された識別器を用いて判定の対象のデータである判定データを識別する情報処理装置として動作させるためのコンピュータプログラムであって、
    前記コンピュータを、
    前記識別器に基づいてデータの分布を推定する分布推定手段、
    前記推定されたデータの分布に基づいてデータを生成するデータ生成手段、
    前記判定データと、前記生成したデータとに基づいて前記識別器を更新する学習手段、として機能させることを特徴とする、
    コンピュータプログラム。
JP2017239300A 2017-12-14 2017-12-14 情報処理装置、情報処理方法、コンピュータプログラム Pending JP2019106089A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017239300A JP2019106089A (ja) 2017-12-14 2017-12-14 情報処理装置、情報処理方法、コンピュータプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017239300A JP2019106089A (ja) 2017-12-14 2017-12-14 情報処理装置、情報処理方法、コンピュータプログラム

Publications (1)

Publication Number Publication Date
JP2019106089A true JP2019106089A (ja) 2019-06-27

Family

ID=67062037

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017239300A Pending JP2019106089A (ja) 2017-12-14 2017-12-14 情報処理装置、情報処理方法、コンピュータプログラム

Country Status (1)

Country Link
JP (1) JP2019106089A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7481902B2 (ja) 2020-05-21 2024-05-13 株式会社日立製作所 管理計算機、管理プログラム、及び管理方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7481902B2 (ja) 2020-05-21 2024-05-13 株式会社日立製作所 管理計算機、管理プログラム、及び管理方法

Similar Documents

Publication Publication Date Title
JP2023145558A (ja) 外観検索のシステムおよび方法
EP3333768A1 (en) Method and apparatus for detecting target
Kumar et al. Gender classification using machine learning with multi-feature method
KR101410489B1 (ko) 얼굴 식별 방법 및 그 장치
JP6921694B2 (ja) 監視システム
CN108491794B (zh) 面部识别的方法和装置
US8938092B2 (en) Image processing system, image capture apparatus, image processing apparatus, control method therefor, and program
US10353954B2 (en) Information processing apparatus, method of controlling the same, and storage medium
EP4035070B1 (en) Method and server for facilitating improved training of a supervised machine learning process
JP2019062527A (ja) エッジ演算を用いる多カメラシステムでのリアルタイムの対象再識別
JP6565600B2 (ja) アテンション検出装置及びアテンション検出方法
US10762133B2 (en) Information processing apparatus, method of controlling the same, and storage medium
JP6789601B2 (ja) 所定画像領域をマスクした撮影映像を学習映像として選択する学習映像選択装置、プログラム及び方法
JP5936561B2 (ja) 画像における外観及びコンテキストに基づく物体分類
WO2020195732A1 (ja) 画像処理装置、画像処理方法、およびプログラムが格納された記録媒体
JP2015187759A (ja) 画像検索装置、画像検索方法
US10296782B2 (en) Processing device and method for face detection
KR102195940B1 (ko) 적응적 비최대억제 방법을 이용하는 딥러닝기반 영상객체 탐지를 위한 장치 및 방법
KR20200136034A (ko) 이미지 처리 방법, 장치, 단말 기기, 서버 및 시스템
CA3104668A1 (en) Computer vision systems and methods for automatically detecting, classifing, and pricing objects captured in images or videos
JP6103765B2 (ja) 行動認識装置、方法及びプログラム並びに認識器構築装置
CN109711287B (zh) 人脸采集方法及相关产品
CN110795980A (zh) 基于网络视频的逃犯识别方法、设备、存储介质及装置
JP2019106089A (ja) 情報処理装置、情報処理方法、コンピュータプログラム
KR101521136B1 (ko) 얼굴 인식 방법 및 얼굴 인식 장치