説明

不審行動検知方法および不審行動検知装置

【課題】発生する場所・時間・動作による不審(異常)行動の定義が困難な広域エリアにおいて、多様で複雑な行動パターンの監視対象においても不審行動の検知漏れを防止することのできる不審行動検知方法および不審行動検知装置を提供する。
【解決手段】カメラ11から入力される画像内の人物を追尾する追尾部21と、追尾部21で追尾した人物の行動が日常行動パターンから外れた非日常行動であるか否かを判定する第1判定部25aと、人物の行動が不審な特異行動か否かを判定する第2判定部25bと、第1判定部と第2判定部の判定結果に基づいて人物の不審行動を検知する不審判定部25cとを有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、カメラ画像に基づいて監視エリア内での不審行動を検知する不審行動検知方法および不審行動検知装置に関する。
【背景技術】
【0002】
この種の監視システムとしては、監視対象の日常動作を調べて定義しておき、その日常動作からの逸脱により異常動作を検出するものがある。たとえば、エレベータ内では、通常は静止しているが、稀に体操する人もありその体操は手や足を周期的に動かす周期性動作となるという前提から、日常逸脱動作であり、かつ周期性動作でなければ、異常動作であると判定するシステムがある(特許文献1参照)。また、歩く、屈むなど人の汎用的振る舞いを解析し、この汎用的振る舞いに関する時系列データに基づいて、特定の専用的振る舞いか否かを識別(たとえば、歩く動作から→屈む動作に変化し、その後、屈む動作がN秒間以上継続すると病気と判定)する画像監視システムがある(特許文献2参照)。
【0003】
一方、異常行動のパターン(場所と動作)を定義付けておき、該定義した行動に類似する行動を異常行動として検出する監視システムがある。たとえば、危険領域(歩道や駅のプラットフォーム端部など)におけるふらつき歩行や千鳥足歩行などの動作を異常歩行として検出する歩行監視システムがある(特許文献3参照)。また、監視対象物を監視要素(人体部分等の動作、外観的識別、視認行為回数)単位で解析し、監視対象物に対する監視項目を、細分化した監視要素毎に所定の判定ルールに基づいて判定し、その総合的な判断により警報を出力するシステムがある(たとえば、特許文献4参照。)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特許第3994416号
【特許文献2】特開2007−272488号公報
【特許文献3】特開2007−89105号公報
【特許文献4】特開2006−287884号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
日常行動から逸脱した動作を異常行動として検出するシステムでは、検知を所望する異常行動の行動パターンが日常行動パターンと類似している場合には、検知漏れが発生し易くなる。たとえば、駐車場のような監視エリアでは、人・車両等複数種類のオブジェクトが存在し、監視対象の出入りや動作の自由度が高く、起こり得る日常行動パターンはバリエーションに富み、個人差もある。このため、日常行動の範囲に異常行動と類似した行動も含まれてしまい、日常行動に類似した異常行動(犯罪行為等)が検知漏れになり易い。
【0006】
一方、車上荒らしなどの犯罪行為は、頻繁に発生するものではないから、得られる監視映像のサンプル数はごく少量に過ぎない。また、犯罪行為に関する行動パターンは複雑でバリエーションに富み、個人差もある。このため、定義した異常行動パターンに類似する行動を異常行動として検出する方式の監視システムでは、監視カメラが実際の犯罪行為を捉えたとしても、その画像から抽出した行動と犯罪行為サンプルデータとを比較した場合の外れ度合いが大きくなり、検知漏れが発生しやすい。
【0007】
なお、監視員の映像監視を支援するシステムにおいては、日常行動を異常行動として誤検知する場合が稀にあったとしても、異常行動を漏れなく検知することが望まれる。
【0008】
本発明は、上記の問題を解決しようとするものであり、発生する場所・時間・動作による不審(異常)行動の定義が困難な広域エリアにおいて、多様で複雑な行動パターンの監視対象においても不審行動の検知漏れを防止することのできる不審行動検知方法および不審行動検知装置を提供することを目的としている。
【課題を解決するための手段】
【0009】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
【0010】
[1]処理部が、カメラから入力される画像内の人物を追尾し、前記追尾した人物の行動が日常行動パターンから外れた非日常行動であるか否かの第1判定と、前記人物の行動が不審な特異行動か否かの第2判定とを行い、前記第1判定と前記第2判定の判定結果に基づいて前記人物の不審行動を検知する
ことを特徴とする不審行動検知方法。
【0011】
上記[1]および後述する[5]の発明では、追尾した人物の行動が日常行動パターンから外れた非日常行動であるか否かの第1判定と、人物の行動が不審な特異行動か否かの第2判定の双方の判定結果に基づいて人物の不審行動を検知するので、一方の判定のみで不審行動を検知する場合に比べて、信頼性の高い検知が可能になる。
【0012】
[2]前記追尾において刻々の人物の特徴情報を示す特徴量データを時系列に配列した特徴量時系列データを収集し、
前記第1判定を、判定対象の人物に関する特徴量時系列データと、以前に追尾された日常行動を行う複数人分の特徴量時系列データとに基づく統計的手法によって行う
ことを特徴とする[1]に記載の不審行動検知方法。
【0013】
上記[2]および後述する[6]の発明では、日常行動については多数の特徴量時系列データを収集できるので、これらに基づく統計的手法によって、非日常行動か否かの判定を行う。
【0014】
[3]特異行動を行う人物の刻々の特徴情報を示す特徴量データを時系列にした特徴量時系列データより発見される知識ベース推論関数を登録しておき、
前記カメラから入力される画像内の人物の追尾において、その人物の刻々の特徴情報を示す特徴量データを時系列にした特徴量時系列データを収集し、
前記第2判定を、判定対象の人物に関する特徴量時系列データに、前記登録されている知識ベース推論関数を適用して行う
ことを特徴とする[1]または[2]に記載の不審行動検知方法。
【0015】
上記[3]および後述する[7]の発明では、犯罪行為などの異常行動はサンプルされる特徴量時系列データの数が少ないので、その少ない特徴量時系列データから導出される知識ベース推論関数を適用して、特異行動か否かを判定する。
【0016】
[4]判定対象の人物に対する前記第1判定の判定結果が非日常行動であること、もしくは、前記人物に対する前記第2判定の判定結果が特異行動であることの少なくとも一方が真であれば、前記人物について不審行動の検知ありと判定する
ことを特徴とする[1]乃至[3]のいずれか一項に記載の不審行動検知方法。
【0017】
上記[4]および後述する[8]の発明では、非日常行動もしくは特異行動と判定した場合はその人物について不審行動の検知ありとするので、不審行動の検知漏れを低減することができる。
【0018】
[5]カメラから入力される画像内の人物を追尾する追尾部と、
前記追尾部で追尾した人物の行動が日常行動パターンから外れた非日常行動であるか否かを判定する第1判定部と、
前記人物の行動が不審な特異行動か否かを判定する第2判定部と、
前記第1判定部と前記第2判定部の判定結果に基づいて前記人物の不審行動を検知する不審判定部と、
を有する
ことを特徴とする不審行動検知装置。
【0019】
[6]追尾している人物の刻々の特徴情報を示す特徴量データを時系列にした特徴量時系列データが日常行動を行う複数人分について登録されたデータベースを有し、
前記追尾部は、追尾対象の人物について、その人物の刻々の特徴情報を示す特徴量データを時系列にした特徴量時系列データを収集し、
前記第1判定部は、判定対象の人物に関する特徴量時系列データと前記データベースに登録されている特徴量時系列データとに基づく統計的手法によって、前記人物の行動が非日常行動であるか否かを判定する
ことを特徴とする[5]に記載の不審行動検知装置。
【0020】
[7]特異行動を行う人物の刻々の特徴情報を示す特徴量データを時系列にした特徴量時系列データより発見される知識ベース推論関数が登録された推論関数記憶部を有し、
前記追尾部は、追尾対象の人物について、その人物の刻々の特徴情報を示す特徴量データを時系列にした特徴量時系列データを収集し、
前記第2判定部は、判定対象の人物に関する特徴量時系列データに、前記推論関数記憶部に記憶されている知識ベース推論関数を適用して、前記人物の行動が不審な特異行動か否かを判定する
ことを特徴とする[5]または[6]に記載の不審行動検知装置。
【0021】
[8]前記不審判定部は、判定対象の人物に対する前記第1判定部の判定結果が非日常行動であること、もしくは、前記人物に対する前記第2判定部の判定結果が特異行動であることの少なくとも一方が真であれば、前記人物について不審行動の検知ありと判定する
ことを特徴とする[5]乃至[7]のいずれか一項に記載の不審行動検知装置。
【発明の効果】
【0022】
本発明に係る不審行動検知方法、不審行動検知装置によれば、発生する場所・時間・動作による不審(異常)行動の定義が困難な広域エリアにおいて多様で複雑な行動パターンの監視対象においても、不審行動の検知漏れを防止することができる。
【図面の簡単な説明】
【0023】
【図1】本発明の実施の形態に係る不審行動検知装置の概略構成を示すブロック図である。
【図2】不審行動検知装置が行う動作を示す流れ図である。
【図3】オブジェクトデータテーブルを示す説明図である。
【図4】行動非日常度導出処理(図2のステップS13)の概要を示す説明図である。
【図5】行動非日常度導出処理の概念の一例を示す説明図である。
【図6】特徴量時系列データの蓄積状態を例示した説明図である。
【図7】非日常度導出部に入力する、時間長T分の特徴量時系列データを記憶領域から取り出す際の取り出し方を例示した説明図である。
【図8】行動非日常度導出処理(図2のステップS13)の詳細を示す流れ図である。
【図9】行動特異度導出処理(図2のステップS16)の詳細を示す流れ図である。
【図10】着目する行動の指標(推論関数引数)の一覧を例示した説明図である。
【図11】知識ベース推論関数と、これらの知識ベース推論関数で求めた特異度の最大値を求める演算式を示す説明図である。
【図12】非日常度と特異度とから不審行動か否かを判定する際の二分木図である。
【図13】不審行動検知装置が行う動作を示す第2の流れ図である。
【図14】図13の処理に対応した判定論理表を示す説明図である。
【図15】不審行動検知装置の処理部の追尾部が追尾するオブジェクトの状態遷移図である。
【図16】不審行動検知装置の処理部が行うオブジェクトの追尾判別処理の各処理フェーズを示す説明図である。
【図17】追尾判別処理を示す流れ図である。
【図18】探索ブロックによる探索の概略を示す説明図である。
【図19】処理対象の画像(1フレーム分の画像)を複数の分割ブロックに分割した状態の一例を示す説明図である。
【図20】オブジェクト追尾・探索処理(図17;ステップS105)を示す流れ図である。
【図21】探索ブロック発生処理(図20;ステップS122)を示す流れ図である。
【図22】探索ブロックの原点(px0,py0)と中心位置(px,py)との関係を示す説明図である。
【図23】探索ブロックデータテーブルを示す説明図である。
【図24】HSV色空間累積ヒストグラムの一例を示す説明図である。
【図25】適合度更新処理(図20:ステップS123)の詳細を示す流れ図である。
【図26】探索ブロック中心・追尾対象のオブジェクト重心間の距離と適合度との関係を示す説明図である。
【図27】分割ブロック領域ID割り当て処理(図20:ステップS124)の詳細を示す流れ図である。
【図28】探索ブロック消去処理(図20:ステップS125)の詳細を示す流れ図である。
【図29】探索ブロックリサンプリング処理(図20:ステップS128)の詳細を示す流れ図である。
【図30】探索ブロックリサンプリング処理で生成されるルーレットの一例を示す説明図である。
【図31】探索ブロックリサンプリング処理による探索ブロックの置き換え状況の一例を示す説明図である。
【図32】探索ブロック更新処理(図20:ステップS129)の詳細を示す流れ図である。
【図33】交差の前後での探索ブロックによるオブジェクトの追尾・探索状況の一例を示す説明図である。
【図34】人・車両判別処理(図17:ステップS111)の詳細を示す流れ図である。
【発明を実施するための形態】
【0024】
以下、図面に基づき本発明の実施の形態を説明する。
【0025】
図1は、本発明の実施の形態に係る不審行動検知装置10の概略構成を示している。本実施の形態の不審行動検知装置10は、複数の物体や人物が存在する広いエリア内で行動する不審人物を検知する監視カメラシステムである。本実施の形態では、広い駐車場内で不審人物の監視を行う監視カメラシステムを例に説明する。すなわち、カメラ画像内から検出された移動物体が人か車両かを判別し、人であると判別した場合にその行動を解析して不審行動か否かを判定し、不審行動を検知した場合は監視員に対して注意喚起する等の機能を果たす。カメラは広い範囲を撮影しており、その撮影領域内を通過する人の「見え方」は様々に変化し得る。
【0026】
不審行動検知装置10は、監視対象エリアを撮影して画像を取り込むためのカメラ部11と、カメラ部11によって取り込まれた画像を解析して物体を検出し、その物体の追尾・探索および物体の種類の判別、人の行動解析などの処理を行う処理部12と、処理部12の処理結果を出力する出力部14と、当該不審行動検知装置10に対する各種の設定や動作に関する指示の入力を受ける入力部13と、物体の種類の判別や人の行動を解析する際の参照データが蓄積されたデータベース部15とを備えて構成される。カメラ部11、出力部14、入力部13、データベース部15はそれぞれ処理部12に接続されている。以後、画像データにおいて認識された物体はオブジェクトと呼ぶ。
【0027】
カメラ部11は動画を撮影する。カメラ部11は、フレーム毎の画像(1画面分の静止画像)を1秒間に数十フレーム取り込むことで動画を撮影する機能を果たす。処理部12は、CPU(Central Processing Unit)と、このCPUが実行するプログラムやデータが記憶されたROM(Read Only Memory)と、RAM(Random Access Memory)などを主要部として構成される。
【0028】
処理部12は、カメラ部11から入力される画像内のオブジェクトを追尾・探索する追尾部21と、記憶部22と、追尾部21によるオブジェクトの追尾中に、そのオブジェクトの特徴を抽出し、該特徴を示す特徴量データを記憶部22に記憶することを繰り返し行う蓄積制御部23と、記憶部22に記憶されている所定時間長以上分のオブジェクトの特徴量データに基づいてオブジェクトの種類を判別する人・車両判別部24と、人と判別されたオブジェクトの特徴量データに基づいてその人の行動を解析する行動解析部25の機能を備えている。
【0029】
特徴量データは、たとえば、オブジェクトの形状、大きさ、動き、縦横比等である。特徴量データは時系列に記憶部22に記憶される。蓄積制御部23は、オブジェクトの追尾中は所定の時間間隔で特徴量データを記憶部22に記憶させる。ここでは、フレーム毎に行う。なお、時系列にされた特徴量データを特徴量時系列データとする。
【0030】
追尾部21は、追尾対象のオブジェクト同士の交差や追尾対象のオブジェクトの障害物の背後への一時的な隠れといった現象が発生した場合でも、その前後で同一オブジェクトを同一のオブジェクトとして追尾する機能を備えている。
【0031】
人・車両判別部24は、追尾対象のオブジェクトが人か車両かを判別する機能を果たす。人・車両の判別は公知の任意の手法により行えばよい。
【0032】
行動解析部25は、人の行動が非日常行動である度合い(非日常度)を導出する非日常度導出部25a(第1判定部)と、人の行動が特異行動(異常行動)である度合い(特異度)を導出する特異度導出部25b(第2判定部)と、非日常度および特異度に基づいてその人の行動が不審行動か否かを判定する不審判定部25cとしての機能を果たす。
【0033】
データベース部15は、人に関する形状等の特徴データが蓄積された人特徴DB部15aと、車両に関する形状等の特徴データが蓄積された車両特徴DB部15bと、人の日常行動に関する特徴量時系列データ等が蓄積された日常行動特徴量時系列DB部15cと、人の特異行動に関する特徴量時系列データ等が蓄積された特異行動特徴量時系列DB部15dとを備えて構成される。たとえば、車上荒らしや車両盗難などの犯罪行為が検知対象の特異行動(不審行動)とされる。
【0034】
人・車両判別部24は、人特徴DB部15aに蓄積されているデータを参照比較してオブジェクトが人か否かの判別を行い、車両特徴DB部15bに蓄積されているデータを参照比較してオブジェクトが車両か否かの判別を行う。非日常度導出部25aは、人と判別されたオブジェクトの動き等と日常行動特徴量時系列DB部15cに蓄積されているデータとから統計的手法により、その人の行動の非日常度を導出する。特異度導出部25bは、人と判別されたオブジェクトの動き等に対して、特異行動特徴量時系列DB部15dに蓄積されているデータより発見される知識ベース推論関数を適用して、その人の行動の特異度を導出する。
【0035】
出力部14は、処理結果のデータ信号を外部に出力するためのインターフェース回路、各種設定画面や操作画面、処理結果等を視覚的に表示するためのディスプレイ装置などで構成される。入力部13は、各種の設定や動作に関する指示に係る信号を入力するためのインターフェース回路のほか、各種の操作スイッチなどで構成される。
【0036】
次に、不審行動検知装置10の動作を説明する。
【0037】
図2は、不審行動検知装置10が行う動作の流れを示している。なお、追尾部21、記憶部22、蓄積制御部23、人・車両判別部24に関する動作の詳細例は後述する。ここでは、カメラ部11から入力された画像を解析してオブジェクトの追尾が行われ、それら各オブジェクトが人であるか車両であるかが判別されているものとし、行動解析部25の動作を主として説明する。
【0038】
なお、追尾中の各オブジェクトについて、図3に示すオブジェクトデータテーブル30が作成される。オブジェクトデータテーブル30は、新たなオブジェクトが検出される毎に作成され、そのオブジェクトが消滅するまで1フレームの画像を処理する毎に更新される。
【0039】
オブジェクトデータテーブル30には、オブジェクトID(obj_id)と、オブジェクト種類(obj_typeobj_id)と、オブジェクト状態(obj_stateobj_id)と、オブジェクト不審判定フラグ(suspicious_flagobj_id)と、オブジェクト存在継続時間(obj_timeobj_id)と、オブジェクト領域左端位置(obj_lxobj_id)と、オブジェクト領域右端位置(obj_rxobj_id)と、オブジェクト領域上端位置(obj_tyobj_id)と、オブジェクト領域下端位置(obj_byobj_id)と、オブジェクト領域重心位置(水平方向)(obj_gxobj_id)と、オブジェクト領域重心位置(垂直方向)(obj_gyobj_id)と、オブジェクトの大きさ(obj_sizeobj_id)と、オブジェクトの縦横比(obj_aspectobj_id)と、オブジェクトの動きベクトル(水平方向)(obj_dxobj_id)と、オブジェクトの動きベクトル(垂直方向)(obj_dyobj_id)と、オブジェクト-最近傍車両間距離(obj_car_distobj_id)とが登録される。
【0040】
オブジェクトID(obj_id)は、当該オブジェクトに固有に割り当てられた識別子である。オブジェクト種類(obj_typeobj_id)は、当該オブジェクトが人と判別済みのオブジェクト(以下、人オブジェクトとも呼ぶ。)であるか車両と判別済みのオブジェクト(以下、車両オブジェクトとも呼ぶ。)であるか未判別のオブジェクトであるかを示す。オブジェクト状態(obj_stateobj_id)は、当該オブジェクトの状態が、追尾中(ACTIVE)か一時的な消失中(LOST)かなどを示す。オブジェクト不審判定フラグ(suspicious_flagobj_id)は、当該オブジェクトが人の場合にセットされ、不審者(不審行動を行った人)と判定された人オブジェクトか否かを示す。オブジェクト-最近傍車両間距離(obj_car_distobj_id)は、当該オブジェクトが人の場合にセットされ、最も近い車両までの距離を示す。
【0041】
図2に戻って説明を続ける。処理部12は、フレーム時刻tを0に初期化した(ステップS1)後、追尾中のオブジェクトの中に人と判別されたオブジェクト(人オブジェクト)が存在するか否かを確認する(ステップS2)。追尾中の人オブジェクト(追尾人物)が存在しなければ(ステップS3;No)、フレーム時刻tを+1して(ステップS22)、ステップS2に移行して処理を継続する。なお、処理部12は、ステップS2〜S22の処理を、カメラ部11から1フレームの画像(もしくは所定の複数フレーム)を取り込む毎に実行する。
【0042】
追尾中の人オブジェクト(追尾人物)が存在すれば(ステップS3;Yes)、消滅した人オブジェクト(消滅人物)が存在するか否かを確認する(ステップS4)。消滅した人オブジェクトが存在しない場合は(ステップS4;No)、ステップS9へ移行する。消滅した人オブジェクトが存在する場合は(ステップS4;Yes)、消滅したすべての人オブジェクトのオブジェクトデータテーブル30をクリアして(ステップS5〜S8)、ステップS9へ移行する。
【0043】
ステップS9では、処理対象の人オブジェクトの番号を示す変数iを0にクリアし、追尾している人オブジェクトのそれぞれについてステップS10〜S21の処理を行う。すなわち、オブジェクト不審判定フラグ(suspicious_flagobj_id(i))がON状態(ONは不審者を示す)か否かを調べ(ステップS10)、ONでなければ(ステップS10;No)、当該人オブジェクトに関する特徴量時系列データを更新する(ステップS11)。ここでは、フレーム毎のオブジェクトデータテーブル30の内容(全部もしくは一部(上下左右の端位置、重心位置、動きベクトル、大きさ、縦横比、オブジェクト-最近傍車両間距離など))が、その人オブジェクトの特徴量データとされ、時系列にして(特徴量時系列データとして)記憶部22に保存される。
【0044】
次に、特徴量時系列データがT時間分以上蓄積されているか否かを調べ(ステップS12)、蓄積量がT時間分に満たない場合は(ステップS12;No)、ステップS15へ移行する。T時間分以上蓄積されている場合は(ステップS12;Yes)、T時間分以上蓄積された特徴量時系列データに基づいて、当該人オブジェクトの行動に関する非日常度を導出する行動非日常度導出処理を行う(ステップS13)。
【0045】
求めた非日常度が予め定めた閾値Th以上の場合は(ステップS14;Yes)、この人オブジェクトは不審行動を行っていると判断し、オブジェクト不審判定フラグ(suspicious_flagobj_id(i))をONにし(ステップS18)、アラーム表示を行って(ステップS19)、ステップS20へ移行する。なお、非日常度に基づく判定を第1判定とする。求めた非日常度が予め定めた閾値Th未満の場合は(ステップS14;No)ステップS15へ移行する。
【0046】
ステップS15では、特徴量時系列データがT時間分以上蓄積されているか否かを調べ、蓄積量がT時間分に満たない場合は(ステップS15;No)、ステップS20へ移行する。T時間分以上蓄積されている場合は(ステップS15;Yes)、T時間分以上蓄積された特徴量時系列データに基づいて、当該人オブジェクトの行動に関する特異度を導出する行動特異度導出処理を行う(ステップS16)。
【0047】
求めた特異度が予め定めた閾値Th以上の場合は(ステップS17;Yes)、この人オブジェクトは不審行動を行っていると判断し、オブジェクト不審判定フラグ(suspicious_flagobj_id(i))をONにし(ステップS18)、アラーム表示を行って(ステップS19)、ステップS20へ移行する。なお、特異度に基づく判定を第2判定とする。
【0048】
オブジェクト不審判定フラグ(suspicious_flagobj_id(i))が既にONになっている場合は(ステップS10;Yes)、アラーム表示を行って(ステップS19)、ステップS20へ移行する。
【0049】
ステップS20では、変数iを+1し、加算後の変数iが追尾中の全人オブジェクトの数に等しいか否かを調べ(ステップS21)、等しくない場合は(ステップS21;No)、ステップS10に戻り、次の人オブジェクトについての処理を行う。等しい場合は(ステップS21;Yes)、フレーム時刻tを+1し(ステップS22)、ステップS2に戻って次フレーム画像に対する処理を行う。
【0050】
図4は、行動非日常度導出処理(図2のステップS13)の概要を、図5は、行動非日常度導出処理の概念の一例を示している。図4では、非日常度導出部25aは、日常行動特徴量時系列DB部15cに保存されている多数の日常行動に関する特徴量時系列データについて所定の統計処理を行って代表となる日常行動パターンを導出し、これとT時間分以上の時系列区間jにおける特徴量時系列データが示す行動パターンとを比較し、代表となる日常行動パターン(ベクトル(行列))からの外れ度合いを、非日常度として導出する、といった処理を行う。
【0051】
図5は、非日常度導出部25aが行う統計的手法の一例として、日常行動特徴量時系列DB部15cに保存されている多数の日常行動に関する特徴量時系列データに基づいて、日常行動パターンデータ分布をクラスタ分析し、それらクラスタの中心と人オブジェクトに関する時系列区間jにおける特徴量時系列データが示す行動パターン(時系列区間jに関する特徴量時系列ベクトル(行列)xj)との距離を非日常度NDとして求める例を示している。これは非日常度の導出方法の一例であり、これに限定されるものではない。
【0052】
図6は、特徴量時系列データの蓄積状態を例示している。特徴量時系列データの記憶領域Fは、現在時刻から最大でLmax時間前までの特徴量データを時系列に保存するようになっている。なお、Lmax>T、Tとする。記憶領域Fは、たとえば、記憶部22に設けられる。同図(a)は、非日常度の導出に必要なT時間長の特徴量時系列データが蓄積された状態を示している。記憶領域Fは詰まっておらず、空き領域がある。同図(b)は、特異度の導出に必要なT時間長の特徴量時系列データが蓄積された状態を示している。記憶領域Fはまだ詰まっておらず、空き領域がある。同図(c)は、記憶領域Fに特徴量時系列データが詰まった状態を示している。以後は、1つずつ左へシフトされて最も古いデータが廃棄され、右端の空いた領域に最新のデータが記憶される。すなわち、FIFO(First in First out)形式で記憶内容の更新が行われる。この例では、T>Tとしたが、T>Tでも、T=Tでもかまわない。T1、それぞれ着目する対象行動パターン(短時間の動作や仕草、長時間の継続動作、等)に応じて、柔軟に対応可能である。
【0053】
図7は、非日常度導出部25aに入力する、時間長T分の特徴量時系列データを、図6の記憶領域Fから取り出す際の、取り出し方を例示している。同図(a)は、時間長Tの時系列区間毎に区切って入力する場合を、同図(b)は、時間長Tの時系列区間(ウィンドウ)をスライドさせて入力する場合を示している。
【0054】
図8は、行動非日常度導出処理(図2のステップS13)の流れを示している。j=0(ステップS41)、非日常度の最大値NDmax=0(ステップS42)にそれぞれ初期化する。続いて記憶領域Fから時系列区間jの特徴量時系列データを読み出して非日常度導出部25aに入力して非日常度NDを求め(ステップS43)、その非日常度NDが非日常度の最大値NDmaxより大きい場合は(ステップS44;Yes)、今回求めた非日常度NDで非日常度の最大値NDmaxを更新する(ステップS45)。ステップS43からS45の処理を、図7に示すように時系列区間jをシフトさせ(ステップS46)ながら繰り返し行い(ステップS47;No)、全特徴量時系列区間について上記処理が完了したら(ステップS47;Yes)、非日常度の最大値NDmaxを出力値として処理を終了する。
【0055】
図9は、行動特異度導出処理(図2のステップS16)の詳細を示している。行動特異度導出処理では、特異行動特徴量時系列DB部15dに保存されている、異常行動を行う人物に関する特徴量時系列データより発見される知識ベース推論関数を任意数(ここではS個)定義して登録しておき、これらを判定対象の人物の行動に適用して、行動の特異度(不審行動である度合い)を導出する。知識ベース推論関数は、たとえば、特異行動特徴量時系列DB部15dに記憶される、もしくは他の記憶領域(たとえば、処理部12側の記憶部22)に記憶される。
【0056】
この例では、図10に示すように、人物と駐車車両間距離、駐車車両周辺屈み込み、駐車車両覗き込み、駐車車両周辺における激しい動きなどを、着目する行動の指標(推論関数引数)として定めておき、それぞれの指標の値を、判定対象の人オブジェクトに関する特徴量時系列データから求める。
【0057】
そして、これらの指標の値をS個の知識ベース推論関数にそれぞれ代入し、知識ベース推論関数毎の特異度を求め、その中の最大値を、当該人オブジェクトの行動の特異度として導出している。
【0058】
詳細には、図9に示すように、時系列区間を示す変数jを0に初期化し(ステップS51)、特異度の最大値ABmaxを0に初期化する(ステップS52)。続いて、特異度ABを0に初期化し(ステップS53)、変数iに1をセットする(ステップS54)。そして、i番目の知識ベース推論関数に関する引数(指標値)を判定対象の人オブジェクトに関する特徴量時系列データから求めて入力する(ステップS55)。これらの指標値をi番目の知識ベース推論関数に代入して、i番目の知識ベース推論関数による特異度ABを求める(ステップS56)。
【0059】
この特異度ABと特異度ABとを大小比較し(ステップS57)、特異度AB>特異度ABであれば(ステップS57;Yes)、ABを特異度ABにより更新し(ステップS58)、特異度AB>特異度ABでなければ(ステップS57;No)特異度ABはそのままとする。続いてiを+1し(ステップS59)、i>Sでなければ(ステップS60;No)、ステップS55に戻って処理を継続する。
【0060】
i>Sになれば(ステップS60;Yes)、特異度ABと最大特異度ABmaxとを大小比較し(ステップS61)、特異度AB>特異度ABmaxであれば(ステップS61;Yes)、特異度ABmaxを特異度ABにより更新し(ステップS62)、特異度AB>特異度ABmaxでなければ(ステップS61;No)特異度ABmaxはそのままとする。続いてjを+1(これは、たとえば、時系列区間を図7に示すよう1つシフトさせることに相当する)する(ステップS63)。そして、全特徴量時系列区間について確認(ステップS53〜S62の処理)が完了していなければ(ステップS64;No)、ステップS53に戻って処理を継続し、完了している場合は(ステップS64;Yes)、特異度の最大値ABmaxを出力値として処理を終了する。
【0061】
図11は、S個の知識ベース推論関数51と、これらS個の各知識ベース推論関数で求めた特異度の最大値を特異度ABとすることを示す数式52を示している。
【0062】
図12は、非日常度NDと特異度ABとから不審行動か否かを判定する際の流れを示す二分木図54を示している。非日常度NDが閾値Th以上であれば特異度ABに係らず不審行動であると判定し、非日常度NDが閾値Th未満の場合は特異度ABが閾値Th以上であれば不審行動であると判定し、非日常度NDが閾値Th未満かつ特異度ABが閾値Th未満の場合は正常と判定する。なお、図2に示す流れ図でもこの二分木図54に従った処理となっている。
【0063】
図2、図12に示すように2段階で判定する方式では、「非日常度」が閾値以上であれば、「特異度」に関する処理を一切省略することができるため、全体として処理速度が向上するという利点がある。また、図2、図12では、最初に「非日常度」に着目し、続いて「特異度」による不審行動検知処理を行うようにしているが、最初に「特異度」に着目し、続いて「非日常度」による不審行動検知処理を行うようにしてもよい。
【0064】
なお、図2に代えて図13に示す流れで処理を行ってもかまわない。図13において図2と同一処理については同一のステップ番号を付してあり、それらの説明は省略する。図13では、非日常度が閾値Th以上または特異度が閾値Th以上の場合は(ステップS17B;Yes)、不審行動と判定する(ステップS18)ようになっている。図14は、図13に対応した判定論理表55を示している。非日常度が閾値Th以上と特異度が閾値Th以上のうちの少なくとも一方の条件が満足される場合はすべて不審行動であると判定する論理和判定となっている。
【0065】
図13、図14に示すように論理和判定方式では、例えば、「非日常度」、「特異度」ともに閾値以上であればアラームレベル:高、どちらか一方のみが閾値であればアラームレベル:中、というようにユーザ(監視員)が所望するアラームレベル設定、およびアラームレベルに応じた注意喚起が可能となる。
【0066】
このように、多数のデータ(特徴量時系列データ)を採取可能な日常行動については、日常行動特徴量時系列DB部15cに蓄積された日常行動のデータに対して統計的手法を適用して代表的な日常行動パターンを導出し、この代表的な日常行動パターンからの外れ具合として非日常度を求めるので、採取された多数の日常行動データに基づく客観的な判定により、非日常度を求めることができる。
【0067】
また、犯罪行為などの不審行動に関して採取されるデータ(特徴量時系列データ)は少ないので統計的手法では適切な判定は難しいが、採取された不審行動のデータから求めた知識ベース推論関数を使用して特異度を導出するので、不審行動に関する少ないデータからでもより高い信頼性で行動の特異度を導出することができる。
【0068】
そして、非日常度が閾値Th以上の場合と特異度が閾値Th以上の場合とを不審行動であると判定するので、非日常度と特異度のいずれか一方の条件のみを使用する場合に比べて、不審行動の検知漏れを低減することができる。
【0069】
次に、追尾部21、記憶部22、蓄積制御部23によるオブジェクトの追尾方法について説明する。
【0070】
この追尾方法では、追尾対象のオブジェクト同士の交差や追尾対象のオブジェクトの障害物の背後への一時的な隠れといった現象が発生した場合でも、その前後で同一オブジェクトを同一のオブジェクトとして追尾することができるようになっている。なお、以下に示す追尾方法は、一例であり、追尾方法はこれに限定されるものではない。
【0071】
図15は、不審行動検知装置10の追尾部21が追尾するオブジェクトの状態遷移を表している。オブジェクトの状態は、未検出であるUNDETECTEDと、UNDETECTEDの状態で検出されたオブジェクトが追尾対象たり得るオブジェクトか否かを判定中のPENDING、追尾対象のオブジェクトと認定されかつ追尾成功中のACTIVE、追尾対象のオブジェクトであるが追尾失敗中(消失中あるいは探索中)のLOST、の4状態で管理される。
【0072】
オブジェクト未検出の間はUNDETECTED状態が継続する(図中のE1)。UNDETECTED状態でオブジェクトが検出されるとPENDING状態に移行する(E2)。PENDING状態ではその継続時間を計時しており(E4)、PENDING状態で所定時間(PENDING_TIME)が経過するとそのオブジェクトはACTIVE状態に遷移する(E5)。PENDING状態からACTIVE状態に遷移する前に画像から消滅したオブジェクトはUNDETECTED状態に遷移し(E3)、追尾対象から外される。
【0073】
ACTIVE状態ではその継続時間を計時している(E6)。ACTIVE状態のオブジェクトの追尾に失敗(当該オブジェクトが消失)するとそのオブジェクトはLOST状態に遷移し、ACTIVE状態の継続時間はリセットされる(E7)。LOST状態でもその継続時間を計時しており(E9)、継続時間が所定時間(LOST_TIME)経過すると、該オブジェクトは追尾対象から外されUNDETECTED状態になる(E10)。LOST状態になってから所定時間(LOST_TIME)内に探索ブロックによる探索によって見出(検出)されたオブジェクトはACTIVE状態に戻る(E8)。
【0074】
図16は、不審行動検知装置10の処理部12が行うオブジェクトの追尾判別処理の各処理フェーズを示している。図17は追尾判別処理の流れを示している。追尾判別処理では、オブジェクトの追尾と各オブジェクトが車両か人かの判別とを行う。図16に示すように、追尾判別処理は、オブジェクト検出フェーズP1と、オブジェクト追尾・探索フェーズP2と、人・車両判別フェーズP3と、人オブジェクト抽出フェーズP4で構成される。オブジェクト検出フェーズP1は図17の流れ図のステップS102〜S104が対応し、オブジェクト追尾・探索フェーズP2はステップS105〜S110が対応し、人・車両判別フェーズP3はステップS111が対応し、人オブジェクト抽出フェーズP4はステップS112、S113が対応する。なお、図17の破線で示す処理SAにおいて、図2もしくは図13のステップS2からS21の処理を行うようにすれば、追尾と不審行動の検知とが1フレーム毎に行われるようになる。
【0075】
<オブジェクト検出フェーズP1>
最初に、フレーム時刻tを0に初期化した後(図17;ステップS101)、カメラ部11によって取り込まれた処理対象の画像内からオブジェクト候補領域を検出する(ステップS102)。オブジェクト候補領域の検出は、フレーム間の差分処理、二値化処理など公知の手法により行う。
【0076】
次に、処理対象の画像内においてオブジェクト候補領域が1つ以上検出されたかどうかを確認する(ステップS103)。1つ以上のオブジェクト候補領域が検出された場合は(ステップS103;Yes)、ステップS105へ移行する。オブジェクト候補領域が1つも検出されなかった場合は(ステップS103;No)、状態がLOSTのオブジェクト(以後、これをLOSTオブジェクトと呼ぶ。)が存在するか否かを確認する(ステップS104)。LOSTオブジェクトは、過去に追尾対象として検出されたオブジェクトが消失(追尾失敗)し、消失状態の継続時間が所定時間(LOST_TIME)未満のオブジェクトであり、後述する探索ブロックによって探索中のオブジェクトである。
【0077】
LOSTオブジェクトが存在しない場合は(ステップS104;No)、フレーム時刻t=t+1として(ステップS114)、ステップS102に戻り、カメラ部11によって取り込まれる次のフレームの画像に対して同様の処理を行う。このように、オブジェクト検出フェーズP1は、オブジェクト候補領域が1つ以上存在するか否かを確認し、存在しない場合はオブジェクト候補領域が検出されるのを待つ状態である。
【0078】
<オブジェクト追尾・探索フェーズP2>
ステップS105では、オブジェクト検出フェーズP1にて検出されたオブジェクト候補領域に対する追尾・探索処理を行う。オブジェクト追尾・探索処理では、前時刻の画像内のオブジェクトと現在時刻の画像内のオブジェクトとの対応付けを行う追尾処理と、隠れや交差により消失したオブジェクトを探索する探索処理とが行われる。追尾処理は動きベクトルなど公知の手法により行う。
【0079】
消失したオブジェクトを探索するための探索処理は、新規に検出した追尾対象のオブジェクトに対して、その重心周辺に複数の探索ブロックを発生させ、その後は各探索ブロックを追尾対象のオブジェクトに追従させて移動させ、オブジェクト領域内の局所領域(ここでは、探索ブロック単位の領域)に着目して追尾を行う。探索ブロックは、オブジェクトを追尾・探索する際の単位領域である。消失したオブジェクトの探索が所定時間(LOST_TIME)内に成功しなかった場合は、探索しているオブジェクトは消滅したものとみなしてUNDETECTEDの状態にし、追尾対象から外す。オブジェクト追尾・探索処理の詳細は後述する。
【0080】
オブジェクト追尾・探索処理にて追尾・探索に成功したオブジェクト(ACTIVE状態のオブジェクト)については、形状、動き、テクスチャ等の特徴情報を抽出(算出)する(ステップS106)。形状や動きなどオブジェクトの特徴情報の抽出は公知の任意の手法で行えばよい。抽出したオブジェクトの特徴情報を示す特徴量データは順次、記憶部22に蓄積し、時系列データとして更新あるいは新規に生成する(ステップS107)。オブジェクト毎の時系列に蓄積された特徴量データは、そのオブジェクトが人か車両かの判別に利用される。
【0081】
その後、追尾対象のオブジェクトが既に車両と判別済みのオブジェクトであれば(ステップS108;Yes)、フレーム時刻t=t+1として(ステップS114)、ステップS102に戻り、カメラ部11によって取り込まれる次のフレームの画像について同様の処理を行う。追尾対象のオブジェクトが既に人と判別されており、かつそのオブジェクトが画像内に存在している(追尾・探索に成功している)場合は(ステップS109;Yes)、ステップS113の人オブジェクト抽出処理へ移行する。
【0082】
追尾しているオブジェクトが車両、人のいずれにも判別されていない場合は(ステップS109;No)、追尾オブジェクトに関して、図15の状態遷移に従って各オブジェクトの状態(ステータス)の更新と、オブジェクト継続時間obj_timeのインクリメント更新を行い(ステップS110)、人・車両判別処理(ステップS111)に移行する。
【0083】
<人・車両判別フェーズP3>
人・車両判別処理では、オブジェクト追尾・探索フェーズP2により蓄積記憶された追尾対象のオブジェクトの時系列の特徴量データ(特徴量時系列データ)をもとに、追尾対象オブジェクトが人であるか、車両であるかの判別を行う(ステップS111)。人・車両判別処理は適宜の公知の手法により行う。
【0084】
<人オブジェクト抽出フェーズP4>
追尾対象のオブジェクトが人であると判別した場合は(ステップS112;Yes)、人オブジェクト抽出処理(ステップS113)に移行し、人と判別できなかった場合は(ステップS112;No)、フレーム時刻tをインクリメント更新し(ステップS114)、ステップS102に戻り、カメラ部11によって取り込まれる次のフレームの画像に対して同様の処理を行う。
【0085】
人オブジェクト抽出処理では、監視員にその人物の所在位置を分かりやすい形式で伝え、監視注意を促す(ステップS113)。たとえば、カメラ部11からの画像を出力部14のディスプレイ装置に表示する際に、検出した人物の箇所を赤枠で囲って表示する等を行う。その後、フレーム時刻tをインクリメント更新し(ステップS114)、ステップS102に戻って処理を継続する。抽出された人オブジェクトに対して、不審行動検知(図2もしくは図13のステップS2からS21の処理)が行われる。
【0086】
次に、図17のステップS105のオブジェクト追尾・探索処理の詳細を説明する。
【0087】
オブジェクト追尾・探索処理では、公知の手法によりオブジェクトの追尾と、追尾に失敗(消失)したオブジェクト(LOSTオブジェクト)の探索が行われる。探索は、消失した追尾対象のオブジェクトを追尾するように移動する複数の探索ブロックによって行われる。
【0088】
図18は、探索ブロックによる探索の概略を示している。新規に検出された追尾対象のオブジェクトA(図18の例では人物A)に対して、そのオブジェクトAを追尾対象とする所定サイズの探索ブロックDを複数発生させると共にこれらの各探索ブロックDにその追尾対象のオブジェクトAの特徴情報を対応付けて記憶する(t1)。図18では、斜線を施した各矩形領域が探索ブロックDである。なお、追尾対象の各オブジェクトにはそのオブジェクトを一意に特定する識別情報として固有のオブジェクトIDを割り当ててあり、各探索ブロックにその追尾対象のオブジェクトのオブジェクトIDを登録することで、追尾対象のオブジェクトと探索ブロックとを関連付けする。
【0089】
その後は、前時刻のフレームの画像と現在時刻のフレームの画像とのマッチング等の既存の手法によりオブジェクトの追尾を行うと共に、各探索ブロックDをその追尾対象のオブジェクトを追尾するように(オブジェクトの動きベクトルに追従するように)移動させる(図18;t2)。
【0090】
交差や隠れによってオブジェクトの追尾に失敗した場合(消失した場合)は(図18;t3)、そのオブジェクトを追尾対象とする探索ブロックDの移動を所定の移動ルールに従って継続させる。たとえば、ランダムに移動させる、あるいは消失前のオブジェクトの動きにランダムな動きを合成した動きで移動を継続させる。図18では、時刻t3においてオブジェクトAが障害物61の背後に隠れており、各探索ブロックDは、現在時刻までのオブジェクトAの動きとランダムな動きとを合成した動きで移動している。オブジェクトAの消失前の動きの影響は次第に少なくなりランダムな動きが支配的になり、探索ブロックは次第に広い範囲に分散するように移動する(t4)。なお、図18では、時刻t3における各探索ブロックに「t3」の文字を、時刻t4における各探索ブロックに「t4」の文字を付してある。
【0091】
このように、消失したオブジェクトを探索するように継続的に移動させている探索ブロックの位置(存在領域)にオブジェクトが存在する場合は、そのオブジェクトの特徴情報と各探索ブロックに対応付けて記憶されている追尾対象のオブジェクトの特徴情報とを比較し、該比較結果に基づいて、その探索ブロックの位置に存在するオブジェクトがその探索ブロックの追尾対象のオブジェクトであるか否かを判断する。追尾対象のオブジェクトであればそのオブジェクトに当該探索ブロックに登録されている追尾対象のオブジェクトのオブジェクトIDを割り当てる。これにより、消失の前後で同一オブジェクトを同一オブジェクトとして追尾するようになる。
【0092】
図18の例では時刻t4に探索ブロックD1によってオブジェクトAが見出(検出)される。追尾対象のオブジェクトが消失した後は、各探索ブロックはランダムな動きが支配的となって移動し拡散しているので、仮にオブジェクトAが破線で示したA’の位置に現れた場合は、その位置に移動していた探索ブロックD2によって発見されることになる。こうして、交差や障害物の背後への一時的な隠れが発生してもその前後で同一のオブジェクトを同一オブジェクトとして(同じオブジェクトIDで)追尾するようになっている。
【0093】
本実施の形態では、図19に示すように、処理対象の画像(1フレーム分の画像)を複数の小領域(分割ブロックBk)に分割し、オブジェクトを分割ブロック単位で捉える。これにより、追尾に係る計算量が軽減される。ここでは、各分割ブロックBkが矩形となるように処理対象の画像を格子状の境界線で分割している。
【0094】
図19の例では、オブジェクトAは、斜線を施した33個の矩形の分割ブロックBkに分けられる。オブジェクトAの追尾・探索は分割ブロックBk単位に行われる。これら33個の分割ブロックBkの集合体としてオブジェクトAは認識され、オブジェクトA全体としての形状や重心位置、動きなどの特徴情報が把握される。ここでは、分割ブロックBkの中に占めるオブジェクトの面積が所定の占有率以上(たとえば、50パーセント以上)の場合に、その分割ブロックをオブジェクトの存在する分割ブロックとみなしている。
【0095】
図20は、オブジェクト追尾・探索処理(図17;ステップS105)の流れを示している。オブジェクト追尾(図20;ステップS121)では、新規に検出されたオブジェクトについてオブジェクトIDを割り当てると共に図3に示すようなオブジェクトデータテーブル30を生成する。
【0096】
過去時刻において検出済みで既にオブジェクトIDが割り当てられているオブジェクトについては、動きベクトルなど公知の手法により、前時刻の画像内のオブジェクトと現在時刻の画像内のオブジェクトとの対応付け等の手法により追尾する。
【0097】
次に、新たに追尾対象となったオブジェクトについて探索ブロックを発生させる探索ブロック発生処理を行う(ステップS122)。探索ブロック発生処理の詳細は図21に示してある。処理対象の画像内に存在する、状態(ステータス)がACTIVEであって(ステップS142;Yes)当該オブジェクトを追尾対象とする探索ブロックが0個のオブジェクト(ステップS143;Yes)について、そのオブジェクト領域の重心周辺に複数の探索ブロックを発生させる(ステップS144〜S155)。
【0098】
探索ブロックは、追尾対象のオブジェクトを追尾・探索する際の単位領域であり、探索ブロックを単位として、その探索ブロックの存在領域に存在するオブジェクトがその探索ブロックが追尾対象としているオブジェクトか否かが判断される。探索ブロックは、追尾対象のオブジェクトが存在する分割ブロック毎に所定(BLOCKFACTOR)個ずつ発生させる。すなわち、追尾対象のオブジェクトのサイズに応じた数の探索ブロックを発生させる。BLOCKFACTOR個は1個以上で任意に設定変更可能な数であり、分割ブロックの領域サイズと探索ブロックの領域サイズとの比率等に基づいて適宜の個数に設定すればよい。たとえば、BLOCKFACTOR個は2〜5個に設定される。図22は、探索ブロックの原点(px0,py0)と中心位置(px,py)との関係を示している。探索ブロックはBLOCK_SIZE×BLOCK_SIZEの画素領域となっている(図22の例では5×5画素の領域)。ここでは、探索ブロックを矩形としたが、探索ブロックの形状はこれに限定されず、円など他の形状であってもかまわない。
【0099】
また、発生させた探索ブロック毎に図23に示すような探索ブロックデータテーブル70を生成する。探索ブロックデータテーブル70には、対応する探索ブロックの属性を示す情報が登録される。発生時に初期値として以下の値等を探索ブロックデータテーブル70に登録する。
【0100】
・オブジェクトID:obj_id → 追尾対象のオブジェクトID
・探索ブロックの状態(ステータス):stateobj_idn_block → ON
・探索ブロックの位置(x座標):bxobj_idn_block → x
・探索ブロックの位置(y座標):byobj_idn_block → y
・探索ブロックの動きベクトル(水平方向):dxobj_idn_block → dx(gxobj_id,
gyobj_id)
・探索ブロックの動きベクトル(垂直方向):dyobj_idn_block → dy(gxobj_id,
gyobj_id)
・探索ブロックの適合度:corobj_idn_block → 1.0
また、探索ブロックの存在領域内の各画素のHSV値(HSV色空間で表現した画素値)から図24に示すようなHSV色空間累積ヒストグラムを生成する。この累積ヒストグラムは、探索ブロック領域を画素単位で走査して導出する。画素値iの場合、j≧iであれば、
histH,S,V(t, j)obj_idn_block = histH,S,V(t, j)obj_idn_block + 1
とする。すなわち、画素値の取り得る値を所定数の階級に区分し、当該画素の画素値がiであれば、iが属する階級以上の各階級の累積値をそれぞれ「1」加算する。この処理を探索ブロック内の全画素に対して行う。
【0101】
なお、HSV色空間は色相(Hue)、彩度(Saturation・Chroma)、明度(Brightness・Lightness・Value)の三つの成分からなる色空間であり、HSV色空間累積ヒストグラムは、H(色相)成分、S(彩度)成分、V(明度)成分のそれぞれについて生成される。これらのHSV色空間累積ヒストグラムに係る各値は、探索ブロックの位置(存在領域)におけるオブジェクト(画像)の特徴情報としてその探索ブロックに対応付けて記憶される。
【0102】
次に、全探索ブロックに関する適合度を更新する(図20:ステップS123、詳細は図25に示す)。適合度を更新する処理では、探索ブロックの状態(ステータス)がONとなっている(図25;ステップS163;Yes)すべての探索ブロックに関して、適合度の更新(図25;ステップS164〜S167)を行う。適合度は、探索ブロックの位置(存在領域)に存在するオブジェクトと当該探索ブロックの追尾対象のオブジェクトとの一致度を示す指標である。適合度は、探索ブロックの存在領域に存在するオブジェクトの特徴情報(色など画像としての特徴情報と重心位置に係る特徴情報)とその探索ブロックに対応付けて記憶されているオブジェクトの特徴情報(当該探索ブロックの前時刻の位置に存在していたオブジェクトの特徴情報)との比較に基づいて算出する。本実施の形態では、HSV色空間累積ヒストグラムを用いた場合について記述する。具体的には、探索ブロックの存在領域におけるHSV色空間累積ヒストグラムの時間差分と、当該探索ブロックが追尾対象とするオブジェクトの重心位置と該探索ブロックの中心との距離に基づく距離係数との積により導出する。適合度は1〜0の範囲をとる。具体的には以下の式の通りである。
【数1】

