(57)【要約】【課題】直線状特徴部が存在しない環境下でもカメラパラメータを校正することができるキャリブレーション装置を提供する。【解決手段】キャリブレーション装置１１６は、路面上を走行する車両に取り付けられて車両の周辺を撮像する複数のカメラにより周辺が撮像されることで得られた複数のフレームを俯瞰画像に変換し、これら複数の俯瞰画像を合成して一つの合成画像を生成する画像生成部１１８と、画像生成部１１８で異なる時刻に生成された個々の合成画像を重畳した一枚の重畳合成画像の中に映り込んでいる特定の特徴物の位置に対応した座標点同士を個々の合成画像の間において直線で結ぶことにより得られる軌跡線を取得する軌跡線取得部１１９と、軌跡線取得部１１９で取得された軌跡線が車両の走行方向に沿って延びるように、複数のカメラの取り付け状態に関するカメラパラメータを校正するパラメータ校正部１２１と、を有する。【選択図】図７
2018157496.tif 000002
【特許請求の範囲】
【請求項１】
路面上を走行する車両に取り付けられて前記車両の周辺を撮像する複数のカメラにより前記周辺が撮像されることで得られた複数の画像を俯瞰画像に視点変換し、これら複数の俯瞰画像を合成して一つの合成画像を生成する画像生成部と、
前記画像生成部で異なる時刻に生成された個々の合成画像を重畳した一枚の重畳合成画像の中に映り込んでいる特定の特徴物の位置に対応した座標点同士を直線で結ぶことにより得られる軌跡線を取得する軌跡線取得部と、
前記軌跡線取得部で取得された前記軌跡線が前記重畳合成画像上で前記車両の走行方向に沿って延びるとともに、前記重畳合成画像の中の各俯瞰画像同士の境界にズレが発生しないように前記複数のカメラの取り付け状態に関するカメラパラメータを校正するパラメータ校正部と、
を有することを特徴とするキャリブレーション装置。
【請求項２】
請求項１に記載のキャリブレーション装置において、
前記車両の舵角を取得する舵角取得部を有し、
前記パラメータ校正部は、
前記舵角取得部で取得された舵角に基づき、前記車両が直進走行しているときに得られた前記重畳合成画像に基づいて前記カメラパラメータを校正することを特徴とするキャリブレーション装置。
【請求項３】
請求項１又は請求項２に記載のキャリブレーション装置において、
前記重畳合成画像は、
当該重畳合成画像の中の各俯瞰画像に対応する領域に、前記特定の特徴物の位置に対応した座標点が前記軌跡線を引けるように少なくとも２つ含まれるような周期で前記周辺が撮像されることで得られることを特徴とするキャリブレーション装置。
【請求項４】
請求項１乃至請求項３の何れか一項に記載のキャリブレーション装置において、
前記特定の特徴物の位置に対応した座標点は、前記路面上に描かれた標識のコーナー部分であることを特徴とするキャリブレーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、キャリブレーション装置に関する。
【背景技術】
【０００２】
従来、車両周囲に取り付けられた複数のカメラで撮像された各画像を俯瞰画像に視点変換し、各俯瞰画像を合成して、一つの合成画像を生成することが行われている。各俯瞰画像から合成画像を生成するには、各カメラの取り付け位置や角度に関するカメラパラメータが必要になる。
【０００３】
ところで、各カメラは設計値に準じた位置や角度で車両に取り付けられるが、その際、誤差が生じる場合がある。このような誤差があるにも関わらず設定値に対応したカメラパラメータで俯瞰画像が生成された場合、誤差の分だけズレのある合成画像が生成される。このような問題を解決するため、キャリブレーションあるいは校正と呼ばれる、カメラパラメータの補正が行われる。
【０００４】
このキャリブレーションは、例えば、車両の出荷時に工場の生産ライン等で、人が誰も乗っていない空車状態、あるいは、運転席にユーザーが乗っている場合等の特定の乗車状態を再現した条件下で行われる。
【０００５】
しかし、実際にユーザーが車両を使用する際には、乗車人数やユーザーが座る場所、荷物の積載位置等によって、乗車状態は変化する。乗車状態が変化すると車両の姿勢も変化し、それに伴って、地面に対するカメラの取り付け状態も変化する。すなわち、カメラパラメータは変化しないが、車両の姿勢が、キャリブレーションを行ったときの車両の姿勢ではないことで、合成画像にズレが生じるといった問題があった。
【０００６】
このような問題に対し、特許文献１には、車両の走行中にカメラパラメータを補正する技術が開示されている。
【０００７】
特許文献１に開示されている技術は、道路の白線等の長手方向の直線的特徴量（直線状を有する特徴量）をカメラで撮像した画像を用いたキャリブレーション方法である。このキャリブレーション方法では、撮像した画像に基づいて、車両の姿勢を表すパラメータを推定することで、カメラパラメータの校正が実施される。その車両の姿勢を表すパラメータを推定するステップには、車両のピッチ角を推定するステップと、車両のロール角・高さを同時に推定するステップとが含まれる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開2016-70814号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献１に開示されているキャリブレーション方法は、道路の白線等の直線状特徴部をカメラで撮像することが前提になる。このため、直線状特徴部が存在しない環境下では、車両の姿勢を表すパラメータを推定できず、カメラパラメータを校正することができない。
【００１０】
本発明は、上記課題に鑑みてなされたもので、直線状特徴部が存在しない環境下でもカメラパラメータを校正することができるキャリブレーション装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明に係るキャリブレーション装置は、路面上を走行する車両に取り付けられて前記車両の周辺を撮像する複数のカメラにより前記周辺が撮像されることで得られた複数のフレームを俯瞰画像に変換し、これら複数の俯瞰画像を合成して一つの合成画像を生成する画像生成部と、前記画像生成部で異なる時刻に生成された個々の合成画像の中に映り込んでいる特定の特徴物の位置に対応した座標点同士を前記個々の合成画像の間において直線で結ぶことにより得られる軌跡線を取得する軌跡線取得部と、前記軌跡線取得部で取得された前記軌跡線が前記車両の走行方向に沿って延びるように、前記複数のカメラの取り付け状態に関するカメラパラメータを校正するパラメータ校正部と、を有することを特徴とする。
【発明の効果】
【００１２】
このように構成された本発明に係るキャリブレーション装置によれば、直線状特徴部が存在しない環境下でもカメラパラメータを校正することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施形態に係るキャリブレーション装置を搭載したキャリブレーションシステムの概略構成を示すブロック図である。
【図２】車両の座標軸と各軸回りの回転角の一例を示す説明図である。
【図３】製品出荷時及び使用時のキャリブレーションを実施するまでの手順を説明したフロー図である。
【図４】使用時キャリブレーションの実施前の重畳合成画像の一例を示す図である。
【図５】使用時キャリブレーションの実施過程における重畳合成画像の一例を示す図である。
【図６】使用時キャリブレーションの実施後の重畳合成画像の一例を示す図である。
【図７】本発明の一実施形態に係るキャリブレーション装置の概略構成を示すブロック図である。
【図８】図７に示すキャリブレーション装置によるキャリブレーション処理を説明したフロー図である。
【発明を実施するための形態】
【００１４】
以下、本発明に係るキャリブレーション装置の実施形態を図面を参照して説明する。
【００１５】
＜キャリブレーションシステムの概略構成＞
図１は、本発明に係るキャリブレーション装置を搭載したキャリブレーションシステムの概略構成を示すブロック図である。カメラキャリブレーションシステム１００は、主に、４台のカメラ１１１、１１２，１１３、１１４と、演算装置１０１と、ＲＡＭ（Random Access Memory）１０２と、ＲＯＭ（Read Only Memory）１０３と、表示装置１０４と、車速センサ１０５と、舵角センサ１０６と、ヨーレートセンサ１０７と、入力装置１０８と、通信装置１０９とを備えている。
【００１６】
各カメラ１１１〜１１４は、路面上を走行する車両１に取り付けられて車両１の周辺を撮像する。各カメラ１１１〜１１４は、当該車両１の前後左右に設置される。例えば、前後に設置されるカメラは、ナンバープレート付近の車体に取り付けられ、左右に設置されるカメラは、サイドミラーの下部等に取り付けられる。ここでは、カメラ１１１を車両１の前方、カメラ１１２を車両１の後方、カメラ１１３を車両１の左方、カメラ１１４を車両１の右方に取り付けたものとする（図４〜図６参照）。各カメラ１１１〜１１４は、水平方向から斜め下方に光軸が向くように取り付けられる。
【００１７】
各カメラ１１１〜１１４は、既知の設計情報に従って取り付けられるが、実際には取り付け誤差が発生しており、この誤差は未知である。また、各カメラ１１１〜１１４には、車両１の全周囲の画像を取得できるように、広角の魚眼カメラが採用される。各カメラ１１１〜１１４で撮像された４つの画像は、演算装置１０１に出力される。
【００１８】
車速センサ１０５は、車速を検出するセンサである。舵角センサ１０６は、舵角を検出するセンサである。ヨーレートセンサ１０７は、ヨーレートを検出するセンサである。各センサで検出された情報は、演算装置１０１に出力され、演算装置１０１における演算処理で利用される。
【００１９】
入力装置１０８は、例えばスイッチやボタン等といった、ユーザーの操作を受け付ける装置であり、キャリブレーション機能のオン／オフ、キャリブレーション結果の初期化、キャリブレーション方法の変更等に利用される。ユーザーの操作を介して当該入力装置１０８に入力された各種情報は、演算装置１０１に出力される。
【００２０】
通信装置１０９は、不図示の外部機器との通信に使用される装置である。通信装置１０９は、外部機器から各種情報を受信し、受信した各種情報を演算装置１０１に出力したり、演算装置１０１で演算された各種情報を外部機器へ出力したりする。
【００２１】
ＲＡＭ１０２には、演算装置１０１における演算処理過程で必要となる数値データ、演算処理途中の処理結果に対するプログラムの変数等が書き込まれる。また、書き込まれたデータは、演算装置１０１の演算処理過程で適宜必要に応じて読み出されて演算処理に使用される。また、ＲＡＭ１０２には、各カメラ１１１〜１１４によって撮像された画像データ等も格納される。
【００２２】
ＲＯＭ１０３には、例えば、キャリブレーションを実行するプログラムや、プログラムで必要となる情報のうちで書き換えをせずに利用される情報が事前に格納される。ＲＯＭ１０３には、例えば、各カメラの設置位置や角度の設計値等、各カメラ１１１〜１１４の取り付け状態に関するカメラパラメータとなる外部パラメータと、各カメラの焦点距離、画素サイズ、光軸中心、歪み関数等のカメラパラメータとなる内部パラメータとが格納される。
【００２３】
演算装置１０１は、各カメラ１１１〜１１４、車速センサ１０５、舵角センサ１０６、ヨーレートセンサ１０７、入力装置１０８及び通信装置１０９等から送信される種々の情報を受け取って、プログラム等に基づき計算処理を実施する装置である。演算装置１０１には、キャリブレーション装置１１６が内蔵されている。キャリブレーション装置１１６の構成については後述する。
【００２４】
表示装置１０４は、演算装置１０１の処理結果を受け取り、ディスプレイ等を用いてその処理結果をユーザーに提示する。例えば、各カメラ１１１〜１１４の４つの画像を視点変換・合成して生成された合成画像をユーザーに対して表示する。また、表示装置１０４は、例えば後方カメラ１１２の画像だけを表示する等、演算装置１０１の出力に従って表示内容を切り替えることもできる。
【００２５】
＜車両の座標軸と各軸回りの回転角＞
図２は、車両の座標軸と各軸回りの回転角の一例を示す説明図である。なお、説明の便宜上、図２では、ＸＹＺ三次元座標系を定義し、車両１の重心Ｇを原点Ｏとして定義する。
【００２６】
この例では、原点Ｏを含む、地面ＥＧと平行な水平面をＸＹ平面と定義し、車両１の進行方向をＸ軸方向と定義し、原点Ｏを通過し且つＸ軸に鉛直な直線をＹ軸と定義する。また、原点Ｏを含む、地面ＥＧに対して鉛直な面をＸＺ平面と定義し、原点Ｏを通過し且つＸ軸に鉛直な直線をＺ軸と定義する。
【００２７】
図中のローリングとは、Ｘ軸回りの回転のことをいい、ピッチングとは、Ｙ軸回りの回転のことをいい、ヨーイングとは、Ｚ軸回りの回転のことをいう。Ｘ，Ｙ，Ｚ軸の回りの回転角のパラメータを、それぞれ、車両１のロール角、車両１のピッチ角、車両１のヨー角という。また、図中の高さＨは、地面ＥＧから車両１の重心Ｇ（原点Ｏ）までの高さであって、車両１の高さを示す。
【００２８】
＜製品出荷時及び使用時のキャリブレーションを実施するまでの手順＞
図３は、製品出荷時及び使用時のキャリブレーションを実施するまでの手順を説明したフロー図である。図示するように、製品出荷時のキャリブレーションＳ２０５は、例えば、カメラ取り付けＳ２０１、乗車状態再現Ｓ２０２、位置調整Ｓ２０３、キャリブレーションチャート撮像Ｓ２０４の後に実施される。
【００２９】
カメラ取り付けＳ２０１では、各カメラ１１１〜１１４を車体へ取り付け、乗車状態再現Ｓ２０２では、車両１に搭乗者が乗っている状態が再現される。例えば、運転席に体重６０キロの検査員が実際に乗ったり、それに相当する荷物を搭載したりする等して、実際に発生すると想定される乗車状態が再現される。この乗車状態再現Ｓ２０２を実施する理由は、乗車状態によって車両１の姿勢が変化し、それに伴って地面に対する各カメラ１１１〜１１４の角度等が変動するからである。
【００３０】
各カメラ１１１〜１１４の角度や位置が、設計した取り付け状態と異なる場合、重畳合成画像（図４〜図６参照）における各カメラ１１１〜１１４で撮像されて視点変換された俯瞰画像同士の境界（以下、画像境界という）にズレが発生する。そのため、この変動した角度等を考慮したうえでキャリブレーションを実施する必要がある。この乗車状態再現Ｓ２０２によって、それに対応した車両姿勢によるカメラ取り付け状態を再現する。
【００３１】
位置調整Ｓ２０３では、車両１とキャリブレーションチャートが予め定められた位置関係になるように調整する。ここでは、キャリブレーションチャート（例えば紙や板等に印字されたパターン）とカメラの位置関係を規定の位置関係に定めたうえでキャリブレーションが実施される。
【００３２】
キャリブレーションチャート撮像Ｓ２０４では、車両１に取り付けられた各カメラ１１１〜１１４で、キャリブレーションチャートを撮像する。
【００３３】
製品出荷時のキャリブレーションＳ２０５では、各カメラ１１１〜１１４で撮像された画像を使ってキャリブレーションを実施する。その際、例えば、設計通りに各カメラ１１１〜１１４が取り付けられており、かつ規定の位置にキャリブレーションチャートが設置されている場合に、キャリブレーションチャートが映るべき位置を計算し、実際に撮像した画像中のキャリブレーションチャートがその映るべき位置に映るように、プログラム中の画像変換に使用しているカメラパラメータを調整する。
【００３４】
このキャリブレーションＳ２０５に関しては、例えば、キャリブレーションチャートと車両１の位置関係が不定でもキャリブレーションを実施できる技術を利用してもよく、この場合には、位置調整Ｓ２０３の手順が不要になる。
【００３５】
ところで、このような手順でキャリブレーションを実施する場合、乗車状態再現Ｓ２０２で実施しているように、特定の乗車状態を想定した上でキャリブレーションを実施していることになる。そのため、実際の乗車状態が製品出荷時のキャリブレーション時の乗車状態と異なれば、重畳合成画像（図４〜図６参照）における画像境界にズレが生じるという問題がある。従って、特定の乗車状態でキャリブレーションを実施するだけでは不十分であり、例えば乗車状態に応じて、その都度キャリブレーションを実施する必要がある。
【００３６】
そこで、製品出荷された後における走行中や駐停車中等を含む使用時にも、その際の乗車状態に応じたキャリブレーションを実施する。すなわち、図３に示すように、製品出荷時のキャリブレーションＳ２０５を実施した後、使用時のキャリブレーションＳ２０６を実施する。
【００３７】
使用時のキャリブレーションＳ２０６では、上記した問題に対応するために、キャリブレーション装置１１６（図１）により、走行中や駐停車中等の車両１の使用時に各カメラ１１１〜１１４で撮像できる周囲環境の情報を用いて、乗車状態に応じたその都度のキャリブレーションが実施される。
【００３８】
＜使用時のキャリブレーションＳ２０６の概説＞
図４〜図６を参照して、キャリブレーション装置１１６（図１）による使用時のキャリブレーションＳ２０６を概説する。なお、図４〜図６では、説明の便宜上、異なる時刻ｔ１、ｔ２、・・・、ｔ７に対応して生成された個々の合成画像を重畳した一枚の重畳合成画像を用いたキャリブレーション処理を説明する。
【００３９】
しかし、実際のキャリブレーション処理は、特定の特徴物の位置に対応した座標点（以下では、適宜、特徴点という）を個々の合成画像に渡って追跡した結果として得られる軌跡線を用いて行えば良い。特定の特徴物としては、例えば、道路に描かれた速度制限標識や、道路に描かれた交通案内標識等の道路標識のコーナー部分（点）が使用される。
【００４０】
図４は、使用時キャリブレーションの実施前の重畳合成画像の一例を示したものであり、図３のＳ２０１〜Ｓ２０５の処理等による工場での製品出荷時のキャリブレーションを実施した後、使用時の車両の乗車状態が、製品出荷時のキャリブレーションにおいて想定した乗車状態から変化したときの重畳合成画像の一例を示したものである。
【００４１】
図４に示すように、重畳合成画像には、車両１の両側に軌跡線Ｆｒ１、Ｆｒ２、Ｌｔ１、Ｒｔ２、Ｒｒ１、Ｒｒ２（図示例では特徴点の軌跡）が映り込んでいる。
【００４２】
２本の軌跡線Ｆｒ１、Ｆｒ２は、重畳合成画像上に並んだ異なる時刻ｔ１、ｔ２における特徴点同士を直線で結ぶことにより得られる。すなわち、軌跡線Ｆｒ１は、重畳合成画像上に並んだ、時刻ｔ１における特徴点Ｆｒ１_ｔ１と、時刻ｔ２におけるＦｒ１_ｔ２とを近似直線で結ぶことにより得られる。軌跡線Ｆｒ２は、重畳合成画像上に並んだ、時刻ｔ１における特徴点Ｆｒ２_ｔ１と、時刻ｔ２における特徴点Ｆｒ２_ｔ２とを近似直線で結ぶことにより得られる。
【００４３】
従って、重畳合成画像上で２本の軌跡線Ｆｒ１、Ｆｒ２を引くには、時刻ｔ１において前方カメラ１１１で撮像されて視点変換された俯瞰画像の中に特徴点Ｆｒ１_ｔ１と特徴点Ｆｒ２_ｔ１が含まれているだけでは足りず、時刻ｔ２において前方カメラ１１１で撮像されて視点変換された俯瞰画像の中に特徴点Ｆｒ１_ｔ２と特徴点Ｆｒ２_ｔ２が含まれている必要がある。
【００４４】
例えば、車両１が時速１００ｋｍで走行中であれば、車両の全長が４．５ｍ〜５ｍ程度とすると、時刻ｔ１〜時刻ｔ２の間において特徴点が移動する距離を１．３５ｍ程度、つまり、前方カメラ１１１の撮像周期を０．０５秒程度に設定しておけば、時刻ｔ１における特徴点Ｆｒ２_ｔ１、Ｆｒ２_ｔ１と、時刻ｔ２における特徴点Ｆｒ２_ｔ２、Ｆｒ２_ｔ２の双方を同じ俯瞰画像の範囲内に所在させることができると考えられる。これにより、重畳合成画像上で２本の軌跡線Ｆｒ１、Ｆｒ２を引くことができると考えられる。２本の軌跡線Ｆｒ１、Ｆｒ２はそれぞれ互いに平行である必要があるが、車両１と軌跡線の相対的な角度や軌跡線までの距離等といった、車両１と軌跡線の相対的な関係は不要である。
【００４５】
２本の軌跡線Ｒｒ１、Ｒｒ２は、重畳合成画像上に並んだ異なる時刻ｔ６、ｔ７における特徴点同士を直線で結ぶことにより得られる。すなわち、軌跡線Ｒｒ１は、重畳合成画像上に並んだ、時刻ｔ６における特徴点Ｒｒ１_ｔ６と、時刻ｔ７におけるＲｒ１_ｔ７とを近似直線で結ぶことにより得られる。軌跡線Ｒｒ２は、重畳合成画像上に並んだ、時刻ｔ６における特徴点Ｒｒ２_ｔ６と、時刻ｔ７における特徴点Ｒｒ２_ｔ７とを近似直線で結ぶことにより得られる。
【００４６】
従って、重畳合成画像上で２本の軌跡線Ｒｒ１、Ｒｒ２を引くには、時刻ｔ６において後方カメラ１１２で撮像されて視点変換された俯瞰画像の中に特徴点Ｒｒ１_ｔ６と特徴点Ｒｒ２_ｔ６が含まれているだけでは足りず、時刻ｔ７において後方カメラ１１２で撮像されて視点変換された俯瞰画像の中に特徴点Ｒｒ２_ｔ６と特徴点Ｒｒ２_ｔ７が含まれている必要がある。
【００４７】
例えば、車両１が時速１００ｋｍで走行中であれば、車両の全長が４．５ｍ〜５ｍ程度とすると、時刻ｔ６〜時刻ｔ７の間において特徴点が移動する距離を１．３５ｍ程度、つまり、後方カメラ１１２の撮像周期を０．０５秒程度に設定しておけば、時刻ｔ６における特徴点Ｒｒ１_ｔ６、Ｒｒ２_ｔ６と、時刻ｔ７における特徴点Ｒｒ１_ｔ７、Ｒｒ２_ｔ７の双方を同じ俯瞰画像の範囲内に所在させることができると考えられる。これにより、重畳合成画像上で２本の軌跡線Ｒｒ１、Ｒｒ２を引くことができると考えられる。２本の軌跡線Ｒｒ１、Ｒｒ２はそれぞれ互いに平行である必要があるが、車両１と軌跡線の相対的な角度や軌跡線までの距離等といった、車両１と軌跡線の相対的な関係は不要である。
【００４８】
１本の軌跡線Ｌｔ１は、重畳合成画像上に並んだ異なる時刻ｔ３〜ｔ５における特徴点同士を直線で結ぶことにより得られる。すなわち、軌跡線Ｌｔ１は、重畳合成画像上に並んだ、時刻ｔ３における特徴点Ｌｔ_ｔ３と、時刻ｔ４における特徴点Ｌｔ_ｔ４と、時刻ｔ５における特徴点Ｌｔ_ｔ５を近似直線で結ぶことにより得られる。
【００４９】
従って、重畳合成画像上で１本の軌跡線Ｌｔ１を引くには、時刻ｔ３において左方カメラ１１３で撮像されて視点変換された俯瞰画像の中に特徴点Ｌｔ_ｔ３が含まれているだけでは足りず、時刻ｔ４において左方カメラ１１３で撮像されて視点変換された俯瞰画像の中に特徴点Ｌｔ_ｔ４が含まれるか、時刻ｔ５において左方カメラ１１３で撮像されて視点変換された俯瞰画像の中に特徴点Ｌｔ_ｔ５が含まれている必要がある。
【００５０】
例えば、車両１が時速１００ｋｍで走行中であれば、車両の全長が４．５ｍ〜５ｍ程度とすると、時刻ｔ３〜時刻ｔ５の間において特徴点が移動する距離を１．３５ｍ程度、つまり、左方カメラ１１３の撮像周期を０．０５秒程度に設定しておけば、時刻ｔ３における特徴点Ｌｔ_ｔ３と、時刻ｔ４における特徴点Ｌｔ_ｔ４と、時刻ｔ５における特徴点Ｌｔ_ｔ５の全てを同じ俯瞰画像の範囲内に所在させることができると考えられる。
【００５１】
また、時刻ｔ３〜時刻ｔ５の間において特徴点が移動する距離を２．７ｍ程度、つまり、左方カメラ１１３の撮像周期を０．１秒程度に設定しておけば、時刻ｔ３における特徴点Ｌｔ_ｔ３と、時刻ｔ５における特徴点Ｌｔ_ｔ５の双方を同じ俯瞰画像の範囲内に所在させることができると考えられる。これにより、重畳合成画像上で１本の軌跡線Ｌｔ１を引くことができると考えられる。
【００５２】
１本の軌跡線Ｒｔ２は、重畳合成画像上に並んだ異なる時刻ｔ３〜ｔ５における特徴点同士を直線で結ぶことにより得られる。すなわち、軌跡線Ｒｔ２は、重畳合成画像上に並んだ、時刻ｔ３における特徴点Ｒｔ_ｔ３と、時刻ｔ４における特徴点Ｒｔ_ｔ４と、時刻ｔ５における特徴点Ｒｔ_ｔ５を近似直線で結ぶことにより得られる。
【００５３】
従って、重畳合成画像上で１本の軌跡線Ｒｔ２を引くには、時刻ｔ３において右方カメラ１１４で撮像されて視点変換された俯瞰画像の中に特徴点Ｒｔ_ｔ３が含まれているだけでは足りず、時刻ｔ４において右方カメラ１１４で撮像されて視点変換された俯瞰画像の中に特徴点Ｒｔ_ｔ４が含まれるか、時刻ｔ５において右方カメラ１１４で撮像されて視点変換された俯瞰画像の中に特徴点Ｒｔ_ｔ５が含まれている必要がある。
【００５４】
例えば、車両１が時速１００ｋｍで走行中であれば、車両の全長が４．５ｍ〜５ｍ程度とすると、時刻ｔ３〜時刻ｔ５の間において特徴点が移動する距離を１．３５ｍ程度、つまり、右方カメラ１１４の撮像周期を０．０５秒程度に設定しておけば、時刻ｔ３における特徴点Ｒｔ_ｔ３と、時刻ｔ４における特徴点Ｒｔ_ｔ４と、時刻ｔ５における特徴点Ｒｔ_ｔ５の全てを同じ俯瞰画像の範囲内に所在させることができると考えられる。
【００５５】
また、時刻ｔ３〜時刻ｔ５の間において特徴点が移動する距離を２．７ｍ程度、つまり、右方カメラ１１４の撮像周期を０．１秒程度に設定しておけば、時刻ｔ３における特徴点Ｒｔ_ｔ３と、時刻ｔ５における特徴点Ｒｔ_ｔ５の双方を同じ俯瞰画像の範囲内に所在させることができると考えられる。これにより、重畳合成画像上で１本の軌跡線Ｒｔ２を引くことができると考えられる。
【００５６】
図４に示す重畳合成画像には、上記の各軌跡線Ｆｒ１、Ｆｒ２、Ｌｔ１、Ｒｔ２、Ｒｒ１、Ｒｒ２が表示されているが、車両１の乗車状態が事前に想定された乗車状態と異なる。そのため、地面に対する各カメラ１１１〜１１４の姿勢（角度や位置）が変化しており、図４に示すように、重畳合成画像における画像境界において、各軌跡線にズレが生じている。
【００５７】
そこで、使用時キャリブレーションでは、このような状況において、重畳合成画像を補正して各軌跡線のズレがなくなるように、キャリブレーションを実施する。本実施形態では、できるだけ多くのシーンでキャリブレーションを実施でき、かつ安定したキャリブレーションを実施するために、上記の各軌跡線Ｆｒ１、Ｆｒ２、Ｌｔ１、Ｒｔ２、Ｒｒ１、Ｒｒ２を用いてキャリブレーションを実施する。
【００５８】
より詳細には、この使用時キャリブレーションでは、各カメラ１１１〜１１４のパラメータを直接推定せず、車両１の姿勢、すなわち車両１の姿勢を表すパラメータを推定し、車両１の姿勢を表すパラメータから各カメラ１１１〜１１４のカメラパラメータを推定して上記キャリブレーションを実施する。
【００５９】
車両１の姿勢を推定するステップは、車両１のピッチ角を推定するステップと、車両１のロール角・高さを同時に推定するステップとに分かれている。車両１のピッチ角を推定するステップでは、車両１の前後に設置された前方カメラ１１１及び後方カメラ１１２で撮像された軌跡線の平行性に基づいて車両１のピッチ角の推定を行う。
【００６０】
車両１のピッチ角を推定してカメラパラメータの補正を実施すると、図５で示すような重畳合成画像が得られる。ここでは、軌跡線Ｆｒ１、Ｆｒ２が重畳合成画像上で平行になるようにカメラパラメータが補正される。同様に、軌跡線Ｒｒ１、Ｒｒ２が重畳合成画像上で平行になるようにカメラパラメータが補正される。
【００６１】
その後、車両１のロール角・高さを同時に推定するステップでは、重畳合成画像の中の各俯瞰画像同士の画像境界における軌跡線のズレがなくなるように、車両１のロール角及び高さを推定する。
【００６２】
このように車両１のロール角及び高さを推定してカメラパラメータの補正を実施し、車両姿勢の変動に伴った各カメラ１１１〜１１４のカメラパラメータを推定してキャリブレーションを実施した結果、図６に示すように、重畳合成画像の中の各俯瞰画像同士の画像境界において軌跡線のズレのない重畳合成画像が得られる。
【００６３】
＜キャリブレーション装置の実施形態＞
図７は、本発明の一実施形態に係るキャリブレーション装置の概略構成を示したものであり、上記した使用時キャリブレーションを具現化し得るキャリブレーション装置の内部構成を示したものである。
【００６４】
また、図８は、図７に示すキャリブレーション装置によるキャリブレーション処理を説明したフロー図である。なお、図７に示すキャリブレーション処理は、ＲＯＭ１０３に予め格納されたプログラムがロードされて実施される。
【００６５】
キャリブレーション装置１１６は、車両１に搭載されて車両の周辺を撮像する各カメラ１１１〜１１４の校正を実施する。キャリブレーション装置１１６は、キャリブレーション実施判定部１１７と、画像生成部１１８と、軌跡線取得部１１９と、舵角取得部１２０と、パラメータ校正部１２１と、を有する。
【００６６】
キャリブレーション実施判定部１１７は、カメラのキャリブレーションの実施が必要であるか否かを判定する（図８のＳ８０１）。例えば、各カメラ１１１〜１１４で撮像された４つの画像の全てに特定の特徴点が映っているシーンに関し、重畳合成画像の中の各俯瞰画像同士の画像境界において軌跡線にズレが発生しているか否かを判定することで、カメラのキャリブレーションの実施が必要か否かを自動的に判定する。ここで、軌跡線にズレが発生しているか否かは、例えば、画像から特徴点の軌跡を公知の技術を用いて認識し、その画像中での位置を算出し、予め指定した画像境界位置における位置のズレ量を測定し、そのズレ量が予め指定した閾値を超えているか否かで判定することができる。
【００６７】
キャリブレーション実施判定部１１７によりカメラのキャリブレーションの実施が必要であると判定された場合（図８のＳ８０１におけるＹＥＳ）、画像生成部１１８は、まず、車両１に取り付けられた４つのカメラ１１１〜１１４で車両１の周辺が撮像されることで得られた複数の画像をＲＡＭ１０２から取得する（図８のＳ８０２）。ＲＡＭ１０２には、過去数フレームの画像が蓄積される。一方、キャリブレーションの実施が必要であると判定された場合（図８のＳ８０１におけるＮＯ）、キャリブレーション装置によるキャリブレーション処理は終了する。
【００６８】
なお、各カメラ１１１〜１１４で撮像された画像に同期ズレがあると、それがキャリブレーションの誤差としてあらわれるため、ＲＡＭ１０２には、各カメラ１１１〜１１４で撮像された画像が完全に同期して保存されるか、あるいは、画像のズレ時間を取得できるかの仕組みがあることが望ましい。
【００６９】
次に、画像生成部１１８は、複数のフレームを俯瞰画像に視点変換し、これら複数の俯瞰画像を合成して一つの合成画像を生成する（図８のＳ８０３）。ＲＡＭ１０２には、画像生成部１１８で異なる時刻に生成された個々の合成画像が蓄積される。
【００７０】
軌跡線取得部１１９は、まず、上記ＲＡＭ１０２から取得した個々の合成画像を重畳した一枚の重畳合成画像の中に映り込んでいる特定の特徴物を抽出する（図８のＳ８０４）。特徴物の抽出手法としては、Harrisコーナー検出等の手法が知られている。次に、軌跡線取得部１１９は、重畳合成画像上において特定の特徴物の位置に対応した座標点同士を直線で結ぶことにより得られる軌跡線を取得する（図８のＳ８０５）。軌跡線取得部１１９は、特定の特徴物の位置に対応した座標点（特徴点）の追跡を行うことにより、特徴点の系列を特定する。特徴点の追跡の手法としては、Lucas-Kanade法等の手法が知られている。軌跡線取得部１１９は、特徴点の系列を直線近似することにより、軌跡線を取得する。
【００７１】
舵角取得部１２０は、舵角センサ１０６で検出された舵角を示す情報を取得する（図８のＳ８０６）。
【００７２】
パラメータ校正部１２１は、舵角取得部１２０で取得された舵角を示す情報に基づき、車両１が直進走行しているか否かを判定する（図８のＳ８０７）。車両１が直進走行していると判定された場合（図８のＳ８０７におけるＹＥＳ）、パラメータ校正部１２１は、軌跡線取得部１１９で取得された軌跡線を利用してカメラのキャリブレーションを実施する。車両１が直進走行していると判定されなかった場合（図８のＳ８０７におけるＮＯ）、Ｓ８０７の処理を繰り返す。
【００７３】
このキャリブレーション処理では、各カメラ１１１〜１１４におけるカメラパラメータを直接推定するのではなく、車両１の姿勢を推定し、その車両１の姿勢を介して全てのカメラパラメータを推定する。各カメラ１１１〜１１４は剛体である車体に取り付けられているため、車体の姿勢変化が発生した場合には、それに連動して各カメラ１１１〜１１４の角度や位置も変動する。
【００７４】
例えば、車両１の前側の座席に乗員が乗り、車両１の前側が沈み込めば、前方カメラ１１１の角度は下向きになり、後方カメラ１１２は同じ量の角度だけ上向きになる。車両１の右側の座席に乗員が乗り、車両１の右側が沈み込めば、右方カメラ１１４の角度は下向きになり、左方カメラ１１３の角度は同じ量だけ上向きになる。また、その際には、前方カメラ１１１と後方カメラ１１２は光軸に対してやや右側に回転する。
【００７５】
このように、各カメラ１１１〜１１４の変動は車体姿勢の変動に連動する。また、車体姿勢の変動に対して、各カメラ１１１〜１１４の変動は一意に決定されることとなる。各カメラ１１１〜１１４の車体への連動性を考慮しつつカメラパラメータを推定するために、パラメータ校正部１２１は、各カメラ１１１〜１１４のカメラパラメータを個別に推定するのではなく、車両１の姿勢の推定を実施し、推定された車両１の姿勢から各カメラパラメータを校正する。
【００７６】
より詳細には、軌跡線のみを用いてキャリブレーションを実施する場合、各カメラ１１１〜１１４個別でカメラパラメータを推定すると、推定不可能なパラメータがある。例えば、仮に車両１と直線の平行性を用いてキャリブレーションを実施する場合、前方カメラ１１１のロール角は、重畳合成画像中の軌跡線が完全に縦向きになるように補正すれば求めることができる。
【００７７】
また、前方カメラ１１１のピッチ角も、軌跡線が複数本撮像されていれば、それらはともに車両１に対して平行であり、且つ軌跡線同士も平行であるため、その軌跡線の平行性を満たすように補正することで推定できる。
【００７８】
しかし、前方カメラ１１１のヨー角については、ヨー角を変動させても軌跡線の平行性や重畳合成画像中の軌跡線の角度が変動しないため、補正するための特徴が不足しており、一意に決定することができない。そのため、カメラパラメータを推定することができず、完全にズレのない合成画像を生成することができない。
【００７９】
それに対し、走行中等の使用中の車両１の姿勢推定を介してキャリブレーションを実施する場合には、軌跡線と車両の相対的な関係がない場合でも、軌跡線のみを用いて全てのカメラパラメータを推定できる。あるカメラパラメータを推定するためには、そのカメラパラメータの変動に対して、何らかの観測可能な変化があらわれなければならないが、車両姿勢のパラメータが変動する場合には、観測可能な軌跡線に変化があらわれる。
【００８０】
具体的には、車両１のピッチ角が変動した場合、重畳合成画像における軌跡線の平行性が変化する。また、車両１のロール角が変動した場合、重畳合成画像の中の各俯瞰画像同士の画像境界に軌跡線のズレが発生する。また、車両１の高さが変動した場合、車両１のロール角が変動する場合とは異なる軌跡線のズレが重畳合成画像の中の各俯瞰画像同士の画像境界にて発生する。従って、重畳合成画像中の軌跡線のみで車両姿勢のパラメータを推定でき、車両姿勢が決まれば、車両１に取り付けられた各カメラ１１１〜１１４の位置や角度を計算できるため、重畳合成画像中の軌跡線のみで全てのカメラパラメータを推定できる。
【００８１】
ただし、このキャリブレーション処理は、工場出荷時等にキャリブレーションが予め実施されている必要がある。工場出荷時にキャリブレーションが完了している場合、そのキャリブレーション時に想定した特定の乗車状態においては重畳合成画像にズレがない状態となっている。
【００８２】
重畳合成画像におけるズレは、車両１の乗車状態の変化に伴う車両姿勢の変動が原因で発生したものであるため、その車両姿勢の変動に伴うカメラ姿勢の変動をキャンセルすれば、元のズレがない重畳合成画像に戻すことができる。
【００８３】
従って、車両姿勢を推定し、その変動に伴うカメラの角度や位置を計算することで、ズレのない重畳合成画像を生成することができる。逆に言えば、キャリブレーションが予め実施されていない場合には、車両姿勢の変動分のカメラ角度や位置の補正を実施しても、初期の未キャリブレーション状態に戻るだけであって、重畳合成画像のズレは残されたままとなるため、ズレのない重畳合成画像を生成することができない。そのため、このキャリブレーション処理では、事前にキャリブレーションが実施されている必要がある。
【００８４】
パラメータ校正部１２１は、軌跡線取得部１１９で取得された軌跡線が、車両１の走行方向に沿って延びるとともに、重畳合成画像の中の各俯瞰画像同士の境界にズレが発生しないように、各カメラ１１１〜１１４の取り付け状態に関する外部パラメータ（カメラパラメータ）を校正する。具体的には、パラメータ校正部１２１は、姿勢推定部３０１と、並進補正部３０４と、カメラパラメータ算出部３０５とを有する。姿勢推定部３０１は、ピッチ角推定部３０２と、ロール角・高さ・回転中心推定部３０３とを有する。
【００８５】
ピッチ角推定部３０２は、２本の軌跡線Ｆｒ１、Ｆｒ２（図４〜図６）と２本の軌跡線Ｒｒ１、Ｒｒ２（図４〜図６）を用いて、車両１のピッチ角推定を実施する（図８のＳ８０８）。車両１が直進走行しているときの２本の軌跡線Ｆｒ１、Ｆｒ２（軌跡線Ｒｒ１、Ｒｒ２）は、理想的な重畳合成画像においては、車両１の走行方向に沿って延びる方向に平行に表示されるはずである。しかし、車両１のピッチ角の変動がある場合、重畳合成画像において２本の軌跡線Ｆｒ１、Ｆｒ２（軌跡線Ｒｒ１、Ｒｒ２）は前方側が広がって後方側が狭くなる形状に表示され、平行ではなくなる。前方カメラ１１１（後方カメラ１１２）で撮像された画像を俯瞰視点に変換した場合に、２本の軌跡線Ｆｒ１,Ｆｒ２（軌跡線Ｒｒ１、Ｒｒ２）が平行になるように、車両１のピッチ角を推定する。
【００８６】
詳細には、ピッチ角推定部３０２は、前方カメラ１１１及び後方カメラ１１２における直線方程式の平行性に基づいて、例えば直線ベクトルの内積を評価関数とし、その内積が前方カメラ１１１及び後方カメラ１１２ともにできるだけ１に近い値になるように、車両１のピッチ角の最適化を実施する。ここで使用される軌跡線Ｆｒ１、Ｆｒ２（軌跡線Ｒｒ１,Ｒｒ２）については、上記した軌跡線取得部１１９で得られている。なお、上記最適化は、最急降下法等の公知の技術を用いれば実現できる。すなわち、例えば、車両１のピッチ角に関する評価関数を求め、評価関数が目的の値に近づくように、車両１のピッチ角を微小変化させる処理を繰り返し実施すればよい。
【００８７】
ロール角・高さ・回転中心推定部３０３は、重畳合成画像の中の各俯瞰画像同士の画像境界にあらわれている軌跡線のズレがなくなるように、車両１のロール角、車両１の高さ、車両１の回転中心を推定する（図８のＳ８０９）。ここで、車両１のピッチ角については、ピッチ角推定部３０２で得られたピッチ角に固定する。
【００８８】
詳細には、ロール角・高さ・回転中心推定部３０３は、重畳合成画像の中の各俯瞰画像同士の画像境界にあらわれている軌跡線のズレを表す評価関数を設計し、その評価関数が最小となるように、車両１のロール角、車両１の高さ、車両１の回転中心に関する各パラメータを最適化する。ここで、評価関数は、例えば、重畳合成画像の中の各俯瞰画像同士の画像境界における軌跡線のズレを、前方カメラ１１１と左方カメラ１１３の画像境界、前方カメラ１１１と右方カメラ１１４の画像境界、後方カメラ１１２と左方カメラ１１３の画像境界、後方カメラ１１２と右方カメラ１１４の画像境界でそれぞれ算出し、それらの総和をとったものとする。ここで使用される各軌跡線Ｆｒ１、Ｆｒ２、Ｌｔ１、Ｒｔ２、Ｒｒ１、Ｒｒ２については、上記した軌跡線取得部１１９で得られている。
【００８９】
なお、上記最適化は、公知の技術を用いて実施されるが、推定するパラメータが複数あるため、最急降下法等のような勾配法に基づくものではなく、大域的最適化法を選択することが望ましい。車両１のロール角、車両１の高さ、車両１の回転中心を微小変化させる処理を、重畳合成画像の中の各俯瞰画像同士の画像境界における軌跡線のズレを表す評価関数が最小化されるように繰り返し実施する。なお、ここでは、車両１の回転中心によって、各カメラパラメータが異なることを考慮し、車両１の回転中心も含めて最適化を実施する。
【００９０】
並進補正部３０４は、過去に実施したキャリブレーションから得られる情報等に基づいて、地面に対する車両１の並進（地面に対して平行な方向への移動）に相当するパラメータ（並進パラメータ）、すなわちカメラの高さを除く並進方向の位置（平面視における位置）を補正する（図８のＳ８１０）。
【００９１】
ここでは、地面とカメラの絶対的な距離を示す情報を測定していないために、地面に対するカメラの位置を推定することはできないが、実際に生じ得る車体姿勢の変動の範囲では、カメラの並進方向のズレは極めて小さいため、例えばＲＯＭ１０３等に保存された製品出荷時のキャリブレーションを実施した際の値を利用する。
【００９２】
カメラ同士の相対的な位置は、ロール角・高さ・回転中心推定部３０３によって得られているため、基準となるカメラ（基準カメラ）を一つ選定し（例えば前方カメラ１１１）、前方カメラ１１１の製品出荷時のキャリブレーションの値と現在の値の並進方向の誤差分をキャンセルするように、各カメラ１１１〜１１４の全ての位置を並進補正する。
【００９３】
カメラパラメータ算出部３０５は、姿勢推定部３０１で得られた車両１の姿勢と並進補正部３０４で得られたパラメータから、その車両１の姿勢に対応した各カメラ１１１〜１１４の姿勢に関するカメラパラメータを算出する（図８のＳ８１１）。なお、座標変換によって、対応する各カメラ１１１〜１１４のカメラパラメータを一意に計算できる。
【００９４】
以上説明したように、このような構成とすることで、本実施形態のキャリブレーション処理は、工場等で一度キャリブレーションが実施された状態を前提とするものの、特開2016-70814号公報で提案されているような白線に対する車両の平行性、すなわち白線と車両の相対的な関係を必要とせずに、軌跡線のみを利用して全てのカメラパラメータを推定できる。
【００９５】
このように、本実施形態によれば、道路の白線等の直線状特徴部が存在しない環境下でもカメラパラメータを校正することができる。このため、キャリブレーション処理が行われる環境の自由度を高めることができる。従って、キャリブレーション装置１１６を適用できる範囲を広げることができる。
【００９６】
なお、上記実施形態では、４台のカメラを使用し、隣接する２台のカメラで撮像した画像の一部が重畳もしくは隣接する例を示した。しかし、これに限られない。例えば、装置全体のカメラの台数や重畳もしくは隣接部分を撮像するカメラの台数は、ユーザー等の要請に応じて適宜変更しても良い。
【００９７】
なお、上記実施形態では、キャリブレーション実施判定部１１７は、重畳合成画像の中の各俯瞰画像同士の画像境界において軌跡線にズレが発生しているか否かを判定することで、カメラのキャリブレーションの実施が必要か否かを判定する例を示した。しかし、これに限られない。例えば、キャリブレーション実施判定部１１７は、ジャイロセンサ等といった車両の姿勢変化を直接推定するセンサを用いて、車両への積載状況が変化したことを検知することで、キャリブレーションの実施が必要か否かを判定しても良い。
【００９８】
また例えば、キャリブレーション実施判定部１１７は、軌跡線取得部１１９により抽出された特定の特徴物（例えば、道路に描かれた速度制限標識や、道路に描かれた交通案内標識等の道路標識のコーナー部分（点））等を利用し、重畳合成画像の中の各俯瞰画像同士の画像境界における直線的特徴量のズレ量と共に、重畳合成画像の中の車両の両側（周囲）にある互いに平行な直線的特徴量の平行性を用いて、カメラのキャリブレーションの実施が必要か否かを判定しても良い。
【００９９】
なお、上記実施形態では、画像生成部１１８は、各カメラ１１１〜１１４で車両１の周辺が撮像されることで得られた複数フレームをＲＡＭ１０２から取得する例を示した。しかし、これに限られない。例えば、画像生成部１１８は、各カメラ１１１〜１１４から直接画像を取得しても良い。
【０１００】
なお、上記実施形態では、パラメータ校正部１２１は、軌跡線Ｆｒ１、Ｆｒ２（軌跡線Ｒｒ１、Ｒｒ２）が重畳合成画像上で平行になるように、車両１のピッチ角を推定してカメラパラメータの補正を実施する例を示した。しかし、これに限られない。例えば、パラメータ校正部１２１は、軌跡線Ｆｒ１、Ｆｒ２（軌跡線Ｒｒ１、Ｒｒ２）の何れか一方が車両１の走行方向に沿って延びるように、車両１のピッチ角を推定してカメラパラメータの補正を実施しても良い。
【０１０１】
以上、本発明の実施形態を図面により詳述したが、実施形態は本発明の例示にしか過ぎないものであるため、本発明は実施形態の構成にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲の設計の変更等があっても、本発明に含まれることは勿論である。
【符号の説明】
【０１０２】
１・・・車両
１１１・・・前方カメラ
１１２・・・後方カメラ
１１３・・・左方カメラ
１１４・・・右方カメラ
１１６・・・キャリブレーション装置
１１８・・・画像生成部
１１９・・・軌跡線取得部
１２０・・・舵角取得部
１２１・・・パラメータ校正部
Ｆｒ１、Ｆｒ２、Ｌｔ１、Ｒｔ２、Ｒｒ１、Ｒｒ２・・・軌跡線
Ｆｒ１_t１、Ｆｒ２_t１、Ｆｒ１_t２、Ｆｒ２_t２、Ｌｔ_t３、Ｒｔ_t３、Ｌｔ_t４、Ｒｔ_t４、Ｌｔ_t５、Ｒｔ_t５、Ｒｒ１_t６、Ｒｒ２_t６、Ｒｒ１_t７、Ｒｒ２_t７・・・特徴点
ｔ１、ｔ２、ｔ３、ｔ４、ｔ５、ｔ６、ｔ７・・・時刻
【図１】
2018157496.tif 000003
【図２】
2018157496.tif 000004
【図３】
2018157496.tif 000005
【図４】
2018157496.tif 000006
【図５】
2018157496.tif 000007
【図６】
2018157496.tif 000008
【図７】
2018157496.tif 000009
【図８】
2018157496.tif 000010