【課題】路面の特徴点に基づいてカメラパラメータのキャリブレーションを行う際に、路面の傾斜を考慮したキャリブレーションを行うことが可能なキャリブレーション装置及びキャリブレーション方法を提供する。
【解決手段】キャリブレーション装置116は、特徴点検出部201により検出された特徴点に基づいてカメラパラメータのキャリブレーションを行うキャリブレーション演算部205と、前方カメラ111から出力される画像信号に基づくキャリブレーション結果に基づいて、車両Vの走行方向と交差する方向の路面の傾斜を推定する傾斜推定部とを有し、キャリブレーション演算部205は、傾斜推定部206により推定された路面の傾斜にも基づいてキャリブレーションを行う。
車両の前方に搭載されて路面を含む前記車両の前方を撮像する前方撮像装置、及び前記車両の側方に搭載されて前記路面を含む前記車両の側方を撮像する側方撮像装置を含む撮像装置から出力される画像信号に基づいて前記撮像装置のカメラパラメータのキャリブレーションを行うキャリブレーション装置であって、
異なる時間に撮像される複数の前記画像信号から少なくとも前記路面の幅方向に検出される複数の特徴点を検出する特徴点検出部と、
前記特徴点検出部により検出された前記特徴点に基づいてカメラパラメータのキャリブレーションを行うキャリブレーション演算部と、
前記前方撮像装置から出力される前記画像信号に基づくキャリブレーション結果に基づいて、前記車両の走行方向と交差する方向の前記路面の傾斜を推定する傾斜推定部とを有し、
前記キャリブレーション演算部は、前記傾斜推定部により推定された前記路面の傾斜にも基づいてキャリブレーションを行うことを特徴とするキャリブレーション装置。
前記キャリブレーション演算部は、前記傾斜推定部により推定された前記路面の傾斜にも基づいて前記側方撮像装置のキャリブレーションを行うことを特徴とする請求項1に記載のキャリブレーション装置。
前記傾斜推定部は、前記キャリブレーション演算部が算出した、前記前方撮像装置のカメラパラメータであるピッチ角及び/またはヨー角に基づいて前記路面の傾斜を推定し、
前記キャリブレーション演算部は、前記傾斜推定部が推定した前記路面の傾斜に基づいて、前記側方撮像装置のカメラパラメータであるピッチ角のキャリブレーションを行う
ことを特徴とする請求項2に記載のキャリブレーション装置。
前記傾斜推定部は、前記特徴点検出部により前記路面の幅方向に検出された複数の前記特徴点の移動速度における差と前記特徴点間の前記路面の幅方向の距離との関係に基づいて前記路面の傾斜を推定することを特徴とする請求項1〜3のいずれかに記載のキャリブレーション装置。
車両の前方に搭載されて路面を含む前記車両の前方を撮像する前方撮像装置、及び前記車両の側方に搭載されて前記路面を含む前記車両の側方を撮像する側方撮像装置を含む撮像装置から出力される画像信号に基づいて前記撮像装置のカメラパラメータのキャリブレーションを行うキャリブレーション装置によるキャリブレーション方法であって、
異なる時間に撮像される複数の前記画像信号から少なくとも前記路面の幅方向に検出される複数の特徴点を検出し、
検出した前記特徴点に基づいてカメラパラメータのキャリブレーションを行い、
前記前方撮像装置から出力される前記画像信号に基づくキャリブレーション結果に基づいて、前記車両の走行方向と交差する方向の前記路面の傾斜を推定し、
推定した前記路面の傾斜にも基づいてキャリブレーションを行うことを特徴とするキャリブレーション方法。
【発明を実施するための形態】
【0015】
(画像処理装置の概略構成)
以下、この発明の実施の形態を図面に基づいて説明する。なお、以下では、4台の撮像装置を使用する場合について説明する。
【0016】
図1は、本発明の実施の形態であるキャリブレーション装置が適用されるキャリブレーションシステムの概略構成を示すブロック図、
図2は実施の形態であるキャリブレーション装置によりキャリブレーションが行われる撮像装置の配置位置の一例を示す図である。
【0017】
図1に示すように、キャリブレーションシステム100は、車両V(
図2参照)に搭載され、同様に車両Vに搭載された撮像装置に対してキャリブレーション動作を行う。
【0018】
車両Vの前後左右には、
図2に示すように複数の小型カメラ(撮像装置)が備えられている。
【0019】
具体的には、車両Vのフロントバンパまたはフロントグリルには、車両Vの前方に向けて路面を含む車両の前方を撮像する前方カメラ(前方撮像装置)111が装着されている。車両Vのリアバンパまたはリアガーニッシュには、車両Vの後方に向けて路面を含む車両の後方を撮像する後方カメラ112が装着されている。車両Vの左ドアミラーには、車両Vの左側方に向けて路面を含む車両の左側方を撮像する左側方カメラ(側方撮像装置)113が装着されている。車両Vの右ドアミラーには、車両Vの右側方に向けて路面を含む車両の右側方を撮像する右側方カメラ(側方撮像装置)114が装着されている。
【0020】
前方カメラ111、後方カメラ112、左側方カメラ113、右側方カメラ114には、それぞれ、広範囲を観測可能な広角レンズや魚眼レンズが装着されており、4台のカメラ111〜114で車両Vの周囲の路面を含む領域を漏れなく観測することができる。これらカメラ111〜114により、車両Vの周囲の路面を撮像する撮像装置が構成されている。各カメラ111〜114で撮像された4つの画像は、画像処理装置101(
図1参照)に出力される。
【0021】
図1に戻って、キャリブレーションシステム100は、主に、4台のカメラ111〜114と、画像処理装置101と、RAM(Random Access Memory)102と、ROM(Read Only Memory)103と、表示装置104と、車速センサ105と、舵角センサ106と、ヨーレートセンサ107と、入力装置108と、通信装置109とを備えている。
【0022】
車速センサ105と舵角センサ106とヨーレートセンサ107は、それぞれ、車速、舵角、ヨーレートを検出するセンサであり、各センサで検出されたセンサ情報は画像処理装置101に出力され、画像処理装置101における演算処理で利用される。舵角センサ106では、前輪のタイヤ角が舵角として検出される。
【0023】
入力装置108は、例えばスイッチやボタン等といった、ユーザーの操作を受け付ける装置である。入力装置108は、キャリブレーション機能のオン/オフ、キャリブレーション結果の初期化、キャリブレーション方法の変更等に利用される。ユーザーの操作を介して当該入力装置108に入力された各種情報は、画像処理装置101に出力される。
【0024】
通信装置109は、不図示の外部機器との通信に使用される装置である。画像処理装置101は、当該通信装置109を介して外部機器から各種情報を受信するとともに、画像処理装置101で演算された各種情報を外部機器へ出力する。
【0025】
RAM102には、画像処理装置101における演算処理過程で必要となる数値データ、演算処理途中の処理結果に対するプログラムの変数等が書き込まれる。その書き込まれたデータは、画像処理装置101の演算処理過程で適宜必要に応じて読み出されて演算処理に使用される。また、RAM102には、各カメラ111〜114によって撮像された画像データ等も格納される。
【0026】
ROM103には、例えば、キャリブレーションを実行するプログラムや、プログラムで必要となる情報のうちで書き換えをせずに利用される情報が事前に格納される。例えば、各カメラ111〜114の設置位置や角度(ピッチ角、ヨー角、ロール角、カメラ高さ)の設計値(外部パラメータ)、各カメラ111〜114の焦点距離、画素サイズ、光軸中心、歪み関数等(内部パラメータ)のカメラパラメータが格納される。本実施の形態であるキャリブレーションシステム100は、主に外部パラメータのキャリブレーションを行うものである。
【0027】
画像処理装置101は、各カメラ111〜114、車速センサ105、舵角センサ106、ヨーレートセンサ107、入力装置108、通信装置109等から送信される種々の情報を受け取る。その受け取った情報を用いて、画像処理装置101は、プログラム等に基づき画像処理動作を実施する。
【0028】
画像処理装置101は、例えば、各カメラ111〜114から入力された画像を視点変換し、上方から地面を見下ろしたような俯瞰画像を生成する。詳細には、魚眼カメラからなる各カメラ111〜114で撮像された画像について、ROM103等に事前に格納された既知の歪み関数を用いて画像の歪みを除去した画像を生成する。
【0029】
その歪みを除去した各画像を、ROM103等に事前に格納された既知のカメラ取り付けに関する設計値等に基づいて、俯瞰視点から見た画像に視点変換する(画像生成装置115)。このような視点変換処理は、周知のカメラの幾何変換式を使って、俯瞰画像の特定の画素とそれに対応する各カメラ111〜114の特定の画素を計算し、その画素の輝度値を俯瞰画像の画素に割り当てることによって実現できる。
【0030】
対応する画素が小数点を含み、該当する画素がない場合は、周知の輝度の補間処理によって周辺画素の中間輝度を割り当てる処理が行われる。また、画像処理装置101は、車速センサ105、舵角センサ106、ヨーレートセンサ107、通信装置109の出力結果を用いて演算処理を実行したり、入力装置108の入力結果に従って動作プログラムの切り替え処理を実行したりする。
【0031】
また、画像処理装置101には、視点変換された俯瞰画像が車両Vを真上から見下ろした画像となるように、各カメラ111〜114のキャリブレーションを実施するキャリブレーション装置116が搭載される。キャリブレーション装置116の構成については後述する。
【0032】
表示装置104は、画像処理装置101の処理結果を受け取り、ディスプレイ等を用いてその処理結果をユーザーに提示する。例えば、ユーザーに対して各カメラ111〜114の4つの画像を視点変換した俯瞰画像を表示する。また、表示装置104は、車両Vの後方を撮像するカメラ112の画像だけを表示する等、画像処理装置101の出力に従って表示内容を切り替えることもできる。
【0033】
(キャリブレーション装置の機能構成)
図3は、本実施の形態であるキャリブレーション装置116の概略構成を示す機能ブロック図である。
【0034】
本実施の形態であるキャリブレーション装置116は、制御部200及び記憶部210を有する。
【0035】
制御部200は、キャリブレーション装置116全体の制御を行う。制御部200はCPU、FPGAなどのプログラマブルロジックデバイス、ASIC等の集積回路に代表される演算素子を有する。
【0036】
キャリブレーション装置116の記憶部210には図略の制御用プログラムが格納されており、この制御用プログラムがキャリブレーション装置116の起動時に制御部200により実行されて、キャリブレーション装置116は
図3に示すような機能構成を備えたものとなる。特に、本実施形態のキャリブレーション装置116は、後述するように高速の画像処理を行うので、高速演算可能な演算素子、例えばFPGAなどを有することが好ましい。
【0037】
制御部200は、特徴点検出部201、特徴点追跡部202、特徴点系列作成部203、座標変換部204、キャリブレーション演算部205及び傾斜推定部206を有する。
【0038】
特徴点検出部201は、カメラ111〜114から出力される画像信号から特徴点を検出する。言い換えれば、特徴点検出部201は、カメラ111〜114が撮像した画像に対して画像処理を施して特徴点を抽出する。ここでいう特徴点とは、例えば路面に描かれた破線の角、支柱の角、路面標識の角などのエッジの交点、すなわちコーナー特徴点である。コーナー特徴点は、たとえば公知の技術であるハリスオペレータを適用することにより抽出できる。特徴点検出部201により抽出された特徴点の情報は特徴点追跡部202に送られるとともに、記憶部210にも格納される。
【0039】
特徴点追跡部202は、時系列的に連続する複数の撮影画像から同一の特徴点を追跡し、特徴点の追跡情報を特徴点系列作成部203に出力する。特徴点の追跡情報とは、異なる撮像画像における同一の特徴点を示す情報、例えば撮影画像毎の特徴点の座標を示す情報である。
【0040】
特徴点の追跡には、特徴点検出部201から入力される最新の撮影画像における特徴点の情報、記憶部210に格納された過去の撮影画像における特徴点の情報、及び、車速センサ105から出力される車両Vの運動情報(速度履歴)が用いられる。
【0041】
特徴点の追跡には、既知の追跡手法であるSAD(Sum of Absolute Difference)やSSD(Sum of SquaredDifference)、LK(Lucas‐Kanade)法などを用いることができる。
【0042】
特徴点検出部201により検出され、特徴点追跡部202により追跡される特徴点の一例を
図6を参照して説明する。特徴点検出部201は、カメラ111〜114から出力される画像情報を、一例としてカメラ111〜114の画像生成間隔である2フレーム(1/30秒毎にフレームが生成されるとすると66ms)間隔で検出する。
図6(a)はNフレーム(Nは自然数)目の撮像画像から特徴点検出部201が検出した特徴点C1、
図6(b)はN+2フレーム目の撮像画像から特徴点検出部201が検出した特徴点C2、
図6(c)はNフレーム目の撮像画像から特徴点検出部201が検出した特徴点C3を示す図である。
【0043】
次いで、特徴点追跡部202は、特徴点検出部201により検出された特徴点のうち、同一の特徴点を追跡し、特徴点の追跡情報を特徴点系列作成部203に出力する。
図6に示す例では、特徴点C1、C2、C3はいずれも同じ路面標識の同じコーナーについて検出された特徴点である。特徴点追跡部202は、これら特徴点C1〜C3を同一の特徴点として追跡し、その追跡情報を特徴点系列作成部203に出力する。
【0044】
特徴点系列作成部203は、特徴点追跡部202による追跡が終了したと判定された特徴点について、追跡された一連の特徴点をひとつの特徴点系列としてまとめ、座標変換部204に出力する。加えて、特徴点系列作成部203は特徴点系列を蓄積し、記憶部210に格納する。
【0045】
ここで、特徴点検出部201による特徴点の検出結果、特徴点追跡部202による特徴点の追跡処理、車速センサ105または舵角センサ106から取得した情報には誤差が発生する可能性が多分にある。そのため、特徴点、走行速度、舵角を示す情報を多量に累積した方が、誤差を軽減するうえで望ましい。
【0046】
例えば、舗装が不十分で車両Vに対して水平ではない道路を車両Vが走行中に、特徴点検出部201による特徴点の検出処理が行われた場合、ピッチ角、ヨー角、ロール角の校正指標としては不十分である。そのため、キャリブレーション演算部205により算出されるカメラパラメータ(ピッチ角、ヨー角、ロール角、カメラ高さ)に多量の誤差が生じてしまう虞がある。仮に、特徴点系列作成部203により、校正指標として不十分な特徴点系列の長さが算出されたとしても、校正指標として正しい特徴点系列が多量に累積されていれば、校正指標として不十分な特徴点系列に起因して、カメラパラメータ(ピッチ角、ヨー角、ロール角、カメラ高さ)に生じる誤差の緩和が可能となる。
【0047】
座標変換部204は、特徴点系列作成部203から出力されたひとつの特徴点系列を構成するそれぞれの特徴点の座標を、撮影画像における二次元座標からカメラ111〜114を基準とした三次元座標、すなわち実空間上の座標に変換する。ただし特徴点はすべて路面上に存在すると仮定し、特徴点の高さはゼロであるとの拘束条件を付して座標変換を行う。この座標変換は回転行列を用いた演算により実現される。
【0048】
回転行列の要素は、カメラ111〜114の内部パラメータ、及び外部パラメータを用いて決定される。内部パラメータ及び外部パラメータはROM103に格納されている値が使用される。座標変換部204により座標変換された、ひとつの特徴点系列を構成するそれぞれの特徴点の座標は、キャリブレーション演算部205に出力される。
【0049】
キャリブレーション演算部205は、座標変換部204により座標変換された特徴点に基づいてカメラパラメータのキャリブレーションを行う。キャリブレーション演算部205によるキャリブレーション演算の詳細については後述する。
【0050】
傾斜推定部206は、前方カメラ111から出力される画像信号に基づくキャリブレーション結果に基づいて、車両Vの走行方向と交差する方向の路面の傾斜を推定する。より詳細には、傾斜推定部206は、前記キャリブレーション演算部が算出した、前記前方撮像装置のカメラパラメータであるピッチ角及び/またはヨー角に基づいて前記路面の傾斜を推定する。
【0051】
特に、傾斜推定部206は、特徴点検出部201により路面の幅方向に検出された2つの特徴点の移動速度における差と、当該特徴点間の路面の幅方向の距離との関係に基づいて、路面の傾斜を推定する。
【0052】
そして、キャリブレーション演算部205は、傾斜推定部206により推定された路面の傾斜にも基づいて、左側方カメラ113、右側方カメラ114のキャリブレーションを行う。特に、キャリブレーション演算部205は、傾斜推定部206が推定した路面の傾斜に基づいて、左側方カメラ113、右側方カメラ114のカメラパラメータであるピッチ角のキャリブレーションを行う。
【0053】
図3に示す、キャリブレーション装置116を構成する各部の具体的動作については後に詳述する。
【0054】
(カメラ座標系)
図5は、カメラ座標系の一例を示す説明図である。以下では、
図5を用いて、カメラ座標系(X,Y,Z)の一例について説明する。このカメラ座標系(X,Y,Z)では、カメラの光軸方向をZ軸方向と定義する。図中に網掛けで示した面ISは、カメラの光軸(Z軸)に対して垂直となる撮像面ISを示す。このカメラ座標系(X,Y,Z)では、その撮像面ISと平行にX軸及びY軸をとるものとする。
【0055】
図中のピッチングとは、X軸回りの回転のことをいい、ヨーイングとは、Y軸回りの回転のことをいい、ローリングとは、Z軸回りの回転のことをいう。X,Y,Z軸の回りの回転角のパラメータを、それぞれ、ピッチ角、ヨー角、ロール角という。
【0056】
前方カメラ111及び後方カメラ112のように、その光軸方向が車両Vの前後方向と一致する場合、その前後方向をZ軸方向と定義し、その前後方向(Z軸方向)と垂直な車両Vの上下方向に延びる軸をY軸と定義する。
【0057】
一方、左側方カメラ113及び右側方カメラ114のように、その光軸方向が車両Vの上下方向と一致する場合、その上下方向をZ軸方向と定義し、その上下方向(Z軸方向)と垂直な車両Vの左右方向に延びる軸をX軸と定義する。
【0058】
(キャリブレーション装置の動作)
次に、本実施の形態であるキャリブレーション装置116の動作の一例を
図4のフローチャート及び
図7〜
図13を参照して説明する。
【0059】
図4はキャリブレーション装置116の動作を説明するためのフローチャートである。
図4のフローチャートに示す動作は、カメラ111〜114の撮像動作中に定期的に起動、開始される。
【0060】
まず、ステップS1では、カメラ111〜114から出力される画像信号をキャリブレーション装置116が取得する。ステップS2では、ステップS1で取得した画像信号に基づいて、特徴点検出部201がカメラ111〜114が撮像した画像中の特徴点を抽出する。ステップS3では、ステップS2において抽出された特徴点の1つを処理対象として、特徴点追跡部202が追跡処理を行う。ステップS4では、特徴点系列作成部203が特徴点系列を累積する。
【0061】
ステップS5では、制御部200が、ステップS4において蓄積された特徴点系列が予め定められた必要本数に到達したか否かの判定が行われる。そして、蓄積された特徴点系列が必要本数に到達したと判定されたときは(ステップS5においてYES)、必要な本数分の特徴点系列の累積が完了したので、ステップS6に進む。一方、特徴点系列の本数が必要本数に未到達と判定されたときは(ステップS5におけるNO)、必要な本数分の特徴点系列の累積が完了していないので、処理はステップS1に戻る。
【0062】
ステップS6では、座標変換部204が、特徴点系列を構成する特徴点の座標を実空間上の座標に変換する。次いで、キャリブレーション演算部205が、座標変換部204により座標変換された特徴点に基づいてカメラパラメータのキャリブレーションを行う。
【0063】
本実施の形態であるキャリブレーション装置116では、キャリブレーション演算部205が、カメラ111〜114の外部パラメータであるピッチ角、ヨー角、ロール角及び高さ校正を行うことで、外部パラメータのキャリブレーション演算を行う。以下、
図7〜
図10を参照して、前方カメラ111を例に取ったピッチ角、ヨー角、ロール角及び高さ校正の概要について説明する。
【0064】
まず、キャリブレーション演算部205は、ROM103に格納されているカメラ取り付け位置・角度の設計値を用いて、ピッチ角(
図5に示すX軸回りの回転角のパラメータ)の校正を行う。ピッチ角の校正方法は種々の方法が紹介されており、そのいずれの方法を用いてもよいが、本実施の形態であるキャリブレーション装置116では、ステップS5で累積した特徴点系列を用いる。
【0065】
特徴点系列を用いたピッチ角の校正方法については、例えば国際公開第2012/139636号等で提案されている等、既に周知である。そのため、詳細な説明は省略するが、本実施の形態であるキャリブレーション演算部205では、座標変換部204により俯瞰変換された2本以上の特徴点系列が平行になるように、ピッチ角の校正が行われる。
【0066】
前方カメラ111のピッチ角がずれている場合、
図7(a)に示すように、俯瞰変換された画像上において、車両Vの進行方向に延在する2本の特徴点系列E
1、E
2が平行に投影されない。つまり、特徴点系列E
1、E
2と車両Vの幅方向に延在する仮想線Lとの為す角度θ
1、θ
2が等しくなくなる(θ
1≠θ
2)。そこで、キャリブレーション演算部205は、特徴点系列E
1、E
2が平行に投影されるようにピッチ角を校正する。つまり、
図7(b)に示すように、角度θ
1、θ
2が等しくなる(θ
1=θ
2)ように、ピッチ角を校正する。
【0067】
次に、キャリブレーション演算部205は、ROM103に格納されているカメラ取り付け位置・角度の設計値を用いて、ヨー角(
図5に示すY軸回りの回転角のパラメータ)の校正を行う。ヨー角の校正方法は種々の方法が紹介されており、そのいずれの方法を用いてもよいが、本実施の形態のキャリブレーション装置116では、国際公開第2012/139636号で提案されている手法でヨー角の校正が行われる。具体的には、ステップS5で累積した特徴点系列の角度が車両Vの進行方向と平行になるときのヨー角が前方カメラ111のヨー角として校正される。
【0068】
前方カメラ111のヨー角がずれている場合、
図8(a)に示すように、俯瞰変換された画像上において、車両Vの進行方向に延在する2本の特徴点系列E
1、E
2が車両Vの進行方向に一致しない。つまり、特徴点系列E
1、E
2と車両Vの幅方向に延在する仮想線Lとが垂直に交わらない(θ
1、θ
2ともに90°ではない)。そこで、キャリブレーション演算部205は、特徴点系列E
1、E
2が車両Vの進行方向に一致するようにピッチ角を校正する。つまり、
図8(b)に示すように、角度θ
1、θ
2がともに90°となるように、ヨー角を校正する。
【0069】
さらに、キャリブレーション演算部205は、ロール角(
図5に示すZ軸回りの回転角のパラメータ)の校正を行う。
【0070】
まず、キャリブレーション演算部205は、第N番目のフレームFNと、第N+2番目のフレームFN+2の同地点を指す特徴点系列を画像座標系から世界座標系に変換する。この変換方法は既に周知である。そのため、詳細な説明は省略するが、本実施形態では、例えば、フレームFNの世界座標における特徴座標を(P
X1、P
Y1)とし、フレームFN+2の世界座標における特徴座標を(P
X2、P
Y2)として、フレームFNとフレームFN+2との間の世界座標系におけるユークリッド距離Dを、特徴点追跡結果の長さ、言い換えれば特徴点系列の長さとして以下の式(1)を用いて算出する。
【数1】
【0071】
次に、キャリブレーション演算部205は、車速センサ105から得られる車両Vの走行速度v
kに基づいて、フレームFNとフレームFN+2との間で車両Vが走行した走行距離d[km]を算出する。フレームFNとフレームFN+2との間の走行距離d[km]は、それぞれのフレーム間の走行速度をv
k[km/h]とし、1秒間のフレーム数をfとすると、以下の式(2)を用いて算出される。
【数2】
【0072】
上記式(2)に示すように、フレームFNからフレームFN+2へ移動する際の車両Vの走行速度は、それぞれのフレームで取得した走行速度の相加平均値が採用される。
【0073】
次に、キャリブレーション演算部205は、以下の式(3)に示すように、ユークリッド距離Dを走行距離dで除算することにより、累積した全ての特徴点系列を正規化した正規化速度nvを算出する。式(3)に示すように、正規化速度nvは、車両Vの走行距離に依存する値となる。
【数3】
【0074】
次に、キャリブレーション演算部205は、正規化速度nvが異なる特徴点系列で一致するように、ロール角の校正を行う。このようなロール角の校正技術については、LM法(Levenberg-Marquardt Method)で提案されている等、既に周知である。そのため、詳細な説明は省略する。
【0075】
前方カメラ111のピッチ角がずれている場合、
図9(a)に示すように、俯瞰変換された画像上において、車両Vの進行方向に延在する2本の特徴点系列E
1、E
2についての正規化速度nv
1、nv
2は一致しない(nv
1≠nv
2)。そこで、キャリブレーション演算部205は、
図9(b)に示すように、特徴点系列E
1、E
2についての正規化速度nv
1、nv
2が一致する(nv
1=nv
2)ようにロール角を校正する。
【0076】
そして、キャリブレーション演算部205は、ROM103に格納されているカメラ取り付け位置・角度の設計値を用いて、前方カメラ111のカメラ高さの校正を行う。カメラ高さの校正方法は種々の方法が紹介されており、そのいずれの方法を用いてもよいが、本実施形態では、国際公開第2012/139636号で提案されている手法でカメラ高さの校正が行われる。具体的には、ロール角校正時に算出した車両Vの走行距離dと同時刻の特徴点の追跡結果の長さLが等しくなるときのカメラ高さを前方カメラ111の高さとして算出する。
【0077】
前方カメラ111の高さがカメラ取り付け位置・角度の設計値からずれている場合、
図10(a)に示すように、俯瞰変換された画像上において、車両Vの走行距離dと特徴点の追跡結果の長さLとの間には誤差Δが生じる(d≠L)。そこで、キャリブレーション演算部205は、
図10(b)に示すように、車両Vの走行距離dと特徴点の追跡結果の長さLとが一致する(d=L)ように前方カメラ111の高さを校正する。
【0078】
ここで、ステップS6においてキャリブレーション演算部205により行われるキャリブレーション演算は、使用する特徴点が全て同じ高さにあることを前提としている。言い換えれば、使用する特徴点が全て同一平面上にあることを前提としている。
【0079】
しかしながら、実際の路面は同一平面ではない。一例として、
図11に示すように、路面には雨水排水用の勾配が付けられている。
図11は車両Vを後方から見た図であり、車両Vは紙面手前から奥に向かって進行している。路面には、その中央から左右に向かって、つまり車両Vの走行方向と交差する方向に傾斜する雨水排水用の勾配が付けられている。
【0080】
対向車線側の領域(図中にハッチングで示す)に存在する特徴点は、自車線側の領域に存在する特徴点と比較して低い位置に存在する。このため、右側方カメラ114のキャリブレーション演算を、使用する特徴点が全て同一平面上にあることを前提として行うと、ピッチ角校正において対向車線側の特徴点について算出する正規化速度nvが、自車線側の特徴点について算出する正規化速度nvよりも遅くなる。この結果、ピッチ角校正を精度高く行えない可能性がある。
【0081】
一例として、正規化速度nvと右側方カメラ114から特徴点までの路面幅方向の距離との関係を求めた結果を
図13に示す。
図13において、縦軸が正規化速度nv、横軸が特徴点までの距離である。図中、実線Bは点列を一次近似した際の直線である。この実線Bの傾斜が路面勾配による影響であると考えられる。
【0082】
ここで、カメラ111〜114は魚眼カメラのような撮像範囲が広いものを用いている。従って、前方カメラ111及び後方カメラ112が撮像した画像は、自車の走行レーンに加えてその左右のレーンまで含まれている。
【0083】
上述したステップS6におけるキャリブレーション演算のうち、ロール角校正及び高さ校正については、キャリブレーション演算の前提とする特徴点系列が路面上を追跡した特徴点系列であることが好ましい。そこで、前方カメラ111及び後方カメラ112については、レーン認識を行うことで、自車の走行レーン領域に存在する特徴点系列のみを用いてキャリブレーション演算を行っている。
【0084】
一方、このような限定をしていないピッチ角校正及びヨー角校正について、正規化速度nvと前方カメラ111、後方カメラ112から特徴点までの路面幅方向の距離との関係を求めてみると、
図12に示すようになる。
図12においても、縦軸が正規化速度nv、横軸が特徴点までの距離である。図中、実線Bは点列を一次近似した際の直線である。この実線Bの傾斜が路面勾配による影響であると考えられる。
【0085】
そこで、ステップS7において、傾斜推定部206は、前方カメラ111について
図12に示すようなグラフを描画し、さらに、近似直線Bを算出し、近似直線Bのグラフ上での傾斜角度を求める。そして、ステップS8において、キャリブレーション演算部205は、ステップS7で傾斜推定部206が求めた傾斜角度をピッチ角の補正角度として用い、再度ピッチ角校正を行う。
【0086】
なお、ステップS7において後方カメラ112について
図12に示すようなグラフを描画してもよいが、後方カメラ112により撮像された画像から抽出できる特徴点は車両Vから遠ざかる方向に進むので、正規化速度nvの算出にブレが生じやすい。このため、前方カメラ111について演算を行うことが好ましい。
【0087】
(キャリブレーション装置の効果)
以上のように構成された本実施の形態であるキャリブレーション装置116では、傾斜推定部206が、前方カメラ111から出力される画像信号に基づくキャリブレーション結果に基づいて、車両Vの走行方向と交差する方向の路面の傾斜を推定し、キャリブレーション演算部205が、傾斜推定部206により推定された路面の傾斜にも基づいてキャリブレーションを行っている。
【0088】
従って、キャリブレーション演算部205が路面の特徴点に基づいてカメラパラメータのキャリブレーションを行う際に、路面の傾斜を考慮したキャリブレーションを行うことが可能となる。この結果、キャリブレーション演算部205によるキャリブレーション演算の精度をより向上させることができる。
【0089】
以上、図面を参照して、本発明の実施の形態を詳述してきたが、具体的な構成は、この実施の形態及び実施例に限らず、本発明の要旨を逸脱しない程度の設計的変更は、本発明に含まれる。