一种融合稀疏形变模型与主成分回归算法的颜面照片三维重建方法与流程

文档序号:12273146阅读:439来源:国知局

本发明涉及一种基于单张照片的三维人脸重建方法,特别是一种将主成分回归算法与稀疏形变模型相结合的人脸重建方法,属于计算机图形学与计算机视觉技术领域。



背景技术:

随着多媒体技术的高速发展,三维模型已经广泛应用于影视动画、人机交互、通讯、医疗等诸多领域。人脸建模作为三维建模的分支方向已经成为越来越多研究人员关注的课题。但是,由于人脸具有复杂的几何结构与生理结构,以及其光照特性的多样性。因此,依靠单张照片重建人脸模型极具挑战性。

基于单幅图像的3D人脸建模就是由一张二维人脸照片来实现人脸的深度数据的恢复,很多学者在这个方向进行了广泛深入的研究。Romdhani在“Estimating 3D Shape and Texture Using Pixel Intensity,Edges,Specular Highlights,Texture Constraints and a Prior”(Proceedings of the IEEE Computer Society Conference on Computer Vision and Pattern Recognition.San Diego,CA,USA,2005:986-993.)一文中针对形变模型中的模型匹配环节做了深入的研究,将不同的参数分开处理,优化不同参数时相应的其它参数变为固定参数,减少了单次优化参数的数量,使得优化速度得到提高。同时,Romdhani也针对模型匹配的代价函数进行调整,通过增加匹配特征以及对纹理的取值范围做相应的约束,使匹配过程快速收敛。西安交通大学的龚勋在“基于特征点的三维人脸形变模型”(软件学报,2009,20(3):724-733.)一文中将人脸重建分两步进行操作,首先,根据实验所需人脸特征点对人脸库进行建立,运用建立的稀疏人脸库对输入图像特征点的深度坐标进行恢复,这样就得到了由特征点构成的3D人脸,然后将特征点类三维坐标传送给形变算法,从而进行整个形状的重建。中国科学技术大学的汪增福和郑颖等在“一种基于校正误差的立体相机标定算法”(小型微型计算机系统,2012,33(4):869-872.)一文中对人脸建模技术进行了广泛研究。其中郑颖将明暗恢复形状的方法与插值方法进行结合,从而快速重建3D人脸。另外,她还利用虚拟图像来改进立体视觉的建模方法,将不同角度的人脸图像配准进行合理的转化,使模型建立变得简单易行,最终获得立体视觉点云数据的形变模型表示,使得最终重建的三维人脸模型逼真、平滑。上海交通大学的署光在“基于稀疏形变模型的三维卡通人脸生成”(电子学报,2010,38(8):1798-1802.)一文中提出了一种使用结合稀疏形变模型和修改一般模型的重建三维人脸的改进方法,对于人脸的纹理贴图,提出了基于肤色模型的纹理映射技术,改善了侧面人脸的视觉效果,大大提高了真实感。并在三维人脸表情合成、人脸卡通化和人脸识别应用方面展开了研究。



技术实现要素:

为了加快重建速度,提升重建精度,本发明提出了一种融合稀疏形变模型与主成分回归算法的颜面照片三维重建方法。通过将人脸全景图进行柱面展开,采用网格细分技术建立人脸纹理库,采用改进的粒子群优化算法进行纹理参数优化,对人脸纹理进行重构,并将重构纹理映射到形状模型,得到最终的建模结果。

本发明的目的是通过下述技术方案实现,一种融合稀疏形变模型与主成分回归算法的颜面照片三维重建方法,包括以下步骤:

1)建立稀疏的三维人脸库和与之相对应的二维人脸库;

2)通过改进的主成分回归算法进行初始建模,得到初始的稀疏三维人脸形状模型;

3)采用改进的粒子群优化算法进行纹理重构,并将重构纹理映射到三维模型,得到完整的重构模型。

