以下に添付図面を参照しながら、本発明の好適な実施形態について詳細に説明する。かかる実施形態に示す寸法、材料、その他具体的な数値などは、発明の理解を容易とするための例示にすぎず、特に断る場合を除き、本発明を限定するものではない。なお、本明細書および図面において、実質的に同一の機能、構成を有する要素については、同一の符号を付することにより重複説明を省略し、また本発明に直接関係のない要素は図示を省略する。
近年では、車両に搭載した車載カメラによって自車両の前方の道路環境を撮像し、撮像した画像内における色情報や位置情報に基づいて先行車両等の対象物を特定し、特定された対象物との衝突を回避したり、先行車両との車間距離を安全な距離に保つ(ACC:Adaptive Cruise Control)、所謂衝突防止機能を搭載した車両が普及しつつある。
かかるACCや衝突防止機能では、例えば、自車両前方に位置する対象物の、自車両との相対距離を導出し、かかる相対距離に基づいて、自車両の前方に位置する対象物との衝突を回避したり、対象物が車両(先行車両)であった場合、その先行車両との相対距離を安全な距離に保つように制御する。また、先行車両のブレーキランプの点灯有無等を認識し、先行車両の減速動作を推測する処理を組み込むことで、より円滑なクルーズコントロールを実現することが可能となる。以下、このような目的を達成するための環境認識システムを説明し、その具体的な構成要素である車外環境認識装置を詳述する。
(環境認識システム100)
図1は、環境認識システム100の接続関係を示したブロック図である。環境認識システム100は、自車両1内に設けられた、撮像装置110と、車外環境認識装置120と、車両制御装置(ECU:Engine Control Unit)130とを含んで構成される。
撮像装置110は、CCD(Charge-Coupled Device)やCMOS(Complementary Metal-Oxide Semiconductor)等の撮像素子を含んで構成され、自車両1の前方に相当する環境を撮像し、カラー値で表されるカラー画像を生成することができる。ここで、カラー値は、1つの輝度(Y)と2つの色差(UV)からなる、または、3つの色相(R(赤)、G(緑)、B(青))からなる数値群である。
また、撮像装置110は、自車両1の進行方向側において2つの撮像装置110それぞれの光軸が略平行になるように、略水平方向に離隔して配置される。撮像装置110は、自車両1の前方の検出領域に存在する対象物を撮像した画像データを、例えば1/60秒のフレーム毎(60fps)に連続して生成する。ここで、認識する対象物は、車両、歩行者、信号機、道路(進行路)、ガードレール、建物といった独立して存在する立体物のみならず、ブレーキランプ、ハイマウントストップランプ、テールランプ、ウィンカー、信号機の各点灯部分等、立体物の一部として特定できる物も含む。以下の実施形態における各機能部は、このような画像データの更新を契機としてフレーム毎に各処理を遂行する。
さらに、本実施形態において、撮像装置110は、車外環境の明るさ(照度計の計測結果等)に応じた露光時間や絞りを示す第1露光態様で検出領域を撮像し、第1画像を生成する。また、撮像装置110は、ブレーキランプ等、特定の発光源が自発光しているか否かを判別可能な画像を生成する。その方法としては、ダイナミックレンジが広い撮像素子を用い、発光していない対象物が黒く潰れず、発光源が白とびしないように撮像してもよいし、第1露光態様とは露光態様(露光時間、絞り)が異なる第2露光態様で検出領域を撮像し、第2画像を生成してもよい。例えば、昼間であれば、明るい車外環境に応じた第1露光態様の露光時間より第2露光態様の露光時間を短くして、または、絞りを強くして第2画像を生成する。本実施形態において、第1画像および第2画像はそれぞれカラー画像および距離画像として用いられる。また、上記第1露光態様と第2露光態様とは、以下のようにして実現される。
例えば、撮像装置110の周期的な撮像タイミングを時分割し、第1露光態様による撮像と第2露光態様による撮像とを交互に行うことで、第1画像と第2画像とを順次生成することができる。また、画素毎に2つのキャパシタが設けられ、その2つのキャパシタに並行して電荷をチャージできる撮像素子において、一度の露光でチャージする時間を異ならせて露光態様の異なる2つの画像を並行して生成することもできる。さらに、1つのキャパシタの電荷のチャージ中に、時間を異ならせて2回読み出し、露光態様の異なる2つの画像を並行して生成したりすることでも上記の目的を達成できる。また、撮像装置110を、露光態様を異ならせて予め2セット準備しておき(ここでは、2つの撮像装置110×2セット)、2セットの撮像装置110からそれぞれ画像を生成したりすることも可能である。露光態様を支配する露光時間は、例えば1〜60msecの範囲で適切に制御される。
車外環境認識装置120は、2つの撮像装置110それぞれから画像データを取得し、一方の画像データから任意に抽出したブロック(例えば水平4画素×垂直4画素の配列)に対応するブロックを他方の画像データから検索する、所謂パターンマッチングを用いて視差、および、任意のブロックの画面内の位置を示す画面位置を含む視差情報を導出する。ここで、水平は、撮像した画像の画面横方向を示し、垂直は、撮像した画像の画面縦方向を示す。このパターンマッチングとしては、一対の画像間において、任意のブロック単位で輝度(Y)を比較することが考えられる。例えば、輝度値の差分をとるSAD(Sum of Absolute Difference)、差分を2乗して用いるSSD(Sum of Squared intensity Difference)や、各画素の輝度から平均値を引いた分散値の類似度をとるNCC(Normalized Cross Correlation)等の手法がある。車外環境認識装置120は、このようなブロック単位の視差導出処理を検出領域(例えば600画素×200画素)に映し出されている全てのブロックについて行う。ここでは、ブロックを4画素×4画素としているが、ブロック内の画素数は任意に設定することができる。
ただし、車外環境認識装置120では、検出分解能単位であるブロック毎に視差を導出することはできるが、そのブロックがどのような対象物の一部であるかを認識できない。したがって、視差情報は、対象物単位ではなく、検出領域における検出分解能単位(例えばブロック単位)で独立して導出されることとなる。ここでは、このようにして導出された視差情報を画像データに対応付けた画像を、上述したカラー画像と区別して距離画像という。
図2は、カラー画像126と距離画像128を説明するための説明図である。例えば、2つの撮像装置110を通じ、検出領域124について図2(a)のようなカラー画像(画像データ)126が生成されたとする。ただし、ここでは、理解を容易にするため、2つのカラー画像126の一方のみを模式的に示している。車外環境認識装置120は、このようなカラー画像126からブロック毎の視差を求め、図2(b)のような距離画像128を形成する。距離画像128における各ブロックには、そのブロックの視差が関連付けられている。ここでは、説明の便宜上、視差が導出されたブロックを黒のドットで表している。本実施形態では、このようなカラー画像126と距離画像128とを第1画像および第2画像それぞれに基づいて生成している。したがって、本実施形態では、第1画像に基づくカラー画像126、第1画像に基づく距離画像128、第2画像に基づくカラー画像126、第2画像に基づく距離画像128が用いられる。
また、車外環境認識装置120は、カラー画像126に基づくカラー値、および、距離画像128に基づく自車両1との相対距離を含む実空間における3次元の位置情報を用い、カラー値が等しく3次元の位置情報が近いブロック同士を対象物としてグループ化して、自車両1前方の検出領域における対象物がいずれの特定物(例えば、先行車両)に対応するかを特定する。例えば、相対距離等によって先行車両を特定し、さらに、カラー値によってその先行車両のブレーキランプの点灯有無を正確に把握することができる。このような処理により、ブレーキランプの点灯有無による当該車両の減速を迅速に把握し、衝突回避制御やACCに利用することが可能となる。
なお、上記相対距離は、距離画像128におけるブロック毎の視差情報を、所謂ステレオ法を用いて三次元の位置情報に変換することで求められる。ここで、ステレオ法は、三角測量法を用いることで、対象物の視差からその対象物の撮像装置110に対する相対距離を導出する方法である。
車外環境認識装置120は、対象物を任意の特定物、例えば、先行車両を特定すると、その先行車両を追跡しつつ、先行車両の相対速度等を導出し、先行車両と自車両1とが衝突する可能性が高いか否かの判定を行う。このとき、先行車両のブレーキランプを特定していれば、そのブレーキランプの点灯により先行車両の減速を認識できる。ここで、先行車両と衝突の可能性が高いと判定した場合、車外環境認識装置120は、その旨、運転者の前方に設置されたディスプレイ122を通じて運転者に警告表示(報知)を行うとともに、車両制御装置130に対して、その旨を示す情報を出力する。
車両制御装置130は、ステアリングホイール132、アクセルペダル134、ブレーキペダル136を通じて運転者の操作入力を受け付け、操舵機構142、駆動機構144、制動機構146に伝達することで自車両1を制御する。また、車両制御装置130は、車外環境認識装置120の指示に従い、駆動機構144、制動機構146を制御する。
以下、車外環境認識装置120の構成について詳述する。ここでは、本実施形態に特徴的な、先行車両やブレーキランプの特定処理について詳細に説明し、本実施形態の特徴と無関係の構成については説明を省略する。
(車外環境認識装置120)
図3は、車外環境認識装置120の概略的な機能を示した機能ブロック図である。図3に示すように、車外環境認識装置120は、I/F部150と、データ保持部152と、中央制御部154とを含んで構成される。
I/F部150は、撮像装置110や車両制御装置130との双方向の情報交換を行うためのインターフェースである。データ保持部152は、RAM、フラッシュメモリ、HDD等で構成され、特定物テーブルや、以下に示す各機能部の処理に必要な様々な情報を保持し、また、撮像装置110から受信した画像データ(第1画像および第2画像に基づくカラー画像126、距離画像128)を一時的に保持する。ここで、特定物テーブルは、以下のように定義される。
図4は、特定物テーブル200を説明するための説明図である。特定物テーブル200では、複数の特定物に対して、カラー値(ここではR、G、B)の範囲を示すカラー範囲202と、道路表面からの高さの範囲を示す高さ範囲204と、特定物の水平距離の幅範囲206と、特定物の垂直距離の幅範囲208と、同一特定物との水平距離の差分210と、同一特定物との垂直距離の差分212と、同一特定物との面積比214とが対応付けられている。ここで、特定物としては、「ブレーキランプ(赤)」、「ハイマウントストップランプ(赤)」、「テールランプ(赤)」、「ウィンカー(橙)」等、車両を特定する際に要する様々な物が想定されている。ただし、特定物は図4に記載された物に限定されないのは言うまでもない。特定物のうち、例えば、特定物「ブレーキランプ(赤)」には、カラー範囲(R)「200以上」、カラー範囲(G)「50以下」、カラー範囲(B)「50以下」、高さ範囲「0.3〜2.0m」、水平距離の幅範囲「0.05〜0.2m」、垂直距離の幅範囲「0.05〜0.2m」、水平距離の差分「1.4〜1.9m」、垂直距離の差分「0.3m以下」、面積比「50〜200%」が対応付けられている。
中央制御部154は、中央処理装置(CPU)、プログラム等が格納されたROM、ワークエリアとしてのRAM等を含む半導体集積回路で構成され、システムバス156を通じて、I/F部150、データ保持部152等を制御する。また、本実施形態において、中央制御部154は、画像取得部160、位置情報導出部162、対象物特定部164、位置対応付け部166、配置判定部168、時間推移導出部170、時間推移抽出部172、カラー変化判定部174、面積閾値導出部176としても機能する。以下、本実施形態に特徴的な車外環境認識処理について詳述する。
(車外環境認識処理)
図5は、車外環境認識処理を示すフローチャートである。車外環境認識装置120の画像取得部160は、撮像装置110から、車外環境の明るさに応じた第1露光態様で検出領域124を撮像した第1画像と、第1露光態様と露光態様が異なる第2露光態様で検出領域124を撮像した第2画像とを取得する(S300)。
続いて、位置情報導出部162は、第1画像に基づく距離画像128における検出領域124内のブロック毎の視差情報を、上述したステレオ法を用いて、水平距離x、(道路表面からの)高さyおよび相対距離zを含む三次元の位置情報に変換する(S302)。ここで、視差情報が、距離画像128における各ブロックの視差を示すのに対し、三次元の位置情報は、実空間における各ブロックの相対距離の情報を示す。また、視差情報が画素単位ではなくブロック単位、即ち複数の画素単位で導出されている場合、その視差情報はブロックに属する全ての画素の視差情報とみなして、画素単位の計算を実行することができる。かかる三次元の位置情報への変換については、特開2013−109391号公報等、既存の技術を参照できるので、ここでは、その詳細な説明を省略する。
次に、対象物特定部164は、第1画像および第2画像に基づいて、画像内の対象物がいずれの特定物に対応するか特定する。本実施形態において、対象物特定部164は、特に、先行する車両(先行車両)と、ブレーキランプ(発光源)とを特定する。したがって、以下では、対象物特定部164のうち、先行車両を特定する機能部を車両特定部164aとし、ブレーキランプを特定する機能部をブレーキランプ特定部164bとして説明する。また、対象物特定部164(車両特定部164a、ブレーキランプ特定部164b)は、特定物が特定された対象物を追跡(追尾)し、その対象物の自車両1に対する相対距離、相対速度、相対加速度、および、自車両1の走行状態を加味した先行車両の絶対速度、絶対加速度も検出する。
図6および図7は、車両特定部164aの処理を説明するための説明図である。車両特定部164aは、まず、第1画像に基づく距離画像128の検出領域124を、水平方向に対して複数の分割領域216に分割する(S304)。すると、分割領域216は図6(a)のような短冊形状になる。このような短冊形状の分割領域216は、本来、例えば、水平幅4画素のものが150列配列してなるが、ここでは、説明の便宜上、検出領域124を16等分したもので説明する。
続いて、車両特定部164aは、分割領域216毎に、位置情報に基づき、道路表面より上方に位置する全てのブロックを対象に、複数に区分した所定距離それぞれに含まれる相対距離を積算してヒストグラム(図6(b)中、横長の四角(バー)で示す)を生成する(S306)。すると、図6(b)のような距離分布218が得られる。ここで、縦方向は、区分した所定距離を、横方向は、区分した所定距離それぞれに相対距離が含まれるブロックの個数を示している。ただし、図6(b)は計算を行う上での仮想的な画面であり、実際には視覚的な画面の生成を伴わない。そして、車両特定部164aは、このようにして導出された距離分布218を参照し、ピークに相当する相対距離である代表距離(図6(b)中、黒で塗りつぶした四角で示す)220を特定する(S308)。ここで、ピークに相当するとは、ピーク値またはピーク近傍で任意の条件を満たす値をいう。
次に、車両特定部164aは、隣接する分割領域216同士を比較し、図7に示すように、代表距離220が近接する(例えば、1m以下に位置する)分割領域216をグループ化して1または複数の分割領域群222を生成する(S310)。このとき、3以上の分割領域216で代表距離220が近接していた場合にも、連続する全ての分割領域216を分割領域群222として纏める。かかるグループ化によって、車両特定部164aは、道路表面より上方に位置する立体物を特定することができる。
続いて、車両特定部164aは、分割領域群222内における、相対距離zが代表距離220に相当するブロックを基点として、そのブロックと、水平距離xの差分、高さyの差分および相対距離zの差分が予め定められた範囲(例えば0.1m)内にあるブロックとを、同一の特定物に対応すると仮定してグループ化する(S312)。こうして、仮想的なブロック群である対象物224が生成される。上記の範囲は実空間上の距離で表され、製造者や搭乗者によって任意の値に設定することができる。また、車両特定部164aは、グループ化により新たに追加されたブロックに関しても、そのブロックを基点として、水平距離xの差分、高さyの差分および相対距離zの差分が所定範囲内にあるブロックをさらにグループ化する。結果的に、同一の特定物と仮定可能なブロック全てがグループ化されることとなる。
また、ここでは、水平距離xの差分、高さyの差分および相対距離zの差分をそれぞれ独立して判定し、全てが所定範囲に含まれる場合のみ同一のグループとしているが、他の計算によることもできる。例えば、水平距離xの差分、高さyの差分および相対距離zの差分の二乗平均√((水平距離xの差分)2+(高さyの差分)2+(相対距離zの差分)2)が所定範囲に含まれる場合に同一のグループとしてもよい。かかる計算により、ブロック同士の実空間上の正確な距離を導出することができるので、グループ化精度を高めることができる。
次に、車両特定部164aは、グループ化した対象物224が、予め定められた車両に相当する所定の条件を満たしていれば、その対象物224を特定物「車両」として決定する(S314)。例えば、車両特定部164aは、グループ化された対象物224が道路上に位置する場合、その対象物224全体の大きさが、特定物「車両」の大きさに相当するか否か判定し、特定物「車両」の大きさに相当すると判定されれば、その対象物224を特定物「車両」と特定する。ここで、車両特定部164aは、特定物「車両」と特定された対象物224が画面上占有する矩形の領域を車両領域とする。
こうして、車外環境認識装置120では、第1画像としての距離画像128から、1または複数の対象物224を、特定物、例えば、車両(先行車両)として抽出することができ、その情報を様々な制御に用いることが可能となる。例えば、検出領域124内の任意の対象物224が車両であると特定されると、特定した車両(先行車両)を追跡し、相対距離や相対加速度を検出して、先行車両との衝突を回避したり、先行車両との車間距離を安全な距離に保つように制御することができる。このような先行車両の特定や先行車両の挙動をさらに迅速に把握するため、以下では、車両領域に存在する発光源をブレーキランプとみなし、その点灯有無を判定する。
続いて、ブレーキランプ特定部164bは、第2画像に基づくカラー画像126から、画素単位で3つの色相(R、G、B)のカラー値を取得する(S316)。このとき、検出領域124が例えば雨天や曇天であった場合、ブレーキランプ特定部164bは、本来のカラー値を取得できるようにホワイトバランスを調整してから取得してもよい。
ブレーキランプ特定部164bは、データ保持部152に保持された特定物テーブル200と、第2画像に基づくカラー画像126の各画素のカラー値とによって所定の発光源を仮に特定する(S318)。具体的に、ブレーキランプ特定部164bは、特定物テーブル200に登録されている特定物から、第2露光態様に対応付けられた特定の発光源(ここでは「ブレーキランプ」)を選択し、取得した1の画素のカラー値が、選択した特定物のカラー範囲202に含まれるか否か判定する。そして、対象となるカラー範囲202に含まれれば、その画素を当該特定物「ブレーキランプ」と仮定する。
上記第2画像は、上述したように特定の発光源、例えば、特定物「ブレーキランプ」が自発光しているか否かを判別可能な第2露光態様で撮像した画像である。ここで、特定物「ブレーキランプ」のように自発光するものは、太陽や街灯の明るさに拘わらず、高いカラー値を取得することができる。特に、特定物「ブレーキランプ」の明るさは法規で概ね規定されているので、所定の明るさしか露光できない露光態様(例えば、短時間の露光)で撮像することで、特定物「ブレーキランプ」に相当する画素のみを容易に抽出することが可能である。
図8は、第1露光態様による撮像と第2露光態様による撮像との違いを説明するための説明図である。図8(a)は、第1露光態様による第1画像を示し、特に、図8(a)の左図ではテールランプが点灯しており、図8(a)の右図ではブレーキランプが点灯している。図8(a)を参照して理解できるように、車外環境の明るさに応じた第1露光態様では、ブレーキランプ非点灯かつテールランプ点灯時のテールランプ位置230のカラー値と、ブレーキランプ点灯かつテールランプ点灯時のブレーキランプ位置232とでカラー値の差がほとんど生じない。これは、露光時間の長い第1露光態様では、テールランプもブレーキランプもRGB成分全てのカラー値がサチレーションしてしまうことに起因する。
図8(b)は、第2露光態様による第2画像を示し、特に、図8(b)の左図ではテールランプが点灯しており、図8(b)の右図ではテールランプに加えブレーキランプが点灯している。第2露光態様は、ブレーキランプが点灯しているときのカラー値のみを取得可能に設定されている。したがって、図8(b)を参照して理解できるように、テールランプが点灯していてもテールランプ位置230では、その明るさに準じるカラー値をほとんど取得できず、ブレーキランプ点灯時のブレーキランプ位置232では、明確に高いカラー値を取得できている。
かかる第2露光態様では、ブレーキランプのカラー値が撮像素子において、R成分がサチレーションするかしないかといった程度の露光時間に設定することが好ましい。撮像装置110は、通常、ダイナミックレンジが人間より大幅に狭いので、夕方くらいの明度の低さで第1露光態様により撮像すると、車外環境に対して相対的にブレーキランプのカラー値が高くなる。すると、R成分のみならず、R成分とオーバーラップしてG成分やB成分も最大値(例えばカラー値が255)にサチレーションし、画素が白くなってしまう。そこで、第2露光態様を、ブレーキランプ点灯時にR成分がサチレーションするかしないかといった程度の露光時間とすることで、外部の環境に拘わらず、G成分やB成分のカラー値を抑制しつつ、R成分のみを最大値で抽出する。こうして、例えば、テールランプとのカラー値差を最大限確保することが可能となる。
具体的に、夜間の走行時に先行車両が存在する場合に、テールランプが点灯している程度、例えば、カラー範囲(R)「50」、カラー範囲(G)「50」、カラー範囲(B)「50」程度では第2画像に表示されない。これに対して、ブレーキランプが点灯していると、図4の特定物テーブル200に示すように、カラー範囲202が、カラー範囲(R)「200以上」、カラー範囲(G)「50以下」、カラー範囲(B)「50以下」となり、第2露光態様で撮像したとしても、その位置が把握できる程度に第2画像に表示される。こうしてブレーキランプ特定部164bは、第2画像を通じて、ブレーキランプ等、所定の発光源のみを特定することが可能となる。また、ここでは、第2露光態様による露光時間を固定しているが、車外環境に応じて自発的にまたは搭乗者の操作に応じて調整されるとしてもよい。
また、ブレーキランプ特定部164bは、発光源候補とされた画素同士の水平距離xの差分、高さyの差分および相対距離zの差分が所定範囲(例えば0.1m)内にある場合、その複数の画素を1の発光源候補としてグループ化する(S320)。こうして、ブレーキランプを構成する画素が複数に跨がっていても、また、車両の左右のブレーキランプがそれぞれ複数のランプで構成されている場合であっても、それを左右に区別されるブレーキランプの一方として個々に認識することが可能となる。
また、ブレーキランプ特定部164bは、この1の発光源候補の大きさが予め定められた閾値(例えば、水平および垂直の幅0.05m)以上の場合にのみ、1の発光源候補を発光源として特定する(S322)。なお、ブレーキランプ特定部164bは、大きさに加えて、その発光源候補の形も条件としてよい。例えば、ブレーキランプが車両後部の左右端部に鉛直方向に延伸する形状である場合、その大きさのみならず、ブレーキランプとみなせる形状であることを判定する。こうして、本来、所定の発光源としてみなすべきではないノイズに相当する発光源を排除し、ブレーキランプ等、所望する発光源を抽出することができるので、特定物を高精度に特定することが可能となる。
このように、ブレーキランプ特定部164bによって、ブレーキランプを高精度に抽出することができる。しかし、第2露光態様による第2画像のみでは、夜間などに検出領域124全体のカラー値が低く(暗く)なってしまい、ブレーキランプ以外は何も把握できなくなってしまう。そこで、当該「ブレーキランプ」と、上述した第1露光態様による第1画像によって特定した「車両」とを対応付ける。
位置対応付け部166は、車両特定部164aが特定物「車両」としてグループ化した車両領域と、ブレーキランプ特定部164bが特定した発光源(ブレーキランプ)の位置とを対応付ける(S324)。そして、車両特定部164aによる特定物「車両」の追跡と、ブレーキランプ特定部164bによる特定物「ブレーキランプ」の追跡とを支援し、一方の位置情報で他方の位置情報を校正する。こうして、先行する車両の外縁と車両のブレーキランプとの位置関係が明確になる。
配置判定部168は、同一の先行車両に存在すると仮定される2対のブレーキランプの組み合わせを特定し、図4に示した特定物テーブル200に基づいて、位置対応付け部166によって対応付けられた車両領域と発光源であるブレーキランプの位置との相対配置が適切な配置か否かを判定する(S326)。配置判定部168は、例えば、ブレーキランプが、それ単体で高さ範囲「0.3〜2.0m」、水平距離の幅範囲「0.05〜0.2m」、垂直距離の幅範囲「0.05〜0.2m」の条件を満たすか判定する。さらに、配置判定部168は、2対のブレーキランプの組み合わせが、水平距離の差分「1.4〜1.9m」、垂直距離の差分「0.3m以下」、面積比「50〜200%」の条件を満たすか否かを判定する。このように、ブレーキランプと仮定された発光源が車両の適切な位置に対応している場合にのみブレーキランプとして正式に特定する構成により、リアフォグランプなど、同等の明るさで一灯だけで点灯している発光源をブレーキランプと誤認識するのを防止することができる。
ただし、先行する車両の挙動を正確に判断するには、ブレーキランプを発光源として特定するのみならず、その点灯有無を判定しなくてはならない。しかし、ブレーキランプのカバーの形状や日照条件といった外部環境によっては、太陽光の反射等の影響を受けてその明るさが変化するので、特定したブレーキランプのカラー値と固定的な閾値とを単純に比較するだけでは、その点灯有無の判定を誤ってしまうおそれがある。例えば、ブレーキランプが点灯していないのに、カラー値が固定の閾値より高くなってしまい、点灯していると誤認識したり、ブレーキランプが点灯しているのに、カラー値が固定の閾値より低くなってしまい、点灯していないと誤認識したりするおそれがある。
ここで、上記のブレーキランプ特定部164b、位置対応付け部166、配置判定部168によっては、ブレーキランプの形状や位置関係からブレーキランプの確からしさを判定できるが、検出領域124中の先行車両の変動に伴って、ブレーキランプの位置も画面左右上下に変動しやすく、ブレーキランプの位置を正確に把握するのは難しい。また、リフレクター等、車両に対して左右対称に配置された対象物は、太陽光を反射したときのカラー値および位置関係においてブレーキランプと差異が生じず、上記のブレーキランプの特定だけでは、リフレクターを排除できないといった問題があった。
そこで、本実施形態では、簡易な構成と処理で先行車両の特に車両領域全体におけるカラー値を判定することで、ブレーキランプのカラー値の変化(カラー値が高い状態とカラー値が低い状態)を適切に判定する。そして、上記のブレーキランプの特定は、ブレーキランプらしさを判定する上で補助的(冗長的)に用いることとする。ここでは、ブレーキランプのカラー値が高い状態を点灯状態、ブレーキランプのカラー値が低い状態を消灯状態という。具体的に、本実施形態では、点灯態様の変化を適切に判定するための基準となる複数の明度を設定し、その複数の明度において、変化を判定するための閾値(面積閾値)を適切に更新する。
時間推移導出部170は、車両特定部164aに特定された先行車両の車両領域において、予め定められた複数のカラー閾値に基づく複数のカラー条件を満たした画素数を計数し、画素数を面積に変換して(正規化して)、複数のカラー条件毎に面積の時間推移を導出する(S328)。
ここで、複数のカラー閾値を準備するのは以下の理由による。すなわち、ブレーキランプの明度が高くなると、色相Rのカラー値が飽和するため、R、G、Bのカラー値のバランスが変化し、赤色が、黄色から白みがかった色になる。そこで、本実施形態では、第2露光態様で撮像した場合のブレーキランプの実際の明度に応じて、複数のカラー閾値(R、G、B)を設ける。
また、ブレーキランプはカラー値のばらつきが大きい。仮にカラー閾値が固定であった場合、太陽光の反射の影響が大きい条件下ではブレーキランプの点灯状態または消灯状態のいずれもカラー値がカラー閾値より高くなり、また、太陽光の反射の影響がなく、かつ、元々ブレーキランプのカラー値が低い条件下ではブレーキランプの点灯状態または消灯状態のいずれもカラー値がカラー閾値より低くなるので、点灯状態と消灯状態とを判別できない。したがって、ブレーキランプの点灯状態を応答性よく検出するために複数のカラー閾値での画素数変化を同時に監視する。
図9は、カラー閾値を示す説明図である。本実施形態では、例えば、図9に示すような「黄色」、「赤色」、「赤色と比較して少し暗い赤色」、「さらに暗い赤色」、「一番暗い赤色」の5段階を設ける。ここでは、第2露光態様における標準的なシャッター速度を17msecとしている。また、本実施形態では、このような複数のカラー閾値を直接用いず、複数のカラー閾値に基づく複数のカラー条件を採用する。ここで、複数のカラー条件として、「黄色」(以下、単に「第1条件」という)、「黄色」+「赤色」(以下、単に「第2条件」という)、「黄色」+「赤色」+「赤色と比較して少し暗い赤色」(以下、単に「第3条件」という)、「黄色」+「赤色」+「赤色と比較して少し暗い赤色」+「さらに暗い赤色」(以下、単に「第4条件」という)、「黄色」+「赤色」+「赤色と比較して少し暗い赤色」+「さらに暗い赤色」+「一番暗い赤色」(以下、単に「第5条件」という)の5段階を設けている。このように、各条件を、各カラー閾値とそれより明度が高い他のカラー閾値との和とした理由は、所定のカラー閾値より明度が高い領域を適切に求めるためである。時間推移導出部170は、まず、図9に示した5つの色に関するカラー条件を満たした画素数を計数する。例えば、第1条件(カラー条件の対象の色が「黄色」)の場合、車両領域において、色相Rのカラー値が150より高く、色相Gのカラー値が113以上、色相Bのカラー値が66未満となる画素を計数する。また、第2条件(カラー条件の対象の色が「黄色」+「赤色」)の場合、車両領域において、色相Rのカラー値が150より高く、色相Gのカラー値が113以上、色相Bのカラー値が66未満となる画素と、色相Rのカラー値が150より高く、色相Gのカラー値が113未満、色相Bのカラー値が66未満となる画素とのいずれも計数する。
図10は、時間推移導出部170によるタイムチャートを説明するための説明図である。図10(a)は、先行車両における実際のブレーキ操作の推移を示し、図10(b)は、先行車両の絶対加速度の変化を示し、図10(c)〜図10(g)は、「第1条件」、「第2条件」、「第3条件」、「第4条件」、「第5条件」それぞれを満たした画素数の推移を示している。ただし、図10(a)の推移は、先行車両内の操作なので自車両1では直接把握することができない。
図10(c)〜(g)のうち、図10(d)〜図10(f)に示す「第2条件」、「第3条件」、「第4条件」それぞれのタイムチャートでは、図10(a)のブレーキ操作推移とほぼ等しいタイミングで画素数が変化しているのが理解できる。
しかし、図10(c)に示す「第1条件」のタイムチャートでは、ブレーキ操作がなされている(ON)、すなわち、ブレーキランプが点灯状態であるにも拘わらず、それに対応するタイミングで画素数が変化していない。これは、その環境においてブレーキランプが点灯した際のカラー値が、「第1条件」を満たしていない、すなわち、カラー値がカラー閾値「黄色」に足りていないことを示す。
一方、図10(g)に示す「第5条件」のタイムチャートでは、ブレーキ操作がなされている(ON)、すなわち、ブレーキランプが点灯状態にある場合のみならず、ブレーキ操作がなされていない(OFF)、すなわち、ブレーキランプが消灯状態である場合においても、画素数が多くなっている部分が生じている。これは、その環境においてブレーキランプが消灯状態にある場合であっても、そのカラー値が、「第5条件」を満たしてしまっている、すなわち、ブレーキランプの点灯有無に関係なくカラー値がカラー閾値「一番暗い赤色」となる画素を抽出していることを示す。
このように、明度に応じて複数段階のカラー条件を設けることで、外部の環境に拘わらず、いずれかの条件ではブレーキランプの点灯有無を確実に検出することができる。
ところで、図10(c)〜図10(g)の例では、ブレーキランプの点灯有無に応じ、カラー条件を満たしたか否かによって画素数が大きく変動しているが、それとは独立して、カラー条件を満たした状態で、画素数が小さく変動しているのが理解できる。これは、先行する車両と自車両1との相対距離により、画像に占める発光源の大きさが変わることに起因する。
図11は、時間推移導出部170によるタイムチャートの相対距離による変動を説明するための説明図である。図11(a)は、図10(e)の「第3条件」を満たした画素数の推移を示し、図11(b)は、自車両1と先行する車両との相対距離の推移を示している。
図11(a)および図11(b)を参照して理解できるように、自車両1と先行車両との相対距離が長いと、カラー条件を満たす発光源が小さくなり、その画素数も少なくなる。これに対し、先行車両との相対距離が短いと、カラー条件を満たす発光源が大きくなり、その画素数が多くなる。したがって、ブレーキランプが点灯状態を維持していても、先行車両との相対距離の変化に応じて画素数が変動する。
後述するように、カラー変化判定部174は、図11(a)のタイムチャートにおいて、ブレーキランプの点灯有無を、1の閾値(面積閾値)と比較して、画素数がその閾値以上であればブレーキランプが点灯状態にあると判定し、閾値未満であれば、ブレーキランプが消灯状態にあると判定する。このとき、上述したように、ブレーキランプが点灯状態を維持しているにも拘わらず、画素数が変動すると、本来はブレーキランプが点灯状態にあり、カラー条件を満たす画素が存在しても、相対距離が長すぎて、その数が閾値に満たない結果が生じうる。そこで、本実施形態では、先行車両との相対距離に基づいて画素数を実際の面積に変換する。
図12は、自車両1と先行車両との相対距離と画素数の関係を示した説明図である。かかる図12では、横軸に相対距離を示し、縦軸に所定の大きさの対象物が占有する画素数が示されている。図12を参照して理解できるように、同一の対象物(同一の面積)であっても、相対距離が長くなるほど、画素数が小さくなる。かかる推移は、関数で近似でき、0から図12における相対距離a地点までは、相対距離に比例し、a地点以降は、相対距離の3/2乗に比例する。通常、画像における対象物の大きさは、その相対距離に単純に比例するが、発光源の場合、発光の影響を受けて見た目上の発光範囲が広がる。よって、図12のように、相対距離と画素数の関係が非線形になる。
したがって、ブレーキランプ特定部164bは、先行車両(発光源)との相対距離も特定し、時間推移導出部170は、先行車両との相対距離に基づいて、図12の逆関数により(図12の画素数で除算し)、カラー条件を満たした画素数を面積に変換し、時間推移を更新する。例えば、図11(a)に示した「第3条件」を満たした画素数の推移を、図11(b)の相対距離の推移に基づいて面積に変換すると、その面積の推移は、図11(c)のようになる。ここでは、ブレーキランプが点灯状態を維持している場合の変動が少なくなり、後述するカラー変化判定部174は、カラー条件を満たす面積の変化を高精度に判定することが可能となる。
続いて時間推移抽出部172は、カラー条件毎に導出された時間推移から、ブレーキランプの点灯状態を判定するのに適切な1のカラー条件の時間推移を抽出する(S330)。
カラー条件毎の時間推移は、条件に応じて以下の特性を有する。すなわち、カラー条件を構成するカラー閾値が低いほど面積のブレ(ノイズ)が大きく、カラー閾値が高いほど感度(分解能)が低い。したがって、点灯状態の誤認識を回避するため、面積が段階的に変化している時間推移のうち、可能な限りカラー閾値が高いカラー条件の時間推移を用いたい。しかし、カラー閾値が高すぎると感度が悪くなり、ブレーキランプの点灯状態を適切に判別できなくなる。
そこで、本実施形態の時間推移抽出部172は、先行車両の絶対加速度の変化と相関のあるカラー条件の時間推移を抽出する。図10に示すように、絶対加速度は、ブレーキランプの点灯状態と必ずしも推移が一致しないが、相関を有する。したがって、時間推移と、絶対加速度における、特に、絶対加速度<0(減速)との相関をとり、相関の度合いが高い時間推移を抽出する。
また、時間推移抽出部172は、カラー条件の時間推移を設定した後の絶対加速度の推移と、後述するカラー変化判定部174の判定結果とに応じて、カラー条件の時間推移をカラー条件毎に導出された時間推移中で遷移させる。例えば、絶対加速度が所定値(例えば−0.005G)以上のときを加速状態(正確には等速状態も含む)、絶対加速度が所定値(例えば−0.005G)未満のときを減速状態とした場合に、加速状態でありながらカラー変化判定部174が点灯状態と判定していると、時間推移抽出部172は、カラー閾値が低いと判断して、時間推移をカラー閾値が高いカラー条件の時間推移に遷移する。一方、減速状態でありながらカラー変化判定部174が消灯状態と判定していると、時間推移抽出部172は、カラー閾値が高いと判断して、時間推移をカラー閾値が低いカラー条件の時間推移に遷移する。ここで、加速状態であり、カラー変化判定部174が消灯状態と判定している場合、および、減速状態であり、カラー変化判定部174が点灯状態と判定している場合は、当該時間推移が妥当として、時間推移の遷移を行わない。こうして、時間の経過に応じて車外環境が変化したとしても、適切な時間推移を抽出することが可能となる。
カラー変化判定部174は、時間推移抽出部172が抽出した時間推移に基づき、面積閾値以上であるか否かによって、発光源の点灯状態(カラー値が高い状態)と消灯状態(カラー値が低い状態)とを判定する(S332)。また、カラー変化判定部174は、点灯状態をブレーキの操作状態とみなし、消灯状態をブレーキの非操作状態とみなす。
ただし、図11(c)を参照して理解できるように、カラー条件を満たす面積やカラー条件を満たさないときの面積自体は、車外環境に応じて異なる値となる。したがって、かかる面積の時間推移に対して、固定の面積閾値を用いると誤認識が生じるおそれがある。そこで、本実施形態では、このような車外環境の変化に応じて、面積閾値自体を変化させ、カラー変化判定部174に適切な判定結果を導出させる。
面積閾値導出部176は、面積の時間推移の変化やカラー変化判定部174の判定結果に応じて面積閾値を更新する。こうして更新された面積閾値は、次回の計算において、カラー変化判定部174に利用される。
図13は、面積閾値導出部176の動作を説明するための説明図である。図13は、図11(c)の「第3条件」の面積変換後のタイムチャートを示している。ここでは、面積の時間推移を破線で示し、面積閾値の推移を実線で示す。
面積閾値導出部176は、まず、図13の(a)時点において、初期値として予め定められた仮の面積閾値(b)を設定する。そして、面積閾値導出部176は、現在の面積が仮に設定された面積閾値(初期値)以上か未満かを判定する。このとき、現在の面積が面積閾値(b)未満であれば、現在の面積をブレーキランプの消灯状態とし、仮の面積閾値(b)との差分を仮の面積閾値(b)に加算して、ブレーキランプの点灯状態の面積(c)を仮決定する。例えば、仮の面積閾値(b)として1000を設定した場合に、現在の面積が100であれば、点灯状態の面積(c)は1900と仮決定される。
同様に、面積閾値導出部176は、現在の面積が面積閾値(初期値)以上であれば、現在の面積を点灯状態とし、仮の面積閾値(b)との差分を仮の面積閾値(b)から減算して、消灯状態の面積を仮決定する。例えば、仮の面積閾値(b)として1000を設定した場合に、現在の面積が1800であれば、消灯状態の面積は200と仮決定される。
そして、時間推移導出部170が時間推移を更新する毎に、面積閾値導出部176は、現在の面積が面積閾値以上であるか否か判定する(S334)。そして、面積が面積閾値以上であれば(S334におけるYES)、面積の現在値と面積が面積閾値未満であったときの最終値との中間値で面積閾値を更新する(S336)。また、面積が面積閾値未満であれば(S334におけるNO)、面積の現在値と面積が面積閾値以上であったときの最終値との中間値で面積閾値を更新する(S338)。
このとき面積閾値未満であったときの最終値とは、図13中、一点鎖線で示す、面積が面積閾値未満であったときの直近の面積の最終値である。同様に、面積閾値以上であったときの最終値とは、面積が面積閾値以上であったときの直近の面積の最終値である。
例えば、図13の例では、(a)時点の面積が面積閾値の初期値である仮の面積閾値(b)未満なので、面積閾値以上であったときの最終値として面積(c)が決定される。そして、現在の面積が面積閾値未満である間、この決定された面積(固定値)と、現在の面積との中間値で面積閾値が更新され、次回の判定ではこの面積閾値に基づいて点灯有無の判定がなされる。
ここで、図13の(d)時点のように、現在の面積が面積閾値以上となると、その状態が点灯状態であると判定され、前回の面積が面積閾値未満のとき(消灯状態)の最終値として保持される。そして、現在の面積が面積閾値以上である間、この面積閾値未満であったときの最終値(固定値)と、現在の面積との中間値で面積閾値が更新され、次回の判定ではこの面積閾値に基づいて点灯有無の判定がなされる。したがって、面積閾値は、現在の面積に応じて時々刻々と更新され、適切な面積閾値によるブレーキランプの点灯有無判定が可能となる。
ここで、面積閾値の更新は、ブレーキランプのカラー値が変化するのを待つ数十ミリ秒の間だけ判定が遅延するが、点灯・消灯状態の判定は常に行われているため、ブレーキランプのカラー値が変化すれば即時に検出できる。
また、上述した面積閾値の更新処理を行うことで、最初に設定した面積閾値が点灯状態の面積より多かったり、消灯状態の面積より少なかったりした場合であっても、適切な面積閾値に移行することができる。
図14は、面積閾値の初期値の復帰処理を示した説明図である。ここでは、面積の時間推移を破線で示し、面積閾値の推移を実線で示し、判定が異なっていたときの最終値を一点鎖線で示す。
例えば、図14(a)のように、面積閾値として、本来の点灯状態の面積より大きく設定してしまった場合、点灯状態の面積が消灯状態の面積と誤って判定されてしまう。すると、図14(a)に示すように、面積閾値以上であったときの最終値が、面積閾値より多い値に仮に決定される。そして、ブレーキランプが実際に点灯状態から消灯状態に変化すると、その決定された仮の最終値と、実際の消灯状態の面積の中間値によって面積閾値が更新される。したがって、消灯状態の判定は変わらないが、面積閾値は小さくなる。
そして、次にブレーキランプが点灯状態になると、現在の面積が面積閾値以上となって、点灯状態と判定され、消灯状態の最終値と、現在の面積との中間値によって面積閾値が更新される。こうして、適切な面積閾値に移行することができる。
また、図14(b)のように、面積閾値として、本来の消灯状態の面積より小さく設定してしまった場合、消灯状態の面積が点灯状態の面積と誤って判定されてしまう。すると、図14(b)に示すように、面積閾値未満であったときの最終値が、面積閾値より少ない値に仮に決定される。そして、ブレーキランプが実際に消灯状態から点灯状態に変化すると、その決定された仮の最終値と、実際の点灯状態の面積の中間値によって面積閾値が更新される。したがって、点灯状態の判定は変わらないが、面積閾値は大きくなる。そして、次にブレーキランプが消灯状態になると、現在の面積が面積閾値未満となって、消灯状態と判定され、点灯状態の最終値と、現在の面積との中間値によって面積閾値が更新される。こうして、図14(a)同様、適切な面積閾値に移行することができる。
ただし、最初に面積閾値としてあまりにも現実的ではない値が設定されると、面積が面積閾値を跨がらず、上記のような復帰がなされない場合がある。そこで、ブレーキランプ特定部164bは、発光源の相対加速度も検出し、面積閾値導出部176は、発光源の相対加速度の増減に基づいて面積閾値を校正する。ただし、道路の構造、例えば、道路が坂であった場合、道路勾配に応じて加減速度とブレーキランプの点灯有無とが一致しないことがあるので、その場合は、面積閾値を校正しない。
図15は、校正の有無を示した説明図である。例えば、相対加速度が0.005G以上である加速状態において、道路勾配が−0.05G以上、すなわち、下り坂ではないと判定されると、そのときのブレーキランプの点灯態様は消灯状態であるとして面積閾値を校正する。ただし、道路勾配が−0.05G未満の場合、校正は行わない。また、相対加速度が−0.005G以上で0.005G未満である巡行状態において、道路勾配が−0.05G以上、フレーム間の差が0.05G以下、判定開始・終了までの差が0.05G以下の3条件が3秒以上成立していれば、そのときのブレーキランプの点灯態様は消灯状態であるとして面積閾値を校正する。ただし、3条件が成立しないと、校正は行わない。また、相対加速度が−0.010G以上で−0.005G未満である弱減速状態においては、常時、校正は行わない。そして、相対加速度が−0.010G未満である強減速状態において、道路勾配が0.05G以下、すなわち、上り坂ではないと判定されると、そのときのブレーキランプの点灯態様は点灯状態であるとして面積閾値を校正する。ただし、道路勾配が0.05Gより大きい場合、校正は行わない。
こうすることで、加減速度および道路勾配とブレーキランプの点灯状態または消灯状態とを対応付け、例えば、面積閾値が点灯状態の面積より大きかったら、点灯状態の面積より所定数小さい値に更新し、面積閾値が消灯状態の面積より小さかったら、消灯状態の面積より所定数大きい値に更新することで、適切な面積閾値に移行することが可能となる。
以上、説明したように、本実施形態では、各色のカラー条件を満たした面積の時間推移を用いるといった簡易な構成と処理で先行車両における発光源のカラー値の変化を適切に判定することが可能となる。したがって、ブレーキランプの点灯有無を、車外環境に拘わらず、誤認識することなく、また、遅延なく検出することができる。
また、コンピュータを、車外環境認識装置120として機能させるプログラムや当該プログラムを記録した、コンピュータで読み取り可能なフレキシブルディスク、光磁気ディスク、ROM、CD、DVD、BD等の記憶媒体も提供される。ここで、プログラムは、任意の言語や記述方法にて記述されたデータ処理手段をいう。
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明はかかる実施形態に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
例えば、上述した実施形態においては、車両の後方左右に位置するブレーキランプを挙げて説明したが、車両の後方上部に位置するハイマウントストップランプにも適用できる。
また、上述した実施形態に加え、下記の条件を追加することで、点灯有無の判定の信頼性をより高くできる。例えば、ブレーキランプの左右のペアの判定結果を互いに校正に利用したり、ブレーキランプとウィンカーを共用する車両において、その点灯・消灯時間に基づいてブレーキ操作かウィンカー操作かを判定する。
なお、本明細書の車外環境認識処理の各工程は、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいはサブルーチンによる処理を含んでもよい。