(57)【特許請求の範囲】
【請求項１】
道路の路面を撮影した画像から複数のエッジ線を検出し、該複数のエッジ線のうち１つ以上のエッジ線を連結して複合エッジ線を生成するエッジ検出部と、
前記道路の中央に最も近い内側複合エッジ線の情報に基づいて、前記路面を撮影したカメラの横方向オフセットと道路幅とを含む、前記道路の道路形状パラメータを求める道路形状推定部と、
前記内側複合エッジ線に含まれるエッジ線の長さが閾値より小さく、かつ該内側複合エッジ線の外側に位置する外側複合エッジ線が存在する場合に、該内側複合エッジ線と該外側複合エッジ線との距離に基づいて補正量を求める補正量推定部と、
前記補正量を格納する格納部と、
前記横方向オフセット及び前記道路幅を前記補正量を用いて補正し、補正された横方向オフセット及び道路幅を含む道路形状パラメータを出力する補正部と
を備えることを特徴とする道路形状推定装置。
【請求項２】
前記エッジ検出部は、前記複数のエッジ線のうち第１のエッジ線と第２のエッジ線との間の奥行き方向における距離と、該奥行き方向と直交する方向における該第１のエッジ線と該第２のエッジ線との間の距離と、該第１のエッジ線の線種と、該第２のエッジ線の線種とに基づいて、前記１つ以上のエッジ線を連結して前記複合エッジ線を生成するか否かを判定する、請求項１記載の道路形状推定装置。
【請求項３】
前記補正量推定部は、前記内側複合エッジ線に含まれるエッジ線のうち前記画像内で前記カメラの近傍に存在する第３のエッジ線と、前記外側複合エッジ線に含まれるエッジ線のうち前記画像内で前記カメラの近傍に存在する第４のエッジ線との距離に基づいて、前記補正量を求めることを特徴とする請求項１又は２記載の道路形状推定装置。
【請求項４】
請求項１乃至３のいずれか１項に記載の道路形状推定装置と、
前記道路形状推定装置から出力される道路形状パラメータに基づいて、車両が車線を逸脱したか否かを判定する逸脱判定装置と、
前記車両が前記車線を逸脱した場合に警報を出力する逸脱警報装置と
を備えることを特徴とする車線逸脱警報システム。
【請求項５】
請求項１乃至３のいずれか１項に記載の道路形状推定装置と、
前記道路形状推定装置から出力される道路形状パラメータに基づいて、車両がふらついているか否かを判定するふらつき判定装置と、
前記車両がふらついている場合に、車線上での走行を維持するように該車両を操舵する車両操舵装置と
を備えることを特徴とする車両操舵システム。
【請求項６】
道路の路面を撮影した画像から複数のエッジ線を検出し、
前記複数のエッジ線のうち１つ以上のエッジ線を連結して複合エッジ線を生成し、
前記道路の中央に最も近い内側複合エッジ線の情報に基づいて、前記路面を撮影したカメラの横方向オフセットと道路幅とを含む、前記道路の道路形状パラメータを求め、
前記内側複合エッジ線に含まれるエッジ線の長さが閾値より小さく、かつ該内側複合エッジ線の外側に位置する外側複合エッジ線が存在する場合に、該内側複合エッジ線と該外側複合エッジ線との距離に基づいて補正量を求め、
前記の横方向オフセット及び前記道路幅を前記補正量を用いて補正し、
補正された横方向オフセット及び道路幅を含む道路形状パラメータを出力する
処理をコンピュータに実行させるプログラム。
【請求項７】
前記コンピュータは、前記複数のエッジ線のうち第１のエッジ線と第２のエッジ線との間の奥行き方向における距離と、該奥行き方向と直交する方向における該第１のエッジ線と該第２のエッジ線との間の距離と、該第１のエッジ線の線種と、該第２のエッジ線の線種とに基づいて、前記１つ以上のエッジ線を連結して前記複合エッジ線を生成するか否かを判定する、請求項６記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、道路形状推定装置及びプログラムに関する。
【背景技術】
【０００２】
カメラを車両の進行方向又は進行方向と逆向きに取り付け、撮影された映像に含まれる車線区分線を検出して、車線区分線の情報から走行車線と車両との位置関係を求め、道路形状を推定する方法は古くから研究・開発されている。
【０００３】
例えば、カメラで撮影した車両前方の路面画像から、縦方向に複数個所で横方向に画像を走査し、輝度（濃淡）の変化箇所として車線区分線のエッジを検出し、エッジ情報に基づいて走行車線と車両との位置関係を推定する方法が知られている。この方法では、画像から検出されたエッジ点を縦方向に繋ぐことで車線区分線を識別し、道路形状モデルと車線区分線の位置とを照合して路面上の車線区分線の位置が決定される。
【０００４】
カーブ路の路面上には、車線区分線と平行に減速を促すための補助線（減速補助マーカ）がペイントされている場合がある。この補助線としては、例えば、車線区分線に用いられる破線より短い破線ブロックの列が用いられる。
【０００５】
このような多重線路の路面画像における走行車線の左右いずれか一方の側から、エッジ検出により複数の区分線候補のエッジが検出された場合に、エッジ周期を比較して最も連続線に近い候補を車線区分線と判定する方法が知られている。この方法では、車両が走行している車線に車線区分線と補助線がペイントされていても、補助線は短い破線ブロックのエッジからなる不連続線として認識されるので、検出された複数の区分線候補のうち最も連続線に近い候補を選択することで、本来の車線区分線を認識することができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００４−３１０５２２号公報
【非特許文献】
【０００７】
【非特許文献１】高橋新，二宮芳樹，「走行レーン認識におけるロバストなレーンマーキング候補選択の一手法」，電子情報通信学会論文誌  Ｄ−ＩＩ  Ｖｏｌ．Ｊ８１−Ｄ−ＩＩ  Ｎｏ．８  ｐｐ．１９０４−１９１１，１９９８年８月
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上述した従来の車線区分線認識技術には、以下のような問題がある。
従来の車線区分線認識技術では、図１に示すように、路面画像における車両の近傍（画像の下側）から遠方（画像の上側）までのすべての領域において、車線区分線１０１及び１０２と補助線１０３及び１０４とが区別できることが必要である。さらに、縦方向に隣接する補助線同士が画像中で分離されていることも必要である。
【０００９】
しかしながら、路面画像の解像度には限界があるため、遠方に映る物体は分解能が低下し、遠方では車線区分線と補助線の融合や、縦方向に隣接する補助線同士の融合が生じることがある。
【００１０】
図２は、車線区分線と補助線の融合が生じる第１の例を示している。第１の例では、車線区分線２０１及び２０２は実線であり、補助線２０３及び２０４は破線であるが、遠方では解像度の低下により、車線区分線２０１と補助線２０３の融合及び車線区分線２０２と補助線２０４の融合が生じている。さらに、補助線２０３の破線ブロック同士の融合及び補助線２０４の破線ブロック同士の融合も生じている。この場合、最も連続線に近い候補は、融合したブロックのエッジ線２０５及び２０６であるため、これらの誤った形状特徴を持つエッジ線に基づいて道路形状が推定されることになる。
【００１１】
図３は、車線区分線と補助線の融合が生じる第２の例を示している。第２の例では、車線区分線３０１及び３０２は破線であり、補助線３０３及び３０４も破線であるが、補助線３０３及び３０４の方が破線ブロックの長さが短い。遠方では解像度の低下により、車線区分線３０１と補助線３０３の融合及び車線区分線３０２と補助線３０４の融合が生じ、補助線３０３の破線ブロック同士の融合及び補助線３０４の破線ブロック同士の融合も生じている。この場合、最も連続線に近い候補は、融合したブロックのエッジ線３０５及び３０６であるため、図２の場合と同様に、誤った形状特徴を持つエッジ線に基づいて道路形状が推定されることになる。
【００１２】
本発明の課題は、車線区分線と平行に補助線がペイントされているような多重線路であっても、解像度の低下による補助線からの影響を受けずに、道路の路面を撮影した画像から精度良く道路形状を推定することである。
【課題を解決するための手段】
【００１３】
道路形状推定装置は、エッジ検出部、道路形状推定部、補正量推定部、格納部、及び補正部を含む。
エッジ検出部は、道路の路面を撮影した画像から複数のエッジ線を検出し、それらのエッジ線のうち１つ以上のエッジ線を連結して複合エッジ線を生成する。道路形状推定部は、道路の中央に最も近い内側複合エッジ線の情報に基づいて、路面を撮影したカメラの横方向オフセットと道路幅とを含む、道路の道路形状パラメータを求める。
【００１４】
補正量推定部は、内側複合エッジ線と内側複合エッジ線の外側に位置する外側複合エッジ線との距離に基づいて補正量を求め、格納部は、その補正量を格納する。補正部は、横方向オフセット及び道路幅を補正量を用いて補正し、補正された横方向オフセット及び道路幅を含む道路形状パラメータを出力する。
【発明の効果】
【００１５】
上述した道路形状推定装置によれば、車線区分線と平行に補助線がペイントされているような多重線路であっても、解像度の低下による補助線からの影響を受けずに、道路の路面を撮影した画像から精度良く道路形状を推定することができる。
【図面の簡単な説明】
【００１６】
【図１】車線区分線と補助線を示す図である。
【図２】車線区分線と補助線の融合が生じる第１の例を示す図である。
【図３】車線区分線と補助線の融合が生じる第２の例を示す図である。
【図４】道路形状モデルを示す図である。
【図５】カメラの観測系モデルを示す図である。
【図６】補助線の内側境界線を示す図である。
【図７】シフト量を示す図である。
【図８】道路幅及びオフセットの補正方法を示す図である。
【図９】第１の道路形状推定装置の機能的構成図である。
【図１０】第１の道路形状推定処理のフローチャートである。
【図１１】第２の道路形状推定装置の機能的構成図である。
【図１２】第２の道路形状推定処理のフローチャートである。
【図１３】エッジ検出処理のフローチャートである。
【図１４】デジタル画像を示す図である。
【図１５】エッジ点を示す図である。
【図１６】エッジ線を示す図である。
【図１７】車線区分線を含む左右の領域を示す図である。
【図１８】内側のエッジ線を示す図である。
【図１９】複合エッジ線生成処理のフローチャート（その１）である。
【図２０】複合エッジ線生成処理のフローチャート（その２）である。
【図２１】複合エッジ線を示す図である。
【図２２】候補線決定処理のフローチャートである。
【図２３】補助線判定処理のフローチャートである。
【図２４】補正量推定処理のフローチャート（その１）である。
【図２５】補正量推定処理のフローチャート（その２）である。
【図２６】車線逸脱警報システムの構成図である。
【図２７】車両操舵システムの構成図である。
【図２８】情報処理装置の構成図である。
【発明を実施するための形態】
【００１７】
以下、図面を参照しながら、実施形態を詳細に説明する。
図４は、道路形状モデルの例を示している。ここでは、車線の中央線Ｌｃにおける曲率半径をＲとし、車線の各位置で水平方向（Ｘ軸方向）に測って道路幅（車線幅）が常にＷとなるモデルを考える。このモデルでは、中央線Ｌｃに直交する方向での車線幅がＷとならないため、実際の車線とは異なるが、カメラによる観測点から比較的近い範囲では誤差が小さく、解析的な取り扱いが簡単になる。
【００１８】
図５に示すように、カメラの中心を原点Ｏとして、原点Ｏから横方向に路面座標系のＸ軸をとり、縦方向に路面座標系のＺ軸をとる。この場合、ＸＺ平面に垂直な方向が路面座標のＹ軸となる。そして、原点Ｏを路面上に垂直に投影した点をＲＯとする。図４の道路形状モデルにおける各記号の意味は以下の通りである。
【００１９】
Ｌｃ：車線の中央線
Ｌｒ：車線の右側の車線区分線
Ｌｌ：車線の左側の車線区分線
Ｗ：道路幅
Ｒ：曲率半径
ｅ：点ＲＯから中央線Ｌｃまでの距離
Ｐ：車線区分線Ｌｒ又はＬｌ上の着目点
Ａ：車線区分線ＬｒとＸＹ平面の交点
Ｂ：着目点ＰをＸＹ平面に垂直に投影した点
Ｃ：曲率中心
Ｄ：ＸＹ平面から着目点Ｐまでの距離
【００２０】
距離ｅは、カメラから道路中央までの距離（カメラの横方向オフセット）を表し、距離Ｄは、カメラから着目点Ｐまでの奥行き方向の距離を表す。このとき、着目点Ｐ（Ｘ，Ｚ）のＸ座標Ｐｘ及びＺ座標Ｐｚは、次式で与えられる。
【００２１】
【数１】
0005799784.tif 000002
【００２２】
式（１）が車線の路面上での位置を与える基礎式である。ただし、ｋは車線区分線Ｌｒ及びＬｌを区別するための定数で、着目点Ｐが右側の車線区分線Ｌｒ上にあるときはｋ＝１、左側の車線区分線Ｌｌ上にあるときはｋ＝−１である。曲率半径Ｒは、右カーブ、すなわち曲率中心ＣがＸ軸の正区間にある場合は正値とし、左カーブ、すなわち曲率中心ＣがＸ軸の負区間にある場合は負値とする。
【００２３】
基礎式（１）は、平方根を含んでいるため、解析的な取り扱いが難しい。そこで、曲率半径Ｒが極端に小さくない通常の走行時を想定して、基礎式（１）の近似化を行う。例えば、平方根の１次近似として、テーラー展開の第１項までを用いると、次式のようになる。
【００２４】
【数２】
0005799784.tif 000003
【００２５】
式（２）を用いると、基礎式（１）は以下のように書き改められる。
【００２６】
【数３】
0005799784.tif 000004
【００２７】
式（３）が１次近似での基礎式となる。
【００２８】
次に、路面上の車線区分線をカメラで観測したときの車線区分線の位置のモデルを導出する。
【００２９】
図５は、カメラの観測系モデルの例を示している。カメラの中心は路面から高さＨの位置にあり、カメラは車両の進行方向に対して、ピッチ角φ、ヨー角θ、ロール角０で設置されているとする。ピッチ角φ及びヨー角θは、カメラ座標系から路面座標系への座標系の変換を正の回転方向に取る。したがって、路面座標系からカメラ座標系へは、座標点の変換が回転の正方向となる。また、カメラの焦点距離はｆとする。このとき、路面座標（Ｘ，Ｙ，Ｚ）からカメラ座標（ｘｃ、ｙｃ、ｚｃ）への座標変換を考える。
【００３０】
路面座標系での点Ｐの座標（Ｘ，Ｙ，Ｚ）をピッチ角φとヨー角θを持つカメラ座標系での座標（ｘｃ，ｙｃ，ｚｃ）で表すと、次式のようになる。
【００３１】
【数４】
0005799784.tif 000005
【００３２】
この点をカメラで観測した画像の中央からｘ軸を右向きに、ｙ軸を下向きに取り、画像座標を（ｘ，ｙ）とすると、着目点Ｐの画像座標（ｐｘ，ｐｙ）は次式で与えられる。
【００３３】
【数５】
0005799784.tif 000006
【００３４】
式（５）のＸ及びＺに近似基礎式（３）の（Ｐｘ，Ｐｚ）を代入し、ＹにＨを代入すると、画像上での車線区分線の位置関係として次式が得られる。
【００３５】
【数６】
0005799784.tif 000007
【００３６】
式（６）から媒介変数であるＤを除けば、ｐｘとｐｙの関係式が求められる。実際には、式（６）の形のままではＤについて容易に解けないため、関係式の導出が困難である。そこで、式（６）中の各項のオーダーを考慮して、式（６）の近似化を行う。
【００３７】
具体的には、各回転角φ及びθは大きくても２０度程度であり、それほど大きくないため、ｓｉｎ系の値は０．１程度である。Ｄ、Ｒ、Ｗ、Ｈ、及びｅの単位をメートルとすると、式（６）中のｐｘ及びｐｙの分母において、第１項のｃｏｓ（φ）ｓｉｎ（θ）に乗算される数値は２程度であるから、第１項は０．２程度の値を持つ。また、第２項のＨの値も２程度であるから、第２項も０．２程度の値を持つ。これに対して、第３項のＤの値は３０程度であり、第３項はｃｏｓ系の積なので３０程度の値を持つ。したがって、分母では第３項が支配的で第１項及び第２項はほとんど影響を与えない。ｐｙの分子についても同様である。したがって、最初の近似式として、次式が得られる。
【００３８】
【数７】
0005799784.tif 000008
【００３９】
式（７）のｐｙの式からＤを求めて、ｐｘの式に代入し、（ｐｘ，ｐｙ）を（ｘ，ｙ）と書き改めると、次式が得られる。
【００４０】
【数８】
0005799784.tif 000009
【００４１】
式（８）が、画像中の車線区分線上の点のｘ座標とｙ座標の関係式であり、画像座標系における基礎式となる。ここで、回転角φ及びθを微小とみなして、ｓｉｎφ＝φ、ｃｏｓφ＝１、ｓｉｎθ＝θ、ｃｏｓθ＝１とすると、次式が得られる。
【００４２】
【数９】
0005799784.tif 000010
【００４３】
式（９）が、道路形状モデルを表す最終的な近似式である。式（９）の道路曲率ρは、曲率半径Ｒの逆数に相当する。なお、カメラの横方向オフセットｅとして、カメラと道路上の基準位置との横方向の相対距離を表す別のパラメータを用いることも可能である。
【００４４】
映像中の各時刻における画像（フレーム）から車線区分線の位置（ｘ，ｙ）が検出できれば、式（９）を用いて道路形状パラメータ（ρ，Ｗ，ｅ，φ，θ）を推定することができる。これにより、路面上の車線区分線の形状と車両の位置及び方向との関係を求めて、道路形状を推定することができる。
【００４５】
以下の説明では、画像座標系の原点を画像の中央から画像の左上の点に平行移動して、車線区分線の位置（ｘ，ｙ）を記述する。
【００４６】
走行車線の左右の車線区分線の内側に補助線がペイントされている場合、補助線の影響を受けずに車線区分線が形成する道路形状を正しく推定するために、以下の点に着目する。
（１）補助線は、車線区分線と平行して存在する。
（２）補助線は、道路中央に近い側（車線区分線の内側）に存在する。
（３）補助線は破線であり、連続的に並んでいる破線ブロックの長さ及び間隔は、車線区分線で用いられる破線ブロックの長さ及び間隔より短い。
【００４７】
上記（２）及び（３）を考慮すると、車線区分線と補助線が融合したり、補助線同士が道路の奥行方向に融合したりしても、図６に示すように、補助線の内側境界線６０１〜６０６は損なわれることなく、常に安定して観測できることが分かる。
【００４８】
また、上記（１）を考慮すると、補助線の内側境界線６０１〜６０６を用いて道路形状パラメータを推定した場合、道路曲率ρ、ピッチ角φ、及びヨー角θについては正しい値が求められることが分かる。そこで、実施形態では、車線区分線や補助線の融合の有無に関わらず、補助線がある場合は補助線の内側境界線を用いて道路形状を推定する。
【００４９】
ただし、道路幅Ｗ及びオフセットｅについては、内側境界線６０１〜６０６を道路端とみなした場合の誤った値が求められる。道路幅Ｗ及びオフセットｅの誤差は、補助線の内側境界線の位置から車線区分線の位置までの距離に起因した値となる。
【００５０】
続いて、車線区分線や補助線の融合について考察する。図７に示すように、車線区分線７１１及び７１２や補助線７２１及び７２２が遠方にある領域７０１では、解像度が不足して融合した線分を分離することはできない。一方、線分が車両の近傍にある領域７０２では、各線分が大きく詳細に映るので、車線区分線７１１及び７１２や補助線７２１及び７２２の融合は発生しない。したがって、画像の下端に近い領域７０２に着目して検出した線分の位置関係を調べれば、補助線７２１及び７２２と車線区分線７１１及び７１２の位置的な誤差を求めることができる。
【００５１】
図７のシフト量ＤＸＬは、左側の補助線７２１の内側境界線７４１から、補助線の幅だけ外側に離れた車線区分線７１１の内側境界線７３１までの距離を表す。また、シフト量ＤＸＲは、右側の補助線７２２の内側境界線７４２から、補助線の幅だけ外側に離れた車線区分線７１２の内側境界線７３２までの距離を表す。シフト量ＤＸＬ及びＤＸＲが求められれば、それらを用いて道路幅Ｗ及びオフセットｅの誤差を補正し、車線区分線に基づく正しい道路形状を推定することができる。
【００５２】
図８は、道路幅Ｗ及びオフセットｅの補正方法を示している。補正前の道路幅Ｗ１は、内側境界線７４１の位置８０１と内側境界線７４２の位置８０３との距離を表し、補正前のオフセットｅ１は、カメラの位置８０４から補正前の道路中央の位置８０２までの距離を表す。補正後の道路幅Ｗ２は、内側境界線７３１の位置８１１と内側境界線７３２の位置８１３との距離を表し、補正後のオフセットｅ２は、カメラの位置８０４から補正後の道路中央の位置８１２までの距離を表す。このとき、補正後の道路幅Ｗ２及びオフセットｅ２は、次式により求められる。
Ｗ２＝Ｗ１＋（ＤＸＬ＋ＤＸＲ）
ｅ２＝ｅ１＋（−ＤＸＬ＋ＤＸＲ）／２      （２１）
【００５３】
ただし、車線区分線が破線である場合、破線ブロック間には相応のペイントが無い間隙があるため、画像の下端に近い領域７０２に着目した場合に、常に補助線と車線区分線からなる複数の線分が存在するとは限らない。例えば、一般的な高速道路では、破線ブロック（白線部分）の長さは８ｍで、破線ブロック間の間隙（非白線部分）の長さは１２ｍである。
【００５４】
そこで、画像の下端に近い領域７０２を常に監視して複数の線分が存在するか否かを判定し、複数の線分が存在する時を見計らって補助線と車線区分線の位置的なシフト量を算出する。また、複数の線分が存在する場合には毎回シフト量を検出することで、補助線と車線区分線の間隔の変動に対応することができる。
【００５５】
図９は、道路形状推定装置の機能的構成例を示している。図９の道路形状推定装置９０１は、エッジ検出部９１１、道路形状推定部９１２、補正部９１３、補正量推定部９１４、及び格納部９１５を含む。
【００５６】
図１０は、図９の道路形状推定装置９０１による道路形状推定処理の例を示すフローチャートである。まず、エッジ検出部９１１は、道路の路面を撮影した画像から複数のエッジ線を検出し（ステップ１００１）、それらのエッジ線のうち１つ以上のエッジ線を連結して複合エッジ線を生成する（ステップ１００２）。
【００５７】
次に、道路形状推定部９１２は、道路の中央に最も近い内側複合エッジ線の情報に基づいて、道路幅及びオフセットを含む、道路の道路形状パラメータを求める（ステップ１００３）。また、補正量推定部９１４は、内側複合エッジ線と内側複合エッジ線の外側に位置する外側複合エッジ線との距離に基づいて補正量を求め、その補正量を格納部９１５に格納する（ステップ１００４）。ステップ１００３及び１００４の処理は順番に行ってもよく、並行して行ってもよい。
【００５８】
次に、補正部９１３は、道路幅及びオフセットを補正量を用いて補正し（ステップ１００５）、補正された道路幅及びオフセットを含む道路形状パラメータを出力する（ステップ１００６）。
【００５９】
このような道路形状推定装置によれば、車線区分線と平行に補助線がペイントされているような多重線路であっても、解像度の低下による補助線からの影響を受けずに、道路の路面を撮影した画像から精度良く道路形状を推定することができる。
【００６０】
図１１は、道路形状推定装置の別の機能的構成例を示している。図１１の道路形状推定装置は、映像入力部１１０１、エッジ検出部１１０２、候補線決定部１１０３、道路形状推定部１１０４、補正部１１０５、補助線判定部１１０６、補正量推定部１１０７、及び格納部１１０８を含む。映像入力部１１０１に接続されたカメラ１１００は、車両の前方又は後方に路面を撮影できるように取り付けられている。
【００６１】
図１２は、図１１の道路形状推定装置による道路形状推定処理の例を示すフローチャートである。まず、映像入力部１１０１は映像入力処理を行い（ステップ１２０１）、エッジ検出部１１０２はエッジ検出処理を行い（ステップ１２０２）、候補線決定部１１０３は候補線決定処理を行う（ステップ１２０３）。次に、補助線判定部１１０６は補助線判定処理を行い（ステップ１２０４）、補正量推定部１１０７は補正量推定処理を行う（ステップ１２０５）。また、道路形状推定部１１０４は道路形状推定処理を行う（ステップ１２０６）。そして、補正部１１０５は道路形状補正処理を行う（ステップ１２０７）。
【００６２】
ステップ１２０１の映像入力処理において、映像入力部１１０１は、外部のカメラ１１００により撮影された映像を受け取り、エッジ検出部１１０２に出力する。このとき、入力された映像がアナログ映像であればデジタル画像に変換し、カラー映像であればモノクロ濃淡画像に変換してから、エッジ検出部１１０２に出力する。出力されるデジタル画像は、例えば、縦横にあらかじめ決められた大きさの２次元配列情報である。
【００６３】
ステップ１２０２のエッジ検出処理において、エッジ検出部１１０２は、入力されるデジタル画像中の左右の車線区分線を含むそれぞれの部分から、領域の境界線を構成するエッジ点群を検出する。次に、エッジ点を画像の縦方向に連結して、エッジ線を検出する。検出されたエッジ線は、実線の車線区分線の全体、破線の車線区分線の１つの破線ブロック、補助線の１つの破線ブロック等のエッジ線に対応する。
【００６４】
そして、エッジ線同士を画像の縦方向に連結して複合エッジ線を生成し、候補線決定部１１０３及び補正量推定部１１０７に出力する。生成された複合エッジ線は、実線の車線区分線の全体、破線の車線区分線の全体、補助線の全体等のエッジ線に対応する。
【００６５】
ステップ１２０３の候補線決定処理において、候補線決定部１１０３は、入力される複合エッジ線の中から、左右それぞれの部分について、道路の中央に最も近い（最も内側にある）複合エッジ線を、道路形状の推定に用いる候補線に決定する。そして、その複合エッジ線を道路形状推定部１１０４、補助線判定部１１０６、及び補正量推定部１１０７に出力する。
【００６６】
ステップ１２０４の補助線判定処理において、補助線判定部１１０６は、入力される候補線の複合エッジ線について、その複合エッジ線に含まれるエッジ線の路面上での長さを元に、複合エッジ線が補助線に該当するか否かを判定する。そして、判定結果を補正量推定部１１０７に出力する。
【００６７】
ステップ１２０５の補正量推定処理において、補正量推定部１１０７は、左右それぞれの部分について、入力される判定結果が補助線を示す場合は、候補線から補助線の幅だけ外側に位置する複合エッジ線の有無をチェックする。このとき、エッジ検出部１１０２から入力される複合エッジ線がチェック対象として用いられる。
【００６８】
該当する外側複合エッジ線が存在すれば、候補線からその外側複合エッジ線までの距離を求め、補正量として格納部１１０８に格納する。補正量としては、例えば、路面上での進行方向と直交する方向における、候補線と外側複合エッジ線の距離が用いられる。一方、該当する外側複合エッジ線が存在しなければ、格納部１１０８に格納された補正量は更新しない。
【００６９】
入力される判定結果が補助線ではないことを示す場合は、補正量として０を格納部１１０８に格納する。
例えば、図３に示したように、破線の車線区分線３０１と補助線３０３が融合している場合は、補助線３０３から補助線の幅だけ外側には複合エッジ線が存在しないので、補正量は更新されない。その後、数フレーム分の時間が経過して遠方の車線区分線３０１が車両に近づいたときに、画像の解像度が確保され、車線区分線３０１と補助線３０３とが分離されるため、補正量が求められる。
【００７０】
ステップ１２０６の道路形状推定処理において、道路形状推定部１１０４は、入力される候補線の複合エッジ線に含まれるエッジ点の画像座標（ｘ、ｙ）を用いて、道路形状パラメータを求め、補正部１１０５に出力する。
【００７１】
ステップ１２０７の道路形状補正処理において、補正部１１０５は、入力される道路形状パラメータのうち道路幅及びオフセットを、格納部に格納された補正量を用いて補正し、補正された道路幅及びオフセットとその他の道路形状パラメータを外部に出力する。候補線が補助線の場合は、補助線から車線区分線までのシフト量に対応する補正量を推定された道路幅及びオフセットに適宜加算することにより、実際の車線区分線の位置に対応する道路幅及びオフセットが得られる。一方、候補線が補助線でない場合は、補正量が０であるため、推定された道路幅及びオフセットは変更されない。
【００７２】
このように、左右それぞれの車線区分線の周辺について、最も内側に位置する複合エッジ線を候補線として用いることで、補助線が存在しない場合は、車線区分線のエッジ線が候補線として抽出される。また、内側に補助線が存在する場合は、その補助線のエッジ線が候補線として抽出される。いずれの場合も、候補線より内側にエッジ線は存在せず、候補線の内側の境界が他の線分と融合して形状が崩れることがないため、道路形状を安定して推定することができる。
【００７３】
ただし、候補線が補助線の場合は、推定される道路幅及びオフセットに誤差が含まれるため、別途算出した補助線から車線区分線までの補正量を加算することで誤差を補正し、常に正しい道路形状を推定することができる。車線区分線と補助線が分離される時点、つまり、車線区分線が車両の近傍に存在し解像度が高くなる時点で補正量を算出することで、安定して補正量を求めることができる。
【００７４】
したがって、車線区分線と平行に補助線がペイントされているような多重線路であっても、解像度の低下による補助線からの影響を受けずに、道路の路面を撮影した画像から精度良く道路形状を推定することができる。
【００７５】
図１３は、図１２のエッジ検出処理の例を示すフローチャートである。まず、エッジ検出部１１０２は、入力されるデジタル画像に対してソベルオペレータ等の微分オペレータを適用して横方向の微分処理を行い、輝度の変化が閾値以上であるようなエッジ点を検出する（ステップ１３０１）。
【００７６】
例えば、図１４のようなデジタル画像からは、図１５のような縦方向に並んだエッジ点の列が得られる。図１５では、検出されたエッジ点の位置が模式的に表されているが、実際には図１４の画像の各行の画素について微分処理が行われ、各行からエッジ点が検出される。
【００７７】
次に、検出されたエッジ点について、周囲画素の連結性を用いたラベル付け処理を行い、複数のエッジ点を統合してエッジ線を検出する（ステップ１３０２）。これにより、実線の車線区分線の全体、破線の車線区分線の１つの破線ブロック、補助線の１つの破線ブロック等の外形に対応するエッジ線が得られる。例えば、図１５のエッジ点からは、図１６のようなエッジ線が検出される。
【００７８】
次に、エッジ線の絞り込みを行う（ステップ１３０３）。この絞り込み処理では、まず、図１７に示すように、デジタル画像中に車線区分線を含む左右それぞれの領域ＲＬ及びＲＲを設けて、各領域の外に存在するエッジ線を除外する。
【００７９】
次に、領域ＲＬ及びＲＲ内の各エッジ線を挟む左右の画素の輝度値を調べる。左側の領域ＲＬ内のエッジ線は、左側の車線区分線に関係するので、その左側画素の輝度値が大きく右側画素の輝度値が小さい場合にそのエッジ線を残し、それ以外の場合にエッジ線を除外する。また、右側の領域ＲＲ内のエッジ線は、右側の車線区分線に関係するので、その左側画素の輝度値が小さく右側画素の輝度値が大きい場合にそのエッジ線を残し、それ以外の場合にエッジ線を除外する。
【００８０】
これにより、実線の車線区分線の全体、破線の車線区分線の１つの破線ブロック、補助線の１つの破線ブロック等のエッジ線のうち、内側のエッジ線のみが残され、外側のエッジ線は除外される。例えば、図１７のエッジ線のうち外側のエッジ線を除外すると、図１８に示すように、内側のエッジ線のみが残される。
【００８１】
次に、各エッジ線の路面上での長さを調べ、長いものから順に実線、破線、補助線、及びノイズの各線種に分類し、ノイズに分類された非常に短いエッジ線を除外する。エッジ線の上側端点の画像座標を（ｘ１、ｙ１）、下側端点の画像座標を（ｘ２、ｙ２）、画像中心の座標を（ｃｘ、ｃｙ）とすると、エッジ線の長さＬＬは、次式により与えられる。
ＬＬ＝Ｚ２−Ｚ１
Ｚ２＝ｆ・Ｈ／（ｆ・φ＋ｙ２−ｃｙ）
Ｚ１＝ｆ・Ｈ／（ｆ・φ＋ｙ１−ｃｙ）      （３１）
【００８２】
ただし、図５とは異なり、（ｘ１、ｙ１）、（ｘ２、ｙ２）、及び（ｃｘ、ｃｙ）は、画像の左上の点を画像座標系の原点として記述されている。式（３１）のＬＬと閾値ＴｈＬ１〜ＴｈＬ３を用いて、以下のように線種を分類することができる。
（１）ＬＬがＴｈＬ１以上：実線の車線区分線
（２）ＬＬがＴｈＬ１未満でＴｈＬ２以上：破線の車線区分線
（３）ＬＬがＴｈＬ２未満でＴｈＬ３以上：破線の補助線
（４）ＬＬがＴｈＬ３未満：ノイズ
【００８３】
ここでは、補助線の破線ブロックの長さが車線区分線の破線ブロックの長さより短いことを前提としている。ノイズに分類されたエッジ線を除外し、残されたエッジ線のうち左側の領域ＲＬ内のエッジ線の数をＮＬＬ、右側の領域ＲＲ内のエッジ線の数をＮＬＲとする。そして、領域ＲＬ内のエッジ線をＬＬｉ（ｉ＝１，２，．．．，ＮＬＬ）と記述し、領域ＲＲ内のエッジ線をＬＲｉ（ｉ＝１，２，．．．，ＮＬＲ）と記述する。
【００８４】
次に、エッジ線同士を画像の縦方向に連結して複合エッジ線を生成する（ステップ１３０４）。この複合エッジ線生成処理では、領域ＲＬ及びＲＲのそれぞれについて、エッジ線同士のすべての組み合わせを調べる。そして、２つのエッジ線の近い側の端点間のＸ方向の距離及びＺ方向の距離の双方が閾値以内であれば、それらのエッジ線を統合する。
【００８５】
図１９及び図２０は、左側の領域ＲＬにおける複合エッジ線生成処理の例を示すフローチャートである。まず、エッジ検出部１１０２は、処理済みのエッジ線を示すリストＦを｛０，０，．．．，０｝に初期化する（ステップ１９０１）。リストＦの要素数はＮＬＬであり、ｉ番目の要素Ｆ［ｉ］が１のとき、ｉ番目のエッジ線の処理が終了したことを表す。
【００８６】
次に、領域ＲＬ内のｉ番目のエッジ線を示す変数ｉに０を設定し（ステップ１９０２）、生成された複合エッジ線の数を示す変数ｍに０を設定する（ステップ１９０３）。そして、ｉを１だけインクリメントし（ステップ１９０４）、ｉをＮＬＬと比較する（ステップ１９０５）。
【００８７】
ｉがＮＬＬ以下であれば（ステップ１９０５，ＮＯ）、次に、Ｆ［ｉ］の値をチェックする（ステップ１９０６）。Ｆ［ｉ］が１であれば（ステップ１９０６，ＹＥＳ）、ステップ１９０４以降の処理を繰り返す。Ｆ［ｉ］が１でなければ（ステップ１９０６，ＮＯ）、Ｆ［ｉ］に１を設定し（ステップ１９０７）、ｍを１だけインクリメントする（ステップ１９０８）。
【００８８】
次に、ｍ番目の複合エッジ線に含まれるエッジ線の集合を表す統合リストＣＬＬｍに、エッジ線ＬＬｉを加える（ステップ１９０９）。そして、ｍ番目の複合エッジ線の線種ＴＬｍとして、エッジ線ＬＬｉの線種を設定する（ステップ１９１０）。
【００８９】
次に、領域ＲＬ内のｎ番目のエッジ線を示す変数ｎにｉを設定し（ステップ２００１）、ｎを１だけインクリメントして（ステップ２００２）、ｎとＮＬＬを比較する（ステップ２００３）。ｎがＮＬＬ以下であれば（ステップ２００３，ＮＯ）、エッジ線同士の組み合わせに含まれる一方のエッジ線ｃ１として、エッジ線ＬＬｎを選択する（ステップ２００４）。また、もう一方のエッジ線ｃ２として、統合リストＣＬＬｍ内のエッジ線のうち、エッジ線ｃ１の近い側の端点までの距離が最も近いエッジ線を選択する（ステップ２００５）。
【００９０】
次に、エッジ線ｃ１とエッジ線ｃ２の互いに近い側の端点の間で、Ｚ軸方向（奥行き方向）の距離ＤＺと、Ｘ軸方向（奥行き方向と直交する方向）の距離ＤＸとを、次式により算出する（ステップ２００６）。
ＤＺ＝｜Ｚ２−Ｚ１｜
Ｚ１＝ｆ・Ｈ／（ｆ・φ＋ｙ１−ｃｙ）
Ｚ２＝ｆ・Ｈ／（ｆ・φ＋ｙ２−ｃｙ）      （４１）
ＤＸ＝｜Ｘ２−Ｘ１｜
【００９１】
【数１０】
0005799784.tif 000011
【００９２】
（ｘ１、ｙ１）は、画像の上側に存在するエッジ線の端点の画像座標を表し、（ｘ２、ｙ２）は、下側に存在するエッジ線の端点の画像座標を表す。式（４１）及び（４２）は、路面座標系と画像座標系の幾何学的関係から求められる。
【００９３】
次に、ＤＸを閾値ＴｈＤＸと比較し（ステップ２００７）、ＤＺを閾値ＴｈＤＺと比較する（ステップ２００８）。ＤＸがＴｈＤＸ以下であり（ステップ２００７，ＹＥＳ）、ＤＺがＴｈＤＺ以下であれば（ステップ２００８，ＹＥＳ）、エッジ線ｃ１及びｃ２の線種を決定する（ステップ２００９）。ここでは、エッジ線ｃ１及びｃ２のうち画像の下側に存在する方の線種をｔ１とし、画像の上側に存在する方の線種をｔ２とする。
【００９４】
次に、線種ｔ１が補助線であるか否かをチェックする（ステップ２０１０）。線種ｔ１が補助線でない場合（ステップ２０１０，ＮＯ）、ｔ１とｔ２を比較する（ステップ２０１１）。そして、ｔ１とｔ２が一致していれば（ステップ２０１１，ＹＥＳ）、統合リストＣＬＬｍにエッジ線ｃ１を追加し（ステップ２０１２）、Ｆ［ｎ］に１を設定して（ステップ２０１３）、ステップ２００２以降の処理を繰り返す。
【００９５】
一方、線種ｔ１が補助線である場合は（ステップ２０１０，ＹＥＳ）、ステップ２０１２以降の処理を行う。また、ＤＸがＴｈＤＸより大きい場合（ステップ２００７，ＮＯ）、ＤＺがＴｈＤＺより大きい場合（ステップ２００８，ＮＯ）、又はｔ１とｔ２が一致しない場合（ステップ２０１１，ＮＯ）は、ステップ２００２以降の処理を繰り返す。
【００９６】
次に、ｎがＮＬＬを超えると（ステップ２００３，ＹＥＳ）、ステップ１９０４以降の処理を繰り返す。そして、ｉがＮＬＬを超えると（ステップ１９０５，ＹＥＳ）、生成された複合エッジ線の数ＮＣＬにｍを設定して（ステップ１９１１）、処理を終了する。
【００９７】
こうして得られた統合リストＣＬＬｍ（ｍ＝１，２，．．．，ＮＣＬ）には、左側のｍ番目の複合エッジ線に含まれる１つ以上のエッジ線が記録され、線種ＴＬｍには、左側のｍ番目の複合エッジ線の線種が記録される。生成された複合エッジ線は、実線の車線区分線の全体、破線の車線区分線の全体、補助線の全体等のエッジ線に対応する。
【００９８】
図１９及び図２０において添え字ＬをＲに置き換えれば、右側の領域ＲＲにおける複合エッジ線を生成する処理のフローチャートが得られる。統合リストＣＬＲｍ（ｍ＝１，２，．．．，ＮＣＲ）には、右側のｍ番目の複合エッジ線に含まれる１つ以上のエッジ線が記録され、線種ＴＲｍには、右側のｍ番目の複合エッジ線の線種が記録される。
【００９９】
例えば、図１８の複数のエッジ線からは、図２１に示すように、左側の２つの複合エッジ線２１０１及び２１０２と右側の２つの複合エッジ線２１０３及び２１０４が生成される。
【０１００】
図２２は、図１２の候補線決定処理１２０３において左側の複合エッジ線から候補線を決定する処理の例を示すフローチャートである。まず、候補線決定部１１０３は、統合リストＣＬＬｍに対応する複合エッジ線を示す変数ｍに０を設定する（ステップ２２０１）。そして、候補線に決定される複合エッジ線を示す変数ＳＬに−１を設定し（ステップ２２０２）、路面座標系のＸ座標の最小値を表す変数Ｘｍｉｎに十分大きな値ＸＧを設定する（ステップ２２０３）。路面上での距離の単位をメートルとすると、例えば、ＸＧとして１０００００程度の値を用いることができる。
【０１０１】
次に、ｍを１だけインクリメントし（ステップ２２０４）、ｍをＮＣＬと比較する（ステップ２２０５）。ｍがＮＣＬ以下であれば（ステップ２２０５，ＮＯ）、統合リストＣＬＬｍに含まれるエッジ線の端点のうち最も車両に近い端点ｐ（画像中で最も下側にある端点）の画像座標を（ｘ，ｙ）に設定する（ステップ２２０６）。そして、端点ｐの路面座標系におけるＸ座標を次式により算出する（ステップ２２０７）。
【０１０２】
【数１１】
0005799784.tif 000012
【０１０３】
次に、Ｘの絶対値｜Ｘ｜をＸｍｉｎと比較し（ステップ２２０８）、｜Ｘ｜がＸｍｉｎより小さければ（ステップ２２０８，ＹＥＳ）、Ｘｍｉｎに｜Ｘ｜を設定する（ステップ２２０９）。そして、ＳＬにｍを設定して（ステップ２２１０）、ステップ２２０４以降の処理を繰り返す。
【０１０４】
一方、｜Ｘ｜がＸｍｉｎ以上であれば（ステップ２２０８，ＮＯ）は、ステップ２２０４以降の処理を繰り返す。そして、ｍがＮＣＬを超えると（ステップ２２０５，ＹＥＳ）、処理を終了する。こうして、左側の候補線となる複合エッジ線の番号がＳＬに記録される。
【０１０５】
図２２において添え字ＬをＲに置き換えれば、右側の複合エッジ線から候補線を決定する処理のフローチャートが得られる。そして、右側の候補線となる複合エッジ線の番号がＳＲに記録される。
【０１０６】
図２３は、図１２の補助線判定処理１２０４において左側の候補線の線種を判定する処理の例を示すフローチャートである。まず、補助線判定部１１０６は、左側のＳＬ番目の複合エッジ線の線種ＴＬｍ（ｍ＝ＳＬ）が補助線であるか否かを判定する（ステップ２３０１）。線種ＴＬｍ（ｍ＝ＳＬ）が補助線であれば（ステップ２３０１，ＹＥＳ）、左側の候補線の線種を示すフラグＱＬに１を設定し（ステップ２３０２）、線種ＴＬｍ（ｍ＝ＳＬ）が補助線以外であれば（ステップ２３０１，ＮＯ）、フラグＱＬに０を設定する（ステップ２３０３）。
【０１０７】
図２３において添え字ＬをＲに置き換えれば、右側の候補線の線種を判定する処理のフローチャートが得られる。そして、右側の候補線の線種を示すフラグＱＲに１又は０が設定される。
【０１０８】
図２４及び図２５は、図１２の補正量推定処理１２０５において左側の候補線に対する補正量を求める処理の例を示すフローチャートである。まず、補正量推定部１１０７は、フラグＱＬをチェックする（ステップ２４０１）。ＱＬ＝０であれば（ステップ２４０１，ＹＥＳ）、候補線は補助線ではなく、車線区分線に該当すると判断できるため、補正量ＤＸＬを０に設定して（ステップ２４１３）、処理を終了する。
【０１０９】
一方、ＱＬ＝１であれば（ステップ２４０１，ＮＯ）、候補線は補助線であるため、候補線から補助線の幅だけ外側に位置する複合エッジ線の有無を調べる。そこで、そのような条件を満たす外側複合エッジ線の有無を示すフラグＵＬに−１を設定する（ステップ２４０２）。フラグＵＬの値が−１のとき、条件を満たす外側複合エッジ線が存在しないことを表し、フラグＵＬの値が１以上のとき、条件を満たす外側複合エッジ線が存在することを表す。
【０１１０】
次に、候補線であるＳＬ番目の複合エッジ線に含まれるエッジ線の端点のうち、最も車両に近い端点の画像座標を（ｘｓ，ｙｓ）に設定する（ステップ２４０３）。そして、その端点の路面座標系におけるＸ座標Ｘｓを次式により算出する（ステップ２４０４）。
【０１１１】
【数１２】
0005799784.tif 000013
【０１１２】
次に、条件を満たす外側複合エッジ線のＸ座標の範囲を示す最小値Ｘｍｉｎを次式により算出する（ステップ２４０５）。
Ｘｍｉｎ＝｜Ｘｓ｜＋Ｍｍｉｎ      （６２）
【０１１３】
また、その範囲の最大値Ｘｍａｘを次式により算出する（ステップ２４０６）。
Ｘｍａｘ＝｜Ｘｓ｜＋Ｍｍａｘ      （６３）
【０１１４】
Ｍｍｉｎ及びＭｍａｘは、補助線の幅に基づいて決められる閾値であり、ＭｍａｘはＭｍｉｎより大きい。ＸｍｉｎからＸｍａｘの範囲に複合エッジ線が存在すれば、その複合エッジ線が条件を満たす外側複合エッジ線に該当する。
【０１１５】
次に、左側のｍ番目の複合エッジ線を示す変数ｍに０を設定し（ステップ２４０７）、ｍを１だけインクリメントして（ステップ２４０８）、ｍをＮＣＬと比較する（ステップ２４０９）。ｍがＮＣＬ以下であれば（ステップ２４０９，ＮＯ）、次に、ｍをＳＬと比較する（ステップ２４１０）。ｍ＝ＳＬであれば（ステップ２４１０，ＹＥＳ）、ｍ番目の複合エッジ線は候補線と一致するため、ステップ２４０８の処理に戻って次の複合エッジ線を処理対象に選択する。
【０１１６】
一方、ｍがＳＬでなければ（ステップ２４１０，ＮＯ）、ｍ番目の複合エッジ線に含まれるエッジ線の端点のうち、最も車両に近い端点の画像座標を（ｘｃ，ｙｃ）に設定する（ステップ２４１１）。そして、その端点の路面座標系におけるＸ座標Ｘｃ及びＺ座標Ｚｃを次式により算出する（ステップ２４１２）。
【０１１７】
【数１３】
0005799784.tif 000014
【０１１８】
次に、Ｘｃの絶対値｜Ｘｃ｜をＸｍｉｎと比較し（ステップ２５０１）、｜Ｘｃ｜がＸｍｉｎ以上であれば（ステップ２５０１，ＹＥＳ）、｜Ｘｃ｜をＸｍａｘと比較する（ステップ２５０２）。｜Ｘｃ｜がＸｍａｘ以下であれば（ステップ２５０２，ＹＥＳ）、次に、ＵＬをチェックする（ステップ２５０３）。ＵＬ＝−１であれば（ステップ２５０３，ＹＥＳ）、条件を満たす外側複合エッジ線が初めて検出されたことになるので、ＵＬにｍを設定する（ステップ２５０４）。
【０１１９】
次に、Ｘｕの絶対値｜Ｘｕ｜に｜Ｘｃ｜を設定し（ステップ２５０５）、ＺｕにＺｃを設定して（ステップ２５０６）、ステップ２４０８以降の処理を繰り返す。Ｘｕ及びＺｕは、条件を満たす外側複合エッジ線に含まれるエッジ線の端点のうち、最も車両に近い端点のＸ座標及びＺ座標を表す。
【０１２０】
一方、ＵＬが−１でなければ（ステップ２５０３，ＮＯ）、条件を満たす別の外側複合エッジ線が新たに検出されたことになるので、Ｚｃを既に算出されているＺｕと比較する（ステップ２５０７）。ＺｃがＺｕより小さければ（ステップ２５０７，ＹＥＳ）、新たに検出された外側複合エッジ線が、以前に検出された外側複合エッジ線よりも車両に近い位置に存在することが分かる。そこで、ステップ２５０４以降の処理を行って、条件を満たす外側複合エッジ線の情報ＵＬ、｜Ｘｕ｜、及びＺｕを更新する。
【０１２１】
一方、ＺｃがＺｕ以上であれば（ステップ２５０７，ＮＯ）、新たに検出された外側複合エッジ線が、以前に検出された外側複合エッジ線よりも車両から遠い位置、又は以前に検出された外側複合エッジ線と同じ距離の位置に存在することが分かる。この場合、条件を満たす外側複合エッジ線の情報を更新することなく、ステップ２４０８以降の処理を繰り返す。
【０１２２】
また、｜Ｘｃ｜がＸｍｉｎより小さい場合（ステップ２５０１，ＮＯ）、又は｜Ｘｃ｜がＸｍａｘより大きい場合（ステップ２５０２，ＮＯ）は、ｍ番目の複合エッジ線が条件を満たさないことが分かる。そこで、ステップ２４０８の処理に戻って次の複合エッジ線を処理対象に選択する。
【０１２３】
そして、ｍがＮＣＬを超えると（ステップ２４０９，ＹＥＳ）、ＵＬをチェックする（ステップ２４１４）。ＵＬ＝−１であれば（ステップ２４１４，ＹＥＳ）、条件を満たす外側複合エッジ線が検出されなかったため、処理を終了する。ＵＬが−１でなければ（ステップ２４１４，ＮＯ）、条件を満たす外側複合エッジ線が検出されたため、補正量ＤＸＬを次式により算出する（ステップ２４１５）。
ＤＸＬ＝｜Ｘｕ｜−｜Ｘｓ｜      （６６）
【０１２４】
図２４及び図２５において添え字ＬをＲに置き換えれば、右側の候補線に対する補正量を求める処理のフローチャートが得られ、補正量ＤＸＲが求められる。求められた補正量ＤＸＬ及びＤＸＲは、格納部１１０８に格納される。これらの補正量は、道路中央から外側への向きを正の向きとするシフト量を表している。
【０１２５】
図１２の道路形状推定処理１２０６において、道路形状推定部１１０４は、左側の候補線であるＳＬ番目の複合エッジ線と、右側の候補線であるＳＲ番目の複合エッジ線に基づいて、道路形状パラメータを推定する。道路形状パラメータは、例えば、上述した式（９）を用いて推定することができる。画像の左上の点を画像座標系の原点として式（９）を書き改めると、次式が得られる。
【０１２６】
【数１４】
0005799784.tif 000015
【０１２７】
式（７１）は非線形式であるため、これを道路形状パラメータ（Ｗ，ρ，ｅ，θ，φ）に関して線形式になるように近似し、線形近似式を用いて最小二乗法で各パラメータを求める計算方法が考えられる。この計算方法では、誤差が閾値以下になるまで演算を繰り返す、いわゆる繰り返し演算によって、道路形状パラメータの推定値（Ｗｒ，ρｒ，ｅｒ，θｒ，φｒ）が求められる。
【０１２８】
左側又は右側の候補線に含まれるｊ番目のエッジ点（ｊ＝１，２，．．．，ＮＥ）の画像座標を（ｘｊ，ｙｊ）とし、式（７１）の右辺をＦ（Ｗ，ρ，ｅ，θ，φ）と記し、各パラメータを以下のように記す。
Ｗ＝Ｗ０＋ΔＷ
ρ＝ρ０＋Δρ
ｅ＝ｅ０＋Δｅ
θ＝θ０＋Δθ
φ＝φ０＋Δφ      （７２）
【０１２９】
ＮＥは、候補線に含まれるエッジ点の数を表し、（Ｗ０，ρ０，ｅ０，θ０，φ０）は各パラメータの初期値を表し、（ΔＷ，Δρ，Δｅ，Δθ，Δφ）は各パラメータの微小変化量を表す。Ｆ（Ｗ，ρ，ｅ，θ，φ）は非線形関数であるが、これを式（７２）を用いて線形化した関数Ｊは、次式で与えられる。
【０１３０】
【数１５】
0005799784.tif 000016
【０１３１】
ここで、残差ｓｊを次式のように定義する。
【０１３２】
【数１６】
0005799784.tif 000017
【０１３３】
残差ｓｊの二乗値を、フレーム内のすべての車線区分線上のエッジ点（ｊ＝１，２，．．．，ＮＥ）で積分した結果の１／２を総残差Ｓとする。
【０１３４】
【数１７】
0005799784.tif 000018
【０１３５】
最適パラメータはＳを最小にする値なので、Ｓを各パラメータで偏微分した結果を０と置く。例えば、ＳをＷで偏微分した結果を０と置くと、次式が得られる。
【０１３６】
【数１８】
0005799784.tif 000019
【０１３７】
他のパラメータについても同様の偏微分操作を行うことで、次式が得られる。
【０１３８】
【数１９】
0005799784.tif 000020
【０１３９】
式（７７）及び（７８）の連立方程式は、次式のように記述することができる。
【０１４０】
【数２０】
0005799784.tif 000021
【０１４１】
この連立一次方程式を解くことで、（ΔＷ，Δρ，Δｅ，Δθ，Δφ）が求められる。そして、各パラメータの値が十分小さくなるまで、次式の代入操作を行って演算を繰り返す。
【０１４２】
【数２１】
0005799784.tif 000022
【０１４３】
このような繰り返し演算により、最終的な道路形状パラメータ（Ｗｒ，ρｒ，ｅｒ，θｒ，φｒ）が求められる。
【０１４４】
ここで、左側のＳＬ番目の複合エッジ線に含まれるエッジ点ｅＬｊ（ｊ＝１，２，．．．，ＮＥＬ）の画像座標を（ｘＬｊ，ｙＬｊ）とし、右側のＳＲ番目の複合エッジ線に含まれるエッジ点ｅＲｊ（ｊ＝１，２，．．．，ＮＥＲ）の画像座標を（ｘＲｊ，ｙＲｊ）とする。ＮＥＬは、ＳＬ番目の複合エッジ線に含まれるエッジ点の数を表し、ＮＥＲは、ＳＲ番目の複合エッジ線に含まれるエッジ点の数を表す。
【０１４５】
ＳＬ番目の複合エッジ線に含まれるエッジ点の集合ＥＬは｛ｅＬ１，ｅＬ２，．．．，ｅＬＮＥＬ｝と記述され、ＳＲ番目の複合エッジ線に含まれるエッジ点の集合ＥＲは｛ｅＲ１，ｅＲ２，．．．，ｅＲＮＥＲ｝と記述される。このとき、道路形状推定処理の手順は、以下のようになる。
【０１４６】
１．（Ｗ０，ρ０，ｅ０，θ０，φ０）を現在の値に初期化する。
２．Ｒ１１＝Ｒ１２＝Ｒ１３＝Ｒ１４＝Ｒ１５＝Ｒ１６＝０
Ｒ２１＝Ｒ２２＝Ｒ２３＝Ｒ２４＝Ｒ２５＝Ｒ２６＝０
Ｒ３１＝Ｒ３２＝Ｒ３３＝Ｒ３４＝Ｒ３５＝Ｒ３６＝０
Ｒ４１＝Ｒ４２＝Ｒ４３＝Ｒ４４＝Ｒ４５＝Ｒ４６＝０
Ｒ５１＝Ｒ５２＝Ｒ５３＝Ｒ５４＝Ｒ５５＝Ｒ５６＝０
３．ｔｇｔ＝−１
４．ｔｇｔ＝ｔｇｔ＋１
５．ｉｆ  ｔｇｔ＝＝０  ｔｈｅｎ
エッジ集合Ｅ＝ＥＬ，ＮＥ＝ＮＥＬ，ｋ＝−１
ｅｌｓｅ  ｉｆ  ｔｇｔ＝＝１  ｔｈｅｎ
エッジ集合Ｅ＝ＥＲ，ＮＥ＝ＮＥＲ，ｋ＝１
ｅｌｓｅ  ｇｏｔｏ  １３  ｅｎｄｉｆ
６．ｊ＝０
７．ｊ＝ｊ＋１
８．ｉｆ  ｊ＞＝ＮＥ  ｔｈｅｎ  ｇｏｔｏ  ４  ｅｎｄｉｆ
９．エッジ集合Ｅからｊ番目の要素であるエッジ点の位置（ｘｊ，ｙｊ）を取得する。
１０．式（７３）及び（７５）から（ａｊ，ｂｊ，ｃｊ，ｄｊ，ｅｊ，ｆｊ）を算出する。
１１．Ｒ１１＋＝ａｊａｊ，Ｒ１２＋＝ａｊｂｊ，Ｒ１３＋＝ａｊｃｊ，Ｒ１４＋＝ａｊｄｊ，
Ｒ１５＋＝ａｊｅｊ，Ｒ１６＋＝ａｊｆｊ，
Ｒ２１＋＝ｂｊａｊ，Ｒ２２＋＝ｂｊｂｊ，Ｒ２３＋＝ｂｊｃｊ，Ｒ２４＋＝ｂｊｄｊ，
Ｒ２５＋＝ｂｊｅｊ，Ｒ２６＋＝ｂｊｆｊ，
Ｒ３１＋＝ｃｊａｊ，Ｒ３２＋＝ｃｊｂｊ，Ｒ３３＋＝ｃｊｃｊ，Ｒ３４＋＝ｃｊｄｊ，
Ｒ３５＋＝ｃｊｅｊ，Ｒ３６＋＝ｃｊｆｊ，
Ｒ４１＋＝ｄｊａｊ，Ｒ４２＋＝ｄｊｂｊ，Ｒ４３＋＝ｄｊｃｊ，Ｒ４４＋＝ｄｊｄｊ，
Ｒ４５＋＝ｄｊｅｊ，Ｒ４６＋＝ｄｊｆｊ，
Ｒ５１＋＝ｅｊａｊ，Ｒ５２＋＝ｅｊｂｊ，Ｒ５３＋＝ｅｊｃｊ，Ｒ５４＋＝ｅｊｄｊ，
Ｒ５５＋＝ｅｊｅｊ，Ｒ５６＋＝ｅｊｆｊ
１２．ｇｏｔｏ  ７
１３．連立方程式（７９）の解を数値計算により求める。
１４．解の収束性を検査する。
ｉｆ  ｜ΔＷ｜＞ＴｈＲ  ｏｒ  ｜Δρ｜＞ＴｈＲ  ｏｒ
｜Δｅ｜＞ＴｈＲ  ｏｒ  ｜Δθ｜＞ＴｈＲ  ｏｒ  ｜Δφ｜＞ＴｈＲ
ｔｈｅｎ
【数２２】
0005799784.tif 000023
ｇｏｔｏ  ２
ｅｌｓｅ
Ｗｒ＝Ｗ０，ρｒ＝ρ０，ｅｒ＝ｅ０，θｒ＝θ０，φｒ＝φ０
ｅｎｄｉｆ
１５．終了
【０１４７】
ＴｈＲは解の収束性を評価するための微小な閾値である。このような道路形状推定処理により、道路形状パラメータ（Ｗｒ，ρｒ，ｅｒ，θｒ，φｒ）が求められる。
【０１４８】
図１２の道路形状補正処理１２０７において、補正部１１０５は、格納部１１０８に格納された補正量ＤＸＬ及びＤＸＲを用いて、次式により道路形状パラメータ（Ｗｒ，ρｒ，ｅｒ，θｒ，φｒ）を補正する。
Ｗｒ＝Ｗｒ＋（ＤＸＬ＋ＤＸＲ）
ｅｒ＝ｅｒ＋（−ＤＸＬ＋ＤＸＲ）／２      （９１）
【０１４９】
以上説明した道路形状パラメータの計算式（１）〜（９１）は一例に過ぎず、別の座標系、別の前提条件等に基づいて異なる定式化を行っても構わない。また、図１０、図１２、図１３、図１９、図２０、及び図２２−図２５に示した各フローチャートは一例に過ぎず、道路形状推定装置の構成や条件に応じて一部の処理を省略又は変更してもよい。
【０１５０】
図２６は、道路形状推定装置を用いた車線逸脱警報システムの構成例を示している。図２６の車線逸脱警報システムは、カメラ１２０１、道路形状推定装置２６０１、距離計算装置２６０２、逸脱判定装置２６０３、及び逸脱警報装置２６０４を含む。道路形状推定装置２６０１の動作は上述した通りである。
【０１５１】
距離計算装置２６０２は、道路形状推定装置２６０１から出力される道路形状パラメータに基づいて、車両と左右の車線区分線との距離を計算する。逸脱判定装置２６０３は、計算された距離を閾値と比較して、車両が車線を逸脱したか否かを判定する。逸脱警報装置２６０４は、車両が車線を逸脱した場合に警報を出力する。これにより、運転者は、直ちに車両を操舵して車線に戻すことが可能になる。
【０１５２】
図２７は、道路形状推定装置を用いた車両操舵システムの構成例を示している。図２７の車両操舵システムは、カメラ１２０１、道路形状推定装置２６０１、距離計算装置２６０２、ふらつき判定装置２７０１、及び車両操舵装置２７０２を含む。
【０１５３】
ふらつき判定装置２７０１は、距離計算装置２６０２により計算された距離を閾値と比較して、車両がふらついているか否かを判定する。車両操舵装置２７０２は、車両がふらついている場合に、車線上での走行を維持するように車両を自動操舵して、車両のふらつきを解消する。これにより、車線からの逸脱を未然に防止することが可能になる。
【０１５４】
図９、図１１、図２６、及び図２７の道路形状推定装置は、例えば、図２８に示すような情報処理装置（コンピュータ）を用いて実現可能である。
図２８の情報処理装置は、映像入力部１１０１、Central Processing Unit （ＣＰＵ）２８０１、メモリ２８０２、出力部２８０３、外部記憶装置２８０４、媒体駆動装置２８０５、及びネットワーク接続装置２８０６を備える。これらはバス２８０７により互いに接続されている。
【０１５５】
メモリ２８０２は、例えば、Read Only Memory（ＲＯＭ）、Random Access Memory（ＲＡＭ）、フラッシュメモリ等の半導体メモリであり、処理に用いられるプログラム及びデータを格納する。例えば、ＣＰＵ２８０１は、メモリ２８０２を利用してプログラムを実行することにより、道路形状推定装置の処理を行う。メモリ２８０２は、図９の格納部９１５又は図１１の格納部１１０８としても使用できる。
【０１５６】
映像入力部１１０１は、カメラからの映像信号を取り込み、時系列な画像としてメモリ２８０２に格納する。出力部２８０３は、例えば、外部装置とのインタフェースであり、道路形状パラメータを含む処理結果の出力に用いられる。
【０１５７】
外部記憶装置２８０４は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置、テープ装置等である。この外部記憶装置２８０４には、ハードディスクドライブも含まれる。情報処理装置は、外部記憶装置２８０４にプログラム及びデータを格納しておき、それらをメモリ２８０２にロードして使用することができる。
【０１５８】
媒体駆動装置２８０５は、可搬型記録媒体２８０８を駆動し、その記録内容にアクセスする。可搬型記録媒体２８０８は、メモリデバイス、フレキシブルディスク、光ディスク、光磁気ディスク等である。この可搬型記録媒体２８０８には、Compact Disk Read Only Memory （ＣＤ−ＲＯＭ）、Digital Versatile Disk（ＤＶＤ）、Universal Serial Bus（ＵＳＢ）メモリ等も含まれる。ユーザ又はオペレータは、この可搬型記録媒体２８０８にプログラム及びデータを格納しておき、それらをメモリ２８０２にロードして使用することができる。
【０１５９】
このように、各種処理に用いられるプログラム及びデータを格納するコンピュータ読み取り可能な記録媒体には、メモリ２８０２、外部記憶装置２８０４、及び可搬型記録媒体２８０８のような、物理的な（非一時的な）記録媒体が含まれる。
【０１６０】
ネットワーク接続装置２８０５は、通信ネットワークに接続され、通信に伴うデータ変換を行う通信インタフェースである。情報処理装置は、プログラム及びデータを外部の装置からネットワーク接続装置２８０５を介して受け取り、それらをメモリ２８０２にロードして使用することもできる。
【０１６１】
なお、情報処理装置が図２８のすべての構成要素を含む必要はなく、用途や条件に応じて一部の構成要素を省略することも可能である。例えば、情報処理装置が可搬型記録媒体２８０８にアクセスしない場合は、媒体駆動装置２８０５を省略してもよく、情報処理装置が通信ネットワークに接続されない場合は、ネットワーク接続装置２８０５を省略してもよい。
【０１６２】
開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができるであろう。
【符号の説明】
【０１６３】
１０１、１０２、２０１、２０２、３０１、３０２、７１１、７１２  車線区分線
１０３、１０４、２０３、２０４、３０３、３０４、７２１、７２２  補助線
２０５、２０６、３０５、３０６  エッジ線
６０１〜６０６、７３１、７３２、７４１、７４２  内側境界線
７０１、７０２  領域
８０１〜８０４、８１１〜８１３  位置
９０１、２６０１  道路形状推定装置
９１１、１１０２  エッジ検出部
９１２、１１０４  道路形状推定部
９１３、１１０５  補正部
９１４、１１０７  補正量推定部
９１５、１１０８  格納部
１１００  カメラ
１１０１  映像入力部
１１０３  候補線決定部
１１０６  補助線判定部
２１０１、２１０２、２１０３、２１０４  複合エッジ線
２６０２  距離計算装置
２６０３  逸脱判定装置
２６０４  逸脱警報装置
２７０１  ふらつき判定装置
２７０２  車両操舵装置
２８０１  ＣＰＵ
２８０２  メモリ
２８０３  出力部
２８０４  外部記憶装置
２８０５  媒体駆動装置
２８０６  ネットワーク接続装置
２８０７  バス
２８０８  可搬型記録媒体
【図１】
0005799784.tif 000024
【図２】
0005799784.tif 000025
【図３】
0005799784.tif 000026
【図４】
0005799784.tif 000027
【図５】
0005799784.tif 000028
【図６】
0005799784.tif 000029
【図７】
0005799784.tif 000030
【図８】
0005799784.tif 000031
【図９】
0005799784.tif 000032
【図１０】
0005799784.tif 000033
【図１１】
0005799784.tif 000034
【図１２】
0005799784.tif 000035
【図１３】
0005799784.tif 000036
【図１９】
0005799784.tif 000037
【図２０】
0005799784.tif 000038
【図２２】
0005799784.tif 000039
【図２３】
0005799784.tif 000040
【図２４】
0005799784.tif 000041
【図２５】
0005799784.tif 000042
【図２６】
0005799784.tif 000043
【図２７】
0005799784.tif 000044
【図２８】
0005799784.tif 000045
【図１４】
0005799784.tif 000046
【図１５】
0005799784.tif 000047
【図１６】
0005799784.tif 000048
【図１７】
0005799784.tif 000049
【図１８】
0005799784.tif 000050
【図２１】
0005799784.tif 000051