(57)【特許請求の範囲】
【請求項１】
基準画像および参照画像を含むステレオ画像を取得するステレオ画像取得部と、
画像マッチング処理によって、前記基準画像に含まれる基準点と、前記基準点に対応する、前記参照画像に含まれる対応点とを抽出する画像マッチング部と、
窓関数を用いて、前記基準画像から前記基準点を含む第１の部分画像を抽出し、前記窓関数を用いて前記参照画像から前記対応点を含む第２の部分画像を抽出し、前記第１の部分画像と前記第２の部分画像との相互相関の値を算出する相互相関算出部と、
前記相互相関の値が最大となるピーク位置を検出し、前記ピーク位置に基づいて前記基準画像と前記参照画像のサブピクセル単位のズレ量を検出するピーク位置検出部と、
を備え、
前記窓関数の窓長は、前記画像マッチング部において抽出された前記基準点と前記対応点との画像上のズレ量に基づいて決定されるステレオ画像処理装置。
【請求項２】
前記窓関数は、１周期において両端の値が中央の値より小さい、請求項１に記載のステレオ画像処理装置。
【請求項３】
前記基準点と、前記対応点との画像輝度の相違度は、前記基準点と、前記参照画像に含まれる前記対応点以外の座標点との画像輝度の相違度よりも小さい、請求項１に記載のステレオ画像処理装置。
【請求項４】
基準画像および参照画像を含むステレオ画像を取得するステレオ画像取得部と、
画像マッチング処理によって、前記基準画像に含まれる基準点と、前記基準点に対応する、前記参照画像に含まれる対応点とを抽出する画像マッチング部と、
１周期において両端の値が中央の値より小さい第１の窓関数を用いて、前記基準画像から前記基準点を含む第１の部分画像を抽出し、前記第１の窓関数を用いて前記参照画像から前記対応点を含む第２の部分画像を抽出し、前記第１の部分画像と前記第２の部分画像との相互相関の値を算出する相互相関算出部と、
前記相互相関の値が最大となるピーク位置を検出し、前記ピーク位置に基づいて前記基準画像と前記参照画像のサブピクセル単位のズレ量を検出するピーク位置検出部と、
を備え、
前記画像マッチング部は、第２の窓関数を用いて、前記基準画像から前記基準点を含む第３の部分画像を抽出し、前記参照画像から前記第３の部分画像に対する画像輝度の相違度が最小となる第４の部分画像に含まれる前記対応点を抽出し、
前記第２の窓関数の周波数特性は、前記第１の窓関数の周波数特性よりも、メインローブの幅が狭く、サイドローブの振幅が大きいステレオ画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、同一の対象物を撮影したステレオ画像（基準画像と参照画像）から視差に起因する画像のずれを算出するステレオ画像処理装置に関するものである。
【背景技術】
【０００２】
従来から、ステレオカメラを用いて同一の対象物を撮影したときの二つの画像（基準画像と参照画像）から画像のずれを算出し、その画像のずれに基づいて対象物までの距離を測定するステレオ画像処理装置が知られている。このステレオ画像処理装置は、例えば、車載カメラで撮影した前方の車両のステレオ画像からその車両までの距離を測定する装置や、車内カメラで撮影したドライバーの顔のステレオ画像から顔の部品（目や鼻など）までの距離を測定してドライバーの顔の向きを推定する装置などへの適用が検討されている。ところが、近年のカメラ（車載カメラや車内カメラなど）の小型化の影響により、カメラ間隔も小さくなり、その結果、ステレオ画像のずれも小さくなり、ステレオ画像処理装置には、高精度の視差演算機能が要求されるようになってきている。
【０００３】
従来、このようなステレオ画像処理装置では、ステレオマッチング（ステレオ画像処理の視差演算）の方式として、例えばＳＡＤ（Sub  of  Absolute  Differences）方式やＰＯＣ（Phase  Only  Correlation）方式などが用いられている。
【０００４】
ＳＡＤ方式では、基準画像と参照画像から矩形窓を用いて切出したそれぞれの部分画像について、輝度値の差の絶対値の総和をＳＡＤ値として計算する。ここで、ＳＡＤ値などの特性値は、画像輝度の相違度を示す。そして、参照画像の矩形窓の位置を１ピクセルずつ基線長方向にずらしていったときに、ＳＡＤ値が最小となるずれを「ピクセルレベルの視差（ずれ）」として求める。その後、その最小値の近傍にある三つのＳＡＤ値（ＳＡＤ値の最小値と二番目に小さい値と三番目に小さい値）を用いて等角直線フィッティングを行なって、「サブピクセルレベルの視差（ずれ）」を算出する。
【０００５】
このようなＳＡＤ方式は、古くから用いられている方式であり、分析分解能が高いわりには演算量が少ないという特徴がある。しかしながら、このＳＡＤ方式では、サブピクセルレベルの視差演算の精度が低く、例えば、１／４〜１／１６ピクセル程度の精度でしか視差（画像のずれ）を求めることができず、高精度の視差演算機能に対する要求を満足するのは難しい。
【０００６】
そこで、近年では、視差演算の精度が高いＰＯＣ方式が注目されている。ＰＯＣ方式では、基準画像と参照画像からハニング窓等の画像切り出しの際に生じる高調波の影響を低減するための窓関数を用いて切出したそれぞれの部分画像について、２次元フーリエ変換を施した後、その二つのフーリエ画像データを合成し、振幅成分を正規化した後に、２次元逆フーリエ変換を施すことにより、位相限定相関係数を求める。そして、位相限定相関係数の相関ピークに基づいて画像のずれ量が算出される。
【０００７】
このようなＰＯＣ方式（２次元ＰＯＣ方式という）には、視差演算の精度が非常に高いという利点がある。ところが、２次元ＰＯＣ方式は視差演算の演算量が膨大であり、短時間で演算処理を行うことが極めて困難であった。また、２次元ＰＯＣ方式は、分析分解能（距離の異なる物体を区別して測距できる画面上での大きさ）の点で、ＳＡＤ方式より劣っていた。
【０００８】
そこで、最近では、２次元ＰＯＣ方式の演算量を軽減した１次元ＰＯＣ方式も提案されている（例えば、特許文献１参照）。この１次元ＰＯＣ方式では、基準画像と参照画像からハニング窓を用いて切出したそれぞれの部分画像について、１次元フーリエ変換を施した後、その二つのフーリエ画像データを合成し、振幅成分を正規化した後に、１次元逆フーリエ変換を施すことにより位相限定相関係数を求めている。つまり、２次元フーリエ変換の代わりに、１次元フーリエ変換を行なうことにより、演算量の削減を図っている。
【０００９】
しかしながら、従来の１次元ＰＯＣ方式においても、演算量の削減が図られているとはいっても十分ではなく、視差演算に要する演算量は（ＳＡＤ方式に比べれば）膨大であり、短時間で演算処理を行なうことは容易ではなかった。また、この１次元ＰＯＣ方式は、分析分解能（距離の異なる物体を区別して測距できる画面上での大きさ）の点で、ＳＡＤ方式よりもかなり劣っていた。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００８−１２３１４１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
本発明は、上記背景の下でなされたものである。本発明の目的は、視差演算の精度や分析分解能を向上することができ、かつ、視差演算に要する演算量が少なく処理の高速化が可能なステレオ画像処理装置を提供することにある。
【課題を解決するための手段】
【００１２】
本発明の一の態様は、ステレオ画像処理装置である。この装置は、同一の対象物を撮影した基準画像と参照画像から視差に起因する画像のずれを算出するステレオ画像処理装置であって、基準画像と参照画像にそれぞれ含まれる同一の対象物の部分画像について画像マッチング処理を施し、画像マッチング処理の結果に基づいて基準画像と参照画像のピクセル単位のずれを検出する画像マッチング部と、ピクセル単位のずれが最小となる同一の対象物の部分画像について、基準画像の画素値の並びを反転させた値をフィルタ係数とする逆位相フィルタを用いたフィルタリング処理を、参照画像の画素値に施す逆位相フィルタ処理部と、逆位相フィルタを用いたフィルタリング処理の出力値が最大となるピーク位置を検出し、ピーク位置に基づいて基準画像と参照画像のサブピクセル単位のずれを検出するピーク位置検出部と、を備えている。
【００１３】
本発明の別の態様は、ステレオ画像処理装置である。この装置は、同一の対象物を撮影した基準画像と参照画像から視差に起因する画像のずれを算出するステレオ画像処理装置であって、基準画像と参照画像にそれぞれ含まれる同一の対象物の部分画像について画像マッチング処理を施し、画像マッチング処理の結果に基づいて基準画像と参照画像のピクセル単位のずれを検出する画像マッチング部と、ピクセル単位のずれが最小となる同一の対象物の部分画像について、基準画像と参照画像の相互相関の値を算出する相互相関算出部と、相互相関の値が最大となるピーク位置を検出し、ピーク位置に基づいて基準画像と参照画像のサブピクセル単位のずれを検出するピーク位置検出部と、を備えている。
【００１４】
本発明の別の態様は、ステレオ画像処理装置である。この装置は、同一の対象物を撮影した基準画像ｆ（ｘ，ｙ）と参照画像ｇ（ｘ，ｙ）から視差に起因する画像のずれを算出するステレオ画像処理装置であって、基準画像と参照画像にそれぞれ含まれる同一の対象物の部分画像ｆ（ｘ，ｙ），ｇ（ｘ，ｙ）（但し、ｘａ−ｗｈ／２≦ｘ≦ｘａ＋ｗｈ／２，ｙａ−ｗｖ／２≦ｙ≦ｙａ＋ｗｖ／２）について画像マッチング処理を施し、画像マッチング処理の結果に基づいて基準画像と参照画像の基線長方向であるｘ方向のピクセル単位のずれｎを検出する画像マッチング部と、ピクセル単位のずれｎが最小となる位置において窓関数ｗ（ｍ）を用いて切出した一次元の部分画像ｆ’（ｍ）＝ｆ（ｘａ＋ｍ，ｙａ）×ｗ（ｍ），ｇ’（ｍ）＝ｇ（ｘａ＋ｎ＋ｍ，ｙａ）（但し、Ｊ≦ｍ≦Ｋ）について、
【数３】
0005567179.tif 000002
の演算を行なう演算部と、演算の出力値ｚ（ｍ）が最大となるピーク位置を検出し、ピーク位置に基づいて基準画像と参照画像のサブピクセル単位のずれδを検出するピーク位置検出部とを備えている。
【００１５】
本発明の別の態様は、ステレオ画像処理方法である。この方法は、同一の対象物を撮影した基準画像と参照画像から視差に起因する画像のずれを算出するステレオ画像処理方法であって、基準画像と参照画像にそれぞれ含まれる同一の対象物の部分画像について画像マッチング処理を施し、画像マッチング処理の結果に基づいて基準画像と参照画像のピクセル単位のずれを検出することと、ピクセル単位のずれが最小となる同一の対象物の部分画像について、基準画像の画素値の並びを反転させた値をフィルタ係数とする逆位相フィルタを用いたフィルタリング処理を、参照画像の画素値に施すことと、逆位相フィルタを用いたフィルタリング処理の出力値が最大となるピーク位置を検出し、ピーク位置に基づいて基準画像と参照画像のサブピクセル単位のずれを検出することと、を含んでいる。
【００１６】
以下に説明するように、本発明には他の態様が存在する。したがって、この発明の開示は、本発明の一部の態様の提供を意図しており、ここで記述され請求される発明の範囲を制限することは意図していない。
【図面の簡単な説明】
【００１７】
【図１】図１は、本実施の形態におけるステレオ画像処理装置の構成を示すブロック図
【図２】図２は、ピクセルレベルのマッチングの説明図
【図３】図３は、サブピクセルレベルのマッチングの説明図
【図４】図４は、逆位相フィルタを用いたフィルタリング処理の説明図
【図５】図５は、ｓｉｎｃ関数を用いてピーク位置を検出する処理の説明図
【図６】図６は、二次曲線近似を用いてピーク位置を検出する処理の説明図
【図７】図７は、本実施の形態におけるステレオ画像処理装置の動作を説明するためのフロー図
【図８】図８は、本実施の形態におけるサブピクセル演算（逆位相フィルタを用いたピーク位置の検出）の流れを説明するためのフロー図
【図９】図９は、他の実施の形態におけるステレオ画像処理装置の構成を示すブロック図
【図１０】図１０は、相互相関の値を算出する処理の説明図
【図１１】図１１は、測距精度を比較した結果を示す図
【図１２】図１２は、演算時間を比較した結果を示す図
【図１３】図１３は、更に他の実施の形態におけるステレオ画像処理装置の構成を示すブロック図
【発明を実施するための形態】
【００１８】
以下に本発明の詳細な説明を述べる。ただし、以下の詳細な説明と添付の図面は発明を限定するものではない。
【００１９】
本発明のステレオ画像処理装置は、同一の対象物を撮影した基準画像と参照画像から視差に起因する画像のずれを算出するステレオ画像処理装置であって、基準画像と参照画像にそれぞれ含まれる同一の対象物の部分画像について画像マッチング処理を施し、画像マッチング処理の結果に基づいて基準画像と参照画像のピクセル単位のずれを検出する画像マッチング部と、ピクセル単位のずれが最小となる同一の対象物の部分画像について、基準画像の画素値の並びを反転させた値をフィルタ係数とする逆位相フィルタを用いたフィルタリング処理を、参照画像の画素値に施す逆位相フィルタ処理部と、逆位相フィルタを用いたフィルタリング処理の出力値が最大となるピーク位置を検出し、ピーク位置に基づいて基準画像と参照画像のサブピクセル単位のずれを検出するピーク位置検出部と、を備えた構成を有している。
【００２０】
この構成により、基準画像と参照画像のピクセル単位のずれが画像マッチング処理によって検出され、そのピクセル単位のずれが最も小さい部分画像について逆位相フィルタを用いたフィルタリング処理が行われる。そして、そのフィルタリング処理の結果からピーク位置が検出され、基準画像と参照画像のサブピクセル単位のずれが算出される。これにより、視差演算の精度や分析分解能を向上することができる。しかも、この場合、ピクセル単位のずれを検出する画像マッチング処理は演算量が少なく、また、逆位相フィルタ処理を用いたフィルタリング処理も、ピクセル単位のずれが最も小さい部分画像についてのみ行なえばよいので、演算量が少なくて済む。したがって、視差演算の高速化が可能である。
【００２１】
本発明は、ピクセル単位のずれが最小となる同一の対象物の部分画像について逆位相フィルタを用いたフィルタリング処理を行なう逆位相フィルタ処理部を設けることにより、視差演算の精度や分析分解能を向上することができ、かつ、視差演算に要する演算量が少なく処理の高速化が可能である。
【００２２】
（実施の形態１）
以下、本発明の実施の形態のステレオ画像処理装置について、図面を用いて説明する。本実施の形態では、車載カメラを用いて前方の車両までの距離を測定する装置や、車内カメラを用いてドライバーの顔の向きを推定する装置等に用いられるステレオ画像処理装置の場合を例示する。
【００２３】
まず、本実施の形態のステレオ画像処理装置の構成を、図面を参照して説明する。図１は、本実施の形態のステレオ画像処理装置のブロック図である。図１に示すように、ステレオ画像処理装置１は、ステレオカメラ２で撮影されたステレオ画像（基準画像と参照画像）が入力されるステレオ画像入力部３と、前処理としてステレオ画像（基準画像と参照画像）のレンズの歪補正、及び、光軸を平行にするための平行化補正部４を備えている。具体的には、予め用意しておいたキャリブレーションデータを用いて、実空間で直線の物体がカメラ画像においても直線に映る画像にすると共に、カメラ光軸方向の距離が一定の物体がカメラ画像中のどの位置に撮像されても同じ大きさのカメラ画像にするための座標変換処理と、カメラの光軸を平行にして無限遠点にある物体が二つのカメラ映像中の同じ位置になるように画像のシフトを行う。なお、ここでは座標変換処理後に画像のシフトを用いて平行化補正を行う方法を用いて例示したが、本発明の範囲はこれに限定されるものではなく、光軸の平行化をレンズ歪の補正と同時に座標変換を用いて行うなど、レンズの歪補正と二つのカメラの位置関係を補正することができれば、いかなる手法を用いて補正処理を行ってもよい。
【００２４】
なお、前処理として平行化補正のみを行う例を説明したが、通常の画像処理で行うコントラストの補正や、ラプラシアンフィルタを用いたエッジ強調などの前処理の種類を限定するものではなく、当該前処理を施さなくてもよい。
【００２５】
これにより、コントラストの補正を行った場合には基準画像と参照画像の輝度変化のダイナミックレンジを合わせることができるので、より正確な画像マッチングを行うことが可能になる。また、ラプラシアンフィルタを用いたエッジ強調を行えば、カメラの個体差から生じる直流成分、すなわち基準画像と参照画像の明るさの差を除外することができ、より正確な画像マッチングが可能になる。
【００２６】
また、一般に、画像の座標変換、及び、シフトを行なう際に、ピクセル単位である整数値の位置でサンプリングされた輝度情報を実数値の位置の輝度情報に変換することになるが、この処理を行なうには線形補間を用いたインターリニア法や、変換対象位置の周辺の輝度情報を用いるバイキュービック法などを用いればよい。なお、ここでは座標変換の手法にインターリニア法、および、バイキュービック法を例に挙げたが、本発明の範囲はこれに限定されるものではなく、座標変換を行なう処理であればいかなる手法を用いて変換処理を行ってもよい。
【００２７】
このステレオ画像処理装置１は、ピクセルレベルのマッチングを行うための構成として、第１画像切出し部５と第１マッチング部６を備えている。図２は、ピクセルレベルのマッチングの一例を示す図である。第１画像切出し部５は、基準画像と参照画像のそれぞれから矩形窓を用いてデータの切出しを行う。図２では、所定の窓サイズ（縦サイズ：ｗｖピクセル、横サイズ：ｗｈピクセル）の矩形窓を使って基準画像と参照画像からデータの切出しが行われる様子が示されている。この場合、図２に示すように、基準画像からは、所定の位置（ｘａ，ｙａ）を中心とした矩形窓を使ってデータの切出しが行われる。一方、参照画像からは、矩形窓の位置（ｘａ，ｙａ）を１ピクセルずつ横方向（ｘ方向）にずらしていきながらデータの切出しが行われる。そして、第１マッチング部６は、基準画像と参照画像から切出されたデータのＳＡＤ値を、下記の式（１）に基づいて算出し、このＳＡＤ値が最小となるような画像のずれｎを求める。
【数１】
0005567179.tif 000003
【００２８】
このように、第１マッチング部６は、基準画像と参照画像から切出した部分画像（基準画像と参照画像にそれぞれ含まれる同一の対象物の部分画像）について画像マッチング処理を施し、その画像マッチングの結果に基づいて基準画像と参照画像のピクセル単位のずれを検出する機能を備えている。したがって、この第１マッチング部６は、本発明の画像マッチング手段に相当する。
【００２９】
なお、ここでは、ＳＡＤ方式を利用してピクセルレベルのマッチングを行う場合を例示したが、本発明の範囲はこれに限定されるものではなく、演算量の少ない方式であれば他のいかなる方式（例えば、ＳＳＤ（Sum  of  Squared  Differences）方式など）を用いてピクセルレベルのマッチングを行ってもよい。
【００３０】
また、このステレオ画像処理装置１は、サブピクセルレベルのマッチングを行うための構成として、第２画像切出し部７と第２マッチング部８を備えている。図３は、サブピクセルレベルのマッチングの一例を示す図である。第２画像切出し部７は、基準画像と参照画像のそれぞれから窓関数を用いてデータの切出しを行う。図３では、下記の式（２）のようなハニング窓の窓関数ｗ（ｍ）を使って基準画像と参照画像からデータの切出しが行われる様子が示されている。この場合、図３に示すように、基準画像からは、所定の位置（ｘａ，ｙａ）を中心としたハニング窓を使ってデータの切出しが行われ、参照画像からは、上述のピクセルレベルのマッチングで一致した位置（ｘａ＋ｎ，ｙａ）を中心としたハニング窓を使ってデータの切出しが行われる。なお、図１においては省略したが、ピクセルレベルのマッチングで一致した位置（ｘａ＋ｎ、ｙａ）に係る情報「ｎ」は、第１マッチング部６から第２画像切出し部７へ伝送される。
【数２】
0005567179.tif 000004
【００３１】
なお、ここでは、窓サイズが「縦サイズ：１ピクセル、横サイズ：Ｋ−Ｊピクセル」である場合を例示したが、本発明の範囲はこれに限定されるものではない。また、ここでは、ハニング窓の窓関数を用いる例を説明したが、これ以外の窓関数を使用してもよい。
【００３２】
第２マッチング部８は、ピクセルレベルのマッチングで一致した位置の部分画像に逆位相フィルタを用いたフィルタリング処理を施す逆位相フィルタ部９と、逆位相フィルタ部９の出力値からピーク位置を検出するピーク検出部１０を備えている。
【００３３】
ここで、逆位相フィルタ部９で行われる処理の内容について、図面を参照して詳しく説明する。図４は、逆位相フィルタを用いたフィルタリング処理の一例を示す説明図である。図４の例では、逆位相フィルタに「０，０，１，２，３，４，５，０，０」という入力信号ｘ（ｍ）が入力された場合が示されている。この場合、逆位相フィルタｈ（ｋ）のタップ長（第２画像切出し部７で部分画像を切出すために用いる窓関数ｗ（ｍ）の長さ：Ｋ−Ｊ）は「５」に設定されており、５つのデータ（基準画像の輝度値）の並びを反転させた値「５，４，３，２，１」がフィルタ係数として用いられる。そして、入力信号の位置ｋを中心とした前後５つのデータ「ｋ−２，ｋ−１，ｋ，ｋ＋１，ｋ＋２」がこの逆位相フィルタにかけられ、その総和が出力信号ｚ（ｍ）として算出される。なお、この逆位相フィルタ部９では、ピクセルレベルのマッチングで検出されたずれｎ（ピクセル単位のずれ）の大きさに応じて、逆位相フィルタのタップ長が設定される。例えば、ピクセル単位のずれｎが小さい場合には、それに応じて逆位相フィルタのタップ長も短く設定される。
【００３４】
図４を参照して具体的に説明すると、例えば、ｔ＝０のときには、ｔ＝０を中心とする前後５つのデータ「０，０，１，２，３」が、逆位相フィルタ「５，４，３，２，１」によってフィルタリング処理され、出力値「２６（＝０×１＋０×２＋１×３＋２×４＋３×５）」が算出される。ここで、“ｔ”は、図４において参照画像からハニング窓によって切出された部分画像における座標点を示す。また、ｔ＝１のときには、ｔ＝１を中心とする前後５つのデータ「０，１，２，３，４」が、逆位相フィルタ「５，４，３，２，１」によってフィルタリング処理され、出力値「４０（＝０×１＋１×２＋２×３＋３×４＋４×５）」が算出される。同様にして、ｔ＝２のときには出力値「５５」が算出され、ｔ＝３のときには出力値「４０」が算出され、ｔ＝４のときには出力値「２６」が算出される。このように、逆位相フィルタを用いたフィルタリング処理は、その出力が対称（図４では、ｔ＝２を中心として左右対称）で、中心にピークが存在する信号になるという特徴を有している。また、この逆位相フィルタは、いわゆるＦＩＲフィルタの一種に相当するものであり、したがって、線形推移不変システム（入力信号にずれがある場合には、出力信号にも入力信号と同じだけのずれが生じるシステム）であるという特徴を有している。つまり、入力がサンプリング間隔より小さい間隔でずれている場合においても、出力にも入力と同じだけのずれが生じることになり、出力には、ずれた信号のサンプリング位置における値を得ることになる。
【００３５】
この逆位相フィルタ部９では、基準画像の輝度値の並びを反転させた値ｆ’（−ｋ）が逆位相フィルタのフィルタ係数ｈ（ｋ）として使用され、参照画像の輝度値ｇ’（ｍ）が入力信号ｘ（ｍ）となる。したがって、この逆位相フィルタ部９で行われる出力信号ｚ（ｍ）は、下記の式（３）によって算出されるともいえる。
【数３】
0005567179.tif 000005
【００３６】
このように、逆位相フィルタ部９は、ピクセルレベルのマッチングで一致した位置の部分画像（ピクセル単位のずれが最小となる同一の対象物の部分画像）について、基準画像の輝度値（画素値）の並びを反転させた値をフィルタ係数とする逆位相フィルタを用いたフィルタリング処理を、参照画像の輝度値（画素値）に施すように構成されている。したがって、この逆位相フィルタ部９が、本発明の逆位相フィルタ手段に相当する。
【００３７】
この逆位相フィルタの出力は線形推移不変システムの出力であるので、レンズの歪補正の誤差、CCDなどのイメージセンサに起因するゲインノイズ等の誤差、窓掛けによる画像切り出しの演算精度の誤差を除けば、理論的には真のずれを表現していることになる。よって、ピクセル単位で離散化されている逆位相フィルタの出力をサンプリング定理に従い、ピクセル間の数値を補間することにより、サブピクセルレベルでの真のピーク位置を求めることが可能になる。
【００３８】
つぎに、ピーク検出部１０で行われる処理の内容について、図面を参照して詳しく説明する。このピーク検出部１０は、ｓｉｎｃ関数を用いて逆位相フィルタ部９からの出力値がサブピクセルレベルで最大となるピーク位置を検出する。
【００３９】
ｓｉｎｃ関数はｓｉｎ（πｘ）／πｘで定義され関数であり、離散化されたサンプリングデータを元の連続データに戻す場合に用いられる関数である。つまり、サンプリングされた離散データとｓｉｎｃ関数の畳み込み演算を行うことにより、元の連続データを完全に復元可能であることがサンプリング定理により証明されている。よって、離散化されている逆位相フィルタの出力を、ｓｉｎｃ関数を用いてピクセル間のデータを補間してピーク位置を求めれば、サブピクセルレベルでも理論的に真のピーク位置を導出することが可能である。
【００４０】
図５は、ｓｉｎｃ関数を用いたピーク位置の検出の一例を示す説明図である。図５に示すように、ｓｉｎｃ関数を用いてピーク位置を検出するときには、２分探索によってピーク位置が検出される。
【００４１】
例えば、まず、逆位相フィルタ部９からの出力値ｚ（ｍ）が最大となる位置ｍ＝０を位置Ａとする。つぎに、その最大位置Ａから左右に１ピクセルずつずれた位置の出力値ｚ（＋１），ｚ（−１）を比較し、大きいほうの位置ｍ＝１を位置Ｂとする。そして、位置Ａと位置Ｂの中間位置を位置Ｃとし、サンプリング定理に基づいて、ｓｉｎｃ関数を用いた下記の式（４）から位置Ｃの値を算出する。そして、その位置Ｃを新しい位置Ｂとして、必要な精度分だけ上記の処理を繰り返し、最も値が大きい位置をピーク位置δとする。つまり、必要なサブピクセル精度が１／２ピクセルであれば、上記処理を１回行えばよく、１／４ピクセル精度であれば２回、１／８ピクセルであれば３回と必要なサブピクセル精度に応じて繰り返し回数を決定する。
【数４】
0005567179.tif 000006
【００４２】
なお、ここではｓｉｎｃ関数を用いてピーク位置を導出する手法の１例として２分探索による手法を説明したが、勾配法等の手法を用いて、ピーク位置を探索することも可能であり、本発明の範囲はこれに限定されるものではなく、ｓｉｎｃ関数を用いてピクセル間の値を補間してピーク位置を求める方式であれば他のいかなる方式を用いてもよい。
【００４３】
また、このピーク検出部１０は、二次曲線近似を用いて逆位相フィルタ部９からの出力値が最大となるピーク位置を検出し、演算処理を削減してもよい。二次曲線近似を用いたピーク位置抽出とは、離散化された１次元データのピーク位置を、離散化の間隔以下の精度でピーク位置を求める際に、二次曲線をフィッテングし、その極大値の位置から離散化の間隔以下の精度でピーク位置を算出する方法である。
【００４４】
図６は、二次曲線近似を用いたピーク位置の検出の一例を示す説明図である。図６に示すように、この場合には、逆位相フィルタ部９からの出力値の最大値ｚ（０）とその左右の出力値ｚ（＋１），ｚ（−１）の３点を通る二次曲線の最大値（極大値）をピーク位置δとする。この場合、ピーク位置δは、下記の式（５）によって算出される。
【数５】
0005567179.tif 000007
【００４５】
このように、ピーク検出部１０は、逆位相フィルタを用いたフィルタリング処理の出力値が最大となるピーク位置を検出し、ピーク位置に基づいて基準画像と参照画像のサブピクセル単位のずれを検出する機能を備えている。したがって、このピーク検出部１０が、本発明のピーク位置検出手段に相当する。
【００４６】
また、ステレオ画像処理装置１は、逆位相フィルタを用いたフィルタリング処理の結果に基づいて、ピクセルレベルの画像マッチング処理におけるマッチングエラーを検出するマッチングエラー検出部１１を備えている。例えば、このマッチングエラー検出部１１は、逆位相フィルタ部９からの出力が対称（左右対称）でない場合に、ピクセルレベルのマッチングが誤マッチングであると判定する。あるいは、このマッチングエラー検出部１１は、ＳＡＤ値の極小位置と逆位相フィルタ部９からの出力のピーク位置がピクセルレベルで異なる場合（逆位相フィルタ部９からの出力にピークが現れない場合など）に、マッチングエラーであると判定する。これにより、バックマッチング処理を行う必要がなくなり、その分の演算量が軽減される。
【００４７】
以上のように構成されたステレオ画像処理装置１について、図面を用いてその動作を説明する。
【００４８】
図７は、本実施の形態のステレオ画像処理装置１を用いて視差演算を行うときの流れを示すフロー図である。図７に示すように、ステレオ画像から視差に起因する画像のずれを算出するときには、まず、入力されたステレオ画像（基準画像と参照画像）に平行化補正を施し（Ｓ１）、それぞれの画像おける分析基準位置（ｘａ，ｘｙ）を決定する（Ｓ２）。つぎに、矩形窓を使って基準画像の切出しを行った後（Ｓ３）、参照画像におけるサーチ位置（矩形窓のずらし量）を決定し（Ｓ４）、矩形窓を使って参照画像の切出しを行って（Ｓ５）、そのサーチ位置におけるＳＡＤ値を計算する（Ｓ６）。参照画像のサーチ位置を１ピクセルずつ横にずらしていって、全サーチ範囲のＳＡＤ値の計算が完了すると（Ｓ７）、その中でＳＡＤ値が最小となる位置（画像のずれｎ）を求める（Ｓ８）。そして、ピクセルレベルのマッチングで一致した位置ｎでサブピクセルレベルのマッチングの演算が行われる（Ｓ９）。このような処理（Ｓ２〜Ｓ９）が、すべての測距領域について視差演算が完了するまで繰り返される（Ｓ１０）。
【００４９】
図８は、サブピクセルレベルのマッチングの演算（サブピクセル演算）の流れを示すフロー図である。図８に示すように、サブピクセル演算が開始されると、まず、ハニング窓の窓関数を用いて基準画像の切出しを行い（Ｓ１１）、基準画像の輝度値の並びを反転させた値ｆ’（−ｋ）を逆位相フィルタのフィルタ係数ｈ（ｋ）とする（Ｓ１２）。そして、ハニング窓の窓関数を用いて参照画像の切出しを行い（Ｓ１３）、逆位相フィルタを用いたフィルタリング処理を行う（Ｓ１４）。その後、逆位相フィルタのを用いたフィルタリング処理の出力値からピーク位置を検出して、基準画像と参照画像のサブピクセルレベルの画像のずれδを求める（Ｓ１５）。
【００５０】
このような本実施の形態のステレオ画像処理装置１によれば、ピクセル単位のずれが最小となる同一の対象物の部分画像について逆位相フィルタを用いたフィルタリング処理を行なう逆位相フィルタ部９を設けることにより、視差演算の精度や分析分解能を向上することができ、かつ、視差演算に要する演算量が少なく処理の高速化が可能である。
【００５１】
すなわち、本実施の形態のステレオ画像処理装置１は、同一の対象物を撮影した基準画像と参照画像から視差に起因する画像のずれを算出するステレオ画像処理装置１であって、基準画像と参照画像にそれぞれ含まれる同一の対象物の部分画像について画像マッチング処理を施し、画像マッチング処理の結果に基づいて基準画像と参照画像のピクセル単位のずれを検出する第１マッチング部６と、ピクセル単位のずれが最小となる同一の対象物の部分画像について、基準画像の画素値の並びを反転させた値をフィルタ係数とする逆位相フィルタを用いたフィルタリング処理を、参照画像の画素値に施す逆位相フィルタ部９と、逆位相フィルタを用いたフィルタリング処理の出力値が最大となるピーク位置を検出し、ピーク位置に基づいて基準画像と参照画像のサブピクセル単位のずれを検出するピーク検出部１０と、を備えた構成を有している。
【００５２】
この構成により、基準画像と参照画像のピクセル単位のずれが画像マッチング処理によって検出され、そのピクセル単位のずれが最も小さい部分画像について逆位相フィルタを用いたフィルタリング処理が行われる。そして、そのフィルタリング処理の結果からピーク位置が検出され、基準画像と参照画像のサブピクセル単位のずれが算出される。これにより、視差演算の精度や分析分解能を向上することができる。しかも、この場合、ピクセル単位のずれを検出する画像マッチング処理は演算量が少なく、また、逆位相フィルタ処理を用いたフィルタリング処理も、ピクセル単位のずれが最も小さい部分画像について逆位相フィルタの演算のみ行なえばよいので、ＦＦＴ、逆ＦＦＴの演算を必要としないため演算量が少なくて済む。したがって、視差演算の高速化が可能である。
【００５３】
また、本実施の形態のステレオ画像処理装置１では、ピーク検出部１０は、ｓｉｎｃ関数を用いてピーク位置を検出する構成を有している。
【００５４】
この構成により、ｓｉｎｃ関数を用いてピーク位置を検出し、基準画像と参照画像のサブピクセル単位のずれを算出することができる。ｓｉｎｃ関数を用いてピーク位置を検出する処理は必要なサブピクセル精度の分だけ２分探索により演算を行えばよいので演算量を必要十分に最適化でき視差演算の高速化が可能である。この場合、サンプリング定理を利用することにより、ピーク位置を高い精度で簡単に求めることができる。
【００５５】
また、本実施の形態のステレオ画像処理装置１では、ピーク検出部１０は、二次曲線近似を用いてピーク位置を検出する構成を有している。
【００５６】
この構成により、二次曲線近似を用いてピーク位置を検出し、基準画像と参照画像のサブピクセル単位のずれを算出することができる。二次曲線近似を用いてピーク位置を検出する処理はさらに演算量が少ないので、視差演算のさらなる高速化が可能である。
【００５７】
また、本実施の形態のステレオ画像処理装置１は、逆位相フィルタを用いたフィルタリング処理の結果に基づいて、画像マッチング処理におけるマッチングエラーを検出するマッチングエラー検出部１１を備えた構成を有している。
【００５８】
この構成により、逆位相フィルタを用いたフィルタリング処理の結果に基づいて、画像マッチング処理におけるマッチングエラーを検出することができる。例えば、逆位相フィルタを用いたフィルタリング処理の出力が左右対称でない場合、ピクセルレベルの画像マッチング処理に誤マッチングがあったと判定される（マッチングエラーとして検出される）。
【００５９】
また、本実施の形態のステレオ画像処理装置１では、逆位相フィルタ部９は、画像マッチングによって検出されたピクセル単位のずれの大きさに応じて、逆位相フィルタのタップ長を決定する構成を有している。
【００６０】
この構成により、画像マッチングによって検出されたピクセル単位のずれの大きさに応じて、逆位相フィルタのタップ長（逆位相フィルタを用いたフィルタリング処理を施すときに部分画像を切り出すために用いる窓関数ｗ（ｍ）の長さ：Ｋ−Ｊ）が適切に設定される。例えば、遠くの物体（対象物）は小さな画像として写るので、ピクセル単位のずれも小さくなり、逆位相フィルタのタップ長（窓関数の長さ）もそれに応じて短く設定される。
【００６１】
以上、本発明の実施の形態を例示により説明したが、本発明の範囲はこれらに限定されるものではなく、請求項に記載された範囲内において目的に応じて変更・変形することが可能である。
【００６２】
例えば、以上の説明では、サブピクセルレベルのマッチングにおいて逆位相フィルタを用いた演算を行う場合について例示したが、本発明の範囲はこれに限定されるものではない。例えば、他の実施の形態として、サブピクセルレベルのマッチングにおいて相互相関を用いた演算を行ってもよい。
【００６３】
（実施の形態２）
図９は、他の実施の形態のステレオ画像処理装置１の構成を示すブロック図である。図９に示すように、この実施の形態の第２マッチング部８では、逆位相フィルタ部９の代わりに、相互相関部１２が設けられている。この相互相関部１２は、ピクセルレベルのマッチングで一致した位置の部分画像から相互相関の値を算出する機能を備えている。したがって、この相互相関部１２が、本発明の相互相関算出手段に相当する。
【００６４】
図１０相互相関の値を算出する処理の説明図である。図１０に示すように、この場合も、式（２）のハニング窓の窓関数ｗ（ｍ）を使って、基準画像から、所定の位置（ｘａ，ｙａ）を中心としたデータの切出しが行われ、参照画像から、ピクセルレベルのマッチングで一致した位置（ｘａ＋ｎ，ｙａ）を中心としたデータの切出しが行われる。そして、この相互相関部１２では、下記の式（６）を用いて、切出された基準画像と参照画像の相互相関の値が算出される。
【数６】
0005567179.tif 000008
【００６５】
式（６）において、ｉを−ｋで置き換えるとΣの中の式が式（３）と等価になり、Σの加算の範囲は−Ｊから−Ｋになる。ＪとＫは０を中心とした窓関数の範囲を示すものであり、ＪとＫは符号が逆であるため、基本的には加算の順番が数式上ことなるだけであり、式（３）と同等の出力を得るえることができる。つまり、逆位相フィルタによる計算を相互相関の計算に置き換えて計算することも可能である。よって、相互相関を用いた場合でも、逆位相フィルタを用いた方式と同様の高精度なサブピクセルレベルのマッチングが可能である。
【００６６】
従来より相互相関を用いて画像のマッチング、および、サブピクセルの推定を行なう手法があるが、本発明では、ピクセルレベルで切出し位置を決定し、この切出したデータのみを用いて相互相関を計算するので、従来からある相互相関を用いた方式とは全く別のものである。
【００６７】
このような他の実施の形態のステレオ画像処理装置１によれば、ピクセル単位のずれが最小となる同一の対象物の部分画像について相互相関の値を算出する相互相関部１２を設けることにより、視差演算の精度や分析分解能を向上することができ、かつ、視差演算に要する演算量が少なく処理の高速化が可能である。
【００６８】
すなわち、この実施の形態のステレオ画像処理装置１は、同一の対象物を撮影した基準画像と参照画像から視差に起因する画像のずれを算出するステレオ画像処理装置１であって、基準画像と参照画像にそれぞれ含まれる同一の対象物の部分画像について画像マッチング処理を施し、画像マッチング処理の結果に基づいて基準画像と参照画像のピクセル単位のずれを検出する第１マッチング部６と、ピクセル単位のずれが最小となる同一の対象物の部分画像について、基準画像と参照画像の相互相関の値を算出する相互相関部１２と、相互相関の値が最大となるピーク位置を検出し、ピーク位置に基づいて基準画像と参照画像のサブピクセル単位のずれを検出するピーク検出部１０と、を備えた構成を有している。
【００６９】
この構成により、基準画像と参照画像のピクセル単位のずれが画像マッチング処理によって検出され、そのピクセル単位のずれが最も小さい部分画像について相互相関の値が算出される。そして、その相互相関の値のピーク位置が検出され、基準画像と参照画像のサブピクセル単位のずれが算出される。これにより、視差演算の精度や分析分解能を向上することができる。しかも、この場合、ピクセル単位のずれを検出する画像マッチング処理は演算量が少なく、また、相互相関の値を算出する処理も、ピクセル単位のずれが最も小さい部分画像についてのみ行なえばよいので、演算量が少なくて済む。したがって、視差演算の高速化が可能である。
【００７０】
図１１は、ＳＡＤ方式、一次元ＰＯＣ方式、及び本願発明に係るステレオ画像処理方法（以下、本方式）を用いた場合の測距精度を比較した結果を示す。測距精度は、測距対象までの距離と測距結果の標準偏差との特性で示される。
【００７１】
図１１が示す結果は、測距対象が車両であって、ステレオカメラからの距離を１０ｍ間隔で変化させて撮影されたステレオ画像に基づいて算出されている。評価指標は、レンズ歪みの補正やステレオカメラの平行化補正の誤差要因を排除するために、測距結果の標準偏差を用いている。図１１において、測距結果の標準偏差が小さい方式が、精度の高い方式である。ここで、標準偏差とは、測距結果のばらつきである。
【００７２】
測距結果の標準偏差は、撮影されたステレオ画像に含まれる画素のうち、目視により抽出された車両領域内の画素をサンプル点として算出されている。本方式のサブピクセル推定は最も演算量が少なくなる２次曲線近似を用いた。図１１が示すように、ＰＯＣ方式（◇印で示した）と本方式（□印で示した）は同等の特性を示し、ＳＡＤ方式（△印で示した）より標準偏差が小さくなっている。
【００７３】
図１２は、ＳＡＤ方式、一次元ＰＯＣ方式、及び本方式を用いた場合における視差計算の演算時間を比較した結果を示す。
【００７４】
図１２が示す結果は、ハーフＶＧＡ画像（６４０ｘ２４０）の１フレームをパソコン（３３．３３ＧＨｚ）で演算するのに必要な時間である。本方式はＳＡＤ方式に比べて約１．２５倍の演算時間が必要だが、一次元ＰＯＣ方式は本方式に比べて３０倍以上の演算時間が必要である。
【００７５】
以上のように、図１１および図１２の結果から、本願発明に係るステレオ画像処理方法は、ＳＡＤ方式と同等の演算時間であり、かつ、一次元ＰＯＣ方式と同等の測距精度を実現できるという効果を奏する。
【００７６】
（実施の形態３）
図１３は、本発明の実施の形態３に係るステレオ画像処理装置１３００の構成を示す。ステレオ画像処理装置１３００は、ステレオ画像取得部１３０１と、画像マッチング部１３０２と、フィルタ部１３０３と、ピーク位置検出部１３０４と、から構成される。
【００７７】
ここで、ステレオ画像取得部１３０１は、図１におけるステレオカメラ２及びステレオ画像入力部３に、画像マッチング部１３０２は、図１における第１画像切出し部５及び第１マッチング部６に、フィルタ部１３０３は、図１における第２画像切出し部７及び逆位相フィルタ部９に、ピーク検出部１３０４は図１におけるピーク検出部１０に相当する。
【００７８】
以下、図１３を用いて、本実施の形態３に係るステレオ画像処理装置１３００の機能を説明する。なお、後述する画像は、本実施の形態においては画像横方向をＸ軸、画像縦方向をＹ軸として、１画素が１座標点であるとして、以下、説明する。
【００７９】
なお、以下の説明は、ステレオ画像の基準画像における所定の基準点について説明するが、ステレオ画像処理装置１３００の処理内容としては、基準画像の画面全体の縦および横の全画素について、以下の処理を行う。
【００８０】
ステレオ画像取得部１３０１は、２つ以上の撮像系すなわちカメラを備え、カメラによって同一対象物を撮像した基準画像及び参照画像を取得する。
【００８１】
画像マッチング部１３０２は、ステレオ画像取得部１３０１から取得した基準画像及び参照画像に基づいて、ステレオ画像の画像マッチング処理を行い、基準画像と参照画像との座標軸上における“ずれ量ｎ”を算出する。
【００８２】
以下、ずれ量ｎをピクセル単位のずれと定義する。また、本実施の形態におけるステレオ画像処理装置の導出目的である、基準画像と参照画像との視差を、以下、サブピクセル単位のずれと定義する。
【００８３】
フィルタ部１３０３は、ステレオ画像取得部１３０１から基準画像及び参照画像を取得し、画像マッチング部１３０２から“ずれ量ｎ”を取得する。
【００８４】
フィルタ部１３０３は、ステレオ画像取得部１３０１から取得された基準画像から部分画像を抽出し、基準画像に係る部分画像からフィルタ係数を算出する。また、フィルタ部１３０３は、ステレオ画像取得部１３０１から取得された参照画像から部分画像を抽出し、参照画像に係る部分画像から入力信号を生成する。そして、フィルタ部１３０３は、入力信号及びフィルタ係数に基づいて、出力信号を生成する。
【００８５】
ピーク位置検出部１３０４は、フィルタ部１３０３から取得された出力信号から、ピーク値を検出する。ここで、ピーク値とは、出力信号における最大値をいう。
【００８６】
なお、本実施の形態においては、ステレオ画像入力部１３０１によって取得されるステレオ画像を、レンズ歪補正、光軸並行化補正を施していないが、実施の形態１と同様に施してもよい。
【００８７】
以下、各構成要素の機能について、詳細に説明する。
【００８８】
ステレオ画像取得部１３０１は、複数の撮像系を有する。ステレオ画像取得部１３０１は、対象物を第１の撮像系と第２の撮像系とで撮像することにより、対象物を第１の撮像系を用いて撮像した基準画像と、対象物を第２の撮像系を用いて撮像した参照画像とを取得する。なお、公知技術に基づいて構成されるため、詳細な説明を省略する。
【００８９】
画像マッチング部１３０２は、ステレオ画像取得部１３０１から取得した基準画像及び参照画像に基づいて、ステレオ画像の画像マッチング処理を行い、基準画像と参照画像との“ずれ量ｎ”を算出する。
【００９０】
具体的な処理内容は、実施の形態１における第１画像切出し部５及び第１マッチング部６の処理内容と同じであるため、図２を用いて説明する。
【００９１】
図２は、所定の窓サイズ（縦サイズ：ｗｖピクセル、横サイズ：ｗｈピクセル）の矩形窓を用いて、基準画像及び参照画像から部分画像の切出しが行われる様子を示す。基準画像において、所定の基準点（ｘａ，ｙａ）を中心とした矩形窓の窓関数を用いて、基準画像から部分画像の切出しが行われ、基準画像から矩形窓の窓関数によって切出された部分画像が抽出される。
【００９２】
なお、所定の基準点は、基準座標である。また、矩形窓の窓関数は所定の基準点を中心としている旨を説明したが、中心ではなくとも、中心付近に所定の基準点を含んでいればよい。
【００９３】
一方、参照画像において、参照画像における所定の基準点（ｘａ，ｙａ）から基線長方向である横方向に、予め定められた検索範囲において、１ピクセルずつ画像をずらしていきながらデータの切出しが行われ、参照画像から矩形窓の窓関数によって切出された部分画像が抽出される。
【００９４】
画像マッチング部１３０２は、基準画像から矩形窓の窓関数によって切出された部分画像と、参照画像から窓関数によって切出された部分画像とのＳＡＤ値（画素輝度の相違度）を、実施の形態１と同様の式（１）に基づいて算出し、ＳＡＤ値が最小となる画像のずれ“ｎ”（単位：ピクセル）を導出する。
【００９５】
以下、参照画像において、座標点（ｘａ＋ｎ、ｙａ）を対応点と定義する。
【００９６】
このように、画像マッチング部１３０２は、基準画像から矩形窓の窓関数によって切出された部分画像と、参照画像から矩形窓の窓関数によって切出された部分画像とについてステレオ画像の画像マッチング処理を施し、画像マッチング処理の結果に基づいて、基準画像と参照画像のピクセル単位のずれである“ずれ量ｎ”を導出する。
【００９７】
なお、ＳＡＤ方式によりピクセルレベルのマッチングを行う場合を示したが、本発明の範囲はこれに限定されるものではない。すなわち、演算量の少ない方式であれば他のいかなる方式、例えば、ＳＳＤ（Ｓｕｍ  ｏｆ  Ｓｑｕａｒｅｄ  Ｄｉｆｆｅｒｅｎｃｅｓ）方式等を用いてもよい。
【００９８】
フィルタ部１３０３は、ステレオ画像取得部１３０１から基準画像および参照画像を取得し、画像マッチング部１３０２から“ずれ量ｎ”および所定の基準点（ｘａ、ｙａ）を基準としてステレオ画像の画像マッチング処理を行った旨を示す情報を取得する。
【００９９】
フィルタ部１３０３は、ステレオ画像取得部１３０１から取得された基準画像から部分画像を抽出し、基準画像に係る部分画像からフィルタ係数を算出する。また、フィルタ部１３０３は、ステレオ画像取得部１３０１から取得された参照画像から部分画像を抽出し、参照画像に係る部分画像から入力信号を生成する。そして、フィルタ部１３０３は、入力信号及びフィルタ係数に基づいて、出力信号を生成する。
【０１００】
具体的な処理内容は、実施の形態１における第２画像切出し部７及び逆位相フィルタ部９の処理内容と同じであるため、図３を用いて説明する。
【０１０１】
図３は、実施の形態１に示す式（２）によって表現されるハニング窓の窓関数ｗ（ｍ）を用いて、基準画像及び参照画像から部分画像の切出しが行われる様子を示す。
【０１０２】
なお、窓関数はハニング窓以外にも、ハミング窓、ブラックマン窓、カイザー窓などがあるが、本実施の形態においては、ハニング窓として説明する。窓関数は、画像から切出した部分画像の特性のうち、例えば、周波数パワー特性、位相特性、切り出し端連続性（図３における窓関数は、図２における窓関数よりも連続的に変化している）などのうち、重要視するパラメータによって選択が異なる。位相特性を重要視する場合には、カイザー窓が適しているが、演算がかなり複雑である。一方、演算量削減の観点からはハニング窓が適している。
【０１０３】
本実施の形態においては、画像マッチング部１３０２において用いられる窓関数（以下、第１の窓関数）が、計算回数が多いサーチ処理の中で利用されるために演算量が少ないことが重要である一方で、精度はピクセルレベルでよいので単純にデータを切り出すだけの矩形窓を用いるとして説明している。
【０１０４】
一方、フィルタ部１３０３において用いられる窓関数（以下、第２の窓関数）は、サブピクセルを正確に求めるために、画像から切り出した部分画像に、窓関数による切り出しのノイズが含まれないことが重要である。
【０１０５】
従って、第２の窓関数は、切り出しのノイズが少ないことが重要視されるために、第１の窓関数に対して、両端における変化が連続的である窓関数、すなわち１周期の両端が略ゼロである窓関数を用いることが望ましい。これにより、切出し後の信号は切出し端の部分において信号の連続性が保たれ、逆位相フィルタの特性から切出しによるノイズ成分を除去することができる。
【０１０６】
第１の窓関数と第２の窓関数とを周波数特性において比較すると、第１の窓関数の方が、第２の窓関数よりもメインローブ（ｍａｉｎ−ｌｏｂｅ）の幅が狭く、サイドローブ（ｓｉｄｅ−ｌｏｂｅ）の振幅が大きい。
【０１０７】
図３において、ハニング窓の窓関数を切出すためのハニング窓の窓関数ｗ（ｍ）は、縦軸は１ピクセル（画素）、横軸は“Ｋ−Ｊ”ピクセルであり、“ｍ”は座標点“Ｊ”以上、座標点“Ｋ”以下の整数である。
【０１０８】
また、図３において、ｇ’（ｍ）（ｍ：“Ｊ”以上“Ｋ”以下の整数）は、ハニング窓の窓関数によって参照画像から切出された部分画像の輝度値を示す。
【０１０９】
図３における基準画像において、所定の基準点（ｘａ，ｙａ）を中心としたハニング窓の窓関数を用いて部分画像の切出しが行われる。すなわち、基準画像からハニング窓の窓関数を用いて切出された部分画像は、座標（ｘａ、ｙａ）を中心に、縦軸サイズが１ピクセル、横軸サイズが“Ｋ−Ｊ”ピクセルである。
【０１１０】
一方、図１３における参照画像において、画像マッチング部１３０２においてステレオ画像の画像マッチングでＳＡＤ値等のピクセルレベルにおけるマッチング度合いを示す評価値が最も有効な位置となる、（ｘａ＋ｎ、ｙａ）を中心としたハニング窓の窓関数を用いて部分画像の切出しが行われる。
【０１１１】
すなわち、参照画像からハニング窓の窓関数を用いて切出された部分画像は、座標（ｘａ＋ｎ、ｙａ）を中心に、縦軸サイズが１ピクセル、横軸サイズが“Ｋ−Ｊ”ピクセルである。
【０１１２】
なお、ここでは、窓サイズが“縦サイズ：１ピクセル、横サイズ：Ｋ−Ｊピクセル”である場合を例示したが、本発明の範囲はこれに限定されるものではない。
【０１１３】
例えば、縦サイズが３ピクセルである場合には、縦１ピクセルずつに上述した処理を行い、縦３ピクセルについての結果を平均して出力してもよい。
【０１１４】
更に、例えば、縦サイズが複数のピクセルを含む場合、縦１ピクセルずるに上述した処理を行い、縦サイズに含まれる複数のピクセルごとの結果を重み付けして平均化してもよい。なお、重み付け係数は、２次元POCのように、窓関数によって決定されてもよい。
【０１１５】
また、ここでは、ハニング窓の窓関数を用いる例を説明したが、これ以外の窓関数を使用してもよい。
【０１１６】
フィルタ部１３０３は、基準画像からハニング窓の窓関数を用いて切出された部分画像における各座標の輝度値の順列を反転させた値をフィルタ係数とするフィルタを逆位相フィルタとして導出する。そして、フィルタ部１３０３は、逆位相フィルタを用いて、参照画像からハニング窓の窓関数を用いて切出された部分画像における各座標の輝度値をフィルタリング処理する。
【０１１７】
図４は、逆位相フィルタを用いたフィルタリング処理の一例を示す説明図である。以下、フィルタ部１３０３において行われるフィルタリング処理について、図４を参照して説明する。
【０１１８】
図４は、ハニング窓の窓関数によって参照画像から切出された部分画像の輝度値の順列である入力信号ｘ（ｍ）が、フィルタリング処理される様子について示す。ここで、図３におけるハニング窓の窓関数ｗ（ｍ）の基線長方向の長さ“Ｋ−Ｊ”を例えば“５”画素として、入力信号ｘ（ｍ）を例えば「１、２、３、４、５」として、以下説明する。
【０１１９】
なお、入力信号ｘ（ｍ）の各数字は各座標における輝度を示し、部分画像以外の座標点における輝度は「０」とする。また、入力信号ｘ（ｍ）の順列が「１、２、３、４、５」である場合であって、基準画像と参照画像から切り出した部分画像にサブピクセルレベルにおけるずれがない場合、画像マッチング部１３０２において画像マッチングがされているため、基準画像からハニング窓の窓関数を用いて切出した部分画像の輝度値の順列も同様に「１、２、３、４、５」である。
【０１２０】
ここで、図３におけるハニング窓の窓関数ｗ（ｍ）の基線長方向の長さが“５”画素である場合、逆位相フィルタｈ（ｋ）のタップ長は基準画像から窓関数により切り出した部分画像の画素数と同じになるため“５”である。すなわち、逆位相フィルタのタップ長は、窓関数の窓長と同じである。
【０１２１】
なお、基準画像から切出した部分画像のサイズと、参照画像から切出した部分画像のサイズとが等しいため、入力信号ｘ（ｍ）におけるデータ個数と逆位相フィルタｈ（ｋ）のタップ長とは等しい。
【０１２２】
逆位相フィルタのフィルタ係数は、基準画像からハニング窓の窓関数を用いて切出した部分画像の輝度値の順列「１、２、３、４、５」を反転させた「５、４、３、２、１」なる順列である。
【０１２３】
フィルタ部１３０３は、逆位相フィルタ「５、４、３、２、１」を用いて、参照画像に係る入力信号「１、２、３、４、５」にフィルタリング処理を施す。フィルタリング処理について、具体的に説明する。
【０１２４】
フィルタリング処理は、入力信号「１、２、３、４、５」の各座標点を“ｋ”とした場合に、座標点“ｋ”を中心とした横軸方向の前後５個のデータ「ｋ−２、ｋ−１、ｋ、ｋ＋１、ｋ＋２」に対して逆位相フィルタが施され、その総和が出力信号ｚ（ｍ）（ｍ：１〜５の数字）として算出される。
【０１２５】
ここで、部分画像外の座標点の輝度が“０”である場合には、部分領域外の座標点の輝度を考慮すると、入力信号ｘ（ｍ）の前後の輝度値は、「０、０、１、２、３、４、５、０、０」となる。図４における“ｔ”（ｔ：０〜４）を参照画像からハニング窓によって切出された部分画像における座標点とした場合に、フィルタリング処理の結果は次のようになる。
【０１２６】
ｔ＝０の場合は、参照画像において、ｔ＝０を中心とする横軸方向の前後５個の輝度値「０、０、１、２、３」が、逆位相フィルタ「５、４、３、２、１」によってフィルタリング処理され、出力値は２６（＝０×１＋０×２＋１×３＋２×４＋３×５）が算出される。
【０１２７】
ｔ＝１の場合は、参照画像において、ｔ＝１を中心とする横軸方向の前後５個の輝度値「０、１、２、３、４」が、逆位相フィルタ「５、４、３、２、１」によってフィルタリング処理され、出力値は４０（＝０×１＋１×２＋２×３＋３×４＋４×５）が算出される。
【０１２８】
同様にして、ｔ＝２の場合には出力値５５が算出され、ｔ＝３の場合には出力値４０が算出され、ｔ＝４の場合には出力値２６が算出される。
【０１２９】
従って、出力信号ｚ（ｍ）として「２６、４０、５５、４０、２６」の信号列が出力される。
【０１３０】
このように、逆位相フィルタを用いたフィルタリング処理は、その出力が対称（図４では、ｔ＝２を中心として左右対称）になるとともに、中央にピークが存在するという特徴を有する。また、逆位相フィルタは、いわゆるＦＩＲフィルタの一種に相当するものであり、線形推移不変システムであるという特徴を有する。ここで、線形推移不変システムとは、入力信号にずれがある場合には、出力信号にも入力信号と同じだけのずれが生じるシステムである。
【０１３１】
つまり、ここでは、基準画像と参照画像から切り出した部分画像にサブピクセルレベルでのずれがない場合を例に説明したが、入力信号ｘ（ｍ）がサンプリング間隔より小さい間隔でずれている場合においても、出力にも入力と同じだけのずれが生じることになり、出力には、ずれた信号のサンプリング位置における値を得ることになる。
【０１３２】
なお、フィルタ部１３０３は、基準画像から切出した部分画像の輝度値の並びを反転させた値ｆ’（−ｋ）が逆位相フィルタのフィルタ係数ｈ（ｋ）として用いられ、参照画像から切出した部分画像の輝度値ｇ’（ｍ）が入力信号ｘ（ｍ）である。従って、フィルタ部１３０３において算出される出力信号ｚ（ｍ）は、実施の形態１と同様の式（３）によって算出されるともいえる。
【０１３３】
なお、フィルタ部１３０３は、ピクセルレベルのマッチングで検出されたピクセル単位のずれｎの大きさに応じて、逆位相フィルタのタップ長が設定される。例えば、ピクセル単位のずれｎが小さい場合には、それに応じて逆位相フィルタのタップ長も短く設定される。
【０１３４】
すなわち、実空間において同じサイズの対象物の視差を求める場合、対象物が遠くに存在する場合は近くに存在する場合よりも視差は小さく、ピクセル単位のずれ“ｎ”も小さくなる。それと同時に、画像中に撮影されるサイズも小さくなるため、“ｎ”に対して適応的に部分画像のサイズを変更することにより、逆位相フィルタのタップ長も適応的な変更が可能になる。これにより、対象物のサイズに合わせた視差計算、すなわち、等距離の物体が撮影されている部分画像のみを用いて視差を計算するという適応的な処理を施すことができる。
【０１３５】
フィルタ部１３０３の出力は、線形推移不変システムの出力であるので、レンズの歪補正の誤差、ＣＣＤなどのイメージセンサに起因するゲインノイズ等の誤差、窓掛けによる画像切り出しの演算精度の誤差を除けば、理論的には真のずれを表現していることになる。よって、ピクセル単位で離散化されている逆位相フィルタの出力をサンプリング定理に従い、ピクセル間の数値を補間することにより、サブピクセルレベルでの真のピーク位置を求めることが可能になる。
【０１３６】
以上が、フィルタ部１３０３に関する説明である。
【０１３７】
ピーク検出部１３０４は、ピーク位置検出部１３０４は、フィルタ部１３０３から取得された出力信号から、ピーク値を検出する。
【０１３８】
具体的な処理内容は、実施の形態１におけるピーク検出部１０の処理内容と同じであるため、図５を用いて説明する。
【０１３９】
ピーク検出部１３０４は、ｓｉｎｃ関数を用いてフィルタ部１３０３からの出力値がサブピクセルレベルで最大となるピーク位置を検出する。
【０１４０】
ｓｉｎｃ関数はｓｉｎ（πｘ）／πｘで定義され関数であり、離散化されたサンプリングデータを元の連続データに戻す場合に用いられる関数である。つまり、サンプリングされた離散データとｓｉｎｃ関数の畳み込み演算を行うことにより、元の連続データを完全に復元可能であることがサンプリング定理により証明されている。
【０１４１】
従って、離散化されている逆位相フィルタの出力を、ｓｉｎｃ関数を用いてピクセル間のデータを補間してピーク位置を求めれば、サブピクセルレベルでも理論的に真のピーク位置を導出することができる。
【０１４２】
図５は、ｓｉｎｃ関数を用いたピーク位置の検出の一例を示す説明図である。図５に示すように、ｓｉｎｃ関数を用いてピーク位置を検出するときには、２分探索によってピーク位置が検出される。
【０１４３】
例えば、フィルタ部１３０３から出力される出力値ｚ（ｍ）が最大となる位置ｍ＝０を位置Ａとする。そして、その最大位置Ａから左右に１ピクセルずつずれた位置の出力値ｚ（＋１），ｚ（−１）を比較し、大きいほうの位置ｍ＝１を位置Ｂとする。
【０１４４】
位置Ａと位置Ｂの中間位置を位置Ｃとし、サンプリング定理に基づいて、ｓｉｎｃ関数を用いた実施の形態１と同様の式（４）から位置Ｃの値を算出する。そして、その位置Ｃを新しい位置Ｂとして、必要な精度分だけ上記の処理を繰り返し、最も値が大きい位置をピーク位置δとする。
【０１４５】
すなわち、必要なサブピクセル精度が１／２ピクセルであれば、上記処理を１回行えばよく、１／４ピクセル精度であれば２回、１／８ピクセルであれば３回と必要なサブピクセル精度に応じて繰り返し回数を決定する。
【０１４６】
なお、ここではｓｉｎｃ関数を用いてピーク位置を導出する手法の１例として２分探索による手法を説明したが、勾配法等の手法を用いて、ピーク位置を探索することも可能であり、本発明の範囲はこれに限定されるものではなく、ｓｉｎｃ関数を用いてピクセル間の値を補間してピーク位置を求める方式であれば他のいかなる方式を用いてもよい。
【０１４７】
また、ピーク検出部１３０４は、二次曲線近似を用いてフィルタ部１３０３からの出力値が最大となるピーク位置を検出し、演算処理を削減してもよい。二次曲線近似を用いたピーク位置抽出とは、離散化された１次元データのピーク位置を、離散化の間隔以下の精度でピーク位置を求める際に、二次曲線をフィッテングし、その極大値の位置から離散化の間隔以下の精度でピーク位置を算出する方法である。
【０１４８】
図６は、二次曲線近似を用いたピーク位置の検出の一例を示す説明図である。図６に示すように、この場合には、フィルタ部１３０３からの出力値の最大値ｚ（０）とその左右の出力値ｚ（＋１），ｚ（−１）の３点を通る二次曲線の最大値（極大値）をピーク位置δとする。この場合、ピーク位置δは、実施の形態１と同様の式（５）によって算出される。
【０１４９】
このように、ピーク検出部１３０４は、逆位相フィルタを用いたフィルタリング処理の出力値が最大となるピーク位置を検出し、ピーク位置に基づいて基準画像と参照画像のサブピクセル単位のずれを検出する機能を備えている。
【０１５０】
以上のように、本実施の形態のステレオ画像処理装置１３００によれば、ピクセル単位のずれが最小となる同一の対象物の部分画像について逆位相フィルタを用いたフィルタリング処理を行なうことにより、視差演算の精度や分析分解能を向上することができ、かつ、視差演算に要する演算量が少なく処理の高速化が実現できる。
【０１５１】
この構成により、基準画像と参照画像のピクセル単位のずれが画像マッチング処理によって検出され、そのピクセル単位のずれが最も小さい部分画像について逆位相フィルタを用いたフィルタリング処理が行われる。そして、そのフィルタリング処理の結果からピーク位置が検出され、基準画像と参照画像のサブピクセル単位のずれが算出される。これにより、視差演算の精度や分析分解能を向上することができる。しかも、この場合、ピクセル単位のずれを検出する画像マッチング処理は演算量が少なく、また、逆位相フィルタ処理を用いたフィルタリング処理も、ピクセル単位のずれが最も小さい部分画像について逆位相フィルタの演算のみ行なえばよいので、ＦＦＴ、逆ＦＦＴの演算を必要としないため演算量が少なくて済む。したがって、視差演算の高速化が可能である。
【０１５２】
以上、本発明の実施の形態を例示により説明したが、本発明の範囲はこれらに限定されるものではなく、請求項に記載された範囲内において目的に応じて変更・変形することが可能である。
【０１５３】
以上に現時点で考えられる本発明の好適な実施の形態を説明したが、本実施の形態に対して多様な変形が可能なことが理解され、そして、本発明の真実の精神と範囲内にあるそのようなすべての変形を添付の請求の範囲が含むことが意図されている。
【産業上の利用可能性】
【０１５４】
以上のように、本発明にかかるステレオ画像処理装置は、視差演算の精度や分析分解能を向上することができ、かつ、視差演算に要する演算量が少なく処理の高速化が可能であるという効果を有し、車載カメラを用いて前方の車両までの距離を測定する装置や、車内カメラを用いてドライバーの顔の向きを推定する装置等に用いられ、有用である。
【符号の説明】
【０１５５】
１  ステレオ画像処理装置
２  ステレオカメラ
３  ステレオ画像入力部
４  平行化補正部
５  第１画像切出し部
６  第１マッチング部
７  第２画像切出し部
８  第２マッチング部
９  逆位相フィルタ部
１０  ピーク検出部
１１  マッチングエラー検出部
１２  相互相関部
【図１】
0005567179.tif 000009
【図４】
0005567179.tif 000010
【図７】
0005567179.tif 000011
【図８】
0005567179.tif 000012
【図９】
0005567179.tif 000013
【図１２】
0005567179.tif 000014
【図１３】
0005567179.tif 000015
【図２】
0005567179.tif 000016
【図３】
0005567179.tif 000017
【図５】
0005567179.tif 000018
【図６】
0005567179.tif 000019
【図１０】
0005567179.tif 000020
【図１１】
0005567179.tif 000021