以下、図面を参照して発明を実施するための形態について説明する。各図面において、同一構成部分には同一符号を付し、重複した説明を省略する場合がある。
なお、以下の実施の形態では、付着物検出装置を自動車等の移動体に搭載し、移動体のフロントガラス等に付着した雨滴等の付着物を検出し、移動体機器を制御する移動体機器制御システムの例を示すが、これに限定されることはない。例えば、付着物検出装置を用いて、建物のガラス等に付着した雨滴等の付着物を検出すること等が可能である。なお、移動体機器とは、移動体に搭載された所定の機器を指し、例えば、移動体が自動車であれば、ワイパーやヘッドランプ等が移動体機器である。
[移動体機器制御システム]
まず、本実施の形態に係る移動体機器制御システムについて説明する。図1は、本実施の形態に係る移動体機器制御システムの概略構成を例示する模式図である。図1に示す移動体機器制御システム300は、移動体の一例として車両(自動車)を例にしたものである。図1を参照するに、移動体機器制御システム300は、付着物検出装置10と、ヘッドランプ制御ユニット310と、ワイパー制御ユニット320と、車両走行制御ユニット330と、ヘッドランプ350と、ワイパー360とを有する。なお、図1において、400は自動車等の自車両を示している。
移動体機器制御システム300は、自車両400に搭載された付着物検出装置10の撮像装置40(図2及び図3参照)で撮像した自車両進行方向前方領域(撮像領域)の撮像画像データを利用して、所定の制御を行う機能を有する。所定の制御としては、例えば、ヘッドランプの配光制御、ワイパーの駆動制御、自車両400に搭載された他の機器の制御等を挙げることができる。
撮像装置40で撮像された撮像画像データは、画像解析ユニット50に入力される。画像解析ユニット50は、撮像装置40から送信される撮像画像データを解析することにより、例えば、自車両400の前方に存在する他車両の位置や方角、距離等を算出する。
又、画像解析ユニット50は、他車両のテールランプを識別することで自車両400と同じ進行方向へ進行する先行車両を検出したり、他車両のヘッドランプを識別することで自車両400とは反対方向へ進行する対向車両を検出したりする。又、画像解析ユニット50は、フロントガラス101に付着する雨滴や異物等の付着物を検出したり、撮像領域内に存在する路面上の白線(区画線)等の検出対象物を検出したりする。
画像解析ユニット50の解析結果は、ヘッドランプ制御ユニット310に送られる。ヘッドランプ制御ユニット310は、例えば、画像解析ユニット50が算出した距離データから、自車両400に搭載された機器であるヘッドランプ350を制御する制御信号を生成する。
具体的には、例えば、先行車両や対向車両の運転者の目に自車両400のヘッドランプの強い光が入射するのを避けて他車両の運転者の幻惑防止を行いつつ、自車両400の運転者の視界確保を実現する。そのために、ヘッドランプ350のハイビーム及びロービームの切り替えを制御したり、ヘッドランプ350の部分的な遮光制御を行ったりする。
画像解析ユニット50の解析結果は、ワイパー制御ユニット320にも送られる。ワイパー制御ユニット320は、ワイパー360を制御して、自車両400のフロントガラス101に付着した雨滴や異物等の付着物を除去する。ワイパー制御ユニット320は、画像解析ユニット50が検出した付着物検出結果を受けて、ワイパー360を制御する制御信号を生成する。ワイパー制御ユニット320により生成された制御信号がワイパー360に送られると、自車両400の運転者の視界を確保すべく、ワイパー360を稼動させる。
又、画像解析ユニット50の解析結果は、車両走行制御ユニット330にも送られる。車両走行制御ユニット330は、例えば、画像解析ユニット50が検出した白線検出結果に基づいて、白線によって区画されている車線領域から自車両400が外れている場合等に、自車両400の運転者へ警告を報知する。又、車両走行制御ユニット330は、例えば、自車両400のハンドルやブレーキを制御する等の走行支援制御を行ったりする。
[付着物検出装置]
次に、本実施の形態に係る付着物検出装置について説明する。本実施の形態に係る付着物検出装置は、雨滴や異物等の付着物を検出可能であるが、付着物の代表的な一例として雨滴を挙げ、付着物検出装置の代表的な一例として雨滴検出装置の例を挙げて以降の説明を行う。従って、付着物検出装置10を雨滴検出装置10と称する場合がある。
図2は、本実施の形態に係る雨滴検出装置の概略構成を例示する模式図である。図3は、図2の一部を拡大して例示する模式図である。図2及び図3を参照するに、雨滴検出装置10は、撮像ユニット20と、画像解析ユニット50とを有する。なお、フロントガラス101は、本発明に係る付着物が付着する対象物の代表的な一例である。
撮像ユニット20は、例えば、車両のフロントガラス101の近傍(例えば、図示しないルームミラー付近)に設置されている。撮像ユニット20を、例えば、少なくともフロントガラス101側が透明なカバー104に収容した状態でフロントガラス101の近傍に設置してもよい。
又、フロントガラス101側が開口されたカバー104をフロントガラス101に密着させ、撮像ユニット20をフロントガラス101とカバー104で覆うように配置してもよい。この場合には、フロントガラス101の内壁面が曇るような状況であっても、カバー104で覆われた部分のフロントガラス101が曇ることを防止できる。その結果、フロントガラス101の曇りによって画像解析ユニット50が誤解析することを抑制でき、画像解析ユニット50の解析結果に基づく各種制御動作を適切に行うことができる。
但し、例えば、フロントガラス101の曇りを撮像ユニット20で検出して、自車両の空調設備を制御するような場合には、撮像ユニット20に対向するフロントガラス101の部分が他の部分と同じ状況となるように、カバー104に空気の流路を形成すればよい。
撮像ユニット20は、光源30と、撮像装置40とを有する。光源30は、フロントガラス101に付着した雨滴を検出するために設けられた光源であり、フロントガラス101の一方の面側(内壁面側)からフロントガラス101に向けて光を照射する機能を有する。
光源30は、フロントガラス101に付着した雨滴103を検出する雨滴検出領域102を少なくとも照射できる位置に配置されている。例えば、雨滴検出領域102がフロントガラス101の下端側であれば、光源30は、少なくともフロントガラス101の下端側を照射できる位置に配置される。又、雨滴検出領域102がフロントガラス101の上端側及び下端側であれば、光源30は、少なくともフロントガラス101の上端側及び下端側を照射できる位置に配置される。又、雨滴検出領域102がフロントガラス101の全面であれば、光源30は、少なくともフロントガラス101の全面を照射できる位置に配置される。なお、雨滴検出領域102を確実に照射するため、複数の光源30を配置してもよい。
光源30としては、例えば、発光ダイオード(LED)や半導体レーザ(LD)等を用いることができる。又、光源30は所定の波長帯域で発光する。光源30の発光波長としては、例えば、可視光や赤外光等を用いることができる。
但し、光源30の光で対向車両の運転者や歩行者等を眩惑するのを回避する必要がある。そのため、光源30の発光波長としては、可視光よりも波長が長く、かつ、後述の画像センサ43の受光感度が及ぶ範囲の波長(例えば800nm以上1000nm以下の赤外光領域の波長)を選択することが好ましい。
必要に応じて光源30の後段にコリメートレンズを設け、光源30からの照射光を略平行光とすることが望ましい。なお、光源30は、本発明に係る光照射手段の代表的な一例である。但し、光照射手段は、コリメートレンズ等の光源30からの照射光の形態を調整可能なレンズ等の構成要素を含んでもよい。又、雨滴検出領域102は、本発明に係る所定領域の代表的な一例である。
撮像装置40は、フロントガラス101に対して光源30と同じ側に配置されており、光源30から雨滴103に照射された光の反射光や、車両外部からの入射光を撮像する機能を有する。本実施の形態では、撮像レンズ41の光軸が水平方向を向くように配置しているが、これに限定されることはない。なお、光源30は、光源30から雨滴103に照射された光の反射光が撮像装置40へ入射する位置に配置されている。
撮像装置40は、撮像レンズ41と、光学フィルタ42と、画像センサ43と、センサ基板44と、信号処理部45とを有する。撮像レンズ41は、例えば、複数のレンズから構成され、焦点がフロントガラス101の位置よりも遠方に設定されている。撮像レンズ41の焦点位置は、例えば、無限遠又は無限遠とフロントガラス101との間に設定することができる。
光学フィルタ42は、画像センサ43の前段に配置され、画像センサ43に入射する光の波長帯域を制限する機能を有する。光学フィルタ42は、光源30の発光波長帯域の光を透過可能な材料を適宜選択して形成できる。例えば、光源30の発光波長帯域が可視光域や赤外域である場合には、光学フィルタ42の材料として、ガラス、サファイア、水晶等を用いることができる。光学フィルタ42は、入射光のうちの所定の偏光成分(例えば、P偏光成分)のみを透過するように形成してもよい。
図4は、本実施の形態に係る光学フィルタ42を例示する図であり、図4(a)は側面図、図4(b)は正面図(画像センサ43側から見た図)である。図4に示すように、光学フィルタ42は基板42aを有し、基板42aの撮像レンズ41側の面(A側の面)には、赤外光及び可視光相当を透過する分光フィルタ層42bが形成されている。又、基板42aの画像センサ43側の面(B側の面)には、偏光フィルタ層42c、SOG(Spin On Glass)層42d、及び赤外光透過フィルタ42eが順に形成されている。なお、図4において、111は車両検出用画像領域を示している。
本実施の形態では、偏光フィルタ層42cは、ワイヤグリッド偏光子で形成されている。ワイヤグリッドは、アルミ等の金属で構成された導電体線が特定ピッチで格子状に配列してなるものである。ワイヤグリッドの特定ピッチが入射光(例えば、可視光の波長400nmから800nm)に比べてかなり小さければ(例えば、2分の1以下)、導電体線に対して平行に振動する電場ベクトル成分の光をほとんど反射する。そして、導電体線に対して垂直な電場ベクトル成分の光をほとんど透過させる。そのため、単一偏光を作り出す偏光子として使用できる。
図5は、撮像画像を例示する図である。図5に示すように、対向車両のヘッドランプ(図示せず)及び先行車両115のテールランプ並びに白線116の画像は、主に撮像画像中央部に存在することが多い。又、撮像画像下部には自車両前方の直近の路面117の画像が存在し、撮像画像上部には空118の画像が存在することが通常である。つまり、対向車両のヘッドランプ(図示せず)及び先行車両115のテールランプ並びに白線116の識別に必要な情報は撮像画像中央部に集中しており、その識別において撮像画像上部及び撮像画像下部の情報はあまり重要ではない。
よって、単一の撮像画像データから、対向車両や先行車両115或いは白線116の検出と雨滴103の検出とを両立して行う場合には、図5に示すように、撮像画像中央部を車両検出用画像領域111とすることが好適である。そして、撮像画像上部及び撮像画像下部をそれぞれ雨滴検出用画像領域112及び113とすることが好適である。
従って、前述の図4に示すように、図5の雨滴検出用画像領域112に対応する撮像画像上部と、図5の雨滴検出用画像領域113に対応する撮像画像下部とに領域分割された赤外光透過フィルタ42eを設けている。赤外光透過フィルタ42eには、例えば、図6に示すような、光源30の発光波長をほぼ透過し、光源30の発光波長よりも短波長側を遮蔽するするカットフィルタを用いることができる。又、図7に示すような、光源30の発光波長近傍のみを透過させるバンドパスフィルタを用いてもよい。なお、本実施の形態では、撮像画像上部は撮像領域の上側の高さ1/4に相当する部分であり、撮像画像下部は撮像領域の下側の高さ1/4に相当する部分である。
図2及び図3に戻り、画像センサ43は、光学フィルタ42を透過した光を受光する2次元配置された複数の画素で構成され、画素毎に入射光を光電変換する機能を有する。画像センサ43は、センサ基板44に搭載されている。画像センサ43は、例えば、2次元配置された数十万個程度の画素で構成されている。画像センサ43としては、例えば、CCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)等を用いることができる。なお、画像センサ43の入射側に、例えば、各画素に対応するマイクロレンズ等を設け、画像センサ43への集光効率を上げる構成にしてもよい。
画像センサ43の後段には信号処理部45が設けられている。信号処理部45は、画像センサ43で光電変換されたアナログ電気信号(画像センサ43の各画素への入射光量に対応した電気信号)を、撮影した画像の画素毎の明るさ(輝度)を示すデジタル電気信号に変換する。そして、画像データとして画像の水平・垂直同期信号とともに後段の画像解析ユニット50へ出力する機能を有する。なお、画像センサ43及び信号処理部45は、本発明に係る撮像手段の代表的な一例である。
画像解析ユニット50は、雨滴量情報算出手段60を有する。雨滴量情報算出手段60は、信号処理部45から得られた画像データを処理し、フロントガラス101に付着する雨滴103の付着量情報等を算出する機能を有する。
雨滴量情報算出手段60による処理は、例えば、プログラムとしてコンピュータに実行される。雨滴量情報算出手段60は、例えば、図示しないCPU、RAM、ROM、FROM等により構成できる。CPUは雨滴量情報算出手段60としての機能を実現するとともに、光源30や画像センサ43を駆動する周辺ICを制御する機能等を有してもよい。RAMは撮像情報や演算結果等を保持する機能を有する。ROMは制御プログラム等を格納する機能を有する。FROMは調整値等を保持させる不揮発性メモリである。なお、CPU、RAM、ROM、FROM、周辺IC等は、例えば、バスを介して信号の送受信が可能とされている。なお、雨滴量情報算出手段60は、本発明に係る付着量情報算出手段の代表的な一例である。
ここで、雨滴検出装置10について、より詳しく説明する。フロントガラス101の外壁面に雨滴103が付着していない場合、光源30から照射された光は、フロントガラス101の外壁面と外気との界面で反射し、その正反射光が撮像装置40へ入射しないように構成されている。一方、図2に示すように、フロントガラス101の外壁面に雨滴103が付着している場合、フロントガラス101の外壁面と雨滴103との間における屈折率差は、フロントガラス101の外壁面と外気との間の屈折率差よりも小さくなる。
そのため、光源30から照射された光は、フロントガラス101の外壁面と雨滴103の界面を透過し雨滴103に入射する。そして、雨滴103に入射した光は、雨滴103と空気との界面で反射し、その拡散反射光が撮像装置40へ入射する。従って、雨滴103の存在によって撮像装置40へ入射する光の量が増加する。雨滴103の有無によるこのような違いによって、雨滴量情報算出手段60は、撮像装置40から送信される撮像画像データから、フロントガラス101に付着する雨滴103の有無を検出できる。
ここで、雨滴検出装置の別の構成である雨滴検出装置10Aについて説明する。図8は、本実施の形態の変形例に係る雨滴検出装置の概略構成を例示する模式図である。図8に示すように、雨滴検出装置10Aは、フロントガラス101の内側に導光部材65が追加された点が、雨滴検出装置10(図1等参照)と相違する。
雨滴検出装置10Aにおいて、フロントガラス101の外壁面に雨滴103が付着していない場合(図示せず)、光源30から照射された光は、例えばプリズムのような導光部材65により導光され、フロントガラス101の外壁面と外気との界面で全反射し、その反射光が撮像装置40へ入射する。一方、図8に示すように、フロントガラス101の外壁面に雨滴103が付着している場合、フロントガラス101の外壁面と雨滴103との間における屈折率差は、フロントガラス101の外壁面と外気との間の屈折率差よりも小さくなる。
そのため、光源30から照射された光は、フロントガラス101の外壁面で全反射されることなく、フロントガラス101の外壁面と雨滴103の界面を透過する。従って、雨滴103の存在によって撮像装置40へ入射する光の量が減少する。雨滴103の有無によるこのような違いによって、雨滴量情報算出手段60は、撮像装置40から送信される撮像画像データから、フロントガラス101に付着する雨滴103の有無を検出できる。
本実施の形態では、撮像レンズ41の焦点位置は、無限遠又は無限遠とフロントガラス101との間に設定している。これにより、画像解析ユニット50は、雨滴量情報算出手段60が雨滴103の検出を行う場合だけでなく、画像解析ユニット50内の他の部分が先行車両や対向車両の検出や白線の検出等を行う場合も、撮像装置40の撮像画像データから適切な情報を取得できる。
但し、無限遠に撮像レンズ41の焦点が合っている場合、遠方を走行する先行車両のテールランプを識別する場合は、画像センサ43において、テールランプの光を受光する画素が1個程度になる場合がある。この場合、テールランプを認識できず、先行車両の検出ができない虞がある。
このような不具合を回避するため、撮像レンズ41の焦点を無限遠よりも手前に合わせることが好ましい。これにより、遠方を走行する先行車両のテールランプがピンボケするので、テールランプの光を受光する画素の数を増やすことができる。その結果、テールランプの認識精度が上がるため、先行車両の検出精度を向上できる。
なお、光源30は、赤外光透過フィルタ42eの領域にのみ照射するように配置することができる。これにより、車両検出用領域からのノイズ成分を回避することができる。又、複数の光源30を設けてもよい。複数の光源30を設けた場合は、偏光フィルタ層42cの各領域の偏光子パターンを所定の偏光成分のみを透過するように設定することが好ましい。所定の偏光成分とは、複数の光源30のうち偏光子パターンへの入射光量が最も大きい光源がフロントガラス101へ向かって出射する光の光軸と、撮像レンズの光軸との2つの光軸で形成される面に対して平行な偏光成分である。
光源30の発光方法としては、連続発光(CW発光ともいう)の他、特定のタイミングでパルス発光してもよい。発光のタイミングと撮影のタイミングを同期することにより、外乱光による影響をより減少させることができる。又、複数の光源30を設置した場合には、複数の光源30を同時に発光させてもよいし、順次発光させてもよい。順次発光させた場合は、その発光のタイミングと撮影のタイミングを同期することにより、外乱光による影響をより減少させることができる。
図9は、画像解析ユニットの構成を例示する図である。図9を参照するに、画像解析ユニット50は、CPU51と、ROM52と、RAM53と、ハードウェアロジック54と、デジタルシグナルプロセッサ55と、I/Oポート56と、通信インターフェース57とを有する。
雨滴量情報算出手段60による処理は、例えば、CPU51のプログラムとして、又は、ハードウェアロジック54として、或いは、その混合形態として、画像解析ユニット50に搭載される。I/Oポート56及び通信インターフェース57は、必要な情報に応じて、図1に示す各ユニットへ接続される。
雨滴量情報算出手段60は、撮像ユニット20の撮像装置40から送信されてくる撮像画像データを受け、フロントガラス101に付着する雨滴103を検出し、検出結果をワイパー制御ユニット320に送る。ワイパー制御ユニット320は、その結果に基づき、ワイパー360を稼動させる。
なお、図1に示した各ユニットは、独立したハードウェアとして車両に搭載してもよいし、各ユニットを例えば一つの基板上に搭載してもよい。又、画像解析ユニット50は、雨滴量算出、ヘッドランプ制御、フロント画像認識等の複数の機能を有するが、各々の機能を分散して、雨滴量算出の機能を(雨滴量情報算出手段60を)を撮像ユニット20やワイパー制御ユニット320に搭載しても構わない。搭載のスペースやコストに応じて適宜搭載形態を変更することができる。
図10は、雨滴量情報算出手段を撮像ユニットに搭載した例を示す図である。図10の例では、雨滴量情報算出手段60は、物理的に撮像装置40と一体化されている(例えば、撮像装置40と雨滴量情報算出手段60を構成するCPU等が一つの基板上に搭載されている)。
図11は、雨滴量情報算出手段と撮像装置の接続例を示す図である。図11を参照するに、雨滴量情報算出手段60は、CPU61と、ROM62と、RAM63と、ハードウェアロジック64と、I/Oポート66a及び66bと、通信インターフェース67a及び67bとを有する。このように、雨滴量情報算出手段60における処理は、CPU61のプログラムとして、又は、ハードウェアロジック64として、或いは、その混合形態として実現できる。
雨滴量情報算出手段60では、I/Oポート66aで撮像装置40と画像データの送受信を行い、通信インターフェース67aで撮像装置40の制御コマンドの送受信を行う。又、I/Oポート66b及び通信インターフェース67bは、必要な情報に応じて、図1に示すワイパー制御ユニット320へ接続される。なお、ワイパー制御ユニット320への接続は、画像解析ユニット50を経由して行ってもよい。
[雨滴量情報算出手段]
次に、本実施の形態に係る雨滴量情報算出手段について説明する。本実施の形態では、高い検出感度で雨滴103を検出できるように雨滴量情報算出手段60を構成している。雨滴量情報算出手段60による処理の詳細を説明する前に、基本的な思想について説明する。
図12は、雨滴検出領域で検出される雨滴の信号輝度を例示する図である。まず、図12(a)に示すように、雨滴検出領域102を複数の参照領域に分割しない場合を考える。ここで、雨滴検出領域102において、ノイズNが均一に存在しており、かつ、雨滴103から検出される信号Sが1つ参照領域のみに存在すると仮定する。この場合、画素値の総和(輝度の総和)はS+Nとなり、SN比はS/Nとなる。
なお、本願において、任意の1つの参照領域内の全画素値を加算したものを『画素値の和』と称し、各参照領域における画素値の和を合算したものを『画素値の総和』と称する。つまり、p個(pは2以上の自然数)の参照領域がある場合、画素値の総和=第1の参照領域の画素値の和+第2の参照領域の画素値の和+・・・+第pの参照領域の画素値の和となる。但し、上記例では、雨滴103から検出される信号Sが1つ参照領域のみに存在するので、その参照領域の画素値の和=画素値の総和である。又、画素値は輝度を示しているため、画素値の和は輝度の和と同義であり、画素値の総和は輝度の総和と同義である。
次に、図12(b)に示すように、雨滴検出領域102をp個(pは2以上の自然数)の参照領域1021〜102Pに分割する場合を考える。この場合、雨滴検出領域102において、ノイズNが均一に存在しているとすると、参照領域1021〜102Pの各々におけるノイズはN/pとなる。
図12(b)では、参照領域1024に雨滴103から検出される信号Sが存在している。参照領域1024において、画素値の和はS+N/pとなり、SN比はS/(N/p)=pS/Nとなる。このように、雨滴検出領域102をp個の参照領域1021〜102Pに分割することにより、感度がp倍となる。
すなわち、雨滴検出領域102をp個の参照領域1021〜102Pに分割することにより、余計なノイズ量を足しこむことなく、雨滴103からの少量の信号Sを感度よく検出することが可能となる。なお、各参照領域の大きさは、雨滴103の直径を含む大きさとすることが好ましい。1滴の雨滴103からの信号Sを取りこぼさないようにするためである。
なお、参照領域の数は適宜設定可能であるが、光源に対応する数にしてもよい。すなわち、例えば、光源(例えば、発光ダイオード(LED))が8個である場合、参照領域の数も8個とすることができる。これにより、各光源に対応して雨滴信号をより感度よく検出できる。
ここで、参照領域の数を8(p=8)とした場合を例にして、雨滴103がフロントガラス101に付着していることを判定する方法について説明する。図13は、雨滴検出領域で検出される雨滴の各参照領域における画素値の和を例示する図である。図13に示すように、雨が降り始め雨滴103がフロントガラス101に付着し始めると、参照領域1021〜1028の各々の画素値の和(又は、画素値の平均値でもよい)がランダムに増加し始める。
雨であることを判定するための手段として、候補判定のための閾値Th0を予め決めておく。参照領域1021〜1028の各々の画素値の和(輝度の和)が閾値Th0を超えた場合に、その参照領域では雨滴103がフロントガラス101に付着していると判定し、閾値Th0を超えた参照領域の画素値の和を加算して画素値の総和を求め、雨滴量情報とする。つまり、この場合の雨滴量情報とは、閾値Th0を超えたものだけを雨滴信号として採用し総和したものを表し、雨量を代替する特性量である。
但し、参照領域1021〜1028の各々の画素値の平均値を算出し、参照領域1021〜1028の各々の画素値の平均値が閾値Th0を超えた場合に、その参照領域では雨滴103がフロントガラス101に付着していると判定してもよい。この場合には、閾値Th0を超えた参照領域の画素値の平均値を合算して画素値の平均値の和を求め、雨滴量情報とすることができる。図13の場合には、参照領域1022、1024、1025、及び1028の各々の画素値の和を採用してそれらを合算し、雨滴量情報を算出できる。
閾値Th0を設ける理由は次の通りである。各参照領域から検出される画素値の和は、雨滴の付着に基づく情報とは限らない。例えば、砂、粉塵、花粉、鳥の糞等の雨滴以外の異物の付着に基づく情報も含まれている。しかし、通常、これらの異物の付着に基づく画素値の和は、雨滴の付着に基づく画素値の和ほど大きくはならない。
そのため、異物の付着に基づく画素値の和と雨滴の付着に基づく画素値の和とを分離できるように閾値Th0を設ければ、異物の付着に基づくと考えられる情報をノイズと判断して除去できる。その結果、各参照領域における雨滴情報を精度よく検出でき、それに基づく雨滴検出領域102全体の雨滴量情報も精度よく算出できる。
なお、本願において、雨滴情報は各参照領域における雨量の情報であり、雨滴量情報は雨滴検出領域102全体(全参照領域)における雨量の情報である。つまり、雨滴情報は画素値の和に対応し、雨滴量情報は画素値の総和に対応する。又、雨滴情報(画素値の和)は、本発明に係る領域別付着物情報の代表的な一例であり、雨滴量情報(画素値の総和)は、本発明に係る付着量情報の代表的な一例である。
閾値Th0は、例えば、雨滴の付着に基づく画素値の和、及び、様々な異物の付着に基づく画素値の和の各々に関するデータを多数取得し、取得したデータを分析することにより決定できる。参照領域毎に異なる閾値を設けてもよい。
なお、互いに敷き詰められた参照領域の境目を跨いで雨滴103からの信号が出現する場合がある。雨滴103からの信号が参照領域の境目を跨ぐと、信号が隣接する2つの参照領域に分解されてしまい、隣接する2つの参照領域各々において画素値の和が閾値Th0に到達せず、雨滴103が検出されないおそれがある。その場合には、参照領域の境目をカバーする参照領域を更に設置すればよい。これにより、雨滴103がどこに付着したとしても、必ず何れかの参照領域で検出することが可能となる。
又、各参照領域において雨滴情報を取得する際には、光源30を点灯しときに得られる画像の画素値の和から光源30を消灯しときに得られる画像の画素値の和を差し引くことが好ましい。光源30を点灯したときに得られる画像に含まれるバックグラウンド(背景)を取り除き、雨滴信号だけを抽出するためである。
又、閾値Th0と比較する前に、各参照領域の内部の画素値の和(雨滴情報)にゲインを乗じることが好ましい。光源30として用いられる発光ダイオード(LED)等のばらつきやコリメートレンズ等の持つ周辺光量を補正し各参照領域で同じ雨滴を同じ画素値で得られるようにするためである。更に、各参照領域で光学的に生じるフレア等の既に存在が分かっているノイズを予め除去しておくために、各参照領域の内部の画素値の和(雨滴情報)にゲインを乗じた後にオフセットを減じることが好ましい。
ここで、フローチャートを参照しながら、雨滴量情報算出手段60の具体的な動作について説明する。前提として、本実施の形態では、一例として、図14に示すように、雨滴検出領域102を画像センサ43の下端側に設ける。
画像センサ43の画素数は任意のものでよいが、例えば、一般的なVGAサイズ(640×480画素)とすることができる。その場合、雨滴検出領域は640×30画素程度にすると、通常の撮像領域(車両の前方撮像用)と雨滴検出領域の確保とのバランスがよい。又、演算処理のやりやすさを考慮し、2のべき乗になるように、例えば、512×32や512×64画素等にしてもよい。
又、本実施の形態では、一例として、図15に示すように、雨滴検出領域102に対応する画像センサ43の画像領域を、互いに隙間なく敷き詰めた8個の参照領域1021〜1028に分割する。そして、更に、隣接する参照領域の境目を包含する7個の参照領域1029〜10215を設けるものとする。又、各参照領域を画像センサ43の30画素×80画素の領域に対応させるものとする。なお、図15では、図を見やすくするために、便宜上、参照領域1021〜1028と参照領域1029〜10215とを上下にずらして図示している。
なお、上記のように、本実施の形態では、一例として、雨滴検出領域102に対応する画像センサ43の画像領域を、互いに隙間なく敷き詰めた参照領域に分割したが、最小の雨滴を検出できれば参照領域間に隙間があってもよい。
図16は、雨滴量情報算出手段の動作を説明するフローチャートの例である。図16に示すフローチャートに対応するプログラムは、例えば、雨滴量情報算出手段60のROM62に格納することができ、雨滴量情報算出手段60のCPU61により実行することができる。或いは、雨滴量情報算出手段60を画像解析ユニット50内に設け、雨滴量情報算出手段60による処理を、例えば、画像解析ユニット50のCPU51のプログラムとして、又は、ハードウェアロジック54として、或いは、その混合形態として実行してもよい。
まず、ステップS101では、雨滴量情報算出手段60は、例えば車両の走行時に光源30を点灯して光源30で照射された雨滴検出領域102の撮像情報を取得し、参照領域1021〜10215の各々において画素値の和Pi(i=1〜15)を算出する。なお、ここでは、1画素(ピクセル)当たりの画素値(輝度)を10ビット(0〜1023)で表すものとする。つまり、各画素の画素値(輝度)は、0〜1023の何れかの数値として表される。
次に、ステップS102では、雨滴量情報算出手段60は、例えば車両の走行時に光源30を消灯して雨滴検出領域102の撮像情報を取得し、参照領域1021〜10215の各々において画素値の和Qi(i=1〜15)を算出する。
次に、ステップS103では、雨滴量情報算出手段60は、ステップS101での光源30点灯時の画素値の和Pi(i=1〜15)からステップS102での光源30消灯時の画素値の和Qi(i=1〜15)を減じ、雨滴情報Ai(i=1〜15)を算出する。このとき、Ai<0である場合には、Ai=0として取り扱う。なお、ここでは、1画素(ピクセル)当たりの画素値(輝度)を10ビット(0〜1023)で表しているので、各Aiを表すためには1023×30×80=22ビット必要である。
次に、ステップS104では、雨滴量情報算出手段60は、ステップS103で算出した各Aiにゲインを乗じ、オフセットを減じる。各Aiにどの程度の範囲のゲインを乗じるかは適宜決定できるが、例えば、乗算器を用いて8ビット(0〜255)のゲインを乗じることができる。
各Aiが22ビットである場合、8ビットのゲインを乗じ、下位6ビットを除去することにより、実質的に0倍〜約4倍の範囲でゲイン調整を行うことができる。なお、ゲインは、参照領域毎に設定することができる。ゲインを乗じた後の各Aiからどの程度の範囲のオフセットを減じるかは適宜決定できるが、例えば、減算器を用いて24ビット(0〜16777216)のオフセットを減じることができる。
次に、ステップS105では、ステップS104でゲインを乗じオフセットを減じたAi(i=1〜15)を、予め設定した閾値Th0と順次比較し、Ai>Th0である場合のAiのみを加算して画素値の総和Aを算出する。例えば、参照領域1022、1024、1025、及び1028の各々の雨滴情報A2、A4、A5、及びA8のみがTh0を超えている場合には、画素値の総和A=A2+A4+A5+A8となる。なお、各Aiが22ビットである場合、画素値の総和Aを表すためには、1023×30×80×15×4=28ビット必要である。ここで、15は参照領域の数、4はゲインの最大値である。
このようにして、雨滴量情報を表す画素値の総和Aを算出できる。なお、画素値の総和Aを更に所定の閾値(例えば、5つの閾値Th1〜Th5)と比較することにより、雨滴量のレベルを知ることができる。
このように、本実施の形態では、雨滴検出領域102に対応する画像センサ43の画像領域(例えば、30画素×640画素の領域)を、互いに隙間なく敷き詰められた複数の参照領域1021〜1028に分割する。そして、更に、参照領域1021〜1028のうち隣接する参照領域の境目を包含する参照領域1029〜10215を設けて、各参照領域における雨滴情報を算出する。そして、各参照領域における雨滴情報を所定の閾値Th0と比較して所定の閾値Th0を超えた雨滴情報のみに基づいて雨滴量情報を算出する。
これにより、閾値Th0を超えない雨滴情報、すなわち、砂、粉塵、花粉、鳥の糞等の雨滴以外の異物の付着に基づくと考えられる情報をノイズと判断して除去することができる。その結果、精度のよい雨滴情報、及びそれに基づく雨滴量情報を算出可能となる。すなわち、検出感度を向上可能な雨滴検出装置及び雨滴検出方法を実現できる。
又、参照領域1021〜1028のうち隣接する参照領域の境目を包含する参照領域1029〜10215を設けたことにより、互いに敷き詰められた参照領域1021〜1028の境目を跨いで雨滴からの信号が出現する場合も、雨滴の検出が可能となる。つまり、雨滴が雨滴検出領域102の何れに付着したとしても、必ず何れかの参照領域で検出することが可能となる。
又、本実施の形態では、各参照領域において雨滴情報を取得する際に、光源30を点灯しときに得られる画像の画素値の和から光源30を消灯しときに得られる画像の画素値の和を差し引いている。これにより、光源30を点灯したときに得られる画像に含まれるバックグラウンド(背景)を取り除き、雨滴からの信号だけを抽出できる。
又、本実施の形態では、各参照領域における雨滴情報を所定の閾値Th0と比較する前に、雨滴情報にゲインを乗じ、オフセットを減じている。ゲインを乗じることにより、光源30として用いられる発光ダイオード(LED)等のばらつきやコリメートレンズ等の持つ周辺光量を補正し各参照領域で同じ雨滴を同じ画素値で得られるようになる。又、オフセットを減じることにより、各参照領域で光学的に生じるフレア等のノイズを予め除去できる。
[スプラッシュへの対応]
ここで、雨滴量情報算出手段において、より安定した雨滴検出を可能とすると共に、雨滴情報の急激な変化(スプラッシュ)に対しても反応速度を落とさずに雨滴検出を可能とする例を示す。
図17は、図13のように雨滴検出領域102を8つの参照領域1021〜1028に分割した場合の各参照領域の画素値の和の、時刻t=T0からT4までの状態を例示する模式図である。時刻t=T0からT4は、雨滴を検出する画像が撮像され、最終計算結果(雨滴量情報)が得られるタイミングを示している。画像が撮像される時間間隔は、例えば、100ms程度とすることができる。
図17(a)は、時刻t=T0で降雨がない状態を表しており、Kn0は定常的に発生しているノイズである。ノイズの原因としてはフロントガラスから入り込む太陽光に起因するものや電気的なノイズ等がある。Th0は、前述のように、画素値に対する閾値であり、参照領域1021〜1028の内部の画素値の和(輝度の和)が閾値Th0を超えた場合に、その参照領域では雨滴103がフロントガラス101に付着していると判定し、雨滴量情報の算出に用いる。
図17(b)は、時刻t=T1において、雨滴が参照領域1021に現れた状態を表している。又、図17(c)は、時刻t=T2において、ノイズレベルが上がった状態を表している。又、図17(d)は、時刻t=T3において、雨滴が参照領域1028に現れた状態を表している。又、図17(e)は、時刻t=T3において参照領域1028に現れた画素値の和が時刻t=T3だけで発生するノイズであり、そのノイズが時刻t=T4において消滅した場合を示している。
図18は、画素値の総和と時間との関係を例示する図である。図18(a)は、図16に示す処理を行っていない場合において、単位時間当たりに一定量の降雨(雨滴付着)があった場合の画像センサ43が出力する画素値の総和(輝度値の総和)と時間の関係を示している。なお、破線で示すKn0×8は、参照領域1021〜1028で定常的に発生しているノイズの総和である。
図18(b)は、図16に示す処理を行った場合において、降雨が図17(a)から図17(d)に示す時間変化をし、それ以降は一定の降雨があった場合の参照領域1021〜1028の画素値の総和の時間的変化を示すグラフである。
図18(b)では、時刻t=T1までは何れの参照領域においても画素値の和が閾値Th0を超えないので画素値の総和は0である。そして、時刻t=T1で参照領域1021において画素値の和が閾値Th0を超えるため、参照領域1021における画素値の和が画素値の総和として出力される。なお、時刻t=T2において、出力(画素値の総和)の変化はない。
時刻t=T3で参照領域1028において画素値の和が閾値Th0を超えるため、参照領域1021における画素値の和に参照領域1028における画素値の和が加算されて、画素値の総和として出力される。以降の状態については図示しないが、参照領域1021〜1028毎に段階的に画素値の和が増加し、全て参照領域で画素値の和が閾値Th0を越えたときに、図18(a)と同様に画素値の総和が変化していくことになる。このように、図16に示す処理を行うことにより、ノイズレベル(Kn0×8領域分)に埋もれた雨滴による画素値も検出できる。
ところで、図17(d)で説明したように、時刻t=T3での参照領域1028における画素値の和が雨滴情報ではなく、時刻t=T3だけで発生するノイズである場合もあり得る。この場合には、図17(e)で説明したように、時刻t=T4で参照領域1028のノイズがなくなるため、図18(c)に示すように、画素値の総和は時刻t=T2時点と同一レベルに戻る。
図16に示す処理では、参照領域毎の画素値の和が閾値Th0を超えるまで計算対象にならず、閾値Th0を超えた途端に計算対象となるため、このような急激な変動を拾いやすい。このような結果に基づいて車のワイパーを動作させた場合、時刻t=T3のノイズに反応してワイパーが早く動いてしまい、その後すぐに停止する等の不安定な動作になるおそれがある。
このような不安定な動作のおそれは、現在及び過去の状況も考慮した演算を行い急激な変化を抑えるようにすることで解消できる。具体的には、画素値の総和に対する平均化処理を行うことにより解消できる。平均化処理の一例としては、移動平均処理を挙げることができる。移動平均処理等の平均化処理を行った場合、例えば、図18(d)に示す画素値の総和と時間との関係のように、時刻t=T4での画素値の総和の変化を図18(c)の場合よりも押さえることができる。なお、図18(d)において、時刻t=T1の立上りが多少なまるが、雨滴検出はされているので、閾値Th0を下げれば最小雨滴検出についても問題は生じない。
図19に移動平均処理の一例を示す。図19の例では、時刻tにおける画素値の総和KS(t)と1つ前の画素値の総和KS(t−1)と更に1つ前の画素値の総和KS(t−2)を用いて、KH(t)=1/3×KS(t−2)+1/3×KS(t−1)+1/3×KS(t)を計算している。但し、ノイズの状況に応じて平均を取る画素値の総和の数を変化させてもよい。又、係数は1/3、1/3、1/3以外でもよく、実現したいフィルタの特性を考慮して、例えば、1/4、1/2、1/4等としてもよい。又、図示しない公知の平均化処理(IIRフィルタ等)を使用してもよい。
次に、短時間の間に図20(a)〜図20(c)のように変化した場合を考える。図20(a)は、時刻t=T4で降雨がない状態を表しており、Kn0は定常的に発生しているノイズである。図20(b)は、時刻t=T5で雨滴が全ての参照領域に現れた場合を示している。図20(c)は、時刻t=T6で全ての参照領域に現れた雨滴の量が更に増えた場合を示している。
図20(c)の後は、再び図20(a)に示す時刻t=T4の状態に戻る場合もあるし、全ての参照領域に現れた雨滴の量が更に増える場合もある。図20(c)の後に図20(a)に示す時刻t=T4の状態に戻る場合としては、例えば、対向車が深い水溜り上を走行したときのフロントガラス101への水はねや、急な夕立等が考えられる。
図21は、上記の場合(時刻t=T4の状態に戻る場合)の画素値の総和と時間との関係を例示する図である。但し、図21(a)は、図19に示す移動平均処理(フィルタ処理)を行っていない場合の画素値の総和(雨滴量情報)であり、図21(b)は、図19に示す移動平均処理(フィルタ処理)を行っている場合の画素値の総和(平均雨滴量情報)である。なお、平均雨滴量情報は、本発明に係る平均付着量情報の代表的な一例である。
図21(a)に示すように、移動平均処理を行っていない場合には、時刻t=T5及び時刻t=T6で一気に画素値の総和が増えるため、時刻t=T4から時刻t=T5及びT6にかけて画素値の総和が急激に変化(上昇)する。このような場合には、フロントガラス101に大量の雨滴が付着して視界をさえぎるため、直ぐにワイパーを動作させる必要がある(スプラッシュ対応動作)。
一方、図21(b)に示すように、移動平均処理を行っている場合には、立上りがなまった波形(グラフ)となるため、直ぐにワイパーを動作させることができなくなる場合もあり得る。そこで、画素値の総和が急激に変化する場合には、画素値の総和と時間との関係を示す波形(グラフ)がなまらないようにすることが好ましい。
図22は、雨滴情報の急激な変化に対応するための(波形(グラフ)がなまらないようにするための)具体的な処理を例示するブロック図である。図22では、まず、移動平均処理手段71で前述の移動平均処理を行うと共に、微分計算手段72で差分計算処理を行う。差分計算処理とは、付着量情報の時間に対する変化の度合いを示す微分信号を計算することである。
具体的には、微分計算手段72では、時刻tにおける画素値の総和KS(t)と1つ前の画素値の総和KS(t−1)との差分(単位時間の変化量)であるKD(t)=−1×KS(t−1)+KS(t)を計算する。微分計算手段72での計算結果は比較手段73のA端子に入力され、比較手段73のB端子に入力される第2閾値THsと比較される。
比較手段73は、微分計算手段72での計算結果が第2閾値THs以上の場合にはC端子から『1』をセレクタとして機能する選択手段74のS端子に出力し、第2閾値THs未満の場合にはC端子から『0』を選択手段74のS端子に出力する。なお、選択手段74のA端子には移動平均処理後の画素値の総和(平均雨滴量情報)である移動平均値KH(t)が入力されており、B端子には移動平均処理前の画素値の総和である時刻tにおける画素値の総和KS(t)が入力されている。
選択手段74は、比較手段73からS端子に入力される信号が『0』の場合には、端子Cから出力KO(t)として移動平均値KH(t)を出力する。又、選択手段74は、比較手段73からS端子に入力される信号が『1』の場合には、端子Cから出力KO(t)として時刻tにおける画素値の総和KS(t)を出力する。このように、本実施の形態では、雨量の単位時間の変化量が第2閾値THs以上の場合には、移動平均処理後の画素値の総和を選択せずに、移動平均処理前の画素値の総和(現在の画素値の総和)を選択するようにしている。
図23は、微分計算手段での差分計算処理の結果を例示する図である。図23に示すように、第2閾値THsを移動平均処理に影響を与えない程度に高めに設定することで、時刻t=T5及びT6では図21(b)の画素値の総和に代えて図21(a)の画素値の総和が選択されるため、図24の実線のような波形(グラフ)となる。つまり、なまることのない急激な変化が出力される。なお、図24の破線は、比較用として、図21(b)の波形(グラフ)を示している。
なお、図22の微分計算手段72での差分計算処理は、検出したい変化に応じて係数を変えたり、使用する画素の範囲を広げたりしても構わない。又、差分計算処理に代えて、図示しない公知のラプラシアンフィルタ等の2次微分検出を行ってもよい。
以上の処理を、図25及び図26にまとめた。図25に示すように、まず、ステップS201において、雨滴量情報算出手段60は、所定の時間毎に(時刻t=T0、T1、T2、・・・)処理する画像フレームを読み込む。次に、ステップS202において、雨滴量情報算出手段60は、画像センサ43の雨滴検出領域102の画素を切り出す。
次に、雨滴量情報算出手段60は、図16に示した処理と同様にして各参照領域の画素値の和を算出し、更に画素値の総和を求め(ステップS203)、t番目の画像フレームの画素値の総和KS(t)を記憶する(ステップS204)。
次に、ステップS205において、雨滴量情報算出手段60は、移動平均処理を実行する。例えば、図26(a)のステップS301に示すように、移動平均処理手段71は、4つの画像フレームの画素値の総和KS(t−3)、KS(t−2)、KS(t−1)、及びKS(t)の平均を計算して移動平均値KH(t)を算出する(式1)。但し、過去4つの画像フレームから移動平均値を算出するのは一例であり、過去2つ又は3つ、或いは過去5つ以上の画像フレームから移動平均値を算出しても構わない。
KH(t)=1/4KS(t−3)+1/4KS(t−2)+1/4KS(t−1)+1/4KS(t)・・・・式1
次に、ステップS206において、雨滴量情報算出手段60は、差分計算処理、比較、及び選択を実行する。例えば、図26(b)のステップS401に示すように、微分計算手段72は、差分計算処理を行う。具体的には、式2に示すように、時刻tにおける画素値の総和KS(t)から時刻t−1における画素値の総和KS(t−1)を減算し、時刻tにおける差分KD(t)を算出する。但し、式2において、t>=2、KD(1)=0である。
KD(t)=KS(t)−KS(t−1)・・・・式2
そして、例えば、図26(b)のステップS402に示すように、比較手段73は、差分KD(t)と第2閾値THsとを比較し、差分KD(t)が第2閾値THs以上の場合には比較結果として『1』を出力する。又、差分KD(t)が第2閾値THs未満の場合には比較結果として『0』を出力する。
そして、選択手段74は、比較手段73から『1』が入力された場合には、出力KO(t)として、時刻tにおける画素値の総和KS(t)を出力する。又、比較手段73から『0』が入力された場合には、出力KO(t)として、移動平均値KH(t)を出力する。つまり、KD(t)≧THsのときはKO(t)=KS(t)であり、KD(t)<THsのときはKO(t)=KH(t)である。
次に、ステップS207において、雨滴量情報算出手段60は、全ての画像フレームの読み込みが終了したか否かを判定し、終了していない場合(Noの場合)にはステップS201〜S206の処理を繰り返す。又、全ての画像フレームの読み込みが終了した場合(Yesの場合)には処理を終了する。
このように、画素値の総和に対する移動平均処理を導入することにより、雨滴情報の時間で変動するノイズ成分を除去して安定した雨滴検出が可能となる。又、移動平均処理前の画素値の総和と移動平均処理後の画素値の総和とを降雨量の大小に応じて適宜選択することにより、雨滴情報の急激な変化(スプラッシュ)に対しても反応速度を落とさずに雨滴検出が可能となる。
[スプラッシュへの対応とノイズの影響の低減]
ところで、図18(a)では、各参照領域におけるノイズレベルを一定値であるKn0としたが、実際のノイズレベルは環境や検出器のばらつきで変動するため一定値とはならない。そこで、例えば、変動するノイズレベルを測定し、その最大値を予測して、予測した最大値のノイズレベルを設定していた。そのため、実際の使用環境においてはノイズレベルが小さい場合でも、予め設定した最大値のノイズレベル以下の雨滴量を検出できない問題があった。
つまり、図18(a)に示した各参照領域におけるノイズレベルKn0は、予め予測した最大値のノイズレベルであり、実際のノイズレベルがKn0よりも小さい場合でも、Kn0以下の雨滴量を検出できない問題があった。この問題は、加重平均処理(重み付け加算平均処理)を導入することにより解決できる。以下、この問題の解決方法について詳細に説明する。
図27は、フロントガラスに付着した雨滴量に対する雨滴検出処理の出力をシミュレートしたグラフである。図27において、縦軸は画素値の総和であり、横軸は単位時間である。単位時間とは、画像センサ43が画像をサンプリングする時間(1フレーム毎の時間)であり、例えば100ms程度とすることができる。単位時間が100msである場合、図27における横軸の最大値は、31×100ms=3.1sとなる。
図27において、KSは画素値の総和を、Nは単位時間当たりのノイズ画素値を、Sは単位時間当たりの画素値を示している。ここで、画素値の総和は、前述のように、画像センサ43において光電変換されたフロントガラス上の雨滴の付着量(面積)情報を、画素データに変換した値の総和であり、各参照領域における付着物の量を示す領域別付着物情報(画素値の和)を合算した値である。そこで、画素値の総和を合算付着物情報と称する場合がある。
又、単位時間当たりのノイズ画素値とは、単位時間毎に現れる電気的ノイズや外光ノイズ等のランダムノイズを表している。又、単位時間当たりの画素値とは、画像センサ43から単位時間毎にサンプリングされた1フレーム毎の画素値を表している。時刻tにおける画素値の総和KS(t)は、単位時間当たりの画素値S(t)と単位時間当たりのノイズ画素値N(t)との累積和となる。但し、実際には、単位時間のノイズ画素値Nは未知であり、単位時間当たりの画素値Sとの和になっているため、図27に示すグラフのように分離することはできない。
なお、雨滴検出領域102の全領域に雨滴103が付着すると、それ以上画素値は上がらないため、画素値の総和は飽和状態となる。図27では、時刻t=9の近辺で画素値の総和KSが飽和状態となっている。
加重平均値KJは、例えば、図28に示す加重平均処理に関するブロック図により算出でき、以下の式3のように表される。
KJ(t)=F × KS(t)+(1−F) × KS(t−1) (t≧2、KJ(1)=KS(1)、F:0〜1)・・・・式3
なお、各時刻の画素値の総和KSを予めメモリに記憶させておくことにより、所定の時刻よりも後の情報を使って加重平均値KJを算出することができる。又、加重平均値KJは、3つ以上の時刻の画素値の総和から算出してもよい。
図29は、加重平均差分処理を行うことにより直流成分のノイズを除去した場合のグラフである。図29では、画素値の総和KS(t)の変動の影響を小さくするため、式3においてF=1/32としている。図29において、KSは画素値の総和を、KJは加重平均した画素値(加重平均値)を、KOSは出力画素値を示している。
図29において、出力画素値KOSから直流分のノイズが除去されているのがわかる。なお、画素値の総和KSの飽和状態が続くと徐々に出力画素値KOSは低下するが、通常はワイパー360が動作してフロントガラス101に付着していた雨滴103が除去され、雨滴の付着量がリセットされるので問題とはならない。
出力画素値KOS(加重平均差分値)は、例えば、図30に示す加重平均差分処理のブロック図により算出でき、以下の式4のように表される。
KOS(t)=KS(t)−KJ(t) (KOS(t)<0のときは KOS(t)=0とする)・・・・式4
図31は、図29の状態で、更に、出力画素値に対して移動平均処理を加えた場合のグラフである。図31の出力画素値KOS(加重平均差分値の移動平均値)では、図29の出力画素値KOS(加重平均差分値)と比べて、細かいノイズ(高周波ノイズ)が減衰していることがわかる。
図32及び図33は、雨滴情報の急激な変化(スプラッシュ)に対するシミュレーション結果を示すグラフである。図32は、出力画素値に対して移動平均処理を加えているが、図22で説明した差分計算処理を導入していない場合のグラフである。又、図33は、出力画素値に対して移動平均処理を加え、更に図22で説明した差分計算処理を導入した場合のグラフである。
図32では、差分計算処理を導入していないため、単位時間当たりの画素値Sが時刻t=11、12、13で飽和直前まで上昇しているにもかかわらず、出力画素値KOSはなだらかに変化している。
一方、図33では、差分計算処理を導入しているため、差分計算処理の結果が所定の閾値以上の場合には、移動平均処理後の画素値の総和を選択せずに、移動平均処理前の画素値の総和(現在の画素値の総和)を選択する。そのため、図33では、図32に比べて、時刻t=10、11近辺における出力画素値KOSの波形なまりが解消され、時刻t=11で出力画素値KOSは入力画素値である画素値の総和KSに追従している。
なお、図33において、時刻t=12、13以降では、出力画素値KOSが図32と同様の状態に戻るが、通常はワイパー360が動作してフロントガラス101に付着していた雨滴103が除去され、雨滴の付着量がリセットされるので問題とはならない。
図34及び図35は、図33の処理(雨滴情報の急激な変化に対応するための具体的な処理)を説明するフローチャートの例である。又、図36は、図33の処理を例示するブロック図である。なお、図34において、図25と同一処理の部分については同一符号を付し、その説明を省略する。図36において、図22と同一処理の部分については同一符号を付し、その説明を省略する。
図34に示すフローチャートは、図25に示すフローチャートのステップS204とステップS205との間に、ステップS501が追加されたものである。図34のステップS501の具体的な処理は、図35のステップS601に示されている。ステップS601において、図36に示す加重平均差分処理手段75は、図28及び図30並びに式3及び4で示したように、加重平均値KJ(t)を算出し、更に画素値の総和KS(t)から加重平均値KJ(t)を減算して出力画素値KOS(t)を算出する。図34におけるステップS501以前の処理及び以降の処理は、図22及び図25で説明した通りである。
ところで、ワイパー動作時やウィンドウガラスを拭いて雨滴を拭った場合等には、雨滴量が急激に低下するため、それに対応して画素値の総和も急激に低下する。図37は、フロントガラスに付着した雨滴量が急激に低下した場合をシミュレートしたグラフであり、画素値の総和がゼロになった場合の出力画素値及び加重平均値の時間的変化を示している。
図37において、時刻t=11で画素値の総和KSがゼロになったにもかかわらず、出力画素値KOS及び加重平均値KJはすぐにゼロにはならない。又、時刻t=15では、画素値の総和KSはゼロではないが、出力画素値KOSはゼロになっている。これは過去の画素値の総和を参照して加重平均値及び出力画素値を計算しているためである。
この場合、時刻t=11〜13では、画素値の総和KSがゼロで雨滴がない(降雨状態ではない)にもかかわらず、出力画素値KOSは雨滴がある(降雨状態)という出力をし、時刻t=15〜17ではその逆の出力をしていることになる。そうすると、意図しない時にワイパーが動作する等の問題が起こり得る。
この問題は、雨滴量が急激に低下した場合に、出力画素値KOSをリセットすることにより解決できる。リセットとは、例えば、出力画素値KOSを所定の値にクランプするクランプ処理を意味する。図38及び図39は、クランプ処理を説明するフローチャートの例である。なお、図38において、図34と同一処理の部分については同一符号を付し、その説明を省略する。
図38に示すフローチャートは、図34に示すフローチャートのステップS206とステップS207との間に、ステップS701が追加されたものである。図38のステップS701の具体的な処理は、図39のステップS801〜ステップS803に示されている。まず、ステップS801において、雨滴量情報算出手段60は、雨滴が払われたか否かを判定する。例えば、図11に示すCPU61が図1に示すワイパー制御ユニット320へワイパー360を動作させる信号や命令を送信する場合等に、雨滴が拭われたと判定される。
次に、ステップS801で雨滴が払われたと判定された場合(YESの場合)には、ステップS802において、雨滴量情報算出手段60は、移動平均処理を所定時間リセットする。例えば、移動平均処理の出力を所定時間ゼロに保持する。所定時間は、タップ数(乗算器の数)の時間以上とすることが好ましい。過去の時間の影響(後述の図40の時刻t=9及び10の影響)をリセットするためである。なお、図19の例では、タップ数は3である。
次に、ステップS803において、雨滴量情報算出手段60は、加重平均処理をリセットする。例えば、加重平均処理の出力をゼロに保持する。図38におけるステップS701以前の処理及び以降の処理は、図25で説明した通りである。なお、ステップS801で雨滴が払われていないと判定された場合(NOの場合)には、ステップS802及びS803の処理は実行されない。
図38及び図39に示すクランプ処理を実行することにより、図37のグラフは図40のように変化する。図40において、時刻t=11で画素値の総和KSがゼロになり、それに追従して出力画素値KOS及び加重平均値KJもゼロになっている。又、時刻t=13から、画素値の総和KSに追従して、出力画素値KOSが立ち上がっている。これにより、意図しない時にワイパが動作する等の問題が解消できる。
なお、図34及び図35並びに図38及び39に示した雨滴量情報算出手段60による処理に対応するプログラムは、例えば、図11に示す雨滴量情報算出手段60のROM62に格納することができ、CPU61により実行することができる。或いは、雨滴量情報算出手段60を画像解析ユニット50内に設け、雨滴量情報算出手段60による処理を、画像解析ユニット50のCPU51のプログラムとして、又は、ハードウェアロジック54として、或いは、その混合形態として実行してもよい。
或いは、上記プログラムを、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。或いは、上記プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。又、上記プログラムを、インターネット等のネットワーク経由で提供又は配布するように構成してもよい。
このように、画素値の総和に対する加重平均差分処理を導入することにより、ノイズの影響の低減した(S/Nを向上した)雨滴検出が可能となる。又、加重平均差分処理後の画素値の総和(出力画素値)に対して移動平均処理を実行することにより、雨滴情報の時間で変動するノイズ成分を除去して安定した雨滴検出が可能となる。
更に、移動平均処理を実行した加重平均差分処理後の画素値の総和(出力画素値)と、移動平均処理を実行していない加重平均差分処理後の画素値の総和(出力画素値)とを、降雨量の大小に応じて適宜選択するようにする。これにより、雨滴情報の急激な変化(スプラッシュ)に対しても反応速度を落とさずに雨滴検出が可能となる。
以上、好ましい実施の形態について詳説したが、上述した実施の形態に制限されることはなく、特許請求の範囲に記載された範囲を逸脱することなく、上述した実施の形態に種々の変形及び置換を加えることができる。
例えば、上記実施の形態では、各参照領域の各々の画素値の和に基づいて雨滴情報を算出したが、各参照領域の各々の画素値の平均値に基づいて雨滴情報を算出してもよい。この場合にも、上記実施の形態と同様の効果が得られる。
又、上記実施の形態では、参照領域の各々の画素値の和が閾値Th0を超えた場合に、その参照領域では雨滴がフロントガラスに付着していると判定した。しかし、参照領域の各々の画素値の和が閾値Th0以上の場合に、その参照領域では雨滴がフロントガラスに付着していると判定してもよいことは言うまでもない。