(57)【要約】【課題】路面における区画線の線種を高精度に判定可能な区画線認識装置を実現する。【解決手段】ステップ３０１で、各カメラにより撮像された画像から特徴量を抽出する。これは、特徴点抽出部の処理に相当する。次のステップ３０２は、抽出された特徴量を共通座標である俯瞰座標に変換する。これは座標変換部の処理に相当する。次に、ステップ３０３で、選択するカメラを判定する。これはカメラ判定部の処理である。次に、ステップ３０４では、ステップ３０３で選択されたカメラの特徴点座標を用い、俯瞰座標上での特徴点出現位置の状態遷移を判定する。これは、状態遷移判定部の処理である。最後に、ステップ３０５で、線種を判定する。これは線種判定部の処理である。【選択図】図３
2018097782.tif 000002
【特許請求の範囲】
【請求項１】
複数のカメラと、
上記複数のカメラのそれぞれにより撮像された道路の路面の画像から特徴点を抽出する特徴点抽出部と、
上記特徴点抽出部が抽出した特徴点の座標を、上記複数のカメラに共通する俯瞰座標系の座標に変換する座標変換部と、
上記複数のカメラのうち、利用可能なカメラを判定するカメラ判定部と、
上記カメラ判定部によって利用可能と判定されたカメラにより撮像された画像から抽出された特徴点の状態遷移を判定する状態遷移判定部と、
上記状態遷移判定部による上記状態遷移の判定結果に基づいて、区画線の線種を判定する線種判定部と、
を備えることを特徴とする区画線認識装置。
【請求項２】
請求項１に記載の区画線認識装置において、
上記複数のカメラは、少なくとも２つのカメラであり、移動体の左右の側面に配置されることを特徴とする区画線認識装置。
【請求項３】
請求項２に記載の区画線認識装置において、
上記複数のカメラは、４つのカメラであり、移動体の左右の側面、前方及び後方に配置されることを特徴とする区画線認識装置。
【請求項４】
請求項３に記載の区画線認識装置において、
上記状態遷移判定部は、上記複数のカメラのうち、前方及び後方に配置されたカメラのうちの少なくとも１つのカメラにより撮像された画像を用いて、移動体の車線変更を判定することを特徴とする区画線認識装置。
【請求項５】
請求項１に記載の区画線認識装置において、
上記状態遷移判定部は、上記特徴点の集合であるセグメントの出現状態を表すノードの遷移状態を示す、予め定められた状態遷移モデルを用いて、上記状態遷移を判定し、区画線の線種を判定することを特徴とする区画線認識装置。
【請求項６】
請求項１ないし５のうちのいずれか一項に記載の区画線認識装置において、
上記カメラ判定部は、上記複数のカメラのレンズ汚れを判定し、レンズが汚れているカメラ除いたカメラを利用可能と判定することを特徴とする区画線認識装置。
【請求項７】
請求項６に記載の区画線認識装置において、
上記カメラ判定部は、上記複数のカメラにより撮像された画像から抽出された特徴点の位置関係を用いて、上記区画線以外の部分から特徴点が抽出されたカメラを特定し、当該特定されたカメラ以外のカメラを利用可能なカメラと判定することを特徴とする区画線認識装置。
【請求項８】
請求項６に記載の区画線認識装置において、
上記カメラ判定部は、上記複数のカメラにより撮像された画像から抽出された特徴点の位置関係を用いて、上記複数のカメラの信頼度を算出し、算出した信頼度が一定値以下であるカメラを特定し、当該特定されたカメラ以外のカメラを利用可能なカメラと判定することを特徴とする区画線認識装置。
【請求項９】
請求項１ないし８のうちのいずれか一項に記載の区画線認識装置において、
上記道路がカーブであるときは、上記座標変換部は、上記複数のカメラから得られた特徴点の位置を用いて曲線近似し、曲線近似の結果を用いて上記特徴点を直線状に並べ替えることを特徴とする区画線認識装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両走行環境における路面標示を認識する区画線認識装置に関する。
【背景技術】
【０００２】
路面標示を認識する区画線認識装置として、例えば、特許文献１に記載された技術がある。特許文献１に記載された区画線認識装置は、車両の前方の路面を含んで撮像する撮像手段（単一の前方カメラ）と、当該撮像手段の出力する画像情報から路面内のエッジ点を抽出するエッジ点抽出手段と、エッジ点から区画線に相当する可能性を有する線分群を抽出する線分抽出手段と、線分群から区画線に相当する線分を検出する検出手段と、検出を確定する確定手段とを含んでいる。
【０００３】
そして、確定手段は、上記検出手段による検出が所定未検出回数以上なされない場合に、所定再検出回数以上連続して検出手段による検出がされた場合に、当該検出を確定するように構成されている。
【０００４】
また、特許文献２には、画像情報から自車の走行している車線を認識する車線認識装置において、車両に設置され、車線左右に設けられている道路区画線の異なる部分を撮影する複数のカメラと、これらのカメラそれぞれに対応して設けられ、画像中の道路区画線を認識する複数の道路区画線認識部と、道路区画線認識部の各認識結果を照合することにより認識の成否を判定する判定部とを備えることが記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−３６３４号公報
【特許文献２】特開２００２−９２７９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１は、フロントカメラ単体の認識状態の状態遷移を用いて区画線の検知を確定させる技術を開示している。
【０００７】
しかしながら、特許文献１に記載された技術にあっては、単一カメラを用いているため、区間線に関して、遷移不検知・誤検知が発生してもそれらを排除する手段が無く、線種判定の際には不検知・誤検知がそのまま反映されてしまう。
【０００８】
このように、単一カメラによる検知結果の信頼性には限界がある。
【０００９】
一方、特許文献２は、車両が走行中の車線における白線の検知において、複数のカメラで同一の白線を検知し、それらの結果を照合することで白線であるか否かを判定する技術が開示されている。
【００１０】
この場合は、複数のカメラの互いの結果を照合することで、いずれかのカメラが不検知・誤検知の可能性があっても、それを知ることができる。
【００１１】
しかしながら、特許文献２に記載の技術にあっては、カメラの汚れ等によって、同一の白線を常に複数のカメラで検知できるとは限らない。例えば、前方または後方のカメラが汚れていたり、渋滞で白線が見えなかったりする場合には機能しない。
【００１２】
また、特許文献２に記載の技術は、不検知・誤検知の可能性がわかるだけであり、線種を判定する技術に関しては開示されていない。
【００１３】
また、画像の各フレームにおいて白線が見える周期に基づいて線種判定する方法も考えられる。
【００１４】
しかし、白線の見え方は車両と白線との距離に依存する。例えば、車両が白線から遠い場合、複数本の破線が見える可能性があり、白線に近ければ１本しか見えない可能性もある。また、車両が白線から遠い場合、破線が一本の実線に見える可能性があり、白線に近ければ、実際は破線である可能性もある。
【００１５】
これらの画像を、エッジ強度の総和等、同じ基準で評価しても、適切な周期の値を得ることは困難であり、区間線の線種判定が困難であった。
【００１６】
本発明の目的は、路面における区画線の線種を高精度に判定可能な区画線認識装置を実現することである。
【課題を解決するための手段】
【００１７】
上記目的を達成するため、本発明は次のように構成される。
【００１８】
区画線認識装置において、
複数のカメラと、上記複数のカメラのそれぞれにより撮像された道路の路面の画像から特徴点を抽出する特徴点抽出部と、上記特徴点抽出部が抽出した特徴点の座標を、上記複数のカメラに共通する俯瞰座標系の座標に変換する座標変換部と、上記複数のカメラのうち、利用可能なカメラを判定するカメラ判定部と、上記カメラ判定部によって利用可能と判定されたカメラにより撮像された画像から抽出された特徴点の状態遷移を判定する状態遷移判定部と、上記状態遷移判定部による上記状態遷移の判定結果に基づいて、区画線の線種を判定する線種判定部と、を備える。
【発明の効果】
【００１９】
本発明によれば、路面における区画線の線種を高精度に判定可能な区画線認識装置を実現することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の一実施例における区画線認識装置の概略構成図である。
【図２】本発明の一実施例におけるソフトウェア構成の例を示す図である。
【図３】本発明の一実施例における概略処理フローチャートである。
【図４】特徴点抽出部の処理フローチャートである。
【図５】座標変換部の処理フローチャートである。
【図６】カメラ判定部の処理フローチャートである。
【図７】図６に示したステップ６０２の誤検知判定の処理フローチャートである。
【図８】図７に示したステップ７０１のスコア化の処理フローチャートである。
【図９】特徴点の出現の一例を示す図である。
【図１０】全てのセグメントの組合せについて実行し、生成したデータを示す表である。
【図１１】ステップ７０２の信頼度の判定処理フローチャートである。
【図１２】ステップ７０２の信頼度の判定を図１０のデータ１００１に対して適用する様子の説明図である。
【図１３】車両１３０１の周辺領域を俯瞰座標に基づいて分割した領域の定義を説明する図である。
【図１４】区画線が破線の状態遷移モデルを示す図である。
【図１５】ノードを車速に応じて予測して、破線の状態遷移に合致するか否かを判断する例の説明図である。
【図１６】状態遷移モデルの、どのノードにいるかを判定する処理フローチャートである。
【図１７】線種を判定するフローチャートである。
【図１８】特徴点の出現事例を示す図である。
【図１９】内部で保持するデータ構造を示す表である。
【図２０】図１６に示したステップ１６０２のマスク領域判定の処理フローチャートである。
【図２１】サイドカメラが信頼できないとされた場合における破線の状態遷移モデルを示す図である。
【図２２】カーブに対応するために必要な処理のフローチャートである。
【図２３】カーブ対応処理を模式的に示した図である。
【図２４】車線変更時の処理フローチャートである。
【図２５】道路種別とそれに対応する道路幅員の関係を示す道路別区画線情報の例を示す図である。
【図２６】破線間隔に応じた白線捕捉領域の処理フローチャートである。
【発明を実施するための形態】
【００２１】
以下、本発明の実施例について添付図面を参照して説明する。なお、上記した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
【実施例】
【００２２】
以下、本発明を車両における区画線認識装置に適用した場合の例について説明する。
【００２３】
図１は、本発明の一実施例における区画線認識装置の概略構成図である。
【００２４】
図１において、区画線認識装置は、車両前方を監視するためのフロントカメラ１０１−Ｆｒと、車両後方を監視するためのリアカメラ１０１−Ｒｒと、車両左側方を監視するための左サイドカメラ１０１−ＳＬと、車両右側方を監視するための右サイドカメラ１０１−ＳＲと、これら複数のカメラ（複数の撮像部）からの画像を処理する画像処理装置１０２と、地図情報等を記憶するための記憶装置１０３とを備えている。
【００２５】
また、区画線認識装置は、ＣＰＵ１０４と、メモリ１０５と、ＣＡＮ  Ｉ／Ｆ  １０６とを備えている。
【００２６】
ＣＰＵ１０４は、画像処理装置１０２の処理結果を用いて車両の自車線、隣接車線を構成する白線の情報をメモリ１０５に蓄える。そして、その情報をＣＡＮ  Ｉ／Ｆ  １０６を通じてＣＡＮバス１０７に伝送し、車両制御ユニット１０８に送る。
【００２７】
図２は、本発明の一実施例におけるソフトウェア構成の例であり、画像処理装置１０２及びＣＰＵ１０４の内部機能ブロックを含む図である。
【００２８】
図２において、各カメラ１０１−Ｆｒ、１０１−Ｒｒ、１０１−ＳＬ、及び１０１−ＳＲに対応して、特徴点抽出部２０１（２０１−ＳＬ、２０１−ＳＲ、２０１―Ｒｒ、２０１−Ｆｒ）、座標変換部２０２（２０２−ＳＬ、２０２−ＳＲ、２０２―Ｒｒ、２０２−Ｆｒ）が備えられている。
【００２９】
特徴点抽出部２０１は、画像処理装置１０２に設けられており、カメラ１０１（カメラ１０１−Ｆｒ、１０１−Ｒｒ、１０１−ＳＬ、及び１０１−ＳＲ）で撮影された画像から特徴点を抽出する。特徴点を抽出する手法は、例えば、輝度値が黒色相当と白色相当の境界エッジを用いる手法が存在する。それらの距離が白線幅相当であれば特徴点とする。その他にも様々な手法が考えられるが、本実施例においてはどのような手法であっても構わない。
【００３０】
座標変換部２０２は、画像処理装置１０２に設けられており、特徴点抽出部２０１で得られた特徴点の座標を俯瞰座標に変換するものである。俯瞰座標に変換された結果は、メモリ１０５に設けられた共通座標バッファメモリ２０６に集約される。
【００３１】
カメラ判定部２０３は、どのカメラから検知された特徴点を採用するかを判定する。各カメラの汚れ方、各カメラが白線を誤検知していないかを判定し、適切なカメラを選択する（利用可能なカメラ（撮像部）を判定する）。
【００３２】
また、状態遷移判定部２０４は、共通座標バッファメモリ２０６に集約された特徴点の出現位置を判定し、各位置における特徴点セグメント（特徴点の集合）の有無の状況を状態遷移モデルのノード（特徴点セグメントの出現状態）として確定する。更に、前フレームのノードからの遷移を判定し、破線の状態遷移モデルに合致するか否かを判定する。尚、特徴点セグメントは、互いの距離が近い特徴点の集合である。例えば、互いの距離が１０ｃｍ以内である特徴点の集合、といった定義である。
【００３３】
線種判定部２０５は、状態遷移判定部２０４の結果に基づいて線種を判定する。
【００３４】
カメラ判定部２０３、状態遷移判定部２０４、及び線種判定部２０５は、ＣＰＵ１０４内の機能ブロックである。
【００３５】
なお、本実施例では、道路を路面上の区画線として実線、破線及びこれらの不検知を扱うことにする。線種の判定は、遷移状況が破線の状態遷移モデルに合致する、誤検知や不検知の状況ではないことを以って破線と判定する。そうでない場合には、実線あるいは不検知となる。詳細な処理については後述する。
【００３６】
図３は、本実施例における概略処理フローチャートである。この処理フローチャートは、画像１フレーム分の処理である。
【００３７】
まず、図３のステップ３０１で、各カメラ１０１（１０１−ＳＬ、１０１−ＳＲ、１０１−Ｒｒ、１０１−Ｆｒ）により撮像された画像から特徴量を抽出する。これは、特徴点抽出部２０１の処理に相当する。
【００３８】
次のステップ３０２は、抽出された特徴量を共通座標である俯瞰座標に変換する。これは座標変換部２０２の処理に相当する。
【００３９】
次に、ステップ３０３で、選択するカメラを判定する。これはカメラ判定部２０３の処理である。
【００４０】
次に、ステップ３０４では、ステップ３０３で選択されたカメラの特徴点座標を用い、俯瞰座標上での特徴点出現位置の状態遷移を判定する。これは、状態遷移判定部２０４の処理である。
【００４１】
最後に、ステップ３０５で、線種を判定する。これは線種判定部２０５の処理である。
【００４２】
図４は、特徴点抽出部２０１の処理フローを示した図である。ここでは、車両に搭載されるフロントカメラとリアカメラを想定して説明する。
【００４３】
まず、図４のステップ４０１で、カメラ１０１から入力された画像からエッジを抽出する。エッジ抽出の手法としては、例えばソーベルフィルタ等の微分フィルタを用いてエッジ画像を作成する手法が好適である。あるいは、輝度に応じて画像全体を路面、白線、それ以外に分類し、各分類の境界をエッジとみなして抽出してもよい。
【００４４】
次に、抽出した各エッジについてエッジ強度を調べ、強度の極大、極小となるエッジを探索する（ステップ４０２）。これはまず、各ｙ座標において、左から右へ（ｘ座標の小さい方から大きい方へ）エッジを探索し、エッジ強度が正になるエッジ（輝度低から輝度高になる境界）を探す。更に、右へ探索し、エッジ強度が負になるエッジ（輝度高から輝度低になる境界）を探す。
【００４５】
これらのエッジのｘ座標の互いの差分が閾値の範囲に入っているか否かを判定し（ステップ４０３）、閾値以内であれば、それらのうち、自車に近い方のエッジ座標を特徴点として保存する（ステップ４０４）。これを全エッジ座標について実行することで、白線特徴量を抽出することができる。
【００４６】
なお、サイドカメラの場合はｘ、ｙ座標の扱いを逆にする必要がある。例えば、図４に示したフローチャートでｘ、ｙ座標の扱いを逆にするか、画像を９０°回転して処理するかのいずれかにすれば、同様の処理が可能である。
【００４７】
図５は、座標変換部２０２の処理フローである。区画線の判定処理には、俯瞰座標を用いるのが好適であり、図５に示した処理フローはそれを前提にしたものである。
【００４８】
まず、図５のステップ５０１で、各カメラ１０１の外部パラメータと内部パラメータを取得する。これはキャリブレーションと呼ばれる処理であり、種々の技術が開示されている。このキャリブレーション処理は、自動車の出荷時に１回だけ実施する場合や、走行中に常時リアルタイムに実行される場合など、様々である。
【００４９】
本実施例においては、既に保持しているキャリブレーション結果を取得しても、走行中にその都度実行してもよい。
【００５０】
次に、各カメラ画像中の全特徴点につき、カメラ１０１のパラメータを用いて俯瞰座標に変換する（ステップ５０２）。一般的に、画像座標と俯瞰座標の関係は、カメラの外部パラメータと内部パラメータによって記述が可能である。俯瞰座標への変換後、結果をバッファリングする（ステップ５０３（共通座標バッファメモリ２０６に格納する））。
【００５１】
図５に示したステップは、カメラ１０１の数及び特徴点の数だけ実行される。
【００５２】
次に、カメラ判定部２０３の処理について説明する。カメラ判定部２０３では、汚れているカメラを排除したり、白線以外の部分から特徴点を抽出していると考えられる特徴点セグメントを排除したりする。
【００５３】
図６は、カメラ判定部２０３の処理フローを示す図であり、図３のステップ３０３の処理に相当するフローを示す図である。これは、カメラ１０１それぞれに対して実行するものである。
【００５４】
まず、図６のステップ６０１で、レンズ汚れの判定を実行する。この手法は、例えば特開２０１４−０２７５３９号公報等に開示されているような方法（レンズの輝度勾配に基づいてレンズ表面の白濁度を算出する方法）が適用可能である。
【００５５】
カメラ１０１すべてについて汚れ判定が終了したら、ステップ６０２の誤検知判定に移る。この誤検知判定は、各カメラ１０１で抽出された特徴点の座標に基づいて、誤検知か否かを判定するものであり、「汚れ無し」と判定されたカメラの特徴点座標に基づいて実行される。ステップ６０２の処理については後述する。
【００５６】
なお、汚れが無いカメラが無い場合は、誤検知の判断は不可となる。
【００５７】
次に、汚れ無しのカメラ１０１を対象に、ステップ６０２の誤検知判定結果を得て（ステップ６０３）、誤検知しているか否かを判断する。誤検知していなければステップ６０５に進んで、誤検知していないと判断されたカメラ１０１から得られた特徴点の俯瞰座標を共通座標バッファメモリ２０６に展開する（後述する図１９に示すデータ構造としてのように共通座標バッファメモリ２０６に格納される）。
【００５８】
図７は、図６に示したステップ６０２の誤検知判定の処理フローである（区画線である白線以外の部分から特徴点が抽出されたカメラを、誤検知しているカメラと判定（特定）するための処理フロー）。まず、図７のステップ７０１で、各カメラ１０１から抽出された特徴点セグメント同士の距離をスコア化する。次に、そのスコアを用いて、各特徴点セグメントの信頼度を判定し、信頼度が閾値以上の特徴点セグメントを残す（ステップ７０２）。ステップ７０１、７０２の処理について、図を用いて更に説明する。
【００５９】
図８は、図７に示したステップ７０１のスコア化の処理フローである。
【００６０】
まず、図８のステップ８０１で、自分以外の特徴点セグメント（対象とする特徴点セグメント以外の特徴点セグメント）を選択する。つまり、自分と、選択したセグメントとの関係をスコア化するということである。この両者が、自車からみて同じ側（路面の右側か左側）にあるかを判定する（ステップ８０２）。同じ側であれば、ステップ８０３の式（次式（１）、（２））にしたがってスコアを計算する。
【００６１】
距離誤差＝│ｘ座標平均の差分│      ・・・（１）
スコア＝３０−距離誤差［ｃｍ］      ・・・（２）
これは同じ側のセグメントの場合、距離差が３０ｃｍ以内であれば同じ白線から抽出された特徴点であるとみなすということである。そして、スコアは、距離差が３０ｃｍ以内であれば正になるように設定する。
【００６２】
一方、互いに反対側のセグメントの場合には、ステップ８０４の式（次式（３）、（４））にしたがってスコアを計算する。
【００６３】
距離誤差＝││セグメント間距離│−３５０│      ・・・（３）
スコア＝６０−距離誤差［ｃｍ］      ・・・（４）
上記式（３）において、３５０は車線幅（ｃｍ）である。
【００６４】
セグメントが互いに反対側であれば、それらのセグメント間距離は車線幅相当のはずである。したがって、距離誤差はセグメント間距離と車線幅との差分である。そして、スコアは、６０ｃｍから距離誤差を減算したものである。
【００６５】
セグメントが同じ側にある場合には距離差が３０ｃｍ以内であれば同じ白線とみなすため、セグメントが互いに反対側にあれば、距離差がその２倍の６０ｃｍ以内であれば位置関係として妥当である。そして、距離差が６０ｃｍ以内の場合に正になるよう、スコアを設定する。スコアを計算した後、ステップ８０５にてスコアをバッファリングする（メモリ１０５に格納する）。これを全セグメントについて実行する。
【００６６】
ただし、図８で使用した３０ｃｍあるいは６０ｃｍという値は、本実施例の説明のための値であり、実施する際には適切に調整する必要がある。
【００６７】
次に、図７及び図８に示したステップ７０１のスコア化の処理につき、図９に示した特徴点の出現例を想定して述べる。図９の丸１〜丸６の線分は、それぞれ、フロント左、左サイド、リア左、フロント右、右サイド、リア右におけるセグメントを示している。この位置関係に対し、図８のステップ８０３、８０４に示したように（式（１）〜（４））、２本の白線の相対的な距離誤差を定義し、すべての白線の組合せについてスコアを算出する。
【００６８】
図９において、座標系は自車中心を原点とする俯瞰座標系である。なお、図９に示した単位はｃｍとし、丸１〜丸６のセグメントにおけるｘ座標平均値はそれぞれ、−１７０、−２４０、−１６８、−１８０、２８０、１８１とする。
【００６９】
例えば、図９に示したセグメント丸１とセグメント丸２との関係をスコア化する場合を考える。セグメント丸１とセグメント丸２は、自車からみて同じ側にあり、セグメント丸１の距離は−１７０であり、セグメント丸２の距離は−２４０であり、距離誤差は｜−１７０−（−２４０）｜＝７０となるため、スコアは３０−７０＝−４０となる。
【００７０】
また、セグメント丸１とセグメント丸４との関係をスコア化すると、セグメント丸１とセグメント丸４は、自車からみて互いに異なる側にあり、セグメント丸４の距離は１８０であるから、距離誤差は｜｜（−１７０−１８０）｜−３５０｜＝０となり、スコアは６０−０＝６０となる。
【００７１】
これらの計算をセグメント丸１〜丸６の全てのセグメントの組合せについて実行する。図１０は、セグメント丸１〜丸６の全てのセグメントの組合せについて実行し、生成したデータ１００１を示す表である。
【００７２】
ここでは、車線幅を３５０ｃｍと仮定して説明したが、実際は道路によって車線幅が異なる。異なる車線幅に対応するためには、例えばカーナビゲーションシステムから走行中の道路種別を得て、その種別に見合った車線幅を設定することが好適である。あるいは、走行中の道路の車線幅をカーナビゲーションシステムから得ても良い。
【００７３】
図２５は、道路種別とそれに対応する道路幅員の関係を示す道路別区画線情報の例を示す図である。図２５において、道路別区画線情報２５０１は、カーナビゲーションシステムが用いる地図データから得られる情報であり、例えばテキストデータあるいはデータベースとして記憶装置１０３に格納されるデータである。
【００７４】
なお、道路別区画線情報２５０１に示した道路種別や道路幅員、破線間隔は一例であり、これらに限定されるものではない。このデータを参照することで、車線幅を得ることが可能である。
【００７５】
次に、図７のステップ７０２の信頼度の判定処理につき説明する。図１１は、ステップ７０２の信頼度の判定処理フローである。
【００７６】
図１１において、まず、全ての特徴点セグメントに対して、スコアの合計を計算する（ステップ１１０１）。次に、ステップ１１０２では、スコア合計の最小値が０または負の値か否かを判定すると共に、評価対象のセグメントが残っているか否かを判定する。もし、両者がＹｅｓであれば、ステップ１１０３に進み、スコア合計が最小となるセグメントを排除する。そして、残ったセグメントを対象にスコア合計を再計算する（ステップ１１０４）。スコア合計を再計算する際は、排除されたセグメントのスコアを除いて実行する。その後、ステップ１１０２に戻って同じ判定を実行する。判定条件のいずれかがＮｏであれば処理を終了し、Ｙｅｓであれば前述したステップ１１０３以降の処理を繰り返す。
【００７７】
図１２は、ステップ７０２の信頼度の判定を図１０のデータ１００１に対して適用する様子の説明図である。図１２を用いてステップ７０２の信頼度の判定を説明する。
【００７８】
図１２において、図１１に示したステップ１１０１の処理（スコアの合計計算）の結果は、データ１２０１のようになる。次にステップ１１０２で、スコア合計値の最小値を判定する。このとき、セグメント丸５のスコア−２９７が最小かつ負の値である。したがって、ステップ１１０３に進んでセグメント丸５のデータを排除し、ステップ１１０４でスコア合計を再計算する。その結果がデータ１２０２である。
【００７９】
次に、図１１のステップ１１０２に戻ってスコア最小値を判定する。このとき、データ１２０２のスコア−１０３が最小かつ負の値である。したがって、ステップ１１０３に進んでセグメント丸２のデータを排除し、ステップ１１０４でスコア合計を再計算する。その結果がデータ１２０３である。
【００８０】
そして、ステップ１１０２に戻ってスコア最小値を判定すると、データ１２０３の残セグメントすべてにおいてスコアが正のため、ここで処理は終了である。この結果、誤検知していると考えられるセグメントはセグメント丸２とセグメント丸５となり、残りのセグメント丸１、丸３、丸４、及び丸６の特徴点が共通座標バッファメモリ２０６に展開されることになる。
【００８１】
次に、状態遷移を用いた線種判定について説明する。これは、図１１に示す処理フローで誤検知と判定されたセグメント以外のものを使用するが、まずは誤検知が無い場合について説明する。誤検知があった場合の処理については別途説明する。
【００８２】
図１３は、車両１３０１の周辺領域を俯瞰座標に基づいて分割した領域の定義を説明する図である。これは、状態遷移判定部２０４で特徴点セグメントの有無を判定する領域となる。図１３において、本実施例では、領域ＦＬ、ＦＲはフロントカメラ１０１−Ｆｒより前方、領域ＲＬ、ＲＲはリアカメラ１０１−Ｒｒより後方、領域ＳＬ、ＳＲはフロントカメラ１０１−Ｆｒとリアカメラ１０１−Ｒｒの間とする。また、領域ＦＬ、ＳＬ、ＲＬは車両１３０１の中心より左側、領域ＦＲ、ＳＲ、ＲＲは右側とする。
【００８３】
図１３に示すように設定した領域に基づけば、フロントカメラ１０１−Ｆｒの特徴点は、領域ＦＬ、ＦＲに、リアカメラ１０１−Ｒｒの特徴点は領域ＲＬ、ＲＲに出現することになる。また、領域ＦＬ、ＲＬにはカメラ１０１−ＳＬの特徴点が、領域ＦＲ、ＲＲにはカメラ１０１−ＳＲの特徴点がそれぞれ出現する可能性がある。
【００８４】
図１４は、区画線が破線の状態遷移モデル（特徴点の集合であるセグメントの出現状態を表すノードの遷移状態を示す、予め定められた状態遷移モデル）を示す図である。本実施例では、状態遷移モデルは６つのノード１４０１〜１４０６を保持するとして説明する。
【００８５】
図１４において、本状態遷移モデルは、左右の白線において共通のものであり、各ノードは、上からフロント領域、サイド領域、リア領域における特徴点セグメントの有無が記されている。例えば、左白線におけるノード１４０１は、領域ＦＬに特徴点セグメントあり（丸印）、ＳＬ、ＲＬに特徴点セグメント無し（×印）を表すノードである。
【００８６】
各ノードからそのノードに直接遷移している線は、その状態を維持することを示す。
【００８７】
また、各ノードを結ぶ矢印は、線種が破線の場合に遷移するノードである。すなわち、時計回りに遷移し、隣かその隣のノードへ遷移すれば破線の遷移に合致するものとする。例えば、現フレームでノード１４０１にいる場合、次のフレームでノード１４０２か１４０３のいずれかに遷移すれば破線の状態遷移モデルに合致し、この合致状態が１周以上続けば破線となる。
【００８８】
例えば、ノード１４０１からノード１４０２に遷移し、続いてノード１４０２からノード１４０４に遷移し、さらに、ノード１４０４からノード１４０６に遷移し、そして、ノード１４０６からノード１４０１に遷移することで、１周することとなり（後述する累積値が６に対応）、破線と判断する。
【００８９】
ただし、遷移するノードを隣またはその隣とする、合致状態が１周以上で破線とする等の条件については、本実施例の説明のために設定したものであり、必ずしもこれに限定されるものではない。例えば、遷移するノードを予め決めておくのではなく、遷移すると考えられるノードを車速に応じて予想し、それに合致すれば破線の遷移に合致するとしてもよい。
【００９０】
これについて、図１５を参照しながら説明する。図１５は、ノードを車速に応じて予測して、破線の状態遷移に合致するか否かを判断する例の説明図である。
【００９１】
図１５において、白線を捕捉する領域は、領域１５０４であり、白線１５０４Ｌの下端のｙ座標をｙ（ｔ）とする。
【００９２】
また、車両１３０１の左には区画線としての破線があり、それを構成する白線の長さはｄ０、白線間の互いの距離をｄ１とする。このとき、車両１３０１は、領域ＦＬ（ＦＬを包囲する点線）にて白線１５０２の下端点を捕捉しており、領域ＲＬ（ＲＬを包囲する点線）にて白線１５０１の上端点を捕捉している。白線１５０２の下端点及び白線１５０１の上端点、それぞれのｙ座標はｙ（ｐ２）及びｙ（ｐ１）である。
【００９３】
また、白線１５０１の下端のｙ座標はｙ（ｐ０）＝ｙ（ｐ１）−ｄ０であるが、捕捉領域１５０４の領域外である。白線１５０２の上端点も同様に、ｙ座標はｙ（ｐ３）＝ｙ（ｐ２）＋ｄ０であるが、捕捉領域１５０４の領域外である。
【００９４】
時刻ｔの時点で、車両１３０１の直進方向における破線の端点座標を求める。座標を求める範囲は、次の画像フレームが得られるまでの時間と車速によって決まる。例えば、次の画像フレームが得られるまでの時間が１秒で、車速が４０ｋｍ／ｈとすると、車両１３０１は時刻ｔ＋１までに約１１ｍ進むことになる。したがって、約１１ｍ先で捕捉すると予想される白線の端点座標を求める。
【００９５】
ここで、ｄ０＝３．５ｍ、ｄ１＝４．５ｍとすると、車両１３０１が１１ｍ進む間に破線の１周期分（ｄ０＋ｄ１）＋３ｍを進むことになる。したがって、捕捉領域１５０５の領域ＦＬで捕捉した白線の下端点は、車両１３０１から相対的に見た場合、３ｍ下方に位置し、ｙ座標はｙ（ｐ２）’となる。
【００９６】
領域ＲＬで捕捉した白線上端点も同様に、車両１３０１から相対的に見た場合、３ｍ下方にずれ、白線を捕捉する捕捉領域１５０５の領域外となる。また、捕捉領域外であった、白線１５０２の上端点が３ｍ下方にずれて、捕捉領域１５０５内に入ったように見える。したがって、白線１５０３の端点は、捕捉領域１５０５の領域ＦＬで上端点、領域ＳＬで下端点が捕捉される。
【００９７】
さらに、各端点の相対座標を求め、各領域のセグメント長を求めれば、ノードパターンがわかる。本実施例の場合は、捕捉領域１５０５において、ＦＬで在り、ＳＬで在り、ＲＬで無しのため、「○○×」となり、ノード１４０２に遷移すると予想できる。そして、時刻ｔ＋１において、実際にノードパターンを特定し、予想と合致するか判断すればよい。
【００９８】
図１６は、状態遷移モデルの、どのノードにいるかを判定する処理フローである。図１６に示した処理フローは、左右の白線それぞれに対して実施する。まずステップ１６０１で、各カメラ１０１の特徴点を、図１３の領域ごとに集約する。領域ごとの集約は、当該特徴点を抽出したカメラ１０１に関しては考慮せず、各特徴点の俯瞰座標のみに基づいて実行される。次に、ステップ１６０２で、各領域の特徴点を使うか否かを判定する。これは、図７のステップ７０２の信頼度判定の結果に基づいて実行する。ステップ１６０２の処理については後述する。
【００９９】
次に、各領域のループに入る。各領域とは、例えば左白線であればＦＬ、ＳＬ、ＲＬのことである。
【０１００】
まず、ステップ１６０３で、ステップ１６０２の結果を評価し、当該領域のデータを使わない場合にはループの先頭に戻り、次の領域の処理を実行する。そうでなければ、ステップ１６０４にて、各領域における特徴点セグメント長の最大値を求める。
【０１０１】
次に、ステップ１６０５で、その長さが閾値１より長いか否かを判定する。閾値１より長ければセグメントありと判定し（ステップ１６０６）、短ければセグメントなしと判定する（ステップ１６０７）。
【０１０２】
なお、セグメント長は、特徴点同士の距離の累積であり、特徴点同士の距離が閾値２（図示しない）より小さければセグメントの継続と判断し、それ以上であればセグメントの切れ目と判断する。各領域についてセグメントの有無を判断したら、現在フレームのノードを確定する（ステップ１６０８）。セグメントがいずれの領域にも存在しなかった場合には、どのノード無しとして処理する。
【０１０３】
図１７は、線種を判定するフローである。まず、図１７のステップ１７０１で、図１６のフローで確定した現在フレームのノードを得る。次に、ステップ１７０２で、ノードが無いか否かを判定し、ノード不検知であればステップ１７０４にて、連続３回ノードが無かったか否かを判断する。もし、連続して３回ノードが無かったのであれば、不検知とする（ステップ１７１０）。そうでない場合には、前フレームの結果を継続する（ステップ１７０８）。
【０１０４】
ステップ１７０２でノードありの場合、前フレームで不検知だったか否かを判断する（ステップ１７０３）。前フレームで不検知だった場合には実線とする（ステップ１７１１）。つまり、不検知の後で最初にノードありとなった場合には実線とする。
【０１０５】
ステップ１７０３において、前フレームでノードありであった場合には、ステップ１７０５で、状態遷移が破線のパターンに合致するか否かを判定する。この判定においては、前フレームのノードから現在フレームのノードまでの移動距離が０〜２の場合に破線のパターンに合致しているとみなす。但し、０（すなわち、移動しない）は連続３回以内の場合のみとする。
【０１０６】
ステップ１７０５の判定で、破線の遷移パターンに合致しない場合には、連続３回目か否かを判定する（ステップ１７０６）。連続３回目の場合には実線とする（ステップ１７１１）。連続３回目では無い場合には前フレームの結果を継続する（ステップ１７０９）。
【０１０７】
ステップ１７０５の判定で、破線の遷移パターンに合致している場合、ステップ１７０７で、図７の遷移を１周したか否かを判定する（ノードの時系列的データを用いて判定する）。１周していれば破線として線種を確定し（ステップ１７１２）、そうでない場合には実線とする（ステップ１７１１）。１周したか否かは、前フレームのノードからの差分を累積した値が６以上になったか否かで判定が可能である。この累積値は、線種がステップ１７０４の判定でＮｏ、またはステップ１７０３の判定でＹｅｓになった場合に０にリセットされ、そうでない場合に累積されていくものである。
【０１０８】
以上の処理につき、図１８に示された特徴点の出現事例を用いて更に説明する。図１８の（ａ）〜（ｅ）は、それぞれ、図１３で定義した白線の捕捉領域を示している。
【０１０９】
図１８の（ａ）においては、カメラ１０１−Ｆｒから特徴点セグメント１８０１、１８０４が、カメラ１０１−ＳＬから特徴点セグメント１８０２が、カメラ１０１−Ｒｒから特徴点セグメント１８０３が、それぞれ抽出されている。捕捉領域としてみれば、領域ＦＬ、ＳＬ、ＲＬ、ＦＲに特徴点セグメントが出現していることになる。
【０１１０】
したがって、左白線のノードパターンは「○○○」となり、図１４に示したノード１４０３が現フレームのノードとなる。また、右白線のノードパターンは「○××」となり、ノード１４０１が現フレームのノードとなる。この時点で、右白線、左白線はともに実線と判定される。
【０１１１】
次の、図１８の（ｂ）においては、左白線のノードパターンは図１８の（ａ）と同じである。図１８の（ｂ）の右白線については、カメラ１０１−Ｆｒから特徴点セグメント１８０４が抽出され、カメラ１０１−ＳＲから特徴点セグメント１８０５が抽出されている。領域ＦＲ、ＳＲにセグメントが現れているため、ノードパターンは「○○×」となり、ノード１４０２が現フレームのノードとなる。また、右白線において、前フレームのノードからの移動距離は１となり、累積値も１となる。この時点でも、右白線、左白線はともに実線と判定される。
【０１１２】
次の図１８の（ｃ）においては、左白線のノードパターンに変化は無い。一方、右白線については、カメラ１０１−ＳＲから特徴点セグメント１８０５が抽出され、カメラ１０１−Ｒｒから特徴点セグメント１８０６が抽出されている。領域ＳＲ、ＲＲにセグメントが出現しているため、ノードパターンは「×○○」となり、ノード１４０４が現フレームのノードとなる。前フレームからの移動距離は２となり、累積値は３となる。この時点でも、右白線、左白線はともに実線と判定される。
【０１１３】
次の図１８の（ｄ）においては、左白線のノードパターンに変化は無い。一方、右白線については、カメラ１０１−Ｒｒから特徴点セグメント１８０６が抽出されている。領域ＲＲのみにセグメントが出現しているため、ノードパターンは「××○」となり、ノード１４０５が現フレームのノードとなる。前フレームからの移動距離は１となり、累積値は４となる。この時点でも、右白線、左白線はともに実線と判定される。
【０１１４】
次の図１８の（ｅ）においては、左白線のノードパターンに変化は無い。一方、右白線については、カメラ１０１−Ｆｒから特徴点セグメント１８０７が抽出されている。領域ＦＲのみにセグメントが出現しているため、ノードパターンは「○××」となり、ノード１４０１が現フレームのノードとなる。前フレームからの移動距離は２となり、累積値は６となる（図１４のノードを１周する）。この時点で、右白線は実線であり、左白線は破線と判定される。
【０１１５】
図１９は、内部で保持するデータ構造を示す表である。図１９に示したデータは図１３で示した領域ごとに保持する。
【０１１６】
図１９において、領域数１９０１は、データを保持している領域数であり、本実施例では、ＦＬ、ＦＲ、ＳＬ、ＳＲ、ＲＬ、及びＲＲの６となる。領域情報１９０２は、線種判定に必要な情報である。このうち、現在ノード１９０３は、現フレームのノードであり、ノード１４０１〜１４０６に割り振られたＩＤが格納される。セグメント長１９０４は、特徴点セグメントの長さであり、ｃｍ単位で格納されるのが好適である。停止数１９０５は、同じノードに停滞している連続フレーム数である。
【０１１７】
誤検知数１９０６は、状態遷移に乗らなかった連続フレーム数である。不検知数１９０７は、線種が確定できなかった連続フレーム数である。特徴点数１９０９は、当該領域に含まれる特徴点数である。俯瞰座標１９１０は、特徴点数１９０９分の特徴点の俯瞰座標が格納されている。マスクフラグ１９１１は、線種判定の際に当該の領域のデータを使うか否かにつき、領域ごとにフラグが格納されている。このフラグが立っている領域がある場合、線種判定の際に、ノード１４０１〜１４０６のノードパターンのうち、当該領域についてマスクされる。
【０１１８】
図２０は、図１６に示したステップ１６０２のマスク領域判定の処理フローである。カメラ１０１−Ｆｒ、１０１−Ｒｒは、設置場所より前方に白線が見えるため、抽出される特徴点もそれぞれ領域ＦＬ、ＦＲ、領域ＲＬ、ＲＲのみに集約される。一方、カメラ１０１−ＳＬ、１０１−ＳＲでは、実線の場合に横長に見えることになり、抽出される特徴点は複数領域に分散する。
【０１１９】
したがって、カメラ１０１−ＳＬが信頼できない場合には、領域ＳＬをマスクしてよい。一方、カメラ１０１−Ｆｒ、１０１−Ｒｒが信頼できない場合は、カメラ１０１−ＳＬでの特徴点抽出状況や信頼度を考慮してマスクの有無を判断する必要がある。図２０は、これを踏まえた処理フローである。なお、左白線の判定を前提として説明する。
【０１２０】
図２０において、まず、ステップ２００１は、カメラ１０１−ＳＬが信頼できるか否かによる分岐である。信頼できない場合には、ステップ２００２で領域ＳＬをマスクする。信頼できる場合は、ステップ２００３の、カメラ１０１−ＳＬが不検知か否かの分岐へ進み、不検知でない場合には何もせずに処理を終了する。ステップ２００３において、カメラ１０１−ＳＬが不検知の場合にはカメラ１０１−Ｆｒ、１０１−Ｒｒのマスク判定を実行する。図２０では、カメラ１０１−Ｆｒの判定が先になっているが、どちらを先に実行してもよい。
【０１２１】
ステップ２００４は、カメラ１０１−Ｆｒが信頼できるか否かの分岐であり、信頼できない場合にはステップ２００５にて、領域ＦＬをマスクする。そうでない場合には、ステップ２００６の、カメラ１０１−Ｒｒが信頼できるか否かの分岐へ進み、信頼できない場合にはステップ２００７にて、領域ＲＬをマスクする。そうでない場合には処理終了である。
【０１２２】
なお、マスク処理は、車線変更にも適用可能である。車線変更で車両１３０１が跨ぐ白線は、サイドカメラ１０１−ＳＬ、１０１−ＳＲで捕捉することができない。したがって、車線変更の方向に設置されているサイドカメラ１０１−ＳＬ又は１０１−ＳＲでの情報は信頼できないとみなして図１９の処理を実行すればよい。例えば、右車線へ移動する場合には、カメラ１０１−ＳＲが信頼できないとして処理を実行すればよい。
【０１２３】
図２１は、サイドカメラが信頼できないとされた場合における破線の状態遷移モデルを示す図である。なお、信頼できないとされる理由は、前述したとおり、カメラレンズが汚れている、誤検知の可能性がある、ということである。ここでも、左白線の判定を前提とし、領域ＳＬがマスクされた場合を例に説明する。この場合、各ノードのノードパターンにおいて領域ＳＬの部分をマスクする（図２１において、領域ＳＬに対応する箇所をグレー表示している）。つまり、領域ＦＬ、ＲＬだけの情報で線種を判定する。また、特徴点抽出結果から作成されるノードパターンも同様に、ＳＬの部分をマスクする。こうすることで、状態遷移モデルを作り直すことなく線種判定を実行できる。
【０１２４】
なお、フロントカメラ１０１−Ｆｒが信頼できない場合も同様に、ＦＬの部分をマスクした状態遷移モデルを作成する。この場合は、左サイドカメラ１０１−ＳＬ及びリアカメラ１０１−Ｒｒにより、領域ＳＬ、ＲＬだけの情報で線種を判定する。リアカメラ１０１−Ｒｒが信頼できない場合も同様に、領域ＲＬの部分をマスクした状態遷移モデルを作成する。この場合は、フロントカメラ１０１−Ｆｒ及び左サイドカメラ１０１−ＳＬにより、領域ＦＬ、ＳＬだけの情報で線種を判定する。
【０１２５】
これまでは直線道路を前提として説明してきたが、道路がカーブの場合も適用可能である。カーブにおいては、特徴点を俯瞰座標に変換すると、特徴点セグメントも曲がって見える。この場合は、カーブの曲率に基づいて、特徴点を直線状に並べ直すことで、これまで述べた処理が実行可能である。
【０１２６】
図２２は、上記のカーブに対応するために必要な処理のフローである。この処理は座標変換部２０２が行う。
【０１２７】
図２２において、まず、ステップ２２０１で、片側の白線の全特徴点座標に基づいて曲線近似する。曲線近似については、様々なもの手法が公知であるため、それらを適用可能である。次に、ステップ２２０２で、当該曲線において、ｘ座標が極大（または極小）となるｙ座標を求める。次に、ステップ２２０３にて、特徴点をｙ座標順にソートする。
【０１２８】
次に、特徴点のｙ座標順のループに入る。まず、ステップ２２０４にて、曲線との距離が最短のｘ座標を調べる。それが確定したら、その前のｙ座標にて確定した、曲線との距離が最短の特徴点とのユークリッド距離を計算する（ステップ２２０５）。そして、特徴点座標と距離をバッファリングする（ステップ２２０６）。
【０１２９】
ループを抜けたら、ｘ＝極大（極小）ｘ座標となる直線を設定し（ステップ２２０７）、特徴点同士の距離を保持しながら、曲線との距離が最短の特徴点を当該直線の上に並べ替える（ステップ２２０８）。
【０１３０】
上述したカーブ対応処理を模式的に示したのが図２３である。図２３の（ａ）は処理前、図２３の（ｂ）が処理後の図である。
【０１３１】
図２３の（ａ）において、曲線２３０１は、左白線から抽出された特徴点ｐｌ１〜ｐｌ５による近似曲線である。曲線２３０２は、右白線から抽出された特徴点ｐｒ１〜ｐｒ４による近似曲線である。なお、特徴点の記号の添字は、ｙ座標順にソートされている。また、各特徴点間の距離ｄｌ１〜ｄｌ４、ｄｒ１〜ｄｒ３は、図２２に示したステップ２２０５にて計算された結果である。また、車線幅ｗは、曲線２３０１、２３０２の極大（極小）となる点同士の距離である。図２２のステップ２２０７を実行する際は、これらの極大（極小）点を通る直線をｙ軸に平行に設定するため、車線幅ｗがそのまま維持される。
【０１３２】
このようにして、曲線２３０１、２３０２に対して設定された直線が、図２３の（ｂ）に示す直線２３０３、２３０４である。図２２に示したステップ２２０８で、これらの直線上に、特徴点ｐｌ１〜ｐｌ５、ｐｒ１〜ｐｒ４を並べ替える。この際は、距離ｄｌ１〜ｄｌ４、ｄｒ１〜ｄｒ３が維持されるように並べ替える。こうすることで、カーブであっても直線と同じ処理を用いることが可能である。
【０１３３】
次に、車線変更時の処理について説明する。例えば右車線への変更の際は車両が右白線を跨ぎ、それがやがて左白線になる。車線変更中であっても、跨ぐ白線は捕捉され続けており、また、その捕捉位置が変わる。したがって、例えば右車線への変更時には、右白線に関して得られた情報を左白線に、左車線への変更時には左白線に関して得られた情報を右白線に引き継ぐ。これによって、車線変更時の性能低下を防ぐことができる。
【０１３４】
車線変更の処理について、図２４に示した車線変更の処理フローを用いて説明する。図２４において、まず、ステップ２４０１で、捕捉する白線を切り替えるか否かを判定する。この判定には、車両１３０１と、跨いでいる白線との位置関係を用いるのが好適である。例えば右車線への変更の場合、跨いでいる白線が車両１３０１の真ん中より左に移動した時点等と決めればよい。なお、前述したように、車線変更方向の白線は、サイドカメラでは捕捉できないため、この判定はフロントカメラ１０１−Ｆｒ、リアカメラ１０１−Ｒｒのいずれか、あるいは両者を用いるのが好適である。
【０１３５】
ステップ２４０２は、ステップ２４０１の結果による分岐である。切替え不要の場合には、ステップ２４０５にて、図３に示した処理を実行する。図３の処理はこれまでに述べてきたとおりである。
【０１３６】
ステップ２４０２において、切替え要の場合にはステップ２４０３にて、変更方向の白線情報を反対側白線情報バッファに移し、ステップ２４０４にて、変更方向の白線情報は初期化する。こうすることで、跨いでいる白線については車線変更中であっても継続的に線種判定が可能である。
【０１３７】
車線変更の判定処理は、状態遷移判定部２０４により行われる。
【０１３８】
これまでに述べてきた線種判定手法では、破線間隔に応じて領域ＳＬ、ＳＲの範囲を変えることで、様々な破線間隔にも対応可能である。車両が走行中の道路種別をカーナビゲーションシステムから受け取り、更に図２５の道路別区画線情報２５０１を参照することで、破線間隔を得ることが可能である。
【０１３９】
本実施例では、ＳＬの範囲をカメラ１０１−Ｆｒと１０１−Ｒｒの間の領域としていたが、この範囲を可変にすることで様々な破線間隔に対応可能である。
【０１４０】
この処理について図２６に処理フローを示す。図２６において、まず、ステップ２６０１で、走行中の道路種別を得る。次に、ステップ２６０２にて、当該道路種別をキーとして破線間隔情報を得る。次に、ステップ２６０３にて、現在の領域ＳＬ、ＳＲのｙ方向長と、破線間情報から得られた破線間隔とを比較する。領域ＳＬ、ＳＲのｙ方向長の方が長ければ、ステップ２６０４に進み、領域ＳＬ、ＳＲのｙ方向長を破線間隔と同じ値とする。
【０１４１】
また、高速道路等の分流、合流における太い破線においても、車両１３０１の走行地点をカーナビゲーションシステムから得ることで、太い破線に対応した領域設定が可能となる。
【０１４２】
なお、図１４に示した状態遷移モデルによる破線判断においては、１周するのに必要な最低のノード数は３である（例えば、１４０１→１４０３→１４０５→１４０１であれば、ノード１４０１、１４０３及び１４０５の３つ）。このため、破線判断のために必要な画像フレームは最低３フレームである。
【０１４３】
また、上述したように、フロントカメラ１０１−Ｆｒが信頼できない場合は、左サイドカメラ１０１−ＳＬ及びリアカメラ１０１−Ｒｒが使用され、リアカメラ１０１−Ｒｒが信頼できない場合は、フロントカメラ１０１−Ｆｒ及び左サイドカメラ１０１−ＳＬが使用される。また、サイドカメラ１０１−ＳＬが信頼できない場合は、フロントカメラ１０１−Ｆｒ及びリアカメラ１０１−Ｒｒが使用される。
【０１４４】
よって、区画線判断のために必要な信頼性を有するカメラの個数は、車両の片側で最低２個である。
【０１４５】
ただし、サイドカメラ１０１−ＳＬが、領域ＦＬの下端部より上方及び領域ＲＬの上端部の下方まで撮像可能なカメラであれば、サイドカメラ１０１−ＳＬのみで区画線判断が可能であるから、この場合、サイドカメラ１０１−ＳＬが信頼性を有するときは、区画線判断のために必要なカメラの個数は、車両の片側で最低１個である、よって、車両全体としては信頼性を有するカメラの個数は２個である。
【０１４６】
このため、本発明の他の実施例として、車両の両側面（左右の側面）にのみ、カメラ（左右のサイドカメラ１０１−ＳＬ、１０１−ＳＲ）を配置し、そのカメラの信頼性を判断し、信頼性を有するカメラの状態遷移を判断して区画線の線種を判断する構成も含まれる。
【０１４７】
以上のように、本発明の一実施例によれば、車両の前方、後方及び側方（側面）に配置した複数の撮像部を備え、これら複数の撮像部が撮像した画像に基づいて、信頼度を判定し（利用可能な撮像部の判定）、誤検知していると判断した撮像部からの画像を除外し、画像の特徴点を抽出して特徴点の出現位置の状態遷移を判定することにより区間線の種別を判断するように構成している。
【０１４８】
従って、路面における区画線の線種を高精度に判定可能な区画線認識装置を実現することができる。
【０１４９】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。
【０１５０】
例えば、上述した例は、本発明の区画線認識装置を車両に搭載した場合の例であるが、区画線を利用して走行する移動体（走行ロボット等）に搭載する場合にも適用可能である。
【符号の説明】
【０１５１】
１０１・・・カメラ、１０２・・・画像処理装置、１０３・・・記憶装置、１０４・・・ＣＰＵ、１０５・・・メモリ、１０８・・・車両制御ユニット、２０１・・・特徴点抽出部、２０２・・・座標変換部、２０３・・・カメラ判定部、２０４・・・状態遷移判定部、２０５・・・線種判定部、２０６・・・共通座標バッファメモリ、１３０１・・・車両
【図１】
2018097782.tif 000003
【図２】
2018097782.tif 000004
【図３】
2018097782.tif 000005
【図４】
2018097782.tif 000006
【図５】
2018097782.tif 000007
【図６】
2018097782.tif 000008
【図７】
2018097782.tif 000009
【図８】
2018097782.tif 000010
【図９】
2018097782.tif 000011
【図１０】
2018097782.tif 000012
【図１１】
2018097782.tif 000013
【図１２】
2018097782.tif 000014
【図１３】
2018097782.tif 000015
【図１４】
2018097782.tif 000016
【図１５】
2018097782.tif 000017
【図１６】
2018097782.tif 000018
【図１７】
2018097782.tif 000019
【図１８】
2018097782.tif 000020
【図１９】
2018097782.tif 000021
【図２０】
2018097782.tif 000022
【図２１】
2018097782.tif 000023
【図２２】
2018097782.tif 000024
【図２３】
2018097782.tif 000025
【図２４】
2018097782.tif 000026
【図２５】
2018097782.tif 000027
【図２６】
2018097782.tif 000028