以下、本発明の実施の形態(以下実施形態という)に係る画像監視システム1について、図面に基づいて説明する。
図1は画像監視システム1の概略の構成を示すブロック図である。画像監視システム1は、撮影部2、通信部3、記憶部4、画像処理部5、操作部6、表示制御部7および表示部8からなる。
撮影部2は、監視カメラであり、通信部3を介して画像処理部5と接続され、所定の物体が混雑し得る空間(対象空間)を所定の時間間隔で撮影して監視画像を出力する撮影手段である。ここでは、対象空間のうち撮影部2が撮影する部分を監視領域と称する。本実施形態では対象空間には複数の監視領域が設定され、監視領域ごとに撮影部2が割り当てられる。すなわち、撮影部2は複数の撮影部2-1,2-2,…からなり、それら撮影部2は対象空間に設定された互いに異なる複数の監視領域を撮影する。各撮影部2は、当該撮影部2が撮影している監視領域を一意に識別する識別子(エリアID)を予め付与され、順次出力する監視画像とともにエリアIDを画像処理部5に入力する。
例えば、各撮影部2は、イベント会場に設置されたポールに監視領域を俯瞰する視野を有して設置される。その視野は固定されていてもよいし、予めのスケジュール或いは通信部3を介した外部からの指示に従って変更されてもよい。また、例えば、撮影部2は監視領域をフレーム周期1/5秒で撮影してカラー画像を生成する。カラー画像の代わりにモノクロ画像を生成してもよい。
通信部3は、通信回路であり、その一端が画像処理部5に接続され、他端が同軸ケーブルまたはLAN(Local Area Network)、インターネットなどの通信網を介して撮影部2および表示制御部7と接続される。通信部3は、撮影部2から監視画像を取得して画像処理部5に入力し、画像処理部5から入力された情報を表示制御部7に出力する。
記憶部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および表示制御部7とも接続され、通信部3経由で撮影部2から取得した監視画像を解析することにより、撮影されている人について注視すべき度合いを表す情報を生成し、生成した情報を通信部3経由で表示制御部7に出力する。
操作部6は表示制御部7に対する入力機器であり、キーボード及びマウス等で構成される。操作部6は表示制御部7に接続され、監視員による指示操作を受け付け、当該指示操作を表示制御部7に出力する。
表示制御部7はPC(Personal Computer)等で構成され、ROM、RAM等のメモリ装置等で構成される記憶部(不図示)、通信部3が接続されている通信網とのインターフェース回路である通信部(不図示)、および、CPU、MCU、IC等の演算装置等で構成される制御部(不図示)を備える。表示制御部7は通信網を介して通信部3に接続されるとともに、操作部6および表示部8と接続される。表示制御部7は画像処理部5からの情報を通信部3から受信して記憶するとともに、監視員による操作指示を操作部6から入力され、記憶した情報のうち操作指示に応じた情報を表示部8に出力する。
表示部8は、液晶ディスプレイ又はCRT(Cathode Ray Tube)ディスプレイ等のディスプレイ装置であり、通信部3および表示制御部7を介して画像処理部5と接続され、画像処理部5により生成された情報を表示する表示手段である。監視員は表示された情報を視認して混雑の発生等を判断し、必要に応じて人員配置の変更等の対処を行う。
図2は画像監視システム1の機能を示す機能ブロック図である。通信部3は画像取得手段30および要注視情報出力手段31等として機能し、記憶部4は密度推定器記憶手段40、混雑度記憶手段41、動き量記憶手段42、物体モデル記憶手段43および描画設定記憶手段44等として機能する。画像処理部5は、混雑度推定手段50、監視重要度算出手段51、物体領域推定手段52および分布画像生成手段53等として機能する。
画像取得手段30は撮影手段である撮影部2-1,2-2,…から監視画像およびエリアIDを順次取得して、取得した監視画像をエリアIDとともに、混雑度推定手段50、監視重要度算出手段51および物体領域推定手段52に出力する。
密度推定器記憶手段40は、所定の密度ごとに当該密度にて物体(人)が存在する空間を撮影した密度画像それぞれの画像特徴を学習した推定密度算出関数であって、画像の特徴量を入力されると当該画像に撮影されている物体の密度の推定値(推定密度)を算出して出力する推定器(密度推定器)を表す情報を予め記憶している。つまり密度推定器記憶手段40は上記推定密度算出関数の係数等のパラメータを密度推定器の情報として予め記憶している。
混雑度推定手段50は、対象空間における物体の混雑の度合いを表す混雑度を監視画像に基づいて推定する。混雑度推定手段50は、画像取得手段30から入力される監視画像のそれぞれを複数の画像区画に区分して画像区画ごとに物体の混雑の度合いを表す混雑度を推定する。そして、推定した混雑度を、エリアIDと対応付けて時系列に混雑度記憶手段41に記憶させる。画像区画は例えば監視画像の各画素とすることができる。
混雑度推定の処理および密度推定器について具体的に説明する。
混雑度推定手段50は、監視画像の各画素の位置に窓(推定用抽出窓)を設定し、各推定用抽出窓における監視画像から推定用特徴量を抽出する。推定用特徴量はGLCM(Gray Level Co-occurrence Matrix)特徴である。
各推定用抽出窓に撮影されている対象空間内の領域は同一サイズであることが望ましい。すなわち、好適には混雑度推定手段50は撮影部2のカメラパラメータを用いたホモグラフィ変換により、監視画像の任意の画素に撮影されている監視空間内の領域が同一サイズとなるように監視画像を変形してから推定用特徴量を抽出する。なお、後述するように本実施形態ではカメラパラメータは物体モデル記憶手段43に記憶されており、混雑度推定手段50はこれを読み出して利用する。
密度推定器は多クラスの画像を識別する識別器で実現することができ、多クラスSVM(Support Vector Machine)法で学習した識別関数とすることができる。
密度は、例えば、人が存在しない「背景」クラス、0人/m2より高く2人/m2以下である「低密度」クラス、2人/m2より高く4人/m2以下である「中密度」クラス、4人/m2より高い「高密度」クラスの4クラスと定義することができる。
すなわち、密度推定器は「背景」クラス、「低密度」クラス、「中密度」クラス、「高密度」クラスのそれぞれに帰属する多数の画像(密度画像)の特徴量に多クラスSVM法を適用して学習した、各クラスの画像を他のクラスと識別するための識別関数である。この学習により導出された識別関数のパラメータが密度推定器として記憶されている。なお、密度画像の特徴量は推定用特徴量と同種であり、GLCM特徴である。
混雑度推定手段50は、各画素に対応して抽出した推定用特徴量のそれぞれを密度推定器に入力することによってその出力値である推定密度を取得する。なお、監視画像を変形させて推定用特徴量を抽出した場合、混雑度推定手段50は、カメラパラメータを用いたホモグラフィ変換により密度分布を元の監視画像の形状に変形させる。
混雑度は推定密度の各クラスに予め付与された値であり、本実施形態では各クラスに対応する値を「背景」、「低混雑度」、「中混雑度」、「高混雑度」と表記する。
混雑度記憶手段41は、各監視画像と対応する混雑度を当該監視画像のエリアIDと対応付けて時系列に記憶する。本実施形態では、各監視画像に対応する混雑度は、当該監視画像の各画素の混雑度からなる。なお、混雑度記憶手段41は少なくとも、後述する過去の期間τの監視画像から得られた混雑度を記憶する。
監視重要度算出手段51は、監視画像を基にして、物体について監視員等が注視すべき度合いを表す情報である監視重要度を算出し、算出した監視重要度を分布画像生成手段53および要注視情報出力手段31に出力する。
監視重要度の算出は、監視画像の画像区画ごとに行い、さらに監視領域ごと(すなわち撮影部2ごと)に行う。
監視重要度は、混雑度、混雑の継続時間および物体の動き量を基に算出される。すなわち、混雑度が高いほど高く、混雑の継続時間が長いほど高く、物体の動き量が少ないほど高い監視重要度を監視画像の画像区画ごとに算出する。さらに、監視領域ごとに、混雑度が高いほど高く、混雑の継続時間が長いほど高く、物体の動き量が少ないほど高い監視重要度を算出する。
画像区画ごとに監視重要度を算出する例(すなわち対象空間に画像区画それぞれと対応して設定した注目領域ごとに監視重要度を算出する例)を説明する。ここでは、画像区画は画素であるとする。例えば、時刻t=Tの時点での各画素における監視重要度STは、次式(1)~(3)で示すように、当該時刻Tから過去に時間τ遡る期間[T-τ,T](つまりT-τ≦t≦T)の当該画素における混雑度の代表値dtの平均値DTと、当該期間[T-τ,T]の当該画素における動きベクトルの大きさ(速さ)vtの平均値VTとの重みづけ和とすることができる。
ST=α・DT+β・VT …(1)
DT=(1/τ)ΣT-τ≦t≦T dt …(2)
VT=(1/τ)ΣT-τ≦t≦T vt …(3)
ここで、重み係数αおよびβはそれぞれ0よりも大きな定数であり、例えば、事前実験に基づいて予め定められる。
混雑度の代表値は密度で定義することとし、「背景」および「低混雑度」の代表値は0人/m2、「中混雑度」の代表値は3人/m2、「高混雑度」の代表値は6人/m2などとすることができる。なお、「背景」の代表値は0人/m2とする一方、「低混雑度」の代表値は1人/m2としてもよい。
τは実験等を通じて予め定める。式(2)で算出されるDTは基本的に、混雑度が高いほど高い値となり、また、期間[T-τ,T]内での混雑度の継続時間が長いほど高い値となる。つまり、上述の例では、時間τが監視重要度STに対し影響を及ぼす継続時間の上限を設定しており、τはこの点を考慮して設定することができる。例えばτは1分間とすることができる。
また、後述するように、画像区画ごとに算出した監視重要度の代表値を物体領域ごとに算出することによって、対象空間に物体領域それぞれと対応して設定した注目領域ごとに監視重要度を算出することもできる。
次に監視領域ごとに監視重要度を算出する例(すなわち対象空間に監視領域それぞれと対応して設定した注目領域ごとに監視重要度を算出する例)を説明する。各監視領域の監視重要度は、当該監視領域を撮影した監視画像における画像区画ごとに算出した監視重要度を統合して求めることができ、これにより監視領域ごとの監視重要度が算出される。
ここで、監視領域における監視重要度の統合の仕方として、画像区画ごとの監視重要度を監視画像全体で平均する構成とすることも可能であるが、一方、監視画像の一部の画像区画だけでも監視重要度が高ければ、対応する監視領域の監視重要度を高くして監視員等の注視を促すような構成とすることもでき、当該構成は監視漏れが抑制され易い点で好適である。具体的には、各監視領域に対応する監視画像の画像区画ごとの監視重要度のうち最大値を選出し、選出した最大値を閾値処理により3段階のレベル「低」、「中」、「高」のいずれかに区分して、区分したレベルを当該監視領域の監視重要度と定めることができる。また、各監視領域に対応する画像区画ごとの監視重要度のそれぞれを3段階のレベルに区分してから、複数の画像区画のうちの最大のレベルを当該監視領域の監視重要度と定めてもよい。
上述の式(1)の監視重要度STでは、物体の動き量が動きベクトルにより反映されている。この動き量の基礎情報である動きベクトルはオプティカルフロー分析によって検出することができる。例えば、オプティカルフロー分析によって、現画像と直前画像との間で動きベクトルが算出される。
監視重要度算出手段51は、現画像および直前画像のうち一方の画像(基準画像)上に複数の注目点を設定するとともに他方の画像(比較画像)において各注目点と画像特徴が最も類似する最類似点を対応点として検出し、注目点と対応点とを結ぶベクトルを動きベクトルとして算出する。ちなみに、注目点および対応点のうち直前画像側が動きベクトルの始点であり、現画像側が終点である。
注目点や対応点は、監視画像を予め定めた複数のブロックに区分してそれらの中央に設定することができる。ブロックの大きさは少なくとも対象物体である人よりも小さく設定する。また、撮影部2から物体までの距離を考慮し、当該距離が遠いほど小さく、当該距離が近いほど大きなブロックとしてもよい。また、画像区画を画素とする場合、ブロックそれぞれについて検出した動きベクトルが当該ブロックに含まれる各画素の動きベクトルとされる。
例えば、監視重要度算出手段51は、比較画像上で候補点を移動させつつ、注目点との輝度分布の類似度を算出して、類似度が最も高い候補点を対応点に決定する。この探索にはルーカス・カナデ(Lucas-Kanade)法など種々の最急降下法が適用可能である。すなわち、各注目点と同一座標を候補点の初期値とし、輝度の差が小さくなる方向に候補点を順次移動させて探索を行う。
別の方法では、注目点の座標を含む所定の探索範囲の各座標を候補点に設定して探索を行う。この場合、探索範囲は比較画像全体とすることもできるが、物体が1時刻の間に移動し得る画像上の距離を予め見積もっておき、注目点の座標を中心として当該距離を半径とする円内を探索範囲とするのがよい。
なお、動きベクトルとしてゼロベクトルも検出しておく。また、注目点に対して類似度が閾値以下の最類似点しか見つからない場合は、当該注目点に対応する動きベクトルは検出されないとすることができる。
監視重要度算出手段51は、各監視画像から検出した画像区画ごとの動きベクトルと、各監視画像を動き量記憶手段42に記憶させる。動きベクトルは少なくとも過去に遡る期間τの分だけ、また監視画像は少なくとも1時刻前のものだけ記憶される。
物体モデル記憶手段43は、予め物体の形状を近似した物体モデルを記憶し、記憶している物体モデルを物体領域推定手段52に出力する。
図3は物体モデル記憶手段43が記憶している物体モデルの情報の一例を示す模式図である。図3の例では物体モデルは、立位の人の頭部、胴部、脚部に対応する3つの回転楕円体から構成される立体モデルである。ちなみに、頭部重心を人の代表位置とする。なお、立体モデルはより単純化して人全体を1つの回転楕円体で表すものとすることもできるし、より詳細に例えば、人の頭部、胴部、両腕、両脚を別々の回転楕円体で表すものとすることもできる。
さらに物体モデル記憶手段43は、立体モデルと併せて、立体モデルを監視画像の座標系に投影するために撮影部2のカメラパラメータを記憶している。カメラパラメータは、実際の監視空間における撮影部2の設置位置および撮像方向といった外部パラメータ、撮影部2の焦点距離、画角、レンズ歪みその他のレンズ特性や、撮像素子の画素数といった内部パラメータを含む情報である。
描画設定記憶手段44は、画像処理部5により生成された情報を表示部8に表示する際における、当該情報に含まれる監視重要度や混雑度の表示の仕方についての設定を予め記憶している。図4は当該設定の例を示す模式図である。
描画設定記憶手段44は、監視重要度のレベルと対応して、レベルごとに異ならせた図形(アイコン)を予め記憶している。図4(a)は当該アイコンの例を示す説明図であり、各レベルと対応して2種類ずつのアイコンが記憶されている。具体的には、2種類のアイコンは、表情の絵柄と、感情を表すイラストである。監視重要度のレベル「低」には、アイコンとして、安全な状態を想起させるものとして、笑顔の表情と、楽しい気分を表す際に漫符などで用いられる八分音符のイラストとが対応付けて記憶される。また、監視重要度のレベル「中」には、注意すべき状態を想起させるものとして、不満顔の表情と、もやもや感を表す際の漫符として知られる螺旋のイラストが対応付けて記憶され、監視重要度のレベル「高」には、危険な状態を想起させるものとして、困窮顔の表情と、漫符の十字型の怒りマークとして知られるイラストが対応付けて記憶されている。
また描画設定記憶手段44は、混雑度と対応して、混雑度ごとに異ならせた色を予め記憶している。図4(b)は当該色の設定例を示す説明図であり、混雑度「低」、「中」、「高」に対応する色は、表示部8における表示を目視した監視員がそれぞれを識別可能とするために異ならせて設定されている。混雑度が高まるほど危険が高まることを鑑み、混雑度「低」、「中」、「高」に対応してそれぞれ緑、黄、赤が設定されており、描画設定記憶手段44は混雑度「低」と対応して緑の色コード、混雑度「中」と対応して黄の色コード、混雑度「高」と対応して赤の色コードを記憶する。
物体領域推定手段52は監視画像から個々の物体の領域(物体領域)を推定し、推定した物体領域を分布画像生成手段53に出力する。具体的には、物体領域推定手段52は物体領域として、撮影されている個々の人の領域を推定する。
例えば、物体領域推定手段52は、撮影部2から得られる監視画像に対し、予め無人時の監視画像などから生成して記憶部4に記憶させてある背景画像を用いて背景差分処理を行い、画素値の差の絶対値が閾値以上である画素を検出し、検出した画素のまとまりを変化領域として抽出する。
続いて、物体領域推定手段52はエッジ画像生成処理を行う。つまり、変化領域内における各画素の位置にて監視画像にエッジオペレータを適用し、画素ごとにエッジ強度を算出して所定の閾値で2値化することによりエッジ画像を生成する。
続いて、物体領域推定手段52はモデルマッチングによる人物位置推定処理を行う。つまり、物体領域推定手段52は物体モデル記憶手段43に記憶されている立体モデルを監視画像の座標系に投影して人の形状を模した形状モデルを生成し、変化領域内に形状モデルを、複数通りの個数で複数通りに配置して、配置ごとにエッジ画像との一致度を算出し、一致度が最大の配置を特定する。そして、物体領域推定手段52は、特定した配置における形状モデルの各位置を人物位置と推定する。なお、一致度は形状モデルの輪郭画素とエッジ強度が所定の閾値以上であるエッジ画素との位置の一致割合とすることができる。
その際、物体領域推定手段52は監視画像に対応する混雑度の2次元情報(混雑度画像)を参照し、混雑度ごとに、当該混雑度が推定された領域において、変化領域内に当該混雑度が示す範囲内の個数の形状モデルを配置することで、形状モデルどうしの過度な重複を防止して人物位置の推定精度を向上させることができる。また、物体領域推定手段52は混雑度画像を参照し、低混雑度が推定された領域には人の全身の形状を模した形状モデルを配置し、中混雑度が推定された領域には人の上半身の形状を模した形状モデルを配置し、高混雑度が推定された領域には人の頭部から肩までの範囲の形状を模した形状モデルを配置することで、オクルージョンによる一致度低下を防止して人物位置の推定精度を向上させることもできる。
分布画像生成手段53は、監視重要度算出手段51から画像区画ごとの監視重要度を入力され、監視画像における監視重要度の分布を表現した分布画像を生成し、要注視情報出力手段31に出力する。
例えば、分布画像生成手段53は物体領域推定手段52から入力された物体領域と、描画設定記憶手段44に記憶されている色設定およびアイコンとを参照し、混雑度に応じた色で各物体領域を描画するとともに、各物体領域に監視重要度に応じたアイコンを描画する。
その際、分布画像生成手段53は、物体領域ごとに監視重要度を統合することで物体領域ごとの監視重要度を求める。例えば、各物体領域内に含まれる画像区画ごとの監視重要度の値の最大値を当該物体領域の監視重要度とする。また、各物体領域内に含まれる画像区画ごとの監視重要度のレベルの平均値または最頻値を当該物体領域の監視重要度とすることもできる。
図5は分布画像の例を示す模式図である。分布画像200において、表現の都合上、緑色の塗り潰しを横線で、黄色の塗り潰しを斜線で、赤色の塗り潰しを網掛けで、それぞれ表している。
分布画像200においては、混雑度「低」の領域内の人の像それぞれの推定位置に、形状モデル201が緑色で塗り潰されて表示される。混雑度「低」の領域では監視重要度は低くなりやすいため、図5の例では、当該領域の監視重要度は「低」であるとしており、形状モデル201の顔に相当する位置およびその近傍に、当該監視重要度を表すアイコンとして表情211とイラスト221とが描かれている。
また、分布画像200における混雑度「中」の領域内の人の像それぞれの推定位置に、形状モデル202が黄色で塗り潰されて表示される。また当該領域について算出された監視重要度を表すアイコンが形状モデル202の顔に相当する位置およびその近傍に表示される。図5の例では、当該領域内では監視重要度は「中」であるとしており、これに対応する表情212とイラスト222とが描かれている。
分布画像200における混雑度「高」の領域には、人の像それぞれの推定位置に形状モデル203が赤色で塗り潰されて表示される。また当該領域について算出された監視重要度を表すアイコンが形状モデル203の顔に相当する位置およびその近傍に表示される。図5の例では、当該領域内では監視重要度は「高」であるとしており、これに対応する表情213とイラスト223とが描かれている。
分布画像200においては、人の像の各推定位置に対応して人の形状を模し、混雑度に応じた色で塗り潰された形状モデルが描画されることによって、人の像と混雑度の対応関係が直感的に把握し易くなっている。なお、図5の例では、形状モデルは図3に示した3つの回転楕円体からなる立体モデルよりも複雑な立体モデルに基づくものを示している。
また、分布画像200においては、監視重要度が例えば、アイコンを用いて表示されるため、監視員等による監視効率の向上が図られる。
なお、好適には、分布画像として、図5について上述したような、形状モデルで表される物体領域とアイコンとを描画した画像を監視画像に透過合成したものを生成することができ、これにより、監視画像に基づく監視領域の具体的な状況と併せて混雑度、監視重要度の把握が可能となり、一層の監視効率の向上が図られる。
要注視情報出力手段31は、監視画像ごとに、当該監視画像から生成した監視重要度の分布画像、および当該監視領域の監視重要度を当該監視画像のエリアIDと対応付けた情報を表示制御部7宛に送信する。
次に、画像監視システム1の動作について説明する。図6は監視重要度を算出する処理の概略のフロー図である。
画像監視システム1において通信部3が画像取得手段30として機能し、複数の撮影部2(2-1,2-2,…)から監視画像を取得する(ステップS100)。画像取得手段30は撮影部2-1,2-2,…のいずれかから監視画像を取得するたびに、当該監視画像を画像処理部5に入力し、画像処理部5は監視画像を取得するたびにステップS101~S109の処理を行って当該監視画像から監視重要度を求める。ちなみに、監視画像はエリアIDとともに取得され、エリアIDから監視画像に撮影されている監視領域が特定される。
監視画像を取得すると、まず、画像処理部5は混雑度推定手段50として、また記憶部4は密度推定器記憶手段40および混雑度記憶手段41としてそれぞれ機能し、画像区画ごとの混雑度の推定と当該混雑度の格納とを行う(ステップS101)。具体的には、混雑度推定手段50は密度推定器記憶手段40から密度推定器を読み出し、ステップS100で取得した現時刻の監視画像の各画素の位置に密度推定器を適用して画素ごとの混雑度を推定し、画素ごとの混雑度を混雑度記憶手段41に追加記憶させる。
次に、画像処理部5は監視重要度算出手段51として、また記憶部4は動き量記憶手段42としてそれぞれ機能し、画像区画ごとの動き量の検出と当該動き量の格納を行う(ステップS102)。具体的には、監視重要度算出手段51は、動き量記憶手段42から現時刻の監視画像とエリアIDが同一である1時刻前の監視画像を読み出し、現時刻の監視画像と1時刻前の監視画像との間で画素ごとのオプティカルフローを動き量として検出し、画素ごとの動き量および現時刻の監視画像をエリアIDと対応付けて動き量記憶手段42に追加記憶させる。なお、監視画像にて混雑度が「低」以上の領域が推定されていない場合(つまり背景クラスの密度のみの場合)は、全画素の動き量を0としてもよい。
続いて、監視重要度算出手段51は画像区画ごとの監視重要度を算出する(ステップS103)。具体的には、監視重要度算出手段51は、現時刻から過去の期間τにわたって推定された混雑度を混雑度記憶手段41から読み出すとともに、当該期間τにわたって検出した動き量を動き量記憶手段42から読み出し、画素ごとにこれら混雑度dtおよび動き量vtを用いて式(1)~(3)により各画素の位置における監視重要度STを算出する。
続いて、画像処理部5は現時刻の監視画像において混雑度が「低」以上の領域が推定されていれば(ステップS104にて「YES」の場合)、物体領域推定手段52として機能し、物体領域の推定を行う(ステップS105)。その際、記憶部4は物体モデル記憶手段43として機能する。具体的には、物体領域推定手段52は、現時刻の監視画像からエッジ画像を生成するとともに、物体モデル記憶手段43から立体モデルとカメラパラメータとを読み出して、複数の位置に複数通りの位置の組み合わせでエッジ画像上に投影し、各組み合わせの投影像とエッジ画像との一致度を算出して最も一致度の高い組み合わせを特定する。そして、この特定した組み合わせにおいて立体モデルを投影した領域それぞれを物体領域と推定する。物体領域推定手段52は、推定した物体領域を監視重要度算出手段51に出力する。
監視重要度算出手段51は、ステップS103にて求めた画像区画ごとの監視重要度を、物体領域推定手段52から入力された物体領域ごとに統合して、物体領域ごとの監視重要度を算出する(ステップS106)。
なお、混雑度が「低」以上の領域が推定されておらず現時刻の監視画像の全体が背景と推定された場合(ステップS104にて「NO」の場合)は、ステップS105,S106はスキップされる。
ステップS106までの処理の後、画像処理部5は分布画像生成手段53として、また記憶部4は描画設定記憶手段44としてそれぞれ機能し、分布画像の生成を行う(ステップS107)。具体的には、分布画像生成手段53は、物体領域ごとの監視重要度が算出された場合は、各物体領域内の混雑度の最頻値を当該物体領域における混雑度として求め、物体領域ごとに当該物体領域の混雑度に応じた色コードを描画設定記憶手段44から読み出して各物体領域を色コードが示す色で描画する。また、各物体領域ごとに、当該物体領域の監視重要度を閾値処理してレベルを判定し、描画設定記憶手段44からレベルに応じたアイコンを読み出して当該物体領域内に描画する。
分布画像生成手段53は、物体領域ごとの監視重要度が算出されなかった場合は、「低」以上の混雑度が推定された画素について、各画素の混雑度に応じた色コードを描画設定記憶手段44から読み出して各画素を色コードが示す色で描画する。また、「低」以上の監視重要度が算出された画素について、監視重要度が同一である隣接画素をまとめて統合領域とし、統合領域ごとに監視重要度を閾値処理してレベルを判定し、描画設定記憶手段44からレベルに応じたアイコンを読み出して当該統合領域内に描画する。
分布画像生成手段53は、上述の描画結果を現時刻の監視画像に透過合成して分布画像を生成し、生成した分布画像をエリアIDとともに通信部3に出力する。
一方、監視重要度算出手段51は、監視領域ごとの監視重要度を算出する(ステップS108)。具体的には、監視重要度算出手段51は、ステップS103にて現時刻の監視画像の画素ごとに算出した監視重要度のうちの最大値を、当該監視画像のエリアIDが示す監視領域の監視重要度として算出する。監視重要度算出手段51は、算出した監視重要度をエリアIDとともに通信部3に出力する。
分布画像生成手段53から分布画像とエリアIDを入力され、監視重要度算出手段51から監視領域の監視重要度とエリアIDを入力された通信部3は、要注視情報出力手段31として機能し、入力された分布画像、監視重要度およびエリアIDを表示制御部7に出力する(ステップS109)。
画像監視システム1はステップS100にて取得した監視画像について、監視重要度を求め、ステップS109にて表示制御部7に出力すると、ステップS100に戻り、次に取得される監視画像についてステップS100~S109の処理を繰り返す。
図7は監視重要度を表示する処理の概略のフロー図である。
表示制御部7が有する記憶部には表示モードと、表示エリアと、過去に入力された監視重要度の情報とが格納されている。
表示モードは、1つの監視領域について表示するシングル表示モードと、複数の監視領域について表示するマルチ表示モードとのいずれかである。表示モードはこれらに予め設定されたモード識別子で特定され、記憶部には表示モードとしてモード識別子が記憶されている。
表示エリアは、シングル表示モードであればエリアIDで特定され、マルチ表示モードであれば予め複数のエリアIDの組み合わせに対して設定されたグループIDで特定される。記憶部には、表示エリアの設定として、シングル表示モード用のエリアIDとマルチ表示モード用のグループIDとが記憶されている。なお、操作部6からの入力は表示モードと表示エリアのいずれかであるとする。
通常時、操作部6による監視員からの操作入力の有無の確認(ステップS200)と、表示制御部7による通信部3からの監視重要度の情報の入力の有無の確認(ステップS201)とが繰り返されており、表示制御部7は操作入力が無く、かつ監視重要度の情報の入力が無い場合(ステップS200およびS201にて「NO」の場合)は、表示処理を行わない待機状態である。
監視員による操作入力が行われると(ステップS200にて「YES」の場合)、表示制御部7は入力内容が表示モードであるか表示エリアであるかを確認する(ステップS202)。
表示モードの入力であれば(ステップS202にて「YES」の場合)、表示制御部7は記憶部に記憶されているモード識別子を、入力された値に更新し(ステップS203)、処理をステップS206に進める。
一方、表示エリアの入力であれば(ステップS202にて「NO」の場合)、表示制御部7は記憶部に記憶されているエリアIDまたはグループIDを、入力された値に更新し(ステップS204)、処理をステップS206に進める。
また、通信部3からの監視重要度の情報の入力があった場合は(ステップS201にて「YES」の場合)、表示制御部7は入力された監視重要度の情報を記憶部に格納し(ステップS205)、処理をステップS206に進める。
こうして待機状態が解除されると、表示制御部7は記憶部の設定を確認し(ステップS206)、表示モードがマルチ表示モードである場合は(ステップS206にて「YES」の場合)、表示エリアの設定が示すグループIDに対応付けられている複数の監視領域の分布画像をそれらの監視重要度とともに表示部8に表示させる(ステップS207)。
図8はマルチ表示モードでの表示部8の表示例を示す模式図である。図8において、グループIDを構成するエリアIDは1~4であり、表示部8の画面にはそれら4つのエリアIDそれぞれについて分布画像とともに、監視境域の監視重要度を示すアイコンが表示される。「エリア1」、「エリア3」については監視領域の監視重要度が「低」である表情のアイコンが表示され、「エリア2」については監視重要度が「中」であるアイコンが表示され、「エリア4」については監視重要度が「高」であるアイコンが表示されている。この表示から、監視員は「エリア4」、「エリア2」の順に対処を行うべきであることを迅速に把握できる。
他方、表示モードがシングル表示モードである場合は(ステップS206にて「NO」の場合)、表示エリアの設定が示すエリアIDに対応付けられている監視領域の分布画像を表示部8に表示させる(ステップS208)。監視員は表示している監視領域について分布画像から詳細な状況を確認でき、当該監視領域内のいずれの場所に警備員を急行させるか等を判断して対処できる。
こうして表示を更新すると、処理は再びステップS200に戻され、待機状態となる。
[変形例]
(1)上述の実施形態およびその変形例においては、監視重要度算出手段51が、監視画像の画像区画ごとに監視重要度を算出し、さらに監視領域ごとに監視重要度を算出する例を示したが、いずれか一方の監視重要度を算出してもよい。
ここで、上述したように、混雑度推定手段50は、対象空間に複数設定した注目領域ごとに、物体の混雑の度合いを表す混雑度を監視画像に基づいて推定するが、監視領域ごとの監視重要度のみを算出する場合、当該監視領域が注目領域となる。
監視領域ごとの監視重要度のみを算出する場合、混雑度推定手段50は、密度推定器を用いて混雑度を推定する代わりに、監視画像の縁部(監視画像が矩形なら四辺)に注目して監視領域に入った人数と監視領域から出た人数を計測し、入った人数から出た人数を減じた数から混雑度を推定することもできる。
(2)監視重要度算出手段51は式(2),(3)に代えて次式(4),(5)を用い、逐次的にDTおよびVTを算出してもよい。なお、式(4),(5)では、監視画像の撮影周期で時刻および期間を定義しており、時刻t=Tは現画像が撮影された時刻であり、時刻t=T-1は直前画像が撮影された時刻を表す。また、期間τは監視画像の撮影回数で表される。
DT=(τ-1)/τ・DT-1+1/τ・dT …(4)
VT=(τ-1)/τ・VT-1+1/τ・vT …(5)
この場合、混雑度記憶手段41はDT-1だけを記憶できればよく、また、動き量記憶手段42はVT-1、およびvTの算出に必要な過去の監視画像だけを記憶できればよく、よって記憶部4の容量を減じることができる。
(3)監視重要度算出手段51は、時間τを固定値とせずに、時刻Tから過去に向かって高密度クラスまたは中密度クラスが連続して推定された時間τを検出し、検出した時間τを式(2),(3)に適用してDTおよびVTを算出し、または検出した時間τを式(4),(5)に適用してDTおよびVTを算出することもできる。
(4)監視重要度算出手段51は、処理を単純化した態様として、時刻Tから過去に向かって高密度クラスまたは中密度クラスが連続して推定された時間τを求め、式(1)にてDTに代えて当該時間の長さτを用いて監視重要度STを算出してもよい。この態様は、混雑度の代表値dtを、混雑度が中密度未満か中密度以上かによって2値化した値で定義することに相当し、当該態様でも混雑度が高いほど高い監視重要度STが算出される。同様に、時刻Tから過去に向かって高密度クラスが連続して推定された時間τの長さそのものを式(1)にてDTに代えて用いてもよい。
(5)上述の実施形態およびその変形例においては、監視重要度算出手段51が、混雑度、混雑の継続時間および物体の動き量を基に監視重要度を算出する例を示したが、監視重要度算出手段51は、動き量を省略して混雑度と混雑の継続時間とから監視重要度を算出してもよいし、継続時間を省略して混雑度と物体の動き量とから監視重要度を算出してもよい。
(6)上述の実施形態およびその変形例においては、監視重要度算出手段51がオプティカルフロー分析によって動きベクトルを検出する例を示したが、混雑度が所定以上である領域(例えば高密度クラスが推定された領域)については、所定時間長に亘り順次撮影された監視画像からなる時系列画像に対する時空間セグメンテーションを行い、各セグメントにおける動きベクトルを検出することもできる。
ここで時空間セグメンテーションは、時系列画像が形成する時空間にて隣接・近傍関係にあり且つ互いに画素値(色または濃度)が類似する画素のまとまりである時空間セグメントを生成する処理である。ちなみに、時系列画像は、それを構成する各時刻の2次元画像(空間画像)の座標軸(x軸、y軸とする)と、時間軸(t軸とする)とで座標(x,y,t)を定義される時空間における3次元画像と考えることができ、画素の隣接・近傍関係は、x軸、y軸方向に関する空間的な画素の位置関係と、t軸方向に関する時間的な画素の位置関係との両面から把握される。
時空間セグメンテーションは、時刻が連続する空間画像間での移動物体の像の重なりを要するため、移動物体の動きが少ない領域に適用するのが好適であり、この点から、ここでは高混雑度の領域に適用することとしている。
時空間セグメンテーションを行う時系列画像の時間軸方向の範囲(分析区間)は処理負荷の観点から基本的に有限とし、その時間長(分析区間長)は予め設定される。例えば、時空間セグメンテーションを利用して高混雑領域における動きベクトルを算出する場合、分析区間長は5時刻とすることができ、この場合、監視重要度算出手段51は、記憶部4から過去4時刻(t=T-4~T-1)の監視画像を読み出し、それらと現時刻(t=T)の監視画像を時刻順に並べた時空間画像の高混雑領域において、画素位置および撮影時刻が隣接する画素間にて画素値の相違度を算出し、相違度が小さければ同一セグメントとして結合させる、という処理を繰り返すことで、複数の時空間セグメントに分割する。
そして、各時空間セグメントに含まれる画素のうち時刻が同じ画素のまとまりを切片と呼ぶことにすると、監視重要度算出手段51は例えば、各時空間セグメントにおける5時刻分の切片それぞれの重心を求め、時空間セグメントごとに重心位置の時間変化を直線近似して動きベクトルを算出する。
このように時間方向の隣接画素もまとめる時空間セグメンテーションを用いることで、照明変動による画素値の時間的揺らぎを原因とする動きベクトルの算出誤差を低減できる。
(7)上述の実施形態およびその変形例においては、分布画像生成手段53が物体領域ごとに監視重要度を統合して分布画像を生成する例を示したが、画像区画ごとの監視重要度そのものを示す分布画像を生成してもよい。その場合、例えば、監視重要度が同一で互いに隣接する画像区画を連結して、連結領域の重心にマークを重畳する、或いは連結領域内に等間隔にマークを重畳することができる。
(8)上述の実施形態およびその変形例においては、画像区画を各画素とし画素ごとに混雑度を推定する例を示したが、複数の画素からなる画像区画としてもよい。例えば、監視画像を複数のブロックに分割して各ブロックを画像区画とする。この場合、ブロックは推定用抽出窓よりも小さく予め定めるのが好適であり、混雑度推定手段50は、各ブロックの重心位置に推定用抽出窓を設定して画像区画ごとの混雑度を推定する。例えば、画像区画として3×3画素のブロックを設定し、3画素おきに推定用抽出窓を設定して推定用特徴量を抽出する。
(9)上記各実施形態およびその変形例においては、検出対象の物体を人とする例を示したが、これに限らず、検出対象の物体を車両、牛や羊等の動物等とすることもできる。
(10)上記各実施形態およびその各変形例においては、多クラスSVM法にて学習した密度推定器を例示したが、多クラスSVM法に代えて、決定木型のランダムフォレスト法、多クラスのアダブースト(AdaBoost)法または多クラスロジスティック回帰法などにて学習した密度推定器など種々の密度推定器とすることができる。
或いは識別型のCNN(Convolutional Neural Network)を用いた密度推定器とすることもできる。
(11)上記各実施形態およびその各変形例においては、密度推定器が推定する背景以外の密度のクラスを3クラスとしたが、より細かくクラスを分けてもよい。
(12)上記各実施形態およびその各変形例においては、多クラスに分類する密度推定器を例示したがこれに代えて、特徴量から密度の値(推定密度)を回帰する回帰型の密度推定器とすることもできる。すなわち、リッジ回帰法、サポートベクターリグレッション法、回帰木型のランダムフォレスト法またはガウス過程回帰(Gaussian Process Regression)などによって、特徴量から推定密度を求めるための回帰関数のパラメータを学習した密度推定器とすることができる。
或いは回帰型のCNNを用いた密度推定器とすることもできる。
(13)上記各実施形態およびその各変形例においては、密度推定器が学習する特徴量および推定用特徴量としてGLCM特徴を例示したが、これらはGLCM特徴に代えて、局所二値パターン(Local Binary Pattern:LBP)特徴量、ハールライク(Haar-like)特徴量、HOG特徴量、輝度パターンなどの種々の特徴量とすることができ、またはGLCM特徴とこれらのうちの複数を組み合わせた特徴量とすることもできる。