本发明涉及人脸数据计算机处理技术领域,尤其涉及一种基于模板人脸逼近的不规范三维人脸网格纹理方法。
背景技术
带纹理的三维人脸模型广泛应用于个性化消费、影视广告、游戏娱乐、可视化实时通讯、整容手术预演、新一代人机交互等诸多领域。另外,纹理映射是建立三维物体表面和二维图像空间像素坐标对应的过程。因为具有消耗较少硬件计算资源和渲染较方便的特点,所以纹理映射是增强三维人脸网格真实感的有效方法。但在很多应用当中,通过一些方式构建的三维人脸网格普遍存在拓扑不规范或顶点数目较大的问题,使得手动建立这种三维人脸网格纹理映射的过程花费大量人力和时间成本。同时,这种三维人脸网格较难在计算能力较差的终端平台(如智能手机等)进行流畅渲染。因此,一种能自动化地建立不规范三维人脸网格纹理映射并能优化网格拓扑和顶点数目的方法具有较大的应用价值。
在三维人脸网格的纹理映射算法中,经过对现有技术的文献检索发现,blanz等人(blanzv,vettert.amorphablemodelforthesynthesisof3dfaces[c]//proceedingsofthe26thannualconferenceoncomputergraphicsandinteractivetechniques.acmpress/addison-wesleypublishingco.,1999:187-194.)提出可形变模型(3dmorphablemodel,3dmm)进行三维人脸的重建和纹理映射的方法,通过透视投影和特定光照算法将可形变模型渲染成二维人脸图像,通过优化该二维图像和输入图像的像素平方误差,得到可形变模型的纹理图像的组合权值。但该方法所需的可形变模型依赖于大型三维人脸数据库统计分析,而特定人脸数据库构建、维护和模型训练需要耗费大量人力财力,并且由于受限于数据库的参数空间,人脸重建结果适用范围有限。比如,使用欧洲人的人脸数据库训练出的人脸预测模型,很难重建出较好的亚洲人脸。张剑等(张剑.融合sfm和动态纹理映射的视频流三维表情重建[j].计算机辅助设计与图形学学报,2010,22(6):000949-958.)提出一种融合sfm和动态纹理映射的方法,将跟踪得到的每帧二维特征点位置坐标看作是三维人脸模型上预定义的一组特征顶点的纹理坐标,从而通过插值自动将从原始视频中提取出的人脸纹理信息逐帧映射至与每一视频帧对应的重建出的人脸模型,可从单目摄像头拍摄的原始人脸视频生成逼真的三维人脸表情动画。但该方法是基于机器视觉的原理重建的,由于缺少人脸的先验知识,故重建模型的真实感有待进一步提高。newcombe等人的方法(newcombera,izadis,hilligeso,etal.kinectfusion:real-timedensesurfacemappingandtracking[c]//mixedandaugmentedreality(ismar),201110thieeeinternationalsymposiumon.ieee,2011:127-136.)可使用深度相机kinect对真实人体进行三维扫描和重建,最终得到带纹理信息的三维人体,但该方法重建的模型网格拓扑较复杂且顶点数量也较大,需经过较长时间人工修复才能应用于工程项目;并且类似使用三维扫描仪的方法均存在该问题。
技术实现要素:
针对现有技术存在的不足,本发明目的是提供一种基于模板人脸逼近的不规范三维人脸网格纹理方法,本发明通过预先构建一个带参数化纹理坐标和纹理图像的模板三维人脸,并且针对不同输入的不规范三维人脸网格,均用该模板人脸进行算法计算,从而使本发明成本低,另外本发明具有规范输入三维人脸网格拓扑和顶点数目的优势。
为了实现上述目的,本发明是通过如下的技术方案来实现:
本发明的一种基于模板人脸逼近的不规范三维人脸网格纹理方法,包括以
下步骤:
1)构建一个包含模板三维人脸网格、模板参数化纹理坐标、模板纹理图像的模板三维人脸网格,并建立所述模板三维人脸网格到模板纹理图像点之间的纹理映射关系;
2)将所述模板三维人脸网格与不规范三维人脸网格进行初步对齐;
3)构建对齐后的所述模板三维人脸网格和不规范三维人脸网格之间的误差能量函数,并通过梯度下降法和最小二乘法来优化所述误差能量函数,使得所述模板三维人脸网格逼近不规范三维人脸网格,最终得到规范三维人脸网格;
4)根据步骤1)的纹理映射关系,实现步骤3)中生成的规范三维人脸网格与模板纹理图像的纹理映射,从而生成规范的带纹理的三维人脸模型。
步骤1)中,所述纹理映射关系的建立方法如下:
第一步,使用三维建模软件手动构建一个带有五官特征的模板三维人脸网格;
第二步,通过柱面投影方式,将模板三维人脸网格投影到二维平面区域[0,1]2即纹理空间,并得到二维模板参数化纹理坐标,其中网格和参数化纹理坐标点存在一一映射关系,一一映射关系可由下式得到:
f(pi)=qi
其中,pi是模板三维人脸网格上的顶点,qi是模板参数化纹理坐标点;
第三步,根据模板参数化纹理坐标点的位置分布,使用二维图像处理软件手动构建一张模板纹理图像,其中模板参数化坐标点和模板纹理图像点存在一一映射关系,一一映射关系可由下式得到:
g(qi)=pixeli
其中,pixeli是模板纹理图像的像素点;
第四步,根据上述的f和g的函数传递关系,得到模板三维人脸网格顶点和模板纹理图像的纹理映射关系,则纹理映射关系为g[f(pi)]=pixeli。
步骤2)中,所述初步对齐的具体方法如下:
第一步,分别对所述模板三维人脸网格和不规范三维人脸网格的顶点集合进行主成分分析,得到所述模板三维人脸网格的局部坐标系矩阵为m1,原点为o1,所述不规范三维人脸网格的局部坐标系矩阵为m2,原点为o2;
第二步,计算m1到m2的过渡矩阵,即根据m2=m1t,得到过渡矩阵t=m1-1m2;
第三步,将所述模板三维人脸网格的每一个顶点pi变换到不规范三维人脸网格的坐标系下,变换公式如下:
pi←t·[pi+(o2-o1)]。
步骤3)中,对齐后的所述模板三维人脸网格和不规范三维人脸网格之间的所述误差能量函数定义如下式:
f(w,v)=w1fdistance(v)+w2fsmooth(v)
其中,v={p1,p2,...,pn},
步骤3)中,采用所述梯度下降法和最小二乘法来优化误差能量函数的具体
方法如下:
第一步,初始化wi=w0,vi=v0;
第二步,固定wi,在vi基础上构建最小二乘线性方程组a·vi+1=bi+1,并求解得到vi+1,即经过变形后的下一状态的模板三维人脸网格,其中,wi表示下一个状态的权值系数,vi表示下一状态的模板三维人脸网格顶点集合,w0表示初始的权值系数,v0表示初始的模板三维人脸网格顶点集合;a表示约束项的关系矩阵,bi+1是下一状态下的关系矩阵结果值构成的矩阵;
第三步,固定vi+1,在wi的基础上运用梯度下降法计算出下一状态的权值系数wi+1,状态更新方程如下式:
其中,f′(wi)表示能量函数在wi下的导数,是一个实数,
且单个wi的变化步长β取0.000001;
第四步,更新vi←vi+1,wi←wi+1,当满足f′(wi)<ε1或edistance<ε2条件,终止优化过程,否则进入第二步继续执行,其中,相对距离误差edistance来度量不规范三维人脸网格顶点集和模板三维人脸网格间的误差,ε1表示f′(wi)的上限值,ε2表示edistance的上限值。
上述相对距离误差edistance计算方法如下式:
其中,fdistance(vi)表示不规范三维人脸网格上所有顶点到模板三维人脸网格最近投影点的距离平方和,
步骤1)中,所述模板三维人脸网格具有三个特点:
①模板三维人脸网格拓扑根据脸部中轴面对称;
②模板三维人脸网格的顶点数目小于两万,以适用应用开发为准;
③模板纹理图像的分辨率为1024*1024。
步骤3)中,最终生成的规范三维人脸网格具有三个特点:
①具有与不规范三维人脸网格相似的五官特征;
②具有与模板三维人脸网格相同的网格拓扑和顶点数目;
③与模板三维人脸网格共用相同模板参数化纹理坐标,即可与模板纹理图像进行纹理映射,映射关系依旧为上述的g[f(pi)]=pixeli。
本发明的有益效果是:
1.现有的纹理映射方法依赖大型三维人脸数据库中的纹理信息或依赖昂贵三维扫描仪获取彩色信息,需要耗费大量的财力、人力和时间。而本发明预先构建一个带参数化纹理坐标和纹理图像的模板三维人脸,并且针对不同输入的不规范三维人脸网格,均用该模板人脸进行算法计算。相比现有方法,本发明是一种相对低成本的方法。
2.针对通过三维扫描仪获取的或者人工手动构建的三维人脸网格存在网格拓扑不规范、顶点数量较大的问题,本发明借助一个模板三维人脸去逼近该不规范三维人脸网格,最终生成和该不规范三维人脸具有相似五官特征但网格拓扑规范和顶点数目适中的规范的带纹理三维人脸网格,该规范的带纹理三维人脸网格可直接用于二次开发,具有较广泛的使用前景。
附图说明
图1(a)模板三维人脸网格的面片渲染效果;
图1(b)模板三维人脸的线框渲染效果;
图1(c)模板参数化纹理坐标;
图1(d)模板纹理图像;
图1(e)模板三维人脸网格的纹理映射效果图;
图2是优化误差能量函数的算法示意图,外圈虚线表示不规范三维人脸网格,内部实线表示模板三维人脸网格;
图3(a)不规范三维人脸网格的面片渲染效果;
图3(b)不规范三维人脸网格的线框渲染效果图;
图3(c)最终生成的规范三维人脸网格的面片渲染;
图3(d)最终生成的规范三维人脸网格的线框渲染效果;
图3(e)最终生成的规范三维人脸的纹理映射效果图;
图4是本发明的方法流程原理图。
具体实施方式
为使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体实施方式,进一步阐述本发明。
本发明预先构建一个带纹理的模板三维人脸并用这个模板人脸去辅助人脸重建过程,首先不使用人脸数据库从而实现低成本,其次将人脸五官的先验知识加入算法中,最终还实现了模型网格拓扑和顶点数量的规范化,该方法可以将不规范的三维人脸网格转化为网格拓扑规范和顶点数目适中的规范人脸网格,并实现和纹理图像的纹理映射。
参见图4,本发明的一种基于模板人脸逼近的不规范三维人脸网格纹理映射方法的具体步骤如下:
1.构建一个包含模板三维人脸网格、模板参数化纹理坐标、模板纹理图像的规范模板人脸,并建立模板三维人脸网格到模板纹理图像点之间的纹理映射关系。
所述的模板三维人脸网格的构建的具体步骤为:
第一步,使用三维建模软件(3dmax,maya等)手动构建一个带有五官特征的模板三维人脸网格,其面片渲染效果如图1(a)所示,其线框渲染效果图如图1(b)所示;
第二步,通过柱面投影方式,将模板三维人脸网格投影到二维平面区域[0,1]2(即纹理空间),并得到二维模板参数化纹理坐标,其中网格和参数化纹理坐标点存在一一映射关系,所述的一一映射关系可由下式得到:
f(pi)=qi
其中,pi是模板三维人脸网格上的顶点,qi是模板参数化纹理坐标点;
所述的柱面投影是利用童晶于2006年在山东大学的毕业论文“面向影视特效的虚拟演员真实感三维人脸建模研究”中第4.2.2节(人脸网格参数化)提出的方法,可计算得到模板三维人脸网格的参数化纹理坐标,如图1(c)所示。
第三步,根据模板参数化纹理坐标点的位置分布,使用二维图像处理软件(photoshop等)手动构建一张模板纹理图像,如图1(d)所示;其中模板参数化坐标点和模板纹理图像点存在一一映射关系,所述的一一映射关系可由下式得到:
g(qi)=pixeli
其中,pixeli是模板纹理图像的像素点;
第四步,根据上述的f和g的函数传递关系,可以得到模板三维人脸网格顶点和模板纹理图像的一一映射关系,所述的一一映射关系为g[f(pi)]=pixeli,即为模板三维人脸网格和模板纹理图像纹理映射关系,其纹理映射效果图如图1(e)所示。
所述的规范的模板三维人脸具有三个特点:①模板三维人脸网格拓扑根据脸部中轴面对称;②模板三维人脸网格的顶点数目小于两万,以适用应用开发为准;③模板纹理图像的分辨率为1024*1024。
2.将模板三维人脸网格与不规范三维人脸网格之间初步对齐。
所述的初步对齐,可以通过以下步骤得到:
第一步,分别对模板三维人脸网格和不规范三维人脸网格的顶点集合进行主成分分析,可得模板三维人脸网格的局部坐标系矩阵为m1,原点为o1,不规范三维人脸网格的局部坐标系矩阵为m2,原点为o2;
所述的局部坐标系矩阵m1和m2,将通过以下过程得到:
首先,利用明悦于2013年在北京交通大学的毕业论文“基于不变性特征的三维人脸识别研究”第3.3.1节(三维人脸模型的姿态校正)中提到的主成分分析方法,可计算得到三维人脸网格的三个主轴方向和质心位置。进一步,设模板三维人脸网格的主轴方向分别为v1,v2,v3,则
第二步,计算到m1到m2的过渡矩阵,即根据m2=m1t,可得的过渡矩阵t=m1-1m2;
第三步,将模板三维人脸网格的每一个顶点pi变换到不规范三维人脸网格的坐标系下。变换公式如下:
pi←t·[pi+(o2-o1)]
3.构建对齐后的模板三维人脸网格和不规范三维人脸网格之间的误差能量函数,并通过梯度下降法和最小二乘法来优化该误差能量函数,使得模板三维人脸网格逼近不规范三维人脸网格,最终得到规范三维人脸网格;
所述的对齐后的模板三维人脸网格和不规范三维人脸网格之间的误差能量函数定义如下式:
f(w,v)=w1fdistance(v)+w2fsmooth(v)
其中,v={p1,p2,...,pn},
图2,所述的采用梯度下降法和最小二乘法来优化误差能量函数的具体步骤如下:
第一步,初始化wi=w0,vi=v0;
第二步,固定wi,在vi基础上构建最小二乘线性方程组a·vi+1=bi+1,并求解得到vi+1,即经过变形后的下一状态的模板三维人脸网格;
第三步,固定vi+1,在wi的基础上运用梯度下降法计算出下一状态的权值系数wi+1,状态更新方程如下式:
其中梯度下降的步长取值为α=0.00000001。由于wi本身也是一个二元矢量,故f函数对每一个权值实数变量的偏导数计算如下式:
且单个wi的变化步长β取0.000001。
第四步,更新vi←vi+1,wi←wi+1,当满足f′(wi)<ε1或edistance<ε2条件,终止优化过程,否则进入第二步继续执行。
所述第四步中,定义了一种相对距离误差edistance来度量不规范三维人脸网格顶点集和模板三维人脸网格间的误差,计算如下式:
其中fdistance(vi)表示不规范三维人脸网格上所有顶点到模板三维人脸网格最近投影点的距离平方和,
所述的最终生成的规范三维人脸网格具有三个特点:①具有与不规范三维人脸网格相似的五官特征;②具有与模板三维人脸网格相同的网格拓扑和顶点数目;③与模板三维人脸网格共用相同模板参数化纹理坐标,即可与模板纹理图像进行纹理映射,映射关系依旧为上述的g[f(pi)]=pixeli。由图3(a)-图3(d)比较可知,优化前的不规范三维人脸网格拓扑杂乱并顶点数目很大,经过优化后的三维人脸网格具有较规范的网格拓扑和合适的顶点数目。
4.根据步骤1的纹理映射关系,实现步骤3中生成的规范三维人脸与模板纹理图像的纹理映射,从而生成最终的带纹理的三维人脸模型,如图3(e)所示。
综上所述,本发明具有以下创新:
1.现有的纹理映射方法依赖大型三维人脸数据库中的纹理信息或依赖昂贵三维扫描仪获取彩色信息,需要耗费大量的财力、人力和时间。而本发明预先构建一个带参数化纹理坐标和纹理图像的模板三维人脸,并且针对不同输入的不规范三维人脸网格,均用该模板人脸进行算法计算。相比现有方法,本发明是一种相对低成本的方法。
2.针对通过三维扫描仪获取的或者人工手动构建的三维人脸网格存在网格拓扑不规范、顶点数量较大的问题,本发明借助一个模板三维人脸去逼近该不规范三维人脸网格,最终生成和该不规范三维人脸具有相似五官特征但网格拓扑规范和顶点数目适中的规范的带纹理三维人脸网格,该规范的带纹理三维人脸网格可直接用于二次开发,具有较广泛的使用前景。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。