(57)【要約】【課題】基準点の３次元座標が事前に与えられることなく、カメラの自己校正を可能にするカメラパラメタセット算出技術を提供する。【解決手段】カメラパラメタセット算出方法は、（ａ１）第１カメラの第１画像と第２カメラの第２画像とを取得し、（ａ２）前記第１カメラ及び前記第２カメラのカメラパラメタセットを取得し、（ａ３）前記第１画像、前記第２画像、前記第１カメラパラメタセット及び前記第２カメラパラメタセットに基づいて、３次元座標を算出し、（ａ４）前記３次元座標を前記第１画像に投影した第１画素座標、及び、前記３次元座標を前記第２画像に投影した第２画素座標を決定し、（ａ５）前記第１画素座標での前記第１画像の画素値と前記第２画素座標での前記第２画像の画素値とに基づいて評価値を算出し、（ａ６）前記評価値に基づいて、前記カメラパラメタセットを更新する。【選択図】図１１
2018179990.tif 000002
【特許請求の範囲】
【請求項１】
（ａ１）第１カメラで撮影された第１画像と、第２カメラで撮影された第２画像とを取得し、
（ａ２）前記第１カメラの１つ以上のカメラパラメタを含む第１カメラパラメタセットと、前記第２カメラの１つ以上のカメラパラメタを含む第２カメラパラメタセットとを取得し、
（ａ３）前記第１画像、前記第２画像、前記第１カメラパラメタセット及び前記第２カメラパラメタセットに基づいて、前記第１画像及び前記第２画像に映る被写体上の３次元座標を複数算出し、
（ａ４）前記第１カメラパラメタセットに基づいて前記複数の３次元座標を前記第１画像に投影した複数の第１画素座標を決定し、前記第２カメラパラメタセットに基づいて前記複数の３次元座標を前記第２画像に投影した複数の第２画素座標を決定し、
（ａ５）前記第１画像における前記複数の第１画素座標での複数の画素値と前記第２画像における前記複数の第２画素座標での複数の画素値とに基づいて評価値を算出し、
（ａ６）前記評価値に基づいて、前記第１カメラパラメタセット及び前記第２カメラパラメタセットを更新し、
（ａ７）更新された前記第１カメラパラメタセット及び前記第２カメラパラメタセットを出力し、
処理（ａ１）〜処理（ａ７）の少なくとも１つがプロセッサによって実行される
カメラパラメタセット算出方法。
【請求項２】
処理（ａ４）では、前記複数の３次元座標のそれぞれを前記第１カメラパラメタセットに含まれる１つ以上のカメラパラメタを用いて座標変換することにより、前記複数の第１画素座標を決定し、前記複数の３次元座標のそれぞれを前記第２カメラパラメタセットに含まれる１つ以上のカメラパラメタを用いて座標変換することにより、前記複数の第２画素座標を決定する
請求項１に記載のカメラパラメタセット算出方法。
【請求項３】
前記複数の３次元座標は（ｘ１，ｙ１，ｚ１）〜（ｘｉ，ｙｉ，ｚｉ）〜（ｘｎ，ｙｎ，ｚｎ）であり、前記複数の第１画素座標は（ｕ１１，ｖ１１）〜（ｕ１ｉ，ｖ１ｉ）〜（ｕ１ｎ，ｖ１ｎ）であり、前記複数の第２画素座標（ｕ２１，ｖ２１）〜（ｕ２ｉ，ｖ２ｉ）〜（ｕ２ｎ，ｖ２ｎ）であり、１＜ｉ≦ｎであり、前記ｉ及び前記ｎは自然数であり、前記（ｘｉ，ｙｉ，ｚｉ）と前記（ｕ１ｉ，ｖ１ｉ）とは対応し、前記（ｘｉ，ｙｉ，ｚｉ）と前記（ｕ２ｉ，ｖ２ｉ）とは対応し、前記（ｕ１ｉ，ｖ１ｉ）おける画素値はＩ１（ｕ１ｉ，ｖ１ｉ）であり、前記（ｕ２ｉ，ｖ２ｉ）における画素値はＩ２（ｕ２ｉ，ｖ２ｉ）であり、
処理（ａ５）では、前記Ｉ１（ｕ１ｉ，ｖ１ｉ）と前記Ｉ２（ｕ２ｉ，ｖ２ｉ）との差異Ｄｉに基づいて前記評価値を算出する
請求項１又は２に記載のカメラパラメタセット算出方法。
【請求項４】
処理（ａ５）では、
【数１】
2018179990.tif 000018
に基づいて前記評価値を算出する
請求項３に記載のカメラパラメタセット算出方法。
【請求項５】
処理（ａ５）では、
【数２】
2018179990.tif 000019
に基づいて前記評価値を算出する
請求項３又は４に記載のカメラパラメタセット算出方法。
【請求項６】
処理（ａ５）では、
【数３】
2018179990.tif 000020
に基づいて前記評価値を算出する
請求項３又は４に記載のカメラパラメタセット算出方法。
【請求項７】
（ｂ１）処理（ａ１）〜（ａ７）の前に、温度センサから検知温度情報を取得し、
（ｂ２）取得された前記検知温度情報に基づいて、処理（ａ１）〜（ａ７）を開始する
請求項１〜６のいずれか一項に記載のカメラパラメタセット算出方法。
【請求項８】
（ｃ１）処理（ａ１）〜（ａ７）の前に、衝撃センサの検知衝撃情報を取得し、
（ｃ２）取得された前記検知衝撃情報に基づいて、処理（ａ１）〜（ａ７）を開始する
請求項１〜７のいずれか一項に記載のカメラパラメタセット算出方法。
【請求項９】
（ｄ１）処理（ａ１）〜（ａ７）の前に、タイマの検知時刻情報を取得し、
（ｄ２）取得された前記検知時刻情報に基づいて、処理（ａ１）〜（ａ７）を開始する
請求項１〜８のいずれか一項に記載のカメラパラメタセット算出方法。
【請求項１０】
（ａ１）第１カメラで撮影された第１画像と、第２カメラで撮影された第２画像とを取得し、
（ａ２）前記第１カメラの１つ以上のカメラパラメタを含む第１カメラパラメタセットと、前記第２カメラの１つ以上のカメラパラメタを含む第２カメラパラメタセットとを取得し、
（ａ３）前記第１画像及び前記第２画像それぞれから、前記第１画像及び前記第２画像の間の対応点の組を複数組推定し、
（ａ４）前記第１画像、前記第２画像、前記第１カメラパラメタセット及び前記第２カメラパラメタセットに基づいて、前記複数の対応点の組のそれぞれに対する複数の３次元座標を算出し、
（ａ５）前記第１カメラパラメタセットに基づいて前記複数の３次元座標を前記第１画像に投影した複数の第１画素座標を決定し、前記第２カメラパラメタセットに基づいて前記複数の３次元座標を前記第２画像に投影した複数の第２画素座標を決定し、
（ａ６）前記第１画像における前記複数の第１画素座標での複数の画素値と前記第２画像における前記複数の第２画素座標での複数の画素値とに基づいて評価値を算出し、
（ａ７）前記評価値に基づいて、前記第１カメラパラメタセット及び前記第２カメラパラメタセットを更新し、
（ａ８）更新された前記第１カメラパラメタセット及び前記第２カメラパラメタセットを出力し、
処理（ａ１）〜処理（ａ８）の少なくとも１つがプロセッサによって実行される
カメラパラメタセット算出方法。
【請求項１１】
（ａ１）第１カメラで撮影された第１画像と、第２カメラで撮影された第２画像とを取得し、
（ａ２）前記第１カメラの１つ以上のカメラパラメタを含む第１カメラパラメタセットと、前記第２カメラの１つ以上のカメラパラメタを含む第２カメラパラメタセットとを取得し、
（ａ３）前記第１画像、前記第２画像、前記第１カメラパラメタセット及び前記第２カメラパラメタセットに基づいて、前記第１画像及び前記第２画像に映る被写体上の３次元座標を複数算出し、
（ａ４）前記第１カメラパラメタセットに基づいて前記複数の３次元座標を前記第１画像に投影した複数の第１画素座標を決定し、前記第２カメラパラメタセットに基づいて前記複数の３次元座標を前記第２画像に投影した複数の第２画素座標を決定し、
（ａ５）前記第１画像における前記複数の第１画素座標での複数の画素値と前記第２画像における前記複数の第２画素座標での複数の画素値とに基づいて評価値を算出し、
（ａ６）前記評価値に基づいて、前記第１カメラパラメタセット及び前記第２カメラパラメタセットを更新し、
（ａ７）更新された前記第１カメラパラメタセット及び前記第２カメラパラメタセットを出力すること
をコンピュータに実行させるカメラパラメタセット算出プログラム。
【請求項１２】
処理回路を含むカメラパラメタセット算出装置であって、
前記処理回路は、
（ａ１）第１カメラで撮影された第１画像と、第２カメラで撮影された第２画像とを取得し、
（ａ２）前記第１カメラの１つ以上のカメラパラメタを含む第１カメラパラメタセットと、前記第２カメラの１つ以上のカメラパラメタを含む第２カメラパラメタセットとを取得し、
（ａ３）前記第１画像、前記第２画像、前記第１カメラパラメタセット及び前記第２カメラパラメタセットに基づいて、前記第１画像及び前記第２画像に映る被写体上の３次元座標を複数算出し、
（ａ４）前記第１カメラパラメタセットに基づいて前記複数の３次元座標を前記第１画像に投影した複数の第１画素座標を決定し、前記第２カメラパラメタセットに基づいて前記複数の３次元座標を前記第２画像に投影した複数の第２画素座標を決定し、
（ａ５）前記第１画像における前記複数の第１画素座標での複数の画素値と前記第２画像における前記複数の第２画素座標での複数の画素値とに基づいて評価値を算出し、
（ａ６）前記評価値に基づいて、前記第１カメラパラメタセット及び前記第２カメラパラメタセットを更新し、
（ａ７）更新された前記第１カメラパラメタセット及び前記第２カメラパラメタセットを出力する
カメラパラメタセット算出装置。
【請求項１３】
処理回路を含むカメラパラメタセット算出装置であって、
前記処理回路は、
（ａ１）第１カメラで撮影された第１画像と、第２カメラで撮影された第２画像とを取得し、
（ａ２）前記第１カメラの１つ以上のカメラパラメタを含む第１カメラパラメタセットと、前記第２カメラの１つ以上のカメラパラメタを含む第２カメラパラメタセットとを取得し、
（ａ３）前記第１画像及び前記第２画像それぞれから、前記第１画像及び前記第２画像の間の対応点の組を複数組推定し、
（ａ４）前記第１画像、前記第２画像、前記第１カメラパラメタセット及び前記第２カメラパラメタセットに基づいて、前記複数の対応点の組のそれぞれに対する複数の３次元座標を算出し、
（ａ５）前記第１カメラパラメタセットに基づいて前記複数の３次元座標を前記第１画像に投影した複数の第１画素座標を決定し、前記第２カメラパラメタセットに基づいて前記複数の３次元座標を前記第２画像に投影した複数の第２画素座標を決定し、
（ａ６）前記第１画像における前記複数の第１画素座標での複数の画素値と前記第２画像における前記複数の第２画素座標での複数の画素値とに基づいて評価値を算出し、
（ａ７）前記評価値に基づいて、前記第１カメラパラメタセット及び前記第２カメラパラメタセットを更新し、
（ａ８）更新された前記第１カメラパラメタセット及び前記第２カメラパラメタセットを出力する
カメラパラメタセット算出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、カメラパラメタセット算出方法、カメラパラメタセット算出プログラム及びカメラパラメタセット算出装置に関する。
【背景技術】
【０００２】
自動車の安全運転支援システム、移動ロボットの遠隔操作システム、又は不審者等を検出する監視カメラシステムなどにおいて、ユーザ及びシステムが判断及び制御を行うためには、システムの周辺の画像及び画像に対応する３次元座標の情報が必要となる。複眼カメラの各カメラで撮影された画像から、ステレオ視により被写体の３次元座標を取得する種々の技術が知られている（例えば、特許文献１〜４、及び非特許文献１を参照）。ステレオ視により被写体の３次元座標を取得するためには、各カメラの種々のカメラパラメタの組であるカメラパラメタセットが必要であり、このカメラパラメタセットを算出することをカメラ校正と呼ぶ。特許文献４及び非特許文献１には、カメラ校正について詳細な説明が記載されている。
【０００３】
例えば、非特許文献１に開示されるカメラ校正技術では、校正の基準となる基準点の３次元座標と当該基準点の画素座標との組が複数組用意されて、これらが入力され、さらに、カメラパラメタを用いて３次元座標の基準点を画像上に投影した点と、当該基準点に対応する画素座標との距離（再投影誤差とも呼ばれる）が算出される。さらに、各基準点の再投影誤差の総和を最小化するカメラパラメタセットが算出される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−２８５６９２号公報
【特許文献２】特開平６−１６７５６４号公報
【特許文献３】特開２００７−２４６４７号公報
【特許文献４】特表２００３−５２８３０４号公報
【非特許文献】
【０００５】
【非特許文献１】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
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来の校正技術では、基準点、すなわち、基準点の３次元座標及び画素座標の組が必要である。しかしながら、基準点の３次元位置が、経年変化、外力又は温度変化等の影響で変化し、変化後の３次元座標が未知である場合に、正しく校正できないという課題がある。
【０００７】
本開示は、基準点の３次元座標が事前に与えられることなく、カメラの自己校正を可能にするカメラパラメタセット算出方法、カメラパラメタセット算出プログラム及びカメラパラメタセット算出装置を提供する。
【課題を解決するための手段】
【０００８】
本開示の一態様に係るカメラパラメタセット算出方法は、（ａ１）第１カメラで撮影された第１画像と、第２カメラで撮影された第２画像とを取得し、（ａ２）前記第１カメラの１つ以上のカメラパラメタを含む第１カメラパラメタセットと、前記第２カメラの１つ以上のカメラパラメタを含む第２カメラパラメタセットとを取得し、（ａ３）前記第１画像、前記第２画像、前記第１カメラパラメタセット及び前記第２カメラパラメタセットに基づいて、前記第１画像及び前記第２画像に映る被写体上の３次元座標を複数算出し、（ａ４）前記第１カメラパラメタセットに基づいて前記複数の３次元座標を前記第１画像に投影した複数の第１画素座標を決定し、前記第２カメラパラメタセットに基づいて前記複数の３次元座標を前記第２画像に投影した複数の第２画素座標を決定し、（ａ５）前記第１画像における前記複数の第１画素座標での複数の画素値と前記第２画像における前記複数の第２画素座標での複数の画素値とに基づいて評価値を算出し、（ａ６）前記評価値に基づいて、前記第１カメラパラメタセット及び前記第２カメラパラメタセットを更新し、（ａ７）更新された前記第１カメラパラメタセット及び前記第２カメラパラメタセットを出力し、処理（ａ１）〜処理（ａ７）の少なくとも１つがプロセッサによって実行される。
【０００９】
本開示の一態様に係るカメラパラメタセット算出方法は、（ａ１）第１カメラで撮影された第１画像と、第２カメラで撮影された第２画像とを取得し、（ａ２）前記第１カメラの１つ以上のカメラパラメタを含む第１カメラパラメタセットと、前記第２カメラの１つ以上のカメラパラメタを含む第２カメラパラメタセットとを取得し、（ａ３）前記第１画像及び前記第２画像それぞれから、前記第１画像及び前記第２画像の間の対応点の組を複数組推定し、（ａ４）前記第１画像、前記第２画像、前記第１カメラパラメタセット及び前記第２カメラパラメタセットに基づいて、前記複数の対応点の組のそれぞれに対する複数の３次元座標を算出し、（ａ５）前記第１カメラパラメタセットに基づいて前記複数の３次元座標を前記第１画像に投影した複数の第１画素座標を決定し、前記第２カメラパラメタセットに基づいて前記複数の３次元座標を前記第２画像に投影した複数の第２画素座標を決定し、（ａ６）前記第１画像における前記複数の第１画素座標での複数の画素値と前記第２画像における前記複数の第２画素座標での複数の画素値とに基づいて評価値を算出し、（ａ７）前記評価値に基づいて、前記第１カメラパラメタセット及び前記第２カメラパラメタセットを更新し、（ａ８）更新された前記第１カメラパラメタセット及び前記第２カメラパラメタセットを出力し、処理（ａ１）〜処理（ａ８）の少なくとも１つがプロセッサによって実行される。
【００１０】
本開示の一態様に係るカメラパラメタセット算出プログラムは、（ａ１）第１カメラで撮影された第１画像と、第２カメラで撮影された第２画像とを取得し、（ａ２）前記第１カメラの１つ以上のカメラパラメタを含む第１カメラパラメタセットと、前記第２カメラの１つ以上のカメラパラメタを含む第２カメラパラメタセットとを取得し、（ａ３）前記第１画像、前記第２画像、前記第１カメラパラメタセット及び前記第２カメラパラメタセットに基づいて、前記第１画像及び前記第２画像に映る被写体上の３次元座標を複数算出し、（ａ４）前記第１カメラパラメタセットに基づいて前記複数の３次元座標を前記第１画像に投影した複数の第１画素座標を決定し、前記第２カメラパラメタセットに基づいて前記複数の３次元座標を前記第２画像に投影した複数の第２画素座標を決定し、（ａ５）前記第１画像における前記複数の第１画素座標での複数の画素値と前記第２画像における前記複数の第２画素座標での複数の画素値とに基づいて評価値を算出し、（ａ６）前記評価値に基づいて、前記第１カメラパラメタセット及び前記第２カメラパラメタセットを更新し、（ａ７）更新された前記第１カメラパラメタセット及び前記第２カメラパラメタセットを出力することをコンピュータに実行させる。
【００１１】
本開示の一態様に係るカメラパラメタセット算出装置は、処理回路を含むカメラパラメタセット算出装置であって、前記処理回路は、（ａ１）第１カメラで撮影された第１画像と、第２カメラで撮影された第２画像とを取得し、（ａ２）前記第１カメラの１つ以上のカメラパラメタを含む第１カメラパラメタセットと、前記第２カメラの１つ以上のカメラパラメタを含む第２カメラパラメタセットとを取得し、（ａ３）前記第１画像、前記第２画像、前記第１カメラパラメタセット及び前記第２カメラパラメタセットに基づいて、前記第１画像及び前記第２画像に映る被写体上の３次元座標を複数算出し、（ａ４）前記第１カメラパラメタセットに基づいて前記複数の３次元座標を前記第１画像に投影した複数の第１画素座標を決定し、前記第２カメラパラメタセットに基づいて前記複数の３次元座標を前記第２画像に投影した複数の第２画素座標を決定し、（ａ５）前記第１画像における前記複数の第１画素座標での複数の画素値と前記第２画像における前記複数の第２画素座標での複数の画素値とに基づいて評価値を算出し、（ａ６）前記評価値に基づいて、前記第１カメラパラメタセット及び前記第２カメラパラメタセットを更新し、（ａ７）更新された前記第１カメラパラメタセット及び前記第２カメラパラメタセットを出力する。
【００１２】
本開示の一態様に係るカメラパラメタセット算出装置は、処理回路を含むカメラパラメタセット算出装置であって、前記処理回路は、（ａ１）第１カメラで撮影された第１画像と、第２カメラで撮影された第２画像とを取得し、（ａ２）前記第１カメラの１つ以上のカメラパラメタを含む第１カメラパラメタセットと、前記第２カメラの１つ以上のカメラパラメタを含む第２カメラパラメタセットとを取得し、（ａ３）前記第１画像及び前記第２画像それぞれから、前記第１画像及び前記第２画像の間の対応点の組を複数組推定し、（ａ４）前記第１画像、前記第２画像、前記第１カメラパラメタセット及び前記第２カメラパラメタセットに基づいて、前記複数の対応点の組のそれぞれに対する複数の３次元座標を算出し、（ａ５）前記第１カメラパラメタセットに基づいて前記複数の３次元座標を前記第１画像に投影した複数の第１画素座標を決定し、前記第２カメラパラメタセットに基づいて前記複数の３次元座標を前記第２画像に投影した複数の第２画素座標を決定し、（ａ６）前記第１画像における前記複数の第１画素座標での複数の画素値と前記第２画像における前記複数の第２画素座標での複数の画素値とに基づいて評価値を算出し、（ａ７）前記評価値に基づいて、前記第１カメラパラメタセット及び前記第２カメラパラメタセットを更新し、（ａ８）更新された前記第１カメラパラメタセット及び前記第２カメラパラメタセットを出力する。
【００１３】
なお、上記の包括的又は具体的な態様は、システム、装置、方法、集積回路、コンピュータプログラム又はコンピュータ読み取り可能な記録ディスク等の記録媒体で実現されてもよく、システム、装置、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。コンピュータ読み取り可能な記録媒体は、例えばＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）等の不揮発性の記録媒体を含む。
【発明の効果】
【００１４】
本開示のカメラパラメタセット算出技術によると、基準点の３次元座標が事前に与えられることなく、カメラの自己校正が可能になる。
【００１５】
本開示の一態様の付加的な恩恵及び有利な点は本明細書及び図面から明らかとなる。この恩恵及び／又は有利な点は、本明細書及び図面に開示した様々な態様及び特徴により個別に提供され得るものであり、その１つ以上を得るために全てが必要ではない。
【図面の簡単な説明】
【００１６】
【図１】従来の校正指標の例を示す模式図
【図２】実施の形態に係る複眼カメラシステムの機能的な構成を示すブロック図
【図３Ａ】実施の形態に係る撮像部の構成の一例を示す模式図
【図３Ｂ】実施の形態に係る撮像部の構成の別の一例を示す模式図
【図４】実施の形態に係る複眼カメラシステムの画像処理部をコンピュータによって構成したブロック図
【図５】実施の形態に係る画像処理部の画像生成時の動作の流れの一例を示すフローチャート
【図６Ａ】実施の形態に係る複眼カメラシステムの設置の例を示す模式図
【図６Ｂ】実施の形態における撮像状況の例を示す模式図
【図７Ａ】実施の形態に係る撮像部の構成の一例を示す模式図
【図７Ｂ】実施の形態における撮像画像の例を示す模式図
【図８Ａ】実施の形態における画像の例を示す模式図
【図８Ｂ】実施の形態における位置情報の例を示す模式図
【図９】実施の形態における画像生成部から出力される合成画像の例を示す模式図
【図１０】実施の形態に係るカメラパラメタセット算出装置の詳細な機能的な構成を示す模式図
【図１１】実施の形態に係る画像処理部の自己校正時の動作の流れの一例を示すフローチャート
【図１２Ａ】自己校正の実験例における入力画像の例
【図１２Ｂ】自己校正の実験例における入力画像の例
【図１３Ａ】自己校正の実験条件１の実験例におけるカメラパラメタと評価値との関係の例
【図１３Ｂ】自己校正の実験条件１の実験例におけるカメラパラメタと評価値との関係の例
【図１３Ｃ】自己校正の実験条件１の実験例におけるカメラパラメタと評価値との関係の例
【図１３Ｄ】自己校正の実験条件１の実験例におけるカメラパラメタと評価値との関係の例
【図１４Ａ】自己校正の実験条件１の実験例におけるカメラパラメタと評価値との関係の例
【図１４Ｂ】自己校正の実験条件１の実験例におけるカメラパラメタと評価値との関係の例
【図１４Ｃ】自己校正の実験条件１の実験例におけるカメラパラメタと評価値との関係の例
【図１５Ａ】自己校正の実験条件１の実験例におけるカメラパラメタと評価値との関係の例
【図１５Ｂ】自己校正の実験条件１の実験例におけるカメラパラメタと評価値との関係の例
【図１６Ａ】自己校正の実験条件２の実験例における試行回数と評価値との関係の例
【図１６Ｂ】自己校正の実験条件２の実験例における試行回数と再投影誤差との関係の例
【図１７】変形例１に係る複眼カメラシステムの構成を示すブロック図
【発明を実施するための形態】
【００１７】
［本開示の基礎となった知見］
本発明者らは、「背景技術」の欄において記載したカメラ校正に関し、以下の問題が生じることを見出した。具体的には、自動車の安全運転支援システム、移動ロボットの遠隔操作システム、又は不審者等を検出する監視カメラシステムなどにおいて、ユーザ及びシステムが判断及び制御を行うためには、システムの周辺の画像及び画像に対応する３次元座標の情報が必要となる。特に、人及び車等のように監視対象が移動する場合、並びに、システムを搭載する自動車、ロボット等と共にシステム自身が移動する場合、より広い視野角の画像及び画像に対応する３次元座標の取得が重要である。
【００１８】
画像及び画像に対応する３次元座標を取得する手段としては、いわゆるステレオ視が一般的である。ステレオ視では、互いに異なる視点に位置し且つ視野が重複するように配置された２台のカメラを用いて２つの画像が取得され、２つの画像間の対応点の組が推定され、対応点の組と予め求めておいたカメラの位置及び向き等の情報とを用いて、対応点の組に対する被写体上の点の３次元座標が計算される。
【００１９】
（校正技術の従来例）
例えば、複眼カメラで撮影された画像から、ステレオ視により被写体の３次元座標を取得するためには、各カメラのカメラパラメタセットが必要である。カメラパラメタセットとは、カメラのモデル及び当該モデルに応じた複数のパラメタである。カメラのモデル及び当該モデルに応じた複数のパラメタは、撮影空間内のある点の３次元座標と撮影によって得られた画像上での当該点の２次元座標（画素座標とも呼ばれる）との関係を表す。このカメラパラメタセットを算出することをカメラ校正と呼ぶ。
【００２０】
より詳細には、カメラパラメタセットは、外部パラメタセット及び内部パラメタセットの２つのカメラパラメタセットで構成される。外部パラメタセットは、カメラの撮影空間を基準として定められた３次元の世界座標系と、カメラを基準として定められた３次元のカメラ座標系との間での位置関係を表す。内部パラメタセットは、カメラ座標系における被写体の３次元座標と当該カメラで撮影した画像上での当該被写体の位置との関係を表す。
【００２１】
非特許文献１が開示するカメラ校正技術では、基準点の３次元座標及び当該基準点の画素座標の組が複数組用意されて、これらを入力要素とし、カメラパラメタを用いて３次元座標の基準点を画像上に投影した点と、当該基準点に対応する画素座標との距離（再投影誤差）の総和を最小化するカメラパラメタセットが算出される。
【００２２】
基準点の３次元座標及び当該基準点の画素座標の組を得るために、特定模様の校正指標が一般的に用いられる。校正指標の例を、図１に示す。図１の例では、格子状の模様が箱状の被写体の内側に一定間隔で配置されている。格子点、つまり、模様の角を基準点とし、基準点に対応する格子点の３次元座標の設計値、又は、基準点の設置後に計測された基準点の３次元座標が保持される。さらに、基準点をカメラで撮影し、基準点に対応する格子点の画素座標を画像処理で推定することで、基準点の３次元座標及び画素座標の組の情報が得られる。このような校正指標を用いる校正技術は、校正指標を備える設備等が必要になる反面、高精度な校正ができることから、カメラ製造後の工場等での校正で有効である。
【００２３】
一方、カメラ校正は、製造時の校正以外に、カメラを搭載する装置が稼動している状態で、経年変化、外力による変形又は温度変化等の影響によって、カメラパラメタセットが変わってしまった場合にも必要になる。自動車の安全運転支援システム、移動ロボットの遠隔操作システム、及び、監視カメラシステムなどにおいては、校正方法は、校正指標を備える設備等が不要であり、且つ、人手による操作が不要であることが望ましい。つまり、自己校正による校正方法が望ましい。ここで、カメラを備えるシステムがカメラパラメタセットを自動で更新することを自己校正と呼ぶ。
【００２４】
特許文献４には、車両に設置されたステレオカメラをシステムが自動で校正する自己校正技術が開示されている。特許文献４の技術では、格子等の特定模様の校正指標を用いる代わりに、カメラの視野内にある静止物が校正目標として記憶され、校正目標の位置が変わった場合に、校正目標の３次元座標の情報を用いて、カメラの自己校正が行われる。
【００２５】
しかしながら、従来の校正技術では、校正目標の３次元座標は事前に得られており変化しないと仮定しているため、校正目標の３次元座標が経年変化、外力又は温度変化等の影響で変化した場合に、正しく校正できないという課題がある。そこで、本発明者らは、校正基準点の３次元座標が事前に与えられることなく、カメラの自己校正を可能にする技術を、下記のように創案した。
【００２６】
本開示の一態様に係るカメラパラメタセット算出方法は、（ａ１）第１カメラで撮影された第１画像と、第２カメラで撮影された第２画像とを取得し、（ａ２）前記第１カメラの１つ以上のカメラパラメタを含む第１カメラパラメタセットと、前記第２カメラの１つ以上のカメラパラメタを含む第２カメラパラメタセットとを取得し、（ａ３）前記第１画像、前記第２画像、前記第１カメラパラメタセット及び前記第２カメラパラメタセットに基づいて、前記第１画像及び前記第２画像に映る被写体上の３次元座標を複数算出し、（ａ４）前記第１カメラパラメタセットに基づいて前記複数の３次元座標を前記第１画像に投影した複数の第１画素座標を決定し、前記第２カメラパラメタセットに基づいて前記複数の３次元座標を前記第２画像に投影した複数の第２画素座標を決定し、（ａ５）前記第１画像における前記複数の第１画素座標での複数の画素値と前記第２画像における前記複数の第２画素座標での複数の画素値とに基づいて評価値を算出し、（ａ６）前記評価値に基づいて、前記第１カメラパラメタセット及び前記第２カメラパラメタセットを更新し、（ａ７）更新された前記第１カメラパラメタセット及び前記第２カメラパラメタセットを出力し、処理（ａ１）〜処理（ａ７）の少なくとも１つがプロセッサによって実行される。
【００２７】
上記態様によれば、評価値に基づいた第１カメラ及び第２カメラのカメラパラメタセットの算出が可能である。評価値の算出に用いられる画素座標は予め設定された基準ではない。このため、カメラパラメタセットの算出過程において、既知の基準点を含む校正指標を備える設備が不要である。言い換えると、本態様は、事前に得た基準点の３次元座標を用いないため、経年変化、外力、温度変化等の影響による基準点の変化とは無関係に、カメラを正しく自己校正できる。
【００２８】
例えば、第１カメラパラメタセット及び第２カメラパラメタセットが正しい場合に、ある点の３次元座標に対応する第１画素座標での第１画像の画素値及び第２画素座標での第２画像の画素値は、互いに等しく、第１カメラパラメタセット又は第２カメラパラメタセットが正解値から離れるほど、つまり誤差を多く含むほど、第１画像の画素値と第２画像の画素値との間に差異が生じる。このため、第１カメラパラメタセット又は第２カメラパラメタセットが誤差を含む場合に、第１画像の画素値と第２画像の画素値との差異に基づいて、例えば、差異を最小にするように、第１カメラパラメタセット及び第２カメラパラメタセットを変更することで、正しいカメラパラメタセットを得ることができる。すなわち、第１及び第２のカメラを校正することができる。
【００２９】
また、本開示の一態様に係るカメラパラメタセット算出方法において、処理（ａ４）では、前記複数の３次元座標のそれぞれを前記第１カメラパラメタセットに含まれる１つ以上のカメラパラメタを用いて座標変換することにより、前記複数の第１画素座標を決定し、前記複数の３次元座標のそれぞれを前記第２カメラパラメタセットに含まれる１つ以上のカメラパラメタを用いて座標変換することにより、前記複数の第２画素座標を決定してもよい。
【００３０】
上記態様によれば、３次元座標に対応する第１画素座標の算出、及び、３次元座標に対応する第２画素座標の算出が、容易に可能である。
【００３１】
また、本開示の一態様に係るカメラパラメタセット算出方法において、前記複数の３次元座標は（ｘ１，ｙ１，ｚ１）〜（ｘｉ，ｙｉ，ｚｉ）〜（ｘｎ，ｙｎ，ｚｎ）であり、前記複数の第１画素座標は（ｕ１１，ｖ１１）〜（ｕ１ｉ，ｖ１ｉ）〜（ｕ１ｎ，ｖ１ｎ）であり、前記複数の第２画素座標（ｕ２１，ｖ２１）〜（ｕ２ｉ，ｖ２ｉ）〜（ｕ２ｎ，ｖ２ｎ）であり、１＜ｉ≦ｎであり、前記ｉ及び前記ｎは自然数であり、前記（ｘｉ，ｙｉ，ｚｉ）と前記（ｕ１ｉ，ｖ１ｉ）とは対応し、前記（ｘｉ，ｙｉ，ｚｉ）と前記（ｕ２ｉ，ｖ２ｉ）とは対応し、前記（ｕ１ｉ，ｖ１ｉ）おける画素値はＩ１（ｕ１ｉ，ｖ１ｉ）であり、前記（ｕ２ｉ，ｖ２ｉ）における画素値はＩ２（ｕ２ｉ，ｖ２ｉ）であり、処理（ａ５）では、前記Ｉ１（ｕ１ｉ，ｖ１ｉ）と前記Ｉ２（ｕ２ｉ，ｖ２ｉ）との差異Ｄｉに基づいて前記評価値を算出してもよい。
【００３２】
上記態様によれば、第１画素座標での第１画像の画素値と第２画素座標での第２画像の画素値との間に差異がある場合、第１カメラパラメタセット及び第２カメラパラメタセットに、真値に対する誤差があると判定することが可能である。よって、第１カメラパラメタセット及び第２カメラパラメタセットの良否の判定が容易である。さらに、例えば、上記差異を小さくするように、第１カメラパラメタセット及び第２カメラパラメタセットを変更つまり更新することによって、第１カメラパラメタセット及び第２カメラパラメタセットを適切にすることが可能である。
【００３３】
また、本開示の一態様に係るカメラパラメタセット算出方法において、処理（ａ５）では、
【数１】
2018179990.tif 000003
に基づいて前記評価値を算出してもよい。
【００３４】
上記態様によれば、複数の差異を用いることによって、評価値の精度が向上する。さらに、例えば、複数の差異の和を小さくするように、第１カメラパラメタセット及び第２カメラパラメタセットを更新することによって、第１カメラパラメタセット及び第２カメラパラメタセットを最適にすることが可能である。
【００３５】
また、本開示の一態様に係るカメラパラメタセット算出方法において、処理（ａ５）では、
【数２】
2018179990.tif 000004
に基づいて前記評価値を算出してもよい。
【００３６】
上記態様によれば、差異の絶対値を用いることによって、評価値の算出の際に、差異同士が打ち消し合うことが抑えられる。よって、正確な評価値の算出が可能になる。
【００３７】
また、本開示の一態様に係るカメラパラメタセット算出方法において、処理（ａ５）では、
【数３】
2018179990.tif 000005
に基づいて前記評価値を算出してもよい。
【００３８】
上記態様によれば、差異の２乗は常に正の値であるため、評価値の算出の際に、差異同士が打ち消し合うことが抑えられる。また、評価値では、絶対値がより大きい差異はより大きく反映され、絶対値がより小さい差異はより小さく反映され得る。よって、評価値は、差異の大きさを強調して反映することができる。
【００３９】
また、本開示の一態様に係るカメラパラメタセット算出方法において、（ｂ１）処理（ａ１）〜（ａ７）の前に、温度センサから検知温度情報を取得し、（ｂ２）取得された前記検知温度情報に基づいて、処理（ａ１）〜（ａ７）を開始してもよい。
【００４０】
上記態様によれば、温度の変化のようなカメラパラメタセットに影響を与え得る事象がカメラに発生した場合に、自動的にカメラパラメタセットを更新し、カメラを校正することが可能になる。
【００４１】
また、本開示の一態様に係るカメラパラメタセット算出方法において、（ｃ１）処理（ａ１）〜（ａ７）の前に、衝撃センサの検知衝撃情報を取得し、（ｃ２）取得された前記検知衝撃情報に基づいて、処理（ａ１）〜（ａ７）を開始してもよい。
【００４２】
上記態様によれば、衝撃のようなカメラパラメタセットに影響を与え得る事象がカメラに発生した場合に、自動的にカメラパラメタセットを更新し、カメラを校正することが可能になる。
【００４３】
また、本開示の一態様に係るカメラパラメタセット算出方法において、（ｄ１）処理（ａ１）〜（ａ７）の前に、タイマの検知時刻情報を取得し、（ｄ２）取得された前記検知時刻情報に基づいて、処理（ａ１）〜（ａ７）を開始してもよい。
【００４４】
上記態様によれば、カメラの経時的な変化のようなカメラパラメタセットに影響を与え得る事象が発生した場合に、自動的にカメラパラメタセットを更新し、カメラを校正することが可能になる。
【００４５】
本開示の一態様に係るカメラパラメタセット算出方法は、（ａ１）第１カメラで撮影された第１画像と、第２カメラで撮影された第２画像とを取得し、（ａ２）前記第１カメラの１つ以上のカメラパラメタを含む第１カメラパラメタセットと、前記第２カメラの１つ以上のカメラパラメタを含む第２カメラパラメタセットとを取得し、（ａ３）前記第１画像及び前記第２画像それぞれから、前記第１画像及び前記第２画像の間の対応点の組を複数組推定し、（ａ４）前記第１画像、前記第２画像、前記第１カメラパラメタセット及び前記第２カメラパラメタセットに基づいて、前記複数の対応点の組のそれぞれに対する複数の３次元座標を算出し、（ａ５）前記第１カメラパラメタセットに基づいて前記複数の３次元座標を前記第１画像に投影した複数の第１画素座標を決定し、前記第２カメラパラメタセットに基づいて前記複数の３次元座標を前記第２画像に投影した複数の第２画素座標を決定し、（ａ６）前記第１画像における前記複数の第１画素座標での複数の画素値と前記第２画像における前記複数の第２画素座標での複数の画素値とに基づいて評価値を算出し、（ａ７）前記評価値に基づいて、前記第１カメラパラメタセット及び前記第２カメラパラメタセットを更新し、（ａ８）更新された前記第１カメラパラメタセット及び前記第２カメラパラメタセットを出力し、処理（ａ１）〜処理（ａ８）の少なくとも１つがプロセッサによって実行される。上記態様によれば、上記の本開示の一態様に係るカメラパラメタセット算出方法と同様の効果が得られる。
【００４６】
本開示の一態様に係るカメラパラメタセット算出プログラムは、（ａ１）第１カメラで撮影された第１画像と、第２カメラで撮影された第２画像とを取得し、（ａ２）前記第１カメラの１つ以上のカメラパラメタを含む第１カメラパラメタセットと、前記第２カメラの１つ以上のカメラパラメタを含む第２カメラパラメタセットとを取得し、（ａ３）前記第１画像、前記第２画像、前記第１カメラパラメタセット及び前記第２カメラパラメタセットに基づいて、前記第１画像及び前記第２画像に映る被写体上の３次元座標を複数算出し、（ａ４）前記第１カメラパラメタセットに基づいて前記複数の３次元座標を前記第１画像に投影した複数の第１画素座標を決定し、前記第２カメラパラメタセットに基づいて前記複数の３次元座標を前記第２画像に投影した複数の第２画素座標を決定し、（ａ５）前記第１画像における前記複数の第１画素座標での複数の画素値と前記第２画像における前記複数の第２画素座標での複数の画素値とに基づいて評価値を算出し、（ａ６）前記評価値に基づいて、前記第１カメラパラメタセット及び前記第２カメラパラメタセットを更新し、（ａ７）更新された前記第１カメラパラメタセット及び前記第２カメラパラメタセットを出力することをコンピュータに実行させる。上記態様によれば、本開示の一態様に係るカメラパラメタセット算出方法と同様の効果が得られる。
【００４７】
本開示の一態様に係るカメラパラメタセット算出装置は、処理回路を含むカメラパラメタセット算出装置であって、前記処理回路は、（ａ１）第１カメラで撮影された第１画像と、第２カメラで撮影された第２画像とを取得し、（ａ２）前記第１カメラの１つ以上のカメラパラメタを含む第１カメラパラメタセットと、前記第２カメラの１つ以上のカメラパラメタを含む第２カメラパラメタセットとを取得し、（ａ３）前記第１画像、前記第２画像、前記第１カメラパラメタセット及び前記第２カメラパラメタセットに基づいて、前記第１画像及び前記第２画像に映る被写体上の３次元座標を複数算出し、（ａ４）前記第１カメラパラメタセットに基づいて前記複数の３次元座標を前記第１画像に投影した複数の第１画素座標を決定し、前記第２カメラパラメタセットに基づいて前記複数の３次元座標を前記第２画像に投影した複数の第２画素座標を決定し、（ａ５）前記第１画像における前記複数の第１画素座標での複数の画素値と前記第２画像における前記複数の第２画素座標での複数の画素値とに基づいて評価値を算出し、（ａ６）前記評価値に基づいて、前記第１カメラパラメタセット及び前記第２カメラパラメタセットを更新し、（ａ７）更新された前記第１カメラパラメタセット及び前記第２カメラパラメタセットを出力する。上記態様によれば、本開示の一態様に係るカメラパラメタセット算出方法と同様の効果が得られる。
【００４８】
本開示の一態様に係るカメラパラメタセット算出装置は、処理回路を含むカメラパラメタセット算出装置であって、前記処理回路は、（ａ１）第１カメラで撮影された第１画像と、第２カメラで撮影された第２画像とを取得し、（ａ２）前記第１カメラの１つ以上のカメラパラメタを含む第１カメラパラメタセットと、前記第２カメラの１つ以上のカメラパラメタを含む第２カメラパラメタセットとを取得し、（ａ３）前記第１画像及び前記第２画像それぞれから、前記第１画像及び前記第２画像の間の対応点の組を複数組推定し、（ａ４）前記第１画像、前記第２画像、前記第１カメラパラメタセット及び前記第２カメラパラメタセットに基づいて、前記複数の対応点の組のそれぞれに対する複数の３次元座標を算出し、（ａ５）前記第１カメラパラメタセットに基づいて前記複数の３次元座標を前記第１画像に投影した複数の第１画素座標を決定し、前記第２カメラパラメタセットに基づいて前記複数の３次元座標を前記第２画像に投影した複数の第２画素座標を決定し、（ａ６）前記第１画像における前記複数の第１画素座標での複数の画素値と前記第２画像における前記複数の第２画素座標での複数の画素値とに基づいて評価値を算出し、（ａ７）前記評価値に基づいて、前記第１カメラパラメタセット及び前記第２カメラパラメタセットを更新し、（ａ８）更新された前記第１カメラパラメタセット及び前記第２カメラパラメタセットを出力する。上記態様によれば、本開示の一態様に係るカメラパラメタセット算出方法と同様の効果が得られる。
【００４９】
なお、上記の全般的又は具体的な態様は、システム、装置、方法、集積回路、コンピュータプログラム又はコンピュータ読み取り可能な記録ディスク等の記録媒体で実現されてもよく、システム、装置、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。コンピュータ読み取り可能な記録媒体は、例えばＣＤ−ＲＯＭ等の不揮発性の記録媒体を含む。
【００５０】
以下、実施の形態に係るカメラパラメタセット算出装置等を、図面を参照しながら説明する。なお、以下で説明される実施の形態は、包括的又は具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ（工程）、並びにステップの順序等は、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また、以下の実施の形態の説明において、略平行、略直交のような「略」を伴った表現が、用いられる場合がある。例えば、略平行とは、完全に平行であることを意味するだけでなく、実質的に平行である、すなわち、例えば数％程度の差異を含むことも意味する。他の「略」を伴った表現についても同様である。
【００５１】
［実施の形態］
［１．複眼カメラシステムの構成］
［１−１．複眼カメラシステムの全体構成］
本開示の実施の形態に係るカメラパラメタセット算出装置１１１を備える複眼カメラシステム１０を説明する。これに限定するものではないが、本実施の形態では、複眼カメラシステム１０は、カメラパラメタセット算出装置１１１を用いた車載用の複眼カメラシステムであるとして、説明する。図２を参照すると、実施の形態に係るカメラパラメタセット算出装置１１１を備える複眼カメラシステム１０の機能的な構成を示すブロック図が示されている。図２に示されるように、複眼カメラシステム１０は、撮像部１００と、画像処理部１１０と、ディスプレイ１２０とを備える。
【００５２】
撮像部１００は、画像を撮影して取得し、画像処理部１１０に出力する。撮像部１００は、２つ以上のカメラ１０１を備え、本実施の形態では、２つのカメラ１０１ａ及び１０１ｂを備える。画像処理部１１０は、撮像部１００によって撮影された画像を処理し、その処理結果をディスプレイ１２０等に出力する。画像処理部１１０は、カメラパラメタセット算出装置１１１と、位置算出部１１２と、画像生成部１１３と、カメラパラメタ記憶部１１４とを備える。カメラパラメタセット算出装置１１１のことを、自己校正部とも呼ぶ。また、ディスプレイ１２０は、画像処理部１１０から出力された画像等を表示する。ディスプレイ１２０は、液晶パネル、有機又は無機ＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ）等の表示パネルによって構成されてよい。なお、同様の構成要素を区別するために添え字ａ〜ｄを用いるが、以下では、これらの構成要素を特に区別しない場合には、添え字を除いた符号のみを用いることがある。
【００５３】
複眼カメラシステム１０は、主に画像生成と、自己校正との２種類の動作をする。画像生成時、撮像部１００は画像を撮影して画像処理部１１０に出力し、画像処理部１１０は、入力された画像から被写体の３次元座標を算出し、算出した３次元座標に基づいて画像を生成して出力し、ディスプレイ１２０に表示する。自己校正時、撮像部１００は画像を撮影して画像処理部１１０に出力し、画像処理部１１０のカメラパラメタセット算出装置１１１は、カメラパラメタ記憶部１１４に格納されているカメラパラメタセットを更新する。なお、画像生成と自己校正との２種類の動作は、同時に行われてもよく、別々に行われてもよい。
【００５４】
［１−２．撮像部の構成］
図３Ａを参照すると、複眼カメラシステム１０の撮像部１００の構成の一例が模式的に示されている。図３Ａでは、２つのカメラ１０１を一体として固定した構成の撮像部１００の例が示されている。図３Ａにおいて、撮像部１００は、（ａ）の正面図、（ｂ）の側面図、及び、（ｃ）の断面図で示されている。上記断面図は、撮像部１００の２つのカメラ１０１の２つのレンズの中心を通る断面で、撮像部１００を切断した図である。撮像部１００を構成する２つのカメラ１０１それぞれのレンズは魚眼レンズであるものとする。
【００５５】
なお、本実施の形態に係る複眼カメラシステム１０において、撮像部１００は、２つのカメラで構成される２眼カメラとしたが、撮像部１００を構成するカメラは、２つに限定されず、３つ以上であってもよい。つまり、撮像部１００は、２つ以上のカメラを備えるように構成されてもよい。例えば、図３Ｂに示すように、撮像部１００は、３つのカメラ１０１で構成される３眼カメラであってもよい。このような撮像部１００は、２つのカメラ１０１を備える代わりに、３つのカメラ１０１を一体として固定した構成を有する。図３Ｂにおいて、撮像部１００は、（ａ）の正面図、及び、（ｂ）の側面図で示されている。なお、図３Ａ及び図３Ｂに示されるように、隣接するカメラ１０１の光軸間の距離は基線長と呼ばれ、撮像部１００において、各カメラ１０１の光軸上に撮像素子が配置されている。また、撮像部１００において、各カメラ１０１は、一体化されていなくてもよく、別々に配置されていてもよい。さらに、別々に配置されたカメラ１０１は、互いに近接していなくてもよい。
【００５６】
撮像素子は、カメラ１０１のレンズを通って入射する光を受光して、受光した光から像を形成する構成を有するものであればよく、例えば、ＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ−Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）イメージセンサ又はＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）イメージセンサ等のイメージセンサであってもよい。
【００５７】
撮像部１００は、視野角が概ね１８０度の魚眼レンズを有する２つのカメラ１０１ａ及び１０１ｂで構成される。２つのカメラ１０１ａ及び１０１ｂは、図３Ａに示すように配置され、視野内の画像をそれぞれ撮影して２つの画像を出力する（以降、この画像をカメラ画像とも呼ぶ）。
【００５８】
［１−３．画像処理部の構成］
図２を参照して、画像処理部１１０の構成を説明する。上述したように、画像処理部１１０は、カメラパラメタセット算出装置１１１、位置算出部１１２、画像生成部１１３及びカメラパラメタ記憶部１１４を備える。
【００５９】
カメラパラメタ記憶部１１４は、カメラ１０１ａ及び１０１ｂそれぞれのカメラパラメタセットと、カメラ画像における撮像部１００によって遮蔽された領域の情報である遮蔽情報とを少なくとも予め格納している。カメラ１０１ａ及び１０１ｂのカメラパラメタセットは、各カメラの位置及び向き等の外部パラメタセットと、各カメラのレンズの歪及び焦点距離等の内部パラメタセットとを含み得る。
【００６０】
自己校正部でもあるカメラパラメタセット算出装置１１１は、カメラ１０１ａ及び１０１ｂによって撮影された画像と、カメラパラメタ記憶部１１４に記憶されたカメラ１０１ａ及び１０１ｂの初期カメラパラメタセットとを用いて、カメラパラメタ記憶部１１４のカメラパラメタセットを更新する。初期カメラパラメタセットは、カメラパラメタ記憶部１１４に既に記憶されているカメラ１０１ａ及び１０１ｂのカメラパラメタセットであってよい。例えば、初期カメラパラメタセットは、カメラ１０１ａ及び１０１ｂの設計時のカメラパラメタセットであってもよく、使用段階においてカメラ１０１ａ及び１０１ｂに設定されているカメラパラメタセットであってもよい。
【００６１】
位置算出部１１２は、カメラ１０１ａ及び１０１ｂから出力された２つのカメラ画像を用いて、２つのカメラ画像間の対応点の組を推定する。２つのカメラ画像に同一の被写体が映っている場合、すなわち、一方のカメラ画像の被写体上の点が、他方のカメラ画像にも映っている場合、これら２つの点のそれぞれを対応点と呼び、この２つの点の組を対応点の組と呼ぶ。対応点の組を推定するとは、具体的には、対応点の組のそれぞれの対応点の画素座標を算出することである。さらに、位置算出部１１２は、カメラパラメタ記憶部１１４からカメラ１０１ａ及び１０１ｂそれぞれのカメラパラメタセットを読み出す。位置算出部１１２は、対応点の組と、各カメラパラメタセットに含まれる外部パラメタセット及び内部パラメタセットとに基づいて、２つのカメラ画像の両方に写っている３次元物体上の点、すなわち、被写体上の点の３次元座標を算出する。そして、位置算出部１１２は、算出した３次元座標と対応点の画素座標の組とをあわせて、３次元物体上の点、すなわち、被写体上の点の位置情報として出力する。
【００６２】
画像生成部１１３は、２つのカメラ画像と、位置算出部１１２によって算出された３次元物体の位置情報とに基づいて、合成画像を生成して出力する。生成される合成画像は、具体的には、撮影空間内の３次元物体の画像であり、当該３次元物体の３次元座標に基づく合成画像である。
【００６３】
図２の複眼カメラシステム１０のうちの画像処理部１１０を構成する各構成要素は、電子回路又は集積回路等のハードウェアで実現されてもよく、コンピュータ上で実行されるプログラム等のソフトウェアで実現されてもよい。
【００６４】
図４を参照して、画像処理部１１０のハードウェア構成の一例を説明する。なお、図４は、複眼カメラシステム１０のハードウェア構成の一例を示す図である。複眼カメラシステム１０は、撮像部１００と、画像処理部１１０に対応するコンピュータ３００と、ディスプレイ１２０とを備える。複眼カメラシステム１０において、撮像部１００は画像を撮影して出力し、コンピュータ３００が画像処理部１１０として動作することにより、画像を生成して出力する。ディスプレイ１２０はコンピュータ３００で生成された画像を表示する。
【００６５】
コンピュータ３００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）３０２、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）３０３、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）３０４、ビデオ入力Ｉ／Ｆ（インタフェース）３０５及びビデオカード３０６を含む。
【００６６】
コンピュータ３００を動作させるプログラムは、ＲＯＭ３０２又はＨＤＤ３０４に予め保持されている。プログラムは、プロセッサであるＣＰＵ３０１によって、ＲＯＭ３０２又はＨＤＤ３０４からＲＡＭ３０３に読み出されて展開される。
【００６７】
ＣＰＵ３０１は、ＲＡＭ３０３に展開されたプログラム中のコード化された各命令を実行する。ビデオ入力Ｉ／Ｆ３０５は、プログラムの実行に応じて、撮像部１００で撮影された画像を、ＲＡＭ３０３へ取り込む。ビデオカード３０６は、プログラムの実行に応じて生成された画像を処理してディスプレイ１２０に出力し、ディスプレイ１２０がその画像を表示する。
【００６８】
なお、コンピュータプログラムは、半導体装置であるＲＯＭ３０２又はＨＤＤ３０４に限られず、例えばＣＤ―ＲＯＭ等の記録媒体に格納されていてもよい。また、コンピュータプログラムは、有線ネットワーク、無線ネットワーク又は放送等を介して伝送され、コンピュータ３００のＲＡＭ３０３に取り込まれてもよい。
【００６９】
［２．複眼カメラシステムの動作］
複眼カメラシステム１０の動作を説明する。具体的には、複眼カメラシステム１０における、画像生成時の動作と、自己校正時の動作とを、順に説明する。
【００７０】
［２−１．画像生成時の動作］
複眼カメラシステム１０における画像生成時の動作を、図５を用いて説明する。なお、図５は、複眼カメラシステム１０の画像処理部１１０における、画像生成時の動作の一例を表すフローチャートである。図５に示されるように、画像生成時の動作は、カメラパラメタセット読み出しのステップＳ４０１の処理と、位置算出のステップＳ４０２の処理と、画像生成のステップＳ４０３の処理とを含む。図５に示される各動作は、図４のコンピュータ３００で実行されてもよい。
【００７１】
これに限定するものではないが、本実施の形態では、複眼カメラシステム１０が自動車に設置される例を説明する。具体的には、複眼カメラシステム１０は、自動車の後方のカメラ画像と当該カメラ画像の３次元座標とを取得して障害物を検出し、その結果を自動車内に設置されたディスプレイに表示し、それにより、利用者であるドライバに車体後方の状況を提示する。
【００７２】
図６Ａを参照すると、複眼カメラシステム１０の自動車への設置例を示す平面図が示されている。撮像部１００は、カメラ１０１の光軸が概ね自動車の前後方向に一致するように、車体後部に車体後方に向けて設置される。画像処理部１１０及びディスプレイ１２０はそれぞれ、ドライバから見える車室内に設置される。また、図６Ｂを参照すると、自動車に搭載された複眼カメラシステム１０による撮影が行われている状況の例が、平面図で示されている。これに限定されるものではないが、本実施の形態では、撮像部１００の２つのカメラ１０１ａ及び１０１ｂは、互いに同期して一定時間間隔で、画像を撮像して出力する。
【００７３】
図７Ａを参照すると、撮像部１００における２つのカメラ１０１ａ及び１０１ｂの配置の例が、正面図の（ａ）及び背面図の（ｂ）により示されている。また、図７Ｂを参照すると、図６Ｂの撮影状況において、図７Ａの２つのカメラ１０１ａ及び１０１ｂで撮影される画像の例が示されている。カメラ１０１ａ及び１０１ｂそれぞれの視野角は概ね１８０度である。カメラ１０１ａ及び１０１ｂの各視野内の大半で、共通の被写体が映っていることがわかる。
【００７４】
コンピュータ３００は、撮像部１００の動作と並行して、予め定められたプログラムを実行することで、図５のステップＳ４０１〜Ｓ４０３の処理を行う。以降、コンピュータ３００で実行されるステップＳ４０１〜Ｓ４０３の詳細な処理を、図７Ａ〜図９を用いて説明する。
【００７５】
ステップＳ４０１では、位置算出部１１２は、カメラパラメタ記憶部１１４から、カメラパラメタ記憶部１１４に予め格納されているカメラ１０１ａ及び１０１ｂの内部パラメタセット及び外部パラメタセットを含むカメラパラメタセットと、遮蔽情報とを読み出す。
【００７６】
カメラの外部パラメタセットＭと３次元座標との関係、及び、カメラの内部パラメタセット（ｆ，ｄｐｘ，ｄｐｙ，ｃｕ，ｃｖ）と３次元座標と画素座標との関係を下記の式１及び式２に示す。
【００７７】
【数４】
2018179990.tif 000006
【００７８】
ここで、上記の式１における外部パラメタセットＭは、世界座標系とカメラ座標系との位置関係を表す外部パラメタセットであり、世界座標系の３次元座標（ｘｗ，ｙｗ，ｚｗ）を、カメラ座標系の３次元座標（ｘｅ，ｙｅ，ｚｅ）に変換する４×４の行列で表す。上記の式２は、カメラ座標系の３次元座標（ｘｅ，ｙｅ，ｚｅ）と画素座標（ｕ，ｖ）との関係を表している。内部パラメタセットのｆはカメラの焦点距離であり、ｄｐｘ及びｄｐｙはそれぞれ、カメラの撮像素子のｘ方向及びｙ方向の画素サイズであり、（ｃｕ，ｃｖ）はカメラ座標系のｚｅ軸とカメラの撮像面との交点の画素座標である。なお、デジタル画像を「２次元の格子点（すなわち、画素座標）における値（すなわち画素値）」の集合と考えた場合に、画像上の画素の位置を２次元の画素座標で表現する。
【００７９】
外部パラメタセットＭ及び内部パラメタセット（ｆ，ｄｐｘ，ｄｐｙ，ｃｕ，ｃｖ）は、前述した従来技術のカメラ校正方法で予め求めておく。なお、ｄｐｘ、ｄｐｙ及びｆの算出には、上記の式１及び式２だけでは拘束条件が足りない。そこで、ｄｐｘ、ｄｐｙ及びｆのいずれか１つは設計値が用いられ、残りの２つのパラメタが従来技術のカメラ校正方法で算出されてもよい。
【００８０】
なお、上記の式２では、レンズの投影モデルとして透視投影モデル（ピンホールカメラモデルとも呼ばれる）を用いたが、これは投影モデルを限定するものではなく、等距離射影モデル、立体射影モデル及び等立体角射影モデル等の他の投影モデルを用いてもよい。例えば、等距離射影モデルの場合、上記の式２の内部パラメタセットの代わりに、下記の式３に示される内部パラメタセットを用いる。
【００８１】
【数５】
2018179990.tif 000007
【００８２】
以降、説明を簡単にするため、カメラ１０１ａ及び１０１ｂそれぞれをカメラｉ及びｊと記載する場合がある。この場合、カメラｉ及びｊの位置関係を表す外部パラメタセットＭｉ及びＭｊを、下記の式４のように示すことができる。
【００８３】
【数６】
2018179990.tif 000008
【００８４】
また、カメラ１０１ａの内部パラメタセット及び外部パラメタセットをまとめたカメラパラメタセットを、下記の式５に示すようなＣａで表す。カメラ１０１ｂの内部パラメタセット及び外部パラメタセットをまとめたカメラパラメタセットを、下記の式６に示すようなＣｂで表す。
【００８５】
【数７】
2018179990.tif 000009
【００８６】
ステップＳ４０２では、位置算出部１１２は、撮像部１００のカメラ１０１ａ及び１０１ｂで同じ被写体を撮影して得られた２つのカメラ画像を取得する。そして、位置算出部１１２は、取得した２つのカメラ画像と、ステップＳ４０１で読み出したカメラ１０１ａ及び１０１ｂのカメラパラメタセットとを用いて、ステレオ視により２つのカメラ画像間の対応点の組に対する被写体上の点の３次元座標を算出する。具体的には、位置算出部１１２は、カメラ１０１ａのカメラ画像及びカメラ１０１ｂのカメラ画像のそれぞれに含まれる点であって且つ互いに対応する点の組、すなわち、対応点の組を推定し抽出する。さらに、位置算出部１１２は、対応点の組に含まれる２点に対する被写体上の点の視差から、三角測量の原理を用いて、対応点の組に対する被写体上の点の３次元座標を算出する。これにより、カメラ画像に含まれる点に対する被写体上の点の３次元座標が算出される。なお、位置算出部１１２は、対応点の組を複数抽出し、複数の対応点の組のそれぞれに対する被写体上の点の３次元座標を複数個算出する。最後に、位置算出部１１２は、算出した複数の３次元座標を含む位置情報を出力する。
【００８７】
ここで、ステップＳ４０２における位置算出部１１２の処理の詳細を説明する。カメラ１０１ａ及び１０１ｂで撮影された２つのカメラ画像を、それぞれＩａ及びＩｂとする。位置算出部１１２は、カメラ画像Ｉａに含まれる被写体上の点Ｐｎを撮像した点の画素座標Ｑａｎと、カメラ画像Ｉｂに含まれる当該被写体上の同一の点Ｐｎを撮像した点の画素座標Ｑｂｎとを、例えば画像の類似、後述する輝度拘束、滑らかさ拘束などに基づいて、推定し算出する。すなわち対応する画素座標の組（Ｑａｎ，Ｑｂｎ）を算出する。画素座標の組（Ｑａｎ，Ｑｂｎ）は、２つのカメラ画像のそれぞれに含まれる画素座標の組であり且つ互いに対応する画素座標の組である。なお、カメラ画像Ｉａ含まれる点とカメラ画像Ｉｂ含まれる点とが互いに対応する場合、この対応点の組をカメラ画像Ｉａに含まれる点の画素座標とカメラ画像Ｉｂに含まれる点の画素座標との組で表現してもよい。
【００８８】
例えば、位置算出部１１２は、カメラ画像Ｉａに含まれる複数の画素のうちのｎ番目の画素について、当該画素の画素座標（ｕａｎ，ｖａｎ）を取得する。さらに、位置算出部１１２は、カメラ画像Ｉｂ上において、当該画素が表す被写体と同じ被写体上の対応点を推定し、この対応点の画素座標（ｕｂｎ，ｖｂｎ）を算出する。
【００８９】
２つのカメラ画像間の対応点の組とは、２つのカメラ画像に同一の被写体が映っている場合、すなわち、一方のカメラ画像に写っている被写体上の点が、もう一方のカメラ画像にも写っている場合の、当該２つのカメラ画像上の点の組のことである。ここでは画素座標の組で対応点の組を表す。例えば、カメラ画像の組がＩａ及びＩｂの場合、２画像間の対応点の組として、カメラ画像Ｉａ上の画素座標（ｕａｎ，ｖａｎ）に対応する、カメラ画像Ｉｂ上の画素座標（ｕｂｎ，ｖｂｎ）を算出する。この画素座標の組の算出は、カメラ画像Ｉａに含まれる全ての画素について実行される。
【００９０】
カメラ画像Ｉａの画素座標（ｕａｎ，ｖａｎ）と、カメラ画像Ｉｂの画素座標（ｕｂｎ，ｖｂｎ）とが、対応点の組に含まれる２つの対応点の画素座標である場合、２つの対応点つまり２つの画素座標での画素値Ｉａ（ｕａｎ，ｖａｎ）及びＩｂ（ｕｂｎ，ｖｂｎ）が等しい。これを輝度拘束と呼ぶ。また、ある１つの被写体は、カメラ画像中の複数の隣接する画素を占めることから、カメラ画像Ｉａの画素座標（ｕａｎ，ｖａｎ）に隣接する画素で特定される点に対応するカメラ画像Ｉｂに含まれる点は、カメラ画像Ｉｂの画素座標（ｕｂｎ，ｖｂｎ）で特定される点の近くにある可能性が高い。これを滑らかさ拘束と呼ぶ。カメラ画像Ｉａ及びＩｂ間の対応点の組は、上述した輝度拘束と滑らかさ拘束との２つの条件を最もよく満たす画素座標（ｕａｎ，ｖａｎ）及び（ｕｂｎ，ｖｂｎ）の組の集まりを推定することで、得ることができる。
【００９１】
対応点の組の画素座標の組を実数精度で推定する対応点探索手法又は動き推定手法は、例えば、上記の非特許文献２等に詳しく記載されているが、既知な技術であるためその詳細な説明を省略する。
【００９２】
次に、位置算出部１１２は、各対応点の組について、カメラ画像Ｉａ及びＩｂそれぞれの対応点の組の画素座標の組［（ｕａｎ，ｖａｎ），（ｕｂｎ，ｖｂｎ）］と、予め求めておいたカメラ１０１ａ及び１０１ｂのカメラパラメタセットＣａ及びＣｂとを用いて、２つのカメラ１０１ａ及び１０１ｂについての式１と式２とを連立させて解くことにより、対応点の組に対する被写体上の点の３次元座標（ｘａｎ，ｙａｎ，ｚａｎ）を算出する。３次元座標は、カメラ１０１ａのカメラ座標系の座標値とする。
【００９３】
なお、対応点の組と２つのカメラのカメラパラメタセットとを用いて対応点の組に対する被写体上の点の３次元座標を算出する２眼ステレオ手法は、上述した方法に限るものでなく、他の方法であってもよい。他の２眼ステレオ手法は、例えば、上記の非特許文献３等に詳しく記載されているが、既知な技術であるため、その詳細な説明を省略する。
【００９４】
以降の説明を簡単にするために、カメラ画像Ｉａ及びＩｂから、対応点の組それぞれの対応点の画素座標（ｕａｎ，ｖａｎ）及び（ｕｂｎ，ｖｂｎ）を算出する処理を、下記の式７に示す関数Ｔで表す。さらに、対応点の組の画素座標（ｕａｎ，ｖａｎ）及び（ｕｂｎ，ｖｂｎ）と、カメラ１０１ａ及び１０１ｂのカメラパラメタセットＣａ及びＣｂとを用いて、上記の式１及び式２により、対応点の組に対する被写体上の点の３次元座標を算出する処理を、下記の式８に示す関数Ｆで表す。
【００９５】
【数８】
2018179990.tif 000010
【００９６】
カメラ画像Ｉａ及びＩｂ間のｎ番目の対応点の組の画素座標の組と、当該対応点の組に対する被写体上の点の３次元座標とをあわせて、ｎ番目の位置情報ｐａ，ｂ，ｎで表す。また、Ｎ個の位置情報ｐａ，ｂ，ｎの集まりをＰａ，ｂで表す（式９）。位置情報ｐａ，ｂ，ｎは、カメラ画像Ｉａに含まれる対応点の画素座標（ｕａｎ，ｖａｎ）及びカメラ画像Ｉｂに含まれる対応点の画素座標（ｕｂｎ，ｖｂｎ）と、当該対応点の組に対応する点の３次元座標（ｘａｎ，ｙａｎ，ｚａｎ）とを含む。
【００９７】
【数９】
2018179990.tif 000011
【００９８】
上述したように、位置算出部１１２は、対応点の組を複数算出し、複数の対応点の組にそれぞれ対する複数の被写体上の点の３次元座標を算出し、『「対応点の組に含まれる画素座標の組」と「対応点の組に対する被写体上の点の３次元座標」との組』を複数含む位置情報Ｐａ，ｂとして出力する。これにより、例えば、図８Ａ及び図８Ｂに示すような、カメラからの距離を濃淡で表した距離画像を得ることができる。なお、図８Ａは、カメラ画像の一例を示し、図８Ｂは、当該カメラ画像の距離画像の一例を示す。距離画像では、カメラから対象点までの距離が、画素の輝度で表現されている。
【００９９】
最後に、ステップＳ４０３では、画像生成部１１３は、カメラ画像Ｉａ及びＩｂの一方であるカメラ画像、例えばカメラ画像Ｉａと、『「対応点の組に含まれる画素座標の組」と「対応点の組に対する被写体上の点の３次元座標」との組』を複数含む位置情報｛Ｐａ，ｂ｝とを取得する。さらに、画像生成部１１３は、カメラ画像Ｉａ内において、複数の対応点によって表される障害物等の３次元物体を検出する。そして、画像生成部１１３は、例えば図９に示すように、検出した３次元物体の位置に対応するカメラ画像上の領域に、注視領域を示す枠を重畳合成して合成画像として出力する。なお、図９は、実施の形態における画像生成部１１３から出力される合成画像の例を示す模式図である。
【０１００】
画像生成部１１３において、位置情報から障害物等の３次元物体を検出する方法として、本実施の形態では、位置情報に含まれる複数点の３次元座標から、それぞれの点とカメラ１０１との距離が予め定められた距離ｄｔｈよりも小さく、且つ、地面よりも高い位置にある点を抽出し、抽出した複数の点を３次元物体とする。具体的には、画像生成部１１３は、Ｐａ，ｂに含まれるｎ番目の位置情報ｐａ，ｂ，ｎに含まれる３次元座標（ｘａｎ，ｙａｎ，ｚａｎ）から、３次元座標（ｘａｎ，ｙａｎ，ｚａｎ）とカメラ１０１ａとの距離ｄｎと、３次元座標（ｘａｎ，ｙａｎ，ｚａｎ）に対応する世界座標系の３次元座標（ｘｗｎ，ｙｗｎ，ｚｗｎ）とを算出する。そして、距離ｄｎが予め定められた距離ｄｔｈよりも小さく（ｄｎ＜ｄｔｈ）、且つ、世界座標系の３次元座標の高さが地面よりも高い場合（ｚｗｎ＞０）に、当該位置情報ｐａ，ｂ，ｎに含まれる３次元座標（ｘａｎ，ｙａｎ，ｚａｎ）で特定される３次元空間中の点を３次元物体上の点として抽出する。さらに、画像生成部１１３は、３次元物体上の点として検出された複数の位置情報に含まれる３次元座標値をカメラ画像Ｉａに投影した投影点の集まりを抽出し、抽出された投影点の集まりに外接する矩形状等の枠を、カメラ画像Ｉａに重畳し、合成画像を生成する。そして、画像生成部１１３は、合成画像を出力し、ディスプレイ１２０に表示させる。
【０１０１】
以上のように、コンピュータ３００で実行されるステップＳ４０１〜Ｓ４０３の処理によって、画像処理部１１０は、撮像部１００で撮像された２つのカメラ画像から、３次元物体の画像と３次元物体に関する位置情報とを生成して出力する。さらに、撮像部１００及びコンピュータ３００は、上記の処理を繰り返してもよい。
【０１０２】
図９には、ステップＳ４０３の処理によって生成される合成画像の例が、示されている。車体後方のカメラに近い位置にある障害物、例えば、図９の例では、歩行者及び停止車両に注意を喚起する枠が表示されるため、接触する可能性が高い障害物の存在を運転者が容易に認知できる。また、特に、複眼カメラシステム１０では、各カメラは魚眼レンズを用いていることから、１８０度のカメラ画像とカメラ画像に対応する３次元座標との取得が可能である。
【０１０３】
以上のように、複眼カメラシステム１０の撮像部１００、及び、コンピュータ３００で実現される画像処理部１１０は、これらによる動作の結果、２つのカメラで撮像されたカメラ画像からカメラ画像に含まれる点に対応する被写体上の点の３次元座標を算出する。さらに、画像処理部１１０は、「対応点の組に含まれる画素座標の組」と「対応点の組に対する被写体上の点の３次元座標」との組に基づいて、カメラの視野内の障害物等の３次元物体を検出し表示することができる。その結果、複眼カメラシステム１０を搭載した自動車の運転者は、自動車の周囲の障害物等の３次元物体を容易に把握することができる。
【０１０４】
［２−２．自己校正動作］
上述した複眼カメラシステム１０は、予め記録しておいたカメラパラメタセットを用いて被写体の３次元座標の算出をしている。一方、このカメラパラメタセットは、経年変化、外力又は温度変化等の影響を受けた場合に、変形等を生じて変わる場合がある。このような場合、カメラの校正が必要になる。以下、複眼カメラシステム１０における自己校正時の動作について、図１０及び図１１を用いて説明する。なお、図１０は、図２の複眼カメラシステム１０のカメラパラメタセット算出装置１１１の詳細な構成を示した機能的な構成図である。図１１は、実施の形態に係る複眼カメラシステム１０の画像処理部１１０における自己校正処理Ｓ１１１の一例を表すフローチャートである。
【０１０５】
図１０に示すように、自己校正処理Ｓ１１１を行うカメラパラメタセット算出装置１１１は、取得部９０１と、対応点算出部９０２と、評価値算出部９０３と、カメラパラメタ決定部９０４と、カメラパラメタ出力部９０５とを含む。取得部９０１と、対応点算出部９０２と、評価値算出部９０３と、カメラパラメタ決定部９０４と、カメラパラメタ出力部９０５とによる各構成要素は、画像処理部１１０の各構成要素と同様の構成を有してもよい。
【０１０６】
取得部９０１は、カメラ１０１ａ及び１０１ｂそれぞれによって撮影されたカメラ画像Ｉａ及びＩｂを、撮像部１００から取得する。取得部９０１は、撮像部１００又は画像処理部１１０等が有する図示しないメモリ等の記憶装置に格納されたカメラ画像Ｉａ及びＩｂを取得してもよい。各カメラ画像Ｉａ及びＩｂは、校正の基準となる同一の対象を含む。また、取得部９０１は、カメラ１０１ａ及び１０１ｂに現在設定されているカメラパラメタで構成される初期カメラパラメタセットを、カメラパラメタ記憶部１１４から取得する。
【０１０７】
対応点算出部９０２は、カメラ画像Ｉａ及びＩｂにおいて、互いに対応する点の組すなわち対応点の組を抽出し、カメラ画像Ｉａ及びＩｂそれぞれでの対応点の画素座標を算出する。
【０１０８】
評価値算出部９０３は、対応点の画素座標及び初期カメラパラメタセットに基づき、上述したステレオ測距技術を用いて、対応点の組に対する被写体上の点の３次元座標を算出する。以降の説明において、対応点の組に対する被写体上の点を、測距点とも呼ぶ。
【０１０９】
また、評価値算出部９０３は、測距点の３次元座標をカメラ画像Ｉａ及びＩｂにそれぞれ投影した点の画素値に基づき、カメラパラメタセットの評価値を算出する。以降の説明において、測距点の３次元座標を２つのカメラ画像に投影して得られる当該２つのカメラ画像上の点をそれぞれ、投影点と呼ぶ。カメラ１０１ａで被写体を撮像して得たカメラ画像Ｉａ及びカメラ１０１ｂで被写体を撮像して得たカメラ画像Ｉｂに基づいて取得した測距点をカメラ画像Ｉａに投影した投影点を第１投影点と呼び、同一の測距点をカメラ画像Ｉｂに投影した投影点を第２投影点と呼んでもよい。
【０１１０】
カメラパラメタ決定部９０４は、評価値算出部９０３によって算出された評価値に基づき、現在、カメラ１０１ａ及び１０１ｂに設定されているカメラパラメタセットを変更すべきか否かを判定する。カメラパラメタ決定部９０４は、判定結果に基づき、カメラパラメタセットを変更つまり更新する。このように、カメラパラメタ決定部９０４は、カメラパラメタセットを決定する。カメラパラメタ出力部９０５は、カメラパラメタ決定部９０４で決定されたカメラパラメタセットを取得し、カメラパラメタ記憶部１１４等に出力する。
【０１１１】
図１１に示すように、カメラパラメタセット算出装置１１１は、ステップＳ１００１〜Ｓ１００７を含む自己校正処理Ｓ１１１を行うことによって、カメラ１０１ａ及び１０１ｂに設定されているカメラパラメタのセット、つまり、初期カメラパラメタセットを校正する。自己校正処理Ｓ１１１において、カメラパラメタセット算出装置１１１は、自動的に校正処理を行う。カメラパラメタセット算出装置１１１は、スイッチ、タッチパッド、キーボード等の図示しない入力装置を介して、ユーザによって複眼カメラシステム１０へ校正指示が入力されると、カメラ１０１ａ及び１０１ｂの自己校正処理を開始する。例えば、ユーザは、カメラ１０１ａ又は１０１ｂの異常を確認した場合、校正指示を入力してもよく、カメラ１０１ａ及び１０１ｂの製造完了後の工場出荷前に、校正指示を入力してもよい。また、カメラパラメタセット算出装置１１１は、予め設定された時期に、自己校正処理を自動的に開始してもよい。
【０１１２】
カメラパラメタセット算出装置１１１の自己校正処理Ｓ１１１の開始後、ステップＳ１００１において、取得部９０１は、カメラ１０１ａ及び１０１ｂによって撮影されたカメラ画像Ｉａ及びＩｂを取得する。さらに、ステップＳ１００２において、取得部９０１は、カメラパラメタ記憶部１１４に予め格納されているカメラ１０１ａ及び１０１ｂそれぞれの初期カメラパラメタセットＣａ０及びＣｂ０を読み込む。ここで、「予め」とは、「カメラパラメタセット算出装置１１１が自己校正処理を開始する前」であることを意味してもよい。
【０１１３】
ステップＳ１００３において、対応点算出部９０２は、取得されたカメラ１０１ａ及び１０１ｂのカメラ画像Ｉａ及びＩｂを用いて、図５に示すステップＳ４０２と同じ対応点探索手法により、２つのカメラ画像Ｉａ及びＩｂ間の対応点の組を複数組推定する。さらに、対応点算出部９０２は、カメラ画像Ｉａに含まれる対応点の画素座標（ｕａｎ，ｖａｎ）及びカメラ画像Ｉｂに含まれる対応点の画素座標（ｕｂｎ，ｖｂｎ）を算出して出力する。なお、ｎは、１〜Ｎの値をとり、第ｎの対応点の組は対応点Ｐａｎ及び対応点Ｐｂｎを含む。
【０１１４】
ここで、ステップＳ１００４〜Ｓ１００６は、ステップＳ１００５での判定結果に応じて、繰り返される。そして、繰り返しの度に、カメラ１０１ａ及び１０１ｂそれぞれのカメラパラメタセットが更新される。このため、ｒ回目の繰り返し時のカメラ１０１ａ及び１０１ｂそれぞれのカメラパラメタセットを、カメラパラメタセットＣａｒ及びＣｂｒと表す。初期カメラパラメタセットの場合、ｒ＝０である。
【０１１５】
ステップＳ１００４において、評価値算出部９０３は、Ｎ個の対応点の組にそれぞれ含まれる対応点の画素座標と、カメラ１０１ａ及び１０１ｂそれぞれのカメラパラメタセットＣａｒ及びＣｂｒとを用いて、ステレオ測距技術を用いた下記の式１０により、Ｎ個の対応点の組に対応する点の３次元座標（ｘａｒｎ，ｙａｒｎ，ｚａｒｎ）を算出して出力する。つまり、評価値算出部９０３は、Ｎ個の測距点の３次元座標を算出する。
【０１１６】
【数１０】
2018179990.tif 000012
【０１１７】
さらに、評価値算出部９０３は、Ｎ個の測距点の３次元座標と、カメラ１０１ａ及び１０１ｂのカメラパラメタセットＣａｒ及びＣｂｒとを用いて、各測距点をカメラ１０１ａ及び１０１ｂのカメラ画像Ｉａ及びＩｂに投影する。そして、評価値算出部９０３は、各測距点について、測距点を投影して得られるカメラ画像Ｉａ上の第１投影点及びカメラ画像Ｉｂ上の第２投影点を算出する。「測距点をカメラ画像に投影する」とは、評価値算出部９０３が、下記の式１１及び式１２により、各測距点の３次元座標を、カメラ画像Ｉａ及びＩｂの画素座標に座標変換する、ことである。これにより、評価値算出部９０３は、各測距点に対する第１投影点及び第２投影点について、カメラ画像Ｉａにおける画素座標（ｕａｒｎ，ｖａｒｎ）、及び、カメラ画像Ｉｂにおける画素座標（ｕｂｒｎ，ｖｂｒｎ）を算出する。式１１における関数Ｇは、上記式１、式２及び式４に基づく、測距点の３次元座標からカメラ画像Ｉａの画素座標への座標変換を示し、式１２における関数Ｈは、上記式１、式２及び式４に基づく、測距点の３次元座標からカメラ画像Ｉｂの画素座標への座標変換を示す。
【０１１８】
【数１１】
2018179990.tif 000013
【０１１９】
さらに、評価値算出部９０３は、カメラ画像Ｉａ及びＩｂと、カメラパラメタセットＣａｒ及びＣｂｒとを用いて、測距点をカメラ画像Ｉａに投影した第１投影点の画素値ｉａｒと、同一の測距点をカメラ画像Ｉｂに投射した第２投影点の画素値ｉｂｒとを算出する。例えば、第１投影点の画素座標を（ｕａｒｎ，ｖａｒｎ）とし、第２投影点の画素座標を（ｕｂｒｎ，ｖｂｒｎ）とすると、第１投影点の画素値ｉａｒは、Ｉａ（ｕａｒｎ，ｖａｒｎ）と表され、第２投影点の画素値ｉｂｒは、Ｉｂ（ｕｂｒｎ，ｖｂｒｎ）と表される。
【０１２０】
なお、評価値算出部９０３は、各々の測距点に対する第１投影点の画素値と第２投影点の画素値とを算出する。そして、評価値算出部９０３は、第１投影点の画素値ｉａｒ及び第２投影点の画素値ｉｂｒの差の絶対値の総和で定義される評価値Ｊを、下記の式１３に示す評価関数に基づき算出する。なお、式１３において、Ｎは、測距点の数量である。
【０１２１】
【数１２】
2018179990.tif 000014
【０１２２】
また、本実施の形態では、画素値は、画素の輝度値である。実数精度の画素座標に対し、画素値はバイキュービック補間で算出される。なお、画素値は輝度値に限定するものではなく、輝度値の代わりにＲＧＢ値を用いてもよい。また、実数精度の画素座標に対する画素値の算出方法は、バイキュービック補間に限定されるものではなく、バイリニア補間など他の補間方法であってもよい。また、評価値Ｊの計算におけるＮ個の測距点に対応する第１投影点の画素値と第２投影点の画素値との差の絶対値の和を算出する際に、画素値の差の絶対値に重みを付けてもよい。例えば、被写体の色が連続的に変化する点群の重みを大きくしてもよく、被写体の表面の凹凸が大きい点群の重みを小さくしてもよい。これらの重み付けは、カメラパラメタの連続的な変化に対し、評価値Ｊの変化を滑らかにし、評価値Ｊを最小化し易くする効果が期待できる。
【０１２３】
次に、ステップＳ１００５において、カメラパラメタ決定部９０４は、カメラ１０１ａ及び１０１ｂのカメラパラメタセットＣａｒ及びＣｂｒの更新の終了条件が満たされているか否かを判定する。終了条件が満たされていない場合（ステップＳ１００５でＮＯ）、カメラパラメタ決定部９０４は、カメラパラメタセットＣａｒ及びＣｂｒを変更するために、ステップＳ１００６の処理に進む。終了条件が満たされている場合（ステップＳ１００５でＹＥＳ）、カメラパラメタ決定部９０４は、カメラパラメタセットの更新の終了をして、更新されて最新の状態のカメラパラメタセットＣａｒ及びＣｂｒを、カメラ１０１ａ及び１０１ｂのカメラパラメタセットに決定して出力し、ステップＳ１００７の処理に進む。なお、終了条件は、カメラパラメタの所与の探索範囲内の探索が完了していること、評価値Ｊが第一閾値未満であること、及び、ステップＳ１００４〜Ｓ１００６の繰り返し回数ｒが第二閾値よりも大きいことの少なくとも１つである。
【０１２４】
ステップＳ１００６において、カメラパラメタ決定部９０４は、ｒ＋１回目のカメラパラメタセットの変更、つまり更新を行う。具体的には、カメラパラメタ決定部９０４は、カメラ１０１ａ及び１０１ｂのカメラパラメタセットＣａｒ及びＣｂｒを所与の範囲で変更し、新たなカメラパラメタセットＣａｒ＋１及びＣｂｒ＋１を算出する。カメラパラメタ決定部９０４は、カメラパラメタセットＣａｒ＋１及びＣｂｒ＋１を出力し、ステップＳ１００４の処理に進む。これにより、ステップＳ１００４〜Ｓ１００６によるｒ＋１回目の一連の反復処理が行われる。なお、カメラパラメタの探索範囲は、予め設定された各カメラパラメタが取り得る範囲であってもよい。例えば、探索範囲は、全て初期カメラパラメタの±５％であってもよい。
【０１２５】
ステップＳ１００７において、カメラパラメタ出力部９０５は、上述したステップＳ１００４〜ステップＳ１００６の反復処理によって算出されたカメラパラメタセットと、当該カメラパラメタセットに対応する評価値Ｊとによる複数の組を取得する。カメラパラメタセットに対応する評価値Ｊは、当該カメラパラメタセットを用いて算出された評価値である。カメラパラメタ出力部９０５は、複数組のカメラパラメタセット及び評価値Ｊから、評価値Ｊが最小である組のカメラパラメタセットを選択する。さらに、カメラパラメタ出力部９０５は、選択したカメラパラメタセットに対応する評価値Ｊが、初期カメラパラメタセットに対応する評価値Ｊよりも小さい場合に、カメラパラメタ記憶部１１４に記憶された初期カメラパラメタセットを、選択したカメラパラメタセットで置き換える。このように、カメラパラメタセットが最適なカメラパラメタセットに更新される。また、上述したステップＳ１００２〜Ｓ１００７の動作を、下記の式１４に表すことができる。なお、ステップＳ１００１〜Ｓ１００７の処理は、図４のコンピュータ３００で実行されてもよい。
【０１２６】
【数１３】
2018179990.tif 000015
【０１２７】
以上のように、カメラパラメタセット算出装置１１１は、自己校正処理Ｓ１１１により、カメラ１０１ａ及び１０１ｂのカメラ画像からステレオ測距により複数の対応点の組のそれぞれに対応する測距点の３次元座標を算出する。さらに、カメラパラメタセット算出装置１１１は、測距点をカメラ画像Ｉａに投影した第１投影点の画素座標及び同一の測距点をカメラ画像Ｉｂに投影した第２投影点の画素座標を算出し、第１投影点の画素値と第２投影点の画素値との差に基づいて評価値を算出する。カメラパラメタセット算出装置１１１は、この評価値を最小にするカメラ１０１ａ及び１０１ｂのカメラパラメタセットＣａｒ及びＣｂｒを算出することで、正解値又は正解値との誤差の小さいカメラパラメタセットを得ることができる。
【０１２８】
［２−３．自己校正の効果の検証］
以下、上述したカメラパラメタセット算出装置１１１の自己校正処理Ｓ１１１が、カメラ１０１ａ及び１０１ｂのカメラパラメタを正確に算出することが可能であることを、シミュレーションによる実験結果をもとに検証し説明する。
【０１２９】
上記の式１３に示す評価値Ｊの評価関数に基づいて、カメラパラメタの正解値に対する誤差を小さくするカメラパラメタを算出するためには、式１３の評価関数が以下の２つの条件を満たす必要がある。
（ｉ）カメラパラメタが正解値である場合に、評価値Ｊも最小であること
（ｉｉ）カメラパラメタの正解値の近傍で、評価関数が下に凸の線形を形成すること
【０１３０】
カメラ１０１ａ及び１０１ｂで撮影されるカメラ画像として、図１２Ａ及び図１２Ｂのカメラ画像が入力された場合を例に、式１３の評価値Ｊの評価関数が、上述の２つの条件（ｉ）及び（ｉｉ）を満たしていることを、以下の実験結果により示す。
【０１３１】
（実験条件１）
実験条件１では、カメラのカメラパラメタの１つを変更しつつ評価値を算出し、評価値の算出結果と、予め既知であるカメラパラメタの正解値とを比較する実験を行った。各カメラ１０１ａ及び１０１ｂのカメラパラメタセットのうち、内部パラメタセットは、上記の式３の等距離射影モデルに従って、カメラの光軸中心の画素座標（ｃｕ，ｃｖ）、カメラの焦点距離ｆ、カメラの撮像素子１画素分のｘ方向及びｙ方向それぞれの長さｄｐｘ及びｄｐｙの計５個のパラメタを含む。外部パラメタセットＭは、上記の式１と同様の下記の式１５のように示される。外部パラメタセットＭは、カメラ座標系の世界座標系に対する具体的な変位量として、Ｘ、Ｙ及びＺの各軸周りの回転量ＲＸ、ＲＹ及びＲＺと、Ｘ、Ｙ及びＺの各軸方向の並進量ＴＸ、ＴＹ及びＴＺとの計６個のパラメタを含む。２台のカメラ１０１ａ及び１０１ｂのカメラパラメタセットには、合計２２個のパラメタが含まれる。なお、Ｘ軸、Ｙ軸及びＺ軸は、世界座標系の基準軸である。
【０１３２】
【数１４】
2018179990.tif 000016
【０１３３】
ここで、ｄｐｘとｆ、及び、ｄｐｙとｆは、スケールの不定性により一意に求めることができないため、ｄｐｙを設計値（一定）とする。また、図７Ａのように設置された２つのカメラのカメラ画像を用いる場合、２つのカメラのカメラパラメタにおける基線長方向（例えば、Ｘ軸方向）の並行移動量ＴＸについても、スケールの不定性により一意に求めることができないため、Ｔｘは設計値（一定）とする。これにより、評価値Ｊは、ｃｕ、ｃｖ、ｆ、ｄｐｘ、ＲＸ、ＲＹ、ＲＺ、ＴＹ及びＴＺによる各カメラで９個のカメラパラメタを変数とする関数となる。
【０１３４】
実験に用いた画像が図１２Ａ及び図１２Ｂに示されている。図１２Ａ及び図１２Ｂは、駐車場のシーンのカメラ画像の例であり、コンピュータグラフィックス（ＣＧ）で生成した。図１２Ａに示す画像及び図１２Ｂに示す画像はそれぞれ、カメラ１０１ａ及び１０１ｂのカメラ画像である。本実験では、対応点算出部９０２によって、図１２Ａのカメラ画像及び図１２Ｂのカメラ画像の対応点の組を算出する代わりに、予め既知である対応点の組の正解値を用いた。
【０１３５】
対応点の組の正解値を入力値として、カメラ１０１ａ及び１０１ｂの全てのカメラパラメタを正解値である設計値に設定したのち、カメラ１０１ｂの１つのカメラパラメタのみを変えた場合の評価値Ｊを算出した。
【０１３６】
（実験結果１）
上記の実験条件１による実験結果１を説明する。具体的には、９個のカメラパラメタについて、正解値近傍での評価値が、図１３Ａ〜図１５Ｂに示すように得られた。各図中の横軸が各カメラパラメタの値を示し、縦軸が評価値Ｊを示す。変化させるカメラパラメタはそれぞれ、図１３Ａではｃｕ、図１３Ｂではｃｖ、図１３Ｃではｆ、図１３Ｄではｄｐｘ、図１４ＡではＲＸ、図１４ＢではＲＹ、図１４ＣではＲＺ、図１５ＡではＴＹ、図１５ＢではＴＺである。
【０１３７】
また、各カメラパラメタの正解値は、ｃｕでは６４０ｐｉｘｅｌ、ｃｖでは４８０ｐｉｘｅｌ、ｆでは１．１２ｍｍ、ｄｐｘでは２．７５μｍ、ＲＸでは０°、ＲＹでは０°、ＲＺでは０°、ＴＹでは０ｍｍ、ＴＺでは０ｍｍである。各図中の横軸の中央部がカメラパラメタの正解値である。
【０１３８】
図１３Ａ〜図１５Ｂのいずれにおいても、カメラパラメタの正解値の近傍（横軸の中央部）で評価関数は下に凸の線形を描き、且つ、評価値が最小となるカメラパラメタは正解値と一致していることがわかる。このことから、図１３Ａ〜図１５Ｂで示すカメラパラメタの範囲において、評価値Ｊが最小となるカメラパラメタを算出できると言える。言い換えると、本方式によるカメラ校正が可能である。
【０１３９】
例えば、図１３Ａに関して、ｃｕの６３４〜６４６ｐｉｘｓｅｌの範囲において、ｃｕを一定の間隔又はランダムな間隔で増減させながら評価値が算出される。さらに、算出された評価値の中で、評価値が最小となるカメラパラメタｃｕ、又は評価値が十分小さいパラメタｃｕが、最適値として決定される。このように決定されたカメラパラメタｃｕは、正解値である又は正解値との誤差が小さいカメラパラメタである。
【０１４０】
以上のことから、式１３の評価関数が、正解値の近傍で上述の２つの条件（ｉ）及び（ｉｉ）を満たしていることが、実験条件１の実験例により示される。
【０１４１】
（実験条件２）
実験条件２では、本開示のカメラパラメタセット算出装置１１１を用いて自己校正処理Ｓ１１１を実施することにより、誤差を小さくするようにカメラパラメタを算出し、算出結果を検証する実験を行った。
【０１４２】
本実験では、図１２Ａ及び図１２Ｂに示されるカメラ画像がカメラパラメタセット算出装置１１１に入力され、２つのカメラ画像間の対応点の組には、実験条件１と同様に、予め既知である正解値が用いられた。また、カメラ１０１ａ及び１０１ｂの全てのカメラパラメタを正解値である設計値に設定したのち、カメラ１０１ｂの９のカメラパラメタについて所定の範囲内のランダムノイズを加算し、加算後のカメラパラメタを初期カメラパラメタとした。カメラ１０１ｂの９のパラメタのうち１つのパラメタのみを、所定の範囲内で変化させつつ評価値を算出し、算出された評価値の中で、評価値が最小となるカメラパラメタを最適値に決定する。この処理を９つのカメラパラメタに対して順に繰り返す処理を１回の試行として、さらに複数回の試行を繰り返した。
【０１４３】
（実験結果２）
上記の実験条件２による実験結果２を説明する。具体的には、実験結果２の例が、図１６Ａ及び図１６Ｂに示すように得られた。図１６Ａでは、横軸が試行回数を示し、縦軸が式１３の評価値Ｊを示す。つまり、図１６Ａは、横軸の回数での試行を実施して得られたカメラパラメタを用いて算出した評価値が、縦軸の値で示されている。図１６Ｂでは、横軸が試行回数を示し、縦軸が再投影誤差のＲＭＳ値を示す。再投影誤差とは、算出したカメラパラメタが、式１と式２とを満たす度合いを表す。具体的には、カメラ１０１ｂのカメラ画像Ｉｂに映った被写体上の３次元座標とその画素座標との組の正解値が既知である場合に、算出したカメラ１０１ｂのカメラパラメタを用いて、正解の３次元座標をカメラ画像Ｉｂ上に投影した画素座標を算出し、算出した画素座標と正解の画素座標との差を、再投影誤差と呼ぶ。すなわち、再投影誤差が小さいほど、式１及び式２を満たすような、正解との誤差が小さいカメラパラメタであることを表す。図１６Ａ及び図１６Ｂのいずれにおいても、試行回数が増えるほど評価値が小さくなる。よって、２つのカメラ画像の投影点における画素値の差が小さくなる。同時に、試行回数が増えるほど再投影誤差も小さくなっている。
【０１４４】
以上のことから、本開示のカメラパラメタセット算出装置１１１による自己校正処理Ｓ１１１によって、再投影誤差が小さい、すなわち、式１及び式２をよく満たし且つ正解値との誤差の小さいカメラパラメタを算出できているといえる。
【０１４５】
以上のことから、自己校正処理Ｓ１１１によって得られた、上記の式１３の評価値Ｊを最小にするカメラパラメタは、少なくとも評価値Ｊの評価関数が前述の２つの条件（ｉ）及び（ｉｉ）を満たす場合に、正解値、又は誤差の小さいカメラパラメタであると言える。すなわち、カメラパラメタセット算出装置１１１によるステップＳ１００１〜ステップＳ１００７の処理によって、カメラ１０１ａ及び１０１ｂの２つのカメラ画像と初期カメラパラメタセットとを用いて、カメラ１０１ａ及び１０１ｂの正確なカメラパラメタを算出して更新できるという効果がある。
【０１４６】
従来の校正技術では、３次元座標と画素座標との対応が既知である複数の基準点を用いるため、校正指標を備える設備等が必要である。これに対し、本実施の形態に係るカメラパラメタセット算出装置１１１は、２つのカメラのカメラ画像を用いて対応点の組を抽出し、抽出された対応点の組に対する被写体上の点の３次元座標を算出し、さらに３次元座標を用いて各カメラのカメラ画像における対応点の組に含まれる対応点の投影点を算出する。カメラパラメタが正しい場合、２つのカメラ画像の投影点の画素値は一致し、カメラパラメタの誤差が大きいほど２つのカメラ画像の投影点の画素値の差が大きくなる。そこで、カメラパラメタセット算出装置１１１は、２つのカメラ画像の投影点の画素値の差を最小にするカメラパラメタを算出することで、最適つまり正解のカメラパラメタを算出する。これにより、カメラパラメタセット算出装置１１１は、３次元座標と画素座標との対応が既知である基準点、つまり校正指標を備える設備等がなくても、カメラの校正を可能にするという効果を奏する。
【０１４７】
［２−４．自己校正動作の変形例１］
実施の形態に係るカメラパラメタセット算出装置１１１は、ユーザによる入力を、自己校正処理Ｓ１１１の開始のトリガとしていたが、これに限定されない。カメラパラメタセット算出装置１１１は、自己校正処理Ｓ１１１の開始を、他のトリガによって自動的に開始してもよい。例えば、カメラパラメタセット算出装置１１１は、温度センサ、衝撃センサ、タイマ等のセンサからの入力をトリガとして、自動的に自己校正を開始してもよい。例えば、図１７を参照すると、センサ部１３０を備える複眼カメラシステム１０の構成を示すブロック図が示されている。複眼カメラシステム１０は、実施の形態に加えて、温度センサ１３１、衝撃センサ１３２及びタイマ１３３を含むセンサ部１３０を備え、カメラパラメタセット算出装置１１１は、実施の形態に加えて、センサ部１３０から検知情報を取得し自己校正処理Ｓ１１１の開始指令を出力するセンサ情報取得部９０６を備える。
【０１４８】
カメラパラメタセット算出装置１１１は、複眼カメラシステム１０の電源投入直後に、１回の自己校正処理Ｓ１１１を、実施してもよい。なお、上記の電源投入後の実施の代わりに、カメラパラメタセット算出装置１１１は、自己校正処理Ｓ１１１を、センサ部１３０のタイマ１３３からの入力に基づいて実施してもよく、センサ部１３０の衝撃センサ１３２からの入力に基づいて実施してもよく、センサ部１３０の温度センサ１３１の入力に基づいて実施してもよい。タイマ１３３からの入力に基づいた実施は、タイマ１３３によって検知される一定の時間ごとの実施であってもよい。衝撃センサ１３２からの入力に基づく実施は、複眼カメラシステム１０が搭載された自動車に事故などによって加わる強い衝撃を衝撃センサ１３２が検知する場合に行われてもよい。なお、衝撃センサ１３２は、加速度センサで構成されてもよい。温度センサ１３１の入力に基づく実施は、複眼カメラシステム１０の周囲の温度が所定の温度になることを温度センサ１３１が検知する場合に行われてもよい。
【０１４９】
［２−５．自己校正動作の変形例２］
実施の形態に係るカメラパラメタセット算出装置１１１は、自己校正処理Ｓ１１１において、ステップＳ１００３では、カメラ画像Ｉａ及びＩｂ間でＮ組の対応点の組を抽出し、ステップＳ１００４では、抽出されたＮ組の対応点の組それぞれに対する被写体上の点の３次元座標をステレオ測距技術により算出し、さらに、算出した３次元座標を用いて評価値Ｊを算出した。しかしながら、評価値Ｊの算出にＮ組の対応点の組のそれぞれに対する被写体上の点の３次元座標を全て用いる必要は無い。
【０１５０】
本変形例では、カメラパラメタセット算出装置１１１は、ステレオ測距によって算出したＮ個の対応点の組のそれぞれに対する被写体上の点、つまり測距点の３次元座標のうちから、画像の輝度勾配が無い又は十分小さい測距点の３次元座標を取り除く。これにより、カメラパラメタセット算出装置１１１は、評価値Ｊの算出に用いる測距点を少なくし、評価値Ｊの算出における計算量を低減する。
【０１５１】
本変形例に係るカメラパラメタセット算出装置１１１の自己校正処理Ｓ１１１は、ステップＳ１００４の動作を除き、実施の形態と同様である。このため、本変形例に係るステップＳ１００４の動作を説明し、その他の説明を省略する。
【０１５２】
ステップＳ１００４において、カメラパラメタセット算出装置１１１の評価値算出部９０３は、算出されたＮ組の対応点の組に含まれる対応点の画素座標と、カメラ１０１ａ及び１０１ｂそれぞれのカメラパラメタセットＣａｒ及びＣｂｒとを用いて、上記の式１０により、Ｎ組の対応点の組に対する被写体上の点つまり測距点の３次元座標（ｘａｒｎ，ｙａｒｎ，ｚａｒｎ）を算出して出力する。
【０１５３】
さらに、評価値算出部９０３は、Ｎ個の測距点の３次元座標と、カメラ１０１ａ及びカメラ１０１ｂのカメラパラメタセットＣａｒ及びＣｂｒとを用いて、上記の式１１及び式１２により、各測距点をカメラ１０１ａ及び１０１ｂのカメラ画像Ｉａ及びＩｂに投影する。具体的には、各測距点の３次元座標に対応するカメラ画像Ｉａ及びＩｂそれぞれの画素座標（ｕａｒｎ，ｖａｒｎ）及び（ｕｂｒｎ，ｖｂｒｎ）が算出される。
【０１５４】
そして、評価値算出部９０３は、Ｎ個の測距点のうちから、測距点をカメラ画像Ｉａに投影した投影点の画素座標（ｕａｒｎ，ｖａｒｎ）における画素値の輝度勾配が０又は十分小さいＭ個の測距点を除去し、Ｎ−Ｍ個（Ｍ＞又は＝０）の測距点の３次元座標を選択する。
【０１５５】
測距点の３次元座標（ｘａｒｎ，ｙａｒｎ，ｚａｒｎ）に対応する画素座標（ｕａｒｎ，ｖａｒｎ）の周りの画素値の輝度勾配が０の場合、カメラパラメタを微小変化させることで、この測距点に対応する画素座標（ｕａｒｎ，ｖａｒｎ）が微小変化しても、その画素座標の画素値Ｉａ（ｕａｒｎ，ｖａｒｎ）は変化しない。言い換えると、評価値Ｊが変化しない。そのため、この様な測距点を除去したとしても評価値Ｊには影響が無く、且つ、測距点の数が減るため、ステップＳ１００４の計算量を低減できるという効果がある。
【０１５６】
なお、ステップＳ１００４における評価値Ｊの算出に用いる測距点の削減には、他の手法が用いられてもよい。例えば、測距点のうちから、２つのカメラ１０１ａ及び１０１ｂの一方のカメラに映っていない測距点が除外されてもよい。この場合、測距点の３次元座標に対応するカメラ画像Ｉａでの第１投影点の画素座標と同一の測距点の３次元座標に対応するカメラ画像Ｉｂでの第２投影点の画素座標とを算出し、２つの画素座標のうちいずれか一方がカメラ画像の不可視領域に位置する場合に、当該測距点を評価値Ｊの算出から除外してもよい。
【０１５７】
上記の式１３は、同一の測距点が２つのカメラ画像Ｉａ及びＩｂに写っている場合、測距点をカメラ画像Ｉａへ投影した投影点の画素値と、同一の測距点をカメラ画像Ｉｂへ投影した投影点の画素値との差が０になることを意味している。一方、測距点をカメラ画像Ｉａへ投影した第１投影点及び同一の測距点をカメラ画像Ｉｂへ投影した第２投影点のいずれかが、カメラ１０１ａ及び１０１ｂの遮蔽領域にある場合、撮影範囲内にあっても他の物体に遮蔽されてカメラ画像に映らない、すなわち、第１投影点と第２投影点とが同一の測距点ではなく、測距点及び投影点に誤りが含まれている可能性があることを意味している。このような第１投影点及び第２投影点は、カメラパラメタが正確な場合でも、第１投影点の画素値と第２投影点の画素値との差が０にならないため、評価値の誤差になる。そこで、ステップＳ１００４における評価値Ｊの算出に用いる測距点を削減する方法として、複数の測距点のうち、その投影点が少なくとも一方のカメラに写らない、つまり、当該カメラの不可視領域に位置する測距点を評価値の算出から除外するとしてもよい。このようにすることで、評価値の誤差を小さくできるという効果が期待できる。測距点の投影点がカメラの不可視領域にあるか否かは、前述したようなカメラの撮影範囲外となる３次元空間の範囲を規定する遮蔽情報に基づいて判定してもよい。
【０１５８】
なお、カメラパラメタセット算出装置１１１の自己校正処理Ｓ１１１のステップＳ１００５では、評価値Ｊが第一閾値よりも小さいこと、及び、処理の繰り返し回数ｒが第二閾値よりも大きいこと等の終了条件に基づき、反復計算を終了するとしたが、反復計算の終了条件をこれに限定するものではない。例えば、他の終了条件が加わってもよい。例えば、カメラパラメタセットを変化させても評価値Ｊが変化しないことを、終了条件としてもよい。
【０１５９】
なお、カメラパラメタセット算出装置１１１の自己校正処理Ｓ１１１は、評価値Ｊの評価関数が前述した２つの条件を満たす場合に、評価値Ｊが小さい、つまり正解値とカメラパラメタとの差が小さい、言い換えると、誤差の小さいカメラパラメタを算出して更新することができる。しかしながら、評価関数が前述した２つの条件を満たさない場合、必ずしも誤差の小さいカメラパラメタを算出できるとは限らない。例えば、カメラの撮影範囲が極端に暗く、全ての画素値が０になる場合、及び、被写体が均一色でテクスチャが全くない場合、上記の式１３の評価値Ｊは、カメラパラメタを変えてもその値は変わらず、一定値（例えば、０）となる。このようなカメラ画像をカメラパラメタセット算出装置１１１が取得した場合、自己校正処理Ｓ１１１では、ステップＳ１００４〜Ｓ１００６の反復回数ｒが第二閾値以上になるまで反復処理が終了せず、評価値は一定のままで更新されない。この際、カメラパラメタを更新しないにも関わらず、処理における計算負荷がかかる。これに対し、カメラパラメタを変化させても評価値が変化しない場合に、反復処理を終了するとすることで、計算負荷を低減できるという効果がある。
【０１６０】
［３．評価関数のバリエーション］
実施の形態及び変形例に係る自己校正処理において、カメラパラメタセット算出装置１１１の自己校正処理Ｓ１１１で用いる評価値Ｊに、上記の式１３に示すように、複数の測距点それぞれに対応する画素値の差の絶対値の和に基づく評価関数が適用された。しかしながら、評価関数は、上記に限定されるものではなく、測距点に対応する２つのカメラ画像の画素値の差に基づく関数であれば、他の関数であってもよい。例えば、評価関数は、複数の測距点それぞれに対応する２つのカメラ画像の２つの画素値の差の２乗の総和を用いる評価関数でもよい。具体的には、測距点をカメラ画像Ｉａに投影した第１投影点での画素値と同一の測距点をカメラ画像Ｉｂに投影した第２投影点での画素値との差の２乗を各測距点について求めて、求めた値を加算する評価関数の例を、下記の式１６に示す。
【０１６１】
【数１５】
2018179990.tif 000017
【０１６２】
上記の式１３に示すような画素値の差の絶対値和で定義される評価値に基づいて算出されたカメラパラメタは、画素値の差がラプラス分布の場合に、真値に近い、つまり、真値に対する誤差が小さいという効果が期待できる。
【０１６３】
これに対し、上記式１６に示すような画素値の差の２乗和で定義される評価値に基づいて算出されたカメラパラメタは、画素値の誤差がガウス分布の場合に、真値に近い、つまり、真値に対する誤差が小さいという効果が期待できる。
【０１６４】
［その他］
以上、本開示の１つ以上の態様に係るカメラパラメタセット算出装置等について、実施の形態に基づいて説明したが、本開示は、実施の形態に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、本開示の１つ以上の態様の範囲内に含まれてもよい。
【０１６５】
実施の形態及び変形例では、撮像部１００は２つのカメラ１０１ａ及び１０１ｂで構成されるものとしたが、カメラの数量を２つに限定するものではない。本開示の自己校正のためには、撮像部１００は、少なくとも２つのカメラを備えればよく、カメラは２つ以上であればいくらでもよい。また、カメラ同士は、一体化されていてもよく、別々に配置されていてもよい。
【０１６６】
実施の形態及び変形例では、複眼カメラシステム１０の撮像部１００、画像処理部１１０及びディスプレイ１２０は、いずれも自動車に搭載されており、画像処理部１１０を構成するカメラパラメタセット算出装置１１１も自動車に搭載されているものとしたが、これに限定されない。例えば、撮像部１００、画像処理部１１０及びディスプレイ１２０は、自動車以外のいかなる移動体に搭載されてもよい。移動体は、自動車以外の車両、船舶、飛行体又はロボット等であってもよい。自動車以外の車両は、トラック、バス、二輪車、搬送車、鉄道、建設機械、荷役機械等であってもよい。飛行体は、航空機、ドローン等であってもよい。
【０１６７】
また、カメラパラメタセット算出装置１１１は、自動車とネットワークで接続された別の場所に設置されているコンピュータで構成してもよい。カメラパラメタセット算出装置１１１におけるカメラパラメタの自己校正処理Ｓ１１１は、計算負荷が大きいことから、自動車に搭載された計算能力に制約のあるコンピュータ上で実施するよりも、サーバーなどの計算能力の高いコンピュータで実施することで、計算時間がより短く、精度がより高いパラメタの算出ができる、という効果がある。
【０１６８】
また、上述したように、本開示の技術は、システム、装置、方法、集積回路、コンピュータプログラム又はコンピュータ読取可能な記録ディスク等の記録媒体で実現されてもよく、システム、装置、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。コンピュータ読み取り可能な記録媒体は、例えばＣＤ−ＲＯＭ等の不揮発性の記録媒体を含む。
【０１６９】
例えば、上記実施の形態及び変形例に係る複眼カメラシステムに含まれる各構成要素は典型的には集積回路であるＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ：大規模集積回路）として実現される。これらは個別に１チップ化されてもよいし、一部又は全てを含むように１チップ化されてもよい。
【０１７０】
また、集積回路化はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後にプログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、又はＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【０１７１】
なお、上記実施の形態及び変形例において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、ＣＰＵ又はプロセッサなどのプログラム実行部が、ハードディスク又は半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。
【０１７２】
また、上記構成要素の一部又は全部は、脱着可能なＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）カード又は単体のモジュールから構成されてもよい。ＩＣカード又はモジュールは、マイクロプロセッサ、ＲＯＭ、ＲＡＭ等から構成されるコンピュータシステムである。ＩＣカード又はモジュールは、上記のＬＳＩ又はシステムＬＳＩを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、ＩＣカード又はモジュールは、その機能を達成する。これらＩＣカード及びモジュールは、耐タンパ性を有するとしてもよい。
【０１７３】
本開示のカメラパラメタセット算出方法は、ＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＣＰＵ、プロセッサ、ＬＳＩなどの回路、ＩＣカード又は単体のモジュール等によって、実現されてもよい。
【０１７４】
さらに、本開示の技術は、ソフトウェアプログラム又はソフトウェアプログラムからなるデジタル信号によって実現されてもよく、プログラムが記録された非一時的なコンピュータ読み取り可能な記録媒体であってもよい。また、上記プログラムは、インターネット等の伝送媒体を介して流通させることができるのは言うまでもない。
【０１７５】
また、上記で用いた序数、数量等の数字は、全て本開示の技術を具体的に説明するために例示するものであり、本開示は例示された数字に制限されない。また、構成要素間の接続関係は、本開示の技術を具体的に説明するために例示するものであり、本開示の機能を実現する接続関係はこれに限定されない。
【０１７６】
また、ブロック図における機能ブロックの分割は一例であり、複数の機能ブロックを１つの機能ブロックとして実現したり、１つの機能ブロックを複数に分割したり、一部の機能を他の機能ブロックに移してもよい。また、類似する機能を有する複数の機能ブロックの機能を単一のハードウェア又はソフトウェアが並列又は時分割に処理してもよい。
【産業上の利用可能性】
【０１７７】
本開示に係るカメラパラメタ算出装置等は、２眼以上のいかなる複眼カメラのカメラパラメタの算出に有用である。
【符号の説明】
【０１７８】
１０  複眼カメラシステム
１００  撮像部
１０１，１０１ａ，１０１ｂ  カメラ
１１０  画像処理部
１１１  カメラパラメタセット算出装置
１１２  位置算出部
１１３  画像生成部
１１４  カメラパラメタ記憶部
１２０  ディスプレイ
１３０  センサ部
１３１  温度センサ
１３２  衝撃センサ
１３３  タイマ
３００  コンピュータ
３０１  ＣＰＵ
３０２  ＲＯＭ
３０３  ＲＡＭ
３０４  ＨＤＤ
３０５  ビデオ入力Ｉ／Ｆ
３０６  ビデオカード
９０１  取得部
９０２  対応点算出部
９０３  評価値算出部
９０４  カメラパラメタ決定部
９０５  カメラパラメタ出力部
【図１】
2018179990.tif 000021
【図２】
2018179990.tif 000022
【図３Ａ】
2018179990.tif 000023
【図３Ｂ】
2018179990.tif 000024
【図４】
2018179990.tif 000025
【図５】
2018179990.tif 000026
【図６Ａ】
2018179990.tif 000027
【図６Ｂ】
2018179990.tif 000028
【図７Ａ】
2018179990.tif 000029
【図７Ｂ】
2018179990.tif 000030
【図８Ａ】
2018179990.tif 000031
【図８Ｂ】
2018179990.tif 000032
【図９】
2018179990.tif 000033
【図１０】
2018179990.tif 000034
【図１１】
2018179990.tif 000035
【図１２Ａ】
2018179990.tif 000036
【図１２Ｂ】
2018179990.tif 000037
【図１３Ａ】
2018179990.tif 000038
【図１３Ｂ】
2018179990.tif 000039
【図１３Ｃ】
2018179990.tif 000040
【図１３Ｄ】
2018179990.tif 000041
【図１４Ａ】
2018179990.tif 000042
【図１４Ｂ】
2018179990.tif 000043
【図１４Ｃ】
2018179990.tif 000044
【図１５Ａ】
2018179990.tif 000045
【図１５Ｂ】
2018179990.tif 000046
【図１６Ａ】
2018179990.tif 000047
【図１６Ｂ】
2018179990.tif 000048
【図１７】
2018179990.tif 000049