(57)【特許請求の範囲】
【請求項１】
赤外線カメラで撮像した撮像エリアのフレーム画像を入力する画像入力部と、
前記画像入力部に入力されたフレーム画像の各画素について、その画素の画素値の頻度をモデル化した背景モデルを記憶する背景モデル記憶部と、
前記画像入力部に入力されたフレーム画像の各画素について、その画素が前景画素であるか、背景画素であるかを、前記背景モデル記憶部が当該画素について記憶する背景モデルを用いて判定し、背景差分画像を生成する背景差分画像生成部と、
前記画像入力部に入力されたフレーム画像の各画素について、前記背景差分画像生成部が前景画素であるか、背景画素であるかを判定する基準である閾値を設定する閾値設定部と、を備え、
前記背景差分画像生成部は、前記画像入力部に入力されたフレーム画像の各画素について、当該画素の背景モデルにおける頻度が前記閾値設定部が設定した閾値よりも高い画素値であれば背景画素、この閾値よりも低い画素値であれば前景画素と判定し、
前記閾値設定部は、前記背景差分画像生成部が背景画素であると判定した画素の画素値の分布に基づいて前記閾値を算出して設定する、画像処理装置。
【請求項２】
前記閾値設定部は、前記背景差分画像生成部が背景画素であると判定した画素の画素値の分布の分散に基づいて前記閾値を算出して設定する、請求項１に記載の画像処理装置。
【請求項３】
前記閾値設定部は、前記背景差分画像生成部が背景画素であると判定した画素であって、且つ、前記画像入力部に入力されたフレーム画像に対して予め設定した閾値算出領域内に位置する画素の画素値を用いて前記閾値を算出して設定する、請求項１、または２に記載の画像処理装置。
【請求項４】
前記背景差分画像生成部が生成した背景差分画像から、撮像されている物体を検出する物体検出部を備えている請求項１〜３のいずれかに記載の画像処理装置。
【請求項５】
鏡面画素の画素値の範囲を記憶する鏡面画素値記憶部と、
前記鏡面画素値記憶部が記憶する画素値の範囲に基づき、前記画像入力部に入力されたフレーム画像の各画素について、その画素が鏡面画素であるかどうかを判定する鏡面画素判定部と、
前記鏡面画素判定部の判定結果に基づき、前記画像入力部に入力されたフレーム画像に対して鏡面領域を設定する鏡面領域設定部と、を備え、
前記物体検出部は、前記鏡面領域設定部が設定した前記鏡面領域に対して、撮像されている物体の検出を行わない、請求項４に記載の画像処理装置。
【請求項６】
前記鏡面画素判定部は、予め定めた第１の時間継続して、前記画像入力部に入力されたフレーム画像における画素値が、前記鏡面画素値記憶部が記憶する前記鏡面画素の画素値の範囲であった画素を前記鏡面画素と判定する、請求項５に記載の画像処理装置。
【請求項７】
前記鏡面画素判定部は、前記鏡面画素であると判定した画素について、予め定めた第２の時間継続して、前記画像入力部に入力されたフレーム画像における画素値が、前記鏡面画素値記憶部が記憶する前記鏡面画素の画素値の範囲外であったときに、前記鏡面画素でないと判定する、請求項５、または６に記載の画像処理装置。
【請求項８】
前記物体検出部は、前記背景差分画像生成部が生成した背景差分画像における前記前景画素に基づき、物体が撮像されている前景領域を設定する、請求項４〜７のいずれかに記載の画像処理装置。
【請求項９】
前記物体検出部が設定した前記前景領域内に位置する各画素の画素値の分布に基づき、この物体が人であるかどうかを判定する物体種別判定部を備えている請求項８のいずれかに記載の画像処理装置。
【請求項１０】
前記物体検出部は、設定した前記前景領域が予め定めたサイズよりも小さければ、この前景領域については、物体が撮像されていないと判定する、請求項８、または９に記載の画像処理装置。
【請求項１１】
前記物体検出部は、予め定めた第３の時間継続して、前記画像入力部に入力されたフレーム画像に撮像されていた物体を検出する、請求項８〜１０のいずれかに記載の画像処理装置。
【請求項１２】
画像入力部に入力された赤外線カメラで撮像した撮像エリアのフレーム画像を処理し、背景差分画像を生成する画像処理方法であって、
前記画像入力部に入力されたフレーム画像の各画素について、その画素が前景画素であるか、背景画素であるかを、背景モデル記憶部に記憶している当該画素の画素値の頻度をモデル化した背景モデルを用いて判定し、背景差分画像を生成する背景差分画像生成ステップと、
前記画像入力部に入力されたフレーム画像の各画素について、前記背景差分画像生成ステップが前景画素であるか、背景画素であるかを判定する基準である閾値を設定する閾値設定ステップと、を備え、
前記背景差分画像生成ステップは、前記画像入力部に入力されたフレーム画像の各画素について、当該画素の背景モデルにおける頻度が前記閾値設定部が設定した閾値よりも高い画素値であれば背景画素、この閾値よりも低い画素値であれば前景画素と判定し、
前記閾値設定ステップは、前記背景差分画像生成ステップが背景画素であると判定した画素の画素値の分布に基づいて前記閾値を算出して設定する、画像処理方法。
【請求項１３】
画像入力部に入力された赤外線カメラで撮像した撮像エリアのフレーム画像を処理し、背景差分画像を生成する画像処理をコンピュータに実行させる画像処理プログラムであって、
前記画像入力部に入力されたフレーム画像の各画素について、その画素が前景画素であるか、背景画素であるかを、背景モデル記憶部に記憶している当該画素の画素値の頻度をモデル化した背景モデルを用いて判定し、背景差分画像を生成する背景差分画像生成ステップと、
前記画像入力部に入力されたフレーム画像の各画素について、前記背景差分画像生成ステップが前景画素であるか、背景画素であるかを判定する基準である閾値を設定する閾値設定ステップと、をコンピュータに実行させ、
前記背景差分画像生成ステップは、前記画像入力部に入力されたフレーム画像の各画素について、当該画素の背景モデルにおける頻度が前記閾値設定部が設定した閾値よりも高い画素値であれば背景画素、この閾値よりも低い画素値であれば前景画素と判定するステップであり、
前記閾値設定ステップは、前記背景差分画像生成ステップが背景画素であると判定した画素の画素値の分布に基づいて前記閾値を算出して設定するステップである、画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、赤外線カメラで撮像した撮像エリアのフレーム画像を処理して背景差分画像を生成する画像処理装置、画像処理方法、および画像処理プログラムに関する。
【背景技術】
【０００２】
従来、ビデオカメラ等の撮像装置を利用して、不審者の侵入や、不審物の放置を監視する監視システムが実用化されている。この種の監視システムは、撮像装置の撮像エリアを、不審者の侵入や、不審物の放置を監視する監視対象エリアに合わせている。また、撮像装置が撮像した監視対象エリアのフレーム画像を処理し、撮像されている物体（不審者や不審物等）を検出する画像処理装置を備えている。
【０００３】
画像処理装置は、入力されたフレーム画像の画素毎に、背景モデルを用いて、背景が撮像されている背景画素、または背景でない物体が撮像されている前景画素のいずれであるかを判定する。画像処理装置は、この判定結果に基づいて、背景が撮像されている背景領域と、物体（人や車両等）が撮像されている前景領域と、で区別した背景差分画像（２値化画像）を生成する。この背景差分画像における前景領域が、物体が撮像されている領域である。
【０００４】
一方で、可視光カメラは、比較的暗い場所では、露光量が不足し、検出対象である物体を撮像することできない。そこで、遠赤外線カメラで撮像したフレーム画像（熱画像）を処理して、撮像されている人物を検出する装置が提案されている（特許文献１参照）。
【０００５】
この特許文献１は、遠赤外線カメラで撮像した熱画像の各画素について、人物の温度に相当する輝度値（画素値）の上限しきい値と下限しきい値との範囲内にある画素と、この範囲内にない画素と、で区別した２値化画像を生成し、撮像されている人物を検出する構成である。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−１０１３８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、雨天時には、検出対象の物体である人や車両等が雨に濡れてしまうため、遠赤外線カメラで撮像したフレーム画像に撮像されている人や車両等の物体のコントラストが低下する。このため、晴天時や曇天時には、遠赤外線カメラで撮像したフレーム画像に撮像されている人や車両等の物体が検出できても、雨天時には、遠赤外線カメラで撮像したフレーム画像に撮像されている人や車両等の物体が検出できないことがある。
【０００８】
遠赤外線カメラの撮像エリアにおける天候の変化が、遠赤外線カメラで撮像したフレーム画像に撮像されている人や車両等の物体の検出精度を低下させることがあった。
【０００９】
この発明の目的は、赤外線カメラで撮像した撮像エリアのフレーム画像に撮像されている人や車両等の物体の検出精度が、この赤外線カメラの撮像エリアの天候の変化にともなって低下するのを抑えることができる画像処理装置、画像処理方法、および画像処理プログラムを提供することにある。
【課題を解決するための手段】
【００１０】
この発明の画像処理装置は、上記課題を解決し、その目的を達するために、以下のように構成している。
【００１１】
画像入力部には、赤外線カメラが撮像した撮像エリアのフレーム画像が入力される。赤外線カメラは、例えば１秒間に１０〜６０フレームのフレーム画像を撮像し、撮像したフレーム画像を画像入力部に入力する。
【００１２】
背景モデル記憶部は、画像入力部に入力されたフレーム画像の各画素について、その画素の画素値の頻度をモデル化した背景モデルを記憶する。背景モデルは、例えば過去に入力されたフレーム画像の各画素について、その画素の画素値の頻度をモデル化したものであり、ガウス分布の密度関数等であらわされる。背景モデルは、フレーム画像が画像入力部に入力される毎に、そのフレーム画像を用いて更新すればよい。
【００１３】
背景差分画像生成部は、画像入力部に入力されたフレーム画像の各画素について、その画素が前景画素であるか、背景画素であるかを、背景モデル記憶部が当該画素について記憶する背景モデルを用いて判定し、背景差分画像を生成する。具体的には、背景差分画像生成部は、画像入力部に入力されたフレーム画像の画素毎に、その画素の画素値が、その画素の背景モデルにおける頻度が閾値よりも高ければ背景画素、反対に、その画素の背景モデルにおける頻度が閾値よりも低ければ前景画素と判定する。すなわち、背景差分画像生成部は、その画素値があらわれる頻度が閾値よりも低い画素を前景画素と判定し、その画素値があらわれる頻度が閾値よりも高い画素を背景画素と判定する。
【００１４】
また、閾値設定部は、背景差分画像生成部が画像入力部に入力されたフレーム画像の各画素について、前景画素であるか、背景画素であるかを判定する基準である閾値を設定する。閾値設定部は、背景差分画像生成部が背景画素であると判定した画素の画素値の分布に基づいて閾値を算出して設定する。
【００１５】
雨天時には、路面等が雨に濡れるので、背景画素であると判定される路面等を撮像した画素の画素値は、ある値に集中する。また、降雨量が多くなるにつれて、路面等の濡れ具合が均一に近づき、路面の温度もほぼ均一になるので、背景画素であると判定される路面等を撮像した画素の画素値が、ある値に集中する度合が大きくなる。この度合は、背景差分画像生成部が背景画素であると判定した画素についての画素値の分布の分散等から得られる。
【００１６】
閾値設定部は、例えば背景差分画像生成部が背景画素であると判定した画素についての画素値の分布の分散に基づいて閾値を算出して設定することで、降雨量に応じた閾値の設定が行える。閾値設定部は、降雨量が多くなるにつれて、背景画素であるか、前景画素であるかを判定する頻度の閾値を小さくすればよい。
【００１７】
これにより、画像入力部に入力されたフレーム画像に対して、物体が撮像されている前景画素であるか、物体が撮像されていない背景画素であるかの判定にかかる精度が、赤外線カメラの撮像エリアの天候の変化にともなって低下するのを抑えることができる。したがって、赤外線カメラで撮像した撮像エリアのフレーム画像に撮像されている人や車両等の物体の検出精度が、この赤外線カメラの撮像エリアの天候の変化にともなって低下するのを抑えることができる。
【００１８】
なお、背景差分画像生成部が生成した背景差分画像から、撮像されている物体を検出する物体検出部を備えてもよい。
【００１９】
また、閾値設定部は、背景差分画像生成部が背景画素であると判定した画素であって、且つ、画像入力部に入力されたフレーム画像に対して予め設定した閾値算出領域内に位置する画素の画素値を用いて閾値を算出して設定する、構成としてもよい。
【００２０】
この場合、降雨時に雨で濡れる領域を閾値算出領域と設定すればよい。言い換えれば、屋根等が設けられていることによって、降雨時であっても、雨に濡れない領域を閾値算出領域から除外すればよい。これにより、閾値を、降雨量に応じて設定することができる。
【００２１】
また、水溜まりや、金属等で反射した日光を物体として誤検出するのを防止するために、以下に示す構成を付加してもよい。
【００２２】
鏡面画素の画素値の範囲を鏡面画素値記憶部に記憶しておき、画像入力部に入力されたフレーム画像において、その画素値が鏡面画素値記憶部が記憶する鏡面画素として判定する画素値の範囲内である画素を鏡面画素と判定する鏡面画素判定部を設ける。さらに、画像入力部に入力されたフレーム画像における鏡面画素の分布に基づき鏡面領域を設定する鏡面領域設定部を設ける。
【００２３】
そして、物体検出部は、鏡面領域設定部が設定した鏡面領域については、撮像されている物体の検出を行わない構成にする。これにより、水溜まりや、金属等で反射した日光を物体として誤検出するのを防止することができる。
【００２４】
また、鏡面画素判定部は、予め定めた第１の時間継続して、画像入力部に入力されたフレーム画像において、その画素値が鏡面画素値記憶部が記憶する鏡面画素として判定する画素値の範囲内であった画素を鏡面画素と判定するのが好ましい。これにより、一時的にノイズが生じた画素や、一時的に物体で反射された日光等を撮像した画素が、鏡面画素として判定するのを防止できる。
【００２５】
また、鏡面画素判定部は、鏡面画素であると判定した画素について、予め定めた第２の時間継続して、画像入力部に入力されたフレーム画像において、その画素値が鏡面画素値記憶部が記憶する鏡面画素として判定する画素値の範囲外であっときに、その画素を鏡面画素でないと判定するのが好ましい。一時的なノイズによって、鏡面画素を鏡面画素でないと判定するのを防止できる。
【００２６】
また、物体検出部が検出した物体が、人であるか、人以外の車両等の物体であるかを、判定するようにしてもよい。この場合、物体検出部が検出した物体に対応する前景画素に基づいて設定した前景領域内に位置する画素の画素値の分布に基づき、この物体が人であるかどうかを判定する物体判定部を設ければよい。
【００２７】
人は、放射する熱量が部位によって異なることから、人を撮像した画素の画素値が、ある程度分散する。一方、人でない物体は、放射する熱量が全体的に均一であるので、人でない物体を撮像した画素の画素値は、ある値に集中する。したがって、検出した物体に対応する画素の画素値の分布から、この物体が人であるかどうかの判定が行える。
【００２８】
また、検出した物体のサイズが、予め定めた大きさよりも小さければ、この領域に物体が撮像されていないと判定してもよいし、予め定めた第３の時間継続して、画像入力部に入力されたフレーム画像から検出されなかった物体を、撮像されている物体として検出しない構成としてもよい。
【発明の効果】
【００２９】
この発明によれば、赤外線カメラで撮像した撮像エリアのフレーム画像に撮像されている人や車両等の物体の検出精度が、この赤外線カメラの撮像エリアの天候の変化にともなって低下するのを抑えることができる。
【図面の簡単な説明】
【００３０】
【図１】画像処理装置の主要部の構成を示すブロック図である。
【図２】ある画素の背景モデルを説明する図である。
【図３】遠赤外線カメラの撮像エリアを示す図である。
【図４】遠赤外線カメラで晴天時の空を撮像したフレーム画像における、画素値に対する画素数の分布を示す図である。
【図５】画像処理装置の動作を示すフローチャートである。
【図６】鏡面画素領域設定処理を示すフローチャートである。
【図７】背景差分画像生成処理を示すフローチャートである。
【図８】背景画素についての画素値の分布を示すヒストグラムである。
【図９】物体検出処理を示すフローチャートである。
【図１０】種別判定処理を示すフローチャートである。
【発明を実施するための形態】
【００３１】
以下、この発明の実施形態である画像処理装置について説明する。
【００３２】
図１は、この画像処理装置の主要部の構成を示すブロック図である。画像処理装置１は、制御部２と、画像入力部３と、画像処理部４と、入出力部５と、を備えている。
【００３３】
制御部２は、画像処理装置１本体各部の動作を制御する。
【００３４】
画像入力部３には、遠赤外線カメラ１０が撮像したフレーム画像が入力される。遠赤外線カメラ１０は、人や車両等の物体の侵入を監視する監視対象エリアが撮像エリア内に収まるように設置している。遠赤外線カメラ１０は、１秒間に１０〜６０フレームのフレーム画像を撮像し、撮像したフレーム画像を画像入力部３に入力する。
【００３５】
画像処理部４は、画像入力部３に入力されたフレーム画像を処理し、このフレーム画像に撮像されている物体（背景でない物体）を検出する。また、画像処理部４は、画像入力部３に入力されたフレーム画像を処理するときに用いる背景モデルを記憶するメモリ４ａを有している。画像処理部４は、メモリ４ａに記憶している背景モデルを、画像入力部３に入力されたフレーム画像を用いて更新する。また、メモリ４ａは、鏡面画素であると判定する画素値の範囲、鏡面画素設定確認時間（この発明でいう第１の時間に相当する。）、鏡面画素設定解除確認時間（この発明でいう第２の時間に相当する。）、物体検出確認時間（この発明でいう第３の時間に相当する。）や、動作時に発生したデータ（この発明で言う閾値、鏡面領域、前景領域等）も記憶する。
【００３６】
なお、画像処理部４は、画像入力部３に入力されたフレーム画像に対する画像処理等を実行するマイコンを備えている。この発明にかかる画像処理プログラムは、このマイコンを動作させるプログラムであり、予めインストールしている。
【００３７】
入出力部５は、図示していない上位装置との間におけるデータの入出力を制御する。入出力部５は、画像処理部４で物体が検出されたときに、その旨を上位装置（不図示）に通知する信号を出力する。入出力部５は、物体の検出を通知する信号を出力する構成であってもよいし、物体を検出したフレーム画像とともに、物体の検出を通知する信号を出力する構成であってもよい。また、入出力部５は、遠赤外線カメラ１０が撮像したフレーム画像（画像入力部３に入力されたフレーム画像）を、上位装置に送信する構成であってもよい。
【００３８】
なお、上位装置は、画像処理装置１の入出力部５から出力された信号によって、監視対象エリア内に位置する物体の検出が通知されたとき、その旨を音声等で出力して、周辺にいる係員等に通知する構成であってもよいし、さらには、物体を検出したフレーム画像が送信されてきている場合に、そのフレーム画像を表示器に表示する構成であってもよい。また、遠赤外線カメラ１０が撮像したフレーム画像を記録する記録装置を設け、必要に応じて確認できるように構成してもよい。
【００３９】
次に、メモリ４ａが記憶する各種データについて説明する。
【００４０】
まず、背景モデルについて説明する。背景モデルは、画像入力部３に入力されたフレーム画像の画素毎に、その画素の画素値の頻度（発生確率）をモデル化したものである。具体的には、画像入力部３に入力された直近のｎフレームのフレーム画像を用い、フレーム画像の画素毎に、その画素の画素値の頻度（発生確率）を、混合ガウス分布を利用してモデル化したものである。メモリ４ａは、画像入力部３に入力されたフレーム画像の画素毎に、背景モデルを記憶している。また、画像処理部４は、各画素の背景モデルを、画像入力部３にフレーム画像が入力されるたびに更新する。背景モデルを生成する手法については、全ての画素（前景画素、および背景画素）を用いて生成する方法や、背景画素のみを用いて（前景画素を用いないで）生成する方法等、様々な方法がすでに公知であるので、ここでは説明を省略する。背景モデルは、遠赤外線カメラ１０の特性や、撮像環境等に応じた方法を公知の方法から選択すればよい。
【００４１】
図２は、ある画素の背景モデルを示す図である。図２において、横軸が画素値であり、縦軸が頻度（発生確率）である。図２に示す閾値Ｄが、背景画素であるか、前景画素であるかを判定する境界値である。画像処理部４は、遠赤外線カメラ１０が時刻ｔにおいて撮像したフレーム画像を処理するときに、遠赤外線カメラ１０が時刻ｔ−１〜時刻ｔ−ｎの間に撮像したｎフレームのフレーム画像を用いて生成した背景モデルを用いる。
【００４２】
画像処理部４は、画像入力部３に入力されたフレーム画像の画素毎に、その画素の背景モデルにおける、その画素の画素値の頻度が閾値Ｄ以上であれば背景画素と判定し、閾値Ｄ未満であれば前景画素と判定する。画像入力部３に入力されたフレーム画像の各画素に対する閾値Ｄは、同じ値である。閾値Ｄは、メモリ４ａに記憶している。また、画像処理部４は、画像入力部３に入力されたフレーム画像から、閾値Ｄを算出し設定する（メモリ４ａに記憶している閾値Ｄを更新する）機能を有している。この閾値Ｄを設定する処理の詳細については、後述する。
【００４３】
次に、鏡面画素として判定する画素の画素値の範囲について説明する。画像処理部４は、鏡面画素として判定する画素値の下限値と、上限値とをメモリ４ａに記憶している。ここで言う鏡面画素とは、水溜まりや、金属等で反射した日光を撮像した画素である。例えば、遠赤外線カメラ１０の撮像エリアである監視対象エリアに、図３に示すような水溜まりがある場合、この水溜まりで反射した日光を撮像した画素が鏡面画素である。鏡面画素は、反射された日光の遠赤外線エネルギー量に応じた画素値になるので、背景差分画像を生成するときに、前景画素と判定される。
【００４４】
鏡面画素の画素値は、上空を撮像したときの画素値と近似する。遠赤外線カメラ１０で水溜まりや、金属等が反射した日光が撮像されるのは、晴天時であり、曇天時や雨天時に撮像されることはない。曇天時や雨天時は、水溜まりや、金属等に照射される日光が雲で散乱されているからである。このことから、この例では、晴天時に、遠赤外線カメラ１０で上空を撮像したフレーム画像を用い、画素値に対する画素数の分布を基に、鏡面画素として判定する画素の画素値の下限値と、上限値とを決定し、メモリ４ａに予め記憶している。
【００４５】
晴天時の空は、非常に低い遠赤外線エネルギーを放出している。遠赤外線カメラ１０で晴天時の空を撮像したフレーム画像における、画素値に対する画素数の分布は、図４に示すように非常に低い画素値に集中する。図４において、横軸が画素値であり、縦軸が画素数である。この例では、図４に示す画素値Ａが鏡面画素として判定する画素値の下限値でありし、画素値Ｂが鏡面画素として判定する画素値の上限値である。
【００４６】
また、鏡面画素として判定する画素値の下限値Ａ、および上限値Ｂは、遠赤外線カメラ１０で撮像した晴天時の空のフレーム画像により決定している。したがって、下限値Ａ、および上限値Ｂは、遠赤外線カメラ１０の特性や、監視対象エリアである撮像エリアの環境も考慮した値である。また、メモリ４ａが記憶する鏡面画素として判定する画素の画素値の下限値Ａ、および上限値Ｂは、１週間や１カ月等の適当な間隔で更新すればよい。
【００４７】
メモリ４ａが記憶する鏡面画素設定確認時間、鏡面画素設定解除確認時間、および物体検出確認時間は、数秒（１〜３秒）程度の時間である。鏡面画素設定確認時間、鏡面画素設定解除確認時間、および物体検出確認時間は、すべて同じ時間であってもよいし、すべて異なる時間であってもよい。ただし、物体検出確認時間は、鏡面画素設定確認時間以上に設定するのが好ましい。物体検出確認時間は、鏡面画素設定確認時間以上に設定することで、鏡面領域であると判定される前に、この鏡面領域を物体であると誤検出するのを防止できる。
【００４８】
なお、鏡面画素設定確認時間、鏡面画素設定解除確認時間、および物体検出確認時間は、フレーム画像数で設定する構成であってもよい。例えば、遠赤外線カメラ１０が、１秒間に１０フレームのフレーム画像を出力する構成であれば、１秒（時間）ではなく、１０フレーム（フレーム画像数）を設定する構成であってもよい。
【００４９】
次に、この画像処理装置の動作について説明する。ここでは、最初に画像処理装置１の動作の概略を説明し、その後、各動作について詳細に説明する。図５は、画像処理装置の動作を示すフローチャートである。
【００５０】
遠赤外線カメラ１０は、撮像エリアを撮像したフレーム画像を画像入力部３に入力している。画像処理部４は、画像入力部３に入力されたフレーム画像（１フレーム）を取り込む（ｓ１）。画像処理部４は、画像入力部３に入力されたフレーム画像を、入力された順番に取り込み、以下に示す処理を繰り返す。
【００５１】
画像処理部４は、今回取り込んだフレーム画像に対して水溜まりや、金属等で反射した日光を撮像している鏡面領域を設定する鏡面領域設定処理を行う（ｓ２）。ｓ２では、今回取り込んだフレーム画像に対して、鏡面領域が設定されないこともあれば、１または複数の鏡面領域が設定されることもある。
【００５２】
画像処理部４は、今回取り込んだフレーム画像に対する背景差分画像を生成する背景差分画像生成処理を行う（ｓ３）。
【００５３】
画像処理部は、ｓ３で生成した背景差分画像から、今回取り込んだフレーム画像に撮像されている物体を検出する物体検出処理を行う（ｓ４）。ｓ４では、物体が検出されないこともあれば、１または複数の物体が検出されることもある。
【００５４】
画像処理部４は、ｓ４で今回取り込んだフレーム画像に撮像されている物体を検出すると、ｓ４で検出した物体毎に、その物体が人であるか、人以外のものであるかを判定する種別判定処理を行う（ｓ５、ｓ６）。画像処理装置１は、ｓ６にかかる判定結果を入出力部５から出力し（ｓ７）、物体の検出を上位装置に通知する。
【００５５】
なお、画像処理装置１は、ｓ５で、物体を検出していないと判定すると、ｓ６、およびｓ７にかかる処理を行うことなく、以下に示すｓ８にかかる処理を行う。
【００５６】
画像処理部４は、ｓ１で今回取り込んだフレーム画像を用いて、メモリ４ａに記憶している背景モデルを更新する背景モデル更新処理を行い（ｓ８）、ｓ１に戻る。ｓ８では、フレーム画像の各画素について、背景モデルを更新する。
【００５７】
なお、背景モデルの更新は、特定の手法に限定されることはなく、上述したように公知の手法のいずれかで行えばよい。
【００５８】
画像処理装置１は、この図５に示す処理を繰り返す。
【００５９】
次に、ｓ２にかかる鏡面領域設定処理の詳細について説明する。図６は、鏡面領域設定処理を示すフローチャートである。
【００６０】
画像処理部４は、ｓ１で今回取り込んだフレーム画像の画素毎に、以下に示すｓ１１〜ｓ１７の処理を行い、鏡面画素であるかどうかを判定する。
【００６１】
画像処理部４は、鏡面画素であるかどうかを判定する判定対象の画素の画素値がメモリ４ａに記憶している鏡面画素の下限値Ａと、上限値Ｂとの範囲内であるかどうかを判定する（ｓ１１）。画像処理部４は、ｓ１１でその画素値が下限値Ａと、上限値Ｂとの範囲内でないと判定すると、前回取り込んだフレーム画像において、鏡面画素と判定した画素であるかどうかを判定する（ｓ１２）。画像処理部４は、前回取り込んだフレーム画像においても、鏡面画素でないと判定した画素であれば、この画素を鏡面画素でないと判定する（ｓ１３）。
【００６２】
また、画像処理部４は、前回取り込んだフレーム画像において、鏡面画素であると判定した画素であれば、この画素の画素値が下限値Ａと上限値Ｂとの範囲外であった時間が鏡面画素設定解除確認時間継続しているかどうかを判定する（ｓ１４）。画像処理部４は、鏡面画素であると判定した各画素について、その画素値が鏡面画素の下限値Ａと、上限値Ｂとの範囲外である継続時間をカウントしている。このカウント値は、メモリ４ａに記憶している。
【００６３】
画像処理部４は、この画素の画素値が下限値Ａと上限値Ｂとの範囲外であった時間が鏡面画素設定解除確認時間継続していれば、ｓ１３で、この画素を鏡面画素でないと判定する。一方、画像処理部４は、この画素の画素値が下限値Ａと上限値Ｂとの範囲外であった時間が鏡面画素設定解除確認時間継続していなければ、この画素を鏡面画素であると判定する（ｓ１５）。
【００６４】
また、画像処理部４は、ｓ１１で、その画素値が下限値Ａと、上限値Ｂとの範囲内であると判定した画素については、前回取り込んだフレーム画像において、鏡面画素と判定した画素であるかどうかを判定する（ｓ１６）。画像処理部４は、前回取り込んだフレーム画像において、鏡面画素であると判定した画素であれば、ｓ１５で、この画素を鏡面画素であると判定する。
【００６５】
また、画像処理部４は、前回取り込んだフレーム画像において、鏡面画素でないと判定した画素であれば、この画素の画素値が下限値Ａと上限値Ｂとの範囲内であった時間が鏡面画素設定確認時間継続しているかどうかを判定する（ｓ１７）。画像処理部４は、鏡面画素でないと判定した各画素について、その画素値が鏡面画素の下限値Ａと、上限値Ｂとの範囲内である継続時間をカウントしている。このカウント値は、メモリ４ａに記憶している。
【００６６】
画像処理部４は、この画素の画素値が下限値Ａと上限値Ｂとの範囲内であった時間が鏡面画素設定確認時間継続していれば、ｓ１５で、この画素を鏡面画素であると判定する。一方、画像処理部４は、この画素の画素値が下限値Ａと上限値Ｂとの範囲内であった時間が鏡面画素設定確認時間継続していなければ、ｓ１３で、この画素を鏡面画素でないと判定する。
【００６７】
このように、画像処理部４は、フレーム画像の画素毎に、その画素値が下限値Ａと上限値Ｂとの範囲内であった時間が鏡面画素設定確認時間継続したときに、鏡面画素であると判定する。また、画像処理部４は、フレーム画像の画素毎に、その画素値が下限値Ａと上限値Ｂとの範囲外であった時間が鏡面画素設定解除確認時間継続したときに、鏡面画素でないと判定する。
【００６８】
したがって、画像処理部４は、一時的に、その画素値が下限値Ａと上限値Ｂとの範囲内になった画素を、鏡面画素であると判定することがない。また、画像処理部４は、一時的に、その画素値が下限値Ａと上限値Ｂとの範囲外になった画素を、鏡面画素でないと判定することがない。
【００６９】
画像処理部４は、ｓ１５で鏡面画素であると判定した画素の分布に基づいて、今回取り込んだフレーム画像上に鏡面領域を設定する（ｓ１８）。ｓ１８では、鏡面画素が集まっている領域を鏡面領域に設定する。このため、設定した鏡面領域には、上記の処理で鏡面画素でないと判定された画素が含まれることもある。画像処理部４は、ｓ１８で設定した鏡面領域をメモリ４ａに記憶する。例えば、フレーム画像に対して、図３に示した水溜まりが撮像されている領域を鏡面領域に設定し、この領域をメモリ４ａに記憶する。
【００７０】
なお、設定した鏡面領域内に含まれている、鏡面画素でないと判定した画素については、この判定結果を維持する。
【００７１】
次に、ｓ３にかかる背景差分画像生成処理の詳細について説明する。図７は、背景差分画像生成処理を示すフローチャートである。
【００７２】
画像処理部４は、ｓ１で今回取り込んだフレーム画像において、上記処理で設定した鏡面領域以外の各画素について、その画素が前景画素であるか、背景画素であるかを判定する（ｓ２１）。言い換えれば、上記処理で設定した鏡面領域内の画素については、前景画素であるか、背景画素であるかの判定を行わない。画像処理部４は、メモリ４ａに記憶している背景モデル、および閾値Ｄを用いて、前景画素であるか、背景画素であるかの判定を行う。
【００７３】
画像処理部４は、ｓ２１で背景画素であると判定した画素について、画素値の分布を示すヒストグラムを生成する（ｓ２２）。言い換えれば、画像処理部４は、ｓ１８で設定した鏡面領域内に位置する画素、および、ｓ２１で前景画素と判定した画素を用いないで、このヒストグラムを生成する。
【００７４】
図８は、フレーム画像における背景画素の画素値の分布を示すヒストグラムである。図８（Ａ）は、日光が照射されているとき（晴天時の日中）のヒストグラムであり、図８（Ｂ）は、日光が照射されていないとき（夕方〜明け方までの時間帯や、曇天時等）のヒストグラムである。ただし、図８（Ａ）、（Ｂ）は、ともに路面等の背景が雨で濡れていない状態である。また、図８（Ｃ）、（Ｄ）は、降雨時のヒストグラムであり、ともに路面等の背景が雨で濡れている状態である。図８（Ｄ）は、図８（Ｃ）よりも降雨量が多い状態である。図８（Ａ）〜（Ｄ）は、横軸が画素値であり、縦軸が画素数である。
【００７５】
図８（Ａ）〜（Ｄ）に示すように、降雨時には、背景である路面等が雨に濡れるので、背景画素の画素値は、ある値に集中する。また、降雨量が多くなるにつれて、路面等の濡れ具合が均一に近づくので、背景画素であると判定される路面等を撮像した画素の画素値が、ある値に集中する度合が大きくなる（ヒストグラムの分散δが小さくなる）。
【００７６】
一方で、降雨時には、前景である人や車両等の物体も、背景である路面と同様に雨に濡れるので、背景画素だけでなく、前景画素の画素値も低下する。
【００７７】
画像処理部４は、ｓ２２で生成したヒストグラムの分散δに基づき閾値Ｄを算出する（ｓ２３）。具体的には、閾値Ｄを、
閾値Ｄ＝α−β／δ
により算出した値に決定する（α、およびβは、予め個別に設定した値である。）。
【００７８】
閾値Ｄは、ｓ２２で生成したヒストグラムの分散δが小さくなるにつれて、すなわち降雨量が多くなるにつれて、小さくなる。
【００７９】
画像処理部４は、メモリ４ａに記憶している閾値Ｄを、ｓ２３で算出した値に更新し（ｓ２４）、終了する。
【００８０】
上記の説明から明らかなように、今回取り込んだフレーム画像によって算出した閾値Ｄは、次回取り込んだフレーム画像の各画素に対して前景画素であるか、背景画素であるかを判定するときに用いる。すなわち、今回取り込んだフレーム画像の各画素に対して、前景画素であるか、背景画素であるかを判定するときに用いる閾値Ｄは、前回取り込んだフレーム画像によって算出した値である。
【００８１】
このように、閾値Ｄは、遠赤外線カメラ１０の撮像エリアの天候の変化にともなって、ほぼリアルタイムに設定される。したがって、遠赤外線カメラ１０が撮像したフレーム画像の各画素に対して、その画素が前景画素であるか、背景画素であるかの判定精度が、この遠赤外線カメラ１０の撮像エリアの天候の変化にともなって低下するのを抑えることができる。
【００８２】
なお、上記の説明では、ｓ２２でヒストグラムを生成するとき、ｓ１８で設定した鏡面領域内に位置する画素、および、ｓ２１で前景画素と判定した画素を用いないとしたが、例えば、遠赤外線カメラ１０の撮像対象エリアに、屋根等が設けられていることで、降雨時に雨で濡れない領域がある場合には、降雨時に雨で濡れる領域を閾値算出領域として設定しておいてもよい。この場合、設定している閾値算出領域内であって、且つ、ｓ２１で背景画素であると判定した画素により、上述のヒストグラムを生成すればよい。
【００８３】
次に、ｓ４にかかる物体検出処理の詳細について説明する。図９は、物体検出処理を示すフローチャートである。
【００８４】
画像処理部４は、ｓ２１で前景画素であると判定した画素の分布に基づいて、今回取り込んだフレーム画像上に前景領域を設定する（ｓ３１）。ｓ３１では、前景画素が集まっている領域を前景領域に設定する。このため、設定した前景領域には、上記の処理で背景画素であると判定された画素が含まれることもある。画像処理部４は、ｓ３１で設定した前景領域をメモリ４ａに記憶する。例えば、フレーム画像に対して、図３に示した車両や、人が撮像されている領域を個別に前景領域に設定し、この領域をメモリ４ａに記憶する。
【００８５】
画像処理部４は、ｓ３１で設定した前景領域毎に、予め定めたサイズよりも大きいかどうかを判定し（ｓ３２）、予め定めたサイズよりも小さい前景領域をノイズと判定する（ｓ３３）。ｓ３３では、この前景領域（予め定めたサイズよりも小さい前景領域）に、物体が撮像されていないと判定する。
【００８６】
一方、画像処理部４は、ｓ３２で予め定めたサイズよりも大きいと判定した前景領域毎に、その前景領域がメモリ４ａに記憶している物体検出確認時間継続して検出されているかどうかを判定する（ｓ３４）。画像処理部４は、ｓ３４で物体検出確認時間継続して検出されている前景領域を物体として検出する（ｓ３５）。画像処理部４は、ｓ３２で予め定めたサイズよりも大きいと判定した前景領域毎に、フレーム画像上に設定した継続時間をカウントしている。このカウント値は、メモリ４ａに記憶している。
【００８７】
なお、画像処理部４は、物体検出確認時間継続して検出されていない前景領域を物体として検出しないが、この前景領域をノイズとして判定することもない。
【００８８】
これにより、画像処理部４は、遠赤外線カメラ１０の撮像エリア内に、物体検出確認時間以上滞在した物体を、物体として検出する。このため、画像処理部４が、遠赤外線カメラ１０の撮像レンズの近くを飛行した鳥や虫等を、物体として検出するのを防止できる。
【００８９】
また、物体検出確認時間は、上述したように、鏡面画素設定確認時間以上に設定することで、ｓ１８で鏡面領域に設定される前に、画像処理部４が、この鏡面領域を物体であると誤検出するのを防止できる。
【００９０】
次に、ｓ６にかかる種別判定処理の詳細について説明する。図１０は、種別判定処理を示すフローチャートである。
【００９１】
画像処理部４は、ｓ３５で物体として検出した前景領域毎に、その前景領域内の画素の画素値の分布を示すヒストグラムを生成する（ｓ４１）。車両等の物体は、表面が略均一な材質であるので、遠赤外線エネルギーの放射度合が略均一である。このため、車両等の物体にかかる前景領域は、画素値の分布を示すヒストグラムの分散δが比較的小さい。
【００９２】
これに対し、人は、体の部位によって遠赤外線エネルギーの放射量が異なり、また、雨に濡れていても、衣服や合羽が肌に密着している部分と、肌から離れている部分とがあるので、画素値の分布を示すヒストグラムの分散δが比較的大きい。
【００９３】
画像処理部は、ｓ４１で生成したヒストグラムの分散δが予め定めた値Ｃ以上であれば人、それ以外（分散δが予め定めた値Ｃ未満）であれば人でない物体と判定する（ｓ４２〜ｓ４４）。また、この種別判定においては、前景領域の大きさ等も加味して、その種別を判定してもよい。
【００９４】
なお、上記の判定に用いる値Ｃもメモリ４ａに記憶している。
【００９５】
このように、この画像処理装置１は、遠赤外線カメラ１０の撮像エリアの天候の変化に応じて、前景画素であるか、背景画素であるかを判定する閾値Ｄを算出し、更新する。したがって、遠赤外線カメラ１０が撮像したフレーム画像の各画素に対して、その画素が前景画素であるか、背景画素であるかの判定精度が、この遠赤外線カメラ１０の撮像エリアの天候の変化にともなって低下するのを抑えることができる。その結果、遠赤外線カメラ１０が撮像したフレーム画像に対する前景領域の設定も適正に行えるので遠赤外線カメラ１０で撮像した撮像エリアのフレーム画像に撮像されている人や車両等の物体の検出精度が、この遠赤外線カメラ１０の撮像エリアの天候の変化にともなって低下するのを抑えることができる。
【００９６】
また、画像処理部４は、設定した鏡面領域内の画素については、その画素が前景画素であるか背景画素であるかを判定しないので、この鏡面領域が物体として誤検出されることがない。
【００９７】
また、画像処理部４は、物体として検出した、前景領域内の画素の画素値の分布を示すヒストグラムの分散δにより、その物体の種別を判定するので、検出した物体が人であるかどうかについて精度よく判定できる。
【符号の説明】
【００９８】
１…画像処理装置
２…制御部
３…画像入力部
４…画像処理部
４ａ…メモリ
５…入出力部
１０…遠赤外線カメラ
【図１】
0005948983.tif 000002
【図２】
0005948983.tif 000003
【図３】
0005948983.tif 000004
【図４】
0005948983.tif 000005
【図５】
0005948983.tif 000006
【図６】
0005948983.tif 000007
【図７】
0005948983.tif 000008
【図８】
0005948983.tif 000009
【図９】
0005948983.tif 000010
【図１０】
0005948983.tif 000011