TOP > 国内特許検索 > 車線検出装置、車線検出方法、及び車線検出プログラム > 明細書

明細書 :車線検出装置、車線検出方法、及び車線検出プログラム

発行国 日本国特許庁(JP)
公報種別 特許公報(B2)
特許番号 特許第5105481号 (P5105481)
公開番号 特開2009-288885 (P2009-288885A)
登録日 平成24年10月12日(2012.10.12)
発行日 平成24年12月26日(2012.12.26)
公開日 平成21年12月10日(2009.12.10)
発明の名称または考案の名称 車線検出装置、車線検出方法、及び車線検出プログラム
国際特許分類 G06T   7/60        (2006.01)
G06T   1/00        (2006.01)
G08G   1/16        (2006.01)
H04N   7/18        (2006.01)
B60R  21/00        (2006.01)
FI G06T 7/60 200J
G06T 1/00 330A
G08G 1/16 C
H04N 7/18 J
H04N 7/18 K
B60R 21/00 628Z
B60R 21/00 624F
請求項の数または発明の数 15
全頁数 69
出願番号 特願2008-138464 (P2008-138464)
出願日 平成20年5月27日(2008.5.27)
新規性喪失の例外の表示 特許法第30条第1項適用 平成19年11月27日 社団法人映像情報メディア学会発行の「映像情報メディア学会2007年冬季大会講演予稿集」に発表
特許法第30条第1項適用 平成20年1月11日 社団法人情報処理学会主催の「平成19年度情報処理学会東北支部研究会」に発表
審査請求日 平成23年4月19日(2011.4.19)
特許権者または実用新案権者 【識別番号】504150461
【氏名又は名称】国立大学法人鳥取大学
発明者または考案者 【氏名】李 仕剛
個別代理人の代理人 【識別番号】100088155、【弁理士】、【氏名又は名称】長谷川 芳樹
【識別番号】100113435、【弁理士】、【氏名又は名称】黒木 義樹
審査官 【審査官】板垣 有紀
参考文献・文献 特開2001-283390(JP,A)
特開昭59-184973(JP,A)
特開平07-244167(JP,A)
特開2001-124570(JP,A)
藤木 淳,球面カメラのエピポーラ幾何学とその計算,電子情報通信学会技術研究報告,日本,社団法人電子情報通信学会,2005年 6月10日,第105巻 第119号,pp.41-46
調査した分野 G06T 7/60
G06T 1/00
G08G 1/16
H04N 7/18
B60R 21/00
特許請求の範囲 【請求項1】
車体の側面側を視点として前記車体の外側をとらえた魚眼画像を入力する画像入力手段と、
前記魚眼画像から特徴点を抽出する特徴点抽出手段と、
前記特徴点に基づいて、路面上において前記車体の前記側面側に位置する車線の方向ベクトルを算出する車線方向算出手段と、
前記車線の方向ベクトルと前記魚眼画像の特徴点とを用いて、車線を検出する車線検出手段と、
を備え
前記車線検出手段は、前記魚眼画像の特徴点を球面空間に射影して球面空間におけるハフ変換を行うことにより、前記車線を検出し、
前記車線検出手段は、前記ハフ変換を行うための投票空間をθφ平面とし、前記球面空間に射影された特徴点を通る曲線を、当該曲線を含む平面の法線ベクトルを用いて推定することを特徴とする車線検出装置。
【請求項2】
前記特徴点に基づいて前記魚眼画像の消失点を推定する消失点推定手段を更に備え、
前記車線方向算出手段は、前記消失点を用いて前記方向ベクトルを算出することを特徴とする請求項1に記載の車線検出装置。
【請求項3】
前記画像入力手段は、前記車体の前後方向に並んだ2つの視点から得られると共に、一部が重なる視野領域を有する2つの前記魚眼画像を入力し、
前記特徴点抽出手段は、2つの前記魚眼画像それぞれから特徴点を抽出し、
前記消失点推定手段は、2つの前記魚眼画像において対応する特徴点を用いて前記魚眼画像におけるエピポー対を推定し、当該推定したエピポー対を前記消失点と推定することを特徴とする請求項2記載の車線検出装置。
【請求項4】
2つの前記魚眼画像を異なるタイミングでそれぞれ取得する魚眼カメラを更に備え、
前記画像入力手段は、前記魚眼カメラによって取得された2つの前記魚眼画像を入力することを特徴とする請求項3に記載の車線検出装置。
【請求項5】
前記特徴点に基づいて、前記路面上の停止線の方向ベクトルを算出する停止線方向算出手段を更に備えることを特徴とする請求項1~のいずれか1項に記載の車線検出装置。
【請求項6】
前記車線検出手段は、前記停止線の方向ベクトルを用いて前記車線を検出することを特徴とする請求項に記載の車線検出装置。
【請求項7】
前記車線の方向ベクトルと前記停止線の方向ベクトルとに基づいて停止線方向の消失点を算出し、前記停止線方向の消失点と車線方向の消失点とから路面領域を検出し、前記路面領域に基づいて前記視点の視線方向を検出する方向検出手段を更に備えることを特徴とする請求項又はに記載の車線検出装置。
【請求項8】
画像入力手段が、車体の側面側を視点として前記車体の外側をとらえた魚眼画像を入力する画像入力ステップと、
特徴点抽出手段が、前記魚眼画像から特徴点を抽出する特徴点抽出ステップと、
車線方向算出手段が、前記特徴点に基づいて、路面上において前記車体の前記側面側に位置する車線の方向ベクトルを算出する車線方向算出ステップと、
車線検出手段が、前記車線の方向ベクトルと前記魚眼画像の特徴点とを用いて、車線を検出する車線検出ステップと、
を備え
前記車線検出ステップでは、前記魚眼画像の特徴点を球面空間に射影して球面空間におけるハフ変換を行うことにより、前記車線を検出し、
前記車線検出ステップでは、前記ハフ変換を行うための投票空間をθφ平面とし、前記球面空間に射影された特徴点を通る曲線を、当該曲線を含む平面の法線ベクトルを用いて推定することを特徴とする車線検出方法。
【請求項9】
消失点推定手段が、前記特徴点に基づいて前記魚眼画像の消失点を推定する消失点推定ステップを更に備え、
前記車線方向算出ステップでは、前記消失点を用いて前記方向ベクトルを算出することを特徴とする請求項に記載の車線検出方法。
【請求項10】
前記画像入力ステップでは、前記車体の前後方向に並んだ2つの視点から得られると共に、一部が重なる視野領域を有する2つの前記魚眼画像を入力し、
前記特徴点抽出ステップでは、2つの前記魚眼画像それぞれから特徴点を抽出し、
前記消失点推定ステップでは、2つの前記魚眼画像において対応する特徴点を用いて、
前記魚眼画像におけるエピポー対を推定し、当該推定したエピポー対を前記消失点と推定することを特徴とする請求項記載の車線検出方法。
【請求項11】
前記画像入力ステップでは、2つの前記魚眼画像を異なるタイミングでそれぞれ取得する魚眼カメラによって取得された2つの前記魚眼画像を入力することを特徴とする請求項10に記載の車線検出方法。
【請求項12】
車線検出手段が、前記特徴点に基づいて前記路面上の停止線の方向ベクトルを算出する停止線方向算出ステップを更に備えることを特徴とする請求項11のいずれか1項に記載の車線検出方法。
【請求項13】
前記車線検出ステップでは、前記停止線の方向ベクトルを用いて前記車線を検出することを特徴とする請求項12に記載の車線検出方法。
【請求項14】
方向検出手段が、前記車線の方向ベクトルと前記停止線の方向ベクトルとに基づいて停止線方向の消失点を算出し、前記停止線方向の消失点と車線方向の消失点とから路面領域を検出し、前記路面領域に基づいて前記視点の視線方向を検出する方向検出ステップを更に備えることを特徴とする請求項12又は13に記載の車線検出方法。
【請求項15】
コンピュータに、請求項14のいずれか1項に記載の車線検出方法を実行させることを特徴とする車線検出プログラム。
発明の詳細な説明 【技術分野】
【0001】
本発明は、画像から路面上の車線を検出する車線検出装置、車線検出方法、及び車線検出プログラムに関する。
【背景技術】
【0002】
車にカメラを搭載し、カメラが取得した画像から、路面上の車線を検出する技術がある。この車線とは、路面上において車の走行領域の境界を示し、走行方向に沿って路面上に描かれた白線又は黄線である。
【0003】
例えば、下記特許文献1には、車のフロント側に載置されたカメラによって画像を取得し、その画像から車線を検出する技術が記載されている。

