| 【発明の名称】 |
3次元形状計測装置 |
| 【発明者】 |
【氏名】榊原 邦光
【氏名】谷内田 正彦
|
| 【要約】 |
【課題】
【解決手段】 |
【特許請求の範囲】
【請求項1】被写体像を時系列的に取得する取得手段、前記被写体像に対応する画像の連続するフレーム間での各点の2次元的な移動ベクトルを抽出する第1抽出手段、前記移動ベクトルに基づいて前記画像の全領域を剛体領域と非剛体領域とに分離する分離手段、前記剛体領域の前記移動ベクトルに基づいて前記剛体領域の3次元座標および3次元相対運動を算出する第1算出手段、および前記3次元相対運動と前記非剛体領域の移動ベクトルに基づいて前記非剛体領域の3次元座標を算出する第2算出手段を備える、3次元形状計測装置。 【請求項2】前記各点を様々な形状パターンを有する領域に分割する分割手段、分割した領域の3次元座標および3次元相対運動を算出する第3算出手段、前記第3算出手段で算出した前記3次元座標および前記3次元相対運動に基づいて前記領域の平均再投影誤差を算出する第4算出手段、および前記平均再投影誤差に基づいて前記領域から前記剛体領域を決定する決定手段をさらに備える、請求項1記載の3次元形状計測装置。 【請求項3】前記決定手段は前記平均再投影誤差の評価値が小さい領域を検出する検出手段を含み、前記評価値が小さい領域を前記剛体領域に決定する、請求項2記載の3次元形状計測装置。 【請求項4】前記決定手段で決定した前記剛体領域に含まれる各点の移動ベクトルに基づいて、前記剛体領域の3次元座標および3次元相対運動の少なくとも一方を再度算出する再度算出手段をさらに備える、請求項2または3記載の3次元形状計測装置。 【請求項5】前記移動ベクトルに基づいてフィードバック誤差を算出する第5算出手段、前記フィードバック誤差に応じて信頼度を抽出する第2抽出手段、および前記信頼度を重みとして前記移動ベクトルをフィルタリングするフィルタリング手段をさらに備える、請求項1ないし4のいずれかに記載の3次元形状計測装置。 【請求項6】前記第1算出手段は前記信頼度が高い前記移動ベクトルを用いて前記3次元座標を算出する、請求項5記載の3次元形状計測装置。 【請求項7】被写体像を時系列的に取得する取得手段、前記被写体像に対応する画像の連続するフレーム間での各点の2次元的な移動ベクトルを抽出する第1抽出手段、前記移動ベクトルに基づいてフィードバック誤差を算出する第1算出手段、前記フィードバック誤差に応じて信頼度を抽出する第2抽出手段、前記信頼度を重みとして前記移動ベクトルをフィルタリングするフィルタリング手段、および前記フィルタリング手段でフィルタリングされた移動ベクトルに基づいて前記各点の3次元座標および3次元相対運動を算出する第2算出手段を備える、3次元形状計測装置。
|
【発明の詳細な説明】【0001】 【産業上の利用分野】この発明は3次元形状計測装置に関し、特にたとえば人間の顔のような特徴点が少なく、かつ時系列的に変化する画像の3次元形状を計測する、3次元形状計測装置に関する。 【0002】 【従来の技術】従来のこの種の3次元形状計測装置は、人間の顔の3次元形状を計測する装置に適用され、計測された人間の顔の3次元形状は例えばコンピュータグラフィックス(CG)、ゲームおよびバーチャルリアリティなどのマルチメディアコンテンツとして用いられる。また、3次元形状計測装置は、個人識別や表情認識を利用するセキュリティシステムなどに適用され、さらに顔画像の圧縮通信などにも適用されていた。 【0003】 【発明が解決しようとする課題】しかし、この従来技術では、カメラと被写体との相対的な3次元相対運動と被写体の3次元形状とを分離する手法(因子分解法)を用いるため、3次元形状の計測の精度はオプティカルフローの精度に依存する。このため、人間の顔のようにテクスチャが単調であり、かつ滑らかな曲面が大部分を占めるような被写体では、オプティカルフローの精度が低くなり、したがって3次元形状の計測の精度も低くなっていた。また、口元や目尻などのコーナ特徴が高く、オプティカルフローの精度が高い点においても、姿勢変化によって生じる影の影響を受け易く、かえって3次元形状の計測に悪影響を及ぼしていた。 【0004】また、因子分解法は被写体が剛体である場合に適用でき、したがって顔の表情変化のように時系列的な変化を伴う被写体では3次元形状を計測することができなかった。 【0005】それゆえに、この発明の主たる目的は、非剛体であっても3次元形状を計測できる、3次元形状計測装置を提供することである。 【0006】 【課題を解決するための手段】第1の発明は、被写体像を時系列的に取得する取得手段、被写体像に対応する画像の連続するフレーム間での各点の2次元的な移動ベクトルを抽出する第1抽出手段、移動ベクトルに基づいて画像の全領域を剛体領域と非剛体領域とに分離する分離手段、剛体領域の移動ベクトルに基づいて剛体領域の3次元座標および3次元相対運動を算出する第1算出手段、および3次元相対運動と非剛体領域の移動ベクトルに基づいて非剛体領域の3次元座標を算出する第2算出手段を備える、3次元形状計測装置である。 【0007】第2の発明は、被写体像を時系列的に取得する取得手段、被写体像に対応する画像の連続するフレーム間での各点の2次元的な移動ベクトルを抽出する第1抽出手段、移動ベクトルに基づいてフィードバック誤差を算出する第1算出手段、フィードバック誤差に応じて信頼度を抽出する第2抽出手段、信頼度を重みとして移動ベクトルをフィルタリングするフィルタリング手段、フィルタリング手段でフィルタリングされた移動ベクトルに基づいて各点の3次元座標および3次元相対運動を算出する第2算出手段、3次元形状計測装置である。 【0008】 【作用】第1の発明の3次元形状計測装置は、たとえばコンピュータで構成されていて、すべての手段がコンピュータで実現される。そして、コンピュータは、時系列的に取得した被写体像に対応する画像の連続するフレーム間での各点の2次元的な移動ベクトルを抽出する。この移動ベクトルに基づいて、画像の全領域を剛体領域と非剛体領域とに分離する。そして、剛体領域の移動ベクトルに基づいて、剛体領域の3次元座標(3次元形状)および3次元相対運動を算出する。続いて、剛体領域の3次元相対運動と非剛体領域の移動ベクトルとに基づいて、非剛体領域の3次元形状を算出する。 【0009】たとえば、各点を様々なパターンを有する領域に分割し、分割した領域の3次元形状および3次元相対運動が算出される。この3次元形状および3次元相対運動に基づいて領域の平均再投影誤差が算出される。選択手段は、平均再投影誤差に基づいて全領域から剛体領域を決定する。このようにして、剛体領域と非剛体領域とを分離することができる。 【0010】つまり、検出手段が平均再投影誤差の評価値が小さい領域を検出するので、決定手段は検出された領域を剛体領域に決定する。したがって、それ以外の領域が非剛体領域に決定される。 【0011】また、決定された剛体領域の移動ベクトルに基づいて、その剛体領域の3次元形状および3次元相対運動の少なくとも一方を再度算出するので、正確に計測することができる。 【0012】さらに、移動ベクトルに基づいて算出したフィードバック誤差から移動ベクトルの信頼度を抽出し、抽出した信頼度を重みづけして移動ベクトルのフィルタリング処理を実行するので、信頼度の高い移動ベクトルを生成することができる。 【0013】さらにまた、第1算出手段は、信頼度の高い移動ベクトルを用いて3次元形状および3次元相対運動を算出するので、オクルージョンが発生する領域であっても正確に算出することができる。 【0014】第2の発明の3次元形状計測装置もまた、たとえばコンピュータで構成されていて、すべての手段がコンピュータで実現される。そして、コンピュータは、時系列的に取得した被写体像に対応する画像の連続するフレーム間での各点の2次元的な移動ベクトルを抽出する。ここで、移動ベクトルに基づいて算出したフィードバック誤差から移動ベクトルの信頼度を抽出し、抽出した信頼度を重みづけして移動ベクトルのフィルタリング処理を実行する。つまり、移動ベクトルの信頼度が高くされる。この信頼度が高い移動ベクトルに基づいて、各点の3次元座標および3次元相対運動を算出する。 【0015】 【発明の効果】この発明によれば、剛体領域と非剛体領域とを分離し、剛体領域の3次元相対運動を用いて非剛体領域の3次元形状を計測するので、非剛体であっても3次元形状を計測することができる。 【0016】他の発明によれば、信頼度が高い移動ベクトルに基づいて3次元座標および3次元相対運動を算出するので、計測の精度を向上させることができる。 【0017】この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。 【0018】 【実施例】この実施例の3次元形状計測装置は、図示は省略するが、パソコン程度の処理能力を有する1台のコンピュータである。たとえば、ビデオカメラで撮影された被写体の画像データが、インターフェイスを介してコンピュータに入力される。なお、被写体の画像データをリアルタイムに入力してもよく、また画像データをオフラインで入力するようにしてもよい。 【0019】コンピュータは、入力された時系列的な画像データに基づいてオプティカルフローを生成する。つまり、2次元的な画像上の点および物体の動きベクトル(各点の移動ベクトル)を抽出する。具体的には、数1の上式で示すように、移動ベクトル(前向きのオプティカルフロー)u/mn(/はベクトルを意味する。)はフレームmの点がフレームnにおいて移動した場合の画像座標の差で表される。また、フレームnからフレームmへの逆向きのオプティカルフローu/nmが数1の下式で示される。なお、数式においてはベクトルは太字で示してある。 【0020】 【数1】
【0021】このような、オプティカルフローを生成する手法としては、様々な手法が提案されているが、この実施例では勾配法を適用する。なお、他の手法によってオプティカルフローを生成してもよいことはもちろんである。勾配法では、画像の時空間的連続性を仮定し、数2に従って計算することにより、オプティカルフローが得られる。なお、数2では、未知数が2つであるのに対して式が1つであるため、ある注目画素のオプティカルフローを得る場合には、時空間的連続性を仮定し、つまり注目画素の周辺の画素とu,vとの変化量が一定であると仮定し、連立して算出することができる。 【0022】 【数2】
【0023】ただし、u;オプティカルフローのx方向成分v;オプティカルフローのy方向成分I;画像の輝度値また、コンピュータは、図1および図2に示すような一連の処理を実行する。上述のように、時系列的な画像データが入力されると、コンピュータは処理を開始し、ステップS1で隣接(連続)する2つのフレーム間の前向きのオプティカルフロー(前向きフロー)u/mnおよび後ろ向きのオプティカルフロー(後ろ向きフロー)u/nmを数1に従って算出する。続くステップS3では、オプティカルフローの信頼度dを算出する。具体的には、ステップS1で算出した前向きフローu/mnおよび後ろ向きフローu/nmを合成し、合成したオプティカルフロー(合成フロー)u/mnm を得る。つまり、フレームmとフレームnとの間におけるフィードバック誤差が算出される。具体的には、合成フローu/mnm は、数3に示すような線形補間により得ることができる。 【0024】 【数3】
【0025】数3で得られた合成フローu/mnm の大きさの逆数が、フレームmからフレームnへのオプティカルフロー(前向きフローu/mn)の信頼度dに定義される。つまり、信頼度dは数4のように示される。 【0026】 【数4】
【0027】そして、ステップS5では、コンピュータは、数4で得られた(抽出された)信頼度dで重みづけをして、数5に示すようなフィルタリング処理を実行する。 【0028】 【数5】
【0029】このように、注目する画素とその近傍の画素(この実施例では、5画素×5画素の近傍領域)とを、信頼度dで重みづけしてフィルタリングすることにより、精度が向上されたオプティカルフローが得られる。なお、信頼度dで重みづけしてフィルタリングする場合に、さらにラプラシアンフィルタのような平滑フィルタを係数に重畳すれば、さらに精度が向上される。 【0030】ここで、一般的にオプティカルフローは、テクスチャ(模様)特徴の小さい部分ではノイズの影響を受け易く、精度が低くなる。また、被写体の移動によりオクルージョンが発生する領域では、大きく誤ったオプティカルフローが得られる。したがって、後述する3次元復元処理で復元精度を高くするため、コンピュータは、さらに信頼度に基づいて3次元復元処理に使用するオプティカルフローを選択する。 【0031】まず、ステップS7では、M枚のフレームの画像に対して、1番目のフレームを基準フレーム(第1フレーム)とした場合における、基準フレームから各フレーム(第2フレーム,第3フレーム,…,第Mフレーム)への前向きフロー(u/12,u/13,u/14, …,u/1M)および後ろ向きフロー(u/21, u/31,u/41, …,u/M1)を数1に従って算出する。 【0032】次に、ステップS9でオプティカルフローの信頼度dを上述と同様にして算出する。そして、ステップS11でフィルタリング処理を実行する。つまり、数3に従って合成フローu/mnm を算出し、数4に従って信頼度dを算出してから、信頼度dを重みづけして数5に従ってフィルタリング処理を実行する。 【0033】ステップS13では、信頼度の高いオプティカルフローを選択する。具体的には、コンピュータは時系列全体に関する信頼度(全体信頼度)に基づいて、信頼度の高いオプティカルフローを選択する。まず、コンピュータは、基準フレームの任意の点がフレーム2,フレーム3,…,フレームMに時系列的に変化するに従って移動する際の、全体信頼度Dを数6に従って算出する。 【0034】 【数6】
【0035】次に、数6で得られる全体信頼度Dを所定の閾値TH1と比較し、閾値TH1よりも全体信頼度Dが大きい場合のオプティカルフローが選択される。逆に言えば、閾値TH1よりも全体信頼度Dが小さい場合のオプティカルフローが、サンプリングから除外される。このようにして、オプティカルフローが選択される。なお、閾値TH1は、実験等により経験的に求めた値である。 【0036】ここで、被写体が剛体である場合についての3次元復元処理について説明する。簡単に説明すると、被写体とビデオカメラとが相対運動するため、その相対運動からオプティカルフローを解析処理し、3次元復元する。なお、相対運動は、被写体が運動しビデオカメラが静止している場合、被写体が静止しビデオカメラが運動している場合、および被写体およびビデオカメラが運動している場合が考えられる。しかし、これらはいずれも数学的には等価であるため、この実施例では、被写体が静止しビデオカメラが運動している場合についての座標系を用いて説明する。 【0037】具体的には、選択されたオプティカルフローのN個の点(点群)に任意の順序で1からNの添字を付し、そのオプティカルフローの時系列を数7に従って画像座標に変換する。 【0038】 【数7】
【0039】また、復元されるべき各点の3次元座標、各フレーム時点でのビデオカメラの位置に対応する位置ベクトル、およびビデオカメラの内部パラメータ行列の関係は、数8で示される。なお、ビデオカメラの内部パラメータ行列は、ビデオカメラの焦点距離や光軸の画像座標上での位置に関するため、この実施例では、予めビデオカメラを校正することにより得られる。また、以下の説明において、行列および座標を表す文字は、文章中では通常の文字を用いて説明してあるが、数式においては、ベクトルと同様に行列および座標を表す文字は太字で示してある。 【0040】 【数8】
【0041】この数8を変換し、Mフレームに渡るN個の点を1つの行列式で表現すると、数9のように示される。 【0042】 【数9】
【0043】この数9の左辺が計測行列であり、画像座標からそれぞれの奥行きを算出することにより生成することができる。また、この計測行列を因子分解法を用いて数9の右辺のように変形するすると、ビデオカメラの運動と被写体の3次元形状とを得ることができる。なお、画像から奥行きを算出する方法は、金谷健一によって1995「空間データの数理−3次元コンピューティングに向けて−」に詳細に示されている。また、計測行列を因子分解法により運動行列と形状行列とに分解する方法は、1998「電子情報通信学会技術研究報告」において、金谷健一によって「因子分解を用いない因子分解法:平行投影から透視変換へ」に詳細に示されている。 【0044】次に、人間の顔のように、その一部が時間経過に伴って変形する被写体、つまり剛体領域および非剛体領域を含む画像の3次元形状を復元する場合について説明する。つまり、コンピュータは、図2に示す3次元形状の復元処理を開始し、ステップS15で、図1のステップS13で選択したオプティカルフローに対応する点群を基準フレームにおける位置に基づいて様々な領域に分割する。たとえば、図3(A)に示すように、点群をその位置関係によって16個のブロック(この実施例では、縦、横それぞれ4ブロック)に分割し、そのうち12個のブロックに位置する点を1つの領域(図3において灰色に塗りつぶした領域)としてある。また、図3(B)および(C)は、別のパターンの領域に分割した例を示してある。このように、様々なパターンに領域を設定すると、ステップS17で、コンピュータはそれぞれの領域を因子分解し、3次元形状と3次元相対運動(以下、単に「運動」という。)とを得る。つまり、それぞれの領域が剛体であると仮定し、その領域の点群の3次元形状および運動を上述したような因子分解法により復元(計測)する。 【0045】ステップS19では、それぞれの領域の平均再投影誤差Ea を算出する。つまり、因子分解法により復元された3次元形状(3次元座標の斉次座標M)と運動行列(射影行列P)とを用いて、3次元形状を画像座標に再投影して、もとの画像座標との二乗誤差の平均を算出する。この算出した二乗誤差の平均が、それぞれの領域の再投影誤差Ea と定義され、具体的には数10で示される。なお、再投影された画像座標m′は、数8において、mをm′とし、復元された3次元座標Mおよび射影座標Pを用いて算出される。 【0046】 【数10】
【0047】ステップS21では、コンピュータは設定された領域から再投影誤差Ea が最小となる領域を選択し、その領域から得られた射影行列Pを用いて領域に含まれる全点を画像座標に再投影する。なお、全点の画像座標の再投影座標mは、数8において、画像座標の斉次座標(復元された画像座標)mおよび射影行列Pを既知数として全点の3次元座標Mを計算した後、再び数8において、算出した3次元座標Mおよび既知数の射影行列Pを用いて得られる。 【0048】ステップS23では、コンピュータは、ステップS21で再投影した全点のそれぞれについて3次元座標Mを算出し、再投影誤差Eb を得る。つまり、ステップS21で求めた再投影座標mをm″として、各点の再投影誤差Eb が数11に従って算出される。 【0049】 【数11】
【0050】ステップS25では、この各点の再投影誤差Eb を所定の閾値TH2と比較し、閾値TH2より小さい領域(点群)を剛体領域に決定し、逆に大きい領域を非剛体領域に決定する。つまり、再投影誤差Eb を閾値TH2(評価値)で評価することにより、被写体に対応する画像の全領域が剛体領域と非剛体領域とに分離される。なお、閾値TH2も、実験等により経験的に得られた値である。 【0051】続くステップS27では、コンピュータは剛体領域を因子分解し、3次元形状および運動を得る。つまり、剛体領域の3次元形状の座標は、ステップS21で算出した3次元座標Mで決定される。また、剛体領域の運動は、同様にステップS21で算出した射影行列Pをそのまま用いてもよいが、復元の精度を向上するため、再計算する。つまり、コンピュータは、数8において、剛体領域の画像座標mと3次元座標Mを用いて射影行列Pを計算する。 【0052】そして、ステップS29で、コンピュータは、ステップS25で得た剛体領域の運動(射影行列P)に基づいて、非剛体領域の各フレーム時点での(時系列的な)3次元形状を得てから、処理を終了する。具体的には、非剛体領域の各時点毎の3次元座標を算出する。ここで、非剛体領域の形状は時間とともに変化するが、連続する2フレーム間ではその変化量は小さいため、剛体領域とみなすことができる。したがって、数8において、連続する2フレームに対応するオプティカルフローを変換した画像座標mと剛体領域の射影行列P(運動)とを用いて、非剛体領域の3次元座標Mが得られる。つまり、非剛体領域の3次元形状が計測される。このような、計算が第1フレーム(基準フレーム)から第Mフレームまでの連続する2フレーム毎に実行される。 【0053】なお、この実施例では、連続する2フレーム毎に計算しているが、変形の度合いによって、連続する3フレーム以上毎に計算してもよい。 【0054】また、上述のようにして得られた3次元形状に時空間的な平滑フィルタで処理を施すことにより、ノイズを抑制するようにしてもよい。 【0055】この実施例によれば、剛体領域と非剛体領域とに分離し、剛体領域に対する運動を用いて非剛体領域の時系列的な3次元形状を算出するので、非剛体であっても3次元形状を計測することができる。
|
| 【出願人】 |
【識別番号】393027659 【氏名又は名称】財団法人イメージ情報科学研究所
|
| 【出願日】 |
平成11年11月12日(1999.11.12) |
| 【代理人】 |
【識別番号】100090181 【弁理士】 【氏名又は名称】山田 義人
|
| 【公開番号】 |
特開2001−141425(P2001−141425A) |
| 【公開日】 |
平成13年5月25日(2001.5.25) |
| 【出願番号】 |
特願平11−323245 |
|