(57)【要約】【課題】経年変化によるかすれや、部分的な欠落などによって、同一の白線であっても部分的に画像認識ができない場合でも、白線の認識結果の信頼性を高める。【解決手段】車両に備えられたカメラの画像を処理して路上標示物を認識する路上標示物認識手段と、地図リンク情報を保持する地図ＤＢと、車と路上標示物との相対位置関係の遷移パターン格納した遷移パターンＤＢと、前記路上標示物認識手段による認識結果と前記遷移パターンを照合する遷移パターン照合手段と、前記認識結果を保持する認識結果ＤＢを備え、前記遷移パターン照合手段の出力結果を用いて路上標示物の有無を判定する。【選択図】図１
2008102684.tif 000002
【特許請求の範囲】
【請求項１】
車両に備えられたカメラの画像を処理して分岐線を認識する分岐線認識手段と、地図リンク情報を保持する地図ＤＢと、車と分岐線との相対位置関係の遷移パターンを格納した遷移パターンＤＢと、前記分岐線認識手段による分岐線の認識結果と前記遷移パターンを照合する遷移パターン照合手段と、前記認識結果を保持する認識結果ＤＢを備え、前記遷移パターン照合手段の出力結果を用いて分岐線の有無を判定し、前記分岐線認識手段は、前記地図ＤＢから車前方の分岐方向を検索し、当該分岐方向に基づいて、車と路上標示物との相対位置関係の遷移パターンを予測し、当該予測の結果と路上標示物認識結果とを照合し、路上標示物の認識結果を補正することを特徴とする路上標示物認識装置。
【請求項２】
請求項１において、前記路上標示物認識装置は、前記カメラから得られる画像から、認識対象とする標示物が認識されなかった場合、前回の認識結果と前記遷移パターンに基づいて今回の認識結果を補正し、その結果を前記認識結果ＤＢに格納することを特徴とする路上標示物認識装置。
【請求項３】
請求項１において、前記路上標示物認識装置は、前記カメラから得られる画像から、認識対象とする標示物が認識されなかった場合、カーナビゲーションシステムから舵角の方向を得て、分岐方向と逆方向でない場合に、認識結果を補正し、その結果を前記認識結果ＤＢに格納することを特徴とする路上標示物認識装置。
【請求項４】
車両に備えられたカメラの画像を処理して路上標示物を認識する路上標示物認識手段と、地図リンク情報と少なくとも路上標示物の種類と当該路上標示物が存在するレーン情報を保持する地図ＤＢと、車と路上標示物との相対位置関係の遷移パターン格納した遷移パターンＤＢと、前記路上標示物認識手段による認識結果と前記遷移パターンを照合する遷移パターン照合手段と、前記認識結果を保持する認識結果ＤＢを備え、前記遷移パターン照合手段の出力結果を用いて路上標示物の有無を判定する路上標示物認識装置に接続され、前記路上標示物認識装置の出力結果を用いて車の進行方向を判定することを特徴とするカーナビゲーションシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、路上の標示を画像認識する装置とこの認識結果を用いるカーナビゲーションシステムに関するものである。
【背景技術】
【０００２】
特許文献１には、分岐線の認識方法が開示されている。この従来技術では、路上表示線のエッジライン２本を抽出し、当該エッジラインの間隔によって分岐線かどうかを判断する。更に、認識結果の信頼性を高めるために、第１の分岐線認識を実行した後、所定の時間を経て第２の分岐線認識を実行する。これら２回の認識結果に基づいて、最終的な分岐線判定を実行する。第１の分岐線認識を実行して分岐線が認識できた後、第２の分岐線認識で分岐線が認識できなかった場合は、第１の分岐線認識の結果を採用する。また、認識処理の結果、直線が検出できなかった場合は、過去ｎ回以内に直線が検出されていればその結果を今回の認識結果としている。過去ｎ回以内に直線が検出されていなければ、今回は直線が検出できなかったと判断する。直線を認識すると、その移動方向から、分岐における進行方向を特定する。例えば、右に存在する白線が右側に移動して消えていけば、自車は左車線を走行中と判断する。
【０００３】
【特許文献１】特開平１１−２３２４６７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
路上の白線は、経年変化によるかすれや、部分的な欠落などが存在する場合があり、同一の白線であっても部分的に画像認識ができない場合がある。その解決策として、上記特許文献１では、一定時間をおいて２回の認識処理を実行し、その結果から白線認識結果を検証して信頼性を高める技術を開示している。
【０００５】
上記特許文献１に開示の技術では、２回の分岐線認識を実行するタイミングによっては、分岐線が存在するにもかかわらず、分岐線の存在を認識することができない場合がある。例えば、分岐線の最初と最後は分岐線がはっきりと塗られていて途中がかすれている場合、途中の部分で２回の分岐線認識を実行しても、２回とも認識不可となって信頼度の判定ができず、分岐線の存在を確認できない可能性がある。
【０００６】
認識できない場合、過去ｎ回の認識処理で直線が認識されていれば、最新の直線の方程式を今回の結果として採用するとしても、画像には複数の直線が検出される場合がある。したがって、何らかの方法で、採用する直線を選択する必要があるが、その方法については記載されていない。つまり、画像内における直線の位置までは考慮していない。
【０００７】
また、分岐線が短い場合、１回目の認識ができたとしても、２回目の認識をする前に車が分岐線を通過してしまうことが考えられる。そのときは、２回目の認識で分岐線が認識されず、結果的に１回目の結果のみで分岐線の有無を判定するため、認識結果の信頼性向上にはつながらない。
【０００８】
本発明の目的は、路上標示物と自車との相対的な位置関係の遷移パターンを用いることによって、路上標示物の画像認識が安定しない場合でも、路上標示物の画像認識の信頼性を向上させることにある。
【課題を解決するための手段】
【０００９】
車両に備えられたカメラの画像を処理して路上標示物を認識する路上標示物認識手段と、道路リンク情報を保持する地図ＤＢと、車と路上標示物との相対位置関係の遷移パターンを格納した遷移パターンＤＢと、前記路上標示物認識手段による認識結果と前記遷移パターンを照合する遷移パターン照合手段と、前記認識結果を保持する認識結果ＤＢを備え、前記遷移パターン照合手段の出力結果を用いて路上標示物の有無を判定する。
【００１０】
また、前記路上標示物認識手段は、カーナビゲーションシステムから、車前方の分岐方向を受け取り、当該分岐方向に基づいて、車と路上標示物との相対位置関係の遷移パターンを予測し、当該予測の結果と路上標示物認識結果とを照合し、路上標示物の認識結果を補正する。
【００１１】
また、前記路上標示物認識手段は、前記カメラから得られる画像から、認識対象とする標示物が認識されなかった場合、前回の認識結果と前記遷移パターンに基づいて今回の認識結果を補正し、その結果を前記認識結果ＤＢに格納する。
【００１２】
また、前記路上標示物認識手段は、前記カメラから得られる画像から、認識対象とする標示物が認識されなかった場合、前記カーナビゲーションシステムから舵角の方向を得て、分岐方向と逆方向でない場合に、認識結果を補正し、その結果を前記認識結果ＤＢに格納する。
【００１３】
また、前記認識結果ＤＢは、画像処理を実行したフレームに関する少なくとも画像認識結果、当該画像認識結果の補正結果を含み、更に当該画像認識結果と当該補正結果は、認識された路上標示物の画像における位置を含んでいる。
【００１４】
また、前記カーナビゲーションシステムは、前記路上標示物認識手段に接続され、前記路上認識手段の出力結果を用いて車の進行方向を判定する。
【００１５】
また、前記カーナビゲーションシステムは、車両に備えられたカメラの画像を処理して路上標示物を認識する路上標示物認識手段と、地図リンク情報と少なくとも路上標示物の種類と当該路上標示物が存在するレーン情報を保持する地図ＤＢと、前記路上標示物認識手段による認識結果と前記地図ＤＢを照合することによって、自車の進行方向を判定する。
【発明の効果】
【００１６】
本発明によれば、路上標示物と自車との相対的な位置関係の遷移パターンを用いて認識対象とする路上標示物を制限することによって、路上標示物の画像処理の結果が安定しない場合でも、路上標示物の画像認識の信頼性が高まる。
【発明を実施するための最良の形態】
【００１７】
本発明の一実施例につき、図面を参照しながら述べる。
【実施例１】
【００１８】
図１は、本発明を用いた路上標示認識装置の構成図である。本実施例では、カーナビゲーションシステム１０３に、画像処理装置１０１、ＧＰＳ１０５が接続されている。更にカーナビゲーションシステム１０３には、車速センサ１０６、ジャイロセンサ１０７、舵角センサ１０９が接続されている。画像処理装置１０１には、カメラ１０２が接続されている。車速センサ１０６、ジャイロセンサ１０７、舵角センサ１０９は、車内ネットワークに接続されており、カーナビゲーションシステム１０３は、車内ネットワークのデータを送受信する機能を備えている。
【００１９】
ＧＰＳ１０５は、自車位置を測位するための装置である。車速センサ１０６とジャイロセンサ１０７も自車位置を測位するための装置であり、これら２つの装置を用いてデッドレコニングと呼ばれる手法を用いて自車位置を特定する。カメラ１０２は車体に設置され、自車が走行中の道路面を撮影する。画像処理装置１０１は、カメラ１０２で撮影された映像を処理する。
【００２０】
画像処理装置１０１には、分岐線認識部２０１があり、カメラ１０２で撮影された画像から車線を抽出する。分岐線認識部２０１は、自車の周辺に分岐線が存在するかどうかを判定し、自車の左右に分岐線が存在する又は分岐線を跨ぎ中であるといった自車と分岐線の位置関係を求める。
【００２１】
分岐線と自車との位置関係は、図４に示す通りである。尚、図４では、カメラ１０２が車の後方に設置されている場合、左右を逆にした映像が得られ、カメラ１０２が車の前方に設置されている場合、カメラ１０２の映像と実際との左右の位置関係は同一であるものと仮定する。以下で述べる実施例においては、カメラ１０２がこれら２種類のいずれの設置位置でも実施可能である。
【００２２】
分岐線認識部２０１は、１枚の画像５０５を縦に３等分し、左領域５０２、中央領域５０３、右領域５０４からそれぞれ１本ずつ、最大３本の白線が認識する。画像を認識した白線が３つのうちのどの領域のものかは、認識した白線の両端点のうち、消失点５０１と反対側の端点が左領域５０２、中央領域５０３、右領域５０４のどの領域に入っているかによって決定する。分岐線認識部２０１は、上記の分岐線の認識結果を、１フレーム毎に認識結果ＤＢ２０４に蓄積していく。
【００２３】
認識結果補正部２０２は、分岐線認識部２０１で認識した結果が正しいかどうかを判断し、必要に応じて認識結果を補正する。そのために、遷移パターン照合部２０３では、分岐線の認識結果が予め遷移パターンＤＢ２０５に保存されている遷移パターンに適合するかどうかを判定する。認識結果補正部２０２では、遷移パターン照合部２０３の判定結果に基づいて、認識結果を補正するかどうかを判断する。
【００２４】
認識結果ＤＢ２０４には、各フレームにおける画像認識結果、補正結果、補正フラグが格納されている。この画像認識結果には、左領域５０２、中央領域５０３、右領域５０４それぞれにおいて認識された白線の種類が含まれており、補正結果には、前記画像認識結果を補正したときの左領域５０２、中央領域５０３、右領域５０４それぞれにおける結果が格納される。また補正フラグは、認識結果が補正されたかどうかを表すフラグである。この補正フラグが立っていれば、画像認識結果と補正結果は異なり、立っていなければ同じ結果であることを表している。
【００２５】
認識結果ＤＢ２０４のデータ構造の一例を、図５に示す。図５の例では、処理を行った各分岐地点毎にフレーム毎の認識結果をまとめて格納する構造になっている。フィールド１７０１は、処理した分岐地点の数を表す。フィールド１７０２は、分岐地点ごとの認識結果を表しており、フィールド１７０１の数だけ存在する。分岐地点ごとの結果は、分岐地点番号を格納するフィールド１７０３、処理フレーム数を格納するフィールド１７０４、フレームごとの認識結果を格納するフィールド１７０５を含む。
【００２６】
フィールド１７０５のフレームごとの認識結果は、フレーム番号を格納するフィールド１７０６、画像認識結果を格納するフィールド１７０７、補正結果を格納するフィールド１７１１を含む。フィールド１７０６の画像認識結果は、右領域、中央領域、左領域に認識された白線の種類をそれぞれ格納するフィールド１７０８、１７０９、１７１０を含む。フィールド１７０７の補正結果は、補正フラグと、右領域、中央領域、左領域の、それぞれの領域の認識結果を補正した結果を格納するフィールド１７１２、１７１３、１７１４、１７１５を含む。但し、補正フラグが立ってない場合は、フィールド１７１３、１７１４、１７１５は無くてもよい。
【００２７】
カーナビゲーションシステム１０３の内部には、走行距離計測部２０７、進行方位計測部２０６、マップマッチング部２０９、舵角計測部２０８、地図ＤＢ２１０がある。走行距離計測部２０７は、車速センサ１０６の出力結果を用いて車両の走行距離を測定する。進行方位計測部２０６は、ジャイロセンサ１０７の出力結果を用いて車両の進行方向を測定する。走行距離計測部２０７と進行方位計測部２０６の出力結果は、マップマッチング部２０９に送られ、これらの出力結果を用いたデッドレコニング処理によって自車位置が特定され、さらにマップマッチング処理によって、地図上の位置が特定される。但し、車速センサ１０６やジャイロセンサ１０７の誤差により、デッドレコニングの結果にも誤差が蓄積していくため、一定時間ごとにＧＰＳ１０５による自車位置リセットが実行される。また、ジャイロセンサ１０７の代わりに、舵角センサ１０９を用いて車両の進行方向を測定してもよい。
【００２８】
地図ＤＢ２１０には、単に経路探索用のリンクデータが入っているだけでなく、道路標示物に関する情報も含まれている。例えば、高速道路出口に描かれている分岐線等の情報が含まれている。分岐線の情報については、分岐線始点座標、終点座標、始終点間の形状を現す補間点座標列、分岐線の長さ、曲率等のデータが含まれている。
【００２９】
図２は、カーナビゲーションシステム１０３と画像処理装置１０１を組み合わせて、自車の進行レーンを判定するソフトウェアの処理フローの概略を示したものである。具体的には、高速道路上の分岐において、ランプと本線のどちらを走行しているかを判定するフローを示しており、高速道路の出口付近でどちらを走っているかを判定する処理である。
【００３０】
まず、カーナビゲーションシステム１０３は、自車が存在するリンクを辿って、自車の現在位置前方に分岐があるかどうかを検索する（ステップ３０１）。そして分岐が存在するか否かを判断し（ステップ３０２）、前方に分岐が存在するならば、ランプの分岐方向を判定する（ステップ３０３）。次に、ステップ３０３で求めた分岐方向に基づいて、分岐線認識結果の遷移パターンを予測する（ステップ３０４）。例えば左分岐の場合、自車が分岐を跨いでランプ方向に走行する場合は、分岐線は左→中央→右という遷移を辿ることになる。本線を走行する場合は左のままである、というような遷移パターンを予測しておく。次に、走行区間を判定する（ステップ３０５）。ここで、走行区間とは、分岐の前か、分岐の途中か、分岐の後かということであり、以下、それぞれを、分岐前区間、分岐区間、分岐後区間と記す。この詳細は、図９に示す通りである。分岐前区間とは分岐線が出現する前の区間であり、分岐区間とは分岐線が描かれている区間であり、分岐後区間とは分岐線を通過した後の区間である。
【００３１】
この走行区間の判定結果を判断して（ステップ３０６）、走行区間が分岐前区間と判定されたならば、まだ分岐区間までには至ってはいないため、再びステップ３０５に戻る。走行区間が分岐区間と判定されるようになったならば、分岐線認識を実行する（ステップ３０７）。ここで、分岐線認識処理のアルゴリズムは、例えば特開２００３−１２３０５８号公報などに開示されているものを使うことにより実現できる。次に、分岐線の認識結果を用いて、走行レーンを判定する（ステップ３０８）。走行レーンの判定には、画像における白線の位置を利用する。
【００３２】
走行レーンを判定したら、再びステップ３０５に戻る。以下、ステップ３０８までを、ステップ３０５で走行区間が分岐後区間であると判定されるまで繰り返す。走行区間が分岐後区間に入ったと判定されたならば、ステップ３０１に戻り、次の分岐を検索する。この一連の処理が、カーナビゲーションシステム１０３の電源が切られるまで、繰り返し実行される。
【００３３】
但し、上記の分岐線認識処理のアルゴリズムでは、結果が安定しないことが考えられる。例えば、分岐線始点付近では、線がはっきりと塗られているが、分岐線の途中ではかすれなどによって認識ができなかったり誤認識したりすることがあり、同一の分岐線でも、部分的に認識結果が異なることがある。そこで、ステップ３０７の分岐線認識において、１フレームごとの認識結果を複数フレーム分保持し、認識結果の履歴を用いて、分岐線の有無を判定することが望ましい。その方法について次に述べる。
【００３４】
図３は、複数フレームの認識結果を参照して分岐線の有無を判定する分岐線認識の処理フローである。この処理フローでは、判定直前にカメラ１０２から取り込まれた過去１０フレームの映像中、７フレームで分岐線が認識できた場合に、分岐線があったと判定する。但し、上述したフレーム数は一例であり、実装時は任意に決めてよい。
【００３５】
まず、１フレーム分の映像について画像認識を実行して分岐線の認識を行い（ステップ４０１）、その結果、分岐線が認識されたかどうかを判定する（ステップ４０２）。分岐線が認識されなかった場合は、ステップ４０１に戻って、分岐線が認識できるまで画像認識を実行する。分岐線が認識された場合は、画像処理枚数、分岐線認識数、認識失敗数の各パラメータを初期化し（ステップ４０３）、次に取り込まれた１フレーム分の映像について画像認識を実行する（ステップ４０４）。その結果、分岐線が認識されたかどうかを判定し（ステップ４０５）、分岐線が見つかれば、認識結果ＤＢ２０４にフレーム番号と認識結果を格納した上で、分岐線認識数に１を加算する（ステップ４０６）。もし分岐線が認識されなければ、認識結果の補正を実行する（ステップ４０７）。ステップ４０７の認識結果の補正処理については後述する。認識結果を補正した結果を判定し（ステップ４０８）、分岐線が見つかったと判定された場合には、やはり認識結果ＤＢ２０４にフレーム番号と補正結果を格納した上でステップ４０６へ進み、分岐線認識数に１を加算する。しかし分岐線の認識に失敗したと判定された場合には、認識失敗数に１を加算する（ステップ４０９）。次に１フレーム分の処理が終了したので画像処理枚数に１を加算する（ステップ４１０）。
【００３６】
この時点で、認識失敗数を判定し（ステップ４１１）、それが４を超えていたら、１０フレームの映像中７フレームで分岐線が認識できた場合に分岐線があったと判定するという条件により、分岐線の認識は失敗とする。しかし認識失敗数が４を超えていなければ、画像処理枚数を判定し（ステップ４１２）、処理したフレーム数が１０に到達していれば分岐線認識が成功したと判定する。つまり、画像１０枚に対して、分岐線認識失敗が３枚以下だったということである。また、処理したフレーム数が１０に達していなければ、ステップ４０４に戻り、次のフレームについて画像認識処理を行う。図３のフローは、ステップ３０７に相当するものであり、図３のフローで得られた分岐線の認識結果が、ステップ３０８の進行レーン判定に使われる。
【００３７】
ところで、車速は運転状況によって異なるため、１０フレームを画像処理する間の走行距離は異なる。渋滞で車がほとんど動かない場合、１０フレームの画像はほとんど同じ場所を処理するだけである。たまたま白線がかすれていて認識ができない場所で渋滞に遭遇した場合などは、上記の基準だけでは分岐線の認識が失敗したことになってしまう。従って、フレーム数だけで分岐線の有無を判断するのではなく、車両の走行距離に応じて分岐線認識するタイミングを決めれば、より有効な結果を得ることができる。
【００３８】
これは、一定の時間間隔でカメラ１０２から取り込んだ映像について画像処理を行うのではなく、例えば１ｍ走行するごとに分岐線認識を実行するなどと分岐線認識間隔距離を決めておく。そして、１ｍ走行するたびにカーナビゲーションシステム１０３から画像処理装置１０１に対してコマンドを送って、分岐線認識のトリガーをかける方法をとればよい。あるいは、マップマッチング間隔から、分岐線認識間隔距離を決定してもよく、例えば、マップマッチング間隔の１／１０などと決めておけばよい。または、過去何フレームを参照するか（参照フレーム数）を決めておき、分岐線認識間隔距離をマップマッチング間隔／参照フレーム数としてもよい。
【００３９】
分岐線が認識できない場合としては、別の線種に誤認識されたか、線種が不明であると判断されたか、あるいは白線自体が検出できない等のパターンがある。これらのような現象が起きた場合は、認識結果の補正処理を実行する。この認識結果の補正処理を、図６を用いて説明する。図６は、分岐線が認識できなかった場合のパターンのうち、検出された白線の線種が不明とされて画像から分岐線が検出できなかった場合を想定した認識結果補正の処理フローであり、これは、図３のステップ４０７に相当する。
【００４０】
まずステップ４０４の画像認識で、線種不明の白線が認識されたかどうかを判定し（ステップ６０１）、線種不明の白線が認識されていなければ、分岐線認識が失敗したものとする。線種不明の白線が認識されていれば、前回のフレームに対する分岐線認識結果を参照して、分岐線が認識できていたかどうかを判定する（ステップ６０２）。前回の認識結果は、認識結果ＤＢ２０４に保存されている。前回、分岐線が認識できていたら、ステップ６０３で、線種不明の白線の位置を、白線位置の遷移パターンと照合する。整合がとれるか否かを判定し（ステップ６０４）、整合がとれるのであれば分岐線認識成功とし、整合がとれなければ失敗とする。ステップ６０２で、前回も分岐線が認識できていなかった場合は、分岐線認識失敗とする。
【００４１】
ここで、ステップ６０３の、遷移パターンとの照合について述べる。ステップ３０４によって、分岐路の分岐方向がわかっていれば、分岐線位置の遷移パターンは既知である。ステップ３０３の分岐方向判定処理で左分岐となった場合、この分岐線認識結果の遷移パターンは左のまま、左→中央→右、といったパターンが考えられる。このとき、今回は右領域５０４に分岐線が検出されたとすると、前回のフレームに対する分岐線認識結果を参照し、中央領域５０３に分岐線が検出されていたならば、左→中央→右の遷移パターンとつじつまが合うので、今回の認識結果は成功とする。
【００４２】
次に、このような遷移パターンとの照合に基づく補正処理について述べる。例えば、中央領域５０３に線種不明の白線が検出された場合、前回のフレームに対する分岐線認識結果を参照し、左領域５０２に分岐線が認識されていたものとする。この場合、今回検出された線種不明の白線を分岐線と仮定すると、左→中央→右の遷移パターンに合致する。そこで、今回検出された線種不明の白線は分岐線であるものと判断する。
【００４３】
例えば、自車が分岐区間を走行中ということがわかれば、分岐線は、自車位置近くのどこかに存在するはずであり、それまでに見えていた分岐線が突然どこか遠くに行ってしまうことはほとんど有り得ない。すなわち、分岐線と自車との相対位置関係遷移には、何らかの規則性が存在するため、上記の処理が可能である。
【００４４】
片側複数車線の道路から左分岐する場合の分岐線位置の状態遷移パターンを、図７に示す。尚、各状態には左から、左領域５０２、中央領域５０３、右領域５０４における線種を示し、「分」は分岐線を、「−」は分岐線以外の白線を示している。つまり、状態７０１はどの領域でも分岐線が認識されていない状態、状態７０２は左領域５０２に、状態７０３は中央領域５０３に、状態７０４は右領域５０４にそれぞれ分岐線が認識された状態である。尚、認識結果は分岐線が描かれている状態によっても左右されるので、状態７０１〜７０４のうち、分岐線認識が起動されたときの初期状態は一意ではない。
【００４５】
この時の車の走行位置と状態との関係を、図７、図９を用いて説明する。地点８０１では、分岐前区間であるため、分岐線認識は行われないが、走行していくと分岐区間に入り分岐線認識処理が開始される。やがて分岐線８０７が見えるようになり、地点８０２では自車の左側に分岐線８０７が見え、状態７０２となる。その状態から右車線に車線変更して地点８０３に到達したときには、分岐線８０７は見えなくなり、状態７０１になる。地点８０２から本線を直進した地点８０４では、地点８０２と同様に、状態７０２となる。地点８０４から更に進行していき、分岐線８０７が見えなくなると、状態７０１になる。あるいは、地点８０２からランプ方向に進み、地点８０５に到達したときには状態７０３となる。その後、地点８０８まで走行すると、分岐線８０７が右に見え、状態７０４になる。その後、更に走行し、地点８０９に到達すると分岐線８０７は見えなくなり、状態７０１になる。このように、分岐方向によって、分岐線の認識結果の遷移パターンもいくつかに絞られる。この絞り込まれた遷移パターンを基にして、認識結果の補正が可能である。これについて、次に説明する。
【００４６】
図７の遷移パターンを基にすると、一例として図８の表に示すような補正が行われる。図８は、ランプが左分岐で、今回の認識結果に線種不明の白線がある場合を想定しており、「？」は線種不明の白線を意味している。
【００４７】
線種不明の白線が左領域５０２にあった場合、今回を状態７０２と仮定すると、前回の状態は状態７０２か状態７０１であり、左領域５０２に分岐線があったか、分岐線が何も認識できていなかったかのいずれかということになる。ここで、前回分岐線が認識できていなかった場合（状態７０１の場合）は、状態が不確かなため補正をしない。前回の認識結果で分岐線が左領域５０２にあれば、線種不明の白線は分岐線であるとする。一方、前回の認識結果で、分岐線が中央領域５０３または右領域５０４にあった場合、状態遷移のパターンと一致しないことから今回の分岐線認識は認識失敗とする。
【００４８】
同様に、線種不明の白線が中央領域５０３にあった場合、前回の認識結果で分岐線が左領域５０２または中央領域５０３にあれば、今回は中央領域５０３に分岐線があったものとして補正する。線種不明の白線が右領域５０４にあった場合、前回の認識結果で分岐線が中央領域５０３または右領域５０４にあれば、今回は右領域５０４に分岐線があったものと補正する。
【００４９】
また、認識結果の補正に限らず、分岐線が認識できた場合にも、その認識結果が正しいかどうかを、図７の遷移パターンに照合して判定することも可能である。例えば、左領域５０２に分岐線が認識できた場合には、前回の認識結果として左領域５０２に分岐線があったかどうかを見れば、今回の認識結果が正しいかどうかが判定できる。また中央領域５０３、右領域５０４に分岐線が見つかった場合も同様に、図７の遷移パターンに照合すればよい。
【００５０】
認識結果が状態７０１になるには、いくつかの理由がある。主として、分岐区間から外れた場合、分岐線の認識ができなかった場合、分岐区間で追越車線に車線変更した場合などである。これらのうち、追越車線への車線変更、分岐区間から外れたという２つの事象については、実際にカメラ１０２から分岐線が見えなくなるので、分岐線認識結果の補正は実行しない。したがって、妥当な補正処理を行うためには分岐線の認識ができなかった理由を特定する必要がある。前述のように、図３のステップ４０７の処理として、図６に示した認識結果の補正処理を直接行うのではなく、まず、分岐線の認識結果の補正処理を行うかどうかを決定した後に、認識結果を補正する場合の処理について次に述べる。
【００５１】
図１０は、ランプが左分岐の場合において分岐線の認識結果の補正処理を行うかどうかを決定した後に認識結果を補正する処理フローである。認識結果の補正処理を行うのは、自車が分岐区間を走行中であり、かつ、分岐線が見える車線を走行中の場合である。まず、自車の走行区間を判定する（ステップ１００１）。この場合、分岐前区間ではないことを前提としているため、分岐区間か、分岐後区間であるかを判定することになる。自車の走行区間を判定は、平行して動作する走行区間判定タスクに判定結果を参照することによって行われるが、この走行区間判定タスクにおける判定方法の詳細は後で述べる。この判定結果に基づき処理の分岐を判断し（ステップ１００２）、走行区間が分岐後区間であれば、認識終了処理をして分岐線認識を終了する（ステップ１００３）。走行区間が分岐区間の場合は、舵角を得る（ステップ１００４）。舵角は舵角計測部２０８で計測される。得られた舵角を基に操舵方向を判定し（ステップ１００５）、右方向だったら、追越車線に車線変更したと判断して、レーン変更処理を実行する（ステップ１００６）。操舵方向が真っ直ぐか左方向であれば、図６に示した処理フローにより図８に示した認識結果の補正パターンに従って認識結果を補正する（ステップ１００７）。
【００５２】
次に、ステップ１００１で走行区間の判定を行う走行区間判定タスクについて図１１を参照しながら述べる。この走行区間判定タスクではまず、自車が走行中のリンクを前方に辿って分岐ノードを探し（ステップ１１０１）、分岐ノードがあるかどうかを判定する（ステップ１１０２）。分岐ノードが見つからない場合は、分岐までの距離が遠いということなので、ステップ１１０１と１１０２を繰り返す。
【００５３】
前方に分岐ノードが存在する場合、自車位置前方に描かれている分岐線の情報を、地図ＤＢ２１０から得る（ステップ１１０３）。次に自車位置から分岐線始点までの距離ｄｂを算出する（ステップ１１０４）。ここで分岐線始点の座標や分岐線長などの情報は、地図ＤＢ２１０に格納されている。検索された分岐線の分岐線始点位置と計測した現在の自車位置との距離ｄｂが求められる。但し、この場合の距離ｄｂは、直線距離になるが、道路は分岐線始点まで直線であるとは限らない。そこで、分岐線始点と現在位置をマップマッチングして地図の道路リンク上での座標をそれぞれ求め、この２点間を結ぶ道路リンクを辿って分岐線始点までの距離を算出してもよい。
【００５４】
次に、走行距離を表す変数ｄｖを０に初期化し（ステップ１１０５）、初期化した地点からの走行距離を測定していく（ステップ１１０６）。そして、走行距離ｄｖと、分岐線長、ｄｂとの関係から、自車の走行区間を判定する（ステップ１１０７）。ｄｖ＜ｄｂの場合は分岐前区間と判定する（ステップ１１０８）。ｄｂ＜ｄｖ＜（ｄｂ＋分岐線長）の場合は分岐区間と判定する（ステップ１１０９）。（ｄｂ＋分岐線長）＜ｄｖの場合は分岐後区間と判定する（ステップ１１１０）。走行区間判定タスクは、この判定結果を図示されていない記憶手段に格納しておくことにより、前記ステップ１００１で判定結果を参照することができる。
【００５５】
ステップ１１０７で分岐前区間または分岐区間と判定した場合は、ステップ１１０６に戻る。分岐後区間と判定した場合は、ステップ１１０１に戻り、次の分岐ノードを検索する。
【００５６】
以上では、分岐方向が左の場合を想定して実施例を示してきたが、右方向の分岐の場合も同様である。右分岐の場合は、これまでの実施例における右と左との関係が逆になるだけであり、処理の本質的な部分は同じである。
【００５７】
また、以上に述べてきた実施例は、分岐線が１本だけ見える場合を想定していた。しかし、登坂車線の途中でランプへの分岐が存在する場合がある。登坂車線と本線とを区別する白線と分岐線は、道路規格の上ではほとんど同じ白線と考えてよいので、この場合、同一画像から分岐線の候補の白線が２本検出されることがある。そこで、分岐線の候補が２本検出される場合の処理について次に述べる。
【００５８】
登坂車線の途中で左分岐する白線の例を図９を用いて説明する。この場合、同じ白線でも８０７は分岐線であり、８１０は、登坂車線と通常の走行車線の境界線に相当することになる。この時は、ランプへの分岐方向の情報を基に、２本のうちのいずれかの認識結果を採用して進行方向を特定することが可能である。
【００５９】
図１２は、分岐線の候補が２本検出された場合において、分岐方向とカーナビゲーションシステム１０３が進行方向判定に採用する認識結果の関係を示したものである。左分岐の場合は、認識された２本の認識結果のうち、左側の認識結果を採用し、右分岐の場合は反対に２本の認識結果のうちの右側を採用する。例えば、左分岐の場合について、図９を使って述べる。自車が地点８０２に到達したときは、右と左に分岐線の候補が現れる。そのときは、左の結果を採用する。この場合は、８０７を採用したことになり、分岐線８０７が１本のみ検出された場合と同等の結果となる。
【００６０】
その後、右レーンに移動して地点８０３に到達した場合、左のみに分岐線候補が現れる。このときは、白線８１０を認識したのであり、分岐線８０７ではないが、進行方向が本線かランプかを判断する場合には問題にならない。
【００６１】
地点８０５に到達した場合は、中央と右に分岐線の候補が検出される。この場合は中央を採用する。すなわち、分岐線を跨いでいる途中であることがわかる。地点８０５から地点８０８に進行した場合は、右に分岐線候補が検出される。その後、分岐後区間に進入すると、画像から分岐線候補は検出されなくなる。
【００６２】
地点８０４から８０６に進行した場合を考えると、地点８０４では右と左に分岐線候補があり、地点８０６では右のみに分岐線候補がある。この場合、図１２の規則に従って、地点８０４では左に分岐線があると判断する。地点８０６では右のみに分岐線候補が存在するが、左分岐の分岐点において自車の右側に分岐線が出現する場合には、図７の遷移パターンに当てはめると、それ以前に中央に分岐線が存在していなければならない。しかし、地点８０４から８０６に進行した場合はこれに当てはまらないので、地点８０６において右に分岐線があるという認識結果は、進行方向判定には使わない。従って、自車がランプに進行したという判定をすることは無く、分岐後区間に進入したという判断になる。
【００６３】
右分岐の場合も同様である。右分岐の場合は、検出された２本の分岐線候補のうち、右側の結果を採用することによって、分岐線と自車との位置関係がわかる。
【００６４】
上記の例では、認識された２本の白線のうちの１本を分岐線として採用するという方法について述べたが、分岐線候補が２本検出された場合を含めた遷移パターンを予測するという方法も可能である。このときの遷移パターンを図１３に示す。図１３は図１２における左分岐の場合を想定している。便宜上、分岐線の候補となる白線を「分」と示しており、登坂車線と通常の走行車線の境界線も「分」と示している。
【００６５】
例えば登坂車線を走行中の場合を考えると、登坂車線を直進すれば、状態１４０４→状態１４０６→状態１４０４のような遷移を辿る。ランプ方向に進行すれば、状態１４０４→状態１４０６→状態１４０７→状態１４０４のような遷移を辿る。登坂車線から走行線に変更すれば、状態１４０４→状態１４０６→状態１４０５→状態１４０２のような遷移を辿る。
【００６６】
このとき、認識結果を補正する考え方は次のようになる。例えば分岐線候補が右領域５０４と左領域５０２で認識され（状態１４０６）、この後、左領域５０２のみに分岐線候補が認識できたとする（状態１４０２）。状態１４０２の認識結果が正しいとすれば、右車線への変更が完了していることになるが、途中に右側の白線を跨いでいる状態（状態１４０５）を経由することになるため、直接、状態１４０６→状態１４０２という遷移はありえない。また右側の白線を跨いでいる状態を誤認識したとしても、状態１４０２の認識結果が正しいという仮定から、状態１４０１などのご認識の状態を経由することになり、やはり直接、状態１４０６→状態１４０２という遷移はありえない。従って、状態１４０６から状態１４０２になった場合、状態１４０２の認識結果は誤りであり、左、中央、右のいずれかの領域における白線の認識結果が誤りであったことになる。この時、状態１４０６と状態１４０２における左と中央の認識結果が同じであることから、これら２つの認識結果は矛盾していないため、右領域５０４に認識できていた分岐線候補が誤認識されたと判断する。そこで補正をして、右領域５０４にも分岐線候補が存在するとみなす。
【００６７】
認識された２本の白線のうち、左側の１本を採用する方法の場合、自車が分岐線のどちら側にいるかということしかわからないが、図１３に示すような遷移パターンが判れば、認識された分岐線候補が分岐線か、登坂車線と走行車線の車線境界線かがわかる。例えば状態１４０２になった場合、前フレームの結果が状態１４０２であれば、分岐線が認識されていることになり、前フレームの結果が状態１４０５であれば、認識されたのは車線境界線である。これによって、走行中のレーンを判別することも可能である。
【００６８】
右分岐において２本の分岐線候補が検出される場合も、同様の遷移パターンが存在し、それを用いて誤認識を補正することが可能である。
【００６９】
尚、登坂車線を走行中かどうかの判定は、次のような方法で可能である。例えば、分岐前区間において右領域５０４に分岐線が認識できたとする。ここで、走行区間の判定は、図１１の処理フローと同様である。この分岐は左方向の分岐であり、分岐前区間において右領域５０４のみに分岐線が認識できたということは、現在は登坂車線を走行中であると判断できる。
【００７０】
図７や図１３に示した遷移パターンは、自車が分岐線を跨いだ後は必ずランプ方向に進行していくという仮定の下で成り立っている。しかし、場合によっては分岐線を跨いでランプ方向に移動した後に再度、本線方向に戻る場合も存在する。例えば、分岐線が長い（すなわち分岐区間が長い）場合にはこのようなことがありうる。この時は、分岐線の長短によって、本線に戻ることがあるかどうかを判断する。ここでは、分岐線が左領域５０２から検出された場合における認識結果の成否判定について述べる。尚、ここでも分岐方向は左と想定する。
【００７１】
図１４は、図３のステップ４０１やステップ４０４における画像処理により分岐線が左領域５０２から検出された場合に、分岐線の長さを用いて認識結果の成否を判定する処理フローの一例である。ステップ１５０１で分岐線の長さを得る。分岐線の長さは、地図ＤＢ２１０に格納されている。次にステップ１５０２で前回の認識結果を得る。前回の認識結果は、認識結果ＤＢ２０４に格納されている。ステップ１５０３で、前回の結果から、前回の分岐線位置を判定し、分岐線位置が左ならば、図７の遷移パターンに合致しているので、そのまま分岐線が認識されたものとする（ステップ１５０６）。前回認識された分岐線位置が右ならば、今回を誤認識とする（ステップ１５０５）。これは、右にあった分岐線が突然左に移ることはありえないからである。
【００７２】
そして前回の分岐線位置が中央の場合は、今回の結果が正しいかどうかを分岐線の長さに応じて判断する。分岐線の長さを閾値と比べて（ステップ１５０４）、閾値よりも長い場合は、ランプ方向から戻ってきた運転によるためと判断し、分岐線が認識されたものとする。閾値よりも分岐線が短い場合は、ランプ方向から戻ることはほとんど有り得ないため、今回は誤認識とする。尚、前記閾値は、ランプ方向から戻っても危険でない分岐線長に基づいて決まる値である。
【００７３】
以上で述べた実施例は、分岐線が１回でも認識できたときを対象とした処理であるが、分岐線以外の白線の認識結果を用いれば、分岐線が検出できない場合でも補正が可能である。それについて次に述べる。
【００７４】
図１５は、図９に示すような道路において、実線、破線、分岐線の認識結果の理想的な遷移パターンを示す。状態１８０１は、走行前区間において、最左レーンを走行中の状態である。つまり、左領域５０２から実線が、右領域５０４から破線がそれぞれ検出されている状態である。そのまま分岐区間に進入すると、状態１８０２になる。そのまま直進すれば状態１８０２のままになり、分岐後区間に進入すれば状態１８０１に戻る。状態１８０２から分岐方向に侵入すれば、状態１８０３→状態１８０４→状態１８０９のように遷移する。状態１８０１から右レーンに進行した場合は、状態１８０５→状態１８０７→状態１８０８のように遷移し、状態１８０２から右レーンに進行した場合は、状態１８０６→状態１８０７→状態１８０８のように遷移する。
【００７５】
分岐区間にもかかわらず分岐線が認識できない場合は、この図１５の遷移パターンを基にして補正する。例えば、状態１８０１を確認し、次の結果で、右領域５０４で破線が認識でき、他の白線が認識できなかった状態を考える。そのとき、前回は状態１８０１であり、その次の状態として右領域５０４に破線が出現するのは、状態１８０２である。したがって、このときは左領域５０２に分岐線があるはずであると判断する。
【００７６】
一方、分岐線ではない白線が２本検出された場合は、最左レーンではない、別のレーンを走行中であると判断し、補正処理は実行しない。
【００７７】
図１６は、走行中のレーンと走行区間を考慮して進行方向判定する処理フローであり、自車前方に分岐が存在するということがわかってからの処理である。これは、図２の処理フローにおけるステップ３０５からステップ３０８までの処理の変形である。
【００７８】
この例では、図２の処理フローと異なり、走行区間判定の前にステップ１９０１で画像認識を実行し、白線を検出する。その結果を用いて、ステップ１９０２で走行レーンを判定する。そして走行レーンの判定結果が最左レーンであるか否かを調べ（ステップ１９０３）、走行レーンが最左レーンの場合は、走行区間を判定する（ステップ１９０４）。判定された走行区間によって処理が分岐し（ステップ１９０５）、まだ分岐前区間を走行していると判定されたならばステップ１９０１に戻る。また分岐区間に進入していたら、ステップ１９０６で画像認識を実行する。その結果、分岐線が認識されなければ、ステップ１９０８で認識結果の補正処理を実行し、進行方向を判定する（ステップ１９０９）。分岐線が認識されていれば、そのままステップ１９０９に進む。ステップ１９０９で進行方向が判定されたら、再びステップ１９０１に戻る。ステップ１９０５で、走行区間が分岐後区間であると判定されたら、進行方向判定の対処となる分岐点についての処理は終了である。
【００７９】
また、認識結果の遷移パターンに沿わない場合でも、ある認識結果が出た場合は、その時の認識結果を優先して進行方向特定に利用することにしてもよい。例えば、分岐線が認識できなくても、状態１８０９になったとき、すなわち左領域５０２と右領域５０４に実線が認識された場合は、ランプ方向に進行したとする。つまり、図１５の遷移パターンにおいて、状態１８０２、１８０３、１８０４が無かったとしても、以前に状態１８０１があり、すなわち左領域５０２と右領域５０４に実線が認識された場合は、ランプ方向に進行したと判断する。
【００８０】
逆に、本線方向に進行したときでも、同様である。本線に進む場合は、状態１８０１→状態１８０２→状態１８０１となる。しかし、分岐線が認識できず、状態１８０２が無かったとしても、以前に状態１８０１になり、今回の認識結果が状態１８０１になっていれば本線方向に進行したと判断する。
【００８１】
以上に述べた実施例によって、認識結果が安定しない場合でも標示物認識結果の信頼性を高めることが可能になり、分岐地点における進行方向を正確に判定することが可能になる。
【産業上の利用可能性】
【００８２】
本発明をカーナビゲーションシステムに適用することによって、より正確かつ詳細な経路誘導に寄与できる。また、ドライバーに対する安全運転支援にも適用可能である。
【図面の簡単な説明】
【００８３】
【図１】本発明の実施例の構成図である。
【図２】本発明における処理のフローチャートである。
【図３】分岐線認識の処理フローチャートである。
【図４】分岐線が認識される領域を定義した図である。
【図５】認識結果ＤＢのデータ構造の一例を表す図である。
【図６】認識結果の補正処理を示すフローチャートである。
【図７】左分岐における認識結果遷移を表す状態遷移図である。
【図８】左分岐における認識結果と補正結果の関係を表す図である。
【図９】道路分岐部の模式図である。
【図１０】舵角を用いて認識結果補正を実行するかどうかを判定するフローチャートである。
【図１１】車が走行中の区間を判定するフローチャートである。
【図１２】画像から分岐線候補が複数検出された場合に進行方向判定に利用する分岐線を示す図である。
【図１３】登坂車線を含む左分岐における認識結果遷移を表す状態遷移図である。
【図１４】前回と今回の認識結果が異なる場合の認識結果判定の一例を表すフローチャートである。
【図１５】実線、破線、分岐線の認識結果遷移パターンの一例である。
【図１６】分岐線認識結果補正処理の一例を示すフローチャートである。
【符号の説明】
【００８４】
１０１…画像処理装置、１０２…カメラ、１０３…カーナビゲーションシステム、１０５…ＧＰＳ、１０６…車速センサ、１０７…ジャイロセンサ、１０９…舵角センサ、２０１…分岐線認識部、２０２…認識結果補正部、２０３…遷移パターン照合部、２０４…認識結果ＤＢ、２０５…遷移パターンＤＢ、２０６…進行方位計測部、２０７…走行距離計測部、２０８…舵角計測部、２０９…マップマッチング部、２１０…地図ＤＢ。
【図１】
2008102684.tif 000003
【図２】
2008102684.tif 000004
【図３】
2008102684.tif 000005
【図４】
2008102684.tif 000006
【図５】
2008102684.tif 000007
【図６】
2008102684.tif 000008
【図７】
2008102684.tif 000009
【図８】
2008102684.tif 000010
【図９】
2008102684.tif 000011
【図１０】
2008102684.tif 000012
【図１１】
2008102684.tif 000013
【図１２】
2008102684.tif 000014
【図１３】
2008102684.tif 000015
【図１４】
2008102684.tif 000016
【図１５】
2008102684.tif 000017
【図１６】
2008102684.tif 000018