CN103208133B - 一种图像中人脸胖瘦的调整方法 - Google Patents

一种图像中人脸胖瘦的调整方法 Download PDF

Info

Publication number
CN103208133B
CN103208133B CN201310112745.2A CN201310112745A CN103208133B CN 103208133 B CN103208133 B CN 103208133B CN 201310112745 A CN201310112745 A CN 201310112745A CN 103208133 B CN103208133 B CN 103208133B
Authority
CN
China
Prior art keywords
face
adjustment
image
fat
point
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.)
Active
Application number
CN201310112745.2A
Other languages
English (en)
Other versions
CN103208133A (zh
Inventor
曾文婷
赵海明
金小刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Lingdi Digital Technology Co., Ltd
Original Assignee
Zhejiang University ZJU
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN201310112745.2A priority Critical patent/CN103208133B/zh
Publication of CN103208133A publication Critical patent/CN103208133A/zh
Application granted granted Critical
Publication of CN103208133B publication Critical patent/CN103208133B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Processing Or Creating Images (AREA)
  • Image Processing (AREA)

Abstract

本发明公开了一种图像中人脸胖瘦的调整方法,包括以下步骤:先建立三维人脸模型;在建立的三维人脸模型上获取人脸的54个特征点;根据人脸特征点软组织厚度关于年龄和体重的线性回归方程以及用户输入的胖瘦调整参数对获取的54个特征点进行位置调整;采用拉普拉斯变形算法,将位置调整后的54个特征点作为约束点集合,与三维人脸模型中的人脸顶点建立满秩线性系统,进行线性方程组求解,得到调整后的三维人脸模型;再对原始图像进行三角网格参数化;最后采用调整后的三维人脸模型驱动原始图像三角网格顶点位置的变化,经过纹理映射得到调整后的图像。本发明采用保细节特征的拉普拉斯变形技术,调整人脸胖瘦的同时保留了人脸上的大部分细节特征信息。

Description

一种图像中人脸胖瘦的调整方法
技术领域
本发明涉及计算机图形与图像处理领域,特别是涉及一种图像中人脸胖瘦的调整方法。
背景技术
毋庸置疑,人脸在给人的第一印象以及传达情感有着不可替代的作用。在人与人的社交活动中,人的外貌起到非常关键的作用。有多项研究表明人们很在乎自己的脸蛋是否漂亮。同时,人脸的胖瘦同美是关联一起的。从传统美学的观点来看,人脸的平均形象是多样统一的结果,因此过胖或者过瘦的形象是被认为为不和谐,不美的。
大部分人希望呈现给别人看的脸蛋可以更漂亮,更具有吸引力。例如,女生会通过化妆来使自己更漂亮。由于摄像设备以及移动终端的快速发展,获取二维数字图像越来越简单。用户在使用自己的照片之前通常会使用图像编辑工具对照片进行一定的处理。例如流行的专业图像编辑软件Adobe Photoshop,用户通过它来修改人脸图像。Photoshop可以提供用户一些人像修饰的功能。然而现有的图像修饰工具主要用于低层次的编辑任务,因此往往局限于类似于如何去除瑕疵和皱纹的等局部修饰。如果需要修饰人脸的脸型,让脸部看起来瘦点或者丰满点则要求苛刻的专业技能才能让整个人脸看起来一致协调同时背景不会出现明显的变形。即使是熟练的用户对整个脸部进行修饰仍然需要相当大的时间和精力。
一个成功的人脸轮廓胖瘦调整算法应该不仅能够反映令人信服的体重的变化,同时应该保持人脸的自然以及个性化。因此难点主要存在两个方面:如何反映体重在人脸上的变化以及如何保持人脸原来的个性化。
要生成反映体重变化的人脸变形,必须考虑脸部的生理解剖结构。从解剖角度来看,人的头部是由头骨、肌肉、脂肪和皮肤组成的。头骨是决定人脸的整体轮廓的关键组成,而脂肪和皮肤则共同决定了人脸外观的个性细节特征。人脸轮廓胖瘦需要脸部肌肉和脂肪的参与,这在一定程度上增加了物理模拟人脸轮廓胖瘦的难度。如果物理建模不够精确,会导致胖瘦的变化在真实感的欠缺。但是目前仍没有一种数学模型可以准确表示人脸。此外,虽然三维动画领域以及图像处理的发展非常迅速,但是较少工作涉及到人脸轮廓胖瘦的变化。
另外一方面,胖瘦调整的过程需要保持人脸原来的个性化和特征。人脸的五官结构非常相似,但是具有非常明显的个性因素,如性别、种族、五官形状、肤色以及纹理。这要求不管是图形还是图像变形过程中要尽可能少地引入失真,使得用户在胖瘦调整之后,仍能够识别以及认同算法结果。
最早在人脸轮廓胖瘦调整上的工作是1999年由Blanz和Vetter提出的,参见V.Blanz,T.Vetter:A morphable model for the synthesis of 3D faces[C].In SIGGRAPH Proceedings,Orlando,FL,USA,1999,pp.71-78。他们利用激光扫描仪建立了一个中型的人脸数据库,大概有200名人脸被录入。在此基础上Blanz等人提出了一个统计学人脸模型,作者认为人脸的胖瘦程度是个线性函数,通过调节系数就可以加强或者减弱这个人脸的胖瘦程度。然而,他们的算法是在顶点级别上的操作,会改变人脸五官等属性,事实上五官在胖瘦程度变化时改变程度比较小。
之后,比利时的Udy Danino等人提出了一种基于图像空间的人脸轮廓胖瘦调整算法,参见U.Danino,N.Kiryati,M.Furst:Algorithm for facialweight-change[C].Proceedings of International Conference on Electronics,Circuits and Systems,2004,pp.318-321。作者认为人脸的形状主要是由头骨和软组织的厚度决定的。该算法将人脸分为三个不同体重增加模式的区域,即脸颊,脖子,以及其余区域。作者认为人脸的胖瘦程度是个线性函数,通过改变系数,来调整人脸特征点,使用插值来生成轮廓区域之间的纹理。但这个算法要求人脸只能是正脸,应用场合非常受限。同时,因为变化的区域过于单一,不能很准确地模拟变胖变瘦的效果。
发明内容
本发明提供了一种图像中人脸胖瘦的调整方法,该调整方法基于原始图像进行,既能保持面部细节特征又能对图像中的人脸进行胖瘦调整。
一种图像中人脸胖瘦的调整方法,包括以下步骤:
(1)建立三维人脸模型;
(2)在步骤(1)建立的三维人脸模型上获取人脸的54个特征点;
(3)根据人脸特征点软组织厚度关于年龄和体重的线性回归方程以及用户输入的胖瘦调整参数对步骤(2)获取的54个特征点进行位置调整;
(4)采用拉普拉斯变形算法,将步骤(3)得到的位置调整后的54个特征点作为约束点集合,与三维人脸模型中的人脸顶点建立满秩线性系统,进行线性方程组求解,得到调整后的三维人脸模型;
(5)对原始图像进行三角网格参数化;
(6)采用步骤(4)获得的调整后的三维人脸模型驱动原始图像三角网格顶点位置的变化,经过纹理映射得到调整后的图像。
其中,步骤(1)可采用激光扫描仪或深度相机等硬件装置获取人脸的几何以及纹理数据,直接获取三维人脸模型;或者采用自适应方法,通过对标准模型进行调整,从单张或多张图像中重建三维人脸模型,参见V.Blanz,T.Vetter:A morphable model for the synthesis of3D faces[C].In SIGGRAPHProceedings,Orlando,FL,USA,1999,pp.71-78。
步骤(2)中,在步骤(1)建立的三维人脸模型上获取人脸的54个特征点的具体方法如下:
导入三维人脸模型之后,为模型建立一个左手坐标系,其中,x坐标轴方向向右,y坐标轴方向向上,之后,根据导入三维人脸模型的不同,采取两种不同的人脸特征点选取方法。
如果是采用激光扫描仪或深度相机等硬件装置直接获取的三维人脸模型,则利用人机交互技术,手工地在导入的三维人脸模型上指定54个特征点。其中52个特征点的空间坐标位置分布可参见S.D.Greef,P.Claes,D.Vandermeulen,W.Mollemans,P.Suetens,G.Willems:Large-scale in-vivoCaucasian facial soft tissue thickness database for craniofacial reconstruction[J].Forensic science international,2006,159(1):126。为了防止眉骨部位有失真,本发明增加了位于人脸眉骨处的特征点53和特征点54,其软组织厚度同指定的特征点11相近。
如果是采用自适应方法由图像重建的三维人脸模型,则可以根据预先在标准模型上选定的特征点索引直接获得人脸的54个特征点。
步骤(3)中,根据人脸特征点软组织厚度关于年龄和体重的线性回归方程以及用户输入的胖瘦调整参数对步骤(2)获取的54个特征点进行位置调整的具体方法如下:
对人脸软组织统计数据进行处理,可推导出一个人脸特征点软组织厚度关于年龄和体重的线性回归方程:
Y=b0+b1×age+b2×BMI
其中,Y为特征点软组织的厚度,age为年龄参数,BMI为体重参数,方程的系数b0,b1,b2对于每个特征点有对应的值。
由此可以得到当BMI指数增加或者减少时,每个特征点在法向方向的变化程度。具体实现中,根据经验值我们设置为每次调整一个单位BMI指数,每个特征点软组织的厚度变化为对应的指数除以100。
在现实中,由于人脸头颅的限制,人是不可能无限制瘦下去的,因此我们对人脸变瘦的最大程度做了如下猜测:
maxDegree=(b0+b1×agepeak+b2×BMIpeak)/b2
其中,maxDegree表示变瘦的最大程度,agepeak及BMIpeak分别为年龄参数及体重参数所能取到的最大值。
当人脸达到特征点软组织厚度最厚时,我们认为这是人脸变化程度的极值,这个假设基于我们所使用的数据是在一定范围采集的,因此应该对实际人脸的变化范围做了限定。
所述的步骤(4)的具体过程为:
首先,求出原始三维人脸模型的三角网格的拉普拉斯算子,并建立具有微分坐标的矩阵方程,这样,将三维人脸的顶点从笛卡尔坐标系变换到拉普拉斯坐标系;
之后,将经步骤(3)位置调整后的三维人脸上的54个特征点作为约束点集合,与三维人脸模型中的人脸顶点建立满秩线性系统,调整后的54个特征点的位置将被添加到拉普拉斯算子矩阵的额外行中;
最后,采用最小二乘法来进行满秩线性系统求解,可采用SUPERLU来加速求解过程,得到编辑后网格的笛卡尔坐标,即得到调整后的三维人脸模型;
步骤(5),对原始图像进行三角网格参数化具体过程为:
首先,对原始图像使用Canny算子识别出轮廓线,使用不同的阈值对人脸和背景部分分别进行采样,在较为一致、特征较少的区域,也增加一些辅助点作为提取出的特征点,保证特征点的分布较为均匀,由于人的脸部较为精细,可对人脸部分取点较密集,得到图像特征点;
然后,使用graph cut算法识别出人脸轮廓线,在轮廓线上均匀采样得到人脸轮廓特征点;
最后,根据得到的图像特征点和人脸轮廓特征点,对图像采用约束Delaunay三角化算法,生成一个基于特征点的三角网格。
步骤(6)的具体步骤如下:
(6.1)将原始图像中位于人脸内部及轮廓线上的特征点对应到由原始图像生成的三维人脸模型上;
(6.2)由调整之后的三维人脸模型得到对应特征点调整后的位置,按照原始图像中人脸的角度,姿势和大小进行正交投影,得到调整后的特征点在原始图像中的位置;
(6.3)根据调整前后特征点的位置,构建背景重定向的能量方程,并求解;
(6.4)根据求解结果,调整原始图像三角网格顶点位置;
(6.5)经过纹理映射,得到调整后的图像。
步骤(6)将调整后的三维人脸模型驱动图像中人脸及背景进行调整转化为一个求新图像的优化问题。
新图像不仅与原始图像的拓扑结构相同,而且新图像脸部以及边界要刚性地满足新调整后的人脸。为了减少全局失真,网格参数化方法通常采取基于扭曲(stretch-based)的方法,参见K.Zhou,J.Snyder,B.Guo,andH.-Y.Shum.Iso-charts:stretchdriven mesh parameterization using spectralanalysis[J].In ACM Symp.Geometry Processing,2004,pp.45-54,此方法基于以下的观察:从离散计算几何的角度来看,一个网格可以由它所有的边长长度决定。因此,我们可以通过求解一个基于拉伸的优化系统来获取目标新图像。
新图像需要满足图像边缘约束,即原始图像的边界应该保持不变。因此,将四个边界的特征点限制在他们所在的边界上,图像上下左右边缘的特征点可以左右移动,但是不能上下移动,即y坐标固定,x可变;同理,左右边缘的特征点可以上下移动,但是不能左右移动,即x坐标固定,y可变,此外,图像的四个边界点保持不变。
新图像也需要满足脸部特征点约束,即人脸经过胖瘦调整之后,在图像中所占的比例会发生变化。如变胖之后,在图像中所占的比例增大,反之,则减小。在本方法中需要保证目标图像中人脸以及轮廓的特征点满足求出的新位置。
最后,新图像还需要满足背景网格边长约束。既然一个边长是由边长的两个顶点所决定的,那么可以通过确定这两个顶点的变化趋势来求得理想边长的长度,也就是说,边长的变化尺度是同它顶点的变化一致的。这里我们把边长的尺度变化方向分为x方向与y方向。由于脸部的变胖或变瘦会对背景网格变长进行相应的挤压或者拉伸,故可以计算得到理想边长长度,构建能量方程。
这里我们使用多维度的牛顿方法来最小化上述能量方程。每次迭代的时候使用multi-grid solver来把约束带入求解,得到特征点在调整后图像中的位置,最后,经过纹理映射得到调整后的图像。multi-grid solver方法参见W.Press,S.Teukolsky,W.Vetterling,and B.Flannery.Numerical recipes inC:The art of scientific computing[M].Cambridge University Press,1992。
与现有技术相比,本发明具有以下有益效果:
(1)本发明采用保细节特征的拉普拉斯变形技术,调整人脸胖瘦的同时保留住了人脸上的大部分细节特征信息,在此基础上还将修改之后的三维人脸模型轮廓的变化映射到原始图像上,并对原始图像的背景进行三角网格参数化,通过求解能量方程,调整背景三角网格的位置,使变化后的背景和调整胖瘦之后的人脸融为一体;
(2)采用本发明提出的调整方法可以快速地建立一个具有真实感的个性化人脸模型,能够得到一个调整过胖瘦的具有原始模型面部特征的人脸,并将调整后的人脸模型自然的嵌入到原图像中,该调整方法算法明确,界面友好,结果鲁棒,可用于计算机动画,医学领域,刑事侦探,数字娱乐等领域。
附图说明
图1为本发明的技术方案流程图;
图2为本发明实施例中三维人脸模型的正面人脸的特征点分布图;
图3为本发明实施例中三维人脸模型的侧脸的特征点分布图;
图4为本发明实施例中初始人脸示意图与调整后的人脸示意图的对比图。
具体实施方式
下面结合附图及具体实施例对本发明进行详细说明。
如图1所示,本发明的图像中人脸胖瘦的调整方法包括以下步骤:
(1)建立三维人脸模型
三维人脸模型的建立可以采用激光扫描仪、深度相机等硬件装置获取人脸的几何以及纹理数据,直接获取三维人脸模型;或者从单张或多张图像中重建三维人脸模型使用Blanz和Vetter提出的自适应方法,通过对标准模型进行调整,从图像中重建三维人脸模型。
(2)在步骤(1)建立的三维人脸模型上获取人脸的54个特征点
对于通过激光扫描仪、深度相机等硬件装置获取得到的三维人脸模型,将待处理的三维人脸模型放于指定的空间坐标系中,并交互地对三维人脸模型的位置进行稍微调整,使z轴正方向与人脸的正面方向一致,y轴正方向与人脸的头顶方向一致。
利用人机交互技术,手工地在三维人脸模型上指定54个特征点,其中,正面人脸特征点的分布可见图2,侧脸特征点的分布可见图3。
54个特征点的位置分布如下:
第一特征点位于额头正中人脸中线上;
第二特征点位于左右眼眶上缘与人脸中线的交点;
第三特征点位于左右两边眉毛的中间;
第四特征点位于鼻子软骨上缘;
第五特征点位于鼻子的中点;
第六特征点位于上嘴唇的中点;
第七特征点位于下嘴唇的中点;
第八特征点位于下巴凹陷处正中点;
第九特征点位于侧脸下巴最突出点;
第十特征点位于下巴下端边缘;
第十一、三十二特征点分别位于右左瞳孔正上方,额头上侧;
第十二、三十三特征点分别位于右左瞳孔正上方眉毛上边缘;
第十三、三十四特征点分别位于右左额骨,上颌骨和眼眶上泪骨的连接处;
第十四、三十五特征点分别位于右左鼻梁边缘,垂直方向正对眼角內缘;
第十五、三十六特征点分别位于右左瞳孔正下方眼眶下缘;
第十六、三十七特征点分别位于右左瞳孔正下方颧骨下缘;
第十七、三十八特征点分别位于右左鼻子下端侧面的边缘点;
第十八、三十九特征点分别位于接近人中的右左突起上;
第十九、四十特征点分别位于右左口角边缘与人中平行;
第二十、四十一特征点分别位于垂直于右左口角边缘,下巴嘴唇褶皱上;
第二十一、四十二特征点分别位于右左侧面人脸下巴最突出处;
第二十二、四十三特征点分别位于右左侧面眼眶边缘,平行于眼眶中心;
第二十三、四十四特征点分别位于右左颧弓根部,耳朵之前;
第二十四、四十五特征点分别位于右左正脸侧缘颧骨最突出处;
第二十五、四十六特征点分别位于右左颧骨突起正中间,眼眶后缘;
第二十六、四十七特征点分别位于右左脸颊区域与鼻子底部齐平;
第二十七、四十八特征点分别位于右左咬肌正中;
第二十八、四十九特征点分别位于右左咬肌边缘,垂直于嘴角;
第二十九、五十特征点分别位于右左第二臼齿之下;
第三十、五十一特征点分别位于右左下颚骨转角处;
第三十一、五十二特征点分别位于右左下颚骨下缘,垂直方向上和第二臼齿对齐;
第五十三、五十四特征点分别位于右左太阳穴。
对于由图像重建的三维人脸模型,则根据预先在标准模型上选定的特征点索引直接导入。
(3)根据人脸特征点软组织厚度关于年龄和体重的线性回归方程以及用户输入的胖瘦调整参数对步骤(2)获取的54个特征点进行位置调整
根据年龄跟体重对人脸软组织厚度的相关统计数据进行了处理,推导出一个人脸特征点软组织厚度关于年龄和体重的线性回归方程:
Y=b0+b1×age+b2×BMI
其中,Y为特征点软组织的厚度,age为年龄参数,BMI为体重参数。方程的系数b0,b1,b2对于每个特征点有对应的值,具体见下表:
表1b0、b1、b2对于每个特征点的对应值
*p<0.05;**p<0.01;RMSE为均方根误差
可以得到当BMI指数增加或者减少时,每个特征点在法向方向的变化程度。具体实现中,根据经验值我们设置为每次调整一个单位BMI指数,每个特征点软组织厚度的变化为对应的BMI指数除以100。
在现实中,由于人脸头颅的限制,人是不可能无限制瘦下去的,因此我们对人脸变瘦的最大程度做了如下猜测:
maxDegree=(b0+b1×agepeak+b2×BMIpeak)/b2
其中,maxDegree表示变瘦的最大程度,agepeak及BMIpeak分别为年龄参数及体重参数所能取到的最大值。
当人脸达到特征点软组织厚度最厚的程度时,我们认为这是人脸变化程度的极值。
(4)采用拉普拉斯变形算法,将步骤(3)得到的位置调整后的54个特征点作为约束点集合,与三维人脸模型中的人脸顶点建立满秩线性系统,进行线性方程组求解,得到调整后的三维人脸模型
设M=(V,E,F)是输入的三角网格模型,其中,V表示顶点集合,E表示边集合,F表示所有面的集合。
设顶点的笛卡尔坐标为:vi=(xi,yi,zi)。定义vi的微分坐标,即拉普拉斯坐标为vi的绝对坐标与其一环领域质心点的差,表示为:
δ i = ( δ i ( x ) , δ i ( y ) , δ i ( z ) ) = v i - 1 d i Σ j ∈ N ( i ) v j
其中,δi表示顶点vi的微分坐标,N(i)={j|(i,j)∈E}即顶点vj表示与顶点vi相邻的顶点(存在边相连),且di=|N(i)|是顶点i邻居的个数,即顶点i的度。
令A为网格的邻接矩阵,
令D为其对角矩阵且Dii=di,其中Dii表示矩阵对角线上第i个元素,di=|N(i)|是顶点i邻居的个数。则可以将从绝对坐标(笛卡尔坐标)到相对坐标(微分坐标)的向量变换用矩阵表示为(假设有n个点):
L=I-D-1A.
其中,I是单位矩阵,D=diag(d1,d2,...,dn)为对角矩阵。
将L矩阵转化为对称矩阵Ls
Ls=DL=D-A
那么Ls可以表示为:
即Lsx=Dδ(x),Lsy=Dδ(y),Lsz=Dδ(z)。其中,X是包含V中所有顶点x绝对坐标分量的一个n维向量,y、z同此。δ(x),δ(y),δ(z)表示包含V中所有顶点x微分坐标分量的一个n维向量,δ(y),δ(z)同此。
在空间上,设集合C为位置已知的顶点的索引值集合(即选择好的特征点),由于顶点的排序顺序不影响结果,故不妨假设集合C={1,2,...,m},这样就得到了|C|个附加约束点,c1,c2,...,cm表示对应顶点变化后的绝对坐标。
则可以得到线性系统如下:
( L w I m × m | 0 ) V = δ ( x ) w c l : m
其中m表示集合C中元素的数目,w为顶点的权值系数,Im×m表示m行m列的单位矩阵,c1∶m为将c1,c2,...,cm排列而成的列向量。
此时整个系统是一个超定的线性方程组,根据最小二乘的方法进行求解。此线性系统仍然有唯一解:
X ~ = arg min x ( | | Lx - δ ( x ) | | 2 + Σ k ∈ C w 2 | x k - c k | 2 )
其中xk表示序号为k的顶点的x坐标,ck表示序号为k的顶点的变化后绝对坐标。这个最小二乘解析解可以用矩阵来表示:
x ~ = ( T ~ T L ~ ) - 1 L ~ T b
其中b=(δ,wc1,...,wcm)T是整体线性系统等式右边的分量,其中w为顶点的权值系数。
上式可变换为:
( L ~ T L ~ ) x = L ~ T b
则M是稀疏且正定的。这里可以乔姆斯基方法来分解M:
M=RTR
式中R是一个上三角稀疏矩阵。那么,线性系统的解ξ可写成:
ξ = ( R T ) - 1 L ~ T b
Rx=ξ
由此即可求解出网格x的坐标数据(y,z的值可以用相类似的方法求得)。
(5)对原始图像进行三角网格参数化
对图像使用Canny算子识别出轮廓线:
对背景部分,使用一定的阈值对Canny算子检测出来的边缘进行采样,在较为一致、特征较少的区域,也增加一些辅助点作为提取出的特征点;对部分特征点距离较近的情况进行特征点的合并,保证特征点在背景上的分布较为均匀,得到一部分特征点。
对人脸部分,根据Canny算子识别出轮廓线结果,与前述对背景部分提取特征点方法相似,但由于人脸部较为精细,取点较密,可以较为精细的保持脸部特征。
由于人脸胖瘦变化在轮廓线上的变化较为明显,故使用graph cut算法识别出人脸轮廓线,均匀采样得到人脸轮廓特征点,以此更加精确的表示人脸的变化。
根据这些特征点,对图像采用约束Delaunay三角化算法,生成一个基于特征点的三角网格。
(6)采用步骤(4)获得的调整后的三维人脸模型驱动原始图像三角网格顶点位置的变化,经过纹理映射得到调整后的图像
为了更清楚地阐述,我们定义一些网格的符号。设Mt是要求解的目标网格。
{Pi=(xi,yi)i=1,2,…,n}表示原始网格Mc的顶点,{Qi=(xi,yi)i=1,2,…,n}表示目标网格的顶点。因为原始网格和目标网格的拓扑结构相同,因此原始网格的点Pi和Qi一一对应即经过对Pi位置的调整得到Qi,原始网格的边长e(Pi,Pj)同目标网格的边长e(Qi,Qj)是一一对应的,ΔP=Δ(Pi,Pj,Pk)和ΔQ=Δ(Qi,Qj,Qk)分别表示Me和Mt的三角形面片也是一一对应。
由于人脸胖瘦调整之后,背景需要进行相应的变化,需要保持背景的图像视觉特征,尽量避免失真。同时,脸部以及边界要刚性地满足新调整后的人脸。
结合网格参数化,定义约束因子来求解此问题。约束因子包括图像的上下左右边缘,脸部和边界变化以及三角形网格的边长。加上给定的原始图像的所有顶点信息,我们将重定向问题转化为一个求新图像的优化问题。新图像不仅与原始图像的拓扑结构相同,而且满足上述目标。为了减少全局失真,网格参数化方法通常采取基于扭曲(stretch-based)的方法。
对于约束条件可以分为两大类,硬约束和软约束。
硬约束包括图像边缘约束和脸部特征点约束。
原始图像的边界应该保持不变,因此将四个边界的特征点限制在他们所在的边界上。图像上下左右边缘的特征点可以左右移动,但是不能上下移动,即y坐标固定,x可变。同理,左右边缘的特征点可以上下移动,但是不能左右移动,即x坐标固定,y可变。此外,图像的四个边界点保持不变。
设目标图像的边界上下左右特征点分别是: 相应的,原始图像的上下边界的特征点y坐标为YU和YB,左右边界的特征点x坐标为XL和XR。则可以将上述约束表达为下面的式子:
F B = Σ i = 1 n U | v U , i - y U | + Σ i = 1 n B | v B , i - y B | + Σ i = 1 n L | u L , i - x L | + Σ i = 1 n R | u R , i - x R | = 0
其中FB表示图像边界限制,vU,i表示图像上边界上特征点的y坐标,vB,i表示图像下边界上特征点的y坐标,uL,i表示图像左边界上特征点的x坐标,uR,i表示图像右边界上特征点的x坐标。
nU表示图像上边界上特征点总数,nB表示图像下边界上特征点的总数,nL表示图像左边界上特征点总数,nR表示图像右边界上特征点总数。
人脸经过胖瘦调整之后,在图像中所占的比例会发生变化。如果变胖之后,在图像中所占的比例为增大,反之,则为减小。因此需要有一个硬约束施加到人脸以及轮廓的特征点上。设(vi,ui)是目标图像中人脸与边界的特征点,(Xi,Yi)是三维人脸经过拉普拉斯变换之后投影到二维的坐标。上述的约束可以表达为以下式子:
F C = Σ i = 1 n c | v i - y i | + Σ i = 1 n c | u i - x i | = 0
其中Fc表示人脸边界限制,nc表示人脸边界上特征点数目。
通过软约束来改变背景网格。
能量方程的主题部分是三角边长约束,即用三角形的边长约束保持整个网格的特征一致。目标图像是由它的边长的长度定义的。这些理想边长长度将作为参数化过程中的目标扭曲程度。
本方法中把边长的尺度变化方向分为x方向与y方向。为了确定x方向上的尺度变化,整个网格将被平行分割为两种区域。一种区域是平行方向上都与人脸没有相交,另外一种则是相交。这样对每个网格顶点计算一个理想变化尺度。通过对一个边长的两个顶点的变化尺度取均值,我们可以得到该边长的x方向上的平均变化尺度。在与人脸不相交的区域,l只需要用原始图像的边长代入即可。如果在与人脸相交的区域,则需要计算人脸的变化部分对其所在扫描线上特征点的影响。这里记为
S x i = ( l y - Σ j = 1 n l yj ) / ( l y - Σ j = 1 n l yj ′ )
S y i = ( l x - Σ j = 1 n l xj ) / ( l x - Σ j = 1 n l xj ′ )
其中表示沿着扫描线x=xi方向上网格变化的比例,ly表示图像在y方向上的长度,扫描线xi由于部分在人脸区域,部分在背景区域而被分成很多段,其中位于人脸区域内共有n段,其中第j段在原人脸区域中的长度为lyj,人脸区域变化后长度变为l′yj
其中表示沿着扫描线y=yi方向上网格变化的比例,lx表示图像在x方向上的长度,扫描线yi由于部分在人脸区域,部分在背景区域而被分成很多段,其中位于人脸区域内共有n段,其中第j段在原人脸区域中的长度为lxj,人脸区域变化后长度变为l′xj
对于由点Pi,Pj组成的边用e(PiPj)表示,在变化后网格中相对应的边表示为e(QiQj),设Pi,Pj点坐标分别为(xi,yi),(xj,yj),则
s xij = ( s y i + s y j ) / 2
s yij = ( s x i + s x j ) / 2
其中sxij表示边e(QiQj)在x方向上的放缩比例,syij表示边e(QiQj)在y方向上的放缩比例,则边e(PiPj)在调整后的理想长度为:
l ij = l e ( Q I Q J ) = ( s xij * l xij ) 2 + ( s yij * l yij ) 2
其中,lij表示边e(PiPj)在调整后的理想长度即lxij表示边e(PiPj)在x方向上的投影,lyij表示边e(PiPj)在y方向上的投影。
边长约束的整体能量方程可以表达为:
E l = Σ ( Q i Q J ) ∈ edges ( | | Q i - Q j | | 2 - l ij 2 ) 2
其中,El表示优化能量函数,Qi,Qj表示边e(QiQj)的端点。
解上述能量方程还需要考虑一点。当网格的点比较密集,直接解上述能量方程可能会导致邻接三角形的翻转。因此我们对能量方程进行了修改,利用一个符号函数惩罚翻转现象。
假设目标图像上的三角形ΔQl=Δ(QiQk1Qj),ΔQ2=Δ(QiQk2Qj)是两个相邻接的三角形,它们的共同边长是e(QiQj)。对应的原始图像上的三角形为ΔP1=Δ(PiPk1Pj)和ΔP2=Δ(PiPk2Pj)。那么对于原始图像与目标图像中的每一对顶点对应三角形内的顶点方向应该相等。这里定义符号函数为:
w ij = sign min ( det ( Q i Q k 1 → , Q j Q k 1 → ) · det ( P i P k 1 → , P j P k 1 → ) , det ( Q i Q k 2 → , Q j Q k 2 → ) · det ( P j P k 2 → , P j P k 2 → ) )
其中,wij表示符号函数的值, Q i Q k 1 → , Q j Q k 1 → , P i P k 1 → , P j P k 1 → , Q i Q k 2 , → Q j Q k 2 → , P i P k 2 → , P j P k 2 → 分别表示三角形ΔP1=Δ(PiPk1Pj)和ΔP2=Δ(PiPk2Pj)及其对应三角形ΔQ1=Δ(QiQk1Qj),ΔQ2=Δ(QiQk2Qj)顶点组成的向量。
则修改之后的能量方程为:
E l = Σ ( Q i Q J ) ∈ edges ( w ij · | | Q i - Q j | | 2 - l ij 2 ) 2
其中,El表示优化的能量函数,系数wij用于惩罚翻转的三角形。如果三角形进行了翻转,则wij的值为-1,否则,则为+1。
最后,考虑所有的约束,我们可以得到一个完整的能量方程:
arg min Q i , i = 1 , . . . , n ( E l ) , s . t . F C , F B = 0
其中,El是边长约束,属于软约束。FB是图像边界约束,FC是人脸轮廓约束,FB及FC为硬约束。这里我们使用多维度的牛顿方法来最小化上述能量方程。每次迭代的时候使用multi-grid solver来把硬约束带入求解。
最后根据新的特征点进行标准的纹理映射算法,得到调整之后的结果图像。
图4是使用本发明对图像中人脸胖瘦调整的示例图,其中,图4左是调整程度为-2(变瘦)的结果,图4中是原始图像,图4右是调整程度为+2(变胖)的结果。

Claims (5)

1.一种图像中人脸胖瘦的调整方法,其特征在于,包括以下步骤:
(1)建立三维人脸模型;
(2)在步骤(1)建立的三维人脸模型上获取人脸的54个特征点;
人脸的54个特征点分散在眉毛特征区域、眼睛特征区域、鼻子特征区域、嘴唇特征区域、耳朵特征区域和脸颊特征区域;
(3)根据人脸特征点软组织厚度关于年龄和体重的线性回归方程以及用户输入的胖瘦调整参数对步骤(2)获取的54个特征点进行位置调整;
(4)采用拉普拉斯变形算法,将步骤(3)得到的位置调整后的54个特征点作为约束点集合,与三维人脸模型中的人脸顶点建立满秩线性系统,进行线性方程组求解,得到调整后的三维人脸模型;
(5)对原始图像进行三角网格参数化,包括以下步骤:
(5.1)对原始图像使用Canny算子检测边缘,对背景和人脸部分采用不同的阈值对Canny算子检测出来的边缘进行采样,得到图像特征点;
(5.2)使用graph cut方法识别出人脸轮廓线,在轮廓线上均匀采样得到人脸轮廓特征点;
(5.3)根据步骤(5.1)与步骤(5.2)得到的图像特征点和人脸轮廓特征点,对原始图像采用约束Delaunay三角化算法,生成一个基于以上特征点的三角网格;
(6)采用步骤(4)获得的调整后的三维人脸模型驱动原始图像三角网格顶点位置的变化,经过纹理映射得到调整后的图像;
包括以下步骤:
(6.1)将原始图像中位于人脸内部及轮廓线上的特征点对应到由原始图像生成的三维人脸模型上;
(6.2)由调整之后的三维人脸模型得到对应特征点调整后的位置,按照原始图像中人脸的角度,姿势和大小进行正交投影,得到调整后的特征点在原始图像中的位置;
(6.3)根据调整前后特征点的位置,构建背景重定向的能量方程,并求解;
(6.4)根据求解结果,调整原始图像三角网格顶点位置;
(6.5)经过纹理映射,得到调整后的图像。
2.如权利要求1所述的图像中人脸胖瘦的调整方法,其特征在于,步骤(1)为采用激光扫描仪或深度相机直接获取三维人脸模型。
3.如权利要求1所述的图像中人脸胖瘦的调整方法,其特征在于,步骤(1)为采用自适应方法,从单张或多张图像中重建三维人脸模型。
4.如权利要求1所述的图像中人脸胖瘦的调整方法,其特征在于,步骤(3)中所述线性回归方程如下:
Y=b0+b1×age+b2×BMI
其中,Y为特征点软组织的厚度,age为年龄参数,BMI为体重参数,方程的系数b0,b1,b2对于每个特征点均有对应的值。
5.如权利要求1所述的图像中人脸胖瘦的调整方法,其特征在于,步骤(4)中所述线性方程组采用最小二乘法求解。
CN201310112745.2A 2013-04-02 2013-04-02 一种图像中人脸胖瘦的调整方法 Active CN103208133B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310112745.2A CN103208133B (zh) 2013-04-02 2013-04-02 一种图像中人脸胖瘦的调整方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310112745.2A CN103208133B (zh) 2013-04-02 2013-04-02 一种图像中人脸胖瘦的调整方法

Publications (2)

Publication Number Publication Date
CN103208133A CN103208133A (zh) 2013-07-17
CN103208133B true CN103208133B (zh) 2015-08-19

Family

ID=48755348

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310112745.2A Active CN103208133B (zh) 2013-04-02 2013-04-02 一种图像中人脸胖瘦的调整方法

Country Status (1)

Country Link
CN (1) CN103208133B (zh)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104751404B (zh) * 2013-12-30 2019-04-12 腾讯科技(深圳)有限公司 一种图像变换的方法及装置
CN104851123B (zh) * 2014-02-13 2018-02-06 北京师范大学 一种三维人脸变化模拟方法
JP6311372B2 (ja) * 2014-03-13 2018-04-18 オムロン株式会社 画像処理装置および画像処理方法
KR102294927B1 (ko) * 2014-03-31 2021-08-30 트라이큐빅스 인크. 가상 성형 sns 서비스 방법 및 장치
FR3021443B1 (fr) * 2014-05-20 2017-10-13 Essilor Int Procede de construction d'un modele du visage d'un individu, procede et dispositif d'analyse de posture utilisant un tel modele
CN105374055B (zh) * 2014-08-20 2018-07-03 腾讯科技(深圳)有限公司 图像处理方法及装置
CN104517236A (zh) * 2014-11-25 2015-04-15 中国农业大学 一种动物形状表型自动测量系统
CN104850847B (zh) * 2015-06-02 2019-11-29 上海斐讯数据通信技术有限公司 具有自动瘦脸功能的图像优化系统和方法
CN107203963B (zh) * 2016-03-17 2019-03-15 腾讯科技(深圳)有限公司 一种图像处理方法及装置、电子设备
CN107463865B (zh) * 2016-06-02 2020-11-13 北京陌上花科技有限公司 人脸检测模型训练方法、人脸检测方法及装置
CN106296571B (zh) * 2016-07-29 2019-06-04 厦门美图之家科技有限公司 一种基于人脸网格的缩小鼻翼方法、装置和计算设备
CN110503681B (zh) * 2017-02-14 2022-03-29 奥比中光科技集团股份有限公司 人体模型自动创建方法及三维试衣系统
CN108876704B (zh) * 2017-07-10 2022-03-04 北京旷视科技有限公司 人脸图像变形的方法、装置及计算机存储介质
CN110555794B (zh) 2018-05-31 2021-07-23 北京市商汤科技开发有限公司 图像处理方法及装置、电子设备和存储介质
CN109087239B (zh) * 2018-07-25 2023-03-21 腾讯科技(深圳)有限公司 一种人脸图像处理方法、装置及存储介质
CN109003224A (zh) * 2018-07-27 2018-12-14 北京微播视界科技有限公司 基于人脸的形变图像生成方法和装置
CN109146808B (zh) * 2018-08-01 2022-02-18 成都品果科技有限公司 一种人像美型方法和系统
CN109829380B (zh) * 2018-12-28 2020-06-02 北京旷视科技有限公司 一种狗脸特征点的检测方法、装置、系统及存储介质
CN109978930B (zh) * 2019-03-27 2020-11-10 杭州相芯科技有限公司 一种基于单幅图像的风格化人脸三维模型自动生成方法
CN110232667B (zh) * 2019-06-17 2021-06-04 厦门美图之家科技有限公司 图像畸变修正方法、装置、电子设备及可读存储介质
CN110555796B (zh) * 2019-07-24 2021-07-06 广州视源电子科技股份有限公司 图像调整方法、装置、存储介质以及设备
CN112348937A (zh) * 2019-08-09 2021-02-09 华为技术有限公司 人脸图像处理方法及电子设备
CN110705346B (zh) * 2019-08-22 2022-08-05 杭州小影创新科技股份有限公司 一种大尺度人脸变形方法
CN111507244B (zh) * 2020-04-15 2023-12-08 阳光保险集团股份有限公司 Bmi检测方法、装置以及电子设备
CN111754431B (zh) * 2020-06-17 2023-08-01 北京百度网讯科技有限公司 一种图像区域替换方法、装置、设备及存储介质
CN111768476A (zh) * 2020-07-07 2020-10-13 北京中科深智科技有限公司 一种基于网格变形的表情动画重定向方法及系统
CN112308957B (zh) * 2020-08-14 2022-04-26 浙江大学 一种基于深度学习的最佳胖瘦人脸肖像图像自动生成方法
CN113223188B (zh) * 2021-05-18 2022-05-27 浙江大学 一种视频人脸胖瘦编辑方法
CN113674161A (zh) * 2021-07-01 2021-11-19 清华大学 一种基于深度学习的人脸残缺扫描补全方法、装置

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Large-scale in-vivo Caucasian facial soft tissue thickness database for craniofacial reconstruction;S. De Greef, etal;《Forensic Science International》;20060323;参见第s138页表5 *
一种基于网格参数化的图像适应方法;时健等;《软件学报》;20081231;第19卷;参见第2.1节第1段 *
三维人脸模型的对称与比例几何美化技术研究;廖绮绮;《中国优秀硕士学位论文全文数据库信息科技辑》;20110715(第7期);参见第17页3.2节第2段、第18页第2-4行、第34页3.4节第2段 *
数据配准的颅骨面貌复原方法;税午阳等;《计算机辅助设计与图形学学报》;20110430;第23卷(第4期);参见第608页第1.2节、第610页第5.1节 *

Also Published As

Publication number Publication date
CN103208133A (zh) 2013-07-17

Similar Documents

Publication Publication Date Title
CN103208133B (zh) 一种图像中人脸胖瘦的调整方法
US11302064B2 (en) Method and apparatus for reconstructing three-dimensional model of human body, and storage medium
CN106023288B (zh) 一种基于图像的动态替身构造方法
US7804997B2 (en) Method and system for a three dimensional facial recognition system
CN101751689B (zh) 一种三维人脸重建方法
CN100562895C (zh) 一种基于区域分割和分段学习的三维人脸动画制作的方法
CN109712080A (zh) 图像处理方法、图像处理装置及存储介质
EP3050536B1 (en) System and method for adding surface detail to digital crown models created using statistical techniques
CN106504329B (zh) 一种基于牙体长轴的质点弹簧模型的牙龈变形仿真方法
CN111833236B (zh) 产生模拟用户的三维脸部模型的方法及装置
WO2022143354A1 (zh) 虚拟对象的脸部生成方法、装置、设备和可读存储介质
CN102236913A (zh) 一种体网格变形方法
CN112052843B (zh) 一种从粗到精的人脸关键点检测方法
CN116433812B (zh) 利用2d人脸图片生成虚拟人物的方法和装置
Zhang et al. Anatomy-based face reconstruction for animation using multi-layer deformation
Lan et al. Lessons from the evolution of an anatomical facial muscle model
JP2022505746A (ja) デジタルキャラクタブレンディング及び生成のシステム及び方法
US11645813B2 (en) Techniques for sculpting digital faces based on anatomical modeling
Zhang et al. Constructing a realistic face model of an individual for expression animation
Ma et al. Animating visible speech and facial expressions
CN110163957A (zh) 一种基于唯美人脸程序的表情生成系统
Liu et al. A feature-based approach for individualized human head modeling
CN113554745B (zh) 一种基于图像的三维人脸重建方法
CN106504308A (zh) 基于mpeg‑4标准的人脸三维动画生成方法
KR20060067242A (ko) 해부 데이터를 이용한 얼굴 애니메이션 생성 시스템 및 그방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20171103

Address after: 201105 building, G building, 13 Ming Valley Science Park, 7001 Zhong Chun Road, Shanghai, Minhang District

Patentee after: Shanghai flute Digital Technology Co., Ltd.

Address before: 310027 Hangzhou, Zhejiang Province, Xihu District, Zhejiang Road, No. 38, No.

Patentee before: Zhejiang University

CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: Room 1958, no.639 Qianjiang Road, Shangcheng District, Hangzhou City, Zhejiang Province

Patentee after: Zhejiang Lingdi Digital Technology Co., Ltd

Address before: 201105 building, G building, 13 Ming Valley Science Park, 7001 Zhong Chun Road, Shanghai, Minhang District

Patentee before: SHANGHAI LINCTEX DIGITAL Co.,Ltd.