以下、本発明の実施形態として、イベント会場が撮影された撮影画像から個々の人を検出する物体検出装置の例を含み、検出結果を監視員に対して表示する画像監視装置1の例を説明する。
<画像監視装置1の構成>
図1は画像監視装置1の概略の構成を示すブロック図である。画像監視装置1は、撮影部2、通信部3、記憶部4、画像処理部5、および表示部6からなる。
撮影部2は、監視カメラであり、通信部3を介して画像処理部5と接続され、監視空間を所定の時間間隔で撮影して撮影画像を生成し、撮影画像を順次画像処理部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および表示部6と接続され、記憶部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等として機能する。画像処理部5は、密度推定手段50、単体識別手段51および終了判定手段52等として機能する。また、密度推定手段50は推定用特徴抽出手段500、識別スコア混合手段501および推定スコア算出手段502としての機能を含み、単体識別手段51は識別用特徴抽出手段510、推定スコア混合手段511および識別スコア算出手段512としての機能を含む。
画像取得手段30は、撮影手段である撮影部2から撮影画像を順次取得して、取得した撮影画像を密度推定手段50および単体識別手段51に順次出力する。
密度推定手段50は、画像取得手段30から入力された撮影画像から密度推定用の特徴量(推定用特徴量)を抽出して、抽出した推定用特徴量を密度推定器に入力し、当該入力に応じた密度推定器の出力値を取得し、取得した出力値を単体識別手段51および終了判定手段52に出力する。密度推定器については後述する。
単体識別手段51は、画像取得手段30から入力された撮影画像から単体識別用の特徴量(識別用特徴量)を抽出して、抽出した識別用特徴量に密度推定手段50が取得した出力値を混合し、混合した特徴量(識別用混合特徴量)を単体識別器に入力して取得される出力値を用いて個々の人の位置を検出する。単体識別器については後述する。
つまり、単体識別手段51は、単に撮影画像から抽出した識別用特徴量のみから識別するのではなく、自身が処理対象とする撮影画像について密度推定手段50が密度推定器から取得した出力値をも用いて人の位置の検出精度を向上させるのである。
さらに、単体識別手段51は単体識別器に入力して取得した出力値を密度推定手段50および終了判定手段52に出力し、密度推定手段50は、単体識別手段51が取得した出力値を推定用特徴量に混合し、混合した特徴量(推定用混合特徴量)を密度推定器に入力して新たな出力値を取得する。つまり密度推定手段50は推定用混合特徴量を密度推定器に入力することによって出力値を更新する。単体識別手段51は、密度推定手段50が出力値を更新した場合に、密度推定手段50が更新した出力値を用いて単体識別器の出力値および人の位置の検出結果を更新する。
つまり、密度推定手段50も、単に撮影画像から抽出した推定用特徴量のみから密度を推定するのではなく、自身が処理対象とする撮影画像について単体識別手段51が単体識別器から取得した出力値をも推定に用いて推定精度を向上させる。そして、単体識別手段51は、密度推定器の出力値が更新されると、再びその更新値を用いることによって個々の人の位置の検出精度を向上させるのである。
このように、密度推定手段50と単体識別手段51は、自身が取得した値を相手に出力し、相手が取得した値を用いて自身が取得する値を更新する反復処理を行う。
終了判定手段52は、密度推定手段50と単体識別手段51が行う反復処理の終了を制御する手段である。終了判定手段52は、単体識別手段51による更新が予め定めた基準を満たすか否かを判定して、基準を満たすと判定した場合に単体識別手段51による更新を停止させて、その時点の人の位置の検出結果を物体位置出力手段31に出力する。
具体的には、終了判定手段52は、単体識別手段51から入力された単体識別器の出力値が収束したか否かを判定し、および反復回数が予め定めた上限回数に達したか否かを判定し、単体識別器の出力値が収束したと判定した場合または反復回数が上限回数に達したと判定した場合に反復処理を停止させる。ここで、単体識別器の出力値の変化量が小さくなっても密度推定器の出力値の変化量が未だ大きければ単体識別器の出力値の改善が生じ得る。このように変化量の一時的な減少を収束と誤判定をしないよう、終了判定手段52は、密度推定手段50から入力された密度推定器の出力値をも参照し、単体識別器の出力値が収束したと判定し且つ密度推定器の出力値が収束したと判定した場合に単体識別手段51による更新を停止させる。
以下、密度推定手段50が参照する密度推定器記憶手段40、および密度推定手段50が具備する推定用特徴抽出手段500、識別スコア混合手段501および推定スコア算出手段502について説明する。
密度推定器記憶手段40は、画像の特徴量を入力されると当該画像に撮影されている人の密度の推定値(推定密度)、および推定密度の尤もらしさを表す推定スコアを算出して出力する推定器(密度推定器)の情報、つまり推定スコア算出関数の係数等のパラメータを予め記憶している。
密度推定器は「背景」クラス、「低密度」クラス、「中密度」クラス、「高密度」クラスのそれぞれに帰属する多数の画像(密度画像)の特徴量を学習した識別器とすることができる。
密度は、例えば、人が存在しない「背景」クラス、0人/m2より高く2人/m2以下である「低密度」クラス、2人/m2より高く4人/m2以下である「中密度」クラス、は4人/m2より高い「高密度」クラスの4クラスと定義することができる。
推定スコアは、密度推定器が入力された特徴量に対する推定の過程で算出する、当該特徴量が抽出された画像の「背景」クラスと他のクラスのうちの「背景」クラスであることの尤もらしさを表すスコア、「低密度」クラスと他のクラスのうちの「低密度」クラスであることの尤もらしさを表すスコア、「中密度」クラスと他のクラスのうちの「中密度」クラスであることの尤もらしさを表すスコア、「高密度」クラスと他のクラスのうちの「高密度」クラスであることの尤もらしさを表すスコアのそれぞれを、1/(1+exp(−スコア))に変換し、変換後の全スコアの合計値で割ることで、スコアの合計が1になるようにした4種類のスコアである。
推定密度は各クラスに予め付与された値であり、推定結果として出力される値である。本実施形態では各クラスに対応する値を「背景」「低密度」「中密度」「高密度」と表記する。
密度推定器記憶手段40が記憶している密度推定器は2つであり、その内訳は、反復処理の1回目で用いるための初回用密度推定器と、反復処理の2回目以降で用いるための反復用密度推定器である。
初回用密度推定器は密度画像の特徴量を学習した識別器である。反復用密度推定器は、密度画像の特徴量に、後述する単体識別器の出力値である識別スコアを混合した特徴量を学習した識別器である。反復用密度推定器の学習に用いる識別スコアは、密度推定器の学習に用いた密度画像を単体識別器に入力して得られた出力値である。
例えば、初回用密度推定器は、多数の学習用密度画像の特徴量に多クラスSVM(Support Vector Machine:サポートベクターマシーン)法を適用して求めた重みベクトルとして記憶されている。また、反復用密度推定器は、上記学習用密度画像の特徴量に、上記学習用密度画像を単体識別器に入力して得られた出力値を混合した特徴量に多クラスSVM法を適用して求めた重みベクトルとして記憶される。これらの重みベクトルは特徴量の各要素に対する重みであり、入力された特徴量と重みベクトルとの内積が推定スコアとなる。いずれも学習用画像の特徴量はGLCM(Gray Level Co-occurrence Matrix)特徴である。
このように、密度推定器記憶手段40は、予め、密度画像の特徴量を学習した初回用密度推定器と、密度画像の特徴量を単体識別器に入力して得られた出力値を密度画像の特徴量に混合した特徴量を学習した反復用密度推定器を記憶している。
推定用特徴抽出手段500は、撮影画像から密度推定器用の特徴量(推定用特徴量)を抽出して識別スコア混合手段501に出力する。推定用特徴量は密度推定器が学習した特徴量と同種でありGLCM特徴である。
推定用特徴抽出手段500は、推定用特徴量の抽出を窓(推定用抽出窓)ごとに行い、撮影画像の各画素の位置に推定用抽出窓を設定して推定用特徴量の抽出を行う。また、推定用抽出窓の大きさは密度推定器の学習に用いた学習用画像と同じサイズに設定される。
すなわち、推定用特徴抽出手段500は、撮影画像の各画素の位置に推定用抽出窓を設定し、各推定用抽出窓における撮影画像の推定用特徴量を算出することによって、画素ごとに推定用特徴量を抽出する。
識別スコア混合手段501は、推定用特徴抽出手段500から推定用特徴量を入力されるとともに、単体識別手段51から識別スコアを入力され、推定用特徴量に識別スコアを混合して新たな特徴量(推定用混合特徴量)を生成し、生成した推定用混合特徴量を推定スコア算出手段502に出力する。
混合は各画素について識別用抽出窓を考慮して行われる。すなわち、識別スコア混合手段501は、各画素について、当該画素について抽出された推定用特徴量に、当該画素に対応する推定用抽出窓内の各画素についての識別用抽出窓にて算出された識別スコアを混合して新たな推定用混合特徴量を生成する。
後述するように識別スコアは撮影画像の画素ごとに算出され、画像データとして扱うことができる。以降、撮影画像の画素ごとに当該画素について算出された識別スコアが並んだデータを識別スコアマップと称する。単体識別手段51からの識別スコアは識別スコアマップの形式で入力される。
また、各推定用抽出窓から抽出された推定用特徴量への識別スコアの混合は、ベクトルである当該推定用特徴量と当該推定用抽出窓内の識別スコアを並べたベクトルを連結することで行われる。
すなわち、識別スコア混合手段501は、各画素について、識別スコアマップから当該画素に対応する推定用抽出窓内の識別スコアを切り出して、切り出した識別スコアと当該画素について抽出された推定用特徴量とを連結して推定用混合特徴量を生成する。
なお、反復処理の初回は識別スコアマップに値が設定されていない状態となるため、識別スコア混合手段501は混合を省略し、推定用混合特徴量として推定用特徴量をそのまま出力する。
推定スコア算出手段502は、密度推定器記憶手段40から密度推定器を読み出し、画素ごとに、当該画素に対応して識別スコア混合手段501から入力された推定用混合特徴量を密度推定器に入力することによってその出力値である推定スコアを取得し、取得した推定スコアを終了判定手段52および推定スコア混合手段511に出力する。
具体的には、推定スコアは上述したように各クラスに対応して得られる4つのスコアであり、推定密度は4つのスコアのうちの最も高いスコアと対応するクラスに付与された値(「背景」、「低密度」、「中密度」、「高密度」のいずれか)である。
上述したように、密度推定器には初回用密度推定器と反復用密度推定器がある。反復の初回に識別スコア混合手段501から入力される推定用混合特徴量は混合を省略したものであるため、推定スコア算出手段502は、反復の初回は混合を省略した形式の特徴量を学習した初回用密度推定器に推定用混合特徴量を入力して推定スコアを取得する。一方、推定スコア算出手段502は、反復の2回目以降は反復用密度推定器に推定用混合特徴量を入力して推定スコアを取得する。
推定スコアも識別スコアと同様、画像データとして扱うことができる。以降、撮影画像の画素ごとに当該画素について算出された推定スコアが並んだデータを推定スコアマップと称する。推定スコア算出手段502は推定スコアを推定スコアマップの形式で出力する。なお、各推定スコアは4つのクラスのスコアからなる。
以下、単体識別手段51が参照する単体識別器記憶手段41、および単体識別手段51が具備する識別用特徴抽出手段510、推定スコア混合手段511および識別スコア算出手段512について説明する。
単体識別器記憶手段41は、画像の特徴量を入力されると当該画像が単独の人が撮影されている画像(単体画像)であることの尤もらしさを表すスコア(識別スコア)を算出するとともに識別スコアを閾値処理して当該画像が単体画像であるか否かを識別して、識別スコア及び識別結果を出力する識別器(単体識別器)の情報、つまりスコア算出関数の係数及び閾値等のパラメータを予め記憶している。
単体識別器は多数の単独画像とそれぞれが人以外しか写っていない多数の無人画像からなる学習用画像の特徴量に線形SVM法で学習した識別器とすることができる。
従前のものに倣えば単体識別器は多数の単独画像とそれぞれが人以外しか写っていない多数の無人画像からなる学習画像の特徴量を学習したものとなるのだが、単体識別器記憶手段41が記憶している単体識別器は、単体画像の特徴量に、単体画像の特徴量を密度推定器に入力して得られる推定スコアを混合した特徴量を学習したものである。この学習により導出された識別スコア算出関数等のパラメータが単体識別器として記憶されている。単体画像の特徴量はHOG(Histograms of Oriented Gradients)特徴量である。
学習アルゴリズムとして線形SVMを用いた場合、スコア算出関数の係数は重みベクトルである。この重みベクトルは、特徴量の各要素に対する重みである。重みベクトルは、当該重みベクトルと特徴量との内積が0より大きい場合は人、0以下の場合は人以外と識別されるように学習において調整され、入力された画像の特徴量と重みベクトルとの内積の値が識別スコアを表す。よって、入力された画像が単体画像であるか否かを識別する閾値は原理上は0であり、通常、閾値は0に設定することができる。ただし、単体画像を単体画像でないと識別する誤りを減じるために、閾値を0よりも小さな値に設定してもよい。
このように単体識別器記憶手段41は、予め、所定物体が存在する空間を撮影した単体画像の特徴量を密度推定器に入力して得られた出力値を当該単体画像の特徴量に混合した特徴量を学習した単体識別器を記憶している。
本実施形態では、単体識別器の学習および識別の際に4種類のスコアからなる推定スコアを混合する。
識別用特徴抽出手段510は、撮影画像から単体識別器用の特徴量(識別用特徴量)を抽出して推定スコア混合手段511に出力する。識別用特徴量は単体識別器が学習した特徴量と同種でありHOG特徴量である。
識別用特徴抽出手段510は、識別用特徴量の抽出を窓(識別用抽出窓)ごとに行い、撮影画像の各画素の位置に識別用抽出窓を設定して識別用特徴量の抽出を行う。また、識別用抽出窓の大きさは単体識別器の学習に用いた学習用画像と同じサイズに設定される。
以上のように、識別用特徴抽出手段510は、撮影画像の各画素の位置に識別用抽出窓を設定し、各識別用抽出窓における撮影画像の識別用特徴量を算出することによって、画素ごとに識別用特徴量を抽出する。
推定スコア混合手段511は、識別用特徴抽出手段510から識別用特徴量を入力されるとともに、推定スコア算出手段502から推定スコアを入力され、識別用特徴量に推定スコアを混合して新たな特徴量(識別用混合特徴量)を生成し、生成した識別用混合特徴量を識別スコア算出手段512に出力する。
混合は各画素について推定用抽出窓を考慮して行われる。すなわち、推定スコア混合手段511は、各画素について、当該画素について抽出された識別用特徴量に、当該画素に対応する識別用抽出窓内の各画素についての推定用抽出窓にて算出された推定スコアを混合して新たな識別用混合特徴量を生成する。
推定スコアは推定スコアマップの形式で入力され、各識別用抽出窓から抽出された識別用特徴量への推定スコアの混合は、ベクトルである当該識別用特徴量と当該識別用抽出窓内の推定スコアを並べたベクトルを連結することで行われる。
以上のように、推定スコア混合手段511は、各画素について、推定スコアマップから当該画素に対応する識別用抽出窓内の推定スコアを切り出して、切り出した推定スコアと当該画素について抽出された識別用特徴量とを連結して識別用混合特徴量を生成する。
識別スコア算出手段512は、単体識別器記憶手段41から単体識別器を読み出し、画素ごとに、当該画素に対応して推定スコア混合手段511から入力された識別用混合特徴量のそれぞれを単体識別器に入力することによってその出力値である識別スコアおよび識別結果を取得する。
また、識別スコア算出手段512は、人画像であるとの識別結果が取得された画素の位置のうち互いに近接する複数の位置を一つにまとめ、まとめた位置を人の位置と判定する。この位置をまとめる処理は、実際に人が撮影されている位置に加えてその近傍においても同一人物に対して高い識別スコアが算出されることに対応するために行う。具体的には、例えば、識別スコア算出手段512は、人画像であるとの識別結果が取得された画素を識別スコアが高い順に順次注目画素に設定するとともに注目画素より識別スコアが低い画素を比較画素に設定する。そして、識別スコア算出手段512は、比較画素のうち当該比較画素に設定された識別用抽出窓と注目画素に設定された識別用抽出窓との重なりが予め定めた割合より大きい比較画素の識別結果を削除することで複数の位置を一つにまとめる。
そして、識別スコア算出手段512は、取得した識別スコアを密度推定手段50(の識別スコア混合手段501)および終了判定手段52に出力するとともに、取得した識別結果から判定した人の位置の情報を終了判定手段52に出力する。なお、上述したように、識別スコア算出手段512は識別スコアを識別スコアマップの形式で出力する。また、識別スコア算出手段512は人の位置の情報として、人画像であるとの識別結果が取得された各画素の位置に人の形状を模したモデルを描画した画像を出力する。人画像であるとの識別結果が取得された画素の位置自体を人の位置の情報としてもよい。
以上のように、識別スコア算出手段512は、各画素について、識別用混合特徴量を単体識別器に入力することによってその出力値を取得して密度推定手段50および終了判定手段52に出力するとともに、出力値から物体の位置(物体位置)を検出して物体位置の情報を終了判定手段52に出力する。識別スコア算出手段512から出力された物体位置の情報は終了判定手段52から物体位置出力手段31に出力される。
物体位置出力手段31は終了判定手段52から入力された物体位置の情報を表示部6に順次出力し、表示部6は物体位置出力手段31から入力された物体位置の情報を表示する。例えば、物体位置の情報は、インターネット経由で送受信され、表示部6に表示される。監視員は、表示された人物検出画像を視認することによって監視空間に混雑が発生している地点を把握し、当該地点に警備員を派遣し或いは増員するなどの対処を行う。
<画像監視装置1の動作>
図3および図4のフローチャートを参照して画像監視装置1の動作を説明する。
画像監視装置1が動作を開始すると、イベント会場に設置されている撮影部2は所定時間おきに監視空間を撮影して撮影画像を順次画像処理部5が設置されている画像解析センター宛に送信する。そして、画像処理部5は撮影画像を受信するたびに図3のフローチャートに従った動作を繰り返す。
まず、通信部3は画像取得手段30として動作し、撮影部2からの撮影画像の受信待ち状態となる。撮影画像を取得した画像取得手段30は当該撮影画像を画像処理部5に出力する(ステップS10)。
撮影画像を入力された画像処理部5は密度推定手段50の推定用特徴抽出手段500として動作し、撮影画像の画素ごとに推定用特徴量を算出する(ステップS20)。推定用特徴量を算出した画像処理部5は密度推定手段50の識別スコア混合手段501として動作し、算出した推定用特徴量を保持する。
続いて、画像処理部5は単体識別手段51の識別用特徴抽出手段510として動作し、撮影画像の画素ごとに識別用特徴量を算出する(ステップS30)。識別用特徴量を算出した画像処理部5は単体識別手段51の推定スコア混合手段511として動作し、算出した識別用特徴量を保持する。
続いて、画像処理部5は終了判定手段52として動作し、反復回数をカウントする変数Cを用意して0に初期化し(ステップS40)、以降、ステップS50からステップS100の処理を、収束条件を満たすまで、またはCが予め定めた回数以上になるまで繰り返す制御を開始する。
反復処理においては、まず、画像処理部5は密度推定手段50の識別スコア混合手段501として動作し、識別スコア混合処理を行う(ステップS50)。
図4のフローチャートを参照し、識別スコア混合処理について説明する。
識別スコア混合手段501は、識別スコアマップの有無を確認するために反復回数Cが0回か否かを判定する(ステップS500)。
反復回数Cが0回の場合(ステップS500にてYES)、識別スコア混合手段501は保持している画素ごとの推定用特徴量をそのまま複製して推定用混合特徴量を作成し(ステップS510)、図3のステップS60へと処理をすすめる。
他方、反復回数が0ではない場合(ステップS500にてNO)、識別スコア混合手段501は識別スコアマップから特徴量を算出する(ステップS520)。本実施形態においては、この処理は、識別スコアマップから各画素に対応する推定用抽出窓内の識別スコアを切り出す処理となる。
続いて、識別スコア混合手段501は、保持している各画素についての推定用特徴量それぞれに対し、同画素についてステップS520にて算出された特徴量を連結することによって推定用混合特徴量を作成し(ステップS530)、図3のステップS60へと処理をすすめる。
再び図3を参照し、画像処理部5は密度推定手段50の推定スコア算出手段502として動作して記憶部4の密度推定器記憶手段40から密度推定器を読み出し、密度推定処理を行う(ステップS60)。推定スコア算出手段502は、密度推定器に各画素の推定用混合特徴量を入力して推定スコアを得ることにより、推定スコアマップを作成する。これにより各画素における「背景」、「低密度」、「中密度」、「高密度」クラスそれぞれの推定スコアと、推定密度が算出される。このとき、反復回数Cが0であれば初回用密度推定器を用い、反復回数Cが0でなければ反復用密度推定器を用いる。
続いて、画像処理部5は推定スコア混合手段511として動作し、識別用混合特徴量を作成する(ステップS70)。推定スコア混合手段511は、推定スコアマップから各画素に対応する識別用抽出窓内の推定スコアを切り出し、当該画素に対応して保持している識別用特徴量に混合する。
続いて、画像処理部5は単体識別手段51の識別スコア算出手段512として動作して記憶部4の単体識別器記憶手段41から単体識別器を読み出し、単体識別処理を行う(ステップS80)。識別スコア算出手段512は、単体識別器に各画素の識別用混合特徴量を入力して識別スコアおよび識別結果を得、識別スコアを得ることにより識別スコアマップを作成するとともに、識別結果のうちの同一物体によるものどうしをまとめて物体位置の情報を作成する。
続いて、画像処理部5は終了判定手段52として動作し、反復回数をインクリメントし(ステップS90)、反復処理を停止するか否かの判定を行う(ステップS100)。
すなわち、終了判定手段52は、画素ごとに、今回と1回前の推定スコアの差の絶対値D1を算出して予め定めた閾値E1と比較し、今回と1回前の識別スコアの差の絶対値D2を算出して予め定めた閾値E2と比較し、さらに反復回数Cを予め定めた上限回数Aと比較する。終了判定手段52は、全ての画素でD1<E1且つD2<E2であれば収束したとして反復処理停止と判定する。または、終了判定手段52は、C≧Aであれば反復回数が上限に達したとして反復処理停止と判定する。ただし、Cが0の場合は収束判定は省略する。
反復処理停止でないと判定した場合(ステップS100にてNO)、終了判定手段52は、処理をステップS50に戻して反復処理を継続させる。
反復処理停止と判定した場合(ステップS100にてYES)、終了判定手段52は、その時点の物体位置の情報を通信部3に出力する。物体位置の情報を入力された通信部3は物体位置出力手段31として動作し、物体位置の情報を表示部6に送信する。
<処理例>
図5〜図8を参照して、本発明の処理例を説明する。
図5は、撮影画像600の一例を模式的に示した図である。領域601に人が密集して混雑状態となっている。
図6は、図5の撮影画像600を従前の単体識別器で走査した結果、得られた識別スコアマップの中で、撮影画像600中の領域601を通る断面abにおける識別スコアの分布700の一例を模式的に示した図である。混雑の中で体の一部しか撮影されていない人物の位置610にて得られた識別スコア710は人画像であるかを識別するための閾値よりも低い。また、全身が撮影されている人物の位置611にて得られた識別スコア711は閾値を超えており、人が検出されるべきではない位置612(本例では頭部中心を基準に識別用抽出窓を設定)にて得られた識別スコア712は閾値よりも十分に低い値となっている。
全身が撮影されている人物の位置611はその識別スコア711が閾値を超えている為、正しく検出できる。しかし、混雑の中で体の一部しか撮影されていない人物の位置610はその識別スコア710が閾値を下回る為検出されない。このように密集している物体については、撮影画像上でその一部が隠蔽されることによって識別スコアが低くなる傾向がある。
図7は、図5の撮影画像600を密度推定器で走査した結果、得られた推定スコアマップの中で、上記断面abにおける高密度クラスの推定スコアの分布800の一例を模式的に示した図である。混雑の中で体の一部しか撮影されていない人物の位置610に設定された推定用抽出窓850内での分布は当該位置610での推定スコア810を含む山型の分布となっている。全身が撮影されている人物の位置611に設定された推定用抽出窓851内での分布は当該位置611での推定スコア811を含む山の無い分布となっている。人が検出されるべきではない位置612に設定された推定用抽出窓852内での分布もまた山の無い分布となっているが、推定用抽出窓851内での分布とは異なり推定スコアの傾斜や推定スコアの分散が小さな分布となっている。
混雑の中で体の一部しか撮影されていない人物の位置610に設定された推定用抽出窓850内での推定スコアの分布は、全身が撮影されている人物など隠蔽状態が異なる位置での推定スコアの分布とも人が検出されるべきではない位置での推定スコアの分布とも異なり、混雑の中で体の一部しか撮影されていない人物の隠蔽状態を表現する特徴量として利用可能であると考えられる。図7では、断面abでの一次元的な分布を示しているが、推定用抽出窓850内での推定スコアの分布は二次元的な分布であり、手前の人による隠蔽状態に加え、左右の人による隠蔽状態をも含めた隠蔽状態を表現する特徴量として利用可能であると考えられる。よって、画像から直接抽出する特徴量だけではなく、このような推定スコアの空間的な分布のパターンをも単体識別器が学習する特徴量、および識別に用いる特徴量に含めることで、混雑の中で体の一部が見えなくなっている人の検出精度を高めることが可能となる。
図8は図5の撮影画像600を本発明の単体識別器で走査した結果、得られた識別スコアマップの中で、上記断面abにおける識別スコアの分布900の一例を模式的に示した図である。混雑の中で体の一部しか撮影されていない人物の位置610にて得られた識別スコア910は閾値を超えるようになり、全身が撮影されている人物の位置611にて得られた識別スコア911および人が検出されるべきではない位置612にて得られた識別スコア912は大きく変わることなく閾値を超えた状態を維持している。
このように、識別スコアと推定スコアの分布の関係を単体識別器に学習させ、物体位置の検出に用いることで、隠蔽の影響の少ない位置での識別スコアを維持しつつ、混雑の中で隠蔽により識別スコアが低下していた位置での識別スコアを効果的に上昇させることができ、物体の位置を精度よく検出することが可能となる。
<変形例>
(1)上記実施形態においては、検出対象の物体を人とする例を示したが、これに限らず、検出対象の物体を車両、鳥や牛等の動物等とすることもできる。
(2)上記実施形態およびその変形例においては、単体識別手段51による識別と密度推定手段50と推定とが繰り返し処理を行う例を示したが、単体識別手段51が密度推定手段50の出力値を1回だけ用いる形態であっても一定の精度向上効果を奏する。
その場合の密度推定器は、識別スコアを混合した特徴量を学習しておく必要がなく、識別スコアを混合した特徴量による識別を行う必要もない。また終了判定手段52も必要がない。すなわち、密度推定器記憶手段40は所定の密度ごとの密度画像の特徴量を学習した密度推定器を記憶し、単体識別器記憶手段41は単独の所定物体が撮影された単体画像の特徴量を密度推定器に入力して得られた出力値を当該単体画像の特徴量に混合した特徴量を学習した単体識別器を記憶している。また、密度推定手段50は撮影画像の特徴量を密度推定器に入力して出力値を取得し、単体識別手段51は撮影画像から単体識別用の特徴量を抽出して当該特徴量に密度推定手段50が取得した出力値を混合し、当該混合した特徴量を単体識別器に入力して取得される出力値を用いて個々の物体の位置を推定して、推定結果を物体位置出力手段31に出力する。
(3)上記実施形態およびその各変形例においては、線形SVM法により学習された単体識別器を例示したが、線形SVM法に代えてアダブースト(AdaBoost)法など、従来知られた各種の学習法を用いて学習した単体識別器とすることもできる。また、識別器の代わりにパターンマッチング器を用いることもでき、その場合の識別スコアは人の学習用画像から抽出した特徴量の平均パターンと入力画像の特徴量との内積などとなり、識別スコア算出関数は当該スコアを出力値とし入力画像の特徴量を入力値とする関数とすることができる。
(4)上記実施形態およびその各変形例においては、反復の2回目以降に反復用密度推定器が用いられる例を示した。この反復用密度推定器を1つではなく2回目用、3回目用、…というように各回について学習しておくことも可能である。
また、例示した単体識別器もまた反復用である。単体識別器もまた2回目用、3回目用、…というように各回について学習しておくことも可能である。
すなわち学習時点で学習用画像に対する反復処理を行って各回の出力値を作成し、各回の出力値を用いて当該回用の反復用密度推定器および単体識別器を学習させ、記憶させておく。そして、撮影画像に対する反復処理の回数に合わせて、推定スコア算出手段502は当該反復回数に対応する反復用密度推定器を用い、識別スコア算出手段512も当該反復回数に対応する単体識別器を用いる。そうすることでさらなる精度改善が期待できる。
(5)上記実施形態およびその各変形例においては、密度推定手段50および単体識別手段51は画素ごとに走査して処理を行う例を示した。これらの走査は画素間隔を空けて行うことも可能である。
(6)上記実施形態およびその各変形例においては、密度推定器が学習する特徴量、推定用特徴抽出手段500が抽出する推定用特徴量としてGLCM特徴を例示したが、これらはGLCM特徴に代えて、局所二値パターン(Local Binary Pattern:LBP)特徴量、ハールライク(Haar-like)特徴量、HOG特徴量、輝度パターンなどの種々の特徴量とすることができ、またはGLCM特徴とこれらのうちの複数を組み合わせた特徴量とすることもできる。
また、単体識別器が学習する特徴量および識別用特徴抽出手段510が抽出する識別用特徴量としてHOG特徴量を例示したが、これらはHOG特徴量に代えて、局所二値パターン特徴量、ハールライク特徴量、GLCM特徴、輝度パターンなどの種々の特徴量とすることができ、またはHOG特徴量とこれらのうちの複数を組み合わせた特徴量とすることもできる。
(7)上記実施形態およびその各変形例においては、識別スコア混合手段501が推定用特徴量に識別スコアそのものを連結する例を示したが混合方法はこれに限らない。識別スコア混合手段501は、推定用抽出窓内の識別スコアの平均値を連結することで混合してもよいし、スコアマップを画像に見立てて推定用抽出窓内の各位置から求めたHOG特徴量、局所二値パターン特徴量、ハールライク特徴量、GLCM特徴などの既存の特徴量を連結することで混合してもよいし、これらの複数を組み合わせたものを連結することで混合してもよい。
推定スコア混合手段511が行う混合方法についても同様であり、推定スコア混合手段511は、識別用抽出窓内の推定スコアの平均値を連結することで混合してもよいし、スコアマップを画像に見立てて識別用抽出窓内の各位置から求めたHOG特徴量、局所二値パターン特徴量、ハールライク特徴量、GCLM特徴などの既存の特徴量を連結することで混合してもよいし、これらの複数を組み合わせたものを連結することで混合してもよい。
(8)上記実施形態およびその各変形例においては、推定スコア混合手段511が識別用特徴量に混合する出力値として推定スコアを例示したが、推定スコア混合手段511は推定スコアに加えて推定密度を混合してもよいし、推定スコアに代えて推定密度を混合することもできる。ただし、その場合、単体識別器記憶手段41には同様の出力値を混合した特徴量を学習した単体識別器が記憶される。
(9)上記実施形態およびその各変形例においては、多クラスSVM法にて学習した密度推定器を例示したが、多クラスSVM法に代えて、決定木型のランダムフォレスト法、多クラスのアダブースト(AdaBoost)法または多クラスロジスティック回帰法などにて学習した密度推定器など種々の密度推定器とすることができる。
また、上記実施形態およびその各変形例においては、密度推定器が推定する密度のクラスを4クラスとしたが、より細かくクラスを分けてもよい。
或いは多クラスに分類する密度推定器に代えて、特徴量から密度の値(推定密度)を回帰する回帰型の密度推定器とすることもできる。すなわち、リッジ回帰法、サポートベクターリグレッション法または回帰木型のランダムフォレスト法などによって、特徴量から推定密度を求めるための回帰関数のパラメータを学習した密度推定器とすることができる。なお、その場合、推定密度混合手段511は識別用特徴量に推定密度を混合し、単体識別器記憶手段41には推定密度を混合した特徴量を学習した単体識別器が記憶される。
(10)上記実施形態およびその各変形例においては、単体識別器、密度推定器において特徴量を計算する窓は画像の至る所で同じサイズとしたが、撮像部2のカメラの設置位置及び撮像方向といった外部パラメータ、撮像部2の焦点距離、画角、レンズ歪みその他のレンズ特性や、撮像素子の画素数といった内部パラメータを考慮して、画像上の位置に応じて窓のサイズを変え、特徴量を計算する前に学習で用いた画像の窓サイズと同じ大きさなどとしてもよい。
(11)上記実施形態およびその各変形例においては、単体識別器は一つを想定していたが複数としてもよい。例えば、本実施例のように立位で全身が写っている人を識別する単体識別器だけではなく、画像中から上半身を識別、顔を識別するものなど、複数の単体識別手段51とそれぞれで用いられる単体識別器の情報が単体識別器記憶手段41に記憶される。
(12)別の変形例においては、密度推定器、または単体識別器にはCNN(Convolutional Neural Network)を用いることもできる。CNNは入力を画像とし、畳み込みやプーリングなどの処理を繰り返し行い最終的に全結合層からなるネットワークで構成される。
CNNを用いた密度推定器は、上記実施形態およびその各変形例と同様に2種類の密度推定器が密度推定器記憶手段40に記憶される。一つは画像のみを用いて推定するCNNによる密度推定器であり、もう一つは画像と単体識別手段51から得られる識別スコアマップを画像と見做し、両者を混合した画像を入力としたCNNによる密度推定器である。また、単体識別器についてCNNを用いる場合も、上記実施形態およびその各変形例と同様に単体識別器が単体識別器記憶手段41に記憶される。これは、画像と密度推定手段50から得られる推定スコアマップを画像と見做し、両者を混合した画像を入力として識別するCNNによる単体識別器である。
推定、識別には、推定用特徴量抽出手段500と識別用特徴抽出手段510は画像取得手段30から入力される撮影画像をそれぞれ推定用特徴量と識別用特徴量として出力する。そして、識別スコア混合手段501と推定スコア混合手段511は、推定スコア算出手段502から得られる推定スコアマップと識別スコア算出手段512から得られる識別スコアマップそれぞれを画像と見做し、撮影画像と混合して推定用混合特徴量、識別用混合特徴量としてそれぞれ出力する。