【特許文献1】特開2006-331389号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
上記特許文献1に記載された技術では、カメラを車のフロント側に載置しているので、取得した画像において車線が前の車によって遮られる場合がある。この場合、十分に車線の画像が取得できないので、検出結果の誤差が大きくなる。
【0005】
そこで、本発明は、車線の検出結果の誤差を小さくすることが可能な車線検出装置、車線検出方法、及び車線検出プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の車線検出装置は、車体の側面側を視点として前記車体の外側をとらえた魚眼画像を入力する画像入力手段と、魚眼画像から特徴点を抽出する特徴点抽出手段と、特徴点に基づいて、路面上において車体の側面側に位置する車線の方向ベクトルを算出する車線方向算出手段と、車線の方向ベクトルと魚眼画像の特徴点とを用いて車線を検出する車線検出手段と、を備えることを特徴とする。
【0007】
本発明の車線検出方法は、画像入力手段が、車体の側面側を視点として前記車体の外側をとらえた車体の外側の魚眼画像を入力する画像入力ステップと、特徴点抽出手段が、魚眼画像から特徴点を抽出する特徴点抽出ステップと、車線方向算出手段が、特徴点に基づいて、路面上において車体の側面側に位置する車線の方向ベクトルを算出する車線方向算出ステップと、車線検出手段が、車線の方向ベクトルと魚眼画像の特徴点とを用いて車線を検出する車線検出ステップと、を備えることを特徴とする。
【0008】
本発明では、画像入力手段が、車体の側面側から見た魚眼画像を入力するので、入力した画像の視野領域に対して、より長い車線が写った画像を取得することができる。このため、車線の検出結果の誤差を小さくすることができる。そして、車線が、車体の前後方向に延びていることを利用して、車線方向算出手段が車線の方向ベクトルを算出する。車線検出手段は、この方向ベクトルを用いることにより、魚眼画像の特徴点から車線を検出する。これにより、誤差を抑制し且つ容易に車線を検出することができる。すなわち、車線の検出性能を向上することができる。
【0009】
本発明の車線検出装置では、好ましくは、特徴点に基づいて、魚眼画像の消失点を推定する消失点推定手段を更に備え、車線方向算出手段は、消失点を用いて方向ベクトルを算出する。
【0010】
本発明の車線検出方法では、好ましくは、消失点推定手段が、特徴点に基づいて、魚眼画像の消失点を推定する消失点推定ステップを更に備え、車線方向算出ステップでは、消失点を用いて方向ベクトルを算出する。
【0011】
魚眼画像により、車体の前後方向の2つの消失点を1つの画像内にとらえることができる。このため、消失点推定手段が、魚眼画像の特徴点に基づいて、車体の前後方向の2つの消失点を推定することができる。よって、この消失点を用いて、容易に車線の方向ベクトルを算出することができる。
【0012】
本発明の車線検出装置では、好ましくは、画像入力手段は、車体の前後方向に並んだ2つの視点から得られると共に、一部が重なる視野領域を有する2つの魚眼画像を入力し、特徴点抽出手段は、2つの魚眼画像それぞれから特徴点を抽出し、消失点推定手段は、2つの魚眼画像において対応する特徴点を用いて、魚眼画像におけるエピポーラ対を推定し、当該推定したエピポーラ対を消失点と推定する。
【0013】
本発明の車線検出方法では、好ましくは、画像入力ステップでは、車体の前後方向に並んだ2つの視点から得られると共に、一部が重なる視野領域を有する2つの魚眼画像を入力し、特徴点抽出ステップでは、2つの魚眼画像それぞれから特徴点を抽出し、消失点推定ステップでは、2つの魚眼画像において対応する特徴点を用いて魚眼画像におけるエピポーラ対を推定し、当該推定したエピポーラ対を消失点と推定する。
【0014】
この場合、エピポーラ対を2つの消失点とするので、より簡易に消失点を推定することが可能となり、車線の検出をより容易にすることができる。
【0015】
本発明の車線検出装置では、好ましくは、2つの魚眼画像を異なるタイミングでそれぞれ取得する魚眼カメラを更に備え、画像入力手段は、魚眼カメラによって取得された2つの魚眼画像を入力する。
【0016】
本発明の車線検出方法では、好ましくは、画像入力ステップでは、2つの魚眼画像を異なるタイミングでそれぞれ取得する魚眼カメラによって取得された2つの魚眼画像を入力する。
【0017】
車は、車線に沿って走行するので、1台の魚眼カメラによってタイミングをずらして2つの魚眼画像を取得することにより、車体の前後方向に並んだ2つの視点から得られると共に、一部が重なる視野領域を有する2つの魚眼画像を得ることができる。このため、2台の魚眼カメラから画像を入力する必要がなくなる。よって、構成を簡易にすることができる。また、2台の魚眼カメラから画像を入力する場合より、2つの魚眼画像の視点の並び方向を車体の前後方向に精度良く合わせることができる。
【0018】
本発明の車線検出装置では、好ましくは、車線検出手段は、魚眼画像の特徴点を球面空間に射影して球面空間におけるハフ変換を行うことにより車線を検出する。
【0019】
本発明の車線検出方法では、好ましくは、車線検出ステップでは、魚眼画像の特徴点を球面空間に射影して球面空間におけるハフ変換を行うことにより車線を検出する。
【0020】
この場合、入力画像として魚眼画像を用いた場合であっても誤差を抑制して車線の検出を行うことができる。
【0021】
本発明の車線検出装置では、好ましくは、車線検出手段は、ハフ変換を行うための投票空間をθφ平面とし、球面空間に射影された特徴点を通る曲線を、当該曲線を含む平面の法線ベクトルを用いて推定する。
【0022】
本発明の車線検出方法では、好ましくは、車線検出ステップでは、ハフ変換を行うための投票空間をθφ平面とし、球面空間に射影された特徴点を通る曲線を、当該曲線を含む平面の法線ベクトルを用いて推定する。
【0023】
この場合、投票空間を2次元平面にするので、投票空間を3次元空間にする場合より計算量を少なくすることができ、車線を早く検出することができる。しかし、一般的には、投票空間を2次元空間にすることで、3次元空間にする場合より誤差が大きくなる。θφ平面は、極点に行くに従って誤差が大きくなるが、極点を法線とする平面上の曲線は、魚眼画像の枠と重なるため、車線検出にあたっては、誤差の影響が少ない。従って、θφ平面を投票空間とすることにより、計算量を少なくすると共に、誤差の増大を抑制することができる。
【0024】
本発明の車線検出装置では、好ましくは、特徴点に基づいて、路面上の停止線の方向ベクトルを算出する停止線方向算出手段を更に備える。
【0025】
本発明の車線検出方法では、好ましくは、車線検出手段が、特徴点に基づいて、路面上の停止線の方向ベクトルを算出する停止線方向算出ステップを更に備える。
【0026】
この場合、算出した停止線の方向ベクトルを、車線検出、路面領域の検出、カメラの姿勢の検出等、その他の計算に役立てることができる。
【0027】
本発明の車線検出装置では、好ましくは、車線検出手段は、停止線の方向ベクトルを用いて、車線を検出する。
【0028】
本発明の車線検出方法では、好ましくは、車線検出ステップでは、停止線の方向ベクトルを用いて、車線を検出する。
【0029】
この場合、車線検出の誤差を少なくすることができる。
【0030】
本発明の車線検出装置では、好ましくは、車線の方向ベクトルと停止線の方向ベクトルとに基づいて、視点の視線方向を検出する方向検出手段を更に備える。
【0031】
本発明の車線検出方法では、好ましくは、方向検出手段が、車線の方向ベクトルと停止線の方向ベクトルとに基づいて、視点の視線方向を検出する方向検出ステップを更に備える。
【0032】
この場合、例えば、車線の方向ベクトルと停止線の方向ベクトルとに基づいて、路面に対する魚眼画像の視線方向を検出することにより、魚眼カメラの姿勢を推定することができる。このため、魚眼カメラの姿勢に基づいて、車線検出に適した魚眼画像を取得できるように、魚眼カメラの姿勢を制御することができる。
【0033】
本発明の車線検出プログラムは、コンピュータに、上記に記載の車線検出方法を実行させることを特徴とする。
【発明の効果】
【0034】
本発明によれば、車線の検出結果の誤差を小さくすることができる。また、計算量の増大を抑制することができる。
【発明を実施するための最良の形態】
【0035】
以下、添付図面を参照して、本発明を実施するための最良の形態を詳細に説明する。なお、図面の説明において同一の要素に同一の符号を付し、重複する説明を省略する。
【0036】
(第1実施形態)
図1~図20を参照して、第1実施形態に係る車線検出装置S1及び車線検出方法について説明する。車線検出装置S1は、車両Gに搭載され、車両Gの周辺を視覚的に監視するためのFFVシステム(Four-Fisheye-Vision- System)FSに含まれる。FFVシステムFSから出力される車両Gの周辺情報は、車両Gの運転支援に用いられる。
【0037】
図1,図2に示すように、FFVシステムFSは、車両周辺を漏れなく監視するために、4つの魚眼カメラC1~C4を備えている。4つの魚眼カメラC1~C4は、それぞれ、車体の右側、左側、フロント側、リア側に設置されている。魚眼カメラC1~C4は、魚眼レンズとCCDカメラとを有し、魚眼画像を撮像する。魚眼レンズとしては、半球以上の視野をもつ魚眼コンバージョンレンズを用いることができる。
【0038】
魚眼カメラC1は、車体の右側面E1より外側の領域を視野領域に入れることができるので、物体に遮蔽されることなく、車両G右側の車線Hを視野領域に入れることができる。この車線Hとは、路面上において車の走行領域の境界を示し、走行方向に沿って路面上に描かれた白線又は黄線である。車線Hは、路面上において、2つの輪郭線H1,H2に挟まれた領域上にある。
【0039】
魚眼カメラC2は、車体の左側面E2より外側の領域を視野領域に入れることができるので、物体に遮蔽されることなく、車両G左側の車線を視野領域に入れることができる。なお、フロント側に搭載された魚眼カメラC3は、図1に示す面E3より前方の領域を視野領域に入れることができ、リア側に搭載された魚眼カメラC4は、面E4より後方の領域を視野領域に入れることができる。
【0040】
図3に示すように、車線検出装置S1は、車両Gのサイドにそれぞれ設置された魚眼カメラC1,C2と、解析装置10と、を備え、この魚眼カメラC1,C2によって取得した魚眼画像から車両G周囲の車線を検出する。
【0041】
解析装置10は、機能的な構成要素として、画像入力部11、特徴点抽出部12、消失点推定部13、車線方向算出部14、車線検出部15、出力部16を備えて構成される。車線検出部15は、ハフ変換部15aと再フィット部15bとを有する。解析装置10は、ハードウェアとして、CPU及びメモリ等を備えて、画像入力部11、特徴点抽出部12、消失点推定部13、車線方向算出部14、車線検出部15、出力部16の各機能を実現する。
【0042】
図4を参照して、魚眼カメラC1によって取得された魚眼画像から車両G右側の車線Hを検出する場合を例として、車線検出装置S1の概要について説明する。車線検出装置S1では、車両Gの走行中に、一定間隔で魚眼カメラC1が魚眼画像を取得する(画像取得ステップS11)。解析装置10の画像入力部11は、魚眼カメラC1から出力された魚眼画像を逐次入力する(画像入力ステップS12)。特徴点抽出部12は、画像入力部11が入力した魚眼画像から特徴点を抽出する(特徴点抽出ステップS13)。
【0043】
消失点推定部13は、特徴点抽出部12が抽出した特徴点から魚眼画像の消失点を推定する(消失点推定ステップS14)。車線方向算出部14は、消失点推定部13が推定した消失点を利用して車線Hの方向ベクトルを算出する(車線方向算出ステップS15)。車線検出部15は、車線方向算出部14が算出した車線Hの方向ベクトルと、特徴点抽出部12が抽出した特徴点とを用いて車線Hを検出する(車線検出ステップS16)。このようにして検出した車線Hは、出力部16によって、運転支援装置等に出力される。
【0044】
引き続いて、より詳細に車線検出方法を説明する。
【0045】
図5は、画像取得ステップS11において取得した魚眼画像を示す。魚眼カメラC1は、車両Gの走行中に所定の時間間隔で撮像する。これにより、車体の前後方向、すなわち、路面と平行な方向に並んだ複数の視点から得られる一連の魚眼画像を取得することができる。魚眼カメラC1の撮像間隔は、ステレオ法を用いて消失点を推定するために、連続する2つの魚眼画像が、一部が重なる視野領域を有するように設定する。図5(a)と図5(b)とは、連続する1対の魚眼画像である。
【0046】
特徴点抽出ステップS13では、まず、魚眼画像に含まれるインタレース効果を除去する。インタレース効果を除去する際には、車線Hの特徴点の数を減らさないようにするために、高さ方向を半分にした横長のインタレース効果除去画像を用いる。このインタレース除去画像からエッジ点を特徴点20として抽出する(図6)。
【0047】
そして、ハリス・コーナ・ディテクターを用いて、抽出した特徴点20からコーナーを示す特徴点21を抽出する(図7)。なお、図6(a)と図7(a)とは、図5(a)の魚眼画像から抽出した特徴点20,21をそれぞれ示し、図6(b)と図7(b)とは、図5(b)の魚眼画像から抽出した特徴点20,21をそれぞれ示している。
【0048】
消失点推定ステップ14では、球面ステレオ法を用いて消失点の推定を行う。球面ステレオ法は、魚眼画像を球面に投影して得られた球面画像を用いる。図8を参照して球面画像について説明する。魚眼カメラC1が有する魚眼レンズの光軸をZ軸とし、魚眼レンズの主点Oを通りZ軸に直交する平面をXY平面とする。球面画像とは、この3次元直交座標系XYZで示される実空間上の点Pを、主点Oを中心とする単位球面上に射影してできる画像である。
【0049】
また、Z軸上において、主点Oから焦点距離fだけ離れた点cは、Z軸と直交する魚眼画像の中心点cに対応する。この中心点cを通り、Z軸と直交する平面をxy平面とする。魚眼画像は、魚眼レンズにより、実空間の点Pをxy平面に射影してできる画像である。
【0050】
天頂角をθ、方位角をφとすると、実空間の点Pから投影される球面画像上の点pと魚眼画上の点paとの関係は、等距離射影式(1)から得られる。
【数1】
JP0005105481B2_000002t.gif

