(57)【特許請求の範囲】
【請求項１】
複数の画像を取得する画像取得部と、
１フレームの画像に含まれる複数の移動体から、動きの大きさと動きの方向とによって決定される複数の動きベクトルを抽出する動き抽出部と、
前記複数の動きベクトルの動きベクトルごとに生起確率を計算し、少なくともいずれかの前記生起確率に重み付けを行う重み付け部と、
重み付けされた前記生起確率に基づいて、前記１フレームの散乱度を計算する散乱度計算部と、
前記散乱度と閾値とを比較し、比較結果に基づいて異常を検出する検出部と、
を備える異常検出装置。
【請求項２】
前記重み付け部は、
前記生起確率が計算される前記動きベクトルの前記動きの大きさに応じて、前記生起確率に重み付けを行う請求項１に記載の異常検出装置。
【請求項３】
前記重み付け部は、
前記生起確率が計算される前記動きベクトルの前記動きの方向に応じて、前記生起確率に重み付けを行う請求項１または請求項２に記載の異常検出装置。
【請求項４】
前記動き抽出部は、
前記１フレームから前記１フレームの一部分の部分領域を抽出し、前記部分領域から複数の動きベクトルを抽出し、前記１フレームのうち前記部分領域が除かれた除外領域から複数の動きベクトルを抽出し、
前記重み付け部は、
前記部分領域から抽出された前記複数の動きベクトルの動きベクトルごとに生起確率を計算し、前記除外領域から抽出された前記複数の動きベクトルの動きベクトルごとに生起確率を計算し、前記部分領域に基づき計算された生起確率に、前記除外領域に基づき計算された生起確率と異なる重み付けを行う請求項１から請求項３のいずれか１項に記載の異常検出装置。
【請求項５】
前記検出部は、
前記比較結果と、少なくとも一つのフレームにおける前景面積とに基づいて、異常を検出する請求項１から請求項４のいずれか１項に記載の異常検出装置。
【請求項６】
コンピュータに、
複数の画像を取得する処理と、
１フレームの画像に含まれる複数の移動体から、動きの大きさと動きの方向とによって決定される複数の動きベクトルを抽出する処理と、
前記複数の動きベクトルの動きベクトルごとに生起確率を計算し、少なくともいずれかの前記生起確率に重み付けを行う処理と、
重み付けされた前記生起確率に基づいて、前記１フレームの散乱度を計算する処理と、
前記散乱度と閾値とを比較し、比較結果に基づいて異常を検出する処理と、
を実行させる異常検出プログラム。
【請求項７】
コンピュータが、
複数の画像を取得し、
１フレームの画像に含まれる複数の移動体から、動きの大きさと動きの方向とによって決定される複数の動きベクトルを抽出し、
前記複数の動きベクトルの動きベクトルごとに生起確率を計算し、少なくともいずれかの前記生起確率に重み付けを行い、
重み付けされた前記生起確率に基づいて、前記１フレームの散乱度を計算し、
前記散乱度と閾値とを比較し、比較結果に基づいて異常を検出する、
異常検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、画像に撮影された群集の動きから異常行動を検出する、異常検出装置、異常検出プログラム及び異常検出方法に関する。
【背景技術】
【０００２】
従来では、群集の動きから異常行動を検知する技術がある（例えば非特許文献１）。非特許文献１の技術は、動きを前景の時間的変化から検出し、連続する数フレームぶん前景画像を足し合わせたＡｃｔｉｖｉｔｙ  ｍａｐを作成する。Ａｃｔｉｖｉｔｙ  ｍａｐのヒストグラムから計算した画素値の発生頻度に対するシャノンエントロピーが高く、かつ、連続する異なる時間に作られたＡｃｔｉｖｉｔｙ  ｍａｐの差分が大きい場合に、異常行動が検知される。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Ａ．Ｐｅｎｎｉｓｉ  ｅｔ  ａｌ，“Ｏｎｌｉｎｅ  ｒｅａｌ−ｔｉｍｅ  ｃｒｏｗｄ  ｂｅｈａｖｉｏｒ  ｄｅｔｅｃｔｉｏｎ  ｉｎ  ｖｉｄｅｏ  ｓｅｑｕｅｎｃｅｓ”，Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ  ａｎｄ  Ｉｍａｇｅ  Ｕｎｄｅｒｓｔａｎｄｉｎｇ，１４４，ｐｐ１６６−１７６（Ｍａｒｃｈ  ２０１６））
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし非特許文献１の技術では、群集が移動を続けている状況を常に異常と判定してしまうため、駅のように絶えず規則的に群集が行き来する場所では、正常状態を異常状態と誤検知する可能性がある。また、従来技術の多くは特定の異常行動検知に特化しており、複数の異常行動を検知して、各異常行動の種類を判別する技術はない。【０００５】
この発明は、群集の正常行動を異常行動と誤検知することなく、異常行動を正確に検知する装置の提供を目的とする。
【課題を解決するための手段】
【０００６】
この発明の異常検出装置は、
複数の画像を取得する画像取得部と、
１フレームの画像に含まれる複数の移動体から、動きの大きさと動きの方向とによって決定される複数の動きベクトルを抽出する動き抽出部と、
前記複数の動きベクトルの動きベクトルごとに生起確率を計算し、少なくともいずれかの前記生起確率に重み付けを行う重み付け部と、
重み付けされた前記生起確率に基づいて、前記１フレームの散乱度を計算する散乱度計算部と、
前記散乱度と閾値とを比較し、比較結果に基づいて異常を検出する検出部と、
を備える。
【発明の効果】
【０００７】
本発明によれば、群集の正常行動を異常行動と誤検知することなく、異常行動を正確に検知する装置を提供できる。
【図面の簡単な説明】
【０００８】
【図１】実施の形態１の図で、異常検出装置１００のハードウェア構成を示す図。
【図２】実施の形態１の図で、異常検出装置１００の行う異常検出処理の流れを示す図。
【図３】実施の形態１の図で、異常検出装置１００の動作のフローチャート。
【図４】実施の形態１の図で、複数の人６１が不規則に動くことを示す図。
【図５】実施の形態１の図で、１フレームであるフレーム７２を示す図。
【図６】実施の形態１の図で、動きベクトルｖｔ（ｒ、θ）及び生起確率ｐｔ（ｒ、θ）を説明する図。
【図７】実施の形態１の図で、散乱度計算部１４が計算する散乱度Ｅｔと生起確率ｐｔ（ｒ、θ）との関係を示す図。
【図８】実施の形態１の図で、検出部１５による異常の検出を示す図。
【図９】実施の形態１の図で、フレーム７１を示す図。
【図１０】実施の形態１の図で、図９から得られる生起確率ｐｔ（ｒ、θ）を模式的に示す図。
【図１１】実施の形態１の図で、対流を説明するフレーム７３を示す図。
【図１２】実施の形態１の図で、図１１から得られる生起確率ｐｔ（ｒ、θ）を模式的に示す図。
【図１３】実施の形態１の図で、映像エリア８１を示す図。
【図１４】実施の形態１の図で、図１３から得られる生起確率ｐｔ（ｒ、θ）を模式的に示す図。
【図１５】実施の形態１の図で、逆走を説明するフレーム７５を示す図。
【図１６】実施の形態１の図で、図１５から得られる生起確率ｐｔ（ｒ、θ）を模式的に示す図。
【図１７】実施の形態１の図で、検出部１５が異常の種類を検出する第１の例を示す図。
【図１８】実施の形態１の図で、検出部１５が異常の種類を検出する第２の例を示す図。
【図１９】実施の形態１の図で、異常検出装置１００の変形例２に係る異常検出装置１００の構成を示す図。
【発明を実施するための形態】
【０００９】
以下、本発明の実施の形態について、図を用いて説明する。なお、各図中、同一または相当する部分には、同一符号を付している。実施の形態の説明において、同一または相当する部分については、説明を適宜省略または簡略化する。
【００１０】
実施の形態１．
図１から図１９を参照して、実施の形態１の異常検出装置１００を説明する。異常検出装置１００は、画像を構成する複数のフレームの各フレームの散乱度を計算し、散乱度の変化から画像に発生している異常を検出する装置である。
【００１１】
＊＊＊構成の説明＊＊＊
図１は、異常検出装置１００のハードウェア構成を示す。異常検出装置１００は、コンピュータである。異常検出装置１００は、プロセッサ１０を備えるとともに、主記憶装置２０、補助記憶装置３０、入力インタフェース４０及び出力インタフェース５０といった他のハードウェアを備える。プロセッサ１０は、信号線１０１を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【００１２】
異常検出装置１００は、機能要素として、画像取得部１１、動き抽出部１２，重み付け部１３，散乱度計算部１４及び検出部１５を備える。画像取得部１１、動き抽出部１２，重み付け部１３，散乱度計算部１４及び検出部１５の機能は、ソフトウェアである異常検出プログラムにより実現される。
【００１３】
プロセッサ１０は、異常検出プログラムを実行する装置である。異常検出プログラムは、画像取得部１１、動き抽出部１２，重み付け部１３，散乱度計算部１４及び検出部１５の機能を実現するプログラムである。プロセッサ１０は、演算処理を行うＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）である。プロセッサ１０の具体例は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。
【００１４】
主記憶装置２０は、データを一時的に記憶する記憶装置である。主記憶装置２０の具体例は、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。主記憶装置２０は、プロセッサ１０の演算結果を保持する。
【００１５】
補助記憶装置３０は、データを不揮発的に保管する記憶装置である。補助記憶装置３０の具体例は、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）である。また、補助記憶装置３０は、ＳＤ（登録商標）（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）メモリカード、ＣＦ（ＣｏｍｐａｃｔＦｌａｓｈ）、ＮＡＮＤフラッシュ、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ（登録商標）ディスク、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）といった可搬記録媒体であってもよい。
【００１６】
入力インタフェース４０は、各種機器が接続され、各種機器のデータが入力されるポートである。図１では入力インタフェース４０にはカメラ２００が接続され、カメラ２００の画像が入力される。
【００１７】
出力インタフェース５０は、各種機器が接続され、各種機器にプロセッサ１０によりデータが出力されるポートである。検出部１５による検出結果のような処理結果が、出力インタフェース５０を介して各種機器へ出力される。
【００１８】
異常検出プログラムは、主記憶装置２０に記憶されている。異常検出プログラムは主記憶装置２０からプロセッサ１０に読み込まれ、プロセッサ１０によって実行される。主記憶装置２０には、異常検出プログラムだけでなく、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）も記憶されている。
プロセッサ１０は、ＯＳを実行しながら、異常検出プログラムを実行する。
【００１９】
異常検出プログラム及びＯＳは、補助記憶装置３０に記憶されていてもよい。補助記憶装置３０に記憶されている異常検出プログラム及びＯＳは、主記憶装置２０にロードされ、プロセッサ１０によって実行される。なお、異常検出プログラムの一部または全部がＯＳに組み込まれていてもよい。
【００２０】
異常検出装置１００は、プロセッサ１０を代替する複数のプロセッサを備えていてもよい。例えば、異常検出装置１００は、別途、画像処理プロセッサを備えてもよい。これら複数のプロセッサは、異常検出プログラムの実行を分担する。それぞれのプロセッサは、プロセッサ１０と同じように、異常検出プログラムを実行する装置である。
【００２１】
異常検出プログラムにより利用、処理または出力されるデータ、情報、信号値及び変数値は、主記憶装置２０、補助記憶装置３０、または、プロセッサ１０内のレジスタあるいはキャッシュメモリに記憶される。
【００２２】
異常検出プログラムは、画像取得部１１、動き抽出部１２，重み付け部１３，散乱度計算部１４及び検出部１５の各部の「部」を「処理」、「手順」あるいは「工程」に読み替えた各処理、各手順あるいは各工程をコンピュータに実行させるプログラムである。
【００２３】
また、異常検出方法は、コンピュータである異常検出装置１００が異常検出プログラムを実行することにより行われる方法である。異常検出プログラムは、コンピュータ読取可能な記録媒体に格納されて提供されてもよいし、プログラムプロダクトとして提供されてもよい。
【００２４】
＊＊＊動作の説明＊＊＊
以下に異常検出装置１００の動作を説明する。異常検出装置１００の動作は、異常検出方法に相当する。異常検出方法の手順は、異常検出プログラムの手順に相当する。
【００２５】
図２は、異常検出装置１００の行う異常検出処理の流れを示す。
図３は、異常検出装置１００の動作のフローチャートである。図２では図３に対応する処理に、図３のステップ番号を付している。図２及び図３を参照して、異常検出装置１００の動作概要を説明する。
【００２６】
ステップＳ１０１において、画像取得部１１が複数の画像を取得する。具体的には、図１に示すように、画像取得部１１は、入力インタフェース４０を介して、カメラ２００から複数の画像を取得する。
ステップＳ１０２において、動き抽出部１２は、１フレームの画像に含まれる複数の移動体から、動きの大きさと動きの方向とによって決定される複数の動きベクトルを抽出する。動きベクトルは動きベクトルｖｔ（ｒ、θ）または単にｖｔ（ｒ、θ）と表記する。動きベクトルｖｔ（ｒ、θ）については後述する。添え字のｔは１フレーム関することを意味する。
なお、実施の形態１では、動きベクトルｖｔ（ｒ、θ）を抽出する移動体として人を例にしている。しかし、動きベクトルｖｔ（ｒ、θ）を抽出する移動体は、人に限られない。移動体は、昆虫、車両、液体に浮いている浮遊物のような、あらゆる移動体を対象とすることができる。
【００２７】
ステップＳ１０３において、重み付け部１３は、複数の動きベクトルｖｔ（ｒ、θ）の動きベクトルｖｔ（ｒ、θ）ごとに、生起確率ｐｔ（ｒ，θ）を計算する。重み付け部１３は、少なくともいずれかの生起確率ｐｔ（ｒ、θ）に重み付けを行う。生起確率は生起確率ｐｔ（ｒ、θ）または単にｐｔ（ｒ、θ）と表記する。生起確率ｐｔ（ｒ、θ）については後述する。
なお添え字のｔは１フレーム関することを意味する。生起確率ｐｔ（ｒ、θ）は動きベクトルｖｔ（ｒ、θ）に一対一に対応している。実施の形態１では、重み付け部１３による重み付けは、タイプ１からタイプ４を説明する。タイプ１からタイプ４の重み付けは、後述する。
【００２８】
ステップＳ１０４において、散乱度計算部１４は、重み付けされた生起確率ｐｔ（ｒ、θ）に基づいて、１フレームの散乱度Ｅｔを計算する。散乱度はエントロピーとも呼ばれる。散乱度Ｅｔの詳細は後述する。
ステップＳ１０５において、検出部１５は、散乱度Ｅｔと閾値ＴＨとを比較し、比較結果に基づいて異常を検出する。閾値ＴＨは、検出部１５に設定されている。
【００２９】
図４から図６を参照して動きベクトルｖｔ（ｒ、θ）を説明する。画像の１フレームを対象として動きベクトルｖｔ（ｒ、θ）を説明する。
図４は、画像の１フレームであるフレーム７１を示す。フレーム７１は不規則に動く群集を示す。不規則に動く群集では散乱度Ｅｔは大きくなる。図４では、丸形状で示す複数の人６１が、不規則に動くことを示す。丸形状の一つ一つが人を示している。人６１を示す丸形状に付されている矢印８２の方向が人の動く方向を示し、矢印の大きさが人の動く速さを示す。動きベクトルｖｔ（ｒ、θ）と区別するため、矢印８２を人ベクトル８２と呼ぶこととする。
図５は、画像の１フレームであるフレーム７２を示す。フレーム７２は規則的に動く群集を示す。規則的に動く群集では散乱度Ｅｔは小さくなる。
図６は、動きベクトルｖｔ（ｒ、θ）及び生起確率ｐｔ（ｒ、θ）を説明する図である。図４のフレーム７１を想定して説明する。図６の最上段は、人ベクトル８２の方向θの分布を示す図である。横軸は人ベクトル８２の方向θを示し、縦軸は方向θの数Ｎθを示す。右側の円は方向θの計測方向を示している。方向θはＸ軸を基準に左回りに測る。図４、図５、図９、図１１、図１３及び図１５にはＸ−Ｙ座標を示している。図６の２段目は、人ベクトル８２の大きさｒの分布を示す図である。横軸は人ベクトル８２の大きさｒを示し、縦軸は大きさｒの数Ｎｒを示す。図６の３段目は、動きベクトルｖｔ（ｒ、θ）の分布を模式的に示している。動きベクトルｖｔ（ｒ、θ）は、動き抽出部１２によってフレーム７１から抽出される。動きベクトルｖｔ（ｒ、θ）はフレーム７１と異なる別のフレームを参照して求められる。動きベクトルｖｔ（ｒ、θ）は大きさｒ及び方向θから決まるので、複数人の人ベクトル８２が同一のときは、複数の同一の人ベクトル８２は一つの動きベクトルｖｔ（ｒ、θ）に集約される。図６の４段目は、動きベクトルｖｔ（ｒ、θ）の生起確率ｐｔ（ｒ、θ）の分布を模式的に示している。重み付け部１３は、動きベクトルｖｔ（ｒ、θ）ごとに生起確率ｐｔ（ｒ、θ）を計算する。
【００３０】
図７は、散乱度計算部１４が計算する散乱度Ｅｔ、生起確率ｐｔ（ｒ、θ）、重みとの関係を示す。散乱度Ｅｔの式においてｌｏｇ［ｐｔ（ｒ、θ）］は情報量と呼ばれることがある。図７に示す式１は、重みがないときの散乱度Ｅｔの式である。図７に示す式２は、重みｗｒ，θを反映するときの散乱度Ｅｔの式である。重みｗｒ，θの詳細は後述する。
図８は、検出部１５による異常の検出を示すグラフである。散乱度Ｅｔはｔごと、つまりフレームごとに計算されるが、これが図８の横軸の時間に対応する。図８の縦軸は散乱度Ｅｔの大きさである。検出部１５は、散乱度Ｅｔが閾値ＴＨ以上となった場合に、取得する画像に異常があると判定する。図８では、検出部１５によって異常時間帯が異常と検出される。
図８のグラフは、検出部１５によって、図２のステップＳ１０３に示すタイプ１からタイプ４のそれぞれについて生成される。
閾値ＴＨは、タイプ１からタイプ４のそれぞれについて設定されている。例えば、各閾値ＴＨは、検出部１５を実現する異常検出プログラムに設定されている。閾値ＴＨはタイプごとに異なる種類の閾値が設定されている。図２の場合であれば、タイプ１の閾値ＴＨは混乱を示す閾値であり、タイプ２の閾値ＴＨは対流を示す閾値であり、タイプ３の閾値ＴＨは合流を示す閾値であり、タイプ２の閾値ＴＨは逆送を示す閾値である。よって、検出部１５は、異常として、異常の発生と、発生した異常の種類とを検出できる。
具体的には以下のようである。検出部１５は散乱度Ｅｔが閾値ＴＨを超えた場合に異常の発生を検出できる。また、検出部１５は、散乱度Ｅｔが閾値ＴＨを超えた場合に、閾値ＴＨの種類から、発生した異常の種類を検出できる。
【００３１】
図２に戻って説明する。異常検出装置１００は、ステップＳ１０１で取得する監視画像を対象として、ステップＳ１０３において、並列処理によって、タイプ１からタイプ４の重み付け処理を行う。なお、同時にタイプ１からタイプ４の重み付け処理を行う方式に限らず、タイプ１からタイプ４のうち、どれか一つ、またはどれか二つ、またはどれか三つ以上を選択できる構成でも良い。重み付け部１３は選択指令に従って重み付け処理を行う。
【００３２】
＜タイプ１＞
図９及び図１０を参照して、重み付け部１３が行う重み付け処理のタイプ１を説明する。タイプ１では、重み付け部１３は、生起確率ｐｔ（ｒ、θ）が計算される動きベクトルｖｔ（ｒ、θ）の動きの大きさにｒ応じて、生起確率ｐｔ（ｒ、θ）に重み付けを行う。
タイプ１によって異常状態として混乱状態を検知できる。言い換えれば、タイプ１で異常と検出された状態が混乱状態である。
図９は、図４と同一のフレーム７１である。
図１０は、図９から得られる生起確率ｐｔ（ｒ、θ）を模式的に示す。生起確率ｐｔ（ｒ、θ）は大きさｒ及び方向θで決まるが、タイプ１では、大きさｒが大きいほど、重みｗｒ，θを大きくする。ｗｒ，θを大きさｒに比例させてもよい。なお、情報量ｌｏｇ［ｐｔ（ｒ、θ）］の生起確率ｐｔ（ｒ、θ）には，重みｗｒ，θは反映させない。重みｗｒ，θは、情報量ｌｏｇ［ｐｔ（ｒ、θ）］と掛け算される生起確率ｐｔ（ｒ、θ）に反映する。これはタイプ１からタイプ４とも同じである。
【００３３】
＜タイプ２＞
図１１及び図１２を参照して、重み付け部１３が行う重み付け処理のタイプ２を説明する。タイプ２では、重み付け部１３は、生起確率ｐｔ（ｒ、θ）が計算される動きベクトルｖｔ（ｒ、θ）の動きの方向θに応じて、生起確率ｐｔ（ｒ、θ）に重み付けを行う。より具体的には、タイプ２では１フレームを左右に分けて、画面左側と画面右側とで異なる重み付けを行う。タイプ２によって異常状態として対流状態を検知できる。言い換えれば、タイプ２で異常と検出された状態が対流状態である。
図１１は、対流を説明するフレーム７３である。図１１では、画面左側の人ベクトル８２は右方向にそろっており、画面右側の人ベクトル８２は左方向にそろっている。
図１２は、図１１から得られる生起確率ｐｔ（ｒ、θ）を模式的に示す。生起確率ｐｔ（ｒ、θ）は大きさｒ及び方向θで決まるが、タイプ２では、方向θに応じて重み付けを行う。タイプ２の特徴は、画面左側と画面右側とで重み付けする方向が異なる点である。画面左側では、図１２の一番上（３／２＊π≦θ≦２π）と、一番下の領域（０≦θ≦π／２）とが重み付けの対象となる。画面右側では、図１２の中央（π／２≦θ≦３／２＊π）の領域が重み付けの対象となる。重み付け部１３は、重み付けの対象となる領域の生起確率ｐｔ（ｒ、θ）に、対応する大きさｒの値に応じて重みｗｒ，θを付けてもよい。例えば、重みｗｒ，θを大きさｒに比例させてもよい。あるいは重み付け部１３は、重みｗｒ，θとして、固定値を与えてもよい。図１１をみるとわかるように、画面左側は右方向が強調され、画面右側は左方向が強調されるので、対流を検出しやすい。
【００３４】
＜タイプ３＞
図１３及び図１４を参照して、重み付け部１３が行う重み付け処理のタイプ３を説明する。行う重み付け処理のタイプ３では、重み付け部１３は１フレームにおける映像エリア８１に応じた重み付けを行う。図１３のフレーム７４は１フレームである。
図１３は、映像エリア８１を示す図である。図１３の映像エリア８１は、合流領域８３から本線８４への合流を示している。
図１４は、図１３から得られる生起確率ｐｔ（ｒ、θ）を模式的に示す。
動き抽出部１２は、フレーム７４から１フレームの部分領域である映像エリア８１を抽出し、映像エリア８１から複数の動きベクトルを抽出する。また、動き抽出部１２は、１フレームのうち映像エリア８１が除かれた除外領域から複数の動きベクトルを抽出する。図１３において除外領域は、フレーム７４のうち、映像エリア８１が除かれた領域である。
重み付け部１３は、映像エリア８１から抽出された複数の動きベクトルの動きベクトルごとに生起確率を計算する。また、重み付け部１３は、除外領域から抽出された複数の動きベクトルの動きベクトルごとに生起確率を計算する。
重み付け部１３は、映像エリア８１に基づき計算された複数の生起確率に、除外領域に基づき計算された複数の生起確率と異なる重み付けを行う。
具体的には、以下のようである。映像エリア８１で抽出される動きベクトルｖｔ（ｒ、θ）をｖｉｎ，ｔ（ｒ、θ）と表記し、除外領域で抽出される動きベクトルｖｔ（ｒ、θ）をｖｏｕｔ，ｔ（ｒ、θ）と表記する。また、動きベクトルｖｉｎ，ｔ（ｒ、θ）の生起確率をｐｉｎ，ｔ（ｒ、θ）と表記し、動きベクトルｖｏｕｔ，ｔ（ｒ、θ）の生起確率をｐｏｕｔ，ｔ（ｒ、θ）と表記する。散乱度計算部１４は図７の（式２）において、ｐｉｎ，ｔ（ｒ、θ）とｐｏｕｔ，ｔ（ｒ、θ）とを区別する。つまり図７の（式２）において、ｐｉｎ，ｔ（ｒ、θ）とｐｏｕｔ，ｔ（ｒ、θ）とは、異なる項として扱われる。
動き抽出部１２は、フレーム７４から映像エリア８１を抽出し、映像エリア８１から複数の動きベクトルｖｉｎ，ｔ（ｒ、θ）を抽出する。動き抽出部１２は、除外領域から複数の動きベクトルｖｏｕｔ，ｔ（ｒ、θ）を抽出する。
重み付け部１３は、映像エリア８１から抽出された複数の動きベクトルｖｉｎ，ｔ（ｒ、θ）の動きベクトルごとに生起確率ｐｉｎ，ｔ（ｒ、θ）を計算する。また、重み付け部１３は、除外領域から抽出された複数の動きベクトルｖｏｕｔ，ｔ（ｒ、θ）の動きベクトルごとに生起確率ｐｏｕｔ，ｔ（ｒ、θ）を計算する。
図１４の破線で示す範囲は、動き抽出部１２が映像エリア８１から抽出した動きベクトルｖｉｎ，ｔ（ｒ、θ）に対応する生起確率ｐｉｎ，ｔ（ｒ、θ）の範囲を示す。図１４の破線で示す範囲には９つの生起確率ｐｉｎ，ｔ（ｒ、θ）を点で示している。重み付け部１３は、映像エリア８１に基づき計算された複数の生起確率ｐｉｎ，ｔ（ｒ、θ）に、除外領域に基づき計算された複数の生起確率ｐｏｕｔ，ｔ（ｒ、θ）と異なる重み付けを行う。例えば、重み付け部１３は、複数の生起確率ｐｉｎ，ｔ（ｒ、θ）には、生起確率ｐｉｎ，ｔ（ｒ、θ）の大きさｒに反比例する重みｗｒ，θを生起確率ｐｉｎ，ｔ（ｒ、θ）に乗じ、複数の生起確率ｐｏｕｔ，ｔ（ｒ、θ）には重みｗｒ，θとしてゼロを乗じる。これによって、映像エリア８１の状態を強調して検出できる効果がある。
【００３５】
＜タイプ４＞
図１５及び図１６を参照して、重み付け部１３が行う重み付け処理のタイプ４を説明する。タイプ４はタイプ２に類似するが、タイプ４はタイプ２に対して画面を左右に分けずに、１フレーム全体で、生起確率ｐｔ（ｒ、θ）における方向θに応じて、重み付け部１３が重み付けを行う。タイプ４によって異常状態として逆走状態を検知できる。言い換えれば、タイプ４で異常と検出された状態が逆走状態である。
図１５は、逆走を説明するフレーム７５である。図１５では、複数の人６１の人ベクトル８２は左方向にそろっている。黒い丸で示す人６２の人ベクトル８２のみが左方向である。
図１６は、図１５から得られる生起確率ｐｔ（ｒ、θ）を模式的に示す。タイプ４では、方向θに応じて生起確率ｐｔ（ｒ、θ）に、重みｗｒ，θが与えられる。図１５については、図１６の一番上（３／２＊π≦θ≦２π）と、一番下の領域（０≦θ≦π／２）とは、重みｗｒ，θがゼロである。中央（π／２≦θ≦３／２＊π）の領域では、重み付け部１３は大きさｒに比例する重みｗｒ，θを生起確率ｐｔ（ｒ、θ）に与える。この重み付けにより、図１５の人６２の逆走を検出できる。
【００３６】
以上のように、重み付け部１３はタイプ１からタイプ４の重み付を行う。散乱度計算部１４は、重み付け部１３によって計算された重みｗｒ，θを用いて、散乱度Ｅｔを計算する。検出部１５は、図８で述べたように、散乱度Ｅｔが閾値ＴＨ以上になった場合に、異常と判定する。以上の処理によって、混乱、対流、合流及び逆走のような異常を感度よく検出することができる。また、これらのタイプに限らず、任意の重みを付けることで、任意の異常を検出することができる。
【００３７】
＜変形例１＞
異常検出装置１００の変形例１として、検出部１５がフレームの前景の面積を使用して、異常を特定する方式を説明する。検出部１５は、閾値ＴＨと散乱度Ｅｔとの比較結果と、少なくとも一つのフレームにおける前景面積とに基づいて、異常を検出する。
前景の面積を使用する具体例としては、特定のフレームの前景の形状又は異常が検出されたフレームの前景の形状から、異常の種類を特定することができる。
あるいは複数フレームにおける前景の面積変化から、異常の種類を特定することができる。複数フレームにおける前景の面積変化から異常の種類を特定する場合は、検出部１５は、フレームｔ、フレームｔ＋１、フレームｔ＋２，．．．の複数フレームにわたる、前景の面積変化を計算する。検出部１５は、前景の面積変化と、図８に示す散乱度Ｅｔの変化とを用いて、異常として、具体的な異常の種類を検出することができる。
【００３８】
図１７は、検出部１５が前景面積の変化を使用して、異常を検出する第１の例を示す。図１７の上側のグラフは、図８に示すグラフと同じである。図１７の下側のグラフは、時間経過に伴う前景の面積変化のグラフである。下側のグラフでは、前景の面積は、異常時間帯の前から、異常時間帯にかけて増加している。そして、前景の面積は、異常時間帯から異常時間帯の後にかけて、ほぼ最大値を保っている。つまり、異常時間帯の後は散乱度Ｅｔは小さくなっていること、及び、前景の面積はほぼ最大値を保っていることとから、検出部１５は、異常の種類を蝟集と判定する。図１７では異常時間帯の前では、「（１）正常」の状態である。異常時間帯の範囲では検出部１５によって「（２）異常」が検出されている。「（２）異常」は実際には動きのある混乱または集合である。異常時間帯の後、検出部１５は、閾値ＴＨと散乱度Ｅｔとの比較結果と、複数のフレームにおける前景面積の変化とに基づいて、「（３）異常」の種類を蝟集と検出している。このように、前景面積の変化を使用することで、検出部１５は蝟集のような動きの発生しない異常も検出することができる。
【００３９】
図１８は、検出部１５が前景面積の変化を使用して、異常を検出する第２の例を示す。図１８の上側のグラフは、図８に示すグラフと同じである。図１８の下側のグラフは、時間経過に伴う前景の面積変化のグラフである。下側のグラフでは、前景の面積は、異常時間帯の前から、異常時間帯にかけて減少している。そして、前景の面積は、異常時間帯から異常時間帯の後にかけて、ほぼ最小値を保っている。つまり、異常時間帯の後では散乱度Ｅｔは小さくなっていること、及び、前景の面積はほぼ最小値を保っていることとから、検出部１５は、異常の種類を避難と判定する。図１８では異常時間帯の前では、「（１）正常」の状態である。異常時間帯の範囲では検出部１５によって「（２）異常」が検出されている。「（２）異常」は実際には混乱または避難である。異常時間帯の後、検出部１５は、閾値ＴＨと散乱度Ｅｔとの比較結果と、複数のフレームにおける前景面積の変化とに基づいて、「（３）異常」の種類を非難と検出している。このように、前景面積の変化を使用することで、検出部１５は異常時間帯に発生していた異常の種類を検出できる。
【００４０】
図１７及び図１８では、検出部１５は散乱度Ｅｔの変化と前景の面積変化とから異常の種類を検出することができる。具体的には、散乱度Ｅｔの変化及び前景の面積変化に異常の種類が対応付けられた対応情報が、異常の種類ごとに検出部１５に設定されている。検出部１５は対応情報を参照して異常の種類を検出することができる。なお、図１７及び図１８の例に限らず、異常検出装置１００は、様々な異常の種類を検出することができる。
【００４１】
＊＊＊実施の形態１の効果＊＊＊
（１）異常検出装置１００は重み付け部１３によって生起確率ｐｔ（ｒ、θ）に重み付けするので、多様な異常行動を正確に検出できる。具体的には、駅のように多くの人が集まる環境における雑踏事故防止は、パブリックセーフティを実現するための重要な要素の一つである。  雑踏事故の一因として、不審物または急病人に起因するパニック状態の発生がある。パニック状態の予兆として、群集が入り乱れて動き回る「混乱行動」、あるいは群集が一箇所に集まる「蝟集行動」がある。そのため、これら予兆の早期発見が雑踏事故の防止に有効である。異常検出装置１００は重み付け部１３を有するので、これら予兆の早期発見が可能である。
（２）また、異常行動の種類に応じて「警備員派遣」または「避難誘導」など、対処法が異なる。従って、異常行動の種類を特定することは有効である。異常検出装置１００の検出部１５は、散乱度Ｅｔの変化と前景の面積変化とから異常の種類を検出するので、異常行動の種類に応じた対処法を選択することができる。
【００４２】
＜変形例２＞
図１の異常検出装置１００では、異常検出装置１００の機能がソフトウェアで実現されるが、変形例２として、異常検出装置１００の機能がハードウェアで実現されてもよい。
図１９は、異常検出装置１００の変形例２に係る異常検出装置１００の構成を示す。図１９の電子回路９０は、画像取得部１１、動き抽出部１２，重み付け部１３，散乱度計算部１４、検出部１５、主記憶装置２０、補助記憶装置３０、入力インタフェース４０及び出力インタフェース５０の機能を実現する専用の電子回路である。電子回路９０は、信号線９１に接続している。電子回路９０は、具体的には、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックＩＣ、ＧＡ、ＡＳＩＣ、または、ＦＰＧＡである。ＧＡは、Ｇａｔｅ  Ａｒｒａｙの略語である。ＡＳＩＣは、Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔの略語である。ＦＰＧＡは、Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙの略語である。異常検出装置１００の構成要素の機能は、１つの電子回路で実現されてもよいし、複数の電子回路に分散して実現されてもよい。別の変形例として、異常検出装置１００の構成要素の一部の機能が電子回路で実現され、残りの機能がソフトウェアで実現されてもよい。
【００４３】
プロセッサ１０と電子回路９０の各々は、プロセッシングサーキットリとも呼ばれる。
異常検出装置１００において、画像取得部１１、動き抽出部１２，重み付け部１３，散乱度計算部１４及び検出部１５の機能がプロセッシングサーキットリにより実現されてもよい。あるいは、画像取得部１１、動き抽出部１２，重み付け部１３，散乱度計算部１４、検出部１５、主記憶装置２０、補助記憶装置３０、入力インタフェース４０及び出力インタフェース５０の機能が、プロセッシングサーキットリにより実現されてもよい。
【００４４】
なお、実施の形態１では重み付け部１３による重み付けのタイプに関して、タイプ１からタイプ４を説明した。重み付け部１３による重み付けは、タイプ１からタイプ４に限定されるものではない。
【００４５】
以上、本発明の実施の形態１を説明したが、実施の形態１のうち、１つを部分的に実施しても構わない。あるいは、実施の形態１のうち、２つ以上を部分的に組み合わせて実施しても構わない。なお、本発明は、実施の形態１に限定されるものではなく、必要に応じて種々の変更が可能である。
【符号の説明】
【００４６】
１０  プロセッサ、１１  画像取得部、１２  動き抽出部、１３  重み付け部、１４  散乱度計算部、１５  検出部、２０  主記憶装置、３０  補助記憶装置、４０  入力インタフェース、５０  出力インタフェース、６１，６２  人、７１，７２，７３，７４，７５  フレーム、８１  映像エリア、８２  人ベクトル、８３  合流領域、８４  本線、９０  電子回路、９１  信号線、１００  異常検出装置、１０１  信号線、２００  カメラ。
【図１】
0006818965.tif 000002
【図２】
0006818965.tif 000003
【図３】
0006818965.tif 000004
【図４】
0006818965.tif 000005
【図５】
0006818965.tif 000006
【図６】
0006818965.tif 000007
【図７】
0006818965.tif 000008
【図８】
0006818965.tif 000009
【図９】
0006818965.tif 000010
【図１０】
0006818965.tif 000011
【図１１】
0006818965.tif 000012
【図１２】
0006818965.tif 000013
【図１３】
0006818965.tif 000014
【図１４】
0006818965.tif 000015
【図１５】
0006818965.tif 000016
【図１６】
0006818965.tif 000017
【図１７】
0006818965.tif 000018
【図１８】
0006818965.tif 000019
【図１９】
0006818965.tif 000020