优选的,所述的步骤1中的建立稀疏的三维人脸库和与之相对应的二维人脸库包括如下过程:

首先把三维人脸数据库里的每张人脸表示为:

S=(X1,Y1,Z1,…,Xn,Yn,Zn)T∈R3n (1)

其中Xi,Yi,Zi是每张人脸中点的坐标,n表示人脸点的数目;

假设三维人脸数据库中m张人脸,那么每张人脸可以描述为Si,由迭代稠密对齐算法,把每张Si人脸对齐;由于每张人脸在整体上是相似的,只存在微小的变化,所以,对该数据库空间用主成分分析算法进行降维,选取前面的d个较大的特征值的主成分量,共同构成投影矩阵P,所以新的人脸就表示为:

其中,人脸库中的平均人脸,α是主成分量的系数;

为了建立二维图像与三维人脸间的关系和创建三维人脸的稀疏统计形变模型,分别在图像和三维人脸上标定相互对应k个特征点,稀疏模型就表示在原来模型上,抽取与之对应的分量,故新的稀疏人脸表示为:

表示抽取对应分量之后的人脸库平均人脸;

然后,通过对整个人脸库的数据进行特征点提取得到新的稀疏的三维人脸库,同时将稀 疏的三维人脸库中的样本进行正面投影得到相应的二维人脸样本。

优选的,所述的步骤2中的通过改进的主成分回归算法进行初始建模,得到初始的稀疏三维人脸形状模型包括如下过程:

(1)获得初始变量建立数据库进行数据获取,数据源即是所建立的人脸数据库中的模型数据,由每个模型的数据构成初始变量;

(2)计算平均偏差为了能保证主成分分析有效进行,则需要将每一维数据与相应均值做差;

(3)求协方差矩阵根据定义协方差矩阵为包含各个向量元素之间协方差的矩阵,对于任意两个元素的协方差计算如式(4):

对于3维数据而言,可以用X,Y,Z表示,要想求其协方差矩阵,则需要分别计算每两个维度数据的协方差cov(X,Y),cov(X,Z),cov(Y,Z),然后计算每个维度数据各自的方差组成协方差矩阵如式(5):

协方差是用来描述两个维度数据的关系的,通过判断两个维度之间协方差值的正负,可以判断其正负相关性;若两个维度数据的协方差值为零,则说明数据是相互独立的;

(4)计算协方差矩阵的特征值和特征向量协方差矩阵为n阶方阵,在计算方阵的特征向量时,需要对特征向量进行归一化,这是因为特征向量按比例扩大缩小后仍是特征向量,所以特征向量的意义并不在于它的长度而在于它表示的方向;n阶的协方差矩阵具有n个正交的特征向量,正因为有这个性质,正交向量代替原来的数据轴来表示数据;由于每求出一个特征向量就会有相应的特征值,所以建立起特征值与特征向量的对应关系,为下一步进行特征基的组成提供了选择依据;

(5)选取特征向量构成特征基由于特征值的大小不同,则特征向量在特征基中占有的比重也就有所差别,特征值大的特征向量相应的在重构时的贡献也就越大,基于这样的原理舍去特征值较小的特征向量从而对数据进行降维;对人脸数据而言,通常选择m个最大的特征值对应的特征向量组成主成分进行人脸恢复,这是因为较小的特征值对应的特征向量包含的数据信息量小,在不影响总体形状的情况下可以忽略不计;利用人脸库建立稀疏的三维人脸数据库以及对应的稀疏的二维人脸数据库,根据主成分分析原理,将重建的三维人脸Snew3D以及新的 二维人脸Snew2D分别用公式(6)和(7)表示:

式中和分别表示三维与二维人脸库中的平均人脸数据,Ps3D和Ps2D分别表示各自数据的主元特征组,bs3D和bs2D分别为三维和二维形状向量的合成系数;

