(57)【特許請求の範囲】
【請求項１】
カメラに関するデータを導出するデータ導出装置であって、
２つのマークを前記カメラで撮影して得られた撮影画像中の前記２つのマークそれぞれのマーク像の位置を特定する特定手段と、
前記２つのマーク像の位置に基づいて、前記カメラの設計上の第１ディストーションに基づく設計像高を基準とした、前記撮影画像中の被写体像の実際の像高の誤差率を導出する第１導出手段と、
前記誤差率と前記第１ディストーションとに基づいて、前記カメラの実際の第２ディストーションを導出する第２導出手段と、
を備え、
前記第１導出手段は、前記撮影画像中の前記２つのマーク像の位置に基づいて導出される前記２つのマークの相互間の導出距離と、前記２つのマークの相互間の実際の実距離との比較結果に基づいて、前記誤差率を導出することを特徴とするデータ導出装置。
【請求項２】
請求項１に記載のデータ導出装置において、
前記第２ディストーションと、前記２つのマークを前記カメラで撮影して得られた撮影画像とに基づいて、前記カメラの設置に関する設置パラメータを取得する取得手段、
をさらに備えることを特徴とするデータ導出装置。
【請求項３】
請求項１または２に記載のデータ導出装置において、
前記データ導出装置は、車両に搭載された複数のカメラそれぞれの前記第２ディストーションを導出するものであり、
前記複数のカメラそれぞれで得られた撮影画像と、前記複数のカメラそれぞれの前記第２ディストーションとを用いて、仮想視点からみた前記車両の周辺の様子を示す合成画像を生成する生成手段、
をさらに備えることを特徴とするデータ導出装置。
【請求項４】
カメラに関するデータを導出するデータ導出方法であって、
（ａ）２つのマークを前記カメラで撮影して得られた撮影画像中の前記２つのマークそれぞれのマーク像の位置を特定する工程と、
（ｂ）前記２つのマーク像の位置に基づいて、前記カメラの設計上の第１ディストーションに基づく設計像高を基準とした、前記撮影画像中の被写体像の実際の像高の誤差率を導出する工程と、
（ｃ）前記誤差率と前記第１ディストーションとに基づいて、前記カメラの実際の第２ディストーションを導出する工程と、
を備え、
前記工程（ｂ）は、前記撮影画像中の前記２つのマーク像の位置に基づいて導出される前記２つのマークの相互間の導出距離と、前記２つのマークの相互間の実際の実距離との比較結果に基づいて、前記誤差率を導出することを特徴とするデータ導出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カメラに関するデータを導出する技術に関する。
【背景技術】
【０００２】
カメラで得られた撮影画像中においては、ディストーション（歪曲収差）と呼ばれる被写体の像が歪む現象が生じる。特に魚眼レンズを用いたカメラで得られた撮影画像においては、比較的大きなディストーションが生じる。
【０００３】
このようなカメラのディストーションは、例えば、非特許文献１に記載されたＺｈａｎｇの手法などによって求めることができる。Ｚｈａｎｇの手法においては、格子状に配列された多数のマークをカメラで撮影し、得られた撮影画像に含まれる多数のマークの像の位置に基づいてカメラのディストーションを求めるようになっている。
【０００４】
なお、本発明に関連する技術を開示する先行技術文献として以下の特許文献１がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第４８０３４４９号公報
【非特許文献】
【０００６】
【非特許文献１】"A flexible new technique for camera calibration". IEEE Transactions on Pattern Analysis and Machine Intelligence, 22(11):1330-1334, 2000.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、カメラのディストーションの特性は、被写体からの光の入射角と、当該被写体の像の像高（画像中心からの距離）との関係で表すことができる。このようなカメラのディストーションの特性は設計によって定められるものである。しかしながら、カメラの実際のディストーションは、製造誤差等に起因してカメラごとに相違しており、設計上のディストーションとは異なっている。
【０００８】
近年、車両に複数のカメラを設け、これら複数のカメラで得られた複数の撮影画像を合成して、仮想視点からみた車両の周辺の様子を示す合成画像（俯瞰画像）を生成する技術が普及してきている。このような合成画像を生成する場合には、ディストーションの特性が考慮されて撮影画像中の被写体の像の歪みが補正される。しかしながら、カメラの実際のディストーションは設計上のディストーションとは異なるため、設計上のディストーションを示すデータを単純に用いた場合には、被写体の像の歪みが正しく補正されない。その結果、生成される合成画像においては、撮影画像同士の境界部分において同一の被写体の像が分断されるなどの不具合が生じる。
【０００９】
これに対応するためには、複数のカメラそれぞれの実際のディストーションを、上述したＺｈａｎｇの手法などによって求める必要がある。しかしながら、車両工場などの作業場においては設備の配置に関して様々な制約があるため、このような作業場に多数のマークを格子状に配置することは現実には困難である。このため、より簡便な設備でカメラの実際のディストーションを導出できる技術が要望されていた。
【課題を解決するための手段】
【００１１】
上記課題を解決するため、請求項１の発明は、カメラに関するデータを導出するデータ導出装置であって、２つのマークを前記カメラで撮影して得られた撮影画像中の前記２つのマークそれぞれのマーク像の位置を特定する特定手段と、前記２つのマーク像の位置に基づいて、前記カメラの設計上の第１ディストーションに基づく設計像高を基準とした、前記撮影画像中の被写体像の実際の像高の誤差率を導出する第１導出手段と、前記誤差率と前記第１ディストーションとに基づいて、前記カメラの実際の第２ディストーションを導出する第２導出手段と、を備え、前記第１導出手段は、前記撮影画像中の前記２つのマーク像の位置に基づいて導出される前記２つのマークの相互間の導出距離と、前記２つのマークの相互間の実際の実距離との比較結果に基づいて、前記誤差率を導出する。
【００１２】
また、請求項２の発明は、請求項１に記載のデータ導出装置において、前記第１導出手段は、前記撮影画像中の前記２つのマーク像の位置に基づいて導出される前記２つのマークの相互間の導出距離と、前記２つのマークの相互間の実際の実距離との比較結果に基づいて、前記誤差率を導出する。
【００１３】
また、請求項２の発明は、請求項１に記載のデータ導出装置において、前記第２ディストーションと、前記２つのマークを前記カメラで撮影して得られた撮影画像とに基づいて、前記カメラの設置に関する設置パラメータを取得する取得手段、をさらに備えている。
【００１４】
また、請求項３の発明は、請求項１または２に記載のデータ導出装置において、前記データ導出装置は、車両に搭載された複数のカメラそれぞれの前記第２ディストーションを導出するものであり、前記複数のカメラそれぞれで得られた撮影画像と、前記複数のカメラそれぞれの前記第２ディストーションとを用いて、仮想視点からみた前記車両の周辺の様子を示す合成画像を生成する生成手段、をさらに備えている。
【００１５】
また、請求項４の発明は、カメラに関するデータを導出するデータ導出方法であって、（ａ）２つのマークを前記カメラで撮影して得られた撮影画像中の前記２つのマークそれぞれのマーク像の位置を特定する工程と、（ｂ）前記２つのマーク像の位置に基づいて、前記カメラの設計上の第１ディストーションに基づく設計像高を基準とした、前記撮影画像中の被写体像の実際の像高の誤差率を導出する工程と、（ｃ）前記誤差率と前記第１ディストーションとに基づいて、前記カメラの実際の第２ディストーションを導出する工程と、を備え、前記第１導出手段は、前記撮影画像中の前記２つのマーク像の位置に基づいて導出される前記２つのマークの相互間の導出距離と、前記２つのマークの相互間の実際の実距離との比較結果に基づいて、前記誤差率を導出する。
【発明の効果】
【００１６】
請求項１ないし４の発明によれば、撮影画像中の２つのマーク像の位置からカメラの実際の第２ディストーションを導出する。このため、比較的簡便な設備でカメラの実際の第２ディストーションを導出できる。また、比較的単純なアルゴリズムで、カメラの実際の第２ディストーションを導出することができる。
【００１８】
また、特に請求項２の発明によれば、カメラの実際の第２ディストーションを利用して、精度の高い設置パラメータを取得することができる。
【００１９】
また、特に請求項３の発明によれば、カメラの実際の第２ディストーションを利用して、車両の周囲の全体を正しく示す合成画像を生成することができる。
【図面の簡単な説明】
【００２０】
【図１】図１は、データ導出装置を含む校正システムを示す図である。
【図２】図２は、標識体の外観を示す図である。
【図３】図３は、複数のカメラの配置及び撮影方向を示す図である。
【図４】図４は、車載装置の構成を示す図である。
【図５】図５は、画像合成部が合成画像を生成する手法を説明する図である。
【図６】図６は、投影面の領域と撮影画像との対応関係を示す図である。
【図７】図７は、合成画像の生成に用いられる撮影画像の一例を示す図である。
【図８】図８は、キャリブレーション処理の流れを示す図である。
【図９】図９は、キャリブレーション処理用の撮影画像の一例を示す図である。
【図１０】図１０は、カメラのディストーションの特性を示す図である。
【図１１】図１１は、誤差率と入射角との関係を示す図である。
【図１２】図１２は、ワールド座標系とカメラ座標系との関係を示す図である。
【図１３】図１３は、カメラと２つのマークとの位置関係を示す図である。
【図１４】図１４は、ディストーション導出処理の流れを示す図である。
【図１５】図１５は、逆算像高を導出する手法を説明する図である。
【図１６】図１６は、視線ベクトルｖ１及び視線ベクトルｖ２を示す図である。
【図１７】図１７は、角度θ１及び角度θ２を示す図である。
【図１８】図１８は、ベクトルＴ１及びベクトルＴ２を示す図である。
【図１９】図１９は、ベクトルＴ３を示す図である。
【発明を実施するための形態】
【００２１】
以下、図面を参照しつつ本発明の実施の形態について説明する。
【００２２】
＜１．システムの概要＞
図１は、本実施の形態のデータ導出装置を含む校正システム１０を示す図である。この校正システム１０は、車両（本実施の形態では自動車）９に搭載される複数のカメラ５そぞれのデータを取得するために用いられる。校正システム１０は、キャリブレーション処理を実行し、各カメラ５の実際のディストーション（歪曲収差）を示すディストーションデータ（以下、「実データ」という。）と、各カメラ５の設置に関する設置パラメータとを取得する。
【００２３】
各カメラ５の実際のディストーションは、設計上のディストーションとは異なっている。このため、校正システム１０は、カメラ５の実際のディストーションを示す実データを取得する。また、各カメラ５の光軸の方向は、設計上の方向とは僅かに異なっている。このため、校正システム１０は、パン角、チルト角及びロール角などの各カメラ５の設置に関する設置パラメータを取得する。
【００２４】
校正システム１０は、車両９に搭載される複数のカメラ５及び車載装置２、並びに、車両９の外部に配置される４つの標識体７を備えている。４つの標識体７はそれぞれ、車両工場や車両整備場などキャリブレーション処理を実行する作業場の所定位置に配置される。
【００２５】
図２に示すように、４つの標識体７はそれぞれ、直立可能な立体形状を有している。標識体７は、直立させたプラスチック板などの板状体７９を有している。板状体７９における車両９に対向する側の主面には、所定の模様のマーク７０が形成されている。マーク７０の模様は、例えば、二色の正方形を交互に配した市松模様である。この模様を形成する二色のうちの一方は相対的に暗い色（例えば、黒）、他方は相対的に明るい色（例えば、白）となっている。
【００２６】
キャリブレーション処理を実行する場合には、図１に示すように、作業場の所定位置に略正確に車両９が正対装置などにより停車される。これにより、車両９に対する４つの標識体７の相対的な位置は一定となる。４つの標識体７は、車両９の左前方、右前方、左後方、及び、右後方の各領域Ａ１，Ａ２，Ａ３，Ａ４にそれぞれ配置された状態となる。この状態で、車両９に搭載されたカメラ５が、標識体７を含む車両９の周囲を撮影して撮影画像を取得する。
【００２７】
車載装置２は、このようにして得られた撮影画像に基づいて、カメラ５のデータを導出するデータ導出装置として機能する。車載装置２は、撮影画像に基づいて、カメラ５の実際のディストーションを示す実データと、カメラ５の設置パラメータとを導出する。車載装置２は、撮影画像に含まれるマーク７０の像の位置を特定し、このマーク７０の像の位置に基づいて実データ及び設置パラメータを導出する。
【００２８】
このようなキャリブレーション処理は、車両９に複数のカメラ５を取り付けた際に実行される。キャリブレーション処理で得られた実データ及び設置パラメータは、車載装置２に記憶され、以降、車載装置２が実行する画像処理において利用される。
【００２９】
＜２．車載カメラ＞
図３は、複数のカメラ５の配置及び撮影方向を示す図である。複数のカメラ５はそれぞれ、レンズと撮像素子とを備えており、車両９の周辺を示す撮影画像を電子的に取得する。複数のカメラ５はそれぞれ、車載装置２とは別に車両９の適位置に配置され、取得した撮影画像を車載装置２に入力する。
【００３０】
複数のカメラ５は、フロントカメラ５Ｆ、バックカメラ５Ｂ、左サイドカメラ５Ｌ、及び、右サイドカメラ５Ｒを含んでいる。これら４つのカメラ５Ｆ，５Ｂ，５Ｌ，５Ｒは、互いに異なる位置に配置され、車両９の周辺の異なる方向を撮影する。
【００３１】
フロントカメラ５Ｆは、車両９の前端の左右中央の近傍に設けられ、その光軸５Ｆａは車両９の前方（直進方向）に向けられる。バックカメラ５Ｂは、車両９の後端の左右中央の近傍に設けられ、その光軸５Ｂａは車両９の後方（直進方向の逆方向）に向けられる。左サイドカメラ５Ｌは車両９の左側のサイドミラー９３Ｌに設けられ、その光軸５Ｌａは車両９の左側方（直進方向の直交方向）に向けられる。また、右サイドカメラ５Ｒは車両９の右側のサイドミラー９３Ｒに設けられ、その光軸５Ｒａは車両９の右側方（直進方向の直交方向）に向けられる。
【００３２】
これらのカメラ５のレンズには魚眼レンズが採用され、各カメラ５は１８０度以上の画角αを有している。このため、４つのカメラ５Ｆ，５Ｂ，５Ｌ，５Ｒを利用することで、車両９の全周囲を撮影することが可能である。車両９の左前方、右前方、左後方、及び、右後方の各領域Ａ１，Ａ２，Ａ３，Ａ４は、４つのカメラ５のうちの２つのカメラ５によって重複して撮影可能となっている。このように重複して撮影可能な４つの領域Ａ１，Ａ２，Ａ３，Ａ４に、４つの標識体７がそれぞれ配置される（図１参照。）。これにより、４つのカメラ５のそれぞれは２つの標識体７のマーク７０を撮影することが可能となる。
【００３３】
＜３．車載装置＞
図４は主に、車載装置２の構成を示す図である。図に示すように、車載装置２は、４つのカメラ５と通信可能に接続されている。車載装置２は、４つのカメラ５でそれぞれ得られた４つの撮影画像を合成して仮想視点からみた車両９の周辺の様子を示す合成画像を生成し、この合成画像を表示する機能を備えている。車載装置２は、この合成画像を生成する際に、キャリブレーション処理で得られた実データと設置パラメータとを利用する。
【００３４】
車載装置２は、ディスプレイ２６と、操作部２５と、画像取得部２２と、画像合成部２３と、記憶部２４と、制御部２１とを備えている。
【００３５】
ディスプレイ２６は、例えば、液晶パネルなどを備えた薄型の表示装置であり、各種の情報や画像を表示する。操作部２５は、ユーザの操作を受け付ける操作ボタンなどである。ユーザが操作部２５を操作した場合は、その操作の内容を示す信号が制御部２１に入力される。
【００３６】
画像取得部２２は、４つのカメラ５から、各カメラ５で得られた撮影画像を取得する。画像取得部２２は、アナログの撮影画像をデジタルの撮影画像に変換するＡ／Ｄ変換機能などの基本的な画像処理機能を有している。画像取得部２２は、取得した撮影画像に所定の画像処理を行い、処理後の撮影画像を画像合成部２３及び制御部２１に入力する。
【００３７】
画像合成部２３は、例えばハードウェア回路であり、所定の画像処理を実行する。画像合成部２３は、４つのカメラ５でそれぞれ取得された４つの撮影画像を用いて、任意の仮想視点からみた車両９の周辺の様子を示す合成画像（俯瞰画像）を生成する。画像合成部２３が仮想視点からみた合成画像を生成する手法については後述する。
【００３８】
記憶部２４は、例えば、フラッシュメモリなどの不揮発性メモリであり、各種の情報を記憶する。記憶部２４は、設計データ２４ａ、実データ２４ｂ及び設置パラメータ２４ｃを記憶している。また、記憶部２４は、車載装置２のファームウェアとなるプログラムも記憶している。
【００３９】
設計データ２４ａは、カメラ５の設計上のディストーションを示すディストーションデータである。一方、実データ２４ｂは、カメラ５の実際のディストーションを示すディストーションデータである。設計データ２４ａは、４つのカメラ５Ｆ，５Ｂ，５Ｌ，５Ｒで共通であるが、実データ２４ｂは各カメラ５ごとに異なっている。実データ２４ｂは、設計データ２４ａに基づいてキャリブレーション処理によって取得される。このため、キャリブレーション処理の実行前は、記憶部２４に設計データ２４ａは記憶されているが、実データ２４ｂは記憶されていない。
【００４０】
また、設置パラメータ２４ｃは、カメラ５の設置に関するパラメータである。設置パラメータ２４ｃには、パン角、チルト角及びロール角などのカメラ５の光軸の方向を示すパラメータが含まれる。設置パラメータ２４ｃは、各カメラ５ごとに異なっている。設置パラメータ２４ｃも、キャリブレーション処理によって取得されるため、キャリブレーション処理の実行前は記憶部２４に記憶されていない。
【００４１】
記憶部２４には、４つのカメラ５Ｆ，５Ｂ，５Ｌ，５Ｒそれぞれに対応する実データ２４ｂと設置パラメータ２４ｃとが記憶される。これらの実データ２４ｂ及び設置パラメータ２４ｃは、画像合成部２３が合成画像を生成する際に利用される。
【００４２】
制御部２１は、車載装置２の全体を統括的に制御するマイクロコンピュータである。制御部２１は、ＣＰＵ、ＲＡＭ及びＲＯＭなどを備えている。制御部２１の各種の機能は、記憶部２４に記憶されたプログラムに従ってＣＰＵが演算処理を行うことで実現される。図中に示す位置特定部２１ａ、誤差率導出部２１ｂ、ディストーション導出部２１ｃ、及び、パラメータ取得部２１ｄは、プログラムに従ってＣＰＵが演算処理を行うことで実現される機能部の一部である。これら機能部は、キャリブレーション処理に係る処理を実行することになるが、その詳細は後述する。
【００４３】
＜４．合成画像の生成＞
次に、画像合成部２３が合成画像を生成する手法について説明する。図５は、画像合成部２３が合成画像を生成する手法を説明する図である。
【００４４】
車載装置２のフロントカメラ５Ｆ、バックカメラ５Ｂ、左サイドカメラ５Ｌ、及び、右サイドカメラ５Ｒのそれぞれで撮影が行われると、車両９の前方、後方、左側方及び右側方をそれぞれ示す４つの撮影画像ＧＦ，ＧＢ，ＧＬ，ＧＲが取得される。これら４つの撮影画像ＧＦ，ＧＢ，ＧＬ，ＧＲには、車両９の全周囲の被写体の像が含まれている。
【００４５】
画像合成部２３は、これら４つの撮影画像ＧＦ，ＧＢ，ＧＬ，ＧＲに含まれるデータ（各画素の値）を、仮想的な三次元空間における立体曲面である投影面ＴＳに投影する。投影面ＴＳは、例えば略半球状（お椀形状）をしている。この投影面ＴＳの中心部分（お椀の底部分）は、車両９の位置として定められている。一方、投影面ＴＳの中心以外の部分は、撮影画像ＧＦ，ＧＢ，ＧＬ，ＧＲのいずれかと対応付けられている。画像合成部２３は、投影面ＴＳの中心以外の部分に、撮影画像ＧＦ，ＧＢ，ＧＬ，ＧＲに含まれるデータを投影する。
【００４６】
図６に示すように、画像合成部２３は、投影面ＴＳにおいて車両９の前方に相当する領域に、フロントカメラ５Ｆの撮影画像ＧＦのデータを投影する。また、画像合成部２３は、投影面ＴＳにおいて車両９の後方に相当する領域に、バックカメラ５Ｂの撮影画像ＧＢのデータを投影する。さらに、画像合成部２３は、投影面ＴＳにおいて車両９の左側方に相当する領域に左サイドカメラ５Ｌの撮影画像ＧＬのデータを投影し、投影面ＴＳにおいて車両９の右側方に相当する領域に右サイドカメラ５Ｒの撮影画像ＧＲのデータを投影する。
【００４７】
図５に戻り、このように投影面ＴＳの各部分にデータを投影すると、次に、画像合成部２３は、車両９の三次元形状を示すポリゴンのモデルを仮想的に構成する。この車両９のモデルは、投影面ＴＳが設定される三次元空間において、車両９の位置と定められた略半球状の中心部分に配置される。
【００４８】
次に、画像合成部２３は、三次元空間に対して仮想視点ＶＰを設定する。画像合成部２３は、三次元空間における任意の視点位置に任意の視野方向に向けて仮想視点ＶＰを設定することができる。そして、画像合成部２３は、投影面ＴＳのうち、設定した仮想視点ＶＰからみて所定の視野角に含まれる領域を画像として切り出す。また、画像合成部２３は、設定した仮想視点ＶＰに応じてポリゴンのモデルに関してレンダリングを行い、その結果となる二次元の車両像９０を、切り出した画像に対して重畳する。これにより、画像合成部２３は、仮想視点ＶＰからみた車両９及び車両９の周辺の領域を示す合成画像ＣＰを生成する。
【００４９】
例えば図５に示すように、視点位置を車両９の直上、視野方向を直下とした仮想視点ＶＰａを設定した場合には、車両９及び車両９の周辺の領域を俯瞰する合成画像ＣＰａが生成される。また、視点位置を車両９の左後方、視野方向を車両９の前方とした仮想視点ＶＰｂを設定した場合には、車両９の左後方からその周辺全体を見渡すように、車両９及び車両９の周辺の領域を示す合成画像ＣＰｂが生成されることになる。
【００５０】
図７は、このような合成画像ＣＰの生成に用いられる撮影画像Ｇの一例を示す図である。カメラ５のレンズは魚眼レンズであるため、図に示すように、撮影画像Ｇに含まれる被写体の像（以下、「被写体像」という。）は歪んでいる。このため、画像合成部２３は、投影面ＴＳへの投影前に、４つの撮影画像ＧＦ，ＧＢ，ＧＬ，ＧＲそれぞれに含まれる被写体像の歪みを、４つのカメラ５それぞれのディストーションの特性を考慮して補正する。
【００５１】
前述のようにカメラ５の実際のディストーションは、設計上のディストーションと異なっている。したがって、被写体像の歪みの補正に設計上のディストーションを示す設計データ２４ａを単純に用いた場合は、正しく被写体像の歪みが補正されないことになる。その結果、投影面ＴＳに投影した撮影画像同士の境界部分Ｂ（図６参照。）において、同一の被写体の像が分断されるなどの不具合が生じる。このため、画像合成部２３は、撮影画像Ｇ中の被写体像の歪みの補正に、当該撮影画像Ｇを取得したカメラ５の実際のディストーションを示す実データ２４ｂを用いるようにしている。
【００５２】
また、撮影画像Ｇにおいて、投影面ＴＳに投影すべきデータを含む領域は、当該撮影画像Ｇを取得したカメラ５の設置上の誤差に応じて変化する。このため、画像合成部２３は、カメラ５の設置パラメータ２４ｃ（パン角、チルト角及びロール角など）を用いて、画像Ｇの投影面ＴＳに投影する領域を修正する。
【００５３】
仮に図７に示す撮影画像Ｇを取得したカメラ５に関して設置上の誤差がないとした場合は、投影面ＴＳに投影すべきデータを含む領域はデフォルトの領域Ｒ１となる。通常はカメラ５には設置上の誤差が存在することから、画像合成部２３は、当該カメラ５の設置パラメータ２４ｃに基づいて、投影面ＴＳに投影する領域を領域Ｒ１から領域Ｒ２に修正する。そして、画像合成部２３は、この領域Ｒ２に含まれるデータを投影面ＴＳに投影することになる。
【００５４】
このように、画像合成部２３は、合成画像ＣＰを生成する際に、カメラ５の実データ２４ｂ及び設置パラメータ２４ｃを用いることで、適切な合成画像ＣＰを生成することができる。
【００５５】
＜５．キャリブレーション処理＞
次に、カメラ５の実データ２４ｂと設置パラメータ２４ｃとを取得するキャリブレーション処理について説明する。キャリブレーション処理は、図１に示すように４つの標識体７が予め配置された作業場の所定位置に車両９を停車させた状態で、作業員が操作部２５を介して所定の操作を行うことで実行される。図８は、このキャリブレーション処理の流れを示す図である。以下、キャリブレーション処理の流れについて説明する。
【００５６】
まず、制御部２１が、４つのカメラ５のうち一のカメラ５を処理の対象とする「注目カメラ５」として選択する（ステップＳ１１）。以降のステップＳ１２〜Ｓ１４の処理では、この注目カメラ５の実データ２４ｂと設置パラメータ２４ｃとが取得されることになる。
【００５７】
ステップＳ１２では、注目カメラ５が、２つの標識体７のマーク７０を含む車両９の周辺の領域を撮影して撮影画像を取得する。図９は、このようにして取得されたキャリブレーション処理用の撮影画像ＧＣの一例を示す図である。図に示すように、撮影画像ＧＣには、２つのマーク７０の像（以下、「マーク像」という。）７１ａ，７２ａが含まれている。
【００５８】
次に、ステップＳ１３では、注目カメラ５の実際のディストーションを示す実データ２４ｂを導出するディストーション導出処理がなされる。ディストーション導出処理では、撮影画像ＧＣに含まれる２つのマーク像７１ａ，７２ａの位置に基づいて、実データ２４ｂが導出される。ディストーション導出処理は、位置特定部２１ａ、誤差率導出部２１ｂ、及び、ディストーション導出部２１ｃによって実行されるが詳細は後述する。ディストーション導出処理で得られた実データ２４ｂは、注目カメラ５に関連付けて記憶部２４に記憶される。
【００５９】
次に、ステップＳ１４では、パラメータ取得部２１ｄが、注目カメラ５の設置に関する設置パラメータ２４ｃを取得するパラメータ取得処理を実行する。パラメータ取得部２１ｄは、まず、ステップＳ１３で得られた実データ２４ｂを用いて、撮影画像ＧＣの被写体像の歪みを補正する。そして、パラメータ取得部２１ｄは、例えば、特許文献１に記載の手法など周知の手法を用いて、撮影画像ＧＣに含まれる２つのマーク像７１ａ，７２ａの位置に基づいて注目カメラ５の設置パラメータ２４ｃを導出する。例えば、パラメータ取得部２１ｄは、撮影画像ＧＣ中の２つのマーク像７１ａ，７１ｂの左右の位置に基づいてパン角、２つのマーク像７１ａ，７１ｂの上下の位置に基づいてチルト角、撮影画像ＧＣ中の２つのマーク像７１ａ，７１ｂの高さの差に基づいてロール角をそれぞれ導出できる。
【００６０】
このようにパラメータ取得部２１ｄは、注目カメラ５の実際のディストーションを示す実データ２４ｂを用いて撮影画像ＧＣの被写体像の歪みを補正した後に、撮影画像ＧＣに基づいて設置パラメータ２４ｃを導出する。このため、精度の高い設置パラメータ２４ｃを取得することができる。パラメータ導出処理で得られた設置パラメータ２４ｃは、注目カメラ５に関連付けて記憶部２４に記憶される。
【００６１】
パラメータ導出処理が完了すると、次に、制御部２１は、４つのカメラ５の全てについて実データ２４ｂ及び設置パラメータ２４ｃの導出が完了したか否かを判定する。そして、これらの導出が完了していないカメラ５がある場合は（ステップＳ１５にてＮｏ）、注目カメラ５に設定されていない他のカメラ５が新たな注目カメラ５に設定されて、上述した処理が繰り返される。このような処理が繰り返されることにより、４つのカメラ５の全ての実データ２４ｂ及び設置パラメータ２４ｃが導出される。４つのカメラ５の全ての実データ２４ｂ及び設置パラメータ２４ｃが導出されると（ステップＳ１５にてＹｅｓ）、キャリブレーション処理が終了する。
【００６２】
＜６．ディストーション導出処理＞
次に、ステップＳ１３のディストーション導出処理について詳細に説明する。まず、カメラ５の設計上のディストーションを示す設計データ２４ａと、実際のディストーションを示す実データ２４ｂとの関係について説明する。
【００６３】
図１０は、カメラ５のディストーションの特性を示す図である。図１０は、ディストーションの特性を、被写体からの光の入射角θ（ｄｅｇ）と、撮影画像中における当該被写体の像の像高（ｍｍ）との関係で表している。設計データ２４ａ及び実データ２４ｂは、図１０に示す入射角θと像高との関係を示したものとなっている。設計データ２４ａは、設計上のディストーションに基づく像高（以下、「設計像高」という。）ｒを示す実線のカーブに相当する。一方、実データ２４ｂは、撮影画像中の実際の像高（以下、「実像高」という。）ｒ’を示す一点鎖線のカーブに相当する。
【００６４】
図に示すように、設計像高ｒと実像高ｒ’とでは誤差が生じている。この設計像高ｒに対する実像高ｒ’の誤差（ｒ’−ｒ）は、入射角θが大きくなるほど大きくなる。このため、カメラ５の光軸から離れた被写体の像ほど、このようなディストーションの相違の影響を受けることになる。
【００６５】
ここで、設計像高ｒを基準とした実像高ｒ’の誤差率ｅｒｒ（％）を、次の数１によって定義する。
【００６６】
【数１】
0005959311.tif 000002
また、ｆをカメラ５の焦点距離とした場合、設計像高ｒは、例えば、次の数２によって定められる。
【００６７】
【数２】
0005959311.tif 000003
一方、実際のディストーションが設計上のディストーションと異なるのは、カメラ５のレンズと撮像素子との距離（焦点距離ｆに対応）に関する製造誤差に起因する。したがって、焦点距離ｆの誤差をｋとすると、実像高ｒ’は次の数３で表すことができる。
【００６８】
【数３】
0005959311.tif 000004
したがって、像高の誤差率ｅｒｒは、図１１に示すように、入射角θに依存せずに一定となる。この誤差率ｅｒｒは、例えば、−５．０（％）から＋５．０（％）までの範囲の値となる。ディストーション導出処理では、まず、誤差率導出部２１ｂがこの誤差率ｅｒｒを導出し、そして、ディストーション導出部２１ｃが誤差率ｅｒｒと設計データ２４ａとに基づいて実データ２４ｂを導出するようになっている。
【００６９】
また、ディストーション導出処理では、注目カメラ５を基準としたカメラ座標系が用いられる。図１２は、ワールド座標系とカメラ座標系との関係を示す図である。ワールド座標系は、Ｘｗ軸，Ｙｗ軸，Ｚｗ軸を有する三次元直交座標系であり、車両９を基準として設定される。これに対して、カメラ座標系は、Ｘｃ軸，Ｙｃ軸，Ｚｃ軸を有する三次元直交座標系であり、注目カメラ５を基準として設定される。
【００７０】
ワールド座標系の原点Ｏｗとカメラ座標系の原点Ｏｃとは相違している。また一般に、ワールド座標系とカメラ座標系とでは各座標軸の方向も一致しない。ワールド座標系におけるカメラ座標系の原点Ｏｃの座標位置（すなわち、車両９に対する注目カメラ５の位置）は既知である。また、カメラ座標系のＺｃ軸は、注目カメラ５の光軸に沿っている。
【００７１】
図１３は、注目カメラ５と、注目カメラ５で撮影される２つのマーク７０との位置関係を示す図である。図に示すように、注目カメラ５からみて左側にマーク７１、右側にマーク７２がそれぞれ配置されている。
【００７２】
前述のように、標識体７は所定位置に配置され、車両９に対する標識体７の相対的な位置は一定である。このため、マーク７１，７２のワールド座標系における座標位置は既知である。したがって、注目カメラ５から左側のマーク７１までの距離ｄ１、注目カメラ５から右側のマーク７２までの距離ｄ２、及び、２つのマーク７１，７２の相互間の実際の距離ｍは、ワールド座標系における注目カメラ５及びマーク７１，７２の３つの座標位置から求めることができる。これらの距離ｄ１，ｄ２，ｍは、予め記憶部２４に記憶され、ディストーション導出処理において利用される。なお、これらの距離ｄ１，ｄ２，ｍを、３つの座標位置に基づいてディストーション導出処理の一つの工程において求めてもよい。
【００７３】
図１４は、ディストーション導出処理（図８のステップＳ１３）の流れを示す図である。以下、このディストーション導出処理の流れについて説明する。この処理の開始時点においては、注目カメラ５によって２つのマーク像７１ａ，７２ａを含む撮影画像ＧＣが取得されている。また、設計データ２４ａ、及び、距離ｄ１，ｄ２，ｍが記憶部２４に記憶されている。
【００７４】
まず、位置特定部２１ａが、撮影画像ＧＣ中の２つのマーク像７１ａ，７２ａの位置を特定する（ステップＳ２１）。位置特定部２１ａは、例えば、ハリスオペレータなどの周知のコーナ検出法を用いて、図１５の上段に示すような撮影画像ＧＣ中の２つのマーク像７１ａ，７２ａを検出する。そして、位置特定部２１ａは、図１５の中段に示すように、撮影画像ＧＣにおける２つのマーク像７１ａ，７２ａそれぞれの中心となる位置（市松模様の二色の境界線が交差する位置）Ｐ１，Ｐ２を特定する。
【００７５】
次に、誤差率導出部２１ｂが、撮影画像ＧＣにおける２つのマーク像７１ａ，７２ａの位置Ｐ１，Ｐ２に基づいて誤差率ｅｒｒを導出する。誤差率導出部２１ｂは、この処理において、探索対象となる誤差率ｅｒｒに仮値を設定する。そして、誤差率導出部２１ｂは、この誤差率ｅｒｒの仮値を用いてステップＳ２３〜Ｓ２７の一連の処理を実行して、評価値Ｅを導出する。
【００７６】
誤差率導出部２１ｂは、誤差率ｅｒｒ（％）として設定する仮値を、−５．０から＋５．０までの範囲で０．１ずつ変更し（ステップＳ２２，Ｓ２８，Ｓ２９）、誤差率ｅｒｒの仮値を変更するごとにステップＳ２３〜Ｓ２７の一連の処理を繰り返す。これにより、誤差率導出部２１ｂは、誤差率ｅｒｒに設定した仮値ごとに評価値Ｅを導出する。
【００７７】
ステップＳ２３では、仮値が設定された誤差率ｅｒｒを用いて、２つのマーク像７１ａ，７２ａそれぞれの設計像高ｒが導出される。
【００７８】
まず、図１５の中段に示すように、撮影画像ＧＣの画像中心（光軸の位置）からステップＳ２１で特定された位置Ｐ１，Ｐ２までの距離をそれぞれ導出することで、撮影画像ＧＣにおける２つのマーク像７１ａ，７２ａそれぞれの実像高ｒ’１，ｒ’２が求められる。この実像高ｒ’１，ｒ’２は、設計像高ｒに対して誤差を含んだ値であるといえる。
【００７９】
このため、図１５の下段に示すように、誤差率ｅｒｒの仮値と、実像高ｒ’１，ｒ’２とに基づいて、２つのマーク像７１ａ，７２ａそれぞれの誤差を含まない設計像高ｒ１，ｒ２が逆算される。以下、このように逆算される設計像高を「逆算像高」という。逆算像高ｒ１，ｒ２は、数１を変形した次の数４によって導出できる。
【００８０】
【数４】
0005959311.tif 000005
次に、ステップＳ２４（図１４参照。）では、図１６に示すように、カメラ座標系における、注目カメラ５から２つのマーク７１，７２それぞれに向かう方向の単位ベクトルである視線ベクトルｖ１，ｖ２が導出される。
【００８１】
まず、設計データ２４ａ（図１０の実線のカーブ）が参照され、左側のマーク７１の逆算像高ｒ１に基づいて、マーク７１からの光の入射角θ１が求められる。同様に、右側のマーク７２の逆算像高ｒ２に基づいて、マーク７２からの光の入射角θ２が求められる。これにより、図１７に示すように、注目カメラ５の光軸５ａに対して、注目カメラ５からマーク７１までの直線Ｌ１がなす角度θ１と、注目カメラ５からマーク７２までの直線Ｌ２がなす角度θ２とが求められる。
【００８２】
ここで、撮影画像ＧＣにおいて、水平ラインに対して画像中心から位置Ｐ１までの直線がなす角度をΦ１、水平ラインに対して画像中心から位置Ｐ２までの直線がなす角度をΦ２とする（図１５参照。）。
【００８３】
前述のように注目カメラ５の光軸５ａはカメラ座標系のＺｃ軸に沿っており、注目カメラ５の位置はカメラ座標系の原点である。したがって、次の数５に示すように、注目カメラ５から左側のマーク７１に向かう方向の単位ベクトルである視線ベクトルｖ１（図１６参照。）は、角度θ１及び角度Φ１に基づいて求めることができる。また、注目カメラ５からマーク７２まで向かう方向の単位ベクトルである視線ベクトルｖ２は、角度θ２及び角度Φ２に基づいて求めることができる。
【００８４】
【数５】
0005959311.tif 000006
次に、ステップＳ２５（図１４参照。）では、２つのマーク７１，７２の相互間の距離が導出される。
【００８５】
まず、図１８に示すように、注目カメラ５を始点とし左側のマーク７１を終点とするベクトルＴ１、及び、注目カメラ５を始点とし右側のマーク７２を終点とするベクトルＴ２が求められる。次の数６に示すように、ベクトルＴ１は、注目カメラ５から左側のマーク７１までの距離ｄ１と、視線ベクトルｖ１とに基づいて導出される。また、ベクトルＴ２は、注目カメラ５から右側のマーク７２までの距離ｄ２と、視線ベクトルｖ２とに基づいて導出される。
【００８６】
【数６】
0005959311.tif 000007
そして、図１９に示す、右側のマーク７２を始点とし左側のマーク７１を終点とするベクトルＴ３が、ベクトルＴ１及びベクトルＴ２を用いて数７により導出される。
【００８７】
【数７】
0005959311.tif 000008
さらに、数８により、このベクトルＴ３の長さが、２つのマーク７１，７２の相互間の距離（以下、「導出距離」という。）Ｍとして導出される。
【００８８】
【数８】
0005959311.tif 000009
次に、ステップＳ２６（図１４参照。）では、誤差率ｅｒｒの仮値に基づいて上記のようにして導出された導出距離Ｍと、２つのマーク７１，７２の相互間の実際の距離ｍとが比較され、その比較結果となる評価値Ｅが導出される。具体的には、次の数９により、導出距離Ｍと実際の距離ｍとの差の絶対値が評価値Ｅとして導出される。
【００８９】
【数９】
0005959311.tif 000010
この評価値Ｅは、誤差率ｅｒｒに設定された仮値の正確さの程度を示すものであり、評価値Ｅが小さいほど（すなわち、導出距離Ｍと実際の距離ｍとの差が小さいほど）、仮値が実際の誤差率ｅｒｒの値に近いことになる。
【００９０】
次に、ステップＳ２７では、今回の誤差率ｅｒｒの仮値に関する評価値Ｅが、過去に導出済の評価値Ｅの最小値と比較される。そして、今回の評価値Ｅが、過去に導出済の評価値Ｅの最小値よりも小さい場合は、最小値が更新され、今回の評価値Ｅが新たな最小値とされる。
【００９１】
このようなステップＳ２３〜Ｓ２７の一連の処理が繰り返され、誤差率ｅｒｒに設定すべき全ての仮値に関する処理が完了した場合は（ステップＳ２８にてＹｅｓ）、その時点で最小値となった評価値Ｅに対応する仮値が、実際の誤差率ｅｒｒの値に最も近いことになる。このため、誤差率導出部２１ｂは、この仮値を、実際の誤差率ｅｒｒとして導出する（ステップＳ３０）。
【００９２】
このように誤差率導出部２１ｂが誤差率ｅｒｒが導出すると、次に、ディストーション導出部２１ｃが、導出された誤差率ｅｒｒと設計データ２４ａ（図１０の実線のカーブ）とに基づいて、注目カメラ５の実際のディストーションを示す実データ２４ｂ（図１０の一点鎖線のカーブ）を導出する（ステップＳ３１）。実像高ｒ’は、設計データ２４ａが示す設計像高ｒに基づいて、数１を変形した次の数１０によって導出できる。
【００９３】
【数１０】
0005959311.tif 000011
以上のように、本実施の形態の車載装置２では、位置特定部２１ａが２つのマーク７１，７２をカメラ５で撮影して得られた撮影画像ＧＣ中のマーク像７１ａ，７２ａの位置Ｐ１，Ｐ２を特定する（ステップＳ２１）。そして、誤差率導出部２１ｂが、２つのマーク像７１ａ，７２ａの位置Ｐ１，Ｐ２に基づいて、設計像高ｒを基準とした実像高ｒ’の誤差率ｅｒｒを導出する（ステップＳ２２〜Ｓ３０）。さらに、ディストーション導出部２１ｃが、誤差率ｅｒｒと設計上のディストーション（設計データ２４ａ）とに基づいてカメラ５の実際のディストーション（実データ２４ｂ）を導出する（ステップＳ３１）。
【００９４】
このように、撮影画像ＧＣ中の２つのマーク像７１ａ，７２ａの位置Ｐ１，Ｐ２からカメラ５の実際のディストーションを導出できるため、実際のディストーションを導出するために、作業場に多数のマークを格子状に配置するなどの大掛かりな設備は必要とならない。したがって、比較的簡便な設備でカメラ５の実際のディストーションを導出できる。
【００９５】
また、誤差率導出部２１ｂは、誤差率ｅｒｒに仮値を設定し、この誤差率ｅｒｒの仮値と撮影画像ＧＣ中の２つのマーク像７１ａ，７２ａの位置Ｐ１，Ｐ２とに基づいて２つのマーク７１，７２の相互間の導出距離Ｍを導出する。そして、誤差率導出部２１ｂは、この導出距離Ｍと、２つのマーク７１，７２の相互間の実際の実距離ｍとの比較結果である評価値Ｅに基づいて、実際の誤差率ｅｒｒを導出する。このため、比較的単純なアルゴリズムで、カメラ５の実際のディストーションを導出することができる。
【００９６】
また、パラメータ取得部２１ｄは、カメラ５の実際のディストーションと、２つのマーク７１，７２をカメラ５で撮影して得られた撮影画像ＧＣとに基づいて、カメラ５の設置に関する設置パラメータを取得する。このように設置パラメータの取得に際してカメラ５の実際のディストーションを用いるため、精度の高い設置パラメータを取得することができる。
【００９７】
また、画像合成部２３は、複数のカメラ５それぞれで得られた撮影画像と、複数のカメラ５それぞれの実際のディストーションとを用いて、仮想視点からみた車両９の周辺の様子を示す合成画像を生成する。このため、同一の被写体の像が分断されるなどの大きな不具合を防止でき、車両９の周囲の全体を正しく示す合成画像を生成することができる。
【００９８】
＜７．変形例＞
以上、本発明の実施の形態について説明してきたが、この発明は上記実施の形態に限定されるものではなく様々な変形が可能である。以下では、このような変形例について説明する。上記実施の形態及び以下で説明する形態を含む全ての形態は、適宜に組み合わせ可能である。
【００９９】
上記実施の形態では、位置特定部２１ａが、演算により撮影画像ＧＣ中のマーク像７１ａ，７２ａの位置Ｐ１，Ｐ２を特定していた。これに対して、位置特定部２１ａが、ユーザ（作業員）に指定された位置に基づいて、撮影画像ＧＣ中のマーク像７１ａ，７２ａの位置Ｐ１，Ｐ２を特定するようにしてもよい。この場合は、ユーザが、ディスプレイ２６に表示された撮影画像ＧＣを確認しつつ、マーク像７１ａ，７２ａの位置Ｐ１，Ｐ２をカーソルなどで指定することになる。
【０１００】
また、上記実施の形態では、マーク７０は直立可能な標識体７に形成されていた。これに対して、マーク７０は、例えば、直立できない板状の標識体の主面に形成してもよく、また、作業場の床面に形成してもよい。
【０１０１】
また、上記実施の形態では、各カメラ５は２つのマーク７０を撮影すると説明したが、３以上のマーク７０を撮影してもよい。すなわち、各カメラ５は少なくとも２つのマーク７０を撮影できるようにすればよい。
【０１０２】
また、上記実施の形態では、プログラムに従ったＣＰＵの演算処理によってソフトウェア的に各種の機能が実現されると説明したが、これら機能のうちの一部は電気的なハードウェア回路により実現されてもよい。また逆に、ハードウェア回路によって実現されるとした機能のうちの一部は、ソフトウェア的に実現されてもよい。
【符号の説明】
【０１０３】
２    車載装置
５    カメラ
９    車両
１０    校正システム
２４ａ    設計データ
２４ｂ    実データ
７０，７１，７２    マーク
７１ａ，７２ａ    マーク像
【図１】
0005959311.tif 000012
【図２】
0005959311.tif 000013
【図３】
0005959311.tif 000014
【図４】
0005959311.tif 000015
【図５】
0005959311.tif 000016
【図６】
0005959311.tif 000017
【図７】
0005959311.tif 000018
【図８】
0005959311.tif 000019
【図９】
0005959311.tif 000020
【図１０】
0005959311.tif 000021
【図１１】
0005959311.tif 000022
【図１２】
0005959311.tif 000023
【図１３】
0005959311.tif 000024
【図１４】
0005959311.tif 000025
【図１５】
0005959311.tif 000026
【図１６】
0005959311.tif 000027
【図１７】
0005959311.tif 000028
【図１８】
0005959311.tif 000029
【図１９】
0005959311.tif 000030