(57)【要約】【課題】カメラの設置パラメータを容易に導出する。【解決手段】車載装置では、画像取得部が、車両９が備えるカメラで車両９の走行中の異なる時点に撮影された２つの撮影画像を取得する。フロー抽出部は、２つの撮影画像間での特徴点の動きを示す複数のオプティカルフローＯＰを抽出し、複数のオプティカルフローＯＰを車両９を基準とした車両座標系の複数のベクトルＶにそれぞれ変換する。そして、パラメータ導出部は、複数のベクトルＶに基いて、カメラの設置に関する設置パラメータを導出する。このため、車載装置２は、車両９の周辺に特徴点として現れる被写体の点が存在しさえすれば設置パラメータを導出できる。【選択図】図１２
2014165810.tif 000002
【特許請求の範囲】
【請求項１】
カメラに関するパラメータを取得するパラメータ取得装置であって、
車両が備えるカメラで前記車両の走行中の異なる時点に撮影された複数の撮影画像を取得する取得手段と、
前記複数の撮影画像間での特徴点の動きを示す複数の第１ベクトルを抽出する抽出手段と、
前記複数の第１ベクトルを前記車両を基準とした車両座標系の複数の第２ベクトルに変換する変換手段と、
前記複数の第２ベクトルに基いて、前記カメラの設置に関する設置パラメータを導出する導出手段と、
を備えることを特徴とするパラメータ取得装置。
【請求項２】
請求項１に記載のパラメータ取得装置において、
前記複数の撮影画像は、前記車両の直進中に撮影されることを特徴とするパラメータ取得装置。
【請求項３】
請求項２に記載のパラメータ取得装置において、
前記導出手段は、前記車両の前後方向と前記複数の第２ベクトルとの関係に基いて設置パラメータを導出することを特徴とするパラメータ取得装置。
【請求項４】
請求項２または３に記載のパラメータ取得装置において、
前記導出手段は、前記複数の撮影画像それぞれの撮影時点の相互間において前記車両が移動した移動距離を導出し、
前記移動距離と前記複数の第２ベクトルとの関係に基いて設置パラメータを導出することを特徴とするパラメータ取得装置。
【請求項５】
カメラに関するパラメータを取得するパラメータ取得方法であって、
（ａ）車両が備えるカメラで前記車両の走行中の異なる時点に撮影された複数の撮影画像を取得する工程と、
（ｂ）前記複数の撮影画像間での特徴点の動きを示す複数の第１ベクトルを抽出する工程と、
（ｃ）前記複数の第１ベクトルを前記車両を基準とした車両座標系の複数の第２ベクトルに変換する工程と、
（ｄ）前記複数の第２ベクトルに基いて、前記カメラの設置に関する設置パラメータを導出する工程と、
を備えることを特徴とするパラメータ取得方法。
【請求項６】
コンピュータによって実行可能なプログラムであって、
前記コンピュータに、
（ａ）車両が備えるカメラで前記車両の走行中の異なる時点に撮影された複数の撮影画像を取得する工程と、
（ｂ）前記複数の撮影画像間での特徴点の動きを示す複数の第１ベクトルを抽出する工程と、
（ｃ）前記複数の第１ベクトルを前記車両を基準とした車両座標系の複数の第２ベクトルに変換する工程と、
（ｄ）前記複数の第２ベクトルに基いて、前記カメラの設置に関する設置パラメータを導出する工程と、
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カメラに関するパラメータを取得するパラメータ取得装置に関する。
【背景技術】
【０００２】
従来より、自動車などの車両に搭載されたカメラで得られた車両の周辺の画像を、車室内のディスプレイに表示する車載装置が知られている。このような車載装置を利用することにより、ドライバは車両の周辺の様子をほぼリアルタイムに把握することができる。
【０００３】
カメラを車両に設置した場合においては、通常、カメラの実際の設置状態（位置や姿勢）は設計上の設置状態とは僅かに異なっている。このようなカメラの設置状態の誤差に起因して、当該カメラで取得された撮影画像に含まれる被写体の像の位置は、理想的な位置からズレることになる。
【０００４】
このような問題に対応するため、従来より、カメラの設置に関する設置パラメータ（例えば、パン角、チルト角、ロール角など）を取得するキャリブレーション処理がなされている（例えば、特許文献１参照。）。車載装置は、このようなキャリブレーション処理で取得された設置パラメータを用いることで、撮影画像中の被写体の像の位置を補正することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−２３９４０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
一般に、キャリブレーション処理を実行する場合には、図１５に示すように、所定の模様のマーカ１０３が配置された作業場の所定位置１０４に車両１０９が停車される。この状態で、車両１０９に搭載されたカメラ１０５が、マーカ１０３を含む車両９の周囲の撮影画像を取得する。そして、パラメータ取得装置１０２が、取得された撮影画像に含まれるマーカ１０３の像の位置に基いてカメラ１０５の設置パラメータを導出する。
【０００７】
このようなキャリブレーション処理において、設置パラメータを正しく導出するためには、車両１０９と複数のマーカ１０３との相対位置を一定とする必要がある。このため、車両１０９を正確に停車させるための正対装置の導入や、複数のマーカ１０３の作業場への正確な配置が必要である。しかしながら、このような正対装置の導入やマーカ１０３を正確に配置するなどの条件を満足することは、一般的なカーディーラや小規模な修理工場などでは困難である。このため、より容易に設置パラメータを導出できる手法が求められていた。
【０００８】
本発明は、上記課題に鑑みてなされたものであり、カメラの設置パラメータを容易に導出できる技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するため、請求項１の発明は、カメラに関するパラメータを取得するパラメータ取得装置であって、車両が備えるカメラで前記車両の走行中の異なる時点に撮影された複数の撮影画像を取得する取得手段と、前記複数の撮影画像間での特徴点の動きを示す複数の第１ベクトルを抽出する抽出手段と、前記複数の第１ベクトルを前記車両を基準とした車両座標系の複数の第２ベクトルに変換する変換手段と、前記複数の第２ベクトルに基いて、前記カメラの設置に関する設置パラメータを導出する導出手段と、を備えている。
【００１０】
また、請求項２の発明は、請求項１に記載のパラメータ取得装置において、前記複数の撮影画像は、前記車両の直進中に撮影される。
【００１１】
また、請求項３の発明は、請求項２に記載のパラメータ取得装置において、前記導出手段は、前記車両の前後方向と前記複数の第２ベクトルとの関係に基いて設置パラメータを導出する。
【００１２】
また、請求項４の発明は、請求項２または３に記載のパラメータ取得装置において、前記導出手段は、前記複数の撮影画像それぞれの撮影時点の相互間において前記車両が移動した移動距離を導出し、前記移動距離と前記複数の第２ベクトルとの関係に基いて設置パラメータを導出する。
【００１３】
また、請求項５の発明は、カメラに関するパラメータを取得するパラメータ取得方法であって、（ａ）車両が備えるカメラで前記車両の走行中の異なる時点に撮影された複数の撮影画像を取得する工程と、（ｂ）前記複数の撮影画像間での特徴点の動きを示す複数の第１ベクトルを抽出する工程と、（ｃ）前記複数の第１ベクトルを前記車両を基準とした車両座標系の複数の第２ベクトルに変換する工程と、（ｄ）前記複数の第２ベクトルに基いて、前記カメラの設置に関する設置パラメータを導出する工程と、を備えている。
【００１４】
また、請求項６の発明は、コンピュータによって実行可能なプログラムであって、前記コンピュータに、（ａ）車両が備えるカメラで前記車両の走行中の異なる時点に撮影された複数の撮影画像を取得する工程と、（ｂ）前記複数の撮影画像間での特徴点の動きを示す複数の第１ベクトルを抽出する工程と、（ｃ）前記複数の第１ベクトルを前記車両を基準とした車両座標系の複数の第２ベクトルに変換する工程と、（ｄ）前記複数の第２ベクトルに基いて、前記カメラの設置に関する設置パラメータを導出する工程と、を実行させる。
【発明の効果】
【００１５】
請求項１ないし６の発明によれば、車両の走行中の異なる時点に撮影された複数の撮影画像間での特徴点の動きを示す複数の第１ベクトルを抽出し、その複数の第１ベクトルを変換した車両座標系の複数の第２ベクトルに基いてカメラの設置に関する設置パラメータを導出する。このため、車両の周辺に特徴点して現れる被写体の点が存在しさえすればカメラの設置パラメータを導出できる。したがって、カメラの設置パラメータを容易に導出できる。
【００１６】
また、特に請求項２の発明によれば、ユーザが車両を単純に直進すればよいため、容易に設置パラメータを導出できる。
【００１７】
また、特に請求項３の発明によれば、車両の前後方向と第２ベクトルの方向との関係に基いて設置パラメータを容易に導出できる。
【００１８】
また、特に請求項４の発明によれば、車両が移動した移動距離を用いることで精度の高い設置パラメータを導出できる。
【図面の簡単な説明】
【００１９】
【図１】図１は、パラメータ取得装置の使用場面の一例を示す図である。
【図２】図２は、複数のカメラの位置を示す図である。
【図３】図３は、車載装置の構成を示す図である。
【図４】図４は、合成画像を生成する手法を説明する図である。
【図５】図５は、投影面の部分と撮影画像との対応関係を示す図である。
【図６】図６は、撮影画像における投影面に投影する領域を説明する図である。
【図７】図７は、キャリブレーション処理の流れを示す図である。
【図８】図８は、車両に対する被写体点の相対的な位置を示す図である。
【図９】図９は、４つのカメラで得られる撮影画像の例を示す図である。
【図１０】図１０は、車両座標系とカメラ座標系との関係を示す図である。
【図１１】図１１は、パラメータ導出処理の流れを示す図である。
【図１２】図１２は、オプティカルフローの車両座標系のベクトルへの変換を説明する図である。
【図１３】図１３は、車両座標系のベクトルを示す図である。
【図１４】図１４は、車両が旋回する場合の設置パラメータの導出手法を説明する図である。
【図１５】図１５は、一般的なキャリブレーション装置を実行する場面の一例を示す図である。
【発明を実施するための形態】
【００２０】
以下、図面を参照しつつ本発明の実施の形態について説明する。
【００２１】
＜１．パラメータ取得装置の概要＞
図１は、本実施の形態のパラメータ取得装置の使用場面の一例を示す図である。車両（本実施の形態では自動車）９に搭載された車載装置２は、車両９が備える複数のカメラ５で得られた複数の撮影画像を用いて合成画像を生成し、車両９の車室内に表示する機能を有している。
【００２２】
車両９が備える複数のカメラ５それぞれの実際の設置状態は、設計上の設置状態とは僅かに異なっている。このため、車載装置２は、このような複数のカメラ５それぞれの設置に関する設置パラメータを取得するパラメータ取得装置としても機能する。設置パラメータは、カメラ５の実際の設置状態を示すものとなる。車載装置２は、キャリブレーション処理を実行して、各カメラ５の設置パラメータを取得する。
【００２３】
図１に示すように、車載装置２がキャリブレーション処理を行う場合は、カメラ５が取得する撮影画像中において特徴点（コーナーなどの際立って検出できる点）として現れる複数の点Ｐａ〜Ｐｈを含む被写体が、車両９の周辺の床面（路面）上に存在していればよい。例えば、床面の任意の模様、床面の傷、あるいは、床面に落ちているゴミや工具等であっても、このような被写体となりうる。なお、図１では、説明の便宜上、被写体の点として８つの点Ｐａ〜Ｐｈのみを示しているが、実際には多数の点があることが望ましい。以下、このような撮影画像中において特徴点として現れる被写体の点を「被写体点」という。
【００２４】
キャリブレーション処理を行う際には、車載装置２のユーザとなる作業員は車両９を走行させる。車載装置２は、このように車両９の走行中において互いに異なる時点に同一のカメラ５で撮影された２枚の撮影画像を取得し、２枚の撮影画像間での特徴点の動きを示すベクトルであるオプティカルフローに基いて当該カメラ５の設置パラメータを取得する。したがって、作業場に特定のマーカ等を正確に配置するなどの困難な条件を必要とすることなく、設置パラメータを容易に導出できる。また、キャリブレーション処理を、作業場以外の道路などの様々な場所で行うことも可能である。
【００２５】
＜２．車載カメラ＞
図２は、車両９における複数のカメラ５の位置と光軸の方向（設計上の方向）とを示す図である。複数のカメラ５はそれぞれ、レンズと撮像素子とを備えており、車両９の周辺の撮影画像を電子的に取得する。複数のカメラ５はそれぞれ、車載装置２とは別に車両９の適位置に配置され、取得した撮影画像を車載装置２に入力する。
【００２６】
複数のカメラ５は、フロントカメラ５Ｆ、バックカメラ５Ｂ、左サイドカメラ５Ｌ、及び、右サイドカメラ５Ｒを含んでいる。これら４つのカメラ５Ｆ，５Ｂ，５Ｌ，５Ｒは、互いに異なる位置に配置され、車両９の周辺の異なる方向の撮影画像を取得する。
【００２７】
フロントカメラ５Ｆは、車両９の前端の左右中央の近傍に設けられ、その光軸５Ｆａは車両９の前後方向に沿って前方に向けられる。バックカメラ５Ｂは、車両９の後端の左右中央の近傍に設けられ、その光軸５Ｂａは車両９の前後方向に沿って後方に向けられる。左サイドカメラ５Ｌは車両９の左側のサイドミラー９３Ｌに設けられ、その光軸５Ｌａは車両９の左右方向に沿って左側方に向けられる。また、右サイドカメラ５Ｒは車両９の右側のサイドミラー９３Ｒに設けられ、その光軸５Ｒａは車両９の左右方向に沿って右側方に向けられる。
【００２８】
これらのカメラ５のレンズには魚眼レンズが採用され、各カメラ５は１８０度以上の画角Φを有している。このため、４つのカメラ５Ｆ，５Ｂ，５Ｌ，５Ｒを利用することで、車両９の全周囲を撮影対象とすることが可能である。
【００２９】
＜３．車載装置＞
図３は主に、車載装置２の構成を示す図である。図に示すように、車載装置２は、４つのカメラ５と通信可能に接続されている。車載装置２は、４つのカメラ５でそれぞれ得られた４つの撮影画像を合成して仮想視点からみた車両９の周辺の様子を示す合成画像を生成し、この合成画像を表示する。車載装置２は、この合成画像を生成する際に、キャリブレーション処理で得られた設置パラメータを利用する。
【００３０】
車載装置２は、ディスプレイ２６と、操作部２５と、画像取得部２２と、画像合成部２３と、信号受信部２７と、記憶部２４と、制御部２１とを備えている。
【００３１】
ディスプレイ２６は、例えば、液晶パネルなどを備えた薄型の表示装置であり、各種の情報や画像を表示する。ディスプレイ２６は、その画面がユーザから視認可能なように、車両９の車室内のインストルメントパネルなどに配置される。
【００３２】
操作部２５は、ユーザの操作を受け付ける部材であり、タッチパネル及び操作ボタンを含んでいる。タッチパネルはディスプレイ２６の画面に重ねて設けられ、操作ボタンはディスプレイ２６の画面の周囲に設けられる。ユーザが操作部２５を操作した場合は、その操作の内容を示す信号が制御部２１に入力される。
【００３３】
画像取得部２２は、４つのカメラ５から、各カメラ５で得られた撮影画像を取得する。画像取得部２２は、アナログの撮影画像をデジタルの撮影画像に変換するＡ／Ｄ変換機能などの基本的な画像処理機能を有している。画像取得部２２は、取得した撮影画像に所定の画像処理を行い、処理後の撮影画像を画像合成部２３及び制御部２１に入力する。
【００３４】
画像合成部２３は、例えばハードウェア回路であり、所定の画像処理を実行する。画像合成部２３は、４つのカメラ５でそれぞれ取得された４つの撮影画像を用いて、任意の仮想視点からみた車両９の周辺の様子を示す合成画像（俯瞰画像）を生成する。画像合成部２３が合成画像を生成する手法については後述する。
【００３５】
信号受信部２７は、ＣＡＮなどの車載ネットワーク９９を介して、速度センサ９１から出力される車両９の速度を示す信号を受信する。信号受信部２７は、受信した信号を制御部２１に入力する。
【００３６】
記憶部２４は、例えば、フラッシュメモリなどの不揮発性メモリであり、各種の情報を記憶する。記憶部２４は、設置パラメータ２４ａとプログラム２４ｂとを記憶している。
【００３７】
設置パラメータ２４ａは、カメラ５の設置に関するパラメータである。設置パラメータ２４ａは、パン角、チルト角、ロール角などカメラ５の実際の設置状態（実際の光軸の方向）を示すパラメータを含んでいる。このような設置パラメータ２４ａはカメラ５ごとに異なっているため、記憶部２４は、４つのカメラ５それぞれの設置パラメータ２４ａを記憶する。記憶部２４に記憶された設置パラメータ２４ａは、画像合成部２３が合成画像を生成する際に利用される。設置パラメータ２４ａはキャリブレーション処理によって取得されるため、キャリブレーション処理の実行前は記憶部２４に設置パラメータ２４ａは記憶されていない。
【００３８】
また、プログラム２４ｂは、車載装置２のファームウェアである。このようなプログラム２４ｂは、該プログラム２４ｂを記録したコンピュータ読み取り可能な記録媒体からの読み取りや、ネットワークを介した通信などによって取得し、記憶部２４に記憶させることができる。
【００３９】
制御部２１は、車載装置２の全体を統括的に制御するマイクロコンピュータである。制御部２１は、ＣＰＵ、ＲＡＭ及びＲＯＭなどを備えている。制御部２１の各種の機能は、記憶部２４に記憶されたプログラム２４ｂの実行（プログラム２４ｂに従ったＣＰＵの演算処理）によって実現される。図中に示すフロー抽出部２１ａ、座標変換部２１ｂ、及び、パラメータ導出部２１ｃは、プログラム２４ｂの実行により実現される機能部の一部である。これらの機能部は、キャリブレーション処理に係る処理を実行する。
【００４０】
フロー抽出部２１ａは、複数の撮影画像間での特徴点の動きを示すベクトルであるオプティカルフローを抽出する。座標変換部２１ｂは、複数のオプティカルフローを車両９を基準とした車両座標系の複数のベクトルに変換する。また、パラメータ導出部２１ｃは、車両座標系の複数のベクトルに基いて、カメラ５の設置に関する設置パラメータを導出する。これらの機能部の処理の詳細については後述する。
【００４１】
＜４．合成画像の生成＞
次に、画像合成部２３が合成画像を生成する手法について説明する。図４は、画像合成部２３が合成画像を生成する手法を説明する図である。
【００４２】
車載装置２が備えるフロントカメラ５Ｆ、バックカメラ５Ｂ、左サイドカメラ５Ｌ、及び、右サイドカメラ５Ｒは、車両９の前方、後方、左側方及び右側方をそれぞれ示す４つの撮影画像ＧＦ，ＧＢ，ＧＬ，ＧＲを取得する。これら４つの撮影画像ＧＦ，ＧＢ，ＧＬ，ＧＲには、車両９の全周囲のデータが含まれている。
【００４３】
画像合成部２３は、これら４つの撮影画像ＧＦ，ＧＢ，ＧＬ，ＧＲに含まれるデータ（各画素の値）を、仮想的な三次元空間における立体曲面である投影面ＴＳに投影する。投影面ＴＳは、例えば略半球状（お椀形状）をしており、その中心領域（お椀の底部分）は車両９の位置となる車両領域Ｒ０として定められている。一方、車両領域Ｒ０の外側の領域である投影領域Ｒ１は、撮影画像ＧＦ，ＧＢ，ＧＬ，ＧＲのいずれかと対応付けられている。画像合成部２３は、撮影画像ＧＦ，ＧＢ，ＧＬ，ＧＲに含まれるデータを投影領域Ｒ１に投影する。
【００４４】
図５に示すように、画像合成部２３は、投影領域Ｒ１において車両９の前方に相当する部分に、フロントカメラ５Ｆの撮影画像ＧＦのデータを投影する。また、画像合成部２３は、投影領域Ｒ１において車両９の後方に相当する部分に、バックカメラ５Ｂの撮影画像ＧＢのデータを投影する。さらに、画像合成部２３は、投影領域Ｒ１において車両９の左側方に相当する部分に左サイドカメラ５Ｌの撮影画像ＧＬのデータを投影し、投影領域Ｒ１において車両９の右側方に相当する部分に右サイドカメラ５Ｒの撮影画像ＧＲのデータを投影する。
【００４５】
４つの撮影画像ＧＦ，ＧＢ，ＧＬ，ＧＲのそれぞれにおいて、投影面ＴＳに投影すべきデータを含む領域は、４つのカメラ５それぞれの設置状態の誤差に応じて変化する。このため、画像合成部２３は、記憶部２４に記憶された４つのカメラ５それぞれの設置パラメータ２４ａ（パン角、チルト角、ロール角など）を用いて、撮影画像ＧＦ，ＧＢ，ＧＬ，ＧＲそれぞれの投影面ＴＳに投影する領域を修正する。
【００４６】
このような投影面ＴＳに投影する領域について、図６に示す撮影画像Ｇを例に説明する。仮にこの撮影画像Ｇを取得したカメラ５に関して設置状態の誤差がない場合は、投影面ＴＳに投影すべきデータを含む領域はデフォルトの領域ＵＡ１となる。通常はカメラ５の設置状態には誤差が存在することから、画像合成部２３は、当該カメラ５の設置パラメータ２４ａに基づいて、投影面ＴＳに投影する領域を領域ＵＡ１から領域ＵＡ２に修正する。そして、画像合成部２３は、この修正後の領域ＵＡ２に含まれるデータを投影面ＴＳに投影することになる。
【００４７】
図４に戻り、このように投影面ＴＳの各部分にデータを投影すると、次に、画像合成部２３は、車両９の三次元形状を示すポリゴンのモデルを仮想的に構成する。この車両９のモデルは、投影面ＴＳが設定される三次元空間における車両９の位置である車両領域Ｒ０に配置される。
【００４８】
次に、画像合成部２３は、三次元空間に対して仮想視点ＶＰを設定する。画像合成部２３は、三次元空間における任意の視点位置に任意の視線方向に向けて仮想視点ＶＰを設定できる。そして、画像合成部２３は、投影面ＴＳのうち、設定した仮想視点ＶＰからみて所定の視野角に含まれる領域を画像として切り出す。また、画像合成部２３は、設定した仮想視点ＶＰに応じてポリゴンのモデルに関してレンダリングを行い、その結果となる二次元の車両像９０を、切り出した画像に対して重畳する。これにより、画像合成部２３は、仮想視点ＶＰからみた車両９及び車両９の周辺の領域を示す合成画像ＣＰを生成する。
【００４９】
例えば図４に示すように、視点位置を車両９の直上、視線方向を直下とした仮想視点ＶＰａを設定した場合には、画像合成部２３は、車両９及び車両９の周辺の領域を俯瞰する合成画像ＣＰａを生成できる。また、視点位置を車両９の左後方、視線方向を車両９の前方とした仮想視点ＶＰｂを設定した場合には、画像合成部２３は、車両９の左後方からみた車両９及び車両９の周辺を示す合成画像ＣＰｂを生成できる。
【００５０】
このような合成画像ＣＰの生成において設置パラメータ２４ａを用いない場合には、４つの撮影画像ＧＦ，ＧＢ，ＧＬ，ＧＲが整合なく合成されてしまう。その結果、撮影画像同士の境界部分Ｂ（図５参照。）で同一の被写体の像が分断されるなどの不自然な合成画像ＣＰが生成されることになる。このため、適切な合成画像ＣＰを生成するためには、カメラ５の実際の設置状態を示す設置パラメータ２４ａを導出することが必要となる。
【００５１】
＜５．キャリブレーション処理＞
次に、車載装置２が設置パラメータ２４ａを取得するキャリブレーション処理の流れについて説明する。図７は、キャリブレーション処理の流れを示す図である。このキャリブレーション処理は、図１に示すような複数の被写体点Ｐａ〜Ｐｈを含む被写体が車両９の周辺に存在している状態で、作業員が操作部２５を介して所定の操作を車載装置２に行い、さらに、車両９を走行させた場合に実行される。作業員は、クリープ現象を利用して比較的低速に車両９の前後方向に沿って車両９を走行（すなわち、直進）させる。
【００５２】
制御部２１は、まず、車両９が走行していることを確認する（ステップＳ１１）。制御部２１は、速度センサ９１から出力される車両９の速度を示す信号に基いて、車両９の走行を確認する。さらに、制御部２１は、速度センサ９１からの信号に基いて、車両９の速度が安定したこと（加速度が閾値より低下したこと）を確認する。
【００５３】
制御部２１は、車両９の速度が安定したことを確認すると、次に、画像取得部２２を制御して、４つのカメラ５のそれぞれから２つの撮影画像を取得させる（ステップＳ１２）。画像取得部２２は、互いに異なる時点に撮影された２つの撮影画像を各カメラ５から取得する。同一のカメラ５が２つの撮影画像を撮影する間隔（撮影時点の相互間）は、車両９が例えば約１ｍ進むように予め定められた時間（例えば、０．５秒）とされる。作業員は、このような２つの撮影画像の取得に十分な距離（例えば、３ｍ程度）だけ車両９を走行させると、車両９を停車する。
【００５４】
次に、パラメータ導出部２１ｃが、２つの撮影画像の撮影時点の相互間において、車両９が実際に移動した移動距離を導出する（ステップＳ１３）。パラメータ導出部２１ｃは、２つの撮影画像の撮影時点の相互間（時間）と、速度センサ９１からの信号が示す速度とを積分することで実際の移動距離を導出できる。
【００５５】
次に、フロー抽出部２１ａは、各カメラ５ごとに得られた２つの撮影画像を用いて、オプティカルフローを抽出する（ステップＳ１４）。
【００５６】
図８は、２つの撮影画像それぞれの撮影時点における車両９に対する被写体点の相対的な位置を示す図である。１枚目の撮影画像の撮影時点の被写体点Ｐａ〜Ｐｈはそれぞれ、２枚目の撮影画像の撮影時点において被写体点Ｐａｔ〜Ｐｈｔとなる。車両９は直進することから、被写体点Ｐａ〜Ｐｈは、車両９に対して相対的に車両９の前後方向に沿って後方に移動する。
【００５７】
図９は、図８のように被写体点が相対移動した場合において、４つのカメラ５で得られる撮影画像ＧＦ，ＧＬ，ＧＲ，ＧＢの例を示す図である。図９においては、説明の便宜上、同一のカメラ５で得られた２つの撮影画像については重ねて示している。
【００５８】
図９に示すように、図８に示す被写体点は、撮影画像中において特徴点として現れる。図９では、特徴点の符号を、その特徴点に対応する被写体点の符号と同一としている。図８と図９とを比較して分かるように、車両９の前方の被写体点Ｐｃ，Ｐｄ，Ｐｃｔ，Ｐｄｔは、フロントカメラ５Ｆで得られた撮影画像ＧＦの特徴点となる。また、車両９の後方の被写体点Ｐｇ，Ｐｈ，Ｐｇｔ，Ｐｇｔは、バックカメラ５Ｂで得られた撮影画像ＧＢの特徴点となる。車両９の左側方の被写体点Ｐａ，Ｐｂ，Ｐａｔ，Ｐｂｔは、左サイドカメラ５Ｌで得られた撮影画像ＧＬの特徴点となる。車両９の右側方の被写体点Ｐｅ，Ｐｆ，Ｐｅｔ，Ｐｆｔは、右サイドカメラ５Ｒで得られた撮影画像ＧＲの特徴点となる。
【００５９】
フロー抽出部２１ａは、このような撮影画像中に含まれる特徴点を抽出し、同一のカメラ５で得られた２つの撮影画像間での特徴点の動きを示すベクトルをオプティカルフローＯＰとして抽出する。
【００６０】
フロー抽出部２１ａは、まず、ハリスオペレータなどの周知の手法により、同一のカメラ５で得られた２つの撮影画像それぞれの特徴点を抽出する。車両９から離れた被写体点ほど、その対応する特徴点の撮影画像中での位置の誤差が大きくなる。このため、フロー抽出部２１ａは、車両９から所定距離（例えば、２ｍ）以内の範囲に相当する領域（図９の領域ＴＡ）に含まれる特徴点のみを抽出する。
【００６１】
次に、フロー抽出部２１ａは、１枚目の撮影画像から抽出された特徴点と、２枚目の撮影画像から抽出された特徴点とを対応付ける。そして、フロー抽出部２１ａは、対応する２つの特徴点それぞれの位置に基づいて、特徴点の動きを示すベクトルであるオプティカルフローＯＰを抽出する。フロー抽出部２１ａは、このようなオプティカルフローＯＰの抽出を、４つのカメラ５の全てに関して実行する。
【００６２】
次に、フロー抽出部２１ａは、一つのカメラ５の撮影画像から抽出されたオプティカルフローＯＰの数が閾値（例えば、「５」）以上であるか否かを判定する（ステップＳ１５）。これにより、フロー抽出部２１ａは、設置パラメータ２４ａの導出のために十分な数のオプティカルフローＯＰが抽出されたか否かを判定する。
【００６３】
４つのカメラ５のうちの一つのカメラ５であってもこの条件（オプティカルフローＯＰの数が閾値以上）を満足しない場合は（ステップＳ１５にてＮｏ）、ディスプレイ２６を介して、被写体点の数が不十分なカメラ５を特定する情報が作業員（ユーザ）に報知され（ステップＳ１９）、キャリブレーション処理が終了する。この場合は、作業員は、被写体点を含む被写体（例えば、工具等）を、対象となるカメラ５で撮影可能な範囲に配置してから、再度、車載装置２にキャリブレーション処理を実行させる。この場合において、作業員は、対象となるカメラ５で撮影可能な領域に被写体を配置しさえすれば、どのような位置に被写体を配置してもよい。
【００６４】
４つのカメラ５の全てでオプティカルフローＯＰの数が閾値以上という条件を満足する場合は（ステップＳ１５にてＹｅｓ）、次に、パラメータ導出部２１ｃが、４つのカメラ５のうち一のカメラ５を処理の対象とする「注目カメラ」として選択する（ステップＳ１６）。そして、パラメータ導出部２１ｃが、この注目カメラ５の設置パラメータ２４ａを導出するパラメータ導出処理を実行する（ステップＳ１７）。このパラメータ導出処理においては、注目カメラ５の撮影画像から抽出された複数のオプティカルフローＯＰに基いて設置パラメータ２４ａが導出されるが、詳細は後述する。
【００６５】
パラメータ導出処理が終了すると、処理はステップＳ１６に戻り、パラメータ導出部２１ｃは、注目カメラ５に設定されていない他のカメラ５を新たな注目カメラ５に設定して、パラメータ導出処理を繰り返す。パラメータ導出部２１ｃは、このような処理を繰り返すことにより、４つのカメラ５の全ての設置パラメータ２４ａを導出する。４つのカメラ５の全ての設置パラメータ２４ａが導出されると（ステップＳ１８にてＹｅｓ）、キャリブレーション処理が終了する。
【００６６】
＜６．パラメータ導出処理＞
次に、パラメータ導出処理（ステップＳ１７）の詳細について説明する。パラメータ導出処理では、車両９を基準とした車両座標系（ワールド座標系）と、注目カメラ５を基準としたカメラ座標系（ローカル座標系）とが用いられる。図１０は、車両座標系とカメラ座標系との関係を示す図である。
【００６７】
車両座標系は、ｘ軸，ｙ軸，ｚ軸を有する三次元直交座標系であり、車両９を基準として設定される。車両座標系のｙ軸は車両９の前後方向、ｘ軸は車両９の左右方向、ｚ軸は鉛直方向にそれぞれ沿うように設定される。また、車両座標系の原点ｏは平面視で車両９の中心となる床面（路面）に設定される。
【００６８】
これに対して、カメラ座標系は、Ｘ軸，Ｙ軸，Ｚ軸を有する三次元直交座標系であり、注目カメラ５を基準として設定される。カメラ座標系のＺ軸は注目カメラ５の光軸、Ｘ軸は撮像素子の水平方向、Ｙ軸は撮像素子の上下方向にそれぞれ沿うように設定される。また、カメラ座標系の原点Ｏは、注目カメラ５のレンズの位置に設定される。一般に、車両座標系とカメラ座標系とでは各座標軸の方向は一致しない。
【００６９】
車両座標系に対するカメラ座標系の位置や姿勢は、並進成分Ｔと回転成分Ｒとで表すことができる。この車両座標系に対するカメラ座標系の位置や姿勢は、車両９における注目カメラ５の実際の設置状態（位置や姿勢）に相当する。注目カメラ５の実際の位置は車両座標系における並進成分Ｔで表すことができ、また、注目カメラ５の実際の姿勢は車両座標系に対する回転成分Ｒで表すことができる。回転成分Ｒは、ｚ−ｘ−ｚ系のオイラー角（α，β，γ）で定義され、α，β，γはそれぞれパン角、チルト角、ロール角に相当する。本実施の形態では、カメラ５が所定の位置に配置されることから、並進成分Ｔについては既知である。したがって、パラメータ導出部２１ｃは、注目カメラ５の設置パラメータとしてパン角、チルト角、ロール角に相当するα，β，γを導出する。
【００７０】
カメラ座標系のある点の座標位置を同次座標で表現されるＰｃとした場合、次の数１によって、車両座標系における座標位置Ｐｗに変換することができる。
【００７１】
【数１】
2014165810.tif 000003
数１において、Ｍは変換行列であり、上述した並進成分Ｔ及び回転成分Ｒを用いて次の数２によって表される。
【００７２】
【数２】
2014165810.tif 000004
また、並進成分Ｔは、次の数３によって表される。既述のように、この並進成分ＴのＴｘ，Ｔｙ，Ｔｚは既知である。
【００７３】
【数３】
2014165810.tif 000005
一方、回転成分Ｒは、パン角α，チルト角β，ロール角γを用いて次の数４によって表される。
【００７４】
【数４】
2014165810.tif 000006
したがって、数１の変換行列Ｍは、次の数５によって表すことができる。
【００７５】
【数５】
2014165810.tif 000007
パラメータ導出処理においては、数１の変換式が用いられ、注目カメラ５の撮影画像から抽出された複数のオプティカルフローＯＰが、車両座標系の複数のベクトルにそれぞれ変換されることになる。
【００７６】
図１１は、パラメータ導出処理の流れを示す図である。以下、パラメータ導出処理の流れについて説明する。
【００７７】
まず、パラメータ導出部２１ｃは、注目カメラ５の撮影画像から抽出された複数のオプティカルフローＯＰそれぞれの始点及び終点の位置を、注目カメラ５を基準としたカメラ座標系の座標位置Ｐｃとして導出する（ステップＳ２１）。
【００７８】
カメラ５のレンズは魚眼レンズであるため、カメラ５で得られた撮影画像に含まれる被写体の像には、ディストーション（歪曲収差）と呼ばれる比較的大きな歪が生じる（図６参照。）。このため、パラメータ導出部２１ｃは、カメラ５のディストーションの特性を考慮して、複数のオプティカルフローＯＰそれぞれの始点及び終点の位置を補正する。これにより、パラメータ導出部２１ｃは、複数のオプティカルフローＯＰそれぞれの始点及び終点の位置を、カメラ座標系の座標位置Ｐｃとして導出する。カメラ５のディストーションの特性を示すデータは、予め記憶部２４に記憶されている。
【００７９】
次に、パラメータ導出部２１ｃは、設置パラメータであるパン角α，チルト角β，ロール角γのそれぞれに仮値を設定する（ステップＳ２２）。そして、パラメータ導出部２１ｃは、設置パラメータの仮値を用いて、後述する評価値Ｅを導出する（ステップＳ２４）。パラメータ導出部２１ｃは、この仮値の組み合わせを変更しつつ（ステップＳ２７）、評価値Ｅの導出（ステップＳ２４）を繰り返す。そして、予め設定された範囲の仮値の全ての組み合わせについて評価値Ｅを導出し、評価値Ｅが最も低くなる仮値の組み合わせを設置パラメータとして導出するようになっている（ステップＳ２８）。パン角α，チルト角β，ロール角γのそれぞれの仮値は、基準となる角度を中心として例えば−１０°〜＋１０°の範囲で、ループごとの増加量を例えば０．１°として変更される（ステップＳ２７）。
【００８０】
設置パラメータに仮値が設定されると（ステップＳ２２）、パラメータ導出部２１ｃは、カメラ座標系の座標位置Ｐｃで表される複数のオプティカルフローＯＰそれぞれの始点及び終点の位置を、車両座標系の座標位置Ｐｗに変換する（ステップＳ２３）。この変換には、前述した数１が用いられる。パラメータ導出部２１ｃは、数１の変換行列Ｍ（数５）に含まれるα，β，γに、ステップＳ２２で設定した仮値を代入して利用する。
【００８１】
これにより、複数のオプティカルフローＯＰそれぞれの始点及び終点の位置が、車両座標系の座標位置Ｐｗで表される。パラメータ導出部２１ｃは、このように車両座標系の座標位置Ｐｗで表されたオプティカルフローＯＰの始点から終点へ向かうベクトルＶを導出する。このようにして、パラメータ導出部２１ｃは、注目カメラ５の撮影画像から抽出された複数のオプティカルフローＯＰを、車両座標系の複数のベクトルＶにそれぞれ変換する。
【００８２】
例えば、図１２に示すように、左サイドカメラ５Ｌで得られた撮影画像ＧＬから抽出された複数のオプティカルフローＯＰは、車両座標系における車両９の左側に相当する位置の複数のベクトルＶに変換されることになる。なお、図１２においては、車両座標系のベクトルＶの始点及び終点の符号を、その始点あるいは終点に対応する撮影画像ＧＬ中の特徴点の符号と同一としている。また、図１２中では、説明の便宜上、２つのベクトルＶのみを示しているが、実際には、注目カメラ５に係るベクトルＶとして図７のステップＳ１５で用いた閾値以上の数のベクトルＶが存在している。
【００８３】
２つの撮影画像を撮影する際に車両９は直進したため、このように変換された車両座標系の複数のベクトルＶは、理想的には車両９の前後方向に沿うはずである。この原理に基づいて、評価値Ｅを定める変数となる第１変数Ｅ１は、注目カメラ５に係る複数のベクトルＶが車両９の前後方向に一致するほど小さくなるように設定される。第１変数Ｅ１は、車両９の前後方向と複数のベクトルＶとの関係に基いて導出される変数であるともいえる。
【００８４】
具体的には、図１３に示すように、各ベクトルＶをｘ軸方向（左右方向）とｙ軸方向（前後方向）とに分解し、それぞれの長さをＶｘ，Ｖｙとする。そして、注目カメラ５に係るベクトルＶの数をｎとし、ｎ個のベクトルＶｉ（ｉ＝１〜ｎ）それぞれのｘ軸方向の長さＶｘをＶｘｉとすると、第１変数Ｅ１は、次の数６で表される。
【００８５】
【数６】
2014165810.tif 000008
また、車両座標系の複数のベクトルＶの長さは、理想的には２つの撮影画像の撮影時点の相互間において車両９が実際に移動した移動距離（図７のステップＳ１３で導出された移動距離）と一致するはずである。この原理に基づいて、評価値Ｅを定める他の変数となる第２変数Ｅ２は、注目カメラ５に係る複数のベクトルＶの長さが移動距離に一致するほど小さくなるように設定される。第２変数Ｅ２は、移動距離と複数のベクトルＶとの関係に基いて導出される変数であるともいえる。
【００８６】
具体的には、次の数７に示すように、ベクトルＶの長さをＤとする。
【００８７】
【数７】
2014165810.tif 000009
そして、ｎ個のベクトルＶｉ（ｉ＝１〜ｎ）それぞれの長さＤをＤｉとし、図７のステップＳ１３で導出された移動距離をＤ０とすると、第２変数Ｅ２は次の数８で表される。
【００８８】
【数８】
2014165810.tif 000010
パラメータ導出部２１ｃは、注目カメラ５に係る複数のベクトルＶを導出すると、その複数のベクトルＶに基いて以上の手法で第１変数Ｅ１及び第２変数Ｅ２を導出する。さらに、パラメータ導出部２１ｃは、第１変数Ｅ１及び第２変数Ｅ２を用いて、次の数９により評価値Ｅを導出する（ステップＳ２４）。
【００８９】
【数９】
2014165810.tif 000011
この評価値Ｅは、ステップＳ２２において設置パラメータに設定した仮値の組み合わせに関する妥当性の程度を示すことになる。すなわち、評価値Ｅが小さいほど、仮値の組み合わせの妥当性の程度は高くなる。
【００９０】
次に、パラメータ導出部２１ｃは、今回導出した評価値Ｅを、過去に導出済の評価値Ｅの最小値と比較する。この評価値Ｅの最小値は、制御部２１のＲＡＭなどに記憶される。そして、パラメータ導出部２１ｃは、今回の評価値Ｅが過去に導出済の評価値Ｅの最小値よりも小さい場合は、最小値を更新して今回の評価値Ｅを新たな最小値とする（ステップＳ２５）。
【００９１】
このようなステップＳ２３〜Ｓ２５の処理は、設置パラメータへ設定する仮値の組み合わせごとに繰り返される。そして、仮値の全ての組み合わせについて処理が終了した場合は（ステップＳ２６にてＹｅｓ）、その時点で最小値となった評価値Ｅに対応する仮値の組み合わせが、実際の設置パラメータ（パン角α，チルト角β，ロール角γ）に最も近いことになる。このため、パラメータ導出部２１ｃは、この仮値の組み合わせを、実際の設置パラメータ２４ａとして導出する（ステップＳ２８）。パラメータ導出部２１ｃは、導出した設置パラメータ２４ａを、注目カメラ５に関連付けて記憶部２４に記録する（ステップＳ２９）
以上のように、本実施の形態の車載装置２では、画像取得部２２が、車両９が備えるカメラ５で車両９の走行中の異なる時点に撮影された２つの撮影画像を取得する。車載装置２のフロー抽出部２１ａは、２つの撮影画像間での特徴点の動きを示す複数のオプティカルフローＯＰを抽出し、複数のオプティカルフローＯＰを車両９を基準とした車両座標系の複数のベクトルＶにそれぞれ変換する。そして、パラメータ導出部２１ｃは、複数のベクトルＶに基いて、カメラ５の設置に関する設置パラメータを導出する。
【００９２】
このため、車載装置２は、車両９の周辺に特徴点として現れる被写体の点が存在しさえすれば設置パラメータを導出できる。したがって、作業場に特定のマーカ等を正確に配置するなどの困難な条件を必要とすることなく、設置パラメータを容易に導出することができる。
【００９３】
また、設置パラメータの導出に用いる２つの撮影画像は、車両９の直進中に撮影される。このため、キャリブレーション処理を行う際には、作業員は、車両９を単純に直進させればよいため、容易に設置パラメータを導出できる。
【００９４】
また、パラメータ導出部２１ｃは、車両９の前後方向と複数のベクトルＶとの関係に基いて設置パラメータを導出する。このため、比較的単純な手法で、設置パラメータを導出できる。
【００９５】
また、パラメータ導出部２１ｃは、複数の撮影画像それぞれの撮影時点の相互間において車両が移動した移動距離Ｄ０を導出し、移動距離Ｄ０と複数のベクトルＶとの関係に基いて設置パラメータを導出する。このように車両９が実際に移動した移動距離Ｄ０を用いることで、精度の高い設置パラメータを導出できる。
【００９６】
＜７．変形例＞
以上、本発明の実施の形態について説明してきたが、この発明は上記実施の形態に限定されるものではなく様々な変形が可能である。以下では、このような変形例について説明する。上記実施の形態及び以下で説明する形態を含む全ての形態は、適宜に組み合わせ可能である。
【００９７】
上記実施の形態では、移動距離Ｄ０と複数のベクトルＶとの関係に基いて第２変数Ｅ２を求めていたが、移動距離Ｄ０を用いなくてもよい。車両座標系の複数のベクトルＶの長さＤは、理想的には全て一致するはずである。この原理に基づいて、複数のベクトルＶの長さＤのばらつきの程度を示す分散や標準偏差などを、第２変数Ｅ２としてもよい。例えば、ｎ個のベクトルＶｉ（ｉ＝１〜ｎ）の長さＤｉの分散を第２変数Ｅ２とする場合は、第２変数Ｅ２は次の数１０で表される。数１０において、ＤＡは長さＤｉ（ｉ＝１〜ｎ）の平均値である。
【００９８】
【数１０】
2014165810.tif 000012
また、上記実施の形態では、評価値Ｅは、第１変数Ｅ１と第２変数Ｅ２とを単純に加算したものであったが、いずれかの変数に重みをつけて加算してもよい。この場合は、第１変数Ｅ１に重みをつけることが望ましい。また、評価値Ｅは、第１変数Ｅ１と第２変数Ｅ２とを乗算したものであってもよい。また、第１変数Ｅ１に関する仮値の組み合わせの妥当性の順位と、第２変数Ｅ２に関する仮値の組み合わせの妥当性の順位とを用いて、評価値Ｅを導出してもよい。
【００９９】
また、上記実施の形態では、２つの撮影画像を撮影する際に車両９を直進させると説明したが、一定の舵角で旋回させてもよい。この場合は、図１４に示すように、車両９の舵角とホイールベースの長さとに基いて車両９の旋回中心ＲＣを定めることができる。さらに、車両９の実際の移動距離に基いて、旋回中心ＲＣを中心とした車両９の実際の旋回角度θ０を求めることができる。オプティカルフローＯＰを変換した車両座標系のベクトルＶの始点及び終点並びに旋回中心ＲＣで三角形を形成した場合、理想的には、旋回中心ＲＣとなる三角形の頂点の内角θは実際の旋回角度θ０と一致するはずである。この原理に基いて、この場合は、ｎ個のベクトルＶｉ（ｉ＝１〜ｎ）それぞれに関する内角θをθｉとして、次の数１１で表される評価値Ｅを用いることができる。なお、この場合も、内角θｉのばらつきの程度を示す分散や標準偏差などを評価値Ｅとしてもよい。
【０１００】
【数１１】
2014165810.tif 000013
また、上記実施の形態では、設置パラメータとしては、カメラ５の実際の姿勢を示すパン角α，チルト角β，ロール角γのみを設置パラメータとして導出していたが、カメラ５の実際の位置を示す並進成分ＴのＴｘ，Ｔｙ，Ｔｚをさらに設置パラメータとして導出してもよい。この場合は、α，β，γ，Ｔｘ，Ｔｙ，Ｔｚの全てに仮値を設定して、上述した処理と同様の処理を行なえばよい。
【０１０１】
また、上記実施の形態では、床面（路面）上の被写体点を、設置パラメータの導出に用いるものとして説明した。これに対して、距離センサ等で被写体点までの距離が分かる場合は、床面上ではない被写体点を設置パラメータの導出に用いてもよい。この場合は、被写体点の高さが分かるため、その高さを考慮して車両座標系への変換を行えばよい。また、被写体点までの距離が分かる場合は、床面上に存在していない被写体点を処理の対象から排除してもよい。
【０１０２】
また、上記実施の形態においては、複数のカメラ５の設置パラメータを導出していたが、一つのカメラ５の設置パラメータを導出する場合であっても上述した手法を適用可能である。
【０１０３】
また、上記実施の形態において一つのブロックとして説明した機能は必ずしも単一の物理的要素によって実現される必要はなく、分散した物理的要素によって実現されてよい。また、上記実施の形態で複数のブロックとして説明した機能は単一の物理的要素によって実現されてもよい。また、車両内の装置と車両外の装置とに任意の一つの機能に係る処理を分担させ、これら装置間において通信によって情報の交換を行うことで、全体として当該一つの機能が実現されてもよい。
【０１０４】
また、上記実施の形態においてプログラムの実行によってソフトウェア的に実現されると説明した機能の全部又は一部は電気的なハードウェア回路により実現されてもよく、ハードウェア回路によって実現されると説明した機能の全部又は一部はソフトウェア的に実現されてもよい。また、上記実施の形態において一つのブロックとして説明した機能が、ソフトウェアとハードウェアとの協働によって実現されてもよい。
【符号の説明】
【０１０５】
２    車載装置
５    カメラ
９    車両
２１    制御部
２２    画像取得部
２４ａ    設置パラメータ
２４ｂ    プログラム
【図１】
2014165810.tif 000014
【図２】
2014165810.tif 000015
【図３】
2014165810.tif 000016
【図４】
2014165810.tif 000017
【図５】
2014165810.tif 000018
【図６】
2014165810.tif 000019
【図７】
2014165810.tif 000020
【図８】
2014165810.tif 000021
【図９】
2014165810.tif 000022
【図１０】
2014165810.tif 000023
【図１１】
2014165810.tif 000024
【図１２】
2014165810.tif 000025
【図１３】
2014165810.tif 000026
【図１４】
2014165810.tif 000027
【図１５】
2014165810.tif 000028