(57)【要約】【課題】車線を逸脱して走行している状態を画像から高精度で検出することができる車線逸脱走行アラートシステムを提供する。【解決手段】実施形態によれば、車線逸脱走行アラートシステムは、カメラと、演算処理部と、を具備する。前記カメラは、車両の前方の画像を撮像する。前記演算処理部は、前記画像に基づき、前記車両が車線を逸脱して走行している状態か否かを判定するための演算処理を実行する。前記演算処理部は、前記画像から路面上の線分を検出し、前記線分が一定期間継続的に検出された場合であって、前記画像上の座標を用いて算出される前記線分の傾きが正から負、または負から正に遷移していない場合、前記車両は車線を逸脱して走行している状態であると判定する。【選択図】図１
2020201766.tif 000002
【特許請求の範囲】
【請求項１】
車両の前方の画像を撮像するカメラと、
前記画像に基づき、前記車両が車線を逸脱して走行している状態か否かを判定するための演算処理を実行する演算処理部と、
を具備し、
前記演算処理部は、
前記画像から路面上の線分を検出し、
前記線分が一定期間継続的に検出された場合であって、前記画像上の座標を用いて算出される前記線分の傾きが正から負、または負から正に遷移していない場合、前記車両は車線を逸脱して走行している状態であると判定する、
車線逸脱走行アラートシステム。
【請求項２】
前記車両の角加速度を検出するセンサーをさらに具備し、
前記演算処理部は、前記車両の左右方向の角加速度の移動平均の和が閾値以上となる現象が一定期間継続的に検出された場合、前記車両は車線を逸脱して走行している状態ではないと判定する、
請求項１に記載の車線逸脱走行アラートシステム。
【請求項３】
前記演算処理部は、前記線分が検出されない場合、前記車両は車線を逸脱して走行している状態ではないと判定する請求項１または２に記載の車線逸脱走行アラートシステム。
【請求項４】
前記演算処理部は、前記線分の傾きが遷移している場合、前記車両は車線を逸脱して走行している状態ではないと判定する請求項１〜３のいずれか１項に記載の車線逸脱走行アラートシステム。
【請求項５】
前記演算処理部は、前記線分が検出されてから前記線分の傾きが遷移するまでの期間が閾値以上であった場合、前記車両は車線を逸脱して走行している状態であると判定する請求項４に記載の車線逸脱走行アラートシステム。
【請求項６】
前記演算処理部は、
前記画像上の前記車両のボンネット位置よりも上方の一部領域を平均輝度算出領域に設定し、
前記画像上の消失点よりも下方で前記ボンネット位置よりも上方の一部領域を線分検出領域に設定し、
前記画像上の前記線分検出領域よりも下方で前記ボンネット位置よりも上方の一部領域を路面輝度算出領域に設定し、
前記路面輝度算出領域で得た路面輝度よりも、前記平均輝度算出領域で得た平均輝度に応じて適用される閾値以上に輝度が高い領域を、前記線分検出領域から抽出することによって前記線分を検出する、
請求項１〜５のいずれか１項に記載の車線逸脱走行アラートシステム。
【請求項７】
前記演算処理部は、前記平均輝度算出領域で得た前記平均輝度に基づき、昼間用の閾値または夜間用の閾値の一方を適用する請求項６に記載の車線逸脱走行アラートシステム。
【請求項８】
前記演算処理部は、前記線分検出領域から抽出された前記領域のうち、長手方向の長さが長手方向の長さの閾値以上であり、かつ、巾方向の長さが巾方向の長さの閾値未満である線分領域を前記線分として検出する請求項６または７に記載の車線逸脱走行アラートシステム。
【請求項９】
前記演算処理部は、前記画像上の座標を用いて算出される傾きが閾値以上の前記線分領域を前記線分として検出する請求項８に記載の車線逸脱走行アラートシステム。
【請求項１０】
車両の前方の画像を撮像するカメラと、前記車両の角加速度を検出するセンサーとを有し、前記車両に搭載される電子機器において、前記車両が車線を逸脱して走行している状態を検出して警告を発する車線逸脱走行アラート方法であって、
前記カメラによって撮像される画像から路面上の線分を検出することと、
前記線分が一定期間継続的に検出された場合であって、前記画像上の座標を用いて算出される前記線分の傾きが正から負、または負から正に遷移していない場合、前記車両は車線を逸脱して走行している状態であると判定することと、
前記線分の傾きが遷移している場合、または、前記センサーによって検出される前記車両の左右方向の角加速度の移動平均の和が閾値以上となる現象が一定期間継続的に検出された場合、前記車両は車線を逸脱して走行している状態ではないと判定することと、
を具備する車線逸脱走行アラート方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、車線逸脱走行アラートシステムおよび車線逸脱走行アラート方法に関する。
【背景技術】
【０００２】
近年、自動車などの車両による事故を未然に防ぐための技術が種々提案されている。それらの一形態として、たとえば車線の逸脱などを検出し、運転者に対して警告を発する技術が知られている。
【０００３】
また、最近では、たとえば事故時の状況などを画像として記録するためのドライブレコーダーが広く普及している。このようなことから、たとえば車線の逸脱などを画像から検出する機能をドライブレコーダーに搭載することも行われている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−２２７５５１号公報
【特許文献２】特開平９−３９６０２号公報
【特許文献３】特開２００１−１７６０００号公報
【特許文献４】特開平１１−２０８３０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、車両に後付けされるタイプのドライブレコーダーの場合、ウインカーやハンドルなどの車両標準装置と連携することができない。そのため、このタイプのドライブレコーダーに搭載される、たとえば車線の逸脱などを画像から検出する機能においては、運転手が意図した車線変更で車両が車線を跨いだ事象などを、運転者が意図していない警告すべき車線の逸脱として誤検出してしまう可能性がある。
【０００６】
本発明が解決しようとする課題は、車線を逸脱して走行している状態を画像から高精度で検出することができる車線逸脱走行アラートシステムおよび車線逸脱走行アラート方法を提供することである。
【課題を解決するための手段】
【０００７】
実施形態によれば、車線逸脱走行アラートシステムは、カメラと、演算処理部と、を具備する。前記カメラは、車両の前方の画像を撮像する。前記演算処理部は、前記画像に基づき、前記車両が車線を逸脱して走行している状態か否かを判定するための演算処理を実行する。前記演算処理部は、前記画像から路面上の線分を検出し、前記線分が一定期間継続的に検出された場合であって、前記画像上の座標を用いて算出される前記線分の傾きが正から負、または負から正に遷移していない場合、前記車両は車線を逸脱して走行している状態であると判定する。
【図面の簡単な説明】
【０００８】
【図１】実施形態の車線逸脱走行アラートシステムのハードウェア構成の一例を示す図。
【図２】実施形態の車線逸脱走行アラートシステムの基本的な動作の流れを示すフローチャート。
【図３】実施形態の車線逸脱走行アラートシステムにおいて画像から白線を検出するために当該画像上に設定される各種領域の一設定例を示す図。
【図４】実施形態の車線逸脱走行アラートシステムにおいて画像から白線領域を検出するイメージを示す図。
【図５】実施形態の車線逸脱走行アラートシステムにおいて適用される白線の傾きを算出する手法を説明するための図。
【図６】実施形態の車線逸脱走行アラートシステムにおける白線検出処理の流れを示すフローチャート。
【図７】実施形態の車線逸脱走行アラートシステムにおけるハンドル操作有無判定処理の流れを示すフローチャート。
【図８】実施形態の車線逸脱走行アラートシステムにおける車線逸脱走行アラート処理の流れを示すフローチャート。
【図９】実施形態の車線逸脱走行アラートシステムにおいて車線変更時に撮像される画像の一例を示す図。
【図１０】実施形態の車線逸脱走行アラートシステムにおいて算出される白線の傾きを時系列に示す図。
【図１１】実施形態の車線逸脱走行アラートシステムの車線逸脱走行アラート有無を状況別に示す図。
【発明を実施するための形態】
【０００９】
以下、実施の形態について、図面を参照して説明する。
【００１０】
図１は、本実施形態の車線逸脱走行アラートシステム１のハードウェア構成の一例を示す図である。ここでは、この車線逸脱走行アラートシステム１が、車両に後付けされるタイプのドライブレコーダー上に実現されていることを想定する。なお、ドライブレコーダーは一例であって、車両の前方（進行方向）の画像を得られるならば、ドライブレコーダーに限らず、車線逸脱走行アラートシステム１は、様々な機器として実現され得る。
【００１１】
ここで、車線逸脱走行とは、たとえば車線変更時やカーブ走行時などの運転者の意図的なハンドル操作が行われている状況下で車両が車線を跨いだ事象を除く、運転者が意図せず車両が車線を逸脱して走行している事象を意味する。つまり、以下において、車線を逸脱して走行している状態という場合、運転者が意図せず車両が車線を逸脱して走行している状態を意味し、運転者の意図的なハンドル操作が行われている状況下で車両が車線を跨いだ状態を含まない。また、車線逸脱走行には、ふらつきなどと称される蛇行の状態が含まれる。
【００１２】
図１に示すように、この車線逸脱走行アラートシステム１は、たとえばＣＰＵ（Central Processing Unit）で構成される演算処理部１１を有している。また、車線逸脱走行アラートシステム１は、演算処理部１１に接続された、カメラ１２、画像処理部１３、ＧＰＳ（Global Positioning System）受信部１４、加速度センサー１５、ジャイロセンサー１６、無線通信部１７、たとえばスピーカーやＬＥＤ（light-emitting diode）で構成されるアラート出力部１８、メモリー１９を有している。さらに、車線逸脱走行アラートシステム１は、メモリー１９に接続されたインターフェース部（Ｉ／Ｆ部）２０を有している。
【００１３】
演算処理部１１は、車線逸脱走行アラートシステム１としての動作を含むドライブレコーダーの全体的な制御を司るデバイスであり、たとえばメモリー１９に格納される各種プログラムを実行することで、様々な演算処理を実行する。各種プログラムの中には、ドライブレコーダーを車線逸脱走行アラートシステム１として動作させるための車線逸脱走行アラートプログラム１００が含まれている。
【００１４】
カメラ１２は、ドライブレコーダーが設置される車両の前方（進行方向）の画像を動画像として継続的に撮像するための撮像ユニットである。つまり、本ドライブレコーダーは、カメラ１２によって車両の前方の画像が撮像されるように車両に設置される。カメラ１２によって撮像された画像は、たとえば演算処理部１１を介してメモリー１９に格納される。カメラ１２は、ドライブレコーダー本体と分離して設けられるものであってもよい。この場合、カメラ１２の設置位置のみ考慮するだけでよく、ドライブレコーダー本体の設置位置に関して柔軟性を高めることができる。
【００１５】
画像処理部１３は、たとえばＧＰＵ（Graphics Processing Unit）で構成され、カメラ１２によって撮像された画像に対して各種の処理を行う。画像処理部１３は、カメラ１２から直接的に画像を取得してもよいし、メモリー１９に格納された画像をたとえば演算処理部１１を介して間接的に取得してもよい。画像処理部１３が画像に対して行う処理については、演算処理部１１が行うようにしてもよい。つまり、画像処理部１３は省略することも可能である。
【００１６】
ＧＰＳ受信部１４は、本ドライブレコーダーが設置された車両の位置を測定するためのＧＰＳ信号を受信するデバイスである。また、加速度センサー１５およびジャイロセンサー１６は、位置測定の精度を向上させるための補助的な情報として加速度および角加速度を取得するデバイスである。演算処理部１１は、これらＧＰＳ受信部１４、加速度センサー１５およびジャイロセンサー１６からのデータを用いて、位置測定のための演算処理を実行する。測定された位置の情報は、たとえば画像の属性情報としてメモリー１９に格納される。ジャイロセンサー１６によって得られる角加速度は、位置測定のほか、後述する車線逸脱走行の判定にも用いられる。
【００１７】
無線通信部１７は、たとえばインターネットを介して車両外の所定の外部装置と無線通信するためのデバイスである。ここでは、車線逸脱走行の判定に必要な初期設定値を、当該所定の外部装置であるサーバーから取得するものとする。サーバーには、本ドライブレコーダーが設置される車両に関する情報（車高や車幅など）が管理されている。この情報をサーバーから取得して初期設定を行うことにより、後述する、画像内における、本ドライブレコーダーが設置された車両のボンネット位置や消失点などが定められる。初期設定は、車両が走行を開始した際、初期設定が行われていない状態が検知された場合に実行される。換言すれば、本ドライブレコーダーを設置して車両を走行させれば、初期設定は自動的に実行されることになる。初期設定においては、サーバーから取得した初期設定値を暫定的に適用した後、本ドライブレコーダーの設置状況に適応させるための微調整が、本ドライブレコーダーにおいて取得された少なくとも画像を含む各種データを用いて実行される。なお、サーバーは、たとえば車両の運転に関する支援サービスを提供する事業者によって設けられるコンピュータである。
【００１８】
アラート出力部１８は、本ドライブレコーダーが設置された車両が車線を逸脱して走行している状態が検出された場合、運転者に警告を発するための報知ユニットである。アラート出力部１８がスピーカーで構成される場合、警告音が出力され、アラート出力部１８がＬＥＤで構成される場合、その点灯や点滅が行われる。アラート出力部１８は、たとえばスピーカーおよびＬＥＤの双方によって構成されてもよい。
【００１９】
メモリー１９は、たとえばＨＤＤ（Hard Dick Drive）やＳＳＤ（Solid State Drive）によって構成される不揮発性のストレージである。インターフェース部２０は、メモリー１９に格納された、たとえばカメラ１２によって撮像された画像などの各種データをメモリーカード２に格納するためのデバイスである。インターフェース部２０は、ＳＤ（Secure Digital）カード規格またはＵＳＢ（Universal Serial Bus）規格に準拠した通信を実行する。メモリーカード２は、たとえば本ドライブレコーダーに着脱自在なＳＤカードやＵＳＢメモリーなどの不揮発性のストレージである。
【００２０】
次に、以上のような構成を有するドライブレコーダー上に実現されている本車線逸脱走行アラートシステム１が車線逸脱走行を検出する仕組みについて説明する。なお、ここでは、車線逸脱走行アラートプログラム１００を演算処理部１１が実行することによって本ドライブレコーダーを車線逸脱走行アラートシステム１として動作させることを想定している。より詳しくは、演算処理部１１が、カメラ１２やジャイロセンサー１６からのデータを用いて、本ドライブレコーダーが設置された車両の車線逸脱走行を検出する機能を備えることを想定している。前述したように、本ドライブレコーダーは、無線通信部１７を有している。よって、たとえば、カメラ１２やジャイロセンサー１６からのデータを無線通信部１７によってサーバーへ送信し、サーバー側で車線逸脱走行を検出するための演算処理を実行し、その結果を無線通信部１７によって受信して、アラート出力部１８による警告を行うことも可能である。つまり、車線逸脱走行アラートシステム１は、ドライブレコーダー単体で実現することに限定されず、たとえばドライブレコーダーとサーバーとが協働することによって実現することも可能である。
【００２１】
まず、図２を参照して、本実施形態の車線逸脱走行アラートシステム１の基本的な動作の流れを説明する。
【００２２】
ここでは、車線逸脱走行アラートシステム１は、ドライブレコーダーが起動したタイミングで動作を開始し、ドライブレコーダーが停止したタイミングで動作を終了するものと想定する。また、ドライブレコーダーは、車両が駆動したタイミングで起動し、車両が停止（駆動停止）したタイミングで停止するものと想定する。つまり、車線逸脱走行アラートシステム１は、車両が駆動したタイミングで動作を開始し、車両が停止（駆動停止）したタイミングで動作を終了するものと想定する。そして、車線逸脱走行アラートシステム１は、車両が駆動してから停止（駆動停止）するまでの期間中、図２のフローチャートで示される手順で各処理を繰り返し実行する。
【００２３】
演算処理部１１は、まず、カメラ１２によって撮像された画像から白線（線分）を検出する白線検出処理（ステップＳ１１）と、ジャイロセンサー１６によって取得された角加速度からハンドル操作の有無を判定するハンドル操作有無判定処理（ステップＳ１２）とを実行する。ここでは、路面上の車線を示す線分が白色であることを想定している。ステップＳ１１の白線検出処理と、ステップＳ１２のハンドル操作有無判定処理とは、図２に示すように、パラレル処理として実行されることが好ましいが、たとえば演算処理部１１の性能などによっては、シリアル処理として実行してもよい。なお、カメラ１２によって撮像された画像に対する処理は、演算処理部１１の制御の下、その一部または全部が画像処理部１３によって実行されるが、以下では、単に、演算処理部１１が実行するという。また、以下では、車線を示す線分を、単に、車線と称することがある。つまり、走行レーンを意図して「車線」を用いることに加えて、走行レーンを示す線分を意図して「車線」を用いることがある。
ここで、路面上の車線を示す線分は以下の場合を含む。
片側２車線の場合・・・走行車線と追越車線の境界線
片側３車線の場合・・・第１走行車線と第２走行車線の境界線、および第２走行車線と追越車線の境界線
また、線分は白色に限らず、オレンジ色・黄色等、何色であってもよい。
【００２４】
そして、演算処理部１１は、ステップＳ１１の白線検出処理と、ステップＳ１２のハンドル操作有無判定処理との処理結果に基づき、車両が車線を逸脱して走行している状態を検出して警告を発する車線逸脱走行アラート処理（ステップＳ１３）を実行する。
【００２５】
続いて、白線検出処理（ステップＳ１１）、ハンドル操作有無判定処理（ステップＳ１２）および車線逸脱走行アラート処理（ステップＳ１３）のそれぞれについて、その詳細を順次説明する。
【００２６】
まず、図３から図６を参照して、白線検出処理（図２：ステップＳ１１）について説明する。
【００２７】
図３は、カメラ１２によって撮像された画像の一例であって、当該画像から白線を検出するために当該画像上に設定される各種領域の一設定例を示す図である。
【００２８】
前述したように、車線逸脱走行アラートシステム１は、無線通信部１７によってサーバーから取得される初期設定値を暫定的に用いた初期設定により、カメラ１２によって撮像される画像内におけるボンネット位置ａ１が定められる。演算処理部１１は、さらに、初期設定において、ボンネット位置ａ１に基づき、画像内のボンネット位置ａ１よりも上部の矩形領域を画面平均輝度算出領域ａ２に設定する。画面平均輝度算出領域ａ２は、たとえば昼間であるのか夜間であるのかの判定に用いる輝度を得るために設定される領域である。つまり、本車線逸脱走行アラートシステム１は、カメラ１２によって撮像される画像全体の平均輝度を画面平均輝度として求めるのではなく、画像中の概ね車外に相当する領域の平均輝度を画面平均輝度として求める。なお、画面平均輝度算出領域ａ２を示す初期設定値が、サーバーから与えられてもよい。
【００２９】
また、前述したように、車線逸脱走行アラートシステム１は、無線通信部１７によってサーバーから取得される初期設定値を暫定的に用いた初期設定により、カメラ１２によって撮像される画像内における消失点ａ３が定められる。消失点ａ３とは、遠近法における無限遠点であり、カメラ１２によって撮像される、車両の前方（進行方向）の画像において１点だけ定まる点である。演算処理部１１は、さらに、初期設定において、消失点ａ３とボンネット位置ａ１とに基づき、画像内の消失点ａ３よりも下部であり、かつ、ボンネット位置ａ１よりも上部の台形領域を白線検出領域ａ４に設定する。白線検出領域ａ４は、非平行の一組の対辺が消失点ａ３と車両の両側端とを結ぶ線上に位置し、かつ、下辺がボンネット位置ａ１から一定距離離れるように設定される。路面上の車線を検出するための画像上の探索範囲を当該白線検出領域ａ４に絞り込むことで、本車線逸脱走行アラートシステム１は、計算量を軽減し、高性能な処理能力を必要としないようにしている。図３は、車両が車線を逸脱せずに走行している状態においてカメラ１２によって撮像された画像であり、画像内に白線は写っているが、白線検出領域ａ４外なので、この白線に関する処理を省略することができる。また、このように設定される白線検出領域ａ４から車線である白線が検出された場合、車両が車線を跨いでいる状態にあると判定することができる。なお、白線検出領域ａ４を示す初期設定値も、サーバーから与えられてもよい。
【００３０】
また、演算処理部１１は、さらに、初期設定において、画像内の白線検出領域ａ４の下辺とボンネット位置ａ１との間に路面輝度算出領域ａ５を設定する。路面輝度算出領域ａ５を示す初期設定値も、サーバーから与えられてもよい。
【００３１】
次に、図３に例示したように画像内に設定される画面平均輝度算出領域ａ２、白線検出領域ａ４および路面輝度算出領域ａ５を用いて、演算処理部１１が、当該画像内から白線領域を検出する手法について説明する。
【００３２】
図４は、カメラ１２によって撮像された画像から白線領域を検出するイメージを示す図である。図４中、（Ａ）は、白線検出領域ａ４を含む、カメラ１２によって撮像された画像全体を示し、（Ｂ）は、カメラ１２によって撮像された画像から検出された白線領域ｂ１を示す。
【００３３】
演算処理部１１は、路面輝度算出領域ａ５内の各画素の輝度を使って路面輝度を算出する。演算処理部１１は、この路面輝度よりも閾値以上高い輝度の画素を白線検出領域ａ４内において検索し、図４（Ｂ）に示すような白線領域ｂ１を検出する。ここで、演算処理部１１は、画面平均輝度算出領域ａ２内の各画素の輝度を使って画面平均輝度算出を算出し、白線領域ｂ１を検出するための閾値を決定する。たとえば、昼間と夜間とで当該閾値を切り換える。なお、この閾値の切り換えは、昼間と夜間といった２段階に限らず、３段階以上で行ってもよいし、あるいは、算出された画面平均輝度に応じて当該閾値をたとえばリニアに変化させるようにしてもよい。また、演算処理部１１は、一定数以上の（路面輝度よりも閾値以上高い輝度の）画素からなる領域を白線領域ｂ１として検出する。
【００３４】
ところで、このように路面輝度との差分によって検出される領域は、必ずしも白線に対応する領域とは限られない。そこで、演算処理部１１は、検出した領域の幅（巾方向（横方向）の長さ）と、高さ（長手方向（縦方向）の長さ）とに基づき、その領域が白線に対応する領域か否かを判定する。幅が閾値以上であるか、または、高さが閾値未満である場合、演算処理部１１は、その領域は白線に対応する領域ではないと判定する。
【００３５】
また、幅、高さがいずれも基準を満たす場合、演算処理部１１は、さらに、その白線の傾き（絶対値）が閾値以上か否かを判定する。傾きが閾値以上の場合、演算処理部１１は、その白線は車線であると判定する。この閾値は、たとえば車高や速度に応じて設定される。図５を参照して、白線の傾きを算出する手法について説明する。
【００３６】
カメラ１２によって撮像される画像は、１２８０画素（横）×７２０画素（縦）の解像度であるものと想定する。また、画像の左上を原点（０，０）とし、横方向にｘ軸、縦方向にｙ軸を取り、画像の右下の座標値を（１２８０，７２０）とするものと想定する。画像の横方向は、カメラ１２が撮像範囲に収める実空間の水平方向に対応し、画像の縦方向は、当該実空間の垂直方向に対応する。
【００３７】
ここで、図５に示すように、（ｘ１，ｙ１）の位置を一端とし、（ｘ２，ｙ２）の位置を他端とする白線が検出された場合を考える。この場合、演算処理部１１は、この白線の傾きαを、
α＝（ｙ２−ｙ１）／（ｘ２−ｘ１）…（式１）
によって計算する。そして、演算処理部１１は、その算出された値の絶対値が閾値以上である場合、その白線は車線であると判定する。
【００３８】
たとえば、（ｘ１，ｙ１）＝（６６０，４５０）であり、（ｘ２，ｙ２）＝（６２０，５９０）であった場合、白線の傾きαは、
α＝（５９０−４５０）／（６２０−６６０）＝−３．５
となる。仮に、車両の左右方向（進行方向に対して垂直方向）に対して４５度以上に対応する値が閾値として設定されていると想定すると、その絶対値は閾値（１［４５度］）以上であるので、演算処理部１１は、この白線を車線と判定する。
【００３９】
なお、図５においては、白線の傾きαを算出するための座標として、白線の両端の座標を示しているが、これに限らず、白線上の任意の２点の座標から白線の傾きαを算出するようにしてもよい。
【００４０】
図６は、本車線逸脱走行アラートシステム１における白線検出処理（図２：ステップＳ１１）の流れを示すフローチャートである。
【００４１】
演算処理部１１は、カメラ１２によって撮像された画像内に設定される画面平均輝度算出領域ａ２を対象として画面平均輝度を算出する（ステップＳ２１）。また、演算処理部１１は、カメラ１２によって撮像された画像内に設定される路面輝度算出領域ａ５を対象として路面輝度を算出する（ステップＳ２２）。ステップＳ２１の画面平均輝度を算出する処理と、ステップＳ２２の路面輝度を算出する処理とは、パラレル処理として実行されてもよいし、図６に示す順序とは逆の順序でシリアル処理として実行されてもよい。
【００４２】
次に、演算処理部１１は、カメラ１２によって撮像された画像内に設定される白線検出領域ａ４を対象として白線領域ｂ１を検出する（ステップＳ２３）。具体的には、ステップＳ２１で算出した画面平均輝度に基づいて定められる閾値を用いて、ステップＳ２２で算出した路面輝度よりも当該閾値以上に高い輝度の領域を、白線検出領域ａ４から検出する。ここで、演算処理部１１は、白線検出領域ａ４において、一定数以上の（路面輝度よりも閾値以上に高い輝度の）画素からなる領域を白線領域ｂ１として検出する。
【００４３】
白線検出領域ａ４から白線領域ｂ１が検出された場合（ステップＳ２４：ＹＥＳ）、演算処理部１１は、その白線領域ｂ１の幅、高さが各々の閾値以内か否かを判定する（ステップＳ２５）。白線領域ｂ１の幅が閾値未満であり、かつ高さが閾値以上である場合（ステップＳ２５：ＹＥＳ）、演算処理部１１は、続いて、白線領域ｂ１の傾き（絶対値）が閾値以上か否かを判定する（ステップＳ２６）。たとえば車両の左右方向（進行方向に対して垂直方向）に対して４５度以上か否かを判定する。
【００４４】
幅、高さがいずれも基準を満たし、かつ、傾き（絶対値）が閾値以上である場合（ステップＳ２６：ＹＥＳ）、演算処理部１１は、検出対象の車線である白線ありと判定して（ステップＳ２７）、この白線検出処理を終了する。
【００４５】
一方、白線検出領域ａ４から白線領域ｂ１が検出されなかった場合（ステップＳ２４：ＮＯ）、または、検出された白線領域ｂ１の幅、高さの一方でも基準を満たさない場合（ステップＳ２５：ＮＯ）、または、白線領域ｂ１の傾き（絶対値）が閾値未満であった場合（ステップＳ２６：ＮＯ）、演算処理部１１は、検出対象の車線である白線なしと判定して（ステップＳ２８）、この白線検出処理を終了する。
【００４６】
カメラ１２によって撮像される画像内において前述したように設定される白線検出領域ａ４から車線である白線が検出されたことは、車両が車線を跨いでいる状態にあることを示している。しかしながら、たとえば車線変更時やカーブ走行時など、運転者が意図的にハンドル操作を行っている状況下においても、白線検出領域ａ４から車線である白線が検出され得るので、白線検出領域ａ４から車線である白線が検出されたことは、車線逸脱走行を必ずしも示すものではない。
【００４７】
次に、図７を参照して、ハンドル操作有無判定処理（図２：ステップＳ１２）について説明する。図７は、ハンドル操作有無判定処理の流れを示すフローチャートである。
【００４８】
演算処理部１１は、ジャイロセンサー１６からのデータに基づき、車両の左右方向（進行方向に対して垂直方向）の角加速度の移動平均を算出する（ステップＳ３１）。たとえば１００ミリ秒分の左右方向の角加速度の移動平均を算出する。また、演算処理部１１は、角加速度の移動平均の和を算出する（ステップＳ３２）。
【００４９】
演算処理部１１は、角加速度の移動平均の和は閾値以上か否かを判定する（ステップＳ３３）。閾値以上の場合（ステップＳ３３：ＹＥＳ）、演算処理部１１は、続いて、角加速度の移動平均の和が閾値以上となる現象が一定期間継続したか否かを判定する（ステップＳ３４）。たとえば５００ミリ秒連続して閾値以上か否かを判定する。当該現象が一定期間継続している場合（ステップＳ３４：ＹＥＳ）、演算処理部１１は、ハンドル操作ありと判定して（ステップＳ３５）、このハンドル操作有無判定処理を終了する。角加速度の移動平均の和が閾値以上となる現象が一定期間継続する場合とは、たとえばカーブ走行時の場合である。つまり、ここでは、カーブ走行時の運転者の意図的なハンドル操作の有無を判定している。このハンドル操作を便宜的に強ハンドル操作と称する。
【００５０】
一方、角加速度の移動平均の和が閾値未満の場合（ステップＳ３３：ＮＯ）や、角加速度の移動平均の和が閾値以上となる現象が一定期間継続していない場合（ステップＳ３４：ＮＯ）、演算処理部１１は、ハンドル操作なしと判定して（ステップＳ３５）、このハンドル操作有無判定処理を終了する。
【００５１】
このように、本車線逸脱走行アラートシステム１は、ウインカーやハンドルなどの車両標準装置と連携することなく、カーブ走行時の運転者の意図的なハンドル操作の有無を判定する。なお、たとえば車線変更時においても、運転者の意図的なハンドル操作は行われるが、ゆるやかに斜行するために行われるハンドル操作は、このハンドル操作有無判定処理においては、ハンドル操作なしと判定される。このようなハンドル操作を便宜的に弱ハンドル操作と称する。強ハンドル操作による急な車線変更の場合には、ハンドル操作ありと判定される。
【００５２】
次に、図８から図１０を参照して、白線検出処理およびハンドル操作有無判定処理の処理結果に基づいて実行される車線逸脱走行アラート処理（図２：ステップＳ１３）について説明する。
【００５３】
図８は、車線逸脱走行アラート処理の流れを示すフローチャートである。
【００５４】
演算処理部１１は、白線検出処理によって白線が検出されたか否かを判定する（ステップＳ４１）。白線が検出された場合（ステップＳ４１：ＹＥＳ）、演算処理部１１は、続いて、ハンドル操作有無判定処理によってハンドル操作ありと判定されたか否かを判定する（ステップＳ４２）。そして、ハンドル操作なしと判定された場合（ステップＳ４２：ＮＯ）、演算処理部１１は、ステップＳ４３へ進む。換言すれば、白線が検出されていない場合（ステップＳ４１：ＮＯ）、または、ハンドル操作ありと判定された場合（ステップＳ４２：ＹＥＳ）、演算処理部１１は、車線逸脱走行の状態ではないとして、この車線逸脱走行アラート処理を終了する。たとえばカーブ走行時の運転者が意図的にハンドル操作（強ハンドル操作）を行っている状況下で車両が車線を跨いだ場合においては、運転者に対する警告は行われない。
【００５５】
なお、ステップＳ４１とステップＳ４２とは、図８に示す順序と逆の順序で実行してもよい。つまり、ハンドル操作なしと判定されている場合に、白線が検出されたか否かを判定するようにしてもよい。
【００５６】
次に、演算処理部１１は、一定期間以上白線が継続的に検出されているか否かを判定する（ステップＳ４３）。換言すれば、白線が検出され始めてからの経過期間が一定期間以上か否かを判定する。一定期間以上継続的に検出されている場合（ステップＳ４３：ＹＥＳ）、演算処理部１１は、ステップＳ４４へ進む。一定期間に至っていない場合には（ステップＳ４３：ＮＯ）、演算処理部１１は、その時点でのアラートは行わず、この車線逸脱走行アラート処理を終了する。したがって、たとえば車両が短期的に車線を跨いだ場合においては、運転者に対する警告は行われない。
【００５７】
ここで、図９および図１０を参照して、ステップＳ４４〜ステップＳ４５において実行される、画像からの白線の検出状況に基づいて車両が車線を逸脱して走行している状態か否かを判定する手法について説明する。
【００５８】
図９は、片側２車線の道路を走行する車両が車線変更した場合にカメラ１２によって撮像される画像中の白線の傾きの遷移状況を示す図である。
【００５９】
より詳しくは、図９は、片側２車線の左側の走行車線を走行する車両が矢印ｃ１で示すように右側の追越車線へ車線変更した場合の時刻ｔ１における画像と（時刻ｔ１よりも時間的に後ろの）時刻ｔ２における画像とを分かり易く比較可能に並べたものである。
【００６０】
前述した白線検出処理において、時刻ｔ１における画像からは、白線検出領域ａ４内から白線ｃ２−１が検出され、時刻ｔ２における画像からは、白線検出領域ａ４内から白線ｃ２−２が検出される。また、これら白線ｃ２−１，ｃ２−２については、前述した白線検出処理において、その傾きが各々算出されている。
【００６１】
時刻ｔ１における画像中の白線ｃ２−１は、前述の（式１）の分母（ｘ２−ｘ１）が正となるので（分子（ｙ２−ｙ１）は常に正となる）、傾きが正の値として算出される。これに対して、時刻ｔ２における画像中の白線ｃ２−２は、分母（ｘ２−ｘ１）が負となるので、傾きが負の値として算出される。
【００６２】
そこで、一定期間以上白線が継続的に検出されている場合において、白線の傾きが正から負、または負から正へ遷移しているならば、演算処理部１１は、基本的には、車線変更によって車両が車線（走行車線と追越車線の境界線）を跨いだものであり、車線を逸脱して走行している状態ではないと判定する。加えて、演算処理部１１は、白線が検出され始めてから白線の傾きが遷移するまでの期間が一定期間内か否かを調べて、一定期間内である場合に、車線変更によって車両が車線（走行車線と追越車線の境界線）を跨いだものであり、車線を逸脱して走行している状態ではないと判定する。換言すれば、白線の傾きが遷移していても、白線が検出され始めてから一定期間を超えて発生している場合には、車線変更によるものではなく、本車線逸脱走行アラートシステム１においては車線逸脱走行の一形態としている、ふらつきなどと称される蛇行の状態であると判定する。なお、白線が検出され始めてから白線の傾きが遷移するまでの期間の長短を判定するための一定期間は、白線が継続的に検出されている期間の長短を判定するための一定期間とは異なるものであり、たとえば、前者の一定期間は後者の一定期間の１／２程度である。
【００６３】
図１０は、車線変更の場合（ケース１）での白線の傾きと、車線逸脱走行の場合（ケース２）での白線の傾きとを時系列かつ分かり易く比較可能に並べて示す図である。
【００６４】
図１０中、「検知されず」とある欄は、白線が検出されなかったことを示し、数値が記載されている欄は、車線である白線が検出されていることを示し、かつ、その傾きを示している。
【００６５】
白線が一定期間（ｄ１）以上継続して検出された場合、演算処理部１１は、車線を逸脱して走行している状態か否かを判定する。ここで、演算処理部１１は、白線の傾きが正から負、または負から正へ遷移しているか否かを判定し、遷移していなければ、車線を逸脱して走行している状態であると判定する。ケース２の場合、白線の傾きが正であり続け、負への遷移が発生していないので、演算処理部１１は、車線を逸脱して走行している状態であると判定する。
【００６６】
一方、ケース１の場合、白線の傾きが正から負へ遷移している（ｄ２）。この場合、演算処理部１１は、その遷移が、白線が検出され始めてから一定期間（ｄ３）内に発生しているか否かを判定し、一定期間（ｄ３）内に発生していれば、車線変更であって、車線を逸脱して走行している状態ではないと判定する。ケース１の場合と異なり、白線の傾きの遷移が、白線が検出され始めてから一定期間（ｄ３）を超えて発生したものであった場合、演算処理部１１は、車線逸脱走行（ふらつき・蛇行）の状態であると判定する。
【００６７】
したがって、車線変更時の運転者が意図的にハンドル操作（弱ハンドル操作）を行っている状況下で車両が車線（走行車線と追越車線の境界線）を跨いだ場合においては、運転者に対する警告は行われない。また、ふらつき・蛇行によって車両が車線（走行車線と追越車線の境界線）を跨いだ場合においては、運転者に対する警告が行われる。
【００６８】
以上を踏まえて、図８に戻り、車線逸脱走行アラート処理の説明を続ける。
【００６９】
演算処理部１１は、一定期間以上白線が継続的に検出されている場合、白線の傾きの正負が遷移しているか否かを判定する（ステップＳ４４）。遷移している場合（ステップＳ４４：ＹＥＳ）、演算処理部１１は、続いて、その遷移が、白線が検出され始めてから一定期間内に発生しているか否かを判定する（ステップＳ４５）。
【００７０】
その遷移が、白線が検出され始めてから一定期間内に発生している場合（ステップＳ４５：ＹＥＳ）、演算処理部１１は、車線変更によって車両が車線を跨いだものであり、車線を逸脱して走行している状態ではないと判定し、この車線逸脱走行アラート処理を終了する。
【００７１】
一方、白線の傾きの正負が遷移していない場合（ステップＳ４４：ＮＯ）、または、白線の傾きの正負が遷移しているが、その遷移が、白線が検出され始めてから一定期間内に発生していない場合（ステップＳ４５：ＮＯ）、演算処理部１１は、車線逸脱走行の状態であると判定し、たとえばスピーカーやＬＥＤで構成されるアラート出力部１８を介して、警告音の出力やＬＥＤの点灯または点滅などの車線逸脱走行アラートを実行する（ステップＳ４６）。
【００７２】
図１１は、車線である白線が継続的に検出された場合における本車線逸脱走行アラートシステム１の車線逸脱走行アラート有無を状況別に示す図である。
【００７３】
ハンドル操作（強ハンドル操作）があり、また、白線の傾きの遷移がある場合、本車線逸脱走行アラートシステム１は、車線変更であると判定し、車線逸脱走行アラートを行わない（１段目）。
【００７４】
ハンドル操作（強ハンドル操作）があり、また、白線の傾きの遷移がない場合、カーブ走行であると判定し、車線逸脱走行アラートを行わない（２段目）。
【００７５】
ハンドル操作（強ハンドル操作）がなく、また、白線の傾きの遷移があり、かつ、その遷移が一定期間内に発生している場合、車線変更であると判定し、車線逸脱走行アラートを行わない（３段目）。
【００７６】
ハンドル操作（強ハンドル操作）がなく、また、白線の傾きの遷移があるが、その遷移が一定期間内に発生していない場合、車線逸脱走行（ふらつき・蛇行）と判定し、車線逸脱走行アラートを行う（４段目）。
【００７７】
ハンドル操作（強ハンドル操作）がなく、また、白線の傾きの遷移がない場合、車線逸脱走行と判定し、車線逸脱走行アラートを行う（５段目）。
【００７８】
以上のように、本車線逸脱走行アラートシステム１においては、カメラ１２によって撮像された画像から検出される白線（車線）の傾きの遷移と、ジャイロセンサー１６によって得られる車両の左右方向（進行方向に対して垂直方向）の角速度の変化とから、車線変更などの運転者が意図する車線逸脱の誤アラートを防止することができる。
【００７９】
つまり、本車線逸脱走行アラートシステム１は、ウインカーやハンドルなどの車両標準装置と連携する必要がなく、車線を逸脱して走行している状態を画像から高精度で検出することができる。また、本車線逸脱走行アラートシステム１は、カメラ１２によって撮像された画像から車線を検出するための探索範囲（白線検出領域ａ４）を狭めることで、計算量を軽減し、高性能な処理能力を必要としない。すなわち、たとえば車両に後付けされるタイプのドライブレコーダー上などに実現するのに好適な構成を有している。
【００８０】
ところで、以上の説明では、車両の前方（進行方向）の画像を用いる例を示したが、たとえば車両の後方（進行方向の逆方向）の画像を用いることも可能である。また、白線領域を検出する場合についても、輝度値に基づき白線領域を検出する方法の他に、画像を構成する各画素のＲ値、Ｂ値、Ｇ値（画素値）に基づき判定することでも構わない。画面平均輝度算出領域ａ２と同じ領域からＲ値、Ｇ値またはＢ値の平均値やヒストグラムの中央値を算出し、Ｒ値、Ｇ値およびＢ値のいずれか一つまたは二つ以上の値に対して閾値を設定し、各画素のＲ値、Ｇ値およびＢ値のうち評価対象となる画素値に基づいて白線領域ｂ１を検出しても良い。また、ハンドル操作有無判定処理においても角速度の移動平均値を基に判断する以外にも、角速度の推移や単位時間ごとの角速度積分値などの角速度に基づく値に基づいてハンドル操作の有無を判定しても構わない。
【００８１】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００８２】
１…車線逸脱走行アラートシステム、２…メモリーカード、１１…演算処理部、１２…カメラ、１３…画像処理部、１４…ＧＰＳ受信部、１５…加速度センサー、１６…ジャイロセンサー、１７…無線通信部、１８…アラート出力部、１９…メモリー、２０…インターフェース部、１００…車線逸脱走行アラートプログラム。
【図１】
2020201766.tif 000003
【図２】
2020201766.tif 000004
【図３】
2020201766.tif 000005
【図４】
2020201766.tif 000006
【図５】
2020201766.tif 000007
【図６】
2020201766.tif 000008
【図７】
2020201766.tif 000009
【図８】
2020201766.tif 000010
【図９】
2020201766.tif 000011
【図１０】
2020201766.tif 000012
【図１１】
2020201766.tif 000013