(57)【要約】【課題】車載カメラの向きを精度良く推定すること。【解決手段】車両Ｃに設置されたカメラ２０により撮像された撮像画像が格納される記憶部１１と、車線ＬＬ、ＬＲを区切る車線区分線Ｌ２を撮像画像から検出し、車両Ｃが車線区分線Ｌ２、Ｌ３に対して平行な向きに走行している区間Ｒ１で撮像された撮像画像に含まれる車線区分線Ｌ２、Ｌ３を基準にカメラ２０の光軸方向を推定する演算部１２とを有する、情報処理装置１０が提供される。【選択図】図１
2015106323.tif 000002
【特許請求の範囲】
【請求項１】
車両に設置されたカメラにより撮像された撮像画像が格納される記憶部と、
車線を区切る車線区分線を前記撮像画像から検出し、前記車両が前記車線区分線に対して平行な向きに走行している区間で撮像された前記撮像画像に含まれる前記車線区分線を基準に前記カメラの光軸方向を推定する演算部と
を有する、情報処理装置。
【請求項２】
前記演算部は、前記撮像画像に基づいて前記車両が走行している車線の中心から前記車両までの距離を計算し、前記距離の変化が設定した閾値よりも小さい場合に前記車両が前記車線区分線に対して平行な向きに走行していると判定する
請求項１に記載の情報処理装置。
【請求項３】
前記演算部は、複数の前記区間のそれぞれについて前記撮像画像に含まれる前記車線区分線を基準に前記カメラの光軸方向を決めるパラメータを計算し、複数の前記パラメータの統計値に基づいて前記カメラの光軸方向を推定する
請求項１又は２に記載の情報処理装置。
【請求項４】
前記演算部は、前記撮像画像から検出された前記車線区分線の種類、本数、曲率、及び、前記車両の両側にある２本の前記車線区分線の平行度合いの少なくとも１つが、設定された条件を満たさない場合、当該車線区分線の検出結果を破棄する
請求項１〜３のいずれか１項に記載の情報処理装置。
【請求項５】
前記演算部は、前記撮像画像に含まれる前記車線区分線に基づいて前記車両が前記車線を逸脱しているか否かを判定する
請求項１〜４のいずれか１項に記載の情報処理装置。
【請求項６】
車両に設置されたカメラにより撮像された撮像画像が格納される記憶部から、前記撮像画像を取得することが可能なコンピュータが、
車線を区切る車線区分線を前記撮像画像から検出し、前記車両が前記車線区分線に対して平行な向きに走行している区間で撮像された前記撮像画像に含まれる前記車線区分線を基準に前記カメラの光軸方向を推定する
カメラ取付角度の推定方法。
【請求項７】
車両に設置されたカメラにより撮像された撮像画像が格納される記憶部から、前記撮像画像を取得することが可能なコンピュータに、
車線を区切る車線区分線を前記撮像画像から検出し、前記車両が前記車線区分線に対して平行な向きに走行している区間で撮像された前記撮像画像に含まれる前記車線区分線を基準に前記カメラの光軸方向を推定する
処理を実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、カメラ取付角度の推定方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、画像処理技術や通信技術を利用して車両の走行安全性を高めるための技術開発が盛んに行われている。その成果の一つとして、道路上の車線区分線（白線）を車載カメラで撮影し、車載カメラの撮像画像から車線区分線と車両との間の距離を推定して車両が車線から逸脱しそうな場合に警告を発する車線逸脱警報装置がある。
【０００３】
なお、車線逸脱警報装置は、ＬＤＷ（Lane Departure Warning）装置と呼ばれる場合もある。
上記のような車線逸脱警報装置は、車載カメラの取付角度が許容誤差の範囲内で正しく設定されていないと適切に機能しない可能性がある。そのため、車載カメラの取付角度を調整する仕組みについても検討が行われている。
【０００４】
例えば、車載カメラで車両の先端部分を撮影し、撮像画像に含まれる車両の先端部分を基準に車載カメラの取付角度を調整する第１の技術が提案されている。また、ハンドルの操舵角を検出し、操舵角が０の状態で車載カメラの向きと車線区分線とが成す角度を基準に車載カメラの取付角度を調整する第２の技術が提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第４０４５８６２号公報
【特許文献２】特開２００１−１７１５４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
車両の先端部分（ノッチ）が車両前方に突出していないトラックやバスなどの場合、車載カメラに車両の先端部分が写らない。そのため、こうした車両に対しては、上記第１の技術を適用して車載カメラの取付角度を調整することはできない。
【０００７】
また、ハンドルの操舵角が０の場合でも車線区分線に対して車両が斜めに走行していることがあるため、上記第２の技術を適用すると車載カメラの取付角度が誤って調整される可能性がある。
【０００８】
そこで、１つの側面によれば、本発明の目的は、車載カメラの向きを精度良く推定することが可能な情報処理装置、カメラ取付角度の推定方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【０００９】
本開示の１つの側面によれば、車両に設置されたカメラにより撮像された撮像画像が格納される記憶部と、車線を区切る車線区分線を撮像画像から検出し、車両が車線区分線に対して平行な向きに走行している区間で撮像された撮像画像に含まれる車線区分線を基準にカメラの光軸方向を推定する演算部とを有する、情報処理装置が提供される。
【００１０】
また、本開示の他の１つの側面によれば、車両に設置されたカメラにより撮像された撮像画像が格納される記憶部から、撮像画像を取得することが可能なコンピュータが、車線を区切る車線区分線を撮像画像から検出し、車両が車線区分線に対して平行な向きに走行している区間で撮像された撮像画像に含まれる車線区分線を基準にカメラの光軸方向を推定するカメラ取付角度の推定方法が提供される。
【００１１】
また、本開示の他の１つの側面によれば、車両に設置されたカメラにより撮像された撮像画像が格納される記憶部から、撮像画像を取得することが可能なコンピュータに、車線を区切る車線区分線を撮像画像から検出し、車両が車線区分線に対して平行な向きに走行している区間で撮像された撮像画像に含まれる車線区分線を基準にカメラの光軸方向を推定する処理を実行させる、プログラムが提供される。
【発明の効果】
【００１２】
本発明によれば、車載カメラの向きを精度良く推定することが可能になる。
【図面の簡単な説明】
【００１３】
【図１】第１実施形態に係る情報処理装置の一例を示した図である。
【図２】第２実施形態に係る車線逸脱警報装置の取付例及びパラメータの表記を示した第１の図である。
【図３】第２実施形態に係る車線逸脱警報装置の取付例及びパラメータの表記を示した第２の図である。
【図４】第２実施形態に係る車線逸脱警報装置が有する機能の一例を示したブロック図である。
【図５】第２実施形態に係る取付角度の推定方法について説明するための第１の図である。
【図６】第２実施形態に係る取付角度の推定方法について説明するための第２の図である。
【図７】第２実施形態に係る取付角度の推定方法について説明するための第３の図である。
【図８】第２実施形態に係る車線逸脱警報装置が実行する処理の流れを示した第１の図である。
【図９】第２実施形態に係る車線逸脱警報装置が実行する処理の流れを示した第２の図である。
【図１０】第２実施形態に係る車線逸脱警報装置が実行する処理の流れを示した第３の図である。
【図１１】第２実施形態に係る車線逸脱警報装置が実行する処理の流れを示した第４の図である。
【図１２】第２実施形態に係る車線逸脱警報装置が実行する処理の流れを示した第５の図である。
【図１３】第２実施形態に係る車線逸脱警報装置が実行する処理の流れを示した第６の図である。
【図１４】第２実施形態に係る車線逸脱警報装置が実行する処理の流れを示した第７の図である。
【図１５】第２実施形態に係る制御装置が有する機能を実現することが可能なハードウェアの一例を示した図である。
【発明を実施するための形態】
【００１４】
以下に添付図面を参照しながら、本発明の実施形態について説明する。なお、本明細書及び図面において実質的に同一の機能を有する要素については、同一の符号を付することにより重複説明を省略する場合がある。
【００１５】
＜１．第１実施形態＞
図１を参照しながら、第１実施形態について説明する。図１は、第１実施形態に係る情報処理装置の一例を示した図である。
【００１６】
図１に示すように、第１実施形態に係る情報処理装置１０は、記憶部１１及び演算部１２を有する。なお、情報処理装置１０は、車両Ｃに搭載される。例えば、情報処理装置１０は、車両Ｃに搭載されたカメラ２０と組み合わせて、車両Ｃが車線を逸脱した場合に運転者へ警報を発する車線逸脱警報装置として利用することができる。
【００１７】
なお、記憶部１１は、ＲＡＭ（Random Access Memory）などの揮発性記憶装置、ＨＤＤ（Hard Disk Drive）やフラッシュメモリなどの不揮発性記憶装置である。
演算部１２は、ＣＰＵ（Central Processing Unit）やＤＳＰ（Digital Signal Processor）などのプロセッサである。また、演算部１２は、ＡＳＩＣ（Application Specific Integrated Circuit）やＦＰＧＡ（Field Programmable Gate Array）などの電子回路であってもよい。演算部１２は、例えば、記憶部１１又は他のメモリに記憶されたプログラムを実行する。
【００１８】
記憶部１１には、車両Ｃに設置されたカメラ２０により撮像された撮像画像が格納される。例えば、カメラ２０は、車両Ｃの前方を連続的に撮影し、連続する複数の撮像画像を記憶部１１に格納する。
【００１９】
図１の例では、情報処理装置１０及びカメラ２０が、車線区分線Ｌ１、Ｌ２、Ｌ３で区分された車線ＬＬ、ＬＲを走行中の車両Ｃに搭載されている。車線区分線Ｌ１、Ｌ２、Ｌ３は、車線ＬＬ、ＬＲの境界を表す車線境界線の一例である。
【００２０】
以下、簡単のため、図１の（Ａ）に示すように、車両Ｃが車線ＬＲを直進する状況（区間Ｒ１）、及び車両Ｃが車線ＬＲから車線ＬＬへと車線変更する状況（区間Ｒ２）を想定して説明を進める。
【００２１】
また、図１の（Ｂ）に示すように、車線区分線Ｌ２に対して光軸方向が角度θ0を成し、車両Ｃの進行方向に対して光軸方向が角度θ1を成すようにカメラ２０が車両Ｃに取り付けられているとする。なお、車両Ｃの進行方向が車線区分線Ｌ２と平行である場合、図１の（Ｂ）に示すように、２つの角度θ0、θ1は一致する。また、図１の（Ａ）に示すように、カメラ２０の設置位置と車両Ｃが走行している車線（例えば、車線ＬＲ）の中心（以下、車線中心）との距離をＥと表記する。
【００２２】
車両Ｃが車線ＬＲを走行している場合、カメラ２０により撮像された撮像画像には、車線区分線Ｌ２、Ｌ３が含まれる。演算部１２は、車線ＬＬ、ＬＲを区切る車線区分線Ｌ２、Ｌ３を撮像画像から検出する。また、演算部１２は、撮像画像に基づいて車両Ｃが走行している車線ＬＲの中心から車両Ｃまでの距離Ｅを計算する。
【００２３】
演算部１２は、距離Ｅの変化が設定した閾値よりも小さい場合に車両Ｃが車線区分線Ｌ２、Ｌ３に対して平行な向きに走行していると判定する。例えば、車両Ｃが区間Ｒ１を走行している場合、演算部１２は、車両Ｃが車線区分線Ｌ２、Ｌ３に対して平行な向きに走行していると判定する。一方、車両Ｃが区間Ｒ２を走行している場合、演算部１２は、車両Ｃが車線区分線Ｌ２、Ｌ３に対して平行な向きに走行していないと判定する。
【００２４】
演算部１２は、車両Ｃが車線区分線Ｌ２、Ｌ３に対して平行な向きに走行している区間Ｒ１で撮像された撮像画像に含まれる車線区分線Ｌ２、Ｌ３を基準にカメラ２０の光軸方向を推定する。一方、演算部１２は、カメラ２０の光軸方向を推定する際、車両Ｃが区間Ｒ２を走行中に撮像された撮像画像を利用しない。例えば、車両Ｃの進行方向と車線区分線Ｌ２とが平行な場合、２つの角度θ0、θ1が一致するため、撮像画像を解析して角度θ0を計算することで、車両Ｃの進行方向に対するカメラ２０の光軸方向（角度θ1）が得られる。
【００２５】
上記のように、情報処理装置１０は、撮像画像の画像処理によりカメラ２０の光軸方向（つまり、カメラ２０の取付角度）を推定することができる。また、撮像画像に含まれる車線区分線に基づいて推定を行うため、カメラ２０の画角に車両Ｃの特定部位が含まれなくても推定処理を実施することができる。そのため、車両Ｃの形状に依存せずに推定を行うことが可能になる。また、推定用のマーカーを車両Ｃに設置せずに済むため、推定処理に伴うコストの増大を抑制することができる。また、車線区分線に対して平行に走行している区間で撮像された撮像画像だけを利用して上記の推定を実施するため、誤推定が生じるリスクを低減することができる。
【００２６】
以上、第１実施形態について説明した。
＜２．第２実施形態＞
次に、第２実施形態について説明する。
【００２７】
［２−１．車線逸脱警報装置の取付例など］
まず、図２及び図３を参照しながら、第２実施形態に係る車線逸脱警報装置１００の取付例などについて説明する。この説明の中で、以降の説明に用いるパラメータの表記についても述べる。
【００２８】
図２は、第２実施形態に係る車線逸脱警報装置の取付例及びパラメータの表記を示した第１の図である。図３は、第２実施形態に係る車線逸脱警報装置の取付例及びパラメータの表記を示した第２の図である。
【００２９】
車線逸脱警報装置１００は、カメラ１０１及び制御装置１０２を有する。カメラ１０１は、例えば、図２に示すように、車両Ｃ前方の路面を撮像できるように、路面から高さＨの位置にピッチ角φで取り付けられる。なお、カメラ１０１は、車両Ｃ後方の路面を撮像できるように取り付けられていてもよい。カメラ１０１としては、例えば、ドライブレコーダなどのカメラを利用することもできる。カメラ１０１は、車両Ｃが走行中の路面を連続的に撮像し、連続する複数の撮像画像を制御装置１０２に入力する。
【００３０】
以下では、説明の都合上、図３の（Ａ）に示すように、カメラ１０１の中心を原点とするＸ−Ｙ座標系を考える。また、車両Ｃから車線区分線までの距離をＭ、車両Ｃが走行している車線の幅をＷ、カメラ１０１から車線中心までの距離をＥと表記する。また、車両Ｃ（進行方向）に対するカメラ１０１の傾き（以下、取付角度）をΘ0、車線（車線区分線）に対するカメラ１０１の傾きをΘdと表記する。また、図３の（Ｂ）に示すように、カメラ１０１の中心から車両Ｃの先端までの距離をＤ、カメラ１０１の中心から車両Ｃの中心までの距離をｄ、車両Ｃの幅をＷvと表記する。
【００３１】
車両Ｃから車線区分線までの距離Ｍは、下記の式（１）により求めることができる。例えば、ユーロＮＣＡＰ（European New Car Assessment Programme）やＪＩＳ（Japanese Industrial Standards）は、車線逸脱判定を行う際に、距離Ｍを高精度（例えば、誤差が１０ｃｍ以下）で算出することを要件として課している。カメラ１０１の取付角度Θ0を高精度に算出することができれば、距離Ｍを高精度に算出することが可能になる。
【００３２】
但し、カメラ１０１の取付角度には誤差を含む。そのため、車両Ｃに取り付けた状態でカメラ１０１の取付角度Θ0を精度良く推定できれば、距離Ｍの計算精度向上に寄与する。
【００３３】
【数１】
2015106323.tif 000003
【００３４】
制御装置１０２は、車両Ｃに取り付けられたカメラ１０１の取付角度Θ0を精度良く推定する機能を有する。制御装置１０２は、車両Ｃが車線区分線に対して平行に走行している場合に、車両Ｃから車線区分線までの距離がほぼ一定となることに着目し、車両Ｃから車線中心までの距離Ｅの変位に基づいてカメラ１０１の取付角度Θ0を推定する。
【００３５】
制御装置１０２は、撮像画像に基づいて距離Ｅを時系列で計測し、距離Ｅの変位が小さい走行区間（以下、平行区間）を抽出する。なお、平行区間の判定精度には、平行走行している区間の時間的な長さが関係する。
【００３６】
例えば、設定した数（例えば、２０フレーム）以上の連続する撮像画像から平行走行が検出された場合に、平行走行が検出された撮像画像に対応する走行区間を高い信頼度で平行区間と判定できる。
【００３７】
制御装置１０２は、平行区間でカメラ１０１が撮像した撮像画像から車線区分線とカメラ１０１の光軸方向との成す角度Θ1を算出し、カメラ１０１の取付角度Θ0の推定値とする。この制御装置１０２によれば、車両Ｃが直線的に走行していても、車線区分線に対して斜めに進行している区間については、その区間で撮像された撮像画像に基づく取付角度Θ0の推定は行われない。そのため、取付角度Θ0が誤って推定されるリスクが低減される。
【００３８】
以上、車線逸脱警報装置１００の取付列などについて説明した。以下では、上記の制御装置１０２の機能などについて、さらに説明する。
［２−２．車線逸脱警報装置の機能］
次に、図４を参照しながら、車線逸脱警報装置１００の機能について説明する。図４は、第２実施形態に係る車線逸脱警報装置が有する機能の一例を示したブロック図である。なお、ここでは、車線逸脱警報装置１００が有する機能のうち、制御装置１０２の機能を中心に説明する。
【００３９】
図４に示すように、制御装置１０２は、記憶部１２１、車線検出部１２２、パラメータ推定部１２３、平行判定部１２４、角度推定部１２５、逸脱判定部１２６、及び警報出力部１２７を有する。
【００４０】
なお、記憶部１２１が有する機能は、ＲＡＭなどの揮発性記憶装置、或いは、ＨＤＤやフラッシュメモリなどの不揮発性記憶装置を用いて実現可能である。また、車線検出部１２２、パラメータ推定部１２３、及び平行判定部１２４が有する機能は、ＣＰＵやＤＳＰなどのプロセッサを用いて実現可能である。また、車線検出部１２２、パラメータ推定部１２３、及び平行判定部１２４が有する機能は、ＡＳＩＣやＦＰＧＡなどの電子回路を用いても実現可能である。
【００４１】
また、角度推定部１２５、逸脱判定部１２６、及び警報出力部１２７が有する機能は、ＣＰＵやＤＳＰなどのプロセッサを用いて実現可能である。また、角度推定部１２５、逸脱判定部１２６、及び警報出力部１２７が有する機能は、ＡＳＩＣやＦＰＧＡなどの電子回路を用いても実現可能である。車線検出部１２２、パラメータ推定部１２３、平行判定部１２４、角度推定部１２５、逸脱判定部１２６、及び警報出力部１２７は、例えば、記憶部１２１又は他のメモリに記憶されたプログラムを実行する。
【００４２】
記憶部１２１には、カメラ１０１により撮像された撮像画像が格納される。車線検出部１２２は、記憶部１２１に格納された撮像画像からエッジ画像を抽出する。
また、車線検出部１２２は、抽出したエッジ画像を用いて車線区分線を検出する。車線検出部１２２により検出された車線区分線の情報は、パラメータ推定部１２３に入力される。
【００４３】
パラメータ推定部１２３は、車線検出部１２２により検出された車線区分線の情報に基づき、カメラ１０１の光軸方向と車線区分線とが成す角度Θd及び距離Ｅなどを計算する。また、パラメータ推定部１２３は、距離Ｅの変位ΔＥを計算する。例えば、パラメータ推定部１２３は、時刻ｔ0に撮像された撮像画像に基づく距離Ｅ（ｔ0）を基準とし、時刻ｔに撮像された撮像画像に基づく距離Ｅの変位ΔＥ（ｔ）を下記の式（２）により計算する。
【００４４】
ΔＥ（ｔ）＝｜Ｅ（ｔ）−Ｅ（ｔ0）｜
…（２）
パラメータ推定部１２３により計算された変位ΔＥは、平行判定部１２４に入力される。また、パラメータ推定部１２３により計算された角度Θdは、角度推定部１２５に入力される。平行判定部１２４は、パラメータ推定部１２３により入力された変位ΔＥを保持する。また、平行判定部１２４は、変位ΔＥと閾値ＴｈEとを比較する。変位ΔＥが閾値ＴｈEよりも小さい場合、平行判定部１２４は、車両Ｃが車線区分線に対して平行に走行していると判定する。つまり、平行判定部１２４は、車両Ｃが平行区間を走行中であると判定する。
【００４５】
平行判定部１２４による判定結果は、角度推定部１２５に入力される。角度推定部１２５は、平行区間において撮像された撮像画像の数が閾値Ｔ0以上であるか否かを判定する。
【００４６】
撮像画像の数が閾値Ｔ0以上である場合、角度推定部１２５は、平行区間における角度Θdを用いて、カメラ１０１の光軸方向と車両Ｃの進行方向とが成す角度Θ0を推定する。例えば、角度推定部１２５は、平行区間に撮像された各撮像画像に基づく角度Θdの統計値（例えば、平均値や最頻値など）を角度Θ0に決定する。角度推定部１２５により推定された角度Θ0は、記憶部１２１に格納される。
【００４７】
逸脱判定部１２６は、パラメータ推定部１２３により計算された距離Ｅや角度Θdなどのパラメータ、及び角度推定部１２５により推定された角度Θ0に基づき、車両Ｃから車線区分線までの距離Ｍ（上記の式（１）を参照）を計算する。但し、車線幅Ｗはパラメータ推定部１２３により計算され、記憶部１２１に格納されている。また、車両Ｃの幅Ｗv、カメラ１０１の取付位置に関する距離ｄ、Ｄは、予め記憶部１２１に格納されている。逸脱判定部１２６は、計算した距離Ｍに基づいて車両Ｃが車線から逸脱しているか否かを判定する。
【００４８】
車両Ｃが車線から逸脱していると判定した場合、逸脱判定部１２６は、警報出力部１２７に対し、車両Ｃが車線から逸脱している旨を通知する。この通知を受けた警報出力部１２７は、車両Ｃが車線から逸脱している旨を運転者に通知する。
【００４９】
例えば、警報出力部１２７は、音声出力、画像表示、テキスト表示などにより運転者に警告を発する。
以上、車線逸脱警報装置１００の機能について説明した。なお、後述するように、平行判定部１２４及び角度推定部１２５などの機能は適宜変形することが可能である。
【００５０】
［２−３．取付角度の推定方法］
次に、図５〜図７を参照しながら、第２実施形態に係る取付角度の推定方法について説明する。
【００５１】
（２−３−１．平行区間の車線区分線に基づく角度推定）
まず、図５を参照しながら、平行区間の車線区分線に基づく角度Θ0の推定方法（以下、推定方法＃１）について説明する。図５は、第２実施形態に係る取付角度の推定方法について説明するための第１の図である。図５には、時刻ｔ1から時刻ｔ5までに車両Ｃが走行した様子及び変位ΔＥの変化が模式的に記載されている。
【００５２】
図５の例では、時刻ｔ1、ｔ2を含む期間Δｔ1において、車両Ｃが車線の左側から車線の右側へと移動している。また、時刻ｔ3、ｔ4、ｔ5を含む期間Δｔ2において、車両Ｃが車線の右側を直線的に走行している。そのため、変位ΔＥは、期間Δｔ1において閾値ＴｈEよりも大きな値となる。また、変位ΔＥは、期間Δｔ2において閾値ＴｈEよりも小さな値となる。つまり、期間Δｔ1の区間は、平行区間でない区間（以下、非平行区間）である。一方、期間Δｔ2の区間は、平行区間である。
【００５３】
角度推定部１２５は、平行区間の開始時刻Ｔ以降、平行区間で連続して撮像された撮像画像の数（フレーム数）をカウントし、各撮像画像に基づく角度Θdを保存する。カウントした数がＴ0（例えば、２０フレーム）に達した場合、角度推定部１２５は、保存していた角度Θdを用いてカメラ１０１の取付角度Θ0を推定する。一方、カウントした数がＴ0に達せずに非平行区間に移行した場合（変位ΔＥが途中で閾値ＴｈEを超えた場合）、角度推定部１２５は、保存していた角度Θdを破棄する。
【００５４】
図５の例では、平行区間である期間Δｔ2に連続して撮像された撮像画像の数がＴ0を超えているため、平行区間の開始時刻Ｔ以降に撮像された撮像画像に基づく角度Θdからカメラ１０１の取付角度Θ0が推定される。
【００５５】
以上、推定方法＃１について説明した。
（２−３−２．複数の短縮平行区間の車線区分線に基づく角度推定）
次に、図６を参照しながら、複数の短縮平行区間の車線区分線に基づく角度推定（以下、推定方法＃２）について説明する。図６は、第２実施形態に係る取付角度の推定方法について説明するための第２の図である。図６には、時刻ｔ1から時刻ｔ7までに車両Ｃが走行した様子及び変位ΔＥの変化が模式的に記載されている。
【００５６】
図６の例では、時刻ｔ1を含む期間Δｔ1において、車両Ｃが車線の左側から車線の中央付近へと移動している。また、時刻ｔ2を含む期間Δｔ2において、車両Ｃが車線の中央付近を直線的に走行している。但し、期間Δｔ2は短く、期間Δｔ2に撮像される撮像画像のカウント数は閾値Ｔ0に満たない。また、時刻ｔ3を含む期間Δｔ3において、車両Ｃが車線の中央付近から車線の右側へと移動している。
【００５７】
また、時刻ｔ4、ｔ5を含む期間Δｔ4において、車両Ｃが車線の右側を直線的に走行している。但し、期間Δｔ4は短く、期間Δｔ4に撮像される撮像画像のカウント数は閾値Ｔ0に満たない。また、時刻ｔ6を含む期間Δｔ5において、車両Ｃが車線の右側から車線の中央付近へと移動している。また、時刻ｔ7を含む期間Δｔ6において、車両Ｃが車線の中央付近を直線的に走行している。
【００５８】
変位ΔＥと閾値ＴｈEとの比較から、期間Δｔ1、Δｔ3、Δｔ5の区間は非平行区間、期間Δｔ2、Δｔ4、Δｔ6の区間は平行区間であると判定される。但し、期間Δｔ2、Δｔ4は短い平行区間であるため、期間Δｔ2、Δｔ4に撮像される撮像画像のカウント数は閾値Ｔ0に満たない。実際、道路の状態や撮像画像の画質などに起因して十分な長さの平行区間がなかなか検出されない可能性も考えられる。
【００５９】
このような場合、上述した推定方法＃１を適用すると、カメラ１０１の取付角度Θ0が推定されるまでに時間がかかる場合がある。推定方法＃２では、複数の短い平行区間を利用する方法を提案する。
【００６０】
角度推定部１２５は、平行区間（期間Δｔ2）の開始時刻Ｔ1以降、平行区間で連続して撮像された撮像画像の数（フレーム数）をカウントし、各撮像画像に基づく角度Θdを保存する。さらに、角度推定部１２５は、平行区間（期間Δｔ4）の開始時刻Ｔ3以降、平行区間で連続して撮像された撮像画像の数（フレーム数）をカウントし、各撮像画像に基づく角度Θdを保存する。カウントした数の合計がＴ0に達した場合、角度推定部１２５は、保存していた角度Θdを用いてカメラ１０１の取付角度Θ0を推定する。
【００６１】
なお、短い平行区間毎にカウントした数がＴ1（例えば、５フレーム）に達せずに非平行区間に移行した場合（変位ΔＥが途中で閾値ＴｈEを超えた場合）、角度推定部１２５は、保存していた角度Θdを破棄してもよい。この場合、極端に短い平行区間を考慮されないため、取付角度Θ0の推定精度が大きく低下することを避けることができる。
【００６２】
以上、推定方法＃２について説明した。
推定方法＃２によれば、長い平行区間が得られない場合でも、カメラ１０１の取付角度Θ0を推定することができるようになる。
【００６３】
（２−３−３．車線区分線の劣化などへの対応）
次に、図７を参照しながら、車線区分線の劣化などへの対応について説明する。図７は、第２実施形態に係る取付角度の推定方法について説明するための第３の図である。
【００６４】
交通量が多い道路などでは、色が薄れたり、部分的に線が途切れたりしている車線区分線を見かけることがある。このような場合、車線区分線の検出に失敗したり、パラメータの誤推定が発生したりする可能性がある。そこで、平行区間を検出する際に、変位ΔＥの変化だけでなく、図７に示すような判定基準を用いて検出車線の正常性評価を行う方法を提案する。
【００６５】
図７に示すように、正常性評価の判定基準としては、例えば、線の種別、検出結果（車線区分線の有無）、線の曲率、線の平行性などが考えられる。線の種別には、例えば、１本の白線で表示された車線区分線や、車線区分線に沿って鎖線で表示された補助線などがある。
【００６６】
補助線が表示されていると車線区分線の誤検出が生じる可能性があるため、補助線がある区間で撮像された撮像画像は、取付角度Θ0の推定処理に利用しない。
また、車両Ｃの片側にある車線区分線は検出されるが、その反対側にある車線区分線は検出されない場合もある。このような場合、車両Ｃから車線中心までの距離Ｅを計算することができない。そのため、片側の車線区分線が未検出の区間で撮像された撮像画像は、取付角度Θ0の推定処理に利用しない。
【００６７】
また、車線区分線が曲線である場合、車両Ｃが車線区分線に対して平行に走行していても２つの角度Θd、Θ0が一致しない。従って、車線区分線の曲率が予め設定した閾値以上である区間で撮像された撮像画像は、取付角度Θ0の推定処理に利用しない。また、車両Ｃの進行方向に向かって車線幅が変化している場合、平行区間を正しく判定できない可能性がある。そのため、車両Ｃの両側に位置する車線区分線が非平行である区間で撮像された撮像画像は、取付角度Θ0の推定処理に利用しない。
【００６８】
以上、車線区分線の劣化などへの対応について説明した。上記のような例外処理を行うことで、車線区分線の誤検出などに伴う取付角度Θ0の誤推定を低減することが可能になり、推定精度を向上させることができる。
【００６９】
［２−４．処理フロー］
次に、図８〜図１４を参照しながら、車線逸脱警報装置１００が実行する処理の流れについて説明する。
【００７０】
（２−４−１．平行区間の車線区分線に基づく角度推定）
まず、図８〜図１０を参照しながら、平行区間の車線区分線に基づく角度推定の処理フローについて説明する。
【００７１】
図８は、第２実施形態に係る車線逸脱警報装置が実行する処理の流れを示した第１の図である。図９は、第２実施形態に係る車線逸脱警報装置が実行する処理の流れを示した第２の図である。図１０は、第２実施形態に係る車線逸脱警報装置が実行する処理の流れを示した第３の図である。
【００７２】
（全体的な処理の流れ）
まず、図８を参照しながら、全体的な処理の流れについて説明する。
（Ｓ１０１）車線検出部１２２は、記憶部１２１に格納された撮像画像を読み出す。なお、記憶部１２１には、カメラ１０１により撮像された撮像画像が格納されている。
【００７３】
（Ｓ１０２）車線検出部１２２は、記憶部１２１に格納された撮像画像からエッジ画像を抽出する。例えば、車線検出部１２２は、車線区分線を表す白線と道路面との境界（エッジ）を検出し、検出したエッジによるエッジ画像を生成する。なお、エッジ検出は、例えば、ＬＯＧフィルタによる輪郭抽出などにより実現可能である。
【００７４】
また、車線検出部１２２は、抽出したエッジ画像を用いて車線区分線を検出する。例えば、車線検出部１２２は、エッジ画像に対してラベリングを実施し、線分の方向や形状などを考慮してノイズ成分を除去した後、連結処理を実施して車線区分線を検出する。なお、これ以外の車線検出方法を適用してもよい。車線検出部１２２により検出された車線区分線の情報は、パラメータ推定部１２３に入力される。
【００７５】
（Ｓ１０３）パラメータ推定部１２３は、車線検出部１２２により検出された車線区分線の情報に基づき、カメラ１０１の光軸方向と車線区分線とが成す角度Θd及び距離Ｅなどを計算する。
【００７６】
なお、車線検出部１２２から入力される車線区分線の情報は、撮像画像上の位置情報である。そのため、パラメータ推定部１２３は、路面上における車線区分線の位置や距離Ｅを計算するために路面上の車線位置をモデル化し、撮像画像上の位置情報から路面上の位置情報などに変換する。
【００７７】
例えば、パラメータ推定部１２３は、下記の式（３）で表現されるモデルを利用して線形近似による繰り返し演算を実行し、撮像画像上の位置情報から路面上の位置情報などのパラメータを計算する。但し、撮像画像上の位置座標を（ｘ，ｙ）、カメラ１０１の焦点距離をｆ、車線区分線の曲率をｃ、右側車線と左側車線とを区別するための定数をｋ（左側車線：−１、右側車線：＋１）とする。
【００７８】
【数２】
2015106323.tif 000004
【００７９】
また、パラメータ推定部１２３は、距離Ｅの変位ΔＥを計算する。例えば、パラメータ推定部１２３は、時刻ｔ0に撮像された撮像画像に基づく距離Ｅ（ｔ0）を基準とし、時刻ｔに撮像された撮像画像に基づく距離Ｅの変位ΔＥ（ｔ）を上記の式（２）により計算する。パラメータ推定部１２３により計算された変位ΔＥは、平行判定部１２４に入力される。また、パラメータ推定部１２３により計算された角度Θdは、角度推定部１２５に入力される。
【００８０】
（Ｓ１０４）制御装置１０２は、カメラ１０１の取付角度Θ0を推定するか否かを判定する。例えば、制御装置１０２は、取付角度Θ0の推定が完了している場合（後述する完了フラグが設定されている場合）、カメラ１０１の取付角度Θ0を推定しないと判定する。
【００８１】
一方、取付角度Θ0の推定が完了していない場合、制御装置１０２は、カメラ１０１の取付角度Θ0を推定すると判定する。カメラ１０１の取付角度Θ0を推定する場合、処理はＳ１０５に進む。一方、カメラ１０１の取付角度Θ0を推定しない場合、処理はＳ１０６に進む。
【００８２】
（Ｓ１０５）平行判定部１２４は、パラメータ推定部１２３により入力された変位ΔＥを保持する。また、平行判定部１２４は、変位ΔＥと閾値ＴｈEとを比較する。変位ΔＥが閾値ＴｈEよりも小さい場合、平行判定部１２４は、車両Ｃが車線区分線に対して平行に走行していると判定する。
【００８３】
つまり、平行判定部１２４は、車両Ｃが平行区間を走行中であると判定する。平行判定部１２４による判定結果は、角度推定部１２５に入力される。
角度推定部１２５は、平行区間において撮像された撮像画像の数が閾値Ｔ0以上であるか否かを判定する。撮像画像の数が閾値Ｔ0以上である場合、角度推定部１２５は、平行区間における角度Θdを用いて、カメラ１０１の光軸方向と車両Ｃの進行方向とが成す角度Θ0を推定する。
【００８４】
例えば、角度推定部１２５は、平行区間に撮像された各撮像画像に基づく角度Θdの統計値（例えば、平均値や最頻値など）を角度Θ0に決定する。角度推定部１２５により推定された角度Θ0は、記憶部１２１に格納される。
【００８５】
Ｓ１０５の処理が完了すると、処理はＳ１０１に進む。
（Ｓ１０６）逸脱判定部１２６は、パラメータ推定部１２３により計算された距離Ｅや角度Θdなどのパラメータ、及び角度推定部１２５により推定された角度Θ0に基づき、車両Ｃから車線区分線までの距離Ｍ（上記の式（１）を参照）を計算する。逸脱判定部１２６は、計算した距離Ｍに基づいて車両Ｃが車線から逸脱しているか否かを判定する。距離Ｍが大きければ逸脱の可能性が低く、距離Ｍが小さければ逸脱の可能性が高い。
【００８６】
車両Ｃが車線から逸脱していると判定した場合、逸脱判定部１２６は、警報出力部１２７に対し、車両Ｃが車線から逸脱している旨を通知する。この通知を受けた警報出力部１２７は、車両Ｃが車線から逸脱している旨を運転者に通知する。例えば、警報出力部１２７は、音声出力、画像表示、テキスト表示などにより運転者に警告を発する。
【００８７】
（Ｓ１０７）制御装置１０２は、図８に示した一連の処理を終了するか否かを判定する。例えば、車線逸脱警報装置１００の電源がオフに設定された場合、制御装置１０２は、図８に示した一連の処理を終了する。一方、図８に示した一連の処理を継続する場合、処理はＳ１０１に進む。
【００８８】
（取付角度の推定：Ｓ１０５）
ここで、図９を参照しながら、Ｓ１０５の処理について、さらに説明する。
（Ｓ１１１）平行判定部１２４は、車両Ｃの進行方向を検出する。例えば、平行判定部１２４は、パラメータ推定部１２３により入力された変位ΔＥに基づき、車両Ｃの進行方向が車線区分線に対して平行であるか否かを判定する。
【００８９】
変位ΔＥが閾値ＴｈEよりも小さい場合、平行判定部１２４は、車両Ｃの進行方向が車線区分線に対して平行であると判定する。一方、変位ΔＥが閾値ＴｈEよりも小さくない場合、平行判定部１２４は、車両Ｃの進行方向が車線区分線に対して平行でないと判定する。
【００９０】
（Ｓ１１２）Ｓ１１１の処理で、車両Ｃの進行方向が車線区分線に対して平行であると判定された場合、処理はＳ１１３に進む。一方、Ｓ１１１の処理で、車両Ｃの進行方向が車線区分線に対して平行でないと判定された場合、図９に示した一連の処理は終了する。
【００９１】
（Ｓ１１３）角度推定部１２５は、車両Ｃの進行方向が車線区分線に対して平行である区間（平行区間）で連続して撮像された撮像画像の数が閾値Ｔ0以上であるか否かを判定する。
【００９２】
なお、閾値Ｔ0は、カメラ１０１の取付角度Θ0を所望の精度で算出できるように実験的に求めた値（例えば、２０）である。平行区間で連続して撮像された撮像画像の数が閾値Ｔ0以上である場合、処理はＳ１１４に進む。一方、平行区間で連続して撮像された撮像画像の数が閾値Ｔ0以上でない場合、図９に示した一連の処理は終了する。
【００９３】
（Ｓ１１４）角度推定部１２５は、平行区間における角度Θdを用いて、カメラ１０１の光軸方向と車両Ｃの進行方向とが成す角度Θ0を推定する。例えば、角度推定部１２５は、平行区間に撮像された各撮像画像に基づく角度Θdの統計値（例えば、平均値や最頻値など）を角度Θ0に決定する。角度推定部１２５により推定された角度Θ0は、記憶部１２１に格納（保存）される。このとき、角度推定部１２５は、完了フラグを設定し、設定した情報を記憶部１２１に格納する。Ｓ１１４の処理が完了すると、図９に示した一連の処理は終了する。
【００９４】
（進行方向の検出：Ｓ１１１）
ここで、図１０を参照しながら、Ｓ１１１の処理について、さらに説明する。
（Ｓ１２１）パラメータ推定部１２３は、車線検出部１２２により検出された車線区分線の情報に基づき、カメラ１０１の光軸方向と車線区分線とが成す角度Θd及び距離Ｅなどを計算する。このとき、パラメータ推定部１２３は、上記の式（３）に基づいて、路面上における車線区分線の位置や距離Ｅを計算するために路面上の車線位置をモデル化し、撮像画像上の位置情報から路面上の位置情報などに変換する。
【００９５】
また、パラメータ推定部１２３は、距離Ｅの変位ΔＥを計算する。例えば、パラメータ推定部１２３は、基準となる時刻ｔ0に撮像された撮像画像に基づく距離Ｅ（ｔ0）（後述するＥP）を用いて、時刻ｔ（平行走行を判定する時点）に撮像された撮像画像に基づく距離Ｅの変位ΔＥ（ｔ）を上記の式（２）により計算する。パラメータ推定部１２３により計算された変位ΔＥは、平行判定部１２４に入力される。
【００９６】
（Ｓ１２２）平行判定部１２４は、パラメータ推定部１２３により入力された変位ΔＥを保持する。また、平行判定部１２４は、変位ΔＥと閾値ＴｈEとを比較し、変位ΔＥが閾値ＴｈEよりも大きいか否かを判定する。
【００９７】
なお、閾値ＴｈEは、カメラ１０１の取付角度Θ0を所望の精度で推定可能な値（例えば、５０ｍｍ）となるように実験的に決められる。変位ΔＥが閾値ＴｈEよりも大きい場合、処理はＳ１２３に進む。一方、変位ΔＥが閾値ＴｈEよりも大きくない場合、処理はＳ１２５に進む。
【００９８】
（Ｓ１２３、Ｓ１２４）平行判定部１２４は、Ｓ１２１の処理で用いた距離Ｅを基準となる距離ＥPに設定する。また、平行判定部１２４は、車両Ｃの進行方向が車線区分線に対して平行ではないと判断する。Ｓ１２３、Ｓ１２４の処理を完了すると、図１０に示した一連の処理は終了する。このように、横方向の距離Ｅを用いることにより、車両Ｃが低速走行時でも、車両Ｃの進行方向が車線区分線に対して平行であるか否かを判定することができる。
【００９９】
（Ｓ１２５、Ｓ１２６）平行判定部１２４は、車両Ｃの進行方向が車線区分線に対して平行であると判断する。この場合、パラメータ推定部１２３により計算された距離Ｅや角度Θdなどのパラメータは記憶部１２１に格納（保存）される。Ｓ１２５、Ｓ１２６の処理が完了すると、図１０に示した一連の処理は終了する。
【０１００】
以上、平行区間の車線区分線に基づく角度推定の処理フローについて説明した。
（２−４−２．複数の短縮平行区間の車線区分線に基づく角度推定）
次に、図１１〜図１４を参照しながら、複数の短縮平行区間の車線区分線に基づく角度推定の処理フローについて説明する。
【０１０１】
図１１は、第２実施形態に係る車線逸脱警報装置が実行する処理の流れを示した第４の図である。図１２は、第２実施形態に係る車線逸脱警報装置が実行する処理の流れを示した第５の図である。図１３は、第２実施形態に係る車線逸脱警報装置が実行する処理の流れを示した第６の図である。図１４は、第２実施形態に係る車線逸脱警報装置が実行する処理の流れを示した第７の図である。
【０１０２】
（取付角度の推定：Ｓ１０５）
上述した平行区間の車線区分線に基づく角度推定の処理フローとの違いは、図８に示した処理のうち、Ｓ１０５の処理にある。そこで、全体的な処理フローについては詳細な説明を省略し、図１１を参照しながら、Ｓ１０５に相当する処理フローについて説明する。
【０１０３】
（Ｓ２１１）平行判定部１２４は、車両Ｃの進行方向を検出する。例えば、平行判定部１２４は、パラメータ推定部１２３により入力された変位ΔＥに基づき、車両Ｃの進行方向が車線区分線に対して平行であるか否かを判定する。
【０１０４】
変位ΔＥが閾値ＴｈEよりも小さい場合、平行判定部１２４は、車両Ｃの進行方向が車線区分線に対して平行であると判定する。一方、変位ΔＥが閾値ＴｈEよりも小さくない場合、平行判定部１２４は、車両Ｃの進行方向が車線区分線に対して平行でないと判定する。
【０１０５】
（Ｓ２１２）Ｓ２１１の処理で、車両Ｃの進行方向が車線区分線に対して平行であると判定された場合、処理はＳ２１３に進む。一方、Ｓ２１１の処理で、車両Ｃの進行方向が車線区分線に対して平行でないと判定された場合、図１１に示した一連の処理は終了する。
【０１０６】
（Ｓ２１３）角度推定部１２５は、車両Ｃの進行方向が車線区分線に対して平行である区間（平行区間）で連続して撮像された撮像画像の数が閾値Ｔ1以上であるか否かを判定する。なお、閾値Ｔ1は、上述した閾値Ｔ0よりも小さい値（Ｔ1＜Ｔ0；例えば、Ｔ1＝５）に設定される。平行区間で連続して撮像された撮像画像の数が閾値Ｔ1以上である場合、処理はＳ２１４に進む。一方、平行区間で連続して撮像された撮像画像の数が閾値Ｔ1以上でない場合、図１１に示した一連の処理は終了する。
【０１０７】
なお、Ｓ２１３の処理に関する変形例として、例えば、閾値Ｔ2（Ｔ2＞Ｔ1、Ｔ2＜Ｔ0）を設定し、連続するＴ2枚の撮像画像のうち、平行区間で連続して撮像された撮像画像がＴ1枚以上の場合に、処理をＳ２１４に進める処理とする方法が考えられる。この方法では、連続するＴ2枚の撮像画像のうち、平行区間で連続して撮像された撮像画像がＴ1枚以上とならない場合には、図１１に示した一連の処理が終了する。閾値Ｔ2は実験的に決められる値である。例えば、Ｔ2＝７、Ｔ1＝５などに設定される。
【０１０８】
（Ｓ２１４）角度推定部１２５は、平行区間における角度Θdを用いて、カメラ１０１の光軸方向と車両Ｃの進行方向とが成す角度Θ0を推定する。例えば、角度推定部１２５は、平行区間に撮像された各撮像画像に基づく角度Θdの統計値（例えば、平均値や最頻値など）を角度Θ0に決定する。角度推定部１２５により推定された角度Θ0は、記憶部１２１に格納（保存）される。
【０１０９】
（Ｓ２１５）角度推定部１２５は、連続して撮像された撮像画像の数が閾値Ｔ1以上となる平行区間の数Ｓ（記憶部１２１に格納された角度Θ0の数でもよい。）が閾値ＴｈS以上であるか否かを判定する。なお、閾値ＴｈSは、カメラ１０１の取付角度Θ0を所望の精度で決めることができる値（例えば、ＴｈS＝７）に実験的に決められる。平行区間の数Ｓが閾値ＴｈS以上である場合、処理はＳ２１６に進む。一方、平行区間の数Ｓが閾値ＴｈS以上でない場合、図１１に示した一連の処理は終了する。
【０１１０】
（Ｓ２１６）角度推定部１２５は、記憶部１２１に格納された複数の取付角度Θ0に基づく統計値（例えば、平均値や最頻値など）を計算し、計算した統計値を取付角度Θ0の推定結果とする。推定結果として得られたカメラ１０１の取付角度Θ0は、記憶部１２１に格納される。Ｓ２１６の処理が完了すると、図１１に示した一連の処理は終了する。
【０１１１】
（具体例）
ここで、図１２〜図１４を参照しながら、図１１に示した処理フローの具体例（カウンタの遷移に基づく処理の流れ）について、さらに説明する。
【０１１２】
なお、Ｐcnt、Ｑcnt、Ｒcnt、Ｓcnt、Ｔcntはカウンタである。また、ＴｈP、ＴｈQ、ＴｈR、ＴｈS、ＴｈTは、それぞれＰcnt、Ｑcnt、Ｒcnt、Ｓcnt、Ｔcntに対応する閾値である。カウンタはそれぞれ値０に初期化されている。また、閾値ＴｈP、ＴｈQ、ＴｈR、ＴｈS、ＴｈTは、例えば、ＴｈP＝１１、ＴｈQ＝３、ＴｈR＝２、ＴｈS＝１、ＴｈT＝３などと設定されている。
【０１１３】
（Ｓ２２１）角度推定部１２５は、カウンタＰcntが閾値ＴｈPよりも小さいか否かを判定する。なお、カウンタＰcntをフレームカウンタと呼ぶ場合がある。カウンタＰcntが閾値ＴｈPよりも小さい場合、処理はＳ２２２に進む。一方、カウンタＰcntが閾値ＴｈPよりも小さくない場合、処理はＳ２２３に進む。
【０１１４】
（Ｓ２２２）角度推定部１２５は、フレームカウンタＰcntを１増加させる。Ｓ２２２の処理が完了すると、処理はＳ２２４に進む。
（Ｓ２２３）角度推定部１２５は、カウンタＰcnt、Ｑcnt、Ｔcntを０に初期化する。これは、取付角度Θ0の推定処理がＴｈP以内に完了しない場合には初期化が行われることを示している。Ｓ２２３の処理が完了すると、処理はＳ２２４に進む。
【０１１５】
（Ｓ２２４）角度推定部１２５は、カウンタＱcntが０であるか否かを判定する。なお、カウンタＱcntをフレームカウンタと呼ぶ場合がある。カウンタＱcntが０である場合、処理はＳ２２５に進む。一方、カウンタＱcntが０でない場合、処理はＳ２２６に進む。
【０１１６】
（Ｓ２２５）角度推定部１２５は、カウンタＲcnt、Ｓcntを０に初期化する。Ｓ２２５の処理が完了すると、処理はＳ２２６に進む。
（Ｓ２２６）角度推定部１２５は、カウンタＱcntを１増加させる。
【０１１７】
（Ｓ２２７）角度推定部１２５は、車両Ｃの進行方向が車線区分線に平行であるか否かを判定する。車両Ｃの進行方向が車線区分線に平行である場合、処理はＳ２２８に進む。一方、車両Ｃの進行方向が車線区分線に平行でない場合、処理は、図１４のＳ２３６に進む。
【０１１８】
（Ｓ２２８）角度推定部１２５は、撮像画像を対象フレームとして登録する。また、角度推定部１２５は、カウンタＲcntを１増加させる。なお、カウンタＲcntは、対象フレームとして登録した撮像画像の枚数を示すカウンタである。カウンタＲcntを対象フレームカウンタと呼ぶ場合がある。
【０１１９】
（Ｓ２２９）角度推定部１２５は、カウンタＱcntが閾値ＴｈQ以上であるか否かを判定する。カウンタＱcntが閾値ＴｈQ以上である場合、処理はＳ２３０に進む。一方、カウンタＱcntが閾値ＴｈQ以上でない場合、図１２〜図１４に示した一連の処理は終了する。
【０１２０】
（Ｓ２３０）角度推定部１２５は、カウンタＲcntが閾値ＴｈR以上であるか否かを判定する。カウンタＲcntが閾値ＴｈR以上である場合、処理は、図１３のＳ２３２に進む。一方、カウンタＲcntが閾値ＴｈR以上でない場合、処理はＳ２３１に進む。
【０１２１】
（Ｓ２３１）角度推定部１２５は、カウンタＱcntを０に初期化する。Ｓ２３１の処理が完了すると、図１２〜図１４に示した一連の処理は終了する。
（Ｓ２３２）角度推定部１２５は、登録した対象フレームに対応する車両Ｃの走行区間を対象区間として登録する。そして、角度推定部１２５は、カウンタＴcntを１増加させる。カウンタＴcntは、登録した対象区間の数を示すカウンタである。カウンタＴcntを対象区間数カウンタと呼ぶ場合がある。また、角度推定部１２５は、カウンタＱcntを０に初期化する。
【０１２２】
（Ｓ２３３）角度推定部１２５は、カウンタＴcntが閾値ＴｈT以上であるか否かを判定する。カウンタＴcntが閾値ＴｈT以上である場合、処理はＳ２３４に進む。一方、カウンタＴcntが閾値ＴｈT以上でない場合、図１２〜図１４に示した一連の処理は終了する。
【０１２３】
（Ｓ２３４）角度推定部１２５は、登録した全ての対象フレームに関する取付角度Θ0の統計値を計算し、計算した統計値を取付角度Θ0の推定結果とする。推定結果とされた取付角度Θ0は、記憶部１２１に格納（保存）される。
【０１２４】
（Ｓ２３５）角度推定部１２５は、カウンタＰcnt、Ｑcnt、Ｔcntを０に初期化する。Ｓ２３５の処理が完了すると、図１２〜図１４に示した一連の処理は完了する。
（Ｓ２３６）角度推定部１２５は、撮像画像をＮＧフレーム（非平行走行中に撮像された撮像画像）と判定する。また、角度推定部１２５は、カウンタＳcntを１増加させる。なお、カウンタＳcntは、ＮＧフレームの数を示すカウンタである。カウンタＳcntをＮＧフレームカウンタと呼ぶ場合がある。
【０１２５】
（Ｓ２３７）角度推定部１２５は、カウンタＳcntが閾値ＴｈSよりも大きいか否かを判定する。カウンタＳcntが閾値ＴｈSよりも大きい場合、処理はＳ２３８に進む。一方、カウンタＳcntが閾値ＴｈSよりも大きくない場合、処理は、図１２のＳ２２９に進む。
【０１２６】
（Ｓ２３８）角度推定部１２５は、カウンタＱcntを０に初期化する。Ｓ２３８の処理が完了すると、処理は、図１２のＳ２２９に進む。
以上、複数の短縮平行区間の車線区分線に基づく角度推定の処理フローについて説明した。
【０１２７】
［２−５．ハードウェアの例］
次に、図１５を参照しながら、車線逸脱警報装置１００が有する機能のうち、制御装置１０２の機能を実現することが可能なハードウェアの例について説明する。図１５は、第２実施形態に係る制御装置が有する機能を実現することが可能なハードウェアの一例を示した図である。なお、スマートフォンやカーナビゲーションシステムなどは、図１５に例示したハードウェアを有する情報処理装置の一例である。
【０１２８】
制御装置１０２の機能は、例えば、図１５に示す情報処理装置のハードウェア資源を用いて実現することが可能である。つまり、制御装置１０２が有する機能は、コンピュータプログラムを用いて図１５に示すハードウェアを制御することにより実現される。
【０１２９】
図１５に示すように、このハードウェアは、主に、ＣＰＵ９０２と、ＲＯＭ（Read Only Memory）９０４と、ＲＡＭ９０６と、ホストバス９０８と、ブリッジ９１０とを有する。さらに、このハードウェアは、外部バス９１２と、インターフェース９１４と、入力部９１６と、出力部９１８と、記憶部９２０と、ドライブ９２２と、接続ポート９２４と、通信部９２６とを有する。
【０１３０】
ＣＰＵ９０２は、例えば、演算処理装置又は制御装置として機能し、ＲＯＭ９０４、ＲＡＭ９０６、記憶部９２０、又はリムーバブル記録媒体９２８に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。ＲＯＭ９０４は、ＣＰＵ９０２に読み込まれるプログラムや演算に用いるデータなどを格納する記憶装置の一例である。ＲＡＭ９０６には、例えば、ＣＰＵ９０２に読み込まれるプログラムや、そのプログラムを実行する際に変化する各種パラメータなどが一時的又は永続的に格納される。
【０１３１】
これらの要素は、例えば、高速なデータ伝送が可能なホストバス９０８を介して相互に接続される。一方、ホストバス９０８は、例えば、ブリッジ９１０を介して比較的データ伝送速度が低速な外部バス９１２に接続される。また、入力部９１６としては、例えば、マウス、キーボード、タッチパネル、タッチパッド、ボタン、スイッチ、及びレバーなどが用いられる。さらに、入力部９１６としては、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントローラが用いられることもある。
【０１３２】
出力部９１８としては、例えば、ＣＲＴ（Cathode Ray Tube）、ＬＣＤ（Liquid Crystal Display）、ＰＤＰ（Plasma Display Panel）、又はＥＬＤ（Electro-Luminescence Display）などのディスプレイ装置が用いられる。また、出力部９１８として、スピーカやヘッドホンなどのオーディオ出力装置、又はプリンタなどが用いられることもある。つまり、出力部９１８は、情報を視覚的又は聴覚的に出力することが可能な装置である。
【０１３３】
記憶部９２０は、各種のデータを格納するための装置である。記憶部９２０としては、例えば、ＨＤＤなどの磁気記憶デバイスが用いられる。また、記憶部９２０として、ＳＳＤ（Solid State Drive）やＲＡＭディスクなどの半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイスなどが用いられてもよい。
【０１３４】
ドライブ９２２は、着脱可能な記録媒体であるリムーバブル記録媒体９２８に記録された情報を読み出し、又はリムーバブル記録媒体９２８に情報を書き込む装置である。リムーバブル記録媒体９２８としては、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどが用いられる。
【０１３５】
接続ポート９２４は、例えば、ＵＳＢ（Universal Serial Bus）ポート、ＩＥＥＥ１３９４ポート、ＳＣＳＩ（Small Computer System Interface）、ＲＳ−２３２Ｃポート、又は光オーディオ端子など、外部接続機器９３０を接続するためのポートである。外部接続機器９３０としては、例えば、プリンタなどが用いられる。
【０１３６】
通信部９２６は、ネットワーク９３２に接続するための通信デバイスである。通信部９２６としては、例えば、有線又は無線ＬＡＮ（Local Area Network）用の通信回路、ＷＵＳＢ（Wireless USB）用の通信回路、光通信用の通信回路やルータ、ＡＤＳＬ（Asymmetric Digital Subscriber Line）用の通信回路やルータ、携帯電話ネットワーク用の通信回路などが用いられる。通信部９２６に接続されるネットワーク９３２は、有線又は無線により接続されたネットワークであり、例えば、インターネット、ＬＡＮ、放送網、衛星通信回線などを含む。
【０１３７】
以上、制御装置１０２の機能を実現することが可能なハードウェアの例について説明した。
以上説明したように、第２実施形態では、カメラで撮像した撮像画像から車線を検出し、検出した車線とカメラとの位置関係を推定し、車両の横方向に関する位置変動を計測し、位置変動が一定時刻安定している平行区間を検出する方法を提案した。さらに、平行区間で撮像された撮像画像を利用して、カメラと車線とが成す角度から、カメラの取付角度を推定する方法を提案した。これらの方法により、車線に対して車両が斜めに直進するシーンを除外し、カメラの取付角度を高精度に推定することが可能になる。
【０１３８】
また、複数の短い平行区間で撮像された撮像画像を利用してカメラの取付角度を推定することで、長く連続する安定した平行区間を確保できないシーンでもカメラの取付角度を高精度に推定することが可能になる。また、車両と車線中心との距離変位を基準に平行区間を検出しているため、車線幅の変動に対してロバストである。さらに、車両の走行スピードに依存せず、ロバストに推定結果を得ることができる。
【０１３９】
以上、第２実施形態について説明した。
以上、添付図面を参照しながら好適な実施形態について説明したが、本発明は係る例に限定されない。当業者であれば、特許請求の範囲に記載された範疇内において、様々な変形例や修正例に想到し得ることは明らかであり、こうした変形例や修正例についても当然に本発明の技術的範囲に属することは言うまでもない。
【符号の説明】
【０１４０】
１０  情報処理装置
１１  記憶部
１２  演算部
２０  カメラ
Ｃ  車両
Ｌ１、Ｌ２、Ｌ３  車線区分線
ＬＬ、ＬＲ  車線
Ｒ１、Ｒ２  区間
Ｅ  距離
【図１】
2015106323.tif 000005
【図２】
2015106323.tif 000006
【図３】
2015106323.tif 000007
【図４】
2015106323.tif 000008
【図５】
2015106323.tif 000009
【図６】
2015106323.tif 000010
【図７】
2015106323.tif 000011
【図８】
2015106323.tif 000012
【図９】
2015106323.tif 000013
【図１０】
2015106323.tif 000014
【図１１】
2015106323.tif 000015
【図１２】
2015106323.tif 000016
【図１３】
2015106323.tif 000017
【図１４】
2015106323.tif 000018
【図１５】
2015106323.tif 000019