本発明は、コンピュータ上に表現された物体の2次元投影画像から物体の3次元形状を推定する方法、装置、及びプログラム、並びにそのプログラムを記録した記録媒体に係わり、特に、3次元形状を推定するための推定対象領域を生成する方法、装置、及びプログラム、並びに記録媒体に関する。
2次元平面に投影された3次元空間内の物体の形状を推定する技術はコンピュータビジョンの一分野として従来より提案されている。一枚の入力画像から、物体形状を推定する手法の例として、シェイプフロムシェーディング手法やシェイプフロムテクスチャ手法と呼ばれる手法等がある。
例えば、シェイプフロムシェーディングの一手法では、
(仮定1)被写体である3次元物体の表面は完全拡散反射面である。
(仮定2)被写体表面の拡散反射係数は一定、かつ、既知である。
(仮定3)被写体の形状は滑らかである。
(仮定4)光源の方向、および、照度は既知である。
という4つの仮定をおくことによって、物体形状を推定している(例えば、特許文献1を参照。)。このような仮定の下では、以下の評価関数E、
E=Ed+Ep
を最小にするような法線方向を求めることによって、物体形状を推定することができる。ここで、Edは、法線方向が与えられたときに得ることができる輝度の算出値と、実際の観測値との差の自乗である。また、Epは、被写体の滑らかさを表す評価関数である。Ed、及び、Epは、入力画像のある領域A内で加算して算出する。即ち、入力画像の点(i,j)における輝度の算出値と実際の観測値との差の自乗をEd(i,j)とし、入力画像の点(i,j)における被写体の滑らかさを表す評価関数をEp(i,j)とすると、
となる。Ed(i,j)とEp(i,j)は、法線方向の関数である。このシェイプフロムシェーディングの一手法は、上記Eを最小化する法線方向を求める。法線方向を求めた後に、この法線方向を用いて3次元物体の表面までの奥行きを計算することができる。
或いは、法線方向を計算することなく、3次元物体の奥行きを直接求める手法も提案されている(例えば、特許文献1を参照。)。この手法では、Ed(i,j)及びEp(i,j)を3次元物体の奥行きの関数として記述し、上記Eを最小化する3次元物体の奥行きを直接求める。
これらのシェイプフロムシェーディング手法に対して、物体の3次元形状の推定方式として、シェイプフロムテクスチャ手法と呼ばれる方式も種々提案されている。例えば、シェイプフロムテクスチャ手法の一例は、物体表面のテクスチャが均一であることを前提として物体の3次元形状を推定する(例えば、非特許文献1を参照。)。物体表面のテクスチャが均一であっても、観察面に投影された画像のテクスチャは変化する。その理由は、物体表面の法線方向が位置によって変化し、観察平面との関係が一定ではなくなりテクスチャが歪むためであると考えられる。そこで、その歪みの情報をアフィン変換で近似することによって、物体表面の向きを推定する。
アフィン変換について簡単に説明すると、アフィン変換は、線形変換と平行移動の合成として表現できる。2次元アフィン変換は2次元ベクトルから2次元ベクトルへの変換である。線形変換は、2次元ベクトルへの2×2行列の乗算として表現される。また、平行移動は、2次元ベクトルへの2次元ベクトルの加算として表現される。以下では、簡単のため、平行移動分を省略し、2次元アフィン変換を、2×2行列のアフィン変換行列によって表記する。
アフィン変換には幾つかの重要な性質がある。第一に、アフィン変換は、直線を直線に変換する。平行線にアフィン変換を適用した結果得られる2本の線は平行である。即ち、平行四辺形はアフィン変換によって平行四辺形に変換される。この性質から、正方形も同様に平行四辺形に変換される。
上述のように、物体表面のテクスチャが均一であるという条件では、入力画像内の任意の点を中心とした正方形内のテクスチャは同一である。しかし、物体表面の法線方向の変化によって2次元投影画像には歪みが生じるので、任意の点を中心とする正方形内のテクスチャは同一ではない。従来のシェイプフロムテクスチャの一例によれば、このテクスチャの歪みをアフィン変換によって記述し、アフィン変換と物体表面の法線方向の変化を関連付ける。より具体的には、物体の3次元形状は、次の二つのステップを用いて推定される(非特許文献1を参照。)。
ステップ1:入力画像内の任意の2点間のアフィン変換を求める。一方の点を中心とした正方形をあるアフィン変換によって平行四辺形に変形すると、その正方形内のテクスチャは変形する。この変形後のテクスチャと、もう一方の点を中心とした正方形内のテクスチャができるだけ同じになるようなアフィン変換が、ここで求めるアフィン変換である。
ステップ2:ステップ1で求めたアフィン変換行列を用いて、3次元形状を決定する。例えば、3次元物体の各点における接平面の法線の方向、即ち、チルト角度とスラント角度を推定する。さらに、法線方向から、最終的な3次元形状を計算することが可能となる。
次に、ステップ1におけるアフィン変換の推定方式について詳述する。従来技術によれば、入力画像から二つのブロックを取り出し、そのブロック内の自己相関係数を2次元フーリエ変換し、その2次元フーリエ変換係数、即ち、2次元パワースペクトラム空間内において、絶対値の大きな点(ピーク点)を2点抽出する。二つの図形間(2次元パワースペクトラム空間内)で各ピーク点どうしの対応を取ることができる。つまり、上記二つの図形間では、二つの2次元ベクトルが、別の二つの2次元ベクトルに変換されている。このような変換を行う2×2のアフィン変換行列を求めることができる。
この従来例では、2次元パワースペクトラム空間内におけるアフィン変換行列が求められている。このアフィン変換行列は、2次元周波数空間内のアフィン変換であると考えられる。しかし、このアフィン変換行列から3次元形状を推定するためには、アフィン変換行列を空間的な情報に関連付けることが必要である。このため、従来例によれば、2次元周波数空間内のアフィン変換は、実空間内のアフィン変換行列に変換される。即ち、関数gが存在し、関数gのフーリエ変換をGとし、2×2のアフィン変換行列をUとすると、アフィン変換後のベクトルをフーリエ変換した時の対応関係は以下の式で表すことができる。
但し、F[]はフーリエ変換、ωは2次元周波数ベクトルである。この式を用いて、2次元周波数空間内のアフィン変換を実空間内のアフィン変換行列に変換することができる。
さらに従来例によれば、2ブロック間のアフィン変換行列から法線方向が推定されている(非特許文献1を参照。)。
以上のように、従来のシェイプフロムシェーディング手法によれば、ある領域A内において、輝度の観測値と算出値の差をできるだけ小さくし、かつ、できるだけ表面が滑らかになるような3次元物体の奥行き情報(あるいは法線方向)を推定することができる。
また、従来のシェイプフロムテクスチャ手法によれば、二つのブロック内のテクスチャ情報が等しくなるようなアフィン変換行列を求めることによって、3次元物体の法線方向を推定することができる。さらに、物体上の各点の法線方向から、物体の3次元形状、あるいは、奥行き情報を計算することができる。
特開平8−287253号公報
「An Eigendecomposition Method for Shape-from-Texture」、Proc. Int’l Conf. on Pattern Recognition (ICPR’00) vol. 1, 2000
B. S. Manjunath, et al. "Color and Texture Descriptors," IEEE Trans. Circuits and Systems for Video Technology, vol. 11, no. 6, pp. 703-715, June 2001
しかしながら、上記の従来技術には以下に示すような問題点がある。
従来の物体形状推定技術は、ある一定の領域の中における物体形状の推定を行う。即ち、上記のシェイプフロムシェーディング手法では、領域Aの中で物体形状を推定し、上記のシェイプフロムテクスチャ手法では、自己相関関数を取得する領域において物体形状を推定する。以下の説明中の「分析領域」は、これらの領域を表している。従来技術では、分析領域毎に物体形状が推定されるので、分析領域の中で、実際の物体の法線方向が変化すると、物体形状の推定の精度が低下する、という問題点がある。しかし、従来、この分析領域のサイズの重要性が指摘、考慮されることはなく、分析領域サイズの決定手法も提案されていない。
このように、適当な分析領域サイズを使用しない従来の物体形状推定技術には、より具体的に、以下のような問題点(1)〜(3)が存在している。即ち、
(1)分析領域のサイズが大きい場合、領域の中で物体の形状が変化(即ち、法線方向が変化)する可能性があり、精密な形状測定ができない。
(2)分析領域のサイズが小さい場合、領域数が多くなるため、計算負荷が大きくなる。
(3)上記のシェイプフロムテクスチャ手法において、分析領域のサイズが小さい場合に、有意なピーク点が低周波成分にしか存在しないような状況では、小さな領域では高い周波数成分しか分析できないため、低い周波数成分に存在するピーク点を検知できなくなってしまう。
(4)分析領域のサイズが小さい場合、誤差の影響が大きくなる。
したがって、本発明は、上記の従来技術の問題点に鑑みて、最適な分析領域のサイズを選択して、演算負荷を削減し、かつ、精密な測定を行うことのできる物体形状推定方法及び装置の提供を目的とする。
更に、本発明は、上記物体形状推定方法で用いられる画像領域を生成する方法、及び、上記物体形状推定装置で用いられる画像領域を生成する装置の提供を目的とする。
また、本発明は、このような物体形状推定装置において行われる処理をコンピュータに実現させるためのプログラム、及び、このプログラムを記録した記録媒体の提供を目的とする。
上記目的を達成するため、本発明の物体形状推定方法は、コンピュータが、コンピュータ上に表現された物体の2次元投影画像を受け付ける受付ステップと、コンピュータが、前記2次元投影画像を複数の画像領域に分割する分割ステップと、コンピュータが、前記複数の画像領域の中から隣接する画像領域の組を抽出する抽出ステップと、コンピュータが、前記抽出ステップで抽出した前記画像領域の組に含まれる画像領域間の近似度を算出する算出ステップと、コンピュータが、前記算出ステップで算出された近似度と所定の近似度の条件とに基づいて、前記画像領域の組に含まれる画像領域が近似しているかどうかを判定する判定ステップと、コンピュータが、前記画像領域の組に含まれる画像領域が近似していると判定された場合、前記画像領域の組に含まれる画像領域を新たな画像領域として統合する統合ステップと、コンピュータが、前記統合された画像領域、及び、近似していないと判定された前記画像領域の組に含まれる画像領域を物体の形状推定のための推定対象領域として用いて、前記推定対象領域に対応した3次元空間内の面の形状を推定する第1推定ステップとを有し、前記判定ステップは、隣接した画像領域間のテクスチャ情報の変化が少ない場合に画像領域は近似していると判定し、前記第1推定ステップは、画像領域間のテクスチャ情報の変化をアフィン変換によって近似する第1近似ステップと、前記アフィン変換を用いて前記3次元空間内の面の向きを推定するステップとを含み、前記第1近似ステップは、対象となる二つの画像領域のサイズが異なる場合に、前記二つの画像領域のうちのサイズが大きい方の画像領域を小さい方の画像領域のサイズに縮小するか、又は、前記大きい方の画像領域から前記小さい方の画像領域のサイズと同じサイズの領域を抜き出すことにより、前記対象となる二つの画像領域のサイズを一致させる一致ステップと、サイズが一致させられた画像領域間のテクスチャ情報の変化をアフィン変換によって近似する第2近似ステップとを含むことを特徴とする物体の3次元形状を推定することを特徴としている。
また、物体形状推定方法は、コンピュータ上に表現された物体の2次元投影画像を形状推定するため用いられる複数の推定対象領域に分割するステップと、得られた各推定対象領域に対応した3次元空間内の物体の面を推定するステップと、を有し、前記2次元画像を複数の推定対象領域に分割するステップは、隣接した画像領域間のテクスチャ情報の変化に応じて分割されるべき画像領域のサイズを変化させる物体の3次元形状を推定する方法であっても良い。これにより、入力画像中のテクスチャ情報の変化の割合に応じて、分析領域、即ち、推定対象領域が大きくても良い場合には、大きな分析領域を採用し、小さな分析領域が必要な場合には、小さな分析領域を採用することによって、最適な分析領域のサイズを選択して、物体形状を推定できるようになる。
また、物体形状推定方法は、コンピュータ上に表現された物体の2次元投影画像を入力するステップと、前記2次元投影画像を複数の画像領域に分割するステップと、前記複数の画像領域の中から隣接する画像領域の組を抽出するステップと、前記画像領域の組に含まれる画像領域が近似しているかどうかを判定するステップと、前記画像領域の組に含まれる画像領域が近似していると判定された場合、前記画像領域の組に含まれる画像領域を新たな画像領域として統合するステップと、前記統合された画像領域、及び、近似していないと判定された前記画像領域の組に含まれる画像領域を物体の形状推定のための推定対象領域として用いて、前記推定対象領域に対応した3次元空間内の面を推定するステップと、を有する物体の3次元形状を推定する方法であっても良い。これにより、画像領域の近似の程度に応じて、分析領域、即ち、推定対象領域が大きくても良い場合には、大きな分析領域を採用し、小さな分析領域が必要な場合には、小さな分析領域を採用することによって、最適な分析領域のサイズを選択して、物体形状を推定できるようになる。
また、上記物体の3次元形状を推定する方法において、複数の前記統合された画像領域が存在する場合に、前記統合された画像領域に対して、前記複数の画像領域の中から隣接する画像領域の組を抽出するステップと、前記画像領域の組に含まれる画像領域が近似しているかどうかを判定するステップと、前記画像領域の組に含まれる画像領域が近似していると判定された場合、前記画像領域の組に含まれる画像領域を新たな画像領域として統合するステップと、を繰り返し適用する構成を採用できる。これにより、分割された画像領域を階層的に統合することが可能であり、最初に分割された画像領域は最も小さなものであるが、必要な場合には、段階的に少しずつ大きな領域に統合することができる。
また、上記物体の3次元形状を推定する方法において、前記画像領域の組に含まれる画像領域が近似しているかどうかを判定するステップは、隣接した画像領域間のテクスチャ情報の変化が少ない場合に画像領域は近似していると判定し、前記推定対象領域毎に対応した3次元空間内の面を推定するステップは、画像領域間のテクスチャ情報の変化をアフィン変換によって近似するステップと、前記アフィン変換を用いて前記3次元空間内の面の向きを推定するステップと、を含む構成を採用できる。前記画像領域間のテクスチャ情報の変化をアフィン変換によって近似するステップは、対象となる二つの画像領域のサイズが異なる場合に、前記二つの画像領域のうちのサイズが大きい方の画像領域を小さい方の画像領域のサイズに縮小するか、又は、前記大きい方の画像領域から前記小さい方の画像領域のサイズと同じサイズの領域を抜き出すことにより、前記対象となる二つの画像領域のサイズを一致させるステップと、サイズが一致させられた画像領域間のテクスチャ情報の変化をアフィン変換によって近似するステップと、を含む構成を採用できる。これにより、テクスチャ情報の変化に応じて最適な推定対象領域を選択できるようになる。また、サイズの異なる画像領域間のテクスチャ情報の変化をアフィン変換で近似することができるので、本発明の方法をある一定の領域の中で物体形状推定を行う技術と結合することができる。
また、上記物体の3次元形状を推定する方法において、前記推定対象領域毎に対応した3次元空間内の面を推定するステップは、前記推定対象領域毎に前記面を推定するためのパラメータを割り当てるステップと、前記2次元投影画像を同一の形状とサイズを有する複数の小領域に分割するステップと、前記小領域の各々に対し、前記小領域が属する前記推定対象領域に割り当てられた前記パラメータを再割り当てするステップと、前記再割り当てされたパラメータを用いて前記小領域毎に3次元空間内の面を推定するステップと、を含む構成を採用できる。これにより、上記方法を、一定形状の画像領域毎に物体形状推定を行う技術と結合することができる。
また、上記物体の3次元形状を推定する方法において、前記画像領域の組に含まれる画像領域が近似しているかどうかを判定するステップは、各画像領域のテクスチャ情報の性質を表すベクトルを算出し、前記算出されたベクトル間の距離が所定の閾値よりも小さい場合に画像領域が近似していると判定する構成を採用できる。これにより、テクスチャ情報の変化をベクトル間の距離によって表現できるので処理を簡単化することができる。
また、物体形状推定方法は、前記2次元投影画像を複数の画像領域に分割するステップと、隣接した画像領域間のテクスチャ情報の変化に応じて前記隣接した画像領域を新たな一つの画像領域として統合するステップと、を有するコンピュータ上に表現された物体の2次元投影画像から3次元空間内の物体の面を推定するために用いられる画像領域を生成する方法を含んでも良い。これにより、入力画像中のテクスチャ情報の変化の割合に応じて、分析領域、即ち、推定対象領域が大きくても良い場合には、大きな分析領域を採用し、小さな分析領域が必要な場合には、小さな分析領域を採用することによって、最適な分析領域のサイズを選択することができる。
更に、上記目的を達成するため、本発明の物体形状推定装置は、コンピュータ上に表現された物体の2次元投影画像を受け付ける受付手段と、前記2次元投影画像を複数の画像領域に分割する分割手段と、前記複数の画像領域の中から隣接する画像領域の組を抽出する抽出手段と、前記抽出ステップで抽出した前記画像領域の組に含まれる画像領域間の近似度を算出する算出手段と、前記算出手段で算出された近似度と、所定の近似度の条件とに基づいて、前記画像領域の組に含まれる画像領域が近似しているかどうかを判定する判定手段と、前記画像領域の組に含まれる画像領域が近似していると判定された場合、前記画像領域の組に含まれる画像領域を新たな画像領域として統合する統合手段と、前記統合された画像領域、及び、近似していないと判定された前記画像領域の組に含まれる画像領域を物体の形状推定のための推定対象領域として用いて、前記推定対象領域に対応した3次元空間内の面の形状を推定する第1推定手段とを有し、前記判定手段は、隣接した画像領域間のテクスチャ情報の変化が少ない場合に画像領域は近似していると判定し、前記第1推定手段は、画像領域間のテクスチャ情報の変化をアフィン変換によって近似する第1近似手段と、前記アフィン変換を用いて前記3次元空間内の面の向きを推定する手段とを含み、前記第1近似手段は、対象となる二つの画像領域のサイズが異なる場合に、前記二つの画像領域のうちのサイズが大きい方の画像領域を小さい方の画像領域のサイズに縮小するか、又は、前記大きい方の画像領域から前記小さい方の画像領域のサイズと同じサイズの領域を抜き出すことにより、前記対象となる二つの画像領域のサイズを一致させる一致手段と、サイズが一致させられた画像領域間のテクスチャ情報の変化をアフィン変換によって近似する第2近似手段とを備えることを特徴としている。
上記構成において、前記算出手段は、画像領域のテクスチャ情報の性質を表すベクトル間の距離を前記近似度として算出し、前記判定手段は、前記算出手段が算出した距離が所定の閾値よりも小さい場合に画像領域が近似していると判定する構成を採用できる。また、上記構成において、前記分割手段は、前記2次元投影画像を複数の領域に分割する手段と、前記領域内での高周波成分の寄与度を評価する手段と、前記領域内での高周波成分の寄与度が所定の寄与度よりも高い場合、該領域を更に小さい領域に分割する手段とを含む構成を採用できる。
上記構成において、前記分割手段は、前記2次元投影画像を複数の領域に分割する手段と、前記領域内での高周波成分の寄与度を評価する手段と、前記領域内での高周波成分の寄与度が所定の寄与度よりも高い場合、該領域を更に小さい領域に分割する手段とを含む構成を採用できる。
また、物体形状推定装置は、コンピュータ上に表現された物体の2次元投影画像を入力する画像入力手段と、前記2次元投影画像を複数の画像領域に分割する画像分割手段と、前記複数の画像領域の中から隣接する画像領域の組を抽出する画像領域抽出手段と、前記画像領域の組に含まれる画像領域間の近似度を算出する画像領域間近似度算出手段と、前記画像領域の組に含まれる画像領域が所定の近似度の条件を満たす場合に、前記画像領域の組に含まれる画像領域を新たな画像領域として統合する画像領域統合手段と、前記画像領域統合手段に接続され、前記統合された画像領域、及び、前記所定の近似度の条件を満たさなかった画像領域を物体の形状推定のための推定対象領域として取得し、前記推定対象領域毎に対応した3次元空間内の面を推定する形状推定手段と、を有する物体の3次元形状を推定する装置であっても良い。これにより、画像領域の近似の程度に応じて、分析領域、即ち、推定対象領域が大きくても良い場合には、大きな分析領域を採用し、小さな分析領域が必要な場合には、小さな分析領域を採用することによって、最適な分析領域のサイズを選択して、物体形状を推定できるようになる。
また、上記物体の3次元形状を推定する装置において、前記画像領域統合手段は、前記所定の近似度の条件を満たさない前記画像領域の組に含まれる画像領域を前記形状推定手段へ供給し、統合された前記新たな画像領域を前記画像領域抽出手段へ供給する。前記画像領域抽出手段は、隣接する画像領域の組に含まれる画像領域を前記画像領域間近似度算出手段へ供給し、いずれの画像領域の組にも属さない画像領域を前記形状推定手段へ供給する構成を採用できる。これにより、分割された画像領域を階層的に統合することが可能であり、最初に分割された画像領域は最も小さなものであるが、必要な場合には、段階的に少しずつ大きな領域に統合することができる。
また、上記物体の3次元形状を推定する装置において、前記画像領域間近似度算出手段は、隣接した画像領域間のテクスチャ情報の変化の大きさに基づいて近似度を算出する。前記形状推定手段は、前記推定対象領域間のテクスチャ情報の変化をアフィン変換によって近似し、前記アフィン変換を用いて前記3次元空間内の面の向きを推定する構成を採用できる。これにより、テクスチャ情報の変化に応じて最適な推定対象領域を選択できるようになる。
また、上記物体の3次元形状を推定する装置において、前記形状推定手段は、対象となる二つの推定対象領域のサイズが異なる場合に、前記二つの推定対象領域のうちのサイズが大きい方の推定対象領域を小さい方の推定対象領域のサイズに縮小するか、又は、前記大きい方の推定対象領域から前記小さい方の推定対象領域のサイズと同じサイズの領域を抜き出すことにより、前記対象となる二つの推定対象領域のサイズを一致させる構成を採用できる。これにより、サイズの異なる画像領域間のテクスチャ情報の変化をアフィン変換で近似することができるので、本発明の装置をある一定の領域の中で物体形状推定を行う技術と結合することができる。
また、上記物体の3次元形状を推定する装置において、前記形状推定手段は、前記推定対象領域毎に前記面を推定するためのパラメータを割り当てる手段と、前記2次元投影画像を同一の形状とサイズを有する複数の小領域に分割する手段と、前記小領域の各々に対し、前記小領域が属する前記推定対象領域に割り当てられた前記パラメータを再割り当てする手段と、前記再割り当てされたパラメータを用いて前記小領域毎に3次元空間内の面を推定する手段と、を含む構成を採用できる。これにより、本発明の装置を、一定形状の画像領域毎に物体形状推定を行う技術と結合することができる。
物体形状推定装置は、前記2次元投影画像を複数の画像領域に分割する手段と、隣接した画像領域間のテクスチャ情報の変化に応じて前記隣接した画像領域を新たな一つの画像領域として統合する手段と、を有するコンピュータ上に表現された物体の2次元投影画像から3次元空間内の物体の面を推定するために用いられる画像領域を生成する装置を含んでもよい。これにより、入力画像中のテクスチャ情報の変化の割合に応じて、分析領域、即ち、推定対象領域が大きくても良い場合には、大きな分析領域を採用し、小さな分析領域が必要な場合には、小さな分析領域を採用することによって、最適な分析領域のサイズを選択することができる。
更に、上記目的を達成するため、本発明の物体形状推定プログラムは、コンピュータを、コンピュータ上に表現された物体の2次元投影画像を受け付ける受付手段と、前記2次元投影画像を複数の画像領域に分割する分割手段と、前記複数の画像領域の中から隣接する画像領域の組を抽出する抽出手段と、前記抽出ステップで抽出した前記画像領域の組に含まれる画像領域間の近似度を算出する算出手段と、前記算出手段で算出された近似度と、所定の近似度の条件とに基づいて、前記画像領域の組に含まれる画像領域が近似しているかどうかを判定する判定手段と、前記画像領域の組に含まれる画像領域が近似していると判定された場合、前記画像領域の組に含まれる画像領域を新たな画像領域として統合する統合手段と、前記統合された画像領域、及び、近似していないと判定された前記画像領域の組に含まれる画像領域を物体の形状推定のための推定対象領域として用いて、前記推定対象領域に対応した3次元空間内の面の形状を推定する第1推定手段として機能させ、前記判定手段は、隣接した画像領域間のテクスチャ情報の変化が少ない場合に画像領域は近似していると判定し、前記第1推定手段は、画像領域間のテクスチャ情報の変化をアフィン変換によって近似する第1近似手段と、前記アフィン変換を用いて前記3次元空間内の面の向きを推定する手段とを含み、前記第1近似手段は、対象となる二つの画像領域のサイズが異なる場合に、前記二つの画像領域のうちのサイズが大きい方の画像領域を小さい方の画像領域のサイズに縮小するか、又は、前記大きい方の画像領域から前記小さい方の画像領域のサイズと同じサイズの領域を抜き出すことにより、前記対象となる二つの画像領域のサイズを一致させる一致手段と、サイズが一致させられた画像領域間のテクスチャ情報の変化をアフィン変換によって近似する第2近似手段とを備えることを特徴としている。
また、物体形状推定プログラムは、コンピュータ上に表現された物体の2次元投影画像を入力するステップと、前記2次元投影画像を複数の画像領域に分割するステップと、前記複数の画像領域の中から隣接する画像領域の組を抽出するステップと、前記画像領域の組に含まれる画像領域が近似しているかどうかを判定するステップと、前記画像領域の組に含まれる画像領域が近似していると判定された場合、前記画像領域の組に含まれる画像領域を新たな画像領域として統合するステップと、前記統合された画像領域、及び、近似していないと判定された前記画像領域の組に含まれる画像領域を物体の形状推定のための推定対象領域として用いて、前記推定対象領域毎に対応した3次元空間内の面を推定するステップと、をコンピュータに実行させる物体の2次元投影画像から3次元形状を推定するプログラムであっても良い。これにより、本発明の様々な機能をコンピュータに実現させるためのプログラムを提供することができる。このプログラムは、通信回線や記録媒体を用いてコンピュータに提供することが可能である。
上記物体の2次元投影画像から3次元形状を推定するプログラムにおいて、複数の前記統合された画像領域が存在する場合に、前記統合された画像領域に対して、前記複数の画像領域の中から隣接する画像領域の組を抽出するステップと、前記画像領域の組に含まれる画像領域が近似しているかどうかを判定するステップと、前記画像領域の組に含まれる画像領域が近似していると判定された場合、前記画像領域の組に含まれる画像領域を新たな画像領域として統合するステップと、を繰り返し適用するステップを更にコンピュータに実行させる構成を採用できる。
更に、物体形状推定方法は、コンピュータ上に表現された物体の2次元投影画像を形状推定するため用いられる複数の推定対象領域に分割するステップと、得られた各推定対象領域に対応した3次元空間内の物体の面を推定するステップと、を有する。ここで、前記2次元画像を複数の推定対象領域に分割するステップは、前記2次元画像を複数の画像領域に分割するステップと、所定の量を超える高周波成分を含む画像領域を更に小さい画像領域に分割するステップと、隣接した画像領域間のテクスチャ情報の変化に応じて前記分割された画像領域のサイズを変化させることにより前記推定対象領域を形成するステップと、を含む物体の3次元形状を推定する方法であっても良い。
この方法によれば、入力画像である物体の2次元投影画像は、所定の画像領域に分割され、その画像領域が分割可能であれば、更に分割されるので、分割可能な画像領域を繰り返し分割することが可能である。このようにして、2次元投影画像を複数の可変サイズの領域に分割し、次に、可変サイズに分割された領域を、テクスチャ情報に応じて統合した後に物体形状を推定する。
したがって、これによれば、物体の2次元投影画像の性質に応じて、推定対象領域のサイズを小さくすることにより、各領域で精密な形状測定を実現し、或いは、推定対象領域のサイズを大きくして領域数を減少させることにより、計算負荷を減少させることができる。
更に、物体形状推定装置は、前記2次元投影画像を複数の画像領域に分割する手段と、前記複数の画像領域の中で隣接した画像領域間のテクスチャ情報の変化に応じて前記隣接した画像領域を新たな一つの画像領域として統合することにより推定対象領域を形成する手段と、前記推定対象領域の各々に対応した3次元空間内の形状を推定する手段と、を有するコンピュータ上に表現された物体の2次元投影画像から3次元空間内の物体の面を推定する装置であっても良い。ここで、前記2次元投影画像を複数の画像領域に分割する手段は、前記2次元投影画像を複数の領域に分割する手段と、前記領域内での高周波成分の寄与度を評価する手段と、前記領域内での高周波成分の寄与度が所定の寄与度よりも高い場合、該領域を更に小さい領域に分割する手段と、を含む。
この装置によれば、入力画像である物体の2次元投影画像は、所定の画像領域に分割され、その画像領域が分割可能であれば、即ち、領域内で画像の高周波成分の寄与が高い場合には、更に小さい領域に分割される。このようにして、2次元投影画像を複数の可変サイズの領域に分割し、次に、可変サイズに分割された領域を、テクスチャ情報に応じて統合した後に物体形状を推定する。
したがって、これによれば、物体の2次元投影画像の性質に応じて、推定対象領域のサイズを小さくすることにより、各領域で精密な形状測定を実現し、或いは、推定対象領域のサイズを大きくして領域数を減少させることにより、計算負荷を減少させることができる。
更に、物体形状推定プログラムは、コンピュータ上に表現された物体の2次元投影画像から3次元空間内の物体の面を推定するコンピュータに、前記2次元投影画像を複数の領域に分割し、前記領域内での高周波成分の寄与度を評価し、前記領域内での高周波成分の寄与度が所定の寄与度よりも高い場合、該領域を更に小さい領域に分割することにより、前記2次元投影画像を複数の画像領域に分割する機能と、隣接した画像領域間のテクスチャ情報の変化に応じて前記隣接した画像領域を新たな一つの画像領域として統合することにより推定対象領域を形成する機能と、前記推定対象領域の各々に対応した3次元空間内の形状を推定する機能と、を実現させるためのプログラムであっても良い。コンピュータは、このプログラムを実行することにより、入力画像である物体の2次元投影画像を所定の画像領域に分割し、その画像領域が分割可能であれば、即ち、領域内で画像の高周波成分の寄与が高い場合には、更に小さい領域に分割することができる。そして、このコンピュータは、このようにして、2次元投影画像を複数の可変サイズの領域に分割し、次に、可変サイズに分割された領域を、テクスチャ情報に応じて統合した後に物体形状を推定する。したがって、上記の機能をコンピュータに実現させることによって、物体の2次元投影画像の性質に応じて、推定対象領域のサイズを小さくすることにより、各領域で精密な形状測定を実現し、或いは、推定対象領域のサイズを大きくして領域数を減少させることにより、計算負荷を減少させることができる。
更に、本発明の記録媒体は、請求項5に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体である。
本発明によれば、コンピュータ上に表現された物体の2次元投影画像から3次元空間内の物体の面を推定する際に、推定対象の画像領域の最適なサイズを決定することができるので、演算負荷を削減し、かつ、精密な測定を行うことができる。
以下、本発明を実施するための最良の形態を図面と共に詳細に説明する。
図1は、本発明の実施例1による物体形状推定装置100の構成図である。物体形状推定装置100は、コンピュータ上に表現された物体の2次元投影画像を入力する画像入力部101と、2次元投影画像を複数の画像領域に分割する画像分割部102と、複数の画像領域の中から隣接する画像領域の組を抽出する画像領域抽出部103と、画像領域の組に含まれる画像領域間の近似度を算出する画像領域間近似度算出部104と、を有する。
物体形状推定装置100は、更に、画像領域の組に含まれる画像領域が所定の近似度の条件を満たす場合に、画像領域の組に含まれる画像領域を新たな画像領域として統合する画像領域統合部105と、画像領域統合部105に接続され、統合された画像領域、及び、所定の近似度の条件を満たさなかった画像領域を物体の形状推定のための推定対象領域として取得し、推定対象領域毎に対応した3次元空間内の面を推定する形状推定部106と、を更に有する。これにより、物体形状推定装置100は、画像領域の近似の程度に応じて、分析領域、即ち、推定対象領域が大きくても良い場合には、大きな分析領域を採用し、小さな分析領域が必要な場合には、小さな分析領域を採用することによって、最適な分析領域のサイズを選択して、物体形状を推定できるようになる。
また、画像領域統合部105は、所定の近似度の条件を満たさない画像領域の組に含まれる画像領域を形状推定部106へ供給し、統合された新たな画像領域を画像領域抽出部103へ供給する。画像領域抽出部103は、隣接する画像領域の組に含まれる画像領域を画像領域間近似度算出部104へ供給し、いずれの画像領域の組にも属さない画像領域を形状推定部106へ供給する。これにより、これにより、分割された画像領域を階層的に統合することが可能であり、最初に分割された画像領域は最も小さなものであるが、必要な場合には、段階的に少しずつ大きな領域に統合することができる。
図2は、本発明の実施例1による物体形状推定装置100の動作フローチャートである。物体形状推定装置100の画像入力部101はコンピュータ上に表現された物体の2次元投影画像を入力し(ステップ201)、画像分割部102は2次元投影画像を複数の画像領域に分割する(ステップ202)。次に、画像領域抽出部103は、複数の画像領域の中から隣接する画像領域の組を抽出し(ステップ203)、画像領域間近似度算出部104は、画像領域の組に含まれる画像領域が近似しているかどうかを判定する(ステップ204)。画像領域統合部105は、画像領域の組に含まれる画像領域が近似していると判定された場合、画像領域の組に含まれる画像領域を新たな画像領域として統合する(ステップ205)。形状推定部106は、統合された画像領域、及び、近似していないと判定された画像領域の組に含まれる画像領域を物体の形状推定のための推定対象領域として用いて、推定対象領域毎に対応した3次元空間内の面を推定する(ステップ207)。これにより、画像領域の近似の程度に応じて、分析領域、即ち、推定対象領域が大きくても良い場合には、大きな分析領域を採用し、小さな分析領域が必要な場合には、小さな分析領域を採用することによって、最適な分析領域のサイズを選択して、物体形状を推定できるようになる。
また、物体形状推定装置100の画像領域統合部105は、複数の統合された画像領域が存在する場合に、統合された画像領域に対して、複数の画像領域の中から隣接する画像領域の組を抽出するステップ203と、画像領域の組に含まれる画像領域が近似しているかどうかを判定するステップ204と、画像領域の組に含まれる画像領域が近似していると判定された場合、画像領域の組に含まれる画像領域を新たな画像領域として統合するステップ205と、を繰り返し適用する(ステップ206)。これにより、分割された画像領域を階層的に統合することが可能であり、最初に分割された画像領域は最も小さなものであるが、必要な場合には、段階的に少しずつ大きな領域に統合することができる。
尚、以上で説明した実施例1は本発明を実施するための最良の形態の一つにすぎず、本発明はその趣旨を逸脱しない限り種々変形して実施可能である。
図3は、本発明の実施例2による物体形状推定装置300の構成図である。実施例2では、画像を分割して領域に分け、その領域を統合して、統合後の画像領域に対して3次元空間内の形状パラメータを推定する。
物体形状推定装置300は、画像を入力する画像入力部301と、画像入力部301によって入力された画像を複数の画像領域に分割する画像分割部302と、画像分割部302によって分割された画像領域の中から、お互いに隣接する複数の画像領域を抽出する画像領域抽出部303と、画像領域抽出部303によって抽出された複数の画像領域間の近似度を計測する画像領域間距離算出部304と、画像領域間距離算出部304により算出された距離が所定の閾値以下である場合に、画像領域抽出部303で抽出された複数の画像領域を統合して一つの画像領域とする画像領域統合部305とを具備する。
形状推定部306は、統合後の画像領域の形状パラメータが一定であることを仮定して、該画像領域の形状パラメータを推定する。形状パラメータとして、例えば、その画像領域の法線方向、即ち、スラント角度、チルト角度が挙げられる。或いは、その画像領域の曲率、最大曲率の方向、最小曲率の方向なども、形状パラメータに加えられる場合がある。
画像領域間距離は、複数の画像領域間の近似度が大きな場合、即ち、複数の画像領域が似ている場合には小さく、近似度が小さな場合、即ち、複数の画像領域が似ていない場合には大きくなるように設定される。
また、分割された画像領域は階層的に統合される。そのため、画像分割部302は、画像入力部301によって入力された画像を複数の第1階層の画像領域に分割する。画像領域抽出部303は、画像分割部302によって分割された画像領域の中から、お互いに隣接しており、かつ、同一階層に存在する複数の画像領域を抽出する。画像領域統合部305は、第K階層の画像領域を統合して、第(K+1)階層の画像領域を作成する。このような構成により、最初に分割された画像領域は最も小さなものであるが、必要な場合には、段階的に少しずつ大きな領域に統合することができる。
更に、画像領域抽出部303は、抽出した画像領域が統合された場合に、その画像領域の形状が常に同じ形状(大きさは変化しても構わない)になるように画像領域を抽出する。また、画像領域抽出部303は、同一階層に存在する画像領域のみを用いて上記の形状を形成できない場合には、それらの画像領域を抽出しない。統合後の画像領域の形状を同じ形に保持することによって、物体形状推定を容易にすることができる。
画像領域間距離算出部304は、二つの画像領域間の距離を算出する2入力画像領域間距離算出部により構成することができる。画像領域間距離算出部304は、三つ以上の画像領域間の距離を算出する場合には、三つ以上の画像領域から二つを取り出す組み合わせを全て網羅するように二つの画像領域を選択して、選択した二つの画像領域間の距離を2入力画像領域間距離算出部で算出し、全ての組み合わせに関する2入力画像領域間距離の最大値を画像領域間距離とする。このように、画像領域間距離算出部304は、画像領域間の近似度を算出するため、抽出した画像領域間の距離のうち最大のものを、抽出した画像領域群の距離として定義する。
更に、2入力画像領域間距離算出部は、画像領域のテクスチャ情報の性質を示すベクトルを算出する画像領域性質算出部と、二つの画像領域のテクスチャ情報の性質の距離を算出する画像性質距離算出部とを具備する。画像性質距離算出部は、二つの画像領域のテクスチャ情報の性質を示すベクトル間の距離を算出する。
画像領域のテクスチャ情報を示すベクトルを用いて、二つの画像領域に対するベクトル間の距離を計測することで、画像領域近似度を算出することができる。この距離は、ベクトルの差分のL1ノルム、L2ノルム、L∞ノルムなどを用いることができる。或いは、ベクトルの各要素ごとに正規化、若しくは、重み付けをしてもよい。
更に、画像分割部302は、入力画像をm画素×n画素の矩形に分割する。第K階層のブロックのサイズは、(2K-1×m)画素×(2K-1×n)画素であり、第K階層のブロックは、行番号iと、列番号j、ただし、i=1,2,3,...、j=1,2,3,...を用いて指定できる。このとき、第(K+1)階層の行番号n、列番号mのブロックを作成するために、画像領域抽出部303は、第K階層のi=2×n-1、i=2×n、及び、j=2×m-1、j=2×mによって指定することのできる4個のブロックを抽出する。但し、ここで示す行番号や列番号は、右から左、左から右、上から下、又は、下から上へのいずれの方向で昇順になるように設定しても構わない。これにより、画像領域の形状は矩形に限定され、さらに、統合する画像領域の位置関係は2行2列で表される4個の領域に限定される。
画像領域の形状が均一の場合のみに適用できる形状推定装置にも適用可能なように、形状推定部306は、二つの画像領域間のアフィン変換行列を推定するアフィン変換行列推定部と、画像領域縮小部と、画像領域抜き出し部とを具備する。形状推定部306は、二つの画像領域のサイズが異なる場合には、画像領域縮小部によって、大きい方の画像領域を縮小して作成した画像領域と、小さい方の画像領域間のアフィン変換行列を推定し、また、画像領域抜き出し部によって、大きい方の画像領域から抜き出して作成した画像領域と、小さい方の画像領域間のアフィン変換行列を推定し、さらに、上記二つのアフィン変換行列のうちの一方をアフィン変換行列推定部の出力として採用する。これにより、画像領域統合部305によって統合された画像領域間(即ち、異なるサイズのブロック間)でアフィン変換を求めることが可能になる。
また、形状推定部306は、統合された画像領域を分割する画像領域分割部を含む。画像領域分割部は、統合された画像領域を分割し、入力画像全面に亘って画像領域が同一の形状、大きさになるようにする。そして、画像領域分割部は、同一の形状、大きさになった画像領域に対して、分割前の形状パラメータを与え、各画像領域が各々形状パラメータを保持しているようにする。分割前の形状パラメータとは、統合された画像領域に対して獲得された形状パラメータであり、分割された画像領域の形状パラメータは、分割前の画像領域の形状パラメータを継承している。これにより、均一サイズの領域に対して3次元形状を推定する方式を本発明の物体形状推定装置にそのまま用いることができる。
更に、形状推定部306は、統合画像領域の最小サイズを求める最小画像領域算出部を具備してもよく、これにより、分割画像領域のサイズをできるだけ大きくする。統合後の画像領域の中でもっとも小さい画像領域に分割することで、できるだけ大きな画像領域、かつ、均一な画像領域に分割することができ、計算負荷を減少させることができる。
尚、以上で説明した実施例2は本発明を実施するための最良の形態の一つにすぎず、本発明はその趣旨を逸脱しない限り種々変形して実施可能である。
本発明の実施例3は、コンピュータ上に表現された物体の2次元投影画像から3次元空間内の物体の面を推定するために用いられる画像領域を生成する画像領域生成装置である。最初に、図4に示された本発明の実施例3の画像領域生成装置の動作フローチャートを参照して、実施例3の概略的な考え方を説明する。
ステップ401:入力画像を小さなブロックに分割する。
ステップ402:隣接するブロック間のテクスチャ情報が似ているかどうか判別する。
ステップ403:もし、似ているならば、それらのブロックは統合して、新たなブロックを形成する。
ステップ404:もし、似ていなければ、統合せずに、小さなブロックのまま分析を行う。
ステップ405:ステップ402へ戻る。統合したブロック間でもテクスチャ情報の近似度を計算し、さらに大きなブロックに統合できるか判別を繰り返す。
本発明の実施例3によれば、上記のようなステップに従って、テクスチャ情報が異なるブロックを統合することなく、テクスチャ情報が似ているブロックは統合し分析を行う。これにより、大きな領域でも構わない場合には、大きな領域を利用して分析を行うことができる。
更に、上記のようにブロックサイズを可変にした場合、異なるサイズのブロック間でアフィン変換を算出する必要がある。
このため、本発明の実施例3では、サイズP×Pと、サイズQ×Qのブロック間(P>Q)のアフィン変換を求める場合(P×Pは、縦P画素、横P画素のブロックであることを示す)、次の(1)から(3)の手順に従ってアフィン変換を決定する。
(1)サイズP×Pを、サイズQ×Qに縮小して、Q×Qのサイズ同士でアフィン変換を求める。
(2)サイズP×Pの中心から、サイズQ×Qのブロックを抜き出して、Q×Qのサイズ同士でアフィン変換を求める。
(3)(1)と(2)のうち、より適している方を採用する。
このようにブロックサイズを可変にした場合、異なるサイズのブロックで求めた法線方向から、最終的な物体形状を求める。このため、本発明の実施例3においては、大きなブロックサイズは、最も小さなブロックに分割することによって、均一ブロックサイズに変換する。このように均一ブロックサイズにすることによって、従来技術による最終的な形状を求めるための手法をそのまま用いることができる。
図5は、本発明の実施例3による画像領域生成装置500の構成図である。図5において、入力画像501はブロック化部502に入力される。ブロック抽出部503は、ブロック化部502でブロック化された画像のうち、一部のブロックを抽出する。ブロック近似度算出部504は、ブロック抽出部503で抽出されたブロック間の近似度を算出し、抽出されたブロックを統合するかどうか決定する。ブロック統合部505は、ブロック近似度算出部504で統合すると決定されたブロックを統合する。ブロック統合部505によるブロックの統合後、画像領域生成装置500の処理は、ブロック抽出部503に戻る。
ブロック抽出部503は、これまでに抽出されていないブロックを抽出し、抽出されたブロックに対して、ブロック近似度算出部504は、更にブロック間の近似度を計算し、ブロック統合部505は、統合すべきであることが決定されたブロックを統合する。このように、ブロック抽出部503からブロック統合部505までの処理が繰り返される。既に統合されているブロックは、これまでに抽出されていないブロックと同様に処理される。ブロック抽出部503は、規定の大きさ以上のブロックは抽出しない。
ブロック抽出部503において、これ以上、抽出するブロックが無くなると、ブロック統合部505は、ブロック分割結果509を出力する。
このブロック分割結果は、従来のシェイプフロムシェーディング手法において、輝度の観測値と算出値の差をできるだけ小さくし、かつ、できるだけ表面が滑らかになるような3次元物体の奥行き情報(あるいは法線方向)を推定するために用いられるある領域Aとして物体形状推定部へ供給される。或いは、このブロック分割結果は、従来のシェイプフロムテクスチャ手法において、二つのブロック内のテクスチャ情報が等しくなるようなアフィン変換行列を求めることによって、3次元物体の法線方向を推定するためのブロックとして物体形状推定部へ供給される。
このように、本発明の実施例3による画像領域生成装置500の出力結果を従来のシェイプフロムシェーディング手法に基づく物体形状推定装置、又は、従来のシェイプフロムテクスチャ手法に基づく物体形状推定装置へ供給することにより、物体の2次元投影画像から、少ない計算量で精密に物体の3次元形状を推定することができるようになる。
以下では、画像領域生成装置500の各部の詳細の動作を説明する。
図6はブロック化部502の動作の説明図である。図6を参照してブロック化部502の動作を説明する。図6(a)には、入力画像が示されている。ブロック化部502は、図6の(a)入力画像501を、図6の(b)分割結果に示されるように複数の同一形状の矩形ブロックに分割する。ここで分割されたブロックは、最初の階層のブロック、即ち、第1階層のブロックである。ブロック統合部505による統合処理が進むにつれて、ブロックの階層も進行する。階層に関しては後で詳述する。
以下では、説明の都合上、分割された各ブロックにインデクスを付与する。分割された各矩形がN行M列に並べられているとすると、行の番号は、上から下へ昇順に1、2、3、…、Nとする。列の番号は、左から右へ昇順に、1、2、3、…、Mとする。また、第k階層のi行j列のブロックは、P(k,i,j)として指定する。ブロック化部502においてブロック化を行ったブロックは、第1階層のブロックであるため、P(1,i,j)のように表される。
次に、ブロック抽出部503及びブロック統合部505を説明する。ここで、まず、ブロック階層を説明する。図7は本発明の実施例3によるブロック統合部の説明図である。図7の(a)及び(b)に示されている「統合前の4ブロック」のように、ブロック抽出部503は、2行2列の隣接する4ブロックを抽出する。ブロック統合部505は、これらの4ブロックを統合して、一つのブロックを生成する。図7の(a)に示されるように、階層kの4ブロックを統合したブロックの階層はk+1である。ここで、階層kの隣接する4ブロックは、
P(k,i,j)
i=2n-1, 2n
j=2m-1, 2m
n=1,2,...
m=1,2,...
として、即ち、P(k,2n-1,2m-1)、P(k,2n,2m-1)、P(k,2n-1,2m)、及び、P(k,2n,2m)として抽出することができる。これらの4つのブロックを統合した時、階層k+1のブロックを一つ作成することが可能となる。この統合後のブロックは、
P(k+1,n,m)
として表すことができる。
次に、ブロック抽出部503とブロック統合部505の動作の具体的なステップに関して説明する。図8は、本発明の実施例3による画像領域生成装置のブロック抽出部503及びブロック統合部505の動作フローチャートである。ブロック化後の初期状態では、第1階層のブロックのみが存在している。以下、階層を表すインデクスをKとする。
ステップ801:K=1として初期化する。
ステップ802:ブロック抽出部503は、n=1,2,...、及び、 m=1,2,...に関して、以下の条件、即ち、
(条件1)i=2n-1, 2n
j=2m-1, 2m
(条件2)P(K,i,j)が存在
(条件3)2K×n≦N かつ 2K×m≦M
に合致する、隣接する4ブロックP(K,i,j)を抽出する。
図9は、本発明の実施例3による画像領域生成装置のブロック抽出部及びブロック統合部の説明図である。例えば、K=1のとき、図9に示すように抽出を行えばよい。最初に、図9(a)に示されるように、左上隅の隣接する4個のブロックを抽出する(n=1, m=1に相当する)。次に、図9(b)に示されるように、図9(a)で抽出した4ブロックの右に存在する4ブロックを抽出する(n=1, m=2に相当する)。このように、順次mを増加させ4ブロック単位でブロックを抽出する。mが最大値に達した時には、nを1だけ増加させて、m=1から順に再度増加させることにより、入力画像の全域に亘ってブロックを抽出することができる。最終抽出ブロックは図9(c)に示されている。但し、画像の端点において、i>N又は、j>Mとなることによって、4個のブロックの全てが抽出できない場合には、ブロックの抽出は行わない。(条件3)は、画像の端点ではブロックが抽出されないことを表している。
さらに、一般に、K=kの場合であっても、同様に左上から右下に向かって隣接する4個のブロックを同様に抽出する。但し、一般のK=kの場合には、P(K,i,j)が存在しない場合があるため、K=1の場合と異なる。図9の(d)〜(f)は第2階層のブロックの抽出を説明している。図9の(d)の斜線部分に示されるように、4個のブロック全てが第2階層のブロックである場合には、第3階層のブロックに統合することができる。これに対して、図9の(e)の斜線部に示されるように、画像の端まで達して、即ち、画像の端点にかかり、4個のブロックを抽出できない場合(上記の条件3を満たさない場合)には、ブロックの抽出を行わない。図9の(f)の斜線部に示されるように、4個のブロックのうちの1個以上のブロックが第2階層のブロックP(2,i,j)ではない場合には、これらの4個のブロックは抽出しない。
ステップ803:ブロック抽出部503で抽出された4個のブロックをブロック統合部505で統合する。実際に統合するかどうかは、ブロック近似度算出部504で算出されたブロック近似度の結果に依存する。統合する場合には、P(K,n,m)を作成する。また、4個のブロックを統合する場合には、統合される前の階層の4個のブロックの存在を抹消する。統合しない場合には、新しい階層のP(K,n,m)は作成しないので、P(K,n,m)は存在しない。
ステップ804:K=kにおいて抽出すべきブロックが全て抽出されたとき、Kが所定の値に達したかどうか、即ち、所定の階層に達したかどうかを判定する。
ステップ805:Kが所定の値より小さいとき、K=k+1とし、即ち、階層を一つ進めてステップ802に戻る。
ステップ806:Kが所定の値に達したとき、ブロック抽出処理を終了し、最終ブロック分割結果509を出力する。例えば、図9の例の場合、この所定の値は、3である。
最終的な統合結果の例は、図9の(g)に示されている。図9の(g)中の数値は各ブロックの階層を示す。同図から、第3階層は、広い面積で均一なテクスチャとなっていることがわかる。これに対して、第1階層は、テクスチャが急に変化している領域を表している。
実施例3の最後に、ブロック近似度算出部504を説明する。ブロック近似度算出部504には、次の4個のブロックPが入力される。
P(k,i,j) 但し、i=2n-1, 2n、j=2m-1, 2m
簡単のため、これらの4個のブロックをP1、P2、P3、P4とする。ブロック近似度算出部504は、何らかの手法により、これら4ブロック間でテクスチャ情報の距離を計算する。例えば、2個のブロックPi、Pj間のテクスチャ情報間距離を、
S2(Pi,Pj)
とする。4個のブロック間の距離S4(P1,P2,P3,P4)は、
として定義する。予め所定の閾値THを用意し、
S
4(P1,P2,P3,P4) < TH
となったとき、これら4個のブロックを統合することに決定する。上記の式に当てはまらない場合には、4つのブロックは統合しない。
次に、テクスチャ情報間距離S2(Pi,Pj)を算出する方法の一例を示す。例えば、2ブロック間のテクスチャ情報の距離を計測する技術の例として、文献:B. S. Manjunath, et al. “Color and Texture Descriptors,” IEEE Trans. Circuits and Systems for Video Technology, vol. 11, no. 6, pp. 703-715, June 2001に記載された方法を用いることができる。もちろん、別の方法を用いることも可能である。以下に示す方法では、上記の文献に示された方法を簡易化して、2ブロック間のテクスチャ情報の距離を計測する。
第1ステップ:正規化周波数W(0≦W≦1)と、角度qを用いて極座標表示した場合の、2次元ガボール関数のフーリエ変換を準備する。このガボール関数の中心周波数を(極座標表示で)、(Ws,qr)とする。sは、2次元周波数の半径のインデクスであり、rは2次元周波数の角度のインデクスである。Ws=3/4×2-s、qr=30°×r、 s=0,1,2,3,4、r=0,1,2,3,4,5として定義する。このとき、中心周波数が(Ws,qr)である2次元ガボール関数のフーリエ変換G(W,q)は極座標表示を用いて、
第2ステップ:入力ブロックを2次元フーリエ変換する。2次元フーリエ変換係数を、(1)式を用いて重み付けし、その出力の電力を計算する。インデクスsの個数は5個で、インデクスrの個数は6個であるから、中心周波数は30個存在する。よって、ガボール関数によって、フーリエ変換係数は30のチャネル(k=1〜30)に分割される。即ち、電力の出力値は30個存在する。ブロックPiのこれら30個の電力値を、e1(i)〜e30(i)とする。また、ブロックPiのテクスチャ情報TD(i)を、TD(i)=(e1(i), e2(i), ..., e30(i))として定義する。
第3ステップ:S2(Pi,Pj)は、TD(i)とTD(j)の距離として計算する。即ち、
である。ここで、a
k は、各チャネルの電力値毎の正規化(又は、重み付け)係数である。以上のチャネル数、角度のインデクス数、半径のインデクス数は一例に過ぎず、別の数値を用いても構わない。テクスチャ情報の距離を計測するために、他の手法も考えられる。例えば、
・ブロック内の平均値の差を用いる。
・ブロック内の画素値の分散の差を用いる。
・極座標ではなく、デカルト座標でガボール関数の電力の差を用いる。
・ガボール関数以外のフィルタの出力値を用いる(ウェーブレットフィルタ、エッジ検出フィルタ、低域通過フィルタ等など)
等、様々な手法が考えられる。
尚、以上で説明した実施例3は本発明を実施するための最良の形態の一つにすぎず、本発明はその趣旨を逸脱しない限り種々変形して実施可能である。
実施例3では、入力画像のテクスチャ情報の変化度に応じて、ブロックサイズを可変にする方法を示した。実施例3の出力結果では、入力画像が異なるサイズのブロックに分割される。非特許文献1に記載された従来技術のように2個のブロック間のアフィン変換を決定して物体形状を推定する方法に本発明を適用するためには、異なるサイズのブロック間のアフィン変換を求めることが必要である。そこで、本実施例4は、実施例3の画像領域生成装置によってサイズが可変になったブロック間でアフィン変換を求める。
図10は、本発明の実施例4による可変サイズブロック間のアフィン変換推定方法の説明図である。同図には、サイズがP画素×P画素のブロックiと、サイズがQ画素×Q画素のブロックjが示されている。ここで、P>Qであるとする。以下、ブロックiとブロックjの間のアフィン変換を求める。非特許文献1に記載されているような従来技術には、同一サイズのブロック間のアフィン変換を求める方法が提案されている。そこで、本実施例4では、ブロックiのサイズ(P×P)をブロックjのサイズ(Q×Q)に変換し、次に、従来技術で用いられている同一サイズのブロック間のアフィン変換を求める方法を利用してアフィン変換を求める。
第1の可変サイズブロック間のアフィン変換推定方法は、図10の(c)に示されるように、ブロックiのサイズをQ/P倍に縮小する。次に、この縮小ブロックからブロックjへのアフィン変換A1’を公知の方法で求める。実際のアフィン変換A1は、A1=Q/P×A1’として求めることができる。
或いは、第2の可変サイズブロック間のアフィン変換推定方法は、図10の(d)に示されるように、ブロックiの内部から、Q×Qのブロックを抜き出す。次に、この抜き出しブロックからブロックjへのアフィン変換A2を公知の方法で求める。
或いは、第3の可変サイズブロック間のアフィン変換推定方法は、ブロックiのサイズをα倍 (但し、Q/P<α<1)に縮小し、さらに、縮小した画像から、Q×Qのブロックを抜き出す。次に、この抜き出しブロックからブロックjへのアフィン変換を公知の方法で求めても良い。その際、複数のαの値を用いて複数のアフィン変換を求めても良い。
或いは、Q/P≦α≦1とすれば、上記の第1の推定と第2の推定と第3の推定を統一的に表すことができる。
更に、第4の可変サイズブロック間のアフィン変換推定方法は、上記の第1のアフィン変換推定方法及び第2のアフィン変換推定方法の両方を実行して、アフィン変換A1及びA2を算出し、これらの二つのアフィン変換A1及びA2の中からより適しているアフィン変換を選択する。より適しているアフィン変換を選択するためには、例えば、実際にブロックiをアフィン変換し、その内部の画素値とブロックjの画素値との差分の自乗和が小さくなるアフィン変換を選ぶことができる。もちろん、これ以外の方法を使用してもよい。例えば、第1、第2、及び、第3の方法の全てを実行するか、或いは、Q/P≦α≦1として、複数のαの値から、複数のアフィン変換の値を算出する。この場合、複数のアフィン変換の値から、最も適するアフィン変換を選択する。
以上で説明した実施例4は本発明を実施するための最良の形態の一つにすぎず、本発明はその趣旨を逸脱しない限り種々変形して実施可能である。
上記の実施例1から4では、ブロックの形状を矩形としていたが、本発明のブロック、即ち、画像領域の形状は矩形に限られない。また、上記の実施例1から4では、各ブロックは重複が無い例に関して説明しているが、本発明は、ブロック、即ち、画像領域の重複があっても構わない。
尚、実施例5の説明において、実施例1から4の何れかと同一の構成は説明を省略している。また、以上で説明した実施例5は本発明を実施するための最良の形態の一つにすぎず、本発明はその趣旨を逸脱しない限り種々変形して実施可能である。
上記の実施例1から5では、第K階層のブロックを全て抽出してから、第(K+1)階層のブロックの抽出を行う例に基づいて説明している。しかし、本発明は、必ずしもそのような順序に限定されるものではない。本発明の実施例6によれば、例えば、階層の最大値をSとする場合、第S階層のブロックの大きさP画素×Q画素が決定できる。具体的には、実施例6によれば、
入力画像をP画素×Q画素のブロックで分割する第1ステップと、
P画素×Q画素の各ブロック毎に独立に第1階層から第S階層までのブロック統合を行う第2ステップと、
を行うことにより、画像の部分毎(P画素×Q画素のブロック毎)にブロック抽出とブロック統合を独立に行うことが可能となる。
尚、実施例6の説明において、実施例1から5の何れかと同一の構成は説明を省略している。また、以上で説明した実施例6は本発明を実施するための最良の形態の一つにすぎず、本発明はその趣旨を逸脱しない限り種々変形して実施可能である。
実施例7では、統合されたサイズの異なるブロック毎に3次元形状パラメータ(例えば、法線方向)を推定する。例えば、特許文献1に記載された従来技術のように、種々の3次元形状推定方式では、法線方向のような形状パラメータから、各点の奥行きを更に計算する。このとき、一部の従来技術では、入力画像中で奥行きを計算する点の密度が画像全面に亘って一定となっていることを前提としている場合がある。或いは、画像全面に亘って均一のブロックで推定を行う方が処理が単純となるため、計算コストの観点から好ましい場合がある。そのため、本実施例7では、統合されたブロックのサイズが均一ではない場合に(即ち、サイズが異なるブロックが統合されている場合に)、統合されたブロックを分割して、均一なブロックサイズに変更する。
以下、本発明の実施例7による統合されたブロックの分割方法を説明する。階層Kの階層数の最大値をKmaxで表す。
最初に、階層の最小値を求める。
ステップa:K=Kmax、Kmin=Kmax
ステップb:P(K,i,j) i=1,2,..., j=1,2,...が存在しているかどうか確認する。存在している場合には、Kmin=Kとする。
ステップc:Kを1だけ減少させる。
ステップd:K=0のとき、終了する。K>0のとき、ステップbに戻る。
以上で、階層の最小値Kminを求めることができた。
次に、各統合ブロックを階層Kminのブロックに分割する。
ステップe:K=Kmax
ステップf:P(K,i,j) i=1,2,..., j=1,2,...が存在しているかどうか確認する。存在している場合、P(K,i,j)を、縦横それぞれ、2K-Kminに分割する。即ち、階層Kのブロックを、2K-Kmin×2K-Kmin個の階層Kminのブロックに分割する。分割されたブロックそれぞれに対して、P(K,i,j)の形状パラメータをコピーして与える。
ステップg:Kを1だけ減少させる。
ステップh:K=Kminのとき、終了する。K>Kminのとき、ステップfに戻る。
以上のようにして、全てのブロックを階層Kminのブロックに変更することができる。本実施例7の説明中、階層Kminを存在する階層の最小値として求めているが、階層の最小値を求めることなく、はじめからKmin=1として分割を行ってもよい。
尚、上記説明において、実施例1から6の何れかと同一の構成には同一の符号を付して説明を省略している。また、以上で説明した実施例7は本発明を実施するための最良の形態の一つにすぎず、本発明はその趣旨を逸脱しない限り種々変形して実施可能である。
以上の実施例1から実施例7の説明から分かるように、本発明の種々の実施例は、入力画像を複数の領域に分割し、各領域ごとに3次元空間内の形状を推定する物体形状推定装置において、
・入力画像を小領域で分割し、
・隣接する小領域間のテクスチャ近似度が小さい場合には、その隣接する小領域を統合して、新たに大きい領域を形成し、
・小領域を統合して新たに大きい領域を形成する手順を階層的に行ない、順次大きい領域を形成する。
これにより、本発明は、物体形状を推定する単位を適切に選ぶこと、即ち、物体形状を推定する領域のサイズを可変サイズにすることが可能である。その結果として、以下の効果が得られる。
従来技術では、分析領域のサイズが大き過ぎる場合には、領域の中で物体の形状が変化(即ち、法線方向が変化)する可能性があり、精密な形状測定ができないという欠点があるが、本発明の実施例では、各領域で精密な形状測定を実現可能である。
また、従来技術では、分析領域のサイズが小さい場合、領域数が多くなるため、計算負荷が大きくなるが、本発明の実施例によれば、分析領域の数を削減し、計算負荷を減少させることができる。
更に、従来技術では、分析領域のサイズが小さい場合、低周波成分の分析が不可能となるが、本発明の実施例によれば、大きい分析領域に統合されたときに低周波成分の分析が可能となる。
更に、本発明の実施例によれば、大きいサイズの分析領域が許容される場合には、分析領域を大きい分析領域に統合することができるため、誤差の影響を小さくすることができる。
上で述べた実施例では、入力画像を所定の領域に分割し、その領域を統合してより大きな領域とする例を説明した。これに対して、本発明の実施例8による物体形状推定方法では、入力画像を所定の領域に分割し、その領域が分割可能であれば、更に分割する。分割不可能であればそれ以上は分割しない。この分割は、階層的に、即ち、分割可能な領域に対して繰り返される。実施例8では、このようにして、入力画像を複数の可変サイズの領域に分割し、次に、可変サイズに分割された領域を、実施例1〜7と同様に、再度統合した後に物体形状を推定する。
以下、実施例8をより詳細に説明する。図11は、本発明の実施例8による物体形状推定方法のフローチャートである。ステップ1101からステップ1107は、本実施例の入力画像分割処理のステップである。
ステップ1101:入力画像を初期サイズの(大きい)ブロックに分割する。
ステップ1102:分割されたブロック内の周波数を分析する。
ステップ1103:ブロック内に高周波成分がある程度以上存在するかどうかを判定する。
ステップ1104:高周波成分がある程度以上存在するブロックを再分割する。
ステップ1105:再分割されたブロックが所定のサイズのブロックまで細分されたかどうかを判定し、所定のサイズのブロックまで細分されていない場合、ステップ1102へ戻る。
ステップ1106:ブロック内に高周波成分がある程度以下しか存在しない場合、又は、再分割されたブロックが所定のサイズのブロックまで細分された場合、再分割できるかどうかを判定すべき次のブロックが存在するかどうかを判定すし、再分割できるかどうかを判定すべき次のブロックが存在する場合、ステップ1102へ戻る。
以上のステップ1101〜1106までの処理によって、入力画像は、大小の様々な大きさのブロックに分割されている。
次に、ステップ1107から1109は、ブロック統合処理のステップである。
ステップ1107:隣接するブロック間のテクスチャ情報の近似度を計算し、隣接するブロックが似ているかどうかを判別する。
ステップ1108:もし、隣接するブロックが似ているならば、それらのブロックを統合して、新たなブロックを形成し、更に大きいブロックに統合できるかどうかを判別するためステップ1107へ戻る。
ステップ1109:統合されなかった小さいブロック、及び、統合された大きいブロックの分析を行う。
本発明の実施例8によれば、上記のようなステップ1107〜1109によって、テクスチャ情報が異なるブロックは統合されずにそのまま分析される。一方、テクスチャ情報が似ているブロックは統合して分析を行うことによって、大きな領域でも構わない場合には、大きな領域を利用して分析を行うことができる。
大きい領域は、例えば、低周波成分のみに有意な成分がある場合に必要になる。ステップ1107〜1108を用いることにより、このような領域を大きいブロックのまま抽出できる。
以下、本実施例によりブロックを階層的に分割する処理をさらに具体的に示す。図12は、本発明の実施例8によるブロックの階層的な分割処理のフローチャートである。
まず、階層Kの最大値をKmax、最小値をKminとする。
ステップ1201:入力画像を階層Kmaxのブロック(すなわち大きなブロック)に分割する。階層K=Kmaxとする。
ステップ1202:階層Kのブロックが存在している場合、各ブロック内の画像をフーリエ変換し、高周波部分の電力あるいは、高周波部分の振幅の絶対値の和を求める。
ステップ1203:上記電力あるいは振幅の絶対値の和と所定の閾値を比較する。
ステップ1204:上記電力あるいは振幅の絶対値の和が所定の閾値よりも大きいときは、上記ブロックを階層K-1のブロックに分割する。
ステップ1205:K=Kminのとき、終了する。それ以外のとき、K=K-1とし、ステップ1202へ戻り上記処理を繰り返す。
以上のステップ1201から1205を用いることにより、入力画像はサイズが不均一なブロックに分割される。
実施例3では、第1階層のブロックのみが存在しているという初期条件からブロックの統合を開始した。しかし、本実施例のように、サイズが不均一なブロックに分割されている状態を初期状態としても、実施例3に関して説明した技術を適用することが可能である。その他の実施例1〜2、及び、4〜7に関しても、同様に実施することが可能である。本実施例では、上記のステップ1204の後に、実施例1〜7で説明したブロック統合処理と同様の処理を実施する。
本実施例8のように入力画像を階層的に分割しない場合には、入力画像を小さい領域に分割した後、ブロック統合処理が行われる。入力画像が低い周波数成分しか持たない場合に、入力画像を小さい領域で分割すると、分割の境界の位置によって、擬似的に高周波成分が発生する可能性がある。このような場合、隣接するブロック間で発生する擬似高周波成分は異なるので、隣接するブロックを統合することが不可能となる。このような現象を避けるため、本実施例においては、低周波成分だけ保持するブロックが小さい領域に分割されることを避けるため、ブロック内の周波数成分を評価し、高周波成分が少ないブロックが細分化されないように、入力画像を階層的にブロックに分割する。
本発明の実施例9による物体形状推定装置は、上記の実施例8による物体形状推定方法を実行することにより、入力画像を複数の領域に分割し、各領域毎に3次元空間内の形状を推定する。図13は、本発明の実施例9による物体形状推定装置の構成図である。
本発明の実施例9の物体形状推定装置1300は、入力画像を複数の領域に分割する入力画像分割部1301と、領域内での高周波成分寄与を評価する高周波成分寄与評価部1302と、領域の高周波成分寄与が小さい場合は、分割された領域をそれ以上分割せず、一方、領域における高周波成分寄与が大きな場合は、分割された領域を小領域に更に分割する画像領域再分割部1303と、隣接する小領域間のテクスチャ近似度を評価するテクスチャ近似度評価部1304と、隣接する小領域間のテクスチャ近似度が小さい場合には、その隣接する小領域を統合して、新たに大きい領域を形成し、小領域を統合して新たに大きい領域を形成する手順を階層的に行ない、順次大きい領域を形成する画像領域統合部1305と、形成された領域毎に3次元空間内の物体の形状を推定する物体形状推定部1306と、を含む。
したがって、本発明の実施例8及び9によれば、物体形状を推定する単位を適切に選ぶこと、即ち、物体形状を推定する領域のサイズを可変サイズにすることが可能である。その結果として、以下の効果が得られる。
従来技術では、分析領域のサイズが大き過ぎる場合には、領域の中で物体の形状が変化(即ち、法線方向が変化)する可能性があり、精密な形状測定ができないという欠点があるが、本発明の実施例8及び9では、各領域で精密な形状測定を実現可能である。
また、従来技術では、分析領域のサイズが小さい場合、領域数が多くなるため、計算負荷が大きくなるが、本発明の実施例8及び9によれば、分析領域の数を削減し、計算負荷を減少させることができる。
更に、従来技術では、分析領域のサイズが小さい場合、低周波成分の分析が不可能となるが、本発明の実施例によれば、小さい分析領域への分割を抑制できるため、低周波成分の分析が可能となる。
本発明の実施例1による物体形状推定装置の構成図である。
本発明の実施例1による物体形状推定装置の動作フローチャートである。
本発明の実施例2による物体形状推定装置の構成図である。
本発明の実施例3による画像領域生成装置の概略的な動作フローチャートである。
本発明の実施例3による画像領域生成装置の構成図である。
本発明の実施例3による画像領域生成装置のブロック化部の動作の説明図である。
本発明の実施例3による画像領域生成装置のブロック統合部の説明図である。
本発明の実施例3による画像領域生成装置のブロック抽出部及びブロック統合部の動作フローチャートである。
本発明の実施例3による画像領域生成装置のブロック抽出部及びブロック統合部の説明図である。
本発明の実施例4による可変サイズブロック間のアフィン変換推定方法の説明図である。
本発明の実施例8による物体形状推定方法のフローチャートである。
本発明の実施例8によるブロックの階層的な分割処理のフローチャートである。
本発明の実施例9による物体形状推定装置の構成図である。
符号の説明
100 物体形状推定装置
101 画像入力部
102 画像分割部
103 画像領域抽出部
104 画像領域間近似度算出部
105 画像領域統合部
106 形状推定部