主成分回归算法就是利用相关模型的独立与非独立数据的关系来完成建模,最基本的要点就是将二维模型与三维模型分解到一个低维空间里,用主成分分析系数bs2D,i和bs3D,i来表示真实二维模型xi与三维模型Xi,然后我们用标准的线性回归来联系xi与Xi

输入提取的人脸特征点xinp,关于尺度因子与位移因子可在对数据的预处理中求得,这里输入的人脸特征点即为与人脸库对应尺度的数据;对稀疏三维人脸数据库进行主成分分析得到S3D,对相应的二维人脸数据库进行主成分分析得到S2D,分别用各自的系数表示三维形状样本(X1,X2,…Xn)和二维形状样本(x1,x2,…xn),如式(8)和(9):

式中bs3D,i和bs2D,i分别为三维和二维人脸库中能表示第i个人脸的形状合成系数;然后令T=[bs2D,1,bs2D,2,…bs2D,m-1],U=[bs3D,1,bs3D,2,…bs3D,m-1],根据主成分回归模型可得式(10):

CR=(TTT)-1TTU (10)

将人脸特征点xinp输入,通过(11)和(12)求得形状系数

式中bs2D,inp为根据输入特征点求取的二维形状合乘系数,然后通过式(12)求得三维形状合乘系数

最后利用得到的三维形状合乘系数通过式(13)计算恢复三维稀疏人脸模型:

式中xr为恢复的稀疏人脸模型的形状向量。

优选的,所述的步骤3中的采用改进的粒子群优化算法进行纹理重构,并将重构纹理映射到三维模型,得到完整的重构模型,包括如下过程:

采用改进的粒子群优化算法进行纹理重构,并将重构纹理映射到三维模型,得到完整的重构模型;粒子群优化算法将目标函数的解视为粒子,由大量粒子组成初始种群,然后让粒子在解空间中运动,粒子的运动方向和距离由速度因子决定,通过计算适应值来判断粒子的优劣,将每个粒子的个体最优适应值进行比较可以得到整个群体的最优适应值,然后根据个体最优和群体最优调整粒子的速度,这样不断的优化更新就可以收敛到优解;假设目标函数的解向量为D维,粒子群优化算法初始化N个粒子,则某一粒子i在D维空间中的位置为Xi=(xi1,xi2,…xiD)T,粒子曾经到过的历史最优位置表示为Pi=(pi1,pi2,…piD)T表示,整个种群的历史最优位置为Pg=(pg1,pg2,…pgD)T,初始的飞行速度为Vi=(vi1,vi2,…viD)T,每一代粒子根据个体最优和种群最优位置来更新自己的速度与位置;(14)和(15)分别为速度更新公式和位置更新公式:

Vi[t+1]=ωVi[t]+c1r1(Pi-Xi)+c2r2(Pg-Xi) (14)

Xi[t+1]=Xi[t]+Vi[t+1] (15)

其中r1和r2是[0,1]内的随机数,ω为惯性权重,c1和c2为加速常数;公式(14)的后两项分别为认知部分和社会部分;认知部分表示粒子根据自身经验向最好点飞行,而社会部分则表示粒子之间信息共享和协同合作;为了保证粒子的运动在允许的范围之内,需要设置一个粒子的最大运动速度Vmax则当速度Vi>Vmax时,令Vi=Vmax,当Vi≤-Vmax时,令Vi=Vmax

人脸库中的纹理数据统一用纹理向量来表示,第i个人脸的纹理向量表示为:

Ti=(Ri1,Gi1,Bi1,…Rin,Gin,Bin)T∈R3n (16)

式中:N表示人脸库的中的样本总数;n是每个样本的顶点数;