よって、球面画像上の点pの座標は、次のように示される。
【数2】
JP0005105481B2_000003t.gif

【0051】
引き続いて、図9を参照して消失点について説明する。消失点とは、3次元空間で平行な直線群の収束点(無限遠で交わる点)である。3次元空間で平行な直線群を球面に射影すると、それぞれ球の大円の一部を成す。この大円の交点が消失点V1,V2である。180度以上の視野角を持つ魚眼カメラC1は、消失点を2点同時に捉えることができる。車線Hは直線であるため、魚眼カメラC1によって、車線Hの2点の消失点を捉えることができる。この2点の消失点V1,V2を結ぶ直線の方向ベクトルが、車線Hの方向ベクトルnνとなる。車線Hの方向ベクトルnνを最初に推定することにより、魚眼画像上の特徴点21を含むエッジ点から車線Hを容易に検出することができる。
【0052】
図10に示すように、車両Gは、車線Hに沿って走行するので、車線の向きとカメラの移動方向は同じである。このため、連続する一対の魚眼画像のエピポール対と2つの消失点V1,V2が重なる。エピポール対の位置を算出してこのエピポール対の位置を消失点V1,V2の位置と仮定して、消失点の座標から車線Hの方向ベクトルnνを求める。
【0053】
図11を参照して、このエピポール対24について説明する。2つの視点から空間上の点Mを見ているとすると、その2つの視点は、エピポーラ平面22にある。この2つの視点とは、一対の魚眼画像のそれぞれに対応する球面空間の原点Oである。エピポーラ平面22とそれぞれの球面画像(単位球)の交線は、エピポーラ線23である。球面ステレオ法では、全てのエピポーラ線23は2点で交わり、この2点をエピポール対24という。
【0054】
エピポーラ幾何では、基礎行列Fが決まれば、一意にエピポールの位置が決まる。基礎行列Fは、一対の球面画像上のそれぞれの投影点を投影点m,m’とすると、式(3)に示すエピポーラ方程式で定義される。
【数3】
JP0005105481B2_000004t.gif

基礎行列Fは、8点以上の投影点のペアを算出して、8点アルゴリズムで推定できる。精度を高めるために、評価関数が閾値以下になるまで計算を繰り返すRANSAC法で基礎行列Fを推定する。
【0055】
RANSAC法は、以下の通りである。
ステップ1:特徴点集合から8点以上の対応点を取得。
ステップ2:取得した対応点から基礎行列を推定。
ステップ3:もし,評価関数が閾値以下なら終了。それ以外ならステップ1に戻る。
【0056】
RANSAC法で基礎行列Fを推定した後、使用した特徴点とエピポーラ線とのユークリッド距離が0になることを利用した評価関数を立て、これが閾値以下の値になれば、その基礎行列を採用する。評価関数は以下の式(4)で表される。
【数4】
JP0005105481B2_000005t.gif

