本发明涉及计算机图形与图像处理领域,特别是一种涉及三维网格人脸的自动调整方法。
背景技术:
人们都希望拥有一个漂亮的脸蛋,整容也变得越来越流行。通过三维扫描仪获取三维的人脸模型,然后对扫描出的人脸模型进行模拟整容也成为一些美容机构的吸引客户的主要方式。但是通过手工对三维人脸模型进行整容需要大量的操作,不能够很快的给客户展示整容结果。
现有的三维人脸调整方法主要有两种观点。一种是观点是认为不存在唯一的美丽面部特征(例如嘴、鼻子、下巴),只有当面部特征和其余特征搭配的好才会具有吸引力,因此他们提出了一种对整形手术的规划系统,根据患者脸部特征自动提供推荐的整形方案,参见bottinoa,desimonem,laurentinia,etal.anew3-dtoolforplanningplasticsurgery.ieeetransactionsonbiomedicalengineering,2012,59(12):3439-3449。另一种观点是认为一个人是否漂亮是与对称性、古典主义准则和黄金分割率这三个因素密切相关,因此提出了一套能够调整三维人脸模型的系统,该系统会在保细节特征的情况下通过调整人脸的对称性和比例提升人脸的吸引力,参见liaoq,jinx,zengw.enhancingthesymmetryandproportionof3dfacegeometry.ieeetransactionsonvisualizationandcomputergraphics,2012,18(10):1704-1716。然而这两个方法都需要手动地在三维人脸模型上手动标注特征点,并无法直接地对通过三维扫描仪获取到的人脸模型进行调整。
技术实现要素:
针对现有技术上的不足,本发明提供了一种三维人脸模型自动调整方法,能够自动检测三维人脸模型中的特征点并对三维人脸模型进行美化调整。
为了达到上述目的,本发明采用以下技术方案:
一种三维人脸模型的自动调整方法,其特征在于:包括以下七个步骤:
(1)三维扫描仪获取三维人脸模型后,从三个角度获取三维人脸带纹理的投影图,方法如下:
先将三维扫描仪获取的三维人脸模型放置于指定的空间坐标系中,使z轴正方向与人脸的正面方向一致,y轴正方向与人脸的头顶方向一致,提取正方向人脸带纹理的投影图;将人脸以y轴为旋转轴,视线沿着y轴正方向顺时针旋转15度,提取右侧人脸带纹理的投影图;将人脸以y轴为旋转轴,视线沿着y轴正方向逆时针旋转30度,提取左侧人脸带纹理的投影图。
(2)利用openface的api对步骤(1)中获取的人脸投影图进行特征点检测,获取二维图像上眼睛、鼻子、嘴、眉毛和脸部轮廓的共68个特征点,方法如下:
使用openface的api对步骤(1)中获取的三个角度人脸投影图分别识别出人脸68个特征点,包括脸部轮廓17个,左眉毛5个,右眉毛5个,鼻梁4个,鼻孔底部5个,左眼6个,右眼6个,上嘴唇外缘7个,下嘴唇外缘5个,嘴唇内侧8个。其中左眉毛5个特征点、右眉毛5个特征点、鼻梁4个特征点、鼻孔底部5个特征点、左眼6个特征点、右眼6个特征点、上嘴唇外缘7个特征点、下嘴唇外缘5个特征点、嘴唇内侧8个特征点和下颌1个特征点从人脸正脸投影图获取,左侧脸颊的8个特征点从左侧人脸投影图获取,右侧脸颊的8个特征点从右侧人脸投影图获取。
(3)对步骤(2)中获取的二维图像中的特征点反投影到三维模型上,获取三维模型的特征点,方法如下。
根据眼睛、鼻子、嘴、眉毛、脸部轮廓特征点在二维投影中的位置,获取当前角度下投影到当前像素点对应的三维网格上的点,并计算在三维人脸上离该点最近的三维顶点,将这个顶点作为二维特征点对应的三维特征点。
(4)使用pca脸部模型拟合原始的三维人脸模型,利用pca脸部模型特征点与步骤(3)中获取的三维特征点对应来增加拟合精度,得到初始对齐网格,方法如下:
这里采用pca(principalcomponentsanalysis)脸部模型方法(参见blanzv,vettert.amorphablemodelforthesynthesisof3dfaces.proceedingsofthe26thannualconferenceoncomputergraphicsandinteractivetechniques.acmpress/addison-wesleypublishingco.,1999,pp.187-194.),这里pca模型使用paysanp,knother,ambergb,etal.a3dfacemodelforposeandilluminationinvariantfacerecognition,advancedvideoandsignalbasedsurveillance,2009.avss'09.sixthieeeinternationalconferenceon.ieee,2009:296-301.提供的开源人脸数据库。
使用pca方法对200张3d扫描的人脸模型训练得到pca脸部模型;在pca脸部模型上标记好68个用于三维配准的特征点和55个用于人脸美化的特征点;用pca模型拟合原始的三维人脸模型(参见caoc,wengy,zhous,etal.facewarehouse:a3dfacialexpressiondatabaseforvisualcomputing.ieeetransactionsonvisualizationandcomputergraphics,2014,20(3):413-425.),并利用pca脸部模型的三维配准特征点与步骤(3)中获取的三维特征点对应来增加拟合精度。这里利用pca进行拟合的能量方程式设置如下:
其中:
求解能量方程得到拟合的pca系数
其中:
(5)对步骤(4)中生成的初始对齐网格进行3d配准,通过求解能量方程得到最终对齐网格,方法如下:
为获取更高精度,对步骤(4)中生成的初始对齐网格进行3d配准得到最终对齐网格。3d配准设置的能量方程式如下:
其中:
求解能量方程式得到最终网格上的点
(6)对步骤(5)中得到的最终对齐网格重新计算纹理坐标,得到配准后的三维人脸模型,方法如下:
计算最终对齐网格上点到原始三维人脸点云的最近点;计算最终对齐网格上点到原始三维人脸点云的最近点的所有邻接面的距离,选取与该点距离最近的面,计算投影点;计算原始三维人脸上投影点的重心坐标,得到该点在原始三维人脸上的纹理坐标,作为最终对齐网格上点的纹理坐标。
(7)对步骤(6)中得到的配准后的三维人脸模型进行美化调整,得到调整后的三维人脸模型,方法如下:
将步骤(4)中在pca模型上标记好的55个特征点以向提供的顶点索引在最终对齐网格上标记,并将最终对齐网格划分为6个特征区域;对最终对齐网格的6个特征区域的初始特征点坐标进行局部性和全局性调整,得到对称调整后的三维特征点坐标;依据人脸的古典主义法则和黄金分割法则,将对称调整后的三维特征点坐标进行全局比例调整,得到比例调整后三维特征点坐标;根据侧脸美化法则,将比例调整后的三维特征点进行侧脸比例调整,得到侧脸调整后的三维特征点坐标;采用拉普拉斯变形方法,使用最终对齐网格三维特征点坐标和侧脸调整后的三维特征点坐标构造线性方程组并求解,得到调整后的三维人脸模型(参见liaoq,jinx,zengw.enhancingthesymmetryandproportionof3dfacegeometry.ieeetransactionsonvisualizationandcomputergraphics,2012,18(10):1704-1716)。
与现有技术相比,本发明的有益效果为:
本发明提出一种全新的对人脸三维模型的自动调整方法,采用对三维脸部进行投影,通过对投影图进行脸部特征点识别再反投影回三维空间找到三维空间配准特征点,通过pca和三维配准将平均人脸模型拟合为原始人脸模型,通过在平均人脸上标记美容需要用到的特征点,用现有方法进行脸部美容调整。在保持人脸细节的前提下对人脸实施了一键美容。本发明方法明确,界面友好,结果鲁棒,且该方法可以用于虚拟人脸整容、计算机动画和计算机游戏等领域。
附图说明
图1为本发明的技术方案流程图;
图2为本发明三维人脸模型的配准特征点分布图;
图3为本发明三维人脸模型的正脸美化特征点分布图;
图4为本发明三维人脸模型的侧脸美化特征点分布图。
具体实施方式
下面结合附图对本发明一种三维人脸模型自动调整方法实施例子进行详细说明。
如图1所示,一种三维人脸模型自动调整方法,包括三维扫描仪获取三维人脸模型,从三个角度获取带纹理投影图、提取二维投影图中人脸的68个特征点、将二维特征点反投影获取三维特征点、使用pca方法拟合原始人脸模型得到初始对齐网格、对初始对齐网格进行3d配准得到最终对齐网格、对最终对齐网格重新计算纹理坐标得到配准后的三维人脸模型、对配准后的模型进行美化调整得到美化后的三维人脸模型七个步骤。
现具体介绍本方法的七个步骤:
1)通过三维扫描仪扫描得到的三维人脸模型,建立xyz屏幕空间坐标系,其中x方向指向屏幕右侧,y方向指向屏幕上测,z方向从屏幕里指向屏幕外。将三维人脸模型放置于该空间坐标系中,使z轴正方向与三维人脸模型的正面方向一致,y轴正方向与三维人脸模型的头顶方向一致,使得能看到人脸正投影的图像,提取正方向人脸带纹理的投影图;将三维人脸模型以y轴为旋转轴,沿着y轴正方向顺时针旋转15度,提取右侧人脸带纹理的投影图;将三维人脸模型以y轴为旋转轴,沿着y轴正方向逆时针旋转30度,提取左侧人脸带纹理的投影图。
2)使用openface的api对步骤(1)中获取的三个角度人脸投影图分别识别出人脸68个特征点,特征点分布如图2所示,包括脸部轮廓17个,左眉毛5个,右眉毛5个,鼻梁4个,鼻孔底部5个,左眼6个,右眼6个,上嘴唇外缘7个,下嘴唇外缘5个,嘴唇内侧8个。
其中左眉毛5个特征点(编号23-27)、右眉毛5个特征点(编号18-22)、鼻梁4个特征点(编号28-31)、鼻孔底部5个特征点(编号32-36)、左眼6个特征点(编号43-48)、右眼6个特征点(编号37-42)、上嘴唇外缘7个特征点(编号49-55)、下嘴唇外缘5个特征点(编号56-60)、嘴唇内侧8个特征点(编号61-68)和下颌1个特征点(编号9)从人脸正脸投影图获取,左侧脸颊的8个特征点(编号10-17)从左侧人脸投影图获取,右侧脸颊的8个特征点(编号1-8)从右侧人脸投影图获取。
3)获取正脸投影图识别出的编号为(9,18-68)的像素点二维坐标,如步骤(1)中所述将人脸转为正向,获取每个特征点二维坐标(
4)将200张三维人脸模型作为训练集,数据来源参见paysanp,knother,ambergb,etal.a3dfacemodelforposeandilluminationinvariantfacerecognition,advancedvideoandsignalbasedsurveillance,2009.avss'09.sixthieeeinternationalconferenceon.ieee,2009:296-301.。对每张人脸建立pca向量
68个配准特征点分布与步骤(2)中相同,55个美化特征点分布如下:第零初始特征点位于前额发缘中点,第一、三初始特征点分别位于左右眉毛上边缘区域的最高点,第二初始特征点位于左右两边眉毛的中间,第四、九初始特征点分别位于左右耳朵外缘的最高点,第五、八初始特征点分别位于靠近左右眉毛外的区域并位于头部的外轮廓线上,第六、七初始特征点分别位于左右眉毛下边缘的最低点,第十、十三初始特征点分别位于右左眼的外边缘,第十一、十二初始特征点分别位于右左眼的内边缘,第十四、十五初始特征点分别位于左右眼睛下边缘的最低点,第十六、二十初始特征点分别位于左右耳朵外缘的最低点,第十七、十九初始特征点分别位于鼻子左右侧的最边缘点,第十八初始特征点位于鼻子的中点,第二十一、二十二初始特征点分别位于左右嘴唇最高点,第二十二初始特征点位于上嘴唇的中点,第二十四、二十六初始特征点分别位于闭合嘴唇的最左点和最右点,第二十七初始特征点位于下嘴唇的下边缘点,第二十八初始特征点位于下巴的最底端,第二十九、三十初始特征点分别位于左右两边颧骨的最外边缘,第三十一初始特征点到第三十七初始特征点,第三十八初始特征点到第五十三初使特征点平均分布于人脸的外轮廓,第五十四初始特征点位于下嘴唇与下颌之间的凹陷部位,可参见文献liaoq,jinx,zengw.enhancingthesymmetryandproportionof3dfacegeometry.ieeetransactionsonvisualizationandcomputergraphics,2012,18(10):1704-1716。
求取原始模型与平均人脸的对应点集合:找平均人脸上的三维点p到原始人脸三维点的最近点q。找原始人脸三维点q到平均人脸的的最近点p1,如果p1与p是同一个,则将p,q当做一个有效对应。
设置pca拟合的能量方程式:
其中:
利用最小线性二乘法求解能量方程组,得到pca系数
5)为了使步骤(4)中的初始对齐网格更加贴近原始的三维人脸模型,对步骤(4)中生成的初始对齐网格进行3d配准,设置能量方程式如下:
其中:
利用最小线性二乘法求解能量方程组,得到最终对齐网格上顶点的坐标
6)对于最终对其网格上的点
7)将pca方法中的平均三维人脸模型的55个美化特征点作为配准后的三维人脸模型的美化特征点,对三维人脸模型进行调整(参见liaoq,jinx,zengw.enhancingthesymmetryandproportionof3dfacegeometry.ieeetransactionsonvisualizationandcomputergraphics,2012,18(10):1704-1716)。
根据美化特征点分布,将人脸划分为六个区域:眉毛区域由特征点对1和3、6和7组成;眼睛区域由特征点对10和13,11和12,14和15组成;鼻子区域由特征点对17和19组成;嘴唇区域由特征点对21和23,24和26组成;耳朵区域由特征点对4和9,16和20,36和37组成;脸颊区域由特征点对29和30组成。采用反射变换对每个特征点对进行坐标变换使得每个区域上的特征点局部对称,计算出对称轴,对于各个区域进行旋转变换使得各个区域关于全局对称轴对称。将特征点0,2,18,22,25,27,28,31,32,33,34,35平移到全局对称轴上。
执行以下美化步骤,使得美化后人脸接近古典主义和黄金分割比率的美丽标准:
第一步:固定特征点0和特征点28,并得到人脸的长度
第二步:令
第三步:另
第四步:令
第五步:令
第六步:令
第七步:令
第八步:令
第九步:令
上述九个步骤中所涉及的式子中,
其中,
第十步:将三维人脸模型上的11个特征点2,17,18,22,27,31,32,33,34,35,36作为决定侧脸是否漂亮的关键特征点。固定住特征点2和36的坐标位置,根据国际美容学关于侧脸美容的19条标准,通过使下列方程值最小来得到特征点集合
其中,
其中,其中,
第十一步:以55个初始特征点作为三维人脸模型的控制点,将该55个特征点拉动到经过优化后的新的55个特征点位置,通过求解最小二乘线性方程组来对整个模型进行拉普拉斯变换,得到保留住大部分细节特征的美化后的三维人脸模型。