(57)【要約】【課題】  走行中の白線検知状況に依存することなく前車を検出するための画像処理領域を設定し、設定した画像処理領域における画像を処理して前車を検知する。【解決手段】  自車の前方を撮像するとともに自車の挙動を検出し、自車の挙動に基づいて前車の位置を推定し、推定した前車の位置に基づいて撮像した自車前方の画像上に前車を検出するための画像処理領域を設定し、さらに設定した画像処理領域を走行環境に応じて補正する。そして、補正後の画像処理領域における画像の特徴を導出し、導出した特徴に基づいて前車を検知する。【選択図】  図２ 
2005148816.tif 000002
【特許請求の範囲】
【請求項１】
自車の前方を撮像する撮像手段と、
自車の挙動を検出する挙動検出手段と、
前記挙動検出手段により検出した自車の挙動に基づいて前車の位置を推定する前車推定手段と、
前記前車推定手段により推定した前車の位置に基づいて、前記撮像手段により撮像した画像上に前車を検出するための画像処理領域を設定する領域設定手段と、
前記領域設定手段により設定した画像処理領域を走行環境に応じて補正する領域補正手段と、
前記領域補正手段による補正後の画像処理領域における画像の特徴を導出する特徴導出手段と、
前記特徴導出手段により導出した特徴に基づいて前車を検知する前車判定手段とを備えることを特徴とする車両用画像処理装置。
【請求項２】
請求項１に記載の車両用画像処理装置において、
前記領域補正手段は、ヘッドライト点灯時には前記画像処理領域をヘッドライトが照射される範囲内に補正することを特徴とする車両用画像処理装置。
【請求項３】
請求項１に記載の車両用画像処理装置において、
前記領域補正手段は、ヘッドライト点灯時には前記画像処理領域を配光制御によりヘッドライトが照射される範囲内に補正することを特徴とする車両用画像処理装置。
【請求項４】
請求項１に記載の車両用画像処理装置において、
前記領域補正手段は、ナビゲーション装置から自車の走行道路の曲率半径を入手し、走行道路の曲率半径に応じて前記画像処理領域を補正することを特徴とする車両用画像処理装置。
【請求項５】
請求項１に記載の車両用画像処理装置において、
前記領域補正手段は、ナビゲーション装置から自車の走行道路の勾配を入手し、走行道路の勾配に応じて前記画像処理領域を補正することを特徴とする車両用画像処理装置。
【請求項６】
請求項１に記載の車両用画像処理装置において、
前記領域補正手段は、ナビゲーション装置から自車の現在地と走行道路の曲率半径を入手するとともに、操舵角検出手段から自車の操舵角を入手し、自車の現在地と前記画像処理領域がともに所定値より小さい曲率半径の曲線路にある場合には、前記操舵角検出手段から入手した操舵角に応じて前記画像処理領域を補正せず、前記ナビゲーション装置から入手した自車の現在地の走行道路の曲率半径に応じて前記画像処理領域を補正することを特徴とする車両用画像処理装置。
【請求項７】
請求項１に記載の車両用画像処理装置において、
前記領域補正手段は、ナビゲーション装置から自車の現在地と走行道路の曲率半径を入手するとともに、操舵角検出手段から自車の操舵角を入手し、自車の現在地と前記画像処理領域がともに所定値より大きな曲率半径の直線路にある場合には、前記操舵角検出手段から入手した自車の操舵角に応じて前記画像処理領域を補正せず、前記ナビゲーション装置から入手した自車の現在地の走行道路の曲率半径に応じて前記画像処理領域を補正することを特徴とする車両用画像処理装置。
【請求項８】
請求項１に記載の車両用画像処理装置において、
前記領域補正手段は、車外から走行道路におけるスプラッシュ発生に関する走行環境情報を入手し、走行道路にスプラッシュが発生している場合には、前記画像処理領域を撮像画像の上方に補正することを特徴とする車両用画像処理装置。
【請求項９】
請求項１に記載の車両用画像処理装置において、
前記領域補正手段は、車外から走行道路におけるスプラッシュ発生に関する走行環境情報を入手し、走行道路にスプラッシュが発生している場合には、前記画像処理域の下側を削除することを特徴とする車両用画像処理装置。
【請求項１０】
請求項１に記載の車両用画像処理装置において、
前記領域設定手段は、車外から前車との車間距離情報を入手し、前車との車間距離情報が得られた場合には前車との車間距離に基づいて画像処理領域を設定することを特徴とする車両用画像処理装置。
【請求項１１】
請求項１に記載の車両用画像処理装置において、
前記領域設定手段は、車外から自車の走行レーンの道路標識に関する情報を入手するととももに、前記挙動検出手段により検出された自車の挙動に基づいて将来の自車位置を推定し、自車走行レーンの道路標識情報と推定した将来の自車位置とに基づいて、前車と道路標識を検出するための画像処理領域を設定することを特徴とする車両用画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カメラにより撮像した画像を処理して自車周囲の状況を認識する車両用画像処理装置に関する。
【背景技術】
【０００２】
カメラにより撮像した画像の中から自車の走行車線を認識し、走行車線内に限定してエッジ抽出処理を行い、自車前方の障害物を効率よく検出するようにした車両用障害物検出装置が知られている（例えば、特許文献１参照）。
【０００３】
この出願の発明に関連する先行技術文献としては次のものがある。
【特許文献１】特開平１０−０９７６９９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した従来の車両用障害物検出装置では、降雨や降雪などの走行環境下において道路上の白線を認識できない場合には、エッジ抽出処理を行う領域を限定することができないため、画像処理効率が低下してしまうという問題がある。
【課題を解決するための手段】
【０００５】
自車の前方を撮像するとともに自車の挙動を検出し、自車の挙動に基づいて前車の位置を推定し、推定した前車の位置に基づいて撮像した自車前方の画像上に前車を検出するための画像処理領域を設定し、さらに設定した画像処理領域を走行環境に応じて補正する。そして、補正後の画像処理領域における画像の特徴を導出し、導出した特徴に基づいて前車を検知する。
【発明の効果】
【０００６】
本発明によれば、走行中の白線検知状況に依存することなく前車を検出するための画像処理領域を設定することができ、前車検知処理を効率的に行うことができる。
【発明を実施するための最良の形態】
【０００７】
《発明の第１の実施の形態》
図１に第１の実施の形態の構成を示す。レーザーレーダー１はスキャンニング式のレーザーレーダーであり、車両前部に設置されて車両前方の所定範囲をレーザー光で走査する。レーダー処理装置２は、レーザーレーダー１で走査した結果から前方車両を含む物体を抽出する。このレーダー処理装置２では、各物体に対して自車両を原点とする二次元（車間距離方向と車幅方向）座標値の算出と物体の幅（大きさ）の算出とを行う。
【０００８】
カメラ３はプログレッシブスキャン式３ＣＣＤカメラであり、車室内のフロントウインドウ上部中央に設置されて自車前方の状況を高速に撮像する。画像処理装置４は、カメラ３により撮像した画像の中のレーダー処理装置２で捕捉した物体の座標付近を注目領域として画像処理し、自車両のピッチング変動などによりレーダー１で検知物体を見失った場合にもカメラ画像により物体を検知し続ける。
【０００９】
外界認識装置５は外界の状況を認識する。外界認識装置５にはレーダー処理装置２と画像処理装置４の他に、従動車輪の回転により車速を検出する車速検出装置６、操舵角を検出する操舵角検出装置７、ヨーレイトを検出するヨーレイト検出装置１０、車両の現在地と道路情報を提供するナビゲーション装置１１などが接続され、レーダー処理装置２で検知した各物体位置と画像処理装置４で追跡している物体位置とを選択して自車両にとって障害物であるか否かを正確に判断し、判断結果を自動ブレーキ制御装置８へ出力する。自動ブレーキ制御装置８は負圧ブレーキブースター９に駆動信号を出力し、前後輪に制動力を発生させる。
【００１０】
レーダー処理装置２、画像処理装置４、外界認識装置５、自動ブレーキ制御装置８はそれぞれマイクロコンピューターと各種アクチュエーターの駆動回路を備え、互いに通信回路を介して情報の授受を行う。
【００１１】
図２は、外界認識装置５で実行されるカメラ画像処理による前車検知プログラムを示すフローチャートである。このフローチャートにより、第１の実施の形態の動作を説明する。外界認識装置５はこの前車検知プログラムを所定時間間隔、例えば５０msecごとに実行する。
【００１２】
この第１の実施の形態では、スキャンニング式レーザーレーダー１が機能しない走行環境下において、ＣＣＤカメラ３で撮像した画像の中に処理領域を設定して前方車両を検出する処理を行う場合に、夜間のヘッドライト点灯のために画像処理領域をヘッドライトの照射範囲に補正する例を示す。
【００１３】
ステップ２０１においてＣＣＤカメラ３から今回のサンプリング周期における撮像画像を読み込み、続くステップ２０２で車速検出装置６から自車速を、操舵角検出装置７から操舵角を、ヨーレイト検出装置１０からヨーレイトなどの自車両の挙動データを読み込む。
【００１４】
ステップ２０３で、予め設定した２つの車間時間Thw1、Thw2に基づいて前車の縦方向（車間距離方向）における存在位置obj_Y1、obj_Y2を推定する。
obj_Y1＝Vsp・Thw1  ・・・（１−１）、
obj_Y2＝Vsp・Thw2  ・・・（１−２）
ここで、Vspはステップ２０２で読み込んだ自車両の車速[ｍ／ｓ]であり、また車間時間Thw1、Thw2は０＜Thw1＜Thw2の関係がある。
【００１５】
例えば、自車線上の先行車に追従走行を行うときは予め設定した車速以下で車間距離が目標車間距離となるように車間距離制御を行い、自車線上に先行車がいないときには自車速が予め設定した車速となるように車速制御を行う車間距離制御システムを装備している場合には、運転者が設定する車間時間ThwACCの長、中、短に合わせて、車間時間Thw1＝（ThwACC−TermTmp）、Thw2＝（ThwACC＋TermTmp）のように設定してもよい。ここで、TermTmpは所定の正数である。このようにすると、先行車追従走行制御中に降雨や降雪などによりレーダーで先行車を見失いやすい走行環境下でも、一実施の形態のカメラ画像処理により正確に先行車を検知し続けられる。
【００１６】
また、例えばナビゲーション装置を装備している場合には、ナビゲーション装置で把握した自車走行路の道路種別に応じて予め設定された車間時間Thw1、Thw2を変更してもよい。例えば、一般道走行時の車間時間Thw1を高速道路走行時の車間時間Thw2より短くすることによって、背景の複雑な一般道において背景を前方車両として誤認する頻度を低減することができる。
【００１７】
次に、ステップ２０４において次式により将来の自車進路の曲率半径Row[ｍ]を推定する。
Row＝（１＋Ａ・Vsp２・LWB）／Steer  ・・・（２）
ここで、Ａは車両固有のスタビリティーファクターであり、車重、ホイールベース長、重心位置、タイヤの横力で決まる定数とみなせる値である。また、LWBはホイールベース長であり、Steerは操舵角[rad]（右回転を正とする）である。
【００１８】
ステップ２０５では次式により将来の前車の横方向位置（車幅方向位置）を推定する。
if（Row＞０）  ｛obj_X1＝Row−√（Row２−obj_Y1２）、
obj_X2＝Row−√（Row２−obj_Y2２）｝
else  ｛obj_X1＝Row＋√（Row２−obj_Y1２）、
obj_X2＝Row＋√（Row２−obj_Y2２）｝  ・・・（３）
（３）式において、if（expression)｛statement1｝else｛statement2｝は、expressionを満たす場合にはstatement1を実行し、expressionを満たさない場合にはstatement2を実行する関数である。つまり、右カーブの場合にはstatement1を実行し、左カーブの場合はstatement2を実行する。
【００１９】
ステップ２０６においてヘッドライトを点灯中か否かを確認し、点灯中の場合はステップ２０７へ進み、そうでなければステップ２１１へ進む。ヘッドライト点灯中の場合は、ステップ２０７でヘッドライトの鉛直方向の光軸角度AngleVertHLを読み込み、次式によりヘッドライトが照射する最遠方距離DistHLを算出する。
DistHL＝HeightHL／tan（AngleVertHL）  ・・・（４）
ここで、HeightHLはヘッドライトの取り付け高さである。
【００２０】
続くステップ２０８では、ステップ２０３で求めた前車の縦方向の存在位置推定範囲obj_Y1〜obj_Y2をヘッドライトの最遠方距離DistHL内に補正する。
if（obj_Y2＞DistHL）｛
obj_Y2＝DistHL、        ・・・（５−１）
if（obj_Y1＞obj_Y2−Vsp（Thw2−Thw1））｛
obj_Y1＝obj_Y2−Vsp（Thw2−Thw1）｝  ・・・（５−２）
｝
【００２１】
ステップ２０９で自車の操舵に応じて配光制御が行われる場合に、ヘッドライトの水平方向照射角度の左端AngleHoriHL_Lと右端AngleHoriHL_Rを読み込み、次式により車間距離方向の前車推定位置に応じたヘッドライトの横方向照射範囲の左右端位置PosiHL_L、PosiHL_Rを算出する。
PosiHL_L1＝tan（AngleHoriHL_L）・obj_Y1  ・・・（６−１）
PosiHL_R1＝tan（AngleHoriHL_R）・obj_Y1  ・・・（６−２）
PosiHL_L2＝tan（AngleHoriHL_L）・obj_Y2  ・・・（６−３）
PosiHL_R2＝tan（AngleHoriHL_R）・obj_Y2  ・・・（６−４）
【００２２】
ステップ２１０では、ステップ２０５で求めた前車の横方向の推定位置obj_X1、obj_X2をヘッドライトの横方向照射範囲PosiHL_L〜PosiHL_R内に補正する。
if（obj_X1＜PosiHL_L1）｛obj_X1＝PosiHL_L1｝  ・・・（７−１）
if（obj_X1＞PosiHL_R1）｛obj_X1＝PosiHL_R1｝  ・・・（７−２）
if（obj_X2＜PosiHL_L2）｛obj_X2＝PosiHL_L2｝  ・・・（７−３）
if（obj_X2＞PosiHL_R2）｛obj_X2＝PosiHL_R2｝  ・・・（７−４）
座標系としては自車進行方向の左側が負の値となるため、（７−１）式と（７−３）式はヘッドライトの照射範囲よりもさらに左側に前車位置が推定された場合の補正を表し、（７−２）式と（７−４）式はヘッドライトの照射範囲よりもさらに右側に前車位置が推定された場合の補正を表す。
【００２３】
ステップ２１１では道路面座標系の前車の縦方向位置（車間距離方向位置）obj_Y1、obj_Y2をカメラ３の画面座標系の鉛直方向座標に変換し、２つの画像処理領域の鉛直方向座標を決定する。
disp_obj_YA1＝y0＋（focusV・CAM_h2／obj_Y1）  ・・・（８−１）
disp_obj_YB1＝y0＋（focusV・CAM_h／obj_Y1）   ・・・（８−２）
disp_obj_YA2＝y0＋（focusV・CAM_h2／obj_Y2）  ・・・（８−３）
disp_obj_YB2＝y0＋（focusV・CAM_h／obj_Y2）   ・・・（８−４）
ここで、disp_obj_YA1は画像処理を行う領域１の上側の座標値、disp_obj_YB1は画像処理を行う領域１の下側の座標値、disp_obj_YA2は画像処理を行う領域２の上側の座標値、disp_obj_YB2は画像処理を行う領域２の下側の座標値である。また、y0は消失点の縦方向座標[pix；画素数]であり、カメラ３の取り付け位置と向きで決まる。focusVは画素換算したカメラの鉛直方向の焦点距離[pix]であり、CAM_hはカメラ３の取り付け高さ[ｍ]、CAM_h2はCAM_hから障害物候補として考慮すべき物体の高さを減算した値である。
【００２４】
ステップ２１２では、予め設定した２つの車間時間Thw1、Thw2（Thw1＜Thw2）に基づいて、次式によりカメラ３の画面座標系における２つの画像処理領域の水平方向座標を決定する。
disp_obj_XL1＝x0＋（obj_X1・focusH／obj_Y1）−（Width・focusH／obj_Y1）
・・・（９−１）
disp_obj_XR1＝x0＋（obj_X1・focusH／obj_Y1）＋（Width・focusH／obj_Y1）
・・・（９−２）
disp_obj_XL2＝x0＋（obj_X2・focusH／obj_Y2）−（Width・focusH／obj_Y2）
・・・（９−３）
disp_obj_XR2＝x0＋（obj_X2・focusH／obj_Y2）＋（Width・focusH／obj_Y2）
・・・（９−４）
ここで、disp_obj_XL1は画像処理を行う領域１の左側の座標値、disp_obj_XR1は画像処理を行う領域１の右側の座標値、disp_obj_XL2は画像処理を行う領域２の左側の座標値、disp_obj_XR2は画像処理を行う領域２の右側の座標値である。また、x0は消失点の横方向座標[pix]であり、カメラ３の取り付け位置と向きで決まる。focusHは画像換算したカメラ３の水平方向の焦点距離[pix]であり、カメラ３の画角と受光素子の解像度で決まる。なお、カメラ３の受光面が正方格子の場合にはfocusV＝focusHとなる。Widthは画像処理領域の幅を決めるパラメーターであって、自車幅の半分以上の値を有するものである。
【００２５】
ステップ２１３では、ステップ２１１とステップ２１２で設定した２つの画像処理領域を次の順序で１つの領域につなぎ合わせ、最終的な画像処理領域を作成する。まず、次の座標を囲む台形領域を領域３として新たに設定する。
左上座標（disp_obj_XL2，disp_obj_YA2）  ・・・（１０−１）
右上座標（disp_obj_XR2，disp_obj_YA2）  ・・・（１０−２）
左下座標（disp_obj_XL1，disp_obj_YA1）  ・・・（１０−３）
右下座標（disp_obj_XR1，disp_obj_YA1）  ・・・（１０−４）
【００２６】
次に、下記座標を囲む台形領域を領域４として新たに設定する。
左上座標（disp_obj_XL2，disp_obj_YB2）  ・・・（１１−１）
右上座標（disp_obj_XR2，disp_obj_YB2）  ・・・（１１−２）
左下座標（disp_obj_XL1，disp_obj_YB1）  ・・・（１１−３）
右下座標（disp_obj_XR1，disp_obj_YB1）  ・・・（１１−４）
【００２７】
そして、領域１〜４を足し合わせて各領域のすべてを含む最も大きい１つの領域を作成し、最終的な画像処理領域とする。理解を容易にするために領域１の座標を（１２−１）〜（１２−４）式に示し、領域２の座標を（１３−１）〜（１３−４）式に示す。
領域１；左上座標（disp_obj_XL1，disp_obj_YA1）  ・・・（１２−１）
右上座標（disp_obj_XR1，disp_obj_YA1）  ・・・（１２−２）
左下座標（disp_obj_XL1，disp_obj_YB1）  ・・・（１２−３）
右下座標（disp_obj_XR1，disp_obj_YB1）  ・・・（１２−４）
領域２；左上座標（disp_obj_XL2，disp_obj_YA2）  ・・・（１３−１）
右上座標（disp_obj_XR2，disp_obj_YA2）  ・・・（１３−２）
左下座標（disp_obj_XL2，disp_obj_YB2）  ・・・（１３−３）
右下座標（disp_obj_XR2，disp_obj_YB2）  ・・・（１３−４）
【００２８】
例えば直進中の場合における最終的な画像処理領域は６角形であり、次式で表される座標により構成される。
左上座標（disp_obj_XL2，disp_obj_YA2）  ・・・（１４−１）
右上座標（disp_obj_XR2，disp_obj_YA2）  ・・・（１４−２）
左中座標（disp_obj_XL1，disp_obj_YA1）  ・・・（１４−３）
右中座標（disp_obj_XR1，disp_obj_YA1）  ・・・（１４−４）
左下座標（disp_obj_XL1，disp_obj_YB1）  ・・・（１４−５）
右下座標（disp_obj_XR1，disp_obj_YB1）  ・・・（１４−６）
【００２９】
なお、この実施の形態では２つの処理領域を設定する例を示すが、さらに多くの処理領域を設定することによってより複雑な道路形状に対応することができる。ただし、上述した設定領域を決める処理が複雑になる。
【００３０】
ステップ２１４では、ステップ２１３で設定した最終的な画像処理領域に対して特徴抽出のためのエッジ抽出処理を行う。以下にエッジ抽出処理の一例を示す。
【００３１】
まず、設定した画像処理領域についてＳｏｖｅｌフィルター演算などによりエッジ画像を求める。なお、Ｓｏｖｅｌフィルター演算は、隣接する画素間の濃淡変化を微分演算により求める演算手法であって、画像上における道路と車両の境界のように濃淡変化が大きい部分だけを集めることが可能な画像処理手法である。次に、エッジ画像の濃淡値の平均値と分散値からしきい値を設定し、エッジ画像を２値化する。つまり、エッジ画像対してしきい値を超える領域としきい値以下の領域に分類することによって、明確なエッジ部分とエッジでない部分の２つに分類する。そして、設定した画像処理領域の大きさに対して、明確にエッジとして分類されたエッジ量が所定値以上の場合には、エッジの密集した小領域を前車候補領域として認識する。
【００３２】
このように、ステップ２１１〜２１３で設定した領域に対して上記のＳｏｖｅｌフィルター演算を行うと以下の効果が得られる。まず、エッジ画像を求めることによって、必要な領域にのみ限定して微分演算を行うため、画像処理負荷を低減することができる。また、２値化のためのしきい値を設定することによって、画面全体について微分演算を行った場合のエッジ画像から設定するしきい値と比較して、より適切なしきい値設定が可能となるため、画像上の前車が存在する領域内に明確なエッジ部分が集中し、「明確なエッジ部分＝前車を把握するための特徴量」の関係を強くすることができる。つまり、明確なエッジ部分が背景である可能性を低くすることができる。さらに、明確なエッジ量のしきい値設定を行う、すなわち設定した画像処理領域の大きさに基づいてしきい値を設定することによって、前車との車間距離（遠近）に関わらず前車を正しく検知することができる。
【００３３】
ステップ２１５では、ステップ２１４におけるエッジ抽出処理の結果、前車候補領域が存在するかどうかを確認し、前車候補領域が存在する場合はステップ２１６へ進み、存在しなければステップ２１７へ進む。前車候補領域が存在する場合は、ステップ２１６において、設定した画像処理領域における小領域が前車候補領域として認識され続ける期間を表すTermRecoを次式でインクリメントし、ステップ２１８へ進む。
TermReco＝TermReco＋１  ・・・（１５）
【００３４】
一方、前車候補領域が存在しない場合は、ステップ２１７で、設定した画像処理領域における小領域が前車候補領域として認識され続ける期間を表すTermRecoを次式でディクリメントし、ステップ２１８へ進む。
TermReco＝TermReco−１  ・・・（１６）
【００３５】
ステップ２１８では次の条件式から前車候補領域を前車として判断し、判断結果をフラグFlagJudgeに代入する。
if（TermReco＞ThJudge）｛FlagJudge＝１｝else｛FlagJudge＝０｝  ・・・（１７）
ここで、ThJudgeは前車を判断するまでに要する最小時間を表す正のしきい値である。このしきい値ThJudgeを大きくすれば、背景などを前車として誤認識する頻度をさらに抑制できるが、実際の前車を画像処理により前車として判断するまでの時間が遅くなる。また、FlagJudgeは前車候補領域を新たに検出した場合には０にクリアされるものである。
【００３６】
ステップ２１９では後段へ前車の存在を知らせるためにフラグFlagJudgeを出力して終了する。
【００３７】
以上説明したように第１の実施の形態によれば、自車の前方を撮像するとともに自車の挙動を検出し、自車の挙動に基づいて前車の位置を推定し、推定した前車の位置に基づいて撮像した自車前方の画像上に前車を検出するための画像処理領域を設定し、さらに設定した画像処理領域を走行環境に応じて補正する。そして、補正後の画像処理領域における画像の特徴を導出し、導出した特徴に基づいて前車を検知するようにしたので、上述した従来の車両用障害物検出装置のように画像処理により白線検知を行う必要がなく、走行中の白線検知状況に依存することなく前車検知処理を効率的に行うことができる。その上、自車両の走行環境に応じて画像処理領域を補正することによって前車の位置をより正確に推定することができ、前車を捕捉しやすくなる。
【００３８】
また、第１の実施の形態によれば、ヘッドライトを点灯する走行環境下では画像処理領域をヘッドライトが照射される範囲内または配光制御によりヘッドライトが照射される範囲内に補正するようにしたので、ヘッドライトが照射されていない暗い部分に対応する画像処理が省略され、マイクロコンピューターの画像処理負荷を軽減することができ、前車検知処理の高速化を図ることができる。また、ヘッドライトが照射される範囲に限定してステップ２１４の処理を実施するので、より適切なしきい値を設定でき、夜間でも前車を正しく検知することができる。
【００３９】
《発明の第２の実施の形態》
画像処理領域の設定に際して、縦／横方向の設定位置をナビゲーション装置１１から得た道路の形状変化、すなわち勾配と曲率の変化に基づいて補正するようにした第２の実施の形態を説明する。なお、この第２の実施の形態の構成は図１に示す構成と同様であり、説明を省略する。
【００４０】
図３は、外界認識装置５で実行されるカメラ画像処理による前車検知プログラムを示すフローチャートである。このフローチャートにより、第２の実施の形態の動作を説明する。外界認識装置５はこの前車検知プログラムを所定時間間隔、例えば５０msecごとに実行する。なお、ステップ３０１〜３０５の処理は図２に示すステップ２０１〜２０５の処理と同様であるから説明を省略する。
【００４１】
ステップ３０６において、ナビゲーション装置１１から曲率変化開始地点までの距離DistRowChange[ｍ]と、曲率変化開始地点から先の曲率半径Row_Navi_AfterChange[ｍ]を読み取る。続くステップ３０７では読み込んだ曲率変化情報に基づいて次式により横方向の前車位置の推定範囲を補正する。
if（obj_Y1＜DistRowChange  かつ  obj_Y2＞DistRowChange）｛
Row＝Row_Navi_AfterChange
if（Row＞０）｛obj_X2＝Row−√（Row２−obj_Y2２）｝
els｛obj_X2＝Row＋√（Row２−obj_Y2２）｝  ｝  ・・・（１８）
if（obj_Y1＞DistRowChange  かつ  0.0＜DistRowChange）｛
Row＝Row_Navi_AfterChange
if（Row＞０）｛obj_X1＝Row−√（Row２−obj_Y1２）
obj_X2＝Row−√（Row２−obj_Y2２）｝
else｛obj_X1＝Row＋√（Row２−obj_Y1２）
obj_X2＝Row＋√（Row２−obj_Y2２）｝  ｝  ・・・（１９）
【００４２】
（１８）式において、自車に近い方の前車推定位置obj_Y1は道路曲率変化地点に到達していないため、自車挙動から推定する自車に近い方の前車横位置推定値obj_X1は補正する必要はない。しかし、自車から遠い方の前車推定位置obj_Y2はすでに道路曲率変化地点に到達しているため、自車挙動から推定する自車から遠い方の前車横位置推定値obj_X2はナビゲーション装置１１から得た曲率半径Row_Navi_AfterChangeにより補正した方がより正しい前車検知を実施することができる。ちなみに、領域１と領域２だけではなく、さらに多くの領域を設定してステップ３０７を実施すると、複雑な道路形状でもしっかりと対応することができるようになる。
【００４３】
また、（１９）式において、自車に近い方の前車推定位置obj_Y1も自車から遠い方の前車推定位置obj_Y2もともに道路曲率変化地点に到達しているため、自車挙動から推定する自車に近い方の前車横位置推定値obj_X1と自車から遠い方の前車横位置推定値obj_X2とをともにナビゲーション装置１１から得た曲率半径Row_Navi_AfterChangeにより補正した方がより正しい前車検知を実施することができる。
【００４４】
ステップ３０８ではナビゲーション装置１１から勾配変化開始地点までの距離DistInclineChange[ｍ]と、勾配変化開始地点から先の勾配角度Incline_Navi_AfterChange[rad]を読み取る。
【００４５】
ステップ３０９において、読み込んだ勾配変化情報に基づいて次式により画像処理領域の鉛直方向補正量を求める。
if（obj_Y1＜DistInclineChange  かつ  obj_Y2＞DistInclineChange）｛
CompPitch1＝0.0
CompPitch2＝Incline_Navi_AfterChange（PixVert／VertAngle）  ｝・・・（２０）
if（obj_Y1＞DistInclineChange  かつ  0.0＜DistInclineChange）  ｛
CompPitch1＝Incline_Navi_AfterChange（PixVert／VertAngle）
CompPitch2＝CompPitch1  ｝  ・・・（２１）
ここで、PixVertはステップ３０１で読み込む入力画像の鉛直方向の画素数[Pix]であり、VertAngleは鉛直方向の視界角度[rad]を表す。
【００４６】
ステップ３１０では、上述した第１の実施の形態と同様に、ステップ３０９で求めた補正を次式により行う。
disp_obj_YA1＝y0＋（focusV・CAM_h2／obj_Y1）＋CompPitch1  ・・・（２２−１）
disp_obj_YB1＝y0＋（focusV・CAM_h／obj_Y1）＋CompPitch1  ・・・（２２−２）
disp_obj_YA2＝y0＋（focusV・CAM_h2／obj_Y2）＋CompPitch2  ・・・（２２−３）
disp_obj_YB2＝y0＋（focusV・CAM_h／obj_Y2）＋CompPitch2  ・・・（２２−４）
【００４７】
ステップ３１１〜３１８の処理は図２に示すステップ２１２〜２１９と同様な処理を行うので説明を省略する。
【００４８】
このように、第２の実施の形態によれば、自車の挙動に基づいて前車の位置を推定し、推定した前車の位置に基づいて自車前方の画像上に前車を検出するための画像処理領域を設定し、ナビゲーション装置１１から入手した走行道路の曲率半径と勾配に応じて画像処理領域を補正するようにしたので、自車が直進路を走行しているときに前車が曲線路に進入した場合、あるいは自車が平坦路を走行しているときに前車が勾配路に進入した場合における前車検知確率を大幅に向上させることができ、誤って背景を前車と誤認する頻度を大幅に低減させることができる。
【００４９】
《発明の第３の実施の形態》
画像処理領域の設定に際して、横方向の設定位置をナビゲーション装置１１から得た道路形状情報に基づいて補正するようにした第３の実施の形態を説明する。なお、この第３の実施の形態の構成は図１に示す構成と同様であり、説明を省略する。
【００５０】
図４は、外界認識装置５で実行されるカメラ画像処理による前車検知プログラムを示すフローチャートである。このフローチャートにより、第３の実施の形態の動作を説明する。外界認識装置５はこの前車検知プログラムを所定時間間隔、例えば５０msecごとに実行する。なお、ステップ４０１〜４０４の処理は図３に示すステップ３０１〜３０４の処理と同様であるから説明を省略する。
【００５１】
ステップ４０５において、ナビゲーション装置１１から曲率変化開始地点までの距離DistRowChange[ｍ]と、曲率変化開始地点から先の曲率半径Row_Navi_AfterChange[ｍ]と、自車の現在走行地点における曲率半径Row_Navi[ｍ]を読み取る。
【００５２】
ステップ４０６では、ステップ４０５で読み込んだ自車の現在位置より先の曲率変化情報と現在位置の曲率半径に基づいて次式の演算を行う。
if（abs（Row_Navi）＜Th_LargeCurve  かつ  obj_Y2＜DistRowChange）｛
Row＝Row_Navi  ｝  ・・・（２３）
ここで、Th_LargeCurveは大きな曲率半径の道路と判定するためのしきい値であり、abs（Ａ）は絶対値を返す関数である。
【００５３】
ステップ４０７では、読み込んだ曲率半径情報と現在の曲率半径に基づいて次式の演算を行う。
if（abs（Row_Navi）＞Th_Straight  かつ  obj_Y2＜DistRowChange）｛
Row＝Th_Straight  ｝  ・・・（２４）
ここで、Th_Straightは直線路と判定するためのしきい値[ｍ]であり、Th_LargeCurve＜Th_Straightの関係がある。
【００５４】
ステップ４０８の処理は図２に示すステップ２０５の処理と同様であり、説明を省略する。また、ステップ４０９〜４１７の処理は図３に示すステップ２１１〜２１９の処理と同様であり、説明を省略する。
【００５５】
このように、第３の実施の形態によれば、ナビゲーション装置１１から自車の現在地と走行道路の曲率半径を入手するとともに、操舵角検出装置７から自車の操舵角を入手し、自車の現在地と画像処理領域がともに所定値より小さい曲率半径の曲線路にある場合には、操舵角検出装置７から入手した操舵角に応じて画像処理領域を補正せず、ナビゲーション装置１１から入手した自車の現在地の走行道路の曲率半径に応じて画像処理領域を補正するようにしたので、路面カントにより操舵角から推定する前車の位置が実際のカント路面を走行する前車と合わなくなる現象を防止でき、前車の位置を正確に推定することができる。
【００５６】
また、第３の実施の形態によれば、ナビゲーション装置１１から自車の現在地と走行道路の曲率半径を入手するとともに、操舵角検出装置７から自車の操舵角を入手し、自車の現在地と画像処理領域がともに所定値より大きな曲率半径の直線路にある場合には、操舵角検出装置７から入手した自車の操舵角に応じて画像処理領域を補正せず、ナビゲーション装置１１から入手した自車の現在地の走行道路の曲率半径に応じて画像処理領域を補正するようにしたので、運転者が行う修正操舵（直進を続けようとする操舵）やレーンチェンジのための操舵によって実際の道路形状と自車推定進路が合わなくなる現象を防止でき、前車の位置を正確に推定することができる。
【００５７】
《発明の第４の実施の形態》
画像処理領域の設定に際して、縦方向の設定位置と縦方向の形状を走行路におけるスプラッシュ情報に基づいて補正するようにした第４の実施の形態を説明する。なお、この第４の実施の形態の構成は図１に示す構成と同様であり、説明を省略する。
【００５８】
図５は、外界認識装置５で実行されるカメラ画像処理による前車検知プログラムを示すフローチャートである。このフローチャートにより、第４の実施の形態の動作を説明する。外界認識装置５はこの前車検知プログラムを所定時間間隔、例えば５０msecごとに実行する。なお、ステップ５０１〜５０５の処理は図２に示すステップ２０１〜２０５の処理と同様であるから説明を省略する。
【００５９】
ステップ５０６において、インフラ情報、あるいはカメラ３により検出した前車のスプラッシュや雪の巻き上げ情報InfoSplashを読み込む。続くステップ５０７では、図２のステップ２１１と同様に、読み込んだスプラッシュ情報InfoSplashに基づいて２つの画像処理領域の鉛直方向座標を決定する。
if（InfoSplash＝１）｛
OffH1＝focusV・ParamH／obj_Y1
OffH2＝focusV・ParamH／obj_Y2
if（HeightVehicle＝１）｛
disp_obj_YA1＝y0＋（focusV・CAM_h2／obj_Y1）＋OffH1  ・・・（２５−１）
disp_obj_YB1＝y0＋（focusV・CAM_h／obj_Y1）＋OffH1  ・・・（２５−２）
disp_obj_YA2＝y0＋（focusV・CAM_h2／obj_Y2）＋OffH2  ・・・（２５−３）
disp_obj_YB2＝y0＋（focusV・CAM_h／obj_Y2）＋OffH2  ・・・（２５−４）
｝
else  ｛
disp_obj_YA1＝y0＋（focusV・CAM_h2／obj_Y1）        ・・・（２６−１）
disp_obj_YB1＝y0＋（focusV・CAM_h／obj_Y1）＋OffH1  ・・・（２６−２）
disp_obj_YA2＝y0＋（focusV・CAM_h2／obj_Y2）        ・・・（２６−３）
disp_obj_YB2＝y0＋（focusV・CAM_h／obj_Y2）＋OffH2  ・・・（２６−４）
｝
｝
else｛
disp_obj_YA1＝y0＋（focusV・CAM_h2／obj_Y1）  ・・・（２７−１）
disp_obj_YB1＝y0＋（focusV・CAM_h／obj_Y1）   ・・・（２７−２）
disp_obj_YA2＝y0＋（focusV・CAM_h2／obj_Y2）  ・・・（２７−３）
disp_obj_YB2＝y0＋（focusV・CAM_h／obj_Y2）   ・・・（２７−４）
｝
ここで、InfoSplashは路面がスプラッシュや雪の巻き上げが発生する状態で１になる変数であり、ParamHはスプラッシュなどが跳ね上がる高さ[ｍ]を意味する所定値である。また、HeithtVehicleはトラックや１ボックスカーなどの車高の高い車両が前車である場合に１になるフラグである。つまり、前車がトラックなど車高が高い車両の場合には、画像処理領域全体を上に上げた方が前車を検知できる頻度が高まるが、セダンやスポーツカーの場合には、画像処理領域全体を上に上げると背景を含んでしまい、背景を前車として誤認する頻度が高まるため、（２６−１）〜（２６−４）式のように画像処理領域の下側のみを持ち上げる。これにより、スプラッシュの影響を受けない領域を画像処理領域として設定できるため、後段の画像処理（特徴量抽出）において適切なしきい値を設定できる。
【００６０】
ステップ５０８〜５１５の処理は図２に示すステップ２１２〜２１９の処理と同様であり、説明を省略する。
【００６１】
このように、第４の実施の形態によれば、車外から走行道路におけるスプラッシュ発生に関する走行環境情報を入手し、走行道路にスプラッシュが発生している場合には、画像処理領域を撮像画像の上方に補正する、あるいは、画像処理域の下側を削除するようにしたので、スプラッシュや雪の巻き上げなどの影響を受けない画像処理範囲を設定でき、特徴量抽出のためのしきい値設定もより適切に行うことができる。
【００６２】
《発明の第５の実施の形態》
路側構造物などのインフラ情報を受信した場合にのみ、画像処理領域の設定に際して縦方向の設定位置をインフラ情報にしたがって設定するようにした第５の実施の形態を説明する。なお、この第５の実施の形態の構成は図１に示す構成と同様であり、説明を省略する。
【００６３】
図６は、外界認識装置５で実行されるカメラ画像処理による前車検知プログラムを示すフローチャートである。このフローチャートにより、第５の実施の形態の動作を説明する。外界認識装置５はこの前車検知プログラムを所定時間間隔、例えば５０msecごとに実行する。なお、ステップ６０１〜６０２の処理は図２に示すステップ２０１〜２０２の処理と同様であるから説明を省略する。
【００６４】
ステップ６０３において自車走行路上のインフラから前車の位置に関する情報を入手する。続くステップ６０４では次の条件に応じて前車位置を推定する。
if（ReceiveInfra＝１）｛obj_Y1＝DistInfra−ParamDist
obj_Y2＝DistInfra＋ParamDist｝
else  ｛obj_Y1＝Vsp・Thw1
obj_Y2＝Vsp・Thw2｝  ・・・（２８）
ここで、ReceiveInfraは、インフラ情報として前車との距離情報を受信した場合に１となる受信割り込み信号フラグである。また、DistInfraはインフラ情報で得られる前車との車間距離である。さらに、ParamDistは所定距離を表す正数であり、インフラ距離情報の精度や伝送遅れ時間に基づいて算出される。
【００６５】
ステップ６０５〜６０６の処理は図２に示すステップ２０４〜２０５の処理と同様であり、説明を省略する。また、ステップ６０７〜６１５の処理は図２のステップ２１１〜２１９の処理と同様であり、説明を省略する。
【００６６】
このように、第５の実施の形態によれば、車外から前車との車間距離情報を入手し、前車との車間距離情報が得られた場合には前車との車間距離に基づいて画像処理領域を設定するようにしたので、インフラ情報を受信するような場面、例えば悪天候時に前車の位置が把握しにくい場面などにおいて前車がより検知しやすくなる。
【００６７】
《発明の第６の実施の形態》
自車の挙動に基づいて将来の自車位置を推定し、その推定位置から自車走行レーンの交通標識を認識する際に、路側構造物などのインフラ情報、例えば主要幹線道路に設置されているＶＩＣＳの光ビーコンなどのように走行レーンごとに設置されるインフラ装置からの情報を受信した場合にのみ、画像処理領域の設定に際して横方向の設定位置をインフラ情報にしたがって補正するようにした第６の実施の形態を説明する。なお、この第６の実施の形態の構成は図１に示す構成と同様であり、説明を省略する。
【００６８】
図７は、外界認識装置５で実行されるカメラ画像処理による前車検知プログラムを示すフローチャートである。このフローチャートにより、第６の実施の形態の動作を説明する。外界認識装置５はこの前車検知プログラムを所定時間間隔、例えば５０msecごとに実行する。なお、ステップ７０１〜７０２の処理は図２に示すステップ２０１〜２０２の処理と同様であるから説明を省略する。
【００６９】
ステップ７０３において、ステップ７０２で読み込んだ自車速と舵角に基づいて次式により自車の将来の位置を推定する。
own_Y＝func1（Vsp）         ・・・（２９−１）
own_X＝func2（Vsp，Steer）  ・・・（２９−２）
ここで、func1は図８に示すような特性を有する関数であり、func2は図９に示すような特性を有する関数である。
【００７０】
ステップ７０４では自車走行路上のインフラから自車の走行レーンに関する情報を入手する。続くステップ７０５では自車の将来の推定位置と走行レーン情報に基づいて画像処理領域を設定する。
if（ReceiveInfra＝０）｛
disp_obj_YA1＝y0＋（focusV・CAM_h2−pH）／own_Y）          ・・・（３０−１）
disp_obj_YB1＝y0＋（focusV・CAM_h−pH）／own_Y）           ・・・（３０−２）
disp_obj_XL1＝x0＋（（own_X−pX）focusH／own_Y）−（Widht・focusH／own_Y）
・・・（３０−３）
disp_obj_XR1＝x0＋（（own_X−pX）focusH／own_Y）−（Widht・focusH／own_Y）
・・・（３０−４）
｝
else  ｛
disp_obj_YA1＝y0＋（focusV・（CAM_h2−pH）／own_Y）        ・・・（３１−１）
disp_obj_YB1＝y0＋（focusV・（CAM_h−pH）／own_Y）         ・・・（３１−２）
disp_obj_XL1＝x0＋（（own_X−pH−pLW・LanePosi）focusH／own_Y）
−（Width・focusH／own_Y）  ・・・（３１−３）
disp_obj_XR1＝x0＋（（own_X−pH−pLW・LanePosi）focusH／own_Y）
＋（Width・focusH／own_Y）  ・・・（３１−４）
｝
ここで、ReceiveInfraはインフラ情報として自車の走行レーン情報を受信していない場合に０となる受信割り込み信号フラグである。また、図１０に示すように、pHはターゲットとする交通標識の高さであり、pXは最も左の車線の中央から交通標識までの距離の標準値である。さらに、pLWは一般的な走行レーン幅（１車線分の幅で約３．５ｍ）である。そして、LanePosiはインフラ情報で得られる自車の走行車線位置である。ここでは、最も左車線を走行すると０、左から２番目の車線を走行すると１、以下同様に順次増加する正数である。
【００７１】
ステップ７０６の処理は図２のステップ２１４の処理と同様であるが、ここで画像処理する領域は図６のステップ６０５で設定した領域である。また、ステップ７０７〜７１１の処理は図２のステップ２１５〜２１９の処理と同様であり、説明を省略する。
【００７２】
このように、第６の実施の形態によれば、車外から自車の走行レーンの道路標識に関する情報を入手するととももに、車速検出装置６および操舵角検出装置７により検出された自車の挙動に基づいて将来の自車位置を推定し、自車走行レーンの道路標識情報と推定した将来の自車位置とに基づいて、前車と道路標識を検出するための画像処理領域を設定するようにしたので、インフラ情報を受信できるような場面、例えば主要幹線道路を走行する場面などにおいて道路標識がより検知しやすくなる。
【００７３】
特許請求の範囲の構成要素と一実施の形態の構成要素との対応関係は次の通りである。すなわち、カメラ３が撮像手段を、車速検出装置６、操舵角検出装置７およびヨーレイト検出装置１０が挙動検出手段を、外界認識装置５が前車推定手段、領域設定手段、領域補正手段および存在判定手段を、画像処理装置４が特徴導出手段を、ナビゲーション装置１１がナビゲーション装置を、操舵角検出装置７が操舵角検出手段をそれぞれ構成する。なお、本発明の特徴的な機能を損なわない限り、各構成要素は上記構成に限定されるものではない。
【図面の簡単な説明】
【００７４】
【図１】第１の実施の形態の構成を示す図である。
【図２】第１の実施の形態のカメラ画像処理による前車検知プログラムを示すフローチャートである。
【図３】第２の実施の形態のカメラ画像処理による前車検知プログラムを示すフローチャートである。
【図４】第３の実施の形態のカメラ画像処理による前車検知プログラムを示すフローチャートである。
【図５】第４の実施の形態のカメラ画像処理による前車検知プログラムを示すフローチャートである。
【図６】第５の実施の形態のカメラ画像処理による前車検知プログラムを示すフローチャートである。
【図７】第６の実施の形態のカメラ画像処理による前車検知プログラムを示すフローチャートである。
【図８】自車速に基づいて自車の将来の位置を推定するための関数を示す図である。
【図９】自車速と舵角に基づいて自車の将来の位置を推定するための関数を示す図である。
【図１０】走行道路の交通標識を示す図である。
【符号の説明】
【００７５】
１  レーザーレーダー
２  レーダー処理装置
３  カメラ
４  画像処理装置
５  外界認識装置
６  車速検出装置
７  操舵角検出装置
８  自動ブレーキ制御装置
９  負圧ブレーキブースター
１０  ヨーレイト検出装置
１１  ナビゲーション装置
【図１】
2005148816.tif 000003
【図２】
2005148816.tif 000004
【図３】
2005148816.tif 000005
【図４】
2005148816.tif 000006
【図５】
2005148816.tif 000007
【図６】
2005148816.tif 000008
【図７】
2005148816.tif 000009
【図８】
2005148816.tif 000010
【図９】
2005148816.tif 000011
【図１０】
2005148816.tif 000012