ただし、Fm’=(l1i l2i l3i)T、FT mi=(l’1i l’2i l’3i)Tである。
【0057】
以上の手順で、基礎行列Fを推定し、推定した基礎行列Fからエピポール対を算出する。そして、算出したエピポール対の位置を2つの消失点とする。図12は、魚眼画像上の消失点V1,V2を示す。車線方向算出ステップS15では、この消失点V1,V2の座標から2つの消失点V1,V2を結ぶ直線の方向ベクトルを算出し、算出した方向ベクトルを車線Hの方向ベクトルnνとする。
【0058】
車線検出ステップS16では、1つの魚眼画像から、路面上に車線Hの描かれた領域を画成する2つの輪郭線H1,H2を検出することにより、車線Hを検出する。2つの輪郭線H1,H2を区別して検出するために、上向きの勾配を持つエッジ点(特徴点20)と下向きの勾配を持つエッジ点(特徴点20)との2つのグループに特徴点20を分ける。図13(a)と図13(b)は、2つのグループのエッジ点を示す。図13(a)に示されるエッジ点(特徴点20)を用いて、車線Hの下側の輪郭線H1を検出し、図13(b)に示されるエッジ点を用いて、車線Hの上側の輪郭線H2を検出する。
【0059】
輪郭線H1,H2の検出は、球面空間ハフ変換を用いて行う。ハフ変換部15aがこの球面空間ハフ変換を行う。ここで球面空間ハフ変換について説明する。図14に示すように、球面上に投影された直線は、大円の一部となる。この大円は、大円を含む平面の法線によって一意に決定することができる。すなわち、魚眼画像上の輪郭線H1,H2は、球面画像上に射影された大円の法線を特定することにより、決定できる。よって、球面空間ハフ変換では、球面空間上の任意の点(X Y Z)を通る大円の法線群の描く軌跡を投票空間に描画し、それらの描く軌跡が最も多く交差する点が、大円の法線に対応すると推定する。
【0060】
以下、輪郭線H1を検出する場合について説明する。球面空間上に投影された輪郭線H1を含む大円の法線ベクトルは、輪郭線H1上の点Pの球面空間への投影点を点psとすると、車線Hの方向ベクトルnνとベクトルpsとの外積によって表される。よって、大円は、式(5)によって表される。
【数5】
JP0005105481B2_000006t.gif

【0061】
引き続いて、本実施形態に係る球面空間ハフ変換のアルゴリズムを説明する。
ステップ1:車線Hの方向ベクトルnνとベクトルpsとの外積を計算する。
ステップ2:車線Hの方向ベクトルnνとベクトルpsとの外積ベクトルの球面空間における極座標(θ,φ)を計算する。
ステップ3:ステップ2で算出した極座標(θ,φ)の位置で、投票1を加算する。
ステップ4:すべてのエッジ点に対して、上記のステップ1-3を行い、投票を行う。
【0062】
同じ輪郭線のエッジ点であれば、その輪郭線を含む投影面が同じなので、共通な投影面の法線ベクトルを有する。よって、上記の投票値の最大値を車線の輪郭線候補の投影面の法線ベクトルとして用いることができる。
【0063】
図15は、投票結果を示す。図16は、大円の推定結果を示す。図15(a)と図16(a)とは、図13(a)のエッジ点を用いて算出した結果である。図15(b)と図16(b)とは、図13(b)のエッジ点を用いて算出した結果である。図16(a)に示すように、推定された大円は7つあり、正しく推定された3つの曲線25と、誤って推定された4つの曲線26とを含む。なお、正しく推定された3つの曲線25は、3つの車線Hの下側の輪郭線H1にフィットしている。
【0064】
一方、図16(b)に示すように、推定された大円は6つあり、正しく推定された4つの曲線27と、誤って推定された2つの曲線28とを含む。なお、正しく推定された4つの曲線27は、4つの車線Hの上側の輪郭線H2にフィットしている。
【0065】
このように、誤りが生じる理由は、用いたエッジ点が車線H上だけでなく、建物や木などにも存在するためである。よって、車線輪郭上のエッジ点を探索し、車線上のエッジ点のみを扱うようにする。また、もう一つの理由は、方向ベクトルnνの誤差によるものである。算出したエピポール対24が直線車線の球面画像への消失点V1,V2に重ならない場合、方向ベクトルnνの精度が低下する。基礎行列Fを推定する際に用いた特徴点21の対応付けが誤っている場合、算出したエピポール対24が直線車線の球面画像への消失点V1,V2に重ならない。そのため、方向ベクトルnνの精度に影響を受けない方法で、再フィット部15bが、推定した曲線の再フィッティングを行う。
【0066】
以下の方法を繰り返すことで再フィッティングしていく。
ステップ1:検出した車線輪郭(曲線)上とその周辺の画素を探索する。この探索は、周辺にあるエッジ点を式(6)で判別することにより行う。式(6)において、εは許容誤差範囲、ベクトルnは大円(投影曲線)の法線ベクトルである。
【数6】
JP0005105481B2_000007t.gif