纹理模型匹配就是通过对纹理系数的调节使输入的人脸与重构的人脸纹理图像最为相近;匹配误差可以用三维模型的投影图像与输入的人脸图像之间的强度差的平方和来表示,由此可以得到目标函数E;在上一节得到三维形状模型之后,能够利用这些参数将三维模型投影到二维平面,这样得到的二维图像同输入图像上的点都是对应的,因此可以利用对应像素点的差值进行优化;在进行每一步优化时随机选取三维模型上的若干顶点,并在给定图像上找到与之相对应的像素点,然后采用优化理论方法对纹理系数进行优化;

匹配误差函数E用输入的图像Iinput与三维模型投影的图像Imod灰度差的平方和来表示,如式(17)所示,得到目标函数E,采用Phong光照模型,E是关于颜色偏移参数t、光照参数I、纹理合成系数β的函数

采用在单一光源照射下的Phong光照模型时,从视点观察到物体表面上任意一点的亮度I应为镜面反射光强、漫反射光强和环境反射光强的总和,如式(18)所示:

式中,I表示物体表面在被照射点P处的光亮度;Ia表示入射的环境光的强度;ka表示物体表面对环境光的漫反射系数,通常ka的取值范围为0到1;f为光源强度衰减因子;Il为点光源所发出的入射光亮度,kd为景物表面漫反射率;为景物表面在被照射点P处的单位法向量;为p到点光源的单位向量;为镜面反射方向的单位向量;视线方向的单位向量为n称为镜面高光指数,用来模拟镜面反射光在空间的汇聚程度,与物体表面光滑程度有关,物体表面越光滑,光的汇聚越高,n也就越大,反之物体表面越粗糙,镜子面反射光呈发散状态,n取值越小。

本发明的有益效果是:依据单张正面图像的三维人脸重建技术及应用进行了深入的研究,建立了较为精确的人脸稀疏模型,在纹理恢复方面也提高了时间效率,在一定程度上解决了重建过程中的关键问题。

附图说明

图1是一种融合稀疏形变模型与主成分回归算法的颜面照片三维重建方法的流程图。

具体实施方式

下面结合附图和一种融合稀疏形变模型与主成分回归算法的颜面照片三维重建方法,对本发明的具体实施作进一步描述。

本发明包括下述步骤:

1)建立稀疏的三维人脸库和与之相对应的二维人脸库。我们把数据库里的每张人脸表示为:

S=(X1,Y1,Z1,…,Xn,Yn,Zn)T∈R3n (1)

其中Xi,Yi,Zi是每张人脸中点的坐标,n表示人脸点的数目。

假设数据库中m张人脸,那么每张人脸可以描述为Si,由迭代稠密对齐算法,可以把每张Si人脸对齐。由于每张人脸在整体上是相似的,只存在微小的变化。所以,我们对该数据库空间用主成分分析算法进行降维。选取前面的d个较大的特征值的主成分量,共同构成投影矩阵P,所以新的人脸就可以表示为:

其中,人脸库中的平均人脸,α是主成分量的系数。

为了建立二维图像与三维人脸间的关系和创建三维人脸的稀疏统计形变模型,分别在图像和三维人脸上标定相互对应k个特征点,稀疏模型就可以表示在原来模型上,抽取与之对应的分量,故新的稀疏人脸可以表示为:

然后,通过对整个人脸库的数据进行特征点提取得到新的稀疏的三维人脸库。同时将稀疏的三维人脸库中的样本进行正面投影得到相应的二维人脸样本,由这些二维人脸样本组成与三位稀疏人脸库相对应的二维人脸库,为下一步进行三维人脸形状重建做准备。

2)通过改进的主成分回归算法进行初始建模,得到初始的稀疏三维人脸形状模型。本发明采用主成分回归算法,即主成分分析算法与线性回归相结合的方法,具体是指对各个变量之间的关系进行研究,根据变量之间存在的相关关系,使用少数互不相关的新变量进行重新表示,并且尽可能保证信息的完整性。然后采用线性回归算法联系二维与三维的形状系数,实现建模。主成分分析算法它在人脸识别等相关领域中都广泛采纳,可以很好地达到数据降维的目的,具体由以下几步完成。

