奥行推定装置、奥行推定方法および奥行推定プログラム
【課題】本発明は、被写体が黒い背景を持つため対応点が複数存在する場合や、前景の被写体に接近した一様な背景部分で対応点が複数存在する場合でも、奥行値の誤推定を防止することが可能な奥行推定装置を提供する。
【解決手段】奥行推定装置1は、映像入力手段10と、近傍画素の画素値を出力する近傍画素値出力手段15と、近傍画素の奥行値を出力する近傍奥行値出力手段25と、対応画素差分値を演算する対応画素差分演算手段20と、最小差分値、平均差分値、最小差分値または平均差分値にペナルティを加えた値の何れかを選択差分値として決定する差分値決定手段30と、平滑化を行う平滑化手段50と、平滑化差分値が最小となる仮定奥行値を、基準映像の各画素の奥行値とする奥行値決定手段60とを備える。
【解決手段】奥行推定装置1は、映像入力手段10と、近傍画素の画素値を出力する近傍画素値出力手段15と、近傍画素の奥行値を出力する近傍奥行値出力手段25と、対応画素差分値を演算する対応画素差分演算手段20と、最小差分値、平均差分値、最小差分値または平均差分値にペナルティを加えた値の何れかを選択差分値として決定する差分値決定手段30と、平滑化を行う平滑化手段50と、平滑化差分値が最小となる仮定奥行値を、基準映像の各画素の奥行値とする奥行値決定手段60とを備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のカメラで被写体を撮影した映像から、多視点映像用の被写体の奥行値を推定する奥行推定装置、奥行推定方法および奥行推定プログラムに関する。
【背景技術】
【0002】
近年、複数のカメラで同一の被写体を撮影した複数の映像(多視点映像)を用いて、立体映像や自由視点映像を生成、符号化する研究が進められている。これらの立体映像や自由視点映像を生成、符号化する技術では、基本的に、複数のカメラで被写体を撮影したカメラ映像の視差量を利用することで、被写体までの奥行値を求めている(特許文献1等参照)。
【0003】
この特許文献1には、図17に示すように、複数のカメラ(C1,C2,C3)で撮影された視差方向に異なるカメラ映像を、時間方向に符号化する技術が開示されている。
この符号化の際に、特許文献1に記載されている発明は、複数のカメラ(C1,C2,C3)で撮影されたカメラ映像(F1,F2,F3)間で、映像内の被写体の奥行値を仮定し、基準となるカメラ(例えば、C2)で撮影されたカメラ映像(F2)内のブロックに含まれる画素値と、カメラの位置関係と奥行値とから定まる他のカメラ(例えば、C1,C3)で撮影されたカメラ映像(F1,F3)内の対応ブロックに含まれる画素値との差分絶対値が最小となる奥行値を求めている。
【0004】
このように、従来の手法は、複数のカメラ映像において、複数の仮定した奥行値に対応する画素値の差分絶対値が最小となる画素が、それぞれのカメラ映像の対応する画素であり、また、そのときの仮定した奥行値が当該画素の奥行値であると推定していた。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2007−36800号公報(段落〔0118〕〜〔0112〕)
【発明の概要】
【発明が解決しようとする課題】
【0006】
前記したように、複数のカメラ映像において、複数の仮定した奥行値に対応する画素値の差分絶対値が最小となる画素を探索し、当該画素の奥行値を推定する手法では、以下に示す問題がある。
例えば、被写体の重なりによって、複数のカメラ映像間で対応点が存在しない場合や、画素値の変化が少ない一様な被写体において、複数のカメラ映像間に、画素値が近似する複数の誤った対応点が存在する場合がある。これらの場合、従来の手法では、単に、画素値の差分絶対値が最小となる画素を探索するため、誤った対応点を探索(偽マッチング)してしまう場合がある。
【0007】
さらに、従来の手法では、以下に示す問題もある。
例えば、黒い背景を持つ被写体の場合、差分絶対値がどの仮定奥行値でも小さくなり、誤った奥行値を推定してしまう場合がある。また、例えば、画素値の変化が少ない一様な被写体が前景の被写体に接近した部分では、奥行値が正しくなくても差分絶対値が大きくならず、誤った奥行値を推定してしまう場合がある。すなわち、従来の手法では、誤った対応点を探索した結果、誤った奥行値が推定されてしまうという問題がある。
【0008】
本発明は、このような問題点に鑑みてなされたものであり、複数のカメラ映像間で対応点が存在しない場合、一様な被写体で複数のカメラ映像間における対応点が複数存在する場合であっても、奥行値の誤推定を低減することが可能な奥行推定装置、奥行推定方法および奥行推定プログラムを提供することを課題とする。
さらに、本発明は、背景が黒いために誤った対応点が多数存在する場合や、一様な被写体のために対応点の画素の差分絶対値が大きくならない場合であっても、奥行値の誤推定を低減することが可能な奥行推定装置、奥行推定方法および奥行推定プログラムを提供することを課題とする。
【課題を解決するための手段】
【0009】
本発明は、前記課題を解決するために創案されたものであり、まず、本願第1発明に係る奥行推定装置は、予め定めた位置に複数配列したカメラで同一の被写体を撮影した複数のカメラ映像から、前記被写体の奥行きを示す奥行値を推定する奥行推定装置であって、映像入力手段と、近傍画素値出力手段と、対応画素差分演算手段と、差分値決定手段と、平滑化手段と、奥行値決定手段と、近傍奥行値出力手段と、を備える構成とした。
【0010】
かかる構成において、奥行推定装置は、映像入力手段によって、前記複数配列した前記カメラのいずれかにおいて、予め定めた基準カメラで前記被写体を撮影した基準映像と、前記基準カメラに隣接する複数の隣接カメラで前記被写体を撮影した複数の隣接映像とを入力する。この隣接映像は、基準映像からの視差を計測するための映像である。
【0011】
そして、奥行推定装置は、近傍画素値出力手段によって、前記映像入力手段に入力された基準映像において、当該基準映像の注目画素の画素値と、前記注目画素に対して左右近傍に位置する近傍画素の画素値とを出力する。さらに、奥行推定装置は、対応画素差分演算手段によって、前記奥行値を仮定した仮定奥行値および前記注目画素ごとに、前記基準映像の注目画素の画素値と、当該注目画素の前記仮定奥行値の視差に対応する画素位置にある前記複数の隣接映像の対応画素の画素値との差分絶対値である対応画素差分値を演算する。この仮定奥行値は、基準映像の画素に対応する被写体の奥行値を仮定した値であって、例えば、最小視差(“0”)から最大視差までの値とする。この対応画素差分演算手段によって、基準映像の注目画素の画素値と、隣接映像の仮定奥行値に対応した対応画素値との差分絶対値が算出される。なお、この差分絶対値(隣接映像の対応画素差分値)は、その値が小さい程、仮定奥行値が実際の被写体において同一の対応点を指し示している可能性が高いといえる。
【0012】
そして、奥行推定装置は、差分値決定手段によって、前記仮定奥行値および前記注目画素ごとに、前記対応画素差分値の平均値である平均差分値と、前記対応画素差分値の最小値である最小差分値を求め、前記注目画素の画素値と前記近傍画素の画素値と前記近傍画素の奥行値とに基づいて、前記最小差分値、前記平均差分値、前記最小差分値または前記平均差分値に所定の加算値を加えた値の何れかを、予め設定した条件により選択差分値として決定する。
【0013】
なお、正しい奥行値に対する選択差分値であれば、その値は小さくなり、ノイズ等によって、ある隣接映像の対応画素差分値が誤った値をとった場合であっても、複数の対応画素差分値を平均化することで、全体として選択差分値が小さくなる。
また、オクルージョンが発生することで、ある対応画素差分値が大きな値となった場合や、一様な被写体のために対応点が複数ある場合であっても、基準映像の注目画素の左右近傍の画素値と、該左右近傍の画素で推定された奥行値により、平均差分値と最小差分値と、平均差分値および最小差分値に所定の加算値が加算された値とから、最適な値が選択される。つまり、選択差分値が正しい値で選択されることになる。
これによって、選択差分値は、仮定奥行値の中で正しい奥行値を判定するための指標となる。
【0014】
そして、奥行推定装置は、平滑化手段によって、前記仮定奥行値および前記注目画素ごとに、当該注目画素に隣接する画素の選択差分値が最小となる仮定奥行値と前記注目画素の仮定奥行値との差に、予め設定された平滑化係数を掛けた値を前記選択差分値に加えることで、前記選択差分値を平滑化する。
これによって、平滑化された差分値が最小となる奥行値は、同じ被写体の中では滑らかに変化するようになり、奥行値の誤推定が低減される。
【0015】
そして、奥行推定装置は、奥行値決定手段によって、前記平滑化手段が平滑化した選択差分値が最小となる前記仮定奥行値を、前記基準映像の各画素の奥行値とする。さらに、奥行推定装置は、近傍奥行値出力手段によって、前記奥行値決定手段から基準映像の各画素の奥行値が入力されると共に、前記近傍画素の奥行値を前記対応画素差分演算手段および前記差分値決定手段に出力する。
【0016】
また、本願第2発明に係る奥行推定装置は、前記対応画素差分演算手段が、背景が黒色であるか否かを設定した黒背景フラグが入力され、当該黒背景フラグにおいて前記背景が黒色に設定されているか否かを判定し、前記黒背景フラグにおいて前記背景が黒色に設定されている場合、前記注目画素の画素値と前記近傍画素の画素値との全てが予め設定した第1の閾値より小さい場合、前記対応画素差分値に、前記仮定奥行値に予め設定した第1の係数を掛けた値を加えることを特徴とする。
【0017】
かかる構成において、奥行推定装置は、対応画素差分演算手段によって、黒い背景を持つ被写体で、より小さい奥行値で差分絶対値がより小さくなるようにして、差分絶対値が最小となる奥行値が多数発生し、奥行値を推定できないことを防止する。さらに、奥行推定装置は、対応画素差分演算手段によって、通常の映像では発生しないような非常に暗い黒色の画素値を第1の閾値とすることで、通常の黒い被写体の奥行値の誤推定を防止する。
【0018】
また、本願第3発明に係る奥行推定装置は、前記対応画素差分演算手段が、前記黒背景フラグにおいて前記背景が黒色に設定されていない場合、前記注目画素の画素値と前記近傍画素の画素値との全てが予め設定した第1の閾値より小さい場合、前記対応画素差分値に、左右の前記近傍画素の奥行値のうち大きい方と前記仮定奥行値との差分絶対値に前記第1の係数を掛けた値を加えることを特徴とする。
【0019】
かかる構成において、奥行推定装置は、対応画素差分演算手段によって、黒い被写体がある場合、黒い被写体のエッジで推定された奥行値に近い仮定奥行値で、差分絶対値がより小さくなるようにして、黒い被写体内部で差分絶対値が最小となる奥行値が多数発生し、奥行値を推定できないことを防止する。この場合は、通常の映像で発生する黒色を閾値とすることで、通常の黒い被写体の奥行値の誤推定を防止する。
【0020】
また、本願第4発明に係る奥行推定装置は、前記差分値決定手段が、前記近傍画素どうしの奥行値の差が予め設定した第2の閾値より小さいか、または、前記近傍画素どうしの画素値の差が予め設定した第3の閾値より小さい場合、前記平均差分値を前記選択差分値として決定することを特徴とする。
【0021】
かかる構成において、奥行推定装置は、差分値決定手段によって、注目画素の近傍に、前景と背景の境界がないと判定した場合、平均差分値を選択差分値として選択することにより、より正しい選択差分値を選択可能とする。
【0022】
また、本願第5発明に係る奥行推定装置は、前記差分値決定手段が、前記近傍画素どうしの奥行値の差が前記第2の閾値より大きく、前記近傍画素どうしの画素値の差が前記第3の閾値より大きく、左右の前記近傍画素のうち小さい前記奥行値を有する方よりも大きい前記奥行値を有する方の画素値に前記注目画素の画素値が近い場合、前記平均差分値を前記選択差分値として決定することを特徴とする。
【0023】
かかる構成において、奥行推定装置は、差分値決定手段によって、注目画素が前景に含まれると判定した場合、平均差分値を選択差分値として選択することにより、より正しい選択差分値を選択可能とする。
【0024】
また、本願第6発明に係る奥行推定装置は、前記差分値決定手段が、前記差分値決定手段は、前記近傍画素どうしの奥行値の差が前記第2の閾値より大きく、前記近傍画素どうしの画素値の差が前記第3の閾値より大きく、左右の前記近傍画素のうち小さい前記奥行値を有する方よりも大きい前記奥行値を有する方の画素値に前記注目画素の画素値が近く、前記仮定奥行値が左右の前記近傍画素のうちの前記大きい奥行値より大きい場合、前記仮定奥行値に前記第1の係数を掛けた値を前記加算値として算出して、前記平均差分値に前記加算値を加えた値を前記選択差分値として決定することを特徴とする。
【0025】
かかる構成において、奥行推定装置は、差分値決定手段によって、注目画素が前景に含まれると判定した場合、仮定奥行値が前景の奥行値より大きくなれば、その仮定奥行値に係数を掛けたペナルティ(加算値)を平均差分値に加えることにより、より正しい選択差分値を選択可能とする。
【0026】
また、本願第7発明に係る奥行推定装置は、前記差分値決定手段が、前記近傍画素どうしの奥行値の差が前記第2の閾値より大きく、前記近傍画素どうしの画素値の差が前記第3の閾値より大きく、左右の前記近傍画素のうち大きい前記奥行値を有する方よりも小さい前記奥行値を有する方の画素値に前記注目画素の画素値が近く、前記小さい奥行値を有する前記近傍画素の対応画素差分値に予め設定した第3の係数を掛けた値が前記大きい奥行値を有する前記近傍画素の対応画素差分値より小さい場合、前記最小差分値を前記選択差分値として決定することを特徴とする。
【0027】
かかる構成において、奥行推定装置は、差分値決定手段によって、注目画素が背景に含まれると判定した場合、差分絶対値が小さくなる、背景のある側の最小差分値を選択差分値として選択することにより、より正しい選択差分値を選択可能とする。
【0028】
また、本願第8発明に係る奥行推定装置は、前記差分値決定手段が、前記近傍画素どうしの奥行値の差が前記第2の閾値より大きく、前記近傍画素どうしの画素値の差が前記第3の閾値より大きく、左右の前記近傍画素のうち大きい前記奥行値を有する方よりも小さい前記奥行値を有する方の画素値に前記注目画素の画素値が近く、前記小さい奥行値を有する前記近傍画素の対応画素差分値に前記第3の係数を掛けた値が前記大きい奥行値を有する前記近傍画素の対応画素差分値より大きい場合、前記仮定奥行値に予め設定した第2の係数を掛けた値または予め設定された固定値の何れかを前記加算値として算出して、前記平均差分値に前記加算値を加えた値を前記選択差分値として決定することを特徴とする。
【0029】
かかる構成において、奥行推定装置は、差分値決定手段によって、注目画素が背景の被写体に含まれると判定した場合、差分絶対値が小さくなるはずの、背景のある側の差分絶対値が小さくならないとき、偽マッチングが生じていると判定する。この場合、奥行推定装置は、差分値決定手段によって、平均差分値にペナルティ(加算値)を加えて、誤った仮定奥行値のために小さくなった平均差分値がそのまま選択差分値として選択されないようにすることにより、奥行値の誤推定を防止する。
【0030】
また、本願第9発明に係る奥行推定装置は、前記差分値決定手段が、前記近傍画素どうしの奥行値の差が前記第2の閾値より大きく、前記近傍画素どうしの画素値の差が前記第3の閾値より大きく、前記注目画素の画素値と前記近傍画素の画素値との差が予め設定された第4の閾値より大きい場合、前記小さい奥行値を有する前記近傍画素の対応画素差分値に前記第3の係数を掛けた値が前記大きい奥行値を有する前記近傍画素の対応画素差分値より大きいときに、前記仮定奥行値に前記第1の係数を掛けた値を前記加算値として算出して、前記平均差分値に前記加算値を加えた値を前記選択差分値として決定し、前記小さい奥行値を有する前記近傍画素の対応画素差分値に前記第3の係数を掛けた値が前記大きい奥行値を有する前記近傍画素の対応画素差分値より小さいときに、前記仮定奥行値に前記第1の係数を掛けた値を前記加算値として算出して、前記最小差分値に前記加算値を加えた値を前記選択差分値として決定することを特徴とする。
【0031】
かかる構成において、奥行推定装置は、差分値決定手段によって、注目画素が前景と背景のいずれにも含まれない、第3の背景(中景)に含まれると判定した場合、背景のある側の差分絶対値が小さくなれば、最小差分値にペナルティ(加算値)を加えて、この最小差分値を選択差分値として選択する。一方、奥行推定装置は、差分値決定手段によって、背景のある側の差分絶対値が小さくならなければ、平均差分値にペナルティ(加算値)を加えて、誤った仮定奥行値のために小さくなった平均差分値がそのまま選択差分値として選択されないようにすることにより、奥行値の誤推定を防止する。
【0032】
また、本願第9発明において、前記差分値決定手段は、前記近傍画素どうしの奥行値の差が前記第2の閾値より大きく、前記近傍画素どうしの画素値の差が前記第3の閾値より大きく、前記注目画素の画素値と前記近傍画素の画素値との差が予め設定された第4の閾値より大きい場合、前記小さい奥行値を有する前記近傍画素の対応画素差分値に前記第3の係数を掛けた値が前記大きい奥行値を有する前記近傍画素の対応画素差分値より大きいときに、前記仮定奥行値に前記第1の係数を掛けた値を前記加算値として算出して、前記平均差分値に前記加算値を加えた値を前記選択差分値として決定することが好ましい。
【0033】
また、本願第9発明において、前記差分値決定手段は、前記近傍画素どうしの奥行値の差が前記第2の閾値より大きく、前記近傍画素どうしの画素値の差が前記第3の閾値より大きく、前記注目画素の画素値と前記近傍画素の画素値との差が予め設定された第4の閾値より大きい場合、前記小さい奥行値を有する前記近傍画素の対応画素差分値に前記第3の係数を掛けた値が前記大きい奥行値を有する前記近傍画素の対応画素差分値より小さいときに、前記仮定奥行値に前記第1の係数を掛けた値を前記加算値として算出して、前記最小差分値に前記加算値を加えた値を前記選択差分値として決定することが好ましい。
【0034】
また、本願第10発明に係る奥行推定装置は、前記差分値決定手段が、前記奥行値の推定回数が1回目の場合、前記最小差分値を前記選択差分値として決定し、前記奥行値の推定回数が2回目以降の場合、前記奥行値決定手段から入力された近傍画素の奥行値を用いて前記選択差分値を決定することを特徴とする。
【0035】
かかる構成において、奥行推定装置は、1回目の奥行推定では、最小差分値を選択差分値とすることにより、偽マッチングの生じる可能性のある被写体部分を除いて、奥行値を正確に推定する。そして、奥行推定装置は、得られた奥行値を用いて2回目以降の奥行推定を行うことで、奥行値の誤推定を防止する。
【0036】
また、本願第11発明に係る奥行推定方法は、予め定めた位置に複数配列したカメラで同一の被写体を撮影した複数のカメラ映像から、前記被写体の奥行きを示す奥行値を推定する奥行推定方法であって、映像入力ステップと、近傍画素値出力ステップと、対応画素差分演算ステップと、差分値決定ステップと、平滑化ステップと、奥行値決定ステップと、近傍奥行値出力ステップと、を備える手順とした。
【0037】
かかる手順において、奥行推定方法は、映像入力ステップにおいて、前記複数配列した前記カメラのいずれかにおいて、予め定めた基準カメラで前記被写体を撮影した基準映像と、前記基準カメラに隣接する複数の隣接カメラで前記被写体を撮影した複数の隣接映像とを入力する。
【0038】
そして、奥行推定方法は、近傍画素値出力ステップによって、前記映像入力ステップで入力された基準映像において、当該基準映像の注目画素の画素値と、前記注目画素に対して左右近傍に位置する近傍画素の画素値とを出力する。
【0039】
そして、奥行推定方法は、対応画素差分演算ステップによって、前記奥行値を仮定した仮定奥行値および前記注目画素ごとに、前記基準映像の注目画素の画素値と、当該注目画素の前記仮定奥行値の視差に対応する画素位置にある前記複数の隣接映像の対応画素の画素値との差分絶対値である対応画素差分値を演算する。
【0040】
そして、奥行推定方法は、差分値決定ステップによって、前記仮定奥行値および前記注目画素ごとに、前記対応画素差分値の平均値である平均差分値と、前記対応画素差分値の最小値である最小差分値を求め、前記注目画素の画素値と前記近傍画素の画素値と前記近傍画素の奥行値とに基づいて、前記最小差分値、前記平均差分値、前記最小差分値または前記平均差分値に所定の加算値を加えた値の何れかを、予め設定した条件により選択差分値として決定する。
【0041】
そして、奥行推定方法は、平滑化ステップによって、前記仮定奥行値および前記注目画素ごとに、当該注目画素に隣接する画素の選択差分値が最小となる仮定奥行値と前記注目画素の仮定奥行値との差に、予め設定された平滑化係数を掛けた値を前記選択差分値に加えることで、前記選択差分値を平滑化する。
【0042】
そして、奥行推定方法は、奥行値決定ステップによって、前記平滑化ステップで平滑化した選択差分値が最小となる前記仮定奥行値を、前記基準映像の各画素の奥行値とする。さらに、奥行推定方法は、近傍奥行値出力ステップによって、前記基準映像の各画素の奥行値が入力されると共に、前記近傍画素の奥行値を出力する。
【0043】
また、本願第12発明に係る奥行推定プログラムは、予め定めた位置に複数配列したカメラで同一の被写体を撮影した複数のカメラ映像から、前記被写体の奥行きを示す奥行値を推定するために、コンピュータを、映像入力手段、近傍画素値出力手段、対応画素差分演算手段、差分値決定手段、平滑化手段、奥行値決定手段、近傍奥行値出力手段、として機能させる構成とした。
【0044】
かかる構成において、奥行推定プログラムは、映像入力手段によって、前記複数配列した前記カメラのいずれかにおいて、予め定めた基準カメラで前記被写体を撮影した基準映像と、前記基準カメラに隣接する複数の隣接カメラで前記被写体を撮影した複数の隣接映像とを入力する。
【0045】
そして、奥行推定プログラムは、近傍画素値出力手段によって、前記映像入力手段に入力された基準映像において、当該基準映像の注目画素の画素値と、前記注目画素に対して左右近傍に位置する近傍画素の画素値とを出力する。
【0046】
そして、奥行推定プログラムは、対応画素差分演算手段によって、前記奥行値を仮定した仮定奥行値および前記注目画素ごとに、前記基準映像の注目画素の画素値と、当該注目画素の前記仮定奥行値の視差に対応する画素位置にある前記複数の隣接映像の対応画素の画素値との差分絶対値である対応画素差分値を演算する。
【0047】
そして、奥行推定プログラムは、差分値決定手段によって、前記仮定奥行値および前記注目画素ごとに、前記対応画素差分値の平均値である平均差分値と、前記対応画素差分値の最小値である最小差分値を求め、前記注目画素の画素値と前記近傍画素の画素値と前記近傍画素の奥行値とに基づいて、前記最小差分値、前記平均差分値、前記最小差分値または前記平均差分値に所定の加算値を加えた値の何れかを、予め設定した条件により選択差分値として決定する。
【0048】
そして、奥行推定プログラムは、平滑化手段によって、前記仮定奥行値および前記注目画素ごとに、当該注目画素に隣接する画素の選択差分値が最小となる仮定奥行値と前記注目画素の仮定奥行値との差に、予め設定された平滑化係数を掛けた値を前記選択差分値に加えることで、前記選択差分値を平滑化する。
【0049】
そして、奥行推定プログラムは、奥行値決定手段によって、前記平滑化手段が平滑化した選択差分値が最小となる前記仮定奥行値を、前記基準映像の各画素の奥行値とする。さらに、奥行推定プログラムは、近傍奥行値出力手段によって、前記奥行値決定手段から基準映像の各画素の奥行値が入力されると共に、前記近傍画素の奥行値を前記対応画素差分演算手段および前記差分値決定手段に出力する。
【発明の効果】
【0050】
本発明は、以下に示す優れた効果を奏するものである。
本願第1,11,12発明によれば、被写体の一部が手前の被写体の陰に隠れて対応点がないオクルージョンが発生した場合であっても、閾値に応じて、最小の差分値、すなわち、より正しい差分値が選択されるため、誤った奥行値を推定することを低減することができる。また、本発明によれば、一様な被写体で対応点を誤る偽マッチングが生じている場合であっても、閾値に応じて、差分値の平均値を選択するため、正しい差分値のように小さな値とはならず、正しい差分値として選択される度合いを低くすることができ、誤った奥行値を推定することを低減することができる。
さらに、本願第1,11,12発明によれば、前景と背景の被写体が接近した部分でオクルージョンが生じる場合であっても、注目画素を含む近傍の画素値と、その画素で推定された奥行値に応じて、より正しい選択差分値を選択するため、誤った奥行値を推定することを低減することができる。
【0051】
本願第2発明によれば、非常に暗い黒い背景を持つ被写体であっても、背景部分の奥行値が小さい程、対応画素での選択差分値を小さくするので、正しい奥行値を推定することができる。
【0052】
本願第3発明によれば、黒い被写体であっても、被写体のエッジ部分で正しく推定された奥行値からはずれる程、対応画素での選択差分値を大きくするので、正しい奥行値を推定することができる。
【0053】
本願第4発明によれば、前景と背景の境界部分以外では、平均差分値を選択差分値として選択することで、より正しい選択差分値を選択可能として、奥行値の誤推定を防止することができる。
【0054】
本願第5発明によれば、前景の境界部分であって、オクルージョンが生じていない場合には、平均差分値を選択差分値として選択することにより、より正しい選択差分値を選択可能として、奥行値の誤推定を防止することができる。
【0055】
本願第6発明によれば、前景の境界部分であって、オクルージョンが生じていないと判定した場合であっても、仮定奥行値が前景の奥行値より大きくなれば、仮定奥行値に所定係数を掛けた値をペナルティとして、平均差分値に加えることにより、過大な仮定奥行値のために小さくなった平均差分値がそのまま選択されないようにして、奥行値の誤推定を防止することができる。
【0056】
本願第7発明によれば、オクルージョンが生じている場合であっても、左右差分絶対値のうち、オクルージョンの生じていない側の差分絶対値を選択することにより、より正しい選択差分値を選択して、奥行値の誤推定を防止することができる。
【0057】
本願第8発明によれば、左右いずれかの隣接映像でオクルージョンが生じていて、かつ、オクルージョンの生じていない側で、偽マッチングが生じている場合であっても、平均差分値に加算値を加えて、誤った仮定奥行値のために小さくなった平均差分値がそのまま選択差分値として選択されないようにすることにより、奥行値の誤推定を防止することができる。
【0058】
本願第9発明によれば、前景と中景により左右両方でオクルージョンが生じている場合であっても、中景がある側の差分絶対値が十分小さくなれば、最小差分値にペナルティ(加算値)を加えた値を選択差分値として選択することで、奥行値の誤推定を防止することができる。また、本願第9発明によれば、中景側の差分絶対値が十分小さくならなければ、平均差分値にペナルティ(加算値)を加えた値を選択差分値として選択することで、奥行値の誤推定を防止することができる。
【0059】
本願第10発明によれば、奥行推定を多く繰り返す程、正しい奥行値を推定することができる。
【図面の簡単な説明】
【0060】
【図1】本発明の実施形態に係る奥行推定システムの構成を示すブロック図である。
【図2】本発明の実施形態に係る奥行推定装置の構成を示すブロック図である。
【図3】本発明において、注目画素とその左右近傍の画素との関係を説明するための説明図である。
【図4】本発明において、注目画素の左右近傍の画素の奥行値を説明するための説明図である。
【図5】本発明において、オクルージョンが発生していない場合1において、注目画素と左右の対応画素との関係を説明するための説明図である。
【図6】本発明において、オクルージョンが発生しているが仮定奥行値が正しい場合において、注目画素と左右の対応画素との関係を説明するための説明図である。
【図7】本発明において、オクルージョンが発生していない場合2において、注目画素と左右の対応画素との関係を説明するための説明図である。
【図8】本発明において、仮定奥行値が正しくない場合1において、注目画素と左右の対応画素との関係を説明するための説明図である。
【図9】本発明において、仮定奥行値が正しくない場合2において、注目画素と左右の対応画素との関係を説明するための説明図である。
【図10】本発明において、左右でオクルージョンが生じている場合において、注目画素と左右の対応画素との関係を説明するための説明図である。
【図11】図2の奥行推定装置の全体動作を示すフローチャートである。
【図12】図2の奥行推定装置の対応画素差分演算動作を示すフローチャートである。
【図13】図2の奥行推定装置の差分値決定動作を示すフローチャーである。
【図14】図2の奥行推定装置の差分値決定動作を示すフローチャーである。
【図15】図2の奥行推定装置の平滑化動作を示すフローチャートである。
【図16】図2の奥行推定装置の奥行値決定動作を示すフローチャートである。
【図17】従来の奥行推定手法を説明するための説明図である。
【発明を実施するための形態】
【0061】
以下、本発明の実施形態について図面を参照して説明する。
〔奥行推定システムの全体構成〕
最初に、図1を参照して、本発明の実施形態に係る奥行推定装置1を含んだ奥行推定システムSの全体構成について説明する。奥行推定システムSは、複数配列したカメラCMで被写体Tを撮影した多視点映像から、被写体Tの奥行値Dを推定した奥行映像FZを生成するものである。図1に示した奥行推定システムSは、カメラCM(CL,CC,CR)と、奥行推定装置1とを備えている。
【0062】
カメラCMは、被写体Tを撮影する一般的な撮影装置である。ここでは、水平方向の視差に応じて奥行値Dを生成することとし、視差の基準となるカメラ(基準カメラ)CCに対し、水平方向に予め定めた距離Lだけ等間隔に離間して、カメラ(隣接カメラ)CL,CRを平行に配置している。このカメラCM(CL,CC,CR)で撮影された映像(FL,FC,FR)は、奥行推定装置1に入力される。
なお、この距離Lは、奥行値Dと視差量とが対応可能な範囲であれば、その距離は任意である。また、被写体Tは、例えば、背景Aおよび前景Bを含んでいる。
【0063】
カメラCCは、視差の基準となる映像(基準映像FC)を撮影するものである。また、カメラCL,CRは、それぞれカメラCCの左右に配置されたカメラであって、基準映像FCとの視差を求めるための映像(隣接映像FL,FR)を撮影するものである。
【0064】
なお、垂直方向の視差に応じて奥行値Dを生成する場合であれば、カメラCの配置は、垂直方向に離間させて配置すればよい。
また、カメラCMが撮影する映像(FL,FC,FR)は、静止画であっても動画であっても構わない。動画である場合、カメラCMはそれぞれフレーム同期を行うことで、順次、静止画のフレーム画像として奥行推定装置1に入力されることとする。あるいは、フレーム画像ごとにタイムコードを付加し、奥行推定装置1で同期をとることとしてもよい。
【0065】
奥行推定装置1は、予め定めた位置に複数配列したカメラで同一の被写体を撮影した複数のカメラ映像から、被写体Tの奥行きを示す奥行値を推定するものである。ここでは、奥行推定装置1は、水平方向に配列したカメラCM(CL,CC,CR)で被写体Tを撮影したカメラ映像(FL,FC,FR)から、被写体Tの奥行きを示す奥行値Dを推定する。なお、ここでは、奥行推定装置1は、奥行値を、映像の各画素値に対応付けることで奥行映像FZを生成することとする。
【0066】
〔奥行推定装置の構成〕
次に、図2を参照(適宜図1参照)して、本発明の実施形態に係る奥行推定装置の構成について説明する。図2に示すように、奥行推定装置1は、映像入力手段10と、近傍画素値出力手段15と、対応画素差分演算手段20と、近傍奥行値出力手段25と、差分値決定手段30と、記憶手段40と、平滑化手段50と、奥行値決定手段60と、を備えている。
【0067】
映像入力手段10は、カメラCMで撮影された複数のカメラ映像を入力するものである。ここでは、映像入力手段10は、予め定めた基準カメラCCで撮影した基準映像FCと、基準カメラCCに隣接する複数のカメラCL,CRで撮影した隣接映像FL,FRと、を入力する。
この映像入力手段10で入力した各映像(FL,FC,FR)は、図示を省略したメモリに記憶され、後記する近傍画素値出力手段15および対応画素差分演算手段20によって参照されるものとする。
【0068】
以下、図3を参照して、近傍画素値出力手段15を説明する(適宜図2参照)。
近傍画素値出力手段15は、映像入力手段10から基準映像FCを入力し、注目画素PCの画素値PC(x,y)と、注目画素PCから所定画素数sだけ左に離れた近傍画素PSLの画素値PSL(x−s,y)と、注目画素PCから所定の画素数sだけ右に離れた近傍画素PSRの画素値PSR(x+s,y)とを取得する。そして、近傍画素値出力手段15は、注目画素PCの画素値PC(x,y)と、近傍画素PSLの画素値PSL(x−s,y)と、近傍画素PSRの画素値PSR(x+s,y)とを、対応画素差分演算手段20および差分値決定手段30に出力する。
【0069】
この所定の画素数sは、正しい奥行値Dを推定できるように、平滑化による前景Bの奥行値が広がる範囲以上に予め設定する。具体的には、所定の画素数sは、シーンの中の被写体Tの最大視差量と最小視差量とを予め調べておき、最大視差量と最小視差量との差に所定の値(例えば、0.2)を掛けた値とする。
【0070】
なお、注目画素PCとは、基準映像FCにおいて奥行値Dを推定する対象となっている画素である。
また、近傍画素PSLおよび近傍画素PSRは、図3に示すように、注目画素PCを中心した半径sの画素の円周上に位置する画素である。なお、図3では、近傍画素PSLを左近傍画素PSLと図示し、近傍画素PSRを右近傍画素PSRと図示した。
【0071】
以下、図2に戻り、奥行推定装置1の構成について説明を続ける。
対応画素差分演算手段20は、仮定奥行値dおよび注目画素PCごとに、基準映像FCの注目画素PCの画素値と、当該注目画素PCの仮定奥行値dの視差に対応する隣接映像FL,FRの対応画素PL,PR(図5参照)の画素値との差分絶対値である隣接映像の対応画素差分値ECL,ECRを演算するものである。ここで、隣接映像の対応画素差分値ECLは、基準映像FCと隣接映像FLとの間で演算された差分絶対値であり、隣接映像の対応画素差分値ECRは、基準映像FCと隣接映像FRとの間で演算された差分絶対値である。
【0072】
なお、画素値の差分絶対値は、カメラ映像(FL,FC,FR)が、輝度(輝度値)と色差信号(色差値)との各要素で構成される場合、当該画素の輝度値の差分絶対値と、色差値の差分絶対値とを加算した値とする。このとき、色差値の差分絶対値に任意の係数を掛けて、色成分の重みを調整することとしてもよい。
また、画素値の差分絶対値は、カメラ映像(FL,FC,FR)が、RGBのカラー信号で構成される場合、カラー信号の要素であるR値の差分絶対値と、G値の差分絶対値と、B値の差分絶対値とを加算した値とする。
【0073】
また、仮定奥行値dは、被写体Tの奥行値Dを仮に設定する値であって、“0”から予め定めた最大視差量に対応する奥行値Dまでの値をとる。例えば、奥行値Dを8ビットのデータで表す場合、仮定奥行値dは、“0”〜“255”の範囲の値をとる。また、ここでは、対応画素差分演算手段20は、“0”から最大視差量に対応する奥行値D(例えば、“255”)まで、順次、仮定奥行値dを設定し、当該仮定奥行値dの視差に対応する画素間の画素値の差分を対応画素差分値として演算する。また、ここでは、奥行値Dの単位と画素間の視差の単位とを同一とし、奥行値Dが“1”増加することで、1画素ずつ視差が増加することとする。
【0074】
ここでは、対応画素差分演算手段20は、基準映像FCの(x,y)座標(注目画素PC)における画素値をPC(x,y)、基準映像FCの(x,y)座標の仮定奥行値dに対応する隣接映像FLの(x+d,y)座標(対応画素PL)の画素値をPL(x+d,y)、隣接映像FRの(x−d,y)座標(対応画素PR)の画素値をPR(x−d,y)としたとき、以下の(1)式の演算により、対応画素差分値ECL(d,x,y),ECR(d,x,y)を算出する。なお、「||」は、絶対値を示す。
ECL(d,x,y)=|PL(x+d,y)−PC(x,y)|
ECR(d,x,y)=|PR(x−d,y)−PC(x,y)| …(1)式
【0075】
次に、対応画素差分演算手段20は、被写体Tが黒い背景であるか否かを判定する。具体的には、対応画素差分演算手段20は、近傍画素値出力手段15から入力された注目画素PCの画素値PC(x,y)と、近傍画素PSLの画素値PSL(x−s,y)と、近傍画素PSRの画素値PSR(x+s,y)との全てが閾値(第1の閾値)thより小さい場合、被写体Tが黒い背景であると判定する。
【0076】
一方、対応画素差分演算手段20は、注目画素PCの画素値PC(x,y)と、近傍画素PSLの画素値PSL(x−s,y)と、近傍画素PSRの画素値PSR(x+s,y)との何れか一つでも閾値th以上となる場合、被写体Tが黒い背景でないと判定する。
【0077】
なお、閾値thは、通常の黒では表れない非常に暗い黒色の画素値(例えば、Y信号値で、15または30)に予め設定される。また、色信号をRGBコンポーネントで表す場合、Y信号値を、Y=0.299R+0.587G+0.114Bから求めても良い。
【0078】
さらに、被写体Tが黒い背景である場合、対応画素差分演算手段20は、外部から入力される黒背景フラグがオンまたはオフであるか判定する。ここで、対応画素差分演算手段20は、黒背景フラグがオン(背景が黒である)であれば、以下の(1−1)式のように、仮定奥行値dに係数(第1の係数)hを掛けた値(ペナルティ)を、対応画素差分値ECL,ECRに加える。
ECL(d,x,y)=ECL(d,x,y)+h×d
ECR(d,x,y)=ECR(d,x,y)+h×d …(1−1)式
なお、係数hは、予め設定される係数であり、背景Aではない被写体Tに大きなペナルティが誤って加算されるのを防ぐため、小さな値とする(例えば、0.25)。
【0079】
被写体Tが黒い背景の場合、全ての仮定奥行値dで、対応画素差分値ECL,ECRが小さな値となり、正しい奥行値Dを推定できない場合がある。しかし、以上の処理によって、対応画素差分演算手段20は、被写体Tが黒い背景であっても、対応画素差分値ECL,ECRを正しい値に近づけることができる。
【0080】
また、対応画素差分演算手段20は、黒背景フラグがオフ(背景が黒でない)であれば、近傍奥行値出力手段25から入力された近傍画素PSLの奥行値DL、および、近傍画素PSRの奥行値DRのうち、大きい方の近傍奥行値DMを求める。そして、対応画素差分演算手段20は、以下の(1−2)式のように、大きい方の近傍奥行値DMと仮定奥行値dとの差分絶対値に係数hを掛けた値(ペナルティ)を、対応画素差分値ECL,ECRに加える。
DM(x,y)=max(DL(x−s,y),DR(x+s,y))
ECL(d,x,y)=ECL(d,x,y)+h×|DM−d|
ECR(d,x,y)=ECR(d,x,y)+h×|DM−d| …(1−2)式
【0081】
すなわち、被写体Tが黒い場合、全ての仮定奥行値dで、対応画素の差分絶対値(対応画素差分値ECL,ECR)が小さな値となり、正しい奥行値Dを推定できなくなる。しかし、被写体Tのエッジ部分では、正しい奥行値Dを推定できる。従って、対応画素差分演算手段20は、仮定奥行値dとこの正しい奥行値Dとの差分に係数hを掛けた値を、対応画素差分値ECL,ECRに加えることにより、正しくない奥行値Dで対応画素差分値ECL,ECRが小さくなることを防止する。これによって、対応画素差分演算手段20は、通常の黒い被写体Tにおいて、対応画素差分値ECL,ECRが正しく計算されないことを防止できる。
【0082】
そして、対応画素差分演算手段20は、仮定奥行値d(“0”〜最大視差量)ごとの対応画素差分値ECL,ECRを差分値決定手段30に出力する。なお、対応画素差分演算手段20は、演算対象となる注目画素PCの画素位置(x,y)および仮定奥行値dを順次更新して、対応画素差分値ECL,ECRを演算する。
【0083】
以下、図4を参照して、近傍奥行値出力手段25について説明する。
近傍奥行値出力手段25は、後記する奥行値決定手段60から各画素の奥行値Dが入力され、近傍画素PSLの奥行値DLと、近傍画素PSRの奥行値DRとを対応画素差分演算手段20および差分値決定手段30に出力するものである。
ここで、1回目の奥行推定では、奥行値Dが求められないことになる。この場合、奥行推定装置1は、全ての画素の奥行値Dを初期値(例えば、0)に予め設定する。つまり、1回目の奥行推定を行う場合、近傍奥行値出力手段25は、この初期値を奥行値DL,DRとして差分値決定手段30に出力する。一方、2回目以降の奥行推定では、近傍奥行値出力手段25は、前回の奥行推定で求めた各画素の奥行値Dが奥行値決定手段60から入力されるので、近傍画素PSLの奥行値DLと、近傍画素PSRの奥行値DRとを出力する。
【0084】
以下、図2に戻り、奥行推定装置1の構成について説明を続ける。
差分値決定手段30は、基準映像FCの注目画素PCおよび仮定奥行値dごとに、最小差分値Emと平均差分値Eaとを求めるものである。そして、差分値決定手段30は、求めた最小差分値Em、平均差分値Ea、最小差分値Emまたは平均差分値Eaに所定のペナルティ(加算値)を加えた値の何れかを、予め設定された条件により選択差分値として決定する。
【0085】
ここでは、差分値決定手段30は、平均差分値演算手段30aと、最小差分値選択手段30bと、差分値選択手段30cと、を備えている。
【0086】
平均差分値演算手段30aは、基準映像FCの注目画素PCおよび仮定奥行値dごとに、対応画素差分演算手段20で演算された隣接映像の対応画素差分値ECL,ECRの平均値(平均差分値Ea)を演算するものである。
すなわち、平均差分値演算手段30aは、基準映像FCの(x,y)座標の仮定奥行値dに対応する平均差分値Ea(d,x,y)を、以下の(2)式の演算により算出する。
Ea(d,x,y)={ECL(d,x,y)+ECR(d,x,y)}/2
…(2)式
【0087】
そして、平均差分値演算手段30aは、演算により求めた仮定奥行値d(“0”〜最大視差量)ごとの平均差分値Eaを、差分値選択手段30cに出力する。
【0088】
最小差分値選択手段30bは、基準映像FCの注目画素PCおよび仮定奥行値dごとに、対応画素差分演算手段20で演算された隣接映像の対応画素差分値ECL,ECRのうちで、値が小さい方(最小差分値Em)を選択するものである。
すなわち、最小差分値選択手段30bは、基準映像FCの(x,y)座標の仮定奥行値dに対応する隣接映像の対応画素差分値ECL(d,x,y)と、隣接映像の対応画素差分値ECR(d,x,y)とを比較し、以下の(3)式に示すように、値が小さい方を最小差分値Emとして選択する。
Em(d,x,y)=min{ECL(d,x,y),ECR(d,x,y)}
…(3)式
【0089】
そして、最小差分値選択手段30bは、選択した仮定奥行値d(“0”〜最大視差量)ごとの最小差分値Emを、差分値選択手段30cに出力する。
【0090】
差分値選択手段30cは、基準映像FCの注目画素PCおよび仮定奥行値dごとに、近傍画素値出力手段15から入力された注目画素PCの画素値PC(x,y)と、近傍画素PSLの画素値PSL(x−s,y)と、近傍画素PSRの画素値PSR(x+s,y)と、近傍奥行値出力手段25から入力された近傍画素PSLの奥行値DLと、近傍画素PSRの奥行値DRとに基づいて、最小差分値選択手段30bから入力された最小差分値Em、平均差分値演算手段30aから入力された平均差分値Ea、最小差分値Emまたは平均差分値Eaに所定のペナルティ(加算値)を加えた値の何れかを、選択差分値として決定するものである。
【0091】
ここで、図5〜図10を参照して、差分値選択手段30cの処理内容およびその作用として、第1例〜第6例を説明する。
【0092】
<第1例:オクルージョンが発生していない場合1>
以下、図5を参照して、ある仮定奥行値dにおいて、基準映像FCの画素(注目画素PC)と、隣接映像FL,FRの画素(対応画素PL,PR)とが背景Aに対応している場合(オクルージョンが発生していない場合1)の処理について説明する(適宜図2〜図4参照)。
【0093】
まず、差分値選択手段30cは、注目画素PCの近傍には前景Bと背景Aの境界の有無、つまり、オクルージョンが発生しているか否かを判定する。具体的には、差分値選択手段30cは、以下の(4)式に示すような近傍画素PSLの奥行値DLと近傍画素PSRの奥行値DRとの奥行差分値DDが、閾値(第2の閾値)th1より大きくなるという条件を、満たさないか否かを判定する。
DD(x,y)=|DL(x−s,y)−DR(x+s,y)|>th1 …(4)式
【0094】
なお、閾値th1は、最大視差量(例えば、255)から最小視差量(例えば、1)を引いた値に所定の係数(例えば、0.2)を掛けた値として予め設定する。
【0095】
さらに、差分値選択手段30cは、オクルージョンが発生していない場合、注目画素PCの画素値PC(x,y)と、近傍画素PSLの画素値PSL(x−s,y)と、近傍画素PSRの画素値PSR(x+s,y)とが、同じ被写体(背景A)に対応するため、似通った値となるか否かを判定する。具体的には、差分値選択手段30cは、以下の(5)式に示すような近傍画素PSLの画素値PSL(x−s,y)と、近傍画素PSRの画素値PSR(x+s,y)との画素差分値DPLRが閾値(第3の閾値)th2より大きくなるという条件を、満たさないか否かを判定する。
DPLR(x,y)=|PSL(x−s,y)−PSR(x+s,y)|>th2…(5)式
【0096】
なお、閾値th2は、最大画素値(例えば、255)に所定の係数(例えば、0.1)を掛けた値として予め設定する。
【0097】
ここで、差分値選択手段30cは、同じ被写体Tでオクルージョンが生じていなくても、被写体Tの部位によって色が異なる場合や奥行きが異なる場合において、奥行値Dの誤推定を防止するために、(4)式と(5)式の組合せた判定を行う。そして、差分値選択手段30cは、(4)式または(5)式の何れか一方が成立しない場合、オクルージョンが生じていないと判定し、平均差分値Eaを選択差分値として選択する。
【0098】
<第2例:オクルージョンが発生している場合>
以下、図6を参照し、オクルージョンが発生しているが仮定奥行値dが正しい場合について説明する(適宜図2〜図4参照)。
【0099】
この場合、差分値選択手段30cは、近傍画素PSLおよび近傍画素PSRの画素値が、互いに異なるか否かを判定する。具体的には、差分値選択手段30cは、前記した(5)式に示すように、近傍画素PSLの画素値PSL(x−s,y)と、近傍画素PSRの画素値PSR(x+s,y)との画素差分値DPLRが前記した閾値th2より大きくなるか否かを判定する。
【0100】
そして、差分値選択手段30cは、前記した判定結果を確実なものとするため、前記した(4)式に示すように、近傍画素PSLの奥行値DLと近傍画素PSRの奥行値DRとの奥行差分値DDが、前記した閾値th1より大きくなるか否かを判定する。
【0101】
このように、差分値選択手段30cは、(4)式および(5)式の両方が成立する場合(オクルージョンが発生していると判定した場合)、近傍画素PSLの奥行値DLと近傍画素PSRの奥行値DRとを比較し、大きい側(図4の例ではDR側)に前景Bがあると判定する。なお、図4の例では、2回目の奥行推定の際、奥行値DRが奥行値DLより大きくなっている。
【0102】
次に、差分値選択手段30cは、注目画素PCが、前景Bの画素であるか否かを判定する。具体的には、差分値選択手段30cは、以下の(6)式〜(8)式に示すように、注目画素PCの画素値PC(x,y)が、近傍画素PSLの画素値PSL(x−s,y)または近傍画素PSRの画素値PSR(x+s,y)のどちらに近いかを、注目画素PCと近傍画素PSL,PSRとの画素値の画素差分値DPL,DPRとから判定する。
DPL(x,y)=|PSL(x−s,y)−PC(x,y)| …(6)式
DPR(x,y)=|PSR(x+s,y)−PC(x,y)| …(7)式
DPL(x,y)≧DPR(x,y) …(8)式
【0103】
前記した(8)式が成立しない場合(注目画素値PCが背景側に近い場合)、差分値選択手段30cは、この判定結果を確実なものとするため、以下の処理を行う。具体的には、差分値選択手段30cは、以下の(9)式に示すように、背景Aに近い近傍画素(図3の例ではPSL)の画素値と注目画素値PCとの画素値の画素差分値DPLが閾値(第4の閾値)th3より小さいか否かを判定する。これによって、差分値選択手段30cは、前記した(8)式が成立せずに注目画素PCが背景Aに近いという判定結果を確実なものとする。
DPL(x,y)<th3 …(9)式
なお、閾値th3は、最大画素値(例えば、255)に所定の係数(例えば0.1)を掛けた値(例えば、25)で予め設定する。
【0104】
そして、差分値選択手段30cは、以下の(10)式に示すように、左側の対応画素差分値ECLが、右側の対応画素差分値ECRより十分小さいか否かを、左側の対応画素差分値ECLに係数(第3の係数)kを掛けても、右側の対応画素差分値ECRより小さいか否かによって判定する。これによって、差分値選択手段30cは、前記した(9)式が成立する(注目画素PCが背景Aにある)という判定結果を確実なものとする。
ECR(x,y)>k×ECL(x,y) …(10)式
【0105】
なお、同じ被写体点同士での対応画素差分値は、その値が、カメラCMの感度ばらつき程度(例えば、1桁の値)になる。一方、異なる被写体での対応画素差分値は、非常に大きな値(例えば、100オーダー)になる。以上のように、対応画素差分値の差が10倍以上あると思われるので、係数kは、例えば、少し低めに8という値で予め設定する。
【0106】
そして、差分値選択手段30cは、(10)式が成立する場合(左側の対応画素差分値ECLが右側の対応画素差分値ECRより十分小さい場合)、この小さい方の対応画素差分値ECL=最小差分値Emを選択差分値として選択する。
【0107】
<第3例:オクルージョンが発生していない場合2>
以下、図7を参照して、ある仮定奥行値dにおいて、基準映像FCの画素(注目画素PC)と、隣接映像FL,FRの画素(対応画素PL,PR)とが前景Bに対応している場合(オクルージョンが発生していない場合2)の処理について説明する(適宜図2〜図4参照)。
【0108】
前記した(8)式が成立する場合(注目画素値PCが前景側に近い場合)、差分値選択手段30cは、この判定結果を確実なものとするため、以下の処理を行う。具体的には、差分値選択手段30cは、以下の(11)式に示すように、近傍画素PSRと注目画素PCとの画素値の画素差分値DPRが、前記した閾値th3より小さいか否かを判定する。
DPR(x,y)<th3 …(11)式
【0109】
そして、差分値選択手段30cは、前記した(11)式が成立し、注目画素PCが前景Bの画素であると判定した場合、以下の(12)式に示すように、仮定奥行値dが前景B側の近傍奥行値DRより大きいか否かを判定する。
d(x,y)>DR(x+s,y) …(12)式
【0110】
(12)式が成立する場合(仮定奥行値dが大きい場合)、差分値選択手段30cは、平均差分値Eaに、前記した係数hを仮定奥行値dに掛けたペナルティ(加算値)p1を加算する。これによって、差分値選択手段30cは、大きすぎる奥行値Dが誤推定されることを防止できる。
【0111】
(12)式が成立しない場合(仮定奥行値dが大きくない場合)、差分値選択手段30cは、注目画素PCにオクルージョンが生じないので、平均差分値Eaを選択差分値として選択する。
【0112】
<第4例:仮定奥行値が正しくない場合1>
以下、図8を参照して、仮定奥行値dが正しくない場合1の処理について説明する(適宜図2〜図4参照)。ここで、図8に示すように、仮定奥行値dが大きすぎて、前景Bでない側の対応画素PLが前景B側に移動し、前景B側の対応画素PRが背景A側に移動している。
【0113】
前記した(10)式が成立しない場合、差分値選択手段30cは、仮定奥行値dが正しくないか否かを判定する。具体的には、差分値選択手段30cは、以下の(13)式に示すように、左側の対応画素差分値ECLが、右側の対応画素差分値ECRに係数kを掛けたものより大きいか否かで判定する。
ECL(x,y)>k×ECR(x,y) …(13)式
【0114】
そして、差分値選択手段30cは、(13)式が成立する場合(仮定奥行値dが正しくない場合)、この大きな方の対応画素差分値ECLが含まれる平均差分値Eaを選択差分値として選択する。これによって、差分値選択手段30cは、誤った奥行値Dが推定されることを防止する。
【0115】
<第5例:仮定奥行値が正しくない場合2>
以下、図9を参照して、仮定奥行値dが正しくない場合2の処理について説明する(適宜図2〜図4参照)。ここで、図9に示すように、仮定奥行値dが大きすぎて前景Bの奥行値を示しているため、対応画素PL、PC、PRが全て背景Aにある。
【0116】
前記した(10)式および(13)式が成立しない場合、差分値選択手段30cは、対応画素PL、PC、PRが全て背景Aにあり、仮定奥行値dが正しくないと判定する。このとき、平均差分値Eaおよび最小差分値Emの両方とも大きくならないので、差分値選択手段30cは、平均差分値Eaに所定のペナルティ(加算値)pを加えた値を算出し、平均差分値Eaにペナルティpを加えた値を選択差分値として選択する。
【0117】
なお、ペナルティpは、十分大きな固定値(例えば、100)で予め設定する。また、ペナルティpは、仮定奥行値dに係数(第2の係数)lを掛けた値としてもよい。さらに、係数lは、例えば、0.5または2という値で予め設定する。
【0118】
<第6例:左右でオクルージョンが発生している場合>
図10を参照して、左右でオクルージョンが発生している場合の処理について説明する(適宜図2〜図4参照)。ここで、図10に示すように、対応画素PL,PC,PRが、前景B、背景Aおよび中景Cにそれぞれ対応している。
【0119】
前記した(9)式または(11)式が成立しない場合、差分値選択手段30cは、注目画素PCが、右側にある前景Bと左側にある中景Cとの間にある背景Aに対応すると判定する。このとき、左右どちらのカメラCL,CRからも、正しい対応点が見えないので、正しい奥行値Dを推定できないことになる。このため、差分値選択手段30cは、奥行値Dをより正しい値に近づけるための処理を行う。すなわち、左側に中景Cがある場合には仮定奥行値dが小さくなり、仮定奥行値dが中景Cに近づくと、左側の対応画素PLは、背景Aを示すことになる。このとき、左側の対応画素差分値ECLは、右側の対応画素差分値ECRよりも小さくなる。
【0120】
具体的には、差分値選択手段30cは、前記した(10)式により、左側の対応画素差分値ECLが右側の対応画素差分値ECRよりも十分小さくなるか否かを判定する。ここで、(10)式が成立しない場合、差分値選択手段30cは、背景Aが左右どちらのカメラCL,CRからも見えないと判定する。この場合、差分値選択手段30cは、その仮定奥行値dに前記した係数hを掛けた値をペナルティ(加算値)p1として算出する。その後、差分値選択手段30cは、平均差分値Eaにペナルティ(加算値)p1を加えた値を選択差分値として選択する。
【0121】
一方、(10)式が成立する場合、差分値選択手段30cは、仮定奥行値dが小さく、カメラCLから、前景Bと中景Cとの間を通して、背景Aの対応点でない点が見えていると判定する(擬似マッチングが生じている)。この場合、差分値選択手段30cは、次善の選択差分値として、その時の最小差分値Emにペナルティ(加算値)p1を加えた値を、選択差分値として選択する。
【0122】
その後、差分値選択手段30cは、選択した選択差分値を、仮定奥行値dと基準映像FCの画素位置とに対応付けて記憶手段40に書き込む。また、差分値決定手段30は、基準映像FCの全ての画素位置において、仮定奥行値dごとの選択差分値を記憶手段40に書き込んだ後に、書き込み完了を平滑化手段50に通知する。
【0123】
以上説明したように、差分値決定手段30は、仮定した奥行値(仮定奥行値d)が正しく、左右のカメラCL、CRから、正しい対応点が見えている場合、平均差分値Eaを選択する。これによって、後記する奥行値決定手段60において、正しい奥行値Dが推定される確率を高くすることができる。さらに、差分値決定手段30は、仮定奥行値dが正しくない場合の偽マッチングを防止することができる。
【0124】
また、差分値決定手段30は、オクルージョンが発生していても、カメラCL、CRの片方から正しい対応点が見える場合、対応点が見えている側の差分絶対値である、最小差分値Emを選択することにより、正しい奥行値Dが推定される確率を高くすることができる。
【0125】
さらに、差分値決定手段30は、両方のカメラCL、CRからも正しい対応点が見えない場合、注目画素PCが背景A側にあると判定して、ペナルティp1を加算することで、正しい奥行値Dが推定される確率を高くすることができる。
【0126】
さらに、差分値決定手段30は、オクルージョンと偽マッチングとが同時に発生している場合、ペナルティp,p1を加えることで、正しい奥行値Dが推定される確率を高くすることができる。このように、差分値決定手段30が選択した選択差分値は、仮定奥行値dが正しいことを示す指標として用いることができる。
【0127】
なお、差分値選択手段30cは、1回目の奥行推定では、最小差分値Emを選択差分値として選択してもよい。これによって、オクルージョンが生じている画素でも、正しい奥行値Dが1回目で求まりやすくなる。また、オクルージョンが生じていない画素では、奥行値Dがやや不正確な値となる。このため、2回目以降の奥行推定で、差分値選択手段30cが前記した処理を行い、正しい奥行値Dを求めてもよい。
【0128】
図2に戻って、奥行推定装置1の構成について説明を続ける。
記憶手段40は、差分値決定手段30で決定された差分値を、仮定奥行値dと基準映像の画素位置とに対応付けて記憶するものである。例えば、記憶手段40は、磁気メモリや半導体メモリ等の一般的な記憶媒体である。
【0129】
平滑化手段50は、当該画素位置における差分値を平滑化するものである。まず、平滑化手段50は、基準映像の画素位置(x,y)およびその画素位置での仮定奥行値dごとに、以下の(14)式および(15)式に示すように、注目画素PC(x,y)に隣接する画素位置(x+1,y)、(x,y+1)での選択差分値EX(x+1,y)、EY(x,Y+1)の最小値を探索する。そして、平滑化手段50は、その仮定奥行値dを隣接画素の奥行値候補D(x+1,y)、D(x,y+1)とする。
D(x+1,y)=(x+1,y)座標の差分値最小の仮定奥行値 …(14)式
D(x,y+1)=(x,y+1)座標の差分値最小の仮定奥行値 …(15)式
【0130】
次に、平滑化手段50は、以下の(16)式に示すように、基準映像の画素位置(x,y)およびその画素位置での仮定奥行値dごとに、その選択差分値E(d,x,y)に、隣接画素位置(x+1,y)、(x,y+1)における奥行値候補D(x+1,y)、D(x,y+1)と仮定奥行値d(x,y)との差分絶対値に平滑化係数Wを掛けて加算する。
Ev(d,x,y)=E(d,x,y)+W{|D(x+1,y)−d(x,y)|
+|D(x,y+1)−d(x,y)|} …(16)式
【0131】
なお、平滑化係数Wは、任意の値(例えば、2)で予め設定する。このとき、平滑化係数Wの値を大きくする程、選択差分値が滑らかになるが、被写体Tの境界部分の奥行値を誤推定する可能性が高くなる。このため、平滑化係数Wは、適切な値に設定することが好ましい。
また、図示を省略した入力手段を介して、外部から平滑化係数Wを入力してもよい。
【0132】
平滑化手段50は、当該画素位置における選択差分値を平滑化し、平滑化された平滑化差分値Ev(d,x,y)を得ることができる。このように、一様な被写体Tの画素位置で奥行値Dが隣接画素間で大きく異なる場合、大きなペナルティが選択差分値に加算されるので、平滑化差分値Evは、もとの選択差分値が小さく、かつ、隣接画素との奥行値Dの差が小さい選択差分値が最小となるため、推定した奥行値Dが滑らかに連続するようになる。
なお、平滑化手段50は、差分値決定手段30から、基準映像の全ての画素位置において、全ての仮定奥行値dの選択差分値を書き込んだ旨(書き込み完了)を通知されることで動作を開始する。
【0133】
このように、選択差分値に、隣接する画素の奥行値候補Dとの差分を重み付け加算することで、隣接する各画素の奥行値Dが平滑化されることになる。これによって、隣接画素間において、選択差分値が最小となる奥行値Dが、オクルージョンや偽マッチング等で互いに異なる場合であっても、滑らかな奥行値Dを得ることができる。
【0134】
この平滑化手段50は、平滑化差分値Evが最小となる奥行値候補Dを、記憶手段40に書き込む。その後、平滑化手段50は、奥行値決定手段60に平滑化完了を通知する。
【0135】
奥行値決定手段60は、以下の(17)式に示すように、仮定奥行値dと基準映像の画素位置とに対応付けて記憶手段40に記憶されている平滑化された選択差分値について、画素位置(x,y)ごとに、平滑化差分値Ev(x,y)が最小となる仮定奥行値d(x,y)を探索し、当該画素位置における奥行値D(x,y)とする。
D(x,y)=(x,y)座標の平滑化差分値Ev(x,y)最小の奥行値
…(17)式
【0136】
このように、奥行値決定手段60は、全ての画素位置において、平滑化差分値Evが最小となる仮定奥行値dを奥行値Dとして決定する。そして、奥行値決定手段60は、被写体Tの奥行値Dを推定した奥行映像FZを生成する。
なお、この奥行値決定手段60は、平滑化手段50から、選択差分値の平滑化が完了した旨(平滑化完了)を通知されることで動作を開始するものとする。
【0137】
以上説明したように、奥行推定装置1は、選択差分値を指標として、被写体Tの奥行値Dを推定することができる。
なお、奥行推定装置1は、1回目の奥行推定で決定した奥行値Dを用いて、2回目以降の奥行推定を行ってもよい。そして、奥行推定装置1は、奥行推定をN回繰り返した後に得られた奥行値Dから奥行映像FZを生成してもよい。
【0138】
〔奥行推定装置の動作〕
以下、図11〜図16を参照して、図2の奥行推定装置1の動作について説明する(適宜図1,2参照)。ここでは、図11を参照して、奥行推定装置1の全体動作について説明し、詳細な説明については、図12〜図16を参照して説明を行うことにする。
なお、図11〜図16では、平均差分値Eaを平均値および最小差分値Emを最小値と略記している。
【0139】
(全体動作)
最初に、図11を参照して、奥行推定装置1の全体動作について説明する。
奥行推定装置1は、奥行推定回数を示すカウンタn=1とし、全ての画素の奥行値D=0として、初期設定を行う。そして、奥行推定装置1は、映像入力手段10によって、一直線上に等間隔で水平に配置したカメラ(基準カメラCC、隣接カメラCL,CR)より、同一の被写体Tを撮影したカメラ映像(基準映像FC,隣接映像FL,FR)を入力する(ステップS1)。
【0140】
そして、奥行推定装置1は、近傍画素値出力手段15によって、注目画素PCの画素値PC(x,y)と、注目画素PCから所定画素数sだけ左に離れた近傍画素PSLの画素値PSL(x-s,y)と、注目画素PCから所定の画素数sだけ右に離れた近傍画素PSRの画素値PSR(x+s,y)とを出力する(ステップS2;近傍画素値出力動作)。
【0141】
そして、奥行推定装置1は、対応画素差分演算手段20によって、仮定奥行値dおよび注目画素PCごとに、基準映像FCの注目画素PCの画素値と、当該注目画素PCの仮定奥行値dの視差に対応する隣接映像FL,FRの対応画素の画素値との差分絶対値である隣接映像の対応画素差分値ECL,ECRを演算する(ステップS3;対応画素差分演算動作)。このステップS3の動作については、図12を参照して後で説明を行う。
【0142】
そして、奥行推定装置1は、差分値決定手段30によって、仮定奥行値dおよび注目画素PCごとに、最小差分値Em、平均差分値Ea、最小差分値Emまたは平均差分値Eaに所定のペナルティ(加算値)を加えた値の何れかを、選択差分値として決定し、記憶手段40に記憶する(ステップS4;差分値決定動作)。このステップS4の動作については、図13,図14を参照して後で説明を行う。
【0143】
そして、奥行推定装置1は、平滑化手段50によって、基準映像FCの全ての(x,y)座標の全ての仮定奥行値dに対応して記憶された選択差分値を平滑化する(ステップS5;平滑化動作)。このステップS5の動作については、図15を参照して後で説明を行う。
【0144】
そして、奥行推定装置1は、奥行値決定手段60によって、画素位置(x,y)ごとに、平滑化された差分値が最小となる奥行値候補Dを探索し、当該画素位置の奥行値Dを決定する(ステップS6;奥行値決定動作)。このステップS6の動作については、図16を参照して後で説明を行う。
【0145】
そして、奥行推定装置1は、カウンタnが繰返回数Nと等しいか判定する(ステップS7)。カウンタnが繰返回数Nと等しくない場合(ステップS7でNo)、奥行推定装置1は、ステップS8の処理に進む。
【0146】
そして、奥行推定装置1は、近傍奥行値出力手段25によって、近傍画素PSLの奥行値DLと、近傍画素PSRの奥行値DRとを差分値決定手段30に出力する(ステップS8;近傍奥行値出力動作)。
その後、奥行推定装置1は、カウンタnをインクリメントし(ステップS9)、ステップS1の処理に戻る。
【0147】
一方、カウンタnが繰り返し回数Nと等しい場合(ステップS7でYes)、奥行推定装置1は、奥行値決定手段60によって、N回繰り返した後に得られた奥行値Dを、奥行き映像として出力する。
以上の動作によって、奥行推定装置1は、複数のカメラ映像から、被写体Tの奥行きを示す奥行値Dを推定する。
【0148】
(対応画素差分演算動作)
次に、図12を参照して、対応画素差分演算動作(図11のステップS3)について詳細に説明する。
【0149】
まず、奥行推定装置1は、変数として、仮定奥行値d、カメラ映像(基準映像FC,隣接映像FL,FR)のx座標値およびy座標値を初期化(d=0、x=0、y=0)する(ステップS10)。
【0150】
そして、対応画素差分演算手段20は、基準映像FCの注目画素PCの画素値と、当該注目画素PCの仮定奥行値dの視差に対応する隣接映像FL,FRの対応画素の画素値との差分絶対値である対応画素差分値ECL,ECRを前記した(1)式により演算する。
【0151】
すなわち、対応画素差分演算手段20は、基準映像FCの中の注目画素値PC(x,y)に対し、隣接映像FLの画素位置を右にd画素移動した位置の対応画素値PL(x+d,y)との差分絶対値である対応画素差分値ECL(d,x,y)を演算する。
また、対応画素差分演算手段20は、基準映像FCの中の注目画素値PC(x,y)に対し、隣接映像FRの画素位置をd画素左に移動した位置の対応画素値PR(x−d,y)との差分絶対値である対応画素差分値ECR(d,x,y)を演算する(ステップS11)。
【0152】
そして、対応画素差分演算手段20は、被写体Tにおいて注目画素PCの近傍が黒い背景であるか否かを判定する。すなわち、対応画素差分演算手段20は、近傍画素値出力手段15から入力された注目画素PCの画素値PC(x,y)と、近傍画素PSLの画素値PSL(x−s,y)と、近傍画素PSRの画素値PSR(x+s,y)との全てが閾値thより小さいか否かを判定する(ステップS12)。
【0153】
全ての値が閾値thより小さい場合(ステップS12でYes)、対応画素差分演算手段20は、黒背景フラグがオンまたはオフであるかを判定する(ステップS13)。
【0154】
黒背景フラグがオンの場合(ステップS13でYes)、対応画素差分演算手段20は、前記した(1−1)式のように、仮定奥行値dに係数hを掛けた値(ペナルティ)を、対応画素差分値ECL,ECRに加算する(ステップS14)。
【0155】
黒背景フラグがオフの場合(ステップS13でNo)、対応画素差分演算手段20は、前記した(1−2)式のように、大きい方の近傍奥行値DMと仮定奥行値dとの差分絶対値に係数hを掛けた値(ペナルティ)を、対応画素差分値ECL,ECRに加算する(ステップS15)。
【0156】
一方、全ての値が閾値thより小さくならない場合(ステップS12でNo)、対応画素差分演算手段20は、ステップS16−1の処理に進む。
【0157】
その後、奥行推定装置1は、変数である仮定奥行値d、カメラ映像のx座標値、y座標値を順次加算(インクリメント)し、仮定奥行値dについては最大視差量になるまで(ステップS16−1,16−2)、x座標値についてはカメラ映像の幅になるまで(ステップS17−1,S17−2)、y座標値についてはカメラ映像の高さになるまで(ステップS18−1,S18−2)、前記した動作を繰り返す。
【0158】
(差分値決定動作)
以下、図13,図14を参照して、差分値決定動作(図11のステップS4)について詳細に説明する(適宜図2,図5〜図10参照)。
まず、奥行推定装置1は、変数として、仮定奥行値d、カメラ映像のx座標値およびy座標値をそれぞれ初期化(d=0、x=0、y=0)する(ステップS20)。
【0159】
平均差分値演算手段30aは、前記した(2)式により、隣接映像の対応画素差分値ECL,ECRの平均差分値Eaを演算する。
最小差分値選択手段30bは、前記した(3)式により、隣接映像の対応画素差分値ECLと隣接映像の対応画素差分値ECRとの最小値を最小差分値Emとして選択する。
差分値選択手段30cは、前記した(4)式〜(7)式により、奥行差分値DD、画素差分値DPLR,DPL,DPRを演算する(ステップS21)。
【0160】
差分値選択手段30cは、カウンタn=1であるか否か、つまり、1回目の奥行推定であるか否かを判定する(ステップ22)。
1回目の奥行推定の場合(ステップ22でYes)、差分値選択手段30cは、ステップ32の処理に進む。
一方、2回目以降の奥行推定の場合(ステップ22でNo)、差分値選択手段30cは、ステップ23の処理に進む。
【0161】
以下、差分値選択手段30cは、ステップS23からステップS43までの処理によって、対応画素差分値ECL、ECRと、ステップS21で演算した奥行差分値DD、画素差分値DPLR,DPL,DPRとに基づいて、選択差分値を選択する。
【0162】
差分値選択手段30cは、前記した(4)式および(5)式により、オクルージョンが発生しているか否かを判定する(ステップS23)。
(4)式または(5)式の何れかを満たさない場合(ステップS23でNo;被写体境界無)、差分値選択手段30cは、平均差分値Eaを選択差分値として選択し、記憶手段40に記憶する(ステップS24)。
【0163】
(4)式および(5)式の両方を満たす場合(ステップS23でYes;被写体境界有)、差分値選択手段30cは、奥行値DL,DRを大小比較し、大きい側に前景Bがあると判定する(ステップS25)。
【0164】
右側に前景Bがある場合(ステップS25でYes)、差分値選択手段30cは、前記した(8)式により、注目画素PCが前景B上の画素であるか否かを判定する(ステップS26)。
【0165】
注目画素PCが前景B上の画素である場合(ステップS26でYes)、差分値選択手段30cは、画素差分値DPRが閾値th3より小さいか否かを判定する(ステップS27)。
【0166】
注目画素PCが前景B上の画素である場合(ステップS27でYes)、差分値選択手段30cは、(12)式により、仮定奥行値dが前景B側の近傍奥行値DRより大きいか否かを判定する(ステップS28)。
【0167】
仮定奥行値dが前景B側の近傍奥行値DRより大きい場合(ステップS28でYes)、差分値選択手段30cは、平均差分値Eaにペナルティp1を加え(ステップS29)、記憶手段40に記憶する(ステップS24)。
【0168】
仮定奥行値dが前景B側の近傍奥行値DRより大きくない場合(ステップS28でNo)、差分値選択手段30cは、仮定奥行値dが正しく、注目画素PCにオクルージョンが発生していないので、平均差分値Eaを選択差分値として選択し、記憶手段40に記憶する(ステップS24)。
【0169】
注目画素PCが背景A上の画素である場合(ステップS26でNo)、差分値選択手段30cは、画素差分値DPLが閾値th3より小さいか否かを判定する(ステップS30)。
【0170】
注目画素PCが背景A上にある場合(ステップS30でYes)、差分値選択手段30cは、前記した(10)式に示すように、左側の対応画素差分値ECLが、右側の対応画素差分値ECRより十分小さいか否かを、左側の対応画素差分値ECLに係数kを掛けても、右側の対応画素差分値ECRより小さいか否かによって判定する(ステップS31)。
【0171】
左側の対応画素差分値ECLが右側の対応画素差分値ECRより十分小さい場合(ステップS31でYes)、差分値選択手段30cは、この小さい方の対応画素差分値ECL=最小差分値Emを選択差分値として選択する(ステップ32)。
【0172】
左側の対応画素差分値ECLが右側の対応画素差分値ECRより十分小さくない場合(ステップS31でNo)、差分値選択手段30cは、仮定奥行値dが正しくないと判定する。この場合、差分値選択手段30cは、仮定奥行値dが大きいか否かを、左側の対応画素差分値ECLが右側の対応画素差分値ECRに係数kを掛けたものより大きいか否かで判定する(ステップS33)。
【0173】
仮定奥行値dが大きい場合(ステップS33でYes)、差分値選択手段30cは、この大きな方の対応画素差分値ECLを含む平均差分値Eaを選択差分値として選択し、記憶手段40に記憶する(ステップS24)。
【0174】
仮定奥行値dが大きくない場合(ステップS33でNo)、差分値選択手段30cは、対応画素PL、PC、PRが全て背景A上にあり、仮定奥行値dが正しくないと判定する。この場合、差分値選択手段30cは、平均差分値Eaも最小差分値Emも大きくならないので、平均差分値Eaにペナルティpを加えた値を選択差分値として選択し、記憶手段40に記憶する(ステップS34)。
【0175】
注目画素PCが前景B上の画素でない場合(ステップS27でNo)、または、注目画素PCが背景A上でない場合(ステップS30でNo)、差分値選択手段30cは、注目画素PCが右側にある前景Bと左側にある中景Cの中間にある背景Aに対応すると判定する。この場合、左右どちらのカメラCL,CRからも、正しい対応点が見えないので、正しい奥行値Dを推定できないことになる。このため、差分値選択手段30cは、前記した(10)式により、左側の対応画素差分値ECLが右側の対応画素差分値ECRよりも十分小さくなるか否かを判定する(ステップS35)。
【0176】
左側の対応画素差分値ECLが右側の対応画素差分値ECRよりも十分小さい場合(ステップS35でYes)、差分値選択手段30cは、その時の最小差分値Emにペナルティp1を加えた値を算出し(ステップS36)、選択差分値として記憶手段40に記憶する(ステップS32)。
【0177】
左側の対応画素差分値ECLが右側の対応画素差分値ECRよりも十分小さくない場合(ステップS35でNo)、差分値選択手段30cは、背景Aが左右どちらのカメラCL,CRからも見えないと判定する。この場合、差分値選択手段30cは、推定される奥行値Dをより正しい値に近づけるために、平均差分値Eaにペナルティp1を加えた値を算出し(ステップS29)、記憶手段40に記憶する(ステップS24)。
【0178】
左側に前景Bがある場合(ステップS25でNo)、差分値選択手段30cは、注目画素PCが、前景の被写体上の画素であるか否かを、以下の(18)式により判定する(ステップS37)。
DPL(x,y)≦DPR(x,y) …(18)式
【0179】
画素差分値DPLが画素差分値DPR以下の場合(ステップS37でYes、注目画素PCが前景側)、差分値選択手段30cは、画素差分値DPLが閾値th3より小さいか否かを判定する(ステップS38)。
【0180】
注目画素PCが前景B上の画素にある場合(ステップS38でYes)、差分値選択手段30cは、以下の式(19)により、仮定奥行値dが前景B側の近傍奥行値DLより大きくないか否かを判定する(ステップS39)。
d(x,y)>DL(x−s,y) …(19)式
【0181】
仮定奥行値dが前景B側の近傍奥行値DLより大きい場合(ステップS39でYes)、差分値選択手段30cは、平均差分値Eaにペナルティp1を加えた値を算出し(ステップS29)、記憶手段40に記憶する(ステップS24)。
【0182】
仮定奥行値dが前景B側の近傍奥行値DLより大きくない場合(ステップS39でNo)、差分値選択手段30cは、仮定奥行値dが正しく、注目画素PCにオクルージョンが発生していないので、平均差分値Eaを選択差分値として選択し、記憶手段40に記憶する(ステップS24)。
【0183】
画素差分値DPLが画素差分値DPR以下でない場合(ステップS37でNo、注目画素PCが背景側)、差分値選択手段30cは、画素差分値DPRが閾値th3より小さいか否かを判定する(ステップS40)。
【0184】
画素差分値DPRが閾値th3より小さい場合(ステップS40でYes)、差分値選択手段30cは、右側の対応画素差分値ECRが、左側の対応画素差分値ECLより十分小さいか否かを、右側の対応画素差分値ECRに係数kを掛けても、左側の対応画素差分値ECLより小さいか否かによって判定する(ステップS41)。
【0185】
右側の対応画素差分値ECRが左側の対応画素差分値ECLより十分小さい場合(ステップS41でYes)、差分値選択手段30cは、この小さい方の最小差分値Em=対応画素差分値ECRを選択差分値として選択し、記憶手段40に記憶する(ステップS32)。
【0186】
右側の対応画素差分値ECRが左側の対応画素差分値ECLより十分小さくない場合(ステップS41でNo)、差分値選択手段30cは、仮定奥行値dが正しくないと判定する。この場合、差分値選択手段30cは、仮定奥行値dが大きいか否かを、右側の対応画素差分値ECRが、左側の対応画素差分値ECLに係数kを掛けたものより大きいか否かによって判定する(ステップS42)。
【0187】
仮定奥行値dが大きい場合(ステップS42でYes)、差分値選択手段30cは、この大きな方の対応画素差分値ECRを含む平均差分値Eaを選択差分値として選択し、記憶手段40に記憶する(ステップS24)。
【0188】
仮定奥行値dが大きくない場合(ステップS42でNo)、差分値選択手段30cは、対応画素PL、PC、PRが全て背景A上にあり、仮定奥行値dが正しくないと判定する。この場合、差分値選択手段30cは、平均差分値Eaも最小差分値Emも大きくならないので、平均差分値Eaにペナルティpを加えた値を算出し、記憶手段40に記憶する(ステップS34)。
【0189】
注目画素PCが前景B上の画素でない場合(ステップS38でNo)、または、注目画素PCが背景A上の画素でない場合(ステップS40でNo)、差分値選択手段30cは、注目画素PCが左側にある前景Bと右側にある中景Cとの中間にある背景Aに対応すると判定する。この場合、左右どちらのカメラCL,CRからも、正しい対応点は見えないので、正しい奥行値Dを推定できないことになる。このため、差分値選択手段30cは、前記した(13)式により、右側の対応画素差分値ECRが左側の対応画素差分値ECLより十分小さくなるか否かを判定する(ステップS43)。
【0190】
右側の対応画素差分値ECRが左側の対応画素差分値ECLより十分小さい場合(ステップS43でYes)、差分値選択手段30cは、その時の最小差分値Emである右側の対応画素差分値ECRにペナルティp1を加えた値を算出し(ステップS36)、記憶手段40に記憶する(ステップS32)。
【0191】
右側の対応画素差分値ECRが左側の対応画素差分値ECLより十分小さくない場合(ステップS43でNo)、差分値選択手段30cは、背景Aが左右どちらのカメラCL,CRからも見えないと判定する。この場合、差分値選択手段30cは、平均差分値Eaにペナルティp1を加えた値を算出し(ステップS29)、記憶手段40に記憶する(ステップS24)。
【0192】
その後、奥行推定装置1は、変数である仮定奥行値d、カメラ映像のx座標値、y座標値を順次加算(インクリメント)し、仮定奥行値dについては最大視差量になるまで(ステップS44,S45)、x座標値についてはカメラ映像の幅になるまで(ステップS46,S47)、y座標値についてはカメラ映像の高さになるまで(ステップS48,S49)、ステップS21からステップS43までの動作を繰り返す。
この差分値決定動作によって、記憶手段40には、基準映像の画素位置(x,y)ごとに、複数の仮定奥行値d(“0”〜最大視差量)に対応した差分値Eが記憶される。
【0193】
なお、差分値決定手段30は、基準映像の全ての画素位置において、仮定奥行値dごとの選択差分値を記憶手段40に書き込んだ後に、書き込み完了を平滑化手段50に通知する。
【0194】
(平滑化動作)
以下、図15を参照して、平滑化動作(図11のステップS5)の動作について詳細に説明する。
【0195】
まず、奥行推定装置1は、変数として、仮定奥行値d、カメラ映像(基準映像FC,隣接映像FL,FR)のx座標値およびy座標値を初期化(d=0、x=0、y=0)する(ステップS60)。
【0196】
そして、平滑化手段50は、記憶手段40に記憶されている基準映像FCの(x,y)座標に隣接する座標において、仮定奥行値dの中で選択差分値が最小となる仮定奥行値dを隣接画素の奥行値候補Dとして探索する。
【0197】
すなわち、平滑化手段50は、基準映像FCの(x,y)座標に隣接する、(x+1,y)座標の差分値が最小となる仮定奥行値d(x+1,y)と、(x,y+1)座標の差分値が最小となる仮定奥行値d(x,y+1)を探索し、隣接画素の奥行値候補D(x+1,y)、D(x,y+1)とする(ステップS61)。
【0198】
そして、平滑化手段50は、前記した(16)式のように、記憶手段40に記憶されている基準映像FCの(x,y)座標の奥行値候補Dに対応する選択差分値E(d,x,y)に、注目画素PCの仮定奥行値dと隣接画素の奥行値候補D(x+1,y),D(x,y+1)との差を、注目画素PCの差分値に重み付け加算することで、平滑化した差分値Ev(d,x,y)を演算する(ステップS62)。
【0199】
その後、奥行推定装置1は、変数である仮定奥行値d、カメラ映像のx座標値、y座標値を順次加算(インクリメント)し、仮定奥行値dについては最大視差量になるまで(ステップS63,S64)、x座標値についてはカメラ映像の幅になるまで(ステップS65,S66)、y座標値についてはカメラ映像の高さになるまで(ステップS67,S68)、ステップS61からステップS62までの動作を繰り返す。
この平滑化動作によって、記憶手段40には、基準映像の画素位置(x,y)ごとに、平滑化差分値Evが記憶される。
【0200】
(奥行値決定動作)
以下、図16を参照して、奥行値決定動作(図11のステップS6)の動作について詳細に説明する。
【0201】
まず、奥行推定装置1は、変数として、カメラ映像のx座標値、y座標値をそれぞれ初期化(x=y=0)する(ステップS70)。
そして、奥行値決定手段60は、記憶手段40に記憶されている平滑化差分値Evについて、画素位置(x,y)ごとに、平滑化された差分値Evが最小となる仮定奥行値dを探索し、探索された仮定奥行値dが、画素位置(x,y)における被写体Tの奥行値D(x,y)として決定(記憶・出力)する(ステップS71)。
【0202】
その後、奥行推定装置1は、変数であるカメラ映像のx座標値、y座標値を順次加算(インクリメント)し、x座標値についてはカメラ映像の幅になるまで(ステップS72,S73)、y座標値についてはカメラ映像の高さになるまで(ステップS74,S75)、ステップS71の動作を繰り返す。これによって、全ての画素位置(x,y)における被写体Tの奥行値Dが決定されることになる。
【0203】
なお、奥行推定装置1は、新たに決定された奥行値Dを用いて、ステップS2からS5の奥行推定動作を、N回(N≧2)繰り返し、最後に得られた奥行値Dを奥行映像FZとして出力する。その結果、奥行推定装置1は、より誤推定を減らした奥行値Dを得ることができる。
【0204】
以上、本発明の実施形態に係る奥行推定装置1の構成および動作について説明したが、本発明は、この実施形態に限定されるものではない。
以下、本発明の種々の変形例について説明する。
【0205】
(変形例1:カメラ配置間隔の変形例)
本実施形態では、被写体を撮影するカメラの設置間隔を等間隔としたが、異なるカメラ間隔としてもよい。
この場合、対応画素差分演算手段20は、それぞれの隣接映像FL,FRについて、基準カメラCCからのカメラ間隔ごとに、基準映像FCの画素から、視差に対応する画素の位置をそれぞれ求め、当該画素の画素値と、基準映像FCの画素の画素値との差分絶対値を演算すればよい。例えば、本実施形態では、奥行値Dの単位と画素間の視差の単位とを同一とし、奥行値Dが“1”増加することで、1画素ずつ視差が増加することとしたが、この場合、図1に示したカメラCC,CR間の距離が、カメラCC,CL間の距離の2倍であったとすると、対応画素差分演算手段20は、前記(1)式の代わりに、以下の(18)式により差分絶対値を算出すればよい。
ECL(d,x,y)=|PL(x+d,y)−PC(x,y)|
ECR(d,x,y)=|PR(x−2d,y)−PC(x,y)| …(18)式
これによって、奥行推定システム(図1)のカメラ配置の自由度を高めることができる。
【0206】
(変形例2:対応画素差分演算手段の変形例)
また、本実施形態では、対応画素差分演算手段20が、基準映像FCの各画素の画素値と、当該画素の仮定奥行値dの視差に対応する隣接映像FL,FRの各画素の画素値との差分絶対値を演算することとしたが、この差分絶対値は、対応する画素のみでなく、対応画素を中心とするブロック内の画素値の差分絶対値の重み付け平均値を用いることとしてもよい。例えば、対応画素差分演算手段20は、前記(1)式の対応画素差分値ECL(d,x,y)を、以下の(19)式により算出する。
ECL(d,x,y)=|PL(x+d,y)−PC(x,y)|×1/2
+|PL(x+d+1,y)−PC(x+1,y)|×1/8
+|PL(x+d−1,y)−PC(x−1,y)|×1/8
+|PL(x+d,y+1)−PC(x,y+1)|×1/8
+|PL(x+d,y−1)−PC(x,y−1)|×1/8
…(19)式
これによって、ノイズ等によって発生する差分絶対値の誤差を低減することができる。
【0207】
(変形例3:平滑化手段の変形例)
また、本実施形態では、平滑化手段50が、前記(16)式に示すように、基準映像FCの(x,y)座標の仮定奥行値dに対応する選択差分値E(d,x,y)に、隣接する2画素間の奥行値Dの差分絶対値を重み付け加算したが、以下の(20)式に示すように、隣接する4画素間の奥行値Dの差分絶対値を重み付け加算してもよい。
Ev(d,x,y)=E(d,x,y)
+W{|D(x+1,y)−d(x,y)|+|D(x,y+1)−d(x,y)|
+|D(x−1,y)−d(x,y)|+|D(x,y−1)−d(x,y)|}
…(20)式
【0208】
以上、本発明の実施形態である奥行推定装置1について説明したが、奥行推定装置1の変形例は、一般的なコンピュータを、前記した各手段として機能させる奥行推定プログラムによって動作させることができる。また、この奥行推定プログラムは、通信回線を介して配布したり、CD−ROM等の記録媒体に記録して配布したりすることも可能である。
【0209】
以上説明したように、奥行推定装置1は、オクルージョンが生じていない場合であっても、オクルージョンが生じている場合であっても、複数の仮定奥行値dに対応する画素における差分絶対値の最小値と平均値との差から、画素の奥行値Dを推定する従来の手法に比べ、注目画素PCの画素値と、その近傍画素の画素値と、近傍画素の奥行値Dとによって、差分絶対値の平均値と、最小値と、それらに所定のペナルティを加えた値のいずれか最適な値を選択することで、隣接映像で偽マッチングが発生している場合、その奥行値Dを推定対象から除くことができ、また、オクルージョンが発生している場合、より正しい差分値から奥行値Dを推定することができ、精度よく奥行値Dを推定することができる。
【符号の説明】
【0210】
1 奥行推定装置
10 映像入力手段
15 近傍画素値出力手段
20 対応画素差分演算手段
25 近傍奥行値出力手段
30 差分値決定手段
30a 平均差分値演算手段
30b 最小差分値選択手段
30c 差分値選択手段
40 記憶手段
50 平滑化手段
60 奥行値決定手段
【技術分野】
【0001】
本発明は、複数のカメラで被写体を撮影した映像から、多視点映像用の被写体の奥行値を推定する奥行推定装置、奥行推定方法および奥行推定プログラムに関する。
【背景技術】
【0002】
近年、複数のカメラで同一の被写体を撮影した複数の映像(多視点映像)を用いて、立体映像や自由視点映像を生成、符号化する研究が進められている。これらの立体映像や自由視点映像を生成、符号化する技術では、基本的に、複数のカメラで被写体を撮影したカメラ映像の視差量を利用することで、被写体までの奥行値を求めている(特許文献1等参照)。
【0003】
この特許文献1には、図17に示すように、複数のカメラ(C1,C2,C3)で撮影された視差方向に異なるカメラ映像を、時間方向に符号化する技術が開示されている。
この符号化の際に、特許文献1に記載されている発明は、複数のカメラ(C1,C2,C3)で撮影されたカメラ映像(F1,F2,F3)間で、映像内の被写体の奥行値を仮定し、基準となるカメラ(例えば、C2)で撮影されたカメラ映像(F2)内のブロックに含まれる画素値と、カメラの位置関係と奥行値とから定まる他のカメラ(例えば、C1,C3)で撮影されたカメラ映像(F1,F3)内の対応ブロックに含まれる画素値との差分絶対値が最小となる奥行値を求めている。
【0004】
このように、従来の手法は、複数のカメラ映像において、複数の仮定した奥行値に対応する画素値の差分絶対値が最小となる画素が、それぞれのカメラ映像の対応する画素であり、また、そのときの仮定した奥行値が当該画素の奥行値であると推定していた。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2007−36800号公報(段落〔0118〕〜〔0112〕)
【発明の概要】
【発明が解決しようとする課題】
【0006】
前記したように、複数のカメラ映像において、複数の仮定した奥行値に対応する画素値の差分絶対値が最小となる画素を探索し、当該画素の奥行値を推定する手法では、以下に示す問題がある。
例えば、被写体の重なりによって、複数のカメラ映像間で対応点が存在しない場合や、画素値の変化が少ない一様な被写体において、複数のカメラ映像間に、画素値が近似する複数の誤った対応点が存在する場合がある。これらの場合、従来の手法では、単に、画素値の差分絶対値が最小となる画素を探索するため、誤った対応点を探索(偽マッチング)してしまう場合がある。
【0007】
さらに、従来の手法では、以下に示す問題もある。
例えば、黒い背景を持つ被写体の場合、差分絶対値がどの仮定奥行値でも小さくなり、誤った奥行値を推定してしまう場合がある。また、例えば、画素値の変化が少ない一様な被写体が前景の被写体に接近した部分では、奥行値が正しくなくても差分絶対値が大きくならず、誤った奥行値を推定してしまう場合がある。すなわち、従来の手法では、誤った対応点を探索した結果、誤った奥行値が推定されてしまうという問題がある。
【0008】
本発明は、このような問題点に鑑みてなされたものであり、複数のカメラ映像間で対応点が存在しない場合、一様な被写体で複数のカメラ映像間における対応点が複数存在する場合であっても、奥行値の誤推定を低減することが可能な奥行推定装置、奥行推定方法および奥行推定プログラムを提供することを課題とする。
さらに、本発明は、背景が黒いために誤った対応点が多数存在する場合や、一様な被写体のために対応点の画素の差分絶対値が大きくならない場合であっても、奥行値の誤推定を低減することが可能な奥行推定装置、奥行推定方法および奥行推定プログラムを提供することを課題とする。
【課題を解決するための手段】
【0009】
本発明は、前記課題を解決するために創案されたものであり、まず、本願第1発明に係る奥行推定装置は、予め定めた位置に複数配列したカメラで同一の被写体を撮影した複数のカメラ映像から、前記被写体の奥行きを示す奥行値を推定する奥行推定装置であって、映像入力手段と、近傍画素値出力手段と、対応画素差分演算手段と、差分値決定手段と、平滑化手段と、奥行値決定手段と、近傍奥行値出力手段と、を備える構成とした。
【0010】
かかる構成において、奥行推定装置は、映像入力手段によって、前記複数配列した前記カメラのいずれかにおいて、予め定めた基準カメラで前記被写体を撮影した基準映像と、前記基準カメラに隣接する複数の隣接カメラで前記被写体を撮影した複数の隣接映像とを入力する。この隣接映像は、基準映像からの視差を計測するための映像である。
【0011】
そして、奥行推定装置は、近傍画素値出力手段によって、前記映像入力手段に入力された基準映像において、当該基準映像の注目画素の画素値と、前記注目画素に対して左右近傍に位置する近傍画素の画素値とを出力する。さらに、奥行推定装置は、対応画素差分演算手段によって、前記奥行値を仮定した仮定奥行値および前記注目画素ごとに、前記基準映像の注目画素の画素値と、当該注目画素の前記仮定奥行値の視差に対応する画素位置にある前記複数の隣接映像の対応画素の画素値との差分絶対値である対応画素差分値を演算する。この仮定奥行値は、基準映像の画素に対応する被写体の奥行値を仮定した値であって、例えば、最小視差(“0”)から最大視差までの値とする。この対応画素差分演算手段によって、基準映像の注目画素の画素値と、隣接映像の仮定奥行値に対応した対応画素値との差分絶対値が算出される。なお、この差分絶対値(隣接映像の対応画素差分値)は、その値が小さい程、仮定奥行値が実際の被写体において同一の対応点を指し示している可能性が高いといえる。
【0012】
そして、奥行推定装置は、差分値決定手段によって、前記仮定奥行値および前記注目画素ごとに、前記対応画素差分値の平均値である平均差分値と、前記対応画素差分値の最小値である最小差分値を求め、前記注目画素の画素値と前記近傍画素の画素値と前記近傍画素の奥行値とに基づいて、前記最小差分値、前記平均差分値、前記最小差分値または前記平均差分値に所定の加算値を加えた値の何れかを、予め設定した条件により選択差分値として決定する。
【0013】
なお、正しい奥行値に対する選択差分値であれば、その値は小さくなり、ノイズ等によって、ある隣接映像の対応画素差分値が誤った値をとった場合であっても、複数の対応画素差分値を平均化することで、全体として選択差分値が小さくなる。
また、オクルージョンが発生することで、ある対応画素差分値が大きな値となった場合や、一様な被写体のために対応点が複数ある場合であっても、基準映像の注目画素の左右近傍の画素値と、該左右近傍の画素で推定された奥行値により、平均差分値と最小差分値と、平均差分値および最小差分値に所定の加算値が加算された値とから、最適な値が選択される。つまり、選択差分値が正しい値で選択されることになる。
これによって、選択差分値は、仮定奥行値の中で正しい奥行値を判定するための指標となる。
【0014】
そして、奥行推定装置は、平滑化手段によって、前記仮定奥行値および前記注目画素ごとに、当該注目画素に隣接する画素の選択差分値が最小となる仮定奥行値と前記注目画素の仮定奥行値との差に、予め設定された平滑化係数を掛けた値を前記選択差分値に加えることで、前記選択差分値を平滑化する。
これによって、平滑化された差分値が最小となる奥行値は、同じ被写体の中では滑らかに変化するようになり、奥行値の誤推定が低減される。
【0015】
そして、奥行推定装置は、奥行値決定手段によって、前記平滑化手段が平滑化した選択差分値が最小となる前記仮定奥行値を、前記基準映像の各画素の奥行値とする。さらに、奥行推定装置は、近傍奥行値出力手段によって、前記奥行値決定手段から基準映像の各画素の奥行値が入力されると共に、前記近傍画素の奥行値を前記対応画素差分演算手段および前記差分値決定手段に出力する。
【0016】
また、本願第2発明に係る奥行推定装置は、前記対応画素差分演算手段が、背景が黒色であるか否かを設定した黒背景フラグが入力され、当該黒背景フラグにおいて前記背景が黒色に設定されているか否かを判定し、前記黒背景フラグにおいて前記背景が黒色に設定されている場合、前記注目画素の画素値と前記近傍画素の画素値との全てが予め設定した第1の閾値より小さい場合、前記対応画素差分値に、前記仮定奥行値に予め設定した第1の係数を掛けた値を加えることを特徴とする。
【0017】
かかる構成において、奥行推定装置は、対応画素差分演算手段によって、黒い背景を持つ被写体で、より小さい奥行値で差分絶対値がより小さくなるようにして、差分絶対値が最小となる奥行値が多数発生し、奥行値を推定できないことを防止する。さらに、奥行推定装置は、対応画素差分演算手段によって、通常の映像では発生しないような非常に暗い黒色の画素値を第1の閾値とすることで、通常の黒い被写体の奥行値の誤推定を防止する。
【0018】
また、本願第3発明に係る奥行推定装置は、前記対応画素差分演算手段が、前記黒背景フラグにおいて前記背景が黒色に設定されていない場合、前記注目画素の画素値と前記近傍画素の画素値との全てが予め設定した第1の閾値より小さい場合、前記対応画素差分値に、左右の前記近傍画素の奥行値のうち大きい方と前記仮定奥行値との差分絶対値に前記第1の係数を掛けた値を加えることを特徴とする。
【0019】
かかる構成において、奥行推定装置は、対応画素差分演算手段によって、黒い被写体がある場合、黒い被写体のエッジで推定された奥行値に近い仮定奥行値で、差分絶対値がより小さくなるようにして、黒い被写体内部で差分絶対値が最小となる奥行値が多数発生し、奥行値を推定できないことを防止する。この場合は、通常の映像で発生する黒色を閾値とすることで、通常の黒い被写体の奥行値の誤推定を防止する。
【0020】
また、本願第4発明に係る奥行推定装置は、前記差分値決定手段が、前記近傍画素どうしの奥行値の差が予め設定した第2の閾値より小さいか、または、前記近傍画素どうしの画素値の差が予め設定した第3の閾値より小さい場合、前記平均差分値を前記選択差分値として決定することを特徴とする。
【0021】
かかる構成において、奥行推定装置は、差分値決定手段によって、注目画素の近傍に、前景と背景の境界がないと判定した場合、平均差分値を選択差分値として選択することにより、より正しい選択差分値を選択可能とする。
【0022】
また、本願第5発明に係る奥行推定装置は、前記差分値決定手段が、前記近傍画素どうしの奥行値の差が前記第2の閾値より大きく、前記近傍画素どうしの画素値の差が前記第3の閾値より大きく、左右の前記近傍画素のうち小さい前記奥行値を有する方よりも大きい前記奥行値を有する方の画素値に前記注目画素の画素値が近い場合、前記平均差分値を前記選択差分値として決定することを特徴とする。
【0023】
かかる構成において、奥行推定装置は、差分値決定手段によって、注目画素が前景に含まれると判定した場合、平均差分値を選択差分値として選択することにより、より正しい選択差分値を選択可能とする。
【0024】
また、本願第6発明に係る奥行推定装置は、前記差分値決定手段が、前記差分値決定手段は、前記近傍画素どうしの奥行値の差が前記第2の閾値より大きく、前記近傍画素どうしの画素値の差が前記第3の閾値より大きく、左右の前記近傍画素のうち小さい前記奥行値を有する方よりも大きい前記奥行値を有する方の画素値に前記注目画素の画素値が近く、前記仮定奥行値が左右の前記近傍画素のうちの前記大きい奥行値より大きい場合、前記仮定奥行値に前記第1の係数を掛けた値を前記加算値として算出して、前記平均差分値に前記加算値を加えた値を前記選択差分値として決定することを特徴とする。
【0025】
かかる構成において、奥行推定装置は、差分値決定手段によって、注目画素が前景に含まれると判定した場合、仮定奥行値が前景の奥行値より大きくなれば、その仮定奥行値に係数を掛けたペナルティ(加算値)を平均差分値に加えることにより、より正しい選択差分値を選択可能とする。
【0026】
また、本願第7発明に係る奥行推定装置は、前記差分値決定手段が、前記近傍画素どうしの奥行値の差が前記第2の閾値より大きく、前記近傍画素どうしの画素値の差が前記第3の閾値より大きく、左右の前記近傍画素のうち大きい前記奥行値を有する方よりも小さい前記奥行値を有する方の画素値に前記注目画素の画素値が近く、前記小さい奥行値を有する前記近傍画素の対応画素差分値に予め設定した第3の係数を掛けた値が前記大きい奥行値を有する前記近傍画素の対応画素差分値より小さい場合、前記最小差分値を前記選択差分値として決定することを特徴とする。
【0027】
かかる構成において、奥行推定装置は、差分値決定手段によって、注目画素が背景に含まれると判定した場合、差分絶対値が小さくなる、背景のある側の最小差分値を選択差分値として選択することにより、より正しい選択差分値を選択可能とする。
【0028】
また、本願第8発明に係る奥行推定装置は、前記差分値決定手段が、前記近傍画素どうしの奥行値の差が前記第2の閾値より大きく、前記近傍画素どうしの画素値の差が前記第3の閾値より大きく、左右の前記近傍画素のうち大きい前記奥行値を有する方よりも小さい前記奥行値を有する方の画素値に前記注目画素の画素値が近く、前記小さい奥行値を有する前記近傍画素の対応画素差分値に前記第3の係数を掛けた値が前記大きい奥行値を有する前記近傍画素の対応画素差分値より大きい場合、前記仮定奥行値に予め設定した第2の係数を掛けた値または予め設定された固定値の何れかを前記加算値として算出して、前記平均差分値に前記加算値を加えた値を前記選択差分値として決定することを特徴とする。
【0029】
かかる構成において、奥行推定装置は、差分値決定手段によって、注目画素が背景の被写体に含まれると判定した場合、差分絶対値が小さくなるはずの、背景のある側の差分絶対値が小さくならないとき、偽マッチングが生じていると判定する。この場合、奥行推定装置は、差分値決定手段によって、平均差分値にペナルティ(加算値)を加えて、誤った仮定奥行値のために小さくなった平均差分値がそのまま選択差分値として選択されないようにすることにより、奥行値の誤推定を防止する。
【0030】
また、本願第9発明に係る奥行推定装置は、前記差分値決定手段が、前記近傍画素どうしの奥行値の差が前記第2の閾値より大きく、前記近傍画素どうしの画素値の差が前記第3の閾値より大きく、前記注目画素の画素値と前記近傍画素の画素値との差が予め設定された第4の閾値より大きい場合、前記小さい奥行値を有する前記近傍画素の対応画素差分値に前記第3の係数を掛けた値が前記大きい奥行値を有する前記近傍画素の対応画素差分値より大きいときに、前記仮定奥行値に前記第1の係数を掛けた値を前記加算値として算出して、前記平均差分値に前記加算値を加えた値を前記選択差分値として決定し、前記小さい奥行値を有する前記近傍画素の対応画素差分値に前記第3の係数を掛けた値が前記大きい奥行値を有する前記近傍画素の対応画素差分値より小さいときに、前記仮定奥行値に前記第1の係数を掛けた値を前記加算値として算出して、前記最小差分値に前記加算値を加えた値を前記選択差分値として決定することを特徴とする。
【0031】
かかる構成において、奥行推定装置は、差分値決定手段によって、注目画素が前景と背景のいずれにも含まれない、第3の背景(中景)に含まれると判定した場合、背景のある側の差分絶対値が小さくなれば、最小差分値にペナルティ(加算値)を加えて、この最小差分値を選択差分値として選択する。一方、奥行推定装置は、差分値決定手段によって、背景のある側の差分絶対値が小さくならなければ、平均差分値にペナルティ(加算値)を加えて、誤った仮定奥行値のために小さくなった平均差分値がそのまま選択差分値として選択されないようにすることにより、奥行値の誤推定を防止する。
【0032】
また、本願第9発明において、前記差分値決定手段は、前記近傍画素どうしの奥行値の差が前記第2の閾値より大きく、前記近傍画素どうしの画素値の差が前記第3の閾値より大きく、前記注目画素の画素値と前記近傍画素の画素値との差が予め設定された第4の閾値より大きい場合、前記小さい奥行値を有する前記近傍画素の対応画素差分値に前記第3の係数を掛けた値が前記大きい奥行値を有する前記近傍画素の対応画素差分値より大きいときに、前記仮定奥行値に前記第1の係数を掛けた値を前記加算値として算出して、前記平均差分値に前記加算値を加えた値を前記選択差分値として決定することが好ましい。
【0033】
また、本願第9発明において、前記差分値決定手段は、前記近傍画素どうしの奥行値の差が前記第2の閾値より大きく、前記近傍画素どうしの画素値の差が前記第3の閾値より大きく、前記注目画素の画素値と前記近傍画素の画素値との差が予め設定された第4の閾値より大きい場合、前記小さい奥行値を有する前記近傍画素の対応画素差分値に前記第3の係数を掛けた値が前記大きい奥行値を有する前記近傍画素の対応画素差分値より小さいときに、前記仮定奥行値に前記第1の係数を掛けた値を前記加算値として算出して、前記最小差分値に前記加算値を加えた値を前記選択差分値として決定することが好ましい。
【0034】
また、本願第10発明に係る奥行推定装置は、前記差分値決定手段が、前記奥行値の推定回数が1回目の場合、前記最小差分値を前記選択差分値として決定し、前記奥行値の推定回数が2回目以降の場合、前記奥行値決定手段から入力された近傍画素の奥行値を用いて前記選択差分値を決定することを特徴とする。
【0035】
かかる構成において、奥行推定装置は、1回目の奥行推定では、最小差分値を選択差分値とすることにより、偽マッチングの生じる可能性のある被写体部分を除いて、奥行値を正確に推定する。そして、奥行推定装置は、得られた奥行値を用いて2回目以降の奥行推定を行うことで、奥行値の誤推定を防止する。
【0036】
また、本願第11発明に係る奥行推定方法は、予め定めた位置に複数配列したカメラで同一の被写体を撮影した複数のカメラ映像から、前記被写体の奥行きを示す奥行値を推定する奥行推定方法であって、映像入力ステップと、近傍画素値出力ステップと、対応画素差分演算ステップと、差分値決定ステップと、平滑化ステップと、奥行値決定ステップと、近傍奥行値出力ステップと、を備える手順とした。
【0037】
かかる手順において、奥行推定方法は、映像入力ステップにおいて、前記複数配列した前記カメラのいずれかにおいて、予め定めた基準カメラで前記被写体を撮影した基準映像と、前記基準カメラに隣接する複数の隣接カメラで前記被写体を撮影した複数の隣接映像とを入力する。
【0038】
そして、奥行推定方法は、近傍画素値出力ステップによって、前記映像入力ステップで入力された基準映像において、当該基準映像の注目画素の画素値と、前記注目画素に対して左右近傍に位置する近傍画素の画素値とを出力する。
【0039】
そして、奥行推定方法は、対応画素差分演算ステップによって、前記奥行値を仮定した仮定奥行値および前記注目画素ごとに、前記基準映像の注目画素の画素値と、当該注目画素の前記仮定奥行値の視差に対応する画素位置にある前記複数の隣接映像の対応画素の画素値との差分絶対値である対応画素差分値を演算する。
【0040】
そして、奥行推定方法は、差分値決定ステップによって、前記仮定奥行値および前記注目画素ごとに、前記対応画素差分値の平均値である平均差分値と、前記対応画素差分値の最小値である最小差分値を求め、前記注目画素の画素値と前記近傍画素の画素値と前記近傍画素の奥行値とに基づいて、前記最小差分値、前記平均差分値、前記最小差分値または前記平均差分値に所定の加算値を加えた値の何れかを、予め設定した条件により選択差分値として決定する。
【0041】
そして、奥行推定方法は、平滑化ステップによって、前記仮定奥行値および前記注目画素ごとに、当該注目画素に隣接する画素の選択差分値が最小となる仮定奥行値と前記注目画素の仮定奥行値との差に、予め設定された平滑化係数を掛けた値を前記選択差分値に加えることで、前記選択差分値を平滑化する。
【0042】
そして、奥行推定方法は、奥行値決定ステップによって、前記平滑化ステップで平滑化した選択差分値が最小となる前記仮定奥行値を、前記基準映像の各画素の奥行値とする。さらに、奥行推定方法は、近傍奥行値出力ステップによって、前記基準映像の各画素の奥行値が入力されると共に、前記近傍画素の奥行値を出力する。
【0043】
また、本願第12発明に係る奥行推定プログラムは、予め定めた位置に複数配列したカメラで同一の被写体を撮影した複数のカメラ映像から、前記被写体の奥行きを示す奥行値を推定するために、コンピュータを、映像入力手段、近傍画素値出力手段、対応画素差分演算手段、差分値決定手段、平滑化手段、奥行値決定手段、近傍奥行値出力手段、として機能させる構成とした。
【0044】
かかる構成において、奥行推定プログラムは、映像入力手段によって、前記複数配列した前記カメラのいずれかにおいて、予め定めた基準カメラで前記被写体を撮影した基準映像と、前記基準カメラに隣接する複数の隣接カメラで前記被写体を撮影した複数の隣接映像とを入力する。
【0045】
そして、奥行推定プログラムは、近傍画素値出力手段によって、前記映像入力手段に入力された基準映像において、当該基準映像の注目画素の画素値と、前記注目画素に対して左右近傍に位置する近傍画素の画素値とを出力する。
【0046】
そして、奥行推定プログラムは、対応画素差分演算手段によって、前記奥行値を仮定した仮定奥行値および前記注目画素ごとに、前記基準映像の注目画素の画素値と、当該注目画素の前記仮定奥行値の視差に対応する画素位置にある前記複数の隣接映像の対応画素の画素値との差分絶対値である対応画素差分値を演算する。
【0047】
そして、奥行推定プログラムは、差分値決定手段によって、前記仮定奥行値および前記注目画素ごとに、前記対応画素差分値の平均値である平均差分値と、前記対応画素差分値の最小値である最小差分値を求め、前記注目画素の画素値と前記近傍画素の画素値と前記近傍画素の奥行値とに基づいて、前記最小差分値、前記平均差分値、前記最小差分値または前記平均差分値に所定の加算値を加えた値の何れかを、予め設定した条件により選択差分値として決定する。
【0048】
そして、奥行推定プログラムは、平滑化手段によって、前記仮定奥行値および前記注目画素ごとに、当該注目画素に隣接する画素の選択差分値が最小となる仮定奥行値と前記注目画素の仮定奥行値との差に、予め設定された平滑化係数を掛けた値を前記選択差分値に加えることで、前記選択差分値を平滑化する。
【0049】
そして、奥行推定プログラムは、奥行値決定手段によって、前記平滑化手段が平滑化した選択差分値が最小となる前記仮定奥行値を、前記基準映像の各画素の奥行値とする。さらに、奥行推定プログラムは、近傍奥行値出力手段によって、前記奥行値決定手段から基準映像の各画素の奥行値が入力されると共に、前記近傍画素の奥行値を前記対応画素差分演算手段および前記差分値決定手段に出力する。
【発明の効果】
【0050】
本発明は、以下に示す優れた効果を奏するものである。
本願第1,11,12発明によれば、被写体の一部が手前の被写体の陰に隠れて対応点がないオクルージョンが発生した場合であっても、閾値に応じて、最小の差分値、すなわち、より正しい差分値が選択されるため、誤った奥行値を推定することを低減することができる。また、本発明によれば、一様な被写体で対応点を誤る偽マッチングが生じている場合であっても、閾値に応じて、差分値の平均値を選択するため、正しい差分値のように小さな値とはならず、正しい差分値として選択される度合いを低くすることができ、誤った奥行値を推定することを低減することができる。
さらに、本願第1,11,12発明によれば、前景と背景の被写体が接近した部分でオクルージョンが生じる場合であっても、注目画素を含む近傍の画素値と、その画素で推定された奥行値に応じて、より正しい選択差分値を選択するため、誤った奥行値を推定することを低減することができる。
【0051】
本願第2発明によれば、非常に暗い黒い背景を持つ被写体であっても、背景部分の奥行値が小さい程、対応画素での選択差分値を小さくするので、正しい奥行値を推定することができる。
【0052】
本願第3発明によれば、黒い被写体であっても、被写体のエッジ部分で正しく推定された奥行値からはずれる程、対応画素での選択差分値を大きくするので、正しい奥行値を推定することができる。
【0053】
本願第4発明によれば、前景と背景の境界部分以外では、平均差分値を選択差分値として選択することで、より正しい選択差分値を選択可能として、奥行値の誤推定を防止することができる。
【0054】
本願第5発明によれば、前景の境界部分であって、オクルージョンが生じていない場合には、平均差分値を選択差分値として選択することにより、より正しい選択差分値を選択可能として、奥行値の誤推定を防止することができる。
【0055】
本願第6発明によれば、前景の境界部分であって、オクルージョンが生じていないと判定した場合であっても、仮定奥行値が前景の奥行値より大きくなれば、仮定奥行値に所定係数を掛けた値をペナルティとして、平均差分値に加えることにより、過大な仮定奥行値のために小さくなった平均差分値がそのまま選択されないようにして、奥行値の誤推定を防止することができる。
【0056】
本願第7発明によれば、オクルージョンが生じている場合であっても、左右差分絶対値のうち、オクルージョンの生じていない側の差分絶対値を選択することにより、より正しい選択差分値を選択して、奥行値の誤推定を防止することができる。
【0057】
本願第8発明によれば、左右いずれかの隣接映像でオクルージョンが生じていて、かつ、オクルージョンの生じていない側で、偽マッチングが生じている場合であっても、平均差分値に加算値を加えて、誤った仮定奥行値のために小さくなった平均差分値がそのまま選択差分値として選択されないようにすることにより、奥行値の誤推定を防止することができる。
【0058】
本願第9発明によれば、前景と中景により左右両方でオクルージョンが生じている場合であっても、中景がある側の差分絶対値が十分小さくなれば、最小差分値にペナルティ(加算値)を加えた値を選択差分値として選択することで、奥行値の誤推定を防止することができる。また、本願第9発明によれば、中景側の差分絶対値が十分小さくならなければ、平均差分値にペナルティ(加算値)を加えた値を選択差分値として選択することで、奥行値の誤推定を防止することができる。
【0059】
本願第10発明によれば、奥行推定を多く繰り返す程、正しい奥行値を推定することができる。
【図面の簡単な説明】
【0060】
【図1】本発明の実施形態に係る奥行推定システムの構成を示すブロック図である。
【図2】本発明の実施形態に係る奥行推定装置の構成を示すブロック図である。
【図3】本発明において、注目画素とその左右近傍の画素との関係を説明するための説明図である。
【図4】本発明において、注目画素の左右近傍の画素の奥行値を説明するための説明図である。
【図5】本発明において、オクルージョンが発生していない場合1において、注目画素と左右の対応画素との関係を説明するための説明図である。
【図6】本発明において、オクルージョンが発生しているが仮定奥行値が正しい場合において、注目画素と左右の対応画素との関係を説明するための説明図である。
【図7】本発明において、オクルージョンが発生していない場合2において、注目画素と左右の対応画素との関係を説明するための説明図である。
【図8】本発明において、仮定奥行値が正しくない場合1において、注目画素と左右の対応画素との関係を説明するための説明図である。
【図9】本発明において、仮定奥行値が正しくない場合2において、注目画素と左右の対応画素との関係を説明するための説明図である。
【図10】本発明において、左右でオクルージョンが生じている場合において、注目画素と左右の対応画素との関係を説明するための説明図である。
【図11】図2の奥行推定装置の全体動作を示すフローチャートである。
【図12】図2の奥行推定装置の対応画素差分演算動作を示すフローチャートである。
【図13】図2の奥行推定装置の差分値決定動作を示すフローチャーである。
【図14】図2の奥行推定装置の差分値決定動作を示すフローチャーである。
【図15】図2の奥行推定装置の平滑化動作を示すフローチャートである。
【図16】図2の奥行推定装置の奥行値決定動作を示すフローチャートである。
【図17】従来の奥行推定手法を説明するための説明図である。
【発明を実施するための形態】
【0061】
以下、本発明の実施形態について図面を参照して説明する。
〔奥行推定システムの全体構成〕
最初に、図1を参照して、本発明の実施形態に係る奥行推定装置1を含んだ奥行推定システムSの全体構成について説明する。奥行推定システムSは、複数配列したカメラCMで被写体Tを撮影した多視点映像から、被写体Tの奥行値Dを推定した奥行映像FZを生成するものである。図1に示した奥行推定システムSは、カメラCM(CL,CC,CR)と、奥行推定装置1とを備えている。
【0062】
カメラCMは、被写体Tを撮影する一般的な撮影装置である。ここでは、水平方向の視差に応じて奥行値Dを生成することとし、視差の基準となるカメラ(基準カメラ)CCに対し、水平方向に予め定めた距離Lだけ等間隔に離間して、カメラ(隣接カメラ)CL,CRを平行に配置している。このカメラCM(CL,CC,CR)で撮影された映像(FL,FC,FR)は、奥行推定装置1に入力される。
なお、この距離Lは、奥行値Dと視差量とが対応可能な範囲であれば、その距離は任意である。また、被写体Tは、例えば、背景Aおよび前景Bを含んでいる。
【0063】
カメラCCは、視差の基準となる映像(基準映像FC)を撮影するものである。また、カメラCL,CRは、それぞれカメラCCの左右に配置されたカメラであって、基準映像FCとの視差を求めるための映像(隣接映像FL,FR)を撮影するものである。
【0064】
なお、垂直方向の視差に応じて奥行値Dを生成する場合であれば、カメラCの配置は、垂直方向に離間させて配置すればよい。
また、カメラCMが撮影する映像(FL,FC,FR)は、静止画であっても動画であっても構わない。動画である場合、カメラCMはそれぞれフレーム同期を行うことで、順次、静止画のフレーム画像として奥行推定装置1に入力されることとする。あるいは、フレーム画像ごとにタイムコードを付加し、奥行推定装置1で同期をとることとしてもよい。
【0065】
奥行推定装置1は、予め定めた位置に複数配列したカメラで同一の被写体を撮影した複数のカメラ映像から、被写体Tの奥行きを示す奥行値を推定するものである。ここでは、奥行推定装置1は、水平方向に配列したカメラCM(CL,CC,CR)で被写体Tを撮影したカメラ映像(FL,FC,FR)から、被写体Tの奥行きを示す奥行値Dを推定する。なお、ここでは、奥行推定装置1は、奥行値を、映像の各画素値に対応付けることで奥行映像FZを生成することとする。
【0066】
〔奥行推定装置の構成〕
次に、図2を参照(適宜図1参照)して、本発明の実施形態に係る奥行推定装置の構成について説明する。図2に示すように、奥行推定装置1は、映像入力手段10と、近傍画素値出力手段15と、対応画素差分演算手段20と、近傍奥行値出力手段25と、差分値決定手段30と、記憶手段40と、平滑化手段50と、奥行値決定手段60と、を備えている。
【0067】
映像入力手段10は、カメラCMで撮影された複数のカメラ映像を入力するものである。ここでは、映像入力手段10は、予め定めた基準カメラCCで撮影した基準映像FCと、基準カメラCCに隣接する複数のカメラCL,CRで撮影した隣接映像FL,FRと、を入力する。
この映像入力手段10で入力した各映像(FL,FC,FR)は、図示を省略したメモリに記憶され、後記する近傍画素値出力手段15および対応画素差分演算手段20によって参照されるものとする。
【0068】
以下、図3を参照して、近傍画素値出力手段15を説明する(適宜図2参照)。
近傍画素値出力手段15は、映像入力手段10から基準映像FCを入力し、注目画素PCの画素値PC(x,y)と、注目画素PCから所定画素数sだけ左に離れた近傍画素PSLの画素値PSL(x−s,y)と、注目画素PCから所定の画素数sだけ右に離れた近傍画素PSRの画素値PSR(x+s,y)とを取得する。そして、近傍画素値出力手段15は、注目画素PCの画素値PC(x,y)と、近傍画素PSLの画素値PSL(x−s,y)と、近傍画素PSRの画素値PSR(x+s,y)とを、対応画素差分演算手段20および差分値決定手段30に出力する。
【0069】
この所定の画素数sは、正しい奥行値Dを推定できるように、平滑化による前景Bの奥行値が広がる範囲以上に予め設定する。具体的には、所定の画素数sは、シーンの中の被写体Tの最大視差量と最小視差量とを予め調べておき、最大視差量と最小視差量との差に所定の値(例えば、0.2)を掛けた値とする。
【0070】
なお、注目画素PCとは、基準映像FCにおいて奥行値Dを推定する対象となっている画素である。
また、近傍画素PSLおよび近傍画素PSRは、図3に示すように、注目画素PCを中心した半径sの画素の円周上に位置する画素である。なお、図3では、近傍画素PSLを左近傍画素PSLと図示し、近傍画素PSRを右近傍画素PSRと図示した。
【0071】
以下、図2に戻り、奥行推定装置1の構成について説明を続ける。
対応画素差分演算手段20は、仮定奥行値dおよび注目画素PCごとに、基準映像FCの注目画素PCの画素値と、当該注目画素PCの仮定奥行値dの視差に対応する隣接映像FL,FRの対応画素PL,PR(図5参照)の画素値との差分絶対値である隣接映像の対応画素差分値ECL,ECRを演算するものである。ここで、隣接映像の対応画素差分値ECLは、基準映像FCと隣接映像FLとの間で演算された差分絶対値であり、隣接映像の対応画素差分値ECRは、基準映像FCと隣接映像FRとの間で演算された差分絶対値である。
【0072】
なお、画素値の差分絶対値は、カメラ映像(FL,FC,FR)が、輝度(輝度値)と色差信号(色差値)との各要素で構成される場合、当該画素の輝度値の差分絶対値と、色差値の差分絶対値とを加算した値とする。このとき、色差値の差分絶対値に任意の係数を掛けて、色成分の重みを調整することとしてもよい。
また、画素値の差分絶対値は、カメラ映像(FL,FC,FR)が、RGBのカラー信号で構成される場合、カラー信号の要素であるR値の差分絶対値と、G値の差分絶対値と、B値の差分絶対値とを加算した値とする。
【0073】
また、仮定奥行値dは、被写体Tの奥行値Dを仮に設定する値であって、“0”から予め定めた最大視差量に対応する奥行値Dまでの値をとる。例えば、奥行値Dを8ビットのデータで表す場合、仮定奥行値dは、“0”〜“255”の範囲の値をとる。また、ここでは、対応画素差分演算手段20は、“0”から最大視差量に対応する奥行値D(例えば、“255”)まで、順次、仮定奥行値dを設定し、当該仮定奥行値dの視差に対応する画素間の画素値の差分を対応画素差分値として演算する。また、ここでは、奥行値Dの単位と画素間の視差の単位とを同一とし、奥行値Dが“1”増加することで、1画素ずつ視差が増加することとする。
【0074】
ここでは、対応画素差分演算手段20は、基準映像FCの(x,y)座標(注目画素PC)における画素値をPC(x,y)、基準映像FCの(x,y)座標の仮定奥行値dに対応する隣接映像FLの(x+d,y)座標(対応画素PL)の画素値をPL(x+d,y)、隣接映像FRの(x−d,y)座標(対応画素PR)の画素値をPR(x−d,y)としたとき、以下の(1)式の演算により、対応画素差分値ECL(d,x,y),ECR(d,x,y)を算出する。なお、「||」は、絶対値を示す。
ECL(d,x,y)=|PL(x+d,y)−PC(x,y)|
ECR(d,x,y)=|PR(x−d,y)−PC(x,y)| …(1)式
【0075】
次に、対応画素差分演算手段20は、被写体Tが黒い背景であるか否かを判定する。具体的には、対応画素差分演算手段20は、近傍画素値出力手段15から入力された注目画素PCの画素値PC(x,y)と、近傍画素PSLの画素値PSL(x−s,y)と、近傍画素PSRの画素値PSR(x+s,y)との全てが閾値(第1の閾値)thより小さい場合、被写体Tが黒い背景であると判定する。
【0076】
一方、対応画素差分演算手段20は、注目画素PCの画素値PC(x,y)と、近傍画素PSLの画素値PSL(x−s,y)と、近傍画素PSRの画素値PSR(x+s,y)との何れか一つでも閾値th以上となる場合、被写体Tが黒い背景でないと判定する。
【0077】
なお、閾値thは、通常の黒では表れない非常に暗い黒色の画素値(例えば、Y信号値で、15または30)に予め設定される。また、色信号をRGBコンポーネントで表す場合、Y信号値を、Y=0.299R+0.587G+0.114Bから求めても良い。
【0078】
さらに、被写体Tが黒い背景である場合、対応画素差分演算手段20は、外部から入力される黒背景フラグがオンまたはオフであるか判定する。ここで、対応画素差分演算手段20は、黒背景フラグがオン(背景が黒である)であれば、以下の(1−1)式のように、仮定奥行値dに係数(第1の係数)hを掛けた値(ペナルティ)を、対応画素差分値ECL,ECRに加える。
ECL(d,x,y)=ECL(d,x,y)+h×d
ECR(d,x,y)=ECR(d,x,y)+h×d …(1−1)式
なお、係数hは、予め設定される係数であり、背景Aではない被写体Tに大きなペナルティが誤って加算されるのを防ぐため、小さな値とする(例えば、0.25)。
【0079】
被写体Tが黒い背景の場合、全ての仮定奥行値dで、対応画素差分値ECL,ECRが小さな値となり、正しい奥行値Dを推定できない場合がある。しかし、以上の処理によって、対応画素差分演算手段20は、被写体Tが黒い背景であっても、対応画素差分値ECL,ECRを正しい値に近づけることができる。
【0080】
また、対応画素差分演算手段20は、黒背景フラグがオフ(背景が黒でない)であれば、近傍奥行値出力手段25から入力された近傍画素PSLの奥行値DL、および、近傍画素PSRの奥行値DRのうち、大きい方の近傍奥行値DMを求める。そして、対応画素差分演算手段20は、以下の(1−2)式のように、大きい方の近傍奥行値DMと仮定奥行値dとの差分絶対値に係数hを掛けた値(ペナルティ)を、対応画素差分値ECL,ECRに加える。
DM(x,y)=max(DL(x−s,y),DR(x+s,y))
ECL(d,x,y)=ECL(d,x,y)+h×|DM−d|
ECR(d,x,y)=ECR(d,x,y)+h×|DM−d| …(1−2)式
【0081】
すなわち、被写体Tが黒い場合、全ての仮定奥行値dで、対応画素の差分絶対値(対応画素差分値ECL,ECR)が小さな値となり、正しい奥行値Dを推定できなくなる。しかし、被写体Tのエッジ部分では、正しい奥行値Dを推定できる。従って、対応画素差分演算手段20は、仮定奥行値dとこの正しい奥行値Dとの差分に係数hを掛けた値を、対応画素差分値ECL,ECRに加えることにより、正しくない奥行値Dで対応画素差分値ECL,ECRが小さくなることを防止する。これによって、対応画素差分演算手段20は、通常の黒い被写体Tにおいて、対応画素差分値ECL,ECRが正しく計算されないことを防止できる。
【0082】
そして、対応画素差分演算手段20は、仮定奥行値d(“0”〜最大視差量)ごとの対応画素差分値ECL,ECRを差分値決定手段30に出力する。なお、対応画素差分演算手段20は、演算対象となる注目画素PCの画素位置(x,y)および仮定奥行値dを順次更新して、対応画素差分値ECL,ECRを演算する。
【0083】
以下、図4を参照して、近傍奥行値出力手段25について説明する。
近傍奥行値出力手段25は、後記する奥行値決定手段60から各画素の奥行値Dが入力され、近傍画素PSLの奥行値DLと、近傍画素PSRの奥行値DRとを対応画素差分演算手段20および差分値決定手段30に出力するものである。
ここで、1回目の奥行推定では、奥行値Dが求められないことになる。この場合、奥行推定装置1は、全ての画素の奥行値Dを初期値(例えば、0)に予め設定する。つまり、1回目の奥行推定を行う場合、近傍奥行値出力手段25は、この初期値を奥行値DL,DRとして差分値決定手段30に出力する。一方、2回目以降の奥行推定では、近傍奥行値出力手段25は、前回の奥行推定で求めた各画素の奥行値Dが奥行値決定手段60から入力されるので、近傍画素PSLの奥行値DLと、近傍画素PSRの奥行値DRとを出力する。
【0084】
以下、図2に戻り、奥行推定装置1の構成について説明を続ける。
差分値決定手段30は、基準映像FCの注目画素PCおよび仮定奥行値dごとに、最小差分値Emと平均差分値Eaとを求めるものである。そして、差分値決定手段30は、求めた最小差分値Em、平均差分値Ea、最小差分値Emまたは平均差分値Eaに所定のペナルティ(加算値)を加えた値の何れかを、予め設定された条件により選択差分値として決定する。
【0085】
ここでは、差分値決定手段30は、平均差分値演算手段30aと、最小差分値選択手段30bと、差分値選択手段30cと、を備えている。
【0086】
平均差分値演算手段30aは、基準映像FCの注目画素PCおよび仮定奥行値dごとに、対応画素差分演算手段20で演算された隣接映像の対応画素差分値ECL,ECRの平均値(平均差分値Ea)を演算するものである。
すなわち、平均差分値演算手段30aは、基準映像FCの(x,y)座標の仮定奥行値dに対応する平均差分値Ea(d,x,y)を、以下の(2)式の演算により算出する。
Ea(d,x,y)={ECL(d,x,y)+ECR(d,x,y)}/2
…(2)式
【0087】
そして、平均差分値演算手段30aは、演算により求めた仮定奥行値d(“0”〜最大視差量)ごとの平均差分値Eaを、差分値選択手段30cに出力する。
【0088】
最小差分値選択手段30bは、基準映像FCの注目画素PCおよび仮定奥行値dごとに、対応画素差分演算手段20で演算された隣接映像の対応画素差分値ECL,ECRのうちで、値が小さい方(最小差分値Em)を選択するものである。
すなわち、最小差分値選択手段30bは、基準映像FCの(x,y)座標の仮定奥行値dに対応する隣接映像の対応画素差分値ECL(d,x,y)と、隣接映像の対応画素差分値ECR(d,x,y)とを比較し、以下の(3)式に示すように、値が小さい方を最小差分値Emとして選択する。
Em(d,x,y)=min{ECL(d,x,y),ECR(d,x,y)}
…(3)式
【0089】
そして、最小差分値選択手段30bは、選択した仮定奥行値d(“0”〜最大視差量)ごとの最小差分値Emを、差分値選択手段30cに出力する。
【0090】
差分値選択手段30cは、基準映像FCの注目画素PCおよび仮定奥行値dごとに、近傍画素値出力手段15から入力された注目画素PCの画素値PC(x,y)と、近傍画素PSLの画素値PSL(x−s,y)と、近傍画素PSRの画素値PSR(x+s,y)と、近傍奥行値出力手段25から入力された近傍画素PSLの奥行値DLと、近傍画素PSRの奥行値DRとに基づいて、最小差分値選択手段30bから入力された最小差分値Em、平均差分値演算手段30aから入力された平均差分値Ea、最小差分値Emまたは平均差分値Eaに所定のペナルティ(加算値)を加えた値の何れかを、選択差分値として決定するものである。
【0091】
ここで、図5〜図10を参照して、差分値選択手段30cの処理内容およびその作用として、第1例〜第6例を説明する。
【0092】
<第1例:オクルージョンが発生していない場合1>
以下、図5を参照して、ある仮定奥行値dにおいて、基準映像FCの画素(注目画素PC)と、隣接映像FL,FRの画素(対応画素PL,PR)とが背景Aに対応している場合(オクルージョンが発生していない場合1)の処理について説明する(適宜図2〜図4参照)。
【0093】
まず、差分値選択手段30cは、注目画素PCの近傍には前景Bと背景Aの境界の有無、つまり、オクルージョンが発生しているか否かを判定する。具体的には、差分値選択手段30cは、以下の(4)式に示すような近傍画素PSLの奥行値DLと近傍画素PSRの奥行値DRとの奥行差分値DDが、閾値(第2の閾値)th1より大きくなるという条件を、満たさないか否かを判定する。
DD(x,y)=|DL(x−s,y)−DR(x+s,y)|>th1 …(4)式
【0094】
なお、閾値th1は、最大視差量(例えば、255)から最小視差量(例えば、1)を引いた値に所定の係数(例えば、0.2)を掛けた値として予め設定する。
【0095】
さらに、差分値選択手段30cは、オクルージョンが発生していない場合、注目画素PCの画素値PC(x,y)と、近傍画素PSLの画素値PSL(x−s,y)と、近傍画素PSRの画素値PSR(x+s,y)とが、同じ被写体(背景A)に対応するため、似通った値となるか否かを判定する。具体的には、差分値選択手段30cは、以下の(5)式に示すような近傍画素PSLの画素値PSL(x−s,y)と、近傍画素PSRの画素値PSR(x+s,y)との画素差分値DPLRが閾値(第3の閾値)th2より大きくなるという条件を、満たさないか否かを判定する。
DPLR(x,y)=|PSL(x−s,y)−PSR(x+s,y)|>th2…(5)式
【0096】
なお、閾値th2は、最大画素値(例えば、255)に所定の係数(例えば、0.1)を掛けた値として予め設定する。
【0097】
ここで、差分値選択手段30cは、同じ被写体Tでオクルージョンが生じていなくても、被写体Tの部位によって色が異なる場合や奥行きが異なる場合において、奥行値Dの誤推定を防止するために、(4)式と(5)式の組合せた判定を行う。そして、差分値選択手段30cは、(4)式または(5)式の何れか一方が成立しない場合、オクルージョンが生じていないと判定し、平均差分値Eaを選択差分値として選択する。
【0098】
<第2例:オクルージョンが発生している場合>
以下、図6を参照し、オクルージョンが発生しているが仮定奥行値dが正しい場合について説明する(適宜図2〜図4参照)。
【0099】
この場合、差分値選択手段30cは、近傍画素PSLおよび近傍画素PSRの画素値が、互いに異なるか否かを判定する。具体的には、差分値選択手段30cは、前記した(5)式に示すように、近傍画素PSLの画素値PSL(x−s,y)と、近傍画素PSRの画素値PSR(x+s,y)との画素差分値DPLRが前記した閾値th2より大きくなるか否かを判定する。
【0100】
そして、差分値選択手段30cは、前記した判定結果を確実なものとするため、前記した(4)式に示すように、近傍画素PSLの奥行値DLと近傍画素PSRの奥行値DRとの奥行差分値DDが、前記した閾値th1より大きくなるか否かを判定する。
【0101】
このように、差分値選択手段30cは、(4)式および(5)式の両方が成立する場合(オクルージョンが発生していると判定した場合)、近傍画素PSLの奥行値DLと近傍画素PSRの奥行値DRとを比較し、大きい側(図4の例ではDR側)に前景Bがあると判定する。なお、図4の例では、2回目の奥行推定の際、奥行値DRが奥行値DLより大きくなっている。
【0102】
次に、差分値選択手段30cは、注目画素PCが、前景Bの画素であるか否かを判定する。具体的には、差分値選択手段30cは、以下の(6)式〜(8)式に示すように、注目画素PCの画素値PC(x,y)が、近傍画素PSLの画素値PSL(x−s,y)または近傍画素PSRの画素値PSR(x+s,y)のどちらに近いかを、注目画素PCと近傍画素PSL,PSRとの画素値の画素差分値DPL,DPRとから判定する。
DPL(x,y)=|PSL(x−s,y)−PC(x,y)| …(6)式
DPR(x,y)=|PSR(x+s,y)−PC(x,y)| …(7)式
DPL(x,y)≧DPR(x,y) …(8)式
【0103】
前記した(8)式が成立しない場合(注目画素値PCが背景側に近い場合)、差分値選択手段30cは、この判定結果を確実なものとするため、以下の処理を行う。具体的には、差分値選択手段30cは、以下の(9)式に示すように、背景Aに近い近傍画素(図3の例ではPSL)の画素値と注目画素値PCとの画素値の画素差分値DPLが閾値(第4の閾値)th3より小さいか否かを判定する。これによって、差分値選択手段30cは、前記した(8)式が成立せずに注目画素PCが背景Aに近いという判定結果を確実なものとする。
DPL(x,y)<th3 …(9)式
なお、閾値th3は、最大画素値(例えば、255)に所定の係数(例えば0.1)を掛けた値(例えば、25)で予め設定する。
【0104】
そして、差分値選択手段30cは、以下の(10)式に示すように、左側の対応画素差分値ECLが、右側の対応画素差分値ECRより十分小さいか否かを、左側の対応画素差分値ECLに係数(第3の係数)kを掛けても、右側の対応画素差分値ECRより小さいか否かによって判定する。これによって、差分値選択手段30cは、前記した(9)式が成立する(注目画素PCが背景Aにある)という判定結果を確実なものとする。
ECR(x,y)>k×ECL(x,y) …(10)式
【0105】
なお、同じ被写体点同士での対応画素差分値は、その値が、カメラCMの感度ばらつき程度(例えば、1桁の値)になる。一方、異なる被写体での対応画素差分値は、非常に大きな値(例えば、100オーダー)になる。以上のように、対応画素差分値の差が10倍以上あると思われるので、係数kは、例えば、少し低めに8という値で予め設定する。
【0106】
そして、差分値選択手段30cは、(10)式が成立する場合(左側の対応画素差分値ECLが右側の対応画素差分値ECRより十分小さい場合)、この小さい方の対応画素差分値ECL=最小差分値Emを選択差分値として選択する。
【0107】
<第3例:オクルージョンが発生していない場合2>
以下、図7を参照して、ある仮定奥行値dにおいて、基準映像FCの画素(注目画素PC)と、隣接映像FL,FRの画素(対応画素PL,PR)とが前景Bに対応している場合(オクルージョンが発生していない場合2)の処理について説明する(適宜図2〜図4参照)。
【0108】
前記した(8)式が成立する場合(注目画素値PCが前景側に近い場合)、差分値選択手段30cは、この判定結果を確実なものとするため、以下の処理を行う。具体的には、差分値選択手段30cは、以下の(11)式に示すように、近傍画素PSRと注目画素PCとの画素値の画素差分値DPRが、前記した閾値th3より小さいか否かを判定する。
DPR(x,y)<th3 …(11)式
【0109】
そして、差分値選択手段30cは、前記した(11)式が成立し、注目画素PCが前景Bの画素であると判定した場合、以下の(12)式に示すように、仮定奥行値dが前景B側の近傍奥行値DRより大きいか否かを判定する。
d(x,y)>DR(x+s,y) …(12)式
【0110】
(12)式が成立する場合(仮定奥行値dが大きい場合)、差分値選択手段30cは、平均差分値Eaに、前記した係数hを仮定奥行値dに掛けたペナルティ(加算値)p1を加算する。これによって、差分値選択手段30cは、大きすぎる奥行値Dが誤推定されることを防止できる。
【0111】
(12)式が成立しない場合(仮定奥行値dが大きくない場合)、差分値選択手段30cは、注目画素PCにオクルージョンが生じないので、平均差分値Eaを選択差分値として選択する。
【0112】
<第4例:仮定奥行値が正しくない場合1>
以下、図8を参照して、仮定奥行値dが正しくない場合1の処理について説明する(適宜図2〜図4参照)。ここで、図8に示すように、仮定奥行値dが大きすぎて、前景Bでない側の対応画素PLが前景B側に移動し、前景B側の対応画素PRが背景A側に移動している。
【0113】
前記した(10)式が成立しない場合、差分値選択手段30cは、仮定奥行値dが正しくないか否かを判定する。具体的には、差分値選択手段30cは、以下の(13)式に示すように、左側の対応画素差分値ECLが、右側の対応画素差分値ECRに係数kを掛けたものより大きいか否かで判定する。
ECL(x,y)>k×ECR(x,y) …(13)式
【0114】
そして、差分値選択手段30cは、(13)式が成立する場合(仮定奥行値dが正しくない場合)、この大きな方の対応画素差分値ECLが含まれる平均差分値Eaを選択差分値として選択する。これによって、差分値選択手段30cは、誤った奥行値Dが推定されることを防止する。
【0115】
<第5例:仮定奥行値が正しくない場合2>
以下、図9を参照して、仮定奥行値dが正しくない場合2の処理について説明する(適宜図2〜図4参照)。ここで、図9に示すように、仮定奥行値dが大きすぎて前景Bの奥行値を示しているため、対応画素PL、PC、PRが全て背景Aにある。
【0116】
前記した(10)式および(13)式が成立しない場合、差分値選択手段30cは、対応画素PL、PC、PRが全て背景Aにあり、仮定奥行値dが正しくないと判定する。このとき、平均差分値Eaおよび最小差分値Emの両方とも大きくならないので、差分値選択手段30cは、平均差分値Eaに所定のペナルティ(加算値)pを加えた値を算出し、平均差分値Eaにペナルティpを加えた値を選択差分値として選択する。
【0117】
なお、ペナルティpは、十分大きな固定値(例えば、100)で予め設定する。また、ペナルティpは、仮定奥行値dに係数(第2の係数)lを掛けた値としてもよい。さらに、係数lは、例えば、0.5または2という値で予め設定する。
【0118】
<第6例:左右でオクルージョンが発生している場合>
図10を参照して、左右でオクルージョンが発生している場合の処理について説明する(適宜図2〜図4参照)。ここで、図10に示すように、対応画素PL,PC,PRが、前景B、背景Aおよび中景Cにそれぞれ対応している。
【0119】
前記した(9)式または(11)式が成立しない場合、差分値選択手段30cは、注目画素PCが、右側にある前景Bと左側にある中景Cとの間にある背景Aに対応すると判定する。このとき、左右どちらのカメラCL,CRからも、正しい対応点が見えないので、正しい奥行値Dを推定できないことになる。このため、差分値選択手段30cは、奥行値Dをより正しい値に近づけるための処理を行う。すなわち、左側に中景Cがある場合には仮定奥行値dが小さくなり、仮定奥行値dが中景Cに近づくと、左側の対応画素PLは、背景Aを示すことになる。このとき、左側の対応画素差分値ECLは、右側の対応画素差分値ECRよりも小さくなる。
【0120】
具体的には、差分値選択手段30cは、前記した(10)式により、左側の対応画素差分値ECLが右側の対応画素差分値ECRよりも十分小さくなるか否かを判定する。ここで、(10)式が成立しない場合、差分値選択手段30cは、背景Aが左右どちらのカメラCL,CRからも見えないと判定する。この場合、差分値選択手段30cは、その仮定奥行値dに前記した係数hを掛けた値をペナルティ(加算値)p1として算出する。その後、差分値選択手段30cは、平均差分値Eaにペナルティ(加算値)p1を加えた値を選択差分値として選択する。
【0121】
一方、(10)式が成立する場合、差分値選択手段30cは、仮定奥行値dが小さく、カメラCLから、前景Bと中景Cとの間を通して、背景Aの対応点でない点が見えていると判定する(擬似マッチングが生じている)。この場合、差分値選択手段30cは、次善の選択差分値として、その時の最小差分値Emにペナルティ(加算値)p1を加えた値を、選択差分値として選択する。
【0122】
その後、差分値選択手段30cは、選択した選択差分値を、仮定奥行値dと基準映像FCの画素位置とに対応付けて記憶手段40に書き込む。また、差分値決定手段30は、基準映像FCの全ての画素位置において、仮定奥行値dごとの選択差分値を記憶手段40に書き込んだ後に、書き込み完了を平滑化手段50に通知する。
【0123】
以上説明したように、差分値決定手段30は、仮定した奥行値(仮定奥行値d)が正しく、左右のカメラCL、CRから、正しい対応点が見えている場合、平均差分値Eaを選択する。これによって、後記する奥行値決定手段60において、正しい奥行値Dが推定される確率を高くすることができる。さらに、差分値決定手段30は、仮定奥行値dが正しくない場合の偽マッチングを防止することができる。
【0124】
また、差分値決定手段30は、オクルージョンが発生していても、カメラCL、CRの片方から正しい対応点が見える場合、対応点が見えている側の差分絶対値である、最小差分値Emを選択することにより、正しい奥行値Dが推定される確率を高くすることができる。
【0125】
さらに、差分値決定手段30は、両方のカメラCL、CRからも正しい対応点が見えない場合、注目画素PCが背景A側にあると判定して、ペナルティp1を加算することで、正しい奥行値Dが推定される確率を高くすることができる。
【0126】
さらに、差分値決定手段30は、オクルージョンと偽マッチングとが同時に発生している場合、ペナルティp,p1を加えることで、正しい奥行値Dが推定される確率を高くすることができる。このように、差分値決定手段30が選択した選択差分値は、仮定奥行値dが正しいことを示す指標として用いることができる。
【0127】
なお、差分値選択手段30cは、1回目の奥行推定では、最小差分値Emを選択差分値として選択してもよい。これによって、オクルージョンが生じている画素でも、正しい奥行値Dが1回目で求まりやすくなる。また、オクルージョンが生じていない画素では、奥行値Dがやや不正確な値となる。このため、2回目以降の奥行推定で、差分値選択手段30cが前記した処理を行い、正しい奥行値Dを求めてもよい。
【0128】
図2に戻って、奥行推定装置1の構成について説明を続ける。
記憶手段40は、差分値決定手段30で決定された差分値を、仮定奥行値dと基準映像の画素位置とに対応付けて記憶するものである。例えば、記憶手段40は、磁気メモリや半導体メモリ等の一般的な記憶媒体である。
【0129】
平滑化手段50は、当該画素位置における差分値を平滑化するものである。まず、平滑化手段50は、基準映像の画素位置(x,y)およびその画素位置での仮定奥行値dごとに、以下の(14)式および(15)式に示すように、注目画素PC(x,y)に隣接する画素位置(x+1,y)、(x,y+1)での選択差分値EX(x+1,y)、EY(x,Y+1)の最小値を探索する。そして、平滑化手段50は、その仮定奥行値dを隣接画素の奥行値候補D(x+1,y)、D(x,y+1)とする。
D(x+1,y)=(x+1,y)座標の差分値最小の仮定奥行値 …(14)式
D(x,y+1)=(x,y+1)座標の差分値最小の仮定奥行値 …(15)式
【0130】
次に、平滑化手段50は、以下の(16)式に示すように、基準映像の画素位置(x,y)およびその画素位置での仮定奥行値dごとに、その選択差分値E(d,x,y)に、隣接画素位置(x+1,y)、(x,y+1)における奥行値候補D(x+1,y)、D(x,y+1)と仮定奥行値d(x,y)との差分絶対値に平滑化係数Wを掛けて加算する。
Ev(d,x,y)=E(d,x,y)+W{|D(x+1,y)−d(x,y)|
+|D(x,y+1)−d(x,y)|} …(16)式
【0131】
なお、平滑化係数Wは、任意の値(例えば、2)で予め設定する。このとき、平滑化係数Wの値を大きくする程、選択差分値が滑らかになるが、被写体Tの境界部分の奥行値を誤推定する可能性が高くなる。このため、平滑化係数Wは、適切な値に設定することが好ましい。
また、図示を省略した入力手段を介して、外部から平滑化係数Wを入力してもよい。
【0132】
平滑化手段50は、当該画素位置における選択差分値を平滑化し、平滑化された平滑化差分値Ev(d,x,y)を得ることができる。このように、一様な被写体Tの画素位置で奥行値Dが隣接画素間で大きく異なる場合、大きなペナルティが選択差分値に加算されるので、平滑化差分値Evは、もとの選択差分値が小さく、かつ、隣接画素との奥行値Dの差が小さい選択差分値が最小となるため、推定した奥行値Dが滑らかに連続するようになる。
なお、平滑化手段50は、差分値決定手段30から、基準映像の全ての画素位置において、全ての仮定奥行値dの選択差分値を書き込んだ旨(書き込み完了)を通知されることで動作を開始する。
【0133】
このように、選択差分値に、隣接する画素の奥行値候補Dとの差分を重み付け加算することで、隣接する各画素の奥行値Dが平滑化されることになる。これによって、隣接画素間において、選択差分値が最小となる奥行値Dが、オクルージョンや偽マッチング等で互いに異なる場合であっても、滑らかな奥行値Dを得ることができる。
【0134】
この平滑化手段50は、平滑化差分値Evが最小となる奥行値候補Dを、記憶手段40に書き込む。その後、平滑化手段50は、奥行値決定手段60に平滑化完了を通知する。
【0135】
奥行値決定手段60は、以下の(17)式に示すように、仮定奥行値dと基準映像の画素位置とに対応付けて記憶手段40に記憶されている平滑化された選択差分値について、画素位置(x,y)ごとに、平滑化差分値Ev(x,y)が最小となる仮定奥行値d(x,y)を探索し、当該画素位置における奥行値D(x,y)とする。
D(x,y)=(x,y)座標の平滑化差分値Ev(x,y)最小の奥行値
…(17)式
【0136】
このように、奥行値決定手段60は、全ての画素位置において、平滑化差分値Evが最小となる仮定奥行値dを奥行値Dとして決定する。そして、奥行値決定手段60は、被写体Tの奥行値Dを推定した奥行映像FZを生成する。
なお、この奥行値決定手段60は、平滑化手段50から、選択差分値の平滑化が完了した旨(平滑化完了)を通知されることで動作を開始するものとする。
【0137】
以上説明したように、奥行推定装置1は、選択差分値を指標として、被写体Tの奥行値Dを推定することができる。
なお、奥行推定装置1は、1回目の奥行推定で決定した奥行値Dを用いて、2回目以降の奥行推定を行ってもよい。そして、奥行推定装置1は、奥行推定をN回繰り返した後に得られた奥行値Dから奥行映像FZを生成してもよい。
【0138】
〔奥行推定装置の動作〕
以下、図11〜図16を参照して、図2の奥行推定装置1の動作について説明する(適宜図1,2参照)。ここでは、図11を参照して、奥行推定装置1の全体動作について説明し、詳細な説明については、図12〜図16を参照して説明を行うことにする。
なお、図11〜図16では、平均差分値Eaを平均値および最小差分値Emを最小値と略記している。
【0139】
(全体動作)
最初に、図11を参照して、奥行推定装置1の全体動作について説明する。
奥行推定装置1は、奥行推定回数を示すカウンタn=1とし、全ての画素の奥行値D=0として、初期設定を行う。そして、奥行推定装置1は、映像入力手段10によって、一直線上に等間隔で水平に配置したカメラ(基準カメラCC、隣接カメラCL,CR)より、同一の被写体Tを撮影したカメラ映像(基準映像FC,隣接映像FL,FR)を入力する(ステップS1)。
【0140】
そして、奥行推定装置1は、近傍画素値出力手段15によって、注目画素PCの画素値PC(x,y)と、注目画素PCから所定画素数sだけ左に離れた近傍画素PSLの画素値PSL(x-s,y)と、注目画素PCから所定の画素数sだけ右に離れた近傍画素PSRの画素値PSR(x+s,y)とを出力する(ステップS2;近傍画素値出力動作)。
【0141】
そして、奥行推定装置1は、対応画素差分演算手段20によって、仮定奥行値dおよび注目画素PCごとに、基準映像FCの注目画素PCの画素値と、当該注目画素PCの仮定奥行値dの視差に対応する隣接映像FL,FRの対応画素の画素値との差分絶対値である隣接映像の対応画素差分値ECL,ECRを演算する(ステップS3;対応画素差分演算動作)。このステップS3の動作については、図12を参照して後で説明を行う。
【0142】
そして、奥行推定装置1は、差分値決定手段30によって、仮定奥行値dおよび注目画素PCごとに、最小差分値Em、平均差分値Ea、最小差分値Emまたは平均差分値Eaに所定のペナルティ(加算値)を加えた値の何れかを、選択差分値として決定し、記憶手段40に記憶する(ステップS4;差分値決定動作)。このステップS4の動作については、図13,図14を参照して後で説明を行う。
【0143】
そして、奥行推定装置1は、平滑化手段50によって、基準映像FCの全ての(x,y)座標の全ての仮定奥行値dに対応して記憶された選択差分値を平滑化する(ステップS5;平滑化動作)。このステップS5の動作については、図15を参照して後で説明を行う。
【0144】
そして、奥行推定装置1は、奥行値決定手段60によって、画素位置(x,y)ごとに、平滑化された差分値が最小となる奥行値候補Dを探索し、当該画素位置の奥行値Dを決定する(ステップS6;奥行値決定動作)。このステップS6の動作については、図16を参照して後で説明を行う。
【0145】
そして、奥行推定装置1は、カウンタnが繰返回数Nと等しいか判定する(ステップS7)。カウンタnが繰返回数Nと等しくない場合(ステップS7でNo)、奥行推定装置1は、ステップS8の処理に進む。
【0146】
そして、奥行推定装置1は、近傍奥行値出力手段25によって、近傍画素PSLの奥行値DLと、近傍画素PSRの奥行値DRとを差分値決定手段30に出力する(ステップS8;近傍奥行値出力動作)。
その後、奥行推定装置1は、カウンタnをインクリメントし(ステップS9)、ステップS1の処理に戻る。
【0147】
一方、カウンタnが繰り返し回数Nと等しい場合(ステップS7でYes)、奥行推定装置1は、奥行値決定手段60によって、N回繰り返した後に得られた奥行値Dを、奥行き映像として出力する。
以上の動作によって、奥行推定装置1は、複数のカメラ映像から、被写体Tの奥行きを示す奥行値Dを推定する。
【0148】
(対応画素差分演算動作)
次に、図12を参照して、対応画素差分演算動作(図11のステップS3)について詳細に説明する。
【0149】
まず、奥行推定装置1は、変数として、仮定奥行値d、カメラ映像(基準映像FC,隣接映像FL,FR)のx座標値およびy座標値を初期化(d=0、x=0、y=0)する(ステップS10)。
【0150】
そして、対応画素差分演算手段20は、基準映像FCの注目画素PCの画素値と、当該注目画素PCの仮定奥行値dの視差に対応する隣接映像FL,FRの対応画素の画素値との差分絶対値である対応画素差分値ECL,ECRを前記した(1)式により演算する。
【0151】
すなわち、対応画素差分演算手段20は、基準映像FCの中の注目画素値PC(x,y)に対し、隣接映像FLの画素位置を右にd画素移動した位置の対応画素値PL(x+d,y)との差分絶対値である対応画素差分値ECL(d,x,y)を演算する。
また、対応画素差分演算手段20は、基準映像FCの中の注目画素値PC(x,y)に対し、隣接映像FRの画素位置をd画素左に移動した位置の対応画素値PR(x−d,y)との差分絶対値である対応画素差分値ECR(d,x,y)を演算する(ステップS11)。
【0152】
そして、対応画素差分演算手段20は、被写体Tにおいて注目画素PCの近傍が黒い背景であるか否かを判定する。すなわち、対応画素差分演算手段20は、近傍画素値出力手段15から入力された注目画素PCの画素値PC(x,y)と、近傍画素PSLの画素値PSL(x−s,y)と、近傍画素PSRの画素値PSR(x+s,y)との全てが閾値thより小さいか否かを判定する(ステップS12)。
【0153】
全ての値が閾値thより小さい場合(ステップS12でYes)、対応画素差分演算手段20は、黒背景フラグがオンまたはオフであるかを判定する(ステップS13)。
【0154】
黒背景フラグがオンの場合(ステップS13でYes)、対応画素差分演算手段20は、前記した(1−1)式のように、仮定奥行値dに係数hを掛けた値(ペナルティ)を、対応画素差分値ECL,ECRに加算する(ステップS14)。
【0155】
黒背景フラグがオフの場合(ステップS13でNo)、対応画素差分演算手段20は、前記した(1−2)式のように、大きい方の近傍奥行値DMと仮定奥行値dとの差分絶対値に係数hを掛けた値(ペナルティ)を、対応画素差分値ECL,ECRに加算する(ステップS15)。
【0156】
一方、全ての値が閾値thより小さくならない場合(ステップS12でNo)、対応画素差分演算手段20は、ステップS16−1の処理に進む。
【0157】
その後、奥行推定装置1は、変数である仮定奥行値d、カメラ映像のx座標値、y座標値を順次加算(インクリメント)し、仮定奥行値dについては最大視差量になるまで(ステップS16−1,16−2)、x座標値についてはカメラ映像の幅になるまで(ステップS17−1,S17−2)、y座標値についてはカメラ映像の高さになるまで(ステップS18−1,S18−2)、前記した動作を繰り返す。
【0158】
(差分値決定動作)
以下、図13,図14を参照して、差分値決定動作(図11のステップS4)について詳細に説明する(適宜図2,図5〜図10参照)。
まず、奥行推定装置1は、変数として、仮定奥行値d、カメラ映像のx座標値およびy座標値をそれぞれ初期化(d=0、x=0、y=0)する(ステップS20)。
【0159】
平均差分値演算手段30aは、前記した(2)式により、隣接映像の対応画素差分値ECL,ECRの平均差分値Eaを演算する。
最小差分値選択手段30bは、前記した(3)式により、隣接映像の対応画素差分値ECLと隣接映像の対応画素差分値ECRとの最小値を最小差分値Emとして選択する。
差分値選択手段30cは、前記した(4)式〜(7)式により、奥行差分値DD、画素差分値DPLR,DPL,DPRを演算する(ステップS21)。
【0160】
差分値選択手段30cは、カウンタn=1であるか否か、つまり、1回目の奥行推定であるか否かを判定する(ステップ22)。
1回目の奥行推定の場合(ステップ22でYes)、差分値選択手段30cは、ステップ32の処理に進む。
一方、2回目以降の奥行推定の場合(ステップ22でNo)、差分値選択手段30cは、ステップ23の処理に進む。
【0161】
以下、差分値選択手段30cは、ステップS23からステップS43までの処理によって、対応画素差分値ECL、ECRと、ステップS21で演算した奥行差分値DD、画素差分値DPLR,DPL,DPRとに基づいて、選択差分値を選択する。
【0162】
差分値選択手段30cは、前記した(4)式および(5)式により、オクルージョンが発生しているか否かを判定する(ステップS23)。
(4)式または(5)式の何れかを満たさない場合(ステップS23でNo;被写体境界無)、差分値選択手段30cは、平均差分値Eaを選択差分値として選択し、記憶手段40に記憶する(ステップS24)。
【0163】
(4)式および(5)式の両方を満たす場合(ステップS23でYes;被写体境界有)、差分値選択手段30cは、奥行値DL,DRを大小比較し、大きい側に前景Bがあると判定する(ステップS25)。
【0164】
右側に前景Bがある場合(ステップS25でYes)、差分値選択手段30cは、前記した(8)式により、注目画素PCが前景B上の画素であるか否かを判定する(ステップS26)。
【0165】
注目画素PCが前景B上の画素である場合(ステップS26でYes)、差分値選択手段30cは、画素差分値DPRが閾値th3より小さいか否かを判定する(ステップS27)。
【0166】
注目画素PCが前景B上の画素である場合(ステップS27でYes)、差分値選択手段30cは、(12)式により、仮定奥行値dが前景B側の近傍奥行値DRより大きいか否かを判定する(ステップS28)。
【0167】
仮定奥行値dが前景B側の近傍奥行値DRより大きい場合(ステップS28でYes)、差分値選択手段30cは、平均差分値Eaにペナルティp1を加え(ステップS29)、記憶手段40に記憶する(ステップS24)。
【0168】
仮定奥行値dが前景B側の近傍奥行値DRより大きくない場合(ステップS28でNo)、差分値選択手段30cは、仮定奥行値dが正しく、注目画素PCにオクルージョンが発生していないので、平均差分値Eaを選択差分値として選択し、記憶手段40に記憶する(ステップS24)。
【0169】
注目画素PCが背景A上の画素である場合(ステップS26でNo)、差分値選択手段30cは、画素差分値DPLが閾値th3より小さいか否かを判定する(ステップS30)。
【0170】
注目画素PCが背景A上にある場合(ステップS30でYes)、差分値選択手段30cは、前記した(10)式に示すように、左側の対応画素差分値ECLが、右側の対応画素差分値ECRより十分小さいか否かを、左側の対応画素差分値ECLに係数kを掛けても、右側の対応画素差分値ECRより小さいか否かによって判定する(ステップS31)。
【0171】
左側の対応画素差分値ECLが右側の対応画素差分値ECRより十分小さい場合(ステップS31でYes)、差分値選択手段30cは、この小さい方の対応画素差分値ECL=最小差分値Emを選択差分値として選択する(ステップ32)。
【0172】
左側の対応画素差分値ECLが右側の対応画素差分値ECRより十分小さくない場合(ステップS31でNo)、差分値選択手段30cは、仮定奥行値dが正しくないと判定する。この場合、差分値選択手段30cは、仮定奥行値dが大きいか否かを、左側の対応画素差分値ECLが右側の対応画素差分値ECRに係数kを掛けたものより大きいか否かで判定する(ステップS33)。
【0173】
仮定奥行値dが大きい場合(ステップS33でYes)、差分値選択手段30cは、この大きな方の対応画素差分値ECLを含む平均差分値Eaを選択差分値として選択し、記憶手段40に記憶する(ステップS24)。
【0174】
仮定奥行値dが大きくない場合(ステップS33でNo)、差分値選択手段30cは、対応画素PL、PC、PRが全て背景A上にあり、仮定奥行値dが正しくないと判定する。この場合、差分値選択手段30cは、平均差分値Eaも最小差分値Emも大きくならないので、平均差分値Eaにペナルティpを加えた値を選択差分値として選択し、記憶手段40に記憶する(ステップS34)。
【0175】
注目画素PCが前景B上の画素でない場合(ステップS27でNo)、または、注目画素PCが背景A上でない場合(ステップS30でNo)、差分値選択手段30cは、注目画素PCが右側にある前景Bと左側にある中景Cの中間にある背景Aに対応すると判定する。この場合、左右どちらのカメラCL,CRからも、正しい対応点が見えないので、正しい奥行値Dを推定できないことになる。このため、差分値選択手段30cは、前記した(10)式により、左側の対応画素差分値ECLが右側の対応画素差分値ECRよりも十分小さくなるか否かを判定する(ステップS35)。
【0176】
左側の対応画素差分値ECLが右側の対応画素差分値ECRよりも十分小さい場合(ステップS35でYes)、差分値選択手段30cは、その時の最小差分値Emにペナルティp1を加えた値を算出し(ステップS36)、選択差分値として記憶手段40に記憶する(ステップS32)。
【0177】
左側の対応画素差分値ECLが右側の対応画素差分値ECRよりも十分小さくない場合(ステップS35でNo)、差分値選択手段30cは、背景Aが左右どちらのカメラCL,CRからも見えないと判定する。この場合、差分値選択手段30cは、推定される奥行値Dをより正しい値に近づけるために、平均差分値Eaにペナルティp1を加えた値を算出し(ステップS29)、記憶手段40に記憶する(ステップS24)。
【0178】
左側に前景Bがある場合(ステップS25でNo)、差分値選択手段30cは、注目画素PCが、前景の被写体上の画素であるか否かを、以下の(18)式により判定する(ステップS37)。
DPL(x,y)≦DPR(x,y) …(18)式
【0179】
画素差分値DPLが画素差分値DPR以下の場合(ステップS37でYes、注目画素PCが前景側)、差分値選択手段30cは、画素差分値DPLが閾値th3より小さいか否かを判定する(ステップS38)。
【0180】
注目画素PCが前景B上の画素にある場合(ステップS38でYes)、差分値選択手段30cは、以下の式(19)により、仮定奥行値dが前景B側の近傍奥行値DLより大きくないか否かを判定する(ステップS39)。
d(x,y)>DL(x−s,y) …(19)式
【0181】
仮定奥行値dが前景B側の近傍奥行値DLより大きい場合(ステップS39でYes)、差分値選択手段30cは、平均差分値Eaにペナルティp1を加えた値を算出し(ステップS29)、記憶手段40に記憶する(ステップS24)。
【0182】
仮定奥行値dが前景B側の近傍奥行値DLより大きくない場合(ステップS39でNo)、差分値選択手段30cは、仮定奥行値dが正しく、注目画素PCにオクルージョンが発生していないので、平均差分値Eaを選択差分値として選択し、記憶手段40に記憶する(ステップS24)。
【0183】
画素差分値DPLが画素差分値DPR以下でない場合(ステップS37でNo、注目画素PCが背景側)、差分値選択手段30cは、画素差分値DPRが閾値th3より小さいか否かを判定する(ステップS40)。
【0184】
画素差分値DPRが閾値th3より小さい場合(ステップS40でYes)、差分値選択手段30cは、右側の対応画素差分値ECRが、左側の対応画素差分値ECLより十分小さいか否かを、右側の対応画素差分値ECRに係数kを掛けても、左側の対応画素差分値ECLより小さいか否かによって判定する(ステップS41)。
【0185】
右側の対応画素差分値ECRが左側の対応画素差分値ECLより十分小さい場合(ステップS41でYes)、差分値選択手段30cは、この小さい方の最小差分値Em=対応画素差分値ECRを選択差分値として選択し、記憶手段40に記憶する(ステップS32)。
【0186】
右側の対応画素差分値ECRが左側の対応画素差分値ECLより十分小さくない場合(ステップS41でNo)、差分値選択手段30cは、仮定奥行値dが正しくないと判定する。この場合、差分値選択手段30cは、仮定奥行値dが大きいか否かを、右側の対応画素差分値ECRが、左側の対応画素差分値ECLに係数kを掛けたものより大きいか否かによって判定する(ステップS42)。
【0187】
仮定奥行値dが大きい場合(ステップS42でYes)、差分値選択手段30cは、この大きな方の対応画素差分値ECRを含む平均差分値Eaを選択差分値として選択し、記憶手段40に記憶する(ステップS24)。
【0188】
仮定奥行値dが大きくない場合(ステップS42でNo)、差分値選択手段30cは、対応画素PL、PC、PRが全て背景A上にあり、仮定奥行値dが正しくないと判定する。この場合、差分値選択手段30cは、平均差分値Eaも最小差分値Emも大きくならないので、平均差分値Eaにペナルティpを加えた値を算出し、記憶手段40に記憶する(ステップS34)。
【0189】
注目画素PCが前景B上の画素でない場合(ステップS38でNo)、または、注目画素PCが背景A上の画素でない場合(ステップS40でNo)、差分値選択手段30cは、注目画素PCが左側にある前景Bと右側にある中景Cとの中間にある背景Aに対応すると判定する。この場合、左右どちらのカメラCL,CRからも、正しい対応点は見えないので、正しい奥行値Dを推定できないことになる。このため、差分値選択手段30cは、前記した(13)式により、右側の対応画素差分値ECRが左側の対応画素差分値ECLより十分小さくなるか否かを判定する(ステップS43)。
【0190】
右側の対応画素差分値ECRが左側の対応画素差分値ECLより十分小さい場合(ステップS43でYes)、差分値選択手段30cは、その時の最小差分値Emである右側の対応画素差分値ECRにペナルティp1を加えた値を算出し(ステップS36)、記憶手段40に記憶する(ステップS32)。
【0191】
右側の対応画素差分値ECRが左側の対応画素差分値ECLより十分小さくない場合(ステップS43でNo)、差分値選択手段30cは、背景Aが左右どちらのカメラCL,CRからも見えないと判定する。この場合、差分値選択手段30cは、平均差分値Eaにペナルティp1を加えた値を算出し(ステップS29)、記憶手段40に記憶する(ステップS24)。
【0192】
その後、奥行推定装置1は、変数である仮定奥行値d、カメラ映像のx座標値、y座標値を順次加算(インクリメント)し、仮定奥行値dについては最大視差量になるまで(ステップS44,S45)、x座標値についてはカメラ映像の幅になるまで(ステップS46,S47)、y座標値についてはカメラ映像の高さになるまで(ステップS48,S49)、ステップS21からステップS43までの動作を繰り返す。
この差分値決定動作によって、記憶手段40には、基準映像の画素位置(x,y)ごとに、複数の仮定奥行値d(“0”〜最大視差量)に対応した差分値Eが記憶される。
【0193】
なお、差分値決定手段30は、基準映像の全ての画素位置において、仮定奥行値dごとの選択差分値を記憶手段40に書き込んだ後に、書き込み完了を平滑化手段50に通知する。
【0194】
(平滑化動作)
以下、図15を参照して、平滑化動作(図11のステップS5)の動作について詳細に説明する。
【0195】
まず、奥行推定装置1は、変数として、仮定奥行値d、カメラ映像(基準映像FC,隣接映像FL,FR)のx座標値およびy座標値を初期化(d=0、x=0、y=0)する(ステップS60)。
【0196】
そして、平滑化手段50は、記憶手段40に記憶されている基準映像FCの(x,y)座標に隣接する座標において、仮定奥行値dの中で選択差分値が最小となる仮定奥行値dを隣接画素の奥行値候補Dとして探索する。
【0197】
すなわち、平滑化手段50は、基準映像FCの(x,y)座標に隣接する、(x+1,y)座標の差分値が最小となる仮定奥行値d(x+1,y)と、(x,y+1)座標の差分値が最小となる仮定奥行値d(x,y+1)を探索し、隣接画素の奥行値候補D(x+1,y)、D(x,y+1)とする(ステップS61)。
【0198】
そして、平滑化手段50は、前記した(16)式のように、記憶手段40に記憶されている基準映像FCの(x,y)座標の奥行値候補Dに対応する選択差分値E(d,x,y)に、注目画素PCの仮定奥行値dと隣接画素の奥行値候補D(x+1,y),D(x,y+1)との差を、注目画素PCの差分値に重み付け加算することで、平滑化した差分値Ev(d,x,y)を演算する(ステップS62)。
【0199】
その後、奥行推定装置1は、変数である仮定奥行値d、カメラ映像のx座標値、y座標値を順次加算(インクリメント)し、仮定奥行値dについては最大視差量になるまで(ステップS63,S64)、x座標値についてはカメラ映像の幅になるまで(ステップS65,S66)、y座標値についてはカメラ映像の高さになるまで(ステップS67,S68)、ステップS61からステップS62までの動作を繰り返す。
この平滑化動作によって、記憶手段40には、基準映像の画素位置(x,y)ごとに、平滑化差分値Evが記憶される。
【0200】
(奥行値決定動作)
以下、図16を参照して、奥行値決定動作(図11のステップS6)の動作について詳細に説明する。
【0201】
まず、奥行推定装置1は、変数として、カメラ映像のx座標値、y座標値をそれぞれ初期化(x=y=0)する(ステップS70)。
そして、奥行値決定手段60は、記憶手段40に記憶されている平滑化差分値Evについて、画素位置(x,y)ごとに、平滑化された差分値Evが最小となる仮定奥行値dを探索し、探索された仮定奥行値dが、画素位置(x,y)における被写体Tの奥行値D(x,y)として決定(記憶・出力)する(ステップS71)。
【0202】
その後、奥行推定装置1は、変数であるカメラ映像のx座標値、y座標値を順次加算(インクリメント)し、x座標値についてはカメラ映像の幅になるまで(ステップS72,S73)、y座標値についてはカメラ映像の高さになるまで(ステップS74,S75)、ステップS71の動作を繰り返す。これによって、全ての画素位置(x,y)における被写体Tの奥行値Dが決定されることになる。
【0203】
なお、奥行推定装置1は、新たに決定された奥行値Dを用いて、ステップS2からS5の奥行推定動作を、N回(N≧2)繰り返し、最後に得られた奥行値Dを奥行映像FZとして出力する。その結果、奥行推定装置1は、より誤推定を減らした奥行値Dを得ることができる。
【0204】
以上、本発明の実施形態に係る奥行推定装置1の構成および動作について説明したが、本発明は、この実施形態に限定されるものではない。
以下、本発明の種々の変形例について説明する。
【0205】
(変形例1:カメラ配置間隔の変形例)
本実施形態では、被写体を撮影するカメラの設置間隔を等間隔としたが、異なるカメラ間隔としてもよい。
この場合、対応画素差分演算手段20は、それぞれの隣接映像FL,FRについて、基準カメラCCからのカメラ間隔ごとに、基準映像FCの画素から、視差に対応する画素の位置をそれぞれ求め、当該画素の画素値と、基準映像FCの画素の画素値との差分絶対値を演算すればよい。例えば、本実施形態では、奥行値Dの単位と画素間の視差の単位とを同一とし、奥行値Dが“1”増加することで、1画素ずつ視差が増加することとしたが、この場合、図1に示したカメラCC,CR間の距離が、カメラCC,CL間の距離の2倍であったとすると、対応画素差分演算手段20は、前記(1)式の代わりに、以下の(18)式により差分絶対値を算出すればよい。
ECL(d,x,y)=|PL(x+d,y)−PC(x,y)|
ECR(d,x,y)=|PR(x−2d,y)−PC(x,y)| …(18)式
これによって、奥行推定システム(図1)のカメラ配置の自由度を高めることができる。
【0206】
(変形例2:対応画素差分演算手段の変形例)
また、本実施形態では、対応画素差分演算手段20が、基準映像FCの各画素の画素値と、当該画素の仮定奥行値dの視差に対応する隣接映像FL,FRの各画素の画素値との差分絶対値を演算することとしたが、この差分絶対値は、対応する画素のみでなく、対応画素を中心とするブロック内の画素値の差分絶対値の重み付け平均値を用いることとしてもよい。例えば、対応画素差分演算手段20は、前記(1)式の対応画素差分値ECL(d,x,y)を、以下の(19)式により算出する。
ECL(d,x,y)=|PL(x+d,y)−PC(x,y)|×1/2
+|PL(x+d+1,y)−PC(x+1,y)|×1/8
+|PL(x+d−1,y)−PC(x−1,y)|×1/8
+|PL(x+d,y+1)−PC(x,y+1)|×1/8
+|PL(x+d,y−1)−PC(x,y−1)|×1/8
…(19)式
これによって、ノイズ等によって発生する差分絶対値の誤差を低減することができる。
【0207】
(変形例3:平滑化手段の変形例)
また、本実施形態では、平滑化手段50が、前記(16)式に示すように、基準映像FCの(x,y)座標の仮定奥行値dに対応する選択差分値E(d,x,y)に、隣接する2画素間の奥行値Dの差分絶対値を重み付け加算したが、以下の(20)式に示すように、隣接する4画素間の奥行値Dの差分絶対値を重み付け加算してもよい。
Ev(d,x,y)=E(d,x,y)
+W{|D(x+1,y)−d(x,y)|+|D(x,y+1)−d(x,y)|
+|D(x−1,y)−d(x,y)|+|D(x,y−1)−d(x,y)|}
…(20)式
【0208】
以上、本発明の実施形態である奥行推定装置1について説明したが、奥行推定装置1の変形例は、一般的なコンピュータを、前記した各手段として機能させる奥行推定プログラムによって動作させることができる。また、この奥行推定プログラムは、通信回線を介して配布したり、CD−ROM等の記録媒体に記録して配布したりすることも可能である。
【0209】
以上説明したように、奥行推定装置1は、オクルージョンが生じていない場合であっても、オクルージョンが生じている場合であっても、複数の仮定奥行値dに対応する画素における差分絶対値の最小値と平均値との差から、画素の奥行値Dを推定する従来の手法に比べ、注目画素PCの画素値と、その近傍画素の画素値と、近傍画素の奥行値Dとによって、差分絶対値の平均値と、最小値と、それらに所定のペナルティを加えた値のいずれか最適な値を選択することで、隣接映像で偽マッチングが発生している場合、その奥行値Dを推定対象から除くことができ、また、オクルージョンが発生している場合、より正しい差分値から奥行値Dを推定することができ、精度よく奥行値Dを推定することができる。
【符号の説明】
【0210】
1 奥行推定装置
10 映像入力手段
15 近傍画素値出力手段
20 対応画素差分演算手段
25 近傍奥行値出力手段
30 差分値決定手段
30a 平均差分値演算手段
30b 最小差分値選択手段
30c 差分値選択手段
40 記憶手段
50 平滑化手段
60 奥行値決定手段
【特許請求の範囲】
【請求項1】
予め定めた位置に複数配列したカメラで同一の被写体を撮影した複数のカメラ映像から、前記被写体の奥行きを示す奥行値を推定する奥行推定装置であって、
前記複数配列した前記カメラのいずれかにおいて、予め定めた基準カメラで前記被写体を撮影した基準映像と、前記基準カメラに隣接する複数の隣接カメラで前記被写体を撮影した複数の隣接映像とを入力する映像入力手段と、
前記映像入力手段に入力された基準映像において、当該基準映像の注目画素の画素値と、前記注目画素に対して左右近傍に位置する近傍画素の画素値とを出力する近傍画素値出力手段と、
前記奥行値を仮定した仮定奥行値および前記注目画素ごとに、前記基準映像の注目画素の画素値と、当該注目画素の前記仮定奥行値の視差に対応する画素位置にある前記複数の隣接映像の対応画素の画素値との差分絶対値である対応画素差分値を演算する対応画素差分演算手段と、
前記仮定奥行値および前記注目画素ごとに、前記対応画素差分値の平均値である平均差分値と、前記対応画素差分値の最小値である最小差分値を求め、前記注目画素の画素値と前記近傍画素の画素値と前記近傍画素の奥行値とに基づいて、前記最小差分値、前記平均差分値、前記最小差分値または前記平均差分値に所定の加算値を加えた値の何れかを、予め設定した条件により選択差分値として決定する差分値決定手段と、
前記仮定奥行値および前記注目画素ごとに、当該注目画素に隣接する画素の選択差分値が最小となる仮定奥行値と前記注目画素の仮定奥行値との差に、予め設定された平滑化係数を掛けた値を前記選択差分値に加えることで、前記選択差分値を平滑化する平滑化手段と、
前記平滑化手段が平滑化した選択差分値が最小となる前記仮定奥行値を、前記基準映像の各画素の奥行値とする奥行値決定手段と、
前記奥行値決定手段から基準映像の各画素の奥行値が入力されると共に、前記近傍画素の奥行値を前記対応画素差分演算手段および前記差分値決定手段に出力する近傍奥行値出力手段と、
を備えることを特徴とする誤推定を防止した奥行推定装置。
【請求項2】
前記対応画素差分演算手段は、
背景が黒色であるか否かを設定した黒背景フラグが入力され、当該黒背景フラグにおいて前記背景が黒色に設定されているか否かを判定し、
前記黒背景フラグにおいて前記背景が黒色に設定されている場合、前記注目画素の画素値と前記近傍画素の画素値との全てが予め設定した第1の閾値より小さいときに、前記対応画素差分値に、前記仮定奥行値に予め設定した第1の係数を掛けた値を加えることを特徴とする請求項1に記載の奥行推定装置。
【請求項3】
前記対応画素差分演算手段は、
前記黒背景フラグにおいて前記背景が黒色に設定されていない場合、
前記注目画素の画素値と前記近傍画素の画素値との全てが予め設定した第1の閾値より小さいときに、前記対応画素差分値に、左右の前記近傍画素の奥行値のうち大きい方と前記仮定奥行値との差分絶対値に前記第1の係数を掛けた値を加えることを特徴とする請求項1に記載の奥行推定装置。
【請求項4】
前記差分値決定手段は、前記近傍画素どうしの奥行値の差が予め設定した第2の閾値より小さいか、または、前記近傍画素どうしの画素値の差が予め設定した第3の閾値より小さい場合、
前記平均差分値を前記選択差分値として決定することを特徴とする請求項1に記載の奥行推定装置。
【請求項5】
前記差分値決定手段は、前記近傍画素どうしの奥行値の差が前記第2の閾値より大きく、前記近傍画素どうしの画素値の差が前記第3の閾値より大きく、左右の前記近傍画素のうち小さい前記奥行値を有する方よりも大きい前記奥行値を有する方の画素値に前記注目画素の画素値が近い場合、
前記平均差分値を前記選択差分値として決定することを特徴とする請求項1に記載の奥行推定装置。
【請求項6】
前記差分値決定手段は、前記近傍画素どうしの奥行値の差が前記第2の閾値より大きく、前記近傍画素どうしの画素値の差が前記第3の閾値より大きく、左右の前記近傍画素のうち小さい前記奥行値を有する方よりも大きい前記奥行値を有する方の画素値に前記注目画素の画素値が近く、前記仮定奥行値が左右の前記近傍画素のうちの前記大きい奥行値より大きい場合、
前記仮定奥行値に前記第1の係数を掛けた値を前記加算値として算出して、前記平均差分値に前記加算値を加えた値を前記選択差分値として決定することを特徴とする請求項1に記載の奥行推定装置。
【請求項7】
前記差分値決定手段は、前記近傍画素どうしの奥行値の差が前記第2の閾値より大きく、前記近傍画素どうしの画素値の差が前記第3の閾値より大きく、左右の前記近傍画素のうち大きい前記奥行値を有する方よりも小さい前記奥行値を有する方の画素値に前記注目画素の画素値が近く、前記小さい奥行値を有する前記近傍画素の対応画素差分値に予め設定した第3の係数を掛けた値が前記大きい奥行値を有する前記近傍画素の対応画素差分値より小さい場合、
前記最小差分値を前記選択差分値として決定することを特徴とする請求項1に記載の奥行推定装置。
【請求項8】
前記差分値決定手段は、前記近傍画素どうしの奥行値の差が前記第2の閾値より大きく、前記近傍画素どうしの画素値の差が前記第3の閾値より大きく、左右の前記近傍画素のうち大きい前記奥行値を有する方よりも小さい前記奥行値を有する方の画素値に前記注目画素の画素値が近く、前記小さい奥行値を有する前記近傍画素の対応画素差分値に前記第3の係数を掛けた値が前記大きい奥行値を有する前記近傍画素の対応画素差分値より大きい場合、
前記仮定奥行値に予め設定した第2の係数を掛けた値または予め設定された固定値の何れかを前記加算値として算出して、前記平均差分値に前記加算値を加えた値を前記選択差分値として決定することを特徴とする請求項1に記載の奥行推定装置。
【請求項9】
前記差分値決定手段は、前記近傍画素どうしの奥行値の差が前記第2の閾値より大きく、前記近傍画素どうしの画素値の差が前記第3の閾値より大きく、前記注目画素の画素値と前記近傍画素の画素値との差が予め設定された第4の閾値より大きい場合、
前記小さい奥行値を有する前記近傍画素の対応画素差分値に前記第3の係数を掛けた値が前記大きい奥行値を有する前記近傍画素の対応画素差分値より大きいときに、前記仮定奥行値に前記第1の係数を掛けた値を前記加算値として算出して、前記平均差分値に前記加算値を加えた値を前記選択差分値として決定し、
前記小さい奥行値を有する前記近傍画素の対応画素差分値に前記第3の係数を掛けた値が前記大きい奥行値を有する前記近傍画素の対応画素差分値より小さいときに、前記仮定奥行値に前記第1の係数を掛けた値を前記加算値として算出して、前記最小差分値に前記加算値を加えた値を前記選択差分値として決定することを特徴とする請求項1に記載の奥行推定装置。
【請求項10】
前記差分値決定手段は、
前記奥行値の推定回数が1回目の場合、前記最小差分値を前記選択差分値として決定し、
前記奥行値の推定回数が2回目以降の場合、前記奥行値決定手段から入力された近傍画素の奥行値を用いて前記選択差分値を決定することを特徴とする請求項1から請求項9のいずれか一項に記載の奥行推定装置。
【請求項11】
予め定めた位置に複数配列したカメラで同一の被写体を撮影した複数のカメラ映像から、前記被写体の奥行きを示す奥行値を推定する奥行推定方法であって、
前記複数配列した前記カメラのいずれかにおいて、予め定めた基準カメラで前記被写体を撮影した基準映像と、前記基準カメラに隣接する複数の隣接カメラで前記被写体を撮影した複数の隣接映像とを入力する映像入力ステップと、
前記映像入力ステップで入力された基準映像において、当該基準映像の注目画素の画素値と、前記注目画素に対して左右近傍に位置する近傍画素の画素値とを出力する近傍画素値出力ステップと、
前記奥行値を仮定した仮定奥行値および前記注目画素ごとに、前記基準映像の注目画素の画素値と、当該注目画素の前記仮定奥行値の視差に対応する画素位置にある前記複数の隣接映像の対応画素の画素値との差分絶対値である対応画素差分値を演算する対応画素差分演算ステップと、
前記仮定奥行値および前記注目画素ごとに、前記対応画素差分値の平均値である平均差分値と、前記対応画素差分値の最小値である最小差分値を求め、前記注目画素の画素値と前記近傍画素の画素値と前記近傍画素の奥行値とに基づいて、前記最小差分値、前記平均差分値、前記最小差分値または前記平均差分値に所定の加算値を加えた値の何れかを、予め設定した条件により選択差分値として決定する差分値決定ステップと、
前記仮定奥行値および前記注目画素ごとに、当該注目画素に隣接する画素の選択差分値が最小となる仮定奥行値と前記注目画素の仮定奥行値との差に、予め設定された平滑化係数を掛けた値を前記選択差分値に加えることで、前記選択差分値を平滑化する平滑化ステップと、
前記平滑化ステップで平滑化した選択差分値が最小となる前記仮定奥行値を、前記基準映像の各画素の奥行値とする奥行値決定ステップと、
前記基準映像の各画素の奥行値が入力されると共に、前記近傍画素の奥行値を出力する近傍奥行値出力ステップと、
を備えることを特徴とする奥行推定方法。
【請求項12】
予め定めた位置に複数配列したカメラで同一の被写体を撮影した複数のカメラ映像から、前記被写体の奥行きを示す奥行値を推定するために、コンピュータを、
前記複数配列した前記カメラのいずれかにおいて、予め定めた基準カメラで前記被写体を撮影した基準映像と、前記基準カメラに隣接する複数の隣接カメラで前記被写体を撮影した複数の隣接映像とを入力する映像入力手段、
前記映像入力手段に入力された基準映像において、当該基準映像の注目画素の画素値と、前記注目画素に対して左右近傍に位置する近傍画素の画素値とを出力する近傍画素値出力手段、
前記奥行値を仮定した仮定奥行値および前記注目画素ごとに、前記基準映像の注目画素の画素値と、当該注目画素の前記仮定奥行値の視差に対応する画素位置にある前記複数の隣接映像の対応画素の画素値との差分絶対値である対応画素差分値を演算する対応画素差分演算手段、
前記仮定奥行値および前記注目画素ごとに、前記対応画素差分値の平均値である平均差分値と、前記対応画素差分値の最小値である最小差分値を求め、前記注目画素の画素値と前記近傍画素の画素値と前記近傍画素の奥行値とに基づいて、前記最小差分値、前記平均差分値、前記最小差分値または前記平均差分値に所定の加算値を加えた値の何れかを、予め設定した条件により選択差分値として決定する差分値決定手段、
前記仮定奥行値および前記注目画素ごとに、当該注目画素に隣接する画素の選択差分値が最小となる仮定奥行値と前記注目画素の仮定奥行値との差に、予め設定された平滑化係数を掛けた値を前記選択差分値に加えることで、前記選択差分値を平滑化する平滑化手段、
前記平滑化手段が平滑化した選択差分値が最小となる前記仮定奥行値を、前記基準映像の各画素の奥行値とする奥行値決定手段、
前記奥行値決定手段から基準映像の各画素の奥行値が入力されると共に、前記近傍画素の奥行値を前記対応画素差分演算手段および前記差分値決定手段に出力する近傍奥行値出力手段、
として機能させることを特徴とする奥行推定プログラム。
【請求項1】
予め定めた位置に複数配列したカメラで同一の被写体を撮影した複数のカメラ映像から、前記被写体の奥行きを示す奥行値を推定する奥行推定装置であって、
前記複数配列した前記カメラのいずれかにおいて、予め定めた基準カメラで前記被写体を撮影した基準映像と、前記基準カメラに隣接する複数の隣接カメラで前記被写体を撮影した複数の隣接映像とを入力する映像入力手段と、
前記映像入力手段に入力された基準映像において、当該基準映像の注目画素の画素値と、前記注目画素に対して左右近傍に位置する近傍画素の画素値とを出力する近傍画素値出力手段と、
前記奥行値を仮定した仮定奥行値および前記注目画素ごとに、前記基準映像の注目画素の画素値と、当該注目画素の前記仮定奥行値の視差に対応する画素位置にある前記複数の隣接映像の対応画素の画素値との差分絶対値である対応画素差分値を演算する対応画素差分演算手段と、
前記仮定奥行値および前記注目画素ごとに、前記対応画素差分値の平均値である平均差分値と、前記対応画素差分値の最小値である最小差分値を求め、前記注目画素の画素値と前記近傍画素の画素値と前記近傍画素の奥行値とに基づいて、前記最小差分値、前記平均差分値、前記最小差分値または前記平均差分値に所定の加算値を加えた値の何れかを、予め設定した条件により選択差分値として決定する差分値決定手段と、
前記仮定奥行値および前記注目画素ごとに、当該注目画素に隣接する画素の選択差分値が最小となる仮定奥行値と前記注目画素の仮定奥行値との差に、予め設定された平滑化係数を掛けた値を前記選択差分値に加えることで、前記選択差分値を平滑化する平滑化手段と、
前記平滑化手段が平滑化した選択差分値が最小となる前記仮定奥行値を、前記基準映像の各画素の奥行値とする奥行値決定手段と、
前記奥行値決定手段から基準映像の各画素の奥行値が入力されると共に、前記近傍画素の奥行値を前記対応画素差分演算手段および前記差分値決定手段に出力する近傍奥行値出力手段と、
を備えることを特徴とする誤推定を防止した奥行推定装置。
【請求項2】
前記対応画素差分演算手段は、
背景が黒色であるか否かを設定した黒背景フラグが入力され、当該黒背景フラグにおいて前記背景が黒色に設定されているか否かを判定し、
前記黒背景フラグにおいて前記背景が黒色に設定されている場合、前記注目画素の画素値と前記近傍画素の画素値との全てが予め設定した第1の閾値より小さいときに、前記対応画素差分値に、前記仮定奥行値に予め設定した第1の係数を掛けた値を加えることを特徴とする請求項1に記載の奥行推定装置。
【請求項3】
前記対応画素差分演算手段は、
前記黒背景フラグにおいて前記背景が黒色に設定されていない場合、
前記注目画素の画素値と前記近傍画素の画素値との全てが予め設定した第1の閾値より小さいときに、前記対応画素差分値に、左右の前記近傍画素の奥行値のうち大きい方と前記仮定奥行値との差分絶対値に前記第1の係数を掛けた値を加えることを特徴とする請求項1に記載の奥行推定装置。
【請求項4】
前記差分値決定手段は、前記近傍画素どうしの奥行値の差が予め設定した第2の閾値より小さいか、または、前記近傍画素どうしの画素値の差が予め設定した第3の閾値より小さい場合、
前記平均差分値を前記選択差分値として決定することを特徴とする請求項1に記載の奥行推定装置。
【請求項5】
前記差分値決定手段は、前記近傍画素どうしの奥行値の差が前記第2の閾値より大きく、前記近傍画素どうしの画素値の差が前記第3の閾値より大きく、左右の前記近傍画素のうち小さい前記奥行値を有する方よりも大きい前記奥行値を有する方の画素値に前記注目画素の画素値が近い場合、
前記平均差分値を前記選択差分値として決定することを特徴とする請求項1に記載の奥行推定装置。
【請求項6】
前記差分値決定手段は、前記近傍画素どうしの奥行値の差が前記第2の閾値より大きく、前記近傍画素どうしの画素値の差が前記第3の閾値より大きく、左右の前記近傍画素のうち小さい前記奥行値を有する方よりも大きい前記奥行値を有する方の画素値に前記注目画素の画素値が近く、前記仮定奥行値が左右の前記近傍画素のうちの前記大きい奥行値より大きい場合、
前記仮定奥行値に前記第1の係数を掛けた値を前記加算値として算出して、前記平均差分値に前記加算値を加えた値を前記選択差分値として決定することを特徴とする請求項1に記載の奥行推定装置。
【請求項7】
前記差分値決定手段は、前記近傍画素どうしの奥行値の差が前記第2の閾値より大きく、前記近傍画素どうしの画素値の差が前記第3の閾値より大きく、左右の前記近傍画素のうち大きい前記奥行値を有する方よりも小さい前記奥行値を有する方の画素値に前記注目画素の画素値が近く、前記小さい奥行値を有する前記近傍画素の対応画素差分値に予め設定した第3の係数を掛けた値が前記大きい奥行値を有する前記近傍画素の対応画素差分値より小さい場合、
前記最小差分値を前記選択差分値として決定することを特徴とする請求項1に記載の奥行推定装置。
【請求項8】
前記差分値決定手段は、前記近傍画素どうしの奥行値の差が前記第2の閾値より大きく、前記近傍画素どうしの画素値の差が前記第3の閾値より大きく、左右の前記近傍画素のうち大きい前記奥行値を有する方よりも小さい前記奥行値を有する方の画素値に前記注目画素の画素値が近く、前記小さい奥行値を有する前記近傍画素の対応画素差分値に前記第3の係数を掛けた値が前記大きい奥行値を有する前記近傍画素の対応画素差分値より大きい場合、
前記仮定奥行値に予め設定した第2の係数を掛けた値または予め設定された固定値の何れかを前記加算値として算出して、前記平均差分値に前記加算値を加えた値を前記選択差分値として決定することを特徴とする請求項1に記載の奥行推定装置。
【請求項9】
前記差分値決定手段は、前記近傍画素どうしの奥行値の差が前記第2の閾値より大きく、前記近傍画素どうしの画素値の差が前記第3の閾値より大きく、前記注目画素の画素値と前記近傍画素の画素値との差が予め設定された第4の閾値より大きい場合、
前記小さい奥行値を有する前記近傍画素の対応画素差分値に前記第3の係数を掛けた値が前記大きい奥行値を有する前記近傍画素の対応画素差分値より大きいときに、前記仮定奥行値に前記第1の係数を掛けた値を前記加算値として算出して、前記平均差分値に前記加算値を加えた値を前記選択差分値として決定し、
前記小さい奥行値を有する前記近傍画素の対応画素差分値に前記第3の係数を掛けた値が前記大きい奥行値を有する前記近傍画素の対応画素差分値より小さいときに、前記仮定奥行値に前記第1の係数を掛けた値を前記加算値として算出して、前記最小差分値に前記加算値を加えた値を前記選択差分値として決定することを特徴とする請求項1に記載の奥行推定装置。
【請求項10】
前記差分値決定手段は、
前記奥行値の推定回数が1回目の場合、前記最小差分値を前記選択差分値として決定し、
前記奥行値の推定回数が2回目以降の場合、前記奥行値決定手段から入力された近傍画素の奥行値を用いて前記選択差分値を決定することを特徴とする請求項1から請求項9のいずれか一項に記載の奥行推定装置。
【請求項11】
予め定めた位置に複数配列したカメラで同一の被写体を撮影した複数のカメラ映像から、前記被写体の奥行きを示す奥行値を推定する奥行推定方法であって、
前記複数配列した前記カメラのいずれかにおいて、予め定めた基準カメラで前記被写体を撮影した基準映像と、前記基準カメラに隣接する複数の隣接カメラで前記被写体を撮影した複数の隣接映像とを入力する映像入力ステップと、
前記映像入力ステップで入力された基準映像において、当該基準映像の注目画素の画素値と、前記注目画素に対して左右近傍に位置する近傍画素の画素値とを出力する近傍画素値出力ステップと、
前記奥行値を仮定した仮定奥行値および前記注目画素ごとに、前記基準映像の注目画素の画素値と、当該注目画素の前記仮定奥行値の視差に対応する画素位置にある前記複数の隣接映像の対応画素の画素値との差分絶対値である対応画素差分値を演算する対応画素差分演算ステップと、
前記仮定奥行値および前記注目画素ごとに、前記対応画素差分値の平均値である平均差分値と、前記対応画素差分値の最小値である最小差分値を求め、前記注目画素の画素値と前記近傍画素の画素値と前記近傍画素の奥行値とに基づいて、前記最小差分値、前記平均差分値、前記最小差分値または前記平均差分値に所定の加算値を加えた値の何れかを、予め設定した条件により選択差分値として決定する差分値決定ステップと、
前記仮定奥行値および前記注目画素ごとに、当該注目画素に隣接する画素の選択差分値が最小となる仮定奥行値と前記注目画素の仮定奥行値との差に、予め設定された平滑化係数を掛けた値を前記選択差分値に加えることで、前記選択差分値を平滑化する平滑化ステップと、
前記平滑化ステップで平滑化した選択差分値が最小となる前記仮定奥行値を、前記基準映像の各画素の奥行値とする奥行値決定ステップと、
前記基準映像の各画素の奥行値が入力されると共に、前記近傍画素の奥行値を出力する近傍奥行値出力ステップと、
を備えることを特徴とする奥行推定方法。
【請求項12】
予め定めた位置に複数配列したカメラで同一の被写体を撮影した複数のカメラ映像から、前記被写体の奥行きを示す奥行値を推定するために、コンピュータを、
前記複数配列した前記カメラのいずれかにおいて、予め定めた基準カメラで前記被写体を撮影した基準映像と、前記基準カメラに隣接する複数の隣接カメラで前記被写体を撮影した複数の隣接映像とを入力する映像入力手段、
前記映像入力手段に入力された基準映像において、当該基準映像の注目画素の画素値と、前記注目画素に対して左右近傍に位置する近傍画素の画素値とを出力する近傍画素値出力手段、
前記奥行値を仮定した仮定奥行値および前記注目画素ごとに、前記基準映像の注目画素の画素値と、当該注目画素の前記仮定奥行値の視差に対応する画素位置にある前記複数の隣接映像の対応画素の画素値との差分絶対値である対応画素差分値を演算する対応画素差分演算手段、
前記仮定奥行値および前記注目画素ごとに、前記対応画素差分値の平均値である平均差分値と、前記対応画素差分値の最小値である最小差分値を求め、前記注目画素の画素値と前記近傍画素の画素値と前記近傍画素の奥行値とに基づいて、前記最小差分値、前記平均差分値、前記最小差分値または前記平均差分値に所定の加算値を加えた値の何れかを、予め設定した条件により選択差分値として決定する差分値決定手段、
前記仮定奥行値および前記注目画素ごとに、当該注目画素に隣接する画素の選択差分値が最小となる仮定奥行値と前記注目画素の仮定奥行値との差に、予め設定された平滑化係数を掛けた値を前記選択差分値に加えることで、前記選択差分値を平滑化する平滑化手段、
前記平滑化手段が平滑化した選択差分値が最小となる前記仮定奥行値を、前記基準映像の各画素の奥行値とする奥行値決定手段、
前記奥行値決定手段から基準映像の各画素の奥行値が入力されると共に、前記近傍画素の奥行値を前記対応画素差分演算手段および前記差分値決定手段に出力する近傍奥行値出力手段、
として機能させることを特徴とする奥行推定プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【公開番号】特開2011−221932(P2011−221932A)
【公開日】平成23年11月4日(2011.11.4)
【国際特許分類】
【出願番号】特願2010−92826(P2010−92826)
【出願日】平成22年4月14日(2010.4.14)
【出願人】(301022471)独立行政法人情報通信研究機構 (1,071)
【Fターム(参考)】
【公開日】平成23年11月4日(2011.11.4)
【国際特許分類】
【出願日】平成22年4月14日(2010.4.14)
【出願人】(301022471)独立行政法人情報通信研究機構 (1,071)
【Fターム(参考)】
[ Back to top ]