本発明は、複数の撮像光学系を有し、撮像光学系間で生じる視差を算出する複眼撮像装置等に関するものである。
近年、所定の位置から対象物までの距離、又は対象物の三次元位置(形状)の測定の要求が高まっている。例えば自動車の視界支援において、自動車に取付けた小型カメラで撮影した周囲の物体の映像のみでなく、測距装置により測定した物体と自動車との正確な距離情報を同時に表示することにより、周囲の物体との衝突をより適確に回避する方法が提案されている。また、携帯電話やテレビなどにおいては、映像の臨場感をより忠実に再現するために立体映像の入出力装置が望まれている。これら用途の測距装置には高精度化及び小型化が望まれている。
対象物までの距離、又は対象物の三次元位置を測定する方式として、従来より三角測量の原理を利用したステレオ測距方式が利用されている。ステレオ測距方式では、複数のカメラ間に生じる視差に基づき対象物までの距離が算出される。
図30は、カメラa及びカメラbの2つのカメラを用いた場合の、ステレオ測距方式による対象物までの距離算出の例を説明する図である。対象物100の光線101a、101bは、カメラaのレンズ102a及びカメラbのレンズ102bの各光学中心105a、105bを介して撮像領域104a、104bに結像する。光軸103a及び光軸103bは各カメラの光軸を表す。この時、例えば対象物100が、カメラaについては撮像領域104aと光軸103aとの交点106aからPa離れた位置107aに結像し、カメラbについては撮像領域104b上の撮像領域104bと光軸103bとの交点106bからPb離れた位置107bに結像した場合、カメラaとカメラbとの間に視差P(=Pb−Pa)が生じる。この視差Pは測距装置と対象物距離との距離Dに応じて変化する。カメラaの光軸103aとカメラbの光軸103bは平行とし、その間隔を基線長B、カメラa及びカメラbの焦点距離をfとすると、対象物までの距離Dは(式1)で表わされる。したがって、基線長B及び焦点距離fが事前のキャリブレーション処理などにより既知であるとすると、視差Pを求めることにより対象物100までの距離Dを算出することが可能となる。
なお、実際の環境ではカメラaとカメラbの光軸は平行でない場合が多い。そこで、例えば非特許文献1に示されるような平行化処理を行う。その結果、光軸が平行な画像が作成され、上記の(式1)を用いた演算を利用して距離Dが算出可能となることが知られている。
撮像領域104a及び104bは通常CCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)などの撮像素子により構成される。したがって、2次元平面上で離散化された対象物像の輝度信号を用いて視差Pは算出されるため、通常その視差検出分解能は1画素となる。(式1)の関係より視差検出分解能から測距分解能(以降、測距精度と記載)が決まる。
また、対象物の三次元位置は、例えば、図31〜図33を用いて以下で説明する方法により、算出することができる。
図31は、測距装置と対象物との位置関係を表す図である。図31において、世界座標の原点Mw(0、0、0)は、カメラaの光学中心105aとする。図に示すように、対象物110の一点111の三次元位置座標をMw(Xw1、Yw1、Zw1)とすると、Zw1は図30を用いて説明した(式1)で算出する距離Dで求められる。
図32は、図31のカメラaと対象物110の一点111をYw軸のマイナス側から見た図である。図に示すように、交点106aを撮像領域104aの二次元座標系の原点ms(0、0)とすると、Xw1は結像位置107aの座標ms(xs1、ys1)を用いて(式2)で表される。
図33は、図31のカメラaと対象物110の一点111をXw軸のプラス側から見た図である。図32と同様に、交点106aを撮像領域104aの二次元座標系の原点ms(0、0)とすると、Yw1は結像位置107aの座標ms(xs1、ys1)を用いて(式3)で表される。
三次元位置の測定精度も、前述の測距精度と同様に視差検出分解能により決まる。
次に、視差Pの具体的な検出方法の例を説明する。視差Pは、カメラaの撮像領域104aで取込まれた画像aと、カメラbの撮像領域104bで取込まれた画像bとについて、各画像の小領域毎の相関値であるSAD(Sum of Absolute Difference:差分絶対値総和)を算出し、算出した相関値を用いて画像aと画像b間の小領域毎の画像のずれ、つまり視差Pを算出する。なお、SADは相関値の一例であり、一般的に知られているSSD(Sum of Squared Difference:差分2乗総和)やNCC(Normalized Cross−Correlation:正規化相互相関)なども相関値として利用可能である。
以下に、図34〜図36を参照しながら、代表的な相関値であるSADを用いた視差の算出について説明する。
図34は、画像における各画素の輝度の表現方法について説明する図である。図に示すように、0を黒、15を白とし、各画素の輝度の階調を線の密度で表現する。輝度は少数点以下の値となることもあり得る。
図35Aは、写像した対象物のテクスチャを対象物側からみた、画像aの一部を示す図である。図35Bは写像した対象物のテクスチャを対象物側からみた、画像bの一部を示す図である。
図35Bの太線で囲われた画像ブロックbは、対象物が無限遠にあるときに図35Aの太線で囲われた画像ブロックaと同一の画像が写像する。対象物が有限の距離にある場合は、図35A及び図35Bに示すように視差が生じるため、図35Bの画像は図35Aの画像に対して右側に写像する。ここでは図35Aと図35Bとが3.6画素の実際視差を持つ場合の説明を行う。画像ブロックaと最も相関の高い画像領域を探索するため、画像ブロックbを図35Bの太線の位置から右方向に1画素ずつずらしていき、各ずらし量毎にSADを(式4)に基づき算出する。
ここで、Ia、Ibは各画像ブロック内の輝度値を表し、i、jは各画像ブロック内の局所アドレスを表す。画像ブロックa及び画像ブロックbは同一の画像サイズで、両画像ブロックの同一アドレスの輝度差分の絶対値のブロック内総和を各ずらし量毎に算出する。画像ブロックの形状は長方形や、テクスチャの特徴に応じた形状でもよいが、ここでは正方形の画像ブロックでの説明をしている。
図36は、画像ブロックbを1画素ずつ移動させたときのSADの推移を示す図である。ずらし量4画素の場合にSADが最小となっているため、画像ブロックaと画像ブロックbとの相関が最も高いと考えられる。したがって、画像ブロックaでのカメラaとカメラbとの視差は4画素と算出され、算出された視差に画素ピッチサイズをかけることで(式1)の視差Pが求められ、対象物までの距離Dを算出することができる。この場合、実際の視差3.6画素に近い視差は求められるが、視差の検出精度は1画素となるため、小数点以下の画素の精度で視差(以降、サブピクセル視差と呼ぶ)は求められない。
測距精度つまり視差検出分解能を1画素単位でなく更に高精度に求めるための方法として、サブピクセルレベル視差を推定する方法が提案されている(例えば特許文献1)。例えば、等角直線フィッティングというサブピクセル視差推定方法では、図37に示すように実際視差を基準にSADの推移が左右で同一θの傾きであることを仮定することによって、1次線形補間により実際視差がサブピクセルレベルで推定される。等角直線フィッティングのサブピクセル視差算出式、つまり補間式を(式5)に示す。
ここで、Pはサブピクセル視差、PminはSADが最小となるずらし量(整数視差)、R(0)はSADが最小になるずらし量での相関値(SAD)、その隣接するずらし量でのSADをR(−1)、R(1)とする。
またその他にも、SADなどの相関値のずらし量毎の推移が実際視差を基準に対称な推移となることを仮定して、2次関数など高次の線形関数や非線形関数により実際視差を補間演算する方法が提案されている。図35A及び図35Bに示すような輝度が1次関数的に変化する対象物の場合は、図36に示すようにSADの推移が実際視差を基準に対称となり、且つ1次直線的にSADが推移する。そのため、等角直線フィッティングを用いてサブピクセル視差推定を行うと、視差3.6画素を正確に求めることができる。
特開2000−283753号公報
徐剛、辻三郎著 「3次元ビジョン」共立出版 pp96−99 2002年9月25日出版
上述のように、図35A、図35B及び図36では、輝度の分布が視差の探索方向に1次関数的に一様に変化する対象物を例として説明している。このような場合、相関値の推移が実際視差を基準に対称となるため、等角直線フィッティングによりサブピクセル視差推定を正確に行うことができる。しかし、実際の対象物では表面の模様(テクスチャ)が一様に変化する場合は少なく、例えば図38A及び図38Bに示すように輝度の分布が一様に変化しない場合が多い。
図38Aは対象物側からみた画像aの一部を示す図である。図38Bは対象物側からみた画像bの一部を示す図である。図38Bの太線で囲われた画像ブロックbには、対象物が無限遠にあるときに図38Aの太線で囲われた画像ブロックaと同一の画像が写像する。対象物が有限の距離にある場合は図30に示すように視差が生じるために図38Bの画像は、図38Aの画像に対して右側に移動する。ここでは図35A及び図35Bと同様に、図38Aと図38Bとが3.6画素の実際視差を持つ場合の説明を行う。
図39は、図38A及び図38Bの画像の場合のSADの推移と、その時の前述の等角直線フィッティングによるサブピクセル視差推定を説明する図である。図に示すように、SADの推移が実際視差を基準に対称とならないため、サブピクセル視差推定結果は実際視差からはずれてしまう。具体的には、サブピクセル視差は、約3.2画素と推定されてしまう。その結果、推定視差は実際視差と約0.4画素の誤差が生じる。
このように、従来のステレオ測距方式において用いられているサブピクセル視差推定を行う補間式は、相関値の推移が実際視差を基準に対称となる場合を仮定している。そのため、相関値の推移が実際視差を基準に対称とならない対象物においては、視差の推定誤差が生じるという課題があった。また、例えば図40A及び図40Bに示すような3つ以上の光学系を用いた多眼ステレオカメラにおいても同様に、相関値の推移が実際視差を基準に対称とならない対象物においては、視差の推定誤差が生じるという課題があった。
本発明は上記課題を解決する為になされたものであり、対象物の輝度の分布によらず相関値の推移が実際視差を基準に対称となり、上述したような従来の補間によるサブピクセル視差推定方法を用いても高精度にサブピクセル視差を推定可能な複眼撮像装置又は測距装置を提供することを目的とする。
上述した目的を達成するために、本発明に係る複眼撮像装置は、同一の対象物を撮像する複数の撮像光学系で生じる視差を算出する複眼撮像装置であって、前記対象物を撮像することによって、基準画像を含む画像を生成する基準撮像光学系と、前記基準撮像光学系の光学中心に対してそれぞれの光学中心が略点対称に配置され、前記対象物を撮像することによって、参照画像を含む画像を生成する2以上の偶数の参照撮像光学系と、前記2以上の偶数の参照撮像光学系のそれぞれについて、前記基準画像に類似する前記参照画像の画像位置を探索するために前記参照撮像光学系により生成された画像中の前記参照画像の探索位置を、前記基準撮像光学系の光学中心と前記参照撮像光学系の光学中心とを結ぶ直線である基線と平行な方向に沿ってずらしていった場合のずらし量ごとに、前記基準画像と前記参照画像との類似度を表す相関値を算出する相関値算出手段と、前記2以上の偶数の参照撮像光学系のそれぞれについて算出された相関値を、対応するずらし量ごとに加算することにより合成相関値を算出する相関値加算手段と、前記合成相関値に基づき、前記基準画像と前記参照画像との類似度が最大となるずらし量である視差をサブピクセルのレベルで算出する視差算出手段とを少なくとも備えることを特徴とする。
これにより、基準撮像光学系に対して略対称に配置された2以上の参照撮像光学系のそれぞれについて算出された相関値が、対応するずらし量ごとに加算されるので、被写体によらず相関値の推移が実際視差を基準として対称となり、高精度にサブピクセル視差を推定することが可能となる。
ここで略点対称とは、2つの参照撮像光学系で構成される場合には、2つの参照撮像光学系の光学中心と基準撮像光学系の光学中心とが略1直線上に配置され、2つの参照撮像光学系と基準撮像光学系との基線長が略同一であることをいう。また、4つの参照撮像光学系で構成される場合には、追加された2つの参照撮像光学系の光学中心と基準撮像光学系の光学中心とが略1直線上に配置され、追加された2つの参照撮像光学系と基準撮像光学系との基線長が略同一であることをいう。さらに多数の参照撮像光学系で構成される場合は、追加された2つで1組の参照撮像光学系の光学中心の各組と基準撮像光学系の光学中心とが略1直線上に配置され、追加された2つで1組の参照撮像光学系の各組と基準撮像光学系との基線長が略同一であることをいう。
また、前記視差算出手段は、前記相関値加算手段で加算されたずらし量ごとの相関値を、対称性を利用した補間式を用いて補間することにより、サブピクセルレベルの視差を算出することが好ましい。
これにより、従来の対称性を前提とした補間によるサブピクセル視差推定方法を用いても、高精度にサブピクセル視差を推定することが可能となる。
また、前記複眼撮像装置は、4以上の参照撮像光学系を備え、前記4以上の参照撮像光学系の光学中心は、前記基準撮像光学系の光学中心に対して略点対称に配置された1対の第1の参照撮像光学系に係る基線の方向と、前記基準撮像光学系の光学中心に対して略点対称に配置された第1の参照撮像光学系の光学中心と異なる1対の第2の参照撮像光学系に係る基線の方向とが所定の角度傾くように配置されることが好ましい。
これにより、2つの参照撮像光学系を用いた場合に比べて、参照撮像光学系、つまり、参照画像が増加するので、情報量が増加し、相関値の推移の直線性が向上する。また、基準撮像光学系に対して略点対称に配置される1対の参照撮像光学系と基準撮像光学系との光学中心を結ぶ直線である基線の方向と、他の対の参照撮像光学系と基準撮像光学系との基線の方向が所定の角度傾くことで、撮像された対象物の情報量がさらに増大し、相関値の推移の直線性が向上する。その結果、サブピクセル視差の推定精度がさらに向上する。
また、前記4以上の参照撮像光学系は、前記第1の参照撮像光学系と前記基準撮像光学系との基線の長さである第1の基線長と、前記第2の参照撮像光学系と前記基準撮像光学系との基線の長さである第2の基線長とが異なるように配置され、前記相関値算出手段では、前記第2の参照撮像光学系で生成された参照画像の相関値を算出する際に、前記第2の基線長を前記第1の基線長で除した値に、前記第1の参照撮像光学系で生成された参照画像の相関値を算出する際に利用した第1のずらし量を乗じた値である第2のずらし量ごとに前記相関値を算出することが好ましい。
これにより、基準撮像光学系の光学中心に対して略点対称に配置される1対の参照撮像光学系と基準撮像光学系との基線の長さと、他の対の参照撮像光学系と基準撮像光学系との基線の長さが異なる場合でも、相関値の推移の対称性を高めることが可能となる。その結果、参照撮像光学系の配置の自由度が増大するとともに、サブピクセル視差の推定精度を向上させることができる。
また、基準撮像光学系及び前記4以上の参照撮像光学系は、前記基準撮像光学系が有する撮像装置を構成する画素の位置関係と同一となるように配置されることが好ましい。
これにより、ブロックマッチング演算を行う際に、ずらし量に対応したブロックの境界が画素の境界と一致するので、バイリニア補間などによる画像処理が不要となる。その結果、ブロックマッチング演算の演算時間を短縮することが可能となる。
また、前記基準撮像光学系の光学中心に対して略点対称に配置された対となる参照撮像光学系のそれぞれの対において、対のうち一方の参照撮像光学系の光学中心と前記基準撮像光学系の光学中心とを結ぶ直線と、対のうち他方の参照撮像光学系の光学中心との距離である光学中心位置誤差が、Dを対象物までの距離、pitchを画素ピッチ、fを焦点距離としたときに、
光学中心位置誤差 ≦ D・pitch・0.15/f
を満たすことが好ましい。
これにより、被写体によらず相関値の推移が実際視差を基準に十分なレベルで点対称となるので、従来より高精度にサブピクセル視差を推定することが可能となる。
また、前記基準撮像光学系の光学中心に対して略点対称に配置された対となる参照撮像光学系のそれぞれの対において、対のうち一方の参照撮像光学系の光学中心と前記基準撮像光学系の光学中心との間隔である第1基線長と、対のうち他方の参照撮像光学系の光学中心と前記基準撮像光学系の光学中心との間隔である第2基線長との長さの差である基線長誤差が、Dを対象物までの距離、pitchを画素ピッチ、fを焦点距離としたときに、
基線長誤差 ≦ D・pitch・0.2/f
を満たすことが好ましい。
これにより、被写体によらず相関値の推移が実際視差を基準に十分なレベルで点対称となるので、従来より高精度にサブピクセル視差を推定することが可能となる。
また、前記複眼撮像装置は、さらに、前記基準画像及び前記参照画像に平滑化フィルタを施す前処理手段を備え、前記相関値算出手段では、前記平滑化フィルタを施した基準画像及び参照画像に基づいて前記相関値を算出することが好ましい。
これにより、対象物の輝度の分布によらずノイズの影響による精度低下を低減でき、更に対象物の輝度の変動を滑らかにすることが可能となる為、例えば上述したSADと等角直線フィッティングを用いた場合に、相関値の推移の対称性を保ったまま、SADの推移の直線性が向上し、サブピクセル視差推定精度が更に向上する。
また、上述した目的を達成するために、本発明に係る測距装置は、同一の対象物を撮像する複数の撮像光学系で生じる視差を算出することにより、前記対象物までの距離又は前記対象物の三次元位置を算出する測距装置であって、前記対象物を撮像することによって、基準画像を含む画像を生成する基準撮像光学系と、前記基準撮像光学系の光学中心に対してそれぞれの光学中心が略点対称に配置され、前記対象物を撮像することによって、参照画像を含む画像を生成する2以上の偶数の参照撮像光学系と、前記2以上の偶数の参照撮像光学系のそれぞれについて、前記基準画像に類似する前記参照画像の画像位置を探索するために前記参照撮像光学系により生成された画像中の前記参照画像の探索位置を、前記基準撮像光学系の光学中心と前記参照撮像光学系の光学中心とを結ぶ直線である基線と平行な方向に沿ってずらしていった場合のずらし量ごとに、前記基準画像と前記参照画像との類似度を表す相関値を算出する相関値算出手段と、前記2以上の偶数の参照撮像光学系のそれぞれについて算出された相関値を、対応するずらし量ごとに加算することにより合成相関値を算出する相関値加算手段と、前記合成相関値に基づき、前記基準画像と前記参照画像との類似度が最大となるずらし量である視差をサブピクセルのレベルで算出する視差算出手段と算出された視差と前記基準撮像光学系の焦点距離と前記基線の長さに基づき、前記測距装置から前記対象物までの距離又は前記対象物の三次元位置を算出する距離算出手段とを備えることを特徴とする。
これにより、2以上の参照撮像光学系のそれぞれについて算出された相関値を、対応するずらし量ごとに加算することで、被写体によらず相関値の推移が実際視差を基準として対称となるので、高精度にサブピクセル視差を推定することが可能となる。その結果、被写体となる対象物までの距離を、高精度で推定することが可能となる。
また、本発明に係る視差算出方法は、同一の対象物を撮像する複数の撮像光学系で生じる視差を算出する視差算出方法であって、前記複数の撮像光学系は、前記対象物を撮像することによって、基準画像を含む画像を生成する基準撮像光学系と、前記基準撮像光学系の光学中心に対してそれぞれの光学中心が略点対称に配置され、前記対象物を撮像することによって、参照画像を含む画像を生成する2以上の偶数の参照撮像光学系とを含み、前記視差算出方法は、前記2以上の偶数の参照撮像光学系のそれぞれについて、前記基準画像に類似する前記参照画像の画像位置を探索するために前記参照撮像光学系により生成された画像中の前記参照画像の探索位置を、前記基準撮像光学系の光学中心と前記参照撮像光学系の光学中心とを結ぶ直線である基線と平行な方向に沿ってずらしていった場合のずらし量ごとに、前記基準画像と前記参照画像との類似度を表す相関値を算出する相関値算出ステップと、前記2以上の偶数の参照撮像光学系のそれぞれについて算出された相関値を、対応するずらし量ごとに加算することにより合成相関値を算出する相関値加算ステップと、前記合成相関値に基づき、前記基準画像と前記参照画像との類似度が最大となるずらし量である視差をサブピクセルのレベルで算出する視差算出ステップとを含むことを特徴とする。
これにより、上記複眼撮像装置と同様の効果を得ることができる。
また、本発明に係る測距方法は、同一の対象物を撮像する複数の撮像光学系で生じる視差を算出することにより、前記対象物までの距離又は前記対象物の三次元位置を算出する測距方法であって、前記複数の撮像光学系は、前記対象物を撮像することによって、基準画像を含む画像を生成する基準撮像光学系と、前記基準撮像光学系の光学中心に対してそれぞれの光学中心が略点対称に配置され、前記対象物を撮像することによって、参照画像を含む画像を生成する2以上の偶数の参照撮像光学系とを含み、前記測距方法は、前記2以上の偶数の参照撮像光学系のそれぞれについて、前記基準画像に類似する前記参照画像の画像位置を探索するために前記参照撮像光学系により生成された画像中の前記参照画像の探索位置を、前記基準撮像光学系の光学中心と前記参照撮像光学系の光学中心とを結ぶ直線である基線と平行な方向に沿ってずらしていった場合のずらし量ごとに、前記基準画像と前記参照画像との類似度を表す相関値を算出する相関値算出ステップと、前記2以上の偶数の参照撮像光学系のそれぞれについて算出された相関値を、対応するずらし量ごとに加算することにより合成相関値を算出する相関値加算ステップと、前記合成相関値に基づき、前記基準画像と前記参照画像との類似度が最大となるずらし量である視差をサブピクセルのレベルで算出する視差算出ステップと算出された視差と前記基準撮像光学系の焦点距離と前記基線の長さに基づき、前記測距装置から前記対象物までの距離又は前記対象物の三次元位置を算出する距離算出ステップとを含むことを特徴とする。
これにより、上記測距装置と同様の効果を得ることができる。
なお、本発明は、このような視差算出方法又は測距方法に含まれるステップをコンピュータに実行させるプログラムとして実現することもできる。そして、そのようなプログラムは、CD−ROM(Compact Disc−Read Only Memory)等の記録媒体やインターネット等の通信ネットワークを介して流通させることができる。
本発明によれば、対象物の輝度の分布によらず相関値の推移が実際視差を基準として対称となり、上述したような従来の補間によるサブピクセル視差推定方法を用いても高精度にサブピクセル視差を推定可能な複眼撮像装置又は測距装置を提供することが可能となる。
図1は、本発明の実施の形態1に係る測距装置の構成を示す図である。
図2は、本発明の実施の形態1に係る測距装置と対象物との位置関係を示す図である。
図3は、本発明の実施の形態1に係る測距装置による対象物の三次元位置又は距離算出に関する処理の流れを示すフローチャートである。
図4は、本発明の実施の形態1に係る対象物の表面上の点13の周辺のテクスチャを基準撮像光学系で撮影した場合の、対象物側から見た画像の一部を示す図である。
図5Aは、本発明の実施の形態1に係る撮像光学系で撮影した画像の一部を示す図である。
図5Bは、本発明の実施の形態1に係る撮像光学系で撮影した画像の一部を示す図である。
図5Cは、本発明の実施の形態1に係る撮像光学系で撮影した画像の一部を示す図である。
図6Aは、本発明の実施の形態1に係るSADの推移を示す図である。
図6Bは、本発明の実施の形態1に係るSADの推移を示す図である。
図7は、本発明の実施の形態1に係る合成SADの推移を示す図である。
図8は、本発明の実施の形態1に係る画像に写像された対象物の1点の周辺のテクスチャを示す図である。
図9Aは、本発明の実施の形態1に係るSADの推移を示す図である。
図9Bは、本発明の実施の形態1に係るSADの推移を示す図である。
図10は、本発明の実施の形態2に係る測距装置の構成を示す図である。
図11Aは、本発明の実施の形態2に係るSADの推移を示す図である。
図11Bは、本発明の実施の形態2に係るSADの推移を示す図である。
図12は、本発明の実施の形態2に係るSADの推移を示す図である。
図13は、本発明の実施の形態3に係る測距装置の構成を示す図である。
図14は、本発明の実施の形態3に係る測距装置の動作を説明する図である。
図15は、本発明の実施の形態3に係る測距装置の動作を説明する図である。
図16は、本発明の実施の形態3に係る測距装置の性能を説明する図である。
図17は、本発明の実施の形態3に係る測距装置の動作を説明する図である。
図18Aは、本発明の実施の形態3に係るSADの推移を示す図である。
図18Bは、本発明の実施の形態3に係るSADの推移を示す図である。
図19は、本発明の実施の形態3に係る合成SADの推移を示す図である。
図20は、本発明の実施の形態3に係る測距装置の性能を説明する図である。
図21は、本発明の実施の形態4に係る測距装置の構成を示す図である。
図22は、本発明の実施の形態4に係る測距装置と対象物との位置関係を示す図である。
図23は、本発明の実施の形態4に係る測距装置による対象物の三次元位置又は距離算出に関する処理の流れを示すフローチャートである。
図24Aは、本発明の実施例に係る測距装置の構成を示す図である。
図24Bは、本発明の実施例に係る測距装置の構成を示す図である。
図24Cは、本発明の実施例に係る測距装置の構成を示す図である。
図24Dは、本発明の実施例に係る測距装置の構成を示す図である。
図24Eは、本発明の実施例に係る測距装置の構成を示す図である。
図24Fは、本発明の実施例に係る測距装置の構成を示す図である。
図25Aは、本発明の実施例に係る測距装置で性能評価するための画像を示す図である。
図25Bは、本発明の実施例に係る測距装置で性能評価するための画像を示す図である。
図25Cは、本発明の実施例に係る測距装置で性能評価するための画像を示す図である。
図25Dは、本発明の実施例に係る測距装置で性能評価するための画像を示す図である。
図26Aは、本発明の実施例に係る測距装置での性能評価を示す図である。
図26Bは、本発明の実施例に係る測距装置での性能評価を示す図である。
図26Cは、本発明の実施例に係る測距装置での性能評価を示す図である。
図26Dは、本発明の実施例に係る測距装置での性能評価を示す図である。
図27Aは、本発明の変形例に係る撮像光学系の配置を示す図である。
図27Bは、本発明の変形例に係る撮像光学系の配置を示す図である。
図28Aは、本発明に係る撮像光学系の配置について説明するための図である。
図28Bは、本発明に係る撮像光学系の配置について説明するための図である。
図28Cは、本発明に係る撮像光学系の配置について説明するための図である。
図29Aは、本発明に係る撮像光学系の配置について説明するための図である。
図29Bは、本発明に係る撮像光学系の配置について説明するための図である。
図30は、ステレオ測距方式による対象物までの距離算出の例を説明する図である。
図31は、従来技術の説明における測距装置と対象物との位置関係を表す図である。
図32は、従来技術の説明におけるカメラと対象物の一点をYw軸のマイナス側から見た図である。
図33は、従来技術の説明におけるカメラと対象物の一点をXw軸のプラス側から見た図である。
図34は、画像における各画素の輝度の表現方法について説明する図である。
図35Aは、従来技術の説明における写像した対象物のテクスチャを対象物側からみた、画像の一部を示す図である。
図35Bは、従来技術の説明における写像した対象物のテクスチャを対象物側からみた、画像の一部を示す図である。
図36は、従来技術の説明におけるSADの推移を示す図である。
図37は、従来技術の説明におけるSADの推移を示す図である。
図38Aは、従来技術の説明における対象物側からみた画像の一部を示す図である。
図38Bは、従来技術の説明における対象物側からみた画像の一部を示す図である。
図39は、従来技術の説明における等角直線フィッティングによるサブピクセル視差推定を説明する図である。
図40Aは、従来技術の説明における別の構成の測距装置を示す図である。
図40Bは、従来技術の説明における別の構成の測距装置を示す図である。
符号の説明
1s、1a、1b カメラ
2s、2a、2b、21a、21b、21c、21d、21e、21f、21g、21h レンズ
3s、3a、3b、22a、22b、22c、22d、22e、22f、22g、22h 撮像領域
4 A/D変換部
5 前処理部
6 相関値算出部
7 相関値加算部
8 視差算出部
9 後処理部
10s、10a、10b 光学中心
11s、11a、11b 光軸
12 対象物
13 対象物の表面上の点
14s、14a、14b、15s、15a、15b ブロック
16a、16b、17a、17b 矢印
20 複眼カメラ
23 平滑化フィルタ部
24 視差換算部
25s 光学中心
50、60、70、80 測距装置
以下に、本発明の実施の形態について、図面を参照しながら説明する。
(実施の形態1)
図1は、本実施の形態に係る測距装置50の構成を示す図である。この測距装置50は、3つのカメラ1s、1a、1b並びにA/D変換部4、前処理部5、相関値算出部6、相関値加算部7、視差算出部8及び後処理部9を備える。
3つのカメラ1s、1a、1bは、それぞれ同様の構成を有する。つまり、カメラ1sはレンズ2s及び撮像領域3sを備え、カメラ1a及び1bは、それぞれレンズ2a及び撮像領域3a並びにレンズ2b及び撮像領域3bを備える。ここで、カメラ1sを基準撮像光学系s、カメラ1a及び1bをそれぞれ参照撮像光学系a及び参照撮像光学系bと呼ぶ。
撮像領域3s、3a、3bは、例えばCCDやCMOSなどの固体撮像素子上に構成され、レンズ2s、2a、2bを通過した対象物の光から画像を生成する。
ここで、本実施の形態に係る基準撮像光学系s並びに参照撮像光学系a及びbは、以下に示す特徴を有する。まず、各撮像光学系の光軸は平行である。そして、各撮像光学系の光学中心は一直線上に配置され、かつ、その直線は光軸に垂直である。また、各撮像光学系の撮像領域(2次元平面)と光軸は垂直に配置され、焦点距離(撮像領域から光学中心までの距離)は全ての撮像光学系で同一である。さらに、各撮像光学系の光学中心を結ぶ線、つまりエピポーラ線は各撮像領域の水平方向の画素配列と平行であり、各撮像光学系間の視差は各撮像領域の画素配列の水平方向に生じる。
なお、本発明において、上記に示した本実施の形態に係る基準撮像光学系s並びに参照撮像光学系a及びbの光軸、光学中心、撮像領域及び焦点距離等に関する特徴を、厳密に満たす必要はない。キャリブレーション処理等により補正可能であれば、例えば、光軸は厳密に互いに平行でなくてもよい。また、光軸、光学中心、撮像領域及び焦点距離等に関する特徴の誤差が、無視できる程度であれば問題ない。
また、基準撮像光学系sは、3つの撮像光学系の真ん中に配置され、基準撮像光学系sの光学中心と参照撮像光学系aの光学中心との距離(以降、基線長と呼ぶ)Baと、基準撮像光学系sの光学中心と参照撮像光学系bの光学中心との距離(基線長)Bbとは同一である。つまり、参照撮像光学系a及びbは、基準撮像光学系sに対して点対称に配置されている。
A/D変換部4は、撮像領域3s、3a、3bを構成する撮像素子から伝送される輝度情報をアナログ値からデジタル値に変換する(量子化)。ここで、撮像領域3sの像をA/D変換部4が量子化したものを画像s、撮像領域3a及び撮像領域3bの像をA/D変換部4が量子化したものを画像a及び画像bとする。A/D変換部4は、カメラ1s、1a、1b毎に別個に構成されてもよいし、カメラ1s、1a、1bに対して共通に構成されてもよいし、いずれかのみが別個に構成されてもよい。
前処理部5は、デジタル値に変換された各撮像領域の輝度情報について、キャリブレーション、輝度のシェーディング補正、光学系間の明るさの差の低減補正など画像の相関演算を高精度に行うための画像の補正処理を行う。例えば、一般的に知られるレンズ歪曲補正やステレオ画像の平行化などのキャリブレーション処理である。このキャリブレーション処理を行うことで、実装誤差を補正した画像を得ることができる。なお、本実施の形態では前処理部5がキャリブレーション処理などの画像補正を行う場合について説明するが、本発明が適用される測距装置は、このような測距装置に限定されるものではない。例えば、キャリブレーション処理がない測距装置であってもよい。
相関値算出部6は、詳細は後述するが、参照撮像光学系a及びbのそれぞれについて、基準撮像光学系sの光学中心と参照撮像光学系a又はbの光学中心とを結ぶ直線である基線の方向に沿って、画像sに含まれる基準画像に対し画像a又はbに含まれる参照画像の画像位置(画像座標)をずらして画像を比較していった場合のずらし量ごとに、基準画像と参照画像との類似度を表す相関値を算出する(ブロックマッチング演算)。ここで、基準画像に対し参照画像の一方の画像位置をずらしていくとは、基準撮像光学系及び参照撮像光学系が生成した画像の一部の領域を、それぞれ基準画像及び参照画像として選択し、基準画像に対し参照画像の選択位置(探索位置)をずらしていくことをいう。
相関値加算部7は、詳細は後述するが、相関値算出部6で撮像光学系の組合せ毎に算出された相関値を、対応するずらし量ごとに加算することで、実際視差を基準として対称な分布となる合成相関値を算出する。
視差算出部8は、相関値加算部7で加算された実際視差を基準として対称な分布となる合成相関値を、対称性を利用した補間式を用いて補間することにより、基準画像及び参照画像におけるサブピクセルレベルの視差を推定する。ここで、サブピクセルレベルとは小数点以下の画素の精度をいう。
後処理部9は、視差算出部8で算出されたサブピクセルレベルの視差に基づき対象物の三次元位置(又は測距装置から対象物までの距離)を算出する処理や、推定した三次元形状のフィルタリング処理や、推定した対象物のテクスチャを作成する処理など、アプリケーション毎の出力に応じたデータを作成する。なお、本実施の形態では、後処理部9が対象物の三次元位置や距離を算出する場合について説明するが、本発明が適用される装置は、このような測距装置に限定されるものではない。例えば、後処理部9が視差算出部8で算出された視差を他の装置に出力する装置であってもよい。この場合、対象物までの距離を測定しないことから、視差を算出する装置を複眼撮像装置と呼ぶ。
図2は、図1で示した測距装置50と対象物12との位置関係を示す図である。光学中心10sは基準撮像光学系sの光学中心、光学中心10aは参照撮像光学系aの光学中心、光学中心10bは参照撮像光学系bの光学中心である。ここで、基準撮像光学系sの光学中心10sを三次元の世界座標系の原点Mw(0、0、0)とする。
光軸11sは基準撮像光学系sの光軸、光軸11a、11bはそれぞれ参照撮像光学系a、参照撮像光学系bの光軸である。
対象物12は三次元位置又は距離を測定する対象物である。
対象物の表面上の点13は対象物12の表面上の一点であり、ここでは点13の周辺の領域は撮像領域と平行に設置されている。また、点13の世界座標はMw(Xw1、Yw1、Zw1)である。
次に、以上のように構成された本実施の形態における測距装置50の基本的な動作について説明する。
図3は、測距装置50による対象物12の三次元位置又は距離算出に関する処理の流れを示すフローチャートである。
まず、A/D変換部4は、撮像領域3s、3a、3bを構成する撮像素子から伝送される輝度情報をアナログ値からデジタル値に変換する(S101)。
次に、前処理部5は、デジタル値に変換された各撮像領域の輝度情報について、キャリブレーション、輝度のシェーディング補正、光学系間の明るさの差の低減補正など画像の相関演算を高精度に行うための画像の補正処理を行う(S102)。
続いて、相関値算出部6は、ステップS102で補正処理された画像を所定の小領域(以下、ブロックと呼ぶ)に分割する(S103)。そして、相関値算出部6は、三次元位置又は距離算出の対象となる対象物12の表面上の点13に対応する画像sのブロックを基準画像として選択する(S104)。そして、相関値算出部6は、まだ以下に記述するステップS106〜S109の処理が行われていない参照撮像光学系が生成した画像a又は画像bを取得できれば、ループ1を開始する(S105)。さらに、相関値算出部6はずらし量を取得できればループ2を開始する(S106)。
そして、相関値算出部6は、ステップS105で取得した画像a又は画像bの中から、ステップS106で取得したずらし量に対応するブロックを参照画像として選択する(S107)。続けて、ステップS104で選択した画像sのブロックである基準画像と、ステップS107で選択した画像a又はbのブロックである参照画像との類似度を表す相関値、例えばSADを算出する(S108)。
このようにして、相関値算出部6は、予め定められた最小ずらし量から順にずらし量を大きくしていき、ずらし量ごとの相関値を算出する(S106〜S109)。ここで、ずらし量が予め定められた最大ずらし量に達した場合、相関値算出部6は、ループ2(S106〜S109)を終了する。
また、ループ2(S106〜S109)、つまり、ずらし量ごとの相関値の算出が終了すると、相関値算出部6は、相関値の算出に係る処理が行われていない参照撮像光学系が生成した画像を取得し、ループ2(S106〜S109)の処理を繰り返す(S105〜S110)。ここで、相関値の算出に係る処理が行われていない参照撮像光学系が生成した画像がない場合、つまり、画像a及び画像bの両方の処理が終了した場合、相関値算出部6は、ループ1(S105〜S110)を終了する。
続いて、相関値加算部7は、上述の処理で算出された基準画像と各参照画像との相関値を、対応するずらし量ごとに加算することにより合成相関値を算出する(S111)。この処理により得られる合成相関値は、実際視差を基準として対称な分布を形成する。
そして、視差算出部8は、ステップS111において加算された後のずらし量ごとの相関値を、対称性を利用した補間式を用いて補間する(S112)。ここで用いる補間式は、例えば、等角直線フィッティングやパラボラフィッティング(二次関数によるフィッティング)などの相関値が実際視差を基準として対称な分布を形成することを前提としたサブピクセル視差推定方法で利用される補間式である。そして、視差算出部8は、補間後の相関値を利用して、相関値が最大又は最小となる(類似度が最も高い)ずらし量であるサブピクセル視差を算出する(S113)。具体的には、相関値としてSADを利用した場合、視差算出部8は、SADが最小となるずらし量をサブピクセル視差として算出することとなる。
このようにして得られた視差を利用して、後処理部9は、対象物の三次元位置又は距離を算出する(S114)。
なお、上述の処理において、測距装置50は、画像sの選択した1ブロックについて、サブピクセル視差を求め、対象物の三次元位置や距離を算出するようになっているが、画像sのブロック選択を繰り返すことで、画像sの全てのブロックについて、サブピクセル視差を求め、対象物の三次元位置や距離を算出してもよい。
次に、図3において説明した処理の具体例として、測距装置50による対象物12の三次元位置の算出について、図4〜図7を参照しながら説明する。
図4は、図2の対象物12の表面上の点13の周辺のテクスチャを基準撮像光学系sで撮影した場合の、対象物側から見た画像sの一部を示す図である。背景技術の説明と同様に各四角形は画素を表し、各画素中の線の密度が輝度値を表す。図に示すように、点13は画像s上では、黒丸で示す位置に対応するとする。
このような場合、図3のステップS103で示したように、相関値算出部6は、各撮像光学系から得られる画像を所定の小領域(ブロック)に分割し、各ブロック毎に三次元位置を算出する。
基準撮像光学系sにおけるブロックサイズを水平方向に4画素、垂直方向に4画素の4×4画素とした場合、図3のステップS104で示したように、画像sについては、測定の対象となる対象物12の表面上の点13が含まれるブロック14sの位置のブロックを基準画像として選択する。なお、画像sにおける基準画像の選択は、測定の対象となる対象物12の表面上の点13が含まれていればどのように選択してもよく、例えば、図4で示した位置よりも1画素左にずれた位置のブロックを基準画像として選択してもよい。
ところで、基準撮像光学系sと参照撮像光学系a間の基線長Baと、基準撮像光学系sと参照撮像光学系b間の基線長Bbとは等しいため、画像sに対して画像a及び画像bに発生する視差は、方向が逆で大きさが同一となる。ここでは、画像a及び画像bで発生する実際視差は、いずれも3.6画素とする。
このように実際視差が3.6画素の場合、画像sのブロック14sと同一の画像aの画像座標には、図4に示すブロック14aの位置の画像が写る。また、画像sのブロック14sと同一の画像bの画像座標には、図4に示すブロック14bの位置の画像が写る。つまり、画像s、画像a、画像bの同一の画像座標における対象物12の画像は図5A〜図5Cのようになる。ここで、画像座標とは、各撮像光学系の光軸と撮像面との交点を原点とした場合の画素の位置を表す座標とする。なお、対象物が無限遠に相当する位置にある場合には、画像s、画像a、画像bにおいて、対象物の像は同一の画像座標に結像する。
図5Aは基準撮像光学系sで撮影した画像sの一部を示す図である。図5Bは参照撮像光学系aで撮影した画像aの一部を示す図である。図5Cは参照撮像光学系bで撮影した画像bの一部を示す図である。
図5A〜図5Cにおいて、各画像中の太線で囲われた4×4画素のブロックが、図4で示したブロック14s、14a、14bに対応し、同一の画像座標のブロックを表す。以下に、画像sと画像a又は画像bとの相関値として、(式4)により求められるSADを利用した場合の、相関値算出の方法を示す。
まず、図2のステップS105〜S110で示すように、相関値算出部6は参照撮像光学系が撮像した画像のうち、画像a、つまり、図5Bの画像を取得する。そして、相関値算出部6は、既に選択されている基準画像である画像sのブロック、つまり、図5Aの太線で囲われたブロックと画像aのブロックである参照画像とを対象として、SADを算出する。このとき、相関値算出部6は、最小ずらし量である0画素に対応する図5Bの太線で囲われたブロックから、最大ずらし量である7画素に対応するブロックまで、視差の生じる方向、つまり図5Bに示す矢印の方向である画像水平方向右側へ1画素ずつブロックをずらしなから参照画像とするブロックを選択する。その結果、各ずらし量ごとのSADが算出される。このようにして算出されたSADの推移を図6Aに示す。
次に、相関値算出部6は、まだ相関値が算出されていない画像b、つまり、図5Cの画像を選択する。そして、相関値算出部6は、画像aの場合と同様に、基準画像と参照画像とのSADを算出する。このとき、相関値算出部6は、最小ずらし量である0画素に対応する図5Cの太線で囲われたブロックから、最大ずらし量である7画素に対応するブロックまで視差の生じる方向、つまり図5Cに示す矢印の方向である画像水平方向左側へ1画素ずつブロックをずらしながら参照画像とするブロックを選択する。その結果、各ずらし量ごとのSADが算出される。このようにして算出されたSADの推移を図6Bに示す。
図6A及び図6Bは、画像sと画像a及び画像sと画像bとのSADの推移を表す図である。図に示すSADの推移は、いずれも実際視差を基準として左右非対称になっているため、前述の等角直線フィッティングによってサブピクセル視差を推定した場合、実際視差である3.6画素に対して、画像aにおいてはマイナス側に約0.4画素の誤差(図6A)、画像bにおいてはプラス側に約0.5画素の誤差(図6B)が発生する。
そこで、図2のステップS111で示すように、相関値加算部7は、SADの推移が実際視差を基準として左右対称となるように、対応するずらし量ごとにSADを加算することにより合成相関値を算出する。
図7は、図6Aと図6Bに示したSADを各ずらし量ごとに加算した場合の合成相関値である合成SADの推移を示す図である。図に示すように、加算後のSADの推移は、実際視差を基準として対称となる。ここで、相関値加算部7が算出する合成SADの推移S_sum(i)は、図6AのSADの推移をSa(i)、図6BのSADの推移をSb(i)とすると、(式6)で算出することができる。
このように、合成SADの推移は、実際視差を基準として対称となっているので、図2のステップS112で示すように、対称性を利用した補間式を用いる前述の等角直線フィッティングによってサブピクセル視差を推定した場合、視差算出部8は、図7に示すように0.1画素未満の誤差で視差を算出できる。したがって、SADの推移が左右非対称となる場合に比べて大幅にサブピクセル視差推定精度を向上することができる。すなわち、等角直線フィッティングではSADの推移が実際視差を基準にして対称で、且つSADの推移が直線的になる場合に誤差なくサブピクセル視差推定を行うことができる。特に図7で示すように、SADの推移が直線的でないため視差の推定誤差は発生するが、相関値(SAD)の加算によって実際視差を基準としてSADの推移が対称にすることができるために視差の推定誤差を非常に小さくすることができる。
このように視差算出部8が算出したサブピクセルレベルの視差に基づき、図3のステップS114に示すように、後処理部9は、出力に応じた形態に視差を変換してデータを出力する。例えば対象物の三次元位置を出力する場合は、画像sの2次元画像座標系であるm(us1、vs1)から図2の光軸10sと撮像領域3sとの交点を原点とする2次元座標系であるms(xs1、ys1)に変換し、従来技術の説明と同様に(式1)、(式2)、(式3)を用いて画像sの各ブロックに対する三次元位置を求めることができる。ここで、(式1)の視差Pは算出されたサブピクセル視差に画素ピッチを掛けることで求めることができる。また、測距装置から対象物までの距離のみを算出する場合は、従来技術の説明と同様に(式1)を用いて距離を算出することができる。
次に図8、図9A及び図9Bを用いて、本実施の形態において、図7に示すように合成相関値(ここでは合成SAD)の推移が実際視差に対して対称になる原理を説明する。
図8は対象物12側から見た、画像sに写像された対象物12の表面上の点13の周辺のテクスチャを示す図である。また、太線で囲われたブロック15sは、図5Aで示す太線で囲われたブロックと同一である。
点線で囲われたブロック15aは、画像sのブロック15sと同一の画像座標に写像される画像aの画像領域である。また、点線で囲われたブロック15bは、画像sのブロック15sと同一の画像座標に写像される画像bの画像領域である。ここで、図6Aに示したSADの推移は、図8の黒い矢印16a及び白い矢印17aの領域について参照画像である画像aのブロックをずらしなから算出したものに相当する。一方、図6Bに示したSADの推移は、図8の白い矢印16b及び黒い矢印17bの領域について参照画像である画像bのブロックをずらしながら算出したものに相当する。
ところで、演算では離散的な点でしかSADを算出できない。そこで、仮にSADを算出する間隔、つまり、サンプル間隔が無限に小さいとした場合のSADの推移を図9A及び図9Bに示す。
図9Aは、サンプル間隔が無限に小さいとした場合の図6A及び図6Bに対応するSADの推移を示す図である。また、図9Bは、サンプル間隔が無限に小さいとした場合の合成SADの推移を示す図である。
図9Aにおいて、実線で示すSADの推移は、図6Aに対応する画像aのSADの推移を示す。実線で示したSADの推移のうち、ずらし量0から実際視差のずらし量までのSADの推移(実線18a)が、図8に示す黒い矢印16aの領域でのSADに相当し、実際視差のずらし量からそれ以上のずらし量でのSADの推移(実線19a)が、図8に示す白い矢印17aの領域でのSADに相当する。なお、図9Aの黒点は実際のサンプル点である。
一方、点線で示すSADの推移は、図6Bに対応する画像bのSADの推移を示す。点線で示したSADの推移のうち、ずらし量0から実際視差のずらし量までのSADの推移(点線18b)が、図8に示す白い矢印16bの領域でのSADに相当し、実際視差のずらし量からそれ以上のずらし量でのSADの推移(点線19b)が、図8に示す黒い矢印17bの領域でのSADに相当する。なお、図9Aの白丸の点は実際のサンプル点である。
図8において、黒い矢印16aでのSADの推移、つまり、画像aにおけるずらし量0から実際視差までの推移と、黒い矢印17bでのSADの推移、つまり、画像bにおける実際視差からそれ以上のずらし量での推移とでは、サンプル間隔が無限に小さい場合には、実際視差のずらし量を基準にSADを算出する基準画像と参照画像の組み合わせが同一になる。そのため、図9Aの実線18aで示されるSADの推移と点線19bで示されるSADの推移とは、実際視差のずらし量を基準に対称となる。
同様に、図8において、白い矢印17aでのSADの推移、つまり、画像aにおける実際視差のずらし量からそれ以上でのずらし量での推移と、白い矢印16bでのSADの推移、つまり、画像bにおけるずらし量0から実際視差のずらし量での推移とでは、サンプル間隔が無限に小さい場合には、実際視差のずらし量を基準にSADを算出する基準画像と参照画像の組み合わせが同一になる。そのため、図9Aの実線16bで示されるSADの推移と点線17aで示されるSADの推移とは実際視差のずらし量を基準に対称となる。
これらの理由から、各ずらし量での画像s及び画像aのブロック間のSADと、画像s及び画像bのブロック間のSADとを加算した場合、図9Bに示すように合成SADの推移が実際視差を基準として対称になる。なお、サンプル間隔が大きくなっても上記の対称性は損なわれないことは言うまでもない。したがって、本実施の形態において、図7に示すように合成相関値(ここでは合成SAD)の推移が実際視差を基準として対称となる。
なお、相関値を算出する際にSADでなく、例えばSSDやNCCなど他の相関値を利用したとしても、上述のように異なる撮像光学系での基準画像と参照画像との組合せの同一性に起因することから、合成相関値が実際視差を基準として対称となる。
また、本実施の形態では画像s中の1ブロックについて説明を行っているが、画像s中の全ブロックについて同様の演算をすることで、画像sに映っている対象物のすべての三次元位置を求めることができる。
また、本実施の形態において、後処理部9は、対象物12の三次元位置や距離を算出していたが、視差算出部8で算出された視差を利用して複数の画像を合成するとしてもよい。
以上のように、本実施の形態によれば、対象物の輝度の分布によらず相関値の推移が実際視差を基準として対称となるため、対象物によらず高精度にサブピクセル視差を推定可能な複眼撮像装置及び測距装置を提供することができる。
(実施の形態2)
次に、本発明の実施の形態2に係る測距装置について説明する。
本実施の形態に係る測距装置60は、前処理部5に画像の高周波成分を低減させる平滑化フィルタ部を備えることが実施の形態1の測距装置50と異なっているが、その他の構成部及び機能等は実施の形態1の測距装置50と同じである。そのため、本実施の形態の測距装置の特徴的な部分を中心に説明する。
図10は、本実施の形態に係る測距装置60の構成を示す図である。なお、実施の形態1と同じ構成部に関しては同一符号にて示し、説明を省略する。
図に示すように、本実施の形態に係る測距装置60が備える前処理部5は、実施の形態1と同様の画像の相関演算を高精度に行うための画像の補正処理に加えて、例えばガウシアンフィルタや平均化フィルタや加重平均化フィルタのような画像の高周波成分を低減させる処理を行う平滑化フィルタ部23を有する。
このように高周波成分を低減させた画像を用いて、相関値算出部6が、実施の形態1で示した処理と同様の処理により相関値の推移を算出すると、相関値の推移の直線性が若干改善される。
図11A及び図11Bは、図4で示した画像s、画像a、画像bに対してσ=1のガウシアンフィルタを施した場合に得られるSADの推移を示す図である。
図11A及び図11Bでは、画像の高周波成分の輝度分布が低減された分、実施の形態1の図6A及び図6Bで示したSADの推移と比べて、SADの推移の直線性は若干改善される。しかし、実際視差を基準としたSADの推移の対称性は殆ど改善されない。よって、図11A及び図11Bに示したそれぞれのSADの推移に対して、前述の等角直線フィッティングによるサブピクセル視差推定を行っても、視差推定の大幅な精度改善は期待できない。そこで、実施の形態1と同様に、相関値加算部7がずらし量ごとにSADを加算することで、SADの推移の対称性を向上させる必要がある。
図12は、図11A及び図11Bに示したSADをずらし量ごとに加算した場合の合成SADの推移を示す図である。
視差算出部8が合成SADの推移に対して等角直線フィッティングによるサブピクセル視差推定を行うと、実施の形態1の場合よりもさらに誤差が低減される。これは、前述のように合成SADの推移が実際視差を基準として対称になることに加えて、平滑化フィルタ部23による輝度分布の高周波成分の低減によりSADの推移の直線性が向上したためである。すなわち、SADの推移が実際視差を基準として対称にならない被写体の場合は、平滑化フィルタ部23が画像の高周波成分を除去するだけでは、等角直線フィッティングによるサブピクセル視差推定の精度は大きく向上しない。しかし、本実施の形態のように、相関値加算部7がSADを加算することで合成SADの推移が実際視差を基準として対称になる場合には、等角直線フィッティングによるサブピクセル視差推定の精度を被写体によらず大幅に向上させることができる。
以上のように、本実施の形態によれば、平滑化フィルタ部23が画像の高周波成分を除去することにより、相関値(ここではSAD)の推移の直線性を向上させる。その結果、低次の補間式を用いて相関値の推移を補間した場合に、測距装置はさらに高精度にサブピクセル視差を推定することが可能となる。
(実施の形態3)
次に、本発明の実施の形態3に係る測距装置について説明する。
図13は、本実施の形態に係る測距装置70の構成を示す図である。図13に示すように参照撮像光学系bの光学中心19bは、基準撮像光学系sの光学中心19sと参照撮像光学系aの光学中心19aとを結ぶ直線(図13の点線18)に対して、点線18の垂直方向に距離Error_vだけかい離している。つまり、測距装置70は、光学中心位置誤差(以下、基線垂直方向誤差という。)Error_vを有する。また、光学中心19sと光学中心19aとの距離である基線長Baと、光学中心19sと光学中心19bとの距離である基線長Bb(点線18と平行方向の距離)とはError_hの差異を持つ。つまり、測距装置70は、基線長誤差(以下、基線方向誤差という。)Error_hを有する。その他の構成部及び機能等は図10の実施の形態2の測距装置60と同じである。そのため、本実施の形態の測距装置の特徴的な部分を中心に説明する。
図10の実施の形態2のように参照撮像光学系の光学中心を基準撮像光学系の光学中心に対して点対称に配置することにより、高精度な視差検出精度を持つ測距装置を実現できるが、実際にはカメラの実装誤差やレンズ成型誤差などに起因して、図13に示すように基線垂直方向誤差Error_vや基線方向誤差Error_hが発生する場合がある。これらの誤差が大きいほど、実施の形態2の図12で示した相関値の推移が、実際視差を基準として左右対称にならなくなってくる。したがって、本実施の形態ではこれらの誤差が相関値の推移に及ぼす影響と、その許容範囲について説明する。なおここでは、基準撮像光学系sと参照撮像光学系a及びbとの光軸は平行とし、基準撮像光学系の光軸は撮像領域3sの領域中心に位置し、かつ参照撮像光学系a及びbの光軸は撮像領域3a及び3bの領域中心に位置すると仮定する。さらに撮像領域3sと撮像領域3aと撮像領域3bにおいて、縦横の画素配列はそれぞれ平行であると仮定する。なお、上記の仮定を満たさない場合でも、前処理部5におけるキャリブレーションによる補正により上記仮定が成立するよう実現してもよい。
まず基線垂直方向誤差Error_vがある場合について説明する。ここでは基線方向誤差Error_hはないものとする。基線垂直方向誤差Error_vがある場合、図14に示すように、画像aにおいて、基準画像に類似する参照画像の画像座標を探索する探索方向と視差の発生方向とは一致する。しかし、画像bにおいて、基準画像に類似する参照画像の画像座標を探索する探索方向と視差の発生方向とは、基線垂直方向誤差Error_vが大きいほど異なってくる。図14では視差の発生方向を点線、探索方向を実線で示している。図14では説明を直感的に示すために実際よりも視差の発生方向を大きく探索方向と異ならせて記載している。図14からわかるように、被写体距離が近いほど視差が大きくなるために視差の発生位置と探索位置との垂直方向のかい離が大きくなり、図12に示した実際視差を基準として左右対称となる相関値の推移が成り立たなくなってくる。例えば、カメラ1sとカメラ1aとカメラ1bが、焦点距離f=5mm、基線長Ba=20mm、基線長Bb=20mm、画素ピッチpitch=0.002mmとし、基線垂直方向誤差Error_v=0.5mmとする。被写体距離D=2000mmである場合は、(式1)に基づき視差Pを計算すると、図15に示すように視差が25画素発生する。このとき画像aに含まれる被写体像は図14で説明したように視差の探索方向つまり基線と水平方向に視差25画素が発生し、一方画像bに含まれる被写体像は図14の点線方向に視差25画素が発生する。このとき画像bに含まれる被写体像は、基線垂直方向誤差Error_vの影響により、画像sに比べて視差探索方向の垂直方向に約0.62画素ずれて写像される。視差探索方向と平行方向には約24.99画素の視差となり25画素に対して0.01画素以下の無視できる差異の視差となる。したがって、画像sと画像aとにおけるSADの推移と、画像sと画像bとにおけるSADの推移とが、視差探索方向と垂直方向にこの場合約0.62画像がずれることに起因して、実際視差を基準として厳密に左右対称でなくなる。被写体距離が更に近い場合は、画像bの視差探索方向の垂直方向への写像のずれが大きくなり、SADの推移の左右対称性が更に低下する。
図16に、図13に示すように基線垂直方向誤差Error_vを有する測距装置を用いてある被写体を撮像した場合の測距精度の低下(視差検出誤差の増加)をシミュレーションにより検証した結果のグラフを示す。測距精度の低下が視差探索方向の垂直方向への写像のずれ量に起因するため、図16の横軸は視差探索方向の垂直方向への写像のずれ量としている。Error_vは、図16の横軸の画像ずれ量をP_vとすると、(式7)で換算することができる。
ここで、Dは被写体距離、pitchは画素ピッチ、fは焦点距離である。図16では画像ずれP_vが大きくなるにしたがって、視差検出誤差が大きくなっているのがわかる。図16の点線の基準測距精度は、同一の被写体を用いた場合の図40Aの従来のステレオカメラ(3眼)の測距精度(視差検出誤差)をシミュレーションで求めた場合の結果である。従来のステレオカメラの焦点距離、画素ピッチ、被写体距離は同一に設定し、図40Aの基準撮像光学系sと参照撮像光学系aとの基線長及び基準撮像光学系sと参照撮像光学系bとの基線長はいずれも図13の本実施の形態の基線長Baと同一にしている。この従来のステレオカメラ(3眼)のシミュレーション結果には基線垂直方向誤差Error_vに相当する実装誤差は与えていない(従来のキャリブレーション手法等により補正可能なため)ため、基準測距精度は一定値となる。図16より、画像ずれP_vが0.15画素以内であれば、従来のステレオカメラより高精度に測距(視差検出)できることがわかる。したがって、本実施の形態の測距装置70において、基線垂直方向誤差Error_vを、(式7)のP_v=0.15として、(式8)となるよう測距装置70を構成することにより、測距装置70は従来のステレオカメラより高精度に測距(視差検出)をすることができる。
例えば、(最小)被写体距離D=500mm、画素ピッチpitch=0.002mm、焦点距離5mmの場合、垂直方向誤差Error_vを0.03mm以内に作成することにより、従来のステレオカメラより高精度に測距(視差検出)をすることができる。したがって、図13の各カメラの光学中心の相対位置を実装時に(式8)を満たすよう高精度に実装すればよい。例えばレンズ2s、2a、2bを一体成型により作成することによって比較的容易に実現可能である。また、MEMS(Micro Electro Mechanical Systems)技術等によって実現されるウェーハレベルカメラ(日経MICRODEVICES 2008年7月号参照)などのカメラ大量生産技術を用いたステレオカメラでも実現可能であることは言うまでもない。また、本実施の形態では3眼についての説明を行っているが、5眼、7眼、9眼など多数の光学系でも適用可能であることは言うまでもない。なお、図16に示すグラフから得られるP_v=0.15は、特定の被写体を撮像した場合にのみに得られる値ではない。被写体を変えても同様の傾向が得られ、P_v=0.15は、被写体に依存しない値である。
次に、基線方向誤差Error_hがある場合について説明する。ここでは基線垂直方向誤差Error_vはないものとする。基線方向誤差Error_hがある場合、図13に示すように基線長Baと基線長Bbとが異なるために、図17に示すように、同一被写体に対する画像aに生じる視差Paと、画像bに生じる視差Pbが異なる。したがって図18A及び図18Bに示すように、画像sと画像aとのSADの推移(図18A)と、画像sと画像bとのSADの推移(図18Bの黒丸)との実際視差に対する対称性が悪くなる。ここでの実際視差は画像sと画像aとの実際視差を指している。基線方向誤差Error_hが大きいほど、実際視差に対する対称性が悪くなる。これは、例えば基線方向誤差Error_hが正の場合は、図18Bに示すように、画像sと画像bとのSADの推移がずらし量の大きくなる方向に平行移動するためである。基線方向誤差Error_hが大きいほど、上記平行移動の量が多くなり対称性が悪くなる。図18Bにおいて白丸のSADの推移は、図10の実施の形態2における画像sと画像bとのSADの推移である(つまり、Error_h=0)。図19に、図18Aと図18BとのSADをずらし量ごとに加算した合成SADの推移を示す。図19から明らかなように、実際視差を基準としたSADの推移の対称性が悪くなることにより、推定視差が実際視差からずれているのがわかる。
図20に、図13に示すように基線方向誤差Error_hを有する測距装置によりある被写体を撮像した場合の測距精度の低下(視差検出誤差の増加)をシミュレーションにより検証した結果のグラフを示す。視差検出誤差が視差探索方向への写像のずれ量に起因するため、図20の横軸は視差探索方向への写像のずれ量としている。Error_hは、図20の横軸の画像ずれ量をP_hとすると、(式9)で換算することができる。
ここで、Dは被写体距離、pitchは画素ピッチ、fは焦点距離である。図20では画像ずれP_hが大きくなるにしたがって、視差検出誤差が大きくなっているのがわかる。図20の実線の基準測距精度は、同一の被写体を用いた場合の図40Aの従来のステレオカメラ(3眼)の測距精度(視差検出誤差)をシミュレーションで求めた場合の結果である。従来のステレオカメラの焦点距離、画素ピッチ、被写体距離は同一に設定し、図40Aの基準撮像光学系sと参照撮像光学系aとの基線長及び基準撮像光学系sと参照撮像光学系bとの基線長はいずれも図13の本実施の形態の基線長Baと同一にしている。この従来のステレオカメラ(3眼)のシミュレーション結果には基線方向誤差Error_hに相当する実装誤差は与えていない(従来のキャリブレーション手法等により補正可能なため)ため、基準測距精度は一定値となる。図20より、画像ずれP_hが0.2画素以内であれば、従来のステレオカメラより高精度に測距(視差検出)できることがわかる。したがって、本実施の形態の測距装置70において、基線垂直方向誤差Error_hを、(式9)のP_h=0.2として、(式10)となるように測距装置70を作成することにより、測距装置70は従来のステレオカメラより高精度に測距(視差検出)をすることができる。
例えば、(最小)被写体距離D=500mm、画素ピッチpitch=0.002mm、焦点距離5mmの場合、垂直方向誤差Error_vを0.04mm以内に作成することにより、従来のステレオカメラより高精度に測距(視差検出)をすることができる。したがって、図13の各カメラの光学中心の相対位置を実装時に(式10)を満たすよう高精度に実装するとよい。例えばレンズ2s、2a、2bを一体成型により作成することにより比較的容易に上記を実現可能である。また、MEMS技術等によって実現されるウェーハレベルカメラ(日経MICRODEVICES 2008年7月号参照)などのカメラ大量生産技術を用いたステレオカメラでも実現可能であることは言うまでもない。また、本実施の形態では3眼についての説明を行っているが、5眼、7眼、9眼など多数の光学系でも適用可能であることは言うまでもない。なお、図20に示すグラフから得られるP_h=0.2は、P_v=0.15と同様に、特定の被写体を撮像した場合にのみに得られる値ではない。被写体を変えても同様の傾向が得られ、P_h=0.2は、被写体に依存しない値である。
以上より、本実施の形態による測距装置70は、(式8)、(式10)を満たす構成であれば、従来のステレオカメラより高精度に測距(視差検出)をすることができる。
(実施の形態4)
次に、本発明の実施の形態4に係る測距装置について説明する。
本実施の形態に係る測距装置80は、参照撮像光学系を8つ備えることと相関値算出部6に参照撮像光学系間の視差の違いを換算する視差換算部を備えることとが、実施の形態2の測距装置60と異なっているが、その他の構成部及び機能等は実施の形態2の測距装置60と同じである。そのため、本実施の形態の測距装置の特徴的な部分を中心に説明する。
図21は、本実施の形態に係る測距装置80の構成を示す図である。なお、実施の形態2と同じ構成部に関しては同一符号にて示し、説明を省略する。
図21に示すように、測距装置80は複眼カメラ20を備える。複眼カメラ20は、一体成型された9つのレンズアレイと、9つの異なる撮像領域を有する単一のCCDやCMOSなどの固体撮像素子で構成される。ここで、光帯域分離フィルタや絞りなどは、本発明の主眼ではないため図示していない。複眼カメラ20は、レンズ径が通常のカメラより小さいためレンズの焦点距離を短く設計でき、光学系全体の厚さを非常に薄く構成することができる。また、レンズアレイによる一体成型とすることで、アレイに含まれる各光学系の光軸間の相対位置関係を高精度(例えば誤差5μm未満)に作成することも可能となる。
なお、本実施の形態では各撮像光学系がレンズアレイである場合について説明するが、本発明が適用される測距装置は、このような測距装置に限定されるものではない。例えば、別個の撮像光学系で測距装置を構成してもよい。撮像素子を複数用いてもよい。
基準撮像光学系sは、レンズ21s及び撮像領域22sを含む構成であり、固体撮像素子の中心付近に配置される。参照撮像光学系a〜hは、それぞれレンズ21a〜h及び撮像領域22a〜hを含む構成である。
ここでは、実施の形態2の測距装置60と同様に、基準撮像光学系s、参照撮像光学系a〜hは、以下に示す特徴を有する。まず、各撮像光学系の光軸は平行である。そして、各撮像光学系の光学中心は同一平面上に配置され、かつ、その平面は光軸に垂直である。また、各撮像光学系の撮像領域(2次元平面)と光軸は垂直に配置され、焦点距離(撮像領域から光学中心までの距離)は全ての撮像光学系で同一である。
また、基準撮像光学系sと参照撮像光学系aと参照撮像光学系bの光学中心は、同一直線上に配置される。そして、参照撮像光学系aの光学中心と参照撮像光学系bの光学中心とは、基準撮像光学系sを基準に点対称な位置に配置されている。また、基準撮像光学系sと参照撮像光学系cと参照撮像光学系dの光学中心は、同一直線上に配置される。そして、参照撮像光学系cの光学中心と参照撮像光学系dの光学中心とは、基準撮像光学系sを基準に点対称な位置に配置されている。また、基準撮像光学系sと参照撮像光学系eと参照撮像光学系fの光学中心は、同一直線上に配置されている。そして、参照撮像光学系eの光学中心と参照撮像光学系fの光学中心とは、基準撮像光学系sを基準に点対称な位置に配置されている。また、基準撮像光学系sと参照撮像光学系gと参照撮像光学系hの光学中心は、同一直線上に配置されている。そして、参照撮像光学系gの光学中心と参照撮像光学系hの光学中心とは、基準撮像光学系sを基準に点対称な位置に配置されている。
また、説明の便宜のため、基準撮像光学系sと参照撮像光学系aと参照撮像光学系bの光学中心を結ぶ前述の直線は、撮像領域22sの水平方向画素配列と平行であると仮定する。したがって、基準撮像光学系sと参照撮像光学系aとの間に生じる視差、及び基準撮像光学系sと参照撮像光学系bとの間に生じる視差は、各撮像領域の画素配列の水平方向に生じる。
以上より、基準撮像光学系sと参照撮像光学系aの基線長Baと、基準撮像光学系sと参照撮像光学系bの基線長Bbは等しい。また、基準撮像光学系sと参照撮像光学系cの基線長Bcと、基準撮像光学系sと参照撮像光学系dの基線長Bdは等しい。また、基準撮像光学系sと参照撮像光学系eの基線長Beと、基準撮像光学系sと参照撮像光学系fの基線長Bfは等しい。また、基準撮像光学系sと参照撮像光学系gの基線長Bgと、基準撮像光学系sと参照撮像光学系hの基線長Bhは等しい。
相関値算出部6は、実施の形態1で説明した相関値を算出する処理に加えて、視差の換算処理を行う視差換算部24を有する。視差換算部24は、詳細は後述するが、基線長が異なるように配置された参照撮像光学系の相関値を算出する際に、ブロックのずらし量を、相関値加算部7で加算が可能なずらし量に変換する。例えば、視差換算部24は、参照撮像光学系aと基線長が異なるように配置された参照撮像光学系eの相関値を算出する際に、基線長Beを基線長Baで除した値Leと、基線長Baと平行な方向の画素ピッチpitch_aを基線長Beと平行な方向の画素ピッチpitch_eで除した値Meとの積であるLe・Me(=Ke)を、参照撮像光学系aで生成された参照画像の相関値を算出する際に利用したブロックのずらし量に乗じることで、相関値加算部7で加算が可能なずらし量に変換する。ここで、基線長と平行な方向の画素ピッチとは、撮像光学系で撮像された画像において、基線と平行な同一直線上に画素の中心点と対応する点が出現する最短周期をいう。
なお、本実施の形態において、ずらし量の単位は、基線方向の画素ピッチを表す「画素」である。したがって、基線方向により画素ピッチが異なる撮像光学系間の相関値を加算する際には、視差換算部24は、単位の変換を行う必要がある。つまり、基線長の比を基準となるずらし量に乗じるだけではなく、さらに画素ピッチの比であるMeを乗じて、視差の換算を行う必要がある。しかし、ずらし量の単位が基線方向に依存しない単位である場合には、例えば、ミリメートルなどの単位である場合には、単位の変換は必要ない。すなわち、視差換算部24は、画素ピッチの比であるMeを用いずに、基線長の比であるLeに基準となるずらし量を乗じることで、ずらし量を換算することが可能となる。
相関値加算部7は、実施の形態2と同様に、相関値算出部6で光学系の組合せ毎に算出された相関値を、視差換算部24で変換されたずらし量に基づいて、対応するずらし量ごとの相関値をすべて加算する。その結果、相関値加算部7は、実際視差を基準として対称な推移となる合成相関値を算出する。
図22は、図21に示した測距装置80と対象物12との位置関係を示す図である。
図に示すように、実施の形態2と同様、基準撮像光学系sの光学中心25sを世界座標の原点Mw(0、0、0)とし、対象物12の表面上の1点である点13の世界座標をMw(Xw1、Yw1、Zw1)とする。
ところで、上述のように参照撮像光学系cと参照撮像光学系dについても、参照撮像光学系aと参照撮像光学系bと同様に、基準撮像光学系sの光学中心に対して点対称に撮像光学系の光学中心が配置され、且つ各光学中心は同一直線上に配置されている。そのため、基準撮像光学系sと参照撮像光学系c、及び、基準撮像光学系sと参照撮像光学系dのブロックマッチング演算で得られるずらし量毎のSADを加算すると、実際視差を基準として対称なSADの推移が得られる。しかし、基準撮像光学系sと参照撮像光学系a及び参照撮像光学系bの基線長と、基準撮像光学系sと参照撮像光学系c及び参照撮像光学系dの基線長とが異なる場合は、実際視差が変わる。よって、相関値加算部7が、同一のずらし量ごとにSADの推移を合成(加算)しても、実際視差を基準として対称なSADの推移が得られない。そこで、視差換算部24が、SADを算出する際のずらし量を基線長の長さと画素ピッチに合わせて変更する必要がある。
次に、以上のように構成された本実施の形態における測距装置80の基本的な動作について説明する。
図23は、測距装置80による対象物12の三次元位置又は距離算出に関する処理の流れを示すフローチャートである。
ステップS201〜S204の処理は、実施の形態1の図3で示したステップS101〜S104の処理と同様であるので説明を省略する。
ステップS204の処理が終了すると、相関値算出部6は、まだ以下に記述するステップS206〜S212の処理が行われていない参照撮像光学系が生成した画像a〜hのいすれかを取得できれば、ループ1を開始する(S205)。
次に、相関値算出部6が備える視差換算部24は、例えば基準撮像光学系sと参照撮像光学系a及び参照撮像光学系bを基準とすれば、参照撮像光学系aと基準撮像光学系sとの基線長(基準となる基線長)と、画素ピッチとを取得する(S206)。そして、視差換算部24は、ステップS205で選択された画像を生成した参照撮像光学系と基準撮像光学系sとの基線長と、画素ピッチとを取得する(S207)。続けて、視差換算部24は、ステップS206で取得した基準となる基線長とステップS207で取得した基線長及び画素ピッチに基づいて、新たなずらし量を算出する(S208)。
そして、相関値算出部6は、上述のように算出された新たなずらし量を取得できればループ2を開始する(S209)。
さらに、相関値算出部6は、ステップS205で取得した画像a〜hのいずれかの画像の中から、ステップS209で取得したずらし量に対応するブロックを参照画像として選択する(S210)。続けて、ステップS204で選択した画像sのブロックである基準画像と、ステップS209で選択した画像a〜hのいずれかの画像のブロックである参照画像との類似度を表す相関値、例えばSADを算出する(S211)。
このようにして、相関値算出部6は、ステップS208で算出された新たなずらし量ごとの相関値を算出する(S212、S209)。ここで、ずらし量が最大ずらし量に達した場合、相関値算出部6は、ループ2(S209、S212)を終了する。
また、ループ2(S209、S212)、つまり、ずらし量ごとの相関値の算出が終了すると、相関値算出部6は、相関値の算出に係る処理が行われていない参照撮像光学系が生成した画像を取得し、ループ2(S209、S212)の処理を繰り返す(S213、S205)。ここで、相関値の算出に係る処理が行われていない参照撮像光学系が生成した画像がない場合、つまり、画像a及び画像bの両方の処理が終了した場合、相関値算出部6は、ループ1(S205、S213)を終了する。
続いて、相関値加算部7は、上述の処理で算出された基準画像と各参照画像との相関値を、対応するずらし量ごとに加算する(S214)。ここでは、対称に配置された参照撮像光学系の相関値を加算するのみではなく、すべての参照撮像光学系の相関値を加算する。この処理により得られる合成相関値は、実際視差を基準として対称な分布を形成する。ここでいう実際視差とは、基準とした基線長と画素ピッチにおいての視差量となる。
以下のステップS215〜S217の処理は、実施の形態1の図3で示したステップS112〜S114の処理と同様であるので説明を省略する。
次に、図23において説明した処理の詳細な説明を行う。図23のステップS208において、視差換算部24は、基線長及び画素ピッチの比率に基づいて新たなずらし量を算出する。具体的には、相関値算出部6が参照撮像光学系cの生成した画像cの相関値を算出する場合に、基準となる基線長を参照撮像光学系aの基線長Ba、基準となる画素ピッチを基線長Baと平行な方向の画素ピッチをpitch_aとすると、視差換算部24は(式11)により基線長の比率からSADの推移算出時のずらし量の刻み量Kc(単位:画素)を算出することができる。なお、画像aの相関値算出におけるずらし量の刻み量は1画素である。
ここでBcは基準撮像光学系sと参照撮像光学系cとの間の基線長であり、pitch_cは基線長Bcと平行な方向の画素ピッチである。なお、上述の通り、基線長Baと基線長Bbは同一であり、基線長Bcと基線長Bdも同一である。したがって、視差換算部24は、基準撮像光学系sと参照撮像光学系c、及び、基準撮像光学系sと参照撮像光学系dのSADの推移を算出するときのずらし量を上述の刻み量Kcから算出することができる。つまり、最小ずらし量を0画素とした場合、新たなずらし量は0画素、Kc画素、2・Kc画素、3・Kc画素、・・・となる。仮に、最小ずらし量が−2画素である場合は、−2・Kc画素、−Kc画素、0画素、Kc画素、2・Kc画素、3・Kc画素、・・・というずらし量になる。なお、上述の刻み量Kcの値によっては、サブピクセル単位のずらし量となり得る。その場合は、相関値算出部6が参照画像を選択する際に、バイリニア補間などの処理により参照画像を抽出することで、相関値を算出することが可能となる。
同様にして、基準撮像光学系sと参照撮像光学系eと参照撮像光学系fとの組合せの場合も、視差換算部24が、SADを算出する際の新たなずらし量を算出する。視差換算部24が、新たなずらし量を算出する際に利用する刻み量は、(式12)により求められる。
ここでBeは基準撮像光学系sと参照撮像光学系eとの間の基線長であり、pitch_eは基線長Beと平行な方向の画素ピッチである。なお、上述の通り基線長Beと基線長Bfは同一である。したがって、視差換算部24は、基準撮像光学系sと参照撮像光学系e、及び、基準撮像光学系sと参照撮像光学系fのSADの推移を算出するときのずらし量を上述の刻み量Keから算出することができる。つまり、最小ずらし量を0画素とした場合、新たなずらし量は0画素、Ke画素、2・Ke画素、3・Ke画素、・・・というずらし量になる。
同様にして、基準撮像光学系sと参照撮像光学系gと参照撮像光学系hとの組合せの場合も、視差換算部24が、SADを算出する際の新たなずらし量を算出する。視差換算部24が、新たなずらし量を算出する際に利用する刻み量は、(式13)により求められる。
ここでBgは基準撮像光学系sと参照撮像光学系gとの間の基線長であり、pitch_gは基線長Bgと平行な方向の画素ピッチである。なお、上述の通り基線長Bgと基線長Bhは同一である。したがって、視差換算部24は、基準撮像光学系sと参照撮像光学系g、及び、基準撮像光学系sと参照撮像光学系hのSADの推移を算出するときのずらし量を上述の刻み量Kcから算出することができる。つまり、0画素、Kg画素、2・Kg画素、3・Kg画素、・・・というずらし方になる。
ここで、基準撮像光学系sと参照撮像光学系a〜hとのSADの推移を格納する変数を、それぞれSa(i)、Sb(i)、Sc(i)、Sd(i)、Se(i)、Sf(i)、Sg(i)、Sh(i)とする。その場合、図23のステップS214に示すように、相関値加算部7は、(式14)によりSADの推移を合成(加算)する。このSADの推移の合成において利用するずらし量は、視差換算部24が算出した新たなずらし量である。
このようにして、相関値加算部7が合成したSADの推移も、実施の形態1と同様に実際視差を基準として対称となる。また、実施の形態1と比べて、基準撮像光学系sに対して対称な2つの参照撮像光学系の組合わせの数が増加するので、平滑化効果によりSADの推移の変動が小さくなり、さらに、SADの推移の直線性が向上する。
このように相関値加算部7が合成した相関値S_sumから、実施の形態2同様に、視差算出部8は、図23のステップS215及びS216に示すように、サブピクセルレベルの視差を算出する。このとき、SADの推移の直線性が向上したことで、低次の補間式を用いた場合に、対象物の輝度分布によらず高精度にサブピクセル視差を推定することが可能となる。
そして、視差算出部8が算出したサブピクセルレベルの視差に基づき、図23のステップS217に示すように、後処理部9は出力に応じた形態に視差を変換してデータを出力する。例えば、対象物の三次元位置を出力する場合は、画像sの2次元画像座標系であるm(us1、vs1)から、図22の基準撮像光学系sの光軸と撮像領域22sとの交点を原点とする2次元座標系であるms(xs1、ys1)に変換し、従来技術の説明と同様に(式1)、(式2)、(式3)を用いて画像sの各ブロックに対する三次元位置を求めることができる。このとき用いる基線長のパラメータは、基線長Ba(基準撮像光学系sと参照撮像光学系aとの間の基線長)を用いる。なお、(式1)の視差Pは上述の処理により算出されたサブピクセル視差に画素ピッチを掛けることで求めることができる。
以上のように、本実施の形態によれば、対象物の輝度の分布によらず相関値の推移が実際視差を基準に対称となるため、対象物によらず高精度にサブピクセル視差を推定することが可能な測距装置を提供することができる。また、基準撮像光学系sに対して光学中心が点対称な2つの参照撮像光学系の組合わせの数を増加することで、平滑化効果により相関値の推移の変動が小さくなり、低次の補間式を用いることで更に高精度なサブピクセル視差を推定可能な測距装置を提供できる。
(実施例)
本実施例では、従来のステレオカメラと本発明による測距装置との測距精度(視差検出精度)の比較シミュレーション結果の例を示す。図24A〜図24Cは従来のステレオカメラの構成を示す。図24D〜図24Fは本発明による測距装置、つまり基準撮像光学系の光学中心に対して2つの参照光学系の光学中心を点対称に配置し、その2つの参照光学系の対が1つ以上構成されることにより、対象物の輝度分布によらず合成相関値が実際視差を基準として左右対称になる測距装置の構成を示す。図24A〜図24Fにおいては、すべての光学系について焦点距離、水平及び垂直方向画素ピッチ、被写体距離は同一としている。各参照画像の基準撮像光学系に対する基線長は、水平及び垂直方向に基線が生じる場合はすべて同一、斜め方向に基線が生じる場合は水平方向の基線長のsqrt(2)倍としている。実施の形態3で説明したような基線垂直方向誤差や基線方向誤差はここでは含んでいない。図25A〜図25Dは、測距精度の比較に用いた被写体を示す図である。図25A〜図25Dの各被写体については各光学系に応じて適切に理想的に0.1画素刻みで10.0〜11.0画素のずらし画像(視差画像)を作成し、比較シミュレーションに用いている。画像には実際の撮像素子で観測される程度の白色ノイズを加えている。図26A〜図26Dは、図25A〜図25Dの各被写体に対応する比較シミュレーション結果を示すグラフである。図26A〜図26Dの各グラフの横軸は視差演算を行う際の演算ブロックサイズ(正方形演算ブロックの1辺の画素数)を示し、縦軸はそれぞれに対応する視差検出誤差を示している。各演算ブロック毎の視差検出誤差の算出方法は、図25A〜図25Dの各被写体を該当演算ブロックサイズで領域分割し、各演算ブロック毎の視差検出誤差を被写体全領域で平均した値を示している。また、各演算ブロック毎の視差検出誤差は、0.1画素刻みで作成した10.0〜11.0画素のずらし画像(視差画像)のすべてのずらし量(視差画像)に対しての視差検出誤差の平均値を算出している(つまり、小数点以下が0.1画素刻みで0.0〜0.9のすべての視差量について検証している)。
図26A〜図26Dの比較シミュレーション結果をみると分かるように、いずれの被写体においても、本発明による測距装置が従来のステレオカメラに比較して、大幅に視差検出誤差が低減(視差検出精度が向上)していることがわかる。
(変形例1)
上述の各実施の形態に係る測距装置は、本発明を説明するための一例であり、例えば、図27Aに示すような測距装置の構成でもよい。
図27Aは、本変形例に係る測距装置の撮像光学系の構成を示す図である。図に示すように、本変形例に係る測距装置は、基準撮像光学系s及び参照撮像光学系a〜fと、基準撮像光学系sと参照撮像光学系a〜fとから算出された対象物の三次元位置(形状)に高解像度なカラーのテクスチャをマッピングするための2つのテクスチャ撮像光学系を備える。テクスチャ用撮像光学系は、任意の位置及び個数で配置してよい。その他、付加的な機能を追加するために本変形例に係る測距装置に新たな撮像光学系を追加してもよい。
(変形例2)
上述の各実施の形態に係る測距装置は、4つ又は8つの参照撮像光学系を備えていたが、6つの参照撮像光学系を備えてもよいことは言うまでもない。
図27Bは、本変形例に係る測距装置の撮像光学系の構成を示す図である。図に示すように、本変形例に係る測距装置は7つの撮像光学系を備える。また、本変形例に係る測距装置において、参照撮像光学系aの光学中心と参照撮像光学系bの光学中心とが略1直線上に基準撮像光学系sの光学中心を基準として点対称に配置され、参照撮像光学系cの光学中心と参照撮像光学系dの光学中心とが略1直線上に基準撮像光学系sの光学中心を基準として点対称に配置され、参照撮像光学系eの光学中心と参照撮像光学系fの光学中心とが略1直線上に基準撮像光学系sの光学中心を基準として点対称に配置されている。
本変形例に係る測距装置のように、本発明に係る測距装置は、略1直線上に基準撮像光学系を基準に光学中心が略対称に配置される2つの参照撮像光学系を複数有する構造であればよい。さらに複数、例えば10個、12個などの参照撮像光学系を備える測距装置であっても、本発明の効果を得ることができる。
ところで、上述の実施の形態4並びに変形例1及び2に係る測距装置のように、4以上の参照撮像光学系を備えている場合、参照撮像光学系の配置によっては、ブロックマッチング演算時のずらし量がサブピクセル単位となり、ブロックマッチング演算の時間が増大するときがある。そこで、ブロックマッチング演算時のずらし量がサブピクセル単位とならない、つまり、ブロックマッチング演算の演算時間が短くなる撮像光学系の配置について、図28A〜図28Cを用いて説明する。
図28A〜図28Cは撮像光学系の配置を表す図である。図28A〜図28Cに示す各撮像光学系において、すべての撮像光学系の撮像領域を構成する画素の水平方向の配列は平行であり、かつ、すべての撮像光学系の撮像領域を構成する画素の垂直方向の配列は平行である。ここで、画素の配列方向(水平又は垂直)と平行な略1直線上に、基準撮像光学系を基準として光学中心が略点対称に配置される2つの参照撮像光学系を撮像光学系群1とする。また、画素の配列方向(水平又は垂直)と平行な略1直線上に、基準撮像光学系を基準として光学中心が略点対称に配置される他の2つ参照撮像光学系を撮像光学系群2とする。このとき、撮像光学系群1及び2において、基準撮像光学系sと2つの各参照撮像光学系との基線長は、それぞれB1及びB2である。また、撮像光学系群1及び2のブロックマッチング演算時のブロックのずらし方向つまり各基線長と平行な方向の画素ピッチは、それぞれp1及びp2である。
ここで、B1/p1とB2/p2とが整数倍の関係である場合、ブロックマッチング演算時のずらし量に対応したブロックを参照画像として選択するときに、ブロックの境界が画素の境界と一致する(参照画像の切出し座標が常に整数となる)。その結果、相関値算出部6が参照画像を選択する際に、バイリニア補間などの補間演算をする必要がなくなるので、演算時間を大幅に削減することが可能となる。
図28Aに示す撮像光学系において、撮像光学系群1を参照撮像光学系a及び参照撮像光学系b、撮像光学系群2を参照撮像光学系c及び参照撮像光学系dとする。ここで、垂直方向の画素ピッチと水平方向の画素ピッチは同一のp1(p1=p2)である。基準撮像光学系sと参照撮像光学系aとの基線長Baと、基準撮像光学系sと参照撮像光学系cの基線長Bcとの基線長は同一である。したがって、Ba/p1=Bc/p2が成立つため、ブロックマッチング演算時のずらし量ごとのブロックの境界が画素の境界と一致する。その結果、ブロックマッチング演算の演算時間を大幅に削減することが可能となる。
図28Bに示す撮像光学系では、図28Aの撮像光学系の配置に加え、画素配列に対して45度の斜め方向に参照撮像光学系e、f、g、hがそれぞれsqrt(2)倍の基線長の長さの位置に配置されている。このとき、基準撮像光学系sと参照撮像光学系e、f、g、hとの基線長と平行な方向の画素ピッチp2は、いずれも水平(垂直)方向の画素ピッチのsqrt(2)倍(p2=sqrt(2)・p1)となる。したがって、代表して参照撮像光学系eを撮像光学系群2と仮定して説明すると、Be=sqrt(2)・Baであることも考慮すると、Ba/p1=Be/p2が成立つ。Beは基準撮像光学系sと参照撮像光学系eとの基線長である。この場合も、ブロックマッチング演算時のずらし量に対応したブロックを参照画像として選択するときに、ブロックの境界が画素の境界と一致する(参照画像の切出し座標が常に整数となる)。その結果、ブロックマッチング演算の演算時間を大幅に削減することが可能となる。
図28Cに示す撮像光学系では、図28A及び図28Bと異なり、水平方向の画素ピッチであるp1は、垂直方向の画素ピッチであるp2より長い。そこで水平方向及び垂直方向の画素ピッチの比と対応するように、基準撮像光学系sと参照撮像光学系a及びbの基線長Baは、基準撮像光学系sと参照撮像光学系c及びdの基線長Bcより長い。つまり、Ba/p1=Bc/p2が成立するように各撮像光学系が配置されている。その結果、図28A及び図28Bと同様に、ブロックマッチング演算の演算時間を大幅に削減することが可能となる。
上述のように、各撮像光学系は、各撮像光学系の撮像装置である撮像領域を、構成する画素の位置関係にあわせて配置することで、ブロックマッチング演算の演算時間を大幅に削減することが可能となる。つまり、各撮像光学系は、各撮像光学系の撮像領域を構成する画素の配列方向及び距離と、各撮像光学系の基線の方向及び長さとが、相似となるように配置されることで、演算時間を大幅に削減することが可能となる。
(変形例3)
上述の各実施の形態に係る測距装置は、図29A及び図29Bに示すように、各参照画像の光学中心が基準撮像光学系sの光学中心に対して略点対称であればよい。図29A及び図29Bは本発明に係る測距装置を装置の別の例を測距装置の上側から見た図である。レンズ及び撮像素子以外の構成は省略している。図29Aに示すように、各光学系の光学中心を結ぶ基線と、各光学系の光軸とは垂直でなくてもよい。この場合は、視差探索時にブロックサイズをずらし量ごとに可変とする従来の視差探索手法を用いて各参照撮像光学系に対する相関値を導出すればよく、合成した相関値の推移の実際視差に対する対称性は損なわれないため本発明の効果を得ることが可能である。もしくはアフィン変換を用いたキャリブレーション(視点変換)により光軸と基線方向を垂直にして演算してもよい。また、図29Bに示すように、各光学系の光軸は必ずしも平行である必要はない。光軸の方向はアフィン変換を用いたキャリブレーション(視点変換)により補正可能であるためである。
以上、本発明の実施の形態及び変形例に係る測距装置について説明したが、本発明の具体的な構成は、上述した各実施の形態及び各変形例に限られるものではない。また、互いに異なる実施の形態及び変形例における構成部を組み合わせてもよい。発明の要旨を逸脱しない範囲で種々の変更及び修正が可能である。
例えば、上述の各実施の形態及び各変形例に係る撮像光学系が、ベイヤー配列などのカラー撮像素子を備える場合であってもよい。この場合、一般的に知られるデモザイク処理等により高解像度化されたカラー画像を用いることで、上述の各実施の形態及び各変形例と同様に、高精度に視差が算出できる。
また、上述の各実施の形態及び各変形例において、基準撮像光学系の光学中心とその他の2つの参照撮像光学系の光学中心が1直線上に、基準撮像光学系の光学中心を基準として点対称に配置されていたが、基準撮像光学系の光学中心とその他の2つの参照撮像光学系の光学中心が略1直線上に、基準撮像光学系の光学中心を基準として略点対称に配置されてもよい。
ここでいう略1直線上及び略点対称とは、実施の形態3で説明した(式8)、(式10)の条件を満たす範囲をいう。
また、上述の各実施の形態において相関値を算出する関数としてSADを用いていたが、例えばZNCC(相互相関係数)を用いることも可能である。ZNCCを用いた場合、相関の最も高いときに相関値が1となり、相関が低いときに相関値が1未満となる。このように相関値の推移が最大となるずらし量を視差としてサブピクセルレベルで求める場合も、本発明を適用することができる。その他にも相関値を算出する関数として前述のSSDやNCCなども本発明を適用することができる。つまり、本発明によれば、相関値の推移が実際視差を基準として対称になるので、相関値の推移の極値の最大、最小に関わらず、高精度にサブピクセル視差を求めることが可能である。
また、上述の各実施の形態及び変形例に係る測距装置において、対象物の三次元位置又は距離を算出しなくてもよい。この場合、測距装置は複眼撮像装置と呼ばれることとなる。複眼撮像装置も測距装置と同様に、例えば、図1で示したような構成となる。ただし、測距装置と異なり、複眼撮像装置は対象物の三次元位置や距離を算出する後処理部9を含まない。
また、本発明は、上記のような測距装置として実現することができるだけでなく、上記のような測距装置が備える特徴的な構成部をステップとする測距方法又は視差算出方法として実現したり、それらのステップをコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、CD−ROM等の記録媒体やインターネット等の伝送媒体を介して配信することができるのは言うまでもない。
また、本発明は、上記のような測距装置の構成部が有する機能の一部を実現する半導体集積回路(LSI)として実現することもできる。
本発明は、同一の対象物を撮像する複数の撮像光学系で生じる視差を算出することのできる複眼撮像装置、及び、装置から対象物までの距離又は対象物の三次元位置もしくは形状を求めることのできる測距装置に関するものであり、車載、監視、医療、ロボット、ゲーム、CG画像作成、立体画像用入力、デジタルカメラやデジタルビデオカメラのオートフォーカス用途などに有用である。
本発明は、複数の撮像光学系を有し、撮像光学系間で生じる視差を算出する複眼撮像装置等に関するものである。
近年、所定の位置から対象物までの距離、又は対象物の三次元位置(形状)の測定の要求が高まっている。例えば自動車の視界支援において、自動車に取付けた小型カメラで撮影した周囲の物体の映像のみでなく、測距装置により測定した物体と自動車との正確な距離情報を同時に表示することにより、周囲の物体との衝突をより適確に回避する方法が提案されている。また、携帯電話やテレビなどにおいては、映像の臨場感をより忠実に再現するために立体映像の入出力装置が望まれている。これら用途の測距装置には高精度化及び小型化が望まれている。
対象物までの距離、又は対象物の三次元位置を測定する方式として、従来より三角測量の原理を利用したステレオ測距方式が利用されている。ステレオ測距方式では、複数のカメラ間に生じる視差に基づき対象物までの距離が算出される。
図30は、カメラa及びカメラbの2つのカメラを用いた場合の、ステレオ測距方式による対象物までの距離算出の例を説明する図である。対象物100の光線101a、101bは、カメラaのレンズ102a及びカメラbのレンズ102bの各光学中心105a、105bを介して撮像領域104a、104bに結像する。光軸103a及び光軸103bは各カメラの光軸を表す。この時、例えば対象物100が、カメラaについては撮像領域104aと光軸103aとの交点106aからPa離れた位置107aに結像し、カメラbについては撮像領域104b上の撮像領域104bと光軸103bとの交点106bからPb離れた位置107bに結像した場合、カメラaとカメラbとの間に視差P(=Pb−Pa)が生じる。この視差Pは測距装置と対象物距離との距離Dに応じて変化する。カメラaの光軸103aとカメラbの光軸103bは平行とし、その間隔を基線長B、カメラa及びカメラbの焦点距離をfとすると、対象物までの距離Dは(式1)で表わされる。したがって、基線長B及び焦点距離fが事前のキャリブレーション処理などにより既知であるとすると、視差Pを求めることにより対象物100までの距離Dを算出することが可能となる。
なお、実際の環境ではカメラaとカメラbの光軸は平行でない場合が多い。そこで、例えば非特許文献1に示されるような平行化処理を行う。その結果、光軸が平行な画像が作成され、上記の(式1)を用いた演算を利用して距離Dが算出可能となることが知られている。
撮像領域104a及び104bは通常CCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)などの撮像素子により構成される。したがって、2次元平面上で離散化された対象物像の輝度信号を用いて視差Pは算出されるため、通常その視差検出分解能は1画素となる。(式1)の関係より視差検出分解能から測距分解能(以降、測距精度と記載)が決まる。
また、対象物の三次元位置は、例えば、図31〜図33を用いて以下で説明する方法により、算出することができる。
図31は、測距装置と対象物との位置関係を表す図である。図31において、世界座標の原点Mw(0、0、0)は、カメラaの光学中心105aとする。図に示すように、対象物110の一点111の三次元位置座標をMw(Xw1、Yw1、Zw1)とすると、Zw1は図30を用いて説明した(式1)で算出する距離Dで求められる。
図32は、図31のカメラaと対象物110の一点111をYw軸のマイナス側から見た図である。図に示すように、交点106aを撮像領域104aの二次元座標系の原点ms(0、0)とすると、Xw1は結像位置107aの座標ms(xs1、ys1)を用いて(式2)で表される。
図33は、図31のカメラaと対象物110の一点111をXw軸のプラス側から見た図である。図32と同様に、交点106aを撮像領域104aの二次元座標系の原点ms(0、0)とすると、Yw1は結像位置107aの座標ms(xs1、ys1)を用いて(式3)で表される。
三次元位置の測定精度も、前述の測距精度と同様に視差検出分解能により決まる。
次に、視差Pの具体的な検出方法の例を説明する。視差Pは、カメラaの撮像領域104aで取込まれた画像aと、カメラbの撮像領域104bで取込まれた画像bとについて、各画像の小領域毎の相関値であるSAD(Sum of Absolute Difference:差分絶対値総和)を算出し、算出した相関値を用いて画像aと画像b間の小領域毎の画像のずれ、つまり視差Pを算出する。なお、SADは相関値の一例であり、一般的に知られているSSD(Sum of Squared Difference:差分2乗総和)やNCC(Normalized Cross−Correlation:正規化相互相関)なども相関値として利用可能である。
以下に、図34〜図36を参照しながら、代表的な相関値であるSADを用いた視差の算出について説明する。
図34は、画像における各画素の輝度の表現方法について説明する図である。図に示すように、0を黒、15を白とし、各画素の輝度の階調を線の密度で表現する。輝度は少数点以下の値となることもあり得る。
図35Aは、写像した対象物のテクスチャを対象物側からみた、画像aの一部を示す図である。図35Bは写像した対象物のテクスチャを対象物側からみた、画像bの一部を示す図である。
図35Bの太線で囲われた画像ブロックbは、対象物が無限遠にあるときに図35Aの太線で囲われた画像ブロックaと同一の画像が写像する。対象物が有限の距離にある場合は、図35A及び図35Bに示すように視差が生じるため、図35Bの画像は図35Aの画像に対して右側に写像する。ここでは図35Aと図35Bとが3.6画素の実際視差を持つ場合の説明を行う。画像ブロックaと最も相関の高い画像領域を探索するため、画像ブロックbを図35Bの太線の位置から右方向に1画素ずつずらしていき、各ずらし量毎にSADを(式4)に基づき算出する。
ここで、Ia、Ibは各画像ブロック内の輝度値を表し、i、jは各画像ブロック内の局所アドレスを表す。画像ブロックa及び画像ブロックbは同一の画像サイズで、両画像ブロックの同一アドレスの輝度差分の絶対値のブロック内総和を各ずらし量毎に算出する。画像ブロックの形状は長方形や、テクスチャの特徴に応じた形状でもよいが、ここでは正方形の画像ブロックでの説明をしている。
図36は、画像ブロックbを1画素ずつ移動させたときのSADの推移を示す図である。ずらし量4画素の場合にSADが最小となっているため、画像ブロックaと画像ブロックbとの相関が最も高いと考えられる。したがって、画像ブロックaでのカメラaとカメラbとの視差は4画素と算出され、算出された視差に画素ピッチサイズをかけることで(式1)の視差Pが求められ、対象物までの距離Dを算出することができる。この場合、実際の視差3.6画素に近い視差は求められるが、視差の検出精度は1画素となるため、小数点以下の画素の精度で視差(以降、サブピクセル視差と呼ぶ)は求められない。
測距精度つまり視差検出分解能を1画素単位でなく更に高精度に求めるための方法として、サブピクセルレベル視差を推定する方法が提案されている(例えば特許文献1)。例えば、等角直線フィッティングというサブピクセル視差推定方法では、図37に示すように実際視差を基準にSADの推移が左右で同一θの傾きであることを仮定することによって、1次線形補間により実際視差がサブピクセルレベルで推定される。等角直線フィッティングのサブピクセル視差算出式、つまり補間式を(式5)に示す。
ここで、Pはサブピクセル視差、PminはSADが最小となるずらし量(整数視差)、R(0)はSADが最小になるずらし量での相関値(SAD)、その隣接するずらし量でのSADをR(−1)、R(1)とする。
またその他にも、SADなどの相関値のずらし量毎の推移が実際視差を基準に対称な推移となることを仮定して、2次関数など高次の線形関数や非線形関数により実際視差を補間演算する方法が提案されている。図35A及び図35Bに示すような輝度が1次関数的に変化する対象物の場合は、図36に示すようにSADの推移が実際視差を基準に対称となり、且つ1次直線的にSADが推移する。そのため、等角直線フィッティングを用いてサブピクセル視差推定を行うと、視差3.6画素を正確に求めることができる。
徐剛、辻三郎著 「3次元ビジョン」共立出版 pp96−99 2002年9月25日出版
上述のように、図35A、図35B及び図36では、輝度の分布が視差の探索方向に1次関数的に一様に変化する対象物を例として説明している。このような場合、相関値の推移が実際視差を基準に対称となるため、等角直線フィッティングによりサブピクセル視差推定を正確に行うことができる。しかし、実際の対象物では表面の模様(テクスチャ)が一様に変化する場合は少なく、例えば図38A及び図38Bに示すように輝度の分布が一様に変化しない場合が多い。
図38Aは対象物側からみた画像aの一部を示す図である。図38Bは対象物側からみた画像bの一部を示す図である。図38Bの太線で囲われた画像ブロックbには、対象物が無限遠にあるときに図38Aの太線で囲われた画像ブロックaと同一の画像が写像する。対象物が有限の距離にある場合は図30に示すように視差が生じるために図38Bの画像は、図38Aの画像に対して右側に移動する。ここでは図35A及び図35Bと同様に、図38Aと図38Bとが3.6画素の実際視差を持つ場合の説明を行う。
図39は、図38A及び図38Bの画像の場合のSADの推移と、その時の前述の等角直線フィッティングによるサブピクセル視差推定を説明する図である。図に示すように、SADの推移が実際視差を基準に対称とならないため、サブピクセル視差推定結果は実際視差からはずれてしまう。具体的には、サブピクセル視差は、約3.2画素と推定されてしまう。その結果、推定視差は実際視差と約0.4画素の誤差が生じる。
このように、従来のステレオ測距方式において用いられているサブピクセル視差推定を行う補間式は、相関値の推移が実際視差を基準に対称となる場合を仮定している。そのため、相関値の推移が実際視差を基準に対称とならない対象物においては、視差の推定誤差が生じるという課題があった。また、例えば図40A及び図40Bに示すような3つ以上の光学系を用いた多眼ステレオカメラにおいても同様に、相関値の推移が実際視差を基準に対称とならない対象物においては、視差の推定誤差が生じるという課題があった。
本発明は上記課題を解決する為になされたものであり、対象物の輝度の分布によらず相関値の推移が実際視差を基準に対称となり、上述したような従来の補間によるサブピクセル視差推定方法を用いても高精度にサブピクセル視差を推定可能な複眼撮像装置又は測距装置を提供することを目的とする。
上述した目的を達成するために、本発明に係る複眼撮像装置は、同一の対象物を撮像する複数の撮像光学系で生じる視差を算出する複眼撮像装置であって、前記対象物を撮像することによって、基準画像を含む画像を生成する基準撮像光学系と、前記基準撮像光学系の光学中心に対してそれぞれの光学中心が略点対称に配置され、前記対象物を撮像することによって、参照画像を含む画像を生成する2以上の偶数の参照撮像光学系と、前記2以上の偶数の参照撮像光学系のそれぞれについて、前記基準画像に類似する前記参照画像の画像位置を探索するために前記参照撮像光学系により生成された画像中の前記参照画像の探索位置を、前記基準撮像光学系の光学中心と前記参照撮像光学系の光学中心とを結ぶ直線である基線と平行な方向に沿ってずらしていった場合のずらし量ごとに、前記基準画像と前記参照画像との類似度を表す相関値を算出する相関値算出手段と、前記2以上の偶数の参照撮像光学系のそれぞれについて算出された相関値を、対応するずらし量ごとに加算することにより合成相関値を算出する相関値加算手段と、前記合成相関値に基づき、前記基準画像と前記参照画像との類似度が最大となるずらし量である視差をサブピクセルのレベルで算出する視差算出手段とを少なくとも備えることを特徴とする。
これにより、基準撮像光学系に対して略対称に配置された2以上の参照撮像光学系のそれぞれについて算出された相関値が、対応するずらし量ごとに加算されるので、被写体によらず相関値の推移が実際視差を基準として対称となり、高精度にサブピクセル視差を推定することが可能となる。
ここで略点対称とは、2つの参照撮像光学系で構成される場合には、2つの参照撮像光学系の光学中心と基準撮像光学系の光学中心とが略1直線上に配置され、2つの参照撮像光学系と基準撮像光学系との基線長が略同一であることをいう。また、4つの参照撮像光学系で構成される場合には、追加された2つの参照撮像光学系の光学中心と基準撮像光学系の光学中心とが略1直線上に配置され、追加された2つの参照撮像光学系と基準撮像光学系との基線長が略同一であることをいう。さらに多数の参照撮像光学系で構成される場合は、追加された2つで1組の参照撮像光学系の光学中心の各組と基準撮像光学系の光学中心とが略1直線上に配置され、追加された2つで1組の参照撮像光学系の各組と基準撮像光学系との基線長が略同一であることをいう。
また、前記視差算出手段は、前記相関値加算手段で加算されたずらし量ごとの相関値を、対称性を利用した補間式を用いて補間することにより、サブピクセルレベルの視差を算出することが好ましい。
これにより、従来の対称性を前提とした補間によるサブピクセル視差推定方法を用いても、高精度にサブピクセル視差を推定することが可能となる。
また、前記複眼撮像装置は、4以上の参照撮像光学系を備え、前記4以上の参照撮像光学系の光学中心は、前記基準撮像光学系の光学中心に対して略点対称に配置された1対の第1の参照撮像光学系に係る基線の方向と、前記基準撮像光学系の光学中心に対して略点対称に配置された第1の参照撮像光学系の光学中心と異なる1対の第2の参照撮像光学系に係る基線の方向とが所定の角度傾くように配置されることが好ましい。
これにより、2つの参照撮像光学系を用いた場合に比べて、参照撮像光学系、つまり、参照画像が増加するので、情報量が増加し、相関値の推移の直線性が向上する。また、基準撮像光学系に対して略点対称に配置される1対の参照撮像光学系と基準撮像光学系との光学中心を結ぶ直線である基線の方向と、他の対の参照撮像光学系と基準撮像光学系との基線の方向が所定の角度傾くことで、撮像された対象物の情報量がさらに増大し、相関値の推移の直線性が向上する。その結果、サブピクセル視差の推定精度がさらに向上する。
また、前記4以上の参照撮像光学系は、前記第1の参照撮像光学系と前記基準撮像光学系との基線の長さである第1の基線長と、前記第2の参照撮像光学系と前記基準撮像光学系との基線の長さである第2の基線長とが異なるように配置され、前記相関値算出手段では、前記第2の参照撮像光学系で生成された参照画像の相関値を算出する際に、前記第2の基線長を前記第1の基線長で除した値に、前記第1の参照撮像光学系で生成された参照画像の相関値を算出する際に利用した第1のずらし量を乗じた値である第2のずらし量ごとに前記相関値を算出することが好ましい。
これにより、基準撮像光学系の光学中心に対して略点対称に配置される1対の参照撮像光学系と基準撮像光学系との基線の長さと、他の対の参照撮像光学系と基準撮像光学系との基線の長さが異なる場合でも、相関値の推移の対称性を高めることが可能となる。その結果、参照撮像光学系の配置の自由度が増大するとともに、サブピクセル視差の推定精度を向上させることができる。
また、基準撮像光学系及び前記4以上の参照撮像光学系は、前記基準撮像光学系が有する撮像装置を構成する画素の位置関係と同一となるように配置されることが好ましい。
これにより、ブロックマッチング演算を行う際に、ずらし量に対応したブロックの境界が画素の境界と一致するので、バイリニア補間などによる画像処理が不要となる。その結果、ブロックマッチング演算の演算時間を短縮することが可能となる。
また、前記基準撮像光学系の光学中心に対して略点対称に配置された対となる参照撮像光学系のそれぞれの対において、対のうち一方の参照撮像光学系の光学中心と前記基準撮像光学系の光学中心とを結ぶ直線と、対のうち他方の参照撮像光学系の光学中心との距離である光学中心位置誤差が、Dを対象物までの距離、pitchを画素ピッチ、fを焦点距離としたときに、
光学中心位置誤差 ≦ D・pitch・0.15/f
を満たすことが好ましい。
これにより、被写体によらず相関値の推移が実際視差を基準に十分なレベルで点対称となるので、従来より高精度にサブピクセル視差を推定することが可能となる。
また、前記基準撮像光学系の光学中心に対して略点対称に配置された対となる参照撮像光学系のそれぞれの対において、対のうち一方の参照撮像光学系の光学中心と前記基準撮像光学系の光学中心との間隔である第1基線長と、対のうち他方の参照撮像光学系の光学中心と前記基準撮像光学系の光学中心との間隔である第2基線長との長さの差である基線長誤差が、Dを対象物までの距離、pitchを画素ピッチ、fを焦点距離としたときに、
基線長誤差 ≦ D・pitch・0.2/f
を満たすことが好ましい。
これにより、被写体によらず相関値の推移が実際視差を基準に十分なレベルで点対称となるので、従来より高精度にサブピクセル視差を推定することが可能となる。
また、前記複眼撮像装置は、さらに、前記基準画像及び前記参照画像に平滑化フィルタを施す前処理手段を備え、前記相関値算出手段では、前記平滑化フィルタを施した基準画像及び参照画像に基づいて前記相関値を算出することが好ましい。
これにより、対象物の輝度の分布によらずノイズの影響による精度低下を低減でき、更に対象物の輝度の変動を滑らかにすることが可能となる為、例えば上述したSADと等角直線フィッティングを用いた場合に、相関値の推移の対称性を保ったまま、SADの推移の直線性が向上し、サブピクセル視差推定精度が更に向上する。
また、上述した目的を達成するために、本発明に係る測距装置は、同一の対象物を撮像する複数の撮像光学系で生じる視差を算出することにより、前記対象物までの距離又は前記対象物の三次元位置を算出する測距装置であって、前記対象物を撮像することによって、基準画像を含む画像を生成する基準撮像光学系と、前記基準撮像光学系の光学中心に対してそれぞれの光学中心が略点対称に配置され、前記対象物を撮像することによって、参照画像を含む画像を生成する2以上の偶数の参照撮像光学系と、前記2以上の偶数の参照撮像光学系のそれぞれについて、前記基準画像に類似する前記参照画像の画像位置を探索するために前記参照撮像光学系により生成された画像中の前記参照画像の探索位置を、前記基準撮像光学系の光学中心と前記参照撮像光学系の光学中心とを結ぶ直線である基線と平行な方向に沿ってずらしていった場合のずらし量ごとに、前記基準画像と前記参照画像との類似度を表す相関値を算出する相関値算出手段と、前記2以上の偶数の参照撮像光学系のそれぞれについて算出された相関値を、対応するずらし量ごとに加算することにより合成相関値を算出する相関値加算手段と、前記合成相関値に基づき、前記基準画像と前記参照画像との類似度が最大となるずらし量である視差をサブピクセルのレベルで算出する視差算出手段と算出された視差と前記基準撮像光学系の焦点距離と前記基線の長さに基づき、前記測距装置から前記対象物までの距離又は前記対象物の三次元位置を算出する距離算出手段とを備えることを特徴とする。
これにより、2以上の参照撮像光学系のそれぞれについて算出された相関値を、対応するずらし量ごとに加算することで、被写体によらず相関値の推移が実際視差を基準として対称となるので、高精度にサブピクセル視差を推定することが可能となる。その結果、被写体となる対象物までの距離を、高精度で推定することが可能となる。
また、本発明に係る視差算出方法は、同一の対象物を撮像する複数の撮像光学系で生じる視差を算出する視差算出方法であって、前記複数の撮像光学系は、前記対象物を撮像することによって、基準画像を含む画像を生成する基準撮像光学系と、前記基準撮像光学系の光学中心に対してそれぞれの光学中心が略点対称に配置され、前記対象物を撮像することによって、参照画像を含む画像を生成する2以上の偶数の参照撮像光学系とを含み、前記視差算出方法は、前記2以上の偶数の参照撮像光学系のそれぞれについて、前記基準画像に類似する前記参照画像の画像位置を探索するために前記参照撮像光学系により生成された画像中の前記参照画像の探索位置を、前記基準撮像光学系の光学中心と前記参照撮像光学系の光学中心とを結ぶ直線である基線と平行な方向に沿ってずらしていった場合のずらし量ごとに、前記基準画像と前記参照画像との類似度を表す相関値を算出する相関値算出ステップと、前記2以上の偶数の参照撮像光学系のそれぞれについて算出された相関値を、対応するずらし量ごとに加算することにより合成相関値を算出する相関値加算ステップと、前記合成相関値に基づき、前記基準画像と前記参照画像との類似度が最大となるずらし量である視差をサブピクセルのレベルで算出する視差算出ステップとを含むことを特徴とする。
これにより、上記複眼撮像装置と同様の効果を得ることができる。
また、本発明に係る測距方法は、同一の対象物を撮像する複数の撮像光学系で生じる視差を算出することにより、前記対象物までの距離又は前記対象物の三次元位置を算出する測距方法であって、前記複数の撮像光学系は、前記対象物を撮像することによって、基準画像を含む画像を生成する基準撮像光学系と、前記基準撮像光学系の光学中心に対してそれぞれの光学中心が略点対称に配置され、前記対象物を撮像することによって、参照画像を含む画像を生成する2以上の偶数の参照撮像光学系とを含み、前記測距方法は、前記2以上の偶数の参照撮像光学系のそれぞれについて、前記基準画像に類似する前記参照画像の画像位置を探索するために前記参照撮像光学系により生成された画像中の前記参照画像の探索位置を、前記基準撮像光学系の光学中心と前記参照撮像光学系の光学中心とを結ぶ直線である基線と平行な方向に沿ってずらしていった場合のずらし量ごとに、前記基準画像と前記参照画像との類似度を表す相関値を算出する相関値算出ステップと、前記2以上の偶数の参照撮像光学系のそれぞれについて算出された相関値を、対応するずらし量ごとに加算することにより合成相関値を算出する相関値加算ステップと、前記合成相関値に基づき、前記基準画像と前記参照画像との類似度が最大となるずらし量である視差をサブピクセルのレベルで算出する視差算出ステップと算出された視差と前記基準撮像光学系の焦点距離と前記基線の長さに基づき、前記測距装置から前記対象物までの距離又は前記対象物の三次元位置を算出する距離算出ステップとを含むことを特徴とする。
これにより、上記測距装置と同様の効果を得ることができる。
なお、本発明は、このような視差算出方法又は測距方法に含まれるステップをコンピュータに実行させるプログラムとして実現することもできる。そして、そのようなプログラムは、CD−ROM(Compact Disc−Read Only Memory)等の記録媒体やインターネット等の通信ネットワークを介して流通させることができる。
本発明によれば、対象物の輝度の分布によらず相関値の推移が実際視差を基準として対称となり、上述したような従来の補間によるサブピクセル視差推定方法を用いても高精度にサブピクセル視差を推定可能な複眼撮像装置又は測距装置を提供することが可能となる。
図1は、本発明の実施の形態1に係る測距装置の構成を示す図である。
図2は、本発明の実施の形態1に係る測距装置と対象物との位置関係を示す図である。
図3は、本発明の実施の形態1に係る測距装置による対象物の三次元位置又は距離算出に関する処理の流れを示すフローチャートである。
図4は、本発明の実施の形態1に係る対象物の表面上の点13の周辺のテクスチャを基準撮像光学系で撮影した場合の、対象物側から見た画像の一部を示す図である。
図5Aは、本発明の実施の形態1に係る撮像光学系で撮影した画像の一部を示す図である。
図5Bは、本発明の実施の形態1に係る撮像光学系で撮影した画像の一部を示す図である。
図5Cは、本発明の実施の形態1に係る撮像光学系で撮影した画像の一部を示す図である。
図6Aは、本発明の実施の形態1に係るSADの推移を示す図である。
図6Bは、本発明の実施の形態1に係るSADの推移を示す図である。
図7は、本発明の実施の形態1に係る合成SADの推移を示す図である。
図8は、本発明の実施の形態1に係る画像に写像された対象物の1点の周辺のテクスチャを示す図である。
図9Aは、本発明の実施の形態1に係るSADの推移を示す図である。
図9Bは、本発明の実施の形態1に係るSADの推移を示す図である。
図10は、本発明の実施の形態2に係る測距装置の構成を示す図である。
図11Aは、本発明の実施の形態2に係るSADの推移を示す図である。
図11Bは、本発明の実施の形態2に係るSADの推移を示す図である。
図12は、本発明の実施の形態2に係るSADの推移を示す図である。
図13は、本発明の実施の形態3に係る測距装置の構成を示す図である。
図14は、本発明の実施の形態3に係る測距装置の動作を説明する図である。
図15は、本発明の実施の形態3に係る測距装置の動作を説明する図である。
図16は、本発明の実施の形態3に係る測距装置の性能を説明する図である。
図17は、本発明の実施の形態3に係る測距装置の動作を説明する図である。
図18Aは、本発明の実施の形態3に係るSADの推移を示す図である。
図18Bは、本発明の実施の形態3に係るSADの推移を示す図である。
図19は、本発明の実施の形態3に係る合成SADの推移を示す図である。
図20は、本発明の実施の形態3に係る測距装置の性能を説明する図である。
図21は、本発明の実施の形態4に係る測距装置の構成を示す図である。
図22は、本発明の実施の形態4に係る測距装置と対象物との位置関係を示す図である。
図23は、本発明の実施の形態4に係る測距装置による対象物の三次元位置又は距離算出に関する処理の流れを示すフローチャートである。
図24Aは、本発明の実施例に係る測距装置の構成を示す図である。
図24Bは、本発明の実施例に係る測距装置の構成を示す図である。
図24Cは、本発明の実施例に係る測距装置の構成を示す図である。
図24Dは、本発明の実施例に係る測距装置の構成を示す図である。
図24Eは、本発明の実施例に係る測距装置の構成を示す図である。
図24Fは、本発明の実施例に係る測距装置の構成を示す図である。
図25Aは、本発明の実施例に係る測距装置で性能評価するための画像を示す図である。
図25Bは、本発明の実施例に係る測距装置で性能評価するための画像を示す図である。
図25Cは、本発明の実施例に係る測距装置で性能評価するための画像を示す図である。
図25Dは、本発明の実施例に係る測距装置で性能評価するための画像を示す図である。
図26Aは、本発明の実施例に係る測距装置での性能評価を示す図である。
図26Bは、本発明の実施例に係る測距装置での性能評価を示す図である。
図26Cは、本発明の実施例に係る測距装置での性能評価を示す図である。
図26Dは、本発明の実施例に係る測距装置での性能評価を示す図である。
図27Aは、本発明の変形例に係る撮像光学系の配置を示す図である。
図27Bは、本発明の変形例に係る撮像光学系の配置を示す図である。
図28Aは、本発明に係る撮像光学系の配置について説明するための図である。
図28Bは、本発明に係る撮像光学系の配置について説明するための図である。
図28Cは、本発明に係る撮像光学系の配置について説明するための図である。
図29Aは、本発明に係る撮像光学系の配置について説明するための図である。
図29Bは、本発明に係る撮像光学系の配置について説明するための図である。
図30は、ステレオ測距方式による対象物までの距離算出の例を説明する図である。
図31は、従来技術の説明における測距装置と対象物との位置関係を表す図である。
図32は、従来技術の説明におけるカメラと対象物の一点をYw軸のマイナス側から見た図である。
図33は、従来技術の説明におけるカメラと対象物の一点をXw軸のプラス側から見た図である。
図34は、画像における各画素の輝度の表現方法について説明する図である。
図35Aは、従来技術の説明における写像した対象物のテクスチャを対象物側からみた、画像の一部を示す図である。
図35Bは、従来技術の説明における写像した対象物のテクスチャを対象物側からみた、画像の一部を示す図である。
図36は、従来技術の説明におけるSADの推移を示す図である。
図37は、従来技術の説明におけるSADの推移を示す図である。
図38Aは、従来技術の説明における対象物側からみた画像の一部を示す図である。
図38Bは、従来技術の説明における対象物側からみた画像の一部を示す図である。
図39は、従来技術の説明における等角直線フィッティングによるサブピクセル視差推定を説明する図である。
図40Aは、従来技術の説明における別の構成の測距装置を示す図である。
図40Bは、従来技術の説明における別の構成の測距装置を示す図である。
以下に、本発明の実施の形態について、図面を参照しながら説明する。
(実施の形態1)
図1は、本実施の形態に係る測距装置50の構成を示す図である。この測距装置50は、3つのカメラ1s、1a、1b並びにA/D変換部4、前処理部5、相関値算出部6、相関値加算部7、視差算出部8及び後処理部9を備える。
3つのカメラ1s、1a、1bは、それぞれ同様の構成を有する。つまり、カメラ1sはレンズ2s及び撮像領域3sを備え、カメラ1a及び1bは、それぞれレンズ2a及び撮像領域3a並びにレンズ2b及び撮像領域3bを備える。ここで、カメラ1sを基準撮像光学系s、カメラ1a及び1bをそれぞれ参照撮像光学系a及び参照撮像光学系bと呼ぶ。
撮像領域3s、3a、3bは、例えばCCDやCMOSなどの固体撮像素子上に構成され、レンズ2s、2a、2bを通過した対象物の光から画像を生成する。
ここで、本実施の形態に係る基準撮像光学系s並びに参照撮像光学系a及びbは、以下に示す特徴を有する。まず、各撮像光学系の光軸は平行である。そして、各撮像光学系の光学中心は一直線上に配置され、かつ、その直線は光軸に垂直である。また、各撮像光学系の撮像領域(2次元平面)と光軸は垂直に配置され、焦点距離(撮像領域から光学中心までの距離)は全ての撮像光学系で同一である。さらに、各撮像光学系の光学中心を結ぶ線、つまりエピポーラ線は各撮像領域の水平方向の画素配列と平行であり、各撮像光学系間の視差は各撮像領域の画素配列の水平方向に生じる。
なお、本発明において、上記に示した本実施の形態に係る基準撮像光学系s並びに参照撮像光学系a及びbの光軸、光学中心、撮像領域及び焦点距離等に関する特徴を、厳密に満たす必要はない。キャリブレーション処理等により補正可能であれば、例えば、光軸は厳密に互いに平行でなくてもよい。また、光軸、光学中心、撮像領域及び焦点距離等に関する特徴の誤差が、無視できる程度であれば問題ない。
また、基準撮像光学系sは、3つの撮像光学系の真ん中に配置され、基準撮像光学系sの光学中心と参照撮像光学系aの光学中心との距離(以降、基線長と呼ぶ)Baと、基準撮像光学系sの光学中心と参照撮像光学系bの光学中心との距離(基線長)Bbとは同一である。つまり、参照撮像光学系a及びbは、基準撮像光学系sに対して点対称に配置されている。
A/D変換部4は、撮像領域3s、3a、3bを構成する撮像素子から伝送される輝度情報をアナログ値からデジタル値に変換する(量子化)。ここで、撮像領域3sの像をA/D変換部4が量子化したものを画像s、撮像領域3a及び撮像領域3bの像をA/D変換部4が量子化したものを画像a及び画像bとする。A/D変換部4は、カメラ1s、1a、1b毎に別個に構成されてもよいし、カメラ1s、1a、1bに対して共通に構成されてもよいし、いずれかのみが別個に構成されてもよい。
前処理部5は、デジタル値に変換された各撮像領域の輝度情報について、キャリブレーション、輝度のシェーディング補正、光学系間の明るさの差の低減補正など画像の相関演算を高精度に行うための画像の補正処理を行う。例えば、一般的に知られるレンズ歪曲補正やステレオ画像の平行化などのキャリブレーション処理である。このキャリブレーション処理を行うことで、実装誤差を補正した画像を得ることができる。なお、本実施の形態では前処理部5がキャリブレーション処理などの画像補正を行う場合について説明するが、本発明が適用される測距装置は、このような測距装置に限定されるものではない。例えば、キャリブレーション処理がない測距装置であってもよい。
相関値算出部6は、詳細は後述するが、参照撮像光学系a及びbのそれぞれについて、基準撮像光学系sの光学中心と参照撮像光学系a又はbの光学中心とを結ぶ直線である基線の方向に沿って、画像sに含まれる基準画像に対し画像a又はbに含まれる参照画像の画像位置(画像座標)をずらして画像を比較していった場合のずらし量ごとに、基準画像と参照画像との類似度を表す相関値を算出する(ブロックマッチング演算)。ここで、基準画像に対し参照画像の一方の画像位置をずらしていくとは、基準撮像光学系及び参照撮像光学系が生成した画像の一部の領域を、それぞれ基準画像及び参照画像として選択し、基準画像に対し参照画像の選択位置(探索位置)をずらしていくことをいう。
相関値加算部7は、詳細は後述するが、相関値算出部6で撮像光学系の組合せ毎に算出された相関値を、対応するずらし量ごとに加算することで、実際視差を基準として対称な分布となる合成相関値を算出する。
視差算出部8は、相関値加算部7で加算された実際視差を基準として対称な分布となる合成相関値を、対称性を利用した補間式を用いて補間することにより、基準画像及び参照画像におけるサブピクセルレベルの視差を推定する。ここで、サブピクセルレベルとは小数点以下の画素の精度をいう。
後処理部9は、視差算出部8で算出されたサブピクセルレベルの視差に基づき対象物の三次元位置(又は測距装置から対象物までの距離)を算出する処理や、推定した三次元形状のフィルタリング処理や、推定した対象物のテクスチャを作成する処理など、アプリケーション毎の出力に応じたデータを作成する。なお、本実施の形態では、後処理部9が対象物の三次元位置や距離を算出する場合について説明するが、本発明が適用される装置は、このような測距装置に限定されるものではない。例えば、後処理部9が視差算出部8で算出された視差を他の装置に出力する装置であってもよい。この場合、対象物までの距離を測定しないことから、視差を算出する装置を複眼撮像装置と呼ぶ。
図2は、図1で示した測距装置50と対象物12との位置関係を示す図である。光学中心10sは基準撮像光学系sの光学中心、光学中心10aは参照撮像光学系aの光学中心、光学中心10bは参照撮像光学系bの光学中心である。ここで、基準撮像光学系sの光学中心10sを三次元の世界座標系の原点Mw(0、0、0)とする。
光軸11sは基準撮像光学系sの光軸、光軸11a、11bはそれぞれ参照撮像光学系a、参照撮像光学系bの光軸である。
対象物12は三次元位置又は距離を測定する対象物である。
対象物の表面上の点13は対象物12の表面上の一点であり、ここでは点13の周辺の領域は撮像領域と平行に設置されている。また、点13の世界座標はMw(Xw1、Yw1、Zw1)である。
次に、以上のように構成された本実施の形態における測距装置50の基本的な動作について説明する。
図3は、測距装置50による対象物12の三次元位置又は距離算出に関する処理の流れを示すフローチャートである。
まず、A/D変換部4は、撮像領域3s、3a、3bを構成する撮像素子から伝送される輝度情報をアナログ値からデジタル値に変換する(S101)。
次に、前処理部5は、デジタル値に変換された各撮像領域の輝度情報について、キャリブレーション、輝度のシェーディング補正、光学系間の明るさの差の低減補正など画像の相関演算を高精度に行うための画像の補正処理を行う(S102)。
続いて、相関値算出部6は、ステップS102で補正処理された画像を所定の小領域(以下、ブロックと呼ぶ)に分割する(S103)。そして、相関値算出部6は、三次元位置又は距離算出の対象となる対象物12の表面上の点13に対応する画像sのブロックを基準画像として選択する(S104)。そして、相関値算出部6は、まだ以下に記述するステップS106〜S109の処理が行われていない参照撮像光学系が生成した画像a又は画像bを取得できれば、ループ1を開始する(S105)。さらに、相関値算出部6はずらし量を取得できればループ2を開始する(S106)。
そして、相関値算出部6は、ステップS105で取得した画像a又は画像bの中から、ステップS106で取得したずらし量に対応するブロックを参照画像として選択する(S107)。続けて、ステップS104で選択した画像sのブロックである基準画像と、ステップS107で選択した画像a又はbのブロックである参照画像との類似度を表す相関値、例えばSADを算出する(S108)。
このようにして、相関値算出部6は、予め定められた最小ずらし量から順にずらし量を大きくしていき、ずらし量ごとの相関値を算出する(S106〜S109)。ここで、ずらし量が予め定められた最大ずらし量に達した場合、相関値算出部6は、ループ2(S106〜S109)を終了する。
また、ループ2(S106〜S109)、つまり、ずらし量ごとの相関値の算出が終了すると、相関値算出部6は、相関値の算出に係る処理が行われていない参照撮像光学系が生成した画像を取得し、ループ2(S106〜S109)の処理を繰り返す(S105〜S110)。ここで、相関値の算出に係る処理が行われていない参照撮像光学系が生成した画像がない場合、つまり、画像a及び画像bの両方の処理が終了した場合、相関値算出部6は、ループ1(S105〜S110)を終了する。
続いて、相関値加算部7は、上述の処理で算出された基準画像と各参照画像との相関値を、対応するずらし量ごとに加算することにより合成相関値を算出する(S111)。この処理により得られる合成相関値は、実際視差を基準として対称な分布を形成する。
そして、視差算出部8は、ステップS111において加算された後のずらし量ごとの相関値を、対称性を利用した補間式を用いて補間する(S112)。ここで用いる補間式は、例えば、等角直線フィッティングやパラボラフィッティング(二次関数によるフィッティング)などの相関値が実際視差を基準として対称な分布を形成することを前提としたサブピクセル視差推定方法で利用される補間式である。そして、視差算出部8は、補間後の相関値を利用して、相関値が最大又は最小となる(類似度が最も高い)ずらし量であるサブピクセル視差を算出する(S113)。具体的には、相関値としてSADを利用した場合、視差算出部8は、SADが最小となるずらし量をサブピクセル視差として算出することとなる。
このようにして得られた視差を利用して、後処理部9は、対象物の三次元位置又は距離を算出する(S114)。
なお、上述の処理において、測距装置50は、画像sの選択した1ブロックについて、サブピクセル視差を求め、対象物の三次元位置や距離を算出するようになっているが、画像sのブロック選択を繰り返すことで、画像sの全てのブロックについて、サブピクセル視差を求め、対象物の三次元位置や距離を算出してもよい。
次に、図3において説明した処理の具体例として、測距装置50による対象物12の三次元位置の算出について、図4〜図7を参照しながら説明する。
図4は、図2の対象物12の表面上の点13の周辺のテクスチャを基準撮像光学系sで撮影した場合の、対象物側から見た画像sの一部を示す図である。背景技術の説明と同様に各四角形は画素を表し、各画素中の線の密度が輝度値を表す。図に示すように、点13は画像s上では、黒丸で示す位置に対応するとする。
このような場合、図3のステップS103で示したように、相関値算出部6は、各撮像光学系から得られる画像を所定の小領域(ブロック)に分割し、各ブロック毎に三次元位置を算出する。
基準撮像光学系sにおけるブロックサイズを水平方向に4画素、垂直方向に4画素の4×4画素とした場合、図3のステップS104で示したように、画像sについては、測定の対象となる対象物12の表面上の点13が含まれるブロック14sの位置のブロックを基準画像として選択する。なお、画像sにおける基準画像の選択は、測定の対象となる対象物12の表面上の点13が含まれていればどのように選択してもよく、例えば、図4で示した位置よりも1画素左にずれた位置のブロックを基準画像として選択してもよい。
ところで、基準撮像光学系sと参照撮像光学系a間の基線長Baと、基準撮像光学系sと参照撮像光学系b間の基線長Bbとは等しいため、画像sに対して画像a及び画像bに発生する視差は、方向が逆で大きさが同一となる。ここでは、画像a及び画像bで発生する実際視差は、いずれも3.6画素とする。
このように実際視差が3.6画素の場合、画像sのブロック14sと同一の画像aの画像座標には、図4に示すブロック14aの位置の画像が写る。また、画像sのブロック14sと同一の画像bの画像座標には、図4に示すブロック14bの位置の画像が写る。つまり、画像s、画像a、画像bの同一の画像座標における対象物12の画像は図5A〜図5Cのようになる。ここで、画像座標とは、各撮像光学系の光軸と撮像面との交点を原点とした場合の画素の位置を表す座標とする。なお、対象物が無限遠に相当する位置にある場合には、画像s、画像a、画像bにおいて、対象物の像は同一の画像座標に結像する。
図5Aは基準撮像光学系sで撮影した画像sの一部を示す図である。図5Bは参照撮像光学系aで撮影した画像aの一部を示す図である。図5Cは参照撮像光学系bで撮影した画像bの一部を示す図である。
図5A〜図5Cにおいて、各画像中の太線で囲われた4×4画素のブロックが、図4で示したブロック14s、14a、14bに対応し、同一の画像座標のブロックを表す。以下に、画像sと画像a又は画像bとの相関値として、(式4)により求められるSADを利用した場合の、相関値算出の方法を示す。
まず、図2のステップS105〜S110で示すように、相関値算出部6は参照撮像光学系が撮像した画像のうち、画像a、つまり、図5Bの画像を取得する。そして、相関値算出部6は、既に選択されている基準画像である画像sのブロック、つまり、図5Aの太線で囲われたブロックと画像aのブロックである参照画像とを対象として、SADを算出する。このとき、相関値算出部6は、最小ずらし量である0画素に対応する図5Bの太線で囲われたブロックから、最大ずらし量である7画素に対応するブロックまで、視差の生じる方向、つまり図5Bに示す矢印の方向である画像水平方向右側へ1画素ずつブロックをずらしなから参照画像とするブロックを選択する。その結果、各ずらし量ごとのSADが算出される。このようにして算出されたSADの推移を図6Aに示す。
次に、相関値算出部6は、まだ相関値が算出されていない画像b、つまり、図5Cの画像を選択する。そして、相関値算出部6は、画像aの場合と同様に、基準画像と参照画像とのSADを算出する。このとき、相関値算出部6は、最小ずらし量である0画素に対応する図5Cの太線で囲われたブロックから、最大ずらし量である7画素に対応するブロックまで視差の生じる方向、つまり図5Cに示す矢印の方向である画像水平方向左側へ1画素ずつブロックをずらしながら参照画像とするブロックを選択する。その結果、各ずらし量ごとのSADが算出される。このようにして算出されたSADの推移を図6Bに示す。
図6A及び図6Bは、画像sと画像a及び画像sと画像bとのSADの推移を表す図である。図に示すSADの推移は、いずれも実際視差を基準として左右非対称になっているため、前述の等角直線フィッティングによってサブピクセル視差を推定した場合、実際視差である3.6画素に対して、画像aにおいてはマイナス側に約0.4画素の誤差(図6A)、画像bにおいてはプラス側に約0.5画素の誤差(図6B)が発生する。
そこで、図2のステップS111で示すように、相関値加算部7は、SADの推移が実際視差を基準として左右対称となるように、対応するずらし量ごとにSADを加算することにより合成相関値を算出する。
図7は、図6Aと図6Bに示したSADを各ずらし量ごとに加算した場合の合成相関値である合成SADの推移を示す図である。図に示すように、加算後のSADの推移は、実際視差を基準として対称となる。ここで、相関値加算部7が算出する合成SADの推移S_sum(i)は、図6AのSADの推移をSa(i)、図6BのSADの推移をSb(i)とすると、(式6)で算出することができる。
このように、合成SADの推移は、実際視差を基準として対称となっているので、図2のステップS112で示すように、対称性を利用した補間式を用いる前述の等角直線フィッティングによってサブピクセル視差を推定した場合、視差算出部8は、図7に示すように0.1画素未満の誤差で視差を算出できる。したがって、SADの推移が左右非対称となる場合に比べて大幅にサブピクセル視差推定精度を向上することができる。すなわち、等角直線フィッティングではSADの推移が実際視差を基準にして対称で、且つSADの推移が直線的になる場合に誤差なくサブピクセル視差推定を行うことができる。特に図7で示すように、SADの推移が直線的でないため視差の推定誤差は発生するが、相関値(SAD)の加算によって実際視差を基準としてSADの推移が対称にすることができるために視差の推定誤差を非常に小さくすることができる。
このように視差算出部8が算出したサブピクセルレベルの視差に基づき、図3のステップS114に示すように、後処理部9は、出力に応じた形態に視差を変換してデータを出力する。例えば対象物の三次元位置を出力する場合は、画像sの2次元画像座標系であるm(us1、vs1)から図2の光軸10sと撮像領域3sとの交点を原点とする2次元座標系であるms(xs1、ys1)に変換し、従来技術の説明と同様に(式1)、(式2)、(式3)を用いて画像sの各ブロックに対する三次元位置を求めることができる。ここで、(式1)の視差Pは算出されたサブピクセル視差に画素ピッチを掛けることで求めることができる。また、測距装置から対象物までの距離のみを算出する場合は、従来技術の説明と同様に(式1)を用いて距離を算出することができる。
次に図8、図9A及び図9Bを用いて、本実施の形態において、図7に示すように合成相関値(ここでは合成SAD)の推移が実際視差に対して対称になる原理を説明する。
図8は対象物12側から見た、画像sに写像された対象物12の表面上の点13の周辺のテクスチャを示す図である。また、太線で囲われたブロック15sは、図5Aで示す太線で囲われたブロックと同一である。
点線で囲われたブロック15aは、画像sのブロック15sと同一の画像座標に写像される画像aの画像領域である。また、点線で囲われたブロック15bは、画像sのブロック15sと同一の画像座標に写像される画像bの画像領域である。ここで、図6Aに示したSADの推移は、図8の黒い矢印16a及び白い矢印17aの領域について参照画像である画像aのブロックをずらしなから算出したものに相当する。一方、図6Bに示したSADの推移は、図8の白い矢印16b及び黒い矢印17bの領域について参照画像である画像bのブロックをずらしながら算出したものに相当する。
ところで、演算では離散的な点でしかSADを算出できない。そこで、仮にSADを算出する間隔、つまり、サンプル間隔が無限に小さいとした場合のSADの推移を図9A及び図9Bに示す。
図9Aは、サンプル間隔が無限に小さいとした場合の図6A及び図6Bに対応するSADの推移を示す図である。また、図9Bは、サンプル間隔が無限に小さいとした場合の合成SADの推移を示す図である。
図9Aにおいて、実線で示すSADの推移は、図6Aに対応する画像aのSADの推移を示す。実線で示したSADの推移のうち、ずらし量0から実際視差のずらし量までのSADの推移(実線18a)が、図8に示す黒い矢印16aの領域でのSADに相当し、実際視差のずらし量からそれ以上のずらし量でのSADの推移(実線19a)が、図8に示す白い矢印17aの領域でのSADに相当する。なお、図9Aの黒点は実際のサンプル点である。
一方、点線で示すSADの推移は、図6Bに対応する画像bのSADの推移を示す。点線で示したSADの推移のうち、ずらし量0から実際視差のずらし量までのSADの推移(点線18b)が、図8に示す白い矢印16bの領域でのSADに相当し、実際視差のずらし量からそれ以上のずらし量でのSADの推移(点線19b)が、図8に示す黒い矢印17bの領域でのSADに相当する。なお、図9Aの白丸の点は実際のサンプル点である。
図8において、黒い矢印16aでのSADの推移、つまり、画像aにおけるずらし量0から実際視差までの推移と、黒い矢印17bでのSADの推移、つまり、画像bにおける実際視差からそれ以上のずらし量での推移とでは、サンプル間隔が無限に小さい場合には、実際視差のずらし量を基準にSADを算出する基準画像と参照画像の組み合わせが同一になる。そのため、図9Aの実線18aで示されるSADの推移と点線19bで示されるSADの推移とは、実際視差のずらし量を基準に対称となる。
同様に、図8において、白い矢印17aでのSADの推移、つまり、画像aにおける実際視差のずらし量からそれ以上でのずらし量での推移と、白い矢印16bでのSADの推移、つまり、画像bにおけるずらし量0から実際視差のずらし量での推移とでは、サンプル間隔が無限に小さい場合には、実際視差のずらし量を基準にSADを算出する基準画像と参照画像の組み合わせが同一になる。そのため、図9Aの実線16bで示されるSADの推移と点線17aで示されるSADの推移とは実際視差のずらし量を基準に対称となる。
これらの理由から、各ずらし量での画像s及び画像aのブロック間のSADと、画像s及び画像bのブロック間のSADとを加算した場合、図9Bに示すように合成SADの推移が実際視差を基準として対称になる。なお、サンプル間隔が大きくなっても上記の対称性は損なわれないことは言うまでもない。したがって、本実施の形態において、図7に示すように合成相関値(ここでは合成SAD)の推移が実際視差を基準として対称となる。
なお、相関値を算出する際にSADでなく、例えばSSDやNCCなど他の相関値を利用したとしても、上述のように異なる撮像光学系での基準画像と参照画像との組合せの同一性に起因することから、合成相関値が実際視差を基準として対称となる。
また、本実施の形態では画像s中の1ブロックについて説明を行っているが、画像s中の全ブロックについて同様の演算をすることで、画像sに映っている対象物のすべての三次元位置を求めることができる。
また、本実施の形態において、後処理部9は、対象物12の三次元位置や距離を算出していたが、視差算出部8で算出された視差を利用して複数の画像を合成するとしてもよい。
以上のように、本実施の形態によれば、対象物の輝度の分布によらず相関値の推移が実際視差を基準として対称となるため、対象物によらず高精度にサブピクセル視差を推定可能な複眼撮像装置及び測距装置を提供することができる。
(実施の形態2)
次に、本発明の実施の形態2に係る測距装置について説明する。
本実施の形態に係る測距装置60は、前処理部5に画像の高周波成分を低減させる平滑化フィルタ部を備えることが実施の形態1の測距装置50と異なっているが、その他の構成部及び機能等は実施の形態1の測距装置50と同じである。そのため、本実施の形態の測距装置の特徴的な部分を中心に説明する。
図10は、本実施の形態に係る測距装置60の構成を示す図である。なお、実施の形態1と同じ構成部に関しては同一符号にて示し、説明を省略する。
図に示すように、本実施の形態に係る測距装置60が備える前処理部5は、実施の形態1と同様の画像の相関演算を高精度に行うための画像の補正処理に加えて、例えばガウシアンフィルタや平均化フィルタや加重平均化フィルタのような画像の高周波成分を低減させる処理を行う平滑化フィルタ部23を有する。
このように高周波成分を低減させた画像を用いて、相関値算出部6が、実施の形態1で示した処理と同様の処理により相関値の推移を算出すると、相関値の推移の直線性が若干改善される。
図11A及び図11Bは、図4で示した画像s、画像a、画像bに対してσ=1のガウシアンフィルタを施した場合に得られるSADの推移を示す図である。
図11A及び図11Bでは、画像の高周波成分の輝度分布が低減された分、実施の形態1の図6A及び図6Bで示したSADの推移と比べて、SADの推移の直線性は若干改善される。しかし、実際視差を基準としたSADの推移の対称性は殆ど改善されない。よって、図11A及び図11Bに示したそれぞれのSADの推移に対して、前述の等角直線フィッティングによるサブピクセル視差推定を行っても、視差推定の大幅な精度改善は期待できない。そこで、実施の形態1と同様に、相関値加算部7がずらし量ごとにSADを加算することで、SADの推移の対称性を向上させる必要がある。
図12は、図11A及び図11Bに示したSADをずらし量ごとに加算した場合の合成SADの推移を示す図である。
視差算出部8が合成SADの推移に対して等角直線フィッティングによるサブピクセル視差推定を行うと、実施の形態1の場合よりもさらに誤差が低減される。これは、前述のように合成SADの推移が実際視差を基準として対称になることに加えて、平滑化フィルタ部23による輝度分布の高周波成分の低減によりSADの推移の直線性が向上したためである。すなわち、SADの推移が実際視差を基準として対称にならない被写体の場合は、平滑化フィルタ部23が画像の高周波成分を除去するだけでは、等角直線フィッティングによるサブピクセル視差推定の精度は大きく向上しない。しかし、本実施の形態のように、相関値加算部7がSADを加算することで合成SADの推移が実際視差を基準として対称になる場合には、等角直線フィッティングによるサブピクセル視差推定の精度を被写体によらず大幅に向上させることができる。
以上のように、本実施の形態によれば、平滑化フィルタ部23が画像の高周波成分を除去することにより、相関値(ここではSAD)の推移の直線性を向上させる。その結果、低次の補間式を用いて相関値の推移を補間した場合に、測距装置はさらに高精度にサブピクセル視差を推定することが可能となる。
(実施の形態3)
次に、本発明の実施の形態3に係る測距装置について説明する。
図13は、本実施の形態に係る測距装置70の構成を示す図である。図13に示すように参照撮像光学系bの光学中心19bは、基準撮像光学系sの光学中心19sと参照撮像光学系aの光学中心19aとを結ぶ直線(図13の点線18)に対して、点線18の垂直方向に距離Error_vだけかい離している。つまり、測距装置70は、光学中心位置誤差(以下、基線垂直方向誤差という。)Error_vを有する。また、光学中心19sと光学中心19aとの距離である基線長Baと、光学中心19sと光学中心19bとの距離である基線長Bb(点線18と平行方向の距離)とはError_hの差異を持つ。つまり、測距装置70は、基線長誤差(以下、基線方向誤差という。)Error_hを有する。その他の構成部及び機能等は図10の実施の形態2の測距装置60と同じである。そのため、本実施の形態の測距装置の特徴的な部分を中心に説明する。
図10の実施の形態2のように参照撮像光学系の光学中心を基準撮像光学系の光学中心に対して点対称に配置することにより、高精度な視差検出精度を持つ測距装置を実現できるが、実際にはカメラの実装誤差やレンズ成型誤差などに起因して、図13に示すように基線垂直方向誤差Error_vや基線方向誤差Error_hが発生する場合がある。これらの誤差が大きいほど、実施の形態2の図12で示した相関値の推移が、実際視差を基準として左右対称にならなくなってくる。したがって、本実施の形態ではこれらの誤差が相関値の推移に及ぼす影響と、その許容範囲について説明する。なおここでは、基準撮像光学系sと参照撮像光学系a及びbとの光軸は平行とし、基準撮像光学系の光軸は撮像領域3sの領域中心に位置し、かつ参照撮像光学系a及びbの光軸は撮像領域3a及び3bの領域中心に位置すると仮定する。さらに撮像領域3sと撮像領域3aと撮像領域3bにおいて、縦横の画素配列はそれぞれ平行であると仮定する。なお、上記の仮定を満たさない場合でも、前処理部5におけるキャリブレーションによる補正により上記仮定が成立するよう実現してもよい。
まず基線垂直方向誤差Error_vがある場合について説明する。ここでは基線方向誤差Error_hはないものとする。基線垂直方向誤差Error_vがある場合、図14に示すように、画像aにおいて、基準画像に類似する参照画像の画像座標を探索する探索方向と視差の発生方向とは一致する。しかし、画像bにおいて、基準画像に類似する参照画像の画像座標を探索する探索方向と視差の発生方向とは、基線垂直方向誤差Error_vが大きいほど異なってくる。図14では視差の発生方向を点線、探索方向を実線で示している。図14では説明を直感的に示すために実際よりも視差の発生方向を大きく探索方向と異ならせて記載している。図14からわかるように、被写体距離が近いほど視差が大きくなるために視差の発生位置と探索位置との垂直方向のかい離が大きくなり、図12に示した実際視差を基準として左右対称となる相関値の推移が成り立たなくなってくる。例えば、カメラ1sとカメラ1aとカメラ1bが、焦点距離f=5mm、基線長Ba=20mm、基線長Bb=20mm、画素ピッチpitch=0.002mmとし、基線垂直方向誤差Error_v=0.5mmとする。被写体距離D=2000mmである場合は、(式1)に基づき視差Pを計算すると、図15に示すように視差が25画素発生する。このとき画像aに含まれる被写体像は図14で説明したように視差の探索方向つまり基線と水平方向に視差25画素が発生し、一方画像bに含まれる被写体像は図14の点線方向に視差25画素が発生する。このとき画像bに含まれる被写体像は、基線垂直方向誤差Error_vの影響により、画像sに比べて視差探索方向の垂直方向に約0.62画素ずれて写像される。視差探索方向と平行方向には約24.99画素の視差となり25画素に対して0.01画素以下の無視できる差異の視差となる。したがって、画像sと画像aとにおけるSADの推移と、画像sと画像bとにおけるSADの推移とが、視差探索方向と垂直方向にこの場合約0.62画像がずれることに起因して、実際視差を基準として厳密に左右対称でなくなる。被写体距離が更に近い場合は、画像bの視差探索方向の垂直方向への写像のずれが大きくなり、SADの推移の左右対称性が更に低下する。
図16に、図13に示すように基線垂直方向誤差Error_vを有する測距装置を用いてある被写体を撮像した場合の測距精度の低下(視差検出誤差の増加)をシミュレーションにより検証した結果のグラフを示す。測距精度の低下が視差探索方向の垂直方向への写像のずれ量に起因するため、図16の横軸は視差探索方向の垂直方向への写像のずれ量としている。Error_vは、図16の横軸の画像ずれ量をP_vとすると、(式7)で換算することができる。
ここで、Dは被写体距離、pitchは画素ピッチ、fは焦点距離である。図16では画像ずれP_vが大きくなるにしたがって、視差検出誤差が大きくなっているのがわかる。図16の点線の基準測距精度は、同一の被写体を用いた場合の図40Aの従来のステレオカメラ(3眼)の測距精度(視差検出誤差)をシミュレーションで求めた場合の結果である。従来のステレオカメラの焦点距離、画素ピッチ、被写体距離は同一に設定し、図40Aの基準撮像光学系sと参照撮像光学系aとの基線長及び基準撮像光学系sと参照撮像光学系bとの基線長はいずれも図13の本実施の形態の基線長Baと同一にしている。この従来のステレオカメラ(3眼)のシミュレーション結果には基線垂直方向誤差Error_vに相当する実装誤差は与えていない(従来のキャリブレーション手法等により補正可能なため)ため、基準測距精度は一定値となる。図16より、画像ずれP_vが0.15画素以内であれば、従来のステレオカメラより高精度に測距(視差検出)できることがわかる。したがって、本実施の形態の測距装置70において、基線垂直方向誤差Error_vを、(式7)のP_v=0.15として、(式8)となるよう測距装置70を構成することにより、測距装置70は従来のステレオカメラより高精度に測距(視差検出)をすることができる。
例えば、(最小)被写体距離D=500mm、画素ピッチpitch=0.002mm、焦点距離5mmの場合、垂直方向誤差Error_vを0.03mm以内に作成することにより、従来のステレオカメラより高精度に測距(視差検出)をすることができる。したがって、図13の各カメラの光学中心の相対位置を実装時に(式8)を満たすよう高精度に実装すればよい。例えばレンズ2s、2a、2bを一体成型により作成することによって比較的容易に実現可能である。また、MEMS(Micro Electro Mechanical Systems)技術等によって実現されるウェーハレベルカメラ(日経MICRODEVICES 2008年7月号参照)などのカメラ大量生産技術を用いたステレオカメラでも実現可能であることは言うまでもない。また、本実施の形態では3眼についての説明を行っているが、5眼、7眼、9眼など多数の光学系でも適用可能であることは言うまでもない。なお、図16に示すグラフから得られるP_v=0.15は、特定の被写体を撮像した場合にのみに得られる値ではない。被写体を変えても同様の傾向が得られ、P_v=0.15は、被写体に依存しない値である。
次に、基線方向誤差Error_hがある場合について説明する。ここでは基線垂直方向誤差Error_vはないものとする。基線方向誤差Error_hがある場合、図13に示すように基線長Baと基線長Bbとが異なるために、図17に示すように、同一被写体に対する画像aに生じる視差Paと、画像bに生じる視差Pbが異なる。したがって図18A及び図18Bに示すように、画像sと画像aとのSADの推移(図18A)と、画像sと画像bとのSADの推移(図18Bの黒丸)との実際視差に対する対称性が悪くなる。ここでの実際視差は画像sと画像aとの実際視差を指している。基線方向誤差Error_hが大きいほど、実際視差に対する対称性が悪くなる。これは、例えば基線方向誤差Error_hが正の場合は、図18Bに示すように、画像sと画像bとのSADの推移がずらし量の大きくなる方向に平行移動するためである。基線方向誤差Error_hが大きいほど、上記平行移動の量が多くなり対称性が悪くなる。図18Bにおいて白丸のSADの推移は、図10の実施の形態2における画像sと画像bとのSADの推移である(つまり、Error_h=0)。図19に、図18Aと図18BとのSADをずらし量ごとに加算した合成SADの推移を示す。図19から明らかなように、実際視差を基準としたSADの推移の対称性が悪くなることにより、推定視差が実際視差からずれているのがわかる。
図20に、図13に示すように基線方向誤差Error_hを有する測距装置によりある被写体を撮像した場合の測距精度の低下(視差検出誤差の増加)をシミュレーションにより検証した結果のグラフを示す。視差検出誤差が視差探索方向への写像のずれ量に起因するため、図20の横軸は視差探索方向への写像のずれ量としている。Error_hは、図20の横軸の画像ずれ量をP_hとすると、(式9)で換算することができる。
ここで、Dは被写体距離、pitchは画素ピッチ、fは焦点距離である。図20では画像ずれP_hが大きくなるにしたがって、視差検出誤差が大きくなっているのがわかる。図20の実線の基準測距精度は、同一の被写体を用いた場合の図40Aの従来のステレオカメラ(3眼)の測距精度(視差検出誤差)をシミュレーションで求めた場合の結果である。従来のステレオカメラの焦点距離、画素ピッチ、被写体距離は同一に設定し、図40Aの基準撮像光学系sと参照撮像光学系aとの基線長及び基準撮像光学系sと参照撮像光学系bとの基線長はいずれも図13の本実施の形態の基線長Baと同一にしている。この従来のステレオカメラ(3眼)のシミュレーション結果には基線方向誤差Error_hに相当する実装誤差は与えていない(従来のキャリブレーション手法等により補正可能なため)ため、基準測距精度は一定値となる。図20より、画像ずれP_hが0.2画素以内であれば、従来のステレオカメラより高精度に測距(視差検出)できることがわかる。したがって、本実施の形態の測距装置70において、基線垂直方向誤差Error_hを、(式9)のP_h=0.2として、(式10)となるように測距装置70を作成することにより、測距装置70は従来のステレオカメラより高精度に測距(視差検出)をすることができる。
例えば、(最小)被写体距離D=500mm、画素ピッチpitch=0.002mm、焦点距離5mmの場合、垂直方向誤差Error_vを0.04mm以内に作成することにより、従来のステレオカメラより高精度に測距(視差検出)をすることができる。したがって、図13の各カメラの光学中心の相対位置を実装時に(式10)を満たすよう高精度に実装するとよい。例えばレンズ2s、2a、2bを一体成型により作成することにより比較的容易に上記を実現可能である。また、MEMS技術等によって実現されるウェーハレベルカメラ(日経MICRODEVICES 2008年7月号参照)などのカメラ大量生産技術を用いたステレオカメラでも実現可能であることは言うまでもない。また、本実施の形態では3眼についての説明を行っているが、5眼、7眼、9眼など多数の光学系でも適用可能であることは言うまでもない。なお、図20に示すグラフから得られるP_h=0.2は、P_v=0.15と同様に、特定の被写体を撮像した場合にのみに得られる値ではない。被写体を変えても同様の傾向が得られ、P_h=0.2は、被写体に依存しない値である。
以上より、本実施の形態による測距装置70は、(式8)、(式10)を満たす構成であれば、従来のステレオカメラより高精度に測距(視差検出)をすることができる。
(実施の形態4)
次に、本発明の実施の形態4に係る測距装置について説明する。
本実施の形態に係る測距装置80は、参照撮像光学系を8つ備えることと相関値算出部6に参照撮像光学系間の視差の違いを換算する視差換算部を備えることとが、実施の形態2の測距装置60と異なっているが、その他の構成部及び機能等は実施の形態2の測距装置60と同じである。そのため、本実施の形態の測距装置の特徴的な部分を中心に説明する。
図21は、本実施の形態に係る測距装置80の構成を示す図である。なお、実施の形態2と同じ構成部に関しては同一符号にて示し、説明を省略する。
図21に示すように、測距装置80は複眼カメラ20を備える。複眼カメラ20は、一体成型された9つのレンズアレイと、9つの異なる撮像領域を有する単一のCCDやCMOSなどの固体撮像素子で構成される。ここで、光帯域分離フィルタや絞りなどは、本発明の主眼ではないため図示していない。複眼カメラ20は、レンズ径が通常のカメラより小さいためレンズの焦点距離を短く設計でき、光学系全体の厚さを非常に薄く構成することができる。また、レンズアレイによる一体成型とすることで、アレイに含まれる各光学系の光軸間の相対位置関係を高精度(例えば誤差5μm未満)に作成することも可能となる。
なお、本実施の形態では各撮像光学系がレンズアレイである場合について説明するが、本発明が適用される測距装置は、このような測距装置に限定されるものではない。例えば、別個の撮像光学系で測距装置を構成してもよい。撮像素子を複数用いてもよい。
基準撮像光学系sは、レンズ21s及び撮像領域22sを含む構成であり、固体撮像素子の中心付近に配置される。参照撮像光学系a〜hは、それぞれレンズ21a〜h及び撮像領域22a〜hを含む構成である。
ここでは、実施の形態2の測距装置60と同様に、基準撮像光学系s、参照撮像光学系a〜hは、以下に示す特徴を有する。まず、各撮像光学系の光軸は平行である。そして、各撮像光学系の光学中心は同一平面上に配置され、かつ、その平面は光軸に垂直である。また、各撮像光学系の撮像領域(2次元平面)と光軸は垂直に配置され、焦点距離(撮像領域から光学中心までの距離)は全ての撮像光学系で同一である。
また、基準撮像光学系sと参照撮像光学系aと参照撮像光学系bの光学中心は、同一直線上に配置される。そして、参照撮像光学系aの光学中心と参照撮像光学系bの光学中心とは、基準撮像光学系sを基準に点対称な位置に配置されている。また、基準撮像光学系sと参照撮像光学系cと参照撮像光学系dの光学中心は、同一直線上に配置される。そして、参照撮像光学系cの光学中心と参照撮像光学系dの光学中心とは、基準撮像光学系sを基準に点対称な位置に配置されている。また、基準撮像光学系sと参照撮像光学系eと参照撮像光学系fの光学中心は、同一直線上に配置されている。そして、参照撮像光学系eの光学中心と参照撮像光学系fの光学中心とは、基準撮像光学系sを基準に点対称な位置に配置されている。また、基準撮像光学系sと参照撮像光学系gと参照撮像光学系hの光学中心は、同一直線上に配置されている。そして、参照撮像光学系gの光学中心と参照撮像光学系hの光学中心とは、基準撮像光学系sを基準に点対称な位置に配置されている。
また、説明の便宜のため、基準撮像光学系sと参照撮像光学系aと参照撮像光学系bの光学中心を結ぶ前述の直線は、撮像領域22sの水平方向画素配列と平行であると仮定する。したがって、基準撮像光学系sと参照撮像光学系aとの間に生じる視差、及び基準撮像光学系sと参照撮像光学系bとの間に生じる視差は、各撮像領域の画素配列の水平方向に生じる。
以上より、基準撮像光学系sと参照撮像光学系aの基線長Baと、基準撮像光学系sと参照撮像光学系bの基線長Bbは等しい。また、基準撮像光学系sと参照撮像光学系cの基線長Bcと、基準撮像光学系sと参照撮像光学系dの基線長Bdは等しい。また、基準撮像光学系sと参照撮像光学系eの基線長Beと、基準撮像光学系sと参照撮像光学系fの基線長Bfは等しい。また、基準撮像光学系sと参照撮像光学系gの基線長Bgと、基準撮像光学系sと参照撮像光学系hの基線長Bhは等しい。
相関値算出部6は、実施の形態1で説明した相関値を算出する処理に加えて、視差の換算処理を行う視差換算部24を有する。視差換算部24は、詳細は後述するが、基線長が異なるように配置された参照撮像光学系の相関値を算出する際に、ブロックのずらし量を、相関値加算部7で加算が可能なずらし量に変換する。例えば、視差換算部24は、参照撮像光学系aと基線長が異なるように配置された参照撮像光学系eの相関値を算出する際に、基線長Beを基線長Baで除した値Leと、基線長Baと平行な方向の画素ピッチpitch_aを基線長Beと平行な方向の画素ピッチpitch_eで除した値Meとの積であるLe・Me(=Ke)を、参照撮像光学系aで生成された参照画像の相関値を算出する際に利用したブロックのずらし量に乗じることで、相関値加算部7で加算が可能なずらし量に変換する。ここで、基線長と平行な方向の画素ピッチとは、撮像光学系で撮像された画像において、基線と平行な同一直線上に画素の中心点と対応する点が出現する最短周期をいう。
なお、本実施の形態において、ずらし量の単位は、基線方向の画素ピッチを表す「画素」である。したがって、基線方向により画素ピッチが異なる撮像光学系間の相関値を加算する際には、視差換算部24は、単位の変換を行う必要がある。つまり、基線長の比を基準となるずらし量に乗じるだけではなく、さらに画素ピッチの比であるMeを乗じて、視差の換算を行う必要がある。しかし、ずらし量の単位が基線方向に依存しない単位である場合には、例えば、ミリメートルなどの単位である場合には、単位の変換は必要ない。すなわち、視差換算部24は、画素ピッチの比であるMeを用いずに、基線長の比であるLeに基準となるずらし量を乗じることで、ずらし量を換算することが可能となる。
相関値加算部7は、実施の形態2と同様に、相関値算出部6で光学系の組合せ毎に算出された相関値を、視差換算部24で変換されたずらし量に基づいて、対応するずらし量ごとの相関値をすべて加算する。その結果、相関値加算部7は、実際視差を基準として対称な推移となる合成相関値を算出する。
図22は、図21に示した測距装置80と対象物12との位置関係を示す図である。
図に示すように、実施の形態2と同様、基準撮像光学系sの光学中心25sを世界座標の原点Mw(0、0、0)とし、対象物12の表面上の1点である点13の世界座標をMw(Xw1、Yw1、Zw1)とする。
ところで、上述のように参照撮像光学系cと参照撮像光学系dについても、参照撮像光学系aと参照撮像光学系bと同様に、基準撮像光学系sの光学中心に対して点対称に撮像光学系の光学中心が配置され、且つ各光学中心は同一直線上に配置されている。そのため、基準撮像光学系sと参照撮像光学系c、及び、基準撮像光学系sと参照撮像光学系dのブロックマッチング演算で得られるずらし量毎のSADを加算すると、実際視差を基準として対称なSADの推移が得られる。しかし、基準撮像光学系sと参照撮像光学系a及び参照撮像光学系bの基線長と、基準撮像光学系sと参照撮像光学系c及び参照撮像光学系dの基線長とが異なる場合は、実際視差が変わる。よって、相関値加算部7が、同一のずらし量ごとにSADの推移を合成(加算)しても、実際視差を基準として対称なSADの推移が得られない。そこで、視差換算部24が、SADを算出する際のずらし量を基線長の長さと画素ピッチに合わせて変更する必要がある。
次に、以上のように構成された本実施の形態における測距装置80の基本的な動作について説明する。
図23は、測距装置80による対象物12の三次元位置又は距離算出に関する処理の流れを示すフローチャートである。
ステップS201〜S204の処理は、実施の形態1の図3で示したステップS101〜S104の処理と同様であるので説明を省略する。
ステップS204の処理が終了すると、相関値算出部6は、まだ以下に記述するステップS206〜S212の処理が行われていない参照撮像光学系が生成した画像a〜hのいすれかを取得できれば、ループ1を開始する(S205)。
次に、相関値算出部6が備える視差換算部24は、例えば基準撮像光学系sと参照撮像光学系a及び参照撮像光学系bを基準とすれば、参照撮像光学系aと基準撮像光学系sとの基線長(基準となる基線長)と、画素ピッチとを取得する(S206)。そして、視差換算部24は、ステップS205で選択された画像を生成した参照撮像光学系と基準撮像光学系sとの基線長と、画素ピッチとを取得する(S207)。続けて、視差換算部24は、ステップS206で取得した基準となる基線長とステップS207で取得した基線長及び画素ピッチに基づいて、新たなずらし量を算出する(S208)。
そして、相関値算出部6は、上述のように算出された新たなずらし量を取得できればループ2を開始する(S209)。
さらに、相関値算出部6は、ステップS205で取得した画像a〜hのいずれかの画像の中から、ステップS209で取得したずらし量に対応するブロックを参照画像として選択する(S210)。続けて、ステップS204で選択した画像sのブロックである基準画像と、ステップS209で選択した画像a〜hのいずれかの画像のブロックである参照画像との類似度を表す相関値、例えばSADを算出する(S211)。
このようにして、相関値算出部6は、ステップS208で算出された新たなずらし量ごとの相関値を算出する(S212、S209)。ここで、ずらし量が最大ずらし量に達した場合、相関値算出部6は、ループ2(S209、S212)を終了する。
また、ループ2(S209、S212)、つまり、ずらし量ごとの相関値の算出が終了すると、相関値算出部6は、相関値の算出に係る処理が行われていない参照撮像光学系が生成した画像を取得し、ループ2(S209、S212)の処理を繰り返す(S213、S205)。ここで、相関値の算出に係る処理が行われていない参照撮像光学系が生成した画像がない場合、つまり、画像a及び画像bの両方の処理が終了した場合、相関値算出部6は、ループ1(S205、S213)を終了する。
続いて、相関値加算部7は、上述の処理で算出された基準画像と各参照画像との相関値を、対応するずらし量ごとに加算する(S214)。ここでは、対称に配置された参照撮像光学系の相関値を加算するのみではなく、すべての参照撮像光学系の相関値を加算する。この処理により得られる合成相関値は、実際視差を基準として対称な分布を形成する。ここでいう実際視差とは、基準とした基線長と画素ピッチにおいての視差量となる。
以下のステップS215〜S217の処理は、実施の形態1の図3で示したステップS112〜S114の処理と同様であるので説明を省略する。
次に、図23において説明した処理の詳細な説明を行う。図23のステップS208において、視差換算部24は、基線長及び画素ピッチの比率に基づいて新たなずらし量を算出する。具体的には、相関値算出部6が参照撮像光学系cの生成した画像cの相関値を算出する場合に、基準となる基線長を参照撮像光学系aの基線長Ba、基準となる画素ピッチを基線長Baと平行な方向の画素ピッチをpitch_aとすると、視差換算部24は(式11)により基線長の比率からSADの推移算出時のずらし量の刻み量Kc(単位:画素)を算出することができる。なお、画像aの相関値算出におけるずらし量の刻み量は1画素である。
ここでBcは基準撮像光学系sと参照撮像光学系cとの間の基線長であり、pitch_cは基線長Bcと平行な方向の画素ピッチである。なお、上述の通り、基線長Baと基線長Bbは同一であり、基線長Bcと基線長Bdも同一である。したがって、視差換算部24は、基準撮像光学系sと参照撮像光学系c、及び、基準撮像光学系sと参照撮像光学系dのSADの推移を算出するときのずらし量を上述の刻み量Kcから算出することができる。つまり、最小ずらし量を0画素とした場合、新たなずらし量は0画素、Kc画素、2・Kc画素、3・Kc画素、・・・となる。仮に、最小ずらし量が−2画素である場合は、−2・Kc画素、−Kc画素、0画素、Kc画素、2・Kc画素、3・Kc画素、・・・というずらし量になる。なお、上述の刻み量Kcの値によっては、サブピクセル単位のずらし量となり得る。その場合は、相関値算出部6が参照画像を選択する際に、バイリニア補間などの処理により参照画像を抽出することで、相関値を算出することが可能となる。
同様にして、基準撮像光学系sと参照撮像光学系eと参照撮像光学系fとの組合せの場合も、視差換算部24が、SADを算出する際の新たなずらし量を算出する。視差換算部24が、新たなずらし量を算出する際に利用する刻み量は、(式12)により求められる。
ここでBeは基準撮像光学系sと参照撮像光学系eとの間の基線長であり、pitch_eは基線長Beと平行な方向の画素ピッチである。なお、上述の通り基線長Beと基線長Bfは同一である。したがって、視差換算部24は、基準撮像光学系sと参照撮像光学系e、及び、基準撮像光学系sと参照撮像光学系fのSADの推移を算出するときのずらし量を上述の刻み量Keから算出することができる。つまり、最小ずらし量を0画素とした場合、新たなずらし量は0画素、Ke画素、2・Ke画素、3・Ke画素、・・・というずらし量になる。
同様にして、基準撮像光学系sと参照撮像光学系gと参照撮像光学系hとの組合せの場合も、視差換算部24が、SADを算出する際の新たなずらし量を算出する。視差換算部24が、新たなずらし量を算出する際に利用する刻み量は、(式13)により求められる。
ここでBgは基準撮像光学系sと参照撮像光学系gとの間の基線長であり、pitch_gは基線長Bgと平行な方向の画素ピッチである。なお、上述の通り基線長Bgと基線長Bhは同一である。したがって、視差換算部24は、基準撮像光学系sと参照撮像光学系g、及び、基準撮像光学系sと参照撮像光学系hのSADの推移を算出するときのずらし量を上述の刻み量Kcから算出することができる。つまり、0画素、Kg画素、2・Kg画素、3・Kg画素、・・・というずらし方になる。
ここで、基準撮像光学系sと参照撮像光学系a〜hとのSADの推移を格納する変数を、それぞれSa(i)、Sb(i)、Sc(i)、Sd(i)、Se(i)、Sf(i)、Sg(i)、Sh(i)とする。その場合、図23のステップS214に示すように、相関値加算部7は、(式14)によりSADの推移を合成(加算)する。このSADの推移の合成において利用するずらし量は、視差換算部24が算出した新たなずらし量である。
このようにして、相関値加算部7が合成したSADの推移も、実施の形態1と同様に実際視差を基準として対称となる。また、実施の形態1と比べて、基準撮像光学系sに対して対称な2つの参照撮像光学系の組合わせの数が増加するので、平滑化効果によりSADの推移の変動が小さくなり、さらに、SADの推移の直線性が向上する。
このように相関値加算部7が合成した相関値S_sumから、実施の形態2同様に、視差算出部8は、図23のステップS215及びS216に示すように、サブピクセルレベルの視差を算出する。このとき、SADの推移の直線性が向上したことで、低次の補間式を用いた場合に、対象物の輝度分布によらず高精度にサブピクセル視差を推定することが可能となる。
そして、視差算出部8が算出したサブピクセルレベルの視差に基づき、図23のステップS217に示すように、後処理部9は出力に応じた形態に視差を変換してデータを出力する。例えば、対象物の三次元位置を出力する場合は、画像sの2次元画像座標系であるm(us1、vs1)から、図22の基準撮像光学系sの光軸と撮像領域22sとの交点を原点とする2次元座標系であるms(xs1、ys1)に変換し、従来技術の説明と同様に(式1)、(式2)、(式3)を用いて画像sの各ブロックに対する三次元位置を求めることができる。このとき用いる基線長のパラメータは、基線長Ba(基準撮像光学系sと参照撮像光学系aとの間の基線長)を用いる。なお、(式1)の視差Pは上述の処理により算出されたサブピクセル視差に画素ピッチを掛けることで求めることができる。
以上のように、本実施の形態によれば、対象物の輝度の分布によらず相関値の推移が実際視差を基準に対称となるため、対象物によらず高精度にサブピクセル視差を推定することが可能な測距装置を提供することができる。また、基準撮像光学系sに対して光学中心が点対称な2つの参照撮像光学系の組合わせの数を増加することで、平滑化効果により相関値の推移の変動が小さくなり、低次の補間式を用いることで更に高精度なサブピクセル視差を推定可能な測距装置を提供できる。
(実施例)
本実施例では、従来のステレオカメラと本発明による測距装置との測距精度(視差検出精度)の比較シミュレーション結果の例を示す。図24A〜図24Cは従来のステレオカメラの構成を示す。図24D〜図24Fは本発明による測距装置、つまり基準撮像光学系の光学中心に対して2つの参照光学系の光学中心を点対称に配置し、その2つの参照光学系の対が1つ以上構成されることにより、対象物の輝度分布によらず合成相関値が実際視差を基準として左右対称になる測距装置の構成を示す。図24A〜図24Fにおいては、すべての光学系について焦点距離、水平及び垂直方向画素ピッチ、被写体距離は同一としている。各参照画像の基準撮像光学系に対する基線長は、水平及び垂直方向に基線が生じる場合はすべて同一、斜め方向に基線が生じる場合は水平方向の基線長のsqrt(2)倍としている。実施の形態3で説明したような基線垂直方向誤差や基線方向誤差はここでは含んでいない。図25A〜図25Dは、測距精度の比較に用いた被写体を示す図である。図25A〜図25Dの各被写体については各光学系に応じて適切に理想的に0.1画素刻みで10.0〜11.0画素のずらし画像(視差画像)を作成し、比較シミュレーションに用いている。画像には実際の撮像素子で観測される程度の白色ノイズを加えている。図26A〜図26Dは、図25A〜図25Dの各被写体に対応する比較シミュレーション結果を示すグラフである。図26A〜図26Dの各グラフの横軸は視差演算を行う際の演算ブロックサイズ(正方形演算ブロックの1辺の画素数)を示し、縦軸はそれぞれに対応する視差検出誤差を示している。各演算ブロック毎の視差検出誤差の算出方法は、図25A〜図25Dの各被写体を該当演算ブロックサイズで領域分割し、各演算ブロック毎の視差検出誤差を被写体全領域で平均した値を示している。また、各演算ブロック毎の視差検出誤差は、0.1画素刻みで作成した10.0〜11.0画素のずらし画像(視差画像)のすべてのずらし量(視差画像)に対しての視差検出誤差の平均値を算出している(つまり、小数点以下が0.1画素刻みで0.0〜0.9のすべての視差量について検証している)。
図26A〜図26Dの比較シミュレーション結果をみると分かるように、いずれの被写体においても、本発明による測距装置が従来のステレオカメラに比較して、大幅に視差検出誤差が低減(視差検出精度が向上)していることがわかる。
(変形例1)
上述の各実施の形態に係る測距装置は、本発明を説明するための一例であり、例えば、図27Aに示すような測距装置の構成でもよい。
図27Aは、本変形例に係る測距装置の撮像光学系の構成を示す図である。図に示すように、本変形例に係る測距装置は、基準撮像光学系s及び参照撮像光学系a〜fと、基準撮像光学系sと参照撮像光学系a〜fとから算出された対象物の三次元位置(形状)に高解像度なカラーのテクスチャをマッピングするための2つのテクスチャ撮像光学系を備える。テクスチャ用撮像光学系は、任意の位置及び個数で配置してよい。その他、付加的な機能を追加するために本変形例に係る測距装置に新たな撮像光学系を追加してもよい。
(変形例2)
上述の各実施の形態に係る測距装置は、4つ又は8つの参照撮像光学系を備えていたが、6つの参照撮像光学系を備えてもよいことは言うまでもない。
図27Bは、本変形例に係る測距装置の撮像光学系の構成を示す図である。図に示すように、本変形例に係る測距装置は7つの撮像光学系を備える。また、本変形例に係る測距装置において、参照撮像光学系aの光学中心と参照撮像光学系bの光学中心とが略1直線上に基準撮像光学系sの光学中心を基準として点対称に配置され、参照撮像光学系cの光学中心と参照撮像光学系dの光学中心とが略1直線上に基準撮像光学系sの光学中心を基準として点対称に配置され、参照撮像光学系eの光学中心と参照撮像光学系fの光学中心とが略1直線上に基準撮像光学系sの光学中心を基準として点対称に配置されている。
本変形例に係る測距装置のように、本発明に係る測距装置は、略1直線上に基準撮像光学系を基準に光学中心が略対称に配置される2つの参照撮像光学系を複数有する構造であればよい。さらに複数、例えば10個、12個などの参照撮像光学系を備える測距装置であっても、本発明の効果を得ることができる。
ところで、上述の実施の形態4並びに変形例1及び2に係る測距装置のように、4以上の参照撮像光学系を備えている場合、参照撮像光学系の配置によっては、ブロックマッチング演算時のずらし量がサブピクセル単位となり、ブロックマッチング演算の時間が増大するときがある。そこで、ブロックマッチング演算時のずらし量がサブピクセル単位とならない、つまり、ブロックマッチング演算の演算時間が短くなる撮像光学系の配置について、図28A〜図28Cを用いて説明する。
図28A〜図28Cは撮像光学系の配置を表す図である。図28A〜図28Cに示す各撮像光学系において、すべての撮像光学系の撮像領域を構成する画素の水平方向の配列は平行であり、かつ、すべての撮像光学系の撮像領域を構成する画素の垂直方向の配列は平行である。ここで、画素の配列方向(水平又は垂直)と平行な略1直線上に、基準撮像光学系を基準として光学中心が略点対称に配置される2つの参照撮像光学系を撮像光学系群1とする。また、画素の配列方向(水平又は垂直)と平行な略1直線上に、基準撮像光学系を基準として光学中心が略点対称に配置される他の2つ参照撮像光学系を撮像光学系群2とする。このとき、撮像光学系群1及び2において、基準撮像光学系sと2つの各参照撮像光学系との基線長は、それぞれB1及びB2である。また、撮像光学系群1及び2のブロックマッチング演算時のブロックのずらし方向つまり各基線長と平行な方向の画素ピッチは、それぞれp1及びp2である。
ここで、B1/p1とB2/p2とが整数倍の関係である場合、ブロックマッチング演算時のずらし量に対応したブロックを参照画像として選択するときに、ブロックの境界が画素の境界と一致する(参照画像の切出し座標が常に整数となる)。その結果、相関値算出部6が参照画像を選択する際に、バイリニア補間などの補間演算をする必要がなくなるので、演算時間を大幅に削減することが可能となる。
図28Aに示す撮像光学系において、撮像光学系群1を参照撮像光学系a及び参照撮像光学系b、撮像光学系群2を参照撮像光学系c及び参照撮像光学系dとする。ここで、垂直方向の画素ピッチと水平方向の画素ピッチは同一のp1(p1=p2)である。基準撮像光学系sと参照撮像光学系aとの基線長Baと、基準撮像光学系sと参照撮像光学系cの基線長Bcとの基線長は同一である。したがって、Ba/p1=Bc/p2が成立つため、ブロックマッチング演算時のずらし量ごとのブロックの境界が画素の境界と一致する。その結果、ブロックマッチング演算の演算時間を大幅に削減することが可能となる。
図28Bに示す撮像光学系では、図28Aの撮像光学系の配置に加え、画素配列に対して45度の斜め方向に参照撮像光学系e、f、g、hがそれぞれsqrt(2)倍の基線長の長さの位置に配置されている。このとき、基準撮像光学系sと参照撮像光学系e、f、g、hとの基線長と平行な方向の画素ピッチp2は、いずれも水平(垂直)方向の画素ピッチのsqrt(2)倍(p2=sqrt(2)・p1)となる。したがって、代表して参照撮像光学系eを撮像光学系群2と仮定して説明すると、Be=sqrt(2)・Baであることも考慮すると、Ba/p1=Be/p2が成立つ。Beは基準撮像光学系sと参照撮像光学系eとの基線長である。この場合も、ブロックマッチング演算時のずらし量に対応したブロックを参照画像として選択するときに、ブロックの境界が画素の境界と一致する(参照画像の切出し座標が常に整数となる)。その結果、ブロックマッチング演算の演算時間を大幅に削減することが可能となる。
図28Cに示す撮像光学系では、図28A及び図28Bと異なり、水平方向の画素ピッチであるp1は、垂直方向の画素ピッチであるp2より長い。そこで水平方向及び垂直方向の画素ピッチの比と対応するように、基準撮像光学系sと参照撮像光学系a及びbの基線長Baは、基準撮像光学系sと参照撮像光学系c及びdの基線長Bcより長い。つまり、Ba/p1=Bc/p2が成立するように各撮像光学系が配置されている。その結果、図28A及び図28Bと同様に、ブロックマッチング演算の演算時間を大幅に削減することが可能となる。
上述のように、各撮像光学系は、各撮像光学系の撮像装置である撮像領域を、構成する画素の位置関係にあわせて配置することで、ブロックマッチング演算の演算時間を大幅に削減することが可能となる。つまり、各撮像光学系は、各撮像光学系の撮像領域を構成する画素の配列方向及び距離と、各撮像光学系の基線の方向及び長さとが、相似となるように配置されることで、演算時間を大幅に削減することが可能となる。
(変形例3)
上述の各実施の形態に係る測距装置は、図29A及び図29Bに示すように、各参照画像の光学中心が基準撮像光学系sの光学中心に対して略点対称であればよい。図29A及び図29Bは本発明に係る測距装置を装置の別の例を測距装置の上側から見た図である。レンズ及び撮像素子以外の構成は省略している。図29Aに示すように、各光学系の光学中心を結ぶ基線と、各光学系の光軸とは垂直でなくてもよい。この場合は、視差探索時にブロックサイズをずらし量ごとに可変とする従来の視差探索手法を用いて各参照撮像光学系に対する相関値を導出すればよく、合成した相関値の推移の実際視差に対する対称性は損なわれないため本発明の効果を得ることが可能である。もしくはアフィン変換を用いたキャリブレーション(視点変換)により光軸と基線方向を垂直にして演算してもよい。また、図29Bに示すように、各光学系の光軸は必ずしも平行である必要はない。光軸の方向はアフィン変換を用いたキャリブレーション(視点変換)により補正可能であるためである。
以上、本発明の実施の形態及び変形例に係る測距装置について説明したが、本発明の具体的な構成は、上述した各実施の形態及び各変形例に限られるものではない。また、互いに異なる実施の形態及び変形例における構成部を組み合わせてもよい。発明の要旨を逸脱しない範囲で種々の変更及び修正が可能である。
例えば、上述の各実施の形態及び各変形例に係る撮像光学系が、ベイヤー配列などのカラー撮像素子を備える場合であってもよい。この場合、一般的に知られるデモザイク処理等により高解像度化されたカラー画像を用いることで、上述の各実施の形態及び各変形例と同様に、高精度に視差が算出できる。
また、上述の各実施の形態及び各変形例において、基準撮像光学系の光学中心とその他の2つの参照撮像光学系の光学中心が1直線上に、基準撮像光学系の光学中心を基準として点対称に配置されていたが、基準撮像光学系の光学中心とその他の2つの参照撮像光学系の光学中心が略1直線上に、基準撮像光学系の光学中心を基準として略点対称に配置されてもよい。
ここでいう略1直線上及び略点対称とは、実施の形態3で説明した(式8)、(式10)の条件を満たす範囲をいう。
また、上述の各実施の形態において相関値を算出する関数としてSADを用いていたが、例えばZNCC(相互相関係数)を用いることも可能である。ZNCCを用いた場合、相関の最も高いときに相関値が1となり、相関が低いときに相関値が1未満となる。このように相関値の推移が最大となるずらし量を視差としてサブピクセルレベルで求める場合も、本発明を適用することができる。その他にも相関値を算出する関数として前述のSSDやNCCなども本発明を適用することができる。つまり、本発明によれば、相関値の推移が実際視差を基準として対称になるので、相関値の推移の極値の最大、最小に関わらず、高精度にサブピクセル視差を求めることが可能である。
また、上述の各実施の形態及び変形例に係る測距装置において、対象物の三次元位置又は距離を算出しなくてもよい。この場合、測距装置は複眼撮像装置と呼ばれることとなる。複眼撮像装置も測距装置と同様に、例えば、図1で示したような構成となる。ただし、測距装置と異なり、複眼撮像装置は対象物の三次元位置や距離を算出する後処理部9を含まない。
また、本発明は、上記のような測距装置として実現することができるだけでなく、上記のような測距装置が備える特徴的な構成部をステップとする測距方法又は視差算出方法として実現したり、それらのステップをコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、CD−ROM等の記録媒体やインターネット等の伝送媒体を介して配信することができるのは言うまでもない。
また、本発明は、上記のような測距装置の構成部が有する機能の一部を実現する半導体集積回路(LSI)として実現することもできる。
本発明は、同一の対象物を撮像する複数の撮像光学系で生じる視差を算出することのできる複眼撮像装置、及び、装置から対象物までの距離又は対象物の三次元位置もしくは形状を求めることのできる測距装置に関するものであり、車載、監視、医療、ロボット、ゲーム、CG画像作成、立体画像用入力、デジタルカメラやデジタルビデオカメラのオートフォーカス用途などに有用である。
1s、1a、1b カメラ
2s、2a、2b、21a、21b、21c、21d、21e、21f、21g、21h レンズ
3s、3a、3b、22a、22b、22c、22d、22e、22f、22g、22h 撮像領域
4 A/D変換部
5 前処理部
6 相関値算出部
7 相関値加算部
8 視差算出部
9 後処理部
10s、10a、10b 光学中心
11s、11a、11b 光軸
12 対象物
13 対象物の表面上の点
14s、14a、14b、15s、15a、15b ブロック
16a、16b、17a、17b 矢印
20 複眼カメラ
23 平滑化フィルタ部
24 視差換算部
25s 光学中心
50、60、70、80 測距装置