(57)【要約】【課題】複数のレンズを有する撮像装置において、他のレンズによって遮蔽された画像の領域を補完した画像を生成する。【解決手段】撮像装置は、撮像部、位置算出部、位置選択部および画像補完部を有する。撮像部は少なくとも３つのカメラでそれぞれ撮影した複数の画像を出力する。各カメラの光軸は互いに平行であり、近接している。位置算出部は、２つ以上の画像の組とカメラパラメタから複数点の３次元位置を算出する。カメラパラメタは、各カメラの配置、特性および各カメラの画像において、他のカメラによって遮蔽された領域であるか否かの情報を含む遮蔽情報を含む。位置選択部は、複数点の位置情報と遮蔽情報から、遮蔽のない被写体領域の位置情報を選択する。画像補完部は、選択された位置情報に基づいて複数の画像の一つに存在する遮蔽領域を他の画像を用いて補完し、その補完画像および選択位置情報を出力する。【選択図】図１Ａ
2015133691.tif 000002
【特許請求の範囲】
【請求項１】
複数の画像を撮影するとともに、取得した前記複数の画像から３次元位置を算出し、前記複数の画像と前記３次元位置の情報とを出力する撮像装置であって、
少なくとも３つのカメラの各々を利用して撮影を行うことにより、前記複数の画像を生成し出力する撮像部であって、各カメラは、光軸が互いに平行であり、かつ、近接するように配置されている、撮像部と、
前記各カメラの物理的な配置に関する外部パラメタ、前記各カメラの特性に関する内部パラメタ、および、各カメラの画像において、他のカメラによって遮蔽された領域であるか否かの情報を含む遮蔽情報を含むカメラパラメタを、あらかじめ記憶するカメラパラメタ記憶部と、
前記複数の画像、および前記カメラパラメタを受け取り、前記複数の画像を利用した２つ以上の画像の組と前記カメラパラメタから複数点の３次元位置を算出する位置算出部と、
前記位置算出部で算出した前記複数点の位置情報、および前記カメラパラメタ記憶部が記憶する遮蔽情報を受け取り、前記複数点の位置情報から、遮蔽のない被写体領域の位置情報を選択して選択位置情報として出力する位置選択部と、
前記複数の画像および前記選択位置情報を受け取って、前記選択位置情報に基づいて、前記複数の画像の一つに存在する遮蔽領域を他の画像を用いて補完した補完画像を生成し、前記補完画像および前記選択位置情報を出力する画像補完部と
を有する、撮像装置。
【請求項２】
前記少なくとも３つのカメラの各視野角は、おおむね１８０度以上である、請求項１に記載の撮像装置。
【請求項３】
前記少なくとも３つのカメラのうちの隣り合う２つのカメラの光軸中心間の距離は、前記２つのカメラのレンズ直径の和より小さい、請求項１に記載の撮像装置。
【請求項４】
前記隣り合う２つのカメラの光軸中心間の距離は、２つのカメラのレンズ直径の平均とおおむね同じである、請求項３に記載の撮像装置。
【請求項５】
前記位置選択部は、前記遮蔽情報に基づいて、前記複数点の位置情報から、遮蔽されていない領域の位置情報を選択するとともに、選択した位置情報に対して、視差の大きさに基づいて重みづけ加算を行い、選択位置情報を生成する、請求項１に記載の撮像装置。
【請求項６】
前記位置選択部は、選択した位置情報に対して、視差の大きさに基づいて重みづけ加算を行い、視差の大きい位置情報の重みを大きくして前記選択位置情報を生成する、請求項５に記載の撮像装置。
【請求項７】
前記位置選択部は、選択した位置情報に対して、視差の大きさに基づいて重みづけ加算を行い、視差の半径方向成分と接線方向の成分に基づいて重みづけ加算を行って前記選択位置情報を生成する、請求項５に記載の撮像装置。
【請求項８】
前記位置選択部は、選択した位置情報に対して、視差の大きさに基づいて重みづけ加算を行い、視差の接線方向の接線方向の成分が大きく、半径方向の成分が小さいほど重みを大きくして前記選択位置情報を生成する、請求項７に記載の撮像装置。
【請求項９】
画像の撮像と３次元位置を取得する撮影空間が、平面にそった３次元空間である場合に、平面の法線とカメラの光軸は概ね平行になるように配置されている、請求項１に記載の撮像装置。
【請求項１０】
請求項１に記載の前記撮像装置と、
前記補完画像と前記選択位置情報とを受け取って、前記選択位置情報に基づいて障害物領域を検出し、検出した障害物領域を識別可能に表示した合成画像を生成する障害物検出部と、
前記合成画像を表示するディスプレイと
を有する、監視システム。
【請求項１１】
複数の画像から３次元位置を算出し、前記複数の画像と前記３次元位置を出力する画像処理装置であって、
前記複数の画像は、光軸が互いに平行であり、かつ、近接するように配置された少なくとも３つのカメラを利用して撮影されており、
前記各カメラの物理的な配置に関する外部パラメタ、前記各カメラの特性に関する内部パラメタ、および、各カメラの画像において、他のカメラによって遮蔽された領域であるか否かの情報を含む遮蔽情報を含むカメラパラメタを、あらかじめ記憶するカメラパラメタ記憶部と、
前記複数の画像、および前記カメラパラメタを受け取り、前記複数の画像を利用した２つ以上の画像の組と前記カメラパラメタから複数点の３次元位置を算出する位置算出部と、
前記位置算出部で算出した複数点の位置情報、およびカメラパラメタ記憶部から遮蔽情報を受け取り、前記複数点の位置情報から、遮蔽のない被写体領域の位置情報を選択して選択位置情報として出力する位置選択部と、
前記複数の画像および前記選択位置情報を受け取って、前記選択位置情報に基づいて、前記複数の画像の一つに存在する遮蔽領域を他の画像を用いて補完した補完画像を生成し、前記補完画像および前記選択位置情報を出力する画像補完部と
を有する、画像処理装置。
【請求項１２】
撮像装置を利用する撮像方法であって、
前記撮像装置は、複数の画像を撮影して、前記複数の画像から３次元位置を算出し、前記複数の画像と前記３次元位置の情報とを出力し、かつ、撮像部およびカメラパラメタ記憶部を備えており、
前記撮像部は、光軸が互いに平行であり、かつ、近接するように配置された少なくとも３つのカメラの各々を利用して撮影を行い、前記複数の画像を生成し出力し、
前記カメラパラメタ記憶部は、前記各カメラの物理的な配置に関する外部パラメタ、前記各カメラの特性に関する内部パラメタ、および、各カメラの画像において、他のカメラによって遮蔽された領域であるか否かの情報を含む遮蔽情報を含むカメラパラメタを記憶しており、
前記撮像方法は、
前記複数の画像を利用した２つ以上の画像の組と前記カメラパラメタから複数点の３次元に位置を算出するステップと、
前記複数点の位置情報および前記カメラパラメタを受け取り、前記複数点の位置情報から、遮蔽のない被写体領域の位置情報を選択して選択位置情報として出力するステップと、
前記選択位置情報に基づいて、前記複数の画像の一つに存在する遮蔽領域を他の画像を用いて補完した補完画像を生成するステップと、
前記補完画像および前記選択位置情報を出力するステップと
を包含する、撮像方法。
【請求項１３】
プロセッサを有する装置に画像処理を実行させるための画像処理プログラムであって、
前記画像処理プログラムは複数の画像から３次元位置を算出し、前記複数の画像と前記３次元位置を出力する画像処理装置のコンピュータによって実行され、
前記複数の画像は、光軸が互いに平行であり、かつ、近接するように配置された少なくとも３つのカメラを利用して撮影されており、
前記画像処理装置は、前記各カメラの物理的な配置に関する外部パラメタ、前記各カメラの特性に関する内部パラメタ、および、各カメラの画像において、他のカメラによって遮蔽された領域であるか否かの情報を含む遮蔽情報を含むカメラパラメタを、あらかじめ記憶しており、
前記画像処理プログラムは、前記コンピュータに、
前記複数の画像、および前記カメラパラメタを受け取るステップと、
前記複数の画像を利用した２つ以上の画像の組と前記カメラパラメタから複数点の３次元位置を算出するステップと、
前記複数点の位置情報および前記カメラパラメタを受け取り、前記複数点の位置情報から、遮蔽のない被写体領域の位置情報を選択して選択位置情報として出力するステップと、
前記選択位置情報に基づいて、前記複数の画像の一つに存在する遮蔽領域を他の画像を用いて補完した補完画像を生成するステップと、
前記補完画像および前記選択位置情報を出力するステップと
を実行させる、画像処理プログラム。
【請求項１４】
第１カメラ、第２カメラ、第３カメラを含む複数のカメラを含み、前記複数のカメラは各々画像データを出力し、前記複数のカメラの光軸は平行で、前記複数のカメラは近接して配置された撮像部と、
前記複数のカメラの位置情報、前記複数のカメラの焦点距離、前記複数の画像データの各画素が遮蔽領域に含まれるか否かを示す情報を含む遮蔽情報を含むカメラパラメタを取得するカメラパラメタ取得部と、前記遮蔽領域に含まれる画素は、前記撮像装置に含まれる部分を撮像した画素であり、
前記画像データ、前記カメラパラメタに基づいて複数の位置情報を生成する位置算出部と、前記複数の位置情報の各々は、３次元位置情報と画素ペア情報を含み、前記画素ペア情報で特定される２つの画素は対応点であり前記３次元位置情報は前記２つの画素の位置情報に基づいて決定され、
選択位置情報を生成する位置選択部と、
前記選択位置情報は、前記複数の位置情報から、所定の位置情報を選択して生成され、前記所定の位置情報の各々は所定の画素ペア情報を含み、前記所定の画素ペア情報で特定される画素はいずれも前記遮蔽領域に含まれない、
前記選択位置情報に含まれる画素ペア情報によって特定される選択された画素の画素値を使用して、前記第３のカメラで撮影された画像データに含まれ、かつ、遮蔽領域に含まれる対象画素の画素値を決定する画像補完部を含み、
前記選択された画素は前記第１のカメラまたは前記第２のカメラで撮影された画像データの画素であり、前記対象画素と前記選択された画素の1つは対応点に位置し、前記対象画素と前記選択された画素の1つが対応点に位置するか否かは、前記カメラパラメタと前記選択された画素に対応する３次元位置情報に基づいて決定される、撮像装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、広視野角の画像を撮影するとともに、視野内の３次元位置を取得する技術に関する。
【背景技術】
【０００２】
従来、魚眼レンズを備えた撮像装置を複数用いて、目標物を測位する方式が知られている（特許文献２を参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００１−２８５６９２号公報
【特許文献２】特開平６−１６７５６４号公報
【特許文献３】特開２００７−２４６４７号公報
【非特許文献】
【０００４】
【非特許文献１】C. Zach, T. Pock, and H. Bischof, "A duality based approach for realtime TV-L1 optical flow," In Proceedings of the 29th DAGM conference on Pattern recognition, pp214-223, 2007
【非特許文献２】M. Werlberger, T. Pock, H. Bischof, "Motion estimation with non-local total variation regularization," IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pp.2464-2471, 13-18 June 2010
【非特許文献３】松山隆司、ほか編，“コンピュータビジョン”、株式会社新技術コミュニケーションズ、ｐｐ１２３〜１３７．
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記従来の技術では、魚眼レンズを含むカメラを複数含む撮像装置において、複数のカメラに含まれる一のカメラで撮像した画像に、複数のカメラに含まれる他のカメラが映り込んだ領域が存在する場合がある。つまり一のカメラで撮像した画像に、他のカメラの後方にある物体などが遮蔽されて画像と３次元位置を取得できない。
【０００６】
本開示の、限定的でない、例示的なある実施の形態は、撮像装置に含まれるカメラを撮像した領域がない画像と、３次元位置とを取得することが可能な撮像装置を提供する。
【課題を解決するための手段】
【０００７】
本開示にかかる実施の形態のさらなる利点および効果は、明細書および図面から明らかになるであろう。それらの利点および／または効果は、種々の実施の形態および明細書および図面に開示された特徴によって個々に提供され得る。ただし、それらの１つまたは複数を得るために全てが提供される必要はない。ある一般的な局面では、本明細書および図面に開示された技術は以下のとおりである。すなわち、複数の画像を撮影するとともに、取得した前記複数の画像から３次元位置を算出し、前記複数の画像と前記３次元位置の情報とを出力する撮像装置であって、少なくとも３つのカメラの各々を利用して撮影を行うことにより、前記複数の画像を生成し出力する撮像部であって、各カメラは、光軸が互いに平行であり、かつ、近接するように配置されている、撮像部と、前記各カメラの物理的な配置に関する外部パラメタ、前記各カメラの特性に関する内部パラメタ、および、各カメラの画像において、他のカメラによって遮蔽された領域であるか否かの情報を含む遮蔽情報を含むカメラパラメタを、あらかじめ記憶するカメラパラメタ記憶部と、前記複数の画像、および前記カメラパラメタを受け取り、前記複数の画像を利用した２つ以上の画像の組と前記カメラパラメタから複数点の３次元位置を算出する位置算出部と、前記位置算出部で算出した前記複数点の位置情報、および前記カメラパラメタ記憶部が記憶する遮蔽情報を受け取り、前記複数点の位置情報から、遮蔽のない被写体領域の位置情報を選択して選択位置情報として出力する位置選択部と、前記複数の画像および前記選択位置情報を受け取って、前記選択位置情報に基づいて、前記複数の画像の一つに存在する遮蔽領域を他の画像を用いて補完した補完画像を生成し、前記補完画像および前記選択位置情報を出力する画像補完部とを有する撮像装置。
【０００８】
本開示の一般的かつ特定の態様は、システム、方法、集積回路、コンピュータプログラムまたは、ＣＤ−ＲＯＭのような記録媒体を用いて実装され、または、システム、方法、集積回路、コンピュータプログラムおよび上記記録媒体の組み合わせを用いて実現され得る。
【発明の効果】
【０００９】
本開示の一態様にかかる撮像装置によれば、撮像装置に含まれるカメラを撮像した領域がない画像と、３次元位置とを取得することができる。
【図面の簡単な説明】
【００１０】
【図１Ａ】実施の形態１における撮像装置の構成を示すブロック図である。
【図１Ｂ】実施の形態１における撮像装置の構成を示すブロック図である。
【図２】（ａ）および（ｂ）は、本開示の例示的な実施形態１の撮像部の構成を示す模式図である。
【図３】コンピュータによって構成した画像処理部を備えた撮像装置の構成を示すブロック図である。
【図４】実施の形態１の画像処理部の動作の手順を示すフローチャートである。
【図５】（ａ）は本開示の例示的な実施形態１における撮像装置の設置の例を示す模式図であり、（ｂ）は撮像状況の例を示す模式図である。
【図６】（ａ）および（ｂ）は、本開示の例示的な実施形態１における撮像画像の例を示す模式図である。
【図７】実施の形態１における各カメラ画像の遮蔽情報の例を示す模式図である。
【図８】実施の形態１における位置情報における遮蔽領域の例を示す模式図である。
【図９】（ａ）および（ｂ）は、本開示の例示的な実施形態１における補完画像と選択位置情報の例を示す模式図である。
【図１０】実施の形態１における移動物検出部から出力される合成画像の例を示す模式図である。
【図１１】実施の形態２の撮像装置の動作の手順を示すフローチャートである。
【図１２】（ａ）〜（ｄ）は、実施の形態１における遮蔽を考慮した４カメラの画像間の視差の例を示す模式図である。
【図１３】実施の形態１における画像中の位置による被写体像の形や大きさ、向きの違いの例を示す模式図である。
【図１４】（ａ）および（ｂ）は、従来の技術における撮像装置の構成例を示す模式図である。
【図１５】カメラ座標系およびカメラの外部パラメタを説明する模式図である。
【発明を実施するための形態】
【００１１】
（基礎となった知見）
自動車の安全運転支援システムや、移動ロボットの遠隔操作システム、あるいは不審者等を検出する監視カメラシステムなどにおいて、ユーザおよびシステムが判断や制御を行うためには、システムの周辺の画像と監視対象の３次元位置の情報が必要となる。特に人や車などの監視対象が移動する場合や、さらに自動車、ロボットなどのシステム自身が移動する場合、より広い視野角の画像と監視対象などの３次元位置とを取得することが重要である。
【００１２】
画像と監視対象などの３次元位置とを取得する手段としては、いわゆる２眼ステレオ視が一般的である。２眼ステレオ視では、２台のカメラを互いに異なる視点に視野が重複するように配置して２つの画像を取得し、２つの画像間の対応点を算出して、対応点とあらかじめ求めておいたカメラの位置や向きの情報を用いて、対応点の３次元位置を計算する。
【００１３】
２眼ステレオ視では、２台のカメラを結ぶ直線上、より正確に言えば２台のカメラの視点を結ぶ直線上、およびその直線近傍においては、３次元位置を計算できない。その理由は、２視点からの方向の差である視差が０または０に近くなるからである。特に、魚眼レンズなどを利用する、視野角が１８０度以上のカメラを用いる場合、視差が０になるために３次元位置を計算できない領域が視野内に必ず含まれる。そのため、広視野角の画像と３次元位置を取得する手法として、１８０度より狭い視野角のステレオ視を構成する複数のカメラを１組としてこれを複数組用いる方法や、１８０度以上の魚眼レンズを有するカメラを３台以上用いる方法が検討されてきた。
【００１４】
図１４（ａ）は、同一部材上に視野角が１８０度より狭い複数のカメラを設置し、これを１組のステレオカメラとして、多面体の各面に１組ずつ設置した構成の装置を示す。たとえば特許文献１はこの装置を開示する。当該装置を用いると、全方向（球状）の３次元位置を取得することができる。この技術は、各組のステレオカメラの視野角は、１８０度より十分狭いため、視差が０になるために３次元位置を計算できない領域が含まれない。しかしながら、３６０度の視野角（球状）の計測のために１２〜６０台と非常に多くのカメラが必要になる。
【００１５】
これに対し、特許文献２、３は、広範囲の画像と３次元位置をより少ないカメラで取得する方法を開示する。たとえば図１４（ｂ）は、特許文献２に開示された、視野角の広い魚眼レンズを有するカメラ群を用いた装置を示す。この技術は、魚眼レンズを有するカメラで、広視野角の魚眼画像を取得するとともに、各魚眼画像から移動物を検出して各移動物を通る直線方程式を算出し、各移動物について複数の直線方程式を１組とする直線方程式群を求める。これにより、３次元位置座標を決定し、視野内を高速に移動する物体を追尾すること、または、複数の目標物を同時に追尾する。
【００１６】
上記従来の技術では、魚眼レンズを含むカメラを複数含む撮像装置において、複数のカメラに含まれる一のカメラで撮像した画像に、複数のカメラに含まれる他のカメラが映り込んだ領域が存在する場合がある。つまり一のカメラで撮像した画像に、他のカメラの後方にある物体などが遮蔽されて画像と３次元位置を取得できない。
【００１７】
そこで、本開示の一態様である撮像装置は、複数の画像を撮影するとともに、取得した前記複数の画像から３次元位置を算出し、前記複数の画像と前記３次元位置の情報とを出力する撮像装置であって、少なくとも３つのカメラの各々を利用して撮影を行うことにより、前記複数の画像を生成し出力する撮像部であって、各カメラは、光軸が互いに平行であり、かつ、近接するように配置されている、撮像部と、前記各カメラの物理的な配置に関する外部パラメタ、前記各カメラの特性に関する内部パラメタ、および、各カメラの画像において、他のカメラによって遮蔽された領域であるか否かの情報を含む遮蔽情報を含むカメラパラメタを、あらかじめ記憶するカメラパラメタ記憶部と、前記複数の画像、および前記カメラパラメタを受け取り、前記複数の画像を利用した２つ以上の画像の組と前記カメラパラメタから複数点の３次元位置を算出する位置算出部と、前記位置算出部で算出した前記複数点の位置情報、および前記カメラパラメタ記憶部が記憶する遮蔽情報を受け取り、前記複数点の位置情報から、遮蔽のない被写体領域の位置情報を選択して選択位置情報として出力する位置選択部と、前記複数の画像および前記選択位置情報を受け取って、前記選択位置情報に基づいて、前記複数の画像の一つに存在する遮蔽領域を他の画像を用いて補完した補完画像を生成し、前記補完画像および前記選択位置情報を出力する画像補完部とを有している。
【００１８】
上記の構成によると、撮像装置に含まれるカメラを撮像した領域がない補完画像と、被写体の３次元位置とを取得できる。
【００１９】
また、前記少なくとも３つのカメラの各視野角は、たとえばおおむね１８０度以上であってもよい。
【００２０】
また、前記少なくとも３つのカメラのうちの隣り合う２つのカメラの光軸中心間の距離は、たとえば前記２つのカメラのレンズ直径の和より小さくてもよい。
【００２１】
また、前記隣り合う２つのカメラの光軸中心間の距離は、たとえば２つのカメラのレンズ直径の平均とおおむね同じであってもよい。
【００２２】
また、前記位置選択部は、前記遮蔽情報に基づいて、前記複数点の位置情報から、遮蔽されていない領域の位置情報を選択するとともに、選択した位置情報に対して、視差の大きさに基づいて重みづけ加算を行い、選択位置情報を生成してもよい。
【００２３】
また、前記位置選択部は、選択した位置情報に対して、視差の大きさに基づいて重みづけ加算を行い、視差の大きい位置情報の重みを大きくして前記選択位置情報を生成してもよい。
【００２４】
また、前記位置選択部は、選択した位置情報に対して、視差の大きさに基づいて重みづけ加算を行い、視差の半径方向成分と接線方向の成分に基づいて重みづけ加算を行って前記選択位置情報を生成してもよい。
【００２５】
また、前記位置選択部は、選択した位置情報に対して、視差の大きさに基づいて重みづけ加算を行い、視差の接線方向の接線方向の成分が大きく、半径方向の成分が小さいほど重みを大きくして前記選択位置情報を生成してもよい。
【００２６】
また、画像の撮像と３次元位置を取得する撮影空間が、平面にそった３次元空間である場合に、平面の法線とカメラの光軸は概ね平行になるように配置されてもよい。
【００２７】
本開示の他の一態様による監視システムは、上述の撮像装置と、前記補完画像と前記選択位置情報とを受け取って、前記選択位置情報に基づいて障害物領域を検出し、検出した障害物領域を識別可能に表示した合成画像を生成する障害物検出部と、前記合成画像を表示するディスプレイとを有している。
【００２８】
本発明のさらに他の一態様による画像処理装置は、複数の画像から３次元位置を算出し、前記複数の画像と前記３次元位置を出力する画像処理装置であって、前記複数の画像は、光軸が互いに平行であり、かつ、近接するように配置された少なくとも３つのカメラを利用して撮影されており、前記各カメラの物理的な配置に関する外部パラメタ、前記各カメラの特性に関する内部パラメタ、および、各カメラの画像において、他のカメラによって遮蔽された領域であるか否かの情報を含む遮蔽情報を含むカメラパラメタを、あらかじめ記憶するカメラパラメタ記憶部と、前記複数の画像、および前記カメラパラメタを受け取り、前記複数の画像を利用した２つ以上の画像の組と前記カメラパラメタから複数点の３次元位置を算出する位置算出部と、前記位置算出部で算出した複数点の位置情報、およびカメラパラメタ記憶部から遮蔽情報を受け取り、前記複数点の位置情報から、遮蔽のない被写体領域の位置情報を選択して選択位置情報として出力する位置選択部と、前記複数の画像および前記選択位置情報を受け取って、前記選択位置情報に基づいて、前記複数の画像の一つに存在する遮蔽領域を他の画像を用いて補完した補完画像を生成し、前記補完画像および前記選択位置情報を出力する画像補完部とを有している。
【００２９】
本開示のさらに他の一態様による方法は、撮像装置を利用する撮像方法であって、前記撮像装置は、複数の画像を撮影して、前記複数の画像から３次元位置を算出し、前記複数の画像と前記３次元位置の情報とを出力し、かつ、撮像部およびカメラパラメタ記憶部を備えており、前記撮像部は、光軸が互いに平行であり、かつ、近接するように配置された少なくとも３つのカメラの各々を利用して撮影を行い、前記複数の画像を生成し出力し、前記カメラパラメタ記憶部は、前記各カメラの物理的な配置に関する外部パラメタ、前記各カメラの特性に関する内部パラメタ、および、各カメラの画像において、他のカメラによって遮蔽された領域であるか否かの情報を含む遮蔽情報を含むカメラパラメタを記憶しており、前記撮像方法は、前記複数の画像を利用した２つ以上の画像の組と前記カメラパラメタから複数点の３次元に位置を算出するステップと、前記複数点の位置情報および前記カメラパラメタを受け取り、前記複数点の位置情報から、遮蔽のない被写体領域の位置情報を選択して選択位置情報として出力するステップと、前記選択位置情報に基づいて、前記複数の画像の一つに存在する遮蔽領域を他の画像を用いて補完した補完画像を生成するステップと、前記補完画像および前記選択位置情報を出力するステップとを包含する。
【００３０】
本開示のさらに他の一態様は、プロセッサを有する装置に画像処理を実行させるための画像処理プログラム、またはその画像処理プログラムを格納した、コンピュータが読み取り可能な、一時的ではない記録媒体である。前記画像処理プログラムは複数の画像から３次元位置を算出し、前記複数の画像と前記３次元位置を出力する画像処理装置のコンピュータによって実行され、前記複数の画像は、光軸が互いに平行であり、かつ、近接するように配置された少なくとも３つのカメラを利用して撮影されており、前記画像処理装置は、前記各カメラの物理的な配置に関する外部パラメタ、前記各カメラの特性に関する内部パラメタ、および、各カメラの画像において、他のカメラによって遮蔽された領域であるか否かの情報を含む遮蔽情報を含むカメラパラメタを、あらかじめ記憶しており、前記画像処理プログラムは、前記コンピュータに、前記複数の画像、および前記カメラパラメタを受け取るステップと、前記複数の画像を利用した２つ以上の画像の組と前記カメラパラメタから複数点の３次元位置を算出するステップと、前記複数点の位置情報および前記カメラパラメタを受け取り、前記複数点の位置情報から、遮蔽のない被写体領域の位置情報を選択して選択位置情報として出力するステップと、前記選択位置情報に基づいて、前記複数の画像の一つに存在する遮蔽領域を他の画像を用いて補完した補完画像を生成するステップと、前記補完画像および前記選択位置情報を出力するステップとを実行させる。
【００３１】
本開示の別の一態様である撮像装置は、第１カメラ、第２カメラ、第３カメラを含む複数のカメラを含み、前記複数のカメラは各々画像データを出力し、前記複数のカメラの光軸は平行で、前記複数のカメラは近接して配置された撮像部と、前記複数のカメラの位置情報、前記複数のカメラの焦点距離、前記複数の画像データの各画素が遮蔽領域に含まれるか否かを示す情報を含む遮蔽情報を含むカメラパラメタを取得するカメラパラメタ取得部と、前記遮蔽領域に含まれる画素は、前記撮像装置に含まれる部分を撮像した画素であり、前記画像データ、前記カメラパラメタに基づいて複数の位置情報を生成する位置算出部と、前記複数の位置情報の各々は、３次元位置情報と画素ペア情報を含み、前記画素ペア情報で特定される２つの画素は対応点であり前記３次元位置情報は前記２つの画素の位置情報に基づいて決定され、選択位置情報を生成する位置選択部と、前記選択位置情報は、前記複数の位置情報から、所定の位置情報を選択して生成され、前記所定の位置情報の各々は所定の画素ペア情報を含み、前記所定の画素ペア情報で特定される画素はいずれも前記遮蔽領域に含まれない、前記選択位置情報に含まれる画素ペア情報によって特定される選択された画素の画素値を使用して、前記第３のカメラで撮影された画像データに含まれ、かつ、遮蔽領域に含まれる対象画素の画素値を決定する画像補完部を含み、前記選択された画素は前記第１のカメラまたは前記第２のカメラで撮影された画像データの画素であり、前記対象画素と前記選択された画素の1つは対応点に位置し、前記対象画素と前記選択された画素の1つが対応点に位置するか否かは、前記カメラパラメタと前記選択された画素に対応する３次元位置情報に基づいて決定される。
【００３２】
以下、添付の図面を参照しながら、本開示による撮像装置の実施形態を説明する。なお、本明細書では、本開示にかかる撮像装置によって撮影された被写体の３次元位置を、単に「３次元位置」と記述する。ここでいう「被写体」とは、たとえば撮像装置が監視に用いられる場合には監視する対象を示し、一般の撮影に用いられる場合には意図された撮影対象を示し、障害物検知に用いられる場合には撮影された画像内に存在する１または複数の物体（障害物）を示す。ただし、本明細書では、撮影された画像に存在する全ての要素を「被写体」と呼ぶことがある。「被写体」は、意図的に撮影されたか、意図せず撮影されたかは問わない。
【００３３】
以下に開示される実施の形態は、本開示の特定のまたは一般的な例示である。数値、形状、材料、構成要素や、構成要素の位置や接続関係、ステップ、および実施の形態において示されたステップの順序は一例であり、本開示を限定しない。実施の形態における構成要素のうち、本開示の最も包括的な概念が記載された独立請求項に記載されていないものについては、任意の構成要素として開示されていると理解されたい。
【００３４】
（実施の形態１）
本実施の形態では、本開示の撮像装置を、車載用の障害物検知に用いた例を説明する。
【００３５】
図１Ａは、本実施形態における撮像装置１の構成を示し、図２（ａ）および（ｂ）はそのうちの撮像部１００の異なる２つの構造例を示す。
【００３６】
図１Ａに示されるように、撮像装置１は、撮像部１００、画像処理部１１０、障害物検出部１２０、ディスプレイ１３０を備える。
【００３７】
撮像部１００は、それぞれ魚眼レンズを有する３台以上のカメラ１０１ａ〜１０１ｄを備えている。画像処理部１１０は、位置算出部１１１、位置選択部１１２、画像補完部１１３、カメラパラメタ記憶部１１４を備える。なお、４つのカメラを区別するために添え字ａ〜ｄを用いるが、以下では、これらを特に区別しない場合には、添え字を利用せず「カメラ１０１」と記述する。
【００３８】
図２（ａ）および（ｂ）は、撮像装置１の撮像部の構成例を示す。図２（ａ）は、４台のカメラ１０１を一体として固定した構成の撮像部の例であり、正面図、側面図、断面図を示している。図２（ｂ）は、３台のカメラ１０１を一体として固定した構成の別の撮像部の例であり、正面図、側面図を示している。いずれの撮像部の例でも、各カメラのレンズは魚眼レンズであり、その直径は概ね同じであり、光軸中心は互いに平行、かつ、隣り合う２つのレンズが近接して、配置されているものとする。したがってこれらの例では、隣接する２つのカメラの光軸中心間の距離は、レンズの直径に概ね一致する。
【００３９】
なお、上述の撮像装置１は、少なくとも撮像部１００および画像処理部１１０を含んでいればよい。障害物検出部１２０およびディスプレイ１３０は、撮像装置１の外部に設けられた機器、たとえばＰＣとそのディスプレイ、であってもよい。画像処理部１１０と障害物検出部１２０とは、有線で接続されていてもよいし、無線で接続されていてもよい。また、これらは１対１で接続されていてもよいし、通信ネットワークを介して接続されていてもよい。
【００４０】
上述した撮像部１００におけるカメラ１０１の構成は、本願発明者らの以下の知見に基づいている。
【００４１】
ステレオ視における、３次元位置の推定誤差の原因の１つとして、視差推定における量子化誤差がある。量子化誤差とは、実際には実数値である視差を、１画素精度で推定することにより生じる誤差である。この量子化誤差の大きさは一定と考えることができるため、視差が大きいほど（視差ベクトルの長さが長いほど）、量子化誤差の影響は低くなり、３次元位置の精度は高くなる。そのため、ステレオ視の組となる複数のカメラは、視差が大きくなるよう、カメラ間の距離である基線長を十分な長さになるように配置するのが一般的である。
【００４２】
一方、魚眼レンズを有するカメラで撮影した被写体像は、大きく歪むため、視野内での被写体の３次元位置によって、言い換えると、画像中の被写体の位置によって、被写体像の形や大きさ、向きが異なる。
【００４３】
魚眼レンズを有する２つのカメラで撮影した画像をステレオ視に用いる場合、視差が大きいほど、被写体像の形や大きさ、向きが、異なる。そのため、２画像間の被写体位置の対応付け、すなわち視差の推定が困難になり、推定した視差の誤差や誤りが多くなる、という別の課題がある。
【００４４】
このような例として、図１３は被写体とカメラとの距離を一定（１ｍ）とした状態で、カメラの向きを０度、４５度、９０度に変更して撮影した被写体像の例を示す。図１３によれば、画像中の位置の違いにより、被写体像の見え方（形、大きさ、向き）が違っていることが分かる。これは、魚眼レンズによる歪み方が光軸中心からの角度によって異なるためである。最上段の０度の画像と最下段の９０度の画像の間では、被写体位置の対応付けが困難であることが類推できる。このような２画像中の被写体像の形や大きさ、向きの違いは、カメラ間の基線長が長いほど、または、被写体と撮像装置との距離が近いほど顕著になる。そのため、特に被写体と撮像装置との距離を一定以上に保てない場合、基線長を短くとることでこの影響を低減することができる。
【００４５】
そこで本実施の形態では、被写体が撮像装置１の近くにある場合であっても、複数の魚眼カメラ間の視差が大きくなり過ぎないようにするために、複数の魚眼レンズを有するカメラを、光軸が互いに平行になるように、かつ、近接して配置した構成の撮像部を用いる（図２（ａ）または図２（ｂ））。これにより、推定した視差の誤差や誤りを低減できるという効果が期待できる。さらに、実数精度の視差推定手法を用いることで、視差推定における量子化誤差の課題を低減するという効果も期待できる。
【００４６】
しかしながら、視野角が１８０度ある魚眼レンズを有する複数のカメラ、例えば、第１カメラと第２カメラを、近接して配置すると、第１カメラのレンズや本体が、第２カメラで撮像した画像に映り込む。つまり、第１カメラの後方の被写体は、第１カメラのレンズや本体で遮蔽されるので、第２カメラで撮像した画像に含まれないという別の課題が発生する。例えば、従来の魚眼カメラを３台以上用いる撮像装置（図１４（ｂ））では、２カメラ間の基線長が長いため、他のカメラのレンズや本体が映り込む場合であっても、その領域が視野内に占める割合は小さい。これに対し、図２（ａ）または図２（ｂ）のようにカメラを近接させると、レンズによって遮蔽され、画像を取得できない領域が広くなる。さらに、３次元位置の算出には２つの画像を用いるため、２画像のいずれか一方が遮蔽領域であると３次元位置を算出できない。その結果、３次元位置を算出できない領域は、２画像の遮蔽領域の和に相当する領域まで広くなる。
【００４７】
そこで、本願発明者らは、魚眼レンズを有するカメラで撮像したある画像における遮蔽領域を、他の遮蔽されていない画像で補うとともに、３次元位置についても遮蔽されてない２つの画像から算出する技術を完成させるに至った。これにより、遮蔽のない画像と３次元位置を取得することができる。なお、画像中の遮蔽領域の情報は、複数のレンズの物理的な配置関係、各レンズの仕様に基づいて、事前に取得しておくことができる。
【００４８】
なお、本明細書では、魚眼レンズの視野角は、概ね１８０度、またはそれ以上であるとしており、これらを「概ね１８０度以上」と記述している。概ね１８０度は、１８０度以下の角度、たとえば１６０度から１８０度の角度を含む。また、１８０度以上とは、たとえば１８０度以上２３０度以下の角度を含む。
【００４９】
「視差」とは、２地点での観測地点の位置の違いにより、対象点が見える方向が異なることであり、本明細書においては、３次元空間での方向の差と２次元投影像での位置の差とを、区別せず視差と呼ぶ。
【００５０】
撮像装置１は、撮像部１００で視野の画像を撮影し、画像処理部１１０で撮影した画像から遮蔽領域を補った画像と３次元位置を生成し、障害物検出部１２０は、視野内の画像と３次元位置とに基づいて合成画像を生成し、ディスプレイ１３０に表示する。
【００５１】
撮像部１００は、視野角が概ね１８０度の魚眼レンズを有する４台のカメラ１０１ａ〜１０１ｄを含む。４台のカメラ１０１ａ〜１０１ｄは、図２（ａ）のように配置される。４台のカメラ１０１ａ〜１０１ｄの各々は視野内の画像を撮影して画像を出力する（以降、この画像をカメラ画像と呼ぶ）。すなわち、４台のカメラ１０１ａ〜１０１ｄは４つのカメラ画像（画像データ）を出力する。  隣り合う２つのカメラの光軸中心間の距離は、２つのカメラのレンズ直径の和より小さいようにしてもよい。２つのカメラの光軸中心間の距離が近いほど、また、レンズの直径が大きいほど、一方のカメラ画像に他方のカメラのレンズがより広く映り、他方のカメラの後方にある物体などがより広く遮蔽される。２つのカメラの光軸中心間の距離が、２つのカメラのレンズ直径の和より小さい場合、遮蔽される領域が広く顕著になるのに対し、本願発明では、他のカメラによる遮蔽の無い画像と３次元位置を取得することができる。
【００５２】
隣り合う２つのカメラの光軸中心間の距離は、２つのカメラのレンズ直径の平均とおおむね同じであるとしてもよい。２つのカメラの光軸中心間の距離が近いほど、一方のカメラ画像に他方のカメラがより広く映り、他方のカメラの後方にある物体などが遮蔽される。最もカメラを近づけた場合、すなわち、２つのカメラのレンズが接した場合、２つのカメラの光軸中心間の距離は２つのカメラのレンズ直径の平均と概ね同じになり、この時、従来技術では他のカメラに遮蔽されて画像と３次元位置を取得できない領域が最大になる。一方、２つのカメラの光軸中心間の距離は２つのカメラのレンズ直径の平均と概ね同じであっても、本願発明では、他のカメラによる遮蔽の無い画像と３次元位置を取得することができる。言い換えると、２つのカメラの光軸中心間の距離が２つのカメラのレンズ直径の平均と概ね同じとき、本願発明の効果が最も高くなる。
【００５３】
画像処理部１１０は、位置算出部１１１、位置選択部１１２、画像補完部１１３、カメラパラメタ記憶部１１４を含む。
【００５４】
カメラパラメタ記憶部１１４は、４台のカメラ１０１の各々についてカメラパラメタを予め記憶する。
【００５５】
カメラパラメタは外部パラメタ、内部パラメタ、遮蔽情報を含む。
【００５６】
外部パラメタはカメラの位置や向きなどの、カメラの物理的な配置に関する情報を含む。
【００５７】
内部パラメタはレンズの歪や焦点距離などの、カメラの特性に関する情報を含む。
【００５８】
遮蔽情報はカメラ画像における本撮像装置によって遮蔽された領域を示す情報を含む。遮蔽情報は本撮像装置に含まれる部分を撮像した画素値を出力する画素を特定する情報であってもよい。
【００５９】
位置算出部１１１は、４台のカメラ１０１から出力された４つのカメラ画像（画像データ）を入力して、４つカメラ画像のうちの２つのカメラ画像を１組として、６組の２カメラ画像間の視差を推定する。
【００６０】
位置算出部１１１は、カメラパラメタ記憶部１１４から４台のカメラ１０１のカメラパラメタを読み出す。
【００６１】
位置算出部１１１は、推定した６組の２カメラ画像間の視差と、カメラパラメタに含まれる外部パラメタと内部パラメタに基づいて、３次元位置を算出し、位置情報として出力する。
【００６２】
位置算出部１１１はカメラパラメタに基づいて複数の位置情報を生成し、複数の位置情報の各々は３次元位置情報と画素ペア情報を含み、画素ペア情報で特定される２つの画素は対応点に位置し、３次元位置情報は２つの画素の位置情報に基づいて決定され、２つの画素はそれぞれ異なるカメラに含まれるとしてもよい。
【００６３】
位置選択部１１２は、位置算出部１１１が出力した位置情報を得て、カメラパラメタ記憶部１１４からカメラパラメタを読み出す。
【００６４】
位置選択部１１２は、カメラパラメタに含まれる遮蔽情報に基づいて、遮蔽領域に含まれない位置情報の少なくとも一部を選択して選択位置情報として出力する。
【００６５】
位置選択部１１２は選択位置情報を生成し、選択位置情報は、複数の位置情報から、所定の位置情報を除外して生成され、所定の位置情報の各々は所定の画素ペア情報を含み、所定の画素ペア情報で特定される画素の少なくも一方は遮断領域に含まれるとしてもよい。
【００６６】
画像補完部１１３は、カメラ画像と、位置選択部１１２から出力された選択位置情報とを得る。
【００６７】
画像補完部１１３は、少なくとも１つのカメラ画像の遮蔽領域を、他のカメラ画像の非遮蔽領域と選択位置情報に基づいて、遮蔽領域の画像を置き換えて遮蔽領域のない補完画像を生成し、補完画像と選択位置情報を出力する。
【００６８】
画像補完部１１３は選択位置情報に含まれる画素ペア情報によって特定される選択された画素の画素値を使用して、遮蔽領域に含まれ、画素ペア情報によって特定される画素が含まれないカメラに含まれる対象画素の画素値を決定し、対象画素と選択された画素の1つは対応点に位置し、対象画素と選択された画素の1つが対応点に位置するか否かは、カメラパラメタと選択された画素に対応する３次元位置情報に基づいて決定されるとしてもよい。
【００６９】
障害物検出部１２０は、補完画像と選択位置情報を得て、選択位置情報に基づいて障害物を検出し、検出した障害物の位置に対応する補完画像上の領域に、注視領域を示す枠を重畳合成して合成画像として出力する。
【００７０】
ディスプレイ１３０は、合成画像を得て、表示する。
【００７１】
図１Ａの画像処理部１１０、および、障害物検出部１２０を構成する各構成要素は、電子回路または集積回路等のハードウェアで実現されてもよいし、コンピュータ上で実行されるプログラム等のソフトウェアで実現されてもよい。
【００７２】
なお、図１Ｂに示すように、画像処理部１１０は、位置算出部１１１、位置選択部１１２、画像補完部１１３、カメラパラメタ記憶部１１４、カメラパメタ取得部１１５を含んでもよい。
【００７３】
なお、画像処理部１１０はカメラパラメタ記憶部１１４を含まず、例えば、外部の装置（クラウドサーバなど）がカメラパラメタ記憶部１１４を含んでもよい。
【００７４】
この場合、カメラパラメタ記憶部１１４が無線や有線の通信手段で、カメラパメタ取得部１１５と接続されおり、カメラパメタ取得部１１５がカメラパラメタ記憶部１１４に記憶された情報、例えばカメラパラメタを取得してもよい。
【００７５】
カメラパラメタ取得部１１５が、カメラパラメタ記憶部１１４から、複数のカメラの位置情報、複数のカメラの焦点距離、複数のカメラのどの画素が遮蔽領域に含まれるかを示す情報を含む遮蔽情報を含むカメラパラメタを取得してもよい。
【００７６】
位置算出部１１１、位置選択部１１２は、画像補完部１１３は、カメラパメタ取得部１１５を介して、カメラパラメタ記憶部１１４と情報をやりとり（例えば、カメラ記憶部１１４された情報を読み出す）してもよい。
【００７７】
位置算出部１１１は、カメラパメタ取得部１１５を介して、カメラパラメタ記憶部１１４から４台のカメラ１０１のカメラパラメタを読み出してもよい。
【００７８】
位置選択部１１２は、位置算出部１１１が出力した位置情報を得て、カメラパメタ取得部１１５を介して、カメラパラメタ記憶部１１４からカメラパラメタを読み出してもよい。
【００７９】
図３は、コンピュータによって構成された本実施の形態における撮像装置１のハードウェア構成を示す図である。図３において、撮像部１００は視野内の画像を撮影して出力し、コンピュータ３００は画像を取得して、補完画像と選択位置情報を算出して出力する。ディスプレイ１３０はコンピュータ３００で生成された合成画像を表示する。
【００８０】
３台以上のカメラ１０１ａ、１０１ｂ、１０１ｃ・・・は撮像部１００に対応する。
【００８１】
コンピュータ３００は、ＣＰＵ３０１、ＲＯＭ３０２、ＲＡＭ３０３、ＨＤＤ３０４、ビデオ入力インタフェース（Ｉ／Ｆ）３０５およびビデオカード３０６を含む。コンピュータ３００を動作させるプログラムは、ＲＯＭ３０２またはＨＤＤ３０４にあらかじめ保持されている。プログラムは、プロセッサであるＣＰＵ３０１によって、ＲＯＭ３０２またはＨＤＤ３０４からＲＡＭ３０３に読み出されて展開される。ＣＰＵ３０１はＲＡＭ３０３に展開されたプログラム中のコード化された各命令を実行する。ビデオ入力Ｉ／Ｆ３０５は、プログラムの実行に応じて、撮像部１００で撮影された画像を、ＲＡＭ３０３へ取り込む。ビデオカード３０６は、プログラムの実行に応じて生成された画像を出力し、ディスプレイ１３０がその画像を表示する。コンピュータ３００は画像処理部１１０および障害物検出部１２０に対応する。カメラパラメタ記憶部１１４は、ＲＯＭ３０２、ＲＡＭ３０３またはＨＤＤ３０４に対応する。
【００８２】
なお、コンピュータプログラムは、半導体であるＲＯＭ３０２またはＨＤＤ３０４に限られず、例えばＣＤ―ＲＯＭに格納されていてもよい。また、有線や無線のネットワーク、放送などを介して伝送され、コンピュータ３００のＲＡＭ３０３に取り込まれてもよい。
【００８３】
以下、本実施の形態における撮像装置１の動作を、図４を用いて説明する。
【００８４】
図４は、撮像装置１の画像処理部１１０および障害物検出部１２０の動作を表すフローチャートである。図４において、４つのステップＳ４０１〜Ｓ４０５は、図３のコンピュータ３００で実行される。
【００８５】
なお、図４の各ステップは、図１Ａの画像処理部１１０および障害物検出部１２０に含まれる各処理部で実行してもよい。すなわち、カメラパラメタ記憶部１１４、カメラパメタ取得部１１５ではカメラパラメタ読み出しステップＳ４０１、位置算出部１１１では位置算出ステップＳ４０２、位置選択部１１２では位置選択ステップＳ４０３、画像補間部１１３で画像補間ステップＳ４０４、障害物検出部１２０では障害物検出ステップＳ４０５の各動作を実行してもよい。
【００８６】
本実施の形態では、撮像装置１が自動車に設置される例を説明する。撮像装置１は、自動車の後方の画像と３次元位置を取得して障害物を検出し、その結果を自動車内に設置したディスプレイに表示することで、利用者であるドライバに車両後方の状況を提示する。
【００８７】
図５（ａ）は、本実施の形態における撮像装置の設置の例を示す図である。撮像部１００は、カメラ１０１の光軸が概ね車両が後方に直進する方向に一致するよう車体後部に設置される。画像処理部１１０、障害物検出部１２０、ディスプレイ１３０はドライバから見える車室内設置される。
【００８８】
撮像部１００の４台のカメラ１０１ａ〜１０１ｄは、互いに同期して一定時間間隔で、画像を撮像して出力する。
【００８９】
図６（ａ）は、撮像部１００の４台のカメラ１０１ａ〜１０１ｄの配置の例を示す図である。図６（ｂ）は、図５（ａ）の撮像装置の設置状況、および（ｂ）の撮影状況において、４台のカメラ１０１ａ〜１０１ｄで撮影される画像の例を示している。画像の左右両端に接する円の内側が、視野角１８０度の視野内の被写体を表している。本実施の形態において、カメラ１０１は、それぞれ魚眼レンズを有し、その投影モデルは等距離射影モデルであるとする。また、カメラ１０１、および、ビデオ入力Ｉ／Ｆ３０５は、横１２８０画素、縦９６０画素のカラー画像を、それぞれ撮影、取得できるものとする。なお、カメラの投影モデルや画素数を限定するものではなく、他の投影モデルや画素数でも良い。前述したように、本開示では、画像間での被写体像の形や大きさ、向きの違いによる視差推定の誤差や誤りを低減するため、複数のカメラを近接して配置する。本実施の形態では、最短の基線長（図２（ａ））を０．０１５ｍとした。このように構成した撮像部１００で撮影された４つのカメラ画像の例を図６（ｂ）に示す。図中の４つの画像中の被写体は、その形や大きさ、向きは、概ね同じであることがわかる。その一方で、カメラを近接して配置したため、全ての画像において、視野の端に隣接するカメラのレンズが映り込み、その後方の被写体が遮蔽されていることがわかる（図６（ｂ）中の「隣接するカメラのレンズによる遮蔽」の部分）。
【００９０】
コンピュータ３００では、撮像部１００の動作と並行して、あらかじめ定められたプログラムを実行することで、図４のＳ４０１〜Ｓ４０５の動作を行う。
【００９１】
以降、コンピュータ３００で実行されるステップＳ４０１〜Ｓ４０５の詳細な動作を、図６〜図１１を用いて説明する。
【００９２】
カメラパラメタ読み出しステップＳ４０１では、予め記憶された各カメラ１０１ａ〜１０１ｄの内部パラメタ、外部パラメタ、および、遮蔽情報を含むカメラパラメタを読み出す。
【００９３】
ステップＳ４０１はカメラパラメタ取得部１１５が実行してもよい。
【００９４】
カメラの外部パラメタ｛Ｍｑ，ｒ｝と３次元座標との関係、および、カメラの内部パラメタ（ｆ，ｋ）と３次元座標と画素座標との関係を数１、数２に示す。
【数１】
2015133691.tif 000003
【数２】
2015133691.tif 000004
【００９５】
外部パラメタ｛Ｍｑ，ｒ｝は、２つのカメラｑ、ｒの各座標系の位置関係を表す行列の集まりであり、行列Ｍｑ，ｒは、カメラｑの座標系の３次元位置（ｘｑ，ｙｑ，ｚｑ）をカメラｒの座標系の３次位置（ｘｒ，ｙｒ，ｚｒ）に変換する４×４の行列を表している。内部パラメタのｆは焦点距離、ｋは撮像素子上で画素サイズである。（数２）は、カメラ座標系の３次元位置（ｘ，ｙ，ｚ）を画素座標（ｕ，ｖ）との関係を表している。これら外部パラメタ｛Ｍｑ，ｒ｝や内部パラメタ（ｆ，ｋ）は、一般的にカメラ校正方法と呼ばれる広く知られた手法によってあらかじめ求めておく。なお、（数２）は、レンズの投影モデルが等距離射影の場合の内部パラメタを用いたが、投影モデルを限定するものではなく、立体射影や等立体角射影などの他の投影モデルであってもよい。
【００９６】
４台のカメラ１０１ａ〜１０１ｄの遮蔽情報の例を、図７に示す。遮蔽情報とは、カメラ画像において、レンズやカメラ本体が映り込み、その後方の被写体を遮蔽している領域を示す情報である。本実施の形態では、遮蔽情報は、カメラ画像の各画素が、「被写体領域」、「遮蔽領域」、「視野外領域」の３つのいずれであるかを表す。例えば、カメラ画像Ｉの画素座標（ｕ，ｖ）の遮蔽情報をＯ（ｕ，ｖ）のように表す。図７は、各画素の３つの状態を、被写体領域は白色、遮蔽領域は斜線、視野外領域は黒色で、それぞれ表した図である。この遮蔽情報は、事前にカメラ１０１で画像を撮影して、各画素がどの領域に属するかを、人手で判定することで作成することができる。本実施の形態では撮像装置は、図６（ｂ）の遮蔽領域を含むカメラ画像から、遮蔽領域のない画像と３次元位置を算出する。
【００９７】
次に、位置算出ステップＳ４０２では、撮影部１００のカメラ１０１ａ〜１０１ｄで撮影された複数のカメラ画像（画像データ）を得る。そして、入力した複数のカメラ画像のうちの２つ以上のカメラ画像を１組として、複数組の画像カメラ組を構成する。最後に、各画像カメラ組において、カメラパラメタ読み出しステップＳ４０１で読み出したカメラパラメタを用いて、ステレオ視によりカメラ画像中の複数点の３次元位置を算出する。
【００９８】
以下、位置算出ステップＳ４０２の詳細な動作を説明する。カメラ１０１ａ、１０１ｂ、１０１ｃ、１０１ｄで撮影した４つのカメラ画像を、それぞれＩａ、Ｉｂ、Ｉｃ，Ｉｄとすると、ここから２つのカメラ画像からなる６組の画像（Ｉａ，Ｉｂ）、（Ｉａ，Ｉｃ）、（Ｉａ，Ｉｄ）、（Ｉｂ，Ｉｃ）、（Ｉｂ，Ｉｄ）、（Ｉｃ，Ｉｄ）に対して、それぞれ２画像間の対応点を複数点検出する。２画像間の対応点とは、一方の画像に映っている被写体上の点が、もう一方の画像にも映っている場合に、２つの画像上の点のことである。例えば、カメラ画像の組が（Ｉａ，Ｉｂ）の場合、カメラ画像Ｉａ上の全ての画素について、その画素座標（ｕａｎ，ｖａｎ）に対応する、カメラ画像Ｉｂ上の対応点の画素座標（ｕｂｎ，ｖｂｎ）を検出する。画像Ｉａの画素座標（ｕａｎ，ｖａｎ）と、画像Ｉｂの画素座標（ｕｂｎ，ｖｂｎ）が対応点である場合、２点の画素値ｉａ（ｕａｎ，ｖａｎ）とｉｂ（ｕｂｎ，ｖｂｎ）が等しい。これを輝度拘束と呼ぶ。また、ある１つの被写体は、画像中の複数の隣接する画素を占めることから、画像Ｉａの画素座標（ｕａｎ，ｖａｎ）に隣接する画素の対応点は、画像Ｉｂの画素座標（ｕｂｎ，ｖｂｎ）の近くにある可能性が高い。これを滑らかさ拘束と呼ぶ。カメラ画像（Ｉａ，Ｉｂ）間の対応点は、上述した輝度拘束と滑らかさ拘束の２つの条件を最もよく満たす（ｕａｎ，ｖａｎ）、（ｕｂｎ，ｖｂｎ）の組の集まりを推定することで、得ることができる。
【００９９】
２カメラ画像間の対応する画素座標を実数精度で算出する対応点探索手法や動き推定手法は、非特許文献１もしくは非特許文献２などに詳しく記載されているため、ここでは詳細な説明を省略する。
【０１００】
カメラ画像Ｉａ上の画素座標と、このカメラ画像Ｉａ上の画素座標に対応するカメラ画像Ｉｂ上の画素座標の組み合わせ情報を画素ペア情報と呼んでもよい。
【０１０１】
次に、各対応点について、対応点の座標（ｕａｎ，ｖａｎ）−（ｕｂｎ，ｖｂｎ）と、あらかじめ求めたおいたカメラ１０１ａ、１０１ｂの外部パラメタＭｂ，ａと内部パラメタｆａ，ｋａ, ｆｂ，ｋｂを用いて、（数３）の連立方程式を解くことで、対応点の３次元位置（ｘａｎ、ｙａｎ、ｚａｎ）を算出する。３次元位置は、カメラ１０１ａの視点座標系の座標値とする。
【数３】
2015133691.tif 000005
【０１０２】
２カメラ画像間の対応点と２つのカメラ位置から３次元位置を算出する２眼ステレオ手法や、２つの３次元座標系間での座標値の変換は、非特許文献３などに詳しく記載されているため、ここでは詳細な説明を省略する。
【０１０３】
さらに、他の５組のカメラ画像組に対しても同様に３次元位置の算出を行う。              
【０１０４】
以上の位置算出ステップＳ４０２の詳細な動作により、６組のカメラ画像について、それぞれ２カメラ画像間の対応点とその３次元位置を複数算出し、これらを位置情報として出力する。２つのカメラ画像をＩｑ，Ｉｒ（ｑとｒ）、２つのカメラ画像Ｉｑ、Ｉｒ間のＮｑ個の対応点の位置情報ｐｑ，ｒ，ｎの集まりであるＰｑ，ｒを（数４）で表す。また、全ての画像組の位置情報を｛Ｐｑ，ｒ｝と表す。
【数４】
2015133691.tif 000006
【０１０５】
位置情報は２つの画素を特定する画素ペア情報（画素座標と対応する画素座標）と、画素ペア情報で特定された画素のペアに対応する３次元位置を含む情報としてもよい。
【０１０６】
次に、位置選択ステップＳ４０３では、カメラパラメタ読み出しステップＳ４０１で読み出した遮蔽情報と、位置算出ステップＳ４０２で算出した複数組の位置情報｛Ｐｑ，ｒ｝を入力し、全対応点の位置情報のうち、被写体領域の位置情報を選択して、選択位置情報｛Ｐ‘ｑ，ｒ｝として出力する。
【０１０７】
具体的には、位置情報｛Ｐｑ，ｒ｝を構成する全ての対応点の位置情報ｐｑ，ｒ，ｎに対して、以下の選択処理を繰り返す。
【０１０８】
２つの画像Ｉａ、Ｉｂの組のある対応点の位置情報ｐａ，ｂ，ｎから、画像Ｉａの座標値（ｕａｎ，ｖａｎ）と、画像Ｉｂの座標値（ｕｂｎ，ｖｂｎ）を読み出す。そして、カメラ画像Ｉａの遮蔽情報Ｏａと、カメラ画像Ｉｂの遮蔽情報Ｏｂから、この対応点の２画像上で点の遮蔽情報Ｏａ（ｕａｎ，ｖａｎ）と、Ｏｂ（ｕｂｎ，ｖｂｎ）を読み出す。これら２つの遮蔽情報がともに「被写体領域」の場合、この対応点は、この位置情報ｐａ，ｂ，ｎを選択して選択位置情報とする。一方、２つの遮蔽情報に「遮蔽領域」もしくは「視野外領域」が含まれる場合、この対応点は選択しない。
【０１０９】
この選択操作を、位置情報｛Ｐｑ，ｒ｝の全対応点に繰り返し、全てのカメラ画像組の選択位置情報｛Ｐ‘ｑ，ｒ｝を生成して出力する。
【０１１０】
位置情報｛Ｐｑ，ｒ｝と遮蔽情報との関係を示した概念図を図８に示す。６つの図は、６組のカメラ画像組から算出した位置情報と遮蔽情報との関係を、それぞれ示している。例えば、「カメラａ−ｂ」の図は、カメラａとカメラｂの２カメラ画像の組から算出した位置情報Ｐａ，ｂを基に、各対応点のカメラａの画素の画素値を、「視野外領域」を含む点は黒色、それ以外の対応点のうち「遮蔽領域」を含む点は斜線、それ以外の「被写体領域」の点は白色として表したものである。図７のカメラａでは右上が、カメラｂでは左上が、それぞれ遮蔽領域であるのに対し、位置情報においては、カメラａの遮蔽領域とカメラのｂの遮蔽領域の両方の遮蔽領域において３次元位置を計測できない。そのため、図８の「カメラａ−ｂ」では、右上と左上に遮蔽領域が生じる。一方、カメラａ−ｂの組では右上と左上に遮蔽領域があるのに対し、他のカメラの組では遮蔽領域の場所が異なり、例えばカメラａ−ｃ、カメラｂ-ｄでは、それぞれ右上、左上は遮蔽領域ではない。したがって、複数のカメラ画像組から算出した位置情報から、遮蔽されていない被写体領域、すなわち図７中の白色の領域を、選択して集めることで、遮蔽領域のない位置情報を得ることができる。この考え方で、遮蔽されていない領域（白色）を集めたものが、位置選択ステップＳ４０３で選択した選択位置情報｛Ｐ‘ｑ，ｒ｝に対応する。
【０１１１】
選択位置情報は、複数の位置情報から、所定の位置情報を除外して生成され、所定の位置情報の各々は所定の画素ペア情報を含み、所定の画素ペア情報で特定される画素の少なくも一方が遮断領域に含まれるとしてもよい。
【０１１２】
次に、画像補完ステップＳ４０４では、撮影部１００のカメラ１０１ａ〜１０１ｄで撮影された複数の画像と、カメラパラメタ読み出しステップＳ４０１で読み出した遮蔽情報、カメラの内部パラメタ、カメラの外部パラメタと、位置選択ステップＳ４０３で生成した選択位置情報とを入力し、画像の遮蔽領域の画素の画素値を、選択位置情報に基づいて他の画像の画素の画素値に基づく値で置き換えることで補完画像を生成し、補完画像と選択位置情報を出力する。
【０１１３】
以下、画像補完ステップＳ４０４の詳細な動作を説明する。本実施の形態では、画像Ｉａを遮蔽領域の画素の画素値を、他の３つの画像Ｉｂ、Ｉｃ、Ｉｄと、選択位置情報を用いて補完する場合を説明する。
【０１１４】
画像補完ステップＳ４０４では、最初に、選択位置情報｛Ｐ‘ｑ，ｒ｝の全対応点ｐ’ｑ，ｒ，ｎについて、画像Ｉａ上の画素座標（ｕａ，ｖａ）を算出する。画像Ｉａ上の画素座標を算出する方法は以下の通りである。対応点ｐ’ｑ，ｒ，ｎに含まれる、カメラｑの座標系の３次元位置（ｘｑ、ｙｑ、ｚｑ）と、カメラｑとカメラａの外部パラメタＭｑａを用いて、カメラａの座標系で３次元位置（ｘａ、ｙａ、ｚａ）を算出する。そして、３次元位置（ｘａ、ｙａ、ｚａ）とカメラａの内部パラメタ（ｆ，ｋ）と用いて、カメラａの画素座標（ｕａ，ｖａ）を算出する（数５）。
【数５】
2015133691.tif 000007
【０１１５】
次に、画像補完ステップＳ４０４では、画像Ｉａの全ての画素のうち、遮蔽情報Ｏａ（ｕ，ｖ）が「遮蔽領域」である画素の座標（ｕ，ｖ）を抽出する。これを遮蔽画素ｏａｊ＝（ｕａｊ，ｖａｊ）と呼ぶ。次に、各遮蔽画素について、先に求めた選択位置情報｛Ｐ‘ｑ，ｒ｝の全対応点ｐ’ｑ，ｒ，ｎから、対応点のカメラａの画素座標（ｕａ，ｖａ）と、遮蔽画素の画素座標（ｕａｊ，ｖａｊ）との距離を基準に、距離が最も近い対応点の位置情報を選択する。そして、選択した対応点の２つの画像ｑ、ｒ上の画素値ｉｑ（ｕｑｎ，ｖｑｎ），ｉｑ（ｕｑｎ，ｖｑｎ）から画素値を算出し、これを遮蔽された画像Ｉａの座標（ｕａｊ，ｖａｊ）の画素の画素値として設定する。対応点の２つの画像ｑ、ｒ上の画素値ｉｑ（ｕｑｎ，ｖｑｎ），ｉｑ（ｕｑｎ，ｖｑｎ）から、１つの画素値を算出する手法として、ここでは平均画素値を用いるものとする。さらに、この処理を遮蔽画素のすべてに繰り返し、画像Ｉａの遮蔽領域の全ての画素を新たな画素値に設定する。
【０１１６】
上記した画像補完ステップＳ４０４の詳細な動作により、補完画像を生成する。なお、遮蔽領域に含まれない画素の画素値は、変更することなく使用すればよい。
【０１１７】
図９（ａ）および（ｂ）は、補完画像と選択位置情報の例を示す。図９（ａ）は、図６（ｂ）中の「カメラａ」のカメラ画像のうち、遮蔽領域（隣接するレンズ等による遮蔽される領域）を、選択位置情報を用いて他の画像の画素値で置き換えて生成した画像である。図６（ｂ）のカメラ画像では、右端の車両の多くの部分が遮蔽されているのに対し、図９（ａ）では車両が遮蔽されていない。また図９（ｂ）は、選択位置情報｛Ｐ‘ｑ，ｒ｝の各対応点の３次元位置から、画像Ｉａでの画素座標値と、点とカメラａとの距離に比例する輝度値とを算出し、濃淡画像として表した図である。
【０１１８】
最後に、障害物検出ステップ４０５では、補完画像と選択位置情報を入力して、選択位置情報に基づいて障害物を検出し、検出した障害物の位置に対応する補完画像上の領域に、注視領域を示す枠を重畳合成して合成画像として出力する。
【０１１９】
本実施の形態において、選択位置情報に基づいて障害物を検出する手法として、選択位置情報の各対応点の３次元位置（ｘａ、ｙａ、ｚａ）とカメラａとの距離ｄが、あらかじめ定められた距離ｄthより小さい場合に、障害物上の点として検出する手法を用いる。さらに、障害物として検出された点の集まりの外接矩形を、補完画像に重畳し、合成画像として出力し、ディスプレイ１３０に表示される。
【０１２０】
以上のコンピュータ３００で実行されるステップＳ４０１〜Ｓ４０５の動作によって、撮像部１００で撮像された４つのカメラ画像から、画像処理部１１０では１つの補完画像と選択位置情報を、障害物検出部１２０では１つの合成画像を、それぞれ生成して出力する。さらに、撮像部１００およびコンピュータ３００は、上記の動作を繰り返しても良い。
【０１２１】
障害物検出ステップ４０５によって生成される合成画像の例を、図１０に示す。図１０から、車両後方のカメラに近い場所にある障害物（この例では、歩行者と停止車両）に注意を喚起する枠が表示されるため、接触する可能性が高い障害物の存在を運転者が容易に認知できる。特に、従来技術による魚眼のカメラを用いた３次元位置算出法では、カメラ本体によって遮蔽されるために画像と３次元位置を取得できない領域についても、本実施の形態の撮像装置１では、１８０度内の遮蔽のない画像と３次元位置を取得できる。例えば、図６（ｂ）「カメラａ」の画像中の右側の車両は、一部の領域がレンズにより遮蔽されている。しかし、撮像装置１では、図９（ａ）のように１８０度内の遮蔽領域のない画像と３次元位置を取得することができる。さらに、図１０のように遮蔽領域のない合成画像を表示できる。
【０１２２】
以上のように、下記に示すような本開示特有の効果を得ることができる。
【０１２３】
撮像装置１の撮像部１００、コンピュータ３００で実現された画像処理部１１０の動作の結果、視野角が概ね１８０度の魚眼レンズを有する４台のカメラで撮像したカメラ画像から３次元位置を算出し、あらかじめ求めた遮蔽情報を用いて、遮蔽領域に含まれない領域の位置情報を選択した選択位置情報を生成するとともに、レンズやカメラ本体によって生じる画像の遮蔽を補完することで、遮蔽領域がなく、かつ、概ね１８０度の視野角を有する画像と３次元位置である、補完画像と選択位置情報とを取得できる。  
【０１２４】
さらに、障害物検出部１２０、およびディスプレイ１３０の動作の結果、障害物検出部１２０では、１８０度の視野内の障害物を検出して表示することができる。そのため、本実施の形態の撮像装置を搭載した車載カメラシステムの利用者は、障害物を容易に把握することができる。
【０１２５】
なお、本実施の形態において、撮像部１００は４台のカメラ１０１ａ〜ｄで構成されるものとしたが、カメラの台数を４台に限定するものではない。あるカメラの画像に含まれる他のカメラによる遮蔽を補うためには、少なくとも３台のカメラがあればよく、３台以上であれば何台でもよい。
【０１２６】
なお、本実施の形態において、撮像装置に含まれる複数のカメラに含まれる一のカメラに含まれる画素の画素値が、当該一のカメラの部分を撮像した値を示す場合も、当該画素が遮蔽領域に含まれるとしてもよい。
【０１２７】
なお、本実施の形態において、複数のカメラ画像組を入力として、Ｓ４０２〜Ｓ４０４までの動作を順次行うとしたが、Ｓ４０２〜４０４が１度に取り扱うデータ量を、カメラ画像組に限定するものではなく、カメラ画像中の一部の領域ごと、または、画素ごとに、Ｓ４０２〜４０４の動作を繰り返しても良い。
【０１２８】
なお、本実施の形態において、画像補完ステップＳ４０４で、遮蔽領域に含まれる画素の画素値を他の画像の画素値から補完する方法として、遮蔽領域に含まれる画素の最近傍の対応点の画素の画素値を用いるとしたが、この方法に限定するものではない。選択位置情報に含まれる対応点の情報を用いて、遮蔽領域に含まれない画像の画素の画素値に基づいて画素値を設定する方法であれば、どのような方法であってもよい。例えば、遮蔽領域の画素とある一定距離以内の複数の対応点に基づいて、遮蔽領域に含まれない画像上の複数の画素と画素値を参照して重みづけ加算する、などの方法を用いても良い。
【０１２９】
なお、本実施の形態では、位置算出部ステップ４０２において、複数の画素について対応点を検出して３次元位置を算出したのち、位置算出ステップ４０３において、複数の画素のうち遮蔽領域に含まれない画素を選択する手順としたが、遮蔽領域に含まれない画素を選択するための手順をこれに限定するものではなく、結果として遮蔽領域に含まれない画素を選択することができれば、どのような手順であってもよい。例えば、画素の位置座標を算出したのちに、遮蔽領域に含まれない画素を選択する手順の代わりに、遮蔽情報を用いて遮蔽領域に含まれない画素を選択したのちに、選択した画素について対応点の検出と３次元位置を算出するとしてもよい。この手順は、本実施の形態で説明した手順に比べて、対応点の検出と３次元位置を算出する画素の数が少ないため、計算量を削減できるという効果がある。
【０１３０】
（実施の形態２）
本実施の形態においては、視差の推定（対応点の検出）における誤差の影響を低減し、選択位置情報に含まれる３次元位置の誤差がより少なくなるように構成した撮像装置を説明する。本実施の形態の撮像装置の構成は、実施の形態１において説明した撮像装置１の構造と同じである。したがって、本実施の形態に関しても、図１Ａ、図２、図３に示される撮像装置１の構成を援用して説明する。
【０１３１】
実施の形態１の撮像装置１では、魚眼レンズによる被写体像の歪に起因する視差推定の誤差や誤りを低減するため、図２（ａ）または図２（ｂ）のように、撮像部１００の複数のカメラ１０１を互いに近接して配置する構成とした。
【０１３２】
この構成の撮像装置１は、被写体と撮像部１００とが一定距離以上離れている条件下において、視差が一定より小さく、２画像間の被写体像の大きさや形、向きの違いが小さいため、被写体像の歪に起因する視差推定における誤差や誤りが十分小さいことが期待できる。例えば、撮像部１００において２つのカメラ１０１間の基線長が０．０１５ｍであり、被写体と撮像部は１ｍ以上離れている、という撮影条件の場合、視差（角度差）は最大でも０．８５度となる。このとき、図６（ｂ）のように２画像間の歪みの差は小さくなり、被写体像の歪に起因する視差推定の誤差や誤りが十分小さいことが期待できる。
【０１３３】
一方、上記の撮影条件では、視差の誤差の主因は、画素値のノイズや画素座標の量子化誤差になる。ノイズや量子化誤差に起因する視差推定の誤差は、その大きさが一定と考えることができるため、視差から算出される３次元位置は、視差の絶対値が大きいほど誤差が小さくなる。そこで本実施の形態では、撮像装置１は、ある点の近傍の複数の対応点の位置情報から、視差の小さい位置情報よりも視差の大きい位置情報の重みを高めて、３次元位置の誤差を低減する。これにより、撮像装置１は、３次元位置の誤差が小さい選択位置情報を生成する。
【０１３４】
本実施の形態の撮像装置が、実施の形態１において説明した撮像装置１と異なる点は、位置選択ステップＳ４０３‘（位置選択部１１２）の動作であり、他の構成、および、動作は、実施の形態１と同じである。
【０１３５】
以下、図１１を参照しながら、本実施の形態における撮像装置２の動作を説明する。
【０１３６】
カメラパラメタ読み出しステップＳ４０１では、各カメラ１０１ａ〜１０１ｄの内部パラメタ、外部パラメタ、および、遮蔽情報を含むカメラパラメタをあらかじめ記憶しておき、その情報を実行時に読み出して出力する。
【０１３７】
位置算出ステップＳ４０２では、撮影部１００で撮影された複数の画像を入力し、２画像を１組とする画像組ごとに複数の対応点を検出し、カメラパラメタ読み出しステップＳ４０１で読み出したカメラパラメタを用いて、ステレオ視により対応点の３次元位置を算出する。
【０１３８】
上記した、カメラパラメタ読み出しステップＳ４０１、および、位置算出ステップＳ４０２の動作は、実施の形態１と同じであるため、ここでは詳細な説明を省略する。
【０１３９】
位置選択ステップＳ４０３‘では、位置選択部１１２は、カメラパラメタ読み出しステップＳ４０１で読み出した遮蔽情報と、位置算出ステップＳ４０２で算出した位置情報を入力し、全ての対応点の位置情報から、遮蔽されていない被写体領域の対応点の位置情報を選択し、選択した位置情報に対して、視差の大きさに基づいて重みづけ加算し、これを選択位置情報として出力する。
【０１４０】
以下、位置選択ステップＳ４０３’の詳細な動作を説明する。
【０１４１】
最初に、位置選択ステップＳ４０３’は、実施の形態１の位置選択部１１２と同じ動作によって、全ての画像組の位置情報｛Ｐｑ，ｒ｝から、仮の選択位置情報｛Ｐ’ｑ，ｒ｝を生成する。具体的には、対応点の位置情報ｐａ，ｂ，ｎから、画像Ｉａの座標値（ｕａｎ，ｖａｎ）と、画像Ｉｂの座標値（ｕｂｎ，ｖｂｎ）を読み出す。そして、カメラ画像Ｉａの遮蔽情報Ｏａと、カメラ画像Ｉｂの遮蔽情報Ｏｂから、この対応点の２画像上で点の遮蔽情報Ｏａ（ｕａｎ，ｖａｎ）と、Ｏｂ（ｕｂｎ，ｖｂｎ）を読み出す。これら２つの遮蔽情報がともに「被写体領域」の場合、この位置情報ｐａ，ｂ，ｎを選択して仮の選択位置情報｛Ｐ‘ｑ，ｒ｝とする。一方、２つの遮蔽情報に「遮蔽領域」もしくは「視野外領域」が含まれる場合、この対応点は選択しない。この選択操作を、位置情報｛Ｐｑ，ｒ｝の全対応点に繰り返し、全ての画像組の仮の選択位置情報｛Ｐ’ｑ，ｒ｝を生成する。
【０１４２】
次に、位置選択ステップＳ４０３’は、仮の選択位置情報｛Ｐ‘ｑ，ｒ｝の対応点のうち、互いに位置の近い対応点を複数点抽出し、抽出した複数点の位置情報を視差の大きさに基づいて重みづけ加算した位置情報を算出して、元の複数点の位置情報と置き換えることで、選択位置情報｛Ｐ’’ｑ，ｒ｝を生成して出力する。ここでは、全ての対応点について、（数５）によりカメラ画像Ｉａの画素座標（ｕａ，ｖａ）を算出し、さらに最近傍の整数画素座標（ｕａｉ，ｖａｉ）を算出する。そして、カメラａでの整数画素座標が同じになるＭ個の対応点ｐ’ａ，ｑ，ｍを抽出する。そして、抽出したＭ個の対応点から、各対応点の視差の大きさｄｍに応じて、各対応点のカメラａにおける３次元位置を（ｘａｍ，ｙａｍ，ｚａｍ）を重みづけ加算した３次元座標値（ｘａ’，ｙａ’，ｚａ’）を算出し、新たな選択位置情報ｐ’’ａ，ｓとする（数６）。
【数６】
2015133691.tif 000008
【０１４３】
この選択位置情報ｐ’’ａ，ｓにおいて、カメラ画像Ｉａとの組となる画像は、抽出したＭ個の対応点のうち、最も視差が大きい対応点の画像Ｉｓとその画素座標（ｕｓ，ｖｓ）を選択する。画素座標（ｕｓ，ｖｓ）は、（数５）と同様に、カメラａの３次元座標（ｘａ’，ｙａ’，ｚａ’）からカメラｓの画素座標に投影することで算出する。
【０１４４】
最後に、算出した選択位置情報をｐ’’ａ，ｓを、元となった複数の対応点の位置情報と置き換えることで、選択位置情報｛Ｐ’’ａ，ｓ｝を生成する。
【０１４５】
図１２（ａ）〜（ｄ）は、各画像組の視差の大きさの分布の例を示す。図１２（ａ）〜（ｄ）の４つの図は、６組の画像組における、カメラから一定距離（１ｍ）の点について、視差の大きさ、すなわち、対応点間の距離を、濃淡で示した図である。画像の左右端に接する円の内側が１８０度の視野内である。一方、円の外側は視野外のため画像を撮影できない視野外領域であり、「黒色」で表している。図１２（ａ）〜（ｄ）から、１つの画像組の視野内について、画像内の位置によって視差の大きさが異なることがわかる。例えば、図１２（ａ）はカメラａ、ｂの組の視差の例の図であり、視野の上と下は視差が大きく（白い）、視野内の左と右は視差が小さい（黒い）。特に左右の黒い領域は、視差が０に近くなる領域であり、このような０に近い視差から算出した３次元位置の誤差が大きくなる。一方、異なる画像組について、同じ位置であっても、画像組によって視差の大きさが大きく異なることがわかる。例えば、図１２（ｂ）はカメラａ、ｃの組の視差の例の図であり、視野の左と右は視差が大きく（白い）、視野内の上と下は視差が小さく（黒い）、カメラａ、ｂの組とは逆の傾向となっている。そのため、複数のカメラの組から、視差の大きい位置情報の重みが高くなるように、位置情報を生成することで、３次元位置の誤差が小さくなることが期待できる。
【０１４６】
画像補完ステップＳ４０４では、位置選択ステップＳ４０３’で生成した選択位置情報｛Ｐ’’ａ，ｓ｝と、撮影部１００から出力された複数の画像と、カメラパラメタ読み出しステップＳ４０１で読み出した遮蔽情報、カメラの内部パラメタ、カメラの外部パラメタとを入力し、画像の遮蔽領域の画素を、選択位置情報に基づいて他の画像の画素で置き換えることで補完画像を生成し、補完画像と選択位置情報を出力する。
【０１４７】
障害物検出ステップ４０５では、補完画像と選択位置情報を入力して、選択位置情報に基づいて障害物を検出し、検出した障害物の位置に対応する補完画像上の領域に、注視領域を示す枠を重畳合成して合成画像として出力する。
【０１４８】
上記した、画像補完ステップＳ４０４、および、障害物検出ステップ４０５の動作は、実施の形態１の障害物検出部１２０の障害物検出ステップ４０５と同じであるため、ここでは詳細な説明を省略する。
【０１４９】
以上のように、本実施の形態の撮像装置の撮像部１００、コンピュータ３００で実現された画像処理部１１０の動作の結果、実施の形態１の撮像装置１と同様に、概ね１８０度の視野角を有し、かつ、遮蔽の無い画像と３次元位置とを取得できる。さらに本実施の形態の撮像装置２では、複数の対応点の位置情報から、遮蔽されていない領域、かつ、視差の大きい位置情報を選択して選択位置情報を生成する。ノイズや量子化誤差に起因する３次元位置の誤差は、視差が大きいほど３次元位置の誤差が小さくなるため、視差の大きい位置情報を選択することで、３次元位置の誤差が小さい選択位置情報を得ることができるという効果がある。
【０１５０】
なお、本実施の形態による撮像装置では、複数の対応点の位置情報から、視差の大きい位置情報の重みを上げた位置情報を算出することで、３次元位置の誤差が小さい選択位置情報を生成し、３次元位置の誤差を低減する。この方法は、被写体が撮像部から一定以上離れている場合など、視差が小さく、被写体像の歪に起因する視差推定の誤差や誤りが十分小さいと仮定できる場合に、有効である。しかしながら、被写体と撮像部の距離が近く、被写体像の歪に起因する視差推定の誤差や誤りが無視できない場合、３次元位置の誤差が大きくなる。このような場合、位置選択ステップ４０３‘において、対応点の視差があらかじめ定めた閾値以上の場合、その対応点については視差の大きさに基づいた重みづけ加算処理をしないとすることで、３次元位置の推定誤差が小さくなるという効果ある。
【０１５１】
なお、同様に、被写体と撮像部の距離が近く、被写体像の歪に起因する視差推定の誤差が無視できない程度に大きくなる場合に、位置選択ステップ４０３‘において、視差の大きさに基づいて重みづけ加算する代わりに、視差の接線方向の大きさに基づいて重みづけ加算するとしてもよい。
【０１５２】
この理由を以下に示す。魚眼レンズで撮影した画像は、前述したように、被写体像の形や大きさ、向きが、画像中の位置によって異なる。特に、魚眼レンズでは、視差の大きさが同じであっても、その視差が半径方向か、接線方向かによって、被写体像の歪み方が異なる。具体的には、半径方向に視差がある場合、主に被写体像の形と大きさが異なるのに対し、接戦方向に視差がある場合、主に被写体像の向きは異なるが、形と大きさはほとんど変わらないという性質を持つ。一方、前述した対応点検出手法は、大きさや向きの違いよりも、形の違いに対して、誤差や誤りがより多く発生する傾向がある。
【０１５３】
そこで本実施の形態の位置選択ステップにおいて、視差の大きさｄｍに応じて重みづけ加算して３次元位置を算出する（数６）の代わりに、視差の接線方向の大きさｄｔｍと半径方向の大きさｄｒｍの基づく重み（数７）を用いることで、ノイズや量子化誤差に起因する３次元位置の誤差を減らしつつ、被写体像の歪に起因する視差推定の誤差と３次元位置の誤差も減らすことができるという効果がある。
【数７】
2015133691.tif 000009
（数７）においてｃｔｒは、視差の半径方向と接線方向の重みを調整する係数であり、（ｕｃ，ｖｃ）は光軸中心の画素座標である。
【０１５４】
位置選択部は、選択した位置情報に対して、視差の大きさに基づいて重みづけ加算を行い、視差の接線方向の接線方向の成分が大きく、半径方向の成分が小さいほど重みを大きくして選択位置情報を生成してもよい。
【０１５５】
なお、実施の形態１および２では、車両の後部に撮像部を設置して、車両後方の画像と３次元位置を取得する場合を例に説明したが、カメラの設置場所や画像を取得する方向や範囲を限定するものではないし、どの方向に設置してもよい。
【０１５６】
自動車や移動ロボット、建物などでは、撮像装置を設置可能な場所に限りがあることや、外観（デザイン）上の制約があることから、装置はできるだけ小さく、その台数もできるだけ少ないことが望ましい。したがって、１台の撮像装置でできるだけ広範囲の画像と３次元位置を取得できることが望ましい。
【０１５７】
本開示の一例である撮像装置によれば、従来の撮像装置に比べて視野角が広くなる。さらに、本開示による撮像装置を、安全運転支援システムや移動ロボット、監視カメラシステムなど用いた場合、次のような間接的、２次的な効果がある。すなわち、車体やロボット本体、もしくは建物が平面を有し、その平面に沿った３次元空間の画像と３次元位置を遮蔽なく取得する必要がある場合がある。例えば、車体の後面や側面の沿った３次元空間における障害物の検知や、建物の壁面に沿った空間における侵入者検出などである。このとき視野角が１８０度未満の従来の撮像装置では、平面に沿った空間の撮影に２台の撮像装置が必要であるのに対し、本開示の撮像装置では、１台の撮像装置を、平面の法線とカメラの光軸が平行になるように平面上に設置することで、画像と３次元位置とを遮蔽なく取得できる。言い換えると、本開示による撮像装置では、撮像装置の台数を大幅に減らすことができるという効果がある。
【０１５８】
上述の実施形態では、撮像装置は少なくとも撮像部１００および画像処理部１１０を含んでいればよいとして説明した。更なる変形例として、本開示は、撮像部１００を有しない画像処理部１１０を主要な構成として有する画像処理装置、または、画像処理部１１０を画像処理装置または画像処理回路として実現し得る。このとき、撮影部１００は画像処理装置の外部の構成要素として設けられていればよい。そして撮影部１００によって撮影された画像は、図示されないハードディスクドライブなどの記憶装置に記憶され、有線または無線で、画像処理部１１０を有する画像処理装置に送信されればよい。なお、障害物検出部１２０およびディスプレイ１３０に関しては、先に説明したと同様、撮像装置１の外部に設けられた機器（たとえばＰＣとそのディスプレイ）であってもよい。上述の画像処理装置または画像処理回路は、コンピュータプログラムを実行することによって動作し得る。
【産業上の利用可能性】
【０１５９】
本開示にかかる撮像装置は、各々が概ね１８０度以上の視野を有する複数のカメラを用い、被写体とその被写体の３次元位置とを計測する用途、たとえば自動車用の車載カメラ、および監視カメラに好適である。
【符号の説明】
【０１６０】
１  撮像装置
１００  撮像部
１００ａ〜１００ｄ  カメラ
１１０  画像処理部
１１１  位置算出部
１１２  位置選択部
１１３  画像補完部
１１４  カメラパラメタ記憶部
１１５  カメラパラメタ取得部
１２０  障害物検出部
１３０  ディスプレイ
【図１Ａ】
2015133691.tif 000010
【図１Ｂ】
2015133691.tif 000011
【図２】
2015133691.tif 000012
【図３】
2015133691.tif 000013
【図４】
2015133691.tif 000014
【図５】
2015133691.tif 000015
【図６】
2015133691.tif 000016
【図７】
2015133691.tif 000017
【図８】
2015133691.tif 000018
【図９】
2015133691.tif 000019
【図１０】
2015133691.tif 000020
【図１１】
2015133691.tif 000021
【図１２】
2015133691.tif 000022
【図１３】
2015133691.tif 000023
【図１４】
2015133691.tif 000024
【図１５】
2015133691.tif 000025