【解決手段】画像解析装置は、所定の密度ごとに当該密度にて物体が存在する空間を撮影した密度画像それぞれの画像特徴を学習した密度推定器を用いて、撮影画像に撮影された物体の密度の分布を推定する密度推定手段50と、撮影画像内に個々の物体が存在し得る候補位置を設定するとともに候補位置を基準として撮影画像内に物体を構成する複数の部分のそれぞれと対応する部分領域を設定して、部分領域ごとに当該部分領域と対応する部分の画像特徴が現れている度合いを表す部分評価値を算出し、候補位置を基準に設定した複数の部分領域の部分評価値を当該部分領域の密度が低いほど重視して統合した統合評価値が所定の判定基準を満たす候補位置を物体の位置と判定する物体位置判定手段51を備える。
前記物体位置判定手段は、前記部分領域ごとに当該部分領域における前記密度が低いほど高く当該部分領域における前記密度が高いほど低い重み係数を設定し、前記候補位置を基準に設定した複数の前記部分領域の前記部分評価値を当該部分領域の前記重み係数にて重み付けて総和して前記統合評価値を算出する、請求項1に記載の物体検出装置。
前記物体位置判定手段は、前記候補位置における前記密度が高いほど前記物体を構成する前記部分のうちの少ない部分に対応する前記部分領域を設定する、請求項1または2に記載の物体検出装置。
【発明を実施するための形態】
【0022】
[第一の実施形態]
以下、本発明の実施形態として、イベント会場が撮影された撮影画像から個々の人を検出する物体検出装置の例を含み、検出結果を監視員に対して表示する画像監視装置1の例を説明する。この実施形態に係る画像監視装置1は、特に、物体検出装置が人を模した物体モデルを用いて個々の人を検出し、その際に物体検出装置が物体モデルを構成する複数の部分モデルを用いて個々の人を検出する例を含む。
【0023】
<第一の実施形態に係る画像監視装置1の構成>
図1は画像監視装置1の概略の構成を示すブロック図である。画像監視装置1は、撮影部2、通信部3、記憶部4、画像処理部5、および表示部6からなる。
【0024】
撮影部2は、監視カメラであり、通信部3を介して画像処理部5と接続され、監視空間を所定の時間間隔で撮影して撮影画像を生成し、撮影画像を順次画像処理部5に入力する撮影手段である。例えば、撮影部2は、イベント会場に設置されたポールに当該監視空間を俯瞰する視野を有して設置される。その視野は固定されていてもよいし、予めのスケジュール或いは通信部3を介した外部からの指示に従って変更されてもよい。また、例えば、撮影部2は監視空間をフレーム周期1秒で撮影してカラー画像を生成する。カラー画像の代わりにモノクロ画像を生成してもよい。
【0025】
通信部3は、通信回路であり、その一端が画像処理部5に接続され、他端が同軸ケーブルまたはLAN(Local Area Network)、インターネットなどの通信網を介して撮影部2および表示部6と接続される。通信部3は、撮影部2から撮影画像を取得して画像処理部5に入力し、画像処理部5から入力された検出結果を表示部6に出力する。
【0026】
記憶部4は、ROM(Read Only Memory)、RAM(Random Access Memory)等のメモリ装置であり、各種プログラムや各種データを記憶する。記憶部4は、画像処理部5と接続されて画像処理部5との間でこれらの情報を入出力する。
【0027】
画像処理部5は、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、MCU(Micro Control Unit)等の演算装置で構成される。画像処理部5は、記憶部4と接続され、記憶部4からプログラムを読み出して実行することにより各種処理手段・制御手段として動作し、各種データを記憶部4に記憶させ、読み出す。また、画像処理部5は、通信部3を介して撮影部2および表示部6とも接続され、通信部3経由で撮影部2から取得した撮影画像を解析することにより個々の人を検出し、検出結果を通信部3経由で表示部6に表示させる。
【0028】
表示部6は、液晶ディスプレイ又はCRT(Cathode Ray Tube)ディスプレイ等のディスプレイ装置であり、通信部3を介して画像処理部5と接続され、画像処理部5による検出結果を表示する表示手段である。監視員は表示された検出結果を視認して混雑の発生等を判断し、必要に応じて人員配置の変更等の対処を行う。
【0029】
なお、本実施形態においては、撮影部2と画像処理部5の個数が1対1である画像監視装置1を例示するが、別の実施形態においては、撮影部2と画像処理部5の個数を多対1或いは多対多とすることもできる。
【0030】
<第一の実施形態に係る画像監視装置1の機能>
図2および
図3は画像監視装置1の機能を示す機能ブロック図である。通信部3は画像取得手段30および物体位置出力手段31等として機能し、記憶部4は密度推定器記憶手段40および単体特徴記憶手段41等として機能する。画像処理部5は、密度推定手段50および物体位置判定手段51等として機能する。また、単体特徴記憶手段41は物体モデル記憶手段410aおよび重み記憶手段412aとしての機能を含み、物体位置判定手段51は配置生成手段510a、モデル画像生成手段512a、評価値算出手段514aおよび最適配置決定手段516aとしての機能を含む。
【0031】
画像取得手段30は、撮影手段である撮影部2から撮影画像を順次取得して、取得した撮影画像を密度推定手段50および物体位置判定手段51に順次出力する。
【0032】
密度推定器記憶手段40は、所定の密度ごとに当該密度にて物体(人)が存在する空間を撮影した密度画像それぞれの画像特徴を学習した推定密度算出関数であって、画像の特徴量を入力されると当該画像に撮影されている物体の密度の推定値(推定密度)を算出し、算出した推定密度を出力する推定器(密度推定器)の情報を予め記憶している。つまり上記推定密度算出関数の係数等のパラメータを密度推定器の情報として予め記憶している。
【0033】
密度推定手段50は、画像取得手段30から入力された撮影画像の各所から密度推定用の特徴量(推定用特徴量)を抽出するとともに密度推定器記憶手段40から密度推定器を読み出して、抽出した推定用特徴量のそれぞれを密度推定器に入力することによって推定密度の分布(密度分布)を推定し、推定した密度分布を物体位置判定手段51に出力する。
【0034】
密度推定の処理と密度推定器について具体的に説明する。
【0035】
密度推定手段50は、撮影画像の各画素の位置に窓(推定用抽出窓)を設定し、各推定用抽出窓における撮影画像から推定用特徴量を抽出する。推定用特徴量はGLCM(Gray Level Co-occurrence Matrix)特徴である。
【0036】
各推定用抽出窓に撮影されている監視空間内の領域は同一サイズであることが望ましい。すなわち、好適には密度推定手段50は不図示のカメラパラメータ記憶手段から予め記憶されている撮影部2のカメラパラメータを読み出し、カメラパラメータを用いたホモグラフィ変換により撮影画像の任意の画素に撮影されている監視空間内の領域が同一サイズとなるように撮影画像を変形してから推定用特徴量を抽出する。
【0037】
密度推定器は多クラスの画像を識別する識別器で実現することができ、多クラスSVM(Support Vector Machine)法で学習した識別関数とすることができる。
【0038】
密度は、例えば、人が存在しない「背景」クラス、0人/m
2より高く2人/m
2以下である「低密度」クラス、2人/m
2より高く4人/m
2以下である「中密度」クラス、4人/m
2より高い「高密度」クラスの4クラスと定義することができる。
【0039】
推定密度は各クラスに予め付与された値であり、分布推定の結果として出力される値である。本実施形態では各クラスに対応する値を「背景」「低密度」「中密度」「高密度」と表記する。
【0040】
すなわち、密度推定器は「背景」クラス、「低密度」クラス、「中密度」クラス、「高密度」クラスのそれぞれに帰属する多数の画像(密度画像)の特徴量に多クラスSVM法を適用して学習した、各クラスの画像を他のクラスと識別するための識別関数である。この学習により導出された識別関数のパラメータが密度推定器として記憶されている。なお、密度画像の特徴量は、推定用特徴量と同種であり、GLCM特徴である。
【0041】
密度推定手段50は、各画素に対応して抽出した推定用特徴量のそれぞれを密度推定器に入力することによってその出力値である推定密度を取得する。なお、撮影画像を変形させて推定用特徴量を抽出した場合、密度推定手段50は、カメラパラメータを用いたホモグラフィ変換により密度分布を元の撮影画像の形状に変形させる。
【0042】
こうして得られた、撮影画像の画素ごとの推定密度の集まりが密度分布である。
【0043】
密度推定手段50が出力する密度分布から撮影画像の各所における人の粗密状況が分かるが、密度分布から個々の人の位置までは分からない。
これに対し、密度推定手段50の後段の物体位置判定手段51は、撮影画像に現れている個々の人の位置を判定する手段である。
【0044】
物体位置判定手段51は、単独の人(物体)としての画像特徴が現れている箇所を撮影画像上で探索することにより個々の物体を検出して個々の物体の位置を判定する。すなわち、物体位置判定手段51は、撮影画像内に個々の物体が存在し得る候補位置を設定して当該候補位置の撮影画像に単独の物体の画像特徴(単体特徴)が現れている度合いを表す評価値(統合評価値)を算出し、統合評価値が所定値以上である候補位置を物体の位置と判定する。例えば、単体特徴は人の形状であり、単体特徴記憶手段41が予め単体特徴を記憶している。また例えば、統合評価値は撮影画像のエッジと人の形状を表すモデルとの類似度である。統合評価値は物体を構成する複数の部分それぞれに対する評価値(部分評価値)を統合した評価値である。
【0045】
ここで、混雑が生じ得る空間が撮影された撮影画像においては、密度が高い領域ほど隠蔽が生じやすくなるため評価値の信頼性は低いと考えられる。その逆に、密度が低い領域ほど隠蔽は生じにくく評価値の信頼性は高いと考えられる。また、混雑が生じ得る空間が撮影された撮影画像においては、密度の境目に存在している物体のようにその信頼性の高い部分と低い部分が混在する物体も多々含まれ得る。
【0046】
そこで、物体位置判定手段51は、物体全体を一様に評価するのではなく、密度分布を参照して物体の部分ごとに密度に応じた重み付けを行うことによって物体の検出精度を向上させる。
すなわち、物体位置判定手段51は、撮影画像内に個々の物体が存在し得る候補位置を設定するとともに候補位置を基準として撮影画像内に物体を構成する複数の部分のそれぞれと対応する部分領域を設定して、部分領域ごとに当該部分領域と対応する部分の画像特徴が現れている度合いを表す部分評価値を算出し、候補位置を基準に設定した各部分領域の部分評価値を当該部分領域の密度が低いほど重視して統合した統合評価値が所定の判定基準を満たす候補位置を物体の位置と判定する。より具体的には、物体位置判定手段51は、前記部分領域ごとに当該部分領域における密度が低いほど高く当該部分領域における密度が高いほど低い重み係数を設定し、候補位置を基準に設定した複数の部分領域の部分評価値を当該部分領域の重み係数にて重み付けて総和して統合評価値を算出する。
【0047】
また、密度が高い領域ほど重度の隠蔽が生じる可能性は高くなり、隠れている部分についても評価を行うと誤評価が生じる機会を増加させ、物体の検出精度を低下させることにつながる。例えば、撮影部2が俯瞰設置されている場合は、足元に近いほど隠蔽は発生しやすく、頭に近いほど隠蔽は発生しにくい。このことを考慮し、混雑に適応させるべく単体特徴を人の頭部だけにすると混雑時の検出し損ねは減少する。しかし、頭部だけの単体特徴は肩などに対しても比較的高い統合評価値が算出されてしまうため、混雑していないときの誤検出が増加する。
【0048】
物体位置判定手段51は、密度分布を参照することによって、このような評価する部分の多寡と個々の物体の検出精度との間に存在するトレードオフを解消する。すなわち、物体位置判定手段51は、候補位置における密度が高いほど物体を構成する部分のうちの少ない部分に対応する部分領域を設定する。つまり、物体位置判定手段51は、候補位置における密度が高いほど、物体を構成する部分のうちの少ない部分の画像特徴を評価して統合評価値を算出する。例えば、物体位置判定手段51は、候補位置の推定密度が低密度であれば全身の画像特徴を評価して統合評価値を算出し、中密度であれば上半身の画像特徴を評価して統合評価値を算出し、高密度であれば頭部近傍の画像特徴を評価して統合評価値を算出する。
【0049】
以下、個々の物体の検出と単体特徴について説明する。
【0050】
単体特徴記憶手段41は、単独の人(物体)の形状を模した物体モデルの情報を予め記憶した物体モデル記憶手段410a、および評価値の算出において用いる重みの情報を予め記憶した重み記憶手段412aとして機能し、物体モデルの情報および重みの情報を単体特徴として記憶している。
【0051】
図4〜
図6は単体特徴記憶手段41が記憶している単体特徴を模式的に表した図である。そのうちの
図4はおよび
図5は物体モデル記憶手段410aが記憶している物体モデルの情報の一例であり、
図6は重み記憶手段412aが記憶している重み(重み係数の比率)の一例である。
【0052】
物体モデル記憶手段410aが記憶している物体モデルは、具体的には立位の人の頭部、胴部、脚部に対応する3つの回転楕円体から構成される立体モデル700である。なお頭部重心を人の代表位置とする。さらに物体モデル記憶手段410aは、立体モデル700と併せて、密度ごとの評価範囲702を記憶し、また立体モデル700を撮影画像の座標系に投影するために撮影部2のカメラパラメータ701を記憶している。カメラパラメータ701は、実際の監視空間における撮影部2の設置位置及び撮像方向といった外部パラメータ、撮影部2の焦点距離、画角、レンズ歪みその他のレンズ特性や、撮像素子の画素数といった内部パラメータを含む情報である。
【0053】
評価範囲702は、複数の部分に分けて密度ごとに設定され、密度が高いほど単独の物体を構成する部分のうちの少ない部分となっている。
具体的には物体モデル記憶手段410aは、低密度クラスを表す値と対応付けて人の6つの部分「上1/3、左1/2」、「上1/3、右1/2」、「中1/3、左1/2」、「中1/3、右1/2」、「下1/3、左1/2」および「下1/3、右1/2」を表す評価範囲を記憶している。これら6つの部分を合わせると人の「全体」となる。
また物体モデル記憶手段410aは、中密度クラスを表す値と対応付けて人の4つの部分「上1/3、左1/2」、「上1/3、右1/2」、「中1/3、左1/2」および「中1/3、右1/2」を表す評価範囲を記憶している。これら4つの部分を合わせると人の「上部2/3」となる。
また物体モデル記憶手段410aは、高密度クラスを表す値と対応付けて人の4つの部分「上1/3、左1/2」および「上1/3、右1/2」を表す評価範囲を記憶している。これら2つの部分を合わせると人の「上部1/3」となる。
【0054】
以下、評価範囲「上1/3、左1/2」と立体モデル700とカメラパラメータ701との組み合わせによって表される物体モデル710を左上部モデル、評価範囲「上1/3、右1/2」と立体モデル700とカメラパラメータ701との組み合わせによって表される部分モデル711を右上部モデル、評価範囲「中1/3、左1/2」と立体モデル700とカメラパラメータ701との組み合わせによって表される部分モデル712を左中部モデル、評価範囲「中1/3、右1/2」と立体モデル700とカメラパラメータ701との組み合わせによって表される部分モデル713を右中部モデル、評価範囲「下1/3、左1/2」と立体モデル700とカメラパラメータ701との組み合わせによって表される部分モデル714を左下部モデル、評価範囲「下1/3、右1/2」と立体モデル700とカメラパラメータ701との組み合わせによって表される部分モデル715を右下部モデルと称する。また評価範囲「全体」と立体モデル700とカメラパラメータ701との組み合わせによって表される物体モデル720を全身モデル、評価範囲「上部2/3」と立体モデル700とカメラパラメータ701との組み合わせによって表される物体モデル721を上半身モデル、評価範囲「上部1/3」と立体モデル700とカメラパラメータ701との組み合わせによって表される物体モデル722を頭部近傍モデルと称する。
【0055】
このように、物体モデル記憶手段410aは、低密度クラスと対応付けて左上部モデル710、右上部モデル711、左中部モデル712、右中部モデル713、左下部モデル714および右下部モデル715からなる全身モデル720を、中密度クラスと対応付けて左上部モデル710、右上部モデル711、左中部モデル712および右中部モデル713からなる上半身モデル721を、高密度クラスと対応付けて左上部モデル710および右上部モデル711からなる頭部近傍モデル722を物体モデルの情報として記憶している。
なお、部分モデルとして描画されるのは、物体の形状を表す輪郭線(
図5の実線部)である。
【0056】
重みは、物体の各部分と対応する部分領域の密度に応じて当該部分を重視する度合いであり、密度間の相対的な比率で表される。密度が低い部分ほど重視され密度が高い部分ほど軽視されるため、密度が低いほど高く密度が高いほど低い重みが設定されている。例えば、低密度、中密度および高密度の重みは比率10:7:5とすることができる。なお部分領域の密度の決定に際しては背景クラスは低密度クラスとみなすことができる。
【0057】
このように重み記憶手段412aは、密度が低いほど高く密度が高いほど低い、密度ごとの重みを記憶している。
【0058】
配置生成手段510aは、それぞれが1以上の候補位置を含む互いに異なる複数通りの配置を生成し、生成した各配置をモデル画像生成手段512aに出力する。
【0059】
そのために、配置生成手段510aは、乱数に基づき撮影画像の画素のうち推定密度が低密度、中密度または高密度である画素の中から1個以上上限個数以下の個数(配置数)の画素をランダムに決定し、決定した各画素の位置を候補位置とすることで配置を生成する。配置生成手段510aは、この生成を、配置数を順次増加させながら配置数ごとに予め定めた回数ずつ反復することによって、互いに異なる複数通りの配置を生成する。なお、配置数の上限個数は監視空間に存在し得る物体の数の上限とすることができ、例えば監視空間を模した仮想空間中に立位の人の立体モデルを重ならずに配置可能な数として算出できる。
【0060】
モデル画像生成手段512aは、配置生成手段510aから入力された複数通りの配置それぞれについて、各候補位置を基準とする複数の部分のそれぞれと対応する部分領域に、当該部分を模した部分モデルを描画してモデル画像を生成する。またその際に、モデル画像生成手段512aは、各候補位置に、当該候補位置における密度が高いほど、単独の物体を構成する部分のうちの少ない部分を模した物体モデルを描画してモデル画像を生成し、生成した各モデル画像を評価値算出手段514aに出力する。
【0061】
そのために、モデル画像生成手段512aは、物体モデル記憶手段410aからカメラパラメータを読み出し、配置ごとに、カメラパラメータを用いて、各候補位置を立体モデルの頭部重心の高さ(例えば1.5m)の水平面に逆投影することで、当該候補位置に投影される立体モデルの、監視空間を模した仮想空間内における代表位置を算出する。
【0062】
また、モデル画像生成手段512aは、物体モデル記憶手段410aから頭部近傍モデルを読み出して各候補位置と対応する仮想空間内の代表位置に頭部近傍モデルを配置し、カメラパラメータを用いて頭部近傍モデルを撮影画像の座標系に投影する。そして、モデル画像生成手段512aは、密度推定手段50から入力された密度分布を参照して各候補位置に対応する頭部近傍モデルの投影領域内の推定密度を集計し、各候補位置における最多の推定密度(ただし背景クラスは除く)を当該候補位置の密度と決定する。
【0063】
また、モデル画像生成手段512aは、候補位置ごとに当該候補位置の密度に応じた物体モデルを物体モデル記憶手段410aから読み出す。具体的には、モデル画像生成手段512aは、候補位置の密度が低密度であれば6つの部分モデルからなる全身モデルを読み出し、中密度であれば4つの部分モデルからなる上半身モデルを読み出し、高密度であれば2つの部分モデルからなる頭部近傍モデルを読み出す。そして、モデル画像生成手段512aは、各配置について、各候補位置に対応して読み出した物体モデルを当該候補位置と対応する仮想空間内の代表位置に配置し、カメラパラメータを用いて各物体モデルを為す部分モデルそれぞれを撮影画像の座標系に投影し、物体の形状(輪郭線)を描画することによって、配置ごとのモデル画像を生成する。
なお、モデル画像生成手段512aは、撮影部2からの距離が遠い代表位置に配置した物体モデルから順に投影し、投影領域を上書きすることによって、物体モデル間の隠蔽を表現したモデル画像を生成する。
【0064】
また、モデル画像生成手段512aは、配置ごとに、モデル画像における物体モデルどうしの重なり度合いを表す隠蔽度を次式に従って算出する。
隠蔽度=物体モデル間の重複領域の面積/物体モデルの投影領域の和領域の面積(1)
【0065】
また、モデル画像生成手段512aは、各モデル画像と対応して、当該モデル画像における各部分領域について当該部分領域の推定密度に応じた重み係数を算出する。
【0066】
そのために、モデル画像生成手段512aは、密度分布を参照して各部分領域内の推定密度を集計し、各部分領域における最多の推定密度を当該部分領域の密度と決定する。ただし背景クラスは低密度クラスとみなして集計する。
次にモデル画像生成手段512aは、重み記憶手段412aから各部分領域の密度に対応する重み(重み係数の比率)を読み出し、配置ごとに全部分領域の重みの和を求める。
続いてモデル画像生成手段512aは、配置ごとに、各部分領域の重みを重みの和で除して、当該部分領域の重み係数を算出する。すなわち各配置における重み係数の和は1となるように正規化される。
【0067】
モデル画像生成手段512aは、こうして求めた配置とモデル画像と隠蔽度と重み係数とを対応付けて評価値算出手段514aに出力する。
【0068】
図7は、第一の実施形態に係る密度推定手段50、配置生成手段510aおよびモデル画像生成手段512aによる処理例を模式的に示した図である。
画像740は、密度推定手段50が推定した密度分布を画像化したものである。当該密度分布においては、白抜き部は推定密度が背景である領域、横線部は推定密度が低密度である領域、斜線部は推定密度が中密度である領域、格子部は推定密度が高密度である領域をそれぞれ示している。
画像741は、配置生成手段510aが生成した配置に含まれる8個の候補位置を撮影画像の座標系に×印でプロットしたものである。
3次元モデル742は、モデル画像生成手段512aが画像741に示した8個の候補位置と対応する仮想空間内の代表位置に立体モデルを配置した様子を図示したものである。
画像743は、モデル画像生成手段512aが、画像740で示した密度分布に基づいて各候補位置の密度を特定し、当該密度に応じた評価範囲の立体モデルを各候補位置に投影して作成したモデル画像を示している。
【0069】
モデル画像743が表す配置においては、1個の部分領域(集団中の中段右の人の左中部)が完全に隠蔽されており、33個の部分領域が描画されている。33個の部分領域の内訳は、密度が低密度または背景であるものが23個、密度が中密度であるものが6個、密度が高密度であるものが4個である。モデル画像743が表す配置の全部分領域についての重み係数比率の和は、10×23+7×6+5×4=292となる。33個の部分領域のうちの部分領域744の密度は低密度、部分領域745は中密度、部分領域746は高密度である。部分領域744の重み係数は10/292、部分領域745の重み係数は7/292、部分領域746の重み係数は5/292となる。他の部分領域についても同様にして重み係数が算出される。
【0070】
図8の画像750は、モデル画像743の各部分領域に対応してモデル画像生成手段512aが算出した重み係数を模式的に示した画像である。
【0071】
評価値算出手段514aは、複数通りの配置それぞれについて、モデル画像生成手段512aから入力されたモデル画像の撮影画像に対する類似の度合いを表す統合評価値を算出し、配置ごとの統合評価値を最適配置決定手段516aに出力する。
【0072】
具体的には、評価値算出手段514aは、各モデル画像と撮影画像の重み付け類似度を次式に従って算出する。
重み付け類似度 = 重み付け形状適合度 − W
Ha×隠蔽度 (2)
ただし、W
Haは0より大きな重み係数であり、事前の実験に基づいて予め設定される。重み付け形状適合度から減じる隠蔽度は過剰な物体モデルの重なりを抑制するためのペナルティ値である。このように隠蔽度を含めた類似度に基づいて最適配置を決定することで、本来の物体数以上の物体モデルが当てはまることによる物体位置の誤検出を防止できる。
【0073】
評価値算出手段514aは、重み付け形状適合度を、モデル画像と撮影画像との部分領域ごとの形状適合度を当該部分領域の重み係数で重み付けて総和して算出する。部分領域ごとの形状適合度が部分評価値である。形状適合度はエッジの類似度とすることができる。評価値算出手段514aは、各モデル画像と撮影画像のそれぞれからエッジを抽出し、各モデル画像について、モデル画像から有効なエッジが抽出された画素と当該画素に対応する撮影画像の画素のエッジとの差の絶対値を算出して総和し、総和値を撮影画像から有効なエッジが抽出された画素数とモデル画像から有効なエッジが抽出された画素数の和で除して符号を反転した値を重み付け形状適合度として算出する。
【0074】
或いは、評価値算出手段514aは、各モデル画像と撮影画像のそれぞれからエッジ画像を生成し、各モデル画像について、撮影画像から生成したエッジ画像と当該モデル画像から生成したエッジ画像とのチャンファーマッチング(Chamfer Matching)を行って得られる距離の符号を反転した値を、撮影画像から有効なエッジが抽出された画素数とモデル画像から有効なエッジが抽出された画素数の和で除して、当該モデル画像の重み付け形状適合度とすることもできる。
【0075】
最適配置決定手段516aは、評価値算出手段514aから入力された配置ごとの統合評価値を参照し、統合評価値が最大の配置における候補位置を物体の位置と決定し、決定した物体位置の情報を物体位置出力手段31に出力する。すなわち、最適配置決定手段516aは、最大の類似度が算出された配置に含まれる各候補位置を撮影画像に撮影されている各人の位置と決定する。
例えば、最適配置決定手段516aは、監視員が視認し易いよう、各物体位置に物体モデルを当該物体位置の密度に応じて色分けして描画して物体位置の情報を生成し、出力する。または、物体位置の情報は物体位置の座標値そのものとすることもでき、物体位置の情報は、描画した各物体モデルの、他の物体モデルと重複していない領域とすることもできる。或いは、物体位置の情報は、上述したデータのうちの2以上を含んだデータとしてもよい。
【0076】
物体位置出力手段31は物体位置判定手段51から入力された物体位置の情報を表示部6に順次出力し、表示部6は物体位置出力手段31から入力された物体位置の情報を表示する。例えば、物体位置の情報は、インターネット経由で送受信され、表示部6に表示される。監視員は、表示された情報を視認することによって監視空間に混雑が発生している地点を把握し、当該地点に警備員を派遣し或いは増員するなどの対処を行う。
【0077】
<第一の実施形態に係る画像監視装置1の動作>
図9〜
図11のフローチャートを参照して画像監視装置1の動作を説明する。
【0078】
画像監視装置1が動作を開始すると、イベント会場に設置されている撮影部2は所定時間おきに監視空間を撮影して撮影画像を画像処理部5が設置されている画像解析センター宛に順次送信する。そして、画像処理部5は撮影画像を受信するたびに
図9のフローチャートに従った動作を繰り返す。
【0079】
まず、通信部3は画像取得手段30として動作し、撮影部2からの撮影画像の受信待ち状態となる。撮影画像を取得した画像取得手段30は当該撮影画像を画像処理部5に出力する(ステップS1)。
【0080】
撮影画像を入力された画像処理部5は密度推定手段50として動作し、撮影画像から密度分布を推定する(ステップS2)。密度推定手段50は、撮影画像の各画素の位置にて推定用特徴量を抽出するとともに記憶部4の密度推定器記憶手段40から密度推定器を読み出し、各推定用特徴量を密度推定器に入力して撮影画像の各画素における推定密度を取得することにより密度分布を推定する。
【0081】
密度分布を推定した画像処理部5は物体位置判定手段51としても動作し、物体位置判定手段51には画像取得手段30から撮影画像が入力されるとともに密度推定手段50から密度分布が入力される。これらを入力された物体位置判定手段51は、密度分布に背景クラス以外の推定密度が含まれているか否かを確認する(ステップS3)。
【0082】
背景クラス以外の推定密度が含まれている場合は(ステップS3にてYES)、物体位置判定手段51は、少なくとも1人以上の人が撮影されているとして、撮影画像から個々の物体の位置を判定する処理を行う(ステップS4)。他方、背景クラスのみの場合は(ステップS3にてNO)、人が撮影されていないとして、ステップS4,S5の処理を省略する。
【0083】
図10および
図11のフローチャートを参照して、ステップS4の物体位置判定処理を説明する。単体特徴記憶手段41が物体モデル記憶手段410aおよび重み記憶手段412aとして動作し、物体位置判定手段51が配置生成手段510a、モデル画像生成手段512a、評価値算出手段514aおよび最適配置決定手段516aとして動作して、物体位置判定処理が実行される。
【0084】
配置生成手段510aは、1から上限個数以下の範囲で配置数を順次設定して(ステップS100)、ステップS100〜S117のループ処理を制御する。
【0085】
また、配置生成手段510aは、反復回数をカウントするための変数Tを用意してTを0に初期化し(ステップS101)、ステップS102〜S116の反復処理を開始する。
【0086】
次に、配置生成手段510aは、密度推定手段50から入力された密度分布において推定密度が低密度、中密度または高密度の領域内に、ステップS100にて設定した配置数と同数の候補位置をランダムに設定することによって、当該配置数におけるT通り目の配置を生成し、モデル画像生成手段512aに出力する(ステップS102)。
【0087】
モデル画像生成手段512aは、物体モデル記憶手段410aからカメラパラメータを読み出し、カメラパラメータを用いて、ステップS102で生成した配置に含まれる各候補位置を仮想空間の三次元座標に変換する(ステップS103)。
【0088】
次に、モデル画像生成手段512aは、撮影画像と同サイズのモデル画像を用意して初期化するとともに、各候補位置の三次元座標の撮影部2までの距離を算出し、距離が遠い候補位置から順に処理対象に設定して(ステップS104)、ステップS104〜S110のループ処理を実行する。
【0089】
続いて、モデル画像生成手段512aは密度分布を参照して処理対象の候補位置の密度を特定する(ステップS105)。モデル画像生成手段512aは、物体モデル記憶手段410aから頭部近傍モデルを読み出して当該候補位置の三次元座標に配置し、カメラパラメータを用いて、頭部近傍モデルを撮影画像の座標系に投影し、投影領域内で最多の推定密度(ただし背景クラス以外)を候補位置の密度として特定する。
【0090】
続いて、モデル画像生成手段512aは、ステップS105で特定した密度に対応する物体モデルを物体モデル記憶手段410aから読み出して(ステップS106)、処理対象の候補位置の三次元座標に配置し、カメラパラメータを用いて、配置した物体モデルをモデル画像に上書き投影する(ステップS107)。また、このとき、モデル画像生成手段512aは物体モデルの投影面積を記録しておく。
物体モデルは複数の部分モデルから構成されており、これら複数の部分モデルにおける物体の輪郭がモデル画像中の候補位置を基準とする各位置に上書き投影される。各部分の部分モデルを投影した投影領域が当該部分の部分領域である。モデル画像生成手段512aは、候補位置と部分の組み合わせに識別番号を付与し、当該部分と対応する部分領域の画素値に、投影した部分の識別番号を部分モデルにおける物体の輪郭の強度値とともに設定する。
【0091】
続いて、モデル画像生成手段512aは密度分布を参照して各部分領域の密度を特定する(ステップS108)。モデル画像生成手段512aは、各部分領域内で最多の推定密度(ただし背景クラスは低密度クラスとみなす)を当該部分領域の密度として特定する。
【0092】
続いて、モデル画像生成手段512aは重み記憶手段412aを参照して各部分領域の密度に対応する重み(重み係数の比率)を設定する(ステップS109)。すなわちモデル画像生成手段512aは、各部分領域の重みを当該部分領域に対応する部分の識別番号とともに記録する。なお、この際に、ステップS107における上書き投影によりモデル画像上で完全に隠蔽された部分領域の重みは記録から削除する。
【0093】
そして、モデル画像生成手段512aは、現配置数におけるT通り目の配置に含まれる全ての候補位置を処理し終えたか否かを確認し(ステップS110)、未処理の候補位置がある場合は(ステップS110にてNO)、処理をステップS104に戻して次の候補位置を処理する。
【0094】
他方、全ての候補位置を処理し終えた場合は(ステップS110にてYES)、現配置数におけるT通り目の配置についてのモデル画像の完成となる。モデル画像を完成させたモデル画像生成手段512aは当該モデル画像における物体モデルの隠蔽度を算出する(ステップS111)。すなわち、モデル画像生成手段512aは、「モデルの投影領域の和領域の面積」であるモデル画像上の投影領域の面積を求めるとともに、ステップS107で記録していた物体モデルごとの投影面積を総和し、総和値からモデルの投影領域の和領域の面積を差し引いて「モデル間の重複領域の面積」を求め、これらを式(1)に代入して隠蔽度を算出する。
【0095】
また、モデル画像生成手段512aはステップS109で記録していた部分領域の重みを総和し、各部分領域の重みを総和値で除することによって各部分領域の重み係数を算出する(ステップS112)。
【0096】
重み係数を算出したモデル画像生成手段512aはモデル画像と隠蔽度と部分領域ごとの重み係数を評価値算出手段514aに出力する。
【0097】
モデル画像と隠蔽度と重み係数を入力された評価値算出手段514aは、当該モデル画像と撮影画像の部分領域ごとの形状適合度を当該部分領域の部分評価値として算出し(ステップS113)、さらに、部分領域ごとの形状適合度と当該部分領域の重み係数の積を総和した重み付け形状適合度と隠蔽度から、モデル画像と撮影画像の重み付け類似度を現配置数におけるT通り目の配置についての統合評価値として算出する(ステップS114)。すなわち、評価値算出手段514aは、モデル画像生成手段512aから入力されたモデル画像と撮影画像のそれぞれからエッジ画像を生成し、これらのエッジ画像の部分領域ごとの類似度と部分領域ごとの重み係数を積和して重み付け形状適合度を算出する。そして、重み付け形状適合度と隠蔽度を式(2)に代入して重み付け類似度を算出する。
【0098】
現配置数におけるT通り目の配置についての重み付け類似度が算出されると、評価値算出手段514aは当該配置と重み付け類似度を対応付けて記録し、配置生成手段510aは反復回数Tを1だけ増加させて(ステップS115)、規定回数T
MAXと比較し(ステップS116)、TがT
MAX未満の場合は(ステップS116にてNO)、処理をステップS102に戻して現配置数における反復処理を継続させる。
【0099】
反復回数Tが規定回数T
MAXに達した場合(ステップS116にてYES)、配置生成手段510aは、現配置数における反復処理を終了させ、全ての配置数を設定し終えたか否かを確認する(ステップS117)。未設定の配置数がある場合は(ステップS117にてNO)、処理をステップS100に戻して次の配置数についての処理を行う。
【0100】
他方、全ての配置数を設定し終えた場合は(ステップS117にてYES)、評価値算出手段514aはステップS115で記録した配置と重み付け類似度を最適配置決定手段516aに入力し、最適配置決定手段516aは、それらの中で重み付け類似度が最大の配置を特定し(ステップS118)、当該配置を撮影画像に撮影されている個々の人の位置を表している情報と判定する。
【0101】
再び
図9を参照して説明を続ける。物体位置判定手段51はステップS4にて判定した個々の人の位置(物体位置)の情報を通信部3に出力する(ステップS5)。物体位置の情報を入力された通信部3は物体位置出力手段31として動作し、物体位置の情報を表示部6に送信する。
【0102】
以上の処理を終えると、処理はステップS1に戻され、次の撮影画像に対する処理が行われる。
【0103】
[第二の実施形態]
以下、第一の実施形態とは異なる本発明の好適な実施形態として、単独の人の画像特徴を学習した識別器を用いて個々の人を検出し、特に、単独の人を構成する複数の部分のそれぞれの画像特徴を学習した部分識別器を用いて個々の人を検出する物体検出装置の例を含んだ画像監視装置1の例を説明する。
【0104】
第二の実施形態に係る画像監視装置は、単体特徴記憶手段41が記憶している単体特徴の細部および物体位置判定手段51が行う処理の細部が第一の実施形態に係る画像監視装置と異なり、概略の構成、概略の機能および動作の一部は共通する。そのため、概略の構成、概略の機能および動作の一部については、それぞれ第一の実施形態で参照した
図1のブロック図、
図2の機能ブロック図および
図9のフローチャートを再び参照して説明する。
【0105】
<第二の実施形態に係る画像監視装置1の構成>
図1のブロック図を参照して第二の実施形態に係る画像監視装置1の概略の構成を説明する。
画像監視装置1は、第一の実施形態と同様、監視空間を所定時間おきに撮影して撮影画像を出力する撮影部2と、物体位置の情報を入力されて当該情報を表示する表示部6と、撮影画像を取得して当該撮影画像から個々の人(物体)を検出し、検出した物体の位置(物体位置)の情報を生成して出力する画像処理部5とが、撮影画像および物体位置の情報等の入出力を介在する通信部3に接続されるとともに、プログラムおよび各種データ等を記憶してこれらを入出力する記憶部4が画像処理部5に接続されてなる。
【0106】
<第二の実施形態に係る画像監視装置1の機能>
図2および
図12の機能ブロック図を参照し、第二の実施形態に係る画像監視装置1の機能について説明する。
【0107】
通信部3は、第一の実施形態と同様、撮影部2から撮影画像を取得して密度推定手段50と物体位置判定手段51に出力する画像取得手段30、および物体位置判定手段51から入力された物体位置の情報を表示部6に出力する物体位置出力手段31等としての機能を含む。
【0108】
また、記憶部4は、第一の実施形態と同様、所定の密度ごとに当該密度にて物体が存在する空間を撮影した密度画像それぞれの画像特徴を学習した密度推定器を記憶している密度推定器記憶手段40、および予めの学習により生成された単独の物体の画像特徴(単体特徴)を記憶している単体特徴記憶手段41等としての機能を含み、単体特徴記憶手段41が記憶している単体特徴は、物体を構成する部分ごとの画像特徴の情報および密度に対する重みの情報となっている。
【0109】
また、画像処理部5は、第一の実施形態と同様、撮影画像を密度推定器で走査することによって撮影画像に撮影された物体の密度の分布を推定し、推定した密度分布を物体位置判定手段51に出力する密度推定手段50、および撮影画像内に個々の物体が存在し得る候補位置を設定して当該候補位置の撮影画像に単独の物体の画像特徴が現れている度合いを表す評価値(統合評価値)を算出し、統合評価値が判定基準を満たす候補位置を物体の位置と判定して物体位置の情報を物体位置出力手段31に出力する物体位置判定手段51等としての機能を含み、物体位置判定手段51は、候補位置を基準として撮影画像内に物体を構成する複数の部分のそれぞれと対応する部分領域を設定して、部分領域ごとに当該部分領域と対応する部分の画像特徴が現れている度合いを表す部分評価値を算出し、候補位置を基準に設定した各部分領域の部分評価値を当該部分領域の密度が低いほど重視して統合することによって統合評価値を算出する。
【0110】
ただし、上述したように、第二の実施形態に係る物体位置判定手段51が行う処理の細部および単体特徴記憶手段41が記憶している単体特徴の細部が第一の実施形態に係る画像監視装置1と異なる。これらの点について、
図12の機能ブロック図を参照して説明する。
【0111】
第二の実施形態に係る単体特徴記憶手段41は、単独の人(物体)を構成する複数の部分のそれぞれの画像特徴を学習した部分ごとの識別器(部分識別器)を予め記憶した部分識別器記憶手段411b、および評価値の算出において用いる重みの情報を予め記憶した重み記憶手段412bとして機能し、部分識別器の情報および重みの情報を単体特徴として記憶している。
【0112】
図13は、第二の実施形態に係る単体特徴記憶手段41が記憶している単体特徴、すなわち部分識別器記憶手段411bが記憶している部分識別器の情報および重み記憶手段412bが記憶している重みの情報を模式的に表した図である。
【0113】
物体の各部分についての部分識別器のそれぞれは、画像の特徴量を入力されると当該画像が当該部分の画像(部分画像)であることの尤もらしさを表す部分スコア(部分評価値)を算出して出力するスコア算出関数の係数等で表される。部分識別器記憶手段411bは、各部分識別器を表す係数等、各部分の基準位置からの相対位置および密度と使用する部分識別器の対応関係等のパラメータを記憶している。基準位置は例えば頭部重心である。
【0114】
部分識別器は、例えば、多数の人についての部分画像と多数の無人画像からなる学習用画像の特徴量に線形SVM法を適用して学習した識別器とすることができる。学習アルゴリズムとして線形SVMを用いた場合、スコア算出関数の係数は重みベクトルである。この重みベクトルは、特徴量の各要素に対する重みであり、入力された画像の特徴量と重みベクトルとの内積の値が部分スコアを表す。学習において、当該重みベクトルと特徴量との内積が0以上である場合は人の部分画像、0未満である場合は人の部分画像ではないと識別されるように調整される。よって、統合スコアに適用して、入力された画像が単独の人の画像であるか否かを識別する閾値は原理上は0であり、通常、閾値は0に設定することができる。ただし、単独の人の画像を単独の人の画像ではないと識別する誤りを減じるために、閾値を0よりも小さな値に設定してもよい。
学習用画像の特徴量は例えばHOG(Histograms of Oriented Gradients)特徴量とすることができる。
【0115】
部分識別器記憶手段411bは、具体的には、低密度クラスを表す値と対応付けて人の6つの部分「上1/3、左1/2」、「上1/3、右1/2」、「中1/3、左1/2」、「中1/3、右1/2」、「下1/3、左1/2」および「下1/3、右1/2」の画像特徴を学習した部分識別器800〜805を記憶している。これら6つの部分を合わせると人の「全体」となる。
以下、「上1/3、左1/2」を左上部、「上1/3、右1/2」を右上部、「中1/3、左1/2」を左中部、「中1/3、右1/2」を右中部、「下1/3、左1/2」を左下部、「下1/3、右1/2」を右下部と称する。また、左上部用の部分識別器800を左上部識別器、右上部用の部分識別器801を右上部識別器、左中部用の部分識別器802を左中部識別器、右中部用の部分識別器803を右中部識別器、左下部用の部分識別器804を左下部識別器、右下部用の部分識別器805を右下部識別器と称する。また、合わせると評価範囲が「全体」となる6つの部分識別器800〜805のセット810を全体識別器と称する。
また部分識別器記憶手段411bは、中密度クラスを表す値と対応付けて左上部識別器800、右上部識別器801、左中部識別器802および右中部識別器803を記憶している。これら4つの部分識別器の評価範囲を合わせると人の「上部2/3」となる。合わせると評価範囲が「上部2/3」となる4つの部分識別器800〜803のセット811を上半身識別器と称する。
また部分識別器記憶手段411bは、高密度クラスを表す値と対応付けて左上部識別器800および右上部識別器801を記憶している。これら2つの部分識別器の評価範囲を合わせると人の「上部1/3」となる。合わせると評価範囲が「上部1/3」となる2つの部分識別器800,801のセット812を頭部近傍識別器と称する。
【0116】
このように、部分識別器記憶手段411bは、低密度クラスと対応付けて左上部識別器800、右上部識別器801、左中部識別器802、右中部識別器803、左下部識別器804および右下部識別器805からなる全体識別器810を、中密度クラスと対応付けて左上部識別器800、右上部識別器801、左中部識別器802および右中部識別器803からなる上半身識別器811を、高密度クラスと対応付けて左上部識別器800および右上部識別器801からなる頭部近傍識別器812を、統合評価値に適用する閾値等とともに記憶している。
なお、ここでは密度間で同一部分の部分識別器を共用する例を示したが、密度ごとに部分の区分けを異ならせてもよい。
【0117】
重み820は、物体の各部分と対応する部分領域の密度に応じて当該部分を重視する度合いであり、密度間の相対的な比率で表される。密度が低い部分ほど重視され密度が高い部分ほど軽視されるため、密度が低いほど高く密度が高いほど低い重み820が設定されている。例えば、低密度、中密度および高密度の重み820は比率10:7:5とすることができる。なお部分領域の密度の決定に際しては背景クラスは低密度クラスとみなすことができる。
【0118】
このように重み記憶手段412bは、密度が低いほど高く密度が高いほど低い、密度ごとの重みを記憶している。
【0119】
候補位置設定手段511bは、撮影画像内に所定間隔にて複数の候補位置を設定し、設定した候補位置を評価値算出手段514bに出力する。具体的には、所定間隔は1画素であり、候補位置設定手段511bは撮影画像の各画素の位置を順次候補位置に設定する。なお候補位置は人の頭部重心を表すものとする。
【0120】
評価値算出手段514bは、候補位置設定手段511bから入力された各候補位置を基準として撮影画像内に単独の物体を構成する複数の部分のそれぞれと対応する部分領域を設定して、複数の部分のそれぞれと対応する部分領域の画像特徴を当該部分の画像特徴を学習した部分識別器に入力して当該部分領域の部分評価値を算出し、候補位置ごとに当該候補位置を基準に設定した部分領域の部分評価値を当該部分領域の密度が低いほど重視して統合することにより統合評価値を算出し、算出した統合評価値とそれに付随する情報を位置決定手段517bに出力する。
またその際に、評価値算出手段514bは、各候補位置に、当該候補位置における密度が高いほど、単独の物体を構成する部分のうちの少ない部分に対応する部分領域を設定する。
【0121】
そのために、評価値算出手段514bは、各候補位置に上部1/3の窓を設定し、密度推定手段50から入力された密度分布を参照して当該窓内の推定密度を集計する。ただし背景クラスは除いて集計する。そして、評価値算出手段514bは各候補位置における最多の推定密度を当該候補位置の密度と決定する。
【0122】
また、評価値算出手段514bは、部分識別器記憶手段411bから各候補位置の密度に応じた部分識別器の情報を読み出し、各候補位置に当該候補位置の密度に対応づけられた部分識別器と対応する窓(部分領域)を設定し、各部分領域内の撮影画像から識別用の特徴量(識別用特徴量)を抽出する。これらの部分領域は、各部分の部分識別器の学習に用いた部分画像の形状(
図13に示した実線の矩形)を有し、予め定めた複数の倍率で拡大・縮小した大きさの窓である。低密度の候補位置に対しては合わせると人の「全体」となる6つの部分領域、中密度の候補位置に対しては合わせると人の「上部2/3」となる4つの部分領域、高密度の候補位置に対しては合わせると人の「上部1/3」となる2つの部分領域が設定される。識別用特徴量は、学習用画像の特徴量と同種であり、HOG特徴量である。
【0123】
また、評価値算出手段514bは、各部分の識別用特徴量を当該部分の部分識別器に入力してその出力値である部分スコアを部分評価値として取得する。
【0124】
また、評価値算出手段514bは、各部分領域について当該部分領域の推定密度に応じた重み係数を算出する。
【0125】
そのために、評価値算出手段514bは、密度分布を参照して各部分領域内の推定密度を集計し、各部分領域における最多の推定密度を当該部分領域の密度と決定する。ただし背景クラスは低密度クラスとみなして集計する。
次に評価値算出手段514bは、重み記憶手段412bから各部分領域の密度に対応する重み(重み係数の比率)を読み出し、候補位置ごとに当該候補位置を基準に設定した部分領域の重みの和を求める。
続いて評価値算出手段514bは、候補位置ごとに、各部分領域の重みを全部分領域の重みの和で除して、当該部分領域の重み係数を算出する。すなわち各候補位置における重み係数の和は1となるように正規化される。
このようにして評価値算出手段514bは、部分領域ごとに当該部分領域における密度が低いほど高く当該部分領域における密度が高いほど低い重み係数を設定する。
【0126】
また、評価値算出手段514bは、候補位置ごとに、候補位置を基準に設定した各部分領域の部分評価値を当該部分領域の重み係数にて重み付けて総和して統合評価値を算出する。
【0127】
つまり、左上部識別器による部分スコアをS
UL、右上部識別器による部分スコアをS
UR、左中部識別器による部分スコアをS
ML、右中部識別器による部分スコアをS
MR、左下部識別器による部分スコアをS
LL、右下部識別器による部分スコアをS
LRとし、左上部の重み係数をW
UL、右上部の重み係数をW
UR、左中部の重み係数をW
ML、右中部の重み係数をW
MR、左下部の重み係数をW
LL、右下部の重み係数をW
LRとすると、評価値算出手段514bは、次のようにして統合スコアを算出する。
【0128】
評価値算出手段514bは、注目している候補位置の密度が低密度であれば次式によって当該候補位置の統合スコアを算出する。
統合スコア=W
ULS
UL+W
URS
UR+W
MLS
ML+W
MRS
MR
+W
LLS
LL+W
LRS
LR (3)
また、評価値算出手段514bは、注目している候補位置の密度が中密度であれば次式によって当該候補位置の統合スコアを算出する。
統合スコア=W
ULS
UL+W
URS
UR+W
MLS
ML+W
MRS
MR (4)
また、評価値算出手段514bは、注目している候補位置の密度が高密度であれば次式によって当該候補位置の統合スコアを算出する。
統合スコア=W
ULS
UL+W
URS
UR (5)
【0129】
図14は、
図7で例示した密度分布が得られている場合に、
図7で例示した各候補位置について評価値算出手段514bが統合スコアを算出する様子を模式的に示した図である。画像830は、これらの候補位置のうち密度が低密度である3つの候補位置について、各部分と重み係数の関係を示している。画像831は、密度が中密度である3つの候補位置について、各部分と重み係数の関係を示している。画像832は、密度が高密度である2つの候補位置について、各部分と重み係数の関係を示している。
【0130】
例えば、候補位置840は、その密度が低密度であるため候補位置840を基準に6つの部分領域が設定され、6つの部分領域の密度がいずれも低密度であるため各部分領域の重み係数比率は10、その和は60となる。よって、重み係数はW
UL=W
UR=W
ML=W
MR=W
LL=W
LR=10/60となり、これらの重み係数と各部分の部分スコアを式(3)に代入して統合スコアが算出される。
また例えば、候補位置841は、その密度が中密度であるため候補位置841を基準に4つの部分領域が設定され、4つの部分領域のうちの上2つは密度が中密度であるため重み係数比率は7、下2つは密度が低密度であるため重み係数比率は10、その和は34となる。よって、重み係数はW
UL=W
UR=7/34、W
ML=W
MR=10/34となり、これらの重み係数と各部分の部分スコアを式(4)に代入して統合スコアが算出される。
また例えば、候補位置842は、その密度が高密度であるため候補位置842を基準に2つの部分領域が設定され、2つの部分領域の密度がいずれも高密度であるため各部分領域の重み係数比率は5、その和は10となる。よって、重み係数はW
UL=W
UR=5/10となり、これらの重み係数と各部分の部分スコアを式(5)に代入して統合スコアが算出される。
他の候補位置についても同様にして統合スコアが算出される。
【0131】
そして、評価値算出手段514bは、候補位置ごとに、候補位置、候補位置の密度、統合スコアおよび使用した部分領域の和領域(統合窓)を対応付けた情報を位置決定手段517bに出力する。
【0132】
位置決定手段517bは、評価値算出手段514bから入力された情報を参照し、予め定めた判定基準を満たす統合評価値が算出された候補位置を物体の位置と決定する。
【0133】
具体的には、位置決定手段517bは、統合スコアが予め定めた閾値(例えば0)以上である候補位置を抽出し、抽出した候補位置のうち対応する密度が同一であり且つ互いに近接する複数の候補位置(統合窓同士の重複が予め定めた割合より大きな候補位置)を一つにまとめ、まとめた候補位置を人が撮影されている位置と決定する。
【0134】
この候補位置をまとめる処理は、実際に人が撮影されている位置に加えてその近傍においても同一人物に対して高い統合スコアが算出されることに対処するために行う。具体的には、例えば、位置決定手段517bは、候補位置の密度ごとに、閾値以上の統合スコアが算出された候補位置を統合スコアが高い順に順次注目位置に設定するとともに注目位置より統合スコアが低い候補位置を比較位置に設定する。そして、位置決定手段517bは、比較位置のうち当該比較位置の統合窓と注目位置の統合窓との重なりが予め定めた割合より大きい比較位置の情報を削除することで複数の候補位置を一つにまとめる。
【0135】
そして、位置決定手段517bは、人が撮影されている位置と決定した候補位置を物体位置の情報として物体位置出力手段31に出力する。
【0136】
<第二の実施形態に係る画像監視装置1の動作>
以下、
図9および
図15を参照し、第二の実施形態に係る画像監視装置1の動作を説明する。
【0137】
画像監視装置1が動作を開始すると、第一の実施形態と同様に、撮影部2は順次撮影画像を送信し、画像処理部5は撮影画像を受信するたびに
図9のフローチャートに従った動作を繰り返す。
【0138】
通信部3は画像取得手段30として動作し、撮影画像を受信して画像処理部5に出力する(ステップS1)。撮影画像を入力された画像処理部5は密度推定手段50として動作して記憶部4の密度推定器記憶手段40から密度推定器を読み出し、撮影画像を密度推定器にて走査することによって密度分布を推定する(ステップS2)。
【0139】
次に、画像処理部5は物体位置判定手段51として動作し、物体位置判定手段51は、画像取得手段30から撮影画像および密度推定手段50から密度分布を入力されて、密度分布に背景クラス以外の推定密度が含まれているか否かを確認する(ステップS3)。
【0140】
物体位置判定手段51は、背景クラス以外の推定密度が含まれている場合は(ステップS3にてYES)、撮影画像から個々の物体の位置を判定する処理を行い(ステップS4)、背景クラスのみの場合は(ステップS3にてNO)、ステップS4,S5の処理を省略する。
【0141】
図15のフローチャートを参照して、ステップS4の物体位置判定処理を説明する。単体特徴記憶手段41が部分識別器記憶手段411bおよび重み記憶手段412bとして動作し、物体位置判定手段51が候補位置設定手段511b、評価値算出手段514bおよび位置決定手段517bとして動作して、物体位置判定処理が実行される。
【0142】
候補位置設定手段511bは、撮影画像中の各画素の位置を順次候補位置に設定して評価値算出手段514bに入力し(ステップS200)、ステップS200〜S206のループ処理を制御する。
【0143】
候補位置を入力された評価値算出手段514bは密度分布を参照して候補位置の密度を特定する(ステップS201)。すなわち評価値算出手段514bは候補位置に単独の人の上部1/3の形状に定められた窓を設定して当該窓内で最多の推定密度(ただし背景クラスは除く)を候補位置の密度として特定する。
【0144】
候補位置の密度を特定した評価値算出手段514bは、部分識別器記憶手段411bから当該密度に応じた複数の部分識別器を読み出し、各部分識別器に対応する部分領域を設定して部分領域内の撮影画像から識別用特徴量をそれぞれ抽出し(ステップS202)、抽出した識別用特徴量を該当する部分識別器に入力して、それぞれの部分スコア(部分評価値)を算出する(ステップS203)。
【0145】
部分評価値を算出した評価値算出手段514bは密度分布を参照して各部分領域の密度を特定する(ステップ204)。すなわち、評価値算出手段514bは各部分領域内で最多の推定密度(ただし背景クラスは低密度クラスとみなす)を当該部分領域の密度として特定する。
【0146】
各部分領域の密度を特定した評価値算出手段514bは、重み記憶手段412bから各部分領域の密度に応じた重み係数の比率を読み出し、各部分領域の重み係数の比率を全部分領域の重み係数の比率の和で除して当該部分領域の重み係数を算出し、算出した重み係数とステップS203で算出した部分評価値を積和することにより候補位置の統合評価値を算出する(ステップS205)。候補領域の密度が低密度の場合は式(3)、中密度の場合は式(4)、高密度の場合は式(5)に従って、積和することになる。
【0147】
そして、評価値算出手段514bは、候補位置と、部分領域の和領域の窓(統合窓)と、候補位置の密度と、統合評価値とを対応付けて記録するとともに、撮影画像の全ての画素の位置を候補位置に設定し終えたか否かを確認し(ステップS206)、未設定の画素がある場合は(ステップS206にてNO)、処理をステップS200に戻して次の画素の位置を処理する。
【0148】
他方、全ての画素の位置を候補位置に設定し終えた場合(ステップS206にてYES)、位置決定手段517bは、ステップS206で記録された候補位置と統合窓と候補位置の密度と統合評価値の組の中から統合評価値が閾値未満の組を削除し(ステップS207)、さらに、削除されずに残った組について、候補位置の密度ごとに、互いの統合窓が予め定めた割合よりも大きく重複している組を同一人物のものとして一つの組にまとめる(ステップS208)。そして位置決定手段517bはまとめた後の各組の候補位置を撮影画像に撮影されている個々の人の位置(物体位置)と判定する。
【0149】
再び
図9を参照して説明を続ける。物体位置判定手段51はステップS4にて判定した物体位置の情報を通信部3に出力し(ステップS5)、通信部3は物体位置出力手段31として動作して物体位置の情報を表示部6に送信する。
【0150】
以上の処理を終えると、処理はステップS1に戻され、次の撮影画像に対する処理が行われる。
【0151】
<変形例>
(1)上記各実施形態およびその変形例においては、検出対象の物体を人とする例を示したが、これに限らず、検出対象の物体を車両、牛や羊等の動物等とすることもできる。
【0152】
(2)上記各実施形態およびその各変形例においては物体を高さ方向に3分割し幅方向に2分割した部分を単位として部分領域を設定する例を示したが、分け方はこれに限らない。検出対象や撮影する監視空間の特性、採用する特徴量や評価値の種類などの違いに応じ、それぞれに適した別の比率で分けた部分領域とすることができる。またオーバーラップさせて部分領域を設定してもよい。
【0153】
(3)上記各実施形態およびその各変形例において示した重みは一例であり、検出対象や撮影する監視空間の特性、採用する特徴量や評価値の種類などの違いに応じ、それぞれに適した別の値とすることができる。
【0154】
(4)上記各実施形態およびその各変形例においては、多クラスSVM法にて学習した密度推定器を例示したが、多クラスSVM法に代えて、決定木型のランダムフォレスト法、多クラスのアダブースト(AdaBoost)法または多クラスロジスティック回帰法などにて学習した密度推定器など種々の密度推定器とすることができる。
或いは識別型のCNN(Convolutional Neural Network)を用いた密度推定器とすることもできる。
【0155】
(5)上記各実施形態およびその各変形例においては、密度推定器が推定する背景以外の密度のクラスを3クラスとしたが、より細かくクラスを分けてもよい。
その場合、3段階の重みに代えて、クラス分けに対応したより細かい段階の重みとし、クラスと重みを対応付けて単体特徴記憶手段41に記憶させておくことができる。或いは、クラスと3段階の重みを多対一で対応付けて単体特徴記憶手段41に記憶させておくこともできる。
【0156】
(6)上記各実施形態およびその各変形例においては、多クラスに分類する密度推定器を例示したがこれに代えて、特徴量から密度の値(推定密度)を回帰する回帰型の密度推定器とすることもできる。すなわち、リッジ回帰法、サポートベクターリグレッション法、回帰木型のランダムフォレスト法またはガウス過程回帰(Gaussian Process Regression)などによって、特徴量から推定密度を求めるための回帰関数のパラメータを学習した密度推定器とすることができる。
或いは回帰型のCNNを用いた密度推定器とすることもできる。
これらの場合、密度クラスの値の代わりに連続値で出力される推定密度の値域を、部分モデルおよび重み、または部分識別器および重みと対応付けて単体特徴記憶手段41に記憶させておく。またこれらの場合、部分領域の密度は部分領域内で最多の推定密度とする以外にも、部分領域内の推定密度の平均値または中央値などとすることもできる。
【0157】
(7)上記各実施形態およびその各変形例においては、密度推定器が学習する特徴量および推定用特徴量としてGLCM特徴を例示したが、これらはGLCM特徴に代えて、局所二値パターン(Local Binary Pattern:LBP)特徴量、ハールライク(Haar-like)特徴量、HOG特徴量、輝度パターンなどの種々の特徴量とすることができ、またはGLCM特徴とこれらのうちの複数を組み合わせた特徴量とすることもできる。
【0158】
(8)上記各実施形態およびその各変形例においては、密度推定手段50および物体位置判定手段51が1画素間隔で走査して処理を行う例を示したが、これらの走査を2画素以上の間隔を空けて行うことも可能である。
【0159】
(9)上記各実施形態およびその各変形例においては、候補位置を推定密度が低密度、中密度または高密度の領域内から選んで設定する例を示したが、配置生成手段510aおよび候補位置設定手段511bのそれぞれは、変化領域内に限定して候補位置を設定することもできる。その場合、記憶部4は監視空間の背景画像を記憶する背景画像記憶手段(不図示)を備え、画像処理部5は、撮影画像と背景画像との差分処理を行って差分値が所定の差分閾値以上である画素の集まりを変化領域として抽出する、または撮影画像と背景画像との相関処理を行って相関値が所定の相関閾値以下である画素の集まりを変化領域として抽出する変化領域抽出手段(不図示)を備え、配置生成手段510aおよび候補位置設定手段511bのそれぞれは、変化領域抽出手段が抽出した変化領域を参照して候補位置を設定する。
なお、候補位置を設定する領域を限定する場合、配置生成手段510aは限定した領域の大きさに応じて配置数の上限個数を変更することができる。
このような候補位置を設定する領域の限定によって、撮影画像とモデル画像の偶発的な類似または背景に対する高い識別スコアの偶発的な算出を防止でき、物体位置の誤検出を低減できる。
【0160】
(10)上記第一の実施形態とその各変形例においては、配置生成手段510aが反復の都度ランダムに配置を生成する例を示したが、反復の2回目以降に一回前の候補位置から微小にずらした候補位置に更新することで配置を生成してもよいし、反復の2回目以降に一回前の配置に対する類似度を参照してMCMC(Markov chain Monte Carlo)法により確率的に候補位置を探索する方法や山登り法により候補位置を逐次改善することで配置を生成してもよい。
【0161】
(11)上記各実施形態およびその各変形例においては、注目している候補位置に人の上部1/3の形状に定められたモデルの投影領域または該形状に定められた窓を設定して当該領域内の推定密度を集計することによって、当該候補位置における推定密度を決定する例を示したが、処理量を削減するために当該領域に代えて候補位置の画素、候補位置の8近傍領域または16近傍領域などの小さな領域とすることもできる。或いは、確度を上げるために当該領域に代えて候補位置を代表位置とする単独の人の上部2/3の形状に定められたモデルの投影領域または該形状に定められた窓、または候補位置を代表位置とする単独の人の全身の形状に定められたモデルの投影領域または該形状に定められた窓などの大きな領域とすることもできる。
【0162】
(12)第二の実施形態およびその変形例においては、線形SVM法により学習された部分識別器を例示したが、線形SVM法に代えてアダブースト(AdaBoost)法など、従来知られた各種の学習法を用いて学習した部分識別器とすることもできる。また、識別器の代わりにパターンマッチング器を用いることもでき、その場合の部分スコアは人の学習用画像から抽出した特徴量の平均パターンと入力画像の特徴量との内積などとなり、評価値算出関数は当該スコアを出力値とし撮影画像の特徴量を入力値とする関数とすることができる。また部分識別器として識別型のCNNを用いても良い。
【0163】
(13)第二の実施形態およびその各変形例においては、部分識別器が学習および識別に用いる特徴量としてHOG特徴量を例示したが、これらはHOG特徴量に代えて、局所二値パターン特徴量、ハールライク特徴量、輝度パターンなどの種々の特徴量とすることができ、またはHOG特徴量とこれらのうちの複数を組み合わせた特徴量とすることもできる。
【0164】
(14)第二の実施形態およびその各変形例においては、評価値算出手段514bが候補位置ごとに重みの和が1となるように正規化する例を示したが、さらに水平方向(左右方向)の重みの和が1となるように正規化してもよい。
【0165】
(15)第二の実施形態およびその各変形例においては、物体の部分を重視する度合いを重みによって切り替える例を示したが、部分評価値に対する閾値(部分閾値)を切り替えることもできる。その場合、例えば、単体特徴記憶手段41は密度が低いほど低く密度が高いほど高く予め定められた部分閾値を各密度に対応づけて記憶し、評価値算出手段514bは部分評価値が部分閾値以上である部分領域の個数の割合を統合評価値として算出する。そして、位置決定手段517bは統合評価値が予め定めた閾値(例えば50%)以上である候補位置を物体位置と判定する。
【0166】
以上の各実施形態およびその変形例によれば、物体検出装置は、候補位置および部分領域ごとの密度に応じ、当該密度により物体に生じ得る隠蔽状態に適した部分の特徴および重視する度合いを切り替えて個々の物体の位置を判定するので、混雑状態の変化に伴う物体の隠蔽状態の変化に適応した精度の高い物体検出が可能となる。
【0167】
またそのうちの第一の実施形態およびその変形例に係る物体検出装置は、物体の各部分の画像特徴を表す部分モデルおよび部分モデルの撮影画像に対する部分評価値を評価する際に重視する度合いを密度に応じて切り替えることによって混雑状態の変化に伴う物体の隠蔽状態の変化に適応した精度の高い物体検出を可能とする。
【0168】
またそのうちの第二の実施形態およびその変形例に係る物体検出装置は、物体の各部分の画像特徴を学習した部分識別器および部分識別器による部分ごとの部分評価値を総和する際に重視する度合いを密度に応じて切り替えることによって混雑状態の変化に伴う物体の隠蔽状態の変化に適応した精度の高い物体検出を可能とする。