以下、本発明の実施の形態(以下実施形態という)に係る物体分布推定装置1について、図面に基づいて説明する。
[物体分布推定装置1の構成]
図1は物体分布推定装置1の概略の構成を示すブロック図である。物体分布推定装置1は、撮影部2、通信部3、記憶部4、画像処理部5、操作部6、表示制御部7および表示部8からなる。
撮影部2は、監視カメラであり、通信部3を介して画像処理部5と接続され、所定の物体が混雑し得る所定の空間を所定の時間間隔で撮影して撮影画像を出力する撮影手段である。以下、撮影部2が撮影する部分を対象空間と称する。
例えば、撮影部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と画像処理部5の個数が1対1である物体分布推定装置1を例示するが、別の実施形態においては、撮影部2と画像処理部5の個数を多対1或いは多対多とすることもできる。
[物体分布推定装置1の機能]
図2および図3は物体分布推定装置1の機能を示す機能ブロック図である。そのうち、図2は撮影画像を基にした分布推定処理を行うときの機能ブロック図である。また、図3は分布推定処理に先立って手法マップ作成処理を行うときの機能ブロック図である。
(分布推定処理)
物体分布推定装置1の機能のうち、まず、分布推定処理に関して説明する。分布推定処理を行うとき(図2)、通信部3は画像取得手段30および分布情報出力手段31等として機能し、記憶部4は密度推定器記憶手段40、単体識別器記憶手段41、手法マップ記憶手段42、物体モデル記憶手段43(図2においては不図示)およびカメラパラメータ記憶手段44(図2においては不図示)等として機能し、画像処理部5は密度推定手段50、単体識別手段51、分布推定手段52等として機能する。
これらのうちの密度推定手段50および単体識別手段51のそれぞれは、撮影されている物体の数が異なる複数種類の学習画像それぞれの特徴を予め学習した認識器を用い、撮影画像内の任意の位置に撮影された物体の数を認識する認識手段であり、密度推定手段50と単体識別手段51とは、認識可能な物体の数の範囲が互いに異なる複数の認識器を用いて物体数の当該範囲ごとに設けられた複数の認識手段をなす。例えば、密度推定手段50は、0人/m2の密度、0人/m2より高く2人/m2以下の密度、2人/m2より高く4人/m2以下の密度および4人/m2より高い密度の学習画像を用いて学習した認識器を用い、撮影画像内の任意の位置に設定される領域を窓として、窓内が0人/m2の密度、0人/m2より高く2人/m2以下の密度、2人/m2より高く4人/m2以下の密度および4人/m2より高い密度のいずれであるかを認識する。また例えば、単体識別手段51は0人および1人の学習画像を用いて学習した認識器を用い、窓内が0人および1人のいずれであるかを認識する。つまり、密度推定手段50は物体の数として窓内の物体の密度を認識し、またその範囲の下限は0人/m2である一方、上は4人/m2を超える値にまで及ぶ。これに対し、単体識別手段51が窓内にて認識可能な物体の数の範囲は0および1である。
画像取得手段30は、撮影手段である撮影部2から撮影画像を順次取得して、取得した撮影画像を密度推定手段50および単体識別手段51に順次出力する。
密度推定器記憶手段40は、所定の密度ごとに当該密度にて物体(人)が存在する空間を撮影した密度画像それぞれの画像特徴を学習した推定密度算出関数であって、画像の特徴量を入力されると当該画像に撮影されている物体の密度の推定値(推定密度)を算出し、算出した推定密度を出力する推定器(密度推定器)の情報を予め記憶している。つまり上記推定密度算出関数の係数等のパラメータを密度推定器の情報として予め記憶している。
密度推定手段50は、画像取得手段30から入力された撮影画像の各所から密度推定用の特徴量(推定用特徴量)を抽出するとともに密度推定器記憶手段40から密度推定器を読み出して、抽出した推定用特徴量のそれぞれを密度推定器に入力することによって推定密度の分布(密度分布)を推定し、推定した密度分布を分布推定手段52に出力する。好適には密度推定手段50はさらに密度分布を単体識別手段51にも出力する。
密度推定の処理と密度推定器について具体的に説明する。
密度推定手段50は、撮影画像の各画素の位置に窓(推定用抽出窓)を設定し、各推定用抽出窓における撮影画像から推定用特徴量を抽出する。推定用特徴量はGLCM(Gray Level Co-occurrence Matrix)特徴である。
各推定用抽出窓に撮影されている対象空間内の領域は同一サイズであることが望ましい。そこで、好適には密度推定手段50はこの点に配慮した処理を行う。当該処理に際し、密度推定手段50はカメラパラメータ記憶手段44(図2においては不図示)を利用する。
カメラパラメータ記憶手段44は、撮影部2のカメラパラメータを記憶している。カメラパラメータは、実空間における撮影部2の設置位置および撮影方向といった外部パラメータ、撮影部2の焦点距離、画角、レンズ歪みその他のレンズ特性や、撮像素子の画素数といった内部パラメータを含む情報である。
密度推定手段50はカメラパラメータ記憶手段44から撮影部2のカメラパラメータを読み出し、カメラパラメータを用いたホモグラフィ変換により撮影画像の任意の画素に撮影されている対象空間内の領域が同一サイズとなるように撮影画像を変形してから推定用特徴量を抽出する。
密度推定器は多クラスの画像を識別する識別器で実現することができ、多クラスSVM(Support Vector Machine)法で学習した識別関数とすることができる。
密度は、例えば、人が存在しない「背景」クラス、0人/m2より高く2人/m2以下である「低密度」クラス、2人/m2より高く4人/m2以下である「中密度」クラス、4人/m2より高い「高密度」クラスの4クラスと定義することができる。
推定密度は各クラスに予め付与された値であり、分布推定の結果として出力される値である。本実施形態では各クラスに対応する値を「背景」、「低密度」、「中密度」、「高密度」と表記する。
すなわち、密度推定器は「背景」クラス、「低密度」クラス、「中密度」クラス、「高密度」クラスのそれぞれに帰属する多数の密度画像の特徴量に多クラスSVM法を適用して学習した、各クラスの画像を他のクラスと識別するための識別関数である。この学習により導出された識別関数のパラメータが密度推定器として記憶されている。なお、密度画像の特徴量は、推定用特徴量と同種であり、GLCM特徴である。
密度推定手段50は、各画素に対応して抽出した推定用特徴量のそれぞれを密度推定器に入力することによってその出力値である推定密度を取得する。なお、撮影画像を変形させて推定用特徴量を抽出した場合、密度推定手段50は、カメラパラメータを用いたホモグラフィ変換により密度分布を元の撮影画像の形状に変形させる。
こうして得られた、撮影画像の画素ごとの推定密度の集まりが密度分布である。
密度推定手段50が出力する密度分布から撮影画像の各所における人の粗密状況が分かるが、密度分布から個々の人の位置までは分からない。これに対し、単体識別手段51は、撮影画像の各位置における人の有無を識別することでより詳細な情報(人の位置)を得る手段である。
単体識別器記憶手段41は、単独の人(物体)の画像特徴を学習した識別器(単体識別器)の情報を記憶している。
図4は、予め単体識別器記憶手段41が記憶している単体識別器の情報を模式的に表した図である。
単体識別器は、画像の特徴量を入力されると当該画像が単独の人が撮影されている画像(単体画像)であることの尤もらしさを表す評価値(識別スコア)を算出して出力する評価値算出関数の係数、および識別スコアに対して適用する閾値等のパラメータで表される。
単体識別器は多数の単体画像とそれぞれが人以外しか写っていない多数の無人画像とからなる学習用画像の特徴量に線形SVM法を適用して学習した識別器とすることができる。
学習アルゴリズムとして線形SVMを用いた場合、評価値算出関数の係数は重みベクトルである。この重みベクトルは、特徴量の各要素に対する重みであり、入力された画像の特徴量と重みベクトルとの内積の値が識別スコアを表す。学習において、当該重みベクトルと特徴量との内積が0より大きい場合は人、0以下の場合は人以外と識別されるように調整される。よって、入力された画像が単体画像であるか否かを識別する閾値は原理上は0であり、通常、閾値は0に設定することができる。ただし、単体画像を単体画像でないと識別する誤りを減じるために、閾値を0よりも小さな値に設定してもよい。
なお、学習用画像の特徴量はHOG(Histograms of Oriented Gradients)特徴量である。
単体識別器記憶手段41が記憶している単体識別器は、密度が高いほど単独の物体を構成する部分のうちの少ない部分の画像特徴を学習した識別器となっている。単体識別器記憶手段41は、低密度クラスを表す値と対応付けて単独の人の全身の画像特徴を学習した単体識別器である全身識別器100、中密度クラスを表す値と対応付けて単独の人の上部2/3の画像特徴を学習した単体識別器である上半身識別器101、高密度クラスを表す値と対応付けて単独の人の上部1/3の画像特徴を学習した単体識別器である頭部近傍識別器102を記憶している。
全身識別器100は単独の人の全身が撮影された単体画像を用いて学習した単体識別器であり、上半身識別器101は単独の人の上部2/3が撮影された単体画像(人の全身が撮影された単体画像の上部2/3を切り出した画像など)を用いて学習した単体識別器であり、頭部近傍識別器102は単独の人の上部1/3が撮影された単体画像(人の全身が撮影された単体画像の上部1/3を切り出した画像など)を用いて学習した単体識別器である。
単体識別手段51は、画像取得手段30から入力された撮影画像の各位置から単体識別用の特徴量(識別用特徴量)を抽出するとともに単体識別器記憶手段41から単体識別器を読み出して、抽出した識別用特徴量のそれぞれを単体識別器に入力することによって物体の有無を識別し、各位置における物体の有無を分布推定手段52に出力する。
具体的には単体識別手段51は、まず、撮影画像内に所定間隔にて複数の候補位置を設定する。所定間隔は1画素であり、単体識別手段51は撮影画像の各画素の位置を順次候補位置に設定する。なお候補位置は人の頭部重心を表すものとする。
また、単体識別手段51は、各候補位置に単独の人の上部1/3の形状に定められた窓を設定するとともに密度推定手段50から入力された密度分布を参照し、当該窓内の推定密度を集計する。そして、単体識別手段51は、各候補位置における最多の推定密度を当該候補位置の密度と決定する。
また、単体識別手段51は、各候補位置に当該候補位置の密度に応じた識別用抽出窓を設定し、識別用抽出窓内の撮影画像から識別用特徴量を抽出する。識別用抽出窓は、各密度に応じた単体識別器の学習に用いた単体画像の形状を有し、予め定めた複数の倍率で拡大・縮小した大きさの窓である。すなわち、識別用抽出窓は、候補位置の密度が低密度であれば単独の人の全身の形状に定められた窓であり、中密度であれば単独の人の上部2/3の形状に定められた窓であり、高密度であれば単独の人の上部1/3の形状に定められた窓である。
また、単体識別手段51は、候補位置ごとに当該候補位置の密度に応じた単体識別器を単体識別器記憶手段41から読み出す。すなわち、単体識別手段51は、候補位置の密度が低密度であれば全身識別器を読み出し、中密度であれば上半身識別器を読み出し、高密度であれば頭部近傍識別器を読み出す。そして、単体識別手段51は、各候補位置について、読み出した単体識別器に当該候補位置から抽出した識別用特徴量を入力し、その出力値である識別スコアを当該候補位置の評価値として取得する。
そして、単体識別手段51は、候補位置ごとの密度、評価値を参照し、予め定めた基準を満たす評価値が算出された候補位置を物体が存在する位置、それ以外の候補位置を物体が存在しない位置と決定する。
具体的には、単体識別手段51は、識別スコアがそれに対応する閾値以上である候補位置を抽出し、抽出した候補位置のうち対応する密度が同一であり且つ互いに近接する複数の候補位置を一つにまとめ、まとめた候補位置を人が存在する位置と決定する。
この候補位置をまとめる処理は、実際に人が撮影されている位置に加えてその近傍においても同一人物に対して高い識別スコアが算出されることに対処するために行う。具体的には、例えば、単体識別手段51は、密度ごとに、閾値以上の識別スコアが算出された候補位置を識別スコアが高い順に順次、注目位置に設定するとともに注目位置より識別スコアが低い候補位置を比較位置に設定する。そして、単体識別手段51は、比較位置のうち当該比較位置に設定された識別用抽出窓と注目位置に設定された識別用抽出窓との重なりが予め定めた割合より大きい比較位置の情報を削除することで複数の候補位置を一つにまとめる。
そして、単体識別手段51は、候補位置ごとの物体有無の情報を分布推定手段52に出力する。
手法マップ記憶手段42は、撮影画像内の位置と、複数の認識手段のうちの、当該位置に窓が設定された場合に当該窓内に撮影されている物体の数を予め定めた下限値以上の精度で認識可能な精度保証認識手段とを関連付けた手法マップを記憶する。
図5は、撮影画像およびこれに対応する手法マップの一例を示す模式図であり、図5(a)が撮影画像200を示し、図5(b)が撮影画像200に対応する手法マップ250を表形式で示している。密度推定手段50および単体識別手段51のそれぞれについては、様々な解像度のテスト画像を用いた事前の実験によって、下限値以上の精度で認識できる人の像の解像度の限界(限界解像度)が判明している。また、密度推定手段50および単体識別手段51には、それぞれを識別する符号(認識手段ID)として“A”および“B”が予め付与されている。
図5の例において、撮影画像200中の領域201は、撮影部2から遠方に存在する人が撮影され得る領域である。領域201内の任意の位置に推定用抽出窓を設定した場合、推定用抽出窓内の人の像の解像度は密度推定手段50の限界解像度を下回らないため、密度推定手段50による密度推定結果が下限値以上の精度で得られる。また、領域201内の任意の位置に識別用抽出窓を設定した場合、識別用抽出窓内の人の像の解像度は単体識別手段51の限界解像度を下回り、単体識別手段51による識別結果が下限値以上の精度で得られない。
以上のことに対応して、手法マップ250には、領域201内の画素群の座標[…,(X2,Y2),…]と対応付けて密度推定手段50に付与された符号Aが記憶されている。
また、図5の例において、撮影画像200中の領域202は、撮影部2の近傍に存在する人が撮影され得る領域である。領域202内の任意の位置に推定用抽出窓を設定した場合、推定用抽出窓内の人の像の解像度は密度推定手段50の限界解像度を下回らないため、密度推定手段50による密度推定結果が下限値以上の精度で得られる。また、領域202内の任意の位置に識別用抽出窓を設定した場合、識別用抽出窓内の人の像の解像度は単体識別手段51の限界解像度を下回らないため、単体識別手段51による識別結果が下限値以上の精度で得られる。
以上のことに対応して、手法マップ250には、領域202内の画素群の座標[…,(X3,Y3),…]と対応付けて密度推定手段50に付与された符号Aと単体識別手段51に付与された符号Bとが記憶されている。
分布推定手段52は、複数の認識手段が認識した位置ごとの物体の数のうち、手法マップ記憶手段42に当該位置と関連付けて記憶されている精度保証認識手段が認識した数から対象空間における物体の分布情報を生成し、生成した分布情報を分布情報出力手段31に出力する。
具体的には、分布推定手段52は、密度推定手段50から入力された位置ごとの物体の密度の情報、単体識別手段51から入力された位置ごとの物体の有無の情報、および手法マップ記憶手段42に記憶されている手法マップを参照し、精度保証認識手段が認識した数に基づいて分布画像を生成する。
例えば、分布推定手段52は、手法マップにおいて符号Aおよび符号Bと対応付けられており且つ物体が存在すると認識された画素位置に、当該位置の推定密度に応じた色で着色した物体モデルを投影し、また、手法マップにおいて密度推定手段50を表す符号Aのみと対応付けられている位置の画素の値に、推定密度と対応する色をセットして分布画像を生成する。色は、例えば、推定密度が高密度であれば赤、中密度であれば黄、低密度であれば緑などとすることができる。
この分布画像の生成に際し、分布推定手段52は物体モデル記憶手段43に記憶されている物体モデルを利用する。物体モデル記憶手段43は、予め物体の形状を近似した物体モデルを記憶している。物体モデルは、立位の人の頭部、胴部、脚部に対応する3つの回転楕円体から構成される立体モデルである。ちなみに、頭部重心を人の代表位置とする。なお、立体モデルはより単純化して人全体を1つの回転楕円体で表すものとすることもできるし、より詳細に例えば、人の頭部、胴部、両腕、両脚を別々の回転楕円体で表すものとすることもできる。
物体モデルの投影は、物体モデル記憶手段43から読み出した物体モデルと、カメラパラメータ記憶手段44から読み出したカメラパラメータとを用いて、後述する手法マップ生成処理の投影手段53と基本的に同様にして行われる。
図6は図5の撮影画像200に対応する分布画像の一例を示す模式図である。図5の領域202は上述したように符号Aおよび符号Bが対応付けられており、当該領域に対応して図6には、物体が存在すると認識された画素位置に頭部重心を置いた物体モデルの投影像210〜212が当該画素位置の推定密度に応じた色で描かれる。ここで、各投影像のハッチングは推定密度に応じた色を表しており、投影像210の網掛けは推定密度が高密度であることに対応する色(上述の例では赤色)を表しており、同様に、投影像211の横線ハッチングおよび投影像212の斜線ハッチングは中密度、低密度に対応する色(上述の例ではそれぞれ黄色、緑色)を表している。
図5の領域201は上述したように符号Aのみが対応付けられており、当該領域に対応する図6の領域220の各画素は推定密度に応じた色で表示される。具体的には、領域220内の部分領域221〜223のハッチングは上述の投影像210〜212と共通の色を表しており、部分領域221は高密度、部分領域222は中密度、部分領域223は低密度と推定された領域である。
なお、分布推定手段52は、撮影画像に上記分布画像を透過合成することによって分布画像を生成してもよい。或いは、分布推定手段52は、対象空間の地形や建造物を模した立体モデルの投影像に上記分布画像を透過合成することによって分布画像を生成してもよい。
分布情報出力手段31は、分布推定手段52から入力された分布情報を、表示制御部7経由で表示部8に伝送し、表示させる。
(手法マップ作成処理)
続いて、物体分布推定装置1の機能のうち手法マップ作成処理に関して説明する。手法マップ作成処理を行うとき(図3)、記憶部4は手法マップ記憶手段42、物体モデル記憶手段43、カメラパラメータ記憶手段44、および限界値記憶手段45等として機能し、画像処理部5は投影手段53および適用手法選択手段54等として機能する。なお、手法マップを作成するタイミングは、手法マップが未だ記憶されていないとき、視野変更が行われたとき、または推定希望領域が変更されたときである。推定希望領域は、撮影画像内において監視員が物体分布推定装置1に物体の分布を推定させたいと希望する領域である。監視員が操作部6を用いて推定希望領域を入力すると、当該領域の情報が表示制御部7および通信部3を介して画像処理部5に入力される。
投影手段53は、操作部6を用いて入力された推定希望領域を参照するとともに、物体モデル記憶手段43から物体モデル、カメラパラメータ記憶手段44からカメラパラメータをそれぞれ読み出し、推定希望領域内の各画素位置に物体モデルを投影して投影像を生成し、生成した画素位置ごとの投影像を適用手法選択手段54に出力する。
例えば、投影手段53は、カメラパラメータを用いて、対象空間を模した仮想空間の高さ160cmの水平面において推定希望領域内の各画素位置と対応する3次元位置を導出する。上記の高さ160cmは、上述したように頭部重心を人の代表位置としていることに対応して、対象空間において平均的な人の頭部の高さとして予め定めた数値である。そして、投影手段53は、導出した3次元位置を基準にして仮想空間に物体モデルを配置し、カメラパラメータを用いて、配置した物体モデルを撮影部2の撮影面に投影する。
適用手法選択手段54は、推定希望領域内の各画素位置について、当該画素位置における物体の像の解像度を各認識手段の限界解像度と比較し、物体像の解像度が限界解像度以上である認識手段を精度保証認識手段として選択する。つまり、適用手法選択手段54は、投影手段53から入力された画素位置ごとの投影像の解像度と、限界値記憶手段45に記憶されている複数の認識手段それぞれの限界解像度とを参照して、推定希望領域内の各画素位置における精度保証認識手段を選択して、画素位置と精度保証認識手段との対応関係を手法マップ記憶手段42に記憶させる。
具体的には、解像度は物体の像の画素数によって表すことができる。つまり、物体の像に対応する画素数が多いほど、その像は高解像度である。
この場合、限界解像度に対応する画素数を限界画素数として定義し、限界値記憶手段45には、限界解像度として当該限界画素数を記憶させることができる。また、適用手法選択手段54は、推定希望領域内の各画素位置について、当該画素位置の投影像の画素数を計数する。画素数の計数値が当該画素位置における物体の像の解像度となり、適用手法選択手段54は、当該計数値を各認識手段の限界画素数と比較し、計数値が限界画素数以上である認識手段を精度保証認識手段として選択する。
図7は図5の撮影画像200に対応する手法マップの一例を示す模式図である。この例では、一点鎖線で囲む推定希望領域300に対して手法マップが作成される。投影手段53は、推定希望領域300内の画素群の位置[…,(x1,y1),…,(x2,y2),…,(x3,y3),…]に物体モデルを投影して投影像群[…,投影像310,…,投影像320,…,投影像330,…]を生成する。これら各投影像に対応して適用手法選択手段54は、各投影像の解像度[…,r1,…,r2,…,r3,…]を導出する。限界値記憶手段45には、密度推定手段50に付与された符号Aと対応付けてその限界解像度RA、単体識別手段51に付与された符号Bと対応付けてその限界解像度RBが記憶されている。本例では、画素位置(x1,y1)の投影像310の解像度r1についてr1<RA、r1<RBであり、画素位置(x2,y2)の投影像320の解像度r2についてr2>RA、r2<RBであり、画素位置(x3,y3)の投影像330の解像度r3についてr3>RA、r2>RBであるとする。適用手法選択手段54は、解像度[…,r1,…,r2,…,r3,…]をRAおよびRBのそれぞれと比較し、[…,(x1,y1)の精度保証認識手段は無し,…,(x2,y2)の精度保証認識手段は密度推定手段50,…,(x3,y3)の精度保証認識手段は密度推定手段50および単体識別手段51,…]と判定する。つまり、適用手法選択手段54は、推定希望領域300において画素位置(x1,y1)を含む領域311内の各画素位置については精度保証認識手段は無いと判定する一方、画素位置(x2,y2)を含む領域321内の各画素位置については符合Aとの関連付けを手法マップ記憶手段42に記憶させ、また、画素位置(x3,y3)を含む領域331内の各画素位置については符合Aおよび符号Bとの関連付けを手法マップ記憶手段42に記憶させる。
[物体分布推定装置1の動作]
図8、図9および図10のフロー図を参照して物体分布推定装置1の動作を説明する。
図8は物体分布推定装置1の動作の概略のフロー図である。物体分布推定装置1が動作を開始すると、イベント会場に設置されている撮影部2は所定時間おきに監視空間を撮影して撮影画像を画像処理部5が設置されている画像解析センター宛に順次送信する。そして、画像処理部5は基本的に撮影画像を受信するたびに図8のフロー図に従い、ステップS5〜S10の分布推定処理に関する動作を繰り返す。但し、手法マップを作成する必要がある場合は、ステップS5〜S10の分布推定処理に先行してステップS1〜S4の手法マップ作成処理を行う。
すなわち、操作部6から画像処理部5に推定希望領域の変更指示が入力された場合(ステップS1にて「YES」の場合)、画像処理部5は手法マップ作成処理(ステップS4)を行う。また、物体分布推定装置1の動作開始時のように手法マップがない場合、または撮影部2の視野が変更された場合は(ステップS2にて「YES」の場合)、画像処理部5は例えば、表示部8に推定希望領域の入力を求める表示を行って、操作部6からの推定希望領域の入力を待ち(ステップS3にて「NO」の場合)、推定希望領域が入力されると(ステップS3にて「YES」の場合)、手法マップ作成処理S4を行う。そして、これらの場合、画像処理部5は、手法マップ作成処理S4の後に、ステップS5〜S10の分布推定処理を行う。
一方、推定希望領域の変更がなく、且つ手法マップが既に存在し、且つ視野変更が生じていない場合は(ステップS1およびS2にて「NO」の場合)、画像処理部5は手法マップ作成処理S4を省略してステップS5〜S10の分布推定処理を行う。
図9は手法マップ作成処理S4の概略のフロー図であり、図9を参照しつつ、手法マップ作成処理S4を説明する。
画像処理部5はステップS1またはS3にて推定希望領域が指定されると、投影手段53として動作し、推定希望領域内の各画素を順次、注目位置に設定し(ステップS40)、物体モデル記憶手段43から読み出した物体モデルを、カメラパラメータ記憶手段44から読み出したカメラパラメータに基づいて撮影部2の撮影面に投影する(ステップS41)。次に画像処理部5は適用手法選択手段54として動作し、適用手法選択手段54は、投影手段53により生成された物体の投影像の解像度を算出する(ステップS42)。
適用手法選択手段54は、注目位置における物体数を認識する複数の認識手段それぞれについて、当該位置における物体の投影像の解像度と、当該認識手段の限界解像度とを比較して精度保証認識手段か否かを判断し、精度保証認識手段であれば手法マップに記憶させる。具体的には、本実施形態では認識手段は密度推定器および単体識別器それぞれを用いた2種類であり、それぞれを上述した認識手段IDである符号AおよびBで識別する。
適用手法選択手段54は、限界値記憶手段45から、符号Aと対応付けて記憶されている単体識別器の限界解像度を読み出し、投影像の解像度と当該限界解像度とを比較する。そして、投影像の解像度が限界解像度以上であれば(ステップS43にて「YES」の場合)、単体識別器を注目位置の精度保証認識手段として手法マップ記憶手段42に記憶させる(ステップS44)。一方、投影像の解像度が限界解像度未満であれば(ステップS43にて「NO」の場合)、単体識別器は注目位置の精度保証認識手段とはされずステップS44は省略される。
ステップS43,S44での単体識別器についての精度保証認識手段の判定に続いて、ステップS45,S46にて密度推定器についての精度保証認識手段の判定を同様に行う。つまり、適用手法選択手段54は、限界値記憶手段45から、符号Bと対応付けて記憶されている密度推定器の限界解像度を読み出して、投影像の解像度と比較し、投影像の解像度が限界解像度以上であれば(ステップS45にて「YES」の場合)、密度推定器を注目位置の精度保証認識手段として手法マップ記憶手段42に記憶させ(ステップS46)、一方、投影像の解像度が限界解像度未満であれば(ステップS45にて「NO」の場合)、密度推定器は注目位置の精度保証認識手段とはされずステップS46は省略される。
画像処理部5は推定希望領域内の全画素についてステップS40〜S46の処理を繰り返し(ステップS47にて「NO」の場合)、全画素について完了すると(ステップS47にて「YES」の場合)、図8のステップS5に処理を進める。
ステップS5では、通信部3が画像取得手段30として動作し、撮影部2からの撮影画像の受信待ち状態となる。撮影画像を取得した画像取得手段30は当該撮影画像を画像処理部5に出力する。
撮影画像を入力された画像処理部5は密度推定手段50として動作し、撮影画像から密度分布を推定する(ステップS6)。具体的には、密度推定手段50は、撮影画像における推定希望領域内の各画素を注目位置として、注目位置の推定用特徴量を抽出するとともに記憶部4の密度推定器記憶手段40から密度推定器を読み出し、推定用特徴量を密度推定器に入力して注目位置における推定密度を取得する。
また、画像処理部5は単体識別手段51として動作し、撮影画像から物体有無を識別する(ステップS7)。具体的には、単体識別手段51は、撮影画像における推定希望領域内の各画素を注目位置として、注目位置の識別用特徴量を抽出するとともに、全身識別器100、上半身識別器101および頭部近傍識別器102のうち、ステップS6で得られた注目位置の推定密度に対応する単体識別器を単体識別器記憶手段41から読み出し、当該単体識別器に識別用特徴量を入力して物体有無を識別する。
推定希望領域内の各画素について、ステップS6で得られた推定密度およびステップS7で得られた物体有無は分布推定手段52に入力される。
分布推定手段52は手法マップ記憶手段42に記憶された手法マップを読み出し(ステップS8)、当該手法マップと、入力された推定密度および物体有無とから分布画像を生成する(ステップS9)。
図10は分布画像生成処理S9の概略のフロー図であり、図10を参照しつつ、分布画像生成処理S9を説明する。分布推定手段52は推定希望領域の各画素を遠方画素から順次、注目位置に設定する(ステップS90)。そして、ステップS8にて読み出した手法マップを参照し、注目位置について単体識別手段が精度保証されているかを調べる(ステップS91)。
単体識別手段が精度保証認識手段である場合(ステップS91にて「YES」の場合)、分布推定手段52は、注目位置についてステップS7の識別結果が物体有りであるならば(ステップS92にて「YES」の場合)、注目位置における物体モデルの投影像を描画する(ステップS93)。ここで、図5を用いて説明した本実施形態の分布マップの例では、単体識別手段が精度保証認識手段である画素位置では、密度推定手段も精度保証認識手段である。そこで、ステップS93では描画する投影像を図6を用いて説明したように、ステップS6の推定密度に応じた色で描く。一方、ステップS7の識別結果が物体無しの場合は(ステップS92にて「NO」の場合)、ステップS93は省略される。
単体識別手段が精度保証されていない場合は(ステップS91にて「NO」の場合)、分布推定手段52は手法マップを参照し、注目位置について密度推定手段が精度保証されているかを調べる(ステップS94)。
密度推定手段が精度保証認識手段である場合(ステップS94にて「YES」の場合)、分布推定手段52は、分布画像における注目位置の画素にステップS6の推定密度に応じた色を付与する(ステップS95)。一方、密度推定手段が精度保証されていない場合は(ステップS94にて「NO」の場合)、ステップS95は省略される。
分布推定手段52は推定希望領域内の全画素についてステップS90〜S95の処理を繰り返し(ステップS96にて「NO」の場合)、全画素について完了すると(ステップS96にて「YES」の場合)、図8のステップS10に処理を進める。
なお、ステップS90にて注目位置を遠方画素から順に設定することで、分布画像における隠面消去が塗り重ね法で行われる。
ステップS10では、通信部3が分布情報出力手段31として動作し、分布推定手段52で生成された分布画像を表示制御部7へ出力し、表示制御部7は分布画像を表示部8に表示させる。
[変形例]
(1)上記実施形態においては、物体の像を構成する画素数を当該物体像の解像度と定義したが、物体の像の外接矩形の大きさ(すなわち画素数あるいは面積)、物体の像の高さを基準とする一定のアスペクト比の矩形の大きさ、または、物体の像の幅を基準とする一定のアスペクト比の矩形の大きさを解像度と定義しても等価である。このように定義することでテスト画像の解像度の導出が容易となる。
(2)上記実施形態およびその変形例においては、画素数または面積を物体像の解像度と定義したが、撮影部2およびその撮影倍率が決まっている場合は撮影部2から物体までの距離と解像度との関係が一意に定まるため、当該距離によって解像度を推定することができる。つまり、物体像の解像度を表す値として撮影部2から物体までの距離を用いることができる。
この場合、限界値記憶手段45には限界解像度に対応する距離(限界距離)が記憶される。投影手段53は推定希望領域内の各画素位置と対応する3次元位置を導出して撮影部2から当該3次元位置までの距離を算出し、適用手法選択手段54は投影手段53が算出した距離と限界距離とを比較して精度保証認識手段を選択する。つまり、適用手法選択手段54は、撮影画像内の位置に対して、複数の認識手段のうち、当該位置に撮影される物体についての距離が限界距離以下となるものを精度保証認識手段として選択する。そして、手法マップ記憶手段42は撮影画像内の位置と精度保証認識手段とを関連付けて記憶する。
例えば、投影手段53は撮影画像における位置を対象空間における物体に応じた高さの水平面に逆投影して物体仮想位置を求め、適用手法選択手段54は、撮影画像内の位置に対して、当該位置に対応する物体仮想位置と撮影部2との距離と、複数の認識手段それぞれの限界距離とを比較して、当該位置に関連付ける精度保証認識手段を選出する。
(3)上記実施形態およびその変形例においては、分布推定手段52は、分布情報として分布画像を生成したが、分布情報は画像表現に限らない。例えば、分布推定手段52は、分布マップにて単体識別手段51が精度保証認識手段として対応付けられている画素のうち、撮影画像にて単体識別手段51が物体の存在を認識した画素の位置を撮影部2のカメラパラメータにより対象空間に逆投影して、個々の物体が存在する3次元位置の情報を算出する。また、分布推定手段52は、分布マップにて密度推定手段50が精度保証認識手段として対応付けられている画素については、撮影画像の密度推定した画素を同一推定密度ごとの領域にまとめ、各領域を撮影部2のカメラパラメータにより対象空間に逆投影して各密度の3次元領域の情報を算出する。このようにして分布推定手段52は3次元の分布情報を生成してもよい。また、この場合、密度推定手段50および単体識別手段51の両方が対応付けられている位置に関しては、より詳細である単体識別手段51の情報のみから分布情報を生成してもよい。
(4)上記実施形態およびその変形例においては、検出対象の物体を人とする例を示したが、これに限らず、検出対象の物体を車両、牛や羊等の動物等とすることもできる。
(5)上記実施形態およびその各変形例においては、多クラスSVM法にて学習した密度推定器を例示したが、多クラスSVM法に代えて、決定木型のランダムフォレスト法、多クラスのアダブースト(AdaBoost)法または多クラスロジスティック回帰法などにて学習した密度推定器など種々の密度推定器とすることができる。
或いは識別型のCNN(Convolutional Neural Network)を用いた密度推定器とすることもできる。
(6)上記実施形態およびその各変形例においては、密度推定器が推定する背景以外の密度のクラスを3クラスとしたが、より細かくクラスを分けてもよい。
(7)上記実施形態およびその各変形例においては、多クラスに分類する密度推定器を例示したがこれに代えて、特徴量から密度の値(推定密度)を回帰する回帰型の密度推定器とすることもできる。すなわち、リッジ回帰法、サポートベクターリグレッション法、回帰木型のランダムフォレスト法またはガウス過程回帰(Gaussian Process Regression)などによって、特徴量から推定密度を求めるための回帰関数のパラメータを学習した密度推定器とすることができる。
或いは回帰型のCNNを用いた密度推定器とすることもできる。
(8)上記実施形態およびその各変形例においては、密度推定器が学習する特徴量および推定用特徴量としてGLCM特徴を例示したが、これらはGLCM特徴に代えて、局所二値パターン(Local Binary Pattern:LBP)特徴量、ハールライク(Haar-like)特徴量、HOG特徴量、輝度パターンなどの種々の特徴量とすることができ、またはGLCM特徴とこれらのうちの複数を組み合わせた特徴量とすることもできる。
(9)上記実施形態およびその各変形例においては、密度推定手段50および単体識別手段51が1画素間隔で走査して処理を行う例を示したが、これらの走査を2画素以上の間隔を空けて行うことも可能である。
(10)上記実施形態およびその各変形例においては、線形SVM法により学習された単体識別器を例示したが、線形SVM法に代えてアダブースト(AdaBoost)法など、従来知られた各種の学習法を用いて学習した単体識別器とすることもできる。また、識別器の代わりにパターンマッチング器を用いることもでき、その場合の識別スコアは人の学習用画像から抽出した特徴量の平均パターンと入力画像の特徴量との内積などとなり、識別スコア算出関数は当該スコアを出力値とし入力画像の特徴量を入力値とする関数とすることができる。また単体識別器として識別型のCNNを用いても良い。
(11)上記実施形態およびその各変形例においては、単体識別器が学習する特徴量としてHOG特徴量を例示したが、これらはHOG特徴量に代えて、局所二値パターン特徴量、ハールライク特徴量、輝度パターンなどの種々の特徴量とすることができ、またはHOG特徴量とこれらのうちの複数を組み合わせた特徴量とすることもできる。