(57)【特許請求の範囲】
【請求項１】
車体の側面側を視点として前記車体の外側をとらえた魚眼画像を入力する画像入力手段と、
前記魚眼画像から特徴点を抽出する特徴点抽出手段と、
前記特徴点に基づいて、路面上において前記車体の前記側面側に位置する車線の方向ベクトルを算出する車線方向算出手段と、
前記車線の方向ベクトルと前記魚眼画像の特徴点とを用いて、車線を検出する車線検出手段と、
を備え、
前記車線検出手段は、前記魚眼画像の特徴点を球面空間に射影して球面空間におけるハフ変換を行うことにより、前記車線を検出し、
前記車線検出手段は、前記ハフ変換を行うための投票空間をθφ平面とし、前記球面空間に射影された特徴点を通る曲線を、当該曲線を含む平面の法線ベクトルを用いて推定することを特徴とする車線検出装置。
【請求項２】
前記特徴点に基づいて前記魚眼画像の消失点を推定する消失点推定手段を更に備え、
前記車線方向算出手段は、前記消失点を用いて前記方向ベクトルを算出することを特徴とする請求項１に記載の車線検出装置。
【請求項３】
前記画像入力手段は、前記車体の前後方向に並んだ２つの視点から得られると共に、一部が重なる視野領域を有する２つの前記魚眼画像を入力し、
前記特徴点抽出手段は、２つの前記魚眼画像それぞれから特徴点を抽出し、
前記消失点推定手段は、２つの前記魚眼画像において対応する特徴点を用いて前記魚眼画像におけるエピポール対を推定し、当該推定したエピポール対を前記消失点と推定することを特徴とする請求項２記載の車線検出装置。
【請求項４】
２つの前記魚眼画像を異なるタイミングでそれぞれ取得する魚眼カメラを更に備え、
前記画像入力手段は、前記魚眼カメラによって取得された２つの前記魚眼画像を入力することを特徴とする請求項３に記載の車線検出装置。
【請求項５】
前記特徴点に基づいて、前記路面上の停止線の方向ベクトルを算出する停止線方向算出手段を更に備えることを特徴とする請求項１〜４のいずれか１項に記載の車線検出装置。
【請求項６】
前記車線検出手段は、前記停止線の方向ベクトルを用いて前記車線を検出することを特徴とする請求項５に記載の車線検出装置。
【請求項７】
前記車線の方向ベクトルと前記停止線の方向ベクトルとに基づいて停止線方向の消失点を算出し、前記停止線方向の消失点と車線方向の消失点とから路面領域を検出し、前記路面領域に基づいて前記視点の視線方向を検出する方向検出手段を更に備えることを特徴とする請求項５又は６に記載の車線検出装置。
【請求項８】
画像入力手段が、車体の側面側を視点として前記車体の外側をとらえた魚眼画像を入力する画像入力ステップと、
特徴点抽出手段が、前記魚眼画像から特徴点を抽出する特徴点抽出ステップと、
車線方向算出手段が、前記特徴点に基づいて、路面上において前記車体の前記側面側に位置する車線の方向ベクトルを算出する車線方向算出ステップと、
車線検出手段が、前記車線の方向ベクトルと前記魚眼画像の特徴点とを用いて、車線を検出する車線検出ステップと、
を備え、
前記車線検出ステップでは、前記魚眼画像の特徴点を球面空間に射影して球面空間におけるハフ変換を行うことにより、前記車線を検出し、
前記車線検出ステップでは、前記ハフ変換を行うための投票空間をθφ平面とし、前記球面空間に射影された特徴点を通る曲線を、当該曲線を含む平面の法線ベクトルを用いて推定することを特徴とする車線検出方法。
【請求項９】
消失点推定手段が、前記特徴点に基づいて前記魚眼画像の消失点を推定する消失点推定ステップを更に備え、
前記車線方向算出ステップでは、前記消失点を用いて前記方向ベクトルを算出することを特徴とする請求項８に記載の車線検出方法。
【請求項１０】
前記画像入力ステップでは、前記車体の前後方向に並んだ２つの視点から得られると共に、一部が重なる視野領域を有する２つの前記魚眼画像を入力し、
前記特徴点抽出ステップでは、２つの前記魚眼画像それぞれから特徴点を抽出し、
前記消失点推定ステップでは、２つの前記魚眼画像において対応する特徴点を用いて、
前記魚眼画像におけるエピポール対を推定し、当該推定したエピポール対を前記消失点と推定することを特徴とする請求項９記載の車線検出方法。
【請求項１１】
前記画像入力ステップでは、２つの前記魚眼画像を異なるタイミングでそれぞれ取得する魚眼カメラによって取得された２つの前記魚眼画像を入力することを特徴とする請求項１０に記載の車線検出方法。
【請求項１２】
車線検出手段が、前記特徴点に基づいて前記路面上の停止線の方向ベクトルを算出する停止線方向算出ステップを更に備えることを特徴とする請求項８〜１１のいずれか１項に記載の車線検出方法。
【請求項１３】
前記車線検出ステップでは、前記停止線の方向ベクトルを用いて前記車線を検出することを特徴とする請求項１２に記載の車線検出方法。
【請求項１４】
方向検出手段が、前記車線の方向ベクトルと前記停止線の方向ベクトルとに基づいて停止線方向の消失点を算出し、前記停止線方向の消失点と車線方向の消失点とから路面領域を検出し、前記路面領域に基づいて前記視点の視線方向を検出する方向検出ステップを更に備えることを特徴とする請求項１２又は１３に記載の車線検出方法。
【請求項１５】
コンピュータに、請求項８〜１４のいずれか１項に記載の車線検出方法を実行させることを特徴とする車線検出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像から路面上の車線を検出する車線検出装置、車線検出方法、及び車線検出プログラムに関する。
【背景技術】
【０００２】
車にカメラを搭載し、カメラが取得した画像から、路面上の車線を検出する技術がある。この車線とは、路面上において車の走行領域の境界を示し、走行方向に沿って路面上に描かれた白線又は黄線である。
【０００３】
例えば、下記特許文献１には、車のフロント側に載置されたカメラによって画像を取得し、その画像から車線を検出する技術が記載されている。
【特許文献１】特開２００６−３３１３８９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記特許文献１に記載された技術では、カメラを車のフロント側に載置しているので、取得した画像において車線が前の車によって遮られる場合がある。この場合、十分に車線の画像が取得できないので、検出結果の誤差が大きくなる。
【０００５】
そこで、本発明は、車線の検出結果の誤差を小さくすることが可能な車線検出装置、車線検出方法、及び車線検出プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の車線検出装置は、車体の側面側を視点として前記車体の外側をとらえた魚眼画像を入力する画像入力手段と、魚眼画像から特徴点を抽出する特徴点抽出手段と、特徴点に基づいて、路面上において車体の側面側に位置する車線の方向ベクトルを算出する車線方向算出手段と、車線の方向ベクトルと魚眼画像の特徴点とを用いて車線を検出する車線検出手段と、を備えることを特徴とする。
【０００７】
本発明の車線検出方法は、画像入力手段が、車体の側面側を視点として前記車体の外側をとらえた車体の外側の魚眼画像を入力する画像入力ステップと、特徴点抽出手段が、魚眼画像から特徴点を抽出する特徴点抽出ステップと、車線方向算出手段が、特徴点に基づいて、路面上において車体の側面側に位置する車線の方向ベクトルを算出する車線方向算出ステップと、車線検出手段が、車線の方向ベクトルと魚眼画像の特徴点とを用いて車線を検出する車線検出ステップと、を備えることを特徴とする。
【０００８】
本発明では、画像入力手段が、車体の側面側から見た魚眼画像を入力するので、入力した画像の視野領域に対して、より長い車線が写った画像を取得することができる。このため、車線の検出結果の誤差を小さくすることができる。そして、車線が、車体の前後方向に延びていることを利用して、車線方向算出手段が車線の方向ベクトルを算出する。車線検出手段は、この方向ベクトルを用いることにより、魚眼画像の特徴点から車線を検出する。これにより、誤差を抑制し且つ容易に車線を検出することができる。すなわち、車線の検出性能を向上することができる。
【０００９】
本発明の車線検出装置では、好ましくは、特徴点に基づいて、魚眼画像の消失点を推定する消失点推定手段を更に備え、車線方向算出手段は、消失点を用いて方向ベクトルを算出する。
【００１０】
本発明の車線検出方法では、好ましくは、消失点推定手段が、特徴点に基づいて、魚眼画像の消失点を推定する消失点推定ステップを更に備え、車線方向算出ステップでは、消失点を用いて方向ベクトルを算出する。
【００１１】
魚眼画像により、車体の前後方向の２つの消失点を１つの画像内にとらえることができる。このため、消失点推定手段が、魚眼画像の特徴点に基づいて、車体の前後方向の２つの消失点を推定することができる。よって、この消失点を用いて、容易に車線の方向ベクトルを算出することができる。
【００１２】
本発明の車線検出装置では、好ましくは、画像入力手段は、車体の前後方向に並んだ２つの視点から得られると共に、一部が重なる視野領域を有する２つの魚眼画像を入力し、特徴点抽出手段は、２つの魚眼画像それぞれから特徴点を抽出し、消失点推定手段は、２つの魚眼画像において対応する特徴点を用いて、魚眼画像におけるエピポーラ対を推定し、当該推定したエピポーラ対を消失点と推定する。
【００１３】
本発明の車線検出方法では、好ましくは、画像入力ステップでは、車体の前後方向に並んだ２つの視点から得られると共に、一部が重なる視野領域を有する２つの魚眼画像を入力し、特徴点抽出ステップでは、２つの魚眼画像それぞれから特徴点を抽出し、消失点推定ステップでは、２つの魚眼画像において対応する特徴点を用いて魚眼画像におけるエピポーラ対を推定し、当該推定したエピポーラ対を消失点と推定する。
【００１４】
この場合、エピポーラ対を２つの消失点とするので、より簡易に消失点を推定することが可能となり、車線の検出をより容易にすることができる。
【００１５】
本発明の車線検出装置では、好ましくは、２つの魚眼画像を異なるタイミングでそれぞれ取得する魚眼カメラを更に備え、画像入力手段は、魚眼カメラによって取得された２つの魚眼画像を入力する。
【００１６】
本発明の車線検出方法では、好ましくは、画像入力ステップでは、２つの魚眼画像を異なるタイミングでそれぞれ取得する魚眼カメラによって取得された２つの魚眼画像を入力する。
【００１７】
車は、車線に沿って走行するので、１台の魚眼カメラによってタイミングをずらして２つの魚眼画像を取得することにより、車体の前後方向に並んだ２つの視点から得られると共に、一部が重なる視野領域を有する２つの魚眼画像を得ることができる。このため、２台の魚眼カメラから画像を入力する必要がなくなる。よって、構成を簡易にすることができる。また、２台の魚眼カメラから画像を入力する場合より、２つの魚眼画像の視点の並び方向を車体の前後方向に精度良く合わせることができる。
【００１８】
本発明の車線検出装置では、好ましくは、車線検出手段は、魚眼画像の特徴点を球面空間に射影して球面空間におけるハフ変換を行うことにより車線を検出する。
【００１９】
本発明の車線検出方法では、好ましくは、車線検出ステップでは、魚眼画像の特徴点を球面空間に射影して球面空間におけるハフ変換を行うことにより車線を検出する。
【００２０】
この場合、入力画像として魚眼画像を用いた場合であっても誤差を抑制して車線の検出を行うことができる。
【００２１】
本発明の車線検出装置では、好ましくは、車線検出手段は、ハフ変換を行うための投票空間をθφ平面とし、球面空間に射影された特徴点を通る曲線を、当該曲線を含む平面の法線ベクトルを用いて推定する。
【００２２】
本発明の車線検出方法では、好ましくは、車線検出ステップでは、ハフ変換を行うための投票空間をθφ平面とし、球面空間に射影された特徴点を通る曲線を、当該曲線を含む平面の法線ベクトルを用いて推定する。
【００２３】
この場合、投票空間を２次元平面にするので、投票空間を３次元空間にする場合より計算量を少なくすることができ、車線を早く検出することができる。しかし、一般的には、投票空間を２次元空間にすることで、３次元空間にする場合より誤差が大きくなる。θφ平面は、極点に行くに従って誤差が大きくなるが、極点を法線とする平面上の曲線は、魚眼画像の枠と重なるため、車線検出にあたっては、誤差の影響が少ない。従って、θφ平面を投票空間とすることにより、計算量を少なくすると共に、誤差の増大を抑制することができる。
【００２４】
本発明の車線検出装置では、好ましくは、特徴点に基づいて、路面上の停止線の方向ベクトルを算出する停止線方向算出手段を更に備える。
【００２５】
本発明の車線検出方法では、好ましくは、車線検出手段が、特徴点に基づいて、路面上の停止線の方向ベクトルを算出する停止線方向算出ステップを更に備える。
【００２６】
この場合、算出した停止線の方向ベクトルを、車線検出、路面領域の検出、カメラの姿勢の検出等、その他の計算に役立てることができる。
【００２７】
本発明の車線検出装置では、好ましくは、車線検出手段は、停止線の方向ベクトルを用いて、車線を検出する。
【００２８】
本発明の車線検出方法では、好ましくは、車線検出ステップでは、停止線の方向ベクトルを用いて、車線を検出する。
【００２９】
この場合、車線検出の誤差を少なくすることができる。
【００３０】
本発明の車線検出装置では、好ましくは、車線の方向ベクトルと停止線の方向ベクトルとに基づいて、視点の視線方向を検出する方向検出手段を更に備える。
【００３１】
本発明の車線検出方法では、好ましくは、方向検出手段が、車線の方向ベクトルと停止線の方向ベクトルとに基づいて、視点の視線方向を検出する方向検出ステップを更に備える。
【００３２】
この場合、例えば、車線の方向ベクトルと停止線の方向ベクトルとに基づいて、路面に対する魚眼画像の視線方向を検出することにより、魚眼カメラの姿勢を推定することができる。このため、魚眼カメラの姿勢に基づいて、車線検出に適した魚眼画像を取得できるように、魚眼カメラの姿勢を制御することができる。
【００３３】
本発明の車線検出プログラムは、コンピュータに、上記に記載の車線検出方法を実行させることを特徴とする。
【発明の効果】
【００３４】
本発明によれば、車線の検出結果の誤差を小さくすることができる。また、計算量の増大を抑制することができる。
【発明を実施するための最良の形態】
【００３５】
以下、添付図面を参照して、本発明を実施するための最良の形態を詳細に説明する。なお、図面の説明において同一の要素に同一の符号を付し、重複する説明を省略する。
【００３６】
（第１実施形態）
図１〜図２０を参照して、第１実施形態に係る車線検出装置Ｓ１及び車線検出方法について説明する。車線検出装置Ｓ１は、車両Ｇに搭載され、車両Ｇの周辺を視覚的に監視するためのＦＦＶシステム（Four-Fisheye-Vision- System）ＦＳに含まれる。ＦＦＶシステムＦＳから出力される車両Ｇの周辺情報は、車両Ｇの運転支援に用いられる。
【００３７】
図１，図２に示すように、ＦＦＶシステムＦＳは、車両周辺を漏れなく監視するために、４つの魚眼カメラＣ１〜Ｃ４を備えている。４つの魚眼カメラＣ１〜Ｃ４は、それぞれ、車体の右側、左側、フロント側、リア側に設置されている。魚眼カメラＣ１〜Ｃ４は、魚眼レンズとＣＣＤカメラとを有し、魚眼画像を撮像する。魚眼レンズとしては、半球以上の視野をもつ魚眼コンバージョンレンズを用いることができる。
【００３８】
魚眼カメラＣ１は、車体の右側面Ｅ１より外側の領域を視野領域に入れることができるので、物体に遮蔽されることなく、車両Ｇ右側の車線Ｈを視野領域に入れることができる。この車線Ｈとは、路面上において車の走行領域の境界を示し、走行方向に沿って路面上に描かれた白線又は黄線である。車線Ｈは、路面上において、２つの輪郭線Ｈ１，Ｈ２に挟まれた領域上にある。
【００３９】
魚眼カメラＣ２は、車体の左側面Ｅ２より外側の領域を視野領域に入れることができるので、物体に遮蔽されることなく、車両Ｇ左側の車線を視野領域に入れることができる。なお、フロント側に搭載された魚眼カメラＣ３は、図１に示す面Ｅ３より前方の領域を視野領域に入れることができ、リア側に搭載された魚眼カメラＣ４は、面Ｅ４より後方の領域を視野領域に入れることができる。
【００４０】
図３に示すように、車線検出装置Ｓ１は、車両Ｇのサイドにそれぞれ設置された魚眼カメラＣ１，Ｃ２と、解析装置１０と、を備え、この魚眼カメラＣ１，Ｃ２によって取得した魚眼画像から車両Ｇ周囲の車線を検出する。
【００４１】
解析装置１０は、機能的な構成要素として、画像入力部１１、特徴点抽出部１２、消失点推定部１３、車線方向算出部１４、車線検出部１５、出力部１６を備えて構成される。車線検出部１５は、ハフ変換部１５ａと再フィット部１５ｂとを有する。解析装置１０は、ハードウェアとして、ＣＰＵ及びメモリ等を備えて、画像入力部１１、特徴点抽出部１２、消失点推定部１３、車線方向算出部１４、車線検出部１５、出力部１６の各機能を実現する。
【００４２】
図４を参照して、魚眼カメラＣ１によって取得された魚眼画像から車両Ｇ右側の車線Ｈを検出する場合を例として、車線検出装置Ｓ１の概要について説明する。車線検出装置Ｓ１では、車両Ｇの走行中に、一定間隔で魚眼カメラＣ１が魚眼画像を取得する（画像取得ステップＳ１１）。解析装置１０の画像入力部１１は、魚眼カメラＣ１から出力された魚眼画像を逐次入力する（画像入力ステップＳ１２）。特徴点抽出部１２は、画像入力部１１が入力した魚眼画像から特徴点を抽出する（特徴点抽出ステップＳ１３）。
【００４３】
消失点推定部１３は、特徴点抽出部１２が抽出した特徴点から魚眼画像の消失点を推定する（消失点推定ステップＳ１４）。車線方向算出部１４は、消失点推定部１３が推定した消失点を利用して車線Ｈの方向ベクトルを算出する（車線方向算出ステップＳ１５）。車線検出部１５は、車線方向算出部１４が算出した車線Ｈの方向ベクトルと、特徴点抽出部１２が抽出した特徴点とを用いて車線Ｈを検出する（車線検出ステップＳ１６）。このようにして検出した車線Ｈは、出力部１６によって、運転支援装置等に出力される。
【００４４】
引き続いて、より詳細に車線検出方法を説明する。
【００４５】
図５は、画像取得ステップＳ１１において取得した魚眼画像を示す。魚眼カメラＣ１は、車両Ｇの走行中に所定の時間間隔で撮像する。これにより、車体の前後方向、すなわち、路面と平行な方向に並んだ複数の視点から得られる一連の魚眼画像を取得することができる。魚眼カメラＣ１の撮像間隔は、ステレオ法を用いて消失点を推定するために、連続する２つの魚眼画像が、一部が重なる視野領域を有するように設定する。図５（ａ）と図５（ｂ）とは、連続する１対の魚眼画像である。
【００４６】
特徴点抽出ステップＳ１３では、まず、魚眼画像に含まれるインタレース効果を除去する。インタレース効果を除去する際には、車線Ｈの特徴点の数を減らさないようにするために、高さ方向を半分にした横長のインタレース効果除去画像を用いる。このインタレース除去画像からエッジ点を特徴点２０として抽出する（図６）。
【００４７】
そして、ハリス・コーナ・ディテクターを用いて、抽出した特徴点２０からコーナーを示す特徴点２１を抽出する（図７）。なお、図６（ａ）と図７（ａ）とは、図５（ａ）の魚眼画像から抽出した特徴点２０，２１をそれぞれ示し、図６（ｂ）と図７（ｂ）とは、図５（ｂ）の魚眼画像から抽出した特徴点２０，２１をそれぞれ示している。
【００４８】
消失点推定ステップ１４では、球面ステレオ法を用いて消失点の推定を行う。球面ステレオ法は、魚眼画像を球面に投影して得られた球面画像を用いる。図８を参照して球面画像について説明する。魚眼カメラＣ１が有する魚眼レンズの光軸をＺ軸とし、魚眼レンズの主点Ｏを通りＺ軸に直交する平面をＸＹ平面とする。球面画像とは、この３次元直交座標系ＸＹＺで示される実空間上の点Ｐを、主点Ｏを中心とする単位球面上に射影してできる画像である。
【００４９】
また、Ｚ軸上において、主点Ｏから焦点距離ｆだけ離れた点ｃは、Ｚ軸と直交する魚眼画像の中心点ｃに対応する。この中心点ｃを通り、Ｚ軸と直交する平面をｘｙ平面とする。魚眼画像は、魚眼レンズにより、実空間の点Ｐをｘｙ平面に射影してできる画像である。
【００５０】
天頂角をθ、方位角をφとすると、実空間の点Ｐから投影される球面画像上の点ｐと魚眼画上の点ｐaとの関係は、等距離射影式（１）から得られる。
【数１】
0005105481.tif 000002
よって、球面画像上の点ｐの座標は、次のように示される。
【数２】
0005105481.tif 000003
【００５１】
引き続いて、図９を参照して消失点について説明する。消失点とは、３次元空間で平行な直線群の収束点（無限遠で交わる点）である。３次元空間で平行な直線群を球面に射影すると、それぞれ球の大円の一部を成す。この大円の交点が消失点Ｖ１，Ｖ２である。１８０度以上の視野角を持つ魚眼カメラＣ１は、消失点を２点同時に捉えることができる。車線Ｈは直線であるため、魚眼カメラＣ１によって、車線Ｈの２点の消失点を捉えることができる。この２点の消失点Ｖ１，Ｖ２を結ぶ直線の方向ベクトルが、車線Ｈの方向ベクトルｎνとなる。車線Ｈの方向ベクトルｎνを最初に推定することにより、魚眼画像上の特徴点２１を含むエッジ点から車線Ｈを容易に検出することができる。
【００５２】
図１０に示すように、車両Ｇは、車線Ｈに沿って走行するので、車線の向きとカメラの移動方向は同じである。このため、連続する一対の魚眼画像のエピポール対と２つの消失点Ｖ１，Ｖ２が重なる。エピポール対の位置を算出してこのエピポール対の位置を消失点Ｖ１，Ｖ２の位置と仮定して、消失点の座標から車線Ｈの方向ベクトルｎνを求める。
【００５３】
図１１を参照して、このエピポール対２４について説明する。２つの視点から空間上の点Ｍを見ているとすると、その２つの視点は、エピポーラ平面２２にある。この２つの視点とは、一対の魚眼画像のそれぞれに対応する球面空間の原点Ｏである。エピポーラ平面２２とそれぞれの球面画像（単位球）の交線は、エピポーラ線２３である。球面ステレオ法では、全てのエピポーラ線２３は２点で交わり、この２点をエピポール対２４という。
【００５４】
エピポーラ幾何では、基礎行列Ｆが決まれば、一意にエピポールの位置が決まる。基礎行列Ｆは、一対の球面画像上のそれぞれの投影点を投影点ｍ，ｍ’とすると、式（３）に示すエピポーラ方程式で定義される。
【数３】
0005105481.tif 000004
基礎行列Ｆは、８点以上の投影点のペアを算出して、８点アルゴリズムで推定できる。精度を高めるために、評価関数が閾値以下になるまで計算を繰り返すRANSAC法で基礎行列Ｆを推定する。
【００５５】
RANSAC法は、以下の通りである。
ステップ１：特徴点集合から8点以上の対応点を取得。
ステップ２：取得した対応点から基礎行列を推定。
ステップ３：もし，評価関数が閾値以下なら終了。それ以外ならステップ1に戻る。
【００５６】
RANSAC法で基礎行列Ｆを推定した後、使用した特徴点とエピポーラ線とのユークリッド距離が0になることを利用した評価関数を立て、これが閾値以下の値になれば、その基礎行列を採用する。評価関数は以下の式（４）で表される。
【数４】
0005105481.tif 000005
ただし、Fm’=(l1i l2i  l3i)T、FT mi=(l’1i l’2i  l’3i)Tである。
【００５７】
以上の手順で、基礎行列Ｆを推定し、推定した基礎行列Ｆからエピポール対を算出する。そして、算出したエピポール対の位置を２つの消失点とする。図１２は、魚眼画像上の消失点Ｖ１，Ｖ２を示す。車線方向算出ステップＳ１５では、この消失点Ｖ１，Ｖ２の座標から２つの消失点Ｖ１，Ｖ２を結ぶ直線の方向ベクトルを算出し、算出した方向ベクトルを車線Ｈの方向ベクトルｎνとする。
【００５８】
車線検出ステップＳ１６では、１つの魚眼画像から、路面上に車線Ｈの描かれた領域を画成する２つの輪郭線Ｈ１，Ｈ２を検出することにより、車線Ｈを検出する。２つの輪郭線Ｈ１，Ｈ２を区別して検出するために、上向きの勾配を持つエッジ点（特徴点２０）と下向きの勾配を持つエッジ点（特徴点２０）との２つのグループに特徴点２０を分ける。図１３（ａ）と図１３（ｂ）は、２つのグループのエッジ点を示す。図１３（ａ）に示されるエッジ点（特徴点２０）を用いて、車線Ｈの下側の輪郭線Ｈ１を検出し、図１３（ｂ）に示されるエッジ点を用いて、車線Ｈの上側の輪郭線Ｈ２を検出する。
【００５９】
輪郭線Ｈ１，Ｈ２の検出は、球面空間ハフ変換を用いて行う。ハフ変換部１５ａがこの球面空間ハフ変換を行う。ここで球面空間ハフ変換について説明する。図１４に示すように、球面上に投影された直線は、大円の一部となる。この大円は、大円を含む平面の法線によって一意に決定することができる。すなわち、魚眼画像上の輪郭線Ｈ１，Ｈ２は、球面画像上に射影された大円の法線を特定することにより、決定できる。よって、球面空間ハフ変換では、球面空間上の任意の点（Ｘ  Ｙ  Ｚ）を通る大円の法線群の描く軌跡を投票空間に描画し、それらの描く軌跡が最も多く交差する点が、大円の法線に対応すると推定する。
【００６０】
以下、輪郭線Ｈ１を検出する場合について説明する。球面空間上に投影された輪郭線Ｈ１を含む大円の法線ベクトルは、輪郭線Ｈ１上の点Ｐの球面空間への投影点を点ｐsとすると、車線Ｈの方向ベクトルｎνとベクトルｐsとの外積によって表される。よって、大円は、式（５）によって表される。
【数５】
0005105481.tif 000006
【００６１】
引き続いて、本実施形態に係る球面空間ハフ変換のアルゴリズムを説明する。
ステップ１：車線Ｈの方向ベクトルｎνとベクトルｐsとの外積を計算する。
ステップ２：車線Ｈの方向ベクトルｎνとベクトルｐsとの外積ベクトルの球面空間における極座標（θ，φ）を計算する。
ステップ３：ステップ２で算出した極座標（θ，φ）の位置で、投票１を加算する。
ステップ４：すべてのエッジ点に対して、上記のステップ１−３を行い、投票を行う。
【００６２】
同じ輪郭線のエッジ点であれば、その輪郭線を含む投影面が同じなので、共通な投影面の法線ベクトルを有する。よって、上記の投票値の最大値を車線の輪郭線候補の投影面の法線ベクトルとして用いることができる。
【００６３】
図１５は、投票結果を示す。図１６は、大円の推定結果を示す。図１５（ａ）と図１６（ａ）とは、図１３（ａ）のエッジ点を用いて算出した結果である。図１５（ｂ）と図１６（ｂ）とは、図１３（ｂ）のエッジ点を用いて算出した結果である。図１６（ａ）に示すように、推定された大円は７つあり、正しく推定された３つの曲線２５と、誤って推定された４つの曲線２６とを含む。なお、正しく推定された３つの曲線２５は、３つの車線Ｈの下側の輪郭線Ｈ１にフィットしている。
【００６４】
一方、図１６（ｂ）に示すように、推定された大円は６つあり、正しく推定された４つの曲線２７と、誤って推定された２つの曲線２８とを含む。なお、正しく推定された４つの曲線２７は、４つの車線Ｈの上側の輪郭線Ｈ２にフィットしている。
【００６５】
このように、誤りが生じる理由は、用いたエッジ点が車線Ｈ上だけでなく、建物や木などにも存在するためである。よって、車線輪郭上のエッジ点を探索し、車線上のエッジ点のみを扱うようにする。また、もう一つの理由は、方向ベクトルｎνの誤差によるものである。算出したエピポール対２４が直線車線の球面画像への消失点Ｖ１，Ｖ２に重ならない場合、方向ベクトルｎνの精度が低下する。基礎行列Ｆを推定する際に用いた特徴点２１の対応付けが誤っている場合、算出したエピポール対２４が直線車線の球面画像への消失点Ｖ１，Ｖ２に重ならない。そのため、方向ベクトルｎνの精度に影響を受けない方法で、再フィット部１５ｂが、推定した曲線の再フィッティングを行う。
【００６６】
以下の方法を繰り返すことで再フィッティングしていく。
ステップ１：検出した車線輪郭（曲線）上とその周辺の画素を探索する。この探索は、周辺にあるエッジ点を式（６）で判別することにより行う。式（６）において、εは許容誤差範囲、ベクトルnｄは大円（投影曲線）の法線ベクトルである。
【数６】
0005105481.tif 000007
ステップ２：ステップ１で探索したエッジ点がある場合、エッジ点の勾配方向を示すベクトルと曲線を含む大円の法線ベクトルとの内積値を計算する。
ステップ３：内積値が閾値以上のエッジ点群から最小二乗法で新たな車線輪郭をフィッティングする。
【００６７】
図１７は、図１６（ａ）に示す７つの曲線に再フィッティングを施して得た輪郭線Ｈ１の検出結果である。輪郭線Ｈ１として、３つの曲線２９が検出されている。図１８は、図１６（ｂ）に示す６つの曲線に再フィッティングを施して得た輪郭線Ｈ２の検出結果である。輪郭線Ｈ２として、４つの曲線３０が検出されている。
【００６８】
次に、車線Ｈを検出するために、勾配方向が異なるエッジ点を通る曲線対で、それらの球面画像上での大円の法線の方向がほぼ同じ曲線対を同一車線Ｈ上の上下の輪郭線Ｈ１，Ｈ２を通る投影曲線であるとみなす。図１９は、３対の曲線対３１〜３３を示す。そして、１対の曲線（１対の輪郭線Ｈ１，Ｈ２）で囲まれた領域を車線Ｈとして検出する。図２０は、検出された車線３４〜３６を示す。図２０に示すように、誤り無く、３つの車線Ｈが検出されている。
【００６９】
引き続いて、本実施形態にかかる車線検出プログラム、および、この車線検出プログラムを記録したコンピュータ読み取り可能な記録媒体（以下、単に記録媒体という）について説明する。記録媒体のプログラムを記録するプログラム領域には、車線検出プログラムが記録されている。この車線検出プログラムは、処理を統括するメインモジュールと、コンピュータに、上記の画像入力ステップＳ１２、特徴点抽出ステップＳ１３、消失点推定ステップＳ１４、車線方向算出ステップＳ１５、車線検出ステップＳ１６を実行させるためのモジュールを備えている。
【００７０】
最後に本実施形態に係る車線検出装置Ｓ１及びこの車線検出装置Ｓ１において実行される車線検出方法の作用効果について説明する。車線検出装置Ｓ１では、車体の側面側から見た魚眼画像を入力するので、入力した画像の視野領域に対して、より長い車線Ｈが写った画像を取得することができる。このため、車線Ｈの検出結果の誤差を小さくすることができる。また、魚眼画像により、車体の前後方向の２つの消失点Ｖ１，Ｖ２を１つの画像内にとらえることができる。このため、魚眼画像の特徴点２０に基づいて、２つの消失点Ｖ１，Ｖ２を推定することができる。そして、車線Ｈは、車体の前後方向に延びているので、２つの消失点Ｖ１，Ｖ２から車線Ｈの方向ベクトルｎνを算出することができる。車線Ｈの方向ベクトルｎνを用いることにより、魚眼画像の特徴点２０から誤差を抑制し且つ容易に車線Ｈを検出することができる。従って、車線Ｈの検出性能を向上することができる。
【００７１】
また、車線検出装置Ｓ１では、球面ステレオ法を用いて、消失点を推定する。すなわち、車体の前後方向に並んだ２つの視点から得られると共に、一部が重なる視野領域を有する２つの魚眼画像を入力し、２つの魚眼画像それぞれから特徴点を抽出し、２つの魚眼画像において対応する特徴点を用いて、魚眼画像におけるエピポーラ対を推定し、当該推定したエピポーラ対を消失点と推定する。このように、エピポーラ対を２つの消失点とするので、より簡易に消失点を推定することが可能となり、車線Ｈの検出をより容易にすることができる。
【００７２】
また、車線検出装置Ｓ１は、２つの魚眼画像を異なるタイミングでそれぞれ取得する魚眼カメラＣ１を備え、解析装置１０は、魚眼カメラＣ１によって取得された２つの魚眼画像を入力する。車両Ｇは、車線Ｈに沿って走行するので、１台の魚眼カメラＣ１によってタイミングをずらして２つの魚眼画像を取得することにより、車体の前後方向に並んだ２つの視点から得られると共に、一部が重なる視野領域を有する２つの魚眼画像を得ることができる。このため、２台の魚眼カメラから画像を入力する必要がなくなる。よって、構成を簡易にすることができる。また、２台の魚眼カメラから画像を入力する場合より、２つの魚眼画像の視点の並び方向を、車体の前後方向に精度良く合わせることができる。
【００７３】
また、一般的にピンホールカメラで取得した画像から車線を検出する手法は、魚眼画像に用いることができない。車線検出装置Ｓ１では、魚眼画像の特徴点２０を球面空間に射影して球面空間におけるハフ変換を行うことにより車線を検出する。これにより、魚眼画像を用いた場合であっても、誤差を抑制して車線Ｈの検出を行うことができる。
【００７４】
また、車線検出装置Ｓ１では、ハフ変換を行うための投票空間をθφ平面とし、球面空間に射影された特徴点を通る曲線を、当該曲線を含む平面の法線ベクトルを用いて検出する。この場合、投票空間を２次元平面にするので、投票空間を３次元空間にする場合より計算量を少なくすることができ、車線を早く検出することができる。また、一般的には、投票空間を２次元空間にすることで、３次元空間にする場合より誤差が大きくなる。θφ平面においては、極点に行くに従って誤差が大きくなるが、極点を法線とする平面上の曲線は、魚眼画像の枠と重なるため、車線検出にあたっては、誤差の影響が少ない。従って、計算量を少なくすると共に、誤差の増大を抑制することができる。
【００７５】
図２１〜図２４に、第１実施形態に係る車線検出装置Ｓ１によって検出した検出結果を示す。図２１に示す実施例では、６つの境界線が検出されている。図２２に示す実施例では、８つの境界線が検出されている。図２３に示す実施例では、６つの境界線が検出されている。図２４に示す実施例では、６つの境界線が検出されている。なお、以上説明した検出結果は、魚眼カメラＣ１として、オリンパス製の魚眼コンバージョンレンズ(FCON-2)を搭載したソニー製のデジタルハンディカムビデオカメラを用い、解析装置１０として、上記車線検出プログラムを搭載したデル製のノートパーソナルコンピュータを用いて得られたものである。
【００７６】
（第２実施形態）
図２５に示すように、第２実施形態に係る車線検出装置Ｓ２は、魚眼カメラＣ１，Ｃ２と、解析装置４０と、を備える。解析装置４０は、機能的な構成要素として、画像入力部１１、特徴点抽出部１２、消失点推定部１３、車線方向算出部１４、車線検出部４５、出力部１６、車線追跡部４７を備えて構成される。すなわち、第１実施形態に係る車線検出装置Ｓ１と異なる点は、車線検出部１５に変えて異なる手法で車線を検出する車線検出部２５を備える点と、新たに、車線追跡部２７を備えた点である。
【００７７】
車線検出装置Ｓ２では、車両Ｇの走行中に、一定間隔で魚眼カメラＣ１が魚眼画像を取得し（画像取得ステップＳ１１）。解析装置４０の画像入力部１１が、魚眼カメラＣ１から出力された魚眼画像を逐次入力する（画像入力ステップＳ１２）。図２６は、解析装置４０が入力した１対のステレオ画像である。
【００７８】
特徴点抽出部１２は、画像入力部１１が入力した魚眼画像から特徴点を抽出する（特徴点抽出ステップＳ１３）。まず、図２７に示すインタレース除去用の画像を生成し、このインタレース除去画像から、特徴点（エッジ点）を抽出して図２８に示すエッジ画像を生成する。エッジ画像を生成する際には、魚眼画像の周りと、画像上に写りこんでいる車両の一部をエッジ点として抽出しないようにする。
【００７９】
図２９，図３０に示すように、ハリス・コーナ・ディテクターを用いて、抽出したエッジ点からコーナーを示す特徴点５１を１対のステレオ画像それぞれから抽出する。図２９が、１対のステレオ画像のうち一方の魚眼画像のエッジ点から抽出したコーナー点を示す図である。図３０が、１対のステレオ画像のうち他方の魚眼画像のエッジ点から抽出したコーナー点を示す図である。
【００８０】
次に、図３１に示すように、消失点推定部１３は、特徴点抽出部１２が抽出した特徴点から魚眼画像のエピポール対５２を推定し、そのエピポール対５２を消失点とする（消失点推定ステップＳ１４）。車線方向算出部１４は、消失点推定部１３が推定した消失点を利用して車線Ｈの方向ベクトルｎνを算出する（車線方向算出ステップＳ１５）。
【００８１】
車線検出部４５は、車線方向算出部１４が算出した車線Ｈの方向ベクトルと、特徴点抽出部１２が抽出した特徴点とを用いて車線Ｈを検出する（車線検出ステップＳ１６）。車線検出部４５は、最初に輪郭線検出部４５ａが、輪郭線Ｈ１，Ｈ２を検出し、再フィット部４５ｂが上述した再フィット部１５ｂと同様手順で検出した輪郭線Ｈ１，Ｈ２を再フィッティングする。
【００８２】
引き続いて、輪郭線検出部４５ａによる輪郭線の検出方法について説明する。ここでは、図３２に示すように、輪郭線検出部４５ａにおいても上述した球面モデルを用いる。
【００８３】
まず、１つの魚眼画像のエッジ点座標と方向ベクトルｎνからなる式(５)を満たす球面画像上の投影平面を計算し、魚眼画像上への投影曲線を車線Ｈ上の輪郭部分を通る曲線候補とする。しかし，このままではエッジ点数分の車線Ｈの輪郭候補を発見することになる。また，エッジ点は車線Ｈ上だけでなく、建物や木などにも存在する。このため、車線輪郭上のエッジ点を探索し、車線上のエッジ点のみを扱うようにする。
【００８４】
車線輪郭上のエッジ点を探索するために、まず、球面画像上の投影曲線の各画素での法線を下式（７）から計算する。下式（７）は、球面画像上の点ｐの座標を（ｘ  ｙ  ｚ）とすると、式（８）から得られる。
【数７】
0005105481.tif 000008
【数８】
0005105481.tif 000009
投影曲線の法線は式（７）をx，yで偏微分した各成分からなる。エッジ点の勾配はSobelオペレータにより求める。
【００８５】
次に、投影曲線とその近傍を探索しエッジ点があった場合、エッジ点の勾配を求める。この法線と勾配との内積を計算し、２つのベクトルがほぼ同じ方向である数が閾値以上存在する投影曲線を算出する。この投影曲線上のエッジ点を輪郭線上のエッジ点とみなす。これにより、多くのエッジ点が存在していても、勾配方向が異なるエッジ点を取り除くことができる。こうして輪郭線上のエッジ点とみなされたエッジ点を図３４に示す。
【００８６】
次に、輪郭線上のエッジ点とみなされたエッジ点を用いて、車線の輪郭線を検出する。同一輪郭線上には複数のエッジ点が存在する。図３３は、同一輪郭線上のエッジ点の集合からなる曲線５３を示す。このため、輪郭線上のエッジ点とみなされたエッジ点のうち、１つのエッジ点を用いて投影曲線を計算し、その近傍のエッジ点を上記の式（６）で求める。投影曲線の近傍にあるエッジ点の中で、車線上のエッジ点であるとみなされたエッジ点を同一車線輪郭上に存在するとみなし、これらのエッジ点集合を使い最小二乗法で魚眼画像上の車線輪郭上を通る投影曲線を計算する。
【００８７】
すなわち、以下の式（９）をラグランジュ乗数法で最小化することで、車線輪郭上を通る投影曲線を計算する。
【数９】
0005105481.tif 000010
ここで、正規化のための条件は、a2+b2+c2=1である。また、ベクトルｐは、球面画像上の点pのベクトルであり、ベクトルｎは、投影曲線を含む大円の法線ベクトルである。図３５は、こうして求めた輪郭線の候補５４を示す。
【００８８】
続いて、輪郭線の候補５４に上述した再フィッティングを施し、車線Ｈの輪郭線を検出する。図３６は、再フィッティングを行った後の輪郭線５５を示す。図３６に示されるように、図３５に示す輪郭線の候補５４より実際の車線Ｈの輪郭線にフィットしていることが分かる。次に、車線Ｈを検出するために、対となる輪郭線を検出する。そして、１対の輪郭線で囲まれた領域を車線Ｈとして検出する。図３７は、検出された車線５６〜５８を示す。
【００８９】
図３８〜図４０は、図３４〜図３７とは異なる魚眼画像から上記の方法で検出した検出結果を示す。図３８は、輪郭線上のエッジ点とみなされたエッジ点を示す。図３９は、最小二乗法で求めた輪郭線の候補５９を示す。図４０は、再フィッティングを行った後の輪郭線６０を示す。図４０から、実際の車線の輪郭線にフィットした輪郭線を検出できることが分かる。
【００９０】
以上説明したように、車線Ｈの方向ベクトルｎνを用いることにより、容易に魚眼画像から車線を検出することができる。
【００９１】
引き続いて、車線追跡部４７が行う車線Ｈの追跡について説明する。車線追跡部４７は、前後に撮影された魚眼画像間で、各車線Ｈはほぼ同じ位置に存在することを利用して、車両の走行中に車線を追跡する。すなわち、前画像で検出した車線Ｈを初期値として、上記の再フィッティングを行うことで車線の追跡をする。このようにして行った車線の追跡結果を図４１に示す。図４１に示すように、前画像で検出した車線Ｈを初期値として、上記の再フィッティングを行うことにより、精度よく車線を追跡できると共に、計算を早く行うことができる。
【００９２】
（第３実施形態）
図４２に示すように、第３実施形態に係る車線検出装置Ｓ３は、魚眼カメラＣ１，Ｃ２と、解析装置７０と、を備える。解析装置７０は、機能的な構成要素として、画像入力部１１、特徴点抽出部１２、車線検出部７３、車線方向算出部７４、停止線方向算出部７５、路面領域検出部７６、出力部１６、姿勢検出部７７を備えて構成される。車線検出部７３は、ハフ変換部７３ａとノイズ除去部７３ｂとを有する。
【００９３】
図４３を参照して、魚眼カメラＣ１によって取得された魚眼画像から車両Ｇ右側の車線Ｈを検出する場合を例として、車線検出装置Ｓ３の概要について説明する。
【００９４】
車線検出装置Ｓ３では、車両Ｇの走行中に、一定間隔で魚眼カメラＣ１が魚眼画像を取得する（画像取得ステップＳ２１）。解析装置１０の画像入力部１１は、魚眼カメラＣ１から出力された魚眼画像を逐次入力する（画像入力ステップＳ２２）。特徴点抽出部１２は、画像入力部１１が入力した魚眼画像から特徴点を抽出する（特徴点抽出ステップＳ２３）。車線検出部７３のハフ変換部７３ａが、特徴点抽出部１２が抽出した特徴点を用いて球面空間ハフ変換を行い、輪郭線候補を検出する（ハフ変換ステップＳ２４）。
【００９５】
一方、車線方向算出部７４が、特徴点抽出部１２が抽出した特徴点と、ハフ変換部７３ａが検出した輪郭線候補を含む平面の法線ベクトルとを用いて、車線の方向ベクトルを算出する（車線方向算出ステップＳ２５）。そして、停止線方向算出部７５が、車線の方向ベクトルと、輪郭線候補の法線ベクトルとを用いて停止線の方向ベクトルを算出する（停止線方向算出ステップＳ２６）。そして、路面領域検出部７６が、車線方向の消失点と停止線方向の消失点とから、路面の領域を検出する（路面領域検出ステップＳ２７）。
【００９６】
続いて、ノイズ除去部７３ｂが、路面領域検出部７６によって算出された路面の領域に基づいて、ハフ変換部７３ａが検出した輪郭線候補の雑音を除去する（ノイズ除去ステップＳ２８）。これにより、車線検出部７３は、車線の輪郭線を検出し、輪郭線に挟まれた車線を検出することができる（車線検出ステップＳ２９）。このようにして検出した車線は、出力部１６によって、運転支援装置等に出力される。
【００９７】
また、姿勢検出部７７は、路面領域検出部７６が検出した路面領域に基づいて、魚眼カメラＣ１の視線方向を検出する。すなわち、魚眼カメラＣ１の姿勢を検出することができ、この情報を解析装置７０の補正に用いることができる。
【００９８】
引き続いて、より詳細に車線検出装置Ｓ３における車線検出方法を説明する。第１、第２実施形態と異なる点について主に説明する。
【００９９】
図４４は、画像入力ステップＳ２２において解析装置７０が入力した魚眼画像を示す。特徴点抽出ステップＳ２３では、Sobelフィルタを用いて、入力した魚眼画像から、上向き勾配のエッジ点と下向き勾配のエッジ点とを区別して特徴点として抽出する。上向き勾配のエッジ点と下向き勾配のエッジ点とを区別するのは、車線Ｈの下側の輪郭線Ｈ１と上向きの輪郭線Ｈ２とを分けて検出するためである。図４４に示されるように、車線Ｈは厚みがあり、且つ、輪郭線Ｈ１と輪郭線Ｈ２とが近い位置にあるので、輪郭線Ｈ１上のエッジ点と輪郭線Ｈ２上のエッジ点とを区別するためである。
【０１００】
Sobelフィルタは、縦方向のエッジを検出する場合には、横方向に微分した後に縦方向に関して平滑化を施すことで、縦方向のエッジ点を残し、且つ、ノイズを軽減するものである。このように、Sobelフィルタは、縦方向の微分値と横方向の微分値とを別々に求めることができるので、この性質を利用して勾配方向を識別する。図４５と図４６は、上向き勾配のエッジ点によるエッジ画像と下向き勾配のエッジ点によるエッジ画像とをそれぞれ示す。
【０１０１】
ハフ変換ステップＳ２４では、図４５に示すエッジ点のグループを用いて球面空間ハフ変換を行い、上側の輪郭線候補を求める。そして、図４６に示すエッジ点のグループを用いて球面空間ハフ変換を行い、下側の輪郭線候補を求める。球面空間ハフ変換は、図４７に示すように、大円の法線ベクトルｎを用いて行う。
【０１０２】
投票空間は、θφ平面とする。このため、投票空間を３次元とする場合より速く計算することができる。投票空間をθφ平面とすると、メルカトル図法で描かれた世界地図のように極点に行くに従って球面上のセルが横に伸びて投影されるので、極点付近では誤差が生じ易い。しかし、極点を法線とする大円は、魚眼画像の枠線となるため、車線検出には影響が少ない。すなわち、魚眼画像から球面空間ハフ変換を行うに当たって、投票空間をθφ平面とすることにより、誤差を抑制して計算を速くすることができる。
【０１０３】
球面空間上の点は、式（１０）によって表すことができ、
【数１０】
0005105481.tif 000011
法線ベクトルを式（１１）のように表すと、
【数１１】
0005105481.tif 000012
大円の式（５）は、式（１２）のように変形できる。
【数１２】
0005105481.tif 000013
よって下式（１３）が得られ、式（１３）を用いて法線ベクトルの描く軌跡をθφ平面に描くことができる。
【数１３】
0005105481.tif 000014
【０１０４】
引き続いて、投票空間をθφ平面とした球面空間ハフ変換のアルゴリズムを説明する。
ステップ１：輪郭線Ｈ１上の特徴点２０を含むエッジ点集合（図１３（ａ）参照）からエッジ点を１つ抽出する。
ステップ２：抽出したエッジ点を球面空間に投影したときのθ、φを求める。
ステップ３：求めたθ、φがθφ平面に描く軌跡を求め、その軌跡が通るピクセルに投票する。
ステップ４：全てのエッジ点に対してステップ１〜３の処理を実行する。
ステップ５：クラスタリングを行う。
ステップ６：加重平均により、推定大円を算出する。
【０１０５】
以下が、ステップ５のクラスタリングのアルゴリズムである。
ステップ５−１：全セルを走査し、閾値以下の投票値を持つセルの投票値をリセットする。
ステップ５−２：最大投票値を探査する。
ステップ５−３：最大投票値を持つセルの周囲に探査ウィンドウを当てはめ、投票値を抽出し、投票値はリセットする。
ステップ５−４：加重平均により推定法線を算出する。
ステップ５−５：クラスタがなくなるまでステップ５−２からステップ５−４を繰り返す。
【０１０６】
なお、θφ平面における極点付近の誤差を補正するために、式（１４）を用いて重み付けをしてもよい。
【数１４】
0005105481.tif 000015
【０１０７】
図４８は、図４５に示すエッジ点のグループを用いて行った投票結果を示す。下側のクラスタ８１は、図４９に示す境界線候補８２に対応する。図５０は、図４５に示すエッジ点のグループを用いた球面空間ハフ変換による輪郭線候補を示す図である。すなわち、図５０に示される輪郭線候補は、上側の輪郭線候補である。
【０１０８】
図５０は、図４６に示すエッジ点のグループを用いて行った投票結果を示す。下側のクラスタ８３は、図５２に示す境界線候補８４に対応する。図５３は、図４６に示すエッジ点のグループを用いた球面空間ハフ変換による輪郭線候補を示す図である。すなわち、図５２に示される輪郭線候補は、上側の輪郭線候補である。
【０１０９】
図５０、図５３に示されるように、本実施形態では、車線の輪郭線候補として、停止線の輪郭線を含んで抽出されている。また、誤った曲線も輪郭線候補として抽出している。これらの誤った輪郭線候補を除去するための計算を行う。
【０１１０】
まず、車線方向算出ステップＳ２５では、車線の方向ベクトルを検出するための以下のアルゴリズムを用いて、車線の方向ベクトルを算出する。
ステップ１：下向きの勾配を持つエッジ点を使って投票して得た輪郭線候補の曲線を含む平面の法線ベクトルの列をnb1, nb2・・・nbiとする。
ステップ２：上向きの勾配を持つエッジ点を使って投票して得た輪郭線候補の曲線を含む平面の法線ベクトルの列をnu1, nu2・・・nujとする。
ステップ３：上記のi＋ｊ本の法線ベクトルから任意の２本を選び、外積をとり、その結果をベクトルnvとする。
ステップ４：i＋ｊ本の法線ベクトルの中からステップ３で選んでいない法線ベクトルと上記のベクトルnvとの内積をとり、許容誤差範囲内になっているかを調べる。
ステップ５：上記の許容誤差範囲内になっている法線ベクトルの数を数える。
ステップ６：許容誤差範囲内になっている法線ベクトルの数が閾値以上であれば、ベクトルnvが車線の方向ベクトルに対応していると判別する。そして、ベクトルnvと直交する全ての方向ベクトルを用いて最小二乗法により車線の方向ベクトルを算出する。その数が閾値以下である場合は、ステップ３に戻る。
【０１１１】
次に、停止線方向算出ステップＳ２６では、車線の方向ベクトルを用いて停止線の方向ベクトルを求める。停止線の方向ベクトルを（ｘt、ｙt、ｚt）とし、ベクトルnvとの内積が許容範囲内にあるｎ本の法線ベクトルを（ａn、ｂn、ｃn）とする。停止線の方向ベクトル（ｘt、ｙt、ｚt）と法線ベクトル（ａn、ｂn、ｃn）との間には、次式（１５）の関係が成り立つ。
【数１５】
0005105481.tif 000016
【０１１２】
式（１５）の法線ベクトルの部分をＦ、停止線の方向ベクトルの部分をｔとすると、式（１６）となる。
【数１６】
0005105481.tif 000017
式（１６）のｔは、FTFの最小固有値に対応するため、特異値分解によって求めることができる。
【０１１３】
次に、路面領域検出ステップＳ２７では、図５５に示す車線方向の消失点Ｖ１，Ｖ２と停止線方向の消失点Ｖｓを用いて、路面の領域を特定する。図５６において、図５５に対してネガ/ポジ反転した領域が路面領域Ｒを示す。そして、ノイズ除去ステップＳ２８において、ハフ変換により求めた輪郭線候補のうち、路面領域Ｒ上にない輪郭線候補を除去する。そして、車線検出ステップＳ２９において、図５７に示すように、残った輪郭線候補から車線８５を検出する。
【０１１４】
引き続いて、本実施形態にかかる車線検出プログラム、および、この車線検出プログラムを記録したコンピュータ読み取り可能な記録媒体（以下、単に記録媒体という）について説明する。記録媒体のプログラムを記録するプログラム領域には、車線検出プログラムが記録されている。この車線検出プログラムは、処理を統括するメインモジュールと、コンピュータに、上記の画像入力ステップＳ２２、特徴点抽出ステップＳ２３、球面空間ハフ変換ステップＳ２４、車線方向算出ステップＳ２５、停止線方向算出ステップＳ２６、路面領域検出ステップＳ２７、ノイズ除去ステップＳ２８、車線検出ステップＳ２９を実行させるためのモジュールを備えている。
【０１１５】
最後に本実施形態に係る車線検出装置Ｓ３及びこの車線検出装置Ｓ３において実行される車線検出方法の作用効果について説明する。車線検出装置Ｓ３では、車体の側面側から見た魚眼画像を入力するので、入力した画像の視野領域に対して、より長い車線Ｈが写った画像を取得することができる。このため、車線Ｈの検出結果の誤差を小さくすることができる。
【０１１６】
また、車線検出装置Ｓ３では、魚眼画像の特徴点を球面空間に射影し、球面空間におけるハフ変換を行うことにより、輪郭線候補を検出する。これにより、魚眼画像を用いた場合であっても、誤差を抑制して車線Ｈの検出を行うことができる。また、１つの魚眼画像から車線の輪郭線候補を検出することができる。
【０１１７】
また、車線検出装置Ｓ３では、ハフ変換を行うための投票空間をθφ平面とし、球面空間に射影された特徴点を通る曲線を、当該曲線を含む平面の法線ベクトルを用いて検出する。この場合、投票空間を２次元平面にするので、投票空間を３次元空間３次元空間にする場合より計算量を少なくすることができ、車線を早く検出することができる。また、一般的には、投票空間を２次元空間にすることで、３次元空間にする場合より誤差が大きくなる。θφ平面においては、極点に行くに従って誤差が大きくなるが、極点を法線とする平面上の曲線は、魚眼画像の枠と重なるため、車線検出にあたっては、誤差の影響が少ない。従って、計算量を少なくすると共に、誤差の増大を抑制することができる。
【０１１８】
また、車線検出装置Ｓ３では、車線の方向ベクトルを求めることで、車線方向の消失点と停止線方向の消失点とを算出し、この車線方向の消失点と停止線方向の消失点とによりノイズを除去している。このため、より正確な車線を検出することができる。
【０１１９】
また、車線検出装置Ｓ３では、車線の方向ベクトルと停止線の方向ベクトルとに基づいて、路面に対する魚眼画像の視線方向を検出することにより、魚眼カメラの姿勢を推定することができる。これにより、解析装置７０における補正を魚眼カメラの姿勢の姿勢に基づいて、行うことができる。また、車線検出に適した魚眼画像を取得できるように、魚眼カメラの姿勢を制御することもできる。
【０１２０】
（第４実施形態）
図５８に示すように、第４実施形態に係る車線検出装置Ｓ４は、魚眼カメラＣ１，Ｃ２と、解析装置７０と、を備える。解析装置９０は、機能的な構成要素として、画像入力部１１、特徴点抽出部１２、車線検出部７３、第１消失点推定部９４、第２消失点推定部９５、路面領域検出部９６、出力部１６、姿勢検出部７７を備えて構成される。
【０１２１】
図５９を参照して、魚眼カメラＣ１によって取得された魚眼画像から車両Ｇ右側の車線Ｈを検出する場合を例として、車線検出装置Ｓ４について説明する。画像取得ステップＳ３１、画像入力ステップＳ３２、特徴点抽出ステップＳ３３、ハフ変換ステップＳ３４は、上述した画像取得ステップＳ２１、画像入力ステップＳ２２、特徴点抽出ステップＳ２３、ハフ変換ステップＳ２４と同様である。ステップＳ３１〜Ｓ３４により、複数の輪郭線候補が算出される。
【０１２２】
第１消失点推定ステップＳ３５では、第１消失点推定部９４が、ハフ変換ステップＳ３４において求めた輪郭線候補から車線方向の消失点を推定する。まず、複数の輪郭線候補の交点を求める。そして、図５４に示すように、最も多くの輪郭線候補が交差した交点を車線の消失点Ｖ１，Ｖ２と推定する。
【０１２３】
第２消失点推定ステップＳ３６では、第２消失点推定部９５が、輪郭線候補から停止線の輪郭線を推定する。車線と停止線とは直交しているので、２つの車線の消失点Ｖ１，Ｖ２を通る輪郭線候補と交わる輪郭線候補は、停止線の輪郭線であることが分かる。この停止線の輪郭線候補の交点を算出し、停止線方向の消失点Ｖｓとする。これにより、図５５に示す停止線方向の消失点Ｖｓを算出する。
【０１２４】
路面領域検出ステップＳ３７では、路面領域検出部９６が、第１消失点推定ステップＳ３５において求めた車線方向の消失点と、第２消失点推定ステップＳ３６において求めた停止線方向の消失点とを用いて、路面領域を検出する。これにより図５６に示す路面領域Ｒを検出することができる。
【０１２５】
続いて、上述した手順により、ノイズ除去部７３ｂが、路面領域検出部７６によって算出された路面の領域に基づいて、ハフ変換部７３ａが検出した輪郭線候補の雑音を除去する（ノイズ除去ステップＳ２８）。これにより、車線検出部７３は、車線の輪郭線を検出し、輪郭線に挟まれた車線を検出することができる（車線検出ステップＳ２９）。このようにして検出した車線は、出力部１６によって、運転支援装置等に出力される。
【０１２６】
また、姿勢検出部７７は、路面領域検出部７６が検出した路面領域に基づいて、魚眼カメラＣ１の視線方向を検出する。すなわち、魚眼カメラＣ１の姿勢を検出することができ、この情報を解析装置７０の補正に用いることができる。
【０１２７】
引き続いて、本実施形態にかかる車線検出プログラム、および、この車線検出プログラムを記録したコンピュータ読み取り可能な記録媒体（以下、単に記録媒体という）について説明する。記録媒体のプログラムを記録するプログラム領域には、車線検出プログラムが記録されている。この車線検出プログラムは、処理を統括するメインモジュールと、コンピュータに、上記の画像入力ステップＳ３２、特徴点抽出ステップＳ３３、球面空間ハフ変換ステップＳ３４、第１消失点推定ステップＳ３５、第２消失点推定ステップＳ３６、路面領域検出ステップＳ３７、ノイズ除去ステップＳ３８、車線検出ステップＳ３９を実行させるためのモジュールを備えている。
【０１２８】
最後に本実施形態に係る車線検出装置Ｓ４及びこの車線検出装置Ｓ４において実行される車線検出方法の作用効果について説明する。車線検出装置Ｓ４では、車体の側面側から見た魚眼画像を入力するので、入力した画像の視野領域に対して、より長い車線Ｈが写った画像を取得することができる。このため、車線Ｈの検出結果の誤差を小さくすることができる。
【０１２９】
また、車線検出装置Ｓ４では、魚眼画像の特徴点を球面空間に射影し、球面空間におけるハフ変換を行うことにより、輪郭線候補を検出する。これにより、魚眼画像を用いた場合であっても、誤差を抑制して車線Ｈの検出を行うことができる。また、１つの魚眼画像から車線の輪郭線候補を検出することができる。
【０１３０】
また、車線検出装置Ｓ４では、ハフ変換を行うための投票空間をθφ平面とし、球面空間に射影された特徴点を通る曲線を、当該曲線を含む平面の法線ベクトルを用いて検出する。この場合、投票空間を２次元平面にするので、投票空間を３次元空間にする場合より計算量を少なくすることができ、車線を早く検出することができる。また、一般的には、投票空間を２次元空間にすることで、３次元空間にする場合より誤差が大きくなる。θφ平面においては、極点に行くに従って誤差が大きくなるが、極点を法線とする平面上の曲線は、魚眼画像の枠と重なるため、車線検出にあたっては、誤差の影響が少ない。従って、計算量を少なくすると共に、誤差の増大を抑制することができる。
【０１３１】
また、車線検出装置Ｓ４では、球面空間ハフ変換により得られた車線の輪郭線候補を用いて、車線方向の消失点と停止線方向の消失点を求め、この車線方向の消失点と停止線方向の消失点とから路面領域を検出している。そして、この路面領域を用いて、車線の輪郭線候補からノイズを除去する。このため、より正確な車線を検出することができる。
【０１３２】
また、車線検出装置Ｓ４では、車線方向の消失点と停止線方向の消失点を求め、車線方向の消失点と停止線方向の消失点に基づいて、魚眼画像の視線方向を検出する。これにより、魚眼カメラの姿勢を推定することができる。また、解析装置９０における補正を魚眼カメラの姿勢の姿勢に基づいて行うことができる。更に、車線検出に適した魚眼画像を取得できるように、魚眼カメラの姿勢を制御することもできる。
【０１３３】
本発明は、上記実施形態に限らず、種々の変形が可能である。例えば、魚眼画像を球面画像に変換する際に等距離射影方式を用いたが、正射影方式、立体射影方式等を用いてもよい。
【０１３４】
また、上記実施形態では、球面空間ハフ変換を行う際に、投票空間としてθφ平面を用いたが、これに限られない。例えば、３次元の球面でもよい。この場合、球面を六角形のセルで表現する。３次元の球面を用いることにより、誤差を抑制して車線を検出することができる。
【０１３５】
また、魚眼レンズは、製造過程で発生する誤差の影響のために理想的な射影式に従わない。そこで、論文[中野，李，千葉，球面モデルに基づくしま模様パターンを用いた魚眼カメラの校正，電子情報通信学会論文誌D Vol.J90-D No.1 pp.73-8]に記載された魚眼レンズの歪モデルを用いて校正を行うことも好ましい。
【図面の簡単な説明】
【０１３６】
【図１】第１実施形態に係る車線検出装置を含むＦＦＶシステムを示す図である。
【図２】第１実施形態に係る車線検出装置に含まれる魚眼カメラの設置状態を示す図である。
【図３】第１実施形態に係る車線検出装置の機能ブロック図である。
【図４】第１実施形態に係る車線検出方法のフロー図である。
【図５】画像取得ステップにおいて取得した魚眼画像を示す図である。
【図６】魚眼画像から抽出したエッジ点を示す図である。
【図７】魚眼画像のエッジ点から抽出したコーナー点を示す図である。
【図８】魚眼画像と球面画像との対応関係を示す図である。
【図９】球面画像上に射影した空間上の直線を示す図である。
【図１０】車両と車線との関係を示す図である。
【図１１】エピポール幾何について説明するための図である。
【図１２】推定した消失点を示す図である。
【図１３】上向き勾配のエッジ点と下向き勾配のエッジ点とを示す図である。
【図１４】球面画像上に射影した空間上の直線を示す図である。
【図１５】球面空間ハフ変換における投票結果を示す図である。
【図１６】球面空間ハフ変換による曲線（大円）の推定結果を示す図である。
【図１７】図１６（ａ）の曲線に再フィッティングを施して得た検出結果である。
【図１８】図１６（ａ）の曲線に再フィッティングを施して得た検出結果である。
【図１９】輪郭線の検出結果を示す図である。
【図２０】車線の検出結果を示す図である。
【図２１】実施例に係る車線の検出結果を示す図である。
【図２２】実施例に係る車線の検出結果を示す図である。
【図２３】実施例に係る車線の検出結果を示す図である。
【図２４】実施例に係る車線の検出結果を示す図である。
【図２５】第２実施形態に係る車線検出装置の機能ブロック図である。
【図２６】画像取得ステップにおいて取得したステレオ画像を示す図である。
【図２７】インタレース除去用の画像を示す。
【図２８】エッジ画像を示す。
【図２９】一方の魚眼画像のエッジ点から抽出したコーナー点を示す図である。
【図３０】他方の魚眼画像のエッジ点から抽出したコーナー点を示す図である。
【図３１】推定したエピポール対（消失点）を示す図である。
【図３２】球面モデルを示す図である。
【図３３】１つの輪郭線上のエッジ点を示す図である。
【図３４】輪郭線上のエッジ点とみなされたエッジ点を示す。
【図３５】最小二乗法で求めた輪郭線の候補を示す。
【図３６】再フィッティングを行った後の輪郭線を示す。
【図３７】車線の検出結果を示す図である。
【図３８】輪郭線上のエッジ点とみなされたエッジ点を示す。
【図３９】最小二乗法で求めた輪郭線の候補を示す。
【図４０】再フィッティングを行った後の輪郭線を示す。
【図４１】車線の追跡結果を示す図である。
【図４２】第３実施形態に係る車線検出装置の機能ブロック図である。
【図４３】第３実施形態に係る車線検出方法のフロー図である。
【図４４】画像取得ステップにおいて取得した魚眼画像を示す図である。
【図４５】一方のグループのエッジ画像を示す。
【図４６】他方のグループのエッジ画像を示す。
【図４７】球面モデルを示す図である。
【図４８】図４５に示すエッジ点のグループを用いて行った投票結果を示す。
【図４９】図４７のクラスタ８１に対応する輪郭線候補を示す。
【図５０】図４５に示すエッジ点のグループを用いた球面空間ハフ変換による輪郭線候補を示す図である。
【図５１】図４６に示すエッジ点のグループを用いて行った投票結果を示す。
【図５２】図５０のクラスタ８４に対応する輪郭線候補を示す。
【図５３】図４６に示すエッジ点のグループを用いた球面空間ハフ変換による輪郭線候補を示す図である。
【図５４】車線方向の消失点を示す図である。
【図５５】車線方向の消失点と停止線方向の消失点とを示す図である。
【図５６】検出した路面領域を示す図である。
【図５７】車線の検出結果を示す図である。
【図５８】第４実施形態に係る車線検出装置の機能ブロック図である。
【図５９】第４実施形態に係る車線検出方法のフロー図である。
【符号の説明】
【０１３７】
Ｓ１〜Ｓ４…車線検出装置、Ｃ１〜Ｃ４…魚眼カメラ、１１…画像入力部（画像入力手段）、１２…特徴点抽出部（特徴点抽出手段）、１３…消失点推定部（消失点推定手段）、１４…車線方向算出部（車線方向算出手段）、１５，２５，４５，７３…車線検出部（車線検出手段）、１５ａ…ハフ変換部（ハフ変換手段）、１６…出力部、２０，２１，５１…特徴点、２４，５２…エピポール対、２７，４７…車線追跡部、７３ａ…ハフ変換部、７４…車線方向算出部、７５…停止線方向算出部、７６，９６…路面領域検出部、７７…姿勢検出部（視線方向検出手段）、９４…消失点推定部、９５…消失点推定部、ｎν…車線の方向ベクトル、Ｖ１，Ｖ２…車線方向の消失点、Ｖｓ…停止線方向の消失点。
【図１】
0005105481.tif 000018
【図２】
0005105481.tif 000019
【図３】
0005105481.tif 000020
【図４】
0005105481.tif 000021
【図８】
0005105481.tif 000022
【図９】
0005105481.tif 000023
【図１０】
0005105481.tif 000024
【図１１】
0005105481.tif 000025
【図１４】
0005105481.tif 000026
【図２５】
0005105481.tif 000027
【図３２】
0005105481.tif 000028
【図４２】
0005105481.tif 000029
【図４３】
0005105481.tif 000030
【図４７】
0005105481.tif 000031
【図５８】
0005105481.tif 000032
【図５９】
0005105481.tif 000033
【図５】
0005105481.tif 000034
【図６】
0005105481.tif 000035
【図７】
0005105481.tif 000036
【図１２】
0005105481.tif 000037
【図１３】
0005105481.tif 000038
【図１５】
0005105481.tif 000039
【図１６】
0005105481.tif 000040
【図１７】
0005105481.tif 000041
【図１８】
0005105481.tif 000042
【図１９】
0005105481.tif 000043
【図２０】
0005105481.tif 000044
【図２１】
0005105481.tif 000045
【図２２】
0005105481.tif 000046
【図２３】
0005105481.tif 000047
【図２４】
0005105481.tif 000048
【図２６】
0005105481.tif 000049
【図２７】
0005105481.tif 000050
【図２８】
0005105481.tif 000051
【図２９】
0005105481.tif 000052
【図３０】
0005105481.tif 000053
【図３１】
0005105481.tif 000054
【図３３】
0005105481.tif 000055
【図３４】
0005105481.tif 000056
【図３５】
0005105481.tif 000057
【図３６】
0005105481.tif 000058
【図３７】
0005105481.tif 000059
【図３８】
0005105481.tif 000060
【図３９】
0005105481.tif 000061
【図４０】
0005105481.tif 000062
【図４１】
0005105481.tif 000063
【図４４】
0005105481.tif 000064
【図４５】
0005105481.tif 000065
【図４６】
0005105481.tif 000066
【図４８】
0005105481.tif 000067
【図４９】
0005105481.tif 000068
【図５０】
0005105481.tif 000069
【図５１】
0005105481.tif 000070
【図５２】
0005105481.tif 000071
【図５３】
0005105481.tif 000072
【図５４】
0005105481.tif 000073
【図５５】
0005105481.tif 000074
【図５６】
0005105481.tif 000075
【図５７】
0005105481.tif 000076