以下、本発明の実施の形態(以下実施形態という)に係る物体分布推定装置1について、図面に基づいて説明する。物体分布推定装置1は人が存在し得る空間(監視空間)を所定時間おきに撮影した撮影画像を順次解析することによって、その空間における人の分布を推定し、推定結果である分布画像を監視員に対して表示する。
[物体分布推定装置1の構成]
図1は物体分布推定装置1の概略の構成を示すブロック図である。物体分布推定装置1は、撮影部2、通信部3、記憶部4、画像処理部5および表示部6からなる。
撮影部2は、監視カメラであり、通信部3を介して画像処理部5と接続され、監視空間を所定の時間間隔で撮影して撮影画像を生成し、撮影画像を順次、画像処理部5に入力する撮影手段である。以下、撮影部2の撮影タイミングを時刻と称する。
例えば、撮影部2は、イベント会場に設置されたポールに当該監視空間を俯瞰する視野を有して設置される。その視野は固定されていてもよいし、予めのスケジュール或いは通信部3を介した外部からの指示に従って変更されてもよい。例えば、撮影部2は監視空間をフレーム周期1秒で撮影してカラー画像を生成する。また、撮影部2はカラー画像の代わりにモノクロ画像を生成してもよい。
通信部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或いは多対多とすることもできる。
[物体分布推定装置1の機能]
図2は物体分布推定装置1の機能ブロック図である。通信部3は画像取得手段30および物体分布出力手段31等として機能し、記憶部4は密度推定器記憶手段40、物体分布記憶手段41および解析待ち時間記憶手段42等として機能する。画像処理部5は、密度推定手段50および更新間隔設定手段51等として機能する。
以下、図2を参照して各手段について説明する。
画像取得手段30は、撮影手段である撮影部2から撮影画像を順次取得して、取得した撮影画像を密度推定手段50に順次出力する。
密度推定器記憶手段40は、所定の密度ごとに当該密度にて物体(人)が存在する空間を撮影した密度画像それぞれの画像特徴を学習した推定密度算出関数であって、画像の特徴量を入力されると当該画像に撮影されている物体の密度の推定値(推定密度)を算出し、算出した推定密度を出力する推定器(密度推定器)の情報を予め記憶している。つまり上記推定密度算出関数の係数等のパラメータを密度推定器の情報として予め記憶している。
密度推定手段50は、撮影画像に設定された複数の局所領域ごとに解析を行って、当該領域に撮影された物体の密度を、当該領域における物体の混雑の度合い(混雑度合い)として推定する混雑推定手段であり、監視空間における物体の分布情報として局所領域それぞれにおける物体の混雑度合いを推定する。具体的には、密度推定手段50は、画像取得手段30から入力された撮影画像における任意の局所領域から密度推定用の特徴量を抽出するとともに密度推定器記憶手段40から密度推定器を読み出して、抽出した特徴量のそれぞれを密度推定器に入力することによって密度を推定する。この推定を撮影画像内の複数の位置にて行うことにより、撮影画像内での推定密度の分布(物体の密度分布)が求められ、密度推定手段50は推定した密度分布を物体分布出力手段31、更新間隔設定手段51および物体分布記憶手段41に出力する。
密度推定の処理と密度推定器について具体的に説明する。
本実施形態においては撮影画像内の各画素を局所領域として設定する。密度推定手段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法を適用して学習して得られる、各クラスの密度画像を他のクラスと識別するための識別関数である。この学習により導出された識別関数のパラメータが密度推定器として記憶されている。なお、密度画像の特徴量は、密度推定手段50が抽出する特徴量と同種であり、GLCM特徴である。
密度推定手段50は、各画素に対応して抽出した特徴量のそれぞれを密度推定器に入力することによってその出力値である推定密度を取得する。なお、撮影画像を変形させて特徴量を抽出した場合、密度推定手段50は、カメラパラメータを用いたホモグラフィ変換により密度分布を元の撮影画像の形状に変形させる。
こうして得られた、撮影画像の画素ごとの推定密度の集まりが密度分布である。ここで、推定密度が「高密度」クラスである局所領域(高混雑領域)においては、混雑により人の動きが遅くなっており急激な混雑度合いの変化が生じにくい。そのため、高混雑領域は短い時間間隔で解析しなくても監視員の判断などに与える影響は少ない。他方、推定密度が「背景」クラスおよび「低密度」クラスである局所領域(低混雑領域)においては、人が走ることも可能であり急激な混雑度合いの変化が生じ得る。そのため、低混雑領域については短い時間間隔で解析して変化の様子を監視員に逐次提示することが望ましい。また、推定密度が「中密度」クラスである局所領域(中混雑領域)における人の動きの速さは高混雑領域と低混雑領域との中間的な速さと考えられる。
そこで、物体分布推定装置1は、推定密度が高い局所領域ほど長い時間間隔で推定密度を更新することによって、密度推定の結果の信頼度を確保しつつ密度推定の処理コストを抑制する。
そのために、更新間隔設定手段51は、局所領域それぞれについて、密度推定手段50によって当該局所領域に対応する分布情報を更新する更新時間間隔(以下、更新間隔と称する。)を設定する。そして、その際、更新間隔設定手段51は、密度推定手段50が推定した混雑度合いが高い局所領域ほど長い更新間隔を設定する。これにより、更新間隔設定手段51は密度推定手段50が推定した推定密度に応じて、局所領域それぞれの更新間隔を設定し、密度推定手段50は局所領域ごとの物体の密度を当該局所領域に設定された更新間隔にて推定する。
例えば、更新間隔設定手段51は、推定密度が「高密度」クラスであった局所領域の更新間隔を4時刻とし、推定密度が「中密度」クラスであった局所領域の更新間隔を2時刻とし、推定密度が「背景」クラスであった局所領域および「低密度」クラスであった局所領域の更新間隔を1時刻と設定する。
具体的には、上記更新間隔の制御を実時間で行うために、更新間隔設定手段51は、例えば、局所領域ごとの更新間隔を解析待ち時間として解析待ち時間記憶手段42に書き込んで、新たな撮影画像を取得するたびに解析待ち時間を減少させる。更新間隔や解析待ち時間といった時間の長さは上述した時刻を単位として定義され、撮影画像のフレーム数に対応する。密度推定手段50は解析待ち時間記憶手段42を参照して解析持ち時間が0となり更新タイミングが到来した局所領域の密度を推定する。
また、高混雑領域のうち、中混雑領域あるいは低混雑領域との境界付近は、それ以外の領域に比べて混雑度合いの変化が生じやすい。また、同様に中混雑領域のうち低混雑領域との境界付近はそれ以外の領域に比べて混雑度合いの変化が生じやすい。そこで、更新間隔設定手段51は、それぞれが2以上の局所領域からなる複数のブロックごとに、当該ブロック内で最も低い密度に応じた更新間隔を設定し、密度推定手段50はブロック単位で更新タイミングの到来を判定する。ブロックは予め設定され、更新間隔設定手段51と密度推定手段50とはその設定を共有する。ブロックの大きさは物体1〜2個分(人ひとり乃至ふたり分)程度の大きさとするのがよい。この大きさは混雑度合いの変化を生じさせる最小単位である。このように物体の大きさに応じたブロックとすることで、境界付近の更新遅延を防ぎつつ、境界付近以外での不要に頻繁な更新を防ぐことができる。
また、密度推定手段50による密度の推定は局所領域ないしブロックごとに非同期で行われることに対応して、密度推定手段50は局所領域ごとの最新の推定密度を物体分布記憶手段41に記憶させることで密度分布を更新する。こうすることで物体分布記憶手段41には全局所領域の最新の推定密度が保持される。密度推定手段50は密度分布を更新するたびに物体分布記憶手段41に記憶されている全局所領域の推定密度を読み出して物体分布出力手段31に出力する。
なお、密度分布は推定密度の値のまま出力してもよいが、推定密度に応じて予め定めた色を対応する画素に設定した分布画像とすることもできる。例えば、密度推定手段50は、「高密度」クラスと推定された局所領域の画素値は赤、「中密度」クラスと推定された局所領域の画素値は黄、「低密度」クラスと推定された局所領域の画素値は緑、「背景」クラスと推定された局所領域の画素値は黒に設定した分布画像を生成して出力する。
また、表示に供する本実施形態においてさらに好適には、密度推定手段50は、上記分布画像を撮影画像に透過合成した分布画像を生成して出力する。
すなわち、更新間隔設定手段51は、撮影画像に設定された複数の局所領域それぞれの推定密度の更新間隔を設定し、設定した局所領域ごとの更新間隔を解析待ち時間として解析待ち時間記憶手段42に記憶させる。その際、更新間隔設定手段51は、密度推定手段50(混雑推定手段)が推定した密度(混雑度合い)を参照して密度が高い局所領域ほど長い更新間隔を設定する。密度推定手段50は、密度推定器記憶手段40に記憶されている密度推定器であって所定の密度ごとに当該密度にて物体が存在する空間を撮影した密度画像それぞれの特徴を学習した密度推定器を用い、局所領域ごとの物体の密度を、当該局所領域に設定された更新間隔にて推定し、推定した局所領域ごとの密度を更新間隔設定手段51に出力するとともに、推定した局所領域ごとの密度を物体分布記憶手段41に記憶させる。また、密度推定手段50は物体分布記憶手段41に記憶されている各局所領域の密度を読み出して物体分布出力手段31に出力する。
このようにすることによって、出力する密度分布の信頼度を確保しつつ密度推定の処理コストを抑制することができる。
さらに、更新間隔設定手段51は、それぞれが2以上の局所領域からなる複数のブロックごとに、当該ブロック内で最も低い密度に応じた更新間隔を設定する。こうすることによって、密度ごとの領域の境界付近における密度分布の信頼度をより高くすることができる。
物体分布出力手段31は密度推定手段50から入力された密度分布を表示部6に順次出力し、表示部6は物体分布出力手段31から入力された密度分布を表示する。監視員は、表示された密度分布を視認することによって監視空間に混雑が発生している地点を把握し、当該地点に警備員を派遣し或いは増員するなどの対処を行う。
[物体分布推定装置1の動作]
図3および図4のフロー図を参照して物体分布推定装置1の動作を説明する。
物体分布推定装置1が動作を開始すると、イベント会場に設置されている撮影部2は所定時間おきに監視空間を撮影して撮影画像を画像処理部5が設置されている画像解析センター宛に順次送信する。また、撮影部2に視野変更が生じた場合、当該撮影部2は画像解析センター宛に視野変更が生じた旨を通知する。
図3は物体分布推定装置1のうち画像解析センターにおける主として画像処理部5の動作の概略のフロー図である。画像処理部5は撮影部2から撮影画像を受信するたびに図3のステップS1〜S8の処理を繰り返す。
まず、画像処理部5は更新間隔設定手段51として動作し、初回起動時であるか否か、および視野変更があったか否かを確認する(ステップS1)。すなわち、更新間隔設定手段51は解析待ち時間記憶手段42を参照して解析待ち時間の情報が記憶されていなければ初回起動時と判定する。また、更新間隔設定手段51は通信部3を介した撮影部2からの通知を確認し、視野変更の通知を受信していれば視野変更があったと判定する。
初回起動時である場合、または視野変更があった場合(ステップS1にて「YES」の場合)、更新間隔設定手段51は全ブロックに更新間隔の初期値として1[時刻]を設定し、解析待ち時間情報として当該更新間隔を解析待ち時間記憶手段42に記憶させる(ステップS2)。一方、初回起動時ではなく、かつ視野変更もない場合は(ステップS1にて「NO」の場合)、ステップS2の更新間隔および解析待ち時間の初期化処理はスキップされ、既に解析待ち時間記憶手段42に記憶されている値が維持される。
次に、通信部3が画像取得手段30として動作し、撮影部2からの撮影画像の受信待ち状態となる。撮影画像を取得した画像取得手段30は当該撮影画像を画像処理部5に出力する(ステップS3)。
撮影画像を入力された画像処理部5は更新間隔設定手段51として動作し、解析待ち時間記憶手段42に記憶されている全ブロックの解析待ち時間を1[時刻]ずつ減算させる(ステップS4)。この処理により、推定密度の更新間隔の終端に達するとブロックの解析待ち時間は0[時刻]となる。
画像処理部5はこの解析待ち時間が0であることから推定密度の更新タイミングが到来したブロックを検知し、当該ブロックについて推定密度を更新する処理を行う。具体的には、撮影画像を入力された画像処理部5は密度推定手段50として動作し、撮影画像に設定される各ブロックを順次、注目ブロックに設定して行うループ処理で(ステップS5〜S7)、密度推定に関する処理(ステップS6)を行う。
図4はブロックごとの密度推定に関する処理S6の概略のフロー図である。図4を参照して当該処理S6を説明する。
密度推定手段50は、ステップS5にて順次設定する注目ブロックについて、解析待ち時間記憶手段42を参照して解析待ち時間が0であるか否かを確認する(ステップS80)。注目ブロックの解析待ち時間が0であれば(ステップS80にて「YES」の場合)、密度推定手段50は注目ブロック内の各画素の密度を推定して物体分布記憶手段41に記憶させることにより、注目ブロック内の各画素の密度を更新する(ステップS81)。
すなわち、密度推定手段50は、撮影画像内の各画素の位置を基準とする窓を設定して当該窓内の特徴量を抽出するとともに密度推定器記憶手段40から密度推定器を読み出して、各画素の特徴量を密度推定器に入力して当該画素の推定密度を密度推定器の出力値として得る。
また、密度推定手段50は注目ブロック内の各画素の推定密度を更新間隔設定手段51に出力する。更新間隔設定手段51は、入力された推定密度に基づいて、注目ブロックについて次に推定密度の更新を行うまでの更新間隔を決定し、当該更新間隔を解析待ち時間記憶手段42に新たな解析待ち時間として設定する。
具体的には、更新間隔設定手段51は、注目ブロック内の各画素に関し入力された推定密度に「背景」クラスまたは「低密度」クラスを示す値が含まれているか否かを確認する(ステップS82)。そして、注目ブロックに「背景」クラスまたは「低密度」クラスが含まれている場合(ステップS82にて「YES」の場合)、更新間隔設定手段51は解析待ち時間記憶手段42に記憶されている注目ブロックの解析待ち時間を1[時刻]に更新する(ステップS83)。
一方、注目ブロックに「背景」クラスまたは「低密度」クラスが含まれていない場合(ステップS82にて「NO」の場合)、更新間隔設定手段51は入力された推定密度に「中密度」クラスを示す値が含まれているか否かを確認する(ステップS84)。注目ブロックに「中密度」クラスが含まれている場合(ステップS84にて「YES」の場合)、更新間隔設定手段51は解析待ち時間記憶手段42に記憶されている注目ブロックの解析待ち時間を2[時刻]に更新する(ステップS85)。
また、注目ブロックに「中密度」クラスが含まれていない場合(ステップS84にて「NO」の場合)、更新間隔設定手段51は注目ブロック内が「高密度」クラスのみであるとして解析待ち時間記憶手段42に記憶されている注目ブロックの解析待ち時間を4[時刻]に更新する(ステップS86)。
なお、注目ブロックの解析待ち時間が0でなければ(ステップS80にて「NO」の場合)、注目ブロックに対するステップS81〜S86の処理は省略される。
こうして注目ブロックに対する密度推定処理S6を終えると処理は図3のステップS7に進められ、密度推定手段50は、全ブロックが処理済みであるか否かを確認する。未処理のブロックがある場合(ステップS7にて「NO」の場合)、密度推定手段50は処理をステップS5に戻して未処理のブロックを次の注目ブロックに設定し、ループ処理を継続する。
他方、全ブロックが処理済みである場合(ステップS7にて「YES」の場合)、密度推定手段50は物体分布記憶手段41から全画素の推定密度を読み出して、推定密度の色への変換および撮影画像との透過合成を行って分布画像を生成し、生成した分布画像を物体分布の情報として通信部3に出力する(ステップS8)。
分布画像を入力された通信部3は物体分布出力手段31として動作し、当該分布画像を表示部6に送信する。
[処理例]
図5〜図9は、時刻tから時刻(t+4)までの5時刻にわたる処理によって、解析待ち時間記憶手段42に記憶されている解析待ち時間が更新される様子、更新タイミングが到来したブロックの密度が推定される様子、および物体分布記憶手段41に記憶されている推定密度が更新される様子を例示する模式図である。
解析待ち時間の情報100,102,110,112,120,122,130,132,140,142は撮影画像に対応する2次元座標におけるブロックの配列と、各ブロックの解析待ち時間とを模式的に画像として示している。当該画像にて、行列状に2次元配列される複数の矩形はそれぞれブロックを表しており、当該矩形内の数値は当該矩形が表すブロックの解析待ち時間を表している。
ここで、図5〜図9において「解析待ち時間(画像取得時)」として示す情報100,110,120,130,140は具体的には図3に示すステップS4にて1時刻の減算を行った後の解析待ち時間を表している。一方、「解析待ち時間(密度推定後)」として示す情報102,112,122,132,142は具体的には図3に示すステップS5〜S7の密度推定に関するループ処理が完了した後の解析待ち時間を表しており、ステップS6内の処理(ステップS83,S85,S86)での更新結果が反映されている。
図5〜図9において「密度推定結果(更新部分)」として示す密度推定結果101,111,121,131,141は、各時刻において新たに得られた推定密度を、撮影画像に対応する2次元座標にて模式的に画像として示している。当該推定密度は図3に示すステップS6内の処理(ステップS81)で更新された密度であり、撮影画像に対応するブロック群のうち密度が更新された部分だけが図5〜図9に密度推定結果の画像として示されている。
具体的には、「解析待ち時間(画像取得時)」として示す情報100,110,120,130,140にて解析待ち時間が0であるブロックに対応して、「密度推定結果(更新部分)」として示す密度推定結果101,111,121,131,141が生成される。
なお、図5〜図9における各密度推定結果の画像において、白抜き部は「背景」クラスである画素、斜線部は「低密度」クラスである画素、横線部は「中密度」クラスである画素、網掛け部は「高密度」クラスである画素を表している。
図4を用いて説明したように、密度推定結果101,111,121,131,141が生成された推定密度の更新部分について、新たな更新間隔が設定され、その結果が反映されて「解析待ち時間(密度推定後)」として示す情報102,112,122,132,142が生成される。
図5〜図9において「密度推定結果(合成結果)」として示す密度推定結果103,113,123,133,143は物体分布記憶手段41に記憶される推定密度を、それぞれ撮影画像に対応する2次元画像で模式的に示している。密度推定結果103,113,123,133,143のうち任意の時刻Tのものは、当該時刻の1時刻前に生成され物体分布記憶手段41に記憶されている推定密度と、更新部分の密度推定結果101,111,121,131,141のうち当該時刻Tについて生成されたものとを合成して生成され、物体分布記憶手段41に記憶される。例えば、時刻t+1における密度推定結果113は、時刻tの密度推定結果103に時刻t+1の更新部分の密度推定結果111を上書き合成して生成される。
以下、時刻t〜t+4の各時刻での処理をより具体的に説明する。
図5は時刻tにおける処理に関する。時刻tの撮影画像は初回起動または視野変更の直後に取得され、よってその直前に全ブロックは解析待ち時間を1に初期化されている(図3のステップS2)。そして、時刻tの撮影画像を取得すると全ブロックの解析待ち時間が1ずつ減算され(図3のステップS4)、画像取得時の解析待ち時間の情報100は全て0となる。その結果、全ブロックについて推定密度の更新タイミングが到来したとして、密度推定結果101の画像で示すように全ブロックにおける各画素について密度が推定される。
密度推定結果101に対応し、全ブロックについて推定密度に応じた新たな解析待ち時間が設定され、解析待ち時間の情報102が生成される。具体的には、「背景」クラスまたは「低密度」クラスの画素を含むブロックの解析待ち時間は1に、それ以外で「中密度」クラスの画素を含むブロックの解析待ち時間は2に、それら以外のブロックは「高密度」クラスのみの画素からなるとされて解析待ち時間は4に更新されている。
また、密度推定結果101が全ブロックについて生成されることに対応し、密度推定結果103における全ブロックの推定密度は密度推定結果101の情報で更新されている。
図6は時刻t+1における処理に関する。時刻t+1に撮影画像を取得すると全ブロックの解析待ち時間が1ずつ減算され、解析待ち時間の情報102が解析待ち時間の情報110のように更新される。その結果、全120ブロックのうちの63ブロックの解析待ち時間が0となり、密度推定結果111ではそれら63ブロックについて更新タイミングが到来したとしてそれらの密度が推定されている。
そして、解析待ち時間の情報110のうち密度が推定された当該63ブロックについて解析待ち時間が更新され、解析待ち時間の情報112が生成される。具体的には、当該63ブロックのうちの「背景」クラスまたは「低密度」クラスの画素を含む62ブロックの解析待ち時間は1に、それ以外で「中密度」クラスの画素を含む1ブロックの解析待ち時間は2に更新されている。ちなみに、上からi行目、左からj列目のブロックをBijと表すと、解析待ち時間が2に設定される1ブロックはB27である。なお、密度推定結果111にはB27以外にも「中密度」クラスの画素を示す横線部の領域が得られているが、当該領域のブロックは一部に斜線部で示す「低密度」クラスの画素を含むため、解析待ち時間を1に設定されている。
また、密度推定結果103のうち上述の63ブロックが密度推定結果111の情報で更新されて密度推定結果113が生成される。
図7は時刻t+2における処理に関する。時刻t+2に撮影画像を取得すると全ブロックの解析待ち時間が1ずつ減算され、解析待ち時間の情報112が解析待ち時間の情報120のように更新され、全120ブロックのうちの91ブロックに更新タイミングが到来する。その結果、推定密度の更新部分として当該91ブロックからなる密度推定結果121が生成され、また更新された推定密度に基づいて当該91ブロックについて解析待ち時間が更新され、解析待ち時間の情報122が生成される。具体的には、当該91ブロックのうちの「背景」クラスまたは「低密度」クラスの画素を含む64ブロックの解析待ち時間は1に、それ以外で「中密度」クラスの画素を含む27ブロックの解析待ち時間は2に更新されている。また、密度推定結果113のうち上述の91ブロックが密度推定結果121の情報で更新されて密度推定結果123が生成される。
図8に示す時刻t+3における処理、および図9に示す時刻t+4における処理も同様にして行われ、前時刻に更新され解析待ち時間記憶手段42に記憶された解析待ち時間から画像取得時の解析待ち時間が生成され、更新タイミングが到来したブロックについて推定密度が更新され、その結果に基づいて、解析待ち時間の更新、および撮影画像全体での推定密度の合成結果の生成が行われる。
このような処理の結果、5時刻の間に144ブロック分の密度推定の処理コストが削減される。その一方で、密度推定結果103,113,123,133,143においては混雑状況の変化が高い確度で得られている。
[変形例]
(1)上記実施形態においては、検出対象の物体を人とする例を示したが、これに限らず、検出対象の物体を車両、牛や羊等の動物等とすることもできる。
(2)上記実施形態およびその変形例においては、多クラスSVM法にて学習した密度推定器を例示したが、多クラスSVM法に代えて、決定木型のランダムフォレスト法、多クラスのアダブースト(AdaBoost)法または多クラスロジスティック回帰法などにて学習した密度推定器など種々の密度推定器とすることができる。
或いは識別型のCNN(Convolutional Neural Network)を用いた密度推定器とすることもできる。
(3)上記実施形態およびその各変形例においては、密度推定器が推定する背景以外の密度のクラスを3クラスとしたが、より細かくクラスを分けてもよい。その場合、クラス分けに対応したより細かい段階で更新間隔が設定される。
(4)上記実施形態およびその各変形例においては、多クラスに分類する密度推定器を例示したがこれに代えて、特徴量から密度の値(推定密度)を回帰する回帰型の密度推定器とすることもできる。すなわち、リッジ回帰法、サポートベクターリグレッション法、回帰木型のランダムフォレスト法またはガウス過程回帰(Gaussian Process Regression)などによって、特徴量から推定密度を求めるための回帰関数のパラメータを学習した密度推定器とすることができる。
或いは回帰型のCNNを用いた密度推定器とすることもできる。
これらの場合、密度クラスの値の代わりに連続値で出力される推定密度の値域を、更新間隔と対応付けて設定しておく。
(5)上記実施形態およびその各変形例において示した更新間隔は一例であり、推定密度の範囲設定、検出対象の速さ、撮影部2の撮影周期および画角等の撮影条件に応じて、それらの条件に適した別の値とすることができる。
(6)上記実施形態およびその各変形例においては、密度推定器が学習する特徴量および密度推定に用いる特徴量としてGLCM特徴を例示したが、これらはGLCM特徴に代えて、局所二値パターン(Local Binary Pattern:LBP)特徴量、ハールライク(Haar-like)特徴量、HOG(Histograms of Oriented Gradients)特徴量、輝度パターンなどの種々の特徴量とすることができ、またはGLCM特徴とこれらのうちの複数を組み合わせた特徴量とすることもできる。
(7)上記実施形態およびその各変形例においては、撮影画像上での密度推定手段50の走査間隔を1画素ごととする例を示したが、当該走査間隔を2画素以上ごとのように間隔を空けて行うことも可能である。
(8)上記実施形態およびその各変形例においては、混雑推定手段として例示した密度推定手段50が、混雑度合いとして物体の密度を推定することによって物体の分布を推定する例を示したが、混雑推定手段は画像の複雑度の解析によって物体の分布を推定することもできる。例えば、混雑推定手段は、撮影画像を互いに色が類似する隣接画素ごとの領域に分割し、上述したブロックごとに当該ブロックとの重なりを有する分割領域を計数して計数値が多いほど高い複雑度を求める。或いは、混雑推定手段は、撮影画像のブロックごとに周波数解析を行って平均周波数が高いほど高い複雑度を求める。そして、予めの実験を通じて複雑度と混雑度合いの関係を定めておき(複雑度が高いほど混雑度合いが高い関係)、ブロックごとに、求めた複雑度に対応する混雑度合いを推定値とする。