(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0018】
<1.システム全体構成>
図1は、本発明に係る実施の形態としての画像処理装置を備えた車両制御システム1の構成を示している。なお、
図1では、車両制御システム1の構成のうち主に本発明に係る要部の構成のみを抽出して示している。
車両制御システム1は、自車両に対して設けられた撮像部2、画像処理部3、メモリ4、運転支援制御部5、表示制御部6、エンジン制御部7、トランスミッション制御部8、ブレーキ制御部9、センサ・操作子類10、表示部11、エンジン関連アクチュエータ12、トランスミッション関連アクチュエータ13、ブレーキ関連アクチュエータ14、及びバス15を備えて構成される。
【0019】
画像処理部3は、撮像部2が自車両の進行方向(本例では前方)を撮像して得られた撮像画像データに基づき、車外環境の認識に係る所定の画像処理を実行する。画像処理部3による画像処理は、例えば不揮発性メモリ等とされたメモリ4を用いて行われる。なお、撮像部2の内部構成や画像処理部3が実行する具体的な処理の詳細については後述する。
【0020】
運転支援制御部5は、例えばCPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等を備えたマイクロコンピュータで構成され、画像処理部3による画像処理の結果やセンサ・操作子類10で得られる検出情報や操作入力情報等に基づき、運転支援のための各種の制御処理(以下「運転支援制御処理」と表記)を実行する。
運転支援制御部5は、同じくマイクロコンピュータで構成された表示制御部6、エンジン制御部7、トランスミッション制御部8、ブレーキ制御部9の各制御部とバス15を介して接続されており、これら各制御部との間で相互にデータ通信を行うことが可能とされる。運転支援制御部5は、上記の各制御部のうち必要な制御部に対して指示を行って運転支援に係る動作を実行させる。
【0021】
センサ・操作子類10は、自車両に設けられた各種のセンサや操作子を包括的に表している。センサ・操作子類10が有するセンサとしては、自車両の速度を検出する速度センサ10A、ブレーキペダルの操作/非操作に応じてON/OFFされるブレーキスイッチ10B、アクセルペダルの踏込み量からアクセル開度を検出するアクセル開度センサ10C、操舵角を検出する舵角センサ10D、ヨーレート(Yaw Rate)を検出するヨーレートセンサ10E、及び加速度を検出するGセンサ10Fがある。また、図示は省略したが、他のセンサとして、例えばエンジン回転数センサ、吸入空気量を検出する吸入空気量センサ、吸気通路に介装されてエンジンの各気筒に供給する吸入空気量を調整するスロットル弁の開度を検出するスロットル開度センサ、エンジン温度を示す冷却水温を検出する水温センサ、車外の気温を検出する外気温センサ等も有する。
また、操作子としては、エンジンの始動/停止を指示するためのイグニッションスイッチや、AT(オートマティックトランスミッション)車における自動変速モード/手動変速モードの選択や手動変速モード時におけるシフトアップ/ダウンの指示を行うためのセレクトレバーや、後述する表示部11に設けられたMFD(Multi Function Display)における表示情報の切り換えを行うための表示切換スイッチなどがある。
【0022】
表示部11は、運転者の前方に設置されたメータパネル内に設けられるスピードメータやタコメータ等の各種メータやMFD、及びその他運転者に情報提示を行うための表示デバイスを包括的に表している。MFDには、自車両の総走行距離や外気温、瞬間燃費等といった各種の情報を同時又は切り換えて表示可能とされる。
【0023】
表示制御部6は、センサ・操作子類10における所定のセンサからの検出信号や操作子による操作入力情報等に基づき、表示部11による表示動作を制御する。例えば、運転支援制御部5からの指示に基づき、運転支援の一環として表示部11(例えばMFDの所定領域)に所定の注意喚起メッセージを表示させることが可能とされている。
【0024】
エンジン制御部7は、センサ・操作子類10における所定のセンサからの検出信号や操作子による操作入力情報等に基づき、エンジン関連アクチュエータ12として設けられた各種アクチュエータを制御する。エンジン関連アクチュエータ12としては、例えばスロットル弁を駆動するスロットルアクチュエータや燃料噴射を行うインジェクタ等のエンジン駆動に係る各種のアクチュエータが設けられる。
例えばエンジン制御部7は、前述したイグニッションスイッチの操作に応じてエンジンの始動/停止制御を行う。また、エンジン制御部7は、エンジン回転数センサやアクセル開度センサ10C等の所定のセンサからの検出信号に基づき、燃料噴射タイミング、燃料噴射パルス幅、スロットル開度等の制御も行う。
【0025】
トランスミッション制御部8は、センサ・操作子類10における所定のセンサからの検出信号や操作子による操作入力情報等に基づき、トランスミッション関連アクチュエータ13として設けられた各種のアクチュエータを制御する。トランスミッション関連アクチュエータ13としては、例えば自動変速機の変速制御を行うコントロールバルブや、ロックアップクラッチをロックアップ動作させるロックアップアクチュエータ等のトランスミッション関連の各種アクチュエータが設けられる。
例えばトランスミッション制御部8は、前述したセレクトレバーによって自動変速モードが選択されている際には、所定の変速パターンに従い変速信号をコントロールバルブに出力して変速制御を行う。
また、トランスミッション制御部8は、手動変速モードの設定時には、セレクトレバーによるシフトアップ/ダウン指示に従った変速信号をコントロールバルブに出力して変速制御を行う。
【0026】
ブレーキ制御部9は、センサ・操作子類10における所定のセンサからの検出信号や操作子による操作入力情報等に基づき、ブレーキ関連アクチュエータ14として設けられた各種のアクチュエータを制御する。ブレーキ関連アクチュエータ14としては、例えばブレーキブースターからマスターシリンダへの出力液圧やブレーキ液配管内の液圧をコントロールするための液圧制御アクチュエータ等、ブレーキ関連の各種のアクチュエータが設けられる。例えばブレーキ制御部9は、運転支援制御部5よりブレーキをONする指示が為された場合に上記の液圧制御アクチュエータを制御して自車両を制動させる。またブレーキ制御部9は、所定のセンサ(例えば車軸の回転速度センサや車速センサ10A)の検出情報から車輪のスリップ率を計算し、スリップ率に応じて上記の液圧制御アクチュエータにより液圧を加減圧させることで、所謂ABS(Antilock Brake System)制御を実現する。
【0027】
<2.本実施の形態で実行される画像処理>
図2により、本実施の形態で実行される画像処理について説明する。
なお、
図2では画像処理について説明するため、画像処理部3の構成と共に
図1に示した撮像部2の内部構成及びメモリ4も併せて示している。先ず、画像処理に用いる撮像画像データを得るための撮像部2について簡単に説明しておく。
撮像部2には、第1カメラ部20−1、第2カメラ部20−2、A/D変換器21−1、A/D変換器21−2、及び画像補正部22が設けられている。
第1カメラ部20−1、第2カメラ部20−2は、それぞれカメラ光学系とCCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)などの撮像素子とを備えて構成され、前記カメラ光学系により前記撮像素子の撮像面に被写体像が結像され、該撮像素子にて受光光量に応じた電気信号が画素単位で得られる。
第1カメラ部20−1、第2カメラ部20−2は、いわゆるステレオ撮像法による測距が可能となるように設置される。すなわち、視点の異なる複数の撮像画像が得られるように配置されている。本例における第1カメラ部20−1、第2カメラ部20−2は、自車両のフロントガラス上部近傍において、車幅方向に所定間隔を空けて配置されている。第1カメラ部20−1、第2カメラ部20−2の光軸は平行とされ、焦点距離はそれぞれ同値とされる。また、フレーム周期は同期し、フレームレートも一致している。
【0028】
第1カメラ部20−1の撮像素子で得られた電気信号はA/D変換器21−1に、第2カメラ部20−2の撮像素子で得られた電気信号はA/D変換器21−2に供給され、それぞれA/D変換が行われる。これにより、画素単位で所定階調による輝度値を表すデジタル画像信号(画像データ)が得られる。本実施の形態において、第1カメラ部20−1及び第2カメラ部20−2はR(赤),G(緑),B(青)によるカラー撮像画像を得ることが可能とされており、上記の輝度値としてはR,G,Bのそれぞれに対応した値が得られる。また、本例の場合、第1カメラ部20−1、第2カメラ部20−2が有する撮像素子の有効画素数は水平方向1280画素×垂直方向960画素とされている。
【0029】
画像補正部22には、A/D変換器21−1を介して得られる第1カメラ部20−1による撮像画像に基づく画像データ(以下「第1撮像画像データ」と表記)と、A/D変換器21−2を介して得られる第2カメラ部20−2による撮像画像に基づく画像データ(以下「第2撮像画像データ」と表記)とが入力される。画像補正部22は、第1撮像画像データ、第2撮像画像データのそれぞれに対し、第1カメラ部20−1、第2カメラ部20−2の取り付け位置の誤差に起因するずれの補正を例えばアフィン変換等を用いて行う。また画像補正部22は、第1撮像画像データ、第2撮像画像データのそれぞれに対しノイズの除去等を含む輝度値の補正も行う。
【0030】
撮像部2で得られた第1撮像画像データ、第2撮像画像データは、画像処理部3によってメモリ4に記録・保持される。
【0031】
ここで、本例の場合、撮像部2においては、第1撮像画像データ及び第2撮像画像データのそれぞれについて互いにシャッタースピードの異なる明画像と暗画像の2種を生成している。暗画像は、明画像よりも速いシャッタースピードで撮像された画像であり、明画像と比較して全体的に暗い画像とされている。第1カメラ部20−1、第2カメラ部20−2は、1フレーム期間(例えば1/60秒)ごとにシャッタースピードを変更した撮像を行って明画像、暗画像を交互に出力する。これにより、第1カメラ部20−1により得られる第1撮像画像データ、及び第2カメラ部20−2により得られる第2撮像画像データとしては、それぞれ明画像、暗画像が1フレーム期間ごとに交互に切り替わることになる。
暗画像は、後述する視差オフセット値補正処理部3Eが先行車両のブレーキランプの点灯等を検出する際に用いられる。後述する三次元位置情報の生成や先行車両検出処理部3Dによる物体検出処理には、明画像が用いられる。
【0032】
画像処理部3は、例えばマイクロコンピュータで構成され、起動されたプログラムに従って第1撮像画像データ、第2撮像画像データに基づく各種の画像処理を実行する。
図2においては、画像処理部3が実行する各種の画像処理を機能ごとに分けてブロック化して示している。図のように画像処理部3は、機能ごとに大別すると、三次元位置情報生成処理部3A、車線検出処理部3B、車線モデル形成処理部3C、先行車両検出処理部3D、及び視差オフセット値補正処理部3Eを有している。
【0033】
三次元位置情報生成処理部3Aが実行する三次元位置情報生成処理は、メモリ4に保持された明画像としての第1撮像画像データ、第2撮像画像データに基づき三次元位置情報を生成する処理となる。具体的に、三次元位置情報生成処理は、第1撮像画像データと第2撮像画像データ(つまりステレオ撮像された一対の画像データ)の間の対応点をパターンマッチングにより検出し、検出された対応点間の座標のずれを視差dpとして算出し、視差dpを用いて三角測量の原理により実空間上における対応点の位置の情報を三次元位置情報として生成する処理である。
上記のような視差dpとしての座標のずれを算出するにあたっては、予め第1撮像画像データ、第2撮像画像データのうちの一方が「基準画像」、他方が「比較画像」として定められる。比較画像は、基準画像上の水平方向端部に位置する物体についての視差dpの算出を可能とするため、基準画像よりも水平方向画素数が多い画像として生成されている。
【0034】
ここで、三次元位置情報は、一対のカメラ(第1カメラ部20−1と第2カメラ部20−2)の中央真下の点を原点とし、一対のカメラを結ぶ方向にX軸、上下方向にY軸、前後方向にZ軸ととった場合の空間上の点(X,Y,Z)として表される情報である。
三次元位置情報としてのX,Y,Zの各値は、基準画像における水平方向に平行な軸をi軸、垂直方向に平行な軸をj軸としたときの画素の座標を(i,j)で表し、一対のカメラの間隔をCD、1画素当たりの視野角をPW、一対のカメラの取り付け高さをCH、カメラ正面の無限遠点の基準画像上でのi座標、j座標をそれぞれIV、JVとしたときに、下記[式1]〜[式3]で表される座標変換により求まる。
X=CD/2+Z×PW×(i−IV) …[式1]
Y=CH+Z×PW×(j−JV) …[式2]
Z=CD/{PW×(dp−DP)} …[式3]
上記[式3]における「DP」は、消失点視差や無限遠対応点などとも称されるが、要するに基準画像と比較画像の間の対応点間の視差dpと、対応点までの実空間上での距離Zとが上記[式3]を満たすようにして決定される値である。以下、この「DP」については「視差オフセット値DP」と表記する。
【0035】
車線検出処理部3Bが実行する車線検出処理は、明画像としての基準画像(つまり第1撮像画像データ又は第2撮像画像データのうち予め設定された方の画像データ)と、上記の三次元位置情報生成処理で生成された三次元位置情報(対応点としての画素ごとの距離Zを含む)とに基づき、自車両が走行する路面上に形成された車線を検出する処理となる。具体的に、車線検出処理では、先ず基準画像の各画素の輝度値と各画素の実空間における距離Zとに基づいて基準画像上に車線候補点を検出し、検出した車線候補点に基づいて自車両の左右の車線位置を検出する。例えば、基準画像上の1画素幅の水平ライン上を左右方向に1画素ずつオフセットしながら探索し、基準画像の各画素の輝度値に基づいて各画素の輝度微分値(=エッジ強度)が閾値以上に大きく変化する条件を満たす画素を車線候補点として検出する。この処理を、上記探索の対象とする水平ラインを基準画像の例えば下側から上向きに1画素幅ずつオフセットさせながら順次行う。これにより、自車両の右側領域及び左側領域のそれぞれに車線候補点を検出する。
【0036】
車線モデル形成処理部3Cが実行する車線モデル形成処理は、上記の車線検出で検出された左右の車線候補点の情報に基づき、X,Y,Zの各軸で定義される三次元空間上における車線モデルを形成する処理である。具体的には、車線検出部で検出された車線候補点の三次元位置(X,Y,Z)を例えば最小二乗法等で直線近似して、三次元空間上における車線モデルを形成する。このように形成された車線モデルにより、自車両が走行する路面の高さ情報も得られたことになる。
【0037】
先行車両検出処理部3Dが実行する先行車両検出処理は、明画像としての基準画像と三次元位置情報とに基づき自車両の前方に存在する先行車両を検出する処理である。この先行車両検出処理では、先ず、三次元位置情報に基づき物体検出処理を行い、画像内に存在する物体を該物体までの距離Zの情報も含めて検出する。例えばこの物体検出処理では、先の視差dpの算出過程で検出された各対応点をその距離Zの値を対応づけて画像上に表した距離画像を生成し、該距離画像を縦方向に仕切る複数の縦領域に分割し、縦領域ごとに画像縦方向(j方向)の距離分布を表す距離ヒストグラムを作成し、度数が最大となる位置(対応点)の距離Zをその縦領域内に存在する物体の代表距離とする。そして、代表距離が得られた度数最大となる各対応点について、近接する各対応点までの距離Zや方向などの関係性から、同一物体とみなされる画素範囲をグループ化し、画像内に存在する各物体の範囲を特定する。これにより、画像内に存在する物体が該物体までの距離Zの情報も含めて検出される。
ここで、上記の距離画像はフレームごとに順次得られるものである。先行車両検出処理では、複数フレームにわたって検出物体の距離Zの情報をモニタすることで、自車両の走行路上に存在する物体であって、自車両と略同じ方向に所定の速度で移動するものを先行車両として抽出する。このとき、車両以外の物体の誤検出を抑制するために、基準画像を用いたパターンマッチング(例えばブレーキランプ部分等の車両の特徴点に基づくパターンマッチング)も併せて行う。
先行車両を検出した場合は、先行車両検出情報として先行車距離(=自車両との車間距離)、先行車速度(=車間距離の変化割合+自車速)、先行車加速度(=先行車速の微分値)を算出・保持する。
なお、上記の先行車両検出処理の手法は特開2012−66759号公報に開示された手法と同様であり、詳しくは該文献を参照されたい。
【0038】
また、先行車両検出処理部3Dは、先行車両の入れ替わりを検出可能とされている。先行車両の入れ替わりとは、検出中であった先行車両が自車両の前方から離脱したことに伴いその前方にある車両が新たに先行車両として検出された場合や、検出中であった先行車両と自車両との間に他の車両が割り込んで当該他の車両が新たに先行車両として検出されるなど、検出中であった先行車両に変わって他の車両が新たに先行車両として検出された場合を意味する。
【0039】
視差オフセット値補正処理部3Eが実行する視差オフセット値補正処理は、先行車両検出処理部3Dにより検出された先行車両の視差及び見かけの大きさの変化に基づいて、視差dpから距離Zを算出する計算式(すなわち先の[式3])についての補正を行う処理である。前述のように、カメラの取付状態の経時的な変化に起因して[式3]における視差オフセット値DPには現実のカメラ取付状態に対応した最適値からの誤差が発生してしまうため、これを補正するものである。
【0040】
ここで、視差オフセット値補正処理として実行する具体的な処理内容の説明に先立ち、本例で行われる視差オフセット値DPの補正処理の概要について説明しておく。
撮像画像中に検出された先行車両の視差及び見かけの大きさの変化に基づいて補正を行う点は先に挙げた特許文献1の場合と同様であるが、本例では、先行車両の見かけの大きさについては先行車両の左右ブレーキランプ間の幅の情報を用いる。
ここで、「先行車両の見かけの大きさ」とは、自車位置を基準として見える先行車両の大きさを意味するものである。
【0041】
また、本例の補正処理は、特許文献1に記載の補正手法のように異なる2つの時点においてそれぞれ先行車両の見かけの大きさと視差の計4値(大きさb
1、b
2、視差dp
1、dp
2)を少なくとも取得し、それらの値から視差オフセット値DPの補正値を算出するという概念は共通するが、特許文献1のように視差誤差εを求めて該視差誤差εにより視差オフセット値DPを補正するものではない。
本例においては、少なくとも異なる2つの時点において先行車両の見かけの大きさとしてのブレーキランプ間幅と先行車両の視差(本例では後述するブレーキランプ視差)の計4値を取得し、取得した少なくとも4値を、横軸/縦軸にそれぞれ見かけの大きさ(ブレーキランプ間幅)/視差をとった二次元座標空間上に展開した際に得られる少なくとも2点の座標に基づく近似直線(y=ax+b)を求め、当該近似直線の切片(b)の値により視差オフセット値DPの補正を行う。
【0042】
図3は、ブレーキランプ間幅とブレーキランプ視差(先行車両のブレーキランプの視差dp)との関係を例示した図である。なお、図中の◆印は、複数の異なる時点でそれぞれ取得した[ブレーキランプ間幅,ブレーキレーキランプ視差]の組を縦軸/横軸にそれぞれブレーキランプ間幅/ブレーキランプ視差をとった二次元座標空間上に展開して表したものである。
【0043】
先行車両のブレーキランプ間幅は、先行車両が自車両に対して近いほどその値が大きくなり、逆に自車両から遠いほどその値が小さくなる。同様に、ブレーキランプ視差としても、先行車両が自車両に対して近いほどその値が大きくなり、自車両から遠いほどその値が小さくなる。このため、ブレーキランプ間幅とブレーキランプ視差との間には概ね比例関係が成り立つとみなすことができ、ブレーキランプ間幅とブレーキランプ視差との関係は「y=ax+b」としての一次関数で表すことができる。
【0044】
ここで、先行車両が無限遠点にあるときは、ブレーキランプ間幅の値は「0」である。また、先行車両が無限遠点にあるとき、ブレーキランプ視差の値は理想的には「0」である。このため、理想的には、上記のようにブレーキランプ間幅とブレーキランプ視差との関係を表す一次関数においては、切片bの値が「0」となるべきである。
しかしながら、上述のようにカメラの取付状態の経時的な変化が生じると、先行車両が無限遠点にあるときのブレーキランプ視差の値は「0」にならず、切片bの値に所要のオフセットが生じる。
【0045】
そこで、本例の補正処理では、前述のように少なくとも異なる2つの時点においてブレーキランプ間幅とブレーキランプ視差を取得し、取得したブレーキランプ間幅とブレーキランプ視差に基づいてブレーキランプ間幅とブレーキランプ視差との関係を表す直線を一次近似により求め、求めた近似直線の切片bの値に基づいて視差オフセット値DPを補正する。具体的には、切片bの符号を反転させた値を補正値として、「DP+(−b)」により視差オフセット値DPを補正する。
【0046】
<3.実施の形態の補正処理>
上記した補正処理の概要を踏まえ、以下、画像処理部3が視差オフセット値補正処理として実行する具体的な処理の手順を説明する。
図4は、画像処理部3が実行する視差オフセット値補正処理におけるメイン処理のフローチャートである。なお、
図4に示すメイン処理は、明画像と暗画像が一組得られるごとに繰り返し実行されるものである。
【0047】
先ず、画像処理部3はステップS101で、自車両が旋回中であるか否かを判別する。自車両が旋回中であるか否かの判別は、舵角センサ10Dやヨーレートセンサ10Eによる検出信号に基づき行う。
自車両が旋回中であるとの肯定結果が得られた場合、画像処理部3は
図4に示すメイン処理を終える。
【0048】
ここで、自車両が旋回中である場合は自車両が先行車両の後面と正対していないことから、先行車両の見かけの大きさが不正確となり、従ってそのような場合に得られたフレーム画像に基づき視差オフセット値DPを補正するための補正値を算出することは望ましくない。そこで、上記のようにメイン処理を終了して当該フレーム画像については処理対象から除外することで、補正値の精度の向上を図っている。
【0049】
一方、画像処理部3は、自車両が旋回中でないとの否定結果が得られた場合は、ステップS102に進んで先行車両があり且つ入れ替わりがないか否かを判別する。すなわち、上述した先行車両検出処理によって先行車両が検出され且つ先行車両の入れ替わりが検出されていないか否かを判別する。
先行車両があり且つ入れ替わりがないとの条件が満たされていないとして否定結果が得られた場合、画像処理部3はステップS107に進んで蓄積データをクリアし、
図4に示すメイン処理を終える。すなわち、次に説明するステップS103で蓄積したブレーキランプ視差及びブレーキランプ間幅の蓄積データをクリア(消去)し、メイン処理を終える。
これにより、異なる先行車両についてそれぞれ蓄積されたブレーキランプ視差及びブレーキランプ間幅のデータに基づいて不正確な補正値が算出されてしまうことが防止され、補正精度の向上が図られる。
【0050】
また、画像処理部3は、先行車両があり且つ入れ替わりがないとの条件が満たされているとして肯定結果が得られた場合には、ステップS103に進んでブレーキランプ視差及びブレーキランプ間幅蓄積処理を実行する。このステップS103の蓄積処理は、複数の時点で先行車両についてのブレーキランプ視差及びブレーキランプ間幅のデータを蓄積するための処理であるが、詳細は後述する。
【0051】
画像処理部3は、ステップS103の蓄積処理を実行したことに応じて、ステップS104でデータ蓄積数が所定数以上となったか否かを判別する。すなわち、ブレーキランプ視差及びブレーキランプ間幅のデータの蓄積数が所定数以上となったか否かを判別する。先の説明から理解されるように、ブレーキランプ間幅とブレーキランプ視差の関係を表す近似直線を算出するにあたっては、ブレーキランプ間幅とブレーキランプ視差のサンプル数は少なくとも2以上であればよく、上記の「所定数」としては少なくとも「2」以上を設定すればよい。なお、補正精度向上のためには「所定数」の値としては多い方が望ましい。
【0052】
データ蓄積数が所定数以上でないとの否定結果が得られた場合、画像処理部3は
図4に示すメイン処理を終える。
【0053】
一方、データ蓄積数が所定数以上であるとの肯定結果が得られた場合、画像処理部3はステップS105に進んで近似直線算出処理を実行する。ステップS105の近似直線算出処理は、ステップS103の処理で蓄積したデータに基づいて前述したブレーキランプ間幅とブレーキランプ視差の関係を表す近似直線を算出する処理である。なお、近似直線算出処理の詳細は後述する。
【0054】
画像処理部3は、ステップS105で近似直線を算出したことに応じて、ステップS106で近似直線の切片bの値に基づき視差オフセット値を補正する処理を実行し、
図4に示すメイン処理を終える。上記もしたように、本例の補正処理では、切片bの符号を反転させた値を補正値として算出し「DP+(−b)」により視差オフセット値DPを補正する。
【0055】
図5は、ブレーキランプ視差及びブレーキランプ間幅データ蓄積処理(S103)のフローチャートである。
画像処理部3は、先ずステップS201で、先行車両の左右ブレーキランプが点灯しているか否かを判別する。このステップS201の判別処理は、前述した暗画像を用いて行う。具体的には、暗画像中における先行車両が検出されている画像範囲と同じ画像範囲内において、赤色の輝度値が所定値以上となる画像部分が二箇所以上存在するか否かを判別する。
【0056】
先行車両の左右ブレーキランプが点灯しているとの肯定結果が得られた場合、画像処理部3はステップS202に処理を進める。すなわち、以降で説明するブレーキランプ視差とブレーキランプ間幅のデータ蓄積のための処理が実行される。
一方、左右ブレーキランプが点灯していないとの否定結果が得られた場合、画像処理部3は
図5に示す処理を終える。すなわち、以降で説明するブレーキランプ視差とブレーキランプ間幅のデータ蓄積のための処理は実行されない。
【0057】
ここで、前述のような近似直線を精度良く求めるにあたっては、先行車両の視差に相当するブレーキランプ視差、及び先行車両の見かけの大きさに相当するブレーキランプ間幅についてはできるだけ離散した値を取得できることが望ましい。すなわち、先行車両との車間距離が比較的大きく変化する際に取得できることが望ましい。
この点に鑑み、本実施の形態では、視差オフセット値DPの補正値の算出にあたって上記のように先行車両のブレーキランプが点灯しているか否かを判定し、当該判定結果に基づいて補正値の算出に係る処理を開始する(又は開始しない)こととしている。これにより、先行車両が減速状態となる、すなわち先行車両の視差及び見かけの大きさの変化が確実に期待できる場合に対応して補正値の算出に係る処理を開始することが可能となり、先行車両の視差及び見かけの大きさについて離散した値を効率的に取得することができる。
【0058】
画像処理部3は、ステップS201で肯定結果が得られた場合は、ステップS202で左右のブレーキランプ幅、左右ブレーキランプ中心座標、ブレーキランプ間画像上幅、ブレーキランプ視差をそれぞれ計算する。
ここで、左右のブレーキランプ幅は、
図6に示すように先行車両の左側のブレーキランプの幅WL、右側ブレーキランプの幅WRである。これら幅WL、WRについては、暗画像における先行車両の画像範囲と同範囲内に検出された赤色輝度値が所定値以上の画像部分(赤色発光部分)の幅をそれぞれ求める。
なお、先行車両の車種によってはハイマウントストップランプなど左右ブレーキランプの間に赤色発光体が検出される場合もある。先行車両の画像範囲内に3以上の赤色発光部分が検出されている場合は、そのうちの左右の両端にある赤色発光部分のみを抽出してこれを左右ブレーキランプと定める。
【0059】
また、左右ブレーキランプ中心座標は、
図6において黒丸により表すものであり、上記のように求めた左右ブレーキランプとしての赤色発光部分それぞれの中心座標である。
さらに、ブレーキランプ間画像上幅は、
図6において「BW」で表すものであり、上記のように求めた左右ブレーキランプ中心座標間の幅を意味する。
また、ブレーキランプ視差は、前述もしたように先行車両のブレーキランプの視差dpである。本例では、ブレーキランプ視差として、左右ブレーキランプそれぞれの視差dpの平均値を計算する。このとき、左右ブレーキランプそれぞれの視差dpは、左側ブレーキランプの中心座標と右側ブレーキランプの中心座標を第1撮像画像データ側と第2撮像画像データ側の双方で求め、それら中心座標間の視差dpとしてそれぞれ求める。
なお、ブレーキランプ視差は、左右ブレーキランプのうち一方の視差dpとしてもよい。
【0060】
画像処理部3は、ステップS202で左右のブレーキランプ幅、左右ブレーキランプ中心座標、ブレーキランプ間画像上幅、ブレーキランプ視差をそれぞれ計算したことに応じて、ステップS203でブレーキランプ間実空間上幅を計算し、ステップS204でブレーキランプ間実空間上幅が所定値以下であるか否かを判別する。ブレーキランプ間実空間幅は、ステップS202で計算したブレーキランプ間画像幅を実空間上(三次元空間上)での幅に換算したものである。そして、ステップS204の判別処理では、ブレーキランプ間実空間上幅が例えば1m以下であるか否かを判別する。
ステップS204においてブレーキランプ間実空間上幅が所定値以下であるとの肯定結果が得られた場合、画像処理部3は
図5に示す処理を終える。すなわち、ブレーキランプ間実空間上幅が所定値以下であると判定されたフレーム画像については、後述する補正値算出用のブレーキランプ視差及びブレーキランプ間幅の計算(S207)やその蓄積(S208)が行われず、補正値の算出に係る処理の対象から除外される。
【0061】
ここで、点灯中の左右ブレーキランプとして検出された物体間の幅があまりにも狭い場合には当該左右の物体は同一先行車両の左右ブレーキランプでない可能性が高い。或いは、同一先行車両の左右ブレーキランプを検出しているものの、例えば外部環境やシステム上の不具合等による何らかの一時的な検出誤差要因が生じている可能性もある。そこで、上記のように左右ブレーキランプ間の実空間上幅が所定値以下であると判定したフレーム画像については処理対象から除外することで、信頼性の低いフレーム画像に基づく補正値の算出が行われてしまうことを防止し、補正値の精度の向上を図っている。
【0062】
画像処理部3は、ステップS204でブレーキランプ間実空間上幅が所定値以下ではないとの否定結果が得られた場合は、ステップS205に進んで左右のブレーキランプ幅の差(
図6におけるWLとWRの差)が所定値以上であるか否か、例えば2画素以上であるか否かを判別する。
左右のブレーキランプ幅の差が所定値以上であるとの肯定結果が得られた場合、画像処理部3は
図5に示す処理を終える。すなわち、現在のフレーム画像は補正値の算出に係る処理対象から除外される。
【0063】
通常、ブレーキランプは左右対称形状で設けられているため、自車両が先行車両の後面に対して正対していれば検出サイズは同等となるべきである。これに反して左右のブレーキランプ幅に差があるということは、何らかの異常が生じているとみなすことができる。例えば、早朝や夕方の時間帯等において先行車両の一方のブレーキランプにのみ比較的強く順光が当たっているケースなどでは一方のブレーキランプの検出サイズが大きくなる場合がある。或いは、上記の順光等の外部環境のみでなく、システム上の不具合等による何らかの一時的な検出誤差要因が生じている場合にも左右ブレーキランプの幅に差が生じ得る。左右ブレーキランプの幅に差があるということは、前述した左右ブレーキランプ中心座標のうち少なくとも一方は不正確であり、これに伴い先行車両の見かけの大きさに相当するブレーキランプ間幅の値も不正確になる。
そこで、上記のように先行車両の左右ブレーキランプの幅の差が所定値以上であると判定したフレーム画像を処理対象から除外することで、信頼性の低いフレーム画像に基づく補正値の算出が行われてしまうことを防止し、補正値の精度の向上を図っている。
【0064】
画像処理部3は、ステップS205で左右ブレーキランプの幅の差が所定値以上ではないとの否定結果が得られた場合は、ステップS206に進んで左右ブレーキランプの縦位置の差が所定値以上であるか否かを判別する。ここで、左右個々のブレーキランプの縦位置は、
図6にそれぞれ「JL」「JR」と示すように前述した中心座標の縦位置(j座標)とする。ステップS206ではこれら縦位置の差が例えば4画素以上であるか否かを判別する。
画像処理部3は、左右のブレーキランプ幅の差が所定値以上であるとの肯定結果が得られた場合は
図5に示す処理を終える。すなわち、現在のフレーム画像は補正値の算出に係る処理対象から除外される。
【0065】
ここで、検出した左右ブレーキランプの縦位置に差がある場合には、自車両や先行車両が旋回中でロール角をもち撮像画像内でブレーキランプが斜めに配置されていたり、同一先行車両の左右ブレーキランプとして検出したはずの左右一対の物体のうちの一方がブレーキランプ以外の赤色発光体であったなど、先行車両のブレーキランプ以外が誤検出されている可能性がある。或いは、同一先行車両の左右ブレーキランプを検出しているものの外部環境やシステム上の不具合等による何らかの一時的な検出誤差要因が生じている可能性もある。これらの場合において補正値を算出するのは望ましくないため、上記のように縦位置の差が所定値以上であると判定したフレーム画像を補正値の算出に係る処理の対象から除外することで、信頼性の低いフレーム画像に基づく補正値の算出が行われてしまうことを防止し、補正値の精度の向上を図っている。
【0066】
画像処理部3は、ステップS206で左右ブレーキランプの縦位置の差が所定値以上でないとの否定結果が得られた場合は、ステップS207に進んで補正値算出用ブレーキランプ視差、及び補正値算出用ブレーキランプ間幅を計算する。補正値算出用ブレーキランプ視差は、ステップS202で求めたブレーキランプ視差の値を用いて下記のように計算する。
補正値算出用ブレーキランプ視差=基線長/(画素ピッチ*焦点距離)/ブレーキランプ視差+視差オフセット値DP …[式4]
また、補正値算出用ブレーキランプ間幅は、ステップS202で求めたブレーキランプ間画像幅の値を用いて下記のように計算する。
補正値算出用ブレーキランプ間幅=(基線長*ブレーキランプ間画像幅)/{基線長/(画素ピッチ*焦点距離)}/距離 …[式5]
但し、[式5]において、「距離」は先行車両までの距離を意味し、例えばステップS202で求めたブレーキランプ視差の値を用いて先の[式3]で計算される距離Zの値を用いる。或いは、前述した先行車検出処理で求めた先行車距離の値を用いてもよい。
【0067】
ここで、上記のように計算される補正値算出用ブレーキランプ視差及び補正値算出用ブレーキランプ間幅としては、共に視差オフセット値DPを取り入れた値とされている(補正値算出用ブレーキランプ間幅は最終的に距離で除算しているため視差オフセット値DPが取り入れられている)。本実施の形態では、このようにブレーキランプ視差とブレーキランプ間幅の値として、画素数単位によるブレーキランプ視差及びブレーキランプ間幅(ブレーキランプ間画像幅)の値をそのまま用いるものとはせず、それらの値を視差オフセット値DPを取り入れたかたちに換算し、それら換算した値を用いてステップS105での近似直線の算出(つまり補正値の算出)を行う。これにより、画素数単位によるブレーキランプ視差及びブレーキランプ間幅の値をそのまま用いた近似直線の算出を行う場合よりも補正値の精度の向上が図られる。
【0068】
なお、確認のため述べておくと、補正値算出用ブレーキランプ間幅は、[式5]で最終的に距離で除算されていることからも理解されるように、先行車両が自車両から遠ざかるほど値が小さくなり、逆に近づくほど値が大きくなる。従って、補正値算出用ブレーキランプ間幅としても、先行車両の見かけの大きさを表すものであることに変わりはない。
【0069】
画像処理部3は、ステップS207で補正値算出用ブレーキランプ視差、及び補正値算出用ブレーキランプ間幅を計算したことに応じて、ステップS208でそれら計算した補正値算出用ブレーキランプ視差と補正値算出用ブレーキランプ間幅をメモリ4に蓄積する処理を実行し、
図5に示す処理を終える。
【0070】
図7は、近似直線算出処理(S105)のフローチャートである。
画像処理部3は、先のステップS104でデータ蓄積数が所定数以上であるとの肯定結果が得られたことに応じて、
図7に示すステップS301で処理回数カウント値nを0リセットし、ステップS302で蓄積データに基づき最小自乗法ににより近似直線を計算する。すなわち、先のステップS208の処理によって蓄積された[補正値算出用ブレーキランプ視差,補正値算出用ブレーキランプ間幅]のデータに基づき、ブレーキランプ視差とブレーキランプ間幅の関係を表す近似直線(y=ax+b)を最小自乗法によって計算する。
【0071】
ステップS302で近似直線を計算したことに応じ、画像処理部3はステップS303に進んで蓄積データのうち近似直線に対して残差が過大なデータとブレーキランプ間幅の値が逸脱しているデータを除去する処理を実行する。すなわち、複数蓄積された[補正値算出用ブレーキランプ視差,補正値算出用ブレーキランプ間幅]のデータのうち、ステップS302で計算した近似直線に対する残差が過大とされるデータ(残差が所定値以上のデータ)と、補正値算出用ブレーキランプ間幅の値が他のデータにおける補正値算出用ブレーキランプ間幅の値に対して逸脱しているとされるデータとを除去する。このとき、補正値算出用ブレーキランプ間幅の値が逸脱しているか否かは、例えば蓄積された複数の補正値算出用ブレーキランプ間幅の値の平均値を求め、該平均値との差が所定値以上であるか否かにより判別する。
【0072】
続くステップS304で画像処理部3は、蓄積データに基づき最小自乗法により近似直線を再計算する。すなわち、ステップS303で除去したデータを除いた蓄積データに基づいて近似直線を再計算する。
【0073】
次のステップS305で画像処理部3は、処理回数カウント値nが上限値N以上であるか否かを判別し、否定結果が得られた場合はステップS306で処理回数カウント値をインクリメント(n←n+1)し、ステップS303に戻る。一方、ステップS305で肯定結果が得られた場合、画像処理部3は
図7に示す処理を終える。
これにより、処理回数カウント値nが上限値Nに達するまでステップS303によるデータ除去処理とステップS304による近似直線の再計算処理とが繰り返される。この繰り返しにより、近似直線としてより精度の高い直線を算出でき、従って補正値の精度の向上が図られる。なお、本例では上限値N=1として、最小自乗法による近似直線の算出が計3回行われるようにしている。
【0074】
画像処理部3は、上記のようなステップS105の近似直線算出処理を実行したことに応じて、前述したステップS106の補正処理を実行する。この場合のステップS106の処理では、上記のような繰り返し処理によって最終的に算出された近似直線の切片bの値に基づいて視差オフセット値DPの補正が行われる。
これにより、カメラの取付状態の経時的な変化に伴い生じる視差オフセット値DPの誤差を適正に補正することができる。すなわち、視差dpから距離Zを算出する計算式の補正を適正に行うことができる。
【0075】
<4.実施の形態のまとめ>
上記のように本実施の形態の画像処理装置(画像処理部3)は、自車両の進行方向をステレオ撮像して得られた一対の撮像画像に基づいて算出した被写体の視差に基づき前記被写体までの距離を算出する距離算出手段(三次元位置情報生成処理部3A)と、前記撮像画像と前記距離算出手段により算出された前記距離とに基づいて自車両の進行方向に存在する先行車両を検出する先行車両検出手段(先行車両検出処理部3D)と、前記先行車両検出手段により検出された先行車両に対応する前記視差及び前記先行車両の見かけの大きさの変化に基づいて、前記視差から前記距離を算出する計算式の補正を行う補正手段(視差オフセット値補正処理部3E)とを備えている。
そして、前記補正手段は、前記先行車両のブレーキランプが点灯しているか否かを判定した結果に基づき、前記計算式を補正するための補正値の算出に係る処理を開始する。
【0076】
これにより、先行車両が減速状態となる、すなわち先行車両の視差及び見かけの大きさの変化が確実に期待できる場合に対応して補正値の算出に係る処理を開始することが可能とされる。
従って、視差から距離を算出する計算式の補正を行うシステムにおいて、補正に要する時間の短縮化及び補正に係る処理負担の軽減を図ることができる。
【0077】
また、本実施の形態の画像処理装置においては、前記補正手段は、前記先行車両の左右ブレーキランプ間の実空間上幅が所定値以下であると判定したフレーム画像を前記補正値の算出に係る処理の対象から除外する。
これにより、例えば点灯中の左右ブレーキランプとして検出された物体が同一先行車両の左右ブレーキランプでない可能性が高い場合や何らかの検出誤差要因が生じている可能性がある場合等での信頼性の低いフレーム画像については、補正値の算出に係る処理の対象から除外される。
従って、補正値の精度の向上が図られ、距離Zの算出精度を向上できる。
【0078】
さらに、本実施の形態の画像処理装置においては、前記補正手段は、前記先行車両の左右ブレーキランプの幅の差が所定値以上であると判定したフレーム画像を前記補正値の算出に係る処理の対象から除外する。
これにより、例えば一方のブレーキランプのみに順光が当たっているケースなどで左右ブレーキランプの幅に差が生じている信頼性の低いフレーム画像については、補正値の算出に係る処理の対象から除外される。
従って、補正値の精度の向上が図られ、距離Zの算出精度を向上できる。
【0079】
さらにまた、本実施の形態の画像処理装置においては、前記補正手段は、前記先行車両の左右ブレーキランプの縦位置の差が所定値以上であると判定したフレーム画像を前記補正値の算出に係る処理の対象から除外する。
これにより、自車両や先行車両が旋回中でロール角をもっていたり左右ブレーキランプの一方にブレーキランプ以外の赤色発光体を誤検出している場合や何らかの検出誤差要因が生じている可能性がある場合等での信頼性の低いフレーム画像については、補正値の算出に係る処理の対象から除外される。
従って、補正値の精度の向上が図られ、距離Zの算出精度を向上できる。
【0080】
加えて、本実施の形態の画像処理装置においては、前記補正手段は、自車両が旋回中であると判定したときのフレーム画像を前記補正値の算出に係る処理の対象から除外する。
これにより、自車両が先行車両の後面と正対しておらず先行車両の見かけの大きさが不正確となる場合に得られたフレーム画像については補正値の算出に係る処理の対象から除外される。
従って、補正値の精度の向上が図られ、距離Zの算出精度を向上できる。
【0081】
<5.変形例>
以上、本発明の実施の形態について説明したが、本発明は上記で説明した具体例に限定されず、多様な変形例が考えられるものである。
例えば、補正値の算出に係る処理の対象から除外するフレーム画像の条件は、上記で例示したものに限定されない。例えば、自車両の前/後ピッチ量が所定値以上の場合には補正値の算出精度の低下が懸念されるため、そのような場合に得られたフレーム画像は処理対象から除外することもできる。なお、自車両の前/後ピッチ量はGセンサ10Fの検出信号に基づき得ることができる。また、自車両がブレーキON状態では前方向へのピッチが生じるため、ブレーキスイッチ10BがONであることが判定された場合のフレーム画像を処理対象から除外してもよい。
さらに、自車両が旋回中であるか否かの判定(ステップS101)に代えて、自車両の進行路上の所定距離内にカーブがあるか否かを判定してもよい。
【0082】
また、上記で例示した距離の計算式の補正手法は一例に過ぎず、例えば特許文献1に記載のように視差誤差εを補正値として算出する補正手法を採ることもできる。また、補正値算出用のブレーキランプ視差、ブレーキランプ間幅を計算せずに、画素数単位によるブレーキランプ視差及びブレーキランプ間幅(ブレーキランプ間画像幅)の値をそのまま用いて近似直線を算出することもできる。