(57)【要約】  自車両が走行する車線を区分する車線区分標示を撮影する複数の撮影手段１１，１２と、複数の前記撮影手段によりそれぞれ生成された画像データのうち少なくとも１つの画像データから車線区分標示を検出する車線区分標示検出手段２４と、前記車線区分標示検出手段が検出した車線区分標示から道路形状を推定する道路形状推定手段２５と、前記道路形状推定手段が推定した道路形状に応じて、前記車線区分標示検出手段が車線区分標示を検出するために使用する画像データを決定する画像データ決定手段２６と、を有する車線区分標示検出装置１００を提供する。
2013186903.tif 000002
【特許請求の範囲】
【請求項１】
自車両が走行する車線を区分する車線区分標示を撮影する複数の撮影手段と、
複数の前記撮影手段によりそれぞれ生成された画像データのうち少なくとも１つの画像データから車線区分標示を検出する車線区分標示検出手段と、
前記車線区分標示検出手段が検出した車線区分標示から道路形状を推定する道路形状推定手段と、
前記道路形状推定手段が推定した道路形状に応じて、前記車線区分標示検出手段が車線区分標示を検出するために使用する画像データを決定する画像データ決定手段と、
を有する車線区分標示検出装置。
【請求項２】
前記画像データ決定手段は、前記道路形状推定手段が推定した道路形状が前方の道路が湾曲していることを示す場合、車幅方向に離間して車載された複数の前記撮影手段のうち湾曲方向に最も近い前記撮影手段が生成した画像データを前記車線区分標示検出手段が車線区分標示を検出するために使用する画像データに決定する、
ことを特徴とする請求項１記載の車線区分標示検出装置。
【請求項３】
前記道路形状推定手段は道路形状として道路の曲率を推定し、
前記画像データ決定手段は、道路の前記曲率が閾値以上の場合、複数の前記撮影手段のうち湾曲方向に最も近い前記撮影手段が生成した画像データを前記車線区分標示検出手段が車線区分標示を検出するために使用する画像データに決定する、
ことを特徴とする請求項２記載の車線区分標示検出装置。
【請求項４】
前記道路形状推定手段は道路形状として道路の曲率を推定し、
複数の前記撮影手段によりそれぞれ生成される複数の画像データのうち、前記車線区分標示検出手段が車線区分標示を検出するために優先的に使用する画像データが予め定められており、
前記車線区分標示検出手段が優先的に使用する画像データから車線区分標示を検出している場合、前記画像データ決定手段は、道路の前記曲率が閾値以上の場合、複数の前記撮影手段のうち湾曲方向に最も近い前記撮影手段が生成した画像データを前記車線区分標示検出手段が車線区分標示を検出するために使用する画像データに決定し、
前記車線区分標示検出手段が優先的に使用する画像データでない画像データから車線区分標示を検出している場合、道路の前記曲率が直線道路と見なせる程度に小さい場合、前記車線区分標示検出手段が優先的に使用する画像データを、車線区分標示を検出する画像データに決定する、
ことを特徴とする請求項２記載の車線区分標示検出装置。
【請求項５】
前記画像データ決定手段は、車線区分標示検出手段が検出した車線区分標示に加え、車両の舵角に基づき道路形状を推定する、
ことを特徴とする請求項１〜４いずれか１項記載の車線区分標示検出装置。
【請求項６】
前記車線区分標示検出手段が検出した車線区分標示の長さを算出する長さ算出手段を有し、
前記画像データ決定手段は、前記長さ算出手段が算出した自車両の左右の車線区分標示の長さの比較結果に応じて道路形状を推定する、
ことを特徴とする請求項１記載の車線区分標示検出装置。
【請求項７】
前記道路形状推定手段は、道路の幅、前記幅方向の自車両の位置、及び、車線区分標示に対するヨー角を推定する、
ことを特徴とする請求項１項記載の車線区分標示検出装置。
【請求項８】
車線区分標示検出装置と、運転支援装置とが車載ネットワークを介して接続された運転支援システムであって、
前記車線区分標示検出装置は、自車両が走行する車線を区分する車線区分標示を撮影する複数の撮影手段と、
複数の前記撮影手段によりそれぞれ生成された画像データのうち少なくとも１つの画像データから車線区分標示を検出する車線区分標示検出手段と、
前記車線区分標示検出手段が検出した車線区分標示から道路形状を推定する道路形状推定手段と、
前記道路形状推定手段が推定した道路形状に応じて、前記車線区分標示検出手段が車線区分標示を検出するために使用する画像データを決定する画像データ決定手段と、を有し、
前記運転支援装置は、前記道路形状推定手段が推定した、道路の幅、前記幅方向の自車両の位置、及び、車線区分標示に対するヨー角に基づき、自車両の車線逸脱防止支援を行う、ことを特徴とする運転支援システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、路面に標示された車線区分標示を検出する車線区分標示検出装置に関する。
【背景技術】
【０００２】
車載されたカメラで撮影した白線を利用して車線からの逸脱防止などの様々な運転支援を行う技術が知られている。また、白線を撮影するためのカメラとして距離情報を取得可能なステレオカメラが用いられる場合がある。ステレオカメラで撮影された白線を検出する場合、白線検出装置が白線を検出する方法として、
（１）白線検出用の画像を左のカメラが撮影した画像又は右のカメラが撮影した画像のいずれかに固定する方法
（２）左右のカメラで共通に撮影された画像領域から検出する方法
の２つの方法がある（例えば、特許文献１参照。）。特許文献１には、ステレオカメラにより撮影された画像から三次元位置情報を計算し、左右画像のそれぞれから道路面上に存在する白線を検出する画像処理装置が開示されている。【０００３】
しかしながら、ステレオカメラを用いた場合の従来の白線検出方法では、道路が湾曲（以下、「カーブ」という）している場合に、画像にて白線が撮影されている領域が狭くなるという問題がある。【０００４】
すなわち、上記の（１）のように、白線検出用のカメラを左に固定した場合、道路が右にカーブしていると右側の白線が撮影されている領域が狭くなり、白線検出用のカメラを右に固定した場合、道路が左にカーブしていると左側の白線が撮影されている領域が狭くなる。【０００５】
また、上記の（２）のように、白線検出装置が左右のカメラで共通に撮影された画像領域から検出する場合も同様であり、道路が右又は左のどちらかにカーブしていると、共通に撮影された画像領域において白線が撮影されている領域が狭くなる。【０００６】
図を用いて説明する。図１は、道路が左にカーブしている場合に、右カメラと左カメラのそれぞれで撮影された画像の一例を示す。図１（ａ）は左カメラの画像を、図１（ｂ）は右カメラの画像をそれぞれ示す。図示する状況で、右カメラが撮影した画像を白線検出用の画像に固定した場合、左側の遠方の白線を検出できない。【０００７】
また、左カメラの画像と右カメラの画像それぞれの点線内の領域が、左右のカメラで共通に撮影された領域である。したがって、左右のカメラで共通に撮影された画像領域から白線を検出する場合、同様に、左側の遠方の白線を検出できない。【０００８】
なお、このような問題は、ステレオカメラでは左右のカメラが車幅方向に離して配置され（左右のカメラが所定の基線長を有し）、右カメラは車幅方向の中央より右側に、左カメラは車幅方向の中央より左側にそれぞれ配置されるために生じている。
【特許文献１】特開２００９−０４１９７２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明は上記課題に鑑み、道路形状によらず車線区分標示の検出精度を向上できる車線区分標示検出装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明は、自車両が走行する車線を区分する車線区分標示を撮影する複数の撮影手段と、複数の前記撮影手段によりそれぞれ生成された画像データのうち少なくとも１つの画像データから車線区分標示を検出する車線区分標示検出手段と、前記車線区分標示検出手段が検出した車線区分標示から道路形状を推定する道路形状推定手段と、前記道路形状推定手段が推定した道路形状に応じて、前記車線区分標示検出手段が車線区分標示を検出するために使用する画像データを決定する画像データ決定手段と、を有する車線区分標示検出装置を提供する。
【発明の効果】
【００１１】
本発明によれば、道路形状によらず白線検出精度を向上できる車線区分標示検出装置を提供することができる。
【図面の簡単な説明】
【００１２】
【図１】道路が左にカーブしている場合に左右のカメラで撮影された画像の一例を示す図である。
【図２】白線検出装置の概略的な特徴を説明する図の一例である。
【図３】白線検出装置を含む運転支援システムの概略構成図の一例である。
【図４】カメラコンピュータの機能ブロック図の一例である。
【図５】平行化された右カメラの画像データと左カメラの画像データの一例を示す図である。
【図６】視差の探索を説明する図の一例である。
【図７】座標系を説明する図の一例である。
【図８】白線の検出を模式的に説明する図の一例である。
【図９】白線検出装置が白線を検出し、白線検出用のカメラを切り替える手順を示すフローチャート図の一例である。
【図１０】外側と内側の白線の長さの比較する示す図の一例である。
【図１１】カメラコンピュータの機能ブロック図の一例である。
【図１２】白線検出装置が白線を検出し、白線検出用のカメラを切り替える手順を示すフローチャート図の一例である。
【符号の説明】
【００１３】
１１    右カメラ
１２    左カメラ
１３    カメラコンピュータ
２１    ステレオ画像取得部
２２    歪補正・平行化部
２３    エッジ抽出部
２４    白線検出部
２５    走路パラメータ推定部
２６    処理画像切り換え部
２７    視差算出部
２９    白線長さ算出部
１００  白線検出装置
２００  運転支援ＥＣＵ
３００  作動デバイス
【発明を実施するための最良の形態】
【００１４】
以下、本発明を実施するための形態について図面を参照しながら説明する。【００１５】
図２は、本実施形態の白線検出装置の概略的な特徴を説明する図の一例である。白線検出装置では、初期設定として、左右のカメラのうち白線検出用のカメラが予め設定されている（Ｓ３）。例えば、初期設定として、右カメラを白線検出用のカメラとした場合、右カメラが撮影した画像から白線が検出されている。【００１６】
白線検出装置は、検出した白線から走路パラメータを推定する（Ｓ２）。走路パラメータには例えば道路の曲率や半径が含まれるので、白線検出装置は、現在の白線検出用（例えば初期設定）のカメラが配置されている側と反対方向に道路が湾曲（以下、カーブという）しているか否かを判定する（Ｓ３）。つまり、右カメラが現在の白線検出用のカメラである場合、白線検出装置１００は道路が左方向にカーブしているか否かを判定する。【００１７】
現在の白線検出用のカメラが配置されている側と反対方向に道路がカーブしている場合（Ｓ３のＹｅｓ）、白線検出装置は白線検出用のカメラを切り替える（Ｓ４）。つまり、右カメラが現在の白線検出用のカメラである場合、次の画像から左カメラが撮影した画像を白線検出用の画像とする。【００１８】
これにより、白線検出用の画像を撮影するカメラが右カメラ又は左カメラのいずれかに設定されており、道路が、現在の白線検出用のカメラが配置されている側と逆方向にカーブしても遠方の白線を検出することができる。なお、白線検出装置は、道路がカーブしているか否かの判定を継続し、現在の白線検出用のカメラが配置されている側と逆方向に道路がカーブしている場合、白線検出用のカメラを切り替える。この処理を繰り返すことで、道路形状に関係なく左右いずれかのカメラで撮影した画像から遠方の白線を検出できる。【００１９】
以下、実施例を挙げて説明する。なお、以下の実施例では、白線検出用のカメラを切り替えることと、白線検出用の画像を切り替えることを特に区別せずに記載している。
【実施例１】
【００２０】
〔構成例〕
図３は、白線検出装置１００を含む運転支援システムの概略構成図の一例を示す。運転支援システム５００では、ＣＡＮ（Controller Area Network）バスなどの車載ＬＡＮを介して互いに接続された白線検出装置１００、運転支援ＥＣＵ（Electronic Control Unit）２００及び作動デバイス３００を有している。白線検出装置１００は、特許請求の範囲の車線区分標示検出装置に相当する。【００２１】
白線検出装置１００は、後述する走路パラメータに加え、障害物までのターゲット情報などを運転支援ＥＣＵ２００に送信する。運転支援ＥＣＵ２００は走路パラメータやターゲット情報に基づき運転支援の必要性を判断し、作動デバイス３００に作動を要求する。作動デバイス３００は例えば、メータパネルの警報装置、電動パワーステアリング装置、及び、ブレーキアクチュエータなどである。【００２２】
走路パラメータは、例えば、道路の曲率（半径）、道路の車線幅、車線内での自車両の横位置、道路に対する自車両のヨー角等、である。運転支援ＥＣＵ２００は、車載ＬＡＮに接続された他のＥＣＵ、又は、センサーが検出した情報（例えば、車輪速、操舵角、ヨーレート等）を用いて運転支援を行う。走路パラメータを用いた運転支援としては、ＬＤＷ（Lane Departure Warning）やＬＫＡ（Lane Keeping Assist）などが知られている。ＬＤＷは、横位置、ヨー角及び車速から車線を逸脱するおそれがある場合に警報音や振動などで運転者に注意喚起する運転支援をいう。ＬＫＡは、自車両が車線内の目標走行線を走行するように、電動パワーステアリング装置を制御してステアリングシャフトに操舵トルクを加えたり、車輪毎の制動やエンジン出力を制御する運転支援形態である。目標走行線を走行するように操舵トルク、又は、車輪毎の制動やエンジン出力を制御する以外に、車線から逸脱するおそれがある際に車線を維持するように制御するＬＫＡもある。このように、白線を検出することで多様な運転支援が可能になる。【００２３】
また、ターゲット情報は、例えば、距離情報、相対速度、及び、方位（横位置）である。運転支援ＥＣＵ２００は、方位（横位置）から衝突のおそれがある障害物を抽出し、距離情報と相対速度から計算されたＴＴＣ（Ｔｉｍｅ  Ｔｏ  Ｃｏｌｌｉｓｉｏｎ）が所定値以下になると警報音を吹鳴したり減速するなどの運転支援を行う。【００２４】
白線検出装置１００は、右カメラ１１、左カメラ１２、及び、カメラコンピュータ１３を有している。右カメラ１１と左カメラ１２で１つのステレオカメラである。ステレオカメラは、例えば、光軸を車両前方に向けてルームミラーに配置されるが、ルーフトップなど別の場所に配置することもできる。右カメラ１１と左カメラ１２は、所定間隔（基線長）、車幅方向又は水平方向に離間して配置されている。右カメラ１１と左カメラ１２の前後位置、又は、高さ位置が一致していなくてもよい。右カメラ１１と左カメラ１２はそれぞれＣＣＤ又はＣＭＯＳ、裏面照射ＣＭＯＳなどの個体撮像素子を有している。右カメラ１１と左カメラ１２は輝度情報だけを取得するモノクロのカメラでも、カラーのカメラでもよい。【００２５】
右カメラ１１と左カメラ１２は、それぞれほぼ同時に車両前方の所定範囲を周期的に撮影する。路面に白線が標示されている場合、画像には白線が撮影されている。なお、本実施形態の白線とは、特許請求の範囲の車線区分標示に相当する。車線区分標示は、路面に白い色で標示されているものに限られず、例えば黄色や橙などの有彩色の線状標示を含む。また、白線は、切れ目なく続いている実線で標示されている線状標示に限られず、多くの点が続いて線状になっている点線、等間隔（又は異なる間隔毎）に実線に切れ目が入っている破線、などでもよい。点線の場合、例えばハフ変換することで直線に変換できる。また、白線は、平面的な標示に限られず、ボッツドッツなどのように路面に対し凸部を有していてもよい。ボッツドッツは、連続した（例えば等間隔の）点なので、点線と同様に線と見なせる。また、キャッツアイのように自車両のライトを反射したり自発光して車線間の境界を標示する道路鋲も、連続的に敷設されていれば、点線と同様に線と見なせる。【００２６】
カメラコンピュータ１３は、ＣＰＵ、ＲＯＭ、ＲＡＭ、ＣＡＮコントローラ、入出力Ｉ／Ｆ、及び、その他の一般的な回路を備えたコンピュータである。カメラコンピュータ１３は、後述するように、歪み補正・平行化、白線検出、走路パラメータの推定、及び、カメラ若しくは白線検出用の画像の切り替えなどを行う。【００２７】
〔カメラコンピュータの機能について〕
図４は、カメラコンピュータ１３の機能ブロック図の一例を示す。カメラコンピュータ１３は、ステレオ画像取得部２１、歪補正・平行化部２２、エッジ抽出部２３、白線検出部２４、走路パラメータ推定部２５、処理画像切り換え部２６、及び、視差算出部２７を有する。ステレオ画像取得部２１は、右カメラ１１が周期的に撮影した画像及び左カメラ１２が周期的に撮影した画像の画像データをそれぞれ取得し、バッファなどに記憶する。【００２８】
〔歪補正・平行化〕
歪補正・平行化部２２は、予め取得してあるカメラの外部パラメータ、及び、内部パラメータを用いて左右の画像の歪みを補正し、平行化する。内部パラメータは、例えば右カメラ１１と左カメラ１２それぞれのレンズの歪みや歪曲収差、撮像素子の歪み、焦点距離などをいう。レンズの歪みは、例えば、レンズの設計値に基づき生成された補正変換テーブルを参照して、画像データを補正することで低減される。歪曲収差は半径方向の歪曲収差のモデルを用いたパラメータ推定に基づき画像データを補正することで低減される。【００２９】
外部パラメータは、例えばカメラの取り付け位置と向きを数値化したものである。左右のカメラの取り付け位置（例えば高さ）及び向き（ピッチ、ロール、ヨー）にはわずかな違いがあるので、右カメラ１１と左カメラ１２の光軸も完全に高さが一致しかつ平行とならない場合がある。このため、この外部パラメータの違いによって、例えば、右カメラ１１と左カメラ１２の撮像系が光軸を中心に相対的に回転する場合がある。このような回転を低減するため、ステレオカメラでは、出荷前に車両メーカなどによりキャリブレーションされている。キャリブレーションでは、右カメラ１１と左カメラ１２でそれぞれ歪み校正用のチャートを撮影する。校正用のチャートは、市松模様状に正方形の白マスと黒マスが反転した格子が描かれている。例えば、左カメラ１２の画像の白黒のマスに、右カメラ１１の画像の白黒のマスが一致するように、画素同士の対応関係を特定する。対応関係はテーブルに登録され、例えば右カメラ１１の全画素に対応づけて、補正前の画素位置がどの画素位置に変換されるかが設定されている。【００３０】
図では、内部パラメータと外部パラメータに基づく左右の画像の歪み補正及び平行化するためのデータをルックアップテーブル２８としている。このように、歪補正及び平行化することで効率的な視差の探索が可能になる。【００３１】
図５（ａ）は、平行化された右カメラ１１の画像データと左カメラ１２の画像データの一例を示す図である。本実施形態では、道路座標系として、車幅方向をＸ軸、車高方向をＹ軸、及び、進行方向をＺ軸とする。座標Ｐ（ｘ，ｙ，ｚ）は左カメラ１２の画素Ｐｌと右カメラ１１の画素Ｐｒにそれぞれ映る。これらの対応については後述する。【００３２】
〔エッジ抽出〕
視差を検出する際には、画素Ｐｌに画素Ｐｒが対応することを探索する。２つの画像が平行化されていることが分かっているので、白線検出装置１００は、水平方向と平行にのみ画像データを探索すればよい。【００３３】
なお、視差探索は、歪補正・平行化部２２が平行化した左右の画像データに対し行ってもよいが、エッジ強調処理を行ってから視差探索することで探索が容易になる。そこで、エッジ抽出部２３は左右の画像からエッジを抽出する。エッジ抽出のフィルタは各種知られているが、例えばｓｏｂｅｌフィルタを使用する。【００３４】
図５（ｂ）はフィルタ処理の一例を示す図である。図５（ｂ）の上段は右カメラ１１の画像であり、図５（ｂ）の下段は左カメラ１２の画像である。それぞれ輝度画像から生成されたエッジ画像が図示されている。輝度画像には、白線、ガードレール、及び、木々などが撮影されているが、フィルタ処理により、右カメラ１１と左カメラ１２のエッジ画像は白線、ガードレール又は木々の端部が強調された（図では白い画素で示されている）画像になる。【００３５】
〔視差の検出〕
図６（ａ）は、視差の探索を説明する図の一例である。ここでは左の画像データの画素に着目して、右の画像データから左の画像データと一致する（相関性が最も高い又は一定以上の相関性を有する）領域を特定する。視差算出部２７は、着目している画素を含む領域（以下、ウィンドウという）毎に、ＳＡＤ（Sum of Absolute Difference）又はＳＳＤ（Sum of Squared Differences）を計算する。ＳＡＤは画素毎の画素値の差の絶対値の合計であり、ＳＳＤは画素毎の画素値の差の二乗和である。いずれも小さいほど、ウィンドウに含まれる画像の一致度が高いことを意味する。【００３６】
図示するように、（ｕ、ｖ）の画素に着目している場合、（ｕ、ｖ）の画素を中心とする矩形のウィンドウを生成し、右の画像からも（ｕ、ｖ）の画素を中心とするウィンドウを生成する。視差算出部２７は、左の画像のウィンドウと右の画像のウィンドウでＳＡＤ又はＳＳＤを算出すると、右の画像のウィンドウの全体を右に１ピクセル（画素）ずらしてＳＡＤ又はＳＳＤを算出することを繰り返す。つまり、平行化されているので、右の画像においてウィンドウをＶ軸方向にずらすことなく、１ピクセルずつU方向にずらせばよい。【００３７】
図６（ｂ）はU方向のずらし量（視差）とＳＡＤの関係の一例を示す。ずらし量に対しＳＡＤが極小値を示している。極小値を示す画素のずらし量が、左の画像で着目した画素（ｕ、ｖ）における視差である。【００３８】
U方向の探索範囲は予め定められているものとする。しかし、視差算出部２７は、右の画像のU方向の全ての画素に対してＳＡＤ又はＳＳＤを求めてもよいし、探索範囲を定めずにＳＡＤ又はＳＳＤが閾値以下の極小値を示した場合に、ＳＡＤ又はＳＳＤの算出を打ち切ってもよい。前者では最も確かな視差を求めることでき、後者ではある程度確からしい視差を効率的に求めることができる。【００３９】
なお、上記のように輝度画像から視差を求めてもよい。また、エッジ画像と輝度画像の両方から視差を求めてもよい。エッジ画像と輝度画像の両方を用いた場合、ＳＡＤ又はＳＳＤが極小となる画素のずらし量の平均を視差とするか、又は、エッジ画像と輝度画像に重み付けして視差を決定する。こうすることで、より正確に視差を求めることができる。【００４０】
視差算出部２７は、画素単位の整数視差に加え、サブピクセル視差を算出する。サブピクセル視差の求め方には、等角フィッティングやパラボラフィッティングなどが知られている。【００４１】
このように画素単位で視差が求められると、画素単位で、画素に映っている物までの距離を算出することができる。
距離＝（ｆ×ｍ）／（ｎ×ｄ）
ｆはレンズの焦点距離、ｍは基線長、ｎは視差（画素数）、ｄは撮像素子の画素ピッチである。【００４２】
〔白線検出〕
白線検出部２４は、右カメラ１１又は左カメラ１２が撮影した画像から白線を検出する。どちらの画像から白線を検出するかは、以下のように設定されている。
(i)  白線検出装置１００の起動直後（初期設定）、右カメラ１１の画像を白線検出用の画像とする場合
・走路パラメータから直線又は右カーブが検出された場合：右カメラ１１
・走路パラメータから左カーブが検出された場合：左カメラ１２
その後、走路パラメータから左カーブが検出されなくなった場合は、右カメラ１１に戻してもよいし左カメラ１２のままでもよい。
(ii)  白線検出装置１００の起動直後（初期設定）、左カメラ１２の画像を白線検出用の画像とする場合
・走路パラメータから直線又は左カーブが検出された場合：左カメラ１２
・走路パラメータから右カーブが検出された場合：右カメラ１１
その後、走路パラメータから右カーブが検出されなくなった場合は、左カメラ１２に戻してもよいし右カメラ１１のままでもよい。【００４３】
図７は、白線検出における座標系を説明する図の一例である。本実施形態では、上記のＸ，Ｙ，Ｚ方向の道路座標系と、画像データの平面座標を指定する平面座標系とを用いる。例えば、左カメラ１２のレンズの中心を原点として、左から右の水平方向をＸ軸、車両の高さ方向をＹ軸、車両の進行方向をＺ軸とする。平面座標系は、原点が道路座標系のＺ軸上にあり、Ｘ軸に平行なU軸、Ｙ軸に平面なＶ軸を有する座標系であるとする。【００４４】
焦点距離をｆ、座標を小文字ｘ、ｙ、ｚで表すと、道路座標系と平面座標系の変換式は以下のようになる。なお、物体までの距離ｚは焦点距離ｆよりも無視できる程度に大きいと仮定した。
ｖ＝−（ｙ／ｚ）・ｆ
ｕ＝（ｘ／ｚ）・ｆ
ステレオカメラの高さは固定なので、白線が標示されている路面までの高さも一定と見なすことができ、平面座標のｖから道路座標系のｚを求めることができる。また、ｖから求めたｚにおけるｘは、平面座標系のｕを用いて算出できる。【００４５】
また、白線検出には１つの画像しか用いないとしても、ステレオカメラにより各画素の距離情報ｚが求められるので、画素毎に既知のｚを用いれば、ｘ，ｙは一意に求めることができる。【００４６】
なお、本実施形態では右カメラ１１又は左カメラ１２のどちらも白線検出に用いられる可能性がある。このため、例えば、右カメラ１１又は左カメラ１２を基準に道路座標系と平面座標系を対応づけておき、基準でない方のカメラの画像を白線検出の対象とする場合は、基線長だけ道路座標系のＸ座標を補正する。すなわち、左カメラ１２を基準とした場合、右カメラ１１の画像を白線検出の対象とする場合、ｘ＝ｘ＋基線長とする。こうすることで、白線検出用のカメラを切り替えても、道路形状にずれが生じることを抑制できる。【００４７】
図８は、白線の検出を模式的に説明する図の一例である。図８（ａ）では、画像データ（平面座標系の白線）を模式的に示している。白線検出部２４は、エッジ抽出部２３が抽出したエッジのうち、エッジ強度が閾値以上の画素を特定する。図８（ａ）では左右の白線のそれぞれで、道路の輝度から白線の輝度に変化するエッジと、白線の輝度から道路の輝度に変化するエッジが求められている。なお、道路の中央には白線がないと推定して、白線の検出領域を画像の右側の一部と左側の一部にそれぞれ制限してもよい。これにより、カメラコンピュータ１３の処理負荷を低減できる。【００４８】
白線検出部２４は、画面の下から上にエッジ強度が閾値以上の画素を探索する。白線が直線でも画像には「ハ」の字状（下方の間隔が広く、上方の間隔が広い２本の直線状）に撮影されるので、それまで探索した複数のエッジを延長して探索を繰り返す。白線が存在すれば、左右の白線のそれぞれで画面の下から上方向にエッジが得られる。このエッジは、実線の白線が良好に撮影されていれば連続して検出され、点や破線であれば、間隔を置いて検出される。【００４９】
白線検出部２４は、ほぼ連続してエッジが検出されるか否か、又は、検出されない場合にはエッジの間隔が等間隔か否かなどを判定することで、エッジが白線の一部と推定できる否かを判定する。エッジが白線の一部であると判定した場合、左右それぞれの２本のエッジ線の幅を一般的な白線の幅と比較するなどして白線でないものを削除することで、左右にそれぞれ白線を検出する。なお、必ずしも左右に白線があるとは限らず、どちらかの白線しか検出されない場合がある。【００５０】
白線検出部２４は、道路座標系と平面座標系の対応式を用いて、エッジをＸＺ平面にプロットする（実際の処理でプロットする必要はなく、説明を容易にするための処理である）。図８（ｂ）は、ＸＺ平面の座標（ｘ，ｚ）に変換されたエッジを模式的に示す図の一例である。"×"がエッジに相当する。なお、図８（ａ）では１本の白線の両端でそれぞれエッジが検出されるが、道路モデルに近似されるエッジは１つとした方が、近似精度がよい場合がある。この場合、白線検出部２４は、１本の白線の内側、外側、又は、Ｘ方向の２つのエッジの中点などを算出し、ＸＺ平面にプロットする。【００５１】
〔走路パラメータの推定〕
走路パラメータ推定部２５は図８（ｂ）のエッジから走路パラメータを推定する。走路パラメータの推定にはいくつか方法がある。道路モデル式を用いて、複数のエッジ線の座標を代入し、最小二乗法により道路モデルの係数を特定する方法や、カルマンフィルタやパーティクルフィルタ等の最尤値推定手法を用いて、走路パラメータを推定する方法がある。【００５２】
道路モデルの一例として例えば以下のように定義する。
ｘ＝ｘ０＋θ×ｚ＋０．５×ｃ×ｚ２  …（１）
ｘ０は、右側の白線の走路パラメータを求める場合は、ＸＺ平面の原点から右側の白線までの距離ｘorであり、左側の白線の走路パラメータを求める場合は、ＸＺ平面の原点から左側の白線までの距離ｘolである。θは、右カメラ１１又は左カメラ１２の光軸と白線方向とのなす角（車両のヨー角）である。θは正面方向に対し右向きを正とする。ｃは道路の曲率である。ｃはＸＺ平面の定義から左カーブで負、右カーブで正となる。式（１）によれば、ｘ０を起点に、ヨー角によるずれを補正し（車両が右向きのヨーを有する場合、白線は左方向に傾斜して撮影されるのでその分を補正する）、曲率ｃをｚの二乗で作用させている。【００５３】
走路パラメータ推定部２５は、式（１）にＸＺ平面のエッジ線の座標（ｘ、ｚ）を代入し、最小二乗法でθとｃを求める。これにより、走路パラメータの内、ヨー角θと道路の曲率ｃ（半径Ｒ）を求めることができる。また、道路の車線幅Ｗは、ｘor＋ｘolから求めてもよいし、任意のｚ座標における白線のｘ値から求められる。車線の自車両の位置は、例えばレーンの中央位置をゼロ（基準）にして、Ｗ／２−ｘoｒにより表すことができる（右側を正とする場合）。【００５４】
なお、道路モデルを表す式としては、クロソイドモデル、Ｂ−スプラインモデルなど種々の式がある。本実施形態でもこれらを適用することができるが、右カーブか左カーブかを判別できる道路モデルを用いればよい。【００５５】
〔白線検出用の画像の切り替え〕
走路パラメータを求められた場合、処理画像切り換え部２６は道路曲率に基づき右カーブか左カーブかを判定し、切り替える必要があれば、白線検出部２４に白線検出に用いる画像を指示する。【００５６】
例えば、白線検出部２４が右カメラ１１の画像を白線検出に用いている場合、処理画像切り換え部２６は以下の条件が成立したか否かを判定する。曲率の絶対値がゼロより大きい場合はカーブしていると推定できる。
a．左カーブを検出したこと
b．左カーブの曲率の絶対値が閾値１以上であること
ｂの条件に閾値１がふくまれることで、緩やかな左カーブであれば、白線検出用のカメラを切り替える必要がない。走路パラメータ推定部２５が、例えばカルマンフィルタなどで走路パラメータを求めている場合、走路パラメータを安定して推定できるまでに何フレームかの画像データを必要とするので、白線検出用のカメラを切り替えないことで、安定した走路パラメータの検出を継続できる。【００５７】
上記の条件が成立して、白線検出部２４が左カメラ１２の画像を白線検出に用いている場合、処理画像切り換え部２６は以下の条件が成立したか否かを判定する。
c．右カーブを検出したこと
d．右カーブの曲率の絶対値が閾値１以上であること
以上のａ〜ｄのような条件によれば、左カメラ１２に切り替えた後は左カメラ１２の画像が白線検出用に継続して使用されやすくなる。再度、右カメラ１１に切り替えた後は右カメラ１１の画像が白線検出用に継続して使用されやすくなる。したがって、白線検出用のカメラが頻繁に切り替わることを防止できる。【００５８】
閾値１は、固定でもよいが、車速に応じて可変とすることも有効である。車速が大きい場合、遅い場合よりも早期にカーブに接近するので、白線検出装置１００には予め車速が大きいほど小さい閾値１が設定されている。よって、車速が大きい場合には、早期に、白線検出用の画像を切り替えることができる。【００５９】
また、メーカなどにより、白線検出部２４が優先的に右カメラ１１の画像を白線検出に用いることが好ましいと判断されている場合、ｄの条件を無視して（又は閾値１をより小さくして）、「c.直線又は右カーブを検出したこと」が成立したことだけで、右カメラ１１の画像を白線検出用に切り替えてもよい。ａ、ｂの条件は元のままである。これにより、例えば、左側の白線が実線でなく点線や破線であったり、細いなどの理由で検出が比較的、困難な国や地域では、ｂの条件により右カメラ１１の画像を白線検出用に優先的に用いることができる。【００６０】
逆に、優先的に左カメラ１２の画像を白線検出に用いることが好ましいとメーカなどにより判断されている場合、abとcdの条件が逆になる。すなわち、ｂの条件を無視して「a．直線又は左カーブを検出したこと」が成立したことだけで、左カメラ１２の画像を白線検出用に切り替える。【００６１】
また、白線検出部２４は、自車両の左右の白線があれば両方の白線を検出するが、左右の白線のいずれかがない場合、検出できない左右の白線の識別情報を処理画像切り換え部２６に通知する。この場合、処理画像切り換え部２６は、左カーブが検出されていても左の白線が検出されなければ、白線検出部２４に左カメラ１２への切り換えを指示しない。同様に、処理画像切り換え部２６は、右カーブが検出されていても右の白線が検出されなければ、白線検出部２４に右カメラ１１への切り換えを指示しない。こうすることで、合流レーンなどで左又は右の白線が途切れていたり、雨天で白線の検出が困難であったり、白線が劣化により検出困難であったり、他車両が駐車しているような状況で、白線検出用のカメラを切り替えることを防止できる。【００６２】
なお、左右の白線の両方が検出されない場合、処理画像切り換え部２６は白線検出用のカメラを切り替えるか否かを判定しない。【００６３】
〔動作手順〕
図９は、白線検出装置１００が白線を検出し、白線検出用のカメラを切り替える手順を示すフローチャート図の一例である。【００６４】
ステレオ画像取得部２１は、ステレオカメラの右カメラ１１と左カメラ１２がほぼ同時に撮影した画像を取得する（Ｓ１０）。なお、ステレオカメラが３つ以上のカメラを有していてもよい。この場合、白線検出装置１００は、３つのカメラのうち、白線が良好に検出された画像を特定し、視差を算出したり、走路パラメータを推定する。【００６５】
歪補正・平行化部２２は、例えばルックアップテーブル２８を用いて、右カメラ１１の画像及び左カメラ１２の画像に歪補正、及び、平行化処理を施す（Ｓ２０）。【００６６】
次に、エッジ抽出部２３は右カメラ１１の画像と左カメラ１２の画像のそれぞれにエッジの抽出処理を施し、白線検出部２４が右カメラ１１の画像又は左カメラ１２の画像のいずれかから白線を検出する（Ｓ３０）。なお、左カメラ１２の画像及び右カメラ１１の画像の両方から白線を検出することを禁止する必要はなく、両方の画像から白線を検出し、白線検出が良好に行われた方の画像から走路パラメータを推定してもよい。白線検出が良好に行われた画像とは、例えば、エッジ数が多い方の画像、エッジをＶ軸方向の線に変換する際に補間した距離が短い画像などである。【００６７】
次に、走路パラメータ推定部２５は検出された白線のエッジから走路パラメータを推定する（Ｓ４０）。【００６８】
処理画像切り換え部２６は、前方の道路が右又は左にカーブしているか否かを判定して、次の画像から白線検出用の画像を切り替える（Ｓ５０）。すなわち、右カメラ１１の画像が白線検出用の画像である場合、左カーブを検出すると左カメラ１２の画像を白線検出用の画像に切り替える。【００６９】
なお、走路パラメータに加え、運転者による操舵方向、操舵速度、及び、ヨーレートの１つ以上を道路のカーブ方向の判定に加えてもよい。運転者が道路に沿ってステアリングホイールを操舵する場合、ゆっくりと操舵を開始しクロソイド曲線に沿って徐々に操舵速度を大きくする。よって、一様な操舵方向に操舵速度が徐々に大きくなった場合に、前方が操舵方向にカーブしていることを推定できる。また、運転者の操舵による以外に、ＬＫＡ等が作動した場合の電動パワーステアリング装置による舵角等、車両自体の舵角によってもカーブ方向を推定できる。【００７０】
以上説明したように、本実施例の白線検出装置１００は、道路形状に応じて白線検出用の画像を切り替えることで、道路がカーブしていてもより遠方の白線を撮影でき、遠方の白線を検出することができる。遠方の白線を検出できるので走路パラメータの精度も向上させることができる。
【実施例２】
【００７１】
実施例１では走路パラメータからカーブの有無とカーブ方向を判定したが、本実施例では白線長に基づきカーブの有無とカーブ方向を判定する白線検出装置１００について説明する。【００７２】
道路がカーブしている場合、左右の白線のうち外側の白線は内側の白線より長い。
図１０は、外側と内側の白線の長さの比較する図の一例である。内周の円の半径をｒ、円弧を見込む所定の角度をφとする。内周の円弧の長さはｒφ、外周の円弧の長さは（ｒ＋Ｗ）φである。したがって、道路がカーブしている場合、外側の白線の長さはＷφだけ長いと予想される。よって、左右の白線の長さを比較すれば、カーブ方向を推定できる。【００７３】
図１１は、カメラコンピュータ１３の機能ブロック図の一例を示す。図１１では図４と異なる機能のうち主要な機能を説明する。本実施例のカメラコンピュータ１３は、白線長さ算出部２９を有している。【００７４】
白線長さ算出部２９は、図８（ｂ）のようにＸＺ平面に変換されたエッジ位置をＺ方向の最初のエッジから最後のエッジまで探索し、白線相当部分の長さを算出する。すなわち、白線として検出したエッジを下から上方向にＺ座標を大きくしながら検出し、エッジ間の距離を算出する。そして、各エッジ間の距離を合計する。これを左右の白線について行うことで、左右の白線の長さを求めることができる。【００７５】
このように、エッジ間の距離を算出して合計するのでなく、実施例１の道路モデルを利用して白線の長さを求めることもできる。道路モデルとエッジの座標から走路パラメータが分かっている場合、道路形状が（１）式のような関数で表せているので、次式から白線の長さが求められる。なお、積分範囲はＺ方向の最初のエッジから最後のエッジまである。
Ｌ＝∫√｛１＋（dx／dz）2｝dz
処理画像切り換え部２６は、左右の白線の長さが閾値２以上、異なる場合、前方にカーブがあることを検出する。すなわち、左側の白線の方が右側の白線よりも閾値２以上長い場合、右カーブであると判定し、右側の白線の方が左側の白線よりも閾値２以上長い場合、左カーブであると判定する。なお、実施例１と同様に、白線検出用とするカメラは重み付けしておくことができる。【００７６】
また、ＸＺ平面で比較するのでなく、ＵＶ平面の白線の長さを比較してもよい。道路がカーブしている場合、外周側のカーブは画面の対角線上に撮影されるので、この場合もカーブの外側の白線は長くなる。【００７７】
図１２は、白線検出装置１００が白線を検出し、白線検出用のカメラを切り替える手順を示すフローチャート図の一例である。図１２では、図９でのステップＳ４０が、ステップＳ４２に置き換わっている。【００７８】
ステップＳ４２において、白線長さ算出部２９は左右の白線の長さを算出する（Ｓ４２）。処理画像切り換え部２６は、左右の白線の長さを比較して、次の画像から白線検出用の画像を切り替える（Ｓ５０）。すなわち、右カメラ１１の画像が白線検出用の画像である場合、左カーブを検出すると左カメラ１２の画像を白線検出用の画像に切り替える。なお、実施例１と組み合わせ、走路パラメータと白線の長さの少なくとも一方から道路がカーブしていると判定された場合に、白線検出用のカメラを切り替えてもよい。【００７９】
以上説明したように、本実施例の白線検出装置１００は、白線の長さを算出することで道路形状を推定し白線検出用の画像を切り替えることができる。また、白線検出用の画像の切り替え方法を実施例により説明したが、本発明は上記実施例に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能である。
【図１】
2013186903.tif 000003
【図２】
2013186903.tif 000004
【図３】
2013186903.tif 000005
【図４】
2013186903.tif 000006
【図５】
2013186903.tif 000007
【図６】
2013186903.tif 000008
【図７】
2013186903.tif 000009
【図８】
2013186903.tif 000010
【図９】
2013186903.tif 000011
【図１０】
2013186903.tif 000012
【図１１】
2013186903.tif 000013
【図１２】
2013186903.tif 000014
【国際調査報告】
2013186903.tif 000015
2013186903.tif 000016
2013186903.tif 000017
2013186903.tif 000018