ステップ2:ステップ1で探索したエッジ点がある場合、エッジ点の勾配方向を示すベクトルと曲線を含む大円の法線ベクトルとの内積値を計算する。
ステップ3:内積値が閾値以上のエッジ点群から最小二乗法で新たな車線輪郭をフィッティングする。
【0067】
図17は、図16(a)に示す7つの曲線に再フィッティングを施して得た輪郭線H1の検出結果である。輪郭線H1として、3つの曲線29が検出されている。図18は、図16(b)に示す6つの曲線に再フィッティングを施して得た輪郭線H2の検出結果である。輪郭線H2として、4つの曲線30が検出されている。
【0068】
次に、車線Hを検出するために、勾配方向が異なるエッジ点を通る曲線対で、それらの球面画像上での大円の法線の方向がほぼ同じ曲線対を同一車線H上の上下の輪郭線H1,H2を通る投影曲線であるとみなす。図19は、3対の曲線対31~33を示す。そして、1対の曲線(1対の輪郭線H1,H2)で囲まれた領域を車線Hとして検出する。図20は、検出された車線34~36を示す。図20に示すように、誤り無く、3つの車線Hが検出されている。
【0069】
引き続いて、本実施形態にかかる車線検出プログラム、および、この車線検出プログラムを記録したコンピュータ読み取り可能な記録媒体(以下、単に記録媒体という)について説明する。記録媒体のプログラムを記録するプログラム領域には、車線検出プログラムが記録されている。この車線検出プログラムは、処理を統括するメインモジュールと、コンピュータに、上記の画像入力ステップS12、特徴点抽出ステップS13、消失点推定ステップS14、車線方向算出ステップS15、車線検出ステップS16を実行させるためのモジュールを備えている。
【0070】
最後に本実施形態に係る車線検出装置S1及びこの車線検出装置S1において実行される車線検出方法の作用効果について説明する。車線検出装置S1では、車体の側面側から見た魚眼画像を入力するので、入力した画像の視野領域に対して、より長い車線Hが写った画像を取得することができる。このため、車線Hの検出結果の誤差を小さくすることができる。また、魚眼画像により、車体の前後方向の2つの消失点V1,V2を1つの画像内にとらえることができる。このため、魚眼画像の特徴点20に基づいて、2つの消失点V1,V2を推定することができる。そして、車線Hは、車体の前後方向に延びているので、2つの消失点V1,V2から車線Hの方向ベクトルnνを算出することができる。車線Hの方向ベクトルnνを用いることにより、魚眼画像の特徴点20から誤差を抑制し且つ容易に車線Hを検出することができる。従って、車線Hの検出性能を向上することができる。
【0071】
また、車線検出装置S1では、球面ステレオ法を用いて、消失点を推定する。すなわち、車体の前後方向に並んだ2つの視点から得られると共に、一部が重なる視野領域を有する2つの魚眼画像を入力し、2つの魚眼画像それぞれから特徴点を抽出し、2つの魚眼画像において対応する特徴点を用いて、魚眼画像におけるエピポーラ対を推定し、当該推定したエピポーラ対を消失点と推定する。このように、エピポーラ対を2つの消失点とするので、より簡易に消失点を推定することが可能となり、車線Hの検出をより容易にすることができる。
【0072】
また、車線検出装置S1は、2つの魚眼画像を異なるタイミングでそれぞれ取得する魚眼カメラC1を備え、解析装置10は、魚眼カメラC1によって取得された2つの魚眼画像を入力する。車両Gは、車線Hに沿って走行するので、1台の魚眼カメラC1によってタイミングをずらして2つの魚眼画像を取得することにより、車体の前後方向に並んだ2つの視点から得られると共に、一部が重なる視野領域を有する2つの魚眼画像を得ることができる。このため、2台の魚眼カメラから画像を入力する必要がなくなる。よって、構成を簡易にすることができる。また、2台の魚眼カメラから画像を入力する場合より、2つの魚眼画像の視点の並び方向を、車体の前後方向に精度良く合わせることができる。
【0073】
また、一般的にピンホールカメラで取得した画像から車線を検出する手法は、魚眼画像に用いることができない。車線検出装置S1では、魚眼画像の特徴点20を球面空間に射影して球面空間におけるハフ変換を行うことにより車線を検出する。これにより、魚眼画像を用いた場合であっても、誤差を抑制して車線Hの検出を行うことができる。
【0074】
また、車線検出装置S1では、ハフ変換を行うための投票空間をθφ平面とし、球面空間に射影された特徴点を通る曲線を、当該曲線を含む平面の法線ベクトルを用いて検出する。この場合、投票空間を2次元平面にするので、投票空間を3次元空間にする場合より計算量を少なくすることができ、車線を早く検出することができる。また、一般的には、投票空間を2次元空間にすることで、3次元空間にする場合より誤差が大きくなる。θφ平面においては、極点に行くに従って誤差が大きくなるが、極点を法線とする平面上の曲線は、魚眼画像の枠と重なるため、車線検出にあたっては、誤差の影響が少ない。従って、計算量を少なくすると共に、誤差の増大を抑制することができる。
【0075】
図21~図24に、第1実施形態に係る車線検出装置S1によって検出した検出結果を示す。図21に示す実施例では、6つの境界線が検出されている。図22に示す実施例では、8つの境界線が検出されている。図23に示す実施例では、6つの境界線が検出されている。図24に示す実施例では、6つの境界線が検出されている。なお、以上説明した検出結果は、魚眼カメラC1として、オリンパス製の魚眼コンバージョンレンズ(FCON-2)を搭載したソニー製のデジタルハンディカムビデオカメラを用い、解析装置10として、上記車線検出プログラムを搭載したデル製のノートパーソナルコンピュータを用いて得られたものである。
【0076】
(第2実施形態)
図25に示すように、第2実施形態に係る車線検出装置S2は、魚眼カメラC1,C2と、解析装置40と、を備える。解析装置40は、機能的な構成要素として、画像入力部11、特徴点抽出部12、消失点推定部13、車線方向算出部14、車線検出部45、出力部16、車線追跡部47を備えて構成される。すなわち、第1実施形態に係る車線検出装置S1と異なる点は、車線検出部15に変えて異なる手法で車線を検出する車線検出部25を備える点と、新たに、車線追跡部27を備えた点である。
【0077】
車線検出装置S2では、車両Gの走行中に、一定間隔で魚眼カメラC1が魚眼画像を取得し(画像取得ステップS11)。解析装置40の画像入力部11が、魚眼カメラC1から出力された魚眼画像を逐次入力する(画像入力ステップS12)。図26は、解析装置40が入力した1対のステレオ画像である。
【0078】
特徴点抽出部12は、画像入力部11が入力した魚眼画像から特徴点を抽出する(特徴点抽出ステップS13)。まず、図27に示すインタレース除去用の画像を生成し、このインタレース除去画像から、特徴点(エッジ点)を抽出して図28に示すエッジ画像を生成する。エッジ画像を生成する際には、魚眼画像の周りと、画像上に写りこんでいる車両の一部をエッジ点として抽出しないようにする。
【0079】
図29,図30に示すように、ハリス・コーナ・ディテクターを用いて、抽出したエッジ点からコーナーを示す特徴点51を1対のステレオ画像それぞれから抽出する。図29が、1対のステレオ画像のうち一方の魚眼画像のエッジ点から抽出したコーナー点を示す図である。図30が、1対のステレオ画像のうち他方の魚眼画像のエッジ点から抽出したコーナー点を示す図である。
【0080】
次に、図31に示すように、消失点推定部13は、特徴点抽出部12が抽出した特徴点から魚眼画像のエピポール対52を推定し、そのエピポール対52を消失点とする(消失点推定ステップS14)。車線方向算出部14は、消失点推定部13が推定した消失点を利用して車線Hの方向ベクトルnνを算出する(車線方向算出ステップS15)。
【0081】
車線検出部45は、車線方向算出部14が算出した車線Hの方向ベクトルと、特徴点抽出部12が抽出した特徴点とを用いて車線Hを検出する(車線検出ステップS16)。車線検出部45は、最初に輪郭線検出部45aが、輪郭線H1,H2を検出し、再フィット部45bが上述した再フィット部15bと同様手順で検出した輪郭線H1,H2を再フィッティングする。
【0082】
引き続いて、輪郭線検出部45aによる輪郭線の検出方法について説明する。ここでは、図32に示すように、輪郭線検出部45aにおいても上述した球面モデルを用いる。
【0083】
まず、1つの魚眼画像のエッジ点座標と方向ベクトルnνからなる式(5)を満たす球面画像上の投影平面を計算し、魚眼画像上への投影曲線を車線H上の輪郭部分を通る曲線候補とする。しかし,このままではエッジ点数分の車線Hの輪郭候補を発見することになる。また,エッジ点は車線H上だけでなく、建物や木などにも存在する。このため、車線輪郭上のエッジ点を探索し、車線上のエッジ点のみを扱うようにする。
【0084】
車線輪郭上のエッジ点を探索するために、まず、球面画像上の投影曲線の各画素での法線を下式(7)から計算する。下式(7)は、球面画像上の点pの座標を(x y z)とすると、式(8)から得られる。
【数7】
JP0005105481B2_000008t.gif

【数8】
JP0005105481B2_000009t.gif

投影曲線の法線は式(7)をx,yで偏微分した各成分からなる。エッジ点の勾配はSobelオペレータにより求める。
【0085】
次に、投影曲線とその近傍を探索しエッジ点があった場合、エッジ点の勾配を求める。この法線と勾配との内積を計算し、2つのベクトルがほぼ同じ方向である数が閾値以上存在する投影曲線を算出する。この投影曲線上のエッジ点を輪郭線上のエッジ点とみなす。これにより、多くのエッジ点が存在していても、勾配方向が異なるエッジ点を取り除くことができる。こうして輪郭線上のエッジ点とみなされたエッジ点を図34に示す。
【0086】
次に、輪郭線上のエッジ点とみなされたエッジ点を用いて、車線の輪郭線を検出する。同一輪郭線上には複数のエッジ点が存在する。図33は、同一輪郭線上のエッジ点の集合からなる曲線53を示す。このため、輪郭線上のエッジ点とみなされたエッジ点のうち、1つのエッジ点を用いて投影曲線を計算し、その近傍のエッジ点を上記の式(6)で求める。投影曲線の近傍にあるエッジ点の中で、車線上のエッジ点であるとみなされたエッジ点を同一車線輪郭上に存在するとみなし、これらのエッジ点集合を使い最小二乗法で魚眼画像上の車線輪郭上を通る投影曲線を計算する。
【0087】
すなわち、以下の式(9)をラグランジュ乗数法で最小化することで、車線輪郭上を通る投影曲線を計算する。
【数9】
JP0005105481B2_000010t.gif

