(57)【特許請求の範囲】
【請求項１】
車両上で、前記車両が走行する道路の車線を認識し、前記車線と前記車両との横方向の位置関係を検出する横方向位置検出手段と、前記位置関係の変化に基づいて蛇行運転の異常の有無を識別する異常検出手段とを備えた車両用蛇行運転検出装置であって、
前記横方向位置検出手段が時間Δｔ毎に検出した横方向位置に関するデータを順次保持し、前記データ又は該データを平均化したデータを時系列順に所定数並べた、前記横方向位置の変化を表す時系列データを出力する時系列データ出力手段と、
道路上の複数車線の境界位置に表示された白線の第１の線を車両が横切って移動する状態、及び、道路側端近傍の限界位置に表示された白線の第２の線を車両が横切って移動する状態を検出する車線変更検出手段と、
運転者の操作による車線変更の合図を表すウインカー信号の状態を監視するウインカー信号監視手段と、
前記ウインカー信号が現れていない場合であって前記車線変更検出手段が前記第１の線を車両が横切って移動する状態を検出したとき、及び、前記ウインカー信号が現れている場合であって前記ウインカー信号が現れてから所定時間が経過するまでの間に前記車線変更検出手段が前記第１の線又は前記第２の線を車両が横切って移動する状態を検出したとき、前記時系列データ出力手段に保持されたデータを全て削除する時系列データ初期化手段と、
を有し、
前記異常検出手段は、前記時系列データ出力手段の出力する最新の時系列データに基づいて蛇行運転の異常の有無を識別すると共に、前記ウインカー信号が現れていない場合であって前記車線変更検出手段が前記第２の線を車両が横切って移動する状態を検出したとき、車線逸脱に関する異常を検出することを特徴とする車両用蛇行運転検出装置。
【請求項２】
前記横方向位置検出手段は、
前記車両に搭載され、前記車両の移動方向の前方又は後方の被写体を周期的に撮影して得られる画像を出力する少なくとも１つの撮像手段と、
前記撮像手段から出力される時系列の複数の画像に基づいて、画像中の道路上に表示された白線の表示を認識する白線認識手段と、
前記白線認識手段が認識した白線に基づいて画像中の無限遠点に相当するＦＯＥ点を決定するＦＯＥ点決定手段と、
を備えることを特徴とする請求項１に記載の車両用蛇行運転検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両上で前記車両が走行する道路の車線（走行可能なレーン）を認識し、前記車線と前記車両との横方向の位置関係を検出する横方向位置検出手段と前記位置関係の変化に基づいて蛇行運転等の異常の有無を識別する異常検出手段とを備えた車両用蛇行運転検出装置に関する。
【背景技術】
【０００２】
本発明の車両用蛇行運転検出装置と関連のある従来技術としては、特許文献１に開示された技術が知られている。特許文献１においては、車載カメラにより走行中の車両の後方側の路面等の被写体を連続的に撮影し、得られた画像を処理して路面に表示されている白線やＦＯＥ（Focus of Expansion）点を認識し、更にオプティカルフローを求め、車線と車両との位置関係（車線に対する相対的な横方向の位置）を把握して、車線逸脱の有無や蛇行運転の有無を判定して警報を発する。
【０００３】
ここで、ＦＯＥ点とは、無限遠点とも称され、例えば、自車両が走行すべき路面上の自車線の両側に位置する一対の白線をそれぞれ延長した延長線が交わる点と同じ位置として特定することができる。走行中の車両に搭載したカメラの前方映像は時々刻々変化するが、時間ｔと時間ｔ＋Δｔにおける映像について、対応する同一点を直線で結ぶと速度ベクトル（オプティカルフロー）が得られる。すべてのオプティカルフローは、画像内の１点から放射状に現れる。この１点がＦＯＥ点である。
【０００４】
車線と車両との位置関係（横方向の位置）については、一例として次のようにして求めることができる。ＦＯＥ点から延ばした垂線を基準線に定め、この基準線と車両が走行中の車線両端の１対の白線のそれぞれとがなす角度をθ１、θ２とし、これらの角度差（θ１−θ２）から前記横方向の位置を求めることができる。例えば、角度差（θ１−θ２）が０であれば、車両の位置は当該車線のほぼ中央に位置しており、撮影するカメラからみて車両が左寄りの位置を走行していれば、（（θ１−θ２）＜０）になり、カメラからみて車両が右寄りの位置を走行していれば、（（θ１−θ２）＞０）になる。
【０００５】
また、特許文献１に開示されているように、検出された車両の横方向位置の時系列変化を分析すれば、車線内における車両位置のふらつき、すなわち蛇行運転のような異常な状態を検出し、自動的に警報を発することもできる。
【０００６】
本発明と関連のある従来技術については、特許文献２〜特許文献４にも開示されている。
特許文献２は、道路監視装置に関する技術であり、路上を撮影するカメラにより得られた画像を処理して、車両の走行軌跡を検出し、車両の車線変更などの変化から障害物の存在可能性を識別することを提案している。
【０００７】
特許文献３の技術では、車載カメラにより走行中の車両の前方側の路面等の被写体を連続的に撮影し、得られた画像を処理して路面の白線等を認識し、車両の横方向位置のふらつき具合に基づいて、運転者の状況（覚醒度）を推定する。また、路面上に表示された白線等として複数種類の線が混在する場合に、車線を正しく認識するための技術を提案している。
【０００８】
特許文献４の技術では、車載カメラにより走行中の車両の後方側の路面等の被写体を連続的に撮影し、得られた画像を処理して路面の白線等を認識し、車両と車線との横方向の位置関係から車線逸脱傾向を検出する。また、道路がカーブしている状態や、車両がどちらか一方の白線側に傾いている場合でも位置関係を正しく把握するための技術を提案している。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０００−２７６６９７号公報
【特許文献２】特開平１０−９１８９３号公報
【特許文献３】特開２００２−１６３６４２号公報
【特許文献４】特開２００７−２００１９１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
特許文献１に開示されているように、検出された車両の横方向位置の時系列変化を分析すれば、車線内における車両位置のふらつき、すなわち蛇行運転のような異常な状態を検出することが可能である。しかしながら、車両用蛇行運転検出装置が使用される環境は様々であり、従来の技術では車両位置のふらつきや蛇行運転を検出する精度が十分に高いとは言えない状況であった。
【００１１】
例えば、高速道路のように自車が走行可能な複数の車線が存在している道路では、運転者の意志により、現在走行中の車線からそれに隣接する他の車線に移動する（以下、「車線変更」という）場合がある。一方、運転者の注意力が低下していたり、居眠り運転のような異常な状況が発生している場合には、無意識のうちに複数の車線を跨ぐような位置に移動したり蛇行運転をするような状況が発生しうる。このような運転者の故意の「車線変更」と無意識の蛇行運転のような異常とを自動的に区別するのは非常に難しい。
【００１２】
しかも、運転者が故意に「車線変更」を行った場合には、その記録が過去の車両の横方向位置の時系列変化として残り、蛇行運転かどうかを判定する際の障害になる。その影響で、実際には蛇行運転をしていないにもかかわらず、車両用蛇行運転検出装置が蛇行運転の警告を発生する場合がある。一方、このような誤動作を防止するために、蛇行運転を判定するための閾値を大きめに定めると、実際に蛇行運転をしている状況であっても、ふらつき具合が小さい時には蛇行運転を検出できなかったり、検出に大きな時間遅れが生じることになる。従って、事故の発生を回避するための警報発生が時間的に間に合わない可能性が高くなる。
【００１３】
本発明は、上述した事情に鑑みてなされたものであり、その目的は、蛇行運転等の異常な状態の検出に関し、誤検出の発生を防止すると共に、異常な状況であれば比較的小さい蛇行であっても、蛇行として検出することが可能な車両用蛇行運転検出装置を提供することにある。
【課題を解決するための手段】
【００１４】
前述した目的を達成するために、本発明に係る車両用蛇行運転検出装置は、下記（１）〜（２）を特徴としている。
（１）  車両上で、前記車両が走行する道路の車線を認識し、前記車線と前記車両との横方向の位置関係を検出する横方向位置検出手段と、前記位置関係の変化に基づいて蛇行運転の異常の有無を識別する異常検出手段とを備えた車両用蛇行運転検出装置であって、
前記横方向位置検出手段が時間Δｔ毎に検出した横方向位置に関するデータを順次保持し、前記データ又は該データを平均化したデータを時系列順に所定数並べた、前記横方向位置の変化を表す時系列データを出力する時系列データ出力手段と、
道路上の複数車線の境界位置に表示された白線の第１の線を車両が横切って移動する状態、及び、道路側端近傍の限界位置に表示された白線の第２の線を車両が横切って移動する状態を検出する車線変更検出手段と、
運転者の操作による車線変更の合図を表すウインカー信号の状態を監視するウインカー信号監視手段と、
前記ウインカー信号が現れていない場合であって前記車線変更検出手段が前記第１の線を車両が横切って移動する状態を検出したとき、及び、前記ウインカー信号が現れている場合であって前記ウインカー信号が現れてから所定時間が経過するまでの間に前記車線変更検出手段が前記第１の線又は前記第２の線を車両が横切って移動する状態を検出したとき、前記時系列データ出力手段に保持されたデータを全て削除する時系列データ初期化手段と、
を有し、
前記異常検出手段は、前記時系列データ出力手段の出力する最新の時系列データに基づいて蛇行運転の異常の有無を識別すると共に、前記ウインカー信号が現れていない場合であって前記車線変更検出手段が前記第２の線を車両が横切って移動する状態を検出したとき、車線逸脱に関する異常を検出すること。
（２）  前記（１）に記載の車両用蛇行運転検出装置であって、
前記横方向位置検出手段は、
前記車両に搭載され、前記車両の移動方向の前方又は後方の被写体を周期的に撮影して得られる画像を出力する少なくとも１つの撮像手段と、
前記撮像手段から出力される時系列の複数の画像に基づいて、画像中の道路上に表示された白線の表示を認識する白線認識手段と、
前記白線認識手段が認識した白線に基づいて画像中の無限遠点に相当するＦＯＥ点を決定するＦＯＥ点決定手段と、
を備えること。
【００１５】
上記（１）の構成の車両用蛇行運転検出装置によれば、誤検出の発生を防止でき、異常な状況であれば比較的小さい蛇行であっても蛇行として検出できる。すなわち、運転者が故意に車線変更を行った場合には、時系列データ初期化手段が時系列データ出力手段に保持されたデータを全て削除するため、車線変更に伴う車両位置の変化は時系列データから除外される。従って、故意の車線変更と異常な運転とを明確に区別でき、小さい蛇行であっても異常としてすばやく検出できる。
また、前記ウインカー信号の有無に基づいて、故意の車線変更と異常な運転とを区別し、故意の車線変更の場合は時系列データ出力手段に保持されたデータを全て削除することができる。
また、検出された白線等の線の種類を区別するので、単に車両が複数の車線を跨いだ状況と異常な状況とを識別することができる。例えば、線の種類が点線や破線であれば複数車線の境界に表示される前記第１の線とみなし、線の種類が実線であれば前記第２の線とみなすことが想定される。
加えて、運転者がウインカーの合図を出すことなく意図的に車線変更した場合であっても、時系列データ出力手段に保持されたデータを全て削除できるので、蛇行検出に関する誤検出を防止できる。また、車両が車線を逸脱したような状況では時系列データ出力手段に保持されたデータが無効にされず、車線逸脱に関する異常が検出される。
上記（２）の構成の車両用蛇行運転検出装置によれば、車両上で撮影して得られる画像の変化に基づいて必要な情報を収集するので、道路側に特別な設備を設置する必要がない。
【発明の効果】
【００１６】
本発明によれば、誤検出の発生を防止でき、異常な状況であれば比較的小さい蛇行であっても蛇行として検出できる。すなわち、運転者が故意に車線変更を行った場合には、時系列データ初期化手段が時系列データ出力手段に保持されたデータを無効にするため、車線変更に伴う車両位置の変化は時系列データから除外される。従って、故意の車線変更と異常な運転とを明確に区別でき、小さい蛇行であっても異常としてすばやく検出できる。
【００１７】
以上、本発明について簡潔に説明した。更に、以下に説明される発明を実施するための形態を添付の図面を参照して通読することにより、本発明の詳細は更に明確化されるであろう。
【図面の簡単な説明】
【００１８】
【図１】実施形態の車両用蛇行運転検出装置に関する機能上の主要な構成要素を表すブロック図である。
【図２】図１に示した車両用蛇行運転検出装置のハードウェアの構成を表すブロック図である。
【図３】図１に示した車両用蛇行運転検出装置の動作の一部分を示すフローチャートである。
【図４】図１に示した車両用蛇行運転検出装置の動作の一部分を示すフローチャートである。
【図５】車載カメラの撮影により得られる画像の例を示す正面図である。
【図６】撮影した画像を微分処理して得られる部分画像の例を示す正面図である。
【図７】画像と白線検出するための動作との関連を表す模式図である。
【図８】画像からオプティカルフローを検出するための動作を表す模式図である。
【図９】自車線内における自車両の横方向走行位置を検出するための動作を表す模式図である。
【図１０】蛇行運転の場合の道路上の車両位置の移動軌跡を表す平面図である。
【発明を実施するための形態】
【００１９】
以下、本発明の実施の形態を図面に基づいて説明する。実施形態の車両用蛇行運転検出装置に関するハードウェアの構成例が図２に示されている。図２に示すように、この車両用蛇行運転検出装置は、撮像手段であるカメラ１を備えている。このカメラ１は、車両上に後側方の被写体（路面等）が撮像できるような位置に所定の姿勢で固定されている。また、カメラ１はレンズ１ａにより規定される画角範囲の二次元画像をイメージプレーン１ｂ上に結像させる。この画像はイメージプレーン１ｂの箇所に設けられた二次元ＣＣＤイメージセンサなどの変換部により撮影した画像のフレーム毎に電気信号に変換され、更に画素毎のデータの集合である画像データに変換される。
【００２０】
記憶部２は、第１、第２フレームメモリ２ａ、２ｂ、微分画像メモリ２ｃ及び発散オプティカルフローメモリ２ｄを有している。第１フレームメモリ２ａ及び第２フレームメモリ２ｂは、カメラ１のイメージプレーン１ｂ上に結像された撮像画像データＤ１を例えば５１２×５１２画素、輝度０〜２５５階調といったｍ行ｎ列の画素に変換したものを画素データＤ２、Ｄ３として一時的に記憶すると共にマイクロコンピュータ３（以下マイコン３）に出力する。これらの第１又は第２フレームメモリ２ａ、２ｂは、例えば第１フレームメモリ２ａには時間ｔ、第２フレームメモリ２ｂには時間ｔ＋Δｔ、…といったように、所定時間Δｔ毎に撮像された画像をｍ行ｎ列の画素に変換した画素データＤ２、Ｄ３が順次記憶される。
【００２１】
微分画像メモリ２ｃは、カメラ１のイメージプレーン１ｂ上に結像された撮像画像データＤ１を微分することにより生成された微分画像データＤ４を記憶する。また、発散オプティカルフローメモリ２ｄは発散方向のオプティカルフローデータＤ５を記憶すると共にマイコン３に出力する。
【００２２】
マイコン３は、制御プログラムに従って動作するＣＰＵ（マイクロプロセッサ）３ａと、このＣＰＵ３ａの制御プログラム及び予め与えられる設定値などを保持するＲＯＭ３ｂと、ＣＰＵ３ａの演算実行時に必要なデータを一時的に保持するＲＡＭ３ｃとを有している。
ウインカ検出部（ウインカー信号監視手段）４は、車両のウインカ機構に取り付けられていて、運転者が車両を左右側に転回させる際に操作するウインカスイッチがオンするとＨレベルのウインカ信号Ｓ１をマイコン３に対して出力する。
【００２３】
車線逸脱警報手段及び蛇行運転警報手段としての警報発生部５は、スピーカ５ａと、表示部５ｂとを有している。警報発生部５は、カメラ１が撮像した画像を表示したり、あるいは、蛇行運転及び車線逸脱が検出された場合、又は他車両が自車両に急接近してきて接触の危険があると判断した場合に、それぞれメッセージなどを表示して運転者に対して危険を映像で知らせる。
【００２４】
スピーカ５ａは、蛇行運転及び車線逸脱が検出された場合、又は他車両との接触の危険性ありと判断された場合にそれぞれマイコン３から発せられる音声信号Ｓ２に基づき、音声ガイダンスあるいは警報音といった音声を発生する。そして、スピーカ５ａは、この音声により運転者に対して危険を音声で知らせる。
【００２５】
図２に示した車両用蛇行運転検出装置の機能上の主要な構成が図１に示されている。図１に示されている白線検出手段３ａ−１、ＦＯＥ設定手段３ａ−２、オプティカルフロー検出手段３ａ−３、危険判断手段３ａ−４、位置検出手段３ａ−５、車線逸脱検出手段３ａ−６、蛇行運転検出手段３ａ−７、時系列データ出力手段３ａ−１１（以下、統計値出力手段と表記する）、時系列データ初期化手段３ａ−１２（以下、統計値初期化手段と表記する）、車線変更検出手段３ａ−１３は上述したＣＰＵ３ａの処理によりそれぞれ実現される。
【００２６】
白線検出手段３ａ−１は、自車両が走行すべき自車線の両側に位置する一対の白線（路面の表示）を検出する。ＦＯＥ設定手段３ａ−２は、前述のＦＯＥの点を特定する。オプティカルフロー検出手段３ａ−３は、ＦＯＥを利用しカメラより所定時間前後して得た２画像中の同一点の移動量をオプティカルフローとして検出する。危険判断手段３ａ−４は、他車両のオプティカルフローの大きさに基づいて自車両に接近する他車両を検出して危険を判断する。
【００２７】
また、位置検出手段３ａ−５は、自車線内における自車両の横方向位置を検出する。車線逸脱検出手段３ａ−６は、自車線内における自車両の横方向位置に基づいて車線逸脱走行を検出する。蛇行運転検出手段３ａ−７は、自車線内における自車両の横方向位置の時間による変化（統計値出力手段３ａ−１１が出力する時系列データ（以下、統計値と表記する））に基づいて蛇行運転を検出する。車線逸脱検出手段３ａ−６と蛇行運転検出手段３ａ−７とをあわせて異常検出手段３ａ−１０と称することがある。
【００２８】
統計値出力手段３ａ−１１は、蛇行運転の検出に必要な横方向位置に関する統計値の情報を保持し出力する。この統計値の具体例としては、例えば位置検出手段３ａ−５が順次に計算して過去所定時間内に出力した横方向位置の情報をそのまま時系列順に並べたもの、あるいは所定時間毎に平均化した位置の情報を時系列順に所定数だけ並べたものなどを想定している。
【００２９】
統計値初期化手段３ａ−１２は、所定の条件を満たす時に、統計値出力手段３ａ−１１の統計値を初期化し、それまでに保持された統計値を無効化する。統計値を初期化するための条件を満たすかどうかを識別するために、統計値初期化手段３ａ−１２は車線変更検出手段３ａ−１３の検出状態を参照する。
【００３０】
車線変更検出手段３ａ−１３は、車線変更等に関する検出を行う。具体的には、路面上の自車線の両側端部にある白線を跨ぐような位置に自車両が移動したかどうかを検出したり、跨いだ白線の種類（実線／点線）を識別する。つまり、運転者の意志により隣接する２つの車線の一方から他方に移動（車線変更）する場合や、運転者の意志とは無関係に車線を逸脱するような位置に自車両が移動した場合のような状況を車線変更検出手段３ａ−１３が検出する。
【００３１】
上述した車両用蛇行運転検出装置の更に詳細な動作について以下に説明する。まず、カメラ１は、例えば図５に示すような撮像画像を撮像画像データＤ１としてマイコン３に対して出力する。この撮像画像は、道路１０、道路１０上に描かれた白線１１〜１５及び道路１０の両脇に立設された壁１６が、画面上における水平方向中心位置にて消失する画像となっている。
【００３２】
図５に示す撮像画像は、上述したように、カメラ１が車両の後部に後方に向けて取り付けられているので、撮像画像における右側が進行方向を基準とした場合の左側に相当し、撮像画像における左側が進行方向を基準とした場合の右側に相当する。
【００３３】
ＣＰＵ３ａは、カメラ１から出力された時間ｔにおける撮像画像データＤ１を上述したような５１２×５１２画素、輝度０〜２５５階調の画素データＤ２に変換して、第１フレームメモリ２ａに出力する。第１フレームメモリ２ａは、この画素データＤ２をマイコン３によって常時読み出し可能に、一時記憶する。さらに、時間Δｔ後に、マイコン３は、時間ｔ＋Δｔに撮像された撮像画像の画素データＤ３を第２フレームメモリ２ｂに出力する。つまり、第１、第２フレームメモリ２ａ、２ｂには所定時間Δｔ毎に撮像された画像の画素データＤ２、Ｄ３が順次記憶される。
【００３４】
また、ＣＰＵ３ａは車線逸脱又は蛇行運転の検出を行うため図５に示す撮像画像の画素データＤ２に関し、そのｍ行ｎ列の画素の輝度値Ｉm、nを図５における水平方向に走査し、隣接する画素の輝度値Ｉm、n+1との差Ｉm、n+1−Ｉm、nが所定輝度値以上のとき、輝度値Ｉm、n＝１とし、所定輝度値以下のとき、輝度値Ｉm、n＝０として、図６に示すような撮像画像上のエッジ部分のみの画像である微分画像（エッジ画像）を生成し、生成した微分画像を微分画像データＤ４として微分画像メモリ２ｃに対して出力する。
【００３５】
次に、この微分画像に対し図７に示すような基準線ＶSLを設定する。この基準線ＶSLは、微分画像上の水平方向における中心位置であって垂直方向に、微分画像を縦断するように設定される。つまり、基準線ＶSLは、自車両が走行している白線１２及び１３によって区切られた車線の水平方向の中心に設定される。
【００３６】
基準線ＶSLが設定されると、自車両が走行すべき路面上の自車線の両側に位置する一対の白線１２及び１３を構成するエッジ点の探索を行う。この白線１２及び１３を構成するエッジ点の探索は、図７に示す画面の下端に位置する水平ラインＨ(LO)から上側に向けて行われる。すなわち、基準線ＶSL上であって最下端の点Ｐ(SO)から、水平方向両端部に向けてエッジ点の探索を行う。そして、この探索により、基準線ＶSLの左側に存在する白線１２のエッジを構成する点Ｐ(LO)及び基準線ＶSLの右側に存在する白線１３のエッジを構成する点Ｐ(RO)が取得される。
【００３７】
続いて、最下端より２番目に位置する点Ｐ(S1)から、水平方向両端部に向けてエッジ点の探索が行われ、これにより基準線ＶSLの左側に存在する白線１２のエッジを構成する点Ｐ(L1)及び基準線ＶSLの右側に存在する白線１３のエッジを構成する点Ｐ(R1)が取得される。
【００３８】
このような処理を微分画像における上方に向けて順次エッジ点を抽出する。このとき、後続を走行する他車両を構成するエッジ点Ｐ(L(m+2))、Ｐ(R(m+2))、Ｐ(L(m+4))及びＰ(R(m+4))も抽出してしまうので、この抽出したエッジ点からさらに同一の直線上にあるもののみを抽出する。この結果、自車両が走行すべき路面上の自車線の両側に位置する一対の白線１２及び１３を構成するエッジ点のみを抽出することができる。そして、この抽出したエッジ点を最小二乗法による近似線を生成し、この近似線を白線１２及び１３として検出する。そして、白線１２及び１３として検出された近似線を延長させて、その交点をＦＯＥとして設定する。さらに、時間Δｔ後の撮像画像の画素データＤ３に関しても同様に自車両が走行すべき路面上の自車線の両側に位置する一対の白線１２及び１３を検出し、検出した白線１２及び１３の延長線が交わる点をＦＯＥを設定する。
【００３９】
さらに、ＣＰＵ３ａは近接車線を走行する他車両、又は後続する他車両に対する危険度を検出するためオプティカルフローを求める。以下オプティカルフローを求める手順を図８を参照して説明する。まず始めに第１フレームメモリ２ａから画素データＤ２を取り込み、時間ｔでの撮像画像において、着目する１点に対し、この着目する１点を中心として上述したように設定したＦＯＥから放射線の方向（すなわちＦＯＥと着目する１点を結ぶ方向）に細長い窓を設定する（図８（ａ））。次に、第２フレームメモリ２ｂから画素データＤ３を取り込み、時間ｔ＋Δｔでの撮像画像において、窓をＦＯＥから放射状の方向に一点づつ移動しながら、時間ｔで窓を構成する各画素について、該各画素に対応した時間ｔ＋Δｔでの窓を構成する各画素と輝度差の絶対値を求める。つまり、時間ｔでの画素Ｐ（図８（ａ））に対応した時間ｔ＋Δｔでの画素Ｑ（図８（ｂ））との輝度差の絶対値を求める。この求めた輝度差の総和が最小になったときの窓の移動量が、着目する一点のオプティカルフローとして求められる。
【００４０】
以上のような処理を撮像画像の全ての点において繰り返し行うことにより、撮像画像全体のオプティカルフローを求めることができる。また、窓内の画素を走査して、着目する点を抽出し、抽出された点を結んでオプティカルフローを求めるようにしてもよい。
【００４１】
求めたオプティカルフローの方向がＦＯＥに向かう方向ならば近隣車線を走行する他車両又は後続を走行する他車両が自車両の速度より遅く、自車両から離れていくことを示しており、反対にオプティカルフローの方向がＦＯＥに対して発散する方向である場合は自車両に接近していることを示している。
【００４２】
また、撮像画像内の風景や路面上のマーク等によって生ずるオプティカルフローの方向は全てＦＯＥに向かう方向となり、接近する近隣又は後続他車両と容易に区別できる。この近隣又は後続他車両から発せられたオプティカルフローの長さは、自車両と近隣又は後続他車両との相対速度に比例する。したがって、ＦＯＥから発散する方向のオプティカルフローの長さが、所定長さを超えたとき他車両が自車両に急接近しているとして、その旨を知らせるため例えばスピーカ５ａから音声で「接近してくる車があります」と警報させ、表示部５ｂに「他車両接近」の表示を行う。
【００４３】
さらに、ＣＰＵ３ａは、自車線内における自車両の横方向位置を検出するために、図９に示すようにＦＯＥからの垂線Ｌを基準線として設定し、この垂線Ｌと白線１２及び１３とのなす角度θ１及びθ２を検出して、角度θ１と角度θ２との角度差θ１−θ２を求める。次に、Δｔ後の撮像画像の画素データＤ３についても、同様に角度差θ１−θ２を求める。つまり、Δｔ毎に角度差θ１−θ２を求める。
【００４４】
角度差θ１−θ２を求めた結果、図９に示すように車両が車線の中心を走行していれば、角度差θ１−θ２＝０となる（図９（ａ））。また、自車両内において、自車両がカメラ１からみて左寄りに走行していれば、角度差θ１−θ２＜０となり（図９（ｂ））、自車両が自車線の左側によるほど角度差θ１−θ２の値は小さくなる。さらに、自車両が自車線をカメラ１からみて右寄りに走行していれば、角度差θ１−θ２＞０となり（図９（ｃ））、車線の右側によればよるほど角度差θ１−θ２の値は大きくなる。上述したように角度差θ１−θ２を求めることによって、時間Δｔ毎に自車線内において自車両の横方向位置を検出することができる。このような動作を位置検出手段３ａ−５が行う。
【００４５】
なお、横方向位置を検出する方法については、上述の方法以外にも様々な変形が考えられる。これらの変形例については、例えば特許文献１にも開示されている。
【００４６】
車線逸脱検出手段３ａ−６は、位置検出手段３ａ−５が検出した横方向位置に基づいて、自車の車線逸脱走行を自動的に検出する。具体的には、自車両が自車線のカメラ１からみて左側に逸脱したときに撮像された画像から求めた角度差θ１−θ２を第１の所定値、右側に逸脱したときに撮像された画像から求めた角度差θ１−θ２を第２の所定値として、角度差θ１−θ２が第１の所定値以上、または第２の所定値以下のとき、車線逸脱走行を検出する。但し、運転者が意図的に車線変更をする場合や、危険でない場合には車線逸脱走行とはみなさない。詳細については後で説明する。
【００４７】
車線逸脱検出手段３ａ−６が車線逸脱走行を検出した場合は、その旨を知らせるため例えばスピーカ５ａから音声で「車線逸脱運転しています」と警報させ、表示部５ｂに「車線逸脱」の表示を行わせることによって、居眠りなどによる車線逸脱走行を警報する。このため、居眠りによる事故を未然に防ぐことができる。
【００４８】
蛇行運転検出手段３ａ−７は、統計値出力手段３ａ−１１が出力する横方向位置の統計値に基づいて、蛇行運転を検出する。蛇行運転の場合には、例えば図１０に示す曲線のような移動軌跡で横方向にふらつきながら車両が移動することになる。
【００４９】
例えば、Δｔごとに撮像した画像からそれぞれ検出した横方向位置は、図１０に示す各点Ｐ１、Ｐ２、Ｐ３、Ｐ４、Ｐ５、Ｐ６、Ｐ７、Ｐ８のように車両の過去の移動軌跡の代表点を表す位置情報となる。このような複数（所定数）の点に関する位置情報が統計値として統計値出力手段３ａ−１１から出力される。
【００５０】
図１０に示す例では、統計値の中から軌跡の山となる点Ｎ１（Ｐ３）、Ｎ２（Ｐ６）・・・が抽出され、隣り合った抽出した点同士の横方向位置の変位量ΔＭが閾値（ｔｈ１）を超える場合が所定時間（ｔｈ２）以内に所定回数（ｔｈ３）あったとき、蛇行運転として蛇行運転検出手段３ａ−７が検出する。そして、その旨を知らせるためスピーカ５ａから音声で「蛇行運転しています」と警報させ、表示部５ｂに「蛇行運転」の表示を行わせることによって、居眠りなどによる蛇行運転を警報することができる。このため、居眠りによる事故を未然に防ぐことができる。さらに、上述しように検出した自車両の横方向位置から居眠りによる車線逸脱の検出に用いることにより安価に居眠りによる蛇行運転を検出することができる。
【００５１】
しかし、状況によっては蛇行運転検出手段３ａ−７が蛇行運転を正しく検出できない可能性もある。例えば、高速道路を走行している場合のように複数の車線のいずれかを選択的に走行できる時には、運転者が意図的に車線変更を行う場合がある。その場合、位置検出手段３ａ−５が検出する横方向位置の変化が大きくなるので、この位置情報を統計値出力手段３ａ−１１の統計値に含めると、蛇行運転検出手段３ａ−７はふらつきが大きい状態とみなし蛇行運転を誤検出する可能性がある。
【００５２】
このような蛇行運転検出手段３ａ−７の誤検出を防止するために、車線変更検出手段３ａ−１３が車線変更を検出した場合には、統計値初期化手段３ａ−１２が統計値出力手段３ａ−１１の統計値を初期化する。この初期化により、車線変更に伴って生じる横方向位置の大きな変動は統計値から除外される。従って、閾値ｔｈ１、ｔｈ２、ｔｈ３に大きな余裕を持たせなくても蛇行運転検出手段３ａ−７の誤検出は生じにくくなり、検出感度が高くなり、検出遅れも生じにくい。
【００５３】
以上説明したような動作の大部分はマイコン３のＣＰＵ３ａの処理によって実現される。この処理の手順が図３、図４に示されている。図３、図４に示す処理について以下に説明する。
【００５４】
まず図５に示すような時間ｔの撮像画像の撮像画像データＤ１がカメラ１から取り込まれ、時間ｔにおける撮像画像データＤ１に応じた画素データＤ２として第１フレームメモリ２ａに記憶される（ステップＳＰ１）。次に、時間ｔ＋Δｔの各撮像画像データＤ１が取り込まれ、画素データＤ３としてそれぞれ第２フレームメモリ２ｂに記憶される（ステップＳＰ２）。この各画素データＤ２、Ｄ３を微分することによって微分画像をそれぞれ生成し（ステップＳＰ３）、車両が走行する自車線の両側を形成する白線を検出する（ステップＳＰ４）。次に、検出した両側の白線を延長し、その交点をＦＯＥとして設定する（ステップＳＰ５）。
【００５５】
次に、近接車線を走行する他車両、又は後続する他車両に対する危険度を検出するためオプティカルフローを検出し（ステップＳＰ６）、求めたオプティカルフローがＦＯＥから発散する方向で、かつ長さが所定長さを超えたとき他車両が自車両に接近しているとして（ステップＳＰ７でＹ）、その旨を知らせるため例えばスピーカ５ａから音声で「接近してくる車があります」と警報し、表示部５ｂに他車両急接近の表示を行わせて（ステップＳＰ８）、ステップＳＰ２へ戻る。オプティカルフローがＦＯＥに収束する方向であったり、発散する方向でも長さが所定長さを超えていなかったとき接近してくる他車両がないとして（ステップＳＰ７でＮ）、次のステップへ進む。
【００５６】
次に、図９に示すように時間ｔにおける撮像画像の画素データＤ２上に設定したＦＯＥから降ろした垂線Ｌと白線１２及び１３とのなす角θ１及びθ２を検出して、角θ１と角θ２との角度差θ１−θ２を求める。次に、時間ｔ＋Δｔの撮像画像の画素データＤ３についても、同様に角度差θ１−θ２を求める（ステップＳＰ９）。
【００５７】
図４に示す各ステップＳＰ２０〜ＳＰ２８は、蛇行運転や車線逸脱の検出および警報に関する処理である。
ステップＳＰ２０では、ウインカ検出部４からウインカ信号Ｓ１が出力されているかどうかを識別する。これは運転者の意図的な車線変更の可能性を把握するための処理である。すなわち、ウインカ信号Ｓ１が出力されていれば意図的に車線変更が行われる可能性が高い。但し、運転者がウインカの合図を出さずに車線変更をする場合もあるので、ウインカ信号Ｓ１が出力されていない場合でも、意図的な車線変更の可能性はある。
【００５８】
ウインカ信号Ｓ１が出力されていない場合には、ステップＳＰ２０からＳＰ２１に進み、車線変更や車線逸脱に関する検出を行う。ステップＳＰ２１では、位置検出手段３ａ−５から出力される最新の横方向位置を監視し、車線側端部を跨ぐ位置に移動したかどうかを識別する。つまり、現在走行中の車線の左右端にある白線のいずれかを横切るような位置まで自車両が移動したか否かを識別する。自車線内にある場合はステップＳＰ２５に進み、白線を横切る位置に移動した場合はステップＳ２２に進む。
【００５９】
ステップＳＰ２２では、車線逸脱と車線変更とを区別するために、自車両が跨いでいる白線の種類を識別する。例えば図５に示す例のように自車が走行可能な車線として２車線が存在する場合、複数車線の境界にある白線１２は点線として路面に表示されており、道路左端の限界位置近傍にある白線１１やセンターラインを表す白線１３は実線として路面に表示されている。
【００６０】
つまり、図５に示す状態で、自車両が点線の白線１２を横切って隣接する車線の範囲内に移動した場合には単なる車線変更とみなすことができるが、実線の白線１１又は白線１３を横切った場合には危険な状態、すなわち車線逸脱とみなす必要がある。そこで、ステップＳＰ２２で跨いだ白線の種類が点線であった場合には、「車線変更」とみなしてステップＳＰ２３に進み、白線の種類が実線であった場合には「車線逸脱」とみなしてステップＳＰ２４に進む。
【００６１】
ステップＳ２３では、自車両が車線変更を完了するのを確認した後で、統計値出力手段３ａ−１１が保持している横方向位置の統計値を初期化する（保持している過去の値をクリアする）。車線変更の完了を確認する方法としては、自車両が新しい車線内に移動してから、その車線の中央付近に移動したかどうかを識別したり、位置の変化が小さくなったかどうかを識別することを想定している。
【００６２】
ステップＳＰ２４では、「車線逸脱」状態であるので、その旨を運転者に知らせるため例えばスピーカ５ａから音声で「車線を逸脱しました」と警報し、表示部５ｂに車線逸脱の表示を行わせる。
【００６３】
一方、ウインカ信号Ｓ１が出力されている場合には、運転者の意志による車線変更が行われる可能性が高いので、ステップＳＰ２７で車線変更を検出したか否かを識別する。具体的には、位置検出手段３ａ−５が出力する横方向位置を監視し、いずれか１つの白線を跨ぐ位置に移動した場合に「車線変更」を検出する。「車線変更」を検出するとステップＳＰ２８に進み、所定時間を経過しても車線変更を検出しない場合はステップＳＰ２７からＳＰ２５に進む。なお、ステップＳＰ２７では白線の種類を識別する必要はない。
【００６４】
ステップＳＰ２８では、自車両が車線変更を完了するのを確認した後で、統計値出力手段３ａ−１１が保持している横方向位置の統計値を初期化する（保持している過去の値をクリアする）。
【００６５】
ステップＳＰ２５では、統計値出力手段３ａ−１１から出力される横方向位置の統計値に基づいて、ふらつき評価値を算出し、その結果に応じて蛇行運転の有無を識別する。すなわち、統計値出力手段３ａ−１１から出力される統計値は、図１０に示す各点Ｐ１〜Ｐ８の横方向のような情報であるので、これに基づいて、軌跡の山となる各点Ｎ１（Ｐ３）、Ｎ２（Ｐ６）・・・を抽出し、隣り合った抽出した点同士の横方向位置の変位量ΔＭをふらつき評価値として算出し、この変位量ΔＭが閾値（ｔｈ１）を超える状態が所定時間（ｔｈ２）以内に所定回数（ｔｈ３）あったとき、「蛇行運転」を検出する。「蛇行運転」を検出するとステップＳＰ２６に進み、その旨を知らせるため例えばスピーカ５ａから音声で「蛇行運転しています」と警報し、表示部５ｂに蛇行運転の表示を行わせる。
【００６６】
いずれにしても、運転者の意志により車両が車線変更を行った場合には、それが自動的に検出され、ステップＳＰ２３又はＳＰ２８で統計値出力手段３ａ−１１の統計値が初期化される。そのため、ステップＳＰ２５で蛇行運転検出手段３ａ−７がふらつきを評価する際には、車線変更の影響を含まない統計値のみに基づいて評価を行うことになる。従って、蛇行運転を行っていないのに車線変更の影響で誤って「蛇行運転」の警報が出力されるのを阻止することができる。また、誤検出が生じにくいのでふらつきを評価する際に用いる閾値（ｔｈ１、ｔｈ２、ｔｈ３）に大きな余裕を持たせる必要がなくなり、蛇行運転の検出感度が高くなり、検出遅れも生じにくくなる。
【００６７】
以上、本発明の車両用蛇行運転検出装置を自動車に搭載することにより、蛇行運転や車線逸脱に関する警報を自動的に発することができ、運転者の不注意や居眠り等の危険な状況を回避するのに役立つ。特に、高速道路のように複数の車線のいずれかを選択的に走行できる場合であっても、誤検出なく高精度で蛇行運転を検出できる。
【符号の説明】
【００６８】
１  撮像手段（カメラ）
２  記憶部
３  マイクロコンピュータ
３ａ−１  白線検出手段
３ａ−２  ＦＯＥ設定手段
３ａ−３  オプティカルフロー検出手段
３ａ−４  危険判断手段
３ａ−５  位置検出手段
３ａ−６  車線逸脱検出手段
３ａ−７  蛇行運転検出手段
３ａ−１０  異常検出手段
３ａ−１１  統計値出力手段
３ａ−１２  統計値初期化手段
３ａ−１３  車線変更検出手段
４  ウインカ検出部
５  警報発生部
【図１】
0006046327.tif 000002
【図２】
0006046327.tif 000003
【図３】
0006046327.tif 000004
【図４】
0006046327.tif 000005
【図５】
0006046327.tif 000006
【図６】
0006046327.tif 000007
【図７】
0006046327.tif 000008
【図８】
0006046327.tif 000009
【図９】
0006046327.tif 000010
【図１０】
0006046327.tif 000011