一种人脸卡通画自动绘制方法与流程

文档序号:18889516发布日期:2019-10-15 21:32阅读:429来源:国知局
一种人脸卡通画自动绘制方法与流程

本发明属于图像处理技术领域,尤其是涉及一种人脸卡通画自动绘制方法。



背景技术:

人脸卡通画目前已被大众广泛应用于互联网社交中,卡通画的绘制通常需要具有专业技能的设计师花费一定的时间完成,计算机视觉和计算机图形学等计算机图像处理技术的发展使得通过计算机软件实现人脸卡通画的生成成为了可能。

目前业内的人脸卡通画生成技术主要分为两种:1)五官相似性匹配技术。该方法通过五官定位技术提取目标用户的五官定位和图像信息,基于五官的点位特征或图像特征,和设计师提前准备好的五官素材库做相似性匹配,得到最相似的五官,最终通过素材五官重组生成人脸卡通画;该技术需要提供十分庞大的五官素材库,设计师的工作量巨大,且即使拥有较为完善的素材库,素材库仍无法体现每个人五官的细节特征和差异,因此该方式生成的人脸卡通画普遍存在和真人照片相似性较低的问题。

2)人脸融合技术。该技术思路是将目标用户图像和设计师绘制的卡通模版图通过人脸融合技术叠加生成人脸卡通画。人脸融合技术所使用的人脸对齐、三角剖分等技术,需要对目标人脸和模版人脸进行图像层面上的仿射变换,因此当将人脸融合技术用于人脸卡通画这一场景时,对卡通模版的风格要求十分写实,即会降低人脸卡通画本身有趣、可爱的特性。此外,人脸融合技术本质上仍是图像像素值的alpha融合,因此对用户因拍照角度、所处环境、眼睛和刘海遮挡等因素造成的脸部阴影问题的解决显得十分困难,对卡通模板的要求较高。



技术实现要素:

为了克服现有技术的不足,本发明提供一种与真人相似度高,同时卡通感较强,无需建立数据库,略去数据库匹配过程,工作量小,图像可自动生成,且图像生成速度快的人脸卡通画自动绘制方法。

本发明解决其技术问题所采用的技术方案是:一种人脸卡通画自动绘制方法,包括以下:

根据多个特征基点获取由多个区域组成的人脸图像,所述区域包括眼睛区域、眉毛区域、鼻子区域、嘴巴区域、发型区域及脸型区域;

以眼睛区域、眉毛区域、鼻子区域、嘴巴区域、发型区域及脸型区域为独立模块分别进行绘制;

眼睛区域、眉毛区域、嘴巴区域、发型区域和脸型区域中的一个或多个区域分别由多个图层融合形成;

将各自分别完成绘制的眼睛区域、眉毛区域、鼻子区域、嘴巴区域、发型区域及脸型区域与卡通背景模板融合。

作为优选,所述眼睛区域划分为眼影图层、眼珠图层、眼白图层、过渡线图层、前景线图层及双眼皮图层。

作为优选,所述眼影图层、眼珠图层、眼白图层、过渡线图层、前景线图层、双眼皮图层按顺序依次融合。

作为优选,所述双眼皮图层的自动绘制方法包括以下步骤:

a)通过图像边缘检测技术判断人脸图像是否存在双眼皮;

b)将通过多个特征基点获取的眼睛上轮廓线平移后获取双眼皮图层的第一基准线;

c)定义双眼皮图层各处宽度为h1,根据双眼皮图层最宽处和特征基点的数量获取相邻特征基点的距离;

e)取相邻的任意三个特征基点,作经过所述三个特征基点的圆a1;

f)以三个特征基点的中间点为切点,作圆a1的切线;

g)所述切点沿该切线的垂直方向分别向两侧移动h1/2,得到上移点b和下移点c;

h)以上移点b、下移点c和第一基准线的两个端点依次相连,将内部填充,即得。

作为优选,所述步骤g)中,以圆a1为界限,定位位于圆a1内的为下移点,位于圆a1外的为上移点。

作为优选,所述前景线图层包括上轮廓前景线图层和下轮廓前景线图层,其自动绘制方法包括以下步骤:

1)通过多个特征基点获取上轮廓前景线图层的第二基准线;

2)定义上轮廓前景线图层各处宽度为h2,根据上轮廓前景线图层最宽处和特征基点的数量获取相邻特征基点的距离;

