(57)【特許請求の範囲】
【請求項１】
車両前方の画像を撮像する撮像手段と、
前記撮像手段で撮像した画像の各画素の速度情報を算出する速度情報算出手段と、
前記画像内を垂直方向に分割して短冊状の領域を設定し、前記速度情報算出手段で算出した各画素の速度情報に基づいて、前記短冊状の領域内における速度成分を持つ画素の最下点を検出することにより、速度成分を有する画素が縦方向に連続して存在する領域の最下点の位置を検出する最下点位置検出手段と、
前記最下点位置検出手段で検出された最下点位置を実空間上の３次元位置に変換して、各最下点の３次元座標値を算出する３次元座標値算出手段と、
前記３次元座標値算出手段で算出した各最下点の３次元座標値に基づいて、各最下点位置が、Ｘ軸領域とＺ軸領域を規定した複数の２次元領域のどの領域に該当するかを判定し、同じＸ軸領域範囲内で複数のＺ軸領域範囲内に最下点位置が存在する列を、前記車両が走行する走路の走路境界線を含む可能性が高い領域として抽出する走路境界領域抽出手段と、
前記走路境界領域抽出手段によって抽出された領域に存在する最下点位置に基づいてｘｙ座標系での回帰分析を行って算出した直線の傾きが、Ｘ軸領域の左端座標と各Ｚ軸領域の代表座標をｘｙ座標系に変換し、回帰分析を行って算出した傾きと、Ｘ軸領域の右端座標と各Ｚ軸領域の代表座標をｘｙ座標系に変換し、回帰分析を行って算出した傾きとで規定される範囲内に入っている場合に、前記走路境界領域抽出手段によって抽出された領域内に存在する最下点位置を結ぶ直線は、前記車両が走行する走路の走路境界線であると判定する判定手段とを備えることを特徴とする走路境界線検出装置。
【請求項２】
請求項１に記載の走路境界線検出装置において、
前記３次元位置分布算出手段は、前記最下点位置検出手段で検出された最下点位置は全て路面上に位置するものとして、三角測量により３次元位置に変換することを特徴とする走路境界線検出装置。
【請求項３】
請求項１または２に記載の走路境界線検出装置において、
前記車両が走行する走路の走路境界線は、白線、ガードレール、縁石、外壁と路面との接点を結ぶ直線、立体物と路面との接点を結ぶ直線、および路面とそれ以外の領域との直線の少なくともいずれかであることを特徴とする走路境界線検出装置。
【請求項４】
車両前方の画像を撮像し、
撮像した画像の各画素の速度情報を算出し、
前記画像内を垂直方向に分割して短冊状の領域を設定し、前記速度情報算出手段で算出した各画素の速度情報に基づいて、前記短冊状の領域内における速度成分を持つ画素の最下点を検出することにより、速度成分を有する画素が縦方向に連続して存在する領域の最下点の位置を検出し、
検出した最下点位置を実空間上の３次元位置に変換して、各最下点の３次元座標値を算出し、
算出した各最下点の３次元座標値に基づいて、各最下点位置が、Ｘ軸領域とＺ軸領域を規定した複数の２次元領域のどの領域に該当するかを判定し、同じＸ軸領域範囲内で複数のＺ軸領域範囲内に最下点位置が存在する列を、前記車両が走行する走路の走路境界線を含む可能性が高い領域として抽出し、
抽出した領域に存在する最下点位置に基づいてｘｙ座標系での回帰分析を行って算出した直線の傾きが、Ｘ軸領域の左端座標と各Ｚ軸領域の代表座標をｘｙ座標系に変換し、回帰分析を行って算出した傾きと、Ｘ軸領域の右端座標と各Ｚ軸領域の代表座標をｘｙ座標系に変換し、回帰分析を行って算出した傾きとで規定される範囲内に入っている場合に、抽出された領域内に存在する最下点位置を結ぶ直線は、車両が走行する走路の走路境界線であると判定する走路境界検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、路面に存在する物体を検出するための走路境界線検出装置、および走路境界線検出方法に関する。
【背景技術】
【０００２】
次のような自動車用の走行制御装置が特許文献１によって知られている。この走行制御装置は、画像からエッジを検出し、直線上に並んでいるエッジ列をハフ変換して走路境界を検出する。
【０００３】
【特許文献１】特開平１０−２１４３２６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の装置では、走路境界を検出するためにハフ変換を行っていたが、ハフ変換は、走路境界を構成する点を検出するごとにパラメータ空間に曲線を描き、曲線上の点の累積値を加算する必要があり、この処理を走路境界を構成する全ての点に対して行わなければならないため、走路境界を検出するための処理が重くなるという問題が生じていた。
【課題を解決するための手段】
【０００５】
本発明は、車両前方の画像を撮像して、撮像した画像の各画素の速度情報を算出する。そして画像内を垂直方向に分割して短冊状の領域を設定し、速度情報算出手段で算出した各画素の速度情報に基づいて、短冊状の領域内における速度成分を持つ画素の最下点を検出することにより、速度成分を有する画素が縦方向に連続して存在する領域の最下点の位置を検出し、算出した各最下点の３次元座標値に基づいて、各最下点位置が、Ｘ軸領域とＺ軸領域を規定した複数の２次元領域のどの領域に該当するかを判定し、同じＸ軸領域範囲内で複数のＺ軸領域範囲内に最下点位置が存在する列を、車両が走行する走路の走路境界線を含む可能性が高い領域として抽出し、抽出した領域に存在する最下点位置に基づいてｘｙ座標系での回帰分析を行って算出した直線の傾きが、Ｘ軸領域の左端座標と各Ｚ軸領域の代表座標をｘｙ座標系に変換し、回帰分析を行って算出した傾きと、Ｘ軸領域の右端座標と各Ｚ軸領域の代表座標をｘｙ座標系に変換し、回帰分析を行って算出した傾きとで規定される範囲内に入っている場合に、抽出された領域内に存在する最下点位置を結ぶ直線は、車両が走行する走路の走路境界線であると判定する。
【発明の効果】
【０００６】
本発明によれば、各画素の速度情報に基づいて検出した最下点位置を結ぶ直線が、車両が走行する走路の走路境界線であるか否かを判定することができる。これによって、走路境界を検出するための処理を軽くすることができる。
【発明を実施するための最良の形態】
【０００７】
図１は、本実施の形態における走路境界線検出装置の一実施の形態の構成例を示すブロック図である。走路境界線検出装置１００は車両に搭載され、車両前方を撮像するカメラ１０１と、カメラ１０１で撮像した画像を格納する画像メモリ１０２と、カメラ１０１で撮像されて画像メモリ１０２に記憶した画像に対して画像処理を実行する制御装置１０３と、後述するカウント値を記憶するメモリ１０４とを備えている。
【０００８】
カメラ１０１は、例えばＣＣＤやＣＭＯＳなどの撮像素子を有したカメラであり、連続的に車両前方を撮像し、各フレームごとに画像メモリ１０２に出力する。なお、カメラ１０１は、図２に示すように車両の室内上部前方に設置される。その視軸向きＺは車両前方正面方向に向き、撮像面の水平軸Ｘは地表面と平行となるように、また撮像面の垂直軸Ｙは地表面と垂直になるように設定されている。カメラ１０１で撮像した連続画像は、画像メモリ１０２に出力されて格納される。
【０００９】
カメラ１０１で撮像した画像（自車両前方の画像）の具体例を図３に示す。カメラ１０１による撮像画像３ａは、画像左上を原点として左から右へｘ軸、上から下へｙ軸とするｘｙ座標系（カメラ座標）によって表される。なお、図３においては、左右の走路脇に設置された縁石、白線、ガードレール、外壁、または駐車車両などの走路の境界線（走路境界）Ａ、Ｂ、およびＣが撮像画像３ａ内に含まれている。
【００１０】
制御装置１０３は、後述するように画像メモリ１０２に記憶された撮像画像３ａを画像処理して、撮像画像３ａ内に存在する走路境界の検出を行う。撮像画像３ａ内に存在する走路境界の検出を行うに当たっては、まず、撮像画像３ａ内に存在する物体の画像内における横方向（水平方向）の移動速度を検出して、撮像画像３ａ内における物体の横方向の移動方向と移動速度とを階級値で表した速度画像を生成する。
【００１１】
すなわち、制御装置１０３は、カメラ１０１で撮像された画像を画像メモリ１０２から読み込み、読み込んだ撮像画像３ａに対して所定の閾値を用いて２値化することによって、画像内に存在する物体のエッジを抽出する。そして、制御装置１０３は、抽出した画像内の各エッジに対して、細線化処理を行ってエッジの中心を正確に求める。そして、制御装置１０３は、細線化されたエッジを、エッジ幅が一定の幅、例えば３画素分の幅になるように膨張させる。このように抽出したエッジを正規化することによって、各エッジが均一な幅を持ったエッジ画像を得ることができる。
【００１２】
図４は、上述した抽出したエッジを正規化して、エッジ画像を得るために行う処理の具体例を示す図である。まず、制御装置１０３は、エッジ画像に対して２値化処理を行う。２値化処理とはエッジの検出された位置の画素を１とし、エッジの検出されなかった位置の画素を０とする処理である。制御装置１０３は、２値化処理によって図４（ａ）に示すような２値化画像を生成する。
【００１３】
次に、制御装置１０３は、生成された２値化画像に対して細線化処理を行う。細線化処理とは、検出されたエッジのエッジ幅を所定画素幅になるまで縮小する処理である。図４（ｂ）では所定画素幅として１画素になるまでエッジのエッジ幅を細線化している。そして、制御装置１０３は、このようにエッジを所定の画素幅になるまで細線化することによって、エッジの中心となる中心位置ｘ０を設定している。ここでは一例として１画素に細線化する場合について説明しているが、その他の画素数に細線化してもよい。
【００１４】
次に、制御装置１０３は、細線化されたエッジのエッジ幅を膨張させる膨張処理を行う。膨張処理とは、細線化によって設定された中心位置からエッジの移動方向に向かってエッジ幅を膨張させるとともに、中心位置からエッジの移動方向と反対方向にもエッジ幅を膨張させる処理である。例えば、図４（ｃ）では、エッジの中心位置ｘ０からエッジの移動方向（ｘ軸の正方向）に１画素膨張させるとともに、エッジの中心位置ｘ０からエッジの移動方向と反対方向（ｘ軸の負方向）に１画素膨張させて、エッジ幅を３画素に膨張させている。
【００１５】
このように細線化処理と膨張処理とを行うことによって、抽出したエッジ画像のエッジ幅を、エッジの移動方向に向かって所定の幅に統一して規格化している。
【００１６】
次に、制御装置１０３は、エッジ幅の規格化されたエッジに対してカウントアップ処理を行う。カウントアップ処理とは、エッジが検出された位置のメモリアドレスの値（カウンタ値）をカウントアップし、エッジが検出されなかった位置のメモリアドレスの値を初期化する処理である。
【００１７】
以下、図４（ｃ）〜（ｆ）に基づいてエッジのカウントアップ処理について説明する。ここでは簡単のためにエッジはｘ軸の正方向に移動するものとして説明する。なお、エッジはｘ軸の負方向やｙ軸方向、あるいは２次元的に移動する場合も同様に説明することができる。
【００１８】
図４（ｃ）に示すように、エッジはあるフレームにおいて位置ｘ０にエッジの中心位置があり、その中心位置からエッジの移動方向に１画素の位置ｘ０＋１と、中心位置からエッジの移動方向と反対方向に１画素の位置ｘ０−１に膨張されている。
【００１９】
このような場合にエッジが検出された位置ｘ０−１、ｘ０、ｘ０＋１のカウント値が１ずつカウントアップされ、エッジが検出されなかった位置のカウント値がリセットされる。
例えば、図４（ｄ）では、時刻ｔにおいて位置ｘ０−１、ｘ０、ｘ０＋１にエッジが検出されているので、それぞれの位置で１ずつカウントアップされて、位置ｘ０＋１のカウント値が１、位置ｘ０のカウント値が３、位置ｘ０−１のカウント値が５になっている。そして、図４（ｅ）に示すように時刻ｔ＋１でもエッジが移動していないので、位置ｘ０−１、ｘ０、ｘ０＋１の各位置でエッジが検出され、位置ｘ０−１、ｘ０、ｘ０＋１のカウント値をさらに１ずつカウントアップして、位置ｘ０＋１のカウント値を２、位置ｘ０のカウント値を４、位置ｘ０−１のカウント値を６としている。
【００２０】
さらに、図４（ｆ）に示すように時刻ｔ＋２では、エッジがｘ軸の正方向に１画素シフトして位置ｘ０、ｘ０＋１、ｘ０＋２の位置でエッジが検出されている。したがって、エッジが検出された位置ｘ０、ｘ０＋１、ｘ０＋２のカウント値がカウントアップされ、エッジが検出されなかった位置ｘ０−１のカウント値がリセットされる。この結果、図４（ｆ）に示すように位置ｘ０＋２のカウント値が１、位置ｘ０＋１のカウント値が３、位置ｘ０のカウント値が５となっている。さらに、エッジが検出されなかった位置ｘ０−１のカウント値はリセットされて０になっている。
【００２１】
このようにして、エッジが検出された位置のカウント値をカウントアップし、エッジの検出されなかった位置のカウント値をリセットしている。図４では、カウント値を検出する位置として、エッジの中心位置（ｘ０）と、この中心位置からエッジの移動方向へ１画素の位置（ｘ０＋１）と、中心位置からエッジの移動方向と反対方向に１画素の位置（ｘ０−１）の３箇所でカウント値を検出していたが、後述するカウント値の傾きが求められれば、エッジの移動方向に対して２箇所以上であれば何箇所のカウント値を検出してもよい。
【００２２】
また、エッジが移動する速度に比べて、フレームレートが十分に高く設定されていれば、連続するフレーム間において、エッジは同じ位置で複数回検出される。例えば、図４の例では、位置ｘ０において時刻ｔと時刻ｔ＋１の２回エッジが検出されている。したがって、エッジが検出された位置のカウント値をカウントアップしていくと、そのカウント値はその位置においてエッジが検出されている時間（フレーム数）と等しくなる。特にエッジのカウント値の中で最小のカウント値ｈは、エッジが移動してから何フレームの間、同じ位置にあるかということを表している。
【００２３】
次に、制御装置１０３は、エッジの移動速度、移動方向および位置を算出する。制御装置１０３は、まずカウント値の移動方向への傾きを算出し、この傾きに基づいて、エッジの移動方向、移動速度および位置を算出する。
【００２４】
例えば、図４（ｅ）の場合では、位置ｘ０−１、ｘ０、ｘ０＋１のカウント値がそれぞれ６、４、２となっている。したがって、位置ｘ０−１のカウント値６からｘ０＋１のカウント値２を引くことによって、カウント値の傾きをＨ＝（６−２）／２＝２として算出することができる。これは次式（１）を意味するので、これによりエッジが位置ｘ０のある１画素を通過するのに要した時間（フレーム数）を算出したことになる。
Ｈ＝｛（エッジが位置ｘ０−１に移動してから現在までの時間）−（エッジが位置ｘ０＋１に移動してしまった後の時間）｝／（２画素）  ・・・（１）
したがって、カウント値の傾きＨはエッジが１画素移動するために何フレームを要したかを求めることになり、このカウント値の傾きＨに基づいてエッジの移動速度１／Ｈを算出することができる。
【００２５】
図４（ｅ）では１画素移動するのに４フレームを要したことになるので、エッジの移動速度は１／４（画素／フレーム）と算出することができる。同様に、図１１（ｆ）でもＨ＝（５−１）／１＝４となるので、エッジの移動速度は１／４（画素／フレーム）になる。
【００２６】
また、エッジの移動方向は、カウント値の大小によって判断することができる。エッジが移動して新たにエッジが検出された位置のカウント値は１であり、各位置のカウント値の中では最も小さな値となる。したがって、エッジが移動する方向のカウント値は小さく、エッジが移動する方向と反対方向のカウント値は大きくなるので、これによってエッジの移動方向を判断することができる。
【００２７】
さらに、エッジが移動する速度に比べてフレームレートが十分に高く設定されていれば、検出対象物は等速移動をしていると仮定することができる。また、現在の位置におけるカウント値の中で最小のカウント値ｈは、エッジがその位置で検出されている時間、すなわちエッジが移動してから何フレームの間、同じ位置にあるかということを表している。
【００２８】
これらのことにより、エッジの位置は、エッジの中心位置をｘ０とすると、次式（２）により求めることができる。
エッジの位置＝ｘ０＋ｈ／Ｈ  ・・・（２）
例えば図４（ｅ）では、エッジの速度は１／４（画素／フレーム）で、時刻ｔ＋１の時点では２フレーム連続して同じ位置でエッジが検出されているので、時刻ｔ＋１のエッジの位置は、２（フレーム）×｛１／４（画素／フレーム）｝＝０．５画素だけ位置ｘ０から移動していると算出することができる。
【００２９】
以上から、エッジが検出された位置のカウント値をカウントアップし、カウントアップされたカウント値の傾きに基づいてエッジの移動速度及び移動方向を算出するができる。
【００３０】
制御装置１０３は、以上の処理によって算出した撮像画像３ａ内に存在する物体の速度情報を所定の階級値で表した速度画像を生成する。本実施の形態における速度画像では、図５に示す速度画像５ａのように、速度情報の階級値として、速度成分が検出された画素を丸型の点で表し、移動速度が速い画素ほど点を大きく示す。また、右へ向かう速度を黒点で表し、左へ向かう速度を白点で表すことによって移動方向を表している。すなわち、図５においては、走行路右側の走路境界Ｂ、およびＣからは画像の右側へ向かう速度が検出されており、走行路左側の外壁Ａからは画像の左側へ向かう速度が検出されている。
【００３１】
次に、制御装置１０３は、算出した速度画像５ａに走路境界を検出するための走路境界検出用領域を設定する。すなわち、図６に示すように速度画像５ａ上に短冊状の複数の領域を設定し、設定した短冊状の各領域で速度画像を分割する。そして、設定した各短冊領域ごとに速度画像５ａ内に存在する走路境界線を構成する点を検出する。
【００３２】
走路境界線を構成する点は、一般的に速度画像５ａ上において、速度成分を持つ画素が連続して存在する領域の一番下部にある点（最下点）として検出される。このため、制御装置１０３は、画像の下部から上部に向かって各領域を走査し、領域内に速度を持った画素が閾値Ｔ１以上連続して存在する場合に走路境界線を構成する物体が存在すると判断し、その最下点を検出する。本実施の形態では処理を簡略化するために、各短冊領域ごとに走路境界線を構成する点、すなわち最下点が含まれるラインを検出する。換言すれば、速度成分を持った画素が存在するラインが所定数Ｔ１以上連続して存在する場合には、道路境界線を構成する物体が存在すると判断し、最下点が存在する位置を検出する。この処理により、図６における最下点位置Ｂ１１〜Ｂ１１１が検出される。
【００３３】
次に、制御装置１０３は、各短冊領域内で検出した最下点が存在するラインＢ１１〜Ｂ１１０において、短冊領域の幅の中央点のｘ座標を各ライン内に存在する最下点のｘ座標として設定し、それぞれの座標値Ｂｐ１〜Ｂｐ１０を各最下点の代表座標値として算出する。そして、算出した各ライン内に存在する最下点のｘ座標値Ｂｐ１〜Ｂｐ１０と、カメラ１０１のカメラパラメータとに基づいて、三角測量により各最下点の実空間上の３次元座標値ＲＢ１〜ＲＢ１０を算出する。ただし、最下点位置は全て路面上に存在するものとして３次元座標値を算出する。
【００３４】
そして、制御装置１０３は、算出した３次元座標値ＲＢ１〜ＲＢ１０が、図７に示すようなＸ軸範囲とＺ軸範囲を規定した２次元領域のどの領域に該当するかを判定する。例えば、Ｘ軸方向は−５.２５ｍ未満、−５．２５以上−３．５ｍ未満、−３．５ｍ以上−１．７５ｍ未満、−１．７５ｍ以上０ｍ未満、０ｍ以上１．７５ｍ未満、１．７５ｍ以上３．５ｍ未満、３．５ｍ以上５．２５ｍ未満、および５．２５ｍ以上の８つの領域を設定する。また、Ｚ軸方向は０ｍ〜１０ｍ、１０ｍ〜２０ｍ、２０ｍ〜３０ｍ、３０ｍ〜４０ｍ、および４０ｍ〜５０ｍの５つの領域を設定する。そして、Ｘ軸方向、およびＺ軸方向に設定した各領域で区切られる８×５の２次元領域を設定する。なお、設定領域はメーターオーダーで設定することが望ましい。
【００３５】
設定した８×５の２次元領域においては、それぞれの領域を識別するための名称が付与され、各領域を列（Ｚ軸領域）ｉと行（Ｘ軸領域）ｊとを用いて領域ｉｊのように表される。例えば図７に示すように、1列目の1行目に存在する領域は領域１１と表し、１列目の２行目に存在する領域は領域１２と表し、２列目の１行目に存在する領域は領域２１のように表す。また、各列によって構成される領域を領域ｉ０と表し、各行によって表される領域を領域０ｊと表すようにする。例えば図７に示す例では、４列目の１列全体によって構成される領域は領域４０と表される。
【００３６】
そして、制御装置１０３は、上述した処理で算出した最下点位置の３次元座標がこの８×５の領域のいずれかに含まれる場合には、最下点位置が含まれる領域のカウント値に１加算し、最下点位置の３次元位置分布を算出する。例えば、図８に示す最下点の座標値Ｂｐ１は、図７に示す領域３３に含まれることから、領域３３のカウント値に１を加算する。同様に、最下点の座標値Ｂｐ３は領域３２に、最下点の座標値Ｂｐ４は領域３１にそれぞれ含まれることから、各領域のカウント値に１を加算する。なお、図８における最下点の座標値Ｂｐ２は、図７に示す領域のいずれにも含まれないため、カウント値の加算対象とはならない。
【００３７】
このように各領域に対してカウント値の加算処理を行った結果得られる最下点位置の３次元位置分布の具体例を図９に示す。制御装置１０３は、この図９に示す最下点位置の３次元位置分布に基づいて、走路境界線が存在する可能性が高い領域を走路境界領域として抽出する。すなわち、３次元位置分布において、同じＸ軸領域で複数のＺ軸領域にカウント値が存在する列を、走路境界を示す直線が存在している走路境界領域として抽出する。例えば、図９に示す例では、領域３０、領域５０、および領域８０に複数のＺ軸領域にカウント値が存在するため、制御装置１０３は、これらの領域３０、５０、および８０を走路境界領域として抽出する。
【００３８】
次に、制御装置１０３は、走路境界領域として抽出した各領域に対して、それぞれの領域内に走路境界を示す直線が存在するか否かの判定を行う。具体的には、各走路境界領域に存在する最下点位置（最下点の座標値）に基づいてｘｙ座標系での回帰分析を行い、直線の傾きを算出する。図９に示す例においては、領域３０では最下点の座標値Ｂｐ１、Ｂｐ３、およびＢｐ４に基づいてｘｙ座標系での回帰分析を行い、直線の傾きａ３を算出する。領域５０、および８０においても同様に、それぞれの走路境界領域における傾きａ５、およびａ８を算出する。そして、制御装置１０３は、算出した傾きが所定の範囲内に入っていれば、抽出した走路境界領域内に走路境界を示す直線が存在すると判定する。
【００３９】
すなわち、制御装置１０３は、Ｘ軸領域の左端座標と各Ｚ軸領域の代表座標をｘｙ座標系に変換し、回帰分析を行って算出した傾きＴｎ０ａ１と、Ｘ軸領域の右端座標と各Ｚ軸領域の代表座標をｘｙ座標系に変換する。そして、回帰分析を行って算出した傾きＴｎ０ａ２とで規定される範囲内に、上述したように最下点の座標値に基づいて算出された傾きａｎが入っている場合には、抽出した走路境界領域内に走路境界を示す直線Ｌｎが存在すると判定する。この処理を抽出した全ての走路境界領域に対して実行することによって、速度画像５ａ内に存在する全ての走路境界を示す直線Ｌｎを検出することができる。なお、ここではＺ軸領域の代表座標は、Ｚ軸領域のＺ座標の範囲の中央値を使用するものとする。
【００４０】
例えば、図９に示す例では、領域３０においては、（Ｘ，Ｚ）＝（−３．５，４５）、（−３．５，３５）、（−３．５，２５）、（−３．５，１５）、および（−３．５，５）をｘｙ座標に変換し、回帰分析を行って傾きＴ３０ａ１を算出する。また（Ｘ，Ｚ）＝（−１．７５，４５）、（−１．７５，３５）、（−１．７５，２５）、（−１．７５，１５）、および（−１．７５，５）をｘｙ座標に変換し，回帰分析を行って傾きＴ３０ａ２を算出する。そして算出された傾きａ３がＴ３０ａ１とＴ３０ａ２で規定される範囲内に存在するか否かを判定する。
【００４１】
そして、傾きａ３がＴ３０ａ１とＴ３０ａ２で規定される範囲内に存在すれば、領域３０内には走路境界を示す直線Ｌ３が存在すると判定する。同様に、領域５０ではＴ５０ａ１とＴ５０ａ２で規定される範囲に傾きａ５が存在すれば、領域５０内には直線Ｌ５が存在すると判定し、領域８０ではＴ８０ａ１とＴ８０ａ２で規定される範囲に傾きａ８が存在すれば、領域８０内には直線Ｌ８が存在すると判定する。
【００４２】
以上の処理によって、走路境界領域（領域３０、５０、８０）内に直線が存在すると判定した場合には、その直線はカメラ１０１で撮像された画像内に存在する走路境界線であると識別することによって、カメラ１０１で撮像された画像内から走路境界を検出することができる。
【００４３】
図１０は、本実施の形態における走路境界線検出装置の処理を示すフローチャートである。図１０に示す処理は、不図示のイグニションスイッチがオンされると、制御装置１０３によって起動されるプログラムとして実行される。
【００４４】
ステップＳ１において、カメラ１０１で撮像された自車両前方の画像を画像メモリ１０２から取り込む。その後、ステップＳ２へ進み、画像に対してエッジ抽出処理を行って撮像画像内に存在する物体の輪郭を抽出したエッジ画像を生成し、ステップＳ３へ進む。ステップＳ３では、上述したように各画素に含まれるエッジの速度情報を算出し、算出した速度情報を所定の階調値に変換した速度画像５ａを算出する。その後、ステップＳ４へ進む。
【００４５】
ステップＳ４では、算出した速度画像５ａ上に最下点位置検出用の短冊領域を設定して、ステップＳ５へ進む。ステップＳ５では、設定した短冊領域内で、画像下部から上部に向かって順に走査し、速度成分を持った画素が存在するラインが連続して存在するか否かを判定して最下点位置を検出し、ステップＳ６へ進む。
【００４６】
ステップＳ６では、検出した最下点位置の代表座標値Ｂｐ１〜Ｂｐ１０を求め、これらの点が路面上に存在するものとして、カメラ１０１のカメラパラメータを用いて実空間上の３次元位置を算出する。すなわち３次元座標値ＲＢ１〜ＲＢ１０を算出する。その後、ステップＳ７に進む。ステップＳ７では、算出した３次元座標値ＲＢ１〜ＲＢ１０がＸ軸範囲とＺ軸範囲を規定した２次元領域のどの領域に該当するか判断する。そして、該当する領域が存在すればその領域のカウント値に１加算し、該当する領域がしなければカウント値への加算は行わずに、最下点位置の３次元位置分布を算出する。
【００４７】
その後、ステップＳ８へ進み、検出した全ての最下点位置の三次元位置が算出されたか否かを判断する。検出した全ての最下点位置の３次元位置分布が算出されていないと判断した場合には、ステップＳ６へ戻って処理を繰り返す。これに対して、検出した全ての最下点位置の３次元位置分布が算出されたと判断した場合には、ステップＳ９へ進む。ステップＳ９では、得られた３次元位置分布から、同じＸ軸領域において複数のＺ軸領域にカウント値が存在する領域を走路境界線が存在する可能性が高い領域を走路境界領域として抽出し、ステップＳ１０へ進む。
【００４８】
ステップＳ１０では、抽出した走路境界領域内に存在する最下点に基づいて、ｘｙ座標系での回帰分析を行って直線の傾きを算出する。そしてＸ軸領域の左端座標と各Ｚ軸領域の代表座標、およびＸ軸領域の右端座標と各Ｚ軸領域の代表座標に基づいて算出されたｘｙ座標系の傾きで規定される範囲に、算出した傾きが存在すれば、抽出した走路境界領域内に走路境界を示す直線が存在すると判定する。
【００４９】
その後、ステップＳ１１へ進み、走路境界を示す直線が存在すると判定した走路境界領域内において、最下点を結ぶ直線を画像内に存在する走路境界線として検出して、ステップＳ１２へ進む。ステップＳ１２では、抽出した走路境界領域から全ての走路境界を示す直線が検出されたか否かを判断する。全ての走路境界を示す直線が検出されていないと判断した場合には、ステップＳ９へ戻って処理を繰り返す。これに対して、全ての走路境界を示す直線が検出されたと判断した場合には、ステップＳ１３へ進む。
【００５０】
ステップＳ１３では、自車両のイグニションスイッチがオフされたか否かを判断し、オフされていないと判断した場合には、ステップＳ１へ戻って処理を繰り返す。これに対して、自車両のイグニションスイッチがオフされたと判断した場合には、処理を終了する。
【００５１】
以上説明した本実施の形態によれば、以下のような作用効果を得ることができる。
（１）カメラ１０１で撮像した画像に基づいて算出した速度画像上に最下点位置検出用領域を設定し、走路境界を示す直線を構成する点を検出することとした。これによって、カメラ１０１で撮像した画像に含まれる白線などの路面上の走路境界は光軸と平行な直線成分のため画像上では必ず斜線として撮像され、斜線は縦方向に連続した速度が発生しやすく、また、立体物と路面の接点で構成される走路境界においても、高さ方向に連続した速度が検出できることを加味して、様々な種類の走路境界を精度高く検出することができる。
【００５２】
（２）検出した最下点位置を路面上に存在する点として、カメラ１０１のカメラパラメータ用いて３次元位置を算出することにした。これによって、路面上に存在しない点で最下点と検出された点の場合には、３次元位置を算出した場合にＸ軸，Ｚ軸で規定した領域から大きく外れるようにフィルタリング処理を行うことができ、精度高く走路境界を構成する最下点のみを抽出することができる。
【００５３】
（３）最下点に基づいて算出された傾きとＸ軸、Ｚ軸で規定された範囲に基づいて算出した傾きとの比較により、走路境界領域内に含まれる直線が走路境界を示す直線か否かの判定を行うこととした。これにより、３次元位置変換によるフィルタリング処理で排除できなかった、誤検出要因を排除して、走路境界を確実に抽出することができる。
【００５４】
―変形例―
なお、上述した実施の形態の走路境界線検出装置は、以下のように変形することもできる。
（１）上述した実施の形態では、撮像画像に対してエッジ抽出処理を行ってエッジ画像を得た後、エッジが存在する位置のカウンタ値を更新していき、このカウント値に基づいて画像上の各画素におけるエッジの速度成分を算出する例について説明した。しかしこれに限定されず、例えば一般的な手法である勾配法やブロックマッチングを用いてオプティカルフローを算出してもよい。
【００５５】
（２）上述した実施の形態では、図５に示したように階級値を使用して速度画像５ａを算出する例について説明した。しかしこれに限定されず、例えば、速度と速度方向をベクトルで表した速度画像など、その他の階級値によって表される速度画像を算出してもよい。
【００５６】
（３）上述した実施の形態では、本発明による走路境界線検出装置１００を車両に搭載する例について説明したが、これに限定されず、その他の移動体に搭載してもよい。
【００５７】
（４）上述した実施の形態では、白線や外壁と路面との接点を走路境界として検出する例について説明したが、これに限定されず、例えば，縁石、ガードレール、駐車車両と路面との境界、および路面と路面以外の領域（田んぼ，畑など）との境界を走路境界として検出してもよい。
【００５８】
なお、本発明の特徴的な機能を損なわない限り、本発明は、上述した実施の形態における構成に何ら限定されない。
【００５９】
特許請求の範囲の構成要素と実施の形態との対応関係について説明する。カメラ１０１は撮像手段に、制御装置１０３は速度情報算出手段、最下点位置検出手段、判定手段、３次元位置分布算出手段、および走路境界領域抽出手段に相当する。なお、以上の説明はあくまでも一例であり、発明を解釈する際、上記の実施形態の記載事項と特許請求の範囲の記載事項の対応関係に何ら限定も拘束もされない。
【図面の簡単な説明】
【００６０】
【図１】走路境界線検出装置の一実施の形態の構成例を示すブロック図である。
【図２】カメラ１０１の車両への設置例を示す図である。
【図３】カメラ１０１で撮像した画像の具体例を示す図である。
【図４】抽出したエッジを正規化して、エッジ画像を得るために行う各処理の具体例を示す図である。
【図５】速度画像の具体例を示す図である。
【図６】速度画像上に走路境界検出用領域を設定した場合の具体例を示す図である。
【図７】算出した３次元座標値がＸ軸範囲とＺ軸範囲を規定した２次元領域のどの領域に該当するかを判定する処理の具体例を示した図である。
【図８】最下点位置の３次元位置分布を算出する処理の具体例を示した図である。
【図９】走路境界領域として抽出した各領域に対して、それぞれの領域内に走路境界を示す直線が存在するか否かの判定を行う処理の具体例を示した図である。
【図１０】走路境界線検出装置１００の処理を示すフローチャート図である
【符号の説明】
【００６１】
１００  走路境界線検出装置
１０１  カメラ
１０２  画像メモリ
１０３  制御装置
１０４  メモリ
【図１】
0004811201.tif 000002
【図２】
0004811201.tif 000003
【図３】
0004811201.tif 000004
【図４】
0004811201.tif 000005
【図５】
0004811201.tif 000006
【図６】
0004811201.tif 000007
【図７】
0004811201.tif 000008
【図８】
0004811201.tif 000009
【図９】
0004811201.tif 000010
【図１０】
0004811201.tif 000011