(57)【特許請求の範囲】
【請求項１】
車両（１２）の前方又は後方を撮像する撮像手段（６０）と、
前記撮像手段（６０）によって得られた画像データ（１００、１１０、１３０）中から、複数の直線（１２０、１４０、１４２、１４４）を検出する直線検出手段（８２）と、
前記直線検出手段（８２）が検出した前記各直線（１２０、１４０、１４２、１４４）の勾配（θｌ）を算出する直線勾配算出手段（８４）と、
前記直線勾配算出手段（８４）が算出した前記勾配（θｌ）が有効な範囲内に収まっているか否かを判定する傾き範囲判定手段（８６）と、
前記直線検出手段（８２）により検出された前記各直線（１２０、１４０、１４２、１４４）を、前記画像データ（１００、１１０、１３０）中、地面又は路面に対して垂直方向の直線、あるいは、前記地面又は前記路面に沿った水平方向の直線に分類する直線分類手段（８８）と、
前記画像データ（１００、１１０、１３０）の垂直軸（１０８、１１８、１３８）に対する前記垂直方向の直線の平均勾配（θａｖｌ）を算出する垂直方向勾配算出手段（９０）と、
前記画像データ（１００、１１０、１３０）の水平軸（１０６、１１６、１３６）に対する前記水平方向の直線の平均勾配（θａｈｌ）を算出する水平方向勾配算出手段（９２）と、
算出された前記垂直方向の直線の平均勾配（θａｖｌ）、及び／又は、算出された前記水平方向の直線の平均勾配（θａｈｌ）に基づいて、前記車両（１２）のロール角（θｒ）を推定するロール角推定手段（９８）と、
前記垂直方向の直線又は前記水平方向の直線の本数（ｎｖｌ、ｎｈｌ）が、前記ロール角推定手段（９８）での前記ロール角（θｒ）の推定にとって有効な本数の閾値（ｎｖｌｔｈ、ｎｈｌｔｈ）を超えているか否かを判定する直線本数有効判定手段（９４）と、
前記ロール角推定手段（９８）により前回推定されたロール角（θｂ）と、該ロール角推定手段（９８）で今回推定したロール角（θｓ）とを比較して、今回推定したロール角（θｓ）の値が有効な値であるか否かを判定するロール角有効判定手段（９６）と、
を有し、
前記直線分類手段（８８）は、前記傾き範囲判定手段（８６）が判定した有効な勾配（θｌ）を持つ直線を、前記垂直方向の直線又は前記水平方向の直線に分類し、
前記ロール角推定手段（９８）は、前記直線本数有効判定手段（９４）の判定結果に基づき、前記ロール角（θｒ）の推定処理を行うことを特徴とする車両（１２）のロール角推定装置（１０）。
【請求項２】
請求項１記載の車両（１２）のロール角推定装置（１０）において、
前記ロール角推定手段（９８）は、前記垂直方向の直線の平均勾配（θａｖｌ）を優先的に用いて前記ロール角（θｒ）を推定する
ことを特徴とする車両（１２）のロール角推定装置（１０）。                                                                        
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両に搭載した撮像手段により撮像された画像データに基づいて、当該車両のロール角を推定する車両のロール角推定装置に関する。
【背景技術】
【０００２】
例えば、特許文献１には、車両に搭載した撮像手段により当該車両の前方又は後方を撮像し、得られた画像データ中から、破線のレーンマーキング（車線境界線である白色の破線）を検出し、検出した左右のレーンマーキングの端点を結ぶ擬似曲線の傾きから、車両のロール角（バンク角）を算出する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第４２９６０７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１の技術では、検出される破線のレーンマーキングについて、所定の限られた条件下（例えば、左右のレーンマーキングの端点を結ぶことができること）でなければ、車両のロール角を推定することができない。従って、左右のレーンマーキングが存在しない道路では、特許文献１の技術を適用することができない。また、左右のレーンマーキングの端点を結ぶ１本の擬似曲線の傾きからロール角を推定するため、推定されるロール角の精度が低いという問題がある。
【０００５】
そこで、本発明は、車両のロール角を精度よく推定することができる車両のロール角推定装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明に係る車両（１２）のロール角推定装置（１０）は、以下の特徴を有する。
【０００７】
第１の特徴；前記ロール角推定装置（１０）は、車両（１２）の前方又は後方を撮像する撮像手段（６０）と、前記撮像手段（６０）によって得られた画像データ（１００、１１０、１３０）中から複数の直線（１２０、１４０、１４２、１４４）を検出する直線検出手段（８２）と、前記直線検出手段（８２）が検出した前記各直線（１２０、１４０、１４２、１４４）の勾配（θｌ）を算出する直線勾配算出手段（８４）と、前記直線勾配算出手段（８４）が算出した前記勾配（θｌ）が有効な範囲内に収まっているか否かを判定する傾き範囲判定手段（８６）と、前記直線検出手段（８２）により検出された前記各直線（１２０、１４０、１４２、１４４）を、前記画像データ（１００、１１０、１３０）中、地面又は路面に対して垂直方向の直線、あるいは、前記地面又は前記路面に沿った水平方向の直線に分類する直線分類手段（８８）と、前記画像データ（１００、１１０、１３０）の垂直軸（１０８、１１８、１３８）に対する前記垂直方向の直線の平均勾配（θａｖｌ）を算出する垂直方向勾配算出手段（９０）と、前記画像データ（１００、１１０、１３０）の水平軸（１０６、１１６、１３６）に対する前記水平方向の直線の平均勾配（θａｈｌ）を算出する水平方向勾配算出手段（９２）と、算出された前記垂直方向の直線の平均勾配（θａｖｌ）、及び／又は、算出された前記水平方向の直線の平均勾配（θａｈｌ）に基づいて、前記車両（１２）のロール角（θｒ）を推定するロール角推定手段（９８）と、前記垂直方向の直線又は前記水平方向の直線の本数（ｎｖｌ、ｎｈｌ）が、前記ロール角推定手段（９８）での前記ロール角（θｒ）の推定にとって有効な本数の閾値（ｎｖｌｔｈ、ｎｈｌｔｈ）を超えているか否かを判定する直線本数有効判定手段（９４）と、前記ロール角推定手段（９８）により前回推定されたロール角（θｂ）と、該ロール角推定手段（９８）で今回推定したロール角（θｓ）とを比較して、今回推定したロール角（θｓ）の値が有効な値であるか否かを判定するロール角有効判定手段（９６）とを有し、前記直線分類手段（８８）は、前記傾き範囲判定手段（８６）が判定した有効な勾配（θｌ）を持つ直線を、前記垂直方向の直線又は前記水平方向の直線に分類し、前記ロール角推定手段（９８）は、前記直線本数有効判定手段（９４）の判定結果に基づき、前記ロール角（θｒ）の推定処理を行う。
【０００８】
第２の特徴；前記ロール角推定手段（９８）は、前記垂直方向の直線の平均勾配（θａｖｌ）を優先的に用いて前記ロール角（θｒ）を推定する。
【発明の効果】
【００１１】
本発明の第１の特徴によれば、画像データから検出した複数の直線を垂直方向の直線又は水平方向の直線に分類し、分類した前記垂直方向の直線の平均勾配と前記水平方向の直線の平均勾配とを算出する。この結果、算出した前記垂直方向の直線の平均勾配、及び／又は、算出した前記水平方向の直線の平均勾配を用いることにより、車両のロール角を精度良く推定することができる。
【００１２】
従って、第１の特徴において、ロール角推定手段は、（１）前記垂直方向の直線の平均勾配のみ用いて前記ロール角を推定、（２）前記水平方向の直線の平均勾配のみ用いて前記ロール角を推定、（３）前記垂直方向の直線の平均勾配と前記水平方向の直線の平均勾配との双方を用いて前記ロール角を推定、いずれの推定処理を行うことが可能である。また、前記垂直方向の直線が少ない場合には、前記垂直方向の直線の平均勾配を用いたロール角の推定処理から、前記水平方向の直線の平均勾配を用いたロール角の推定処理に切り換えることにより、ロール角の推定精度の安定化を図ることができる。さらに、第１の特徴によれば、前回推定されたロール角と今回推定したロール角とを比較することにより、今回推定したロール角の値が非現実的な値であれば、今回推定したロール角を排除することにより、ロール角の推定精度の向上を図ることができる。なお、非現実的な値とは、ロール角の推定処理を繰り返し行う場合に、前回の推定処理と今回の推定処理との間の時間内に想定されるロール角の変化量を超えて推定されたロール角の値をいう。さらにまた、第１の特徴によれば、実際上、あり得ない勾配を排除することにより、有効な勾配の直線がより多く検出されて、ロール角の推定処理に利用することが可能となる。
【００１３】
ところで、前記画像データ中、画面の縦軸（前記画像データの垂直軸）及び横軸（前記画像データの水平軸）に対して前記直線が所定の角度を有する場合、当該角度は、前記直線自体が傾いているか、又は、前記車両が傾いていることにより発生する。
【００１４】
ここで、ビル、信号機等の人工物のある環境を撮像手段が撮像した場合、得られた画像データ中、前記人工物に応じた垂直方向の直線は、画面中のどの位置に写り込んでいても、当該直線の勾配は変化しない。
【００１５】
一方、前記画像データ中、車線等に応じた水平方向の直線は、画面の中央に対して左右外側の位置に写り込んでいれば、画面の縦軸及び横軸に対して傾いて見える。
【００１６】
そこで、本発明の第２の特徴では、画面中の位置によって勾配が変化しない垂直方向の直線の平均勾配を、ロール角の推定処理に優先的に用いることにより、当該ロール角の推定精度を高めることができる。特に、画像データ中、人工物には、垂直成分（垂直方向の直線）が多いので、当該人工物の多い環境を撮像する場合には、ロール角の推定精度を向上させることができる。
【図面の簡単な説明】
【００１９】
【図１】本実施形態に係るロール角推定装置を搭載した自動二輪車の左側面図である。
【図２】図１のロール角推定装置のブロック図である。
【図３】図２の記憶部に保存される画像を図示した説明図である。
【図４】図１及び図２のロール角推定装置による録画開始から録画停止までの処理を図示したフローチャートである。
【図５】図１及び図２のロール角推定装置による自動二輪車のロール角の推定処理を図示したフローチャートである。
【図６】図６Ａは、自動二輪車が傾いていない状態でカメラが撮像した画像を図示した説明図であり、図６Ｂは、自動二輪車が傾いている状態でカメラが撮像した画像を図示した説明図である。
【図７】画像から直線を検出するための説明図である。
【図８】図５のステップＳ１５の詳細な処理を図示したフローチャートである。
【図９】道路以外の人工物が存在しない環境をカメラが撮像した画像を図示した説明図である。
【図１０】図１０Ａは、前回推定したロール角と当該ロール角の推定に用いた画像とを図示した説明図であり、図１０Ｂは、今回検出した直線の角度と当該角度の算出に用いた画像とを図示した説明図である。
【図１１】図５のステップＳ１６の詳細な処理を図示したフローチャートである。
【図１２】画像に写り込んだ複数の直線について、垂直方向の直線と水平方向の直線とを検出する場合を図示した説明図である。
【図１３】図１３Ａは、垂直方向の直線の平均勾配を求めるための説明図であり、図１３Ｂは、水平方向の直線の平均勾配を求めるための説明図である。
【図１４】図５のステップＳ１７の詳細な処理を図示したフローチャートである。
【発明を実施するための形態】
【００２０】
本発明に係る車両のロール角推定装置について、好適な実施形態を掲げ、添付の図面を参照しながら、以下詳細に説明する。
【００２１】
［本実施形態の構成］
図１は、本実施形態に係るロール角推定装置１０を搭載した車両である自動二輪車１２の左側面図である。なお、発明の理解を容易にするため、特に指示のない限り、図１に示す矢印方向を基準として、前後及び上下の方向を説明すると共に、車体に着座した運転者から見た方向を基準として、左右の方向を説明する。
【００２２】
自動二輪車１２は、車体を構成する車体フレーム１４と、車体フレーム１４の前端部に設けられたヘッドパイプ１６に回転自在に軸支される左右一対のフロントフォーク１８と、フロントフォーク１８に取り付けられる前輪２０と、車体フレーム１４に支持され且つエンジン及び自動変速機からなるパワーユニット２２と、車体フレーム１４下部のピボット部２４に揺動可能に支持されるスイングアーム２６と、該スイングアーム２６の後端部に取り付けられる後輪２８とを備える。フロントフォーク１８は、油圧ダンパを有し、地面から伝わる振動を軽減する。
【００２３】
車体フレーム１４は、ヘッドパイプ１６から斜め下方に延びる左右一対のメインフレーム３０と、左右一対のメインフレーム３０の後部に連接され且つ下方に向かって延出する左右一対のピボット部２４と、メインフレーム３０の後部に取り付けられ且つ斜め上方に延びる左右一対のシートフレーム３２とを有する。
【００２４】
ヘッドパイプ１６の前方には、車体の前方を照射するヘッドライト３４が設けられている。ヘッドパイプ１６の上方には、前輪２０を操舵可能なバー状のハンドル３６が取り付けられている。
【００２５】
前輪２０は、フロントフォーク１８の下端部に回転自在に軸支されており、その側面には、前輪２０に制動力を与えるディスクブレーキ２０ａが装着されている。また、フロントフォーク１８の下端部には、前輪２０を上方から覆うフロントフェンダ３８が取り付けられている。
【００２６】
パワーユニット２２は、メインフレーム３０とピボット部２４によって固定支持されている。スイングアーム２６は、ピボット部２４から後方に向かって略水平に延び、その後端部には、後輪２８が回転可能に軸支されている。後輪２８の側面には、後輪２８に制動力を与えるディスクブレーキ２８ａが装着されている。
【００２７】
パワーユニット２２の上部には、燃料タンク４０が設けられ、シートフレーム３２の上方で且つ燃料タンク４０の後方に、搭乗者を載せるシート４２が配設されている。シート４２は、運転者が着座するフロントシート４２ａ及びフロントシート４２ａの後方で同乗者が着座するリアシート４２ｂからなる、いわゆるタンデム型のシートが採用されている。シートフレーム３２の後部には、後方に延び、その後部下側から斜め下方に延びるリアフェンダ４４が取り付けられている。シート４２の後方には、テールランプユニット４６が取り付けられている。テールランプユニット４６は、ブレーキランプ４６ａ及び後側ウィンカランプ４６ｂを有する。
【００２８】
自動二輪車１２には、車体の前後方向に向けて車体の意匠（外観）を構成する車体カバー４８が取り付けられている。車体カバー４８は、車体の前方を覆うフロントカバー５０と、ヘッドライト３４の両側面から後方向に延在する左右一対のサイドカウル５２と、シートフレーム３２と共に後上方に延び、シートフレーム３２の両側面を覆うリアカウル５４とを有している。フロントカバー５０の上部には、ウインドスクリーン５６が設けられ、フロントカバー５０の左右に、前側ウィンカランプ５８が取り付けられている。
【００２９】
そして、本実施形態に係る自動二輪車１２のロール角推定装置１０は、例えば、ウインドスクリーン５６に設けられる。
【００３０】
図２に示すように、ロール角推定装置１０は、自動二輪車１２の前方を撮像する撮像手段としてのカメラ６０と、パワーユニット２２の制御等を行う一方で、カメラ６０が撮像した画像に基づき自動二輪車１２のロール角θｒ（バンク角）を推定するＥＣＵ（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）６２と、カメラ６０が撮像した画像及びロール角θｒを記憶するＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）カード等の外部ストレージである記憶部（ロール角記憶手段）６４と、運転者がカメラ６０による撮像（録画）の開始又は停止を指示するために操作する録画スイッチ６６とから構成される。
【００３１】
録画スイッチ６６は、運転者の操作に起因して撮像開始（録画開始）を指示するオン信号（ハイレベルの信号）のＥＣＵ６２への出力を開始し、運転者によって再度操作されると、オン信号に代えて、撮像停止（録画停止）を指示するオフ信号（ローレベルの信号）のＥＣＵ６２への出力を開始する。従って、録画スイッチ６６は、運転者が操作する毎に、オン信号又はオフ信号をＥＣＵ６２に出力する。
【００３２】
図３には、記憶部６４に記憶される画像６８の一例が図示されている。この画像６８には、自動二輪車１２が走行する道路７０と、該道路７０の左右にある信号機や標識等の各種の人工物７２とが写り込んでいる。また、画像６８の下方には、自動二輪車１２のロール角θｒ（図３では１０°）を表示するロール角表示領域７４が設けられている。従って、図２のＥＣＵ６２は、推定したロール角θｒのデータを、カメラ６０で撮像された画像のデータ（画像データ）に組み込んで画像６８を生成し、生成した画像６８を記憶部６４に記憶する。
【００３３】
運転者が録画スイッチ６６を操作してカメラ６０の撮像開始を指示すると、ＥＣＵ６２は、カメラ６０による自動二輪車１２前方の撮像を開始させる。また、運転者が録画スイッチ６６を操作してカメラ６０の撮像停止を指示すると、ＥＣＵ６２は、カメラ６０による自動二輪車１２前方の撮像を停止させる。
【００３４】
これにより、ロール角推定装置１０では、運転者の録画スイッチ６６の操作に起因した撮像開始から撮像停止までの間、カメラ６０は、自動二輪車１２の前方を撮像し続ける。ＥＣＵ６２は、カメラ６０で得られた画像から、所定時間間隔（例えば、数ｍｓ間隔）でロール角θｒの推定を行い、推定したロール角θｒのデータと、当該ロール角θｒの推定処理に用いた画像データとを組み合わせて画像６８を生成し、記憶部６４に逐次記憶する。従って、記憶部６４には、録画開始から録画停止までの複数枚の画像６８（数ｍｓ毎に撮像された画像）が記憶されることになる。
【００３５】
このような処理を実現するために、ＥＣＵ６２は、録画指示判定部７６、カメラ制御部７８、画像処理部８０、直線検出部（直線検出手段）８２、直線勾配算出部（直線勾配算出手段）８４、傾き範囲判定部（傾き範囲判定手段）８６、直線分類部（直線分類手段）８８、垂直勾配算出部（垂直方向勾配算出手段）９０、水平勾配算出部（水平方向勾配算出手段）９２、直線本数有効判定部（直線本数有効判定手段）９４、ロール角有効判定部（ロール角有効判定手段）９６及びロール角推定部（ロール角推定手段）９８を有する。これらの構成要素の機能の詳細については、後述する。
【００３６】
なお、図１では、前述のように、ウインドスクリーン５６にロール角推定装置１０を設け、カメラ６０で自動二輪車１２の前方を撮像する場合を図示している。これに代えて、自動二輪車１２の後部（例えば、リアフェンダ４４）にロール角推定装置１０を設けてもよい。この場合、カメラ６０は、自動二輪車１２の後方を撮像する。以下の説明では、図１に示すように、自動二輪車１２の前部であるウインドスクリーン５６にロール角推定装置１０を設けた場合について説明する。
【００３７】
［本実施形態の動作］
次に、本実施形態に係る自動二輪車１２のロール角推定装置１０の動作について、図４〜図１４を参照しながら説明する。ここでは、必要に応じて、図１〜図３も参照しながら説明する。
【００３８】
図４は、ロール角推定装置１０による画像６８の録画開始から録画停止までの処理を図示したフローチャートである。
【００３９】
ステップＳ１において、ＥＣＵ６２のカメラ制御部７８は、カメラ６０から画像を取得し、画像処理部８０は、取得した画像に対して所定の画像処理を行い、画像処理後の画像を記憶部６４に記憶する。
【００４０】
なお、録画スイッチ６６がＥＣＵ６２にオフ信号を出力し続けている場合、カメラ６０は停止状態にあるため、カメラ制御部７８は、自動二輪車１２前方の環境（風景）が写っていない空画像を取得し、画像処理部８０は、空画像を記憶部６４に記憶する。あるいは、オフ信号がＥＣＵ６２に入力されている場合には、カメラ制御部７８及び画像処理部８０は、ステップＳ１の処理をスキップしてもよい。
【００４１】
ステップＳ２において、録画指示判定部７６は、録画スイッチ６６からの信号（オン信号又はオフ信号）を読み込む。
【００４２】
次のステップＳ３において、録画指示判定部７６は、録画スイッチ６６からの信号がオン信号であるか否かを判定する。オン信号である場合（ステップＳ３：ＹＥＳ）、録画指示判定部７６は、運転者が録画スイッチ６６を操作して録画開始を指示したものと判定し、判定結果をカメラ制御部７８に通知する。
【００４３】
カメラ制御部７８は、録画指示判定部７６からの通知により、録画開始が指示されたことを認識し、カメラ６０を起動させて（ステップＳ４：ＮＯ）、自動二輪車１２前方の撮像を開始させる（ステップＳ５）。
【００４４】
ステップＳ５において、カメラ６０は、カメラ制御部７８からの制御に従って起動し、自動二輪車１２前方の撮像を開始して、撮像した画像（画像データ）をＥＣＵ６２に出力する。
【００４５】
ＥＣＵ６２の内部では、ＥＣＵ６２に入力された画像に基づき、直線検出部８２、直線勾配算出部８４、傾き範囲判定部８６、直線分類部８８、垂直勾配算出部９０、水平勾配算出部９２、直線本数有効判定部９４、ロール角有効判定部９６及びロール角推定部９８による自動二輪車１２のロール角θｒの推定処理が行われる。その後、画像処理部８０は、画像データに対して所定の画像処理を行うと共に、推定されたロール角θｒのデータを当該画像データに組み込んで画像６８を生成する。そして、ステップＳ１に戻り、画像処理部８０は、生成した画像６８を記憶部６４に記憶する。
【００４６】
次のステップＳ２において、録画指示判定部７６は、録画スイッチ６６から信号を再度読み込み、ステップＳ３において当該信号がオン信号であるか否かを判定する。既に運転者が録画スイッチ６６を操作することに起因して、オン信号の出力が開始されているので、録画指示判定部７６は、当該信号がオン信号であると判定し（ステップＳ３：ＹＥＳ）、カメラ制御部７８に判定結果を通知する。
【００４７】
ステップＳ４において、カメラ制御部７８は、カメラ６０が既に起動しているため（ステップＳ４：ＹＥＳ）、ステップＳ１に戻り、カメラ６０から画像を再度取得する。この結果、ＥＣＵ６２の内部では、取得された画像に基づき、直線検出部８２、直線勾配算出部８４、傾き範囲判定部８６、直線分類部８８、垂直勾配算出部９０、水平勾配算出部９２、直線本数有効判定部９４、ロール角有効判定部９６及びロール角推定部９８による自動二輪車１２のロール角θｒの推定処理が再度行われる。その後、画像処理部８０は、画像データに対して所定の画像処理を行うと共に、推定されたロール角θｒのデータを当該画像データに組み込んで画像６８を生成し、記憶部６４に記憶する。
【００４８】
従って、ロール角推定装置１０では、運転者の録画スイッチ６６の操作に起因して、録画スイッチ６６からＥＣＵ６２にオン信号が出力され続ける間、ＥＣＵ６２は、所定時間間隔でステップＳ１〜Ｓ４の処理を繰り返し行うことにより、カメラ６０から画像を取得し、取得した画像に基づいてロール角θｒを推定し、当該画像とロール角θｒとを含む画像６８を記憶部６４に逐次記憶する。
【００４９】
そして、運転者が録画スイッチ６６を操作することにより、録画スイッチ６６からＥＣＵ６２にオフ信号が出力された場合、録画指示判定部７６は、録画スイッチ６６からの信号がオフ信号であると判定し（ステップＳ３：ＮＯ）、カメラ制御部７８に判定結果を通知する。
【００５０】
ステップＳ６において、カメラ制御部７８は、録画指示判定部７６から通知を受けた場合、現在録画中であれば（ステップＳ６：ＹＥＳ）、ステップＳ７において、カメラ６０による自動二輪車１２前方の撮像を停止させる。
【００５１】
一方、ステップＳ６において、録画が既に停止していれば（ステップＳ６：ＮＯ）、カメラ制御部７８は、ステップＳ２の処理に戻る。
【００５２】
次に、図４のステップＳ１、Ｓ５で行われるロール角θｒの推定処理について、図５〜図１４を参照しながら説明する。
【００５３】
図５のステップＳ１１において、カメラ制御部７８がカメラ６０からＲＧＢの画像データを読み込むと、次のステップＳ１２において、画像処理部８０は、当該画像データのグレースケール変換を行い、さらに、グレースケール変換後の画像データに対して二値化処理を施す（ステップＳ１３）。
【００５４】
図６Ａ及び図６Ｂには、二値化処理後の画像の一例が図示されている。
【００５５】
図６Ａに示す画像１００は、自動二輪車１２の車体が左右に傾いていないときに、カメラ６０が撮像した画像である。画像１００には、自動二輪車１２が走行する道路１０２や、道路１０２の両側にある人工物１０４が写り込んでいる。また、画像１００には、画像１００の中心点で交差し、且つ、画角の基準線であるＸ軸（水平軸）に沿った水平線１０６とＹ軸（垂直軸）に沿った垂直線１０８とが表示されている。
【００５６】
一方、図６Ｂに示す画像１１０は、自動二輪車１２の車体が右に傾いているときにカメラ６０が撮像した画像である。この場合でも、画像１１０には、道路１１２や人工物１１４が写り込むと共に、画像１１０の中心点で交差し、且つ、画角の基準線であるＸ軸に沿った水平線１１６とＹ軸に沿った垂直線１１８とが表示されている。
【００５７】
次のステップＳ１４において、直線検出部８２は、二値化処理後の画像データから、Ｈｏｕｇｈ変換（以下、ハフ変換ともいう。）により、画像１００、１１０中に写り込んでいる全ての直線（直線部分）を検出する。
【００５８】
ここで、直線（直線部分）とは、画像１００、１１０中、道路１０２、１１２の直線部分や、人工物１０４、１１４の直線部分をいう。すなわち、直線検出部８２は、画像１００、１１０中に写り込んでいる物体のうち、直線とみなすことができるものを、ハフ変換によって全て検出する。
【００５９】
具体的に、図７に示すように、直線検出部８２は、例えば、画像１１０中、１つの人工物１１４について、ハフ変換により、当該人工物１１４の両端部の座標であるＰ１（ｘ１、ｙ１）とＰ２（ｘ２、ｙ２）とを検出することにより、人工物１１４の直線部分を直線１２０（図７中、破線で図示）として検出する。従って、直線検出部８２は、直線１２０の両端部の座標Ｐ１（ｘ１、ｙ１）及びＰ２（ｘ２、ｙ２）を検出することにより、当該直線１２０を検出する。なお、ハフ変換自体は公知であるため、その詳細な説明については省略する。
【００６０】
次のステップＳ１５において、直線勾配算出部８４は、直線検出部８２が検出した全ての直線の勾配を算出し、傾き範囲判定部８６は、直線勾配算出部８４が算出した勾配が有効な勾配（傾き）であるか否かを判定する。
【００６１】
図８は、ステップＳ１５の詳細な処理を図示したフローチャートである。
【００６２】
図８のステップＳ２１において、直線勾配算出部８４は、直線検出部８２が１枚の画像１００、１１０について検出した直線の数ｎｌを算出し、次のステップＳ２２において、算出した数ｎｌの全ての直線の勾配を算出する。
【００６３】
例えば、直線検出部８２が直線１２０を検出した場合、直線勾配算出部８４は、Ｐ１（ｘ１、ｙ１）及びＰ２（ｘ２、ｙ２）を用いて、下記の（１）〜（３）式により直線１２０の勾配（画角の基準線である垂直線１１８に対する角度θｌ）を算出する。
ｘ＝｜ｘ１−ｘ２｜                                      （１）
ｙ＝｜ｙ１−ｙ２｜                                      （２）
θｌ＝ｔａｎ-1（ｙ／ｘ）                                （３）
【００６４】
直線検出部８２が検出する直線には、画像１００、１１０中、地面や道路１０２、１１２の路面に対して垂直方向に延びる人工物１０４、１１４の直線部分（以下、前記垂直方向に延びる直線を「垂直方向の直線」ともいう。）や、地面や路面に沿って水平方向に延びる道路１０２、１１２の直線部分（以下、前記水平方向に沿って延びる直線を「水平方向の直線」ともいう。）がある。
【００６５】
この場合、直線勾配算出部８４は、垂直方向の直線については、上記（１）〜（３）式に従って角度θｌを算出し、一方で、水平方向の直線については、（１）〜（３）式を用いず、画角の他の基準線である水平線１１６に対する角度θｌを算出すればよい。なお、（３）式中の括弧内の分母と分子とを入れ替えて計算すれば、水平線１１６に対する水平方向の直線の角度θｌを算出することができる。
【００６６】
また、垂直方向に延びる人工物１０４の直線部分は、図６Ａの画像１００中、どの位置に写り込んでいても、傾き（角度θｌ）は変化しない。一方、道路１０２の直線部分は、路面に沿って延びているため、垂直線１０８から左右に外れた位置では、写り込んだ位置によって直線の傾きが変化する。
【００６７】
また、図６Ｂの場合、自動二輪車１２の車体が右に傾いているため、画像１１０中、道路１１２及び人工物１１４は、全体的に右側に傾くように写り込んでいる。但し、人工物１１４の直線部分は、画像１１０中、どの位置に写り込んでいても、傾きは変化しない。一方、道路１１２の直線部分は、垂直線１１８から左右両側に外れると、写り込んだ位置によって直線の傾きが変化する。
【００６８】
これらの画像１００、１１０は、人工物１０４、１１４が多く存在する都市部で撮像した画像である。一方、図９に示す画像１３０は、人工物１０４、１１４が存在せず、道路１３２のみが写り込んだ郊外を撮像した画像である。この場合、直線検出部８２は、垂直な構造物の直線部分を検出することができないため、前方方向に見える道路１３２の直線部分（例えば、路面の境界線）を直線１４０として検出し、直線勾配算出部８４は、検出された水平方向の直線１４０の勾配（角度θｌ）を検出する。なお、画像１３０においても、水平線１３６及び垂直線１３８が表示されている。
【００６９】
ステップＳ２３において、傾き範囲判定部８６は、２つの変数ｎ、ｉを１に設定し、次のステップＳ２４において、求めた勾配（角度θｌ）が有効な範囲内に収まっているか否かを判定する。
【００７０】
具体的に、カメラ６０が前回撮像した画像に基づいてＥＣＵ６２内で推定したロール角θｒをθｂとし、当該ロール角θｂを推定した時点から角度θｌを検出した時点までの間における角度変化分の閾値をθｌｔｈ（例えば、１°）とした場合、傾き範囲判定部８６は、算出した角度θｌが下記の（４）式の範囲内に収まっているか否かを判定する。
θｂ＋θｌｔｈ＞θｌ＞θｂ−θｌｔｈ                      （４）
【００７１】
図１０Ａ及び図１０Ｂに示すように、図４のフローチャートにおける前回のステップＳ１〜Ｓ４のループでロール角θｂを推定した時点から、角度θｌを今回検出した時点までの間（例えば、数ｍｓの間）、ロール角θｒの変化には限界がある。
【００７２】
そこで、傾き範囲判定部８６は、１ループ前に推定したロール角θｂに、ロール角θｒの時間的変化の限界を考慮した角度変化分を加味した上記の範囲に含まれる角度θｌについては、有効な角度として判定する。一方、傾き範囲判定部８６は、当該範囲から外れた角度θｌについては、非現実的な角度として排除する。
【００７３】
つまり、本実施形態では、前回推定したロール角θｂと角度θｌとを比較して、実際上、あり得ない角度θｌを排除することにより、有効な角度θｌの直線がより多く検出され、後述するロール角θｒの推定処理に利用されるようにしている。
【００７４】
従って、ステップＳ２４において、角度θｌが（４）式の範囲内に収まっていれば（ステップＳ２４：ＹＥＳ）、ステップＳ２５において、傾き範囲判定部８６は、角度θｌを有効な角度θａｌと認識すると共に（θｌ→θａｌ）、当該角度θａｌを有する直線を有効な傾きを持つ直線として認識する。そして、ステップＳ２６において、傾き範囲判定部８６は、変数ｉを１だけ増分する（ｉ＋１→ｉ）。
【００７５】
なお、ステップＳ２４において、角度θｌが（４）式の範囲から外れている場合（ステップＳ２４：ＮＯ）、傾き範囲判定部８６は、ステップＳ２５、Ｓ２６の処理を行わず、次のステップＳ２７の処理を行う。
【００７６】
ステップＳ２７において、傾き範囲判定部８６は、変数ｎが直線の数ｎｌに到達しているか否かを判定する。変数ｎが直線の数ｎｌに到達していなければ（ステップＳ２７：ＮＯ）、ステップＳ２８において、傾き範囲判定部８６は、変数ｎを１だけ増分し（ｎ＋１→ｎ）、ステップＳ２４に戻り、ステップＳ２４〜２７の処理を再度行う。
【００７７】
従って、傾き範囲判定部８６は、変数ｎが直線の数ｎｌに到達するまでステップＳ２４〜Ｓ２７の処理を繰り返し行う。すなわち、傾き範囲判定部８６は、１枚の画像１００、１１０、１３０について、直線検出部８２が検出した全ての直線に対して、ステップＳ２４〜Ｓ２７の処理を適用する。
【００７８】
そして、ステップＳ２７において、傾き範囲判定部８６は、変数ｎが直線の数ｎｌに到達すれば（ステップＳ２７：ＹＥＳ）、次のステップＳ２９において、変数ｉの数を有効な勾配を持つ直線の数ｎａｌとして設定する。すなわち、傾き範囲判定部８６は、変数ｎが直線の数ｎｌに到達するまでステップＳ２４〜Ｓ２７の処理を繰り返し行うことにより、有効な勾配を持つ直線の数を変数ｉとしてカウントし、カウントした変数ｉを直線の数ｎａｌとして設定する。
【００７９】
このようにして図５のステップＳ１５（図８のステップＳ２１〜Ｓ２９）の処理が実行された後、次のステップＳ１６において、直線分類部８８は、傾き範囲判定部８６が判定した有効な勾配を持つ直線について、垂直方向の直線と、水平方向の直線とに分類し、垂直勾配算出部９０は、分類された垂直方向の直線の平均勾配θａｖｌを算出し、一方で、水平勾配算出部９２は、分類された水平方向の直線の平均勾配θａｈｌを算出する。
【００８０】
図１１は、ステップＳ１６の詳細な処理を図示したフローチャートである。
【００８１】
ステップＳ３１において、直線分類部８８は、２つの変数ｎｖ、ｎｈを０に設定すると共に、他の変数ｎ´を１に設定する。
【００８２】
次のステップＳ３２において、直線分類部８８は、傾き範囲判定部８６で有効と判定された角度θａｌを持つ直線について、当該角度θａｌが垂直方向の直線の平均勾配θａｖｌを算出するために必要とされる所定の範囲内に収まっているか否かを判定する。
【００８３】
具体的に、図１２において、道路１１２の直線部分から検出された直線１４２と、複数の人工物１１４の直線部分から検出された直線１４４とが有効な角度θａｌを持つ直線であると傾き範囲判定部８６が判定した場合、直線分類部８８は、ステップＳ３２において、各直線１４２、１４４の持つ角度θａｌが図１３Ａに示す垂直線１１８を中心とした、下記（５）式の範囲内に収まっているか否かを判定する。
θｖ１＞θａｌ＞θｖ２                                    （５）
【００８４】
ステップＳ３２において、角度θａｌが（５）式の範囲内にある場合（ステップＳ３２：ＹＥＳ）、直線分類部８８は、ステップＳ３３で変数ｎｖを１だけ増分し（ｎｖ＋１→ｎｖ）、次のステップＳ３４で角度θａｌを垂直方向での有効な角度として認定する。すなわち、ステップＳ３４において、直線分類部８８は、当該有効な角度θａｌを持つ直線を、後述する垂直方向の直線の平均勾配θａｖｌを算出するために用いる、垂直方向の直線として認定する。
【００８５】
一方、ステップＳ３２において、角度θａｌが（５）式の範囲から外れている場合（ステップＳ３２：ＮＯ）、直線分類部８８は、次のステップＳ３５で、当該角度θａｌが水平方向の直線の平均勾配θａｈｌを算出するために必要とされる所定の範囲内に収まっているか否かを判定する。すなわち、直線分類部８８は、例えば、直線１４２の持つ角度θａｌが図１３Ｂに示す水平線１１６を中心とした下記（６）式の範囲内に収まっているか否かを判定する。
θｈ１＞θａｌ＞θｈ２                                    （６）
【００８６】
ステップＳ３５において、角度θａｌが（６）式の範囲内にある場合（ステップＳ３５：ＹＥＳ）、直線分類部８８は、ステップＳ３６で変数ｎｈを１だけ増分し（ｎｈ＋１→ｎｈ）、次のステップＳ３７で角度θａｌを水平方向での有効な角度として認定する。すなわち、ステップＳ３７において、直線分類部８８は、当該有効な角度θａｌを持つ直線を、後述する水平方向の直線の平均勾配θａｈｌを算出するために用いる、水平方向の直線として認定する。
【００８７】
ステップＳ３５において、角度θａｌが（６）式の範囲からも外れている場合（ステップＳ３５：ＮＯ）、直線分類部８８は、当該角度θａｌを持つ直線が、垂直方向の直線の平均勾配θａｖｌ、及び、水平方向の直線の平均勾配θａｈｌを算出するための直線として用いることができないと判断し、次のステップＳ３８の処理を実行する。
【００８８】
ステップＳ３８において、直線分類部８８は、変数ｎ´が直線の数ｎａｌに到達しているか否かを判定する。変数ｎ´が直線の数ｎａｌに到達していなければ（ステップＳ３８：ＮＯ）、ステップＳ３９において、直線分類部８８は、変数ｎ´を１だけ増分し（ｎ´＋１→ｎ´）、ステップＳ３２に戻り、ステップＳ３２〜Ｓ３８の処理を再度行う。
【００８９】
従って、直線分類部８８は、変数ｎ´が直線の数ｎａｌに到達するまでステップＳ３２〜Ｓ３８の処理を繰り返し行う。すなわち、直線分類部８８は、１枚の画像について傾き範囲判定部８６が認定した、有効な全ての直線に対してステップＳ３２〜Ｓ３８の処理を適用する。
【００９０】
そのため、ステップＳ３８において、変数ｎ´が直線の数ｎａｌに到達した場合（ステップＳ３８：ＹＥＳ）、変数ｎｖは、垂直方向の直線の平均勾配θａｖｌを算出する際に用いられる垂直方向の直線の数ｎｖｌを表わし、変数ｎｈは、水平方向の直線の平均勾配θａｈｌを算出する際に用いられる水平方向の直線の数ｎｈｌを表わすことになる。そして、直線分類部８８は、分類した垂直方向の直線の数ｎｖｌ及び垂直方向の直線の角度θａｌを垂直勾配算出部９０に出力すると共に、分類した水平方向の直線の数ｎｈｌ及び水平方向の直線の角度θａｌを水平勾配算出部９２に出力する。
【００９１】
ステップＳ４０において、垂直勾配算出部９０は、垂直方向の直線の数ｎｖｌ及び垂直方向の直線の角度θａｌを用いて、下記の（７）式により、垂直方向の直線の平均勾配θａｖｌを算出する。
θａｖｌ＝（垂直方向の直線の角度θａｌの総和）／ｎｖｌ    （７）
【００９２】
また、ステップＳ４１において、水平勾配算出部９２は、水平方向の直線の数ｎｈｌ及び水平方向の直線の角度θａｌを用いて、下記の（８）式により、水平方向の直線の平均勾配θａｈｌを算出する。
θａｈｌ＝（水平方向の直線の角度θａｌの総和）／ｎｈｌ    （８）
【００９３】
このようにして図５のステップＳ１６（図１１のステップＳ３１〜Ｓ４１）の処理が実行された後、次のステップＳ１７において、直線本数有効判定部９４は、垂直方向の直線の数ｎｖｌ及び水平方向の直線の数ｎｈｌがロール角θｒの推定にとって有効な本数であるか否かを判定し、ロール角有効判定部９６は、直線本数有効判定部９４での判定結果に基づいて、平均勾配θａｖｌ、θａｈｌがロール角θｒとして有効な角度であるか否かを判定し、ロール角推定部９８は、ロール角有効判定部９６での判定結果に基づいてロール角θｒを推定する。
【００９４】
図１４は、ステップＳ１７の詳細な処理を図示したフローチャートである。
【００９５】
ステップＳ５１において、直線本数有効判定部９４は、直線分類部８８で分類された垂直方向の直線の数ｎｖｌが有効本数の閾値ｎｖｌｔｈを超えているか否かを判定する。
【００９６】
ｎｖｌ＞ｎｖｌｔｈである場合（ステップＳ５１：ＹＥＳ）、直線本数有効判定部９４は、垂直方向の直線の数ｎｖｌがロール角θｒの推定に有効な本数に到達していると判定する。次のステップＳ５２において、直線本数有効判定部９４は、判定結果をロール角有効判定部９６及びロール角推定部９８に通知する。
【００９７】
ロール角推定部９８は、直線本数有効判定部９４から通知された判定結果に基づいて、平均勾配θａｖｌを９０°減算することにより、垂直線１０８、１１８に対する勾配から水平線１０６、１１６に対する勾配(角度θｓ＝θａｖｌ−９０°)に変換する。ロール角推定部９８は、算出した角度θｓをロール角有効判定部９６に出力する。
【００９８】
次のステップＳ５３において、前回のロール角θｂを推定した時点から角度θｓを算出した時点までの間におけるロール角θｒの角度変化の閾値をδ（例えば、１°）とした場合、ロール角有効判定部９６は、角度θｓが（θｂ＋δ）よりも小さいか否か（θｂ＜（θｂ＋δ））を判定する。
【００９９】
すなわち、傾き範囲判定部８６での判定（図８のステップＳ２４）と同様に、ロール角θｂを推定した時点から、角度θｓを算出した時点までの間（例えば、数ｍｓの間）、ロール角θｒの変化には限界がある。
【０１００】
そこで、ロール角有効判定部９６は、１ループ前に推定したロール角θｂに対して、ロール角θｒの時間的変化の限界を考慮した角度変化分を加味した範囲に収まる角度θｓを有効な角度として判定し、一方で、当該範囲から外れた角度θｓを非現実的な角度として排除する。
【０１０１】
つまり、本実施形態では、前回推定したロール角θｂと角度θｓとを比較して、実際上、あり得ない角度θｓを排除することにより、より有効な角度θｓがロール角θｒの推定処理に利用されるようにしている。
【０１０２】
従って、θｓ＜（θｂ＋δ）であれば（ステップＳ５３：ＹＥＳ）、ロール角有効判定部９６は、次のステップＳ５４において、角度θｓが（θｂ−δ）よりも大きいか否か（θｓ＞（θｂ−δ））を判定する。
【０１０３】
θｓ＞（θｂ−δ）であれば（ステップＳ５４：ＹＥＳ）、ロール角有効判定部９６は、ステップＳ５３、Ｓ５４の判定結果をロール角推定部９８に出力する。ロール角推定部９８は、ロール角有効判定部９６での判定結果より、算出した角度θｓが（θｂ−δ）〜（θｂ＋δ）の範囲内にあると認識し、角度θｓが自動二輪車１２の運転特定に適合した有効且つ現実的な角度であると判断する。そして、ロール角推定部９８は、次のステップＳ５５において、有効且つ現実的な角度である角度θｓを自動二輪車１２のロール角θｒとして確定（推定）する。
【０１０４】
一方、ステップＳ５４において、θｓ≦（θｂ−δ）の場合でも（ステップＳ５４：ＮＯ）、ロール角有効判定部９６は、ステップＳ５３、Ｓ５４の判定結果をロール角推定部９８に出力する。ロール角推定部９８は、ロール角有効判定部９６での判定結果より、算出した角度θｓが（θｂ−δ）≧θｓ、且つ、θｓ＜（θｂ＋δ）であると認識し、次のステップＳ５６において、（θｂ−δ）の角度を自動二輪車１２のロール角θｒとして推定する。
【０１０５】
また、ステップＳ５３において、θｓ≧（θｂ＋δ）の場合（ステップＳ５３：ＮＯ）、ロール角有効判定部９６は、ステップＳ５３の判定結果をロール角推定部９８に出力する。ロール角推定部９８は、ロール角有効判定部９６での判定結果より、算出した角度θｓがθｓ≧（θｂ＋δ）であると認識し、次のステップＳ５７において、（θｂ＋δ）の角度を自動二輪車１２のロール角θｒとして推定する。
【０１０６】
一方、ステップＳ５１において、ｎｖｌ≦ｎｖｌｔｈである場合（ステップＳ５１：ＮＯ）、直線本数有効判定部９４は、垂直方向の直線の数ｎｖｌがロール角θｒの推定に有効な本数に到達していないと判定し、次のステップＳ５８において、水平方向の直線の数ｎｈｌが有効本数の閾値ｎｈｌｔｈを超えているか否かを判定する。
【０１０７】
ｎｈｌ＞ｎｈｌｔｈである場合（ステップＳ５８：ＹＥＳ）、直線本数有効判定部９４は、水平方向の直線の数ｎｈｌがロール角θｒの推定に有効な本数に到達していると判定し、判定結果をロール角有効判定部９６及びロール角推定部９８に通知する。これにより、次のステップＳ５９において、ロール角推定部９８は、直線本数有効判定部９４から通知された判定結果に基づいて、水平方向の直線の平均勾配θａｈｌを角度θｓに設定する。その後、設定された角度θｓについて、ステップＳ５３〜Ｓ５７の処理が実行される。
【０１０８】
また、ステップＳ５８において、ｎｈｌ≦ｎｈｌｔｈである場合（ステップＳ５８：ＮＯ）、直線本数有効判定部９４は、水平方向の直線の数ｎｈｌがロール角θｒの推定に有効な本数に到達していないと判定し、ステップＳ５８の判定結果をロール角有効判定部９６及びロール角推定部９８に通知する。ロール角有効判定部９６は、直線本数有効判定部９４からの判定結果より、角度θｓを用いた判定処理を行う必要がないと判断する。また、ロール角推定部９８は、直線本数有効判定部９４からの判定結果から、角度θｓ等をロール角θｒとして推定することができないと判断し、次のステップＳ６０において、前回推定したロール角θｂを今回のロール角θｒとして推定する。
【０１０９】
このように、図１４でのロール角θｒの推定処理では、先ず、垂直方向の直線に応じた角度θｓに基づいてロール角θｒの推定を優先的に行い、当該角度θｓに基づくロール角θｒの推定ができないときには、水平方向の直線に応じた角度θｓに基づいてロール角θｒの推定を行うようにしている。
【０１１０】
これは、図６Ａ及び図６Ｂでも説明したように、垂直方向の直線は、画像１００、１１０中、どの位置に写り込んでいても、傾きは変化しないが、一方で、水平方向の直線は、垂直線１０８、１１８から左右に外れた位置では、写り込んだ位置によって直線の傾きが変化する。そこで、図１４の推定処理では、画像１００、１１０中、どの位置にあっても傾きの変化がない垂直方向の直線に応じた角度θｓから優先的にロール角θｒの推定処理を行っている。
【０１１１】
一方、垂直方向の直線に応じた角度θｓが上述した範囲から外れている場合や、図９の画像１３０のように、垂直方向の直線を検出できない場合、図１４では水平方向の直線に応じた角度θｓからロール角θｒの推定処理を行えばよい。
【０１１２】
［本実施形態の効果］
以上説明したように、本実施形態に係る自動二輪車１２のロール角推定装置１０では、画像１００、１１０、１３０から検出した複数の直線１２０、１４０、１４２、１４４を垂直方向の直線又は水平方向の直線に分類し、分類した垂直方向の直線の平均勾配θａｖｌと水平方向の直線の平均勾配ａｈｌとを算出する。この結果、算出した垂直方向の直線の平均勾配θａｖｌ、又は、算出した水平方向の直線の平均勾配θａｈｌを用いることにより、自動二輪車１２のロール角θｒを精度良く推定することができる。
【０１１３】
従って、本実施形態において、ロール角推定部９８は、（１）垂直方向の直線の平均勾配θａｖｌのみ用いてロール角θｒを推定、（２）水平方向の直線の平均勾配θａｈｌのみ用いてロール角θｒを推定、いずれの推定処理を行うことが可能である。
【０１１４】
なお、本実施形態では、垂直方向の直線の平均勾配θａｖｌと水平方向の直線の平均勾配θａｈｌとがそれぞれ算出されるので、ロール角推定部９８は、垂直方向の直線の平均勾配θａｖｌと水平方向の直線の平均勾配θａｈｌとの双方を用いてロール角θｒを推定することも可能である。
【０１１５】
ところで、画像１００、１１０、１３０中、垂直線１０８、１１８、１３８及び水平線１０６、１１６、１３６に対して直線１２０、１４０、１４２、１４４が所定の角度を有する場合、当該角度は、直線１２０、１４０、１４２、１４４自体が傾いているか、又は、自動二輪車１２が傾いていることにより発生する。
【０１１６】
ここで、ビル、信号機等の人工物１０４、１１４のある環境をカメラ６０が撮像した場合、得られた画像１００、１１０中、人工物１０４、１１４に応じた垂直方向の直線は、画像１００、１１０中のどの位置に写り込んでいても、当該直線の勾配は変化しない。
【０１１７】
一方、画像１００、１１０、１３０中、車線等に応じた水平方向の直線は、画像１００、１１０、１３０の中央に対して左右外側の位置に写り込んでいれば、垂直線１０８、１１８、１３８及び水平線１０６、１１６、１３６に対して傾いて見える。
【０１１８】
そこで、本実施形態では、画像１００、１１０、１３０中の位置によって勾配が変化しない垂直方向の直線の平均勾配θａｖｌを、ロール角θｒの推定処理に優先的に用いることにより、当該ロール角θｒの推定精度を高めることができる。特に、画像１００、１１０中、人工物１０４、１１４には、垂直成分（垂直方向の直線）が多いので、当該人工物１０４、１１４の多い環境を撮像する場合には、ロール角θｒの推定精度を向上させることができる。
【０１１９】
また、本実施形態では、前回推定されたロール角θｂと今回推定した角度θｓとを比較することにより、今回推定した角度θｓの値が非現実的な値であれば、今回推定した角度θｓを排除することにより、ロール角θｒの推定精度の向上を図ることができる。なお、非現実的な値とは、ロール角θｒの推定処理を繰り返し行う場合に、前回の推定処理と今回の推定処理との間の時間内に想定されるロール角θｒの変化量を超えて推定されたロール角θｒの値をいう。
【０１２０】
さらに、本実施形態では、垂直方向の直線が少ない場合には、垂直方向の直線の平均勾配θａｖｌを用いたロール角θｒの推定処理から、水平方向の直線の平均勾配θａｈｌを用いたロール角θｒの推定処理に切り換えることも可能であるため、ロール角θｒの推定精度の安定化を図ることができる。
【０１２１】
また、本実施形態では、上述のように、走行中に撮像された画像にロール角θｒが付加され、画像６８として記憶部６４に保存される。これにより、走行後に図示しない表示装置に画像６８を表示することにより、運転者は、自動二輪車１２の走行状態を把握すると共に、どのように操縦していたのかを確認することができる。
【０１２２】
しかも、カメラ６０が撮像した画像を用いてロール角θｒを推定するため、角速度センサ等の各種センサを用いる必要がない。従って、低コストでロール角θｒの推定を行うことができる。また、ロール角推定装置１０を自動二輪車１２に搭載することにより、一般公道の環境下で使用してロール角θｒを推定することができる。従って、ロール角推定装置１０は、例えば、ドライブレコーダ等のカメラを具備した走行動画記録装置に適用可能である。
【０１２３】
以上、本発明について好適な実施形態を用いて説明したが、本発明の技術的範囲は、上記の実施形態の記載範囲に限定されることはない。上記の実施形態に、多様な変更又は改良を加えることが可能であることは、当業者に明らかである。そのような変更又は改良を加えた形態も、本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。また、特許請求の範囲に記載された括弧書きの符号は、本発明の理解の容易化のために添付図面中の符号に倣って付したものであり、本発明がその符号をつけた要素に限定されて解釈されるものではない。
【符号の説明】
【０１２４】
１０…ロール角推定装置                １２…自動二輪車
５６…ウインドスクリーン              ６０…カメラ
６２…ＥＣＵ                          ６４…記憶部
６６…録画スイッチ                    ６８、１００、１１０、１３０…画像
７０、１０２、１１２、１３２…道路    ７２、１０４、１１４…人工物
７４…ロール角表示領域                ７６…録画指示判定部
７８…カメラ制御部                    ８０…画像処理部
８２…直線検出部                      ８４…直線勾配算出部
８６…傾き範囲判定部                  ８８…直線分類部
９０…垂直勾配算出部                  ９２…水平勾配算出部
９４…直線本数有効判定部              ９６…ロール角有効判定部
９８…ロール角推定部                  １０６、１１６、１３６…水平線
１０８、１１８、１３８…垂直線
１２０、１４０、１４２、１４４…直線
【図１】
0005947268.tif 000002
【図２】
0005947268.tif 000003
【図３】
0005947268.tif 000004
【図４】
0005947268.tif 000005
【図５】
0005947268.tif 000006
【図６】
0005947268.tif 000007
【図７】
0005947268.tif 000008
【図８】
0005947268.tif 000009
【図９】
0005947268.tif 000010
【図１０】
0005947268.tif 000011
【図１１】
0005947268.tif 000012
【図１２】
0005947268.tif 000013
【図１３】
0005947268.tif 000014
【図１４】
0005947268.tif 000015