HSV色空間累積ヒストグラムの時間差分total_diffについては、たとえば下記の式で表わされる。
【数2】

距離係数に関しては、たとえば下記の式で表わされる。
【数3】

従って、探索ブロックの中心とオブジェクト領域の重心との距離が近い程、探索ブロックの適合度は高くなる。なお、消失中のオブジェクト(LOSTオブジェクト)についてはLOST状態になる直前のフレーム時刻における重心位置をオブジェクトの重心位置として距離係数を求める。
【0103】
図26は、探索ブロックの中心とその追尾対象のオブジェクトの重心との距離と適合度との関係を例示したものである。探索ブロックD1、D2は、追尾対象のオブジェクト上にないので、オブジェクト重心との距離が大きく(距離係数(dist_factor)→小)、かつオブジェクト(画像)の特徴情報の一致度(HSV色空間累積ヒストグラムの一致度)も低い(total_diff→小)ので、適合度は低くなる(0に近づく)。探索ブロックD3、D4は追尾対象のオブジェクト上にあるので、オブジェクト重心との距離が小さく(距離係数(dist_factor)→大)、かつオブジェクト(画像)の特徴情報の一致度(HSV色空間累積ヒストグラムの一致度)も高い(total_diff→大)ので、適合度は高くなる(1に近づく)。
【0104】
次に、分割ブロック領域ID割り当て処理を行う(図20:ステップS124、詳細は図27に示す)。当該処理では、分割ブロック領域内に何らかのオブジェクトが存在しかつ1個以上の探索ブロックが存在している分割ブロックBkに対して、それらの探索ブロックの中で最も優位な(最高適合度を有する)探索ブロックに登録されている追尾対象のオブジェクトIDを割り当てることでその分割ブロックBkに該オブジェクトIDを付与し、該オブジェクトIDのオブジェクトをACTIVE状態にする、ことを行う。元々ACTIVE状態であったオブジェクトはACTIVE状態が継続される。
【0105】
上記処理により、LOSTオブジェクトを追尾対象とする探索ブロックに登録されているオブジェクトIDがいずれかの分割ブロックBkに割り当てられた場合、LOST状態であったその追尾対象のオブジェクトが見出された(検出された)ことになる。なお、追尾対象のオブジェクトであるがいずれの分割ブロックBkにもオブジェクトIDが付与されなかったオブジェクトは、図17のオブジェクト状態更新処理(S110)においてLOSTオブジェクトと判定されて状態が保持あるいは更新される。
【0106】
次に、探索ブロック消去処理を行う(図20:ステップS125、詳細は図28に示す)。オブジェクトの状態(ステータス)がUNDETECTEDである場合、あるいは状態がLOSTでありかつオブジェクトの継続時間obj_timeがLOST_TIME以上である(LOST状態がLOST_TIME以上継続した)場合に、当該オブジェクトに属する(当該オブジェクトを追尾対象とする)すべての探索ブロックを削除する。削除は、当該オブジェクトに属するすべての探索ブロックデータテーブルをクリアすることで行う。
【0107】
次に、探索ブロックリサンプリング処理を行う(図20:ステップS128、詳細は図29に示す)。探索ブロックリサンプリング処理は、ACTIVE状態のオブジェクトに属するすべての探索ブロックについて行われる(図20;ステップS127;Yes)。探索ブロックリサンプリング処理では、追尾対象のオブジェクトが同一の複数の探索ブロック間で、適合度の低い探索ブロックを適合度の高い探索ブロックに確率的に置き換えることが行われる。
【0108】
ここでは、同一オブジェクト(たとえば、オブジェクトA)を追尾対象とするすべての探索ブロックの適合度の和に対する個々の探索ブロックの適合度の比率をその探索ブロックの出現確率とするルーレットを生成し、該オブジェクトを追尾対象とする探索ブロック毎に前記ルーレットに基づく乱数抽選を行い、その探索ブロックをその抽選結果の出目に対応する探索ブロックに置き換える。すなわち、当該オブジェクトを追尾対象とする全探索ブロックの個数と同じ回数の乱数抽選を前記ルーレットに基づいて行い、抽選毎にその当たりとなった出目に対応する探索ブロックに置き換えることによって、適合度の低い探索ブロックを適合度の高い探索ブロックに置き換わりやすいようにしている。
【0109】
より詳細には、処理対象の画像内に存在するオブジェクトの中で、状態(ステータス)がACTIVEであるオブジェクト毎に以下の処理を行う。まず、注目しているACTIVEオブジェクトobj_idに関して、そのオブジェクトに属する探索ブロックn_blockの適合度cor obj_idn_blockを基に、下記の通りルーレットを生成する。
【0110】
探索ブロックn_blockの状態(ステータス)stateobj_idn_blockがONであるならば、
rouletteobj_idn_block = rouletteobj_idn_block-1 + cor obj_idn_block
探索ブロックn_blockの状態(ステータス)stateobj_idn_blockがOFFであるならば、
rouletteobj_idn_block = rouletteobj_idn_block-1
次に、注目しているACTIVEオブジェクトobj_idに属する探索ブロック毎に乱数データを生成し、その乱数データをもとにその探索ブロックに関するルーレットの出目を決定した後、当該探索ブロックをその出目に対応する探索ブロックに置き換える。
【0111】
図30は、任意のオブジェクトについて生成したルーレットの一例を示している。このオブジェクトを追尾対象とする探索ブロックは全部でM個存在する。探索ブロック1からMまでの全探索ブロックの適合度の合計を360度としたルーレット上に、個々の探索ブロックの出目をその適合度の比率に応じた占有角度で配置してある。たとえば、探索ブロック1の出目の占有角度は、((探索ブロック1の適合度)/(全探索ブロックの適合度の合計))×360度となる。
【0112】
適合度の高い探索ブロックは出目の占有角度も大きいので、その分、乱数抽選で当たりになる確率は高い。一方、適合度の低い探索ブロックは出目の占有角度は小さく、当たりになる確率も低い。したがって、適合度の低い探索ブロックが適合度の高い探索ブロックに置き換えられ易くなる。
【0113】
ここで、探索ブロックを置き換えるとは、探索ブロックデータテーブル70の内容を、探索ブロックIDを除く項目について、ルーレットの出目に対応する探索ブロックデータテーブルで更新することである。
【0114】
先に説明したように、探索ブロックの適合度はその探索ブロックが追尾対象のオブジェクト上に存在する場合は高く、追尾対象のオブジェクトから外れた位置にある場合は低くなる。したがって、図31(a)に示すように、ACTIVEオブジェクトについて探索ブロックの置き換え(探索ブロックリサンプリング)を行うと、追尾対象のオブジェクトA上にある探索ブロックD5〜D7とオブジェクトA上にない探索ブロックD1〜D4との間で適合度に大きな差が生じる。したがって、探索ブロックリサンプリングにより生成されるルーレットは図31(b)のように(D1〜D4については占有角度が小さく、D5〜D7は占有角度が大きく)なる。
【0115】
このルーレットを使用して探索ブロック個数回分(ここでは7回)の乱数抽選を行った場合、その結果は、たとえば図31(c)に示すようになり、適合度の低い探索ブロックが適合度の高い探索ブロックに確率的に置き換えられる。図31(d)に示すように、追尾対象のオブジェクト上になかった探索ブロックの多くが追尾対象のオブジェクト上の探索ブロックに置き換えられ、探索ブロックが追尾対象のオブジェクト上に集約されやすくなる。
【0116】
次に、探索ブロック更新処理を行う(図20:ステップS129、詳細は図32に示す)。探索ブロック更新処理は、各探索ブロックの移動と各探索ブロックに対応付けて記憶してある追尾対象のオブジェクトに関する特徴情報の更新とを行う。画像内に存在する(ステータスがON状態である)すべての探索ブロックについて、その位置情報、動きベクトルの情報が更新される(ステップS248、S249)。さらに状態(ステータス)がACTIVEであるオブジェクトに属する(当該オブジェクトを追尾対象とする)探索ブロックであり、かつ追尾対象のオブジェクトのIDと当該探索ブロックの存在位置の分割ブロックに付与されているオブジェクトのIDとが一致する探索ブロックについては、HSV色空間累積ヒストグラムについても更新する(ステップS247)。
【0117】
位置情報の更新は以下の通りである。
【数4】

