(58)【調査した分野】(Int.Cl.,DB名)
自然光又は照明光の光量と照射方向とのうち少なくともいずれかが変動する可能性のある環境下で撮像された時系列順に並んだ複数枚の撮像画像を用い、該撮像画像内に含まれる動体の像を動体画像として抽出する動体画像抽出方法であって、
前記動体による影響が排除された背景画像を取得するとともに、該背景画像の画素ごとに輝度値と輝度値のバラツキの程度を示す変動係数を生成する背景画像取得ステップと、
前記背景画像取得ステップにより取得された前記背景画像と前記撮像画像との画素ごとの輝度差分値を算出し、算出された輝度差分値と前記変動係数とを比較して、前記背景画像と前記撮像画像との差分である差分画像に前記撮像画像の画素を採用するか否かを決定しつつ、差分画像を生成する差分画像生成ステップと、
前記背景画像と前記撮像画像から前記背景画像を更新する背景画像更新ステップと、
前記差分画像生成ステップにより生成された前記差分画像から1つの動体である可能性のある部分画像を動体候補として抽出する動体候補抽出ステップと、
前記動体候補抽出ステップにより複数の前記動体候補が抽出された場合に、複数の前記動体候補から適切な前記動体候補を絞り込む動体候補絞込ステップと
を含んだことを特徴とする動体画像抽出方法。
前記背景画像取得ステップは、撮像タイミングの異なる複数の撮像画像について、同一の位置に対応する画素ごとに前記複数の撮像画像の輝度値の分布を分析して、輝度値の分布に対して特異な値を示す輝度値を除外して、除外されずに残った輝度値を使用して背景画像の画素の輝度値を算出することを特徴とする請求項1に記載の動体画像抽出方法。
前記動体候補抽出ステップは、前記差分画像生成ステップで生成された前記差分画像から、連続する対象物の画素群を1つの動体候補として抽出し、抽出した動体候補の輝度値に関係する特性を評価し、当該特性の評価結果から前記動体候補に含まれる対象物の画素が影であるか否かを判定するための影判定閾値である輝度値を決定し、当該影判定閾値である輝度値によって前記動体候補から影の除去を行うことを特徴とする請求項1〜6のいずれか一つに記載の動体画像抽出方法。
前記動体候補抽出ステップは、前記差分画像生成ステップで生成された前記差分画像から、連続する対象物の画素群を1つの動体候補として一旦抽出し、別の候補として抽出された動体候補の組合せの中で、同一動体候補の可能性があると判定される複数の動体候補を融合した融合動体候補を追加して前記包含関係のある動体候補のグループとすることを特徴とする請求項8に記載の動体画像抽出方法。
自然光又は照明光の光量と照射方向とのうち少なくともいずれかが変動する可能性のある環境下で撮像された時系列順に並んだ複数枚の撮像画像を用い、該撮像画像内に含まれる動体の像を動体画像として抽出する動体画像抽出装置であって、
前記動体による影響が排除された背景画像を取得するとともに、該背景画像の画素ごとに輝度値と輝度値のバラツキの程度を示す変動係数を生成する背景画像取得手段と、
前記背景画像取得手段により取得された前記背景画像と前記撮像画像との画素ごとの輝度差分値を算出し、算出された輝度差分値と前記変動係数とを比較して、前記背景画像と前記撮像画像との差分である差分画像に前記撮像画像の画素を採用するか否かを決定しつつ、差分画像を生成する差分画像生成手段と、
前記背景画像と前記撮像画像から前記背景画像を更新する背景画像更新手段と、
前記差分画像生成手段により生成された前記差分画像から1つの動体である可能性のある部分画像を動体候補として抽出する動体候補抽出手段と、
前記動体候補抽出手段により複数の前記動体候補が抽出された場合に、複数の前記動体候補から適切な前記動体候補を絞り込む動体候補絞込手段と
を備えたことを特徴とする動体画像抽出装置。
【実施例】
【0024】
まず、本実施例に係る動体検出に係る背景画像の生成処理、更新処理及び差分検出閾値の設定処理の概要について説明する。
図1は、本実施例に係る動体検出に係る背景画像の生成処理、更新処理及び差分検出閾値の設定処理の概要を説明するための説明図である。
【0025】
公共交通機関、交差点又は建造物などに設置された監視カメラで撮像された監視対象領域の入力画像から動体を検出するために、動体の含まれない監視対象領域の画像(以下、「背景画像」と言う)と、背景画像と入力画像の差分から動体を検出する際の閾値とがあらかじめ設定される。日照等の撮像環境の変化によって画像全体の明暗やコントラストの強さが影響を受けるため、かかる背景画像と閾値は、日照等の撮像環境の変化にともなって逐次更新される。
【0026】
まず、動体の検出対象となる入力画像を受け付ける前に事前に準備する初期背景画像の生成処理について説明する。
図1に示すように、この初期背景画像は、例えば、あらかじめ準備した10枚の画像(画像#1〜画像#10)を用いて生成される。かかる画像#1〜画像#10は、日照等の画像撮像に係る環境変化が比較的少ない期間(例えば10分間)に監視対象領域を撮像した任意の10枚の画像である。かかる画像#1〜画像#10には、動体が含まれていても良いが、もし10枚全ての同一位置に動体が含まれていると該動体は背景の一部であるものとみなされる。
【0027】
具体的には、初期背景画像を生成する際には、画像#1〜画像#10の同一位置に所在する画素ごとに、輝度値のバラツキを調べ、バラツキの大きな画素は動体の写りこみによるものとして排除し、残った画素の輝度値の平均値及び輝度値のバラツキの程度を示す変動係数を算出し、算出した輝度値と輝度値の変動係数を画素値として持つ背景画像を生成する。
【0028】
次に、差分画像の生成処理では、初期背景画像と、入力画像#1を用いて差分画像#1を生成する。具体的には、入力画像の各画素の輝度値と該入力画像の各画素の画素位置に対応する初期背景画像の画素の画素値に含まれる輝度値とを比較し、両輝度値の差が初期背景画像の画素の画素値に含まれる変動係数の所定の倍数未満である場合には、差分画像#1の対応する画素の画素値をゼロとし、輝度値の差が変動係数の所定の倍数以上である場合には、両輝度値の差の絶対値を該画素の画素値とする。この差分画像#1は、画素値がゼロでない部分が動体を形成する画素である可能性があるため、以降の動体画像抽出処理の入力情報となる。
【0029】
次に、背景画像の更新処理について説明する。ここでは、初期背景画像と入力画像#1を用いて、次回に用いる背景画像(第二世代の背景画像)を生成する。かかる第二世代の背景画像の各画素の画素値は、初期背景画像の画素値である輝度値及び輝度値の変動係数と、入力画像#1の画素値と、画素ごとの反映比率(以下、「第一の反映比率」と言う)を用いて算出される。この反映比率とは、画素ごとに初期の背景画像に反映させる入力画像#1の割合を表すものである。具体的には、ある画素に対応する初期背景画像の輝度値をv1(t)、輝度値の変動係数をσ(t)、同じ画素に対応する入力画像#1の輝度値をv2(t)とした場合に、同じ画素に対応する第二世代の背景画像の輝度値をv1(t+1)、輝度値の変動係数をσ(t+1)とすると、第二世代の背景画像の輝度値v1(t+1)は、v1(t+1)=v1(t)×(1−(反映比率))+v2(t)×(反映比率)で算出し、第二世代の背景画像の輝度値の変動係数σ(t+1)は、σ(t+1)=σ(t)×(1−(反映比率))+abs(v1(t)−v2(t))×(反映比率)で算出する。なお、abs(x)はxの絶対値を返す関数を示す。
【0030】
入力画像#1は、最新の監視対象領域を撮像した画像であることから背景の部分に関しては日照等の環境変化を反映した画像となっている反面、部分的に動体が含まれている可能性がある。このことを考慮して、入力画像#1の日照等の環境変化による影響は背景画像になるべく反映し、入力画像#1に写り込んだ動体の情報は背景画像になるべく反映させないようにする。
【0031】
具体的には、画素ごとに入力画像と直前画像との輝度値の差分を算出し、該差分を所定の正規化規則を用いて変換を行うことによって、差分が大きければ小さな、差分が小さければ大きな、0より大きく1未満の第二の反映比率を算出する。また、入力画像全体に対して入力画像の直前画像との差異が画像全体に広がっている程度(以下、「差異広がり値」と言う)を算出し、該差異広がり値を所定の正規化規則を用いて変換を行うことによって、差異広がり値が大きければ大きな、差異広がり値が小さければ小さな、0より大きく1未満の第三の反映比率を算出する。画素ごとに該第二の反映比率と該第三の反映比率を乗算して、画素ごとの第一の反映比率を算出し、このようにして算出された該第一の反映比率と背景画像と入力画像とを使って第二世代の背景画像を生成する。
【0032】
同様にして第二世代の背景画像と入力画像#2とから差分画像#2を生成し、第二世代の背景画像と入力画像#2とから第三世代の背景画像を生成する。以降についても、同様に、入力画像を入力の都度、背景画像の画素ごとの輝度値及び輝度値の変動係数が更新されることによって、日照等の環境の変化にともなう背景画像及び閾値の逐次更新が行われる。
【0033】
このように、監視対象の領域を撮像した複数枚の画像を基にして、画素ごとに平均輝度値及び輝度値のバラツキの程度を示す変動係数を有する背景画像を生成し、該背景画像の画素ごとの輝度値と、入力画像の同一位置に対応する画素の輝度値とを比較して、背景画像の画素ごとに有する変動係数の所定倍を閾値として動体を抽出する。また、動体画像を抽出する入力画像の入力の都度、日照等の環境変化による背景画像の変化を背景画像に対して逐次自動反映した背景画像を更新設定するようにしたことから、撮像環境が変化しても人的労力を要することなく適切な閾値を設定し、もって動体画像を効率的に抽出することができる。
【0034】
次に、本実施例に係る動体検出処理全体の処理概要を説明する。
図2は、本実施例に係る動体検出処理全体の処理概要を説明するための説明図である。
【0035】
初期背景画像生成処理は、
図1で示した通り、(a)に示す監視対象領域を撮像した画像10枚を入力として、(b)に示す初期の背景画像を生成する処理である。初期背景画像生成処理は、
図2に示すように入力となる(a)の10枚の画像に動体が含まれていても、該動体の影響を排除して(b)に示す背景画像のデータを生成することが可能である。
【0036】
差分画像生成処理は、(b)に示す背景画像と(c)に示す入力画像の輝度値を画素ごとに比較して、輝度値の差が背景画像の当該画素の変動係数の所定倍である閾値以上の差のある画素を抽出する処理である。この差分画像生成処理によって、動体ではない背景画像に対応する画素は除外され、背景画像と差異有と判定された画素で構成される動体候補が抽出される。また、本実施例では、同一の監視対象領域を時刻、天候、季節を問わず様々な条件で撮像した入力画像から動体候補の画像抽出を行うために、明暗のコントラストの弱い夜間などでも動体候補を抽出できるようにコントラストに敏感な閾値の設定をする。
【0037】
また、背景画像更新処理は、(b)に示す背景画像と(c)に示す入力画像を入力情報として(b)に示す背景画像を更新する処理である。背景画像は日照等の環境の変化の影響を受けることから、初期背景画像生成処理で一旦生成後も、環境の変化にともなう影響を逐次背景画像に反映する。背景画像更新処理は、(c)に示す入力画像に動体が含まれていても、その動体の影響を排除して(b)に示す背景画像の更新を行う。
【0038】
差分画像生成処理で生成した差分画像が、
図2の(d)の差分画像に示すように動体の影が差分として抽出されていることを考慮して、影除去処理では、(d)に示す差分画像から影の除去処理を実施して、(e)に示す影除去後差分画像の生成をする。これは、夜間などでも動体候補を抽出できるようにコントラストに敏感な閾値の設定をしたことにより、明暗のコントラストの強い日中の画像などでは影を差分として抽出してしまうからである。
【0039】
次に、動体候補抽出処理は、(e)に示す影除去後差分画像から、(f)に示す動体候補を抽出する処理である。具体的には、(e)に示す影除去後差分画像で隣接する差分画素を一つの動体として矩形で識別し、独立する別の動体候補として抽出された動体候補が、同一の動体である可能性を考慮して、複数の動体候補を融合した動体候補も含めて抽出し、所定サイズ以下の候補を排除する。(f)に示す動体候補は、(e)に示す影除去後差分画像から生成したもので、Obj1〜Obj4の4つの動体候補が抽出されたことを示している。また動体候補Obj1は、動体候補Obj2と動体候補Obj3との融合した動体候補であり、この段階では動体候補Obj1が1つの動体なのか、動体候補Obj2と動体候補Obj3が独立した別の動体なのかの判断ができないので、両方の候補を含めたものとなっている。
【0040】
次に、動体候補絞込処理は、(f)に示す動体候補には、動体候補Obj2と動体候補Obj3とを融合した動体候補Obj1と、融合前の動体候補Obj2、動体候補Obj3とが含まれていることから、動体候補Obj1が1つの動体なのか、動体候補Obj2と動体候補Obj3が独立した別の動体なのかの判定を行うことによって、いずれかの不適切な動体候補を削除して、動体を決定する処理である。
図2の動体候補絞込処理は、(f)に示す動体候補から、動体候補Obj2と動体候補Obj3は独立した別動体と判定して、動体候補Obj1を削除した(k)に示す絞込済動体候補を決定したことを示している。動体候補絞込処理は、動体候補抽出処理で抽出された(f)に示す動体候補の情報と、(g)及び(h)に示す直前の2枚の画像から抽出された動体候補の情報と、(i)及び(j)に示す直後の2枚の画像から抽出された動体候補の情報とを用いて、動体候補Obj2と動体候補Obj3が独立した動体なのか、動体候補Obj1が1つの動体なのかの判定を実施する。
【0041】
なお、(b)に示す背景画像、(d)に示す差分画像、(e)に示す影除去後差分画像、(f)に示す動体候補、(g)及び(h)に示す直前の2枚の画像の動体候補、(i)及び(j)に示す直後の2枚の画像の動体候補及び(k)に示す絞込済動体候補は、説明の便宜上、(a)に示す撮像した画像や(c)に示す入力画像の画像データと同様に表現しているが、データ形式やデータ保有項目は(a)に示す撮像した画像や(c)に示す入力画像とは異なる。(b)に示す背景画像は、画素ごとの輝度値と輝度値の変動係数を有している。(d)に示す差分画像は、差分が所定値未満の部分の画素値がゼロで、差分が所定値以上の部分の画素値は背景画像の輝度値と入力画像の輝度値の差の絶対値を有するデータである。(e)に示す影除去後差分画像のデータ形式は(d)に示す差分画像と同様である。(f)に示す動体候補、(g)及び(h)に示す直前の2枚の画像の動体候補、(i)及び(j)に示す直後の2枚の画像の動体候補及び(k)に示す絞込済動体候補は、矩形で囲われた動体候補ごとに入力画像上の矩形の位置、サイズ、矩形内の動体の画素情報などを有している。
【0042】
次に、本実施例に係る動体画像抽出装置30の内部構成を説明する。
図3は、本実施例に係る動体画像抽出装置30の内部構成を示すブロック図である。
図3に示すように、動体画像抽出装置30は、ネットワーク20を介して監視カメラ10に接続されている。なお、本実施例では、ネットワーク20を経由して監視カメラ10で撮像された画像を動体画像抽出装置30に入力させることとしたが、本発明はこれに限定するものではない。CD、DVD、USBメモリ、SDメモリ及びコンパクトフラッシュ(登録商標)メモリの外部メディアから読み出した画像や、PCの画面に表示された画像をキャプチャーボードで取り込んだ画像などを、動体画像抽出装置30に入力させることとしてもよい。
【0043】
動体画像抽出装置30は、I/F部31、表示部32、入力部33、記憶部34及び制御部35を有する。I/F部31は、監視カメラ10により撮像された監視画像データをネットワーク20経由で受信するためのインタフェース部である。表示部32は、液晶パネルやディスプレイ装置等であり、入力部33は、キーボードやマウス等である。
【0044】
記憶部34は、フラッシュメモリ又はハードディスク装置等からなる記憶デバイスであり、蓄積画像データ34a、背景画像データ34b、処理パラメータ34c、差分画像データ34d及び動体候補データ34eを有する。蓄積画像データ34aは、監視カメラ10により撮像された画像データであり、日付及び時間に対応付けて記録されている。
【0045】
背景画像データ34bは、監視カメラ10で撮像する領域の動体を除外した背景の画像データであり、監視カメラ10で撮像した入力画像から差分画像を生成する時に使用する。背景画像データ34bは、後述する初期背景画像生成部35bによって生成され、後述する背景画像更新部35dによって逐次更新される。背景画像データ34bは、画像の幅、画像の高さ及び画素情報等を有している。画素情報は(画像の幅)×(画像の高さ)で算出される数の画素の情報を有し、各画素の情報はその画素の輝度値と輝度値のバラツキの程度を示す変動係数とを有している。
【0046】
処理パラメータ34cは、監視カメラ10で撮像した画像から動体候補の画像を抽出するための設定パラメータである。処理パラメータ34cは、例えば、マスク領域情報である。マスク領域情報は、入力画像の中で動体検知の対象外の領域の設定である。入力画像と背景画像の差分を算出時には、本マスク領域に対応する画素の輝度値の比較は実施せず、差分画像の画素値には固定的に差異なしを意味するゼロを設定する。若しくは本マスク領域に対する差分の算出処理を実行しないようにしても良い。
【0047】
差分画像データ34dは、監視カメラ10で撮像した入力画像と背景画像との差分のデータであり、
図2の(d)差分画像に相当する。
【0048】
動体候補データ34eは、差分画像データ34dを基にして抽出した動体候補若しくは動体の情報である。動体候補データ34eは、入力画像から抽出した全ての動体候補に関する情報を有する。例えば、抽出された動体候補ごとに、動体候補の矩形の左上の画像上の位置、矩形の幅と高さなどを有する。
【0049】
制御部35は、動体画像抽出装置30を全体制御する制御部であり、画像取得部35a、初期背景画像生成部35b、差分画像生成部35c、背景画像更新部35d、影除去部35e、動体候補抽出部35f及び動体候補絞込部35gを有する。実際には、これらの機能部に対応するプログラムを図示しないROMや不揮発性メモリに記憶しておき、それぞれのプログラムをCPU(Central Processing Unit)が実行することにより、それぞれに対応するプロセスを実行させることになる。
【0050】
画像取得部35aは、監視カメラ10の撮像した画像データをネットワーク20及びI/F部31を経由して入手して、蓄積画像データ34aに記憶する。または、ビデオレコーダなどの再生信号を入手する形態であってもよい。
【0051】
初期背景画像生成部35bは、
図2を用いて説明した初期背景画像生成処理を行う。具体的には、日照等の画像撮像に係る環境変化が比較的少ない所定の期間(例えば10分)内に、本装置の起動時に監視カメラ10で撮像した複数枚の画像を入力情報として、背景画像データ34bを生成する。初期背景画像生成部35bは、所定の期間(例えば10分間)内に撮像した任意の10枚の画像に動体が写りこんでいても、動体の影響を排除した背景画像を生成する。具体的には、10枚の画像の画素ごとに、輝度値のバラツキを調べ、バラツキの大きな画素は動体の写りこみによるものとして、当該画素を排除して、残った画素を使って画素ごとの平均の輝度値及び輝度値のバラツキの程度を示す変動係数を算出して、該輝度値及び変動係数を画素値として有する背景画像を背景画像データ34bに記憶する。
【0052】
差分画像生成部35cは、初期背景画像生成部35bが背景画像データ34bを生成後に、監視カメラ10で撮像された入力画像を受け付けて、背景画像データ34bと入力画像を比較することによって差分画像データ34dを生成する。詳細な処理手順は後述する。
【0053】
背景画像更新部35dは、入力画像から得られる最新の背景画像の情報によって背景画像データ34bの更新処理を行う。ただし、入力画像には動体が写りこんでいる場合があるので、背景画像更新部35dは、写りこんでいる動体の影響を排除して背景画像データ34bの更新処理を行う。詳細な処理手順は後述する。
【0054】
影除去部35eは、差分画像生成部35cの生成した差分画像データ34dから影の影響と判定される部分の差分値をゼロとすることによって影の除去を行う。具体的には隣接する差分画素のひとかたまりを動体候補として、該動体候補ごとに影を判定する閾値を所定の規則で算出して、画素ごとの差分値が該閾値以下の画素については影であると判定して、影と判定した差分画像の画素値にゼロを設定する。
【0055】
動体候補抽出部35fは、差分画像生成部35cが生成した差分画像データ34dから、隣接する差分画素をまとめた差分画素群を一つの動体候補として抽出し、動体候補データ34eに登録する。また、動体候補抽出部35fは、影除去部35eが生成した影除去後の差分画像データ34dから、隣接する差分画素を一つの動体候補として抽出し、独立な別の動体候補として抽出された複数の動体候補が同一の動体であることの可能性を考慮して、複数の動体候補を融合した動体候補も併せて抽出し、その後所定サイズ以下の候補を排除する。詳細な処理手順は後述する。
【0056】
動体候補絞込部35gは、動体候補抽出部35fの登録した動体候補データ34eに含まれる不適切な動体候補を削除して、適切な動体候補を決定する処理である。動体候補絞込部35gは、入力画像の時系列的な前後の画像から抽出された動体候補の情報を用いて不適切な動体候補を判定し、動体候補データ34eから不適切な動体候補を削除する。詳細な処理手順は後述する。
【0057】
次に、本実施例に係る差分画像生成の概要を説明する。
図4は、本実施例に係る差分画像生成の概要を説明するための説明図である。
【0058】
差分画像は、背景画像である背景画像データ34bと入力画像を用いて生成する。背景画像データ34bは画素ごとに輝度値と輝度値のバラツキの程度を示す変動係数とを有している。一方、入力画像は、画素ごとには輝度値のみを有している。背景画像データ34bの画素ごとの情報から、動体が入りこまなければ同一位置に対応する画素の輝度値は、背景画像データ34bの対応する画素の輝度値を平均として、変動係数をバラツキとする分布であると想定される。
【0059】
これに対して、差分を検出する判定基準を、画素ごとの輝度値の差の絶対値が変動係数の2倍以上の差異のある画素とした場合、背景画像の画素の輝度値がv1変動係数がσで、入力画像の対応する画素の輝度値がv2の場合には、v1−2σ<v2<v1+2σの場合には動体による影響ではないと判定し、差分画像データ34dの画素ごとの差分値にはゼロを設定する。また、v2≧1+2σ又はv2≦v1−2σの場合には差異は動体による影響であると判定し、差分画像データ34dの画素値には(v1−v2)の絶対値を設定する。
【0060】
次に、
図1に示した動体画像抽出装置30による差分画像生成の処理手順を説明する。
図5は、動体画像抽出装置30による差分画像生成の処理手順を示すフローチャートである。
【0061】
まず、差分画像生成部35cは、監視カメラ10の撮像した入力画像をグレーの多階調画像に変換する(ステップS201)。また、差分画像生成部35cは、入力画像に対して所定のガウシアンフィルターを適用することによって、ノイズカット処理を行う(ステップS202)。
【0062】
次に、差分画像生成部35cは、監視カメラ10のゆれによって背景画像に比較して入力画像が上下左右又は斜めのいずれかの方向に所定の画素数分以下のずれが発生しているか否かの判定を行い、ずれの発生が判定された場合には入力画像のずれの補正を行う(ステップS203)。
【0063】
次に、入力画像の中の1つの画素を抽出し(ステップS204)、抽出した画素が処理パラメータ34cに規定されるマスク領域内か否かの判定を行う(ステップS205)。ステップS204で抽出した画素が処理パラメータ34cに規定されるマスク領域内の場合(ステップS205;Yes)には、差分画像データ34dの当該画素に対する画素差分値にゼロを書き込んで(ステップS209)、ステップS210に移行する。
【0064】
ステップS204で抽出した画素が処理パラメータ34cに規定されるマスク領域外の場合(ステップS205;No)には、入力画像の当該画素の輝度値と背景画像の当該画素の輝度値の差の絶対値を算出する(ステップS206)。算出した輝度値の差の絶対値が、背景画像データ34bの画素情報の当該画素に対応する変動係数の所定数倍とする閾値(以下、差分判定閾値と言う)未満の場合(ステップS207;Yes)には、差分画像データ34dの当該画素に対する画素差分値にゼロを書き込んで(ステップS209)、ステップS210に移行する。
【0065】
算出した輝度値の差の絶対値が、差分判定閾値以上の場合(ステップS207;No)には、差分画像データ34dの当該画素に対する画素差分値に算出した輝度値の差の絶対値を書き込んで(ステップS208)、ステップS210に移行する。
【0066】
次に、ステップS204〜ステップS209までの処理を全ての画素に対して実施済みか否かの判定を行い(ステップS210)、ステップS204〜ステップS209までの処理を実施していない画素が存在する場合(ステップS210;No)には、ステップS204に移行する。また、全ての画素に対してステップS204〜ステップS209の処理を実施済の場合(ステップS210;Yes)には、背景画像更新部35dは、入力画像と背景画像データ34bとから背景画像データ34bを更新して(ステップS211)、処理を終了する。ステップS211の背景画像データ34bの詳細な更新手順は後述する。
【0067】
次に、
図5に示した動体画像抽出装置30による背景画像更新の処理手順を説明する。
図6は、動体画像抽出装置30による背景画像更新の処理手順を示すフローチャートである。
【0068】
背景画像更新部35dは、直前の入力画像と現在の入力画像から処理を行う画素を1つ抽出して(ステップS301)、直前の入力画像と現在の入力画像の抽出された画素の輝度値の差の絶対値を算出する(ステップS302)。具体的には直前の入力画像の画素をf(i,j)(0≦i<x、0≦j<y)として現在の入力画像の画素をg(i,j)(0≦i<x、0≦j<y)、直前の入力画像と現在の入力画像の差分画像の画素をΔg(i,j)(0≦i<x、0≦j<y)とすると、g(i,j)−f(i,j)の絶対値を算出してΔg(i,j)に記憶する。こうして算出されるΔg(i,j)の値が大きい場合には、当該画素は動体の影響である可能性が高い。
【0069】
次に、背景画像更新部35dは、当該画素に対するΔg(i,j)の値から現在の入力画素値g(i,j)の背景画像データ34bへの反映比率であるα(i,j)を決定する(ステップS303)。具体的には、Δg(i,j)を所定の正規化規則を用いて変換を行うことによって、差分が大きければ小さな、差分が小さければ大きな、0より大きく1未満のα(i,j)を算出する。
【0070】
ステップS301〜ステップS303の処理が全ての画素に対して終了していない場合(ステップS304;No)には、ステップS301に移行する。ステップS301〜ステップS303の処理が全ての画素に対して終了済の場合(ステップS304;Yes)には、全ての画素に対応する反映比率α(i,j)が決定されたこととなるので、ステップS305に移行する。
【0071】
次に、背景画像更新部35dは、差分画像Δg(i,j)の中の各画素の輝度値の差分の絶対値が所定値以上の画素を抽出し(ステップS305)、抽出された差分の絶対値が所定値以上の画素群の重心位置を算出し(ステップS306)、該重心位置からステップS305で抽出した全ての画素までの平均距離ave_dを算出する(ステップS307)。更に、背景画像更新部35dは、ステップS305で抽出した差分の絶対値が所定値以上の画素数の入力画像の全体画素数に対する割合ρを算出する(ステップS308)。
重心からの平均距離ave_dや差分の絶対値が所定値以上の画素数の入力画像の全体画素に対する割合ρが大きい場合には、所定値以上の輝度値の差のある画素が広範囲に散らばっていることを意味することから、局所的な変化をもたらす動体の写り込みによる影響ではなく、日照等の全体的な背景画像の変化の影響であることが想定できる。
【0072】
背景画像更新部35dは、ステップS307で算出した所定値以上の輝度値の差の画素の重心からの平均距離ave_dとステップS308で算出した差分の絶対値が所定値以上の画素数の入力画像の全体画素に対する割合ρとの積を求め、この値に基づいて、現在の入力画像全体の背景画像データ34bへの0より大きく1未満の反映比率βを決定する(ステップS309)。
【0073】
背景画像更新部35dは、ステップS301〜ステップS303で決定した画素ごとの入力画像の背景画像データ34bへの反映比率α(i,j)と、ステップS309で決定した入力画像全体の背景画像データ34bへの反映比率βとから、背景画像データ34bの画素ごとの輝度値h1(i,j)(0≦i<x、0≦j<y)と画素ごとの変動係数h2(i,j)(0≦i<x、0≦j<y)とを更新する(ステップS310)。具体的には、変更後の画素ごとの輝度値は、h1(i,j)=h1(i,j)×(1−α(i,j)×β)+g(i,j)×α(i,j)×βによって算出する。画素ごとの変動係数は、h2(i,j)=h2(i,j)×(1−α(i,j)×β)+abs(g(i,j)−h1(i,j))×α(i,j)×βによって算出する。なお、abs(x)はxの絶対値を返却する関数を示す。
【0074】
本実施例では、1枚の直前画像と入力画像とから画素ごとの反映比率α(i,j)及び画像全体の反映比率βを算出する例を示したが、より精度を高めるために、複数枚の直前画像と入力画像からそれぞれの直前画像に対する画素ごとの反映比率α(i,j)及び画像全体の反映比率βを算出して、複数の直前画像に対応する反映比率α(i,j)の最小値を画素ごとの反映比率とし、それぞれの直前画像に対応する反映比率βの最大値を画像全体の反映比率としても良い。
【0075】
次に、
図2に示した動体画像抽出装置30による動体候補抽出の処理手順を説明する。
図7は、動体画像抽出装置30による動体候補抽出の処理手順を示すフローチャートである。
【0076】
動体候補抽出部35fは、背景画像データ34bと入力画像から差分画像生成部35cが生成した(a)に示す差分画像である差分画像データ34dから、隣接する差分画素をまとめた差分画素群を1つの動体候補として、(b)に示す第一段階動体候補を抽出し、抽出した動体候補ごとに動体候補を構成する画素に係る情報を動体候補データ34eに登録する(ステップS401)。(b)に示す第一段階動体候補は、ステップS401の動体候補抽出処理(第一段階)によって、7個の動体候補Obj1〜Obj7が抽出された例を示している。
【0077】
次に、影除去部35eは、(b)の第一段階動体候補に示す抽出された動体候補Obj1〜Obj7ごとに、影除去の処理を行い(ステップS402)、影と判定した差分画素を排除した影除去後の(c)に示す差分画像を生成して、差分画像データ34dの内容を更新する(ステップS403)。(c)に示す影除去後差分画像は、(b)に示す第一段階動体候補に図示した動体候補Obj2、Obj3及びObj5に含まれていた影が除去された例を示している。
【0078】
次に、動体候補抽出部35fは、差分画像データ34dに記憶されている(c)に示す影除去後差分画像から、ステップS401と同様の処理を行うことによって、影除去された動体候補として、(d)に示す第三段階動体候補を抽出し、抽出した動体候補を動体候補データ34eに登録する(ステップS404)。(d)に示す第三段階動体候補は、ステップS404の動体候補再抽出処理(第三段階)によって、7個の動体候補Obj1、Obj12、Obj13、Obj4、Obj15、Obj6及びObj7が抽出された例を示している。また、(d)に示す第三段階動体候補は、(b)に示す第一段階動体候補と比較すると、(b)に示す第一段階動体候補で影を含んでいた動体候補Obj2、Obj3及びObj5が、ステップS402による影除去処理の結果、それぞれ影が除去された動体候補Obj12、Obj13及びObj15として抽出された例を示している。
【0079】
ステップS404で抽出された(d)に示す第三段階動体候補は、現実には1つの動体が複数の動体候補として抽出されていることもある。このようなことを考慮して、動体候補抽出部35fは、同一の動体の可能性があると判定される動体候補を、所定のルールに従って抽出し、複数の動体候補を融合させた動体候補を含めた(e)に示す第四段階動体候補を生成し、動体候補データ34eに反映する(ステップS405)。本処理の詳細な処理手順は後述する。(e)に示す第四段階動体候補は、ステップS405の動体候補融合処理(第四段階)により、動体候補Obj12とObj13が同一の動体である可能性があると判定し、(d)に示す第三段階動体候補で示された動体候補に加えて動体候補Obj12とObj13とを融合させた動体候補Obj20が追加となった例を示している。
【0080】
次に、動体候補抽出部35fは、(e)に示す第四段階動体候補から、検出対象とする画像上の大きさの上限値及び下限値と比較して、大きさが該上限値を超えるか該下限値を下回るような動体候補の除外を行って、動体候補データ34eに反映する(ステップS406)。(f)に示す第五段階動体候補は、ステップS406の動体候補絞込処理(第五段階)により、(e)に示す第四段階動体候補に存在した動体候補Obj1、Obj4、Obj6及びObj7が検出対象動体の大きさの下限値を下回ったことによって削除された例を示している。
【0081】
次に、
図7に示した動体候補融合処理の概念を説明する。
図8は、動体候補融合処理の概念を説明するための説明図である。
図8による動体候補融合処理の概念の説明では便宜上、
図7で示した動体候補再抽出処理(ステップS404)において、
図8の(a)に示すようにObj1〜Obj3の3つの動体候補が抽出されたケースを想定して説明を行う。
【0082】
まず、(a)に示す全ての動体候補間の融合率を算出して、動体候補融合率表T1を生成する。2つの動体候補i、動体候補jについて、動体候補iに対する動体候補jの融合率とは、動体候補iの矩形の範囲内に、動体候補jの差分画素の含まれている割合を示す。動体候補融合率表は、動体候補数がn個であった場合にはn行n列の表であり、i行j列の要素は、動体候補iに対する動体候補jの融合率を示す。動体候補融合率表T1は、全ての動体候補の矩形が他の動体候補の差分画素に重なっていないことから、動体候補間の融合率の全ての要素は「0%」であることを示している。動体候補の融合は、融合率が所定値(例えば50%)以上の場合に実施することから、ここでは動体候補の融合処理は行わない。
【0083】
次に、(b)に示すように動体候補ごとの矩形範囲を所定量(例えば上下左右方向にそれぞれ数画素分)拡大する。拡大した各動体候補の矩形範囲で、動体候補間の融合率を算出して、動体候補融合率表T2を生成する。動体候補融合率表T2は、動体候補Obj2の矩形範囲に動体候補Obj1の差分画素が「10%」含まれ、それ以外の組合せの動体候補間の融合率は「0%」であることを示している。動体候補の融合率が所定値(例えば50%)以上になっていないことから、動体候補の融合処理は行わない。
【0084】
次に、(c)に示すように動体候補ごとの矩形範囲を所定量拡大して、拡大した各動体候補ごとの矩形範囲で、動体候補間の融合率を算出して、動体候補融合率表T3を生成する。動体候補融合率表T3は、動体候補Obj2の矩形範囲に動体候補Obj1の差分画素が「55%」、動体候補Obj3の差分画素が「5%」含まれ、それ以外の組合せの動体候補間の融合率は「0%」であることを示している。ここで、動体候補Obj2と動体候補Obj1の融合率が「55%」であり、動体候補の融合率が所定値(例えば50%)以上になっていることから、動体候補Obj1と動体候補Obj2を融合した動体候補であるObj4を追加する。
【0085】
次に、(c)に示した動体候補に対して、融合された元の動体候補Obj1とObj2とを除外して、融合で生成した動体候補Obj4を追加した(d)に示す全ての動体候補に対して、動体候補間の融合率を算出して、動体候補融合率表T4を生成する。動体候補融合率表T4は、動体候補Obj4の矩形範囲に動体候補Obj3の差分画素が「5%」含まれ、それ以外の組合せの動体候補間の融合率は「0%」であることを示している。よって、動体候補の融合率が所定値(例えば50%)以上になっていないことから、動体候補の融合処理は行わない。
【0086】
以降、所定の動体候補矩形拡大最大回数に至るまで動体候補の矩形範囲を拡大して、動体候補間の融合率を算出して、融合率が所定値(例えば50%)以上の場合に、動体候補の融合を行うということを繰り返すことによって、融合した動体候補を生成する。
【0087】
上記説明の動体候補の融合処理で、動体候補の融合を行ったならば動体候補融合率表からは融合された動体候補を除外したが、融合された動体候補は動体候補から除外したわけではない。ここで説明した動体候補の融合処理は、1つの動体の可能性のある動体候補を抽出する処理なので、動体候補の絞込はこのフェーズでは行わない。
【0088】
次に、
図7に示す動体画像抽出装置30による動体候補融合の処理手順を説明する。
図9は、動体画像抽出装置30による動体候補融合の処理手順を示すフローチャートである。
【0089】
まず、動体候補抽出部35fは、動体候補矩形範囲の拡大回数をゼロに初期化を行い(ステップS501)、
図7のステップS404の動体候補再抽出(第三段階)で影除去後差分画像から抽出した動体候補の、全ての動体候補間の融合率を算出して、動体候補融合率表を作成し(ステップS502)、作成された動体候補融合率表の中の最大の融合率を有する要素を特定する(ステップS503)。
【0090】
ステップS503で抽出された動体候補融合率表の中の最大の融合率を有する要素の値を参照し、融合率の最大値が融合実施の基準値(例えば50%)以上か否かの判定を行う(ステップS504)。動体候補融合率表の融合率の最大値が基準値(例えば50%)以上の場合(ステップS504;Yes)には、動体候補融合率表の融合率の最大値の要素に対応する動体候補を融合して新たな動体候補を生成し、動体候補データ34eに追加する(ステップS505)。
【0091】
また、動体候補抽出部35fは、融合率の算出対象から融合された動体候補を除外(ステップS506)し、動体候補に追加された融合してできた動体候補を追加した動体候補融合率表を作成して(ステップS507)、ステップS503に移行する。
【0092】
動体候補融合率表の融合率の最大値が基準値(例えば50%)未満の場合(ステップS504;No)には、動体候補矩形範囲の拡大回数が所定のの動体候補矩形拡大最大回数と等しいか否かを判断し(ステップS508)、動体候補矩形範囲の拡大回数が所定の動体候補矩形拡大最大回数と等しい場合(ステップS508;Yes)には、処理を終了する。動体候補矩形範囲の拡大回数が所定の動体候補矩形拡大最大回数と等しくない場合(ステップS508;No)には、動体候補融合率表に含まれる動体候補の矩形の範囲を所定の規則に従って拡大する(ステップS509)。
【0093】
また、動体候補抽出部35fは、動体候補の矩形範囲の変更に伴って動体候補融合率表の更新を行い(ステップS510)、動体候補矩形範囲の拡大回数をカウントアップして(ステップS511)、ステップS503に移行する。
【0094】
次に、
図2に示す動体画像抽出装置30による動体候補絞込の処理手順を説明する。
図10は、動体画像抽出装置30による動体候補絞込の処理手順を示すフローチャートである。
【0095】
動体候補絞込部35gは、動体候補データ34eに抽出されている動体候補から、(a)に示すグループ1において動体候補Obj2及びObj3は動体候補Obj1に包含されているというような、動体候補の矩形範囲に包含関係のある動体候補群を1つのグループとして、同様な全てのグループの抽出を行う(ステップS601)。
【0096】
次に、動体候補絞込部35gは、ステップS601で抽出された未処理の1つのグループに対して、動体候補の包含関係から、独立した動体のあり得る組み合せ(以下、「パターン」と言う)を作成する(ステップS602)。(a)に示すグループ1には3つの動体候補Obj1〜Obj3が存在し、動体候補Obj2とObj3は、動体候補Obj1に含まれていることを示し、ステップS602のグループ毎のパターン作成処理によって、グループ1からは、(b)に示す動体候補Obj2とObj3とがそれぞれ独立した動体であるとするパターン1と、(c)に示す動体候補Obj2とObj3の融合によって生成された動体候補Obj1が1つの動体であるとするパターン2とが作成された例を示している。
【0097】
次に、動体候補絞込部35gは、ステップS602で作成した未評価のパターンについて、該パターンに含まれる動体候補と入力画像の前後各2画像とに含まれる動体候補との類似性の評価を実施して、各動体候補の類似性の評価からパターンの評価を実施する(ステップS603)。
図10のステップS603のパターン評価は、ステップS602で生成された1つのパターンと、(d)及び(e)に示す直前の2枚の入力画像の動体候補と、(f)と(g)に示す直後の2枚の入力画像の動体候補とを入力情報として、当該パターンの類似性の評価を実施する。例えば、距離と大きさ等に基づいて類似性は評価される。
【0098】
動体候補絞込部35gは、ステップS602で作成された全てのパターンについてステップS603のパターンの評価が終了しているか否かを判定し(ステップS604)、未評価のパターンが残っている場合(ステップS604;No)には、ステップS603に移行する。全てのパターンについて評価済の場合(ステップS604;Yes)には、ステップS602で作成したグループのパターンの中で評価の高いパターンを決定し、それ以外のパターンに属する動体候補を動体候補データ34eから削除する(ステップS605)。
図10のステップS605のパターン決定の処理によって、(b)に示すパターン1の評価結果と、(c)に示すパターン2の評価結果を比較して、グループ1の動体候補は(h)に示すパターン1に決定したことを示している。
【0099】
次に、動体候補絞込部35gは、ステップS601で抽出した全てのグループに対する処理が終了したか否かの判定を行い(ステップS606)、まだ処理されていないグループが存在する場合(ステップS606;No)には、ステップS602に移行する。また、全てのグループに対する処理が終了している場合(ステップS606;Yes)には、動体候補データ34eの全ての動体候補に対して、相関演算によって動体候補の妥当性の評価を行い、動体ではないと判定された動体候補を動体候補データ34eから削除して(ステップS607)、処理を終了する。
【0100】
上述してきたように、本実施例では、複数枚の画像から動体の写りこんでいる影響を排除して画素ごとに輝度値及びそのバラツキの程度を示す変動係数を有する背景画像を自動生成し、背景画像と入力画像との差分画像抽出は、画素ごとに輝度値の差が、画素ごとに有する変動係数の所定倍数を閾値として行い、入力画像入力の都度、該入力画像に写りこんだ動体の影響を排除しつつ、日照等の環境変化による背景画像の変化を逐次自動反映するよう構成したので、撮像環境が変化しても人的労力を要することなく適切な閾値を設定し、もって動体画像を効率的に抽出することができる。
【0101】
なお、上述の本実施例では背景画像の更新処理において、初期背景画像生成とは異なる手順で更新処理を実施したが、本発明はこれに限定されるものではなく、背景画像の更新時に初期背景画像と同じ手順で背景画像を生成してもよい。
【0102】
また、上述の本実施例で図示した各構成は機能概略的なものであり、必ずしも物理的に図示の構成をされていることを要しない。すなわち、各装置の分散・統合の形態は図示のものに限られず、その全部又は一部を各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。