(57)【特許請求の範囲】
【請求項１】
被写体を撮像することにより取得された、該被写体上の着目点までの距離を算出するための基準画像、および該基準画像を取得した位置とは異なる位置から前記被写体を撮像することにより取得された、前記距離を算出するための少なくとも１つの参照画像の入力を受け付ける入力手段と、
前記基準画像上の着目点が投影された対象点について、該基準画像上の所定方向に延在する、該対象点を中心とする探索画素列であって、該探索画素列内の画素における輝度値の最大値と最小値との差分値が所定輝度間隔を超える探索画素列を設定し、該探索画素列の画素数を、前記対象点に対する前記参照画像上の対応点を探索する際に使用される、前記基準画像および前記参照画像の相関を算出する基準となる相関ウィンドウのサイズに設定するウィンドウサイズ設定手段と、
前記基準画像上に設定された相関ウィンドウ内の各画素と、前記参照画像上に設定された相関ウィンドウ内の各画素との相関を算出することにより、前記対応点を探索する対応点探索手段と、
該探索した対応点に基づいて前記距離を算出する距離算出手段とを備えたことを特徴とする距離測定装置。
【請求項２】
前記ウィンドウサイズ設定手段は、初期サイズの前記探索画素列を設定し、該探索画素列内の画素における輝度値の最大値と最小値との差分値を算出し、該差分値が前記所定輝度間隔を超えるか否かを判定し、該判定が否定された場合は前記探索画素列を前記所定方向にあらかじめ定められた画素数分大きくし、前記差分値が前記所定輝度間隔を超えるまで、前記探索画素列を大きくする処理を繰り返す手段であることを特徴とする請求項１記載の距離測定装置。
【請求項３】
前記所定方向が、前記基準画像の各画素を前記参照画像に写像することにより得られるエピポーラ線が延在する方向に対応する方向であることを特徴とする請求項１または２記載の距離測定装置。
【請求項４】
前記ウィンドウサイズ設定手段は、前記基準画像における輝度のばらつきに応じて、前記所定輝度間隔を設定する手段であることを特徴とする請求項１から３のいずれか１項記載の距離測定装置。
【請求項５】
前記ウィンドウサイズ設定手段は、前記対象点の輝度が低いほど前記所定輝度間隔を小さくするように設定する手段であることを特徴とする請求項１から４のいずれか１項記載の距離測定装置。
【請求項６】
前記対応点探索手段は、前記探索された対応点が誤対応点であるか否かを判定し、誤対応点であると判定された画素については、前記相関ウィンドウのサイズを大きくして再度前記対応点の探索を行う手段であることを特徴とする請求項１から５のいずれか１項記載の距離測定装置。
【請求項７】
前記基準画像の全画素について前記距離を算出するよう前記ウィンドウサイズ設定手段、前記対応点探索手段および前記距離算出手段を制御する制御手段と、
前記基準画像の各画素の距離を画素値とする距離画像を生成する距離画像生成手段とを備えたことを特徴とする請求項１から６のいずれか１項記載の距離測定装置。
【請求項８】
前記対応点探索手段は、同一サイズの前記相関ウィンドウが設定された画素毎に、該相関ウィンドウのサイズが小さい順に、前記対応点をまとめて探索する手段であることを特徴とする請求項７記載の距離測定装置。
【請求項９】
前記対応点探索手段は、一のサイズの前記相関ウィンドウを用いて探索された対応点のうち、誤対応となる誤対応点が探索された前記基準画像の画素については、前記相関ウィンドウのサイズを一段階大きくし、該一段階大きいサイズの前記相関ウィンドウが設定された画素とともに前記対応点を探索する手段であることを特徴とする請求項８記載の距離測定装置。
【請求項１０】
前記ウィンドウサイズ設定手段は、前記相関ウィンドウのサイズを所定の複数のサイズ群に分類し、前記各画素の前記相関ウィンドウのサイズを、該各画素について設定した相関ウィンドウのサイズが分類された前記サイズ群における最大サイズに再設定する手段であることを特徴とする請求項７から９のいずれか１項記載の距離測定装置。
【請求項１１】
被写体を撮像することにより取得された、該被写体上の着目点までの距離を算出するための基準画像、および該基準画像を取得した位置とは異なる位置から前記被写体を撮像することにより取得された、前記距離を算出するための少なくとも１つの参照画像の入力を受け付け、
前記基準画像上の着目点が投影された対象点について、該基準画像上の所定方向に延在する、該対象点を中心とする探索画素列であって、該探索画素列内の画素における輝度値の最大値と最小値との差分値が所定輝度間隔を超える探索画素列を設定し、該探索画素列の画素数を、前記対象点に対する前記参照画像上の対応点を探索する際に使用される、前記基準画像および前記参照画像の相関を算出する基準となる相関ウィンドウのサイズに設定し、
前記基準画像上に設定された相関ウィンドウ内の各画素と、前記参照画像上に設定された相関ウィンドウ内の各画素との相関を算出することにより、前記対応点を探索し、
該探索した対応点に基づいて前記距離を算出することを特徴とする距離測定方法。
【請求項１２】
被写体を撮像することにより取得された、該被写体上の着目点までの距離を算出するための基準画像、および該基準画像を取得した位置とは異なる位置から前記被写体を撮像することにより取得された、前記距離を算出するための少なくとも１つの参照画像の入力を受け付ける手順と、
前記基準画像上の着目点が投影された対象点について、該基準画像上の所定方向に延在する、該対象点を中心とする探索画素列であって、該探索画素列内の画素における輝度値の最大値と最小値との差分値が所定輝度間隔を超える探索画素列を設定し、該探索画素列の画素数を、前記対象点に対する前記参照画像上の対応点を探索する際に使用される、前記基準画像および前記参照画像の相関を算出する基準となる相関ウィンドウのサイズに設定する手順と、
前記基準画像上に設定された相関ウィンドウ内の各画素と、前記参照画像上に設定された相関ウィンドウ内の各画素との相関を算出することにより、前記対応点を探索する手順と、
該探索した対応点に基づいて前記距離を算出する手順とを有することを特徴とする距離測定方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、被写体の立体形状を表す距離画像を生成する距離測定装置および方法並びに距離測定方法をコンピュータに実行させるためのプログラムに関するものである。
【背景技術】
【０００２】
異なる位置に設けられた２台以上のカメラを用いて被写体を撮像し、これにより取得された複数の画像（基準カメラによる基準画像および参照カメラによる参照画像）の間で対応する画素である対応点を探索し（ステレオマッチング）、互いに対応する基準画像上の画素と、参照画像上の画素との位置の差（視差）に三角測量の原理を適用することにより、基準カメラまたは参照カメラから当該画素に対応する被写体上の点までの距離を計測して、被写体の立体形状を表す距離画像を生成する手法が提案されている。
【０００３】
ここで、ステレオマッチングを行う際には、図３に示すように、基準画像Ｇ１上のある画素Ｑａに写像される実空間上の点は、点Ｑ１，Ｑ２，Ｑ３…というように点Ｏ１からの視線上に連続的に複数存在するため、実空間上の点Ｑ１ ，Ｑ２ ，Ｑ３… 等の写像である直線（エピポーラ線）上に、画素Ｑａに対応する参照画像Ｇ２上の画素Ｑａ′が存在することに基づいて対応点が探索される。なお、図３において点Ｏ１は基準カメラの視点、点Ｏ２は参照カメラの視点である。ここで、視点とは各カメラの光学系の焦点である。このようにステレオマッチングを行う際には、基準画像上に対応点探索の対象となる画素Ｑａを含む相関ウィンドウＷを設定し、参照画像上において基準画像に設定したものと同一の相関ウィンドウＷをエピポーラ線上に沿って移動し、移動位置毎に各画像上の相関ウィンドウ内の各画素についての相関を算出し、参照画像Ｇ２上における相関が最大となる相関ウィンドウの中央の位置にある画素を、画素Ｑａの対応点として求めている。
【０００４】
このように対応点を探索する際には、適切なサイズの相関ウィンドウを用いることにより対応点の探索精度が向上する。このため、基準画像と参照画像との類似度を表すエネルギー関数の期待値と、基準画像上の画素と参照画像上の画素との視差の確率から定められるエントロピーとから信頼度パラメータを算出し、信頼度パラメータに基づいて相関ウィンドウのサイズを決定する手法が提案されている（特許文献１参照）。また、基準画像および参照画像において２つの輝度レベルを設定し、２つの輝度レベルの間にある画像群を対応点探索のための比較領域とする手法が提案されている（特許文献２参照）。また、時系列データを対象として対応点探索のための相関を算出するに際し、相関が悪化した場合に、相関ウィンドウのサイズを大きくする手法が提案されている（特許文献３参照）。さらに、相関ウィンドウに含まれる画素毎の視差のばらつきを示す評価関数を作成し、相関ウィンドウのサイズを変化させながら評価関数の値を算出し、算出された値を最小とするサイズの相関ウィンドウを用いる手法も提案されている（非特許文献１参照）。
【特許文献１】特開平５−２５６６１３号公報
【特許文献２】特開２０００−２８３５４号公報
【特許文献３】特開平１１−１２０３５１号公報
【非特許文献１】T.Kanade and M.Okumtomi, "A stereo Matching Algorithm with an Adaptive Window: Theory and Experiment", Proc.of the 1991 IEEE Intl.Conf. on Robotics and Automation, 1991, pp.1088-1095
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１に記載された手法では、信頼度パラメータを最大化するための条件を算出することが難しく、演算量が膨大なものとなる。また、基準画像および参照画像において、輝度が等しい領域が必ずしも視差に対応する領域とはならないため、特許文献２に記載された手法では距離画像を精度よく算出することができない。また、特許文献３に記載された手法においては時系列データを対象としているため、静止画像を扱う場合には適用することができない。さらに、非特許文献１に記載された手法においては、評価関数を各相関ウィンドウのサイズ毎に算出する必要があるため、演算量が膨大なものとなる。
【０００６】
本発明は上記事情に鑑みなされたものであり、精度よく対応点を探索するための相関ウィンドウのサイズを、簡易に算出することを目的とする。
【課題を解決するための手段】
【０００７】
本発明による距離測定装置は、被写体を撮像することにより取得された、該被写体上の着目点までの距離を算出するための基準画像、および該基準画像を取得した位置とは異なる位置から前記被写体を撮像することにより取得された、前記距離を算出するための少なくとも１つの参照画像の入力を受け付ける入力手段と、
前記基準画像上の着目点が投影された対象点について、該基準画像上の所定方向に延在する、該対象点を中心とする探索画素列であって、該探索画素列内の画素における輝度値の最大値と最小値との差分値が所定輝度間隔を超える探索画素列を設定し、該探索画素列の画素数を、前記対象点に対する前記参照画像上の対応点を探索する際に使用される、前記基準画像および前記参照画像の相関を算出する基準となる相関ウィンドウのサイズに設定するウィンドウサイズ設定手段と、
前記基準画像上に設定された相関ウィンドウ内の各画素と、前記参照画像上に設定された相関ウィンドウ内の各画素との相関を算出することにより、前記対応点を探索する対応点探索手段と、
該探索した対応点に基づいて前記距離を算出する距離算出手段とを備えたことを特徴とするものである。
【０００８】
画像上における輝度変化が大きい場合、画像のエッジ成分であることが多いことから、相関ウィンドウのサイズが小さくても、精度よく相関を算出することができる。また、相関ウィンドウのサイズが小さいと相関算出のための演算量が少なくなる。一方、画像上における輝度変化が小さい場合、画像上の平坦部であることが多いため、相関ウィンドウのサイズを大きくしないと、精度よく相関を算出することができない。
【０００９】
本発明による距離測定装置は、基準画像上の対象点について、基準画像上の所定方向に延在する、対象点を中心とする探索画素列であって、探索画素列内の画素における輝度値の最大値と最小値との差分値が所定輝度間隔を超える探索画素列を設定し、探索画素列の画素数を、対象点に対する参照画像上の対応点を探索する際に使用される、基準画像および参照画像の相関を算出する基準となる相関ウィンドウのサイズに設定するようにしたものである。このため、基準画像上の所定方向において、輝度変化が小さい対象点ほど大きいサイズの相関ウィンドウが設定されることとなり、その結果、輝度の変化量に応じた適切なサイズの相関ウィンドウを設定することができる。また、相関ウィンドウ内の各画素の輝度が必ず所定輝度間隔を有するものとなるため、相関を精度よく算出することができる。したがって、簡易な演算により相関ウィンドウのサイズを適切に設定することができるとともに、対応点探索の精度を向上させることができる。
【００１０】
なお、本発明による距離測定装置においては、前記ウィンドウサイズ設定手段を、初期サイズの前記探索画素列を設定し、該探索画素列内の画素における輝度値の最大値と最小値との差分値を算出し、該差分値が前記所定輝度間隔を超えるか否かを判定し、該判定が否定された場合は前記探索画素列を前記所定方向にあらかじめ定められた画素数分大きくし、前記差分値が前記所定輝度間隔を超えるまで、前記探索画素列を大きくする処理を繰り返す手段としてもよい。
【００１１】
また、本発明による距離測定装置においては、前記所定方向を、前記基準画像の各画素を前記参照画像に写像することにより得られるエピポーラ線が延在する方向に対応する方向としてもよい。
【００１２】
これにより、対応点を探索する方向における輝度の変化を反映させて相関ウィンドウのサイズを設定することができるため、対応点探索の精度をより向上させることができる。
【００１３】
また、本発明による距離測定装置においては、前記ウィンドウサイズ設定手段を、前記基準画像における輝度のばらつきに応じて、前記所定輝度間隔を設定する手段としてもよい。
【００１４】
これにより、基準画像の輝度のばらつきの影響を相関ウィンドウのサイズの設定の処理から除去することができるため、基準画像の輝度のばらつきに影響されることなく、精度よく対応点を探索可能なサイズの相関ウィンドウを設定することができる。
【００１５】
また、本発明による距離測定装置においては、前記ウィンドウサイズ設定手段を、前記対象点の輝度が低いほど前記所定輝度間隔を小さくするように設定する手段としてもよい。
【００１６】
これにより、光ショットノイズのように高い輝度において変動レベルが異なるばらつきの影響を、相関ウィンドウのサイズの設定の処理から除去することができるため、精度よく対応点を探索可能なサイズの相関ウィンドウを設定することができる。
【００１７】
また、本発明による距離測定装置においては、前記対応点探索手段を、前記探索された対応点が誤対応点であるか否かを判定し、誤対応点であると判定された画素については、前記相関ウィンドウのサイズを大きくして再度前記対応点の探索を行う手段としてもよい。
【００１８】
これにより、演算量は多くなるものの、対応点探索の精度を向上させることができる。
【００１９】
また、本発明による距離測定装置においては、前記基準画像の全画素について前記距離を算出するよう前記ウィンドウサイズ設定手段、前記対応点探索手段および前記距離算出手段を制御する制御手段と、
前記基準画像の各画素の距離を画素値とする距離画像を生成する距離画像生成手段とをさらに備えるものとしてもよい。
【００２０】
これにより、精度良く距離画像を生成することができる。
【００２１】
また、本発明による距離測定装置においては、前記対応点探索手段を、同一サイズの前記相関ウィンドウが設定された画素毎に、該相関ウィンドウのサイズが小さい順に、前記対応点をまとめて探索する手段としてもよい。
【００２２】
これにより、対応点を効率よく探索することができる。
【００２３】
また、この場合、前記対応点探索手段を、一のサイズの前記相関ウィンドウを用いて探索された対応点のうち、誤対応となる誤対応点が探索された前記基準画像の画素については、前記相関ウィンドウのサイズを一段階大きくし、該一段階大きいサイズの前記相関ウィンドウが設定された画素とともに前記対応点を探索する手段としてもよい。
【００２４】
これにより、次のサイズの相関ウィンドウを用いた対応点の探索の際に、誤対応点について再度の対応点の探索がなされることから、誤対応点についてのみ単独で対応点の探索を行う必要がなくなるため、誤対応点について効率よく対応点を探索できるとともに、対応点探索の精度を向上させることができる。
【００２５】
また、本発明による距離測定装置においては、前記ウィンドウサイズ設定手段を、前記相関ウィンドウのサイズを所定の複数のサイズ群に分類し、前記各画素の前記相関ウィンドウのサイズを、該各画素について設定した相関ウィンドウのサイズが分類された前記サイズ群における最大サイズに再設定する手段としてもよい。
【００２６】
これにより、効率よく対応点を探索することができる。
【００２７】
本発明による距離測定方法は、被写体を撮像することにより取得された、該被写体上の着目点までの距離を算出するための基準画像、および該基準画像を取得した位置とは異なる位置から前記被写体を撮像することにより取得された、前記距離を算出するための少なくとも１つの参照画像の入力を受け付け、
前記基準画像上の着目点が投影された対象点について、該基準画像上の所定方向に延在する、該対象点を中心とする探索画素列であって、該探索画素列内の画素における輝度値の最大値と最小値との差分値が所定輝度間隔を超える探索画素列を設定し、該探索画素列の画素数を、前記対象点に対する前記参照画像上の対応点を探索する際に使用される、前記基準画像および前記参照画像の相関を算出する基準となる相関ウィンドウのサイズに設定し、
前記基準画像上に設定された相関ウィンドウ内の各画素と、前記参照画像上に設定された相関ウィンドウ内の各画素との相関を算出することにより、前記対応点を探索し、
該探索した対応点に基づいて前記距離を算出することを特徴とするものである。
【００２８】
なお、本発明による距離測定方法をコンピュータに実行させるためのプログラムとして提供してもよい。
【発明を実施するための最良の形態】
【００２９】
以下、図面を参照して本発明の実施形態について説明する。図１は本発明の第１の実施形態による距離測定装置を適用した立体撮像装置１の内部構成を示す概略ブロック図である。図１に示すように第１の実施形態による立体撮像装置１は、２つの撮像部２１Ａ，２１Ｂ、撮像制御部２２、画像処理部２３、圧縮／伸長処理部２４、フレームメモリ２５、メディア制御部２６、内部メモリ２７、および表示制御部２８を備える。
【００３０】
図２は撮像部２１Ａ，２１Ｂの構成を示す図である。図２に示すように、撮像部２１Ａ，２１Ｂは、レンズ１０Ａ，１０Ｂ、絞り１１Ａ，１１Ｂ、シャッタ１２Ａ，１２Ｂ、ＣＣＤ１３Ａ，１３Ｂ、アナログフロントエンド（ＡＦＥ）１４Ａ，１４ＢおよびＡ／Ｄ変換部１５Ａ，１５Ｂをそれぞれ備える。
【００３１】
レンズ１０Ａ，１０Ｂは、被写体に焦点を合わせるためのフォーカスレンズ、ズーム機能を実現するためのズームレンズ等の複数の機能別レンズにより構成され、不図示のレンズ駆動部によりその位置が調整される。なお、本実施形態においては焦点位置は固定されているものとする。
【００３２】
絞り１１Ａ，１１Ｂは、不図示の絞り駆動部により、ＡＥ処理により得られる絞り値データに基づいて絞り径の調整が行われる。なお、本実施形態においては絞り値データは固定されているものとする。
【００３３】
シャッタ１２Ａ，１２Ｂはメカニカルシャッタであり、不図示のシャッタ駆動部により、ＡＥ処理により得られるシャッタスピードに応じて駆動される。なお、本実施形態においてはシャッタスピードは固定されているものとする。
【００３４】
ＣＣＤ１３Ａ，１３Ｂは、多数の受光素子を２次元的に配列した光電面を有しており、被写体光がこの光電面に結像して光電変換されてアナログ撮像信号が取得される。また、ＣＣＤ１３Ａ，１３Ｂの前面にはＲ，Ｇ，Ｂ各色のフィルタが規則的に配列されたカラーフィルタが配設されている。
【００３５】
ＡＦＥ１４Ａ，１４Ｂは、ＣＣＤ１３Ａ，１３Ｂから出力されるアナログ撮像信号に対して、アナログ撮像信号のノイズを除去する処理、およびアナログ撮像信号のゲインを調節する処理（以下アナログ処理とする）を施す。
【００３６】
Ａ／Ｄ変換部１５Ａ，１５Ｂは、ＡＦＥ１４Ａ，１４Ｂによりアナログ処理が施されたアナログ撮像信号をデジタル信号に変換する。なお、撮像部２１Ａ，２１ＢのＣＣＤ１３Ａ，１３Ｂにおいて取得され、デジタル信号に変換されることにより得られる画像データは、画素毎にＲ，Ｇ，Ｂの濃度値を持つＲＡＷデータである。なお、撮像部２１Ａにより取得される画像データにより表される画像を基準画像Ｇ１、撮像部２１Ｂにより取得される画像データにより表される画像を参照画像Ｇ２とする。
【００３７】
撮像制御部２２は、レリーズボタン押下後に撮像の制御を行う。
【００３８】
なお、本実施形態においては、焦点位置、絞り値データおよびシャッタスピードは固定されているが、ＡＦ処理およびＡＥ処理を行って、撮影の都度、焦点位置、絞り値データおよびシャッタスピードを設定するようにしてもよい。この場合、焦点位置、絞り値データおよびシャッタスピードについて基準となる値と、被写体までの距離および撮影環境の明るさに応じて異なる焦点位置、絞り値データおよびシャッタスピードを記録したテーブルを内部メモリ２７に記憶しておき、ＡＦ処理およびＡＥ処理により得られる被写体までの距離および撮影環境の明るさに応じてこのテーブルを参照して、焦点位置、絞り値データおよびシャッタスピードを設定するようにしてもよい。
【００３９】
画像処理部２３は、撮像部２１Ａ，２１Ｂが取得したデジタルの画像データに対して、画像データの感度分布のばらつきおよび光学系の歪みを補正する補正処理を施すとともに、２つの画像を並行化するための並行化処理を施す。これらの処理後の基準画像および参照画像の参照符号を、それぞれＧ１ａ、Ｇ２ａとする。画像処理部２３は、さらに、基準画像Ｇ１ａおよび参照画像Ｇ２ａに対してホワイトバランスを調整する処理、階調補正、シャープネス補正、および色補正等の画像処理を施す。この画像処理により得られる基準画像および参照画像の参照符号を、それぞれＧ１ｂ、Ｇ２ｂとする。
【００４０】
圧縮／伸長処理部２４は、画像処理部２３によって処理が施された基準画像Ｇ１ａ，Ｇ１ｂおよび参照画像Ｇ２ａ，Ｇ２ｂを表す画像データ並びに後述するように生成された距離画像の画像データに対して、例えば、ＪＰＥＧ等の圧縮形式で圧縮処理を行い、画像ファイルを生成する。この画像ファイルには、Ｅｘｉｆフォーマット等に基づいて、撮影日時等の付帯情報が格納されたタグが付加される。
【００４１】
フレームメモリ２５は、撮像部２Ａが取得した距離画像用のデータ、および撮像部２１Ａ，２１Ｂが取得した基準画像Ｇ１および参照画像Ｇ２を表す画像データに対して、前述の画像処理部２３が行う処理を含む各種処理を行う際に使用する作業用メモリである。
【００４２】
メディア制御部２６は、記録メディア２９にアクセスして距離画像等の画像ファイルの書き込みと読み込みの制御を行う。
【００４３】
内部メモリ２７は、ステレオカメラ２において設定される各種定数、およびＣＰＵ３３が実行するプログラム等を記憶する。
【００４４】
表示制御部２８は、フレームメモリ２５に格納された画像データをモニタ２０に表示させたり、記録メディア２９に記録されている画像をモニタ２０に表示させたりするためのものである。
【００４５】
また、立体撮像装置１は、ステレオマッチング部３０、距離画像生成部３１およびウィンドウサイズ設定部３２を備える。
【００４６】
ステレオマッチング部３０は、図３に示すように、基準画像Ｇ１上のある画素Ｑａに写像される実空間上の点は、点Ｑ１，Ｑ２，Ｑ３…というように点Ｏ１からの視線上に連続的に複数存在するため、実空間上の点Ｑ１ ，Ｑ２ ，Ｑ３… 等の写像である直線（エピポーラ線）上に、画素Ｑａに対応する参照画像Ｒ上の画素Ｑａ′が存在するということに基づいて、基準画像Ｇ１と参照画像Ｇ２との対応点を参照画像Ｇ２上において探索する。なお、図３において点Ｏ１は基準カメラとなる撮像部２１Ａの視点、点Ｏ２は参照カメラとなる撮像部２１Ｂの視点である。ここで、視点とは撮像部２１Ａ，２１Ｂの光学系の焦点である。また、点Ｏ１，Ｏ２を結ぶ直線と、基準画像Ｇ１，Ｇ２との交点Ｏ３，Ｏ４がエピポールである。また、対応点の探索は、画像処理が施された基準画像Ｇ１ｂおよび参照画像Ｇ２ｂを用いてもよいが、並行化処理までの処理が施された基準画像Ｇ１ａおよび参照画像Ｇ２ａを用いることが好ましい。以降では、対応点の探索は基準画像Ｇ１ａおよび参照画像Ｇ２ａを用いるものとして説明する。
【００４７】
具体的には、ステレオマッチング部３０は、対応点の探索を行う際に、後述するウィンドウサイズ設定部３２が設定したサイズの相関ウィンドウＷをエピポーラ線に沿って移動し、各移動位置において基準画像Ｇ１ａおよび参照画像Ｇ２ａの相関ウィンドウＷ内の画素についての相関を算出し、参照画像Ｇ２ａ上の相関が最大となる位置における相関ウィンドウＷの中心画素を、基準画像Ｇ１ａ上の画素Ｑａに対応する対応点とする。なお、相関を評価するための相関評価値としては、差分絶対値和および差分２乗和等を用いることができる。この場合、相関評価値が小さいほど、相関が大きいものとなる。
【００４８】
図４は並行化処理後の基準画像および参照画像の位置関係を説明するための図である。図４に示すように、撮像部２１Ａ，２１Ｂにおける基準画像Ｇ１ａおよび参照画像Ｇ２ａが得られる面となる画像面を、撮像部２１Ａ，２１Ｂの光軸とそれぞれ直交し、光軸との交点を原点とする座標系（ｕ，ｖ）、（ｕ′，ｖ′）とする。ここで、並行化処理により撮像部２１Ａ，２１Ｂの光軸は平行となり、２つの画像面は同一平面上にあり、画像面におけるｕ軸およびｕ′軸は同一直線上において同一方向を向くこととなる。また、並行化処理により、参照画像Ｇ２ａ上におけるエピポーラ線は、ｕ′軸に平行なものとなるため、基準画像Ｇ１ａ上におけるｕ軸も、参照画像Ｇ２ａのエピポーラ線の方向と一致することとなる。
【００４９】
ここで、撮像部２１Ａ，２１Ｂの焦点距離をｆ、基線長をｂとする。なお、焦点距離ｆおよび基線長ｂはキャリブレーションパラメータとしてあらかじめ算出されて内部メモリ２７に記憶されている。このとき、３次元空間上における位置（Ｘ，Ｙ，Ｚ）は、撮像部２１Ａの座標系を基準とすると、下記の式（１）〜（３）により表される。
【００５０】
Ｘ＝ｂ・ｕ／（ｕ−ｕ′）      （１）
Ｙ＝ｂ・ｖ／（ｕ−ｕ′）      （２）
Ｚ＝ｂ・ｆ／（ｕ−ｕ′）      （３）
ここでｕ−ｕ′は、撮像部２１Ａ，２１Ｂの画像面上における投影点の横方向のずれ量（視差）である。また、式（３）より、奥行きである距離Ｚは視差に反比例することが分かる。
【００５１】
距離画像生成部３１は、ステレオマッチング部３０が求めた対応点を用いて、上記式（１）〜（３）により、撮像部２１Ａ，２１Ｂから被写体までの距離を算出し、算出された距離をＣＣＤ１３Ｂ，１３Ｃの各画素と対応づけて距離画像Ｄ１を生成する。なお、距離画像Ｄ１の各画素の画素値が撮像部２１Ａ，２１Ｂから被写体までの距離を表すものとなる。生成された距離画像Ｄ１は記録メディア２９に記録される。
【００５２】
ウィンドウサイズ設定部３２は、対応点を探索する際に使用する相関ウィンドウのサイズを設定する。図５は基準画像Ｇ１ａのｕ軸方向のある１ラインにおける輝度のプロファイルを示す図である。本実施形態においては、基準画像Ｇ１ａ上の、参照画像Ｇ２ａのエピポーラ線が延在する方向における輝度の変化に応じて、相関ウィンドウのサイズを設定するものである。ここで、基準画像Ｇ１ａおよび参照画像Ｇ２ａは並行化処理されているため、基準画像Ｇ１ａにおける参照画像Ｇ２ａのエピポーラ線が延在する方向に対応する方向はｕ軸方向となる。
【００５３】
なお、並行化処理前においては、相関ウィンドウのサイズを定める方向は、画像中の画素が並ぶ方向とは一致しない。この場合、相関ウィンドウのサイズを定める方向は、基準画像Ｇ１上における対象画素とエピポールとを結ぶ直線の方向（エピポーラ線が延在する方向）となる。なお、対象画素とエピポールとを結ぶ直線の方向は、並行化処理により画像中の画素が並ぶ方向（基準画像Ｇ１ａ上におけるｕ軸方向）と一致するものとなる。
【００５４】
ウィンドウサイズ設定部３２は、図５に示すように、基準画像Ｇ１ａ上の相関ウィンドウのサイズを設定する対象画素ｕ０について、対象画素ｕ０に設定された相関ウィンドウのｕ軸方向に含まれる画素の輝度の最大値と最小値との差分値が、所定輝度間隔Ｋ０を超えるように、相関ウィンドウのサイズＷを設定するものである。ここで、ウィンドウサイズ設定部３２は、実際には基準画像の左端の画素から順に、相関ウィンドウのサイズを設定する。処理の詳細については後述する。
【００５５】
なお、相関ウィンドウのサイズを定めるための所定輝度間隔については、あらかじめ定められた値を用いてもよいが、基準画像Ｇ１ａの輝度のばらつきに応じて算出するようにしてもよい。ここで、理想的な感度分布補正が行われた場合、輝度変化のない画像の輝度のプロファイルは図６の破線に示すものとなるが、実際には撮像部２１Ａ，２１Ｂの感度のばらつきにより、図６の実線に示すように輝度にばらつきが生じるものとなる。この輝度のばらつきを正規分布と見なした場合の標準偏差をσ１とする。
【００５６】
一方、同一被写体を複数回撮影した場合、すべての画像の画素値が同一となるわけではなく、撮影毎に画素値のばらつき（繰り返しばらつき）が生じる。このばらつきを正規分布と見なした場合の標準偏差をσ２とする。
【００５７】
感度分布を補正した後の基準画像Ｇ１ａの各画素の画素値は、撮像部２１Ａ，２１Ｂの感度のばらつきおよび繰り返しばらつきを原因とするばらつきを有する。このばらつきの標準偏差σ０は、σ０＝√（σ１2＋σ２2）により算出される。ウィンドウサイズ設定部３２は、標準偏差σ０の３σ（＝３×σ０）を相関ウィンドウのサイズを定めるための所定輝度間隔として使用する。
【００５８】
ＣＰＵ３３は、レリーズボタンを含む入力部３４からの信号に応じて立体撮像装置１の各部を制御する。
【００５９】
データバス３５は、立体撮像装置１を構成する各部およびＣＰＵ３３に接続されており、立体撮像装置１における各種データおよび各種情報のやり取りを行う。
【００６０】
次いで、第１の実施形態において行われる処理について説明する。図７は第１の実施形態において行われる処理を示すフローチャートである。なお、ここではレリーズボタンが全押しされて撮像の指示が行われた以降の処理について説明する。
【００６１】
レリーズボタン４が全押しされることによりＣＰＵ３３が処理を開始し、撮像部２１Ａ，２１ＢがＣＰＵ３３からの指示により被写体を撮像し、さらに取得した画像データに画像処理部２３が、補正処理、並行化処理および画像処理を施して基準画像Ｇ１ａ，Ｇ１ｂおよび参照画像Ｇ２ａ，Ｇ２ｂを取得する（ステップＳＴ１）。次いで、ウィンドウサイズ設定部３２が、並行化処理後の基準画像Ｇ１ａの各画素について相関ウィンドウのサイズを設定する（ステップＳＴ２）。
【００６２】
図８は第１の実施形態における相関ウィンドウのサイズの設定処理のフローチャートである。ウィンドウサイズ設定部３２は、まずウィンドウサイズを設定する対象画素を初期位置に設定する（ステップＳＴ１１）。なお、初期位置は基準画像Ｇ１ａの左上隅の画素とする。そして、ウィンドウサイズ設定部３２は、相関ウィンドウのサイズを探索するための探索画素列の画素数Ｎを初期値の３に設定する（ステップＳＴ１２）。この場合、探索画素列の半値幅は１となる。次いで、探索画素列が基準画像Ｇ１ａ内にあるか否かを判定する（ステップＳＴ１３）。ステップＳＴ１３が否定されると、相関ウィンドウのサイズを適切に設定することができないことから、対象画素の相関ウィンドウのサイズをなしに設定し（ステップＳＴ１４）、後述するステップＳＴ１９の処理に進む。ここで、相関ウィンドウのサイズをなしに設定するとは、対象画素について相関ウィンドウのサイズを設定せず、対応点を探索しないことを意味する。
【００６３】
一方、ステップＳＴ１３が肯定されると、探索画素列内の画素における輝度値の最大値と最小値との差分値を算出し（ステップＳＴ１５）、差分値が所定輝度間隔Ｋ０を超えるか否かを判定する（ステップＳＴ１６）。ステップＳＴ１６が否定されると探索画素列画素数Ｎに２を加算し（Ｎ＝Ｎ＋２；ステップＳＴ１７）、ステップＳＴ１３に戻り、ステップＳＴ１３以降の処理を繰り返す。これにより、ステップＳＴ１６が肯定されるまで、図９に示すように探索画素列の画素数Ｎが３，５，７…と２ずつ増加する。なお、半値幅は１ずつ増加することとなる。
【００６４】
ステップＳＴ１６が肯定されると、対象画素の相関ウィンドウのサイズＷを現在の探索画素列の画素数Ｎに設定する（ステップＳＴ１８）。ここで、図９に示すようにＮ＝１１のときに探索画素列内の画素の輝度の最大値と最小値との差分値が所定輝度間隔Ｋ０を超えた場合、相関ウィンドウのサイズＷは１１に設定される。
【００６５】
次いで、ウィンドウサイズ設定部３２は、対象画素が基準画像Ｇ１ａの右端の画素であるか否かを判定し（ステップＳＴ１９）、ステップＳＴ１９が否定されると、対象画素を１画素右の画素に変更し（ステップＳＴ２０）、ステップＳＴ１２に戻り、ステップＳＴ１２以降の処理を繰り返す。
【００６６】
ステップＳＴ１９が肯定されると、対象画素が基準画像Ｇ１ａの最下行にあるか否かを判定する（ステップＳＴ２１）。ステップＳＴ２１が否定されると、対象画素を１ライン下のラインにおける左端の画素に設定し（ステップＳＴ２２）、ステップＳＴ１２に戻り、ステップＳＴ１２以降の処理を繰り返す。ステップＳＴ２１が肯定されると処理を終了する。
【００６７】
図７に戻り、ステップＳＴ２に続いて、ステレオマッチング部３０が、設定したサイズの相関ウィンドウに基づいて対応点を探索し（ステップＳＴ３）、距離画像生成部３１が、探索した対応点に基づいて距離画像Ｄ１を生成する（ステップＳＴ４）。次いで、ＣＰＵ３３からの指示によりメディア制御部２６が距離画像Ｄ１を記録メディア２９に記録し（画像記録：ステップＳＴ５）、処理を終了する。
【００６８】
このように、第１の実施形態によれば、基準画像Ｇ１ａ上のエピポーラ線が延在する方向に対応するｕ軸方向において、輝度変化が小さい画素ほど大きいサイズの相関ウィンドウが設定されるため、基準画像Ｇ１ａの輝度の変化量に応じた適切なサイズの相関ウィンドウを設定することができる。また、相関ウィンドウ内の各画素の輝度が必ず所定輝度間隔を有するものとなる。したがって、簡易な演算により相関ウィンドウのサイズを適切に設定することができるとともに、対応点探索の精度を向上させることができる。
【００６９】
また、エピポーラ線が延在する方向に対応する方向の輝度変化に応じて相関ウィンドウのサイズを設定しているため、参照画像Ｇ２ａにおける対応点を探索する方向における輝度の変化を反映させて相関ウィンドウのサイズを設定することができ、その結果、対応点探索の精度をより向上させることができる。
【００７０】
次いで、本発明の第２の実施形態について説明する。なお、本発明の第２の実施形態による立体撮像装置は、本発明の第１の実施形態による立体撮像装置１と同一の構成を有し、ステレオマッチング部３０およびウィンドウサイズ設定部３２が行う処理のみが異なるため、ここでは構成についての詳細な説明は省略する。
【００７１】
図１０は第２の実施形態において行われる処理を示すフローチャートである。レリーズボタン４が全押しされることによりＣＰＵ３３が処理を開始し、撮像部２１Ａ，２１ＢがＣＰＵ３３からの指示により被写体を撮像し、さらに取得した画像データに画像処理部２３が、補正処理、並行化処理および画像処理を施して基準画像Ｇ１ａ，Ｇ１ｂおよび参照画像Ｇ２ａ，Ｇ２ｂを取得する（ステップＳＴ３１）。次いで、ウィンドウサイズ設定部３２が、並行化処理後の基準画像Ｇ１ａの各画素について相関ウィンドウのサイズを設定する（ステップＳＴ３２）。なお、相関ウィンドウのサイズの設定の処理は上記第１の実施形態と同一であるため、ここでは詳細な説明は省略する。
【００７２】
次いで、ステレオマッチング部３０が、内部メモリ２７に記憶された相関ウィンドウのサイズリストを取り込む（ステップＳＴ３３）。図１１は相関ウィンドウのサイズリストを示す図である。図１１に示すサイズリストＴ０は、実際に算出された相関ウィンドウのサイズと対応点探索に使用する相関ウィンドウのサイズとを対応づけたものであり、算出された相関ウィンドウのサイズを１０または１１画素単位で複数のサイズ群に分類し、使用する相関ウィンドウのサイズが、各サイズ群における最大サイズとなるように作成されている。すなわち、サイズリストＴ０は、算出された相関ウィンドウのサイズが１〜１１画素の場合、使用する相関ウィンドウのサイズが１１画素に、算出された相関ウィンドウのサイズが１２〜２１画素の場合、使用する相関ウィンドウのサイズが２１画素となるように作成されている。
【００７３】
ステレオマッチング部３０は、サイズリストＴ０における最小となる相関ウィンドウのサイズ（対応点探索に使用するもの）を現在の相関ウィンドウのサイズに設定し（現在の相関ウィンドウのサイズ設定；ステップＳＴ３４）、基準画像Ｇ１ａにおいて現在の相関ウィンドウのサイズに対応するサイズ範囲の相関ウィンドウが設定された画素を、対応点探索対象の画素として抽出する（ステップＳＴ３５）。そして、ステレオマッチング部３０は、抽出された画素について、ステップＳＴ３４において設定されたサイズの相関ウィンドウを用いて対応点を探索する（ステップＳＴ３６）。
【００７４】
ここで、ステレオマッチング部３０は、参照画像Ｇ２ａにおける相関が最大となる相関ウィンドウの中心画素を対応点として探索するが、対応点を探索したときの相関の最大値がそれほど大きくない場合、その相関に基づいて探索した対応点は、基準画像Ｇ１ａの対象画素に対応するか否かが疑わしいものである。また、このような対応点を用いた場合、精度よく距離画像Ｄ１を算出することができないおそれがある。
【００７５】
このため、ステレオマッチング部３０は、相関が所定のしきい値Ｔｈ１以下となるか否かを判定することにより、探索した対応点が誤対応点であるか否かの正誤判定を行う（ステップＳＴ３７）。そして、誤対応と判定された基準画像Ｇ１ａ上の画素を抽出し（誤対応の画素抽出；ステップＳＴ３８）、さらに、相関ウィンドウのサイズリストＴ０の「使用する相関ウィンドウのサイズ」に、現在の相関ウィンドウのサイズよりも大きいサイズがあるか否かを判定する（ステップＳＴ３９）。
【００７６】
ステップＳＴ３９が肯定されると、現在の相関ウィンドウのサイズを１つ前の相関ウィンドウのサイズとして記憶するとともに、現在の相関ウィンドウのサイズを、相関ウィンドウのサイズリストＴ０における次に大きいサイズに設定する（相関ウィンドウのサイズ再設定：ステップＳＴ４０）。そして、ステレオマッチング部３０は、基準画像Ｇ１ａにおいて現在の相関ウィンドウのサイズに対応するサイズ範囲の相関ウィンドウが設定された画素、およびステップＳＴ３７の処理において誤対応と判定された画素を、対応点の探索対象の画素として抽出する（探索対象画素再抽出；ステップＳＴ４１）。そして、ステップＳＴ３６に戻り、ステップＳＴ３６以降の処理を繰り返す。
【００７７】
これにより、誤対応と判定された画素は、次に大きいサイズの相関ウィンドウが設定された画素に対する対応点探索の処理に含められることとなる。
【００７８】
一方、ステップＳＴ３９が否定された場合には、距離画像生成部３１が、それまでに探索された対応点（誤対応点を除く）に基づいて距離画像Ｄ１を生成する（ステップＳＴ４２）。そして、ＣＰＵ３３からの指示によりメディア制御部２６が基準画像Ｇ１ａ、参照画像Ｇ２ａおよび距離画像Ｄ１を記録メディア２９に記録し（画像記録：ステップＳＴ４３）、処理を終了する。
【００７９】
このように、同一サイズの相関ウィンドウ毎に対応点を探索することにより、効率よく対応点を探索することができる。
【００８０】
また、誤対応と判定された画素については、相関ウィンドウのサイズを大きくして再度の対応点の探索を行っているため、誤対応となる画素についてのみ単独で対応点の探索を行う必要がなくなり、その結果、誤対応となる画素について、効率よく対応点を探索できるとともに、対応点探索の精度を向上させることができる。
【００８１】
なお、第２の実施形態においては、相関が所定のしきい値Ｔｈ１以下となる画素を誤対応となる画素と判定しているが、対応する画素が並んでいる順序が基準画像Ｇ１ａおよび参照画像Ｇ２ａ上において逆になっている画素、基準画像Ｇ１ａ上において、参照画像Ｇ２ａの複数の画素に対応している画素、および視差が局所的にその周囲と大きく変動している画素を誤対応となる画素として用いるようにしてもよい。
【００８２】
なお、上記第１および第２の実施形態においては、撮像部２１Ａ，２１Ｂを備えた立体撮像装置１に本発明を適用しているが、本発明による距離測定装置をカメラと別体で設けてもよい。
【００８３】
また、上記第１および第２の実施形態においては、距離画像Ｄ１のみを記録メディア２９に記録しているが、基準画像Ｇ１ｂを距離画像Ｄ１とともに記録してもよく、基準画像Ｇ１ｂおよび参照画像Ｇ２ｂを距離画像Ｄ１とともに記録してもよい。また、基準画像Ｇ１ａまたは基準画像Ｇ１ａおよび参照画像Ｇ２ａを距離画像Ｄ１とともに記録してもよく、さらには画像処理部２３における処理前の基準画像Ｇ１または基準画像Ｇ１および参照画像Ｇ２を記録するようにしてもよい。
【００８４】
また、上記第１および第２の実施形態においては、参照画像Ｇ２を取得するための撮像部を１つのみ設けているが、複数設けるようにし、複数の参照画像を取得して距離画像Ｄ１を生成するようにしてもよい。
【００８５】
また、上記第１および第２の実施形態においては、輝度に関係なく所定輝度間隔Ｋ０を一定値としているが、一般的には輝度が大きいほど図１２（ａ）に示すように輝度のばらつきが大きくなる。ここで、輝度と輝度のばらつきとの関係は、例えば図１２（ｂ）に示すように輝度の平方根に比例することとなる。したがって、輝度毎に輝度のばらつきを求め、輝度毎に異なる輝度間隔を設定するようにしてもよい。この場合、輝度が大きいほど、所定輝度間隔Ｋ０は、図１２（ｃ）に示すように輝度の平方根に比例して大きくなる。
【００８６】
このように所定輝度間隔Ｋ０を変更することにより、光ショットノイズのように高い輝度において変動レベルが異なるばらつきの影響を相関ウィンドウのサイズの設定の処理から除去することができるため、より精度よく対応点を探索することができる。
【００８７】
また、上記第１の実施形態においては、対応点を探索する際に、第２の実施形態と同様に対応点が誤対応であるか否かを判定し、誤対応であると判定された場合には、相関ウィンドウのサイズを設定されたサイズよりも大きくして、再度の対応点の探索を行うようにしてもよい。
【００８８】
以上、本発明の実施形態について説明したが、コンピュータを、上記のステレオマッチング部３０、距離画像生成部３１およびウィンドウサイズ設定部３２に対応する手段として機能させ、図７，８，１０に示すような処理を行わせるプログラムも、本発明の実施形態の１つである。また、そのようなプログラムを記録したコンピュータ読取り可能な記録媒体も、本発明の実施形態の１つである。
【図面の簡単な説明】
【００８９】
【図１】本発明の第１の実施形態による距離測定装置を適用した立体撮像装置の内部構成を示す概略ブロック図
【図２】撮像部の構成を示す図
【図３】ステレオマッチングを説明するための図
【図４】並行化処理後の基準画像および参照画像の位置関係を説明するための図
【図５】基準画像におけるｕ軸方向の輝度のプロファイルを示す図
【図６】輝度変化のない画像の輝度のプロファイルを示す図
【図７】第１の実施形態において行われる処理を示すフローチャート
【図８】第１の実施形態における相関ウィンドウのサイズの設定処理のフローチャート
【図９】第１の実施形態における相関ウィンドウのサイズの設定処理を説明するための図
【図１０】第２の実施形態において行われる処理を示すフローチャート
【図１１】相関ウィンドウのサイズリストを示す図
【図１２】基準輝度レベルの間隔の変更を説明するための図
【符号の説明】
【００９０】
１    立体撮像装置
２１Ａ，２１Ｂ    撮像部
３０    ステレオマッチング部
３１    距離測定部
３２    ウィンドウサイズ設定部
【図１】
0005071866.tif 000002
【図２】
0005071866.tif 000003
【図３】
0005071866.tif 000004
【図４】
0005071866.tif 000005
【図５】
0005071866.tif 000006
【図６】
0005071866.tif 000007
【図７】
0005071866.tif 000008
【図８】
0005071866.tif 000009
【図９】
0005071866.tif 000010
【図１０】
0005071866.tif 000011
【図１１】
0005071866.tif 000012
【図１２】
0005071866.tif 000013