以下、添付図面を参照して、本願の開示する付着物検出装置および付着物検出方法の実施形態を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。また、以下では、付着物として撮像装置であるカメラに付着した水滴を検出する場合について説明する。
まず、図1を用いて本願の開示する付着物検出方法の概要について説明する。図1は、付着物検出方法の概要を示す図である。
同図に示すように、付着物検出方法では、まず、カメラ画像Lからエッジ情報を抽出する(ステップS1)。ここで、エッジ情報とは、例えば、カメラ画像Lにおける各画素の図中横方向(X軸方向)および縦方向(Y軸方向)の輝度の勾配を示す。
その後、付着物検出方法では、かかるエッジ情報に基づいてカメラ画像Lにおける各画素を所定のデータ形式へ変換する(ステップS2)。ここで、本願の開示する付着物検出方法では、エッジ情報に基づいて各画素を所定のデータ形式へ変換することで、水滴の検出精度を向上させることにしている。
具体的には、カメラ画像Lにおける各画素のエッジ強度に基づいて各画素を2値化する。これにより、カメラ画像Lに写る水滴の輝度のムラの影響を受けにくくすることができる。すなわち、光が反射する水滴を精度よく検出することができる。この点の詳細については、図2〜図8を用いて第1の実施形態として説明する。
また、本願の開示する付着物検出方法では、カメラ画像Lにおける各画素のエッジ向きと反対のエッジ向き同士が1の補数の関係となるパラメータを用いて各画素を所定のデータ形式に変換する。
これにより、各画素のエッジ向きの違いを鮮明にすることができる。このため、マッチング処理における認識精度を向上させることが可能となる。この点の詳細については、図9〜図14を用いて第2の実施形態として説明する。
また、本願の開示する付着物検出方法では、カメラ画像Lにおける各画素のエッジ向きにそれぞれ対応する符号を割り当てることにより、各画素を符号化する。
かかる場合に、水滴を示す符号列との正規表現を用いたマッチング処理を行う。これにより、カメラ画像Lにおいて、例えば、水滴に内包される矩形の各辺の符号列を抽出することが可能となる。
また、抽出された符号列の組み合わせにより、カメラに付着した水滴を検出することで、カメラ画像Lから見切れた水滴など、不定形状の水滴を検出することが可能となる。この点の詳細については、図15〜図20を用いて第3の実施形態として説明する。
そして、付着物検出方法では、変換した各画素と、水滴を示すテンプレートとのマッチング処理を行い(ステップS3)、マッチング結果に基づいてカメラに付着した水滴を検出する(ステップS4)。なお、同図に示すカメラ画像L1では、付着物検出方法により水滴を検出した箇所に印Mをつけて示している。
このように、本願の開示する付着物検出方法では、エッジ情報に基づいてカメラ画像Lにおける各画素を所定のデータ形式に変換し、かかるデータ形式のテンプレートを用いたマッチング処理によってカメラに付着した水滴を検出する。
したがって、本願の開示する付着物検出方法によれば、水滴の検出精度を向上させることができる。
なお、本願の開示する付着物検出方法では、マッチング処理の走査位置に応じて水滴の異なる部分の部分形状を示すテンプレートを用いることにしている。この点の詳細については、図4および図5を用いて後述する。
また、第1〜第3の実施形態に係る付着物検出装置による検出結果を組み合わせて水滴を検出することで、検出精度をさらに向上させることができる。かかる点の詳細については、図21〜図25を用いて第4の実施形態にて詳細に説明する。
(第1の実施形態)
次に、第1の実施形態に係る付着物検出装置1の構成について説明する。図2は、第1の実施形態に係る付着物検出装置1のブロック図である。なお、図2には、カメラ10および付着物除去装置11を併せて示している。
同図に示すように、付着物検出装置1は、例えば、付着物除去装置11および4台のカメラ10に接続される。
4台の各カメラ10は、例えば、CCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)などの撮像素子を備え、例えば車両の前方、後方、右側方および左側方を撮像する位置にそれぞれ取り付けられる。なお、付着物検出装置1をカメラ10ごとにそれぞれ設けることとしてもよい。
付着物除去装置11は、付着物検出装置1の検出結果に基づき、カメラ10に付着した水滴を除去する。付着物除去装置11は、例えば圧縮した空気をカメラ10へ向けて噴出し水滴を除去する。なお、付着物除去装置11は、例えばウォッシャ液をカメラ10へ向けて噴出させたり、カメラワイパでカメラ10を拭ったりしてもよい。
第1の実施形態に係る付着物検出装置1は、制御部2と、記憶部3とを備える。制御部2は、画像取得部21と、抽出部22と、変換部23と、マッチング部24と、検出部25とを備える。また、記憶部3は、2値化閾値情報31と、テンプレート情報32と、検出情報33とを記憶する。
制御部2は、たとえば、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)、入出力ポートなどを有するコンピュータや各種の回路を含む。
コンピュータのCPUは、たとえば、ROMに記憶されたプログラムを読み出して実行することによって、制御部2の画像取得部21、抽出部22、変換部23、マッチング部24および検出部25として機能する。
また、制御部2の画像取得部21、抽出部22、変換部23、マッチング部24および検出部25の少なくともいずれか一つまたは全部をASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等のハードウェアで構成することもできる。
また、記憶部3は、たとえば、RAMやHDDに対応する。RAMやHDDは、2値化閾値情報31、テンプレート情報32および検出情報33や各種プログラムの情報を記憶することができる。
なお、付着物検出装置1は、有線や無線のネットワークで接続された他のコンピュータや可搬型記録媒体を介して上記したプログラムや各種情報を取得することとしてもよい。
画像取得部21は、カメラ10からカメラ画像を取得し、かかるカメラ画像をグレースケール化することによりグレースケール画像に変換する。また、画像取得部21は、グレースケール画像を抽出部22へ出力する。
なお、グレースケール化とは、カメラ画像における各画素を輝度に応じて白から黒までの各階調で表現するように変換する処理である。なお、かかるグレースケール化処理を省略することにしてもよい。
抽出部22は、画像取得部21から入力されるグレースケール画像にソベルフィルタを用いることで、グレースケール画像における各画素のエッジ情報を抽出する。ここで、エッジ情報とは、各画素のX軸方向およびY軸方向におけるエッジ強度を指す。
また、抽出部22は、抽出したエッジ情報をグレースケール画像に対応付けて変換部23に出力する。なお、抽出部22は、ソベルフィルタに代えて例えばラプラシアンフィルタ等の他のエッジ抽出法を用いることにしてもよい。
変換部23は、抽出部22から入力される各画素のエッジ情報に基づき、グレースケール画像を2値化する。具体的には、まず、変換部23は、エッジ情報であるX軸方向およびY軸方向のエッジ強度をそれぞれ2乗した後に加算した値を各画素のエッジ量として算出する。
続いて、変換部23は、算出したエッジ量が後述の2値化閾値THa以上となる画素を「1」とし、2値化閾値THa以下となる画素を「0」とすることで、グレースケール画像を2値化する。
このように、変換部23は、エッジ量に基づいて各画素を2値化することでノイズの影響を排除することができる。このため、水滴の検出精度を向上させることができる。また、2値化することで水滴のエッジを全て等価にする。このため、マッチング部24による処理負荷を抑えることができる。
なお、以下では、エッジ量に基づいて2値化する場合について説明するが、エッジ強度とエッジ量とは相関関係にある。このため、エッジ量に基づいて2値化することと、エッジ強度に基づいて2値化することとは同義である。
そして、変換部23は、各画素を2値化した画像(以下、2値化画像という)をマッチング部24へ出力する。ここで、第1の実施形態に係る付着物検出装置1では、2値化閾値THaの値をカメラ10の周囲環境に応じて動的に設定することにしている。この点の詳細については、図3を用いて後述する。
なお、変換部23は、「黒」、「白」以外にも「1」、「0」や他の文字や図形等を用いてグレースケール画像を2値化することにしてもよい。
マッチング部24は、変換部23から入力される2値化画像と水滴の特徴を示すテンプレートとのマッチング処理によって2値化画像とテンプレートとの類似度を算出する。また、マッチング部24は、算出した類似度の値を2値化画像における各画素に対応付けて検出部25へ出力する。
なお、マッチング部24による処理の詳細については図6を用いて後述する。また、テンプレートは、記憶部3にテンプレート情報32として記憶される。かかるテンプレートの詳細については図4を用いて後述する。
検出部25は、マッチング部24から入力される類似度に基づいてカメラ10に付着した水滴を検出する。そして、検出部25は、水滴を検出した場合、付着物除去装置11や車両の自動運転を行う車両制御装置(図示略)へ通知する。
これにより、例えば、付着物除去装置11では、カメラ10に付着した水滴を除去することとなる。また、車両制御装置では、かかる付着した領域を避けて例えば、白線などの認識が行われることとなる。なお、検出部25による検出処理の詳細については図7A〜7Dを用いて後述する。
次に、図3を用いて変換部23による2値化閾値THaの設定方法について説明する。図3は、2値化閾値THaを示す図である。なお、図3の縦軸は、上記したエッジ量を示しており、横軸は、周囲の照度を示している。
図3に示すように2値化閾値THaは、例えば、周囲環境として照度に応じて動的に設定される。具体的には、2値化閾値THaは、エッジ量Saを上限とし、エッジ量Sbを下限として、例えば、周囲の照度が高いほど、2値化閾値THaが高くなるように設定される。
また、エッジ量が2値化閾値THaよりも高い画素は、2値化画像において「白」となり、エッジ量が2値化閾値THa以下の画素は、2値化画像において「黒」で表される。
ここで、周囲の光源の光が水滴に反射する場合がある。かかる場合、水滴のエッジを示す画素のエッジ量は増加する。このとき、周囲の照度が高い、すなわち、周囲が明るいと、グレースケール画像には、水滴の他、背景の構造物や路面の白線などが写る。
このため、2値化閾値THaを高い値に設定することで、水滴のエッジを示す画素のみが「白」となるようにしている。換言すると、2値化閾値THaを高い値に設定することで、不要物のエッジを効率的に除去する。
一方、照度が低い、すなわち、周囲が暗いと、グレースケール画像に不要物が写りにくい。また、水滴に光が反射すると、水滴のエッジを示す画素のエッジ量は、不要物のエッジを示す画素に比べて増加しやすい。
また、光源の強さによっては、水滴のエッジ量がエッジ量Saを超えない場合がある。かかる場合に、周囲が暗い場合の2値化閾値Thaを照度が高い場合と同様の2値化閾値Thaに設定すると、水滴のエッジ量が2値化閾値THaを下回る場合があり好ましくない。
これらのことより、周囲が暗い場合、2値化閾値THaを照度が高い場合よりも低い値に設定することで、光が反射する水滴のエッジを示す画素のみが「白」となるようにしている。換言すると、暗い場合は、光源の強さによらず、水滴のエッジを効率よく抽出することができる。
このように、第1の実施形態に係る付着物検出装置1では、周囲の状況に応じて2値化閾値THaを動的に設定することで、水滴のエッジのみを効率よく抽出することができる。
これにより、従来検出が困難であった夜間において、光が反射した水滴の検出や、昼間に強い光源が存在する場合における水滴の検出を精度よく行うことが可能となる。なお、変換部23は、同図に示すように2値化閾値THaの値を例えば昼間と夜間で、それぞれエッジ量Saおよびエッジ量Sbに設定する。
かかる昼間と夜間の判別方法として、例えば、時間帯に応じて昼間と夜間とを判別する方法や、車両のヘッドライトに連動して昼間と夜間とを判別する方法を用いることができる。
例えば、変換部23は、ヘッドライトがONである場合、2値化閾値THaの値をエッジ量Sbに設定し、ヘッドライトがOFFである場合に、2値化閾値THaの値をエッジ量Saに設定することができる。
また、例えば、車両に照度センサを備える場合、変換部23は、かかる照度センサのセンサ値に基づいて2値化閾値THaの値を設定することもできる。
かかる場合に、変換部23は、例えば、同図の破線で示すように、照度に応じて2値化閾値THaの値を順次設定することもできる。また、図示しない操作部に対するユーザ操作に応じて2値化閾値THaを切り替えることにしてもよい。
ここでは、周囲環境として照度に応じて2値化閾値THaを切り替える場合について例示したが、これに限られない。すなわち、周囲環境として位置情報に基づいて2値化閾値THaを切り替えることにしてもよい。
例えば、変換部23は、ナビゲーション装置から位置情報を取得し、例えば、立体駐車場など、車両が屋内にいる場合に2値化閾値THaを高い値に設定することにしてもよい。
次に、図4を用いて第1の実施形態に係るテンプレートについて説明する。図4は、第1の実施形態に係るテンプレートの一例を示す図である。同図に示すように、第1の実施形態に係る付着物検出装置1では、黒地の背景に水滴の輪郭が白抜きのテンプレートが用いられる。
また、同図に示すように、第1の実施形態に係る付着物検出装置1では、水滴の輪郭の特徴を示す複数のテンプレートを有する。具体的には、同図のaに示すように、水滴の輪郭が略真円状のテンプレートや、同図のb〜eに示すように、それぞれ水滴の部分形状を示す略半弧状のテンプレートを有する。
また、同図のfに示すように、テンプレートは、略真円状や略半弧状に限られず、略楕円形状であってもよい。これは、カメラ10に魚眼レンズなど凸型レンズを用いた場合、凸型レンズに付着した水滴が楕円形状となりやすいためである。
このように、第1の実施形態に係る付着物検出装置1では、複数のテンプレートを用いてマッチング処理を行うことで、水滴の検出精度を向上させることができる。また、図4のb〜eに示した水滴の部分形状を示すテンプレートを用いることで、水滴が画像から見切れる場合であっても、かかる水滴を検出することが可能となる。
また、第1の実施形態に係る付着物検出装置1では、テンプレートの種類(同図のa〜f)ごとにマッチング処理を行う領域を設定することにしている。この点の詳細については図5を用いて後述する。
なお、図4に示したテンプレートは、一例であってこれに限定されるものではない。例えば、カメラ10の形状や、水滴の液だれなどを考慮してシミュレーションや統計等によって最適なテンプレートを導出することができる。
また、第1の実施形態に係る付着物検出装置1は、図4のa〜fに示したテンプレートの縮尺が異なる複数のテンプレートを有する。これにより、大きさが異なる水滴を精度よく検出することができる。なお、マッチング部24は、カメラ10の周囲環境に応じて異なる大きさのテンプレートからマッチング処理を行うこともできる。
例えば、大雨のときには、大粒の雨がカメラ10に付着しやすいため、マッチング部24は、大粒の水滴用の大きなテンプレートからマッチング処理を開始し、徐々に小さなテンプレートを用いてマッチング処理を行う。
また、小雨のときには、カメラ10に小さい水滴が付着しやすいため、小さいテンプレートからマッチング処理を開始し、徐々に大きなテンプレートを用いてマッチング処理を行う。
このようにすることで、車両の周囲状況に応じて効率よく水滴を検出することができる。また、第1の実施形態に係る付着物検出装置1では、テンプレートの大きさに応じて異なる検出閾値を設定している。この点の詳細については、図7Aを用いて後述する。
次に、図5を用いてテンプレートと走査位置との関係について説明する。図5は、テンプレートと走査位置との関係を示す図である。図5に示す領域Ra〜Reは、図4のa〜eに示したテンプレートにそれぞれ対応するものとする。
具体的には、マッチング部24は、図4のaに示した略真円状のテンプレートを2値化画像L2の中央部に位置する領域Raを走査する場合に用いる。また、図4のbに示した弧が図中下向きのテンプレートは、2値化画像L2の上部に位置する領域Rbを走査する場合に用いられる。
また、図4のcに示す弧が図中上向きのテンプレートは、2値化画像L2の下部に位置する領域Rcを走査する場合に用いられる。同様に、図4のdおよびeに示した弧がそれぞれ図中左向きまたは右向きのテンプレートは、2値化画像L2の左右に位置する領域RdおよびReをそれぞれ走査する場合に用いられる。
このように、マッチング部24は、2値化画像L2の走査位置に応じて異なるテンプレートを用いてマッチング処理を行うことができる。これにより、2値化画像L2における各領域に付着しやすい形状の水滴を効率よく検出することができる。
なお、マッチング部24は、全ての種類のテンプレートを2値化画像L2における全領域を走査することにしてもよい。かかる場合に、水滴の検出漏れを抑えることができる。
また、カメラ10が広角レンズである場合に、カメラ画像の端ほど、水滴が歪んで表示される。このため、端に行くほど、歪んだ水滴の輪郭の特徴を示すテンプレートを用いることにしてもよい。
次に、図6を用いてマッチング部24によるテンプレートとマッチング処理について説明する。図6は、マッチング処理の一例を示す図である。
同図に示すように、まず、マッチング部24は、例えば、テンプレートGの左上が2値化画像L2における左上に位置する画素P1に配置する。
続いて、マッチング部24は、かかる位置における2値化画像L2とテンプレートGとの類似度を算出する。なお、かかる類似度の算出方法については、第2の実施形態で説明するため、ここでの説明は省略する。
続いて、マッチング部24は、算出した類似度の値を例えば、テンプレートGの左上に位置する画素P1に格納する。その後、テンプレートGを1画素分右にずらして類似度を算出し、算出した類似度の値を画素P2に格納する。
マッチング部24は、かかる類似度の算出を繰り返し、右端まで類似度の算出を終えると、テンプレートGを1画素分だけ下にずらして算出処理を繰り返すことで全ての画素について類似度の算出を行う。これにより、マッチング部24は、全ての画素について類似度の値を得る。
また、マッチング部24は、種類や大きさが異なるテンプレートについても同様に類似度の算出を行うものとする。そして、マッチング部24は、算出した類似度の値を画素の座標とあわせて検出部25へ出力する。
ここで、マッチング部24は、必ずしも全ての画素について類似度の値を算出する必要はなく、例えば、所定の間隔ごとに類似度を算出するなど、類似度の算出処理を簡略化して行うことにしてもよい。このようにすることで、マッチング部24による処理負荷を軽減することができる。
また、例えば、同図に示す2値化画像L2の中央に位置する領域Rgのように、水滴検出の優先度の高い領域から類似度の値を算出することにしてもよい。このようにすることで、優先度の高い領域において、付着した水滴を素早く検出することができる。
この際、2値化画像L2の上部の領域など、優先度が低い領域について、マッチング部24は、類似度を算出しないことにしてもよい。これにより、マッチング部24による処理負荷をさらに軽減することができる。
さらに、例えば、マッチング部24は、優先度の高い領域について全ての画素について類似度の算出を行い、優先度の低い領域については類似度の算出処理を簡略化して行うことにしてもよい。
つまり、優先度の高い領域では、精度を高くして水滴を検出し、優先度の低い領域では、精度を荒くして水滴を検出することとしてもよい。これにより、処理負荷を抑えつつ、優先度の高い領域について水滴の検出漏れを抑制することができる。
次に、検出部25による判定処理について図7A〜図7Dを用いて説明する。図7A〜図7Dは、検出部25による判定処理を説明する図である。
まず、図7Aを用いてテンプレートと検出閾値との関係について説明する。同図に示すように、検出部25は、テンプレートの大きさに応じて異なる検出閾値を設けている。
なお、かかる検出閾値は、検出部25がマッチング部24から入力される類似度の値と比較するものである。そして、検出部25は、類似度の値が検出閾値以上であれば、水滴が付着していると判定する。
同図に示すように、第1の実施形態に係る付着物検出装置1では、テンプレートが大きいほど、検出閾値を低く設定する一方、テンプレートが小さいほど、検出閾値を高く設定するようにしている。
これは、テンプレートが小さいほど、水滴以外の不要なエッジを水滴のエッジとして誤検出しやすいためである。つまり、テンプレートの大きさに応じて検出閾値を設定することで、水滴の誤検出を抑制することができる。
なお、同図には、テンプレートが図4のaに対応する略真円状である場合について示したが、図4のb〜fに示した他のテンプレートについても同様である。また、テンプレートの種類に応じて異なる検出閾値を設けることにしてもよいし、あるいは、全てのテンプレートで同じ検出閾値を用いることにしてもよい。
次に、図7Bを用いて検出部25が2値化画像L2の領域ごとに異なる検出閾値を設ける場合について説明する。上記したように、2値化画像L2の領域に応じて水滴を検出する優先度が異なる。
そこで、第1の実施形態に係る付着物検出装置1では、2値化画像L2の領域に応じて異なる検出閾値を設けることもできる。具体的には、例えば、車両から近い位置が写る領域Rlについては、水滴検出の優先度を高く設定し、他の領域に比べて検出閾値を低く設定する。これにより、優先度の高い領域RIにおける水滴の検出漏れを抑制することができる。
一方、車両から遠い位置が写る領域Rhについては、水滴検出の優先度を低く設定し、検出閾値を高く設定する。また、領域Rlおよび領域Rhの間に位置する領域Rmについては、例えば、検出閾値が領域Rlおよび領域Rhの中間の値となるように設定する。
このように、2値化画像L2の領域に応じて異なる検出閾値を設定することで、優先度の低い領域Rhにおいて水滴の誤検出を軽減しつつ、優先度の高い領域Rlにおいて水滴を確実に検出することができる。
なお、図7Bでは、2値化画像L2を3つの領域に分割する場合について説明したが、分割する領域は、2つであっても4つ以上であってもよい。また、2値化画像L2を横方向や斜め方向や同心円状に分割して検出閾値を設定することにしてもよい。
また、上記した各領域の優先度は一例であって、水滴の検出目的に応じて優先度を変更することにしてもよい。また、検出部25は、例えば、昼間および夜間で異なる検出閾値を設定することにしてもよい。
次に、図7Cを用いて検出部25が複数フレームの2値化画像L2に基づいて水滴を検出する場合について説明する。ここでは、検出部25が、例えば、図7Aおよび図7Bで既に説明した検出処理を終えた場面を示す。
また、同図では、枠F1〜F3が存在する領域において各枠の大きさに対応するテンプレートとの類似度が検出閾値よりも大きかったことを示す。
ここで、枠F1および枠F2のように、大きさが異なるテンプレートとの類似度が高かった領域であり、かつ、枠F1で囲われた領域内に枠F2が存在する領域がある場合、検出部25は、かかる領域を水滴が付着していると判定する。これは、1つのテンプレートで類似度が高かった場合、大きさが近い他のテンプレートでも類似度が高くなる傾向があるためである。
また、検出部25は、例えば、枠F3のように、近接する領域に1つの枠しか存在しない場合には、上記の条件を満たさないため、かかる枠F3の領域に水滴が付着していないと判定する。上述したように、1つのテンプレートで類似度が高かった場合、大きさが近い他のテンプレートでも類似度が高くなる傾向があるため、1つのテンプレートだけで類似度が大きく、他の(大きさの近い)テンプレートで類似度が大きくなければ、ノイズなどの影響で、たまたま1つのテンプレートで類似度が高くなっただけと判断できるためである。
つまり、検出部25は、大きさの異なる複数のテンプレートとの類似度が高かった領域について水滴が付着していると判定する。このように、付着物検出装置1は、複数のテンプレートとの類似度に基づいて水滴を検出することで、水滴の誤検出を低減しつつ、水滴の検出精度の信頼性を向上させることができる。
なお、かかる場合に、検出部25は、例えば、枠F1と枠F2との少なくとも一部が重なっていれば水滴が付着していると判定することにしてもよい。また、検出部25は、例えば、近接する位置に複数の枠が存在する場合に、水滴が付着していると判定することにしてもよい。
次に、図7Dを用いて検出部25が複数の2値化画像L2に基づいて水滴を検出する場合について説明する。同図では、紙面手前側ほど新しい2値化画像L2であることを示す。すなわち、2値化画像L2eから2値化画像L2aの順に新しい2値化画像L2であることを示す。
また、同図に示す枠F4および枠F5は、図7Cと同様に、かかる枠の領域において枠の大きさに対応するテンプレートと類似度が高かったことを示すものとする。
同図に示すように、2値化画像L2a、2値化画像L2bおよび2値化画像L2cには、枠F4が存在し、2値化画像L2a、2値化画像L2cおよび2値化画像L2eには、枠F5が存在する。
このとき、検出部25は、例えば、3つのフレームで連続して同じ位置に枠が存在した場合に、かかる領域に水滴が付着していると判定する。同図に示す例では、枠F4が3フレームにわたって連続して検出されているため、検出部25は、枠F4の領域に水滴が付着していると判定する。
なお、検出部25は、例えば、枠F5のように、5フレームの間に3回検出されていれば、枠F5の領域に水滴が付着していると判定することにしてもよい。
このように、検出部25は、複数のフレームを用いて水滴の付着を判定することで、水滴の誤検知を抑制しつつ、検出精度を向上させることができる。なお、枠F4や枠F5の位置や大きさは、各フレームで厳密に一致している必要はなく、所定の誤差を許容するものとする。
また、同図では、検出部25が3フレーム連続で同一の枠を検出する場合に、水滴を検出するようにしたが、これに限定されるものではなく、2フレーム以下であっても、4フレーム以上であってもよい。
なお、検出部25は、水滴の検出に用いるフレーム数を上記した領域の優先度や、水滴の検出目的に応じて変更することにしてもよい。例えば、検出精度を優先する領域については、フレーム数を多くし、検出速度を優先する領域については、フレーム数を少なくすることもできる。
次に、第1の実施形態に係る付着物検出装置1が実行する処理手順について図8を用いて説明する。図8は、第1の実施形態に係る付着物検出装置1が実行する処理手順を示すフローチャートである。なお、以下に示す処理は、制御部2によって繰り返し実行される。
同図に示すように、まず、画像取得部21は、カメラ10からカメラ画像を取得し、かかるカメラ画像をグレースケール化する(ステップS101)。続いて、抽出部22は、グレースケール画像から各画素のエッジ情報を抽出する(ステップS102)。
その後、変換部23は、図3に示したように2値化閾値THaを設定し(ステップS103)、グレースケール画像を2値化する(ステップS104)。
続いて、マッチング部24は、図6に示したように変換部23によって2値化された2値化画像を用いてマッチング処理を行う(ステップS105)。そして、検出部25は、図7A〜図7Dに示したようにカメラ10に付着した水滴を検出する(ステップS106)。
上述してきたように、第1の実施形態に係る付着物検出装置1は、各画素のエッジ量に基づいて2値化することで、夜間や昼間において光る水滴を精度よく検出することができる。
ところで、上述したように、変換部23による変換処理は、2値化処理に限定されない。そこで、次に、第2の実施形態として各画素をエッジの向きに応じて各画素をパラメータに変換する場合について説明する。
(第2の実施形態)
まず、図9を用いて第2の実施形態に係る付着物検出装置1Bの構成について説明する。図9は、第2の実施形態に係る付着物検出装置1Bのブロック図である。なお、以下の説明では、既に説明した部分と同様の部分については、既に説明した部分と同一の符号を付し、重複する説明は省略する。
図9に示すように、第2の実施形態に係る付着物検出装置1Bは、制御部2Bと、記憶部3Bとを備える。制御部2Bは、図2に示した変換部23、マッチング部24および検出部25に代えて変換部23B、マッチング部24Bおよび検出部25Bを備える。
また、記憶部3Bは、範囲情報34と、パラメータ情報31Bと、テンプレート情報32Bと、検出情報33Bとを記憶する。ここでは、画像取得部21および抽出部22の説明は省略し、変換部23Bから説明する。
変換部23Bは、抽出部22から入力される各画素のエッジ情報に基づき、各画素のエッジの向きを算出し、かかるエッジ向きに3次元のパラメータを割り当てることにより、各画素をパラメータ化する。この点の詳細については、図11Aおよび図11Bを用いて後述する。
また、変換部23Bは、エッジの向きの算出に先立って、上記したエッジ量を算出し、算出したエッジ量に対してフィルタ処理を行う。かかる点の詳細については図10を用いて後述する。
マッチング部24Bは、変換部23Bから入力されるパラメータ化されたグレースケール画像と水滴の特徴を示すテンプレートとのマッチング処理を行う。かかるマッチング処理については、図6を用いて既に説明したマッチング処理と同様の処理であるため、ここでの説明は省略する。
ここで、マッチング部24Bは、ゼロ平均正規化相互相関(Zero-mean Normalized Cross-Correlation)を用いて類似度を算出する。かかるゼロ平均正規化相互相関では、類似度は−1から+1の値をとる。
なお、マッチング部24Bは、例えばSAD(Sum of Absolute Difference)、SSD(Sum of Squared Difference)など他の計算手法を用いて類似度を算出することにしてもよい。
検出部25Bは、マッチング部24Bから入力される類似度の値に基づいてカメラ10に付着した水滴を検出する。なお、検出部25Bによる検出処理の詳細については、図14を用いて後述する。
次に、図10を用いて変換部23Bによるフィルタ処理の詳細について説明する。図10は、抽出範囲Wを示す図である。なお、同図の縦軸には、エッジ量を示す。また、同図では、抽出範囲Wにハッチング処理を施して示している。
同図に示すように、第2の実施形態に係る付着物検出装置1Bでは、例えば、夜間および昼間で異なる抽出範囲Wを設定する。具体的には、夜間の場合、エッジ量Scからエッジ量Seまでの範囲を抽出範囲W1として設定する。
また、昼間の場合、エッジ量Scよりも低いエッジ量Sdからエッジ量Sfまでの範囲を抽出範囲W2として設定する。これは、上記したように、周囲の明るさによらず、水滴のエッジのみを効率よく抽出するためである。
このように、フィルタ処理をすることで、水滴以外の不要なエッジを除去することができる。これにより、水滴の検出精度を向上させることができる。
なお、抽出範囲W1や抽出範囲W2の値は、シミュレーションや統計等を用いて最適な値を導出することができる。また、変換部23Bは、検出部25Bによる水滴の検出結果をフィードバックして抽出範囲Wを設定することにしてもよい。
例えば、検出部25Bによって水滴が検出されなかった場合、抽出範囲Wが適切に設定されていなかったおそれがある。このため、変換部23Bは、抽出範囲Wを変更して各画素を抽出しなおすことにしてもよい。これにより、水滴の検出漏れを抑制することができるため、水滴の検出精度を向上させることができる。
また、記憶部3Bに、夜間および昼間のそれぞれにおいて各画素におけるエッジ量の分布や平均値等の統計学的な値をそれぞれ記憶しておく。そして、変換部23Bは、かかる統計学的な値と抽出したエッジ量を比較することで夜間と昼間とを判別して抽出範囲Wを設定することもできる。
これにより、周囲の状況にあわせて抽出範囲Wを適切に設定することもできる。なお、制御部2Bに学習機能を備えることとし、制御部2Bによってかかる統計学的な値を導出することにしてもよい。
次に、図11Aおよび図11Bを用いて変換部23Bによる処理について説明する。図11Aは、エッジのベクトルを示す図である。図11Bは、パラメータ情報31Bの一例を示す図である。
なお、図11Aでは、X軸方向およびY軸方向におけるエッジ強度を示す。上記したように、変換部23Bは、抽出部22から入力されるX軸方向のエッジ強度およびY軸方向のエッジ強度に基づいて各画素のベクトルを算出する。
具体的には、X軸方向およびY軸方向のエッジ強度に基づき、三角関数を用いることで、各画素のベクトルを算出する。以下では、同図に示す算出したベクトルと、正方向側のX軸との成す角度θを、エッジ向きといい、ベクトルの長さLを各画素のエッジ強度という。なお、かかるエッジ強度については、第3の実施形態にて用いられる。
なお、変換部23Bは、全ての画素についてエッジ向きを算出する必要はなく、優先度の低い領域については、所定間隔の画素ごとにエッジ向きを算出するなど、処理を簡略化することにしてもよい。
続いて、変換部23Bは、図11Bに示すパラメータ情報31Bを用いて算出したエッジ向きをパラメータ化する。ここでは、変換部23Bが、12色相環の色ベクトルを用いてエッジ向きをパラメータ化する場合について説明する。
ここで、色ベクトルとは、RGBの色要素に応じて規定されるベクトルであり、RGBから成る3成分の各パラメータを有する。
なお、12色相環において各パラメータは、レッド、グリーン、ブルーがそれぞれ10進数で表記すれば、「0」、「128」あるいは「127」、および「255」の3つの値で表される。ここで、12色相環において、補色の関係にあるRGBの各値は、16進数等の2進数表記で、1の補数の関係になる。
すなわち、第2の実施形態に係る変換部23Bでは、対向する角度範囲同士のRGBのそれぞれの値が1の補数の関係を満たすパラメータを用いて各画素を変換する。なお、かかるパラメータは、厳密に1の補数の関係を満たす必要はなく、所定の誤差を許容するものとする。
具体的には、変換部23Bは、算出したエッジ向きに対応する角度範囲のRGBのパラメータを画素に割り当てる。例えば、エッジ向きが75°から105°の角度範囲となる場合、かかるエッジ向きのパラメータは、水色に対応するRGB(0、255、255)のパラメータが割り当てられる。
また、エッジ向きが、かかる角度範囲と対向する−75°から−105°の角度範囲に存在する場合、水色の補色である赤色に対応するRGB(255、0、0)が割り当てられることとなる。
また、変換部23Bは、エッジ量が抽出範囲Wから外れた画素に対して白色に対応するRGB(255、255、255)のパラメータを用いる。
このように、第2の実施形態に係る付着物検出装置1Bでは、対向するエッジ向き同士が1の補数の関係となるパラメータを用いて各画素を変換する。これにより、対向するエッジ向きの違いを鮮明にすることができる。
また、12色相環の色ベクトルを用いることで、エッジ向きに対応する各角度範囲の違いを鮮明にすることが可能となる。このため、マッチング部24Bによる認識精度を向上させることができる。
また、第2の実施形態に係る付着物検出装置1Bでは、エッジ強度によらず、エッジ向きが近ければ、同一のパラメータが割り当てられる。このため、縁のぼやけた水滴すなわち、エッジ強度が弱い水滴であっても、エッジ強度が強い水滴と同等の精度で検出することが可能となる。
これらのことより、第2の実施形態に係る付着物検出装置1Bでは、従来では検出が困難であったエッジ強度の弱い水滴、すなわち、カメラ画像にぼやけて写る水滴であっても精度よく検出することが可能となる。
また、変換部23Bが参照するテーブルは、図11Bに示す例に限られず、例えば、12色のほか、24色など角度範囲をより細かく分割することにしてもよいし、あるいは、9色など角度範囲をより大きく分割することにしてもよい。
また、RGBに限らず、例えば、パラメータとして行列を用いるなど、反対のエッジ向き同士が1の補数の関係を満たす他のパラメータを用いることにしてもよい。
次に、図12を用いて第2の実施形態に係るテンプレートについて説明する。図12は、第2の実施形態に係るテンプレートの模式図である。なお、同図では、説明を簡単にするため、テンプレートを簡略化して示す。
同図に示すように、第2の実施形態に係るテンプレートでは、水滴を模擬する円が複数の扇状の領域に分割される。そして、扇状の各領域には、円の中心について対向する領域の値が1の補数となる上記した角度範囲に対応するパラメータが割り当てられる。
また、同図のaに示すように、水滴の特徴を示す領域以外には、白色と灰色を示すRGBのパラメータが割り当てられる。具体的には、テンプレートの中央部には白色に対応するRGB(255、255、255)のパラメータが割り当てられ、水滴の外部には、灰色に対応するRGB(128、128、128)のパラメータが割り当てられる。
なお、水滴の中央部および外部の各領域のパラメータは、一例であって、他の色に対応するパラメータを割り当てることとしてもよい。
また、同図のbに示すように、全ての領域に中央部から放射状に各パラメータが割り当てられたテンプレートを用いることもできる。かかるテンプレートは、厚みが薄く、カメラ画像にぼやけて写る水滴を検出する場合に有効である。
また、同図のcに示すように、テンプレートの中心部の白色の領域を大きくすることにしてもよい。かかるテンプレートを用いた場合、エッジが明るく輝く水滴を効率よく検出することができる。また、同図のdに示すように、水滴を示す形状は楕円形状であってもよい。
このように、第2の実施形態に係る付着物検出装置1Bでは、反対のエッジ向き同士が1の補数の関係にあるパラメータに変換されたグレースケール画像に対して、かかるパラメータで水滴を示すテンプレートを用いる。
このため、各画素およびテンプレートのそれぞれで各エッジ向きの違いが鮮明となり、マッチング部24Bによる認識精度を向上させることが可能となる。
また、第2の実施形態に係る付着物検出装置1Bは、図4のb〜eで既に説明したように、半弧状のテンプレートを用いることにしてもよい。かかる場合に、図5で既に説明したように、走査位置に応じた部分形状の水滴を示すマッチング処理を行うこともできる。
なお、第2の実施形態に係る付着物検出装置1Bでは、端部から中央に向けて輝度が大きくなる場合、すなわち、エッジ向きが端部から中央を向く場合の水滴の特徴を示すテンプレートを用いてマッチング処理を行う。
しかしながら、これに限らず、中央から端部に向けて輝度が大きくなる場合、すなわち、エッジ向きが中央から端部を向く場合の水滴の特徴を示すテンプレートを用いることにしてもよい。
次に、図13を用いて検出部25Bによる検出処理について説明する。図13は、検出閾値の具体例を示す図である。なお、同図の横軸は、類似度の値を示す。
上記したように、第2の実施形態に係る付着物検出装置1Bでは、テンプレートとの類似度が−1から+1の値で算出される。ここで、類似度が+1に近い場合は、テンプレートと類似していることを示す。すなわち、端部から中央に向かって輝度が大きくなる水滴と類似する。
また、類似度が−1に近い場合、テンプレートをいわゆるネガポジ反転させたものと類似していることを示す。すなわち、本実施例では、中央から端部に向かって輝度が大きくなる水滴を示す。
このため、図13に示すように、第2の実施形態では、類似度に正と負の両方に検出閾値を設けることにしている。具体的には、同図に示すように、例えば、正の検出閾値を+0.7とし、負の検出閾値を−0.8としている。
そして、検出部25Bは、マッチング部24Bから入力される類似度の値が正の検出閾値以上、すなわち、+0.7以上である場合、または負の検出閾値以下、すなわち、−0.8以下である場合に、カメラ10に水滴が付着していると判定する。
このように、第2の実施形態に係る付着物検出装置1Bでは、類似度の値に正および負の検出閾値を設ける。これにより、1種類のテンプレートを用いたマッチング処理によって、輝度が中央から端部に向かって大きくなる水滴および中央から端部に向かって輝度が大きくなる水滴の双方の水滴を検出することができる。
換言すると、処理負荷を維持しつつ、多様な水滴を検出することができる。なお、検出部25Bは、図7A〜図7Dを用いて既に説明した処理を併用して水滴を検出することにしてもよい。
また、第2の実施形態に係る付着物検出装置1Bでは、上記したように正の検出閾値を負の検出閾値よりも絶対値が低い値に設定することにしている。これは、類似度が負の場合は、類似度が正の場合に比べて水滴の誤検出が多い傾向があるためである。
同図に示した検出閾値の各値は、一例であってこれに限定するものではない。例えば、正の検出閾値と、負の検出閾値との絶対値は、同じであってもよいし、正の検出閾値の絶対値を負の検出閾値の絶対値よりも大きくすることにしてもよい。
次に、図14を用いて第2の実施形態に係る付着物検出装置1Bが実行する処理手順について説明する。図14は、第2の実施形態に係る付着物検出装置1Bが実行する処理手順を示すフローチャートである。
ここで、第1の実施形態で既に説明したため、ステップS101、ステップS102については、説明を省略し、同図に示すステップS201から説明することとする。
まず、変換部23Bは、抽出部22から入力されるエッジ情報に基づいて各画素のエッジのベクトルを算出し(ステップS201)、図11Bで説明したようにエッジ向きに基づいて各画素をパラメータ化する(ステップS202)。
続いて、マッチング部24Bは、パラメータ化されたグレースケール画像とテンプレートとのマッチング処理を行う(ステップS203)。そして、検出部25Bは、図13に示した検出閾値に基づいて水滴を検出する(ステップS204)。
上述してきたように、第2の実施形態に係る付着物検出装置1Bは、各画素のエッジ向きに対応する12色相環の各RGBのパラメータを用いることで、水滴を精度よく検出することができる。
また、第2の実施形態に係る付着物検出装置1Bは、一度のマッチング処理によって中央が輝く水滴と、端部が輝く水滴との双方の水滴を検出することができる。
(第3の実施形態)
次に、図15〜20を用いて第3の実施形態に係る付着物検出装置1Cについて説明する。第3の実施形態に係る付着物検出装置1Cは、各画素のエッジの向きに応じて各画素を符号に変換し、正規表現を用いてマッチング処理を行うものである。
まず、図15を用いて第3の実施形態に係る付着物検出装置1Cの構成について説明する。図15は、第3の実施形態に係る付着物検出装置1Cのブロック図である。
図15に示すように、第3の実施形態に係る付着物検出装置1Cは、制御部2Cと、記憶部3Cとを備える。制御部2Cは、図2に示した変換部23、マッチング部24および検出部25に代えて変換部23C、マッチング部24Cおよび検出部25Cを備える。また、記憶部3Cは、符号情報31C、テンプレート情報32Cおよび検出情報33Cを記憶する。
なお、ここでは、画像取得部21および抽出部22については、図2および図9を用いて既に説明したため省略し、変換部23Cから説明することとする。
変換部23Cは、抽出部22から入力される各画素のX軸方向およびY軸方向のエッジ強度に基づいて各画素のエッジのベクトルを算出し、エッジ向きをそれぞれ符号化する。かかるベクトルの算出方法については既に図11Aで説明したため、ここでの説明は省略する。
そして、変換部23Cは、各画素を符号化したグレースケール画像をマッチング部24Cに出力する。ここで、第3の実施形態に係る付着物検出装置1Cでは、例えば、複数の画素におけるエッジの代表値を求め、かかる代表値を符号化することにしている。この点の詳細については、図16Aおよび16Bを用いて後述する。
マッチング部24Cは、変換部23Cから入力される符号化されたグレースケール画像と水滴の特徴を示す符号パターンとの正規表現を用いたマッチング処理を行う。ここで、正規表現とは、符号列の集合を一つの符号で表したものである。
マッチング部24Cは、正規表現を用いてマッチング処理を行うため、例えば、上記したような類似度の算出など煩雑な処理を必要としない。このため、処理負荷を抑えつつ、水滴を検出することができる。
なお、水滴の特徴を示す符号パターンは、テンプレート情報32Cに記憶される。また、かかる符号パターンの詳細については、図17Aを用いて後述する。また、マッチング部24Cによる処理の詳細については、図17Bを用いて後述する。
検出部25Cは、マッチング部24Cが抽出した符号パターンに基づいてカメラ10に付着した水滴を検出する。なお、検出部25Cによる検出処理については、図18および19を用いて後述する。
次に、図16Aおよび図16Bを用いて変換部23Cによる符号化処理について説明する。図16Aおよび図16Bは、変換部23Cによる処理を説明する図である。
まず、図16Aを用いて代表値を算出する画素について説明する。ここでは、8×8ピクセルの画素をセルといい、3×3セルをブロックという。また、ブロックの中央のセルを注目セルという。
変換部23Cは、ブロックごとに各画素のエッジ向きおよびエッジ強度を示すヒストグラムを作成する。かかるヒストグラムについては、図16Bを用いて説明する。ここで、変換部23Cは、注目セルにおける中央の座標のエッジ向きをブロックにおけるヒストグラムから導出する。
そして、変換部23Cは、1つのブロックにおいて注目セルの代表値を導出すると、ブロックを1つのセル分ずらしてヒストグラムを作成し、かかるブロックにおける注目セルの代表値を算出していく。
つまり、第3の実施形態に係る付着物検出装置1Cでは、複数の画素ごとに代表値を算出することで、データ量を削減することができる。このため、マッチング部24Cによるマッチング処理を簡略化することができる。なお、同図に示す例では、セルが8×8ピクセルであるため、データ量は1/64に削減されることとなる。
なお、図16Aに示したブロックおよびセルのピクセル数は一例であって、セルおよびブロックのピクセル数は、任意に設定することができる。この際、検出したい水滴の大きさに応じて各セルのピクセル数を変更することもできる。
例えば、小さい水滴を検出したい場合、セルのピクセル数を少なく設定し、大きい水滴を検出したい場合は、セルのピクセル数を多く設定する。これにより、検出したい大きさの水滴を効率よく検出することができる。
また、変換部23Cは、単にセルごとにヒストグラムを作成し、かかるヒストグラムに基づいて各セルの代表値を算出することにしてもよい。なお、変換部23Cは、代表値を算出せず、全ての画素を符号化することにしてもよい。
次に、図16Bを用いてヒストグラムについて説明する。なお、同図では、縦軸にエッジ強度を示し、横軸にエッジ向きの階級を示す。同図に示すように、第3の実施形態に係る付着物検出装置1Cでは、例えば、エッジ向きを20°ごとに18段階の各階級に割り当ててヒストグラムを作成する。
具体的には、変換部23Cは、ブロック内の各画素のエッジ強度をエッジ向きに対応する階級に加算していくことで、ブロックにおけるヒストグラムを作成する。続いて、変換部23Cは、作成したヒストグラムからエッジ強度の和が最大となる階級を求める。
同図に示す例では、80〜100°の階級が最大の値をとる場合を示している。このとき、変換部23Cは、かかる階級においてエッジ強度の和が閾値以上である場合に、かかる階級を代表値とする。
同図に示す例では、80〜100°の階級においてエッジ強度の和が閾値を超えているため、上記の条件を満たす。このため、かかるブロックにおける注目セルの階級は、80〜100°となる。
続いて、変換部23Cは、注目セルを階級に応じて割り当てられた符号に変換する。ここで、各階級には、0〜9およびA〜Hの18種類の符号がそれぞれ割り当てられる。なお、0〜9およびA〜Hは、0°から360°まで20度刻みの各階級に割り当てられる符号である。また、代表値が閾値を超えなかった場合、すなわち、エッジ強度が低いセルには、Zの符号が割り当てられる。
このようにして、変換部23Cは、全てのセルについて符号化を行う。これにより、符号化されたグレースケール画像において、符号が格子状に配列されることとなる。なお、変換部23Cは、上記した代表値を算出する以外に、他の統計学的な算出方法を用いて代表値を算出することにしてもよい。
また、同図では、エッジ向きを18階級に分類する場合について説明したが、これに限られず、18階級より少なくする、あるいは、多くすることにしてもよい。また、同図では、符号がA〜HおよびZである場合を示したが、符号として、平仮名や数字など、他の文字、または図形等を用いることにしてもよい。
また、変換部23Cは、例えば、一つのブロックで閾値を超える複数の階級が存在した場合、かかる複数の階級に対応する符号をグレースケール画像に関連付けてマッチング部24Cに出力することにしてもよい。
換言すると、変換部23Cは、複数のエッジ向きの情報をグレースケール画像に関連付けることにしてもよい。かかる場合、水滴を検出するためのデータ量が増えるため、より精密に水滴を検出することが可能となる。
次に、図17Aおよび17Bを用いて第3の実施形態に係るマッチング部24Cによる処理について説明する。図17Aは、第3の実施形態に係るテンプレートの一例を示す模式図である。図17Bは、マッチング部24Cによるマッチング処理の一例を示す図である。
なお、図17Aでは、視覚的に分かりやすくするために、テンプレートを上記した符号ではなく、実際のエッジ向きを模式的に示す。図17Aに示すように、第3の実施形態に係る付着物検出装置1Cでは、テンプレートして水滴の特徴を示す符号列である符号パターンを有する。具体的には、例えば、上辺パターン、下辺パターン、左辺パターン、右辺パターンを有する。
ここで、同図に示す各辺のパターンは、水滴を内包または水滴を外包する矩形の各辺を示す。また、同図では、各辺のパターンのエッジ向きが、それぞれ中央に向かう場合について示している。この場合、水滴の輝度が端部から中央に向けて大きくなる、すなわち、中央が明るく端部が暗い水滴の特徴を示す。
なお、第3の実施形態に係る付着物検出装置1Cは、水滴の輝度が中央から端部にかけて大きくなる、すなわち、中央が暗く端部が明るい水滴の特徴を示す各辺のパターンを備えることにしてもよい。このようにすることで、多様な水滴を検出することが可能となる。
なお、同図では、上下左右の4方のパターンを例示したが、斜め方向を含むパターンを用いることもできる。このようにすることで、水滴の検出精度を向上させることができる。
また、水滴の特徴を示す符号列は、例えば、弧状に配列された各符号の並びであってもよい。また、マッチング部24Cは、各辺のパターンに応じて正規表現を行う領域を限定することにしてもよい。
次に、図17Bを用いてマッチング部24Cによるマッチング処理について説明する。なお、ここでは、説明の便宜上、図17Aに示した上辺パターンをそれぞれA〜Fの符号を用いて示す。また、同図のaおよびbには、変換部23Cによって符号化されたグレースケール画像の一部を模式的に示す。
同図のaに示すように、マッチング部24Cは、符号パターンがA〜Fの順に順序良く並んでいれば、かかる符号パターンを上辺パターンと一致すると判定する。
具体的には、マッチング部24Cは、同図のaに示すように、例えば、Aが3回、B、C、DおよびEがそれぞれ2回、そして、Fが3回など繰り返される配列を上辺パターンの各符号の配列順序を満たせば、上辺パターンとして抽出することにしている。
これは、水滴の大きさに応じて符号の繰り返し回数が異なるためである。すなわち、水滴が大きいほど、各符号列の長さが多くなるためである。このように、かかる符号の繰り返しを許容することで、1回のマッチング処理で、大きさが異なる複数の水滴を示す符号列を抽出することができる。
したがって、処理負荷を軽減しつつ、水滴を検出することができる。なお、マッチング部24Cは、水滴の大きさに応じて符号列の長さが異なる複数の各辺のパターンを用意し、全てのかかるパターンを用いて符号列を抽出することにしてもよい。
また、水滴は一般的に球状となるため、各符号の繰り返しの回数は、中心から線対称状となるはずである。このため、マッチング部24Cは、抽出した符号列の中で、バランスが悪い符号列を除外することにしている。
具体的には、同図のbに示すように、マッチング部24Cは、例えば、両端に位置するAとFとのバランスを精査する。ここで、同図では、Aが3回繰り返され、Fが10回繰り返される場合を示している。
このとき、マッチング部24Cは、AおよびFの個数が2倍以上異なる場合に、配列順序を満たす場合であっても、かかる符号列パターンを除外することにしている。このようにすることで、水滴以外の不要な符号パターンの誤抽出を防ぐことができ、水滴の誤検出を抑えることができる。
また、マッチング部24Cでは、例えば、抽出した符号列が閾値より長い場合、かかる符号列をマッチングから除外することもできる。これは、符号列が長い場合、水滴である可能性が低いためである。このため、水滴の誤検出を抑えることができる。なお、かかる閾値は、統計等によって最適な値を予め導出しておくものとする。
次に、図18を用いて第3の実施形態に係る検出部25Cによる検出処理について説明する。図18は、第3の実施形態に係る検出部25Cによる検出処理を説明する図である。なお、同図では、図17Aと同様に、符号に代えて実際のエッジ向きを模式的に示す。
また、ここでは、マッチング部24Cによって最初に上辺パターンが抽出された場合について説明する。まず、検出部25Cは、上辺パターンの幅に基づき、略正方形状の検出領域R1を設定する。
続いて、マッチング部24Cによって検出領域R1から逸脱した位置に右辺パターンが抽出されたものとする。このとき、検出部25Cは右辺パターンの検出領域R2の中心座標が検出領域R1内にあれば、双方の検出領域R1およびR2を統合する処理を行う。
その後、検出部25Cは、例えば、統合した検出領域R3において、下辺パターンまたは左辺パターンが抽出された場合、統合した検出領域R3において水滴を検出する。換言すると、検出部25Cは、検出領域R3において異なる3方向以上の各辺を示すパターンが抽出されることを検出条件(以下、方向条件という)として水滴を検出することにしている。
なお、検出部25Cは、かかる方向条件以外に、例えば、統合した検出領域R3において、各辺を示すパターンが所定回数(例えば、上下左右を含めて4回)以上抽出されたことを水滴の検出条件(以下、回数条件という)とすることにしてもよい。
このように、検出条件として、3方向以上の方向条件や回数条件とすることで、上下左右の全ての辺が抽出されなくとも水滴を検出することとなる。すなわち、カメラ画像から見切れる例えば、半円状の水滴を検出することができる。
なお、例えば、水滴を検出する領域に応じて方向条件を変更することにしてもよい。例えば、カメラ画像の中央の領域については、方向条件を4方向に設定する。これにより、水滴の検出精度を向上させることができる。
また、例えば、カメラ画像の4隅の領域については、方向条件を2回に設定する。これにより、カメラ画像の4隅に写る見切れた扇状の水滴を検出することが可能となる。
なお、同図では、上辺パターンの検出領域R1内に検出領域R2の中心座標がおさまる場合に、検出領域を統合する場合について示したが、これに限定されるものではない。すなわち、検出領域R1および検出領域R2の少なくとも一部が重なっていれば双方の検出領域を統合することにしてもよい。
また、統合した検出領域R3を、検出領域R1および検出領域R2の論理積とすることにしてもよいし、検出領域の論理和とすることにしてもよい。また、同図では、検出領域R1および検出領域R2が矩形状である場合を示したが、これに限られず、検出領域を円形状など他の形状とすることにしてもよい。
なお、検出部25Cは、図7Dで既に説明したように、複数フレームにおける検出結果に基づいて水滴を検出することにしてもよい。
次に、図19を用いて検出部25Cによる検出条件の除外処理について説明する。図19は、検出条件から除外する条件を示す図である。また、同図には、グレースケール画像の一部を拡大し、エッジ向きを模式的に示す。
なお、同図に示す長さa1は、長さa2の例えば、1.5倍である。すなわち、長さa2は、長さa1の2/3の値となる。ここで、例えば、グレースケール画像の左2/3の領域(同図に示す破線より左側の領域)には、カメラ10に水滴が付着していなくても左辺パターンが抽出されやすい傾向がある。
このため、検出部25Cは、かかる領域において複数個の左辺パターンが抽出され、他の辺を示すパターンが抽出されなかった場合、上記した回数条件を満たす場合であっても、例外的に検出対象から除外する。
これにより、水滴の誤検出を抑えることができる。なお、ここでは、左辺パターンを例に挙げて説明したが、他の辺のパターンについても同様である。
次に、図20を用いて第3の実施形態に係る付着物検出装置1Cが実行する処置手順について説明する。図20は、第3の実施形態に係る付着物検出装置1Cが実行する処理手順を示すフローチャートである。ここでは、ステップS101およびステップS102については、既に説明したため省略し、同図に示すステップS301から説明する。
まず、変換部23Cは、抽出部22によって抽出されたエッジ情報に基づいて図16Aおよび図16Bに示したようにヒストグラムを作成し代表値を算出する(ステップS301)。その後、変換部23Cは、セルごとに代表値を符号化する符号化処理を行う(ステップS302)。
続いて、マッチング部24Cは、符号化されたグレースケール画像に正規表現を用いてマッチング処理を行う(ステップS303)。そして、検出部25Cは、図18に示したように水滴を検出する(ステップS304)。
上述してきたように、第3の実施形態に係る付着物検出装置1Cでは、各画素を符号化し、正規表現を用いてマッチング処理を行う。これにより、マッチング処理を簡略化して行うことができる。つまり、処理負荷を抑えつつ、精度よく水滴を検出することができる。
また、第3の実施形態に係る付着物検出装置1Cでは、マッチング処理に正規表現を用いることにより、大きさの異なる水滴や、カメラ画像から見切れる水滴の検出精度を向上させることができる。
なお、第1〜第3の実施形態に係る付着物検出装置1、1Bおよび1Cを適宜組み合わせて用いることもできる。例えば、図16Aに示した代表値の算出方法を第1および第2の実施形態に用いることにしてもよい。
また、第1〜第3の実施形態に係る付着物検出装置1、1Bおよび1Cでは、水滴を検出する目的に応じて、カメラ10からカメラ画像を取得するフレーム間隔を変更することもできる。例えば、車両の後進時に、カメラ画像を運転者に提示する場合、できるだけ早く水滴を検知する必要がある。
このため、かかる場合に、カメラ10によって撮像されたフレームを全て取得し、かかる全てのフレームから水滴を検出する。一方、例えば、検出目的が自動駐車等のセンシング用途である場合、例えば、数フレーム毎にカメラ画像を取得することにしてもよい。
また、かかる場合に、1フレーム毎にリアカメラ→フロントカメラ→右カメラ→左カメラなどカメラ画像を取得するカメラ10を切り替えて取得することにしてもよい。
また、第1〜第3の実施形態に係る付着物検出装置1、1Bおよび1Cでは、カメラ画像の解像度を変更して水滴の検出処理を行うことにしてもよい。例えば、解像度を落として水滴の検出を行う場合、検出処理の処理負荷を軽減することができる。なお、かかる解像度を水滴の検出目的に応じて変更することもできる。
(第4の実施形態)
次に、第4の実施形態として、これまで説明してきた付着物検出装置1、1Bおよび1Cの機能を含んで構成され、付着物の検出から付着物を除去するまでの全体処理を制御する除去制御装置50の構成について、図21〜図25を用いて説明する。
図21は、本実施形態に係る付着物除去システム100のブロック図である。なお、図21では、本実施形態の特徴を説明するために必要な構成要素のみを機能ブロックで表しており、一般的な構成要素についての記載を省略している。
換言すれば、図21に図示される各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。例えば、各機能ブロックの分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することが可能である。
また、図22Aは、付着物検出部61からの通知内容の一例を示す図である。また、図22Bは、検出情報DB(データベース)71に含まれる検出エリアDaに関するデータ内容の一例を示す図である。また、図22Cは、検出エリアDaの状態の説明図である。
図21に示すように、付着物除去システム100は、カメラ10と、付着物除去装置11と、除去制御装置50とを含む。カメラ10および付着物除去装置11については既に述べたため、ここでの説明を省略する。
除去制御装置50は、制御部60と、記憶部70とを備える。制御部60は、複数の付着物検出部61と、除外部62と、アルゴリズム間重なり判定部63と、フレーム間重なり判定部64と、付着判定部65と、除去要否判定部66と、指示部67とを備える。
記憶部70は、ハードディスクドライブや不揮発性メモリ、レジスタといった記憶デバイスであって、検出情報DB71を記憶する。
制御部60は、除去制御装置50全体を制御する。複数の付着物検出部61は、それぞれカメラ10からカメラ画像を1フレーム分ずつ取得し、それぞれに対応付けられた検出アルゴリズムを用いてカメラ画像の中から付着物が存在すると推定される検出エリアDaを抽出する。また、付着物検出部61は、抽出した検出エリアDaを除外部62へ通知する。
ここで、付着物検出部61からの通知内容には、図22Aに示すように、例えば矩形で抽出された検出エリアDaの左上座標(x,y)と、幅wと、高さhとが含まれる。
除外部62は、付着物検出部61から通知される検出エリアDaのそれぞれについて画像解析を行い、かかる検出エリアDaに存在すると推定される付着物が本当に付着物であるか否かを判定する。
また、除外部62は、その判定結果により付着物であると判定される検出エリアDaについては、かかる検出エリアDaをアルゴリズム間重なり判定部63へ通知する。一方、除外部62は、その判定結果により付着物でないと判定される検出エリアDaについては、アルゴリズム間重なり判定部63への通知を行わず、後段の処理対象から除外する。このように、無用の画像領域を除外することにより、付着物の検出の精度を高められるとともに、後段の処理負荷を軽減することができる。
例えば、除外部62は、検出エリアDaのエッジ強度、輝度および彩度のそれぞれにつき、「弱」、「中」、「強」の3階級で分類されたヒストグラムを生成する。そして、除外部62は、生成した各ヒストグラムにおける階級それぞれの度数の割合に基づいて付着物であるか否かを判定し、付着物でないと判定される検出エリアDaを除外する。
アルゴリズム間重なり判定部63は、現フレームでの複数アルゴリズム間での検出エリアDaの重なり、すなわち、付着物検出部61のそれぞれで抽出された検出エリアDa間の重複部分の存否を判定する。また、アルゴリズム間重なり判定部63は、その判定結果を各検出エリアDaの「得点」として反映する。反映結果は、検出情報DB71上で管理される。アルゴリズム間重なり判定部63が実行する判定処理の詳細については、図23A〜図23Dを用いて後述する。
フレーム間重なり判定部64は、現フレームに関するアルゴリズム間重なり判定部63の処理結果すべてに対し、過去フレームで抽出済みである検出エリアDaとの重なりの存否を判定する。また、フレーム間重なり判定部64は、その判定結果を各検出エリアDaの「得点」および「状態」に反映する。反映結果は、検出情報DB71上で管理される。
ここで、検出情報DB71は、図22Bに示すように、例えば「検出エリアID」項目と、「エリア情報」項目と、「得点」項目と、「状態」項目とを含む。「検出エリアID」項目には、検出エリアDaの識別子が格納され、検出情報DB71は、かかる検出エリアIDごとに管理される。
「エリア情報」項目には、図22Aで示した検出エリアDaの左上座標(x,y)や、幅w、高さhなどが格納される。「得点」項目には、検出エリアDaそれぞれの現状の得点が格納される。「状態」項目には、検出エリアDaそれぞれの現状の状態(ステート)が格納される。
図22Cにステートマシン図として示すように、各検出エリアDaは、「IDLE」、「潜伏」、「観察」、「ペナルティ」という4つの状態に遷移し得る。「IDLE」は、「未検出状態」、すなわち付着物が付着していない状態を指す。「潜伏」は、「付着物付着の可能性あり」の状態を指す。
「観察」は、付着物除去装置11による付着物の除去動作が行われた「除去処理後の観察状態」を指す。「ペナルティ」は、「除去処理後も当該エリアで付着物が検出され続けている状態」、すなわち、除去不良か誤検出の状態を指す。
フレーム間重なり判定部64は、判定した判定結果に応じ、検出情報DB71上で各検出エリアDaの「得点」を更新し、「状態」を遷移させる。
図21の説明に戻る。付着判定部65は、検出情報DB71の検出エリアDaの「状態」と「得点」に応じ、付着物の「付着確定」を判定する。
除去要否判定部66は、付着判定部65によって「付着確定」と判定された場合に、実際に付着物除去装置11に付着物の除去動作を行わせるか否かを判定する。フレーム間重なり判定部64、付着判定部65および除去要否判定部66が実行する処理の詳細については、図24A〜図24Eを用いて後述する。
指示部67は、除去要否判定部66によって、付着物の除去が必要と判定された場合に、付着物除去装置11に除去動作を行わせる指示信号を生成して、かかる指示信号を付着物除去装置11へ送出する。
次に、アルゴリズム間重なり判定部63が実行する判定処理の詳細について、図23A〜図23Dを用いて説明する。図23A〜図23Dは、アルゴリズム間重なり判定部63の処理説明図(その1)〜(その4)である。
上でも既に述べたが、図23Aに示すように、アルゴリズム間重なり判定部63は、現フレームでの複数アルゴリズム間での検出エリアDaの重なりの存否を判定する。具体的には、図23Aに示すように、例えば付着物検出アルゴリズム−1の検出エリアDa−1のすべてと、付着物検出アルゴリズム−2の検出エリアDa−2のすべてとの重なりを判定する。これは、付着物検出アルゴリズム−1と付着物検出アルゴリズム−3との間、または、付着物検出アルゴリズム−2と付着物検出アルゴリズム−3との間についても同様である。
なお、図23Bに示すように、例えば検出エリアDa−1と検出エリアDa−2との重なりは、それぞれの重心からの距離dによって判定される。
そして、図23Cに示すように、アルゴリズム間重なり判定部63は、例えば検出エリアDa−1と検出エリアDa−2との間に重なりがあると判定した場合に、検出エリアDa−1および検出エリアDa−2それぞれの得点に加点する。
これにより、重なりが存在しない検出エリアDaに対し、重なりが存在する検出エリアDa−1および検出エリアDa−2の方が、付着物の存在する可能性が高いことを示すことができる。
また、図23Dに示すように、例えば検出エリアDa−1および検出エリアDa−2に重なりが存在する場合に、アルゴリズム間重なり判定部63は、これら検出エリアDa−1および検出エリアDa−2のエリア情報を更新する。
例えば図23Dの(a)に示すように、検出エリアDa−1を優先して、検出エリアDa−1にエリア情報を統合する。また、図23Dの(b)に示すように、逆に検出エリアDa−2を優先して、検出エリアDa−2にエリア情報を統合する。
また、図23Dの(c)に示すように、論理積をとって、重なり部分のみの検出エリアDa−Aにエリア情報を統合する。また、図23Dの(d)に示すように、検出エリアDa−1および検出エリアDa−2の論理和に対応する検出エリアDa−Sにエリア情報を統合してもよい。
また、図23Dの(e)に示すように、検出エリアDa−1および検出エリアDa−2のいずれをも含むように拡張した検出エリアDa−Eにエリア情報を統合してもよい。
次に、フレーム間重なり判定部64、付着判定部65および除去要否判定部66が実行する処理の詳細について、図24A〜図24Eを用いて説明する。図24A〜図24Cは、フレーム間重なり判定部64の処理説明図(その1)〜(その3)である。
また、図24Dは、フレーム間重なり判定部64および付着判定部65の処理説明図である。また、図24Eは、除去要否判定部66の処理説明図である。
上でも既に述べたが、図24Aに示すように、フレーム間重なり判定部64は、現フレームに関するアルゴリズム間重なり判定部63の処理結果すべてに対し、過去フレームで抽出済みである各検出エリアDaとの重なりの存否を判定する。
具体的には、図24Bに示すように、現フレームの検出エリアDa−Cのすべてと、過去フレームの検出エリアDa−Pのすべてとの重なりを判定する。なお、重なりについての考え方は、アルゴリズム間重なり判定部63の場合と同様であってよい。
そして、図24Bに示すように、フレーム間重なり判定部64は、現フレームの検出エリアDa−Cと過去フレームの検出エリアDa−Pとの間に重なりがあると判定した場合に、検出エリアDa−Cおよび検出エリアDa−Pそれぞれの得点に加点する。
これにより、フレーム間重なり判定部64は、例えば、フレームを隔ててなおカメラ10のほぼ同一の領域に存在する付着物を示すことができる。
一方、図24Cに示すように、フレーム間重なり判定部64は、過去フレームの検出エリアDa−Pにつき、現フレームの検出エリアDa−Cのいずれとも重なりが存在しないものについては、得点を減点する。
また、フレーム間重なり判定部64は、現フレームの検出エリアDa−Cにつき、過去フレームの検出エリアDa−Pのいずれとも重なりが存在しないものについては、新規の検出エリアDaであるとして、検出情報DB71へ新規登録する。
新規登録される検出エリアDaは、図24Dに示すように、「潜伏」状態となり、所定の得点を付与される。そして、かかる「潜伏」状態から、前述の「加点」や「減点」を経ることで変化する検出エリアDaの得点に応じ、フレーム間重なり判定部64および付着判定部65は、検出エリアDaの状態を遷移させる。
例えば、図24Dに示すように、フレーム間重なり判定部64は、「潜伏」状態にある検出エリアDaの得点が所定点以下となった場合、かかる検出エリアDaの状態を「潜伏」から「IDLE」へ遷移させる(ステップS11)。これにより、例えば流れ落ちるなどして移動し、除去するまでもない雨滴等の付着物に対し、除去処理を行ってしまう誤反応を防止することができる。
また、「潜伏」状態にある検出エリアDaの得点が所定点以上となった場合、付着判定部65は、当該エリアに対する付着物の付着を確定(付着確定)させる(ステップS12)。
また、付着判定部65は、付着確定後、「潜伏」状態にあるすべての検出エリアDaを「観察」状態へ遷移させる(ステップS13)。これは、仮に1つの検出エリアDaの付着確定に応じて除去処理が行われた場合、付着確定されていなかった「潜伏」状態の他の検出エリアDaについても、通常であれば付着物は除去されたと推定されるためである。
なお、フレーム間重なり判定部64は、除去処理が行われて「観察」状態にある検出エリアDaの得点が所定点以上となった場合、検出エリアDaを「ペナルティ」状態へ遷移させる(ステップS14)。これにより、除去処理後も付着物が検出され続けている除去不良または誤検出を把握することができる。
また、フレーム間重なり判定部64は、「観察」状態または「ペナルティ」状態にある検出エリアDaの得点が所定点以下となった場合、検出エリアDaを「IDLE」状態へ遷移させる(ステップS15)。
なお、図24Dにおいて「加点」および「減点」を示している矢印の傾きを調整することによって、付着確定までの反応速度を制御してもよい。例えば加点量および減点量を大きくして上記矢印の傾きを急にすることによって、付着物の検出から除去処理までの反応速度を上げることができる。
また、付着確定がなされた検出エリアDaであっても、あえて除去動作を行わないようにしてもよい。例えば、除去要否判定部66は、図24Eに示すように、付着確定がなされた検出エリアDaが、画面の外周にほぼ沿ったスキップ領域に存在するならば、除去処理の実行を不要と判定することができる。
このように、搭乗者の視認や運転動作に影響の少ない画像領域に付着した付着物についてはその除去処理自体をスキップすることで、システム全体の処理負荷を軽減することができる。
次に、本実施形態に係る付着物除去システム100が実行する処理手順について、図25を用いて説明する。図25は、付着物除去システム100が実行する処理手順を示すフローチャートである。
まず、複数の付着物検出部61が、それぞれ1フレーム分のカメラ画像を取得する(ステップS401)。そして、例えば付着物検出部61aは、付着物検出アルゴリズム−1を用いて検出エリアDa−1を抽出する(ステップS402)。
また、例えば付着物検出部61bは、付着物検出アルゴリズム−2を用いて検出エリアDa−2を抽出する(ステップS403)。また、例えば付着物検出部61cは、付着物検出アルゴリズム−3を用いて検出エリアDa−3を抽出する(ステップS404)。
そして、除外部62が、付着物検出部61によって抽出され、通知される検出エリアDaのそれぞれにつき、除外処理を行う(ステップS405)。すなわち、除外部62は、検出エリアDaに存在すると推定される付着物が本当に付着物であるか否かを判定し、付着物でなければ、これに対応する検出エリアDaを後段の処理対象から除外する。
なお、かかる除外処理自体は、例えば省略されてもよい。これにより、システム全体に対する処理負荷を軽減することができる。
つづいて、アルゴリズム間重なり判定部63が、アルゴリズム間重なり判定処理を行う(ステップS406)。すなわち、アルゴリズム間重なり判定部63は、現フレームでの複数アルゴリズム間での検出エリアDaの重なりの存否を判定し、その判定結果に応じて検出エリアDaの得点を更新する。
そして、フレーム間重なり判定部64が、フレーム間重なり判定処理を行う(ステップS407)。すなわち、フレーム間重なり判定部64は、アルゴリズム間重なり判定部63の処理結果すべてに対し、過去フレームで抽出済みである各検出エリアDaとの重なりの存否を判定し、その判定結果に応じて検出エリアDaの得点および状態を更新する。
そして、付着判定部65が、付着判定処理を行う(ステップS408)。すなわち、付着判定部65は、フレーム間重なり判定部64によって更新された検出情報DB71の検出エリアDaの得点および状態に応じ、付着物の付着確定を判定する。
そして、除去要否判定部66が、付着判定部65によって「付着確定」と判定された場合に、実際に付着物除去装置11による付着物の除去が必要か否かを判定する(ステップS409)。
ここで、「除去要」であると判定された場合(ステップS409,Yes)、指示部67が、付着物除去装置11へ指示信号を送出して、付着物除去装置11に除去動作を行わせる除去処理を実行する(ステップS410)。一方、「除去要」でないと判定された場合(ステップS409,No)、指示部67は、除去処理を実行しない。
そして、制御部60が、処理終了イベントがあるか否かを判定する(ステップS411)。処理終了イベントは、例えばIGオフやACCオフなどに対応する。ここで、処理終了イベントがないと判定された場合(ステップS411,No)、ステップS401からの処理を繰り返す。また、処理終了イベントがあると判定された場合(ステップS411,Yes)、付着物除去システム100は、処理を終了する。
上述してきたように、第4の実施形態では、複数の付着物検出アルゴリズムを用いてカメラ10に付着した水滴を判定する。このため、水滴の誤検出を抑えるとともに、水滴の検出精度の信頼性を向上させることができる。
ところで、上述した実施形態では、付着物検出装置1、1Bおよび1Cが、カメラ画像Lの各画素の輝度の勾配をエッジ情報として抽出する場合について説明したが、これに限定されるものではない。
付着物検出装置1、1Bおよび1Cは、カメラ画像Lの各画素の彩度の勾配をエッジ情報として抽出し、かかるエッジ情報に基づいてカメラ10に付着した水滴を検出することもできる。かかる場合に、付着物検出装置1、1Bおよび1Cは、カメラ10に付着する泥や砂等が混じった濁った水滴を精度よく検出することが可能となる。
具体的には、例えば、付着物検出装置1、1Bおよび1Cの抽出部22は、HSV色空間に基づく場合、カメラ画像Lの各画素のR、G、Bの最大値をImax、最小値をIminとしたときに、彩度(S)=(Imax−Imin)/Imaxにより彩度を抽出することができる。
また、HSL色空間に基づく場合は、抽出部22は、明度(L)=(Imax+Imin)/2とし、L≦0.5のとき、彩度(S)=(Imax−Imin)/(Imax+Imin)、L>0.5のとき、彩度(S)=(Imax−Imin)/(2−Imax−Imin)により彩度を抽出することができる。
続いて、第1の実施形態に係る変換部23は、X軸方向およびY軸方向の彩度をそれぞれ2乗した後に加算した値を各画素の彩度に基づくエッジ量として算出する。そして、変換部23は、かかるエッジ量と、図3に示したように2値化閾値THaとを比較することで、カメラ画像Lの各画素を2値化することができる。なお、かかる2値化閾値THaは、彩度用に最適化されたものを使用することができる。
その後、付着物検出装置1は、マッチング部24および検出部25による既に説明した処理を行うことで、カメラ10に付着した濁った水滴を精度よく検出することができる。
また、第2の実施形態に係る変換部23Bは、各画素の彩度に基づくエッジの向きを算出し、かかるエッジ向きに図11Aおよび図11Bに示した3次元のパラメータを割り当てることにより、各画素をパラメータ化することができる。
続いて、マッチング部24Bは、図12に示したテンプレートを用いてマッチング処理を行う。このとき、濁った水滴であれば、彩度が中央に向けて大きくなる。このため、検出部25Bは、マッチング部24Bによって算出されたゼロ平均正規化相互相関の値が図13に示した正の検出閾値を超える場合にのみ、濁った水滴を検出することができる。
すなわち、第2の実施形態に係る付着物検出装置1Bは、濁った水滴を検出する場合に、正の検出閾値のみを設定することで、濁った水滴の誤検出を抑制することができる。
また、第3の実施形態に係る変換部23Cは、彩度の勾配の向きについて図16Aおよび図16Bに示したようにカメラ画像Lの各画素を符号化する。そして、マッチング部24Cは、正規表現を用いたマッチング処理により、水滴を示す符号列を抽出する。
そして、検出部25Cは、マッチング部24Cによって抽出された符号列に基づいてカメラ10に付着した濁った水滴を検出する。このとき、上記したように、濁った水滴であれば、彩度が中央に向かって大きくなる。
このため、検出部25Cは、マッチング部24Cによって抽出された符号列に基づいて中央に向かって彩度が大きくなる符号列のパターンを検出することで、濁った水滴を精度よく検出することができる。
このように、付着物検出装置1、1Bおよび1Cは、エッジ情報として各画素の輝度に代えて、彩度を用いることで濁った水滴を精度よく検出することが可能となる。なお、付着物検出装置1、1Bおよび1Cは、例えば、輝度が中央に向かって大きくなる水滴と、彩度が中央に向かって大きくなる濁った水滴とを1回のマッチング処理により同時に検出するようにしてもよい。
また、上記した実施形態では、付着物検出装置1、1Bおよび1C、付着物除去システム100をいずれも車載用のカメラ10に適用する場合について示したが、例えば、建物の内外や路地等に設定される監視/防犯カメラなどのその他の種類のカメラに適用してもよい。
さらなる効果や変形例は、当業者によって容易に導き出すことができる。このため、本発明のより広範な様態は、以上のように表しかつ記述した特定の詳細および代表的な実施形態に限定されるものではない。したがって、添付の特許請求の範囲および、その均等物によって定義される統括的な発明の概念の精神または範囲から逸脱することなく、様々な変化が可能である。