上記従来の特開2015―58915号公報に記載のロール角推定装置では、検出された垂直方向又は水平方向の直線の本数が、ロール角推定に有効な本数でない場合、推定精度が得られない場合がある。
特許第4950290号公報に記載の撮像装置は、センサで検出した撮像部の傾きに基づいて画像処理を行うため、センサがないと、正確な被写体の傾き補正は困難になる。特許第4862080号公報に記載の画像処理装置は、センサを用いないため、検出された線分の傾き角又は輝度勾配が、垂直方向又は水平方向を示すものであるかを検証できない。そのため、撮像画像の傾き角を正確に求めることができない場合が生じ得る。
そこで、本願は、左右に傾斜可能なヴィークルにおいて、ヴィークルの前方又は後方を撮像する撮像装置のロール角を、撮像装置で撮像された画像を用いて正確に推定することができる技術を開示する。
課題を解決するための手段及び発明の効果
車両の進行方向(つまり車両の前後方向)に対して左右方向に傾斜する車両がある。このような車両は、車両の前後方向を軸として回転、すなわちロール方向に回転する。車両の前後方向を軸とした左右方向の傾斜角(回転角)、つまり車両のロール角を取得することにより、車両のロール角に関わる情報を、車両の制御等、様々な用途で用いることができる。
発明者らは、車両のロール角を推定するシステムについて研究した。発明者は、左右方向に傾斜する車両の中でも、ロール角に制限があり、ピッチ角の変化が小さい車両のロール角推定システムについて研究した。
例えば、自動二輪車は、左右方向に傾斜する車両であるが、ロール角には制限がある。道路あるいは地面に対して垂直方向に延びる方向を中心として、左方向および右方向のいずれの方向に対しても、車両のロール角は90度より小さい角度に制限されている。ロール角の最大角度は、車体の左右方向の外縁形状によって決まる。また、自動二輪車は、ピッチ角の変化は非常に小さい。自動二輪車のピッチ角の変化は、サスペンションのストローク範囲内の非常に小さい変化である。
このように、ロール角に制限があり、ピッチ角の変化が小さい車両は、自動二輪車の他に、自動三輪車、LMW(Leaning Multi Wheel)、スノーモービル、ATV(全地形走行車)等が挙げられる。すなわち、地面、雪面、又は水面等の走行面に接しながら走行又は航走する車両、言い換えれば走行面上を走行中の車両は、ロール角に制限があり、ピッチ角の変化が小さい。
発明者らは、このようなロール角に制限があり、ピッチ角の変化が小さい車両に取り付けられたカメラで、車両の走行中の前後方向の画像を撮像した。撮像した画像の輝度勾配方向ヒストグラムを調査した。発明者は、車両の走行中のあらゆる状況で撮像された画像の輝度勾配方向ヒストグラムを調べた。その結果、輝度勾配方向ヒストグラムの度数分布において、垂直方向のエッジに対応する輝度勾配方向の度数と、水平方向のエッジに対応する輝度勾配方向の度数が、顕著に現れる場合があることが発明者によって見いだされた。
発明者らは、さらに、輝度勾配方向ヒストグラムにおける垂直方向のエッジに対応する輝度勾配方向の度数と、水平方向のエッジに対応する輝度勾配方向の度数の特徴を利用して、ロール角を推定することを検討した。鋭意検討を重ねた結果、発明者は、走行中の車両の前方又は後方を撮像した画像の輝度勾配方向ヒストグラムの歪度と、車両のロール角との間に相関関係が見られる場合があることを見出した。ここで、歪度は、輝度勾配方向ヒストグラムの対称性を示す値である。度数分布の対称性が高い程、歪度が0に近くなる。具体的には、ロール角が0度の時すなわち、車両の上下方向線が垂直線に対して左右に傾いていない時、歪度が0となり、ロール角の変化に伴って歪度が変化する場合がある。これは、走行中の車両の撮像装置で車両の前方又は後方を撮像した画像における垂直方向のエッジ及び/又は水平方向のエッジが、他の方向のエッジに比べて多くなる傾向があることに起因すると考えられる。
上記知見に基づき、発明者らは、走行中の車両の撮像装置で車両の前方又は後方を撮像した画像の輝度勾配方向ヒストグラムにおいて、歪度を算出し、歪度に基づいて車両のロール角すなわち撮像装置のロール角を推定する構成に想到した。
さらに、発明者らは、ロール角及びピッチ角に制限がないヴィークルに搭載された撮像装置で、進行中のヴィークルの前方又は後方を撮像した画像においても、垂直方向のエッジ及び/又は水平方向のエッジが、他の方向のエッジに比べて多くなる場合があることを見出した。そして、ロール角及びピッチ角に制限がないヴィークルにおいて、進行中のヴィークルの前方又は後方をヴィークルの撮像装置で撮像された画像の輝度勾配方向ヒストグラムの歪度に基づいてヴィークルのロール角を推定できる場合があることに想到した。以下では、「ヴィークルのロール角」を「ヴィークルの傾斜角」と称する。
本発明の実施形態におけるヴィークル用ロール角推定システムは、進行方向に対して左右に傾斜可能なヴィークルに搭載されたヴィークル用ロール角推定システムである。前記ヴィークル用ロール角推定システムは、前記ヴィークルの前方あるいは後方を撮像可能な撮像装置と、前記撮像装置で撮像された画像を取得し、前記画像を解析することにより前記ヴィークルの傾斜によって変化する前記撮像装置のロール角を推定するロール角推定装置と、を備える。前記ロール角推定装置は、前記画像に含まれる複数の画素の輝度勾配方向の度数分布を示す輝度勾配方向ヒストグラムを生成するヒストグラム生成部と、前記輝度勾配方向ヒストグラムの対称性を示す歪度を算出し、算出された歪度に基づき、前記ロール角を推定する推定部とを備える(第1の構成)。
発明者らは、撮像装置で撮像された画像の輝度勾配方向ヒストグラムの度数分布と、撮像時の撮像装置のロール角との関係を詳しく検討した結果、輝度勾配方向ヒストグラムの対称性と撮像装置のロール角と関係性を見出した。この知見に基づき、発明者らは、輝度勾配方向ヒストグラムの歪度を算出し、ロール角の推定に用いることに想到した。上記第1の構成によれば、推定部は、画像の輝度勾配方向ヒストグラムの対称性を示す歪度を算出し、算出された歪度に基づき、前記ロール角を推定する。これにより、正確なロール角推定が可能になる。その結果、撮像装置のロール角を、撮像された画像を用いて正確に推定することができる。
前記推定部は、前記歪度が0に対して所定範囲内となるとき、前記ロール角が0度であると推定することができる(第2の構成)。
発明者らは、撮像装置のロール角が0度のとき、歪度が0に近くなることを見出した。この知見に基づき、発明者らは、撮像画像の輝度勾配方向ヒストグラムの歪度が0から所定の範囲内にあるときに、ロール角を0度と推定することで、より正確な推定ができることに想到した。なお、撮像装置のロール角が0とは、車両の上下方向線の垂直線に対する車両の左右方向の傾きが0度であることを同じである。すなわち、撮像装置のロール角が0の場合は、車両の傾斜角が0の場合である。
なお、輝度勾配方向ヒストグラムの歪度が0から所定の範囲内にあるとは、歪度が0と見なせる範囲内にあることを意味する。前記所定の範囲内は、例えば、求められるロール角の推定精度に応じて許容される誤差の範囲とすることができる。すなわち、本明細書において歪度が0とは、歪度が厳密に0である場合の他、歪度が0と見なせる場合も含む。
上記第2の構成において、前記ロール角推定装置は、前記撮像装置で連続して撮像された複数の画像を取得する態様であってもよい。この場合、前記推定部は、前記複数の画像のうち対象画像において前記歪度が0に対して前記所定範囲にないとき、前記ロール角が0度であると推定された過去の画像の輝度勾配方向ヒストグラムにおける水平方向又は垂直方向のエッジのピークに対応するピークを、前記対象画像の輝度勾配方向ヒストグラムから抽出してもよい。前記推定部は、前記抽出したピークの輝度勾配方向に基づいて、前記対象画像におけるロール角を推定することができる(第3の構成)。
第3の構成によれば、推定部は、ロール角が0度と推定された画像の後に撮像されたロール角推定の対象となる対象画像において、過去の画像の水平方向又は垂直方向のエッジのピークに対応するピークを抽出することができる。抽出したピークの輝度勾配方向は、対象画像に含まれる垂直方向のエッジ又は水平方向のエッジに対応する。そのため、抽出したピークの輝度勾配方向を用いて、撮像装置のロール角を推定することができる。このように、連続して撮像される複数の画像において、歪度が0となる画像を基にして、垂直方向又は水平方向のエッジに対応するピークを追跡することができる。これにより、連続して撮像される複数の画像のそれぞれにおいて、ロール角を推定することができる。
なお、ロール角が0度と推定された画像の輝度勾配方向ヒストグラムにおける水平方向又は垂直方向のエッジのピークは、例えば、輝度勾配方向ヒストグラムの中央のピーク又はこの中央のピークと垂直な関係を有するピークとすることができる。
上記第3の構成において、前記推定部は、前記対象画像において前記歪度が0に対して前記所定範囲にないとき、前記対象画像の1つ前の画像における水平方向又は垂直方向のエッジのピークの輝度勾配方向との角度が閾値を超えない輝度勾配方向を持つピークを、前記対象画像の輝度勾配方向ヒストグラムから抽出してもよい。前記推定部は、前記抽出したピークの輝度勾配方向に基づいて、前記対象画像におけるロール角を推定することができる(第4の構成)。これにより、対象画像の輝度勾配方向ヒストグラムにおいて、歪度が0である過去の画像の輝度勾配方向ヒストグラムの水平方向又は垂直方向のエッジのピークに対応するピークを容易に特定することができる。
上記第1〜第4のいずれかの構成において、前記ロール角推定装置は、前記撮像装置で連続して撮像された複数の画像を取得する態様であってもよい。この場合、前記推定部は、前記複数の画像のうち対象画像において前記歪度が0に対して前記所定範囲にないとき、過去の画像の輝度勾配方向ヒストグラムと前記対象画像の輝度勾配方向ヒストグラムの形状のマッチングを行うことにより、前記過去の画像から前記対象画像までのロール角の変位を算出し、前記ロール角の変位と、前記過去の画像におけるロール角とから前記対象画像におけるロール角を推定することができる(第5の構成)。
例えば、撮像された画像において水平方向及び垂直方向のエッジに対応する輝度勾配方向の度数が少なく明瞭なピークが現れない場合がある。上記第5の構成によれば、このような場合であっても、過去の輝度勾配方向ヒストグラムと現在の輝度勾配方向ヒストグラムを用いて、ロール角を推定することが可能になる。
上記第1〜第5のいずれかの構成において、前記ヒストグラム生成部は、任意の角θ(θは0度以上、180度以下)について、角θと角(θ+180度)を同一視することにより、角θの範囲(0度以上、180度以下)で輝度勾配方向ヒストグラムを生成することができる(第6の構成)。第6の構成により、効率よく輝度勾配方向ヒストグラム生成処理を実行することができる。
上記第1〜第6のいずれかの構成において、前記ヒストグラム生成部は、各画素の輝度勾配強度について重みづけを行った上で各画素の輝度勾配方向をヒストグラムに加算することができる(第7の構成)。第7の構成により、輝度勾配強度を加味した輝度勾配方向ヒストグラムを作成することができる。
上記第1〜第7のいずれかの構成において、ヴィークル用ロール角推定システムは、前記ヴィークルの傾斜角を検出する内界センサをさらに備えてもよい。この場合、前記内界センサにより検出された前記ヴィークルの傾斜角を用いて前記推定部により推定された前記ロール角を補完することができる(第8の構成)。第8の構成により、上記輝度勾配方向ヒストグラムを用いてロール角を推定できない場合に、ロール角の推定値を補完することができる。
上記第1〜第7のいずれかの構成において、ヴィークル用ロール角推定システムは、前記ヴィークルの傾斜角を検出する内界センサを備えもよい。この場合、前記内界センサにより検出された前記ヴィークルの傾斜角を用いて前記推定部により推定された前記ロール角を検証することができる(第9の構成)。第9の構成により、ロール角の推定精度を向上させることができる。
上記第8の構成において、ヴィークル用ロール角推定システムは、前記内界センサにより検出された前記ヴィークルの傾斜角を用いて前記推定部により推定された前記ロール角を検証することができる(第10の構成)。第10の構成により、ロール角の推定精度を向上させることができる。
上記第1〜第10のいずれかの構成を有するロール角推定システムを備えるヴィークルも、本発明の実施形態に含まれる。
本発明の実施形態におけるヴィークル用ロール角推定方法は、左右に傾斜可能なヴィークルにおいて、前記ヴィークルの前方あるいは後方を撮像可能な撮像装置で撮像された画像を解析することにより前記ヴィークルの傾斜によって変化する前記撮像装置のロール角を推定するヴィークル用ロール角推定方法である。前記ヴィークル用ロール角推定方法は、前記撮像装置で撮像された画像を取得する画像取得工程と、前記画像に含まれる複数の画素の輝度勾配方向の度数分布を示す輝度勾配方向ヒストグラムを生成するヒストグラム生成工程と、コンピュータが、前記輝度勾配方向ヒストグラムの対称性を示す歪度を算出し、算出された歪度に基づき、前記ロール角を推定する推定工程とを有する。
本発明の実施形態におけるヴィークル用ロール角推定プログラムは、左右に傾斜可能なヴィークルにおいて、前記ヴィークルの前方あるいは後方を撮像可能な撮像装置で撮像された画像を解析することにより、前記ヴィークルの傾斜によって変化する前記撮像装置のロール角を推定するヴィークル用ロール角推定プログラムである。前記ヴィークル用ロール角推定プログラムは、前記撮像装置で撮像された画像を取得する画像取得処理と、前記画像に含まれる複数の画素の輝度勾配方向の度数分布を示す輝度勾配方向ヒストグラムを生成するヒストグラム生成処理と、前記輝度勾配方向ヒストグラムの対称性を示す歪度を算出し、算出された歪度に基づき、前記ロール角を推定する推定処理とをコンピュータに実行させる。
[ヴィークルの定義]
本発明におけるヴィークルは、ヴィークルの前後方向を軸とする回転方向すなわちロール方向に回転可能なヴィークルである。具体的には、地面、雪面又は水面等の走行面上を走行又は航走するヴィークル、或いは、空中を飛ぶヴィークルが本発明のヴィークルに含まれる。ヴィークルは、例えば、自動二輪車、自動三輪車、LMW(Leaning Multi Wheel)、自動車、スノーモービル、ATV(全地形走行車)、電車、汽車、マリンヴィークル(パーソナルウォータークラフト)、船舶、航空機、ヘリコプター、ドローン(遠隔操縦又は自律飛行が可能な無人機)等である。
以下の説明では、説明の目的で、本発明の深い理解を提供するために多数の具体的な詳細を述べる。しかしながら、当業者には、これらの特定の詳細なしに本発明を実施できることが明らかである。本開示は、本発明の例示として考慮されるべきであり、本発明を以下の図面または説明によって示される特定の実施形態に限定することを意図するものではない。
以下、図面を参照しながら、本発明の実施形態におけるヴィークル用ロール角推定システムを含む車両について説明する。本実施形態では、車両として、自動二輪車を例に説明する。図中、同一又は相当部分には、同一符号を付して、その部材についての説明は繰り返さない。また、各図中の構成部材の寸法は、実際の構成部材の寸法及び各構成部材の寸法比率等を忠実に表したものではない。なお、以下の説明において、前方、後方、左方及び右方は、シートに着座し且つハンドルを握った状態のライダーから見た前方、後方、左方及び右方を意味する。
(実施形態1)
[概要]
図19は、実施形態1のヴィークル用ロール角推定システムを説明するための図である。ヴィークル用ロール角推定システム10は、進行方向に対して左右に傾斜可能な車両1に搭載されたヴィークル用ロール角推定システムである。ヴィークル用ロール角推定システム10は、撮像装置40と、ロール角推定装置20を備える。撮像装置40は、車両1の前方あるいは後方を撮像可能である。ロール角推定装置20は、撮像装置40で撮像された画像G1、G2を取得し、画像G1、G2を解析することにより車両1の傾斜によって変化する撮像装置40のロール角すなわち車両1の左右方向の傾斜角を推定する。ロール角推定装置20は、ヒストグラム生成部22と、推定部23を有する。ヒストグラム生成部22は、画像G1、G2に含まれる複数の画素の輝度勾配方向の度数分布を示す輝度勾配方向ヒストグラムを生成する。推定部23は、輝度勾配方向ヒストグラムの対称性を示す歪度を算出し、算出された歪度に基づき、ロール角を推定する。例えば、歪度が0となるとき、ロール角が0度であると推定することができる。
[自動二輪車の全体構成]
図1は、実施形態1の車両1の側面図である。車両1は、自動二輪車であり、左右に傾斜可能な車両の一例である。図1において、矢印Fは、車両の前方向を示している。矢印Bは、車両の後方向を示している。矢印Uは、車両の上方向を示している。矢印Dは、車両の下方向を示している。車両の前後方向及び上下方向のいずれにも直交する方向が、車両の左右方向になる。
車両1は、ヘッドパイプ11と、フレーム2と、フロントフォーク3と、前輪4と、ハンドル5と、リヤアーム7と、後輪8と、エンジン9とを備える。ヘッドパイプ11は、フレーム2の前部に配置される。ヘッドパイプ11の上方には、ハンドル5が回転可能に取り付けられる。ヘッドパイプ11の下方には、フロントフォーク3が配置される。フロントフォーク3の下端部には、前輪4が回転可能に取り付けられる。
ヘッドパイプ11にはフレーム2が接続される。フレーム2は、ヘッドパイプ11から車両1の後方に延びる。フレーム2の後端部は、下方に湾曲している。フレーム2の後端部には、ピボット軸6が設けられる。リヤアーム7の前端部は、ピボット軸6に取り付けられ、リヤアーム7は、ピボット軸6回りを上下に回転可能に支持される。リヤアーム7の後部には、後輪8が回転可能に取り付けられている。
フレーム2の下方には、エンジン9が配置される。エンジン9は、支持プレートによりフレーム2に取り付けられる。フレーム2の上方には、燃料タンク12が配置される。燃料タンク12の後方には、座席シート13が配置される。
車体の前部に、フロントカバー15が配置される。フロントカバー15は、上部にウインドスクリーン15bを備える。フロントカバー15はさらに、開口15aを有する。ヘッドライトユニット30は、フロントカバー15の背面側に、開口15aに露出するよう配置される。
車両1は、さらに、ヴィークル用ロール角推定システム10を備える。ヴィークル用ロール角推定システム10は、撮像装置40とロール角推定装置20とを含む。撮像装置40は、例えば、車両1の前方を撮像可能なカメラで構成される。撮像装置40は、フロントカバー15に取り付けられる。撮像装置40は、光軸が車両1の進行後方すなわち前後方向となるように、配置される。撮像装置40は、車両1の左右方向中央部に配置することができる。車両1が左右に傾斜すると、撮像装置40のロール(光軸周りの回転)の角度(以下、ロール角と称する)が変化する。撮像装置40の左右方向(水平軸)と、車両1の左右方向(水平軸)とが一致するように、撮像装置40を車両1に取り付けることが好ましい。
ロール角推定装置20は、撮像装置40で撮像された画像を解析することにより、撮像装置40のロール角の推定値を算出する。ロール角推定装置20は、ヘッドパイプ11に取り付けられ、撮像装置40と接続される。撮像装置40とロール角推定装置20との接続は、有線でも無線でもよい。
ロール角推定装置20は、撮像装置40で撮像された画像のデータを記録するメモリと、画像のデータを処理するプロセッサを含むコンピュータ(マイコン)を備える。なお、ロール角推定装置20の全部又は一部は、回路(ハードウエア)で形成されてもよい。また、コンピュータを、ヒストグラム生成部22及び推定部23として動作させるためのプログラム、及び、そのようなプログラムを記録した非一時的な(non-transitory)記録媒体も、本発明の実施形態に含まれる。
図2は、ヴィークル用ロール角推定システム10の構成例を示す機能ブロック図である。図2に示す例では、ロール角推定装置20は、メモリ21、ヒストグラム生成部22及び、推定部23を備える。メモリ21には、撮像装置40が撮像した画像のデータ、画像処理で用いられるデータ、及び、画像処理で生成されるデータが記録される。ロール角推定装置20は、撮像装置40で撮像された画像を取得し、メモリ21に記録する。1つの画像のデータは、マトリクス状に配置された複数の画素それぞれの画素値を含む。画像のデータは、例えば、2次元のxy座標の各点における画素値として記録される。この場合、xy座標の各点は各画素に対応し、画素値は、画素の輝度(濃度)を示す値を含んでいる。1つの画像において画素の行(横)方向をx方向、列(縦)方向をy方向として以下、説明する。
図3は、撮像装置40で撮像した画像Gの一例を示す図である。本実施形態では、一例として、図3に示すように、画像Gの左上端の画素に対応する位置を、xy座標において(x,y)=(0,0)すなわち原点Oとする。画像Gの左からx1番目、上からy1番目の画素の位置は、(x,y)=(x1,y1)の座標で表される。ここでは、画像Gの縦方向がy方向、横方向がx方向となる。x方向は、画像Gの水平軸、y方向は、画像Gの垂直軸、と称する場合もある。
以下では、重力方向(鉛直方向)を垂直方向と称し、垂直方向と直交する方向すなわち垂直方向に対して垂直な方向を水平方向と称する。撮像装置40で撮像された画像Gには、垂直方向のエッジEvと、水平方向のエッジEhが含まれる。図3に示す画像Gは、車両1が右に傾いた状態で撮像された画像である。そのため、垂直方向のエッジEvは、画像Gの垂直軸(y方向)に対して、車両1の傾斜角と同じ角度で傾いている。水平方向のエッジEhも、同様に画像Gの水平軸(x方向)に対して、車両1の傾斜角と同じ角度で傾いている。
なお、撮像装置40は、所定周期で連続して撮像(動画撮影)することができる。この場合、連続して撮像された複数の画像が、撮像順がわかる状態でメモリ21に記録される。この場合、各画像をフレームと称することがある。
ヒストグラム生成部22は、画像に含まれる複数の画素の輝度勾配方向の度数分布を示す輝度勾配方向ヒストグラムを生成する。ヒストグラム生成部22は、各画素における輝度勾配方向を計算し、輝度勾配方向の範囲を分割した複数の区間(級)毎に、複数の画素における輝度勾配方向の度数を計算する。複数の区間の度数を示すデータが、輝度勾配方向ヒストグラムとして生成される。
ここで、輝度勾配方向は、注目画素の周りの画素における輝度変化の方向を示す値として算出することができる。輝度勾配方向は、画像におけるエッジの方向に垂直となる。輝度勾配方向ヒストグラムにおいて、各区間の度数の値は、重み付けされた値を度数の分だけ加算した値としてもよい。重み付けの値は、例えば、各画素における輝度勾配の強度に基づく値とすることができる。輝度勾配方向の範囲を分割した複数の区間は予め設定することができる。ヒストグラム生成処理の具体例は後述する。
推定部23は、ヒストグラム生成部22が生成した輝度勾配方向ヒストグラムを用いて、撮像装置40の画像撮像時のロール角を推定する。なお、撮像装置40は、車両1に取り付けられているので、撮像装置40のロール角は、車両1の左右方向の傾斜に応じて変化する。そのため、撮像装置40のロール角を推定することは、車両1の左右方向の傾斜角を推定することと同等である。
具体的には、推定部23は、輝度勾配方向ヒストグラムの対称性を示す歪度を算出し、算出された歪度に基づき、ロール角を推定する。歪度は、画像における輝度勾配方向の分布の歪みの度合い(非対称の度合い)を示す値とも言える。歪度が0に近い程、歪みが少なく対称性が高くなる。歪度Skは、画像に含まれる複数の画素における輝度勾配方向の値θiと、複数の画素における輝度勾配方向の平均値θμ、輝度勾配方向を計算した画素の個数n、複数の画素における輝度勾配方向の標準偏差sを用いて、例えば、下記式(1)によって計算することができる。
このように、画像における輝度勾配方向ヒストグラムの歪度を用いて、ロール角を計算することで、簡単な処理で精度の高いロール角推定が可能になる。発明者らは、当初、特開2015−58915号公報に記載のように、画像から直線を検出し、検出した直線の方向を用いて画像に含まれるエッジの垂直方向又は水平方向を特定し、ロール角を計算する方法について検討した。この方法を用いた場合、精度よく垂直方向又は水平方向を特定するには、複数フレームの処理が必要になる。そこで、発明者らは、輝度勾配方向のヒストグラムを用いて、垂直方向又は水平方向を特定することを検討した。その結果、例えば、輝度勾配方向のヒストグラムにおける最頻値を用いて画像中の垂直方向を検出する方法を用いると、垂直方法ではなく水平方向が誤って検出される場合があることがわかった。このような誤認識を避けるために、車両1に取り付けられた加速度センサ等を利用して垂直方向の推定範囲を制限することも検討した。しかし、車両1の加速度センサの値は、遠心力の影響を受けるため正確な推定が難しいことがわかった。発明者らは、車両1に取り付けられた撮像装置40のロール角と、撮像された画像の輝度勾配方向ヒストグラムとの関係を注意深く観察した結果、輝度勾配方向ヒストグラムの対称性と撮像装置のロール角との間にある関係性を見出した。この知見に基づき、上記の推定部23の構成に想到した。すなわち、推定部23において、画像における輝度勾配方向ヒストグラムの対称性を示す歪度を計算し、ロール角の推定に用いることで、精度の高いロール角推定を可能にすることに想到した。
一例として、推定部23は、画像における歪度が0に対して所定の範囲Th1内となるとき、その画像の撮像装置40のロール角を0度と推定することができる。すなわち、推定部23は、歪度が、0又は0と見なせる程度に0に近い場合に、歪度は0と判断し、ロール角=0度と推定することができる。これにより、連続して撮像される複数の画像のうち歪度が0と判断される画像において、ロール角=0度と特定することができる。なお、範囲Th1は、第1の閾値の一例である。
また、推定部23は、ロール角推定の対象とする対象画像において、歪度が0でないと判断する場合、過去の画像の輝度勾配方向ヒストグラムのピークと、対象画像の輝度勾配方向ヒストグラムのピークとの比較結果に基づいて、ロール角を計算することができる。この場合、推定部23は、ロール角が0度と判断された過去の画像の輝度勾配方向ヒストグラムの水平方向又は垂直方向のエッジのピークに対応するピークを、対象画像の輝度勾配方向ヒストグラムから抽出する。ロール角が0度と判断された過去の画像の輝度勾配方向ヒストグラムは、1つの輝度勾配方向の値を中心に対象な分布を示す。この輝度勾配方向ヒストグラムにおいて、中心となる値に対応する位置のピークを中央のピークとする。推定部23は、例えば、中央のピークと中央のピークと垂直な関係を有するピークのいずれか一方を、水平方向又は垂直方向のエッジのピークと決定することができる。推定部23は、ロール角が0度と判断された過去の画像の水平方向又は垂直方向のエッジのピークに対応するピークを、対象画像から抽出する。これにより、推定部23は、対象画像における垂直方向又は水平方向のエッジに対応するピークを特定することができる。
ロール角が0度と判断された画像の輝度勾配方向ヒストグラムの中央のピークは、輝度勾配方向ヒストグラムにおいて、画像に含まれる複数の画素の輝度勾配方向の値を降順又は昇順に並べたときの中央の値(中央値)に最も近いピーク又は中央値から所定距離内にあるピークとすることができる。また、この中央値に対して90度の差を有する輝度勾配方向の値に最も近いか又は所定距離内にあるピークを、中央のピークと垂直な関係を有するピークとすることができる。
上述したように、この中央のピークは、画像における水平方向のエッジ又は垂直方向のエッジに対応する。例えば、0〜180度の任意の角θについて、角θと角(θ+180度)を同一視して輝度勾配方向ヒストグラムを生成する場合、輝度勾配方向の範囲は、0〜180度となる。この場合、90度に最も近いピーク又は90度から所定距離内にあるピークを中央のピークとすることができる。この中央のピークは、画像に含まれる水平方向のエッジに対応する。輝度勾配方向は、エッジの方向と垂直な方向となるためである。輝度勾配方向ヒストグラムの輝度勾配方向の範囲を0〜360度とする場合は、180度に最も近いピーク又は180度から所定距離内にあるピークが中央のピークとなる。このピークは、画像に含まれる垂直方向のエッジに対応する。
例えば、推定部23は、対象画像において、歪度が0でないと判断した場合、ロール角が0度と判断された過去の画像における水平方向又は垂直方向のエッジのピークの輝度勾配方向を取得(参照)する。推定部23は、この取得(参照)した輝度勾配方向との角度が閾値Th21を越えない輝度勾配方向を持つピークを、対象画像の輝度勾配方向ヒストグラムから抽出する。これにより、対象画像の垂直方向又は水平方向に対応するピークが抽出される。この場合、参照先の過去の画像は、ロール角が0度であると推定された直近の画像とすることが好ましい。
また、参照先の過去の画像は、ロール角が0度と判断された過去の画像に限られない。例えば、1つ前の画像において、垂直方向又は水平方向のエッジのピークが抽出されていた場合は、この抽出されたピークの輝度勾配方向を基に、対象画像の輝度勾配方向ヒストグラムから対応するピークを抽出することができる。この場合、1つ前の画像は、必ずしもロール角が0度と判断された画像でなくてもよい。具体例として、推定部23は、対象画像の1つ前の画像における水平方向又は垂直方向のエッジのピークの輝度勾配方向を取得(参照)する。推定部23は、この取得した輝度勾配方向との角度が閾値Th22を超えない輝度勾配方向を持つピークを、対象画像の輝度勾配方向ヒストグラムから抽出することができる。推定部23は、抽出したピークの輝度勾配方向に基づいて、対象画像におけるロール角を推定する。
上記の閾値Th21、Th22は、同じであってもよいし、異なっていてもよい。閾値Th21、Th22はいずれも第2の閾値Th2の例である。閾値Th21、Th22は、例えば、予めメモリ21に記録された値であってもよいし、対象画像と過去の画像との撮像時間差等に基づいて計算される値であってもよい。例えば、撮像装置40のロール角(車両1の傾斜角)変化における角速度の最大値をメモリ21等に記録しておき、この角速度の最大値に対象画像と過去の画像との撮像時間差を掛けた値を、閾値Th21又は閾値Th22とすることができる。
このように、推定部23は、対象画像において歪度が0でないと判断した場合、ロール角が0度であると判断した過去の画像の輝度勾配方向ヒストグラムにおける垂直方向又は水平方向のピークに対応するピークを、対象画像の輝度勾配方向ヒストグラムから抽出する。これにより、対象画像に含まれる垂直方向又は水平方向のエッジの方向を特定することができる。推定部23は、垂直方向又は水平方向のエッジの方向の画像の基準軸(例えば、x方向)に対する角度(傾き)をロール角に変換することができる。
例えば、推定部23は、連続して撮像された複数の画像それぞれについて順次ロール角推定処理を実行することができる。この場合、推定部23は、対象画像において、歪度が0と判断する場合はロール角を0度と推定し、歪度が0でないと判断する場合は、過去の画像の輝度勾配方向ヒストグラムから得られる垂直方向又は水平方向の輝度勾配方向を基に、対象画像における垂直方向又は水平方向の輝度勾配方向を特定することができる。この場合、推定部23は、過去の画像の輝度方向ヒストグラムにおける中央のピーク又はこれに対応するピークの輝度勾配方向又はこれに垂直な方向から第2の閾値(Th21又はTh22)の範囲内の輝度勾配方向を持つピークを、対象画像の輝度勾配方向ヒストグラムから抽出する。
このようにして、推定部23は、ロール角が0度と判断された画像の輝度勾配方向ヒストグラムにおける水平方向又は垂直方向のエッジに対応するピークを、その後の複数の画像の輝度勾配方向ヒストグラムにおいて追跡することができる。これにより、ロール角が0度と判断された画像の輝度勾配方向ヒストグラムの水平方向又は垂直方向のエッジのピークを基準として、その後の複数の画像におけるロール角を精度よく推定することができる。
撮像装置40で動画が撮像される構成の場合、推定部23は、連続して撮像された複数の画像(フレーム)について、順次、ロール角の推定値を算出することができる。これにより、ロール角の時系列データを生成することができる。
推定部23で算出されたロール角の推定値は、例えば、車両制御部50による制御に用いられる。ロール角を用いた車両の制御は、特定のものに限られない。例えば、車両制御部50は、画像の下端から、画像に写る対象物の下端までの距離を用いて、車両と対象物との実際の距離を計測することができる。車両制御部50は、対象物との距離に基づいて、ブレーキ又はスロットルを制御することができる。この場合、車両制御部50は、撮像装置40のロール角を用いて、画像を補正してから、画像の下端から、画像に写る対象物の下端までの距離を計算することができる。これにより、車両1の左右方向の傾斜によって撮像装置40のロール角が変化した場合にも、対象物との距離を正確に計測することができる。
例えば、車両1が左右方向に傾斜すると、撮像装置40で撮像した画像も傾く。画像が傾くと、画像の下端から対象物の下端までの距離も変化する。この場合、車両制御部50は、推定部23で算出されたロール角と同じ大きさで逆方向に画像を回転させる。回転させた画像の下端から対象物の下端までの距離により、車両と対象物との実際の距離を算出することができる。これにより、車両1が傾いた場合であっても車両1と対象物との距離を正確に測定することができる。
このように、画像を用いて対象物と車両1との距離を計測する場合、推定部23で算出されるロール角の誤差は1度以内であることが好ましい。加速度センサ又はジャイロセンサを用いて車両1の傾斜角を計測する場合は、一般的に数度程度の誤差が生じるため、これらのセンサの値を画像処理に用いて対象物と車両1との距離を正確に計測するのは難しい。また、上記従来の特開2015―58915号公報に記載のロール角推定装置では、推定したロール角を用いた画像解析により、走行中の対象物との距離を計測することは想定されていない。そのため、上記従来のロール角推定装置では、推定精度及び処理速度が、距離計測等のための画像解析に適したものとなっていない。これに対して、本実施形態のロール角推定装置20は、1度以内の誤差でロール角を算出することができる。そのため、ロール角推定装置20の推定部23で算出されるロール角を用いた画像処理により、対象物と車両1との距離を正確に計測することができる。また、上記従来のロール角推定装置では、ロール角を計算するために複数のフレームの処理が常に必要となるが、本実施形態のロール角推定装置20では、歪度が0と判断される場合は、単一のフレームにおいて高精度にロール角を判断することができる。
また、車両制御部50は、推定部23で算出されたロール角を、車両1の左右方向の傾斜角として用いて、車両1を制御することもできる。この場合、推定部23は、車両1の傾斜角を出力するものとなる。すなわち、ロール角推定装置20は、画像データを用いて車両の傾斜角を計算するものであってもよい。車両制御部50は、例えば、車両1の傾斜角に応じて、ブレーキの制動力、駆動力、又は車両1の姿勢等を制御することができる。駆動力の制御では、例えば、燃料の噴射量、点火タイミング、スロットル開度等を、ロール角推定装置20で計算された傾斜角を用いて調節することができる。姿勢の制御では、例えば、ロール角推定装置20で計算された傾斜角を用いてサスペンションを制御することができる。なお、車両制御部50は、1又は複数の基板に実装された回路又はプロセッサにより構成することができる。
図4は、車両1の傾斜角を説明するための図である。図4において、矢印Lは、車両の左方向を示している。矢印Rは、車両の右方向を示している。矢印Uは、車両の上方向を示している。矢印Dは、車両の下方向を示している。車両の左右方向及び上下方向のいずれにも直交する方向が、車両の前後方向になる。これらの矢印L、R、U、Dの方向は、図10A、図11Aにおいても同じである。
図4に示すように、傾斜角δは、重力方向(鉛直方向)である垂直方向の線Vと、車両1の上下方向線U1との角度となる。本実施形態では、一例として、垂直線Vを基準として上下方向線U1が車両1の進行(前進)方向に向かって右にある場合に傾斜角δが正(+)となり、左にある場合に傾斜角δが負(−)となり、垂直線Vと上下方向線U1が重なる場合に傾斜角δ=0となる場合について説明する。
[動作例]
図5は、図2に示すロール角推定装置20の動作例を示すフローチャートである。図5は、連続して撮像される複数の画像すなわちフレームのうち1の画像について、ロール角の推定値を算出する場合の例を示す。ロール角推定装置20は、1つの画像を取得する(ステップS1)。ロール角推定装置20は、撮像装置40で撮像された画像のうち1つの画像のデータを、メモリ21に記録し、ロール角推定装置20のプロセッサからアクセス可能な状態とする。
<ヒストグラム生成処理>
ステップS2〜S4において、ヒストグラム生成部22は、画像のデータを用いて、輝度勾配方向の度数分布を示すデータである輝度勾配方向ヒストグラムを生成する。このヒストグラム生成処理において、ヒストグラム生成部22は、各画素の輝度勾配方向及び輝度勾配強度を算出する(ステップS2、S3)。
図6は、注目する画素の座標を(x,y)とした場合の、画素周辺の輝度勾配方向の例を示す図である。ここでは、(x,y)における注目画素について、輝度勾配方向及び輝度勾配強度を算出する場合の例を説明する。ヒストグラム生成部22は、注目画素に対して上下左右に隣接する画素の輝度値から、注目画素の位置(x,y)におけるx方向の輝度勾配fx(x,y)及びy方向の輝度勾配fy(x,y)を求める。x方向及びy方向の輝度勾配fx(x,y)、fy(x,y)は、下記式(2)により計算できる。下記式(2)において、L(a,b)は、(a,b)における画素値を示す。
注目画素の輝度勾配強度m(x,y)は、上記fx(x,y)、fy(x,y)を下記式(3)に代入して計算できる。
注目画素の輝度勾配方向θ(x,y)は、上記fx(x,y)、fy(x,y)を、下記式(4)に代入して求めることができる。
ヒストグラム生成部22は、画像中の予め決められた範囲の複数の画素それぞれについて、輝度勾配方向θ及び、輝度勾配強度mを計算する。ヒストグラム生成部22は、複数の画素の輝度勾配方向θ及び輝度勾配強度mを用いて、輝度勾配方向ヒストグラムを生成する(図5のステップS4)。
上記式(4)により輝度勾配方向を計算する場合、輝度勾配方向θは、画像のx方向に対する角度で表される。すなわち、x方向を画像の基準軸として、基準軸に対する角度で、輝度勾配方向が表される。この場合、輝度勾配方向θは、0度以上360度以下の値をとり得る。ヒストグラム生成部22は、角θと角(θ+180度)を同一視することにより、角θの範囲(0度以上、180度以下)で、輝度勾配方向ヒストグラムを生成することができる。
なお、x方向の輝度勾配fx(x,y)及びy方向の輝度勾配fy(x,y)の計算方法は上記例に限られない。例えば、図7A及び図7Bに示すSobelフィルタを用いて、fx(x,y)、fy(x,y)を計算することができる。図7Aは、x方向の輝度勾配の算出に用いられるSobelフィルタを、図7Bは、y方向の輝度勾配の算出に用いられるSobelフィルタを示す。この場合、x方向の輝度勾配fx(x,y)は、下記式(5)により、y方向の輝度勾配fy(x,y)は、下記式(6)により計算できる。
上記式(5)において、aijは、図7Aに示すフィルタの値を各要素とする3行3列の行列におけるi行j列の要素の値を示す。上記式(6)において、bijは、図7Bに示すフィルタの値を各要素とする3行3列の行列におけるi行j列の要素の値を示す。なお、Sobelフィルタは、3行3列に限られない。
図5のステップS4において、ヒストグラム生成部22は、輝度勾配方向θの範囲(0度以上、180度以下)を分割した複数の区間それぞれに該当する輝度勾配方向を持つ画素の数(度数)をカウントする。複数の区間は、例えば、輝度勾配方向θのとる得る範囲(0度以上、180度以下)を複数の値(例えば、0、1、2、・・・、180)に量子化したものとすることができる。ヒストグラム生成部22は、各区間について、度数、又は、重み付けされた値の度数分の加算値をメモリ21に記録する。この各区間の度数又は加算値が、輝度勾配方向の度数分布を示す輝度勾配方向ヒストグラムとなる。この際、ヒストグラム生成部22は、画像中の予め設定された範囲に含まれる複数の画素について、輝度勾配方向の度数分布のデータを生成することができる。
一例として、算出する領域をr、量子化する輝度勾配方向をA=(0、1、2、3、4、・・・、180)とすると、輝度勾配方向ヒストグラムH[r]は下記式(7)により計算することができる。下記式(7)に示す例では、輝度勾配強度m(x,y)が重みとして、各区間に投票される。
図8は、ヒストグラム生成部22が、上記式(7)による計算を実行する際の処理例を示すフローチャートである。ヒストグラム生成部22は、画素のx座標を示す変数x、画素のy座標を示す変数y、及び、輝度勾配方向の各区間を示す変数aを初期化する(ステップS11、S12、S13)。図8において、X_startは、xの初期値、Y_startは、Yの初期値である。なお、図8に示す処理は、x=[X_start, X_end]、y=[Y_start, Y_end]の範囲に含まれる画素について、輝度勾配方向ヒストグラムを生成する処理とする。
座標(x,y)の注目画素において、輝度勾配方向θ(x,y)が、aと一致すれば(ステップS14でYES)、ヒストグラム生成部22は、そのaに対応する区間の度数値h(a)に、輝度勾配強度m(x,y)を加算する(ステップS15)。すなわち、輝度勾配強度が重みとして投票される。輝度勾配方向θ(x,y)が、aと一致しない場合(ステップS14でNO)、aに1が加算され(ステップS16)、ステップS14の判断が実行される。これにより、量子化された各値(a=0、1、2、3、・・・180)のうち該当する輝度勾配方向に、輝度勾配強度に基づいて重み付けされた値が投票される。なお、ステップS14では、θ(x,y)とaが一致するか否かを判断しているが、aが区間の範囲を示す場合は、θ(x,y)がaの示す区間に含まれるか否かが判断されることになる。
1つの注目画素について投票処理が終了すると(ステップS17でYES又はステップS15の終了)、変数xに1を加算し(ステップS18)、再度、ステップS13〜S17で示される1つの画素についての投票処理が実行される。変数xが、上限値X_endに達すると(ステップS19でYES)、変数yに1を加算し(ステップS20)、ステップS12〜S19で示される1行の画素群についての投票処理が実行される。変数yが、上限値Y_endに達すると(ステップS21でYES)、処理が終了する。
図8に示す処理により、量子化された輝度勾配方向θの各値(a=0、1、2、3、・・・180)それぞれについて、該当する画素の輝度勾配強度が加算された値h(a)が、度数分布を示すデータすなわち輝度勾配方向ヒストグラムとして生成され、記録される。なお、ヒストグラム生成処理は、上記例に限られない。例えば、輝度勾配方向θのとり得る範囲を分割した複数の区間は、(0〜1.4度、1.5〜2.4度、2.5〜3.4度、・・・、179.4〜180度)と、幅を持った区間としてもよい。また、各区間に対して、重み付けされた値ではなく、度数そのものを記録したものを輝度勾配方向ヒストグラムとすることもできる。
<歪度が0の場合のロール角推定処理>
図5のステップS4において、上記のようにヒストグラム生成部22が、輝度勾配方向ヒストグラムを生成すると、推定部23は、輝度勾配方向ヒストグラムにおける歪度を計算し、歪度が0か否かを判断する(ステップS5)。
ここでは、一例として、ステップS2において画像に含まれるn個の画素それぞれについて、輝度勾配方向(θ1,θ2,・・・,θn、以下θiとする(i=1、2、・・・n))が計算された場合について説明する。ステップS5の歪度の計算において、推定部23は、n個の画素の輝度勾配方向θiの算術平均θμ=(1/n)・(Σθi)と、標準偏差s=[(1/n)・{Σ(θi−θμ)2}](1/2)を計算する。推定部23は、これらのn、θμ、sを上記式(1)に代入して、歪度Skを計算する。
推定部23は、歪度Skが、0に対して所定の範囲Th1内であるか否かを判断する。例えば、推定部23は、|Sk−0|<=Th1であるか否かを判断する。ここで、Th1の値は、0か、又は0と見なすことができる程度に小さい値に設定することができる。これにより、推定部23は、歪度Skが0か否かを判断することができる。
歪度Skが0に対して所定の範囲Th1内である場合(ステップS5でYES)、推定部23は、ロール角αは0度と推定する(ステップS6)。推定部23は、ロール角の値(α=0)を出力する。
発明者らは、車両1に取り付けた撮像装置40のロール角の遷移と、撮像画像の輝度勾配方向ヒストグラムから算出される歪度の遷移とを注意深く観察した結果、ある特徴的な関係があることを見出した。図9は、ロール角と歪度の関係の一例を示すグラフである。図9において、横軸は時間、縦軸は歪度及びロール角を表す。図9に示すグラフから、ロール角が0度のとき、輝度勾配方向ヒストグラムから算出した歪度が0になることがわかる。この関係性に基づいて、推定部23が、歪度Skが0か否かを判定することによりロール角の値を推定する構成とすることで、精度の高いロール角推定が可能になる。
図10Aは、車両1の左右方向の傾斜角が0度すなわち撮像装置40のロール角が0度のときに撮像された画像と、車両1の傾きとの関係の一例を示す図である。図10Bは、図10Aに示す画像において検出される2つのピークの例を示す図である。図10Cは、図10Aに示す画像において算出される輝度勾配方向ヒストグラムの例を示す図である。
図10Aに示す例では、車両1が左右方向に傾いていないので、画像G1に写る被写体の垂直方向(重力方向)のエッジEvの線は、画像G1のx方向に対して垂直な方向となる。垂直方向と直交する方向である水平方向のエッジEhの線は、画像G1のx方向と同じ方向となる。
図10Bは、図10Aに示す画像G1の輝度勾配方向ヒストグラムから検出された互いに垂直な輝度勾配方向を持つ2つのピークP1、P2の画像のx方向に対する角度を示している。図10Bにおける輝度勾配方向θ2=0度、180度のピークP2は、図10Aの画像G1における垂直方向のエッジEvに対応する。図10Bにおける輝度勾配方向θ1=90度のピークP1は、図10Aの画像G1における水平方向のエッジEhに対応する。このように、画像におけるエッジの方向と輝度勾配方向は互いに直交する関係にある。なお、上述したように、0度及び180度は同一視できる。
図10Cに示す例では、輝度勾配方向ヒストグラムは、輝度勾配方向=90度の線を対称軸として左右対称となっている。この輝度勾配方向ヒストグラムでは、0度、90度及び180度においてピークが存在する。そのため、この輝度勾配方向ヒストグラムから算出される歪度は0となる。推定部23は、歪度が0なので、ロール角すなわち車両1の傾斜角は0度と推定することができる。
図10Dは、ロール角が0のときの輝度勾配方向ヒストグラムの他の例を示す図である。図10Dは、画像において垂直方向のエッジが少なく、水平方向のエッジが他より多く存在する場合の輝度勾配方向ヒストグラムである。例えば、画像において水平線が写っており、建物など人工物が少ない場合は、このような輝度勾配方向ヒストグラムが算出される。この輝度勾配方向ヒストグラムでは、90度においてピークが存在する。この輝度勾配方向ヒストグラムも、輝度勾配方向=90度の線を対称軸として左右対称となっている。そのため、歪度は0となる。このように、歪度が0になる態様として、水平方向のエッジ又は垂直方向のエッジのいずれかのピークのみが存在する態様もあり得る。
図5のステップS5において、推定部23は、歪度が0か否かの判定に加え、輝度勾配方向ヒストグラムのピークが所定条件を満たすか否かを判定することができる。例えば、推定部23は、歪度が0でかつ輝度勾配方向ヒストグラムのピークが所定条件を満たす場合に、ロール角が0度であると推定することができる。所定条件は、例えば、0度、90度又は180度に対応するピークが閾値Th12を越える、等とすることができる。所定条件判断の具体例として、推定部23は、0度、90度、又は180度から所定の範囲内に、閾値Th12を越えるピークがあるか否かを判断することができる。或いは、推定部23は、最も強いピークの位置が、0度、90度又は180度から所定範囲にあるか否かを判断することができる。
このように、歪度、及び輝度勾配方向ヒストグラムのピークの両方について判断することで、推定精度をより向上させることができる。例えば、まれに、ロール角が0度でない場合でも、歪度が0になる場合がある。それは、例えば、垂直方向及び水平方向のエッジの他に強いエッジが存在する場合等である。推定部23は、0度、90度又は180度から所定範囲内に最も強いピーク又は閾値Th12より強い強度を持つピークがあるか否かを判断することで、このような場合のロール角の誤推定を避けることができる。
<過去の画像の処理結果を利用したロール角推定処理>
ステップS5で、NOすなわち歪度が0でないと判断された場合、推定部23は、過去の画像の垂直方向又は水平方向のエッジのピークを基に、現在の垂直方向又は水平方向のエッジに対応するピークとして抽出する(ステップS7)。具体的には、推定部23は、過去の画像で特定された垂直方向又は水平方向(本例では、垂直方向)のエッジのピークの輝度勾配方向を取得する。推定部23は、取得した輝度勾配方向との角度の差が閾値Th2を超えない輝度勾配方向を持つピークを、現在の画像の輝度勾配方向ヒストグラムから抽出する。推定部23は、抽出したピークの輝度勾配方向を用いて現在のロール角を推定する(ステップS8)。
推定部23は、例えば、輝度勾配方向ヒストグラムに対して極値検出処理を実行してピークを検出することができる。具体例として、所定の閾値を上回る頻度(度数)を持つ輝度勾配方向の区間をピークの区間として検出することができる。また、ピークの値(ピークの強さ)を所定の閾値と比較することにより、ピーク検出結果の成否を判定することができる。例えば、ピークの値が、閾値に満たない場合は、推定部23は、正常な検出結果でないと判断し、後の処理ではピークとして扱わないようにすることができる。
図11Aは、車両1の左右方向の傾斜角が0度でないときに撮像された画像と、車両1の傾きとの関係の一例を示す図である。図11Bは、図11Aに示す画像において検出される2つのピークの例を示す図である。図11Aに示す例では、車両1の上下方向線U1が重力方向(鉛直方向)に対して左(マイナス側)に角度δだけ傾いている。そのため、画像G2に写る被写体の垂直方向のエッジEvの線は、画像G2のy方向に対して角度δだけ傾く。水平方向のエッジEhの線は、画像G2のx方向に対して角度δだけ傾く。
図11Bは、図11Aに示す画像G2の輝度勾配方向ヒストグラムから検出された2つのピークP3、P4の画像のx方向に対する角度を示している。ピークP3、P4は、互いに垂直な輝度勾配方向を持つ。図11Bにおける輝度勾配方向θ3のピークP3は、図11Aの画像G2における水平方向のエッジEhに対応する。図11Bにおける輝度勾配方向θ4のピークP4は、図11Aの画像G2における垂直方向のエッジEvに対応する。
図11Aに示す画像G2の輝度勾配方向ヒストグラムの歪度は0にはならない。この場合、輝度勾配方向ヒストグラムにおけるピークP3、P4の配置は、輝度勾配方向=90度の線を軸とした線対称とはならない。このような場合、推定部23は、歪度は0でないと判断する(図5のステップS5でNO)。この場合、ステップS7において、推定部23は、対象画像(現フレーム)である画像G2の輝度勾配方向ヒストグラムのピークのうち、1つ前の画像(前フレーム)で特定された垂直方向のエッジに対応する輝度勾配方向との角度の差が閾値Th2を超えない輝度勾配方向を持つピークを抽出する。
1つ前の画像(前フレーム)でロール角が0度と判断された場合(例えば、前フレームが図10Aの画像G1である場合)、推定部23は、前フレームの垂直方向のエッジのピーク(図10BのP2)の輝度勾配方向(θ2=180度)を取得する。この場合、前フレームの垂直方向のエッジのピーク(図10BのP2)は、輝度勾配方向ヒストグラムの中央のピーク(図10BのP1)と垂直な関係を有するピークである。推定部23は、取得した輝度勾配方向(θ2=180度)に対する角度が閾値Th2を越えない輝度勾配方向を持つピークを、画像G2(現フレーム)の輝度勾配方向ヒストグラムから抽出する。図11Bに示す例では、ピークP4の輝度勾配方向θ4と、ピークP2(図10B参照)のθ2(=180度)との角度(δ)が閾値Th2を越えない。そのため、ピークP4が、垂直方向のエッジに対応するピークとして抽出される。
1つの前の画像(前フレーム)でロール角が0度でないと判断された場合、推定部23は、前フレームの輝度勾配方向ヒストグラムにおける垂直方向のエッジのピークの輝度勾配方向との角度が閾値Th2を越えないピークを、対象画像(現フレーム)の輝度勾配方向ヒストグラムから抽出することができる。
具体例を、図12を用いて説明する。図12は、対象画像(現フレーム)で検出されたピークP5の輝度勾配方向の他の例を示す。ここでは、対象画像の1つ前の画像(前フレーム)が、図11Aに示す画像G2である場合について説明する。画像G2では、ロール角は0度でないと判断される。図12には、前フレームで検出されたピークP4の輝度勾配方向も点線で示している。例えば、画像において、水平方向のエッジが少ない場合、水平方向のエッジに対応する輝度勾配方向の度数が小さくなり、輝度勾配方向ヒストグラムにおいて、水平方向のエッジに対応するピークが検出されない。このような場合、図12に示すように、1つのピークP5だけ検出されやすい。
図12に示す例の場合、推定部23は、前フレームで垂直方向のエッジに対応するものとして特定されたピークP4の輝度勾配方向から、閾値Th2の範囲内にある輝度勾配方向を持つピークP5を、現フレームの垂直方向のエッジに対応するピークとして抽出する。このようにして抽出されたピークは、直近にロール角が0度と判断された画像(図10Aの画像G1)の輝度勾配方向ヒストグラムにおける垂直方向のエッジのピークP2(図10B参照)に対応するピークである。
なお、図10B、図11B及び図12に示す例では、前フレームのピークの輝度勾配方向と現フレームのピークの輝度勾配方向を比較している。これに対して、推定部23は、輝度勾配方向をロール角又は傾斜角に変換した値を比較してもよい。このような比較処理も、輝度勾配方向の比較処理と同等である。
一例として、推定部23は、角速度上限と、閾値Th2=Δαと、過去のロール角推定結果αt-1と用いて、下記式(8)により、現フレームのロール角(垂直方向のエッジに対応するピークの輝度勾配方向の変換値)の範囲を決定できる。下記式(8)では、ロール角の上限値と下限値を決定している。閾値Th2=Δαは、前フレームの画像から現フレームの画像まで時間を用いて算出される。上限値と下限値は、周期性を有する場合がある。
推定部23は、輝度勾配方向ヒストグラムにおいて、閾値Th2により決定される範囲内にピークを探索する。この範囲内でピークが検出された場合、推定部23は、検出されたピークの値(強さ)により、垂直方向のエッジに対応するピークとして採用するか否かを判断してもよい。
なお、現フレームとの比較対象は、1つ前のフレームに限られず、2つ以上前のフレームと現フレームの比較対象としてもよい。
上記例は、ステップS7において、垂直方向のエッジに対応するピークを抽出する処理例である。これに対して、推定部23は、水平方向のエッジに対応するピークを抽出してもよいし、垂直方向及び水平方向のエッジの両方のピークをそれぞれ抽出してもよい。また、推定部23は、垂直方向のエッジのピーク又は水平方向のエッジのピークの一方を探索し、見つからない場合に他方を探索してもよい。推定部23は、抽出したピークの輝度勾配方向に基づいて、ロール角を推定する(ステップS8)。
ステップS8において、推定部23は、ステップS7で抽出したピークの輝度勾配方向を、垂直方向又は水平方向のエッジの方向として、撮像装置40のロール角を計算する。
本例では、ステップS7で抽出したピークの輝度勾配方向θは、垂直方向のエッジ又は水平方向のエッジの画像のx方向に対する角度を示す。この場合、推定部23は、一例として、この輝度勾配方向θを、重力方向に対する撮像装置40の上下方向線(すなわち車両1の上下方向線)の角度を示す値に変換したものをロール角の推定値とすることができる。これは、撮像装置40のロール角を、車両1の傾斜角と同様に、垂直方向(重力方向)に対する撮像装置40の上下方向線の角度で表す場合の例である(進行方向に向かって右が正、左が負とする)。
ステップS7で抽出したピークの輝度勾配方向θが、垂直方向のエッジ又は水平方向のエッジのいずれに対応する場合であっても、推定部23は、輝度勾配方向θをロール角の推定値に変換することができる。例えば、正常に走行中の車両1の重力方向に対する傾斜角は、一定以上大きくなりにくいことが発明者らによって把握されている。発明者らはこの知見を基に、車両の傾斜角すなわち撮像装置のロール角の重力方向に対する傾きに閾値Th3(第3の閾値の一例)を設定することに想到した。推定部23は、この閾値Th3と、抽出した輝度勾配方向θとを比較することで、輝度勾配方向θが水平方向又は垂直方向のどちらに相当するかを判断する。
具体的には、輝度勾配方向θと画像の垂直軸(y軸)からの角度(ずれ)が、閾値Th3より小さい場合、推定部23は、輝度勾配方向θが水平方向のエッジに対応する輝度勾配方向であるとしてロール角の推定値を決定することができる。輝度勾配方向θと、画像の垂直軸(y軸)との角度(ずれ)が閾値Th3より大きい場合は、推定部23は、輝度勾配方向θが垂直方向のエッジに対応する輝度勾配方向であるとしてロール角の推定値を決定することができる。
本例では、推定部23は、輝度勾配方向θが(90−Th3)と(90+Th3)の間である場合(90−Th3<θ<90+Th3)に、輝度勾配方向θは、垂直方向のエッジに対応する輝度勾配方向と判断する。図11Bに示す例では、ピークP3の輝度勾配方向θ3が(90−Th3<θ3<90+Th3)となっている。この場合、ロール角αは、α=θ3―90として算出される。
また、推定部23は、輝度勾配方向θが(90−Th3)より小さいか、又は(90+Th3)より大きい場合(θ<90−Th3、又は、90+Th3<θ)に、輝度勾配方向θは、垂直方向のエッジに対応する輝度勾配方向と判断する。図11Bに示す例では、ピークP4の輝度勾配方向θ4が(90+Th3<θ4)となっている。この場合、ロール角αは、α=θ4―180として算出される。なお、θ4<90−Th3の場合は、ロール角αは、α=θ4として算出される。
このようにして、推定部23は、ステップS7で抽出されたピークの輝度勾配方向θを、水平方向又は垂直方向のエッジの画像の基準軸に対する傾き(角度)を示す値とし、この値を、求めるロール角の基準軸に対する傾き(角度)に変換することができる。
一例として、閾値Th3を45度とした場合、ピークの輝度勾配方向θを、下記式(9)により、ロール角α(=車両の傾斜角)に変換することができる。
<過去の輝度勾配方向ヒストグラムを利用したロール角推定処理>
図5のステップS7において、条件を満たすピークが抽出できない場合(ステップS7でNO)、推定部23は、過去の輝度勾配方向ヒストグラムと、現在の輝度勾配方向ヒストグラムの形状のマッチングを実行する(ステップS9)。推定部23は、マッチング結果を用いて、過去から現在までのロール角の変位を算出し、ロール角の変位と、過去におけるロール角とから現在のロール角を推定する(ステップS10)。
このように、ステップS5で歪度が0でないと判断し、さらにステップS7でもピークが抽出されない場合であっても、ステップS9において、輝度勾配方向ヒストグラムのマッチングを行うことで、垂直方向を追跡することができる。例えば、画像中に垂直方向のエッジ及び水平方向のエッジよりも、他の方向のエッジが多い場合、輝度勾配方向ヒストグラムにおいて、垂直方向及び水平方向に対応する輝度勾配方向のピークが不明瞭になりやすい。このような場合、連続する複数の画像において、他の方向のエッジに対応するピークがあれば、マッチングにより、連続する複数の画像間におけるピークの対応関係を特定することができる。複数画像間のピークの対応関係を用いて、連続する複数の画像におけるロール角の変位を算出することができる。そのため、画像中に水平方向のエッジ及び垂直方向のエッジの両方が他より多く存在する場合、及び、いずれか一方のみが他より多く存在する場合に加え、さらに、いずれも他より多く存在しない場合にも、ロール角推定が可能になる。
推定部23は、例えば、前フレームの輝度勾配方向ヒストグラムの形状と、現フレームの輝度勾配方向ヒストグラムの形状とをマッチングする。マッチング処理では、推定部23は、例えば、前フレームの輝度勾配方向ヒストグラムにおける1以上のピークの位置及び強さと、現フレームの輝度勾配方向ヒストグラムにおける1以上のピークの位置及び強さとを比較する。推定部23は、比較結果として、ピーク配置のマッチング度合いを示すスコアを算出する。前フレームの輝度勾配方向ヒストグラムと現フレームの輝度勾配方向ヒストグラムとの角度方向の相対位置関係を変化させ、比較及びスコアの算出を繰り返す。これにより、スコアをよくする相対位置関係を決定する。すなわち、前フレームと現フレームの輝度勾配方向ヒストグラムの角度をずらして、ピークのマッチング度合いを評価し、最もマッチするときの角度のずれを決定する。これにより、前フレームと現フレームと角度のずれ量が得られる。推定部23は、この角度のずれ量を、前フレームからのロール角の変位として算出することができる。
推定部23は、ステップS6、S8又はS10で推定されたロール角を出力する。算出されたロール角の出力形態は特に限定されないが、例えば、車両制御部50がアクセス可能な記録装置に記録することができる。例えば、ロール角αの値は、画像の識別子又は時刻等と対応付けて記録することができる。また、ロール角推定装置20は、車両制御部50にロール角を示すデータを通知してもよい。
以上の図5に示す処理により、撮像された画像の情報だけから撮像装置40のロール角及び車両1の傾斜角を推定することができる。そのため、画像にのみ依存するロール角の推定を行うことができ、車両1毎のパラメータ調整等が不要となる。また、ロール角推定精度は、車両1の走行中の振動の影響を受けにくい。
(実施形態2)
図13は、実施形態2におけるヴィークル用ロール角推定システム10aの構成例を示す機能ブロック図である。ヴィークル用ロール角推定システム10aは、図1に示すように車両1に実装することができる。図13において、図2と同じ部分には同じ符号を付している。図13に示すヴィークル用ロール角推定システム10aは、図2に示す構成に、内界センサ60を追加した構成である。
内界センサ60は、例えば、ジャイロセンサ、加速度センサ又はこれらの組み合わせとすることができる。内界センサ60は、車両1の傾斜角を出力し、メモリ21に記録する。或いは、内界センサ60のセンサ情報を用いて、推定部23が、車両の傾斜角又は撮像装置40のロール角を計算することができる。例えば、内界センサ60にジャイロセンサが含まれる場合、ジャイロセンサから出力されるロールレート(角速度)に基づいて、車両1の傾斜角を計算することができる。内界センサ60に加速度センサが含まれる場合、加速度センサによるGを用いて、車両1の傾斜角を計算することができる。
推定部23は、内界センサ60により検出された車両1の傾斜角を用いて推定部23が推定したロール角を補完することができる。推定部23は、画像から得られる輝度勾配方向ヒストグラムに基づいてロール角を推定できなかった場合、内界センサ60により検出された傾斜角を車両の傾斜角として採用することができる。
図14は、図13に示すロール角推定装置20の動作例を示すフローチャートである。図14において、ステップS1〜S10は、図5のステップS1〜S10と同様に実行することができる。ステップS9で、輝度勾配方向ヒストグラムのマッチングができない場合(ステップS9でNO)、推定部23は、内界センサ60により検出された傾斜角をメモリ21から読み出し、撮像装置40のロール角とする。
内界センサ60が、ジャイロセンサ及び他のセンサ(例えば、加速度センサ)を含む場合、推定部23は、ステップS100において、まず、ジャイロセンサにより得られる角速度を用いて、車両1の傾斜角又は撮像装置40のロール角を算出することができる。このロール角の算出が、ステップS5の処理が実行されてから、所定の時間内であれば、推定部23は、加速度センサの情報によるによる補完は実行せず処理を終了してもよい。所定の時間を経過していた場合は、推定部23は、加速度センサの情報を用いた補完処理も実行する。ジャイロセンサにより得られる角速度は、短時間であれば、誤差が少なく有用な情報である。そのため、推定部23による推定処理の経過時間に応じて、ジャイロセンサの情報のみ用いて補完するか、他のセンサの情報も用いて補完するかを切り替えることがでる。
また、推定部23は、内界センサ60により検出された車両1の傾斜角を用いて推定部23が推定した撮像装置40のロール角を検証することもできる。例えば、推定部23によって撮像装置40のロール角αをα=Aと推定した場合、α=Aと内界センサで検出された傾斜角との差が所定の範囲内にあれば、α=Aが正しいと判断することができる。傾斜角の差が所定の範囲内になければα=Aが正しくないと判断することができる。例えば、ステップS6で推定されたロール角α=Aが正しくないと判断された場合、推定部23は、垂直方向成分の追跡(ステップS7)や、ヒストグラムマッチング(ステップS9)など別の方法で傾斜角を推定し、さらに検証を行ってもよい。
図15〜図18は、上記実施形態1又は実施形態2におけるヴィークル用ロール角推定システムを用いてロール角を推定する例を示す図である。図15〜図18に示す画像G1〜G4は、ヴィークル用ロール角推定システムに入力される画像の例である。画像G1〜G4は、車両1が走行中に、撮像装置40が車両1の前方を撮像して得られる画像の例である。図15〜図18に示す輝度勾配方向ヒストグラムHS1〜HS4は、画像G1〜G4それぞれの輝度勾配方向ヒストグラムである。
図15に示す画像G1は、車両1が進行方向に対して左右方向に傾いていない時すなわち車両1の左右方向の傾斜角が0の時に撮像された画像である。画像G1には、垂直方向のエッジEvと水平方向のエッジEhが、他の方向のエッジより多く含まれている。そのため、輝度勾配方向ヒストグラムHS1には、水平方向のエッジEhに対応するピークP1と垂直方向のエッジEvに対応するピークP2が現れる。車両1が左右方向に傾斜していない場合は、これらのピークP1、P2の位置は、輝度勾配方向ヒストグラムにおいて対称な位置となる。そのため、この画像G1の輝度勾配方向ヒストグラムの歪度は、0と計算される。この場合、車両1の傾斜角δすなわち撮像装置40のロール角αは、0と推定される。
図16に示す画像G2は、車両1が進行方向に対して左右方向に傾いている時すなわち車両1の左右方向の傾斜角が0でない時に撮像された画像である。画像G2には、垂直方向のエッジEvと水平方向のエッジEhが、他の方向のエッジより多く含まれている。そのため、輝度勾配方向ヒストグラムHS2には、水平方向のエッジEhに対応するピークP3と垂直方向のエッジEvに対応するピークP4が現れる。車両1が左右方向に傾斜している場合は、これらのピークP3、P4の位置は、輝度勾配方向ヒストグラムにおいて非対称な位置となる。そのため、この画像G2の輝度勾配方向ヒストグラムの歪度は0とならない。この場合、例えば、直近の過去に歪度が0と計算された画像(例えば、画像G1)のピークP1、P2に対応する画像G2のピークP3、P4が特定される。画像G2の輝度勾配方向ヒストグラムHS2のピークP3、P4の輝度勾配方向θ1、θ2の少なくともいずれかにより、車両1の傾斜角δを推定することができる。
図17に示す画像G3は、車両1がマリンヴィークルである場合の例である。画像G3は、車両1が進行方向に対して左右方向に傾いていない時すなわち車両1の左右方向の傾斜角が0でない時に撮像された画像である。画像G3では、水平方向エッジEhが他の方向のエッジに比べて多く、垂直方向のエッジはほとんどない。画像G3の輝度勾配方向ヒストグラムHS3では、水平方向のエッジEhに対応するピークP1が中央に配置される。輝度勾配方向ヒストグラムHS3の歪度は0になる。この場合、車両1の傾斜角δすなわち撮像装置40のロール角αは、0と推定される。
図18に示す画像G4は、車両1が進行方向に対して左右方向に傾いていない時すなわち車両1の左右方向の傾斜角が0でない時に撮像された画像である。画像G4では、y軸に対して左に約45度傾いた方向のエッジと、y軸に対して右に約45度傾いた方向のエッジが、他の方向のエッジより多い。画像G4では、水平方向エッジも、垂直方向のエッジもほとんどない。画像G4の輝度勾配方向ヒストグラムHS4においては、各エッジに対応するピークが、対称な位置に配置される。そのため、歪度が0になる。この場合、車両1の傾斜角δすなわち撮像装置40のロール角αは、0と推定される。このように、画像のy軸(縦軸)に対して+45度のエッジと、―45度のエッジが同じ位含まれており、他の方向のエッジがこれらのエッジに比べて少ない場合、輝度勾配方向ヒストグラムの歪度が0になる。
上記実施形態によれば、輝度勾配方向ヒストグラムの歪度が0の時は、高精度で、ロール角を0と推定できる。歪度=0の時にロール角=0を検出することで、その後のロール角の推定又は測定、或いは、ロール角に関連する車両の制御に、ロール角=0の情報を利用することができる。例えば、歪度=0のときに、IMU等の内界センサのロール角を0にリセットすることができる。
以上、本発明の実施形態について説明したが、本発明の実施形態は上記例に限られない。例えば、本発明のヴィークル用ロール角推定システムの適用対象は自動二輪車に限定されるものではない。本発明のヴィークル用ロール角推定システムは、自動二輪車以外の鞍乗型車両(自転車、自動三輪車、LMW(Leaning Multi Wheel)、自動車、スノーモービル、ATV(全地形走行車)等)、電車、汽車、マリンヴィークル(パーソナルウォータークラフト)、船舶、航空機、ヘリコプター、ドローン(遠隔操縦又は自律飛行が可能な無人機)に適用してもよい。なお、鞍乗型車両とは、乗員が鞍にまたがるような状態で乗車する車両全般を指している。鞍乗型車両には、スクータ型の車両も含まれる。また、鞍乗型車両以外の車両にも本発明を適用することができる。本発明は、左右に傾斜可能なリーン車両に適用することができる。本発明は、左右に傾斜することで旋回する車両すなわちリーン姿勢で旋回する車両に好適に適用することができる。リーン車両は、左に旋回するときは左に傾斜し、右に旋回するときは右に傾斜する。
なお、撮像装置40は、前方ではなく後方を撮像するものとすることもできる。また、撮像装置40の光軸は、必ずしも車両の前後方向と同じでなくもよい。また、撮像装置40の配置位置は、フロントカバー15に限られず、例えば、ヘッドパイプ11等であってもよい。ロール角推定装置20の位置もヘッドパイプ11に限れられない。また、撮像装置40及びロール角推定装置20の両方を、フロントカバー15又はヘッドパイプ11に取り付けることもできる。また、撮像装置40とロール角推定装置20は、1つの筐体に収納されてもよいし、それぞれ異なる筐体に収納されてもよい。
ロール角推定装置20の動作例は、図5及び図14に示した例に限られない。図5及び図14において、過去の垂直方向から特定される垂直方向を用いたロール角推定処理(ステップS7及びS8)、又は、過去の輝度勾配方向ヒストグラムとのマッチング結果を用いたロール角推定処理(ステップS9及びS10)の少なくとも一方を省略してもよい。
歪度の算出は、上記式(1)を用いた計算に限られない。輝度勾配方向ヒストグラムの対称性を計算する他の近似式を用いて歪度を計算してもよい。歪度は、輝度勾配方向ヒストグラムの対称の度合いを示す値である。
輝度勾配方向ヒストグラムの歪度に基づいてロール角を推定する処理は、歪度が0に対して所定範囲内となるとき、前記ロール角が0度であると推定する処理に限られない。例えば、推定部は、輝度勾配方向ヒストグラムの歪度に応じたロール角の値を算出してもよい。推定部は、予め記録された関数又は対応データを用いて、算出された歪度に対応するロール角を算出してもよい。この場合、関数は、歪度を引数として、ロール角の値を返す関数とすることができる。対応データは、例えば、様々な歪度に対応するロール角の値を記録したデータとすることができる。また、推定部は、歪度に加えて、他の情報を用いて、ロール角を推定してもよい。
ヴィークルは、ヴィークル用ロール角推定システムで推定されたロール角を、記録、又は表示することができる。或いは、推定されたロール角を用いてヴィークルを制御することができる。この場合、推定されたロール角がヴィークルの制御状態(挙動)に影響を与える。そのため、ヴィークルの制御状態から推定されたロール角を、把握することができる。
本明細書にて使用される専門用語は、特定の実施例を説明する目的で使用されるだけであり、発明を制限する意図を有しない。
本明細書にて使用される用語「および/または」は、複数の列挙された関連する構成物のうち1つ又は複数のあらゆるすべての組み合わせを含む。
「含む(including)」「備える(comprising)」または「有する(having)」その他これらに類する用語は、本明細書中で使用される場合、記載された特徴、工程、操作、要素、成分および/またはそれらの等価物の存在を特定するが、さらなる他の特徴、工程、操作、要素、成分および/またはそれらのグループのうちの1つまたは複数の存在又は追加を除外するものではない。
「取り付けられた(mounted)」、「接続された(connected)」、「結合された(coupled)」および/またはそれらに等価な用語は、本明細書中で使用される場合、広い意味で使用され、直接的および間接的、両方の、取り付け、接続および結合を包含する。さらに、「接続された」および「結合された」は、直接的または間接的いずれの場合も、物理的または機械的な接続または結合に限定されず、電気的な接続または結合を含み得る。
他に定義されない限り、本明細書で使用される全ての用語(技術用語および科学用語を含む)は、本発明が属する当業者によって一般的に理解されるのと同じ意味を有する。
一般的に使用される辞書に定義された用語のような用語は、関連する技術および本開示の文脈における意味と一致する意味を有すると解釈されるべきであり、本明細書で明示的に定義されていない限り、理想的または過度に形式的な意味で解釈されることはない。
本発明の説明においては、複数の技術およびステップが開示されていると理解される。これらの各々は、個別の効果を有し、各々は、他の開示された1つ以上の技術、または、場合によっては全ての技術と共に使用することもできる。したがって、本明細書では、明確にするために、個々のステップの全てのとり得る組み合わせを不必要に繰り返すことを控える。それにもかかわらず、明細書および特許請求の範囲は、そのような組み合わせがすべて本発明および請求項の範囲内にあることを理解して読まれるべきである。