説明

画像処理装置、画像処理方法、及び画像処理プログラム

【課題】精度の高いサブピクセルレベルの対応点を推定する。
【解決手段】2つの画像の一方を基準画像、他方を参照画像としてマッチングブロックを行うためのブロック形状を設定するブロック形状設定手段と、前記ブロック形状設定手段により設定されたブロック形状に基づいて、前記基準画像におけるブロック位置を設定する基準画像ブロック位置設定手段と、前記参照画像において、前記基準画像ブロック位置設定手段により設定されたブロック位置に対応する位置の近傍に複数のブロックを設定する参照画像ブロック位置設定手段と、前記基準画像内に設定されたブロックと、前記参照画像ブロック位置設定手段により設定された複数のブロックとの相関評価値を算出する評価値演算手段とを有し、前記ブロック形状設定手段は、前記基準画像の含まれる対象物の形状に応じて前記ブロック形状を設定することにより上記課題を解決する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置、画像処理方法、及び画像処理プログラムに関する。
【背景技術】
【0002】
近年、例えばカメラにより撮影された画像から3次元形状を取得する方法として、ステレオカメラのように異なる視点から撮影した2つの画像を用いる方法が知られている。この方法では、2つの画像間において対応付けを行い、相互に対応する点から視差を求め、被写体までの距離情報を取得する。なお、対応点の探索方法としては、例えば一方の基準画像上の注目点に対して注目点を含むブロックを設定し、他方の参照画像上に同サイズのブロックを画素(ピクセル)単位で複数設定する。このように設定した基準画像上のブロックと、参照画像上の各ブロック間で相関値を算出し、最も相関値が高い参照画像上のブロックを探索することで対応点を探索する。
【0003】
ここで、3次元画像における距離分解能を上げるためには、視差の分解能を上げれば良い。視差の分解能を上げるためには、画素レベルよりも細かい精度で対応付けを行えば良い。そこで、例えばサブピクセルレベルでの画素の対応付けを行う。なお、サブピクセルレベルでの画素の対応付けは、例えば画素レベルで求めた相関値をサブピクセル推定モデルに当てはめる処理(フィッティング処理)を行うことで、サブピクセルレベルの対応点を推定する方法が用いられている。
【0004】
なお、従来では、サブピクセル精度で対応点を推定するため、最も相関値の高い位置とその周辺の相関値との位置関係から画素と画素との間の相関値を直線式又は曲線式に当てはめることによって補間し、相関値のピーク位置及びピーク値を推定する方法が知られている(例えば、特許文献1参照)。また、ピーク位置及びピーク位置の周辺における相関値とサブピクセル推定モデルとの合致度に基づいてサブピクセル推定モデルを選択する方法が知られている(例えば、特許文献2参照)。また、4点の相関値を用いてサブピクセルレベルの対応点を推定する折れ線と放物線の和をとったサブピクセル推定モデルの関数が知られている(例えば、非特許文献1参照)。
【0005】
更に、窓内の視差、雑音と画像の微分の分布を正規分布と仮定したMAP推定により視差の分散と平均値を求め、視差の分散を最小にする窓を、相関演算を行う窓と決定する方法が知られている(例えば、非特許文献2参照)。また、視差の不連続を反映した適応窓を設定することによって視差が不連続付近での分解能の向上を図る視差演算方法が知られている(例えば、特許文献3参照)。なお、サブピクセル視差の検出精度を高めるために、複数のステレオ画像から得られる相関値を加算する複眼撮像装置が知られている(例えば、特許文献4参照)
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、上述したステレオカメラは、例えば2台のカメラを利用して構成するため、その形状が大きくなり、設置したい場所に設置することができない場合も生じる。そこで、例えばレンズアレイを用いて、1つの画像センサで複数の視点の画像を取得し、その複数の画像から距離情報を得る超小型のステレオカメラが研究されている。また、例えば2つの画像センサをシリコンウェハ上に隣接して形成し、その上にレンズアレイを搭載して各センサから視点の異なる画像を得ることも研究されている。
【0007】
一方、上述した超小型ステレオカメラは、従来のステレオカメラと異なり、その基線長(レンズ間の距離)が非常に小さい。例えばカメラ2台を用いた従来のステレオカメラの基線長が10cm前後の場合でも、超小型ステレオカメラでは、数mm程度である。ここで、ステレオカメラを用いた測距原理として基線長が小さい場合には、検出可能な視差も小さくなる。すなわち、所定の距離にある被写体を撮影したときに、例えば10cm程度の基線長を持つステレオカメラが検出できる視差が50画素程度とすると、例えば2mm程度の基線長を持つステレオカメラの場合、カメラの焦点距離が変わらないと仮定するとその検出できる視差は1画素程度となってしまう。これは、サブピクセルレベルの視差の距離測定精度に与える度合いが、前者のカメラの場合には1%程度であるのに対し、後者のカメラの場合にはほぼ100%となる。すなわち、基線長の小さい超小型ステレオカメラの場合、その距離測定精度がサブピクセルレベルの視差検出(対応点付け)精度に大きく依存することとなる。
【0008】
したがって、上述したサブピクセルレベルの視差検出精度は、従来の大きさのステレオカメラでは問題とならなかったのに対し、超小型ステレオカメラでは重要な問題となってくる。ここで、図1及び図2を用いて、上述したサブピクセルレベルの視差検出精度が与える問題について説明する。
【0009】
図1は、所定距離にある物体を撮影した基準画像と参照画像を用いてブロックマッチングを行う方法を説明するための図である。また、図2は、基準画像のブロックに対して参照画像に設定したブロックが所定画素ずれている場合を説明するための図である。
【0010】
上述した対応点を探索するためにブロック単位の相関値を求める方法は、ブロックマッチングといわれ、通常、そのブロック形状は正方形が使用されている。ブロック形状が正方形の場合、上下左右対称となるため、ソフトウェアやハードウェアの演算では扱いやすい。ところで、現実の世の中の物体形状を鑑みると、その形状は水平線と垂直線で構成されているものが多い。
【0011】
ここで、図1(A)を基準画像として、図1(B)を参照画像とした場合に、基準画像と参照画像には左右方向に1画素の視差があるものとする。図1(A)に示す基準画像に点Aを中心とした正方形のブロックを設定し、図1(B)に示す参照画像に同じ形状、同じ大きさのブロックを複数設定して対応点探索を行う。
【0012】
図2(A)に示す基準画像のブロックに対して、相関値が最大となる参照画像のブロック位置は、図2(A')に示す参照画像の破線で囲まれたブロック位置である。すなわち、図2(A')に示す参照画像の点A'が、図2(A)に示す基準画像の点Aに最も近い画素単位の対応点である。
【0013】
上述した図2(A')に示す参照画像のブロックが1画素左にずれたときの参照画像のブロック位置は、図2(B')に示す参照画像のブロック位置となる。この場合、図2(B')に示す参照画像のブロックの左端部分は、図2(B)に示す基準画像のブロックの左端部分とは大きく異なる画素(画像)輝度値を有し、図2(B)及び図2(B')に示す中心付近の画素輝度値の差分に相当する相関の低下に加えて更に相関が小さくなる(例えば、SAD(Sum of Absolute Difference:各ブロックの対応する画素値の差分の絶対値和)やSSD(Sum of Squared Difference:各ブロックの対応する画素値の差分二乗和)の場合には評価値が大きくなる)。
【0014】
一方、図2(C')のように、参照画像のブロック位置が図2(C)に示す基準画像のブロックと1画素右にずれたときの相関は、図2(C)及び図2(C')に示す基準画像と参照画像のブロック境界はその画素輝度値の差が大きく異なっていない。そのため、相関は中心付近の画素輝度値の差分に相当する値だけ小さくなる。
【0015】
ここで、図3は、図2に示す基準画像のブロックと参照画像のブロックとの相関関係をグラフ上にプロットした図である。なお、図3(A)〜(C)は、二次曲線フィッティングを示している。
【0016】
図3(A)は、横軸が探索画素位置を示し、縦軸はNCC(Normalize Cross Correlation:正規化相互相関法:各ブロックの対応画素値の積和を正規化する)評価値を示している。また、図3(B)は、横軸が探索画素位置を示し、縦軸がSAD評価値、SSD評価値を示している。また、図3(C)は、横軸が探索画素位置を示し、縦軸が相関値を示している。
【0017】
図3(A)の場合は、相関が最大の時に評価値が最大となり、図3(B)の場合は、相関が最大の時にその評価値が最小となる。
【0018】
上述したように図2に示す基準画像と参照画像とは、1画素の視差があるため、理想的にはその相関関係は、図3(C)に示す画素単位の対応点(すなわち図3(C)の例では探索画素位置1の点)を中心に対称となり、サブピクセルレベルで視差は発生しない。
【0019】
これに対して、図3(A)及び図3(B)の図では、相関関係が最大となる場合の対応点を中心に左右対称とならず、サブピクセルレベルでの視差が発生している。すなわち、対応点探索のサブピクセルレベルの推定を行った場合には、二次曲線フィッティング又は等角直線フィッティングのいずれの方法をとってもサブピクセル値は「0」にならず、「0」以外の値を有することになる。
【0020】
これは、対応点探索のサブピクセル推定を行ったときの検出誤差となり、上述した超小型ステレオカメラにとって大きな問題となる。
【0021】
なお、上述した特許文献1、特許文献2、及び非特許文献1に示される手法では,サブピクセル推定精度を向上させる方法が記載されているが、いずれの方式でも、上述した相関値を求める際の問題点については言及していない。また、上述した非特許文献2や特許文献3に示される手法では、対応点付けの精度を向上させるために、ブロックの形状やサイズを変更したりしているが、ブロックが矩形状であるため、ブロックの境界が被写体の境界と一致し、上述した相関関係に影響を及ぼす問題を解決していない。更に、特許文献4に示される手法でも同様にブロック形状は矩形状となっている。
【0022】
本発明は、上記の課題に鑑みてなされたものであり、精度の高いサブピクセルレベルの対応点を推定する画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【0023】
本発明は、上記目的を達成するための画像処理装置であり、2つの画像の一方を基準画像、他方を参照画像としてマッチングブロックを行うためのブロック形状を設定するブロック形状設定手段と、前記ブロック形状設定手段により設定されたブロック形状に基づいて、前記基準画像におけるブロック位置を設定する基準画像ブロック位置設定手段と、前記参照画像において、前記基準画像ブロック位置設定手段により設定されたブロック位置に対応する位置の近傍に複数のブロックを設定する参照画像ブロック位置設定手段と、前記基準画像内に設定されたブロックと、前記参照画像ブロック位置設定手段により設定された複数のブロックとの相関評価値を算出する評価値演算手段とを有し、前記ブロック形状設定手段は、前記基準画像の含まれる対象物の形状に応じて前記ブロック形状を設定することを特徴とする。
【0024】
また、本発明は、画像処理方法であり、2つの画像の一方を基準画像、他方を参照画像としてマッチングブロックを行うためのブロック形状を設定するブロック形状設定手順と、前記ブロック形状設定手順により設定されたブロック形状に基づいて、前記基準画像におけるブロック位置を設定する基準画像ブロック位置設定手順と、前記参照画像において、前記基準画像ブロック位置設定手順により設定されたブロック位置に対応する位置の近傍に複数のブロックを設定する参照画像ブロック位置設定手順と、前記基準画像内に設定されたブロックと、前記参照画像ブロック位置設定手順により設定された複数のブロックとの相関評価値を算出する評価値演算手順とを有し、前記ブロック形状設定手順は、前記基準画像の含まれる対象物の形状に応じて前記ブロック形状を設定することを特徴とする。
【0025】
また、本発明は、コンピュータを、上述した画像処理装置として機能させるための画像処理プログラムである。
【発明の効果】
【0026】
本発明によれば、精度の高いサブピクセルレベルの対応点を推定することを可能とする。
【図面の簡単な説明】
【0027】
【図1】所定距離にある物体を撮影した基準画像と参照画像を用いてブロックマッチングを行う方法を説明するための図である。
【図2】基準画像のブロックに対して参照画像に設定したブロックが所定画素ずれている場合を説明するための図である。
【図3】図2に示す基準画像のブロックと参照画像のブロックとの相関関係をグラフ上にプロットした図である。
【図4】本実施形態に係る画像処理装置を含むステレオカメラ装置の構成を示す図である。
【図5】図4に示すレンズアレイにより撮影された画像を示す図である。
【図6】本実施形態に係るマッチングブロックについて説明するための図である。
【図7】本実施形態に係るマッチングブロックが所定画素ずれている例を説明するための図である。
【図8】本実施形態に係る相関演算手段の機能構成を示す図である。
【図9】本実施形態に係る画像処理装置の機能を実現するハードウェア構成の一例を示す図である。
【図10】本実施形態に係る相関演算処理の流れを示すフローチャートである。
【図11】相関演算手段により得られた値を用いたサブピクセルの推定方法を説明するための図である。
【図12】本実施形態に係る他のマッチングブロックについて説明するための図である。
【発明を実施するための形態】
【0028】
以下、本発明の実施の形態について詳細に説明する。
【0029】
<ステレオカメラ装置の構成>
図4及び図5を用いて、本実施形態に係る画像処理装置を含むステレオカメラ装置について説明する。図4は、本実施形態に係る画像処理装置を含むステレオカメラ装置の構成を示している。また、図5は、レンズアレイにより撮像された画像を示している。
【0030】
図4に示すように、本実施形態に係るステレオカメラ装置100は、例えば1台の超小型ステレオカメラであり、撮像手段10と画像処理装置11とを有するように構成される。
【0031】
撮像手段10は、レンズアレイと、画像センサと、遮光壁を有し、左右に視点の異なる画像を撮像する。図5に示す左側の画像Lは、図4に示す右側のレンズBにより撮影した画像であり、図5に示す右側の画像Rは、図4に示す左側のレンズCにより撮影した画像である。
【0032】
画像処理装置11は、シェーディング補正手段20と、歪み補正手段30と、相関演算手段40と、サブピクセル視差推定手段50と、距離算出手段60とを有するように構成される。
【0033】
シェーディング補正手段20は、撮像手段10から取得した画像に対してシェーディング補正を実行する。シェーディング補正手段20は、例えば左右のカメラの明るさの差や画像周辺の暗さを修正する。シェーディング補正手段20は、例えば予め画素の輝度値に乗算すべき値を記憶したシェーディング補正用のテーブルを用意しておき、テーブルの値を輝度値に乗じて画素の明暗を補正しても良い。
【0034】
歪み補正手段30は、シェーディング補正手段20によりシェーディング補正された画像に対して歪み補正を実行する。歪み補正手段30は、例えば左右の画像それぞれが持つ歪みを補正する。歪み補正手段30は、例えばレンズの特性に由来する歪みをもって撮影された画像をピンホールカメラが撮影したような歪みのない画像に補正する。歪み補正手段30は、公知の方法を用いて、例えば予め作成しておいたルックアップテーブルを用いて歪み補正を行っても良く、高次の多項式を用いて歪み状態を近似した補正多項式を用いて歪みを取り除いても良い。
【0035】
相関演算手段40は、歪み補正手段30により歪みが補正された左右の画像に対してブロックマッチングを用いながら左右の画像の相関を計算する。このとき、左右の画像の一方を基準画像とし、他方を参照画像とする。なお、以下の例では、相関演算手段40は、図5に示す左側の画像L(右側のレンズBで撮影された画像)を基準画像、右側の画像R(左側のレンズCで撮影された画像)を参照画像として、ブロックマッチングを行いながら左右の画像の相関値を算出するが、本発明においてはこれに限定されるものではなく、基準画像と参照画像を逆にしても良い。なお、相関演算手段40による具体的な相関演算方法については後述する。
【0036】
サブピクセル視差推定手段50は、相関演算手段40により得られた相関評価値及び極値位置に基づき、サブピクセル視差を推定する。例えばサブピクセル視差推定手段50は、相関の評価値列を入力とし、視差の評価値の極小値(例えばSSD、SAD)、あるいは極大値(NCC)を与える相関評価値とその評価値の左右にある1画素ずらした位置での相関評価値を取得する。
【0037】
また、サブピクセル視差推定手段50は、上述のように算出した3つの評価値から対応点のサブピクセル位置を推定する。例えば、サブピクセル視差推定手段50は、SADをブロックマッチングに使用した場合には、等角直線フィッティングを用いて対応点のサブピクセル位置を推定する。また、サブピクセル視差推定手段50は、SSDやNCCを用いた場合には2次曲線フィッティングを用いて対応点のサブピクセル値を推定する。なお、等角直線フィッティング及び2次曲線フィッティングを用いた推定方法については後述する。
【0038】
距離算出手段60は、サブピクセル視差推定手段50により推定された対応点のサブピクセル位置(サブピクセルレベルの視差)を用いて被写体(対象物)までの距離を算出する。距離算出手段60は、例えば被写体までの距離を計算する式としてZ=Bf/(D−offset)を用いて上述した点Aにおける被写体までの距離を算出する。ここで、Zは被写体までの距離を意味し、Bは基線長(レンズ間の距離)を意味し、fは焦点距離を意味し、Dは視差を意味する。
【0039】
距離算出手段60は、上述した式を用いて距離が計算可能な画素全てに対して、距離を算出する。これにより、距離画像が得られる。
【0040】
<本実施形態に係るマッチングブロックについて>
次に、図6及び図7を用いて、本実施形態に係るマッチングブロックについて説明する。図6は、本実施形態に係るマッチングブロックについて説明するための図である。また、図7は、本実施形態に係るマッチングブロックが所定画素ずれている例を説明するための図である。
【0041】
図6(A)に示すように、基準画像の対応点探索を行う点を点Aとして設定し、その点Aを中心としたブロックを設定する。本実施形態では、例えばブロックの形状の一例として菱形を用いることとし、そのサイズを菱形の対角線を基準に設定するものとし、例えば対角線で横方向16画素、縦方向16画素とする。なお、画素数については、これに限定されるものではない。
【0042】
次に、図6(B)に示すように、図6(A)において設定したブロックと同一サイズの同一形状のブロックを参照画像上に複数設定する。
【0043】
相関演算手段40は、基準画像の点Aを中心とした菱形のブロックと、参照画像上に複数設定したブロックとの相関を計算し、その評価値を得る。なお、本実施形態では、ステレオ画像の性質上、左側の画像L(基準画像)の点Aに対応する点は、右側の画像R(参照画像)上では点Aに相当する位置と同じ位置にあるか、その位置より右側にしか存在しない。
【0044】
したがって、参照画像の複数のブロックの位置は、図6(B)に示すように、点Aと同じ位置の水平ライン上を左に数画素(最低1画素)移動させた位置から右に測定したい最短距離に相当する視差分の画素に、更に数画素(最低1画素)だけ移動させた位置まで1画素ずつ移動させて設定する。
【0045】
上述のように左右に設定する余分な数画素のブロック位置は、例えばサブピクセル視差を推定するために1画素ずつ必要であり、また基準画像と参照画像とがレンズの製造誤差等によりオフセットをもつ場合に備えるためである。
【0046】
相関演算手段40による相関評価値の算出方法は、従来用いられているSAD、SSD、NCC等を用いると良い。図6に示すブロック形状の場合には、上述した図1に示すような画像を撮影した場合でも、図2の例とは異なる比較が行われる。例えば、図7(A)〜(C)では、菱形ブロックどうしを比較することになり、ブロック端付近での相関を低下させる画素輝度値の大きな差を軽減することが可能になる。
【0047】
すなわち、上述した図2におけるブロック端での相関を低下させる原因を大きく低減させて、中心付近の位置ずれのみが相関に反映されることになり、望ましい相関の評価値を得ることが可能となる。
【0048】
<相関演算手段の機能構成>
次に、図8を用いて、上述した相関演算手段40の機能構成に説明する。図8は、本実施形態に係る相関演算手段の機能構成を示している。図8に示すように相関演算手段40は、ブロック形状設定手段41と、基準画像ブロック位置設定手段42と、参照画像ブロック位置設定手段43と、評価値演算手段44と、極値検出手段45とを有するように構成される。
【0049】
ブロック形状設定手段41は、例えば2つの画像の一方を基準画像、他方を参照画像としてマッチングブロックを行うための演算ブロックの形状(ブロック形状)と大きさを設定する。ここで、ブロック形状設定手段41は、基準画像において対応点探索を行う所定の点を中心としたブロックを設定する場合に、基準画像に含まれる被写体である対象物の形状に応じてブロック形状を設定すると良い。
【0050】
具体的には、ブロック形状設定手段41は、対象物の境界部分に沿った垂直線を含まない形状をブロック形状として設定し、例えばブロック形状を菱形形状、垂直線を含まない六角形等の多角形形状、円形形状、楕円形状等に設定すると良い。ブロック形状設定手段41は、例えばブロック形状を菱形形状とする場合、例えば所定の点を中心として対角線で横方向16画素、縦方向16画素とするブロック形状を設定する。
【0051】
また、ブロック形状設定手段41は、予め設定された形状の異なる複数のブロック形状のうち、対象物に応じて少なくとも一つのブロック形状を設定しても良い。
【0052】
基準画像ブロック位置設定手段42は、ブロック形状設定手段41により設定されたブロック形状に基づいて、基準画像におけるブロック位置を設定する。
【0053】
参照画像ブロック位置設定手段43は、参照画像において、基準画像ブロック位置設定手段42で設定されたブロック位置に対応する位置の近傍に複数のブロックを設定する。参照画像ブロック位置設定手段43は、図6等において説明したように、例えば所定の点(図6の例では点A)と同じ位置の水平ライン上を左に数画素(最低1画素以上)移動させた位置から右に測定したい最短距離に相当する視差分の画素に、更に数画素(最低1画素以上)移動させた位置まで1画素ずつ移動させて設定する。
【0054】
評価値演算手段44は、基準ブロック位置設定手段42により設定された基準画像内のブロックと、参照画像ブロック位置設定手段43により参照画像内に設定された複数のブロックとをそれぞれ所定の演算を行うことで相関評価値を算出する。評価値演算手段44は、相関評価値を算出する所定の演算として、上述したSAD、SSD、NCC等を用いて、上述した各ブロック間の相関評価値を得る。
【0055】
極値検出手段45は、評価値演算手段44により得られた複数の相関評価値からその極値とその位置を検出し、複数の相関評価値及びその極値の位置を出力する。
【0056】
<ハードウェア構成>
次に、図9を用いて、上述した画像処理装置11の機能を実現するハードウェア構成について説明する。図9は、本実施形態に係る画像処理装置の機能を実現するハードウェア構成の一例を示している。
【0057】
図9に示す画像処理装置11には、入力装置71と、出力装置72と、ドライブ装置73と、補助記憶装置74と、メモリ装置75と、各種制御を行う演算処理装置(CPU:Central Processing Unit)76と、ネットワーク接続装置77と、記録媒体78とを有するよう構成されており、これらはシステムバスBで相互に接続されている。
【0058】
入力装置71は、ユーザが操作する操作ボタン等を有しており、ユーザからのプログラムの実行等、各種操作信号を入力する。出力装置72は、本発明における処理を行うのに必要な各種ウィンドウやデータ等を表示するディスプレイ等を有し、CPU76が有する制御プログラムによりプログラムの実行経過や結果等を表示することができる。
【0059】
ここで、画像処理装置11にインストールされる実行プログラムは、記録媒体78等により提供される。プログラムを記録した記録媒体78は、ドライブ装置73にセット可能であり、記録媒体78に含まれる実行プログラムが、記録媒体78からドライブ装置73を介して補助記憶装置74にインストールされる。
【0060】
なお、記録媒体78は、例えばCD−ROMの他、フレキシブルディスク、光磁気ディスク等のように情報を光学的、電気的或いは磁気的に記録する記録媒体、ROM、フラッシュメモリ等のように情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。
【0061】
補助記憶装置74は、ハードディスク等のストレージ手段であり、本発明における実行プログラムや、コンピュータに設けられた制御プログラム、各種データ等を蓄積し必要に応じて入出力を行うことができる。
【0062】
メモリ装置75は、CPU76により補助記憶装置74から読み出された実行プログラム等を格納する。なお、メモリ装置75は、ROM(Read Only Memory)やRAM(Random Access Memory)等からなる。
【0063】
CPU76は、OS(Operating System)等の制御プログラム、メモリ装置75により格納されている実行プログラムに基づいて、各種演算や各ハードウェア構成部とのデータの入出力等、コンピュータ全体の処理を制御して上述した各機能及び後述する相関演算処理を実現することができる。また、プログラムの実行中に必要な各種情報は、補助記憶装置78から取得することができ、また格納することもできる。
【0064】
ネットワーク接続装置77は、通信ネットワーク等と接続することにより、実行プログラムを通信ネットワークに接続されている他の端末等から取得したり、プログラムを実行して得られる実行結果又は本発明における実行プログラム自体を他の端末等に提供したりすることができる。
【0065】
上述したようなハードウェア構成により、特別な装置構成を必要とせず、低コストで効率的に上述した各機能及び後述する相関演算処理を実現することができる。また、プログラムをインストールすることにより、上述した各機能及び後述する各相関演算処理を容易に実現することができる。
【0066】
<相関演算処理について>
次に、図10を用いて、上述した相関演算手段40による相関演算処理の流れについて説明する。図10は、本実施形態に係る相関演算処理の流れを示すフローチャートである。
【0067】
図10に示すように、相関演算手段40に、上述した各補正手段により補正された基準画像、参照画像が入力されると(S10)、ブロック形状設定手段41は、ブロックマッチングに用いるブロック形状を設定する(S11)。
【0068】
次に、基準画像ブロック位置設定手段42は、ブロック形状設定手段41により設定されたブロック形状を用いて基準画像のブロック位置を設定する(S12)。
【0069】
次に、参照画像ブロック位置設定手段43は、参照画像において基準画像ブロック位置設定手段41により設定されたブロック位置に対応する位置の近傍に複数のブロック位置を設定する(S13)。
【0070】
次に、評価値演算手段44は、基準ブロック位置設定手段42により設定された基準画像内のブロックと、参照画像ブロック位置設定手段43により参照画像内に設定された複数のブロックとをそれぞれ所定の演算を行うことにより相関評価値を算出する(S14)。
【0071】
次に、相関演算手段40により入力された全画素に対して処理がなされたか判断する(S15)。全画素に対して処理がなされていないと判断した場合には(S15において、NO)、S12の処理に戻り、他の画素について同様の処理を行う。
【0072】
全画素に対して処理がなされたと判断された場合には(S15において、YES)、極値検出手段45は、評価値演算手段44により得られた複数の相関評価値からその極値とその位置を検出し(S16)、複数の相関評価値及びその極値位置を出力し(S17)、処理を終了する。
【0073】
<サブピクセルの推定方法>
次に、図11を用いて、上述した相関演算手段40により得られた相関評価値及び極値位置に基づきサブピクセルを推定する方法について説明する。図11は、相関演算手段により得られた値を用いたサブピクセルの推定方法を説明するための図である。なお、図11(A)は、等角直線を用いたフィッティングを示す図である。横軸は、探索画素位置を示し、縦軸はSAD評価値を示している。
【0074】
サブピクセル視差推定手段50は、図11(A)に示す図から対応点のサブピクセル位置を推定するため、まず、SAD評価値の一番小さいP1と、P1と隣接する2つのSAD評価値(P0とP2)のうち評価値の大きいP0とを結ぶ直線を引く。次に、P2を通り、P0とP1を結んだ直線を左右反転させた直線と平行な直線を引く。次に、サブピクセル視差推定手段50は、2つの直線の交点を対応点のサブピクセル位置として推定する。
【0075】
図11(B)は、2次曲線を用いたフィッティングを示す図である。横軸は、探索画素位置を示し、縦軸は、SSD評価値を示している。
【0076】
サブピクセル視差推定手段50は、図11(B)に示す図から対応点のサブピクセル位置を推定するため、まず、図11(B)に示す3点(P0、P1、P2)を用いて、2次曲線の当てはめを行い、2次曲線の頂点を決定する。サブピクセル視差推定手段50は、この頂点の位置を対応点のサブピクセル位置として推定する。
【0077】
上述したように、サブピクセル視差推定手段50によりサブピクセルレベルの視差(対応点)を検出することができる。
【0078】
<その他のブロック形状>
次に、図12を用いて、本実施形態に係る他のマッチングブロックの例について説明する。図12は、本実施形態に係る他のマッチングブロックについて説明するための図である。上述したように、世の中の風景や人間が作った構造物は垂直方向にその境界をもつものが大部分を占めるため、ブロック形状を被写体との平行部分が小さいようなものであれば菱形以外でも効果がある。
【0079】
図12(A)は、ブロック形状を円状にした場合を示している。上述した16×16画素の菱形のブロック形状は、例えば16×16画素の正方形よりも相関に使用する画素数が小さく、ノイズの影響を受けやすい場合も考えられるため、円状のブロック形状を用いてブロックマッチングを行っても良い。
【0080】
図12(B)は、ブロック形状を六角形にした場合を示している。六角形のブロック形状の場合には、例えば16×16画素の正方形のブロックに近い画素数を確保することができるため、ノイズの耐性とサブピクセル推定精度とを両立することが可能となる。
【0081】
また、上述したブロック形状の他にも例えば星形や、正方形等の多角形の中心を基準として所定の角度(例えば60度右回転等)だけ回転させて、被写体等の対象物の境界部分(例えば輪郭形状)等と平行にならない形状を生成しても良い。
【0082】
また、本実施形態では、上述したブロック形状を予め複数蓄積しておき、被写体の形状(例えば、輪郭形状や模様等)や種類(例えば、人、建物、山、月等)等に応じて、不一致度の高い形状を選択するようにしても良く、ユーザがブロック形状を適宜選択できるようにしても良い。なお、本実施形態では、上述した複数のブロック形状のうち少なくとも一つのブロック形状が設定され、複数選択された場合には、例えば位置や時間等に応じて切り換えても良く、また画像中に含まれる被写体の変更に伴って変更しても良い。
【0083】
上述したように、本発明の実施形態によれば、世の中の被写体に応じた形状のブロックを設定するブロックマッチングを用いた対応点探索を実行することで、最適な相関を得て、精度の高いサブピクセルレベルの対応点(サブピクセルレベルの視差)を推定し、精度の高いサブピクセル推定を行うことが可能となる。また、上述したサブピクセルレベルの対応点の推定は、ステレオカメラを用いた測距装置や3次元形状認識装置等に用いても良い。
【0084】
以上、本発明の好ましい実施例について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形、変更が可能である。
【符号の説明】
【0085】
10 撮像手段
11 画像処理装置
20 シェーディング補正手段
30 歪み補正手段
40 相関演算手段
41 ブロック形状設定手段
42 基準画像ブロック位置設定手段
43 参照画像ブロック位置設定手段
44 評価値演算手段
45 極値検出手段
50 サブピクセル視差推定手段
60 距離算出手段
71 入力装置
72 出力装置
73 ドライブ装置
74 補助記憶装置
75 メモリ装置
76 演算処理装置
77 ネットワーク接続装置
78 記録媒体
100 ステレオカメラ装置
【先行技術文献】
【特許文献】
【0086】
【特許文献1】特開2001−195597号公報
【特許文献2】特開2009−282635号公報
【特許文献3】特開平5−256613号公報
【特許文献4】特許第4382156号公報
【非特許文献】
【0087】
【非特許文献1】新井元基,鷲見和彦,松山隆司,「画像のブロックマッチングにおける相関関数とサブピクセル推定方式の最適化」,情報処理学会 研究報告,May 2004, CVIM-144-5, pp.33-40
【非特許文献2】"A Stereo Matching Algorithm with an Adaptive Window: Theory and Experiment", Takeo Kanade and Masatoshi Okutomi, IEEE PAMI, Vol. 16, NO.9, Sep. 1994