ここで、正規化のための条件は、a2+b2+c2=1である。また、ベクトルpは、球面画像上の点pのベクトルであり、ベクトルnは、投影曲線を含む大円の法線ベクトルである。図35は、こうして求めた輪郭線の候補54を示す。
【0088】
続いて、輪郭線の候補54に上述した再フィッティングを施し、車線Hの輪郭線を検出する。図36は、再フィッティングを行った後の輪郭線55を示す。図36に示されるように、図35に示す輪郭線の候補54より実際の車線Hの輪郭線にフィットしていることが分かる。次に、車線Hを検出するために、対となる輪郭線を検出する。そして、1対の輪郭線で囲まれた領域を車線Hとして検出する。図37は、検出された車線56~58を示す。
【0089】
図38~図40は、図34~図37とは異なる魚眼画像から上記の方法で検出した検出結果を示す。図38は、輪郭線上のエッジ点とみなされたエッジ点を示す。図39は、最小二乗法で求めた輪郭線の候補59を示す。図40は、再フィッティングを行った後の輪郭線60を示す。図40から、実際の車線の輪郭線にフィットした輪郭線を検出できることが分かる。
【0090】
以上説明したように、車線Hの方向ベクトルnνを用いることにより、容易に魚眼画像から車線を検出することができる。
【0091】
引き続いて、車線追跡部47が行う車線Hの追跡について説明する。車線追跡部47は、前後に撮影された魚眼画像間で、各車線Hはほぼ同じ位置に存在することを利用して、車両の走行中に車線を追跡する。すなわち、前画像で検出した車線Hを初期値として、上記の再フィッティングを行うことで車線の追跡をする。このようにして行った車線の追跡結果を図41に示す。図41に示すように、前画像で検出した車線Hを初期値として、上記の再フィッティングを行うことにより、精度よく車線を追跡できると共に、計算を早く行うことができる。
【0092】
(第3実施形態)
図42に示すように、第3実施形態に係る車線検出装置S3は、魚眼カメラC1,C2と、解析装置70と、を備える。解析装置70は、機能的な構成要素として、画像入力部11、特徴点抽出部12、車線検出部73、車線方向算出部74、停止線方向算出部75、路面領域検出部76、出力部16、姿勢検出部77を備えて構成される。車線検出部73は、ハフ変換部73aとノイズ除去部73bとを有する。
【0093】
図43を参照して、魚眼カメラC1によって取得された魚眼画像から車両G右側の車線Hを検出する場合を例として、車線検出装置S3の概要について説明する。
【0094】
車線検出装置S3では、車両Gの走行中に、一定間隔で魚眼カメラC1が魚眼画像を取得する(画像取得ステップS21)。解析装置10の画像入力部11は、魚眼カメラC1から出力された魚眼画像を逐次入力する(画像入力ステップS22)。特徴点抽出部12は、画像入力部11が入力した魚眼画像から特徴点を抽出する(特徴点抽出ステップS23)。車線検出部73のハフ変換部73aが、特徴点抽出部12が抽出した特徴点を用いて球面空間ハフ変換を行い、輪郭線候補を検出する(ハフ変換ステップS24)。
【0095】
一方、車線方向算出部74が、特徴点抽出部12が抽出した特徴点と、ハフ変換部73aが検出した輪郭線候補を含む平面の法線ベクトルとを用いて、車線の方向ベクトルを算出する(車線方向算出ステップS25)。そして、停止線方向算出部75が、車線の方向ベクトルと、輪郭線候補の法線ベクトルとを用いて停止線の方向ベクトルを算出する(停止線方向算出ステップS26)。そして、路面領域検出部76が、車線方向の消失点と停止線方向の消失点とから、路面の領域を検出する(路面領域検出ステップS27)。
【0096】
続いて、ノイズ除去部73bが、路面領域検出部76によって算出された路面の領域に基づいて、ハフ変換部73aが検出した輪郭線候補の雑音を除去する(ノイズ除去ステップS28)。これにより、車線検出部73は、車線の輪郭線を検出し、輪郭線に挟まれた車線を検出することができる(車線検出ステップS29)。このようにして検出した車線は、出力部16によって、運転支援装置等に出力される。
【0097】
また、姿勢検出部77は、路面領域検出部76が検出した路面領域に基づいて、魚眼カメラC1の視線方向を検出する。すなわち、魚眼カメラC1の姿勢を検出することができ、この情報を解析装置70の補正に用いることができる。
【0098】
引き続いて、より詳細に車線検出装置S3における車線検出方法を説明する。第1、第2実施形態と異なる点について主に説明する。
【0099】
図44は、画像入力ステップS22において解析装置70が入力した魚眼画像を示す。特徴点抽出ステップS23では、Sobelフィルタを用いて、入力した魚眼画像から、上向き勾配のエッジ点と下向き勾配のエッジ点とを区別して特徴点として抽出する。上向き勾配のエッジ点と下向き勾配のエッジ点とを区別するのは、車線Hの下側の輪郭線H1と上向きの輪郭線H2とを分けて検出するためである。図44に示されるように、車線Hは厚みがあり、且つ、輪郭線H1と輪郭線H2とが近い位置にあるので、輪郭線H1上のエッジ点と輪郭線H2上のエッジ点とを区別するためである。
【0100】
Sobelフィルタは、縦方向のエッジを検出する場合には、横方向に微分した後に縦方向に関して平滑化を施すことで、縦方向のエッジ点を残し、且つ、ノイズを軽減するものである。このように、Sobelフィルタは、縦方向の微分値と横方向の微分値とを別々に求めることができるので、この性質を利用して勾配方向を識別する。図45と図46は、上向き勾配のエッジ点によるエッジ画像と下向き勾配のエッジ点によるエッジ画像とをそれぞれ示す。
【0101】
ハフ変換ステップS24では、図45に示すエッジ点のグループを用いて球面空間ハフ変換を行い、上側の輪郭線候補を求める。そして、図46に示すエッジ点のグループを用いて球面空間ハフ変換を行い、下側の輪郭線候補を求める。球面空間ハフ変換は、図47に示すように、大円の法線ベクトルnを用いて行う。
【0102】
投票空間は、θφ平面とする。このため、投票空間を3次元とする場合より速く計算することができる。投票空間をθφ平面とすると、メルカトル図法で描かれた世界地図のように極点に行くに従って球面上のセルが横に伸びて投影されるので、極点付近では誤差が生じ易い。しかし、極点を法線とする大円は、魚眼画像の枠線となるため、車線検出には影響が少ない。すなわち、魚眼画像から球面空間ハフ変換を行うに当たって、投票空間をθφ平面とすることにより、誤差を抑制して計算を速くすることができる。
【0103】
球面空間上の点は、式(10)によって表すことができ、
【数10】
JP0005105481B2_000011t.gif

法線ベクトルを式(11)のように表すと、
【数11】
JP0005105481B2_000012t.gif

大円の式(5)は、式(12)のように変形できる。
【数12】
JP0005105481B2_000013t.gif

よって下式(13)が得られ、式(13)を用いて法線ベクトルの描く軌跡をθφ平面に描くことができる。
【数13】
JP0005105481B2_000014t.gif

【0104】
引き続いて、投票空間をθφ平面とした球面空間ハフ変換のアルゴリズムを説明する。
ステップ1:輪郭線H1上の特徴点20を含むエッジ点集合(図13(a)参照)からエッジ点を1つ抽出する。
ステップ2:抽出したエッジ点を球面空間に投影したときのθ、φを求める。
ステップ3:求めたθ、φがθφ平面に描く軌跡を求め、その軌跡が通るピクセルに投票する。
ステップ4:全てのエッジ点に対してステップ1~3の処理を実行する。
ステップ5:クラスタリングを行う。
ステップ6:加重平均により、推定大円を算出する。
【0105】
以下が、ステップ5のクラスタリングのアルゴリズムである。
ステップ5-1:全セルを走査し、閾値以下の投票値を持つセルの投票値をリセットする。
ステップ5-2:最大投票値を探査する。
ステップ5-3:最大投票値を持つセルの周囲に探査ウィンドウを当てはめ、投票値を抽出し、投票値はリセットする。
ステップ5-4:加重平均により推定法線を算出する。
ステップ5-5:クラスタがなくなるまでステップ5-2からステップ5-4を繰り返す。
【0106】
なお、θφ平面における極点付近の誤差を補正するために、式(14)を用いて重み付けをしてもよい。
【数14】
JP0005105481B2_000015t.gif

