以下、本発明の実施の形態(以下実施形態という)に係る画像監視装置1について、図面に基づいて説明する。
[第1の実施形態]
図1は画像監視装置1の概略の構成を示すブロック図である。画像監視装置1は、本発明に係る画像解析装置を用いて構成され、撮影部2、通信部3、記憶部4、画像処理部5および表示部6からなる。
撮影部2は、監視カメラであり、通信部3を介して画像処理部5と接続され、所定の物体が混雑し得る監視空間を所定の時間間隔で撮影して撮影画像を出力する撮影手段である。
例えば、撮影部2は、イベント会場に設置されたポールに監視空間を俯瞰する視野を有して設置される。その視野は固定されていてもよいし、予めのスケジュール或いは通信部3を介した外部からの指示に従って変更されてもよい。また、例えば、撮影部2は監視空間をフレーム周期1秒で撮影してカラー画像を生成する。カラー画像の代わりにモノクロ画像を生成してもよい。
通信部3は、通信回路であり、その一端が画像処理部5に接続され、他端が同軸ケーブルまたはLAN(Local Area Network)、インターネットなどの通信網を介して撮影部2および表示部6と接続される。通信部3は、撮影部2から撮影画像を取得して画像処理部5に入力し、画像処理部5から入力された解析結果を表示部6に出力する。
記憶部4は、ROM(Read Only Memory)、RAM(Random Access Memory)等のメモリ装置であり、各種プログラムや各種データを記憶する。記憶部4は、画像処理部5と接続されて画像処理部5との間でこれらの情報を入出力する。
画像処理部5は、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、MCU(Micro Control Unit)等の演算装置で構成される。画像処理部5は、記憶部4と接続され、記憶部4からプログラムを読み出して実行することにより各種処理手段・制御手段として動作し、各種データを記憶部4に記憶させ、また記憶部4から読み出す。また、画像処理部5は、通信部3を介して撮影部2および表示部6とも接続され、通信部3経由で撮影部2から取得した撮影画像を解析することにより、人の動きを解析し、解析結果と撮影画像を通信部3経由で表示部6に出力する。
表示部6は、液晶ディスプレイ又はCRT(Cathode Ray Tube)ディスプレイ等のディスプレイ装置であり、通信部3を介して画像処理部5と接続され、画像処理部5による解析結果を表示する表示手段である。監視員は表示された解析結果を参照しながら撮影画像を視認して異常行動等の発生を判断し、必要に応じて人員配置の変更等の対処を行う。
なお、本実施形態においては、撮影部2と画像処理部5の個数が1対1である画像監視装置1を例示するが、別の実施形態においては、撮影部2と画像処理部5の個数を多対1或いは多対多とすることもできる。
図2は画像監視装置1の機能を示す機能ブロック図である。通信部3は画像取得手段30および要注視情報出力手段31等として機能し、記憶部4は時系列画像記憶手段40、密度推定器記憶手段41および検出基準記憶手段42等として機能する。画像処理部5は、密度推定手段50、領域分割手段51、動きベクトル算出手段52、および要注視行動検出手段53(動き解析手段)等として機能する。
画像取得手段30は撮影手段である撮影部2から撮影画像を順次取得して、取得した撮影画像を密度推定手段50に順次出力するとともに、時系列画像記憶手段40に順次追加記憶させる。
時系列画像記憶手段40は、画像取得手段30から入力された撮影画像を時系列に記憶し、撮影画像を撮影時刻順に並べた時系列画像を動きベクトル算出手段52に出力する。時系列画像記憶手段40は少なくとも動きベクトル算出手段52が必要とする時間区間の撮影画像を記憶し、好ましくは不要となった時点で削除する。例えば、時系列画像記憶手段40は現時刻および現時刻の1時刻前から4時刻前までの撮影画像(つまり最新5フレームの撮影画像)を循環記憶する。
密度推定器記憶手段41は、所定の密度ごとに当該密度にて移動物体(人)が存在する空間を撮影した画像(密度画像)それぞれの画像特徴を学習した推定密度算出関数であって、画像の特徴量を入力されると当該画像に撮影されている移動物体の密度の推定値(推定密度)を算出して出力する推定器(密度推定器)を表す情報を予め記憶している。つまり密度推定器記憶手段41は上記推定密度算出関数の係数等のパラメータを密度推定器の情報として予め記憶している。
密度推定手段50は、画像取得手段30から入力された撮影画像内の任意の領域について当該領域に撮影された移動物体の密度を推定する。具体的には、密度推定手段50は、撮影画像の各所から密度推定用の特徴量(推定用特徴量)を抽出するとともに密度推定器記憶手段41から密度推定器を読み出して、抽出した推定用特徴量のそれぞれを密度推定器に入力することによって密度を推定する。これにより、撮影画像内での推定密度の分布(移動物体の密度分布)が求められ、密度推定手段50は推定した密度分布を動きベクトル算出手段52に出力する。
密度推定の処理と密度推定器について具体的に説明する。
密度推定手段50は、撮影画像の各画素の位置に窓(推定用抽出窓)を設定し、各推定用抽出窓における撮影画像から推定用特徴量を抽出する。推定用特徴量はGLCM(Gray Level Co-occurrence Matrix)特徴である。
各推定用抽出窓に撮影されている監視空間内の領域は同一サイズであることが望ましい。すなわち、好適には密度推定手段50は不図示のカメラパラメータ記憶手段から予め記憶されている撮影部2のカメラパラメータを読み出し、カメラパラメータを用いたホモグラフィ変換により撮影画像の任意の画素に撮影されている監視空間内の領域が同一サイズとなるように撮影画像を変形してから推定用特徴量を抽出する。
密度推定器は多クラスの画像を識別する識別器で実現することができ、多クラスSVM(Support Vector Machine)法で学習した識別関数とすることができる。
密度は、例えば、人が存在しない「背景」クラス、0人/m2より高く2人/m2以下である「低密度」クラス、2人/m2より高く4人/m2以下である「中密度」クラス、4人/m2より高い「高密度」クラスの4クラスと定義することができる。
推定密度は各クラスに予め付与された値であり、分布推定の結果として出力される値である。本実施形態では各クラスに対応する値を「背景」、「低密度」、「中密度」、「高密度」と表記する。
すなわち、密度推定器は「背景」クラス、「低密度」クラス、「中密度」クラス、「高密度」クラスのそれぞれに帰属する多数の画像(密度画像)の特徴量に多クラスSVM法を適用して学習して得られる、各クラスの画像を他のクラスと識別するための識別関数である。この学習により導出された識別関数のパラメータが密度推定器として記憶されている。なお、密度画像の特徴量は、推定用特徴量と同種であり、GLCM特徴である。
密度推定手段50は、各画素に対応して抽出した推定用特徴量のそれぞれを密度推定器に入力することによってその出力値である推定密度を取得する。なお、撮影画像を変形させて推定用特徴量を抽出した場合、密度推定手段50はカメラパラメータを用いたホモグラフィ変換により密度分布を元の撮影画像の形状に変形させる。
こうして得られた、撮影画像の画素ごとの推定密度の集まりが密度分布である。
領域分割手段51は、密度推定手段50から入力される密度分布を参照して、撮影画像を密度に応じて区分して、当該区分した領域のそれぞれを密度に応じて定めた分割基準に従って複数の局所領域に分割し、分割結果を動きベクトル算出手段52に出力する。以下、密度に応じて区分した領域を区分領域と称する。
具体的には、領域分割手段51はまず、密度推定手段50により推定された密度分布に基づいて撮影画像を、密度に関し設定された複数の階級ごとの区分領域に分ける。本実施形態では、密度に関する階級として、密度推定手段50が出力する密度のクラスのうち「背景」と「低密度」とを統合し「低混雑度」という1つの階級を定義し、また「中密度」および「高密度」をそれぞれ「中混雑度」、「高混雑度」という階級に定義する。これら3つの階級に対応して、撮影画像は、推定密度が「背景」クラスである画素と推定密度が「低密度」クラスである画素との集まりからなる低混雑領域、推定密度が「中密度」クラスである画素の集まりからなる中混雑領域、および推定密度が「高密度」クラスである画素の集まりからなる高混雑領域の3種類の区分領域に分けられる。
図3は撮影画像の例、およびそれに対応する区分領域の例を示す模式図である。図3(a)は撮影画像の例であり、人の像60が示されている。また、図3(b)が区分領域を表しており、白抜き部が低混雑領域であり、また、斜線部が中混雑領域、網掛け部が高混雑領域である。
次に領域分割手段51は区分領域を、密度の階級、つまり混雑度ごとに定めた分割基準に従い複数の局所領域に分割する。つまり、撮影画像内の各区分領域は、当該区分領域に対応する混雑度について定められた分割基準により複数の局所領域に分割される。
本実施形態では撮影画像を単位ブロックに分割し、当該単位ブロックを単位として局所領域を定義する。例えば、撮影画像を当該撮影画像に撮影される立位の人の大きさの8分の1程度に見積もった間隔で格子状に分割し、これにより生成される矩形領域を単位ブロックとすることができる。領域分割手段51は、混雑度に応じて区分した各区分領域に、混雑度に応じて予め定めた数の単位ブロックからなる局所領域を設定することによって、区分領域それぞれの撮影画像を当該密度に応じた大きさの局所領域に分割する。
具体的には、撮影画像の横方向をX軸、縦方向をY軸として、撮影画像をX軸方向、Y軸方向それぞれに沿って分割して単位ブロックを定義する。そして、低混雑領域においては各単位ブロックを局所領域に設定する。これにより、低混雑領域においては、例えば、小さくとも人の手ほどの大きさであり、大きくとも人の頭ほどの大きさの局所領域が設定される。
また、中混雑領域においては単位ブロックを2つずつ統合した統合ブロックそれぞれを局所領域に設定する。例えば、当該局所領域とする統合ブロックはY軸方向に隣り合う2つの単位ブロックからなり、中混雑領域内にて、X軸方向に1ブロック間隔、Y軸方向に2ブロック間隔で配置される。これにより、中混雑領域においては、小さくとも人の頭ほどの大きさであり、大きくとも人の上半身ほどの大きさの局所領域が設定される。
高混雑領域においては単位ブロックを4つずつ統合した統合ブロックそれぞれを局所領域に設定する。例えば、当該局所領域とする統合ブロックはX軸方向およびY軸方向に2つずつ並んだ2×2の配列をなす4つの単位ブロックからなり、高混雑領域内にて、X軸方向およびY軸方向それぞれに2ブロック間隔で配置される。これにより、高混雑領域においては、小さくとも人の上半身ほどの大きさであり、大きくとも人の全身ほどの大きさの局所領域が設定される。
図4は各混雑度での局所領域および動きベクトルの模式図であり、図4(a)~(c)はそれぞれ低混雑領域、中混雑領域、高混雑領域での局所領域および動きベクトルを示している。図4の局所領域は上述した単位ブロックに基づいて設定される例を示しており、図4(a)に示す低混雑領域では、撮影画像70内のマス目の1つ1つが単位ブロックであり、当該単位ブロックが局所領域72aとされる。図4(b)に示す中混雑領域では、撮影画像70内の各マス目はY軸方向に並ぶ2つの単位ブロックからなる統合ブロックであり、当該統合ブロックが局所領域72bとされる。図4(c)に示す高混雑領域では、撮影画像70内の各マス目はX軸方向およびY軸方向に2つずつ並ぶ4つの単位ブロックからなる統合ブロックであり、当該統合ブロックが局所領域72cとされる。
以上のように、領域分割手段51は、撮影画像を密度に応じて区分した区分領域のそれぞれを、密度に応じて定めた分割基準に従って複数の局所領域に分割する。そして、その際に領域分割手段51は、区分領域のそれぞれを、移動物体の大きさを基準とする大きさの局所領域であって、密度が高いほど大きく予め定められた大きさの局所領域に分割する。
動きベクトル算出手段52は領域分割手段51が設定した局所領域それぞれにおける動きベクトルを算出し、算出した動きベクトルを要注視行動検出手段53に出力する。
密度の推定によって人どうしが接近していないことが判っている低混雑領域においては人の8分の1程度の小さな局所領域についての動きベクトルが算出されるので、手や足の動きなどの詳細な動きを表す動きベクトルが他人どうしの局所領域を混同することなく高精度に算出されることが期待できる。
その一方、密度の推定によって人どうしの接近が生じていることが判っている中混雑領域および高混雑領域においては、人の4分の1~2分の1程度の大きめな局所領域についての動きベクトルが算出される。大きめの局所領域を算出単位とすることで局所領域内に含まれ得る複数人の部位のかたまりについての動きを表す動きベクトルを算出でき、混雑するほどこれら複数人の位置関係は短時間で変化しにくくなるため、局所領域を大きくしても動きベクトルの精度は低下しにくくなる。よって、混雑の程度によらず精度良く動きベクトルを算出できる。
なお、その際、好適には、動きベクトルは、推定された密度が高いほど長く設定した期間(分析時間間隔)における画像の動きから算出する。すなわち、動きベクトル算出手段52は各局所領域が低混雑領域、中混雑領域および高混雑領域のいずれに帰属するかによって、当該局所領域における動きベクトルの分析時間間隔を切り替える。例えば、動きベクトル算出手段52は低混雑領域においては分析時間間隔を1時刻間隔(1フレーム間隔)とし、また、中混雑領域においては2時刻間隔(2フレーム間隔)、高混雑領域においては4時刻間隔(4フレーム間隔)として動きベクトルを算出する。
すなわち、動きベクトル算出手段52は、時系列画像記憶手段40から現時刻の撮影画像と1時刻前の撮影画像とを読み出し、現時刻の撮影画像において低混雑領域に帰属する局所領域(注目局所領域)それぞれに所定の探索範囲を設定して、1時刻前の撮影画像に設定した局所領域の中から各注目局所領域の探索範囲内に位置し且つ特徴量同士が最も類似する対応局所領域を検出し、対応局所領域の重心を始点とし注目局所領域の重心を終点とするベクトルを低混雑領域における現時刻の動きベクトルとして算出する。
同様に、動きベクトル算出手段52は、時系列画像記憶手段40から現時刻の撮影画像と2時刻前の撮影画像とを読み出し、現時刻の撮影画像において中混雑領域に帰属する注目局所領域それぞれに所定の探索範囲を設定して、2時刻前の撮影画像に設定した局所領域の中から各注目局所領域の探索範囲内に位置し且つ特徴量同士が最も類似する対応局所領域を検出し、対応局所領域と注目局所領域の重心同士を結ぶベクトルを中混雑領域における現時刻の動きベクトルとして算出する。
また、動きベクトル算出手段52は、時系列画像記憶手段40から現時刻の撮影画像と4時刻前の撮影画像とを読み出し、現時刻の撮影画像において高混雑領域に帰属する注目局所領域それぞれに所定の探索範囲を設定して、4時刻前の撮影画像に設定した局所領域の中から各注目局所領域の探索範囲内に位置し且つ特徴量同士が最も類似する対応局所領域を検出し、対応局所領域と注目局所領域の重心同士を結ぶベクトルを高混雑領域における現時刻の動きベクトルとして算出する。
ここで、特徴量は例えば平均画素値(平均色または平均濃度)とすることができる。また、探索範囲は動き解析の対象とする移動物体が移動可能な広さとすることができる。例えば、各注目局所領域に対し、当該注目局所領域の重心を中心とする所定半径の円を探索範囲として設定することができ、その半径は例えば1時刻の間に人が走って移動可能な距離に予め定めることができる。ここで、混雑度の増加は人の移動可能な速さを低くする効果がある。当該効果を考慮して、分析時間間隔は混雑度が高いほど長く設定される。一方、当該効果により、低混雑度より分析時間間隔を長く設定される中混雑度や高混雑度の領域での移動物体の移動可能な広さは、分析時間間隔に対応しては変化しない。この観点から、上述のように混雑度の各クラスにおける探索範囲の大きさを共通とすることが可能である。
図4を用いて動きベクトルを説明する。図4(a)~(c)にはそれぞれ低混雑領域、中混雑領域、高混雑領域に関して複数時刻Tの撮影画像70を示している。図4(a)に示す低混雑領域での動きベクトル算出では、現時刻(T=t)の撮影画像70の低混雑度の注目局所領域の動きベクトル74aの始点として1時刻前(T=t-1)の撮影画像70にて対応局所領域が探索される。また、図4(b)に示す中混雑領域での動きベクトル算出では現時刻(T=t)の撮影画像70の中混雑度の注目局所領域の動きベクトル74bの始点として2時刻前(T=t-2)の撮影画像70にて対応局所領域が探索され、図4(c)に示す高混雑領域での動きベクトル算出では現時刻(T=t)の撮影画像70の中混雑度の注目局所領域の動きベクトル74cの始点として4時刻前(T=t-4)の撮影画像70にて対応局所領域が探索される。
検出基準記憶手段42は、要注視行動を検出するために予め定められた検出基準を記憶している。この検出基準は混雑度合いごとに記憶され、各検出基準はそれぞれに対応する混雑度合いの領域において算出された動き分布に基づく要注視行動の検出に用いられる。
要注視行動検出手段53は、動きベクトル算出手段52から複数の局所領域の動きベクトルを入力され、それら動きベクトルから撮影空間における移動物体の動きを解析することによって移動物体による要注視行動を検出し、検出した要注視行動の情報(要注視情報)を要注視情報出力手段31に出力する。
要注視行動検出手段53は、混雑度ごとに、当該混雑度の領域にて算出された動きベクトルを集計して動き分布を算出するとともに、検出基準記憶手段42から当該混雑度に対応する検出基準を読み出し、動き分布を検出基準と比較することによって当該混雑度の領域において要注視行動が発生しているか否かを判定する。例えば、要注視行動検出手段53は、混雑度ごとに動きベクトルを集計して移動方向の頻度分布および/または速さの頻度分布を算出し、当該混雑度と対応付けて記憶されている検出基準と比較することによって要注視行動を検出する。
ここで、要注視行動検出手段53は、例えば、対応付けられている検出基準が要注視行動の特徴量である要注視パターンおよび閾値である場合は、要注視パターンと動き分布との類似度を算出して、類似度が閾値以上である場合に要注視行動が発生していると判定する。また、要注視行動検出手段53は、対応付けられている検出基準が正常行動の特徴量である正常パターンおよび閾値である場合は、正常パターンと動き分布との相違度を算出して、相違度が閾値以上である場合に要注視行動が発生していると判定する。
要注視行動検出手段53は、要注視行動が発生していると判定した場合に、検出基準を満たした動き分布が算出された領域、満たされた検出基準と対応する事象名を重畳させた監視画像を要注視情報として生成し、生成した要注視情報を要注視情報出力手段31に出力する。
要注視情報出力手段31は要注視行動検出手段53から入力された要注視情報を表示部6に順次出力し、表示部6は要注視情報出力手段31から入力された要注視情報に含まれる情報を表示する。例えば、要注視情報はインターネット経由で送受信され、表示部6に表示される。監視員は、表示された情報を視認することによって要注視行動の対処要否を判断し、対処が必要と判断すると対処員を派遣するなどの対処を行う。
次に、画像監視装置1の動作について説明する。図5は画像監視装置1における監視動作の概略の処理フロー図である。
撮影部2は監視空間を撮影して、撮影した画像を順次、画像処理部5に入力する。画像処理部5は画像取得手段30として動作し、撮影部2から撮影画像を取得して(ステップS1)、記憶部4に入力する。記憶部4は時系列画像記憶手段40として機能し、入力された撮影画像を記憶、蓄積する(ステップS2)。
要注視行動の検出に用いる動きベクトルの算出には予め定めた複数フレームの画像撮影を要するため、当該所定フレーム数の撮影画像が時系列画像記憶手段40に蓄積されるまで(ステップS3にて「NO」の場合)、画像処理部5はステップS1,S2を繰り返す。本実施形態では当該フレーム数を5フレームとしている。
時系列画像記憶手段40に所定フレーム数の撮影画像が蓄積されると(ステップS3にて「YES」の場合)、画像処理部5は密度推定手段50として動作し、密度推定手段50は撮影画像の各画素の位置に推定用抽出窓を設定し、各推定用抽出窓における撮影画像から抽出した推定用特徴量に基づいて当該画素における移動物体の推定密度を算出する(ステップS4)。
密度推定手段50により撮影画像における推定密度の分布が求められると、画像処理部5は領域分割手段51として動作し、撮影画像を混雑度ごとの領域に区分する(ステップS5)。これにより、撮影画像は、推定密度が「背景」または「低密度」の画素群である低混雑領域、推定密度が「中密度」の画素群である中混雑領域、および推定密度が「高密度」の画素群である高混雑領域に区分される。
画像処理部5は混雑度ごとの領域を順次、処理領域に設定して(ステップS6)、要注視行動検出処理を行う(ステップS7)。低混雑領域、中混雑領域、高混雑領域の全ての領域について要注視行動検出処理が完了するまで(ステップS8にて「NO」の場合)、ステップS6,S7を繰り返す。全領域について完了すると(ステップS8にて「YES」の場合)、要注視行動が検出された場合には(ステップS9にて「YES」の場合)、要注視情報出力手段31に要注視情報が出力され(ステップS10)、処理はステップS1に戻る。一方、要注視行動が検出されなかった場合には(ステップS9にて「NO」の場合)、ステップS10は省略される。なお、ステップS1に戻るときに画像処理部5は現時刻の撮影画像および局所領域の情報を記憶部4に記憶させる。
図6は要注視行動検出処理S7の概略のフロー図である。図6に示す処理では、撮影画像を格子状に分割して、混雑度が低、中、高の各領域についての局所領域の設定に用いる単位ブロックを設定する(ステップS100)。
設定された処理領域が低混雑領域である場合(ステップS102にて「YES」の場合)、領域分割手段51は各単位ブロックを局所領域に設定する(ステップS103)。そして、動きベクトル算出手段52が、記憶部4から1時刻前の撮影画像と1時刻前の処理で設定した局所領域の情報とを読み出し、現時刻の撮影画像における低混雑領域に設定された局所領域ごとに、分析時間間隔を1時刻間隔(1フレーム間隔)として動きベクトルを算出し(ステップS104)、低混雑領域について算出した動きベクトルを集計して移動方向の頻度分布と速さの頻度分布を算出する(ステップS105)。
動きベクトル算出手段52が低混雑領域について動き分布を算出すると、要注視行動検出手段53は動き分布について低混雑時の検出基準を満たすか否かを調べる(ステップS106)。具体的には、要注視行動検出手段53は検出基準記憶手段42から低混雑時の検出基準を読み出す。すなわち、要注視行動検出手段53は、動き分布の正常パターンと閾値TL11を読み出す。次に、ステップS105で求めた各分布が要注視行動の検出基準を満たすか否かを判定する。
例えば、要注視行動検出手段53は、ステップS105で動き分布として求めた各頻度分布をそれぞれと対応する正常パターンと比較して相違度を算出する。相違度として、動き分布とその正常パターンの面積差DL11を算出することができる。そして、面積差DL11を閾値TL11と比較し、DL11≧TL11である場合は検出基準を満たすと判定し(ステップS106にて「YES」の場合)、DL11<TL11である場合は検出基準を満たさないと判定する(ステップS106にて「NO」の場合)。
DL11≧TL11である場合は、低混雑領域内に急加速もしくは急減速している局所領域があり、ひったくり時の手の動きやひったくり後の逃走行動もしくはひったくり前の手の動きやひったくり前の接近行動等が発生している可能性がある。このように、要注視行動の検出基準を満たす分布が検出された場合(ステップS106にて「YES」の場合)、要注視行動検出手段53は、当該分布についての要注視情報を生成し記録し(ステップS107)、図5のステップS8に処理を進める。例えば、要注視行動検出手段53は、当該分布が満たした検出基準と対応する事象名「ひったくりなどの可能性あり」、および抽出対象領域である局所領域の座標を要注視情報として生成する。一方、分布が検出基準を満たさない場合(ステップS106にて「NO」の場合)、ステップS107は省略される。
要注視行動検出処理S7に対して設定された処理領域が中混雑領域である場合(ステップS102にて「NO」かつステップS108にて「YES」の場合)、領域分割手段51は上述したようにY軸方向に並ぶ2つの単位ブロックからなる統合ブロックを局所領域に設定する(ステップS109)。そして、動きベクトル算出手段52は、記憶部4から2時刻前の撮影画像と2時刻前の処理で設定した局所領域の情報とを読み出し、現時刻の撮影画像における中混雑領域に設定された局所領域ごとに、分析時間間隔を2時刻間隔(2フレーム間隔)として動きベクトルを算出し(ステップS110)、中混雑領域について算出した動きベクトルを集計して動き分布を算出する(ステップS111)。例えば、動きベクトル算出手段52は中混雑領域の動き分布として、移動方向の頻度分布を算出する。
動きベクトル算出手段52が中混雑領域について動き分布を算出すると、要注視行動検出手段53は動き分布について中混雑時の検出基準を満たすか否かを調べる(ステップS112)。具体的には、要注視行動検出手段53は検出基準記憶手段42から中混雑時の検出基準を読み出す。すなわち、要注視行動検出手段53は、移動方向が特定方向に偏った頻度を有する複数の移動方向の頻度分布とその閾値TM11を読み出す。また移動方向の偏りが無い移動方向の頻度分布とその閾値TM12を読み出す。これら頻度分布は要注視パターンに相当する。
要注視行動検出手段53は、ステップS111で算出した移動方向の頻度分布を要注視パターンと比較して類似度を算出する。例えば、類似度として、ステップS111で算出した移動方向の頻度分布とその要注視パターンである偏った頻度を有する複数のパターンとの重複面積SM11、偏りの無い頻度を有するパターンとの重複面積SM12を算出する。
要注視行動検出手段53は、重複面積SM11と閾値TM11と比較する。SM11≧TM11であれば、人物グループをなす各人物が特定の位置に向かって移動し、さらに移動方向が一致していることから、当該人物グループは行列を生成している可能性がある。
また、要注視行動検出手段53は、重複面積SM12と閾値TM12と比較する。SM12≧TM12であれば、人物グループをなす各人物が特定の位置に向かって移動し、さらに移動方向が均等であることから、当該人物グループは、特定位置に向かって囲い込む行動をとっており、急病人や喧嘩などのトラブルが生じている可能性を示す。
このような要注視行動の検出基準を満たす分布が検出された場合(ステップS112にて「YES」の場合)、要注視行動検出手段53は、当該分布についての要注視情報を生成し記録し(ステップS107)、図5のステップS8に処理を進める。例えば、要注視行動検出手段53は、当該分布が満たした検出基準と対応する「囲い込み発生」などの事象名、および抽出対象領域である局所領域の座標を要注視情報として生成する。一方、分布が検出基準を満たさない場合(ステップS112にて「NO」の場合)、ステップS107は省略される。
要注視行動検出処理S7に対して設定された処理領域が高混雑領域である場合(ステップS102およびS108にて「NO」の場合)、領域分割手段51は上述したようにX軸方向、Y軸方向に2×2の配列をなす4つの単位ブロックからなる統合ブロックを局所領域に設定する(ステップS113)。そして、動きベクトル算出手段52は、記憶部4から4時刻前の撮影画像と4時刻前の処理で設定した局所領域の情報とを読み出し、現時刻の撮影画像における高混雑領域に設定された局所領域ごとに、分析時間間隔を4時刻間隔(4フレーム間隔)として動きベクトルを算出し(ステップS114)、高混雑領域について算出した動きベクトルを集計して動き分布を算出する(ステップS115)。例えば、動きベクトル算出手段52は、複数の局所領域それぞれの動きベクトルと当該局所領域の周囲の局所領域の動きベクトルとの差ベクトルの平均ベクトル(相対動きベクトル)を算出して、複数の局所領域それぞれの重心と相対動きベクトルを対応付けた動き分布を算出する。なお、注目局所領域に隣接する局所領域を注目局所領域の周囲の局所領域としてもよいし、注目局所領域の重心から予め定めた半径の円内に重心が含まれる局所領域を注目局所領域の周囲の局所領域としてもよい。
動きベクトル算出手段52が高混雑領域について動き分布を算出すると、要注視行動検出手段53は動き分布について高混雑時の検出基準を満たすか否かを調べる(ステップS116)。具体的には、要注視行動検出手段53は検出基準記憶手段42から高混雑時の検出基準を読み出す。すなわち、要注視行動検出手段53は、高混雑領域の動き分布の正常パターンと閾値TH11、閾値TH12を読み出す。
要注視行動検出手段53は、ステップS115で算出した分布を正常パターンと比較して相違度を算出する。例えば、要注視行動検出手段53は、ステップS115で算出した動き分布とその正常パターンの間で対応する局所領域の相対動きベクトルどうしの差ベクトルの大きさを閾値TH11と比較して、差ベクトルの大きさが閾値TH11以上である局所領域の総面積DH12を算出する。なお、注目局所領域の重心に最も近い重心を有する局所領域を注目局所領域に対応する局所領域としてもよい。
要注視行動検出手段53は、総面積DH12を閾値TH12と比較し、DH12≧TH12である場合は検出基準を満たすと判定し(ステップS116にて「YES」の場合)、DH12<TH12である場合は検出基準を満たさないと判定する(ステップS116にて「NO」の場合)。
DH12≧TH12である場合は、高混雑領域中に他の大勢の動きとは異なる動きが生じており、人の集団移動の中での逆行や滞留など、ひったくり後の逃走行動もしくはひったくり前の接近行動等が発生している可能性がある。
このような要注視行動の検出基準を満たす分布が検出された場合(ステップS116にて「YES」の場合)、要注視行動検出手段53は、当該分布についての要注視情報を生成し記録し(ステップS107)、図5のステップS8に処理を進める。例えば、要注視行動検出手段53は、当該分布が満たした検出基準と対応する「ひったくりなどの可能性あり」などの事象名、および抽出対象領域である高混雑領域において差ベクトルの大きさが閾値TH11以上であった局所領域の重心座標を要注視情報として生成する。一方、分布が検出基準を満たさない場合(ステップS116にて「NO」の場合)、ステップS107は省略される。
以上により、混雑が生じ得る空間を撮影した撮影画像から、当該空間内の移動物体の動きベクトルを、混雑度が低い区分領域では移動物体の部位の動きまで考慮して詳細に算出しつつ、混雑度が高い区分領域では移動物体の部位の混同を原因とする誤算出を低減して、精度良く算出できる。そのため、混雑が生じ得る空間を撮影した撮影画像から移動物体の動きを精度良く解析できる。
[第2の実施形態]
本発明の第2の実施形態に係る画像監視装置1は領域分割手段51の処理が上述した第1の実施形態とは異なり、他の点は基本的に第1の実施形態と同様である。以下、第2の実施形態について、第1の実施形態と同様の構成については同一の符号を付して上述の説明を援用し、以下、第1の実施形態との相違点を中心に説明する。
第1の実施形態において領域分割手段51は区分領域をその密度に応じて予め定めた大きさの局所領域に分割したが、第2の実施形態において領域分割手段51は撮影画像ごとにその撮影内容に応じた局所領域を動的に設定する。具体的には、領域分割手段51は、画素値(色または濃度)と画素位置とが互いに類似する画素からなる局所領域に分割する分割基準であって密度に関し定めた階級が高いほど大きな局所領域となりやすく定める分割基準に従って、区分領域のそれぞれを局所領域に分割する。
第2の実施形態の領域分割手段51は、密度に関する階級として、第1の実施形態と同様に定義した混雑度を用いる。よって、第2の実施形態における区分領域は、第1の実施形態と同様に生成され、撮影画像内には低混雑領域、中混雑領域および高混雑領域の3通りの区分領域が設定され得る。
図7は各混雑度の領域からなる撮影画像の例とそれに対する局所領域の例を示す模式図である。具体的には、図7の上段には、低混雑領域のみからなる撮影画像とそれに対する局所領域とが示されている。同様に、図7の中段、下段にはそれぞれ中混雑領域、高混雑領域のみからなる撮影画像とそれに対する局所領域とが示されている。
例えば、領域分割手段51は、各区分領域にSLIC(Simple Linear Iterative Clustering)法を適用することによって各区分領域の撮影画像を複数のクラスタに分割する。その複数のクラスタのそれぞれが局所領域である。
SLIC法においては、分割に先立って分割数が定められて、定められた分割数と同数のクラスタ中心を初期値として対象の画像上に設定し、対象の画像が分割数と同数のクラスタに分割される。
このようなSLIC法の特性に対応して、領域分割手段51は、密度が高いほど大きな局所領域となりやすいよう、区分領域ごとに、当該区分領域の混雑度が高いほど少ない割合の分割数を定める。つまり単位面積当たりの局所領域の数を少なく設定する分割基準に従って、区分領域のそれぞれを局所領域に分割する。
例えば、領域分割手段51は、区分領域ごとに以下のステップA1~A6の処理を行って区分領域をクラスタに分割する。
(ステップA1)区分領域を、区分領域の混雑度に応じた分割面積で格子状に略等分割して、当該分割により生成された矩形領域である各ブロックの中心をクラスタ中心の初期値とする。この処理により、クラスタ中心の数(ブロック数)だけの分割数(>1)を分割基準として定めたことになる。
具体的には、低混雑領域については、当該領域の面積SLと人の1/8ほどの大きさに予め定めた分割面積ULの商SL/ULを四捨五入した整数値を当該領域の分割数kLと定め、当該領域をそれぞれの面積が略ULのブロックに分割して、各ブロックの中心を当該領域におけるクラスタ中心の初期値とする。
同様に、中混雑領域については、当該領域の面積SMと人の1/4ほどの大きさに予め定めた分割面積UMの商SM/UMを四捨五入した整数値を当該領域の分割数kMと定め、当該領域をそれぞれの面積が略UMのブロックに分割して、各ブロックの中心を当該領域におけるクラスタ中心の初期値とする。
また、高混雑領域については、当該領域の面積SHと人の1/2ほどの大きさに予め定めた分割面積UHの商SH/UHを四捨五入した整数値を当該領域の分割数kHと定め、当該領域をそれぞれの面積が略UHのブロックに分割して、各ブロックの中心を当該領域におけるクラスタ中心の初期値とする。
なお、分割数の算出に際し、四捨五入による整数値化に代えて、切り捨てまたは切り上げにより整数値化を行ってもよく、いずれとするかは予め定めておけばよい。
また、分割数が2未満となる場合は、局所領域への分割および動きベクトルの算出は行わないよう制御する。
(ステップA2)区分領域内の各画素と各クラスタ中心との組み合わせに対して評価値を算出する。評価値として、例えば、当該画素から当該クラスタ中心までの距離の逆数と、当該画素とクラスタ中心との間の輝度の類似度との重みづけ和を用いることができる。すなわち、評価値は、画素位置の類似度と画素値の類似度とを統合した統合類似度で定義することができる。
(ステップA3)区分領域内の各画素を、当該画素との評価値が最も高いクラスタ中心に帰属させる。
(ステップA4)全画素の評価値の総和を求める。
(ステップA5)各クラスタ中心を、当該クラスタ中心に帰属する画素の座標を当該画素の評価値で重み付けて平均した重み付け平均座標に更新する。
(ステップA6)クラスタ中心の更新値を用いてステップA2~A5を繰り返し、ステップA4で求めた総和と前回のステップA4で総和した値との差の絶対値が所定値未満となり、クラスタの更新処理が収束したと判断される場合、または繰り返し回数が規定回数に達した場合は、処理を終了し、直近に得られたクラスタを局所領域に決定する。
図7の上段、中段、下段の図はそれぞれ低混雑領域の撮影画像、中混雑領域の撮影画像、高混雑領域の撮影画像のそれぞれが人の8分の1程度の大きさの局所領域、人の4分の1程度の大きさの局所領域、人の2分の1程度の大きさの局所領域に分割される様子を例示している。
第2の実施形態における領域分割手段51の上述の区分領域から局所領域を生成する処理は、第1の実施形態と同様、図5に示した動作における要注視行動検出処理S7にて行われる。つまり、第2の実施形態の画像監視装置1における監視動作は、第1の実施形態について説明した図5と同様の処理フローで行われるが、領域分割手段51の処理の相違に関連して、要注視行動検出処理S7の詳細にて第1の実施形態と違いを有する。
図8は第2の実施形態における要注視行動検出処理S7の概略のフロー図である。
図5のステップS6にて設定された処理領域が低混雑領域である場合(ステップS200にて「YES」の場合)、領域分割手段51は、人の1/8ほどの大きさに定めた分割面積ULを用いた上述の局所領域の生成処理を行い、低混雑領域を平均面積が1/8人分となる数の局所領域に分割する(ステップS201)。
当該局所領域に対して、動きベクトル算出手段52は第1の実施形態の図6のステップS104,S105と同様にして動きベクトルの算出、および動き分布の算出を行う(ステップS202,S203)。そして、要注視行動検出手段53が第1の実施形態について図6のステップS106,S107と同様にして、低混雑時の検出基準を満たすか否かの判定、および要注視情報の記録を行う(ステップS204,S205)。
図5のステップS6にて設定された処理領域が中混雑領域である場合(ステップS200にて「NO」かつステップS206にて「YES」の場合)、領域分割手段51は、人の1/4ほどの大きさに定めた分割面積UMを用いた上述の局所領域の生成処理を行い、中混雑領域を平均面積が1/4人分となる数の局所領域に分割する(ステップS207)。
当該局所領域に対して、動きベクトル算出手段52は図6のステップS110,S111と同様にして動きベクトルの算出、および動き分布の算出を行い(ステップS208,S209)、要注視行動検出手段53は図6のステップS112,S107と同様にして、中混雑時の検出基準を満たすか否かの判定、および要注視情報の記録を行う(ステップS210,S205)。
また、図5のステップS6にて設定された処理領域が高混雑領域である場合(ステップS200にて「NO」かつステップS206にて「NO」の場合)、領域分割手段51は、人の1/2ほどの大きさに定めた分割面積UHを用いた上述の局所領域の生成処理を行い、高混雑領域を平均面積が1/2人分となる数の局所領域に分割する(ステップS211)。
当該局所領域に対して、動きベクトル算出手段52は図6のステップS114,S115と同様にして動きベクトルの算出、および動き分布の算出を行い(ステップS212,S213)、要注視行動検出手段53は図6のステップS116,S107と同様にして、高混雑時の検出基準を満たすか否かの判定、および要注視情報の記録を行う(ステップS214,S205)。
上述した本実施形態の局所領域の生成処理では、分割数を少なくすればひとつひとつの局所領域が大きくなり易く、分割数を多くすればひとつひとつの局所領域が小さくなり易い。
このように区分領域を当該領域における移動物体の密度が高いほど少ない割合の分割数で分割することによっても、少なくとも移動物体に関する局所領域は、密度に応じて区分した領域においてその密度が高いほど大きく、密度が低いほど小さく分割されることが期待できる。
そのため、混雑が生じ得る空間を撮影した撮影画像から、当該空間内の移動物体の動きベクトルを、移動物体の部位の混同を原因とする誤算出を低減して、精度良く算出できる。そのため、混雑が生じ得る空間を撮影した撮影画像から移動物体の動きを精度良く解析できる。
以上、第2の実施形態として、区分領域から局所領域を生成する際の分割数の多寡により混雑度に応じた局所領域の大きさを制御する手法を、SLIC法を用いて実現する構成を説明した。
ここで、SLIC法に代えて群平均法などを用いたボトムアップな領域分割方法を採用する場合も、分割数の多寡によって局所領域の大きさを制御できる。この場合、領域分割手段51は以下のステップB1~B5の処理を行って区分領域をクラスタに分割する。
(ステップB1)区分領域の面積を区分領域の密度に応じた分割面積で除して分割数(>1)を定める。具体的には、低混雑領域については、当該領域の面積SLと人の1/8ほどの大きさに予め定めた分割面積ULの商SL/ULを四捨五入した整数値を当該領域の分割数kLと定める。中混雑領域については、当該領域の面積SMと人の1/4ほどの大きさに予め定めた分割面積UMの商SM/UMを四捨五入した整数値を当該領域の分割数kMと定める。また、高混雑領域については、当該領域の面積SHと人の1/2ほどの大きさに予め定めた分割面積UHの商SH/UHを四捨五入した整数値を当該領域の分割数kHと定める。
(ステップB2)撮影画像中の各画素を初期のクラスタに設定する。
(ステップB3)隣り合うクラスタの組み合わせごとに評価値を算出する。評価値として、例えば、クラスタ中心間の距離の逆数と、クラスタ間の平均輝度の類似度との重みづけ和を用いることができる。すなわち評価値は、画素位置の類似度と画素値の類似度とを統合した統合類似度で定義することができる。なお、統合類似度の代わりに画素値の類似度を評価値としてもよい。ちなみにその場合も「隣り合うクラスタ」という条件によって画素位置の類似性の要件が含まれている。
(ステップB4)評価値が最大であるクラスタの組み合わせを1つのクラスタに統合する。
(ステップB5)ステップB3,B4を繰り返し、クラスタ数がステップB1で定めた分割数以下になれば処理を終了し、直近に得られたクラスタを局所領域に決定する。一方、クラスタ数がステップB1で定めた分割数以下でなければステップB3,B4をさらに繰り返す。
以上、分割数の多寡によって局所領域の大きさを制御する方法を2通り説明したが、分割数の多寡によって制御するのではなく、上述した評価値(統合類似度)に対する閾値の高さによって局所領域の大きさを制御する別方法を採用することもできる。
すなわち領域分割手段51は、画素値の類似度と画素位置の類似度とを統合した統合類似度に対する閾値を密度が高いほど低く定める分割基準に従って、区分領域のそれぞれを統合類似度が閾値を超える画素からなる局所領域に分割する。つまり、分割基準は、混雑度が高いほど、画素について互いに類似すると判断する統合類似度の閾値を低く設定する。
この場合、領域分割手段51は、区分領域ごとに以下のステップC1~C4の処理を行って区分領域をクラスタに分割する。
(ステップC1)撮影画像中の各画素を初期のクラスタに設定する。
(ステップC2)隣り合うクラスタの組み合わせごとに評価値を算出する。評価値として、例えば、上述した統合類似度を用いることができる。
(ステップC3)ステップC2で算出した評価値を閾値と比較し、評価値が閾値以下のクラスタの組み合わせを1つのクラスタに統合する。閾値は区分領域の混雑度ごとに予め定めた値であり、混雑度が高いほど低く定められた値である。
(ステップC4)ステップC3にて評価値が閾値以下のクラスタの組み合わせが1つ以上あればステップC2,C3を繰り返し、ステップC3にて評価値が閾値以下のクラスタの組み合わせが1つも無ければ処理を終了し、直近に得られたクラスタを局所領域に決定する。
なお、第2の実施形態においては、分割基準として分割数、類似度の閾値を例示したが、それ以外にも局所領域の大きさの範囲を制限する閾値(密度が高い階級ほど範囲を広く、密度が低い階級ほど範囲を狭く定める)、またはクラスタの統合回数を制限する閾値(密度が高い階級ほど統合回数の上限を高く、密度が低い階級ほど統合回数の上限を低く定める)などの分割基準によっても、密度が高い階級ほど局所領域のサイズが大きくなりやすく定めることができる。
(1)上記各実施形態においては、検出対象の物体を人とする例を示したが、これに限らず、検出対象の物体を車両、牛や羊等の動物等とすることもできる。
(2)上記各実施形態およびその変形例においては、多クラスSVM法にて学習した密度推定器を例示したが、多クラスSVM法に代えて、決定木型のランダムフォレスト法、多クラスのアダブースト(AdaBoost)法または多クラスロジスティック回帰法などにて学習した密度推定器など種々の密度推定器とすることができる。
或いは識別型のCNN(Convolutional Neural Network)を用いた密度推定器とすることもできる。
(3)上記各実施形態およびその各変形例においては、密度推定器が推定する背景以外の密度のクラスを3クラスとしたが、より細かくクラスを分けてもよい。
(4)上記各実施形態およびその各変形例においては、多クラスに分類する密度推定器を例示したがこれに代えて、特徴量から密度の値(推定密度)を回帰する回帰型の密度推定器とすることもできる。すなわち、リッジ回帰法、サポートベクターリグレッション法、回帰木型のランダムフォレスト法またはガウス過程回帰(Gaussian Process Regression)などによって、特徴量から推定密度を求めるための回帰関数のパラメータを学習した密度推定器とすることができる。
或いは回帰型のCNNを用いた密度推定器とすることもできる。
(5)上記各実施形態およびその各変形例においては、密度推定器が学習する特徴量および推定用特徴量としてGLCM特徴を例示したが、これらはGLCM特徴に代えて、局所二値パターン(Local Binary Pattern:LBP)特徴量、ハールライク(Haar-like)特徴量、HOG特徴量、輝度パターンなどの種々の特徴量とすることができ、またはGLCM特徴とこれらのうちの複数を組み合わせた特徴量とすることもできる。