【特許請求の範囲】
【請求項1】
2つの画像の一方を基準画像、他方を参照画像としてマッチングブロックを行うためのブロック形状を設定するブロック形状設定手段と、
前記ブロック形状設定手段により設定されたブロック形状に基づいて、前記基準画像におけるブロック位置を設定する基準画像ブロック位置設定手段と、
前記参照画像において、前記基準画像ブロック位置設定手段により設定されたブロック位置に対応する位置の近傍に複数のブロックを設定する参照画像ブロック位置設定手段と、
前記基準画像内に設定されたブロックと、前記参照画像ブロック位置設定手段により設定された複数のブロックとの相関評価値を算出する評価値演算手段とを有し、
前記ブロック形状設定手段は、前記基準画像の含まれる対象物の形状に応じて前記ブロック形状を設定することを特徴とする画像処理装置。
【請求項2】
前記ブロック形状設定手段は、前記対象物の境界部分に沿った垂直線を含まない形状を前記ブロック形状として設定することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記ブロック形状設定手段は、前記ブロック形状を菱形形状、前記対象物の境界部分に沿った垂直線を含まない多角形形状、円形形状、及び、楕円形状のうち、少なくとも一つに設定することを特徴とする請求項2に記載の画像処理装置。
【請求項4】
前記ブロック形状設定手段は、予め設定された形状の異なる複数のブロック形状のうち、前記対象物に応じて少なくとも一つのブロック形状を設定することを特徴とする請求項1乃至3のいずれか一項に記載の画像処理装置。
【請求項5】
2つの画像の一方を基準画像、他方を参照画像としてマッチングブロックを行うためのブロック形状を設定するブロック形状設定手順と、
前記ブロック形状設定手順により設定されたブロック形状に基づいて、前記基準画像におけるブロック位置を設定する基準画像ブロック位置設定手順と、
前記参照画像において、前記基準画像ブロック位置設定手順により設定されたブロック位置に対応する位置の近傍に複数のブロックを設定する参照画像ブロック位置設定手順と、
前記基準画像内に設定されたブロックと、前記参照画像ブロック位置設定手順により設定された複数のブロックとの相関評価値を算出する評価値演算手順とを有し、
前記ブロック形状設定手順は、前記基準画像の含まれる対象物の形状に応じて前記ブロック形状を設定することを特徴とする画像処理方法。
【請求項6】
コンピュータを、請求項1乃至4のいずれか一項に記載の画像処理装置として機能させるための画像処理プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate


【公開番号】特開2012−198712(P2012−198712A)
【公開日】平成24年10月18日(2012.10.18)
【国際特許分類】
【出願番号】特願2011−61743(P2011−61743)
【出願日】平成23年3月18日(2011.3.18)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】