(57)【要約】【課題】標準的な領域照合に基づくステレオマッチングにおいて照合精度の低下を抑制するためには、画像の局所的な性質に応じて、照合領域を適応的に変更するのが効果的であるが、計算コストが高い。【解決手段】複数のカメラで複数の画像データを撮像する撮像部１０１と、撮像部１０１で撮像された複数の画像データを格納する画像メモリ１０２と、複数の画像データから求められた視差データを格納する算出済み視差格納部１０５と、画像メモリ１０２から読み込んだ複数の画像データと、算出済み視差格納部１０５から読み込んだ視差データと、に基づいて、画素毎に照合領域を設定する照合領域制御部１０３と、画像メモリ１０２から読み込んだ複数の画像データと、照合領域制御部１０３で設定された画素毎の照合領域と、に基づいて画像データを照合し、視差データを算出する視差演算部１０４と、を有するステレオ画像処理装置。【選択図】  図１
2011013706.tif 000002
【特許請求の範囲】
【請求項１】
複数のカメラで複数の画像データを撮像する撮像部と、
前記撮像部で撮像された複数の画像データを格納する画像メモリと、
複数の画像データから求められた視差データを格納する算出済み視差格納部と、
前記算出済み視差格納部から読み込んだ前記視差データに基づいて、画素毎に照合領域を設定する照合領域制御部と、
前記画像メモリから読み込んだ前記複数の画像データと、前記照合領域制御部で設定された画素毎の前記照合領域と、に基づいて画像データを照合し、視差データを算出する視差演算部と、を有するステレオ画像処理装置。
【請求項２】
請求項１のステレオ画像処理装置において、
前記算出済み視差格納部は、前記視差演算部で算出された視差データが格納されたステレオ画像処理装置。
【請求項３】
請求項１のステレオ画像処理装置において、
前記算出済み視差格納部で格納された視差データは、視差算出の対象となる画素に対して、空間的な隣接関係がある視差データ、又は時系列的な隣接関係がある視差データであるステレオ画像処理装置。
【請求項４】
請求項１のステレオ画像処理装置において、
前記照合領域制御部は、
前記算出済み視差格納部で格納された視差データに対して、急峻なエッジを保ちつつ、平滑化を行うフィルタ処理部と、
前記フィルタ処理部でフィルタ処理された視差データに基づいて、視差勾配を算出する視差勾配算出部と、
前記視差勾配算出部で算出された前記視差勾配を用いて、各画素における照合領域を設定する照合領域算出部と、を有するステレオ画像処理装置。
【請求項５】
請求項１のステレオ画像処理装置において、
前記算出済み視差格納部で格納された視差データを用いて照合範囲を決定する探索範囲制御部を有し、
前記視差演算部は、前記画像メモリから読み込んだ前記複数の画像データと、前記探索範囲制御部で決定された照合範囲と、前記照合領域制御部で設定された照合領域と、を用いて視差データを算出するステレオ画像処理装置。
【請求項６】
請求項１のステレオ画像処理装置において、
視差演算部で算出された視差データに基づいて計測点までの距離を算出する距離算出部を有するステレオ画像処理装置。
【請求項７】
請求項１のステレオ画像処理装置において、
前記画像メモリは、自車両の左側に備えた第１のカメラで撮像した第１の画像データと、自車両の右側に備えた第２のカメラで撮像した第２の画像データと、が格納されたステレオ画像処理装置。
【請求項８】
請求項４のステレオ画像処理装置において、
前記照合領域算出部は、前記視差勾配算出部で算出された前記視差勾配の値に負の相関をもつ窓幅を設定するステレオ画像処理装置。
【請求項９】
請求項４のステレオ画像処理装置において、
前記照合領域算出部は、照合領域の窓幅を、予め定めた照合領域の窓幅最大値及び窓幅最小値の間で設定するステレオ画像処理装置。
【請求項１０】
請求項１のステレオ画像処理装置において、
前記算出済み視差格納部に格納する視差データは、ミリ波レーダ，レーザレーダ，超音波装置のいずれかを用いて算出された視差データであるステレオ画像処理装置。
【請求項１１】
複数のカメラで複数の画像データを撮像し、
撮像された複数の画像データを画像メモリに格納し、
算出済み視差格納部に予め格納された視差データに基づいて画素毎に照合領域を設定し、
設定された照合領域に基づいて、前記複数の画像データを照合して視差データを算出するステレオ画像処理方法。
【請求項１２】
請求項１１のステレオ画像処理方法において、
前記算出済み視差格納部で格納された視差データに対して、急峻なエッジを保ちつつ、平滑化を行うフィルタ処理をし、
フィルタ処理された視差データに基づいて、視差勾配を算出し、
算出された前記視差勾配を用いて、各画素における照合領域を設定するステレオ画像処理方法。
【請求項１３】
請求項１１のステレオ画像処理方法において、
前記算出済み視差格納部で格納された視差データを用いて照合範囲を決定し、
前記画像メモリから読み込んだ前記複数の画像データと、前記照合範囲と、前記照合領域と、を用いて視差データを算出する画像処理方法。
【請求項１４】
請求項１１のステレオ画像処理方法において、
算出された視差データに基づいて計測点までの距離を算出し、算出された距離情報を出力するステレオ画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ステレオ画像処理方法および装置に関する。
【背景技術】
【０００２】
標準的なステレオマッチングでは、照合領域内の輝度値などを含む画像特徴量の類似度を用いて照合位置を探索する。しかしながら、照合領域内で視差が大きく変動している場合は、歪みの違いの影響を受けて類似度を正しく求められず、照合精度が低下する。照合精度の低下を抑制するには、照合領域内に視差変動を含まないように、照合領域を小さくすればよい。しかしながら、照合領域が小さい場合には、雑音の影響を受けやすく、類似パターンが存在する可能性も高まり、誤照合が生じやすい。したがって、照合精度を高めるためには、照合領域内に大きな視差変動を含まないように、できるだけ大きく照合領域をとることが望ましい。これを実現する方法の一つとして、各画素において、種々の大きさの照合ウィンドウで視差を算出し、視差の連続性に基づいて算出された照合ウィンドウサイズに対して、ウィンドウサイズの妥当性を表す指標である信頼度が最良となる照合ウィンドウによる処理結果を採用する方法、つまり照合領域面積を画素ごとに適応的に変化させる方法が特許文献１に開示されている。
【０００３】
また、照合精度を向上させるものとして、照合ウィンドウの大きさを段階的に小さくして適用する奥行き情報抽出装置および奥行き情報抽出方法について特許文献２に開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平５−２５６６１３号公報
【特許文献２】特開平１０−２８３４７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１では、照合精度は向上するものの、計算コストが高いという問題がある。また、特許文献２も特許文献１と同様に、各画素に対して複数の照合ウィンドウによる視差計算が必要になるため、照合精度は向上するものの、計算コストが高いという問題がある。
【０００６】
本発明の目的は、安価な計算コストで、領域照合によるステレオマッチングの照合精度向上と照合速度向上を両立することである。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明のステレオ画像処理装置は、複数のカメラで複数の画像データを撮像する撮像部と、その撮像部で撮像された複数の画像データを格納する画像メモリと、複数の画像データから求められた視差データを格納する算出済み視差格納部と、算出済み視差格納部から読み込んだ視差データに基づいて、画素毎に照合領域を設定する照合領域制御部と、画像メモリから読み込んだ複数の画像データと、照合領域制御部で設定された画素毎の照合領域と、に基づいて画像データを照合し、視差データを算出する視差演算部と、を有する構成とする。
【０００８】
また、本発明のステレオ画像処理方法は、複数のカメラで複数の画像データを撮像し、撮像された複数の画像データを画像メモリに格納し、予め算出済み視差格納部に格納された視差データに基づいて画素毎に照合領域を設定し、設定された照合領域に基づいて、複数の画像データを照合して視差データを算出する方法とする。
【発明の効果】
【０００９】
安価な計算コストで、領域照合によるステレオマッチングの照合精度向上と照合速度向上を両立できる。
【図面の簡単な説明】
【００１０】
【図１】本発明に係るステレオ画像処理装置の一構成例を示した図である。
【図２】本発明に係る照合領域制御部の一構成例を示した図である。
【図３】本発明のステレオカメラの一設置例と座標軸の設置を示した図である。
【図４】本発明の画素ごとの理想的な窓幅設定方法を示した図である。
【図５】本発明の照合窓幅の最大値，最小値に関して示した図である。
【図６】本発明の視差勾配から窓幅参照値を算出する補助関数の図である。
【図７】本発明の視差とそれに対する本手法による設定窓幅を示した図である。
【図８】本発明の窓幅設定の一連の流れを説明する図である。
【図９】本発明の視差エッジ保存型平滑化フィルタの結果を示した図である。
【図１０】本発明に係るステレオ画像処理方法のフローチャートを示した図である。
【図１１】本発明の初期照合領域設定のサブルーチンのフローチャートを示した図である。
【図１２】本発明の視差算出サブルーチンのフローチャートを示した図である。
【図１３】本発明の照合領域設定のサブルーチンのフローチャートを示した図である。
【図１４】本発明に係るステレオ画像処理装置の他の構成例を示した図である。
【図１５】本発明に係るステレオ画像処理装置の他の構成例を示した図である。
【図１６】本発明に係るステレオ画像処理装置の他の構成例を示した図である。
【図１７】本発明の距離算出部の測距原理を示した図である。
【発明を実施するための形態】
【００１１】
以下、本発明の一実施例について図面を参照しながら詳細に説明する。
【００１２】
まず、図１のステレオ画像処理装置１について説明する。ステレオ画像処理装置１は、撮像部１０１と、画像メモリ１０２と、照合領域制御部１０３と、視差演算部１０４と、算出済み視差格納部１０５で構成される。
【００１３】
ステレオ画像処理装置１は、例えば自車室内のルームミラー部に取付けられて、自車前方の様子を所定の俯角、取付け位置で撮像するようになっている。
【００１４】
図３に示した複数の撮像素子であるカメラ４ａ及びカメラ４ｂを含む撮像部１０１により撮像された自車前方の複数の画像データ（カメラ４ａの画像データ、カメラ４ｂの画像データ）はステレオ画像処理装置１内部の画像メモリ１０２に格納され、その格納された複数の画像データは、視差演算部１０４に受け渡され、算出済み視差格納部１０５の情報を用いて、視差を算出する。
【００１５】
カメラ４ａ及びカメラ４ｂとステレオ画像処理装置１が一体でもよい。あるいは、ディスプレイ等に距離算出結果を描画してもよい。設置方法や撮像方向に特段の制限は設けない。
【００１６】
撮像部１０１によって撮像された二つの画像（車両の左側に備えた第１のカメラで撮像した第１の画像データ、車両の右側に備えた第２のカメラで撮像した第２の画像データ）は、画像メモリ１０２に転送され、画像データとして格納される。格納された画像データは、視差演算部１０４から読み出される。照合領域制御部１０３は、算出済み視差格納部１０５の視差データを用いて、各画素に照合領域を設定する。算出済み視差格納部１０５は、複数の画像データから求められた視差データを格納する、例えば、前走査線で算出された視差を視差データとして格納し、照合領域制御部１０３にデータを受け渡す。視差演算部１０４は、画像メモリ１０２に格納された二つの画像データと、照合領域制御部１０３によって決定された照合領域と、に基づいて、画像データを照合し、視差データを算出する。具体的には、一方の画像データにおける点と他方の画像データにおける点を対応付け、その位置関係から当該点における視差を算出し、その視差を視差データとして算出済み視差格納部１０５に格納する。つまり、視差演算部１０４で算出された視差データを算出済み視差格納部１０５に格納する。なお、視差演算部１０４は、画像メモリ１０２から読み込んだ画像データの最上段から順に１走査線ずつ下方に計算対象を移動させて視差データを算出する、又は、画像データの最下段から順に１走査線ずつ上方に計算対象を移動させて視差データを算出する。
【００１７】
撮像部１０１は、例えば図３のように、二台のカメラから構成されるが、三台以上の複数のカメラを利用しても良い。また、赤外線カメラを利用しても良い。夜間の視認性向上が期待できる。またカラーカメラを利用して、カラー情報を後段の処理で活用してもよい。
【００１８】
画像メモリ１０２は、二台のカメラによって得られた視点の異なる二つの画像データをそれぞれ右画像データ，左画像データとしてメモリ上に格納する。
【００１９】
照合領域制御部１０３は、算出済み視差格納部１０５に格納された視差データを利用して、画素ごとに独立に照合領域の大きさを制御する。照合領域は、視差算出精度を向上させるために、オクルージョンなどが生じている視差が急峻に変動する境界を含まないように、かつ、大きい領域に設定する。照合領域の形状に特段の制限は課さない。照合領域制御部の詳細な処理に関しては後述する。
【００２０】
算出済み視差格納部１０５は、照合領域制御部１０３で利用する算出済みの視差データを格納する。ここで、算出済みの視差は、視差算出の対象となる画素に対して、空間的な隣接関係や時系列的な隣接関係がある視差を指す。例えば、一ライン上段の視差、あるいは一ライン下段の視差、前フレームの対応関係がある画素における視差などの少なくとも一つを指す。これは、一次元的な走査線情報に限定した話ではなく、空間的近傍に位置する視差情報、あるいは時間的対応関係がある前フレーム中の視差情報を一般的に指し示している。
【００２１】
視差演算部１０４の出力結果を格納しておき、それを再利用することで計算コストを低減できる。
【００２２】
視差演算部１０４では、照合領域制御部１０３において画素ごとに算出した照合領域を用いて、左右画像のマッチングを行うことで画素ごとの対応付けを行い、視差を求める。点の対応付けは、例えば、一方の画像の最上段線、あるいは最下段線にまず注目し、水平方向に走査しながら一点ずつ行う。注目する水平走査線上の対応付けが完了したら、注目ラインを一段下、あるいは一段上に移し、水平方向に走査しながら一点ずつ対応付けを行う。この処理を一方の画像全体に対して行う。最上段から走査する場合、一段上が前水平走査線、最下段から走査する場合、一段下が前水平走査線となる。
【００２３】
次に、図１の照合領域制御部１０３について図２を用いて説明する。
【００２４】
照合領域制御部１０３は、算出済み視差の勾配を算出する視差勾配算出部２０２と、その出力情報を用いて、照合領域の窓幅などを決定する照合領域算出部２０３と、算出済み視差格納部１０５で格納された視差データに対して、急峻なエッジを保ちつつ（算出済み視差の変動が大きい部分の特徴は残しつつ）、平滑化（雑音の除去）を行うフィルタ処理部である視差エッジ保存型平滑化フィルタ２０４と、から構成される。照合領域制御部１０３では、視差の勾配情報を用いて、画素ごとに適切な照合領域の窓幅を決定する。
【００２５】
理想的な照合領域の窓幅（以下、照合窓幅とする）設定に関して、図４に示す。特許文献１をはじめとする種々の文献に示されているとおり、照合窓幅は、窓内に視差が急峻に変化する部分を含まず、かつ、照合の安定性を高めるために、なるべく広い領域を確保することが望ましい。そこで、視差が急峻に変動する領域、すなわち、視差勾配が大きいところでは、窓幅を小さく設定し、視差変動が緩やかな領域、すなわち、視差勾配が小さいところでは、窓幅を大きく設定する。視差変動がこれらの中間程度の領域では、窓幅を中程度に設定する。また、この処理を高速に実現するために、視差算出の対象画素の前走査線にあたる算出済みの視差を、視差算出の対象画素とほぼ同等であるとの仮定を置いて、対象画素における視差を算出する処理を行うことなく、これを実現する。具体的な計算方法に関しては、後述する。
【００２６】
視差勾配算出部２０２は、照合領域算出部２０３で必要となる視差勾配を算出する。視差勾配の算出は、算出済み視差格納部１０５において確保されている算出済み視差データに対して視差エッジ保存型平滑化フィルタ２０４でフィルタ処理された視差データを用いて、隣接画素に対する視差の差分値を求めることで実現する。
【００２７】
照合領域算出部２０３では、視差勾配算出部２０２で算出された視差勾配の値を用いて、各画素における適切な照合窓幅（照合領域の窓幅）を設定する。照合窓幅は、図４に示すとおり、視差勾配が大きいところでは、窓幅を小さく設定し、視差勾配が小さいところでは、窓幅を大きく設定する。または視差勾配算出部２０２で算出された視差勾配の値に負の相関をもつ窓幅を設定する。視差変動がこれらの中間程度の領域では、窓幅を中程度に設定する。実際には、窓幅を際限なく大きく設定してしまうことを避けるために、最大窓幅と最小窓幅をパラメータとして設定し、その間で、視差勾配の値に応じて窓幅を設定する。つまり、照合領域の窓幅を、予め定めた照合領域の窓幅最大値（Ｗmax）及び窓幅最小値（Ｗmin）の間で設定する。これを図５に示す。
【００２８】
また、理想的な窓幅は、図４に示すように、視差が急峻に変化する画素から、少しずつ上昇し、次の視差が急峻に減少する画素までに、緩やかに減少することが望ましい。これを実現するために、次の処理によって、窓幅を求める。
【００２９】
まず、窓幅参照値を算出する。窓幅参照値は、
【００３０】
【数１】
2011013706.tif 000003
【００３１】
ただし、Ｗは窓幅、Ｗmaxは窓幅最大値、Ｗminは窓幅最小値、ｇ′は、
【００３２】
【数２】
2011013706.tif 000004
【００３３】
である。ここで、ｇは視差勾配の値である。ｇ′は図６に示すとおり、０から１の値をとり、視差勾配の値ｇがｇhighよりも大きい場合０、ｇlowよりも小さい場合１、その間では、線形に変化する。これは、ｇ′の設定方法の一例に過ぎず、ｇ′を非線形関数など，その他の関数に拡張してもよい。
【００３４】
ｇ′の定義から、窓幅ＷはＷminからＷmaxの値をとるように設定でき、また、視差勾配がｇlowよりも小さい場合、最大値Ｗminをとり、ｇhighよりも大きい場合、最小値Ｗminをとる。視差勾配がこの間の値であれば、視差勾配の大きさに応じた窓幅が設定される。
【００３５】
この窓幅参照値を用いて、理想的な窓幅を設定する。理想的な窓幅は先述したとおり、示唆が急峻に変化する画素から少しずつ上昇し、次に表れる視差が減少する画素までに、緩やかに減少することが望ましい。したがって、ある画素における窓幅設定値は、窓幅参照値よりも小さな値であれば、前画素における窓幅よりも１大きく設定し、窓幅参照値と一致していれば、窓幅参照値そのものを用いることにする。ただし、窓幅は、次に表れる視差が減少するまでに、緩やかに変化する必要があるため、注目画素の次に表れる、視差が減少する画素を算出しておき、その画素で設定すべき窓幅までに窓幅を１ずつ減少させて、緩やかに接続するように設定する。これを図７に示す。窓幅の値は、例えば，図上段に示すような視差の場合、下段に示すような窓幅となる。すなわち，窓幅設定値は、窓幅参照値を上限として内包され、窓幅設定値の絶対変化量が１以下に制限されたものとなる。
【００３６】
照合領域窓幅の設定の概要は、図８に示すとおりである。
【００３７】
画像の画面下側から順に走査させる場合、走査線Ａにおける視差を算出済み視差とし、これを用いて走査線Ｂにおける視差を算出する。走査線Ａにおける算出済み視差から、走査線Ｂ上の各画素における窓幅設定値を得る。得られた窓幅設定値を用いて、走査線Ｂ上の各画素において、視差を算出する。
【００３８】
当該図では、水平窓幅と垂直窓幅は、連動して変更されるようになっているが、これは一例であり、水平窓幅と垂直窓幅は別々に設定してもよい。水平窓幅は上記の設定方法で設定し、垂直窓幅に関しては、前走査線とさらにその前の走査線情報から、視差の垂直変動を算出し、その値から窓幅参照値と窓幅を設定する。窓幅の最大値と最小値は、水平方向の窓幅最大値と最小値とは別々に設定してよい。
【００３９】
視差の垂直変動が、垂直方向の全ての画素に対して算出できていれば、水平方向と同様に、窓幅参照値を算出し、これを用いて窓幅を設定することができる。例えば、算出済みの視差情報として、前フレームの画像の画素を対応付けて利用することが可能な場合、この処理を実現できる。車載カメラなど、センサが移動体に据えつけられている場合、前フレームの視差情報と注目フレームの視差情報の対応付けは、オプティカルフローなど画像処理による方法も考えられるが，計算速度と精度の観点から、加速度センサや蛇角センサなど他のセンサ情報を有効に活用してもよい。図８に示すように、前走査線の情報を視差として用いる場合は、前走査線と前々走査線の視差の勾配から、窓幅参照値を算出し、窓幅参照値そのものを窓幅として利用してもよい。また、図１，図２，図１４，図１５，図１６には示していないが、入力画像そのものや前フレームの画像、またそれらから抽出されたエッジなどの特徴量を、窓幅算出の情報として活用してもよい。
【００４０】
また、算出済み視差格納部１０５に格納される算出済みの視差データに関しては、カメラによる撮像情報だけでなく、ミリ波レーダやレーザレーダ、超音波装置など他のセンサ情報を用いて算出された視差データでもよい。また、これらのセンサ情報を活用して物体などを検出し、取得した視差データを利用してもよい。
【００４１】
視差エッジ保存型平滑化フィルタ２０４は、算出済み視差格納部より算出済みの視差データを受け取り、エッジ保存型平滑化フィルタを適用することで、オクルージョンが生じている視差変動が大きい部分の特徴は残しつつ、その他の雑音成分を平滑化し、精度良くオクルージョンなどによる視差変動を算出する。
【００４２】
エッジ保存型平滑化フィルタの適用例を図９に示す。当該図のように、エッジ保存型平滑化フィルタは、急峻なエッジを保存しつつ、平滑化を行うフィルタ処理を指す。例えば、ε−フィルタやバイラテラルフィルタなどがある。この処理では、前走査線の視差データを用いるので、処理負荷のかかる新たな手続きは不要であり、高速計算が可能である。
【００４３】
ここで、以上のようなステレオ画像処理装置において、画像を撮像して、視差を推定するまでの一連の処理の流れを、図１０のフローチャートを参照しながら説明する。
【００４４】
まず、ステップ５０１の画像入力処理で、撮像部１０１から左右の画像データを読み込む。次に、ステップ５０３では、照合領域制御部１０３により初期照合領域設定処理を行う。プログラム動作開始時には、算出済みの視差情報が無いので、特殊な処理を行う。詳細については後述する。ステップ５０４では、視差演算部１０４により、設定された照合領域に基づいて、視差を算出するサブルーチンを実施する。サブルーチンの構成については後ほど詳述する。ステップ５０５では、例えば、走査線単位で計算を進める場合、視差算出サブルーチンによって求められた当該走査線上の視差を用いて、次走査線上の照合領域を決定する。ステップ５０４とステップ５０５は、走査線数分の繰り返し処理である。
【００４５】
ステップ５０３の初期照合領域設定サブルーチンは、図１１に示すような構成となっており、ステップ７０１で、照合領域を各画素一律に設定した上で、ステップ５０４で、視差算出サブルーチンにより視差を求め、ステップ５０５で、算出された視差に基づいて、照合領域設定サブルーチンによって照合領域を設定するような構成となっている。あるいは、固定値で計算した視差を正解として、次走査線に処理を進めても良い。
【００４６】
ステップ５０４の視差算出サブルーチンは、図１２に示すような構成となっている。照合６０１と視差算出６０２を画素ごとに行う。照合６０１では、後述の照合領域設定サブルーチンによって決定された照合領域に対して、照合を行う。基準画像から、照合領域設定サブルーチンで得られた窓幅で、走査線上の注目画素を中心とする照合領域を選択し、参照画像の各画素において、照合領域設定サブルーチンで得られた窓幅内の画素の値を用いて、照合処理を行う。照合度の評価関数として、ＳＡＤやＳＳＤ，相互相関関数，増分符号相関，方向符号相関など、種々の方法を採用する。視差算出６０２では、参照画像において、ＳＡＤやＳＳＤなどによる照合値が最も小さくなる画素を探索し、その画素と基準画像の注目画素の位置の差分から、視差を算出する。これらの処理を走査線上の全ての画素に対して行う。
【００４７】
ステップ５０５の照合領域設定サブルーチンは、図１３に示すような構成となっている。まず、ステップ８０１により、走査線上のデータに対してエッジ保存平滑化フィルタを適用して視差エッジを残しつつ、雑音を除去する。ステップ８０２において、注目走査線上の各画素における視差勾配を算出する。視差勾配は、隣接画素の視差との差分をとることなどにより算出する。この際、勾配の絶対値をとる。ステップ８０３では、注目走査線上における窓幅参照値を算出する。窓幅参照値は式（１）によって算出する。窓幅の最大値と最小値がそれぞれパラメータとなる。ステップ８０４では、注目走査線上における窓幅設定値を算出する。これが、各画素における最終的な設定窓幅の値となる。窓幅設定値は、窓幅参照値を用いて求められる。窓幅設定値の最大傾斜の絶対値が１以下である、かつ、窓幅参照値以下である、という条件を満たすように窓幅を設定する。
【００４８】
ステップ５０５の照合領域設定サブルーチンは、図１３に示すような構成となっている。まず、ステップ８０１により、走査線上のデータに対してエッジ保存平滑化フィルタを適用して視差エッジを残しつつ、雑音を除去する。これは、図２の視差エッジ保存型平滑化フィルタ２０４に該当する。ステップ８０２において、注目走査線上の各画素における視差勾配を算出する。視差勾配は、隣接画素の視差との差分をとることなどにより算出する。この際、勾配の絶対値をとる。これは、図２の視差勾配算出部に該当する。ステップ８０３では、注目走査線上における窓幅参照値を算出する。窓幅参照値は式（１）によって算出する。窓幅の最大値と最小値がそれぞれパラメータとなる。ステップ８０４では、注目走査線上における窓幅設定値を算出する。これが、各画素における最終的な設定窓幅の値となる。窓幅設定値は、窓幅参照値を用いて求められる。窓幅設定値の最大傾斜の絶対値が１以下である、かつ、窓幅参照値以下である、という条件を満たすように窓幅を設定する。ステップ８０３およびステップ８０４は、図２の照合領域算出部の処理に該当する。
【００４９】
以上の一連の処理によって、照合精度の向上と計算コストの抑制を両立するステレオ画像照合方法は実現される。
【００５０】
本実施例においては、先述のステレオ画像処理装置１に、前走査線上における視差に基づいて、照合領域の探索範囲を可変に制御する探索範囲制御部１００１を追加する構成をとってもよい。通常のステレオマッチングでは、照合対象の画素を全探索するが、視差を利用して照合対象画素数を減少することで、処理時間の高速化が期待できる。この場合のステレオ画像処理装置２の構成例を図１４に示す。
【００５１】
図１４のステレオ画像処理装置２における探索範囲制御部１００１は、算出済み視差格納部１０５に格納されている算出済みの視差データを用いて、照合位置の探索範囲（照合範囲）を決定する。ある画素の照合範囲は、当該画素に対応する前走査線上の視差の値から決定する。ある画素における視差は、対応する前走査線の視差に近い値をもつ可能性が高いので、注目画素における視差が、前走査線の視差と等しくなる領域の周辺に真値がある可能性が高い。そこで、その周辺の画素に限定して探索すればよい。例えば、対応する算出済み視差よりも一定値だけ広い範囲を探索範囲として設定し、探索する。プログラム動作開始時には、視差の情報が無いので、特殊な処理を行う。例えば、この処理は、ステップ５０３の初期照合領域設定処理と同様の処理を行う。すなわち、処理対象領域に対して、視差情報を算出し、その値を算出済み視差情報として利用する。この際の照合領域は、可変に設定しても、固定値で設定してもよい。
【００５２】
この探索範囲制御部１００１を用いる場合、視差演算部１０４は、画像メモリ１０２から読み込んだ複数の画像データと、探索範囲制御部１００１で決定された照合範囲と、照合領域制御部１０３で設定された照合領域と、を用いて視差データを算出できる。
【００５３】
また、ステレオ画像処理装置１および２の視差演算部１０４で算出された視差データに基づいて、計測点までの距離を三角測量の原理で算出する距離算出部１１０６を設けても良い。例えば、車載用途で前方の走行環境認識やその結果を利用した制御に用いることなど、種々のアプリケーションでの利用が考えられる。
【００５４】
したがって、ステレオ画像処理装置１に対して、距離算出部１１０６を追加した構成であるステレオ画像処理装置３，ステレオ画像処理装置２に対して、距離算出部１１０６を追加した構成であるステレオ画像処理装置４を採用してもよい。ステレオ画像処理装置３を図１５、ステレオ画像処理装置４を図１６に示す。距離算出部１１０６は、視差演算部１０４によって算出された各点の視差を用いて、図１７に示すような三角測量の原理に基づいて、当該点における距離を求める。
【００５５】
距離算出部１１０６は、図１７に示すように、複数のカメラで同一計測点を撮像した際に生じる見え方の違い、すなわち視差を用いて、三角測量の原理に基づいて距離を求める。距離をＺ、カメラ間の距離をＢ、カメラの焦点距離をｆ、視差をδとすると、距離は
【００５６】
【数３】
2011013706.tif 000005
【００５７】
で求められる。
【符号の説明】
【００５８】
１，２，３，４  ステレオ画像処理装置
４ａ，４ｂ  カメラ
１０１  撮像部
１０２  画像メモリ
１０３  照合領域制御部
１０４  視差演算部
１０５  算出済み視差格納部
２０２  視差勾配算出部
２０３  照合領域算出部
２０４  視差エッジ保存型平滑化フィルタ
１００１  探索範囲制御部
１１０６  距離算出部
【図１】
2011013706.tif 000006
【図２】
2011013706.tif 000007
【図３】
2011013706.tif 000008
【図４】
2011013706.tif 000009
【図５】
2011013706.tif 000010
【図６】
2011013706.tif 000011
【図７】
2011013706.tif 000012
【図８】
2011013706.tif 000013
【図９】
2011013706.tif 000014
【図１０】
2011013706.tif 000015
【図１１】
2011013706.tif 000016
【図１２】
2011013706.tif 000017
【図１３】
2011013706.tif 000018
【図１４】
2011013706.tif 000019
【図１５】
2011013706.tif 000020
【図１６】
2011013706.tif 000021
【図１７】
2011013706.tif 000022