(1)获得初始变量一般应用于某一数据库,这样就必须为建立数据库进行数据获取,本发明的数据源即是所建立的人脸数据库中的模型数据,由每个模型的数据构成初始变量。

(2)计算平均偏差为了能保证主成分分析有效进行,则需要将每一维数据与相应均值做差。

(3)求协方差矩阵根据定义协方差矩阵为包含各个向量元素之间协方差的矩阵,对于任意两个元素的协方差计算如式(4)。

对于3维数据而言,可以用X,Y,Z表示,要想求其协方差矩阵,则需要分别计算每两个维度数据的协方差cov(X,Y),cov(X,Z),cov(Y,Z),然后计算每个维度数据各自的方差组成协方差矩阵如式(5)。

协方差是用来描述两个维度数据的关系的,通过判断两个维度之间协方差值的正负,可以判断其正负相关性。若两个维度数据的协方差值为零,则说明数据是相互独立的。

(4)计算协方差矩阵的特征值和特征向量协方差矩阵为n阶方阵,在计算方阵的特征向量时,需要对特征向量进行归一化,这是因为特征向量按比例扩大缩小后仍是特征向量,所以特征向量的意义并不在于它的长度而在于它表示的方向。n阶的协方差矩阵具有n个正交的特征向量,正因为有这个性质,正交向量可以代替原来的数据轴来表示数据。由于每求出一个特征向量就会有相应的特征值,所以我们可以建立起特征值与特征向量的对应关系,为下一步进行特征基的组成提供了选择依据。

(5)选取特征向量构成特征基由于特征值的大小不同,则特征向量在特征基中占有的比重也就有所差别,特征值大的特征向量相应的在重构时的贡献也就越大,基于这样的原理可以舍去特征值较小的特征向量从而对数据进行降维。对人脸数据而言,通常选择m个最大的特征值对应的特征向量组成主成分进行人脸恢复,这是因为较小的特征值对应的特征向量包含的数据信息量小,在不影响总体形状的情况下可以忽略不计。本文利用人脸库建立稀疏的三维人脸数据库以及对应的稀疏的二维人脸数据库,根据主成分分析原理,我们可以将重建的三维人脸Snew3D以及新的二维人脸Snew2D分别用公式(6)和(7)表示。

式中和分别表示三维与二维人脸库中的平均人脸数据,Ps3D和Ps2D分别表示各自数据的主元特征组,bs3D和bs2D分别为三维和二维形状向量的合成系数。

主成分回归算法就是利用相关模型的独立与非独立数据的关系来完成建模。最基本的要点就是将二维模型与三维模型分解到一个低维空间里,用主成分分析系数bs2D,i和bs3D,i来表示真实二维模型xi与三维模型Xi,然后我们用标准的线性回归来联系xi与Xi

输入提取的人脸特征点xinp,关于尺度因子与位移因子可在对数据的预处理中求得,这里输入的人脸特征点即为与人脸库对应尺度的数据。对稀疏三维人脸数据库进行主成分分析得到S3D,对相应的二维人脸数据库进行主成分分析得到S2D,分别用各自的系数表示三维形状 样本(X1,X2,…Xn)和二维形状样本(x1,x2,…xn),如式(8)和(9)。

式中bs3D,i和bs2D,i分别为三维和二维人脸库中能表示第i个人脸的形状合成系数。然后令T=[bs2D,1,bs2D,2,…bs2D,m-1],U=[bs3D,1,bs3D,2,…bs3D,m-1],根据主成分回归模型可得式(10)。

CR=(TTT)-1TTU (10)

将人脸特征点xinp输入,通过(11)和(12)求得形状系数

式中bs2D,inp为根据输入特征点求取的二维形状合乘系数,然后通过式(12)求得三维形状合乘系数

最后利用得到的三维形状合乘系数通过式(13)计算恢复三维稀疏人脸模型。

