JP2012008685A - 3次元データ生成装置、生成方法およびプログラム - Google Patents
3次元データ生成装置、生成方法およびプログラム Download PDFInfo
- Publication number
- JP2012008685A JP2012008685A JP2010142445A JP2010142445A JP2012008685A JP 2012008685 A JP2012008685 A JP 2012008685A JP 2010142445 A JP2010142445 A JP 2010142445A JP 2010142445 A JP2010142445 A JP 2010142445A JP 2012008685 A JP2012008685 A JP 2012008685A
- Authority
- JP
- Japan
- Prior art keywords
- model
- pattern
- parameter
- dimensional
- luminance
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
- G06T15/205—Image-based rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Geometry (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
Abstract
【課題】フィッティング精度に優れる3DMMの特徴を維持しつつ処理時間を短縮する。
【解決手段】3次元データ生成装置は、複数の人の3次元顔データを学習データとして、人の顔を投影空間に投影したときの3次元形状を視点を変えながら複数生成して、3次元形状の各点の3次元座標を求め、顔の3次元座標と描画輝度のそれぞれについて主成分分析を行い、平均ベクトルと基底ベクトルとを求め、3次元形状と描画輝度のそれぞれが平均ベクトルおよび基底ベクトルとモデルパラメータとの線形和で表現される、人の顔のモデルを作成するモデル作成部1と、モデル作成部1が作成したモデルを入力画像中の人の顔と合うように変形させてフィッティングを行い、入力画像中の人の顔の3次元データを生成するフィッティング部2とを有する。
【選択図】 図2
【解決手段】3次元データ生成装置は、複数の人の3次元顔データを学習データとして、人の顔を投影空間に投影したときの3次元形状を視点を変えながら複数生成して、3次元形状の各点の3次元座標を求め、顔の3次元座標と描画輝度のそれぞれについて主成分分析を行い、平均ベクトルと基底ベクトルとを求め、3次元形状と描画輝度のそれぞれが平均ベクトルおよび基底ベクトルとモデルパラメータとの線形和で表現される、人の顔のモデルを作成するモデル作成部1と、モデル作成部1が作成したモデルを入力画像中の人の顔と合うように変形させてフィッティングを行い、入力画像中の人の顔の3次元データを生成するフィッティング部2とを有する。
【選択図】 図2
Description
本発明は、入力画像中の人の顔の3次元データを生成する3次元データ生成装置、生成方法およびプログラムに関するものである。
従来より、カメラで撮影した人の画像から人の顔を認識したいという要求がある。人の顔は球面上に凹凸のある部品(目、鼻、口など)が配置された構造なので、カメラの向きや照明の向きによって見え方が大きく異なる。したがって、カメラの向きや照明の向きに影響を受け難い顔認識を実現する必要がある。
カメラの向きや照明の向きに影響を受け難い顔認識を実現する技術として、3DDM(3D Morphable Model)がある(非特許文献1、非特許文献2参照)。3DDMは、1枚の画像データから対象の3次元データを推定する技術である。3DDMによって人の顔の3次元データを生成することができれば、カメラの向きや照明の向きに影響を受け難い顔認識を実現することができる。
3DMMは、人の顔の3次元形状とテクスチャ情報とを主成分分析(Principle Component Analysis:PCA)によって効率的に表現できる手法であり、2次元の顔モデルと比べて人の顔を写実的に表現できることが知られている。しかし、監視カメラに映っている人物の個人認証などのようなリアルタイムアプリケーションにおいては、実用上、克服しなければならない課題がいくつかある。以下、3DDMについて説明する。
[モデル表現]
まず、人の顔の3次元データについて説明する。ここでは、人の顔の表面を構成するNV個の点について、空間上の3次元座標(登録3次元座標)をSW、表面反射率をTWとする。
SW=[xW,1 yW,1 zW,1 ・・・ xW,Nv yW,Nv zW,Nv]T ・・・(1)
TW=[rW,1 gW,1 bW,1 ・・・ rW,Nv gW,Nv bW,Nv]T ・・・(2)
まず、人の顔の3次元データについて説明する。ここでは、人の顔の表面を構成するNV個の点について、空間上の3次元座標(登録3次元座標)をSW、表面反射率をTWとする。
SW=[xW,1 yW,1 zW,1 ・・・ xW,Nv yW,Nv zW,Nv]T ・・・(1)
TW=[rW,1 gW,1 bW,1 ・・・ rW,Nv gW,Nv bW,Nv]T ・・・(2)
式(1)、式(2)において、xW,i,yW,i,zW,i(i=1〜NV)はそれぞれx座標、y座標、z座標、rW,i,gW,i,bW,iはそれぞれ赤色成分、緑色成分、青色成分の反射率である。
3DMMにおいて、人の顔のモデルは、多数の学習データ(多数の人の顔の3次元データ)からPCAにより得られた平均ベクトルや各基底ベクトルと、モデルパラメータ(シェープパラメータαWとテクスチャパラメータβW)との線形和で次式のように構成できる。
3DMMにおいて、人の顔のモデルは、多数の学習データ(多数の人の顔の3次元データ)からPCAにより得られた平均ベクトルや各基底ベクトルと、モデルパラメータ(シェープパラメータαWとテクスチャパラメータβW)との線形和で次式のように構成できる。
[レンダリング]
3DMMのモデルのレンダリングは、モデルパラメータαW,βWとレンダリングパラメータ(投影パラメータρと光源パラメータτ)を用いて行う。レンダリング時には、対象を画像上に投影した際の座標と描画輝度を求める必要がある。
3DMMのモデルのレンダリングは、モデルパラメータαW,βWとレンダリングパラメータ(投影パラメータρと光源パラメータτ)を用いて行う。レンダリング時には、対象を画像上に投影した際の座標と描画輝度を求める必要がある。
[フィッティング]
3DMMでは、作成したモデルを入力画像中の人の顔と合うように変形させてフィッティングすることが可能である。非特許文献1、非特許文献2で提案されている技術では、コスト関数の各パラメータ(シェープパラメータαW、テクスチャパラメータβW、投影パラメータρ、光源パラメータτ)に関する偏微分係数を求め、勾配法の一つである確率的ニュートン法を用いて各パラメータを繰り返し推定するため、1回のフィッティングに数分の時間を要する。
3DMMでは、作成したモデルを入力画像中の人の顔と合うように変形させてフィッティングすることが可能である。非特許文献1、非特許文献2で提案されている技術では、コスト関数の各パラメータ(シェープパラメータαW、テクスチャパラメータβW、投影パラメータρ、光源パラメータτ)に関する偏微分係数を求め、勾配法の一つである確率的ニュートン法を用いて各パラメータを繰り返し推定するため、1回のフィッティングに数分の時間を要する。
このように非特許文献1、非特許文献2で提案されている3DMMでは、勾配法に基づいて各パラメータを最適化しており、対象となる画像中の人の顔の3次元データの生成精度に優れているが、フィッティング時の繰り返し処理で、毎回、勾配計算を行うため、処理時間がかかるという問題点があった。
一方、1枚の静止画像から自動的に顔の特徴点を探索する技術としてAAM(Active Appearance Model)が提案されている(非特許文献3参照)。AAMは、顔の疎な2次元形状情報やテクスチャ情報にPCAを適用して、顔の形状とテクスチャを効率的に表現する技術である。AAMでは、画像上の高々数十点の特徴点からモデルを構築するため、3DMMほどの精度の高い表現をするのには適さない。しかし、モデルをフィッティングするために、あらかじめ回帰行列を計算しておくだけでよいので、3DMMと比べて高速にフィッティングできることが可能である。以下、AAMについて説明する。
[モデル表現]
まず、人の顔の表面を構成するNV個の点について、画像座標(投影2次元座標)をSa、描画輝度をTaとする。
Sa=[xP,1 yP,1 ・・・ xP,Nv yP,Nv]T ・・・(5)
Ta=[rP,1 gP,1 bP,1 ・・・ rP,Nv gP,Nv bP,Nv]T ・・・(6)
まず、人の顔の表面を構成するNV個の点について、画像座標(投影2次元座標)をSa、描画輝度をTaとする。
Sa=[xP,1 yP,1 ・・・ xP,Nv yP,Nv]T ・・・(5)
Ta=[rP,1 gP,1 bP,1 ・・・ rP,Nv gP,Nv bP,Nv]T ・・・(6)
式(5)、式(6)において、xP,i,yP,i(i=1〜NV)はそれぞれx座標、y座標、rP,i,gP,i,bP,iはそれぞれ赤色成分、緑色成分、青色成分の輝度である。
AAMにおいて、人の顔のモデルは、3DMMと同様に、平均ベクトルや基底ベクトルとモデルパラメータとの線形和で次式のように再構成できる。平均ベクトルや各基底ベクトルは、モデル構築時に学習データ(多数の人の顔の2次元データ)にPCAを適用することで求めることができる。
AAMにおいて、人の顔のモデルは、3DMMと同様に、平均ベクトルや基底ベクトルとモデルパラメータとの線形和で次式のように再構成できる。平均ベクトルや各基底ベクトルは、モデル構築時に学習データ(多数の人の顔の2次元データ)にPCAを適用することで求めることができる。
[フィッティング]
AAMを用いることで、入力画像から顔画像上の特徴点の位置を高速に特定できることが知られている。AAMのフィッティング手法が数多く提案されているが、近年は、回帰行列を用いる手法が一般的である。具体的には、入力画像上で、シェープパラメータに基づいてモデルを変形して誤差パターンを抽出し、あらかじめ誤差パターンから求めておいた回帰行列を用いて、シェープパラメータの修正量を推定し、シェープパラメータを更新することで、モデルをフィッティングする。回帰行列の算出方法としては、非特許文献3に開示されているように、学習データから線形回帰分析により求める方法などが提案されている。
AAMを用いることで、入力画像から顔画像上の特徴点の位置を高速に特定できることが知られている。AAMのフィッティング手法が数多く提案されているが、近年は、回帰行列を用いる手法が一般的である。具体的には、入力画像上で、シェープパラメータに基づいてモデルを変形して誤差パターンを抽出し、あらかじめ誤差パターンから求めておいた回帰行列を用いて、シェープパラメータの修正量を推定し、シェープパラメータを更新することで、モデルをフィッティングする。回帰行列の算出方法としては、非特許文献3に開示されているように、学習データから線形回帰分析により求める方法などが提案されている。
V.Blanz and T.Vetter,"A morphable medel for the synthesis of 3D faces",Proc. SIGGRAPH,p.187-194,1999
V.Blanz and T.Vetter,"Face recognition based on fitting a 3D morphable model",IEEE Trans. Pattern Anal.Mach.Intell.,vol.25,no.9,p.1063-1074,2003
T.F.Cootes,G.J.Edwards and C.J.Taylor,"Active appearance models",Proc.European Conf.Comp.Vision,vol.2,p.484-498,1998
以上のように、3DMMの手法では、人の顔の3次元データの生成精度に優れているが、例えば5分程度の処理時間がかかるという問題点があった。そのため、実用化のためには、処理時間の短縮化が必要である。
一方、AAMの手法では、あらかじめ回帰行列を計算しておけばよいため、3DMMと比べて人の顔の2次元データの生成を高速に行うことができる。従来より、AAMと3DMMとの類似性が注目され、AAMフィッティングの技術を3DMMフィッティングに応用することが試みられているが、3DMMのリアルタイムフィッティングを実現した例は未だ報告されていない。
一方、AAMの手法では、あらかじめ回帰行列を計算しておけばよいため、3DMMと比べて人の顔の2次元データの生成を高速に行うことができる。従来より、AAMと3DMMとの類似性が注目され、AAMフィッティングの技術を3DMMフィッティングに応用することが試みられているが、3DMMのリアルタイムフィッティングを実現した例は未だ報告されていない。
本発明は、上記課題を解決するためになされたもので、フィッティング精度に優れる3DMMの特徴を維持しつつ、処理時間を短縮することができ、3DMMのリアルタイムフィッティングを実現することができる3次元データ生成装置、生成方法およびプログラムを提供することを目的とする。
本発明の3次元データ生成装置は、複数の人の3次元顔データを学習データとして、このデータに基づいて人の顔を投影空間に投影したときの3次元形状を視点を変えながら複数生成して、この3次元形状の各点の3次元座標を、視点を変えた3次元形状毎および人の顔毎に求める投影3次元座標算出手段と、この投影3次元座標算出手段によって得られた顔の3次元座標と描画輝度のそれぞれについて主成分分析を行い、平均ベクトルと基底ベクトルとを求め、3次元形状と描画輝度のそれぞれが平均ベクトルおよび基底ベクトルとモデルパラメータとの線形和で表現される、人の顔のモデルを作成するモデル作成手段と、形状に関するモデルパラメータであるシェープパラメータにシェープパラメータ誤差を与えて変形させたモデルの各点から輝度パターンを抽出し、この抽出輝度パターンおよび前記モデル作成手段が作成したモデルを用いて輝度パターンを計算し、前記抽出輝度パターンと前記計算した復元輝度パターンとの差である誤差パターンを求め、この誤差パターンと前記シェープパラメータ誤差との組み合わせから、前記誤差パターンと前記シェープパラメータの修正量との関係を表す回帰行列を求めるフィッティング学習手段と、シェープパラメータから得られるモデルの各点に対応する入力画像の各点から輝度パターンを抽出し、この抽出輝度パターンおよび前記モデル作成手段が作成したモデルを用いて輝度パターンを計算し、前記抽出輝度パターンと前記計算した復元輝度パターンとの差である誤差パターンを求め、この誤差パターンと前記回帰行列を用いて前記シェープパラメータの修正量を求めて前記シェープパラメータを更新し、更新後のシェープパラメータから得られるモデルの各点に対応する入力画像の各点から輝度パターンを抽出し、この輝度パターンを用いて濃淡に関するモデルパラメータであるテクスチャパラメータを計算し、更新後のシェープパラメータとテクスチャパラメータとによって決定されるモデルから前記入力画像中の人の顔の3次元データを生成するフィッティング実行手段とを備えることを特徴とするものである。
また、本発明の3次元データ生成装置の1構成例において、前記モデル作成手段は、全ての顔の3次元座標に対して主成分分析を行い、形状の平均ベクトルSp,0と基底ベクトルSp,iとを求める第1のベクトル算出手段と、全ての顔の描画輝度に対して主成分分析を行い、描画輝度の平均ベクトルTp,0と基底ベクトルTp,iとを求める第2のベクトル算出手段とを備え、前記モデルの3次元形状は、前記平均ベクトルSp,0および前記基底ベクトルSp,iと前記シェープパラメータαp,iとの線形和で表現され、前記モデルの描画輝度は、前記平均ベクトルTp,0および前記基底ベクトルTp,iと前記テクスチャパラメータβp,iとの線形和で表現されることを特徴とするものである。
また、本発明の3次元データ生成装置の1構成例において、前記フィッティング学習手段は、前記シェープパラメータにシェープパラメータ誤差を与えて変形させたモデルの各点から輝度パターンを抽出する学習用抽出輝度パターン取得手段と、この抽出輝度パターンから、濃淡に関するモデルパラメータであるテクスチャパラメータを求める学習用テクスチャパラメータ算出手段と、このテクスチャパラメータによって決定されるモデルを用いて復元輝度パターンを求める学習用復元輝度パターン算出手段と、前記抽出輝度パターンと前記復元輝度パターンとの差である誤差パターンを求める学習用誤差パターン算出手段と、この誤差パターンと前記シェープパラメータ誤差との組み合わせから前記回帰行列を求める回帰行列算出手段とを備え、前記学習用抽出輝度パターン取得手段と前記学習用テクスチャパラメータ算出手段と前記学習用復元輝度パターン算出手段と前記学習用誤差パターン算出手段とは、前記シェープパラメータを変更しながら複数回処理を繰り返して、前記誤差パターンと前記シェープパラメータ誤差との組み合わせを複数求め、前記回帰行列算出手段は、この複数の組み合わせから前記回帰行列を求めることを特徴とするものである。
また、本発明の3次元データ生成装置の1構成例において、前記フィッティング実行手段は、シェープパラメータから得られるモデルの各点に対応する入力画像の各点から輝度パターンを抽出するフィッティング実行用抽出輝度パターン取得手段と、この抽出輝度パターンから、濃淡に関するモデルパラメータであるテクスチャパラメータを求めるフィッティング実行用テクスチャパラメータ算出手段と、このテクスチャパラメータによって決定されるモデルを用いて復元輝度パターンを求めるフィッティング実行用復元輝度パターン算出手段と、前記抽出輝度パターンと前記復元輝度パターンとの差である誤差パターンを求めるフィッティング実行用誤差パターン算出手段と、この誤差パターンと前記回帰行列とを用いて前記シェープパラメータの修正量を求めて前記シェープパラメータを更新するシェープパラメータ更新手段と、更新後のシェープパラメータから得られるモデルの各点に対応する入力画像の各点から輝度パターンを抽出し、この輝度パターンを用いて前記テクスチャパラメータを再計算するテクスチャパラメータ再計算手段と、更新後のシェープパラメータと前記テクスチャパラメータ再計算手段が計算したテクスチャパラメータとによって決定されるモデルから前記入力画像中の人の顔の3次元データを生成する3次元データ生成手段とを備え、前記フィッティング実行用抽出輝度パターン取得手段と前記フィッティング実行用テクスチャパラメータ算出手段と前記フィッティング実行用復元輝度パターン算出手段と前記フィッティング実行用誤差パターン算出手段と前記シェープパラメータ更新手段とは、前記シェープパラメータを更新しながら複数回処理を繰り返すことを特徴とするものである。
また、本発明の3次元データ生成装置の1構成例は、さらに、前記投影3次元座標算出手段が前記3次元座標を求める前に、前記3次元顔データで表される各人の顔が所定の基準となる参照顔に近づくように各人の顔を拡大縮小、回転、平行移動したときの3次元座標を求め、この3次元座標を、前記投影3次元座標算出手段が前記3次元形状を生成する際の入力とする登録3次元座標取得手段を備えることを特徴とするものである。
また、本発明の3次元データ生成装置の1構成例は、さらに、前記モデル作成手段がモデルを作成する前に、前記3次元顔データから顔の各点の描画輝度を求める描画輝度算出手段を備えることを特徴とするものである。
また、本発明の3次元データ生成装置の1構成例は、さらに、前記モデル作成手段がモデルを作成する前に、前記3次元顔データから顔の各点の描画輝度を求める描画輝度算出手段を備えることを特徴とするものである。
また、本発明の3次元データ生成方法は、複数の人の3次元顔データを学習データとして、このデータに基づいて人の顔を投影空間に投影したときの3次元形状を視点を変えながら複数生成して、この3次元形状の各点の3次元座標を、視点を変えた3次元形状毎および人の顔毎に求める投影3次元座標算出ステップと、この投影3次元座標算出ステップで得られた顔の3次元座標と描画輝度のそれぞれについて主成分分析を行い、平均ベクトルと基底ベクトルとを求め、3次元形状と描画輝度のそれぞれが平均ベクトルおよび基底ベクトルとモデルパラメータとの線形和で表現される、人の顔のモデルを作成するモデル作成ステップと、形状に関するモデルパラメータであるシェープパラメータにシェープパラメータ誤差を与えて変形させたモデルの各点から輝度パターンを抽出し、この抽出輝度パターンおよび前記モデル作成ステップで作成したモデルを用いて輝度パターンを計算し、前記抽出輝度パターンと前記計算した復元輝度パターンとの差である誤差パターンを求め、この誤差パターンと前記シェープパラメータ誤差との組み合わせから、前記誤差パターンと前記シェープパラメータの修正量との関係を表す回帰行列を求めるフィッティング学習ステップと、シェープパラメータから得られるモデルの各点に対応する入力画像の各点から輝度パターンを抽出し、この抽出輝度パターンおよび前記モデル作成ステップで作成したモデルを用いて輝度パターンを計算し、前記抽出輝度パターンと前記計算した復元輝度パターンとの差である誤差パターンを求め、この誤差パターンと前記回帰行列を用いて前記シェープパラメータの修正量を求めて前記シェープパラメータを更新し、更新後のシェープパラメータから得られるモデルの各点に対応する入力画像の各点から輝度パターンを抽出し、この輝度パターンを用いて濃淡に関するモデルパラメータであるテクスチャパラメータを計算し、更新後のシェープパラメータとテクスチャパラメータとによって決定されるモデルから前記入力画像中の人の顔の3次元データを生成するフィッティング実行ステップとを備えることを特徴とするものである。
また、本発明の3次元データ生成プログラムは、複数の人の3次元顔データを学習データとして、このデータに基づいて人の顔を投影空間に投影したときの3次元形状を視点を変えながら複数生成して、この3次元形状の各点の3次元座標を、視点を変えた3次元形状毎および人の顔毎に求める投影3次元座標算出ステップと、この投影3次元座標算出ステップで得られた顔の3次元座標と描画輝度のそれぞれについて主成分分析を行い、平均ベクトルと基底ベクトルとを求め、3次元形状と描画輝度のそれぞれが平均ベクトルおよび基底ベクトルとモデルパラメータとの線形和で表現される、人の顔のモデルを作成するモデル作成ステップと、形状に関するモデルパラメータであるシェープパラメータにシェープパラメータ誤差を与えて変形させたモデルの各点から輝度パターンを抽出し、この抽出輝度パターンおよび前記モデル作成ステップで作成したモデルを用いて輝度パターンを計算し、前記抽出輝度パターンと前記計算した復元輝度パターンとの差である誤差パターンを求め、この誤差パターンと前記シェープパラメータ誤差との組み合わせから、前記誤差パターンと前記シェープパラメータの修正量との関係を表す回帰行列を求めるフィッティング学習ステップと、シェープパラメータから得られるモデルの各点に対応する入力画像の各点から輝度パターンを抽出し、この抽出輝度パターンおよび前記モデル作成ステップで作成したモデルを用いて輝度パターンを計算し、前記抽出輝度パターンと前記計算した復元輝度パターンとの差である誤差パターンを求め、この誤差パターンと前記回帰行列を用いて前記シェープパラメータの修正量を求めて前記シェープパラメータを更新し、更新後のシェープパラメータから得られるモデルの各点に対応する入力画像の各点から輝度パターンを抽出し、この輝度パターンを用いて濃淡に関するモデルパラメータであるテクスチャパラメータを計算し、更新後のシェープパラメータとテクスチャパラメータとによって決定されるモデルから前記入力画像中の人の顔の3次元データを生成するフィッティング実行ステップとを、コンピュータに実行させることを特徴とするものである。
本発明によれば、投影3次元座標算出手段と、モデル作成手段と、フィッティング学習手段と、フィッティング実行手段とを設け、投影空間上のデータを扱うモデルを構築して、3次元空間に拡張したAAMフィッティングを適用することにより、高速な3DMMフィッティング手法を実現することができ、1枚の静止画像から人の顔の3次元データを高速かつ高精度に生成することができる。
以下、本発明の実施の形態について図面を参照して説明する。図1は本発明の実施の形態に係る3次元データ生成装置の構成を示すブロック図である。
3次元データ生成装置は、学習データから人の顔のモデルを作成するモデル作成部1と、誤差パターンと、形状に関するモデルパラメータであるシェープパラメータの修正量との関係について学習するフィッティング学習部2と、モデル作成部1が作成したモデルを入力画像中の人の顔と合うように変形させてフィッティングを行い、入力画像中の人の顔の3次元データを生成するフィッティング実行部3と、モデルパラメータの推定値から、レンダリングパラメータの影響を除去する後処理部4と、学習データや、モデル作成部1が算出したデータ、フィッティング学習部2が算出したデータ、およびフィッティング実行部3が算出したデータ等を記憶する記憶部5とを備えている。
3次元データ生成装置は、学習データから人の顔のモデルを作成するモデル作成部1と、誤差パターンと、形状に関するモデルパラメータであるシェープパラメータの修正量との関係について学習するフィッティング学習部2と、モデル作成部1が作成したモデルを入力画像中の人の顔と合うように変形させてフィッティングを行い、入力画像中の人の顔の3次元データを生成するフィッティング実行部3と、モデルパラメータの推定値から、レンダリングパラメータの影響を除去する後処理部4と、学習データや、モデル作成部1が算出したデータ、フィッティング学習部2が算出したデータ、およびフィッティング実行部3が算出したデータ等を記憶する記憶部5とを備えている。
モデル作成部1は、学習データとして人の顔を登録した際のデータ(登録3次元座標、表面反射率)ではなく、顔を画像に描画した際のデータ(投影3次元座標、描画輝度)を扱うようなモデルを作成する。フィッティング学習部2およびフィッティング実行部3は、AAMと同様な回帰行列を用いたフィッティングを3次元空間に拡張して適用し、従来行われていたレンダリングパラメータの推定は行わず、3DMMのモデルパラメータのみを推定する。
以下、本実施の形態の3次元データ生成装置の動作についてより詳細に説明する。図2は本実施の形態の3次元データ生成装置の動作を示すフローチャートである。
以下、本実施の形態の3次元データ生成装置の動作についてより詳細に説明する。図2は本実施の形態の3次元データ生成装置の動作を示すフローチャートである。
[モデル作成]
まず、モデル作成部1の動作について説明する。以下、学習データとして与えられる処理対象の3次元顔データを対象顔データと呼び、基準となる3次元顔データを参照顔データと呼ぶ。これらの顔データは、人の顔の表面を構成する各点のデータ(画素毎の3次元座標と画素毎の表面反射率)を含む。本実施の形態では、全対象顔データの平均3次元顔データを参照顔データとする。また、本実施の形態では、互いに直交する3軸(x軸、y軸、z軸)上の座標で3次元座標を表現する。
まず、モデル作成部1の動作について説明する。以下、学習データとして与えられる処理対象の3次元顔データを対象顔データと呼び、基準となる3次元顔データを参照顔データと呼ぶ。これらの顔データは、人の顔の表面を構成する各点のデータ(画素毎の3次元座標と画素毎の表面反射率)を含む。本実施の形態では、全対象顔データの平均3次元顔データを参照顔データとする。また、本実施の形態では、互いに直交する3軸(x軸、y軸、z軸)上の座標で3次元座標を表現する。
モデル作成部1によるモデルの作成は、以下の手順で行われる。
(A)学習データ中にある全ての対象顔データについて、対象顔データで表される対象顔と参照顔データで表される参照顔との各点の対応点探索を行う(図2ステップS1)。
(B)対象顔の各点の登録3次元座標を求める(図2ステップS2)。
(C)対象顔の各点の投影3次元座標を求める(図2ステップS3)。
(D)対象顔の各点の描画輝度を求める(図2ステップS4)。
(E)ステップS1〜S4の処理で得られた全ての対象顔の投影3次元座標と描画輝度に対して主成分分析(PCA)を行い、モデルの平均ベクトルと基底ベクトルとを求める(図2ステップS5)。
(A)学習データ中にある全ての対象顔データについて、対象顔データで表される対象顔と参照顔データで表される参照顔との各点の対応点探索を行う(図2ステップS1)。
(B)対象顔の各点の登録3次元座標を求める(図2ステップS2)。
(C)対象顔の各点の投影3次元座標を求める(図2ステップS3)。
(D)対象顔の各点の描画輝度を求める(図2ステップS4)。
(E)ステップS1〜S4の処理で得られた全ての対象顔の投影3次元座標と描画輝度に対して主成分分析(PCA)を行い、モデルの平均ベクトルと基底ベクトルとを求める(図2ステップS5)。
以下、モデル作成部1における各処理について述べる。図3はモデル作成部1の構成を示すブロック図である。モデル作成部1は、対応点探索部10と、登録3次元座標算出部11と、投影3次元座標算出部12と、描画輝度算出部13と、ベクトル算出部14とから構成される。ベクトル算出部14は、形状の平均ベクトルと基底ベクトルとを求める第1のベクトル算出手段と、描画輝度の平均ベクトルと基底ベクトルとを求める第2のベクトル算出手段とを構成している。
[対応点探索]
対応点探索とは、対象顔データで表される対象顔の各点をPCAの入力とするために、対象顔の各点が参照顔データで表される参照顔のどの点に対応するかを求める処理である。図4は対応点探索部10の動作を示すフローチャートである。まず、対応点探索部10は、対象顔データと参照顔データからそれぞれ対象顔と参照顔の正面顔画像を生成する(図4ステップS100)。
対応点探索とは、対象顔データで表される対象顔の各点をPCAの入力とするために、対象顔の各点が参照顔データで表される参照顔のどの点に対応するかを求める処理である。図4は対応点探索部10の動作を示すフローチャートである。まず、対応点探索部10は、対象顔データと参照顔データからそれぞれ対象顔と参照顔の正面顔画像を生成する(図4ステップS100)。
続いて、対応点探索部10は、AAMの手法を用いて、対象顔の正面顔画像と参照顔の正面顔画像のそれぞれから数十個の特徴点を抽出する。対応点探索部10は、対象顔の特徴点とこれに対応する参照顔の特徴点とが重なるように、対象顔の正面顔画像を変形する(図4ステップS101)。さらに、対応点探索部10は、オプティカルフローの手法により、対象顔の各点と参照顔の各点とをピクセルレベルで対応付け、ステップS101で変形した対象顔の正面顔画像を参照顔の正面顔画像に合わせるようにピクセルレベルで更に変形する(図4ステップS102)。
図5(A)にステップS100で生成した対象顔の正面顔画像の1例を示し、図5(B)にステップS101,S102で変形した後の対象顔の正面顔画像を示し、図5(C)にステップS100で生成した参照顔の正面顔画像の1例を示す。
最後に、対応点探索部10は、ステップS102で変形した対象顔の正面顔画像の画素の投影元である3次元の対象顔上の点と、参照顔の正面顔画像の各画素のうち、対象顔の正面顔画像の画素と同じ位置にある画素の投影元である3次元の参照顔上の点とを対応付ける(図4ステップS103)。すなわち、対応点探索部10は、対象顔の各点と参照顔の各点とを3次元座標上で対応付ける。対応点探索部10は、このような対応点探索処理を対象顔の正面顔画像中の有効画素の全てについて画素毎に行う。
以上で、対応点探索部10の処理(図2ステップS1)が終了する。対応点探索部10は、ステップS100〜S103の処理を全ての対象顔データについて行う。なお、このような対応点探索部10の処理は、従来の3DMMと同じであり、例えば非特許文献2に開示されている。
[登録3次元座標算出]
次に、登録3次元座標算出部11は、対象顔の各点の登録3次元座標を求める(図2ステップS2)。登録3次元座標算出部11は、対象顔の参照顔に対する大きさ、回転角度、位置を3次元で求め、対象顔の形状を補正する。図6は登録3次元座標算出部11の動作を示すフローチャートである。
次に、登録3次元座標算出部11は、対象顔の各点の登録3次元座標を求める(図2ステップS2)。登録3次元座標算出部11は、対象顔の参照顔に対する大きさ、回転角度、位置を3次元で求め、対象顔の形状を補正する。図6は登録3次元座標算出部11の動作を示すフローチャートである。
まず、登録3次元座標算出部11は、対象顔上の点の3次元座標とこれに対応する参照顔上の点の3次元座標との組から、対象顔を参照顔に近づけるための3次元アフィン変換行列を最小二乗法により推定する(図6ステップS110)。対象顔上の点と参照顔上の点との対応関係は、前述の対応点探索部10の処理によって得られている。
式(9)において、xO,*,yO,*,zO,*は対象顔上の任意の点のx座標、y座標、z座標、xr,*,yr,*,zr,*は参照顔上の任意の点のx座標、y座標、z座標、cは3次元アフィン変換行列の要素である。
続いて、登録3次元座標算出部11は、式(9)の3次元アフィン変換行列から、対象顔を変換するための座標変換パラメータを以下のように求める(図6ステップS111)。
続いて、登録3次元座標算出部11は、式(9)の3次元アフィン変換行列から、対象顔を変換するための座標変換パラメータを以下のように求める(図6ステップS111)。
θwx=tan-1(−cw33/cw23) ・・・(11)
θwy=sin-1(−cw12/Sw) ・・・(12)
θwz=tan-1(−cw12/cw11) ・・・(13)
twx=cw14 ・・・(14)
twy=cw24 ・・・(15)
twz=cw34 ・・・(16)
θwy=sin-1(−cw12/Sw) ・・・(12)
θwz=tan-1(−cw12/cw11) ・・・(13)
twx=cw14 ・・・(14)
twy=cw24 ・・・(15)
twz=cw34 ・・・(16)
Swは対象顔の大きさを変換するためのパラメータ、θwx,θwy,θwzは対象顔のx軸回りの回転角度、y軸回りの回転角度、z軸回りの回転角度を変換するためのパラメータ、twx,twy,twzは対象顔のz軸上の位置、y軸上の位置、z軸上の位置を変換するためのパラメータである。
次に、登録3次元座標算出部11は、式(10)〜式(16)の座標変換パラメータから次式のように座標変換行列Wwを求める(図6ステップS112)。
Ww=SwRθwxRθwyRθwz+ttwx,twy,twz ・・・(17)
Ww=SwRθwxRθwyRθwz+ttwx,twy,twz ・・・(17)
Rθwx,Rθwy,Rθwz,ttwx,twy,twzはそれぞれ行列である。最後に、登録3次元座標算出部11は、座標変換行列Wwを用いて、対応点探索部10の処理によって得られた対象顔上の点の3次元座標[xO,i,yO,i,zO,i]から登録3次元座標[xw,i,yw,i,zw,i]を求める(図6ステップS113)。
つまり、登録3次元座標[xw,i,yw,i,zw,i]は、参照顔に近づくように対象顔を拡大縮小、回転、平行移動したときの対象顔上の点の3次元座標である。登録3次元座標算出部11は、このような登録3次元座標算出処理を、対応点探索部10の処理によって得られた対象顔上の各点について実行する。
以上で、登録3次元座標算出部11の処理(図2ステップS2)が終了する。登録3次元座標算出部11は、ステップS110〜S113の処理を全ての対象顔データについて行う。登録3次元座標算出処理の結果は、記憶部5に格納される。
[投影3次元座標算出]
次に、投影3次元座標算出部12は、対象顔の各点の投影3次元座標を求める(図2ステップS3)。具体的には、投影3次元座標算出部12は、画像から3次元形状を推測するためのPCAを行うために、対象顔から、視点を変えた3次元形状を複数生成する。図7は投影3次元座標算出部12の動作を示すフローチャートである。
次に、投影3次元座標算出部12は、対象顔の各点の投影3次元座標を求める(図2ステップS3)。具体的には、投影3次元座標算出部12は、画像から3次元形状を推測するためのPCAを行うために、対象顔から、視点を変えた3次元形状を複数生成する。図7は投影3次元座標算出部12の動作を示すフローチャートである。
まず、投影3次元座標算出部12は、投影パラメータρ=[sp θpx θpy θpz tpx tpy tpz]から、座標変換行列Wpを次式のように求める(図7ステップS120)。
Wp=spRθpxRθpyRθpz+ttpx,tpy,tpz ・・・(19)
Wp=spRθpxRθpyRθpz+ttpx,tpy,tpz ・・・(19)
投影パラメータρにおいて、spは3次元データ生成装置に学習データ(対象顔データ)を登録する際に3次元の顔形状の定義に使用されるmm単位の登録空間から、画素単位の投影空間へ対象顔を投影するための倍率、θpx,θpy,θpzはそれぞれx軸回りの回転角度、y軸回りの回転角度、z軸回りの回転角度、tpx,tpy,tpzはそれぞれx軸に沿った画素単位の移動量、y軸に沿った画素単位の移動量、z軸に沿った画素単位の移動量である。また、式(19)におけるRθpx,Rθpy,Rθpz,ttpx,tpy,tpzはそれぞれ行列である。
続いて、投影3次元座標算出部12は、座標変換行列Wpを用いて、登録3次元座標[xw,i,yw,i,zw,i]から投影3次元座標[xp,i,yp,i,zp,i]を求める(図7ステップS121)。
つまり、投影3次元座標[xp,i,yp,i,zp,i]は、登録3次元座標[xw,i,yw,i,zw,i]で表される対象顔を見る視点を変えたときの対象顔上の点の3次元座標である。投影3次元座標算出部12は、このような投影3次元座標算出処理を、登録3次元座標算出部11の処理によって座標が算出された対象顔上の各点について実行する。
さらに、投影3次元座標算出部12は、投影パラメータを変更、すなわち対象顔を見る視点を変更して(図7ステップS123)、ステップS120に戻る。
さらに、投影3次元座標算出部12は、投影パラメータを変更、すなわち対象顔を見る視点を変更して(図7ステップS123)、ステップS120に戻る。
こうして、投影パラメータを変更しながらステップS120,S121の処理を繰り返し実行して、1つの対象顔について視点を変えた顔形状を複数生成する。投影3次元座標算出部12は、予め設定された範囲内の全ての投影パラメータについてステップS120,S121の処理を終えた時点で(図7ステップS122においてYES)、投影3次元座標算出処理(図2ステップS3)を終える。投影3次元座標算出部12は、ステップS120〜S123の処理を全ての対象顔データについて行う。投影3次元座標算出処理の結果は、記憶部5に格納される。
[描画輝度算出]
次に、描画輝度算出部13は、対象顔の各点の描画輝度を求める(図2ステップS4)。本実施の形態では、対象顔の描画輝度をモデル作成のための入力として扱う。具体的には、描画輝度算出部13は、学習データとして与えられる対象顔データのテクスチャ情報が描画輝度ではなく、表面反射率で与えられている場合には、以下で説明する手順により、対象顔データの表面反射率から描画輝度を求めて、PCAを実施するためのデータを求める。
次に、描画輝度算出部13は、対象顔の各点の描画輝度を求める(図2ステップS4)。本実施の形態では、対象顔の描画輝度をモデル作成のための入力として扱う。具体的には、描画輝度算出部13は、学習データとして与えられる対象顔データのテクスチャ情報が描画輝度ではなく、表面反射率で与えられている場合には、以下で説明する手順により、対象顔データの表面反射率から描画輝度を求めて、PCAを実施するためのデータを求める。
描画輝度算出部13は、3次元データ生成装置に学習データ(対象顔データ)を登録する際に対象顔の各点の表面反射率を定義するために使用される光源のパラメータτ=[lx ly lz rl bl gl]を用いて、対象顔の任意の点の単位法線ベクトル[nx,i ny,i nz,i]及びこの点の表面反射率(本実施の形態では拡散反射率)[rw,i gw,i bw,i]から、対象顔上の点の描画輝度[rp,i gp,i bp,i]を次式のように求める。
lx,ly,lzはそれぞれx軸、y軸、z軸に沿った単位光源方向ベクトル、rl,gl,blは光源の赤色成分、緑色成分、青色成分の光強度である。また、nx,i,ny,i,nz,iはそれぞれx軸、y軸、z軸に沿った単位法線ベクトル、rw,i,gw,i,bw,iは赤色成分、緑色成分、青色成分の表面反射率、rp,i,gp,i,bp,iは赤色成分、緑色成分、青色成分の描画輝度である。描画輝度算出部13は、このような描画輝度算出処理を、投影3次元座標算出部12の処理によって座標が算出された対象顔上の各点について実行する。
以上で、描画輝度算出部13の処理(図2ステップS4)が終了する。描画輝度算出部13は、描画輝度算出処理を全ての対象顔データについて行う。この描画輝度算出処理の結果は、記憶部5に格納される。なお、描画輝度算出部13は本発明において必須の構成要件ではなく、学習データとして与えられる対象顔データのテクスチャ情報が描画輝度で与えられている場合には、描画輝度算出処理を実施する必要はない。
[ベクトル算出]
次に、ベクトル算出部14は、ステップS1〜S4の処理で得られた全ての対象顔の投影3次元座標と描画輝度に対してPCAを行い、モデルの平均ベクトルと基底ベクトルとを求める(図2ステップS5)。図8はベクトル算出部14の動作を示すフローチャートである。
次に、ベクトル算出部14は、ステップS1〜S4の処理で得られた全ての対象顔の投影3次元座標と描画輝度に対してPCAを行い、モデルの平均ベクトルと基底ベクトルとを求める(図2ステップS5)。図8はベクトル算出部14の動作を示すフローチャートである。
人の顔のモデルの表面を構成するNV個の点の、投影空間上の3次元座標(投影3次元座標)をSp、描画輝度をTpとすると、投影3次元座標Sp、描画輝度Tpは次式で表される。
Sp=[xp,1 yp,1 zp,1 ・・・ xp,Nv yp,Nv zp,Nv]T ・・(22)
Tp=[rp,1 gp,1 bp,1 ・・・ rp,Nv gp,Nv bp,Nv]T ・・(23)
Sp=[xp,1 yp,1 zp,1 ・・・ xp,Nv yp,Nv zp,Nv]T ・・(22)
Tp=[rp,1 gp,1 bp,1 ・・・ rp,Nv gp,Nv bp,Nv]T ・・(23)
ベクトル算出部14は、ステップS3の処理で得られた全ての対象顔の投影3次元座標に対してPCAを行い、モデルの形状の平均ベクトルSp,0とモデルの形状の基底ベクトルSp,i(i=1〜Ns)とを求める(図8ステップS130)。ここで、Nsはシェープパラメータ数であり、所定値である。平均ベクトルSp,0と基底ベクトルSp,iとは、記憶部5に格納される。
また、ベクトル算出部14は、ステップS4の処理で得られた全ての対象顔の描画輝度に対してPCAを行い、モデルの描画輝度の平均ベクトルTp,0とモデルの描画輝度の基底ベクトルTp,i(i=1〜Nt)とを求める(図8ステップS131)。ここで、Ntはテクスチャパラメータ数であり、所定値である。平均ベクトルTp,0と基底ベクトルTp,iとは、記憶部5に格納される。
人の顔のモデルは、以上の平均ベクトル(Sp,0,Tp,0)と基底ベクトル(Sp,i,Tp,i)と、モデルパラメータ(αp,i,βp,i)との線形和により次式のように構成できる。
モデルの形状に関するモデルパラメータであるシェープパラメータαp,i(i=1〜Ns)は、次式のように算出できる。
αp,i=Sp,i・(Sp−Sp,0) ・・・(26)
αp,i=Sp,i・(Sp−Sp,0) ・・・(26)
すなわち、シェープパラメータαp,iは、対象顔の投影3次元座標Spから平均ベクトルSp,0を減算し、基底ベクトルSp,iとの内積をとることにより求められる。また、モデルの濃淡に関するモデルパラメータであるテクスチャパラメータβp,i(i=1〜Nt)は、次式のように算出できる。
βp,i=Tp,i・(Tp−Tp,0) ・・・(27)
βp,i=Tp,i・(Tp−Tp,0) ・・・(27)
シェープパラメータαp,iの場合と同様に、テクスチャパラメータβp,iは、対象顔の描画輝度Tpから平均ベクトルTp,0を減算し、基底ベクトルTp,iとの内積をとることにより求められる。
図9(A)、図9(B)は、モデルの構築を模式的に説明する図である。図9(A)、図9(B)において、90はモデルの形状の平均ベクトルSp,0を表し、91は形状の第1主成分Sp,1を表し、92は形状の第2主成分Sp,2を表している。式(26)および図90(A)から分かるように、モデルの形状は、平均ベクトルSp,0と基底ベクトルSp,iと、モデルパラメータαp,iとの線形和により構成できる。また、93はモデルの描画輝度の平均ベクトルTp,0を表し、94は描画輝度の第1主成分Tp,1を表し、95は描画輝度の第2主成分Tp,2を表している。式(27)および図90(B)から分かるように、モデルの濃淡は、平均ベクトルTp,0と基底ベクトルTp,iと、モデルパラメータβp,iとの線形和により構成できる。
以上で、ベクトル算出部14の処理(図2ステップS5)が終了し、モデル作成部1の処理が終了する。
以上で、ベクトル算出部14の処理(図2ステップS5)が終了し、モデル作成部1の処理が終了する。
[フィッティング]
次に、フィッティング学習部2は、あらかじめ誤差パターンとシェープパラメータの修正量との関係について学習し(図2ステップS6)、フィッティング実行部3は、入力画像から誤差パターンを求め、フィッティング学習部2の学習結果に基づいてシェープパラメータを繰り返し処理により更新することで、モデルを入力画像中の人の顔と合うように変形させてフィッティングを行い、入力画像中の人の顔の3次元データを生成する(図2ステップS7)。
次に、フィッティング学習部2は、あらかじめ誤差パターンとシェープパラメータの修正量との関係について学習し(図2ステップS6)、フィッティング実行部3は、入力画像から誤差パターンを求め、フィッティング学習部2の学習結果に基づいてシェープパラメータを繰り返し処理により更新することで、モデルを入力画像中の人の顔と合うように変形させてフィッティングを行い、入力画像中の人の顔の3次元データを生成する(図2ステップS7)。
以下、フィッティング学習部2とフィッティング実行部3における各処理について述べる。フィッティング学習部2は、学習用抽出輝度パターン取得手段と、学習用テクスチャパラメータ算出手段と、学習用復元輝度パターン算出手段と、学習用誤差パターン算出手段と、回帰行列算出手段とを構成している。フィッティング実行部3は、フィッティング実行用抽出輝度パターン取得手段と、フィッティング実行用テクスチャパラメータ算出手段と、フィッティング実行用復元輝度パターン算出手段と、フィッティング実行用誤差パターン算出手段と、シェープパラメータ更新手段と、テクスチャパラメータ再計算手段と、3次元データ生成手段とを構成している。
[フィッティング学習]
フィッティング学習部2は、誤差パターンとシェープパラメータの修正量との関係を表す回帰行列を求める(図2ステップS6)。図10はフィッティング学習部2の動作を示すフローチャートである。まず、フィッティング学習部2は、計算量を削減するために、モデルの表面を構成するNV個の点を、誤差パターンを生成するためのNf個の点に間引きする(図10ステップS200)。
フィッティング学習部2は、誤差パターンとシェープパラメータの修正量との関係を表す回帰行列を求める(図2ステップS6)。図10はフィッティング学習部2の動作を示すフローチャートである。まず、フィッティング学習部2は、計算量を削減するために、モデルの表面を構成するNV個の点を、誤差パターンを生成するためのNf個の点に間引きする(図10ステップS200)。
Nfは、元のデータの点数NVと等しくてもよいが、後述するフィッティング実行時の計算量はNfに比例するので、モデルの表面上の点を適切に選択することによって、フィッティングを高速化することができる。本実施の形態では、参照顔画像上でXY方向に4画素おきに間引きした画素に対応する点を選択した。
次に、フィッティング学習部2は、シェープパラメータαpを±1σの範囲内でランダムに設定し、式(24)、式(25)によりモデルのレンダリング画像を作成する(図10ステップS201)。なお、シェープパラメータαpは1番目の主成分からNs番目の主成分までの基底ベクトル毎に存在するので、このステップS201の処理は基底ベクトル毎の各シェープパラメータαpに対して行われる。
続いて、フィッティング学習部2は、ステップS201で設定したシェープパラメータαpに対して所定の誤差Δαpを加え、モデルのレンダリング画像を変形させる(図10ステップS202)。この誤差Δαpの加算も、基底ベクトル毎の各シェープパラメータαpに対して行われる。
フィッティング学習部2は、ステップS202で変形させたモデルより、モデル表面のNf個の点の画像座標を求めて、変形後のレンダリング画像からこれらNf個の点の輝度IO(αp+Δαp)を得る(図10ステップS203)。ここでは、Nf個の点の輝度の集まりを抽出輝度パターンと呼ぶ。言うまでもなく、Nf個の点とは、ステップS200で選択した点のことである。この抽出輝度パターンIO(αp+Δαp)は、記憶部5に格納される。
次に、フィッティング学習部2は、ステップS203で求めた抽出輝度パターンIO(αp+Δαp)を用いて、テクスチャパラメータβpを求める(図10ステップS204)。本来、テクスチャパラメータβpを求めるには、式(27)により、NV個の点の輝度から求める必要があるが、BPLPの技術を利用することにより、抽出輝度パターンを構成するNf個の点の輝度からテクスチャパラメータを算出することができるようになり、さらなる計算量の削減を行うことができる。
以下、BPLPの概略について説明する。BPLPは、固有空間を用いた補間手法である。学習により得られた固有ベクトル列Eを用いて、ベクトルxiを固有空間へ投影すれば、主成分得点piが取得される。
pi=ETxi ・・・(28)
もしも、ベクトルxiに欠損データがある場合、欠損データの部分を0で表現すれば、次式のようになる。
pi=ETxi ・・・(28)
もしも、ベクトルxiに欠損データがある場合、欠損データの部分を0で表現すれば、次式のようになる。
Fは欠損データの有無を示す行列である。ハットxiはベクトルである。以下、同様に文字上に付した「∧」をハットと呼ぶ。ハットxiを固有空間Eへ投影すると、次式のようになる。
一方、欠損データを含まないベクトルは1次結合により、次式で近似することができる。
式(28)〜式(31)より、欠損データを含む場合の主成分得点と含まない場合の主成分得点は次式で求めることができる。
これにより、欠損データを含むハットxiから、欠損データを含まない主成分得点piを以下の式で推定することができる。
上記において、ベクトルxiがNV個の値で構成され、そのうちデータ欠損のない値がNf個、piがNt個の値で構成されるとすると、上記の行列GのサイズはNt×NVとなる。
ここで、行列Gを構成する列ベクトルのうち、ゼロベクトル列を削除した行列G’を作成すると、行列G’のサイズはNt×Nfとなる。さらにxiからデータ欠損のない値のみ抜き出して、Nf個の値で構成されるベクトルxi’を作成すると、欠損データを含むハットxiから、欠損データを含まない主成分得点piの推定は、式(34)によりさらに高速化することができる。
ここで、行列Gを構成する列ベクトルのうち、ゼロベクトル列を削除した行列G’を作成すると、行列G’のサイズはNt×Nfとなる。さらにxiからデータ欠損のない値のみ抜き出して、Nf個の値で構成されるベクトルxi’を作成すると、欠損データを含むハットxiから、欠損データを含まない主成分得点piの推定は、式(34)によりさらに高速化することができる。
以上のようなBPLPについては、例えば文献「天野敏之,佐藤幸男,“固有空間法を用いたBPLPによる画像補間”,電子情報通信学会論文誌D−II,vol.J85−D−II,No.3,p.457−465,2002」に開示されている。
フィッティング学習部2は、このようなBPLPの技術を利用することにより、テクスチャパラメータβpを算出する。具体的には、フィッティング学習部2は、式(29)における有無行列Fを設定し、式(33)における行列Gを求め、Gの0列を削除し、式(34)における行列G’を求め、Nf個の輝度パターンからNt個のテクスチャパラメータβpを算出するためのNt行Nf列の行列Gpを求める。これによりテクスチャパラメータβpは、以下のように計算できる。
βp=GpIO(αp+Δαp) ・・・(35)
フィッティング学習部2は、このようなBPLPの技術を利用することにより、テクスチャパラメータβpを算出する。具体的には、フィッティング学習部2は、式(29)における有無行列Fを設定し、式(33)における行列Gを求め、Gの0列を削除し、式(34)における行列G’を求め、Nf個の輝度パターンからNt個のテクスチャパラメータβpを算出するためのNt行Nf列の行列Gpを求める。これによりテクスチャパラメータβpは、以下のように計算できる。
βp=GpIO(αp+Δαp) ・・・(35)
フィッティング学習部2は、抽出輝度パターンIO(αp+Δαp)を式(35)に代入して、テクスチャパラメータβpを、1番目の主成分からNt番目の主成分まで基底ベクトル毎に算出する。テクスチャパラメータβpは、記憶部5に格納される。
続いて、フィッティング学習部2は、ステップS204で求めたテクスチャパラメータβpを用いて、式(25)によりモデルの描画輝度Tp=Ir(αp+Δαp)を求める(図10ステップS205)。ここでは、モデル表面のNf個の点の描画輝度の集まりを復元輝度パターンと呼ぶ。復元輝度パターンIr(αp+Δαp)は、記憶部5に格納される。
次に、フィッティング学習部2は、ステップS203で求めた抽出輝度パターンIO(αp+Δαp)とステップS205で求めた復元輝度パターンIr(αp+Δαp)との誤差パターンIe(αp+Δαp)を次式のように求める(図10ステップS206)。
Ie(αp+Δαp)=IO(αp+Δαp)−Ir(αp+Δαp) ・・・(36)
式(36)の処理は、抽出輝度パターンIO(αp+Δαp)と復元輝度パターンIr(αp+Δαp)の対応する点毎に行われる。誤差パターンIe(αp+Δαp)は、記憶部5に格納される。
Ie(αp+Δαp)=IO(αp+Δαp)−Ir(αp+Δαp) ・・・(36)
式(36)の処理は、抽出輝度パターンIO(αp+Δαp)と復元輝度パターンIr(αp+Δαp)の対応する点毎に行われる。誤差パターンIe(αp+Δαp)は、記憶部5に格納される。
フィッティング学習部2は、ステップS206で求めた誤差パターンIe(αp+Δαp)を、平均0、長さ1の単位ベクトルに正規化する(図10ステップS207)。この正規化された誤差パターンは、記憶部5に格納される。
そして、フィッティング学習部2は、ステップS202に戻る。こうして、フィッティング学習部2は、ステップS202〜S207の処理を所定の誤差発生回数No回だけ繰り返す。
そして、フィッティング学習部2は、ステップS202に戻る。こうして、フィッティング学習部2は、ステップS202〜S207の処理を所定の誤差発生回数No回だけ繰り返す。
フィッティング学習部2は、ステップS202〜S207の処理をNo回繰り返した後(図10ステップS208においてYES)、ステップS201に戻る。こうして、フィッティング学習部2は、ステップS201〜S208の処理を所定のレンダリング回数Nr回だけ繰り返す。この処理により、正規化した誤差パターンとシェープパラメータ誤差Δαpとの組み合わせが、No×Nr個得られることになる。
最後に、フィッティング学習部2は、ステップS201〜S208の処理をNr回繰り返した後(図10ステップS209においてYES)、ステップS201〜S208の処理で得られた、誤差パターンとシェープパラメータ誤差Δαpとの複数の組み合わせを用いて、回帰分析により回帰行列Apを求める(図10ステップS210)。回帰行列Apは、現在のシェープパラメータαpcurrentにより得られた誤差パターンIe(αpcurrent)から次のシェープパラメータの修正量Δαpを推定するために用いられる。
Δαp=ApIe(αpcurrent) ・・・(37)
Δαp=ApIe(αpcurrent) ・・・(37)
フィッティング学習部2は、式(37)を回帰式として用い、この回帰式と、ステップS201〜S208の処理で得られた、誤差パターンとシェープパラメータ誤差Δαpとの複数の組み合わせを用いた回帰分析により、回帰行列Apを求めればよい。この回帰行列Apは、記憶部5に格納される。以上で、フィッティング学習部2の処理(図2ステップS6)が終了する。
[フィッティング実行]
次に、フィッティング実行部3は、入力画像中の人の顔の3次元データを生成する(図2ステップS7)。図11はフィッティング実行部3の動作を示すフローチャートである。まず、フィッティング実行部3は、シェープパラメータαpを0に初期化する(図11ステップS220)。前述のとおり、シェープパラメータαpは基底ベクトル毎に存在するので、このステップS220の処理は基底ベクトル毎の各シェープパラメータαpに対して行われる。
続いて、フィッティング実行部3は、現在のシェープパラメータαpを用いて、モデルを変形させる(図11ステップS221)。
次に、フィッティング実行部3は、入力画像中の人の顔の3次元データを生成する(図2ステップS7)。図11はフィッティング実行部3の動作を示すフローチャートである。まず、フィッティング実行部3は、シェープパラメータαpを0に初期化する(図11ステップS220)。前述のとおり、シェープパラメータαpは基底ベクトル毎に存在するので、このステップS220の処理は基底ベクトル毎の各シェープパラメータαpに対して行われる。
続いて、フィッティング実行部3は、現在のシェープパラメータαpを用いて、モデルを変形させる(図11ステップS221)。
フィッティング実行部3は、ステップS221で変形させたモデルより、モデル表面のNf個の点の画像座標を求め、外部から3次元データ生成装置に入力された入力画像からこれらNf個の点の輝度IO(αp)を得る(図11ステップS222)。本実施の形態における投影空間は、入力画像の座標を表現するのと同じxy軸と、画像に対して垂直なz軸を使っている。したがって、式(24)によってモデルの投影3次元座標が求まると、その時のxy座標をそのまま画像のxy座標として用いることができるので、モデル表面のNf個の点のxy座標を求めて、これらのxy座標に相当する位置にある入力画像上の画素の輝度値を取り出せばよい。ここでは、Nf個の点の輝度の集まりを抽出輝度パターンと呼ぶ。言うまでもなく、Nf個の点とは、ステップS200で選択した点のことである。抽出輝度パターンIO(αp)は、記憶部5に格納される。
次に、フィッティング実行部3は、ステップS222で求めた抽出輝度パターンIO(αp)を用いて、テクスチャパラメータβpを求める(図11ステップS223)。フィッティング実行部3は、上記BPLPの技術を利用して行列Gpを求め、IO(αp+Δαp)の代わりに、抽出輝度パターンIO(αp)を式(35)に代入して、テクスチャパラメータβpを、1番目の主成分からNt番目の主成分まで基底ベクトル毎に算出する。テクスチャパラメータβpは、記憶部5に格納される。
続いて、フィッティング実行部3は、ステップS223で求めたテクスチャパラメータβpを用いて、式(25)によりモデルの描画輝度Tp=Ir(αp)を求める(図11ステップS224)。ここでは、モデル表面のNf個の点の描画輝度の集まりを復元輝度パターンと呼ぶ。復元輝度パターンIr(αp)は、記憶部5に格納される。
次に、フィッティング実行部3は、ステップS222で求めた抽出輝度パターンIO(αp)とステップS224で求めた復元輝度パターンIr(αp)との誤差パターンIe(αp)を次式のように求める(図11ステップS225)。
Ie(αp)=IO(αp)−Ir(αp) ・・・(38)
式(38)の処理は、抽出輝度パターンIO(αp)と復元輝度パターンIr(αp)の対応する点毎に行われる。誤差パターンIe(αp)は、記憶部5に格納される。
Ie(αp)=IO(αp)−Ir(αp) ・・・(38)
式(38)の処理は、抽出輝度パターンIO(αp)と復元輝度パターンIr(αp)の対応する点毎に行われる。誤差パターンIe(αp)は、記憶部5に格納される。
フィッティング実行部3は、ステップS225で求めた誤差パターンIe(αp)を、平均0、長さ1の単位ベクトルに正規化する(図11ステップS226)。この正規化された誤差パターンは、記憶部5に格納される。
次に、フィッティング実行部3は、回帰行列ApとステップS226で求めた正規化後の誤差パターンIe(αp)とから、シェープパラメータの修正量Δαpを次式のように推定する(図11ステップS227)
Δαp=ApIe(αp) ・・・(39)
シェープパラメータの修正量Δαpは、記憶部5に格納される。
次に、フィッティング実行部3は、回帰行列ApとステップS226で求めた正規化後の誤差パターンIe(αp)とから、シェープパラメータの修正量Δαpを次式のように推定する(図11ステップS227)
Δαp=ApIe(αp) ・・・(39)
シェープパラメータの修正量Δαpは、記憶部5に格納される。
フィッティング実行部3は、ステップS227で求めたシェープパラメータの修正量Δαpを用いて、シェープパラメータαpを次式のように更新する(図11ステップS228)。
αp→αp+Δαp ・・・(40)
このステップS228の更新処理は、基底ベクトル毎の各シェープパラメータαpに対して行われる。更新後のシェープパラメータαpは、記憶部5に格納される。
αp→αp+Δαp ・・・(40)
このステップS228の更新処理は、基底ベクトル毎の各シェープパラメータαpに対して行われる。更新後のシェープパラメータαpは、記憶部5に格納される。
そして、フィッティング実行部3は、ステップS221に戻る。こうして、フィッティング実行部3は、ステップS221〜S228の処理を所定の探索回数Nr回だけ繰り返す。以上のように、シェープパラメータαpを更新することで、モデルを入力画像中の人の顔と合うように変形させることができる。
フィッティング実行部3は、ステップS221〜S228の処理をNr回繰り返した後(図11ステップS229においてYES)、テクスチャパラメータβpを再度計算する(図11ステップS230)。すなわち、フィッティング実行部3は、更新後のシェープパラメータαpを用いて式(24)によりモデルの投影3次元座標を計算し、ステップS222で説明した方法により入力画像からNf個の輝度の集まりである輝度パターンを求める。そして、フィッティング実行部3は、この輝度パターンを式(27)のTpに代入して、テクスチャパラメータβpを、1番目の主成分からNt番目の主成分まで基底ベクトル毎に算出すればよい。テクスチャパラメータβpは、記憶部5に格納される。
最後に、フィッティング実行部3は、入力画像中の人の顔の3次元データを生成する(ステップS231)。フィッティング実行部3は、更新後のシェープパラメータαpと、ステップS230で算出したテクスチャパラメータβpと、ステップS130で算出された形状の平均ベクトルSp,0と形状の基底ベクトルSp,iと、ステップS131で算出された描画輝度の平均ベクトルTp,0と描画輝度の基底ベクトルTp,iとから、式(24)、式(25)により人の顔の3次元形状を構築することができ、この3次元形状から入力画像中の人の顔の3次元データ(投影3次元座標Sp、描画輝度Tp)を取得する。
以上で、フィッティング実行部3の処理(図2ステップS7)が終了する。
以上で、フィッティング実行部3の処理(図2ステップS7)が終了する。
[後処理部]
次に、後処理部4は、登録3次元座標と表面反射率を計算する(ステップS8,S9)。図12は後処理部4の構成を示すブロック図である。後処理部4は、登録3次元座標算出部40と、表面反射率算出部41とから構成される。
次に、後処理部4は、登録3次元座標と表面反射率を計算する(ステップS8,S9)。図12は後処理部4の構成を示すブロック図である。後処理部4は、登録3次元座標算出部40と、表面反射率算出部41とから構成される。
[登録3次元座標算出]
登録3次元座標算出部40は、フィッティング実行部3が推定した人の顔の形状情報を個体情報として扱う場合、図2のステップS2と同様の処理を行うことにより、人の顔の投影3次元座標から投影パラメータの影響を除去し、登録3次元座標を求めることができる。
登録3次元座標算出部40は、フィッティング実行部3が推定した人の顔の形状情報を個体情報として扱う場合、図2のステップS2と同様の処理を行うことにより、人の顔の投影3次元座標から投影パラメータの影響を除去し、登録3次元座標を求めることができる。
[表面反射率算出]
表面反射率算出部41は、フィッティング実行部3が推定した人の顔のテクスチャ情報を個体情報として扱う場合、テクスチャ情報から光源の影響を除去して、人の顔の表面反射率を求める。以下に、本実施の形態における表面反射率の求め方について説明する。
表面反射率算出部41は、フィッティング実行部3が推定した人の顔のテクスチャ情報を個体情報として扱う場合、テクスチャ情報から光源の影響を除去して、人の顔の表面反射率を求める。以下に、本実施の形態における表面反射率の求め方について説明する。
まず、表面反射率算出部41は、人の顔の表面を構成する各点のうち、表面反射率が均一(すなわち1)と仮定できるNd個の点における単位法線ベクトルと描画輝度から、最小二乗法を用いて光源ベクトルLを次式のように求める。
L=[lx lx lx]T=(NTN)-1NTI ・・・(42)
ここで、gp,j(j=1〜Nd)は緑色成分の描画輝度、nx,j,ny,j,nz,jはそれぞれx軸、y軸、z軸に沿った単位法線ベクトル、lx,ly,lzはそれぞれx軸、y軸、z軸に沿った単位光源方向ベクトルである。また、式(41)、(42)におけるN,Iは行列である。表面反射率算出部41は、光源ベクトルLと入力画像の輝度から、人の顔の表面を構成する各点の表面反射率gw,iを次式のように推定する。
ここで、gp,j(j=1〜Nd)は緑色成分の描画輝度、nx,j,ny,j,nz,jはそれぞれx軸、y軸、z軸に沿った単位法線ベクトル、lx,ly,lzはそれぞれx軸、y軸、z軸に沿った単位光源方向ベクトルである。また、式(41)、(42)におけるN,Iは行列である。表面反射率算出部41は、光源ベクトルLと入力画像の輝度から、人の顔の表面を構成する各点の表面反射率gw,iを次式のように推定する。
式(41)〜式(43)では、赤色成分、緑色成分、青色成分のうち緑色成分の処理についてのみ記載しているが、他の成分についても同様に処理できる。
以上で、後処理部4の処理(ステップS8,S9)が終了する。なお、後処理部4は本発明において必須の構成要件ではない。
以上で、後処理部4の処理(ステップS8,S9)が終了する。なお、後処理部4は本発明において必須の構成要件ではない。
次に、本実施の形態の効果について例を挙げて説明する。ここでは、以下の条件を満たす入力画像に対して、本実施の形態のフィッティングを実行し、その精度や速度を評価した。入力画像のサイズを256×256画素とし、入力画像の濃淡を256階調に正規化した。また、入力画像は、ほぼ正面顔の画像で、回転許容範囲はx軸、y軸、z軸の各軸で±15°、並進許容範囲は10画素とした。
次に、NIST(National Institute of Standards and Technology)が提供しているFRGC2.0データベースから500人分の対象顔データを学習データとして取得した。1人あたりの学習データは、640×480画素のRGB画像と、各画素の3次元座標と有効画素フラグとで構成される。
次に、学習データ中の3次元形状が入力画像に適切に投影されるようにスケーリングを行った。そして、モデル作成部1にモデルの作成処理(図2ステップS1〜S5)を行わせた。このとき、モデルが扱う範囲は、眼鼻口の周辺までで、顔の輪郭は含まないものとする。モデルの顔表面を構成する点の数をNV=16384点とする。シェープパラメータ数Nsとテクスチャパラメータ数Ntとを、Ns=Nt=64とする。入力画像の条件に従って、投影パラメータを変動させて、投影形状を求め、PCAを適用し、モデルを構築した。
次に、学習データを用い、フィッティング学習部2に回帰行列を算出させた(図2ステップS6)。ここでは、フィッティングの入力点数をNf=970点とし、シェープパラメータαpの誤差変動幅を±1σとした。
次に、フィッティング実行部3により、入力画像に対してフィッティング処理(図2ステップS7)を行わせた。ここでは、探索回数Nrをフィッティングの終了条件とする。フィッティング終了時のグレイスケール画像のテクスチャ平均誤差振幅をフィッティングスコアとした。
本実施の形態によるフィッティング結果の例を図13に示す。図13において、140,141,142,143,144,145,146,147は入力画像、148,149,150,151,152,153,154,155はそれぞれ画像140,141,142,143,144,145,146,147を入力として本実施の形態の3次元データ生成装置が生成した3次元データに基づいて空間に投影した形状を描画した顔画像、156,157,158,159,160,161,162,163はそれぞれ148,149,150,151,152,153,154,155の投影形状を30°回転させた形状を描画した顔画像である。
顔画像148,149,150,151,152,153,154,155の場合のフィッティングスコアは、それぞれ12.08,12.02,9.31,16.12,10.84,11.26,12.51,17.15であった。フィッティングスコアは、値が低いほど、入力画像とのフィッティング精度が高いことを意味する。図13に示した例によると、毛髪や眼鏡等の遮蔽物がない入力画像においては概ね良好なフィッティング結果が得られた。
また、本実施の形態では、3次元データ生成装置として市販のPC(Personal Computer)を使った場合で、数十〜数百ms程度で3次元データの生成が完了した。したがって、本実施の形態の3次元データ生成装置を、高速性が求められるアプリケーションに適用できることを実証できた。
従来、3DMMフィッティングの多くは、シェープパラメータと投影パラメータとを独立に、かつ同時に推定しているが、本来は、投影パラメータがほぼ既知の状態でなければシェープパラメータの推定は困難である。たとえAAMフィッティングの手法を適用しても、シェープパラメータと投影パラメータとを同時に推定している限り、推定値は効率的に収束しないと考えられる。
これに対して、本実施の形態では、投影座標からシェープパラメータを作成して、フィッティング実行時にシェープパラメータのみを推定している。シェープパラメータそれぞれの要素は独立であるため、シェープパラメータの推定値が効率的に収束するので、本実施の形態によるフィッティングが効率的に収束したと考えられる。以上のように、本実施の形態では、投影空間上のデータを扱うモデルを構築して、3次元空間に拡張したAAMフィッティングを適用することで、高速な3DMMフィッティング手法を実現することができ、1枚の静止画像から人の顔の3次元データを高速かつ高精度に生成することができる。
なお、本実施の形態の3次元データ生成装置は、例えばCPU、記憶装置およびインタフェースを備えたコンピュータとこれらのハードウェア資源を制御するプログラムによって実現することができる。このようなコンピュータを動作させるためのプログラムは、フレキシブルディスク、CD−ROM、DVD−ROM、メモリカードなどの記録媒体に記録された状態で提供される。CPUは、読み込んだプログラムを記憶装置に書き込み、このプログラムに従って本実施の形態で説明した処理を実行する。
本発明は、入力画像中の人の顔の3次元データを生成する技術に適用することができる。
1…モデル作成部、2…フィッティング学習部、3…フィッティング実行部、4…後処理部、5…記憶部、10…対応点探索部、11…登録3次元座標算出部、12…投影3次元座標算出部、13…描画輝度算出部、14…ベクトル算出部、40…登録3次元座標算出部、41…表面反射率算出部。
Claims (13)
- 複数の人の3次元顔データを学習データとして、このデータに基づいて人の顔を投影空間に投影したときの3次元形状を視点を変えながら複数生成して、この3次元形状の各点の3次元座標を、視点を変えた3次元形状毎および人の顔毎に求める投影3次元座標算出手段と、
この投影3次元座標算出手段によって得られた顔の3次元座標と描画輝度のそれぞれについて主成分分析を行い、平均ベクトルと基底ベクトルとを求め、3次元形状と描画輝度のそれぞれが平均ベクトルおよび基底ベクトルとモデルパラメータとの線形和で表現される、人の顔のモデルを作成するモデル作成手段と、
形状に関するモデルパラメータであるシェープパラメータにシェープパラメータ誤差を与えて変形させたモデルの各点から輝度パターンを抽出し、この抽出輝度パターンおよび前記モデル作成手段が作成したモデルを用いて輝度パターンを計算し、前記抽出輝度パターンと前記計算した復元輝度パターンとの差である誤差パターンを求め、この誤差パターンと前記シェープパラメータ誤差との組み合わせから、前記誤差パターンと前記シェープパラメータの修正量との関係を表す回帰行列を求めるフィッティング学習手段と、
シェープパラメータから得られるモデルの各点に対応する入力画像の各点から輝度パターンを抽出し、この抽出輝度パターンおよび前記モデル作成手段が作成したモデルを用いて輝度パターンを計算し、前記抽出輝度パターンと前記計算した復元輝度パターンとの差である誤差パターンを求め、この誤差パターンと前記回帰行列を用いて前記シェープパラメータの修正量を求めて前記シェープパラメータを更新し、更新後のシェープパラメータから得られるモデルの各点に対応する入力画像の各点から輝度パターンを抽出し、この輝度パターンを用いて濃淡に関するモデルパラメータであるテクスチャパラメータを計算し、更新後のシェープパラメータとテクスチャパラメータとによって決定されるモデルから前記入力画像中の人の顔の3次元データを生成するフィッティング実行手段とを備えることを特徴とする3次元データ生成装置。 - 請求項1記載の3次元データ生成装置において、
前記モデル作成手段は、
全ての顔の3次元座標に対して主成分分析を行い、形状の平均ベクトルSp,0と基底ベクトルSp,iとを求める第1のベクトル算出手段と、
全ての顔の描画輝度に対して主成分分析を行い、描画輝度の平均ベクトルTp,0と基底ベクトルTp,iとを求める第2のベクトル算出手段とを備え、
前記モデルの3次元形状は、前記平均ベクトルSp,0および前記基底ベクトルSp,iと前記シェープパラメータαp,iとの線形和で表現され、
前記モデルの描画輝度は、前記平均ベクトルTp,0および前記基底ベクトルTp,iと前記テクスチャパラメータβp,iとの線形和で表現されることを特徴とする3次元データ生成装置。 - 請求項1または2記載の3次元データ生成装置において、
前記フィッティング学習手段は、
前記シェープパラメータにシェープパラメータ誤差を与えて変形させたモデルの各点から輝度パターンを抽出する学習用抽出輝度パターン取得手段と、
この抽出輝度パターンから、濃淡に関するモデルパラメータであるテクスチャパラメータを求める学習用テクスチャパラメータ算出手段と、
このテクスチャパラメータによって決定されるモデルを用いて復元輝度パターンを求める学習用復元輝度パターン算出手段と、
前記抽出輝度パターンと前記復元輝度パターンとの差である誤差パターンを求める学習用誤差パターン算出手段と、
この誤差パターンと前記シェープパラメータ誤差との組み合わせから前記回帰行列を求める回帰行列算出手段とを備え、
前記学習用抽出輝度パターン取得手段と前記学習用テクスチャパラメータ算出手段と前記学習用復元輝度パターン算出手段と前記学習用誤差パターン算出手段とは、前記シェープパラメータを変更しながら複数回処理を繰り返して、前記誤差パターンと前記シェープパラメータ誤差との組み合わせを複数求め、
前記回帰行列算出手段は、この複数の組み合わせから前記回帰行列を求めることを特徴とする3次元データ生成装置。 - 請求項1乃至3のいずれか1項に記載の3次元データ生成装置において、
前記フィッティング実行手段は、
シェープパラメータから得られるモデルの各点に対応する入力画像の各点から輝度パターンを抽出するフィッティング実行用抽出輝度パターン取得手段と、
この抽出輝度パターンから、濃淡に関するモデルパラメータであるテクスチャパラメータを求めるフィッティング実行用テクスチャパラメータ算出手段と、
このテクスチャパラメータによって決定されるモデルを用いて復元輝度パターンを求めるフィッティング実行用復元輝度パターン算出手段と、
前記抽出輝度パターンと前記復元輝度パターンとの差である誤差パターンを求めるフィッティング実行用誤差パターン算出手段と、
この誤差パターンと前記回帰行列とを用いて前記シェープパラメータの修正量を求めて前記シェープパラメータを更新するシェープパラメータ更新手段と、
更新後のシェープパラメータから得られるモデルの各点に対応する入力画像の各点から輝度パターンを抽出し、この輝度パターンを用いて前記テクスチャパラメータを再計算するテクスチャパラメータ再計算手段と、
更新後のシェープパラメータと前記テクスチャパラメータ再計算手段が計算したテクスチャパラメータとによって決定されるモデルから前記入力画像中の人の顔の3次元データを生成する3次元データ生成手段とを備え、
前記フィッティング実行用抽出輝度パターン取得手段と前記フィッティング実行用テクスチャパラメータ算出手段と前記フィッティング実行用復元輝度パターン算出手段と前記フィッティング実行用誤差パターン算出手段と前記シェープパラメータ更新手段とは、前記シェープパラメータを更新しながら複数回処理を繰り返すことを特徴とする3次元データ生成装置。 - 請求項1乃至4のいずれか1項に記載の3次元データ生成装置において、
さらに、前記投影3次元座標算出手段が前記3次元座標を求める前に、前記3次元顔データで表される各人の顔が所定の基準となる参照顔に近づくように各人の顔を拡大縮小、回転、平行移動したときの3次元座標を求め、この3次元座標を、前記投影3次元座標算出手段が前記3次元形状を生成する際の入力とする登録3次元座標取得手段を備えることを特徴とする3次元データ生成装置。 - 請求項1乃至5のいずれか1項に記載の3次元データ生成装置において、
さらに、前記モデル作成手段がモデルを作成する前に、前記3次元顔データから顔の各点の描画輝度を求める描画輝度算出手段を備えることを特徴とする3次元データ生成装置。 - 複数の人の3次元顔データを学習データとして、このデータに基づいて人の顔を投影空間に投影したときの3次元形状を視点を変えながら複数生成して、この3次元形状の各点の3次元座標を、視点を変えた3次元形状毎および人の顔毎に求める投影3次元座標算出ステップと、
この投影3次元座標算出ステップで得られた顔の3次元座標と描画輝度のそれぞれについて主成分分析を行い、平均ベクトルと基底ベクトルとを求め、3次元形状と描画輝度のそれぞれが平均ベクトルおよび基底ベクトルとモデルパラメータとの線形和で表現される、人の顔のモデルを作成するモデル作成ステップと、
形状に関するモデルパラメータであるシェープパラメータにシェープパラメータ誤差を与えて変形させたモデルの各点から輝度パターンを抽出し、この抽出輝度パターンおよび前記モデル作成ステップで作成したモデルを用いて輝度パターンを計算し、前記抽出輝度パターンと前記計算した復元輝度パターンとの差である誤差パターンを求め、この誤差パターンと前記シェープパラメータ誤差との組み合わせから、前記誤差パターンと前記シェープパラメータの修正量との関係を表す回帰行列を求めるフィッティング学習ステップと、
シェープパラメータから得られるモデルの各点に対応する入力画像の各点から輝度パターンを抽出し、この抽出輝度パターンおよび前記モデル作成ステップで作成したモデルを用いて輝度パターンを計算し、前記抽出輝度パターンと前記計算した復元輝度パターンとの差である誤差パターンを求め、この誤差パターンと前記回帰行列を用いて前記シェープパラメータの修正量を求めて前記シェープパラメータを更新し、更新後のシェープパラメータから得られるモデルの各点に対応する入力画像の各点から輝度パターンを抽出し、この輝度パターンを用いて濃淡に関するモデルパラメータであるテクスチャパラメータを計算し、更新後のシェープパラメータとテクスチャパラメータとによって決定されるモデルから前記入力画像中の人の顔の3次元データを生成するフィッティング実行ステップとを備えることを特徴とする3次元データ生成方法。 - 請求項7記載の3次元データ生成方法において、
前記モデル作成ステップは、
全ての顔の3次元座標に対して主成分分析を行い、形状の平均ベクトルSp,0と基底ベクトルSp,iとを求める第1のベクトル算出ステップと、
全ての顔の描画輝度に対して主成分分析を行い、描画輝度の平均ベクトルTp,0と基底ベクトルTp,iとを求める第2のベクトル算出ステップとからなり、
前記モデルの3次元形状は、前記平均ベクトルSp,0および前記基底ベクトルSp,iと前記シェープパラメータαp,iとの線形和で表現され、
前記モデルの描画輝度は、前記平均ベクトルTp,0および前記基底ベクトルTp,iと前記テクスチャパラメータβp,iとの線形和で表現されることを特徴とする3次元データ生成方法。 - 請求項7または8記載の3次元データ生成方法において、
前記フィッティング学習ステップは、
前記シェープパラメータにシェープパラメータ誤差を与えて変形させたモデルの各点から輝度パターンを抽出する学習用抽出輝度パターン取得ステップと、
この抽出輝度パターンから、濃淡に関するモデルパラメータであるテクスチャパラメータを求める学習用テクスチャパラメータ算出ステップと、
このテクスチャパラメータによって決定されるモデルを用いて復元輝度パターンを求める学習用復元輝度パターン算出ステップと、
前記抽出輝度パターンと前記復元輝度パターンとの差である誤差パターンを求める学習用誤差パターン算出ステップと、
この誤差パターンと前記シェープパラメータ誤差との組み合わせから前記回帰行列を求める回帰行列算出ステップとからなり、
前記学習用抽出輝度パターン取得ステップと前記学習用テクスチャパラメータ算出ステップと前記学習用復元輝度パターン算出ステップと前記学習用誤差パターン算出ステップとを、前記シェープパラメータを変更しながら複数回繰り返して、前記誤差パターンと前記シェープパラメータ誤差との組み合わせを複数求め、
前記回帰行列算出ステップは、この複数の組み合わせから前記回帰行列を求めることを特徴とする3次元データ生成方法。 - 請求項7乃至9のいずれか1項に記載の3次元データ生成方法において、
前記フィッティング実行ステップは、
シェープパラメータから得られるモデルの各点に対応する入力画像の各点から輝度パターンを抽出するフィッティング実行用抽出輝度パターン取得ステップと、
この抽出輝度パターンから、濃淡に関するモデルパラメータであるテクスチャパラメータを求めるフィッティング実行用テクスチャパラメータ算出ステップと、
このテクスチャパラメータによって決定されるモデルを用いて復元輝度パターンを求めるフィッティング実行用復元輝度パターン算出ステップと、
前記抽出輝度パターンと前記復元輝度パターンとの差である誤差パターンを求めるフィッティング実行用誤差パターン算出ステップと、
この誤差パターンと前記回帰行列とを用いて前記シェープパラメータの修正量を求めて前記シェープパラメータを更新するシェープパラメータ更新ステップと、
更新後のシェープパラメータから得られるモデルの各点に対応する入力画像の各点から輝度パターンを抽出し、この輝度パターンを用いて前記テクスチャパラメータを再計算するテクスチャパラメータ再計算ステップと、
更新後のシェープパラメータと前記テクスチャパラメータ再計算ステップで計算したテクスチャパラメータとによって決定されるモデルから前記入力画像中の人の顔の3次元データを生成する3次元データ生成ステップとからなり、
前記フィッティング実行用抽出輝度パターン取得ステップと前記フィッティング実行用テクスチャパラメータ算出ステップと前記フィッティング実行用復元輝度パターン算出ステップと前記フィッティング実行用誤差パターン算出ステップと前記シェープパラメータ更新ステップとを、前記シェープパラメータを更新しながら複数回繰り返すことを特徴とする3次元データ生成方法。 - 請求項7乃至10のいずれか1項に記載の3次元データ生成方法において、
さらに、前記投影3次元座標算出ステップの前に、前記3次元顔データで表される各人の顔が所定の基準となる参照顔に近づくように各人の顔を拡大縮小、回転、平行移動したときの3次元座標を求め、この3次元座標を、前記投影3次元座標算出ステップで前記3次元形状を生成する際の入力とする登録3次元座標取得ステップを備えることを特徴とする3次元データ生成方法。 - 請求項7乃至11のいずれか1項に記載の3次元データ生成方法において、
さらに、前記モデル作成ステップの前に、前記3次元顔データから顔の各点の描画輝度を求める描画輝度算出ステップを備えることを特徴とする3次元データ生成方法。 - 複数の人の3次元顔データを学習データとして、このデータに基づいて人の顔を投影空間に投影したときの3次元形状を視点を変えながら複数生成して、この3次元形状の各点の3次元座標を、視点を変えた3次元形状毎および人の顔毎に求める投影3次元座標算出ステップと、
この投影3次元座標算出ステップで得られた顔の3次元座標と描画輝度のそれぞれについて主成分分析を行い、平均ベクトルと基底ベクトルとを求め、3次元形状と描画輝度のそれぞれが平均ベクトルおよび基底ベクトルとモデルパラメータとの線形和で表現される、人の顔のモデルを作成するモデル作成ステップと、
形状に関するモデルパラメータであるシェープパラメータにシェープパラメータ誤差を与えて変形させたモデルの各点から輝度パターンを抽出し、この抽出輝度パターンおよび前記モデル作成ステップで作成したモデルを用いて輝度パターンを計算し、前記抽出輝度パターンと前記計算した復元輝度パターンとの差である誤差パターンを求め、この誤差パターンと前記シェープパラメータ誤差との組み合わせから、前記誤差パターンと前記シェープパラメータの修正量との関係を表す回帰行列を求めるフィッティング学習ステップと、
シェープパラメータから得られるモデルの各点に対応する入力画像の各点から輝度パターンを抽出し、この抽出輝度パターンおよび前記モデル作成ステップで作成したモデルを用いて輝度パターンを計算し、前記抽出輝度パターンと前記計算した復元輝度パターンとの差である誤差パターンを求め、この誤差パターンと前記回帰行列を用いて前記シェープパラメータの修正量を求めて前記シェープパラメータを更新し、更新後のシェープパラメータから得られるモデルの各点に対応する入力画像の各点から輝度パターンを抽出し、この輝度パターンを用いて濃淡に関するモデルパラメータであるテクスチャパラメータを計算し、更新後のシェープパラメータとテクスチャパラメータとによって決定されるモデルから前記入力画像中の人の顔の3次元データを生成するフィッティング実行ステップとを、コンピュータに実行させることを特徴とする3次元データ生成プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010142445A JP2012008685A (ja) | 2010-06-23 | 2010-06-23 | 3次元データ生成装置、生成方法およびプログラム |
PCT/JP2011/064450 WO2011162352A1 (ja) | 2010-06-23 | 2011-06-23 | 3次元データ生成装置、生成方法およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010142445A JP2012008685A (ja) | 2010-06-23 | 2010-06-23 | 3次元データ生成装置、生成方法およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012008685A true JP2012008685A (ja) | 2012-01-12 |
Family
ID=45371518
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010142445A Pending JP2012008685A (ja) | 2010-06-23 | 2010-06-23 | 3次元データ生成装置、生成方法およびプログラム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2012008685A (ja) |
WO (1) | WO2011162352A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014206833A (ja) * | 2013-04-11 | 2014-10-30 | 富士通株式会社 | 熱流体解析プログラム、情報処理装置および熱流体解析方法 |
CN109145352A (zh) * | 2017-06-16 | 2019-01-04 | 达索系统公司 | 用于学习取图像作为输入的函数的数据集 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103024336B (zh) * | 2012-12-31 | 2015-09-30 | 华为技术有限公司 | 获取三维形变基的方法及通信终端 |
CN104899925A (zh) * | 2015-06-29 | 2015-09-09 | 遵义宏港机械有限公司 | 一种数控铣床工件三维建模方法 |
CN105389843B (zh) * | 2015-12-09 | 2017-11-14 | 河海大学 | 基于径向基函数神经网络拟合的全局光照实时绘制方法 |
CN107369174B (zh) * | 2017-07-26 | 2020-01-17 | 厦门美图之家科技有限公司 | 一种人脸图像的处理方法及计算设备 |
CN114782864B (zh) * | 2022-04-08 | 2023-07-21 | 马上消费金融股份有限公司 | 一种信息处理方法、装置、计算机设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4093273B2 (ja) * | 2006-03-13 | 2008-06-04 | オムロン株式会社 | 特徴点検出装置、特徴点検出方法および特徴点検出プログラム |
-
2010
- 2010-06-23 JP JP2010142445A patent/JP2012008685A/ja active Pending
-
2011
- 2011-06-23 WO PCT/JP2011/064450 patent/WO2011162352A1/ja active Application Filing
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014206833A (ja) * | 2013-04-11 | 2014-10-30 | 富士通株式会社 | 熱流体解析プログラム、情報処理装置および熱流体解析方法 |
CN109145352A (zh) * | 2017-06-16 | 2019-01-04 | 达索系统公司 | 用于学习取图像作为输入的函数的数据集 |
JP2019032820A (ja) * | 2017-06-16 | 2019-02-28 | ダッソー システムズDassault Systemes | 画像を入力とする関数を学習するためのデータセット |
CN109145352B (zh) * | 2017-06-16 | 2024-04-26 | 达索系统公司 | 用于学习取图像作为输入的函数的数据集 |
Also Published As
Publication number | Publication date |
---|---|
WO2011162352A1 (ja) | 2011-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11748934B2 (en) | Three-dimensional expression base generation method and apparatus, speech interaction method and apparatus, and medium | |
Le et al. | Robust and accurate skeletal rigging from mesh sequences | |
WO2011162352A1 (ja) | 3次元データ生成装置、生成方法およびプログラム | |
Duan et al. | 3D point cloud denoising via deep neural network based local surface estimation | |
Chen et al. | Tensor-based human body modeling | |
JP7142162B2 (ja) | 姿勢変動3d顔面属性生成 | |
Bronstein et al. | Calculus of nonrigid surfaces for geometry and texture manipulation | |
EP3992919B1 (en) | Three-dimensional facial model generation method and apparatus, device, and medium | |
CN112215050A (zh) | 非线性3dmm人脸重建和姿态归一化方法、装置、介质及设备 | |
CN112633191A (zh) | 一种三维人脸重建的方法、装置、设备和存储介质 | |
CN114723888B (zh) | 三维发丝模型生成方法、装置、设备、存储介质及产品 | |
EP3591618A2 (en) | Method and apparatus for converting 3d scanned objects to avatars | |
US20240029345A1 (en) | Methods and system for generating 3d virtual objects | |
CN106558042B (zh) | 一种对图像进行关键点定位的方法和装置 | |
CN108573192B (zh) | 匹配人脸的眼镜试戴方法和装置 | |
CN114782645A (zh) | 虚拟数字人制作方法、相关设备及可读存储介质 | |
Hill et al. | Aging the human face-a statistically rigorous approach | |
Ren et al. | HR-Net: a landmark based high realistic face reenactment network | |
WO2024103890A1 (zh) | 模型构建方法、重建方法、装置、电子设备及非易失性可读存储介质 | |
CN113658035A (zh) | 脸部变换方法、装置、设备、存储介质以及产品 | |
CN116433812B (zh) | 利用2d人脸图片生成虚拟人物的方法和装置 | |
US11769310B2 (en) | Combining three-dimensional morphable models | |
CN115222895B (zh) | 图像生成方法、装置、设备以及存储介质 | |
Ma et al. | A lighting robust fitting approach of 3D morphable model for face reconstruction | |
CN113223128B (zh) | 用于生成图像的方法和装置 |