(58)【調査した分野】(Int.Cl.,DB名)
前記物体位置計算部は、生成された前記差分画像に基づいて現フレーム上の物体候補を検出し、前記前フレーム上の物体にもっとも距離が近い現フレーム上の前記物体候補に対して、前記前フレーム上の前記物体に付与されている物体IDを引き継がせる
請求項2に記載の画像処理装置。
【発明の概要】
【発明が解決しようとする課題】
【0006】
図1は、上記問題を具体的に説明するためのものであり、動画像上で検出された物体(同物体および静止物体)と、それに付与されるIDを示していて、縦方向に時間が経過しているものとする。
【0007】
同図の左側の列に示すように、特許文献1の発明では、時刻t1,t2のフレーム上を移動する自動車を動物体として検出することができ、それに同一のID:8を付与することができる。ただし、時刻t3からt4にかけてフレーム上で自動車が停止すると、それは静止物体として検出されてID:100が付与される。
【0008】
さらに、停止していた自動車が時刻t5からt6にかけて再び動き出すと、該自動車は再び動物体として検出されて、それまでとは異なるID:9が付与れる。さらに、自動車が停止していた跡に対して動物体(ID:10)が誤検出されることも起こり得る。
【0009】
上述したように、従来の技術では、動画像上で検出した動物体や静止物体が同一の物体であったとしても、それを同一の物体として処理すること、具体的には、同図の右側の列のように、同一のIDを付与することができない。
【0010】
本開示はこのような状況に鑑みてなされたものであり、動画像上の物体を継続的に追尾できるようにするものである。
【課題を解決するための手段】
【0011】
本開示の一側面である画像処理装置は、動画像上の物体を検出する画像処理装置において、前記動画像の現フレームから、それぞれが異なる基準に基づいて画像上の物体に関する物体特徴量を計算する複数の物体特徴量計算部と、前記動画像の前フレーム上の物体に関する物体属性情報を利用して、前記異なる基準に基づいて計算された複数の前記物体特徴量の中から利用する物体特徴量を選択する特徴量選択部と、選択された前記特徴量と、前記前フレーム上の物体に関する物体情報
としての位置ベクトルを用いて、現フレーム上の物体に関する物体情報
としての位置ベクトルを計算する物体情報計算部と、計算された現フレーム上の物体に関する前記物体情報
としての前記位置ベクトルに基づき、現フレーム上の物体に関する物体属性情報を計算する物体属性情報計算部とを備える。
【0012】
前記複数の物体特徴量計算部は、短期背景画像と前記現フレームとの対応する画素の輝度の差分を第1の物体特徴量として計算する第1の物体特徴量計算部と、長期背景画像と前記現フレームとの対応する画素の輝度の差分を第2の物体特徴量として計算する第2の物体特徴量計算部とを有し、前記特徴量選択部は、前記前フレーム上の物体に関する物体属性情報としての停止カウント値を利用して、画素毎に前記第1または第2の特徴量を選択することにより差分画像を生成し、前記物体位置計算部は、生成された前記差分画像と、前記前フレーム上の物体に関する物体情報としての
前記位置ベクトルを用いて、現フレーム上の物体に関する物体情報としての
前記位置ベクトルを計算し、前記物体属性情報計算部は、計算された現フレーム上の物体に関する前記物体情報としての前記位置ベクトルに基づき、現フレーム上の物体に関する前記物体属性情報としての前記停止カウント値をカウントすることができる。
【0013】
前記物体位置計算部は、生成された前記差分画像に基づいて現フレーム上の物体候補を検出し、前記前フレーム上の物体にもっとも距離が近い現フレーム上の前記物体候補に対して、前記前フレーム上の前記物体に付与されている物体IDを引き継がせることができる。
【0014】
本開示の一側面である画像処理装置は、頭部検出領域を設定する頭部検出領域設定部をさらに備えることができ、前記複数の物体特徴量計算部は、前記現フレームの前記頭部検出領域以外から人の全身領域候補を第1の物体特徴量として計算する第1の物体特徴量計算部と、前記現フレームの前記頭部検出領域から人の頭部領域候補を第2の物体特徴量として計算する第2の物体特徴量計算部とを有し、前記特徴量選択部は、前記前フレームの全身領域および頭部領域を一つずつ注目領域に指定し、前記注目領域の頭部の中心座標が前記頭部検出領域内にあるか否かに応じて、前記現フレームの前記全身領域候補または前記頭部領域候補を選択して、現フレームの全身領域または頭部領域に特定し、前記物体位置計算部は、前記前フレーム上の物体に関する物体情報としての前記注目領域の
前記位置ベクトルを用いて、現フレーム上の物体に関する物体情報として、特定された前記全身領域または前記頭部領域の
前記位置ベクトルを計算し、前記物体属性情報計算部は、計算された現フレーム上の物体に関する前記物体情報としての前記全身領域または前記頭部領域の前記位置ベクトルに基づき、現フレーム上の物体に関する前記物体属性情報として、前記全身領域の頭部の中心座標または前記頭部領域の中心座標を計算することができる。
【0015】
前記特徴量選択部は、前記注目領域の頭部の中心座標が前記頭部検出領域内にある場合、前記注目領域に最も距離が近い前記現フレームの前記頭部領域候補を選択して、前記注目領域の物体IDを引き継がせて、現フレームの頭部領域に特定し、前記注目領域の頭部の中心座標が前記頭部検出領域内にない場合、前記注目領域に最も距離が近い前記現フレームの前記全身領域候補を選択して、前記注目領域の物体IDを引き継がせて、現フレームの全身領域に特定することができる。
【0016】
本開示の一側面である画像処理方法は、動画像上の物体を検出する画像処理装置の画像処理方法において、前記画像処理装置による、前記動画像の現フレームから、それぞれが異なる基準に基づいて画像上の物体に関する複数の物体特徴量を計算する物体特徴量計算ステップと、前記動画像の前フレーム上の物体に関する物体属性情報を利用して、前記異なる基準に基づいて計算された複数の前記物体特徴量の中から利用する物体特徴量を選択する特徴量選択ステップと、選択された前記特徴量と、前記前フレーム上の物体に関する物体情報
としての位置ベクトルを用いて、現フレーム上の物体に関する物体情報
としての位置ベクトルを計算する物体情報計算ステップと、計算された現フレーム上の物体に関する前記物体情報
としての前記位置ベクトルに基づき、現フレーム上の物体に関する物体属性情報を計算する物体属性情報計算ステップとを含む。
【0017】
本開示の一側面であるプログラムは、動画像上の物体を検出するコンピュータを、前記動画像の現フレームから、それぞれが異なる基準に基づいて画像上の物体に関する物体特徴量を計算する複数の物体特徴量計算部と、前記動画像の前フレーム上の物体に関する物体属性情報を利用して、前記異なる基準に基づいて計算された複数の前記物体特徴量の中から利用する物体特徴量を選択する特徴量選択部と、選択された前記特徴量と、前記前フレーム上の物体に関する物体情報
としての位置ベクトルを用いて、現フレーム上の物体に関する物体情報
としての位置ベクトルを計算する物体情報計算部と、計算された現フレーム上の物体に関する前記物体情報
としての前記位置ベクトルに基づき、現フレーム上の物体に関する物体属性情報を計算する物体属性情報計算部として機能させる。
【0018】
本開示の一側面においては、動画像の現フレームから、それぞれが異なる基準に基づいて画像上の物体に関する複数の物体特徴量が計算され、前記動画像の前フレーム上の物体に関する物体属性情報を利用して、前記異なる基準に基づいて計算された複数の前記物体特徴量の中から利用する物体特徴量が選択され、選択された前記特徴量と、前記前フレーム上の物体に関する物体情報
としての位置ベクトルを用いて、現フレーム上の物体に関する物体情報
としての位置ベクトルが計算される。さらに、計算された現フレーム上の物体に関する前記物体情報
としての前記位置ベクトルに基づき、現フレーム上の物体に関する物体属性情報が計算される。
【発明の効果】
【0019】
本開示の一側面によれば、動画像上の物体を継続的に追尾することができる。
【発明を実施するための形態】
【0021】
以下、本開示を実施するための最良の形態(以下、実施の形態と称する)について、図面を参照しながら詳細に説明する。
【0022】
<本開示の実施の形態である監視システムの構成例>
図2は、本開示の実施の形態である監視システムの構成例を示している。
【0023】
この監視システム10は、撮像装置11、画像処理装置12、および表示装置13から構成される。
【0024】
撮像装置11は、所定の撮像範囲を継続的に動画像として撮像し、その結果得られるビデオ信号を画像処理装置12に出力する。
【0025】
画像処理装置12は、撮像装置11からのビデオ信号(以下、入力画像と称する)を入力とし、入力画像上に出現する動きの有る物体と、停止している動きのない物体を検出してその位置情報を取得する。さらに、検出した物体に対して物体IDを付与するが、同一の物体に対しては、同一の物体IDを付与し続けるようする。さらに、画像処理装置12は、検出した物体の物体IDと位置情報を表示装置13に出力する。
【0026】
表示装置13は、撮像装置11からの入力画像上に、画像処理装置12が検出した物体の位置を示す枠と、物体IDを重畳して表示する。
【0027】
<画像処理装置12の第1の構成例>
次に、
図3は、画像処理装置12の第1の構成例を示している。画像処理装置12の第1の構成例は、特に、動画像上における動物体と静止物体とを相互に継続的に追尾できるようにするものである。
【0028】
画像処理装置12の第1の構成例は、短期背景画像更新部21、短期背景差分計算部22、長期背景画像更新部23、長期背景差分計算部24、背景差分選択部25、物体位置計算部26、および物体停止時間カウント部27から構成される。
【0029】
短期背景画像更新部21は、入力画像に対して速やかに追従する短期背景画像を保持しており、前段の撮像装置11から入力画像の現フレームが入力される毎に、保持する短期背景画像を更新するとともに、更新した短期背景画像を短期背景差分計算部22に出力する。なお、短期背景画像の更新は、例えば次式(1)に従って同一座標の画素毎に行われる。
【0030】
I
t+1=α
s×I
t+(1−α
s)×I
c
・・・(1)
ただし、
I
t+1は更新後の短期背景画像の画素の輝度値
I
tは更新前の短期背景画像の画素の輝度値
I
cは入力画像の画素の輝度値
α
sは0以上1未満の短期更新係数
である。
【0031】
短期背景差分計算部22は、入力画像の現フレームと短期背景画像の対応する画素どうしの輝度値の差分を算出し、その結果を短期差分として背景差分選択部25に出力する。
【0032】
長期背景画像更新部23は、入力画像に対してゆっくりと追従する長期背景画像を保持しており、前段の撮像装置11から入力画像の現フレームが入力される毎に、保持する長期背景画像を更新するとともに、更新した長期背景画像を長期背景差分計算部24に出力する。なお、長期背景画像の更新は、例えば次式(2)に従って同一座標の画素毎に行われる。
【0033】
I
t+1=α
l×I
t+(1−α
l)×I
c
・・・(2)
ただし、
I
t+1は更新後の短期背景画像の画素の輝度値
I
tは更新前の短期背景画像の画素の輝度値
I
cは入力画像の画素の輝度値
α
lはα
sよりも大きく、かつ、0以上1未満の長期更新係数
である。
【0034】
長期背景差分計算部24は、入力画像の現フレームと長期背景画像の対応する画素どうしの輝度値の差分を算出し、その結果を長期差分として背景差分選択部25に出力する。
【0035】
なお、短期背景画像および長期背景画像の生成、更新については、上述した式(1),(2)を用いる方法に限定するものではなく、例えば、混合ガウス分布を用いた背景モデル(C. Stauffer and W.E.L. Grimson, “Adaptive background mixture models for real-time tracking,” Proc. IEEE CVPR 1999, pp. 24&252, June 1999.)を用いたり、カーネル密度推定(A. Elgammal, D. Hanvood, and L.S. Davis, “Nonparametric model for background subtraction,” Proc. ECCV 2000, pp. 751-767, June 2000.)を用いたりしてもよい。
【0036】
背景差分選択部25は、短期背景差分計算部22から入力される短期差分、または長期背景差分計算部24から入力される長期差分の一方を画素毎に選択することにより、差分画像を生成して物体位置計算部26に出力する。具体的には、前フレームにおいて特定された物体領域のうち、停止カウント値(後述)が所定の長短選択閾値以上である物体領域(長く停止している物体の領域)に属する画素については、長期差分を選択し、その他の画素については短期差分を選択して差分画像を生成する。
【0037】
なお、入力画像の全画素について、短期差分と長期差分の両方を計算して一方を選択するのではなく、前フレームにおいて特定された物体領域のうち、停止カウント値が所定の長短選択閾値以上である物体領域に属する画素についてだけ長期差分を計算し、その他の画素については短期差分だけを計算するようにしてもよい。
【0038】
物体位置計算部26は、背景差分選択部25から入力される差分画像の画素の画素値(長期差分、または短期差分)に着目し、その値が所定の差分閾値以上である画素を抽出し、隣接する画素が抽出された場合にはそれらをグルーピングすることにより物体領域候補を生成して、各物体領域候補に対して新たな物体IDを付与する。
【0039】
また、物体位置計算部26は、前のフレームにおいて特定した物体領域毎に、現フレームの物体領域候補の中で最も距離が近いものを特定し、その距離が所定の距離閾値以下である場合には、該物体領域候補に前記フレームにおける物体領域の物体IDを引き継がせる。さらに、前フレームの物体領域と、現フレームの物体領域候補の位置に基づいて、現フレームにおける物体領域の位置を計算する。具体的には、次式(3)に従って現フレームにおける物体領域の位置を計算する。
【0040】
x
t+1=β×x
t+(1−β)×x
0
・・・(3)
ただし、
x
t+1は現フレームにおいて特定する物体領域の位置ベクトル
x
tは前フレームにおいて特定された物体領域の位置ベクトル
I
cは現フレームにおける物体領域候補の位置ベクトル
βは更新係数
である。
【0041】
なお、現フレームにおける物体領域の位置の計算については、上述した式(3)を用いる方法に限定するものではなく、例えば、カルマンフィルタ(R. E. Kalman, “A New Approach to Linear Filtering and Prediction Problems”, J. Fluids Eng. 82(1), 35-45 (Mar 01, 1960))など他の方法を用いるようにしてもよい。
【0042】
さらに、物体位置計算部26は、現フレームの物体領域候補であって、前フレームで特定された物体領域の物体IDを引き継いでいないものについては、そのまま物体領域として特定し、全ての物体領域の位置情報と物体IDを後段の表示装置13、背景差分選択部25、および物体停止時間カウント部27に出力する。
【0043】
物体停止時間カウント部27は、特定された物体領域の物体IDに停止カウント値を対応付けたカウントテーブルを保持している。そして、物体停止時間カウント部27は、前フレームにおいて特定された物体領域と、その物体IDが引き継がれた、現フレームにおいて特定された物体領域との位置の差が所定の停止判定閾値以下であるか否かを判定する。両者の位置の差が停止判定閾値以下であると判定された場合、該物体領域は停止しているものとして、物体停止時間カウント部27は、カウントテーブルにおける該物体領域の物体IDに対応付けられている停止カウント値を1だけカウントアップする。反対に、両者の位置の差が停止判定閾値よりも大きいと判定された場合、該物体領域は移動したものとして、物体停止時間カウント部27は、カウントテーブルにおける該物体領域の物体IDに対応付けられている停止カウント値を0にリセットする。
【0044】
図4は、現フレーム上で物体領域が特定された場合の例を示している。同図の場合、画面の左下の自動車と、右上の自動車が物体領域として検出されており、それぞれには物体IDとしてID:1とID:3が付与されている。
【0045】
図5は、
図4に対応するカウンタテーブルの一例を示している。同図の場合、物体ID:1の物体領域の停止カウント値は10であり、物体ID:3の物体領域の停止カウント値は0である。これは、物体ID:1の物体領域が停止してから10フレームが経過したことを意味し、物体ID:3の物体領域が移動していることを意味する。ここで、例えば、長短選択閾値が5であると仮定すれば、次のフレームの差分画像が生成される際に、長短選択閾値=5よりも停止カウント値が大きい物体ID:1の物体領域については長期差分が選択され、その他の領域については短期差分が選択されることになる。
【0046】
<画像処理装置12の第1の構成例による物体検出処理>
次に、
図7は、画像処理装置12の第1の構成例による物体検出処理を説明するフローチャートである。
【0047】
この物体検出処理は、撮像装置11から画像処理装置12に入力される入力画像の各フレームに対して実行される。
【0048】
ステップS1において、短期背景画像更新部21は、入力画像の現フレームに基づき、保持する短期背景画像を更新し、更新した短期背景画像を短期背景差分計算部22に出力する。短期背景差分計算部22は、入力画像の現フレームと短期背景画像の対応する画素どうしの輝度値の差分を算出し、その結果を短期差分として背景差分選択部25に出力する。
【0049】
ステップS2において、長期背景画像更新部23は、入力画像の現フレームに基づき、保持する長期背景画像を更新し、更新した長期背景画像を長期背景差分計算部24に出力する。長期背景差分計算部24は、入力画像の現フレームと長期背景画像の対応する画素どうしの輝度値の差分を算出し、その結果を長期差分として背景差分選択部25に出力する。
【0050】
なお、上述したステップS1の処理とステップS2の処理とは、平行して実行することができる。
【0051】
ステップS3において、背景差分選択部25は、前フレームにおいて特定された物体領域のうち、停止カウント値が所定の長短選択閾値以上である物体領域に属する画素については、長期差分を選択し、その他の画素については短期差分を選択して差分画像を生成する。
【0052】
ステップS4において、物体位置計算部26は、背景差分選択部25から入力された差分画像の画素の画素値に着目し、その値が所定の差分閾値以上である画素を抽出し、隣接する画素が抽出された場合にはそれらをグルーピングすることにより物体領域候補を生成して、各物体領域候補に対して新たな物体IDを付与する。
【0053】
ステップS5において、物体位置計算部26は、前のフレームにおいて特定した物体領域を一つずつ注目物体領域に指定する。ステップS6において、物体位置計算部26は、現フレームの物体領域候補のから、注目物体領域と距離が所定の距離閾値以下であって、その距離が最も近いものを特定し、特定した該物体領域候補に前記フレームにおける注目物体領域の物体IDを引き継がせる。さらに、物体位置計算部26は、前フレームの注目物体領域と、現フレームの物体領域候補の位置に基づいて、現フレームにおける物体領域の位置を計算し、計算結果を現フレームの物体領域として特定する。さらに、物体位置計算部26は、特定した現フレームの物体領域の位置情報と物体IDを後段の表示装置13、背景差分選択部25、および物体停止時間カウント部27に出力する。
【0054】
ステップS7において、物体停止時間カウント部27は、前フレームにおいて特定された物体領域と、その物体IDが引き継がれた、現フレームにおいて特定された物体領域との位置の差が所定の停止判定閾値以下であるか否かを判定し、判定結果が肯定(YES)である場合、ステップS8に進み、該物体領域は停止しているものとして、カウントテーブルにおける該物体領域の物体IDに対応付けられている停止カウント値を1だけカウントアップする。反対に、判定結果が否定(NO)である場合、ステップS9に進み、該物体領域は移動したものとして、カウントテーブルにおける該物体領域の物体IDに対応付けられている停止カウント値を0にリセットする。
【0055】
ステップS10において、物体位置計算部26は、前のフレームにおいて特定した物体領域の全てを注目物体領域に指定したか否かを判定する。この判定結果が否定である場合、注目物体領域に指定していないものが残っているので、処理はステップS5に戻され、それ以降が繰り返される。その後、ステップS10における判定結果が肯定(YES)となった場合、処理はステップS11に進められる。
【0056】
ステップS11において、物体位置計算部26は、現フレームの物体領域候補であって、前フレームで特定された物体領域の物体IDを引き継いでいないものについては、そのまま物体領域に特定し、その位置情報と物体IDを後段の表示装置13、背景差分選択部25、および物体停止時間カウント部27に出力する。以上で、物体検出処理は終了される。
【0057】
以上に説明した物体検出処理をフレーム毎に実行することにより、動画像に継続して登場する物体については、その動きや停止に拘わらず、継続して同一の物体IDを付与したまま追尾することができる。また、新たに出現した物体に対しては、新しい物体IDを付与することができる。
【0058】
よって、長期的に停止している物体も含めて物体の経路を特定することが可能となる。監視システム10の具体的に適用例としては、長期間にわたって停止したりうろついたりしている人を不信人物として発見したり、渋滞などで自動車が長時間停車している場合でも正しく交通流量を計測できるなど、長時間停止する被写体を追跡することが可能になる。
【0059】
<画像処理装置12の第2の構成例>
次に、画像処理装置12の第2の構成例をついて説明する。画像処理装置12の第2の構成例は、特に、動画像上において物体の全体が見える状態から、その一部分だけが見える状態となった場合においても、その物体を継続的に追尾できるようにするものである。
【0060】
図8は、画像処理装置12の第2の構成例の動作概要を説明するためのものであり、人物の全身を検出する場合を例にしている。
【0061】
従来、人物の全身を検出対象としている場合、同図の左側の列に示すように、時刻t1のフレームでは人物の全身が検出されてID:1が付与されるが、時刻t2のフレームのように、全身の一部分(同図の場合、頭部)だけが見えている場合、全身を検出対象としているので何も検出されない。そして、時刻t3のフレームでは、人物の全身が検出されるものの、改めてID:2が付与されてしまうことになる。
【0062】
これに対して、画像処理装置12の第2の構成例は、時刻t2のフレームのように、全身の一部分(同図の場合、頭部)だけが見えている場合にも、時刻t2のフレームの全身に付与されたIDと同一のIDが付与されるようにし、さらに、時刻t3のフレームにように再び全身が見えた場合にも、時刻t2のフレームの頭部に付与されたIDと同一のIDが付与されるようにするものである。
【0063】
図9は、画像処理装置12の第2の構成例を示している。画像処理装置12の第2の構成例は、頭部検出領域設定部31、頭部検出部32、全身検出部33、検出手法選択部34、人位置検出部35、および頭部中心座標計算部36から構成される。
【0064】
頭部検出領域設定部31は、オペレータの操作に基づき、
図10に示されるように、撮像範囲の中に遮蔽物が存在することにより、該遮蔽物が人の全身の一部を隠してしまい、頭部だけしか見えなくなってしまう可能性がある領域を頭部検出領域51に設定して、頭部検出部32、全身検出部33、検出手法選択部34および頭部中心座標計算部36に通知する。
【0065】
頭部検出部32は、前段の撮像装置11から入力画像の現フレームが入力される毎に、その頭部検出領域51内から人の頭部を検出し、検出結果に新たな物体IDを付与して頭部領域候補として検出手法選択部34に出力する。全身検出部33は、前段の撮像装置11から入力画像の現フレームが入力される毎に、その頭部検出領域51以外から人の全身を検出し、検出結果に新たな物体IDを付与して全身領域候補として検出手法選択部34に出力する。
【0066】
なお、頭部検出部32における頭部検出や全身検出部33における全身検出には、例えば、(Navneet Dalal and Bill Triggs, “Histogramsof Oriented Gradients for Human Detection”, “International Conference on Computer Vision & Pattern Recognition (CVPR '05) 1 (2005) 886--893")などに記載されている機械学習を用いた方法などの既存の任意の方法を採用することができる。
【0067】
検出手法選択部34は、前フレームにおいて特定された頭部領域および全身領域を一つずつ注目領域に指定し、注目領域の頭部の中心座標が頭部検出領域51内にある場合には、現フレームの頭部領域候補の中から、注目領域の頭部の中心座標との距離が所定の距離閾値以内であって最も近いものを特定し、該頭部領域候補に注目領域の物体IDを引き継がせる。
【0068】
また、検出手法選択部34は、注目領域の頭部の中心座標が頭部検出領域51内にない場合には、現フレームの全身領域候補の中から、注目領域の頭部の中心座標との距離が所定の距離閾値以内であって最も近いものを特定し、該全身領域候補に注目領域の物体IDを引き継がせる。
【0069】
なお、頭部検出部32および全身検出部33が、入力画像の全領域からそれぞれ頭部領域候補、または全身領域候補を検出するようにし、検出手法選択部34が、頭部領域候補については頭部検出領域51内から検出されたものだけを採用し、全身領域候補については頭部検出領域51以外から検出されたものだけを採用するようにしてもよい。
【0070】
人位置計算部35は、前フレームの注目領域と、その物体IDを引き継いだ現フレームの頭部領域候補(または全身領域候補)の位置に基づいて、現フレームにおける頭部領域(または全身領域候補)の位置を計算し、計算結果を現フレームの頭部領域(または全身領域候補)として特定する。なお、頭部領域(または全身領域候補)の位置を計算には、上述した式(3)を用いることができる。
【0071】
また、人位置計算部35は、特定した現フレームの頭部領域および全身領域の位置情報と物体IDを後段の表示装置13、検出手法選択部34、および頭部中心座標計算部36に出力する。
【0072】
頭部中心座標計算部36は、次のフレームに対する処理で用いるため、現フレームで特定した全身領域と頭部領域それぞれの頭部の中心座標を計算し、計算結果を検出手法選択部34に出力する。
【0073】
図11は、全身領域の頭部の中心座標の計算方法を説明する図である。全身領域の頭部の中心座標の計算する場合、特定された全身領域の外接矩形サイズから次式(4)に従って頭部の中心座標(x,y)を計算する。
x=物体幅/2
y=物体高×平均顔サイズ/平均身長/2
・・・(4)
ただし、平均顔サイズと平均身長は、この監視システム10が使われる地域、すなわち、被写体となり得る人種などの平均値を予め設定しておくものとする。
【0074】
図12は、頭部頭域の中心座標の計算方法を説明する図である。頭部領域の中心座標の計算この場合、特定される頭部領域の外接矩形サイズから次式(5)に従って頭部の中心座標(x,y)を計算する。
x=物体幅/2
y=物体高/2
・・・(5)
【0075】
<画像処理装置12の第2の構成例による物体検出処理>
次に、
図13は、画像処理装置12の第2の構成例による物体検出処理を説明するフローチャートである。
【0076】
この物体検出処理は、撮像装置11から画像処理装置12に入力される入力画像の各フレームに対して実行される。
【0077】
ステップS31において、頭部検出領域設定部31は、オペレータの操作に基づき、頭部検出領域51に設定して、頭部検出部32、全身検出部33、検出手法選択部34および頭部中心座標計算部36に通知する。
【0078】
ステップS32において、頭部検出部32は、入力画像の現フレームの頭部検出領域51内から人の頭部を検出し、検出結果に新たな物体IDを付与して頭部領域候補として検出手法選択部34に出力する。ステップS33において、全身検出部33は、入力画像の現フレームの頭部検出領域51以外から人の全身を検出し、検出結果に新たな物体IDを付与して全身領域候補として検出手法選択部34に出力する。
【0079】
なお、上述したステップS32の処理とステップS33の処理とは、平行して実行することができる。
【0080】
ステップS34において、検出手法選択部34は、前フレームにおいて特定された頭部領域および全身領域を一つずつ注目領域に指定する。ステップS35において、検出手法選択部34は、注目領域の頭部の中心座標が頭部検出領域51内にあるか否かを判定する。この判定結果が肯定(YES)である場合、処理はステップS36に進められる。反対に、判定結果が否定(NO)である場合、処理はステップS37に進められる。
【0081】
例えば、前フレームから
図14に示されるように、二つの全身領域と、一つの頭部領域が特定されていて、頭部検出領域51内の頭部領域が注目領域に指定されている場合には処理はステップS36に進められる。また、二つの全身領域のどちらかが注目領域に指定されている場合には処理はステップS37に進められる。
【0082】
ステップS36においては、検出手法選択部34は、現フレームから検出された頭部領域候補の中から、注目領域の頭部の中心座標との距離が所定の距離閾値以内であって最も近いものを特定し、該頭部領域候補に注目領域の物体IDを引き継がせる。人位置計算部35は、前フレームの注目領域と、その物体IDを引き継いだ現フレームの頭部領域候補の位置に基づいて、現フレームにおける頭部領域の位置を計算し、計算結果を現フレームの頭部領域として特定する。そして、人位置計算部35は、特定した現フレームの頭部領域の位置情報と物体IDを後段の表示装置13、検出手法選択部34、および頭部中心座標計算部36に出力する。
【0083】
一方、ステップS37においては、検出手法選択部34は、現フレームから検出された全身領域候補の中から、注目領域の頭部の中心座標との距離が所定の距離閾値以内であって最も近いものを特定し、該全身領域候補に注目領域の物体IDを引き継がせる。人位置計算部35は、前フレームの注目領域と、その物体IDを引き継いだ現フレームの全身領域候補の位置に基づいて、現フレームにおける全身領域の位置を計算し、計算結果を現フレームの全身領域として特定する。そして、人位置計算部35は、特定した現フレームの全身領域の位置情報と物体IDを後段の表示装置13、検出手法選択部34、および頭部中心座標計算部36に出力する。
【0084】
ステップS38において、頭部中心座標計算部36は、現フレームで特定した頭部領域または全身領域の頭部の中心座標を計算し、計算結果を検出手法選択部34に出力する。
【0085】
ステップS39において、検出手法選択部34は、前フレームにおいて特定された頭部領域および全身領域の全てを注目領域に指定したか否かを判定する。この判定結果が否定である場合、注目領域に指定していないものが残っているので、処理はステップS34に戻されてそれ以降が繰り返される。その後、ステップS39における判定結果が肯定である場合、処理はステップS40に進められる。
【0086】
ステップS40において、人位置計算部35は、現フレームの頭部領域候補または全身領域候補であって、前フレームで特定された頭部領域または全身領域の物体IDを引き継いでいないものについては、そのまま頭部領域または全身領域に特定し、その位置情報と物体IDを後段の表示装置13、背景差分選択部25、および物体停止時間カウント部27に出力する。以上で、物体検出処理は終了される。
【0087】
以上に説明した物体検出処理をフレーム毎に実行することにより、動画像に継続して登場する物体については、その一部が隠れたとしても、継続して同一の物体IDを付与したまま追尾することができる。また、新たに出現した物体に対しては、新しい物体IDを付与することができる。
【0088】
監視システム10の具体的に適用例としては、工場の作業効率化検討のための作業員の動線解析や、客がどういう行動をとったかを記録してその情報をマーケティング利用するといったことも可能になる。
【0089】
なお、画像処理装置12の第2の構成例は、全身のうちの頭部だけが見える場合について説明したが、例えば、頭部以外の身体のパーツに関する特徴量(顔の特徴量,スポーツ選手等が着用するユニフォーム・作業服の固有のマークに関する特徴量など)を学習しておけば、それらを検出して追尾することも可能となる。
【0090】
ところで、画像処理装置12の上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウェアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
【0091】
図15は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。
【0092】
コンピュータ200において、CPU(Central Processing Unit)201,ROM(Read Only Memory)202,RAM(Random Access Memory)203は、バス204により相互に接続されている。
【0093】
バス204には、さらに、入出力インタフェース205が接続されている。入出力インタフェース205には、入力部206、出力部207、記憶部208、通信部209、およびドライブ210が接続されている。
【0094】
入力部206は、キーボード、マウス、マイクロフォンなどよりなる。出力部207は、ディスプレイ、スピーカなどよりなる。記憶部208は、ハードディスクや不揮発性のメモリなどよりなる。通信部209は、ネットワークインタフェースなどよりなる。ドライブ210は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア211を駆動する。
【0095】
以上のように構成されるコンピュータでは、CPU201が、例えば、記憶部208に記憶されているプログラムを、入出力インタフェース205およびバス204を介して、RAM203にロードして実行することにより、上述した一連の処理が行われる。
【0096】
なお、コンピュータ200が実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであってもよいし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであってもよい。
【0097】
なお、本開示の実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。