一种人像发丝流动特效实现方法技术

技术编号:26480161 阅读:41 留言:0更新日期:2020-11-25 19:25
本发明专利技术公开了一种人像发丝流动特效实现方法。它具体包括如下步骤:输入图像S;对图像S进行头发分割,得到头发区域Mask;头发锚点计算,发丝区域轮廓固定锚点集合P,发丝流动流向锚点集合Q;对两组点集P和Q进行Delaunay三角剖分,得到三角形顶点集合M0,该顶点集合作为起始帧或者第0帧头发丝流动特效的变形点集;t帧流向变点计算流线变点集合Q(t),进行Delaunay三角剖分,得到t帧三角形变形点集为M(t);根据M0和M(t),将原图S进行三角形仿射变换,得到对应的变形效果图。本发明专利技术的有益效果是:将静态用户照片自动生成头发区域发丝流动漂浮特效,无须用户或者人工干预,达到智能化处理的目的。

【技术实现步骤摘要】
一种人像发丝流动特效实现方法
本专利技术涉及图像处理相关
,尤其是指一种人像发丝流动特效实现方法。
技术介绍
目前市场上的人像照片特效处理软件中,对于静态人像照片自动生成头发流动特效的方法基本空缺,现有方案基本上依赖用户人工手动辅助实现,如美图秀秀APP,人工辅助的好坏将直接影响发丝流动特效的优劣,同时,过于依赖用户干预,也大大影响了用户体验,不够智能。
技术实现思路
本专利技术是为了克服现有技术中存在上述的不足,提供了一种自动生成发丝流动特效的人像发丝流动特效实现方法。为了实现上述目的,本专利技术采用以下技术方案:一种人像发丝流动特效实现方法,具体包括如下步骤:(1)输入图像S;(2)对图像S进行头发分割,得到头发区域Mask;(3)头发锚点计算,头发锚点包括两部分:发丝区域轮廓固定锚点集合P,发丝流动流向锚点集合Q;(4)Delaunay三角剖分:对两组点集P和Q进行Delaunay三角剖分,得到三角形顶点集合M0,该顶点集合作为起始帧或者第0帧头发丝流动特效的变形点集;(5)t帧流向变点计算流线变点集合Q(t),进行步骤(4)的Delaunay三角剖分,得到t帧三角形变形点集为M(t);(6)发丝流动效果图生成:根据M0和M(t),将原图S进行三角形仿射变换,得到对应的变形效果图。使用基于CNN的分割算法,分割头发区域;使用边缘轮廓信息和人脸扇形扫描法计算发丝流动关键点;使用Delaunay剖分和流向计算等对发丝区域进行动态变形形成动态帧。该方法设计了一种人像照片自动生成发丝流动特效的方法,将静态用户照片自动生成头发区域发丝流动漂浮特效,而无须用户或者人工干预,达到智能化处理的目的。作为优选,在步骤(2)中,具体操作方法为:(21)基于卷积神经网络,构建头发分割网络;(22)使用卷积神经网络,对10000+的头发样本进行分割网络模型训练,输入RGB原图,输出单通道的黑白Mask,其中白色区域表示头发区域,黑色区域表示背景区域,样本有数据标定师标定生成;(23)用训练的模型对图像S进行头发分割,得到头发区域的分割图Mask。作为优选,在步骤(3)中,发丝区域轮廓固定锚点集合P的计算方法如下:(311)循环遍历Mask图中的每个像素X,循环顺序从左到右,从上到下,计算边缘图像,即为图像A;若像素点X周围8邻域像素均为白色像素,X也为白色像素,那么,X为内部点,将X像素值置为黑色0;(312)循环遍历图像A中的每个像素,循环顺序从左到右,从上到下,对于第一个白色点像素,记为X0(i,j),将X0置为黑色0;(313)对于第二个白色像素,即为X1(i,j),将X1存入数组Vector_S;(314)判断X1的8邻域,寻找邻域内白色点像素Xt,将Xt存入数组Vector_S中,将X1位置更新为Xt坐标;(315)循环步骤(314),直到X1的8邻域内无白色像素点,跳出循环,Vector_S即为顺序存储的边缘轮廓点集合;(316)对Vector_S进行下采样,设定采样间隔为N,得到稀疏之后的Vector_S,记作点集合P。作为优选,在步骤(3)中,人脸扇形扫描法计算发丝流动流向锚点集合Q的方法如下:(321)对图像S进行人脸关键点检测,得到人脸中心点坐标O(x,y),人脸关键点使用第三方人脸关键点SDK来获取;(322)以O为圆心,Radius为半径,得到头发估计区域,该区域大概率包含头发和人脸,其中Radius=Max(Width,Height),Width表示图像宽度,Height表示图像高度;(323)以角度D为采样间隔,将头发估计区域圆划分为H个扇形区间,计算如下:H=360/D;(324)以垂直90度方向,从O点正上方开始逆时针方向,依次循环遍历H/2个扇形区间,每个扇形区间计算一个头发流向点q,并将q存入数组Q1中;(325)以垂直90度方向,从O点正上方开始顺时针方向,依次循环遍历H/2个扇形区间,每个扇形区间计算一个头发流向点q,并将q存入数组Q2中;(326)头发区域流向点集合Q即Q1和Q2中所有点,Q1中的点构成一条左边头发的流向曲线,Q2中的点构成一条右边头发的流向曲线,流向曲线点顺序依次为从上到下,即头发丝流动方向。作为优选,在步骤(324)中,计算方法如下:遍历每个扇形区域内的白色像素值,则计算白色像素的质心,质心坐标即为头发流向坐标q,将q依次存入Q1数组中。作为优选,在步骤(325)中,计算方法如下:遍历每个扇形区域内的白色像素值,则计算白色像素的质心,质心坐标即为头发流向坐标q,将q依次存入Q2数组中。作为优选,假设图像中白色像素坐标为(i,j),白色像素个数为num,白色像素质心(mx,my)计算如下:作为优选,在步骤(5)中,假设生成发丝流动特效的目标帧数为T+1,即0-T帧,发丝流动的最大程度为LMAX,则第t帧结果图像对应的发丝流向变点计算如下:(51)循环遍历Q点,假设Q点原始坐标为(Qx,Qy),新的Q点坐标(qx,qy)计算如下:qx=Qx+LMAX×Kqy=Qy+LMAX×K即Q(t)=(qx,qy);(52)对P点集合和新的Q(t)点集合,进行步骤(4)的Delaunay三角剖分,得到新的第t帧图像对应的三角形变形点集为M(t)。作为优选,在步骤(6)中,具体为:(61)根据M0和M(t),将原图S进行三角形仿射变换,得到对应的变形效果图,即为第t帧发丝流动效果图;三角形仿射变换公式如下:其中,(x,y)为原始坐标,(x',y')为变换后坐标,m为变换系数;(62)依次计算T帧效果图,形成最终动态发丝流动效果。本专利技术的有益效果是:自动生成发丝流动特效,将静态用户照片自动生成头发区域发丝流动漂浮特效,而无须用户或者人工干预,达到智能化处理的目的。附图说明图1是本专利技术的方法流程图。具体实施方式下面结合附图和具体实施方式对本专利技术做进一步的描述。如图1所述的实施例中,一种人像发丝流动特效实现方法,具体包括如下步骤:(1)输入图像S;(2)对图像S进行头发分割,得到头发区域Mask;具体操作方法为:(21)基于卷积神经网络,比如Unet/PSPnet/BiSeNet等,构建头发分割网络,以Unet为例;(22)使用卷积神经Unet网络,对10000+的头发样本进行分割网络模型训练,输入RGB原图,输出单通道的黑白Mask,其中白色区域表示头发区域,黑色区域表示背景区域,样本有数据标定师标定生成;(23)用训练的模型对图像S进行头发分割,得到头发区域的分割图Mask。(3)头发锚点计算,头发锚点包括两部分:发丝区域轮廓固定锚点集合P,发丝流本文档来自技高网...

