奥行推定装置、奥行推定方法および奥行推定プログラム
【課題】本発明は、被写体が一様なテクスチャを持つため対応点が複数存在する場合や、一部の色が異なる被写体の場合であっても、偽マッチングおよびオクルージョンの有無を正しく判定し、奥行値の誤推定を低減する奥行推定装置を提供する。
【解決手段】奥行推定装置1は、映像入力手段10と、対応画素差分値を演算する対応画素差分演算手段20と、近傍画素の画素値を出力する近傍画素値出力手段30と、近傍画素の奥行値を出力する近傍奥行値出力手段40と、近傍画素の奥行値に対応する近傍奥行対応画素値を出力する近傍奥行対応画素値出力手段50と、最小差分値または平均差分値を選択差分値として決定する差分値決定手段60と、平滑化を行う平滑化手段80と、平滑化差分値の全画素での和が最小となる仮定奥行値を、基準映像の各画素の奥行値とする奥行値決定手段90とを備える。
【解決手段】奥行推定装置1は、映像入力手段10と、対応画素差分値を演算する対応画素差分演算手段20と、近傍画素の画素値を出力する近傍画素値出力手段30と、近傍画素の奥行値を出力する近傍奥行値出力手段40と、近傍画素の奥行値に対応する近傍奥行対応画素値を出力する近傍奥行対応画素値出力手段50と、最小差分値または平均差分値を選択差分値として決定する差分値決定手段60と、平滑化を行う平滑化手段80と、平滑化差分値の全画素での和が最小となる仮定奥行値を、基準映像の各画素の奥行値とする奥行値決定手段90とを備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のカメラで被写体を撮影した映像から、多視点映像用の被写体の奥行値を推定する奥行推定装置、奥行推定方法および奥行推定プログラムに関する。
【背景技術】
【0002】
近年、複数のカメラで同一の被写体を撮影した複数の映像(多視点映像)を用いて、立体映像や自由視点映像を生成、符号化する研究が進められている。これらの立体映像や自由視点映像を生成、符号化する技術では、基本的に、複数のカメラで被写体を撮影したカメラ映像の視差量を利用することで、被写体までの奥行値を求めている(特許文献1等参照)。
【0003】
この特許文献1には、図20に示すように、複数のカメラ(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】
本発明は、前記課題を解決するために創案されたものであり、まず、本願第1発明に係る奥行推定装置は、予め定めた位置に複数配列したカメラで同一の被写体を撮影した複数のカメラ映像から、前記被写体の奥行きを示す奥行値を推定する奥行推定装置であって、映像入力手段と、対応画素差分演算手段と、近傍画素値出力手段と、近傍奥行対応画素値出力手段と、差分値決定手段と、記憶手段と、平滑化手段と、奥行値決定手段と、近傍奥行値出力手段とを備える構成とした。
【0009】
かかる構成において、奥行推定装置は、映像入力手段によって、前記複数配列した前記カメラの何れかにおいて、予め定めた基準カメラで前記被写体を撮影した基準映像と、前記基準カメラ以外の隣接カメラで前記被写体を撮影した複数の隣接映像とを入力する。この隣接映像は、基準映像からの視差を計測するための映像であり、例えば、基準カメラに対して左右に位置する2台の隣接カメラで撮影された映像である。
【0010】
そして、奥行推定装置は、対応画素差分演算手段によって、前記奥行値を仮定した仮定奥行値および前記基準映像の注目画素ごとに、前記注目画素の画素値と、当該注目画素の前記仮定奥行値の視差に対応する画素位置にある前記複数の隣接映像の対応画素の画素値との差分絶対値である対応画素差分値を演算する。この仮定奥行値は、基準映像の画素に対応する被写体の奥行値を仮定した値であって、例えば、最小視差(“0”)から最大視差までの値とする。この対応画素差分演算手段によって、基準映像の注目画素の画素値と、隣接映像の仮定奥行値に対応した対応画素値との差分絶対値が算出される。なお、この差分絶対値(隣接映像の対応画素差分値)は、その値が小さい程、仮定奥行値が実際の被写体において同一の対応点を指し示している可能性が高いと言える。
【0011】
そして、奥行推定装置は、近傍画素値出力手段によって、前記映像入力手段に入力された基準映像において、前記基準映像の注目画素の画素値と、予め定めた近傍画素数だけ前記注目画素から左右に離れた画素位置にある近傍画素の画素値とを出力する。さらに、奥行推定装置は、近傍奥行対応画素値出力手段によって、前記仮定奥行値および前記注目画素ごとに、前記基準映像に対して左右の隣接映像から、前記近傍画素の奥行値の視差に対応する画素位置にある近傍奥行対応画素の画素値を出力する。
【0012】
そして、奥行推定装置は、差分値決定手段によって、前記仮定奥行値および前記注目画素ごとに、前記対応画素差分値の平均値である平均差分値と、前記対応画素差分値の最小値である最小差分値を求め、前記注目画素の画素値と前記近傍画素の画素値と前記近傍画素の奥行値と前記近傍奥行対応画素の画素値とに基づいて、前記最小差分値または前記平均差分値の何れかを、予め定めた条件により選択差分値として決定する。さらに、奥行推定装置は、記憶手段によって、前記差分値決定手段で決定した選択差分値を前記仮定奥行値と前記基準映像の画素位置とに対応付けて記憶する。
【0013】
なお、正しい奥行値に対する選択差分値であれば、その値は小さくなり、ノイズ等によって、ある隣接映像の対応画素差分値が誤った値をとった場合であっても、複数の対応画素差分値を平均化することで、全体として選択差分値が小さくなる。
また、奥行推定装置は、オクルージョンが有ることで、ある対応画素差分値が大きな値となった場合や、一様な被写体のために対応点が複数ある場合であっても、予め定めた条件により、平均差分値と最小差分値とから、最適な値を選択する。つまり、奥行推定装置は、最小差分値、すなわち、オクルージョンが無い側の差分値を、選択差分値として選択する。
【0014】
ここで、被写体のテクスチャが一様な場合や、一部の色が異なる被写体の場合、注目画素と同一の基準映像から取得した近傍画素の画素値や奥行値を利用するだけでは、奥行値の推定精度が低くなってしまう。このため、奥行推定装置は、隣接画像から取得した近傍奥行対応画素を利用する。
【0015】
そして、奥行推定装置は、平滑化手段によって、前記注目画素ごとに、当該注目画素の選択差分値に、当該注目画素に隣接する画素の選択差分値が最小となる仮定奥行値と前記注目画素の選択差分値が最小となる仮定奥行値との差分を重み付け加算することで、前記選択差分値を平滑化した平滑化差分値を演算すると共に、前記平滑化差分値の総和である平滑化評価値を演算する。
これによって、基準映像の全画素で平滑化手段が平滑化を施すため、奥行値が同じ被写体の中では滑らかに変化するようになり、奥行値の誤推定が低減される。
【0016】
そして、奥行推定装置は、奥行値決定手段によって、前記記憶手段に記憶された選択差分値に対応する仮定奥行値を当該仮定奥行値と異なる奥行値が仮定された第2仮定奥行値に代えることで前記平滑化評価値に相当する再計算評価値を演算し、当該再計算評価値が前記平滑化手段によって演算された平滑化評価値未満の場合、前記第2仮定奥行値を前記基準映像の各画素の奥行値として決定し、当該再計算評価値が前記平滑化評価値未満でない場合、前記記憶手段に記憶された選択差分値に対応する仮定奥行値を前記基準映像の各画素の奥行値として決定する。この第2仮定奥行値は、仮定奥行値と同様、基準映像の画素に対応する被写体の奥行値を仮定した値であって、例えば、最小視差量(“0”)から最大視差量までの値とする。
つまり、奥行値決定手段は、既に算出した仮定奥行値の他に、平滑化評価値が最小となる第2仮定奥行値が存在するかを再度演算し、この第2仮定奥行値が存在する場合には第2仮定奥行値を仮定奥行値として決定する。これによって、仮定奥行値がより正確になる。
【0017】
また、本願第2発明に係る奥行推定装置は、前記差分値決定手段が、前記近傍画素同士の奥行値の差分絶対値が予め定めた第1の閾値以下の場合、または、前記近傍画素同士の画素値の差分絶対値が予め定めた第2の閾値以下の場合、前記平均差分値を前記選択差分値として決定することを特徴とする。
【0018】
かかる構成において、奥行推定装置は、差分値決定手段によって、近傍画素の画素値や奥行値の差が小さい場合、注目画素の近傍に前景と背景との境界がないと判定し、平均差分値を選択差分値として選択する。これによって、奥行推定装置は、より正しい選択差分値を選択することができる。
【0019】
また、本願第3発明に係る奥行推定装置は、前記差分値決定手段が、前記近傍画素同士の奥行値の差分絶対値が予め定めた第1の閾値を超え、かつ、前記近傍画素同士の画素値の差分絶対値が予め定めた第2の閾値を越える場合、前記基準映像に対する左右の隣接映像のそれぞれから、前記近傍奥行対応画素の画素値と前記注目画素の画素値との差分絶対値を演算すると共に、左右の前記近傍画素のうち小さい方の奥行値を有する側の前記近傍奥行対応画素の画素値と前記注目画素の画素値との差分絶対値が、当該小さい方と反対側の前記近傍奥行対応画素の画素値と前記注目画素の画素値との差分絶対値より小さい場合、前記最小差分値を前記選択差分値として決定することを特徴とする。
【0020】
かかる構成において、奥行推定装置は、差分値決定手段によって、注目画素の画素値が、反対側の近傍奥行対応画素の画素値より、背景がある側の近傍奥行対応画素の画素値に近い場合、オクルージョンが有ると判定し、最小差分値を選択差分値として選択する。これによって、奥行推定装置は、より正しい選択差分値を選択することができる。
【0021】
また、本願第4発明に係る奥行推定装置は、前記差分値決定手段が、前記近傍画素同士の奥行値の差分絶対値が予め定めた第1の閾値を超え、かつ、前記近傍画素同士の画素値の差分絶対値が予め定めた第2の閾値を越える場合、前記基準映像に対する左右の隣接映像のそれぞれから、前記近傍奥行対応画素の画素値と前記注目画素の画素値との差分絶対値を演算すると共に、左右の前記近傍画素のうち小さい方の奥行値を有する側の前記近傍奥行対応画素の画素値と前記注目画素の画素値との差分絶対値が、当該小さい方と反対側の前記近傍奥行対応画素の画素値と前記注目画素の画素値との差分絶対値より小さくない場合、前記平均差分値を前記選択差分値として決定することを特徴とする。
【0022】
かかる構成において、奥行推定装置は、差分値決定手段によって、注目画素の画素値が、背景がある側の近傍奥行対応画素の画素値より、反対側の近傍奥行対応画素の画素値に近い場合、オクルージョンが無いと判定し、平均差分値を選択差分値として選択する。これによって、奥行推定装置は、より正しい選択差分値を選択することができる。
【0023】
また、本願第5発明に係る奥行推定装置は、前記差分値決定手段が、前記奥行値の推定回数が1回目の場合、前記平均差分値を前記選択差分値として決定し、前記奥行値の推定回数が2回目以降の場合、前記予め定めた条件により前記選択差分値を決定することを特徴とする。
【0024】
かかる構成において、奥行推定装置は、1回目の奥行推定では、平均差分値を選択差分値として決定することで、偽マッチングを防止して、テクスチャが一様の被写体であっても正しい奥行値を推定する。そして、奥行推定装置は、得られた奥行値を用いて2回目以降の奥行推定を行うことで、オクルージョンの有無を正確に判定することができる。
【0025】
また、本願第6発明に係る奥行推定装置は、前記対応画素差分演算手段が、前記基準映像の左右に位置する隣接映像から前記対応画素が外れる場合、前記基準映像に対して、前記対応画素が外れる側の隣接画像に反対側の隣接映像と、当該反対側の隣接映像にさらに隣接する隣接映像とにおいて、前記対応画素の画素値の差分絶対値を前記対応画素差分値として演算することを特徴とする。
【0026】
かかる構成において、奥行推定装置は、対応画素差分演算手段によって、基準映像内の注目画素に対応する対応画素が映像内にある2つの隣接映像を用いて、対応画素差分値を演算する。これによって、奥行推定装置は、偽マッチングを防止することができる。
【0027】
また、本願第7発明に係る奥行推定装置は、前記近傍奥行値出力手段が、前記近傍画素同士の奥行値の差分絶対値が予め定めた閾値(第1の閾値)以下の場合、前記近傍画素数を半分とし、前記注目画素から当該近傍画素数だけ左右に離れた画素位置の近傍画素の奥行値を出力することを特徴とする。
【0028】
かかる構成において、奥行推定装置は、大きな視差量を持つために基準映像内では遠くに離れた被写体であっても、オクルージョンの有無を判定すると共に、オクルージョンが無いと判定された場合であっても、近傍画素までの距離を半分にして、隣接映像でのオクルージョンの有無を再度判定することになる。これによって、奥行推定装置は、左右の幅が狭い被写体(例えば、柱)であっても、隣接映像でのオクルージョンの有無を正しく判定することができる。
【0029】
また、本願第8発明に係る奥行推定方法は、予め定めた位置に複数配列したカメラで同一の被写体を撮影した複数のカメラ映像から、前記被写体の奥行きを示す奥行値を推定する奥行推定方法であって、映像入力ステップと、対応画素差分演算ステップと、差分値決定ステップと、平滑化ステップと、奥行値決定ステップとを備え、差分値決定ステップが、近傍画素値出力ステップと、近傍奥行値出力ステップと、近傍奥行対応画素値出力ステップとを備える手順とした。
【0030】
かかる手順において、奥行推定方法は、映像入力ステップにおいて、映像入力手段が、前記複数配列した前記カメラの何れかにおいて、予め定めた基準カメラで前記被写体を撮影した基準映像と、前記基準カメラ以外の隣接カメラで前記被写体を撮影した複数の隣接映像とを入力する。そして、奥行推定方法は、対応画素差分演算ステップにおいて、対応画素差分演算手段が、前記奥行値を仮定した仮定奥行値および前記基準映像の注目画素ごとに、前記注目画素の画素値と、当該注目画素の前記仮定奥行値の視差に対応する画素位置にある前記複数の隣接映像の対応画素の画素値との差分絶対値である対応画素差分値を演算する。
【0031】
そして、奥行推定方法は、差分値決定ステップにおいて、差分値決定手段が、前記仮定奥行値および前記注目画素ごとに、前記対応画素差分値の平均値である平均差分値と、前記対応画素差分値の最小値である最小差分値を求め、前記注目画素の画素値と前記近傍画素の画素値と前記近傍画素の奥行値と前記近傍奥行対応画素の画素値とに基づいて、前記最小差分値または前記平均差分値の何れかを、予め定めた条件により選択差分値として決定して、当該選択差分値を前記仮定奥行値と前記基準映像の画素位置とに対応付けて記憶手段に書き込む。
【0032】
そして、奥行推定方法は、平滑化ステップにおいて、平滑化手段が、前記注目画素ごとに、当該注目画素の選択差分値に、当該注目画素に隣接する画素の選択差分値が最小となる仮定奥行値と前記注目画素の選択差分値が最小となる仮定奥行値との差分を重み付け加算することで、前記選択差分値を平滑化した平滑化差分値を演算すると共に、前記平滑化差分値の総和である平滑化評価値を演算する。
【0033】
そして、奥行推定方法は、奥行値決定ステップにおいて、奥行値決定手段が、前記記憶手段に記憶された選択差分値に対応する仮定奥行値を当該仮定奥行値と異なる奥行値が仮定された第2仮定奥行値に代えることで前記平滑化評価値に相当する再計算評価値を演算し、当該再計算評価値が前記平滑化手段によって演算された平滑化評価値未満の場合、前記第2仮定奥行値を前記基準映像の各画素の奥行値として決定し、当該再計算評価値が前記平滑化評価値未満でない場合、前記記憶手段に記憶された選択差分値に対応する仮定奥行値を前記基準映像の各画素の奥行値として決定する。
【0034】
そして、奥行推定方法は、近傍奥行値出力ステップにおいて、近傍奥行値出力手段が、前記近傍画素の奥行値を出力する。さらに、奥行推定方法は、近傍画素値出力ステップにおいて、近傍画素値出力手段が、前記基準映像における前記基準映像の注目画素の画素値と、予め定めた近傍画素数だけ前記注目画素から左右に離れた画素位置にある近傍画素の画素値とを出力する。
【0035】
そして、奥行推定方法は、近傍奥行対応画素値出力ステップにおいて、近傍奥行対応画素値出力手段が、前記仮定奥行値および前記注目画素ごとに、前記基準映像に対して左右の隣接映像から、前記近傍画素の奥行値の視差に対応する画素位置にある近傍奥行対応画素の画素値を出力する。
【0036】
また、本願第9発明に係る奥行推定プログラムは、予め定めた位置に複数配列したカメラで同一の被写体を撮影した複数のカメラ映像から、前記被写体の奥行きを示す奥行値を推定するために、コンピュータを、映像入力手段、対応画素差分演算手段、近傍画素値出力手段、近傍奥行対応画素値出力手段、差分値決定手段、平滑化手段、奥行値決定手段、近傍奥行値出力手段として機能させる構成とした。
【0037】
かかる構成において、奥行推定プログラムは、映像入力手段によって、前記複数配列した前記カメラの何れかにおいて、予め定めた基準カメラで前記被写体を撮影した基準映像と、前記基準カメラ以外の隣接カメラで前記被写体を撮影した複数の隣接映像とを入力する。そして、奥行推定プログラムは、対応画素差分演算手段によって、前記奥行値を仮定した仮定奥行値および前記基準映像の注目画素ごとに、前記注目画素の画素値と、当該注目画素の前記仮定奥行値の視差に対応する画素位置にある前記複数の隣接映像の対応画素の画素値との差分絶対値である対応画素差分値を演算する。
【0038】
そして、奥行推定プログラムは、近傍画素値出力手段によって、前記映像入力手段に入力された基準映像において、当該基準映像の注目画素の画素値と、予め定めた近傍画素数だけ前記注目画素から左右に離れた画素位置にある近傍画素の画素値とを出力する。さらに、奥行推定プログラムは、近傍奥行対応画素値出力手段によって、前記仮定奥行値および前記注目画素ごとに、前記基準映像に対して左右の隣接映像から、前記近傍画素の奥行値の視差に対応する画素位置にある近傍奥行対応画素の画素値を出力する。
【0039】
そして、奥行推定プログラムは、差分値決定手段によって、前記仮定奥行値および前記注目画素ごとに、前記対応画素差分値の平均値である平均差分値と、前記対応画素差分値の最小値である最小差分値を求め、前記注目画素の画素値と前記近傍画素の画素値と前記近傍画素の奥行値と前記近傍奥行対応画素の画素値とに基づいて、前記最小差分値または前記平均差分値の何れかを、予め定めた条件により選択差分値として決定して、当該選択差分値を前記仮定奥行値と前記基準映像の画素位置とに対応付けて記憶手段に書き込む。
【0040】
そして、奥行推定プログラムは、平滑化手段によって、前記注目画素ごとに、当該注目画素の選択差分値に、当該注目画素に隣接する画素の選択差分値が最小となる仮定奥行値と前記注目画素の選択差分値が最小となる仮定奥行値との差分を重み付け加算することで、前記選択差分値を平滑化した平滑化差分値を演算すると共に、前記平滑化差分値の総和である平滑化評価値を演算して、当該平滑化差分値を前記仮定奥行値と前記基準映像の画素位置とに対応付けて記憶手段に書き込む。
【0041】
そして、奥行推定プログラムは、奥行値決定手段によって、前記記憶手段に記憶された選択差分値に対応する仮定奥行値を当該仮定奥行値と異なる奥行値が仮定された第2仮定奥行値に代えることで前記平滑化評価値に相当する再計算評価値を演算し、当該再計算評価値が前記平滑化手段によって演算された平滑化評価値未満の場合、前記第2仮定奥行値を前記基準映像の各画素の奥行値として決定し、当該再計算評価値が前記平滑化評価値未満でない場合、前記記憶手段に記憶された選択差分値に対応する仮定奥行値を前記基準映像の各画素の奥行値として決定する。さらに、奥行推定プログラムは、近傍奥行値出力手段によって、前記奥行値決定手段から基準映像の各画素の奥行値が入力されると共に、前記近傍画素の奥行値を前記近傍奥行対応画素値出力手段および前記差分値決定手段に出力する。
【発明の効果】
【0042】
本発明は、以下に示す優れた効果を奏するものである。
本願第1,8,9発明によれば、一部の色が異なる被写体にオクルージョンが有る場合であっても、注目画素の画素値と近傍奥行対応画素の画素値との比較によって、被写体の色の違いにかかわらず、オクルージョンの有無を判定する。オクルージョンが有ると判定された場合、本願第1,8,9発明によれば、最小差分値、すなわち、オクルージョンが無い側の差分値を、選択差分値として正しく選択できる。
【0043】
また、本願第1,8,9発明によれば、テクスチャが一様な被写体のために偽マッチングが生じる場合であっても、注目画素の画素値と近傍奥行対応画素の画素値との比較によって、オクルージョンの有無を判定する。オクルージョンが無いと判定された場合、本願第1,8,9発明によれば、偽マッチングを防止するため、平均差分値を選択差分値として選択する。このように、正しい選択差分値を選択できるため、本願第1,8,9発明によれば、奥行値の誤推定を低減することができる。
【0044】
本願第2発明によれば、注目画素が被写体の境界付近になく、オクルージョンが無い場合、平均差分値を選択差分値として選択することにより、偽マッチングを防止する。これによって、本願第2発明によれば、より正しい選択差分値を選択し、奥行値の推定精度をより向上させることができる。
【0045】
本願第3発明によれば、左右の対応画素でオクルージョンが有る場合、左右の差分絶対値のうち、オクルージョンが無い側の選択差分値を選択する。これによって、本願第3発明によれば、正しい選択差分値を選択し、奥行値の推定精度をより向上させることができる。
【0046】
本願第4発明によれば、注目画素が被写体の境界付近にあっても、隣接映像でオクルージョンが無い場合、平均差分値を選択差分値として選択することにより、偽マッチングを防止する。これによって、本願第3発明によれば、正しい選択差分値を選択し、奥行値の推定精度をより向上させることができる。
【0047】
本願第5発明によれば、1回目の奥行推定では、平均差分値を選択することで、偽マッチングを防止して、テクスチャが一様の被写体であっても正しい奥行値を推定できる。さらに、本願第5発明によれば、この推定した奥行値を用いて、2回目以降の奥行推定を行うことで、オクルージョンの有無を正確に判定することができ、奥行値の推定精度をより向上させることができる。
【0048】
本願第6発明によれば、注目画素が基準映像の端に位置して、左右の隣接映像から対応画素が外れる場合であっても、対応画素が外れない別の隣接映像を用いて、対応画素の差分絶対値を演算する。これによって、本願第6発明によれば、偽マッチングを防止し、奥行値の推定精度をより向上させることができる。
【0049】
本願第7発明によれば、非常に大きな視差を持つ被写体であっても、隣接映像でオクルージョンが有る可能性のある画素位置での近傍奥行対応画素の画素値を調べるので、オクルージョンの有無を正しく判定できる。また、本願第7発明によれば、幅の細い被写体であっても、隣接画素までの距離を変えてオクルージョンの有無を判定するので、この被写体を見逃すことが少ない。このように、本願第7発明によれば、オクルージョンの有無を正しく判定すると共に、非常に大きな視差を持つ被写体を見逃すことが少なく、奥行値の推定精度をより向上させることができる。
【図面の簡単な説明】
【0050】
【図1】本発明の第1実施形態に係る奥行推定システムの構成を示すブロック図である。
【図2】本発明の第1実施形態に係る奥行推定装置の構成を示すブロック図である。
【図3】本発明において、オクルージョンが有るが仮定奥行値が正しい場合において、注目画素と左右の対応画素との関係を説明するための説明図である。
【図4】本発明において、対応画素が左右の隣接映像から外れる場合を説明するための説明図である。
【図5】本発明において、注目画素と近傍画素との関係を説明するための説明図である。
【図6】本発明において、近傍画素の奥行値を説明するための説明図である。
【図7】本発明において、近傍画素の奥行値に対応する近傍奥行対応画素を説明するための説明図である。
【図8】図2の奥行推定装置の全体動作を示すフローチャートである。
【図9】図2の奥行推定装置の対応画素差分演算動作を示すフローチャートである。
【図10】図2の奥行推定装置の差分値決定動作を示すフローチャーである。
【図11】図2の奥行推定装置の近傍奥行値出力動作を示すフローチャーである。
【図12】図2の奥行推定装置の差分値選択動作を示すフローチャーである。
【図13】図2の奥行推定装置の近傍画素値出力動作を示すフローチャーである。
【図14】図2の奥行推定装置の近傍奥行対応画素値出力動作を示すフローチャーである。
【図15】図2の奥行推定装置の平滑化動作を示すフローチャートである。
【図16】図2の奥行推定装置の奥行値決定動作を示すフローチャートである。
【図17】本発明の第2実施形態に係る奥行推定システムの構成を示すブロック図である。
【図18】本発明の第2実施形態に係る奥行推定装置の構成を示すブロック図である。
【図19】図18の奥行推定装置の対応画素差分演算動作を示すフローチャートである。
【図20】従来の奥行推定手法を説明するための説明図である。
【発明を実施するための形態】
【0051】
以下、本発明の各実施形態について、適宜図面を参照しながら詳細に説明する。なお、各実施形態において、同一の機能を有する手段には同一の符号を付し、説明を省略した。
【0052】
(第1実施形態)
[奥行推定システムの全体構成]
以下、本発明の第1実施形態について図面を参照して説明する。
図1を参照して、本発明の第1実施形態に係る奥行推定装置1を含んだ奥行推定システムSの全体構成について説明する。奥行推定システムSは、複数配列したカメラCMで被写体Tを撮影した多視点映像から、被写体Tの奥行値D(図2参照)を推定した奥行映像FZを生成するものである。図1に示した奥行推定システムSは、カメラCM(CLL,CL,CC,CR,CRR)と、奥行推定装置1とを備えている。なお、複数のカメラCLL,CL,CC,CR,CRRをまとめて、カメラCMと記載する。
【0053】
カメラCMは、被写体Tを撮影する一般的な撮影装置である。ここでは、水平方向の視差に応じて奥行値Dを生成することとし、視差の基準となるカメラ(基準カメラ)CCに対し、水平方向に予め定めた距離Lだけ互いに等間隔で離間して、カメラ(隣接カメラ)CLL,CL,CR,CRRを平行に配置している。このカメラCM(CLL,CL,CC,CR,CRR)で撮影された映像(FLL,FL,FC,FR,FRR)は、奥行推定装置1に入力される。
なお、この距離Lは、奥行値Dと視差量とが対応可能な範囲であれば、その距離は任意である。また、被写体Tは、例えば、背景Aおよび前景Bを含んでいる。
【0054】
カメラCCは、視差の基準となる映像(基準映像FC)を撮影するものである。また、カメラCL,CRは、それぞれカメラCCの左右に配置されたカメラであって、基準映像FCとの視差を求めるための映像(隣接映像FL,FR)を撮影するものである。さらに、カメラCRRは、カメラCRの右に配置されたカメラであって、隣接映像FLに代わって対応画素を求めるための隣接映像FRRを撮影するものである。さらに、カメラCLLは、カメラCLの左に配置されたカメラであって、隣接映像FRに代わって対応画素を求めるための隣接映像FLLを撮影するものである。
【0055】
なお、垂直方向の視差に応じて奥行値Dを生成する場合であれば、カメラCMの配置は、垂直方向に離間させて配置すればよい。
また、カメラCMが撮影する映像(FLL,FL,FC,FR,FRR)は、静止画であっても動画であっても構わない。動画である場合、カメラCMは、互いにフレーム同期を行うことで、順次、静止画のフレーム画像として奥行推定装置1に入力されることとする。あるいは、フレーム画像ごとにタイムコードを付加し、奥行推定装置1で同期をとることとしてもよい。
【0056】
奥行推定装置1は、予め定めた位置に複数配列したカメラで同一の被写体を撮影した複数のカメラ映像から、被写体Tの奥行きを示す奥行値を推定するものである。ここでは、奥行推定装置1は、水平方向に配列したカメラCM(CLL,CL,CC,CR,CRR)で被写体Tを撮影したカメラ映像(FLL,FL,FC,FR,FRR)から、被写体Tの奥行きを示す奥行値Dを推定する。なお、ここでは、奥行推定装置1は、奥行値Dを、映像の各画素値に対応付けることで奥行映像FZを生成することとする。
【0057】
[奥行推定装置の構成]
図2を参照して、本発明の第1実施形態に係る奥行推定装置1の構成について説明する(適宜図1参照)。図2に示すように、奥行推定装置1は、映像入力手段10と、対応画素差分演算手段20と、近傍画素値出力手段30と、近傍奥行値出力手段40と、近傍奥行対応画素値出力手段50と、差分値決定手段60と、記憶手段70と、平滑化手段80と、奥行値決定手段90とを備える。
【0058】
映像入力手段10は、カメラCMで撮影された複数のカメラ映像を入力するものである。ここでは、映像入力手段10は、予め定めた基準カメラCCで撮影した基準映像FCと、隣接カメラCLL,CL,CR,CRRで撮影した隣接映像FLL,FL,FR,FRRとを入力する。
この映像入力手段10で入力した各映像(FLL,FL,FC,FR,FRR)は、図示を省略したメモリに記憶され、後記する対応画素差分演算手段20、近傍画素値出力手段30、および、近傍奥行対応画素値出力手段50によって参照されるものとする。
【0059】
ここで、注目画素PCにオクルージョンが有る場合の基準映像FCと左右の隣接映像FL,FRの見え方について説明を補足する。図3に示すように、注目画素PCが、右側の前景Bに接近した背景Aの上にある場合、基準映像FCと隣接映像FLでは注目点PCが見える。その一方、隣接映像FRでは,前景Bに隠れて注目点PCが見えず、代わりに前景B上の対応点PRが見えている。従って、左側の対応画素PLと注目画素PCとの対応画素差分値(マッチング誤差)を選択すれば、正しい対応画素差分値を取得できる。その一方、右側の対応画素PRの対応画素差分値を選択した場合、または、左右の対応画素差分値の平均値を選択した場合、誤った対応画素差分値を取得することになり、奥行値を誤推定してしまう。そこで、奥行推定装置1は、注目画素PCの左右近傍の奥行値と画素値とを調べ、注目画素PCにオクルージョンの有無を判定することにより、マッチング誤差を正しく選択する。
【0060】
以下、図2に戻り、奥行推定装置の構成の説明を続ける(適宜、図3参照)。
対応画素差分演算手段20は、仮定奥行値d(図3参照)および注目画素PCごとに、基準映像FCの注目画素PCの画素値と、当該注目画素PCの仮定奥行値dの視差に対応する隣接映像FL,FRの対応画素PL,PR(図3参照)の画素値との差分絶対値である隣接映像の対応画素差分値ECL,ECRを演算するものである。ここで、隣接映像の対応画素差分値ECLは、基準映像FCと隣接映像FLとの間で演算された差分絶対値であり、隣接映像の対応画素差分値ECRは、基準映像FCと隣接映像FRとの間で演算された差分絶対値である。
【0061】
なお、画素値の差分絶対値は、カメラ映像(FL,FC,FR)が、輝度(輝度値)と色差信号(色差値)との各要素で構成される場合、当該画素の輝度値の差分絶対値と、色差値の差分絶対値とを加算平均した値とする。このとき、色差値の差分絶対値に任意の係数を掛けて、色成分の重みを調整することとしてもよい。
また、画素値の差分絶対値は、カメラ映像(FL,FC,FR)が、RGBのカラー信号で構成される場合、カラー信号の要素であるR値の差分絶対値と、G値の差分絶対値と、B値の差分絶対値とを加算平均した値とする。
【0062】
また、仮定奥行値dは、被写体Tの奥行値Dを仮に設定する値であって、最小視差量から最大視差量DMに対応する奥行値Dまでの値をとる。例えば、奥行値Dを8ビットのデータで表す場合、仮定奥行値dは、“0”(最小視差量)〜“255”(最大視差量)の範囲の値をとる。また、ここでは、対応画素差分演算手段20は、最小視差量(例えば、“0”)から最大視差量(例えば、“255”)に対応する奥行値Dまで、順次、仮定奥行値dを設定し、当該仮定奥行値dの視差に対応する対応画素と間の画素値の差分を対応画素差分値として演算する。また、ここでは、奥行値Dの単位と画素間の視差の単位とを同一とし、奥行値Dが“1”増加することで、1画素ずつ視差が増加することとする。
【0063】
対応画素差分演算手段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)式
【0064】
ここで、図4を参照し、隣接映像FLから対応画素PLが外れる場合、対応画素差分値ECL,ECRの演算方法について説明する(適宜図2参照)。図4に示すように、隣接映像FLから対応画素PLが外れてしまうと、左側の対応画素差分値ECLが求まらず、右側の対応画素差分値ECRのみを用いて、奥行値を推定しなければならない。このとき,注目画素PCの近傍に存在する被写体Tが一様なテクスチャの場合、対応画素差分値ECRは、どの仮定奥行値dでも近似した値となってしまい、正しい奥行値を推定できない。この場合、基準映像FCに対して、対応画素PLが外れた側の隣接映像FLと反対側の右の隣接映像FR,FRRでは、対応画素PR,PRRが外れないと考えられる。そこで、対応画素差分演算手段20は、これら隣接映像FR,FRRの対応画素PR,PRRを用いて、対応画素差分値ECL,ECRを算出する。
【0065】
まず、対応画素差分演算手段20は、隣接映像FL,FRから対応画素PL,PRが外れていないか否かを判定する。具体的には、対応画素差分演算手段20は、注目画素PCのx座標値を仮定奥行値dだけ左に移動させた対応画素PRの画素位置(x−d)が、0以上であるか否かを判定する。つまり、対応画素差分演算手段20は、以下の(2)式によって、対応画素PRが隣接映像FRから外れていないか否かを判定する。
x−d≧0 …(2)式
【0066】
また、対応画素差分演算手段20は、注目画素PCのx座標値を仮定奥行値dだけ右に移動させた対応画素PLの画素位置(x+d)が、予め設定した映像幅(例えば、1920ピクセル)未満であるか否かを判定する。つまり、対応画素差分演算手段20は、以下の(3)式によって、対応画素PLが隣接映像FLから外れていないか否かを判定する。
x+d<映像幅 …(3)式
【0067】
図4の例では、隣接映像FLから対応画素PLが外れているため、(3)式を満たさない。この場合、対応画素差分演算手段20は、以下の(4)式によって、対応画素差分値ECL,ECRを演算する。
ECL(d,x,y)=|PRR(x−2d,y)−PC(x,y)|
ECR(d,x,y)=|PR(x−d,y)−PC(x,y)| …(4)式
【0068】
図示を省略したが、右隣接映像FRから対応画素PRが外れる場合、(2)式を満たさない。この場合、対応画素差分演算手段20は、以下の(5)式によって、対応画素差分値ECL,ECRを演算する。
ECL(d,x,y)=|PL(x+d,y)−PC(x,y)|
ECR(d,x,y)=|PLL(x+2d,y)−PC(x,y)| …(5)式
【0069】
また、対応画素差分演算手段20は、隣接映像FL,FRから対応画素PL,PRが外れていない場合、すなわち、(2)式および(3)式を両方満たす場合、(1)式によって対応画素差分値ECL,ECRを算出する。これによって、奥行推定装置1は、隣接映像FL,FRから対応画素PL,PRが外れる場合でも、反対側の2つの隣接映像FR,FRR,FL,FLLを用いて、対応画素差分値ECL,ECRを算出することができ、奥行値の誤推定を低減することができる。
【0070】
そして、対応画素差分演算手段20は、仮定奥行値d(最小視差量〜最大視差量)ごとの対応画素差分値ECL,ECRを差分値決定手段60に出力する。なお、対応画素差分演算手段20は、演算対象となる注目画素PCの画素位置(x,y)および仮定奥行値dを順次更新して、対応画素差分値ECL,ECRを演算する。
【0071】
以下、図5を参照して、近傍画素値出力手段30を説明する(適宜図2参照)。
近傍画素値出力手段30は、映像入力手段10から基準映像FCを入力し、以下の(6)式によって、注目画素PC(x,y)の画素値PCと、注目画素PC(x,y)から近傍画素数sだけ左に離れた画素位置PC(x−s,y)にある近傍画素の画素値PSLと、注目画素PC(x,y)から近傍画素数sだけ右に離れた画素位置PC(x+s,y)にある近傍画素の画素値PSRとを取得する。
PC=PC(x,y)
PSL=PC(x−s,y)
PSR=PC(x+s,y) …(6)式
【0072】
そして、近傍画素値出力手段30は、注目画素PC(x,y)の画素値PCと、画素位置PC(x−s,y)にある近傍画素の画素値PSLと、画素位置PC(x+s,y)にある近傍画素の画素値PSRとを、差分値決定手段60に出力する。
【0073】
なお、注目画素PCとは、基準映像FCにおいて奥行値Dを推定する対象となっている画素である。
また、近傍画素PSLおよび近傍画素PSRは、図5に示すように、注目画素PCを中心として、半径が近傍画素数sの円周上に位置する画素である。この近傍画素数sは、例えば、正しくオクルージョンの有無が判定できるように、初期値として最大視差量DMに対応する画素数を設定する。なお、以後の各図では、左側の近傍画素を左近傍画素と図示し、右側の近傍画素を右近傍画素と図示することがある。
【0074】
以下、図6を参照して、近傍奥行値出力手段40を説明する。(適宜図2参照)。
近傍奥行値出力手段40は、後記する奥行値決定手段90から各画素の奥行値D(x,y)が入力され、以下の(7)式によって、注目画素PCから近傍画素数sだけ左に離れた近傍画素PSLの奥行値DL=D(x−s,y)と、注目画素PCから近傍画素数sだけ右に離れた近傍画素PSRの奥行値D=DR(x+s,y)とを取得するものである。なお、以後の各図では、近傍画素の奥行値を近傍奥行値と図示し、左側の近傍画素の奥行値を左近傍奥行値と図示し、右側の近傍画素の奥行値を右近傍奥行値と図示することがある。
DL=D(x−s,y)
DR=D(x+s,y) …(7)式
【0075】
また、近傍奥行値出力手段40は、以下の(8)式によって、左奥行値DLと右奥行値DRとの差分絶対値|DL−DR|が、所定の閾値th1を超えるか否かを判定する。なお、閾値th1は、最大視差量DM(例えば、“255”)から最小視差量(例えば、“0”)を引いた値に所定の係数(例えば、“0.2”)を掛けた値として予め設定する。
|DL−DR|>th1 …(8)式
【0076】
差分絶対値|DL−DR|が閾値th1を超えない場合、近傍奥行値出力手段40は、以下の(9)式のように近傍画素数sを半分にして、前記した(7)式より、近傍画素PSLの奥行値DL=D(x−s,y)と、近傍画素PSRの奥行値DR=D(x+s,y)とを再度取得する。なお、(9)式では、“=”は、右辺の値で左辺の値を置き換えることを意味する。
s=s/2 …(9)式
【0077】
そして、近傍奥行値出力手段40は、取得した近傍画素PSLの奥行値DL=D(x−s,y)と、近傍画素PSRの奥行値DR=D(x+s,y)とを、近傍奥行対応画素値出力手段50および差分値決定手段60に出力する。このように、最大視差量DMだけ離れた画素位置の奥行値を求めることで、奥行推定装置1は、隣接映像FL,FRでオクルージョンが有る可能性がある前景Aを正しく判定することができる。つまり、差分値決定手段60は、最大視差量DMを近傍画素数sの初期値として用いるので、オクルージョンが有る可能性のある被写体Tを見逃すことがない。さらに、近傍画素数sを半分にして、奥行値を再度求めることで、奥行推定装置1は、判定が困難であった幅が狭い前景Aであっても、オクルージョンの有無を判定することができる。
【0078】
なお、1回目の奥行推定では、奥行値Dが求められないことになる。この場合、奥行推定装置1は、全ての画素の奥行値Dを初期値(例えば、“0”)に予め設定する。つまり、1回目の奥行推定を行う場合、近傍奥行値出力手段40は、この初期値を奥行値DL,DRとして近傍奥行対応画素値出力手段50および差分値決定手段60に出力する。一方、2回目以降の奥行推定では、近傍奥行値出力手段40は、前回の奥行推定で求めた各画素の奥行値Dが奥行値決定手段90から入力されるので、正しい近傍画素PSLの奥行値DLと、正しい近傍画素PSRの奥行値DRとを出力できる。
【0079】
以下、図7を参照して、近傍奥行対応画素値出力手段50について説明する(適宜図2参照)。なお、以後の各図では、左側の近傍奥行対応画素を左近傍奥行対応画素と図示し、右側の近傍奥行対応画素を右奥行対応画素と図示することがある。
【0080】
近傍奥行対応画素値出力手段50は、映像入力手段10から基準映像FCおよび隣接映像FL,FRが入力され、近傍奥行値出力手段40から近傍画素PSLの奥行値DLおよび近傍画素PSRの奥行値DRが入力される。そして、近傍奥行対応画素値出力手段50は、以下の(10)式によって、左右の隣接映像FL,FRから、奥行値DLの視差に対応する画素位置にある近傍奥行対応画素PL(x+DL,y),PR(x−DL,y)の画素値PLDL,PRDLを算出する。また、近傍奥行対応画素値出力手段50は、(10)式によって、左右の隣接映像FL,FRから、奥行値DRの視差に対応する画素位置にある近傍奥行対応画素PL(x+DR,y),PR(x−DR,y)の画素値PLDR,PRDRを算出する。
PLDL=PL(x+DL,y)
PLDR=PL(x+DR,y)
PRDL=PR(x−DL,y)
PRDR=PR(x−DR,y) …(10)式
【0081】
そして、近傍奥行対応画素値出力手段50は、近傍奥行対応画素PL(x+DL,y),PR(x−DL,y)の画素値PLDL,PRDLと、近傍奥行対応画素PL(x+DR,y),PR(x−DR,y)の画素値PLDR,PRDRとを差分値決定手段60に出力する。
【0082】
以下、図2に戻り、奥行推定装置1の構成について説明を続ける。
差分値決定手段60は、基準映像FCの注目画素PCおよび仮定奥行値dごとに、最小差分値Emと平均差分値Eaとを求めるものである。そして、差分値決定手段60は、求めた最小差分値Em、または平均差分値Eaの何れかを、予め設定された条件により選択差分値として決定する。
【0083】
ここでは、差分値決定手段60は、平均差分値演算手段60aと、最小差分値選択手段60bと、差分値選択手段60cと、を備えている。
【0084】
平均差分値演算手段60aは、基準映像FCの注目画素PCおよび仮定奥行値dごとに、対応画素差分演算手段20から入力された対応画素差分値ECL,ECRの平均値(平均差分値Ea)を演算するものである。
すなわち、平均差分値演算手段60aは、以下の(11)によって、基準映像FCの(x,y)座標の仮定奥行値dに対応する平均差分値Ea(d,x,y)を算出する。
Ea(d,x,y)={ECL(d,x,y)+ECR(d,x,y)}/2
…(11)式
【0085】
そして、平均差分値演算手段60aは、演算により求めた仮定奥行値d(“0”〜最大視差量)ごとの平均差分値Eaを、差分値選択手段60cに出力する。
【0086】
最小差分値選択手段60bは、基準映像FCの注目画素PCおよび仮定奥行値dごとに、対応画素差分演算手段20から入力された対応画素差分値ECL,ECRのうちで、値が小さい方(最小差分値Em)を選択するものである。
すなわち、最小差分値選択手段60bは、以下の(12)式によって、基準映像FCの(x,y)座標の仮定奥行値dに対応する隣接映像の対応画素差分値ECL(d,x,y)と、隣接映像の対応画素差分値ECR(d,x,y)とを比較し、値が小さい方を最小差分値Emとして選択する。なお、式(12)において、minは、“{}”内に記述された対応画素差分値ECL,ECRのうち、値が小さい方を選択する関数である。
Em(d,x,y)=min{ECL(d,x,y),ECR(d,x,y)}
…(12)式
【0087】
そして、最小差分値選択手段60bは、選択した仮定奥行値d(“0”〜最大視差量)ごとの最小差分値Emを、差分値選択手段60cに出力する。
【0088】
差分値選択手段60cは、基準映像FCの注目画素PCおよび仮定奥行値dごとに、近傍画素値出力手段30から入力された注目画素PC(x,y)の画素値PCと、画素位置PC(x−s,y)にある近傍画素の画素値PSLと、画素位置PC(x+s,y)にある近傍画素の画素値PSRと、近傍奥行値出力手段40から入力された近傍画素PSLの奥行値DLと、近傍画素PSRの奥行値DRと,近傍奥行対応画素値出力手段50から入力された近傍奥行対応画素の画素値PLDL,PRDL,PLDR,PRDRとに基づいて、最小差分値選択手段60bから入力された最小差分値Em、または平均差分値演算手段60aから入力された平均差分値Eaの何れかを、選択差分値Eとして選択するものである。
【0089】
まず、差分値選択手段60cは、奥行値Dを推定した回数を示す奥行推定回数nが1回目であるか、2回目以降であるかを判定する。奥行推定回数nが1回目の場合(n=1)、差分値選択手段60cは、以下の(13)式によって、平均差分値Ea(d,x,y)を選択差分値E(d,x,y)として選択する。
E(d,x,y)=Ea(d,x,y) …(13)式
【0090】
奥行推定回数nが2回目以降の場合(n≧2)、差分値選択手段60cは、以下の(14)式によって、左右の近傍画素の奥行値DL,DRの差分絶対値|DL−DR|が閾値th1を超え、かつ、左右の近傍画素PSL,PSRの画素値の差分絶対値ELRが閾値th2を超えるか否かを判定する。なお、閾値th2は、最大画素値(例えば、“255”)に所定の係数(例えば、“0.1”)を掛けた値として予め設定する。
|DL−DR|>th1 AND
ELR=|PSL−PSR|>th2 …(14)式
【0091】
(14)式が成立しない場合、注目画素PCの左右近傍に被写体Tの境界(つまり、背景Aと前景Bとの境界がない可能性が高い。この場合、差分値選択手段60cは、前記した(13)式によって、平均差分値Em(d,x,y)を選択差分値E(d,x,y)として選択し、この選択差分値E(d,x,y)を記憶手段70に書き込む。
【0092】
(14)式が成立する場合、注目画素PCの左右近傍に奥行値と画素値とが大きく異なる被写体Tが存在する可能性が高いため、オクルージョンの有無を調べる必要がある。この場合、差分値選択手段60cは、以下の(15)式によって、奥行値DLが奥行値DR以上であるか否かを判定することにより、左右どちら側に奥行値が小さくなる背景Aがあるかを判定する。
DL≧DR …(15)式
【0093】
(15)式が成立する場合(奥行値DLが奥行値DR以上の場合)、注目画素PCの左側に前景Bがあり、右側に背景Aがある可能性が高い。この場合、差分値選択手段60cは、注目画素PCが背景A上であるかまたは前景B上であるか判定する。ここで、注目画素PCが背景A上であれば、左側の隣接映像FLでオクルージョンが有り、対応画素PLの画素値と注目画素PCの画素値とが大きく異なる。その一方、右側の隣接映像FRではオクルージョンは無く、対応画素PRの画素値と注目画素PCの画素値とが近い値となる。そこで、差分値選択手段60cは、以下の(16)式によって、左右の隣接映像FL,FRにおいて、注目画素PCを背景A側の奥行値DRに相当する画素数だけ左右に移動させた近傍奥行対応画素の画素値PLDR,PRDRと、注目画素の画素値PCとの差分絶対値ELDR,ERDRを算出する。
ELDR=|PLDR−PC|
ERDR=|PRDR−PC| …(16)式
【0094】
そして、差分値選択手段60cは、以下の(17)式によって、差分絶対値ELDRが差分絶対値ERDRを超えたか否かを判定する。
ELDR>ERDR …(17)式
【0095】
(17)式が成立する場合(差分絶対値ELDRが差分絶対値ERDRを超える場合)、左側の隣接映像FLでオクルージョンが有ると言える。この場合、差分値選択手段60cは、以下の(18)式によって、最小差分値Em(d,x,y)を選択差分値E(d,x,y)として選択する。
E(d,x,y)=Em(d,x,y) …(18)式
【0096】
このように、注目画素PCが背景Aと同じ奥行にあると仮定して、左右の隣接映像FL,FRで注目画素PCの見え方を調べることで、オクルージョンの有無を判定する。このとき、奥行推定装置1は、注目画素PCに対応する近傍奥行対応画素PLDR,PRDRを判定に用いるので、一部の色が異なる被写体Tの場合でも、正しくオクルージョンの有無を判定できる。また、奥行推定装置1は、仮定奥行値dに対応した対応画素PL,PRを判定に用いないため、仮定奥行値dが正しくない場合でも、正しくオクルージョンの有無を判定できる。
【0097】
(17)式が成立しない場合(差分絶対値ELDRが差分絶対値ERDRを超えない場合)、オクルージョンが無いと言える。この場合、差分値選択手段60cは、偽マッチングを防止するため、前記(13)式によって、平均差分値Ea(d,x,y)を選択差分値E(d,x,y)として選択する。
【0098】
(15)式が成立しない場合(奥行値DLが奥行値DR以上でない場合)、注目画素PCの左側に背景Aがあり、右側に前景Bがあることになる。この場合、差分値選択手段60cは、以下の(19)式によって、左右の隣接映像FL,FRにおいて、注目画素PCを背景A側の奥行値DLに相当する画素数だけ左右に移動させた近傍奥行対応画素の画素値PLDL,PRDLと、注目画素の画素値PCとの差分絶対値ELDL,ERDLを算出する。
ELDL=|PLDL−PC|
ERDL=|PRDL−PC| …(19)式
【0099】
そして、差分値選択手段60cは、以下の(20)式によって、差分絶対値ERDLが差分絶対値ELDLを超えたか否かを判定する。
ELDL<ERDL …(20)式
【0100】
(20)式が成立する場合(差分絶対値ERDLが差分絶対値ELDLを超える場合)、右側の隣接映像FRでオクルージョンが有ると言える。この場合、差分値選択手段60cは、前記した(18)式によって、最小差分値Em(d,x,y)を選択差分値E(d,x,y)として選択する。
【0101】
(20)式が成立しない場合(差分絶対値ERDLが差分絶対値ELDLを超えない場合)、オクルージョンが無いと言える。この場合、差分値選択手段60cは、偽マッチングを防止するため、前記した(13)式によって、平均差分値Ea(d,x,y)を選択差分値E(d,x,y)として選択する。
【0102】
その後、差分値決定手段60は、選択した選択差分値E(d,x,y)を、仮定奥行値dと基準映像FCの画素位置(x,y)に対応付けて記憶手段70に書き込む。また、差分値決定手段60は、基準映像FCの全ての画素位置において、仮定奥行値dごとの選択差分値E(d,x,y)を記憶手段70に書き込んだ後に、書き込み完了を平滑化手段80に通知する。
【0103】
以上説明したように、差分値決定手段60は、1回目の奥行推定では、常に平均差分値Eaを選択差分値Eとして選択することで、仮定奥行値dが正しくない場合の偽マッチングを防ぐことができる。
【0104】
1回目の奥行推定では平均差分値Eaしか選択しないので、オクルージョンが有る部分において、差分値決定手段60が奥行値を誤推定している可能性がある。そこで、2回目以降の奥行推定では、差分値決定手段60は、オクルージョンが有る部分から離れた位置で推定された近傍画素PSL,PSRの奥行値DL,DRを用いて、オクルージョンの有無を正しく判定する。さらに、差分値決定手段60は、オクルージョンが有る部分では、最小差分値Emを選択差分値Eとして選択することで、1回目の奥行値の誤推定を修正する。これによって、奥行推定装置1は、後記する奥行値決定手段90において、正しい奥行値Dが推定される確率を高くすることができる。
【0105】
さらに、差分値決定手段60は、注目画素PCが前景Bであるか背景Aであるかを、近傍画素PSL,PSRの画素値によって判定せずに、左右の隣接映像FL,FRにおいて、近傍奥行対応画素PLDR,PRDR,PLDL,PRDLによって判定する。これによって、奥行推定装置1は、一部の色が異なる被写体Tの場合でも、注目画素PCが前景Bまたは背景Aのどちらであるかを判定できるので、正しい奥行値Dが推定される確率を高くすることができる。
【0106】
記憶手段70は、差分値決定手段60が選択した選択差分値E(d,x,y)を、仮定奥行値dと基準映像の画素位置(x,y)とに対応付けて記憶するものである。また、記憶手段70は、後記する平滑化手段80が平滑化した平滑化差分値Ev(d,x,y)を、仮定奥行値dと基準映像の画素位置(x,y)とに対応付けて記憶する。例えば、記憶手段70は、磁気メモリや半導体メモリ等の一般的な記憶媒体である。
【0107】
平滑化手段80は、当該画素位置における選択差分値を平滑化するものである。まず、平滑化手段80は、基準映像FCの注目画素PC(画素位置(x,y))ごとに、以下の(21)式によって、注目画素PCの選択差分値E(d,x,y)が最小となる仮定奥行値dを算出する。そして、平滑化手段80は、その仮定奥行値dを、その画素の奥行値Dx,yとする。
Dx,y=D(x,y)=min{E(d,x,y)} …(21)式
【0108】
なお、(21)式に示すように、選択差分値E(d,x,y)は、画素位置(x,y)および仮定奥行値dの関数である。従って、minは、画素位置(x,y)ごとに、選択差分値E(d,x,y)が最小となる仮定奥行値dを選択して返す関数である。そして、この関数minの戻り値D(x,y)をDx,yと簡易に記述する。
【0109】
次に、平滑化手段80は、前記した(21)式によって、注目画素PCと同様、注目画素PCに隣接する画素位置(x+1,y),(x,y+1)の隣接画素の選択差分値が最小となる仮定奥行値Dx+1,y、Dx,y+1を算出する。
【0110】
そして、平滑化手段80は、(22)式によって、注目画素PCの選択差分値E(Dx,y,x,y)に、仮定奥行値Dx+1,y、Dx,y+1と奥行値Dx,yとの差分を重み付け加算することで、選択差分値E(Dx,y,x,y)を平滑化した平滑化差分値Ev(Dx,y,x,y)を算出する。
Ev(Dx,y,x,y)=E(Dx,y,x,y)
+W{|Dx+1,y−Dx,y|+|Dx,y+1−Dx,y|} …(22)式
【0111】
なお、(22)式において、平滑化係数Wは、任意の値(例えば、“2”)に手動で設定する。このとき、平滑化係数Wの値を大きくする程、選択差分値Eが滑らかになるが、被写体Tの境界部分の奥行値を誤推定する可能性が高くなる。このため、平滑化係数Wは、適切な値に設定することが好ましい。さらに、図示を省略した入力手段を介して、外部から平滑化係数Wを入力してもよい。
【0112】
そして、平滑化手段80は、以下の(23)式によって、画素位置(x,y)ごとの平滑化差分値Ev(Dx,y,x,y)を基準映像FCの全画素で総和することで、平滑化評価値Evを算出する。
Ev=Σx,yEv(Dx,y,x,y) …(23)式
【0113】
その後、平滑化手段80は、平滑化した平滑化差分値Ev(Dx,y,x,y)を、仮定奥行値dと基準映像FCの画素位置(x,y)に対応付けて記憶手段70に書き込む。また、平滑化手段80は、基準映像FCの全ての画素位置において、仮定奥行値dごとの平滑化差分値Ev(Dx,y,x,y)を記憶手段70に書き込んだ後に、平滑化完了を奥行値決定手段90に通知する。
【0114】
以上のように、平滑化手段80は、当該画素位置(x,y)における選択差分値E(Dx,y,x,y)を平滑化して、平滑化差分値Ev(Dx,y,x,y)を算出できる。これによって、奥行推定装置1は、隣接する画素間において、選択差分値E(Dx,y,x,y)が最小となる奥行値Dx,yが、オクルージョンまたは偽マッチング等によって互いに異なる場合であっても、滑らかな奥行値を推定することができる。
【0115】
なお、平滑化手段80は、差分値決定手段60から、基準映像FCの全ての画素位置において、全ての仮定奥行値dの選択差分値を書き込んだ旨(書き込み完了)を通知されることで動作を開始する。
【0116】
奥行値決定手段90は、以下の(24)式および(25)式によって、第2仮定奥行値D’(以後、奥行値D’)を最小視差量から最大視差まで変えながら、基準映像FCの画素位置(u,v)ごとに、画素位置(u,v)に対応付けて記憶手段70に記憶されている選択差分値E(D’,u,v)について、再計算評価値Ev’を算出する。なお、この再計算評価値Ev’は、平滑化手段80が平滑化した奥行値Du,vを奥行値D’に代えた平滑化評価値Evに相当する。
Ev’(D’,u,v)=E(D’,u,v)+W{|Du+1,v−D’|
+|Du,v+1−D’|} …(24)式
Ev’=Σx,y,Du,v→D’Ev(Dx,y,x,y) …(25)式
【0117】
すなわち、奥行値決定手段90は、前記した(24)式によって、奥行値D’および注目画素PC(画素位置(u,v))ごとに、選択差分値E(D’,u,v)に、注目画素PCに隣接する隣接画素の奥行値Du+1,v,Du,v+1と、奥行値D’との差分を重み付け加算することで、再計算差分値Ev’(D’,u,v)を算出する。そして、奥行値決定手段90は、前記した(25)式によって、選択差分値E(Dx,y,x,y)の座標(u,v)での奥行値Dx,yを奥行値D’に置き換えたときの平滑化差分値Ev(Dx,y,x,y)を基準映像FCの全画素で総和することで、再計算評価値Ev’を算出する。
【0118】
なお、奥行値Du,vから奥行値D’に代えると、座標(u,v)における平滑化差分値Ev(D’,u,v)の値が代わる他、隣接画素での平滑化評価値Evの平滑化項である奥行値の差も変わる。そこで、(24)式で算出した再計算差分値Ev’(D’,u,v)を総和するのでなく、平滑化差分値Ev(Dx,y,x,y)を総和する(25)式を採用し、計算式が複雑になり過ぎることを防止した。
【0119】
そして、奥行値決定手段90は、以下の(26)式によって、再計算評価値Ev’が平滑化評価値Ev未満であるか否かを判定する。
Ev’<Ev …(26)式
【0120】
再計算評価値Ev’が平滑化評価値Ev未満の場合、奥行値決定手段90は、以下の(27)式によって、平滑化評価値Evの値を再計算評価値Ev’の値で置き換えると共に、画素位置(u,v)の奥行値Du,vの値を奥行値D’の値で置き換える。なお、(27)式では、“=”は、右辺の値で左辺の値を置き換えることを意味する。
Ev=Ev’
Du,v=D’ …(27)式
【0121】
一方、再計算評価値Ev’が平滑化評価値Ev未満でない場合、奥行値決定手段90は、(27)式による置き換えを行わない。なお、奥行値決定手段90は、平滑化手段80から、選択差分値の平滑化が完了した旨(平滑化完了)を通知されることで動作を開始するものとする。
【0122】
このように、奥行値決定手段90は、奥行値D’を0から最大視差まで順に変えながら、基準映像FCの全画素における平滑化評価値Evが小さくなるように、各画素位置(u,v)の奥行値Du,vを代えることで、最適な奥行値Du,vを得ることができる。そして、奥行値決定手段90は、画素位置(u,v)ごとの奥行値Du,vを示す奥行映像FZを出力する。また、奥行値決定手段90は、基準映像FCの画素位置(u,v)ごとの奥行値Du,vを、基準映像FCの各画素の奥行値Dとして近傍奥行値出力手段40に出力する。
【0123】
なお、奥行値D’は、仮定奥行値dと同様、被写体Tの奥行値Dを仮定する値であって、最小視差量から最大視差量までの値をとる。例えば、奥行値Dを8ビットのデータで表す場合、奥行値D’は、“0”〜“255”の範囲の値をとる。
【0124】
以上説明したように、奥行推定装置1は、選択差分値を指標として、被写体Tの奥行値Dを推定することができる。
なお、奥行推定装置1は、1回目の奥行推定で決定した奥行値Dを用いて、2回目以降の奥行推定を行う。そして、奥行推定装置1は、奥行推定を繰返上限回数N回だけ繰り返した後に得られた奥行値Dから奥行映像FZを生成してもよい。なお、繰返上限回数Nは、奥行推定回数nの上限を示しており、任意の値に手動で設定される。
【0125】
[奥行推定装置の動作]
以下、図8〜図16を参照して、図2の奥行推定装置1の動作について説明する(適宜図2参照)。ここでは、図8を参照して、奥行推定装置1の全体動作について説明し、詳細な説明については、図9〜図16を参照して説明を行うことにする。
【0126】
<全体動作>
図8を参照して、奥行推定装置1の全体動作について説明する。
奥行推定装置1は、奥行推定回数n=1とし、全ての画素の奥行値D=0として、初期設定を行う。そして、奥行推定装置1は、映像入力手段10によって、一直線上に等間隔で水平に配置したカメラCM(基準カメラCC、隣接カメラCLL,CL,CR,CRR)より、同一の被写体Tを撮影したカメラ映像(基準映像FC,隣接映像FLL,FL,FR,FRR)を入力する(ステップS1)。
【0127】
奥行推定装置1は、注目画素PCのy座標値およびx座標値を0に初期化し(ステップS2,S3)、仮定奥行値dを0に初期化する(ステップS4)。
【0128】
奥行推定装置1は、対応画素差分演算手段20によって、基準映像FCの注目画素PCの画素値と、当該注目画素PCの仮定奥行値dの視差に対応する隣接映像FL,FRの対応画素PL,PRの画素値との差分絶対値である隣接映像の対応画素差分値ECL,ECRを演算する(ステップS5;対応画素差分演算動作)。このステップS5の動作については、説明を後記する。
【0129】
奥行推定装置1は、差分値決定手段60によって、最小差分値Emまたは平均差分値Eaの何れかを選択差分値として決定する(ステップS6;差分値決定動作)。このステップS6の動作については、説明を後記する。
【0130】
奥行推定装置1は、変数である仮定奥行値d、カメラ映像のx座標値、y座標値を順次加算(インクリメント)する。その後、奥行推定装置1は、仮定奥行値dについては最大視差量になるまでステップS5,S6の動作を繰り返し(ステップS7,S8)、x座標値については映像幅になるまでステップS4〜S6の動作を繰り返し(ステップS9,S10)、y座標値については映像高になるまでステップS3〜S6の動作を繰り返す(ステップS11,S12)。なお、映像高は、映像幅と同様、任意の値に手動で設定される(例えば、1080ピクセル)。
【0131】
奥行推定装置1は、平滑化手段80によって、基準映像FCの全ての画素位置(x,y)ごとに、仮定奥行値dに対応して記憶された選択差分値E(d,x,y)を隣接画素の奥行値で平滑化する(ステップS13;平滑化動作)。このステップS13の動作については、説明を後記する。
【0132】
奥行推定装置1は、奥行値決定手段90によって、基準映像FC全体で、画素位置(x,y)ごとの平滑化差分値の和が最小となる奥行値D(x,y)の組を探索して、基準映像FCの全ての画素位置について奥行値Dを決定する(ステップS14;奥行値決定動作)。このステップS14の動作については、説明を後記する。
【0133】
奥行推定装置1は、奥行推定回数nが繰返上限回数N未満であるか否かを判定する(ステップS15)。奥行推定回数nが繰返上限回数N未満の場合(ステップS15でYes)、奥行推定装置1は、ステップS16の処理に進む。この場合、奥行推定装置1は、奥行推定回数nをインクリメントし(ステップS16)、ステップS2の処理に戻る。
【0134】
一方、奥行推定回数nが繰返上限回数N未満でない場合(ステップS15でNo)、奥行推定装置1は、奥行値決定手段90によって、画素位置ごとの奥行値Dを示す奥行映像FZを出力し(ステップS17)、動作を終了する。以上のように、奥行推定装置1は、ステップS1〜S17の処理によって、複数のカメラ映像から、被写体Tの奥行きを示す奥行値Dを推定することができる。
【0135】
<対応画素差分演算動作>
図9を参照して、対応画素差分演算動作(図8のステップS5)について詳細に説明する。
【0136】
対応画素差分演算手段20は、前記した(2)式によって、対応画素PRが隣接映像FRから外れていないか否かを判定する(ステップS50)。対応画素PRが隣接映像FRから外れていない場合(ステップS50でYes)、対応画素差分演算手段20は、ステップS51の処理に進む。一方、対応画素PRが隣接映像FRから外れている場合(ステップS50でNo)、対応画素差分演算手段20は、ステップS54の処理に進む。
【0137】
対応画素差分演算手段20は、前記した(3)式によって、対応画素PLが隣接映像FLから外れていないか否かを判定する(ステップS51)。対応画素PLが隣接映像FLから外れていない場合(ステップS51でYes)、対応画素差分演算手段20は、ステップS52の処理に進む。一方、対応画素PLが隣接映像FLから外れている場合(ステップS51でNo)、対応画素差分演算手段20は、ステップS53の処理に進む。
【0138】
対応画素差分演算手段20は、前記した(1)式によって、左右の隣接映像FL,FRで仮定奥行値dだけ右もしくは左に移動した対応画素PL,PRの画素値PL(x+d,y),PR(x−d,y)と、注目画素PCの画素値PC(x,y)との対応画素差分値ECL(d,x,y),ECR(d,x,y)を算出する(ステップS52)。
【0139】
対応画素差分演算手段20は、前記した(4)式によって、右側の隣接映像FR,FRRで仮定奥行値dだけ左に移動した対応画素PRR,PRの画素値PRR(x−2d,y),PR(x−d,y)との対応画素差分値ECL(d,x,y),ECR(d,x,y)を算出する(ステップS53)。
【0140】
対応画素差分演算手段20は、前記した(5)式によって、左の隣接映像FL,FLLで仮定奥行値dだけ右に移動した対応画素PL,PLLの画素値PL(x+d,y),PLL(x+2d,y)との対応画素差分値ECL(d,x,y),ECR(d,x,y)を算出する(ステップS54)。
【0141】
すなわち、対応画素差分演算手段20は、対応画素PL,PRが左右の隣接映像FL,FR内にある場合、左右の隣接映像FL,FRを用いて、対応画素差分値ECL,ECRを算出する。また、隣接映像FL,FRの一方から対応画素が外れる場合、対応画素差分演算手段20は、対応画素が外れた側の隣接画像と反対側の2つの隣接映像(右側の隣接映像FR,FRRまたは左の隣接映像FL,FLL)を用いて、対応画素差分値ECL,ECRを算出する。これによって、奥行推定装置1は、2つの対応画素差分値ECL,ECRから最適な選択差分値を決定することができ、正しい奥行値を推定することができる。
【0142】
<差分値決定動作>
図10を参照して、差分値決定動作(図8のステップS6)について詳細に説明する(適宜図2参照)。
【0143】
差分値決定手段60は、差分値選択手段60cによって、奥行推定回数nが1回目であるか、2回目以降であるかを判定する(ステップS60)。奥行推定回数nが1回目の場合(ステップS60でYes)、差分値決定手段60は、ステップS61の処理に進む。一方、奥行推定回数nが2回目以降の場合(ステップS60でNo)、差分値決定手段60は、ステップS62の処理に進む。
【0144】
差分値決定手段60は、平均差分値演算手段60aによって、前記した(11)式で平均差分値Ea(d,x,y)を算出する。そして、差分値決定手段60は、差分値選択手段60cによって、前記した(13)式のように、平均差分値Eaを選択差分値Eとして選択する(ステップS61)。
【0145】
差分値決定手段60は、近傍奥行値出力手段40から、近傍画素PSL,PSRの奥行値DL、DRを取得する(ステップS62;近傍奥行値出力動作)。このステップS62の動作については、説明を後記する。
【0146】
差分値決定手段60は、差分値選択手段60cによって、最小差分値Emまたは平均差分値Eaの何れかを、予め設定された条件に基づいて、選択差分値Eとして選択する(ステップS63;差分値選択動作)。このステップS63の動作については、説明を後記する。
【0147】
<近傍奥行値出力動作>
図11を参照して、近傍奥行値出力手動作(図10のステップS62)について詳細に説明する(適宜図2参照)。
【0148】
近傍奥行値出力手段40は、近傍画素数sを最大視差量DMに設定する(ステップS620)。そして、近傍奥行値出力手段40は、前記した(7)式によって、左右の近傍画素PSL,PSRの奥行値DL,DRを取得する(ステップS621)。
【0149】
近傍奥行値出力手段40は、前記した(8)式によって、左奥行値DLと右奥行値DRとの差分絶対値|DL−DR|が閾値th1を超えるか否かを判定する(ステップS622)。差分絶対値|DL−DR|が閾値th1を超える場合(ステップS622でYes)、近傍奥行値出力手段40は、処理を終了する。一方、差分絶対値|DL−DR|が閾値th1を超えない場合(ステップS622でNo)、近傍奥行値出力手段40は、ステップS623の処理に進む。
【0150】
近傍奥行値出力手段40は、前記した(9)式によって、近傍画素数sを半分する(ステップS623)。そして、近傍奥行値出力手段40は、前記した(7)式によって、近傍画素数sが半分となった近傍画素PSL,PSRの奥行値DL,DRを取得する(ステップS624)。
【0151】
<差分値選択動作>
図12を参照して、差分値選択動作(図10のステップS63)について詳細に説明する(適宜図2参照)。なお、以後の各図では、近傍画素の画素値を近傍画素値と図示することがある。
【0152】
差分値選択手段60cは、近傍画素値出力手段30から、注目画素PCの画素値と、近傍画素PSL,PSRの画素値とを取得する(ステップS630;近傍画素値出力動作)。このステップS630の動作については、説明を後記する。
【0153】
差分値選択手段60cは、前記した(14)式によって、左右の近傍画素PSL,PSRの画素値の差分絶対値ELRを算出し(ステップS631)、差分絶対値|DL−DR|が閾値th1を超え、かつ、差分絶対値ELRが閾値th2を超えるか否かを判定する(ステップS632)。
【0154】
差分絶対値|DL−DR|が閾値th1を超え、かつ、差分絶対値ELRが閾値th2を超える場合(ステップS632でYes)、差分値選択手段60cは、ステップS633の処理に進む。一方、差分絶対値|DL−DR|が閾値th1を超えない場合、または、差分絶対値ELRが閾値th2を超えない場合(ステップS632でNo)、差分値選択手段60cは、ステップS639の処理に進む。
【0155】
差分値選択手段60cは、近傍奥行対応画素値出力手段50から、奥行値DLの視差に対応する画素位置にある近傍奥行対応画素の画素値PLDL,PRDLと、奥行値DRの視差に対応する画素位置にある近傍奥行対応画素の画素値PLDR,PRDRとを取得する(ステップS633;近傍奥行対応画素値出力動作)。このステップS633の動作については、説明を後記する。
【0156】
差分値選択手段60cは、前記した(16)式によって、左右の隣接映像FL,FRにおいて、注目画素PCを背景A側の奥行値DRに相当する画素数だけ左右に移動させた近傍奥行対応画素の画素値PLDR,PRDRと、注目画素の画素値PCとの差分絶対値ELDR,ERDRを算出する。そして、差分値選択手段60cは、前記した(19)式によって、左右の隣接映像FL,FRにおいて、注目画素PCを背景A側の奥行値DLに相当する画素数だけ左右に移動させた近傍奥行対応画素の画素値PLDL,PRDLと、注目画素PCとの画素値の差分絶対値ELDL,ERDLを算出する(ステップS634)。
【0157】
差分値選択手段60cは、前記した(15)式によって、奥行値DLが奥行値DR以上であるか否かを判定することにより、左右どちら側に奥行値が小さくなる背景Aがあるかを判定する(ステップS635)。奥行値DLが奥行値DR以上の場合(ステップS635でYes)、差分値選択手段60cは、ステップS636の処理に進む。一方、奥行値DLが奥行値DR以上でない場合(ステップS635でNo)、差分値選択手段60cは、ステップS637の処理に進む。
【0158】
差分値選択手段60cは、前記した(17)式によって、差分絶対値ELDRが差分絶対値ERDRを超えたか否かを判定することにより、左側の隣接映像FLでオクルージョンの有無を判定する(ステップS636)。差分絶対値ELDRが差分絶対値ERDRを超える場合(ステップS636でYes)、差分値選択手段60cは、ステップS638の処理に進む。一方、差分絶対値ELDRが差分絶対値ERDRを超えない場合(ステップS636でNo)、差分値選択手段60cは、ステップS639の処理に進む。
【0159】
差分値選択手段60cは、前記した(20)式によって、差分絶対値ERDLが差分絶対値ELDLを超えたか否かを判定することにより、右側の隣接映像FRでオクルージョンの有無を判定する(ステップS637)。差分絶対値ERDLが差分絶対値ELDLを超える場合(ステップS637でYes)、差分値選択手段60cは、ステップS638の処理に進む。一方、差分絶対値ERDLが差分絶対値ELDLを超えない場合(ステップS637でNo)、差分値選択手段60cは、ステップS639の処理に進む。
【0160】
差分値選択手段60cは、前記した(12)式および(18)式によって、最小差分値選択手段60bが算出した最小差分値Em(d,x,y)を選択差分値E(d,x,y)として選択する(ステップ638)。
【0161】
差分値選択手段60cは、前記した(11)式および(13)式によって、平均差分値演算手段60aが算出した平均差分値Ea(d,x,y)を選択差分値E(d,x,y)として選択する(ステップ639)。
【0162】
以上のように、差分値選択手段60cは、ステップS630〜S639の処理によって、基準映像の画素位置(x,y)ごとに、複数の仮定奥行値d(“0”〜最大視差量)に対応した選択差分値E(d,x,y)を選択することができる。
【0163】
<近傍画素値出力動作>
図13を参照して、近傍画素値出力手動作(図12のステップS630)について詳細に説明する(適宜図2参照)。
【0164】
近傍画素値出力手段30は、前記した(6)式によって、注目画素PC(x,y)の画素値PCと、注目画素PC(x,y)から近傍画素数sだけ左に離れた画素位置PC(x−s,y)にある近傍画素の画素値PSLと、注目画素PC(x,y)から近傍画素数sだけ右に離れた画素位置PC(x+s,y)にある近傍画素の画素値PSRとを取得する(ステップS6300)。
【0165】
<近傍奥行対応画素値出力動作>
図14を参照して、近傍奥行対応画素値出力手動作(図12のステップS633)について詳細に説明する。
【0166】
近傍奥行対応画素値出力手段50は、前記した(10)式によって、左右の隣接映像FL,FRから、奥行値DLの視差に対応する画素位置にある近傍奥行対応画素PL(x+DL,y),PR(x−DL,y)の画素値PLDL,PRDLを算出する。そして、近傍奥行対応画素値出力手段50は、前記した(10)式によって、左右の隣接映像FL,FRから、奥行値DRの視差に対応する画素位置にある近傍奥行対応画素PL(x+DR,y),PR(x−DR,y)の画素値PLDR,PRDRを算出する(ステップS6330)。
【0167】
<平滑化動作>
図15を参照して、平滑化動作(図8のステップS13)の動作について詳細に説明する。
【0168】
平滑化手段80は、変数として、カメラ映像(基準映像FC)のx座標値およびy座標値を初期化(x=0、y=0)する(ステップS130,S131)。
【0169】
平滑化手段80は、前記した(21)式によって、基準映像FCの注目画素PC(画素位置(x,y))ごとに、注目画素PCの選択差分値E(d,x,y)が最小となる仮定奥行値dを算出する。そして、平滑化手段80は、その仮定奥行値dを,その画素の奥行値Dx,yとする(ステップS132)。
【0170】
平滑化手段80は、変数であるカメラ映像のx座標値、y座標値を順次加算(インクリメント)する。その後、平滑化手段80は、x座標値については映像幅になるまでステップS132の動作を繰り返し(ステップS133,S134)、y座標値については映像高になるまでステップS131,S132の動作を繰り返す(ステップS135,S136)。
【0171】
平滑化手段80は、前記した(21)式によって、注目画素PCに隣接する画素位置(x+1,y),(x,y+1)の隣接画素の選択差分値が最小となる仮定奥行値Dx+1,y、Dx,y+1を算出する。そして、平滑化手段80は、(22)式によって、注目画素PCの選択差分値E(Dx,y,x,y)に、仮定奥行値Dx+1,y、Dx,y+1と奥行値Dx,yとの差分を重み付け加算することで、選択差分値E(Dx,y,x,y)を平滑化した平滑化差分値Ev(Dx,y,x,y)を算出する(ステップS137)。
【0172】
平滑化手段80は、前記した(23)式によって、画素位置(x,y)ごとの平滑化差分値Ev(Dx,y,x,y)を基準映像FCの全画素で総和することで、平滑化評価値Evを算出する(ステップS138)。
【0173】
<奥行値決定動作>
図16を参照して、奥行値決定動作(図8のステップS14)の動作について詳細に説明する。
【0174】
奥行値決定手段90は、全ての画素の奥行値(第2仮定奥行値)D’を初期化し(S140)、注目画素PCのv座標値およびu座標値を0に初期化する(ステップS141,S142)。
【0175】
奥行値決定手段90は、前記した(24)式および(25)式によって、第2の仮定奥行値D’を最小視差量から最大視差量まで変えながら、基準映像FCの画素位置(u,v)ごとに、画素位置(u,v)に対応付けて記憶手段70に記憶されている選択差分値E(D’,u,v)について、平滑化手段80が平滑化した奥行値Du,vを奥行値D’に代えた再計算評価値Ev’を算出する(ステップS143)。
【0176】
奥行値決定手段90は、前記した(26)式によって、再計算評価値Ev’が平滑化評価値Ev未満であるか否かを判定する(ステップS144)。再計算評価値Ev’が平滑化評価値Ev未満の場合(ステップS144でYes)、奥行値決定手段90は、ステップS145の処理に進む。一方、再計算評価値Ev’が平滑化評価値Ev未満でない場合(ステップS144でNo)、奥行値決定手段90は、ステップS146の処理に進む。
【0177】
奥行値決定手段90は、前記した(27)式によって、平滑化評価値Evの値を再計算評価値Ev’の値で置き換えると共に、画素位置(u,v)の奥行値Du,vの値を奥行値D’の値で置き換える(ステップS145)。
【0178】
奥行値決定手段90は、変数である奥行値D’、u座標値、v座標値を順次加算(インクリメント)する。その後、奥行値決定手段90は、u座標値については映像幅になるまでステップS143〜S145の動作を繰り返し(ステップS146,S147)、v座標値については映像高になるまでステップS142〜S145の動作を繰り返し(ステップS148,S149)、奥行値D’については最大視差量になるまでステップS141〜S145の動作を繰り返す(ステップS150,S151)。
【0179】
以上のように、奥行推定装置1は、オクルージョンの有無にかかわらず、注目画素の画素値と、近傍画素の画素値と、近傍画素の奥行値と、この近傍画素の奥行値に対応する近傍奥行対応画素の画素値とに基づいて、平均差分値または最小差分値の何れか最適な方を選択する。これによって、奥行推定装置1は、隣接映像で偽マッチングが発生している場合、平均差分値を選択することにより、より正しい選択差分値から奥行値Dを推定でき、オクルージョンが有る場合、そのときの奥行値Dを推定対象から除くことができる。すなわち、奥行推定装置1は、正確な奥行値Dを推定することができる。
【0180】
第1実施形態では、図1に示すように、5つの映像(FLL,FL,FC,FR,FRR)が奥行推定装置1に入力されることとして説明したが、映像の数はこれに限定されない。以下、第2実施形態として、3つの映像(FL,FC,FRR)から被写体Tの奥行値Dを推定する奥行推定システムSBについて説明する。
【0181】
(第2実施形態)
[奥行推定システムの全体構成]
図17を参照して、本発明の第2実施形態に係る奥行推定装置1Bを含んだ奥行推定システムSBの全体構成について、第1実施形態と異なる点を説明する。
【0182】
図17に示すように、奥行推定システムSBは、カメラCM(CL,CC,CR)と、奥行推定装置1Bとを備えている。すなわち、奥行推定システムSBでは、カメラCL,CRが、カメラCCを左右から挟むように配置されている。そして、カメラCM(CL,CC,CR)で撮影した映像(FL,FC,FRR)が、奥行推定装置1Bに入力される。
【0183】
[奥行推定装置の構成]
図18を参照して、奥行推定装置1Bの構成について、第1実施形態と異なる点を説明する(適宜図17参照)。
【0184】
奥行推定装置1Bは、水平方向に配列したカメラCM(CL,CC,CR)で被写体Tを撮影したカメラ映像(FL,FC,FR)から、被写体Tの奥行きを示す奥行値Dを推定する。このため、奥行推定装置1Bは、映像入力手段10Bと、対応画素差分演算手段20Bと、近傍画素値出力手段30と、近傍奥行値出力手段40と、近傍奥行対応画素値出力手段50と、差分値決定手段60と、記憶手段70と、平滑化手段80と、奥行値決定手段90とを備える。
【0185】
映像入力手段10Bは、カメラCMで撮影された複数のカメラ映像を入力するものである。ここでは、映像入力手段10Bは、基準カメラCCで撮影した基準映像FCと、隣接カメラCL,CRで撮影した隣接映像FL,FRとを入力する。
この映像入力手段10Bで入力した各映像(FL,FC,FR)は、図示を省略したメモリに記憶され、後記する対応画素差分演算手段20B、近傍画素値出力手段30、および、近傍奥行対応画素値出力手段50によって参照されるものとする。
【0186】
対応画素差分演算手段20Bは、前記した(2)式によって、対応画素PRが隣接映像FRから外れていないか否かを判定すると共に、前記した(3)式によって、対応画素PLが隣接映像FLから外れていないか否かを判定する。そして、対応画素差分演算手段20Bは、隣接映像FL,FRから対応画素PL,PRが外れていない場合、すなわち、(2)式および(3)式を両方満たす場合、前記した(1)式によって対応画素差分値ECL,ECRを算出する。
【0187】
右隣接映像FRから対応画素PRが外れる場合、すなわち、(2)式を満たさない場合、対応画素差分演算手段20Bは、以下の(28)式によって、対応画素差分ECRを最大視差量(例えば、“255”)として算出する。
ECL(d,x,y)=|PL(x+d,y)−PC(x,y)|
ECR(d,x,y)=255 …(28)式
【0188】
隣接映像FLから対応画素PLが外れる場合、すなわち、(3)式を満たさない場合、対応画素差分演算手段20Bは、以下の(29)式によって、対応画素差分値ECLを最大視差量(例えば、“255”)として算出する。
ECL(d,x,y)=255
ECR(d,x,y)=|PR(x−d,y)−PC(x,y)| …(29)式
【0189】
[奥行推定装置の動作]
図19を参照して、奥行推定装置1Bの動作として、対応画素差分演算動作(図8のステップS5)を説明する(適宜図18参照)。なお、図19のステップS50〜S52の処理は、図9の各処理と同様のため、説明を省略する。
【0190】
対応画素差分演算手段20Bは、対応画素PLが隣接映像FLから外れている場合(ステップS51でNo)、前記した(29)式によって、対応画素差分値ECLを最大視差量として算出する(ステップS53’)。
【0191】
対応画素差分演算手段20Bは、対応画素PRが隣接映像FRから外れている場合(ステップS50でNo)前記した(28)式によって、対応画素差分値ECRを最大視差量として算出する(ステップS54’)。
【0192】
以上のように、本発明の第2実施形態に係る奥行推定装置1Bは、3つの映像(FL,FC,FR)から、被写体Tの奥行値Dを推定することができる。従って、奥行推定装置1Bは、第1実施形態と同様、奥行値の誤推定を低減することができる。
【0193】
本発明の第2実施形態に係る奥行推定装置1Bの構成および動作について説明したが、本発明は、この実施形態に限定されるものではない。以下、本発明の種々の変形例について説明する。
【0194】
(変形例1:カメラ配置間隔の変形例)
第2実施形態では、被写体を撮影するカメラの設置間隔を等間隔としたが、異なるカメラ間隔としてもよい。
この場合、対応画素差分演算手段20Bは、それぞれの隣接映像FL,FRについて、基準カメラCCからのカメラ間隔ごとに、基準映像FCの画素から、視差に対応する画素の位置をそれぞれ求め、当該画素の画素値と、基準映像FCの画素の画素値との差分絶対値を演算すればよい。例えば、本実施形態では、奥行値Dの単位と画素間の視差の単位とを同一とし、奥行値Dが“1”増加することで、1画素ずつ視差が増加することとしたが、この場合、図17に示したカメラCC,CR間の距離が、カメラCC,CL間の距離の2倍であったとすると、対応画素差分演算手段20Bは、前記(1)式の代わりに、以下の(30)式により差分絶対値を算出すればよい。
ECL(d,x,y)=|PL(x+d,y)−PC(x,y)|
ECR(d,x,y)=|PR(x−2d,y)−PC(x,y)| …(30)式
これによって、奥行推定システム(図17)のカメラ配置の自由度を高めることができる。
【0195】
(変形例2:対応画素差分演算手段の変形例)
また、第2実施形態では、対応画素差分演算手段20Bが、基準映像FCの各画素の画素値と、当該画素の仮定奥行値dの視差に対応する隣接映像FL,FRの各画素の画素値との差分絶対値を演算することとしたが、この差分絶対値は、対応する画素のみでなく、対応画素を中心とするブロック内の画素値の差分絶対値の重み付け平均値を用いることとしてもよい。例えば、対応画素差分演算手段20Bは、前記(1)式の対応画素差分値ECL(d,x,y)を、以下の(31)式により算出する。
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
…(31)式
これによって、ノイズ等によって発生する差分絶対値の誤差を低減することができる。
【0196】
(変形例3:差分値選択手段の変形例)
また、各実施形態では、平均差分値演算手段60aが平均差分値Eaを算出し、最小差分値選択手段60bが最小差分値Emを算出することとして説明したが、本発明は、これに限定されない。例えば、本発明では、差分値選択手段60cが、平均差分値Eaおよび最小差分値Emを算出してもよい。
【0197】
(変形例4:差分値選択手段の変形例)
また、各実施形態では、差分値選択手段60cが、前記した(17)式および(20)式を用いることとして説明したが、本発明は、これに限定されない。例えば、本発明では、差分値選択手段60cが、予め任意の値に設定した倍率kを用いてもよい。
【0198】
具体的には、差分値選択手段60cは、前記した(17)の右辺に倍率kを掛けてから、差分絶対値ELDRが差分絶対値ERDRを超えたか否かを判定する((32式)参照)。
ELDR>k×ERDR …(32)式
【0199】
また、差分値選択手段60cは、前記した(20)式の左辺に倍率kを掛けてから、差分絶対値ERDLが差分絶対値ELDLを超えたか否かを判定する((33式)参照)。
ELDL×k<ERDL …(33)式
これによって、差分値選択手段60cは、オクルージョンの有無をより正確に判定できる。
【0200】
(変形例5:差分値選択動作の変形例)
また、各実施形態では、差分値選択動作(図12参照)において、差分絶対値ELDR,ERDR,ELDL,ERDLを算出してから(ステップS634)、ステップS635以後の処理を実行することとして説明したが、本発明は、これに限定されない。ここで、差分値選択手段60cが、差分値選択動作において、ステップS633までの処理を実行した場合を考える。
【0201】
この場合、差分値選択手段60cは、ステップS635の処理と同様、前記した(15)式によって、奥行値DLが奥行値DR以上であるか否かを判定する。(15)式が成立する場合、差分値選択手段60cは、前記した(16)式によって、近傍奥行対応画素PLDR,PRDRの画素値と、注目画素PCの画素値の差分絶対値ELDR,ERDRを算出する。そして、差分値選択手段60cは、ステップS636以後の処理を実行する。
【0202】
一方、(15)式が成立しない場合、差分値選択手段60cは、前記した(19)式によって、近傍奥行対応画素PLDL,PRDLの画素値と、注目画素PCの画素値の差分絶対値ELDL,ERDLを算出する。
【0203】
このように、差分値選択手段60cは、奥行値DL,DRの大小判定を行ってから、その判定結果に応じて、差分絶対値ELDR,ERDRまたは差分絶対値ELDL,ERDLを算出してもよい。
【0204】
なお、各実施形態では、本発明に係る奥行推定装置を独立した装置として説明したが、これに限定されない。例えば、本発明では、一般的なコンピュータのハードウェア資源を、奥行推定装置の各手段として協調動作させる奥行推定プログラムによって実現することができる。また、この奥行推定プログラムは、通信回線を介して配布したり、CD−ROM等の記録媒体に記録して配布したりすることも可能である。
【符号の説明】
【0205】
1,1B 奥行推定装置
10,10B 映像入力手段
20,20B 対応画素差分演算手段
30 近傍画素値出力手段
40 近傍奥行値出力手段
50 近傍奥行対応画素値出力手段
60 差分値決定手段
60a 平均差分値演算手段
60b 最小差分値選択手段
60c 差分値選択手段
70 記憶手段
80 平滑化手段
90 奥行値決定手段
【技術分野】
【0001】
本発明は、複数のカメラで被写体を撮影した映像から、多視点映像用の被写体の奥行値を推定する奥行推定装置、奥行推定方法および奥行推定プログラムに関する。
【背景技術】
【0002】
近年、複数のカメラで同一の被写体を撮影した複数の映像(多視点映像)を用いて、立体映像や自由視点映像を生成、符号化する研究が進められている。これらの立体映像や自由視点映像を生成、符号化する技術では、基本的に、複数のカメラで被写体を撮影したカメラ映像の視差量を利用することで、被写体までの奥行値を求めている(特許文献1等参照)。
【0003】
この特許文献1には、図20に示すように、複数のカメラ(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】
本発明は、前記課題を解決するために創案されたものであり、まず、本願第1発明に係る奥行推定装置は、予め定めた位置に複数配列したカメラで同一の被写体を撮影した複数のカメラ映像から、前記被写体の奥行きを示す奥行値を推定する奥行推定装置であって、映像入力手段と、対応画素差分演算手段と、近傍画素値出力手段と、近傍奥行対応画素値出力手段と、差分値決定手段と、記憶手段と、平滑化手段と、奥行値決定手段と、近傍奥行値出力手段とを備える構成とした。
【0009】
かかる構成において、奥行推定装置は、映像入力手段によって、前記複数配列した前記カメラの何れかにおいて、予め定めた基準カメラで前記被写体を撮影した基準映像と、前記基準カメラ以外の隣接カメラで前記被写体を撮影した複数の隣接映像とを入力する。この隣接映像は、基準映像からの視差を計測するための映像であり、例えば、基準カメラに対して左右に位置する2台の隣接カメラで撮影された映像である。
【0010】
そして、奥行推定装置は、対応画素差分演算手段によって、前記奥行値を仮定した仮定奥行値および前記基準映像の注目画素ごとに、前記注目画素の画素値と、当該注目画素の前記仮定奥行値の視差に対応する画素位置にある前記複数の隣接映像の対応画素の画素値との差分絶対値である対応画素差分値を演算する。この仮定奥行値は、基準映像の画素に対応する被写体の奥行値を仮定した値であって、例えば、最小視差(“0”)から最大視差までの値とする。この対応画素差分演算手段によって、基準映像の注目画素の画素値と、隣接映像の仮定奥行値に対応した対応画素値との差分絶対値が算出される。なお、この差分絶対値(隣接映像の対応画素差分値)は、その値が小さい程、仮定奥行値が実際の被写体において同一の対応点を指し示している可能性が高いと言える。
【0011】
そして、奥行推定装置は、近傍画素値出力手段によって、前記映像入力手段に入力された基準映像において、前記基準映像の注目画素の画素値と、予め定めた近傍画素数だけ前記注目画素から左右に離れた画素位置にある近傍画素の画素値とを出力する。さらに、奥行推定装置は、近傍奥行対応画素値出力手段によって、前記仮定奥行値および前記注目画素ごとに、前記基準映像に対して左右の隣接映像から、前記近傍画素の奥行値の視差に対応する画素位置にある近傍奥行対応画素の画素値を出力する。
【0012】
そして、奥行推定装置は、差分値決定手段によって、前記仮定奥行値および前記注目画素ごとに、前記対応画素差分値の平均値である平均差分値と、前記対応画素差分値の最小値である最小差分値を求め、前記注目画素の画素値と前記近傍画素の画素値と前記近傍画素の奥行値と前記近傍奥行対応画素の画素値とに基づいて、前記最小差分値または前記平均差分値の何れかを、予め定めた条件により選択差分値として決定する。さらに、奥行推定装置は、記憶手段によって、前記差分値決定手段で決定した選択差分値を前記仮定奥行値と前記基準映像の画素位置とに対応付けて記憶する。
【0013】
なお、正しい奥行値に対する選択差分値であれば、その値は小さくなり、ノイズ等によって、ある隣接映像の対応画素差分値が誤った値をとった場合であっても、複数の対応画素差分値を平均化することで、全体として選択差分値が小さくなる。
また、奥行推定装置は、オクルージョンが有ることで、ある対応画素差分値が大きな値となった場合や、一様な被写体のために対応点が複数ある場合であっても、予め定めた条件により、平均差分値と最小差分値とから、最適な値を選択する。つまり、奥行推定装置は、最小差分値、すなわち、オクルージョンが無い側の差分値を、選択差分値として選択する。
【0014】
ここで、被写体のテクスチャが一様な場合や、一部の色が異なる被写体の場合、注目画素と同一の基準映像から取得した近傍画素の画素値や奥行値を利用するだけでは、奥行値の推定精度が低くなってしまう。このため、奥行推定装置は、隣接画像から取得した近傍奥行対応画素を利用する。
【0015】
そして、奥行推定装置は、平滑化手段によって、前記注目画素ごとに、当該注目画素の選択差分値に、当該注目画素に隣接する画素の選択差分値が最小となる仮定奥行値と前記注目画素の選択差分値が最小となる仮定奥行値との差分を重み付け加算することで、前記選択差分値を平滑化した平滑化差分値を演算すると共に、前記平滑化差分値の総和である平滑化評価値を演算する。
これによって、基準映像の全画素で平滑化手段が平滑化を施すため、奥行値が同じ被写体の中では滑らかに変化するようになり、奥行値の誤推定が低減される。
【0016】
そして、奥行推定装置は、奥行値決定手段によって、前記記憶手段に記憶された選択差分値に対応する仮定奥行値を当該仮定奥行値と異なる奥行値が仮定された第2仮定奥行値に代えることで前記平滑化評価値に相当する再計算評価値を演算し、当該再計算評価値が前記平滑化手段によって演算された平滑化評価値未満の場合、前記第2仮定奥行値を前記基準映像の各画素の奥行値として決定し、当該再計算評価値が前記平滑化評価値未満でない場合、前記記憶手段に記憶された選択差分値に対応する仮定奥行値を前記基準映像の各画素の奥行値として決定する。この第2仮定奥行値は、仮定奥行値と同様、基準映像の画素に対応する被写体の奥行値を仮定した値であって、例えば、最小視差量(“0”)から最大視差量までの値とする。
つまり、奥行値決定手段は、既に算出した仮定奥行値の他に、平滑化評価値が最小となる第2仮定奥行値が存在するかを再度演算し、この第2仮定奥行値が存在する場合には第2仮定奥行値を仮定奥行値として決定する。これによって、仮定奥行値がより正確になる。
【0017】
また、本願第2発明に係る奥行推定装置は、前記差分値決定手段が、前記近傍画素同士の奥行値の差分絶対値が予め定めた第1の閾値以下の場合、または、前記近傍画素同士の画素値の差分絶対値が予め定めた第2の閾値以下の場合、前記平均差分値を前記選択差分値として決定することを特徴とする。
【0018】
かかる構成において、奥行推定装置は、差分値決定手段によって、近傍画素の画素値や奥行値の差が小さい場合、注目画素の近傍に前景と背景との境界がないと判定し、平均差分値を選択差分値として選択する。これによって、奥行推定装置は、より正しい選択差分値を選択することができる。
【0019】
また、本願第3発明に係る奥行推定装置は、前記差分値決定手段が、前記近傍画素同士の奥行値の差分絶対値が予め定めた第1の閾値を超え、かつ、前記近傍画素同士の画素値の差分絶対値が予め定めた第2の閾値を越える場合、前記基準映像に対する左右の隣接映像のそれぞれから、前記近傍奥行対応画素の画素値と前記注目画素の画素値との差分絶対値を演算すると共に、左右の前記近傍画素のうち小さい方の奥行値を有する側の前記近傍奥行対応画素の画素値と前記注目画素の画素値との差分絶対値が、当該小さい方と反対側の前記近傍奥行対応画素の画素値と前記注目画素の画素値との差分絶対値より小さい場合、前記最小差分値を前記選択差分値として決定することを特徴とする。
【0020】
かかる構成において、奥行推定装置は、差分値決定手段によって、注目画素の画素値が、反対側の近傍奥行対応画素の画素値より、背景がある側の近傍奥行対応画素の画素値に近い場合、オクルージョンが有ると判定し、最小差分値を選択差分値として選択する。これによって、奥行推定装置は、より正しい選択差分値を選択することができる。
【0021】
また、本願第4発明に係る奥行推定装置は、前記差分値決定手段が、前記近傍画素同士の奥行値の差分絶対値が予め定めた第1の閾値を超え、かつ、前記近傍画素同士の画素値の差分絶対値が予め定めた第2の閾値を越える場合、前記基準映像に対する左右の隣接映像のそれぞれから、前記近傍奥行対応画素の画素値と前記注目画素の画素値との差分絶対値を演算すると共に、左右の前記近傍画素のうち小さい方の奥行値を有する側の前記近傍奥行対応画素の画素値と前記注目画素の画素値との差分絶対値が、当該小さい方と反対側の前記近傍奥行対応画素の画素値と前記注目画素の画素値との差分絶対値より小さくない場合、前記平均差分値を前記選択差分値として決定することを特徴とする。
【0022】
かかる構成において、奥行推定装置は、差分値決定手段によって、注目画素の画素値が、背景がある側の近傍奥行対応画素の画素値より、反対側の近傍奥行対応画素の画素値に近い場合、オクルージョンが無いと判定し、平均差分値を選択差分値として選択する。これによって、奥行推定装置は、より正しい選択差分値を選択することができる。
【0023】
また、本願第5発明に係る奥行推定装置は、前記差分値決定手段が、前記奥行値の推定回数が1回目の場合、前記平均差分値を前記選択差分値として決定し、前記奥行値の推定回数が2回目以降の場合、前記予め定めた条件により前記選択差分値を決定することを特徴とする。
【0024】
かかる構成において、奥行推定装置は、1回目の奥行推定では、平均差分値を選択差分値として決定することで、偽マッチングを防止して、テクスチャが一様の被写体であっても正しい奥行値を推定する。そして、奥行推定装置は、得られた奥行値を用いて2回目以降の奥行推定を行うことで、オクルージョンの有無を正確に判定することができる。
【0025】
また、本願第6発明に係る奥行推定装置は、前記対応画素差分演算手段が、前記基準映像の左右に位置する隣接映像から前記対応画素が外れる場合、前記基準映像に対して、前記対応画素が外れる側の隣接画像に反対側の隣接映像と、当該反対側の隣接映像にさらに隣接する隣接映像とにおいて、前記対応画素の画素値の差分絶対値を前記対応画素差分値として演算することを特徴とする。
【0026】
かかる構成において、奥行推定装置は、対応画素差分演算手段によって、基準映像内の注目画素に対応する対応画素が映像内にある2つの隣接映像を用いて、対応画素差分値を演算する。これによって、奥行推定装置は、偽マッチングを防止することができる。
【0027】
また、本願第7発明に係る奥行推定装置は、前記近傍奥行値出力手段が、前記近傍画素同士の奥行値の差分絶対値が予め定めた閾値(第1の閾値)以下の場合、前記近傍画素数を半分とし、前記注目画素から当該近傍画素数だけ左右に離れた画素位置の近傍画素の奥行値を出力することを特徴とする。
【0028】
かかる構成において、奥行推定装置は、大きな視差量を持つために基準映像内では遠くに離れた被写体であっても、オクルージョンの有無を判定すると共に、オクルージョンが無いと判定された場合であっても、近傍画素までの距離を半分にして、隣接映像でのオクルージョンの有無を再度判定することになる。これによって、奥行推定装置は、左右の幅が狭い被写体(例えば、柱)であっても、隣接映像でのオクルージョンの有無を正しく判定することができる。
【0029】
また、本願第8発明に係る奥行推定方法は、予め定めた位置に複数配列したカメラで同一の被写体を撮影した複数のカメラ映像から、前記被写体の奥行きを示す奥行値を推定する奥行推定方法であって、映像入力ステップと、対応画素差分演算ステップと、差分値決定ステップと、平滑化ステップと、奥行値決定ステップとを備え、差分値決定ステップが、近傍画素値出力ステップと、近傍奥行値出力ステップと、近傍奥行対応画素値出力ステップとを備える手順とした。
【0030】
かかる手順において、奥行推定方法は、映像入力ステップにおいて、映像入力手段が、前記複数配列した前記カメラの何れかにおいて、予め定めた基準カメラで前記被写体を撮影した基準映像と、前記基準カメラ以外の隣接カメラで前記被写体を撮影した複数の隣接映像とを入力する。そして、奥行推定方法は、対応画素差分演算ステップにおいて、対応画素差分演算手段が、前記奥行値を仮定した仮定奥行値および前記基準映像の注目画素ごとに、前記注目画素の画素値と、当該注目画素の前記仮定奥行値の視差に対応する画素位置にある前記複数の隣接映像の対応画素の画素値との差分絶対値である対応画素差分値を演算する。
【0031】
そして、奥行推定方法は、差分値決定ステップにおいて、差分値決定手段が、前記仮定奥行値および前記注目画素ごとに、前記対応画素差分値の平均値である平均差分値と、前記対応画素差分値の最小値である最小差分値を求め、前記注目画素の画素値と前記近傍画素の画素値と前記近傍画素の奥行値と前記近傍奥行対応画素の画素値とに基づいて、前記最小差分値または前記平均差分値の何れかを、予め定めた条件により選択差分値として決定して、当該選択差分値を前記仮定奥行値と前記基準映像の画素位置とに対応付けて記憶手段に書き込む。
【0032】
そして、奥行推定方法は、平滑化ステップにおいて、平滑化手段が、前記注目画素ごとに、当該注目画素の選択差分値に、当該注目画素に隣接する画素の選択差分値が最小となる仮定奥行値と前記注目画素の選択差分値が最小となる仮定奥行値との差分を重み付け加算することで、前記選択差分値を平滑化した平滑化差分値を演算すると共に、前記平滑化差分値の総和である平滑化評価値を演算する。
【0033】
そして、奥行推定方法は、奥行値決定ステップにおいて、奥行値決定手段が、前記記憶手段に記憶された選択差分値に対応する仮定奥行値を当該仮定奥行値と異なる奥行値が仮定された第2仮定奥行値に代えることで前記平滑化評価値に相当する再計算評価値を演算し、当該再計算評価値が前記平滑化手段によって演算された平滑化評価値未満の場合、前記第2仮定奥行値を前記基準映像の各画素の奥行値として決定し、当該再計算評価値が前記平滑化評価値未満でない場合、前記記憶手段に記憶された選択差分値に対応する仮定奥行値を前記基準映像の各画素の奥行値として決定する。
【0034】
そして、奥行推定方法は、近傍奥行値出力ステップにおいて、近傍奥行値出力手段が、前記近傍画素の奥行値を出力する。さらに、奥行推定方法は、近傍画素値出力ステップにおいて、近傍画素値出力手段が、前記基準映像における前記基準映像の注目画素の画素値と、予め定めた近傍画素数だけ前記注目画素から左右に離れた画素位置にある近傍画素の画素値とを出力する。
【0035】
そして、奥行推定方法は、近傍奥行対応画素値出力ステップにおいて、近傍奥行対応画素値出力手段が、前記仮定奥行値および前記注目画素ごとに、前記基準映像に対して左右の隣接映像から、前記近傍画素の奥行値の視差に対応する画素位置にある近傍奥行対応画素の画素値を出力する。
【0036】
また、本願第9発明に係る奥行推定プログラムは、予め定めた位置に複数配列したカメラで同一の被写体を撮影した複数のカメラ映像から、前記被写体の奥行きを示す奥行値を推定するために、コンピュータを、映像入力手段、対応画素差分演算手段、近傍画素値出力手段、近傍奥行対応画素値出力手段、差分値決定手段、平滑化手段、奥行値決定手段、近傍奥行値出力手段として機能させる構成とした。
【0037】
かかる構成において、奥行推定プログラムは、映像入力手段によって、前記複数配列した前記カメラの何れかにおいて、予め定めた基準カメラで前記被写体を撮影した基準映像と、前記基準カメラ以外の隣接カメラで前記被写体を撮影した複数の隣接映像とを入力する。そして、奥行推定プログラムは、対応画素差分演算手段によって、前記奥行値を仮定した仮定奥行値および前記基準映像の注目画素ごとに、前記注目画素の画素値と、当該注目画素の前記仮定奥行値の視差に対応する画素位置にある前記複数の隣接映像の対応画素の画素値との差分絶対値である対応画素差分値を演算する。
【0038】
そして、奥行推定プログラムは、近傍画素値出力手段によって、前記映像入力手段に入力された基準映像において、当該基準映像の注目画素の画素値と、予め定めた近傍画素数だけ前記注目画素から左右に離れた画素位置にある近傍画素の画素値とを出力する。さらに、奥行推定プログラムは、近傍奥行対応画素値出力手段によって、前記仮定奥行値および前記注目画素ごとに、前記基準映像に対して左右の隣接映像から、前記近傍画素の奥行値の視差に対応する画素位置にある近傍奥行対応画素の画素値を出力する。
【0039】
そして、奥行推定プログラムは、差分値決定手段によって、前記仮定奥行値および前記注目画素ごとに、前記対応画素差分値の平均値である平均差分値と、前記対応画素差分値の最小値である最小差分値を求め、前記注目画素の画素値と前記近傍画素の画素値と前記近傍画素の奥行値と前記近傍奥行対応画素の画素値とに基づいて、前記最小差分値または前記平均差分値の何れかを、予め定めた条件により選択差分値として決定して、当該選択差分値を前記仮定奥行値と前記基準映像の画素位置とに対応付けて記憶手段に書き込む。
【0040】
そして、奥行推定プログラムは、平滑化手段によって、前記注目画素ごとに、当該注目画素の選択差分値に、当該注目画素に隣接する画素の選択差分値が最小となる仮定奥行値と前記注目画素の選択差分値が最小となる仮定奥行値との差分を重み付け加算することで、前記選択差分値を平滑化した平滑化差分値を演算すると共に、前記平滑化差分値の総和である平滑化評価値を演算して、当該平滑化差分値を前記仮定奥行値と前記基準映像の画素位置とに対応付けて記憶手段に書き込む。
【0041】
そして、奥行推定プログラムは、奥行値決定手段によって、前記記憶手段に記憶された選択差分値に対応する仮定奥行値を当該仮定奥行値と異なる奥行値が仮定された第2仮定奥行値に代えることで前記平滑化評価値に相当する再計算評価値を演算し、当該再計算評価値が前記平滑化手段によって演算された平滑化評価値未満の場合、前記第2仮定奥行値を前記基準映像の各画素の奥行値として決定し、当該再計算評価値が前記平滑化評価値未満でない場合、前記記憶手段に記憶された選択差分値に対応する仮定奥行値を前記基準映像の各画素の奥行値として決定する。さらに、奥行推定プログラムは、近傍奥行値出力手段によって、前記奥行値決定手段から基準映像の各画素の奥行値が入力されると共に、前記近傍画素の奥行値を前記近傍奥行対応画素値出力手段および前記差分値決定手段に出力する。
【発明の効果】
【0042】
本発明は、以下に示す優れた効果を奏するものである。
本願第1,8,9発明によれば、一部の色が異なる被写体にオクルージョンが有る場合であっても、注目画素の画素値と近傍奥行対応画素の画素値との比較によって、被写体の色の違いにかかわらず、オクルージョンの有無を判定する。オクルージョンが有ると判定された場合、本願第1,8,9発明によれば、最小差分値、すなわち、オクルージョンが無い側の差分値を、選択差分値として正しく選択できる。
【0043】
また、本願第1,8,9発明によれば、テクスチャが一様な被写体のために偽マッチングが生じる場合であっても、注目画素の画素値と近傍奥行対応画素の画素値との比較によって、オクルージョンの有無を判定する。オクルージョンが無いと判定された場合、本願第1,8,9発明によれば、偽マッチングを防止するため、平均差分値を選択差分値として選択する。このように、正しい選択差分値を選択できるため、本願第1,8,9発明によれば、奥行値の誤推定を低減することができる。
【0044】
本願第2発明によれば、注目画素が被写体の境界付近になく、オクルージョンが無い場合、平均差分値を選択差分値として選択することにより、偽マッチングを防止する。これによって、本願第2発明によれば、より正しい選択差分値を選択し、奥行値の推定精度をより向上させることができる。
【0045】
本願第3発明によれば、左右の対応画素でオクルージョンが有る場合、左右の差分絶対値のうち、オクルージョンが無い側の選択差分値を選択する。これによって、本願第3発明によれば、正しい選択差分値を選択し、奥行値の推定精度をより向上させることができる。
【0046】
本願第4発明によれば、注目画素が被写体の境界付近にあっても、隣接映像でオクルージョンが無い場合、平均差分値を選択差分値として選択することにより、偽マッチングを防止する。これによって、本願第3発明によれば、正しい選択差分値を選択し、奥行値の推定精度をより向上させることができる。
【0047】
本願第5発明によれば、1回目の奥行推定では、平均差分値を選択することで、偽マッチングを防止して、テクスチャが一様の被写体であっても正しい奥行値を推定できる。さらに、本願第5発明によれば、この推定した奥行値を用いて、2回目以降の奥行推定を行うことで、オクルージョンの有無を正確に判定することができ、奥行値の推定精度をより向上させることができる。
【0048】
本願第6発明によれば、注目画素が基準映像の端に位置して、左右の隣接映像から対応画素が外れる場合であっても、対応画素が外れない別の隣接映像を用いて、対応画素の差分絶対値を演算する。これによって、本願第6発明によれば、偽マッチングを防止し、奥行値の推定精度をより向上させることができる。
【0049】
本願第7発明によれば、非常に大きな視差を持つ被写体であっても、隣接映像でオクルージョンが有る可能性のある画素位置での近傍奥行対応画素の画素値を調べるので、オクルージョンの有無を正しく判定できる。また、本願第7発明によれば、幅の細い被写体であっても、隣接画素までの距離を変えてオクルージョンの有無を判定するので、この被写体を見逃すことが少ない。このように、本願第7発明によれば、オクルージョンの有無を正しく判定すると共に、非常に大きな視差を持つ被写体を見逃すことが少なく、奥行値の推定精度をより向上させることができる。
【図面の簡単な説明】
【0050】
【図1】本発明の第1実施形態に係る奥行推定システムの構成を示すブロック図である。
【図2】本発明の第1実施形態に係る奥行推定装置の構成を示すブロック図である。
【図3】本発明において、オクルージョンが有るが仮定奥行値が正しい場合において、注目画素と左右の対応画素との関係を説明するための説明図である。
【図4】本発明において、対応画素が左右の隣接映像から外れる場合を説明するための説明図である。
【図5】本発明において、注目画素と近傍画素との関係を説明するための説明図である。
【図6】本発明において、近傍画素の奥行値を説明するための説明図である。
【図7】本発明において、近傍画素の奥行値に対応する近傍奥行対応画素を説明するための説明図である。
【図8】図2の奥行推定装置の全体動作を示すフローチャートである。
【図9】図2の奥行推定装置の対応画素差分演算動作を示すフローチャートである。
【図10】図2の奥行推定装置の差分値決定動作を示すフローチャーである。
【図11】図2の奥行推定装置の近傍奥行値出力動作を示すフローチャーである。
【図12】図2の奥行推定装置の差分値選択動作を示すフローチャーである。
【図13】図2の奥行推定装置の近傍画素値出力動作を示すフローチャーである。
【図14】図2の奥行推定装置の近傍奥行対応画素値出力動作を示すフローチャーである。
【図15】図2の奥行推定装置の平滑化動作を示すフローチャートである。
【図16】図2の奥行推定装置の奥行値決定動作を示すフローチャートである。
【図17】本発明の第2実施形態に係る奥行推定システムの構成を示すブロック図である。
【図18】本発明の第2実施形態に係る奥行推定装置の構成を示すブロック図である。
【図19】図18の奥行推定装置の対応画素差分演算動作を示すフローチャートである。
【図20】従来の奥行推定手法を説明するための説明図である。
【発明を実施するための形態】
【0051】
以下、本発明の各実施形態について、適宜図面を参照しながら詳細に説明する。なお、各実施形態において、同一の機能を有する手段には同一の符号を付し、説明を省略した。
【0052】
(第1実施形態)
[奥行推定システムの全体構成]
以下、本発明の第1実施形態について図面を参照して説明する。
図1を参照して、本発明の第1実施形態に係る奥行推定装置1を含んだ奥行推定システムSの全体構成について説明する。奥行推定システムSは、複数配列したカメラCMで被写体Tを撮影した多視点映像から、被写体Tの奥行値D(図2参照)を推定した奥行映像FZを生成するものである。図1に示した奥行推定システムSは、カメラCM(CLL,CL,CC,CR,CRR)と、奥行推定装置1とを備えている。なお、複数のカメラCLL,CL,CC,CR,CRRをまとめて、カメラCMと記載する。
【0053】
カメラCMは、被写体Tを撮影する一般的な撮影装置である。ここでは、水平方向の視差に応じて奥行値Dを生成することとし、視差の基準となるカメラ(基準カメラ)CCに対し、水平方向に予め定めた距離Lだけ互いに等間隔で離間して、カメラ(隣接カメラ)CLL,CL,CR,CRRを平行に配置している。このカメラCM(CLL,CL,CC,CR,CRR)で撮影された映像(FLL,FL,FC,FR,FRR)は、奥行推定装置1に入力される。
なお、この距離Lは、奥行値Dと視差量とが対応可能な範囲であれば、その距離は任意である。また、被写体Tは、例えば、背景Aおよび前景Bを含んでいる。
【0054】
カメラCCは、視差の基準となる映像(基準映像FC)を撮影するものである。また、カメラCL,CRは、それぞれカメラCCの左右に配置されたカメラであって、基準映像FCとの視差を求めるための映像(隣接映像FL,FR)を撮影するものである。さらに、カメラCRRは、カメラCRの右に配置されたカメラであって、隣接映像FLに代わって対応画素を求めるための隣接映像FRRを撮影するものである。さらに、カメラCLLは、カメラCLの左に配置されたカメラであって、隣接映像FRに代わって対応画素を求めるための隣接映像FLLを撮影するものである。
【0055】
なお、垂直方向の視差に応じて奥行値Dを生成する場合であれば、カメラCMの配置は、垂直方向に離間させて配置すればよい。
また、カメラCMが撮影する映像(FLL,FL,FC,FR,FRR)は、静止画であっても動画であっても構わない。動画である場合、カメラCMは、互いにフレーム同期を行うことで、順次、静止画のフレーム画像として奥行推定装置1に入力されることとする。あるいは、フレーム画像ごとにタイムコードを付加し、奥行推定装置1で同期をとることとしてもよい。
【0056】
奥行推定装置1は、予め定めた位置に複数配列したカメラで同一の被写体を撮影した複数のカメラ映像から、被写体Tの奥行きを示す奥行値を推定するものである。ここでは、奥行推定装置1は、水平方向に配列したカメラCM(CLL,CL,CC,CR,CRR)で被写体Tを撮影したカメラ映像(FLL,FL,FC,FR,FRR)から、被写体Tの奥行きを示す奥行値Dを推定する。なお、ここでは、奥行推定装置1は、奥行値Dを、映像の各画素値に対応付けることで奥行映像FZを生成することとする。
【0057】
[奥行推定装置の構成]
図2を参照して、本発明の第1実施形態に係る奥行推定装置1の構成について説明する(適宜図1参照)。図2に示すように、奥行推定装置1は、映像入力手段10と、対応画素差分演算手段20と、近傍画素値出力手段30と、近傍奥行値出力手段40と、近傍奥行対応画素値出力手段50と、差分値決定手段60と、記憶手段70と、平滑化手段80と、奥行値決定手段90とを備える。
【0058】
映像入力手段10は、カメラCMで撮影された複数のカメラ映像を入力するものである。ここでは、映像入力手段10は、予め定めた基準カメラCCで撮影した基準映像FCと、隣接カメラCLL,CL,CR,CRRで撮影した隣接映像FLL,FL,FR,FRRとを入力する。
この映像入力手段10で入力した各映像(FLL,FL,FC,FR,FRR)は、図示を省略したメモリに記憶され、後記する対応画素差分演算手段20、近傍画素値出力手段30、および、近傍奥行対応画素値出力手段50によって参照されるものとする。
【0059】
ここで、注目画素PCにオクルージョンが有る場合の基準映像FCと左右の隣接映像FL,FRの見え方について説明を補足する。図3に示すように、注目画素PCが、右側の前景Bに接近した背景Aの上にある場合、基準映像FCと隣接映像FLでは注目点PCが見える。その一方、隣接映像FRでは,前景Bに隠れて注目点PCが見えず、代わりに前景B上の対応点PRが見えている。従って、左側の対応画素PLと注目画素PCとの対応画素差分値(マッチング誤差)を選択すれば、正しい対応画素差分値を取得できる。その一方、右側の対応画素PRの対応画素差分値を選択した場合、または、左右の対応画素差分値の平均値を選択した場合、誤った対応画素差分値を取得することになり、奥行値を誤推定してしまう。そこで、奥行推定装置1は、注目画素PCの左右近傍の奥行値と画素値とを調べ、注目画素PCにオクルージョンの有無を判定することにより、マッチング誤差を正しく選択する。
【0060】
以下、図2に戻り、奥行推定装置の構成の説明を続ける(適宜、図3参照)。
対応画素差分演算手段20は、仮定奥行値d(図3参照)および注目画素PCごとに、基準映像FCの注目画素PCの画素値と、当該注目画素PCの仮定奥行値dの視差に対応する隣接映像FL,FRの対応画素PL,PR(図3参照)の画素値との差分絶対値である隣接映像の対応画素差分値ECL,ECRを演算するものである。ここで、隣接映像の対応画素差分値ECLは、基準映像FCと隣接映像FLとの間で演算された差分絶対値であり、隣接映像の対応画素差分値ECRは、基準映像FCと隣接映像FRとの間で演算された差分絶対値である。
【0061】
なお、画素値の差分絶対値は、カメラ映像(FL,FC,FR)が、輝度(輝度値)と色差信号(色差値)との各要素で構成される場合、当該画素の輝度値の差分絶対値と、色差値の差分絶対値とを加算平均した値とする。このとき、色差値の差分絶対値に任意の係数を掛けて、色成分の重みを調整することとしてもよい。
また、画素値の差分絶対値は、カメラ映像(FL,FC,FR)が、RGBのカラー信号で構成される場合、カラー信号の要素であるR値の差分絶対値と、G値の差分絶対値と、B値の差分絶対値とを加算平均した値とする。
【0062】
また、仮定奥行値dは、被写体Tの奥行値Dを仮に設定する値であって、最小視差量から最大視差量DMに対応する奥行値Dまでの値をとる。例えば、奥行値Dを8ビットのデータで表す場合、仮定奥行値dは、“0”(最小視差量)〜“255”(最大視差量)の範囲の値をとる。また、ここでは、対応画素差分演算手段20は、最小視差量(例えば、“0”)から最大視差量(例えば、“255”)に対応する奥行値Dまで、順次、仮定奥行値dを設定し、当該仮定奥行値dの視差に対応する対応画素と間の画素値の差分を対応画素差分値として演算する。また、ここでは、奥行値Dの単位と画素間の視差の単位とを同一とし、奥行値Dが“1”増加することで、1画素ずつ視差が増加することとする。
【0063】
対応画素差分演算手段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)式
【0064】
ここで、図4を参照し、隣接映像FLから対応画素PLが外れる場合、対応画素差分値ECL,ECRの演算方法について説明する(適宜図2参照)。図4に示すように、隣接映像FLから対応画素PLが外れてしまうと、左側の対応画素差分値ECLが求まらず、右側の対応画素差分値ECRのみを用いて、奥行値を推定しなければならない。このとき,注目画素PCの近傍に存在する被写体Tが一様なテクスチャの場合、対応画素差分値ECRは、どの仮定奥行値dでも近似した値となってしまい、正しい奥行値を推定できない。この場合、基準映像FCに対して、対応画素PLが外れた側の隣接映像FLと反対側の右の隣接映像FR,FRRでは、対応画素PR,PRRが外れないと考えられる。そこで、対応画素差分演算手段20は、これら隣接映像FR,FRRの対応画素PR,PRRを用いて、対応画素差分値ECL,ECRを算出する。
【0065】
まず、対応画素差分演算手段20は、隣接映像FL,FRから対応画素PL,PRが外れていないか否かを判定する。具体的には、対応画素差分演算手段20は、注目画素PCのx座標値を仮定奥行値dだけ左に移動させた対応画素PRの画素位置(x−d)が、0以上であるか否かを判定する。つまり、対応画素差分演算手段20は、以下の(2)式によって、対応画素PRが隣接映像FRから外れていないか否かを判定する。
x−d≧0 …(2)式
【0066】
また、対応画素差分演算手段20は、注目画素PCのx座標値を仮定奥行値dだけ右に移動させた対応画素PLの画素位置(x+d)が、予め設定した映像幅(例えば、1920ピクセル)未満であるか否かを判定する。つまり、対応画素差分演算手段20は、以下の(3)式によって、対応画素PLが隣接映像FLから外れていないか否かを判定する。
x+d<映像幅 …(3)式
【0067】
図4の例では、隣接映像FLから対応画素PLが外れているため、(3)式を満たさない。この場合、対応画素差分演算手段20は、以下の(4)式によって、対応画素差分値ECL,ECRを演算する。
ECL(d,x,y)=|PRR(x−2d,y)−PC(x,y)|
ECR(d,x,y)=|PR(x−d,y)−PC(x,y)| …(4)式
【0068】
図示を省略したが、右隣接映像FRから対応画素PRが外れる場合、(2)式を満たさない。この場合、対応画素差分演算手段20は、以下の(5)式によって、対応画素差分値ECL,ECRを演算する。
ECL(d,x,y)=|PL(x+d,y)−PC(x,y)|
ECR(d,x,y)=|PLL(x+2d,y)−PC(x,y)| …(5)式
【0069】
また、対応画素差分演算手段20は、隣接映像FL,FRから対応画素PL,PRが外れていない場合、すなわち、(2)式および(3)式を両方満たす場合、(1)式によって対応画素差分値ECL,ECRを算出する。これによって、奥行推定装置1は、隣接映像FL,FRから対応画素PL,PRが外れる場合でも、反対側の2つの隣接映像FR,FRR,FL,FLLを用いて、対応画素差分値ECL,ECRを算出することができ、奥行値の誤推定を低減することができる。
【0070】
そして、対応画素差分演算手段20は、仮定奥行値d(最小視差量〜最大視差量)ごとの対応画素差分値ECL,ECRを差分値決定手段60に出力する。なお、対応画素差分演算手段20は、演算対象となる注目画素PCの画素位置(x,y)および仮定奥行値dを順次更新して、対応画素差分値ECL,ECRを演算する。
【0071】
以下、図5を参照して、近傍画素値出力手段30を説明する(適宜図2参照)。
近傍画素値出力手段30は、映像入力手段10から基準映像FCを入力し、以下の(6)式によって、注目画素PC(x,y)の画素値PCと、注目画素PC(x,y)から近傍画素数sだけ左に離れた画素位置PC(x−s,y)にある近傍画素の画素値PSLと、注目画素PC(x,y)から近傍画素数sだけ右に離れた画素位置PC(x+s,y)にある近傍画素の画素値PSRとを取得する。
PC=PC(x,y)
PSL=PC(x−s,y)
PSR=PC(x+s,y) …(6)式
【0072】
そして、近傍画素値出力手段30は、注目画素PC(x,y)の画素値PCと、画素位置PC(x−s,y)にある近傍画素の画素値PSLと、画素位置PC(x+s,y)にある近傍画素の画素値PSRとを、差分値決定手段60に出力する。
【0073】
なお、注目画素PCとは、基準映像FCにおいて奥行値Dを推定する対象となっている画素である。
また、近傍画素PSLおよび近傍画素PSRは、図5に示すように、注目画素PCを中心として、半径が近傍画素数sの円周上に位置する画素である。この近傍画素数sは、例えば、正しくオクルージョンの有無が判定できるように、初期値として最大視差量DMに対応する画素数を設定する。なお、以後の各図では、左側の近傍画素を左近傍画素と図示し、右側の近傍画素を右近傍画素と図示することがある。
【0074】
以下、図6を参照して、近傍奥行値出力手段40を説明する。(適宜図2参照)。
近傍奥行値出力手段40は、後記する奥行値決定手段90から各画素の奥行値D(x,y)が入力され、以下の(7)式によって、注目画素PCから近傍画素数sだけ左に離れた近傍画素PSLの奥行値DL=D(x−s,y)と、注目画素PCから近傍画素数sだけ右に離れた近傍画素PSRの奥行値D=DR(x+s,y)とを取得するものである。なお、以後の各図では、近傍画素の奥行値を近傍奥行値と図示し、左側の近傍画素の奥行値を左近傍奥行値と図示し、右側の近傍画素の奥行値を右近傍奥行値と図示することがある。
DL=D(x−s,y)
DR=D(x+s,y) …(7)式
【0075】
また、近傍奥行値出力手段40は、以下の(8)式によって、左奥行値DLと右奥行値DRとの差分絶対値|DL−DR|が、所定の閾値th1を超えるか否かを判定する。なお、閾値th1は、最大視差量DM(例えば、“255”)から最小視差量(例えば、“0”)を引いた値に所定の係数(例えば、“0.2”)を掛けた値として予め設定する。
|DL−DR|>th1 …(8)式
【0076】
差分絶対値|DL−DR|が閾値th1を超えない場合、近傍奥行値出力手段40は、以下の(9)式のように近傍画素数sを半分にして、前記した(7)式より、近傍画素PSLの奥行値DL=D(x−s,y)と、近傍画素PSRの奥行値DR=D(x+s,y)とを再度取得する。なお、(9)式では、“=”は、右辺の値で左辺の値を置き換えることを意味する。
s=s/2 …(9)式
【0077】
そして、近傍奥行値出力手段40は、取得した近傍画素PSLの奥行値DL=D(x−s,y)と、近傍画素PSRの奥行値DR=D(x+s,y)とを、近傍奥行対応画素値出力手段50および差分値決定手段60に出力する。このように、最大視差量DMだけ離れた画素位置の奥行値を求めることで、奥行推定装置1は、隣接映像FL,FRでオクルージョンが有る可能性がある前景Aを正しく判定することができる。つまり、差分値決定手段60は、最大視差量DMを近傍画素数sの初期値として用いるので、オクルージョンが有る可能性のある被写体Tを見逃すことがない。さらに、近傍画素数sを半分にして、奥行値を再度求めることで、奥行推定装置1は、判定が困難であった幅が狭い前景Aであっても、オクルージョンの有無を判定することができる。
【0078】
なお、1回目の奥行推定では、奥行値Dが求められないことになる。この場合、奥行推定装置1は、全ての画素の奥行値Dを初期値(例えば、“0”)に予め設定する。つまり、1回目の奥行推定を行う場合、近傍奥行値出力手段40は、この初期値を奥行値DL,DRとして近傍奥行対応画素値出力手段50および差分値決定手段60に出力する。一方、2回目以降の奥行推定では、近傍奥行値出力手段40は、前回の奥行推定で求めた各画素の奥行値Dが奥行値決定手段90から入力されるので、正しい近傍画素PSLの奥行値DLと、正しい近傍画素PSRの奥行値DRとを出力できる。
【0079】
以下、図7を参照して、近傍奥行対応画素値出力手段50について説明する(適宜図2参照)。なお、以後の各図では、左側の近傍奥行対応画素を左近傍奥行対応画素と図示し、右側の近傍奥行対応画素を右奥行対応画素と図示することがある。
【0080】
近傍奥行対応画素値出力手段50は、映像入力手段10から基準映像FCおよび隣接映像FL,FRが入力され、近傍奥行値出力手段40から近傍画素PSLの奥行値DLおよび近傍画素PSRの奥行値DRが入力される。そして、近傍奥行対応画素値出力手段50は、以下の(10)式によって、左右の隣接映像FL,FRから、奥行値DLの視差に対応する画素位置にある近傍奥行対応画素PL(x+DL,y),PR(x−DL,y)の画素値PLDL,PRDLを算出する。また、近傍奥行対応画素値出力手段50は、(10)式によって、左右の隣接映像FL,FRから、奥行値DRの視差に対応する画素位置にある近傍奥行対応画素PL(x+DR,y),PR(x−DR,y)の画素値PLDR,PRDRを算出する。
PLDL=PL(x+DL,y)
PLDR=PL(x+DR,y)
PRDL=PR(x−DL,y)
PRDR=PR(x−DR,y) …(10)式
【0081】
そして、近傍奥行対応画素値出力手段50は、近傍奥行対応画素PL(x+DL,y),PR(x−DL,y)の画素値PLDL,PRDLと、近傍奥行対応画素PL(x+DR,y),PR(x−DR,y)の画素値PLDR,PRDRとを差分値決定手段60に出力する。
【0082】
以下、図2に戻り、奥行推定装置1の構成について説明を続ける。
差分値決定手段60は、基準映像FCの注目画素PCおよび仮定奥行値dごとに、最小差分値Emと平均差分値Eaとを求めるものである。そして、差分値決定手段60は、求めた最小差分値Em、または平均差分値Eaの何れかを、予め設定された条件により選択差分値として決定する。
【0083】
ここでは、差分値決定手段60は、平均差分値演算手段60aと、最小差分値選択手段60bと、差分値選択手段60cと、を備えている。
【0084】
平均差分値演算手段60aは、基準映像FCの注目画素PCおよび仮定奥行値dごとに、対応画素差分演算手段20から入力された対応画素差分値ECL,ECRの平均値(平均差分値Ea)を演算するものである。
すなわち、平均差分値演算手段60aは、以下の(11)によって、基準映像FCの(x,y)座標の仮定奥行値dに対応する平均差分値Ea(d,x,y)を算出する。
Ea(d,x,y)={ECL(d,x,y)+ECR(d,x,y)}/2
…(11)式
【0085】
そして、平均差分値演算手段60aは、演算により求めた仮定奥行値d(“0”〜最大視差量)ごとの平均差分値Eaを、差分値選択手段60cに出力する。
【0086】
最小差分値選択手段60bは、基準映像FCの注目画素PCおよび仮定奥行値dごとに、対応画素差分演算手段20から入力された対応画素差分値ECL,ECRのうちで、値が小さい方(最小差分値Em)を選択するものである。
すなわち、最小差分値選択手段60bは、以下の(12)式によって、基準映像FCの(x,y)座標の仮定奥行値dに対応する隣接映像の対応画素差分値ECL(d,x,y)と、隣接映像の対応画素差分値ECR(d,x,y)とを比較し、値が小さい方を最小差分値Emとして選択する。なお、式(12)において、minは、“{}”内に記述された対応画素差分値ECL,ECRのうち、値が小さい方を選択する関数である。
Em(d,x,y)=min{ECL(d,x,y),ECR(d,x,y)}
…(12)式
【0087】
そして、最小差分値選択手段60bは、選択した仮定奥行値d(“0”〜最大視差量)ごとの最小差分値Emを、差分値選択手段60cに出力する。
【0088】
差分値選択手段60cは、基準映像FCの注目画素PCおよび仮定奥行値dごとに、近傍画素値出力手段30から入力された注目画素PC(x,y)の画素値PCと、画素位置PC(x−s,y)にある近傍画素の画素値PSLと、画素位置PC(x+s,y)にある近傍画素の画素値PSRと、近傍奥行値出力手段40から入力された近傍画素PSLの奥行値DLと、近傍画素PSRの奥行値DRと,近傍奥行対応画素値出力手段50から入力された近傍奥行対応画素の画素値PLDL,PRDL,PLDR,PRDRとに基づいて、最小差分値選択手段60bから入力された最小差分値Em、または平均差分値演算手段60aから入力された平均差分値Eaの何れかを、選択差分値Eとして選択するものである。
【0089】
まず、差分値選択手段60cは、奥行値Dを推定した回数を示す奥行推定回数nが1回目であるか、2回目以降であるかを判定する。奥行推定回数nが1回目の場合(n=1)、差分値選択手段60cは、以下の(13)式によって、平均差分値Ea(d,x,y)を選択差分値E(d,x,y)として選択する。
E(d,x,y)=Ea(d,x,y) …(13)式
【0090】
奥行推定回数nが2回目以降の場合(n≧2)、差分値選択手段60cは、以下の(14)式によって、左右の近傍画素の奥行値DL,DRの差分絶対値|DL−DR|が閾値th1を超え、かつ、左右の近傍画素PSL,PSRの画素値の差分絶対値ELRが閾値th2を超えるか否かを判定する。なお、閾値th2は、最大画素値(例えば、“255”)に所定の係数(例えば、“0.1”)を掛けた値として予め設定する。
|DL−DR|>th1 AND
ELR=|PSL−PSR|>th2 …(14)式
【0091】
(14)式が成立しない場合、注目画素PCの左右近傍に被写体Tの境界(つまり、背景Aと前景Bとの境界がない可能性が高い。この場合、差分値選択手段60cは、前記した(13)式によって、平均差分値Em(d,x,y)を選択差分値E(d,x,y)として選択し、この選択差分値E(d,x,y)を記憶手段70に書き込む。
【0092】
(14)式が成立する場合、注目画素PCの左右近傍に奥行値と画素値とが大きく異なる被写体Tが存在する可能性が高いため、オクルージョンの有無を調べる必要がある。この場合、差分値選択手段60cは、以下の(15)式によって、奥行値DLが奥行値DR以上であるか否かを判定することにより、左右どちら側に奥行値が小さくなる背景Aがあるかを判定する。
DL≧DR …(15)式
【0093】
(15)式が成立する場合(奥行値DLが奥行値DR以上の場合)、注目画素PCの左側に前景Bがあり、右側に背景Aがある可能性が高い。この場合、差分値選択手段60cは、注目画素PCが背景A上であるかまたは前景B上であるか判定する。ここで、注目画素PCが背景A上であれば、左側の隣接映像FLでオクルージョンが有り、対応画素PLの画素値と注目画素PCの画素値とが大きく異なる。その一方、右側の隣接映像FRではオクルージョンは無く、対応画素PRの画素値と注目画素PCの画素値とが近い値となる。そこで、差分値選択手段60cは、以下の(16)式によって、左右の隣接映像FL,FRにおいて、注目画素PCを背景A側の奥行値DRに相当する画素数だけ左右に移動させた近傍奥行対応画素の画素値PLDR,PRDRと、注目画素の画素値PCとの差分絶対値ELDR,ERDRを算出する。
ELDR=|PLDR−PC|
ERDR=|PRDR−PC| …(16)式
【0094】
そして、差分値選択手段60cは、以下の(17)式によって、差分絶対値ELDRが差分絶対値ERDRを超えたか否かを判定する。
ELDR>ERDR …(17)式
【0095】
(17)式が成立する場合(差分絶対値ELDRが差分絶対値ERDRを超える場合)、左側の隣接映像FLでオクルージョンが有ると言える。この場合、差分値選択手段60cは、以下の(18)式によって、最小差分値Em(d,x,y)を選択差分値E(d,x,y)として選択する。
E(d,x,y)=Em(d,x,y) …(18)式
【0096】
このように、注目画素PCが背景Aと同じ奥行にあると仮定して、左右の隣接映像FL,FRで注目画素PCの見え方を調べることで、オクルージョンの有無を判定する。このとき、奥行推定装置1は、注目画素PCに対応する近傍奥行対応画素PLDR,PRDRを判定に用いるので、一部の色が異なる被写体Tの場合でも、正しくオクルージョンの有無を判定できる。また、奥行推定装置1は、仮定奥行値dに対応した対応画素PL,PRを判定に用いないため、仮定奥行値dが正しくない場合でも、正しくオクルージョンの有無を判定できる。
【0097】
(17)式が成立しない場合(差分絶対値ELDRが差分絶対値ERDRを超えない場合)、オクルージョンが無いと言える。この場合、差分値選択手段60cは、偽マッチングを防止するため、前記(13)式によって、平均差分値Ea(d,x,y)を選択差分値E(d,x,y)として選択する。
【0098】
(15)式が成立しない場合(奥行値DLが奥行値DR以上でない場合)、注目画素PCの左側に背景Aがあり、右側に前景Bがあることになる。この場合、差分値選択手段60cは、以下の(19)式によって、左右の隣接映像FL,FRにおいて、注目画素PCを背景A側の奥行値DLに相当する画素数だけ左右に移動させた近傍奥行対応画素の画素値PLDL,PRDLと、注目画素の画素値PCとの差分絶対値ELDL,ERDLを算出する。
ELDL=|PLDL−PC|
ERDL=|PRDL−PC| …(19)式
【0099】
そして、差分値選択手段60cは、以下の(20)式によって、差分絶対値ERDLが差分絶対値ELDLを超えたか否かを判定する。
ELDL<ERDL …(20)式
【0100】
(20)式が成立する場合(差分絶対値ERDLが差分絶対値ELDLを超える場合)、右側の隣接映像FRでオクルージョンが有ると言える。この場合、差分値選択手段60cは、前記した(18)式によって、最小差分値Em(d,x,y)を選択差分値E(d,x,y)として選択する。
【0101】
(20)式が成立しない場合(差分絶対値ERDLが差分絶対値ELDLを超えない場合)、オクルージョンが無いと言える。この場合、差分値選択手段60cは、偽マッチングを防止するため、前記した(13)式によって、平均差分値Ea(d,x,y)を選択差分値E(d,x,y)として選択する。
【0102】
その後、差分値決定手段60は、選択した選択差分値E(d,x,y)を、仮定奥行値dと基準映像FCの画素位置(x,y)に対応付けて記憶手段70に書き込む。また、差分値決定手段60は、基準映像FCの全ての画素位置において、仮定奥行値dごとの選択差分値E(d,x,y)を記憶手段70に書き込んだ後に、書き込み完了を平滑化手段80に通知する。
【0103】
以上説明したように、差分値決定手段60は、1回目の奥行推定では、常に平均差分値Eaを選択差分値Eとして選択することで、仮定奥行値dが正しくない場合の偽マッチングを防ぐことができる。
【0104】
1回目の奥行推定では平均差分値Eaしか選択しないので、オクルージョンが有る部分において、差分値決定手段60が奥行値を誤推定している可能性がある。そこで、2回目以降の奥行推定では、差分値決定手段60は、オクルージョンが有る部分から離れた位置で推定された近傍画素PSL,PSRの奥行値DL,DRを用いて、オクルージョンの有無を正しく判定する。さらに、差分値決定手段60は、オクルージョンが有る部分では、最小差分値Emを選択差分値Eとして選択することで、1回目の奥行値の誤推定を修正する。これによって、奥行推定装置1は、後記する奥行値決定手段90において、正しい奥行値Dが推定される確率を高くすることができる。
【0105】
さらに、差分値決定手段60は、注目画素PCが前景Bであるか背景Aであるかを、近傍画素PSL,PSRの画素値によって判定せずに、左右の隣接映像FL,FRにおいて、近傍奥行対応画素PLDR,PRDR,PLDL,PRDLによって判定する。これによって、奥行推定装置1は、一部の色が異なる被写体Tの場合でも、注目画素PCが前景Bまたは背景Aのどちらであるかを判定できるので、正しい奥行値Dが推定される確率を高くすることができる。
【0106】
記憶手段70は、差分値決定手段60が選択した選択差分値E(d,x,y)を、仮定奥行値dと基準映像の画素位置(x,y)とに対応付けて記憶するものである。また、記憶手段70は、後記する平滑化手段80が平滑化した平滑化差分値Ev(d,x,y)を、仮定奥行値dと基準映像の画素位置(x,y)とに対応付けて記憶する。例えば、記憶手段70は、磁気メモリや半導体メモリ等の一般的な記憶媒体である。
【0107】
平滑化手段80は、当該画素位置における選択差分値を平滑化するものである。まず、平滑化手段80は、基準映像FCの注目画素PC(画素位置(x,y))ごとに、以下の(21)式によって、注目画素PCの選択差分値E(d,x,y)が最小となる仮定奥行値dを算出する。そして、平滑化手段80は、その仮定奥行値dを、その画素の奥行値Dx,yとする。
Dx,y=D(x,y)=min{E(d,x,y)} …(21)式
【0108】
なお、(21)式に示すように、選択差分値E(d,x,y)は、画素位置(x,y)および仮定奥行値dの関数である。従って、minは、画素位置(x,y)ごとに、選択差分値E(d,x,y)が最小となる仮定奥行値dを選択して返す関数である。そして、この関数minの戻り値D(x,y)をDx,yと簡易に記述する。
【0109】
次に、平滑化手段80は、前記した(21)式によって、注目画素PCと同様、注目画素PCに隣接する画素位置(x+1,y),(x,y+1)の隣接画素の選択差分値が最小となる仮定奥行値Dx+1,y、Dx,y+1を算出する。
【0110】
そして、平滑化手段80は、(22)式によって、注目画素PCの選択差分値E(Dx,y,x,y)に、仮定奥行値Dx+1,y、Dx,y+1と奥行値Dx,yとの差分を重み付け加算することで、選択差分値E(Dx,y,x,y)を平滑化した平滑化差分値Ev(Dx,y,x,y)を算出する。
Ev(Dx,y,x,y)=E(Dx,y,x,y)
+W{|Dx+1,y−Dx,y|+|Dx,y+1−Dx,y|} …(22)式
【0111】
なお、(22)式において、平滑化係数Wは、任意の値(例えば、“2”)に手動で設定する。このとき、平滑化係数Wの値を大きくする程、選択差分値Eが滑らかになるが、被写体Tの境界部分の奥行値を誤推定する可能性が高くなる。このため、平滑化係数Wは、適切な値に設定することが好ましい。さらに、図示を省略した入力手段を介して、外部から平滑化係数Wを入力してもよい。
【0112】
そして、平滑化手段80は、以下の(23)式によって、画素位置(x,y)ごとの平滑化差分値Ev(Dx,y,x,y)を基準映像FCの全画素で総和することで、平滑化評価値Evを算出する。
Ev=Σx,yEv(Dx,y,x,y) …(23)式
【0113】
その後、平滑化手段80は、平滑化した平滑化差分値Ev(Dx,y,x,y)を、仮定奥行値dと基準映像FCの画素位置(x,y)に対応付けて記憶手段70に書き込む。また、平滑化手段80は、基準映像FCの全ての画素位置において、仮定奥行値dごとの平滑化差分値Ev(Dx,y,x,y)を記憶手段70に書き込んだ後に、平滑化完了を奥行値決定手段90に通知する。
【0114】
以上のように、平滑化手段80は、当該画素位置(x,y)における選択差分値E(Dx,y,x,y)を平滑化して、平滑化差分値Ev(Dx,y,x,y)を算出できる。これによって、奥行推定装置1は、隣接する画素間において、選択差分値E(Dx,y,x,y)が最小となる奥行値Dx,yが、オクルージョンまたは偽マッチング等によって互いに異なる場合であっても、滑らかな奥行値を推定することができる。
【0115】
なお、平滑化手段80は、差分値決定手段60から、基準映像FCの全ての画素位置において、全ての仮定奥行値dの選択差分値を書き込んだ旨(書き込み完了)を通知されることで動作を開始する。
【0116】
奥行値決定手段90は、以下の(24)式および(25)式によって、第2仮定奥行値D’(以後、奥行値D’)を最小視差量から最大視差まで変えながら、基準映像FCの画素位置(u,v)ごとに、画素位置(u,v)に対応付けて記憶手段70に記憶されている選択差分値E(D’,u,v)について、再計算評価値Ev’を算出する。なお、この再計算評価値Ev’は、平滑化手段80が平滑化した奥行値Du,vを奥行値D’に代えた平滑化評価値Evに相当する。
Ev’(D’,u,v)=E(D’,u,v)+W{|Du+1,v−D’|
+|Du,v+1−D’|} …(24)式
Ev’=Σx,y,Du,v→D’Ev(Dx,y,x,y) …(25)式
【0117】
すなわち、奥行値決定手段90は、前記した(24)式によって、奥行値D’および注目画素PC(画素位置(u,v))ごとに、選択差分値E(D’,u,v)に、注目画素PCに隣接する隣接画素の奥行値Du+1,v,Du,v+1と、奥行値D’との差分を重み付け加算することで、再計算差分値Ev’(D’,u,v)を算出する。そして、奥行値決定手段90は、前記した(25)式によって、選択差分値E(Dx,y,x,y)の座標(u,v)での奥行値Dx,yを奥行値D’に置き換えたときの平滑化差分値Ev(Dx,y,x,y)を基準映像FCの全画素で総和することで、再計算評価値Ev’を算出する。
【0118】
なお、奥行値Du,vから奥行値D’に代えると、座標(u,v)における平滑化差分値Ev(D’,u,v)の値が代わる他、隣接画素での平滑化評価値Evの平滑化項である奥行値の差も変わる。そこで、(24)式で算出した再計算差分値Ev’(D’,u,v)を総和するのでなく、平滑化差分値Ev(Dx,y,x,y)を総和する(25)式を採用し、計算式が複雑になり過ぎることを防止した。
【0119】
そして、奥行値決定手段90は、以下の(26)式によって、再計算評価値Ev’が平滑化評価値Ev未満であるか否かを判定する。
Ev’<Ev …(26)式
【0120】
再計算評価値Ev’が平滑化評価値Ev未満の場合、奥行値決定手段90は、以下の(27)式によって、平滑化評価値Evの値を再計算評価値Ev’の値で置き換えると共に、画素位置(u,v)の奥行値Du,vの値を奥行値D’の値で置き換える。なお、(27)式では、“=”は、右辺の値で左辺の値を置き換えることを意味する。
Ev=Ev’
Du,v=D’ …(27)式
【0121】
一方、再計算評価値Ev’が平滑化評価値Ev未満でない場合、奥行値決定手段90は、(27)式による置き換えを行わない。なお、奥行値決定手段90は、平滑化手段80から、選択差分値の平滑化が完了した旨(平滑化完了)を通知されることで動作を開始するものとする。
【0122】
このように、奥行値決定手段90は、奥行値D’を0から最大視差まで順に変えながら、基準映像FCの全画素における平滑化評価値Evが小さくなるように、各画素位置(u,v)の奥行値Du,vを代えることで、最適な奥行値Du,vを得ることができる。そして、奥行値決定手段90は、画素位置(u,v)ごとの奥行値Du,vを示す奥行映像FZを出力する。また、奥行値決定手段90は、基準映像FCの画素位置(u,v)ごとの奥行値Du,vを、基準映像FCの各画素の奥行値Dとして近傍奥行値出力手段40に出力する。
【0123】
なお、奥行値D’は、仮定奥行値dと同様、被写体Tの奥行値Dを仮定する値であって、最小視差量から最大視差量までの値をとる。例えば、奥行値Dを8ビットのデータで表す場合、奥行値D’は、“0”〜“255”の範囲の値をとる。
【0124】
以上説明したように、奥行推定装置1は、選択差分値を指標として、被写体Tの奥行値Dを推定することができる。
なお、奥行推定装置1は、1回目の奥行推定で決定した奥行値Dを用いて、2回目以降の奥行推定を行う。そして、奥行推定装置1は、奥行推定を繰返上限回数N回だけ繰り返した後に得られた奥行値Dから奥行映像FZを生成してもよい。なお、繰返上限回数Nは、奥行推定回数nの上限を示しており、任意の値に手動で設定される。
【0125】
[奥行推定装置の動作]
以下、図8〜図16を参照して、図2の奥行推定装置1の動作について説明する(適宜図2参照)。ここでは、図8を参照して、奥行推定装置1の全体動作について説明し、詳細な説明については、図9〜図16を参照して説明を行うことにする。
【0126】
<全体動作>
図8を参照して、奥行推定装置1の全体動作について説明する。
奥行推定装置1は、奥行推定回数n=1とし、全ての画素の奥行値D=0として、初期設定を行う。そして、奥行推定装置1は、映像入力手段10によって、一直線上に等間隔で水平に配置したカメラCM(基準カメラCC、隣接カメラCLL,CL,CR,CRR)より、同一の被写体Tを撮影したカメラ映像(基準映像FC,隣接映像FLL,FL,FR,FRR)を入力する(ステップS1)。
【0127】
奥行推定装置1は、注目画素PCのy座標値およびx座標値を0に初期化し(ステップS2,S3)、仮定奥行値dを0に初期化する(ステップS4)。
【0128】
奥行推定装置1は、対応画素差分演算手段20によって、基準映像FCの注目画素PCの画素値と、当該注目画素PCの仮定奥行値dの視差に対応する隣接映像FL,FRの対応画素PL,PRの画素値との差分絶対値である隣接映像の対応画素差分値ECL,ECRを演算する(ステップS5;対応画素差分演算動作)。このステップS5の動作については、説明を後記する。
【0129】
奥行推定装置1は、差分値決定手段60によって、最小差分値Emまたは平均差分値Eaの何れかを選択差分値として決定する(ステップS6;差分値決定動作)。このステップS6の動作については、説明を後記する。
【0130】
奥行推定装置1は、変数である仮定奥行値d、カメラ映像のx座標値、y座標値を順次加算(インクリメント)する。その後、奥行推定装置1は、仮定奥行値dについては最大視差量になるまでステップS5,S6の動作を繰り返し(ステップS7,S8)、x座標値については映像幅になるまでステップS4〜S6の動作を繰り返し(ステップS9,S10)、y座標値については映像高になるまでステップS3〜S6の動作を繰り返す(ステップS11,S12)。なお、映像高は、映像幅と同様、任意の値に手動で設定される(例えば、1080ピクセル)。
【0131】
奥行推定装置1は、平滑化手段80によって、基準映像FCの全ての画素位置(x,y)ごとに、仮定奥行値dに対応して記憶された選択差分値E(d,x,y)を隣接画素の奥行値で平滑化する(ステップS13;平滑化動作)。このステップS13の動作については、説明を後記する。
【0132】
奥行推定装置1は、奥行値決定手段90によって、基準映像FC全体で、画素位置(x,y)ごとの平滑化差分値の和が最小となる奥行値D(x,y)の組を探索して、基準映像FCの全ての画素位置について奥行値Dを決定する(ステップS14;奥行値決定動作)。このステップS14の動作については、説明を後記する。
【0133】
奥行推定装置1は、奥行推定回数nが繰返上限回数N未満であるか否かを判定する(ステップS15)。奥行推定回数nが繰返上限回数N未満の場合(ステップS15でYes)、奥行推定装置1は、ステップS16の処理に進む。この場合、奥行推定装置1は、奥行推定回数nをインクリメントし(ステップS16)、ステップS2の処理に戻る。
【0134】
一方、奥行推定回数nが繰返上限回数N未満でない場合(ステップS15でNo)、奥行推定装置1は、奥行値決定手段90によって、画素位置ごとの奥行値Dを示す奥行映像FZを出力し(ステップS17)、動作を終了する。以上のように、奥行推定装置1は、ステップS1〜S17の処理によって、複数のカメラ映像から、被写体Tの奥行きを示す奥行値Dを推定することができる。
【0135】
<対応画素差分演算動作>
図9を参照して、対応画素差分演算動作(図8のステップS5)について詳細に説明する。
【0136】
対応画素差分演算手段20は、前記した(2)式によって、対応画素PRが隣接映像FRから外れていないか否かを判定する(ステップS50)。対応画素PRが隣接映像FRから外れていない場合(ステップS50でYes)、対応画素差分演算手段20は、ステップS51の処理に進む。一方、対応画素PRが隣接映像FRから外れている場合(ステップS50でNo)、対応画素差分演算手段20は、ステップS54の処理に進む。
【0137】
対応画素差分演算手段20は、前記した(3)式によって、対応画素PLが隣接映像FLから外れていないか否かを判定する(ステップS51)。対応画素PLが隣接映像FLから外れていない場合(ステップS51でYes)、対応画素差分演算手段20は、ステップS52の処理に進む。一方、対応画素PLが隣接映像FLから外れている場合(ステップS51でNo)、対応画素差分演算手段20は、ステップS53の処理に進む。
【0138】
対応画素差分演算手段20は、前記した(1)式によって、左右の隣接映像FL,FRで仮定奥行値dだけ右もしくは左に移動した対応画素PL,PRの画素値PL(x+d,y),PR(x−d,y)と、注目画素PCの画素値PC(x,y)との対応画素差分値ECL(d,x,y),ECR(d,x,y)を算出する(ステップS52)。
【0139】
対応画素差分演算手段20は、前記した(4)式によって、右側の隣接映像FR,FRRで仮定奥行値dだけ左に移動した対応画素PRR,PRの画素値PRR(x−2d,y),PR(x−d,y)との対応画素差分値ECL(d,x,y),ECR(d,x,y)を算出する(ステップS53)。
【0140】
対応画素差分演算手段20は、前記した(5)式によって、左の隣接映像FL,FLLで仮定奥行値dだけ右に移動した対応画素PL,PLLの画素値PL(x+d,y),PLL(x+2d,y)との対応画素差分値ECL(d,x,y),ECR(d,x,y)を算出する(ステップS54)。
【0141】
すなわち、対応画素差分演算手段20は、対応画素PL,PRが左右の隣接映像FL,FR内にある場合、左右の隣接映像FL,FRを用いて、対応画素差分値ECL,ECRを算出する。また、隣接映像FL,FRの一方から対応画素が外れる場合、対応画素差分演算手段20は、対応画素が外れた側の隣接画像と反対側の2つの隣接映像(右側の隣接映像FR,FRRまたは左の隣接映像FL,FLL)を用いて、対応画素差分値ECL,ECRを算出する。これによって、奥行推定装置1は、2つの対応画素差分値ECL,ECRから最適な選択差分値を決定することができ、正しい奥行値を推定することができる。
【0142】
<差分値決定動作>
図10を参照して、差分値決定動作(図8のステップS6)について詳細に説明する(適宜図2参照)。
【0143】
差分値決定手段60は、差分値選択手段60cによって、奥行推定回数nが1回目であるか、2回目以降であるかを判定する(ステップS60)。奥行推定回数nが1回目の場合(ステップS60でYes)、差分値決定手段60は、ステップS61の処理に進む。一方、奥行推定回数nが2回目以降の場合(ステップS60でNo)、差分値決定手段60は、ステップS62の処理に進む。
【0144】
差分値決定手段60は、平均差分値演算手段60aによって、前記した(11)式で平均差分値Ea(d,x,y)を算出する。そして、差分値決定手段60は、差分値選択手段60cによって、前記した(13)式のように、平均差分値Eaを選択差分値Eとして選択する(ステップS61)。
【0145】
差分値決定手段60は、近傍奥行値出力手段40から、近傍画素PSL,PSRの奥行値DL、DRを取得する(ステップS62;近傍奥行値出力動作)。このステップS62の動作については、説明を後記する。
【0146】
差分値決定手段60は、差分値選択手段60cによって、最小差分値Emまたは平均差分値Eaの何れかを、予め設定された条件に基づいて、選択差分値Eとして選択する(ステップS63;差分値選択動作)。このステップS63の動作については、説明を後記する。
【0147】
<近傍奥行値出力動作>
図11を参照して、近傍奥行値出力手動作(図10のステップS62)について詳細に説明する(適宜図2参照)。
【0148】
近傍奥行値出力手段40は、近傍画素数sを最大視差量DMに設定する(ステップS620)。そして、近傍奥行値出力手段40は、前記した(7)式によって、左右の近傍画素PSL,PSRの奥行値DL,DRを取得する(ステップS621)。
【0149】
近傍奥行値出力手段40は、前記した(8)式によって、左奥行値DLと右奥行値DRとの差分絶対値|DL−DR|が閾値th1を超えるか否かを判定する(ステップS622)。差分絶対値|DL−DR|が閾値th1を超える場合(ステップS622でYes)、近傍奥行値出力手段40は、処理を終了する。一方、差分絶対値|DL−DR|が閾値th1を超えない場合(ステップS622でNo)、近傍奥行値出力手段40は、ステップS623の処理に進む。
【0150】
近傍奥行値出力手段40は、前記した(9)式によって、近傍画素数sを半分する(ステップS623)。そして、近傍奥行値出力手段40は、前記した(7)式によって、近傍画素数sが半分となった近傍画素PSL,PSRの奥行値DL,DRを取得する(ステップS624)。
【0151】
<差分値選択動作>
図12を参照して、差分値選択動作(図10のステップS63)について詳細に説明する(適宜図2参照)。なお、以後の各図では、近傍画素の画素値を近傍画素値と図示することがある。
【0152】
差分値選択手段60cは、近傍画素値出力手段30から、注目画素PCの画素値と、近傍画素PSL,PSRの画素値とを取得する(ステップS630;近傍画素値出力動作)。このステップS630の動作については、説明を後記する。
【0153】
差分値選択手段60cは、前記した(14)式によって、左右の近傍画素PSL,PSRの画素値の差分絶対値ELRを算出し(ステップS631)、差分絶対値|DL−DR|が閾値th1を超え、かつ、差分絶対値ELRが閾値th2を超えるか否かを判定する(ステップS632)。
【0154】
差分絶対値|DL−DR|が閾値th1を超え、かつ、差分絶対値ELRが閾値th2を超える場合(ステップS632でYes)、差分値選択手段60cは、ステップS633の処理に進む。一方、差分絶対値|DL−DR|が閾値th1を超えない場合、または、差分絶対値ELRが閾値th2を超えない場合(ステップS632でNo)、差分値選択手段60cは、ステップS639の処理に進む。
【0155】
差分値選択手段60cは、近傍奥行対応画素値出力手段50から、奥行値DLの視差に対応する画素位置にある近傍奥行対応画素の画素値PLDL,PRDLと、奥行値DRの視差に対応する画素位置にある近傍奥行対応画素の画素値PLDR,PRDRとを取得する(ステップS633;近傍奥行対応画素値出力動作)。このステップS633の動作については、説明を後記する。
【0156】
差分値選択手段60cは、前記した(16)式によって、左右の隣接映像FL,FRにおいて、注目画素PCを背景A側の奥行値DRに相当する画素数だけ左右に移動させた近傍奥行対応画素の画素値PLDR,PRDRと、注目画素の画素値PCとの差分絶対値ELDR,ERDRを算出する。そして、差分値選択手段60cは、前記した(19)式によって、左右の隣接映像FL,FRにおいて、注目画素PCを背景A側の奥行値DLに相当する画素数だけ左右に移動させた近傍奥行対応画素の画素値PLDL,PRDLと、注目画素PCとの画素値の差分絶対値ELDL,ERDLを算出する(ステップS634)。
【0157】
差分値選択手段60cは、前記した(15)式によって、奥行値DLが奥行値DR以上であるか否かを判定することにより、左右どちら側に奥行値が小さくなる背景Aがあるかを判定する(ステップS635)。奥行値DLが奥行値DR以上の場合(ステップS635でYes)、差分値選択手段60cは、ステップS636の処理に進む。一方、奥行値DLが奥行値DR以上でない場合(ステップS635でNo)、差分値選択手段60cは、ステップS637の処理に進む。
【0158】
差分値選択手段60cは、前記した(17)式によって、差分絶対値ELDRが差分絶対値ERDRを超えたか否かを判定することにより、左側の隣接映像FLでオクルージョンの有無を判定する(ステップS636)。差分絶対値ELDRが差分絶対値ERDRを超える場合(ステップS636でYes)、差分値選択手段60cは、ステップS638の処理に進む。一方、差分絶対値ELDRが差分絶対値ERDRを超えない場合(ステップS636でNo)、差分値選択手段60cは、ステップS639の処理に進む。
【0159】
差分値選択手段60cは、前記した(20)式によって、差分絶対値ERDLが差分絶対値ELDLを超えたか否かを判定することにより、右側の隣接映像FRでオクルージョンの有無を判定する(ステップS637)。差分絶対値ERDLが差分絶対値ELDLを超える場合(ステップS637でYes)、差分値選択手段60cは、ステップS638の処理に進む。一方、差分絶対値ERDLが差分絶対値ELDLを超えない場合(ステップS637でNo)、差分値選択手段60cは、ステップS639の処理に進む。
【0160】
差分値選択手段60cは、前記した(12)式および(18)式によって、最小差分値選択手段60bが算出した最小差分値Em(d,x,y)を選択差分値E(d,x,y)として選択する(ステップ638)。
【0161】
差分値選択手段60cは、前記した(11)式および(13)式によって、平均差分値演算手段60aが算出した平均差分値Ea(d,x,y)を選択差分値E(d,x,y)として選択する(ステップ639)。
【0162】
以上のように、差分値選択手段60cは、ステップS630〜S639の処理によって、基準映像の画素位置(x,y)ごとに、複数の仮定奥行値d(“0”〜最大視差量)に対応した選択差分値E(d,x,y)を選択することができる。
【0163】
<近傍画素値出力動作>
図13を参照して、近傍画素値出力手動作(図12のステップS630)について詳細に説明する(適宜図2参照)。
【0164】
近傍画素値出力手段30は、前記した(6)式によって、注目画素PC(x,y)の画素値PCと、注目画素PC(x,y)から近傍画素数sだけ左に離れた画素位置PC(x−s,y)にある近傍画素の画素値PSLと、注目画素PC(x,y)から近傍画素数sだけ右に離れた画素位置PC(x+s,y)にある近傍画素の画素値PSRとを取得する(ステップS6300)。
【0165】
<近傍奥行対応画素値出力動作>
図14を参照して、近傍奥行対応画素値出力手動作(図12のステップS633)について詳細に説明する。
【0166】
近傍奥行対応画素値出力手段50は、前記した(10)式によって、左右の隣接映像FL,FRから、奥行値DLの視差に対応する画素位置にある近傍奥行対応画素PL(x+DL,y),PR(x−DL,y)の画素値PLDL,PRDLを算出する。そして、近傍奥行対応画素値出力手段50は、前記した(10)式によって、左右の隣接映像FL,FRから、奥行値DRの視差に対応する画素位置にある近傍奥行対応画素PL(x+DR,y),PR(x−DR,y)の画素値PLDR,PRDRを算出する(ステップS6330)。
【0167】
<平滑化動作>
図15を参照して、平滑化動作(図8のステップS13)の動作について詳細に説明する。
【0168】
平滑化手段80は、変数として、カメラ映像(基準映像FC)のx座標値およびy座標値を初期化(x=0、y=0)する(ステップS130,S131)。
【0169】
平滑化手段80は、前記した(21)式によって、基準映像FCの注目画素PC(画素位置(x,y))ごとに、注目画素PCの選択差分値E(d,x,y)が最小となる仮定奥行値dを算出する。そして、平滑化手段80は、その仮定奥行値dを,その画素の奥行値Dx,yとする(ステップS132)。
【0170】
平滑化手段80は、変数であるカメラ映像のx座標値、y座標値を順次加算(インクリメント)する。その後、平滑化手段80は、x座標値については映像幅になるまでステップS132の動作を繰り返し(ステップS133,S134)、y座標値については映像高になるまでステップS131,S132の動作を繰り返す(ステップS135,S136)。
【0171】
平滑化手段80は、前記した(21)式によって、注目画素PCに隣接する画素位置(x+1,y),(x,y+1)の隣接画素の選択差分値が最小となる仮定奥行値Dx+1,y、Dx,y+1を算出する。そして、平滑化手段80は、(22)式によって、注目画素PCの選択差分値E(Dx,y,x,y)に、仮定奥行値Dx+1,y、Dx,y+1と奥行値Dx,yとの差分を重み付け加算することで、選択差分値E(Dx,y,x,y)を平滑化した平滑化差分値Ev(Dx,y,x,y)を算出する(ステップS137)。
【0172】
平滑化手段80は、前記した(23)式によって、画素位置(x,y)ごとの平滑化差分値Ev(Dx,y,x,y)を基準映像FCの全画素で総和することで、平滑化評価値Evを算出する(ステップS138)。
【0173】
<奥行値決定動作>
図16を参照して、奥行値決定動作(図8のステップS14)の動作について詳細に説明する。
【0174】
奥行値決定手段90は、全ての画素の奥行値(第2仮定奥行値)D’を初期化し(S140)、注目画素PCのv座標値およびu座標値を0に初期化する(ステップS141,S142)。
【0175】
奥行値決定手段90は、前記した(24)式および(25)式によって、第2の仮定奥行値D’を最小視差量から最大視差量まで変えながら、基準映像FCの画素位置(u,v)ごとに、画素位置(u,v)に対応付けて記憶手段70に記憶されている選択差分値E(D’,u,v)について、平滑化手段80が平滑化した奥行値Du,vを奥行値D’に代えた再計算評価値Ev’を算出する(ステップS143)。
【0176】
奥行値決定手段90は、前記した(26)式によって、再計算評価値Ev’が平滑化評価値Ev未満であるか否かを判定する(ステップS144)。再計算評価値Ev’が平滑化評価値Ev未満の場合(ステップS144でYes)、奥行値決定手段90は、ステップS145の処理に進む。一方、再計算評価値Ev’が平滑化評価値Ev未満でない場合(ステップS144でNo)、奥行値決定手段90は、ステップS146の処理に進む。
【0177】
奥行値決定手段90は、前記した(27)式によって、平滑化評価値Evの値を再計算評価値Ev’の値で置き換えると共に、画素位置(u,v)の奥行値Du,vの値を奥行値D’の値で置き換える(ステップS145)。
【0178】
奥行値決定手段90は、変数である奥行値D’、u座標値、v座標値を順次加算(インクリメント)する。その後、奥行値決定手段90は、u座標値については映像幅になるまでステップS143〜S145の動作を繰り返し(ステップS146,S147)、v座標値については映像高になるまでステップS142〜S145の動作を繰り返し(ステップS148,S149)、奥行値D’については最大視差量になるまでステップS141〜S145の動作を繰り返す(ステップS150,S151)。
【0179】
以上のように、奥行推定装置1は、オクルージョンの有無にかかわらず、注目画素の画素値と、近傍画素の画素値と、近傍画素の奥行値と、この近傍画素の奥行値に対応する近傍奥行対応画素の画素値とに基づいて、平均差分値または最小差分値の何れか最適な方を選択する。これによって、奥行推定装置1は、隣接映像で偽マッチングが発生している場合、平均差分値を選択することにより、より正しい選択差分値から奥行値Dを推定でき、オクルージョンが有る場合、そのときの奥行値Dを推定対象から除くことができる。すなわち、奥行推定装置1は、正確な奥行値Dを推定することができる。
【0180】
第1実施形態では、図1に示すように、5つの映像(FLL,FL,FC,FR,FRR)が奥行推定装置1に入力されることとして説明したが、映像の数はこれに限定されない。以下、第2実施形態として、3つの映像(FL,FC,FRR)から被写体Tの奥行値Dを推定する奥行推定システムSBについて説明する。
【0181】
(第2実施形態)
[奥行推定システムの全体構成]
図17を参照して、本発明の第2実施形態に係る奥行推定装置1Bを含んだ奥行推定システムSBの全体構成について、第1実施形態と異なる点を説明する。
【0182】
図17に示すように、奥行推定システムSBは、カメラCM(CL,CC,CR)と、奥行推定装置1Bとを備えている。すなわち、奥行推定システムSBでは、カメラCL,CRが、カメラCCを左右から挟むように配置されている。そして、カメラCM(CL,CC,CR)で撮影した映像(FL,FC,FRR)が、奥行推定装置1Bに入力される。
【0183】
[奥行推定装置の構成]
図18を参照して、奥行推定装置1Bの構成について、第1実施形態と異なる点を説明する(適宜図17参照)。
【0184】
奥行推定装置1Bは、水平方向に配列したカメラCM(CL,CC,CR)で被写体Tを撮影したカメラ映像(FL,FC,FR)から、被写体Tの奥行きを示す奥行値Dを推定する。このため、奥行推定装置1Bは、映像入力手段10Bと、対応画素差分演算手段20Bと、近傍画素値出力手段30と、近傍奥行値出力手段40と、近傍奥行対応画素値出力手段50と、差分値決定手段60と、記憶手段70と、平滑化手段80と、奥行値決定手段90とを備える。
【0185】
映像入力手段10Bは、カメラCMで撮影された複数のカメラ映像を入力するものである。ここでは、映像入力手段10Bは、基準カメラCCで撮影した基準映像FCと、隣接カメラCL,CRで撮影した隣接映像FL,FRとを入力する。
この映像入力手段10Bで入力した各映像(FL,FC,FR)は、図示を省略したメモリに記憶され、後記する対応画素差分演算手段20B、近傍画素値出力手段30、および、近傍奥行対応画素値出力手段50によって参照されるものとする。
【0186】
対応画素差分演算手段20Bは、前記した(2)式によって、対応画素PRが隣接映像FRから外れていないか否かを判定すると共に、前記した(3)式によって、対応画素PLが隣接映像FLから外れていないか否かを判定する。そして、対応画素差分演算手段20Bは、隣接映像FL,FRから対応画素PL,PRが外れていない場合、すなわち、(2)式および(3)式を両方満たす場合、前記した(1)式によって対応画素差分値ECL,ECRを算出する。
【0187】
右隣接映像FRから対応画素PRが外れる場合、すなわち、(2)式を満たさない場合、対応画素差分演算手段20Bは、以下の(28)式によって、対応画素差分ECRを最大視差量(例えば、“255”)として算出する。
ECL(d,x,y)=|PL(x+d,y)−PC(x,y)|
ECR(d,x,y)=255 …(28)式
【0188】
隣接映像FLから対応画素PLが外れる場合、すなわち、(3)式を満たさない場合、対応画素差分演算手段20Bは、以下の(29)式によって、対応画素差分値ECLを最大視差量(例えば、“255”)として算出する。
ECL(d,x,y)=255
ECR(d,x,y)=|PR(x−d,y)−PC(x,y)| …(29)式
【0189】
[奥行推定装置の動作]
図19を参照して、奥行推定装置1Bの動作として、対応画素差分演算動作(図8のステップS5)を説明する(適宜図18参照)。なお、図19のステップS50〜S52の処理は、図9の各処理と同様のため、説明を省略する。
【0190】
対応画素差分演算手段20Bは、対応画素PLが隣接映像FLから外れている場合(ステップS51でNo)、前記した(29)式によって、対応画素差分値ECLを最大視差量として算出する(ステップS53’)。
【0191】
対応画素差分演算手段20Bは、対応画素PRが隣接映像FRから外れている場合(ステップS50でNo)前記した(28)式によって、対応画素差分値ECRを最大視差量として算出する(ステップS54’)。
【0192】
以上のように、本発明の第2実施形態に係る奥行推定装置1Bは、3つの映像(FL,FC,FR)から、被写体Tの奥行値Dを推定することができる。従って、奥行推定装置1Bは、第1実施形態と同様、奥行値の誤推定を低減することができる。
【0193】
本発明の第2実施形態に係る奥行推定装置1Bの構成および動作について説明したが、本発明は、この実施形態に限定されるものではない。以下、本発明の種々の変形例について説明する。
【0194】
(変形例1:カメラ配置間隔の変形例)
第2実施形態では、被写体を撮影するカメラの設置間隔を等間隔としたが、異なるカメラ間隔としてもよい。
この場合、対応画素差分演算手段20Bは、それぞれの隣接映像FL,FRについて、基準カメラCCからのカメラ間隔ごとに、基準映像FCの画素から、視差に対応する画素の位置をそれぞれ求め、当該画素の画素値と、基準映像FCの画素の画素値との差分絶対値を演算すればよい。例えば、本実施形態では、奥行値Dの単位と画素間の視差の単位とを同一とし、奥行値Dが“1”増加することで、1画素ずつ視差が増加することとしたが、この場合、図17に示したカメラCC,CR間の距離が、カメラCC,CL間の距離の2倍であったとすると、対応画素差分演算手段20Bは、前記(1)式の代わりに、以下の(30)式により差分絶対値を算出すればよい。
ECL(d,x,y)=|PL(x+d,y)−PC(x,y)|
ECR(d,x,y)=|PR(x−2d,y)−PC(x,y)| …(30)式
これによって、奥行推定システム(図17)のカメラ配置の自由度を高めることができる。
【0195】
(変形例2:対応画素差分演算手段の変形例)
また、第2実施形態では、対応画素差分演算手段20Bが、基準映像FCの各画素の画素値と、当該画素の仮定奥行値dの視差に対応する隣接映像FL,FRの各画素の画素値との差分絶対値を演算することとしたが、この差分絶対値は、対応する画素のみでなく、対応画素を中心とするブロック内の画素値の差分絶対値の重み付け平均値を用いることとしてもよい。例えば、対応画素差分演算手段20Bは、前記(1)式の対応画素差分値ECL(d,x,y)を、以下の(31)式により算出する。
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
…(31)式
これによって、ノイズ等によって発生する差分絶対値の誤差を低減することができる。
【0196】
(変形例3:差分値選択手段の変形例)
また、各実施形態では、平均差分値演算手段60aが平均差分値Eaを算出し、最小差分値選択手段60bが最小差分値Emを算出することとして説明したが、本発明は、これに限定されない。例えば、本発明では、差分値選択手段60cが、平均差分値Eaおよび最小差分値Emを算出してもよい。
【0197】
(変形例4:差分値選択手段の変形例)
また、各実施形態では、差分値選択手段60cが、前記した(17)式および(20)式を用いることとして説明したが、本発明は、これに限定されない。例えば、本発明では、差分値選択手段60cが、予め任意の値に設定した倍率kを用いてもよい。
【0198】
具体的には、差分値選択手段60cは、前記した(17)の右辺に倍率kを掛けてから、差分絶対値ELDRが差分絶対値ERDRを超えたか否かを判定する((32式)参照)。
ELDR>k×ERDR …(32)式
【0199】
また、差分値選択手段60cは、前記した(20)式の左辺に倍率kを掛けてから、差分絶対値ERDLが差分絶対値ELDLを超えたか否かを判定する((33式)参照)。
ELDL×k<ERDL …(33)式
これによって、差分値選択手段60cは、オクルージョンの有無をより正確に判定できる。
【0200】
(変形例5:差分値選択動作の変形例)
また、各実施形態では、差分値選択動作(図12参照)において、差分絶対値ELDR,ERDR,ELDL,ERDLを算出してから(ステップS634)、ステップS635以後の処理を実行することとして説明したが、本発明は、これに限定されない。ここで、差分値選択手段60cが、差分値選択動作において、ステップS633までの処理を実行した場合を考える。
【0201】
この場合、差分値選択手段60cは、ステップS635の処理と同様、前記した(15)式によって、奥行値DLが奥行値DR以上であるか否かを判定する。(15)式が成立する場合、差分値選択手段60cは、前記した(16)式によって、近傍奥行対応画素PLDR,PRDRの画素値と、注目画素PCの画素値の差分絶対値ELDR,ERDRを算出する。そして、差分値選択手段60cは、ステップS636以後の処理を実行する。
【0202】
一方、(15)式が成立しない場合、差分値選択手段60cは、前記した(19)式によって、近傍奥行対応画素PLDL,PRDLの画素値と、注目画素PCの画素値の差分絶対値ELDL,ERDLを算出する。
【0203】
このように、差分値選択手段60cは、奥行値DL,DRの大小判定を行ってから、その判定結果に応じて、差分絶対値ELDR,ERDRまたは差分絶対値ELDL,ERDLを算出してもよい。
【0204】
なお、各実施形態では、本発明に係る奥行推定装置を独立した装置として説明したが、これに限定されない。例えば、本発明では、一般的なコンピュータのハードウェア資源を、奥行推定装置の各手段として協調動作させる奥行推定プログラムによって実現することができる。また、この奥行推定プログラムは、通信回線を介して配布したり、CD−ROM等の記録媒体に記録して配布したりすることも可能である。
【符号の説明】
【0205】
1,1B 奥行推定装置
10,10B 映像入力手段
20,20B 対応画素差分演算手段
30 近傍画素値出力手段
40 近傍奥行値出力手段
50 近傍奥行対応画素値出力手段
60 差分値決定手段
60a 平均差分値演算手段
60b 最小差分値選択手段
60c 差分値選択手段
70 記憶手段
80 平滑化手段
90 奥行値決定手段
【特許請求の範囲】
【請求項1】
予め定めた位置に複数配列したカメラで同一の被写体を撮影した複数のカメラ映像から、前記被写体の奥行きを示す奥行値を推定する奥行推定装置であって、
前記複数配列した前記カメラの何れかにおいて、予め定めた基準カメラで前記被写体を撮影した基準映像と、前記基準カメラ以外の隣接カメラで前記被写体を撮影した複数の隣接映像とを入力する映像入力手段と、
前記奥行値を仮定した仮定奥行値および前記基準映像の注目画素ごとに、前記注目画素の画素値と、当該注目画素の前記仮定奥行値の視差に対応する画素位置にある前記複数の隣接映像の対応画素の画素値との差分絶対値である対応画素差分値を演算する対応画素差分演算手段と、
前記映像入力手段に入力された基準映像において、前記基準映像の注目画素の画素値と、予め定めた近傍画素数だけ前記注目画素から左右に離れた画素位置にある近傍画素の画素値とを出力する近傍画素値出力手段と、
前記仮定奥行値および前記注目画素ごとに、前記基準映像に対して左右の隣接映像から、前記近傍画素の奥行値の視差に対応する画素位置にある近傍奥行対応画素の画素値を出力する近傍奥行対応画素値出力手段と、
前記仮定奥行値および前記注目画素ごとに、前記対応画素差分値の平均値である平均差分値と、前記対応画素差分値の最小値である最小差分値を求め、前記注目画素の画素値と前記近傍画素の画素値と前記近傍画素の奥行値と前記近傍奥行対応画素の画素値とに基づいて、前記最小差分値または前記平均差分値の何れかを、予め定めた条件により選択差分値として決定する差分値決定手段と、
前記差分値決定手段で決定した選択差分値を前記仮定奥行値と前記基準映像の画素位置とに対応付けて記憶する記憶手段と、
前記注目画素ごとに、当該注目画素の選択差分値に、当該注目画素に隣接する画素の選択差分値が最小となる仮定奥行値と前記注目画素の選択差分値が最小となる仮定奥行値との差分を重み付け加算することで、前記選択差分値を平滑化した平滑化差分値を演算すると共に、前記平滑化差分値の総和である平滑化評価値を演算する平滑化手段と、
前記記憶手段に記憶された選択差分値に対応する仮定奥行値を当該仮定奥行値と異なる奥行値が仮定された第2仮定奥行値に代えることで前記平滑化評価値に相当する再計算評価値を演算し、当該再計算評価値が前記平滑化手段によって演算された平滑化評価値未満の場合、前記第2仮定奥行値を前記基準映像の各画素の奥行値として決定し、当該再計算評価値が前記平滑化評価値未満でない場合、前記記憶手段に記憶された選択差分値に対応する仮定奥行値を前記基準映像の各画素の奥行値として決定する奥行値決定手段と、
前記奥行値決定手段から基準映像の各画素の奥行値が入力されると共に、前記近傍画素の奥行値を前記近傍奥行対応画素値出力手段および前記差分値決定手段に出力する近傍奥行値出力手段と、
を備えることを特徴とする奥行推定装置。
【請求項2】
前記差分値決定手段は、前記近傍画素同士の奥行値の差分絶対値が予め定めた第1の閾値以下の場合、または、前記近傍画素同士の画素値の差分絶対値が予め定めた第2の閾値以下の場合、前記平均差分値を前記選択差分値として決定することを特徴とする請求項1に記載の奥行推定装置。
【請求項3】
前記差分値決定手段は、前記近傍画素同士の奥行値の差分絶対値が予め定めた第1の閾値を超え、かつ、前記近傍画素同士の画素値の差分絶対値が予め定めた第2の閾値を越える場合、前記基準映像に対する左右の隣接映像のそれぞれから、前記近傍奥行対応画素の画素値と前記注目画素の画素値との差分絶対値を演算すると共に、
左右の前記近傍画素のうち小さい方の奥行値を有する側の前記近傍奥行対応画素の画素値と前記注目画素の画素値との差分絶対値が、当該小さい方と反対側の前記近傍奥行対応画素の画素値と前記注目画素の画素値との差分絶対値より小さい場合、前記最小差分値を前記選択差分値として決定することを特徴とする請求項1に記載の奥行推定装置。
【請求項4】
前記差分値決定手段は、前記近傍画素同士の奥行値の差分絶対値が予め定めた第1の閾値を超え、かつ、前記近傍画素同士の画素値の差分絶対値が予め定めた第2の閾値を越える場合、前記基準映像に対する左右の隣接映像のそれぞれから、前記近傍奥行対応画素の画素値と前記注目画素の画素値との差分絶対値を演算すると共に、
左右の前記近傍画素のうち小さい方の奥行値を有する側の前記近傍奥行対応画素の画素値と前記注目画素の画素値との差分絶対値が、当該小さい方と反対側の前記近傍奥行対応画素の画素値と前記注目画素の画素値との差分絶対値より小さくない場合、前記平均差分値を前記選択差分値として決定することを特徴とする請求項1に記載の奥行推定装置。
【請求項5】
前記差分値決定手段は、前記奥行値の推定回数が1回目の場合、前記平均差分値を前記選択差分値として決定し、
前記奥行値の推定回数が2回目以降の場合、前記予め定めた条件により前記選択差分値を決定することを特徴とする請求項1に記載の奥行推定装置。
【請求項6】
前記対応画素差分演算手段は、前記基準映像の左右に位置する隣接映像から前記対応画素が外れる場合、前記基準映像に対して、前記対応画素が外れる側の隣接画像に反対側の隣接映像と、当該反対側の隣接映像にさらに隣接する隣接映像とにおいて、前記対応画素の画素値の差分絶対値を前記対応画素差分値として演算することを特徴とする請求項1から請求項5の何れか一項に記載の奥行推定装置。
【請求項7】
前記近傍奥行値出力手段は、前記近傍画素同士の奥行値の差分絶対値が予め定めた閾値以下の場合、前記近傍画素数を半分とし、前記注目画素から当該近傍画素数だけ左右に離れた画素位置の近傍画素の奥行値を出力することを特徴とする請求項1から請求項6の何れか一項に記載の奥行推定装置。
【請求項8】
予め定めた位置に複数配列したカメラで同一の被写体を撮影した複数のカメラ映像から、前記被写体の奥行きを示す奥行値を推定する奥行推定方法であって、
映像入力手段が、前記複数配列した前記カメラの何れかにおいて、予め定めた基準カメラで前記被写体を撮影した基準映像と、前記基準カメラ以外の隣接カメラで前記被写体を撮影した複数の隣接映像とを入力する映像入力ステップと、
対応画素差分演算手段が、前記奥行値を仮定した仮定奥行値および前記基準映像の注目画素ごとに、前記注目画素の画素値と、当該注目画素の前記仮定奥行値の視差に対応する画素位置にある前記複数の隣接映像の対応画素の画素値との差分絶対値である対応画素差分値を演算する対応画素差分演算ステップと、
差分値決定手段が、前記仮定奥行値および前記注目画素ごとに、前記対応画素差分値の平均値である平均差分値と、前記対応画素差分値の最小値である最小差分値を求め、前記注目画素の画素値と前記近傍画素の画素値と前記近傍画素の奥行値と前記近傍奥行対応画素の画素値とに基づいて、前記最小差分値または前記平均差分値の何れかを、予め定めた条件により選択差分値として決定して、当該選択差分値を前記仮定奥行値と前記基準映像の画素位置とに対応付けて記憶手段に書き込む差分値決定ステップと、
平滑化手段が、前記注目画素ごとに、当該注目画素の選択差分値に、当該注目画素に隣接する画素の選択差分値が最小となる仮定奥行値と前記注目画素の選択差分値が最小となる仮定奥行値との差分を重み付け加算することで、前記選択差分値を平滑化した平滑化差分値を演算すると共に、前記平滑化差分値の総和である平滑化評価値を演算する平滑化ステップと、
奥行値決定手段が、前記記憶手段に記憶された選択差分値に対応する仮定奥行値を当該仮定奥行値と異なる奥行値が仮定された第2仮定奥行値に代えることで前記平滑化評価値に相当する再計算評価値を演算し、当該再計算評価値が前記平滑化手段によって演算された平滑化評価値未満の場合、前記第2仮定奥行値を前記基準映像の各画素の奥行値として決定し、当該再計算評価値が前記平滑化評価値未満でない場合、前記記憶手段に記憶された選択差分値に対応する仮定奥行値を前記基準映像の各画素の奥行値として決定する奥行値決定ステップと、を備え、
前記差分値決定ステップは、
近傍奥行値出力手段が、前記近傍画素の奥行値を出力する近傍奥行値出力ステップと、
近傍画素値出力手段が、前記基準映像において、前記基準映像の注目画素の画素値と、予め定めた近傍画素数だけ前記注目画素から左右に離れた画素位置にある近傍画素の画素値とを出力する近傍画素値出力ステップと、
近傍奥行対応画素値出力手段が、前記仮定奥行値および前記注目画素ごとに、前記基準映像に対して左右の隣接映像から、前記近傍画素の奥行値の視差に対応する画素位置にある近傍奥行対応画素の画素値を出力する近傍奥行対応画素値出力ステップと、
を備えることを特徴とする奥行推定方法。
【請求項9】
予め定めた位置に複数配列したカメラで同一の被写体を撮影した複数のカメラ映像から、前記被写体の奥行きを示す奥行値を推定するために、コンピュータを、
前記複数配列した前記カメラの何れかにおいて、予め定めた基準カメラで前記被写体を撮影した基準映像と、前記基準カメラ以外の隣接カメラで前記被写体を撮影した複数の隣接映像とを入力する映像入力手段、
前記奥行値を仮定した仮定奥行値および前記基準映像の注目画素ごとに、前記注目画素の画素値と、当該注目画素の前記仮定奥行値の視差に対応する画素位置にある前記複数の隣接映像の対応画素の画素値との差分絶対値である対応画素差分値を演算する対応画素差分演算手段、
前記映像入力手段に入力された基準映像において、前記基準映像の注目画素の画素値と、予め定めた近傍画素数だけ前記注目画素から左右に離れた画素位置にある近傍画素の画素値とを出力する近傍画素値出力手段、
前記仮定奥行値および前記注目画素ごとに、前記基準映像に対して左右の隣接映像から、前記近傍画素の奥行値の視差に対応する画素位置にある近傍奥行対応画素の画素値を出力する近傍奥行対応画素値出力手段、
前記仮定奥行値および前記注目画素ごとに、前記対応画素差分値の平均値である平均差分値と、前記対応画素差分値の最小値である最小差分値を求め、前記注目画素の画素値と前記近傍画素の画素値と前記近傍画素の奥行値と前記近傍奥行対応画素の画素値とに基づいて、前記最小差分値または前記平均差分値の何れかを、予め定めた条件により選択差分値として決定して、当該選択差分値を前記仮定奥行値と前記基準映像の画素位置とに対応付けて記憶手段に書き込む差分値決定手段、
前記注目画素ごとに、当該注目画素の選択差分値に、当該注目画素に隣接する画素の選択差分値が最小となる仮定奥行値と前記注目画素の選択差分値が最小となる仮定奥行値との差分を重み付け加算することで、前記選択差分値を平滑化した平滑化差分値を演算すると共に、前記平滑化差分値の総和である平滑化評価値を演算する平滑化手段、
前記記憶手段に記憶された選択差分値に対応する仮定奥行値を当該仮定奥行値と異なる奥行値が仮定された第2仮定奥行値に代えることで前記平滑化評価値に相当する再計算評価値を演算し、当該再計算評価値が前記平滑化手段によって演算された平滑化評価値未満の場合、前記第2仮定奥行値を前記基準映像の各画素の奥行値として決定し、当該再計算評価値が前記平滑化評価値未満でない場合、前記記憶手段に記憶された選択差分値に対応する仮定奥行値を前記基準映像の各画素の奥行値として決定する奥行値決定手段、
前記奥行値決定手段から基準映像の各画素の奥行値が入力されると共に、前記近傍画素の奥行値を前記近傍奥行対応画素値出力手段および前記差分値決定手段に出力する近傍奥行値出力手段、
として機能させるための奥行推定プログラム。
【請求項1】
予め定めた位置に複数配列したカメラで同一の被写体を撮影した複数のカメラ映像から、前記被写体の奥行きを示す奥行値を推定する奥行推定装置であって、
前記複数配列した前記カメラの何れかにおいて、予め定めた基準カメラで前記被写体を撮影した基準映像と、前記基準カメラ以外の隣接カメラで前記被写体を撮影した複数の隣接映像とを入力する映像入力手段と、
前記奥行値を仮定した仮定奥行値および前記基準映像の注目画素ごとに、前記注目画素の画素値と、当該注目画素の前記仮定奥行値の視差に対応する画素位置にある前記複数の隣接映像の対応画素の画素値との差分絶対値である対応画素差分値を演算する対応画素差分演算手段と、
前記映像入力手段に入力された基準映像において、前記基準映像の注目画素の画素値と、予め定めた近傍画素数だけ前記注目画素から左右に離れた画素位置にある近傍画素の画素値とを出力する近傍画素値出力手段と、
前記仮定奥行値および前記注目画素ごとに、前記基準映像に対して左右の隣接映像から、前記近傍画素の奥行値の視差に対応する画素位置にある近傍奥行対応画素の画素値を出力する近傍奥行対応画素値出力手段と、
前記仮定奥行値および前記注目画素ごとに、前記対応画素差分値の平均値である平均差分値と、前記対応画素差分値の最小値である最小差分値を求め、前記注目画素の画素値と前記近傍画素の画素値と前記近傍画素の奥行値と前記近傍奥行対応画素の画素値とに基づいて、前記最小差分値または前記平均差分値の何れかを、予め定めた条件により選択差分値として決定する差分値決定手段と、
前記差分値決定手段で決定した選択差分値を前記仮定奥行値と前記基準映像の画素位置とに対応付けて記憶する記憶手段と、
前記注目画素ごとに、当該注目画素の選択差分値に、当該注目画素に隣接する画素の選択差分値が最小となる仮定奥行値と前記注目画素の選択差分値が最小となる仮定奥行値との差分を重み付け加算することで、前記選択差分値を平滑化した平滑化差分値を演算すると共に、前記平滑化差分値の総和である平滑化評価値を演算する平滑化手段と、
前記記憶手段に記憶された選択差分値に対応する仮定奥行値を当該仮定奥行値と異なる奥行値が仮定された第2仮定奥行値に代えることで前記平滑化評価値に相当する再計算評価値を演算し、当該再計算評価値が前記平滑化手段によって演算された平滑化評価値未満の場合、前記第2仮定奥行値を前記基準映像の各画素の奥行値として決定し、当該再計算評価値が前記平滑化評価値未満でない場合、前記記憶手段に記憶された選択差分値に対応する仮定奥行値を前記基準映像の各画素の奥行値として決定する奥行値決定手段と、
前記奥行値決定手段から基準映像の各画素の奥行値が入力されると共に、前記近傍画素の奥行値を前記近傍奥行対応画素値出力手段および前記差分値決定手段に出力する近傍奥行値出力手段と、
を備えることを特徴とする奥行推定装置。
【請求項2】
前記差分値決定手段は、前記近傍画素同士の奥行値の差分絶対値が予め定めた第1の閾値以下の場合、または、前記近傍画素同士の画素値の差分絶対値が予め定めた第2の閾値以下の場合、前記平均差分値を前記選択差分値として決定することを特徴とする請求項1に記載の奥行推定装置。
【請求項3】
前記差分値決定手段は、前記近傍画素同士の奥行値の差分絶対値が予め定めた第1の閾値を超え、かつ、前記近傍画素同士の画素値の差分絶対値が予め定めた第2の閾値を越える場合、前記基準映像に対する左右の隣接映像のそれぞれから、前記近傍奥行対応画素の画素値と前記注目画素の画素値との差分絶対値を演算すると共に、
左右の前記近傍画素のうち小さい方の奥行値を有する側の前記近傍奥行対応画素の画素値と前記注目画素の画素値との差分絶対値が、当該小さい方と反対側の前記近傍奥行対応画素の画素値と前記注目画素の画素値との差分絶対値より小さい場合、前記最小差分値を前記選択差分値として決定することを特徴とする請求項1に記載の奥行推定装置。
【請求項4】
前記差分値決定手段は、前記近傍画素同士の奥行値の差分絶対値が予め定めた第1の閾値を超え、かつ、前記近傍画素同士の画素値の差分絶対値が予め定めた第2の閾値を越える場合、前記基準映像に対する左右の隣接映像のそれぞれから、前記近傍奥行対応画素の画素値と前記注目画素の画素値との差分絶対値を演算すると共に、
左右の前記近傍画素のうち小さい方の奥行値を有する側の前記近傍奥行対応画素の画素値と前記注目画素の画素値との差分絶対値が、当該小さい方と反対側の前記近傍奥行対応画素の画素値と前記注目画素の画素値との差分絶対値より小さくない場合、前記平均差分値を前記選択差分値として決定することを特徴とする請求項1に記載の奥行推定装置。
【請求項5】
前記差分値決定手段は、前記奥行値の推定回数が1回目の場合、前記平均差分値を前記選択差分値として決定し、
前記奥行値の推定回数が2回目以降の場合、前記予め定めた条件により前記選択差分値を決定することを特徴とする請求項1に記載の奥行推定装置。
【請求項6】
前記対応画素差分演算手段は、前記基準映像の左右に位置する隣接映像から前記対応画素が外れる場合、前記基準映像に対して、前記対応画素が外れる側の隣接画像に反対側の隣接映像と、当該反対側の隣接映像にさらに隣接する隣接映像とにおいて、前記対応画素の画素値の差分絶対値を前記対応画素差分値として演算することを特徴とする請求項1から請求項5の何れか一項に記載の奥行推定装置。
【請求項7】
前記近傍奥行値出力手段は、前記近傍画素同士の奥行値の差分絶対値が予め定めた閾値以下の場合、前記近傍画素数を半分とし、前記注目画素から当該近傍画素数だけ左右に離れた画素位置の近傍画素の奥行値を出力することを特徴とする請求項1から請求項6の何れか一項に記載の奥行推定装置。
【請求項8】
予め定めた位置に複数配列したカメラで同一の被写体を撮影した複数のカメラ映像から、前記被写体の奥行きを示す奥行値を推定する奥行推定方法であって、
映像入力手段が、前記複数配列した前記カメラの何れかにおいて、予め定めた基準カメラで前記被写体を撮影した基準映像と、前記基準カメラ以外の隣接カメラで前記被写体を撮影した複数の隣接映像とを入力する映像入力ステップと、
対応画素差分演算手段が、前記奥行値を仮定した仮定奥行値および前記基準映像の注目画素ごとに、前記注目画素の画素値と、当該注目画素の前記仮定奥行値の視差に対応する画素位置にある前記複数の隣接映像の対応画素の画素値との差分絶対値である対応画素差分値を演算する対応画素差分演算ステップと、
差分値決定手段が、前記仮定奥行値および前記注目画素ごとに、前記対応画素差分値の平均値である平均差分値と、前記対応画素差分値の最小値である最小差分値を求め、前記注目画素の画素値と前記近傍画素の画素値と前記近傍画素の奥行値と前記近傍奥行対応画素の画素値とに基づいて、前記最小差分値または前記平均差分値の何れかを、予め定めた条件により選択差分値として決定して、当該選択差分値を前記仮定奥行値と前記基準映像の画素位置とに対応付けて記憶手段に書き込む差分値決定ステップと、
平滑化手段が、前記注目画素ごとに、当該注目画素の選択差分値に、当該注目画素に隣接する画素の選択差分値が最小となる仮定奥行値と前記注目画素の選択差分値が最小となる仮定奥行値との差分を重み付け加算することで、前記選択差分値を平滑化した平滑化差分値を演算すると共に、前記平滑化差分値の総和である平滑化評価値を演算する平滑化ステップと、
奥行値決定手段が、前記記憶手段に記憶された選択差分値に対応する仮定奥行値を当該仮定奥行値と異なる奥行値が仮定された第2仮定奥行値に代えることで前記平滑化評価値に相当する再計算評価値を演算し、当該再計算評価値が前記平滑化手段によって演算された平滑化評価値未満の場合、前記第2仮定奥行値を前記基準映像の各画素の奥行値として決定し、当該再計算評価値が前記平滑化評価値未満でない場合、前記記憶手段に記憶された選択差分値に対応する仮定奥行値を前記基準映像の各画素の奥行値として決定する奥行値決定ステップと、を備え、
前記差分値決定ステップは、
近傍奥行値出力手段が、前記近傍画素の奥行値を出力する近傍奥行値出力ステップと、
近傍画素値出力手段が、前記基準映像において、前記基準映像の注目画素の画素値と、予め定めた近傍画素数だけ前記注目画素から左右に離れた画素位置にある近傍画素の画素値とを出力する近傍画素値出力ステップと、
近傍奥行対応画素値出力手段が、前記仮定奥行値および前記注目画素ごとに、前記基準映像に対して左右の隣接映像から、前記近傍画素の奥行値の視差に対応する画素位置にある近傍奥行対応画素の画素値を出力する近傍奥行対応画素値出力ステップと、
を備えることを特徴とする奥行推定方法。
【請求項9】
予め定めた位置に複数配列したカメラで同一の被写体を撮影した複数のカメラ映像から、前記被写体の奥行きを示す奥行値を推定するために、コンピュータを、
前記複数配列した前記カメラの何れかにおいて、予め定めた基準カメラで前記被写体を撮影した基準映像と、前記基準カメラ以外の隣接カメラで前記被写体を撮影した複数の隣接映像とを入力する映像入力手段、
前記奥行値を仮定した仮定奥行値および前記基準映像の注目画素ごとに、前記注目画素の画素値と、当該注目画素の前記仮定奥行値の視差に対応する画素位置にある前記複数の隣接映像の対応画素の画素値との差分絶対値である対応画素差分値を演算する対応画素差分演算手段、
前記映像入力手段に入力された基準映像において、前記基準映像の注目画素の画素値と、予め定めた近傍画素数だけ前記注目画素から左右に離れた画素位置にある近傍画素の画素値とを出力する近傍画素値出力手段、
前記仮定奥行値および前記注目画素ごとに、前記基準映像に対して左右の隣接映像から、前記近傍画素の奥行値の視差に対応する画素位置にある近傍奥行対応画素の画素値を出力する近傍奥行対応画素値出力手段、
前記仮定奥行値および前記注目画素ごとに、前記対応画素差分値の平均値である平均差分値と、前記対応画素差分値の最小値である最小差分値を求め、前記注目画素の画素値と前記近傍画素の画素値と前記近傍画素の奥行値と前記近傍奥行対応画素の画素値とに基づいて、前記最小差分値または前記平均差分値の何れかを、予め定めた条件により選択差分値として決定して、当該選択差分値を前記仮定奥行値と前記基準映像の画素位置とに対応付けて記憶手段に書き込む差分値決定手段、
前記注目画素ごとに、当該注目画素の選択差分値に、当該注目画素に隣接する画素の選択差分値が最小となる仮定奥行値と前記注目画素の選択差分値が最小となる仮定奥行値との差分を重み付け加算することで、前記選択差分値を平滑化した平滑化差分値を演算すると共に、前記平滑化差分値の総和である平滑化評価値を演算する平滑化手段、
前記記憶手段に記憶された選択差分値に対応する仮定奥行値を当該仮定奥行値と異なる奥行値が仮定された第2仮定奥行値に代えることで前記平滑化評価値に相当する再計算評価値を演算し、当該再計算評価値が前記平滑化手段によって演算された平滑化評価値未満の場合、前記第2仮定奥行値を前記基準映像の各画素の奥行値として決定し、当該再計算評価値が前記平滑化評価値未満でない場合、前記記憶手段に記憶された選択差分値に対応する仮定奥行値を前記基準映像の各画素の奥行値として決定する奥行値決定手段、
前記奥行値決定手段から基準映像の各画素の奥行値が入力されると共に、前記近傍画素の奥行値を前記近傍奥行対応画素値出力手段および前記差分値決定手段に出力する近傍奥行値出力手段、
として機能させるための奥行推定プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【公開番号】特開2012−73813(P2012−73813A)
【公開日】平成24年4月12日(2012.4.12)
【国際特許分類】
【出願番号】特願2010−218092(P2010−218092)
【出願日】平成22年9月29日(2010.9.29)
【出願人】(301022471)独立行政法人情報通信研究機構 (1,071)
【Fターム(参考)】
【公開日】平成24年4月12日(2012.4.12)
【国際特許分類】
【出願日】平成22年9月29日(2010.9.29)
【出願人】(301022471)独立行政法人情報通信研究機構 (1,071)
【Fターム(参考)】
[ Back to top ]