(57)【特許請求の範囲】
【請求項１】
基準画像と参照画像とを取得する画像入力部と、
前記基準画像に含まれる画素ごとに、前記基準画像に設定される基準ウィンドウと、前記基準ウィンドウに対応して前記参照画像に設定される参照ウィンドウと、の間の非類似性を示すウィンドウコストを算出するウィンドウコスト計算処理部と、
前記基準画像に含まれる画素ごとに、前記基準画像に含まれる所定の画素から隣接する画素の順に、前記参照画像に含まれる画素との視差ごとの評価値を算出する評価値計算処理部と、
前記基準画像に含まれる画素ごとに、前記評価値に基づいて、前記参照画像に含まれる画素のうち前記基準画像に含まれる画素に対応する対応点を判定する対応点判定部と、
を有してなり、
前記評価値計算処理部は、算出対象の画素の視差ごとの評価値を、前記算出対象の画素に隣接する直前の算出対象の画素の視差ごとの評価値のうち最小の評価値に対応する直前最適視差と同じ視差の評価値から順に算出する、
ことを特徴とするステレオマッチング装置。
【請求項２】
前記算出対象の画素の視差ごとの評価値は、前記直前最適視差との絶対差が小さい視差の評価値から順に算出される、
請求項１記載のステレオマッチング装置。
【請求項３】
前記対応点判定部は、前記参照画像に含まれる画素のうち、前記算出対象の画素の視差ごとの評価値のうち最小の評価値となる視差に対応する画素を、前記対応点として判定する、
請求項１または２記載のステレオマッチング装置。
【請求項４】
前記評価値計算処理部は、前記算出対象の画素の視差ごとの評価値を、
前記直前最適視差と同じ視差の評価値の算出用の漸化式と、
前記直前最適視差と異なる視差の評価値の算出用の漸化式と、
を用いて、算出する、
請求項１乃至３のいずれかに記載のステレオマッチング装置。
【請求項５】
前記直前最適視差と異なる視差の評価値の算出用の漸化式には、
前記直前最適視差より小さい視差の評価値の算出用の漸化式と、
前記直前最適視差より大きい視差の評価値の算出用の漸化式と、
が含まれる、
請求項４記載のステレオマッチング装置。
【請求項６】
前記直前最適視差と同じ視差の評価値の算出用の漸化式には、視差の不連続に対するペナルティが含まれる、
請求項４または５記載のステレオマッチング装置。
【請求項７】
前記直前最適視差と異なる視差の評価値の算出用の漸化式には、視差の不連続に対するペナルティと、隠れに対するペナルティと、が含まれる、
請求項４乃至６のいずれかに記載のステレオマッチング装置。
【請求項８】
コンピュータを、請求項１から７のいずれかに記載のステレオマッチング装置として機能させることを特徴とするステレオマッチングプログラム。
【請求項９】
基準画像と参照画像とが記憶されるステレオ画像記憶手段を備えたステレオマッチング装置により実行されるステレオマッチング方法であって、
前記ステレオマッチング装置が、
前記基準画像と前記参照画像とを前記ステレオ画像記憶手段より取得するステップと、
前記基準画像に含まれる画素ごとに、前記基準画像に設定される基準ウィンドウと、前記基準ウィンドウに対応して前記参照画像に設定される参照ウィンドウと、の間の非類似性を示すウィンドウコストを算出するステップと、
前記基準画像に含まれる画素ごとに、前記基準画像に含まれる所定の画素から隣接する画素の順に、前記参照画像に含まれる画素との視差ごとの評価値を算出するステップと、
前記基準画像に含まれる画素ごとに、前記評価値に基づいて、前記参照画像に含まれる画素のうち前記基準画像に含まれる画素に対応する対応点を判定するステップと、
を有してなり、
算出対象の画素の視差ごとの評価値は、前記算出対象の画素に隣接する直前の算出対象の画素の視差ごとの評価値のうち最小の評価値に対応する直前最適視差と同じ視差の評価値から順に算出される、
ことを特徴とするステレオマッチング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ステレオマッチング処理に関するものである。
【背景技術】
【０００２】
従来、同一の対象物（被写体）を２台のカメラ（画像取得手段）で撮影し、得られた２枚の画像同士の対応点を求めて、カメラから対象物までの距離を計測する距離計測システムが知られている。
【０００３】
図１は、距離計測システムの構成例を示す模式図である。同システムは、同一の対象物ＯＢＪを撮影する基準カメラＣＬと参照カメラＣＲと、各カメラが撮影した画像から対象物ＯＢＪまでの距離（奥行き情報）を出力するコンピュータＣＯＭとを備える。ここで、対象物とはカメラが撮影した画像に写っているものであり、同図では建物とその背景とが対象物ＯＢＪを構成している。基準カメラＣＬにより撮影された画像は、ケーブルＣＢＬによってコンピュータＣＯＭに転送されて、基準画像ＰＬとして記憶される。参照カメラＣＲより撮影された画像は、ケーブルＣＢＲによってコンピュータに転送されて、参照画像ＰＲとして記憶される。
【０００４】
ここで、以降の説明においては、基準カメラＣＬと参照カメラＣＲの組をステレオカメラという。また、基準画像ＰＬと参照画像ＰＲの組をステレオ画像という。
【０００５】
基準カメラＣＬと参照カメラＣＲは、撮影する位置が異なる。ただし、各カメラのピントや絞り、感度などの特性は等しくなるよう調整されることが望ましい。基準カメラＣＬと参照カメラＣＲは、平行ステレオカメラとなるように配置される。平行ステレオカメラとは、２台のカメラの光軸が互いに平行であり、かつ、撮像面が同一平面上にあって水平方向に整列されたステレオカメラである。
【０００６】
なお、各カメラの配置は左右が逆であっても、水平方向ではなく垂直方向に整列して配置してもよい。また、画像の平行化が可能なように両方のカメラを校正すれば、平行でないステレオカメラであってもよい。
【０００７】
ここで、以降の説明においては、説明の便宜上、視線方向に向かって左側に配置されるカメラを基準カメラＣＬ、右側に配置されるカメラを参照カメラＣＲとする。
【０００８】
コンピュータＣＯＭは、ステレオマッチング装置と記憶装置と出力装置を備える。ステレオマッチング装置は、ステレオ画像から対応点を探索する処理を行い、奥行き情報を算出する。記憶装置は、カメラで撮影されたステレオ画像、およびステレオマッチング装置が計算した奥行き情報を記憶する。出力装置は、奥行き情報に基づいて対象物ＯＢＪを立体的に表示するディスプレイである。
【０００９】
なお、出力装置は、立体視可能な媒体や立体物の印刷装置、奥行き情報に基づく制御が可能な装置（ロボット、玩具、情報端末、交通輸送機、検品装置）であってもよい。
【００１０】
ここで、ステレオ計測について説明する。
図２は、ステレオ計測の原理を示す模式図である。同図に示されるように、３次元空間中の点Ｐは、ステレオ画像に投影され、点Ｐ０および点Ｐ１をもたらす。基準カメラＣＬと参照カメラＣＲの位置が異なるため、基準画像ＰＬと参照画像ＰＲに投影された点の２次元座標は一致することはなく、各カメラＣＬ，ＣＲから点Ｐまでの距離に応じて２次元座標の「ずれ」を生じる。この「ずれ」の大きさを視差という。なお、同図に示された対象物ＯＢＪには、建物の背景の図示が省略されている。
【００１１】
計測前の点Ｐの３次元座標は未知であるため、その視差もまた未知である。ステレオカメラによる計測は、画像処理を用いてステレオ画像から視差を獲得することにより達せられる。基準画像ＰＬ上の点Ｐ０に対応する点Ｐ１を参照画像ＣＲから精度良く求めるほど、より正確に点Ｐの３次元座標を計測することが可能となる。
【００１２】
なお、以降の説明においては、視差と３次元座標を区別する必要がないとき、これらを単に奥行き情報という。
【００１３】
コンピュータＣＯＭのオペレータまたはコンピュータＣＯＭは、ステレオカメラに２枚の画像ＰＬ，ＰＲの撮影を指示する。撮影された画像はデジタル化されて、コンピュータＣＯＭへと転送される。ステレオ画像が入力されると、コンピュータＣＯＭは、基準画像ＰＬ上の点Ｐ０に対応する点Ｐ１を参照画像ＰＲから探索する。これを対応点探索という。点Ｐの視差が確定すると、三角測量の原理により、基準カメラＣＬのカメラ中心Ｏ０と参照カメラＣＲのカメラ中心Ｏ１、および、基準画像ＰＬ中の点Ｐ０と参照画像ＰＲの点Ｐ１から３次元空間中の点Ｐの３次元座標が直ちに求まる。
【００１４】
以上説明した処理を基準画像ＰＬ上の各画素についてくり返すことにより、ステレオカメラによって撮影された対象物ＯＢＪに関する奥行き情報を獲得することができる。コンピュータＣＯＭは、得られた奥行き情報に基づいてディスプレイに対象物ＯＢＪを立体的に表示し、あるいは、他の出力装置に奥行き情報を転送する。
【００１５】
次に、ステレオ相関法について説明する。
ステレオ相関法は、基準画像ＰＬ上の画素ごとに、対応する点を参照画像ＰＲより探索する。平行ステレオカメラによって撮影すると、一方の画像上のある１点に対する、他方の画像上での対応点は、上下位置が同一の走査線上に存在することが知られている。走査線とは、画像上に水平に並んだ画素の列である。すなわち、基準画像ＰＬ上にある１点に対して対応点を求めるためには、参照画像ＰＲ上のただ１行の走査線を探索すればよい。
【００１６】
なお、平行ステレオカメラではない２台のカメラによって撮影が行われた場合でも、あらかじめ校正され基準カメラＣＬと参照カメラＣＲの相対的な位置・姿勢関係および特性が既知であれば、平行化と呼ばれる画像変換によって同様の対応点探索が可能となる。
【００１７】
図３は、ウィンドウコストと対応点の関係を示す模式図である。図３（ａ）に示すように、対応点の探索は、基準画像ＰＬ上に設けた小領域（図中、注目画素の周囲に示された太線で囲まれた領域）と、参照画像ＰＲ上に設けた小領域（図中、対応点の周囲に示された太線で囲まれた領域）とを比較する。これらの小領域をウィンドウという。基準画像ＰＬ上の注目した点（注目画素）に対して、その近傍にウィンドウを設ける。参照画像ＰＲの走査線上に並んでいる対応点候補それぞれの近傍にウィンドウを設ける。
【００１８】
ウィンドウ内に写る像を用いて、注目画素と各対応点候補との非類似性を数値化する。この非類似性の指標をウィンドウコストという。ウィンドウコストは、基準画像ＰＬに含まれる画素と参照画像ＰＲに含まれる画素との非類似性を表す。ウィンドウコストには、輝度の差の絶対値の総和などを用いる。
【００１９】
縦軸にウィンドウコストＣ、横軸に対応点候補の視差ｄをとってグラフ化すると、理想的な場合におけるウィンドウコストは、図３（ｂ）に示すように類似性が最も高い候補においてピークを示す曲線を描く。
【００２０】
したがって、最も単純な対応点の探索方法は、画素ごとにウィンドウコストが最小値となる視差を求めることである。しかし、局所的な輝度の比較にのみ頼る探索方法は、しばしば誤対応をまねき、奥行き情報に突発的なノイズをもたらす。
【００２１】
次に、走査線最適化法について説明する。
図４は、従来の走査線最適化法（scanline optimization）の概念を示す概念図である。同図に示されるように、従来の走査線最適化法は、走査線を単位として、各画素の対応点を決定する手法である（例えば「非特許文献１」参照）。図中の太線の枠は、１回の最適化により視差の組み合わせが求まる画素列である。破線の矢印は、解を求める画素の計算順序を表す。座標軸ｕ，ｖは、それぞれ基準画像ＰＬの水平座標と垂直座標に対応する。矢印の順に、各画素における対応点候補の評価値を計算する。評価値は、注目画素と対応点との非類似性および奥行きの不連続性を同時に表す。
【００２２】
この方法によれば、一般に物体表面は連続するという期待が視差の組み合わせに反映されるため、奥行き情報の突発的なノイズが軽減される。
【００２３】
走査線最適化法は、動的計画法の原理に基づいて、走査線ごとに視差の組み合わせの最適解を求める。基準画像ＰＬの幅をＬとしたとき、基準画像ＰＬのある１行について１列目からＬ列目までの最適な視差の組み合わせを求める問題を、いくつかの部分問題に分解する。この場合の部分問題とは、１列目からＬ−１列目までの組み合わせの問題、１列目からＬ−２列目までの組み合わせの問題、以下同様に続いて、最後は１列目の最適な視差を求める問題を指す。そして１列目から順番に部分解を得ていくことによって、全体の最適解を得る手法である。
【００２４】
視差の組み合わせの評価値は、漸化式に基づいて効率的に求めることができる。そして、漸化式の計算結果を最小にする視差の組み合わせが解となる。漸化式は、隣り合う画素同士の視差変化が小さいほど、かつ、ウィンドウコストの合計が小さいほど、値が小さくなるように定義する。
【００２５】
ここで、走査線最適化法のアルゴリズムについて具体例を用いて説明する。
図５は、１つの走査線を１次元画像と見なして、横に水平座標、縦に視差をとったウィンドウコスト配列である。説明を単純化するため、画像の幅は３画素、視差の探索範囲も３画素とする。マス目の中の数値は、対応点候補との非類似性を表すウィンドウコストの例である。
【００２６】
各列から視差を１つずつ選び、それらのウィンドウコストの合計を最小化したい。ただし、隣り合う２列の視差が異なる場合は、その組み合わせのたびに、ウィンドウコストの合計にペナルティとして１を加える。視差が同じならペナルティは０である。問題は、最適な視差の組み合わせを効率よく求める方法である。
【００２７】
ウィンドウコスト配列とペナルティの系が探索空間となる。視差の組み合わせを全探索すると、画像サイズと探索範囲に応じて計算量が指数関数的に増大する。しかし、計算の段階が順序づけ可能であり、かつ、いずれの段階の探索空間も前の段階の計算結果によって変化しなければ、探索空間の同一部分は解が変化しないので再計算する必要がない。走査線最適化法は、画像の水平座標によって計算の段階を順序づけて、各段階の部分解を記録しながら、最適な組み合わせを効率良く探索する。
【００２８】
図６は、図５に示したウィンドウコスト配列の例に対する走査線最適化法の計算過程をグラフ表現で表したものである。円は計算の段階であり、円内の数値はその段階の評価値を、円外の数値の組はウィンドウコスト配列の列座標と視差を表す。矢印は、段階間の計算順序を示す。矢印線の数値は、両端の視差の組み合わせによる評価値の増分量であり、矢印の先のウィンドウコストにペナルティを加算したものである。終了段階の最適解は、１〜３列目の解の最小値より求まる。１〜３列目の解は、矢印線で結ばれている１〜２列目の評価値と増分量の和の最小値である。１〜２列目の解も同様であり、１列目の解はウィンドウコストそのものとなる。なお、計算の開始段階の評価値は、０である。
【００２９】
以上説明した処理により、終了段階において評価値が最小となる視差の組み合わせが求まる。図６の太線で示される計算順序は、最適解を得るまでの履歴である。この例で求まった、最適な視差の組み合わせは、１列目から順に０、０、２となる。
【００３０】
次に、別の従来技術である準大域的マッチング（semi-global matching）について説明する。
【００３１】
従来の準大域的マッチングは、走査線最適化法よりも計算が効率的である。すなわち、視差の探索範囲がＤのとき、走査線最適化法は計算の段階ごとにＤ×Ｄ通りの組み合わせの計算を必要とする。それに対して準大域的マッチングは、Ｄ×４通りとなる。この４通りの内訳は、直前の計算の段階と同じ視差、直前の計算の段階の視差より１つ大きい視差、直前の計算の段階の視差より１つ小さい視差、および、直前の計算の段階における評価値が最小の視差、である。
【００３２】
準大域的マッチングは、評価値の計算と同時に最小値も探索することができるので、最小値を求めるためのくり返し処理は必要ない。これにより、準大域的マッチングでは計算オーダーが１つ減じて、走査線最適化法より高速にマッチング処理を実現することができる。
【００３３】
図７は、図５に示したウィンドウコスト配列の例に対して、準大域的マッチングを紙面左から右へ１方向に適用した場合の準大域的マッチングの計算過程をグラフ表現で表したものである。図６に示した走査線最適化法と比較すると、両者の解は同じとなるが、準大域的マッチングでは図７の破線で示す計算手順が不要となる。
【００３４】
このように視差の組み合わせの数を制限しても、準大域的マッチングは奥行きのエッジを保存する効果を失わない。仮に、視差の組み合わせを、直前の計算の段階と同じ視差、直前の計算の段階の視差よりも１つ大きい視差、直前の計算の段階の視差よりも１つ小さい視差、の３通りに限ると、算出される奥行きは平滑化されてしまう。すなわち、奥行きに大きな段差が存在する計測対象であっても、視差の変化がわずかずつに限定されるため、段差の角を面取りするような効果を及ぼして奥行きのエッジが不鮮明になってしまう。
【００３５】
しかし、準大域的マッチングは、視差の組み合わせの選択肢に最小評価値の視差を加えることで、急激な視差の変化を許容し、鮮明な奥行きエッジを保存することができる。
【００３６】
なお、準大域的マッチングは、走査線最適化法とは異なり、漸化式の計算を進める方向が走査線方向に限られず、例えば、８ないし１６方向の直線的な画像の走査が提案されている（例えば「非特許文献２」参照）。準大域的マッチングにおいて、どの画素を通り、どの方向へ走査したとしても、図５に示したウィンドウコスト配列と同様の２次元のウィンドウコスト配列を作成することができる。
【００３７】
図８は、カメラからコンピュータへ入力されるステレオ画像の例である。図９は、従来の準大域的マッチングによって求めた奥行き情報であり、準大域的マッチングにおける問題点の例を示している。
【００３８】
従来の準大域的マッチングは、奥行きエッジの保存と計算の効率化とを両立する。その一方で、計算を効率化しなければ防ぐことが可能であった誤対応を発生させる場合がある。図８のステレオ画像に写る屋根の棟と軒先は、ステレオカメラの左右の光学中心を結ぶ線と平行に、すなわち、視差の探索方向に類似したパターンがくり返されている。図９は、１画素ごとに８方向から準大域的マッチングによって視差を求めた結果を示している。従来の準大域的マッチングは、図８に示した例のような、変化に乏しいくり返しパターンにおいて誤対応を誘発しやすい。
【００３９】
この問題は、くり返しパターンにおける、正しい対応点の評価値と誤った対応点の評価値とで差がつきにくいことに起因する。奥行きエッジの対応点とくり返しパターンの誤対応は、周囲の対応点と視差が大きく変化する点で共通する。しかし正しい対応点が明確な場合は正しい視差に拮抗する評価値が他に存在しないが、くり返しパターンの場合は互いに拮抗し合う評価値が複数の視差に存在する。
【００４０】
よって、この問題に対する直観的な解法は、走査線最適化法のように画素ごとにすべての視差の組み合わせを調べて、視差の絶対差の大きさに比例するペナルティを、評価値に加算することである。しかし、準大域的マッチングは、絶対差が１以内の３つの視差、および、直前の計算の段階で最小であった評価値の視差の４通りに限られるので、ペナルティにそれ以上の変化を加えることはできない。一方、評価値に加えるペナルティを視差の変化の大きさに比例させると、従来の準大域的マッチングよりも計算オーダーが増加して走査線最適化法と同等となり、計算に要する時間を増大させる。
【先行技術文献】
【特許文献】
【００４１】
【非特許文献１】D. Scharstein and R. Szeliski, A taxonomy and evaluation of dense two-frame stereo correspondence algorithms, International Journal of Computer Vision, Vol.47, p. 7−42, 2002.
【非特許文献２】Hirschmuller, H., Accurate and Efficient Stereo Processing by Semi-Global Matching and Mutual Information, Proceeding of 2005 IEEE Conference on Computer Vision and Pattern Recognition, Vol.2, p. 807−814, 2005.
【発明の概要】
【発明が解決しようとする課題】
【００４２】
本発明は、以上のような従来技術の問題点を解消するためになされたもので、ステレオマッチングの精度を向上することができる、ステレオマッチング装置とステレオマッチングプログラムとステレオマッチング方法を提供することを目的とする。
【課題を解決するための手段】
【００４３】
本発明は、基準画像と参照画像とを取得する画像入力部と、基準画像に含まれる画素ごとに、基準画像に設定される基準ウィンドウと、基準ウィンドウに対応して参照画像に設定される参照ウィンドウと、の間の非類似性を示すウィンドウコストを算出するウィンドウコスト計算処理部と、基準画像に含まれる画素ごとに、基準画像に含まれる所定の画素から隣接する画素の順に、参照画像に含まれる画素との視差ごとの評価値を算出する評価値計算処理部と、基準画像に含まれる画素ごとに、評価値に基づいて、参照画像に含まれる画素のうち基準画像に含まれる画素に対応する対応点を判定する対応点判定部と、を有してなり、評価値計算処理部は、算出対象の画素の視差ごとの評価値を、算出対象の画素に隣接する直前の算出対象の画素の視差ごとの評価値のうち最小の評価値に対応する直前最適視差と同じ視差の評価値から順に算出する、ことを特徴とする。
【発明の効果】
【００４４】
本発明によれば、ステレオマッチングの精度を向上することができる。
【図面の簡単な説明】
【００４５】
【図１】距離計測システムの構成例を示す模式図である。
【図２】ステレオ計測の原理を示す模式図である。
【図３】ウィンドウコストと対応点の関係を示す模式図である。
【図４】従来の走査線最適化法の概念を示す概念図である。
【図５】１次元画像におけるウィンドウコストの配列例を示す模式図である。
【図６】従来の走査線最適化法の計算過程を示す模式図である。
【図７】従来の準大域的マッチングの計算過程を示す模式図である。
【図８】ステレオ画像の例である。
【図９】従来技術の問題点を示す模式図である。
【図１０】本発明にかかるステレオマッチング装置の実施の形態を示すブロック図である。
【図１１】ウィンドウコストの配列の概念を示す概念図である。
【図１２】本発明において、視差の変化が１より大きいときの評価値の算出順序を示す模式図である。
【図１３】本発明において、評価値の算出方法の場合分けの例を示す模式図である。
【図１４】本発明において、基準カメラから見た隠れの点の例を示す模式図である。
【図１５】本発明にかかるステレオマッチング方法の実施の形態を示すフローチャートである。
【図１６】上記フローチャート中の評価値の計算処理の例を示すフローチャートである。
【図１７】本発明による効果を示す模式図である。
【発明を実施するための形態】
【００４６】
以下、本発明にかかるステレオマッチング装置とステレオマッチングプログラムとステレオマッチング方法の実施の形態について、図面を参照しながら説明する。
【００４７】
図１０は、本発明にかかるステレオマッチング装置（以下「本装置」という。）の実施の形態を示すブロック図である。
【００４８】
●本装置
本装置１は、画像入力部２、ステレオ画像記憶手段３、ウィンドウコスト計算処理部４、評価値計算処理部５、対応点判定部６、視差記憶手段７、立体表示手段８を有してなる。
【００４９】
画像入力部２は、基準カメラＣＬと参照カメラＣＲとが撮影した対象物の画像を取得する手段である。
【００５０】
ステレオ画像記憶手段３は、画像入力部２により取得されたステレオ画像が記憶される手段である。
【００５１】
ウィンドウコスト計算処理部４は、ステレオ画像記憶手段３に記憶されているステレオ画像を取得して（読み出して）、ウィンドウコストを算出する手段である。ウィンドウコストとその算出方法については、後述する。
【００５２】
評価値計算処理部５は、評価値を算出する手段である。評価値とその算出方法については、後述する。
【００５３】
対応点判定部６は、対応点を判定する手段である。対応点とその判定方法については、後述する。
【００５４】
視差記憶手段７は、本装置１が出力する視差を記憶する手段である。
【００５５】
立体表示手段８は、画像入力部２が取得した対象物の画像と、視差記憶手段７に記憶された視差と、に基づいて、対象物を立体的に表示する手段である。
【００５６】
さらに、本装置１は、ステレオ画像記憶手段３とは別に、後述する本発明にかかるステレオマッチング方法（以下「本方法」という。）を実行するために必要な情報を記憶する不図示の記憶手段を備えている。
【００５７】
ここで、本装置１は、パーソナルコンピュータなどの情報処理装置により実現される。後述する本方法は、本装置１で動作する本発明にかかるステレオマッチングプログラム（以下「本プログラム」という。）が本装置１を構成するハードウェア資源と協働することで、本装置１により実行される。
【００５８】
なお、本装置１とは別の情報処理装置で本プログラムを動作させることで、同情報処理装置を本装置１と同様に機能させて、本方法を実行させることができる。
【００５９】
また、図１０に示した構成に代えて、本装置が、画像入力部２やステレオ画像記憶手段３を備えていなくてもよく、この場合、ウィンドウコスト計算処理部４は本装置の外部の記憶手段に記憶されているステレオ画像を読み出して取得する構成となる。
【００６０】
さらに、図１０に示した構成に代えて、本装置が、視差記憶手段７や立体表示手段８を備えていなくてもよい。
【００６１】
●ウィンドウコスト
ウィンドウコストとその算出方法について説明する。
ウィンドウコストは、基準画像に含まれる各画素の、各対応点候補について求める。基準画像の注目画素の２次元座標を（ｕ，ｖ）とする。基準画像には、図３に示したように（ｕ，ｖ）を中心としてウィンドウ（基準ウィンドウ）を設ける。また、対応点候補となる視差の画素について、参照画像の座標（ｕ−ｄ，ｖ）を中心に、基準ウィンドウに対応するウィンドウ（参照ウィンドウ）を設ける。
【００６２】
ここで、基準ウィンドウと参照ウィンドウのウィンドウサイズ（ウィンドウの面積）は同一であり、そのサイズは、あらかじめ決められている。
【００６３】
基準画像と参照画像のウィンドウの組について、ウィンドウコストＣ（ｐ，ｄ）を次の計算式によって求める。なお、基準画像における注目画素の座標をｐ＝（ｕ，ｖ）、参照画像に対する視差をｄ、基準画像の画素の輝度をＩＬ、参照画像の画素の輝度をＩＲ、画素ｐを中心とする１画素以上の領域をＷｐで表す。
【００６４】
【数１】
0006411188.tif 000002
【００６５】
上記の式によって定義されるウィンドウコストは、一般にSAD（Sum of Absolute Differences）として知られる。
【００６６】
なお、本発明において用いるウィンドウコストは、ウィンドウ間の非類似性を表す指標であればよく、SSD（Sum of Squared Differences）、あるいは、NCC（Normalized Cross-Correlation）の符号を反転した値など、他の公知の技術を用いてもよい。
【００６７】
ウィンドウコストの計算は、基準画像のすべての画素についてくり返す。
図１１は、１組のステレオ画像から求まるウィンドウコストの概念図である。ウィンドウコストは、３次元の配列として表現することができる。図中のｕ，ｖは、それぞれ基準画像の水平座標と垂直座標に対応し、その解像度によって値のとり得る範囲が定まる。ｄは視差を表していて、ｄがとり得る値の範囲は視差の探索範囲としてあらかじめ設定されている。基準画像の注目画素に対して、視差に応じて、参照画像上に対応点候補が定義される。１つの対応点候補から１つのウィンドウコストが求まり、図中の格子１つに割り当てられる。ウィンドウコストの数値が大きいほど、注目画素と対応点候補が類似しないことを表す。
【００６８】
●評価値
評価値とその算出方法について説明する。
評価値は、先に説明したウィンドウコストを用いて、基準画像に含まれる画素ごとに、所定の画素から隣接する画素の順に、参照画像に含まれる画素との視差ごとに算出される。
【００６９】
本発明では、視差の変化の大きさに比例して評価値を増大させるために、同一の画像座標の異なる視差同士を、視差の組み合わせに加える。例として、直前に計算した画像座標から視差が２つ小さくなる変化は、直接的に隣接画素の２つ小さい視差への変化を評価値の計算に加えるのではなく、図１２のａからａ’のように同じ画像座標で１つ小さい視差への変化を２回くり返す。図１２のｂからｂ’のように、視差が大きくなる場合についても同様である。これらの場合について、評価値の計算において、再帰的な計算が可能なように漸化式を定義する。この方法によれば、視差の探索範囲の大きさによらず、計算の各段階における組み合わせの数が一定になるので、効率よく評価値を計算することができる。
【００７０】
また、本発明では、視差の評価値を計算するために、後述の３つの漸化式を用いる。これら３つの漸化式を計算するための順序は、評価値の算出対象の画像座標と、視差と、すべての視差について計算が完了した画像座標における評価値が最小となる視差、の３つを用いて定義する。
【００７１】
ここで、画像座標は、水平座標あるいは垂直座標に限らず、１次元的に走査できる任意の画素列に対するインデックスとする。また、すべての視差について計算が完了した画素の中で、その時点で直前の画像座標における最小の評価値を、以降の説明では「直前の最適値」と呼ぶ。
【００７２】
３つの漸化式を計算するための順序は、まず、画像座標に基づいて定める。この順序は任意の連続する座標であり、例えば、従来技術と同様に水平座標の順序であってもよい。
【００７３】
画像座標が同じ場合には、視差に基づいて順序を定める。この順序を次のように定める。なお、以降の説明では、同一の画像座標における順序が先頭の視差を「始点」と呼ぶ。
【００７４】
始点は、直前の最適値の視差（以下「直前最適視差」という。）と同じ視差とする。２番目以降の順序は、始点に基づく。まず始点との大小関係、次に始点との絶対差によって、順序を定める。
【００７５】
始点との大小関係による順序は、始点より小さい視差を前、より大きい視差を後とする。これは逆であってもよく、あるいは一定でなく交互であってもよいが、一定である方がより望ましい。始点との絶対差による順序は、始点に対する視差の絶対差の昇順とする。大小関係による順序は、絶対差による順序に優先することがより望ましい。
【００７６】
例として図１３の太線で示した点の順序は、昇順で点Ａ、Ｂ、Ｃとなる。図中の丸印は、直前最適視差である。ここで、画像座標は、紙面左から右へ走査するものとする。したがって、点Ａが始点となる。点Ｂは始点より視差が小さく、点Ｃは始点より大きいので、順序はＢがＣより若くなる。始点との視差の絶対差より、点Ｂは同じ画像座標で点Ｂより上に位置するどの点よりも順序が若くなる。点Ｃも同様に、同じ画像座標で点Ｃより下に位置するどの点よりも順序が若くなる。
【００７７】
ここで、評価値の算出に用いられる３つの漸化式について説明する。
評価値は、基準画像に含まれる画素ごとに、すべての視差について算出されるが、評価値の計算は、３つに場合分けされる。第一に始点の視差の評価値を、各画素の最初に求める。始点は画像座標の走査で直前に走査した画素の、最小評価値の視差Ｏｐ＋ｒとする。第二に始点より１つ小さい視差から最小視差まで、始点との絶対差の昇順で評価値を計算する。第三に始点より１つ大きい視差から最大視差まで、始点との絶対差の昇順で評価値を計算する。この３つによって場合分けされる、画像座標がｐで視差がｄの点の評価値Ｓ（ｐ，ｄ）の計算は、下記の漸化式によって表される。
【００７８】
【数２】
0006411188.tif 000003
【００７９】
このように、算出対象の画素の視差ごとの評価値の算出用の漸化式には、直前最適視差と同じ視差の評価値の算出用の漸化式と、直前最適視差と異なる視差の評価値の算出用の漸化式と、がある。また、直前最適視差と異なる視差の評価値の算出用の漸化式には、直前最適視差より小さい視差の評価値の算出用の漸化式と、直前最適視差より大きい視差の評価値の算出用の漸化式と、がある。
【００８０】
ここで、数式２中のｒは走査順序が１つ前（直前）の画素への相対座標であり、Ｄは視差の探索範囲（Ｄ＝｛ｄ｜Ｄｍｉｎ≦ｄ≦Ｄｍａｘ｝であり、Ｗ１は視差の不連続に対するペナルティであり、Ｗ２は後述する隠れに対するペナルティである。また、評価値の初期値は、評価値の算出対象の点のウィンドウコストである。なお、Ｏｐは、画素ｐごとに評価値が最小となる視差であり、下記の式により算出される。
【００８１】
【数３】
0006411188.tif 000004
【００８２】
本発明においては、計算の段階ごとに３つの漸化式から１つを選択する。図１３の矢印線は、ある漸化式によって矢印の先の点の評価値を計算するとき、矢印の元の点の評価値が用いられることを示す。点Ａを指す３つの矢印は、３つの漸化式のうちの１つを表す。点Ｂと点Ｃを指す矢印のそれぞれは、残り２つの漸化式を表す。
【００８３】
点Ｂは、これから計算する評価値の画像座標と、その計算に用いる評価値の画像座標と、が同じとなる。しかし、前述の順序づけによって、参照される点の評価値が常に計算済みとなるため、点Ｂの評価値の計算は可能となる。点Ｃについても同様である。
【００８４】
同じ画像座標の異なる視差の点同士は、基準カメラＣＬから見て隠れの関係となる。図１４は、隠れの関係にある点の例を示す模式図である。図中、点Ｐｐが対象物ＯＢＪの表面だとすると、点Ｐｑ，Ｐｒ，Ｐｓは基準カメラＣＬから見て点Ｐｐに隠れてしまうため、基準カメラＣＬには写らない。このように、基準カメラＣＬに写らない点Ｐｑ，Ｐｒ，Ｐｓを、基準カメラＣＬから見た隠れの点という。
【００８５】
隣接する画像座標の視差が１より大きく変化するとき、隠れの点の評価値は累積する。隠れの点が多いほど累積する値も大きくなるので、視差の変化の大きさに比例して評価値が大きくなる効果がもたらされる。
【００８６】
本発明においては、画像座標を走査する順序は問わない。よって、例えば、走査線最適化法（非特許文献１）と同様に左から右へ、上から下へラスタスキャンしてもよいし、準大域的マッチング（非特許文献２）のように複数かつ任意の方向へ直線的に画像を走査してもよい。また、他の従来技術（例えば、Stereo Correspondence by Dynamic Programming on a Tree, 0. Veksler, Proceedings of IEEE Conference on Computer Vision and Pattern Recognition, Vol.2, pp.384-390,2005.）と同様に、画像を何らかの木構造で表現して、木を深さ優先、幅優先、その他の手段で走査してもよい。
【００８７】
なお、画像座標上で複数の方向へ走査する場合、あるいは走査する過程が枝分かれする場合は、計算の過程でそれぞれの評価値を合計し、評価値Ｓ（ｐ，ｄ）に置き換えてもよい。
【００８８】
●対応点の判定
評価値を算出すると、対応点の判定が可能となる。すなわち、以上説明した計算方法により算出された評価値Ｓ（ｐ，ｄ）を、視差の探索範囲Ｄにおいて最小とする視差を、注目画素ｐの最適な視差ｄｐとして採用する。つまり、最適な視差ｄｐは、以下の式のように表すことができる。
【００８９】
【数４】
0006411188.tif 000005
【００９０】
●本方法
以下、本方法について説明する。
図１５は、本方法の実施の形態を示すフローチャートである。
先ず、ステレオカメラを用いて、対象物（被写体）を撮像してステレオ画像を撮影する（Ｓ１）。すなわち、基準カメラＣＬが基準画像ＰＬを出力し、参照カメラＣＲが参照画像ＰＲを出力する。
【００９１】
本装置１は、画像入力部２を用いて、ステレオ画像（基準画像ＰＬと参照画像ＰＲ）を取得してステレオ画像記憶手段３に記憶する。
【００９２】
次いで、本装置１は、ウィンドウコスト計算処理部４を用いて、ステレオ画像記憶手段３に記憶されているステレオ画像を読み出して、ウィンドウコストを算出する（Ｓ２）。
【００９３】
次いで、本装置１は、評価値計算処理部５を用いて、基準画像ＰＬに含まれるすべての画素ごとに、評価値を算出する（Ｓ３）。
【００９４】
図１６は、評価値の算出方法を示すフローチャートである。
画像座標ｐと視差ｄについて、評価値Ｓ（ｐ，ｄ）の計算をくり返す（Ｓ３１ａ，３２ａ，３２ｂ，ｓ３１ｂ）。ここで、視差ｄと直前最適視差Ｏｐ＋ｒの大小関係により、評価値Ｓ（ｐ，ｄ）の算出に用いる漸化式を、前述の数式２の３つの漸化式の中から選択する。すなわち、ｄ＝Ｏｐ＋ｒ（Ｓ３３のＹｅｓ）のときは数式２の１番目の漸化式により評価値Ｓ（ｐ，ｄ）を算出し、ｄ＜Ｏｐ＋ｒ（Ｓ３３のＮｏ，Ｓ３４のＹｅｓ）のときは数式２の２番目の漸化式により評価値Ｓ（ｐ，ｄ）を算出し、ｄ＞Ｏｐ＋ｒ（Ｓ３３のＮｏ，Ｓ３４のＮｏ）のときは数式２の３番目の漸化式により評価値Ｓ（ｐ，ｄ）を算出する。
【００９５】
図１５に戻る。
次いで、本装置１は、対応点判定部６を用いて、基準画像ＰＬに含まれるすべての画素ごとに、参照画像ＰＲ上の対応点を判定し、その視差を、視差記憶手段７に記憶するなど出力する（Ｓ５）。視差記憶手段７に記憶された視差は、例えば、本装置１が対象物を立体的に立体表示手段８に表示する際に用いられる。
【００９６】
図１７は、本装置１が視差記憶手段７に記憶された視差を用いて、対象物を立体的に表示した例を示す模式図である。同図は、前述の図９に示した従来技術の出力結果に表れている誤対応が解消していることを示している。
【００９７】
●まとめ
以上説明した実施の形態によれば、ステレオマッチングを用いた複数の奥行きを含む３次元空間の計測において、算出対象の画素に隣接する直前の算出対象の画素の直前最適視差と同じ視差、隣接画素の絶対差が１の視差、同じ画素の基準カメラＣＬから見て隠れになる点の視差、の組み合わせによる３通りの場合分けに基づいて最適化することにより、評価値を算出する計算が効率化され、局所的に大きな視差の変化を伴う誤対応が抑制され、なおかつ、奥行きエッジを保存する効果が維持されるため、ステレオマッチングの精度を向上することができる。
【００９８】
ここで、これまで説明した本装置の特徴について、以下にまとめて記載しておく。
【００９９】
（特徴１）
基準画像と参照画像とを取得する画像入力部と、
前記基準画像に含まれる画素ごとに、前記基準画像に設定される基準ウィンドウと、前記基準ウィンドウに対応して前記参照画像に設定される参照ウィンドウと、の間の非類似性を示すウィンドウコストを算出するウィンドウコスト計算処理部と、
前記基準画像に含まれる画素ごとに、前記基準画像に含まれる所定の画素から隣接する画素の順に、前記参照画像に含まれる画素との視差ごとの評価値を算出する評価値計算処理部と、
前記基準画像に含まれる画素ごとに、前記評価値に基づいて、前記参照画像に含まれる画素のうち前記基準画像に含まれる画素に対応する対応点を判定する対応点判定部と、
を有してなり、
前記評価値計算処理部は、算出対象の画素の視差ごとの評価値を、前記算出対象の画素に隣接する直前の算出対象の画素の視差ごとの評価値のうち最小の評価値に対応する直前最適視差と同じ視差の評価値から順に算出する、
ことを特徴とするステレオマッチング装置。
【０１００】
（特徴２）
前記算出対象の画素の視差ごとの評価値は、前記直前最適視差との絶対差が小さい視差の評価値から順に算出される、
特徴１記載のステレオマッチング装置。
【０１０１】
（特徴３）
前記対応点判定部は、前記参照画像に含まれる画素のうち、前記算出対象の画素の視差ごとの評価値のうち最小の評価値となる視差に対応する画素を、前記対応点として判定する、
特徴１または２記載のステレオマッチング装置。
【０１０２】
（特徴４）
前記評価値計算処理部は、前記算出対象の画素の視差ごとの評価値を、
前記直前最適視差と同じ視差の評価値の算出用の漸化式と、
前記直前最適視差と異なる視差の評価値の算出用の漸化式と、
を用いて、算出する、
特徴１乃至３のいずれかに記載のステレオマッチング装置。
【０１０３】
（特徴５）
前記直前最適視差と異なる視差の評価値の算出用の漸化式には、
前記直前最適視差より小さい視差の評価値の算出用の漸化式と、
前記直前最適視差より大きい視差の評価値の算出用の漸化式と、
が含まれる、
特徴４記載のステレオマッチング装置。
【０１０４】
（特徴６）
前記直前最適視差と同じ視差の評価値の算出用の漸化式には、視差の不連続に対するペナルティが含まれる、
特徴４または５記載のステレオマッチング装置。
【０１０５】
（特徴７）
前記直前最適視差と異なる視差の評価値の算出用の漸化式には、視差の不連続に対するペナルティと、隠れに対するペナルティと、が含まれる、
特徴４乃至６のいずれかに記載のステレオマッチング装置。
【符号の説明】
【０１０６】
１  ステレオマッチング装置
２  画像入力部
３  ステレオ画像記憶手段
４  ウィンドウコスト計算処理部
５  評価値計算処理部
６  対応点判定部
７  視差記憶手段
８  立体表示手段
ＣＬ  基準カメラ
ＣＲ  参照カメラ
【図１】
0006411188.tif 000006
【図２】
0006411188.tif 000007
【図３】
0006411188.tif 000008
【図４】
0006411188.tif 000009
【図５】
0006411188.tif 000010
【図６】
0006411188.tif 000011
【図７】
0006411188.tif 000012
【図８】
0006411188.tif 000013
【図９】
0006411188.tif 000014
【図１０】
0006411188.tif 000015
【図１１】
0006411188.tif 000016
【図１２】
0006411188.tif 000017
【図１３】
0006411188.tif 000018
【図１４】
0006411188.tif 000019
【図１５】
0006411188.tif 000020
【図１６】
0006411188.tif 000021
【図１７】
0006411188.tif 000022