【技术保护点】
1.一种人像发丝流动特效实现方法,其特征是,具体包括如下步骤:/n(1)输入图像S;/n(2)对图像S进行头发分割,得到头发区域Mask;/n(3)头发锚点计算,头发锚点包括两部分:发丝区域轮廓固定锚点集合P,发丝流动流向锚点集合Q;/n(4)Delaunay三角剖分:对两组点集P和Q进行Delaunay三角剖分,得到三角形顶点集合M0,该顶点集合作为起始帧或者第0帧头发丝流动特效的变形点集;/n(5)t帧流向变点计算流线变点集合Q(t),进行步骤(4)的Delaunay三角剖分,得到t帧三角形变形点集为M(t);/n(6)发丝流动效果图生成:根据M0和M(t),将原图S进行三角形仿射变换,得到对应的变形效果图。/n

【技术特征摘要】
1.一种人像发丝流动特效实现方法,其特征是,具体包括如下步骤:
(1)输入图像S;
(2)对图像S进行头发分割,得到头发区域Mask;
(3)头发锚点计算,头发锚点包括两部分:发丝区域轮廓固定锚点集合P,发丝流动流向锚点集合Q;
(4)Delaunay三角剖分:对两组点集P和Q进行Delaunay三角剖分,得到三角形顶点集合M0,该顶点集合作为起始帧或者第0帧头发丝流动特效的变形点集;
(5)t帧流向变点计算流线变点集合Q(t),进行步骤(4)的Delaunay三角剖分,得到t帧三角形变形点集为M(t);
(6)发丝流动效果图生成:根据M0和M(t),将原图S进行三角形仿射变换,得到对应的变形效果图。