ここで、rnd_x、rnd_yはそれぞれx、y方向に関する乱数を示す。乱数を加えることで、探索ブロックにランダムな動きを加えることになる。
【0118】
動きベクトル情報の更新は以下の通りであり、前時刻の探索ブロックの動きベクトルと現在の探索ブロック存在位置の分割ブロックにおける動きベクトルの線形荷重和となっている。
【数5】

ここで、kは更新割合(慣性定数)を表す。kの値は設定変更可能となっている。追尾に成功している場合はオブジェクトの動きベクトルが支配的になり、追尾に失敗している(追尾対象のオブジェクトが消失している(LOST状態))場合は、乱数による移動が支配的になる。
【0119】
上記のようにしてオブジェクトの追尾・探索を行うことにより、図18に示すように追尾対象のオブジェクトが障害物61に一時的に隠れた場合でも、障害物61に隠れる前後で同一オブジェクトを同一オブジェクトとして、すなわち、障害物61に隠れる前後の同一オブジェクトに対して同一のオブジェクトIDを割り当てて、追尾することができる。
【0120】
同様に追尾対象のオブジェクト同士が交差した場合にも、交差の前後で同一のオブジェクトに対して同一のオブジェクトIDを付与して追尾することができる(図33(a)〜(d))。交差領域においては、適合度の高い探索ブロックに優位性がある。図33(b)では、オブジェクトAがオブジェクトBの背後を通過するので前面側のオブジェクトBを追尾している探索ブロックが優位となる。同図(c)に示すように、交差状態からオブジェクトAとBが互いに離れる際には、オブジェクトAに属する探索ブロックはオブジェクトAに追従し、オブジェクトBに属する探索ブロックはオブジェクトBを追従するように移動する(同図(d))。
【0121】
このように、本実施の形態に係るオブジェクト追尾・探索方法では、新規に追尾対象のオブジェクトを検出した場合に、そのオブジェクトの重心付近に複数の探索ブロックを生成しかつ各探索ブロックにその探索ブロックの存在領域における追尾対象オブジェクトの特徴情報を対応付けて記憶し、その後は、探索ブロックを追尾対象のオブジェクトに追従するように移動させると共に探索ブロックに記憶している追尾対象のオブジェクトの特徴情報の更新を行い、追尾に失敗した(消失した)後はランダムな動きが支配的となるように探索ブロックの移動を継続させ、探索ブロックという局所領域を単位に適合度を判断して消失した追尾対象のオブジェクトを探索することで、交差や隠れの前後で同一オブジェクトを同一オブジェクトとして追尾する。
【0122】
なお、追尾しているオブジェクトから図17のステップS106で抽出した形状、動き等のオブジェクトの特徴量データは、図6に示すようなFIFO(First in First out)形式で記憶領域Fに特徴量時系列データとして保存される(図17、ステップS107)。記憶された特徴量時系列データは、図17の人・車両判別処理(ステップS111)で各追尾対象オブジェクトが人か車両かを判別する際に使用される。
【0123】
次に、人・車両判別処理(図17のS111)について詳細に説明する。図34は、人・車両判別処理の流れを示している。人・車両判別処理は追尾対象のオブジェクト毎に行われる。まず、追尾対象のオブジェクトの状態がACTIVE(追尾成功中)であるかどうかを確認し、ACTIVEでない場合は(ステップS301;No)、その追尾対象のオブジェクトに対する人・車両判別処理を終了する。
【0124】
ACTIVEの場合は(ステップS301;Yes)、その追尾対象のオブジェクトに係る特徴量データが記憶領域Fに時系列に記憶されている時間長(L時間長とする)が、所定時間長(T時間長とする)以上か否かを確認する(ステップS302)。T時間長は記憶部22に記憶可能なLmax時間長以下の任意の時間長に設定することができる。たとえば、TはLmaxの2分の1に設定される。
【0125】
L時間長がT時間長未満の場合は(ステップS302;No)、その追尾対象のオブジェクトに対する人・車両判別処理を終了する。
【0126】
L時間長がT時間長以上の場合は(ステップS302;Yes)、記憶されているL時間長分の特徴量時系列データを人・車両判別部24に入力し(ステップS303)、人・車両判別部24において、人・車両の判別を行う。
【0127】
このように、オブジェクトを追尾し、追尾中にそのオブジェクトの特徴情報を示す特徴量データを時系列にある程度の時間長分サンプリングして蓄積記憶し、所定期間以上に渡る(T時間長以上の)特徴量時系列データに基づいてそのオブジェクトが人であるか車両であるかを判別するので、オブジェクトを検出した直後に人・車両を判別する場合に比べて、高い信頼性で人・車両を判別することができる。すなわち、人は動きの自由度が高くその「見え方」が様々となるので、ある時刻の画像のみに基づく判断では誤りが生じ易いが、本実施の形態の不審行動検知装置10では所定期間のオブジェクト追尾中に時系列に収集した複数時刻分の特徴量データに基づいて判別するので、高い信頼性で人・車両を判別することができる。
【0128】
また交差や隠れがあっても同一オブジェクトを同一オブジェクトとして追尾できるので、追尾中に交差や隠れがあってもその前後をつなげて同一オブジェクトの時系列の特徴量データを収集することができる。
【0129】
また、特徴量データが所定時間長(T時間長)未満の場合には追尾対象オブジェクトの種類(人・車両)を判別しないので、サンプリング時間長の短い特徴量データによって誤判別されることが防止され、判別の信頼性が確保される。
【0130】
以上、本発明の実施の形態を図面によって説明してきたが、具体的な構成は実施の形態に示したものに限られるものではなく、本発明の要旨を逸脱しない範囲における変更や追加があっても本発明に含まれる。
【0131】
実施の形態では、日常行動特徴量時系列DB部15cは、監視動作中に逐次、記憶内容を更新したり、データを追加記憶したりした構成でもよいし、予め十分な量のデータを蓄積した構成でもよい。また、統計的手法により代表となる日常行動パターンを導出する処理は、監視動作中に行われてもよいが、予め日常行動特徴量時系列DB部15cの記憶内容に基づいて導出して記憶しておき、監視動作中はその記憶されている代表の日常行動パターンを使用するように構成されてもよい。
【0132】
実施の形態では、検知漏れを防止するために、図12の二分木図54や図14の判定論理表55を使用したが、たとえば、確実性の高い不審行動を検出する場合には、非日常度が閾値Th以上かつ特異度が閾値Th以上の場合のみを不審行動として検出するようにされてもよい。
【0133】
特徴量時系列データは、形、大きさなど実施の形態で例示した項目に限定されるものではなく、判別対象の物体の種類や、人の各種動きの特徴量を示すデータであれば任意に設定できる。
【0134】
また、実施の形態ではオブジェクトの追尾方法として、消失したオブジェクトを探索ブロックによって追尾・探索する方法を例示したが、これに限定されるものではなく任意の方法で追尾すればよい。交差や隠れの前後で同一オブジェクトを同一オブジェクトとして追尾可能な方法が好ましいが、このような機能のない追尾方法でもかまわない。
【0135】
実施の形態に示した追尾・探索では、分割ブロック単位にオブジェクトを追尾・探索するようにしたが、オブジェクト単位に追尾を行っても構わない。また実施の形態では、追尾対象のオブジェクトの動きとランダムな動き(乱数に基づく位置変更…数4)との合成によって探索ブロックを移動させることと、ACTIVEオブジェクトに属する探索ブロックを対象にした探索ブロックリサンプリング処理(適合度の低い探索ブロックを適合度の高い探索ブロックに確率的に置き換える処理)との組み合わせにより、追尾に成功している間は探索ブロックを追尾対象のオブジェクトを追尾するように移動させ、消失中はランダムな動きが支配的となるように探索ブロックを移動させたが、探索ブロックの移動方法は実施の形態に例示した方法に限定されない。すなわち、追尾成功中は追尾対象のオブジェクトを追尾し、消失中はランダムな動きが支配的となるという移動ルールで移動すればよく、たとえば、追尾成功中はランダム要素なしに追尾対象の動きベクトルに従って移動させ、消失中は慣性的な動きを排除しランダムな動きのみで移動させるように構成されてもかまわない。
【0136】
消失中の移動のルールは、消失直前のオブジェクトの動きにランダムな動きを加えることが好ましく、さらには時間の経過と共にランダムな動きがより支配的になるとよい。
【0137】
実施の形態では、HSV色空間累積ヒストグラムの時間差分とオブジェクトと探索ブロックとの間の距離による距離係数とに基づいて各探索ブロックの適合度を決定するようにしたが、他の基準で適合度を定めてもよい。適合度は、画像としての一致度と、オブジェクトと探索ブロックとの位置関係とを要素として決定されることが好ましい。
【0138】
実施の形態では人・車両判別方法として、オブジェクトの「見え方」変動を考慮し、所定時間長オブジェクトを追尾した後に(追尾対象のオブジェクトに関して所定時間長以上の特徴量時系列データが蓄積された後に)、その特徴量時系列データをもとに、オブジェクトが人であるか車両であるかの判別を行っている。信頼性の高い人・車両判別方法が好ましいが、このような人・車両判別方法でなくても良い。
【0139】
実施の形態では、人、車両を判別する場合を例に説明したが、判別対象の物体の種類はこれらに限定されるものではない。
【符号の説明】
【0140】
10…不審行動検知装置
11…カメラ部
12…処理部
13…入力部
14…出力部
15…データベース部
15a…人特徴DB部
15b…車両特徴DB部
15c…日常行動特徴量時系列DB部
15d…特異行動特徴量時系列DB部
21…追尾部
22…記憶部
23…蓄積制御部
24…人・車両判別部
25…行動解析部
25a…非日常度導出部
25b…特異度導出部
25c…不審判定部
30…オブジェクトデータテーブル
51…知識ベース推論関数
52…特異度(知識ベース推論関数最大値)
54…二分木図
55…判定論理表
61…障害物
70…探索ブロックデータテーブル
F…記憶領域
P1…オブジェクト検出フェーズ
P2…オブジェクト追尾・探索フェーズ
P3…人・車両判別フェーズ
P4…人オブジェクト抽出フェーズ

