(57)【要約】【課題】  道路標示の検出信頼性の向上と画像処理負荷の低減【解決手段】  自車前方を撮像した撮像画像を処理して道路上の進行方向に連続して描かれる道路標示を１文字または１記号ずつ検出するときに、道路標示の１文字または１記号が検出されるたびにその検出結果に基づいて撮像画像上の画像処理領域を絞り込み、連続して検出された文字または記号に基づいて道路標示を識別する。【選択図】  図２
2006127358.tif 000002
【特許請求の範囲】
【請求項１】
自車前方を撮像する撮像手段と、
前記撮像手段の撮像画像を処理して道路上の進行方向に連続して描かれる道路標示を１文字または１記号ずつ検出する道路標示検出手段と、
前記道路標示検出手段により道路標示の１文字または１記号が検出されるたびに、その検出結果に基づいて前記撮像手段の撮像画像上の前記道路標示検出手段の画像処理領域を絞り込む領域絞り込み手段と、
前記道路標示検出手段により連続して検出された文字または記号に基づいて道路標示を識別する道路標示識別手段と、
前記道路標示識別手段による道路標示の識別結果を乗員に伝達する道路標示伝達手段とを備えることを特徴とする車両用道路標示検出装置。
【請求項２】
請求項１に記載の車両用道路標示検出装置において、
前記領域絞り込み手段は、前記道路標示検出手段により検出された道路標示の１文字または１記号の位置に応じて、次の道路標示の１文字または１記号を検出するための前記道路標示検出手段の画像処理領域の位置を設定することを特徴とする車両用道路標示検出装置。
【請求項３】
請求項２に記載の車両用道路標示検出装置において、
前記領域絞り込み手段は、前記道路標示検出手段により道路標示の１文字または１記号が検出されるたびに、前記道路標示検出手段の画像処理領域の位置の設定範囲を狭くすることを特徴とする車両用道路標示検出装置。
【請求項４】
請求項１〜３のいずれかの項に記載の車両用道路標示検出装置において、
前記領域絞り込み手段は、前記道路標示検出手段により検出された道路標示の１文字または１記号の大きさに応じて、次の道路標示の１文字または１記号を検出するための前記道路標示検出手段の画像処理領域の大きさを設定することを特徴とする車両用道路標示検出装置。
【請求項５】
請求項４に記載の車両用道路標示検出装置において、
前記領域絞り込み手段は、前記道路標示検出手段により道路標示の１文字または１記号が検出されるたびに、前記道路標示検出手段の画像処理領域の大きさを狭くすることを特徴とする車両用道路標示検出装置。
【請求項６】
請求項１〜５のいずれかの項に記載の車両用道路標示検出装置において、
前記領域絞り込み手段は、前記道路標示検出手段により検出された道路標示の１文字または１記号の向きに応じて、次の道路標示の１文字または１記号を検出するための前記道路標示検出手段の画像処理領域を傾けることを特徴とする車両用道路標示検出装置。
【請求項７】
請求項１〜５のいずれかの項に記載の車両用道路標示検出装置において、
前記領域絞り込み手段は、前記道路標示検出手段により検出された道路標示の１文字または１記号の向きに応じて、次の道路標示の１文字または１記号を検出するための前記道路標示検出手段の画像処理領域の位置を設定することを特徴とする車両用道路標示検出装置。
【請求項８】
請求項７に記載の車両用道路標示検出装置において、
前記領域絞り込み手段は、前記道路標示検出手段により道路標示の１文字または１記号が検出されるたびに、前記道路標示検出手段の画像処理領域の左右方向の位置を狭くすることを特徴とする車両用道路標示検出装置。
【請求項９】
請求項１〜８のいずれかの項に記載の車両用道路標示検出装置において、
前記領域絞り込み手段は、検出した道路標示の１文字または１記号に基づいて次に検出される道路標示の１文字または１記号を特定することを特徴とする車両用道路標示検出装置。
【請求項１０】
請求項１〜９のいずれかの項に記載の車両用道路標示検出装置において、
自車両のピッチ角を検出するピッチ角検出手段を備え、
前記領域絞り込み手段は、前記ピッチ角検出手段により検出されたピッチ角に基づいて、前記道路標示検出手段の画像処理領域を補正することを特徴とする車両用道路標示検出装置。
【請求項１１】
請求項１〜１０のいずれかの項に記載の車両用道路標示検出装置において、
自車両の進路を予測する進路予測手段を備え、
前記領域絞り込み手段は、前記進路予測手段により予測された自車両の進路に基づいて、前記道路標示検出手段の画像処理領域を補正することを特徴とする車両用道路標示検出装置。
【請求項１２】
自車前方を撮像し、その撮像画像を処理して道路上の進行方向に連続して描かれる道路標示を１文字または１記号ずつ検出し、道路標示の１文字または１記号が検出されるたびに、その検出結果に基づいて撮像画像上の道路標示を検出する画像処理領域を絞り込むとともに、連続して検出された文字または記号に基づいて道路標示を識別し、識別した道路標示の識別結果を乗員に伝達することを特徴とする車両用道路標示検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カメラにより自車前方の道路環境を撮像し、撮像した画像を処理して道路交通上の規制や指示を路面に記した道路標示を検出する装置および方法に関する。
【背景技術】
【０００２】
路面に描かれた文字列や記号を撮像し、予め記憶されている「止まれ」などの文字列からなる基準文字記号パターンと照合して道路標示を検出する安全運転支援装置が知られている（例えば、特許文献１参照）。
【０００３】
この出願の発明に関連する先行技術文献としては次のものがある。
【特許文献１】特開２００２−２１９９９８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した従来の装置では、道路標示を文字列単位で照合しているので、車両前方道路の広い範囲を撮像して画像処理を行わなければならず、画像処理の演算負荷が重いという問題がある。
また、道路標示の一つの文字列を完全に撮像できないと、基準文字列パターンとの照合結果が不一致となって検出信頼性が低くなるという問題がある。
【課題を解決するための手段】
【０００５】
自車前方を撮像した撮像画像を処理して道路上の進行方向に連続して描かれる道路標示を１文字または１記号ずつ検出するときに、道路標示の１文字または１記号が検出されるたびにその検出結果に基づいて撮像画像上の画像処理領域を絞り込み、連続して検出された文字または記号に基づいて道路標示を識別する。
【発明の効果】
【０００６】
本発明によれば、道路標示の検出信頼性を向上させながら画像処理負荷を低減することができる。
【発明を実施するための最良の形態】
【０００７】
《発明の第１の実施の形態》
図１は第１の実施の形態の構成を示す。スキャンニング式レーザーレーダー１は車両前方にレーザー光を照射して物体からの反射光を受光し、物体までの距離と方位を測定する。レーダー処理装置２はレーザーレーダー１による測定結果に基づいて車両前方の障害物を抽出し、自車両を原点とする車両前後方向と車幅方向の二次元座標上における障害物の位置と大きさ（幅）とを算出する。プログレッシブスキャン式ＣＣＤカメラ３は車両前方を高速に撮像する。画像処理装置４は、カメラ３による撮像画像を処理して道路交通上の規制や指示を路面に記した道路標示の検出を行う。
【０００８】
外界認識装置５は、レーダー処理装置２と画像処理装置４の車両検出結果と、車速検出装置６により検出された車速、操舵角検出装置７により検出された操舵角などに基づいて自車前方の車両を検出し、自車両の障害になるか否かを判断し、必要に応じて自動ブレーキ制御装置８を制御して負圧ブレーキブースター９を駆動し、車両の制動力を発生させる。外界認識装置５は、レーダー処理装置２で検出した障害物までの距離に基づいて制動力を演算するとともに、画像処理装置４により検出した停止線までの距離に基づいて制動力を演算し、どちらか大きい方を制動力指令値として自動ブレーキ制御装置８へ出力し、負圧ブレーキブースター９のソレノイドバルブに制動力指令電圧を印加して自車両を制動する。
【０００９】
なお、レーダー処理装置２、画像処理装置４および外界認識装置５はそれぞれマイクロコンピューターとその周辺部品や各種アクチュエーターの駆動回路などを備え、互いに通信回線を介して情報の授受を行う。
【００１０】
図２は、カメラ３による撮像画像を処理して道路上にペイントされている一時停止の道路標示「止まれ」を検出する処理を示す。外界認識装置５は、５０ｍsecごとに図２に示す道路標示検出処理を繰り返す。ステップ１００において、今回のサンプリングでカメラ３により撮像し画像処理装置４で処理した画像を読み込む。続くステップ１０１では車速検出装置６から車速を、操舵角検出装置７から操舵角を読み込む。ステップ１０２で、道路標示の文字や記号などのマークを認識した回数を表すカウンターＤetectsＳtepが０、すなわち、まだ道路標示のマークを一つも認識していない状態か否かを確認する。
【００１１】
道路標示の文字や記号などのマークをまだ一つも認識していない状態の場合はステップ１０３へ進み、道路標示を検出するための初期条件を以下のように設定する。
obj_Ｙ＝２０，
obj_Ｘ＝０，
ＰrocessＷide＝１．５，
ＰrocessＤist＝１０．０
ここで、obj_Ｙは道路上の画像処理領域の前後方向位置（単位メートル）、obj_Ｘは道路上の画像処理領域の左右方向位置（単位メートル、自車両の正面が０）である。また、ＰrocessＷideは画像処理領域の横方向範囲の半分の値（単位メートル）、ＰrocessＤistは画像処理領域の前後方向範囲の半分の値（単位メートル）である。
【００１２】
ステップ１０４においてカメラ３の撮像画像の画像処理領域を次のように設定する。
disp_obj_ＹＡ＝ｙ０＋focusＶ＊ＣＡＭ_h／（obj_Ｙ＋ＰrocessＤist）  ・・・（１）
disp_obj_ＹＢ＝ｙ０＋focusＶ＊ＣＡＭ_h／（obj_Ｙ−ＰrocessＤist）  ・・・（２）
disp_obj_ＸＬ＝ｘ０＋focusＨ＊obj_Ｘ／obj_Ｙ−focusＨ＊ＰrocessＷide／obj_Ｙ                                                                      ・・・（３）
disp_obj_ＸＲ＝ｘ０＋focesＨ＊obj_Ｘ／obj_Ｙ＋focusＨ＊ＰrocessＷide／obj_Ｙ
・・・（４）
ここで、disp_obj_ＹＡは画像処理領域の上側の座標、disp_obj_ＹＢは画像処理領域の下側の座標、disp_obj_ＸＬは画像処理領域の左側の座標、disp_obj_ＸＲは画像処理領域の右側の座標である。また、ｙ０、ｘ０は消失点の縦方向座標［pix：画素数］（カメラ３の取り付け位置と向き（撮影レンズの方向）で決まるパラメーター）である。同様に、focusＶとfocusＨは鉛直方向と水平方向のカメラ３の焦点距離を画素換算した値［pix］（カメラ３の画角と受光素子の解像度で決まるパラメーター）である。ＣＡＭ_hはカメラ３の取り付け高さ（単位はメートル）である。
【００１３】
ステップ１０５では上記画像処理領域において道路標示の文字や記号などのマークを識別するための前処理を行う。この処理方法としてこの一実施の形態では微分演算と２値化処理を行う。微分演算は、微分画像を求める一般的な手法であるｓｏｂｅｌフィルターにより実施する。ｓｏｂｅｌフィルターとは、ある画素に隣接する画素どうしの輝度変化を求める演算である。２値化処理は、求めた微分画像の輝度についてその平均値Ａｖと分散値Ｖｒを求め、これをしきい値として２値化処理を実施する。なお、２値化とは、各画素の輝度（ここでは微分画像のため輝度変化）がしきい値以下の場合には黒色に、しきい値を超える場合は白色に、微分画像の濃淡を白と黒の２色に分けることである。
【００１４】
ステップ１０６では道路標示マークの認識回数カウンターＤetectＳtepの値に応じて参照用マークを決定する。
ＤetectＳtep＝０の場合、Ｒef_Ｍark＝「れ」・・・まだ何も検出せず、
ＤetectＳtep＝１の場合、Ｒef_Ｍark＝「ま」・・・「れ」は検出すみ、
ＤetectＳtep＝２の場合、Ｒef_Ｍark＝「止」・・・「ま」は検出すみ、
ＤetectＳtep＝３の場合、Ｒef_Ｍark＝「−」・・・すべて検出すみ、停止線を探す。
・・・（５）
ここで、Ｒef_Ｍarkとは、検出した道路標示マークと照合するために参照するマークであり、カメラ３から路面上の道路標示マークを見下ろすのと同じように、斜め上から見た遠近感のある参照用マークを予め設定しておくものとする。
【００１５】
ステップ１０７では、上述した前処理により識別した道路標示マークを参照用マークと照合して道路標示マークを認識する。この認識方法として、この一実施の形態では参照用マークと２値化画像とのＯＣＲ（Optical Character Recognition）手法を応用し、所定以上の類似性がある場合にその道路標示マークを認識できたものとする。続くステップ１０８で道路標示マークを認識した場合はステップ１０９へ進み、認識できなかった場合はステップ１１２へ進む。
【００１６】
道路標示マークを認識した場合は、ステップ１０９で道路標示マークの認識回数カウンターＤetectＳtepをインクリメントする。カウンターＤetectＳtepが４になった場合はステップ１１３へ進み、４未満の場合はステップ１１０へ進む。ステップ１１０では、認識した道路標示マークの画面上の位置に基づいて、次に道路標示マークを探索する画面上の画像処理領域の位置を次式により求める。
obj_Ｙ＝focusＶ＊ＣＡＭ_h／（Ｒef_Ｍark_Ｃenter_y−ｙ０）＋２．０，
obj_Ｘ＝obj_Ｙ（Ｒef_Ｍark_Ｃenter_x−ｘ０）／focusＨ  ・・・（６）
（６）式において、Ｒef_Ｍark_Ｃenter_yは認識したマークの画面上の垂直方向（上下方向）位置、Ｒef_Ｍark_Ｃenter_xは認識したマークの画面上の水平方向（左右方向）位置である。
【００１７】
ステップ１１１では、認識した道路標示マークの画面上の大きさに基づいて、次に道路標示マークを探索する画像処理領域の大きさを次式により求める。
ＰrocessＷide＝（Ｒcg_Ｍark_ＳizeＨ＊obj_Ｙ／focusＨ）／２，
ＰrocessＤist＝（Ｒcg_Ｍark_ＳizeＶ＊obj_Ｙ／focusＶ）／２  ・・・（７）
（７）式において、Ｒcg_Ｍark_ＳizeＨとＲcg_Ｍark_ＳizeＶは、認識した道路標示マークの水平方向サイズ（単位は画素数）と鉛直方向サイズ（単位は画素数）である。
【００１８】
一方、道路標示マークの認識回数カウンターＤetectＳtepが４になった場合はステップ１１３へ進み、自車前方の一時停止マーク「−」を検出したのでスピーカー（不図示）により「一時停止です」と放送するとともに、ディスプレイ（不図示）に警告表示を行い、運転者に一時停止情報を提供してステップ１１２へ進む。ステップ１１２では車速、操舵角などの自車挙動データの過去値を更新して処理を終了する。
【００１９】
このように、道路上の進行方向に連続してペイントされる道路標示を１文字または１記号ずつ部分的に検出するとともに、一つの道路標示の検出結果により次の道路標示の探索領域（画像処理領域）の位置や大きさを設定するようにしたので、画像処理領域を必要最小限の範囲まで狭くすることができ、画像処理負荷を低減することができる。
【００２０】
《発明の第２の実施の形態》
上述した第１の実施の形態では一文字ずつ「れ」→「ま」→「止」の順に部分的に道路標示を検出する例を示したが、文字の順序を問わず１文字または１記号ずつ部分的に道路標示を検出する第２の実施の形態を説明する。なお、この第２の実施の形態の構成は図１に示す構成と同様であり、説明を省略する。
【００２１】
図３〜図４は、カメラ３による撮像画像を処理して道路上にペイントされている一時停止の道路標示「止まれ」を検出する処理を示す。外界認識装置５は、５０ｍsecごとに図３〜図４に示す道路標示検出処理を繰り返す。ステップ２００において、今回のサンプリングでカメラ３により撮像し画像処理装置４で処理した画像を読み込む。続くステップ２０１では車速検出装置６から車速を、操舵角検出装置７から操舵角を読み込む。ステップ２０２で、道路標示の文字や記号などのマークを認識した回数を表すカウンターＤetectsＳtepの値を確認し、カウンターＤetectsＳtepの値に応じて次のように分岐する。
ＤetectsＳtep＝０（何も検出していない状態）の場合はステップ２０３へ、
ＤetectsＳtep＝１（「れ」のみ検出すみ）の場合はステップ２０５へ、
ＤetectsＳtep＝２（「ま」のみ検出すみ）の場合はステップ２０７へ、
ＤetectsＳtep＝３（「れ」と「ま」を検出すみ）の場合はステップ２０９へ、
ＤetectsＳtep＝４（「止」のみ検出すみ）の場合はステップ２１１へ、
ＤetectsＳtep＝５（「れ」と「止」を検出すみ）の場合はステップ２１３へ、
ＤetectsＳtep＝６（「ま」と「止」を検出すみ）の場合はステップ２１５へ、
ＤetectsＳtep＝７（「れ」「ま」「止」を検出すみ）の場合はステップ２１７へ。
【００２２】
カウンターＤetectsＳtep＝０で道路標示の文字や記号などのマークをまだ一つも検出していない場合は、ステップ２０３で道路標示を検出するためのパラメーターを次のように設定する。
obj_Ｙ1＝２０，
obj_Ｘ1＝０，
ＰrocessＷide＝１．５，
ＰrocessＤist＝１０．０，
もし、ＲcgＳtate＞２  あるいは  ＲcgＳtate＜０の場合には  ＲcgＳtate＝０
・・・（８）
ここで、obj_Ｙ1は道路上の画像処理領域の前後方向位置（単位メートル）、obj_Ｘ1は道路上の画像処理領域の左右方向位置（単位メートル、自車両正面が０）である。また、ＰrocessＷideは画像処理領域の横方向範囲の半分の値（単位メートル）、ＰrocessＤistは画像処理領域の前後方向範囲の半分の値（単位メートル）である。ＲcgＳtateとは、今回のサンプリング周期における画像処理で認識する道路標示マークの種類を決める変数であり、初期値は０である。
続くステップ２０４では、今回のサンプリング周期の画像処理で認識する道路標示マークの種類を決める変数ＲcgＳtateの値に応じて参照用マークを設定する。
ＲcgＳtate＝０の場合、Ｒef_Ｍark＝「れ」，
ＲcgＳtate＝１の場合、Ｒef_Ｍark＝「ま」，
ＲcgＳtate＝２の場合、Ｒef_Ｍark＝「止」    ・・・  （９）
ここで、Ｒef_Ｍarkとは、検出した道路標示マークと照合するために参照するマークであり、カメラ３から路面上の道路標示マークを見下ろすのと同じように、斜め上から見た遠近感のある参照用マークを予め設定しておくものとする。
【００２３】
カウンターＤetectsＳtep＝１で「れ」のみ検出すみの場合は、ステップ２０５で道路標示を検出するためのパラメーターを次のように設定する。
もし、ＲcgＳtate＞２  あるいは  ＲcgＳtate＜０の場合には、ＲcgＳtate＝０、
もし、ＲcgＳtate＝０  ならば  obj_Ｙ1＝obj_Ｙ   ・・・「ま」検出用、
もし、ＲcgＳtate＝１  ならば  obj_Ｙ1＝obj_Ｙ＋２．０  ・・・「止」検出用
・・・（１０）
続くステップ２０６では、今回のサンプリング周期の画像処理で認識する道路標示マークの種類を決める変数ＲcgＳtateの値に応じて参照用マークを設定する。
ＲcgＳtate＝０の場合、Ｒef_Ｍark＝「ま」、
ＲcgＳtate＝１の場合、Ｒef_Ｍark＝「止」    ・・・（１１）
【００２４】
カウンターＤetectsＳtep＝２で「ま」のみ検出すみの場合は、ステップ２０７で道路標示を検出するためのパラメーターを次のように設定する。
もし、ＲcgＳtate＞２  あるいは  ＲcgＳtate＜０の場合には、ＲcgＳtate＝０、
もし、ＲcgＳtate＝０  ならば  obj_Ｙ1＝obj_Ｙ  ・・・「止」検出用、
もし、ＲcgＳtate＝１  ならば  obj_Ｙ1＝obj_Ｙ−４．０  ・・・「れ」検出用
・・・（１２）
続くステップ２０８では、今回のサンプリング周期の画像処理で認識する道路標示マークの種類を決める変数ＲcgＳtateの値に応じて参照用マークを設定する。
ＲcgＳtate＝０の場合、Ｒef_Ｍark＝「止」、
ＲcgＳtate＝１の場合、Ｒef_Ｍark＝「れ」  ・・・（１３）
【００２５】
カウンターＤetectsＳtep＝３で「れ」と「ま」を検出すみの場合は、ステップ２０９で道路標示を検出するためのパラメーターを次のように設定する。
もし、ＲcgＳtate＞２  あるいは  ＲcgＳtate＜０の場合には、ＲcgＳtate＝０、
もし、ＲcgＳtate＝０  ならば  obj_Ｙ1＝obj_Ｙ   ・・・「止」検出用、
もし、ＲcgＳtate＝１  ならば  obj_Ｙ1＝obj_Ｙ＋２．０  ・・・「−」検出用
・・・（１４）
続くステップ２１０では、今回のサンプリング周期の画像処理で認識する道路標示マークの種類を決める変数ＲcgＳtateの値に応じて参照用マークを設定する。
ＲcgＳtate＝０の場合、Ｒef_Ｍark＝「止」、
ＲcgＳtate＝１の場合、Ｒef_Ｍark＝「−」（停止線）  ・・・（１５）
【００２６】
カウンターＤetectsＳtep＝４で「止」のみ検出すみの場合は、ステップ２１１で道路標示を検出するためのパラメーターを次のように設定する。
もし、ＲcgＳtate＞２  あるいは  ＲcgＳtate＜０の場合には、ＲcgＳtate＝０、
もし、ＲcgＳtate＝０  ならば  obj_Ｙ1＝obj_Ｙ−４．０   ・・・「れ」検出用、
もし、ＲcgＳtate＝１  ならば  obj_Ｙ1＝obj_Ｙ−２．０  ・・・「ま」検出用
・・・（１６）
続くステップ２１２では、今回のサンプリング周期の画像処理で認識する道路標示マークの種類を決める変数ＲcgＳtateの値に応じて参照用マークを設定する。
ＲcgＳtate＝０の場合、Ｒef_Ｍark＝「れ」、
ＲcgＳtate＝１の場合、Ｒef_Ｍark＝「ま」  ・・・（１７）
【００２７】
カウンターＤetectsＳtep＝５で「れ」と「止」を検出すみの場合は、ステップ２１３で道路標示を検出するためのパラメーターを次のように設定する。
もし、ＲcgＳtate＞２  あるいは  ＲcgＳtate＜０の場合には、ＲcgＳtate＝０、
もし、ＲcgＳtate＝０  ならば  obj_Ｙ1＝obj_Ｙ−４．０   ・・・「ま」検出用、
もし、ＲcgＳtate＝１  ならば  obj_Ｙ1＝obj_Ｙ  ・・・「−」検出用
・・・（１８）
続くステップ２１２では、今回のサンプリング周期の画像処理で認識する道路標示マークの種類を決める変数ＲcgＳtateの値に応じて参照用マークを設定する。
ＲcgＳtate＝０の場合、Ｒef_Ｍark＝「ま」、
ＲcgＳtate＝１の場合、Ｒef_Ｍark＝「−」  ・・・（１９）
【００２８】
ＤetectsＳtep＝６（「ま」と「止」を検出すみ）の場合は、ステップ２１５で道路表示を検出するためのパラメーターを次式のように設定する。
もし、ＲcgＳtate＞２  あるいは  ＲcgＳtate＜０の場合には、ＲcgＳtate＝０、
もし、ＲcgＳtate＝０  ならば  obj_Ｙ1＝obj_Ｙ−６．０   ・・・「れ」検出用、
もし、ＲcgＳtate＝１  ならば  obj_Ｙ1＝obj_Ｙ  ・・・「−」検出用
・・・（２０）
続くステップ２１６では、今回のサンプリング周期の画像処理で認識する道路標示マークの種類を決める変数ＲcgＳtateの値に応じて参照用マークを設定する。
ＲcgＳtate＝０の場合、Ｒef_Ｍark＝「れ」、
ＲcgＳtate＝１の場合、Ｒef_Ｍark＝「−」  ・・・（２１）
【００２９】
カウンターＤetectsＳtep＝７で「れ」「ま」「止」を検出すみの場合は、ステップ２１７で道路表示を検出するためのパラメーターを次式のように設定する。
obj_Ｙ1＝obj_Ｙ  ・・・「−」検出用  ・・・（２２）
続くステップ２１８では、今回のサンプリング周期の画像処理で認識する道路標示マークの種類を決める変数ＲcgＳtateの値によらず、参照用マークを次のように設定する。
Ｒef_Ｍark＝「−」
【００３０】
ステップ２１９においてカメラ３の撮像画像上の画像処理領域を次のように設定する。
disp_obj_ＹＡ＝ｙ０＋focusＶ＊ＣＡＭ_h／（obj_Ｙ1＋ＰrocessＤist）
・・・（２３）
disp_obj_ＹＢ＝ｙ０＋focusＶ＊ＣＡＭ_h／（obj_Ｙ1−ＰrocessＤist）
・・・（２４）
disp_obj_ＸＬ＝ｘ０＋focusＨ＊obj_Ｘ1／obj_Ｙ1
−focusＨ＊ＰrocessＷide／obj_Ｙ1             ・・・（２５）
disp_obj_ＸＲ＝ｘ０＋focusＨ＊obj_Ｘ1／obj_Ｙ1
＋focusＨ＊ＰrocessＷide／obj_Ｙ1              ・・・（２６）
ここで、disp_obj_ＹＡは画像処理領域の上側の座標、disp_obj_ＹＢは画像処理領域の下側の座標、disp_obj_ＸＬは画像処理領域の左側の座標、disp_obj_ＸＲは画像処理領域の右側の座標である。また、ｙ０、ｘ０は消失点の縦方向座標［pix：画素数］（カメラ３の取り付け位置と向き（撮影レンズの方向）で決まるパラメーター）である。同様に、focusＶとfocusＨは鉛直方向と水平方向のカメラ３の焦点距離を画素換算した値［pix］（カメラ３の画角と受光素子の解像度で決まるパラメーター）である。ＣＡＭ_hはカメラ３の取り付け高さ（単位はメートル）である。
【００３１】
ステップ２２０では上記画像処理領域において道路標示の文字や記号などのマークを識別するための前処理を行う。この処理方法としてこの一実施の形態では微分演算と２値化処理を行う。微分演算は、微分画像を求める一般的な手法であるｓｏｂｅｌフィルターにより実施する。ｓｏｂｅｌフィルターとは、ある画素に隣接する画素どうしの輝度変化を求める演算である。２値化処理は、求めた微分画像の輝度についてその平均値Ａｖと分散値Ｖｒを求め、これをしきい値として２値化処理を実施する。なお、２値化とは、各画素の輝度（ここでは微分画像のため輝度変化）がしきい値以下の場合には黒色に、しきい値を超える場合は白色に、微分画像の濃淡を白と黒の２色に分けることである。
【００３２】
ステップ２２１では、上述した前処理により識別した道路標示マークを参照用マークと照合して道路標示マークを認識する。この認識方法として、この一実施の形態では参照用マークと２値化画像とのＯＣＲ（Optical Character Recognition）手法を応用し、所定以上の類似性がある場合にその道路標示マークを認識できたものとする。認識できたマークに応じて認識結果状態を表す変数ＲcgＲesultを次のように設定する。
Ｒef_Ｍark＝「れ」を認識できた場合には、ＲcgＲesult＝１、
Ｒef_Ｍark＝「ま」を認識できた場合には、ＲcgＲesult＝２、
Ｒef_Ｍark＝「止」を認識できた場合には、ＲcgＲesult＝４、
Ｒef_Ｍark＝「−」を認識できた場合には、ＲcgＲesult＝８、
Ｒef_Ｍarkを認識できなかった場合には、ＲcgＲesult＝０  ・・・（２７）
【００３３】
ステップ２２２において、道路標示マークを認識した回数を表すカウンターＤetectsＳtepの値と、認識できたマークに応じて認識結果状態を表す変数ＲcgＲesultの値に応じて分岐する。
もし、ＲcgＲesult＝０（検出できない）場合にはステップ２２６へ進む、
もし、ＲcgＲesult＝８（停止線を検出）の場合にはステップ２２８へ進む、
もし、ＤetectＳtep＜ＲcgＲesultの場合にはステップ２２３へ進む、
もし、ＤetectＳtep＞ＲcgＲesultの場合にはステップ２２５へ進む。
【００３４】
ＤetectＳtep＜ＲcgＲesultの場合には、ステップ２２３で認識した道路標示マークの画面上の位置に基づいて、次に探索する領域の位置を次式により求める。
obj_Ｙ＝focusＶ＊ＣＡＭ_h／（Ｒef_Ｍark_Ｃenter_y−ｙ０）＋２．０，
obj_Ｘ＝obj_Ｙ（Ｒef_Ｍark_Ｃenter_x−ｘ０）／focusＨ  ・・・（２８）
ここで、Ｒef_Ｍark_Ｃenter_yは認識した道路標示マークの画面上の垂直方向（上下方向）位置、Ｒef_Ｍark_Ｃenter_xは認識した道路標示マークの画面上の水平方向（左右方向）位置である。
【００３５】
続くステップ２２４では、認識した道路標示マークの画面上の大きさに基づいて、次に探索する領域の大きさを次式により求める。
ＰrocessＷide＝（Ｒcg_Ｍark_ＳizeＨ＊obj_Ｙ／focusＨ）／２，
ＰrocessＤist＝（Ｒcg_Ｍark_ＳizeＶ＊obj_Ｙ／focusＶ）／２  ・・・（２９）
ここで、Ｒcg_Ｍark_ＳizeＨとＲcg_Ｍark_ＳizeＶは、認識した道路標示マークの水平方向サイズ（単位は画素数）と鉛直方向サイズ（単位は画素数）である。ステップ２２５では道路標示マークを認識した回数を表すカウンターＤetectsＳtepを次式により設定する。
ＤetectsＳtep＝ＤetectsＳtep＋ＲcgＲesult  ・・・（３０）
【００３６】
ステップ２２６では、今回のサンプリング周期の画像処理で認識する道路標示マークの種類を決める変数ＲcgＳtateを次式により設定する。
ＲcgＳtate＝ＲcgＳtate＋１  ・・・（３１）
ステップ２２８において、自車両前方に一時停止マーク「−」を検出したので、シートベルト巻き取り装置（不図示）により運転者用シートベルトを巻き取り、一時停止マークがあることを運転者に知らせる。ステップ２２７では車速や操舵角などの自車挙動データの過去値を更新して処理を終了する。
【００３７】
このように、道路上の進行方向に連続してペイントされる道路標示を、文字の認識順序を問わず１文字または１記号ずつ部分的に検出するとともに、一つの道路標示の検出結果により次の道路標示の探索領域（画像処理領域）の位置や大きさを設定するようにしたので、画像処理領域を必要最小限の範囲まで狭くすることができ、画像処理負荷を低減することができる。また、上述した第１の実施の形態では道路標示の文字列のすべての文字を検出できなければその道路標示を検出できないが、第２の実施の形態では道路標示の文字列の中の一部の文字を検出できればその道路標示を検出することができる。
【００３８】
《発明の第３の実施の形態》
「◇」→「◇」→「−」の順序で道路表示マークを１記号ずつ部分的に認識して信号のない横断歩道を検出する第３の実施の形態を説明する。なお、この第３の実施の形態の構成は図１に示す構成と同様であり、説明を省略する。
【００３９】
図５は、カメラ３による撮像画像を処理して道路上にペイントされている横断歩道の道路標示「◇」を検出する処理を示す。外界認識装置５は、５０ｍsecごとに図５に示す道路標示検出処理を繰り返す。ステップ３００において、今回のサンプリングでカメラ３により撮像し画像処理装置４で処理した画像を読み込む。続くステップ３０１では車速検出装置６から車速を、操舵角検出装置７から操舵角を読み込む。ステップ３０２で、道路標示の文字や記号などのマークを認識した回数を表すカウンターＤetectsＳtepが０、すなわち、まだ道路標示のマークを一つも認識していない状態か否かを確認する。
【００４０】
道路標示の文字や記号などのマークをまだ一つも認識していない状態の場合はステップ１０３へ進み、道路標示を検出するための初期条件を以下のように設定する。
obj_Ｙ＝２０，
obj_Ｘ＝０，
ＰrocessＷide＝１．５，
ＰrocessＤist＝１０．０
参照用マークの回転許容範囲；最小値αｓ１＝−４５［deg］、最大値αｓ２＝＋４５［deg］                                                ・・・  （３２）
（３２）式において、obj_Ｙは道路上の画像処理領域の前後方向位置（単位メートル）、obj_Ｘは道路上の画像処理領域の左右方向位置（単位メートル、自車両の正面が０）である。また、ＰrocessＷideは画像処理領域の横方向範囲の半分の値（単位メートル）、ＰrocessＤistは画像処理領域の前後方向範囲の半分の値（単位メートル）である。
【００４１】
ステップ３０４においてカメラ３の撮像画像の画像処理領域を次のように設定する。
disp_obj_ＹＡ＝ｙ０＋focusＶ＊ＣＡＭ_h／（obj_Ｙ＋ＰrocessＤist）・・・（３３）
disp_obj_ＹＢ＝ｙ０＋focusＶ＊ＣＡＭ_h／（obj_Ｙ−ＰrocessＤist）・・・（３４）
disp_obj_ＸＬ＝ｘ０＋focusＨ＊obj_Ｘ／obj_Ｙ−focusＨ＊ＰrocessＷide／obj_Ｙ                                                                    ・・・（３５）
disp_obj_ＸＲ＝ｘ０＋focusＨ＊obj_Ｘ／obj_Ｙ＋focusＨ＊ＰrocessＷide／obj_Ｙ
・・・（３６）
ここで、disp_obj_ＹＡは画像処理領域の上側の座標、disp_obj_ＹＢは画像処理領域の下側の座標、disp_obj_ＸＬは画像処理領域の左側の座標、disp_obj_ＸＲは画像処理領域の右側の座標である。また、ｙ０、ｘ０は消失点の縦方向座標［pix：画素数］（カメラ３の取り付け位置と向き（撮影レンズの方向）で決まるパラメーター）である。同様に、focusＶとfocusＨは鉛直方向と水平方向のカメラ３の焦点距離を画素換算した値［pix］（カメラ３の画角と受光素子の解像度で決まるパラメーター）である。ＣＡＭ_hはカメラ３の取り付け高さ（単位はメートル）である。
【００４２】
ステップ３０５では上記画像処理領域において道路標示の文字や記号などのマークを識別するための前処理を行う。この処理方法としてこの一実施の形態では微分演算と２値化処理を行う。微分演算は、微分画像を求める一般的な手法であるｓｏｂｅｌフィルターにより実施する。ｓｏｂｅｌフィルターとは、ある画素に隣接する画素どうしの輝度変化を求める演算である。２値化処理は、求めた微分画像の輝度についてその平均値Ａｖと分散値Ｖｒを求め、これをしきい値として２値化処理を実施する。なお、２値化とは、各画素の輝度（ここでは微分画像のため輝度変化）がしきい値以下の場合には黒色に、しきい値を超える場合は白色に、微分画像の濃淡を白と黒の２色に分けることである。
【００４３】
ステップ３０６において、道路標示マークを認識した回数を表すカウンターＤetectsＳtepの値に応じて参照用マークを設定する。
ＤetectsＳtep＝０でまだ何も検出しない場合はＲef_Ｍark＝「◇」、
ＤetectsＳtep＝１で最初の「◇」を検出すみの場合はＲef_Ｍark＝「◇」、
ＤetectsＳtep＝２で２個の「◇」を検出すみの場合はＲef_Ｍark＝「−」（横断歩道としての横線を探す）                                  ・・・（３７）
ここで、Ｒef_Ｍarkとは、検出した道路標示マークと照合するために参照するマークであり、カメラ３から路面上の道路標示を見下ろすのと同じように、斜め上から見た遠近感のある参照用マークを予め設定しておくものとする。
【００４４】
ステップ３０７では、上述した前処理により識別した道路標示マークを参照用マークと照合して道路標示マークを認識する。この認識方法として、この一実施の形態では参照用マークと２値化画像とのＯＣＲ（Optical Character Recognition）手法を応用し、所定以上の類似性がある場合にその道路標示マークを認識できたものとする。また、この認識を行うときに、参照用マークの回転許容範囲を最少αｓ１から最大αｓ２までに制限する。ステップ３０８で道路標示マークを認識した場合はステップ３０９へ進み、認識できなかった場合はステップ３１４へ進む。
【００４５】
横断歩道の道路標示マークを認識できた場合は、ステップ３０９で道路標示マークの認識回数カウンターＤetectＳtepをインクリメントする。カウンターＤetectＳtepが３になった場合はステップ３１５へ進み、３未満の場合はステップ３１０へ進む。ステップ３１０では、認識した道路標示マークの画面上の位置に基づいて、次に道路標示マークを探索する画像処理領域の位置を次式により求める。
obj_Ｙ＝focusＶ＊ＣＡＭ_h／（Ｒef_Ｍark_Ｃenter_y−ｙ０）＋２．０，
obj_Ｘ＝obj_Ｙ（Ｒef_Ｍark_Ｃenter_x−ｘ０）／focusＨ  ・・・（３８）
（３８）式において、Ｒef_Ｍark_Ｃenter_yは認識したマークの画面上の垂直方向（上下方向）位置、Ｒef_Ｍark_Ｃenter_xは認識したマークの画面上の水平方向（左右方向）位置である。
【００４６】
ステップ３１１では、認識した道路標示マークの画面上の大きさに基づいて、次に道路標示マークを探索する画像処理領域の大きさを次式により求める。
ＰrocessＷide＝（Ｒcg_Ｍark_ＳizeＨ＊obj_Ｙ／focusＨ）／２，
ＰrocessＤist＝（Ｒcg_Ｍark_ＳizeＶ＊obj_Ｙ／focusＶ）／２  ・・・（３９）
（３９）式において、Ｒcg_Ｍark_ＳizeＨとＲcg_Ｍark_ＳizeＶは、認識した道路標示マークの水平方向サイズ（単位は画素数）と鉛直方向サイズ（単位は画素数）である。
【００４７】
ステップ３１２では、認識した横断歩道の道路標示マークの向きに基づいて次のマークを探索するときの参照用マークの傾きを制限する。
αｓ１＝αｒ−３０［deg］，
αｓ２＝αｒ＋３０［deg］      ・・・（４０）
ここで、αｒとは、認識した際の参照用マークの回転角度であり、αｓ１とαｓ２は次のサンプリング周期で探索するときの参照用マークの回転角度を制限する最小角度と最大角度である。
【００４８】
なお、この一実施の形態では検出した道路標示マークの向きに応じて参照用マークの向きを傾ける例を示したが、検出した道路標示マークの向きに応じて探索領域（画像処理領域）を傾けてもよい。
【００４９】
ステップ３１３では、認識した道路標示マークの画面上の向きに基づいて次に探索する領域の左右方向位置を制限する。
obj_Ｘ＝obj_Ｙ（Ｒef_Ｍark_Ｃenter_x−ｘ０）／focusＨ＋２．０tanαｒ
・・・（４１）
【００５０】
一方、ステップ３１５では、自車両前方に信号のない横断歩道を検出したので、例えばアクセルペダルの反発力を強めて運転者に情報提供する。ステップ３１４では車速、操舵角などの自車挙動データの過去値を更新して処理を終了する。
【００５１】
このように、道路上の進行方向に連続してペイントされる横断歩道の道路標示を一つずつ部分的に検出するとともに、一つの道路標示の検出結果により次の道路標示の探索領域（画像処理領域）の位置や大きさを設定するようにしたので、画像処理領域を必要最小限の範囲に狭くすることができ、画像処理負荷を低減することができる。
【００５２】
《発明の第４の実施の形態》
「せ」→「と」→「落」→「度」→「速」の順序でマークを１文字または１記号ずつ部分的に認識して減速を促す「速度落とせ」の道路標示を検出する第４の実施の形態を説明する。なお、この第４の実施の形態の構成は図１に示す構成と同様であり、説明を省略する。
【００５３】
図６は、カメラ３による撮像画像を処理して道路上にペイントされている「速度落とせ」の道路標示を検出する処理を示す。外界認識装置５は、５０ｍsecごとに図６に示す道路標示検出処理を繰り返す。ステップ４００において、今回のサンプリングでカメラ３により撮像し画像処理装置４で処理した画像を読み込む。続くステップ４０１では車速検出装置６から車速を、操舵角検出装置７から操舵角を読み込む。ステップ４０２で、道路標示の文字や記号などのマークを認識した回数を表すカウンターＤetectsＳtepが０、すなわち、まだ道路標示のマークを一つも認識していない状態か否かを確認する。
【００５４】
道路標示の文字や記号などのマークをまだ一つも認識していない状態の場合はステップ４０３へ進み、道路標示を検出するための初期条件を以下のように設定する。
obj_Ｙ＝２０，
obj_Ｘ＝０，
ＰrocessＷide＝１．５，
ＰrocessＤist＝１０．０
obj_Ｙf＝obj_Ｙ，
obj_Ｙn＝obj_Ｙ  ・・・（４２）
（４２）式において、obj_Ｙは道路上の画像処理領域の前後方向位置（単位メートル）、obj_Ｘは道路上の画像処理領域の左右方向位置（単位メートル、自車両の正面が０）である。また、ＰrocessＷideは画像処理領域の横方向範囲の半分の値（単位メートル）、ＰrocessＤistは画像処理領域の前後方向範囲の半分の値（単位メートル）である。
【００５５】
ステップ４０４において、位置範囲を表す［obj_Ｙf，obj_Ｙn，obj_Ｘl，obj_Ｘr］を用いてカメラ３の撮像画像の画像処理領域を次のように設定する。
disp_obj_ＹＡ＝ｙ０＋focusＶ＊ＣＡＭ_h／（obj_Ｙf＋ＰrocessＤist）・・（４３）
disp_obj_ＹＢ＝ｙ０＋focusＶ＊ＣＡＭ_h／（obj_Ｙn−ＰrocessＤist）・・（４４）
disp_obj_ＸＬ＝ｘ０＋focusＨ＊obj_Ｘl／obj_Ｙ−focusＨ＊ＰrocessＷide／obj_Ｙ                                                                    ・・・（４５）
disp_obj_ＸＲ＝ｘ０＋focusＨ＊obj_Ｘr／obj_Ｙ＋focusＨ＊ＰrocessＷide／obj_Ｙ
・・・（４６）
ここで、disp_obj_ＹＡは画像処理領域の上側の座標、disp_obj_ＹＢは画像処理領域の下側の座標、disp_obj_ＸＬは画像処理領域の左側の座標、disp_obj_ＸＲは画像処理領域の右側の座標である。また、ｙ０、ｘ０は消失点の縦方向座標［pix：画素数］（カメラ３の取り付け位置と向き（撮影レンズの方向）で決まるパラメーター）である。同様に、focusＶとfocusＨは鉛直方向と水平方向のカメラ３の焦点距離を画素換算した値［pix］（カメラ３の画角と受光素子の解像度で決まるパラメーター）である。ＣＡＭ_hはカメラ３の取り付け高さ（単位はメートル）である。
【００５６】
ステップ４０５では上記画像処理領域において道路標示の文字や記号などのマークを識別するための前処理を行う。この処理方法としてこの一実施の形態では微分演算と２値化処理を行う。微分演算は、微分画像を求める一般的な手法であるｓｏｂｅｌフィルターにより実施する。ｓｏｂｅｌフィルターとは、ある画素に隣接する画素どうしの輝度変化を求める演算である。２値化処理は、求めた微分画像の輝度についてその平均値Ａｖと分散値Ｖｒを求め、これをしきい値として２値化処理を実施する。なお、２値化とは、各画素の輝度（ここでは微分画像のため輝度変化）がしきい値以下の場合には黒色に、しきい値を超える場合は白色に、微分画像の濃淡を白と黒の２色に分けることである。
【００５７】
ステップ４０６では、道路標示マークを認識した回数を表すカウンターＤetectsＳtepの値に応じて参照用マークを設定する。
ＤetectsＳtep＝０の場合、Ｒef_Ｍark＝「せ」、
ＤetectsＳtep＝１の場合、Ｒef_Ｍark＝「と」、
ＤetectsＳtep＝２の場合、Ｒef_Ｍark＝「落」、
ＤetectsＳtep＝３の場合、Ｒef_Ｍark＝「度」、
ＤetectsＳtep＝４の場合、Ｒef_Ｍark＝「速」  ・・・（４７）
ここで、Ｒef_Ｍarkとは、検出した道路標示マークと照合するために参照するマークであり、カメラ３から路面上の道路標示を見下ろすのと同じように、斜め上から見た遠近感のある参照用マークを予め設定しておくものとする。
【００５８】
ステップ４０７では、上述した前処理により識別した道路標示マークを参照用マークと照合して道路標示マークを認識する。この認識方法として、この一実施の形態では参照用マークと２値化画像とのＯＣＲ（Optical Character Recognition）手法を応用し、所定以上の類似性がある場合にその道路標示マークを認識できたものとする。また、この認識を行うときに、参照用マークの回転許容範囲を最少αｓ１から最大αｓ２までに制限する。ステップ４０８で道路標示マークを認識した場合はステップ４０９へ進み、認識できなかった場合はステップ４１４へ進む。
【００５９】
速度落とせの道路標示マークを認識できた場合は、ステップ４０９で道路標示マークの認識回数カウンターＤetectＳtepをインクリメントする。カウンターＤetectＳtepが５になった場合はステップ４１５へ進み、５未満の場合はステップ４１０へ進む。ステップ４１０では、認識した道路標示マークの画面上の位置に基づいて、次に道路標示マークを探索する画像処理領域の位置を次式により求める。
obj_Ｙ＝focusＶ＊ＣＡＭ_h／（Ｒef_Ｍark_Ｃenter_y−ｙ０）＋２．０，
obj_Ｙn＝obj_Ｙ−func1（ＤetectＳtep），
obj_Ｙf＝obj_Ｙ＋func1（ＤetectＳtep），
obj_Ｘl＝obj_Ｙ（Ｒef_Ｍark_Ｃenter_x−ｘ０）／focusＨ−func1（ＤetectＳtep），
obj_Ｘr＝obj_Ｙ（Ｒef_Ｍark_Ｃenter_x−ｘ０）／focusＨ＋func1（ＤetectＳtep）
・・・（４８）
ここで、Ｒef_Ｍark_Ｃenter_yは認識したマークの画面上の垂直方向（上下方向）位置、Ｒef_Ｍark_Ｃenter_xは認識したマークの画面上の水平方向（左右方向）位置である。また、obj_Ｙnとobj_Ｙfは探索位置の近距離側と遠距離側の位置を示し、obj_Ｘlとobj_Ｘrは探索位置の左側と右側の位置を示す。func１（Ａ）は図８に示すような特性を有する関数である。
【００６０】
ステップ４１１では、認識した道路標示マークの画面上の大きさに基づいて、次に道路標示マークを探索する画像処理領域の大きさを次式により求める。
ＰrocessＷide＝（Ｒcg_Ｍark_ＳizeＨ＊obj_Ｙ／focusＨ）／func2（ＤetectＳtep），
ＰrocessＤist＝（Ｒcg_Ｍark_ＳizeＶ＊obj_Ｙ／focusＶ）／func2（ＤetectＳtep）                                                              ・・・（４９）
（４９）式において、Ｒcg_Ｍark_ＳizeＨとＲcg_Ｍark_ＳizeＶは、認識した道路標示マークの水平方向サイズ（単位は画素数）と鉛直方向サイズ（単位は画素数）である。また、func2（Ａ）は図９に示すような特性を有する関数である。
【００６１】
ステップ４１２では、認識した速度落とせの道路標示マークの向きに基づいて次のマークを探索するときの参照用マークの傾きを制限する。
αｓ１＝αｒ−func3（ＤetectＳtep）［deg］，
αｓ２＝αｒ＋func3（ＤetectＳtep）［deg］      ・・・（５０）
ここで、αｒとは、認識した際の参照用マークの回転角度であり、αｓ１とαｓ２は次のサンプリング周期で探索するときの参照用マークの回転角度を制限する最少角度と最大角度である。また、func3（Ａ）は図１０に示すような特性を有する関数である。なお、この一実施の形態では参照用マークの向きを傾ける例を示したが、探索領域を傾けてもよい。
【００６２】
ステップ４１３では、認識した道路標示マークの画面上の向きに基づいて次に探索する領域の左右方向位置を制限する。
obj_Ｘl＝obj_Ｙ（Ｒef_Ｍark_Ｃenter_x−ｘ０）／focusＨ＋２．０tan（αｒ−func4（ＤetectＳtep）），
obj_Ｘr＝obj_Ｙ（Ｒef_Ｍark_Ｃenter_x−ｘ０）／focusＨ＋２０．tan（αｒ−func4（ＤetectＳtep））                                        ・・・（５１）
ここで、func4（Ａ）は図１１に示すような特性を有する関数である。
【００６３】
一方、ステップ４１５では、自車両前方に目測を誤りがちな状況があることを示す「速度落とせ」の道路標示を検出したので、運転者への情報提供として例えば０．０７Ｇの制動力を現在の目標駆動力に付加して駆動軸トルクデマンド制御を行い、ステップ４１４へ進む。ステップ４１４では車速、操舵角などの自車挙動データの過去値を更新して処理を終了する。
【００６４】
このように、道路上の進行方向に連続してペイントされる「速度落とせ」の道路標示を１文字または１記号ずつ部分的に検出するとともに、一つの道路標示の検出結果により次の道路標示の探索領域（画像処理領域）の位置や大きさを設定するようにしたので、画像処理領域を必要最小限の範囲まで狭くすることができ、画像処理負荷を低減することができる。
【００６５】
《発明の第５の実施の形態》
初期探索領域（画像処理領域）を自車両の挙動から絞り込むとともに、道路表示を１文字または１記号ずつ部分的に検出する際の探索領域も自車両の挙動から絞り込み、画像処理の演算負荷を低減するようにした第５の実施の形態を説明する。なお、この第５の実施の形態の構成は図１に示す構成と同様であり、説明を省略する。
【００６６】
図７は、カメラ３による撮像画像を処理して道路上にペイントされている「速度落とせ」の道路標示を検出する処理を示す。外界認識装置５は、５０ｍsecごとに図７に示す道路標示検出処理を繰り返す。ステップ５００において、今回のサンプリングでカメラ３により撮像し画像処理装置４で処理した画像を読み込む。
【００６７】
ステップ５０１では車速検出装置６から車速を、操舵角検出装置７から操舵角を読み込み、次式により将来の自車両の進路の曲率半径Ｒow［ｍ］とピッチ角度Ｐitch_z0［deg］を推定する。
Ｒow＝（１＋Ａ＊Ｖsp２＊ＬWB）／Ｓteer，
Ｐitch_z0＝ＢＰＦ_Ｂ１＊mc_z0＋ＢＰＦ_Ｂ２＊mc_z1＋ＢＰＦ_Ｂ３＊mc_z2
−ＢＰＦ_Ａ２＊Ｐitch_z1−ＢＰＦ_Ａ３＊Ｐitch_z2  ・・・（５２）
ここで、Ａは車両固有の値であるスタビリティーファクター（車重、ホイールベース長、重心位置、タイヤの横力で決まる定数と見なせる値）を、Ｖspは自車速度［ｍ／ｓ］を、ＬWBはホイールベース長［ｍ］を、Ｓteerは操舵角［rad］（右切りがプラス）をそれぞれ表す。また、ＢＰＦ_Ｂ１、ＢＰＦ_Ｂ２、ＢＰＦ_Ｂ３、ＢＰＦ_Ａ２、ＢＰＦ_Ａ３は所定の微分特性を有するように設定したデジタル微分フィルター（バンドパスフィルター）の係数であり、mc_z0はブレーキのマスターシリンダー圧力の現在値、mc_znはそのｎサンプリング過去の値である。Ｐitch_znも同様であり、下向き（ノーズダイブ方向）を正とする。
【００６８】
ステップ５０２では、道路標示の文字や記号などのマークを認識した回数を表すカウンターＤetectsＳtepが０、すなわち、まだ道路標示のマークを一つも認識していない状態か否かを確認する。道路標示の文字や記号などのマークをまだ一つも認識していない状態の場合はステップ５０３へ進み、道路標示を検出するための初期条件を以下のように設定する。
obj_Ｙ＝２０，
obj_Ｘ＝func5（Ｒow），
ＰrocessＷide＝１，
ＰrocessＤist＝１０．０
obj_Ｙf＝obj_Ｙ，
obj_Ｙn＝obj_Ｙ    ・・・（５３）
（５３）式において、obj_Ｙは道路上の画像処理領域の前後方向位置（単位メートル）、obj_Ｘは道路上の画像処理領域の左右方向位置（単位メートル、自車両の正面が０）である。また、ＰrocessＷideは画像処理領域の横方向範囲の半分の値（単位メートル）、ＰrocessＤistは画像処理領域の前後方向範囲の半分の値（単位メートル）である。func5（Ｒow）は図１２に示すような特性の関数である。
上述した第４の実施の形態と比較すると、obj_Ｘ＝func5（Ｒow）とすることによって、自車両の予測進路で探索領域の初期位置を補正し、さらにＰrocessＷide＝１とすることによって探索領域の初期の大きさが絞れる。
【００６９】
ステップ５０４では、自車両の推定ピッチ角度に基づいてdisp_obj_ＹＡとdisp_obj_ＹＢを補正して画像処理領域を求める。
disp_obj_ＹＡ＝ｙ０＋focusＶ＊ＣＡＭ_h／（obj_Ｙ＋ＰrocessＤist）
＋ｖｐ／ｖａ＊Ｐitch_z0    ・・・（５４）
disp_obj_ＹＢ＝ｙ０＋focusＶ＊ＣＡＭ_h／（obj_Ｙ−ＰrocessＤist）
＋ｖｐ／ｖａ＊Ｐitch_z0    ・・・（５５）
disp_obj_ＸＬ＝ｘ０＋focusＨ＊obj_Ｘ／obj_Ｙ−focusＨ＊ＰrocessＷide／obj_Ｙ                                                ・・・（５６）
disp_obj_ＸＲ＝ｘ０＋focesＨ＊obj_Ｘ／obj_Ｙ＋focusＨ＊ＰrocessＷide／obj_Ｙ
・・・（５７）
ここで、disp_obj_ＹＡは画像処理領域の上側の座標、disp_obj_ＹＢは画像処理領域の下側の座標、disp_obj_ＸＬは画像処理領域の左側の座標、disp_obj_ＸＲは画像処理領域の右側の座標である。また、ｙ０、ｘ０は消失点の縦方向座標［pix：画素数］（カメラ３の取り付け位置と向き（撮影レンズの方向）で決まるパラメーター）である。同様に、focusＶとfocusＨは鉛直方向と水平方向のカメラ３の焦点距離を画素換算した値［pix］（カメラ３の画角と受光素子の解像度で決まるパラメーター）である。ＣＡＭ_hはカメラ３の取り付け高さ（単位はメートル）である。また、ｖｐはＣＣＤカメラ３の鉛直方向の画素数［piz］で、ｖａはＣＣＤカメラ３の鉛直方向の画角［deg］である。
【００７０】
ステップ５０５では上記画像処理領域において道路標示の文字や記号などのマークを識別するための前処理を行う。この処理方法としてこの一実施の形態では微分演算と２値化処理を行う。微分演算は、微分画像を求める一般的な手法であるｓｏｂｅｌフィルターにより実施する。ｓｏｂｅｌフィルターとは、ある画素に隣接する画素どうしの輝度変化を求める演算である。２値化処理は、求めた微分画像の輝度についてその平均値Ａｖと分散値Ｖｒを求め、これをしきい値として２値化処理を実施する。なお、２値化とは、各画素の輝度（ここでは微分画像のため輝度変化）がしきい値以下の場合には黒色に、しきい値を超える場合は白色に、微分画像の濃淡を白と黒の２色に分けることである。
【００７１】
ステップ５０６では、道路標示マークを認識した回数を表すカウンターＤetectsＳtepの値に応じて参照用マークを設定する。
ＤetectsＳtep＝０の場合、Ｒef_Ｍark＝「せ」、
ＤetectsＳtep＝１の場合、Ｒef_Ｍark＝「と」、
ＤetectsＳtep＝２の場合、Ｒef_Ｍark＝「落」、
ＤetectsＳtep＝３の場合、Ｒef_Ｍark＝「度」、
ＤetectsＳtep＝４の場合、Ｒef_Ｍark＝「速」  ・・・（５８）
ここで、Ｒef_Ｍarkとは、検出した道路標示マークと照合するために参照するマークであり、カメラ３から路面上の道路標示を見下ろすのと同じように、斜め上から見た遠近感のある参照用マークを予め設定しておくものとする。
【００７２】
ステップ５０７では、上述した前処理により識別した道路標示マークを参照用マークと照合して道路標示マークを認識する。この認識方法として、この一実施の形態では参照用マークと２値化画像とのＯＣＲ（Optical Character Recognition）手法を応用し、所定以上の類似性がある場合にその道路標示マークを認識できたものとする。また、この認識を行うときに、参照用マークの回転許容範囲を最少αｓ１から最大αｓ２までに制限する。ステップ５０８で道路標示マークを認識した場合はステップ５０９へ進み、認識できなかった場合はステップ５１４へ進む。
【００７３】
速度落とせの道路標示マークを認識できた場合は、ステップ５０９で道路標示マークの認識回数カウンターＤetectＳtepをインクリメントする。カウンターＤetectＳtepが５になった場合はステップ５１５へ進み、５未満の場合はステップ５１０へ進む。
【００７４】
ステップ５１０では、認識した道路標示マークの画面上の位置に基づいて、次に道路標示マークを探索する画像処理領域の位置を次式により求める。
obj_Ｙ＝focusＶ＊ＣＡＭ_h／（Ｒef_Ｍark_Ｃenter_y−ｙ０）＋２．０，
obj_Ｙn＝obj_Ｙ−func1（ＤetectＳtep），
obj_Ｙf＝obj_Ｙ＋func1（ＤetectＳtep），
obj_Ｘl＝obj_Ｙ（Ｒef_Ｍark_Ｃenter_x−ｘ０）／focusＨ−func1（ＤetectＳtep）
＋func6（Ｒow），
obj_Ｘr＝obj_Ｙ（Ｒef_Ｍark_Ｃenter_x−ｘ０）／focusＨ＋func1（ＤetectＳtep）
＋func6（Ｒow）  ・・・（５９）
ここで、Ｒef_Ｍark_Ｃenter_yは認識したマークの画面上の垂直方向（上下方向）位置、Ｒef_Ｍark_Ｃenter_xは認識したマークの画面上の水平方向（左右方向）位置である。また、obj_Ｙnとobj_Ｙfは探索位置の近距離側と遠距離側の位置を示し、obj_Ｘlとobj_Ｘrは探索位置の左側と右側の位置を示す。func１（Ａ）は図８に示すような特性を有する関数である。また、func6（Ｒow）は図１３に示すような特性を有する関数である。
【００７５】
ステップ５１１では、認識した道路標示マークの画面上の大きさに基づいて、次に道路標示マークを探索する画像処理領域の大きさを次式により求める。
ＰrocessＷide＝（Ｒcg_Ｍark_ＳizeＨ＊obj_Ｙ／focusＨ）／func2（ＤetectＳtep），
ＰrocessＤist＝（Ｒcg_Ｍark_ＳizeＶ＊obj_Ｙ／focusＶ）／func2（ＤetectＳtep）                                                              ・・・（６０）
（６０）式において、Ｒcg_Ｍark_ＳizeＨとＲcg_Ｍark_ＳizeＶは、認識した道路標示マークの水平方向サイズ（単位は画素数）と鉛直方向サイズ（単位は画素数）である。また、func2（Ａ）は図９に示すような特性を有する関数である。
【００７６】
ステップ５１２では、認識した速度落とせの道路標示マークの向きに基づいて次のマークを探索するときの参照用マークの傾きを制限する。
αｓ１＝αｒ−func3（ＤetectＳtep）［deg］，
αｓ２＝αｒ＋func3（ＤetectＳtep）［deg］      ・・・（６１）
ここで、αｒとは、認識した際の参照用マークの回転角度であり、αｓ１とαｓ２は次のサンプリング周期で探索するときの参照用マークの回転角度を制限する最少角度と最大角度である。また、func3（Ａ）は図１０に示すような特性を有する関数である。なお、この一実施の形態では参照用マークの向きを傾ける例を示したが、探索領域を傾けてもよい。
【００７７】
ステップ５１３では、認識した道路標示マークの画面上の向きに基づいて次に探索する領域の左右方向位置を制限する。
obj_Ｘl＝obj_Ｙ（Ｒef_Ｍark_Ｃenter_x−ｘ０）／focusＨ＋２．０tan（αｒ−func4（ＤetectＳtep）），
obj_Ｘr＝obj_Ｙ（Ｒef_Ｍark_Ｃenter_x−ｘ０）／focusＨ＋２０．tan（αｒ−func4（ＤetectＳtep））                                        ・・・（６２）
ここで、func4（Ａ）は図１１に示すような特性を有する関数である。
【００７８】
一方、ステップ５１５では、自車両前方に目測を誤りがちな状況があることを示す「速度落とせ」の道路標示を検出したので、運転者への情報提供として例えば０．０７Ｇの制動力を現在の目標駆動力に付加して駆動軸トルクデマンド制御を行い、ステップ５１４へ進む。ステップ５１４では車速、操舵角などの自車挙動データの過去値を更新して処理を終了する。
【００７９】
このように、道路上の進行方向に連続してペイントされる「速度落とせ」の道路標示を１文字または１記号ずつ部分的に検出するとともに、自車の挙動に応じて画像処理領域を絞るようにしたので、画像処理負荷を低減することができる。
【００８０】
特許請求の範囲の構成要素と一実施の形態の構成要素との対応関係は次の通りである。すなわち、カメラ３が撮像手段を、画像処理装置４および外界認識装置５が道路標示検出手段、領域絞り込み手段および道路標示識別手段を、第１の実施の形態のスピーカーとディスプレイ、第２の実施の形態のシートベルト巻き取り装置、第３の実施の形態のアクセルペダル反発力付加装置、および、第４および第５の実施の形態の駆動軸トルクデマンド制御装置が道路標示伝達手段をそれぞれ構成する。なお、本発明の特徴的な機能を損なわない限り、各構成要素は上記構成に限定されるものではない。
【００８１】
このように一実施の形態によれば、自車前方を撮像した撮像画像を処理して道路上の進行方向に連続して描かれる道路標示を１文字または１記号ずつ検出するときに、道路標示の１文字または１記号が検出されるたびにその検出結果に基づいて撮像画像上の画像処理領域を絞り込み、連続して検出された文字または記号に基づいて道路標示を識別するようにしたので、道路標示の検出信頼性を向上させながら画像処理負荷を低減することができる。
【００８２】
また、一実施の形態によれば、検出した道路標示の１文字または１記号の位置に応じて、次の道路標示の１文字または１記号を検出するための画像処理領域の位置を設定するようにしたので、道路標示の１文字または１記号を検出するたびに、次の道路標示の１文字または１記号を検出する際の画像処理負荷を低減することができる。
【００８３】
一実施の形態によれば、道路標示の１文字または１記号が検出されるたびに、画像処理領域の位置の設定範囲を狭くするようにしたので、道路標示の１文字または１記号を検出するたびに、次の道路標示の１文字または１記号を検出する際の画像処理負荷を低減することができる。
【００８４】
一実施の形態によれば、検出した道路標示の１文字または１記号の大きさに応じて、次の道路標示の１文字または１記号を検出するための画像処理領域の大きさを設定するようにしたので、道路標示の１文字または１記号を検出するたびに、次の道路標示の１文字または１記号を検出する際の画像処理負荷を低減することができる。
【００８５】
一実施の形態によれば、道路標示の１文字または１記号が検出されるたびに、画像処理領域の大きさを狭くするようにしたので、道路標示の１文字または１記号を検出するたびに、次の道路標示の１文字または１記号を検出する際の画像処理負荷を低減することができる。
【００８６】
一実施の形態によれば、検出した道路標示の１文字または１記号の向きに応じて、次の道路標示の１文字または１記号を検出するための画像処理領域を傾けるようにしたので、道路標示の１文字または１記号を検出するたびに、次の道路標示の１文字または１記号を検出する際の画像処理負荷を低減することができる。
【００８７】
一実施の形態によれば、検出した道路標示の１文字または１記号の向きに応じて、次の道路標示の１文字または１記号を検出するための画像処理領域の位置を設定するようにしたので、道路標示の１文字または１記号を検出するたびに、次の道路標示の１文字または１記号を検出する際の画像処理負荷を低減することができる。
【００８８】
一実施の形態によれば、道路標示の１文字または１記号が検出されるたびに、画像処理領域の左右方向の位置を狭くするようにしたので、道路標示の１文字または１記号を検出するたびに、次の道路標示の１文字または１記号を検出する際の画像処理負荷を低減することができる。
【００８９】
一実施の形態によれば、検出した道路標示の１文字または１記号に基づいて次に検出される道路標示の１文字または１記号を特定するようにしたので、次の道路標示の１文字または１記号を検出する際の画像処理負荷を低減することができる。
【００９０】
一実施の形態によれば、自車両のピッチ角を検出し、検出したピッチ角に基づいて画像処理領域を補正するようにしたので、最初に道路標示の１文字または１記号を検出するときには画像処理負荷を低減することができ、次の道路標示の１文字または１記号を検出するときには道路形状や自車両の挙動の変化に対して画像処理負荷を増やさずに対応できる。
【００９１】
一実施の形態によれば、自車両の進路を予測し、予測した自車両の進路に基づいて画像処理領域を補正するようにしたので、最初に道路標示の１文字または１記号を検出するときには画像処理負荷を低減することができ、次の道路標示の１文字または１記号を検出するときには道路形状や自車両の挙動の変化に対して画像処理負荷を増やさずに対応できる。
【図面の簡単な説明】
【００９２】
【図１】第１の実施の形態の構成を示す図である。
【図２】第１の実施の形態の道路標示検出処理を示すフローチャートである。
【図３】第２の実施の形態の道路標示検出処理を示すフローチャートである。
【図４】図３に続く、第２の実施の形態の道路標示検出処理を示すフローチャートである。
【図５】第３の実施の形態の道路標示検出処理を示すフローチャートである。
【図６】第４の実施の形態の道路標示検出処理を示すフローチャートである。
【図７】第５の実施の形態の道路標示検出処理を示すフローチャートである。
【図８】関数func１の特性を示す図である。
【図９】関数func２の特性を示す図である。
【図１０】関数func３の特性を示す図である。
【図１１】関数func４の特性を示す図である。
【図１２】関数func５の特性を示す図である。
【図１３】関数func６の特性を示す図である。
【符号の説明】
【００９３】
１  レーザーレーダー
２  レーダー処理装置
３  ＣＣＤカメラ
４  画像処理装置
５  外界認識装置
６  車速検出装置
７  操舵角検出装置
８  自動ブレーキ制御装置
９  負圧ブレーキブースター
【図１】
2006127358.tif 000003
【図２】
2006127358.tif 000004
【図３】
2006127358.tif 000005
【図４】
2006127358.tif 000006
【図５】
2006127358.tif 000007
【図６】
2006127358.tif 000008
【図７】
2006127358.tif 000009
【図８】
2006127358.tif 000010
【図９】
2006127358.tif 000011
【図１０】
2006127358.tif 000012
【図１１】
2006127358.tif 000013
【図１２】
2006127358.tif 000014
【図１３】
2006127358.tif 000015