路上標示認識装置およびカーナビゲーションシステム
【課題】経年変化によるかすれや、部分的な欠落などによって、同一の白線であっても部分的に画像認識ができない場合でも、白線の認識結果の信頼性を高める。
【解決手段】車両に備えられたカメラの画像を処理して路上標示物を認識する路上標示物認識手段と、地図リンク情報を保持する地図DBと、車と路上標示物との相対位置関係の遷移パターン格納した遷移パターンDBと、前記路上標示物認識手段による認識結果と前記遷移パターンを照合する遷移パターン照合手段と、前記認識結果を保持する認識結果DBを備え、前記遷移パターン照合手段の出力結果を用いて路上標示物の有無を判定する。
【解決手段】車両に備えられたカメラの画像を処理して路上標示物を認識する路上標示物認識手段と、地図リンク情報を保持する地図DBと、車と路上標示物との相対位置関係の遷移パターン格納した遷移パターンDBと、前記路上標示物認識手段による認識結果と前記遷移パターンを照合する遷移パターン照合手段と、前記認識結果を保持する認識結果DBを備え、前記遷移パターン照合手段の出力結果を用いて路上標示物の有無を判定する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、路上の標示を画像認識する装置とこの認識結果を用いるカーナビゲーションシステムに関するものである。
【背景技術】
【0002】
特許文献1には、分岐線の認識方法が開示されている。この従来技術では、路上表示線のエッジライン2本を抽出し、当該エッジラインの間隔によって分岐線かどうかを判断する。更に、認識結果の信頼性を高めるために、第1の分岐線認識を実行した後、所定の時間を経て第2の分岐線認識を実行する。これら2回の認識結果に基づいて、最終的な分岐線判定を実行する。第1の分岐線認識を実行して分岐線が認識できた後、第2の分岐線認識で分岐線が認識できなかった場合は、第1の分岐線認識の結果を採用する。また、認識処理の結果、直線が検出できなかった場合は、過去n回以内に直線が検出されていればその結果を今回の認識結果としている。過去n回以内に直線が検出されていなければ、今回は直線が検出できなかったと判断する。直線を認識すると、その移動方向から、分岐における進行方向を特定する。例えば、右に存在する白線が右側に移動して消えていけば、自車は左車線を走行中と判断する。
【0003】
【特許文献1】特開平11−232467号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
路上の白線は、経年変化によるかすれや、部分的な欠落などが存在する場合があり、同一の白線であっても部分的に画像認識ができない場合がある。その解決策として、上記特許文献1では、一定時間をおいて2回の認識処理を実行し、その結果から白線認識結果を検証して信頼性を高める技術を開示している。
【0005】
上記特許文献1に開示の技術では、2回の分岐線認識を実行するタイミングによっては、分岐線が存在するにもかかわらず、分岐線の存在を認識することができない場合がある。例えば、分岐線の最初と最後は分岐線がはっきりと塗られていて途中がかすれている場合、途中の部分で2回の分岐線認識を実行しても、2回とも認識不可となって信頼度の判定ができず、分岐線の存在を確認できない可能性がある。
【0006】
認識できない場合、過去n回の認識処理で直線が認識されていれば、最新の直線の方程式を今回の結果として採用するとしても、画像には複数の直線が検出される場合がある。したがって、何らかの方法で、採用する直線を選択する必要があるが、その方法については記載されていない。つまり、画像内における直線の位置までは考慮していない。
【0007】
また、分岐線が短い場合、1回目の認識ができたとしても、2回目の認識をする前に車が分岐線を通過してしまうことが考えられる。そのときは、2回目の認識で分岐線が認識されず、結果的に1回目の結果のみで分岐線の有無を判定するため、認識結果の信頼性向上にはつながらない。
【0008】
本発明の目的は、路上標示物と自車との相対的な位置関係の遷移パターンを用いることによって、路上標示物の画像認識が安定しない場合でも、路上標示物の画像認識の信頼性を向上させることにある。
【課題を解決するための手段】
【0009】
車両に備えられたカメラの画像を処理して路上標示物を認識する路上標示物認識手段と、道路リンク情報を保持する地図DBと、車と路上標示物との相対位置関係の遷移パターンを格納した遷移パターンDBと、前記路上標示物認識手段による認識結果と前記遷移パターンを照合する遷移パターン照合手段と、前記認識結果を保持する認識結果DBを備え、前記遷移パターン照合手段の出力結果を用いて路上標示物の有無を判定する。
【0010】
また、前記路上標示物認識手段は、カーナビゲーションシステムから、車前方の分岐方向を受け取り、当該分岐方向に基づいて、車と路上標示物との相対位置関係の遷移パターンを予測し、当該予測の結果と路上標示物認識結果とを照合し、路上標示物の認識結果を補正する。
【0011】
また、前記路上標示物認識手段は、前記カメラから得られる画像から、認識対象とする標示物が認識されなかった場合、前回の認識結果と前記遷移パターンに基づいて今回の認識結果を補正し、その結果を前記認識結果DBに格納する。
【0012】
また、前記路上標示物認識手段は、前記カメラから得られる画像から、認識対象とする標示物が認識されなかった場合、前記カーナビゲーションシステムから舵角の方向を得て、分岐方向と逆方向でない場合に、認識結果を補正し、その結果を前記認識結果DBに格納する。
【0013】
また、前記認識結果DBは、画像処理を実行したフレームに関する少なくとも画像認識結果、当該画像認識結果の補正結果を含み、更に当該画像認識結果と当該補正結果は、認識された路上標示物の画像における位置を含んでいる。
【0014】
また、前記カーナビゲーションシステムは、前記路上標示物認識手段に接続され、前記路上認識手段の出力結果を用いて車の進行方向を判定する。
【0015】
また、前記カーナビゲーションシステムは、車両に備えられたカメラの画像を処理して路上標示物を認識する路上標示物認識手段と、地図リンク情報と少なくとも路上標示物の種類と当該路上標示物が存在するレーン情報を保持する地図DBと、前記路上標示物認識手段による認識結果と前記地図DBを照合することによって、自車の進行方向を判定する。
【発明の効果】
【0016】
本発明によれば、路上標示物と自車との相対的な位置関係の遷移パターンを用いて認識対象とする路上標示物を制限することによって、路上標示物の画像処理の結果が安定しない場合でも、路上標示物の画像認識の信頼性が高まる。
【発明を実施するための最良の形態】
【0017】
本発明の一実施例につき、図面を参照しながら述べる。
【実施例1】
【0018】
図1は、本発明を用いた路上標示認識装置の構成図である。本実施例では、カーナビゲーションシステム103に、画像処理装置101、GPS105が接続されている。更にカーナビゲーションシステム103には、車速センサ106、ジャイロセンサ107、舵角センサ109が接続されている。画像処理装置101には、カメラ102が接続されている。車速センサ106、ジャイロセンサ107、舵角センサ109は、車内ネットワークに接続されており、カーナビゲーションシステム103は、車内ネットワークのデータを送受信する機能を備えている。
【0019】
GPS105は、自車位置を測位するための装置である。車速センサ106とジャイロセンサ107も自車位置を測位するための装置であり、これら2つの装置を用いてデッドレコニングと呼ばれる手法を用いて自車位置を特定する。カメラ102は車体に設置され、自車が走行中の道路面を撮影する。画像処理装置101は、カメラ102で撮影された映像を処理する。
【0020】
画像処理装置101には、分岐線認識部201があり、カメラ102で撮影された画像から車線を抽出する。分岐線認識部201は、自車の周辺に分岐線が存在するかどうかを判定し、自車の左右に分岐線が存在する又は分岐線を跨ぎ中であるといった自車と分岐線の位置関係を求める。
【0021】
分岐線と自車との位置関係は、図4に示す通りである。尚、図4では、カメラ102が車の後方に設置されている場合、左右を逆にした映像が得られ、カメラ102が車の前方に設置されている場合、カメラ102の映像と実際との左右の位置関係は同一であるものと仮定する。以下で述べる実施例においては、カメラ102がこれら2種類のいずれの設置位置でも実施可能である。
【0022】
分岐線認識部201は、1枚の画像505を縦に3等分し、左領域502、中央領域503、右領域504からそれぞれ1本ずつ、最大3本の白線が認識する。画像を認識した白線が3つのうちのどの領域のものかは、認識した白線の両端点のうち、消失点501と反対側の端点が左領域502、中央領域503、右領域504のどの領域に入っているかによって決定する。分岐線認識部201は、上記の分岐線の認識結果を、1フレーム毎に認識結果DB204に蓄積していく。
【0023】
認識結果補正部202は、分岐線認識部201で認識した結果が正しいかどうかを判断し、必要に応じて認識結果を補正する。そのために、遷移パターン照合部203では、分岐線の認識結果が予め遷移パターンDB205に保存されている遷移パターンに適合するかどうかを判定する。認識結果補正部202では、遷移パターン照合部203の判定結果に基づいて、認識結果を補正するかどうかを判断する。
【0024】
認識結果DB204には、各フレームにおける画像認識結果、補正結果、補正フラグが格納されている。この画像認識結果には、左領域502、中央領域503、右領域504それぞれにおいて認識された白線の種類が含まれており、補正結果には、前記画像認識結果を補正したときの左領域502、中央領域503、右領域504それぞれにおける結果が格納される。また補正フラグは、認識結果が補正されたかどうかを表すフラグである。この補正フラグが立っていれば、画像認識結果と補正結果は異なり、立っていなければ同じ結果であることを表している。
【0025】
認識結果DB204のデータ構造の一例を、図5に示す。図5の例では、処理を行った各分岐地点毎にフレーム毎の認識結果をまとめて格納する構造になっている。フィールド1701は、処理した分岐地点の数を表す。フィールド1702は、分岐地点ごとの認識結果を表しており、フィールド1701の数だけ存在する。分岐地点ごとの結果は、分岐地点番号を格納するフィールド1703、処理フレーム数を格納するフィールド1704、フレームごとの認識結果を格納するフィールド1705を含む。
【0026】
フィールド1705のフレームごとの認識結果は、フレーム番号を格納するフィールド1706、画像認識結果を格納するフィールド1707、補正結果を格納するフィールド1711を含む。フィールド1706の画像認識結果は、右領域、中央領域、左領域に認識された白線の種類をそれぞれ格納するフィールド1708、1709、1710を含む。フィールド1707の補正結果は、補正フラグと、右領域、中央領域、左領域の、それぞれの領域の認識結果を補正した結果を格納するフィールド1712、1713、1714、1715を含む。但し、補正フラグが立ってない場合は、フィールド1713、1714、1715は無くてもよい。
【0027】
カーナビゲーションシステム103の内部には、走行距離計測部207、進行方位計測部206、マップマッチング部209、舵角計測部208、地図DB210がある。走行距離計測部207は、車速センサ106の出力結果を用いて車両の走行距離を測定する。進行方位計測部206は、ジャイロセンサ107の出力結果を用いて車両の進行方向を測定する。走行距離計測部207と進行方位計測部206の出力結果は、マップマッチング部209に送られ、これらの出力結果を用いたデッドレコニング処理によって自車位置が特定され、さらにマップマッチング処理によって、地図上の位置が特定される。但し、車速センサ106やジャイロセンサ107の誤差により、デッドレコニングの結果にも誤差が蓄積していくため、一定時間ごとにGPS105による自車位置リセットが実行される。また、ジャイロセンサ107の代わりに、舵角センサ109を用いて車両の進行方向を測定してもよい。
【0028】
地図DB210には、単に経路探索用のリンクデータが入っているだけでなく、道路標示物に関する情報も含まれている。例えば、高速道路出口に描かれている分岐線等の情報が含まれている。分岐線の情報については、分岐線始点座標、終点座標、始終点間の形状を現す補間点座標列、分岐線の長さ、曲率等のデータが含まれている。
【0029】
図2は、カーナビゲーションシステム103と画像処理装置101を組み合わせて、自車の進行レーンを判定するソフトウェアの処理フローの概略を示したものである。具体的には、高速道路上の分岐において、ランプと本線のどちらを走行しているかを判定するフローを示しており、高速道路の出口付近でどちらを走っているかを判定する処理である。
【0030】
まず、カーナビゲーションシステム103は、自車が存在するリンクを辿って、自車の現在位置前方に分岐があるかどうかを検索する(ステップ301)。そして分岐が存在するか否かを判断し(ステップ302)、前方に分岐が存在するならば、ランプの分岐方向を判定する(ステップ303)。次に、ステップ303で求めた分岐方向に基づいて、分岐線認識結果の遷移パターンを予測する(ステップ304)。例えば左分岐の場合、自車が分岐を跨いでランプ方向に走行する場合は、分岐線は左→中央→右という遷移を辿ることになる。本線を走行する場合は左のままである、というような遷移パターンを予測しておく。次に、走行区間を判定する(ステップ305)。ここで、走行区間とは、分岐の前か、分岐の途中か、分岐の後かということであり、以下、それぞれを、分岐前区間、分岐区間、分岐後区間と記す。この詳細は、図9に示す通りである。分岐前区間とは分岐線が出現する前の区間であり、分岐区間とは分岐線が描かれている区間であり、分岐後区間とは分岐線を通過した後の区間である。
【0031】
この走行区間の判定結果を判断して(ステップ306)、走行区間が分岐前区間と判定されたならば、まだ分岐区間までには至ってはいないため、再びステップ305に戻る。走行区間が分岐区間と判定されるようになったならば、分岐線認識を実行する(ステップ307)。ここで、分岐線認識処理のアルゴリズムは、例えば特開2003−123058号公報などに開示されているものを使うことにより実現できる。次に、分岐線の認識結果を用いて、走行レーンを判定する(ステップ308)。走行レーンの判定には、画像における白線の位置を利用する。
【0032】
走行レーンを判定したら、再びステップ305に戻る。以下、ステップ308までを、ステップ305で走行区間が分岐後区間であると判定されるまで繰り返す。走行区間が分岐後区間に入ったと判定されたならば、ステップ301に戻り、次の分岐を検索する。この一連の処理が、カーナビゲーションシステム103の電源が切られるまで、繰り返し実行される。
【0033】
但し、上記の分岐線認識処理のアルゴリズムでは、結果が安定しないことが考えられる。例えば、分岐線始点付近では、線がはっきりと塗られているが、分岐線の途中ではかすれなどによって認識ができなかったり誤認識したりすることがあり、同一の分岐線でも、部分的に認識結果が異なることがある。そこで、ステップ307の分岐線認識において、1フレームごとの認識結果を複数フレーム分保持し、認識結果の履歴を用いて、分岐線の有無を判定することが望ましい。その方法について次に述べる。
【0034】
図3は、複数フレームの認識結果を参照して分岐線の有無を判定する分岐線認識の処理フローである。この処理フローでは、判定直前にカメラ102から取り込まれた過去10フレームの映像中、7フレームで分岐線が認識できた場合に、分岐線があったと判定する。但し、上述したフレーム数は一例であり、実装時は任意に決めてよい。
【0035】
まず、1フレーム分の映像について画像認識を実行して分岐線の認識を行い(ステップ401)、その結果、分岐線が認識されたかどうかを判定する(ステップ402)。分岐線が認識されなかった場合は、ステップ401に戻って、分岐線が認識できるまで画像認識を実行する。分岐線が認識された場合は、画像処理枚数、分岐線認識数、認識失敗数の各パラメータを初期化し(ステップ403)、次に取り込まれた1フレーム分の映像について画像認識を実行する(ステップ404)。その結果、分岐線が認識されたかどうかを判定し(ステップ405)、分岐線が見つかれば、認識結果DB204にフレーム番号と認識結果を格納した上で、分岐線認識数に1を加算する(ステップ406)。もし分岐線が認識されなければ、認識結果の補正を実行する(ステップ407)。ステップ407の認識結果の補正処理については後述する。認識結果を補正した結果を判定し(ステップ408)、分岐線が見つかったと判定された場合には、やはり認識結果DB204にフレーム番号と補正結果を格納した上でステップ406へ進み、分岐線認識数に1を加算する。しかし分岐線の認識に失敗したと判定された場合には、認識失敗数に1を加算する(ステップ409)。次に1フレーム分の処理が終了したので画像処理枚数に1を加算する(ステップ410)。
【0036】
この時点で、認識失敗数を判定し(ステップ411)、それが4を超えていたら、10フレームの映像中7フレームで分岐線が認識できた場合に分岐線があったと判定するという条件により、分岐線の認識は失敗とする。しかし認識失敗数が4を超えていなければ、画像処理枚数を判定し(ステップ412)、処理したフレーム数が10に到達していれば分岐線認識が成功したと判定する。つまり、画像10枚に対して、分岐線認識失敗が3枚以下だったということである。また、処理したフレーム数が10に達していなければ、ステップ404に戻り、次のフレームについて画像認識処理を行う。図3のフローは、ステップ307に相当するものであり、図3のフローで得られた分岐線の認識結果が、ステップ308の進行レーン判定に使われる。
【0037】
ところで、車速は運転状況によって異なるため、10フレームを画像処理する間の走行距離は異なる。渋滞で車がほとんど動かない場合、10フレームの画像はほとんど同じ場所を処理するだけである。たまたま白線がかすれていて認識ができない場所で渋滞に遭遇した場合などは、上記の基準だけでは分岐線の認識が失敗したことになってしまう。従って、フレーム数だけで分岐線の有無を判断するのではなく、車両の走行距離に応じて分岐線認識するタイミングを決めれば、より有効な結果を得ることができる。
【0038】
これは、一定の時間間隔でカメラ102から取り込んだ映像について画像処理を行うのではなく、例えば1m走行するごとに分岐線認識を実行するなどと分岐線認識間隔距離を決めておく。そして、1m走行するたびにカーナビゲーションシステム103から画像処理装置101に対してコマンドを送って、分岐線認識のトリガーをかける方法をとればよい。あるいは、マップマッチング間隔から、分岐線認識間隔距離を決定してもよく、例えば、マップマッチング間隔の1/10などと決めておけばよい。または、過去何フレームを参照するか(参照フレーム数)を決めておき、分岐線認識間隔距離をマップマッチング間隔/参照フレーム数としてもよい。
【0039】
分岐線が認識できない場合としては、別の線種に誤認識されたか、線種が不明であると判断されたか、あるいは白線自体が検出できない等のパターンがある。これらのような現象が起きた場合は、認識結果の補正処理を実行する。この認識結果の補正処理を、図6を用いて説明する。図6は、分岐線が認識できなかった場合のパターンのうち、検出された白線の線種が不明とされて画像から分岐線が検出できなかった場合を想定した認識結果補正の処理フローであり、これは、図3のステップ407に相当する。
【0040】
まずステップ404の画像認識で、線種不明の白線が認識されたかどうかを判定し(ステップ601)、線種不明の白線が認識されていなければ、分岐線認識が失敗したものとする。線種不明の白線が認識されていれば、前回のフレームに対する分岐線認識結果を参照して、分岐線が認識できていたかどうかを判定する(ステップ602)。前回の認識結果は、認識結果DB204に保存されている。前回、分岐線が認識できていたら、ステップ603で、線種不明の白線の位置を、白線位置の遷移パターンと照合する。整合がとれるか否かを判定し(ステップ604)、整合がとれるのであれば分岐線認識成功とし、整合がとれなければ失敗とする。ステップ602で、前回も分岐線が認識できていなかった場合は、分岐線認識失敗とする。
【0041】
ここで、ステップ603の、遷移パターンとの照合について述べる。ステップ304によって、分岐路の分岐方向がわかっていれば、分岐線位置の遷移パターンは既知である。ステップ303の分岐方向判定処理で左分岐となった場合、この分岐線認識結果の遷移パターンは左のまま、左→中央→右、といったパターンが考えられる。このとき、今回は右領域504に分岐線が検出されたとすると、前回のフレームに対する分岐線認識結果を参照し、中央領域503に分岐線が検出されていたならば、左→中央→右の遷移パターンとつじつまが合うので、今回の認識結果は成功とする。
【0042】
次に、このような遷移パターンとの照合に基づく補正処理について述べる。例えば、中央領域503に線種不明の白線が検出された場合、前回のフレームに対する分岐線認識結果を参照し、左領域502に分岐線が認識されていたものとする。この場合、今回検出された線種不明の白線を分岐線と仮定すると、左→中央→右の遷移パターンに合致する。そこで、今回検出された線種不明の白線は分岐線であるものと判断する。
【0043】
例えば、自車が分岐区間を走行中ということがわかれば、分岐線は、自車位置近くのどこかに存在するはずであり、それまでに見えていた分岐線が突然どこか遠くに行ってしまうことはほとんど有り得ない。すなわち、分岐線と自車との相対位置関係遷移には、何らかの規則性が存在するため、上記の処理が可能である。
【0044】
片側複数車線の道路から左分岐する場合の分岐線位置の状態遷移パターンを、図7に示す。尚、各状態には左から、左領域502、中央領域503、右領域504における線種を示し、「分」は分岐線を、「−」は分岐線以外の白線を示している。つまり、状態701はどの領域でも分岐線が認識されていない状態、状態702は左領域502に、状態703は中央領域503に、状態704は右領域504にそれぞれ分岐線が認識された状態である。尚、認識結果は分岐線が描かれている状態によっても左右されるので、状態701〜704のうち、分岐線認識が起動されたときの初期状態は一意ではない。
【0045】
この時の車の走行位置と状態との関係を、図7、図9を用いて説明する。地点801では、分岐前区間であるため、分岐線認識は行われないが、走行していくと分岐区間に入り分岐線認識処理が開始される。やがて分岐線807が見えるようになり、地点802では自車の左側に分岐線807が見え、状態702となる。その状態から右車線に車線変更して地点803に到達したときには、分岐線807は見えなくなり、状態701になる。地点802から本線を直進した地点804では、地点802と同様に、状態702となる。地点804から更に進行していき、分岐線807が見えなくなると、状態701になる。あるいは、地点802からランプ方向に進み、地点805に到達したときには状態703となる。その後、地点808まで走行すると、分岐線807が右に見え、状態704になる。その後、更に走行し、地点809に到達すると分岐線807は見えなくなり、状態701になる。このように、分岐方向によって、分岐線の認識結果の遷移パターンもいくつかに絞られる。この絞り込まれた遷移パターンを基にして、認識結果の補正が可能である。これについて、次に説明する。
【0046】
図7の遷移パターンを基にすると、一例として図8の表に示すような補正が行われる。図8は、ランプが左分岐で、今回の認識結果に線種不明の白線がある場合を想定しており、「?」は線種不明の白線を意味している。
【0047】
線種不明の白線が左領域502にあった場合、今回を状態702と仮定すると、前回の状態は状態702か状態701であり、左領域502に分岐線があったか、分岐線が何も認識できていなかったかのいずれかということになる。ここで、前回分岐線が認識できていなかった場合(状態701の場合)は、状態が不確かなため補正をしない。前回の認識結果で分岐線が左領域502にあれば、線種不明の白線は分岐線であるとする。一方、前回の認識結果で、分岐線が中央領域503または右領域504にあった場合、状態遷移のパターンと一致しないことから今回の分岐線認識は認識失敗とする。
【0048】
同様に、線種不明の白線が中央領域503にあった場合、前回の認識結果で分岐線が左領域502または中央領域503にあれば、今回は中央領域503に分岐線があったものとして補正する。線種不明の白線が右領域504にあった場合、前回の認識結果で分岐線が中央領域503または右領域504にあれば、今回は右領域504に分岐線があったものと補正する。
【0049】
また、認識結果の補正に限らず、分岐線が認識できた場合にも、その認識結果が正しいかどうかを、図7の遷移パターンに照合して判定することも可能である。例えば、左領域502に分岐線が認識できた場合には、前回の認識結果として左領域502に分岐線があったかどうかを見れば、今回の認識結果が正しいかどうかが判定できる。また中央領域503、右領域504に分岐線が見つかった場合も同様に、図7の遷移パターンに照合すればよい。
【0050】
認識結果が状態701になるには、いくつかの理由がある。主として、分岐区間から外れた場合、分岐線の認識ができなかった場合、分岐区間で追越車線に車線変更した場合などである。これらのうち、追越車線への車線変更、分岐区間から外れたという2つの事象については、実際にカメラ102から分岐線が見えなくなるので、分岐線認識結果の補正は実行しない。したがって、妥当な補正処理を行うためには分岐線の認識ができなかった理由を特定する必要がある。前述のように、図3のステップ407の処理として、図6に示した認識結果の補正処理を直接行うのではなく、まず、分岐線の認識結果の補正処理を行うかどうかを決定した後に、認識結果を補正する場合の処理について次に述べる。
【0051】
図10は、ランプが左分岐の場合において分岐線の認識結果の補正処理を行うかどうかを決定した後に認識結果を補正する処理フローである。認識結果の補正処理を行うのは、自車が分岐区間を走行中であり、かつ、分岐線が見える車線を走行中の場合である。まず、自車の走行区間を判定する(ステップ1001)。この場合、分岐前区間ではないことを前提としているため、分岐区間か、分岐後区間であるかを判定することになる。自車の走行区間を判定は、平行して動作する走行区間判定タスクに判定結果を参照することによって行われるが、この走行区間判定タスクにおける判定方法の詳細は後で述べる。この判定結果に基づき処理の分岐を判断し(ステップ1002)、走行区間が分岐後区間であれば、認識終了処理をして分岐線認識を終了する(ステップ1003)。走行区間が分岐区間の場合は、舵角を得る(ステップ1004)。舵角は舵角計測部208で計測される。得られた舵角を基に操舵方向を判定し(ステップ1005)、右方向だったら、追越車線に車線変更したと判断して、レーン変更処理を実行する(ステップ1006)。操舵方向が真っ直ぐか左方向であれば、図6に示した処理フローにより図8に示した認識結果の補正パターンに従って認識結果を補正する(ステップ1007)。
【0052】
次に、ステップ1001で走行区間の判定を行う走行区間判定タスクについて図11を参照しながら述べる。この走行区間判定タスクではまず、自車が走行中のリンクを前方に辿って分岐ノードを探し(ステップ1101)、分岐ノードがあるかどうかを判定する(ステップ1102)。分岐ノードが見つからない場合は、分岐までの距離が遠いということなので、ステップ1101と1102を繰り返す。
【0053】
前方に分岐ノードが存在する場合、自車位置前方に描かれている分岐線の情報を、地図DB210から得る(ステップ1103)。次に自車位置から分岐線始点までの距離dbを算出する(ステップ1104)。ここで分岐線始点の座標や分岐線長などの情報は、地図DB210に格納されている。検索された分岐線の分岐線始点位置と計測した現在の自車位置との距離dbが求められる。但し、この場合の距離dbは、直線距離になるが、道路は分岐線始点まで直線であるとは限らない。そこで、分岐線始点と現在位置をマップマッチングして地図の道路リンク上での座標をそれぞれ求め、この2点間を結ぶ道路リンクを辿って分岐線始点までの距離を算出してもよい。
【0054】
次に、走行距離を表す変数dvを0に初期化し(ステップ1105)、初期化した地点からの走行距離を測定していく(ステップ1106)。そして、走行距離dvと、分岐線長、dbとの関係から、自車の走行区間を判定する(ステップ1107)。dv<dbの場合は分岐前区間と判定する(ステップ1108)。db<dv<(db+分岐線長)の場合は分岐区間と判定する(ステップ1109)。(db+分岐線長)<dvの場合は分岐後区間と判定する(ステップ1110)。走行区間判定タスクは、この判定結果を図示されていない記憶手段に格納しておくことにより、前記ステップ1001で判定結果を参照することができる。
【0055】
ステップ1107で分岐前区間または分岐区間と判定した場合は、ステップ1106に戻る。分岐後区間と判定した場合は、ステップ1101に戻り、次の分岐ノードを検索する。
【0056】
以上では、分岐方向が左の場合を想定して実施例を示してきたが、右方向の分岐の場合も同様である。右分岐の場合は、これまでの実施例における右と左との関係が逆になるだけであり、処理の本質的な部分は同じである。
【0057】
また、以上に述べてきた実施例は、分岐線が1本だけ見える場合を想定していた。しかし、登坂車線の途中でランプへの分岐が存在する場合がある。登坂車線と本線とを区別する白線と分岐線は、道路規格の上ではほとんど同じ白線と考えてよいので、この場合、同一画像から分岐線の候補の白線が2本検出されることがある。そこで、分岐線の候補が2本検出される場合の処理について次に述べる。
【0058】
登坂車線の途中で左分岐する白線の例を図9を用いて説明する。この場合、同じ白線でも807は分岐線であり、810は、登坂車線と通常の走行車線の境界線に相当することになる。この時は、ランプへの分岐方向の情報を基に、2本のうちのいずれかの認識結果を採用して進行方向を特定することが可能である。
【0059】
図12は、分岐線の候補が2本検出された場合において、分岐方向とカーナビゲーションシステム103が進行方向判定に採用する認識結果の関係を示したものである。左分岐の場合は、認識された2本の認識結果のうち、左側の認識結果を採用し、右分岐の場合は反対に2本の認識結果のうちの右側を採用する。例えば、左分岐の場合について、図9を使って述べる。自車が地点802に到達したときは、右と左に分岐線の候補が現れる。そのときは、左の結果を採用する。この場合は、807を採用したことになり、分岐線807が1本のみ検出された場合と同等の結果となる。
【0060】
その後、右レーンに移動して地点803に到達した場合、左のみに分岐線候補が現れる。このときは、白線810を認識したのであり、分岐線807ではないが、進行方向が本線かランプかを判断する場合には問題にならない。
【0061】
地点805に到達した場合は、中央と右に分岐線の候補が検出される。この場合は中央を採用する。すなわち、分岐線を跨いでいる途中であることがわかる。地点805から地点808に進行した場合は、右に分岐線候補が検出される。その後、分岐後区間に進入すると、画像から分岐線候補は検出されなくなる。
【0062】
地点804から806に進行した場合を考えると、地点804では右と左に分岐線候補があり、地点806では右のみに分岐線候補がある。この場合、図12の規則に従って、地点804では左に分岐線があると判断する。地点806では右のみに分岐線候補が存在するが、左分岐の分岐点において自車の右側に分岐線が出現する場合には、図7の遷移パターンに当てはめると、それ以前に中央に分岐線が存在していなければならない。しかし、地点804から806に進行した場合はこれに当てはまらないので、地点806において右に分岐線があるという認識結果は、進行方向判定には使わない。従って、自車がランプに進行したという判定をすることは無く、分岐後区間に進入したという判断になる。
【0063】
右分岐の場合も同様である。右分岐の場合は、検出された2本の分岐線候補のうち、右側の結果を採用することによって、分岐線と自車との位置関係がわかる。
【0064】
上記の例では、認識された2本の白線のうちの1本を分岐線として採用するという方法について述べたが、分岐線候補が2本検出された場合を含めた遷移パターンを予測するという方法も可能である。このときの遷移パターンを図13に示す。図13は図12における左分岐の場合を想定している。便宜上、分岐線の候補となる白線を「分」と示しており、登坂車線と通常の走行車線の境界線も「分」と示している。
【0065】
例えば登坂車線を走行中の場合を考えると、登坂車線を直進すれば、状態1404→状態1406→状態1404のような遷移を辿る。ランプ方向に進行すれば、状態1404→状態1406→状態1407→状態1404のような遷移を辿る。登坂車線から走行線に変更すれば、状態1404→状態1406→状態1405→状態1402のような遷移を辿る。
【0066】
このとき、認識結果を補正する考え方は次のようになる。例えば分岐線候補が右領域504と左領域502で認識され(状態1406)、この後、左領域502のみに分岐線候補が認識できたとする(状態1402)。状態1402の認識結果が正しいとすれば、右車線への変更が完了していることになるが、途中に右側の白線を跨いでいる状態(状態1405)を経由することになるため、直接、状態1406→状態1402という遷移はありえない。また右側の白線を跨いでいる状態を誤認識したとしても、状態1402の認識結果が正しいという仮定から、状態1401などのご認識の状態を経由することになり、やはり直接、状態1406→状態1402という遷移はありえない。従って、状態1406から状態1402になった場合、状態1402の認識結果は誤りであり、左、中央、右のいずれかの領域における白線の認識結果が誤りであったことになる。この時、状態1406と状態1402における左と中央の認識結果が同じであることから、これら2つの認識結果は矛盾していないため、右領域504に認識できていた分岐線候補が誤認識されたと判断する。そこで補正をして、右領域504にも分岐線候補が存在するとみなす。
【0067】
認識された2本の白線のうち、左側の1本を採用する方法の場合、自車が分岐線のどちら側にいるかということしかわからないが、図13に示すような遷移パターンが判れば、認識された分岐線候補が分岐線か、登坂車線と走行車線の車線境界線かがわかる。例えば状態1402になった場合、前フレームの結果が状態1402であれば、分岐線が認識されていることになり、前フレームの結果が状態1405であれば、認識されたのは車線境界線である。これによって、走行中のレーンを判別することも可能である。
【0068】
右分岐において2本の分岐線候補が検出される場合も、同様の遷移パターンが存在し、それを用いて誤認識を補正することが可能である。
【0069】
尚、登坂車線を走行中かどうかの判定は、次のような方法で可能である。例えば、分岐前区間において右領域504に分岐線が認識できたとする。ここで、走行区間の判定は、図11の処理フローと同様である。この分岐は左方向の分岐であり、分岐前区間において右領域504のみに分岐線が認識できたということは、現在は登坂車線を走行中であると判断できる。
【0070】
図7や図13に示した遷移パターンは、自車が分岐線を跨いだ後は必ずランプ方向に進行していくという仮定の下で成り立っている。しかし、場合によっては分岐線を跨いでランプ方向に移動した後に再度、本線方向に戻る場合も存在する。例えば、分岐線が長い(すなわち分岐区間が長い)場合にはこのようなことがありうる。この時は、分岐線の長短によって、本線に戻ることがあるかどうかを判断する。ここでは、分岐線が左領域502から検出された場合における認識結果の成否判定について述べる。尚、ここでも分岐方向は左と想定する。
【0071】
図14は、図3のステップ401やステップ404における画像処理により分岐線が左領域502から検出された場合に、分岐線の長さを用いて認識結果の成否を判定する処理フローの一例である。ステップ1501で分岐線の長さを得る。分岐線の長さは、地図DB210に格納されている。次にステップ1502で前回の認識結果を得る。前回の認識結果は、認識結果DB204に格納されている。ステップ1503で、前回の結果から、前回の分岐線位置を判定し、分岐線位置が左ならば、図7の遷移パターンに合致しているので、そのまま分岐線が認識されたものとする(ステップ1506)。前回認識された分岐線位置が右ならば、今回を誤認識とする(ステップ1505)。これは、右にあった分岐線が突然左に移ることはありえないからである。
【0072】
そして前回の分岐線位置が中央の場合は、今回の結果が正しいかどうかを分岐線の長さに応じて判断する。分岐線の長さを閾値と比べて(ステップ1504)、閾値よりも長い場合は、ランプ方向から戻ってきた運転によるためと判断し、分岐線が認識されたものとする。閾値よりも分岐線が短い場合は、ランプ方向から戻ることはほとんど有り得ないため、今回は誤認識とする。尚、前記閾値は、ランプ方向から戻っても危険でない分岐線長に基づいて決まる値である。
【0073】
以上で述べた実施例は、分岐線が1回でも認識できたときを対象とした処理であるが、分岐線以外の白線の認識結果を用いれば、分岐線が検出できない場合でも補正が可能である。それについて次に述べる。
【0074】
図15は、図9に示すような道路において、実線、破線、分岐線の認識結果の理想的な遷移パターンを示す。状態1801は、走行前区間において、最左レーンを走行中の状態である。つまり、左領域502から実線が、右領域504から破線がそれぞれ検出されている状態である。そのまま分岐区間に進入すると、状態1802になる。そのまま直進すれば状態1802のままになり、分岐後区間に進入すれば状態1801に戻る。状態1802から分岐方向に侵入すれば、状態1803→状態1804→状態1809のように遷移する。状態1801から右レーンに進行した場合は、状態1805→状態1807→状態1808のように遷移し、状態1802から右レーンに進行した場合は、状態1806→状態1807→状態1808のように遷移する。
【0075】
分岐区間にもかかわらず分岐線が認識できない場合は、この図15の遷移パターンを基にして補正する。例えば、状態1801を確認し、次の結果で、右領域504で破線が認識でき、他の白線が認識できなかった状態を考える。そのとき、前回は状態1801であり、その次の状態として右領域504に破線が出現するのは、状態1802である。したがって、このときは左領域502に分岐線があるはずであると判断する。
【0076】
一方、分岐線ではない白線が2本検出された場合は、最左レーンではない、別のレーンを走行中であると判断し、補正処理は実行しない。
【0077】
図16は、走行中のレーンと走行区間を考慮して進行方向判定する処理フローであり、自車前方に分岐が存在するということがわかってからの処理である。これは、図2の処理フローにおけるステップ305からステップ308までの処理の変形である。
【0078】
この例では、図2の処理フローと異なり、走行区間判定の前にステップ1901で画像認識を実行し、白線を検出する。その結果を用いて、ステップ1902で走行レーンを判定する。そして走行レーンの判定結果が最左レーンであるか否かを調べ(ステップ1903)、走行レーンが最左レーンの場合は、走行区間を判定する(ステップ1904)。判定された走行区間によって処理が分岐し(ステップ1905)、まだ分岐前区間を走行していると判定されたならばステップ1901に戻る。また分岐区間に進入していたら、ステップ1906で画像認識を実行する。その結果、分岐線が認識されなければ、ステップ1908で認識結果の補正処理を実行し、進行方向を判定する(ステップ1909)。分岐線が認識されていれば、そのままステップ1909に進む。ステップ1909で進行方向が判定されたら、再びステップ1901に戻る。ステップ1905で、走行区間が分岐後区間であると判定されたら、進行方向判定の対処となる分岐点についての処理は終了である。
【0079】
また、認識結果の遷移パターンに沿わない場合でも、ある認識結果が出た場合は、その時の認識結果を優先して進行方向特定に利用することにしてもよい。例えば、分岐線が認識できなくても、状態1809になったとき、すなわち左領域502と右領域504に実線が認識された場合は、ランプ方向に進行したとする。つまり、図15の遷移パターンにおいて、状態1802、1803、1804が無かったとしても、以前に状態1801があり、すなわち左領域502と右領域504に実線が認識された場合は、ランプ方向に進行したと判断する。
【0080】
逆に、本線方向に進行したときでも、同様である。本線に進む場合は、状態1801→状態1802→状態1801となる。しかし、分岐線が認識できず、状態1802が無かったとしても、以前に状態1801になり、今回の認識結果が状態1801になっていれば本線方向に進行したと判断する。
【0081】
以上に述べた実施例によって、認識結果が安定しない場合でも標示物認識結果の信頼性を高めることが可能になり、分岐地点における進行方向を正確に判定することが可能になる。
【産業上の利用可能性】
【0082】
本発明をカーナビゲーションシステムに適用することによって、より正確かつ詳細な経路誘導に寄与できる。また、ドライバーに対する安全運転支援にも適用可能である。
【図面の簡単な説明】
【0083】
【図1】本発明の実施例の構成図である。
【図2】本発明における処理のフローチャートである。
【図3】分岐線認識の処理フローチャートである。
【図4】分岐線が認識される領域を定義した図である。
【図5】認識結果DBのデータ構造の一例を表す図である。
【図6】認識結果の補正処理を示すフローチャートである。
【図7】左分岐における認識結果遷移を表す状態遷移図である。
【図8】左分岐における認識結果と補正結果の関係を表す図である。
【図9】道路分岐部の模式図である。
【図10】舵角を用いて認識結果補正を実行するかどうかを判定するフローチャートである。
【図11】車が走行中の区間を判定するフローチャートである。
【図12】画像から分岐線候補が複数検出された場合に進行方向判定に利用する分岐線を示す図である。
【図13】登坂車線を含む左分岐における認識結果遷移を表す状態遷移図である。
【図14】前回と今回の認識結果が異なる場合の認識結果判定の一例を表すフローチャートである。
【図15】実線、破線、分岐線の認識結果遷移パターンの一例である。
【図16】分岐線認識結果補正処理の一例を示すフローチャートである。
【符号の説明】
【0084】
101…画像処理装置、102…カメラ、103…カーナビゲーションシステム、105…GPS、106…車速センサ、107…ジャイロセンサ、109…舵角センサ、201…分岐線認識部、202…認識結果補正部、203…遷移パターン照合部、204…認識結果DB、205…遷移パターンDB、206…進行方位計測部、207…走行距離計測部、208…舵角計測部、209…マップマッチング部、210…地図DB。
【技術分野】
【0001】
本発明は、路上の標示を画像認識する装置とこの認識結果を用いるカーナビゲーションシステムに関するものである。
【背景技術】
【0002】
特許文献1には、分岐線の認識方法が開示されている。この従来技術では、路上表示線のエッジライン2本を抽出し、当該エッジラインの間隔によって分岐線かどうかを判断する。更に、認識結果の信頼性を高めるために、第1の分岐線認識を実行した後、所定の時間を経て第2の分岐線認識を実行する。これら2回の認識結果に基づいて、最終的な分岐線判定を実行する。第1の分岐線認識を実行して分岐線が認識できた後、第2の分岐線認識で分岐線が認識できなかった場合は、第1の分岐線認識の結果を採用する。また、認識処理の結果、直線が検出できなかった場合は、過去n回以内に直線が検出されていればその結果を今回の認識結果としている。過去n回以内に直線が検出されていなければ、今回は直線が検出できなかったと判断する。直線を認識すると、その移動方向から、分岐における進行方向を特定する。例えば、右に存在する白線が右側に移動して消えていけば、自車は左車線を走行中と判断する。
【0003】
【特許文献1】特開平11−232467号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
路上の白線は、経年変化によるかすれや、部分的な欠落などが存在する場合があり、同一の白線であっても部分的に画像認識ができない場合がある。その解決策として、上記特許文献1では、一定時間をおいて2回の認識処理を実行し、その結果から白線認識結果を検証して信頼性を高める技術を開示している。
【0005】
上記特許文献1に開示の技術では、2回の分岐線認識を実行するタイミングによっては、分岐線が存在するにもかかわらず、分岐線の存在を認識することができない場合がある。例えば、分岐線の最初と最後は分岐線がはっきりと塗られていて途中がかすれている場合、途中の部分で2回の分岐線認識を実行しても、2回とも認識不可となって信頼度の判定ができず、分岐線の存在を確認できない可能性がある。
【0006】
認識できない場合、過去n回の認識処理で直線が認識されていれば、最新の直線の方程式を今回の結果として採用するとしても、画像には複数の直線が検出される場合がある。したがって、何らかの方法で、採用する直線を選択する必要があるが、その方法については記載されていない。つまり、画像内における直線の位置までは考慮していない。
【0007】
また、分岐線が短い場合、1回目の認識ができたとしても、2回目の認識をする前に車が分岐線を通過してしまうことが考えられる。そのときは、2回目の認識で分岐線が認識されず、結果的に1回目の結果のみで分岐線の有無を判定するため、認識結果の信頼性向上にはつながらない。
【0008】
本発明の目的は、路上標示物と自車との相対的な位置関係の遷移パターンを用いることによって、路上標示物の画像認識が安定しない場合でも、路上標示物の画像認識の信頼性を向上させることにある。
【課題を解決するための手段】
【0009】
車両に備えられたカメラの画像を処理して路上標示物を認識する路上標示物認識手段と、道路リンク情報を保持する地図DBと、車と路上標示物との相対位置関係の遷移パターンを格納した遷移パターンDBと、前記路上標示物認識手段による認識結果と前記遷移パターンを照合する遷移パターン照合手段と、前記認識結果を保持する認識結果DBを備え、前記遷移パターン照合手段の出力結果を用いて路上標示物の有無を判定する。
【0010】
また、前記路上標示物認識手段は、カーナビゲーションシステムから、車前方の分岐方向を受け取り、当該分岐方向に基づいて、車と路上標示物との相対位置関係の遷移パターンを予測し、当該予測の結果と路上標示物認識結果とを照合し、路上標示物の認識結果を補正する。
【0011】
また、前記路上標示物認識手段は、前記カメラから得られる画像から、認識対象とする標示物が認識されなかった場合、前回の認識結果と前記遷移パターンに基づいて今回の認識結果を補正し、その結果を前記認識結果DBに格納する。
【0012】
また、前記路上標示物認識手段は、前記カメラから得られる画像から、認識対象とする標示物が認識されなかった場合、前記カーナビゲーションシステムから舵角の方向を得て、分岐方向と逆方向でない場合に、認識結果を補正し、その結果を前記認識結果DBに格納する。
【0013】
また、前記認識結果DBは、画像処理を実行したフレームに関する少なくとも画像認識結果、当該画像認識結果の補正結果を含み、更に当該画像認識結果と当該補正結果は、認識された路上標示物の画像における位置を含んでいる。
【0014】
また、前記カーナビゲーションシステムは、前記路上標示物認識手段に接続され、前記路上認識手段の出力結果を用いて車の進行方向を判定する。
【0015】
また、前記カーナビゲーションシステムは、車両に備えられたカメラの画像を処理して路上標示物を認識する路上標示物認識手段と、地図リンク情報と少なくとも路上標示物の種類と当該路上標示物が存在するレーン情報を保持する地図DBと、前記路上標示物認識手段による認識結果と前記地図DBを照合することによって、自車の進行方向を判定する。
【発明の効果】
【0016】
本発明によれば、路上標示物と自車との相対的な位置関係の遷移パターンを用いて認識対象とする路上標示物を制限することによって、路上標示物の画像処理の結果が安定しない場合でも、路上標示物の画像認識の信頼性が高まる。
【発明を実施するための最良の形態】
【0017】
本発明の一実施例につき、図面を参照しながら述べる。
【実施例1】
【0018】
図1は、本発明を用いた路上標示認識装置の構成図である。本実施例では、カーナビゲーションシステム103に、画像処理装置101、GPS105が接続されている。更にカーナビゲーションシステム103には、車速センサ106、ジャイロセンサ107、舵角センサ109が接続されている。画像処理装置101には、カメラ102が接続されている。車速センサ106、ジャイロセンサ107、舵角センサ109は、車内ネットワークに接続されており、カーナビゲーションシステム103は、車内ネットワークのデータを送受信する機能を備えている。
【0019】
GPS105は、自車位置を測位するための装置である。車速センサ106とジャイロセンサ107も自車位置を測位するための装置であり、これら2つの装置を用いてデッドレコニングと呼ばれる手法を用いて自車位置を特定する。カメラ102は車体に設置され、自車が走行中の道路面を撮影する。画像処理装置101は、カメラ102で撮影された映像を処理する。
【0020】
画像処理装置101には、分岐線認識部201があり、カメラ102で撮影された画像から車線を抽出する。分岐線認識部201は、自車の周辺に分岐線が存在するかどうかを判定し、自車の左右に分岐線が存在する又は分岐線を跨ぎ中であるといった自車と分岐線の位置関係を求める。
【0021】
分岐線と自車との位置関係は、図4に示す通りである。尚、図4では、カメラ102が車の後方に設置されている場合、左右を逆にした映像が得られ、カメラ102が車の前方に設置されている場合、カメラ102の映像と実際との左右の位置関係は同一であるものと仮定する。以下で述べる実施例においては、カメラ102がこれら2種類のいずれの設置位置でも実施可能である。
【0022】
分岐線認識部201は、1枚の画像505を縦に3等分し、左領域502、中央領域503、右領域504からそれぞれ1本ずつ、最大3本の白線が認識する。画像を認識した白線が3つのうちのどの領域のものかは、認識した白線の両端点のうち、消失点501と反対側の端点が左領域502、中央領域503、右領域504のどの領域に入っているかによって決定する。分岐線認識部201は、上記の分岐線の認識結果を、1フレーム毎に認識結果DB204に蓄積していく。
【0023】
認識結果補正部202は、分岐線認識部201で認識した結果が正しいかどうかを判断し、必要に応じて認識結果を補正する。そのために、遷移パターン照合部203では、分岐線の認識結果が予め遷移パターンDB205に保存されている遷移パターンに適合するかどうかを判定する。認識結果補正部202では、遷移パターン照合部203の判定結果に基づいて、認識結果を補正するかどうかを判断する。
【0024】
認識結果DB204には、各フレームにおける画像認識結果、補正結果、補正フラグが格納されている。この画像認識結果には、左領域502、中央領域503、右領域504それぞれにおいて認識された白線の種類が含まれており、補正結果には、前記画像認識結果を補正したときの左領域502、中央領域503、右領域504それぞれにおける結果が格納される。また補正フラグは、認識結果が補正されたかどうかを表すフラグである。この補正フラグが立っていれば、画像認識結果と補正結果は異なり、立っていなければ同じ結果であることを表している。
【0025】
認識結果DB204のデータ構造の一例を、図5に示す。図5の例では、処理を行った各分岐地点毎にフレーム毎の認識結果をまとめて格納する構造になっている。フィールド1701は、処理した分岐地点の数を表す。フィールド1702は、分岐地点ごとの認識結果を表しており、フィールド1701の数だけ存在する。分岐地点ごとの結果は、分岐地点番号を格納するフィールド1703、処理フレーム数を格納するフィールド1704、フレームごとの認識結果を格納するフィールド1705を含む。
【0026】
フィールド1705のフレームごとの認識結果は、フレーム番号を格納するフィールド1706、画像認識結果を格納するフィールド1707、補正結果を格納するフィールド1711を含む。フィールド1706の画像認識結果は、右領域、中央領域、左領域に認識された白線の種類をそれぞれ格納するフィールド1708、1709、1710を含む。フィールド1707の補正結果は、補正フラグと、右領域、中央領域、左領域の、それぞれの領域の認識結果を補正した結果を格納するフィールド1712、1713、1714、1715を含む。但し、補正フラグが立ってない場合は、フィールド1713、1714、1715は無くてもよい。
【0027】
カーナビゲーションシステム103の内部には、走行距離計測部207、進行方位計測部206、マップマッチング部209、舵角計測部208、地図DB210がある。走行距離計測部207は、車速センサ106の出力結果を用いて車両の走行距離を測定する。進行方位計測部206は、ジャイロセンサ107の出力結果を用いて車両の進行方向を測定する。走行距離計測部207と進行方位計測部206の出力結果は、マップマッチング部209に送られ、これらの出力結果を用いたデッドレコニング処理によって自車位置が特定され、さらにマップマッチング処理によって、地図上の位置が特定される。但し、車速センサ106やジャイロセンサ107の誤差により、デッドレコニングの結果にも誤差が蓄積していくため、一定時間ごとにGPS105による自車位置リセットが実行される。また、ジャイロセンサ107の代わりに、舵角センサ109を用いて車両の進行方向を測定してもよい。
【0028】
地図DB210には、単に経路探索用のリンクデータが入っているだけでなく、道路標示物に関する情報も含まれている。例えば、高速道路出口に描かれている分岐線等の情報が含まれている。分岐線の情報については、分岐線始点座標、終点座標、始終点間の形状を現す補間点座標列、分岐線の長さ、曲率等のデータが含まれている。
【0029】
図2は、カーナビゲーションシステム103と画像処理装置101を組み合わせて、自車の進行レーンを判定するソフトウェアの処理フローの概略を示したものである。具体的には、高速道路上の分岐において、ランプと本線のどちらを走行しているかを判定するフローを示しており、高速道路の出口付近でどちらを走っているかを判定する処理である。
【0030】
まず、カーナビゲーションシステム103は、自車が存在するリンクを辿って、自車の現在位置前方に分岐があるかどうかを検索する(ステップ301)。そして分岐が存在するか否かを判断し(ステップ302)、前方に分岐が存在するならば、ランプの分岐方向を判定する(ステップ303)。次に、ステップ303で求めた分岐方向に基づいて、分岐線認識結果の遷移パターンを予測する(ステップ304)。例えば左分岐の場合、自車が分岐を跨いでランプ方向に走行する場合は、分岐線は左→中央→右という遷移を辿ることになる。本線を走行する場合は左のままである、というような遷移パターンを予測しておく。次に、走行区間を判定する(ステップ305)。ここで、走行区間とは、分岐の前か、分岐の途中か、分岐の後かということであり、以下、それぞれを、分岐前区間、分岐区間、分岐後区間と記す。この詳細は、図9に示す通りである。分岐前区間とは分岐線が出現する前の区間であり、分岐区間とは分岐線が描かれている区間であり、分岐後区間とは分岐線を通過した後の区間である。
【0031】
この走行区間の判定結果を判断して(ステップ306)、走行区間が分岐前区間と判定されたならば、まだ分岐区間までには至ってはいないため、再びステップ305に戻る。走行区間が分岐区間と判定されるようになったならば、分岐線認識を実行する(ステップ307)。ここで、分岐線認識処理のアルゴリズムは、例えば特開2003−123058号公報などに開示されているものを使うことにより実現できる。次に、分岐線の認識結果を用いて、走行レーンを判定する(ステップ308)。走行レーンの判定には、画像における白線の位置を利用する。
【0032】
走行レーンを判定したら、再びステップ305に戻る。以下、ステップ308までを、ステップ305で走行区間が分岐後区間であると判定されるまで繰り返す。走行区間が分岐後区間に入ったと判定されたならば、ステップ301に戻り、次の分岐を検索する。この一連の処理が、カーナビゲーションシステム103の電源が切られるまで、繰り返し実行される。
【0033】
但し、上記の分岐線認識処理のアルゴリズムでは、結果が安定しないことが考えられる。例えば、分岐線始点付近では、線がはっきりと塗られているが、分岐線の途中ではかすれなどによって認識ができなかったり誤認識したりすることがあり、同一の分岐線でも、部分的に認識結果が異なることがある。そこで、ステップ307の分岐線認識において、1フレームごとの認識結果を複数フレーム分保持し、認識結果の履歴を用いて、分岐線の有無を判定することが望ましい。その方法について次に述べる。
【0034】
図3は、複数フレームの認識結果を参照して分岐線の有無を判定する分岐線認識の処理フローである。この処理フローでは、判定直前にカメラ102から取り込まれた過去10フレームの映像中、7フレームで分岐線が認識できた場合に、分岐線があったと判定する。但し、上述したフレーム数は一例であり、実装時は任意に決めてよい。
【0035】
まず、1フレーム分の映像について画像認識を実行して分岐線の認識を行い(ステップ401)、その結果、分岐線が認識されたかどうかを判定する(ステップ402)。分岐線が認識されなかった場合は、ステップ401に戻って、分岐線が認識できるまで画像認識を実行する。分岐線が認識された場合は、画像処理枚数、分岐線認識数、認識失敗数の各パラメータを初期化し(ステップ403)、次に取り込まれた1フレーム分の映像について画像認識を実行する(ステップ404)。その結果、分岐線が認識されたかどうかを判定し(ステップ405)、分岐線が見つかれば、認識結果DB204にフレーム番号と認識結果を格納した上で、分岐線認識数に1を加算する(ステップ406)。もし分岐線が認識されなければ、認識結果の補正を実行する(ステップ407)。ステップ407の認識結果の補正処理については後述する。認識結果を補正した結果を判定し(ステップ408)、分岐線が見つかったと判定された場合には、やはり認識結果DB204にフレーム番号と補正結果を格納した上でステップ406へ進み、分岐線認識数に1を加算する。しかし分岐線の認識に失敗したと判定された場合には、認識失敗数に1を加算する(ステップ409)。次に1フレーム分の処理が終了したので画像処理枚数に1を加算する(ステップ410)。
【0036】
この時点で、認識失敗数を判定し(ステップ411)、それが4を超えていたら、10フレームの映像中7フレームで分岐線が認識できた場合に分岐線があったと判定するという条件により、分岐線の認識は失敗とする。しかし認識失敗数が4を超えていなければ、画像処理枚数を判定し(ステップ412)、処理したフレーム数が10に到達していれば分岐線認識が成功したと判定する。つまり、画像10枚に対して、分岐線認識失敗が3枚以下だったということである。また、処理したフレーム数が10に達していなければ、ステップ404に戻り、次のフレームについて画像認識処理を行う。図3のフローは、ステップ307に相当するものであり、図3のフローで得られた分岐線の認識結果が、ステップ308の進行レーン判定に使われる。
【0037】
ところで、車速は運転状況によって異なるため、10フレームを画像処理する間の走行距離は異なる。渋滞で車がほとんど動かない場合、10フレームの画像はほとんど同じ場所を処理するだけである。たまたま白線がかすれていて認識ができない場所で渋滞に遭遇した場合などは、上記の基準だけでは分岐線の認識が失敗したことになってしまう。従って、フレーム数だけで分岐線の有無を判断するのではなく、車両の走行距離に応じて分岐線認識するタイミングを決めれば、より有効な結果を得ることができる。
【0038】
これは、一定の時間間隔でカメラ102から取り込んだ映像について画像処理を行うのではなく、例えば1m走行するごとに分岐線認識を実行するなどと分岐線認識間隔距離を決めておく。そして、1m走行するたびにカーナビゲーションシステム103から画像処理装置101に対してコマンドを送って、分岐線認識のトリガーをかける方法をとればよい。あるいは、マップマッチング間隔から、分岐線認識間隔距離を決定してもよく、例えば、マップマッチング間隔の1/10などと決めておけばよい。または、過去何フレームを参照するか(参照フレーム数)を決めておき、分岐線認識間隔距離をマップマッチング間隔/参照フレーム数としてもよい。
【0039】
分岐線が認識できない場合としては、別の線種に誤認識されたか、線種が不明であると判断されたか、あるいは白線自体が検出できない等のパターンがある。これらのような現象が起きた場合は、認識結果の補正処理を実行する。この認識結果の補正処理を、図6を用いて説明する。図6は、分岐線が認識できなかった場合のパターンのうち、検出された白線の線種が不明とされて画像から分岐線が検出できなかった場合を想定した認識結果補正の処理フローであり、これは、図3のステップ407に相当する。
【0040】
まずステップ404の画像認識で、線種不明の白線が認識されたかどうかを判定し(ステップ601)、線種不明の白線が認識されていなければ、分岐線認識が失敗したものとする。線種不明の白線が認識されていれば、前回のフレームに対する分岐線認識結果を参照して、分岐線が認識できていたかどうかを判定する(ステップ602)。前回の認識結果は、認識結果DB204に保存されている。前回、分岐線が認識できていたら、ステップ603で、線種不明の白線の位置を、白線位置の遷移パターンと照合する。整合がとれるか否かを判定し(ステップ604)、整合がとれるのであれば分岐線認識成功とし、整合がとれなければ失敗とする。ステップ602で、前回も分岐線が認識できていなかった場合は、分岐線認識失敗とする。
【0041】
ここで、ステップ603の、遷移パターンとの照合について述べる。ステップ304によって、分岐路の分岐方向がわかっていれば、分岐線位置の遷移パターンは既知である。ステップ303の分岐方向判定処理で左分岐となった場合、この分岐線認識結果の遷移パターンは左のまま、左→中央→右、といったパターンが考えられる。このとき、今回は右領域504に分岐線が検出されたとすると、前回のフレームに対する分岐線認識結果を参照し、中央領域503に分岐線が検出されていたならば、左→中央→右の遷移パターンとつじつまが合うので、今回の認識結果は成功とする。
【0042】
次に、このような遷移パターンとの照合に基づく補正処理について述べる。例えば、中央領域503に線種不明の白線が検出された場合、前回のフレームに対する分岐線認識結果を参照し、左領域502に分岐線が認識されていたものとする。この場合、今回検出された線種不明の白線を分岐線と仮定すると、左→中央→右の遷移パターンに合致する。そこで、今回検出された線種不明の白線は分岐線であるものと判断する。
【0043】
例えば、自車が分岐区間を走行中ということがわかれば、分岐線は、自車位置近くのどこかに存在するはずであり、それまでに見えていた分岐線が突然どこか遠くに行ってしまうことはほとんど有り得ない。すなわち、分岐線と自車との相対位置関係遷移には、何らかの規則性が存在するため、上記の処理が可能である。
【0044】
片側複数車線の道路から左分岐する場合の分岐線位置の状態遷移パターンを、図7に示す。尚、各状態には左から、左領域502、中央領域503、右領域504における線種を示し、「分」は分岐線を、「−」は分岐線以外の白線を示している。つまり、状態701はどの領域でも分岐線が認識されていない状態、状態702は左領域502に、状態703は中央領域503に、状態704は右領域504にそれぞれ分岐線が認識された状態である。尚、認識結果は分岐線が描かれている状態によっても左右されるので、状態701〜704のうち、分岐線認識が起動されたときの初期状態は一意ではない。
【0045】
この時の車の走行位置と状態との関係を、図7、図9を用いて説明する。地点801では、分岐前区間であるため、分岐線認識は行われないが、走行していくと分岐区間に入り分岐線認識処理が開始される。やがて分岐線807が見えるようになり、地点802では自車の左側に分岐線807が見え、状態702となる。その状態から右車線に車線変更して地点803に到達したときには、分岐線807は見えなくなり、状態701になる。地点802から本線を直進した地点804では、地点802と同様に、状態702となる。地点804から更に進行していき、分岐線807が見えなくなると、状態701になる。あるいは、地点802からランプ方向に進み、地点805に到達したときには状態703となる。その後、地点808まで走行すると、分岐線807が右に見え、状態704になる。その後、更に走行し、地点809に到達すると分岐線807は見えなくなり、状態701になる。このように、分岐方向によって、分岐線の認識結果の遷移パターンもいくつかに絞られる。この絞り込まれた遷移パターンを基にして、認識結果の補正が可能である。これについて、次に説明する。
【0046】
図7の遷移パターンを基にすると、一例として図8の表に示すような補正が行われる。図8は、ランプが左分岐で、今回の認識結果に線種不明の白線がある場合を想定しており、「?」は線種不明の白線を意味している。
【0047】
線種不明の白線が左領域502にあった場合、今回を状態702と仮定すると、前回の状態は状態702か状態701であり、左領域502に分岐線があったか、分岐線が何も認識できていなかったかのいずれかということになる。ここで、前回分岐線が認識できていなかった場合(状態701の場合)は、状態が不確かなため補正をしない。前回の認識結果で分岐線が左領域502にあれば、線種不明の白線は分岐線であるとする。一方、前回の認識結果で、分岐線が中央領域503または右領域504にあった場合、状態遷移のパターンと一致しないことから今回の分岐線認識は認識失敗とする。
【0048】
同様に、線種不明の白線が中央領域503にあった場合、前回の認識結果で分岐線が左領域502または中央領域503にあれば、今回は中央領域503に分岐線があったものとして補正する。線種不明の白線が右領域504にあった場合、前回の認識結果で分岐線が中央領域503または右領域504にあれば、今回は右領域504に分岐線があったものと補正する。
【0049】
また、認識結果の補正に限らず、分岐線が認識できた場合にも、その認識結果が正しいかどうかを、図7の遷移パターンに照合して判定することも可能である。例えば、左領域502に分岐線が認識できた場合には、前回の認識結果として左領域502に分岐線があったかどうかを見れば、今回の認識結果が正しいかどうかが判定できる。また中央領域503、右領域504に分岐線が見つかった場合も同様に、図7の遷移パターンに照合すればよい。
【0050】
認識結果が状態701になるには、いくつかの理由がある。主として、分岐区間から外れた場合、分岐線の認識ができなかった場合、分岐区間で追越車線に車線変更した場合などである。これらのうち、追越車線への車線変更、分岐区間から外れたという2つの事象については、実際にカメラ102から分岐線が見えなくなるので、分岐線認識結果の補正は実行しない。したがって、妥当な補正処理を行うためには分岐線の認識ができなかった理由を特定する必要がある。前述のように、図3のステップ407の処理として、図6に示した認識結果の補正処理を直接行うのではなく、まず、分岐線の認識結果の補正処理を行うかどうかを決定した後に、認識結果を補正する場合の処理について次に述べる。
【0051】
図10は、ランプが左分岐の場合において分岐線の認識結果の補正処理を行うかどうかを決定した後に認識結果を補正する処理フローである。認識結果の補正処理を行うのは、自車が分岐区間を走行中であり、かつ、分岐線が見える車線を走行中の場合である。まず、自車の走行区間を判定する(ステップ1001)。この場合、分岐前区間ではないことを前提としているため、分岐区間か、分岐後区間であるかを判定することになる。自車の走行区間を判定は、平行して動作する走行区間判定タスクに判定結果を参照することによって行われるが、この走行区間判定タスクにおける判定方法の詳細は後で述べる。この判定結果に基づき処理の分岐を判断し(ステップ1002)、走行区間が分岐後区間であれば、認識終了処理をして分岐線認識を終了する(ステップ1003)。走行区間が分岐区間の場合は、舵角を得る(ステップ1004)。舵角は舵角計測部208で計測される。得られた舵角を基に操舵方向を判定し(ステップ1005)、右方向だったら、追越車線に車線変更したと判断して、レーン変更処理を実行する(ステップ1006)。操舵方向が真っ直ぐか左方向であれば、図6に示した処理フローにより図8に示した認識結果の補正パターンに従って認識結果を補正する(ステップ1007)。
【0052】
次に、ステップ1001で走行区間の判定を行う走行区間判定タスクについて図11を参照しながら述べる。この走行区間判定タスクではまず、自車が走行中のリンクを前方に辿って分岐ノードを探し(ステップ1101)、分岐ノードがあるかどうかを判定する(ステップ1102)。分岐ノードが見つからない場合は、分岐までの距離が遠いということなので、ステップ1101と1102を繰り返す。
【0053】
前方に分岐ノードが存在する場合、自車位置前方に描かれている分岐線の情報を、地図DB210から得る(ステップ1103)。次に自車位置から分岐線始点までの距離dbを算出する(ステップ1104)。ここで分岐線始点の座標や分岐線長などの情報は、地図DB210に格納されている。検索された分岐線の分岐線始点位置と計測した現在の自車位置との距離dbが求められる。但し、この場合の距離dbは、直線距離になるが、道路は分岐線始点まで直線であるとは限らない。そこで、分岐線始点と現在位置をマップマッチングして地図の道路リンク上での座標をそれぞれ求め、この2点間を結ぶ道路リンクを辿って分岐線始点までの距離を算出してもよい。
【0054】
次に、走行距離を表す変数dvを0に初期化し(ステップ1105)、初期化した地点からの走行距離を測定していく(ステップ1106)。そして、走行距離dvと、分岐線長、dbとの関係から、自車の走行区間を判定する(ステップ1107)。dv<dbの場合は分岐前区間と判定する(ステップ1108)。db<dv<(db+分岐線長)の場合は分岐区間と判定する(ステップ1109)。(db+分岐線長)<dvの場合は分岐後区間と判定する(ステップ1110)。走行区間判定タスクは、この判定結果を図示されていない記憶手段に格納しておくことにより、前記ステップ1001で判定結果を参照することができる。
【0055】
ステップ1107で分岐前区間または分岐区間と判定した場合は、ステップ1106に戻る。分岐後区間と判定した場合は、ステップ1101に戻り、次の分岐ノードを検索する。
【0056】
以上では、分岐方向が左の場合を想定して実施例を示してきたが、右方向の分岐の場合も同様である。右分岐の場合は、これまでの実施例における右と左との関係が逆になるだけであり、処理の本質的な部分は同じである。
【0057】
また、以上に述べてきた実施例は、分岐線が1本だけ見える場合を想定していた。しかし、登坂車線の途中でランプへの分岐が存在する場合がある。登坂車線と本線とを区別する白線と分岐線は、道路規格の上ではほとんど同じ白線と考えてよいので、この場合、同一画像から分岐線の候補の白線が2本検出されることがある。そこで、分岐線の候補が2本検出される場合の処理について次に述べる。
【0058】
登坂車線の途中で左分岐する白線の例を図9を用いて説明する。この場合、同じ白線でも807は分岐線であり、810は、登坂車線と通常の走行車線の境界線に相当することになる。この時は、ランプへの分岐方向の情報を基に、2本のうちのいずれかの認識結果を採用して進行方向を特定することが可能である。
【0059】
図12は、分岐線の候補が2本検出された場合において、分岐方向とカーナビゲーションシステム103が進行方向判定に採用する認識結果の関係を示したものである。左分岐の場合は、認識された2本の認識結果のうち、左側の認識結果を採用し、右分岐の場合は反対に2本の認識結果のうちの右側を採用する。例えば、左分岐の場合について、図9を使って述べる。自車が地点802に到達したときは、右と左に分岐線の候補が現れる。そのときは、左の結果を採用する。この場合は、807を採用したことになり、分岐線807が1本のみ検出された場合と同等の結果となる。
【0060】
その後、右レーンに移動して地点803に到達した場合、左のみに分岐線候補が現れる。このときは、白線810を認識したのであり、分岐線807ではないが、進行方向が本線かランプかを判断する場合には問題にならない。
【0061】
地点805に到達した場合は、中央と右に分岐線の候補が検出される。この場合は中央を採用する。すなわち、分岐線を跨いでいる途中であることがわかる。地点805から地点808に進行した場合は、右に分岐線候補が検出される。その後、分岐後区間に進入すると、画像から分岐線候補は検出されなくなる。
【0062】
地点804から806に進行した場合を考えると、地点804では右と左に分岐線候補があり、地点806では右のみに分岐線候補がある。この場合、図12の規則に従って、地点804では左に分岐線があると判断する。地点806では右のみに分岐線候補が存在するが、左分岐の分岐点において自車の右側に分岐線が出現する場合には、図7の遷移パターンに当てはめると、それ以前に中央に分岐線が存在していなければならない。しかし、地点804から806に進行した場合はこれに当てはまらないので、地点806において右に分岐線があるという認識結果は、進行方向判定には使わない。従って、自車がランプに進行したという判定をすることは無く、分岐後区間に進入したという判断になる。
【0063】
右分岐の場合も同様である。右分岐の場合は、検出された2本の分岐線候補のうち、右側の結果を採用することによって、分岐線と自車との位置関係がわかる。
【0064】
上記の例では、認識された2本の白線のうちの1本を分岐線として採用するという方法について述べたが、分岐線候補が2本検出された場合を含めた遷移パターンを予測するという方法も可能である。このときの遷移パターンを図13に示す。図13は図12における左分岐の場合を想定している。便宜上、分岐線の候補となる白線を「分」と示しており、登坂車線と通常の走行車線の境界線も「分」と示している。
【0065】
例えば登坂車線を走行中の場合を考えると、登坂車線を直進すれば、状態1404→状態1406→状態1404のような遷移を辿る。ランプ方向に進行すれば、状態1404→状態1406→状態1407→状態1404のような遷移を辿る。登坂車線から走行線に変更すれば、状態1404→状態1406→状態1405→状態1402のような遷移を辿る。
【0066】
このとき、認識結果を補正する考え方は次のようになる。例えば分岐線候補が右領域504と左領域502で認識され(状態1406)、この後、左領域502のみに分岐線候補が認識できたとする(状態1402)。状態1402の認識結果が正しいとすれば、右車線への変更が完了していることになるが、途中に右側の白線を跨いでいる状態(状態1405)を経由することになるため、直接、状態1406→状態1402という遷移はありえない。また右側の白線を跨いでいる状態を誤認識したとしても、状態1402の認識結果が正しいという仮定から、状態1401などのご認識の状態を経由することになり、やはり直接、状態1406→状態1402という遷移はありえない。従って、状態1406から状態1402になった場合、状態1402の認識結果は誤りであり、左、中央、右のいずれかの領域における白線の認識結果が誤りであったことになる。この時、状態1406と状態1402における左と中央の認識結果が同じであることから、これら2つの認識結果は矛盾していないため、右領域504に認識できていた分岐線候補が誤認識されたと判断する。そこで補正をして、右領域504にも分岐線候補が存在するとみなす。
【0067】
認識された2本の白線のうち、左側の1本を採用する方法の場合、自車が分岐線のどちら側にいるかということしかわからないが、図13に示すような遷移パターンが判れば、認識された分岐線候補が分岐線か、登坂車線と走行車線の車線境界線かがわかる。例えば状態1402になった場合、前フレームの結果が状態1402であれば、分岐線が認識されていることになり、前フレームの結果が状態1405であれば、認識されたのは車線境界線である。これによって、走行中のレーンを判別することも可能である。
【0068】
右分岐において2本の分岐線候補が検出される場合も、同様の遷移パターンが存在し、それを用いて誤認識を補正することが可能である。
【0069】
尚、登坂車線を走行中かどうかの判定は、次のような方法で可能である。例えば、分岐前区間において右領域504に分岐線が認識できたとする。ここで、走行区間の判定は、図11の処理フローと同様である。この分岐は左方向の分岐であり、分岐前区間において右領域504のみに分岐線が認識できたということは、現在は登坂車線を走行中であると判断できる。
【0070】
図7や図13に示した遷移パターンは、自車が分岐線を跨いだ後は必ずランプ方向に進行していくという仮定の下で成り立っている。しかし、場合によっては分岐線を跨いでランプ方向に移動した後に再度、本線方向に戻る場合も存在する。例えば、分岐線が長い(すなわち分岐区間が長い)場合にはこのようなことがありうる。この時は、分岐線の長短によって、本線に戻ることがあるかどうかを判断する。ここでは、分岐線が左領域502から検出された場合における認識結果の成否判定について述べる。尚、ここでも分岐方向は左と想定する。
【0071】
図14は、図3のステップ401やステップ404における画像処理により分岐線が左領域502から検出された場合に、分岐線の長さを用いて認識結果の成否を判定する処理フローの一例である。ステップ1501で分岐線の長さを得る。分岐線の長さは、地図DB210に格納されている。次にステップ1502で前回の認識結果を得る。前回の認識結果は、認識結果DB204に格納されている。ステップ1503で、前回の結果から、前回の分岐線位置を判定し、分岐線位置が左ならば、図7の遷移パターンに合致しているので、そのまま分岐線が認識されたものとする(ステップ1506)。前回認識された分岐線位置が右ならば、今回を誤認識とする(ステップ1505)。これは、右にあった分岐線が突然左に移ることはありえないからである。
【0072】
そして前回の分岐線位置が中央の場合は、今回の結果が正しいかどうかを分岐線の長さに応じて判断する。分岐線の長さを閾値と比べて(ステップ1504)、閾値よりも長い場合は、ランプ方向から戻ってきた運転によるためと判断し、分岐線が認識されたものとする。閾値よりも分岐線が短い場合は、ランプ方向から戻ることはほとんど有り得ないため、今回は誤認識とする。尚、前記閾値は、ランプ方向から戻っても危険でない分岐線長に基づいて決まる値である。
【0073】
以上で述べた実施例は、分岐線が1回でも認識できたときを対象とした処理であるが、分岐線以外の白線の認識結果を用いれば、分岐線が検出できない場合でも補正が可能である。それについて次に述べる。
【0074】
図15は、図9に示すような道路において、実線、破線、分岐線の認識結果の理想的な遷移パターンを示す。状態1801は、走行前区間において、最左レーンを走行中の状態である。つまり、左領域502から実線が、右領域504から破線がそれぞれ検出されている状態である。そのまま分岐区間に進入すると、状態1802になる。そのまま直進すれば状態1802のままになり、分岐後区間に進入すれば状態1801に戻る。状態1802から分岐方向に侵入すれば、状態1803→状態1804→状態1809のように遷移する。状態1801から右レーンに進行した場合は、状態1805→状態1807→状態1808のように遷移し、状態1802から右レーンに進行した場合は、状態1806→状態1807→状態1808のように遷移する。
【0075】
分岐区間にもかかわらず分岐線が認識できない場合は、この図15の遷移パターンを基にして補正する。例えば、状態1801を確認し、次の結果で、右領域504で破線が認識でき、他の白線が認識できなかった状態を考える。そのとき、前回は状態1801であり、その次の状態として右領域504に破線が出現するのは、状態1802である。したがって、このときは左領域502に分岐線があるはずであると判断する。
【0076】
一方、分岐線ではない白線が2本検出された場合は、最左レーンではない、別のレーンを走行中であると判断し、補正処理は実行しない。
【0077】
図16は、走行中のレーンと走行区間を考慮して進行方向判定する処理フローであり、自車前方に分岐が存在するということがわかってからの処理である。これは、図2の処理フローにおけるステップ305からステップ308までの処理の変形である。
【0078】
この例では、図2の処理フローと異なり、走行区間判定の前にステップ1901で画像認識を実行し、白線を検出する。その結果を用いて、ステップ1902で走行レーンを判定する。そして走行レーンの判定結果が最左レーンであるか否かを調べ(ステップ1903)、走行レーンが最左レーンの場合は、走行区間を判定する(ステップ1904)。判定された走行区間によって処理が分岐し(ステップ1905)、まだ分岐前区間を走行していると判定されたならばステップ1901に戻る。また分岐区間に進入していたら、ステップ1906で画像認識を実行する。その結果、分岐線が認識されなければ、ステップ1908で認識結果の補正処理を実行し、進行方向を判定する(ステップ1909)。分岐線が認識されていれば、そのままステップ1909に進む。ステップ1909で進行方向が判定されたら、再びステップ1901に戻る。ステップ1905で、走行区間が分岐後区間であると判定されたら、進行方向判定の対処となる分岐点についての処理は終了である。
【0079】
また、認識結果の遷移パターンに沿わない場合でも、ある認識結果が出た場合は、その時の認識結果を優先して進行方向特定に利用することにしてもよい。例えば、分岐線が認識できなくても、状態1809になったとき、すなわち左領域502と右領域504に実線が認識された場合は、ランプ方向に進行したとする。つまり、図15の遷移パターンにおいて、状態1802、1803、1804が無かったとしても、以前に状態1801があり、すなわち左領域502と右領域504に実線が認識された場合は、ランプ方向に進行したと判断する。
【0080】
逆に、本線方向に進行したときでも、同様である。本線に進む場合は、状態1801→状態1802→状態1801となる。しかし、分岐線が認識できず、状態1802が無かったとしても、以前に状態1801になり、今回の認識結果が状態1801になっていれば本線方向に進行したと判断する。
【0081】
以上に述べた実施例によって、認識結果が安定しない場合でも標示物認識結果の信頼性を高めることが可能になり、分岐地点における進行方向を正確に判定することが可能になる。
【産業上の利用可能性】
【0082】
本発明をカーナビゲーションシステムに適用することによって、より正確かつ詳細な経路誘導に寄与できる。また、ドライバーに対する安全運転支援にも適用可能である。
【図面の簡単な説明】
【0083】
【図1】本発明の実施例の構成図である。
【図2】本発明における処理のフローチャートである。
【図3】分岐線認識の処理フローチャートである。
【図4】分岐線が認識される領域を定義した図である。
【図5】認識結果DBのデータ構造の一例を表す図である。
【図6】認識結果の補正処理を示すフローチャートである。
【図7】左分岐における認識結果遷移を表す状態遷移図である。
【図8】左分岐における認識結果と補正結果の関係を表す図である。
【図9】道路分岐部の模式図である。
【図10】舵角を用いて認識結果補正を実行するかどうかを判定するフローチャートである。
【図11】車が走行中の区間を判定するフローチャートである。
【図12】画像から分岐線候補が複数検出された場合に進行方向判定に利用する分岐線を示す図である。
【図13】登坂車線を含む左分岐における認識結果遷移を表す状態遷移図である。
【図14】前回と今回の認識結果が異なる場合の認識結果判定の一例を表すフローチャートである。
【図15】実線、破線、分岐線の認識結果遷移パターンの一例である。
【図16】分岐線認識結果補正処理の一例を示すフローチャートである。
【符号の説明】
【0084】
101…画像処理装置、102…カメラ、103…カーナビゲーションシステム、105…GPS、106…車速センサ、107…ジャイロセンサ、109…舵角センサ、201…分岐線認識部、202…認識結果補正部、203…遷移パターン照合部、204…認識結果DB、205…遷移パターンDB、206…進行方位計測部、207…走行距離計測部、208…舵角計測部、209…マップマッチング部、210…地図DB。
【特許請求の範囲】
【請求項1】
車両に備えられたカメラの画像を処理して分岐線を認識する分岐線認識手段と、地図リンク情報を保持する地図DBと、車と分岐線との相対位置関係の遷移パターンを格納した遷移パターンDBと、前記分岐線認識手段による分岐線の認識結果と前記遷移パターンを照合する遷移パターン照合手段と、前記認識結果を保持する認識結果DBを備え、前記遷移パターン照合手段の出力結果を用いて分岐線の有無を判定し、前記分岐線認識手段は、前記地図DBから車前方の分岐方向を検索し、当該分岐方向に基づいて、車と路上標示物との相対位置関係の遷移パターンを予測し、当該予測の結果と路上標示物認識結果とを照合し、路上標示物の認識結果を補正することを特徴とする路上標示物認識装置。
【請求項2】
請求項1において、前記路上標示物認識装置は、前記カメラから得られる画像から、認識対象とする標示物が認識されなかった場合、前回の認識結果と前記遷移パターンに基づいて今回の認識結果を補正し、その結果を前記認識結果DBに格納することを特徴とする路上標示物認識装置。
【請求項3】
請求項1において、前記路上標示物認識装置は、前記カメラから得られる画像から、認識対象とする標示物が認識されなかった場合、カーナビゲーションシステムから舵角の方向を得て、分岐方向と逆方向でない場合に、認識結果を補正し、その結果を前記認識結果DBに格納することを特徴とする路上標示物認識装置。
【請求項4】
車両に備えられたカメラの画像を処理して路上標示物を認識する路上標示物認識手段と、地図リンク情報と少なくとも路上標示物の種類と当該路上標示物が存在するレーン情報を保持する地図DBと、車と路上標示物との相対位置関係の遷移パターン格納した遷移パターンDBと、前記路上標示物認識手段による認識結果と前記遷移パターンを照合する遷移パターン照合手段と、前記認識結果を保持する認識結果DBを備え、前記遷移パターン照合手段の出力結果を用いて路上標示物の有無を判定する路上標示物認識装置に接続され、前記路上標示物認識装置の出力結果を用いて車の進行方向を判定することを特徴とするカーナビゲーションシステム。
【請求項1】
車両に備えられたカメラの画像を処理して分岐線を認識する分岐線認識手段と、地図リンク情報を保持する地図DBと、車と分岐線との相対位置関係の遷移パターンを格納した遷移パターンDBと、前記分岐線認識手段による分岐線の認識結果と前記遷移パターンを照合する遷移パターン照合手段と、前記認識結果を保持する認識結果DBを備え、前記遷移パターン照合手段の出力結果を用いて分岐線の有無を判定し、前記分岐線認識手段は、前記地図DBから車前方の分岐方向を検索し、当該分岐方向に基づいて、車と路上標示物との相対位置関係の遷移パターンを予測し、当該予測の結果と路上標示物認識結果とを照合し、路上標示物の認識結果を補正することを特徴とする路上標示物認識装置。
【請求項2】
請求項1において、前記路上標示物認識装置は、前記カメラから得られる画像から、認識対象とする標示物が認識されなかった場合、前回の認識結果と前記遷移パターンに基づいて今回の認識結果を補正し、その結果を前記認識結果DBに格納することを特徴とする路上標示物認識装置。
【請求項3】
請求項1において、前記路上標示物認識装置は、前記カメラから得られる画像から、認識対象とする標示物が認識されなかった場合、カーナビゲーションシステムから舵角の方向を得て、分岐方向と逆方向でない場合に、認識結果を補正し、その結果を前記認識結果DBに格納することを特徴とする路上標示物認識装置。
【請求項4】
車両に備えられたカメラの画像を処理して路上標示物を認識する路上標示物認識手段と、地図リンク情報と少なくとも路上標示物の種類と当該路上標示物が存在するレーン情報を保持する地図DBと、車と路上標示物との相対位置関係の遷移パターン格納した遷移パターンDBと、前記路上標示物認識手段による認識結果と前記遷移パターンを照合する遷移パターン照合手段と、前記認識結果を保持する認識結果DBを備え、前記遷移パターン照合手段の出力結果を用いて路上標示物の有無を判定する路上標示物認識装置に接続され、前記路上標示物認識装置の出力結果を用いて車の進行方向を判定することを特徴とするカーナビゲーションシステム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【公開番号】特開2008−102684(P2008−102684A)
【公開日】平成20年5月1日(2008.5.1)
【国際特許分類】
【出願番号】特願2006−283840(P2006−283840)
【出願日】平成18年10月18日(2006.10.18)
【出願人】(000005108)株式会社日立製作所 (27,607)
【出願人】(000001487)クラリオン株式会社 (1,722)
【出願人】(501348139)株式会社 エイチ・シー・エックス (86)
【Fターム(参考)】
【公開日】平成20年5月1日(2008.5.1)
【国際特許分類】
【出願日】平成18年10月18日(2006.10.18)
【出願人】(000005108)株式会社日立製作所 (27,607)
【出願人】(000001487)クラリオン株式会社 (1,722)
【出願人】(501348139)株式会社 エイチ・シー・エックス (86)
【Fターム(参考)】
[ Back to top ]