【0107】
図48は、図45に示すエッジ点のグループを用いて行った投票結果を示す。下側のクラスタ81は、図49に示す境界線候補82に対応する。図50は、図45に示すエッジ点のグループを用いた球面空間ハフ変換による輪郭線候補を示す図である。すなわち、図50に示される輪郭線候補は、上側の輪郭線候補である。
【0108】
図50は、図46に示すエッジ点のグループを用いて行った投票結果を示す。下側のクラスタ83は、図52に示す境界線候補84に対応する。図53は、図46に示すエッジ点のグループを用いた球面空間ハフ変換による輪郭線候補を示す図である。すなわち、図52に示される輪郭線候補は、上側の輪郭線候補である。
【0109】
図50、図53に示されるように、本実施形態では、車線の輪郭線候補として、停止線の輪郭線を含んで抽出されている。また、誤った曲線も輪郭線候補として抽出している。これらの誤った輪郭線候補を除去するための計算を行う。
【0110】
まず、車線方向算出ステップS25では、車線の方向ベクトルを検出するための以下のアルゴリズムを用いて、車線の方向ベクトルを算出する。
ステップ1:下向きの勾配を持つエッジ点を使って投票して得た輪郭線候補の曲線を含む平面の法線ベクトルの列をnb1, nb2・・・nbiとする。
ステップ2:上向きの勾配を持つエッジ点を使って投票して得た輪郭線候補の曲線を含む平面の法線ベクトルの列をnu1, nu2・・・nujとする。
ステップ3:上記のi+j本の法線ベクトルから任意の2本を選び、外積をとり、その結果をベクトルnvとする。
ステップ4:i+j本の法線ベクトルの中からステップ3で選んでいない法線ベクトルと上記のベクトルnvとの内積をとり、許容誤差範囲内になっているかを調べる。
ステップ5:上記の許容誤差範囲内になっている法線ベクトルの数を数える。
ステップ6:許容誤差範囲内になっている法線ベクトルの数が閾値以上であれば、ベクトルnvが車線の方向ベクトルに対応していると判別する。そして、ベクトルnvと直交する全ての方向ベクトルを用いて最小二乗法により車線の方向ベクトルを算出する。その数が閾値以下である場合は、ステップ3に戻る。
【0111】
次に、停止線方向算出ステップS26では、車線の方向ベクトルを用いて停止線の方向ベクトルを求める。停止線の方向ベクトルを(xt、yt、zt)とし、ベクトルnvとの内積が許容範囲内にあるn本の法線ベクトルを(an、bn、cn)とする。停止線の方向ベクトル(xt、yt、zt)と法線ベクトル(an、bn、cn)との間には、次式(15)の関係が成り立つ。
【数15】
JP0005105481B2_000016t.gif

【0112】
式(15)の法線ベクトルの部分をF、停止線の方向ベクトルの部分をtとすると、式(16)となる。
【数16】
JP0005105481B2_000017t.gif

