一种基于深度学习的头发分割方法与流程

文档序号:11201304阅读:2348来源:国知局
一种基于深度学习的头发分割方法与流程

本发明属于图像处理技术领域,特别是涉及一种基于深度学习的头发分割方法。



背景技术:

图像分割一直是计算机视觉领域比较重要的一个分支,现如今应用最广的是一些交互式的分割方法如grabcut等基于图的分割方法,这些方法需要手动指定一部分前背景种子点,而手机设备上要有好的用户体验的话要求尽量自动化;grabcut等图割方法仅仅使用颜色信息以及空间信息进行分割,缺少高层语义上的分割与理解。

头发分割属于图像分割中的一种情况,发型的复杂性、颜色的多变、纹理的不确定性、亮度的不确定性等使得传统的图割的方法并不能很好地分割头发。而现有的头发分割方法使头发分割的效果差,无法明确的分割出头发区域;无法实现自动分割,需要人工干预;无法对任意分辨率的图像进行头发分割;占用内存大,运行速度慢。



技术实现要素:

为了解决上述问题,本发明提出了一种基于深度学习的头发分割方法,能够有效避免传统分割方法的不足,达到较好的头发分割效果,不需要人工干预,实现自动分割;能够对任意分辨率的图像进行分割;占用内存小,运行速度快。

为达到上述目的,本发明采用的技术方案是:一种基于深度学习的头发分割方法,包括步骤:

s100获取原始图像;

s200对原始图像进行人脸检测,得到人脸关键点;

s300利用人脸关键点生成人脸关键部位描述图;

s400将原始图像和人脸关键部位描述图合并,获得4通道图像;

s500将所述4通道图像输入卷积神经网络模型,通过卷积神经网络模型推断出每个像素点是头发的概率,从而获得头发概率图;

s600利用头发概率图对原始图像进行头发分割。

进一步的是,步骤s300中,利用人脸关键点建立对于人脸器官以及轮廓的二值蒙版图,并由所述二值蒙版图作为人脸关键部位描述图。

进一步的是,在所述卷积神经网络模型的训练过程中,通过人工标定多组人脸图片作为训练样本训练卷积神经网络模型。

进一步的是,所述卷积神经网络模型包括卷积层、maxpooling层、unpooling层、add层和softmax层;模型简单、占用空间小且运算速度快。

进一步的是,在所述卷积神经网络模型的卷积层引入relu激活函数,加快计算速度。

进一步的是,利用头发概率图,通过最小化能量函数对原始图像进行头发分割,最小化能量函数公式为:

其中,yi为推断的头发概率图,为卷积神经网络模型中标定的头发概率图,m为总的训练样本数。

采用本技术方案的有益效果:

通过人脸关键部位描述图作为卷积神经网络模型,增强卷积神经网络模型对人头部区域的理解能力,从而能够精确的分割出头发区域;

利用卷积神经网络模型,能够加快计算速度,可以实现任意分辨率的输入;

模型结构简单,内存占用小,适合在手机上运行。

附图说明

图1为本发明的一种基于深度学习的头发分割方法流程示意图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步阐述。

在本实施例中,参见图1所示,本发明提出了一种基于深度学习的头发分割方法,包括步骤:s100-s600。

s100获取原始图像irgb,irgb为3通道rgb图像。

s200对原始图像进行人脸检测,得到人脸关键点。

s300利用人脸关键点生成人脸关键部位描述图。

利用人脸关键点建立对于人脸器官以及轮廓的二值蒙版图,并由所述二值蒙版图作为人脸关键部位描述图。

s400将原始图像和人脸关键部位描述图合并,获得4通道图像。

s500将所述4通道图像输入卷积神经网络模型,通过卷积神经网络模型推断出每个像素点是头发的概率,从而获得头发概率图;

在所述卷积神经网络模型的训练过程中,通过人工标定多组人脸图片作为训练样本训练卷积神经网络模型。

所述卷积神经网络模型包括卷积层、maxpooling层、unpooling层、add层和softmax层;模型简单、占用空间小且运算速度快。

在所述卷积神经网络模型的卷积层引入relu激活函数,加快计算速度。

卷积神经网络模型结构:

其中:

blk(in,out,kxk)为:convolution_2d+relu;卷积层的输入为in个通道,卷积层输出为out个通道,采用kxk大小的核;

unpooling(kxk,stride):采用kxk大小的核,stride为步长;

maxpooling(kxk,stride):采用kxk大小的核,stride为步长。

具体推断过程为:

1.将输入的4通道图像经过输入层:blk(4,32,3x3),得到32通道的特征图a0;

2.将32通道的特征图a0经过blk(32,32,3x3),得到32通道的特征图a1;

3.将32通道的特征图a1经过maxpooling(4x4,4),得到32通道的特征图a2;

4.将32通道的特征图a2经过blk(32,64,3x3),得到64通道的特征图a3;

5.将64通道的特征图a3经过maxpooling(2x2,2),得到64通道的特征图a4;

6.将64通道的特征图a4经过blk(64,2,3x3),得到2通道的特征图a5_1;

7.将64通道的特征图a4经过blk(64,128,3x3),得到128通道的特征图a5_2;

8.将128通道的特征图a5_2经过maxpooling(4x4,4),得到128通道的特征图a6;

9.将128通道的特征图a6经过blk(128,2,1x1),得到2通道的特征图a7_1;

10.将128通道的特征图a6经过blk(128,128,3x3),得到128通道的特征图a7_2;

11.将128通道的特征图a7_2依次经过maxpooling(2x2,2)、blk(128,128,1x1)、blk(128,64,3x3)、blk(64,32,3x3)、blk(32,16,3x3)、blk(16,8,5x5)、blk(8,2,7x7)、unpooling(2x2,2)、blk(2,2,3x3),得到2通道的特征图a8;

12.将2通道的特征图a8与a7_1相加,得到2通道的特征图a6_add;

13.将2通道的特征图a6_add依次经过unpooling(4x4,4)、blk(2,2,5x5),得到2通道的特征图a6_up;

14.将2通道的特征图a6_up与a5_1相加,得到2通道的特征图a5_add;

15.将2通道的特征图a5_add依次经过unpooling(8x8,8)、blk(2,2,7x7)、softmax,得到2通道的结果图a0_1;

16.取结果图a0_1的第二个通道作为最终的输出,即头发概率图。

s600利用头发概率图对原始图像进行头发分割。

利用头发概率图,通过最小化能量函数对原始图像进行头发分割,最小化能量函数公式为:

其中,yi为推断的头发概率图,为卷积神经网络模型中标定的头发概率图,m为总的训练样本数。

以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

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