ステレオ画像処理装置及びステレオ画像処理方法
【課題】テクスチャの弱い領域を有する画像であっても、画像の対応付けに際しミスマッチングを軽減して高精度の視差検出を行うことができるステレオ画像処理装置、方法を提供する。
【解決手段】第一の画像と第二の画像が入力されると、第一の画像の第一の画素データを相互に異なる位置に含む複数の第一のウィンドウの各々について、当該第一ウィンドウと、指定された視差データに対応した前記第二の画像の第二のウィンドウとの間の非類似性に応じた評価値であるウィンドウコストを生成する。次に、第一のウィンドウのウィンドウコストに、第一の画素データに隣接する三以上の画素データのウィンドウコストを累積加算した累積加算コストを集計した修正コストを計算し、計算した修正コストに基づいて第一の画像の画素データそれぞれの対応点を第二の画像において求め、視差データを出力する。
【解決手段】第一の画像と第二の画像が入力されると、第一の画像の第一の画素データを相互に異なる位置に含む複数の第一のウィンドウの各々について、当該第一ウィンドウと、指定された視差データに対応した前記第二の画像の第二のウィンドウとの間の非類似性に応じた評価値であるウィンドウコストを生成する。次に、第一のウィンドウのウィンドウコストに、第一の画素データに隣接する三以上の画素データのウィンドウコストを累積加算した累積加算コストを集計した修正コストを計算し、計算した修正コストに基づいて第一の画像の画素データそれぞれの対応点を第二の画像において求め、視差データを出力する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、2台以上のカメラで同一の対象物の基準画像と参照画像とを撮影し、これらの画像の対応点をエピポーラ線上で探索して、その対応点のずれを示す視差データを算出するものであって、2枚の画像の画素それぞれを相互に対応付けて2台のカメラの対象物に対する視差を画素ごとに求めるステレオ画像処理装置に関する。
【背景技術】
【0002】
現在、さまざまな分野において複数のカメラを用いた3次元計測システムが利用されている。計測対象物を複数のカメラで撮影し、撮影された画像間の視差を検出し、これにより、対象物までの距離を算出するようにしている。一般的には、2つのカメラからの画像信号の輝度を比較することで、2つの画像信号が最も類似する位置を求めている。
【0003】
また、計測の精度を向上するために、先験的な知識が利用されている。その一つは、物体の表面は連続しているので、カメラによって観測される物体表面の奥行き情報も連続することが期待できるというものである。この知識を計測のアルゴリズムに反映させるいくつかの手法が提案されている。
【0004】
特許文献1では、特徴の抽出が容易なエッジ等を有する領域から、テクスチャが複雑で特徴の抽出が困難な領域へと奥行き情報の伝播を試みている。注目画素とその隣接画素の視差はほぼ等しいと仮定し、注目画素の視差と隣接画素の視差との差が一定数以下になるよう探索範囲を限定し、その範囲内で最も類似する対応点を採用する。
【0005】
また、非特許文献1では、ウィンドウコストに修正を加えることが提案されている。注目画素を挟んで左と右の二方向からウィンドウコストを累積的に加算し、かつ両者を合計する。こうして得た修正コストは、連続性の仮定に反するため対応させるべきでない点との非類似性が強調される。それにより、画像の水平方向について滑らかに連続する奥行きを支持する修正コストが得られる。
【0006】
また、非特許文献2では、対応点を判定する方法として動的計画法が、また非特許文献1と非特許文献3では、走査線最適化法が提案されている。
【0007】
【特許文献1】特許第2843034号「画像処理方法」
【0008】
【非特許文献1】Kim, J., Lee, K., Choi, B., and Lee, S. A dense stereo matching using two-pass dynamic programming with generalized ground control points. Proc. on Computer Vision and Pattern Recognishon, Vol.2, p.1075−1082, 2005.
【非特許文献2】A. F. Bobick and S. S. Intille. Large occlusion stereo. International Journal of Computer Vision, Vol.33, No.3, p.1−20, 1999.
【非特許文献3】D. Scharstein and R. Szeliski, A taxonomy and evaluation of dense two-frame stereo correspondence algorithms, International Jounal of Computer Vision, Vol.47, p. 7−42, 2002.
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかし、特許文献1の構成では、テクスチャが弱く抽出すべき特徴そのものに乏しい領域では、対応させるべき点について類似性が極大とならず、適切な奥行き情報を伝播することができない、という問題がある。
【0010】
また、非特許文献1に開示された方法でも、奥行きに段差があるとき適切な結果が得られない。奥行きの段差に対して、テクスチャの弱い領域へ誤った奥行き情報を伝播する、あるいは段差の形状を平滑化してしまう、という問題がある。物体の表面については奥行きを滑らかに連続させて、同時に段差については奥行きの不連続を保存しなければならない場合に、誤りが生じてしまう。
【0011】
本発明は、上述した従来技術の課題に鑑みてなされたもので、テクスチャの弱い領域および奥行きの段差を有する画像であっても、画像の対応付けに際しミスマッチングを軽減して高精度の視差検出を行うことができるステレオ画像処理装置、方法を提供することを目的とする。
【課題を解決するための手段】
【0012】
上記目的を達成するために、本発明では、画像入力手段と、ウィンドウコスト計算処理手段と、累積加算コスト計算処理手段と、修正コスト計算処理手段と、対応点判定手段と、視差データ記憶手段と、を有するステレオ画像処理装置を提案する。画像入力手段は、第一の画像取得手段からの第一の画像と第二の画像取得手段からの第二の画像が入力される。ウィンドウコスト計算処理手段は、第一の画像の第一の画素データを相互に異なる位置に含む複数の第一のウィンドウの各々について、当該第一ウィンドウと、指定された視差データに対応した第二の画像の第二のウィンドウとの間の非類似性に応じた評価値であるウィンドウコストを生成する。累積加算コスト計算処理手段は、第一のウィンドウのウィンドウコストに、第一の画素データに隣接する三以上の画素データのウィンドウコストを累積加算する。修正コスト計算処理手段は、累積加算コスト計算処理手段により計算した累積加算コストを集計した修正コストを計算する。対応点判定手段は、修正コストに基づいて第一の画像の画素データそれぞれの対応点を第二の画像において求め、視差データを出力する。視差データ記憶手段は、視差データを記憶する。
【0013】
さらに上記構成において、修正コスト計算処理手段は、累積加算した方向各々のウィンドウコストを合計し、累積加算した隣接する画素の数から一を減じた数の前記第一の画素のウィンドウコストを、合計したウィンドウコストから減算することで修正コストを計算するステレオ画像処理装置を提案する。
【0014】
また、上記構成において、修正コスト計算処理手段は、隣接する方向それぞれの信頼性を評価し、評価値に基づいてそれぞれの方向に対応する隣接する画素のウィンドウコストを累積加算することで修正コストを計算するステレオ画像処理装置を提案する。
【0015】
また、対応点判定手段は、ウィンドウコストが最小値となる第二の画像データにおける画素データを対応点として判定するステレオ画像処理装置を提案する。
【0016】
さらに、対応点判定手段は、動的計画法により対応点を判定するステレオ画像処理装置を提案する。
【発明の効果】
【0017】
本発明によれば、複数の面により奥行きの段差が形成される対象の計測において、計測する点に隣接する3以上の方向、例えば、上下左右4方向、あるいは斜めを含む8方向、あるいは任意の複数の方向から奥行きの連続性を反映することで、特定の方向においてテクスチャが弱い場合や、同じ方向にテクスチャが類似する場合であっても、他の方向から連続する奥行きが支持され、ステレオマッチングの精度を向上させることができる。
【0018】
また、方向に優先順位を与えることによって、奥行きの段差を保存する。画素ごとに、各方向の信頼性を推定し、信頼性の低い方向の評価を低く、信頼性の高い方向の評価を高くすることによって、修正コストが平滑化されることを抑止することができる。
【図面の簡単な説明】
【0019】
【図1】本発明の画像処理装置の構成を示す図である。
【図2】ステレオ計測の原理を示す図である。
【図3】参照画像における対応点の探索方法を示す図である。
【図4】本発明におけるステレオ画像処理装置のブロック図である。
【図5】本発明における画像処理方法を示すフローチャートである。
【図6】累積加算における加算結果の再利用方法を説明する図である。
【図7】本発明における修正コストの算出方法を説明する図である。
【図8】累積加算における修正コストの算出方法の概要を示すフローチャートである。
【図9】最小ウィンドウコストの算出方法を示すフローチャートである。
【図10】方向の順位付け方法を示すフローチャートである。
【図11】方向間の累積加算方法を示すフローチャートである。
【図12】最下位の方向による初期値設定の方法を示すフローチャートである。
【図13】残りの方向における累積加算方法を示すフローチャートである。
【図14】加算と最小値の判定方法を示すフローチャートである。
【図15】入力するステレオ画像の例である。
【図16】本発明を適用した場合の三次元計測結果である。
【発明を実施するための形態】
【0020】
図1は、本発明のステレオ画像処理装置の構成を示す図である。本発明のステレオ画像処理装置は、同一の対象物を撮影する二台のカメラと、撮影された二枚の画像から対応点を探索して奥行き情報を出力するコンピュータを備える。
【0021】
基準カメラによって撮影された画像はケーブル1によってコンピュータに転送され、基準画像として記憶される。参照カメラで撮影した画像はケーブル2によってコンピュータに転送され、参照画像として記憶される。これ以降、基準カメラと参照カメラの組をステレオカメラと呼び、基準画像と参照画像の組をステレオ画像と呼ぶ。
【0022】
基準カメラと参照カメラは、ピントや絞り,感度などの特性が等しくなるようにあらかじめ調整されており、撮影する位置のみが異なる。基準カメラと参照カメラは平行ステレオカメラとなるように配置される。平行ステレオカメラとは、二台のカメラの光軸が互いに平行であり、かつ撮像面が同一平面上にあって水平方向に整列されたものを指す。カメラの配置は左右が逆であっても、水平方向ではなく垂直方向に整列して配置してもよい。以降では説明を簡単にするため、左側を基準カメラ、右側を参照カメラとして扱う。
【0023】
コンピュータはステレオマッチング装置と記憶装置とディスプレイを備える。ステレオマッチング装置はステレオ画像から対応点を探索する処理を行う。記憶装置は、カメラから取得したステレオ画像、およびステレオマッチング装置により作成する奥行き情報を記憶する。ディスプレイは奥行き情報に基づいて対象物を立体表示する。
【0024】
図2は、ステレオ計測の原理を示す図である。三次元空間中の点P はステレオ画像に投影され、点P0および点P1をもたらす。基準カメラと参照カメラの位置が異なるため、それぞれの画像に投影された点の二次元座標は一致することなく、カメラから点Pまでの距離に応じて二次元座標のずれを生じる。このずれの大きさを視差と呼ぶ。計測前の点Pの三次元座標は未知であるため、その視差もまた未知である。ステレオカメラによる計測は、画像処理を用いてステレオ画像から視差を獲得することにより達せられる。基準画像上の点P0に対応する点P1を参照画像から精度良く求めるほど、より正確に点Pの三次元座標を計測することが可能となる。本発明において、視差と三次元座標を区別する必要がないとき、単に奥行き情報と呼ぶ。
【0025】
コンピュータから,ステレオカメラに二枚の画像の撮影を指示する命令がされる。ステレオカメラにより撮影された画像はデジタル化され,コンピュータへと転送される。ステレオ画像が入力されると、コンピュータは基準画像上の点P0に対応する点P1を参照画像から探索する。点Pの視差が確定すると、三角測量の原理によりカメラ中心O0とO1および画像中の点P0とP1から三次元空間中の点Pの三次元座標が直ちに求まる。以上の処理を基準画像上の各画素について繰り返すことにより、ステレオカメラによって撮影された対象物に関する奥行き情報を獲得する。
【0026】
コンピュータは、得られた奥行き情報に基づいてディスプレイに対象物を立体的に表示する。あるいは対象物の形状を分析する処理を行って分析結果をディスプレイに表示する。
【0027】
図3は、対応点の探索方法を示す図である。ステレオ相関法は、基準画像上の各点ごとに、対応する点を参照画像より探索する。平行ステレオカメラよって撮影すると、一方の画像上のある一点に対する他方の画像上での対応点は、上下位置が同一の走査線上に存在することが知られている。走査線とは画像上に水平に並んだ画素の列である。すなわち基準画像上にある一点に対して対応点を求めるためには、参照画像上のただ一列の走査線を探索すればよい。平行ステレオカメラカメラではない二台のカメラによって撮影が行われた場合でも、基準カメラと参照カメラの相対的な位置関係が既知であれば、平行化と呼ばれる画像変換によって同様の対応点探索が可能となる。
【0028】
対応点の探索は、基準画像上に設けた小領域と、参照画像上に設けた小領域とを比較する。この小領域をウィンドウと呼ぶ。基準画像上の注目した画素に対し、その近傍にウィンドウを設ける。参照画像の走査線上に並んでいる対応点候補それぞれの近傍にウィンドウを設ける。ウィンドウ内に写る像より、注目画素と各対応点候補との非類似性を数値化する。この非類似性の評価値をウィンドウコストと呼ぶ。ウィンドウコストには、輝度の差分の絶対値の総和などを用いる。
図3のように、縦軸にウィンドウコストを、横軸に対応点候補の視差をとってグラフ化すると、類似性が最も高い候補においてピークを示す谷を描く曲線となる。ウィンドウコストが最小となる候補を対応点とする。
【0029】
図4は、本発明におけるステレオ画像処理装置のブロック図である。カメラなどの画像取得手段401a、bと、画像取得手段からの画像を入力する画像入力部402、取得した画像を記憶するステレオ画像記憶手段403、ステレオマッチング装置410とステレオマッチング装置で算出された視差データを記憶する視差記憶手段408と、視差データに基づいて対象物体を立体表示するディスプレイなどの立体表示手段409を有している。
【0030】
ステレオマッチング装置410は、2台以上のカメラで構成されるステレオカメラからの画像であるステレオ画像の対応点を検出し視差データを得るための装置であって、通常は、コンピュータの制御手段が処理を行う。制御手段は、例えば、CPU(Central Processing Unit:中央演算処理装置)やVDP(Video Display Processor)などのプロセッサや、ASIC、ICメモリなどから構成される。ステレオマッチング装置410は、ウィンドウコスト計算処理部404、累積加算コスト計算処理部405、修正コスト計算処理部406、対応点判定部407を有している。
【0031】
ウィンドウコスト計算処理部404は、参照画像における対応点を探索するために、基準画像に含まれる各画素についてウィンドウコストの計算を行う。ステレオ画像入力部402よりステレオ画像が入力されると、ウィンドウコスト計算処理部404はウィンドウコストの計算を開始する。ウィンドウコストの計算は、基準画像に含まれる各画素について繰り返す。
【0032】
累積加算コスト計算処理部405は、基準画像の各画素について、ウィンドウコストの累積加算を行う。累積加算は、基準画素を中心として任意の方向に隣接する3以上の画素であればよく、例えばある画素を中心とする8方向において隣接する画素からコストを累積加算することによって行う。
【0033】
修正コスト計算処理部406は、累積加算コスト計算処理部405において計算した累積加算コストについて、奥行きの連続性が反映されるように、合計か、各方向の信頼性を算出することで修正コストの算出を行う。修正コストの計算方法の詳細については、後述する。
【0034】
対応点判定部407は、修正コスト計算処理部406で計算された修正コストに基づいて、カメラから対象物までの奥行きを推定して、対応点を判定し、対応点の視差を計算する。
【0035】
視差記憶手段408は、対応点判定部407において計算された視差データを記憶する。立体表示手段409は、計算された視差データをもとに、対象物の3次元表示を可能とする表示手段である。
【0036】
図5は、本発明における画像処理方法を示すフローチャートである。まず、画像取得手段(401a、b)は、ステレオ画像を撮影し、撮影されたステレオ画像は画像入力部(402)からステレオ画像記憶手段(403)へ記憶される(S501)。
【0037】
記憶されたステレオ画像に基づいて、対応点探索のためにウィンドウコストを計算する(S502)。オペレータはあらかじめ、対応点の探索範囲の上限dmaxと下限dmin、奥行きの不連続にペナルティを課すためのしきい値T,奥行きの連続性が反映される視差の範囲m、奥行きの連続性を反映する方向とその数n、対応点の探索に用いるウィンドウの大きさwをコンピュータに入力しておく。ウィンドウの形状は正方形であり、wは一辺の長さを表す。なお、ウィンドウの形状は必ずしも正方形に制限されず、長方形などであってもよい。ウィンドウコストは、次のように計算される。まず画像の水平座標値をx、垂直座標値をyによって表す。基準画像上のある二次元座標(x, y)の画素に注目し、図3に示すように(x, y)を中心としてウィンドウを設ける。対応点候補となる視差dの画素について、参照画像上の座標(x-d, y)を中心にウィンドウを設ける。
【0038】
基準画像と参照画像のウィンドウの組より、ウィンドウコストC(x, y, z)を以下の計算によって求める。Ilは基準画像の画素の輝度,Irは参照画像の画素の輝度を表す。このウィンドウコストをSAD(Sum of Absolute Differences)と呼ぶ。ウィンドウコストはウィンドウ間の非類似性を表す指標であればよく、SSD(Sum of Squared Differences)すなわち輝度の差の自乗和などを用いてもよい。
【0039】
【数1】
【0040】
次にコンピュータは基準画像の各画素について、ウィンドウコストの累積加算を繰り返す(S503)。基準画像の画素に注目したとき、視差dのコストの加算について説明する。注目画素(x, y)の視差dにコストGk(x, y, z)を求めるため、次の計算を行う。注目画素から見て方向kに隣接する画素の座標を(x+a, y+b)とする。d-mからd+mまでの範囲に含まれる視差をd’で表す。隣接画素のコストGk(x+a, y+b, d’)と、奥行きの不連続に対するペナルティ関数t(d, d’)の値とを合計する。視差d’の範囲d-mからd+mの中から最小となる合計値を求め、前記処理によって求めたウィンドウコストC(x, y, d)に加算して、コストGk(x, y, d)として記憶する。
【0041】
【数2】
【0042】
記憶したコストGk(x, y, d)は、将来において同じ方向k上の画素の累積加算時に参照することが可能となる。したがって過去にコストを計算した画素が存在する方向は、記憶済みのコストを参照することによって、累積加算の計算量を削減できる。
【0043】
例として、注目画素を中心とする8方向からコストを累積加算する場合、図6のように順方向ラスタスキャンにおいて左方向から斜め右下方向にかけての計算を行う。同様に逆方向ラスタスキャンにおいて右方向から斜め左上方向にかけての計算を行うと、画像を二回走査するだけで累積加算の処理が完了する。ここで順方向ラスタスキャンとは画像の左上から右下へ向かう経路を意味し、走査線上の画素を左から右へ走査し、走査線を上から下へ辿る。一方、逆方向ラスタスキャンとは画像の右下から左上へ向かう経路を意味し、走査線上の画素を右から左へ走査し、走査線を下から上へ辿る。
【0044】
なおt(d, d’)は次の関数とする。奥行きが連続するという仮定が成り立つとき値が0となり、仮定から外れるとき値がTとなる。Tはペナルティの大きさを表すしきい値である。
【0045】
【数3】
【0046】
また、上記の計算方法における視差d’の範囲d-mからd+mは、m>0でなければならない。この範囲内からGk(x+a, y+b, d’)の最小値を求めた場合、その値が描く曲線はピークが平坦なものになる。すなわちm>0とすることによって、注目画素から画像上の距離が離れている画素ほど、そのウィンドウコストが修正コストに与える影響は小さくなる。これにより、注目画素から遠く離れた画素が、注目画素に対して奥行きを連続させるよう過剰に拘束をかけることを防止する。
【0047】
以上の処理を注目画素の全ての対応点候補について行い、注目画素の方向kに累積加算されたコストを計算する。この処理を1からnまで繰り返し、各方向のコストを累積加算して記録する。
【0048】
コンピュータは前記処理によって累積加算したコストより、n個の方向より奥行きの連続性が反映されるよう修正されたコストを計算する(S504)。n個の処理結果を合計する(S505)か、あるいはn個の処理結果を累積加算して(S506)、修正コストを求める。後者を用いることにより、奥行きの段差を保存する効果が得られる。合計による修正コストの計算方法及び累積加算による修正コストの計算方法については、後述する。
【0049】
次に、ステレオマッチング装置410の対応点判定部407は、修正コストの情報を基に、画像取得手段(401a、b)から対象物までの奥行きを推定して、視差データを作成する(S507)。対応点の探索範囲を[dmin, dmax]で表すとき、画素(x, y)について
【0050】
【数4】
【0051】
となる対応点の視差D(x, y)を計算する処理を行う(S509)。これを基準画像の各画素について繰り返す。対応点を判定する方法には、非特許文献2に記載されている動的計画法を用いてもよい(S508)。また、動的計画法の代わりに、非特許文献3に記載されている走査線最適化法を用いてもよい。
【0052】
動的計画法によって対応点を判定する場合は次のように行う。まず探索平面を作成する。これは基準画像と参照画像に共通する水平な走査線を二本の座標軸とする平面である。探索平面上の点は、基準画像および参照画像の走査線上にある二点の対応関係を表現する。ある二点をステレオカメラで撮影したとき、それらの点の位置関係は両方の画像で同じになること可能性が高い。つまり、一般的には一方の画像に左右の関係で写った二点は、他方の画像に左側の点と右側の点が入れ替わって写ることはない。したがって探索平面上の対応点は、座標値が基準・参照ともに小さい方から大きい方へ単調に増加する点の列となる。これによって作られる点列の候補の中から、漸化計算を用いて各点のウィンドウコストの合計が最小となる点列を探索し、その点列に含まれる各点を対応点として採用する。
【0053】
走査線最適化法は、探索平面の座標軸を基準画像の水平な走査線および視差とし、基準画像の水平座標が単調増加する点列を候補とする。また連続する二点間の視差が異なる場合にはペナルティとなる値を加える。それ以外は動的計画法と同様の方法によって対応点を決定する。
【0054】
次に、ステレオマッチング装置410は、対応点の判定によって得られた結果を出力し、基準画像の各画素について視差データを記憶する(S510)。
【0055】
修正コストの算出方法について、まず合計による修正コスト算出方法(S505)について図7を参照しながら、説明する。本発明では、奥行きの連続性を注目画素に反映するために、注目画素を挟む水平な二方向だけでなく、複数の任意の方向を考慮して修正コストを算出する。図7に示すように注目画素(x, y)を中心するn個の方向kに累積加算したコストを合計する。なお、8近傍の方向を考慮する場合、n=8であり、8方向となる。このように合計された値には注目画素のウィンドウコストがn倍されて含まれることになる。注目画素の奥行きに対する不要な重みづけを取り除くため、方向数nから1を減じた数に倍する注目画素のウィンドウコストC(x, y, d)を減算し、注目画素の修正コストS(x, y, d)とする。修正コストS(x, y, d)は次の式によって表される。
【0056】
【数5】
【0057】
次に信頼性に基づいて方向ごとに優先順位を与え、奥行きの段差が保存されるよう修正コストを算出する方法(S506)について説明する。図8は累積加算による修正コストの算出方法を示す概要フローチャートである。各画素にn個の方向を順序付けるため、下記の計算によって各方向の信頼性を評価する。すなわち、注目画素の隣接画素を参照し、よりウィンドウコストの小さい画素が存在する方向をより信頼性が高いものとする。まず、注目画素の各方向の隣接画素について最小ウィンドウコストをそれぞれ探索する(S801)。次に、最小ウィンドウコストの集合を降順にソートすることで方向の順位付けを行い(S802)、方向間の累積加算を行う(S803)。
【0058】
図9は、S801における最小ウィンドウコストの探索方法を具体的に示すフローチャートである。注目画素(x, y)に対して方向kで隣接する画素の、視差dに応じて変化するウィンドウコストC(x+a, y+b, d)から、最小値Mk(x+a, y+b)を求める。方向は注目画素に対して相対的なので、最小値の算出は画素ごとに方向の数だけ繰り返す必要はなく、画素ごとに1回ずつ求める。最初の画像座標から注目画素(x, y)として設定し(S901)、方向kで隣接する画素のウィンドウコストの上限値をM(x, y)として設定する(S902)。ウィンドウコストの最小値を求めるために最小視差から最大視差までdの値を1ずつ増やして計算する(S903)。視差dの値に応じて変化するC(x, y, d)がM(x, y)より小さいか判定し(S904)、M(x, y)>C(x, y, d)の場合はC(x, y, d)をM(x, y)として設定する(S905)。このように判定していくことで注目画素(x, y)の方向kにおけるウィンドウコストの最小値を求める(S906)。次の画像座標を(x, y)と設定し(S907)、同様に、また全ての画素についてスキャンを行ってウィンドウコストの最小値を算出していく(S908)。
【0059】
図10は、S802における方向の順位付け方法を具体的に示すフローチャートである。最初の画像座標から注目画素(x, y)として設定し(S1001)、方向の番号と最小ウィンドウコストをn個分、列に格納していく(S1002)。第k方向の隣接画素の相対座標を(a, b)と設定し(S1003)、列rのk番目の要素に第k方向の最小ウィンドウコストM(x+a, y+b)を格納し、列q(x, y)のk番目の要素に方向kの番号を格納し(S1004)、同様にn個分について繰り返す(S1005)。次に列rのウィンドウコストの降順に方向の列q(x, y)をソートする(S1006)。次の画像座標を(x, y)と設定し(S1007)、同様に、すべての画像座標についてスキャンを行って処理を繰り返す(S1008)。以上の処理によって、優先順位iを方向kに対応付ける関数q(x, y, i)を得る。なお、iは数値が大きいほど信頼性が高いものとする。このとき(x, y)の優先順位iについて次の関係が成り立つ。
【0060】
【数6】
【0061】
図11は、S803における方向間の累積加算方法を具体的に示すフローチャートである。最初の画像座標から注目画素(x, y)として設定し(S1101)、優先順位が最下位の方向の累積加算コストを修正コスト計算の初期値として設定する(S1102)。図12は、最下位の方向による初期値の設定方法のフローを示している。まず、q(x, y, 1)より得られる最下位の方向の番号を方向jに設定する(S1201)。次に、dを最小視差から最大視差まで1ずつ増やし(S1202)、j方向の累積加算コストGj(x, y, d)を修正コストS(x, y, d)の初期値とし(S1203)、すべての視差について繰り返す(S1204)。
【0062】
次に残りの方向について累積加算を行っていく(S1103)。図13は、残りの方向による累積加算の算出方法を示すフローチャートである。優先順位の変数iを2から最上位まで順に1ずつ増やすことで順次、累積加算を行っていく(S1301)。すなわち、優先順位を下からi番目とした場合に、q(x, y, i)より得られる第i位の方向の番号を方向jに設定する(S1302)。最小視差から最大視差まで1ずつ増やして累積加算コストを加算していく(S1303)。累積加算コストの加算と最小値の判定処理を行い(S1304)、全ての視差について繰り返す(S1305)。以上の処理によって求めた第i位までの結果を最小視差から最大視差まで1ずつ増やして(S1306)、修正コストS(x, y, d)に代入し(S1307)、すべての視差について繰り返す(S1308)。同様に、全ての順位の方向について繰り返す(S1309)。
【0063】
加算と最小値の判定処理(S1304)について、図14により説明する。修正コストの上限値をBと設定する(S1401)。すでに計算された下位の方向の計算結果のうち、視差dとの差が奥行きの連続性が反映される範囲mに含まれる視差d’について(S1402)、Bが修正コストS(x, y, d)にペナルティ関数t(d, d’)を加算した値よりも大きいか判定する。Bの値よりも大きい場合はS(x, y, d)+t(d, d’)をBに代入し(S1404)、そうでない場合はBを変えない。同様に、範囲内の全ての視差d’について繰り返す(S1405)。方向jの累積加算コストに求めた最小値を積算し、S’(d)に代入する(S1406)。
【0064】
図11に戻り、このようにしてすべての方向における累積加算を行った後、注目画素のウィンドウコストを最小視差から最大視差まで全ての視差の値において累積加算した修正コストから減算する処理を行う(S1104)。つまり、S(x, y, d)−C(x, y, d)を修正コストS(x, y, d)とする処理を繰り返す(S1105、S1106)。そして次の画像座標へと移り、すべての画素について累積加算により修正コストを得る。
【0065】
このように、各方向について累積加算したコストを、さらに方向間で累積加算することによって段差を保存する修正コストを得る。注目画素から離れた画素のウィンドウコストは注目画素の修正コストに与える影響が小さくなる。累積加算の方法を各方向の結果にも適用し、信頼性の低い方向から高い方向へ処理を進めることによって、確からしい方向の結果ほどより強く修正コストに反映させる。累積加算によって求める場合の、n個の方向に基づく修正コストS(x, y, d)は次の式によって表される。
【0066】
【数7】
【0067】
次に、本発明の適用例を説明する。図15は、入力するステレオ画像の例を示している。この画像には、背景にテクスチャの弱い領域である壁面や類似するテクスチャが水平方向に続く領域がある。本発明の画像処理装置により、8方向において修正コストを算出してステレオマッチング処理を行い、三次元計測を行った結果が図16である。このように、本発明を適用することで、複数の面によって奥行きに段差が形成されているような画像においても正確にステレオマッチング処理を行うことができる。
【産業上の利用可能性】
【0068】
本発明は、ステレオ画像をもとに視差データを算出する画像処理装置に適用可能である。
【符号の説明】
【0069】
401a,b 画像取得手段
402 画像入力部
403 ステレオ画像記憶手段
404 ウィンドウコスト計算処理部
405 累積加算コスト計算処理部
406 修正コスト計算処理部
407 対応点判定部
408 視差記憶手段
409 立体表示手段
410 ステレオマッチング装置
【技術分野】
【0001】
本発明は、2台以上のカメラで同一の対象物の基準画像と参照画像とを撮影し、これらの画像の対応点をエピポーラ線上で探索して、その対応点のずれを示す視差データを算出するものであって、2枚の画像の画素それぞれを相互に対応付けて2台のカメラの対象物に対する視差を画素ごとに求めるステレオ画像処理装置に関する。
【背景技術】
【0002】
現在、さまざまな分野において複数のカメラを用いた3次元計測システムが利用されている。計測対象物を複数のカメラで撮影し、撮影された画像間の視差を検出し、これにより、対象物までの距離を算出するようにしている。一般的には、2つのカメラからの画像信号の輝度を比較することで、2つの画像信号が最も類似する位置を求めている。
【0003】
また、計測の精度を向上するために、先験的な知識が利用されている。その一つは、物体の表面は連続しているので、カメラによって観測される物体表面の奥行き情報も連続することが期待できるというものである。この知識を計測のアルゴリズムに反映させるいくつかの手法が提案されている。
【0004】
特許文献1では、特徴の抽出が容易なエッジ等を有する領域から、テクスチャが複雑で特徴の抽出が困難な領域へと奥行き情報の伝播を試みている。注目画素とその隣接画素の視差はほぼ等しいと仮定し、注目画素の視差と隣接画素の視差との差が一定数以下になるよう探索範囲を限定し、その範囲内で最も類似する対応点を採用する。
【0005】
また、非特許文献1では、ウィンドウコストに修正を加えることが提案されている。注目画素を挟んで左と右の二方向からウィンドウコストを累積的に加算し、かつ両者を合計する。こうして得た修正コストは、連続性の仮定に反するため対応させるべきでない点との非類似性が強調される。それにより、画像の水平方向について滑らかに連続する奥行きを支持する修正コストが得られる。
【0006】
また、非特許文献2では、対応点を判定する方法として動的計画法が、また非特許文献1と非特許文献3では、走査線最適化法が提案されている。
【0007】
【特許文献1】特許第2843034号「画像処理方法」
【0008】
【非特許文献1】Kim, J., Lee, K., Choi, B., and Lee, S. A dense stereo matching using two-pass dynamic programming with generalized ground control points. Proc. on Computer Vision and Pattern Recognishon, Vol.2, p.1075−1082, 2005.
【非特許文献2】A. F. Bobick and S. S. Intille. Large occlusion stereo. International Journal of Computer Vision, Vol.33, No.3, p.1−20, 1999.
【非特許文献3】D. Scharstein and R. Szeliski, A taxonomy and evaluation of dense two-frame stereo correspondence algorithms, International Jounal of Computer Vision, Vol.47, p. 7−42, 2002.
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかし、特許文献1の構成では、テクスチャが弱く抽出すべき特徴そのものに乏しい領域では、対応させるべき点について類似性が極大とならず、適切な奥行き情報を伝播することができない、という問題がある。
【0010】
また、非特許文献1に開示された方法でも、奥行きに段差があるとき適切な結果が得られない。奥行きの段差に対して、テクスチャの弱い領域へ誤った奥行き情報を伝播する、あるいは段差の形状を平滑化してしまう、という問題がある。物体の表面については奥行きを滑らかに連続させて、同時に段差については奥行きの不連続を保存しなければならない場合に、誤りが生じてしまう。
【0011】
本発明は、上述した従来技術の課題に鑑みてなされたもので、テクスチャの弱い領域および奥行きの段差を有する画像であっても、画像の対応付けに際しミスマッチングを軽減して高精度の視差検出を行うことができるステレオ画像処理装置、方法を提供することを目的とする。
【課題を解決するための手段】
【0012】
上記目的を達成するために、本発明では、画像入力手段と、ウィンドウコスト計算処理手段と、累積加算コスト計算処理手段と、修正コスト計算処理手段と、対応点判定手段と、視差データ記憶手段と、を有するステレオ画像処理装置を提案する。画像入力手段は、第一の画像取得手段からの第一の画像と第二の画像取得手段からの第二の画像が入力される。ウィンドウコスト計算処理手段は、第一の画像の第一の画素データを相互に異なる位置に含む複数の第一のウィンドウの各々について、当該第一ウィンドウと、指定された視差データに対応した第二の画像の第二のウィンドウとの間の非類似性に応じた評価値であるウィンドウコストを生成する。累積加算コスト計算処理手段は、第一のウィンドウのウィンドウコストに、第一の画素データに隣接する三以上の画素データのウィンドウコストを累積加算する。修正コスト計算処理手段は、累積加算コスト計算処理手段により計算した累積加算コストを集計した修正コストを計算する。対応点判定手段は、修正コストに基づいて第一の画像の画素データそれぞれの対応点を第二の画像において求め、視差データを出力する。視差データ記憶手段は、視差データを記憶する。
【0013】
さらに上記構成において、修正コスト計算処理手段は、累積加算した方向各々のウィンドウコストを合計し、累積加算した隣接する画素の数から一を減じた数の前記第一の画素のウィンドウコストを、合計したウィンドウコストから減算することで修正コストを計算するステレオ画像処理装置を提案する。
【0014】
また、上記構成において、修正コスト計算処理手段は、隣接する方向それぞれの信頼性を評価し、評価値に基づいてそれぞれの方向に対応する隣接する画素のウィンドウコストを累積加算することで修正コストを計算するステレオ画像処理装置を提案する。
【0015】
また、対応点判定手段は、ウィンドウコストが最小値となる第二の画像データにおける画素データを対応点として判定するステレオ画像処理装置を提案する。
【0016】
さらに、対応点判定手段は、動的計画法により対応点を判定するステレオ画像処理装置を提案する。
【発明の効果】
【0017】
本発明によれば、複数の面により奥行きの段差が形成される対象の計測において、計測する点に隣接する3以上の方向、例えば、上下左右4方向、あるいは斜めを含む8方向、あるいは任意の複数の方向から奥行きの連続性を反映することで、特定の方向においてテクスチャが弱い場合や、同じ方向にテクスチャが類似する場合であっても、他の方向から連続する奥行きが支持され、ステレオマッチングの精度を向上させることができる。
【0018】
また、方向に優先順位を与えることによって、奥行きの段差を保存する。画素ごとに、各方向の信頼性を推定し、信頼性の低い方向の評価を低く、信頼性の高い方向の評価を高くすることによって、修正コストが平滑化されることを抑止することができる。
【図面の簡単な説明】
【0019】
【図1】本発明の画像処理装置の構成を示す図である。
【図2】ステレオ計測の原理を示す図である。
【図3】参照画像における対応点の探索方法を示す図である。
【図4】本発明におけるステレオ画像処理装置のブロック図である。
【図5】本発明における画像処理方法を示すフローチャートである。
【図6】累積加算における加算結果の再利用方法を説明する図である。
【図7】本発明における修正コストの算出方法を説明する図である。
【図8】累積加算における修正コストの算出方法の概要を示すフローチャートである。
【図9】最小ウィンドウコストの算出方法を示すフローチャートである。
【図10】方向の順位付け方法を示すフローチャートである。
【図11】方向間の累積加算方法を示すフローチャートである。
【図12】最下位の方向による初期値設定の方法を示すフローチャートである。
【図13】残りの方向における累積加算方法を示すフローチャートである。
【図14】加算と最小値の判定方法を示すフローチャートである。
【図15】入力するステレオ画像の例である。
【図16】本発明を適用した場合の三次元計測結果である。
【発明を実施するための形態】
【0020】
図1は、本発明のステレオ画像処理装置の構成を示す図である。本発明のステレオ画像処理装置は、同一の対象物を撮影する二台のカメラと、撮影された二枚の画像から対応点を探索して奥行き情報を出力するコンピュータを備える。
【0021】
基準カメラによって撮影された画像はケーブル1によってコンピュータに転送され、基準画像として記憶される。参照カメラで撮影した画像はケーブル2によってコンピュータに転送され、参照画像として記憶される。これ以降、基準カメラと参照カメラの組をステレオカメラと呼び、基準画像と参照画像の組をステレオ画像と呼ぶ。
【0022】
基準カメラと参照カメラは、ピントや絞り,感度などの特性が等しくなるようにあらかじめ調整されており、撮影する位置のみが異なる。基準カメラと参照カメラは平行ステレオカメラとなるように配置される。平行ステレオカメラとは、二台のカメラの光軸が互いに平行であり、かつ撮像面が同一平面上にあって水平方向に整列されたものを指す。カメラの配置は左右が逆であっても、水平方向ではなく垂直方向に整列して配置してもよい。以降では説明を簡単にするため、左側を基準カメラ、右側を参照カメラとして扱う。
【0023】
コンピュータはステレオマッチング装置と記憶装置とディスプレイを備える。ステレオマッチング装置はステレオ画像から対応点を探索する処理を行う。記憶装置は、カメラから取得したステレオ画像、およびステレオマッチング装置により作成する奥行き情報を記憶する。ディスプレイは奥行き情報に基づいて対象物を立体表示する。
【0024】
図2は、ステレオ計測の原理を示す図である。三次元空間中の点P はステレオ画像に投影され、点P0および点P1をもたらす。基準カメラと参照カメラの位置が異なるため、それぞれの画像に投影された点の二次元座標は一致することなく、カメラから点Pまでの距離に応じて二次元座標のずれを生じる。このずれの大きさを視差と呼ぶ。計測前の点Pの三次元座標は未知であるため、その視差もまた未知である。ステレオカメラによる計測は、画像処理を用いてステレオ画像から視差を獲得することにより達せられる。基準画像上の点P0に対応する点P1を参照画像から精度良く求めるほど、より正確に点Pの三次元座標を計測することが可能となる。本発明において、視差と三次元座標を区別する必要がないとき、単に奥行き情報と呼ぶ。
【0025】
コンピュータから,ステレオカメラに二枚の画像の撮影を指示する命令がされる。ステレオカメラにより撮影された画像はデジタル化され,コンピュータへと転送される。ステレオ画像が入力されると、コンピュータは基準画像上の点P0に対応する点P1を参照画像から探索する。点Pの視差が確定すると、三角測量の原理によりカメラ中心O0とO1および画像中の点P0とP1から三次元空間中の点Pの三次元座標が直ちに求まる。以上の処理を基準画像上の各画素について繰り返すことにより、ステレオカメラによって撮影された対象物に関する奥行き情報を獲得する。
【0026】
コンピュータは、得られた奥行き情報に基づいてディスプレイに対象物を立体的に表示する。あるいは対象物の形状を分析する処理を行って分析結果をディスプレイに表示する。
【0027】
図3は、対応点の探索方法を示す図である。ステレオ相関法は、基準画像上の各点ごとに、対応する点を参照画像より探索する。平行ステレオカメラよって撮影すると、一方の画像上のある一点に対する他方の画像上での対応点は、上下位置が同一の走査線上に存在することが知られている。走査線とは画像上に水平に並んだ画素の列である。すなわち基準画像上にある一点に対して対応点を求めるためには、参照画像上のただ一列の走査線を探索すればよい。平行ステレオカメラカメラではない二台のカメラによって撮影が行われた場合でも、基準カメラと参照カメラの相対的な位置関係が既知であれば、平行化と呼ばれる画像変換によって同様の対応点探索が可能となる。
【0028】
対応点の探索は、基準画像上に設けた小領域と、参照画像上に設けた小領域とを比較する。この小領域をウィンドウと呼ぶ。基準画像上の注目した画素に対し、その近傍にウィンドウを設ける。参照画像の走査線上に並んでいる対応点候補それぞれの近傍にウィンドウを設ける。ウィンドウ内に写る像より、注目画素と各対応点候補との非類似性を数値化する。この非類似性の評価値をウィンドウコストと呼ぶ。ウィンドウコストには、輝度の差分の絶対値の総和などを用いる。
図3のように、縦軸にウィンドウコストを、横軸に対応点候補の視差をとってグラフ化すると、類似性が最も高い候補においてピークを示す谷を描く曲線となる。ウィンドウコストが最小となる候補を対応点とする。
【0029】
図4は、本発明におけるステレオ画像処理装置のブロック図である。カメラなどの画像取得手段401a、bと、画像取得手段からの画像を入力する画像入力部402、取得した画像を記憶するステレオ画像記憶手段403、ステレオマッチング装置410とステレオマッチング装置で算出された視差データを記憶する視差記憶手段408と、視差データに基づいて対象物体を立体表示するディスプレイなどの立体表示手段409を有している。
【0030】
ステレオマッチング装置410は、2台以上のカメラで構成されるステレオカメラからの画像であるステレオ画像の対応点を検出し視差データを得るための装置であって、通常は、コンピュータの制御手段が処理を行う。制御手段は、例えば、CPU(Central Processing Unit:中央演算処理装置)やVDP(Video Display Processor)などのプロセッサや、ASIC、ICメモリなどから構成される。ステレオマッチング装置410は、ウィンドウコスト計算処理部404、累積加算コスト計算処理部405、修正コスト計算処理部406、対応点判定部407を有している。
【0031】
ウィンドウコスト計算処理部404は、参照画像における対応点を探索するために、基準画像に含まれる各画素についてウィンドウコストの計算を行う。ステレオ画像入力部402よりステレオ画像が入力されると、ウィンドウコスト計算処理部404はウィンドウコストの計算を開始する。ウィンドウコストの計算は、基準画像に含まれる各画素について繰り返す。
【0032】
累積加算コスト計算処理部405は、基準画像の各画素について、ウィンドウコストの累積加算を行う。累積加算は、基準画素を中心として任意の方向に隣接する3以上の画素であればよく、例えばある画素を中心とする8方向において隣接する画素からコストを累積加算することによって行う。
【0033】
修正コスト計算処理部406は、累積加算コスト計算処理部405において計算した累積加算コストについて、奥行きの連続性が反映されるように、合計か、各方向の信頼性を算出することで修正コストの算出を行う。修正コストの計算方法の詳細については、後述する。
【0034】
対応点判定部407は、修正コスト計算処理部406で計算された修正コストに基づいて、カメラから対象物までの奥行きを推定して、対応点を判定し、対応点の視差を計算する。
【0035】
視差記憶手段408は、対応点判定部407において計算された視差データを記憶する。立体表示手段409は、計算された視差データをもとに、対象物の3次元表示を可能とする表示手段である。
【0036】
図5は、本発明における画像処理方法を示すフローチャートである。まず、画像取得手段(401a、b)は、ステレオ画像を撮影し、撮影されたステレオ画像は画像入力部(402)からステレオ画像記憶手段(403)へ記憶される(S501)。
【0037】
記憶されたステレオ画像に基づいて、対応点探索のためにウィンドウコストを計算する(S502)。オペレータはあらかじめ、対応点の探索範囲の上限dmaxと下限dmin、奥行きの不連続にペナルティを課すためのしきい値T,奥行きの連続性が反映される視差の範囲m、奥行きの連続性を反映する方向とその数n、対応点の探索に用いるウィンドウの大きさwをコンピュータに入力しておく。ウィンドウの形状は正方形であり、wは一辺の長さを表す。なお、ウィンドウの形状は必ずしも正方形に制限されず、長方形などであってもよい。ウィンドウコストは、次のように計算される。まず画像の水平座標値をx、垂直座標値をyによって表す。基準画像上のある二次元座標(x, y)の画素に注目し、図3に示すように(x, y)を中心としてウィンドウを設ける。対応点候補となる視差dの画素について、参照画像上の座標(x-d, y)を中心にウィンドウを設ける。
【0038】
基準画像と参照画像のウィンドウの組より、ウィンドウコストC(x, y, z)を以下の計算によって求める。Ilは基準画像の画素の輝度,Irは参照画像の画素の輝度を表す。このウィンドウコストをSAD(Sum of Absolute Differences)と呼ぶ。ウィンドウコストはウィンドウ間の非類似性を表す指標であればよく、SSD(Sum of Squared Differences)すなわち輝度の差の自乗和などを用いてもよい。
【0039】
【数1】
【0040】
次にコンピュータは基準画像の各画素について、ウィンドウコストの累積加算を繰り返す(S503)。基準画像の画素に注目したとき、視差dのコストの加算について説明する。注目画素(x, y)の視差dにコストGk(x, y, z)を求めるため、次の計算を行う。注目画素から見て方向kに隣接する画素の座標を(x+a, y+b)とする。d-mからd+mまでの範囲に含まれる視差をd’で表す。隣接画素のコストGk(x+a, y+b, d’)と、奥行きの不連続に対するペナルティ関数t(d, d’)の値とを合計する。視差d’の範囲d-mからd+mの中から最小となる合計値を求め、前記処理によって求めたウィンドウコストC(x, y, d)に加算して、コストGk(x, y, d)として記憶する。
【0041】
【数2】
【0042】
記憶したコストGk(x, y, d)は、将来において同じ方向k上の画素の累積加算時に参照することが可能となる。したがって過去にコストを計算した画素が存在する方向は、記憶済みのコストを参照することによって、累積加算の計算量を削減できる。
【0043】
例として、注目画素を中心とする8方向からコストを累積加算する場合、図6のように順方向ラスタスキャンにおいて左方向から斜め右下方向にかけての計算を行う。同様に逆方向ラスタスキャンにおいて右方向から斜め左上方向にかけての計算を行うと、画像を二回走査するだけで累積加算の処理が完了する。ここで順方向ラスタスキャンとは画像の左上から右下へ向かう経路を意味し、走査線上の画素を左から右へ走査し、走査線を上から下へ辿る。一方、逆方向ラスタスキャンとは画像の右下から左上へ向かう経路を意味し、走査線上の画素を右から左へ走査し、走査線を下から上へ辿る。
【0044】
なおt(d, d’)は次の関数とする。奥行きが連続するという仮定が成り立つとき値が0となり、仮定から外れるとき値がTとなる。Tはペナルティの大きさを表すしきい値である。
【0045】
【数3】
【0046】
また、上記の計算方法における視差d’の範囲d-mからd+mは、m>0でなければならない。この範囲内からGk(x+a, y+b, d’)の最小値を求めた場合、その値が描く曲線はピークが平坦なものになる。すなわちm>0とすることによって、注目画素から画像上の距離が離れている画素ほど、そのウィンドウコストが修正コストに与える影響は小さくなる。これにより、注目画素から遠く離れた画素が、注目画素に対して奥行きを連続させるよう過剰に拘束をかけることを防止する。
【0047】
以上の処理を注目画素の全ての対応点候補について行い、注目画素の方向kに累積加算されたコストを計算する。この処理を1からnまで繰り返し、各方向のコストを累積加算して記録する。
【0048】
コンピュータは前記処理によって累積加算したコストより、n個の方向より奥行きの連続性が反映されるよう修正されたコストを計算する(S504)。n個の処理結果を合計する(S505)か、あるいはn個の処理結果を累積加算して(S506)、修正コストを求める。後者を用いることにより、奥行きの段差を保存する効果が得られる。合計による修正コストの計算方法及び累積加算による修正コストの計算方法については、後述する。
【0049】
次に、ステレオマッチング装置410の対応点判定部407は、修正コストの情報を基に、画像取得手段(401a、b)から対象物までの奥行きを推定して、視差データを作成する(S507)。対応点の探索範囲を[dmin, dmax]で表すとき、画素(x, y)について
【0050】
【数4】
【0051】
となる対応点の視差D(x, y)を計算する処理を行う(S509)。これを基準画像の各画素について繰り返す。対応点を判定する方法には、非特許文献2に記載されている動的計画法を用いてもよい(S508)。また、動的計画法の代わりに、非特許文献3に記載されている走査線最適化法を用いてもよい。
【0052】
動的計画法によって対応点を判定する場合は次のように行う。まず探索平面を作成する。これは基準画像と参照画像に共通する水平な走査線を二本の座標軸とする平面である。探索平面上の点は、基準画像および参照画像の走査線上にある二点の対応関係を表現する。ある二点をステレオカメラで撮影したとき、それらの点の位置関係は両方の画像で同じになること可能性が高い。つまり、一般的には一方の画像に左右の関係で写った二点は、他方の画像に左側の点と右側の点が入れ替わって写ることはない。したがって探索平面上の対応点は、座標値が基準・参照ともに小さい方から大きい方へ単調に増加する点の列となる。これによって作られる点列の候補の中から、漸化計算を用いて各点のウィンドウコストの合計が最小となる点列を探索し、その点列に含まれる各点を対応点として採用する。
【0053】
走査線最適化法は、探索平面の座標軸を基準画像の水平な走査線および視差とし、基準画像の水平座標が単調増加する点列を候補とする。また連続する二点間の視差が異なる場合にはペナルティとなる値を加える。それ以外は動的計画法と同様の方法によって対応点を決定する。
【0054】
次に、ステレオマッチング装置410は、対応点の判定によって得られた結果を出力し、基準画像の各画素について視差データを記憶する(S510)。
【0055】
修正コストの算出方法について、まず合計による修正コスト算出方法(S505)について図7を参照しながら、説明する。本発明では、奥行きの連続性を注目画素に反映するために、注目画素を挟む水平な二方向だけでなく、複数の任意の方向を考慮して修正コストを算出する。図7に示すように注目画素(x, y)を中心するn個の方向kに累積加算したコストを合計する。なお、8近傍の方向を考慮する場合、n=8であり、8方向となる。このように合計された値には注目画素のウィンドウコストがn倍されて含まれることになる。注目画素の奥行きに対する不要な重みづけを取り除くため、方向数nから1を減じた数に倍する注目画素のウィンドウコストC(x, y, d)を減算し、注目画素の修正コストS(x, y, d)とする。修正コストS(x, y, d)は次の式によって表される。
【0056】
【数5】
【0057】
次に信頼性に基づいて方向ごとに優先順位を与え、奥行きの段差が保存されるよう修正コストを算出する方法(S506)について説明する。図8は累積加算による修正コストの算出方法を示す概要フローチャートである。各画素にn個の方向を順序付けるため、下記の計算によって各方向の信頼性を評価する。すなわち、注目画素の隣接画素を参照し、よりウィンドウコストの小さい画素が存在する方向をより信頼性が高いものとする。まず、注目画素の各方向の隣接画素について最小ウィンドウコストをそれぞれ探索する(S801)。次に、最小ウィンドウコストの集合を降順にソートすることで方向の順位付けを行い(S802)、方向間の累積加算を行う(S803)。
【0058】
図9は、S801における最小ウィンドウコストの探索方法を具体的に示すフローチャートである。注目画素(x, y)に対して方向kで隣接する画素の、視差dに応じて変化するウィンドウコストC(x+a, y+b, d)から、最小値Mk(x+a, y+b)を求める。方向は注目画素に対して相対的なので、最小値の算出は画素ごとに方向の数だけ繰り返す必要はなく、画素ごとに1回ずつ求める。最初の画像座標から注目画素(x, y)として設定し(S901)、方向kで隣接する画素のウィンドウコストの上限値をM(x, y)として設定する(S902)。ウィンドウコストの最小値を求めるために最小視差から最大視差までdの値を1ずつ増やして計算する(S903)。視差dの値に応じて変化するC(x, y, d)がM(x, y)より小さいか判定し(S904)、M(x, y)>C(x, y, d)の場合はC(x, y, d)をM(x, y)として設定する(S905)。このように判定していくことで注目画素(x, y)の方向kにおけるウィンドウコストの最小値を求める(S906)。次の画像座標を(x, y)と設定し(S907)、同様に、また全ての画素についてスキャンを行ってウィンドウコストの最小値を算出していく(S908)。
【0059】
図10は、S802における方向の順位付け方法を具体的に示すフローチャートである。最初の画像座標から注目画素(x, y)として設定し(S1001)、方向の番号と最小ウィンドウコストをn個分、列に格納していく(S1002)。第k方向の隣接画素の相対座標を(a, b)と設定し(S1003)、列rのk番目の要素に第k方向の最小ウィンドウコストM(x+a, y+b)を格納し、列q(x, y)のk番目の要素に方向kの番号を格納し(S1004)、同様にn個分について繰り返す(S1005)。次に列rのウィンドウコストの降順に方向の列q(x, y)をソートする(S1006)。次の画像座標を(x, y)と設定し(S1007)、同様に、すべての画像座標についてスキャンを行って処理を繰り返す(S1008)。以上の処理によって、優先順位iを方向kに対応付ける関数q(x, y, i)を得る。なお、iは数値が大きいほど信頼性が高いものとする。このとき(x, y)の優先順位iについて次の関係が成り立つ。
【0060】
【数6】
【0061】
図11は、S803における方向間の累積加算方法を具体的に示すフローチャートである。最初の画像座標から注目画素(x, y)として設定し(S1101)、優先順位が最下位の方向の累積加算コストを修正コスト計算の初期値として設定する(S1102)。図12は、最下位の方向による初期値の設定方法のフローを示している。まず、q(x, y, 1)より得られる最下位の方向の番号を方向jに設定する(S1201)。次に、dを最小視差から最大視差まで1ずつ増やし(S1202)、j方向の累積加算コストGj(x, y, d)を修正コストS(x, y, d)の初期値とし(S1203)、すべての視差について繰り返す(S1204)。
【0062】
次に残りの方向について累積加算を行っていく(S1103)。図13は、残りの方向による累積加算の算出方法を示すフローチャートである。優先順位の変数iを2から最上位まで順に1ずつ増やすことで順次、累積加算を行っていく(S1301)。すなわち、優先順位を下からi番目とした場合に、q(x, y, i)より得られる第i位の方向の番号を方向jに設定する(S1302)。最小視差から最大視差まで1ずつ増やして累積加算コストを加算していく(S1303)。累積加算コストの加算と最小値の判定処理を行い(S1304)、全ての視差について繰り返す(S1305)。以上の処理によって求めた第i位までの結果を最小視差から最大視差まで1ずつ増やして(S1306)、修正コストS(x, y, d)に代入し(S1307)、すべての視差について繰り返す(S1308)。同様に、全ての順位の方向について繰り返す(S1309)。
【0063】
加算と最小値の判定処理(S1304)について、図14により説明する。修正コストの上限値をBと設定する(S1401)。すでに計算された下位の方向の計算結果のうち、視差dとの差が奥行きの連続性が反映される範囲mに含まれる視差d’について(S1402)、Bが修正コストS(x, y, d)にペナルティ関数t(d, d’)を加算した値よりも大きいか判定する。Bの値よりも大きい場合はS(x, y, d)+t(d, d’)をBに代入し(S1404)、そうでない場合はBを変えない。同様に、範囲内の全ての視差d’について繰り返す(S1405)。方向jの累積加算コストに求めた最小値を積算し、S’(d)に代入する(S1406)。
【0064】
図11に戻り、このようにしてすべての方向における累積加算を行った後、注目画素のウィンドウコストを最小視差から最大視差まで全ての視差の値において累積加算した修正コストから減算する処理を行う(S1104)。つまり、S(x, y, d)−C(x, y, d)を修正コストS(x, y, d)とする処理を繰り返す(S1105、S1106)。そして次の画像座標へと移り、すべての画素について累積加算により修正コストを得る。
【0065】
このように、各方向について累積加算したコストを、さらに方向間で累積加算することによって段差を保存する修正コストを得る。注目画素から離れた画素のウィンドウコストは注目画素の修正コストに与える影響が小さくなる。累積加算の方法を各方向の結果にも適用し、信頼性の低い方向から高い方向へ処理を進めることによって、確からしい方向の結果ほどより強く修正コストに反映させる。累積加算によって求める場合の、n個の方向に基づく修正コストS(x, y, d)は次の式によって表される。
【0066】
【数7】
【0067】
次に、本発明の適用例を説明する。図15は、入力するステレオ画像の例を示している。この画像には、背景にテクスチャの弱い領域である壁面や類似するテクスチャが水平方向に続く領域がある。本発明の画像処理装置により、8方向において修正コストを算出してステレオマッチング処理を行い、三次元計測を行った結果が図16である。このように、本発明を適用することで、複数の面によって奥行きに段差が形成されているような画像においても正確にステレオマッチング処理を行うことができる。
【産業上の利用可能性】
【0068】
本発明は、ステレオ画像をもとに視差データを算出する画像処理装置に適用可能である。
【符号の説明】
【0069】
401a,b 画像取得手段
402 画像入力部
403 ステレオ画像記憶手段
404 ウィンドウコスト計算処理部
405 累積加算コスト計算処理部
406 修正コスト計算処理部
407 対応点判定部
408 視差記憶手段
409 立体表示手段
410 ステレオマッチング装置
【特許請求の範囲】
【請求項1】
第一の画像取得手段からの第一の画像と第二の画像取得手段からの第二の画像が入力される画像入力手段と、
前記第一の画像の第一の画素データを相互に異なる位置に含む複数の第一のウィンドウの各々について、当該第一ウィンドウと、指定された視差データに対応した前記第二の画像の第二のウィンドウとの間の非類似性に応じた評価値であるウィンドウコストを生成するウィンドウコスト計算処理手段と、
前記第一のウィンドウのウィンドウコストに、前記第一の画素データに隣接する任意の方向にある三以上の画素データのウィンドウコストを累積加算する累積加算コスト計算処理手段と、
前記累積加算コスト計算処理手段により計算された累積加算コストを修正する修正コストを計算する修正コスト計算処理手段と、
前記修正コストに基づいて前記第一の画像の画素データそれぞれの対応点を前記第二の画像において求め、視差データを出力する対応点判定手段と、
前記視差データを記憶する視差データ記憶手段と、を
有するステレオ画像処理装置。
【請求項2】
前記修正コスト計算処理手段は、累積加算した方向各々のウィンドウコストを合計し、累積加算した隣接する画素データの数から一を減じた数倍の前記第一の画素データのウィンドウコストを、合計したウィンドウコストから減算することで修正コストを計算することを特徴とする請求項1記載のステレオ画像処理装置。
【請求項3】
前記修正コスト計算処理手段は、隣接する方向それぞれの信頼性を評価し、評価値に基づいてそれぞれの方向に対応する隣接する画素データのウィンドウコストを累積加算することで修正コストを計算することを特徴とする請求項1記載のステレオ画像処理装置。
【請求項4】
前記対応点判定手段は、ウィンドウコストが最小値となる第二の画像データにおける画素データを対応点として判定することを特徴とする請求項1記載のステレオ画像処理装置。
【請求項5】
前記対応点判定手段は、動的計画法により対応点を判定することを特徴とする請求項1記載のステレオ画像処理装置。
【請求項6】
第一の画像取得手段からの第一の画像と第二の画像取得手段からの第二の画像が入力される画像するステップ、
前記第一の画像の第一の画素データを相互に異なる位置に含む複数の第一のウィンドウの各々について、当該第一ウィンドウと、指定された視差データに対応した前記第二の画像の第二のウィンドウとの間の非類似性に応じた評価値であるウィンドウコストを生成するウィンドウコストを計算処理するステップ、
前記第一のウィンドウのウィンドウコストに、前記第一の画素データに隣接する三以上の画素データのウィンドウコストを累積加算するウィンドウコスト累積加算ステップ、
前記ウィンドウコスト累積加算ステップにより計算された累積加算コストを修正する修正コストを計算する修正コスト計算処理ステップ、
前記修正コストに基づいて前記第一の画像の画素データそれぞれの対応点を前記第二の画像において求め、視差データを出力する対応点判定ステップ、
前記視差データを記憶するステップと、を
有するステレオ画像処理方法。
【請求項1】
第一の画像取得手段からの第一の画像と第二の画像取得手段からの第二の画像が入力される画像入力手段と、
前記第一の画像の第一の画素データを相互に異なる位置に含む複数の第一のウィンドウの各々について、当該第一ウィンドウと、指定された視差データに対応した前記第二の画像の第二のウィンドウとの間の非類似性に応じた評価値であるウィンドウコストを生成するウィンドウコスト計算処理手段と、
前記第一のウィンドウのウィンドウコストに、前記第一の画素データに隣接する任意の方向にある三以上の画素データのウィンドウコストを累積加算する累積加算コスト計算処理手段と、
前記累積加算コスト計算処理手段により計算された累積加算コストを修正する修正コストを計算する修正コスト計算処理手段と、
前記修正コストに基づいて前記第一の画像の画素データそれぞれの対応点を前記第二の画像において求め、視差データを出力する対応点判定手段と、
前記視差データを記憶する視差データ記憶手段と、を
有するステレオ画像処理装置。
【請求項2】
前記修正コスト計算処理手段は、累積加算した方向各々のウィンドウコストを合計し、累積加算した隣接する画素データの数から一を減じた数倍の前記第一の画素データのウィンドウコストを、合計したウィンドウコストから減算することで修正コストを計算することを特徴とする請求項1記載のステレオ画像処理装置。
【請求項3】
前記修正コスト計算処理手段は、隣接する方向それぞれの信頼性を評価し、評価値に基づいてそれぞれの方向に対応する隣接する画素データのウィンドウコストを累積加算することで修正コストを計算することを特徴とする請求項1記載のステレオ画像処理装置。
【請求項4】
前記対応点判定手段は、ウィンドウコストが最小値となる第二の画像データにおける画素データを対応点として判定することを特徴とする請求項1記載のステレオ画像処理装置。
【請求項5】
前記対応点判定手段は、動的計画法により対応点を判定することを特徴とする請求項1記載のステレオ画像処理装置。
【請求項6】
第一の画像取得手段からの第一の画像と第二の画像取得手段からの第二の画像が入力される画像するステップ、
前記第一の画像の第一の画素データを相互に異なる位置に含む複数の第一のウィンドウの各々について、当該第一ウィンドウと、指定された視差データに対応した前記第二の画像の第二のウィンドウとの間の非類似性に応じた評価値であるウィンドウコストを生成するウィンドウコストを計算処理するステップ、
前記第一のウィンドウのウィンドウコストに、前記第一の画素データに隣接する三以上の画素データのウィンドウコストを累積加算するウィンドウコスト累積加算ステップ、
前記ウィンドウコスト累積加算ステップにより計算された累積加算コストを修正する修正コストを計算する修正コスト計算処理ステップ、
前記修正コストに基づいて前記第一の画像の画素データそれぞれの対応点を前記第二の画像において求め、視差データを出力する対応点判定ステップ、
前記視差データを記憶するステップと、を
有するステレオ画像処理方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【公開番号】特開2012−181142(P2012−181142A)
【公開日】平成24年9月20日(2012.9.20)
【国際特許分類】
【出願番号】特願2011−45223(P2011−45223)
【出願日】平成23年3月2日(2011.3.2)
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成19年度、経済産業省委託研究「中小・ベンチャー企業の検査・計測機器等の調達に向けた実証研究事業/産業技術研究開発事業/中小企業支援型/農水産物等インライン不定形ワークの高精度三次元計測システムの研究開発」産業技術力強化法第19条の適用を受ける特許出願
【出願人】(301021533)独立行政法人産業技術総合研究所 (6,529)
【Fターム(参考)】
【公開日】平成24年9月20日(2012.9.20)
【国際特許分類】
【出願日】平成23年3月2日(2011.3.2)
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成19年度、経済産業省委託研究「中小・ベンチャー企業の検査・計測機器等の調達に向けた実証研究事業/産業技術研究開発事業/中小企業支援型/農水産物等インライン不定形ワークの高精度三次元計測システムの研究開発」産業技術力強化法第19条の適用を受ける特許出願
【出願人】(301021533)独立行政法人産業技術総合研究所 (6,529)
【Fターム(参考)】
[ Back to top ]