(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0009】
本発明の実施形態を図面に基づき説明する。
<第1の実施形態>
1.走行区画線認識装置1の構成
走行区画線認識装置1の構成を
図1及び
図2に基づき説明する。走行区画線認識装置1は、車両に搭載される車載装置である。以下では、走行区画線認識装置1を搭載した車両を自車両とする。
図1に示すように、走行区画線認識装置1は、車載カメラ3と、自車両状態量検出センサ5と、演算ユニット7とを備える。
【0010】
車載カメラ3は撮影ユニットの一例である。
図2A及び
図2Bに示すように、車載カメラ3は、自車両101におけるフロントガラス103の上部に取り付けられており、自車両101の前方を撮影し、画像を生成する。生成された画像の画角には、自車両101の前方における路面が含まれる。車載カメラ3が生成した画像は、演算ユニット7に出力される。
【0011】
車載カメラ3は、所定時間ごとに繰り返し、1つの画像を生成する。以下では、1つの画像を1フレームと呼ぶこともある。車載カメラ3が、フレームF
1、F
2、F
3・・・F
i、F
i+1・・・を順次生成した場合、フレームF
iは、フレームF
i+1の1つ前のフレームである。
【0012】
自車両状態量検出センサ5は、自車両の車速とヨーレートとを検出し、検出結果を演算ユニット7に出力する。演算ユニット7は、CPU、RAM、ROM等を備えた周知のコンピュータである。演算ユニット7は、ROMに記憶されたプログラムにより、後述する処理を実行する。演算ユニット7は、機能的に、エッジ点抽出ユニット9、走行区画線候補検出ユニット11、走行区画線らしさ算出ユニット13、走行区画線認識ユニット15、レーンチェンジ検出ユニット17、及び条件変更ユニット19を備える。各ユニットが実行する処理は後述する。
【0013】
自車両は、走行区画線認識装置1に加えて、警報/車両制御装置105を備える。警報/車両制御装置105は、走行区画線認識装置1が出力する走行区画線パラメータに基づき、警報及び車両制御を行う。詳しくは後述する。
【0014】
2.走行区画線認識装置1が実行する走行区画線認識処理
走行区画線認識装置1が実行する走行区画線認識処理を
図3〜
図6に基づき説明する。走行区画線認識処理は、自車両の走行中、所定時間ごとに繰り返し実行される。
【0015】
図3のステップ1では、車載カメラ3が自車両の前方を撮影し、画像(1つのフレーム)を生成する。この画像の例を
図4に示す。この画像には、自車両の前方における路面107と、自車両が走行中の車線を区画する走行区画線109、111が含まれている。
【0016】
図3に戻り、ステップ2では、エッジ点抽出ユニット9が、前記ステップ1で生成した画像からエッジ点を抽出する。エッジ点とは、隣接する画素と比べて、輝度値の差が基準となる値よりも大きい画素を意味する。
図5は、
図4に示す画像において抽出したエッジ点113を表す。エッジ点113は、走行区画線109、111の左側の境界上と、右側の境界上とにそれぞれ存在する。
【0017】
図3に戻り、ステップ3では、走行区画線候補検出ユニット11が、前記ステップ2で抽出したエッジ点に基づき走行区画線候補を検出する。具体的には、エッジ点について、ハフ変換による直線検出を行い、ハフ変換の投票空間上で最も投票数の多い直線を走行区画線候補として検出する。
図5に、検出した走行区画線候補115、117、119、121の例を示す。
【0018】
なお、エッジ点に対する最小二乗法による直線フィッティングを行った結果を走行区画線候補としてもよい。また、最小二乗法で求めた直線を初期直線とし、その初期直線からの誤差(直線までの距離)が所定の閾値以下のエッジ点のみを使って、ハフ変換による直線検出を行い、その結果を最終的な走行区画線候補とする等して、ハフ変換と最小二乗法を組み合わせてロバストに走行区画線候補を検出してもよい。
【0019】
ステップ4では、走行区画線らしさ算出ユニット13が、前記ステップ3で検出した走行区画線候補の走行区画線らしさ(尤度)を算出する。具体的には以下のように行う。
まず、今回の走行区画線認識処理で使用しているフレーム(以下、現フレームとする)よりも1つ前のフレーム(以下、前回フレームとする)を呼び出す。次に、前回フレームで検出された走行区画線候補の位置を、その走行区画線候補が現フレームにおいて現れるはずの位置に補正する。
【0020】
すなわち、自車両は、前回フレームの生成時から、現フレームの生成時までに移動しているので、前回フレームで検出した走行区画線候補が現フレームで現れる場合、現フレームにおける走行区画線候補の位置は、自車両の移動の分だけ、前回フレームにおける位置から変位しているはずである。
【0021】
そこで、前回フレームの生成時から、現フレームの生成時までの自車両の移動量及び移動方向を算出し、その算出結果に応じて、前回フレームで検出した走行区画線候補の位置を、現フレームで現れるはずの位置に補正する。なお、自車両の移動量及び移動方向は自車両状態量検出センサ5により検出することができる。前回フレームで検出した走行区画線候補が複数ある場合は、それぞれについて上記のように補正する。
【0022】
図6に、上記のように位置補正した後の、前回フレームで検出された走行区画線候補123を示す。また、
図6には、現フレームで検出された走行区画線候補125も示す。そして、現フレームで検出された走行区画線候補125と、それに最も近い走行区画線候補123との位置のずれの大きさを算出する。両者の位置のずれの大きさが基準値X以下であれば、少なくとも、前回フレームと現フレームとの2フレームにおいて、走行区画線候補の位置のずれが基準値X以下である状態が継続していることになる。
【0023】
また、仮に、前回フレームと、さらのその1つ前のフレームにおいても、走行区画線候補の位置のずれが基準値以下であるならば、連続する3フレームにわたって、走行区画線候補の位置のずれが基準値X以下である状態が継続していることになる。
【0024】
本ステップ4では、上記のようにして、過去のフレームから現フレームまで、走行区画線候補の位置のずれが基準値X以下である状態が継続しているフレーム数(以下、継続フレーム数とする)を算出する。そして、その継続フレーム数が大きいほど、対応する走行区画線候補における走行区画線らしさの値を大きく設定する。なお、継続フレーム数が大きいということは、同一の走行区画線候補が継続して検出されていることを意味するから、その走行区画線候補は走行区画線である可能性が高い。
【0025】
ステップ5では、走行区画線認識ユニット15が、前記ステップ3で検出した走行区画線候補のうち、前記ステップ4で算出した走行区画線らしさが閾値Y以上であるものを走行区画線として認識する。
【0026】
ステップ6では、走行区画線認識ユニット15が、前記ステップ5で認識した走行区画線の画像を、鳥瞰変換する(自車両の上方の仮想視点から見た画像へ変換する)。鳥瞰変換後の画像を以下では鳥瞰画像とする。
【0027】
ステップ7では、走行区画線認識ユニット15が、前記ステップ6で作成した鳥瞰画像から、走行区画線パラメータを推定する。走行区画線パラメータとしては、オフセット(走行区画線に対する自車両の車幅方向における位置)、走行区画線に対する自車両のヨー角、走行区画線の曲率等がある。
【0028】
ステップ8では、走行区画線認識ユニット15が、前記ステップ7で推定した走行区画線パラメータを警報/車両制御装置105に出力する。
なお、警報/車両制御装置105は、走行区画線パラメータを用いて、例えば、以下のような処理を行う。警報/車両制御装置105は、走行区画線パラメータに基づき、走行中の車線から自車両が逸脱する危険のある状況(例えば、自車両と走行区画線との距離が小さい状況、ヨー角が大きい状況等)であるか否かを判断し、そのような状況であると判断した場合は、警報を発し、また、車線からの逸脱を防止するための車両制御(例えば、自動操舵、自動ブレーキ等)を行う。
【0029】
3.走行区画線認識装置1が実行する条件変更処理
走行区画線認識装置1が所定時間ごとに繰り返し実行する条件変更処理を
図7、
図8に基づき説明する。
【0030】
図7のステップ11では、レーンチェンジ検出ユニット17が、自車両はレーンチェンジ中であるか否かを判断する。なお、レーンチェンジ中とは、後述するステップ13においてレーンチェンジ開始が設定され、且つ後述するステップ16におけるレーンチェンジ終了が未だ設定されていない状態をいう。また、レーンチェンジ中でない状態とは、ステップ13においてレーンチェンジ開始が一度も設定されていないか、あるいは、後述するステップ16においてレーンチェンジ終了が設定され、その後、レーンチェンジ開始が未だ設定されていない状態をいう。
【0031】
レーンチェンジ中ではない場合はステップ12に進み、レーンチェンジ中である場合はステップ15に進む。
ステップ12では、レーンチェンジ検出ユニット17が、自車両101の中心を通り、自車両の前後方向に平行な直線(以下では基準線127とする)と、自車両101に最も近い走行区画線111との、車幅方向における距離dを算出する(
図8参照)。距離dの算出には、車載カメラ3が生成した画像と、その画像において認識された走行区画線とを用いることができる。そして、その距離dが予め設定された下限値Zより小さいか否かを判断する。距離dが下限値Zより小さい場合はステップ13に進み、下限値Z以上である場合は本処理を終了する。
【0032】
ステップ13では、レーンチェンジ検出ユニット17が、レーンチェンジ開始を設定する。この時点から、後述するステップ16でレーンチェンジ終了が設定されるまで、レーンチェンジ中の状態となる。
【0033】
ステップ14では、条件変更ユニット19が、前記ステップ4の処理で用いる基準値Xの値を、レーンチェンジ中でない場合の値(以下では、通常値とする)よりも大きい値に変更する。基準値Xの値が大きくなると、画像のフレーム間における走行区画線候補の位置のずれが基準値X以下である状態が継続しやすくなり、走行区画線らしさが大きくなりやすくなる。その結果、走行区画線候補が、走行区画線として認識されやすくなる。
【0034】
一方、前記ステップ11で否定判断した場合はステップ15に進む。ステップ15では、レーンチェンジ検出ユニット17が、前回のステップ15の処理以降に、走行区画線を認識したか否かを判断する。走行区画線を認識した場合はステップ16に進み、認識しなかった場合は本処理を終了する。
【0035】
ステップ16では、レーンチェンジ検出ユニット17が、レーンチェンジ終了を設定し、この時点以降は、レーンチェンジ中ではなくなる。
ステップ17では、条件変更ユニット19が、基準値Xの値を通常値に戻す。
【0036】
4.走行区画線認識装置1が奏する効果
(1A)走行区画線認識装置1は、レーンチェンジ中である場合は、レーンチェンジ中でない場合よりも、走行区画線らしさの算出条件を、走行区画線らしさが大きくなりやすいものに変更する。すなわち、走行区画線認識装置1は、レーンチェンジ中である場合、前記ステップ4の処理で用いる基準値Xの値を、通常値よりも大きい値に変更する。その結果、画像のフレーム間における走行区画線候補の位置のずれが基準値X以下である状態が継続しやすくなり、走行区画線候補の走行区画線らしさが大きくなりやすくなる。そのことにより、走行区画線認識装置1は、レーンチェンジ中に走行区画線を早期に認識することができる。
【0037】
(1B)走行区画線認識装置1は、レーンチェンジ中でない場合は、基準値Xの値を通常値とする。そのことにより、レーンチェンジ中でない場合、走行区画線を高精度に認識することができる。
【0038】
(1C)走行区画線認識装置1は、自車両と走行区画線との車幅方向における距離dが予め設定された下限値Z以下であることに基づき、レーンチェンジ中であることを検出する。そのため、レーンチェンジ中であることを容易且つ正確に検出することができる。
【0039】
(1D)走行区画線認識装置1は、レーンチェンジ中であることの検出後、走行区画線を認識することを条件として、レーンチェンジの終了を検出する。そのため、レーンチェンジの終了を容易且つ正確に検出することができる。
<第2の実施形態>
1.走行区画線認識装置1の構成
本実施形態の走行区画線認識装置1は、前記第1の実施形態と同様の構成を有する。
【0040】
2.走行区画線認識装置1が実行する処理
本実施形態の走行区画線認識装置1が実行する処理は、基本的には前記第1の実施形態と同様である。以下では、共通する構成については説明を省略し、相違点を中心に説明する。
【0041】
本実施形態では、前記ステップ14の処理において、前記ステップ5の処理で用いる閾値Yの値を、レーンチェンジ中でない場合の値よりも小さくする。閾値Yの値が小さくなると、走行区画線候補が、走行区画線として認識されやすくなる。
【0042】
また、本実施形態では、前記ステップ17の処理において、閾値Yの値を、レーンチェンジ中でない場合の値に戻す。
本実施形態において、基準値Xの値は、レーンチェンジ中であるか否かによらず、一定としてもよいし、前記第1の実施形態と同様に変更してもよい。
【0043】
3.走行区画線認識装置1が奏する効果
本実施形態によれば、前記第1の実施形態の効果(1C)、(1D)に加え、以下の効果が得られる。
【0044】
(2A)走行区画線認識装置1は、レーンチェンジ中である場合は、レーンチェンジ中でない場合よりも、閾値Yを小さくする。そのことにより、走行区画線認識装置1は、レーンチェンジ中に走行区画線を早期に認識することができる。
【0045】
(2B)走行区画線認識装置1は、レーンチェンジ中でない場合は、閾値Yの値を、レーンチェンジ中でない場合の値に戻す。そのことにより、レーンチェンジ中でない場合、走行区画線を高精度に認識することができる。
<第3の実施形態>
1.走行区画線認識装置1の構成
本実施形態の走行区画線認識装置1は、前記第1の実施形態と同様の構成を有する。
【0046】
2.走行区画線認識装置1が実行する処理
本実施形態の走行区画線認識装置1が実行する処理は、基本的には前記第1の実施形態と同様である。以下では、共通する構成については説明を省略し、相違点を中心に説明する。
【0047】
本実施形態では、前記ステップ4で算出する走行区画線らしさは、隣接する走行区画線候補との間での平行度の高さである。すなわち、
図5に示す例において、走行区画線候補115の走行区画線らしさは、隣接する走行区画線候補117との間での平行度が高いほど、高い。ここで、平行度とは、走行区画線候補115と、隣接する走行区画線候補117とが成す角度が小さいほど、高くなるパラメータである。
【0048】
また、本実施形態の前記ステップ5の処理では、前記ステップ3で検出した走行区画線候補のうち、前記ステップ4で算出した、平行度に関する走行区画線らしさが、平行度に関する閾値Y以上であるものを走行区画線として認識する。
【0049】
また、本実施形態の前記ステップ14の処理では、前記ステップ5の処理で用いる、平行度に関する閾値Yの値を、レーンチェンジ中でない場合の値よりも小さくする。閾値Yの値が小さくなると、走行区画線候補が、走行区画線として認識されやすくなる。
【0050】
また、本実施形態の前記ステップ17の処理では、平行度に関する閾値Yの値を、レーンチェンジ中でない場合の値に戻す。
3.走行区画線認識装置1が奏する効果
本実施形態によれば、前記第1の実施形態の効果(1C)、(1D)と、前記第2の実施形態の効果(2A)、(2B)とが得られる。
<その他の実施形態>
(1)前記第1の実施形態にて、画像における周辺部では、画像における中心部に比べて、基準値Xの値が大きくなるようにしてもよい。この場合、画像における周辺部では、画像における中心部に比べて、走行区画線らしさの算出条件が、走行区画線らしさが大きくなりやすいものとなる。
【0051】
レーンチェンジ中において、一般的に、走行区画線は画像における周辺部に現れやすい。上記のように、画像における周辺部にて、走行区画線らしさの算出条件を、走行区画線らしさが大きくなりやすいものとすれば、走行区画線を早期に認識できる。また、画像における中心部では、走行区画線を高精度に認識することができる。
【0052】
上記のように、画像における周辺部では、画像における中心部に比べて、基準値Xの値が大きい状態は、レーンチェンジ中に限って設定してもよいし、レーンチェンジ中であるか否かによらず設定してもよい。
【0053】
(2)前記第2、第3の実施形態において、画像における周辺部では、画像における中心部に比べて、閾値Yの値が小さくなるようにしてもよい。この場合、画像における周辺部では、画像における中心部に比べて、走行区画線が認識されやすくなる。
【0054】
レーンチェンジ中において、一般的に、走行区画線は画像における周辺部に現れやすい。上記のように、画像における周辺部にて、走行区画線を認識しやすくすることで、走行区画線を早期に認識できる。また、画像における中心部では、走行区画線を高精度に認識することができる。
【0055】
上記のように、画像における周辺部では、画像における中心部に比べて、閾値Yの値が小さい状態は、レーンチェンジ中に限って設定してもよいし、レーンチェンジ中であるか否かによらず設定してもよい。
【0056】
(3)前記第1、第2の実施形態の前記ステップ3の処理では、ハフ変換により得られた直線のうち、隣接する直線との平行度が閾値Y以上であるものを、走行区画線候補とし、平行度が閾値Y未満のものは、走行区画線候補としないようにしてもよい。
【0057】
この場合、前記ステップ14の処理において、前記ステップ3の処理で用いる、平行度に関する閾値Yの値を、レーンチェンジ中でない場合の値よりも小さくする。閾値Yの値が小さくなると、ハフ変換により得られた直線が、走行区画線候補として検出されやすくなる。
【0058】
また、前記ステップ17の処理において、前記ステップ3の処理で用いる、平行度に関する閾値Yの値を、レーンチェンジ中でない場合の値に戻す。
上記の実施形態によれば、レーンチェンジ中である場合は、レーンチェンジ中でない場合よりも、閾値Yが小さくなり、走行区画線候補が検出されやすくなる。その結果、走行区画線が早期に認識されやすくなる。
【0059】
また、レーンチェンジ中でない場合は、閾値Yの値を、レーンチェンジ中でない場合の値に戻す。そのことにより、レーンチェンジ中でない場合、走行区画線候補が検出されにくくなり、走行区画線を高精度に認識することができる。
【0060】
(4)前記第1〜第3の実施形態において、1つの走行区画線候補について、複数種類の走行区画線らしさをそれぞれ算出し、それらを乗算して、最終的な走行区画線らしさを算出してもよい。そして、その最終的な走行区画線らしさが閾値Y以上である走行区画線候補を、走行区画線として認識してもよい。
【0061】
走行区画線らしさとしては、例えば、ハフ変換処理における投票数、走行区画線候補を境とする両側でのコントラストの強さ、走行区画線候補の直線性、一対の走行区画線候補で挟まれた領域での模様の少なさ、等が挙げられる。
【0062】
(5)前記第1〜第3の実施形態において、前記ステップ12における判断の方法は他のものであってもよい。例えば、自車両の操舵角が所定の上限値以上であればステップ13に進み、上限値未満であれば処理を終了するようにしてもよい。また、自車両のヨーレートが所定の上限値以上であればステップ13に進み、上限値未満であれば処理を終了するようにしてもよい。また、自車両の進行方向と走行区画線とが成す角度が所定の上限値以上であればステップ13に進み、上限値未満であれば処理を終了するようにしてもよい。
【0063】
(6)前記第1〜第3の実施形態の前記ステップ4では、フレーム間における走行区画線候補の方向のずれ(走行区画線候補の長手方向同士が成す角度)が基準値X以下である状態が継続しているフレーム数を継続フレーム数として算出し、その継続フレーム数が大きいほど、走行区画線らしさの値を大きく設定してもよい。
【0064】
(7)前記第1〜第3の実施形態では、過去のフレームから現フレームまで、走行区画線候補の位置のずれが基準値X以下である状態が継続している時間、又は、走行区画線候補の位置のずれが基準値X以下である状態が継続している間における自車両の走行距離を算出し、それらの値が大きいほど、走行区画線らしさの値を大きく設定してもよい。
【0065】
(8)上記実施形態における1つの構成要素が有する機能を複数の構成要素として分散させたり、複数の構成要素が有する機能を1つの構成要素に統合させたりしてもよい。また、上記実施形態の構成の少なくとも一部を、同様の機能を有する公知の構成に置き換えてもよい。また、上記実施形態の構成の一部を省略してもよい。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加又は置換してもよい。なお、特許請求の範囲に記載した文言のみによって特定される技術思想に含まれるあらゆる態様が本発明の実施形態である。
【0066】
(9)上述した走行区画線認識装置の他、当該走行区画線認識装置を構成要素とするシステム、当該走行区画線認識装置としてコンピュータを機能させるためのプログラム、このプログラムを記録した媒体、走行区画線認識方法等、種々の形態で本発明を実現することもできる。