(58)【調査した分野】(Int.Cl.,DB名)
前記特徴抽出部は、前記ラインブロックごとの輝度ヒストグラムの解析により得られる前記レーン線の候補となる画素に対する二次元スキャンにより前記特徴画素を抽出する、請求項3記載のレーン線認識装置。
前記直線算出部は、前記特徴画素集合に基づいて前記内側直線成分を算出し、当該内側直線成分に基づいて前記外側直線成分を算出する、請求項1乃至4のいずれか一項に記載のレーン線認識装置。
前記画像取得部は、前記画像データを時系列に沿って順次取得し、前記結果出力部は、前記レーン線の前記距離を前記画像データの時系列に沿って出力する、請求項1乃至6のいずれか一項に記載のレーン線認識装置。
【発明を実施するための形態】
【0018】
以下、本発明に係るレーン線認識装置の実施形態について図面を参照しながら説明する。以下の説明において、レーン線とは、車両通行帯境界線、車両通行最外側線など、自車両の車線を示す白線または黄色線のことである。
【0019】
[レーン線認識装置の概要]
まず、本発明に係るレーン線認識装置の使用態様について説明する。
図1は、本発明に係るレーン線認識装置の実施形態であって、自車両からレーン線までの距離を測定するレーン線認識装置100の使用態様を示す概要図である。
図1に示すとおりレーン線認識装置100は、車両1000に搭載されて用いられる。レーン線認識装置100は、車両前方(車両1000の室内前方)に設置されたカメラ200により取得された画像を解析し、当該画像に含まれているレーン線を検出し、車両1000とレーン線との距離を算出する。以下、距離の測定について単に”測距“と表記する。カメラ200は、車両1000の室内の、例えばバックミラーの周辺に設置される車載カメラであり、車両1000の前方の画像を取得できるように動作する画像取得装置である。レーン線認識装置100は、車両1000の室内の任意の場所に設置され、カメラ200において取得されて出力される画像を入力として取り込むことができるようにカメラ200と接続されている。
【0020】
[レーン線認識装置100のハードウェア構成例]
次に、レーン線認識装置100のハードウェア構成について
図2を用いて説明する。
図2に示すように、レーン線認識装置100は、少なくとも、マイクロコンピュータ110と、メモリ120と、備える情報処理装置である。マイクロコンピュータ110は、カメラ200から入力される画像上での「レーン線の検出」および、前記検出結果を用いた「レーン線までの測距」のための演算処理を実行する。メモリ120は、マイクロコンピュータ110において実行されるプログラムやデータを記憶し、当該プログラムによる演算処理等のワークエリアとしても機能する。また、レーン線認識装置100は、演算処理の結果に基づいて、車両1000を制御する車両制御部300、警報を出力する警報部400と、演算処理の結果を表示する結果表示部500などの上位ブロックに対して、所定のデータを出力するように構成されている。
【0021】
マイクロコンピュータ110は、カメラ200から入力される画像上でのレーン線を検出する演算処理および、レーン線までの測距をする演算処理を実行するCPU(Central Processing Unit)を含む構成を有する。メモリ120は、マイクロコンピュータ110における演算処理を実行するためのコンピュータプログラムを記憶する不揮発性のROM(Read Only Memory)や、演算処理のワークエリアとして利用されるRAM(Random Access Memory)、およびキャッシュメモリなどを含む構成を有する。以下の説明は、本発明の主要点であるマイクロコンピュータ110により実現される処理機能の構成および処理内容に重点をおくものとする。
【0022】
[レーン線認識装置100の機能構成例]
図3は、本実施形態に係るレーン線認識装置100において、上記で説明したハードウェアと後述する制御プログラムとの協働において実現される機能ブロックを示す図である。
図3に示すように、制御プログラムに含まれるレーン線認識部10はマイクロコンピュータ110において実現される演算処理機能であって、画像取得部11、前処理部12、ノイズ除去画像二値化部13、エッジ画像二値化部14、特徴抽出部15、直線算出部16、測距部17、結果出力部18、をさらに含む。また、上記の各部の処理によって生成される各種データをメモリ120に記憶し、また、所定の処理により当該各種データを読み出すために記憶部21を有する。
【0023】
<画像取得部11>
画像取得部11は、車両1000の前方の画像データをカメラ200から取得し、記憶部21に格納する。画像取得部11において記憶部21に格納される画像データは、後段の処理における処理対象データとしての元データになる。
【0024】
<前処理部12>
前処理部12は、元データを
図4に示す元画像210のように複数の画像領域に分割した分割領域に係る画像を分割領域画像とする。すなわち、分割領域画像毎にノイズ除去処理やエッジ抽出処理を行う。前処理部12におけるノイズ除去処理や、エッジ抽出処理は、周知の画像処理を組み合わせたものである。ノイズ除去処理やエッジ抽出処理により得られる画像データは、記憶部21に適宜記憶される。なお、
図4は便宜上、境界線を白色の破線で明示しているが、実際の元画像210に、このような破線が含まれるわけではない。
【0025】
<ノイズ除去画像二値化部13>
ノイズ除去画像二値化部13は、前処理部12において得られるノイズ除去画像を記憶部21から読み出して、レーン線らしい部分を示す画素のみを抽出するための二値化処理を実行し、得られたノイズ除去二値化画像230を記憶部21に記憶する。なお、ノイズ除去二値化画像230の詳細については後述する。
【0026】
<エッジ画像二値化部14>
エッジ画像二値化部14は、前処理部12において記憶部21に記憶されたエッジ画像220を読み出して、ノイズ除去画像二値化部13と同様の処理を行う。なお、エッジ画像220の詳細については後述する。エッジ画像二値化部において分割領域画像のそれぞれから生成あれる画像を処理対象画像とする。前処理部12、ノイズ除去画像二値化部13およびエッジ画像二値化部14によって処理対象画像生成部が構成される。
【0027】
<特徴抽出部15>
特徴抽出部15は、エッジ画像二値化部14において記憶部21に記憶されたエッジ二値画像を読み出して、その有効画素からレーン線を構成する主要な画素を特徴画素として抽出し、記憶部21に記憶する。
【0028】
<直線算出部16>
直線算出部16は、特徴抽出部15において得られた特徴画素に基づいて、この特徴画素を通る直線を算出し、記憶部21に記憶する。直線算出部16において実行される直線算出処理は、例えば、周知の画像処理技術の一種であるハフ(Hough)変換などを利用すればよい。
【0029】
<測距部17>
測距部17は、直線算出部16における回帰分析により得られた直線に対するカメラ200の主点からの距離を推定し、推定した距離を記憶部21に記憶する。
【0030】
<結果出力部18>
結果出力部18は、直線算出部16において得られた画像検出結果(レーン線の画像)や測距部17において得られた測距結果を、後述するシステム検出における上位ブロックに出力する。
【0031】
[レーン線認識処理の実施形態]
次に、上記の機能ブロックにより実行される本発明に係るレーン線認識方法の実施形態について、より詳細に説明をする。
図15は、本実施形態に係るレーン線認識処理の流れを示すフローチャートである。
【0032】
≪画像取得処理≫
まず、画像取得部11において、カメラ200からの元画像210を1フレーム分取得して記憶部21に記憶する画像取得処理が実行される(S1501)。カメラ200からは連続的に元画像210を取得できる。以下において説明する各処理は、1フレーム分の元画像210に対して各々実行される処理である。即ち、元画像210はカメラ200において取得される連続画像のうち、1フレーム分の画像に相当するものである。
【0033】
≪前処理:ベース画像生成処理≫
続いて前処理部12において、S1501において記憶された元画像210を記憶部21から読み出して、後段の処理における処理の対象となるベース画像を生成するベース画像生成処理を実行する(S1502)。
図4に元画像210およびベース画像の例を示す。なお、以下、本実施形態の説明に用いる座標軸は、
図4において示す座標軸と同じものである。当該座標軸は、車両1000の前方の画像である元画像210において、車両の幅方向をX軸、車両の高さ方向をY軸、車両1000の進行方向に向かって左上の端点を元画像210の原点とする。
【0034】
ベース画像は、元画像210を所定の領域に分割した分割領域画像のそれぞれをいう。ベース画像を生成するための元画像210の分割の仕方は、例えば、
図4に示す様に、+X方向の中点付近を境界にした左右のチャネルと、−Y方向における任意の位置を上限とした下側の領域において下限との間の任意の位置を境界にした上下のエリアと、において分ける。本実施形態における測距対象であるレーン線は、元画像210の全体における下半分の領域に存在する。そこで、元画像210のY方向下側の画像領域のみをベース画像として扱うようにすればよい。
【0035】
生成された4つのベース画像をそれぞれ、左下側領域を第1ベース画像領域211、右下側領域を第2ベース画像領域212、左上側領域を第3ベース画像領域213、右上側領域を第4ベース画像領域214、とする。以降の処理は、これらベース画像ごとに実行される。
【0036】
ベース画像生成処理(S1502)において元画像210から生成された各ベース画像は記憶部21に記憶される。なお、車両1000に最も近い部分の白線(レーン線)を検出して車両1000の位置の推定精度を向上させるために、ベース画像の生成に用いる所定値Y1は、車両1000に対してできるだけ手前に設定すればよい。また、所定値Y2は任意でよく、所定値Y3は所定値Y2に隣接する値であり、所定値Y4は下段領域幅(Y2−Y1)と上段領域幅(Y4−Y3)が同じになる値に設定すればよい。
【0037】
≪前処理:ノイズ除去処理≫
続いて、前処理部12において、ベース画像を記憶部21から読み出し、メディアンフィルタ等を用いたノイズ除去処理を実行してノイズ除去画像を生成し、当該ノイズ除去画像を記憶部21に記憶する処理を実行する(S1503)。
【0038】
また、続いて、前処理部12において、S1503において生成されたノイズ除去画像に対して、X方向エッジとY方向エッジを抽出する2種類のソーベルフィルタを用いたフィルタリング処理を実行する。このフィルタリング結果を加算して、
図5に示すようなエッジ画像220を生成するによりエッジ画像生成処理を実行する(S1504)。生成されたエッジ画像220は、記憶部21に記憶される。
【0039】
≪二値化画像生成処理≫
続いて、ノイズ除去画像二値化部13において、ノイズ除去画像を記憶部21から読み出して、レーン線らしい部分を示す画素のみを抽出したノイズ除去二値化画像230を生成するノイズ除去二値化画像生成処理を実行する(S1505)。具体的には
図6に示すように、各ベース画像領域の画像であるノイズ除去画像を、Y方向に関して新たに設けるレーン線の最小長に関する所定値Lminごとにさらに分割してラインブロック231を形成させる。そして、ラインブロック231ごとに、輝度ヒストグラムを生成してレーン線に相当する画素の輝度とアスファルトに相当する画素の輝度を推定する。これによって、対象領域の各画素を二値化する。
【0040】
なお、S1505において用いられる輝度ヒストグラムは、例えば、
図7に例示するようなものである。
図7に示すヒストグラム700は、新たに設けるヒストグラム分解能に関する所定値Rに従ってNh個の輝度範囲(以下、ビンとする。)を用意し、処理対象領域であるラインブロック231に含まれる各画素の輝度に該当する各ビンのスコア(以下、頻度とする。)を1ずつ加算することで生成される。この場合、輝度上限値をVmaxとすると、ビン数Nhは、以下の式(1)で表される。
【0042】
なお、式(1)の右辺における[Vmax/R]は、“Vmax/R”を超えない最大の整数を指す。また、ビンn(n=0,...,Nh−1)の頻度は、n*R〜(n+1)*R−1の輝度範囲にある画素数を示す。
【0043】
上記のヒストグラム700を生成した後、まず、アスファルトの輝度を推定する処理を実行する。一般に、アスファルトは対象領域の大半を占める。したがって、ヒストグラム700における最大頻度を持つビンはアスファルトに起因するものである。そこで、最大頻度を持つビンNaが示す輝度範囲の中央値を、アスファルトの輝度Vaとして推定する。
【0044】
アスファルトの輝度Vaが推定された後、続けて、レーン線の輝度を推定する処理を実行する。一般に、レーン線の輝度は対象領域において相対的に高く、アスファルトの輝度よりも高い。したがって、最高位のビンNh−1を始点、アスファルトのビンNaに隣接するビンNa+1を終点として、以下の式(2)をはじめて満たし、所定値Hwl以上かつ単調減少の頻度を持つビンnを、レーン線のビンNwlとする。
【0046】
H[n]は、ビンnが持つ頻度を指す。また、Hwlは式(3)のように表され、設定済みのレーン線の最小長に関する所定値Lminと新たに設けるレーン線の最小幅に関する所定値Wminを積算した、レーン線の最小面積(画素数)に相当するものを使用する。これを適用することで、レーン線に類似したノイズの影響を排除することができる。
【0048】
前記方法にてレーン線のビンNwlが検出されない場合は、式(3)における積算を加算に変えて、所定値Hwlを新たに設定して再度探索を実行する。それでもなお、レーン線のビンNwlが検出されない場合は、式(2)の単調減少に関する制約を取り除いて、前記2パターンの方法で順に再探索する。
【0049】
レーン線のビンNwlが検出された場合は、当該輝度範囲の中央値をレーン線の輝度Vwlとする。そして、以下の式(4)に示すように、レーン線の輝度Vwlと推定済みのアスファルトの輝度Vaとの中央値をとることで、両者を分離する閾値THbを算出する。
【0051】
この閾値THbを用いて対象領域であるラインブロック231を二値化する。これによって、閾値THb以上の輝度を持つ画素のみを有効画素としたノイズ除去二値化画像230が生成される(
図6参照)。このノイズ除去二値化画像230は記憶部21に記憶される。なお、レーン線に相当するビンが検出されなかった場合は、全て無効画素とした同画像を生成する。
【0052】
続いて、エッジ画像二値化部14において、エッジ画像220を記憶部21から読み出して、S1505と同様の画像処理によるエッジ二値化画像生成処理が実行される(S1506)。具体的には、ノイズ除去画像(輝度)に代えてエッジ画像(エッジ強度)を対象とし、エッジ強度ヒストグラムHの生成から二値化までを行い、
図8に示すようなエッジ二値化画像240を生成して、記憶部21に記憶する。
【0053】
S1506において、エッジ画像二値化部14は、ノイズ除去画像二値化部13において生成されたノイズ除去二値化画像230において有効画素となっている画素のみを処理対象とする。これにより、エッジ画像二値化部14での最大頻度を持つビンは、レーン線に相当する領域に起因するものとなる。なお、レーン線のビンNwlの頻度に関する所定値Hwlは、式(5)で表されるように、設定済みのレーン線の最小長に関する所定値Lminを2倍した、レーン線のエッジ最小周囲長に相当するものを使用する。
【0055】
レーン線のビンNwlが検出されなかった場合は、式(5)における係数を2から1にし(2倍を1倍にし)、所定値Hwlを新たに設定し、エッジ画像二値化部14における処理と同様に再探索する。
【0056】
<ラインブロック分割による効果>
以上の処理により、例えば、雨天時に対向車のヘッドライトの路面反射などによって、レーン線と同等以上の輝度を持つノイズが特定のラインブロック231に含まれたとしても、他のラインブロック231の処理には影響がなく、白線であるレーン線の輝度を精度良く識別できるようになる。
【0057】
≪特徴画素抽出処理≫
続いて、特徴抽出部15において、S1506において得られたエッジ二値化画像240を記憶部21から読み出して、エッジ二値化画像240の有効画素からレーン線を構成する主要な画素を特徴画素として抽出する処理を実行する(S1507)。
【0058】
具体的には、
図9に示すように、処理対象となる画像領域の各Y座標において、X次元の所定ベクトルに従って有効画素を探索する。そして、各画像領域の各Y座標において初めて見つかった有効画素をX次元特徴画素251として抽出する。S1507の処理では、このX次元特徴画素251を要素とする集合であるX次元特徴画素集合を生成する。ここでの「X次元の所定ベクトル」とは、第1ベース画像領域211および第3ベース画像領域213に含まれるラインブロック231であれば、各領域の右端X座標から左端X座標(−X方向)に向かうベクトルである。また、第2ベース画像領域212および第4ベース画像領域214に含まれるラインブロック231であれば、各領域の左端X座標から右端X座標(+X方向)に向かうベクトルである。
【0059】
次に、
図10に示すように、処理対象領域の各X座標において、Y次元の所定ベクトルに従って有効画素を探索する。そして、各処理対象領域内の各X座標において初めて見つかった有効画素をY次元特徴画素261として抽出する。S1507の処理では、このY次元特徴画素261を要素とする集合であるY次元特徴画素集合を生成する。ここでの「Y次元の所定ベクトル」とは、各ベース画像領域に含まれるラインブロック231における下端Y座標から上端Y座標(−Y方向)に向かうベクトルである。
【0060】
以上のように、特徴抽出部15においてX次元特徴画素集合とY次元特徴画素集合の両方の特徴画素集合を生成した後に、この2つの集合を合わせた集合を生成して、最終的な特徴画素集合として記憶部21に格納する。
【0061】
<特徴画素集合による効果>
S1507のように、X次元とY次元の二次元スキャンにより特徴画素の集合を生成することにより、路面標示や反射光など誤抽出しやすい障害物がレーン線周辺に存在する場合であっても、レーン線に相当する特徴画素の取りこぼしの低減を図ることができる。なお、特徴画素集合を生成するときに、各次元の集合において重複する特徴画素が存在する場合は、どちらか一方のみを採用することで、データ数の無駄を省くことができる。これによって演算処理の効率を向上させることもできる。
【0062】
≪直線算出処理≫
続いて、直線算出部16が、S1507において生成された特徴画素集合を記憶部21から読み出して、特徴画素集合に含まれる要素が示す座標を通過する直線を算出する直線算出処理を実行する(S1508)。
【0063】
具体的には、
図11に示すように、記憶部21から読みだされた特徴画素集合の要素である特徴画素271が{P1,・・,PN}={(x1,y1)・・・(xN,yN)}としてN個あるとする。この特徴画素271はレーン線の内側線に相当するものであり、これら特徴画素271を通過する直線を周知のHough変換などを用いて算出する。算出された内側線を「レーン内側線」とすると、S1508において算出された直線における任意の2点Pn=(xn,yn),Pm=(xm,ym)における勾配を「Snm」とし、Y切片を「lnm」とすると、それぞれ以下の式(6)で表される。
【0065】
続いて、レーン線の外側線を算出する。すでに実行したレーン内側線の算出結果によって、各Y座標におけるレーン内側線の成分に相当するX座標が既知となる。そこで、エッジ二値化画像240における各Y座標を用いて、レーン線の最大幅に関する所定値Wmaxおよび設定済みのレーン線の最小幅に関する所定値Wminだけ当該X座標から外側に移動した座標を、開始座標Xstおよび終了座標Xendとして探索する。この探索において初めて見つかった有効画素を外側特徴画素272とする。これによって、レーン線の外側を示す外側特徴画素集合を得ることができる。なお、ここでの「外側」とは、車両1000の前方左側のレーンであれば「−X方向」、同様に前方右側のレーン線であれば「+X方向」を指す。
【0066】
レーン線の外側特徴画素集合を生成した後、この外側特徴画素集合を用いて、レーン内側線を算出した処理と同じ処理を行う。これによって、レーン線の外側直線成分を算出することができる。算出された外側線を「レーン外側線」とする。レーン外側線はレーン内側線よりも勾配絶対値が小さいので、算出済みのレーン内側線の勾配絶対値をSinとすると、レーン外側線はSmin〜Sinの絶対勾配範囲で算出する。
【0067】
以上の処理により、レーン線を示す両側(レーン内側線とレーン外側線)が算出される。S1507において車両1000に近い下領域の結果を優先して、レーン線の画像検出結果として記憶部21に格納する。レーン外側線が算出できなかった場合は、外側でなく内側にかけて対となるレーン内側線の特徴画素を探索し、その直線を算出する。これは、かすれ線などの影響で、先に算出した直線がレーン線の外側部分を示すものである場合があるためである。レーン内側線はレーン外側線よりも勾配絶対値が大きいので、算出済みのレーン外側線の勾配絶対値をSoutとすると、レーン内側線はSout〜Smaxの絶対勾配範囲で算出する。ここでの「内側」とは、車両1000の前方左側に相当する領域のレーン線であれば「+X方向」、車両1000の前方右側に相当する領域のレーン線であれば「−X方向」を指す。これによってレーン線が算出されれば、その結果を記憶部21に格納する。仮に、算出されなかった場合は、画像検出結果は存在しないことし、レーン線は未検出とする。
【0068】
≪消失点算出処理≫
次に、直線算出部16が、
図12に示すように、レーン線の消失点の座標である消失点座標Pv=(xvp,yvp)を算出し、算出結果を記憶部21に記憶する(S1509)。ここで「消失点」とは、元画像210において、画像検出結果が両チャネルで存在する場合は両内側直線の交点座標であり、片方のチャネルのみに存在する場合は内側直線281と外側直線282の交点座標を指す。
【0069】
本実施形態においては、上記にて説明したとおり、レーン線の内側直線と外側直線を精度良く検出することができる。したがって、車両通行帯を示すレーン線の一方のみのレーン線のみを認識できれば、レーン線の幅を構成する内側直線281と外側直線282を認識することができ、このレーン線との距離を算出することができる。なお、消失点座標Pvが不明確であれば、これ以降の処理は継続しない。
【0070】
交点座標は、以下の式(7)の形式で表される2つの対象直線を連立一次方程式にて求まる。また、各レーン線の画像下端座標Pwl=(xwl,ywl)に関しても、式(7)のyに元画像210のYサイズを代入して求め、記憶部21に格納する。
【0072】
≪距離算出処理≫
続いて、測距部17が、S1508において算出された画像検出結果を用いて、カメラ200からレーン線までの距離を推定する処理を実行する(S1510)。一般に、カメラ200の画角の値と内部パラメータおよび外部パラメータの行列を用いることで、車両1000を含む座標系(ここでは、世界座標とする)における、世界座標(X,Y,Z)から元画像210の座標系である画像座標(u,v)への変換が可能である。ここでは、カメラ200の主点を世界座標の原点に置き、外界を回転・並進する処理を行う。なお、世界座標は、カメラ200の主点を原点とし、カメラ200の向きをレーン線の向きに補正した座標である。
【0073】
本実施形態では、画像座標から世界座標への逆変換演算を実行することになる。これによって、レーン線の画像座標(u,v)から世界座標(X,Y,Z)を算出することができ、カメラ200の真下の世界座標との差分(X値)を「レーン線−カメラ間の距離」として算出することができる。
【0074】
S1510について具体的説明する。カメラ200からの画像情報(元画像210)と、カメラ200の設置高さと、カメラ200の画角、焦点距離の数値情報をもとに、レーン線の消失点座標Pvからレーン線に対するカメラ外部パラメータ(パン角、チルト角)を、カメラ200が置かれている状態を推定し、この推定結果を用いて、レーン線の画像下端座標から「レーン線−カメラ間の距離」を推定する処理を行う。
【0075】
カメラ200が一般的な単眼カメラとした場合、その内部はピンホール構造となっている。したがって、
図13に示す座標系にて式(8)〜(10)の関係式が成り立つ。
図13は、車両1000を上方から俯瞰した状態を例示する図である。
図13に示すように、カメラ200の光軸は、車両1000が直進するときの進行方向に相当するZ方向に向いている。
【0079】
ここで、(X,Y,Z)は世界座標系の3次元座標、(u,v)は画像平面に投影された点の座標(画像座標)、Aはカメラ内部パラメータ行列、(fx,fy)はピクセル単位で表される焦点距離、(cx,cy)は画像中心座標、[R|t]はカメラ外部パラメータ行列(外部並進‐回転の同次変換行列)を示す。
【0080】
本実施形態では、
図13のように、カメラ200のレンズ主点を世界座標の原点とし、外界(道路等)が3次元的に運動しているとものと仮定する。はじめに、CHをカメラ200の設置高さとして、消失点の世界座標(Xvp,−CH,Zvp)とt=(0,0,0)を式(9)に代入して展開する。これにより、パン角(ry)とチルト角(rx)の推定を行うことができる。
【0081】
まず、X軸、Y軸、Z軸中心の各回転行列は式(11)で表される。これらの積をR=RxRyRzとおく。なお、本実施形態では車両1000は4輪自動車を前提としているため、ロール角(rz)は0とする。
【0083】
次に、式(11)を式(10)に適用して、これに消失点の世界座標(Xvp,−CH,Zvp)を代入する。そのうえで「Zvp→+∞」の極限値を算出すると、消失点の画像座標(uvp,vvp)は式(12)で表すことができる。
【0085】
ここで、正方格子サンプリングの場合は、fx=−fy=fである。
図14に示すように、f=画像幅/(2*tan(画角/2))である。また、(uvp,vvp)は、直線算出処理(S1508)において算出された消失点の画像座標(xvp,yvp)と等価であるので、これをメモリから読み込んで代入することで、パン角(rx)とチルト角(ry)を求める。
【0086】
最後に、レーン線の画像座標(u,v)の値から世界座標(X,Y,Z)の値を求める。具体的には、まず、算出済みのパン角(rx)とチルト角(ry)を式(11)に代入し、式(13)に示す回転行列を改めて定義する。
【0088】
次に、式(13)を式(10)に適用するが、fx=−fy=fであるので、ターゲットであるレーン線の世界座標(X,Y=−CH)と画像座標(u,v)の関係は式(14)となる。
【0090】
本実施形態ではカメラ200の「レンズ主点を世界座標の原点」と設定したので、カメラ200から見た真下のXの値は0となる。したがって、式(14)に式(13)の各要素を代入したうえで、S1508において算出済みのレーン線の画像下端座標(xwl,ywl)を記憶部21から読み出して、これを(u,v)に代入してXの値を求める。その結果の値が「レーン線−カメラ間の距離」になる。
【0091】
以上のように、本実施形態に係る距離算出処理は、元画像210の入力元となるカメラ200における撮像条件(画像取得条件)を推定しながら、距離を算出する。また、カメラ200の設置高さと、カメラ200の画角のみを画像取得条件のパラメータとして、元画像210を得ることができる。
【0092】
≪結果出力処理≫
続いて、結果出力部18において、S1508で画像検出結果やS1510で得た測距結果を、後述するシステム検出における上位ブロックに出力する処理を実行する(S1511)。
【0093】
以上説明をした一連の処理において、カメラ200からの元画像210を時系列に沿って順次取得し、S1510において、レーン線との距離を時系列的変化に沿って出力することで、車両1000の移動に応じて変化するレーン線との距離を適宜得ることができる。
【0094】
<本実施形態の効果>
本実施形態に係るレーン線認識装置100においてレーン線認識プログラムを実行することで得られるレーン線認識方法によれば、一本のレーン線のみで、測距に必要なカメラ外部パラメータをオンラインで推定するために必要な消失点を求めることができる。また、任意のレーン線の画像検出結果から測距に必要なカメラ外部パラメータをオンラインで推定し、これらとカメラの設置高および画角のみから解析的に測距するので、一本のレーン線および一般的な単眼カメラのみで、高精度かつ低コストに測距が可能となる。
【0095】
本実施形態に係るレーン線認識装置100によれば、ラインブロック単位の輝度ヒストグラムおよびエッジ強度ヒストグラムの解析により、例えば雨天時の路面反射など、レーン線と同等以上に輝度もエッジ強度も高い物体が局所的に存在する場合でも、それが及ぼす大域的な影響を軽減し、本来のレーン線の輝度やエッジ強度を正確に取得し、レーン線の候補画素の取りこぼしを抑制することが可能となる。