2.根据权利要求1所述的一种人像发丝流动特效实现方法,其特征是,在步骤(2)中,具体操作方法为:
(21)基于卷积神经网络,构建头发分割网络;
(22)使用卷积神经网络,对10000+的头发样本进行分割网络模型训练,输入RGB原图,输出单通道的黑白Mask,其中白色区域表示头发区域,黑色区域表示背景区域,样本有数据标定师标定生成;
(23)用训练的模型对图像S进行头发分割,得到头发区域的分割图Mask。


3.根据权利要求2所述的一种人像发丝流动特效实现方法,其特征是,在步骤(3)中,发丝区域轮廓固定锚点集合P的计算方法如下:
(311)循环遍历Mask图中的每个像素X,循环顺序从左到右,从上到下,计算边缘图像,即为图像A;若像素点X周围8邻域像素均为白色像素,X也为白色像素,那么,X为内部点,将X像素值置为黑色0;
(312)循环遍历图像A中的每个像素,循环顺序从左到右,从上到下,对于第一个白色点像素,记为X0(i,j),将X0置为黑色0;
(313)对于第二个白色像素,即为X1(i,j),将X1存入数组Vector_S;
(314)判断X1的8邻域,寻找邻域内白色点像素Xt,将Xt存入数组Vector_S中,将X1位置更新为Xt坐标;
(315)循环步骤(314),直到X1的8邻域内无白色像素点,跳出循环,Vector_S即为顺序存储的边缘轮廓点集合;
(316)对Vector_S进行下采样,设定采样间隔为N,得到稀疏之后的Vector_S,记作点集合P。


4.根据权利要求3所述的一种人像发丝流动特效实现方法,其特征是,在步骤(3)中,人脸扇形扫描法计算发丝流动流向锚点集合Q的方法如下:
(321)对图像S进行人脸关键点检测,得到人脸中心点坐标O(x,y),人脸关键点使用第三方人脸关键点SDK来获取;
(322)以O为圆心,Radius为半径,得到头发估计区域,该区域大概...

【专利技术属性】
技术研发人员:胡耀武樊伟富李云夕熊永春
申请(专利权)人:杭州趣维科技有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1