(57)【要約】【課題】道路の白線や道路端立体物の検出が難しい状況においても、自車前方の道路線形を推定でき、又は、カーブの手前でブレーキを制御して自車を減速させる必要があるか否かを判定できるカメラ装置を提供する。【解決手段】自車１０６の走行道路前方を撮像する複数の撮像部１０７、１０８を有するカメラ装置１０５は、複数の撮像部１０７、１０８により撮像した画像に基づいて走行道路１０２の消失点付近に存在する前方立体物１０１を検出する前方立体物検出部１１４と、前方立体物検出部１１４により検出した検出結果に基づいて、走行道路１０２のうちの遠距離部分の道路線形を推定する道路線形推定部１１３を有する。【選択図】図１
2010128949.tif 000002
【特許請求の範囲】
【請求項１】
自車の走行道路前方を撮像する複数の撮像部を有するカメラ装置において、
前記複数の撮像部により撮像した画像に基づいて前記走行道路の消失点付近に存在する前方立体物を検出する前方立体物検出部と、
該前方立体物検出部により検出した検出結果に基づいて、前記走行道路のうちの遠距離部分の道路線形を推定する道路線形推定部と、を有することを特徴とするカメラ装置。
【請求項２】
前記前方立体物検出部は、前記前方立体物を検出し、該検出した前方立体物の分布を算出し、
前記道路線形推定部は、前記前方立体物検出部により算出した前記前方立体部の分布に基づいて前記遠距離部分の道路線形を推定することを特徴とする請求項１に記載のカメラ装置。
【請求項３】
前記走行道路の白線を検出する白線検出部を備え、
前記道路線形推定部は、前記白線検出部により検出した検出結果に基づいて前記走行道路のうちの近距離部分の道路線形を推定することを特徴とする請求項１又は２に記載のカメラ装置。
【請求項４】
前記走行道路の道路端に沿って配置された道路端立体物を検出する道路端検出部を備え、
前記道路線形推定部は、前記道路端検出部により検出した検出結果に基づいて前記走行道路のうちの近距離部分の道路線形を推定することを特徴とする請求項１又は２に記載のカメラ装置。
【請求項５】
前記走行道路の白線を検出する白線検出部と、
前記走行道路の道路端に沿って配置された道路端立体物を検出する道路端検出部を備え、
前記道路線形推定部は、前記白線検出部により検出した検出結果と、前記道路端検出部により検出した検出結果の少なくとも一方に基づいて、前記走行道路のうちの近距離部分の道路線形を推定することを特徴とする請求項１又は２に記載のカメラ装置。
【請求項６】
自車の走行道路前方を撮像する複数の撮像部を有するカメラ装置において、
前記複数の撮像部により撮像した画像に基づいて前記走行道路の消失点付近に存在する前方立体物を検出し、前記前方立体物の分布を算出する前方立体物検出部と、
該前方立体物検出部により算出した前記前方立体物の分布及び前記自車から前記前方立体物までの距離及び前記自車の車速に基づいて前記自車のブレーキ制御を行う必要があるか否かを判定するブレーキ制御判定部を有することを特徴とするカメラ装置。
【請求項７】
前記前方立体物の分布及び前記自車から前記前方立体物までの距離及び前記自車の車速及び車両運転者のブレーキ操作の関係を予め学習させたブレーキ制御学習データを有し、
前記ブレーキ制御判定部は、前記ブレーキ制御学習データと、前記前方立体物の分布及び前記自車から前記前方立体物までの距離及び前記自車の車速の各観測値に基づいて、前記車両運転者がブレーキ制御を行う可能性があるかどうかに関する確率を算出し、該確率が予め設定された基準値よりも高い場合には、前記ブレーキ制御を行う必要があると判定することを特徴とする請求項６に記載のカメラ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自車の走行道路前方を撮像する複数の撮像部を有するカメラ装置に関するものである。
【背景技術】
【０００２】
車両の安全な走行を実現するために、車両の周囲の危険な事象を検出して、車両の操舵、アクセル、ブレーキを自動制御し、危険な事象を回避する装置に関して研究開発が行われており、一部の車両には既に搭載されている。
【０００３】
その中でも、自車走行道路の前方に存在するカーブに適切な速度で進入するために、カーブの手前で制動力を自動的に調整して車両を減速させるカーブ前自動減速制御装置を車両に搭載することは、カーブ走行中の道路逸脱事故を防止するのに有効である。
【０００４】
カーブ前自動減速制御を実現する方法の一つとして、カーブの線形（形状）を検出する方法がある。車載カメラで撮像した画像から道路の白線を検出し、その白線から走行路の曲率を演算する技術が特許文献１に記載されている。また、道路端に沿って設けられたガードレール等の立体物を車載レーダで検出し、自車前方のカーブの形状を認識する技術が特許文献２に記載されている。
【０００５】
【特許文献１】特開２００１−１０５１８号公報
【特許文献２】特開２００１−２５６６００号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載された技術では、自車走行道路に白線が存在しない場合や、かすれ等により白線を認識することが難しい場合に、自車の走行道路前方の道路形状を検出することはできない。また、走行速度が高速の場合には、より遠方のカーブの形状、すなわち、走行道路のうちの遠距離部分の道路線形を把握する必要があるが、車載カメラで撮像した画像から遠方の白線の曲率を高精度に検出することは困難である。
【０００７】
また、道路端に立体物が存在しない場合には、特許文献２に記載された技術では、自車の走行道路前方の道路線形を検出することはできない。従って、特許文献１及び特許文献２の技術では、自車前方にカーブが存在するにも関わらずカーブが存在しないとの誤判定や、カーブが存在しないにも関わらずカーブが存在するとの誤判定がなされるおそれがあり、車両制御装置によって適切な自動ブレーキ制御を行うことができない。
【０００８】
本発明は、上記した点に鑑みてなされたものであり、その目的は、道路の白線や道路端立体物の検出が難しい状況においても、自車の走行道路前方の道路線形を推定でき、又は、カーブの手前でブレーキを制御して自車を減速させる必要があるか否かを判定できるカメラ装置を提供することにある。
【課題を解決するための手段】
【０００９】
上記した課題に鑑みてなされた本発明のカメラ装置は、複数の撮像部により撮像した画像に基づいて走行道路の消失点付近に存在する前方立体物を検出し、その検出結果に基づいて走行道路のうちの遠距離部分の道路線形を推定することを特徴とする。
【発明の効果】
【００１０】
本発明のカメラ装置によれば、車両前方の消失点付近の前方立体物を検出し、その検出結果に基づいて走行道路のうちの遠距離部分の道路線形を推定するので、走行道路の白線や道路端立体物の検出が難しい状況においても、ブレーキ制御が必要なカーブに進入する手前で自動減速制御を行うことができる。
【００１１】
また、本発明のカメラ装置によれば、車両前方の消失点付近の前方立体物を検出して前方立体物の分布を算出し、その前方立体物の分布と、自車から前方立体物までの距離と、自車の車速とに基づいて自車のブレーキ制御を行う必要があるか否かを判定するので、ブレーキ制御が必要なカーブに進入する手前で、自動減速制御を行うことができる。
【発明を実施するための最良の形態】
【００１２】
次に、本発明の実施の形態について図面を用いて以下に詳細に説明する。本実施の形態では、車両１０６に搭載されたステレオカメラ装置１０５の画像を用いて、自車の走行道路前方の道路線形を推定するシステムに適用した場合について説明する。
【００１３】
まず、図１を用いて本発明の概要を説明する。図１において、符号１０５は、車両１０６に搭載されたステレオカメラ装置（カメラ装置）である。ステレオカメラ装置１０５は、車両１０６の走行道路前方を撮像範囲とし、走行道路前方に存在する立体物を検出する構成を有している。ステレオカメラ装置１０５の詳細な構成については後述する。
【００１４】
ステレオカメラ装置１０５は、図１に示すように、自車である車両１０６が道路１０２を走行している際に、道路１０２上の白線１０３や、道路１０２に沿って設けられたガードレール等の道路端立体物１０４、走行道路前方の消失点付近に存在する前方立体物１０１に関して、その種類と３次元的な位置を検出する。
【００１５】
そして、検出結果に基づいて、道路１０２が前方でカーブしているかどうかを判定し、そのカーブの形状の推定値、または、自動ブレーキ制御が必要かどうかの判定情報を、車両１０６に搭載された車両制御装置１１７に伝達する。
【００１６】
車両制御装置１１７は、ステレオカメラ装置１０５から受信した車両１０６前方のカーブ形状の推定値、または、自動ブレーキ制御が必要かどうかの判定情報に基づき、ブレーキの自動制御を行い、車両１０６が安全に前方のカーブを走行できるように減速させる。
【００１７】
次に、図１を用いて、ステレオカメラ装置１０５の詳細な構成について以下に説明する。ステレオカメラ装置１０５は、その構成要素として、左撮像部１０７と右撮像部１０８、距離情報算出部１０９、白線検出部１１０、走行路面算出部１１１、道路端検出部１１２、前方立体物検出部１１４、前方カーブ推定部１１３、ブレーキ制御判定部１１６を有している。
【００１８】
左撮像部１０７と右撮像部１０８は、対をなして設けられており、車両１０６の前方を撮像し、道路１０２、白線１０３、ガードレール等の道路１０２に沿った立体物１０４、道路１０２前方の遠方の立体物１０１を撮像範囲とする。
【００１９】
左撮像部１０７、右撮像部１０８は、いずれもレンズとＣＣＤから構成されており、上記撮像範囲を撮像できる仕様のものを使用する。左撮像部１０７と右撮像部１０８は、互いを結ぶ線が道路１０２面に平行でかつ車両１０６の進行方向に対して直交する方向となるように設置されている。左撮像部１０７と右撮像部１０８の間の距離ｄは、車両１０６から、どの程度の距離までを検知範囲とするかにより決定する。
【００２０】
図２は、距離情報算出部１０９にて行われる処理の内容を示すフローチャートである。距離情報算出部１０９は、左撮像部１０７と右撮像部１０８で撮像された各画像に基づいて前方立体物１０１の有無と、車両１０６から前方立体物１０１までの距離を算出する。
【００２１】
まず、左画像入力処理Ｓ２０１において、左撮像部１０７で撮像した画像データを受信する。次に、右画像入力処理Ｓ２０２において、右撮像部１０８で撮像した画像データを受信する。ここで、左画像入力処理Ｓ２０１と右画像入力処理Ｓ２０２を並列処理として同時に行っても良い。
【００２２】
次に、対応点算出処理Ｓ２０３において、左画像入力処理Ｓ２０１と右画像入力処理Ｓ２０２で取得した左右２枚の画像データを比較し、同一物体を撮像している部分を特定する。例えば、図９に示したように、道路１０２上にある物体（立体物）９０１をステレオカメラ装置１０５で撮像すると、左撮像部１０７と右撮像部１０８で撮像された画像は、それぞれ左画像９０２、右画像９０３のようになる。
【００２３】
ここで、同一物体９０１は、左画像９０２では符号９０４の位置に撮像され、右画像９０３では符号９０５の位置に撮像され、画像の横方向にｄ１のずれが発生する。従って、左画像９０２の符号９０４の位置に撮像されている物体９０１が、右画像９０３のどこに撮像されているかを特定する必要がある。
【００２４】
左画像９０２に撮像されている特定の物体が右画像９０３のどこに撮像されているかを特定する方法について、図１０を用いて説明する。図１０において、左画像９０２、右画像９０３の座標系に関して、横方向をｕ軸１００１、縦方向をｖ軸１００２とする。
【００２５】
まず、左画像９０２において、ｕｖ座標系で、（ｕ１，ｖ１）、（ｕ１，ｖ２）、（ｕ２，ｖ１）、（ｕ２，ｖ２）で囲まれた矩形のサーチ領域１００３を設定する。次に右画像９０３において、（Ｕ，ｖ１）、（Ｕ，ｖ２）、（Ｕ＋（ｕ２−ｕ１），ｖ１）、（Ｕ＋（ｕ２−ｕ１），ｖ２）で囲まれた矩形のサーチ領域１００４を、Ｕの値をｕ＝０からｕ＝ｕ３まで増加させ、画像の右方向（図１０にて矢印で示す方向）に向かって走査させる。
【００２６】
そして、サーチ領域１００３内の画像と、サーチ領域１００４内の画像の相関値を比較して、左画像９０２のサーチ領域１００３と相関性が最も高い右画像９０３のサーチ領域１００５の位置（ｕ４，ｖ１）、（ｕ４，ｖ２）、（ｕ４＋（ｕ２−ｕ１），ｖ１）、（ｕ４＋（ｕ２−ｕ１），ｖ２）に、サーチ領域１００４に撮像されている物体と同一物体９０１が撮像されているとする。ここでは、サーチ領域１００３内の各画素と、サーチ領域１００５内の各画素が対応しているとする。
【００２７】
そして、右画像９０３のサーチ領域１００４を走査した際、相関値がある一定以上の値になる領域が存在しない場合は、左画像９０２のサーチ領域１００３に対応する右画像９０３内の対応点は無しとする。
【００２８】
次に、左画像９０２のサーチ領域を１００６の位置にずらし、同様の処理を行う。このように左画像９０２のサーチ領域を左画像９０２内全体に走査し、左画像９０２の全画素に対して、右画像９０３内の対応点を求める。対応点が見つからない場合は、対応点無しとする。
【００２９】
次に図２のフローチャートの距離算出処理Ｓ２０４に関して、その処理の詳細について説明する。この処理では、前述の対応点算出処理Ｓ２０３で求めた、同一物体９０１を撮像している左画像９０２と右画像９０３の対応点に関して、各対応点がステレオカメラ装置１０５からどの程度の距離の位置にあるかを算出する。
【００３０】
まず、図１１を用いて、左画像９０２と右画像９０３の対応点１１０１のカメラからの距離Ｄを算出する方法を説明する。図１１において、左撮像部１０７は、レンズ１１０２と撮像面１１０３から成る焦点距離ｆ、光軸１１０８のカメラであり、右撮像部１０８は、レンズ１１０４と撮像面１１０５から成る焦点距離ｆ、光軸１１０９のカメラである。
【００３１】
これらのカメラの前方に点１１０１が存在する場合、点１１０１は、左撮像部１０７の撮像面１１０３の点１１０６（光軸１１０８からｄ２の距離）へ撮像され、左画像９０２では点１１０６（光軸１１０８からｄ４画素の位置）となる。同様に、カメラ前方にある点１１０１は、右撮像部１０８の撮像面１１０５の点１１０７（光軸１１０９からｄ３の距離）に撮像され、右画像９０３では点１１０７（光軸１１０９からｄ５画素の位置）となる。
【００３２】
このように同一の物体１１０１が、左画像９０２では光軸１１０８から左へｄ４画素の位置、右画像９０３では光軸１１０９から右へｄ５の位置に撮像され、ｄ４＋ｄ５画素の視差が発生する。このため、左撮像部１０７の光軸１１０８と点１１０１との距離をｘとすると、以下の式により、ステレオカメラ装置１０５から点１１０１までの距離Ｄを求めることができる。
【００３３】
点１１０１と左撮像部との関係からｄ２：ｆ＝ｘ：Ｄ
点１１０１と右撮像部との関係からｄ３：ｆ＝（ｄ−ｘ）：Ｄ
従って、Ｄ＝ｆ＊ｄ／（ｄ２＋ｄ３）＝ｆ＊ｄ／｛（ｄ４＋ｄ５）＊ａ｝となる。ここで、ａは撮像面１１０３、１１０５の撮像素子のサイズである。
【００３４】
以上述べた距離算出を、前述の対応点算出処理Ｓ２０３で算出した対応点の全てに関して実施する。その結果、図１２に示すような距離画像を求めることができる。図１２は、左撮像部１０７にて撮像された画像９０２である。前述の対応点算出処理Ｓ２０３では画像中９０２の中の白線１０３や前方立体物１０１等の画像的な特徴がある部分について、左右画像９０２、９０３の対応点を求めることができる。
【００３５】
そして、この距離算出処理Ｓ２０４にて、図１２のように、白線１０３や前方立体物１０１とステレオカメラ装置１０５との間の距離を求めることができる。例えば白線１０３が撮像されている画素１２０１、１２０２、１２０３の部分の距離がｘ１［ｍ］、ｘ２［ｍ］、ｘ３［ｍ］となる。このように、対応点算出処理Ｓ２０３で算出した全ての対応点（画素）に関して距離を求めたデータを距離画像と呼ぶこととする。対応点がない画素に関しては、距離データ無しとする。
【００３６】
そして、図２のフローチャートの距離情報出力処理Ｓ２０５では、この距離画像を出力して図示していない記憶部に保存する。最後に、図２のフローチャートの分岐処理Ｓ２０６において、左撮像部１０７、右撮像部１０８から画像入力信号がある場合は、処理Ｓ２０１に戻る。分岐処理Ｓ２０６において、左撮像部１０７、右撮像部１０８から画像入力信号がない場合は、画像入力信号が距離情報算出部１０９に入力されるまで待機する。
【００３７】
図３は、白線検出部１１０にて行われる処理の内容を示すフローチャートである。白線検出部１１０は、左撮像部１０７又は右撮像部１０８で撮像した画像に基づいて道路１０２上の白線１０３の有無・位置・形状を算出する。最初に、左画像入力処理Ｓ３０１において、ステレオカメラ装置１０５の左撮像部１０７から車両１０６の前方を撮像した画像を入力する。画像は濃淡画像とする。
【００３８】
次にエッジ抽出処理Ｓ３０２にて、左画像入力処理Ｓ３０１にて入力した画像９０２の中から、道路１０２上の白線１０３を特徴づけるエッジを抽出する。例えば、図１５に示すように、左撮像部１０７にて撮像された道路１０２上の白線１０３のエッジを抽出するために、左画像９０２において、領域処理ウィンドウ１５０２（図１５にて破線で囲まれる）を設定する。
【００３９】
左画像９０２の座標系を、画像の横方向をｕ軸１００１、縦方向をｖ軸１００２とした場合に、処理ウィンドウ１５０２は、ｕ軸１００１方向が画像９０２の横のサイズ、ｖ軸１００２方向が数画素分の矩形とする。この処理ウィンドウ１５０２にて、ｕ軸方向の画像輝度の勾配を算出し、輝度勾配がある一定以上の箇所を白線のエッジとして抽出する。
【００４０】
図１５の画像９０２中では、処理ウィンドウ１５０２と白線１０３の交点部分１５０３、１５０４、１５０５が白線１０３のエッジとして抽出される。処理ウィンドウ１５０２はｖ軸１００２方向に走査させ、画像９０２の全体にて、白線エッジを抽出する処置を行う。
【００４１】
次にエッジ方向判定処理Ｓ３０３にて、前述のエッジ抽出処理Ｓ３０２にて抽出した全ての白線１０３のエッジをグループ化して、消失点の方向に向いているグループを白線１０３の候補として判定する。ここで消失点は、ステレオカメラ装置１０５の光軸方向（図１３（ｂ）の１３０４）とする。
【００４２】
次に連続性判定処理Ｓ３０４にて、前述のエッジ方向判定処理Ｓ３０３にてグループ化した白線候補に関して、各隣り合うエッジの連続性を判定して、連続するエッジのグループを白線の候補とする。連続性の判定に関しては、図１５のｕｖ座標系において、隣り合うエッジのｕ座標値とｖ座標値がどちらも差が少ないことを条件とする。
【００４３】
次に白線判定処理Ｓ３０５にて、前述の連続性判定処理Ｓ３０４にてグループ化した白線候補のエッジを、車両１０６を上から見たｘｚ座標系（図１３（ｂ））に俯瞰変換する。そして、俯瞰変換したエッジのうち、車両１０６の左側のエッジ（図１３（ｂ）のｘ値がマイナスの領域）について、最小二乗法等の手法を用いて、
直線の方程式（ｚ＝ａ３＊ｘ＋ｂ３または、ｘ＝ｃ３）、
または
曲線の方程式（ｘ＝ｒ３＊ｃｏｓθ＋ｘ０９、ｚ＝ｒ３＊ｓｉｎθ＋ｚ０９）
に当てはめ、直線の方程式に一致する部分は、白線１０３を直線の方程式として表現し、曲線の方程式に一致する部分は、白線１０３を曲線の方程式として表現する。
【００４４】
直線、曲線いずれの方程式にも一致しない場合はこれらのエッジのグループは白線ではないと判定する。上記で俯瞰変換したエッジのうち、車両１０６の右側のエッジ（図１３（ｂ）のｘ値がプラスの領域）についても、同様の処理を行う。
【００４５】
次に白線検出結果出力処理Ｓ３０６にて、前述の白線判定処理Ｓ３０５で算出した左右の白線１０３の方程式を出力する。前処理までで白線１０３を検出できなかった場合は、白線無しとして出力する。
【００４６】
最後に、図３のフローチャートの分岐処理Ｓ３０７において、左撮像部１０７から画像入力信号がある場合は、処理Ｓ３０１に戻る。分岐処理Ｓ３０７において、左撮像部１０７から画像入力信号がない場合は、画像入力信号が白線検出部１１０に入力されるまで待機する。
【００４７】
図４は、走行路面算出部１１１にて行われる処理の内容を示すフローチャートである。走行路面算出部１１１は、白線検出部１１０と距離情報算出部１０９からの情報に基づいて道路１０２の上下左右の傾きを検出する。
【００４８】
まず、白線検出結果取得処理Ｓ４０１にて、ステレオカメラ装置１０５の白線検出部１１０にて行われる連続性判定処理（図３の３０４）にて検出した、白線１０３の候補となるエッジの座標値（図１５のｕｖ座標系）を入力する。
【００４９】
次に距離情報取得処理Ｓ４０２にて、ステレオカメラ装置１０５の距離情報算出部１０９にて行われる距離情報出力処理（図２の２０５）で出力した距離画像を入力する。
【００５０】
次に白線・距離情報マッチング処理Ｓ４０３にて、前述の白線検出結果取得処理Ｓ４０１で取得した白線１０３の候補となるエッジの座標値を、前述の距離情報取得処理Ｓ４０２で取得した距離画像上に重ねる。この結果、白線１０３の候補となるエッジに関して、ステレオカメラ装置１０５からの距離を取得することができる。
【００５１】
次に走行路面算出処理Ｓ４０４にて、白線１０３が道路１０２上に存在する、という情報を用いて、道路１０２の上下左右の傾きを示す走行路面の方程式を算出する。方程式を算出する際は、図１３（ｂ）のｘｚ平面に垂直な軸ｙ軸を追加したｘｙｚ空間にて算出する。最後に、走行路面算出結果出力処理Ｓ４０５にて、前述の走行路面算出処理Ｓ４０４にて算出した走行路面の方程式を出力する。
【００５２】
図５は道路端検出部１１２にて行われる処理の内容を示すフローチャートである。道路端検出部１１２は、走行路面算出部１１１と距離情報算出部１０９からの情報に基づいて道路端立体物１０４の有無・位置・形状を検出する。
【００５３】
まず、走行路面算出結果取得処理Ｓ５０１にて、ステレオカメラ装置１０５の走行路面算出部１１１で行われる走行路面算出結果出力処理（図４のＳ４０５）を入力する。次に距離情報取得処理Ｓ５０２にて、ステレオカメラ装置１０５の距離情報算出部１０９にて行われる距離情報出力処理（図２のＳ２０５）で出力した距離画像を入力する。
【００５４】
次に道路端立体物抽出処理Ｓ５０４にて、前述の距離情報取得処理Ｓ５０２で取得した距離画像と、前述の走行路面算出結果取得処理Ｓ５０１にて取得した走行路面を比較して、走行路面からある一定以上の高さを持つ立体物を抽出する。さらに抽出した立体物の中から、光軸方向から車線幅の半分の距離付近に位置し、消失点の方向に向いている立体物をグルーピングして、道路端立体物の候補とする。
【００５５】
次に立体物連続性判定処理Ｓ５０５にて、前述の道路端立体物抽出処理Ｓ５０４にてグループ化した道路端立体物の候補に関して、各隣り合う立体物の連続性を判定して、連続するエッジのグループを道路端立体物１０４（図１を参照）とする。連続性の判定に関しては、図１５のｕｖ座標系において、隣り合う立体物のｕ座標値とｖ座標値がどちらも差が少ないことを条件とする。
【００５６】
次に道路端算出処理Ｓ５０６にて、道路端立体物１０４の有無・位置・形状を示す方程式を算出する処理を行う。ここでは、前述の立体物連続性判定処理Ｓ５０５にて抽出した道路端立体物１０４に関して、車両１０６を上から見たｘｚ座標系（図１３（ｂ））に俯瞰変換する。
【００５７】
次に、俯瞰変換した立体物情報のうち、車両１０６の左側（図１３（ｂ）でｘ値がマイナスの領域）の道路端立体物１０４について、最小二乗法等の手法を用いて、
直線の方程式（ｚ＝ａ３＊ｘ＋ｂ３または、ｘ＝ｃ３）、または
曲線の方程式（ｘ＝ｒ３＊ｃｏｓθ＋ｘ０９、ｚ＝ｒ３＊ｓｉｎθ＋ｚ０９）
に当てはめ、直線の方程式に一致する部分は、道路端立体物１０４を直線の方程式として表現し、曲線の方程式に一致する部分は、道路端立体物１０４を曲線の方程式として表現する。
【００５８】
直線、曲線いずれの方程式にも一致しない場合、これらは最終的に道路端立体物１０４ではないと判定する。上記で俯瞰変換した道路端立体物１０４のうち、車両１０６の右側（図１３（ｂ）でｘ値がプラスの領域）の道路端立体物１０４についても、同様の処理を行う。最後に、道路端検出結果出力処理Ｓ５０７にて、前述の道路端算出処理Ｓ５０６で算出した道路端立体物１０４の方程式を出力する。
【００５９】
図６は、前方立体物検出部１１４にて行われる処理の内容を示すフローチャートである。前方立体物検出部１１４は、距離情報算出部１０９からの情報に基づいて道路１０２の消失点付近に存在する前方立体物１０１の有無・位置を算出する。
【００６０】
まず距離情報取得処理Ｓ６０１にて、ステレオカメラ装置１０５の距離情報算出部１０９が出力した距離画像を入力する。ここで距離画像とは、距離情報算出部１０９のフローチャート（図２）の距離情報出力処理Ｓ２０５で出力したものであり、画像の各画素に撮像されたデータに関して、カメラ装置１０５からの距離情報が記載されている。
【００６１】
次に前方立体物検出範囲算出処理Ｓ６０３にて、図１３（ａ）に示す車両１０６前方を撮像した左画像９０２（画像の横方向がｕ軸１００１、縦方向がｖ軸１００２）の中で、前方立体物１０１を検出する処理ウィンドウ１３０５の位置を算出する。処理ウィンドウ１３０５は、走行路１０２の消失点付近に設定され、その形状は矩形とされる。
【００６２】
走行路１０２の消失点は、白線検出部１１０によって白線１０３が検出されている場合には、その検出した白線１０３の延長方向とされる。そして、白線検出部１１０で白線１０３が検出できていない場合は、車両１０６の前方を撮像した左画像９０２の光軸方向とされる。処理ウィンドウ１３０５の大きさは、道路１０２の消失点方向の前方立体物１０１が入る程度の大きさであり、本実施の形態では、ｕ軸１００１方向の長さが画像の横サイズの１／３程度、ｖ軸１００２方向の長さが画像の縦サイズの１／５程度に設定される。
【００６３】
次に前方立体物検出処理Ｓ６０４にて、前述の前方立体物検出範囲算出処理Ｓ６０３にて算出した図１３（ａ）の処理ウィンドウ１３０５の範囲内の立体物１０１を検出する。そのためには、処理ウィンドウ１３０５内の全画素について、前述の距離情報取得処理Ｓ６０１にて取得した距離画像から、ｕｖ座標値が同じである画素の距離データを抽出する。距離データがない場合は、その画素については距離データ無しとする。
【００６４】
次に移動物体除去処理Ｓ６０７において、前述の前方立体物検出処理Ｓ６０４で検出した立体物のうち、道路１０２を走行する先行車両、対向車両をノイズとして除去する。そのために、検出した立体物の時系列のデータを抽出し、立体物の距離データの変化と自車両１０６の速度データの変化から、検出した立体物と自車両１０６との相対速度を算出する。算出した相対速度が自車両１０６に近づく値で、かつ、その相対速度の絶対値が自車両１０６の速度の絶対値よりも大きい場合、検出した立体物は対向車両として除去する。また、算出した相対速度が自車両１０６から遠ざかる値の場合、検出した立体物は先行車両として除去する。
【００６５】
次に前方立体物分布算出処理Ｓ６０５にて、前述の前方立体物検出処理Ｓ６０４にて抽出した図１３（ａ）の処理ウィンドウ１３０５内の距離データに関して、車両１０６を上方から見た座標系上における分布を求める。図１３（ｂ）は、図１３（ａ）の左画像９０２を俯瞰変換して車両１０６の上方から見た座標系にした図であり、車両１０６の進行方向をｚ軸１３０４、車両の進行方向と直交する車幅方向をｘ軸１３１１とする。
【００６６】
ここで、処理ウィンドウ１３０５内の各画素の距離データ（カメラからの距離）を、図１３（ｂ）のｘｚ平面に投影する。投影した点は、図１３（ｂ）の１３０１内の各点になる。また、各画素の距離データが、図１３（ｂ）の座標系におけるｚ値となる。
【００６７】
図１６は、各画素のｘ値を求める方法を示す図である。図１６において、左撮像部１０７は、レンズ１１０２と撮像面１１０３からなる、焦点距離ｆ、光軸がｚ軸１６０３のカメラであり、図１３（ｂ）のｚ軸１３０４と図１６のｚ軸１６０３とが一致する。
【００６８】
また、図１６の撮像面１１０３を含み、ｚ軸１６０３に直交する垂直軸をｘ軸１６０４とすると、図１６のｘ軸１６０４と図１３（ｂ）のｘ軸１３１１とが一致する。そのため、図１３（ｂ）の１３０１内の各点のｘ値は、図１６の点１６０１のｘ値Ｘ１と同じである。ここで、点１６０１が撮像面１６０２の光軸１６０３からＸ２の位置に撮像されるとする。すなわち、撮像面１１０３の撮像素子のサイズのｘ軸１６０４方向のサイズをａとすると、点１６０１は、左画像９０２の光軸１６０３からＸ３＝Ｘ２／ａの画素の位置１６０５に撮像される。ここで、点１６０１とカメラのレンズ１１０２との間の距離をＤ１とすると、
Ｘ２：ｆ＝Ｘ１：Ｄ１
の式で表すことができ、従って、
Ｘ１＝Ｄ１＊Ｘ２／ｆ＝Ｄ１＊Ｘ３＊ａ／ｆ
となる。
【００６９】
ここで、図１３（ａ）の前方立体物１０１の画像９０２上のｕ軸の値をＵ１、画像９０２のｕ軸方向のサイズをＵ２画素とすると、図１６のＸ３と、図１３（ａ）の｜Ｕ２／２−Ｕ１｜が等価となる。
【００７０】
また図１６のＤ１と、図１３（ｂ）の１３０１内の点の距離データ（ｚ値）とが等価である。以上により、図１３（ａ）の前方立体物１０１を、図１３（ｂ）の座標系に投影することができ、結果が１３０１内の各点のｘｚ座標値となる。
【００７１】
次に、図１３（ｂ）のｘｚ座標系に投影した前方立体物１０１の分布１３０１に関して、その形状の方向を算出する。そのために、ｘｚ座標系に投影された前方立体物１０１の各点の近傍を通る線分１３０６を算出する。
【００７２】
線分１３０６の式をｘｚ座標系でｚ＝ａｘ＋ｂとした場合、前方立体物１０１の分布１３０１内の各点とｚ＝ａｘ＋ｂとの距離の二乗の和が最小になるように、ａとｂを決定する。さらに、１３０１内に分布する各点の存在範囲のｘ値、ｘ１≦ｘ≦ｘ２を抽出する。
【００７３】
最後に前方立体物分布情報出力処理Ｓ６０６にて、前述の前方立体物分布算出処理Ｓ６０５で算出した式ｚ＝ａｘ＋ｂとｘの範囲ｘ１≦ｘ≦ｘ２を出力して保存する。また、前方立体物検出処理Ｓ６０４で算出した前方立体物１０１に関する各点の距離情報も同時に出力し保存する。
【００７４】
図７は、前方カーブ推定部１１３にて行われる処理の内容を示すフローチャートである。前方カーブ推定部（道路線形推定部）１１３は、白線検出部１１０や道路端検出部１１２からの情報に基づいて、車両前方のカーブの形状（道路の線形）を推定する。
【００７５】
まず白線検出結果取得処理Ｓ７０１では、白線検出部１１０の白線検出結果出力処理Ｓ３０６（図３）にて出力された車両１０６前方の白線１０３の位置と形状に関するデータを受信する。次に、道路端検出結果取得処理Ｓ７０２では、道路端検出部１１２の道路端検出結果出力処理Ｓ５０７にて出力された車両１０６前方の道路１０２に沿った道路端立体物１０４の位置と形状に関するデータを受信する。
【００７６】
次に、近距離道路線形算出処理Ｓ７０３において、前述の白線検出結果取得処理Ｓ７０１と道路端検出結果取得処理Ｓ７０２で取得したデータを用いて、道路１０２のうちの車両１０６に近い部分である近距離部分の道路線形を算出する。
【００７７】
白線検出結果があり、道路端検出結果がない場合は、白線検出結果のみで近距離部分の道路線形を算出する。また、白線検出結果がなく、道路端検出結果がある場合は、道路端検出結果のみで近距離部分の道路線形を算出する。白線検出結果、道路端検出結果の両方とも無い場合は、本処理は行わずに次へ進む。
【００７８】
図１７は、車両１０６と道路１０２を上から見た図であり、図１３（ｂ）と同じように、ｘｚ座標系で表現する。ここで、図１７における符号１７０１、１７０２が白線検出結果である。
【００７９】
白線検出結果１７０１は、直線の方程式１７０５（ｚ＝ａ１＊ｘ＋ｂ１または、ｘ＝ｃ１（ｘ０１≦ｘ≦ｘ０２））で表現できる部分、白線検出結果１７０２は、曲線の方程式１７０６（ｘ＝ｒ１＊ｃｏｓθ＋ｘ０３、ｚ＝ｒ１＊ｓｉｎθ＋ｚ０３（θ０１≦θ≦θ０２）  ）で表現できる部分である。
【００８０】
図１７に示す例の場合、これらの直線の方程式１７０５と曲線の方程式１７０６を合わせたものを、近距離部分の道路線形とする。白線検出結果が直線のみの場合は、近距離部分の道路線形は、直線の方程式１７０５のみとする。また、白線検出結果が曲線のみの場合は、近距離部分の道路線形は、曲線の方程式１７０６のみとする。
【００８１】
また、図１７の白線検出結果１７０４で示したように、白線１７０１、１７０２とペアになる白線１７０４も同時に検出されている場合は、合わせて出力する。さらに、本処理では、近距離部分の道路線形の式が、ｚ≧ｚ０５の部分を含んでいる場合（車両１０６から遠い部分）は、ｚ≧ｚ０５の部分を削除して出力する。ここでｚ０５は、白線検出結果の信頼度、白線検出結果の履歴の履歴などから、白線検出結果に関して信頼性がある限界点とする。さらに、近距離部分の道路線形を出力する際に、算出した道路線形に関して、車両１０６から一番遠い点１７０３の座標値（ｘ０４、ｚ０４）も出力する。
【００８２】
一方、白線検出結果と、道路端検出結果の両方がある場合は、白線検出結果と道路端検出結果の両方を用いて、近距離部分の道路線形を算出する。図１８は、車両１０６と道路１０２を上から見た図であり、図１３（ｂ）と同じように、ｘｚ座標系で表現する。ここで、１８０１と１８０２が白線検出結果、１８０３が道路端検出結果である。
【００８３】
白線検出結果１８０１と１８０２に関しては、前述の図１７と同様で、白線検出結果１８０１が直線で表現できる部分、白線検出結果１８０２が曲線で表現できる部分であり、検出結果によっては、１８０１、１８０２のどちらか一方の場合もある。
【００８４】
道路検出結果１８０３も、白線検出結果１８０１、１８０２と同様に、直線の方程式１８０４（ｚ＝ａ２＊ｘ＋ｂ２または、ｘ＝ｃ２（ｘ０５≦ｘ≦ｘ０６））、または、曲線の方程式１８０５（ｘ＝ｒ２＊ｃｏｓθ＋ｘ０７、ｚ＝ｒ２＊ｓｉｎθ＋ｚ０７（θ０３  ≦θ≦θ０４））で表現される。
【００８５】
そして本処理では、これらの白線検出結果１８０１、１８０２、道路検出結果１８０３の方程式を合わせて近距離部分の道路線形を出力している。そして、図１７の場合と同様に、近距離部分の道路線形の式が、ｚ≧ｚ０５の部分を含んでいる場合（車両１０６から遠い部分）は、ｚ≧ｚ０５の部分を削除して出力する。さらに、近距離部分の道路線形を出力する際に、算出した道路線形の車両１０６から一番遠い点１８０６の座標値（ｘ０８、ｚ０８）も出力する。
【００８６】
次に、前方立体物分布情報取得処理Ｓ７０５では、前方立体物検出部１１４の前方立体物分布情報出力処理Ｓ６０６（図６）によって出力された、前方立体物１０１の分布に関するデータを受信する。
【００８７】
次に、遠距離道路線形推定処理Ｓ７０６では、前述の前方立体物分布情報取得処理Ｓ７０５で取得した情報を用いて、道路１０２のうちの遠距離部分の道路線形を推定する。図１３（ｂ）において、点１３０７、１３０８は、前述の近距離道路線形算出処理Ｓ７０３にて算出した近距離道路線形の車両１０６から一番遠い最遠点（図１７の１７０３、図１８の１８０６）である。
【００８８】
一方、前方立体物分布情報は、図１３（ｂ）の線分１３０６（式ｚ＝ａｘ＋ｂとｘの範囲ｘ１≦ｘ≦ｘ２）である。これら最遠点１３０７、１３０８、線分１３０６の情報を用いて、遠距離道路線形を推定する。ここでは、まず、線分１３０６の端点（１３０９、１３１０）の座標を出力する。次に最遠点１３０７と端点１３０９を結ぶ曲線、最遠点１３０７と端点１３１０を結ぶ曲線、最遠点１３０８と端点１３０９を結ぶ曲線、最遠点１３０８と端点１３１０を結ぶ曲線の方程式を算出する。曲線の方程式は円の方程式とし、図１７、図１８に示した方程式１７０２、１８０３と接することを拘束条件とする。
【００８９】
ここで、近距離道路線形算出結果が無い場合、最遠点１３０７の座標値（ｘ０８，ｚ０８）は、車線の標準幅をＬ１とし、ｘ０８＝−Ｌ１／２、ｚ０８＝ｚ０５（前述の近距離道路線形算出処理Ｓ７０３で計算した値）とし、同様に、最遠点１３０８の座標値（ｘ０９，ｚ０９）は、ｘ０９＝Ｌ１／２、ｚ０９＝ｚ０５とする。さらに、方程式１７０２、１８０３に相当するものとして、最遠点１３０７を通る式に関してはｘ＝ｘ０８、最遠点１３０８を通る式に関してはｘ＝ｘ０９とし、近距離道路線形は直線であると仮定して本処理を行う。
【００９０】
最後に、前方カーブ情報出力処理Ｓ７０８において、前述の近距離道路線形算出処理Ｓ７０３で求めた直線、曲線の方程式のうち、曲線の方程式のみと、遠距離道路線形推定処理Ｓ７０５で求めた曲線の方程式をそれぞれ、車両１０６に搭載されている車両制御装置１１７に出力する。
【００９１】
図８は、ブレーキ制御判定部１１６で行われる処理の内容を示したフローチャートである。ブレーキ制御判定部１１６は、前方立体物検出部１１４からの情報に基づいて車両１０６の自動ブレーキ制御が必要かどうかを判定する。
【００９２】
まず、前方立体物検出情報取得処理Ｓ８０１では、前方立体物検出部１１４の前方立体物分布情報出力処理Ｓ６０６（図６）によって出力された、前方立体物１０１に関するデータを受信する。
【００９３】
次に学習データ取得処理Ｓ８０２にて、ブレーキ制御学習データ１１５を入力する。ここでブレーキ制御学習データ１１５について説明する。この学習データは、前述の前方立体物検出情報取得処理Ｓ８０１で取得した前方立体物の分布（図１３（ｂ）の線分１３０６の方程式）と、車両から１０６から前方立体物（図１３（ｂ）の線分１３０６）までの距離と、車両１０６の速度と、車両１０６のドライバのブレーキ操作Ｏｎ／Ｏｆｆの関係を学習させたものである。
【００９４】
すなわち、図１４に示したダイナミックベイジアンネットワークにおいて、Ａ（ｔ）１４０２が前方立体物の分布の出力である図１３（ｂ）の線分１３０６の傾き、Ｄ（ｔ）１４０３が図１３（ｂ）の車両１０６から線分１３０６までの距離、Ｓ（ｔ）１４０４が車両１０６の速度、Ｂ（ｔ）１４０１が車両１０６のドライバ（運転手）が行ったブレーキ操作のＯｎ／Ｏｆｆの確率である。
【００９５】
また、Ａ（ｔ＋１）、Ｄ（ｔ＋１）、Ｓ（ｔ＋１）、Ｂ（ｔ＋１）は、それぞれＡ（ｔ）、Ｄ（ｔ）、Ｓ（ｔ）、Ｂ（ｔ）の時系列のデータである。すなわち、ダイナミックベイジアンネットワークにおいて、Ｂ（ｔ）が「状態」、Ａ（ｔ）、Ｄ（ｔ）、Ｓ（ｔ）が「観測値」に相当する。これらの値を学習させることにより、事前確率をそれぞれ、Ｐ（Ｂ（ｔ＋１）｜Ｂ（ｔ））、Ｐ（Ａ（ｔ）｜Ｂ（ｔ））、Ｐ（Ｄ（ｔ）｜Ｂ（ｔ））、Ｐ（Ｓ（ｔ）｜Ｂ（ｔ））  のように求めることができる。これらの事前確率は、ブレーキ制御学習データ１１５として、本装置を製品に搭載する前に、事前に作成される。また、本装置を製品に搭載後、ドライバの手動ブレーキ操作の履歴データに基づいて、ブレーキ制御学習データ１１５の内容を更新することも可能である。
【００９６】
次にブレーキ制御確率算出処理Ｓ８０３にて、前述の学習データ取得処理Ｓ８０２で取得したブレーキ制御学習データ１１５と、現在の観測値Ａ（ｔ）、Ｄ（ｔ）、Ｓ（ｔ）を用いて、これらの各観測値の状態において、車両１０６のドライバが手動でブレーキ制御を行う可能性があるかどうかに関する確率Ｂ（ｔ）を算出する。
【００９７】
この確率Ｂ（ｔ）の値が予め設定された基準値よりも高い場合、車両１０６のドライバが観測値Ａ（ｔ）、Ｄ（ｔ）、Ｓ（ｔ）の状態でブレーキ操作を行う可能性が高いということになり、自動ブレーキ制御を行ったほうが良いということになる。
【００９８】
最後に、ブレーキ制御判定出力処理Ｓ８０４において、前述ブレーキ制御確率算出処理Ｓ８０３で計算した自動ブレーキ制御を行ったほうが良いかどうかの判定を、ブレーキＯｎ／Ｏｆｆ確率Ｂ（ｔ）の形式で、車両１０６に搭載された車両制御装置１１７に出力する。
【００９９】
次に、車両１０６に搭載された車両制御装置１１７で行われる処理について説明する。車両制御装置１１７は、カーブの手前でブレーキを制御して自車を減速させる自動ブレーキ制御を行うものであり、ステレオカメラ装置１０５の前方カーブ推定部１１３とブレーキ制御判定部１１６からのデータを受信する。
【０１００】
受信するデータの内容は、前方カーブ推定部１１３からは、車両１０６前方のカーブの線形に関するデータであり、図７のフローチャートの前方カーブ情報出力処理Ｓ７０７にて出力される。一方、ブレーキ制御判定部１１６から受信するデータは、車両１０６が自動ブレーキ制御を行う必要があるかどうかに関する確率データであり、図８のフローチャートのブレーキ制御判定出力処理Ｓ８０４にて出力される。
【０１０１】
車両制御装置１１７が持つＣＰＵは、これらのステレオカメラ装置１０５からのデータに基づき、自動ブレーキ制御を行うかどうかの信号を、図示していないブレーキ装置のアクチュエータに送信する。
【０１０２】
前方カーブ推定部１１３とブレーキ制御判定部１１６の両方のデータがある場合は、前方カーブ推定部１１３のデータに基づき、自動ブレーキ制御を行うかどうかが判断される。どちらか片方のデータがある場合は、受信したデータに基づき判断される。どちらからもデータがない場合は、自動ブレーキ制御は実行されない。
【０１０３】
上記したステレオカメラ装置１０５によれば、前方立体物検出部１１４による前方立体物１０１の検出結果に基づいて、道路１０２の遠距離部分の道路線形、もしくは道路１０２の遠距離部分と近距離部分の道路線形を推定することができる。従って、白線１０３や道路端立体物１０４の検出が難しい状況、あるいはその有無に影響を受けることなく、ブレーキ制御が必要なカーブに進入する手前で自動減速制御を行うことができる。
【０１０４】
また、前方立体物検出部１１４による前方立体物１０１の検出結果に基づいてブレーキ制御を行うか否かを判断するので、車両制御装置１１７では、ブレーキ制御が必要なカーブに進入する手前で自動ブレーキ制御を行うことができる。
【０１０５】
本発明は、上述の実施の形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々の変更が可能である。例えば、上述の実施の形態では、道路端立体物１０４の例としてガードレールの場合を説明したが、道路１０２との間に段差部を介して設けられた歩道を道路端立体物として検出してもよい。
【図面の簡単な説明】
【０１０６】
【図１】本実施の形態の概要を説明する図。
【図２】距離情報算出部で行われる処理の内容を示すフローチャート。
【図３】白線検出部で行われる処理の内容を示すフローチャート。
【図４】走行路面算出部で行われる処理の内容を示すフローチャート。
【図５】道路端検出部で行われる処理の内容を示すフローチャート。
【図６】前方立体物検出部で行われる処理の内容を示すフローチャート。
【図７】前方カーブ推定部で行われる処理の内容を示すフローチャート。
【図８】ブレーキ制御判定部で行われる処理の内容を示すフローチャート。
【図９】ステレオカメラ装置における左右画像の対応点に関して説明した図。
【図１０】左右画像の対応点の求め方を説明する図。
【図１１】ステレオカメラ装置において視差の算出の仕方を説明する図。
【図１２】距離画像の内容を説明する図。
【図１３】前方立体物の分布の求め方を説明する図。
【図１４】ブレーキ制御判定部にて行われる処理の内容について説明する図。
【図１５】白線の検出方法について説明する図。
【図１６】ｕｖ座標系からｘｚ座標系への変換に関して説明する図。
【図１７】道路線形の算出に関して説明する図。
【図１８】道路線形の算出に関して説明する図。
【符号の説明】
【０１０７】
１０１  前方立体物
１０２  道路
１０３  白線
１０４  道路端立体物
１０５  ステレオカメラ装置
１０６  車両
１０７  左撮像部
１０８  右撮像部
１０９  距離情報算出部
１１０  白線検出部
１１１  走行路面算出部
１１２  道路端検出部
１１３  前方カーブ推定部（道路線形推定部）
１１４  前方立体物検出部
１１５  ブレーキ制御学習データ
１１６  ブレーキ制御判定部
１１７  車両制御装置
【図１】
2010128949.tif 000003
【図２】
2010128949.tif 000004
【図３】
2010128949.tif 000005
【図４】
2010128949.tif 000006
【図５】
2010128949.tif 000007
【図６】
2010128949.tif 000008
【図７】
2010128949.tif 000009
【図８】
2010128949.tif 000010
【図９】
2010128949.tif 000011
【図１０】
2010128949.tif 000012
【図１１】
2010128949.tif 000013
【図１２】
2010128949.tif 000014
【図１３】
2010128949.tif 000015
【図１４】
2010128949.tif 000016
【図１５】
2010128949.tif 000017
【図１６】
2010128949.tif 000018
【図１７】
2010128949.tif 000019
【図１８】
2010128949.tif 000020