式中xr为恢复的稀疏人脸模型的形状向量。

3)采用改进的粒子群优化算法进行纹理重构,并将重构纹理映射到三维模型,得到完整的重构模型。粒子群优化算法将目标函数的解视为粒子,由大量粒子组成初始种群,然后让粒子在解空间中运动,粒子的运动方向和距离由速度因子决定,通过计算适应值来判断粒子的优劣,将每个粒子的个体最优适应值进行比较可以得到整个群体的最优适应值,然后根据个体最优和群体最优调整粒子的速度,这样不断的优化更新就可以收敛到优解。假设目标函数的解向量为D维,粒子群优化算法初始化N个粒子,则某一粒子i在D维空间中的位置为Xi=(xi1,xi2,…xiD)T,粒子曾经到过的历史最优位置表示为Pi=(pi1,pi2,…piD)T,整个种群的历史最优位置为Pg=(pg1,pg2,…pgD)T,初始的飞行速度为Vi=(vi1,vi2,…viD)T,每一代粒子根据个体最优和种群最优位置来更新自己的速度与位置。(14)和(15)分别为速度更新公式和位置更新公式。

Vi[t+1]=ωVi[t]+c1r1(Pi-Xi)+c2r2(Pg-Xi) (14)

Xi[t+1]=Xi[t]+Vi[t+1] (15)

其中r1和r2是[0,1]内的随机数,ω为惯性权重,c1和c2为加速常数。公式(14)的后两项分别为认知部分和社会部分。认知部分表示粒子根据自身经验向最好点飞行,而社会部分则表示粒子之间信息共享和协同合作。为了保证粒子的运动在允许的范围之内,需要设置一个粒子的最大运动速度Vmax则当速度Vi>Vmax时,令Vi=Vmax,当Vi≤-Vmax时,令Vi=Vmax

人脸库中的纹理数据统一用纹理向量来表示,第i个人脸的纹理向量表示为:

Ti=(Ri1,Gi1,Bi1,…Rin,Gin,Bin)T∈R3n (16)

式中:N表示人脸库的中的样本总数;n是每个样本的顶点数。

纹理模型匹配就是通过对纹理系数的调节使输入的人脸与重构的人脸纹理图像最为相近。匹配误差可以用三维模型的投影图像与输入的人脸图像之间的强度差的平方和来表示,由此可以得到目标函数E。在上一节得到三维形状模型之后,能够利用这些参数将三维模型投影到二维平面,这样得到的二维图像同输入图像上的点都是对应的,因此可以利用对应像素点的差值进行优化。在进行每一步优化时随机选取三维模型上的若干顶点,并在给定图像上找到与之相对应的像素点,然后采用优化理论方法对纹理系数进行优化。

本文的匹配误差函数E用输入的图像Iinput与三维模型投影的图像Imod灰度差的平方和来表示,如式(17)所示,得到目标函数E,采用Phong光照模型,E是关于颜色偏移参数t、光照参数I、纹理合成系数β的函数

采用在单一光源照射下的Phong光照模型时,从视点观察到物体表面上任意一点的亮度I应为镜面反射光强、漫反射光强和环境反射光强的总和,如式(18)所示:

式中,I表示物体表面在被照射点P处的光亮度;Ia表示入射的环境光的强度;ka表示物体表面对环境光的漫反射系数,通常ka的取值范围为0到1;f为光源强度衰减因子;Il为点光源所发出的入射光亮度,kd为景物表面漫反射率;为景物表面在被照射点P处的单位法向量;为P到点光源的单位向量;为镜面反射方向的单位向量;视线方向的单位向量为n称为镜面高光指数,用来模拟镜面反射光在空间的汇聚程度,与物体表面光滑程度有关,物体表面越光滑,光的汇聚越高,n也就越大,反之物体表面越粗糙,镜子面反射光呈发散 状态,n取值越小。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1