3)取相邻的任意三个特征基点,作经过所述三个特征基点的圆a2;

4)以三个特征基点的中间点为切点,作圆a2的切线;

5)所述切点沿该切线的垂直方向分别向两侧移动h2/2,得到上移点d和下移点e;

6)以上移点d、下移点e和第二基准线的两个端点依次相连,将内部填充,得到上轮廓前景线图层的第一部分;

7)取上轮廓前景线图层第一部分的最高点附近的x个点,其中x≥4;

8)以x个点、y个自由度拟合一个多项式,根据多项式确定多个固定点;

9)将第一部分靠近眼尾的端点a1平移获取端点a2;

10)将第一部分的边界和多个固定点、端点a2围设形成的区域进行填充,即得上轮廓前景线图层;

11)将固定的下轮廓前景线切片仿射变换得到下轮廓前景线图层;

12)将上轮廓前景线图层和下轮廓前景线图层融合,即得。

作为优选,所述过渡线图层包括上过渡线图层和下过渡线图层,所述过渡线图层的自动绘制方法包括以下步骤:

i.以一定厚度描绘通过多个特征基点获取的眼睛上轮廓线;

ii.利用高斯模糊眼睛上轮廓线得到上过渡线图层;

iii.以一定厚度描绘通过多个特征基点获取的眼睛下轮廓线的部分;

iv.利用高斯模糊眼睛下轮廓线的部分得到下过渡线图层;

v.将上过渡线图层和下过渡线图层融合,即得过渡线图层。

作为优选,所述眼影图层的自动绘制方法包括以下:将通过多个特征基点获取的眼睛轮廓线中心放大n倍,填充该放大后的区域,将该区域进行高斯模糊处理,处理完成后该区域整体平移,再将该区域靠近内眼角的端点与眼睛轮廓线的内眼角重合。

作为优选,所述眉毛区域划分为眉形图层和眉弓图层;利用渐变色切片根据多个特征基点构造roi区域,获取眉形图层,利用固定的眉弓形状仿射变换获取眉弓图层,将眉形图层和眉弓图层融合。

作为优选,所述嘴巴区域划分为唇形图层、中间唇线图层、唇角图层和下唇的高光图层;利用渐变色切片根据多个特征基点构造roi区域,获取唇形图层;通过多个特征基点获取中间唇线图层;分别截取唇线两端的第一变换部分和第二变换部分,根据唇线端部的斜率计算旋转角度α,以唇线的端点为基点,分别将第一变换部分和第二变换部分旋转变换α角度,获取唇角图层;将唇形图层、唇线图层、唇角图层和高光图层按顺序依次融合。

作为优选,所述脸型区域的自动绘制方法包括以下步骤:

s1,将通过多个特征基点获取的脸型缩放以适应卡通背景模板;

s2,将脸型中心分割后获取较瘦的部分作对称处理;

s3,在特征基点的基础上,通过特征基点的平移对脸型的瑕疵进行修改;

s4,利用优化后的特征基点构造roi区域;

s5,将上述roi区域与固定的头型进行融合。

作为优选,所述发型区域划分为前发图层、后发图层和刘海图层,所述前发图层和后发图层均包括直发属性、大卷发属性、小卷发属性、长发属性和短发属性,所述刘海图层包括空气刘海属性、斜刘海属性和齐刘海属性,针对上述多种属性分别构建多个深度学习模型,确定属性后将前发图层、后发图层和刘海图层融合。

本发明提出一种基于人脸五官定位的卡通画自动绘制思路,利用编程语言层面的画布工具库和计算机视觉库,基于face++提供的人脸定位点对五官进行绘制,而对于难度较大的发型部分,采用深度学习技术先对目标用户发型先进行细分类,再以一定的相似度匹配技术从已经准备好的发型库中提取相似的发型。

本发明的人脸卡通画生成思路从根本上解决了五官相似性匹配技术上的素材库难以补全的问题,同时也避免了人脸融合技术难以解决光照和遮挡等带来融合图像质量较差,且无法生成具有较强卡通感图像的问题。

本发明的有益效果是:1)对设计师的依赖小,不需要数据库,没有匹配过程,工作量相对较少,在保证真实度的同时,卡通感觉较强;2)依靠代码或设计好的计算方法做出真实细腻的卡通画,效果可控,可以做到统一性;3)不受环境因素的限制,光照和异物遮挡都不会影响最终的成品效果。

