ここでは、下記の順序に従って本発明の実施の形態について説明する。
(1)ナビゲーション装置の構成:
(2)道路端検出処理:
(3)他の実施形態:
(1)ナビゲーション装置の構成:
図1は、本発明の一実施形態にかかる道路端検出システムを含むナビゲーション装置10の構成を示すブロック図である。ナビゲーション装置10は、車両に備えられている。ナビゲーション装置10は、制御部20と記録媒体30とを備えている。制御部20は、CPUとRAMとROM等を備え、記録媒体30やROMに記憶されたプログラムを実行する。記録媒体30は、地図情報30aと位置変換テーブル30bと判定値データ30cとを記録する。
地図情報30aは、道路上に設定されたノードの位置等を示すノードデータと、ノード同士を接続する道路に対応するリンクについての情報を示すリンクデータと、ノード同士を接続する道路の幅方向の中央線上に設定された形状補間点の位置等を示す形状補間点データとを含んでいる。3本以上のリンクが接続するノードは交差点に対応する。リンクデータは、道路の幅を示す情報と、道路上に形成された各レーンの本数および幅を示す情報とを含む。
位置変換テーブル30bは、車両の前方の投影空間内の位置と、前方画像内の位置との対応関係を規定したテーブルである。投影空間とは、車両の前方の実空間のうち、カメラ44が車両の前方の風景を撮影する際の視野内の空間である。前方画像とは、カメラ44が車両の前方の風景を撮影することによって生成される画像である。位置変換テーブル30bは、カメラ44の光学的な仕様(画角、光軸方向、光学倍率等)に基づいて作成され、予め記録媒体30に記録されている。制御部20は、位置変換テーブル30bによって投影空間内の任意の位置を変換することにより、当該任意の位置に存在する物体の像が前方画像内において投影される位置を取得する。反対に、制御部20は、位置変換テーブル30bによって前方画像内の任意の位置を変換することにより、当該任意の位置に像が投影される物体の投影空間内の位置を取得する。
車両は、GPS受信部41と車速センサ42とジャイロセンサ43とカメラ44とディスプレイ45とを備える。GPS受信部41は、GPS衛星からの電波を受信し、車両の位置を算出するための信号を制御部20に出力する。車速センサ42は、車両が備える車輪の回転速度に対応した信号を制御部20に出力する。ジャイロセンサ43は、車両に作用する角加速度に対応した信号を制御部20に出力する。
カメラ44は、前方画像を生成するイメージセンサである。カメラ44が生成した前方画像は、制御部20に出力される。カメラ44は、水平方向において光軸に関して対称な光学系を有する。カメラ44は、車両の幅方向の中央位置に備えられており、光軸が車両の進行方向と一致する。
図2Aは前方画像を示す図である。前方画像における横方向(前方画像の水平方向)は道路およびレーンの幅方向に対応し、前方画像の下辺の中点Pが車両の現在位置(カメラ44の位置)に対応する。また、カメラ44の光軸の方向は水平方向となっており、無限遠の水平面を撮影した場合に、地平線は前方画像の縦方向の二等分線上に表れる。カメラ44の光軸よりも低い位置に存在する物体の像は、地平線よりも下方に表れ、車両から前方に遠い位置に存在する物体の像ほど、前方画像の縦方向(前方画像の垂直方向)の上方に位置する。カメラ44の光軸よりも高い位置に存在する物体の像は、地平線よりも上方に表れ、車両から前方に遠い位置に存在する物体の像ほど、前方画像の縦方向の下方に位置する。実空間において水平な道路面に対して垂直な線の像は、前方画像の縦方向の線として表れる。本実施形態では、車両が現在走行している直線状の走行道路上に4本のレーンが形成されており、左から2番目のレーン上を車両が走行していることとする。なお、走行道路の右側には対向道路が存在する。走行道路と対向道路とは、車両の走行方向が互いに反対となる道路であり、互いに平行となるように設けられた道路である。
制御部20は、GPS受信部41、車速センサ42、及びジャイロセンサ43等から出力された信号や地図情報30aに基づいて、公知のマップマッチングを行う。これにより、制御部20は、走行道路の幅方向の中央線上において車両の現在位置を特定する。さらに、制御部20は、ジャイロセンサ43からの出力信号等に基づいて車両の進行方向を特定する。
ディスプレイ45は、制御部20から出力された映像信号に基づいて各種運転支援を行うためのナビゲーション画像を出力する映像出力装置である。
制御部20は、道路端検出プログラム21とナビゲーションプログラム22とを実行する。道路端検出プログラム21は、候補線認識部21aと領域設定部21bと垂直エッジ検出部21cと判定部21dとを含む。
候補線認識部21aは、前方画像において道路端線の候補となる候補線を認識する機能を制御部20に実行させるモジュールである。候補線認識部21aの機能により制御部20は、前方画像において特徴点を検出し、前方画像上に存在する複数の特徴点を通過するもっともらしい線を候補線として認識する。まず、制御部20は、前方画像のうち下辺から所定高さHまでの範囲において一定の間隔Yごとに横方向の補助直線Sを生成する。そして、制御部20は、補助直線S上の各画素の輝度を取得し、当該輝度の傾きの絶対値が所定の閾値以上の箇所を特徴点として検出する。所定高さHは、例えば縦方向における前方画像の二等分線(地平線)よりも下方に設定される。これにより、道路面に対応する前方画像内の領域にて特徴点を検出できる。輝度の傾きとは、前方画像の横方向における単位距離あたりの輝度の変化量を意味する。
図2Bは、図2Aにおいて最も下方に生成された補助直線S上の各画素の輝度を示すグラフである。図2Bにおいて、縦軸は輝度を示し、横軸は前方画像の横方向における画素の位置を示す。候補線認識部21aの機能により制御部20は、補助直線Sのそれぞれについて、輝度の傾きの絶対値が閾値以上となっている箇所を特徴点として検出する。
図2Cは、前方画像における特徴点K(黒丸)の分布を示す図である。輝度の傾きの絶対値が閾値以上となる箇所は、道路上に形成されたレーンの区画線の像Dの輪郭線上の位置となる。なお、本実施形態において、輝度の傾きの絶対値の閾値は、レーンの区画線の像D(白色または黄色の画素領域)と路面(黒色の画素領域)との輪郭線を判定できる値に設定されていることとする。従って、特徴点Kは、理想的にレーンの区画線の像Dの輪郭線上に表れる。ここで、走行道路上のレーンの区画線には、レーン同士を区画する区画線のほかに、レーンと路側帯とを区画する区画線とが含まれる。本実施形態において、レーンと路側帯とを区画する走行道路上の区画線は、走行道路の幅方向の端の線に相当する。すなわち、走行道路においてレーンと路側帯とを区画する区画線の像Dは、道路端線に相当する。
候補線認識部21aの機能により制御部20は、各補助直線S上にて検出した複数の特徴点Kからの距離を最小とする近似直線を候補線C(実線)として認識する。制御部20は、最小自乗法等の公知の近似線算出手法によって近似直線を算出する。以上の構成において、区画線の像Dの輪郭線上に表れた特徴点Kの近傍を通過する線、すなわち区画線の像D上の線が候補線Cとして認識される。図2A,2Cの例では、走行道路のレーンの区画線の像D上に候補線C(4本)が認識され、さらに対向道路のレーンの区画線の像D上にも候補線C(1本)が認識されている。
なお、候補線認識部21aの機能により制御部20は、形状補間点データに基づいて走行道路の形状を特定し、走行道路が湾曲している場合には、複数の特徴点Kについての近似直線ではなく近似曲線を候補線Cとして認識してもよい。候補線Cは複数の特徴点Kを近似した線であるため、ノイズ上に特徴点Kが検出された場合でも、ノイズ上の特徴点Kの影響が少ない候補線Cを認識できる。なお、本実施形態では、区画線ごとに候補線Cが認識できればよい。従って、区画線の幅に対応する横方向の範囲内に複数の特徴点Kが検出された場合に、制御部20は、当該範囲内の複数の特徴点Kの平均位置に単一の特徴点Kを検出してもよい。候補線認識部21aの機能により制御部20は、他の手法によって候補線Cを認識してもよく、ハフ変換等の公知の線認識手法によって候補線Cを認識してもよい。
領域設定部21bは、候補線Cよりも道路の幅方向の中央側の領域である内側領域Iと、候補線Cよりも道路の幅方向の中央の反対側の領域である外側領域Oとを、前方画像において設定する機能を制御部20に実行させるモジュールである。図3Aは、前方画像において設定された内側領域I(右肩上がりハッチング)と外側領域O(右肩下がりハッチング)とを示す図である。領域設定部21bの機能により制御部20は、処理対象の候補線Cを1個ずつ選択していき、候補線Cごとに2個の領域(内側領域I,外側領域O)を設定する。なお、走行道路上を走行する車両(カメラ44)は、走行道路の幅方向の端よりも走行道路の中央側を走行するため、前方画像の横方向の中央側が道路の幅方向の中央側であると見なすことができる。従って、制御部20は、処理対象の候補線Cが前方画像の横方向の中央よりも左側に存在している場合、当該候補線Cの右側に内側領域Iを設定し、当該候補線Cの左側に外側領域Oを設定する。反対に、制御部20は、処理対象の候補線Cが前方画像の横方向の中央よりも右側に存在している場合、当該候補線Cの左側に内側領域Iを設定し、当該候補線Cの右側に外側領域Oを設定する。なお、制御部20は、前方画像の下辺の中点Pよりも左側にて候補線Cが当該下辺に交差している場合、候補線Cが前方画像の横方向の中央よりも左側に存在していると判定し、下辺の中点Pよりも右側にて候補線Cが当該下辺に交差している場合、候補線Cが前方画像の横方向の中央よりも右側に存在していると判定する。
領域設定部21bの機能により制御部20は、候補線Cよりも道路の幅方向の中央側に存在する1レーン分の領域を内側領域Iとして設定する。具体的に、領域設定部21bの機能により制御部20は、前方画像おいて認識したレーンの像であって、候補線Cを道路の幅方向の中央の反対側の境界線として有する領域を内側領域Iとして設定する。本実施形態において、候補線Cはレーンの区画線の像Dであるため、前方画像において隣り合う2本の候補線Cによって挟まれた領域が、前方画像において認識したレーンの像を構成する。従って、制御部20は、処理対象の候補線Cが前方画像の横方向の中央よりも左側に存在している場合、右側において処理対象の候補線Cに隣り合う他の候補線Cを特定し、処理対象の候補線Cと当該他の候補線Cとによって挟まれた領域を内側領域Iとして設定する。反対に、制御部20は、処理対象の候補線Cが前方画像の横方向の中央よりも右側に存在している場合、左側において処理対象の候補線Cに隣り合う他の候補線Cを特定し、処理対象の候補線Cと当該他の候補線Cとによって挟まれた領域を内側領域Iとして設定する。
図3Aにおいては、最も左側の候補線C、および、右から3番目の候補線Cがそれぞれ処理対象として選択された場合に設定される内側領域Iが示されている。最も左側の候補線Cは前方画像の下辺の中点Pよりも左側に存在するため、最も左側の候補線Cと当該候補線Cに対して右側に隣り合う候補線Cとによって挟まれた領域が、最も左側の候補線Cが処理対象である場合の内側領域Iとして設定される。右から3番目の候補線Cは前方画像の下辺の中点Pよりも右側に存在するため、右から3番目の候補線Cと当該候補線Cに対して左側に隣り合う候補線Cとによって挟まれた領域が、右から3番目の候補線Cが処理対象である場合の内側領域Iとして設定される。
一方、領域設定部21bの機能により制御部20は、候補線Cよりも道路の幅方向の中央の反対側に存在する1レーン分の領域を外側領域Oとして設定する。具体的に、領域設定部21bの機能により制御部20は、1レーン分の幅を有する仮想の領域であって、候補線Cを道路の幅方向の中央側の境界線として有する領域を外側領域Oとして設定する。本実施形態において、制御部20は、処理対象の候補線Cよりも道路の幅方向の中央の反対側に仮想線V(破線)を生成し、当該仮想線Vと処理対象の候補線Cとによって挟まれた領域を外側領域Oとして特定する。制御部20は、処理対象の候補線Cに対応する区画線と仮想線Vに対応する線とが実空間において1レーン分の幅だけ離れて互いに平行となるように、仮想線Vを生成する。すなわち、制御部20は、位置変換テーブル30bに基づいて処理対象の候補線Cと仮想線Vとをそれぞれ実空間内における線に変換した場合に、変換後の2本の線が1レーン分の幅だけ離れて互いに平行となるように、前方画像にて仮想線Vを生成する。また、処理対象の候補線Cが前方画像の横方向の中央よりも左側に存在している場合、制御部20は、処理対象の候補線Cよりも左側に仮想線Vを生成する。反対に、処理対象の候補線Cが前方画像の横方向の中央よりも右側に存在している場合、制御部20は、処理対象の候補線Cよりも右側に仮想線Vを生成する。なお、1レーン分の幅とは、走行道路上に形成されたレーンの幅であり、地図情報30aのリンクデータに基づいて取得できる。
図3Bは、仮想線Vと候補線Cとに対応する実空間内の線を示す道路の平面図である。同図において、最も左側の候補線C、および、右から3番目の候補線Cがそれぞれ処理対象として選択された場合に、仮想線Vを生成する様子を示す。最も左側の候補線Cは前方画像の下辺の中点Pよりも左側に存在するため、最も左側の候補線Cが処理対象の場合、最も左側の候補線Cよりも左側において当該候補線Cと仮想線Vとがリンクデータに基づくレーンの幅Wだけ隔てて平行となるように仮想線Vが生成される。右から3番目の候補線Cは前方画像の下辺の中点Pよりも右側に存在するため、右から3番目の候補線Cが処理対象の場合、右から3番目の候補線Cよりも右側において当該候補線Cと仮想線Vとがレーンの幅Wだけ隔てて平行となるように仮想線Vが生成される。
なお、領域設定部21bの機能により制御部20は、車両(カメラ44)の前方の無限遠の範囲に対応するように内側領域Iと外側領域Oとを設定してもよい。すなわち、制御部20は、内側領域Iや外側領域Oの横方向の境界線を構成する候補線Cや仮想線Vの消失点Zの高さまで内側領域Iと外側領域Oとを設定してもよい。また、車両(カメラ44)の前方所定距離以内の範囲に対応するように内側領域Iと外側領域Oとを設定してもよい。制御部20は、前方画像における消失点Zよりも低い高さに設けられた上限線X(一点鎖線)を上辺とするように内側領域Iと外側領域Oとを設定してもよい。
垂直エッジ検出部21cは、道路の路面に対して垂直な垂直エッジを、内側領域Iと外側領域Oとのそれぞれにおいて検出する機能を制御部20に実行させるモジュールである。垂直エッジ検出部21cの機能により制御部20は、公知のエッジ検出手法(Sobel,LaplacIn,Canny等)によって、前方画像においてエッジを検出する。制御部20は、前方画像に存在する線状のエッジのうち、所定の角度範囲内のエッジを垂直エッジとして検出する。本実施形態において、垂直エッジの角度範囲は、前方画像の縦方向から所定の誤差角度(例えば5度)以内の範囲である。なお、前方画像の歪曲特性等に基づいて、前方画像内の位置ごとに垂直エッジの角度範囲を設定してもよい。垂直エッジ検出部21cの機能により制御部20は、車両の前方を走行する他車両の像を構成するエッジを垂直エッジEとして検出しないようにしてもよい。例えば、制御部20は、複数の車種の車両のそれぞれを背面から撮影した画像にて検出したエッジの分布を示すテンプレートデータを記録媒体30に記録しておき、当該テンプレートデータが示すエッジとマッチするるエッジについては、垂直エッジEとして検出するエッジから除外してもよい。
また、制御部20は、横方向における画像の変化点をエッジとして検出するフィルタを用いて垂直エッジを検出してもよい。本実施形態において、垂直エッジ検出部21cの機能により制御部20は、内側領域Iと外側領域Oとが設定され得る前方画像の全体において垂直エッジEを検出しておく。
判定部21dは、内側領域Iにおける垂直エッジEの検出結果と、外側領域Oにおける垂直エッジEの検出結果とに基づいて、候補線Cが道路端線であるか否かを判定する機能を制御部20に実行させるモジュールである。すなわち、判定部21dの機能により制御部20は、処理対象の候補線Cに関して設定された内側領域Iにおける垂直エッジEの検出結果と、当該処理対象の候補線Cに関して設定された外側領域Oにおける垂直エッジEの検出結果とに基づいて、当該処理対象の候補線Cが真に道路端線であるか否かを判定する。本実施形態において、制御部20は、内側領域Iと外側領域Oとのそれぞれにおいて検出された垂直エッジEの本数を垂直エッジEの検出結果として取得する。
具体的に、判定部21dの機能により制御部20は、内側領域Iにおける垂直エッジEの検出結果が所定の内側条件を満足し、かつ、外側領域Oにおける垂直エッジEの検出結果が所定の外側条件を満足する場合に、候補線Cが走行道路の道路端線であると判定する。すなわち、制御部20は、処理対象の候補線Cに関して設定された内側領域Iにおける垂直エッジEの検出結果が道路の像における垂直エッジEの検出結果として適正であり、かつ、当該処理対象の候補線Cに関して設定された外側領域Oにおける垂直エッジEの検出結果が道路外の部分の像における垂直エッジEの検出結果として適正である場合に、当該処理対象の候補線Cが真に走行道路の道路端線であると判定する。本実施形態において、候補線Cが真に道路端線であるとは、候補線Cが走行道路上のレーンと路側帯とを区画する区画線の像Dであることを意味する。
具体的に、判定部21dの機能により制御部20は、処理対象の候補線Cに関して設定された内側領域Iにおいて検出された垂直エッジEの本数が内側判定値(例えば1本)未満である場合に、内側領域Iにおける垂直エッジEの検出結果が適正であり、内側条件を満足すると判定する。なお、内側領域Iにおいて検出された垂直エッジEとは、内側領域Iに下端が存在する垂直エッジEである。一方、判定部21dの機能により制御部20は、処理対象の候補線Cに関して設定された外側領域Oにおいて検出された垂直エッジEの本数が外側判定値(例えば2本)以上である場合に、外側領域Oにおける垂直エッジEの検出結果が適正であり、外側条件を満足すると判定する。なお、外側領域Oにおいて検出された垂直エッジEとは、外側領域Oに下端が存在する垂直エッジEである。内側判定値と外側判定値とは判定値データ30cに記録されており、制御部20は、判定値データ30cから内側判定値と外側判定値とを取得する。
本実施形態において、道路端線が既知の前方画像における1レーン分のレーンの像内に存在する垂直エッジEの本数を多数のレーンについて調査し、当該調査した垂直エッジEの本数が内側判定値未満となる確率が閾値(例えば、95%)以上となるように内側判定値が設定されている。内側領域Iにおける垂直エッジEの本数が内側判定値未満であることは、内側領域Iにおける垂直エッジEの検出結果が確率的に適正であると言える。一方、道路端線が既知の前方画像おいて当該既知の道路端線に関して外側領域Oを設定し、当該外側領域O内に存在する垂直エッジEの本数を多数調査し、当該調査した垂直エッジEの本数が外側判定値以上となる確率が閾値(例えば、95%)以上となるように外側判定値が設定されている。外側領域Oにおける垂直エッジEの本数が外側判定値以上であることは、外側領域Oにおける垂直エッジEの検出結果が確率的に適正であると言える。
制御部20は、以上のように処理対象の候補線Cを順に選択することにより、処理対象の候補線Cが真に道路端線であるか否かを判定する処理を各候補線Cについて実行する。
これにより、走行道路上のレーンと左側の路側帯とを区画する区画線の像Dを処理対象の候補線Cとして選択した場合、および、走行道路上のレーンと右側の路側帯とを区画する区画線の像Dを処理対象の候補線Cとして選択した場合、処理対象の候補線Cが真に走行道路の道路端線であると判定できる。
図3Aに示すように、最も左側の候補線Cが処理対象の場合、外側領域Oにおける垂直エッジの本数が外側判定値(例えば2本)以上と判定され、内側領域Iにおける垂直エッジの本数が内側判定値(例えば1本)未満と判定されるため、外側条件と内側条件の双方を満足することとなる。従って、制御部20は、最も左側の候補線Cが真に走行道路の道路端線であると判定する。一方、右から3番目の候補線Cが処理対象の場合、外側領域Oにおける垂直エッジの本数が外側判定値以上と判定されず、外側条件を満足しないこととなる。従って、制御部20は、右から3番目の候補線Cが真に走行道路の道路端線であると判定しない。なお、最も右の候補線Cが処理対象の場合、最も右の候補線Cと右から2番目の候補線Cとによって挟まれた内側領域Oにおける垂直エッジ(木の像の輪郭線)の本数が内側判定値未満と判定されず、内側条件を満足しないこととなる。従って、対向道路上の区画線の像Dを走行道路の道路端線として誤検出することを防止できる。
ナビゲーションプログラム22は、前方画像にて検出された道路端線を利用して運転支援を行う機能を制御部20に実行させるプログラムである。ナビゲーションプログラム22の機能により制御部20は、前方画像の下辺上における中点Pと道路端線との距離に基づいて、道路の幅方向の端から車両までの距離を算出し、当該距離と地図情報30aのリンクデータが示す走行道路とレーンの幅とに基づいて車両が走行している走行レーンを特定する。そして、制御部20は、走行レーンに基づいて運転支援を行う。例えば、制御部20は、公知の経路探索手法によって探索した走行予定経路と走行レーンとに基づいて、走行予定経路を走行するためにレーン変更が必要か否かを判定し、レーン変更が必要である場合にはレーン変更の必要性を案内してもよい。
以上説明した本実施形態において、制御部20は、まず前方画像において候補線Cを認識するとともに、当該認識した候補線Cが真に道路端線であるか否かを判定する。候補線が真に走行道路の道路端線であるのであれば、内側領域Iは道路の像であり、外側領域Oは道路外の部分の像となる。従って、内側領域Iでは道路の像における垂直エッジEの検出結果として適正な垂直エッジEの検出結果が得られ、外側領域Oでは道路外の部分の像における垂直エッジEの検出結果として適正な垂直エッジEの検出結果が得られることとなる。そのため、内側領域Iにおける垂直エッジEの検出結果と、外側領域Oにおける垂直エッジEの検出結果とに基づいて、候補線Cが真に道路端線であるか否かを判定できる。
また、道路端線の位置は、垂直エッジEの検出位置ではなく、あくまでも画像において認識した候補線Cの位置によって定まる。従って、前方画像上のノイズの影響を受けやすい垂直エッジEの検出位置によって、不正確な位置にて道路端線が検出されることを防止できる。画像における線(候補線C)の認識においては、画像上に存在する複数の特徴点Kの近似直線を認識する手法が採られるため、前方画像上のノイズの影響を抑制しつつ正確に候補線Cを認識できる。さらに、候補線Cの認識と、垂直エッジEの検出とは、単一の前方画像において行うことができる。従って、単一の前方画像に基づいて道路の端を正確に検出できる。
さらに、制御部20は、内側領域Iにおける垂直エッジEの検出結果が所定の内側条件を満足し、かつ、外側領域Oにおける垂直エッジEの検出結果が所定の外側条件を満足する場合に、候補線Cが走行道路の道路端線であると判定している。これにより、内側領域Iと外側領域Oの一方のみの垂直エッジEの検出結果が適正である場合に候補線Cが真に走行道路の道路端線であると判定するよりも、道路端線の信頼性を向上させることができる。
領域設定部21bの機能により制御部20は、候補線Cよりも道路の幅方向の中央側に存在する1レーン分の領域を内側領域Iとして設定し、候補線Cよりも道路の幅方向の中央の反対側に存在する1レーン分の領域を外側領域Oとして設定している。これにより、垂直エッジEの検出結果が適正であるか否かを判定する領域を1レーン分の大きさで正規化することができる。すなわち、内側領域Iと外側領域Oにおける垂直エッジEの検出結果が、内側領域と外側領域の大きさに依存することを防止し、垂直エッジEの検出結果が内側条件と外側条件とを満足するか否かを正確に判定できる。
具体的に、領域設定部21bの機能により制御部20は、前方画像おいて認識したレーンの像であって、候補線Cを道路の幅方向の中央の反対側の境界線として有する領域を内側領域Iとして設定している。道路の幅方向の端の線よりも道路の幅方向の中央側には道路上のレーンが存在するため、現実に認識した区画線の像D(候補線C)によって挟まれたレーンの像を内側領域Iとして設定することにより、正確に1レーン分の領域を内側領域Iとして設定できる。一方、道路の幅方向の端の線よりも道路の幅方向の中央の反対側には道路上のレーンが存在しない。従って、候補線Cが真に道路端線であれば、候補線Cよりも道路の幅方向の中央の反対側においてレーンの像を認識することはできない。これに対して、制御部20は、1レーン分の幅を有する仮想の領域を外側領域Oとして設定することにより、候補線Cが真に道路端線である場合でも1レーン分の領域を外側領域Oとして設定できる。
(2)道路端検出処理:
図4は、道路端検出処理のフローチャートである。道路端検出処理は、前方画像の撮影周期ごとに実行される処理である。ナビゲーション装置10は、1枚の前方画像の撮影されるごとに、当該1枚の前方画像において道路端線を検出する。まず、候補線認識部21aの機能により制御部20は、カメラ44にて撮影された前方画像を取得する(ステップS100)。
次に、候補線認識部21aの機能により制御部20は、前方画像において道路端線の候補となる候補線Cを認識する(ステップS105)。具体的に、制御部20は、前方画像のうち下辺から所定高さHまでの範囲において一定の間隔Yごとに生成した横方向の補助直線S(破線)上において、輝度の傾き(横方向における単位距離あたりの輝度の変化量)が閾値以上となる特徴点Kを検出する。そして、制御部20は、検出した複数の特徴点Kの近似直線を候補線Cとして認識する。本実施形態では、輝度の傾きの閾値がレーンの区画線の輪郭線を判定する値に設定されているため、レーンの区画線の像Dが候補線Cとして認識される。
次に、候補線認識部21aの機能により制御部20は、候補線Cが1本でも認識できたか否かを判定する(ステップS110)。候補線Cが1本も認識できなかったと判定した場合(ステップS110:N)、候補線認識部21aの機能により制御部20は、現在の前方画像にて道路端線を検出することができないとして、道路端検出処理を終了させ、次に前方画像が撮影されるまで待機する。
一方、候補線Cが1本でも認識できたと判定した場合(ステップS110:Y)、垂直エッジ検出部21cの機能により制御部20は、公知のエッジ検出手法によって、前方画像において垂直エッジEを検出する(ステップS115)。すなわち、垂直エッジ検出部21cの機能により制御部20は、内側領域Iと外側領域Oとが設定され得る前方画像の全体において、線状のエッジであって前方画像の縦方向から所定の誤差角度以内のエッジを予め垂直エッジEとして検出しておく。次に、領域設定部21bの機能により制御部20は、公知のマップマッチングにより車両が現在走行している走行道路と現在位置とを取得する(ステップS120)。さらに、領域設定部21bの機能により制御部20は、処理対象の候補線Cを選択する(ステップS125)。例えば、制御部20は、前方画像の左から順に処理対象の候補線Cを選択してもよい。
次に、領域設定部21bの機能により制御部20は、処理対象の候補線Cに関して外側領域Oを設定する(ステップS130)。具体的に、領域設定部21bの機能により制御部20は、処理対象の候補線Cよりも道路の幅方向の中央の反対側に仮想線Vを生成し、当該仮想線Vと処理対象の候補線Cとによって挟まれた領域を外側領域Oとして特定する。処理対象の候補線Cに対応する区画線と、仮想線Vに対応する線とは、実空間において1レーン分の幅だけ離れて互いに平行となる。なお、制御部20は、候補線Cが前方画像の横方向の中央よりも右側に存在している場合、候補線Cの右側に仮想線Vを生成し、候補線Cが前方画像の横方向の中央よりも左側に存在している場合、候補線Cの左側に仮想線Vを生成する。
次に、判定部21dの機能により制御部20は、外側領域Oにおける垂直エッジEの検出結果が所定の外側条件を満足するか否かを判定する(ステップS135)。具体的に、制御部20は、前方画像の全体において検出された垂直エッジEのうち処理対象の候補線Cに関して設定された外側領域Oにて下端が検出された垂直エッジEの本数を取得するとともに、記録媒体30の判定値データ30cから外側判定値を取得する。そして、制御部20は、外側領域Oにて検出された垂直エッジEの本数が外側判定値以上である場合に、外側領域Oにおける垂直エッジEの検出結果が外側条件を満足すると判定する。
外側領域Oにおける垂直エッジEの検出結果が所定の外側条件を満足すると判定した場合(ステップS135:Y)、領域設定部21bの機能により制御部20は、処理対象の候補線Cに関して内側領域Iを設定する(ステップS140)。具体的に、領域設定部21bの機能により制御部20は、前方画像おいて認識したレーンの像であって、処理対象の候補線Cを道路の幅方向の中央の反対側の境界線として有する領域を内側領域Iとして設定する。制御部20は、処理対象の候補線Cが前方画像の横方向の中央よりも左側に存在している場合、右側において処理対象の候補線Cに隣り合う他の候補線Cを特定し、処理対象の候補線Cと当該他の候補線Cとによって挟まれた領域を内側領域Iとして設定する。反対に、制御部20は、処理対象の候補線Cが前方画像の横方向の中央よりも右側に存在している場合、左側において処理対象の候補線Cに隣り合う他の候補線Cを特定し、処理対象の候補線Cと当該他の候補線Cとによって挟まれた領域を内側領域Iとして設定する。
次に、判定部21dの機能により制御部20は、内側領域Iにおける垂直エッジEの検出結果が所定の内側条件を満足するか否かを判定する(ステップS145)。具体的に、制御部20は、前方画像の全体において下端が検出された垂直エッジEのうち処理対象の候補線Cに関して設定された内側領域Iにて検出された垂直エッジEの本数を取得するとともに、記録媒体30の判定値データ30cから内側判定値を取得する。そして、制御部20は、内側領域Iにて検出された垂直エッジEの本数が内側判定値未満である場合に、内側領域Iにおける垂直エッジEの検出結果が内側条件を満足すると判定する。
内側領域Iにおける垂直エッジEの検出結果が所定の内側条件を満足すると判定した場合(ステップS145:Y)、判定部21dの機能により制御部20は、処理対象の候補線Cが真に走行道路の道路端線であると判定する(ステップS150)。すなわち、制御部20は、内側領域Iにおける垂直エッジEの検出結果が所定の内側条件を満足し(ステップS145:Y)、かつ、外側領域Oにおける垂直エッジEの検出結果が所定の外側条件を満足する場合に(ステップS135:Y)、候補線Cが走行道路の道路端線であると判定する。
一方、制御部20は、内側領域Iにおける垂直エッジEの検出結果が所定の内側条件を満足しない場合(ステップS145:N)、または、外側領域Oにおける垂直エッジEの検出結果が所定の外側条件を満足しない場合に(ステップS135:N)、候補線Cが走行道路の道路端線でないと判定する。すなわち、制御部20は、処理対象の候補線Cがレーン同士を区画する区画線に対応する線であると判定する。
次に、領域設定部21bの機能により制御部20は、認識された候補線Cのすべてを処理対象の候補線Cとして選択したか否かを判定する(ステップS155)。そして、認識された候補線Cのすべてを処理対象の候補線Cとして選択したと判定しなかった場合(ステップS155:N)、制御部20は、他の候補線Cを、次の処理対象の候補線Cとして選択する(ステップS125)。一方、認識された候補線Cのすべてを処理対象の候補線Cとして選択したと判定した場合(ステップS155:Y)、制御部20は、道路端線検出処理を終了させる。
(3)他の実施形態:
前記実施形態においては、内側領域Iにて検出された垂直エッジEの本数が内側判定値未満であることを内側条件とし、外側領域Oにて検出された垂直エッジEの本数が外側判定値以上であることを外側条件としたが、他の条件を採用してもよい。例えば、判定部21dの機能により制御部20は、内側領域Iにて検出された垂直エッジEの長さと本数とに基づいて、内側領域Iにおける垂直エッジEの検出結果が、内側条件を満足するか否かを判定してもよい。同様に、制御部20は、外側領域Oにて検出された垂直エッジEの長さと本数とに基づいて、外側領域Oにおける垂直エッジEの検出結果が、外側条件を満足するか否かを判定してもよい。
具体的に、判定部21dの機能により制御部20は、記録媒体30に予め記録された判定値データ30cを参照することにより、内側領域Iにおける垂直エッジEの長さの区分ごとに設定された判定値を取得し、内側領域Iにて検出されたいずれかの長さの区分の垂直エッジEの本数が当該判定値以上である場合に、内側領域Iにおける垂直エッジEの検出結果が内側条件を満足しないと判定してもよい。同様に、判定部21dの機能により制御部20は、判定値データ30cを参照することにより、外側領域Oにおける垂直エッジEの長さごとに設定された判定値を取得し、外側領域Oにて検出されたいずれかの長さの垂直エッジEの本数が当該判定値以上である場合に、外側領域Oにおける垂直エッジEの検出結果が外側条件を満足すると判定してもよい。
図5は、本実施形態にかかる判定値データ30cを示すグラフである。同図において、横軸は垂直エッジEの長さを示し、縦軸は判定値を示す。同図に示すように、判定値データ30cにおいて、垂直エッジEの長さの区分ごとに判定値が記録されている。本実施形態において、判定部21dの機能により制御部20は、内側領域Iまたは外側領域Oにて検出された垂直エッジEを長さの区分ごとに分類し、垂直エッジEの長さの区分ごとに垂直エッジEの本数を取得する。そして、判定部21dの機能により制御部20は、垂直エッジEの長さの区分ごとに取得した垂直エッジEの本数が判定値以上であるか否かを判定する。以上の構成により、制御部20は、内側領域に存在する垂直エッジEとして過剰な本数の垂直エッジEが存在しているか否かを、垂直エッジEの長さごとに判定できる。
また、制御部20は、外側領域に存在する垂直エッジEとして適正な本数の垂直エッジEが存在しているか否かを、垂直エッジEの長さごとに判定できる。
垂直エッジEの本数は地面に対して高さが急激に変化している箇所の個数を意味し、垂直エッジEの長さは地面に対する高さの変化量を意味する。従って、垂直エッジEの本数と垂直エッジEの長さとがそれぞれ大きいほど、車両の走行が妨げられる可能性が高く、道路の像である内側領域における垂直エッジEの検出結果として適正でないと判定できる。反対に、垂直エッジEの本数と垂直エッジEの長さとがそれぞれ大きいほど、道路外の部分の像である外側領域における垂直エッジEの検出結果として適正である判定できる。ただし、垂直エッジEの本数が少なくても、車両が乗り越えられない程度の高さに対応する長さの垂直エッジEが検出されれば、車両の走行が妨げられる可能性が高いと言える。反対に、長い垂直エッジEが検出されなくても、車両の走行が困難な程度の本数の垂直エッジEが検出されれば、車両の走行が妨げられる可能性が極めて高いと言える。すなわち、垂直エッジEの本数と垂直エッジEの長さとのいずれか一方のみを考慮するだけでは、内側条件および外側条件を満足するか否かを正確に判定できなくなる場合がある。これに対して、垂直エッジEの長さと本数との組み合わせに基づいて内側条件を判定することにより、内側領域における垂直エッジEの検出結果が適正であるか否かを正確に判定できる。
例えば、図5において実線で示すように、所定の基準長さF以上の垂直エッジEの長さの区分については、基準長さF未満の垂直エッジEの長さよりも小さい判定値が記録されてもよい。基準長さFは、車両が乗り越えられる地面からの高さの上限値に対応する垂直エッジEの長さである。従って、内側領域Iにおいて車両が乗り越えられない程度の高さに対応する長さの垂直エッジEが検出された場合、当該長さの垂直エッジEの本数が小さくても、垂直エッジEの検出結果が内側条件を満足しないと判定できる。反対に、外側領域Oにおいて車両が乗り越えられない程度の高さに対応する長さの垂直エッジEが検出された場合、当該長さの垂直エッジEの本数が小さくても、垂直エッジEの検出結果が外側条件を満足すると判定できる。
また、地面に対する高さの変化量が大きい箇所は、個数が少なくても車両の走行の妨げとなるため、制御部20は、垂直エッジEの長さが大きいほど小さい判定値を取得してもよい。図5において破線で示すように、垂直エッジEの長さが長くなるほど小さい判定値が判定値データ30cに記録されてもよい。なお、外側領域Oにおける垂直エッジEの長さごとに設定された判定値は、内側領域Iにおける垂直エッジEの長さごとに設定された判定値と同一であってもよいし、異なってもよい。
さらに、制御部20は、内側領域Iまたは外側領域Oにて検出された垂直エッジEの長さを、垂直エッジEの下端の位置とカメラ44の光学条件とに基づいて実空間における垂直線の長さに変換し、当該実空間における垂直線の長さの区分ごとに垂直エッジEの本数を取得してもよい。そして、制御部20は、実空間における垂直線の長さの区分ごとに、垂直エッジEの本数が判定値以上であるか否かを判定してもよい。この場合、判定値データ30cにおいては、前方画像における垂直エッジEの長さの区分ごとに判定値を記録するのではなく、実空間における垂直線の長さの区分ごとに判定値を記録しておけばよい。
ところで、図5にて実線で示す判定値を用いて内側条件または外側条件を判定することは、車両が乗り越えられない高さの立体物が内側領域Iまたは外側領域Oに存在するか否かを判定することを意味する。すなわち、判定部21dの機能により制御部20は、内側領域Iにおける垂直エッジEの検出結果が、内側領域Iに立体物の像が存在しないことを示す場合に、内側条件を満足すると判定してもよい。道路上には車両の走行を妨げる立体物が存在する可能性が低いため、内側領域Iにおける垂直エッジEの検出結果が内側領域Iに立体物の像が存在しないことを示す場合に、内側領域Iにおける垂直エッジEの検出結果が道路の像における垂直エッジEの検出結果として適正であると判定できる。反対に、判定部21dの機能により制御部20は、外側領域Oにおける垂直エッジEの検出結果が、外側領域Oに立体物の像が存在することを示す場合に、外側条件を満足すると判定してもよい。道路外の部分には車両の走行を妨げる立体物が存在する可能性が高いため、外側領域Oにおける垂直エッジEの検出結果が外側領域Oに立体物の像が存在することを示す場合に、外側領域Oにおける垂直エッジEの検出結果が道路外の部分の像における垂直エッジEの検出結果として適正であると判定できる。
本実施形態においては、図5において一点鎖線で示すように、道路外の部分に設けられる立体物の高さに対応する垂直エッジEの長さの区分については、他の区分よりも小さい判定値が記録されている。例えば、道路外の部分に設けられるガードレールの支柱の高さに対応する垂直エッジEの長さの区分Gについては、他の区分よりも小さい判定値が記録されている。これにより、内側領域Iに立体物としてのガードレールの像が存在しない場合に、内側条件を満足すると判定できる。反対に、内側領域Iに立体物としてのガードレールの像が存在する場合に、外側条件を満足すると判定できる。さらに、制御部20は、道路上に形成される矢印標識等のペイントの像上に表れ得る垂直エッジEの長さについて、他の垂直エッジEの長さよりも大きい判定値を取得してもよい。
さらに、判定部21dの機能により制御部20は、内側領域Iにて検出された垂直エッジEが、前方画像において周期的に存在する場合に、内側領域Iにおける垂直エッジEの検出結果が内側条件を満足しないと判定してもよい。すなわち、制御部20は、内側領域Iにて検出された垂直エッジEが、道路に存在し得ない物体の固有周期に対応した周期で存在する場合には、内側領域Iにおける垂直エッジEの検出結果が内側条件を満足しないと判定する。固有周期とは、道路外の部分に設けられる立体物に固有の空間周期であり、例えばガードレールの支柱の設置周期に対応する前方画像内の周期であってもよい。これにより、内側領域Iにガードレール等の立体物の像が存在する場合に、内側領域Iにおける垂直エッジEの検出結果が内側条件を満足しないと判定できる。また、判定部21dの機能により制御部20は、外側領域Oにて検出された垂直エッジEが、前方画像において周期的に存在する場合に、外側領域Oにおける垂直エッジEの検出結果が外側条件を満足すると判定してもよい。すなわち、制御部20は、外側領域Oにて検出された垂直エッジEが、ガードレール等の固有周期に対応した周期で場合には、外側領域Oにおける垂直エッジEの検出結果が外側条件を満足すると判定してもよい。これにより、外側領域Oにガードレール等の立体物の像が存在する場合に、外側領域Oにおける垂直エッジEの検出結果が外側条件を満足すると判定できる。
また、制御部20は、内側領域Iにおいて垂直エッジEが存在している周期の大きさを問わず、垂直エッジEがいずれかの大きさの周期を持って存在している場合に、内側領域Iにおける垂直エッジEの検出結果が内側条件を満足しないと判定してもよい。人工の立体物は周期構造を有している可能性が高いため、内側領域Iにて検出された垂直エッジEがいずれかの大きさの周期で存在する場合に、内側領域Iに人工の立体物が存在している可能性が高いと判定できる。同様に、制御部20は、外側領域Oにおいて垂直エッジEが存在している周期の大きさを問わず、垂直エッジEがいずれかの大きさの周期を持って存在している場合に、外側領域Oにおける垂直エッジEの検出結果が外側条件を満足すると判定してもよい。一方、周期的でない垂直エッジEは、例えば道路上に形成された汚れや水たまり等に対応すると考えられ、周期的でない垂直エッジEが存在する場合でも、内側領域Iにおける垂直エッジEの検出結果が内側条件を満足すると判定できる。
ここで、垂直エッジEが画像において周期的に存在するとは、画像内における垂直エッジEの位置に対応する実空間内の位置が周期的であることであってもよい。例えば、制御部20は、垂直エッジEの下端の位置を位置変換テーブル30bに基づいて実空間内の位置に変換し、当該実空間内における下端の位置が走行道路の方向に沿った周期性を有するか否かを判定してもよい。以上においては、垂直エッジEの本数と長さと周期性に基づいて候補線Cが道路端線であるか否かを判定する例を挙げたが、これら以外の垂直エッジの検出結果の指標に基づいて候補線Cが道路端線であるか否かを判定してもよい。例えば、垂直エッジの検出結果とは、検出された垂直エッジの量(密度等)を評価する指標であってもよいし、検出された垂直エッジの形状を評価する指標であってもよいし、検出された垂直エッジの分布位置を評価する指標であってもよい。
さらに、判定部21dの機能により制御部20は、内側領域Iにおける垂直エッジEの検出結果が内側条件を満足し、かつ、外側領域Oにおける垂直エッジEの検出結果が外側条件を満足する候補線Cが、道路の幅方向の中央よりも左側または右側の一方に複数存在する場合、当該複数存在する候補線Cのうち道路の幅方向の中央に最も近い候補線Cが道路端線であると判定してもよい。すなわち、制御部20は、図4のステップS150において真に走行道路の道路端線であると判定された2本以上の候補線Cが、前方画像の下辺の中点Pの右側または左側の一方にて下辺に交差する場合、下辺の中点Pの右側または左側の一方にて下辺に交差する候補線Cのうち、最も下辺の中点Pに近い位置にて下辺に交差する候補線Cが真に走行道路の道路端線であると判定してもよい。これにより、走行道路の幅方向の中央よりも左側または右側において道路端線を一意に特定できる。また、道路の幅方向の中央に最も近い候補線Cが道路端線であると判定することにより、現実の道路の幅方向の端よりも外側に存在する線を道路端線として誤検出することを防止できる。
候補線認識部21aの機能により制御部20は、前方画像上の線のうち、道路の方向に平行な線に対応する線を候補線Cとして認識してもよい。道路上には道路の方向に平行なレーンの区画線が複数形成されるため、制御部20は、レーンの区画線の像Dが消失する消失点Z(図2C)に向かって伸びる線を候補線Cとして認識してもよい。すなわち、制御部20は、少なくとも他の2本の候補線Cが交差している点(消失点Z)を通過する線を候補線Cとして認識してもよい。さらに、候補線認識部21aの機能により制御部20は、地図情報30aの形状補間点データに基づいて走行道路の形状を特定し、当該走行道路の形状にマッチする形状の候補線Cを認識してもよい。
さらに、道路端線および候補線Cは、必ずしも区画線に対応する線でなくてもよい。例えば、候補線認識部21aの機能により制御部20は、特徴点Kにおける輝度の傾きの絶対値の閾値を小さく設定することにより、路面と縁石との境界線や、路面と中央分離帯との境界線のようにコントラストが小さい線に対応する候補線Cを認識してもよい。すなわち、制御部20は、車両が走行できるように舗装された路面の端に対応する候補線Cを認識してもよい。このように区画線に対応する線以外の候補線Cを認識した場合、2個の候補線Cによって挟まれた領域が必ずしも1レーン分のレーンの像とならなくなる。従って、領域設定部21bの機能により制御部20は、処理対象の候補線Cよりも前方画像の中央側においても仮想線Vを生成し、当該処理対象の候補線Cと仮想線Vとによって挟まれた領域を内側領域Iとして設定してもよい。さらに、内側領域Iと外側領域Oは、必ずしも1レーン分の領域でなくてもよく、前方画像における一定面積の領域であってもよい。
判定部21dの機能により制御部20は、内側領域Oにおける垂直エッジの検出結果と、外側領域Oにおける垂直エッジの検出結果との双方に基づいて判定を行えばよく、内側領域Iにおける垂直エッジの検出結果と、外側領域Oにおける垂直エッジの検出結果の少なくとも一方が条件を満足する場合に、候補線Cが道路端線であると判定してもよい。さらに、制御部20は、内側領域Iにおける垂直エッジの検出結果と、外側領域Oにおける垂直エッジの検出結果との双方に基づいて判定値を導出し、当該判定値が所定の範囲内である場合に候補線Cが道路端線であると判定してもよい。例えば、制御部20は、内側領域Iにおける垂直エッジの本数を外側領域Oにおける垂直エッジの本数で除算した判定値が閾値以下である場合に、候補線Cが道路端線であると判定してもよい。
さらに、検出した道路端線は、種々の運転支援に利用することができる。例えば、検出した道路端線を利用して車両のステアリングやブレーキ等の制御を行うようにしてもよい。また、道路端検出システムは、ステアリングやブレーキ等の車両制御を行う車両ECUにて実現されてもよい。