(58)【調査した分野】(Int.Cl.,DB名)
前記閾値設定部は、前記背景差分画像生成部が背景画素であると判定した画素の画素値の分布の分散に基づいて前記閾値を算出して設定する、請求項1に記載の画像処理装置。
前記閾値設定部は、前記背景差分画像生成部が背景画素であると判定した画素であって、且つ、前記画像入力部に入力されたフレーム画像に対して予め設定した閾値算出領域内に位置する画素の画素値を用いて前記閾値を算出して設定する、請求項1、または2に記載の画像処理装置。
前記鏡面画素判定部は、予め定めた第1の時間継続して、前記画像入力部に入力されたフレーム画像における画素値が、前記鏡面画素値記憶部が記憶する前記鏡面画素の画素値の範囲であった画素を前記鏡面画素と判定する、請求項5に記載の画像処理装置。
前記鏡面画素判定部は、前記鏡面画素であると判定した画素について、予め定めた第2の時間継続して、前記画像入力部に入力されたフレーム画像における画素値が、前記鏡面画素値記憶部が記憶する前記鏡面画素の画素値の範囲外であったときに、前記鏡面画素でないと判定する、請求項5、または6に記載の画像処理装置。
前記物体検出部は、前記背景差分画像生成部が生成した背景差分画像における前記前景画素に基づき、物体が撮像されている前景領域を設定する、請求項4〜7のいずれかに記載の画像処理装置。
前記物体検出部が設定した前記前景領域内に位置する各画素の画素値の分布に基づき、この物体が人であるかどうかを判定する物体種別判定部を備えている請求項8のいずれかに記載の画像処理装置。
前記物体検出部は、設定した前記前景領域が予め定めたサイズよりも小さければ、この前景領域については、物体が撮像されていないと判定する、請求項8、または9に記載の画像処理装置。
前記物体検出部は、予め定めた第3の時間継続して、前記画像入力部に入力されたフレーム画像に撮像されていた物体を検出する、請求項8〜10のいずれかに記載の画像処理装置。
画像入力部に入力された赤外線カメラで撮像した撮像エリアのフレーム画像を処理し、背景差分画像を生成する画像処理をコンピュータに実行させる画像処理プログラムであって、
前記画像入力部に入力されたフレーム画像の各画素について、その画素が前景画素であるか、背景画素であるかを、背景モデル記憶部に記憶している当該画素の画素値の頻度をモデル化した背景モデルを用いて判定し、背景差分画像を生成する背景差分画像生成ステップと、
前記画像入力部に入力されたフレーム画像の各画素について、前記背景差分画像生成ステップが前景画素であるか、背景画素であるかを判定する基準である閾値を設定する閾値設定ステップと、をコンピュータに実行させ、
前記背景差分画像生成ステップは、前記画像入力部に入力されたフレーム画像の各画素について、当該画素の背景モデルにおける頻度が前記閾値設定部が設定した閾値よりも高い画素値であれば背景画素、この閾値よりも低い画素値であれば前景画素と判定するステップであり、
前記閾値設定ステップは、前記背景差分画像生成ステップが背景画素であると判定した画素の画素値の分布に基づいて前記閾値を算出して設定するステップである、画像処理プログラム。
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、雨天時には、検出対象の物体である人や車両等が雨に濡れてしまうため、遠赤外線カメラで撮像したフレーム画像に撮像されている人や車両等の物体のコントラストが低下する。このため、晴天時や曇天時には、遠赤外線カメラで撮像したフレーム画像に撮像されている人や車両等の物体が検出できても、雨天時には、遠赤外線カメラで撮像したフレーム画像に撮像されている人や車両等の物体が検出できないことがある。
【0008】
遠赤外線カメラの撮像エリアにおける天候の変化が、遠赤外線カメラで撮像したフレーム画像に撮像されている人や車両等の物体の検出精度を低下させることがあった。
【0009】
この発明の目的は、赤外線カメラで撮像した撮像エリアのフレーム画像に撮像されている人や車両等の物体の検出精度が、この赤外線カメラの撮像エリアの天候の変化にともなって低下するのを抑えることができる画像処理装置、画像処理方法、および画像処理プログラムを提供することにある。
【課題を解決するための手段】
【0010】
この発明の画像処理装置は、上記課題を解決し、その目的を達するために、以下のように構成している。
【0011】
画像入力部には、赤外線カメラが撮像した撮像エリアのフレーム画像が入力される。赤外線カメラは、例えば1秒間に10〜60フレームのフレーム画像を撮像し、撮像したフレーム画像を画像入力部に入力する。
【0012】
背景モデル記憶部は、画像入力部に入力されたフレーム画像の各画素について、その画素の画素値の頻度をモデル化した背景モデルを記憶する。背景モデルは、例えば過去に入力されたフレーム画像の各画素について、その画素の画素値の頻度をモデル化したものであり、ガウス分布の密度関数等であらわされる。背景モデルは、フレーム画像が画像入力部に入力される毎に、そのフレーム画像を用いて更新すればよい。
【0013】
背景差分画像生成部は、画像入力部に入力されたフレーム画像の各画素について、その画素が前景画素であるか、背景画素であるかを、背景モデル記憶部が当該画素について記憶する背景モデルを用いて判定し、背景差分画像を生成する。具体的には、背景差分画像生成部は、画像入力部に入力されたフレーム画像の画素毎に、その画素の画素値が、その画素の背景モデルにおける頻度が閾値よりも高ければ背景画素、反対に、その画素の背景モデルにおける頻度が閾値よりも低ければ前景画素と判定する。すなわち、背景差分画像生成部は、その画素値があらわれる頻度が閾値よりも低い画素を前景画素と判定し、その画素値があらわれる頻度が閾値よりも高い画素を背景画素と判定する。
【0014】
また、閾値設定部は、背景差分画像生成部が画像入力部に入力されたフレーム画像の各画素について、前景画素であるか、背景画素であるかを判定する基準である閾値を設定する。閾値設定部は、背景差分画像生成部が背景画素であると判定した画素の画素値の分布に基づいて閾値を算出して設定する。
【0015】
雨天時には、路面等が雨に濡れるので、背景画素であると判定される路面等を撮像した画素の画素値は、ある値に集中する。また、降雨量が多くなるにつれて、路面等の濡れ具合が均一に近づき、路面の温度もほぼ均一になるので、背景画素であると判定される路面等を撮像した画素の画素値が、ある値に集中する度合が大きくなる。この度合は、背景差分画像生成部が背景画素であると判定した画素についての画素値の分布の分散等から得られる。
【0016】
閾値設定部は、例えば背景差分画像生成部が背景画素であると判定した画素についての画素値の分布の分散に基づいて閾値を算出して設定することで、降雨量に応じた閾値の設定が行える。閾値設定部は、降雨量が多くなるにつれて、背景画素であるか、前景画素であるかを判定する頻度の閾値を小さくすればよい。
【0017】
これにより、画像入力部に入力されたフレーム画像に対して、物体が撮像されている前景画素であるか、物体が撮像されていない背景画素であるかの判定にかかる精度が、赤外線カメラの撮像エリアの天候の変化にともなって低下するのを抑えることができる。したがって、赤外線カメラで撮像した撮像エリアのフレーム画像に撮像されている人や車両等の物体の検出精度が、この赤外線カメラの撮像エリアの天候の変化にともなって低下するのを抑えることができる。
【0018】
なお、背景差分画像生成部が生成した背景差分画像から、撮像されている物体を検出する物体検出部を備えてもよい。
【0019】
また、閾値設定部は、背景差分画像生成部が背景画素であると判定した画素であって、且つ、画像入力部に入力されたフレーム画像に対して予め設定した閾値算出領域内に位置する画素の画素値を用いて閾値を算出して設定する、構成としてもよい。
【0020】
この場合、降雨時に雨で濡れる領域を閾値算出領域と設定すればよい。言い換えれば、屋根等が設けられていることによって、降雨時であっても、雨に濡れない領域を閾値算出領域から除外すればよい。これにより、閾値を、降雨量に応じて設定することができる。
【0021】
また、水溜まりや、金属等で反射した日光を物体として誤検出するのを防止するために、以下に示す構成を付加してもよい。
【0022】
鏡面画素の画素値の範囲を鏡面画素値記憶部に記憶しておき、画像入力部に入力されたフレーム画像において、その画素値が鏡面画素値記憶部が記憶する鏡面画素として判定する画素値の範囲内である画素を鏡面画素と判定する鏡面画素判定部を設ける。さらに、画像入力部に入力されたフレーム画像における鏡面画素の分布に基づき鏡面領域を設定する鏡面領域設定部を設ける。
【0023】
そして、物体検出部は、鏡面領域設定部が設定した鏡面領域については、撮像されている物体の検出を行わない構成にする。これにより、水溜まりや、金属等で反射した日光を物体として誤検出するのを防止することができる。
【0024】
また、鏡面画素判定部は、予め定めた第1の時間継続して、画像入力部に入力されたフレーム画像において、その画素値が鏡面画素値記憶部が記憶する鏡面画素として判定する画素値の範囲内であった画素を鏡面画素と判定するのが好ましい。これにより、一時的にノイズが生じた画素や、一時的に物体で反射された日光等を撮像した画素が、鏡面画素として判定するのを防止できる。
【0025】
また、鏡面画素判定部は、鏡面画素であると判定した画素について、予め定めた第2の時間継続して、画像入力部に入力されたフレーム画像において、その画素値が鏡面画素値記憶部が記憶する鏡面画素として判定する画素値の範囲外であっときに、その画素を鏡面画素でないと判定するのが好ましい。一時的なノイズによって、鏡面画素を鏡面画素でないと判定するのを防止できる。
【0026】
また、物体検出部が検出した物体が、人であるか、人以外の車両等の物体であるかを、判定するようにしてもよい。この場合、物体検出部が検出した物体に対応する前景画素に基づいて設定した前景領域内に位置する画素の画素値の分布に基づき、この物体が人であるかどうかを判定する物体判定部を設ければよい。
【0027】
人は、放射する熱量が部位によって異なることから、人を撮像した画素の画素値が、ある程度分散する。一方、人でない物体は、放射する熱量が全体的に均一であるので、人でない物体を撮像した画素の画素値は、ある値に集中する。したがって、検出した物体に対応する画素の画素値の分布から、この物体が人であるかどうかの判定が行える。
【0028】
また、検出した物体のサイズが、予め定めた大きさよりも小さければ、この領域に物体が撮像されていないと判定してもよいし、予め定めた第3の時間継続して、画像入力部に入力されたフレーム画像から検出されなかった物体を、撮像されている物体として検出しない構成としてもよい。
【発明の効果】
【0029】
この発明によれば、赤外線カメラで撮像した撮像エリアのフレーム画像に撮像されている人や車両等の物体の検出精度が、この赤外線カメラの撮像エリアの天候の変化にともなって低下するのを抑えることができる。
【発明を実施するための形態】
【0031】
以下、この発明の実施形態である画像処理装置について説明する。
【0032】
図1は、この画像処理装置の主要部の構成を示すブロック図である。画像処理装置1は、制御部2と、画像入力部3と、画像処理部4と、入出力部5と、を備えている。
【0033】
制御部2は、画像処理装置1本体各部の動作を制御する。
【0034】
画像入力部3には、遠赤外線カメラ10が撮像したフレーム画像が入力される。遠赤外線カメラ10は、人や車両等の物体の侵入を監視する監視対象エリアが撮像エリア内に収まるように設置している。遠赤外線カメラ10は、1秒間に10〜60フレームのフレーム画像を撮像し、撮像したフレーム画像を画像入力部3に入力する。
【0035】
画像処理部4は、画像入力部3に入力されたフレーム画像を処理し、このフレーム画像に撮像されている物体(背景でない物体)を検出する。また、画像処理部4は、画像入力部3に入力されたフレーム画像を処理するときに用いる背景モデルを記憶するメモリ4aを有している。画像処理部4は、メモリ4aに記憶している背景モデルを、画像入力部3に入力されたフレーム画像を用いて更新する。また、メモリ4aは、鏡面画素であると判定する画素値の範囲、鏡面画素設定確認時間(この発明でいう第1の時間に相当する。)、鏡面画素設定解除確認時間(この発明でいう第2の時間に相当する。)、物体検出確認時間(この発明でいう第3の時間に相当する。)や、動作時に発生したデータ(この発明で言う閾値、鏡面領域、前景領域等)も記憶する。
【0036】
なお、画像処理部4は、画像入力部3に入力されたフレーム画像に対する画像処理等を実行するマイコンを備えている。この発明にかかる画像処理プログラムは、このマイコンを動作させるプログラムであり、予めインストールしている。
【0037】
入出力部5は、図示していない上位装置との間におけるデータの入出力を制御する。入出力部5は、画像処理部4で物体が検出されたときに、その旨を上位装置(不図示)に通知する信号を出力する。入出力部5は、物体の検出を通知する信号を出力する構成であってもよいし、物体を検出したフレーム画像とともに、物体の検出を通知する信号を出力する構成であってもよい。また、入出力部5は、遠赤外線カメラ10が撮像したフレーム画像(画像入力部3に入力されたフレーム画像)を、上位装置に送信する構成であってもよい。
【0038】
なお、上位装置は、画像処理装置1の入出力部5から出力された信号によって、監視対象エリア内に位置する物体の検出が通知されたとき、その旨を音声等で出力して、周辺にいる係員等に通知する構成であってもよいし、さらには、物体を検出したフレーム画像が送信されてきている場合に、そのフレーム画像を表示器に表示する構成であってもよい。また、遠赤外線カメラ10が撮像したフレーム画像を記録する記録装置を設け、必要に応じて確認できるように構成してもよい。
【0039】
次に、メモリ4aが記憶する各種データについて説明する。
【0040】
まず、背景モデルについて説明する。背景モデルは、画像入力部3に入力されたフレーム画像の画素毎に、その画素の画素値の頻度(発生確率)をモデル化したものである。具体的には、画像入力部3に入力された直近のnフレームのフレーム画像を用い、フレーム画像の画素毎に、その画素の画素値の頻度(発生確率)を、混合ガウス分布を利用してモデル化したものである。メモリ4aは、画像入力部3に入力されたフレーム画像の画素毎に、背景モデルを記憶している。また、画像処理部4は、各画素の背景モデルを、画像入力部3にフレーム画像が入力されるたびに更新する。背景モデルを生成する手法については、全ての画素(前景画素、および背景画素)を用いて生成する方法や、背景画素のみを用いて(前景画素を用いないで)生成する方法等、様々な方法がすでに公知であるので、ここでは説明を省略する。背景モデルは、遠赤外線カメラ10の特性や、撮像環境等に応じた方法を公知の方法から選択すればよい。
【0041】
図2は、ある画素の背景モデルを示す図である。
図2において、横軸が画素値であり、縦軸が頻度(発生確率)である。
図2に示す閾値Dが、背景画素であるか、前景画素であるかを判定する境界値である。画像処理部4は、遠赤外線カメラ10が時刻tにおいて撮像したフレーム画像を処理するときに、遠赤外線カメラ10が時刻t−1〜時刻t−nの間に撮像したnフレームのフレーム画像を用いて生成した背景モデルを用いる。
【0042】
画像処理部4は、画像入力部3に入力されたフレーム画像の画素毎に、その画素の背景モデルにおける、その画素の画素値の頻度が閾値D以上であれば背景画素と判定し、閾値D未満であれば前景画素と判定する。画像入力部3に入力されたフレーム画像の各画素に対する閾値Dは、同じ値である。閾値Dは、メモリ4aに記憶している。また、画像処理部4は、画像入力部3に入力されたフレーム画像から、閾値Dを算出し設定する(メモリ4aに記憶している閾値Dを更新する)機能を有している。この閾値Dを設定する処理の詳細については、後述する。
【0043】
次に、鏡面画素として判定する画素の画素値の範囲について説明する。画像処理部4は、鏡面画素として判定する画素値の下限値と、上限値とをメモリ4aに記憶している。ここで言う鏡面画素とは、水溜まりや、金属等で反射した日光を撮像した画素である。例えば、遠赤外線カメラ10の撮像エリアである監視対象エリアに、
図3に示すような水溜まりがある場合、この水溜まりで反射した日光を撮像した画素が鏡面画素である。鏡面画素は、反射された日光の遠赤外線エネルギー量に応じた画素値になるので、背景差分画像を生成するときに、前景画素と判定される。
【0044】
鏡面画素の画素値は、上空を撮像したときの画素値と近似する。遠赤外線カメラ10で水溜まりや、金属等が反射した日光が撮像されるのは、晴天時であり、曇天時や雨天時に撮像されることはない。曇天時や雨天時は、水溜まりや、金属等に照射される日光が雲で散乱されているからである。このことから、この例では、晴天時に、遠赤外線カメラ10で上空を撮像したフレーム画像を用い、画素値に対する画素数の分布を基に、鏡面画素として判定する画素の画素値の下限値と、上限値とを決定し、メモリ4aに予め記憶している。
【0045】
晴天時の空は、非常に低い遠赤外線エネルギーを放出している。遠赤外線カメラ10で晴天時の空を撮像したフレーム画像における、画素値に対する画素数の分布は、
図4に示すように非常に低い画素値に集中する。
図4において、横軸が画素値であり、縦軸が画素数である。この例では、
図4に示す画素値Aが鏡面画素として判定する画素値の下限値でありし、画素値Bが鏡面画素として判定する画素値の上限値である。
【0046】
また、鏡面画素として判定する画素値の下限値A、および上限値Bは、遠赤外線カメラ10で撮像した晴天時の空のフレーム画像により決定している。したがって、下限値A、および上限値Bは、遠赤外線カメラ10の特性や、監視対象エリアである撮像エリアの環境も考慮した値である。また、メモリ4aが記憶する鏡面画素として判定する画素の画素値の下限値A、および上限値Bは、1週間や1カ月等の適当な間隔で更新すればよい。
【0047】
メモリ4aが記憶する鏡面画素設定確認時間、鏡面画素設定解除確認時間、および物体検出確認時間は、数秒(1〜3秒)程度の時間である。鏡面画素設定確認時間、鏡面画素設定解除確認時間、および物体検出確認時間は、すべて同じ時間であってもよいし、すべて異なる時間であってもよい。ただし、物体検出確認時間は、鏡面画素設定確認時間以上に設定するのが好ましい。物体検出確認時間は、鏡面画素設定確認時間以上に設定することで、鏡面領域であると判定される前に、この鏡面領域を物体であると誤検出するのを防止できる。
【0048】
なお、鏡面画素設定確認時間、鏡面画素設定解除確認時間、および物体検出確認時間は、フレーム画像数で設定する構成であってもよい。例えば、遠赤外線カメラ10が、1秒間に10フレームのフレーム画像を出力する構成であれば、1秒(時間)ではなく、10フレーム(フレーム画像数)を設定する構成であってもよい。
【0049】
次に、この画像処理装置の動作について説明する。ここでは、最初に画像処理装置1の動作の概略を説明し、その後、各動作について詳細に説明する。
図5は、画像処理装置の動作を示すフローチャートである。
【0050】
遠赤外線カメラ10は、撮像エリアを撮像したフレーム画像を画像入力部3に入力している。画像処理部4は、画像入力部3に入力されたフレーム画像(1フレーム)を取り込む(s1)。画像処理部4は、画像入力部3に入力されたフレーム画像を、入力された順番に取り込み、以下に示す処理を繰り返す。
【0051】
画像処理部4は、今回取り込んだフレーム画像に対して水溜まりや、金属等で反射した日光を撮像している鏡面領域を設定する鏡面領域設定処理を行う(s2)。s2では、今回取り込んだフレーム画像に対して、鏡面領域が設定されないこともあれば、1または複数の鏡面領域が設定されることもある。
【0052】
画像処理部4は、今回取り込んだフレーム画像に対する背景差分画像を生成する背景差分画像生成処理を行う(s3)。
【0053】
画像処理部は、s3で生成した背景差分画像から、今回取り込んだフレーム画像に撮像されている物体を検出する物体検出処理を行う(s4)。s4では、物体が検出されないこともあれば、1または複数の物体が検出されることもある。
【0054】
画像処理部4は、s4で今回取り込んだフレーム画像に撮像されている物体を検出すると、s4で検出した物体毎に、その物体が人であるか、人以外のものであるかを判定する種別判定処理を行う(s5、s6)。画像処理装置1は、s6にかかる判定結果を入出力部5から出力し(s7)、物体の検出を上位装置に通知する。
【0055】
なお、画像処理装置1は、s5で、物体を検出していないと判定すると、s6、およびs7にかかる処理を行うことなく、以下に示すs8にかかる処理を行う。
【0056】
画像処理部4は、s1で今回取り込んだフレーム画像を用いて、メモリ4aに記憶している背景モデルを更新する背景モデル更新処理を行い(s8)、s1に戻る。s8では、フレーム画像の各画素について、背景モデルを更新する。
【0057】
なお、背景モデルの更新は、特定の手法に限定されることはなく、上述したように公知の手法のいずれかで行えばよい。
【0058】
画像処理装置1は、この
図5に示す処理を繰り返す。
【0059】
次に、s2にかかる鏡面領域設定処理の詳細について説明する。
図6は、鏡面領域設定処理を示すフローチャートである。
【0060】
画像処理部4は、s1で今回取り込んだフレーム画像の画素毎に、以下に示すs11〜s17の処理を行い、鏡面画素であるかどうかを判定する。
【0061】
画像処理部4は、鏡面画素であるかどうかを判定する判定対象の画素の画素値がメモリ4aに記憶している鏡面画素の下限値Aと、上限値Bとの範囲内であるかどうかを判定する(s11)。画像処理部4は、s11でその画素値が下限値Aと、上限値Bとの範囲内でないと判定すると、前回取り込んだフレーム画像において、鏡面画素と判定した画素であるかどうかを判定する(s12)。画像処理部4は、前回取り込んだフレーム画像においても、鏡面画素でないと判定した画素であれば、この画素を鏡面画素でないと判定する(s13)。
【0062】
また、画像処理部4は、前回取り込んだフレーム画像において、鏡面画素であると判定した画素であれば、この画素の画素値が下限値Aと上限値Bとの範囲外であった時間が鏡面画素設定解除確認時間継続しているかどうかを判定する(s14)。画像処理部4は、鏡面画素であると判定した各画素について、その画素値が鏡面画素の下限値Aと、上限値Bとの範囲外である継続時間をカウントしている。このカウント値は、メモリ4aに記憶している。
【0063】
画像処理部4は、この画素の画素値が下限値Aと上限値Bとの範囲外であった時間が鏡面画素設定解除確認時間継続していれば、s13で、この画素を鏡面画素でないと判定する。一方、画像処理部4は、この画素の画素値が下限値Aと上限値Bとの範囲外であった時間が鏡面画素設定解除確認時間継続していなければ、この画素を鏡面画素であると判定する(s15)。
【0064】
また、画像処理部4は、s11で、その画素値が下限値Aと、上限値Bとの範囲内であると判定した画素については、前回取り込んだフレーム画像において、鏡面画素と判定した画素であるかどうかを判定する(s16)。画像処理部4は、前回取り込んだフレーム画像において、鏡面画素であると判定した画素であれば、s15で、この画素を鏡面画素であると判定する。
【0065】
また、画像処理部4は、前回取り込んだフレーム画像において、鏡面画素でないと判定した画素であれば、この画素の画素値が下限値Aと上限値Bとの範囲内であった時間が鏡面画素設定確認時間継続しているかどうかを判定する(s17)。画像処理部4は、鏡面画素でないと判定した各画素について、その画素値が鏡面画素の下限値Aと、上限値Bとの範囲内である継続時間をカウントしている。このカウント値は、メモリ4aに記憶している。
【0066】
画像処理部4は、この画素の画素値が下限値Aと上限値Bとの範囲内であった時間が鏡面画素設定確認時間継続していれば、s15で、この画素を鏡面画素であると判定する。一方、画像処理部4は、この画素の画素値が下限値Aと上限値Bとの範囲内であった時間が鏡面画素設定確認時間継続していなければ、s13で、この画素を鏡面画素でないと判定する。
【0067】
このように、画像処理部4は、フレーム画像の画素毎に、その画素値が下限値Aと上限値Bとの範囲内であった時間が鏡面画素設定確認時間継続したときに、鏡面画素であると判定する。また、画像処理部4は、フレーム画像の画素毎に、その画素値が下限値Aと上限値Bとの範囲外であった時間が鏡面画素設定解除確認時間継続したときに、鏡面画素でないと判定する。
【0068】
したがって、画像処理部4は、一時的に、その画素値が下限値Aと上限値Bとの範囲内になった画素を、鏡面画素であると判定することがない。また、画像処理部4は、一時的に、その画素値が下限値Aと上限値Bとの範囲外になった画素を、鏡面画素でないと判定することがない。
【0069】
画像処理部4は、s15で鏡面画素であると判定した画素の分布に基づいて、今回取り込んだフレーム画像上に鏡面領域を設定する(s18)。s18では、鏡面画素が集まっている領域を鏡面領域に設定する。このため、設定した鏡面領域には、上記の処理で鏡面画素でないと判定された画素が含まれることもある。画像処理部4は、s18で設定した鏡面領域をメモリ4aに記憶する。例えば、フレーム画像に対して、
図3に示した水溜まりが撮像されている領域を鏡面領域に設定し、この領域をメモリ4aに記憶する。
【0070】
なお、設定した鏡面領域内に含まれている、鏡面画素でないと判定した画素については、この判定結果を維持する。
【0071】
次に、s3にかかる背景差分画像生成処理の詳細について説明する。
図7は、背景差分画像生成処理を示すフローチャートである。
【0072】
画像処理部4は、s1で今回取り込んだフレーム画像において、上記処理で設定した鏡面領域以外の各画素について、その画素が前景画素であるか、背景画素であるかを判定する(s21)。言い換えれば、上記処理で設定した鏡面領域内の画素については、前景画素であるか、背景画素であるかの判定を行わない。画像処理部4は、メモリ4aに記憶している背景モデル、および閾値Dを用いて、前景画素であるか、背景画素であるかの判定を行う。
【0073】
画像処理部4は、s21で背景画素であると判定した画素について、画素値の分布を示すヒストグラムを生成する(s22)。言い換えれば、画像処理部4は、s18で設定した鏡面領域内に位置する画素、および、s21で前景画素と判定した画素を用いないで、このヒストグラムを生成する。
【0074】
図8は、フレーム画像における背景画素の画素値の分布を示すヒストグラムである。
図8(A)は、日光が照射されているとき(晴天時の日中)のヒストグラムであり、
図8(B)は、日光が照射されていないとき(夕方〜明け方までの時間帯や、曇天時等)のヒストグラムである。ただし、
図8(A)、(B)は、ともに路面等の背景が雨で濡れていない状態である。また、
図8(C)、(D)は、降雨時のヒストグラムであり、ともに路面等の背景が雨で濡れている状態である。
図8(D)は、
図8(C)よりも降雨量が多い状態である。
図8(A)〜(D)は、横軸が画素値であり、縦軸が画素数である。
【0075】
図8(A)〜(D)に示すように、降雨時には、背景である路面等が雨に濡れるので、背景画素の画素値は、ある値に集中する。また、降雨量が多くなるにつれて、路面等の濡れ具合が均一に近づくので、背景画素であると判定される路面等を撮像した画素の画素値が、ある値に集中する度合が大きくなる(ヒストグラムの分散δが小さくなる)。
【0076】
一方で、降雨時には、前景である人や車両等の物体も、背景である路面と同様に雨に濡れるので、背景画素だけでなく、前景画素の画素値も低下する。
【0077】
画像処理部4は、s22で生成したヒストグラムの分散δに基づき閾値Dを算出する(s23)。具体的には、閾値Dを、
閾値D=α−β/δ
により算出した値に決定する(α、およびβは、予め個別に設定した値である。)。
【0078】
閾値Dは、s22で生成したヒストグラムの分散δが小さくなるにつれて、すなわち降雨量が多くなるにつれて、小さくなる。
【0079】
画像処理部4は、メモリ4aに記憶している閾値Dを、s23で算出した値に更新し(s24)、終了する。
【0080】
上記の説明から明らかなように、今回取り込んだフレーム画像によって算出した閾値Dは、次回取り込んだフレーム画像の各画素に対して前景画素であるか、背景画素であるかを判定するときに用いる。すなわち、今回取り込んだフレーム画像の各画素に対して、前景画素であるか、背景画素であるかを判定するときに用いる閾値Dは、前回取り込んだフレーム画像によって算出した値である。
【0081】
このように、閾値Dは、遠赤外線カメラ10の撮像エリアの天候の変化にともなって、ほぼリアルタイムに設定される。したがって、遠赤外線カメラ10が撮像したフレーム画像の各画素に対して、その画素が前景画素であるか、背景画素であるかの判定精度が、この遠赤外線カメラ10の撮像エリアの天候の変化にともなって低下するのを抑えることができる。
【0082】
なお、上記の説明では、s22でヒストグラムを生成するとき、s18で設定した鏡面領域内に位置する画素、および、s21で前景画素と判定した画素を用いないとしたが、例えば、遠赤外線カメラ10の撮像対象エリアに、屋根等が設けられていることで、降雨時に雨で濡れない領域がある場合には、降雨時に雨で濡れる領域を閾値算出領域として設定しておいてもよい。この場合、設定している閾値算出領域内であって、且つ、s21で背景画素であると判定した画素により、上述のヒストグラムを生成すればよい。
【0083】
次に、s4にかかる物体検出処理の詳細について説明する。
図9は、物体検出処理を示すフローチャートである。
【0084】
画像処理部4は、s21で前景画素であると判定した画素の分布に基づいて、今回取り込んだフレーム画像上に前景領域を設定する(s31)。s31では、前景画素が集まっている領域を前景領域に設定する。このため、設定した前景領域には、上記の処理で背景画素であると判定された画素が含まれることもある。画像処理部4は、s31で設定した前景領域をメモリ4aに記憶する。例えば、フレーム画像に対して、
図3に示した車両や、人が撮像されている領域を個別に前景領域に設定し、この領域をメモリ4aに記憶する。
【0085】
画像処理部4は、s31で設定した前景領域毎に、予め定めたサイズよりも大きいかどうかを判定し(s32)、予め定めたサイズよりも小さい前景領域をノイズと判定する(s33)。s33では、この前景領域(予め定めたサイズよりも小さい前景領域)に、物体が撮像されていないと判定する。
【0086】
一方、画像処理部4は、s32で予め定めたサイズよりも大きいと判定した前景領域毎に、その前景領域がメモリ4aに記憶している物体検出確認時間継続して検出されているかどうかを判定する(s34)。画像処理部4は、s34で物体検出確認時間継続して検出されている前景領域を物体として検出する(s35)。画像処理部4は、s32で予め定めたサイズよりも大きいと判定した前景領域毎に、フレーム画像上に設定した継続時間をカウントしている。このカウント値は、メモリ4aに記憶している。
【0087】
なお、画像処理部4は、物体検出確認時間継続して検出されていない前景領域を物体として検出しないが、この前景領域をノイズとして判定することもない。
【0088】
これにより、画像処理部4は、遠赤外線カメラ10の撮像エリア内に、物体検出確認時間以上滞在した物体を、物体として検出する。このため、画像処理部4が、遠赤外線カメラ10の撮像レンズの近くを飛行した鳥や虫等を、物体として検出するのを防止できる。
【0089】
また、物体検出確認時間は、上述したように、鏡面画素設定確認時間以上に設定することで、s18で鏡面領域に設定される前に、画像処理部4が、この鏡面領域を物体であると誤検出するのを防止できる。
【0090】
次に、s6にかかる種別判定処理の詳細について説明する。
図10は、種別判定処理を示すフローチャートである。
【0091】
画像処理部4は、s35で物体として検出した前景領域毎に、その前景領域内の画素の画素値の分布を示すヒストグラムを生成する(s41)。車両等の物体は、表面が略均一な材質であるので、遠赤外線エネルギーの放射度合が略均一である。このため、車両等の物体にかかる前景領域は、画素値の分布を示すヒストグラムの分散δが比較的小さい。
【0092】
これに対し、人は、体の部位によって遠赤外線エネルギーの放射量が異なり、また、雨に濡れていても、衣服や合羽が肌に密着している部分と、肌から離れている部分とがあるので、画素値の分布を示すヒストグラムの分散δが比較的大きい。
【0093】
画像処理部は、s41で生成したヒストグラムの分散δが予め定めた値C以上であれば人、それ以外(分散δが予め定めた値C未満)であれば人でない物体と判定する(s42〜s44)。また、この種別判定においては、前景領域の大きさ等も加味して、その種別を判定してもよい。
【0094】
なお、上記の判定に用いる値Cもメモリ4aに記憶している。
【0095】
このように、この画像処理装置1は、遠赤外線カメラ10の撮像エリアの天候の変化に応じて、前景画素であるか、背景画素であるかを判定する閾値Dを算出し、更新する。したがって、遠赤外線カメラ10が撮像したフレーム画像の各画素に対して、その画素が前景画素であるか、背景画素であるかの判定精度が、この遠赤外線カメラ10の撮像エリアの天候の変化にともなって低下するのを抑えることができる。その結果、遠赤外線カメラ10が撮像したフレーム画像に対する前景領域の設定も適正に行えるので遠赤外線カメラ10で撮像した撮像エリアのフレーム画像に撮像されている人や車両等の物体の検出精度が、この遠赤外線カメラ10の撮像エリアの天候の変化にともなって低下するのを抑えることができる。
【0096】
また、画像処理部4は、設定した鏡面領域内の画素については、その画素が前景画素であるか背景画素であるかを判定しないので、この鏡面領域が物体として誤検出されることがない。
【0097】
また、画像処理部4は、物体として検出した、前景領域内の画素の画素値の分布を示すヒストグラムの分散δにより、その物体の種別を判定するので、検出した物体が人であるかどうかについて精度よく判定できる。