附图说明

图1为本发明眼睛区域的绘制效果图。

图2为本发明双眼皮图层、前景线图层、眼影图层、过渡线图层、眼珠图层和眼白图层的绘制效果图。

图3为双眼皮图层的绘制步骤效果图。

图4为本发明嘴巴区域的绘制效果图。

图5为本发明唇形图层、中间唇线图层、唇角图层和下唇的高光图层的绘制效果图。

图6为本发明上轮廓前景线图层的绘制过程示意图。

图7为本发明发型区域的绘制过程简示图。

图8为本发明脸型区域校正前的脸型示意图。

图9为本发明脸型区域校正后的脸型示意图。

具体实施方式

为了使本技术领域的人员更好的理解本发明方案,下面将结合本发明实施例中的附图,对发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

一种人脸卡通画自动绘制方法,包括以下步骤:

基于face++技术进行人脸识别,根据多个特征基点获取真实的人脸图像,人脸图像包括多个区域,具体的,包括眼睛区域、眉毛区域、鼻子区域、嘴巴区域、发型区域及脸型区域;

以眼睛区域为独立模块,对其单独进行绘制,将其划分为多个图层,单个图层分别绘制获取后,多个图层按顺序依次alpha融合,完成眼睛区域的绘制;

以眉毛区域为独立模块,对其单独进行绘制,将其划分为眉形图层和眉弓图层,单个图层分别绘制获取后,两个图层alpha融合,完成眉毛区域的绘制;

以鼻子区域为独立模块,对其单独进行绘制,其利用固定的鼻子形状,从构建的深度学习模型数据库内获取;

以嘴巴区域为独立模块,对其单独进行绘制,将其划分为多个图层,单个图层分别绘制获取后,多个图层alpha融合,完成嘴巴区域的绘制;

以发型区域为独立模块,对其单独进行绘制,将其划分为多个图层,单个图层分别绘制获取后,多个图层alpha融合,完成发型区域的绘制;

以脸型区域为独立模块,对其单独进行绘制;

将各自分别完成绘制的眼睛区域、眉毛区域、鼻子区域、嘴巴区域、发型区域及脸型区域与卡通背景模板融合,得到根据人脸图像绘制出的卡通形象。

接下来详细描述每个区域的具体绘制过程。

眼睛区域包括按顺序依次融合的眼影图层13、眼珠图层16、眼白图层15、过渡线图层14、前景线图层及双眼皮图层11,前景线图层包括上轮廓前景线图层121和下轮廓前景线图层122,过渡线图层包括上过渡线图层和下过渡线图层。

所述眼影图层的自动绘制方法包括以下:基于face++技术,将根据多个特征基点获取的眼睛轮廓线中心放大n倍,在本实施例中,放大1.5倍,用粉色等合适的颜色填充上述放大区域,再将其进行高斯模糊处理,完成处理后,将该放大区域整体平移,如果是左眼就向靠近左耳的方向平移,如果是右眼就向靠近右耳的方向平移,再将放大区域靠近内眼角的端点与眼睛轮廓线的内眼角重合,即得眼影图层。

所述眼珠图层和眼白图层的自动绘制方法包括以下:对眼珠和眼白分别根据多个特征基点利用mask掩膜方法构造roi区域,完成后将眼白图层覆盖在眼珠图层上,对眼珠图层起到修饰作用。

所述过渡线图层的自动绘制方法包括以下:

i.将根据多个特征基点获取的眼睛上轮廓线描绘至一定的厚度;

ii.利用高斯模糊技术将加厚的眼睛上轮廓线进行模糊处理,得到上过渡线图层;

iii.根据多个特征基点获取眼睛下轮廓线,截取眼睛下轮廓线靠近外眼角的大部分,将其描绘至一定的厚度,如3像素值的厚度;

iv.利用高斯模糊技术将加厚的眼睛下轮廓线部分进行模糊处理,得到下过渡线图层;

v.将上过渡线图层和下过渡线图层进行alpha融合,即得过渡线图层。

所述前景线图层的自动绘制方法包括以下:

1)通过多个特征基点获取上轮廓前景线图层的第二基准线;

2)定义上轮廓前景线图层各处宽度为h2(h2是一个变数),根据上轮廓前景线图层最宽处和特征基点的数量获取相邻特征基点的距离,具体的,如上轮廓前景线图层最宽处为10个像素,特征基点的数量为10个,则10/10/2=0.5,也就是说相邻特征基点的距离为0.5个像素;

