以下、本発明の好適な実施形態について、図面を用いて詳細に説明する。なお、以下に説明する実施形態は、特許請求の範囲に記載された本発明の内容を限定するものではない。また、以下で説明される構成の全てが本発明の必須構成要件であるとは限らない。
図1は、車両検出装置2を搭載する自車両1(車両)の構成を示す図である。
自車両1は、車両検出装置2を搭載する車両である。以下の説明では、自車両1と異なる他の車両を「他車両」という。
自車両1は、運転者を含む乗員が搭乗し、運転者が運転可能な車両である。自車両1は、運転者が運転に関する操作を行うことで走行する手動運転が可能な車両でもよいし、運転者が運転に関する操作を行うことなく自動的に走行する自動運転が可能な車両でもよい。また、自車両1は、例えばエンジン駆動の四輪車両や、モーター駆動式の電動車両、モーター及びエンジンを搭載したハイブリット車両等の車両である。なお、自車両1は、四輪車両以外の車両でもよい。
車両検出装置2は、自車両1の進行方向と逆の方向に走行する他車両(以下、「対向車両」という。)を検出する装置である。車両検出装置2は、専用装置でもよく、ナビゲーション機能を有するナビゲーション装置の機能の一部として構成されてもよい。
車両検出装置2は、制御部20と、記憶部21とを備える。
制御部20は、ハードウェアとしてCPU、ROM、RAM及びその他の周辺回路(いずれも不図示)を備え、車両検出装置2の各部を制御する。CPUは、演算処理を実行するプロセッサーであり、ROMやRAM等により構成される記憶部21が記憶する制御プログラム21Aに従って演算処理を実行する。ROMは、不揮発性のメモリーであり、例えば、制御プログラム21Aや演算データを記憶する。RAMは、プロセッサーが実行する制御プログラム21Aや演算データを一時記憶するワークエリアとして使用される。
制御部20は、機能ブロックとして、車両検出部200、領域設定部201、及び判定部202を備える。制御部20の各機能ブロックは、CPUが制御プログラム21Aに従って演算処理を実行することで実現される機能をブロックとして便宜的に示したものであり、特定のアプリケーションソフトウェアやハードウェアを示すものではない。各機能ブロックについては、後述する。
記憶部21は、ROMやRAM等により構成され、各種データを書き換え可能に記憶する。記憶部21は、上記の制御プログラム21Aを記憶する。
車両検出装置2には、GPS受信部3、車速センサー4、相対方位検出部5、記憶装置6、タッチパネル7、及びカメラインターフェース8が接続する。
GPS受信部3は、GPSアンテナ3aを介してGPS衛星から送信されるGPS信号を周期的に受信する。そして、GPS受信部3は、受信したGPS信号に基づいて、自車両1とGPS衛星間の距離及び距離の変化率を所定数以上の衛星に対して測定することにより、自車両1の現在位置(緯度、経度)を算出する。GPS受信部3は、自車両1の現在位置を示す現在位置情報を車両検出装置2に出力する。また、GPS受信部3は、自車両1の進行方向の方角(以下、「方位」という)を算出し、自車両1の方位を示す方位情報を車両検出装置2に出力する。
車速センサー4は、車軸の単位時間当たりの回転数を検出し、検出した回転数に基づいて自車両1の車速を周期的に取得する。車速センサー4は、検出した自車両1の車速を示す車速情報を車両検出装置2に出力する。
相対方位検出部5は、加速度センサー51と、ジャイロセンサー52とを備える。加速度センサー51は、自車両1に作用する加速度(例えば、進行方向に対する自車両1の傾き)を検出する。ジャイロセンサー52は、例えば振動ジャイロにより構成され、自車両1の相対的な方位(例えば、ヨー軸方向の旋回量)を検出する。相対方位検出部5は、検出結果を車両検出装置2に出力する。
記憶装置6は、ハードディスクや、EEPROM、SSD等の不揮発性メモリーを備え、データを書き換え可能に記憶する。記憶装置6は、地図データ61を記憶する。
地図データ61は、道路地図情報や、各種施設等の施設情報、マップマッチング用のデータ等を格納するデータである。道路地図情報は、地図上の道路を線で表現した道路ネットワークからなり、交差点や分岐点等をノードとして複数の部分に分割し、各ノード間の部分をリンクとして規定したリンク情報を含む。
タッチパネル7は、各種情報を表示する表示パネル71、及び、この表示パネル71に重ねて、或いは一体に設けられたタッチセンサー72により構成される。
カメラインターフェース8は、車両検出装置2の制御で、自車両1に設けられる前方カメラ80と通信する。前方カメラ80は、車外であって、自車両1の前方を撮影するカメラである。なお、自車両1の前方とは、自車両1の進行方向であり、また、運転席に着座している運転者から見て自車両1のフロントガラスに向かう方向でもある。前方カメラ80は、例えば自車両1において前方の位置に設けられており、所定の周期で撮影を実行し、撮影結果に基づいて撮影画像データを生成する。そして、前方カメラ80は、生成した撮影画像データを、カメラインターフェース8を介して車両検出装置2に出力する。
なお、自車両1には、前方カメラ80の他に前方カメラ80の撮影方向と異なる方向を撮影するカメラが複数台設けられており、カメラインターフェース8は、これらカメラと通信する構成でもよい。
ところで、例えば対向車線TS(図3参照)では、ある対向車両300(図3等参照)に後続して、1又は複数の他の対向車両300が走行している場合がある。そのため、自車両1が左側通行の交差点で右折する場合や、対向車線TS側にある施設に進入する場合等においては、自車両1の安全性を確保するために、ある対向車両300の有無の判断に加えて、ある対向車両300に後続する他の対向車両300の有無の判断も必要となることが想定される。しかし、夜間等の自車両1の周囲が暗い状況では、対向車両300のシルエットが視認し難い。そのため、このような状況では、ある対向車両300に後続する対向車両300の一部がある対向車両300に隠れてしまうと、この後続する対向車両300が存在するのか否かの判断が自車両1からでは難しい。
そこで、本実施形態の車両検出装置2は、以上の構成の下、以下の動作を実行することによって、夜間等の自車両1の周囲が暗い状況において、ある対向車両300に後続する対向車両300を的確に検出できる。
以下、制御部20の機能ブロックである車両検出部200、領域設定部201、及び判定部202の説明を通して、車両検出装置2の動作について説明する。
以下の説明では、少なくとも撮影画像SGにおいて、何れの対向車両300に後続していない対向車両300を、先頭対向車両300(第1の対向車両)と表現する。また、以下の説明では、先頭対向車両300に後続する対向車両300を、後続対向車両300(第2の対向車両)と表現する。なお、以下の説明で表現する「後続対向車両300に後続する後続対向車両300」とは、「後続している後続対向車両300を介して先頭対向車両300に後続する後続対向車両300」を意味する。
図2は、車両検出装置2の動作を示すフローチャートである。
図2の説明では、前方カメラ80から所定の周期で撮影画像SGを示す撮影画像データSGD(図3等参照)が入力され、制御部20の各機能ブロックが入力された撮影画像データSGDに対して対応する処理を実行しているものとする。なお、本実施形態では、撮影画像データSGDに対する処理は、撮影画像データSGDが示す撮影画像SGに対する処理に相当する。
また、図2の説明では、自車両1が夜間等の暗い状況に居ることを前提とする。
車両検出装置2の制御部20の車両検出部200は、先頭対向車両300を検出する先頭検出処理を実行する(ステップS1)。次いで、車両検出部200は、先頭検出処理で先頭対向車両300を検出できたか否かを判別する(ステップS2)。
車両検出部200は、先頭検出処理において、所定の周期で入力される撮影画像データSGDが示す撮影画像SGから先頭対向車両300を検出する。
ここで、ステップS1について詳述する。ステップS1の処理において、車両検出部200は、撮影画像データSGDが入力されるたびに、撮影画像データSGDを所定の座標系が定義された所定の記憶領域に展開して、展開した撮影画像データSGDが示す撮影画像SGから先頭対向車両300の検出を行う。なお、所定の記録領域としては、例えば、車両検出装置2が備えるRAM等が挙げられる。
図3は、所定の記憶領域に展開された撮影画像データSGDの一例を示す図である。
図3の撮影画像データSGDが示す撮影画像SGは、前方カメラ80が撮影した画像であって、自車両1が走行している車線である自車線JSと、対向車両300が走行する車線である対向車線TSとが写っている。なお、図3の撮影画像データSGDが示す撮影画像SGにおいて、自車線JSと対向車線TSとが途中で途切れているように図示されているが、これは、実際に両車線が途切れていること示しているのではなく、自車両1の周囲の明るさの関係で撮影画像SGから認識可能な両車線の奥行の範囲を示している。また、図3の撮影画像データSGDが示す撮影画像SGは、対向車線TSを走行する先頭対向車両300aが写っている。なお、図3において先頭対向車両300aが点線で図示されているのは、自車両1の周囲の明るさの関係で先頭対向車両300aのシルエットが撮影画像SGから視認し難いことを便宜的に示している。
まず、車両検出部200は、展開した撮影画像データSGDに基づいて、撮影画像SGを構成する画素の輝度値が所定値より高い領域である高輝度領域KDを、撮影画像SGから特定する。ここでの所定値は、特定した高輝度領域KDがライト等の光源と対応するように、事前のテストやシミュレーション等によって予め定められている。また、高輝度領域KDの範囲についても、所定値と同様の観点で、事前のテストやシミュレーション等によって予め定められている。図3の撮影画像データSGDが示す撮影画像SGの場合、車両検出部200は、高輝度領域KD1、KD2の2つの高輝度領域KDを撮影画像SGから特定する。
なお、車両検出部200は、撮影画像SGから複数の高輝度領域KDを特定できなかった場合、1の撮影画像SGに先頭対向車両300が写っていないと判定する。そして、車両検出部200は、先頭検出処理において先頭対向車両300を検出できなかったと判別し(ステップS2:NO)、ステップS2で否定判定に用いられた撮影画像データSGDの次に入力される撮影画像データSGDに基づいて、再度ステップS1の処理を実行する。
次いで、車両検出部200は、特定した高輝度領域KD同士の撮影画像SGにおける離間距離を算出し、算出した離間距離が所定範囲内であるか否かを判別する。ここでの所定範囲は、対向車両300のヘッドライトの離間距離に相当するように、事前のテストやシミュレーション等によって予め定められている。図3の場合、車両検出部200は、高輝度領域KD1、KD2の撮影画像SGにおける離間距離を算出し、算出した離間距離が所定範囲内か否かを判定する。なお、車両検出部200は、撮影画像データSGDが所定の座標系に展開されているため、座標に基づくことによって高輝度領域KD1、KD2の撮影画像SGにおける離間距離を容易に算出できる。
車両検出部200は、高輝度領域KD同士の離間距離が所定範囲内でないと判定した場合、1の撮影画像SGに先頭対向車両300が写っていないと判定する。そして、車両検出部200は、先頭検出処理において先頭対向車両300を検出できなかったと判別し(ステップS2:NO)、ステップS2で否定判定に用いられた撮影画像データSGDの次に入力される撮影画像データSGDに基づいて、再度ステップS1の処理を実行する。
一方で、車両検出部200は、高輝度領域KD同士の離間距離が所定範囲内であると判定した場合、この判定がされた2つの高輝度領域KDが、X(+)方向と略同じ方向に並んでいるか否かを判定する。図3の場合、例えば、車両検出部200は、高輝度領域KD1内のある点と高輝度領域KD2内のある点とを結んだ線の傾きが、X(+)方向に対して所定範囲内の傾きか否かを判定する。ここでの所定範囲は、X(+)方向と略同じ方向とされる範囲であって、事前のテストやシミュレーション等によって定められている。そして、車両検出部200は、この線の傾きが所定範囲内であると判定した場合、高輝度領域KD1、KD2がX(+)方向に略同じ方向に並んでいると判定する。
車両検出部200は、離間距離が所定範囲内であると判定した2つの高輝度領域KDがX(+)方向と略同じ方向に並んでいないと判定した場合、1の撮影画像SGに先頭対向車両300が写っていないと判定する。そして、車両検出部200は、先頭検出処理において先頭対向車両300を検出できなかったと判別し(ステップS2:NO)、ステップS2で否定判別に用いられた撮影画像データSGDの次に入力される撮影画像データSGDに基づいて、再度ステップS1の処理を実行する。
一方で、車両検出部200は、離間距離が所定範囲内であると判定した2つの高輝度領域KDがX(+)方向に略同じ方向に並んでいると判定した場合、この2つの高輝度領域KDのそれぞれが先頭対向車両300のヘッドライトのそれぞれに対応すると判定する。そして、車両検出部200は、撮影画像SGに先頭対向車両300に写っていると判定する。図3の場合、車両検出部200は、高輝度領域KD1、KD2のそれぞれが先頭対向車両300のヘッドライトのそれぞれに対応すると判定し、撮影画像SGに先頭対向車両300aが写っていると判定する。
車両検出部200は、先頭検出処理において撮影画像SGに先頭対向車両300が写っていると判定すると、ステップS2において先頭対向車両300を検出できたと判別し(ステップS2:YES)、ステップS3の処理を実行する。
なお、上述した先頭対向車両300の検出方法は、あくまで一例であって、高輝度領域KDを利用して撮影画像SGに先頭対向車両300が写っているか否かに基づいて検出する方法であればいずれの方法を採用できる。例えば、車両検出部200は、GPS受信部3、車速センサー4、及び相対方位検出部5から入力される情報や、記憶装置6が記憶する地図データ61等に基づいて、撮影画像SGから対向車線TSを特定する。そして、車両検出部200は、対向車線TS付近にある2つの高輝度領域KDのそれぞれが、先頭対向車両300のヘッドライトのそれぞれに対応すると判定する。
図2の説明に戻り、車両検出部200が先頭検出処理において先頭対向車両300を検出できたと判別した場合(ステップS2:YES)、制御部20の領域設定部201は、撮影画像SGに非検出領域HKA(第1の領域)を設定する(ステップS3)。非検出領域HKAは、後続対向車両300の検出に用いない撮影画像SGの領域である。
ここで、ステップS3について詳述する。ステップS3の処理において、領域設定部201は、撮影画像データSGDを所定の座標系が定義された所定の記憶領域に展開し、展開した撮影画像データSGDに対して非検出領域HKAを設定する。これにより、領域設定部201は、撮影画像SGに非検出領域HKAを設定する。
図4は、所定の記憶領域に展開された撮影画像データSGDの一例を示す図である。
図4の撮影画像データSGDが示す撮影画像SGは、図3の撮影画像データSGDが示す撮影画像SGと同じである。
領域設定部201は、先頭対向車両300が撮影画像SGに写っていると判定した際に特定された2つの高輝度領域KDを基準として、先頭対向車両300を含む矩形の非検出領域HKAを撮影画像SGに設定する。図4の場合、領域設定部201は、先頭対向車両300aを含む非検出領域HKAを撮影画像SGに設定する。
例えば、領域設定部201は、高輝度領域KD1、KD2の撮影画像SGにおける離間距離に基づいて、非検出領域HKAの面積を決定する。この面積は、撮影画像SGにおいて、想定される先頭対向車両300aの領域を囲うために必要最小限の面積であることが好ましい。つまり、この面積は、撮影画像SGにおいて想定される先頭対向車両300a1台分の面積であることが好ましい。面積の決定に際し、領域設定部201は、所定のアルゴリズムにより算出してもよいし、2つの高輝度領域KDの離間距離に応じた上記面積を示す情報を格納するデータベースを参照してもよい。領域設定部201は、非検出領域HKAの面積を決定すると、高輝度領域KD1、KD2の位置を基準にして、高輝度領域KD1、KD2が非検出領域HKA内に位置するように、非検出領域HKAを撮影画像SGに設定する。これにより、領域設定部201は、先頭対向車両300aを含むように非検出領域HKAを設定する。
図2のフローチャートの説明に戻り、領域設定部201は、撮影画像SGに非検出領域HKAを設定すると、設定した非検出領域HKAに対して検出領域KA(第2の領域)を撮影画像SGにおいて設定する(ステップS4)。検出領域KAは、後続対向車両300の検出に用いる撮影画像SGの領域である。
領域設定部201は、非検出領域HKAの設定と同様に、撮影画像データSGDを所定の座標系が定義された所定の記憶領域に展開し、展開した撮影画像データSGDに対して検出領域KAを設定する。これにより、領域設定部201は、撮影画像SGに検出領域KAを設定する。
図4を参照して、検出領域KA、及び検出領域KAの設定について説明する。
領域設定部201は、非検出領域HKAに対して、左方向(所定の方向)に検出領域KA1を設定し、右方向(所定の方向)に検出領域KA2を設定する。なお、図4において、左右方向とは、長矩形の撮影画像SGの長手方向である。したがって、図4において右方向はX(+)方向であり、左方向はX(+)方向と逆の方向である。検出領域KA1、KA2のそれぞれは、矩形の領域であり、非検出領域HKAと接して左右方向に並んで設けられる。
検出領域KAの上下方向の範囲は、非検出領域HKAの上下方向の範囲と同じである。なお、図4において、上下方向とは、長矩形の撮影画像SGの短手方向である。したがって、図4において上方向はY(+)方向と逆の方向であり、下方向はY(+)方向である。
検出領域KAの左右方向の範囲は、非検出領域HKAの左右方向の端部を基準として、以下の式1を満たす範囲(所定範囲)に設定される。
α-β×0.8^N<0・・・(式1)
α:撮影画像SGの左右方向において、非検出領域HKA以外の高輝度領域KDの位置から非検出領域HKAまで離間距離。
β:非検出領域HKAの左右方向の長さ。
0.8^N:補正係数。
N:非検出領域HKAに対して検出領域KAを設定する回数。
つまり、検出領域KA1の左右方向の範囲は、非検出領域HKAの左右方向の長さに補正係数をかけた長さより短い範囲である。検出領域KA2についても同様である。
なお、ステップS4での検出領域KAの設定が初回であるとき、式1の補正係数は、「0.8^1」になる。図4に示す検出領域KA1、KA2のそれぞれは、非検出領域HKAに対して初回に設定された検出領域KAを示している。したがって、図4に示す検出領域KA1、KA2は、補正係数が「0.8^1」の式1を満たす左右方向の範囲を有している。なお、補正係数は、撮影画像SGの奥行方向において異なる上記式1の「α」と「β」とのレベルを、同レベルにするための係数であって、自車両1が位置する道路状況によっては「0.8^N」以外を採用してよい。
図2に示すフローチャートの説明に戻り、領域設定部201が検出領域KAを設定すると、制御部20の判定部202は、後続対向車両300を検出する後続検出処理を実行する(ステップS5)。次いで、判定部202は、後続検出処理で後続対向車両300を検出できたか否かを判別する(ステップS6)。
判定部202は、後続検出処理において、ステップS4において設定した検出領域KAに高輝度領域KDが有るか否かを判定することで、後続対向車両300を検出する。
ここで、ステップS5について詳述する。ステップS5の処理において、判定部202は、撮影画像データSGDが入力されるたびに、撮影画像データSGDを所定の座標系が定義された所定の記憶領域に展開して、展開した撮影画像データSGDが示す撮影画像SGから後続対向車両300の検出を行う。
図5は、所定の記憶領域に展開された撮影画像データSGDの一例を示す図である。
図5の撮影画像データSGDが示す撮影画像SGは、前方カメラ80が撮影した撮影画像であって、自車線JSと対向車線TSとが写っている。なお、図3の理由と同様に、図5の撮影画像SGでは、自車線JSと対向車線TSとが途中で途切れている。また、図5の撮影画像データSGDが示す撮影画像SGは、対向車線TSを走行する先頭対向車両300aと、先頭対向車両300aの直後を後続する後続対向車両300bとが写っている。なお、図5において先頭対向車両300a、及び後続対向車両300bが点線で図示されているのは、図3の理由と同じである。
判定部202は、後続検出処理において、検出領域KAに高輝度領域KDが有るか否かを監視する。監視中、前方カメラ80からは、所定の周期で撮影画像データSGDが入力される。そのため、判定部202は、監視中に撮影画像データSGDが入力される度に、先頭対向車両300aのヘッドライトに対応する高輝度領域KD1、KD2を追従する。そして、判定部202は、追従した高輝度領域KD1、KD2の撮影画像SGにおける位置に対応させて、領域設定部201が設定した非検出領域HKAと検出領域KAとの位置を異ならせていく。
判定部202は、検出領域KAに高輝度領域KDが有ると判定した場合、撮影画像SGに後続対向車両300が写っていると判定し、後続対向車両300を検出したと判別する(ステップS6)。図5の場合、検出領域KA1内には、高輝度領域KD3が有る。この場合、判定部202は、検出領域KA1に高輝度領域KD3が有ると判定し、撮影画像SGに後続対向車両300bが写っていると判定する。
このように、判定部202は、検出領域KAにおける高輝度領域KDの有無に応じて、後続対向車両300の有無を判定する。夜間等の自車両1の周囲が暗い状況では、後続対向車両300のヘッドライトが点灯している蓋然性が非常に高い。そのため、このような状況では、撮影画像SGから後続対向車両300のシルエットを明確に認識できなくとも、後続対向車両300のヘッドライトを明確に認識できる蓋然性が非常に高い。そこで、判定部202は、検出領域KAにおける高輝度領域KDの有無に応じて後続対向車両300が有るか否かを判定することで、撮影画像SGにおいて後続対向車両300の一部が先頭対向車両300に隠れていても、検出領域KAに高輝度領域KDが有れば的確に後続対向車両300を検出できる。また、後続検出処理において先頭対向車両300を含む非検出領域HKAでは高輝度領域KDの検出が行われないため、車両検出装置2は、先頭対向車両300を後続対向車両300として誤検出することがない。また、車両検出装置2は、後続対向車両300のヘッドライトから直接発せられる光を撮影画像SGから検出して、後続対向車両300の有無を判定するため、ヘッドライトから発せられた光を間接的に検出する場合(例えば、拡散光を検出する場合)と比較して検出可能な状況が限定されることがない。
また、上述したように、領域設定部201は、非検出領域HKAに対して、左右方向のそれぞれに検出領域KAを設定する。そして、判定部202は、いずれかの検出領域KAに高輝度領域KDが有った場合、撮影画像SGに後続対向車両300が写っていると判定する。このように、非検出領域HKAに対して左右方向のそれぞれに検出領域KAを設定し、それぞれで高輝度領域KDの有無を判定することで、以下に示す効果を奏する。
図3~図5で例示した道路は、進行方向の異なる2つの車線により構成され、左側通行の直線道路である。しかし、道路は、国によって右側通行であったり、カーブする道路であったりと、種々ある。そこで、非検出領域KAに対して、左右方向のそれぞれに検出領域KAを設定することで、車両検出装置2は、自車両1が走行する道路の種類に偏りなく、的確に後続対向車両300を検出できる。
図2のフローチャートの説明に戻り、判定部202は、後続検出処理において後続対向車両300を検出したと判別した場合(ステップS6:YES)、領域設定部201は、撮影画像SGに設定した非検出領域HKAを拡張する(ステップS7)。
ここで、ステップS7について詳述する。ステップS7の処理において、領域設定部201は、所定の記憶領域に展開された撮影画像データSGDに設定された非検出領域HKAを拡張する。これにより、領域設定部201は、撮影画像SGに設定した非検出領域HKAを拡張する。
図6は、所定の記憶領域に展開された撮影画像データSGDの一例を示す図である。
図6の撮影画像データSGDが示す撮影画像SGは、前方カメラ80が撮影した撮影画像であって、自車線JSと対向車線TSとが写っている。なお、図3の理由と同様に、図6の撮影画像SGでは、自車線JSと対向車線TSとが途中で途切れている。また、図6の撮影画像データSGDが示す撮影画像SGは、対向車線TSを走行する先頭対向車両300aと、先頭対向車両300aに後続する後続対向車両300bと、後続対向車両300bに後続する後続対向車両300cとが写っている。すなわち、図6の撮影画像データSGDが示す撮影画像SGは、先頭対向車両300a、後続対向車両300b、及び後続対向車両300cが奥行方向に列を成して写っている。なお、図6において先頭対向車両300a、及び後続対向車両300b、300cが点線で図示されているのは、図3の理由と同じである。
図6において、一点鎖線で示す非検出領域HKA1は、拡張前の非検出領域HKAである。また、実線で示す非検出領域HKA2は、拡張後の非検出領域HKAである。非検出領域HKA1と非検出領域HKA2とを比較して明らかな通り、拡張後の非検出領域HKA2は、先頭対向車両300aと、先頭対向車両300aに後続する後続対向車両300bのヘッドライトに対応する高輝度領域KD3とを含んでいる。
領域設定部201は、ステップS7において、ステップS5の後続検出処理において検出した後続対向車両300のヘッドライトに対応する高輝度領域KDを含むように、非検出領域HKAを拡張する。なお、拡張後の非検出領域HKAの面積は、撮影画像SGにおいて想定される、先頭対向車両300aと後続検出処理で検出した後続対向車両300との領域を囲うために必要最小限の面積であることが好ましい。つまり、図6の場合、この面積は、撮影画像SGにおいて想定される先頭対向車両300aと後続対向車両300bとの2台分の面積であることが好ましい。この面積は、所定の手段により適切に決定される。
図2のフローチャートの説明に戻り、領域設定部201は、非検出領域HKAを拡張すると、処理をステップS4に戻し、拡張した非検出領域HKAに対して撮影画像SGに検出領域KAを設定する(ステップS4)。
図6を参照して、拡張した非検出領域HKAに対する検出領域KAの設定について説明する。
領域設定部201は、非検出領域HKA2に対して、左方向に検出領域KA3を設定し、右方向に検出領域KA4を設定する。検出領域KA3、KA4のそれぞれは、矩形の領域であり、非検出領域KA1と接して左右方向に並んで設けられる。
検出領域KA3、KA4の上下方向の範囲は、非検出領域HKA1の上下方向の範囲と同じである。
検出領域KA3、KA4の左右方向の範囲は、非検出領域HKA1の左右方向の端部を基準として、上記の式1に基づく範囲に設定される。図6に示す検出領域KA3、KA4のそれぞれは、2回目のステップS4の処理で、非検出領域HKAに対して設定された検出領域KAを示している。したがって、図6に示す検出領域KA3、KA4は、補正係数が「0.8^2」の式1を満たす左右方向の範囲を有している。
図2に示すフローチャートの説明に戻り、領域設定部201が拡張した非検出領域HKAに検出領域KAを設定すると、判定部202は、設定した検出領域KAに基づいて後続検出処理を実行する(ステップS5)。
すなわち、ステップS5において、判定部202は、拡張した非検出領域HKAに設定した検出領域KAに高輝度領域KDが有るか否かを判定することで、後続対向車両300を検出する。図6の場合、検出領域KA3内には、高輝度領域KD4が有る。この場合、判定部202は、検出領域KA3に高輝度領域KD4が有ると判定し、撮影画像SGに後続対向車両300cが写っていると判定する。
図6の場合、判定部202は、後続対向車両300cを検出できたと判別すると、再度、ステップS7の処理を実行し、後続対向車両300cに後続する後続対向車両300の検出を行う。
このように、領域設定部201は、判定部202が後続対向車両300が有ると判定した場合、すなわち、後続検出処理で後続対向車両300を検出した場合、撮影画像SGに設定する非検出領域HKAを拡張し、拡張した非検出領域HKAに対して検出領域KA設定する。これにより、判定部202は、先頭対向車両300に複数の後続対向車両300が後続する場合でも、複数の後続対向車両300が有るか否かを判定できる。したがって、車両検出装置2は、先頭対向車両300に後続する複数の後続対向車両300を検出できる。特に、領域設定部201は、非検出領域HKAを拡張する際、検出した後続対向車両300のヘッドライトに対応する高輝度領域KDを含むように、非検出領域HKAを拡張する。これにより、判定部202は、先頭対向車両300に列を成して複数の後続対向車両300が後続する場合、後続対向車両300のそれぞれについて、有無を判定できる。したがって、車両検出装置2は、先頭対向車両300に列を成して複数の後続対向車両300が後続する場合、後続対向車両300を1台ずつ的確に検出できる。
図2に示すフローチャートの説明に戻り、後続検出処理において後続対向車両300を検出しないと判別した場合(ステップS6:NO)、判定部202は、後続検出処理を終了するか否かを判別する(ステップS8)。例えば、判定部202は、所定期間、いずれの検出領域KAに高輝度領域KDが無いと判定した場合、後続検出車両を終了すると判別する(ステップS8:YES)。
判定部202は、後続検出処理を終了しないと判別した場合(ステップS8:NO)、処理をステップS5に戻し、後続検出処理を継続する。一方で、判定部202は、後続検出処理を終了すると判別した場合(ステップS8:YES)、対向車両300の検出結果を確定する(ステップS9)。例えば、判定部202は、先頭検出処理、及び後続検出処理で、図6に示す先頭対向車両300a、後続対向車両300b、及び後続対向車両300cが有ると判定した場合、この3つの対向車両300を検出したと検出結果を確定する。
なお、車両検出装置2は、確定した検出結果を、少なくとも運転者を含む自車両1に搭乗する乗員に報知してもよい。報知態様は、自車両1が具備するタッチパネル7で表示してもよく、音声出力でもよい。これにより、少なくとも運転者を含む自車両1に搭乗する乗員は、報知された検出結果に基づいて、後続対向車両300の存在を認識できる。
以上、説明したように、車両検出装置2は、自車両1(車両)に搭載される。車両検出装置2は、自車両1の前方を撮影した撮影画像SGから、所定範囲内で離れて2つ並ぶ高輝度領域KDを検出することによって、先頭対向車両300(第1の対向車両)を検出する車両検出部200と、車両検出部200が検出した先頭対向車両300を含む非検出領域HKA(第1の領域)を撮影画像SGに設定し、設定した非検出領域HKAに対して左右方向(所定方向)に式1を満たす範囲(所定範囲)の検出領域KA(第2の領域)を撮影画像SGに設定する領域設定部201と、検出領域KAにおける高輝度領域KDの有無に応じて、後続対向車両300(第2の対向車両)の有無を判定する判定部202と、を備える。
この構成によれば、夜間等の自車両1の周囲が暗い状況で、撮影画像SGにおいて後続対向車両300の一部が先頭対向車両300に隠れていても、検出領域KAに後続対向車両300のヘッドライトに対応する高輝度領域KDが有れば、車両検出装置2は、的確に後続対向車両300を検出できる。また、後続検出処理において先頭対向車両300を含む非検出領域HKAでは高輝度領域KDの検出が行われないため、車両検出装置2は、先頭対向車両300を後続対向車両300として誤検出することがない。また、車両検出装置2は、後続対向車両300のヘッドライトから直接発せられる光を撮影画像SGから検出して、後続対向車両300の有無を検出するため、ヘッドライトから発せられた光を間接的に検出する場合と比較して検出可能な状況が限定されることがない。
また、領域設定部201は、判定部202が後続対向車両300が有ると判定した場合、撮影画像SGに設定する非検出領域HKAを拡張し、拡張した非検出領域HKAに対して検出領域KAを設定する。
この構成によれば、先頭対向車両300に複数の後続対向車両300が後続する場合でも、複数の後続対向車両300の有無を判定できる。したがって、車両検出装置2は、検出した後続対向車両300に後続する後続対向車両300を検出できる。
また、領域設定部201は、先頭対向車両300、及び後続検出処理で検出された後続対向車両300(判定部202が有ると判定した後続対向車両300)を示す高輝度領域KDを含むように非検出領域HKAを拡張する。
この構成によれば、判定部202は、列を成して後続対向車両300に後続する後続対向車両300が有るか否かを判定できる。したがって、車両検出装置2は、先頭対向車両300に列を成して後続する複数の後続対向車両300を1台ずつ的確に検出できる。また、車両検出装置2は、非検出領域HKAが後続検出処理で検出された後続対向車両300を示す高輝度領域KDを含むため、一度検出した後続対向車両300を再度の後続検出処理で検出することがない。したがって、車両検出装置2は、先頭対向車両300に列を成して後続する複数の後続対向車両300を1台ずつ精度よく検出できる。
また、領域設定部201は、非検出領域HKAに対して左右方向のそれぞれに、検出領域KAを設定する。判定部202は、検出領域KAのそれぞれに基づいて、後続対向車両300の有無を判定する。
前述した通り、道路は、国によって右側通行であったり、カーブする道路であったりと、種々ある。そこで、非検出領域HKAに対して、左右方向のそれぞれに検出領域KAを設定し判定を行うことで、車両検出装置2は、自車両1が走行する道路の種類に偏りなく、的確に後続対向車両300を検出できる。
上述した実施形態は、あくまでも本発明の一態様を例示するものであって、本発明の趣旨を逸脱しない範囲で任意に変形、及び、応用が可能である。
例えば、上述した実施形態では、式1を満たす範囲を有する検出領域KAを撮影画像SGに設定し、検出領域KAに高輝度領域KDが有るか否かを判定する構成を説明した。しかしながら、車両検出装置2は、検出領域KAを設定せず、非検出領域HKA以外の高輝度領域KDについて、上記式1を満たすか否かを判定する構成でもよい。この構成でも、上述した効果と同様の効果を奏する。
また、例えば、上述した車両検出装置2による対向車両300を検出する方法(車両検出方法)が、車両検出装置2が備えるコンピューターを用いて実現される場合、本発明を、上記通信方法を実現するためにコンピューターが実行するプログラム、このプログラムを前記コンピューターで読み取り可能に記録した記録媒体、或いは、このプログラムを伝送する伝送媒体の態様で構成することも可能である。
また、例えば、本実施形態は、制御部20が一つのプロセッサー(CPU)を備え、このプロセッサーが制御プログラムに従った処理を実行することで制御部20の機能を実現するが、複数のプロセッサー又は半導体チップにより制御部20の機能を実現してもよい。例えば、制御部20が、SoC(System-on-a-Chip)やMCU(Micro Control Unit)、FPGA(Field-Programmable Gate Array)等の副処理装置(co-processor)をさらに備える構成であってもよい。また、制御部20は、CPU及び副処理装置の双方を協働させるか、あるいは双方のうちの一方を選択的に用いて各種の制御を行ってもよい。
また、例えば、図1は、本願発明を理解容易にするために、車両検出装置2、及び自車両1の構成を主な処理内容に応じて分類して示した概略図であり、車両検出装置2、及び自車両1の構成は、処理内容に応じて、さらに多くの構成要素に分類することもできる。また、1つの構成要素がさらに多くの処理を実行するように分類することもできる。
また、例えば、図2のフローチャートの処理単位は、車両検出装置2の処理を理解容易にするために、主な処理内容に応じて分割したものであり、処理単位の分割の仕方や名称によって、本発明が限定されることはない。車両検出装置2の処理は、処理内容に応じて、さらに多くの処理単位に分割してもよい。また、1つの処理単位がさらに多くの処理を含むように分割してもよい。
また、例えば、上述した実施形態では、車両検出装置2を、自車両1に搭載される車載装置として例示したが、車両検出装置2の形態は任意であり、例えば歩行者が携帯するポータブル型の装置でも良い。