(58)【調査した分野】(Int.Cl.,DB名)
車両(101)に搭載された撮影部(10)により撮影された前記車両の前方の画像から、前記車両が走行中の車線(51)の境界を規定する左右一対の境界区画線(53、61)を認識する区画線認識装置(20)であって、
前記撮影部により撮影された画像から、前記車両の走行方向に沿って延びるように存在する線(53、54、61〜64)を抽出するように構成された線抽出部(21〜24)と、
前記線抽出部により抽出された前記線の中から、前記左右一対の境界区画線(53、61、64)の候補である左右一対の境界候補線を選択するように構成された境界候補線選択部(26)と、
前記車両が暫定供用区間(50)を走行中か否か判定するように構成された暫定供用判定部(27)と、
前記暫定供用判定部により前記車両が前記暫定供用区間を走行中と判定された場合に、前記左右一対の境界区画線の間隔である車線幅を学習するように構成された学習部(29)と、
前記暫定供用判定部により前記車両が前記暫定供用区間を走行中と判定された場合に、前記境界候補線選択部により選択された前記左右一対の境界候補線のうち右側の境界候補線の位置を、前記学習部により学習された前記車線幅に基づいて補正するように構成された補正処理部(30)と、
を備える、区画線認識装置(20)。
【発明を実施するための形態】
【0016】
以下、本開示の実施形態について、図面を参照しながら説明する。
(1)車両の構成
図1(A)に示すように、本実施形態の車両101は、車載カメラ10と、区画線認識装置15と、車両制御装置20とを備える。
【0017】
車載カメラ10は、
図1(A)及び
図1(B)に示すように、車両101の室内におけるフロントガラス103の上部近傍に搭載されている。車載カメラ10は、
図1(A)及び
図1(B)に示すように、車両101の前方を撮影し、その撮影した前方の画像の画像データを生成する。車載カメラ10により撮影される画像には、車両101の前方の路面が含まれる。
【0018】
車載カメラ10は、予め設定された時間間隔(例えば1/15秒間隔)で、繰り返し画像を撮影する。なお、車載カメラ10は、カラーの画像を撮影可能である。車載カメラ10で撮影された画像の画像データは、区画線認識装置15へ出力される。
【0019】
区画線認識装置15は、道路上の区画線を認識し、その認識した区画線に基づいて走行中の道路の形状を推定して、その推定結果を車両制御装置20へ出力する。なお、区画線は、主に車線を区画するために道路上に描かれる白色や黄色などの線状のペイントである。
【0020】
区画線認識装置15は、CPU、ROM、RAM、及びフラッシュメモリ等の半導体メモリを備えた周知のマイクロコンピュータを備えている。区画線認識装置15は、CPUが非遷移的実体的記録媒体に格納されたプログラムを実行することにより各機能が実現されるよう構成されている。本実施形態では、半導体メモリが、プログラムを格納した非遷移的実体的記録媒体に該当する。
【0021】
なお、区画線認識装置15が備えるマイクロコンピュータの数は1つでも複数でもよい。また、区画線認識装置15により実現される各種機能は、CPUがプログラムを実行することによって実現することに限るものではなく、その一部又は全部について、一つあるいは複数のハードウェアを用いて実現してもよい。
【0022】
車両制御装置20は、区画線認識装置15から入力される、道路形状の推定結果などの情報に基づいて、警報出力機能やレーンキープ機能などの、車両101の走行を支援する各種機能を実行可能である。警報出力機能は、走行中の車線における車両101の左右方向の相対的位置関係を監視し、車両101が車線を逸脱しそうになった場合にドライバに対して警報を出力する機能である。レーンキープ機能は、車両101が車線内を適切に走行できるようにステアリング動作やブレーキ動作を補助する機能である。
【0023】
(2)区画線認識装置の構成
区画線認識装置15は、
図2に示すように、エッジ点抽出部21、マーカ抽出部22、線候補算出部23、線特徴抽出部24、多重線判定部25、境界候補線選択部26、暫定供用判定部27、状態判定部28、車線幅学習部29、補正処理部30、代替線探索部31、道路形状推定部32、及び認識結果出力部33を備える。
【0024】
図2に示す、区画線認識装置15が備える上記各部21〜33の機能は、本実施形態ではいずれもCPUがプログラムを実行することにより実現される。つまり、
図2は、区画線認識装置15の構成を、CPUがプログラムを実行することにより実現される各種機能毎の機能ブロックとして図示している。区画線認識装置15が備える上記各部21〜33によって実現される機能の具体的内容については、後で
図5を用いて説明する。
【0025】
図2に示すように、車両101には、センサ部11が設けられている。センサ部11は、車両101の各種状態量を測定する種々のセンサの総称である。センサ部11には、例えば、車両101の車速を測定する車速センサや、車両101のヨーレートを測定するヨーレートセンサなどの、各種センサが含まれる。センサ部11は、測定対象の状態量を、予め設定された時間間隔で繰り返し測定し、その測定結果を区画線認識装置15へ出力する。
【0026】
区画線認識装置15は、車載カメラ10で撮影された画像に基づいて、走行中の車線の境界を規定する左右一対の境界区画線を認識する。
ここで、車両101が走行する可能性がある道路には、暫定供用区間が含まれる。暫定供用区間は、暫定共用部あるいは暫定二車線とも呼ばれる周知の区間であり、基本的に、片側一車線ずつの計二車線が中央帯を挟んで互いに対向するように配置されている。また、暫定供用区間は、走行方向左側に1本の実線の区画線が描かれ、走行方向右側の中央帯には少なくとも黄色の区画線が描かれている。中央帯において、自車線側の黄色の区画線と対向車線側の黄色の区画線との間には、さらに、白色の区画線が車線毎に個別に描かれたり、車線分離標が設置されたり、縁石が設置されたりする場合もある。
【0027】
暫定供用区間の一例を
図3に示す。
図3は、暫定供用区間50を走行中の車両101に搭載された車載カメラ10によって撮影された、暫定供用区間50の画像である。
図3に示す暫定供用区間50は、車両101が走行している車線である自車線51と、対向車が走行する対向車線52と、これら各車線51、52を区画するための、2つの車道外側線53、54及び中央帯55を備える。
【0028】
自車線51の左側に描かれている車道外側線53は、自車線51の境界を規定する左右一対の境界区画線のうち左側の境界区画線であり、以下、左側境界区画線53とも称する。なお、自車両101から見て、左側の車道外側線53の更に左側の端部には、側壁71が設けられている。対向車線52側においても、当該対向車線52の左側に描かれている車道外側線54は、対向車線52の境界を規定する左右一対の境界区画線のうち左側の境界区画線である。なお、対向車線52を走行する車両から見て、その左側の車道外側線54の更に左側の端部には、側壁72が設けられている。
【0029】
暫定供用区間50に設けられている中央帯55は、複数の区画線が描かれた多重線構造となっている。具体的に、中央帯55は、自車線51に最も近い位置に描かれた黄色中央線61と、この黄色中央線61に平行且つ隣接するように描かれた白色中央線62と、対向車線52に最も近い位置に描かれた黄色中央線63と、この黄色中央線63に平行且つ隣接するように描かれた白色中央線64とを備える。また、中央帯55における車線方向(即ち車両101の走行方向)の中央部、即ち各白色中央線62,64の間には、縁石65及び車線分離標66が、それぞれ車線方向に沿って離散的に配置されている。
【0030】
中央帯55が備える各区画線61〜64のうち、自車線51に最も近い位置に描かれた黄色中央線61は、自車線51の境界を規定する左右一対の境界区画線のうち右側の境界区画線であり、以下、右側境界区画線61とも称する。
【0031】
暫定供用区間50は、他の一般道路に比べて、車線両側の各区画線のうち特に中央帯側の区画線が、擦れたり汚れたりしやすく、認識しづらくなっている可能性が高い。また、暫定供用区間50には、他の一般道路に比べて、トンネルが設けられている可能性が比較的高い。トンネル内においては、トンネル外に比べ、明暗の差などの各種の要因により相対的に区画線を認識しづらくなる可能性が高い。
【0032】
このように、暫定供用区間50を走行中は、他の一般道路と比べて、車線両側の一対の境界区画線のうち特に右側の境界区画線が認識しづらい状態になっている可能性が高い。
図4は、暫定供用区間50の途中において、中央帯55に不明瞭領域70が存在している例を示している。不明瞭領域70は、中央帯55における自車線51側の黄色中央線61及び白色中央線62の双方が擦れたり汚れたりしていて区画線認識装置15に正常に認識されない状態となっている領域である。
【0033】
図4の例において、自車線51の左右両側の各境界区画線53、61が共に明瞭な状態のときは、車両制御装置20は、区画線認識装置15からの情報に基づいて車線幅が正常な値W0であることを認識し、その正常な車線幅W0の略中央部を車両101が走行するように制御できる。
【0034】
一方、車両101が、中央帯55側に不明瞭領域70が存在している区間に入った場合に、仮に、区画線認識装置15が、対向車線52側の白色中央線64を、自車線51側の右側境界区画線61であると誤認すると、車両制御装置20は、左側境界区画線53から対向車線52側の白色中央線64までの幅Wxを自車線51の車線幅であると誤認識する可能性がある。このように車線幅が実際の幅W0よりも大きいWxであると誤認識されると、車両101は、その誤認識された車線幅Wxの略中央部を走行するように制御され、結果として中央帯55側に近付いていってしまう可能性がある。
【0035】
そこで、本実施形態の区画線認識装置15は、車両101が暫定供用区間50を走行している間は、暫定供用区間以外の道路を走行している場合とは異なる方法で左右一対の境界区画線を認識するように構成されている。
【0036】
(3)区画線認識処理
次に、区画線認識装置15が実行する区画線認識処理について、
図5を用いて説明する。区画線認識装置15は、車両101の走行中、
図5の区画線認識処理を周期的に繰り返し実行する。
【0037】
区画線認識装置15は、
図5の区画線認識処理を開始すると、S110で、エッジ点抽出処理を実行する。このエッジ点抽出処理は、
図2に示すエッジ点抽出部21によって実現される処理であり、撮影された画像からエッジ点を抽出する処理である。具体的に、S110では、エッジ点抽出部21が、車載カメラ10により撮影された画像を取得し、取得した画像から、輝度値の変化が大きい画素であるエッジ点を抽出する。
【0038】
撮影された画像からエッジ点を抽出する具体的方法については、周知であるため、ここでは詳しい説明を省略し、概要のみ簡潔に述べる。エッジ点抽出部21は、画像の左端から右端へ水平方向に走査しながら、輝度値の変化量が閾値以上となる画素を探索し、アップエッジ点及びダウンエッジ点を抽出する。アップエッジ点は、低い輝度値から高い輝度値へ変化する輝度値の立ち上がり点であり、より具体的には、低い輝度値から高い輝度値への輝度値の変化量が輝度閾値以上となる点である。ダウンエッジ点は、高い輝度値から低い輝度値へ変化する輝度値の立下り点であり、より具体的には、高い輝度値から低い輝度値への輝度値の変化量が輝度閾値以上となる点である。エッジ点抽出部21は、このような水平方向への走査によるエッジ点の抽出を、画像の上下方向、即ち画像の奥行き方向へ位置をずらしながら繰り返すことで、画像のほぼ全領域からエッジ点を抽出する。
【0039】
図6に、抽出したエッジ点81を模式的に示す。
図6は、左側境界区画線53の両側辺及び右側境界区画線61の両側辺にそれぞれエッジ点81が抽出されている例を示している。なお、
図6では、エッジ点81がアップエッジ点であるかダウンエッジ点であるかについての区別は省略している。また、
図6では図示を省略したが、これら各境界区画線53、61以外の他の区画線についても、同様にエッジ点が抽出される。さらに、区画線に限らず、輝度値の変化量が輝度閾値以上となる点が存在している場合には、その点もエッジ点として抽出される。
【0040】
S120では、マーカ抽出処理を実行する。このマーカ抽出処理は、
図2に示すマーカ抽出部22によって実現される処理であり、S110で抽出されたエッジ点同士を繋げることによって区画線に相当する塊であるマーカを抽出する処理である。
【0041】
具体的に、S120では、マーカ抽出部22が、S110で抽出された各エッジ点から、複数のエッジ点によって形成される略矩形状の領域をマーカとして抽出する。詳しくは、マーカ抽出部22は、アップエッジ点と、そのアップエッジ点に対して右側に位置し、且つ、そのアップエッジ点に最も近い位置のダウンエッジ点とをペアとする。そして、そのペアが車両101の走行方向において予め設定された間隔閾値以内の間隔で配列されている略矩形の領域を、マーカとして抽出する。
【0042】
なお、中央帯55において、自車線51側の黄色中央線61と白色中央線62とは隣接しているため、自車線51側の黄色中央線61の両端で抽出されるエッジ点はいずれもアップエッジ点となる。また、中央帯55において、対向車線52側の白色中央線64と黄色中央線63も隣接しているため、対向車線52側の黄色中央線63の両端で抽出されるエッジ点はいずれもダウンエッジ点となる。
【0043】
つまり、黄色中央線と白色中央線が隣接しているところでは、黄色中央線の両端において同じ種類のエッジ点が連続して抽出される。そのため、本実施形態では、同じエッジ点が連続して抽出された場合は、その連続して抽出された2つのエッジ点間の色成分を検出し、黄色の成分が一定レベル以上ある場合、その2つのエッジ点をペアとする。
【0044】
例えば、左から順にアップエッジ点、アップエッジ点、ダウンエッジ点、の3つのエッジ点が抽出された場合、2つのアップエッジ点の間に一定レベル以上の黄色成分があれば、その2つのアップエッジ点をペアとする。さらに、2番目のアップエッジ点と3番目のダウンエッジ点とをペアとする。
【0045】
間隔閾値は、一般的な区画線の線分同士の間隔よりも短い値であり、間隔閾値未満の間隔のエッジ点同士は同じ線分に属していると見なせる値である。なお、S120で、マーカ抽出部22は、抽出したマーカ毎にその長さ及び幅を算出する。マーカの長さは、車両101の走行方向の長さであり、マーカの幅は、走行方向に垂直な水平方向の長さ、即ちアップエッジ点とダウンエッジ点との車線幅方向の間隔である。
【0046】
S130では、線候補算出処理を実行する。この線候補算出処理は、
図2に示す線候補算出部23によって実現される処理であり、S120で抽出されたマーカ同士を走行方向に繋げることで、車両101の走行方向に沿って延びるように存在する線を抽出する処理である。
【0047】
この線候補算出処理により、車両101が例えば
図3に示すような暫定供用区間50を走行している場合には、6本の区画線53、54、61〜64に対応した6本の線候補、及び、各側壁71、72に対応した少なくとも2本の線候補が抽出される。ただし、車両101が例えば
図4に示す不明瞭領域70が存在している区間を走行している場合は、中央帯55においては、自車線51側の2本の区画線61、62に対応した線候補は抽出されず、対向車線52側の2本の区画線63、64に対応した2本の線候補が抽出されることになる。
【0048】
S140では、線特徴抽出処理を実行する。この線特徴抽出処理は、
図2に示す線特徴抽出部24によって実現される処理であり、S130で算出された線候補毎に、線種や色などの当該線候補の性質を示す各種情報を抽出する処理である。
【0049】
線特徴抽出部24は、線種については、線候補に属するエッジ点の路面上の分布に基づいて判定する。線種としては、例えば、実線の区画線、破線の区画線、区画線の内側に描かれる破線の補助線などがある。通常、破線の区画線と破線の補助線とは、線分の長さや線分同士の間隔が異なっているため、エッジ点の路面上の分布から区別して判定することができる。
【0050】
また、線特徴抽出部24は、色については、少なくとも黄色と白色の2色以上の色を区別して判定することができる。
また、線特徴抽出部24は、S140の線特徴抽出処理において、線候補毎に、エッジ点数、エッジ点の強度、ライン長なども判定する。エッジ点数とは、1本の線候補が有するエッジ点の数であり、線候補が例えば破線などの複数のマーカからなる場合は、それら複数のマーカが有するエッジ点の総数である。エッジ点強度は、各エッジ点の輝度差である。ライン長とは、1本の線候補の走行方向の長さであり、線候補が例えば破線などの複数のマーカからなる場合は、それら複数のマーカを走行方向に繋げてなる1本の線の長さである。
【0051】
S150では、多重線判定処理を実行する。この多重線判定処理は、
図2に示す多重線判定部25によって実現される処理である。S150では、具体的に、多重線判定部25が、S130で算出された各線候補が多重線を構成しているか否か判定する。多重線判定部25は、水平方向において予め設定された範囲内に複数の線候補が算出されている場合は、それら複数の線候補によって多重線が構成されていると判定する。
【0052】
この多重線判定処理により、車両101が例えば
図3に示すような暫定供用区間50を走行していて、6本の区画線53、54、61〜64に対応した6本の線候補が算出されている場合は、例えば次のように判定される。即ち、算出された6本の線候補のうち、中央帯55の4本の区画線61〜64に対応した4本の線候補については多重線を構成していると判定され、他の2本の区画線53、54に対応した2本の線候補についてはそれぞれ単独で1本の線を構成していると判定される。
【0053】
ただし、車両101が例えば
図4に示す不明瞭領域70が存在している区間を走行している場合は、中央帯55においては、対向車線52側の2本の区画線63、64に対応した2本の線候補によって多重線が構成されていると判定される。
【0054】
S160では、境界候補線選択処理を実行する。この境界候補線選択処理は、
図2に示す境界候補線選択部26によって実現される処理である。S160では、具体的に、境界候補線選択部26が、S130で算出された各線候補のうち、走行中の自車線51の境界を規定する左右一対の境界区画線53、61の候補である左右一対の境界候補線を選択する。
【0055】
境界候補線選択部26は、左右一対の境界候補線を選択するにあたり、S140の線特徴抽出処理及びS150の多重線判定処理の結果を参照する。即ち、S130で算出された各線候補の中から、S140の線特徴抽出処理において実線と判定された線候補を絞り込む。そして、車両101の左右それぞれにおいて、実線と判定された線候補のうち車両101に最も近い線候補を境界候補線として選択する。
【0056】
車両101が例えば
図3に示すような暫定供用区間50を走行している場合、車両101の左側においては、1本の線候補が算出されてその1本の線候補が実線であることから、その1本の線候補が、左側境界区画線53の候補である左側境界候補線として選択される。一方、車両101の右側においては、4本の線候補からなる多重線が存在しているとの判定結果、及びその多重線を構成する4本の線候補がいずれも実線であるとの判定結果に基づき、その多重線を構成する4本の線候補のうち車両101に最も近い線候補が、右側境界区画線61の候補である右側境界候補線として選択される。
【0057】
ただし、車両101が例えば
図4に示す不明瞭領域70が存在している区間を走行している場合は、車両101の右側においては、多重線を構成する線候補が対向車線52側の2本の区画線63、64に対応した2本の線候補であることから、その2本の線候補のうち車両101に最も近い線候補が右側境界候補線として選択される。つまり、対向車線52側の白色中央線64に対応する線候補が、右側境界候補線として選択される。
【0058】
S170では、車両101が走行中の道路が暫定供用区間であるか否か判断する。この判断処理は、
図2に示す暫定供用判定部27によって実現される処理である。S170において、暫定供用判定部27は、種々の方法で、車両101が走行中の道路が暫定供用区間であるか否かを判定することができる。
【0059】
暫定供用判定部27は、例えば、S140の線特徴抽出処理及びS150の多重線判定処理の結果を用いて、走行中の道路が暫定供用区間であるか否かを判定してもよい。具体的に、例えば車両101の右側に多重線が存在していて、その多重線に、黄色の線と白色の線からなる複合線が含まれている場合は、暫定供用区間であると判定してもよい。この場合、さらに例えば、車両101の左側に線候補として白色の実線が存在していること、車両101の右側に置いて線候補に沿って車線分離標や縁石などの構造物が設けられていること、走行中の車線の右側に対向車線が存在していること、などの条件も適宜加味して判定するようにしてもよい。
【0060】
また例えば、暫定供用判定部27は、一定の走行範囲内において、急カーブがない、交差点の数が閾値以下である、信号の数が閾値以下である、などの、暫定供用区間特有の条件を満たしているか否かによって、暫定供用区間であるか否かを判定するようにしてもよい。また例えば、GPS情報を取得するなど、車両101の外部とのデータ通信によって得られる情報に基づいて、車両101が暫定供用区間内に存在しているかどうかを判定するようにしてもよい。
【0061】
また、上記例示した判定方法によって暫定供用区間であると判定されることを仮判定として、その仮判定が行われた場合に、さらに、S160で選択された左右一対の境界候補線の間隔、即ち各境界候補線の進行方向に垂直な方向の間隔である候補線幅が所定の幅範囲内にあるかどうかを判断するようにしてもよい。そして、候補線幅が所定の幅範囲内にある場合に、暫定供用区間であると正式に判定してもよい。
【0062】
S170で、車両101が走行中の道路が暫定供用区間ではないと判定された場合は、S240に進む。S170で、車両101が走行中の道路が暫定供用区間であると判定された場合は、S180に進む。
【0063】
なお、S170で、車両101が走行中の道路が暫定供用区間であると判定された場合は、車線幅学習部29が、車線幅の初期学習を行う。具体的に、現在選択されている各境界候補線の候補線幅を、車線幅学習値の初期値として、メモリに記憶させる。メモリに記憶される車線幅学習値は、以後、後述するS200の車線幅学習処理が実行される度に、その車線幅学習処理で算出された値に更新される。
【0064】
S180では、状態判定処理を実行する。この状態判定処理は、
図2に示す状態判定部28によって実現される処理であり、S160で選択された左右一対の境界候補線がそれぞれどのような状態で認識されているかを判定する処理である。
【0065】
具体的に、S180では、状態判定部28が、少なくとも、明瞭性判断と平行性判断とを行う。明瞭性判断は、各境界候補線が明瞭な状態で認識されているかどうかの判断である。平行性判断は、各境界候補線が互いに平行であるかどうかの判断である。
【0066】
明瞭性判断については、各境界候補線の各々について、エッジ点数、エッジ点の強度、ライン長、実線であるか否か、エッジ点の間隔のばらつき、エッジ点の間隔の最大値、推定線とエッジ点の誤差、などの各種パラメータのうち少なくとも1つに基づいて、明瞭に認識されているか否かを判断する。なお、推定線とは、エッジ点にフィットする曲線のことである。
【0067】
例えば、エッジ点数が閾値以上であること、全エッジ点のうち強度が閾値以上のエッジ点の割合が閾値以上であること、ライン長が閾値以上であること、エッジ点の間隔の最大値と最小値の差が閾値以内であること、エッジ点の間隔の最大値が閾値以下であること、推定線とエッジ点の誤差が閾値以下であること、のうち予め決められた少なくとも1つの条件を全て満たしていたら明瞭であると判断するようにしてもよい。
【0068】
なお、暫定供用区間では、一般に、走行方向左側の境界区画線は、走行方向右側の境界区画線に比べると認識しづらくなる可能性は低い。そのため、本実施形態では、左側境界候補線については、明瞭に認識されることを前提として説明する。
【0069】
平行性判断については、各境界候補線の各々について、曲率、走行方向に対する傾き、過去の認識形状からの変化度合い、エッジ点の密度、などの各種パラメータのうち少なくとも1つを算出して、それら少なくとも1つのパラメータの比較結果に基づいて、右側境界候補線が左側境界候補線に対して平行であるか否かを判断する。例えば、走行方向における左右同位置において左右の曲率の差が閾値以下であること、走行方向における左右同位置において走行方向に対する傾きの左右の差が閾値以下であること、左右の線候補それぞれにおけるエッジ点の密度の差が閾値以下であること、過去の認識形状からの変化の度合いが左右ともに閾値以下であること、のうち予め決められた少なくとも1つの条件を全て満たしていたら左右の境界候補線が平行であると判断するようにしてもよい。
【0070】
さらに、状態判定部28は、明瞭性判断及び平行性判断の結果に基づいて、後述するS200の車線幅学習処理及びS230の補正処理を行っても良いか否かの判定も行う。具体的に、状態判定部28は、明瞭性判断において左右の境界候補線がいずれも明瞭と判断され、且つ平行性判断において左右の境界候補線が平行であると判断された場合に、S200の車線幅学習処理を実行してもよいと判定する。また、平行性判断において左右の境界候補線が平行であると判断された場合は、明瞭性判断の判断結果にかかわらず、S230の補正処理を実行してもよいと判定する。
【0071】
なお、S180で、状態判定部28は、明瞭性判断及び平行性判断に加えて、例えば学習対象適性判断を行うようにしてもよい。学習対象適性判断とは、明瞭性及び平行性以外の観点での、現在選択されている左右一対の境界候補線が車線幅学習処理の対象としての適性を有しているか否かの判断である。
【0072】
学習対象適性判断の具体的内容は種々考えられる。例えば、候補線幅が所定の幅範囲内にあるかどうかが判断されてもよい。そして、候補線幅が所定の幅範囲内にある場合に、各境界候補線が車線幅学習処理の対象としての適性を有していると判断されてもよい。また例えば、各境界候補線のうち右側境界候補線の色が黄色であるか否かが判断されてもよい。そして、右側境界候補線の色が黄色である場合に、各境界候補線が車線幅学習処理の対象としての適性を有していると判断されてもよい。
【0073】
状態判定部28は、学習対象適性判断を行うように構成されている場合は、車線幅学習処理を行っても良いか否かの判定を、明瞭性判断、平行性判断及び学習対象適性判断の結果に基づいて行ってもよい。具体的に、状態判定部28は、明瞭性判断において左右の境界候補線がいずれも明瞭と判断され、平行性判断において左右の境界候補線が平行であると判断され、且つ学習対象適性判断において各境界候補線が車線幅学習処理の対象としての適性を有していると判断された場合に、車線幅学習処理を実行してもよいと判定するようにしてもよい。
【0074】
S190では、車線幅を学習可能な状態であるか否か判断する。具体的に、S180の状態判定処理において車線幅学習処理を実行してもよいと判定されたか否か判断する。S180の状態判定処理において車線幅学習処理を実行してもよいと判定されなかった場合は、車線幅を学習可能な状態ではないと判断し、S210に進む。S180の状態判定処理において車線幅学習処理を実行してもよいと判定された場合は、車線幅を学習可能な状態と判断し、S200に進む。
【0075】
S200では、車線幅学習処理を実行する。この車線幅学習処理は、
図2に示す車線幅学習部29によって実現される処理である。具体的に、S200では、車線幅学習部29が、S160で選択された左右一対の境界候補線の間隔、即ち進行方向に垂直な方向の間隔を算出する。そして、その算出した間隔を、走行中の暫定供用区間の車線幅として学習する。具体的には、算出した間隔を車線幅学習値としてメモリに記憶させる。なお、既に車線幅学習値が記憶されている場合は、その記憶されている車線幅学習値を、今回S200で算出された車線幅学習値に更新する。
【0076】
S210では、S160で選択された左右一対の境界候補線のうち右側境界候補線について、メモリに記憶されている車線幅学習値に基づく補正が必要か否か判断する。具体的には、例えば、S160で選択された左右一対の境界候補線の候補線幅と車線幅学習値との差が所定の幅閾値以上の場合は、補正が必要と判断するようにしてもよい。逆に、候補線幅と車線幅学習値との差が幅閾値未満の場合は、補正が不要と判断するようにしてもよい。また、状態判定部28による平行性判断において左右の境界候補線が平行ではないと判断された場合も、補正が必要と判断するようにしてもよい。
【0077】
なお、中央帯側において線候補が全く算出されずに右側境界候補線が選択されない状態が生じることも起こり得るが、そのような場合も、S210においては、補正が必要と判断する。
【0078】
S220では、S160で選択された左右一対の境界候補線のうち右側境界候補線に対して、車線幅学習値に基づく補正を実際に行ってもよいか否か判断する。具体的に、S180の状態判定処理において補正処理を実行してもよいと判定されたか否か判断する。S180の状態判定処理において補正処理を実行してもよいと判定されなかった場合は、現在選択されている右側境界候補線に対する補正処理を行ってはならないと判断し、S260に進む。
【0079】
右側境界候補線が左側境界候補線に対して平行と判断されない例として、例えば
図7に示すような例が考えられる。
図7は、左側境界候補線86は対応する左側境界区画線53に沿って正常に抽出されているのに対し、右側境界候補線87は、対応する右側境界区画線61から外れて車線分離標66に繋がるような線として抽出されている例を示している。つまり、
図7は、左右の各境界候補線86,87が平行ではない場合の一例を示している。
【0080】
このような場合に、この右側境界候補線87に対して補正処理を行ったとしても、補正後の右側境界候補線は、実際の右側境界区画線61からずれた線に補正されてしまう。そのため、本実施形態では、S210で補正が必要と判断されたとしても、補正対象の右側境界候補線が
図7の例のように左側境界候補線に対して平行ではない場合は、S230の補正処理が行われないように構成されている。
【0081】
なお、中央帯側において線候補が全く算出されずに右側境界候補線が選択されない状態になっている場合、S220では、補正処理を実行してはならないと判断して、S260に進む。
【0082】
一方、S180の状態判定処理において補正処理を実行してもよいと判定された場合は、S220の判断処理においては、現在選択されている右側境界候補線に対する補正処理を行ってもよいと判断し、S230に進む。
【0083】
S230では、右側境界候補線に対し、補正処理を実行する。この補正処理は、
図2に示す補正処理部30によって実現される処理である。S230では、具体的に、補正処理部30が、右側境界候補線の位置、即ち車線幅方向の位置を、候補線幅と車線幅学習値との差に応じてオフセットする。
【0084】
例えば、
図8に例示するように、車線幅学習値がW0であるのに対して、現在選択されている右側境界候補線が対向車線52側の白色中央線64であることにより候補線幅が車線幅学習値W0よりも長いWx1であるとする。この場合、S230の補正処理では、候補線幅Wx1と車線幅学習値W0との差分だけ、右側境界候補線を左側にオフセットさせる。これにより、右側境界候補線は、
図8に二点鎖線で示す位置に補正され、補正後の候補線幅Wcは車線幅学習値W0と同値となる。
【0085】
S220で補正を行ってはならないと判断された場合は、S260で、代替線探索処理を実行する。この代替線探索処理は、
図2に示す代替線探索部31によって実現される処理である。S260では、代替線探索部31が、S130で算出された各線候補のうち、車両101の右側に存在する線であって、現在選択されている右側境界候補線とは異なる他の線候補の中から、補正処理の対象にし得る線候補である代替線を探索する。
【0086】
より具体的には、対向車線の走行方向左側に存在する線候補、及び対向車線の走行方向左側において走行方向に沿って設けられている構造物に対応した線候補、のいずれかを代替線として探索する。
図3に例示した暫定供用区間50においては、対向車線52側の車道外側線54に対応した線候補、及び対向車線52側の側壁72に対応した線候補が、代替線になり得る。
【0087】
代替線探索部31は、代替線になり得る各線候補のうち、所定の条件を満たす線候補を、代替線として決定する。所定の条件は適宜決めてよく、例えば、前述の平行性判断と同様の判断を行って左側境界候補線と平行であると判断されること、としてもよい。また例えば、前述の明瞭性判断と同様の判断を行って明瞭であると判断されること、としてもよい。
【0088】
所定の条件を満たす線候補が複数存在している場合にどの線候補を代替線として決定するかについては適宜決めてよい。例えば、複数の線候補のうち自車線51に最も近い線候補を代替線に決定してもよい。或いは、複数の線候補のうち最も明瞭性が高いものを代替線に決定してもよい。或いは、複数の線候補のうち左側境界候補線との平行性が最も高いものを代替線に決定してもよい。
【0089】
S270では、S260の代替線探索処理の結果、代替線が探索されたか否か、即ち何れかの線候補が代替線として決定されたか否か判断する。代替線が探索されなかった場合は、S240に進む。この場合、S160で選択された右側境界候補線は無効とする。
【0090】
S270で、代替線が探索された場合は、S230に進み、探索された代替線に対して補正処理を実行する。つまり、代替線を左側にオフセットさせることで、代替線を、右側境界区画線61に相当する位置に補正する。
【0091】
例えば、
図9に例示するように、車両101が、中央帯55側にいずれの区画線も認識されない不明瞭領域80が存在している区間を走行しているとする。そして、S260の代替線探索処理によって、対向車線52側の車道外側線54に対応した線候補が代替線として決定されたとする。
【0092】
この場合、S230の補正処理では、左側境界候補線と代替線との間隔Wx2を候補線幅として、代替線の位置を、候補線幅Wx2と車線幅学習値W0との差分だけ左側にオフセットさせる。これにより、代替線は、
図9に二点鎖線で示す位置に補正され、その補正後の代替線が右側境界候補線となる。また、補正後の候補線幅Wcは車線幅学習値W0と同値となる。
【0093】
S240では、道路形状推定処理を実行する。なお、S240では、現在選択されている左右一対の境界候補線を、左右一対の境界区画線53、61の認識結果として扱う。つまり、左右一対の境界区画線53、61の認識結果として、現在選択されている左右一対の境界候補線を採用して、その現在選択されている左右一対の境界候補線に基づいてS240の処理を実行する。
【0094】
S240の道路形状推定処理は、
図2に示す道路形状推定部32によって実現される処理である。S240では、道路形状推定部32が、現在選択されている左右一対の境界候補線に基づいて、自車線51を含む、現在走行中の道路の形状を推定する。なお、S230で補正処理が行われた場合は、右側境界候補線についてはその補正処理後の(つまりオフセット後の)右側境界候補線に基づいて道路の形状を推定する。
【0095】
具体的には、道路形状推定部32は、現在走行中の道路の特性を示す道路パラメータとして、例えば車線位置,車線傾き,車線曲率,車線幅などの各種の道路パラメータを推定する。
【0096】
ここで、車線幅は前述の通りであり、左右一対の境界区画線の間隔である。車線位置とは、車両101の中心を基準とした車線幅上の中心である中心位置であって、車両101の中心からその中心位置までの距離で表すことができる。例えば、車両101の中心が上記中心位置の左側に位置すればマイナスの値、右側に位置すればプラスの値とすることで、車両101に対する各境界区画線の位置を特定することができる。車線傾きとは、左右の境界区画線の中央を通過する仮想的な車線中心の上記中心位置における接線の車両進行方向に対する傾きであって、例えば左側に傾斜すればプラスの値、右側に傾斜すればマイナスの値とすることで角度を特定することができる。車線曲率とは、上記車線中心の曲率である。
【0097】
なお、S260で代替線が探索されなかったことにより右側境界候補線が無効にされている場合は、S240では、左側境界候補線のみで道路形状推定処理を実行する。その際車線幅は、前フレームまでに算出されていた情報を用いる。
【0098】
S250では、認識結果出力処理を実行する。この認識結果出力処理は、
図2に示す認識結果出力部33によって実現される処理である。S250では、認識結果出力部33が、S240で推定された道路形状、即ち各種道路パラメータを、車両制御装置20へ出力する。
【0099】
(4)実施形態の効果
以上説明した実施形態によれば、以下の(1a)〜(1)の効果を奏する。
(1a)本実施形態では、車両101が暫定供用区間50に入った場合、車線幅が学習される。そして、車線幅が学習されると、その後は、右側境界候補線の位置が、車線幅学習値に基づいて補正される。これにより、仮に車両右側において実際の右側境界区画線よりも外側の線が右側境界候補線として選択されても、その右側境界候補線の位置が、車線幅学習値に基づいて、実際の右側境界区画線に対応した位置に補正される。その結果、補正後の左右一対の境界候補線を、最終的に左右一対の境界区画線として精度良く認識でできる。
【0100】
(1b)本実施形態では、車両101が暫定供用区間50に入った場合、状態判定部28が、車線幅学習処理を行っても良いか否かを判定する。そして、車線幅学習処理を実行してもよいと判定された場合に、車線幅の学習が行われる。そのため、車線幅学習処理において、車線幅を精度良く学習することができる。
【0101】
(1c)また、状態判定部28は、車線幅学習処理を行って良いか否かの判定を、少なくとも明瞭線判断及び平行線判断の2つの判断結果に基づいて行う。具体的に、明瞭性判断により明瞭と判断されて且つ平行性判断により平行と判断された場合に、車線幅を学習してよいと判定する。そのため、車線幅学習値の精度をより向上させることができる。
【0102】
(1d)本実施形態では、車両101が暫定供用区間50に入って車線幅学習が行われると、右側境界候補線が、車線幅学習値に基づいて補正される。ただし、常に補正処理が行われるのではなく、状態判定部28によって補正処理を実行しても良いと判定された場合に補正処理が行われる。そのため、右側境界候補線が補正対象として適切ではない状態になっている場合にその右側境界候補線が補正されるのを抑制できる。
【0103】
(1e)また、状態判定部28は、補正処理を実行してもよいか否かの判定を、平行性判断の結果に基づいて行う。具体的に、平行性判断によって、右側境界候補線が左側境界候補線に平行であると判断された場合に、右側境界候補線に対して補正処理を行っても良いと判定する。そのため、補正処理を適切に行うことができる。
【0104】
(1f)本実施形態では、選択されている右側境界候補線について補正処理を実行してはならないと判定された場合、代替線が探索される。そして、代替線が探索された場合は、その代替線に対して補正処理が行われることにより、右側境界候補線が適切に取得される。そのため、中央帯から右側境界候補線が選択されないような状態になっていたとしても、対向車線側に存在する代替線に基づいて、右側境界区画線を適切に認識することができる。
【0105】
(5)特許請求の範囲の文言との対応関係
ここで、本実施形態の文言と特許請求の範囲の文言との対応関係について説明する。
車載カメラ10は撮影部の一例に相当する。側壁72は構造物の一例に相当する。エッジ点抽出部21、マーカ抽出部22、線候補算出部23及び線特徴抽出部24は線抽出部の一例に相当する。状態判定部28は、学習可否判定部、明瞭性判断部、平行性判断部及び補正可否判定部の一例に相当する。車線幅学習部29は学習部の一例に相当する。代替線探索部31は探索部の一例に相当する。
【0106】
また、
図5において、S110〜S140は線抽出部の処理の一例に相当する。S160は境界候補線選択部の処理の一例に相当する。S170は暫定供用判定部の処理の一例に相当する。S180は、学習可否判定部、明瞭性判断部、平行性判断部及び補正可否判定部の処理の一例に相当する。S200は学習部の処理の一例に相当する。S230は補正処理部の処理の一例に相当する。S260は探索部の処理の一例に相当する。S210は補正要否判断部の処理の一例に相当する。
【0107】
(6)他の実施形態
以上、本開示の実施形態について説明したが、本開示は上述の実施形態に限定されることなく、種々変形して実施することができる。
【0108】
(6−1)上記実施形態では、S210で補正が必要かどうかを判断し、補正が必要と判断された場合にS220を経て補正処理を行うように構成されていたが、S210の判断処理は省略してもよい。即ち、選択された右側境界候補線に対して、実際の右側境界区画線との位置関係にかかわらず、補正が可能である限り毎回補正処理を行うようにしてもよい。なおその場合、例えば候補線幅と車線幅学習値とが同値である場合は、補正処理においてはオフセット量が0となり、実質的には補正が行われないことになる。
【0109】
(6−2)車両101の前方を撮影する撮影部として、上記実施形態の車載カメラ10は一例である。撮像部としてどのような構成のものを用いるかについては適宜決めてよい。また、撮像部を複数設け、各撮像部からの画像に基づいて境界区画線の認識や道路形状の推定などの各種処理を行うようにしてもよい。
【0110】
(6−3)車両101が暫定供用区間を走行中、車線幅の学習がどのようなタイミングで行われるかについては、適宜決めてよい。例えば、車両101が暫定供用区間に入った後に車線幅の学習が1回だけ行われてもよい。より具体的に、車両101が暫定供用区間に入った後、車線幅の学習が1回行われて車線幅学習値がメモリに記憶されたら、以後、車両101が当該暫定供用区間を出るまでは、学習は行われず、メモリに記憶されている車線幅学習値を用いて補正処理が行われてもよい。
【0111】
また例えば、学習を行う条件が予め決められていて、車両101が暫定供用区間に入った後、上記条件が成立する度に学習が行われてもよい。上記条件としては、例えば、車両101が一定距離走行したこと、候補線幅と現在記憶されている車線幅学習値との差が一定値以上になること、などが挙げられる。
【0112】
(6−4)上記実施形態における1つの構成要素が有する複数の機能を、複数の構成要素によって実現したり、1つの構成要素が有する1つの機能を、複数の構成要素によって実現したりしてもよい。また、複数の構成要素が有する複数の機能を、1つの構成要素によって実現したり、複数の構成要素によって実現される1つの機能を、1つの構成要素によって実現したりしてもよい。また、上記実施形態の構成の一部を省略してもよい。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加又は置換してもよい。なお、特許請求の範囲に記載した文言から特定される技術思想に含まれるあらゆる態様が本開示の実施形態である。
【0113】
(6−5)上述した区画線認識装置の他、当該区画線認識装置を構成要素とするシステム、当該区画線認識装置としてコンピュータを機能させるためのプログラム、このプログラムを記録した媒体、区画線認識方法等、種々の形態で本発明を実現することもできる。