4)除去第二基准线的两端端点,从左向右或自右向左或从中心向两边,取相邻的任意三个特征基点为一组,作出经过上述一组三个特征基点的圆形,定义其为圆a2;

5)以上述一组三个特征基点的中间一点为切点,作出圆a2的切线;

6)将切点沿该切线的垂直方向分别向两侧移动h2/2,分别得到上移点d和下移点e;

7)利用上述方法将第二基准线上的多组三个特征基点分别进行作圆形、绘制切线、对称平移的动作,得到多个上移点d阵列,和多个下移点e阵列;对于上移点d阵列和下移点e阵列的判断,可以以此为标准,即位于圆a2内的为下移点e,位于圆a2外部的为上移点d;

8)将上移点d阵列、下移点e阵列、第二基准线的两端端点依次连接,再将连接组成的区域内部进行填充,得到上轮廓前景线图层的第一部分part1;

9)取上轮廓前景线图层第一部分part1的最高点附近的x个点,其中x≥4,于本实施例中,取五个点;

10)以x=5个点,y=3个自由度,拟合一个自由度为3的多项式,根据多项式确定多个固定点;

11)将上轮廓前景线图层第一部分part1靠近眼尾的端点a1平移大约6个像素获取端点a2,如果是左眼就向靠近左耳的方向平移6个像素,如果是右眼就向靠近右耳的方向平移6个像素;当然这一步也可以在确定多个固定点步骤之前进行;

12)将上轮廓前景线图层第一部分part1的上边界和多个固定点、端点a2和端点a1之间的连线围设形成的区域进行填充,即得完整的上轮廓前景线图层;

13)将固定的下轮廓前景线切片仿射变换得到下轮廓前景线图层,此处多个图层覆盖时,眼白图层会对下轮廓前景线图层起到一定的覆盖修饰作用;

14)将上轮廓前景线图层和下轮廓前景线图层融合,即得前景线图层。

所述双眼皮图层的自动绘制方法包括以下:

a)通过图像边缘检测技术判断人脸图像是否存在双眼皮,如果存在双眼皮,进行以下步骤,如果不存在就略过此图层的绘制;

b)将根据多个特征基点获取的眼睛上轮廓线平移后获取双眼皮图层的第一基准线,如果是左眼就向上平移、向靠近左耳的方向平移,如果是右眼就向上平移、向靠近右耳的方向平移,如图3所示,右眼部分向上平移4个像素,向右平移2个像素;

c)获取第一基准线的特征基点的数量;

d)定义双眼皮图层各处宽度为h1(h1是一个变数),根据双眼皮图层最宽处和特征基点的数量获取相邻特征基点的距离,具体的,如双眼皮图层最宽处为10个像素,特征基点的数量为10个,则10/10/2=0.5,也就是说相邻特征基点的距离为0.5个像素;

e)除去第一基准线的两端端点,从左向右或自右向左或从中心向两边,取相邻的任意三个特征基点为一组,作出经过上述一组三个特征基点的圆形,定义其为圆a1;

f)以上述一组三个特征基点的中间一点为切点,作出圆a1的切线;

g)将切点沿该切线的垂直方向分别向两侧移动h1/2,分别得到上移点b和下移点c;

h)利用上述方法将第一基准线上的多组三个特征基点分别进行作圆形、绘制切线、对称平移的动作,得到多个上移点b阵列,和多个下移点c阵列;对于上移点b阵列和下移点c阵列的判断,可以以此为标准,即位于圆a1内的为下移点c,位于圆a1外部的为上移点b;

i)将上移点b阵列、下移点c阵列、第一基准线的两端端点依次连接,再将连接组成的区域内部进行填充,即得双眼皮图层。

眉毛区域包括alpha融合的眉形图层和眉弓图层。

所述眉形图层利用渐变色切片根据多个特征基点利用mask掩膜方法构造roi区域获取;

所述眉弓图层利用固定的眉弓形状仿射变换获取眉弓图层;

将眉形图层和眉弓图层alpha融合。

