(57)【要約】【課題】回路規模を増大させず、高精度に画素単位以下の視差を求めることを可能にしたステレオ画像処理装置及びステレオ画像処理方法を提供する。【解決手段】このステレオ画像処理装置は、第１及び第２の撮像部と、第１の撮像部で撮像された参照画像と、第２の撮像部で撮像された基準画像との間の視差に基づき距離を計算する距離計算部とを備える。距離計算部は、第１の撮像部で撮像した参照画像の第１の対象領域に基づき、第２の撮像部で撮像した基準画像において第１の対象領域に対応する第２の対象領域を抽出する対象領域抽出部と、第１の対象領域と第２の対象領域とのピクセル視差を算出するピクセル視差算出部と、第１の対象領域及び第２の対象領域のデータ間に生じる位相差δを算出することで１画素未満の視差であるサブピクセル視差を算出するサブピクセル視差算出部とを備える。ピクセル視差及びサブピクセル視差に基づき距離が計算される。【選択図】図１
2022001830.tif 000002
【特許請求の範囲】
【請求項１】
第１及び第２の撮像部と、
前記第１の撮像部で撮像された基準画像と、前記第２の撮像部で撮像された参照画像との間の視差に基づき距離を計算する距離計算部と
を備え、
前記距離計算部は、
前記第１の撮像部で撮像した前記基準画像の第１の対象領域に基づき、前記第２の撮像部で撮像した前記参照画像において前記第１の対象領域に対応する第２の対象領域を抽出する対象領域抽出部と、
前記第１の対象領域と前記第２の対象領域との画素単位の視差であるピクセル視差を算出するピクセル視差算出部と、
前記第１の対象領域及び前記第２の対象領域のデータ間に生じる位相差δを算出することで１画素未満の視差であるサブピクセル視差を算出するサブピクセル視差算出部と
を備え、
前記ピクセル視差及び前記サブピクセル視差に基づき距離を計算する
ことを特徴とするステレオ画像処理装置。
【請求項２】
前記サブピクセル視差算出部は、
前記第２の対象領域のデータ列を結ぶ曲線を第１の関数で近似し、前記第１の関数を前記位相差δだけ移動させて第２の関数で表し、前記第２の関数と前記第１の対象領域のデータの間の誤差が最小となるような前記位相差δを決定する、請求項１に記載のステレオ画像処理装置。
【請求項３】
前記距離計算部は、前記第１の対象領域及び前記第２の対象領域のデータ間の一致度を評価する目的関数を設定し、前記目的関数に基づいて位相差δを算出する、請求項２に記載のステレオ画像処理装置。
【請求項４】
前記第１の関数は、前記データ列のうちの一の格子点と、この一の格子点に隣接する隣接格子点とを結ぶ曲線を近似した二次関数である、請求項３に記載のステレオ画像処理装置。
【請求項５】
前記第１の関数は、前記データ列のうちの一の格子点と、この一の格子点に隣接する隣接格子点とを結ぶ直線を表す一次関数である、請求項２に記載のステレオ画像処理装置。
【請求項６】
第１の撮像部で撮像された基準画像と、第２の撮像部で撮像された参照画像との間の視差に基づき距離を測定する距離測定方法であって、
前記基準画像の第１の対象領域に基づき、前記参照画像において前記第１の対象領域に対応する第２の対象領域を抽出するステップと、
前記第１の対象領域と前記第２の対象領域との画素単位の視差であるピクセル視差を算出するステップと、
前記第１の対象領域及び前記第２の対象領域のデータ間に生じる位相差δを算出することで１画素未満の視差であるサブピクセル視差を算出するステップと、
前記ピクセル視差及び前記サブピクセル視差に基づき距離を計算するステップと
を備える、距離測定方法。
【請求項７】
前記第２の対象領域のデータ列を結ぶ曲線を第１の関数で近似し、前記第１の関数を前記位相差δだけ移動させて第２の関数で表し、前記第２の関数と前記第１の対象領域のデータの間の誤差が最小となるような前記位相差δを決定する、請求項６に記載の距離測定方法。
【請求項８】
前記第１の対象領域及び前記第２の対象領域のデータ間の一致度を評価する目的関数を設定し、前記目的関数に基づいて位相差δを算出する、請求項７に記載の距離測定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数台のカメラの画像に基づいて、物体までの距離を計測するためのステレオ画像処理装置、及び距離測定方法に関する。
【背景技術】
【０００２】
複数台のカメラが撮像した画像に基づいて、物体までの距離を計測するための装置として、ステレオカメラが知られている。ステレオカメラは、異なる位置に配置された複数台のカメラを用いて対象物を撮像し、一対の画像の間の視差から、三角測量の原理を用いて対象物までの距離を計測する。例えば特許文献１に開示のステレオカメラでは、長距離にある小さな物体を精度よく検出するため、２台のカメラで撮像した一対の画像（基準画像、参照画像）の各々をブロックに分割する。そして、参照画像内のブロック位置を画素単位で順次にシフトさせながら、基準画像のブロックと参照画像のブロックとの画素相関を計算し、相関値が極大値又は極小値をとなったとき、二つのブロックがマッチングしたと判定し、基準画像及び参照画像における各ブロックの位置の差を視差として求め、距離に換算する。
【０００３】
しかしながら、視差計算では、基準画像と参照画像の類似ブロックの探索が画素単位のシフトで行われるため、視差精度が画素単位に制限せれるという問題がある。そのため、画素単位以下の視差の誤差が生じ、距離測定精度に影響するという問題が生じる。基準画像と参照画像のブロックの画像データの画素数を補間処理によって増加させ、相関演算を行うことも考えられるが、この場合画素数が増大し、その分計算量が増大するため、回路規模が大きくなるという別の問題が生じる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−２８３７５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、上記の課題に鑑み、回路規模を増大させず、高精度に画素単位以下の視差を求めることを可能にしたステレオ画像処理装置及び距離測定方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明に係るステレオ画像処理装置は、第１及び第２の撮像部と、前記第１の撮像部で撮像された基準画像と、前記第２の撮像部で撮像された参照画像との間の視差に基づき距離を計算する距離計算部とを備える。前記距離計算部は、前記第１の撮像部で撮像した前記基準画像の第１の対象領域に基づき、前記第２の撮像部で撮像した前記参照画像において前記第１の対象領域に対応する第２の対象領域を抽出する対象領域抽出部と、前記第１の対象領域と前記第２の対象領域との画素単位の視差であるピクセル視差を算出するピクセル視差算出部と、前記第１の対象領域及び前記第２の対象領域のデータ間に生じる位相差δを算出することで１画素未満の視差であるサブピクセル視差を算出するサブピクセル視差算出部とを備え、前記ピクセル視差及び前記サブピクセル視差に基づき距離を計算する。
【発明の効果】
【０００７】
本発明によれば、回路規模を増大させず、高精度に画素単位以下の視差を求めることを可能にしたステレオ画像処理装置及びステレオ画像処理方法を提供することができる。
【図面の簡単な説明】
【０００８】
【図１】第１の実施の形態に係るステレオカメラ１の全体構成を説明するブロック図である。
【図２】距離計算部３０におけるデータ処理の手順を説明するフローチャートである。
【図３】距離計算部３０におけるピクセル視差の算出の手順を説明する概略図である。
【図４】ＳＡＤ（ｍ）の値が最小となった基準画像３０１のブロックの輝度データ列４０３及び参照画像３０２のブロックの輝度データ列４０４の一例を示している。
【図５】第１の実施の形態におけるデータ補完及び位相差δの算出の具体的な方法について説明する。
【図６】第２の実施の形態におけるデータ補完及び位相差δの算出の具体的な方法について説明する。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照して本実施形態について説明する。添付図面では、機能的に同じ要素は同じ番号で表示される場合もある。なお、添付図面は本開示の原理に則った実施形態と実装例を示しているが、これらは本開示の理解のためのものであり、決して本開示を限定的に解釈するために用いられるものではない。本明細書の記述は典型的な例示に過ぎず、本開示の特許請求の範囲又は適用例を如何なる意味においても限定するものではない。
【００１０】
本実施形態では、当業者が本開示を実施するのに十分詳細にその説明がなされているが、他の実装・形態も可能で、本開示の技術的思想の範囲と精神を逸脱することなく構成・構造の変更や多様な要素の置き換えが可能であることを理解する必要がある。従って、以降の記述をこれに限定して解釈してはならない。
【００１１】
［第１の実施の形態］
図１のブロック図を参照して、第１の実施の形態に係るステレオカメラ１（ステレオ画像処理装置）の全体構成を説明する。このステレオカメラ１は、右側カメラ１１、左側カメラ１２、右側画像取得部１３、左側画像取得部１４、画像生成部２０、距離計算部３０、アプリケーション処理部４０から大略構成される。
【００１２】
距離計算部３０は更に、対象領域抽出部３１、ピクセル視差算出部３２、及びサブピクセル視差算出部３３を備える。なお、右側画像取得部１３、左側画像取得部１４、画像生成部２０、距離計算部３０、アプリケーション処理部４０は、一般的なコンピュータの入出力インタフェース、記憶部、及び演算処理装置、並びに記憶部に記憶されたコンピュータプログラムにより実現され得る。
【００１３】
右側カメラ１１と左側カメラ１２は、所定の基線長を与えられて配置され、異なる位置及び方向から同一の対象物を撮像するように構成されている。一例として、両カメラ１１、１２は、車両の前部の左側及び右側に所定距離を空けて取り付けられ、車両前方の対象物を撮像し、対象物までの距離を計測できるようになっている。右側画像取得部１３及び左側画像取得部１４は、それぞれ右側カメラ１１と左側カメラ１２から画像を同期して取得する。
【００１４】
通常、カメラには固有の歪みが存在する。この歪みの原因は、撮像デバイスの設置ずれ、カメラの中のレンズに固有の歪み、カメラの光軸方向のずれなどを含む。ステレオカメラ１による三角測量では、左右のカメラ１１、１２の小領域（マッチングブロック）での相関値を正確に求めるために、左右の画像が正確に平行に並んでいることが重要である。このため、画像生成部２０は、左右のカメラ１１、１２で撮像された２つの画像を平行に揃える画像処理を実行すると共に、その他様々な歪みを補正して歪みのない画像とする画像処理を実行可能に構成されている。
【００１５】
距離計算部３０は、画像生成部２０で生成され画像処理された左右の画像を用いて視差計算を行い、自車の車両から対象物までの距離を計測する。得られた距離情報は、アプリケーション処理部４０に出力され、車間距離維持システムや衝突軽減ブレーキシステムにおいて利用される。
【００１６】
距離計算部３０中の対象領域抽出部３１は、左右のカメラ１１、１２で撮像された左右の画像において対応する小領域を探索し抽出する。そして、距離計算部３０中のピクセル視差算出部３２は、その探索の結果に基づいて、画素単位の視差であるピクセル視差を算出する。更に距離計算部３０中のサブピクセル視差算出部３３は、ピクセル視差が算出された後、後述する手法を用いて、1画素未満の視差であるサブピクセル視差を算出する。距離計算部３０は、算出されたピクセル視差及びサブピクセル視差に従って、対象物までの距離を演算する。
【００１７】
図２のフローチャートを参照して、距離計算部３０におけるデータ処理の手順を説明する。図２のフローチャート中、ステップＳ２０１〜Ｓ２０７は、対象領域抽出部３１及びピクセル視差算出部３２での動作であり、基準画像中の小領域（マッチングブロック）が参照画像中のどこにあるかを探索して（対応点算出）、画像上の座標単位の差を視差（ピクセル視差）として算出する動作である。また、ステップＳ２０８〜Ｓ２０９は、サブピクセル視差算出部３３での動作を示しており、サブピクセル視差を検出する動作である。
【００１８】
以下で説明する例では、図３に示すように、右側カメラ１１から取得される右側画像を基準画像３０１とし、左側カメラ１２から取得される左側画像を参照画像３０２とする。基準画像３０１は、視差を計算する際に基準となる画像であり、具体的には、視差の計算の基準となるマッチングブロック３０３を定義される画像である。マッチングブロック３０３は、例えばブロックのサイズを１６×８画素とすることができるが、サイズは、処理速度や判定精度などに従って任意に定めることができ、特定の大きさに限定されるものではない。処理速度の向上の観点からは、マッチングブロック３０３のサイズは、左右の画像のマッチング処理（ピクセル視差の算出）を行う場合に、適正な相関値を求めることができる最小のサイズとすることができる。
【００１９】
一方、参照画像３０２は、マッチングブロック３０３と一致する参照画像ブロック３０４を探索される画像である。なお、図示の例では、右側カメラ１１から取得される画像を基準画像２０１とし、左側カメラ１２から取得される画像を参照画像３０２とするが、これは一例であり、左右は逆であってもよい。
【００２０】
図２を参照して、距離計算部３０におけるデータ処理の手順を詳細に説明する。まず、左右のカメラ（１１、１２）から、基準画像３０１、及び参照画像３０２が得られたら、ステップＳ２０１において、基準画像３０１において、座標（ｉ，ｊ）に左上の角部を有するマッチングブロック３０３が選定される。以下に詳細に説明する手順に従って、マッチングブロック３０３と一致する参照画像ブロック３０４が、参照画像３０２の中から探索される。
【００２１】
ステップＳ２０２において、変数ｍが０に設定された後、ステップＳ２０３において、参照画像３０２中の座標（ｉ＋ｍ、ｊ）に左上の角部が位置する参照画像ブロック３０４が選定される。ここで選定される参照画像ブロック３０４は、最終的に参照画像ブロック３０４とされるブロックの候補の１つである。
【００２２】
次に、ステップＳ２０４において、マッチングブロック３０３と参照画像ブロック３０４との間の対応する画素毎の差の絶対値の和であるＳＡＤ（Sum of Absolute Difference）を計算し、計算の結果を、記憶部（図示せず）に記憶させる。このステップＳ２０３、Ｓ２０４の手順がｍｍａｘ＋１回繰り返される（ステップＳ２０５、Ｓ２０６）。すなわち、ｍが１ずつインクリメントされることにより（ステップＳ２０６）、参照画像ブロック３０４は、１画素ずつ参照画像３０２中を右方向に移動し、その移動後の参照画像３０２に関し、上記の手順が繰り返される。この手順は、変数ｍがｍｍｍａｘに等しくなるまで繰り返される。そして、ｍｍｍａｘ＋１個の参照画像ブロック３０４について、それぞれ絶対値和ＳＡＤが計算され、記憶される。なお、上記の例では、絶対値和ＳＡＤ (Sum of Absolute Difference)が演算されたが、これに代えて、画素毎の差の二乗和であるＳＳＤ(Sum of Squared Difference)が演算されてもよい。
【００２３】
こうして、１画素ずつ移動したｍｍａｘ＋１個の参照画像ブロック３０４に関し、ＳＡＤ（ｍ）が計算され、記憶部に記憶される。基準画像３０１と参照画像３０２とは、画像生成部２０において互いに平行になるよう画像処理されているので（左右画像の平行化処理）、参照画像ブロック３０４は、参照画像３０２中で、水平方向に一次元中に移動させれば十分である。ただし、状況に応じて垂直方向への移動が適宜加えられてもよい。
【００２４】
なお、ＳＡＤ（ｍ）は下記の式（１）で算出される。
【００２５】
【数１】
2022001830.tif 000003
…（１）
【００２６】
ここで、ｇ（ｉ、ｊ）は基準画像３０１のマッチングブロック３０３における輝度値、ｆ（ｉ、ｊ）は参照画像３０２の参照画像ブロック３０４における輝度値である。このＳＡＤ（ｍ）が、ｍｍａｘ＋１個の参照画像ブロック３０４について演算・記憶される。
【００２７】
その後、ステップＳ２０７では、記憶されたｍｍａｘ＋１個のＳＡＤ（０）〜ＳＡＤ（ｍｍａｘ）に関し、最小のＳＡＤ（ｍ）をＳＡＤ（ｍＳＡＤｍｉｎ）として求める。複数の参照画像ブロック３０４のうち、最小のＳＡＤ（ｍ）を与える参照画像ブロック３０４が、最終的にマッチングブロック３０３とマッチングする参照画像ブロック３０４として選定（特定）される。そして、その選定された参照画像ブロック３０４と、マッチングブロック３０３との間の位置の差ｍ＝ｍＳＡＤｍｉｎが、ピクセル視差３０５として計算される。
【００２８】
参照画像ブロック３０４が特定され、ピクセル視差が特定されると、続くステップＳ２０８〜２０９によりサブピクセル視差が計算される。具体的には、ステップＳ２０８において、ＳＡＤ（ｍ）が最小とされた参照画像ブロック３０４と、マッチングブロック３０３との間の位相差δが演算される。位相差δの演算方法の詳細に関しては後述する。
【００２９】
続くステップＳ２０９では、推定された位相差δ（サブピクセル視差）と、ＳＡＤ（ｍ）が最小となったときのｍの値（すなわちピクセル視差）ｍＳＡＤｍｉｎとの和が求められ、ピクセル視差とサブピクセル視差の和が、最終的にステレオカメラ１により求められる視差として演算される。このようにして求められた視差に従って、三角測量の原理で、左右のカメラ間距離（基線長）、視差の物理的な長さ等から、撮像された物体までの距離が演算される。以上説明した処理が、計測するマッチングブロックが全てについて終了するまで続けられる（ステップＳ２１０）。
【００３０】
次に、図４、図５を用いて、ステップＳ２０８での位相差δの計算方法についてより詳細に説明する。
【００３１】
図４は、ＳＡＤ（ｍ）の値が最小となった基準画像３０１のブロックの輝度データ列４０３及び参照画像３０２のブロックの輝度データ列４０４の一例を示している。ここでは説明の簡単のため、ブロックのサイズを８×８画素とした。
【００３２】
ＳＡＤ（ｍ）の値が最小となる時点では、二つのデータ列４０３、４０４の値は近い値になるが、完全に一致することはほとんどなく、僅かの差が残っている。この僅かな差は、同一物体の像が二つのカメラ１１、１２の撮像面でサンプリングされたときの僅かなサンプリング位置の差のために生じていると解釈することができる。
【００３３】
サンプリング定理によると、これら撮像されたデータの空間周波数がナイキスト周波数以下に制限されていれば、サンプリング点（格子点）にないデータの値も格子点上で表されたデータの値を用いて完全に復元することが可能であることが保証されている。これは、存在する格子点のデータ列を使って、存在しない点のデータを補間することができることを意味する。データ補完を行い、その補完の結果に従って、位相差δを求めることができる。
【００３４】
図５を参照して、データ補完及び位相差δの算出の具体的な方法について説明する。図５（ａ）は、図４のある垂直画素位置における水平画素方向（スキャン方向）に沿ったデータ列の一例を示す。
【００３５】
図５（ａ）中、黒丸の点は基準画像３０１の中の輝度データ列４０３を示し、白抜き四角形の点は、参照画像３０２の中の輝度データ列４０４を示している。前述のように、これら輝度データ列４０３及び輝度データ列４０４の値は、ＳＡＤ（ｍ）が最小となる参照画像３０２であっても完全には一致していない。また、前述した通り、基準画像３０１のブロックの輝度データ列４０３、及び参照画像３０２のブロックの輝度データ列４０４は、格子点において飛び飛びに存在しているのみである。
【００３６】
この例では、位相差δを求めるため、輝度データ列４０４のある格子点と、その格子点に隣接する隣接格子点を通る曲線を特定し、その曲線を関数で近似する。一例として、図５（ａ）に示すように、輝度データ列４０４の３番目の格子点（格子点３）及び６番目の格子点（格子点６）に着目し、格子点３、６とそれらの隣接格子点（２、４又は５、７）を接続する曲線５０１を特定し、その曲線を二次関数で近似する。二次関数で近似する場合、格子点３及び格子点６、及びその隣接格子点２、４、５、７を結ぶ曲線５０１は、以下の式（２）で示す二次関数ｆｉ（ｔ）で表される。
【００３７】
【数２】
2022001830.tif 000004
…（２）
【００３８】
こうして二次関数で近似された曲線５０１を、水平軸方向に距離δだけ変位させて、曲線５０２とする。その曲線５０２は、以下の式（３）で示す二次関数ｆｉ（ｔ−δ）で表される。
【００３９】
【数３】
2022001830.tif 000005
…（３）
【００４０】
したがって、参照画像３０２を表す曲線が変数δだけ横軸方向に変位した曲線５０２の格子点上の点は、式（４）で表されることになる。
【００４１】
【数４】
2022001830.tif 000006
…（４）
【００４２】
そして、曲線５０２を表す関数と基準画像３０１のデータ列４０３との間の誤差が最小となるような位相差δを決定する。具体的には、格子点上の誤差（図５（ｂ）参照）の総和が最小になるように、位相差δの値を決定する。こうして決定された位相差が、サブピクセル視差となる。このとき誤差の総和を評価する目的関数Ｌ（δ）として、以下の式（５）で表される関数Ｌ（δ）が設定され、その最小二乗誤差が求められる。
【数５】
2022001830.tif 000007
…（５）
【００４３】
式（５）は、δに関する多項式の形で表される。また、式（５）の係数は、隣接画素間の和や差になっている。このため、複雑な計算を実行せずとも、簡単に係数を求めることが可能である。また目的関数Ｌ（δ）の最小化においては、偶数次数の多項式関数の最小値を求めるアルゴリズムが適用される。また変数δのとる範囲も、画素単位のステレオマッチングによって一画素以内にまで絞り込めているので、この範囲を探索すればよく、探索範囲は非常に限定的である。位相差δを想定し、目的関数Ｌ（δ）を最小化することで、位相差δを求めるので、高精細な補間点を大量に生成する必要がなく、圧倒的に計算量が少なくて済む。
【００４４】
以上説明したように、第１の実施の形態のステレオカメラによれば、回路規模を増大させず、高精度に画素単位以下の視差を求めることが可能になる。
【００４５】
［第２の実施の形態］
次に、図６を参照して、第２の実施の形態に係るステレオカメラ１を説明する。この第２の実施の形態のステレオカメラ１の全体構成は、第１の実施の形態と同様でよいので、重複する説明は省略する。また、視差の算出の手順も第１の実施の形態（図２）と同一である。ただし、この第２の実施の形態は、距離計算部３０におけるデータ補完、位相差δの算出（サブピクセル視差の計算方法）が、第１の実施の形態とは異なっている。以下、この相違点について、図６を参照して説明する。
【００４６】
図６を参照して、第２の実施の形態におけるデータ補完及び位相差δの算出の具体的な方法について説明する。第１の実施の形態では、格子点と、その前後の隣接格子点とを結ぶ曲線を二次関数で近似し、この二次関数を位相差δの算出に用いている。これに対し、第２の実施の形態では、参照画像の格子点と、隣接格子点とを直線で結び（直線で近似し）、この直線を一次関数で表すことで、位相差δを算出する。
【００４７】
直線の関数は、以下の式（６）で表すことができる。格子間の実数精度に関し正負の場合分けが必要になることから、式（６）は次のようにｔ＞＝０とｔ＜０に分けて表記される。
【００４８】
【数６】
2022001830.tif 000008
…（６）
【００４９】
また、横軸の正方向に変数δだけ変位した直線の関数は、次の式（７）のように表される。
【００５０】
【数７】
2022001830.tif 000009
…（７）
【００５１】
したがって、参照画像データを表す直線５０１Ｓが変数δだけ変位した直線５０２Ｓの格子点上の点は、式（８）で表されることになる。
【００５２】
【数８】
2022001830.tif 000010
…（８）
【００５３】
このようにして求められる格子点上の点に関し、直線５０１Ｓの格子点上の点と、データ列４０３との間の誤差の総和を演算し、その誤差の総和が最小となるように、位相差δを決定する。このとき、格子点上の全ての点の誤差の総和を演算する必要はなく、一部は除外してもよい。例えば、図９に示す格子点５が、以下に示す式（９）を満たすならば、計算の対象から除外してもよい。このような点は、直線近似の精度を低下させ、位相差δのために生じる誤差以外の誤差が発生するため、除外して演算することが好ましい。
【００５４】
【数９】
2022001830.tif 000011
…（９）
【００５５】
誤差の総和を評価する目的関数Ｌ（δ）として、最小二乗誤差を演算する以下の式（１０）で表される目的関数Ｌ（δ）を使用することができる。ここで、誤差の総和は、式（９）の条件を満たすもののみについて演算され得る。
【００５６】
【数１０】
2022001830.tif 000012
…（１０）
【００５７】
式（１０）は位相差δに関する二次多項式なので、式（１１）に示すように、δに関する微分をゼロとおいて、位相差δの値を直接求めることが可能となり、最適化の処理を簡略化することができる。
【００５８】
【数１１】
2022001830.tif 000013
…（１１）
【００５９】
このとき、δを求める式が二つ存在するので、式とδの符号の関係や、それぞれのδに対し、式（１０）の目的関数の値を評価し、小さい方を採択することにより、妥当なδを求めることができる。上述した実施の形態では、二次関数、一次関数による補間公式を使ったが、使用する補間公式はラグランジェ補間、スプライン補間などの多項式を使った補間公式であってもよい。次数を上げることによって、さらに精度を向上させることができる。特に３次スプライン補間（スプラインコンボリューション）を使った補間公式を用いると、標本化関数（Ｓｉｎｃ関数）で復元された理想的な値に近い値を使うことになるため、非常に高精度な位相差検出が可能となる。
【００６０】
以上説明したように、第２の実施の形態のステレオカメラによれば、第１の実施の形態と同様に、回路規模を増大させず、高精度に画素単位以下の視差を求めることが可能になる。
【００６１】
［その他］
なお、本発明は上記した実施の形態に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施の形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施の形態の構成の一部を他の実施の形態の構成に置き換えることが可能であり、また、ある実施の形態の構成に他の実施の形態の構成を加えることも可能である。また、各実施の形態の構成の一部について、他の公知の構成の追加・削除・置換をすることが可能である。
【符号の説明】
【００６２】
１…ステレオカメラ、１１…右側カメラ、１２…左側カメラ、１３…右側画像取得部、１４…左側画像取得部、２０…画像生成部、３０…距離計算部、４０…アプリケーション処理部、３０１…基準画像、３０２…参照画像、３０３…マッチングブロック、３０４…参照画像ブロック、３０５…ピクセル視差、４０３、４０４…輝度データ列、５０１、５０２…曲線。
【図１】
2022001830.tif 000014
【図２】
2022001830.tif 000015
【図３】
2022001830.tif 000016
【図４】
2022001830.tif 000017
【図５】
2022001830.tif 000018
【図６】
2022001830.tif 000019