(57)【特許請求の範囲】
【請求項１】
車両に搭載されて前記車両の周囲の環境を撮影する複数のカメラのキャリブレーションを実施するカメラキャリブレーション装置であって、
前記カメラにより撮影した映像を取得する映像取得部と、
前記映像から所定の特徴量を抽出する特徴抽出部と、
前記所定の特徴量に基づいて前記車両の姿勢を推定する姿勢推定部と、
過去に実施したキャリブレーションから得られる情報に基づいてカメラの地面に対する並進方向の位置を補正する並進補正部と、
前記車両の姿勢と前記カメラの地面に対する並進方向の位置とに基づいて、カメラの地面に対する姿勢に関するカメラパラメータを算出するカメラパラメータ算出部と、を備えていることを特徴とするカメラキャリブレーション装置。
【請求項２】
前記並進補正部は、前記複数のカメラから選択される基準カメラの地面に対する並進方向の位置と前記車両の姿勢とに基づいて、各カメラの地面に対する並進方向の位置を補正することを特徴とする、請求項１に記載のカメラキャリブレーション装置。
【請求項３】
前記姿勢推定部は、前記所定の特徴量に基づいて前記車両のピッチ角を推定するピッチ角推定部と、前記所定の特徴量に基づいて前記車両のロール角と高さと回転中心とを推定するロール角・高さ・回転中心推定部と、を有することを特徴とする、請求項１に記載のカメラキャリブレーション装置。
【請求項４】
前記特徴抽出部は、前記映像から直線状を有する直線的特徴量を抽出すると共に、
前記姿勢推定部は、前記映像中の前記車両の周囲にある互いに平行な直線的特徴量の平行性と、前記映像から生成される合成映像における各カメラで撮像された映像の境界でのズレ量と、に基づいて前記車両の姿勢を推定することを特徴とする、請求項１に記載のカメラキャリブレーション装置。
【請求項５】
前記カメラキャリブレーション装置は、キャリブレーションを実施するか否かを判定するキャリブレーション実施判定部を更に備えていることを特徴とする、請求項１に記載のカメラキャリブレーション装置。
【請求項６】
前記特徴抽出部は、前記映像から直線状を有する直線的特徴量を抽出すると共に、
前記キャリブレーション実施判定部は、前記映像中の前記車両の周囲にある互いに平行な直線的特徴量の平行性と、前記映像から生成される合成映像における各カメラで撮像された映像の境界でのズレ量と、に基づいてキャリブレーションを実施するか否かを判定することを特徴とする、請求項５に記載のカメラキャリブレーション装置。
【請求項７】
前記カメラキャリブレーション装置は、前記車両の速度、舵角、及びヨーレートから選択される少なくとも一つに基づいて、前記車両が定常走行状態であるか否かを判定する定常走行状態判定部を更に備えていることを特徴とする、請求項１に記載のカメラキャリブレーション装置。
【請求項８】
前記カメラキャリブレーション装置は、前記映像にキャリブレーションに利用可能な特徴量が映っているか否かを判定するデータ利用可否判定部を更に備えていることを特徴とする、請求項１に記載のカメラキャリブレーション装置。
【請求項９】
前記データ利用可否判定部は、前記特徴抽出部により前記映像から抽出された直線状の直線的特徴量に基づいて、前記映像にキャリブレーションに利用可能な特徴量が映っているか否かを判定することを特徴とする、請求項８に記載のカメラキャリブレーション装置。
【請求項１０】
前記カメラキャリブレーション装置は、前記所定の特徴量を蓄積するデータ蓄積部と、前記データ蓄積部におけるデータ蓄積が完了したか否かを判定するデータ蓄積判定部と、を更に備えていることを特徴とする、請求項１に記載のカメラキャリブレーション装置。
【請求項１１】
前記特徴抽出部は、前記映像から直線状を有する直線的特徴量を抽出すると共に、
前記データ蓄積判定部は、前記映像中で前記直線的特徴量が映っている位置に基づいてデータ蓄積が完了したか否かを判定することを特徴とする、請求項１０に記載のカメラキャリブレーション装置。
【請求項１２】
前記姿勢推定部は、前記データ蓄積部に蓄積された前記所定の特徴量に基づいて前記車両の姿勢を推定することを特徴とする、請求項１０に記載のカメラキャリブレーション装置。
【請求項１３】
請求項１に記載のカメラキャリブレーション装置と、撮像する映像の一部が重畳もしくは隣接するように前記車両に搭載された前記複数のカメラと、前記カメラキャリブレーション装置から得られる各カメラのカメラパラメータを用いて前記複数のカメラで撮像された映像同士を補正して合成映像を生成する合成映像生成装置と、前記合成映像を表示する表示装置と、を備えていることを特徴とするカメラキャリブレーションシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カメラキャリブレーション装置及びカメラキャリブレーションシステムに関する。
【背景技術】
【０００２】
従来、ドライバーによる周囲確認を支援する目的で、車載カメラの普及が進められている。また、近年では、車両周囲に取り付けられた複数のカメラで撮像された各映像を視点変換し、その映像を合成して生成した車両周囲の俯瞰映像（車両を真上から見下ろしたような映像）をドライバーに提示するシステムの実用化が進められている。
【０００３】
上記のように各カメラで撮像した映像を俯瞰視点に変換して合成映像を生成するためには、焦点距離やレンズ歪みなどの光学的特性や撮像素子サイズなどのカメラ固有の情報（内部パラメータ）、及び各カメラの取り付け位置や角度に関する情報（外部パラメータ）が必要になる。このような内部パラメータと外部パラメータを合わせたカメラパラメータを用いて、各カメラで撮像された映像の俯瞰視点変換を行い、その映像から得られた俯瞰映像を合成することで、俯瞰視点から撮影した映像を仮想的に生成することができる。
【０００４】
ところで、各カメラは設計値に準じた位置や角度で車両に取り付けられるが、その際、必然的に誤差が生じる。このような誤差があるにも関わらず、設計値に基づいて俯瞰映像を生成した場合、必ずしも俯瞰視点から撮影した映像にはならず、誤差の分だけズレのある映像が生成される。特に、複数の映像を合成する場合、そのズレの影響が合成画像における各カメラの画像の境界領域に顕著に現れ、単一カメラの場合よりも見た目に与える影響は大きくなる。このような問題を解決するため、キャリブレーションあるいは校正と呼ばれる、カメラパラメータの設計値からの誤差の補正が行われる。
【０００５】
このキャリブレーションは、極めて高精度に前記誤差を補正することが要求されるため、カメラの据え付け状態を機械的に調整する方法ではなく、現在の据え付け状態を撮影した映像から推定する方法が採用される。撮影した映像から据え付け状態を推定する方法としては、一般に、紙や板などに印字されたパターン（キャリブレーションチャート）を予め決められた位置に精密に設置して撮影し、実際に撮影された映像が、設計値どおりに製造・設置されたカメラで撮影した場合の映像と一致するようにカメラパラメータを修正する方法が採用され、その際には、カメラの取り付け状態そのものを調整するのではなく、カメラの取り付け位置や角度に関するプログラム中の数値を画像の変換を介して修正する方法が採用されている。
【０００６】
ところで、車両の出荷時に工場の生産ラインなどでキャリブレーションを行う際には、人が誰も乗っていない空車状態、あるいは、運転席にドライバーが乗っている場合などの特定の積載状態を再現してキャリブレーションが実施される。したがって、空車状態、あるいは、特定の積載状態などといった、実際にキャリブレーションを行った状態と同じ状態では、映像にズレは生じない。
【０００７】
しかしながら、実際にユーザーが車両を使用する際には、乗車する人数や座る場所、荷物の積載状態などが種々に変化する。そして、車両の積載状態が変化すると、車両の姿勢も変化し、それに伴って、地面に対するカメラの据え付け状態も変化する。すなわち、カメラパラメータが変化して誤差が生じることとなり、そのカメラパラメータの誤差によって、映像にズレが生じるといった問題があった。
【０００８】
このような問題に対し、特許文献１、２には、車両の走行中にカメラパラメータを補正する技術が開示されている。
【０００９】
特許文献１に開示されている車両用カメラのオンラインキャリブレーション方法は、少なくとも二つのカメラで路面の隣接部分を撮像し、画像フレーム内で長手方向の道路特徴を特定し、二つの画像フレーム間の単一のラインに一致するように二つのカメラで撮影された少なくとも二つの画像フレーム内で特定された長手方向の道路特徴を選択し、単一のラインの一致度を分析して二つの画像フレーム間のラインのオフセットを決定し、カメラのキャリブレーションのために決定されたラインのオフセットを適用する方法である。
【００１０】
また、特許文献２に開示されている車両用カメラのオンラインキャリブレーション方法は、カメラで路面の一部を撮像し、画像フレーム内で長手方向の道路特徴を特定し、特定された長手方向の道路特徴に沿ってポイントを抽出すると共に、予め知られたカメラパラメータを考慮した透視マッピングによってその抽出ポイントを仮想道路平面に変換し、変換された抽出ポイントを車両に対して分析してそのポイントの車両に平行なラインからの偏差を決定し、カメラのオフセット補正を定義するために測定された偏差を用いる方法である。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】国際公開第２０１２／１４３０３６号
【特許文献２】国際公開第２０１２／１３９６６０号
【発明の概要】
【発明が解決しようとする課題】
【００１２】
しかしながら、特許文献１に開示されている車両用カメラのオンラインキャリブレーション方法においては、長手方向の特徴量のみを使用してキャリブレーションを実現しようとしているため、特定の外部パラメータを正確に推定できないことが本発明者等による解析により確認されている。
【００１３】
また、特許文献２に開示されている車両用カメラのオンラインキャリブレーション方法においては、白線に対する車両の平行性を利用してキャリブレーションを実現しようとしているため、当該車両が白線に対して平行な場合しかキャリブレーションを実施できないといった問題がある。また、白線に対する車両の平行性を担保するために、車両の速度がある速度（50km）以上である場合しかキャリブレーションが実施されないようになっており、例えば街中などの低速で走行する場合には、キャリブレーションを実施できないといった問題もある。
【００１４】
本発明は、前記問題に鑑みてなされたものであって、その目的とするところは、車両の積載状態が変化する状況下でもキャリブレーションを実施できると共に、例えば白線に対する車両の平行性を利用することなく、全てのカメラパラメータを精緻に推定してキャリブレーションを実施することのできるカメラキャリブレーション装置及びカメラキャリブレーションシステムを提供することにある。
【課題を解決するための手段】
【００１５】
上記する課題を解決するために、本発明に係るカメラキャリブレーション装置は、車両に搭載されて前記車両の周囲の環境を撮影する複数のカメラのキャリブレーションを実施するカメラキャリブレーション装置であって、前記カメラにより撮影した映像を取得する映像取得部と、前記映像から所定の特徴量を抽出する特徴抽出部と、前記所定の特徴量に基づいて前記車両の姿勢を推定する姿勢推定部と、過去に実施したキャリブレーションから得られる情報に基づいてカメラの地面に対する並進方向の位置を補正する並進補正部と、前記車両の姿勢と前記カメラの地面に対する並進方向の位置とに基づいて、カメラの地面に対する姿勢に関するカメラパラメータを算出するカメラパラメータ算出部と、を備えていることを特徴とする。
【００１６】
また、本発明に係るカメラキャリブレーションシステムは、前記カメラキャリブレーション装置と、撮像する映像の一部が重畳もしくは隣接するように前記車両に搭載された前記複数のカメラと、前記カメラキャリブレーション装置から得られる各カメラのカメラパラメータを用いて前記複数のカメラで撮像された映像同士を補正して合成映像を生成する合成映像生成装置と、前記合成映像を表示する表示装置と、を備えていることを特徴とする。
【発明の効果】
【００１７】
本発明によれば、車両の積載状態が変化する状況下でもキャリブレーションを実施できると共に、例えば白線に対する車両の平行性を利用することなく、全てのカメラパラメータを精緻に推定してキャリブレーションを実施することができるため、あらゆる状況下で車両の積載状態に応じた高精度の俯瞰映像を生成することができる。
【００１８】
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【００１９】
【図１】本発明に係るカメラキャリブレーションシステムの実施形態の全体構成を示すシステム構成図。
【図２】製品出荷時及び使用時キャリブレーションを実施するまでの手順を説明したフロー図。
【図３】使用時キャリブレーションの実施前の俯瞰映像の一例を示す図。
【図４】使用時キャリブレーションの実施過程における俯瞰映像の一例を示す図。
【図５】使用時キャリブレーションの実施後の俯瞰映像の一例を示す図。
【図６】図１に示すカメラキャリブレーション装置の内部構成の一例を示す構成図。
【図７】図６に示すカメラキャリブレーション装置によるキャリブレーション処理を説明したフロー図。
【図８】図１に示すカメラキャリブレーション装置の内部構成の他例を示す構成図。
【図９】図８に示すカメラキャリブレーション装置によるキャリブレーション処理を説明したフロー図。
【図１０】図１に示すカメラキャリブレーション装置の内部構成の更に他例を示す構成図。
【図１１】図１０に示すカメラキャリブレーション装置によるキャリブレーション処理を説明したフロー図。
【発明を実施するための形態】
【００２０】
以下、本発明に係るカメラキャリブレーション装置及びカメラキャリブレーションシステムの実施形態を図面を参照して説明する。なお、以下では、４台のカメラを使用し、隣接する２台のカメラで撮像した映像の一部が重畳もしくは隣接する場合について説明するが、システム全体のカメラの台数や重畳もしくは隣接部分を撮像するカメラの台数は、使用者等の要請に応じて適宜変更することができる。
【００２１】
＜カメラキャリブレーションシステムの実施形態＞
図１は、本発明に係るカメラキャリブレーションシステムの実施形態を具現化したシステム構成を示したものである。図示するカメラキャリブレーションシステム１００は、主に、４台のカメラ１１１〜１１４と、演算装置１０１と、ＲＡＭ１０２と、ＲＯＭ１０３と、表示装置１０４と、車速センサ１０５と、舵角センサ１０６と、ヨーレートセンサ１０７と、入力装置１０８と、通信装置１０９とを備えている。
【００２２】
各カメラ１１１〜１１４は、車両１に搭載され、例えば当該車両１の前後左右に設置される。例えば、前後に設置されるカメラは、ナンバープレート付近の車体に取り付けられ、左右に設置されるカメラは、サイドミラーの下部などに取り付けられる。ここでは、カメラ１１１を車両１の前側、カメラ１１２を車両１の後ろ側、カメラ１１３を車両１の左側、カメラ１１４を車両１の右側に取り付けたものとする（図３参照）。各カメラ１１１〜１１４は、地面と平行な水平面に対して平行から鉛直下方に向かう方向に光軸が向くように取り付けられる。各カメラ１１１〜１１４は、事前に取り決めた既知の設計情報にしたがって取り付けられるが、実際には取り付け誤差が発生しており、この誤差は未知である。また、各カメラ１１１〜１１４には、車両１の全周囲の映像を取得できるように、広角の魚眼カメラが採用される。魚眼カメラは広角の映像を取得するために、既知の歪み関数に基づいて画像を歪ませている。各カメラ１１１〜１１４で撮影された４つの映像は、演算装置１０１に送信される。
【００２３】
車速センサ１０５と舵角センサ１０６とヨーレートセンサ１０７は、それぞれ車速、舵角、ヨーレートを観測するセンサであり、各センサで観測されたセンサ情報は演算装置１０１に送信され、演算装置１０１における演算処理で利用される。
【００２４】
入力装置１０８は、例えばスイッチやボタンなどといった、ユーザーの操作を受け付ける装置であり、キャリブレーション機能のオン／オフ、キャリブレーション結果の初期化、キャリブレーション方法の変更などに利用される。ユーザーの操作を介して当該入力装置１０８に入力された各種情報は、演算装置１０１に送信される。
【００２５】
通信装置１０９は、不図示の外部機器との通信に使用される装置であり、演算装置１０１は、当該通信装置１０９を介して外部機器から各種情報を受信すると共に、演算装置１０１で演算された各種情報を外部機器へ送信する。
【００２６】
ＲＡＭ１０２には、演算装置１０１における演算処理過程で必要となる数値データ、演算処理途中の処理結果に対するプログラムの変数などが書き込まれる。また、書き込まれたデータは、演算装置１０１の演算処理過程で適宜必要に応じて読み出されて演算処理に使用される。また、ＲＡＭ１０２には、各カメラ１１１〜１１４によって撮影された映像データなども格納される。
【００２７】
ＲＯＭ１０３には、例えば、キャリブレーションを実行するプログラムや、プログラムで必要となる情報のうちで書き換えをせずに利用される情報が事前に格納される。例えば、各カメラの設置位置や角度の設計値（外部パラメータ）、各カメラの焦点距離、画素サイズ、光軸中心、歪み関数など（内部パラメータ）のカメラパラメータが格納される。
【００２８】
演算装置１０１は、各カメラ１１１〜１１４や車速センサ１０５、舵角センサ１０６、ヨーレートセンサ１０７、入力装置１０８、通信装置１０９などから送信される種々の情報を受け取って、プログラムなどに基づき計算処理を実施する装置である。演算装置１０１は、例えば、各カメラ１１１〜１１４から入力された映像を視点変換・合成し、上方から地面を見下ろしたような映像（俯瞰映像）を生成する計算処理を実施する。詳細には、魚眼カメラからなる各カメラ１１１〜１１４で撮影された映像について、ＲＯＭ１０３などに事前に格納された既知の歪み関数を用いて映像の歪みを除去した映像を生成し、歪みを除去した各映像を、ＲＯＭ１０３などに事前に格納された既知のカメラ取り付けに関する設計値などに基づいて、俯瞰視点から見た映像に視点変換・合成する（合成映像生成装置１１５）。このような視点変換・合成処理は、公知のカメラの幾何変換式を使って、俯瞰視点映像の特定の画素とそれに対応する各カメラ１１１〜１１４の特定の画素を計算し、その画素の輝度値を俯瞰視点映像の画素に割り当てることによって実現できる。対応する画素が小数点を含み、該当する画素がない場合は、公知の輝度の補間処理によって周辺画素の中間輝度を割り当てる処理が行われる。また、演算装置１０１は、車速センサ１０５、舵角センサ１０６、ヨーレートセンサ１０７、通信装置１０９の出力結果を用いて演算処理を実行したり、入力装置１０８の入力結果に従って動作プログラムの切り替え処理を実行する。
【００２９】
また、演算装置１０１には、視点変換・合成されて生成された俯瞰映像が車両１を真上から見下ろした映像となるように、カメラのキャリブレーション（校正処理）を実施するカメラキャリブレーション装置１１６が内蔵されている。
【００３０】
表示装置１０４は、演算装置１０１の処理結果を受け取り、ディスプレイなどを用いてその処理結果をユーザーに提示する。例えば、ドライバーに対して各カメラ１１１〜１１４の４つの映像を視点変換・合成して生成した俯瞰映像を表示する。また、表示装置１０４は、車両１の後方を撮影するカメラ１１２の映像だけを表示するなど、演算装置１０１の出力に従って表示内容を切り替えることもできる。
【００３１】
図２は、製品出荷時及び使用時キャリブレーションを実施するまでの手順を説明したフロー図である。図示するように、製品出荷時のキャリブレーションＳ２０５は、例えば、カメラ取り付けＳ２０１、乗車状態再現Ｓ２０２、位置調整Ｓ２０３、キャリブレーションチャート撮影Ｓ２０４の後に実施される。
【００３２】
カメラ取り付けＳ２０１では、各カメラ１１１〜１１４を車体へ取り付け、乗車状態再現Ｓ２０２では、車両１に搭乗者が乗っている状態を再現する。例えば、運転席に体重６０キロのドライバーが実際に乗ったり、それに相当する荷物を搭載するなどして、実際に発生する乗車状態を再現する。この乗車状態再現Ｓ２０２を実施する理由は、乗車状態によって車両１の姿勢が変化し、それに伴って地面に対するカメラ１１１〜１１４の角度などが変動するからである。カメラ１１１〜１１４の角度や位置が、設計した取り付け状態と異なる場合、合成映像における各カメラで撮影された映像同士の境界（以下、画像境界という）にズレが発生するため、この変動した角度等を考慮したうえでキャリブレーションを実施する必要があるので、この乗車状態再現Ｓ２０２によって、それに対応したカメラ取り付け状態を再現する。
【００３３】
位置調整Ｓ２０３では、車両１とキャリブレーションチャートが予め定められた位置関係になるように調整する。一般的なキャリブレーションでは、キャリブレーションチャートとカメラの位置関係を規定の位置関係に定めたうえでキャリブレーションを実施する。
【００３４】
キャリブレーションチャート撮影Ｓ２０４では、車両１に取り付けられたカメラ１１１〜１１４で、キャリブレーションチャートを撮影する。
【００３５】
そして、製品出荷時のキャリブレーションＳ２０５では、各カメラ１１１〜１１４で撮影された映像を使ってキャリブレーションを実施する。その際、例えば、公知の技術によってキャリブレーションを実施する。すなわち、設計通りにカメラ１１１〜１１４が取り付けられており、かつ規定の位置にキャリブレーションチャートが設置されている場合に、キャリブレーションチャートが映るべき位置を計算し、実際に撮影した映像中のキャリブレーションチャートがその映るべき位置に映るように、プログラム中の画像変換に使用しているカメラパラメータを調整する。このキャリブレーションＳ２０５に関しては、例えば、公知の技術である、キャリブレーションチャートと車両１の位置関係が不定でもキャリブレーションを実施できる技術を利用してもよく、この場合には、位置調整Ｓ２０３の手続きが不要になる。
【００３６】
ところで、このような手順でキャリブレーションを実施する場合、乗車状態再現Ｓ２０２で実施しているように、特定の乗車状態を想定した上でキャリブレーションを実施していることになり、乗車状態が製品出荷時に実施するキャリブレーション時と異なれば、俯瞰映像における映像境界にズレが生じる。したがって、特定の乗車状態でキャリブレーションを実施するだけでは不十分であり、例えば乗車状態に応じて、その都度キャリブレーションを実施する必要がある。そこで、製品出荷された後における走行中や駐停車中などを含む使用時にも、その際の乗車状態に応じたキャリブレーションを実施する。すなわち、図２に示すように、製品出荷時のキャリブレーションＳ２０５を実施した後、使用時のキャリブレーションＳ２０６を実施する。
【００３７】
使用時のキャリブレーションＳ２０６では、上記した問題に対応するために、演算装置１０１に内蔵されたカメラキャリブレーション装置１１６により、走行中や駐停車中などの車両１の使用時に各カメラ１１１〜１１４で撮影できる周囲環境の情報を用いて、乗車状態に応じたその都度のキャリブレーションを実施する。本実施形態は、例えば図２に示す手順により、工場などで一度キャリブレーションが実施された状態を前提とするものの、白線に対する車両の平行性、すなわち白線と車両の相対的な関係を必要とせずに、全てのカメラ１１１〜１１４に対するカメラパラメータを推定できる方式を実現するものである。通常、カメラにより撮影される映像の品質確認等を兼ねて、工場出荷時にはキャリブレーションが実施されるため、制約条件として、一度キャリブレーションが実施されたことを前提としても、得られるメリットは大きいと考えられる。
【００３８】
図３〜図５を参照して、上記したカメラキャリブレーション装置１１６による使用時のキャリブレーションＳ２０６を概説する。
【００３９】
図３は、使用時キャリブレーションの実施前の俯瞰映像の一例を示したものであり、図２のＳ２０１〜Ｓ２０５の処理などによる工場での製品出荷時キャリブレーションを実施した後、使用時の車両の積載状態が、製品出荷時キャリブレーションにおいて想定した積載状態から変化したときの俯瞰映像の一例を示したものである。図３に示すように、この俯瞰映像には、道路の白線が表示されているが、車両１の積載状態が事前に想定された積載状態と異なるため、地面に対する各カメラ１１１〜１１４の姿勢（角度や位置）が変化しており、各カメラ１１１〜１１４の映像境界において、白線にズレが生じている。
【００４０】
そこで、使用時キャリブレーションでは、このような状況において、俯瞰映像を補正して白線等のズレがなくなるように、キャリブレーションを実施する。本実施形態では、できるだけ多くのシーンでキャリブレーションを実施でき、かつ安定したキャリブレーションを実施するために、例えば白線などの長手方向の直線的特徴量（直線状を有する特徴量）を撮影した映像を用いてキャリブレーションを実施する。その際、図３に示すように、車両１の両側に直線的構造物（直線的特徴量、図示例では白線）が撮影されており、少なくとも、カメラ１１１に２本、カメラ１１２に２本、カメラ１１３に１本、カメラ１１４に１本の直線的構造物が撮影されている必要があり、また、カメラ１１１およびカメラ１１２に映る２本の直線的構造物はそれぞれ互いに平行である必要があるが、車両１と直線的構造物の相対的な角度や直線的構造物までの距離などといった、車両１と直線的構造物の相対的な関係は不要である。
【００４１】
より詳細には、この使用時キャリブレーションでは、カメラ１１１〜１１４のパラメータを直接推定せず、車両１の姿勢、すなわち車両１の姿勢を表すパラメータを推定し、車両１の姿勢を表すパラメータから各カメラ１１１〜１１４のカメラパラメータを推定して上記キャリブレーションを実施する。車両１の姿勢を推定するステップは、車両１のピッチ角を推定するステップと、車両１のロール角・高さを同時に推定するステップとに分かれている。車両１のピッチ角を推定するステップでは、車両１の前後に設置されたカメラ１１１およびカメラ１１２で撮影された平行な直線の平行性に基づいて車両１のピッチ角の推定を行う。車両１のピッチ角を推定してカメラパラメータの補正を実施すると、図４で示すような俯瞰映像が得られる。ここでは、カメラ１１１およびカメラ１１２に映る平行な直線が俯瞰映像上で平行になるようにカメラパラメータが補正される。その後、車両１のロール角・高さを同時に推定するステップでは、俯瞰映像の映像境界における直線のズレがなくなるように、車両１のロール角および高さを推定する。このように車両１のロール角および高さを推定してカメラパラメータの補正を実施し、車両姿勢の変動に伴った全カメラのカメラパラメータを推定してキャリブレーションを実施した結果、図５に示すように、映像境界においてズレのない俯瞰映像が得られる。
【００４２】
＜カメラキャリブレーション装置の実施形態１＞
図６は、図１に示すカメラキャリブレーション装置の内部構成の一例（実施形態１）を示したものであり、上記した使用時キャリブレーションを具現化し得るカメラキャリブレーション装置の内部構成を示したものである。また、図７は、図６に示すカメラキャリブレーション装置によるキャリブレーション処理を説明したフロー図である。なお、図６に示すカメラキャリブレーション装置によるキャリブレーション処理は、ＲＯＭ１０３に予め格納されたプログラムがロードされて実施される。
【００４３】
図６に示すカメラキャリブレーション装置１１６は、主に、キャリブレーション実施判定部２０１と、映像取得部２０２と、特徴抽出部２０３と、キャリブレーション部２０４と、を備えている。
【００４４】
カメラキャリブレーション装置１１６のキャリブレーション実施判定部２０１は、カメラのキャリブレーションの実施が必要であるか否かを判定する（図７のＳ７０１）。例えば、各カメラ１１１〜１１４で撮影された俯瞰映像を構成する４つの映像の全てに白線が映っているシーンに関し、俯瞰映像の各映像境界において白線にズレが発生しているか否かを判定することで、カメラのキャリブレーションの実施が必要か否かを自動的に判定する。ここで、白線にズレが発生しているか否かは、例えば、映像から白線を公知の技術を用いて認識し、その映像中での位置を算出し、予め指定した映像境界位置における位置のズレ量を測定し、そのズレ量が予め指定した閾値を超えているか否かで判定することができる。また、例えばジャイロセンサなどといった車両の姿勢変化を直接推定するセンサを用いて、車両への積載状況が変化したことを検知することで、キャリブレーションの実施が必要か否かを判定するなどの方法を用いてもよい。また、後述する特徴抽出部２０３により抽出された直線的特徴量（例えばＲＡＭ１０２に一時的に格納された、破線を含む白線、縁石、道路端境界などに関する情報）などを利用し、俯瞰映像の各映像境界における直線的特徴量のズレ量と共に、映像中の車両の両側（周囲）にある互いに平行な直線的特徴量の平行性を用いて、カメラのキャリブレーションの実施が必要か否かを判定するなどの方法を用いてもよい。
【００４５】
キャリブレーション実施判定部２０１によりカメラのキャリブレーションの実施が必要であると判断された場合、映像取得部２０２は、車両１に取り付けられた４つのカメラ１１１〜１１４で撮影された映像をＲＡＭ１０２から取得する（図７のＳ７０２）。なお、各カメラ１１１〜１１４で撮影された映像に同期ズレがあると、それがキャリブレーションの誤差としてあらわれるため、ＲＡＭ１０２には、各カメラ１１１〜１１４で撮影された映像が完全に同期して保存されるか、あるいは、映像のズレ時間を取得できるかの仕組みがあることが望ましい。なお、映像取得部２０２は、各カメラ１１１〜１１４から直接映像を取得してもよい。
【００４６】
特徴抽出部２０３は、映像取得部２０２で取得された各カメラ１１１〜１１４で撮影された映像において、キャリブレーションに用いる所定の特徴量、特に長手方向（すなわち、車両の前後方向）の直線的特徴量（例えば、破線を含む白線、縁石、道路端境界など）を抽出する（図７のＳ７０３）。この直線的特徴量は、例えば、各カメラ１１１〜１１４において、設計された歪み関数を用いて魚眼カメラの歪みを除去した映像を生成し、その映像において公知のエッジ抽出を実施し、エッジ特徴点に関して公知のハフ変換を用いる手法などによって抽出できる。
【００４７】
キャリブレーション部２０４は、特徴抽出部２０３で得られた特徴量などを利用してカメラのキャリブレーションを実施する。このキャリブレーション部２０４でのキャリブレーション処理は、工場などで一度キャリブレーションが実施された状態を前提とするものの、長手方向の特徴量に対する車両の平行性、すなわち長手方向の特徴量と車両の相対的な関係は必要とせず、長手方向の特徴量のみで全てのカメラパラメータを推定できる。このキャリブレーション処理では、各カメラ１１１〜１１４におけるカメラパラメータを直接推定するのではなく、車両１の姿勢を推定し、その車両１の姿勢を介して全てのカメラパラメータを推定する。各カメラは剛体である車体に取り付けられているため、車体の姿勢変化が発生した場合には、それに連動して各カメラの角度や位置も変動する。例えば、車両１の前側の座席に乗員が乗り、車両１の前側が沈み込めば、車両１の前側に取り付けられたカメラ１１１の角度は下向きになり、車両１の後ろ側に取り付けられたカメラ１１２は同じ量の角度だけ上向きになる。車両１の右側の座席に乗員が乗り、車両１の右側が沈み込めば、車両１の右側に取り付けられたカメラ１１４の角度は下向きになり、車両１の左側に取り付けられたカメラ１１３の角度は同じ量だけ上向きになる。また、その際には、車両１の前側に取り付けられたカメラ１１１と車両１の後ろ側に取り付けられたカメラ１１２は光軸に対してやや右側に回転する。このように、各カメラ１１１〜１１４の変動は車体姿勢の変動に連動する。また、車体姿勢の変動に対して、これらのカメラ１１１〜１１４の変動は一意に決定されることとなる。このような各カメラ１１１〜１１４の車体への連動性を考慮しつつカメラパラメータを推定するために、このキャリブレーション部２０４でのキャリブレーション処理では、各カメラ１１１〜１１４のカメラパラメータを個別に推定するのではなく、車両１の姿勢の推定を実施し、推定された車両１の姿勢から各カメラパラメータを計算する。
【００４８】
より詳細には、映像中の長手方向の直線のみを用いてキャリブレーションを実施する場合、各カメラ１１１〜１１４個別でカメラパラメータを推定すると、推定不可能なパラメータがある。例えば、仮に車両１と直線の平行性を用いてキャリブレーションを実施する場合、車両１の前側に取り付けられたカメラ１１１のロール角は、映像中の白線が完全に縦向きになるように補正すれば求めることができる。また、車両１の前側に取り付けられたカメラ１１１のピッチ角も、直線が複数本撮影されていれば、それらはともに車両１に対して平行であり、且つ直線同士も平行であるため、その直線の平行性を満たすように補正することで推定できる。しかしながら、車両１の前側に取り付けられたカメラ１１１のヨー角については、ヨー角を変動させても直線の平行性や映像中の直線の角度が変動しないため、補正するための特徴が不足しており、一意に決定することができない。そのため、カメラパラメータを推定することができず、完全にズレのない俯瞰映像を生成することができない。
【００４９】
それに対し、走行中などの使用中の車両１の姿勢推定を介してキャリブレーションを実施する場合には、長手方向の直線と車両の相対的な関係がない場合でも、長手方向の直線のみを用いて全てのカメラパラメータを推定できる。あるカメラパラメータを推定するためには、そのカメラパラメータの変動に対して、何らかの観測可能な変化があらわれなければならないが、車両姿勢のパラメータが変動する場合には、観測可能な長手方向の直線に変化があらわれる。具体的には、車両１のピッチ角が変動した場合、俯瞰映像における長手方向の直線の平行性が変化する。また、車両１のロール角が変動した場合、俯瞰映像の映像境界に長手方向の直線のズレが発生する。また、車両１の高さが変動した場合、車両１のロール角が変動する場合とは異なる長手方向の直線のズレが俯瞰映像の映像境界にて発生する。したがって、映像中の長手方向の直線のみで車両姿勢のパラメータを推定でき、車両姿勢が決まれば、車両１に取り付けられた各カメラ１１１〜１１４の位置や角度を計算できるため、映像中の長手方向の直線のみで全てのカメラパラメータを推定できる。
【００５０】
ただし、このキャリブレーション処理は、工場出荷時などにキャリブレーションが予め実施されている必要がある。工場出荷時にキャリブレーションが完了している場合、そのキャリブレーション時に想定した積載状態においては俯瞰映像にズレがない状態となっている。俯瞰映像におけるズレは、車両１の積載状態の変化に伴う車両姿勢の変動が原因で発生したものであるため、その車両姿勢の変動に伴うカメラ姿勢の変動をキャンセルすれば、元のズレがない俯瞰映像に戻すことができる。したがって、車両姿勢を推定し、その変動に伴うカメラの角度や位置を計算することで、ズレのない俯瞰映像を生成することができる。逆に言えば、キャリブレーションが予め実施されていない場合には、車両姿勢の変動分のカメラ角度や位置の補正を実施しても、初期の未キャリブレーション状態に戻るだけであって、映像のズレは残されたままとなるため、ズレのない俯瞰映像を生成することができない。そのため、このキャリブレーション処理では、事前にキャリブレーションが実施されている必要がある。
【００５１】
具体的には、キャリブレーション部２０４は、姿勢推定部３０１と並進補正部３０４とカメラパラメータ算出部３０５とを有し、姿勢推定部３０１は、ピッチ角推定３０２とロール角・高さ・回転中心推定部３０３とから構成されている。
【００５２】
姿勢推定部３０１のピッチ角推定３０２は、例えば、車両１の前後に取り付けられたカメラ１１１、１１２で撮影された映像における長手方向の直線（直線的特徴量）の平行性を用いて、車両１のピッチ角推定を実施する（図７のＳ７０４）。道路に描かれている白線、または、白線と道路端境界などといった平行な直線が走行中に撮影された場合、この平行な直線は、理想的な俯瞰視点映像においては、平行に表示されるはずである。しかし、車両１のピッチ角の変動がある場合、俯瞰視点映像においてこの平行な直線は「ハの字」状に表示され、平行ではなくなる。カメラ１１１、１１２を俯瞰視点に変換した場合に、その直線が平行になるように、車両１のピッチ角を推定する。詳細には、カメラ１１１、１１２のそれぞれにおける直線方程式の平行性に基づいて、例えば直線ベクトルの内積を評価関数とし、その内積がカメラ１１１、１１２ともにできるだけ１に近い値になるように、車両１のピッチ角の最適化を実施する。ここで使用される直線（直線的特徴量）については、上記した特徴抽出部２０３で得られている。なお、上記最適化は、最急降下法などの公知の技術を用いれば実現できる。すなわち、例えば、車両１のピッチ角に関する評価関数を求め、評価関数が目的の値に近づくように、車両１のピッチ角を微小変化させる処理を繰り返し実施すればよい。
【００５３】
姿勢推定部３０１のロール角・高さ・回転中心推定部３０３は、俯瞰映像の映像境界にあらわれている長手方向の直線（直線的特徴量）のズレがなくなるように、車両１のロール角、車両１の高さ、車両１の回転中心を推定する（図７のＳ７０５）。ここで、車両１のピッチ角については、ピッチ角推定部３０２で得られたピッチ角に固定する。詳細には、俯瞰映像の映像境界にあらわれている長手方向の直線のズレを表す評価関数を設計し、その評価関数が最小となるように、車両１のロール角、車両１の高さ、車両１の回転中心に関する各パラメータを最適化する。ここで、評価関数は、例えば、俯瞰映像の映像境界における直線のズレを、カメラ１１１とカメラ１１３の映像境界、カメラ１１１とカメラ１１４の映像境界、カメラ１１２とカメラ１１３の映像境界、カメラ１１２とカメラ１１４の映像境界でそれぞれ算出し、それらの総和をとったものとする。ここで使用される直線（直線的特徴量）については、上記した特徴抽出部２０３で得られている。なお、上記最適化は、公知の技術を用いて実施されるが、推定するパラメータが複数あるため、最急降下法などのような勾配法に基づくものではなく、大域的最適化法を選択することが望ましい。車両１のロール角、車両１の高さ、車両１の回転中心を微小変化させる処理を、俯瞰映像の映像境界における直線のズレを表す評価関数が最小化されるように繰り返し実施する。なお、ここでは、車両１の回転中心によって、各カメラパラメータが異なることを考慮し、車両１の回転中心も含めて最適化を実施する。
【００５４】
並進補正部３０４は、過去に実施したキャリブレーションから得られる情報などに基づいて、地面に対する車両１の並進（地面に対して平行な方向への移動）に相当するパラメータ（並進パラメータ）、すなわちカメラの高さを除く並進方向の位置（平面視における位置）を補正する（図７のＳ７０６）。ここでは、地面とカメラの絶対的な距離を示す情報を測定していないために、地面に対するカメラの位置を推定することはできないが、実際に生じ得る車体姿勢の変動の範囲では、カメラの並進方向のズレは極めて小さいため、例えばＲＯＭ１０３等に保存された製品出荷時キャリブレーションを実施した際の値を利用する。カメラ同士の相対的な位置は、ロール角・高さ・回転中心推定部３０３によって得られているため、基準となるカメラ（基準カメラ）を一つ選定し（例えばカメラ１１１）、カメラ１１１の製品出荷時キャリブレーションの値と現在の値の並進方向の誤差分をキャンセルするように、カメラ１１１〜１１４の全ての位置を並進補正する。
【００５５】
カメラパラメータ算出部３０５は、姿勢推定部３０１で得られた車両１の姿勢と並進補正部３０４で得られたパラメータから、その車両１の姿勢に対応した各カメラ１１１〜１１４の姿勢に関するカメラパラメータを算出する（図７のＳ７０７）。なお、座標変換によって、対応する各カメラ１１１〜１１４のカメラパラメータを一意に計算できる。
【００５６】
このような構成とすることで、長手方向の特徴量に対する車両の平行性、すなわち長手方向の特徴量と車両の相対的な関係を必要とせず、長手方向の特徴量のみで、全てのカメラのカメラパラメータを精緻に推定でき、そのカメラパラメータを用いて車両の積載状態に応じた高精度の俯瞰映像を生成することができる。
【００５７】
＜カメラキャリブレーション装置の実施形態２＞
ところで、上記した使用時キャリブレーションを実施する際には、例えば、映像から長手方向の直線的特徴量を確実に抽出するために、当該車両が直線路を走行している状態（定常走行状態）で実施することが好ましい。
【００５８】
図８は、図１に示すカメラキャリブレーション装置の内部構成の他例（実施形態２）を示したものである。また、図９は、図８に示すカメラキャリブレーション装置によるキャリブレーション処理を説明したフロー図である。図８に示す形態のカメラキャリブレーション装置１１６Ａは、図６に示すカメラキャリブレーション装置１１６に対して、主にセンサ情報取得部と定常走行判定部とデータ利用可否判定部を追加した点が相違しており、その他の構成はほぼ同様である。したがって、以下では、図６に示すカメラキャリブレーション装置１１６と異なる構成のみを詳述し、カメラキャリブレーション装置１１６と同様の構成には同様の符号を付してその詳細な説明は省略する。
【００５９】
図８に示すカメラキャリブレーション装置１１６Ａは、主に、キャリブレーション実施判定部２０１Ａと、映像取得部２０２Ａと、特徴抽出部２０３Ａと、キャリブレーション部２０４Ａと、を備えると共に、センサ情報取得部２０５Ａと、定常走行状態判定部２０６Ａと、データ利用可否判定部２０７Ａと、を備えている。
【００６０】
キャリブレーション実施判定部２０１Ａが、カメラのキャリブレーションの実施が必要であるか否かを判定し（図９のＳ９０１）、カメラのキャリブレーションの実施が必要であると判断された場合、映像取得部２０２Ａが、車両１に取り付けられた４つのカメラ１１１〜１１４で撮影された映像をＲＡＭ１０２から取得する（図９のＳ９０２）。それと共に、センサ情報取得部２０５Ａは、車速センサ１０５、舵角センサ１０６、ヨーレートセンサ１０７などの各種センサのセンサ情報を取得する（図９のＳ９０３）。ここで、これらのセンサ情報は、映像と同期して取得されることが望ましい。なお、図９に示すＳ９０２とＳ９０３は、同時に実施してもよいし、Ｓ９０３の後にＳ９０２を実施してもよい。
【００６１】
定常走行状態判定部２０６Ａは、車両が定常走行状態であるか否かを判定する（図９のＳ９０４）。ここで、定常走行状態とは、加減速や旋回による車両姿勢の変化がなく、直線路を走行している状態である。加減速や旋回による車両姿勢の変化がなく、直線路を走行していることを判定する理由は、車両姿勢が異なる際の映像は、カメラパラメータがそれぞれ異なり、キャリブレーション実施時の特徴量として同時に利用することはできないためであり、また、車両姿勢推定等に用いる特徴量として長手方向の直線的特徴量（例えば、破線を含む白線、縁石、道路端境界など）を用いるので、カーブ走行中などのキャリブレーションに必要な情報がとれないシーンの映像を除外するためである。加減速や旋回による車両姿勢の変化がないことのうち、例えば、加減速がないことは、車速センサ１０５から取得した情報に基づき、一定車速が一定時間続いていることなどから判定することができる。旋回による変化がないことは、例えば、ヨーレートセンサ１０７から取得した情報の絶対値が０に近い予め定めた一定の閾値よりも小さいことなどから判定することができる。また、一定以上の速度で舵角（舵角センサ１０６から取得した情報）が０に近い予め定めた一定の閾値よりも小さい値をとる場合には、ドライバーの操作状況から直線を走行しているとみなすこともできる。
【００６２】
定常走行状態判定部２０６Ａにより車両が定常走行状態であると判定された場合、特徴抽出部２０３Ａは、各カメラ１１１〜１１４で撮影された映像からキャリブレーションに用いる所定の特徴量を抽出する（図９のＳ９０５）。一方、車両が定常走行状態でないと判定された場合には、各カメラ１１１〜１１４で撮影された映像はキャリブレーションに用いることができないために棄却し、次のシーンの映像や各種センサのセンサ情報を取得する。
【００６３】
データ利用可否判定部２０７Ａは、各カメラ１１１〜１１４で撮影された映像にキャリブレーションに利用可能な平行な白線（直線的特徴量）が映っているか否かを判定する（図９のＳ９０６）。詳細には、データ利用可否判定部２０７Ａは、カメラ１１１〜１１４に映っている白線（直線的特徴量）を画像認識し、特徴抽出部２０３Ａにより抽出した特徴量が直線状に並んでいること、及び、過去に撮影した映像と現時点で撮影された白線の映り方の差分が小さいことの双方を満たすか否かを判定する。特徴抽出部２０３Ａにより抽出した特徴量が直線状に並んでいるか否かは、その白線の直線度を測定することで判定することができる。たとえば、白線の各エッジ点を直線フィッティングし、フィッティング誤差が予め定めたある一定の値以下である場合には、直線であるとみなすことができ、フィッティング誤差が予め定めたある一定の値よりも大きい場合には、直線ではないとみなすことができる。また、過去に撮影した映像と現時点で撮影された白線の映り方の差分が小さいか否かは、たとえば、車両ピッチ角推定処理と同様に白線が平行になる角度を算出し、過去に算出された角度の平均値からの角度誤差が予め定めたある一定の値以下である場合には、差分が小さいとみなすことができ、角度誤差が予め定めたある一定の値よりも大きい場合には、差分が大きいとみなすことができる。
【００６４】
データ利用可否判定部２０７Ａによりデータ利用可能であると判定された場合、キャリブレーション部２０４Ａは、上記と同様、特徴抽出部２０３Ａで得られた特徴量などを利用して、各カメラの各カメラパラメータを算出してキャリブレーションを実施する（図９のＳ９０７〜Ｓ９１０）。一方、データ利用不可であると判定された場合には、各カメラ１１１〜１１４で撮影された映像はキャリブレーションに用いることができないために棄却し、次のシーンの映像や各種センサのセンサ情報を取得する。
【００６５】
このような構成とすることで、長手方向の特徴量に対する車両の平行性、すなわち長手方向の特徴量と車両の相対的な関係を必要とせず、長手方向の特徴量のみで、全てのカメラのカメラパラメータをより精緻に且つ効率的に推定でき、そのカメラパラメータを用いて車両の積載状態に応じたより高精度の俯瞰映像を生成することができる。
【００６６】
＜カメラキャリブレーション装置の実施形態３＞
また、上記した使用時キャリブレーションを実施する際には、同じ位置で撮影された直線的特徴量はデータとして意味がないため、映像中における違う位置で撮影された直線的特徴量が複数集められたことを確認した上で実施することが好ましい。
【００６７】
図１０は、図１に示すカメラキャリブレーション装置の内部構成の更に他例（実施形態３）を示したものである。また、図１１は、図１０に示すカメラキャリブレーション装置によるキャリブレーション処理を説明したフロー図である。図１０に示す形態のカメラキャリブレーション装置１１６Ｂは、図８に示すカメラキャリブレーション装置１１６Ａに対して、主にデータ蓄積判定部を追加した点が相違しており、その他の構成はほぼ同様である。したがって、以下では、図８に示すカメラキャリブレーション装置１１６Ａと異なる構成のみを詳述し、カメラキャリブレーション装置１１６Ａと同様の構成には同様の符号を付してその詳細な説明は省略する。
【００６８】
図１０に示すカメラキャリブレーション装置１１６Ｂは、主に、キャリブレーション実施判定部２０１Ｂと、映像取得部２０２Ｂと、特徴抽出部２０３Ｂと、キャリブレーション部２０４Ｂと、センサ情報取得部２０５Ｂと、定常走行状態判定部２０６Ｂと、データ利用可否判定部２０７Ｂと、を備えると共に、データ蓄積判定部２０８Ｂを備えている。
【００６９】
キャリブレーション実施判定部２０１Ｂが、カメラのキャリブレーションの実施が必要であるか否かを判定し（図１１のＳ１１０１）、カメラのキャリブレーションの実施が必要であると判断された場合、映像取得部２０２Ｂが、車両１に取り付けられた４つのカメラ１１１〜１１４で撮影された映像をＲＡＭ１０２から取得する（図１１のＳ１１０２）と共に、センサ情報取得部２０５Ｂが、各種センサのセンサ情報を取得する（図１１のＳ１１０３）。
【００７０】
定常走行状態判定部２０６Ｂは、センサ情報取得部２０５Ｂで得られたセンサ情報等に基づいて、車両が定常走行状態であるか否かを判定し（図１１のＳ１１０４）、車両が定常走行状態であると判定された場合、特徴抽出部２０３Ｂは、各カメラ１１１〜１１４で撮影された映像からキャリブレーションに用いる所定の特徴量を抽出する（図１１のＳ１１０５）。また、データ利用可否判定部２０７Ｂは、特徴抽出部２０３Ｂにより抽出された抽出データ等に基づいて、その抽出データがキャリブレーションに利用可能であるか否かを判定し（図１１のＳ１１０６）、データ利用可能であると判定された場合、その抽出データをデータ蓄積部としてのＲＡＭ１０２などに保存・蓄積していく（図１１のＳ１１０７）。例えば、特徴抽出部２０３Ｂは、当該特徴抽出部２０３Ｂで得られた直線を表す方程式の係数を保存する。
【００７１】
データ蓄積判定部２０８Ｂは、キャリブレーションに必要な十分の量のデータが蓄積されてデータ蓄積が完了したか否かを判定する（図１１のＳ１１０８）。車両１に取付けられたカメラ１１１〜１１４のそれぞれについて、同じ位置に撮影された直線的特徴量（例えば、破線を含む白線、縁石、道路端境界など）はデータとして意味がないため、違う位置（車両１の周囲の前後左右等）に撮影された直線的特徴量が複数集める必要がある。そこで、データ蓄積判定部２０８Ｂは、例えば、カメラ１１１〜１１４のそれぞれについて、予め幾つかの領域を設定しておき、その各領域を通る直線データが全領域について万遍無く得られたか否かを判断して、キャリブレーションに必要な量のデータが蓄積されたか否かを判定する。
【００７２】
データ蓄積判定部２０８Ｂによりキャリブレーションに必要な量のデータが蓄積されたと判定された場合、キャリブレーション部２０４Ｂは、データ蓄積部としてのＲＡＭ１０２などに蓄積された特徴量などを利用して、各カメラの各カメラパラメータを算出してキャリブレーションを実施する（図１１のＳ１１０９〜Ｓ１１１２）。
【００７３】
このような構成とすることで、長手方向の特徴量に対する車両の平行性、すなわち長手方向の特徴量と車両の相対的な関係を必要とせず、長手方向の特徴量のみで、全てのカメラのカメラパラメータを更に精緻に且つ効率的に推定でき、そのカメラパラメータを用いて車両の積載状態に応じた更に高精度の俯瞰映像を生成することができる。
【００７４】
このように、本実施形態によれば、映像から抽出される所定の特徴量、特に直線的特徴量に基づいて車両の姿勢を推定し、製品出荷時などの過去に実施したキャリブレーションから得られる情報に基づいてカメラの地面に対する並進方向の位置を補正し、その車両の姿勢とカメラの地面に対する並進方向の位置とに基づいて、カメラの地面に対する姿勢に関するカメラパラメータを算出することにより、車両の積載状態が変化する状況下でもキャリブレーションを実施できると共に、例えば白線に対する車両の平行性を利用するといった制約を設けることなく、全てのカメラパラメータを精緻に推定してキャリブレーションを実施することができるため、あらゆる状況下で車両の積載状態に応じた高精度の俯瞰映像を生成することができる。
【００７５】
なお、本発明は上記した実施形態に限定されるものではなく、様々な変形形態が含まれる。例えば、上記した実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施形態の構成の一部を他の実施形態の構成に置き換えることが可能であり、また、ある実施形態の構成に他の実施形態の構成を加えることも可能である。また、実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【００７６】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【００７７】
１        車両
１００    カメラキャリブレーションシステム
１０１    演算装置
１０２    ＲＡＭ（データ蓄積部）
１０３    ＲＯＭ
１０４    表示装置
１０５    車速センサ
１０６    舵角センサ
１０７    ヨーレートセンサ
１０８    入力装置
１０９    通信装置
１１１〜１１４  カメラ
１１５    合成映像生成装置
１１６    カメラキャリブレーション装置
２０１    キャリブレーション実施判定部
２０２    映像取得部
２０３    特徴抽出部
２０４    キャリブレーション部
２０５Ａ  センサ情報取得部
２０６Ａ  定常走行状態判定部
２０７Ａ  データ利用可否判定部
２０８Ｂ  データ蓄積判定部
３０１    姿勢推定部
３０２    ピッチ角推定部
３０３    ロール角・高さ・回転中心推定部
３０４    並進推定部
３０５    カメラパラメータ算出部
【図１】
0006371185.tif 000002
【図２】
0006371185.tif 000003
【図３】
0006371185.tif 000004
【図４】
0006371185.tif 000005
【図５】
0006371185.tif 000006
【図６】
0006371185.tif 000007
【図７】
0006371185.tif 000008
【図８】
0006371185.tif 000009
【図９】
0006371185.tif 000010
【図１０】
0006371185.tif 000011
【図１１】
0006371185.tif 000012