嘴巴区域包括相互alpha融合的唇形图层21、中间唇线图层22、唇角图层23和下唇的高光图层24。唇形图层利用渐变色切片根据多个特征基点利用mask掩膜方法构造roi区域获取。中间唇线图层通过多个特征基点获取。唇角图层的自动绘制方法包括以下:分别截取中间唇线两端的第一变换部分和第二变换部分,根据唇形图层端部的斜率计算旋转角度α,将第一变换部分以中间唇线的一端端点为基点旋转变换α角度,将第二变换部分以中间唇线的另一端端点为基点旋转变换α角度,为了达到更加贴合的效果,再将第一变换部分旋转形成的区域块和第二变换部分旋转形成的区域块分别向相互靠近的方向移动大约3个像素,即得唇角图层;当然上述左侧唇角也可以通过完成绘制的右侧唇角对称获得。下唇的高光图层利用渐变色切片根据多个特征基点利用mask掩膜方法构造roi区域获取。将分别完成绘制的唇形图层、唇线图层、唇角图层和高光图层按顺序依次融合得到嘴巴区域。

发型区域包括按顺序依次alpha融合的后发图层、前发图层和刘海图层。定义发长(长、中、bob、短),发质(大卷发、小卷发),刘海(空气刘海、斜刘海、齐刘海)三种属性来衡量发型区域的特征,发长和发质属性由前发图层和后发图层体现,刘海属性由刘海图层体现,针对发长和发质属性,分别构建一个深度学习模型,针对较为细腻的刘海属性,需构建多个深度学习模型。针对刘海属性,首先通过图像边缘检测技术判断人脸图像是否存在刘海,如果存在刘海,构建深度学习模型,则需匹配刘海图层。对于任意目标用户的人脸图像,都可通过已经训练完成的深度学习模型确定该用户发型的三种属性,再从发型素材库中匹配出对应的后发图层、前发图层和刘海图层,通过alpha融合技术得到最终的完成发型。如图6展示了“长发-小卷发-空气刘海”对应的发型素材和最终的发型合成效果。

所述脸型区域的自动绘制方法包括以下:

s1,将根据多个特征基点获取的脸型缩放以适应大小固定的卡通背景模板;

上述步骤s1的具体方法是,将获取的脸型特征基点映射到统一维度下的相似三角形变换算法,由于不同用户存在不同的拍照角度和习惯,使得不同用户的自拍照并不在一个规范的维度,即有的自拍照脸部过大或过小,或有一定的角度倾斜,如图7所示,某个用户自拍照通过face++定位点识别的脸型部分定位点连线,a、b、c为其中的三个定点,其中点a和点b为脸型定位点端点,a、b、c分别为bc、ac、ab的距离。图8为通过脸型校正算法后的映射到统一规范维度下的脸型,该算法的具体步骤为:

1、由余弦定理可知cosα=(b2+c2-a2)/2bc,因为三角形abc相似于三角形a'b'c',因此可知α=α',且c/c'=b/b',由于a'和b'都是预设的已知定点,进而可得a'和b'的距离b'

2、依次可得dx=b'*cosα,dy2=b'2-dx2,最终可得到c点映射到规范尺寸下的c'坐标,c'的横坐标为a'横坐标加上dx,c'的纵坐标为a'点纵坐标加上dy;

3、根据步骤1和步骤2,即可得到其他定位几点的规范映射,进而获得标准化的脸型定位点。

s2,将脸型沿中心竖直分割后获取较瘦的部分作对称处理,得到完整的脸型;

s3,在特征基点的基础上,通过特征基点的平移对脸型的瑕疵进行修改,上述瑕疵可以是下巴过胖或过尖,下巴特征丢失,脸过胖等,如脸型过胖,则采用上述双眼皮绘制方法对脸型做瘦脸操作,如对称出现下巴特征丢失,则重新定位脸型中心,重新做对称操作;

s4,利用优化后的特征基点利用mask掩膜方法构造roi区域;

s5,将上述roi区域与固定的头型进行融合,即得脸型区域。

还可以包括s6,在roi区域内绘制脸部两侧的阴影。

还可以包括眼镜图层的自动绘制,首先通过图像边缘检测技术判断人脸图像是否存在眼镜,如果存在眼镜,进行以下步骤,如果不存在就略过此图层的绘制;眼镜图层包括方形属性、圆形属性、半框属性和全框属性。

上述具体实施方式用来解释说明本发明,而不是对本发明进行限制,在本发明的精神和权利要求的保护范围内,对本发明作出的任何修改和改变,都落入本发明的保护范围。

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