(57)【要約】【課題】基準点の３次元座標が事前に与えられることなく、カメラの校正を可能にする技術を提供する。【解決手段】カメラパラメタセット算出装置は、移動体に搭載された第１カメラの第１画像と、前記移動体とは別の場所に配置された第２カメラの第２画像と、前記第１カメラのカメラパラメタセットと、前記第２カメラのカメラパラメタセットとに基づいて、３次元座標を複数算出し、前記第１カメラパラメタセットに基づいて前記複数の３次元座標を前記第１画像に投影した複数の第１画素座標と、前記第２カメラパラメタセットに基づいて前記複数の３次元座標を前記第２画像に投影した複数の第２画素座標とを決定し、前記複数の第１画素座標での複数の画素値と前記複数の第２画素座標での複数の画素値とに基づいて評価値を算出し、前記評価値に基づいて、前記第１カメラのカメラパラメタセットを更新する。【選択図】図１０
2019024196.tif 000002
【特許請求の範囲】
【請求項１】
移動体に搭載された第１カメラのカメラパラメタセットを算出する制御回路を備え、
前記制御回路は、
（ａ１）所定位置への前記移動体の停止後に前記第１カメラで撮影された第１画像と、前記移動体とは別の場所に絶対的位置を固定して配置された第２カメラで撮影された第２画像とを取得し、
（ａ２）前記第１カメラの第１カメラパラメタセットと、前記第２カメラの第２カメラパラメタセットとを取得し、
（ａ３）前記第１画像、前記第２画像、前記第１カメラパラメタセット及び前記第２カメラパラメタセットに基づいて、３次元座標を複数算出し、
（ａ４）前記第１カメラパラメタセットに基づいて前記複数の３次元座標を前記第１画像に投影した複数の第１画素座標を決定し、前記第２カメラパラメタセットに基づいて前記複数の３次元座標を前記第２画像に投影した複数の第２画素座標を決定し、
（ａ５）前記複数の第１画素座標での複数の画素値と前記複数の第２画素座標での複数の画素値とに基づいて評価値を算出し、
（ａ６）前記評価値に基づいて、前記第１カメラパラメタセットを更新し、
（ａ７）前記更新された前記第１カメラパラメタセットを出力する
カメラパラメタセット算出装置。
【請求項２】
前記制御回路は、
処理（ａ４）では、前記複数の３次元座標を前記第１カメラパラメタセットに含まれる１つ以上のカメラパラメタを用いてそれぞれ座標変換することにより、前記複数の第１画素座標を決定し、前記複数の３次元座標を前記第２カメラパラメタセットに含まれる１つ以上のカメラパラメタを用いてそれぞれ座標変換することにより、前記複数の第２画素座標を決定する
請求項１に記載のカメラパラメタセット算出装置。
【請求項３】
処理（ａ３）は、
（ａ３−１）前記第１画像に含まれる被写体上の点の画像が示される第１対応点と前記第２画像に含まれる前記点の画像が示される第２対応点との組である対応点の組を複数抽出し、前記複数の対応点の組は前記第１対応点における画素値及び前記第２対応点における画素値に基づいて決定され、
（ａ３−２）前記複数の対応点の組、前記第１カメラパラメタセット及び前記第２カメラパラメタセットに基づいて、前記複数の対応点の組に対応する前記複数の３次元座標を算出し、前記複数の対応点の組と前記複数の３次元座標とはそれぞれ対応すること
を含む請求項１又は２に記載のカメラパラメタセット算出装置。
【請求項４】
前記複数の３次元座標は（ｘ１，ｙ１，ｚ１）〜（ｘｉ，ｙｉ，ｚｉ）〜（ｘｎ，ｙｎ，ｚｎ）であり、前記複数の第１画素座標は（ｕ１１，ｖ１１）〜（ｕ１ｉ，ｖ１ｉ）〜（ｕ１ｎ，ｖ１ｎ）であり、前記複数の第２画素座標は（ｕ２１，ｖ２１）〜（ｕ２ｉ，ｖ２ｉ）〜（ｕ２ｎ，ｖ２ｎ）であり、１＜ｉ≦ｎであり、前記ｉ及び前記ｎは自然数であり、前記３次元座標（ｘｉ，ｙｉ，ｚｉ）と前記第１画素座標（ｕ１ｉ，ｖ１ｉ）とは対応し、前記３次元座標（ｘｉ，ｙｉ，ｚｉ）と前記第２画素座標（ｕ２ｉ，ｖ２ｉ）とは対応し、前記第１画素座標（ｕ１ｉ，ｖ１ｉ）おける画素値はＩ１（ｕ１ｉ，ｖ１ｉ）であり、前記第２画素座標（ｕ２ｉ，ｖ２ｉ）における画素値はＩ２（ｕ２ｉ，ｖ２ｉ）であり、
処理（ａ５）では、前記画素値Ｉ１（ｕ１ｉ，ｖ１ｉ）と前記画素値Ｉ２（ｕ２ｉ，ｖ２ｉ）との差異Ｄｉに基づいて前記評価値を算出する
請求項３に記載のカメラパラメタセット算出装置。
【請求項５】
処理（ａ５）では、
【数１】
2019024196.tif 000020
に基づいて前記評価値を算出する
請求項４に記載のカメラパラメタセット算出装置。
【請求項６】
処理（ａ５）では、
【数２】
2019024196.tif 000021
に基づいて前記評価値を算出する
請求項４に記載のカメラパラメタセット算出装置。
【請求項７】
処理（ａ５）では、
【数３】
2019024196.tif 000022
に基づいて前記評価値を算出する
請求項４に記載のカメラパラメタセット算出装置。
【請求項８】
前記絶対的位置は、地球に対する位置である
請求項１〜７のいずれか一項に記載のカメラパラメタセット算出装置。
【請求項９】
移動体に搭載された第１カメラのカメラパラメタセットを、前記移動体とは別の場所に絶対的位置を固定して配置された第２カメラを用いて算出するカメラパラメタセット算出方法であって、
（ａ１）所定位置への前記移動体の停止後に前記第１カメラで撮影された第１画像と、前記第２カメラで撮影された第２画像とを取得し、
（ａ２）前記第１カメラの第１カメラパラメタセットと、前記第２カメラの第２カメラパラメタセットとを取得し、
（ａ３）前記第１画像、前記第２画像、前記第１カメラパラメタセット及び前記第２カメラパラメタセットに基づいて、３次元座標を複数算出し、
（ａ４）前記第１カメラパラメタセットに基づいて前記複数の３次元座標を前記第１画像に投影した複数の第１画素座標を決定し、前記第２カメラパラメタセットに基づいて前記複数の３次元座標を前記第２画像に投影した複数の第２画素座標を決定し、
（ａ５）前記複数の第１画素座標での複数の画素値と前記複数の第２画素座標での複数の画素値とに基づいて評価値を算出し、
（ａ６）前記評価値に基づいて、前記第１カメラパラメタセットを更新し、
（ａ７）前記更新された前記第１カメラパラメタセットを出力し、
処理（ａ１）〜処理（ａ７）の少なくとも１つがプロセッサによって実行される
カメラパラメタセット算出方法。
【請求項１０】
処理（ａ４）では、前記複数の３次元座標を前記第１カメラパラメタセットに含まれる１つ以上のカメラパラメタを用いてそれぞれ座標変換することにより、前記複数の第１画素座標を決定し、前記複数の３次元座標を前記第２カメラパラメタセットに含まれる１つ以上のカメラパラメタを用いてそれぞれ座標変換することにより、前記複数の第２画素座標を決定する
請求項９に記載のカメラパラメタセット算出方法。
【請求項１１】
処理（ａ３）は、
（ａ３−１）前記第１画像に含まれる被写体上の点の画像が示される第１対応点と前記第２画像に含まれる前記点の画像が示される第２対応点との組である対応点の組を複数抽出し、前記複数の対応点の組は前記第１対応点における画素値及び前記第２対応点における画素値に基づいて決定され、
（ａ３−２）前記複数の対応点の組、前記第１カメラパラメタセット及び前記第２カメラパラメタセットに基づいて、前記複数の対応点の組に対応する前記複数の３次元座標を算出し、前記複数の対応点の組と前記複数の３次元座標とはそれぞれ対応すること
を含む請求項９又は１０に記載のカメラパラメタセット算出方法。
【請求項１２】
前記複数の３次元座標は（ｘ１，ｙ１，ｚ１）〜（ｘｉ，ｙｉ，ｚｉ）〜（ｘｎ，ｙｎ，ｚｎ）であり、前記複数の第１画素座標は（ｕ１１，ｖ１１）〜（ｕ１ｉ，ｖ１ｉ）〜（ｕ１ｎ，ｖ１ｎ）であり、前記複数の第２画素座標は（ｕ２１，ｖ２１）〜（ｕ２ｉ，ｖ２ｉ）〜（ｕ２ｎ，ｖ２ｎ）であり、１＜ｉ≦ｎであり、前記ｉ及び前記ｎは自然数であり、前記３次元座標（ｘｉ，ｙｉ，ｚｉ）と前記第１画素座標（ｕ１ｉ，ｖ１ｉ）とは対応し、前記３次元座標（ｘｉ，ｙｉ，ｚｉ）と前記第２画素座標（ｕ２ｉ，ｖ２ｉ）とは対応し、前記第１画素座標（ｕ１ｉ，ｖ１ｉ）おける画素値はＩ１（ｕ１ｉ，ｖ１ｉ）であり、前記第２画素座標（ｕ２ｉ，ｖ２ｉ）における画素値はＩ２（ｕ２ｉ，ｖ２ｉ）であり、
処理（ａ５）では、前記画素値Ｉ１（ｕ１ｉ，ｖ１ｉ）と前記画素値Ｉ２（ｕ２ｉ，ｖ２ｉ）との差異Ｄｉに基づいて前記評価値を算出する
請求項１１に記載のカメラパラメタセット算出方法。
【請求項１３】
処理（ａ５）では、
【数４】
2019024196.tif 000023
に基づいて前記評価値を算出する
請求項１２に記載のカメラパラメタセット算出方法。
【請求項１４】
処理（ａ５）では、
【数５】
2019024196.tif 000024
に基づいて前記評価値を算出する
請求項１２に記載のカメラパラメタセット算出方法。
【請求項１５】
処理（ａ５）では、
【数６】
2019024196.tif 000025
に基づいて前記評価値を算出する
請求項１２に記載のカメラパラメタセット算出方法。
【請求項１６】
前記絶対的位置は、地球に対する位置である
請求項９〜１５のいずれか一項に記載のカメラパラメタセット算出方法。
【請求項１７】
（ａ１）所定位置への移動体の停止後に第１カメラで撮影された第１画像と、第２カメラで撮影された第２画像とを取得し、
ここで、前記第１カメラは、前記移動体に搭載され、前記第２カメラは、前記移動体とは別の場所に絶対的位置を固定して配置され、
（ａ２）前記第１カメラの第１カメラパラメタセットと、前記第２カメラの第２カメラパラメタセットとを取得し、
（ａ３）前記第１画像、前記第２画像、前記第１カメラパラメタセット及び前記第２カメラパラメタセットに基づいて、３次元座標を複数算出し、
（ａ４）前記第１カメラパラメタセットに基づいて前記複数の３次元座標を前記第１画像に投影した複数の第１画素座標を決定し、前記第２カメラパラメタセットに基づいて前記複数の３次元座標を前記第２画像に投影した複数の第２画素座標を決定し、
（ａ５）前記複数の第１画素座標での複数の画素値と前記複数の第２画素座標での複数の画素値とに基づいて評価値を算出し、
（ａ６）前記評価値に基づいて、前記第１カメラパラメタセットを更新し、
（ａ７）前記更新された前記第１カメラパラメタセットを出力する
ことを、コンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、カメラパラメタセット算出装置、カメラパラメタセット算出方法及びプログラムに関する。
【背景技術】
【０００２】
自動車の安全運転支援システム又は不審者等を検出する監視カメラシステムなどにおいて、カメラで撮影した画像を用いて新たな画像を生成し、利用者に呈示する技術が数多く提案されている。例えば、特許文献１及び特許文献２に開示される技術は、車両の後部に設置されたカメラを用いて車両の後方を撮影する。そして、上記技術は、撮影画像から車両後方を上空から俯瞰した画像を生成する。この技術は、自車の後方を俯瞰したような視点での画像を生成する。このため、運転者は、生成画像を見ることで、運転席から直接見ることが難しい車両の後方の状況を、容易に認識できる。
【０００３】
カメラで撮影した画像から、俯瞰画像の生成などのように、３次元的な変形を伴う画像を生成するためには、カメラのカメラパラメタセットが必要である。このカメラパラメタセットを算出することをカメラ校正と呼ぶ。特許文献３及び非特許文献１には、カメラ校正について詳細な説明が記載されている。例えば、非特許文献１に開示されるカメラ校正技術では、校正の基準となる基準点の３次元座標と、カメラで基準点を撮影した像を含む画像おける当該像の画素座標との組が複数組用意されて、これらが入力され、さらに、カメラパラメタを用いて３次元座標の基準点を画像上に投影した点と、当該基準点に対応する画素座標との距離（再投影誤差とも呼ばれる）が算出される。さらに、各基準点の再投影誤差の総和を最小化するカメラパラメタセットが算出される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第３２８６３０６号公報
【特許文献２】特許第４５１２２９３号公報
【特許文献３】特開２００１−２８５６９２号公報
【非特許文献】
【０００５】
【非特許文献１】Roger Y. Tsai、「A Versatile Camera Calibration Technique for High-Accuracy 3D Machine Vision Metrology Using Off-the-Shelf TV Cameras and Lenses」、Journal of Robotics and Automation、IEEE、1987年8月、Vol. RA-3、No.4、p.323-344
【非特許文献２】C. Zach、T. Pock及びH. Bischof、「A duality based approach for realtime TV-L1 optical flow」、In Proceedings of the 29th DAGM conference on Pattern recognition、2007年、p214-223
【非特許文献３】松山隆司、ほか編、「コンピュータビジョン」、株式会社新技術コミュニケーションズ、p123-137
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来の校正技術では、基準点、すわなち、基準点の３次元座標及び画素座標の組が必要である。このため、基準点の３次元座標を取得するために、３次元座標が既知の校正指標、又は、基準点となる３次元座標を計測する３次元計測装置のいずれかが必要である。つまり、基準点の３次元座標を取得するための特別な設備又は装置が必要であるという課題がある。
【０００７】
本開示は、基準点の３次元座標が事前に与えられることなく、カメラの校正を可能にするカメラパラメタセット算出装置、カメラパラメタセット算出方法及びプログラムを提供する。
【課題を解決するための手段】
【０００８】
本開示の非限定的で例示的な一態様に係るカメラパラメタセット算出装置は、移動体に搭載された第１カメラのカメラパラメタセットを算出する制御回路を備え、前記制御回路は、（ａ１）所定位置への前記移動体の停止後に前記第１カメラで撮影された第１画像と、前記移動体とは別の場所に絶対的位置を固定して配置された第２カメラで撮影された第２画像とを取得し、（ａ２）前記第１カメラの第１カメラパラメタセットと、前記第２カメラの第２カメラパラメタセットとを取得し、（ａ３）前記第１画像、前記第２画像、前記第１カメラパラメタセット及び前記第２カメラパラメタセットに基づいて、３次元座標を複数算出し、（ａ４）前記第１カメラパラメタセットに基づいて前記複数の３次元座標を前記第１画像に投影した複数の第１画素座標を決定し、前記第２カメラパラメタセットに基づいて前記複数の３次元座標を前記第２画像に投影した複数の第２画素座標を決定し、（ａ５）前記複数の第１画素座標での複数の画素値と前記複数の第２画素座標での複数の画素値とに基づいて評価値を算出し、（ａ６）前記評価値に基づいて、前記第１カメラパラメタセットを更新し、（ａ７）前記更新された前記第１カメラパラメタセットを出力する。
【０００９】
本開示の非限定的で例示的な一態様に係るカメラパラメタセット算出方法は、移動体に搭載された第１カメラのカメラパラメタセットを、前記移動体とは別の場所に絶対的位置を固定して配置された第２カメラを用いて算出するカメラパラメタセット算出方法であって、（ａ１）所定位置への前記移動体の停止後に前記第１カメラで撮影された第１画像と、前記第２カメラで撮影された第２画像とを取得し、（ａ２）前記第１カメラの第１カメラパラメタセットと、前記第２カメラの第２カメラパラメタセットとを取得し、（ａ３）前記第１画像、前記第２画像、前記第１カメラパラメタセット及び前記第２カメラパラメタセットに基づいて、３次元座標を複数算出し、（ａ４）前記第１カメラパラメタセットに基づいて前記複数の３次元座標を前記第１画像に投影した複数の第１画素座標を決定し、前記第２カメラパラメタセットに基づいて前記複数の３次元座標を前記第２画像に投影した複数の第２画素座標を決定し、（ａ５）前記複数の第１画素座標での複数の画素値と前記複数の第２画素座標での複数の画素値とに基づいて評価値を算出し、（ａ６）前記評価値に基づいて、前記第１カメラパラメタセットを更新し、（ａ７）前記更新された前記第１カメラパラメタセットを出力し、処理（ａ１）〜処理（ａ７）の少なくとも１つがプロセッサによって実行される。
【００１０】
本開示の非限定的で例示的な一態様に係るプログラムは、（ａ１）所定位置への移動体の停止後に第１カメラで撮影された第１画像と、第２カメラで撮影された第２画像とを取得し、ここで、前記第１カメラは、前記移動体に搭載され、前記第２カメラは、前記移動体とは別の場所に絶対的位置を固定して配置され、（ａ２）前記第１カメラの第１カメラパラメタセットと、前記第２カメラの第２カメラパラメタセットとを取得し、（ａ３）前記第１画像、前記第２画像、前記第１カメラパラメタセット及び前記第２カメラパラメタセットに基づいて、３次元座標を複数算出し、（ａ４）前記第１カメラパラメタセットに基づいて前記複数の３次元座標を前記第１画像に投影した複数の第１画素座標を決定し、前記第２カメラパラメタセットに基づいて前記複数の３次元座標を前記第２画像に投影した複数の第２画素座標を決定し、（ａ５）前記複数の第１画素座標での複数の画素値と前記複数の第２画素座標での複数の画素値とに基づいて評価値を算出し、（ａ６）前記評価値に基づいて、前記第１カメラパラメタセットを更新し、（ａ７）前記更新された前記第１カメラパラメタセットを出力することを、コンピュータに実行させる。
【００１１】
なお、上記の包括的又は具体的な態様は、システム、装置、方法、集積回路、コンピュータプログラム又はコンピュータ読み取り可能な記録ディスク等の記録媒体で実現されてもよく、システム、装置、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。コンピュータ読み取り可能な記録媒体は、例えばＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）等の不揮発性の記録媒体を含む。
【発明の効果】
【００１２】
本開示のカメラパラメタセット算出技術によると、基準点の３次元座標が事前に与えられることなく、カメラの校正が可能になる。
【００１３】
本開示の一態様の付加的な恩恵及び有利な点は本明細書及び図面から明らかとなる。この恩恵及び／又は有利な点は、本明細書及び図面に開示した様々な態様及び特徴により個別に提供され得るものであり、その１つ以上を得るために全てが必要ではない。
【図面の簡単な説明】
【００１４】
【図１】図１は、従来の校正指標の例を示す模式図である。
【図２】図２は、実施の形態に係るカメラシステムの機能的な構成を示すブロック図である。
【図３】図３は、実施の形態に係るカメラシステムの自動車への適用例を示す平面図である。
【図４】図４は、実施の形態に係るカメラシステムの自動車への別の適用例を示す平面図である。
【図５】図５は、実施の形態に係るカメラシステムをコンピュータによって構成したブロック図である。
【図６】図６は、実施の形態に係る画像処理部の画像生成時の動作の流れの一例を示すフローチャートである。
【図７】図７は、実施の形態における撮影画像の例を示す模式図である。
【図８】図８は、実施の形態における仮想カメラの配置例を示す模式的な図である。
【図９】図９は、実施の形態における生成画像の例を示す模式図である。
【図１０】図１０は、実施の形態に係るカメラパラメタセット算出装置の機能的な構成を示す模式図である。
【図１１】図１１は、実施の形態に係る画像処理部の校正動作の流れの一例を示すフローチャートである。
【図１２Ａ】図１２Ａは、図３におけるカメラのカメラ画像の例を示す模式図である。
【図１２Ｂ】図１２Ｂは、図３における校正用カメラのカメラ画像の例を示す模式図である。
【図１３】図１３は、実施の形態に係るカメラシステムの自動車への別の適用例を示す平面図である。
【発明を実施するための形態】
【００１５】
［本開示の基礎となった知見］
本発明者らは、「背景技術」の欄において記載したカメラ校正に関し、以下の問題が生じることを見出した。具体的には、自動車の安全運転支援システム又は不審者等を検出する監視カメラシステムなどにおいて、車両の周り又は監視対象エリアを利用者にわかりやすく見せるために、カメラで撮影した画像から１つの画像を生成する手法、及びカメラで撮影した画像に位置の基準となるような補助線を重畳する手法が、数多く提案されている。このような画像処理を行うためには、カメラの位置及び向き、並びに、焦点距離及び光軸中心位置などのカメラのカメラパラメタセットが必要である。上述のような画像生成以外にも、カメラで撮影された画像から、ステレオ視又は動きステレオ視により被写体の３次元座標を取得するためには、カメラのカメラパラメタセットが必要である。
【００１６】
カメラパラメタセットとは、カメラで被写体のある点を撮影して画像を得た場合、当該ある点の３次元座標と、画像における当該点の像の２次元座標（画素座標とも呼ばれる）との関係を表す、カメラのモデルと当該モデルに応じた複数のパラメタである。このカメラパラメタセットを算出することをカメラ校正と呼ぶ。より詳細には、カメラパラメタセットは、外部パラメタセット及び内部パラメタセットの２つのカメラパラメタセットで構成される。外部パラメタセットは、カメラの撮影空間を基準として定められた３次元の世界座標系と、カメラを基準として定められた３次元のカメラ座標系との間での位置関係を表す。内部パラメタセットは、カメラ座標系における被写体の３次元座標と当該カメラで撮影した画像上での当該被写体の位置との関係を表す。
【００１７】
［校正技術の従来例］
非特許文献１が開示するカメラ校正技術では、基準点の３次元座標及び当該基準点の画素座標の組が複数組用意されて、これらが入力要素とされる。さらに、カメラパラメタを用いて３次元座標の基準点を画像上に投影した点と、当該基準点に対応する画素座標との距離（幾何学的な再投影誤差）の総和を最小化するカメラパラメタセットが算出される。
【００１８】
基準点の３次元座標及び当該基準点の画素座標の組を得るために、特定模様の校正指標が一般的に用いられる。校正指標の例を、図１に示す。図１の例では、格子状の模様が箱状の被写体の内側に一定間隔で配置されている。格子点、つまり、模様の角を基準点とし、基準点である格子点の３次元座標の設計値、又は、基準点の設置後に計測された基準点の３次元座標が保持される。さらに、基準点をカメラで撮影し、基準点である格子点の画素座標を画像処理で推定することで、基準点の３次元座標及び画素座標の組の情報が得られる。このような校正指標を用いる校正技術は、校正指標を備える設備等が必要になる反面、高精度な校正ができることから、カメラ製造後の工場等での校正で有効である。
【００１９】
しかしながら、従来の校正技術では、基準点、すわなち、基準点の３次元座標及び画素座標の組が必要である。そのため、基準点の３次元座標を取得するために、３次元座標が既知の校正指標、又は、基準点となる３次元座標を計測する３次元計測装置のいずれかが必要であるという課題がある。そこで、本発明者らは、従来の校正技術のように、基準点の３次元座標及び当該基準点の画素座標の複数組を入力要素として用い、「幾何的」な再投影誤差を評価値として算出するカメラパラメタの推定技術の代わりに、「光学的」な再投影誤差（輝度拘束）を評価値として算出するカメラパラメタの推定技術を創案した。輝度拘束とは、ある２つのカメラで同一の被写体を撮像して２つカメラ画像を得た場合、すなわち同一の被写体が２つカメラ画像に映っている場合であって、２つのカメラそれぞれのカメラパラメタが正しく求められている場合、被写体上の任意の点の３次元座標に対応する２つのカメラ画像上の点の画素値は等しくなる、ことを表す。この２つの画素値の差は、カメラパラメタが誤差を含むほど、大きくなる。そこで本発明者らは、光学的な再投影誤差を評価値とすることで、カメラを校正する下記の手法を創案した。
【００２０】
本開示の一態様に係るカメラパラメタセット算出装置は、移動体に搭載された第１カメラのカメラパラメタセットを算出する制御回路を備え、前記制御回路は、（ａ１）所定位置への前記移動体の停止後に前記第１カメラで撮影された第１画像と、前記移動体とは別の場所に絶対的位置を固定して配置された第２カメラで撮影された第２画像とを取得し、（ａ２）前記第１カメラの第１カメラパラメタセットと、前記第２カメラの第２カメラパラメタセットとを取得し、（ａ３）前記第１画像、前記第２画像、前記第１カメラパラメタセット及び前記第２カメラパラメタセットに基づいて、３次元座標を複数算出し、（ａ４）前記第１カメラパラメタセットに基づいて前記複数の３次元座標を前記第１画像に投影した複数の第１画素座標を決定し、前記第２カメラパラメタセットに基づいて前記複数の３次元座標を前記第２画像に投影した複数部の第２画素座標を決定し、（ａ５）前記複数の第１画素座標での複数の画素値と前記複数の第２画素座標での複数の画素値とに基づいて評価値を算出し、（ａ６）前記評価値に基づいて、前記第１カメラパラメタセットを更新し、（ａ７）前記更新された前記第１カメラパラメタセットを出力する。
【００２１】
上記態様によれば、第２カメラをカメラ校正の基準カメラ、つまり校正用カメラとして用いることによって、第１カメラの第１カメラパラメタセットを更新し出力することができる。つまり、第１カメラのカメラ校正が可能である。具体的には、所定位置に停止した移動体の第１カメラの第１画像と、第２カメラの第２画像とには、同一の被写体の画像が写し出される。つまり、所定位置は、第１画像及び第２画像が同一の被写体の画像をそれぞれ含むように、決定される。このような第１画像及び第２画像を用いることによって、第１画像に含まれる同一の被写体の画像と第２画像に含まれる同一の被写体の画像とに対応する３次元座標の算出が可能である。さらに、第１カメラパラメタセットに基づいて３次元座標を第１画像に投影した第１画素座標を決定可能であり、第２カメラパラメタセットに基づいて３次元座標を第２画像に投影した第２画素座標を決定可能である。よって、第１画素座標及び第２画素座標の画素値に基づき、評価値の算出が可能であり、算出した評価値に基づいた第１カメラパラメタセットの更新が可能である。上述のように処理することによって、第１カメラ及び第２カメラが互いに離れていても、それぞれの向きが互いに異なっていても、第１カメラパラメタセットの更新は可能である。なお、第１画像に含まれる同一の被写体の画像及び第２画像に含まれる同一の被写体の画像はそれぞれ、第１画像及び第２画像から抽出される。同一の被写体は座標等が既知である予め設定された基準ではない。このため、第１カメラパラメタセットの更新処理過程における３次元座標と画素座標との対応付けに、既知の基準点の３次元座標及び当該基準点の画素座標の組を用いる必要がない。従って、３次元座標が既知の校正指標、及び、基準点となる３次元座標を計測する３次元計測装置のいずれも用いることなく、カメラ校正が可能である。
【００２２】
なお、第２カメラパラメタセットが正しく、第１カメラパラメタセットが正しい場合に、ある点の３次元座標に対応する第１画素座標での第１画像の画素値及び第２画素座標での第２画像の画素値は、互いに等しい。一方、例えば、第２カメラパラメタセットが正しいが、第１カメラパラメタセットが正解値（「真値」とも呼ぶ）から離れるほど、つまり誤差を多く含むほど、第１画像の画素値と第２画像の画素値との間に差異が生じる。このため、第１カメラパラメタセットが誤差を含む場合に、第１画像の画素値と第２画像の画素値との差異に基づいて、例えば、差異を最小にするように、第１カメラパラメタセットを更新することで、正しい第１カメラパラメタセットを得ることができる。すなわち、第１カメラを校正することができる。
【００２３】
また、本開示の一態様に係るカメラパラメタセット算出装置において、前記制御回路は、処理（ａ４）では、前記複数の３次元座標を前記第１カメラパラメタセットに含まれる１つ以上のカメラパラメタを用いてそれぞれ座標変換することにより、前記複数の第１画素座標を決定してもよく、前記複数の３次元座標を前記第２カメラパラメタセットに含まれる１つ以上のカメラパラメタを用いてそれぞれ座標変換することにより、前記複数の第２画素座標を決定してもよい。上記態様によれば、複数の３次元座標からの複数の第１画素座標の算出、及び、複数の３次元座標からの複数の第２画素座標の算出が、容易に可能である。
【００２４】
また、本開示の一態様に係るカメラパラメタセット算出装置において、処理（ａ３）は、（ａ３−１）前記第１画像に含まれる被写体上の点の画像が示される第１対応点と前記第２画像に含まれる前記点の画像が示される第２対応点との組である対応点の組を複数抽出し、前記複数の対応点の組は前記第１対応点における画素値及び前記第２対応点における画素値に基づいて決定され、（ａ３−２）前記複数の対応点の組、前記第１カメラパラメタセット及び前記第２カメラパラメタセットに基づいて、前記複数の対応点の組に対応する前記複数の３次元座標を算出し、前記複数の対応点の組と前記複数の３次元座標とはそれぞれ対応することを含んでもよい。
【００２５】
また、本開示の一態様に係るカメラパラメタセット算出装置において、前記複数の３次元座標は（ｘ１，ｙ１，ｚ１）〜（ｘｉ，ｙｉ，ｚｉ）〜（ｘｎ，ｙｎ，ｚｎ）であり、前記複数の第１画素座標は（ｕ１１，ｖ１１）〜（ｕ１ｉ，ｖ１ｉ）〜（ｕ１ｎ，ｖ１ｎ）であり、前記複数の第２画素座標は（ｕ２１，ｖ２１）〜（ｕ２ｉ，ｖ２ｉ）〜（ｕ２ｎ，ｖ２ｎ）であり、１＜ｉ≦ｎであり、前記ｉ及び前記ｎは自然数であり、前記３次元座標（ｘｉ，ｙｉ，ｚｉ）と前記第１画素座標（ｕ１ｉ，ｖ１ｉ）とは対応し、前記３次元座標（ｘｉ，ｙｉ，ｚｉ）と前記第２画素座標（ｕ２ｉ，ｖ２ｉ）とは対応し、前記第１画素座標（ｕ１ｉ，ｖ１ｉ）おける画素値はＩ１（ｕ１ｉ，ｖ１ｉ）であり、前記第２画素座標（ｕ２ｉ，ｖ２ｉ）における画素値はＩ２（ｕ２ｉ，ｖ２ｉ）であり、処理（ａ５）では、前記画素値Ｉ１（ｕ１ｉ，ｖ１ｉ）と前記画素値Ｉ２（ｕ２ｉ，ｖ２ｉ）との差異Ｄｉに基づいて前記評価値を算出してもよい。上記態様によれば、第１画素座標での第１画像の画素値と第２画素座標での第２画像の画素値との間に差異がある場合、例えば、第１カメラパラメタセットに、真値に対する誤差があると判定することが可能である。よって、第１カメラパラメタセットの良否の判定が容易である。さらに、例えば、上記差異を小さくするように、第１カメラパラメタセットを変更つまり更新することによって、第１カメラパラメタセットを適切にすることが可能である。
【００２６】
また、本開示の一態様に係るカメラパラメタセット算出装置において、処理（ａ５）では、
【数１】
2019024196.tif 000003
に基づいて前記評価値を算出してもよい。上記態様によれば、複数の差異を用いることによって、評価値の精度が向上する。さらに、例えば、複数の差異の和を小さくするように、第１カメラパラメタセットを更新することによって、第１カメラパラメタセットを最適にすることが可能である。
【００２７】
また、本開示の一態様に係るカメラパラメタセット算出装置において、処理（ａ５）では、
【数２】
2019024196.tif 000004
に基づいて前記評価値を算出してもよい。上記態様によれば、差異の絶対値を用いることによって、評価値の算出の際に、差異同士が打ち消し合うことが抑えられる。よって、正確な評価値の算出が可能になる。
【００２８】
また、本開示の一態様に係るカメラパラメタセット算出装置において、処理（ａ５）では、
【数３】
2019024196.tif 000005
に基づいて前記評価値を算出してもよい。上記態様によれば、差異の２乗は常に正の値であるため、評価値の算出の際に、差異同士が打ち消し合うことが抑えられる。また、評価値では、より大きい差異はより大きく反映され、より小さい差異はより小さく反映され得る。よって、評価値は、差異の大きさを強調して反映することができる。
【００２９】
また、本開示の一態様に係るカメラパラメタセット算出装置において、前記絶対的位置は、地球に対する位置であってもよい。上記態様によれば、第２カメラは、地球に対して固定される。これにより、第２カメラは移動しないため、一旦校正された第２カメラパラメタセットは維持される。よって、第２カメラを基準カメラつまり校正用カメラとして用いて、第１カメラの第１カメラパラメタセットを更新することは、容易に実施可能である。
【００３０】
また、本開示の一態様に係るカメラパラメタセット算出方法は、移動体に搭載された第１カメラのカメラパラメタセットを、前記移動体とは別の場所に絶対的位置を固定して配置された第２カメラを用いて算出するカメラパラメタセット算出方法であって、（ａ１）所定位置への前記移動体の停止後に前記第１カメラで撮影された第１画像と、前記第２カメラで撮影された第２画像とを取得し、（ａ２）前記第１カメラの第１カメラパラメタセットと、前記第２カメラの第２カメラパラメタセットとを取得し、（ａ３）前記第１画像、前記第２画像、前記第１カメラパラメタセット及び前記第２カメラパラメタセットに基づいて、３次元座標を複数算出し、（ａ４）前記第１カメラパラメタセットに基づいて前記複数の３次元座標を前記第１画像に投影した複数の第１画素座標を決定し、前記第２カメラパラメタセットに基づいて前記複数の３次元座標を前記第２画像に投影した複数の第２画素座標を決定し、（ａ５）前記複数の第１画素座標での複数の画素値と前記複数の第２画素座標での複数の画素値とに基づいて評価値を算出し、（ａ６）前記評価値に基づいて、前記第１カメラパラメタセットを更新し、（ａ７）前記更新された前記第１カメラパラメタセットを出力し、処理（ａ１）〜処理（ａ７）の少なくとも１つがプロセッサによって実行される。上記態様によれば、本開示の一態様に係るカメラパラメタセット算出装置と同様の効果が得られる。
【００３１】
また、本開示の一態様に係るカメラパラメタセット算出方法において、処理（ａ４）では、前記複数の３次元座標を前記第１カメラパラメタセットに含まれる１つ以上のカメラパラメタを用いてそれぞれ座標変換することにより、前記複数の第１画素座標を決定し、前記複数の３次元座標を前記第２カメラパラメタセットに含まれる１つ以上のカメラパラメタを用いてそれぞれ座標変換することにより、前記複数の第２画素座標を決定してもよい。
【００３２】
また、本開示の一態様に係るカメラパラメタセット算出方法において、処理（ａ３）は、（ａ３−１）前記第１画像に含まれる被写体上の点の画像が示される第１対応点と前記第２画像に含まれる前記点の画像が示される第２対応点との組である対応点の組を複数抽出し、前記複数の対応点の組は前記第１対応点における画素値及び前記第２対応点における画素値に基づいて決定され、（ａ３−２）前記複数の対応点の組、前記第１カメラパラメタセット及び前記第２カメラパラメタセットに基づいて、前記複数の対応点の組に対応する前記複数の３次元座標を算出し、前記複数の対応点の組と前記複数の３次元座標とはそれぞれ対応することを含んでもよい。
【００３３】
また、本開示の一態様に係るカメラパラメタセット算出方法において、前記複数の３次元座標は（ｘ１，ｙ１，ｚ１）〜（ｘｉ，ｙｉ，ｚｉ）〜（ｘｎ，ｙｎ，ｚｎ）であり、前記複数の第１画素座標は（ｕ１１，ｖ１１）〜（ｕ１ｉ，ｖ１ｉ）〜（ｕ１ｎ，ｖ１ｎ）であり、前記複数の第２画素座標は（ｕ２１，ｖ２１）〜（ｕ２ｉ，ｖ２ｉ）〜（ｕ２ｎ，ｖ２ｎ）であり、１＜ｉ≦ｎであり、前記ｉ及び前記ｎは自然数であり、前記３次元座標（ｘｉ，ｙｉ，ｚｉ）と前記第１画素座標（ｕ１ｉ，ｖ１ｉ）とは対応し、前記３次元座標（ｘｉ，ｙｉ，ｚｉ）と前記第２画素座標（ｕ２ｉ，ｖ２ｉ）とは対応し、前記第１画素座標（ｕ１ｉ，ｖ１ｉ）おける画素値はＩ１（ｕ１ｉ，ｖ１ｉ）であり、前記第２画素座標（ｕ２ｉ，ｖ２ｉ）における画素値はＩ２（ｕ２ｉ，ｖ２ｉ）であり、処理（ａ５）では、前記画素値Ｉ１（ｕ１ｉ，ｖ１ｉ）と前記画素値Ｉ２（ｕ２ｉ，ｖ２ｉ）との差異Ｄｉに基づいて前記評価値を算出してもよい。
【００３４】
また、本開示の一態様に係るカメラパラメタセット算出方法において、処理（ａ５）では、
【数４】
2019024196.tif 000006
に基づいて前記評価値を算出してもよい。
【００３５】
また、本開示の一態様に係るカメラパラメタセット算出方法において、処理（ａ５）では、
【数５】
2019024196.tif 000007
に基づいて前記評価値を算出してもよい。
【００３６】
また、本開示の一態様に係るカメラパラメタセット算出方法において、処理（ａ５）では、
【数６】
2019024196.tif 000008
に基づいて前記評価値を算出してもよい。
【００３７】
また、本開示の一態様に係るカメラパラメタセット算出方法において、前記絶対的位置は、地球に対する位置であってもよい。
【００３８】
また、本開示の一態様に係るプログラムは、（ａ１）所定位置への移動体の停止後に第１カメラで撮影された第１画像と、第２カメラで撮影された第２画像とを取得し、ここで、前記第１カメラは、前記移動体に搭載され、前記第２カメラは、前記移動体とは別の場所に絶対的位置を固定して配置され、（ａ２）前記第１カメラの第１カメラパラメタセットと、前記第２カメラの第２カメラパラメタセットとを取得し、（ａ３）前記第１画像、前記第２画像、前記第１カメラパラメタセット及び前記第２カメラパラメタセットに基づいて、３次元座標を複数算出し、（ａ４）前記第１カメラパラメタセットに基づいて前記複数の３次元座標を前記第１画像に投影した複数の第１画素座標を決定し、前記第２カメラパラメタセットに基づいて前記複数の３次元座標を前記第２画像に投影した複数の第２画素座標を決定し、（ａ５）前記複数の第１画素座標での複数の画素値と前記複数の第２画素座標での複数の画素値とに基づいて評価値を算出し、（ａ６）前記評価値に基づいて、前記第１カメラパラメタセットを更新し、（ａ７）前記更新された前記第１カメラパラメタセットを出力することを、コンピュータに実行させる。上記態様によれば、本開示の一態様に係るカメラパラメタセット算出装置と同様の効果が得られる。
【００３９】
なお、上記の全般的又は具体的な態様は、システム、装置、方法、集積回路、コンピュータプログラム又はコンピュータ読み取り可能な記録ディスク等の記録媒体で実現されてもよく、システム、装置、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。コンピュータ読み取り可能な記録媒体は、例えばＣＤ−ＲＯＭ等の不揮発性の記録媒体を含む。
【００４０】
以下、実施の形態に係るカメラパラメタセット算出装置等を、図面を参照しながら説明する。なお、以下で説明される実施の形態は、包括的又は具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ（工程）、並びにステップの順序等は、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また、以下の実施の形態の説明において、略平行、略直交のような「略」を伴った表現が、用いられる場合がある。例えば、略平行とは、完全に平行であることを意味するだけでなく、実質的に平行である、すなわち、例えば数％程度の差異を含むことも意味する。他の「略」を伴った表現についても同様である。
【００４１】
［実施の形態］
［１．カメラシステムの構成］
本開示の実施の形態に係るカメラパラメタセット算出装置１１１を備えるカメラシステム１０を説明する。これに限定するものではないが、本実施の形態では、カメラシステム１０は、移動体に搭載されるカメラに適用されるとして、説明する。カメラシステム１０は、カメラパラメタセット算出装置１１１を用いて、移動体に搭載されたカメラのカメラ校正を行う。
【００４２】
図２を参照すると、実施の形態に係るカメラパラメタセット算出装置１１１を備えるカメラシステム１０の機能的な構成を示すブロック図が示されている。図２に示されるように、カメラシステム１０は、撮像部１００と、画像処理部１１０と、ディスプレイ１２０と、校正用撮像部１３０とを備える。これに限定するものではないが、本実施の形態では、撮像部１００、画像処理部１１０及びディスプレイ１２０は、移動体に搭載され、校正用撮像部１３０は、当該移動体以外の対象物に配置され、その位置が固定される。つまり、校正用撮像部１３０は、移動体に搭載されない。なお、画像処理部１１０の一部が、校正用撮像部１３０と同様に、対象物に配置されてもよい。
【００４３】
対象物は、校正用撮像部１３０の絶対的位置を固定することができるものであればよい。校正用撮像部１３０の絶対的位置は、地球に対する校正用撮像部１３０の位置である。例えば、対象物は、少なくとも、撮像部１００のカメラ校正を行う間、校正用撮像部１３０の絶対的位置を固定することができるものであってもよい。このような対象物は、移動体とは別に配置され、移動体と一緒に移動することもなく、対象物の位置は、移動体の移動と関連なく変化しない。対象物の例は、地面に対して位置が固定された構造物及び設備、並びに、建物等である。
【００４４】
また、撮像部１００等が搭載される移動体は、車両、つまり乗り物であってもよい。例えば、移動体は、自動車、及び、自動車以外の車両であってもよく、船舶又は航空機であってもよい。自動車以外の車両は、トラック、バス、二輪車、搬送車、鉄道、建設機械、荷役機械等であってもよい。また、移動体は、利用者が遠隔操作する車両又はロボットであってもよい。本実施の形態では、移動体が自動車である例を説明する。
【００４５】
撮像部１００は、被写体の画像を撮影して取得し、画像処理部１１０に出力する。撮像部１００は、少なくとも１つのカメラ１０１を備え、本実施の形態では、１つのカメラ１０１を備える。例えば、図３には、実施の形態に係るカメラシステム１０の自動車１への適用例が、平面図で示されている。これに限定するものではないが、本実施の形態では、カメラ１０１は、１つの自動車１の後部１ａに配置され、当該自動車１の後方を撮影する。また、画像処理部１１０及びディスプレイ１２０はそれぞれ、例えばドライバから見える車室内に設置される。カメラ１０１は、広範囲を撮影するために、視野角が概ね１８０度の魚眼レンズを有する。カメラ１０１は、図３に破線で示されるように、半球に近い円錐状の視野１０１ｆを有している。ここで、カメラ１０１は、第１カメラの一例である。
【００４６】
本実施の形態では、撮像部１００は、１つのカメラ１０１で構成されるとしたが、カメラ１０１の数量は１つに限定されるものではなく、２つ以上のカメラ１０１を有する構成であってもよい。撮像部１００は、例えば、図４のように、自動車１の前部１ｂ、後部１ａ、左側部１ｃ及び右側部１ｄに配置され、当該自動車１の前方、後方、左方及び右方を撮影してもよい。なお、自動車１の左側部とは、前方に対する左側の側部である。よって、４つのカメラ１０１は、自動車１の周囲を包囲するように配置され、自動車１の水平方向の全周囲を視野に含むことができる。
【００４７】
図２を参照すると、画像処理部１１０は、撮像部１００によって撮影された画像（以降、カメラ画像とも呼ぶ）を処理し、その処理結果をディスプレイ１２０等に出力する。画像処理部１１０は、カメラパラメタセット算出装置１１１と、カメラパラメタ記憶部１１２と、画像生成部１１３と、送受信部１１４とを備える。カメラパラメタセット算出装置１１１のことを、校正部とも呼ぶ。
【００４８】
また、ディスプレイ１２０は、画像処理部１１０から出力された画像等を表示する。ディスプレイ１２０は、液晶パネル、有機又は無機ＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ）等の表示パネルによって構成されてもよい。
【００４９】
校正用撮像部１３０は、画像を撮影して取得し、画像処理部１１０に出力する。また、校正用撮像部１３０は、そのカメラパラメタセットを、画像処理部１１０に出力する。校正用撮像部１３０は、少なくとも１つの校正用カメラ１３１と、校正用カメラパラメタ記憶部１３２と、送受信部１３３と、処理部１３４とを備える。校正用カメラ１３１は、視野角が概ね１８０度の魚眼レンズを有する。校正用カメラ１３１は、その正確な外部カメラパラメタ及び内部カメラパラメタが既知であるカメラであり、カメラ校正済みのカメラである。校正用カメラ１３１の外部カメラパラメタ及び内部カメラパラメタの値は、真値である又は真値と同等である。例えば、真値と同等であるカメラパラメタの値は、カメラパラメタを校正する処理をしても、真値との差異が変化しないようなカメラパラメタの値であってもよい。ここで、校正用カメラ１３１は、第２カメラの一例である。
【００５０】
上述のようなカメラシステム１０は、主に画像生成と、校正との２種類の動作をする。画像生成時、撮像部１００は画像を撮影して画像処理部１１０に出力し、画像処理部１１０は、入力された画像から画像を生成して出力し、ディスプレイ１２０に表示する。校正時、撮像部１００は画像を撮影して画像処理部１１０に出力し、画像処理部１１０のカメラパラメタセット算出装置１１１は、カメラパラメタ記憶部１１２に格納されているカメラ１０１のカメラパラメタセットを更新する。なお、画像生成と校正との２種類の動作は、同時に行われてもよく、別々に行われてもよい。
【００５１】
さらに、画像処理部１１０及び校正用撮像部１３０の詳細を説明する。図２に示すように、画像処理部１１０は、カメラパラメタセット算出装置１１１、カメラパラメタ記憶部１１２、画像生成部１１３及び送受信部１１４を備える。
【００５２】
カメラパラメタ記憶部１１２は、カメラ１０１のカメラパラメタセットと、カメラ画像における撮像部１００によって遮蔽された領域の情報である遮蔽情報とを少なくとも予め格納している。カメラ１０１のカメラパラメタセットは、カメラの位置及び向き等の外部パラメタセットと、カメラのレンズの歪及び焦点距離等の内部パラメタセットとを含み得る。カメラパラメタ記憶部１１２は、例えば、ＲＯＭ（Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、フラッシュメモリなどの半導体メモリ、ハードディスクドライブ、又は、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記憶装置によって実現される。
【００５３】
校正部でもあるカメラパラメタセット算出装置１１１は、カメラパラメタ記憶部１１２のカメラパラメタセットを更新する。具体的には、カメラパラメタセット算出装置１１１は、更新の際、カメラ１０１によって撮影されたカメラ画像と、カメラパラメタ記憶部１１２に記憶されたカメラ１０１のカメラパラメタセットと、校正用カメラ１３１によって撮影されたカメラ画像と、校正用カメラ１３１のカメラパラメタセットとを用いる。カメラパラメタ記憶部１１２に記憶されたカメラ１０１のカメラパラメタセットは、初期カメラパラメタセットとして用いられる。初期カメラパラメタセットは、カメラパラメタ記憶部１１２に既に記憶されているカメラ１０１のカメラパラメタセットであってよい。例えば、初期カメラパラメタセットは、カメラ１０１の設計時のカメラパラメタセットであってもよく、使用段階においてカメラ１０１に設定されているカメラパラメタセットであってもよい。
【００５４】
画像生成部１１３は、カメラ１０１で撮影されたカメラ画像と、カメラパラメタ記憶部１１２に格納されたカメラパラメタセットとに基づいて、画像を生成して出力する。
【００５５】
送受信部１１４は、校正用撮像部１３０と情報を送受信する。受信する情報の例は、校正用カメラ１３１の識別情報、校正用カメラ１３１によって撮影されたカメラ画像、校正用カメラ１３１のカメラパラメタセット等である。送信する情報の例は、自動車１の識別情報、撮像部１００の識別情報、カメラ校正の実施指示等である。送受信部１１４は、通信回路を備えてもよく、自動車１に備えらえる通信装置を介して、校正用撮像部１３０と情報を送受信するように構成されてもよい。これに限定するものではないが、本実施の形態では、送受信部１１４は、校正用撮像部１３０の送受信部１３３と無線通信する。上記無線通信には、Ｗｉ−Ｆｉ（登録商標）（Ｗｉｒｅｌｅｓｓ  Ｆｉｄｅｌｉｔｙ）等の無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）のような通信網を介した無線通信が適用されてもよく、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＺｉｇＢｅｅ（登録商標）等の近距離無線通信が適用されてもよく、その他の無線通信が適用されてもよい。送受信部１１４は、有線通信を介して、校正用撮像部１３０と情報を送受信してもよく、コンピュータ読み取り可能な記録媒体を介して、校正用撮像部１３０と情報を送受信してもよい。
【００５６】
カメラパラメタセット算出装置１１１及び画像生成部１１３による画像処理部１１０の各構成要素は、電子回路又は集積回路等のハードウェアで実現されてもよく、コンピュータ上で実行されるプログラム等のソフトウェアで実現されてもよい。
【００５７】
また、図２に示すように、校正用撮像部１３０は、校正用カメラ１３１、校正用カメラパラメタ記憶部１３２、送受信部１３３及び処理部１３４を備える。校正用カメラ１３１は、上述したように、正確なカメラパラメタセットが既知であるカメラであり、カメラ校正済みのカメラである。校正用カメラ１３１は、校正用カメラ１３１の位置を地球に対して固定することができる対象物に、固定して配置される。例えば、図３に示すように、校正用カメラ１３１は、地面つまり地球に対して固定して配置された支柱等の対象物２に取り付けられてもよい。校正用カメラ１３１は、対象物２に固定された状態でカメラ校正を受ける。カメラ校正後の校正用カメラ１３１の正確なカメラパラメタセットは、校正用カメラパラメタ記憶部１３２に記憶される。
【００５８】
詳細は後述するが、校正用撮像部１３０は、撮像部１００のカメラ１０１をカメラ校正する際の基準として用いられる。つまり、校正用カメラ１３１は、カメラ１０１をカメラ校正する際の基準カメラとして用いられる。このため、カメラ校正後の校正用カメラ１３１のカメラパラメタセットは、変化しないことが好ましい。よって、校正用カメラ１３１は、特に外部パラメタセットが変化しないように、地球に対して固定して配置された対象物に固定されてもよい。本実施の形態のように、撮像部１００が自動車１に搭載される場合、校正用カメラ１３１は、自動車１が利用する施設又は設備に配置されてもよい。校正用カメラ１３１が配置される施設の例は、自動車整備工場、自動車販売店、自動車用品店、ガソリンスタンド、駐車場、自動車専用道路のパーキング、コンビニエンスストアなどの店舗等である。校正用カメラ１３１は、これらの施設の壁、柱等に配置されてもよい。校正用カメラ１３１が配置される設備の例は、道路上の構造物である。道路上の構造物の例は、信号柱、標識柱、電柱、道路灯、路側機等である。また、校正用カメラ１３１を、道路に配置された監視カメラが兼ねてもよく、車両番号読取装置のカメラ等の公共設備のカメラが兼ねてもよい。
【００５９】
しかしながら、対象物が移動した場合であっても、校正用カメラ１３１の位置及び向き等の外部カメラパラメタを正確に検出できる構成の対象物であれば、対象物は移動可能であってもよい。例えば、対象物が、ロボットアーム等の機械式のアームである場合、アームの先端に取り付けられた校正用カメラ１３１の外部パラメタセットは、アームの関節の動作量から算出可能である。対象物が水平方向に移動可能である場合、校正用カメラ１３１の外部パラメタセットは、対象物の水平方向の移動量から算出可能である。
【００６０】
校正用カメラパラメタ記憶部１３２は、カメラ校正済みの校正用カメラ１３１のカメラパラメタセットと、カメラ画像における校正用撮像部１３０によって遮蔽された領域の情報である遮蔽情報とを少なくとも予め格納している。校正用カメラ１３１のカメラパラメタセットは、外部パラメタセットと内部パラメタセットとを含み得る。校正用カメラパラメタ記憶部１３２は、例えば、ＲＯＭ、ＲＡＭ、フラッシュメモリなどの半導体メモリ、ハードディスクドライブ、又は、ＳＳＤ等の記憶装置によって実現される。
【００６１】
送受信部１３３は、画像処理部１１０と情報を送受信する。送受信する情報の例は、画像処理部１１０の送受信部１１４に関して上述した情報である。送受信部１３３は、通信回路を備えてもよく、送受信部１３３が取り付けられる対象物に備えらえる通信装置を介して、画像処理部１１０と情報を送受信するように構成されてもよい。上述したように、送受信部１３３は、画像処理部１１０の送受信部１１４と無線通信する。しかしながら、送受信部１３３は、有線通信又はコンピュータ読み取り可能な記録媒体を介して、送受信部１１４と通信してもよい。
【００６２】
処理部１３４は、校正用撮像部１３０の全体を制御する。例えば、処理部１３４は、画像処理部１１０からカメラ校正の実施指示を受け取ると、校正用カメラ１３１に撮影させる。処理部１３４は、校正用カメラ１３１によって撮影されたカメラ画像と、校正用カメラパラメタ記憶部１３２に記憶された校正用カメラ１３１のカメラパラメタセットとを、送受信部１３３を介して、画像処理部１１０に送信する。このとき、処理部１３４は、画像処理部１１０から識別情報を受け取ることで、通信を認証してもよく、通信の認証のために、図示しない半導体メモリ等に記憶された校正用カメラ１３１の識別情報を送信してもよい。処理部１３４は、電子回路又は集積回路等のハードウェアで実現されてもよく、コンピュータ上で実行されるプログラム等のソフトウェアで実現されてもよい。
【００６３】
例えば、図５を参照すると、コンピュータによって構成されたカメラシステム１０のハードウェア構成の一例が示されている。カメラシステム１０は、撮像部１００のカメラ１０１と、画像処理部１１０に対応するコンピュータ３００と、ディスプレイ１２０と、校正用カメラ１３１と、校正用撮像部１３０の処理部１３４に対応するコンピュータ４００とを備える。カメラシステム１０において、カメラ１０１は画像を撮影して出力し、コンピュータ３００が画像処理部１１０として動作することにより、画像を生成して出力する。ディスプレイ１２０はコンピュータ３００で生成された画像を表示する。校正用カメラ１３１は画像を撮影して出力し、コンピュータ４００が処理部１３４として動作することにより、画像及び校正用カメラ１３１のカメラパラメタセットを出力する。本実施の形態では、カメラ１０１及び校正用カメラ１３１はそれぞれ、１つのカメラで構成される。
【００６４】
コンピュータ３００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０１、ＲＯＭ３０２、ＲＡＭ３０３、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）３０４、ビデオ入力Ｉ／Ｆ（インタフェース）３０５、ビデオカード３０６及びＣＯＭ（Ｃｏｍｍｕｎｉｃａｔｉｏｎ）３０７を含む。また、コンピュータ４００は、ＣＰＵ４０１、ＲＯＭ４０２、ＲＡＭ４０３、ビデオ入力Ｉ／Ｆ４０５及びＣＯＭ４０７を含む。ＣＯＭ３０７及び４０７の例は、通信回路である。
【００６５】
コンピュータ３００を動作させるプログラムは、ＲＯＭ３０２又はＨＤＤ３０４に予め保持されている。プログラムは、プロセッサであるＣＰＵ３０１によって、ＲＯＭ３０２又はＨＤＤ３０４からＲＡＭ３０３に読み出されて展開される。ＣＰＵ３０１は、ＲＡＭ３０３に展開されたプログラム中のコード化された各命令を実行する。ビデオ入力Ｉ／Ｆ３０５は、プログラムの実行に応じて、カメラ１０１で撮影された画像を、ＲＡＭ３０３へ取り込む。ビデオカード３０６は、プログラムの実行に応じて生成された画像を処理してディスプレイ１２０に出力し、ディスプレイ１２０がその画像を表示する。ＣＯＭ３０７は、プログラムの実行に応じて、ＣＯＭ４０７と無線通信し、校正用カメラ１３１で撮影された画像及び校正用カメラ１３１のカメラパラメタセットを取得し、ＲＡＭ３０３へ取り込む。上述したように、コンピュータ３００は画像処理部１１０に対応する。カメラパラメタ記憶部１１２は、ＲＯＭ３０２、ＲＡＭ３０３又はＨＤＤ３０４に対応する。送受信部１１４は、ＣＯＭ３０７に対応する。
【００６６】
同様に、コンピュータ４００を動作させるプログラムは、ＲＯＭ４０２に予め保持されている。プログラムは、ＣＰＵ４０１によって、ＲＯＭ４０２からＲＡＭ４０３に読み出されて展開される。ＣＰＵ４０１は、ＲＡＭ４０３に展開されたプログラム中のコード化された各命令を実行する。ビデオ入力Ｉ／Ｆ４０５は、プログラムの実行に応じて、校正用カメラ１３１で撮影された画像を、ＲＡＭ４０３へ取り込む。ＣＯＭ４０７は、プログラムの実行に応じて、ＣＯＭ３０７と無線通信し、校正用カメラ１３１で撮影された画像及び校正用カメラ１３１のカメラパラメタセットを送信する。上述したように、コンピュータ４００は処理部１３４に対応する。校正用カメラパラメタ記憶部１３２は、ＲＯＭ４０２又はＲＡＭ４０３に対応する。送受信部１３３は、ＣＯＭ４０７に対応する。
【００６７】
なお、コンピュータプログラムは、半導体装置であるＲＯＭ３０２及び４０２又はＨＤＤ３０４に限られず、例えばＣＤ−ＲＯＭ等の記録媒体に格納されていてもよい。また、コンピュータプログラムは、有線ネットワーク、無線ネットワーク又は放送等を介して伝送され、コンピュータ３００又は４００のＲＡＭ３０３又は４０３に取り込まれてもよい。
【００６８】
［２．カメラシステムの動作］
カメラシステム１０の動作を説明する。具体的には、カメラシステム１０における、画像生成時の動作と、校正時の動作とを、順に説明する。
【００６９】
［２−１．画像生成時の動作］
カメラシステム１０における画像生成時の動作を、図６を用いて説明する。なお、図６は、カメラシステム１０の画像処理部１１０における、画像生成時の動作の流れの一例を表すフローチャートである。図６に示されるように、画像生成時の動作は、カメラパラメタセット読み出しのステップＳ４０１の処理と、画像生成のステップＳ４０２の処理とを含む。図６に示される各動作は、図５のコンピュータ３００で実行されてもよい。
【００７０】
これに限定するものではないが、本実施の形態では、カメラシステム１０が自動車１に設置される。具体的には、カメラシステム１０は、自動車１の後方を撮影して得られたカメラ画像を用いて、自動車１の周囲の画像を生成し、その結果を自動車１内に設置されたディスプレイ１２０に表示し、それにより、利用者であるドライバに自動車１周辺の状況を提示する。
【００７１】
図７を参照すると、図３に示すカメラ１０１の設置状況において、カメラ１０１で撮影される画像の例が示されている。カメラ１０１の視野角は概ね１８０度である。
【００７２】
コンピュータ３００は、撮像部１００の動作と並行して、予め定められたプログラムを実行することで、図６のステップＳ４０１及びＳ４０２の処理を行う。以降、コンピュータ３００で実行されるステップＳ４０１及びＳ４０２の詳細な処理を、図２及び図６を用いて説明する。
【００７３】
ステップＳ４０１では、画像生成部１１３は、カメラパラメタ記憶部１１２から、カメラパラメタ記憶部１１２に予め格納されているカメラ１０１の内部パラメタセット及び外部パラメタセットを含むカメラパラメタセットを読み出す。カメラの外部パラメタセットＭと３次元座標との関係、及び、カメラの内部パラメタセット（ｆ，ｄｐｘ，ｄｐｙ，ｃｕ，ｃｖ）と３次元座標と画素座標との関係を下記の式１〜式３に示す。
【００７４】
【数７】
2019024196.tif 000009
【数８】
2019024196.tif 000010
【数９】
2019024196.tif 000011
【００７５】
ここで、上記の式１における外部パラメタセットＭは、世界座標系とカメラ座標系との位置関係を表す外部パラメタセットであり、世界座標系の３次元座標（ｘｗ，ｙｗ，ｚｗ）を、カメラ座標系の３次元座標（ｘｅ，ｙｅ，ｚｅ）に変換する４×４の行列で表す。上記の式１及び式２に示すように、外部パラメタセットＭは、世界座標系のＸｗ軸、Ｙｗ軸及びＺｗ軸の各軸周りの回転角（Ｒｘ，Ｒｙ，Ｒｚ）と、世界座標系のＸｗ軸、Ｙｗ軸及びＺｗ軸の各軸方向の平行移動（ｔｘ，ｔｙ，ｔｚ）とを表す。上記の式３は、被写体上のある点のカメラ座標系における３次元座標（ｘｅ，ｙｅ，ｚｅ）と、カメラ画像における当該点の像の画素座標（ｕ，ｖ）との関係を表している。内部パラメタセットのｆはカメラの焦点距離であり、ｄｐｘ及びｄｐｙはそれぞれ、カメラの撮像素子のｘ方向及びｙ方向の画素サイズであり、（ｃｕ，ｃｖ）はカメラ座標系のｚｅ軸とカメラの撮像面との交点の画素座標である。なお、デジタル画像を「２次元の格子点（すなわち、画素座標）における値（すなわち画素値）」の集合と考えた場合に、画像上の画素の位置を２次元の画素座標で表現する。
【００７６】
外部パラメタセットＭ及び内部パラメタセット（ｆ，ｄｐｘ，ｄｐｙ，ｃｕ，ｃｖ）は、前述した従来技術のカメラ校正方法で予め求めておく。なお、ｄｐｘ、ｄｐｙ及びｆの算出には、上記の式１〜式３だけでは拘束条件が足りない。そこで、ｄｐｘ、ｄｐｙ及びｆのいずれか１つは設計値が用いられ、残りの２つのパラメタが従来技術のカメラ校正方法で算出されてもよい。
【００７７】
なお、上記の式３では、レンズの投影モデルとして透視投影モデル（ピンホールカメラモデルとも呼ばれる）を用いたが、これは投影モデルを限定するものではなく、等距離射影モデル、立体射影モデル及び等立体角射影モデル等の他の投影モデルを用いてもよい。例えば、等距離射影モデルの場合、上記の式３の内部パラメタセットの代わりに、下記の式４に示される内部パラメタセットを用いる。
【００７８】
【数１０】
2019024196.tif 000012
【００７９】
ここで、外部パラメタセットに関して、例えば、２つのカメラをそれぞれカメラｉ及びｊと表す場合、カメラｉ及びｊの位置関係を表す外部パラメタセットＭｉ及びＭｊを、下記の式５のように示すことができる。
【００８０】
【数１１】
2019024196.tif 000013
【００８１】
また、例えば、カメラ１０１の内部パラメタセット及び外部パラメタセットをまとめたカメラパラメタセットを、下記の式６に示すようなＣａで表す。
【００８２】
【数１２】
2019024196.tif 000014
【００８３】
ステップＳ４０２では、画像生成部１１３は、カメラ１０１で撮影されたカメラ画像Ｉａと、カメラ１０１のカメラパラメタセットＣａとを取得する。さらに、画像生成部１１３は、カメラ画像Ｉａを、予め定めた空間モデルにマッピングする。本実施の形態では、予め定めた空間モデルとして、ｚｗ＝０の平面モデルを用いるものとする。さらに、画像生成部１１３は、予め定めた仮想カメラのカメラパラメタセットＣｏを用いて、カメラ画像が投影された空間モデルを、仮想カメラから見た画像として生成する。本実施の形態では、予め定めた仮想カメラのカメラパラメタセットとして、図８に示すような自動車１の上方から自動車１の周辺を見下ろす配置の仮想カメラを適用する。なお、図８は、実施の形態における仮想カメラの配置例を示す模式的な図である。カメラで撮影したカメラ画像から、空間モデルを用いて画像を生成する手法は、特許文献１等に詳しく記載されており、既知の技術であるため、本明細書ではこれ以上の詳細な説明を省略する。
【００８４】
以上のように、コンピュータ３００で実行されるステップＳ４０１及びＳ４０２の画像生成時の処理によって、画像処理部１１０は、撮像部１００で撮影されたカメラ画像から、仮想カメラを視点とする画像を生成して出力する。さらに、撮像部１００及びコンピュータ３００は、上記の処理を繰り返してもよい。
【００８５】
図９には、ステップＳ４０２の処理によって生成される画像の例が、示されている。図９を参照すると、自動車１の周りの障害物、例えば、図９の例では、後方の建物の方向及び距離を、運転者が容易に認知できる。
【００８６】
以上のように、カメラシステム１０の撮像部１００、及び、コンピュータ３００で実現される画像処理部１１０は、これらによる動作の結果、車体に配置されたカメラ１０１で撮影されたカメラ画像を用いて、仮想カメラから見た車体周囲の画像を生成して表示することができる。その結果、カメラシステム１０を搭載した自動車１の運転者は、自動車１の周囲の障害物等の３次元物体を容易に把握することができる。
【００８７】
［２−２．校正動作］
上述したカメラシステム１０は、予め記録しておいたカメラパラメタセットを用いて画像を生成している。一方、カメラを製造した場合及び自動車にカメラを設置した場合に、カメラパラメタセットは、組立て誤差に起因する差異を設計値に対して有するため、カメラパラメタセットの推定、すなわち、カメラ校正が必要になる。また、組立て時にカメラ校正をした場合であっても、カメラの取り付け位置が、経年変化、外力又は温度変化等の影響を受けた場合に、変形等を生じて変わる場合がある。例えば、経年変化によって、カメラの取り付け位置が変化した場合に、経年変化前のカメラパラメタセットを用いて画像を生成すると、例えば、生成画像中の被写体の位置がずれるなど、生成画像が正しく生成されない。そのため、経年変化等でカメラパラメタが変化する場合にも、カメラの校正が必要になる。
【００８８】
以下、カメラシステム１０における校正時の動作について、図１０及び図１１を用いて説明する。なお、図１０は、図２のカメラシステム１０のカメラパラメタセット算出装置１１１の詳細な構成を示した機能的な構成図である。図１１は、実施の形態に係るカメラシステム１０の画像処理部１１０における校正処理Ｓ１１１の流れの一例を表すフローチャートである。校正処理Ｓ１１１は、校正動作の際の画像処理部１１０及び校正用撮像部１３０の処理であり、図５のコンピュータ３００及び４００で実行される。
【００８９】
ここで、校正処理Ｓ１１１を行うカメラパラメタセット算出装置１１１の構成を説明する。図１０に示すように、カメラパラメタセット算出装置１１１は、取得部９０１と、３次元点群算出部９０２と、評価値算出部９０３と、カメラパラメタ決定部９０４と、カメラパラメタ出力部９０５とを含む。取得部９０１と、３次元点群算出部９０２と、評価値算出部９０３と、カメラパラメタ決定部９０４と、カメラパラメタ出力部９０５とによる各構成要素は、画像処理部１１０の画像生成部１１３等の構成要素と同様の構成を有してもよい。
【００９０】
取得部９０１は、カメラ１０１によって撮影されたカメラ画像Ｉａを、撮像部１００から取得する。取得部９０１は、撮像部１００又は画像処理部１１０等が有する図示しない半導体メモリ等の記憶装置に格納されたカメラ画像Ｉａを取得してもよい。また、取得部９０１は、カメラ１０１に現在設定されているカメラパラメタで構成される初期カメラパラメタセットを、カメラパラメタ記憶部１１２から取得する。
【００９１】
また、取得部９０１は、自動車１の運転者等のカメラシステム１０のユーザによって入力装置を介して入力されるカメラ１０１のカメラ校正開始の指示、つまり校正指示を、取得する。そして、取得部９０１は、校正指示に従い、校正用カメラ１３１によるカメラ画像（カメラ画像Ｉｂとする）の撮影及び送信と、校正用カメラ１３１のカメラパラメタセットの送信とを、送受信部１１４を介して、校正用撮像部１３０の処理部１３４に要求する。これにより、取得部９０１は、校正用カメラ１３１によって撮影されたカメラ画像Ｉｂを、送受信部１１４を介して、校正用撮像部１３０から取得する。さらに、取得部９０１は、校正用カメラパラメタ記憶部１３２に格納された校正用カメラ１３１のカメラ校正済みのカメラパラメタセットを、送受信部１１４を介して、校正用撮像部１３０から取得する。
【００９２】
３次元点群算出部９０２は、２つのカメラから取得した２つのカメラ画像間の対応点の組、すなわち、２つのカメラ画像のそれぞれに含まれる点であって且つ互いに対応する点の組を推定して抽出し、当該２つのカメラ画像それぞれにおける対応点の画素座標を算出する。２つのカメラ画像に同一の被写体が映っている場合、すなわち、一方のカメラ画像の被写体上の点が他方のカメラ画像にも映っている場合、これら２つの点のそれぞれを対応点と呼び、この２つの点の組を対応点の組と呼ぶ。対応点の組を推定するとは、具体的には、対応点の組のそれぞれの対応点の画素座標を算出することである。
【００９３】
さらに、３次元点群算出部９０２は、対応点の組に含まれる対応点の画素座標及び２つのカメラの初期カメラパラメタセットに基づき、ステレオ測距技術を用いて、対応点の組に対する被写体上の点の３次元座標を算出する。なお、ステレオ測距技術は、ステレオ視とも呼ばれ、互いに異なる視点に位置し且つ視野が重複するように配置された２つのカメラを用いてカメラ画像が取得され、２つのカメラ画像のそれぞれに含まれる点であって且つ互いに対応する点の組、すなわち、対応点の組が推定され、対応点の組に含まれる２つの対応点と予め求めておいたカメラの位置及び向き等の情報とを用いて、対応点の組に対する被写体上の点の３次元座標が計算される。以降の説明において、３次元点群算出部９０２によって算出される３次元座標に対応する点を、測距点とも呼ぶ。
【００９４】
評価値算出部９０３は、測距点の３次元座標を対応点の組の推定に用いた２つのカメラ画像それぞれに投影した点の画素値に基づき、カメラパラメタセットの評価値を算出する。以降の説明において、測距点を２つのカメラ画像に投影して得られる当該２つのカメラ画像上の点のそれぞれを、投影点と呼ぶ。カメラＳで被写体を撮影して得たカメラ画像ＩＳ及びカメラＴで被写体を撮影して得たカメラ画像ＩＴに基づいた測距点を、カメラ画像ＩＳに投影した投影点を第１投影点と呼び、同一の測距点をカメラ画像ＩＴに投影した投影点を第２投影点と呼んでもよい。
【００９５】
カメラパラメタ決定部９０４は、評価値算出部９０３によって算出された評価値に基づき、現在、カメラ１０１に設定されているカメラパラメタセットを変更すべきか否かを判定する。カメラパラメタ決定部９０４は、判定結果に基づき、カメラパラメタセットを変更つまり更新する。このように、カメラパラメタ決定部９０４は、カメラパラメタセットを決定する。カメラパラメタ出力部９０５は、カメラパラメタ決定部９０４で決定されたカメラパラメタセットを取得し、カメラパラメタ記憶部１１２等に出力する。
【００９６】
図１１に示すように、カメラパラメタセット算出装置１１１は、ステップＳ１００１〜Ｓ１０１０を含む校正処理Ｓ１１１を行うことによって、カメラ１０１に設定されているカメラパラメタのセット、つまり、初期カメラパラメタセットを校正する。校正処理Ｓ１１１において、カメラパラメタセット算出装置１１１は、校正指示を含む外部入力を受け取ることによって、校正処理を開始する。具体的には、カメラパラメタセット算出装置１１１は、スイッチ、タッチパッド、キーボード等の図示しない入力装置を介して、ユーザによってカメラシステム１０へ校正指示が入力されると、カメラ１０１の校正処理を開始する。例えば、ユーザは、カメラ１０１の異常を確認した場合、校正指示を入力してもよい。
【００９７】
以下、ユーザが、カメラ１０１のカメラパラメタセットＣａの校正を意図する場合に、カメラパラメタセット算出装置１１１がカメラパラメタセットＣａを校正する動作を説明する。例えば、図３には、自動車１の後部１ａに搭載されたカメラ１０１のカメラパラメタセットを校正するために、校正用カメラ１３１に対して、自動車１が所定の位置にセットされた状態が示されている。ユーザは、カメラ１０１のカメラパラメタセットを校正する場合、校正用カメラ１３１を備える施設等に、自動車１を移動させ、校正用カメラ１３１に対して、所定の位置及び向きで自動車１を停車させる。例えば、図３に示すように、ユーザは、校正用カメラ１３１の周辺の地面上の位置指標であるマーキング３に合わせて自動車１を停車させることによって、自動車１を所定の位置及び向きに停車させる。
【００９８】
上述のように、自動車１を所定の位置及び向きに停車させることにより、カメラ１０１の方向は、校正用カメラ１３１の方向と同様になり、カメラ１０１の視野と校正用カメラ１３１の視野との間に、重複する領域が存在する。図３の例の場合、カメラ１０１及び校正用カメラ１３１は、自動車１の後方を撮影する。このような所定の位置及び向きは、カメラ１０１の視野と校正用カメラ１３１の視野との間に重複領域が存在するように自動車１を停車させるためのものである。つまり、カメラ１０１のカメラパラメタセットの校正時、カメラ１０１の視野と校正用カメラ１３１の視野との間に重複領域が存在するように、カメラ１０１の位置及び向きが設定される。例えば、図１２Ａ及び図１２Ｂにはそれぞれ、図３に示すカメラの設置状態において、カメラ１０１及び校正用カメラ１３１で撮影されるカメラ画像Ｉａ及びＩｂの例が、示されている。カメラ画像Ｉａ及びＩｂは、カメラ１０１及び校正用カメラ１３１で重複して撮影される被写体を含む。以降において、カメラ画像Ｉａ及びＩｂ間で被写体が重複する領域を、重複撮影領域と呼ぶ。
【００９９】
なお、校正用カメラ１３１の撮影範囲は、カメラ１０１の撮影範囲をできるだけ多く含んでもよい。言い換えると、校正用カメラ１３１とカメラ１０１との重複撮影領域は、カメラ１０１の撮影領域をできるだけ多く含んでもよい。撮影範囲を多く含むほど、校正によって得られるカメラ１０１のカメラパラメタの誤差が小さくなり、カメラ１０１の校正精度が向上することが期待できる。
【０１００】
このため、カメラ１０１が、自動車１の後部１ａ以外の場所に配置される場合でも、カメラ校正時、カメラ１０１の視野と校正用カメラ１３１の視野との間に重複する領域が存在するように、校正用カメラ１３１に対して、自動車１が所定の位置及び向きに停車される。例えば、自動車１の左側部１ｃに配置されたカメラ１０１のカメラパラメタセットを校正する場合、自動車１は、図４に示すように、当該カメラ１０１の視野と校正用カメラ１３１の視野との間に重複する領域が存在するように、位置指標に従って、停車される。なお、図４は、前部１ｂ、後部１ａ、左側部１ｃ及び右側部１ｄにカメラ１０１を備える自動車１において、左側部１ｃのカメラ１０１のカメラパラメタセットを校正する際の状況の一例を示す。また、図４の例において、前部１ｂ及び右側部１ｄのカメラ１０１のカメラパラメタを校正する場合も、自動車１は、当該カメラ１０１の視野と校正用カメラ１３１の視野との間に重複する領域が存在するように、位置指標に従って停車される。
【０１０１】
なお、位置指標の一例であるマーキング３は、図３のように、自動車１を囲む枠のような自動車１の全体の位置及び向きを示すものであってもよく、図４のように、自動車１のタイヤの位置又は自動車１の角の位置のような自動車１の一部の位置及び向きを示すものであってもよい。位置指標は、地面上のマーキングに限定されず、垂直に延びるポール又は水平に延びるバー等の物体であってもよい。所定の位置及び向きへの自動車１の停車方法は、位置指標に基づく方法に限定されず、自動車１に搭載されたカーナビゲーション装置のＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）で測位した自車位置に基づく方法でもよい。又は、当該停車方法は、自動車１に搭載されたミリ波レーダ、レーザレーダ等による周囲の物体の測位結果から検出される自車位置に基づく方法でもよい。
【０１０２】
ステップＳ１００１において、ユーザは、所定の位置及び向きへの自動車１の停車を完了すると、カメラシステム１０へ校正指示を入力する。校正指示を取得したカメラパラメタセット算出装置１１１の取得部９０１は、校正処理Ｓ１１１を開始する。
【０１０３】
次いで、ステップＳ１００２において、取得部９０１は、カメラ１０１に対して、校正指示取得後にカメラ１０１によって撮影されたカメラ画像Ｉａを取得する。カメラ１０１が未だ撮影していない場合、取得部９０１は、カメラ１０１に撮影を要求し、その後に撮影されたカメラ画像Ｉａを取得してもよい。
【０１０４】
さらに、ステップＳ１００３において、取得部９０１は、カメラパラメタ記憶部１１２に予め格納されているカメラ１０１の初期カメラパラメタセットＣａ０を読み込む。ここで、「予め」とは、「カメラパラメタセット算出装置１１１が校正処理を開始する前」であることを意味してもよい。
【０１０５】
ステップＳ１００４において、取得部９０１は、校正用撮像部１３０に対して撮影を要求し、その後に校正用カメラ１３１によって撮影されたカメラ画像Ｉｂを取得する。カメラ画像Ｉｂを、校正用カメラ画像とも呼ぶ。なお、カメラ画像Ｉａ及びＩｂに重複撮影領域があれば、取得部９０１は、校正用カメラ１３１が予め撮影したカメラ画像Ｉｂを取得してもよい。
【０１０６】
さらに、ステップＳ１００５において、取得部９０１は、校正用撮像部１３０に対して、校正用カメラパラメタ記憶部１３２に予め格納されている校正用カメラ１３１のカメラパラメタセットＣｂを要求する。そして、取得部９０１は、校正用撮像部１３０から送信されるカメラパラメタセットＣｂを取得する。カメラパラメタセットＣｂは、校正用カメラ１３１に対してカメラ校正を行うことによって、既に算出されたカメラパラメタセットであり、その真値又は真値と同等であるカメラパラメタセットである。カメラパラメタセットＣｂを、校正用カメラパラメタセットとも呼ぶ。なお、取得部９０１は、ステップＳ１００２の処理とステップＳ１００４の処理とのうちいずれを先に実施してもよく、並行して実施してもよい。
【０１０７】
ステップＳ１００６において、３次元点群算出部９０２は、取得されたカメラ１０１のカメラ画像Ｉａ及び校正用カメラ１３１のカメラ画像Ｉｂを用いて、２つのカメラ画像Ｉａ及びＩｂ間でＮ個の対応点の組を推定し抽出する。さらに、３次元点群算出部９０２は、各対応点の組に含まれる２つの対応点の座標、つまり、カメラ画像Ｉａでの画素座標（ｕａｎ，ｖａｎ）及び各対応点のカメラ画像Ｉｂでの画素座標（ｕｂｎ，ｖｂｎ）を算出して出力する。なお、ｎは、１〜Ｎの値をとる。さらにまた、３次元点群算出部９０２は、カメラ画像Ｉａ及びＩｂのＮ個の対応点の組のそれぞれに含まれる２つの画素座標と、カメラ１０１及び校正用カメラ１３１それぞれのカメラパラメタセットＣａｒ及びＣｂとを用いて、ステレオ測距技術により、Ｎ個の対応点の組に対するＮ個の被写体上の点、すなわち、Ｎ個の測距点の３次元座標（ｘａｒ１，ｙａｒ１，ｚａｒ１）〜（ｘａｒｎ，ｙａｒｎ，ｚａｒｎ）を算出して出力する。つまり、３次元点群算出部９０２は、Ｎ個の測距点の３次元座標を算出する。
【０１０８】
ステップＳ１００６〜Ｓ１００９は、ステップＳ１００８での判定結果に応じて、繰り返される。そして、繰り返しの度に、カメラ１０１のカメラパラメタセットが更新される。このため、ｒ回目の繰り返し時のカメラ１０１のカメラパラメタセットを、カメラパラメタセットＣａｒと表す。初期カメラパラメタセットの場合、ｒ＝０である。
【０１０９】
ここで、ステップＳ１００６の処理の詳細を説明する。カメラ１０１が被写体を撮影して得たカメラ画像をカメラ画像Ｉａとし、校正用カメラ１３１が被写体を撮影して得たカメラ画像をカメラ画像Ｉｂとする。３次元点群算出部９０２は、カメラ画像Ｉａに含まれる被写体上の点Ｐｎを撮影した点の画素座標（ｕａｎ，ｖａｎ）と、カメラ画像Ｉｂに含まれる当該被写体上の同一の点Ｐｎを撮影した点の画素座標（ｕｂｎ，ｖｂｎ）とを、例えば画像の類似、後述する輝度拘束、滑らかさ拘束などに基づいて、推定し算出する。画素座標の組｛（ｕａｎ，ｖａｎ）、（ｕｂｎ，ｖｂｎ）｝は、２つのカメラ画像のそれぞれに含まれる画素座標であって、且つ、互いに対応する画素座標の組である。なお、カメラ画像Ｉａ含まれる点とカメラ画像Ｉｂ含まれる点とが互いに対応する場合、この対応点の組を対応点の組に対応する画素座標の組で表現してもよい。図１２Ａ及び図１２Ｂのカメラ画像の例の場合、２つのカメラ画像Ｉａ及びＩｂ中の重複撮影領域において、２つのカメラ画像Ｉａ及びＩｂそれぞれの対応点の画素座標（ｕａｎ，ｖａｎ）及び（ｕｂｎ，ｖｂｎ）が得られることが期待できる。
【０１１０】
カメラ画像Ｉａの画素座標（ｕａｎ，ｖａｎ）と、カメラ画像Ｉｂの画素座標（ｕｂｎ，ｖｂｎ）とが、対応点の組に含まれる２つの対応点の画素座標である場合、２つの対応点つまり２つの画素座標での画素値Ｉａ（ｕａｎ，ｖａｎ）及びＩｂ（ｕｂｎ，ｖｂｎ）が等しい。これを輝度拘束と呼ぶ。また、ある１つの被写体は、カメラ画像中の複数の隣接する画素を占めることから、カメラ画像Ｉａの画素座標（ｕａｎ，ｖａｎ）に隣接する画素で特定される点に対応するカメラ画像Ｉｂに含まれる点は、カメラ画像Ｉｂの画素座標（ｕｂｎ，ｖｂｎ）で特定される点の近くにある可能性が高い。これを滑らかさ拘束と呼ぶ。カメラ画像Ｉａ及びＩｂ間の対応点の組（カメラ画像Ｉａ及びＩｂ間の対応する画素座標組）は、上述した輝度拘束と滑らかさ拘束との２つの条件を最もよく満たす画素座標（ｕａｎ，ｖａｎ）及び（ｕｂｎ，ｖｂｎ）の組の集まりを推定することで得ることができる。
【０１１１】
２つのカメラ画像間の対応点の組に含まれる２つの画素座標を実数精度で推定する対応点探索手法及び動き推定手法は、既知な技術であり、上記で挙げた非特許文献２などに詳しく記載されているため、ここでは詳細な説明を省略する。
【０１１２】
３次元点群算出部９０２は、さらに、推定した各対応点の組に含まれる２つの対応点の画素座標（ｕａｎ，ｖａｎ）及び（ｕｂｎ，ｖｂｎ）と、カメラ１０１及び校正用カメラ１３１のカメラパラメタセットＣａｒ及びＣｂとを用いて、上記の式３により、対応点の組に対応する被写体上の点（測距点）の３次元座標（ｘａｒｎ，ｙａｒｎ，ｚａｒｎ）を算出する。３次元座標は、カメラ１０１のカメラ座標系の座標値とする。２つのカメラ画像間の対応点の組に含まれる２つの対応点の座標と２つのカメラ位置とから対応点の組に対応する被写体上の点（測距点）の３次元座標を算出する２眼ステレオ手法、及び２つの３次元座標系間での座標値の変換は、既知の技術であり、上記で挙げた非特許文献３などに詳しく記載されているため、ここでは詳細な説明を省略する。
【０１１３】
以降の説明を簡単にするために、カメラ１０１が被写体を撮影して得たカメラ画像及び校正用カメラ１３１が被写体を撮影して得たカメラ画像のそれぞれに含まれる点であって且つ互いに対応する点の組である対応点の組に含まる２つの対応点の座標（ｕａｎ，ｖａｎ）及び（ｕｂｎ，ｖｂｎ）と、カメラ１０１及び校正用カメラ１３１のカメラパラメタセットＣａｒ及びＣｂとを用いて、上記の式３により、対応点の組に対する被写体上の点（測距点）の３次元座標（ｘａｒｎ，ｙａｒｎ，ｚａｒｎ）を算出する処理を、関数Ｆを用いた下記の式７で表す。上述のようなステップＳ１００６の処理を通じて、３次元点群算出部９０２は、２つのカメラ画像の対応点の組（Ｎ組）に対する被写体上の点（Ｎ個）、すなわち、測距点（Ｎ個）の３次元座標をＮ個算出する。
【０１１４】
【数１３】
2019024196.tif 000015
【０１１５】
さらに、ステップＳ１００７において、評価値算出部９０３は、Ｎ個の測距点の３次元座標と、カメラ１０１及び校正用カメラ１３１のカメラパラメタセットＣａｒ及びＣｂとを用いて、各測距点をカメラ１０１及び校正用カメラ１３１のカメラ画像Ｉａ及びＩｂに投影する。そして、評価値算出部９０３は、各測距点について、測距点を投影して得られるカメラ画像Ｉａ上の第１投影点及びカメラ画像Ｉｂ上の第２投影点を算出する。「測距点をカメラ画像に投影する」とは、評価値算出部９０３が、下記の式８及び式９により、各測距点の３次元座標を、カメラ画像Ｉａ及びＩｂの画素座標に座標変換する、ことである。これにより、評価値算出部９０３は、各測距点について、カメラ画像Ｉａにおける第１投影点の画素座標（ｕａｒｎ，ｖａｒｎ）、及び、カメラ画像Ｉｂにおける第２投影点の画素座標（ｕｂｒｎ，ｖｂｒｎ）を算出する。式８における関数Ｇは、上記式１〜式３及び式５に基づく、測距点の３次元座標からカメラ画像Ｉａの画素座標への座標変換を示す。式９における関数Ｈは、上記式１〜式３及び式５に基づく、測距点の３次元座標からカメラ画像Ｉｂの画素座標への座標変換を示す。
【０１１６】
【数１４】
2019024196.tif 000016
【０１１７】
さらに、評価値算出部９０３は、カメラ画像Ｉａ及びＩｂと、カメラパラメタセットＣａｒ及びＣｂｒとを用いて、測距点をカメラ画像Ｉａに投影した第１投影点の画素値ｉａｒと、同一の測距点をカメラ画像Ｉｂに投影した第２投影点の画素値ｉｂｒとを算出する。例えば、第１投影点の画素座標を（ｕａｒｎ，ｖａｒｎ）とし、第２投影点の画素座標を（ｕｂｒｎ，ｖｂｒｎ）とすると、第１投影点の画素値ｉａｒは、Ｉａ（ｕａｒｎ，ｖａｒｎ）と表され、第２投影点の画素値ｉｂｒは、Ｉｂ（ｕｂｒｎ，ｖｂｒｎ）と表される。なお、評価値算出部９０３は、各々の測距点に対する第１投影点の画素値及び第２投影点の画素値を算出する。そして、評価値算出部９０３は、第１投影点の画素値ｉａｒ及び第２投影点の画素値ｉｂｒの差の絶対値の総和で定義される評価値Ｊを、下記の式１０に示す評価関数に基づき算出する。
【０１１８】
【数１５】
2019024196.tif 000017
【０１１９】
ここで、Ｎは、測距点の数量であり、ステップＳ１００６で算出した３次元座標（ｘａｒｎ，ｙａｒｎ，ｚａｒｎ）の全ての点に対応する。画素座標（ｕａｒｎ，ｖａｒｎ）及び（ｕｂｒｎ，ｖｂｒｎ）はそれぞれ、カメラ１０１のカメラ画像Ｉａ及び校正用カメラ１３１のカメラ画像Ｉｂにおいて、ｎ番目の測距点に対応するｎ番目の投影点の画素座標である。画素座標（ｕａｒｎ，ｖａｒｎ）は、３次元座標（ｘａｒｎ，ｙａｒｎ，ｚａｒｎ）と、カメラ１０１のカメラパラメタセットＣａｒとを用いて算出する。画素座標（ｕｂｒｎ，ｖｂｒｎ）は、３次元座標（ｘａｒｎ，ｙａｒｎ，ｚａｒｎ）と、校正用カメラ１３１のカメラパラメタセットＣｂとから、上記の式３を用いて算出する。画素値Ｉａ（ｕａｒｎ，ｖａｒｎ）は、カメラ画像Ｉａにおける画素座標（ｕａｒｎ，ｖａｒｎ）での画素値であり、画素値Ｉｂ（ｕｂｒｎ，ｖｂｒｎ）は、カメラ画像Ｉｂにおける画素座標（ｕｂｒｎ，ｖｂｒｎ）での画素値であり、ここでは輝度値を用いる。
【０１２０】
また、本実施の形態では、画素値は、画素の輝度値である。実数精度の画素座標に対し、画素値はバイキュービック補間で算出される。なお、画素値は輝度値に限定するものではなく、輝度値の代わりにＲＧＢ値を用いてもよい。また、実数精度の画素座標に対する画素値の算出方法は、バイキュービック補間に限定されるものではなく、バイリニア補間など他の補間方法であってもよい。また、評価値Ｊの計算におけるＮ個の測距点に対応する第１投影点の画素値と第２投影点の画素値との差の絶対値の和を算出する際に、画素値の差の絶対値に重みを付けてもよい。例えば、被写体の色が連続的に変化する点群の重みを大きくしてもよく、被写体の表面の凹凸が大きい点群の重みを小さくしてもよい。これらの重み付けは、カメラパラメタの連続的な変化に対し、評価値Ｊの変化を滑らかにし、評価値Ｊを最小化し易くする効果が期待できる。
【０１２１】
次に、ステップＳ１００８において、カメラパラメタ決定部９０４は、カメラ１０１のカメラパラメタセットＣａｒの更新の終了条件が満たされているか否かを判定する。終了条件が満たされていない場合（ステップＳ１００８でＮＯ）、カメラパラメタ決定部９０４は、カメラパラメタセットＣａｒを変更するために、ステップＳ１００９の処理に進む。終了条件が満たされている場合（ステップＳ１００８でＹＥＳ）、カメラパラメタ決定部９０４は、カメラパラメタセットの更新の終了をして、更新されて最新の状態のカメラパラメタセットＣａｒを、カメラ１０１のカメラパラメタセットに決定して出力し、ステップＳ１０１０の処理に進む。なお、終了条件は、カメラパラメタの所与の探索範囲内の探索が完了していること、評価値Ｊが第一閾値未満であること、及び、ステップＳ１００６〜Ｓ１００９の繰り返し回数ｒが第二閾値よりも大きいことの少なくとも１つである。
【０１２２】
ステップＳ１００９において、カメラパラメタ決定部９０４は、ｒ＋１回目のカメラパラメタセットの変更、つまり更新を行う。具体的には、カメラパラメタ決定部９０４は、カメラ１０１のカメラパラメタセットＣａｒを所与の範囲で変更し、新たなカメラパラメタセットＣａｒ＋１を算出する。カメラパラメタ決定部９０４は、カメラパラメタセットＣａｒ＋１を出力し、ステップＳ１００６の処理に進む。これにより、ステップＳ１００６〜Ｓ１００９によるｒ＋１回目の一連の反復処理が行われる。なお、カメラパラメタの探索範囲は、予め設定された各カメラパラメタが取り得る範囲であってもよい。例えば、探索範囲は、全て初期カメラパラメタの±５％であってもよい。
【０１２３】
ステップＳ１０１０において、カメラパラメタ出力部９０５は、上述したステップＳ１００６〜Ｓ１００９の反復処理によって算出されたカメラ１０１のカメラパラメタセットと、当該カメラパラメタセットに対応する評価値Ｊとによる複数の組を取得する。カメラパラメタセットに対応する評価値Ｊは、当該カメラパラメタセットを用いて算出された評価値である。カメラパラメタ出力部９０５は、複数組のカメラパラメタセット及び評価値Ｊから、評価値Ｊが最小である組のカメラパラメタセットを選択する。さらに、カメラパラメタ出力部９０５は、選択したカメラパラメタセットに対応する評価値Ｊが、初期カメラパラメタセットに対応する評価値Ｊよりも小さい場合に、カメラパラメタ記憶部１１２に記憶された初期カメラパラメタセットを、選択したカメラパラメタセットで置き換える。このように、カメラ１０１のカメラパラメタセットが最適なカメラパラメタセットに更新される。また、上述したステップＳ１００６〜Ｓ１０１０の動作を、下記の式１１に表すことができる。なお、ステップＳ１００１〜Ｓ１０１０の処理は、図５のコンピュータ３００及び４００で実行されてもよい。
【０１２４】
【数１６】
2019024196.tif 000018
【０１２５】
以上のように、カメラパラメタセット算出装置１１１は、校正処理Ｓ１１１により、カメラ１０１及び校正用カメラ１３１のカメラ画像からステレオ測距により複数の対応点の組のそれぞれに対応する被写体上の点（測距点）の３次元座標を算出する。さらに、カメラパラメタセット算出装置１１１は、測距点をカメラ画像Ｉａに投影した第１投影点の画素座標及び同一の測距点をカメラ画像Ｉｂに投影した第２投影点の画素座標を算出し、第１投影点の画素値と第２投影点の画素値との差に基づいて評価値を算出する。カメラパラメタセット算出装置１１１は、この評価値を最小にするカメラ１０１のカメラパラメタセットＣａｒを算出することで、正解値又は正解値との誤差の小さいカメラ１０１のカメラパラメタセットを得ることができる。
【０１２６】
ここで、カメラ１０１のカメラパラメタセットＣａｒが正しい、つまり真値である場合、対応点の組に対する３次元座標（ｘａｒｎ，ｙａｒｎ，ｚａｒｎ）が正しく、さらに３次元座標に対応する、カメラ１０１のカメラ画像における第１投影点の画素値Ｉａ（ｕａｒｎ，ｖａｒｎ）と、校正用カメラ１３１のカメラ画像における第２投影点の画素値Ｉｂ（ｕｂｒｎ，ｖｂｒｎ）とは等しく、上記の式１０の評価値Ｊは０となる。一方、カメラパラメタセットＣａｒが正解値から離れるほど（つまり、誤差を多く含むほど）、画素値の差が生じ、式１０の評価値Ｊは大きくなる。言い換えると、評価値Ｊが小さいほど、カメラパラメタセットＣａｒは正解に近い。従って、上述したステップＳ１００１〜Ｓ１０１０の動作により、３次元座標（ｘａｒｎ，ｙａｒｎ，ｚａｒｎ）に対応する画素値Ｉａ（ｕａｒｎ，ｖａｒｎ）と画素値Ｉｂ（ｕｂｒｎ，ｖｂｒｎ）との差に基づいて、これを最小にするカメラパラメタセットＣａｒを求めることで、カメラ１０１の正しいカメラパラメタセットを求めることができる。すなわち、カメラ１０１を校正できる。
【０１２７】
上述したカメラシステム１０の校正時の動作は、校正指標上の基準点などの３次元座標が既知の点と、画素座標との対応付けを必要としない。そのため、校正指標などの設備が不要であるという効果がある。また、３次元座標が既知の特定の被写体も用いないため、特定の被写体の３次元座標が変化するような、経年変化、外力による変形、温度変化等が加わった場合でも、正しくカメラを校正できるという効果がある。
【０１２８】
なお、図３に示す上述の例では、校正用撮像部１３０の校正用カメラ１３１は、地面に固定された支柱である対象物２に固定され、自動車１のカメラ１０１と近い位置に配置されていた。しかしながら、校正用カメラ１３１の位置は、これに限定されるものではなく、校正対象のカメラ１０１の視野である撮影範囲と、校正用カメラ１３１の視野である撮影範囲とが重複していれば、どのような位置に配置されてもよい。
【０１２９】
例えば、図１３に示すように、校正用撮像部１３０の校正用カメラ１３１は、自動車１の上方の位置に固定され、自動車１の後方だけでなく、自動車１の前方、左方及び右方を撮影範囲に含むように配置されてもよい。この場合、校正用カメラ１３１は、自動車１の上方に延びる支柱である対象物２ａに固定されてもよい。図１３のように校正用カメラ１３１が配置された場合、自動車１が前部１ｂ、後部１ａ、左側部１ｃ及び右側部１ｄそれぞれにカメラ１０１を備える場合でも、校正用カメラ１３１の視野は、４つのカメラ１０１それぞれの視野と重複し得る。よって、位置指標のマーキング３に従って所定の位置及び向きで停車された自動車１を移動させることなく、４つのカメラ１０１のカメラ校正が可能である。
【０１３０】
［３−１．校正動作の変形例］
実施の形態に係るカメラパラメタセット算出装置１１１は、校正処理Ｓ１１１において、ステップＳ１００６では、カメラ画像Ｉａ及びＩｂ間でＮ個の対応点の組を抽出し、さらに抽出されたＮ個の対応点の組のそれぞれに対する被写体上の点（測距点）の３次元座標をステレオ測距技術により算出した。さらに、カメラパラメタセット算出装置１１１は、ステップＳ１００７では、Ｎ個の測距点の３次元座標を用いて評価値Ｊを算出した。しかしながら、評価値Ｊの算出に測距点を全て用いる必要はない。
【０１３１】
本変形例では、カメラパラメタセット算出装置１１１は、ステレオ測距によって算出したＮ個の測距点の３次元座標のうちから、画像の輝度勾配が無い又は十分小さい測距点の３次元座標を取り除く。これにより、カメラパラメタセット算出装置１１１は、評価値Ｊの算出に用いる測距点を少なくし、評価値Ｊの算出における計算量を低減する。
【０１３２】
本変形例に係るカメラパラメタセット算出装置１１１の校正処理は、ステップＳ１００７の動作を除き、実施の形態と同様である。このため、本変形例に係るステップＳ１００７の動作を説明し、その他の説明を省略する。
【０１３３】
ステップＳ１００７において、カメラパラメタセット算出装置１１１の評価値算出部９０３は、Ｎ個の測距点の３次元座標と、カメラ１０１及び校正用カメラ１３１のカメラパラメタセットＣａｒ及びＣｂとを用いて、上記の式８及び式９により、測距点をカメラ１０１のカメラ画像Ｉａに投影した第１投影点の画素座標及び同一の測距点を校正用カメラ１３１のカメラ画像Ｉｂに投影した第２投影点の画素座標を算出する。具体的には、評価値算出部９０３は、ｎ番目の測距点をカメラ画像Ｉａに投影した第１投影点の画素座標（ｕａｒｎ，ｖａｒｎ）及びｎ番目の測距点をカメラ画像Ｉｂに投影した第２投影点の画素座標（ｕｂｒｎ，ｖｂｒｎ）を算出する。
【０１３４】
さらに、評価値算出部９０３は、Ｎ個の測距点のうちから、カメラ画像Ｉａ上の第１投影点の画素座標（ｕａｒｎ，ｖａｒｎ）における画素値の輝度勾配が０又は十分小さい測距点を除去する。除去される測距点が、Ｍ個（Ｍ＞又は＝０）存在する場合、評価値算出部９０３は、（Ｎ−Ｍ）個の測距点の３次元座標を選択する。なお、第１投影点の画素座標（ｕａｒｎ，ｖａｒｎ）における画素値の輝度勾配の例は、第１投影点の画素座標（ｕａｒｎ，ｖａｒｎ）での画素値と、第１投影点の画素座標（ｕａｒｎ，ｖａｒｎ）の周囲の画素座標での画素値との間の輝度勾配である。
【０１３５】
ｎ番目の測距点の３次元座標（ｘａｒｎ，ｙａｒｎ，ｚａｒｎ）に対応する画素座標（ｕａｒｎ，ｖａｒｎ）の周りの画素値の輝度勾配が０の場合、カメラパラメタを微小変化させることで、この測距点に対応する画素座標（ｕａｒｎ，ｖａｒｎ）が微小変化しても、その画素座標の画素値Ｉａ（ｕａｒｎ，ｖａｒｎ）は変化しない。言い換えると、評価値Ｊが変化しない。そのため、この様な測距点を除去したとしても評価値Ｊには影響が無く、且つ、測距点の数が減るため、ステップＳ１００７の計算量を低減できるという効果がある。
【０１３６】
なお、ステップＳ１００７における評価値Ｊの算出に用いる測距点の削減には、他の手法が用いられてもよい。例えば、測距点のうちから、カメラ１０１及び校正用カメラ１３１の一方のカメラに映っていない測距点が除外されてもよい。この場合、測距点の３次元座標に対応する投影点のカメラ画像Ｉａ及びＩｂでの画素座標を算出し、２つの画素座標のうちいずれか一方がカメラ画像の不可視領域に位置する場合に、当該測距点を評価値Ｊの算出から除外してもよい。
【０１３７】
上記の式１０は、同一の測距点が２つのカメラ画像Ｉａ及びＩｂに写っている場合、カメラ画像Ｉａ及びＩｂでの測距点の投影点の画素値の差が０になることを意味している。カメラ画像Ｉａ及びＩｂでの測距点の投影点のいずれかが、カメラ１０１及び校正用カメラ１３１の撮影範囲外にある場合、撮影範囲内にあっても他の物体に遮蔽されてカメラに映らない、つまり、カメラ画像Ｉａ及びＩｂでの投影点のいずれかが遮蔽領域にある場合では、２つの投影点の画素値の差は、０にならず、評価値の誤差になる。そのため、複数の測距点のうち、その投影点が少なくとも一方のカメラに映らない、つまり、当該カメラの不可視領域に位置する測距点を評価値の算出から除外することで、評価値の誤差を小さくできるという効果が期待できる。測距点の投影点がカメラの不可視領域にあるか否かは、前述したようなカメラの撮影範囲外となる３次元空間の範囲を規定する遮蔽情報に基づいて判定してもよい。
【０１３８】
なお、カメラパラメタセット算出装置１１１の校正処理Ｓ１１１のステップＳ１００８では、評価値Ｊが第一閾値よりも小さいこと、及び、処理の繰り返し回数ｒが第二閾値よりも大きいこと等の終了条件に基づき、反復計算を終了するとしたが、反復計算の終了条件をこれに限定するものではない。例えば、他の終了条件が加わってもよい。例えば、カメラパラメタセットを変化させても評価値Ｊが変化しないことを、終了条件としてもよい。
【０１３９】
なお、カメラパラメタセット算出装置１１１の校正処理Ｓ１１１は、評価値Ｊの評価関数が前述した２つの条件を満たす場合に、評価値Ｊが小さい、つまり正解値とカメラパラメタとの差が小さい、言い換えると、誤差の小さいカメラパラメタを算出して更新することができる。しかしながら、評価関数が前述した２つの条件を満たさない場合、必ずしも誤差の小さいカメラパラメタを算出できるとは限らない。例えば、カメラの撮影範囲が極端に暗く、全ての画素値が０になる場合、及び、被写体が均一色でテクスチャが全くない場合、上記の式１０の評価値Ｊは、カメラパラメタを変えてもその値は変わらず、一定値（例えば、０）となる。このようなカメラ画像をカメラパラメタセット算出装置１１１が取得した場合、校正処理Ｓ１１１では、ステップＳ１００６〜Ｓ１００９の反復回数ｒが第二閾値以上になるまで反復処理が終了せず、評価値は一定のままで更新されない。この際、カメラパラメタを更新しないにも関わらず、処理における計算負荷がかかる。これに対し、カメラパラメタを変化させても評価値が変化しない場合に、反復処理を終了するとすることで、計算負荷を低減できるという効果がある。
【０１４０】
［４．評価関数のバリエーション］
実施の形態及び変形例に係る校正処理において、カメラパラメタセット算出装置１１１の校正処理Ｓ１１１で用いる評価値Ｊに、上記の式１０に示すように、複数の測距点それぞれに対応する投影点の画素値の差の絶対値の和に基づく評価関数が適用された。しかしながら、評価関数は、上記に限定されるものではなく、測距点に対応する２つのカメラ画像の投影点の画素値の差に基づく関数であれば、他の関数であってもよい。例えば、評価関数は、複数の測距点それぞれに対応する２つの投影点の画素値の差の２乗の総和を用いる評価関数でもよい。具体的には、測距点をカメラ画像Ｉａへ投影した第１投影点での画素値と同一の測距点のカメラ画像Ｉｂへ投影した第２投影点での画素値との差の２乗を各測距点について求めて、求めた値を加算する評価関数の例を、下記の式１２に示す。
【０１４１】
【数１７】
2019024196.tif 000019
【０１４２】
上記の式１０に示すような画素値の差の絶対値和で定義される評価値に基づいて算出されたカメラパラメタは、画素値の差がラプラス分布の場合に、真値に近い、つまり、真値に対する誤差が小さいという効果が期待できる。
【０１４３】
これに対し、上記の式１２に示すような画素値の差の２乗和で定義される評価値に基づいて算出されたカメラパラメタは、画素値の誤差がガウス分布の場合に、真値に近い、つまり、真値に対する誤差が小さいという効果が期待できる。
【０１４４】
［その他］
以上、本開示の１つ以上の態様に係るカメラパラメタセット算出装置等について、実施の形態等に基づいて説明したが、本開示は、実施の形態等に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態等に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、本開示の１つ以上の態様の範囲内に含まれてもよい。
【０１４５】
実施の形態及び変形例では、撮像部１００は１つのカメラ１０１で構成されるものとしたが、カメラの数量を１つに限定するものではない。本開示の校正のためには、撮像部１００は、少なくとも１つのカメラを備えればよく、カメラは２つ以上であってもよい。この場合、カメラパラメタセット算出装置は、２つ以上のカメラのうちの１つと校正用カメラ１３１との間で、当該１つのカメラのカメラ校正を行う。また、２つ以上のカメラ同士は、一体化されていてもよく、別々に配置されていてもよい。また、校正用撮像部１３０は１つの校正用カメラ１３１で構成されていたが、校正用カメラ１３１は、少なくとも１つあればよく、２つ以上であってもよい。この場合、カメラパラメタセット算出装置は、２つ以上の校正用カメラ１３１の一部又は全てとカメラ１０１との間で、カメラ１０１のカメラ校正を行ってもよい。カメラ校正に用いる校正用カメラ１３１の数量が増えることで、カメラ１０１の校正精度が向上し得る。
【０１４６】
実施の形態及び変形例では、カメラシステムの撮像部、画像処理部及びディスプレイは、いずれも自動車に搭載されており、画像処理部を構成するカメラパラメタセット算出装置も自動車に搭載されているものとしたが、これに限定されない。例えば、撮像部、画像処理部及びディスプレイは、自動車以外のいかなる移動体に搭載されてもよい。移動体は、自動車以外の車両、船舶、飛行体又はロボット等であってもよい。自動車以外の車両は、トラック、バス、二輪車、搬送車、鉄道、建設機械、荷役機械等であってもよい。飛行体は、航空機、ドローン等であってもよい。ロボットは、利用者が遠隔操作する構成であってもよい。
【０１４７】
また、カメラパラメタセット算出装置は、自動車とネットワークで接続された別の場所に設置されているコンピュータで構成してもよい。カメラパラメタセット算出装置におけるカメラパラメタの校正処理は、計算負荷が大きいことから、自動車に搭載された計算能力に制約のあるコンピュータ上で実施するよりも、サーバーなどの計算能力の高いコンピュータで実施することで、計算時間がより短く、精度がより高いカメラパラメタの算出ができる、という効果がある。
【０１４８】
また、上述したように、本開示の技術は、システム、装置、方法、集積回路、コンピュータプログラム又はコンピュータ読取可能な記録ディスク等の記録媒体で実現されてもよく、システム、装置、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。コンピュータ読み取り可能な記録媒体は、例えばＣＤ−ＲＯＭ等の不揮発性の記録媒体を含む。
【０１４９】
例えば、上記実施の形態に係るカメラシステムに含まれる各構成要素は典型的には集積回路であるＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ：大規模集積回路）として実現される。これらは個別に１チップ化されてもよいし、一部又は全てを含むように１チップ化されてもよい。
【０１５０】
また、集積回路化はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後にプログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、又はＬＳＩ内部の回路セルの接続及び／又は設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【０１５１】
なお、上記実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、ＣＰＵ又はプロセッサなどのプログラム実行部が、ハードディスク又は半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。
【０１５２】
また、上記構成要素の一部又は全部は、脱着可能なＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）カード又は単体のモジュールから構成されてもよい。ＩＣカード又はモジュールは、マイクロプロセッサ、ＲＯＭ、ＲＡＭ等から構成されるコンピュータシステムである。ＩＣカード又はモジュールは、上記のＬＳＩ又はシステムＬＳＩを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、ＩＣカード又はモジュールは、その機能を達成する。これらＩＣカード及びモジュールは、耐タンパ性を有するとしてもよい。
【０１５３】
本開示のカメラパラメタセット算出方法は、ＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＣＰＵ、プロセッサ、ＬＳＩなどの回路、ＩＣカード又は単体のモジュール等によって、実現されてもよい。
【０１５４】
さらに、本開示の技術は、ソフトウェアプログラム又はソフトウェアプログラムからなるデジタル信号によって実現されてもよく、プログラムが記録された非一時的なコンピュータ読み取り可能な記録媒体であってもよい。また、上記プログラムは、インターネット等の伝送媒体を介して流通させることができるのは言うまでもない。
【０１５５】
また、上記で用いた序数、数量等の数字は、全て本開示の技術を具体的に説明するために例示するものであり、本開示は例示された数字に制限されない。また、構成要素間の接続関係は、本開示の技術を具体的に説明するために例示するものであり、本開示の機能を実現する接続関係はこれに限定されない。
【０１５６】
また、ブロック図における機能ブロックの分割は一例であり、複数の機能ブロックを１つの機能ブロックとして実現したり、１つの機能ブロックを複数に分割したり、一部の機能を他の機能ブロックに移してもよい。また、類似する機能を有する複数の機能ブロックの機能を単一のハードウェア又はソフトウェアが並列又は時分割に処理してもよい。
【産業上の利用可能性】
【０１５７】
本開示に係るカメラパラメタ算出装置等は、少なくとも１つのカメラのカメラパラメタの算出に有用である。
【符号の説明】
【０１５８】
１０  カメラシステム
１００  撮像部
１０１  カメラ（第１カメラ）
１１０  画像処理部
１１１  カメラパラメタセット算出装置
１１２  カメラパラメタ記憶部
１１３  画像生成部
１１４  送受信部
１２０  ディスプレイ
１３０  校正用撮像部
１３１  校正用カメラ（第２カメラ）
１３２  校正用カメラパラメタ記憶部
１３３  送受信部
１３４  処理部
３００，４００  コンピュータ
３０１，４０１  ＣＰＵ
３０２，４０２  ＲＯＭ
３０３，４０３  ＲＡＭ
３０４  ＨＤＤ
３０５，４０５  ビデオ入力Ｉ／Ｆ
３０６  ビデオカード
３０７，４０７  ＣＯＭ
９０１  取得部
９０２  ３次元点群算出部
９０３  評価値算出部
９０４  カメラパラメタ決定部
９０５  カメラパラメタ出力部
【図１】
2019024196.tif 000026
【図２】
2019024196.tif 000027
【図３】
2019024196.tif 000028
【図４】
2019024196.tif 000029
【図５】
2019024196.tif 000030
【図６】
2019024196.tif 000031
【図７】
2019024196.tif 000032
【図８】
2019024196.tif 000033
【図９】
2019024196.tif 000034
【図１０】
2019024196.tif 000035
【図１１】
2019024196.tif 000036
【図１２Ａ】
2019024196.tif 000037
【図１２Ｂ】
2019024196.tif 000038
【図１３】
2019024196.tif 000039