(57)【特許請求の範囲】
【請求項１】
互いに異なる位置において被写体を撮影することにより取得した複数の画像に基づいて距離画像生成のための視差を算出する画像処理装置において、
前記複数の画像間における各画素の相関に基づいて、前記複数の画像間において互いに対応する対応点を探索する対応点探索手段と、
前記複数の画像のうちの１つの画像における１つの対象画素について、該１つの画像以外の他の画像に複数の対応点が探索された場合、前記対象画素の周囲にある複数画素についての距離値に基づいて、前記対象画素を通る複数方向に隣接する複数画素と該複数画素のそれぞれの対応点との相関に基づいて決定された、前記対象画素を通る所定方向における被写体形状を表す近似曲線を算出し、前記対象画素と前記複数の対応点のそれぞれとに基づいて、該対象画素についての距離値である対象距離値を前記複数の対応点毎に算出し、前記近似曲線との差異が最も小さい対象距離値を算出した対応点を有効な対応点に決定する対応点決定手段とを備えたことを特徴とする画像処理装置。
【請求項２】
前記対応点決定手段は、前記所定方向に隣接して並ぶ画素について、前記対応点との相関が所定値以上となる画素が、前記近似曲線の算出に必要な必要数あるか否かを判定し、該判定が肯定された場合には前記必要数の画素に基づいて前記近似曲線を算出し、前記判定が否定された場合には該判定が肯定されるまで、該所定方向に隣接する画素にさらに隣接する画素を含めての前記判定を繰り返す手段であることを特徴とする請求項１記載の画像処理装置。
【請求項３】
互いに異なる位置において被写体を撮影することにより取得した複数の画像に基づいて距離画像生成のための視差を算出する画像処理装置において、
前記複数の画像間における各画素の相関に基づいて、前記複数の画像間において互いに対応する対応点を探索する対応点探索手段と、
前記複数の画像のうちの１つの画像における１つの対象画素について、該１つの画像以外の他の画像に複数の対応点が探索された場合、前記対象画素の周囲にある複数画素についての距離値に基づいて、前記対象画素を通る所定方向における被写体形状を表す近似曲線を算出し、該近似曲線を算出するに際し、前記所定方向に隣接して並ぶ画素について、前記対応点との相関が所定値以上となる画素が、前記近似曲線の算出に必要な必要数あるか否かを判定し、該判定が肯定された場合には前記必要数の画素に基づいて前記近似曲線を算出し、前記判定が否定された場合には該判定が肯定されるまで、該所定方向に隣接する画素にさらに隣接する画素を含めての前記判定を繰り返し、前記対象画素と前記複数の対応点のそれぞれとに基づいて、該対象画素についての距離値である対象距離値を前記複数の対応点毎に算出し、前記近似曲線との差異が最も小さい対象距離値を算出した対応点を有効な対応点に決定する対応点決定手段とを備えたことを特徴とする画像処理装置。
【請求項４】
互いに異なる位置において被写体を撮影することにより取得した複数の画像に基づいて距離画像生成のための視差を算出する画像処理方法において、
前記複数の画像間における各画素の相関に基づいて、前記複数の画像間において互いに対応する対応点を探索し、
前記複数の画像のうちの１つの画像における１つの対象画素について、該１つの画像以外の他の画像に複数の対応点が探索された場合、前記対象画素の周囲にある複数画素についての距離値に基づいて、前記対象画素を通る複数方向に隣接する複数画素と該複数画素のそれぞれの対応点との相関に基づいて決定された、前記対象画素を通る所定方向における被写体形状を表す近似曲線を算出し、
前記対象画素と前記複数の対応点のそれぞれとに基づいて、該対象画素についての距離値である対象距離値を前記複数の対応点毎に算出し、
前記近似曲線との差異が最も小さい対象距離値を算出した対応点を有効な対応点に決定することを特徴とする画像処理方法。
【請求項５】
互いに異なる位置において被写体を撮影することにより取得した複数の画像に基づいて距離画像生成のための視差を算出する画像処理方法において、
前記複数の画像間における各画素の相関に基づいて、前記複数の画像間において互いに対応する対応点を探索し、
前記複数の画像のうちの１つの画像における１つの対象画素について、該１つの画像以外の他の画像に複数の対応点が探索された場合、前記対象画素の周囲にある複数画素についての距離値に基づいて、前記対象画素を通る所定方向における被写体形状を表す近似曲線を算出し、
該近似曲線を算出するに際し、前記所定方向に隣接して並ぶ画素について、前記対応点との相関が所定値以上となる画素が、前記近似曲線の算出に必要な必要数あるか否かを判定し、該判定が肯定された場合には前記必要数の画素に基づいて前記近似曲線を算出し、前記判定が否定された場合には該判定が肯定されるまで、該所定方向に隣接する画素にさらに隣接する画素を含めての前記判定を繰り返し、
前記対象画素と前記複数の対応点のそれぞれとに基づいて、該対象画素についての距離値である対象距離値を前記複数の対応点毎に算出し、
前記近似曲線との差異が最も小さい対象距離値を算出した対応点を有効な対応点に決定することを特徴とする画像処理方法。
【請求項６】
互いに異なる位置において被写体を撮影することにより取得した複数の画像に基づいて距離画像生成のための視差を算出する画像処理方法をコンピュータに実行させるためのプログラムにおいて、
前記複数の画像間における各画素の相関に基づいて、前記複数の画像間において互いに対応する対応点を探索する手順と、
前記複数の画像のうちの１つの画像における１つの対象画素について、該１つの画像以外の他の画像に複数の対応点が探索された場合、前記対象画素の周囲にある複数画素についての距離値に基づいて、前記対象画素を通る複数方向に隣接する複数画素と該複数画素のそれぞれの対応点との相関に基づいて決定された、前記対象画素を通る所定方向における被写体形状を表す近似曲線を算出する手順と、
前記対象画素と前記複数の対応点のそれぞれとに基づいて、該対象画素についての距離値である対象距離値を前記複数の対応点毎に算出する手順と、
前記近似曲線との差異が最も小さい対象距離値を算出した対応点を有効な対応点に決定する手順とを有することを特徴とするプログラム。
【請求項７】
互いに異なる位置において被写体を撮影することにより取得した複数の画像に基づいて距離画像生成のための視差を算出する画像処理方法をコンピュータに実行させるためのプログラムにおいて、
前記複数の画像間における各画素の相関に基づいて、前記複数の画像間において互いに対応する対応点を探索する手順と、
前記複数の画像のうちの１つの画像における１つの対象画素について、該１つの画像以外の他の画像に複数の対応点が探索された場合、前記対象画素の周囲にある複数画素についての距離値に基づいて、前記対象画素を通る所定方向における被写体形状を表す近似曲線を算出する手順と、
該近似曲線を算出するに際し、前記所定方向に隣接して並ぶ画素について、前記対応点との相関が所定値以上となる画素が、前記近似曲線の算出に必要な必要数あるか否かを判定し、該判定が肯定された場合には前記必要数の画素に基づいて前記近似曲線を算出し、前記判定が否定された場合には該判定が肯定されるまで、該所定方向に隣接する画素にさらに隣接する画素を含めての前記判定を繰り返す手順と、
前記対象画素と前記複数の対応点のそれぞれとに基づいて、該対象画素についての距離値である対象距離値を前記複数の対応点毎に算出する手順と、
前記近似曲線との差異が最も小さい対象距離値を算出した対応点を有効な対応点に決定する手順とを有することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、被写体の立体形状を表す距離画像を生成するための視差を複数の画像に基づいて算出する画像処理装置および方法並びに画像処理方法をコンピュータに実行させるためのプログラムに関するものである。
【背景技術】
【０００２】
異なる位置に設けられた２台以上のカメラを用いて被写体を撮像し、これにより取得された複数の画像（基準カメラによる基準画像および参照カメラによる参照画像）の間で対応する画素である対応点を探索し（ステレオマッチング）、互いに対応する基準画像上の画素と、参照画像上の画素との位置の差（視差）を算出し、視差に三角測量の原理を適用することにより、基準カメラまたは参照カメラから当該画素に対応する被写体上の点までの距離を計測して、被写体の立体形状を表す距離画像を生成する手法が提案されている。
【０００３】
ここで、ステレオマッチングを行う際には、図３に示すように、基準画像Ｇ１上のある画素Ｐａに写像される実空間上の点は、点Ｐ１，Ｐ２，Ｐ３というように点Ｏ１からの視線上に複数存在するため、実空間上の点Ｐ１ ，Ｐ２ ，Ｐ３ 等の写像である直線（エピポーラ線）上に、画素Ｐａに対応する参照画像Ｇ２上の画素Ｐａ′が存在することに基づいて、画素Ｐａに対応する参照画像Ｇ２上の画素である対応点が探索される。
【０００４】
なお、図３において点Ｏ１は基準画像を取得するカメラの視点、点Ｏ２は参照画像を取得する参照カメラの視点である。ここで、視点とは各カメラの光学系の焦点である。このようにステレオマッチングを行う際には、基準画像上に対応点探索の対象となる画素Ｐａを含む相関ウィンドウＷを設定し、参照画像上において基準画像に設定したものと同一の相関ウィンドウＷをエピポーラ線上に沿って移動し、移動位置毎に各画像上の相関ウィンドウ内の各画素についての相関を算出し、参照画像Ｇ２上における相関が所定のしきい値以上となる相関ウィンドウの中央の位置にある画素を、画素Ｐａの対応点として求めている。なお、基準画像を基準とした場合、参照画像において対応点を探索することとなるが、この場合、参照画像上の画素から見た基準画像上の対応する画素は、参照画像の画素についての対応点と見なすことができる。
【０００５】
ところで、距離画像を生成する被写体は様々なものがあることから、基準画像および参照画像に類似する物体が複数含まれる場合がある。このように類似する物体が画像に複数含まれると、対応点を探索した際に、図５に示すように基準画像Ｇ１上の１つの画素Ｐａに対して、参照画像Ｇ２上における複数（ここでは２つ）の画素Ｐｂ，Ｐｃが対応点として探索される場合がある。このように基準画像Ｇ１上の１つの画素に対して参照画像Ｇ２上に複数の対応点が探索された場合、１つの対応点を視差の算出のための有効な対応点に決定する必要がある。しかしながら、誤った対応点を有効な対応点として選択してしまうと、視差を正しく算出することができない。
【０００６】
このため、１つの画素に対して複数の対応点が探索された場合、最も視差が小さくなる対応点を有効な対応点として選択する手法が提案されている（特許文献１参照）。
【特許文献１】特開２００１−９２９６９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１に記載された手法は１つの対応点を選択することができるものの、最も視差が小さくなる対応点が必ずしも正しい対応点であるとかは限らない。このため、特許文献１に記載された手法によっては視差を正しく算出することができない場合がある。
【０００８】
本発明は上記事情に鑑みなされたものであり、視差に基づいて距離画像を生成する際に、視差を精度良く算出できるようにすることを目的とする。
【課題を解決するための手段】
【０００９】
本発明による画像処理装置は、互いに異なる位置において被写体を撮影することにより取得した複数の画像に基づいて距離画像生成のための視差を算出する画像処理装置において、
前記複数の画像間における各画素の相関に基づいて、前記複数の画像間において互いに対応する対応点を探索する対応点探索手段と、
前記複数の画像のうちの１つの画像における１つの対象画素について、該１つの画像以外の他の画像に複数の対応点が探索された場合、前記対象画素の周囲にある複数画素についての距離値に基づいて前記対象画素およびその周囲における被写体形状を算出し、前記対象画素と前記複数の対応点のそれぞれとに基づいて、該対象画素についての距離値である対象距離値を前記複数の対応点毎に算出し、該被写体形状との差異が最も小さい対象距離値を算出した対応点を有効な対応点に決定する対応点決定手段とを備えたことを特徴とするものである。
【００１０】
「被写体形状」とは、対象画素の周囲にある複数画素についての距離値に基づいて算出するものであるため、対象画素についての距離値は使用しないものとなる。したがって、算出した被写体形状における対象画素の部分は、その周囲の複数画素についての距離値から近似的に求めた距離値を有するものとなる。
【００１１】
なお、本発明による画像処理装置においては、前記対応点決定手段を、前記対象画素を通る所定方向における被写体形状を表す近似曲線を前記被写体形状として算出する手段としてもよい。
【００１２】
ここで、所定方向としては、対象画素を基準とする上下方向、左右方向、左下右上方向および右下左上方向の４方向のうちのいずれかの方向を用いることができる。
【００１３】
また、本発明による画像処理装置においては、前記対応点決定手段を、前記対象画素を通る複数方向に隣接する複数画素と該複数画素のそれぞれの対応点との相関に基づいて、前記所定方向を決定する手段としてもよい。
【００１４】
ここで、複数方向としては、対象画素を基準とする上下方向、左右方向、左下右上方向および右下左上方向の４方向を用いることができる。
【００１５】
また、本発明による画像処理装置においては、前記対応点決定手段を、前記所定方向に隣接して並ぶ画素について、前記対応点との相関が所定値以上となる画素が、前記近似曲線の算出に必要な必要数あるか否かを判定し、該判定が肯定された場合には前記必要数の画素に基づいて近似曲線を算出し、前記判定が否定された場合には該判定が肯定されるまで、該所定方向に隣接する画素にさらに隣接する画素を含めての前記判定を繰り返す手段としてもよい。
【００１６】
本発明による画像処理方法は、互いに異なる位置において被写体を撮影することにより取得した複数の画像に基づいて距離画像生成のための視差を算出する画像処理方法において、
前記複数の画像間における各画素の相関に基づいて、前記複数の画像間において互いに対応する対応点を探索し、
前記複数の画像のうちの１つの画像における１つの対象画素について、該１つの画像以外の他の画像に複数の対応点が探索された場合、前記対象画素の周囲にある複数画素についての距離値に基づいて前記対象画素およびその周囲における被写体形状を算出し、
前記対象画素と前記複数の対応点のそれぞれとに基づいて、該対象画素についての距離値である対象距離値を前記複数の対応点毎に算出し、
該被写体形状との差異が最も小さい対象距離値を算出した対応点を有効な対応点に決定することを特徴とするものである。
【発明の効果】
【００１７】
ある画素（対象画素）の対応点が真の対応点の場合、その対応点に基づいて算出した距離値は、対象画素の周囲における被写体形状とほぼ連続するものとなる。しかしながら、その対応点が真の対応点でないと、その対応点に基づいて算出した距離値は、対象画素の周囲における被写体形状とは大きく異なるものとなる。
【００１８】
本発明による画像処理装置および方法は、複数の画像のうちの１つの画像における１つの対象画素について、１つの画像以外の他の画像に複数の対応点が存在する場合、対象画素の周囲にある複数画素についての距離値に基づいて対象画素およびその周囲における被写体形状を算出し、対象画素と複数の対応点のそれぞれとに基づいて、対象画素についての距離値である対象距離値を複数の対応点毎に算出し、被写体形状との差異が最も小さい対象距離値を算出した対応点を、有効な対応点に決定するようにしたものである。このため、視差の算出に有効な対応点を精度良く決定することができ、これにより、視差ひいては距離値の算出を精度良く行うことができる。
【００１９】
また、対象画像を通る所定方向における被写体形状を表す近似曲線を被写体形状として算出することにより、少ない演算により迅速に有効な対応点を決定することができる。
【００２０】
また、対象画素を通る複数方向に隣接する複数の画素と、複数の画素のそれぞれの対応点との相関に基づいて、近似曲線を算出する所定方向を決定することにより、より相関が大きく距離値の算出精度が高い方向について近似曲線を求めることができるため、有効な対応点をより精度良く決定することができる。
【００２１】
また、所定方向に隣接して並ぶ画素について、対応点との相関が所定値以上となる画素が、近似曲線の算出に必要な必要数あるか否かを判定し、判定が肯定された場合には必要数の画素に基づいて近似曲線を算出し、判定が否定された場合には判定が肯定されるまで、所定方向に隣接する画素にさらに隣接する画素を含めての判定を繰り返すことにより、より相関が大きく距離値の精度が高い画素に基づいて近似曲線を求めることができるため、有効な対応点をより精度良く決定することができる。
【発明を実施するための最良の形態】
【００２２】
以下、図面を参照して本発明の実施形態について説明する。図１は本発明の第１の実施形態による画像処理装置を適用した距離測定装置１の内部構成を示す概略ブロック図である。図１に示すように第１の実施形態による距離測定装置１は、２つの撮像部２１Ａ，２１Ｂ、撮像制御部２２、信号処理部２３、圧縮／伸長処理部２４、フレームメモリ２５、メディア制御部２６、内部メモリ２７、および表示制御部２８を備える。
【００２３】
図２は撮像部２１Ａ，２１Ｂの構成を示す図である。図２に示すように、撮像部２１Ａ，２１Ｂは、レンズ１０Ａ，１０Ｂ、絞り１１Ａ，１１Ｂ、シャッタ１２Ａ，１２Ｂ、ＣＣＤ１３Ａ，１３Ｂ、アナログフロントエンド（ＡＦＥ）１４Ａ，１４ＢおよびＡ／Ｄ変換部１５Ａ，１５Ｂをそれぞれ備える。
【００２４】
レンズ１０Ａ，１０Ｂは、被写体に焦点を合わせるためのフォーカスレンズ、ズーム機能を実現するためのズームレンズ等の複数の機能別レンズにより構成され、不図示のレンズ駆動部によりその位置が調整される。なお、本実施形態においては焦点位置は固定されているものとする。
【００２５】
絞り１１Ａ，１１Ｂは、不図示の絞り駆動部により、ＡＥ処理により得られる絞り値データに基づいて絞り径の調整が行われる。なお、本実施形態においては絞り値データは固定されているものとする。
【００２６】
シャッタ１２Ａ，１２Ｂはメカニカルシャッタであり、不図示のシャッタ駆動部により、ＡＥ処理により得られるシャッタスピードに応じて駆動される。なお、本実施形態においてはシャッタスピードは固定されているものとする。
【００２７】
ＣＣＤ１３Ａ，１３Ｂは、多数の受光素子を２次元的に配列した光電面を有しており、被写体光がこの光電面に結像して光電変換されてアナログ撮像信号が取得される。また、ＣＣＤ１３Ａ，１３Ｂの前面にはＲ，Ｇ，Ｂ各色のフィルタが規則的に配列されたカラーフィルタが配設されている。
【００２８】
ＡＦＥ１４Ａ，１４Ｂは、ＣＣＤ１３Ａ，１３Ｂから出力されるアナログ撮像信号に対して、アナログ撮像信号のノイズを除去する処理、およびアナログ撮像信号のゲインを調節する処理（以下アナログ処理とする）を施す。
【００２９】
Ａ／Ｄ変換部１５Ａ，１５Ｂは、ＡＦＥ１４Ａ，１４Ｂによりアナログ処理が施されたアナログ撮像信号をデジタル信号に変換する。なお、撮像部２１Ａ，２１ＢのＣＣＤ１３Ａ，１３Ｂにおいて取得され、デジタル信号に変換されることにより得られる画像データは、画素毎にＲ，Ｇ，Ｂの濃度値を持つＲＡＷデータである。なお、撮像部２１Ａにより取得される画像データにより表される画像を基準画像Ｇ１、撮像部２１Ｂにより取得される画像データにより表される画像を参照画像Ｇ２とする。
【００３０】
撮像制御部２２は、レリーズボタン押下後に撮像の制御を行う。
【００３１】
なお、本実施形態においては、焦点位置、絞り値データおよびシャッタスピードは固定されているが、ＡＦ処理およびＡＥ処理を行って、撮影の都度、焦点位置、絞り値データおよびシャッタスピードを設定するようにしてもよい。
【００３２】
信号処理部２３は、撮像部２１Ａ，２１Ｂが取得したデジタルの画像データに対して、画像データの感度分布のばらつきおよび光学系の歪みを補正する補正処理を施すとともに、２つの画像を並行化するための並行化処理を施す。さらに、並行化処理後の画像に対してホワイトバランスを調整する処理、階調補正、シャープネス補正、および色補正等の画像処理を施す。なお、信号処理部２３における処理後の基準画像および参照画像についても、処理前の参照符号Ｇ１，Ｇ２を用いるものとする。また、補正処理、並行化処理および画像処理の３つの処理を合わせて信号処理と称するものとする。
【００３３】
圧縮／伸長処理部２４は、信号処理部２３によって処理が施された基準画像Ｇ１および参照画像Ｇ２を表す画像データ対して、例えば、ＪＰＥＧ等の圧縮形式で圧縮処理を施し、後述するように生成された距離画像の画像データと併せて距離画像の画像ファイルを生成する。この画像ファイルは、基準画像Ｇ１、参照画像Ｇ２および距離画像の画像データを含むものとなる。また、この画像ファイルには、Ｅｘｉｆフォーマット等に基づいて、撮影日時等の付帯情報が記述されたヘッダが付与される。
【００３４】
フレームメモリ２５は、撮像部２１Ａ，２１Ｂが取得した基準画像Ｇ１および参照画像Ｇ２を表す画像データに対して、前述の信号処理部２３が行う処理を含む各種処理を行う際に使用する作業用メモリである。
【００３５】
メディア制御部２６は、記録メディア２９にアクセスして距離画像の画像ファイルの書き込みと読み込みの制御を行う。
【００３６】
内部メモリ２７は、距離測定装置１において設定される各種定数、およびＣＰＵ３３が実行するプログラム等を記憶する。
【００３７】
表示制御部２８は、フレームメモリ２５に格納された画像データをモニタ２０に表示させたり、記録メディア２９に記録されている画像をモニタ２０に表示させたりするためのものである。
【００３８】
また、距離測定装置１は、ステレオマッチング部３０、距離画像生成部３１および対応点決定部３２を備える。
【００３９】
ステレオマッチング部３０は、図３に示すように、基準画像Ｇ１上のある画素Ｐａに写像される実空間上の点は、点Ｐ１，Ｐ２，Ｐ３というように点Ｏ１からの視線上に複数存在するため、実空間上の点Ｐ１ ，Ｐ２ ，Ｐ３ 等の写像である直線（エピポーラ線）上に、画素Ｐａに対応する参照画像Ｒ上の画素Ｐａ′が存在するという事実に基づいて、基準画像Ｇ１と参照画像Ｇ２との対応点を参照画像Ｇ２上において探索する。なお、図３において点Ｏ１は基準カメラとなる撮像部２１Ａの視点、点Ｏ２は参照カメラとなる撮像部２１Ｂの視点である。ここで、視点とは撮像部２１Ａ，２１Ｂの光学系の焦点である。また、対応点の探索は、信号処理のうちの画像処理が施された基準画像Ｇ１および参照画像Ｇ２を用いてもよいが、画像処理前の補正処理および並行化処理のみが施された基準画像Ｇ１および参照画像Ｇ２を用いることが好ましい。以降では、対応点の探索は画像処理前の基準画像Ｇ１および参照画像Ｇ２を用いるものとして説明する。
【００４０】
具体的には、ステレオマッチング部３０は、対応点の探索を行う際に、あらかじめ定められた相関ウィンドウＷをエピポーラ線に沿って移動し、各移動位置において基準画像Ｇ１および参照画像Ｇ２の相関ウィンドウＷ内の画素についての相関を算出し、参照画像Ｇ２上の相関が所定のしきい値以上となる位置における相関ウィンドウＷの中心画素を、基準画像Ｇ１上の画素Ｐａに対応する対応点とする。なお、相関を評価するための相関評価値としては、差分絶対値和および差分２乗和の逆数等を用いることができる。この場合、相関評価値が小さいほど、相関が大きいものとなる。また、参照画像Ｇ２上の画素と対応する基準画像Ｇ１上の画素については、参照画像Ｇ２の画素から見た対応点となる。本実施形態においては、いずれの場合も対応点と称するものとする。
【００４１】
図４は並行化処理後の基準画像および参照画像の位置関係を説明するための図である。図４に示すように、撮像部２１Ａ，２１Ｂにおける基準画像Ｇ１および参照画像Ｇ２が得られる面となる画像面は、撮像部２１Ａ，２１Ｂの光軸との交点を原点とする。また、画像面上における撮像部２１Ａ，２１Ｂの座標系をそれぞれ（ｕ，ｖ）、（ｕ′，ｖ′）とする。ここで、並行化処理により撮像部２１Ａ，２１Ｂの光軸は平行となるため、画像面におけるｕ軸およびｕ′軸は同一直線上において同一方向を向くこととなる。また、並行化処理により、参照画像Ｇ２上におけるエピポーラ線は、ｕ′軸に平行なものとなるため、基準画像Ｇ１上におけるｕ軸も、参照画像Ｇ２のエピポーラ線の方向と一致することとなる。
【００４２】
ここで、撮像部２１Ａ，２１Ｂの焦点距離をｆ、基線長をｂとする。なお、焦点距離ｆおよび基線長ｂはキャリブレーションパラメータとしてあらかじめ算出されて内部メモリ２７に記憶されている。このとき、３次元空間上における位置（Ｘ，Ｙ，Ｚ）は、撮像部２１Ａの座標系を基準とすると、下記の式（１）〜（３）により表される。
【００４３】
Ｘ＝ｂ・ｕ／（ｕ−ｕ′）      （１）
Ｙ＝ｂ・ｖ／（ｕ−ｕ′）      （２）
Ｚ＝ｂ・ｆ／（ｕ−ｕ′）      （３）
ここでｕ−ｕ′は、撮像部２１Ａ，２１Ｂの画像面上における投影点の横方向のずれ量（視差）である。また、式（３）より、奥行きである距離Ｚは視差に反比例することが分かる。なお、このようにして算出したＸ，Ｙ，Ｚを距離値とする。また、距離値Ｘ，Ｙはその画素の位置を表す位置情報であり、距離値Ｚは距離すなわち奥行き情報である。なお、距離値Ｘ，Ｙ，Ｚは基準画像Ｇ１および参照画像Ｇ２の共通する範囲においてのみ算出される。このため、後の処理を容易に行うために、距離値Ｘ，Ｙ，Ｚについては、撮像部２１Ａの座標系から、撮像部２１Ａ，２１Ｂそれぞれの画像面の原点の中間位置を原点とする座標系に変換することとする。以降では、座標系は撮像部２１Ａ，２１Ｂのそれぞれの画像面の原点の中間位置を原点とするものとして説明する。
【００４４】
距離画像生成部３１は、ステレオマッチング部３０が求めた対応点を用いて、視差（ｕ−ｕ′）を算出するとともに、上記式（１）〜（３）により撮像部２１Ａ，２１Ｂから被写体までの距離を表す距離値Ｘ，Ｙ，Ｚを算出し、算出した距離値Ｘ，Ｙ，Ｚを各画像の画素値とする距離画像の画像データを生成する。なお、距離画像の各画素の距離値Ｚが撮像部２１Ａ，２１Ｂから被写体までの距離を表すものとなる。
【００４５】
なお、上記第１の実施形態においては、エピポーラ線に沿って相関ウィンドウＷを移動して対応点を探索しているが、まずエピポーラ線に沿って相関ウィンドウＷを移動して対応点を探索した後、探索した対応点を基準とした所定範囲内の領域において、エピポーラ線の方向とは関係なく相関ウィンドウＷを移動してさらに相関を算出し、より相関が大きい対応点を探索するようにしてもよい。さらに、エピポーラ線を全く考慮することなく、対応点を探索するようにしてもよい。
【００４６】
ところで、距離画像を生成する被写体は様々なものがあることから、基準画像および参照画像に類似する物体が複数含まれる場合がある。このように類似する物体が画像に複数含まれると、対応点を探索した際に、図５に示すように基準画像Ｇ１上の１つの画素Ｐａに対して、参照画像Ｇ２上における複数（ここでは２つ）の画素Ｐｂ，Ｐｃが対応点として探索される場合がある。このように基準画像Ｇ１上の１つの画素に対して参照画像Ｇ２上に複数の対応点が探索された場合、１つの対応点を視差の算出のための有効な対応点に決定する必要がある。しかしながら、誤った対応点を有効な対応点として選択してしまうと、視差を正しく算出することができない。
【００４７】
第１の実施形態においては、ステレオマッチング部３０において、基準画像Ｇ１上の１つの画素に対して参照画像Ｇ２上に複数の対応点が探索された場合、対応点決定部３２が有効な対応点を決定するようにしたものである。なお、対応点決定部３２は、近似曲線算出部４０、対象距離値算出部４１および決定部４２を備える。近似曲線算出部４０、対象距離値算出部４１および決定部４２が行う処理については後述する。
【００４８】
ＣＰＵ３３は、レリーズボタンを含む入出力部３４からの信号に応じて距離測定装置１の各部を制御する。
【００４９】
データバス３５は、距離測定装置１を構成する各部およびＣＰＵ３３に接続されており、距離測定装置１における各種データおよび各種情報のやり取りを行う。
【００５０】
次いで、第１の実施形態において行われる処理について説明する。図６は第１の実施形態において行われる処理を示すフローチャートである。なお、ここでは、レリーズボタンが全押しされて撮像の指示が行われた以降の処理について説明する。
【００５１】
レリーズボタンが全押しされることによりＣＰＵ３３が処理を開始し、撮像部２１Ａ，２１ＢがＣＰＵ３３からの指示により被写体を撮影し（ステップＳＴ１）、さらに信号処理部２３が、取得した画像データに対して補正処理、並行化処理および画像処理（信号処理）を施して基準画像Ｇ１および参照画像Ｇ２を取得し（ステップＳＴ２）、ステレオマッチング部３０が基準画像Ｇ１の各画素に対応する参照画像Ｇ２上の対応点を探索する（ステップＳＴ３）。次いで、対応点決定部３２が有効な対応点を決定する処理である対応点決定処理を行う（ステップＳＴ４）。
【００５２】
図７は第１の実施形態における対応点決定処理のフローチャートである。なお、ここでは、基準画像Ｇ１における左上隅の画素から順に対応点を決定する処理を行うものとして説明する。また、画素位置は基準画像Ｇ１上において２次元となるが、説明を簡単にするために１次元で示すものとする。対応点決定部３２は、対応点決定処理の対象となる対象画素を最初の画素に設定し（ｉ＝１、ｉは基準画像上の画素の位置、ステップＳＴ１１）、対象画素に複数の対応点が探索されたか否かを判定する（ステップＳＴ１２）。ステップＳＴ１２が否定されると、探索された対応点は１つであることからその対応点を有効な対応点に決定し（ステップＳＴ１３）、ステップＳＴ２６の処理に進む。
【００５３】
ステップＳＴ１２が肯定されると、対応点決定部３２は、対象画素を中心とする上下方向、左右方向、左下右上方向および右下左上方向の４方向の少なくとも１つの方向に隣接する画素について、有効な対応点が決定されているか否かを判定する（第１の判定：ステップＳＴ１４）。すなわち、図８に示すように対象画素Ａについて、上下方向に隣接する画素Ｂ１，Ｂ１′、左右方向に隣接する画素Ｂ２，Ｂ２′、左下右上方向に隣接する画素Ｂ３，Ｂ３′および右下左上方向に隣接する画素Ｂ４，Ｂ４′について、少なくとも１つの方向に有効な対応点が決定されているか否かを判定する。
【００５４】
ステップＳＴ１４が否定されると、第１の判定を行った回数が所定回数（例えば１０回）となったか否かを判定する（ステップＳＴ１５）。ステップＳＴ１５が否定されると、有効な対応点が決定されていない方向について、第１の判定の対象をさらに外側に隣接する画素に変更し（ステップＳＴ１６）、ステップＳＴ１４に戻る。すなわち、有効な対応点が決定されていない方向が図８に示す上下方向である場合、判定の対象を対象画素Ａの上下方向に隣接する画素Ｂ１，Ｂ１′のさらに外側に隣接する画素Ｃ１，Ｃ１′に変更する。また、左右方向の場合は対象画素Ａの左右方向に隣接する画素Ｂ２，Ｂ２′のさらに外側に隣接する画素Ｃ２，Ｃ２′に、左下右上方向の場合は対象画素Ａの左下右上方向に隣接する画素Ｂ３，Ｂ３′のさらに外側に隣接する画素Ｃ３，Ｃ３′に、右下左上方向の場合は対象画素Ａの右下左上方向に隣接する画素Ｂ４，Ｂ４′のさらに外側に隣接する画素Ｃ４，Ｃ４′に判定の対象を変更する。これにより、有効な対応点が決定された画素が上記４方向のうちの少なくとも１つの方向において見つかるまでステップＳＴ１４〜ＳＴ１６の処理が繰り返される。
【００５５】
なお、ステップＳＴ１５が肯定された場合は、対象画素について有効な対応点を決定することができないことから、対象画素を対応点欠落画素に設定し（ステップＳＴ１７）、後述するステップＳＴ２６の処理に進む。なお、対応点欠落画素については、距離値は算出されないこととなる。
【００５６】
ステップＳＴ１４が肯定されると、有効な対応点が決定されている方向に隣接する画素の組について、その画素の組について対応点を探索した際の相関が最も大きい画素の組を選択する（ステップＳＴ１８）。例えば、対応画素を通る４方向のすべてに隣接する画素について有効な対応点が決定されている場合、図８に示す４つの画素の組（Ｂ１，Ｂ１′）、（Ｂ２，Ｂ２′）、（Ｂ３，Ｂ３′）、（Ｂ４，Ｂ４′）のうち、対応点を探索した際に算出した各画素の相関の和が最も大きい（すなわち相関評価値の和が最も小さい）画素の組の方向を選択する。なお、有効な対応点が決定されている方向が１つのみの場合には、その方向が選択される。
【００５７】
次いで、対応点決定部３２は、対象画素における選択した方向に隣接して並ぶ画素について、対応点を探索した際の相関がしきい値Ｔｈ１以上となる画素が、後述する近似曲線を算出するために必要な数あるか否かを判定する（第２の判定：ステップＳＴ１９）。なお、近似曲線を算出するために必要な画素数としては、例えば４を用いることができるが、これに限定されるものではない。ステップＳＴ１９が否定されると、選択した方向について、対象画素のさらに外側に隣接する画素をステップＳＴ１９の第２の判定の対象に含めるように変更し（ステップＳＴ２０）、ステップＳＴ１９に戻る。
【００５８】
ステップＳＴ１９が肯定されると、対応点決定部３２の近似曲線算出部４０が、選択した方向における近似曲線を算出するために必要な数の画素について距離値Ｚｊ（ｊは近似曲線算出に必要な画素数）を算出し（ステップＳＴ２１）、算出した距離値Ｚｊにより対象画素およびその周囲における被写体形状を表す近似曲線を算出する（ステップＳＴ２２）。また、対象距離値算出部４１が、対象画素とこれに対応する複数の対応点のそれぞれとから、対象画素についての距離値である対象距離値Ｚｋを対応点毎に算出する（ｋは対応点の数）（ステップＳＴ２３）。例えば、対象画素に対応する対応点が２つある場合、２つの対象距離値Ｚ１，Ｚ２を算出する。
【００５９】
次いで、対応点決定部３２の決定部４２が、近似曲線における対象画素に対応する距離値Ｚｒと、各対象距離値Ｚｋとの差の絶対値を算出し（ステップＳＴ２４）、差の絶対値が最小となる対象距離値Ｚｋを算出した対応点を有効な対応点に決定する（ステップＳＴ２５）。
【００６０】
すなわち、図９に示すように対象画素の周囲の４つの画素を用いて近似曲線Ｌ１を算出した場合において、２つの対象距離値Ｚ１，Ｚ２が図９に示すように算出された場合、対象画素における距離値Ｚｒと対象距離値Ｚ１，Ｚ２との差を比較すると、対象距離値Ｚ１との差の方が小さいことから、対象距離値Ｚ１を算出した対応点を有効な対応点に決定する。
【００６１】
そして、対応点決定部３２は、すべての画素について有効な対応点を決定したか否かを判定し（ステップＳＴ２６）、ステップＳＴ２６が否定されると、対象画素を次の画素に変更して（ステップＳＴ２７）、ステップＳＴ１２に戻る。ステップＳＴ２６が肯定されると、対応点決定処理を終了する。
【００６２】
図６に戻り、距離画像生成部３１が有効な対応点に基づいて、距離値Ｘ，Ｙ，Ｚを算出する（ステップＳＴ５）。そして、圧縮／伸長処理部２４が、基準画像Ｇ１および参照画像Ｇ２の画像データ並びに距離値からなる距離画像の画像データを含む距離画像の画像ファイルを生成する（ステップＳＴ６）。そして、ＣＰＵ３３からの指示によりメディア制御部２６が画像ファイルを記録メディア２９に記録し（ステップＳＴ７）、処理を終了する。
【００６３】
ここで、対象画素の対応点が真の対応点の場合、その対応点に基づいて算出した距離値は、対象画素の周囲における被写体形状とほぼ連続するものとなる。しかしながら、その対応点が真の対応点でないと、その対応点に基づいて算出した距離値は、対象画素の周囲における被写体形状とは大きく異なるものとなる。
【００６４】
第１の実施形態においては、基準画像Ｇ１における１つの対象画素について、参照画像Ｇ２に複数の対応点が探索された場合、対象画素の周囲にある複数画素についての距離値に基づいて対象画素およびその周囲における被写体形状を表す近似曲線を算出し、対象画素と複数の対応点のそれぞれとに基づいて、対象画素についての距離値である対象距離値を複数の対応点毎に算出し、近似曲線との差異が最も小さい対象距離値を算出した対応点を、有効な対応点に決定するようにしたものである。このため、視差の算出に有効な対応点を精度良く決定することができ、これにより、視差ひいては距離値の算出を精度良く行うことができる。
【００６５】
また、対象画像を通る所定方向における近似曲線を被写体形状として算出することにより、少ない演算により迅速に有効な対応点を決定することができる。
【００６６】
また、対象画素を通る複数方向に隣接する複数の画素と、複数の画素のそれぞれの対応点との相関に基づいて、近似曲線を算出する方向を決定することにより、より相関が大きく距離値の算出精度が高い方向について近似曲線を算出することができるため、有効な対応点をより精度良く決定することができる。
【００６７】
また、近似曲線を算出する方向に隣接して並ぶ画素について、対応点との相関がしきい値Ｔｈ１以上となる画素が、近似曲線の算出に必要な必要数あるか否かを判定し、判定が肯定された場合には必要数の画素に基づいて近似曲線を算出し、判定が否定された場合には判定が肯定されるまで、近似曲線を算出する方向に隣接する画素にさらに隣接する画素を含めての判定を繰り返すことにより、より相関が大きく距離値の精度が高い画素に基づいて近似曲線を算出することができるため、有効な対応点をより精度良く決定することができる。
【００６８】
次いで、本発明の第２の実施形態について説明する。なお、第２の実施形態による画像処理装置を適用した距離測定装置の構成は、上記第１の実施形態における距離測定装置の構成と同一であり、対応点決定部３２が行う処理のみが異なるため、ここでは構成についての詳細な説明は省略する。
【００６９】
第２の実施形態においては、対応点決定処理において、第２の判定の処理を行わないようにした点が第１の実施形態と異なる。
【００７０】
次いで、第２の実施形態において行われる処理について説明する。図１０は第２の実施形態における対応点決定処理のフローチャートである。なお、ここでは、基準画像Ｇ１における左上隅の画素から順に対応点を選択する処理を行うものとして説明する。また、画素位置は基準画像Ｇ１上において２次元となるが、説明を簡単にするために１次元で示すものとする。対応点決定部３２は、対応点決定処理の対象となる対象画素を最初の画素に設定し（ｉ＝１、ｉは基準画像上の画素の位置、ステップＳＴ３１）、対象画素に複数の対応点が探索されたか否かを判定する（ステップＳＴ３２）。ステップＳＴ３２が否定されると、探索された対応点は１つであることからその対応点を有効な対応点に決定し（ステップＳＴ３３）、ステップＳＴ４４の処理に進む。
【００７１】
ステップＳＴ３２が肯定されると、対応点決定部３２は、対象画素を中心とする上下方向、左右方向、左下右上方向および右下左上方向の４方向の少なくとも１つの方向に隣接する画素について、有効な対応点が決定されているか否かを判定する（第１の判定：ステップＳＴ３４）。
【００７２】
ステップＳＴ３４が否定されると、第１の判定を行った回数が所定回数（例えば１０回）となったか否かを判定し（ステップＳＴ３５）、ステップＳＴ３５が否定されると、有効な対応点が決定されていない方向について、第１の判定の対象をさらに外側に隣接する画素に変更し（ステップＳＴ３６）、ステップＳＴ３４に戻る。これにより、有効な対応点が決定された画素が上記４方向のうちの少なくとも１つの方向において見つかるまでステップＳＴ３４〜ＳＴ３６の処理が繰り返される。
【００７３】
なお、ステップＳＴ３５が肯定された場合は、対象画素について有効な対応点を決定することができないことから、対象画素を対応点欠落画素に設定し（ステップＳＴ３７）、後述するステップＳＴ４４の処理に進む。
【００７４】
ステップＳＴ３４が肯定されると、有効な対応点が決定されている方向に隣接する画素の組について、その画素の組について対応点を探索した際の相関が最も大きい画素の組を選択する（ステップＳＴ３８）。なお、有効な対応点が決定されている方向が１つのみの場合には、その方向が選択される。
【００７５】
次いで、対応点決定部３２の近似曲線算出部４０が、選択した方向における近似曲線を算出するために必要な数の画素について距離値Ｚｊ（ｊは近似曲線算出に必要な画素数）を算出し（ステップＳＴ３９）、算出した距離値Ｚｊにより対象画素およびその周囲における被写体形状を表す近似曲線を算出する（ステップＳＴ４０）。また、対象距離値算出部４１が、対象画素とこれに対応する複数の対応点のそれぞれとから、対象画素についての距離値である対象距離値Ｚｋを対応点毎に算出する（ｋは対応点の数）（ステップＳＴ４１）。例えば、対象画素に対応する対応点が２つある場合、２つの対象距離値Ｚ１，Ｚ２を算出する。
【００７６】
次いで、対応点決定部３２の決定部４２が、近似曲線における対象画素に対応する距離値Ｚｒと、各対象距離値Ｚｋとの差の絶対値を算出し（ステップＳＴ４２）、差の絶対値が最小となる対象距離値Ｚｋを算出した対応点を有効な対応点に決定する（ステップＳＴ４３）。
【００７７】
そして、対応点決定部３２は、すべての画素について有効な対応点を決定したか否かを判定し（ステップＳＴ４４）、ステップＳＴ４４が否定されると、対象画素を次の画素に変更して（ステップＳＴ４５）、ステップＳＴ３２に戻る。ステップＳＴ４４が肯定されると、対応点決定処理を終了する。
【００７８】
このように、第２の実施形態においては、第１の実施形態よりも若干精度は落ちるものの、有効な対応点を精度よく決定することができる。
【００７９】
なお、上記第１および第２の実施形態においては、対象画素を通る４方向のうち１つの方向を選択して近似曲線を算出しているが、あらかじめ近似曲線を算出する方向を定めておくようにしてもよい。これにより、精度は若干落ちるものの近似曲線の算出を高速に行うことができる。
【００８０】
また、上記第１および第２の実施形態においては、対象画素を通る１つの方向について近似曲線を算出しているが、対象画素を通る所定範囲の複数の画素における距離値を用いて、対象画素およびその周囲の被写体形状を表す近似曲面を算出し、近似曲面と対象距離値との差に基づいて有効な対応点を決定するようにしてもよい。
【００８１】
なお、上記第１および第２の実施形態においては、距離測定装置１内において対応点の探索、対応点の決定および距離画像の生成を行っているが、ステレオマッチング部３０、距離画像生成部３１および対応点決定部３２からなる画像処理装置を装置１外に設け、入出力部３４から基準画像Ｇ１および参照画像Ｇ２の画像データを外部の画像処理装置に出力して、対応点の探索、対応点の決定および距離画像の生成を行うようにしてもよい。
【００８２】
また、上記第１および第２の実施形態においては、距離測定装置１において撮像部２１Ａ，２１Ｂにより取得した基準画像Ｇ１および参照画像Ｇ２を用いて距離画像を生成しているが、撮像部２１Ａ，２１Ｂを距離測定装置１とは別個に設け、撮像部２１Ａ，２１Ｂが取得した基準画像Ｇ１および参照画像Ｇ２を距離測定装置に入力し、入力された基準画像Ｇ１および参照画像Ｇ２を用いて距離画像を生成するようにしてもよい。
【００８３】
また、上記第１および第２の実施形態においては、距離測定装置１に２つの撮像部を設け、基準画像Ｇ１および参照画像Ｇ２の２つの画像を用いて距離画像を生成しているが、３以上の撮像部を設け、２以上の参照画像を用いて距離画像を生成する場合にも本発明を適用することができる。
【００８４】
以上、本発明の実施形態について説明したが、コンピュータを、上記のステレオマッチング部３０、距離画像生成部３１および対応点決定部３２に対応する手段として機能させ、図６，７，１０に示すような処理を行わせるプログラムも、本発明の実施形態の１つである。また、そのようなプログラムを記録したコンピュータ読取り可能な記録媒体も、本発明の実施形態の１つである。
【図面の簡単な説明】
【００８５】
【図１】本発明の第１の実施形態による画像処理装置を適用した距離測定装置の内部構成を示す概略ブロック図
【図２】撮像部の構成を示す図
【図３】ステレオマッチングを説明するための図
【図４】並行化処理後の基準画像および参照画像の位置関係を説明するための図
【図５】基準画像上の１つの画素について、参照画像上における２つの画素が対応点として探索された状態を示す図
【図６】第１の実施形態において行われる処理を示すフローチャート
【図７】第１の実施形態における対応点決定処理のフローチャート
【図８】対象画素の周囲の画素を示す図
【図９】対応点の決定を説明するための図
【図１０】第２の実施形態における対応点決定処理のフローチャート
【符号の説明】
【００８６】
１    距離測定装置
２１Ａ，２１Ｂ    撮像部
３０    ステレオマッチング部
３１    距離画像生成部
３２    対応点決定部
４０    近似曲線算出部
４１    対処距離値算出部
４２    決定部
【図１】
0004886716.tif 000002
【図２】
0004886716.tif 000003
【図３】
0004886716.tif 000004
【図４】
0004886716.tif 000005
【図５】
0004886716.tif 000006
【図６】
0004886716.tif 000007
【図７】
0004886716.tif 000008
【図８】
0004886716.tif 000009
【図９】
0004886716.tif 000010
【図１０】
0004886716.tif 000011