式(16)のtは、FTFの最小固有値に対応するため、特異値分解によって求めることができる。
【0113】
次に、路面領域検出ステップS27では、図55に示す車線方向の消失点V1,V2と停止線方向の消失点Vsを用いて、路面の領域を特定する。図56において、図55に対してネガ/ポジ反転した領域が路面領域Rを示す。そして、ノイズ除去ステップS28において、ハフ変換により求めた輪郭線候補のうち、路面領域R上にない輪郭線候補を除去する。そして、車線検出ステップS29において、図57に示すように、残った輪郭線候補から車線85を検出する。
【0114】
引き続いて、本実施形態にかかる車線検出プログラム、および、この車線検出プログラムを記録したコンピュータ読み取り可能な記録媒体(以下、単に記録媒体という)について説明する。記録媒体のプログラムを記録するプログラム領域には、車線検出プログラムが記録されている。この車線検出プログラムは、処理を統括するメインモジュールと、コンピュータに、上記の画像入力ステップS22、特徴点抽出ステップS23、球面空間ハフ変換ステップS24、車線方向算出ステップS25、停止線方向算出ステップS26、路面領域検出ステップS27、ノイズ除去ステップS28、車線検出ステップS29を実行させるためのモジュールを備えている。
【0115】
最後に本実施形態に係る車線検出装置S3及びこの車線検出装置S3において実行される車線検出方法の作用効果について説明する。車線検出装置S3では、車体の側面側から見た魚眼画像を入力するので、入力した画像の視野領域に対して、より長い車線Hが写った画像を取得することができる。このため、車線Hの検出結果の誤差を小さくすることができる。
【0116】
また、車線検出装置S3では、魚眼画像の特徴点を球面空間に射影し、球面空間におけるハフ変換を行うことにより、輪郭線候補を検出する。これにより、魚眼画像を用いた場合であっても、誤差を抑制して車線Hの検出を行うことができる。また、1つの魚眼画像から車線の輪郭線候補を検出することができる。
【0117】
また、車線検出装置S3では、ハフ変換を行うための投票空間をθφ平面とし、球面空間に射影された特徴点を通る曲線を、当該曲線を含む平面の法線ベクトルを用いて検出する。この場合、投票空間を2次元平面にするので、投票空間を3次元空間3次元空間にする場合より計算量を少なくすることができ、車線を早く検出することができる。また、一般的には、投票空間を2次元空間にすることで、3次元空間にする場合より誤差が大きくなる。θφ平面においては、極点に行くに従って誤差が大きくなるが、極点を法線とする平面上の曲線は、魚眼画像の枠と重なるため、車線検出にあたっては、誤差の影響が少ない。従って、計算量を少なくすると共に、誤差の増大を抑制することができる。
【0118】
また、車線検出装置S3では、車線の方向ベクトルを求めることで、車線方向の消失点と停止線方向の消失点とを算出し、この車線方向の消失点と停止線方向の消失点とによりノイズを除去している。このため、より正確な車線を検出することができる。
【0119】
また、車線検出装置S3では、車線の方向ベクトルと停止線の方向ベクトルとに基づいて、路面に対する魚眼画像の視線方向を検出することにより、魚眼カメラの姿勢を推定することができる。これにより、解析装置70における補正を魚眼カメラの姿勢の姿勢に基づいて、行うことができる。また、車線検出に適した魚眼画像を取得できるように、魚眼カメラの姿勢を制御することもできる。
【0120】
(第4実施形態)
図58に示すように、第4実施形態に係る車線検出装置S4は、魚眼カメラC1,C2と、解析装置70と、を備える。解析装置90は、機能的な構成要素として、画像入力部11、特徴点抽出部12、車線検出部73、第1消失点推定部94、第2消失点推定部95、路面領域検出部96、出力部16、姿勢検出部77を備えて構成される。
【0121】
図59を参照して、魚眼カメラC1によって取得された魚眼画像から車両G右側の車線Hを検出する場合を例として、車線検出装置S4について説明する。画像取得ステップS31、画像入力ステップS32、特徴点抽出ステップS33、ハフ変換ステップS34は、上述した画像取得ステップS21、画像入力ステップS22、特徴点抽出ステップS23、ハフ変換ステップS24と同様である。ステップS31~S34により、複数の輪郭線候補が算出される。
【0122】
第1消失点推定ステップS35では、第1消失点推定部94が、ハフ変換ステップS34において求めた輪郭線候補から車線方向の消失点を推定する。まず、複数の輪郭線候補の交点を求める。そして、図54に示すように、最も多くの輪郭線候補が交差した交点を車線の消失点V1,V2と推定する。
【0123】
第2消失点推定ステップS36では、第2消失点推定部95が、輪郭線候補から停止線の輪郭線を推定する。車線と停止線とは直交しているので、2つの車線の消失点V1,V2を通る輪郭線候補と交わる輪郭線候補は、停止線の輪郭線であることが分かる。この停止線の輪郭線候補の交点を算出し、停止線方向の消失点Vsとする。これにより、図55に示す停止線方向の消失点Vsを算出する。
【0124】
路面領域検出ステップS37では、路面領域検出部96が、第1消失点推定ステップS35において求めた車線方向の消失点と、第2消失点推定ステップS36において求めた停止線方向の消失点とを用いて、路面領域を検出する。これにより図56に示す路面領域Rを検出することができる。
【0125】
続いて、上述した手順により、ノイズ除去部73bが、路面領域検出部76によって算出された路面の領域に基づいて、ハフ変換部73aが検出した輪郭線候補の雑音を除去する(ノイズ除去ステップS28)。これにより、車線検出部73は、車線の輪郭線を検出し、輪郭線に挟まれた車線を検出することができる(車線検出ステップS29)。このようにして検出した車線は、出力部16によって、運転支援装置等に出力される。
【0126】
また、姿勢検出部77は、路面領域検出部76が検出した路面領域に基づいて、魚眼カメラC1の視線方向を検出する。すなわち、魚眼カメラC1の姿勢を検出することができ、この情報を解析装置70の補正に用いることができる。
【0127】
引き続いて、本実施形態にかかる車線検出プログラム、および、この車線検出プログラムを記録したコンピュータ読み取り可能な記録媒体(以下、単に記録媒体という)について説明する。記録媒体のプログラムを記録するプログラム領域には、車線検出プログラムが記録されている。この車線検出プログラムは、処理を統括するメインモジュールと、コンピュータに、上記の画像入力ステップS32、特徴点抽出ステップS33、球面空間ハフ変換ステップS34、第1消失点推定ステップS35、第2消失点推定ステップS36、路面領域検出ステップS37、ノイズ除去ステップS38、車線検出ステップS39を実行させるためのモジュールを備えている。
【0128】
最後に本実施形態に係る車線検出装置S4及びこの車線検出装置S4において実行される車線検出方法の作用効果について説明する。車線検出装置S4では、車体の側面側から見た魚眼画像を入力するので、入力した画像の視野領域に対して、より長い車線Hが写った画像を取得することができる。このため、車線Hの検出結果の誤差を小さくすることができる。
【0129】
また、車線検出装置S4では、魚眼画像の特徴点を球面空間に射影し、球面空間におけるハフ変換を行うことにより、輪郭線候補を検出する。これにより、魚眼画像を用いた場合であっても、誤差を抑制して車線Hの検出を行うことができる。また、1つの魚眼画像から車線の輪郭線候補を検出することができる。
【0130】
また、車線検出装置S4では、ハフ変換を行うための投票空間をθφ平面とし、球面空間に射影された特徴点を通る曲線を、当該曲線を含む平面の法線ベクトルを用いて検出する。この場合、投票空間を2次元平面にするので、投票空間を3次元空間にする場合より計算量を少なくすることができ、車線を早く検出することができる。また、一般的には、投票空間を2次元空間にすることで、3次元空間にする場合より誤差が大きくなる。θφ平面においては、極点に行くに従って誤差が大きくなるが、極点を法線とする平面上の曲線は、魚眼画像の枠と重なるため、車線検出にあたっては、誤差の影響が少ない。従って、計算量を少なくすると共に、誤差の増大を抑制することができる。
【0131】
また、車線検出装置S4では、球面空間ハフ変換により得られた車線の輪郭線候補を用いて、車線方向の消失点と停止線方向の消失点を求め、この車線方向の消失点と停止線方向の消失点とから路面領域を検出している。そして、この路面領域を用いて、車線の輪郭線候補からノイズを除去する。このため、より正確な車線を検出することができる。
【0132】
また、車線検出装置S4では、車線方向の消失点と停止線方向の消失点を求め、車線方向の消失点と停止線方向の消失点に基づいて、魚眼画像の視線方向を検出する。これにより、魚眼カメラの姿勢を推定することができる。また、解析装置90における補正を魚眼カメラの姿勢の姿勢に基づいて行うことができる。更に、車線検出に適した魚眼画像を取得できるように、魚眼カメラの姿勢を制御することもできる。
【0133】
本発明は、上記実施形態に限らず、種々の変形が可能である。例えば、魚眼画像を球面画像に変換する際に等距離射影方式を用いたが、正射影方式、立体射影方式等を用いてもよい。
【0134】
また、上記実施形態では、球面空間ハフ変換を行う際に、投票空間としてθφ平面を用いたが、これに限られない。例えば、3次元の球面でもよい。この場合、球面を六角形のセルで表現する。3次元の球面を用いることにより、誤差を抑制して車線を検出することができる。
【0135】
また、魚眼レンズは、製造過程で発生する誤差の影響のために理想的な射影式に従わない。そこで、論文[中野,李,千葉,球面モデルに基づくしま模様パターンを用いた魚眼カメラの校正,電子情報通信学会論文誌D Vol.J90-D No.1 pp.73-8]に記載された魚眼レンズの歪モデルを用いて校正を行うことも好ましい。
【図面の簡単な説明】
【0136】
【図1】第1実施形態に係る車線検出装置を含むFFVシステムを示す図である。
【図2】第1実施形態に係る車線検出装置に含まれる魚眼カメラの設置状態を示す図である。
【図3】第1実施形態に係る車線検出装置の機能ブロック図である。
【図4】第1実施形態に係る車線検出方法のフロー図である。
【図5】画像取得ステップにおいて取得した魚眼画像を示す図である。
【図6】魚眼画像から抽出したエッジ点を示す図である。
【図7】魚眼画像のエッジ点から抽出したコーナー点を示す図である。
【図8】魚眼画像と球面画像との対応関係を示す図である。
【図9】球面画像上に射影した空間上の直線を示す図である。
【図10】車両と車線との関係を示す図である。
【図11】エピポール幾何について説明するための図である。
【図12】推定した消失点を示す図である。
【図13】上向き勾配のエッジ点と下向き勾配のエッジ点とを示す図である。
【図14】球面画像上に射影した空間上の直線を示す図である。
【図15】球面空間ハフ変換における投票結果を示す図である。
【図16】球面空間ハフ変換による曲線(大円)の推定結果を示す図である。
【図17】図16(a)の曲線に再フィッティングを施して得た検出結果である。
【図18】図16(a)の曲線に再フィッティングを施して得た検出結果である。
【図19】輪郭線の検出結果を示す図である。
【図20】車線の検出結果を示す図である。
【図21】実施例に係る車線の検出結果を示す図である。
【図22】実施例に係る車線の検出結果を示す図である。
【図23】実施例に係る車線の検出結果を示す図である。
【図24】実施例に係る車線の検出結果を示す図である。
【図25】第2実施形態に係る車線検出装置の機能ブロック図である。
【図26】画像取得ステップにおいて取得したステレオ画像を示す図である。
【図27】インタレース除去用の画像を示す。
【図28】エッジ画像を示す。
【図29】一方の魚眼画像のエッジ点から抽出したコーナー点を示す図である。
【図30】他方の魚眼画像のエッジ点から抽出したコーナー点を示す図である。
【図31】推定したエピポール対(消失点)を示す図である。
【図32】球面モデルを示す図である。
【図33】1つの輪郭線上のエッジ点を示す図である。
【図34】輪郭線上のエッジ点とみなされたエッジ点を示す。
【図35】最小二乗法で求めた輪郭線の候補を示す。
【図36】再フィッティングを行った後の輪郭線を示す。
【図37】車線の検出結果を示す図である。
【図38】輪郭線上のエッジ点とみなされたエッジ点を示す。
【図39】最小二乗法で求めた輪郭線の候補を示す。
【図40】再フィッティングを行った後の輪郭線を示す。
【図41】車線の追跡結果を示す図である。
【図42】第3実施形態に係る車線検出装置の機能ブロック図である。
【図43】第3実施形態に係る車線検出方法のフロー図である。
【図44】画像取得ステップにおいて取得した魚眼画像を示す図である。
【図45】一方のグループのエッジ画像を示す。
【図46】他方のグループのエッジ画像を示す。
【図47】球面モデルを示す図である。
【図48】図45に示すエッジ点のグループを用いて行った投票結果を示す。
【図49】図47のクラスタ81に対応する輪郭線候補を示す。
【図50】図45に示すエッジ点のグループを用いた球面空間ハフ変換による輪郭線候補を示す図である。
【図51】図46に示すエッジ点のグループを用いて行った投票結果を示す。
【図52】図50のクラスタ84に対応する輪郭線候補を示す。
【図53】図46に示すエッジ点のグループを用いた球面空間ハフ変換による輪郭線候補を示す図である。
【図54】車線方向の消失点を示す図である。
【図55】車線方向の消失点と停止線方向の消失点とを示す図である。
【図56】検出した路面領域を示す図である。
【図57】車線の検出結果を示す図である。
【図58】第4実施形態に係る車線検出装置の機能ブロック図である。
【図59】第4実施形態に係る車線検出方法のフロー図である。
【符号の説明】
【0137】
S1~S4…車線検出装置、C1~C4…魚眼カメラ、11…画像入力部(画像入力手段)、12…特徴点抽出部(特徴点抽出手段)、13…消失点推定部(消失点推定手段)、14…車線方向算出部(車線方向算出手段)、15,25,45,73…車線検出部(車線検出手段)、15a…ハフ変換部(ハフ変換手段)、16…出力部、20,21,51…特徴点、24,52…エピポール対、27,47…車線追跡部、73a…ハフ変換部、74…車線方向算出部、75…停止線方向算出部、76,96…路面領域検出部、77…姿勢検出部(視線方向検出手段)、94…消失点推定部、95…消失点推定部、nν…車線の方向ベクトル、V1,V2…車線方向の消失点、Vs…停止線方向の消失点。
図面
【図1】
0
【図2】
1
【図3】
2
【図4】
3
【図8】
4
【図9】
5
【図10】
6
【図11】
7
【図14】
8
【図25】
9
【図32】
10
【図42】
11
【図43】
12
【図47】
13
【図58】
14
【図59】
15
【図5】
16
【図6】
17
【図7】
18
【図12】
19
【図13】
20
【図15】
21
【図16】
22
【図17】
23
【図18】
24
【図19】
25
【図20】
26
【図21】
27
【図22】
28
【図23】
29
【図24】
30
【図26】
31
【図27】
32
【図28】
33
【図29】
34
【図30】
35
【図31】
36
【図33】
37
【図34】
38
【図35】
39
【図36】
40
【図37】
41
【図38】
42
【図39】
43
【図40】
44
【図41】
45
【図44】
46
【図45】
47
【図46】
48
【図48】
49
【図49】
50
【図50】
51
【図51】
52
【図52】
53
【図53】
54
【図54】
55
【図55】
56
【図56】
57
【図57】
58