JP2006172262A - 車両用道路標示検出装置 - Google Patents
車両用道路標示検出装置 Download PDFInfo
- Publication number
- JP2006172262A JP2006172262A JP2004365643A JP2004365643A JP2006172262A JP 2006172262 A JP2006172262 A JP 2006172262A JP 2004365643 A JP2004365643 A JP 2004365643A JP 2004365643 A JP2004365643 A JP 2004365643A JP 2006172262 A JP2006172262 A JP 2006172262A
- Authority
- JP
- Japan
- Prior art keywords
- road
- road marking
- image processing
- mark
- image
- 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
Landscapes
- Traffic Control Systems (AREA)
Abstract
【課題】 道路標示の誤検出と不検出を防止する。
【解決手段】 自車前方の撮像画像を画像処理して道路上の進行方向に連続して描かれる道路標示を1文字または1記号ずつ検出するとともに、道路標示の1文字または1記号を検出したときに、道路標示の次の1文字または1記号を検出するために前記画像処理を変更し、検出した道路標示の複数の文字および記号に対応する交通規則を乗員に報知する。
【選択図】 図2
【解決手段】 自車前方の撮像画像を画像処理して道路上の進行方向に連続して描かれる道路標示を1文字または1記号ずつ検出するとともに、道路標示の1文字または1記号を検出したときに、道路標示の次の1文字または1記号を検出するために前記画像処理を変更し、検出した道路標示の複数の文字および記号に対応する交通規則を乗員に報知する。
【選択図】 図2
Description
本発明は、カメラにより自車前方の道路環境を撮像し、撮像した画像を処理して道路交通上の規制や指示を路面に記した道路標示を検出する装置および方法に関する。
路面に描かれた文字列や記号を撮像し、予め記憶されている「止まれ」などの文字列からなる基準文字記号パターンと照合して道路標示を検出する安全運転支援装置が知られている(例えば、特許文献1参照)。
この出願の発明に関連する先行技術文献としては次のものがある。
特開2002−219998号公報
しかしながら、上述した従来の装置では、道路標示の経年変化や明るさの変化による薄れや汚れを考慮していないので、道路標示の不検出や誤検出が多いという問題がある。
自車前方の撮像画像を画像処理して道路上の進行方向に連続して描かれる道路標示を1文字または1記号ずつ検出するとともに、道路標示の1文字または1記号を検出したときに、道路標示の次の1文字または1記号を検出するために前記画像処理を変更し、検出した道路標示の複数の文字および記号に対応する交通規則を乗員に報知する。
本発明によれば、道路標示の1文字または1記号を検出するたびにより適切な画像処理に変更することができ、道路標示の誤検出と不検出の両方を低減することができる。
《発明の第1の実施の形態》
図1は第1の実施の形態の構成を示す。スキャンニング式レーザーレーダー1は車両前方にレーザー光を照射して物体からの反射光を受光し、物体までの距離と方位を測定する。レーダー処理装置2はレーザーレーダー1による測定結果に基づいて車両前方の障害物を抽出し、自車両を原点とする車両前後方向と車幅方向の二次元座標上における障害物の位置と大きさ(幅)とを算出する。プログレッシブスキャン式CCDカメラ3は車両前方を高速に撮像する。画像処理装置4は、カメラ3による撮像画像を処理して道路交通上の規制や指示を路面に記した道路標示の検出を行う。
図1は第1の実施の形態の構成を示す。スキャンニング式レーザーレーダー1は車両前方にレーザー光を照射して物体からの反射光を受光し、物体までの距離と方位を測定する。レーダー処理装置2はレーザーレーダー1による測定結果に基づいて車両前方の障害物を抽出し、自車両を原点とする車両前後方向と車幅方向の二次元座標上における障害物の位置と大きさ(幅)とを算出する。プログレッシブスキャン式CCDカメラ3は車両前方を高速に撮像する。画像処理装置4は、カメラ3による撮像画像を処理して道路交通上の規制や指示を路面に記した道路標示の検出を行う。
外界認識装置5は、レーダー処理装置2と画像処理装置4の車両検出結果と、車速検出装置6により検出された車速、操舵角検出装置7により検出された操舵角などに基づいて自車前方の車両を検出し、自車両の障害になるか否かを判断し、必要に応じて自動ブレーキ制御装置8を制御して負圧ブレーキブースター9を駆動し、車両の制動力を発生させる。外界認識装置5は、レーダー処理装置2で検出した障害物までの距離に基づいて制動力を演算するとともに、画像処理装置4により検出した停止線までの距離に基づいて制動力を演算し、どちらか大きい方を制動力指令値として自動ブレーキ制御装置8へ出力し、負圧ブレーキブースター9のソレノイドバルブに制動力指令電圧を印加して自車両を制動する。
なお、レーダー処理装置2、画像処理装置4および外界認識装置5はそれぞれマイクロコンピューターとその周辺部品や各種アクチュエーターの駆動回路などを備え、互いに通信回線を介して情報の授受を行う。
図2は、カメラ3による撮像画像を処理して道路上にペイントされている一時停止の道路標示「止まれ」を検出する処理を示す。画像処理装置4および外界認識装置5は、50msecごとに図2に示す道路標示検出処理を繰り返す。ステップ100において、今回のサンプリングでカメラ3により撮像した画像を読み込む。続くステップ101では車速検出装置6から車速を、操舵角検出装置7から操舵角を読み込む。ステップ102で、道路標示の文字や記号などのマークを順番に検出する場合の認識回数を表すカウンターDetectsStepが0、すなわち、まだ道路標示のマークを一つも認識していない状態か否かを確認する。
一時停止の道路標示の文字や記号などのマークをまだ一つも認識していない状態の場合はステップ103へ進み、道路標示を検出するための初期条件を以下のように設定する。
obj_Y=20,
obj_X=0,
ProcessWide=1.5,
ProcessDist=10.0,
Thr1=128,
Fade=0 ・・・(1)
ここで、obj_Yは道路上の画像処理領域の前後方向位置(単位メートル)、obj_Xは道路上の画像処理領域の左右方向位置(単位メートル、自車両の正面が0)である。また、ProcessWideは画像処理領域の横方向範囲の半分の値(単位メートル)、ProcessDistは画像処理領域の前後方向範囲の半分の値(単位メートル)である。Thr1は後述する画像処理で用いる濃淡のしきい値であって、128は一般的な8bitの濃淡、つまり濃淡∈〔黒=0、白=255〕の場合の中央値(灰色)である。Fadeも同様に、後述する画像処理で用いる薄れと汚れに関するパラメーターである。
obj_Y=20,
obj_X=0,
ProcessWide=1.5,
ProcessDist=10.0,
Thr1=128,
Fade=0 ・・・(1)
ここで、obj_Yは道路上の画像処理領域の前後方向位置(単位メートル)、obj_Xは道路上の画像処理領域の左右方向位置(単位メートル、自車両の正面が0)である。また、ProcessWideは画像処理領域の横方向範囲の半分の値(単位メートル)、ProcessDistは画像処理領域の前後方向範囲の半分の値(単位メートル)である。Thr1は後述する画像処理で用いる濃淡のしきい値であって、128は一般的な8bitの濃淡、つまり濃淡∈〔黒=0、白=255〕の場合の中央値(灰色)である。Fadeも同様に、後述する画像処理で用いる薄れと汚れに関するパラメーターである。
ステップ104においてカメラ3の撮像画像の画像処理領域を次のように設定する。
disp_obj_YA=y0+focusV*CAM_h/(obj_Y+ProcessDist) ・・・(2)
disp_obj_YB=y0+focusV*CAM_h/(obj_Y−ProcessDist) ・・・(3)
disp_obj_XL=x0+focusH*obj_X/obj_Y−focusH*ProcessWide/obj_Y ・・・(4)
disp_obj_XR=x0+focesH*obj_X/obj_Y+focusH*ProcessWide/obj_Y
・・・(5)
ここで、disp_obj_YAは画像処理領域の上側の座標、disp_obj_YBは画像処理領域の下側の座標、disp_obj_XLは画像処理領域の左側の座標、disp_obj_XRは画像処理領域の右側の座標である。また、y0、x0は消失点の縦方向座標[pix:画素数]と横方向座標[pix:画素数](カメラ3の取り付け位置と向きで決まるパラメーター)である。同様に、focusVとfocusHは鉛直方向と水平方向のカメラ3の焦点距離を画素換算した値[pix](カメラ3の画角と受光素子の解像度で決まるパラメーター)である。CAM_hはカメラ3の取り付け高さ(単位はメートル)である。
disp_obj_YA=y0+focusV*CAM_h/(obj_Y+ProcessDist) ・・・(2)
disp_obj_YB=y0+focusV*CAM_h/(obj_Y−ProcessDist) ・・・(3)
disp_obj_XL=x0+focusH*obj_X/obj_Y−focusH*ProcessWide/obj_Y ・・・(4)
disp_obj_XR=x0+focesH*obj_X/obj_Y+focusH*ProcessWide/obj_Y
・・・(5)
ここで、disp_obj_YAは画像処理領域の上側の座標、disp_obj_YBは画像処理領域の下側の座標、disp_obj_XLは画像処理領域の左側の座標、disp_obj_XRは画像処理領域の右側の座標である。また、y0、x0は消失点の縦方向座標[pix:画素数]と横方向座標[pix:画素数](カメラ3の取り付け位置と向きで決まるパラメーター)である。同様に、focusVとfocusHは鉛直方向と水平方向のカメラ3の焦点距離を画素換算した値[pix](カメラ3の画角と受光素子の解像度で決まるパラメーター)である。CAM_hはカメラ3の取り付け高さ(単位はメートル)である。
ステップ105では上記画像処理領域において道路標示の文字や記号などのマークを識別するための前処理1を行う。この前処理1として、この一実施の形態では微分演算を行う。微分演算は、微分画像を求める一般的な手法であるsobelフィルターにより実施する。sobelフィルターとは、ある画素に隣接する画素どうしの輝度変化を求める演算である。
続くステップ106において上記ステップで求めた微分画像に対し道路標示の文字や記号などのマークを識別するための前処理2を行う。この前処理2として、この一実施の形態では2値化処理を行う。2値化処理は、求めた微分画像の各画素の濃淡値(ここでは微分画像のため輝度変化)がしきい値Thr1よりも小さい(輝度変化がない)場合には黒色に、しきい値以上の場合には白色に、微分画像の濃淡を白/黒2色に分ける。
ステップ107では道路標示の薄れと汚れの度合いを表すパラメーターFadeの値が0で薄れと汚れがない場合にはステップ110へ、Fade=1で薄れと汚れがある場合にはステップ108へ、Fade=2で薄れと汚れがひどい場合はステップ109へそれぞれ進む。
Fade=1で薄れと汚れがある場合は、ステップ108で2値化画像を膨張処理した後、収縮処理を行い、ステップ110へ進む。ここで、膨張処理とは、2値化画像の白の部分を外側へ1画素膨張させる処理で、一般にDilationなどと呼ばれる処理である。また、収縮処理とは、2値化画像の白の部分を内側へ1画素収縮させる処理で、一般にErosionなどと呼ばれる処理である。
図7に、道路標示の文字「止」の撮像画像に対して膨張処理と収縮処理を行った例を示す。なお、道路標示「止」は白色でペインとされているが、図7では黒色で表す。(a)に示す撮像画像に対して膨張処理を行うと(b)に示す画像になり、(b)に示す画像に対して収縮処理を行うと(c)に示す画像認識(OCR)が容易な画像が得られる。
図7に、道路標示の文字「止」の撮像画像に対して膨張処理と収縮処理を行った例を示す。なお、道路標示「止」は白色でペインとされているが、図7では黒色で表す。(a)に示す撮像画像に対して膨張処理を行うと(b)に示す画像になり、(b)に示す画像に対して収縮処理を行うと(c)に示す画像認識(OCR)が容易な画像が得られる。
一方、Fade=2で薄れと汚れがひどい場合は、ステップ109で2値化画像を2回連続して膨張処理した後、2回連続して収縮処理を行いステップ110へ進む。
図8に、道路標示の文字「止」の撮像画像に対して膨張処理を2回と収縮処理を2回行った例を示す。なお、道路標示「止」は白色でペインとされているが、図8では黒色で表す。(a)に示す撮像画像に対して1回膨張処理を行うと(b)に示す画像になり、さらにもう1回膨張処理を行うと(c)に示す画像になる。さらに、2回の膨張処理後の画像に対して1回収縮処理を行うと(d)に示す画像になり、もう1回収縮処理を行うと(e)に示す画像になる。
図8に、道路標示の文字「止」の撮像画像に対して膨張処理を2回と収縮処理を2回行った例を示す。なお、道路標示「止」は白色でペインとされているが、図8では黒色で表す。(a)に示す撮像画像に対して1回膨張処理を行うと(b)に示す画像になり、さらにもう1回膨張処理を行うと(c)に示す画像になる。さらに、2回の膨張処理後の画像に対して1回収縮処理を行うと(d)に示す画像になり、もう1回収縮処理を行うと(e)に示す画像になる。
Fade=0で薄れと汚れがない場合、あるいは薄れと汚れがあって膨張処理と収縮処理を行った後、ステップ110で道路標示マークの認識回数カウンターDetectStepの値に応じて参照用マークを決定する。
DetectStep=0の場合、Ref_Mark=「れ」・・・まだ何も検出せず、
DetectStep=1の場合、Ref_Mark=「ま」・・・「れ」は検出すみ、
DetectStep=2の場合、Ref_Mark=「止」・・・「ま」は検出すみ、
DetectStep=3の場合、Ref_Mark=「−」・・・すべて検出すみ、停止線を探す。
・・・(6)
ここで、Ref_Markとは、検出した道路標示マークと照合するために参照するマークであり、カメラ3から路面上の道路標示マークを見下ろすのと同じように、斜め上から見た遠近感のある参照用マークを予め設定しておくものとする。つまり、ステップ104で設定した画像処理領域が小さい、すなわち遠方にある場合には、このRef_Markも小さくなるように大きさを正規化する。
DetectStep=0の場合、Ref_Mark=「れ」・・・まだ何も検出せず、
DetectStep=1の場合、Ref_Mark=「ま」・・・「れ」は検出すみ、
DetectStep=2の場合、Ref_Mark=「止」・・・「ま」は検出すみ、
DetectStep=3の場合、Ref_Mark=「−」・・・すべて検出すみ、停止線を探す。
・・・(6)
ここで、Ref_Markとは、検出した道路標示マークと照合するために参照するマークであり、カメラ3から路面上の道路標示マークを見下ろすのと同じように、斜め上から見た遠近感のある参照用マークを予め設定しておくものとする。つまり、ステップ104で設定した画像処理領域が小さい、すなわち遠方にある場合には、このRef_Markも小さくなるように大きさを正規化する。
ステップ111では、上述した前処理により識別した道路標示マークを参照用マークと照合して道路標示マークを認識する。この認識方法として、この一実施の形態では参照用マークと2値化画像とのOCR(Optical Character Recognition)手法を応用し、所定以上の類似性がある場合にその道路標示マークを認識できたものとする。続くステップ112で道路標示マークを認識した場合はステップ113へ進み、認識できなかった場合はステップ117へ進む。
道路標示マークを認識した場合は、ステップ113で道路標示マークの認識回数カウンターDetectStepをインクリメントする。カウンターDetectStepが4になった場合はステップ118へ進み、4未満の場合はステップ114へ進む。
一時停止の道路標示の文字「止」、「ま」、「れ」と停止線記号「−」のすべてを認識していない場合は、ステップ114で次式により2値化処理の濃淡しきい値Thr1を決める。
Thr1=0.8*(Av+Vr) ・・・(7)
ここで、Avとは、ステップ104で定義した画像処理領域をステップ105で微分演算した際の微分画像の平均輝度値である。また、Vrも同様に、微分画像の分散輝度値である。
Thr1=0.8*(Av+Vr) ・・・(7)
ここで、Avとは、ステップ104で定義した画像処理領域をステップ105で微分演算した際の微分画像の平均輝度値である。また、Vrも同様に、微分画像の分散輝度値である。
(7)式により、道路標示マークを検出するたびに、撮像画像を微分演算して求めた微分画像の輝度情報に基づいて2値化処理の濃淡しきい値Thr1を変更し、変更された濃淡しきい値Thr1は、次の道路標示マークを認識する際の2値化処理の濃淡しきい値として用いられる。
次にステップ115において次式により道路標示の薄れと汚れの度合いを表すパラメーターFadeを変更する。
Fade=func1(DtctArea_White/RefArea_White) ・・・(8)
ここで、func1(A)は図6に示すような特性を有する関数である。また、DtctArea_Whiteは今回のステップ109までの2値化画像における白い部分の面積であり、RefArea_Whiteはステップ110で設定した参照マークにおける白い部分の面積である。
Fade=func1(DtctArea_White/RefArea_White) ・・・(8)
ここで、func1(A)は図6に示すような特性を有する関数である。また、DtctArea_Whiteは今回のステップ109までの2値化画像における白い部分の面積であり、RefArea_Whiteはステップ110で設定した参照マークにおける白い部分の面積である。
図6において、A(=DtctArea_White/RefArea_White)は、参照マーク中の白色部分の面積に対する2値化画像中の白色部分の面積を表しており、検出した道路標示の薄れと汚れがひどいほどAの値が小さくなり、func1の値が大きくなる。したがって、道路標示の薄れと汚れがひどいほど薄れと汚れの度合いを表すFadeの値が大きくなる。
(8)式により、道路標示マークを検出するたびに、2値化画像の中の白色部分の面積に基づいて道路標示の薄れと汚れの度合いを表すパラメーターFadeを変更し、次の道路標示マークを認識する際に変更後のパラメーターFadeに応じて撮像画像に膨張処理と収縮処理を施す。
ステップ116では、認識した道路標示マークの画面上の位置に基づいて、次に道路標示マークを探索する画面上の画像処理領域の位置を次式により求める。
obj_Y=focusV*CAM_h/(Ref_Mark_Center_y−y0)+2.0,
obj_X=obj_Y(Ref_Mark_Center_x−x0)/focusH ・・・(9)
(9)式において、Ref_Mark_Center_yは認識したマークの画面上の垂直方向(上下方向)位置、Ref_Mark_Center_xは認識したマークの画面上の水平方向(左右方向)位置である。
obj_Y=focusV*CAM_h/(Ref_Mark_Center_y−y0)+2.0,
obj_X=obj_Y(Ref_Mark_Center_x−x0)/focusH ・・・(9)
(9)式において、Ref_Mark_Center_yは認識したマークの画面上の垂直方向(上下方向)位置、Ref_Mark_Center_xは認識したマークの画面上の水平方向(左右方向)位置である。
一方、ステップ113でカウンターDetectStepが4になり、一時停止の道路標示の文字「止」、「ま」、「れ」と停止線記号「−」をすべて認識できたと判定された場合は、ステップ118で、自車前方の一時停止記号「−」を検出したのでスピーカー(不図示)により「一時停止です」と放送し、運転者に一時停止情報を提供してステップ117へ進む。ステップ117では車速、操舵角などの自車挙動データの過去値を更新して処理を終了する。
このように、道路上の進行方向に連続してペイントされる道路標示を1文字または1記号ずつ部分的に検出するとともに、検出した道路標示マークの薄れと汚れに基づいて次の道路標示マークを認識する際のしきい値とパラメーターを変更するようにしたので、画像処理による道路標示マークの認識性能を向上させることができる。例えば、初めは誤検出するかも知れないが不検出のない道路標示マーク認識用のしきい値とパラメーターを設定し(上記ステップ103参照)、道路標示マークを認識するたびにより適切な道路標示マーク認識用のしきい値とパラメーターを設定する(上記ステップ114〜115参照)ことができ、道路標示マークの誤検出と不検出を低減できる。
《発明の第2の実施の形態》
上述した第1の実施の形態では一文字ずつ「れ」→「ま」→「止」の順に部分的に道路標示を検出する例を示したが、文字の順序を問わず1文字または1記号ずつ部分的に道路標示を検出する第2の実施の形態を説明する。なお、この第2の実施の形態の構成は図1に示す構成と同様であり、説明を省略する。
上述した第1の実施の形態では一文字ずつ「れ」→「ま」→「止」の順に部分的に道路標示を検出する例を示したが、文字の順序を問わず1文字または1記号ずつ部分的に道路標示を検出する第2の実施の形態を説明する。なお、この第2の実施の形態の構成は図1に示す構成と同様であり、説明を省略する。
図3〜図4は、カメラ3による撮像画像を処理して道路上にペイントされている一時停止の道路標示「止まれ」を検出する処理を示す。画像処理装置4および外界認識装置5は、50msecごとに図3〜図4に示す道路標示検出処理を繰り返す。ステップ200において、今回のサンプリングでカメラ3により撮像した画像を読み込む。続くステップ201では車速検出装置6から車速を、操舵角検出装置7から操舵角を読み込む。
ステップ202で、道路標示の文字や記号などのマークを認識した回数を表すカウンターDetectsStepの値を確認し、カウンターDetectsStepの値に応じて次のように分岐する。
DetectsStep=0(何も検出していない状態)の場合はステップ203へ、
DetectsStep=1(「れ」のみ検出すみ)の場合はステップ205へ、
DetectsStep=2(「ま」のみ検出すみ)の場合はステップ207へ、
DetectsStep=3(「れ」と「ま」を検出すみ)の場合はステップ209へ、
DetectsStep=4(「止」のみ検出すみ)の場合はステップ211へ、
DetectsStep=5(「れ」と「止」を検出すみ)の場合はステップ213へ、
DetectsStep=6(「ま」と「止」を検出すみ)の場合はステップ215へ、
DetectsStep=7(「れ」「ま」「止」を検出すみ)の場合はステップ217へ。
DetectsStep=0(何も検出していない状態)の場合はステップ203へ、
DetectsStep=1(「れ」のみ検出すみ)の場合はステップ205へ、
DetectsStep=2(「ま」のみ検出すみ)の場合はステップ207へ、
DetectsStep=3(「れ」と「ま」を検出すみ)の場合はステップ209へ、
DetectsStep=4(「止」のみ検出すみ)の場合はステップ211へ、
DetectsStep=5(「れ」と「止」を検出すみ)の場合はステップ213へ、
DetectsStep=6(「ま」と「止」を検出すみ)の場合はステップ215へ、
DetectsStep=7(「れ」「ま」「止」を検出すみ)の場合はステップ217へ。
カウンターDetectsStep=0で一時停止の道路標示の文字や記号などのマークをまだ一つも検出していない場合は、ステップ203で道路標示を検出するためのパラメーターを次のように設定する。
obj_Y1=20,
obj_X1=0,
ProcessWide=1.5,
ProcessDist=10.0,
もし、RcgState>2 あるいは RcgState<0の場合には RcgState=0
・・・(10)
ここで、obj_Y1は道路上の画像処理領域の前後方向位置(単位メートル)、obj_X1は道路上の画像処理領域の左右方向位置(単位メートル、自車両正面が0)である。また、ProcessWideは画像処理領域の横方向範囲の半分の値(単位メートル)、ProcessDistは画像処理領域の前後方向範囲の半分の値(単位メートル)である。RcgStateとは、今回のサンプリング周期における画像処理で認識する道路標示マークの種類を決める変数であり、初期値は0である。
obj_Y1=20,
obj_X1=0,
ProcessWide=1.5,
ProcessDist=10.0,
もし、RcgState>2 あるいは RcgState<0の場合には RcgState=0
・・・(10)
ここで、obj_Y1は道路上の画像処理領域の前後方向位置(単位メートル)、obj_X1は道路上の画像処理領域の左右方向位置(単位メートル、自車両正面が0)である。また、ProcessWideは画像処理領域の横方向範囲の半分の値(単位メートル)、ProcessDistは画像処理領域の前後方向範囲の半分の値(単位メートル)である。RcgStateとは、今回のサンプリング周期における画像処理で認識する道路標示マークの種類を決める変数であり、初期値は0である。
続くステップ204では、今回のサンプリング周期の画像処理で認識する道路標示マークの種類を決める変数RcgStateの値に応じて参照用マークを設定する。
RcgState=0の場合、Ref_Mark=「れ」,
RcgState=1の場合、Ref_Mark=「ま」,
RcgState=2の場合、Ref_Mark=「止」 ・・・ (11)
ここで、Ref_Markとは、検出した道路標示マークと照合するために参照するマークであり、カメラ3から路面上の道路標示マークを見下ろすのと同じように、斜め上から見た遠近感のある参照用マークを予め設定しておくものとする。
RcgState=0の場合、Ref_Mark=「れ」,
RcgState=1の場合、Ref_Mark=「ま」,
RcgState=2の場合、Ref_Mark=「止」 ・・・ (11)
ここで、Ref_Markとは、検出した道路標示マークと照合するために参照するマークであり、カメラ3から路面上の道路標示マークを見下ろすのと同じように、斜め上から見た遠近感のある参照用マークを予め設定しておくものとする。
カウンターDetectsStep=1で「れ」のみ検出すみの場合は、ステップ205で道路標示を検出するためのパラメーターを次のように設定する。
もし、RcgState>2 あるいは RcgState<0の場合には、RcgState=0、
もし、RcgState=0 ならば obj_Y1=obj_Y ・・・「ま」検出用、
もし、RcgState=1 ならば obj_Y1=obj_Y+2.0 ・・・「止」検出用
・・・(12)
もし、RcgState>2 あるいは RcgState<0の場合には、RcgState=0、
もし、RcgState=0 ならば obj_Y1=obj_Y ・・・「ま」検出用、
もし、RcgState=1 ならば obj_Y1=obj_Y+2.0 ・・・「止」検出用
・・・(12)
続くステップ206では、今回のサンプリング周期の画像処理で認識する道路標示マークの種類を決める変数RcgStateの値に応じて参照用マークを設定する。
RcgState=0の場合、Ref_Mark=「ま」、
RcgState=1の場合、Ref_Mark=「止」 ・・・(13)
RcgState=0の場合、Ref_Mark=「ま」、
RcgState=1の場合、Ref_Mark=「止」 ・・・(13)
カウンターDetectsStep=2で「ま」のみ検出すみの場合は、ステップ207で道路標示を検出するためのパラメーターを次のように設定する。
もし、RcgState>2 あるいは RcgState<0の場合には、RcgState=0、
もし、RcgState=0 ならば obj_Y1=obj_Y ・・・「止」検出用、
もし、RcgState=1 ならば obj_Y1=obj_Y−4.0 ・・・「れ」検出用
・・・(14)
もし、RcgState>2 あるいは RcgState<0の場合には、RcgState=0、
もし、RcgState=0 ならば obj_Y1=obj_Y ・・・「止」検出用、
もし、RcgState=1 ならば obj_Y1=obj_Y−4.0 ・・・「れ」検出用
・・・(14)
続くステップ208では、今回のサンプリング周期の画像処理で認識する道路標示マークの種類を決める変数RcgStateの値に応じて参照用マークを設定する。
RcgState=0の場合、Ref_Mark=「止」、
RcgState=1の場合、Ref_Mark=「れ」 ・・・(15)
RcgState=0の場合、Ref_Mark=「止」、
RcgState=1の場合、Ref_Mark=「れ」 ・・・(15)
カウンターDetectsStep=3で「れ」と「ま」を検出すみの場合は、ステップ209で道路標示を検出するためのパラメーターを次のように設定する。
もし、RcgState>2 あるいは RcgState<0の場合には、RcgState=0、
もし、RcgState=0 ならば obj_Y1=obj_Y ・・・「止」検出用、
もし、RcgState=1 ならば obj_Y1=obj_Y+2.0 ・・・「−」検出用
・・・(16)
もし、RcgState>2 あるいは RcgState<0の場合には、RcgState=0、
もし、RcgState=0 ならば obj_Y1=obj_Y ・・・「止」検出用、
もし、RcgState=1 ならば obj_Y1=obj_Y+2.0 ・・・「−」検出用
・・・(16)
続くステップ210では、今回のサンプリング周期の画像処理で認識する道路標示マークの種類を決める変数RcgStateの値に応じて参照用マークを設定する。
RcgState=0の場合、Ref_Mark=「止」、
RcgState=1の場合、Ref_Mark=「−」(停止線) ・・・(17)
RcgState=0の場合、Ref_Mark=「止」、
RcgState=1の場合、Ref_Mark=「−」(停止線) ・・・(17)
カウンターDetectsStep=4で「止」のみ検出すみの場合は、ステップ211で道路標示を検出するためのパラメーターを次のように設定する。
もし、RcgState>2 あるいは RcgState<0の場合には、RcgState=0、
もし、RcgState=0 ならば obj_Y1=obj_Y−4.0 ・・・「れ」検出用、
もし、RcgState=1 ならば obj_Y1=obj_Y−2.0 ・・・「ま」検出用
・・・(18)
もし、RcgState>2 あるいは RcgState<0の場合には、RcgState=0、
もし、RcgState=0 ならば obj_Y1=obj_Y−4.0 ・・・「れ」検出用、
もし、RcgState=1 ならば obj_Y1=obj_Y−2.0 ・・・「ま」検出用
・・・(18)
続くステップ212では、今回のサンプリング周期の画像処理で認識する道路標示マークの種類を決める変数RcgStateの値に応じて参照用マークを設定する。
RcgState=0の場合、Ref_Mark=「れ」、
RcgState=1の場合、Ref_Mark=「ま」 ・・・(19)
RcgState=0の場合、Ref_Mark=「れ」、
RcgState=1の場合、Ref_Mark=「ま」 ・・・(19)
カウンターDetectsStep=5で「れ」と「止」を検出すみの場合は、ステップ213で道路標示を検出するためのパラメーターを次のように設定する。
もし、RcgState>2 あるいは RcgState<0の場合には、RcgState=0、
もし、RcgState=0 ならば obj_Y1=obj_Y−4.0 ・・・「ま」検出用、
もし、RcgState=1 ならば obj_Y1=obj_Y ・・・「−」検出用
・・・(20)
もし、RcgState>2 あるいは RcgState<0の場合には、RcgState=0、
もし、RcgState=0 ならば obj_Y1=obj_Y−4.0 ・・・「ま」検出用、
もし、RcgState=1 ならば obj_Y1=obj_Y ・・・「−」検出用
・・・(20)
続くステップ212では、今回のサンプリング周期の画像処理で認識する道路標示マークの種類を決める変数RcgStateの値に応じて参照用マークを設定する。
RcgState=0の場合、Ref_Mark=「ま」、
RcgState=1の場合、Ref_Mark=「−」 ・・・(21)
RcgState=0の場合、Ref_Mark=「ま」、
RcgState=1の場合、Ref_Mark=「−」 ・・・(21)
DetectsStep=6(「ま」と「止」を検出すみ)の場合は、ステップ215で道路標示を検出するためのパラメーターを次式のように設定する。
もし、RcgState>2 あるいは RcgState<0の場合には、RcgState=0、
もし、RcgState=0 ならば obj_Y1=obj_Y−6.0 ・・・「れ」検出用、
もし、RcgState=1 ならば obj_Y1=obj_Y ・・・「−」検出用
・・・(22)
もし、RcgState>2 あるいは RcgState<0の場合には、RcgState=0、
もし、RcgState=0 ならば obj_Y1=obj_Y−6.0 ・・・「れ」検出用、
もし、RcgState=1 ならば obj_Y1=obj_Y ・・・「−」検出用
・・・(22)
続くステップ216では、今回のサンプリング周期の画像処理で認識する道路標示マークの種類を決める変数RcgStateの値に応じて参照用マークを設定する。
RcgState=0の場合、Ref_Mark=「れ」、
RcgState=1の場合、Ref_Mark=「−」 ・・・(23)
RcgState=0の場合、Ref_Mark=「れ」、
RcgState=1の場合、Ref_Mark=「−」 ・・・(23)
カウンターDetectsStep=7で「れ」「ま」「止」を検出すみの場合は、ステップ217で道路標示を検出するためのパラメーターを次式のように設定する。
obj_Y1=obj_Y ・・・「−」検出用 ・・・(24)
続くステップ218では、今回のサンプリング周期の画像処理で認識する道路標示マークの種類を決める変数RcgStateの値によらず、参照用マークを次のように設定する。
Ref_Mark=「−」 ・・・(25)
obj_Y1=obj_Y ・・・「−」検出用 ・・・(24)
続くステップ218では、今回のサンプリング周期の画像処理で認識する道路標示マークの種類を決める変数RcgStateの値によらず、参照用マークを次のように設定する。
Ref_Mark=「−」 ・・・(25)
ステップ219においてカメラ3の撮像画像上の画像処理領域を次のように設定する。
disp_obj_YA=y0+focusV*CAM_h/(obj_Y1+ProcessDist)
・・・(26)
disp_obj_YB=y0+focusV*CAM_h/(obj_Y1−ProcessDist)
・・・(27)
disp_obj_XL=x0+focusH*obj_X1/obj_Y1
−focusH*ProcessWide/obj_Y1 ・・・(28)
disp_obj_XR=x0+focusH*obj_X1/obj_Y1
+focusH*ProcessWide/obj_Y1 ・・・(29)
ここで、disp_obj_YAは画像処理領域の上側の座標、disp_obj_YBは画像処理領域の下側の座標、disp_obj_XLは画像処理領域の左側の座標、disp_obj_XRは画像処理領域の右側の座標である。また、y0、x0は消失点の縦方向座標[pix:画素数]と横方向座標[pix](カメラ3の取り付け位置と向き(撮影レンズの方向)で決まるパラメーター)である。同様に、focusVとfocusHは鉛直方向と水平方向のカメラ3の焦点距離を画素換算した値[pix](カメラ3の画角と受光素子の解像度で決まるパラメーター)である。CAM_hはカメラ3の取り付け高さ(単位はメートル)である。
disp_obj_YA=y0+focusV*CAM_h/(obj_Y1+ProcessDist)
・・・(26)
disp_obj_YB=y0+focusV*CAM_h/(obj_Y1−ProcessDist)
・・・(27)
disp_obj_XL=x0+focusH*obj_X1/obj_Y1
−focusH*ProcessWide/obj_Y1 ・・・(28)
disp_obj_XR=x0+focusH*obj_X1/obj_Y1
+focusH*ProcessWide/obj_Y1 ・・・(29)
ここで、disp_obj_YAは画像処理領域の上側の座標、disp_obj_YBは画像処理領域の下側の座標、disp_obj_XLは画像処理領域の左側の座標、disp_obj_XRは画像処理領域の右側の座標である。また、y0、x0は消失点の縦方向座標[pix:画素数]と横方向座標[pix](カメラ3の取り付け位置と向き(撮影レンズの方向)で決まるパラメーター)である。同様に、focusVとfocusHは鉛直方向と水平方向のカメラ3の焦点距離を画素換算した値[pix](カメラ3の画角と受光素子の解像度で決まるパラメーター)である。CAM_hはカメラ3の取り付け高さ(単位はメートル)である。
ステップ220では上記画像処理領域において道路標示の文字や記号などのマークを識別するための前処理1を行う。この前処理1として、上述した第1の実施の形態と同様に微分演算を行う。続くステップ221において上記ステップで求めた微分画像に対し道路標示の文字や記号などのマークを識別するための前処理2を行う。この前処理2として、上述した第1の実施の形態と同様に2値化処理を行う。
ステップ222では道路標示の薄れと汚れの度合いを表すパラメーターFadeの値が0(で薄れと汚れがない場合にはステップ225へ、Fade=1で薄れと汚れがある場合にはステップ223へ、Fade=2で薄れと汚れがひどい場合はステップ224へそれぞれ進む。
Fade=1で薄れと汚れがある場合は、ステップ223で上述したように2値化画像を膨張処理した後、収縮処理を行い、ステップ225へ進む。また、Fade=2で薄れと汚れがひどい場合は、ステップ224で上述したように2値化画像を2回連続して膨張処理した後、2回連続して収縮処理を行いステップ225へ進む。
Fade=0で薄れと汚れがない場合、あるいは薄れと汚れがあって膨張処理と収縮処理を行った後、ステップ110で参照用マークRef_Markが停止線記号「−」か否かを判別し、停止線記号「−」の場合はステップ233へ進み、そうでない場合はステップ226へ進む。
参照用マークRef_Markが停止線記号「−」でない場合は、ステップ226で、上述したようにOCR手法を用いて前処理で識別した道路標示マークを参照用マークと照合して道路標示マークを認識する。
ステップ227では、道路標示マークの認識結果に応じて認識結果状態を表す変数RcgResultを次のように設定する。
Ref_Mark=「れ」を認識できた場合はRcgResult=1、
Ref_Mark=「ま」を認識できた場合はRcgResult=2、
Ref_Mark=「止」を認識できた場合はRcgResult=3、
Ref_Markを認識できなかった場合はRcgResult=0 ・・・(30)
Ref_Mark=「れ」を認識できた場合はRcgResult=1、
Ref_Mark=「ま」を認識できた場合はRcgResult=2、
Ref_Mark=「止」を認識できた場合はRcgResult=3、
Ref_Markを認識できなかった場合はRcgResult=0 ・・・(30)
ステップ228で道路標示マークの認識回数カウンターDetectsStepの値と認識結果状態を表す変数RcgResultの値とに応じて分岐する。すなわち、
もし、RcgResult=0(認識できない)場合にはステップ232へ進み、
もし、DetectsStep<RcgResultの場合にはステップ229へ進み、
もし、DetectsStep>RcgResultの場合にはステップ231へ進む。
もし、RcgResult=0(認識できない)場合にはステップ232へ進み、
もし、DetectsStep<RcgResultの場合にはステップ229へ進み、
もし、DetectsStep>RcgResultの場合にはステップ231へ進む。
DetectsStep<RcgResultの場合は、ステップ229で、認識した道路標示マークの画面上の位置に基づいて、次に探索する領域の位置を次式により求める。
obj_Y=focusV*CAM_h/(Ref_Mark_Center_y−y0)+2.0,
obj_X=obj_Y(Ref_Mark_Center_x−x0)/focusH ・・・(31)
ここで、Ref_Mark_Center_yは認識した道路標示マークの画面上の垂直方向(上下方向)位置、Ref_Mark_Center_xは認識した道路標示マークの画面上の水平方向(左右方向)位置である。
obj_Y=focusV*CAM_h/(Ref_Mark_Center_y−y0)+2.0,
obj_X=obj_Y(Ref_Mark_Center_x−x0)/focusH ・・・(31)
ここで、Ref_Mark_Center_yは認識した道路標示マークの画面上の垂直方向(上下方向)位置、Ref_Mark_Center_xは認識した道路標示マークの画面上の水平方向(左右方向)位置である。
続くステップ230では、認識した道路標示マークの画面上の大きさに基づいて、次に探索する領域の大きさを次式により求める。
ProcessWide=(Rcg_Mark_SizeH*obj_Y/focusH)/2,
ProcessDist=(Rcg_Mark_SizeV*obj_Y/focusV)/2 ・・・(32)
ここで、Rcg_Mark_SizeHとRcg_Mark_SizeVは、認識した道路標示マークの水平方向サイズ(単位は画素数)と鉛直方向サイズ(単位は画素数)である。
ProcessWide=(Rcg_Mark_SizeH*obj_Y/focusH)/2,
ProcessDist=(Rcg_Mark_SizeV*obj_Y/focusV)/2 ・・・(32)
ここで、Rcg_Mark_SizeHとRcg_Mark_SizeVは、認識した道路標示マークの水平方向サイズ(単位は画素数)と鉛直方向サイズ(単位は画素数)である。
ステップ231では道路標示マークの認識回数カウンターDetectsStepを次式により設定する。
DetectsStep=DetectsStep+RcgResult ・・・(33)
続くステップ232では今回のサンプリング周期の画像処理で認識する道路標示マークの種類を決める変数RcgStateを次式により設定する。
RcgState=RcgState+1 ・・・(34)
ステップ235では車速や操舵角などの自車挙動データの過去値を更新して処理を終了する。
DetectsStep=DetectsStep+RcgResult ・・・(33)
続くステップ232では今回のサンプリング周期の画像処理で認識する道路標示マークの種類を決める変数RcgStateを次式により設定する。
RcgState=RcgState+1 ・・・(34)
ステップ235では車速や操舵角などの自車挙動データの過去値を更新して処理を終了する。
ステップ225において参照用マークが停止線記号「−」の場合は、ステップ233で直線検出手法を用いて画像処理領域内で所定の長さを有する横線を停止線として検出する。直線検出手法としては、この一実施の形態では道路上の白線検出などに用いるHough変換による画像処理を行う。ステップ234では停止線を検出できたか否かを確認し、停止線を検出できた場合はステップ236へ進み、自車前方の一時停止マークを検出したので、シートベルト巻き取り装置(不図示)により運転席シートベルトに所定の張力を付与し、一時停止を行わせるべく運転者に報知する。ステップ235では車速や操舵角などの自車挙動データの過去値を更新して処理を終了する。
このように、第2の実施の形態によれば、停止線「−」以外の道路標示文字「止」、「ま」、「れ」に対してはOCRによる画像処理を行い、停止線「−」に対してはHough変換による画像処理を行うようにしたので、停止線の検出を頑強に行うことができる。
《発明の第3の実施の形態》
「◇」→「◇」→「−」の順序で道路標示マークを1記号ずつ部分的に認識して信号のない横断歩道を検出する第3の実施の形態を説明する。なお、この第3の実施の形態の構成は図1に示す構成と同様であり、説明を省略する。
「◇」→「◇」→「−」の順序で道路標示マークを1記号ずつ部分的に認識して信号のない横断歩道を検出する第3の実施の形態を説明する。なお、この第3の実施の形態の構成は図1に示す構成と同様であり、説明を省略する。
図5は、カメラ3による撮像画像を処理して道路上にペイントされている横断歩道の道路標示「◇」を検出する処理を示す。画像処理装置4および外界認識装置5は、50msecごとに図5に示す道路標示検出処理を繰り返す。ステップ300において、今回のサンプリングでカメラ3により撮像した画像を読み込む。続くステップ301では車速検出装置6から車速を、操舵角検出装置7から操舵角を読み込む。ステップ302で、道路標示の文字や記号などのマークを認識した回数を表すカウンターDetectsStepが0、すなわち、まだ道路標示のマークを一つも認識していない状態か否かを確認する。
道路標示の文字や記号などのマークをまだ一つも認識していない状態の場合はステップ303へ進み、道路標示を検出するための初期条件を以下のように設定する。
obj_Y=20,
obj_X=0,
ProcessWide=1.5,
ProcessDist=10.0,
Thr1=128,
Fade=0 ・・・(35)
ここで、obj_Yは道路上の画像処理領域の前後方向位置(単位メートル)、obj_Xは道路上の画像処理領域の左右方向位置(単位メートル、自車両の正面が0)である。また、ProcessWideは画像処理領域の横方向範囲の半分の値(単位メートル)、ProcessDistは画像処理領域の前後方向範囲の半分の値(単位メートル)である。Thr1は後述する画像処理で用いる濃淡のしきい値であって、128は一般的な8bitの濃淡、つまり濃淡∈〔黒=0、白=255〕の場合の中央値(灰色)である。Fadeも同様に、後述する画像処理で用いる薄れと汚れに関するパラメーターである。
obj_Y=20,
obj_X=0,
ProcessWide=1.5,
ProcessDist=10.0,
Thr1=128,
Fade=0 ・・・(35)
ここで、obj_Yは道路上の画像処理領域の前後方向位置(単位メートル)、obj_Xは道路上の画像処理領域の左右方向位置(単位メートル、自車両の正面が0)である。また、ProcessWideは画像処理領域の横方向範囲の半分の値(単位メートル)、ProcessDistは画像処理領域の前後方向範囲の半分の値(単位メートル)である。Thr1は後述する画像処理で用いる濃淡のしきい値であって、128は一般的な8bitの濃淡、つまり濃淡∈〔黒=0、白=255〕の場合の中央値(灰色)である。Fadeも同様に、後述する画像処理で用いる薄れと汚れに関するパラメーターである。
ステップ304においてカメラ3の撮像画像の画像処理領域を次のように設定する。
disp_obj_YA=y0+focusV*CAM_h/(obj_Y+ProcessDist)・・・(36)
disp_obj_YB=y0+focusV*CAM_h/(obj_Y−ProcessDist)・・・(37)
disp_obj_XL=x0+focusH*obj_X/obj_Y−focusH*ProcessWide/obj_Y ・・・(38)
disp_obj_XR=x0+focesH*obj_X/obj_Y+focusH*ProcessWide/obj_Y
・・・(39)
ここで、disp_obj_YAは画像処理領域の上側の座標、disp_obj_YBは画像処理領域の下側の座標、disp_obj_XLは画像処理領域の左側の座標、disp_obj_XRは画像処理領域の右側の座標である。また、y0、x0は消失点の縦方向座標[pix:画素数]と横方向座標[pix:画素数](カメラ3の取り付け位置と向きで決まるパラメーター)である。同様に、focusVとfocusHは鉛直方向と水平方向のカメラ3の焦点距離を画素換算した値[pix](カメラ3の画角と受光素子の解像度で決まるパラメーター)である。CAM_hはカメラ3の取り付け高さ(単位はメートル)である。
disp_obj_YA=y0+focusV*CAM_h/(obj_Y+ProcessDist)・・・(36)
disp_obj_YB=y0+focusV*CAM_h/(obj_Y−ProcessDist)・・・(37)
disp_obj_XL=x0+focusH*obj_X/obj_Y−focusH*ProcessWide/obj_Y ・・・(38)
disp_obj_XR=x0+focesH*obj_X/obj_Y+focusH*ProcessWide/obj_Y
・・・(39)
ここで、disp_obj_YAは画像処理領域の上側の座標、disp_obj_YBは画像処理領域の下側の座標、disp_obj_XLは画像処理領域の左側の座標、disp_obj_XRは画像処理領域の右側の座標である。また、y0、x0は消失点の縦方向座標[pix:画素数]と横方向座標[pix:画素数](カメラ3の取り付け位置と向きで決まるパラメーター)である。同様に、focusVとfocusHは鉛直方向と水平方向のカメラ3の焦点距離を画素換算した値[pix](カメラ3の画角と受光素子の解像度で決まるパラメーター)である。CAM_hはカメラ3の取り付け高さ(単位はメートル)である。
ステップ305では上記画像処理領域において道路標示の文字や記号などのマークを識別するための前処理1を行う。この前処理1として、この一実施の形態では上述したように微分演算を行う。続くステップ306では上記ステップで求めた微分画像に対し道路標示の文字や記号などのマークを識別するための前処理2を行う。この前処理2として、この一実施の形態では上述したように2値化処理を行う。
ステップ307では道路標示の薄れと汚れの度合いを表すパラメーターFadeの値が0(で薄れと汚れがない場合にはステップ310へ、Fade=1で薄れと汚れがある場合にはステップ308へ、Fade=2で薄れと汚れがひどい場合はステップ309へそれぞれ進む。Fade=1で薄れと汚れがある場合は、ステップ308で上述したように2値化画像を膨張処理した後、収縮処理を行い、ステップ310へ進む。一方、Fade=2で薄れと汚れがひどい場合は、ステップ309で上述したように2値化画像を2回連続して膨張処理した後、2回連続して収縮処理を行いステップ310へ進む。
ステップ310において、道路標示マークを認識した回数を表すカウンターDetectsStepの値に応じて参照用マークを設定する。
DetectsStep=0でまだ何も検出しない場合はRef_Mark=「◇」、
DetectsStep=1で最初の「◇」を検出すみの場合はRef_Mark=「◇」、
DetectsStep=2で2個の「◇」を検出すみの場合はRef_Mark=「−」(横断歩道としての横線を探す) ・・・(40)
ここで、Ref_Markとは、検出した道路標示マークと照合するために参照するマークであり、カメラ3から路面上の道路標示を見下ろすのと同じように、斜め上から見た遠近感のある参照用マークを予め設定しておくものとする。
DetectsStep=0でまだ何も検出しない場合はRef_Mark=「◇」、
DetectsStep=1で最初の「◇」を検出すみの場合はRef_Mark=「◇」、
DetectsStep=2で2個の「◇」を検出すみの場合はRef_Mark=「−」(横断歩道としての横線を探す) ・・・(40)
ここで、Ref_Markとは、検出した道路標示マークと照合するために参照するマークであり、カメラ3から路面上の道路標示を見下ろすのと同じように、斜め上から見た遠近感のある参照用マークを予め設定しておくものとする。
ステップ311では、上述した前処理により識別した道路標示マークを参照用マークと照合して道路標示マークを認識する。この認識方法として、この一実施の形態では参照用マークと2値化画像とのOCR(Optical Character Recognition)手法を応用し、所定以上の類似性がある場合にその道路標示マークを認識できたものとする。続くステップ312で道路標示マークを認識した場合はステップ313へ進み、認識できなかった場合はステップ321へ進む。
道路標示マークを認識した場合は、ステップ313で道路標示マークの認識回数カウンターDetectStepをインクリメントする。カウンターDetectStepが3になった場合はステップ322へ進み、3未満の場合はステップ314へ進む。
横断歩道記号「◇」と停止線記号「−」をすべて認識できていない場合は、ステップ314で上述したように((40)式参照)2値化処理の濃淡しきい値候補Thr1_cdを決める。
Thr1_cd=0.8*(Av+Vr) ・・・(41)
ここで、Avは画像処理領域の画像を微分演算した際の微分画像の平均輝度値であり、Vrは微分画像の分散輝度値である。
Thr1_cd=0.8*(Av+Vr) ・・・(41)
ここで、Avは画像処理領域の画像を微分演算した際の微分画像の平均輝度値であり、Vrは微分画像の分散輝度値である。
ステップ315では2値化処理の現在の濃淡しきい値Thr1と上記ステップで求めた濃淡しきい値候補Thr1_cdとを比較し、しきい値候補Thr1_cdが現在のしきい値Thr1より大きい場合はステップ316へ進み、そうでなければステップ317へ進む。
濃淡しきい値候補Thr1_cdが現在のしきい値Thr1より大きい場合は、ステップ316で現在のしきい値Thr1を次式により更新する。
Thr1=Thr1_cd ・・・(42)
これにより、道路標示マークを検出するたびに、今回の道路標示マーク検出時の濃淡判別しきい値が前回の道路標示マーク検出時の濃淡判別しきい値よりも大きい場合にのみ、濃淡判別しきい値を変更することになる。
Thr1=Thr1_cd ・・・(42)
これにより、道路標示マークを検出するたびに、今回の道路標示マーク検出時の濃淡判別しきい値が前回の道路標示マーク検出時の濃淡判別しきい値よりも大きい場合にのみ、濃淡判別しきい値を変更することになる。
一方、濃淡しきい値候補Thr1_cdが現在のしきい値Thr1以下の場合は、ステップ317で上述したように((8)式および図6参照)薄れと汚れに関するパラメーター候補Fade_cdを設定する。
Fade=func1(DtctArea_White/RefArea_White) ・・・(43)
Fade=func1(DtctArea_White/RefArea_White) ・・・(43)
ステップ318では薄れと汚れに関する現在のパラメーターFadeと上記ステップで求めたパラメーター候補Fade_cdとを比較し、パラメーター候補Fade_cdが現在のパラメーターFadeよりも大きい場合はステップ319へ進み、そうでなければステップ320へ進む。ステップ319では薄れと汚れに関する現在のパラメーターFadeを次式により更新する。
Fade=Fade_cd ・・・(44)
これにより、道路表示マークを検出するたびに、今回の道路標示マーク検出時の道路標示マークの薄れ度合いが前回の道路標示マーク検出時の道路標示マークの薄れ度合いよりも高い(ひどい)場合にのみ、薄れ度合い、すなわちパラメーターFadeを変更することになる。
Fade=Fade_cd ・・・(44)
これにより、道路表示マークを検出するたびに、今回の道路標示マーク検出時の道路標示マークの薄れ度合いが前回の道路標示マーク検出時の道路標示マークの薄れ度合いよりも高い(ひどい)場合にのみ、薄れ度合い、すなわちパラメーターFadeを変更することになる。
ステップ320では、認識した道路標示マークの画面上の位置に基づいて、次に道路標示マークを探索する画面上の画像処理領域の位置を次式により求める。
obj_Y=focusV*CAM_h/(Ref_Mark_Center_y−y0)+2.0,
obj_X=obj_Y(Ref_Mark_Center_x−x0)/focusH ・・・(45)
(45)式において、Ref_Mark_Center_yは認識したマークの画面上の垂直方向(上下方向)位置、Ref_Mark_Center_xは認識したマークの画面上の水平方向(左右方向)位置である。続くステップ321では車速、操舵角などの自車挙動データの過去値を更新して処理を終了する。
obj_Y=focusV*CAM_h/(Ref_Mark_Center_y−y0)+2.0,
obj_X=obj_Y(Ref_Mark_Center_x−x0)/focusH ・・・(45)
(45)式において、Ref_Mark_Center_yは認識したマークの画面上の垂直方向(上下方向)位置、Ref_Mark_Center_xは認識したマークの画面上の水平方向(左右方向)位置である。続くステップ321では車速、操舵角などの自車挙動データの過去値を更新して処理を終了する。
一方、ステップ313でカウンターDetectStepが3になり、横断歩道記号「◇」と横断歩道の横線「−」をすべて認識できたと判定された場合は、ステップ322で、自車前方に横断歩道を検出したのでスピーカー(不図示)により「横断歩道です」と放送し、運転者に一時停止情報を提供してステップ321へ進む。ステップ321では車速、操舵角などの自車挙動データの過去値を更新して処理を終了する。
このように第3の実施の形態によれば、道路標示マークを1記号ずつ部分的に認識して信号のない横断歩道を検出する際に、従前の認識情報に基づいて次の認識処理に用いる濃淡しきい値Thr1と薄れと汚れに関するパラメーターFadeを認識精度を上げる方向に変更するようにしたので、道路標示の誤検出を大幅に低減することができる。
以上説明したように一実施の形態によれば、自車前方の撮像画像を画像処理して道路上の進行方向に連続して描かれる道路標示を1文字または1記号ずつ検出するとともに、道路標示の1文字または1記号を検出したときに、道路標示の次の1文字または1記号を検出するために画像処理を変更し、検出した道路標示の複数の文字および記号に対応する交通規則を乗員に報知するようにしたので、道路標示の1文字または1記号を検出するたびにより適切な画像処理に変更することができ、道路標示の誤検出と不検出の両方を低減することができる。
また、一実施の形態によれば、道路標示を検出するための画像処理には、撮像画像を微分演算して求めた微分画像に2値化処理を施して路面に描かれた白色の文字または記号を検出する処理が含まれており、道路標示の1文字または1記号を検出したときの微分画像の輝度情報に基づいて2値化処理の濃淡判別しきい値を変更するようにしたので、撮像画像の明るさ、つまり走行環境に応じた適切な画像処理を行うことができ、道路標示の誤検出を防止することができる。
一実施の形態によれば、道路標示の1文字または1記号を検出するたびに、今回の道路標示検出時の濃淡判別しきい値が前回の道路標示検出時の濃淡判別しきい値よりも大きい場合にのみ変更するようにした。
これにより、2値化処理の濃淡判別しきい値には、最初の文字または記号を検出するときは小さい値、つまり文字または記号を検出しやすい、換言すれば、文字または記号の不検出を防止できる濃淡しきい値が設定され、次の文字または記号を検出するたびに大きい値、つまり文字または記号の誤検出を防止できる濃淡しきい値が設定され、道路標示の不検出と誤検出を防止することができる。
これにより、2値化処理の濃淡判別しきい値には、最初の文字または記号を検出するときは小さい値、つまり文字または記号を検出しやすい、換言すれば、文字または記号の不検出を防止できる濃淡しきい値が設定され、次の文字または記号を検出するたびに大きい値、つまり文字または記号の誤検出を防止できる濃淡しきい値が設定され、道路標示の不検出と誤検出を防止することができる。
一実施の形態によれば、道路標示を検出するための画像処理には、道路標示の薄れ度合いに応じて撮像画像に膨張処理と収縮処理を施す処理が含まれており、道路標示の1文字または1記号を検出したときの画像中の白色部分の面積に基づいて道路標示の薄れ度合いを変更するようにしたので、道路標示の薄れ、汚れに応じた適切な画像処理を行うことができ、道路標示の誤検出を防止することができる。
一実施の形態によれば、道路標示の1文字または1記号を検出するたびに、今回の道路標示検出時の道路標示の薄れ度合いが前回の道路標示検出時の道路標示の薄れ度合いよりも高い場合にのみ薄れ度合いを変更することにした。
これにより、道路標示の薄れ度合いには、最初の文字または記号を検出するときは小さい値、つまり文字または記号を検出しやすい、換言すれば、文字または記号の不検出を防止できる薄れ度合いが設定され、次の文字または記号を検出するたびに高い値、つまり文字または記号の誤検出を防止できる薄れ度合いが設定され、道路標示の不検出と誤検出を防止することができる。
これにより、道路標示の薄れ度合いには、最初の文字または記号を検出するときは小さい値、つまり文字または記号を検出しやすい、換言すれば、文字または記号の不検出を防止できる薄れ度合いが設定され、次の文字または記号を検出するたびに高い値、つまり文字または記号の誤検出を防止できる薄れ度合いが設定され、道路標示の不検出と誤検出を防止することができる。
さらに、一実施の形態によれば、道路標示の文字の場合と記号の場合とで画像処理を変更するようにしたので、道路標示の不検出と誤検出を防止して検出性能を向上させることができる。
特許請求の範囲の構成要素と一実施の形態の構成要素との対応関係は次の通りである。すなわち、CCDカメラ3が撮像手段を、画像処理装置4および外界認識装置5が道路標示検出手段、画像処理変更手段および交通規則報知手段をそれぞれ構成する。なお、以上の説明はあくまで一例であり、発明を解釈する際、上記の実施の形態の記載事項と特許請求の範囲の記載事項との対応関係になんら限定も拘束もされない。
なお、上述した一実施の形態では一時停止と横断歩道の道路標示を検出する例を示したが、本願発明により検出される道路標示は上述した一実施の形態の道路標示に限定されるものではない。
1 レーザーレーダー
2 レーダー処理装置
3 CCDカメラ
4 画像処理装置
5 外界認識装置
6 車速検出装置
7 操舵角検出装置
8 自動ブレーキ制御装置
9 負圧ブレーキブースター
2 レーダー処理装置
3 CCDカメラ
4 画像処理装置
5 外界認識装置
6 車速検出装置
7 操舵角検出装置
8 自動ブレーキ制御装置
9 負圧ブレーキブースター
Claims (7)
- 自車前方を撮像する撮像手段と、
前記撮像手段の撮像画像を画像処理して道路上の進行方向に連続して描かれる道路標示を1文字または1記号ずつ検出する道路標示検出手段と、
前記道路標示検出手段で道路標示の1文字または1記号を検出したときに、道路標示の次の1文字または1記号を検出するために前記道路表示検出手段の画像処理を変更する画像処理変更手段と、
前記道路標示検出手段で検出した道路標示の複数の文字および記号に対応する交通規則を乗員に報知する交通規則報知手段とを備えることを特徴とする車両用道路標示検出装置。 - 請求項1に記載の車両用道路標示検出装置において、
前記道路標示検出手段の画像処理には、撮像画像を微分演算して求めた微分画像に2値化処理を施して路面に描かれた白色の文字または記号を検出する処理が含まれており、
前記画像処理変更手段は、道路標示の1文字または1記号を検出したときの微分画像の輝度情報に基づいて2値化処理の濃淡判別しきい値を変更することを特徴とする車両用道路標示検出装置。 - 請求項2に記載の車両用道路標示検出装置において、
前記画像処理変更手段は、道路標示の1文字または1記号を検出するたびに、今回の道路標示検出時の濃淡判別しきい値が前回の道路標示検出時の濃淡判別しきい値よりも大きい場合にのみ変更することを特徴とする車両用道路標示検出装置。 - 請求項1に記載の車両用道路標示検出装置において、
前記道路検出手段の画像処理には、道路標示の薄れ度合いに応じて撮像画像に膨張処理と収縮処理を施す処理が含まれており、
前記画像処理変更手段は、道路標示の1文字または1記号を検出したときの画像中の白色部分の面積に基づいて道路標示の薄れ度合いを変更することを特徴とする車両用道路標示検出装置。 - 請求項4に記載の車両用道路標示検出装置において、
前記画像処理変更手段は、道路標示の1文字または1記号を検出するたびに、今回の道路標示検出時の道路標示の薄れ度合いが前回の道路標示検出時の道路標示の薄れ度合いよりも高い場合にのみ薄れ度合いを変更することを特徴とする車両用道路標示検出装置。 - 請求項1に記載の車両用道路標示検出装置において、
前記画像処理変更手段は、道路標示の文字の場合と記号の場合とで画像処理を変更することを特徴とする車両用道路標示検出装置。 - 自車前方の撮像画像を画像処理して道路上の進行方向に連続して描かれる道路標示を1文字または1記号ずつ検出するとともに、道路標示の1文字または1記号を検出したときに、道路標示の次の1文字または1記号を検出するために前記画像処理を変更し、検出した道路標示の複数の文字および記号に対応する交通規則を乗員に報知することを特徴とする道路標示の検出方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004365643A JP2006172262A (ja) | 2004-12-17 | 2004-12-17 | 車両用道路標示検出装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004365643A JP2006172262A (ja) | 2004-12-17 | 2004-12-17 | 車両用道路標示検出装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006172262A true JP2006172262A (ja) | 2006-06-29 |
Family
ID=36672932
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004365643A Pending JP2006172262A (ja) | 2004-12-17 | 2004-12-17 | 車両用道路標示検出装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006172262A (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009009368A (ja) * | 2007-06-28 | 2009-01-15 | Aisin Aw Co Ltd | 路面標示認識システム |
JP2009053155A (ja) * | 2007-08-29 | 2009-03-12 | Toyota Motor Corp | 地物情報提供装置及び方法等 |
JP2009099125A (ja) * | 2007-09-27 | 2009-05-07 | Aisin Aw Co Ltd | 画像認識装置及び画像認識プログラム、並びにそれを用いた地点情報収集装置及びナビゲーション装置 |
JP2009223817A (ja) * | 2008-03-18 | 2009-10-01 | Zenrin Co Ltd | 路面標示地図生成方法 |
JP2013072793A (ja) * | 2011-09-28 | 2013-04-22 | Aisin Aw Co Ltd | 停止線検出システム、停止線検出装置、停止線検出方法及びコンピュータプログラム |
JP2020126359A (ja) * | 2019-02-01 | 2020-08-20 | トヨタ自動車株式会社 | 情報処理装置、サーバ、及び交通管理システム |
US11623653B2 (en) | 2020-01-23 | 2023-04-11 | Toyota Motor Engineering & Manufacturing North America, Inc. | Augmented reality assisted traffic infrastructure visualization |
-
2004
- 2004-12-17 JP JP2004365643A patent/JP2006172262A/ja active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009009368A (ja) * | 2007-06-28 | 2009-01-15 | Aisin Aw Co Ltd | 路面標示認識システム |
JP2009053155A (ja) * | 2007-08-29 | 2009-03-12 | Toyota Motor Corp | 地物情報提供装置及び方法等 |
JP2009099125A (ja) * | 2007-09-27 | 2009-05-07 | Aisin Aw Co Ltd | 画像認識装置及び画像認識プログラム、並びにそれを用いた地点情報収集装置及びナビゲーション装置 |
JP2009223817A (ja) * | 2008-03-18 | 2009-10-01 | Zenrin Co Ltd | 路面標示地図生成方法 |
JP2013072793A (ja) * | 2011-09-28 | 2013-04-22 | Aisin Aw Co Ltd | 停止線検出システム、停止線検出装置、停止線検出方法及びコンピュータプログラム |
JP2020126359A (ja) * | 2019-02-01 | 2020-08-20 | トヨタ自動車株式会社 | 情報処理装置、サーバ、及び交通管理システム |
JP7206968B2 (ja) | 2019-02-01 | 2023-01-18 | トヨタ自動車株式会社 | サーバ及び交通管理システム |
US11623653B2 (en) | 2020-01-23 | 2023-04-11 | Toyota Motor Engineering & Manufacturing North America, Inc. | Augmented reality assisted traffic infrastructure visualization |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4930046B2 (ja) | 路面判別方法および路面判別装置 | |
JP4654163B2 (ja) | 車両の周囲環境認識装置及びシステム | |
JP2013529348A (ja) | 種々の交通標識を検出及び認識する照明不変且つロバストな装置及び方法 | |
JP2002197444A (ja) | 車両の走行路認識装置 | |
JP5120227B2 (ja) | 輪止検出装置及び後方画像表示装置 | |
JP4872769B2 (ja) | 路面判別装置および路面判別方法 | |
JP2007288657A (ja) | 車両用表示装置、車両用表示装置の表示方法 | |
WO2011048938A1 (ja) | 遠赤外線歩行者検知装置 | |
KR102338912B1 (ko) | 수퍼 레졸루션 기법을 이용한 차량 번호판 인식 방법 | |
KR101818842B1 (ko) | 운전지원장치, 거리감지방법 및 차로의 너비감지방법 | |
JP2006172262A (ja) | 車両用道路標示検出装置 | |
JP2007179386A (ja) | 白線認識方法及び白線認識装置 | |
JP2011103058A (ja) | 誤認識防止装置 | |
JP4432730B2 (ja) | 車両用道路標示検出装置 | |
JP2002150302A (ja) | 路面認識装置 | |
JP5447162B2 (ja) | 移動体識別装置、コンピュータプログラム及び移動体識別方法 | |
JP2006318059A (ja) | 画像処理装置、画像処理方法、および画像処理用プログラム | |
JP3844750B2 (ja) | 赤外線画像認識装置、及び赤外線画像認識装置を用いた警報装置 | |
JP5447164B2 (ja) | 移動体識別装置、コンピュータプログラム及び移動体識別方法 | |
US11749002B2 (en) | Lane line recognition apparatus | |
JP6533244B2 (ja) | 対象物検知装置、対象物検知方法、及び対象物検知プログラム | |
Jo et al. | Pothole detection based on the features of intensity and motion | |
JP4910458B2 (ja) | 車両用交通標示検出装置、自動車及び車両用交通標示検出方法 | |
KR101982091B1 (ko) | 서라운드 뷰 모니터링 시스템 | |
JP3134749B2 (ja) | 白線検出方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20071128 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20091203 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091215 |
|
A02 | Decision of refusal |
Effective date: 20100511 Free format text: JAPANESE INTERMEDIATE CODE: A02 |