【特許請求の範囲】
【請求項1】
処理部が、カメラから入力される画像内の人物を追尾し、前記追尾した人物の行動が日常行動パターンから外れた非日常行動であるか否かの第1判定と、前記人物の行動が不審な特異行動か否かの第2判定とを行い、前記第1判定と前記第2判定の判定結果に基づいて前記人物の不審行動を検知する
ことを特徴とする不審行動検知方法。
【請求項2】
前記追尾において刻々の人物の特徴情報を示す特徴量データを時系列に配列した特徴量時系列データを収集し、
前記第1判定を、判定対象の人物に関する特徴量時系列データと、以前に追尾された日常行動を行う複数人分の特徴量時系列データとに基づく統計的手法によって行う
ことを特徴とする請求項1に記載の不審行動検知方法。
【請求項3】
特異行動を行う人物の刻々の特徴情報を示す特徴量データを時系列にした特徴量時系列データより発見される知識ベース推論関数を登録しておき、
前記カメラから入力される画像内の人物の追尾において、その人物の刻々の特徴情報を示す特徴量データを時系列にした特徴量時系列データを収集し、
前記第2判定を、判定対象の人物に関する特徴量時系列データに、前記登録されている知識ベース推論関数を適用して行う
ことを特徴とする請求項1または2に記載の不審行動検知方法。
【請求項4】
判定対象の人物に対する前記第1判定の判定結果が非日常行動であること、もしくは、前記人物に対する前記第2判定の判定結果が特異行動であることの少なくとも一方が真であれば、前記人物について不審行動の検知ありと判定する
ことを特徴とする請求項1乃至3のいずれか一項に記載の不審行動検知方法。
【請求項5】
カメラから入力される画像内の人物を追尾する追尾部と、
前記追尾部で追尾した人物の行動が日常行動パターンから外れた非日常行動であるか否かを判定する第1判定部と、
前記人物の行動が不審な特異行動か否かを判定する第2判定部と、
前記第1判定部と前記第2判定部の判定結果に基づいて前記人物の不審行動を検知する不審判定部と、
を有する
ことを特徴とする不審行動検知装置。
【請求項6】
追尾している人物の刻々の特徴情報を示す特徴量データを時系列にした特徴量時系列データが日常行動を行う複数人分について登録されたデータベースを有し、
前記追尾部は、追尾対象の人物について、その人物の刻々の特徴情報を示す特徴量データを時系列にした特徴量時系列データを収集し、
前記第1判定部は、判定対象の人物に関する特徴量時系列データと前記データベースに登録されている特徴量時系列データとに基づく統計的手法によって、前記人物の行動が非日常行動であるか否かを判定する
ことを特徴とする請求項5に記載の不審行動検知装置。
【請求項7】
特異行動を行う人物の刻々の特徴情報を示す特徴量データを時系列にした特徴量時系列データより発見される知識ベース推論関数が登録された推論関数記憶部を有し、
前記追尾部は、追尾対象の人物について、その人物の刻々の特徴情報を示す特徴量データを時系列にした特徴量時系列データを収集し、
前記第2判定部は、判定対象の人物に関する特徴量時系列データに、前記推論関数記憶部に記憶されている知識ベース推論関数を適用して、前記人物の行動が不審な特異行動か否かを判定する
ことを特徴とする請求項5または6に記載の不審行動検知装置。
【請求項8】
前記不審判定部は、判定対象の人物に対する前記第1判定部の判定結果が非日常行動であること、もしくは、前記人物に対する前記第2判定部の判定結果が特異行動であることの少なくとも一方が真であれば、前記人物について不審行動の検知ありと判定する
ことを特徴とする請求項5乃至7のいずれか一項に記載の不審行動検知装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図16】
image rotate

【図17】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図34】
image rotate

【図15】
image rotate

【図18】
image rotate

【図22】
image rotate

【図26】
image rotate

【図33】
image rotate


【公開番号】特開2011−35571(P2011−35571A)
【公開日】平成23年2月17日(2011.2.17)
【国際特許分類】
【出願番号】特願2009−178422(P2009−178422)
【出願日】平成21年7月30日(2009.7.30)
【新規性喪失の例外の表示】特許法第30条第1項適用申請有り 研究集会名 2008年度 慶應義塾大学理工学部情報工学科 卒業研究審査会 主催者名 慶応義塾大学 開催日 平成21年1月31日
【出願人】(508338290)
【出願人】(390010054)小糸工業株式会社 (136)
【Fターム(参考)】