(57)【特許請求の範囲】
【請求項１】
車両に搭載され、
前記車両の車両座標系の姿勢情報を取得する姿勢センサと、
前記車両の周囲を撮影する撮像部と、
前記姿勢センサの信頼度である姿勢センサ信頼度を算出する姿勢センサ信頼度算出部と、
算出された前記姿勢センサ信頼度が予め定めた閾値より大きい場合に、前記姿勢センサが出力する前記姿勢情報、および前記車両座標系に対する前記撮像部の座標系の関係を用いて前記撮像部の外部パラメータを推定する姿勢使用推定部と、を備えるキャリブレーションシステム。
【請求項２】
請求項１に記載のキャリブレーションシステムにおいて、
前記撮像部の信頼度であるカメラ信頼度を算出するカメラ信頼度算出部と、
算出された前記カメラ信頼度が予め定めた閾値より大きい場合に、前記撮像部の出力を用いて前記撮像部の外部パラメータを推定する画像使用推定部と、
算出された前記姿勢センサ信頼度が予め定めた閾値より大きく、かつ算出された前記カメラ信頼度が予め定めた閾値より大きい場合に、前記画像使用推定部が推定した前記外部パラメータと前記姿勢センサが出力する前記姿勢情報とに基づき、前記車両座標系に対する前記撮像部の座標系の関係を算出する相対姿勢算出部をさらに備える、キャリブレーションシステム。
【請求項３】
請求項１に記載のキャリブレーションシステムにおいて、
前記車両の直進状態と旋回状態とを判別可能な走行状態判定部と、
前記走行状態判定部により判別された直進状態における前記姿勢センサの出力および撮像部の出力に、ならびに前記走行状態判定部により判別された旋回状態における前記姿勢センサの出力および撮像部の出力に基づき、前記姿勢センサのキャリブレーションを行う姿勢センサ補正部とをさらに備えるキャリブレーションシステム。
【請求項４】
請求項３に記載のキャリブレーションシステムにおいて、
前記姿勢センサ信頼度算出部は、
前記姿勢センサ補正部によるキャリブレーションが実行された時刻からの経過時間に基づいて前記姿勢センサ信頼度を算出する、キャリブレーションシステム。
【請求項５】
請求項２に記載のキャリブレーションシステムにおいて、
前記カメラ信頼度算出部は、
前記撮像部が撮影して得られた画像のコントラストを評価するコントラスト判定部と、
前記撮像部が異なる時刻に撮影して得られた複数の画像の差分を用いて、前記撮像部の撮像面を遮蔽する付着物を評価する付着物判定部とを備え、
前記コントラスト判定部の評価、および前記付着物判定部の評価を用いて前記カメラ信頼度を算出する、キャリブレーションシステム。
【請求項６】
車両に搭載され、前記車両の車両座標系の姿勢情報を取得する姿勢センサ、および
前記車両の周囲を撮影する撮像部と接続されるキャリブレーション装置であって、
前記姿勢センサの信頼度である姿勢センサ信頼度を算出する姿勢センサ信頼度算出部と、
算出された前記姿勢センサ信頼度が予め定めた閾値より大きい場合に、前記姿勢センサが出力する前記姿勢情報、および前記車両座標系に対する前記撮像部の座標系の関係を用いて前記撮像部の外部パラメータを推定する姿勢使用推定部と、を備えるキャリブレーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、キャリブレーションシステム、およびキャリブレーション装置に関する。
【背景技術】
【０００２】
ドライバーを支援する目的で、車載カメラの普及が進んでいる。車載カメラは設計に基づいた位置、姿勢で車両に取り付けられるが、取り付けに誤差が生じることが避けられない。車載カメラにより撮影して得られた画像を用いて距離計算などを行う際には、この取付け誤差が距離精度に大きな影響を与える。そのため、車載カメラの取り付けの誤差を外部パラメータとしてあらかじめ推定し、距離計算などを行う際にカメラの外部パラメータを考慮することが広く行われている。
外部パラメータはたとえば以下のように算出される。すなわち、所定のテストパターンを決められた位置に精密に設置し、これを車載カメラにより撮影し、撮影して得られた画像が設計値どおりに製造／設置されたカメラで撮影した場合の画像と一致するように外部パラメータが算出される。しかし、乗車人員の増減や車両中の重量物の移動などにより車両の姿勢が変化するため、それに伴って地面に対するカメラの据え付け状態も変化する。すなわち、工場出荷時に外部パラメータが算出された場合であっても、外部パラメータの修正が必要となる。
特許文献１には、車載カメラにより撮影して得られた画像を用いて外部パラメータを算出する発明が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開第２０１２／１４３０３６号パンフレット
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載されている発明では、撮像部の外部パラメータの算出に適した画像が得られなければ外部パラメータが算出できない。
【課題を解決するための手段】
【０００５】
本発明に係るキャリブレーションシステムは、車両に搭載され、前記車両の車両座標系の姿勢情報を取得する姿勢センサと、前記車両の周囲を撮影する撮像部と、前記姿勢センサの信頼度である姿勢センサ信頼度を算出する姿勢センサ信頼度算出部と、算出された前記複数の姿勢センサ信頼度が予め定めた閾値より大きい場合に、前記姿勢センサが出力する前記姿勢情報、および前記車両座標系に対する前記撮像部の座標系の関係を用いて前記撮像部の外部パラメータを推定する姿勢使用推定部と、を備える。
本発明に係るキャリブレーション装置は、車両に搭載され、前記車両の車両座標系の姿勢情報を取得する姿勢センサ、および前記車両の周囲を撮影する撮像部と接続され、前記姿勢センサの信頼度である姿勢センサ信頼度を算出する姿勢センサ信頼度算出部と、算出された前記姿勢センサ信頼度が予め定めた閾値より大きい場合に、前記姿勢センサが出力する前記姿勢情報、および前記車両座標系に対する前記撮像部の座標系の関係を用いて前記撮像部の外部パラメータを推定する姿勢使用推定部と、を備える。
【発明の効果】
【０００６】
本発明によれば、撮像部の外部パラメータの算出に適する画像が得られない場合でも、外部パラメータを算出できる。
【図面の簡単な説明】
【０００７】
【図１】キャリブレーションシステムの構成を示す図
【図２】メインフローチャート
【図３】カメラ信頼度算出処理を示すフローチャート
【図４】姿勢センサキャリブレーション処理を示すフローチャート
【図５】カメラキャリブレーション処理を示すフローチャート
【図６】画像情報によるキャリブレーション処理を示すフローチャート
【図７】カメラ単体キャリブレーション処理を示すフローチャート
【図８】姿勢情報によるキャリブレーション処理を示すフローチャート
【発明を実施するための形態】
【０００８】
（実施の形態）
以下、図１〜図８を参照して、キャリブレーションシステムの実施の形態を説明する。
（構成）
図１は、本発明に係るキャリブレーションシステム１００の構成を示す図である。キャリブレーションシステム１００は、撮像部１１１と、演算装置１０１と、ＲＡＭ１０２と、ＲＯＭ１０３と、表示装置１０４と、車速センサ１０５と、舵角センサ１０６と、車高センサ１０７と、ジャイロセンサ１０８と、入力装置１０９と、フラッシュメモリ１１２とを備える。このキャリブレーションシステム１００は、車両１に搭載される。
【０００９】
撮像部１１１は、車両１の前方を撮影する前カメラ１１１ａと、車両１の後方を撮影する後カメラ１１１ｂと、車両１の左側方を撮影する左カメラ１１１ｃと、車両１の右側方を撮影する右カメラ１１１ｄとから構成される。以下では、前カメラ１１１ａと、後カメラ１１１ｂと、左カメラ１１１ｃと、右カメラ１１１ｄとをまとめて、カメラ１１１ａ〜ｄと呼ぶ。カメラ１１１ａ〜ｄの取付け位置はたとえば以下のとおりである。すなわち、前カメラ１１１ａおよび後カメラ１１１ｂは、車体前方および車体後方のナンバープレート付近に取り付けられる。左カメラ１１１ｃおよび右カメラ１１１ｄは、左右のサイドミラーの下に取り付けられる。本実施の形態では、カメラ１１１ａ〜ｄは車両１の生産過程において取り付けられ、工場出荷後は車両座標系に対するカメラ１１１ａ〜ｄの位置姿勢関係は変化しないこととする。
【００１０】
カメラ１１１ａ〜ｄは、水平面に対して平行から所定角度下方向に光軸が向くように取り付けられる。カメラ１１１ａ〜ｄは、既知の設計情報にしたがって取り付けられるが、取り付け誤差の発生が避けられない。カメラ１１１ａ〜ｄは、４つのカメラの視野をあわせると車両１の全周囲の画像を取得できるだけでなく、それぞれのカメラの視野が一部重複するように、広角の魚眼レンズを備える。魚眼レンズは広角の画像を取得する為に、既知の歪み関数に基づいた歪んだ画像が得られる。カメラ１１１ａ〜ｄが撮影して得られたそれぞれの画像は、演算装置１０１に送信される。カメラ１１１ａ〜ｄに関するカメラパラメータは、内部パラメータと外部パラメータとから構成され、内部パラメータはＲＯＭ１０３に、外部パラメータはフラッシュメモリ１１２に保存される。内部パラメータとは、焦点距離／レンズ歪みなどの光学的特性や撮像素子サイズなどのカメラ固有の情報であって、工場出荷後に変化しない情報である。外部パラメータとは、地面に対するカメラの取り付け位置／角度に関する情報であり、車両１に対するカメラ１１１ａ〜ｄの位置および姿勢が固定された工場出荷後でも車両１の姿勢により変化する。以下では、後述するジャイロ補正情報と区別するために、カメラの外部パラメータを「カメラパラメータ」と呼ぶ。
【００１１】
演算装置１０１は、ＣＰＵであり、ＲＯＭ１０３に保存されるプログラムをＲＡＭ１０２に展開して実行する。このプログラムは、主にカメラ１１１ａ〜ｄの撮影画像に基づく距離の算出、俯瞰画像の生成、およびキャリブレーション、すなわちカメラパラメータの算出を行う。カメラ１１１ａ〜ｄの撮影画像に基づく距離の算出は、障害物との衝突を避ける障害物回避機能や、周囲の車両との距離に基づき操舵をアシストする駐車アシスト機能に利用される。俯瞰画像の生成、およびキャリブレーションは後述する。演算装置１０１は、カメラ１１１ａ〜ｄ、車速センサ１０５、舵角センサ１０６、車高センサ１０７、ジャイロセンサ１０８、および入力装置１０９と信号線により接続され、種々の情報を受信して前述のプログラムに基づき計算処理を実行する。
【００１２】
ＲＡＭ１０２には、演算装置１０１における演算処理過程で必要となる数値データ、演算途中の処理結果に対するプログラムの変数などが書き込まれる。また、ＲＡＭ１０２は、演算処理過程で適宜必要に応じて、書き込まれたデータが読み出され、演算処理に使用される。ＲＡＭ１０２には、カメラ１１１ａ〜ｄによって撮影された画像データなども格納される。
ＲＯＭ１０３には、例えば、キャリブレーションを実行するプログラムや、プログラムで必要となる情報であって変化しない情報、および、カメラ１１１ａ〜ｄの内部パラメータが格納される。さらにＲＯＭ１０３には、カメラ１１１ａ〜ｄが撮影して得られた画像を利用し衝突回避機能および駐車アシスト機能を実現するプログラムが格納される。
【００１３】
フラッシュメモリ１１２は不揮発性メモリであり、カメラ１１１ａ〜ｄのカメラパラメータ、およびジャイロセンサ１０８のジャイロ補正情報が格納される。前述のとおりカメラパラメータは工場出荷後に変化し、キャリブレーションにより演算装置１０１により算出される。ジャイロセンサ１０８のジャイロ補正情報も、演算装置１０１により算出される。
表示装置１０４は、液晶ディスプレイであり、演算装置１０１から受信した情報をユーザーに提示する。例えば表示装置１０４は、カメラ１１１ａ〜ｄの撮影画像に基づき演算装置１０１が作成した俯瞰画像を表示する。また表示装置１０４は、車両後方を撮影する後カメラ１１１ｂの画像だけを表示するなど、演算装置１０１の出力に従って、表示内容を切り替えたりする。
【００１４】
車速センサ１０５、舵角センサ１０６、車高センサ１０７、およびジャイロセンサ１０８はそれぞれ、車速、舵角、地面に対する車両１の高さ、および車両１の３軸の角速度を観測するセンサであり、演算装置１０１における演算処理において利用される。
車速センサ１０５は、車両１の走行速度を検出して演算装置１０１に出力する。演算装置１０１は車速センサ１０５の出力に基づき、たとえば、車両１が走行状態にあるか停止状態にあるかを判断する。
舵角センサ１０６は、車両１の操舵角を検出して演算装置１０１に出力する。演算装置１０１は舵角センサ１０６の出力に基づき、たとえば、車両１の走行状態が直進／旋回のいずれであるかを判断する。
車高センサ１０７は、地面に対する車両１の高さを検出して演算装置１０１に出力する。
【００１５】
ジャイロセンサ１０８は、ヨー角、ロール角、ピッチ角の角速度（姿勢情報）を出力する３軸ジャイロセンサである。演算装置１０１は、ジャイロセンサ１０８が出力する角速度を短時間ごとに累積することにより、ある時刻における姿勢角情報が得られる。ジャイロセンサ１０８が出力する角速度には誤差が含まれるので、ジャイロセンサ１０８の出力に基づき得られる姿勢角情報は時間の経過とともに累積誤差が大きくなる。この累積誤差を解消するために後述するジャイロ補正情報が作成され、フラッシュメモリ１１２に格納される。そのため演算装置１０１は、ジャイロ補正情報を考慮することによりジャイロセンサ１０８の出力から累積誤差の影響を低減した姿勢角情報が得られる。ただし、そのジャイロ補正情報の作成以後は再び誤差が累積する。
入力装置１０９は、スイッチやボタンを備え、ユーザーの操作を受け付けて演算装置１０１に出力する。演算装置１０１は入力装置１０９の出力に基づき、たとえば、キャリブレーション機能のオン／オフ切り替え、キャリブレーション結果の初期化などを行う。
【００１６】
（俯瞰画像の生成）
演算装置１０１は、カメラ１１１ａ〜ｄから入力された画像を視点変換／合成し、上方から地面を見下ろしたような画像、すなわち俯瞰画像を生成し、表示装置１０４に出力する。演算装置１０１によるこの俯瞰画像の生成は、たとえば以下のように行われる。
まず演算装置１０１は、カメラ１１１ａ〜ｄから入力された画像の歪みを、ＲＯＭ１０３に事前に格納された既知の歪み関数を用いて除去する。次に演算装置１０１は、歪みを除去した各画像を、フラッシュメモリ１１２に格納されたカメラ１１１ａ〜ｄのカメラパラメータや、ＲＯＭ１０３などに事前に格納された既知のカメラ取り付けに関する設計値などに基づいて、俯瞰視点から見た画像に視点変換／合成する。これは公知のカメラの幾何変換式を使って、俯瞰画像の特定の画素とそれに対応するカメラ１１１ａ〜ｄの特定の画素を計算し、その画素の輝度値を俯瞰画像の画素に割り当てることによって実現できる。対応する画素が小数点を含み、該当する画素がない場合は、公知の輝度の補間処理によって、周辺画素の中間輝度を割り当てる処理が行われる。
演算装置１０１は、上述した処理により生成した俯瞰画像を表示装置１０４に出力する。
【００１７】
（キャリブレーションの概要）
演算装置１０１は、以下に説明するように、車両１のエンジンキースイッチがＯＮの場合にカメラ１１１ａ〜ｄのカメラパラメータの算出、およびジャイロセンサ１０８のジャイロ補正情報の算出を行う。なお、車両１の工場出荷前にカメラ１１１ａ〜ｄのカメラパラメータの算出、およびジャイロセンサ１０８のジャイロ補正情報の算出を行うこともできるが、本実施の形態ではこれを行わない。
以下にキャリブレーション方法の概要を述べる。
本キャリブレーションの特徴は、カメラ１１１ａ〜ｄの撮影画像を用いたカメラパラメータの算出が行えない場合でも、ジャイロセンサ１０８の出力を用いてカメラパラメータを算出する点である。
【００１８】
カメラ１１１ａ〜ｄは剛体である車両１に取り付けられており、車両１の工場出荷後は車両座標系に対するカメラ１１１ａ〜ｄそれぞれの座標系の相対関係は一定である。したがって、車両座標系に対するカメラ１１１ａ〜ｄそれぞれの座標系の相対関係を一度推定すれば、ジャイロセンサ１０８の出力を用いて、カメラ１１１ａ〜ｄのカメラパラメータを算出することができる。カメラ１１１ａ〜ｄの車両座標系に対する位置姿勢関係は、カメラ１１１ａ〜ｄの撮影画像を用いて推定できる。
ただし、ジャイロセンサ１０８の出力を累積して得られる姿勢角情報には累積誤差が発生するため、カメラ１１１ａ〜ｄの撮影画像を用いてジャイロ補正情報を算出する。
【００１９】
（キャリブレーション処理）
図２〜図８のフローチャートを用いて、キャリブレーション処理、すなわちカメラ１１１ａ〜ｄのカメラパラメータの算出処理、およびジャイロセンサ１０８のジャイロ補正情報の算出処理について説明する。図３〜図８のフローチャートは、図２に示すメインフローチャートから呼び出される。以下に説明する図２〜図８のフローチャートで示す処理の実行主体は、演算装置１０１である。
【００２０】
（メインフローチャート）
図２は、キャリブレーション処理の動作を示すメインフローチャートである。この処理は、車両１のイグニションキースイッチがＯＮの間は繰り返し実行される。
メインフローチャートの処理が開始されると、ステップＳ２０１およびステップＳ２０５が並列に実行される。
ステップＳ２０１では、カメラ１１１ａ〜ｄから撮影画像を受信してステップＳ２０２に進む。
【００２１】
ステップＳ２０２ではステップＳ２０１において受信した撮影画像を用いて、カメラ１１１ａ〜ｄのそれぞれについてカメラ信頼度を算出する。カメラ信頼度とは、そのカメラにより撮影された画像から、画像処理に必要な特徴量を取得することができることの目安となる指標である。ここでいう画像処理とは、ステップＳ２０８の姿勢センサキャリブレーション処理における画像処理、およびステップＳ２０４のカメラキャリブレーション処理における画像処理である。カメラ信頼度の算出処理は、後に図３を用いて説明する。カメラ信頼度の算出が完了すると、ステップＳ２０３に進む。
【００２２】
ステップＳ２０３では、ステップＳ２０２において算出した４つ全てのカメラ信頼度が予め定めた閾値を上回ると判断する場合はステップＳ２０８およびステップＳ２０４に進む。ステップＳ２０２において算出した４つのカメラ信頼度のうち、１つでも予め定めた閾値以下であると判断する場合は図２により動作が表されるプログラムを終了する。
ステップＳ２０１と並列して実行されるステップＳ２０５では、ジャイロセンサ１０８の出力に基づき車両１の姿勢角情報を取得し、ステップＳ２０６に進む。
【００２３】
ステップＳ２０６では、姿勢センサ信頼度を算出する。前述のとおり、ジャイロセンサ１０８の出力に基づく姿勢角情報の算出では時間の経過とともに誤差が累積する。この累積誤差は、ジャイロ補正情報を作成することにより一旦は削減できるが、その後も時間の経過とともに増加する。このような特性を姿勢センサ信頼度として表す。すなわち、ジャイロ補正情報を作成した直後に最大値をとり、その後時間の経過とともに線形に減衰する姿勢センサ信頼度関数を設定する。姿勢センサ信頼度関数の傾きを減衰率とよび、減衰率は初期状態ではあらかじめ定めた値を設定する。実測に基づく減衰率の設定は後述する。演算装置１０１は、姿勢センサ信頼度関数と、ジャイロ補正情報の作成からの経過時間とに基づき姿勢センサ信頼度を算出し、ステップＳ２０７に進む。
ステップＳ２０７では、ステップＳ２０６において算出した姿勢センサ信頼度が、予め定めた閾値未満であるか否かを判断する。閾値未満であると判断する場合はステップＳ２０８に進み、閾値以上であると判断する場合はステップＳ２０４に進む。
【００２４】
ステップＳ２０３において肯定判断され、なおかつステップＳ２０７において肯定判断されるとステップＳ２０８が実行される。換言すると、姿勢センサ信頼度が閾値以下なのでジャイロセンサ１０８のキャリブレーション処理が必要であり、かつ、カメラ信頼度が閾値を上回るのでジャイロセンサ１０８のキャリブレーション処理が可能な場合にステップＳ２０８が実行される。このステップＳ２０８では、撮影画像を用いたジャイロセンサ１０８のキャリブレーション処理、すなわちジャイロ補正情報の作成が行われる。前述のとおり、姿勢センサ信頼度はジャイロ補正情報を作成した直後に最大値をとり、その後時間の経過とともに線形に減衰するので、ジャイロセンサ１０８のキャリブレーションが行われると姿勢センサ信頼度が一時的に増加する。本ステップの処理の詳細は後に図４を用いて説明する。なおステップＳ２０８では、姿勢センサのキャリブレーション処理を実行すると次にステップＳ２０４に進むが、データの蓄積が不十分であり姿勢センサのキャリブレーション処理が実行できない場合はステップＳ２０４を実行せずに図２により動作が表されるプログラムを終了する。
【００２５】
ステップＳ２０３において肯定判断された場合、ステップＳ２０７において否定判断された場合、またはステップＳ２０８において所定の条件を満たした場合にステップＳ２０４が実行される。換言すると、カメラ信頼度および姿勢センサ信頼度のうち、すくなくとも一方が閾値を上回るとステップＳ２０４が実行される。このステップＳ２０４では、カメラ信頼度と姿勢センサ信頼度に応じてカメラパラメータの算出方法が選択され、カメラパラメータが算出される。本ステップの処理の詳細は、後に図５を用いて説明する。本ステップの実行が終了すると、図２により動作が表されるプログラムを終了する。
【００２６】
（カメラ信頼度）
図３は、図２のステップＳ２０２において実行されるカメラ信頼度算出処理の詳細を示すフローチャートである。
カメラ信頼度算出処理が開始されると、ステップＳ３０１およびステップＳ３０２が並列に実行される。
【００２７】
ステップＳ３０１では、コントラストの判定、すなわちカメラ１１１ａ〜ｄの撮影画像それぞれに対して輝度のコントラストの大きさを評価する。コントラストの評価はたとえば、カメラ１１１ａ〜ｄの撮影画像のエッジを公知のソーベルフィルタなどによって抽出し、あらかじめ定めた閾値以上のエッジ強度をもつ画素の数に応じた評価値をカメラ１１１ａ〜ｄのそれぞれに対して算出する。閾値以上のエッジ強度をもつ画素が多く抽出されるほど高いコントラストを有するとして、大きな評価値を算出する。たとえば、評価値は０〜１００の整数である。
【００２８】
ステップＳ３０１と並列に実行されるステップＳ３０２では、付着物の判定、すなわちカメラ１１１ａ〜ｄのそれぞれに対して、撮像面に対する遮蔽物の有無および撮像面が遮蔽される領域の広さを評価する。撮像面が遮蔽される領域とは、たとえばレンズに水滴や泥が付着することにより被写体からの光が届かない撮像面の領域である。遮蔽物がない場合に最大の評価値が出力され、遮蔽領域が広いほど小さい評価値が出力される。演算装置１０１は、異なる時刻に撮影された撮影画像の差分、すなわち撮影画像の時系列変化を以下のように評価する。すなわち、輝度の差分が所定の閾値より小さい領域であって、所定の時間以上継続して存在する領域を遮蔽領域と判定し、撮影画像に占める遮蔽領域の割合が大きいほど小さい評価値を算出する。たとえば、評価値は０〜１００の整数である。
【００２９】
ステップＳ３０１およびステップＳ３０２が終了すると実行されるステップＳ３０３では、カメラ１１１ａ〜ｄのそれぞれに対してステップＳ３０１およびステップＳ３０２において算出された評価値に基づき信頼度を算出する。いずれの評価値も画像処理に適する場合に大きな値をとるので、それぞれの評価値が大きいほど算出される信頼度も大きくなる。信頼度はたとえば０〜１００の整数であり、ステップＳ３０１およびステップＳ３０２において出力された評価値の平均値や積の平方根として算出される。
以上の処理によりカメラ１１１ａ〜ｄのそれぞれに対して信頼度が算出され、図３に示すフローチャートの処理を終了し、図２のステップＳ２０３に戻る。
【００３０】
（姿勢センサキャリブレーション）
図４は、図２のステップＳ２０８において実行される、姿勢センサキャリブレーション処理の詳細を示すフローチャートである。
ステップＳ４０１では、車両１の走行状態が、直進、旋回、停止のいずれであるか判定する。演算装置１０１は、車速センサ１０５、舵角センサ１０６、およびジャイロセンサ１０８の出力を取得し、直近の時刻、たとえば過去数秒間における車両１の挙動を算出して走行状態を判定する。車両１の車速が所定の速度以下であれば停止状態と判定する。車両１の向き、すなわちヨー角の変化があらかじめ設定した閾値より小さく、舵角もあらかじめ設定した閾値よりも小さければ直進と判定する。また、車両の向きが直進と判定する場合とは異なる閾値よりも大きく、舵角も直進と判定する閾値とは異なる閾値よりも大きければ、旋回状態と判定する。次にステップＳ４０２に進む。
【００３１】
ステップＳ４０２では、ステップＳ４０１において判定した走行状態を評価する。直進状態と判定する場合はステップＳ４０３に進み、旋回状態と判定する場合はステップＳ４０４に進み、停車状態、またはその他の状態と判定する場合は図４に示すフローチャートの処理を終了する。
ステップＳ４０３では、カメラ１１１ａ〜ｄの撮影画像とジャイロセンサ１０８の出力を直進時データとしてＲＡＭ１０２に保存し、ステップＳ４０５に進む。
ステップＳ４０４では、カメラ１１１ａ〜ｄの撮影画像とジャイロセンサ１０８の出力を旋回時データとしてＲＡＭ１０２に保存し、ステップＳ４０５に進む。
【００３２】
ステップＳ４０５では、ＲＡＭ１０２に保存されている直進時データの数が閾値より多く、かつ、ＲＡＭ１０２に保存されている旋回時データの数が閾値より多いか否かを判断する。いずれのデータの数（ＤＮ）も閾値より多いと判断する場合はステップＳ４０６に進み、少なくともいずれかのデータの数（ＤＮ）が閾値以下であると判断する場合は図４に示すフローチャートの処理を終了する。なお、直進時データの閾値と旋回時データの閾値は同一であってもよいし、異なってもよい。
ステップＳ４０６では、ＲＡＭ１０２に保存された直進時データと旋回時データを用いて姿勢センサキャリブレーション、すなわちジャイロ補正情報の算出を行う。演算装置１０１は、直進時データを用いてピッチ軸補正を実施し、旋回時データを用いてヨー軸補正を実施する。この二軸を車両座標系と合わせるように補正することで、車両１とジャイロセンサ１０８間のキャリブレーションを実現する。
【００３３】
この姿勢センサキャリブレーションは、以下のように行われる。まず、直進時データに含まれる画像データに関して、平行白線や縁石などの進行方向に対して平行な直線構造物を２つ以上同時に認識し抽出する。直線構造物の認識方法は特定の手法に限定されず、例えば公知のハフ変換などを用いて実現する。この直線構造物の平行性を用いることで、車両１の瞬時的なピッチ角変動を推定することができる。そして、この推定したピッチ角変動と、ジャイロセンサ１０８から出力されるピッチ角変動量が一致するような回転行列を求める。この際、１軸の情報だけでは一致する回転行列が一意に決まらないため、ヨー角の情報も一致するように補正する。ヨー角の情報は、旋回時データから取得する。旋回時データに含まれる画像データにおいてコーナー特徴点を追跡し、追跡軌跡から車両１のヨー角変動量を求める。コーナー特徴点はハリスコーナー検出器を用いて検出し、特徴点追跡にはＳＡＤ（Sum of Absolute Difference）やＳＳＤ（Sum of Squared Difference）などを用いる。この車両１のヨー角変動量とジャイロセンサ１０８から得られた対応するヨー角データもあわせて一致するように回転行列を推定する。すなわち、画像から得られた車両１のピッチ角変動とヨー角変動と、ジャイロセンサ１０８の２軸が一致するような回転行列を求める。なお、２軸を一致させることでもう１軸、すなわちロール角についても自動的に一致する。回転行列の推定は公知の最適化法を用いて実施する。また同時に、姿勢センサの角度出力値の現在値を画像から得られた角度に補正することで、姿勢センサの累積誤差をリセットする。このように算出された回転行列および画像から得られた角度がジャイロ補正情報である。以上で図４に示すフローチャートの処理を終了する。
【００３４】
（カメラキャリブレーション）
図５は、図２のステップＳ２０４において実行されるカメラキャリブレーション処理の詳細を示すフローチャートである。このカメラキャリブレーション処理は、前述のとおりカメラ信頼度、および姿勢センサ信頼度のうち少なくとも一方が閾値よりも大きい場合に実行される。
ステップＳ５０１では、カメラ信頼度が閾値よりも大きいか否かが判断される。閾値よりも大きいと判断する場合はステップＳ５０２に進み、閾値以下であると判断する場合はステップＳ５０８に進む。なおここで用いられる閾値は、図２のステップＳ２０３における閾値と同一である。
【００３５】
ステップＳ５０２では、姿勢センサ信頼度が閾値よりも大きいか否かが判断される。閾値よりも大きいと判断する場合はステップＳ５０３、およびステップＳ５０４を並列に実行し、閾値以下であると判断する場合はステップＳ５０７に進む。なおここで用いられる閾値は、図２のステップＳ２０７における閾値と同一である。
ステップＳ５０３では、画像情報によるキャリブレーション、すなわちカメラ１１１ａ〜ｄの撮影画像を用いたカメラパラメータの算出が行われる。本ステップの詳細は後に図６を用いて説明する。次にステップＳ５０５に進む。
【００３６】
ステップＳ５０３と並列に実行されるステップＳ５０４では、姿勢情報によるキャリブレーション、すなわちジャイロセンサ１０８の出力を用いたカメラパラメータの算出が行われる。本ステップの詳細は後に図８を用いて説明する。
ステップＳ５０３およびステップＳ５０４の実行が完了すると実行されるステップＳ５０５では、ステップＳ５０３およびステップＳ５０４のそれぞれにおいて算出されたカメラパラメータの重みづけ処理が行われる。すなわち、画像情報に基づき算出されたカメラパラメータと、姿勢情報に基づき算出されたカメラパラメータとの、カメラ信頼度と姿勢センサ信頼度の大きさに基づく加重平均値を算出し、これをカメラパラメータとする。次にステップＳ５０６に進む。なお、ステップＳ５０３またはステップＳ５０４の片方のみの実行が完了すると他方の実行の完了を待つこととなるが、他方の実行の完了を待つ間は実行が完了しているキャリブレーション結果、すなわちカメラパラメータを用いて障害物までの距離などを算出する。
【００３７】
ステップＳ５０６では、カメラ１１１ａ〜ｄの座標系と車両座標系とのキャリブレーションを行う。すなわち、ステップＳ５０３において得られたカメラパラメータに基づきカメラ１１１ａ〜ｄの姿勢角を算出し、ジャイロセンサ１０８の出力に基づき算出される車両１の姿勢角情報との差異をフラッシュメモリ１１２に記録する。さらに、ステップＳ５０３において得られたカメラパラメータに基づきカメラ１１１ａ〜ｄの高さを算出し、車高センサ１０７の出力値との差異をフラッシュメモリ１１２に記録する。こうして得られる姿勢角の差異と高さの差異が、車両座標系に対する撮像部の座標系の関係である。以上で図５に示すフローチャートの処理を終了する。
【００３８】
ステップＳ５０２において否定判定されると実行されるステップＳ５０７では、ステップＳ５０３と同様に画像情報によるキャリブレーション処理を行い、図５に示すフローチャートの処理を終了する。
ステップＳ５０８では、姿勢センサ信頼度が閾値よりも大きいか否かが判断される。閾値よりも大きいと判断する場合はステップＳ５０９に進み、閾値以下であると判断する場合は図５に示すフローチャートの処理を終了する。なおここで用いられる閾値は、図２のステップＳ２０７における閾値と同一である。
ステップＳ５０９では、ステップＳ５０４と同様に姿勢情報によるキャリブレーション処理を行い、図５に示すフローチャートの処理を終了する。
【００３９】
（画像情報によるキャリブレーション）
図６は、図５のステップＳ５０３、およびステップＳ５０７において実行される、画像情報によるキャリブレーション処理の詳細を示すフローチャートである。
画像情報によるキャリブレーション処理が開始されると、ステップＳ６０１〜Ｓ６０４が並列に実行される。これら４つのステップは、カメラ１１１ａ〜ｄそれぞれについての単体キャリブレーション処理である。ステップＳ６０１〜Ｓ６０４の詳細は図７を用いて説明する。
ステップＳ６０１〜Ｓ６０４の全ての実行が完了すると、ステップＳ６０５が実行される。
【００４０】
ステップＳ６０５では、ステップＳ６０１〜Ｓ６０４の処理により得られたカメラ１１１ａ〜ｄの地面に対する角度、および高さを用いてカメラ間相対キャリブレーション、すなわちカメラ１１１ａ〜ｄの並進位置を推定する。カメラ間相対キャリブレーションは、カメラ１１１ａ〜ｄの撮影画像を用いた俯瞰画像の作成に必要な処理である。カメラ間相対キャリブレーションでは、カメラ１１１ａ〜ｄのうち１つを基準カメラとし、俯瞰視点に座標変換した際にそれぞれのカメラの視野の重複部分が重なるように、カメラの並進位置を推定する。例えば、前カメラ１１１ａの撮影画像を基準とし、視野の重複共通撮像領域に映る画像のズレがなくなるように、後カメラ１１１ｂ、左カメラ１１１ｃ、および右カメラ１１１ｄのパラメータを調整する。例えば視野が重複する領域に横断歩道が撮影されている画像を使用し、横断歩道を構成する直線をそれぞれ認識して、俯瞰視点に座標変換を行った際に直線の位置が一致するようにカメラ並進パラメータを補正する。補正は最適化手法によって実現できる。
以上により図６に示すフローチャートの処理を終了する。
【００４１】
（カメラ単体キャリブレーション）
図７は、図６のステップＳ６０１〜Ｓ６０４において実行される、カメラ単体キャリブレーション処理の詳細を示すフローチャートである。ステップＳ６０１〜Ｓ６０４は、処理対象となるカメラは異なるが処理内容はほぼ同一なので、代表して前カメラ１１１ａを対象とするステップＳ６０１の処理を説明する。処理対象のカメラが異なることにより処理内容が異なるのは、ステップＳ７０５のヨー角およびピッチ角の推定に関する処理である。
【００４２】
カメラ単体キャリブレーション処理が開始されると、ステップＳ７０１とＳ７０４とが並列に実行される。
ステップＳ７０１では、前カメラ１１１ａの撮影画像から他の特徴点との混同が生じにくいコーナー特徴点を抽出する。コーナー特徴点は例えばハリスコーナー検出器を用いて抽出される。次にステップＳ７０２に進む。
ステップＳ７０２では、ステップＳ７０１において抽出した特徴点を、異なる時刻に撮影した前カメラ１１１ａの撮影画像において追跡する。特徴点の追跡は、例えばステップＳ７０１において抽出された特徴点の周辺領域を切り出し、その領域と一致する領域を次に撮影された画像からＳＳＤなどの手法により探索する。次にステップＳ７０３に進む。
【００４３】
ステップＳ７０３では、ステップＳ７０２において追跡した特徴点の軌跡をＲＡＭ１０２に保存する。ステップＳ７０１〜Ｓ７０３は、特徴点の軌跡がＲＡＭ１０２に所定の数以上蓄積されるまで繰り返し実行される。次にステップＳ７０５に進む。
ステップＳ７０１と並列に実行されるステップＳ７０４では、前カメラ１１１ａの撮影画像から車両進行方向に沿った直線的構造物、たとえば走行中の自車線を構成する車線境界線を抽出する。直線的構造物の抽出には、例えばハフ変換などの公知技術が利用できる。次にステップＳ７０５に進む。
【００４４】
ステップＳ７０３およびステップＳ７０４の両方が完了すると実行されるステップＳ７０５では、ステップＳ７０３において保存した特徴点軌跡と、ステップＳ７０４において抽出した直線的構造物の情報を用いて、カメラ角度補正、すなわち前カメラ１１１ａの地面に対する角度と地面からの高さを推定し、以前の算出結果を補正する。カメラ角度補正は、ピッチ角補正、ヨー角補正、ロール角補正の３つの補正を順に行い、最後に高さ推定を行う。
【００４５】
ピッチ角補正では、車両進行方向の特徴点軌跡、または抽出した直線的構造物の平行性に注目して補正する。前カメラ１１１ａの撮影画像を俯瞰視点に座標変換した画像上では、もともと平行な直線や直進走行時の車両進行方向の特徴点軌跡は平行に見えるはずであるが、ピッチ角にキャリブレーション誤差がある場合は、平行にならずハの字状に見える。これを平行になるようにカメラパラメータを補正することでピッチ角のキャリブレーションができる。俯瞰視点に座標変換した画像上で平行になる角度は、直線の平行性を目的関数として、ガウスニュートン法などの最適化法によって求めることができる。
【００４６】
ヨー角補正も、上記と同様の考えで補正を実施する。ピッチ角は前カメラ１１１ａから見た車両１の進行方向の直線的構造物の平行性に影響するが、ヨー角は、前カメラ１１１ａから見た車両１の幅方向の直線的構造物の平行性に影響する。幅方向の直線的構造物は横断歩道や停止線しかなく、公道走行中の登場頻度が低いため、特徴点軌跡を用いる。同時に画像上に出現したコーナー特徴点をペアとして、それぞれ特徴点追跡を実施する。追跡時にペアを結んだ直線群はヨー角誤差がなければ平行をなすはずであるため、この直線群が平行となるように、ヨー角のパラメータを推定する。この推定には、ピッチ角の場合と同様に、直線の平行性を目的関数として、ガウスニュートン法などの最適化法を用いることができる。なお、左カメラ１１１ｃ、および右カメラ１１１ｄを処理対象とする場合は、ピッチ角とヨー角の推定に用いる特徴がいれかわる。
【００４７】
ロール角補正は、ピッチ角補正の場合と同様に、車両進行方向の特徴点軌跡、または抽出した直線的構造物に注目する。ロール角に誤差がない場合、直線構造物や特徴点軌跡がなす直線は、車両１の進行方向と一致し、俯瞰画像における縦軸方向、すなわち車両１の軸方向と一致するはずである。そこで、車両進行方向の特徴点軌跡か、抽出した直線的構造物が俯瞰画像における縦軸方向と一致するようにロール角を補正する。
【００４８】
高さ補正では、特徴点軌跡の長さと車両進行距離の対応関係を利用する。すなわち、正しいカメラ高さが推定されていれば、特徴点軌跡の長さに対応する距離と車両１の進行距離が一致するが、カメラ高さに誤差がある場合は、これらの距離に差異が生じることに着目する。そこで、特徴点軌跡の長さに対応する距離と車両１の進行距離とが一致するようにカメラ高さを補正する。車両１の進行距離は、車速センサ１０５の出力の時間積分により得られる。特徴点軌跡の長さに対応する距離は、設計値から求めることができる。車両速度から求めた実際の進行距離に、特徴点軌跡の長さが一致するようにガウスニュートン法などの最適化処理を用いてカメラ高さを推定する。
以上により、図７に示すフローチャートの処理を終了する。
【００４９】
（姿勢情報によるキャリブレーション）
図８は、図５のステップＳ５０４、およびステップＳ５０９において実行される、姿勢情報によるキャリブレーション処理の詳細を示すフローチャートである。姿勢情報によるキャリブレーションでは、カメラ１１１ａ〜ｄは剛体である車体に取り付けられており、車体の姿勢変動に連動してカメラ１１１ａ〜ｄの位置及び姿勢が変動することを利用している。
【００５０】
ステップＳ８００では、図５のステップＳ５０６が実行済みであるか否か、すなわち画像情報によるキャリブレーションがこれまでに実行されたか否かを判断する。換言すると、車両座標系に対するカメラ１１１ａ〜ｄそれぞれの座標系の関係が既知であるか否かを判断する。一度でも実行されたと判断する場合はステップＳ８０１に進み、一度も実行されていないと判断する場合は図８に示すフローチャートの処理を終了する。図５のステップＳ５０６が実行済みであるか否かは、たとえばフラッシュメモリ１１２にステップＳ５０６が実行済みであることを示す情報が保存されているか否かにより判断することができる。
【００５１】
ステップＳ８０１では、車両座標系の姿勢角情報と、図５のステップＳ５０６により算出された車両座標系に対するカメラ１１１ａ〜ｄそれぞれの座標系の関係を用いて、カメラ１１１ａ〜ｄそれぞれの座標変換値を算出する。車両座標系の姿勢角情報は、ジャイロセンサ１０８の出力、ジャイロ補正情報、および車高センサ１０７の出力に基づき得られる。次にステップＳ８０２〜Ｓ８０５が並列に実行される。
ステップＳ８０２〜Ｓ８０５では、ステップＳ８０１において算出したカメラ１１１ａ〜ｄの座標変換値に基づき、カメラ１１１ａ〜ｄのカメラパラメータをそれぞれ算出する。ステップＳ８０２〜Ｓ８０５の全てが完了すると、図８に示すフローチャートの処理を終了する。
【００５２】
（減衰率の設定）
図２のＳ２０６において、姿勢センサ信頼度の算出に使用される減衰率の設定方法を説明する。上述のとおり、初期値、すなわち工場出荷時は減衰率として予め定めた値が使用されるが、演算装置１０１は以下のように実測に基づく減衰率を設定する。
演算装置１０１は、図２のステップＳ２０４に示すカメラキャリブレーション処理、および図２のステップＳ２０８に示す姿勢センサキャリブレーション処理が少なくとも１回ずつ実行されると以下の処理を行う。すなわち演算装置１０１は、ドリフト量の経時変化を観測し、横軸に経過時間、縦軸にドリフト量をとり、観測して得られる点群を最小二乗近似する直線を求める。この直線の傾きを新たな減衰率として設定する。ただしここでいうドリフト量とは、カメラの撮影画像を用いて算出される車両１の姿勢角と、ジャイロセンサ１０８の出力を積算して得られる姿勢角の差である。
【００５３】
（動作例）
本実施の形態に係るキャリブレーションシステム１００の動作例を説明する。前述のとおり車両１は衝突回避機能、および駐車アシスト機能を有するが、ここでは工場から出荷された直後のキャリブレーションシステム１００が車両１ａに搭載されていることとする。すなわち、衝突回避機能や駐車アシスト機能が十分に機能しない状態でこの動作例が開始される。この車両１に複数人が乗車して目的地まで車道を走行し、目的地に併設された駐車場の入り口で同乗者は降車し、運転者は一人で駐車場で駐車を行う場面を想定する。車道では衝突回避機能、駐車場では駐車アシスト機能が有効に働くことが期待される。
【００５４】
（動作例・・・目的地到着まで）
まず、目的地に到着するまでのキャリブレーションシステム１００の動作を説明する。
運転者によりエンジンキースイッチがＯＮにされると、演算装置１０１は図２に示すメインフローチャートを実行する。カメラ１１１ａ〜ｄのレンズには汚れがなく、撮影画像のコントラストも高いので、カメラ信頼度は閾値より大きいと判断される（ステップＳ２０３：ＹＥＳ）。姿勢センサ信頼度は、初期設定された減衰率が大きかったので閾値以下と判断される（ステップＳ２０７：ＹＥＳ）。そのためステップＳ２０８とステップＳ２０４が実行される。ステップＳ２０８、すなわち図４に示す処理では、データの蓄積量が十分ではないとして（図４、ステップＳ４０５：ＮＯ）ステップＳ４０６の姿勢センサキャリブレーションは実行されない。ステップＳ２０４、すなわち図５に示す処理では、カメラ信頼度のみが閾値を上回るのでステップＳ５０７の画像情報によるキャリブレーションが実行され、図６および図７に示す処理が実行される。その後、再びメインフローチャートに示す処理が実行される。
【００５５】
ステップＳ２０８の処理は繰り返し実行され、データの蓄積量が十分になると（図４、ステップＳ４０５：ＹＥＳ）、ステップＳ４０６の姿勢センサキャリブレーションが実行され、ジャイロ補正情報が作成される。姿勢センサ信頼度はジャイロ補正情報が作成された直後に最大値をとりその後時間の経過とともに減衰する特性を有するので、ジャイロ補正情報の作成後は姿勢センサ信頼度が閾値よりも大きい（図２のＳ２０７：ＮＯ、図５のＳ５０２：ＹＥＳ）と判断され、ステップＳ５０４の姿勢情報によるキャリブレーションも実行される。その後さらに時間が経過すると、姿勢センサ信頼度が減少して閾値以下であると判断されるが、カメラ信頼度が閾値より大きければ再度ステップＳ２０８の姿勢センサキャリブレーションが実行される（Ｓ２０３：ＹＥＳかつＳ２０７：ＹＥＳ→Ｓ２０８）。
【００５６】
このように、車両１は工場出荷前にはキャリブレーションが行われていなかったが、走行中に図６および図７に示す処理がカメラパラメータのキャリブレーションが実行される。したがって演算装置１０１は、カメラ１１１ａ〜ｄの撮影画像を用いて車両１の周囲に存在する障害物との距離を高い精度で算出でき、衝突回避機能が効果を奏する。また、データの蓄積によりステップＳ４０６の姿勢センサキャリブレーションも行われる。
【００５７】
（動作例・・・目的地到着後）
次に、目的地に到着した後のキャリブレーションシステム１００の動作を説明する。
目的地に到着し、車両１が併設された駐車場の前まで到達すると、運転者を残して同乗者が降車して、運転者は駐車場で駐車を開始する。同乗者が降車したので車両１の積載総重量が減少し、荷重のバランスも変化する。すなわち車両１の地面に対する位置姿勢が変化するため、カメラ１１１ａ〜ｄのカメラパラメータを再計算する必要がある。
【００５８】
このとき、カメラ信頼度、および姿勢センサ信頼度のいずれも閾値より大きいと、画像情報によるキャリブレーション（図５、Ｓ５０２）、および姿勢情報によるキャリブレーション（図５、Ｓ５０４）の両方が実行される。しかし、画像情報によるキャリブレーションは、駐車場内では画像情報によるキャリブレーションに必要な特徴量が得られるとは限らないので実行できない場合があり、駐車アシスト機能が求められる駐車開始までにキャリブレーションが間に合わない可能性がある。
【００５９】
その一方、姿勢情報によるキャリブレーションは、姿勢情報の取得には駐車場内でも特に支障はないためすぐに実行が可能である。なお、同乗者の降車により地面に対する車両１の位置姿勢は変化したが、車両座標系に対するカメラ１１１ａ〜ｄの位置姿勢関係は変化しないため、姿勢情報によるキャリブレーションの実行に支障はない。
このように、駐車場の手前で同乗者が降車したことによりカメラパラメータの再計算が必要になった際に、画像情報によるキャリブレーションでは実行までに時間を要して現実的ではない。しかし、姿勢情報によるキャリブレーションは、駐車場内においても姿勢センサ信頼度が閾値よりも大きければ即時実施できる利点がある。
【００６０】
上述した第１の実施の形態によれば、次の作用効果が得られる。
（１）キャリブレーションシステム１００は、車両１に搭載され、車両１の車両座標系の姿勢情報を取得するジャイロセンサ（姿勢センサ）１０８と、車両１の周囲を撮影する撮像部１１１と、を備える。キャリブレーションシステム１００は、図２のステップＳ２０６に示すように姿勢センサ１０８の信頼度である姿勢センサ信頼度を算出する。キャリブレーションシステム１００は、図５のステップＳ５０４、Ｓ５０９に示すように、算出された姿勢センサ信頼度が予め定めた閾値より大きい場合に、姿勢センサが出力する角速度（姿勢情報）、および車両座標系に対する撮像部１１１の関係を用いて撮像部１１１の外部パラメータを推定する。
キャリブレーションシステム１００をこのように構成したので、撮像部１１１からカメラパラメータの算出に適する画像が得られない場合でも、撮像部１１１の外部パラメータを算出できる。すなわち図５のステップＳ５０４、Ｓ５０９に示す処理により、同乗者の降車などにより車両１の姿勢が変化した後に車両１が走行を行わなくても、撮像部１１１のカメラパラメータを算出できる。そのため、車両１の姿勢が変化した後でも撮像部１１１の撮影画像を用いた高精度な距離の算出が可能である。
【００６１】
（２）キャリブレーションシステム１００は、図２のステップＳ２０２に示すように撮像部１１１の信頼度であるカメラ信頼度を算出し、図５のステップＳ５０３やＳ５０７に示すように算出されたカメラ信頼度が予め定めた閾値より大きい場合に、撮像部の出力を用いて撮像部の外部パラメータを推定する。キャリブレーションシステム１００は、算出された姿勢センサ信頼度が予め定めた閾値より大きく、かつ算出されたカメラ信頼度が予め定めた閾値より大きい場合に、図５のステップＳ５０６に示すように、図５のステップＳ５０３やＳ５０７において推定された外部パラメータと姿勢センサが出力する姿勢情報とに基づき、車両座標系に対する撮像部１１１の関係を算出する。
そのため、工場出荷前に車両座標系に対する撮像部１１１の関係が算出されていなくても、演算装置１０１が車両座標系に対する撮像部１１１の関係を算出し、図５のステップＳ５０４、Ｓ５０９に示す処理によりカメラパラメータの算出が可能である。
【００６２】
（３）キャリブレーションシステム１００は、図４のステップＳ４０１に示すように車両１の直進状態と旋回状態とを判別処理を行い、図４のステップＳ４０６に示すように走行状態判定部により判別された姿勢センサの出力および撮像部１１１の出力に基づき、姿勢センサのキャリブレーションを行う。
そのため、ジャイロセンサ１０８の出力に基づく姿勢角情報の算出には累積誤差が生じることが避けられないが、図４のステップＳ４０６に示す姿勢センサキャリブレーションによりこの累積誤差の影響を排除することができる。
【００６３】
（４）図２のステップＳ２０６に示す姿勢センサ信頼度算出処理は、姿勢センサ補正部によるキャリブレーションが実行された時刻からの経過時間に基づいて姿勢センサ信頼度を算出する。
そのため、ジャイロセンサ１０８の出力に基づいて算出される姿勢角情報に含まれる誤差の大きさを簡易に見積もることができる。
【００６４】
（５）図２のステップＳ２０２に示すカメラ信頼度算出処理は、図３のステップＳ３０１に示す撮像部１１１が撮影して得られた画像のコントラストを評価するコントラスト判定処理と、図３のステップＳ３０２に示す撮像部１１１が撮影して得られた複数の画像の差分を用いて撮像部の撮像面を遮蔽する付着物を評価する付着物判定処理を含み、これら判定処理の評価を用いてカメラ信頼度を算出する。
そのため、撮像部１１１が撮影して得られた画像を用いたカメラパラメータの算出可否を判断する情報を生成することができる。
【００６５】
（変形例１）
第１の実施の形態では、工場出荷前にカメラ１１１ａ〜ｄのカメラパラメータの算出、およびジャイロセンサ１０８のジャイロ補正情報の算出を行わないこととした。しかし工場出荷前にカメラパラメータとジャイロ補正情報の両方を算出してもよい。この場合は、算出したカメラパラメータ、およびジャイロ補正情報は、フラッシュメモリ１１２に格納される。
この変形例１によれば、出荷直後から姿勢情報を用いたキャリブレーションが可能となる。
【００６６】
（変形例２）
第１の実施の形態ではステップＳ４０３およびステップＳ４０４において蓄積したデータを消去しなかったが、一定時間の経過後、またはステップＳ４０６の実行後に消去してもよい。
【００６７】
上述した各実施の形態および変形例は、それぞれ組み合わせてもよい。
上記では、種々の実施の形態および変形例を説明したが、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。
【符号の説明】
【００６８】
１  …  車両
１００  …  キャリブレーションシステム
１０１  …  演算装置
１０５  …  車速センサ
１０６  …  舵角センサ
１０７  …  車高センサ
１０８  …  ジャイロセンサ（姿勢センサ）
１１１  …  撮像部
１１１ａ  …  前カメラ
１１１ｂ  …  後カメラ
１１１ｃ  …  左カメラ
１１１ｄ  …  右カメラ
１１２  …  フラッシュメモリ
【図１】
0006511406.tif 000002
【図２】
0006511406.tif 000003
【図３】
0006511406.tif 000004
【図４】
0006511406.tif 000005
【図５】
0006511406.tif 000006
【図６】
0006511406.tif 000007
【図７】
0006511406.tif 000008
【図８】
0006511406.tif 000009