JP2019194758A - 情報処理装置、情報処理方法、およびプログラム - Google Patents
情報処理装置、情報処理方法、およびプログラム Download PDFInfo
- Publication number
- JP2019194758A JP2019194758A JP2018088217A JP2018088217A JP2019194758A JP 2019194758 A JP2019194758 A JP 2019194758A JP 2018088217 A JP2018088217 A JP 2018088217A JP 2018088217 A JP2018088217 A JP 2018088217A JP 2019194758 A JP2019194758 A JP 2019194758A
- Authority
- JP
- Japan
- Prior art keywords
- recognition
- tracking
- unit
- information processing
- recognition target
- 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
Links
Landscapes
- Image Analysis (AREA)
Abstract
【課題】 映像中の認識対象の追尾性能が低下する場合であっても、当該認識対象の追尾結果に基づく当該認識対象の認識処理の精度の低下と計算コストの増加の双方を抑制する。【解決手段】 認識装置10は、複数の追尾パタンについて追尾スコアを算出し、追尾スコアに基づいて複数の追尾パタンの一部を選択する。認識装置10は、追尾スコアに基づいて選択された追尾パタンの正常スコアに基づいて、複数の追尾パタンの一部を選択し、選択した追尾パタンを用いて次のタイミングの追尾パタンを生成する。【選択図】 図1
Description
本発明は、情報処理装置、情報処理方法、およびプログラムに関し、特に、画像の認識を行うために用いて好適なものである。
学習データを用いて学習済みの認識器に映像データを入力し、当該認識器が映像中の物体および当該物体の状態を判定して出力する技術が知られている。このような技術として、撮像された映像中の人物を自動的に検出し、当該人物が存在すると推定される領域の映像情報を入力として認識器の出力を得る技術がある。特許文献1には、撮像された映像中の人物の時系列的な追尾結果を用いて、複数フレームにまたがる当該人物の基本動作情報を得る技術が開示されている。
局所色情報を用いた高速物体探索: アクティブ探索法, 村瀬洋, et. al., 電子情報通信学会論文誌, D-II, 情報・システム, II-情報処理, Vol. J81-D-2, No.9, pp. 2035-2042, 1998
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
Histograms of Oriented Gradients for Human Detection, N. Dalal, et. al., 2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition, 2005
Support vector data description, David M. J. Tax, et. al., Machine Learning, 54(1), pp. 45-66, 2004
ImageNet Classification with Deep Convolutional Neural Networks, Alex Krizhevsky, Ilya Sutskever, Geoffrey E. Hinton, Advances in Neural Information Processing Systems 25 (NIPS), 2012
Dynamic Bayesian Network : Representation, Inference and Learning. K. P. Murphy, PhD thesis, UC Berkeley, 2002
Scene Segmentation for Behaviour Correlation, J. Li, S. Gong, T. Xiang, In Proceedings of European Conference on Computer Vision (ECCV), Marseille, France, 2008.
Two-Stream Convolutional Networks for Action Recognition in Videos, K. Simonyan, A. Zisserman, NIPS 2014
しかしながら、特許文献1に記載の技術では、映像中の認識対象の追尾性能が低下する場合に、当該認識対象の追尾結果に基づく当該認識対象の認識処理の精度の低下の抑制と、計算コストの増加の抑制とを両立することが容易ではない。
本発明は、以上の問題点に鑑みてなされたものであり、映像中の認識対象の追尾性能が低下する場合であっても、当該認識対象の追尾結果に基づく当該認識対象の認識処理の精度の低下と計算コストの増加の双方を抑制できるようにすることを目的とする。
本発明は、以上の問題点に鑑みてなされたものであり、映像中の認識対象の追尾性能が低下する場合であっても、当該認識対象の追尾結果に基づく当該認識対象の認識処理の精度の低下と計算コストの増加の双方を抑制できるようにすることを目的とする。
本発明の情報処理装置は、認識対象を含む画像から、前記認識対象が存在すると推定される領域を抽出する抽出手段と、同一の前記認識対象について異なる時刻の画像から前記抽出手段により抽出された前記領域の組み合わせによる複数のパタンを、当該認識対象に対するパタンとして生成する生成手段と、同一の前記認識対象に対する複数の前記パタンを用いて当該認識対象の認識を行う認識手段と、前記認識対象の認識を行うために必要な少なくとも1つの処理において使用される前記パタンとして、前記生成手段により生成された複数の前記パタンの一部を選択する選択手段と、を有することを特徴とする。
本発明によれば、映像中の認識対象の追尾性能が低下する場合であっても、当該認識対象の追尾結果に基づく当該認識対象の認識処理の精度の低下と計算コストの増加の双方を抑制することができる。
以下、本発明の実施形態について図面に基づいて説明する。
(第1の実施形態)
まず、第1の実施形態を説明する。本実施形態では、追尾スコアを用いて認識処理に用いる追尾パタンを選択すると共に認識スコアを用いて追尾処理に用いる追尾パタンを選択する。このようにすることにより、計算コストの増加を抑制しつつ、認識対象の認識結果の精度の低下を抑制する。また、本実施形態では、認識器が、映像中の各フレームにおいて、フレーム間で独立に認識スコアを出力することができる場合について例示する。具体的に本実施形態では、認識器が識別器である場合について例示する。また、本実施形態では、複数の追尾パタンから追尾パタンを選択する際に、追尾スコアと、認識スコアとを別々に用いて、それぞれ別々に追尾パタンを選択する場合について例示する。尚、ここで述べた認識スコア、追尾スコア、追尾パタン等といった用語の定義については後述する。
(第1の実施形態)
まず、第1の実施形態を説明する。本実施形態では、追尾スコアを用いて認識処理に用いる追尾パタンを選択すると共に認識スコアを用いて追尾処理に用いる追尾パタンを選択する。このようにすることにより、計算コストの増加を抑制しつつ、認識対象の認識結果の精度の低下を抑制する。また、本実施形態では、認識器が、映像中の各フレームにおいて、フレーム間で独立に認識スコアを出力することができる場合について例示する。具体的に本実施形態では、認識器が識別器である場合について例示する。また、本実施形態では、複数の追尾パタンから追尾パタンを選択する際に、追尾スコアと、認識スコアとを別々に用いて、それぞれ別々に追尾パタンを選択する場合について例示する。尚、ここで述べた認識スコア、追尾スコア、追尾パタン等といった用語の定義については後述する。
また、本実施形態では、映像中の認識対象を認識するために構築されるシステムが異常検知システムである場合を例示する。具体的に本実施形態では、異常検知システムとして、監視カメラによって撮像された映像中の異常を検出する機能を備えたシステムを例示する。また、本実施形態では、認識対象であるオブジェクトが人物等の物体である場合を例示する。
本実施形態の異常検知システムによって、同一の物体に対する複数の追尾パタンに基づいて当該物体を認識し、当該認識の結果に基づいて監視対象の異常を検知することが可能である。これにより、誤りを含む追尾パタンが存在する場合においても、監視対象の異常の見逃しを低減することができる。また、本実施形態の異常検知システムでは、認識スコアに基づいて、作成する追尾パタンの数が削減される。従って、物体の認識処理に用いる追尾パタンの数が低減され、監視対象の異常の検知に関わる処理時間の増大を低減することが可能である。ここで、認識スコアとは、認識対象の認識の結果に対する評価指標を数値化したものの一例である。また、追尾パタンとは、同一の認識対象(例えば人物)に対する追尾結果を意味する。追尾パタンのより具体的な説明は後述する。また、複数の追尾パタンは、同一の認識対象に対する複数の異なる追尾結果を意味するものとする。また、本実施形態では、認識スコアが正常スコアである場合を例示する。以降では認識スコアに関する説明を、正常スコアに関する説明として行う。正常スコアの詳細については後述する。
本実施形態における異常検知システムは、監視対象をカメラ等の撮像装置で撮影し、撮影した映像データに基づいて、監視対象に異常があるか否かを判定する。異常検知システムは、監視対象に異常がある場合、警備室等の監視センタに常駐する監視者に警告する。この監視対象には、例えば、一般家庭の屋内および屋外や、病院・駅などの公共施設が含まれる。
図1は、本実施形態に係る異常検知システムの構成の一例を示すブロック図である。
図1に例示するように、異常検知システム1は、認識装置10と、端末装置20と、を備える。これらの装置内および装置間は、電子回路を介して接続されていても、外部記憶装置を介して接続されていても、ネットワークを介して接続されていてもよい。このネットワークには、例えば携帯電話回線網やインターネットが適用できる。
図1に例示するように、異常検知システム1は、認識装置10と、端末装置20と、を備える。これらの装置内および装置間は、電子回路を介して接続されていても、外部記憶装置を介して接続されていても、ネットワークを介して接続されていてもよい。このネットワークには、例えば携帯電話回線網やインターネットが適用できる。
図2は、異常検知システム1の動作の概略の一例を示すフローチャートである。
ステップS201において、認識装置10は、映像データを入力データとして認識処理を行う等、各種の情報処理を行う。本実施形態における認識処理には、入力データに異常が含まれているか否かに関する異常検知処理が含まれる。
次に、ステップS202において、端末装置20は、ステップS201における認識処理の結果に基づいて表示処理および警告処理を行う。
ステップS201において、認識装置10は、映像データを入力データとして認識処理を行う等、各種の情報処理を行う。本実施形態における認識処理には、入力データに異常が含まれているか否かに関する異常検知処理が含まれる。
次に、ステップS202において、端末装置20は、ステップS201における認識処理の結果に基づいて表示処理および警告処理を行う。
尚、本実施形態では、異常検知システム1の動作の例を簡単に説明するために、認識処理と表示処理とを1回ずつ行った後、異常検知システム1の動作を終了する場合を例示する。このような場合、認識処理が完了するまで、表示処理が行われない動作となる。ただし、ステップS201とステップS202とを交互に繰り返して応答性を向上することや、ステップS201とステップS202とを並列に動作させることで全体の処理時間を低減させてもよい。
以上では、異常検知システム1の全体の構成を説明し、その動作が認識処理と表示処理とに分かれることを説明した。以下に、各装置(認識装置10および端末装置20)の構成の一例と、その動作の一例について説明する。
まず、図1に基づいて各装置(認識装置10および端末装置20)の構成の一例を説明する。
認識装置10は、映像データ読込部11と、物体検出部12と、追尾部13と、認識部14と、を備える。
端末装置20は、表示部21を備える。端末装置20として、例えば、PC(Personal Computer)のディスプレイやタブレットPC、スマートフォン、フューチャーフォン等を適用することができる。
認識装置10は、映像データ読込部11と、物体検出部12と、追尾部13と、認識部14と、を備える。
端末装置20は、表示部21を備える。端末装置20として、例えば、PC(Personal Computer)のディスプレイやタブレットPC、スマートフォン、フューチャーフォン等を適用することができる。
次に、各装置(認識装置10および端末装置20)の動作に関して説明する。まず、各装置の動作の大まかな内容と処理の流れの順番を説明する。各装置を構成する各処理部の詳細な構成・動作の一例に関しては、各処理部の説明をする際に改めて説明する。
図3は、認識装置10の動作の概要の一例を示すフローチャートである。
ステップS301において、映像データ読込部11は、物体検出処理と、追尾処理と、認識処理とを行うためのデータとして、監視対象の撮像画像を含む映像データを読み込み、物体検出部12に送る。かかる撮像画像は、動画像であっても、静止画像であってもよい。
次に、ステップS302において、物体検出部12は、物体検出処理を行う。物体検出処理では、ステップS301で読み込まれた映像データに含まれる物体の検出が行われる。物体検出処理の詳細については後述する。
次に、ステップS303において、追尾部13は、物体検出処理の結果に基づいて、追尾処理を行う。追尾処理の詳細については後述する。追尾スコア算出部132は、追尾処理で得られた追尾スコアを、追尾スコアベース追尾パタン選択部133に送る。
ステップS301において、映像データ読込部11は、物体検出処理と、追尾処理と、認識処理とを行うためのデータとして、監視対象の撮像画像を含む映像データを読み込み、物体検出部12に送る。かかる撮像画像は、動画像であっても、静止画像であってもよい。
次に、ステップS302において、物体検出部12は、物体検出処理を行う。物体検出処理では、ステップS301で読み込まれた映像データに含まれる物体の検出が行われる。物体検出処理の詳細については後述する。
次に、ステップS303において、追尾部13は、物体検出処理の結果に基づいて、追尾処理を行う。追尾処理の詳細については後述する。追尾スコア算出部132は、追尾処理で得られた追尾スコアを、追尾スコアベース追尾パタン選択部133に送る。
次に、ステップS304において、追尾スコアベース追尾パタン選択部133は、追尾スコアベース追尾パタン選択処理を行う。追尾スコアベース追尾パタン選択処理では、追尾スコア算出部132から受け取った追尾スコアに基づいて、追尾パタンが選択される。追尾スコアベース追尾パタン選択処理の詳細については後述する。追尾スコアベース追尾パタン選択部133は、ここで選択した追尾パタンを、認識部14に送る。
次に、ステップS305において、認識部14は、ステップS304で選択された追尾パタンに基づいて、認識処理を行う。認識処理では、各追尾パタンに対する正常スコアが算出される。認識処理の詳細については後述する。
次に、ステップS306において、認識部14は、認識処理を更に続けるか否かを判定する。この判定の処理の詳細については後述する。この判定の結果、認識処理を更に続ける場合、処理は、ステップS308に移る。この際、認識部14は、ステップS305で算出した正常スコアを、正常スコアベース追尾パタン選択部134に送る。一方、認識処理を終了する場合、処理は、ステップS307に移る。
次に、ステップS306において、認識部14は、認識処理を更に続けるか否かを判定する。この判定の処理の詳細については後述する。この判定の結果、認識処理を更に続ける場合、処理は、ステップS308に移る。この際、認識部14は、ステップS305で算出した正常スコアを、正常スコアベース追尾パタン選択部134に送る。一方、認識処理を終了する場合、処理は、ステップS307に移る。
処理がステップS307に移ると、認識部14は、認識処理の結果を端末装置20に送信する。本実施形態において、認識処理の結果とは、ステップS301で読み込まれた映像データにおいて、監視対象に異常があるか否かを示す情報を含むものとする。認識処理の結果の具体例については後述する。
また、処理がステップS308に移ると、正常スコアベース追尾パタン選択部134は、正常スコアベース追尾パタン選択処理を行う。正常スコアベース追尾パタン選択処理では、正常スコアに基づいて、(直前の認識処理で使用した)追尾パタンの一部が選択される。正常スコアベース追尾パタン選択部134は、ここで選択した追尾パタンを、追尾パタン生成部131に送る。そして、処理は、ステップS303に移る。そして、追尾パタン生成部131は、正常スコアベース追尾パタン選択部134から受け取った追尾パタンと、最新の物体検出処理の結果(最新の物体位置候補情報)とに基づいて新たな追尾パタンを生成する。以降の処理は繰り返し処理になるため詳細な説明を省略する。
また、処理がステップS308に移ると、正常スコアベース追尾パタン選択部134は、正常スコアベース追尾パタン選択処理を行う。正常スコアベース追尾パタン選択処理では、正常スコアに基づいて、(直前の認識処理で使用した)追尾パタンの一部が選択される。正常スコアベース追尾パタン選択部134は、ここで選択した追尾パタンを、追尾パタン生成部131に送る。そして、処理は、ステップS303に移る。そして、追尾パタン生成部131は、正常スコアベース追尾パタン選択部134から受け取った追尾パタンと、最新の物体検出処理の結果(最新の物体位置候補情報)とに基づいて新たな追尾パタンを生成する。以降の処理は繰り返し処理になるため詳細な説明を省略する。
次に、端末装置20の動作の概要の一例を説明する。
ステップS307において監視対象が異常であることを示す認識処理の結果が送られると、端末装置20は、それを受け取り、警告処理を行う。このとき、端末装置20は、端末装置20の備える機能に応じて、どのような警告処理を行ってもよい。例えば、端末装置20にサイレンが備わっている場合、端末装置20は、点滅と共に警告音を鳴らすことにより警告を行うことができる。端末装置20に映像確認用のディスプレイが備わっている場合、端末装置20は、監視対象の映像中の異常な領域等を強調表示することができる。このとき、異常な領域として、物体検出部12で得られる物体の領域を利用してもよい。
ステップS307において監視対象が異常であることを示す認識処理の結果が送られると、端末装置20は、それを受け取り、警告処理を行う。このとき、端末装置20は、端末装置20の備える機能に応じて、どのような警告処理を行ってもよい。例えば、端末装置20にサイレンが備わっている場合、端末装置20は、点滅と共に警告音を鳴らすことにより警告を行うことができる。端末装置20に映像確認用のディスプレイが備わっている場合、端末装置20は、監視対象の映像中の異常な領域等を強調表示することができる。このとき、異常な領域として、物体検出部12で得られる物体の領域を利用してもよい。
以上、異常検知システム1を構成する各装置(認識装置10および端末装置20)の構成・動作に関して説明を行った。以降では、異常検知システム1を構成する各装置が備える処理部の構成・動作の一例について詳細な説明を行う。
まず、異常検知システム1を構成する各装置が備える処理部の構成に関する説明を行う。
図4は、物体検出部12の構成の一例を示すブロック図である。
物体検出部12は、物体検出辞書読込部121と、物体位置候補検出部122と、を備える。
また、図1に示すように、追尾部13は、追尾パタン生成部131と、追尾スコア算出部132と、追尾スコアベース追尾パタン選択部133と、正常スコアベース追尾パタン選択部134と、を備える。
図5は、認識部14の構成の一例を示すブロック図である。
認識部14は、画像情報読込部141と、特徴抽出部142と、認識辞書読込部143と、認識処理部144と、を備える。
図4は、物体検出部12の構成の一例を示すブロック図である。
物体検出部12は、物体検出辞書読込部121と、物体位置候補検出部122と、を備える。
また、図1に示すように、追尾部13は、追尾パタン生成部131と、追尾スコア算出部132と、追尾スコアベース追尾パタン選択部133と、正常スコアベース追尾パタン選択部134と、を備える。
図5は、認識部14の構成の一例を示すブロック図である。
認識部14は、画像情報読込部141と、特徴抽出部142と、認識辞書読込部143と、認識処理部144と、を備える。
次に、異常検知システム1を構成する各装置が備える処理部の動作に関する説明を行う。
図6は、物体検出部12の動作の一例を示すフローチャートである。
ステップS601において、物体位置候補検出部122は、映像データ読込部11から映像データを受け取る。本実施形態において、この映像データには、監視対象の撮像画像に関する映像データが含まれるものとする。
次に、ステップS602において、物体検出辞書読込部121は、物体検出辞書記憶部M1から、物体検出処理に用いる辞書を読み込む。物体検出処理に用いる辞書として、例えば、監視対象の物体の識別情報と、当該物体の画像上の特徴を示す情報とが相互に関連付けられたものを用いることができる。
図6は、物体検出部12の動作の一例を示すフローチャートである。
ステップS601において、物体位置候補検出部122は、映像データ読込部11から映像データを受け取る。本実施形態において、この映像データには、監視対象の撮像画像に関する映像データが含まれるものとする。
次に、ステップS602において、物体検出辞書読込部121は、物体検出辞書記憶部M1から、物体検出処理に用いる辞書を読み込む。物体検出処理に用いる辞書として、例えば、監視対象の物体の識別情報と、当該物体の画像上の特徴を示す情報とが相互に関連付けられたものを用いることができる。
次に、ステップS603において、物体位置候補検出部122は、ステップS602で読み込まれた辞書を用いて物体位置候補を検出し、検出した物体位置候補を示す物体位置候補情報を追尾部13に送る。ここで、物体位置候補は、映像データの各フレームにおいてオブジェクトが存在すると推定される部分画像(小領域の画像)を含む。
図7は、或る1フレームにおける監視対象の撮像画像の一例を示す図である。この撮像画像は、映像データから1フレームを抜き出したものである。図7において、監視対象の撮像画像701は、信号機710を有する或る交差点における撮像画像である。撮像画像701には、オブジェクト702〜705が映し出されている。また、バウンディングボックス(Bounding Box)706〜709は、物体位置候補検出部122によって抽出されるものである。撮像画像701のうち、バウンディングボックス706〜709に囲われた部分画像のそれぞれが、監視対象のオブジェクトが存在すると推定される領域を示し、物体位置候補となる。
図7は、或る1フレームにおける監視対象の撮像画像の一例を示す図である。この撮像画像は、映像データから1フレームを抜き出したものである。図7において、監視対象の撮像画像701は、信号機710を有する或る交差点における撮像画像である。撮像画像701には、オブジェクト702〜705が映し出されている。また、バウンディングボックス(Bounding Box)706〜709は、物体位置候補検出部122によって抽出されるものである。撮像画像701のうち、バウンディングボックス706〜709に囲われた部分画像のそれぞれが、監視対象のオブジェクトが存在すると推定される領域を示し、物体位置候補となる。
バウンディングボックス706a、706bは、撮像されたオブジェクト702に関する複数の物体位置候補を示す。このように、物体位置候補は、一つのオブジェクトにつき幾つあってもよい。尚、ここで示したバウンディングボックスは、物体位置候補の具体例の一つであり、物体位置候補は、バウンディングボックスに限定されない。物体位置候補検出部122は、例えば、背景差分法によって、撮像画像中のオブジェクトの輪郭に沿った部分画像を物体位置候補として抽出してもよい。
物体位置候補を抽出するための方法は複数存在する。例えば、背景差分法、物体検出・追尾法、および領域分割法の三つの方法がある。また、監視対象の物体が予め既知である場合には、その監視対象の物体のみを検出・追尾する目的に絞られた物体検出・追尾法を用いてもよい。物体の検出には、例えば非特許文献5に記載の方法がある。物体位置候補検出部122は、この方法を用いて、物体候補位置を抽出してもよい。物体検出辞書読込部121は、ここで用いる物体検出器の辞書を読み込むためのものである。
前述したように、物体位置候補検出部122は、以上のようにして検出した物体位置候補を示す物体位置候補情報を追尾部13に送る。
前述したように、物体位置候補検出部122は、以上のようにして検出した物体位置候補を示す物体位置候補情報を追尾部13に送る。
尚、説明を簡略化するために、ステップS601では、物体位置候補検出部122は、映像データ読込部11から、異常検知システム1で用いられる全ての映像データを一度に受け取るものとする。そして、ステップS603では、物体位置候補検出部122は、当該全ての映像データから物体位置候補を抽出し、抽出した全ての物体位置候補を示す物体位置候補情報を追尾部13に送るものとする。尚、ステップS601において、物体位置候補検出部122は、映像データ読込部11から映像データをストリーミングで受け取ってもよい。以降の説明では、特に注意書きを記載する場合を除いては、異常検知システム1で用いられる全ての映像データを一度に処理・通信するものとする。
次に、図8のフローチャートを参照しながら、追尾部13の動作の一例を説明する。
ステップS801において、追尾パタン生成部131は、物体検出部12から物体位置候補情報を受け取り、追尾パタン生成処理を行う。本実施形態における追尾パタンとは、例えば、時刻t−1における一つの物体位置候補と、時刻tにおける当該物体位置候補との、組合せのことを言う。ここで、時刻t−1と、時刻tとで、それぞれ複数の物体位置候補が得られた場合、単純にはそれらの組合せ数分だけ、追尾パタンの集合を得ることができる。尚、時刻t−N(Nは正の整数)は、時刻tで得られるフレームのN個前のフレームが得られた時刻である。
ステップS801において、追尾パタン生成部131は、物体検出部12から物体位置候補情報を受け取り、追尾パタン生成処理を行う。本実施形態における追尾パタンとは、例えば、時刻t−1における一つの物体位置候補と、時刻tにおける当該物体位置候補との、組合せのことを言う。ここで、時刻t−1と、時刻tとで、それぞれ複数の物体位置候補が得られた場合、単純にはそれらの組合せ数分だけ、追尾パタンの集合を得ることができる。尚、時刻t−N(Nは正の整数)は、時刻tで得られるフレームのN個前のフレームが得られた時刻である。
図9は、各時刻t−2、t−1、tに得られたフレームから抽出される物体位置候補の一例を示す図である。時刻t−2において、或る人物に関する物体位置候補910aが抽出されていることを示す。同様に時刻t−1、tにおいて、当該人物に関する物体位置候補910b〜910g、910h〜910lがそれぞれ抽出されていることを示す。物体位置候補910a、910b〜910g、910h〜910lは、それぞれ、時刻t−2、t−1、tに得られたフレームに映し出されている当該人物の画像911a、911b〜911g、911h〜911lに基づいて求められる。
ノード912a〜912lは、それぞれ、各時刻t−2、t−1、tにおける人物の画像911a、911b〜911g、911h〜911lと、当該画像に対する物体位置候補910a、910b〜910g、910h〜910lとの組み合わせを示す。ブランチ913aは、相互に隣接する2つの時刻t−2、t−1間の2つのノード912a、912bの組み合わせを示す。図9に示すこの他の矢印線も、相互に隣接する2つの時刻間の2つのノードの組み合わせを示すブランチである。
図9では、各時刻t−2、t−1、tにおいて、同一の物体(人物)から複数の物体位置候補(人物の検出結果)が得られることを示す。また、図9では、各時刻t−2、t−1、tにおける物体(人物)から複数の物体位置候補(人物の検出結果)の組み合わせをノードとブランチとで表す。ブランチで結ばれるノードの組み合わせが、追尾パタンである。
尚、本実施形態では、説明を簡単にするために、ステップS801で得られる追尾パタンは、映像データ中の2フレームないし3フレームにおいてブランチで結ばれるノードの組み合わせであるものとする。即ち、例えば2フレームから追尾パタンを生成する場合、追尾パタン生成部131は、時刻t−1のノード(物体位置候補および人物の画像)と、時刻tのノード(物体位置候補および人物の画像)とに基づいて、追尾パタンを生成するものとする。尚、必要であれば、追尾パタン生成部131は、3フレームを上回るフレームにおいてブランチで結ばれるノードの組合せを追尾パタンとして生成してもよい。
最後に、追尾パタン生成部131は、以上のようにして生成した追尾パタンを追尾スコア算出部132に送る。
最後に、追尾パタン生成部131は、以上のようにして生成した追尾パタンを追尾スコア算出部132に送る。
図8の説明に戻り、ステップS802において、追尾スコア算出部132は、追尾パタン生成部131から送られた追尾パタン(の集合)を受け取り、それぞれの追尾パタンに対して、追尾スコアを算出する。追尾スコアは、追尾パタンを用いた認識対象(例えば人物)の追尾の結果の確からしさに対する評価指標の一例である。具体的に本実施形態では、追尾スコアは、追尾パタンにおいて同一の物体を追尾していることに対する確からしさの度合いを示す。同一の物体を追尾している可能性が高い場合、追尾スコアは大きな値を有するものとする。追尾スコアの算出方法としては、例えばテンプレートマッチング法がある。ここでは具体例として、非特許文献1に記載される類似度算出方法を用いるものとする。尚、説明を簡単にするために、ここでは非特許文献1の類似度算出方法のみを用いるに留めるが、必要であれば、非特許文献1に記載される類似度算出処理(テンプレートマッチング処理)の省略方法を用いてもよい。最後に、追尾スコア算出部132は、追尾パタンと、算出された追尾スコアと、を追尾スコアベース追尾パタン選択部133に送る。
次に、ステップS803において、追尾スコアベース追尾パタン選択部133は、追尾スコア算出部132から送られた追尾スコアに基づいて、追尾パタンを選択する。ここで追尾パタンを選択する主だった意味は、大きく分けて2つある。1つめは、後段の認識処理にかける追尾パタンの数を減らすためである。これにより、計算処理時間を低減することができる。2つ目は、次の時刻t+1において更に新たな追尾パタンを生成する際に使用する時刻tにおける追尾パタンの数を減らすためである。即ち、追尾パタン生成部131は、現在の時刻tにおける追尾パタンと、次の時刻t+1における物体位置候補と、に基づいて、時刻t+1における新たな追尾パタンを生成する。この際に使われる現在の時刻tの追尾パタンの数を減らす。これにより、現在の時刻tにおける追尾パタンと、次の時刻t+1における物体位置候補と、の組み合わせ数が減り、計算処理時間を低減することができる。
ただし、追尾スコアによっては、一つも追尾パタンが選択されることがないといった事態も存在し得る。これは、追尾対象となるオブジェクトが、画面外に出て行った場合等に相当するものである。尚、追尾パタンの選択方法としては、どのような方法を用いてもよい。追尾スコアベース追尾パタン選択部133は、例えば、予め決められた閾値を用いて、追尾スコアが当該閾値よりも大きければ、当該追尾スコアに対応する追尾パタンを選択することができる。また、追尾スコアベース追尾パタン選択部133は、追尾パタンの総数を考慮して、計算機の計算能力やメモリ容量等が許す数だけ、追尾パタンを選択しもよい。ここでは、追尾スコアベース追尾パタン選択部133は、予め決められた閾値を用いて、追尾パタンを選択するものとする。
尚、ここで用いる閾値が小さすぎる場合、追尾スコアベース追尾パタン選択部133は、極端に小さい値の追尾スコアに対応する追尾パタンを選択する虞がある。これとは反対に、ここで用いる閾値が大きすぎる場合、追尾スコアベース追尾パタン選択部133が、追尾パタンを一つも選択しない虞がある。そこで、ここで用いる閾値は、このようなことが起こらないように事前に調整した上で設定される。尚、最大の追尾スコアに対応する追尾パタンだけを選択すると、追尾の失敗に対する対応が困難になる虞がある。このため、追尾スコアベース追尾パタン選択部133は、複数の追尾パタンを選択する。
次に、ステップS804において、追尾スコアベース追尾パタン選択部133は、以上のようにして選択した複数の追尾パタンと、当該追尾パタンに関する位置候補情報と、当該位置候補情報で指定される領域の画像情報とを含む追尾情報を、認識部14に送る。
次に、ステップS805において、追尾スコアベース追尾パタン選択部133は、これ以上追尾に関する処理を行う必要があるか否かに基づいて、追尾部13の動作を終了するか否かを判定する。例えば、現在の追尾処理が、物体位置候補検出部122で受け取られる映像データの末端フレームに対する追尾処理である場合には、追尾に関する処理をこれ以上行う必要がない。このため、追尾部13の動作を終了してもよいものとする。また、追尾処理を行うべき物体位置候補情報がこれ以上存在しなければ、追尾部13の動作を終了してもよいものとする。この判定の結果、追尾部13の動作を終了する場合、図8のフローチャートによる処理は終了する。一方、この判定の結果、追尾部13の動作を終了しない場合、処理は、ステップS806に移る。
次に、ステップS805において、追尾スコアベース追尾パタン選択部133は、これ以上追尾に関する処理を行う必要があるか否かに基づいて、追尾部13の動作を終了するか否かを判定する。例えば、現在の追尾処理が、物体位置候補検出部122で受け取られる映像データの末端フレームに対する追尾処理である場合には、追尾に関する処理をこれ以上行う必要がない。このため、追尾部13の動作を終了してもよいものとする。また、追尾処理を行うべき物体位置候補情報がこれ以上存在しなければ、追尾部13の動作を終了してもよいものとする。この判定の結果、追尾部13の動作を終了する場合、図8のフローチャートによる処理は終了する。一方、この判定の結果、追尾部13の動作を終了しない場合、処理は、ステップS806に移る。
処理がステップS806に移ると、正常スコアベース追尾パタン選択部134は、認識部14から正常スコアを受け取る。ここで、ステップS804において追尾スコアベース追尾パタン選択部133が追尾パタンを認識部14に送った後、ステップS806において正常スコアベース追尾パタン選択部134が正常スコアを受け取るに至るまでに、空き時間が発生する場合がある。その場合、ステップS806において、正常スコアの受け取りまでの待ち時間が発生する。ここで、本実施形態における正常スコアは、認識部14の備える識別器から得られたスコアを意味する。詳細は後述するが、本実施形態の異常検知システム1では、1-class識別器が出力するスコアを正常スコアであるとし、正常スコアの大きさが大きいほど、識別器が入力データを正常なデータに近いと判定したと解釈するものとする。このように正常スコアは、識別器に入力される認識対象の正常(または異常)の度合いの一例である。本実施形態では、追尾パタンの正常(または異常)の度合いを数値化したものを正常スコアとする。
次に、ステップS807において、正常スコアベース追尾パタン選択部134は、ステップS806で受け取った正常スコアに基づいて、追尾パタンの選択処理を行う。ここで行われる追尾パタンの選択処理は、ステップS803で行われる追尾スコアに基づく追尾パタンの選択処理とは異なる。ステップS807では、正常スコアベース追尾パタン選択部134は、正常スコアに基づいて、(直前の認識処理で使用した)追尾パタンを選択する。
また、ここで用いられる追尾パタンの選択方法として、例えば以下の方法がある。一つは、異常の見逃しを低減し、異常らしいものを全て検知したい場合に、正常の度合いの低い追尾パタンを選択する方法である。予め決められた閾値を用いて、正常スコアが当該閾値よりも小さければ、当該正常スコアに対応する追尾パタンを選択する。このようにすることで、より異常らしい追尾パタンを検知できる可能性が高まる。
また、その他の方法として、正常スコアの大きい追尾パタン以外の追尾パタンを選択する方法がある。例えば、正常スコアベース追尾パタン選択部134は、追尾パタンの長さが3(時刻t−2から時刻tまで)の場合に、当該追尾パタンが異常であるものとして当該追尾パタンを選択することができる。このとき、長さが2(例えば、時刻t−2から時刻t−1まで)の追尾パタンの正常スコアが非常に大きい場合、異常を検知する優先度が低いものとし、当該追尾パタンを選択対象から除外してもよい。"正常スコアが非常に大きい"と判断する一つの事例として、例えば、追尾パタンの長さが2から3になり、時刻tでどのような画像が入力されたとしても、当該追尾パタンの正常スコアが閾値よりも小さくならないことが保証されている場合が挙げられる。尚、ここでは、正常スコアが当該閾値よりも小さい場合に、当該正常スコアに対応する追尾パタンが異常な追尾パタンであると判定されるものとする。このような判定を行うための式を以下の式(1)に示す。
if scorei≧th
then delete
else select ・・・(1)
if scorei≧th
then delete
else select ・・・(1)
式(1)は、正常スコアが非常に高いか否かを判断し、当該正常スコアに対応する追尾パタンを削除するか否かを決定するための式である。ここで、scoreは正常スコアの値を示す。iは現在の時刻を示す(scoreiは、現在の時刻iにおける正常スコアの値を示す)。thは、異常として判定するための正常スコアの閾値である。式(1)は、正常スコアが正の値をとり、かつ加算的に計算されることを前提としている。現在の時刻iにおいて正常スコアが閾値thを上回る場合には、異常判定を行う必要がない。このため、正常スコアベース追尾パタン選択部134は、当該正常スコアに対応する追尾パタンを削除(delete)する。一方、そうでない場合、正常スコアベース追尾パタン選択部134は、当該正常スコアに対応する追尾パタンを選択(select)する。そして、次の時刻における追尾パタンの選択・削除の判断が行われる。
尚、正常スコアが負の値をとる場合は、以下の式(2)により、追尾パタンの選択・削除の判定が可能である。
if scorei+r(j−i)≧th
then delete
else select ・・・(2)
if scorei+r(j−i)≧th
then delete
else select ・・・(2)
ここで、rは正常スコアがとりうる下限を表す。jは異常検知を行う追尾パタンの長さを表す。
これらの追尾パタンの選択が、どのような効果を生むかに関して、具体例を述べる。
例えば、図9の左図に示す例では、30通りの追尾パタンが得られる。30通りの追尾パタンに対して監視対象の異常検知を行う場合、1通りの場合と比較として単純に考えると、30倍の検出時間がかかる。一方で、例えば、図9の右図に示すように、ノード912a、912cの組(ブランチ914)を削除することが可能なら、点線で示す組が除外され、検出対象となる追尾パタンが25通りに減少する。このようにすることで、全体としてより効率のよい異常検知が可能となり得る。また、このとき、全体の追尾パタンの数を考慮して、計算機の計算能力やメモリ容量等が許す数だけ、追尾パタンを選んでもよい。
尚、ここでは時刻t−2から時刻tにおける人物の検出結果の組合せにより、追尾パタンを作成・選択する方法を示した。この他、時刻t−Nから時刻tにおける人物の検出結果の組合せを、動的計画法、ビーム探索、またはA*探索などにより、更に効率的に求めることが可能である。
例えば、図9の左図に示す例では、30通りの追尾パタンが得られる。30通りの追尾パタンに対して監視対象の異常検知を行う場合、1通りの場合と比較として単純に考えると、30倍の検出時間がかかる。一方で、例えば、図9の右図に示すように、ノード912a、912cの組(ブランチ914)を削除することが可能なら、点線で示す組が除外され、検出対象となる追尾パタンが25通りに減少する。このようにすることで、全体としてより効率のよい異常検知が可能となり得る。また、このとき、全体の追尾パタンの数を考慮して、計算機の計算能力やメモリ容量等が許す数だけ、追尾パタンを選んでもよい。
尚、ここでは時刻t−2から時刻tにおける人物の検出結果の組合せにより、追尾パタンを作成・選択する方法を示した。この他、時刻t−Nから時刻tにおける人物の検出結果の組合せを、動的計画法、ビーム探索、またはA*探索などにより、更に効率的に求めることが可能である。
本実施形態では、正常スコアベース追尾パタン選択部134は、前述したようにして予め決められた閾値を用いて、追尾パタンを選択する。最後に、正常スコアベース追尾パタン選択部134は、以上のようにして選択した追尾パタンを追尾パタン生成部131に送る。そして、処理は、ステップS801に再び移る。
そして、ステップS801では、追尾パタン生成部131は、ステップS807で選択された追尾パタンと、最新のフレームの物体位置候補情報とに基づいて、新たな追尾パタンを生成する。以降、ステップS802〜S807において、前述したのと同様の処理が繰り返される。
そして、ステップS801では、追尾パタン生成部131は、ステップS807で選択された追尾パタンと、最新のフレームの物体位置候補情報とに基づいて、新たな追尾パタンを生成する。以降、ステップS802〜S807において、前述したのと同様の処理が繰り返される。
次に、図10のフローチャートを参照しながら、認識部14の動作の一例を説明する。
ステップS1001において、画像情報読込部141は、追尾部13から送られた追尾情報を読み込む。前述したように、追尾情報は、複数の追尾パタンと、当該追尾パタンに関する位置候補情報と、当該位置候補情報で指定される領域の画像情報とを含む。ここで、画像情報とは、例えば、図7のバウンディングボックス706〜709により指定される小領域内の画像の情報のことを意味する。画像情報は、該当する追尾パタンに関する位置候補情報の数だけ存在する。このため、追尾パタンに関するフレーム数分の画像(例えば、2フレーム間の追尾パタンを考慮する場合には2枚の画像)の情報が画像情報に含まれる。
ステップS1001において、画像情報読込部141は、追尾部13から送られた追尾情報を読み込む。前述したように、追尾情報は、複数の追尾パタンと、当該追尾パタンに関する位置候補情報と、当該位置候補情報で指定される領域の画像情報とを含む。ここで、画像情報とは、例えば、図7のバウンディングボックス706〜709により指定される小領域内の画像の情報のことを意味する。画像情報は、該当する追尾パタンに関する位置候補情報の数だけ存在する。このため、追尾パタンに関するフレーム数分の画像(例えば、2フレーム間の追尾パタンを考慮する場合には2枚の画像)の情報が画像情報に含まれる。
次に、ステップ1002において、画像情報読込部141は、追尾情報から、追尾パタンに関する画像情報を読み込む。尚、画像情報読込部141で読み込む画像情報は、認識部14で用いられる認識器の情報源を例示するためのものである。認識部14で用いられる認識器の情報源として、画像情報以外の情報を用いてもよい。例えば、認識器が動きに関する異常を識別する識別器であるならば、単なる画像ではなく、画像の動き方向を示すオプティカルフロー(OpticalFlow)を用いてもよい。
次に、ステップS1003において、特徴抽出部142は、各追尾パタンに関して、それぞれ読み込まれた画像情報から特徴量を抽出する。ここで抽出される特徴量は、どのようなものであってもよいが、本実施形態では、画像のアピアランスに基づいて異常を検知する例を示す。このため、特徴抽出部142は、非特許文献3の方法を用いて特徴量を抽出するものとする。最後に、特徴抽出部142は、抽出された特徴量を認識処理部144に送る。
次に、ステップS1004において、認識辞書読込部143は、認識処理部144で用いる認識器の辞書を読み込む。ここで読み込まれる辞書は、予め学習されているものとする。前述したように本実施形態では、認識器として1-class識別器を用いる。具体的に本実施形態では、1-class識別器として1-classサポートベクタマシンを用いる。1-classサポートベクタマシンとしては、複数の種類のものが存在するが、本実施形態では、非特許文献4の方法(SVDD(Support Vector Data Description))を用いるものとする。尚、認識器は、1-class識別器に限定されず、どのような認識器を用いてもよい。そして、認識辞書読込部143は、読み込んだ辞書を認識処理部144に送る。
次に、ステップS1005において、認識処理部144は、認識辞書読込部143から送られた辞書と、特徴抽出部142から送られた追尾パタンに関する特徴量とを受け取る。認識処理部144は、ここで受け取った辞書に基づいて、各追尾パタンに関する特徴量に対して、認識処理を行う。ここで、前述のとおり、本実施例では認識器としてSVDDを用いる。SVDDでは、パラメータとして特徴空間上の超球の中心と半径とを持つ。SVDDでは、入力された特徴量が、超球の中心からどれだけ離れているかの距離(具体的には、特徴量が超球の半径よりも離れているか否か)に基づいて、監視対象が異常か否かの識別判定を行うことができる(これを認識処理の結果とする)。また、本実施形態では、連続値をとる正常スコアを算出する必要がある。そこで、認識処理部144は、入力された特徴量とSVDDの超球の中心との距離の逆数を計算し、これを正常スコアとする。
次に、ステップS1006において、認識処理部144は、正常スコアを追尾部13に送る。また、認識処理部144は、その認識処理の結果が、監視対象の異常を示すものであれば、監視対象が異常であることを示す情報を端末装置20に送る。
以上のように本実施形態では、認識装置10は、複数の追尾パタンを用いた追尾の結果の確からしさの度合い(追尾スコア)を算出し、追尾スコアに基づいて複数の追尾パタンの一部を選択する。認識装置10は、追尾スコアに基づいて選択された追尾パタンの正常の度合い(正常スコア)に基づいて、複数の追尾パタンの一部を選択し、選択した追尾パタンを用いて次のタイミングの追尾パタンを生成する。これにより、誤りを含む追尾パタンが存在する場合においても、複数の追尾パタンに基づいて監視対象の異常の検知を行うことができるので、異常の見逃し等が低減される。また、複数の追尾パタンを作成する際に、正常スコアおよび追尾スコアに基づいて、作成する追尾パタンの数を削減することで、異常の検知にかかわる計算時間の増大を低減することができる。
(第2の実施形態)
次に、第2の実施形態を説明する。第1の実施形態では、識別器が、各追尾パタンの正常の度合い(正常スコア)を出力する1-class識別器である場合を例に挙げて示した。これに対し、本実施形態では、認識器が、認識対象に関するデータを入力し、当該認識対象の認識の結果として確率値を出力する確率モデルである場合について例示する。具体的に本実施形態では、隠れ状態と時系列的な状態遷移とを持つダイナミックベイジアンネットワーク(以降、DBNと称する)を用いる場合を例に挙げて示す。DBNは、隠れ状態を持つため、第1の実施形態で示した1-class識別器よりも表現能力が高い。従って、追尾パタンの選択に際しては、第1の実施形態とは異なる工夫が必要となる。また、本実施形態では、追尾スコアを確率的な値として利用し、 DBNの状態を推定する際に用いる例を示す。これにより、DBNは、追尾スコアをも考慮した尤もらしさを出力することが可能である。以上のように本実施形態と第1の実施形態とは、識別器が異なることによる構成および処理が主として異なる。具体的に、本実施形態において、第1の実施形態と構成や動作が大きく異なるのは、認識器の種類がDBNである点と、追尾パタンの選択方法と、認識処理にニューラルネットワークを用いる点と、の三点である。従って、本実施形態の説明において、第1の実施形態と同一の部分については、図1〜図10に付した符号と同一の符号を付す等して詳細な説明を省略する。
次に、第2の実施形態を説明する。第1の実施形態では、識別器が、各追尾パタンの正常の度合い(正常スコア)を出力する1-class識別器である場合を例に挙げて示した。これに対し、本実施形態では、認識器が、認識対象に関するデータを入力し、当該認識対象の認識の結果として確率値を出力する確率モデルである場合について例示する。具体的に本実施形態では、隠れ状態と時系列的な状態遷移とを持つダイナミックベイジアンネットワーク(以降、DBNと称する)を用いる場合を例に挙げて示す。DBNは、隠れ状態を持つため、第1の実施形態で示した1-class識別器よりも表現能力が高い。従って、追尾パタンの選択に際しては、第1の実施形態とは異なる工夫が必要となる。また、本実施形態では、追尾スコアを確率的な値として利用し、 DBNの状態を推定する際に用いる例を示す。これにより、DBNは、追尾スコアをも考慮した尤もらしさを出力することが可能である。以上のように本実施形態と第1の実施形態とは、識別器が異なることによる構成および処理が主として異なる。具体的に、本実施形態において、第1の実施形態と構成や動作が大きく異なるのは、認識器の種類がDBNである点と、追尾パタンの選択方法と、認識処理にニューラルネットワークを用いる点と、の三点である。従って、本実施形態の説明において、第1の実施形態と同一の部分については、図1〜図10に付した符号と同一の符号を付す等して詳細な説明を省略する。
まず、図7を参照しながら、DBNがどのような目的で用いられるかに関して説明する。第1の実施形態で述べたように、図7は、或る交差点における監視対象の撮像画像701の一例を示す。撮像画像701には、複数のオブジェクト702〜705が含まれる。このように複数のオブジェクトが撮像画像中に存在する場合に、複数のオブジェクト間の関係や、オブジェクトと環境に関する情報との関係等を考慮して、監視対象の異常を検知するために、DBNを用いることができる。
例えば、オブジェクト708が左方向に歩いている歩行者であることと、オブジェクト707が下方向に進んでいる自転車であることとを、ニューラルネットワーク(以降、NNと称する)を用いて検出するとする。この場合、歩行者と自転車とが衝突する可能性がある。このため、監視対象の異常として検出することが望まれる。このとき、本実施形態では、DBNは、NNの検出結果をそれぞれ観測情報として受け取り、その観測情報の尤もらしさを、推定された状態のもとで出力することができる。状態の推定等に関する詳細に関しては後述するが、このようにして、DBNを用いることにより、複数のオブジェクトの観測情報を考慮して、監視対象の異常を検知することが可能になる。
図11は、本実施形態に係る異常検知システムの構成の一例を示すブロック図である。 前述したように、本実施形態の図11に示す異常検知システム1aのうち、第1の実施形態の異常検知システム1と同じ構成・動作である部分については説明を省略する。以降では、主に、追尾部13aおよび認識部14aのうち、第1の実施形態の追尾部13および認識部14と異なる構成および動作について説明を行う。
図11に例示するように、異常検知システム1aは、認識装置10aと、端末装置20と、を備える。
認識装置10aは、映像データ読込部11と、物体検出部12と、追尾部13aと、認識部14aと、を備える。
追尾部13aは、追尾パタン生成部131と、追尾スコア算出部132と、追尾パタン選択部133aと、を備える。図11には、追尾部13aが備えるこれらの構成を示す。
認識装置10aは、映像データ読込部11と、物体検出部12と、追尾部13aと、認識部14aと、を備える。
追尾部13aは、追尾パタン生成部131と、追尾スコア算出部132と、追尾パタン選択部133aと、を備える。図11には、追尾部13aが備えるこれらの構成を示す。
図12は、認識部14aの構成の一例を示すブロック図である。
認識部14aは、画像情報読込部141と、NN認識部142aと、認識辞書読込部143aと、DBN認識部144aと、を備える。
ここで、NNとしては、例えば、Convolutional Neural Network(以下、CNNと称する)を用いることができる。CNNは、NNの一つであり、局所的な畳み込み処理を行うConvolutional Layerを持つ。非特許文献5は、この方法を画像データに応用した例を示している。具体的に非特許文献5は、多階層からなるCNNを用いて、画像中に含まれる物体の種類を自動的に推定・認識する構成および方法を示している。
認識部14aは、画像情報読込部141と、NN認識部142aと、認識辞書読込部143aと、DBN認識部144aと、を備える。
ここで、NNとしては、例えば、Convolutional Neural Network(以下、CNNと称する)を用いることができる。CNNは、NNの一つであり、局所的な畳み込み処理を行うConvolutional Layerを持つ。非特許文献5は、この方法を画像データに応用した例を示している。具体的に非特許文献5は、多階層からなるCNNを用いて、画像中に含まれる物体の種類を自動的に推定・認識する構成および方法を示している。
本実施形態では、追尾情報に含まれる画像情報(認識対象の物体が存在すると推定される小領域(バウンディングボックス)内の画像)を用いて、追尾された物体の属性に関する情報を出力する認識処理を行う場合を例に挙げて説明する。ここで、属性とは、例えば、物体の種類に関する情報を含むが、NNでは、属性以外の情報を表現(出力)することが可能であり、そのような情報を用いてもよい。図13は、NNの構成の一例を模式的に示す図である。図13において、NN(ニューラルネットワーク)1320は、本実施形態で用いるNNのネットワーク構造の一例を示す。図13では、ネットワークに、以下の層が含まれる場合を例示する。即ち、ネットワークには、入力層1301、convolution1層1302、pooling1層1303、convolution2層1304、およびpooling2層1305が含まれる。更にネットワークには、Innerproduct1層1306、Innerproduct2層1307および出力層1308が含まれる。また、図13には、2つの階層間の処理方法として、convolution処理1310、pooling処理1311、InnerProduct処理1312、およびSoftmax処理1313が設定されていることが示されている。
それぞれの処理1310〜1313の具体的な内容は、非特許文献5に記載されているため、ここでは、その詳細な説明を省略するが、convolution処理1310では、畳み込みフィルタを用いたデータ処理が実行される。また、pooling処理1311では、例えば、max pooling処理が実行される。この場合、局所的な最大値を出力する処理が実行される。InnerProduct処理1312では、内積処理が実行される。
また、図13では、convolution1層1302、convolution2層1304、pooling1層1303、およびpooling2層1305には複数の特徴マップが存在する。また、入力層1301の画像上のピクセルに対応する位置には、複数のニューロンが存在する。例えば、学習データとしての画像データがRGB形式の画像データである場合、RGBチャンネルに対応する3つのニューロンが入力層1301に存在する。また、複数の画像を入力として用いる場合は、入力画像の分だけ入力層のニューロンを増やすことで、複数の画像を入力とする場合に対応することが可能である。本実施形態では、標準的なRGB画像を対象とする例を示す。
NNに関する動作の詳細は後述するが、本実施形態では、NNが出力する属性情報(追尾された物体の属性を示す情報)を、DBNの観測情報とし、その隠れ状態を推定する場合について例示する。尚、ここでは、NNとしてCNNを用いる場合を例示した。しかしながら、NNは、CNNに限定されない。例えば、全結合層のみからなるネットワークを用いてもよい。また、時系列的な入力情報を積極的に活用するために、リカレントニューラルネットワーク等、時系列性を陽に扱うことができるものを用いてもよい。
また、前述の通り、DBNはダイナミックベイジアンネットワークの略称である。DBNは、時間的な状態の遷移を行うHidden Markov Modelの一種である。DBNでは、観測不能かつ時間的に遷移する隠れ状態に従って観測可能なデータが生成されるという仮定のもとで、隠れ状態の推定を行う。DBNとしては様々なモデルが提案されており、DBNの標準的な構成、学習方法、および状態推定方法について示した例として、非特許文献6に記載のものがある。このようにDBN自体は、公知の技術で実現することができるが、以下に、DBNの概要を説明する。
図14は、DBNの基本的な構成の一例を示す図である。図14では、DBNの観測情報として、4つの観測情報(第1〜第4の観測情報1402〜1405)がある場合について例示している。観測情報としては、どのような情報が入力されてもよいが、前述のとおり、本実施形態では、NNの出力(属性情報)が、DBNの観測情報として与えられる場合について例示する。尚、NNの出力だけでなく、追尾結果の軌跡に関する情報等、様々な情報をDBNの観測情報として用いることが可能であり、必要であればそのようにしてもよい。
DBNの現在の状態1406は、例えば複数の離散値をとり得る。また、状態は不観測であり、隠れ状態と呼称される。DBNの過去の状態1407から現在の状態1406に遷移1408aし、現在の状態1406からその次の状態に遷移1408bする。或る状態から或る状態への遷移1408a、1408bは、後述する遷移確率によって表わされる。観測確率1409は、或る状態が与えられたもとで、或る観測情報が与えられる確率を表す。
DBNの学習の方法はどのような方法でもよい。例えば、非特許文献6で示す学習方法を利用することで、与えられた時系列的な観測変数を尤もらしく生成する状態遷移確率と、観測確率と、を学習することができる。図15は、DBNの学習によって得られる結果の一例を示す図である。図15は、DBNが獲得した確率的関係を示す。ここでは、状態が2次元(2種類)であり、観測変数が2次元(2種類)である場合を例示している。
DBNの学習の方法はどのような方法でもよい。例えば、非特許文献6で示す学習方法を利用することで、与えられた時系列的な観測変数を尤もらしく生成する状態遷移確率と、観測確率と、を学習することができる。図15は、DBNの学習によって得られる結果の一例を示す図である。図15は、DBNが獲得した確率的関係を示す。ここでは、状態が2次元(2種類)であり、観測変数が2次元(2種類)である場合を例示している。
図15(a)は、事前状態の確率1501の一例を示す図である。事前状態の確率1501は、DBNの各状態1、2がとり得る事前確率を示す。図15(b)は、状態遷移確率テーブル1502の一例を示す図である。状態遷移確率テーブル1502は、DBNの状態が時間的に遷移する際に、どのような遷移を行うかに関する確率を、各状態の組み合わせのそれぞれについて示す。観測確率テーブル1503は、現在の状態1406の値が定まったもとでの現在の観測情報(第1〜第4の観測情報1402〜1405)の値がどのようになり得るかを確率的に示す。
図16は、DBN認識部144aの構成の一例を示す図である。
DBN認識部144aは、追尾DBN認識部1441aと、領域DBN認識部1442aと、を備える。ここで、追尾DBN認識部1441aと、領域DBN認識部1442aと、はそれぞれ役割の異なるDBNである。即ち、本実施形態で用いるDBNは、追尾DBNと、領域DBNと、の二種類があることになる。
DBN認識部144aは、追尾DBN認識部1441aと、領域DBN認識部1442aと、を備える。ここで、追尾DBN認識部1441aと、領域DBN認識部1442aと、はそれぞれ役割の異なるDBNである。即ち、本実施形態で用いるDBNは、追尾DBNと、領域DBNと、の二種類があることになる。
追尾DBNは、物体に対する追尾の結果に対して、個別に存在するDBNである。例えば、図7におけるオブジェクト(物体)702〜705に対して、それぞれ一つの追尾結果が得られたとき、それぞれの追尾結果に対してDBNが付与され、その追尾結果に基づくNNの出力が、個別の追尾DBNの観測情報となるような構成となる。尚、実際には、バウンディングボックス706a、706bのように、複数の追尾パタンが与えられる場合がある。このような場合、追尾DBNは、状態推定の枠組みで、追尾パタンの選択をも行う(この動作に関する詳細は後述する)。
領域DBNは、追尾DBN認識部1441aが推定した各追尾DBNの状態を、領域分割により得られた複数の領域ごとに取りまとめる役割を持つ。ここで、領域分割とは、監視対象の撮像画像の画面座標を複数の異なる領域に分割することを指す。領域DBN認識部1442aは、ここで得られた領域に基づいて後述のように領域DBNの認識処理を行う。領域分割をする方法には様々な方法がある。最も単純な方法は画面を等分割する方法である。この場合は、例えば、読み込んだ監視対象の撮像画像のフレームサイズに基づいて画面を4分割することができる。例えば、図7に示す監視対象の撮像画像701のように、オブジェクト702〜705が特定の経路上を動き回る特徴がある撮像画像の場合にも、画面を等分割することができる。しかし、このようにすると単純過ぎる場合には、例えば非特許文献7で記載されるように、オブジェクトの動きの特徴に基づいて領域分割を行ってもよい。ただし、記述を単純にするために、以降では一例として画面を4つに等分割した場合を例示する。尚、ターゲットとするデータによって領域分割は必須の構成ではなく、領域分割を使用しなくてもよい。
図17は、領域DBNによって追尾DBNの状態を統合する様子の一例を示す図である。
図17において、フレーム1701は、映像データから抜き出した一つのフレームを示す。座標軸1702のuは、画面の横軸を示し、vは、画面の縦軸を示す。領域1703a〜1703dは、領域分割により得られた領域を示す。図17に示す例では、一つのフレーム(画面)が、縦方向および横方向のそれぞれで2等分される。その結果、一つのフレーム(画面)は、4等分に分割され、4つの領域が得られる。観測情報(観測変数)1704〜1707は、領域DBNの現在の観測情報(観測変数)を模式的に示す。一つ一つの観測情報(観測変数)1704〜1707が、それぞれ一つの領域1703a〜1703dに対応する(詳細は後述する)。
図17において、フレーム1701は、映像データから抜き出した一つのフレームを示す。座標軸1702のuは、画面の横軸を示し、vは、画面の縦軸を示す。領域1703a〜1703dは、領域分割により得られた領域を示す。図17に示す例では、一つのフレーム(画面)が、縦方向および横方向のそれぞれで2等分される。その結果、一つのフレーム(画面)は、4等分に分割され、4つの領域が得られる。観測情報(観測変数)1704〜1707は、領域DBNの現在の観測情報(観測変数)を模式的に示す。一つ一つの観測情報(観測変数)1704〜1707が、それぞれ一つの領域1703a〜1703dに対応する(詳細は後述する)。
状態1708は、領域DBNの不観測な現在の状態を模式的に示す。領域DBNの不観測な現在の状態1708は、一般的には離散値をとる。また、状態数(領域DBNの不観測な現在の状態1708の数)は人手で決定される。エッジ1709a〜1709dは、現在の観測情報(観測変数)1704〜1707と現在の状態1708とを繋ぐエッジであり、観測情報(観測変数)と状態とが確率的な関係を持つことを意味している。状態1710は、過去の状態を示し、現在の状態1708に対して一つ前の状態を意味する。エッジ1711は、過去の状態1710と現在の状態1708とを繋ぐエッジであり、エッジ1709a〜1709dと同様に、過去の状態1710と現在の状態1708とが確率的な関係を持つことを表す。
観測情報(観測変数)1704〜1707は、領域DBNに入力情報として与えられる可観測な時系列情報を表す。観測変数が離散モデルの領域DBNでは、観測情報(観測変数)1704〜1707は、例えば、0と1の数値で表わされる。このとき、観測対象が観測された場合は、観測変数の値が1で表わされ、観測されなかった場合は0で表わされることが一般的である。即ち、図17に示すでは、各領域1703a〜1703dにおける現在の追尾DBNの状態が、当該領域の観測情報(観測変数)1704〜1707に対して代入される。尚、観測変数は任意の数の次元からなるベクトルで表わされる。このため、例えば、観測情報(観測変数)1704〜1707は、それぞれ、複数次元のベクトルで表わすことができる。より具体的には、追尾DBNの状態がとり得る離散値の数が2種類であるとすると、観測情報(観測変数)1704〜1707は、観測変数は2次元ベクトルで表される。
また、図17において、各領域1703a〜1703dに複数の追尾結果が存在する場合がある。より具体的には、図7に示す例において、或る同一の領域に、歩行者のオブジェクト703と自転車のオブジェクト705のように、複数のオブジェクトが存在することがある。このような場合には、複数のオブジェクトの追尾DBNの状態の情報を一つの観測情報(観測変数)にまとめる必要がある。ここではその一例として、同一の領域内にある全ての追尾DBNの状態の和集合から観測変数を得るものとする。即ち、仮に、或る領域中に歩行者と自転車の小領域(オブジェクト)が存在し、その追尾DBNの隠れ状態がそれぞれ1と2である場合、領域DBNの観測変数が1、1をとるとする。
尚、図17は、一次のマルコフ過程のDBNを例示したものであり、現在から一つ前の過去の状態まで遡ってモデル化しているが、任意のマルコフ次のDBNを用いてもよい。ただし、以降では説明を簡単にするため、一次のマルコフ過程を具体例として示すこととする。
このように、追尾結果それぞれに対して個別に追尾DBNを付与することで、それぞれのオブジェクトごとの情報に対して詳細な確率モデルを定義することができる。また、領域DBNが追尾DBNの状態を統合することで、より複雑な関係を定義することが可能となる。
このように、追尾結果それぞれに対して個別に追尾DBNを付与することで、それぞれのオブジェクトごとの情報に対して詳細な確率モデルを定義することができる。また、領域DBNが追尾DBNの状態を統合することで、より複雑な関係を定義することが可能となる。
次に、本実施形態における異常検知システム1aの動作の一例について説明する。前述の通り、以降では追尾部13aと、認識部14aと、に関わる動作について説明する。
まず、図18のフローチャートを参照しながら、認識部14aの動作の一例を説明する。
まず、図18のフローチャートを参照しながら、認識部14aの動作の一例を説明する。
ステップS1001において、画像情報読込部141は、追尾部13aから送られた追尾情報を読み込む。次に、ステップS1002において、画像情報読込部141は、追尾情報から、追尾パタンに関する画像情報を読み込む。これらの処理に関する動作は第1の実施形態と同じであるため、これらの処理の詳細な説明を省略する。
次に、ステップS1801において、認識辞書読込部143aは、物体の属性を認識するためのNNの辞書と、追尾DBNの辞書と、領域DBNの辞書とを読み込む。これらの辞書は、予め学習されている。尚、DBNの学習の方法には様々な方法があるが、例えば、非特許文献6に記載の方法でDBNを学習することができる。前述の通り、学習済みのDBNは、図15に示すように複数の確率テーブル(事前状態の確率1501、状態遷移確率テーブル1502、観測確率テーブル1503)を持つ。
次に、ステップS1801において、認識辞書読込部143aは、物体の属性を認識するためのNNの辞書と、追尾DBNの辞書と、領域DBNの辞書とを読み込む。これらの辞書は、予め学習されている。尚、DBNの学習の方法には様々な方法があるが、例えば、非特許文献6に記載の方法でDBNを学習することができる。前述の通り、学習済みのDBNは、図15に示すように複数の確率テーブル(事前状態の確率1501、状態遷移確率テーブル1502、観測確率テーブル1503)を持つ。
次に、ステップS1802において、NN認識部142aは、画像情報読込部141が読み込んだ追尾結果に関する画像に対して、属性認識結果を出力する。ここで、本実施形態では、属性認識結果として、例えば、人体・自転車という2つの属性を出力するものとする。この属性認識結果は、ステップS1001で読み込まれた全ての追尾情報に対して得られるものとする。
次に、ステップS1803において、追尾DBN認識部1441aは、DBN認識処理を行う。具体的に追尾DBN認識部1441aは、ステップS702で得られた属性認識結果と、追尾部13aで得られた追尾スコアとを受け取る。そして、追尾DBN認識部1441aは、以下の式(3)に示す尤度L1が最も大きくなるような状態を推定する。
L1=P(Ot|Qt)P(Ot,Tt|Qt-1)=P(Ot|Qt)P(Ot,|Qt-1)P(Tt|Qt-1) ・・・(3)
次に、ステップS1803において、追尾DBN認識部1441aは、DBN認識処理を行う。具体的に追尾DBN認識部1441aは、ステップS702で得られた属性認識結果と、追尾部13aで得られた追尾スコアとを受け取る。そして、追尾DBN認識部1441aは、以下の式(3)に示す尤度L1が最も大きくなるような状態を推定する。
L1=P(Ot|Qt)P(Ot,Tt|Qt-1)=P(Ot|Qt)P(Ot,|Qt-1)P(Tt|Qt-1) ・・・(3)
ここで、P(・)は確率であり、P(・|・)は条件付き確率であり、Oは観測変数であり、Qは状態であり、Tは追尾結果であり、tは時間(例えば、現在のフレーム)を表すインデクスである。P(O|Q)は、観測確率を表し、P(Q|Q)は、状態遷移確率を表す。追尾結果は現在の状態に対して確率的に独立であると仮定しており、また、P(T|Q)は、対応する追尾スコアを確率値に正規化した値を示す。即ち、式(3)は、過去の状態と、現在の追尾結果に関するNNの出力と、その追尾スコアと、が与えられたもとで、尤度を最も高める状態が推定されることを表している。加えて、時間tにおける追尾結果Ttは、現在の物体位置候補の数だけ存在し、そのバリエーションに対して式(3)を計算することで、追尾パタンに対する尤度のランキングを得ることができる。尚、式(3)の尤度L1は、時間tの幅が1であるとき(このことは一つ前の過去の状態まで遡ることを意味する)の尤度を示す。時間tの幅の増減によって尤度の計算の式を、式(3)に対し変更する必要がある。時間tの幅を大きくすることで、より長い時間、観測の系列を考慮することができる。しかし、その場合、状態遷移と追尾結果との組合せの数が増大する虞がある。この場合、非特許文献6に記載されるViterbiアルゴリズムによって効率的に状態を求めてもよい。
このとき、式(3)によって求められた尤度L1に基づいて以下の式(4)のようにして観測対象の異常を判定することができる。
if L1<Th1 and P(Tt|Qt-1)>Th2
then 異常
else 正常 ・・・(4)
このとき、式(3)によって求められた尤度L1に基づいて以下の式(4)のようにして観測対象の異常を判定することができる。
if L1<Th1 and P(Tt|Qt-1)>Th2
then 異常
else 正常 ・・・(4)
ここでTh1、Th2は、予め設定された閾値である。閾値Th1、Th2の設定は、一般的には人手で行われる。式(4)は、尤度L1が閾値よりも低いか否かを判定する式である。尤度L1の低下は、推定された状態のもとで観測されたある観測変数の条件付き確率が低い場合や、観測された観測変数を生成するために低い確率の状態遷移を行った場合等、統計・確率的に不自然なことが起きている際に生じる。ただし、全ての追尾結果Ttに関して異常を判定する場合、追尾スコアの小さい追尾パタンに関して、尤度L1が低下していると判定される。そのため、追尾スコアを確率に正規化した値が、閾値よりも高い場合に対してだけ、観測対象の異常を検知することとする。以上のように本実施形態では、尤度が、認識対象の認識の結果に対する評価指標を数値化したものの一例である。具体的に本実施形態では、尤度は、追尾パタンの正常(または異常)の度合いを数値化したものの一例である。
また、ステップS1803において、領域DBN認識部1442aは、DBN認識処理を行う。具体的に領域DBN認識部1442aは、追尾DBN認識部1441aで推定された追尾DBNの状態を領域ごとに取得し、その和集合を観測情報(観測変数)として、領域DBNの状態を推定する。このとき、領域DBN認識部1442aは、追尾DBNと同様に、領域DBNの尤度を計算することが可能である。このようにする場合、領域DBNの尤度に関する閾値を予め人手で設定しておく。領域DBN認識部1442aは、追尾DBNと同様に、領域DBNの尤度と閾値とを比較することにより、観測対象の異常を検知する。
尚、ここでは、領域DBNの観測情報(観測変数)として、追尾DBNの隠れ状態の和集合を用いる場合を例示した。しかしながら、その他の方法を用いてもよい。例えば、追尾DBNのうち、最も尤度の高い隠れ状態や、尤度が閾値以上の隠れ状態の和集合を用いることが可能である。また、追尾DBNの状態以外では、時刻情報や、天気の情報や、道路上における信号の情報等、監視対象の環境に関する情報を、領域DBNの観測情報(観測変数)として与えることが可能である。この場合、領域の状態を推定する際に、環境情報という観測情報(観測変数)が与えられたもとで各状態が推定されるようなモデルを用いてもよいものとする。
次に、ステップS1804において、領域DBN認識部1442aは、追尾DBNおよび領域DBNの尤度に基づいて、監視対象の異常の有無を判定する。そして、領域DBN認識部1442aは、監視対象の異常が検知された場合、監視対象の異常が検知されたことを示す認識処理の結果を端末装置20に送信する。また、追尾DBN認識部1441aは、各追尾パタンに関する追尾DBNの尤度を、追尾部13aに送信する。
次に、図19のフローチャートを参照しながら、追尾部13aの動作の一例を説明する。
ステップS801〜ステップS805は、第1の実施形態と同様の処理であるため、これらの処理の詳細な説明を省略する。
ステップS1901において、追尾パタン選択部133aは、追尾DBN認識部1441aから尤度情報を受け取る。この尤度情報は、各追尾パタンに関して、追尾DBN認識部1441aが推定した追尾DBNの尤度の集合である。
ステップS801〜ステップS805は、第1の実施形態と同様の処理であるため、これらの処理の詳細な説明を省略する。
ステップS1901において、追尾パタン選択部133aは、追尾DBN認識部1441aから尤度情報を受け取る。この尤度情報は、各追尾パタンに関して、追尾DBN認識部1441aが推定した追尾DBNの尤度の集合である。
次に、ステップS1902において、追尾パタン選択部133aは、ステップS1901で受け取った尤度に基づいて、追尾パタンを選択する。ここで追尾パタンを選択する方法は、どのような方法であってもよい。例えば、計算機の処理能力が許す限りの追尾パタンを、尤度が上位なものから順に選択することができる。尚、このとき選択された追尾パタンに関する追尾DBNの情報(状態の履歴等)は、追尾DBN認識部1441aが一時的に保持し、次の状態の推定をする際に呼び出すことができるものとする。また、このときに選択されなかった追尾パタンに関する情報は不要である。このため、追尾パタン選択部133aが追尾DBN認識部1441aに対して破棄の指令を送り、追尾DBN認識部1441aは、この指令に従って、当該追尾パタンに関する情報を破棄してもよい。
尚、ここでは、確率モデルの一例として、DBNを用いる場合を示した。しかしながら、必ずしもDBNを用いる必要はない。例えば、時系列性を考慮しなくともよい場合は、HMM(Hidden Markov Model)を用いてもよいし、また、Conditional Random Fieldを用いてもよい。
以上のように本実施形態では、認識装置10aは、複数の追尾パタンの確からしさの度合い(追尾スコア)を算出し、追尾スコアに基づいて複数の追尾パタンの一部を選択する。認識装置10aは、追尾スコアに基づいて選択された各追尾パタンに関する画像情報に基づいて、追尾対象の物体の属性に関する認識結果を導出する。そして、認識装置10aは、各追尾パタンに関する追尾対象の物体の属性に関する認識結果を観測情報として、各追尾パタンそれぞれに関して予め学習された状態遷移確率と観測確率とに基づいて追尾対象の物体の状態を推定し、その尤度を導出する。そして、認識装置10aは、当該尤度に基づいて、複数の追尾パタンの一部を選択し、選択した追尾パタンを用いて次のタイミングの追尾パタンを生成する。また、認識装置10aは、各追尾対象の物体の状態を取りまとめ、それを観測情報として、領域全体の状態を推定し、その尤度を導出する。従って、追尾性能が低下する場合でも、異常検知の精度の低下を低減できると共に、計算時間の増大が低減される。 また、追尾DBNと領域DBNとに分けることにより、追尾対象の物体の数が変更されても、追尾対象の物体の認識の精度が低下することを抑制することができる。
(第3の実施形態)
第2の実施形態では、認識器として、DBNを用いる場合を例示した。これに対し、本実施形態では、認識器として、行動認識処理を行うNN(ニューラルネットワーク)を用いる場合について例示する。このとき、追尾処理と、行動認識処理とを、同一のNNで並行して行う例を示し、そのためのNNの学習方法について説明する。追尾処理と行動認識処理とを、同一のNNで学習することで、全体として精度良く認識処理を行うことができると期待できる。以上のように本実施形態と第1、第2の実施形態とは、識別器が異なることによる構成および処理が主として異なる。具体的に、本実施形態において、第1、第2の実施形態と構成や動作が大きく異なるのは、追尾処理にNNを用いる点と、認識処理に行動認識用のNNを用いる点と、そのようなNNを学習する点と、の三点である。従って、本実施形態の説明において、第1、第2の実施形態と同一の部分については、図1〜図19に付した符号と同一の符号を付す等して詳細な説明を省略する。
第2の実施形態では、認識器として、DBNを用いる場合を例示した。これに対し、本実施形態では、認識器として、行動認識処理を行うNN(ニューラルネットワーク)を用いる場合について例示する。このとき、追尾処理と、行動認識処理とを、同一のNNで並行して行う例を示し、そのためのNNの学習方法について説明する。追尾処理と行動認識処理とを、同一のNNで学習することで、全体として精度良く認識処理を行うことができると期待できる。以上のように本実施形態と第1、第2の実施形態とは、識別器が異なることによる構成および処理が主として異なる。具体的に、本実施形態において、第1、第2の実施形態と構成や動作が大きく異なるのは、追尾処理にNNを用いる点と、認識処理に行動認識用のNNを用いる点と、そのようなNNを学習する点と、の三点である。従って、本実施形態の説明において、第1、第2の実施形態と同一の部分については、図1〜図19に付した符号と同一の符号を付す等して詳細な説明を省略する。
ここで、物体の追尾処理にNNを用いる場合は、二つの物体位置候補に関する類似度の算出にNNを用いる。この点が、第1、第2の実施形態と異なる。また、第2の実施形態では、追尾された物体の属性の認識にNNを用いる。これに対し、本実施形態では、追尾された物体の属性の認識ではなく、追尾された物体の行動の認識にNNを用いる。この点が、第1、第2の実施形態と異なる。これらの変更点は微小である。以下、追尾処理と、行動認識処理とを、同一のNNで行うためのNNの学習方法の一例について詳細に記載する。
本実施形態で用いるNNの学習は、マルチタスクラーニングの枠組みで行われるものとする。NNのマルチタスクラーニングは、複数の異なる役割を持つ出力層を備えるNNによって実現することができる。本実施形態では、追尾処理に関する出力層と、物体の行動認識に関する出力層とを、同時に備えるNNを用いる。図20は、本実施形態で用いるNNの構成の一例を模式的に示す図である。図20において、NN(ニューラルネットワーク)2020は、その大部分が、図13に示したNN1320と同じ構成である。
ただし、出力層2021は、物体の行動認識に関する出力層であり、行動のラベルの種類だけ出力層のニューロンを備える。出力層2022は、追尾処理に関する出力層であり、追尾結果を出力する場合の例を示す。ここで、追尾結果は、正例・負例を意味する2値(2ラベル)で表わされるものとする。本実施形態では、出力層2022における二つのニューロンで出力層2022のニューロンを表現する。入力層2023は、追尾処理および行動認識の対象となる、少なくとも2枚の画像を入力として受け付ける。ここで、何枚の画像を受け付けるかによって、NNの構造が決めるため、何枚の画像を受け付けるかは、予め決められる。
ここで入力される複数枚の画像は、追尾パタンに関する画像情報に対応している。追尾対象の物体を正しく追尾できていれば、追尾結果として正例が与えられ、誤った追尾がなされていれば、追尾結果として負例が与えられていると考えることができる。ここで入力層2023は、非特許文献8で示されるTemporal Streamの入力層のように、複数のチャンネルを持つ入力層として表現されるものとする。非特許文献8では、入力画像としてオプティカルフローを使う場合について例示されている。本実施形態においても、そのようにしてもよい。
以上のようにすることで、行動認識処理と追尾処理とで必要な入力データの粒度を揃えることができる。
以上のようにすることで、行動認識処理と追尾処理とで必要な入力データの粒度を揃えることができる。
本実施形態における追尾処理と行動認識処理とのマルチタスクラーニングの目的関数は、以下の式(5)で与えられる。
Min Multi Task Loss=BehaviorRecogLoss+αTrackingLoss ・・・(5)
ここで、Multi Task Lossは、マルチタスクラーニング全体の誤差である。Minは、Multi Task Lossを最小化することを表す。BehaviorRecogLossは、行動認識に関する出力層の誤差である。TrackingLossは、追尾処理に関する出力層の誤差である。αは、タスク間の比を調整するハイパーパラメータを示す。ハイパーパラメータαに関しては手動で事前に決定する。式(5)を微分することで、NNを学習するための誤差逆伝播法の枠組みを利用することができるようになる。
Min Multi Task Loss=BehaviorRecogLoss+αTrackingLoss ・・・(5)
ここで、Multi Task Lossは、マルチタスクラーニング全体の誤差である。Minは、Multi Task Lossを最小化することを表す。BehaviorRecogLossは、行動認識に関する出力層の誤差である。TrackingLossは、追尾処理に関する出力層の誤差である。αは、タスク間の比を調整するハイパーパラメータを示す。ハイパーパラメータαに関しては手動で事前に決定する。式(5)を微分することで、NNを学習するための誤差逆伝播法の枠組みを利用することができるようになる。
ここで、行動認識処理と追尾処理とを同時に学習するために、行動認識のラベルに対して、"認識対象外"を示すNaNラベルを導入する。NaNラベルは、行動認識処理と追尾処理とを同時に学習する際に、追尾パタンの負例を入力データとして与える場合に、行動認識のラベルとして与えられるものとする。これは、追尾処理に関する負例を学習するために、追尾結果が失敗している追尾パタンを用いて行動認識処理を学習する必要がある。NaNラベルは、この学習によって精度良く学習できている行動認識処理側の破綻を防ぐ役割を持つ。
以上の学習方法では、行動認識に関するラベルと、追尾処理に関するラベルとが必要であり、予め学習データを作成する必要がある。学習データはどのように作成してもよく、例えば、非特許文献8で用いられている、UCF101公開データセットを用いてもよい。
以上の方法で学習したNNは、追尾パタンに関する画像情報が入力として与えられたとき、行動認識に関わる出力層には行動認識処理の結果が、追尾処理に関わる出力層には追尾処理の結果が出力される。これらの出力結果を、それぞれ認識部と追尾部とで用いることで、追尾処理と行動認識処理とを、同一のニューラルネットワークで行うことが可能となる。
以上の方法で学習したNNは、追尾パタンに関する画像情報が入力として与えられたとき、行動認識に関わる出力層には行動認識処理の結果が、追尾処理に関わる出力層には追尾処理の結果が出力される。これらの出力結果を、それぞれ認識部と追尾部とで用いることで、追尾処理と行動認識処理とを、同一のニューラルネットワークで行うことが可能となる。
以上のように本実施形態では、認識装置は、各追尾パタンの追尾スコアと、当該追尾パタンに関する画像情報に基づいた物体の行動の認識結果と、を出力するNNであって、追尾処理と行動認識処理とに関してマルチタスクラーニングされたNNを有する。認識装置は、複数の追尾パタンの一部を選択する。また、認識装置は、このNNから出力された物体の行動の認識結果を観測情報として、各追尾パタンそれぞれに関して予め学習された状態遷移確率と観測確率とに基づいて追尾対象の物体の状態を推定し、その尤度を導出する。そして、認識装置は、当該尤度に基づいて、複数の追尾パタンの一部を選択し、選択した追尾パタンを用いて次のタイミングの追尾パタンを生成する。従って、追尾性能が低下する場合でも異常検知の精度の低下を低減できると共に、計算時間の増大が低減される。
(その他の実施例)
尚、前述した実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
尚、前述した実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
本発明は、前述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
10、10a:認識装置、11:映像データ読込部、12:物体検出部、13、13a:追尾部、14:認識部
Claims (17)
- 認識対象を含む画像から、前記認識対象が存在すると推定される領域を抽出する抽出手段と、
同一の前記認識対象について異なる時刻の画像から前記抽出手段により抽出された前記領域の組み合わせによる複数のパタンを、当該認識対象に対するパタンとして生成する生成手段と、
同一の前記認識対象に対する複数の前記パタンを用いて当該認識対象の認識を行う認識手段と、
前記認識対象の認識を行うために必要な少なくとも1つの処理において使用される前記パタンとして、前記生成手段により生成された複数の前記パタンの一部を選択する選択手段と、を有することを特徴とする情報処理装置。 - 前記生成手段は、前記認識対象に対して既に生成している前記パタンを用いて、当該認識対象に対する新たな複数の前記パタンを生成し、
前記選択手段は、前記生成手段で前記認識対象に対する新たな複数の前記パタンを生成するために用いる前記パタンの選択と、前記認識手段で前記認識対象の認識を行うために用いる前記パタンの選択との少なくとも一方を行うことを特徴とする請求項1に記載の情報処理装置。 - 前記選択手段は、前記認識手段による認識の結果に対する評価指標に基づいて、前記生成手段が当該認識対象に対する新たな複数のパタンを生成するために用いる前記パタンを選択することを特徴とする請求項1または2に記載の情報処理装置。
- 前記認識手段は、前記認識手段による認識の結果に対する評価指標を導出することを特徴とする請求項3に記載の情報処理装置。
- 前記認識手段による認識の結果に対する評価指標は、前記認識手段により認識された認識対象の正常または異常の度合いを示す情報を含むことを特徴とする請求項3または4に記載の情報処理装置。
- 前記選択手段は、前記生成手段により生成された前記パタンを用いた前記認識対象の追尾の結果の確からしさに対する評価指標に基づいて、前記認識手段による当該認識対象の認識を行うために用いる前記パタンを選択することを特徴とする請求項1〜5の何れか1項に記載の情報処理装置。
- 前記生成手段により生成された前記パタンを用いた前記認識対象の追尾の結果の確からしさに対する評価指標を導出する導出手段を更に有することを特徴とする請求項6に記載の情報処理装置。
- 前記認識手段による処理の少なくとも一部と、前記導出手段による処理の少なくとも一部とを行うニューラルネットワークを有することを特徴とする請求項7に記載の情報処理装置。
- 前記認識手段は、前記認識対象の行動を認識することを特徴とする請求項8に記載の情報処理装置。
- 前記認識手段は、前記認識対象が正常であるか否かを認識することを特徴とする請求項1〜9の何れか1項に記載の情報処理装置。
- 前記認識手段は、前記認識対象に関するデータを入力し、当該認識対象の認識の結果として確率値を出力する確率モデルを用いて構築された認識器を用いて前記認識を行うことを特徴とする請求項1〜10の何れか1項に記載の情報処理装置。
- 前記確率モデルは、観測できる情報に基づいて、観測されない前記認識対象の状態を推定するモデルを含むことを特徴とする請求項11に記載の情報処理装置。
- 前記確率モデルは、観測されない前記認識対象のそれぞれの状態を推定するモデルを含むことを特徴とする請求項12に記載の情報処理装置。
- 前記観測できる情報は、前記認識対象の属性に関する情報、または前記認識対象が存在する環境に関する情報を含むことを特徴とする請求項12または13に記載の情報処理装置。
- 前記確率モデルは、観測できる情報に基づいて、観測されない前記認識対象のそれぞれの状態を推定するモデルと、当該モデルにより推定された前記認識対象のそれぞれの状態を観測できる情報として、前記画像の全体における前記認識対象の状態を推定するモデルとを有することを特徴とする請求項12〜14の何れか1項に記載の情報処理装置。
- 認識対象を含む画像から、前記認識対象が存在すると推定される領域を抽出する抽出工程と、
同一の前記認識対象について異なる時刻の画像から前記抽出工程により抽出された前記領域の組み合わせによる複数のパタンを、当該認識対象に対するパタンとして生成する生成工程と、
同一の前記認識対象に対する複数の前記パタンを用いて当該認識対象の認識を行う認識工程と、
前記認識対象の認識を行うために必要な少なくとも1つの処理において使用される前記パタンとして、前記生成工程により生成された複数の前記パタンの一部を選択する選択工程と、を有することを特徴とする情報処理方法。 - 請求項1〜15の何れか1項に記載の情報処理装置の各手段としてコンピュータを機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018088217A JP2019194758A (ja) | 2018-05-01 | 2018-05-01 | 情報処理装置、情報処理方法、およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018088217A JP2019194758A (ja) | 2018-05-01 | 2018-05-01 | 情報処理装置、情報処理方法、およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019194758A true JP2019194758A (ja) | 2019-11-07 |
Family
ID=68469315
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018088217A Pending JP2019194758A (ja) | 2018-05-01 | 2018-05-01 | 情報処理装置、情報処理方法、およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2019194758A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110221964A (zh) * | 2019-05-06 | 2019-09-10 | 福建天晴数码有限公司 | 基于深度信念网络的ui自动化测试方法、存储介质 |
WO2021079887A1 (ja) | 2019-10-25 | 2021-04-29 | 国立大学法人京都大学 | タウオパチーの予防又は治療剤 |
CN113844445A (zh) * | 2021-09-14 | 2021-12-28 | 浙江零跑科技股份有限公司 | 基于预测参考线坐标系的车辆自动紧急制动系统与方法 |
EP4428832A1 (en) * | 2023-03-08 | 2024-09-11 | Milestone Systems A/S | Video anomaly detection |
-
2018
- 2018-05-01 JP JP2018088217A patent/JP2019194758A/ja active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110221964A (zh) * | 2019-05-06 | 2019-09-10 | 福建天晴数码有限公司 | 基于深度信念网络的ui自动化测试方法、存储介质 |
WO2021079887A1 (ja) | 2019-10-25 | 2021-04-29 | 国立大学法人京都大学 | タウオパチーの予防又は治療剤 |
CN113844445A (zh) * | 2021-09-14 | 2021-12-28 | 浙江零跑科技股份有限公司 | 基于预测参考线坐标系的车辆自动紧急制动系统与方法 |
CN113844445B (zh) * | 2021-09-14 | 2022-12-30 | 浙江零跑科技股份有限公司 | 基于预测参考线坐标系的车辆自动紧急制动系统与方法 |
EP4428832A1 (en) * | 2023-03-08 | 2024-09-11 | Milestone Systems A/S | Video anomaly detection |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Feng et al. | Multi-object tracking with multiple cues and switcher-aware classification | |
Wang et al. | A self-training approach for point-supervised object detection and counting in crowds | |
Tang et al. | Multiple people tracking by lifted multicut and person re-identification | |
US11580747B2 (en) | Multi-spatial scale analytics | |
US8548198B2 (en) | Identifying anomalous object types during classification | |
Wang et al. | Greedy batch-based minimum-cost flows for tracking multiple objects | |
Xu et al. | Deepmot: A differentiable framework for training multiple object trackers | |
JP2019194758A (ja) | 情報処理装置、情報処理方法、およびプログラム | |
US20150310297A1 (en) | Systems and methods for computer vision background estimation using foreground-aware statistical models | |
US8270732B2 (en) | Clustering nodes in a self-organizing map using an adaptive resonance theory network | |
Hofmann et al. | Unified hierarchical multi-object tracking using global data association | |
JP6617085B2 (ja) | 物体状況推定システム、物体状況推定装置、物体状況推定方法、及び物体状況推定プログラム | |
CN109711344B (zh) | 一种前端智能化的特定异常行为检测方法 | |
Ranjith et al. | Anomaly detection using DBSCAN clustering technique for traffic video surveillance | |
Chen et al. | Deep structured prediction for facial landmark detection | |
Song et al. | A multi-temporal framework for high-level activity analysis: Violent event detection in visual surveillance | |
JP2017162409A (ja) | 顔の表情と動作の認識装置及び方法 | |
Gündüz et al. | Efficient multi-object tracking by strong associations on temporal window | |
Delibasoglu et al. | Motion detection in moving camera videos using background modeling and FlowNet | |
Yang et al. | Video anomaly detection for surveillance based on effective frame area | |
CN116824641B (zh) | 姿态分类方法、装置、设备和计算机存储介质 | |
Yang et al. | Improved visual background extractor with adaptive range change | |
Lu et al. | Detecting unattended packages through human activity recognition and object association | |
Thangaraj et al. | A competent frame work for efficient object detection, tracking and classification | |
Sharma et al. | Intelligent camera selection decisions for target tracking in a camera network |