JP2005148816A - 車両用画像処理装置 - Google Patents
車両用画像処理装置 Download PDFInfo
- Publication number
- JP2005148816A JP2005148816A JP2003381180A JP2003381180A JP2005148816A JP 2005148816 A JP2005148816 A JP 2005148816A JP 2003381180 A JP2003381180 A JP 2003381180A JP 2003381180 A JP2003381180 A JP 2003381180A JP 2005148816 A JP2005148816 A JP 2005148816A
- Authority
- JP
- Japan
- Prior art keywords
- vehicle
- image processing
- area
- obj
- road
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
【課題】 走行中の白線検知状況に依存することなく前車を検出するための画像処理領域を設定し、設定した画像処理領域における画像を処理して前車を検知する。
【解決手段】 自車の前方を撮像するとともに自車の挙動を検出し、自車の挙動に基づいて前車の位置を推定し、推定した前車の位置に基づいて撮像した自車前方の画像上に前車を検出するための画像処理領域を設定し、さらに設定した画像処理領域を走行環境に応じて補正する。そして、補正後の画像処理領域における画像の特徴を導出し、導出した特徴に基づいて前車を検知する。
【選択図】 図2
【解決手段】 自車の前方を撮像するとともに自車の挙動を検出し、自車の挙動に基づいて前車の位置を推定し、推定した前車の位置に基づいて撮像した自車前方の画像上に前車を検出するための画像処理領域を設定し、さらに設定した画像処理領域を走行環境に応じて補正する。そして、補正後の画像処理領域における画像の特徴を導出し、導出した特徴に基づいて前車を検知する。
【選択図】 図2
Description
本発明は、カメラにより撮像した画像を処理して自車周囲の状況を認識する車両用画像処理装置に関する。
カメラにより撮像した画像の中から自車の走行車線を認識し、走行車線内に限定してエッジ抽出処理を行い、自車前方の障害物を効率よく検出するようにした車両用障害物検出装置が知られている(例えば、特許文献1参照)。
この出願の発明に関連する先行技術文献としては次のものがある。
特開平10−097699号公報
しかしながら、上述した従来の車両用障害物検出装置では、降雨や降雪などの走行環境下において道路上の白線を認識できない場合には、エッジ抽出処理を行う領域を限定することができないため、画像処理効率が低下してしまうという問題がある。
自車の前方を撮像するとともに自車の挙動を検出し、自車の挙動に基づいて前車の位置を推定し、推定した前車の位置に基づいて撮像した自車前方の画像上に前車を検出するための画像処理領域を設定し、さらに設定した画像処理領域を走行環境に応じて補正する。そして、補正後の画像処理領域における画像の特徴を導出し、導出した特徴に基づいて前車を検知する。
本発明によれば、走行中の白線検知状況に依存することなく前車を検出するための画像処理領域を設定することができ、前車検知処理を効率的に行うことができる。
《発明の第1の実施の形態》
図1に第1の実施の形態の構成を示す。レーザーレーダー1はスキャンニング式のレーザーレーダーであり、車両前部に設置されて車両前方の所定範囲をレーザー光で走査する。レーダー処理装置2は、レーザーレーダー1で走査した結果から前方車両を含む物体を抽出する。このレーダー処理装置2では、各物体に対して自車両を原点とする二次元(車間距離方向と車幅方向)座標値の算出と物体の幅(大きさ)の算出とを行う。
図1に第1の実施の形態の構成を示す。レーザーレーダー1はスキャンニング式のレーザーレーダーであり、車両前部に設置されて車両前方の所定範囲をレーザー光で走査する。レーダー処理装置2は、レーザーレーダー1で走査した結果から前方車両を含む物体を抽出する。このレーダー処理装置2では、各物体に対して自車両を原点とする二次元(車間距離方向と車幅方向)座標値の算出と物体の幅(大きさ)の算出とを行う。
カメラ3はプログレッシブスキャン式3CCDカメラであり、車室内のフロントウインドウ上部中央に設置されて自車前方の状況を高速に撮像する。画像処理装置4は、カメラ3により撮像した画像の中のレーダー処理装置2で捕捉した物体の座標付近を注目領域として画像処理し、自車両のピッチング変動などによりレーダー1で検知物体を見失った場合にもカメラ画像により物体を検知し続ける。
外界認識装置5は外界の状況を認識する。外界認識装置5にはレーダー処理装置2と画像処理装置4の他に、従動車輪の回転により車速を検出する車速検出装置6、操舵角を検出する操舵角検出装置7、ヨーレイトを検出するヨーレイト検出装置10、車両の現在地と道路情報を提供するナビゲーション装置11などが接続され、レーダー処理装置2で検知した各物体位置と画像処理装置4で追跡している物体位置とを選択して自車両にとって障害物であるか否かを正確に判断し、判断結果を自動ブレーキ制御装置8へ出力する。自動ブレーキ制御装置8は負圧ブレーキブースター9に駆動信号を出力し、前後輪に制動力を発生させる。
レーダー処理装置2、画像処理装置4、外界認識装置5、自動ブレーキ制御装置8はそれぞれマイクロコンピューターと各種アクチュエーターの駆動回路を備え、互いに通信回路を介して情報の授受を行う。
図2は、外界認識装置5で実行されるカメラ画像処理による前車検知プログラムを示すフローチャートである。このフローチャートにより、第1の実施の形態の動作を説明する。外界認識装置5はこの前車検知プログラムを所定時間間隔、例えば50msecごとに実行する。
この第1の実施の形態では、スキャンニング式レーザーレーダー1が機能しない走行環境下において、CCDカメラ3で撮像した画像の中に処理領域を設定して前方車両を検出する処理を行う場合に、夜間のヘッドライト点灯のために画像処理領域をヘッドライトの照射範囲に補正する例を示す。
ステップ201においてCCDカメラ3から今回のサンプリング周期における撮像画像を読み込み、続くステップ202で車速検出装置6から自車速を、操舵角検出装置7から操舵角を、ヨーレイト検出装置10からヨーレイトなどの自車両の挙動データを読み込む。
ステップ203で、予め設定した2つの車間時間Thw1、Thw2に基づいて前車の縦方向(車間距離方向)における存在位置obj_Y1、obj_Y2を推定する。
obj_Y1=Vsp・Thw1 ・・・(1−1)、
obj_Y2=Vsp・Thw2 ・・・(1−2)
ここで、Vspはステップ202で読み込んだ自車両の車速[m/s]であり、また車間時間Thw1、Thw2は0<Thw1<Thw2の関係がある。
obj_Y1=Vsp・Thw1 ・・・(1−1)、
obj_Y2=Vsp・Thw2 ・・・(1−2)
ここで、Vspはステップ202で読み込んだ自車両の車速[m/s]であり、また車間時間Thw1、Thw2は0<Thw1<Thw2の関係がある。
例えば、自車線上の先行車に追従走行を行うときは予め設定した車速以下で車間距離が目標車間距離となるように車間距離制御を行い、自車線上に先行車がいないときには自車速が予め設定した車速となるように車速制御を行う車間距離制御システムを装備している場合には、運転者が設定する車間時間ThwACCの長、中、短に合わせて、車間時間Thw1=(ThwACC−TermTmp)、Thw2=(ThwACC+TermTmp)のように設定してもよい。ここで、TermTmpは所定の正数である。このようにすると、先行車追従走行制御中に降雨や降雪などによりレーダーで先行車を見失いやすい走行環境下でも、一実施の形態のカメラ画像処理により正確に先行車を検知し続けられる。
また、例えばナビゲーション装置を装備している場合には、ナビゲーション装置で把握した自車走行路の道路種別に応じて予め設定された車間時間Thw1、Thw2を変更してもよい。例えば、一般道走行時の車間時間Thw1を高速道路走行時の車間時間Thw2より短くすることによって、背景の複雑な一般道において背景を前方車両として誤認する頻度を低減することができる。
次に、ステップ204において次式により将来の自車進路の曲率半径Row[m]を推定する。
Row=(1+A・Vsp2・LWB)/Steer ・・・(2)
ここで、Aは車両固有のスタビリティーファクターであり、車重、ホイールベース長、重心位置、タイヤの横力で決まる定数とみなせる値である。また、LWBはホイールベース長であり、Steerは操舵角[rad](右回転を正とする)である。
Row=(1+A・Vsp2・LWB)/Steer ・・・(2)
ここで、Aは車両固有のスタビリティーファクターであり、車重、ホイールベース長、重心位置、タイヤの横力で決まる定数とみなせる値である。また、LWBはホイールベース長であり、Steerは操舵角[rad](右回転を正とする)である。
ステップ205では次式により将来の前車の横方向位置(車幅方向位置)を推定する。
if(Row>0) {obj_X1=Row−√(Row2−obj_Y12)、
obj_X2=Row−√(Row2−obj_Y22)}
else {obj_X1=Row+√(Row2−obj_Y12)、
obj_X2=Row+√(Row2−obj_Y22)} ・・・(3)
(3)式において、if(expression){statement1}else{statement2}は、expressionを満たす場合にはstatement1を実行し、expressionを満たさない場合にはstatement2を実行する関数である。つまり、右カーブの場合にはstatement1を実行し、左カーブの場合はstatement2を実行する。
if(Row>0) {obj_X1=Row−√(Row2−obj_Y12)、
obj_X2=Row−√(Row2−obj_Y22)}
else {obj_X1=Row+√(Row2−obj_Y12)、
obj_X2=Row+√(Row2−obj_Y22)} ・・・(3)
(3)式において、if(expression){statement1}else{statement2}は、expressionを満たす場合にはstatement1を実行し、expressionを満たさない場合にはstatement2を実行する関数である。つまり、右カーブの場合にはstatement1を実行し、左カーブの場合はstatement2を実行する。
ステップ206においてヘッドライトを点灯中か否かを確認し、点灯中の場合はステップ207へ進み、そうでなければステップ211へ進む。ヘッドライト点灯中の場合は、ステップ207でヘッドライトの鉛直方向の光軸角度AngleVertHLを読み込み、次式によりヘッドライトが照射する最遠方距離DistHLを算出する。
DistHL=HeightHL/tan(AngleVertHL) ・・・(4)
ここで、HeightHLはヘッドライトの取り付け高さである。
DistHL=HeightHL/tan(AngleVertHL) ・・・(4)
ここで、HeightHLはヘッドライトの取り付け高さである。
続くステップ208では、ステップ203で求めた前車の縦方向の存在位置推定範囲obj_Y1〜obj_Y2をヘッドライトの最遠方距離DistHL内に補正する。
if(obj_Y2>DistHL){
obj_Y2=DistHL、 ・・・(5−1)
if(obj_Y1>obj_Y2−Vsp(Thw2−Thw1)){
obj_Y1=obj_Y2−Vsp(Thw2−Thw1)} ・・・(5−2)
}
if(obj_Y2>DistHL){
obj_Y2=DistHL、 ・・・(5−1)
if(obj_Y1>obj_Y2−Vsp(Thw2−Thw1)){
obj_Y1=obj_Y2−Vsp(Thw2−Thw1)} ・・・(5−2)
}
ステップ209で自車の操舵に応じて配光制御が行われる場合に、ヘッドライトの水平方向照射角度の左端AngleHoriHL_Lと右端AngleHoriHL_Rを読み込み、次式により車間距離方向の前車推定位置に応じたヘッドライトの横方向照射範囲の左右端位置PosiHL_L、PosiHL_Rを算出する。
PosiHL_L1=tan(AngleHoriHL_L)・obj_Y1 ・・・(6−1)
PosiHL_R1=tan(AngleHoriHL_R)・obj_Y1 ・・・(6−2)
PosiHL_L2=tan(AngleHoriHL_L)・obj_Y2 ・・・(6−3)
PosiHL_R2=tan(AngleHoriHL_R)・obj_Y2 ・・・(6−4)
PosiHL_L1=tan(AngleHoriHL_L)・obj_Y1 ・・・(6−1)
PosiHL_R1=tan(AngleHoriHL_R)・obj_Y1 ・・・(6−2)
PosiHL_L2=tan(AngleHoriHL_L)・obj_Y2 ・・・(6−3)
PosiHL_R2=tan(AngleHoriHL_R)・obj_Y2 ・・・(6−4)
ステップ210では、ステップ205で求めた前車の横方向の推定位置obj_X1、obj_X2をヘッドライトの横方向照射範囲PosiHL_L〜PosiHL_R内に補正する。
if(obj_X1<PosiHL_L1){obj_X1=PosiHL_L1} ・・・(7−1)
if(obj_X1>PosiHL_R1){obj_X1=PosiHL_R1} ・・・(7−2)
if(obj_X2<PosiHL_L2){obj_X2=PosiHL_L2} ・・・(7−3)
if(obj_X2>PosiHL_R2){obj_X2=PosiHL_R2} ・・・(7−4)
座標系としては自車進行方向の左側が負の値となるため、(7−1)式と(7−3)式はヘッドライトの照射範囲よりもさらに左側に前車位置が推定された場合の補正を表し、(7−2)式と(7−4)式はヘッドライトの照射範囲よりもさらに右側に前車位置が推定された場合の補正を表す。
if(obj_X1<PosiHL_L1){obj_X1=PosiHL_L1} ・・・(7−1)
if(obj_X1>PosiHL_R1){obj_X1=PosiHL_R1} ・・・(7−2)
if(obj_X2<PosiHL_L2){obj_X2=PosiHL_L2} ・・・(7−3)
if(obj_X2>PosiHL_R2){obj_X2=PosiHL_R2} ・・・(7−4)
座標系としては自車進行方向の左側が負の値となるため、(7−1)式と(7−3)式はヘッドライトの照射範囲よりもさらに左側に前車位置が推定された場合の補正を表し、(7−2)式と(7−4)式はヘッドライトの照射範囲よりもさらに右側に前車位置が推定された場合の補正を表す。
ステップ211では道路面座標系の前車の縦方向位置(車間距離方向位置)obj_Y1、obj_Y2をカメラ3の画面座標系の鉛直方向座標に変換し、2つの画像処理領域の鉛直方向座標を決定する。
disp_obj_YA1=y0+(focusV・CAM_h2/obj_Y1) ・・・(8−1)
disp_obj_YB1=y0+(focusV・CAM_h/obj_Y1) ・・・(8−2)
disp_obj_YA2=y0+(focusV・CAM_h2/obj_Y2) ・・・(8−3)
disp_obj_YB2=y0+(focusV・CAM_h/obj_Y2) ・・・(8−4)
ここで、disp_obj_YA1は画像処理を行う領域1の上側の座標値、disp_obj_YB1は画像処理を行う領域1の下側の座標値、disp_obj_YA2は画像処理を行う領域2の上側の座標値、disp_obj_YB2は画像処理を行う領域2の下側の座標値である。また、y0は消失点の縦方向座標[pix;画素数]であり、カメラ3の取り付け位置と向きで決まる。focusVは画素換算したカメラの鉛直方向の焦点距離[pix]であり、CAM_hはカメラ3の取り付け高さ[m]、CAM_h2はCAM_hから障害物候補として考慮すべき物体の高さを減算した値である。
disp_obj_YA1=y0+(focusV・CAM_h2/obj_Y1) ・・・(8−1)
disp_obj_YB1=y0+(focusV・CAM_h/obj_Y1) ・・・(8−2)
disp_obj_YA2=y0+(focusV・CAM_h2/obj_Y2) ・・・(8−3)
disp_obj_YB2=y0+(focusV・CAM_h/obj_Y2) ・・・(8−4)
ここで、disp_obj_YA1は画像処理を行う領域1の上側の座標値、disp_obj_YB1は画像処理を行う領域1の下側の座標値、disp_obj_YA2は画像処理を行う領域2の上側の座標値、disp_obj_YB2は画像処理を行う領域2の下側の座標値である。また、y0は消失点の縦方向座標[pix;画素数]であり、カメラ3の取り付け位置と向きで決まる。focusVは画素換算したカメラの鉛直方向の焦点距離[pix]であり、CAM_hはカメラ3の取り付け高さ[m]、CAM_h2はCAM_hから障害物候補として考慮すべき物体の高さを減算した値である。
ステップ212では、予め設定した2つの車間時間Thw1、Thw2(Thw1<Thw2)に基づいて、次式によりカメラ3の画面座標系における2つの画像処理領域の水平方向座標を決定する。
disp_obj_XL1=x0+(obj_X1・focusH/obj_Y1)−(Width・focusH/obj_Y1)
・・・(9−1)
disp_obj_XR1=x0+(obj_X1・focusH/obj_Y1)+(Width・focusH/obj_Y1)
・・・(9−2)
disp_obj_XL2=x0+(obj_X2・focusH/obj_Y2)−(Width・focusH/obj_Y2)
・・・(9−3)
disp_obj_XR2=x0+(obj_X2・focusH/obj_Y2)+(Width・focusH/obj_Y2)
・・・(9−4)
ここで、disp_obj_XL1は画像処理を行う領域1の左側の座標値、disp_obj_XR1は画像処理を行う領域1の右側の座標値、disp_obj_XL2は画像処理を行う領域2の左側の座標値、disp_obj_XR2は画像処理を行う領域2の右側の座標値である。また、x0は消失点の横方向座標[pix]であり、カメラ3の取り付け位置と向きで決まる。focusHは画像換算したカメラ3の水平方向の焦点距離[pix]であり、カメラ3の画角と受光素子の解像度で決まる。なお、カメラ3の受光面が正方格子の場合にはfocusV=focusHとなる。Widthは画像処理領域の幅を決めるパラメーターであって、自車幅の半分以上の値を有するものである。
disp_obj_XL1=x0+(obj_X1・focusH/obj_Y1)−(Width・focusH/obj_Y1)
・・・(9−1)
disp_obj_XR1=x0+(obj_X1・focusH/obj_Y1)+(Width・focusH/obj_Y1)
・・・(9−2)
disp_obj_XL2=x0+(obj_X2・focusH/obj_Y2)−(Width・focusH/obj_Y2)
・・・(9−3)
disp_obj_XR2=x0+(obj_X2・focusH/obj_Y2)+(Width・focusH/obj_Y2)
・・・(9−4)
ここで、disp_obj_XL1は画像処理を行う領域1の左側の座標値、disp_obj_XR1は画像処理を行う領域1の右側の座標値、disp_obj_XL2は画像処理を行う領域2の左側の座標値、disp_obj_XR2は画像処理を行う領域2の右側の座標値である。また、x0は消失点の横方向座標[pix]であり、カメラ3の取り付け位置と向きで決まる。focusHは画像換算したカメラ3の水平方向の焦点距離[pix]であり、カメラ3の画角と受光素子の解像度で決まる。なお、カメラ3の受光面が正方格子の場合にはfocusV=focusHとなる。Widthは画像処理領域の幅を決めるパラメーターであって、自車幅の半分以上の値を有するものである。
ステップ213では、ステップ211とステップ212で設定した2つの画像処理領域を次の順序で1つの領域につなぎ合わせ、最終的な画像処理領域を作成する。まず、次の座標を囲む台形領域を領域3として新たに設定する。
左上座標(disp_obj_XL2,disp_obj_YA2) ・・・(10−1)
右上座標(disp_obj_XR2,disp_obj_YA2) ・・・(10−2)
左下座標(disp_obj_XL1,disp_obj_YA1) ・・・(10−3)
右下座標(disp_obj_XR1,disp_obj_YA1) ・・・(10−4)
左上座標(disp_obj_XL2,disp_obj_YA2) ・・・(10−1)
右上座標(disp_obj_XR2,disp_obj_YA2) ・・・(10−2)
左下座標(disp_obj_XL1,disp_obj_YA1) ・・・(10−3)
右下座標(disp_obj_XR1,disp_obj_YA1) ・・・(10−4)
次に、下記座標を囲む台形領域を領域4として新たに設定する。
左上座標(disp_obj_XL2,disp_obj_YB2) ・・・(11−1)
右上座標(disp_obj_XR2,disp_obj_YB2) ・・・(11−2)
左下座標(disp_obj_XL1,disp_obj_YB1) ・・・(11−3)
右下座標(disp_obj_XR1,disp_obj_YB1) ・・・(11−4)
左上座標(disp_obj_XL2,disp_obj_YB2) ・・・(11−1)
右上座標(disp_obj_XR2,disp_obj_YB2) ・・・(11−2)
左下座標(disp_obj_XL1,disp_obj_YB1) ・・・(11−3)
右下座標(disp_obj_XR1,disp_obj_YB1) ・・・(11−4)
そして、領域1〜4を足し合わせて各領域のすべてを含む最も大きい1つの領域を作成し、最終的な画像処理領域とする。理解を容易にするために領域1の座標を(12−1)〜(12−4)式に示し、領域2の座標を(13−1)〜(13−4)式に示す。
領域1;左上座標(disp_obj_XL1,disp_obj_YA1) ・・・(12−1)
右上座標(disp_obj_XR1,disp_obj_YA1) ・・・(12−2)
左下座標(disp_obj_XL1,disp_obj_YB1) ・・・(12−3)
右下座標(disp_obj_XR1,disp_obj_YB1) ・・・(12−4)
領域2;左上座標(disp_obj_XL2,disp_obj_YA2) ・・・(13−1)
右上座標(disp_obj_XR2,disp_obj_YA2) ・・・(13−2)
左下座標(disp_obj_XL2,disp_obj_YB2) ・・・(13−3)
右下座標(disp_obj_XR2,disp_obj_YB2) ・・・(13−4)
領域1;左上座標(disp_obj_XL1,disp_obj_YA1) ・・・(12−1)
右上座標(disp_obj_XR1,disp_obj_YA1) ・・・(12−2)
左下座標(disp_obj_XL1,disp_obj_YB1) ・・・(12−3)
右下座標(disp_obj_XR1,disp_obj_YB1) ・・・(12−4)
領域2;左上座標(disp_obj_XL2,disp_obj_YA2) ・・・(13−1)
右上座標(disp_obj_XR2,disp_obj_YA2) ・・・(13−2)
左下座標(disp_obj_XL2,disp_obj_YB2) ・・・(13−3)
右下座標(disp_obj_XR2,disp_obj_YB2) ・・・(13−4)
例えば直進中の場合における最終的な画像処理領域は6角形であり、次式で表される座標により構成される。
左上座標(disp_obj_XL2,disp_obj_YA2) ・・・(14−1)
右上座標(disp_obj_XR2,disp_obj_YA2) ・・・(14−2)
左中座標(disp_obj_XL1,disp_obj_YA1) ・・・(14−3)
右中座標(disp_obj_XR1,disp_obj_YA1) ・・・(14−4)
左下座標(disp_obj_XL1,disp_obj_YB1) ・・・(14−5)
右下座標(disp_obj_XR1,disp_obj_YB1) ・・・(14−6)
左上座標(disp_obj_XL2,disp_obj_YA2) ・・・(14−1)
右上座標(disp_obj_XR2,disp_obj_YA2) ・・・(14−2)
左中座標(disp_obj_XL1,disp_obj_YA1) ・・・(14−3)
右中座標(disp_obj_XR1,disp_obj_YA1) ・・・(14−4)
左下座標(disp_obj_XL1,disp_obj_YB1) ・・・(14−5)
右下座標(disp_obj_XR1,disp_obj_YB1) ・・・(14−6)
なお、この実施の形態では2つの処理領域を設定する例を示すが、さらに多くの処理領域を設定することによってより複雑な道路形状に対応することができる。ただし、上述した設定領域を決める処理が複雑になる。
ステップ214では、ステップ213で設定した最終的な画像処理領域に対して特徴抽出のためのエッジ抽出処理を行う。以下にエッジ抽出処理の一例を示す。
まず、設定した画像処理領域についてSovelフィルター演算などによりエッジ画像を求める。なお、Sovelフィルター演算は、隣接する画素間の濃淡変化を微分演算により求める演算手法であって、画像上における道路と車両の境界のように濃淡変化が大きい部分だけを集めることが可能な画像処理手法である。次に、エッジ画像の濃淡値の平均値と分散値からしきい値を設定し、エッジ画像を2値化する。つまり、エッジ画像対してしきい値を超える領域としきい値以下の領域に分類することによって、明確なエッジ部分とエッジでない部分の2つに分類する。そして、設定した画像処理領域の大きさに対して、明確にエッジとして分類されたエッジ量が所定値以上の場合には、エッジの密集した小領域を前車候補領域として認識する。
このように、ステップ211〜213で設定した領域に対して上記のSovelフィルター演算を行うと以下の効果が得られる。まず、エッジ画像を求めることによって、必要な領域にのみ限定して微分演算を行うため、画像処理負荷を低減することができる。また、2値化のためのしきい値を設定することによって、画面全体について微分演算を行った場合のエッジ画像から設定するしきい値と比較して、より適切なしきい値設定が可能となるため、画像上の前車が存在する領域内に明確なエッジ部分が集中し、「明確なエッジ部分=前車を把握するための特徴量」の関係を強くすることができる。つまり、明確なエッジ部分が背景である可能性を低くすることができる。さらに、明確なエッジ量のしきい値設定を行う、すなわち設定した画像処理領域の大きさに基づいてしきい値を設定することによって、前車との車間距離(遠近)に関わらず前車を正しく検知することができる。
ステップ215では、ステップ214におけるエッジ抽出処理の結果、前車候補領域が存在するかどうかを確認し、前車候補領域が存在する場合はステップ216へ進み、存在しなければステップ217へ進む。前車候補領域が存在する場合は、ステップ216において、設定した画像処理領域における小領域が前車候補領域として認識され続ける期間を表すTermRecoを次式でインクリメントし、ステップ218へ進む。
TermReco=TermReco+1 ・・・(15)
TermReco=TermReco+1 ・・・(15)
一方、前車候補領域が存在しない場合は、ステップ217で、設定した画像処理領域における小領域が前車候補領域として認識され続ける期間を表すTermRecoを次式でディクリメントし、ステップ218へ進む。
TermReco=TermReco−1 ・・・(16)
TermReco=TermReco−1 ・・・(16)
ステップ218では次の条件式から前車候補領域を前車として判断し、判断結果をフラグFlagJudgeに代入する。
if(TermReco>ThJudge){FlagJudge=1}else{FlagJudge=0} ・・・(17)
ここで、ThJudgeは前車を判断するまでに要する最小時間を表す正のしきい値である。このしきい値ThJudgeを大きくすれば、背景などを前車として誤認識する頻度をさらに抑制できるが、実際の前車を画像処理により前車として判断するまでの時間が遅くなる。また、FlagJudgeは前車候補領域を新たに検出した場合には0にクリアされるものである。
if(TermReco>ThJudge){FlagJudge=1}else{FlagJudge=0} ・・・(17)
ここで、ThJudgeは前車を判断するまでに要する最小時間を表す正のしきい値である。このしきい値ThJudgeを大きくすれば、背景などを前車として誤認識する頻度をさらに抑制できるが、実際の前車を画像処理により前車として判断するまでの時間が遅くなる。また、FlagJudgeは前車候補領域を新たに検出した場合には0にクリアされるものである。
ステップ219では後段へ前車の存在を知らせるためにフラグFlagJudgeを出力して終了する。
以上説明したように第1の実施の形態によれば、自車の前方を撮像するとともに自車の挙動を検出し、自車の挙動に基づいて前車の位置を推定し、推定した前車の位置に基づいて撮像した自車前方の画像上に前車を検出するための画像処理領域を設定し、さらに設定した画像処理領域を走行環境に応じて補正する。そして、補正後の画像処理領域における画像の特徴を導出し、導出した特徴に基づいて前車を検知するようにしたので、上述した従来の車両用障害物検出装置のように画像処理により白線検知を行う必要がなく、走行中の白線検知状況に依存することなく前車検知処理を効率的に行うことができる。その上、自車両の走行環境に応じて画像処理領域を補正することによって前車の位置をより正確に推定することができ、前車を捕捉しやすくなる。
また、第1の実施の形態によれば、ヘッドライトを点灯する走行環境下では画像処理領域をヘッドライトが照射される範囲内または配光制御によりヘッドライトが照射される範囲内に補正するようにしたので、ヘッドライトが照射されていない暗い部分に対応する画像処理が省略され、マイクロコンピューターの画像処理負荷を軽減することができ、前車検知処理の高速化を図ることができる。また、ヘッドライトが照射される範囲に限定してステップ214の処理を実施するので、より適切なしきい値を設定でき、夜間でも前車を正しく検知することができる。
《発明の第2の実施の形態》
画像処理領域の設定に際して、縦/横方向の設定位置をナビゲーション装置11から得た道路の形状変化、すなわち勾配と曲率の変化に基づいて補正するようにした第2の実施の形態を説明する。なお、この第2の実施の形態の構成は図1に示す構成と同様であり、説明を省略する。
画像処理領域の設定に際して、縦/横方向の設定位置をナビゲーション装置11から得た道路の形状変化、すなわち勾配と曲率の変化に基づいて補正するようにした第2の実施の形態を説明する。なお、この第2の実施の形態の構成は図1に示す構成と同様であり、説明を省略する。
図3は、外界認識装置5で実行されるカメラ画像処理による前車検知プログラムを示すフローチャートである。このフローチャートにより、第2の実施の形態の動作を説明する。外界認識装置5はこの前車検知プログラムを所定時間間隔、例えば50msecごとに実行する。なお、ステップ301〜305の処理は図2に示すステップ201〜205の処理と同様であるから説明を省略する。
ステップ306において、ナビゲーション装置11から曲率変化開始地点までの距離DistRowChange[m]と、曲率変化開始地点から先の曲率半径Row_Navi_AfterChange[m]を読み取る。続くステップ307では読み込んだ曲率変化情報に基づいて次式により横方向の前車位置の推定範囲を補正する。
if(obj_Y1<DistRowChange かつ obj_Y2>DistRowChange){
Row=Row_Navi_AfterChange
if(Row>0){obj_X2=Row−√(Row2−obj_Y22)}
els{obj_X2=Row+√(Row2−obj_Y22)} } ・・・(18)
if(obj_Y1>DistRowChange かつ 0.0<DistRowChange){
Row=Row_Navi_AfterChange
if(Row>0){obj_X1=Row−√(Row2−obj_Y12)
obj_X2=Row−√(Row2−obj_Y22)}
else{obj_X1=Row+√(Row2−obj_Y12)
obj_X2=Row+√(Row2−obj_Y22)} } ・・・(19)
if(obj_Y1<DistRowChange かつ obj_Y2>DistRowChange){
Row=Row_Navi_AfterChange
if(Row>0){obj_X2=Row−√(Row2−obj_Y22)}
els{obj_X2=Row+√(Row2−obj_Y22)} } ・・・(18)
if(obj_Y1>DistRowChange かつ 0.0<DistRowChange){
Row=Row_Navi_AfterChange
if(Row>0){obj_X1=Row−√(Row2−obj_Y12)
obj_X2=Row−√(Row2−obj_Y22)}
else{obj_X1=Row+√(Row2−obj_Y12)
obj_X2=Row+√(Row2−obj_Y22)} } ・・・(19)
(18)式において、自車に近い方の前車推定位置obj_Y1は道路曲率変化地点に到達していないため、自車挙動から推定する自車に近い方の前車横位置推定値obj_X1は補正する必要はない。しかし、自車から遠い方の前車推定位置obj_Y2はすでに道路曲率変化地点に到達しているため、自車挙動から推定する自車から遠い方の前車横位置推定値obj_X2はナビゲーション装置11から得た曲率半径Row_Navi_AfterChangeにより補正した方がより正しい前車検知を実施することができる。ちなみに、領域1と領域2だけではなく、さらに多くの領域を設定してステップ307を実施すると、複雑な道路形状でもしっかりと対応することができるようになる。
また、(19)式において、自車に近い方の前車推定位置obj_Y1も自車から遠い方の前車推定位置obj_Y2もともに道路曲率変化地点に到達しているため、自車挙動から推定する自車に近い方の前車横位置推定値obj_X1と自車から遠い方の前車横位置推定値obj_X2とをともにナビゲーション装置11から得た曲率半径Row_Navi_AfterChangeにより補正した方がより正しい前車検知を実施することができる。
ステップ308ではナビゲーション装置11から勾配変化開始地点までの距離DistInclineChange[m]と、勾配変化開始地点から先の勾配角度Incline_Navi_AfterChange[rad]を読み取る。
ステップ309において、読み込んだ勾配変化情報に基づいて次式により画像処理領域の鉛直方向補正量を求める。
if(obj_Y1<DistInclineChange かつ obj_Y2>DistInclineChange){
CompPitch1=0.0
CompPitch2=Incline_Navi_AfterChange(PixVert/VertAngle) }・・・(20)
if(obj_Y1>DistInclineChange かつ 0.0<DistInclineChange) {
CompPitch1=Incline_Navi_AfterChange(PixVert/VertAngle)
CompPitch2=CompPitch1 } ・・・(21)
ここで、PixVertはステップ301で読み込む入力画像の鉛直方向の画素数[Pix]であり、VertAngleは鉛直方向の視界角度[rad]を表す。
if(obj_Y1<DistInclineChange かつ obj_Y2>DistInclineChange){
CompPitch1=0.0
CompPitch2=Incline_Navi_AfterChange(PixVert/VertAngle) }・・・(20)
if(obj_Y1>DistInclineChange かつ 0.0<DistInclineChange) {
CompPitch1=Incline_Navi_AfterChange(PixVert/VertAngle)
CompPitch2=CompPitch1 } ・・・(21)
ここで、PixVertはステップ301で読み込む入力画像の鉛直方向の画素数[Pix]であり、VertAngleは鉛直方向の視界角度[rad]を表す。
ステップ310では、上述した第1の実施の形態と同様に、ステップ309で求めた補正を次式により行う。
disp_obj_YA1=y0+(focusV・CAM_h2/obj_Y1)+CompPitch1 ・・・(22−1)
disp_obj_YB1=y0+(focusV・CAM_h/obj_Y1)+CompPitch1 ・・・(22−2)
disp_obj_YA2=y0+(focusV・CAM_h2/obj_Y2)+CompPitch2 ・・・(22−3)
disp_obj_YB2=y0+(focusV・CAM_h/obj_Y2)+CompPitch2 ・・・(22−4)
disp_obj_YA1=y0+(focusV・CAM_h2/obj_Y1)+CompPitch1 ・・・(22−1)
disp_obj_YB1=y0+(focusV・CAM_h/obj_Y1)+CompPitch1 ・・・(22−2)
disp_obj_YA2=y0+(focusV・CAM_h2/obj_Y2)+CompPitch2 ・・・(22−3)
disp_obj_YB2=y0+(focusV・CAM_h/obj_Y2)+CompPitch2 ・・・(22−4)
ステップ311〜318の処理は図2に示すステップ212〜219と同様な処理を行うので説明を省略する。
このように、第2の実施の形態によれば、自車の挙動に基づいて前車の位置を推定し、推定した前車の位置に基づいて自車前方の画像上に前車を検出するための画像処理領域を設定し、ナビゲーション装置11から入手した走行道路の曲率半径と勾配に応じて画像処理領域を補正するようにしたので、自車が直進路を走行しているときに前車が曲線路に進入した場合、あるいは自車が平坦路を走行しているときに前車が勾配路に進入した場合における前車検知確率を大幅に向上させることができ、誤って背景を前車と誤認する頻度を大幅に低減させることができる。
《発明の第3の実施の形態》
画像処理領域の設定に際して、横方向の設定位置をナビゲーション装置11から得た道路形状情報に基づいて補正するようにした第3の実施の形態を説明する。なお、この第3の実施の形態の構成は図1に示す構成と同様であり、説明を省略する。
画像処理領域の設定に際して、横方向の設定位置をナビゲーション装置11から得た道路形状情報に基づいて補正するようにした第3の実施の形態を説明する。なお、この第3の実施の形態の構成は図1に示す構成と同様であり、説明を省略する。
図4は、外界認識装置5で実行されるカメラ画像処理による前車検知プログラムを示すフローチャートである。このフローチャートにより、第3の実施の形態の動作を説明する。外界認識装置5はこの前車検知プログラムを所定時間間隔、例えば50msecごとに実行する。なお、ステップ401〜404の処理は図3に示すステップ301〜304の処理と同様であるから説明を省略する。
ステップ405において、ナビゲーション装置11から曲率変化開始地点までの距離DistRowChange[m]と、曲率変化開始地点から先の曲率半径Row_Navi_AfterChange[m]と、自車の現在走行地点における曲率半径Row_Navi[m]を読み取る。
ステップ406では、ステップ405で読み込んだ自車の現在位置より先の曲率変化情報と現在位置の曲率半径に基づいて次式の演算を行う。
if(abs(Row_Navi)<Th_LargeCurve かつ obj_Y2<DistRowChange){
Row=Row_Navi } ・・・(23)
ここで、Th_LargeCurveは大きな曲率半径の道路と判定するためのしきい値であり、abs(A)は絶対値を返す関数である。
if(abs(Row_Navi)<Th_LargeCurve かつ obj_Y2<DistRowChange){
Row=Row_Navi } ・・・(23)
ここで、Th_LargeCurveは大きな曲率半径の道路と判定するためのしきい値であり、abs(A)は絶対値を返す関数である。
ステップ407では、読み込んだ曲率半径情報と現在の曲率半径に基づいて次式の演算を行う。
if(abs(Row_Navi)>Th_Straight かつ obj_Y2<DistRowChange){
Row=Th_Straight } ・・・(24)
ここで、Th_Straightは直線路と判定するためのしきい値[m]であり、Th_LargeCurve<Th_Straightの関係がある。
if(abs(Row_Navi)>Th_Straight かつ obj_Y2<DistRowChange){
Row=Th_Straight } ・・・(24)
ここで、Th_Straightは直線路と判定するためのしきい値[m]であり、Th_LargeCurve<Th_Straightの関係がある。
ステップ408の処理は図2に示すステップ205の処理と同様であり、説明を省略する。また、ステップ409〜417の処理は図3に示すステップ211〜219の処理と同様であり、説明を省略する。
このように、第3の実施の形態によれば、ナビゲーション装置11から自車の現在地と走行道路の曲率半径を入手するとともに、操舵角検出装置7から自車の操舵角を入手し、自車の現在地と画像処理領域がともに所定値より小さい曲率半径の曲線路にある場合には、操舵角検出装置7から入手した操舵角に応じて画像処理領域を補正せず、ナビゲーション装置11から入手した自車の現在地の走行道路の曲率半径に応じて画像処理領域を補正するようにしたので、路面カントにより操舵角から推定する前車の位置が実際のカント路面を走行する前車と合わなくなる現象を防止でき、前車の位置を正確に推定することができる。
また、第3の実施の形態によれば、ナビゲーション装置11から自車の現在地と走行道路の曲率半径を入手するとともに、操舵角検出装置7から自車の操舵角を入手し、自車の現在地と画像処理領域がともに所定値より大きな曲率半径の直線路にある場合には、操舵角検出装置7から入手した自車の操舵角に応じて画像処理領域を補正せず、ナビゲーション装置11から入手した自車の現在地の走行道路の曲率半径に応じて画像処理領域を補正するようにしたので、運転者が行う修正操舵(直進を続けようとする操舵)やレーンチェンジのための操舵によって実際の道路形状と自車推定進路が合わなくなる現象を防止でき、前車の位置を正確に推定することができる。
《発明の第4の実施の形態》
画像処理領域の設定に際して、縦方向の設定位置と縦方向の形状を走行路におけるスプラッシュ情報に基づいて補正するようにした第4の実施の形態を説明する。なお、この第4の実施の形態の構成は図1に示す構成と同様であり、説明を省略する。
画像処理領域の設定に際して、縦方向の設定位置と縦方向の形状を走行路におけるスプラッシュ情報に基づいて補正するようにした第4の実施の形態を説明する。なお、この第4の実施の形態の構成は図1に示す構成と同様であり、説明を省略する。
図5は、外界認識装置5で実行されるカメラ画像処理による前車検知プログラムを示すフローチャートである。このフローチャートにより、第4の実施の形態の動作を説明する。外界認識装置5はこの前車検知プログラムを所定時間間隔、例えば50msecごとに実行する。なお、ステップ501〜505の処理は図2に示すステップ201〜205の処理と同様であるから説明を省略する。
ステップ506において、インフラ情報、あるいはカメラ3により検出した前車のスプラッシュや雪の巻き上げ情報InfoSplashを読み込む。続くステップ507では、図2のステップ211と同様に、読み込んだスプラッシュ情報InfoSplashに基づいて2つの画像処理領域の鉛直方向座標を決定する。
if(InfoSplash=1){
OffH1=focusV・ParamH/obj_Y1
OffH2=focusV・ParamH/obj_Y2
if(HeightVehicle=1){
disp_obj_YA1=y0+(focusV・CAM_h2/obj_Y1)+OffH1 ・・・(25−1)
disp_obj_YB1=y0+(focusV・CAM_h/obj_Y1)+OffH1 ・・・(25−2)
disp_obj_YA2=y0+(focusV・CAM_h2/obj_Y2)+OffH2 ・・・(25−3)
disp_obj_YB2=y0+(focusV・CAM_h/obj_Y2)+OffH2 ・・・(25−4)
}
else {
disp_obj_YA1=y0+(focusV・CAM_h2/obj_Y1) ・・・(26−1)
disp_obj_YB1=y0+(focusV・CAM_h/obj_Y1)+OffH1 ・・・(26−2)
disp_obj_YA2=y0+(focusV・CAM_h2/obj_Y2) ・・・(26−3)
disp_obj_YB2=y0+(focusV・CAM_h/obj_Y2)+OffH2 ・・・(26−4)
}
}
else{
disp_obj_YA1=y0+(focusV・CAM_h2/obj_Y1) ・・・(27−1)
disp_obj_YB1=y0+(focusV・CAM_h/obj_Y1) ・・・(27−2)
disp_obj_YA2=y0+(focusV・CAM_h2/obj_Y2) ・・・(27−3)
disp_obj_YB2=y0+(focusV・CAM_h/obj_Y2) ・・・(27−4)
}
ここで、InfoSplashは路面がスプラッシュや雪の巻き上げが発生する状態で1になる変数であり、ParamHはスプラッシュなどが跳ね上がる高さ[m]を意味する所定値である。また、HeithtVehicleはトラックや1ボックスカーなどの車高の高い車両が前車である場合に1になるフラグである。つまり、前車がトラックなど車高が高い車両の場合には、画像処理領域全体を上に上げた方が前車を検知できる頻度が高まるが、セダンやスポーツカーの場合には、画像処理領域全体を上に上げると背景を含んでしまい、背景を前車として誤認する頻度が高まるため、(26−1)〜(26−4)式のように画像処理領域の下側のみを持ち上げる。これにより、スプラッシュの影響を受けない領域を画像処理領域として設定できるため、後段の画像処理(特徴量抽出)において適切なしきい値を設定できる。
if(InfoSplash=1){
OffH1=focusV・ParamH/obj_Y1
OffH2=focusV・ParamH/obj_Y2
if(HeightVehicle=1){
disp_obj_YA1=y0+(focusV・CAM_h2/obj_Y1)+OffH1 ・・・(25−1)
disp_obj_YB1=y0+(focusV・CAM_h/obj_Y1)+OffH1 ・・・(25−2)
disp_obj_YA2=y0+(focusV・CAM_h2/obj_Y2)+OffH2 ・・・(25−3)
disp_obj_YB2=y0+(focusV・CAM_h/obj_Y2)+OffH2 ・・・(25−4)
}
else {
disp_obj_YA1=y0+(focusV・CAM_h2/obj_Y1) ・・・(26−1)
disp_obj_YB1=y0+(focusV・CAM_h/obj_Y1)+OffH1 ・・・(26−2)
disp_obj_YA2=y0+(focusV・CAM_h2/obj_Y2) ・・・(26−3)
disp_obj_YB2=y0+(focusV・CAM_h/obj_Y2)+OffH2 ・・・(26−4)
}
}
else{
disp_obj_YA1=y0+(focusV・CAM_h2/obj_Y1) ・・・(27−1)
disp_obj_YB1=y0+(focusV・CAM_h/obj_Y1) ・・・(27−2)
disp_obj_YA2=y0+(focusV・CAM_h2/obj_Y2) ・・・(27−3)
disp_obj_YB2=y0+(focusV・CAM_h/obj_Y2) ・・・(27−4)
}
ここで、InfoSplashは路面がスプラッシュや雪の巻き上げが発生する状態で1になる変数であり、ParamHはスプラッシュなどが跳ね上がる高さ[m]を意味する所定値である。また、HeithtVehicleはトラックや1ボックスカーなどの車高の高い車両が前車である場合に1になるフラグである。つまり、前車がトラックなど車高が高い車両の場合には、画像処理領域全体を上に上げた方が前車を検知できる頻度が高まるが、セダンやスポーツカーの場合には、画像処理領域全体を上に上げると背景を含んでしまい、背景を前車として誤認する頻度が高まるため、(26−1)〜(26−4)式のように画像処理領域の下側のみを持ち上げる。これにより、スプラッシュの影響を受けない領域を画像処理領域として設定できるため、後段の画像処理(特徴量抽出)において適切なしきい値を設定できる。
ステップ508〜515の処理は図2に示すステップ212〜219の処理と同様であり、説明を省略する。
このように、第4の実施の形態によれば、車外から走行道路におけるスプラッシュ発生に関する走行環境情報を入手し、走行道路にスプラッシュが発生している場合には、画像処理領域を撮像画像の上方に補正する、あるいは、画像処理域の下側を削除するようにしたので、スプラッシュや雪の巻き上げなどの影響を受けない画像処理範囲を設定でき、特徴量抽出のためのしきい値設定もより適切に行うことができる。
《発明の第5の実施の形態》
路側構造物などのインフラ情報を受信した場合にのみ、画像処理領域の設定に際して縦方向の設定位置をインフラ情報にしたがって設定するようにした第5の実施の形態を説明する。なお、この第5の実施の形態の構成は図1に示す構成と同様であり、説明を省略する。
路側構造物などのインフラ情報を受信した場合にのみ、画像処理領域の設定に際して縦方向の設定位置をインフラ情報にしたがって設定するようにした第5の実施の形態を説明する。なお、この第5の実施の形態の構成は図1に示す構成と同様であり、説明を省略する。
図6は、外界認識装置5で実行されるカメラ画像処理による前車検知プログラムを示すフローチャートである。このフローチャートにより、第5の実施の形態の動作を説明する。外界認識装置5はこの前車検知プログラムを所定時間間隔、例えば50msecごとに実行する。なお、ステップ601〜602の処理は図2に示すステップ201〜202の処理と同様であるから説明を省略する。
ステップ603において自車走行路上のインフラから前車の位置に関する情報を入手する。続くステップ604では次の条件に応じて前車位置を推定する。
if(ReceiveInfra=1){obj_Y1=DistInfra−ParamDist
obj_Y2=DistInfra+ParamDist}
else {obj_Y1=Vsp・Thw1
obj_Y2=Vsp・Thw2} ・・・(28)
ここで、ReceiveInfraは、インフラ情報として前車との距離情報を受信した場合に1となる受信割り込み信号フラグである。また、DistInfraはインフラ情報で得られる前車との車間距離である。さらに、ParamDistは所定距離を表す正数であり、インフラ距離情報の精度や伝送遅れ時間に基づいて算出される。
if(ReceiveInfra=1){obj_Y1=DistInfra−ParamDist
obj_Y2=DistInfra+ParamDist}
else {obj_Y1=Vsp・Thw1
obj_Y2=Vsp・Thw2} ・・・(28)
ここで、ReceiveInfraは、インフラ情報として前車との距離情報を受信した場合に1となる受信割り込み信号フラグである。また、DistInfraはインフラ情報で得られる前車との車間距離である。さらに、ParamDistは所定距離を表す正数であり、インフラ距離情報の精度や伝送遅れ時間に基づいて算出される。
ステップ605〜606の処理は図2に示すステップ204〜205の処理と同様であり、説明を省略する。また、ステップ607〜615の処理は図2のステップ211〜219の処理と同様であり、説明を省略する。
このように、第5の実施の形態によれば、車外から前車との車間距離情報を入手し、前車との車間距離情報が得られた場合には前車との車間距離に基づいて画像処理領域を設定するようにしたので、インフラ情報を受信するような場面、例えば悪天候時に前車の位置が把握しにくい場面などにおいて前車がより検知しやすくなる。
《発明の第6の実施の形態》
自車の挙動に基づいて将来の自車位置を推定し、その推定位置から自車走行レーンの交通標識を認識する際に、路側構造物などのインフラ情報、例えば主要幹線道路に設置されているVICSの光ビーコンなどのように走行レーンごとに設置されるインフラ装置からの情報を受信した場合にのみ、画像処理領域の設定に際して横方向の設定位置をインフラ情報にしたがって補正するようにした第6の実施の形態を説明する。なお、この第6の実施の形態の構成は図1に示す構成と同様であり、説明を省略する。
自車の挙動に基づいて将来の自車位置を推定し、その推定位置から自車走行レーンの交通標識を認識する際に、路側構造物などのインフラ情報、例えば主要幹線道路に設置されているVICSの光ビーコンなどのように走行レーンごとに設置されるインフラ装置からの情報を受信した場合にのみ、画像処理領域の設定に際して横方向の設定位置をインフラ情報にしたがって補正するようにした第6の実施の形態を説明する。なお、この第6の実施の形態の構成は図1に示す構成と同様であり、説明を省略する。
図7は、外界認識装置5で実行されるカメラ画像処理による前車検知プログラムを示すフローチャートである。このフローチャートにより、第6の実施の形態の動作を説明する。外界認識装置5はこの前車検知プログラムを所定時間間隔、例えば50msecごとに実行する。なお、ステップ701〜702の処理は図2に示すステップ201〜202の処理と同様であるから説明を省略する。
ステップ703において、ステップ702で読み込んだ自車速と舵角に基づいて次式により自車の将来の位置を推定する。
own_Y=func1(Vsp) ・・・(29−1)
own_X=func2(Vsp,Steer) ・・・(29−2)
ここで、func1は図8に示すような特性を有する関数であり、func2は図9に示すような特性を有する関数である。
own_Y=func1(Vsp) ・・・(29−1)
own_X=func2(Vsp,Steer) ・・・(29−2)
ここで、func1は図8に示すような特性を有する関数であり、func2は図9に示すような特性を有する関数である。
ステップ704では自車走行路上のインフラから自車の走行レーンに関する情報を入手する。続くステップ705では自車の将来の推定位置と走行レーン情報に基づいて画像処理領域を設定する。
if(ReceiveInfra=0){
disp_obj_YA1=y0+(focusV・CAM_h2−pH)/own_Y) ・・・(30−1)
disp_obj_YB1=y0+(focusV・CAM_h−pH)/own_Y) ・・・(30−2)
disp_obj_XL1=x0+((own_X−pX)focusH/own_Y)−(Widht・focusH/own_Y)
・・・(30−3)
disp_obj_XR1=x0+((own_X−pX)focusH/own_Y)−(Widht・focusH/own_Y)
・・・(30−4)
}
else {
disp_obj_YA1=y0+(focusV・(CAM_h2−pH)/own_Y) ・・・(31−1)
disp_obj_YB1=y0+(focusV・(CAM_h−pH)/own_Y) ・・・(31−2)
disp_obj_XL1=x0+((own_X−pH−pLW・LanePosi)focusH/own_Y)
−(Width・focusH/own_Y) ・・・(31−3)
disp_obj_XR1=x0+((own_X−pH−pLW・LanePosi)focusH/own_Y)
+(Width・focusH/own_Y) ・・・(31−4)
}
ここで、ReceiveInfraはインフラ情報として自車の走行レーン情報を受信していない場合に0となる受信割り込み信号フラグである。また、図10に示すように、pHはターゲットとする交通標識の高さであり、pXは最も左の車線の中央から交通標識までの距離の標準値である。さらに、pLWは一般的な走行レーン幅(1車線分の幅で約3.5m)である。そして、LanePosiはインフラ情報で得られる自車の走行車線位置である。ここでは、最も左車線を走行すると0、左から2番目の車線を走行すると1、以下同様に順次増加する正数である。
if(ReceiveInfra=0){
disp_obj_YA1=y0+(focusV・CAM_h2−pH)/own_Y) ・・・(30−1)
disp_obj_YB1=y0+(focusV・CAM_h−pH)/own_Y) ・・・(30−2)
disp_obj_XL1=x0+((own_X−pX)focusH/own_Y)−(Widht・focusH/own_Y)
・・・(30−3)
disp_obj_XR1=x0+((own_X−pX)focusH/own_Y)−(Widht・focusH/own_Y)
・・・(30−4)
}
else {
disp_obj_YA1=y0+(focusV・(CAM_h2−pH)/own_Y) ・・・(31−1)
disp_obj_YB1=y0+(focusV・(CAM_h−pH)/own_Y) ・・・(31−2)
disp_obj_XL1=x0+((own_X−pH−pLW・LanePosi)focusH/own_Y)
−(Width・focusH/own_Y) ・・・(31−3)
disp_obj_XR1=x0+((own_X−pH−pLW・LanePosi)focusH/own_Y)
+(Width・focusH/own_Y) ・・・(31−4)
}
ここで、ReceiveInfraはインフラ情報として自車の走行レーン情報を受信していない場合に0となる受信割り込み信号フラグである。また、図10に示すように、pHはターゲットとする交通標識の高さであり、pXは最も左の車線の中央から交通標識までの距離の標準値である。さらに、pLWは一般的な走行レーン幅(1車線分の幅で約3.5m)である。そして、LanePosiはインフラ情報で得られる自車の走行車線位置である。ここでは、最も左車線を走行すると0、左から2番目の車線を走行すると1、以下同様に順次増加する正数である。
ステップ706の処理は図2のステップ214の処理と同様であるが、ここで画像処理する領域は図6のステップ605で設定した領域である。また、ステップ707〜711の処理は図2のステップ215〜219の処理と同様であり、説明を省略する。
このように、第6の実施の形態によれば、車外から自車の走行レーンの道路標識に関する情報を入手するととももに、車速検出装置6および操舵角検出装置7により検出された自車の挙動に基づいて将来の自車位置を推定し、自車走行レーンの道路標識情報と推定した将来の自車位置とに基づいて、前車と道路標識を検出するための画像処理領域を設定するようにしたので、インフラ情報を受信できるような場面、例えば主要幹線道路を走行する場面などにおいて道路標識がより検知しやすくなる。
特許請求の範囲の構成要素と一実施の形態の構成要素との対応関係は次の通りである。すなわち、カメラ3が撮像手段を、車速検出装置6、操舵角検出装置7およびヨーレイト検出装置10が挙動検出手段を、外界認識装置5が前車推定手段、領域設定手段、領域補正手段および存在判定手段を、画像処理装置4が特徴導出手段を、ナビゲーション装置11がナビゲーション装置を、操舵角検出装置7が操舵角検出手段をそれぞれ構成する。なお、本発明の特徴的な機能を損なわない限り、各構成要素は上記構成に限定されるものではない。
1 レーザーレーダー
2 レーダー処理装置
3 カメラ
4 画像処理装置
5 外界認識装置
6 車速検出装置
7 操舵角検出装置
8 自動ブレーキ制御装置
9 負圧ブレーキブースター
10 ヨーレイト検出装置
11 ナビゲーション装置
2 レーダー処理装置
3 カメラ
4 画像処理装置
5 外界認識装置
6 車速検出装置
7 操舵角検出装置
8 自動ブレーキ制御装置
9 負圧ブレーキブースター
10 ヨーレイト検出装置
11 ナビゲーション装置
Claims (11)
- 自車の前方を撮像する撮像手段と、
自車の挙動を検出する挙動検出手段と、
前記挙動検出手段により検出した自車の挙動に基づいて前車の位置を推定する前車推定手段と、
前記前車推定手段により推定した前車の位置に基づいて、前記撮像手段により撮像した画像上に前車を検出するための画像処理領域を設定する領域設定手段と、
前記領域設定手段により設定した画像処理領域を走行環境に応じて補正する領域補正手段と、
前記領域補正手段による補正後の画像処理領域における画像の特徴を導出する特徴導出手段と、
前記特徴導出手段により導出した特徴に基づいて前車を検知する前車判定手段とを備えることを特徴とする車両用画像処理装置。 - 請求項1に記載の車両用画像処理装置において、
前記領域補正手段は、ヘッドライト点灯時には前記画像処理領域をヘッドライトが照射される範囲内に補正することを特徴とする車両用画像処理装置。 - 請求項1に記載の車両用画像処理装置において、
前記領域補正手段は、ヘッドライト点灯時には前記画像処理領域を配光制御によりヘッドライトが照射される範囲内に補正することを特徴とする車両用画像処理装置。 - 請求項1に記載の車両用画像処理装置において、
前記領域補正手段は、ナビゲーション装置から自車の走行道路の曲率半径を入手し、走行道路の曲率半径に応じて前記画像処理領域を補正することを特徴とする車両用画像処理装置。 - 請求項1に記載の車両用画像処理装置において、
前記領域補正手段は、ナビゲーション装置から自車の走行道路の勾配を入手し、走行道路の勾配に応じて前記画像処理領域を補正することを特徴とする車両用画像処理装置。 - 請求項1に記載の車両用画像処理装置において、
前記領域補正手段は、ナビゲーション装置から自車の現在地と走行道路の曲率半径を入手するとともに、操舵角検出手段から自車の操舵角を入手し、自車の現在地と前記画像処理領域がともに所定値より小さい曲率半径の曲線路にある場合には、前記操舵角検出手段から入手した操舵角に応じて前記画像処理領域を補正せず、前記ナビゲーション装置から入手した自車の現在地の走行道路の曲率半径に応じて前記画像処理領域を補正することを特徴とする車両用画像処理装置。 - 請求項1に記載の車両用画像処理装置において、
前記領域補正手段は、ナビゲーション装置から自車の現在地と走行道路の曲率半径を入手するとともに、操舵角検出手段から自車の操舵角を入手し、自車の現在地と前記画像処理領域がともに所定値より大きな曲率半径の直線路にある場合には、前記操舵角検出手段から入手した自車の操舵角に応じて前記画像処理領域を補正せず、前記ナビゲーション装置から入手した自車の現在地の走行道路の曲率半径に応じて前記画像処理領域を補正することを特徴とする車両用画像処理装置。 - 請求項1に記載の車両用画像処理装置において、
前記領域補正手段は、車外から走行道路におけるスプラッシュ発生に関する走行環境情報を入手し、走行道路にスプラッシュが発生している場合には、前記画像処理領域を撮像画像の上方に補正することを特徴とする車両用画像処理装置。 - 請求項1に記載の車両用画像処理装置において、
前記領域補正手段は、車外から走行道路におけるスプラッシュ発生に関する走行環境情報を入手し、走行道路にスプラッシュが発生している場合には、前記画像処理域の下側を削除することを特徴とする車両用画像処理装置。 - 請求項1に記載の車両用画像処理装置において、
前記領域設定手段は、車外から前車との車間距離情報を入手し、前車との車間距離情報が得られた場合には前車との車間距離に基づいて画像処理領域を設定することを特徴とする車両用画像処理装置。 - 請求項1に記載の車両用画像処理装置において、
前記領域設定手段は、車外から自車の走行レーンの道路標識に関する情報を入手するととももに、前記挙動検出手段により検出された自車の挙動に基づいて将来の自車位置を推定し、自車走行レーンの道路標識情報と推定した将来の自車位置とに基づいて、前車と道路標識を検出するための画像処理領域を設定することを特徴とする車両用画像処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003381180A JP2005148816A (ja) | 2003-11-11 | 2003-11-11 | 車両用画像処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003381180A JP2005148816A (ja) | 2003-11-11 | 2003-11-11 | 車両用画像処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005148816A true JP2005148816A (ja) | 2005-06-09 |
Family
ID=34690632
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003381180A Pending JP2005148816A (ja) | 2003-11-11 | 2003-11-11 | 車両用画像処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005148816A (ja) |
-
2003
- 2003-11-11 JP JP2003381180A patent/JP2005148816A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3925488B2 (ja) | 車両用画像処理装置 | |
WO2021259344A1 (zh) | 车辆检测方法、装置、车辆和存储介质 | |
JP5276637B2 (ja) | 車線推定装置 | |
US9713983B2 (en) | Lane boundary line recognition apparatus and program for recognizing lane boundary line on roadway | |
US10580155B2 (en) | Image processing apparatus, imaging device, device control system, frequency distribution image generation method, and recording medium | |
JP3931891B2 (ja) | 車載用画像処理装置 | |
US11373532B2 (en) | Pothole detection system | |
JP5809785B2 (ja) | 車両用外界認識装置およびそれを用いた配光制御システム | |
US8305431B2 (en) | Device intended to support the driving of a motor vehicle comprising a system capable of capturing stereoscopic images | |
US20180268229A1 (en) | Image processing apparatus, imaging apparatus, and device control system | |
EP2933790A1 (en) | Moving object location/attitude angle estimation device and moving object location/attitude angle estimation method | |
EP2669844B1 (en) | Level Difference Recognition System Installed in Vehicle and Recognition Method executed by the Level Difference Recognition System | |
US9697421B2 (en) | Stereoscopic camera apparatus | |
JP2002197470A (ja) | 車線検出装置 | |
EP1403615B1 (en) | Apparatus and method for processing stereoscopic images | |
US20150149076A1 (en) | Method for Determining a Course of a Traffic Lane for a Vehicle | |
US20200074212A1 (en) | Information processing device, imaging device, equipment control system, mobile object, information processing method, and computer-readable recording medium | |
US10628960B2 (en) | Information processing apparatus, imaging apparatus, device control system, moving object, information processing method, and recording medium | |
JP2007147564A (ja) | 画像認識装置及び方法、並びに自車位置認識装置及び方法 | |
US20090201370A1 (en) | Traveling Lane Detector | |
CN110088801B (zh) | 可行驶区域检测装置以及行驶辅助系统 | |
JP2008117073A (ja) | 割り込み車両検出装置 | |
JP2015148887A (ja) | 画像処理装置、物体認識装置、移動体機器制御システム及び物体認識用プログラム | |
JP3961584B2 (ja) | 区画線検出装置 | |
CN113160594A (zh) | 变化点检测装置以及地图信息发布系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051226 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070711 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070717 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20071120 |