本发明涉及一种基于部件的人脸编辑与美化方法,属于计算机视觉技术和多媒体技术领域。
背景技术:
近年来,人们越来越重视容貌的美丑,整形美容学科迅速发展。但人脸整容存在很大的风险性,医生不知整容后的结果到底是什么样的,而通过对人脸进行虚拟的不同程度的部件整形,可以解决上述问题。
在人脸图像变形方面,目前比较成熟的是人脸图像网格方法,这种方法包括三角剖分法。三角剖分方法的思路是在源图像和目标图像上标注若干对应的特征点,按照特征点把整张图像分割成若干块三角形区域。为了避免剖分出形状不优的三角形,Delaunay三角剖分通常为人们所使用。然而与部件渐变最为密切相关的是人脸局部变形的工作,这种工作前人做的并不多。最为相关的是陈粟等人的工作。在他们的工作里,首先在局部变形区域内确定特征点和影响半径,然后计算出区域像素点几何位置的变化,最后使用双线性插值原理进行灰度赋值。
进一步,利用人脸变形的思想来实现人脸的美化,最具代表性的是Zhao提出的对人脸图像进行轮廓变形处理的方法。该方法利用薄板样条和移动最小二乘算法对人脸图像进行轮廓的变形处理。
技术实现要素:
本发明所要解决的技术问题是:提供一种基于部件的人脸编辑与美化方法,计算复杂度低,占用空间小,美化效果显著且自然。
本发明为解决上述技术问题采用以下技术方案:
步骤1,选取待部件渐变的源人脸与拥有目标部件(例如嘴唇)的目标人脸;
步骤2,重新调整目标人脸图片大小,使两张人脸图片大小相同,并根据待渐变的部件(例如嘴唇),平移目标人脸使其相应部件与源人脸待渐变部件的位置大致相同;
步骤3,标记源人脸的部件特征点,包括嘴唇,鼻子,下巴,两个眼睛,另外也对两个眉毛进行标记;
步骤4,标记目标人脸的目标部件(例如嘴唇),并将步骤3得到的源人脸部件特征点中不需要渐变的全部部件特征点坐标赋值给目标人脸相应部件;
步骤5,将步骤3得到的源人脸全部部件的特征点坐标与步骤4得到的目标人脸全部部件的特征点坐标加权平均得到部件变换图全部部件的特征点坐标,权重不同将使得变换图不同。
步骤6,根据全部部件的特征点分别对源人脸、目标人脸及步骤5得到的部件变换图进行三角剖分;
步骤7,计算步骤6得到的三角剖分后的变换图中每个像素点与三角形(像素点在三角形内部,包括边上)三个顶点间的线性关系,并分别计算源人脸、目标人脸中所有像素点在部件变换图上对应的位置后分别对源人脸与目标人脸进行双线性插值,得到源人脸变形图与目标人脸变形图;
步骤8,根据待渐变的部件(例如嘴唇),对步骤7得到的源人脸变形图与目标人脸变形图进行组合得到部件(例如嘴唇)变换后的人脸。
优选的,步骤2所述平移目标人脸所遵循的准则为:对于某一部件,在源人脸与目标人脸中选取某个点,平移目标人脸使得这两个点位置相同。
优选的,步骤3所述利用监督下降的方法(SDM)标记特征点,包括:嘴唇(12个),鼻子(17个),下巴(7个),眼睛(32个),眉毛(10个)。
优选的,步骤6所述三角剖分利用Delaunay方法。
优选的,步骤8所述源人脸变形图与目标人脸变形图组合的方法为:对于待渐变部件(例如嘴唇),将源人脸与目标人脸相应部件(例如嘴唇)中的所有像素的像素值以步骤3中的权重进行加权相加后赋值给部件变换图,同时将源人脸中待渐变部件以外的所有像素的像素值赋值给部件变换图。
有益效果
1、本发明基于部件的人脸编辑与美化方法,针对人脸单独的部件(如嘴唇)进行渐变的过程,保留了源人脸的原有的大部分特点,在整容行业有可观的应用前景。
2、本发明基于部件的人脸编辑与美化方法,根据待渐变的部件(例如嘴唇),平移目标人脸使其相应部件与源人脸待渐变部件的位置大致相同,提高了变换后部件位置与源人脸其它部件间的协调性。
3、本发明基于部件的人脸编辑与美化方法,在部件渐变过程中,只是简单地改变源人脸中待渐变部件特征点位置,保持其它部件特征点位置不变,降低了人脸局部变形算法的复杂度,节省了时间。
附图说明
图1是本发明基于部件的人脸编辑与美化方法的整体流程图。
具体实施方式
以下结合附图详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
如图1所示,为本发明基于部件的人脸编辑与美化方法的整体流程图,包括以下步骤:
步骤1、人脸选取
选取待部件渐变的源人脸与拥有目标部件(例如嘴唇)的目标人脸,分别记为A,B。
步骤2、目标人脸预处理
重新调整目标人脸图像B的大小,使A,B两张图像大小相同,并根据待渐变的部件(例如嘴唇),平移目标人脸使其相应部件与源人脸待渐变部件的位置大致相同。
步骤3、源人脸部件特征点标记
利用SDM方法标记源人脸A的部件特征点,包括嘴唇、鼻子、下巴、两个眼睛和两个眉毛,它们的坐标分别记为Az,Ab,Al,Ay,Am,并记A全部部件的特征点坐标为At(At=Az+Ab+Al+Ay+Am)。
步骤4、目标人脸部件特征点赋值及标记
以嘴唇渐变为例,利用SDM方法标记目标人脸B的嘴唇,并将步骤3得到的源人脸部件特征点中除嘴唇外的全部部件特征点坐标赋值给目标人脸相应部件,具体方法如下式:
Bt=Bz+At-Az (1)
其中,Bz表示标记的目标人脸嘴唇特征点坐标;Bt表示目标人脸全部部件的特征点坐标。
步骤5、变换图部件特征点计算
将步骤3得到的源人脸全部部件的特征点坐标At与步骤4得到的目标人脸全部的部件特征点坐标Bt加权相加得到部件变换图(记为C)全部部件的特征点坐标,具体方法如下式:
Ct=(1-α)At+αBt (2)
其中,Ct表示变换图全部部件的特征点坐标;α∈[0,1],表示目标人脸B的部件特征点坐标对变换图C部件特征点坐标的贡献率。
步骤6、三角剖分
根据全部部件的特征点分别对源人脸、目标人脸及步骤5得到的部件变换图进行基于Delaunay方法的三角剖分。
步骤7、线性关系计算及源人脸与目标人脸的变形
计算步骤6得到的三角剖分后的变换图C中每个像素点与三角形(像素点在三角形内部,包括边上)三个顶点间的线性关系,并计算源人脸与目标人脸变形后的结果图,具体方法如下:
设三角形P是源人脸A上的一个三角形,其三个顶点分别为P1,P2,P3;三角形Q与P对应的目标人脸B上的三角形;三角形M是P到Q变换过程中变换图C上的三角形,其对应的三个顶点分别为M1,M2,M3。对于三角形M内(或M上)的一点Mκ(表示第κ个像素点),将这点与三角形三个顶点表示成线性关系:
Mκ1=ωκ1*M11+ωκ2*M21+ωκ3*M31
Mκ2=ωκ1*M12+ωκ2*M22+ωκ3*M32 (3)
其中,Mκ1,Mκ2表示第κ个像素点的横坐标与纵坐标值;M11,M21,M31表示三个顶点M1,M2,M3的横坐标值;M12,M22,M32表示三个顶点M1,M2,M3的纵坐标值;ωκ1,ωκ2,ωκ3是三项权重系数,它们可以通过下式求解:
ωκ3=1-ωκ1-ωκ2 (4)
设源图A中坐标与C中的Mκ像素点坐标相等的点为Pκ,则其变换后的坐标为:
P'κ1=ωκ1*P11+ωκ2*P21+ωκ3*P31
P'κ2=ωκ1*P12+ωκ2*P22+ωκ3*P32 (5)
其中,P11,P21,P31表示三个顶点P1,P2,P3的横坐标值;P12,P22,P32表示三个顶点P1,P2,P3的纵坐标值;P'κ1,P'κ2表示像素点Pκ变换后的点P'κ的横坐标值和纵坐标值。
按照式(4)(5),可求得源图A与目标图B的所有像素点变换后的坐标,然后分别利用双线性插值,求得A变形后的结果图A',B变形后的结果图B'。
步骤8、部件变换图的生成
根据待渐变的部件(例如嘴唇),对步骤7得到的源人脸变形图A'与目标人脸变形图B'进行组合得到部件(例如嘴唇)变换后的人脸C,具体方法如下式;
C=A'em+(1-α)A'm+αB'm (6)
其中,α来源于步骤5;A'em表示将步骤7得到的人脸变形图A'嘴唇部分赋值为0其余部分不变的图;A'm表示将步骤7得到的人脸变形图A'嘴唇以外的部分赋值为0而嘴唇部分不变的图;B'm表示将步骤7得到的目标人脸变形图B'嘴唇以外的部分赋值为0而嘴唇部分不变的图。
以上实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围之内。