CN114187309A - 一种基于卷积神经网络的头发分割方法及系统 - Google Patents
一种基于卷积神经网络的头发分割方法及系统 Download PDFInfo
- Publication number
- CN114187309A CN114187309A CN202210025451.5A CN202210025451A CN114187309A CN 114187309 A CN114187309 A CN 114187309A CN 202210025451 A CN202210025451 A CN 202210025451A CN 114187309 A CN114187309 A CN 114187309A
- Authority
- CN
- China
- Prior art keywords
- face
- hair
- image
- picture
- binary
- 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.)
- Granted
Links
- 230000011218 segmentation Effects 0.000 title claims abstract description 70
- 238000000034 method Methods 0.000 title claims abstract description 33
- 238000013527 convolutional neural network Methods 0.000 title claims abstract description 32
- 238000012545 processing Methods 0.000 claims abstract description 33
- 238000001514 detection method Methods 0.000 claims abstract description 20
- 238000012549 training Methods 0.000 claims description 63
- 238000003064 k means clustering Methods 0.000 claims description 36
- 238000002372 labelling Methods 0.000 claims description 8
- 230000009466 transformation Effects 0.000 claims description 7
- 230000009469 supplementation Effects 0.000 claims description 6
- 230000007704 transition Effects 0.000 claims description 6
- 230000003190 augmentative effect Effects 0.000 claims 1
- 230000037308 hair color Effects 0.000 abstract description 7
- 238000009432 framing Methods 0.000 abstract 1
- 230000011731 head segmentation Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000003709 image segmentation Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000002087 whitening effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20112—Image segmentation details
- G06T2207/20132—Image cropping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
- G06T2207/30201—Face
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Probability & Statistics with Applications (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及图像处理技术领域,具体是一种基于卷积神经网络的头发分割方法及系统,方法包括:获取视频流图像步骤:从摄像头中获取视频流,将视频流分帧,形成一张张图像,方面后续处理;确定人脸区域步骤:利用人脸检测模型检测人脸位置,确定人脸区域。本发明的有益效果通过全新的卷积神经网络模型(头发全卷积网络模型),并结合图片中图像中头发位置信息、头发的频率信息及头发的颜色信息,便可以准确地识别图像的头发区域,通过人脸检测算法RetinaFace检测人脸,确定头发区域大致位置,防止大背景下其他类似头发目标的干扰,利用BiSeNet双通道分割网络实时实现头发分割,可以实现自动识别,无需人工参与。
Description
技术领域
本发明涉及图像处理技术领域,具体是一种基于卷积神经网络的头发分割方法及系统。
背景技术
图像分割是一种重要的图像处理技术,随着人工智能、计算机视觉的不断发展,图像分割在理论研究和实际应用中得到了人们的广泛关注。现如今,图像分割主要用于辅助定位、辅助识别的作用。比较常见的应用就是用分割技术确定或排除某些区域下的目标,现在应用较多的有人脸美化中的肤色美白、发型发色变换等等。
经检索,中国专利号CN106611160B公开了一种基于卷积神经网络的图像头发识别方法及其装置,其中,该方法包括:收集图集;对图集中的每一张图片进行标记;对图集中的每一张图片进行预处理;检测图集中每一张图片的人像头部位置,获得训练图集对应的头部位置信息和测试图集对应的头部位置信息;基于全卷积网络构造头发全卷积网络;对头发全卷积网络进行训练;将输出的结果与头发区域遮蔽测试图集相比较,获得对头发全卷积网络的评估结果;将欲获取头发遮蔽图的图片输入头发全卷积网络,获得该图像头发区域的遮蔽图。
现有技术的头发分割方法在背景颜色与头发颜色相似的情况下无法准确的识别头发区域的问题,不利于广泛的推广和普及。
发明内容
本发明的目的在于提供一种基于卷积神经网络的头发分割方法,以解决上述背景技术中提出在背景颜色与头发颜色相似的情况下提高识别准确度的问题。
本发明的技术方案是:一种基于卷积神经网络的头发分割方法,包括以下步骤:
获取视频流图像步骤:获取并将视频流分帧处理;
确定人脸区域步骤:利用人脸检测模型检测确定人脸区域;
图像处理步骤:基于人脸区域裁剪出人脸图片,输入头发分割网络BiSeNet,得到与输入人脸图片相同尺寸的二值化图像;得到二值化图像步骤:将人脸图片和二值化图像用canny算子求边缘,得到头发边缘二值化图像;
扩充增加边缘区域步骤:根据边缘二值化图像的像素点位置向周边扩充增加边缘区域;
做k-means聚类步骤:利用人脸图片的扩充边缘区域位置的颜色值为特征做k-means聚类;
合并结果步骤:合并k-means聚类结果与BiSeNet二值化分割结果,合并二值化图像中像素值为1的位置是为头发区域,在人脸图片中相应区域做对应标记以分割头发区域。
进一步地,所述确定人脸区域步骤包括:
确定人脸初步区域子步骤:使用人脸检测算法RetinaFace首先确定人脸初步区域;
检测到人脸子步骤:图像中如果有人脸,会返回人脸区域bbox,bbox坐标为(x1,y1,x2,y2),分别对应人脸左上、右下两个点的坐标。
进一步地,在所述图像处理步骤中,图像处理步骤包括:
训练子步骤:利用人脸图片及标注了头发区域的二值图片训练BiSeNet;
生成二值化图像步骤:输入人脸图片到BiSeNet,完成推理,生成与输入人脸图片相同尺寸的二值化图像;
裁剪包含头发的人脸图片的步骤如下:
裁剪子步骤:根据检测到人脸步骤得到的人脸矩形框bbox,裁剪人脸,由于是训练头发分割任务,所以裁剪得到的人脸必须完全包含头发区域,其中bbox的宽w等于x2-x1,高h等于y2-y1,设定裁剪尺度为s倍,所以裁剪坐标为(x1-sw/4,y1-sh/4,x2+sw/4,y2+sh/4)。
进一步地,在所述训练子步骤中,对应图片标注的步骤如下:
图片标注孙子步骤:标注时头发区域的像素点为正样本,人脸图像除头发区域的其他部分均做背景,为负样本。
进一步地,在所述训练子步骤中,对应二值图片训练BiSeNet的步骤如下:
训练图像增强过渡孙子步骤:训练从磁盘读入的图片及对应二值标注图片大小均为1024*1024,通过设置scales变换参数为[0.1,0.5],cropsize为256*256;在训练中先随机从0.1到0.5均匀分布取值S,再将图片及对应二值标注同时resize到(1024*S)*(1024*S)的大小;若1024*S大于256,则需在图片及对应二值标注中随机裁剪出256*256的图像块参与训练,若1024*S小于256,则需在图片及对应二值标注周围补0,四周补零像素点个数为(256-1024*S)/2;
水平翻转孙子步骤:把图片及对应二值标注的像素点左右对调;
颜色抖动孙子步骤:对图片做亮度、对比度、饱和度的调整增强,涉及到图片亮度、对比度、饱和度的调整。
进一步地,在所述生成二值化图像步骤中,输入人脸图片到BiSeNet的步骤包括:
二值图像子步骤:用BiSeNet推理过程中,不需要对输入人脸图片做增强处理,不需要计算梯度及损失;将人脸图片resize到256*256尺寸,输入BiSeNet,将在网络的最后一层得到256*256的二值图像。
进一步地,所述扩充增加边缘区域步骤包括:
得到边缘二值图子步骤:设点p坐标为(x,y),根据点p的24领域扩展生成边缘二值图。
进一步地,所述做k-means聚类步骤包括:
图像叠加子步骤:扩展边缘后二值图像和原人脸图像叠加图,取图中白色区域所在原图的RGB像素值作为k-means聚类的特征,设定类别k=2,由于头发颜色和皮肤颜色比较集中,所以聚类会很准确。
进一步地,所述合并结果步骤包括:
合并结果子步骤:在BiSeNet分割结果的二值图像上面,修改扩展边缘位置的像素值,若k-means聚类结果为头发,则设定像素值为255,若聚类结果为非头发,则设定像素值为0;合并结果。
一种基于卷积神经网络的头发分割系统,包括以下模块:
获取视频流图像模块:获取并将视频流分帧处理;
确定人脸区域模块:利用人脸检测模型检测确定人脸区域;
图像处理模块:基于人脸区域裁剪出人脸图片,输入头发分割网络BiSeNet,得到与输入人脸图片相同尺寸的二值化图像;得到二值化图像模块:将人脸图片和二值化图像用canny算子求边缘,得到头发边缘二值化图像;
扩充增加边缘区域模块:根据边缘二值化图像的像素点位置向周边扩充增加边缘区域;
做k-means聚类模块:利用人脸图片的扩充边缘区域位置的颜色值为特征做k-means聚类;
合并结果模块:合并k-means聚类结果与BiSeNet二值化分割结果,合并二值化图像中像素值为1的位置是为头发区域,在人脸图片中相应区域做对应标记以分割头发区域。
进一步地,在所述确定人脸区域模块包括:
确定人脸初步区域子模块:使用人脸检测算法RetinaFace首先确定人脸初步区域;
检测到人脸子模块:图像中如果有人脸,会返回人脸区域bbox,bbox坐标为(x1,y1,x2,y2),分别对应人脸左上、右下两个点的坐标。
进一步地,所述图像处理模块包括:
训练子模块:利用人脸图片及标注了头发区域的二值图片训练BiSeNet;
生成二值化图像模块:输入人脸图片到BiSeNet,完成推理,生成与输入人脸图片相同尺寸的二值化图像;
裁剪包含头发的人脸图片对应的模块如下:
裁剪子模块:根据检测到人脸模块得到的人脸矩形框bbox,裁剪人脸,由于是训练头发分割任务,所以裁剪得到的人脸必须完全包含头发区域,其中bbox的宽w等于x2-x1,高h等于y2-y1,设定裁剪尺度为s倍,所以裁剪坐标为(x1-sw/4,y1-sh/4,x2+sw/4,y2+sh/4)。
进一步地,在所述训练子模块中,对应图片标注的模块如下:
图片标注孙子模块:标注时头发区域的像素点为正样本,人脸图像除头发区域的其他部分均做背景,为负样本。
进一步地,在所述训练子模块中,对应二值图片训练BiSeNet的模块如下:
训练图像增强过渡孙子模块:训练从磁盘读入的图片及对应二值标注图片大小均为1024*1024,通过设置scales变换参数为[0.1,0.5],cropsize为256*256;在训练中先随机从0.1到0.5均匀分布取值S,再将图片及对应二值标注同时resize到(1024*S)*(1024*S)的大小;若1024*S大于256,则需在图片及对应二值标注中随机裁剪出256*256的图像块参与训练,若1024*S小于256,则需在图片及对应二值标注周围补0,四周补零像素点个数为(256-1024*S)/2;
水平翻转孙子模块:把图片及对应二值标注的像素点左右对调;
颜色抖动孙子模块:对图片做亮度、对比度、饱和度的调整增强,涉及到图片亮度、对比度、饱和度的调整。
进一步地,在所述生成二值化图像模块中,输入人脸图片到BiSeNet的模块包括:
二值图像子模块:用BiSeNet推理过程中,不需要对输入人脸图片做增强处理,不需要计算梯度及损失;将人脸图片resize到256*256尺寸,输入BiSeNet,将在网络的最后一层得到256*256的二值图像。
进一步地,所述扩充增加边缘区域模块包括:
得到边缘二值图子模块:设点p坐标为(x,y),根据点p的24领域扩展生成边缘二值图。
进一步地,所述做k-means聚类模块包括:
图像叠加子模块:扩展边缘后二值图像和原人脸图像叠加图,取图中白色区域所在原图的RGB像素值作为k-means聚类的特征,设定类别k=2,由于头发颜色和皮肤颜色比较集中,所以聚类会很准确。
进一步地,所述合并结果模块包括:
合并结果子模块:在BiSeNet分割结果的二值图像上面,修改扩展边缘位置的像素值,若k-means聚类结果为头发,则设定像素值为255,若聚类结果为非头发,则设定像素值为0;合并结果。
本发明通过改进在此提供一种基于卷积神经网络的头发分割方法及系统,与现有技术相比,具有如下改进及优点:
(1)本发明通过全新的卷积神经网络模型(头发全卷积网络模型),并结合图片中图像中头发位置信息、头发的频率信息及头发的颜色信息,便可以准确地识别图像的头发区域,通过人脸检测算法RetinaFace检测人脸,确定头发区域大致位置,防止大背景下其他类似头发目标的干扰。
(2)本发明利用BiSeNet双通道分割网络实时实现头发分割,可以实现自动识别,无需人工参与。
(3)本发明头发分割的训练方式,看成像素点二分类,对图像做多尺度,水平翻转、颜色抖动等方式增强,可以解决现有技术中在背景颜色与头发颜色相似的情况下无法准确的识别头发区域、及无法识别人脸偏转角度大和背面的问题;具有较高的识别精度。
(4)本发明通过BiSeNet推理得到头发分割二值化图像后,对二值图像用canny算子求边缘,采用canny算子求二值图像的边缘可以更加的快速和准确,很好的提升了二值图像的处理效率和处理效果。
附图说明
下面结合附图和实施例对本发明作进一步解释:
图1是本发明的头发分割流程结构示意图;
图2是本发明的训练BiSeNet标注示例结构示意图;
图3是本发明的利用canny算子对BiSeNet分割结果求边缘结构示意图;
图4是本发明的点p的邻域结构示意图;
图5是本发明的邻域扩展边缘区域结构示意图;
图6是本发明的扩展边缘图和原人脸图像叠加效果结构示意图;
图7是本发明的合并后分割结果结构示意图。
具体实施方式
下面将结合附图1至图7对本发明进行详细说明,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
本发明一种基于卷积神经网络的头发分割方法,如图1-7所示,包括以下步骤:
获取视频流图像步骤:获取并将视频流分帧处理;
确定人脸区域步骤:利用人脸检测模型检测确定人脸区域;
图像处理步骤:基于人脸区域裁剪出人脸图片,输入头发分割网络BiSeNet,得到与输入人脸图片相同尺寸的二值化图像;得到二值化图像步骤:将人脸图片和二值化图像用canny算子求边缘,得到头发边缘二值化图像如图3所示;
扩充增加边缘区域步骤:根据边缘二值化图像的像素点位置向周边扩充增加边缘区域;
做k-means聚类步骤:利用人脸图片的扩充边缘区域位置的颜色值为特征做k-means聚类;
合并结果步骤:合并k-means聚类结果与BiSeNet二值化分割结果,合并二值化图像中像素值为1的位置是为头发区域,在人脸图片中相应区域做对应标记以分割头发区域。
进一步地,所述确定人脸区域步骤包括:
确定人脸初步区域子步骤:使用人脸检测算法RetinaFace首先确定人脸初步区域;
检测到人脸子步骤:图像中如果有人脸,会返回人脸区域bbox,bbox坐标为(x1,y1,x2,y2),分别对应人脸左上、右下两个点的坐标。
进一步地,图像处理步骤包括:
训练子步骤:利用人脸图片及标注了头发区域的二值图片训练BiSeNet;
生成二值化图像步骤:输入人脸图片到BiSeNet,完成推理,生成与输入人脸图片相同尺寸的二值化图像;
裁剪包含头发的人脸图片的步骤如下:
裁剪子步骤:根据检测到人脸步骤得到的人脸矩形框bbox,裁剪人脸,由于是训练头发分割任务,所以裁剪得到的人脸必须完全包含头发区域,其中bbox的宽w等于x2-x1,高h等于y2-y1,设定裁剪尺度为s倍,所以裁剪坐标为(x1-sw/4,y1-sh/4,x2+sw/4,y2+sh/4)。
进一步地,在所述训练子步骤中,对应图片标注的步骤如下:
图片标注孙子步骤:标注时头发区域的像素点为正样本,人脸图像除头发区域的其他部分均做背景,为负样本如图2所示。
进一步地,在所述训练子步骤中,对应二值图片训练BiSeNet的步骤如下:
训练图像增强过渡孙子步骤:训练从磁盘读入的图片及对应二值标注图片大小均为1024*1024,通过设置scales变换参数为[0.1,0.5],cropsize为256*256;在训练中先随机从0.1到0.5均匀分布取值S,再将图片及对应二值标注同时resize到(1024*S)*(1024*S)的大小;若1024*S大于256,则需在图片及对应二值标注中随机裁剪出256*256的图像块参与训练,若1024*S小于256,则需在图片及对应二值标注周围补0,四周补零像素点个数为(256-1024*S)/2;
水平翻转孙子步骤:把图片及对应二值标注的像素点左右对调;
颜色抖动孙子步骤:对图片做亮度、对比度、饱和度的调整增强,涉及到图片亮度、对比度、饱和度的调整。
进一步地,在所述生成二值化图像步骤中,输入人脸图片到BiSeNet的步骤包括:
二值图像子步骤:用BiSeNet推理过程中,不需要对输入人脸图片做增强处理,不需要计算梯度及损失;将人脸图片resize到256*256尺寸,输入BiSeNet,将在网络的最后一层得到256*256的二值图像。
进一步地,所述扩充增加边缘区域步骤包括:
得到边缘二值图子步骤:设点p坐标为(x,y),则点p周边的8邻域和24邻域如图4所示,根据点p的24领域扩展生成的边缘二值图如图5所示。
进一步地,所述做k-means聚类步骤中包括:
图像叠加子步骤:扩展边缘后二值图像和原人脸图像叠加图如图6所示,取图中白色区域所在原图的RGB像素值作为k-means聚类的特征,设定类别k=2,由于头发颜色和皮肤颜色比较集中,所以聚类会很准确。
进一步地,所述合并结果步骤包括:
合并结果子步骤:在BiSeNet分割结果的二值图像上面,修改扩展边缘位置的像素值,若k-means聚类结果为头发,则设定像素值为255,若聚类结果为非头发,则设定像素值为0;合并结果如图7所示。
一种基于卷积神经网络的头发分割系统,包括以下模块:
获取视频流图像模块:获取并将视频流分帧处理;
确定人脸区域模块:利用人脸检测模型检测确定人脸区域;
图像处理模块:基于人脸区域裁剪出人脸图片,输入头发分割网络BiSeNet,得到与输入人脸图片相同尺寸的二值化图像;得到二值化图像模块:将人脸图片和二值化图像用canny算子求边缘,得到头发边缘二值化图像如图3所示;
扩充增加边缘区域模块:根据边缘二值化图像的像素点位置向周边扩充增加边缘区域;
做k-means聚类模块:利用人脸图片的扩充边缘区域位置的颜色值为特征做k-means聚类;
合并结果模块:合并k-means聚类结果与BiSeNet二值化分割结果,合并二值化图像中像素值为1的位置是为头发区域,在人脸图片中相应区域做对应标记以分割头发区域。
进一步地,在所述确定人脸区域模块包括:
确定人脸初步区域子模块:使用人脸检测算法RetinaFace首先确定人脸初步区域;
检测到人脸子模块:图像中如果有人脸,会返回人脸区域bbox,bbox坐标为(x1,y1,x2,y2),分别对应人脸左上、右下两个点的坐标。
进一步地,所述图像处理模块包括:
训练子模块:利用人脸图片及标注了头发区域的二值图片训练BiSeNet;
生成二值化图像模块:输入人脸图片到BiSeNet,完成推理,生成与输入人脸图片相同尺寸的二值化图像;
裁剪包含头发的人脸图片对应的模块如下:
裁剪子模块:根据检测到人脸模块得到的人脸矩形框bbox,裁剪人脸,由于是训练头发分割任务,所以裁剪得到的人脸必须完全包含头发区域,其中bbox的宽w等于x2-x1,高h等于y2-y1,设定裁剪尺度为s倍,所以裁剪坐标为(x1-sw/4,y1-sh/4,x2+sw/4,y2+sh/4)。
进一步地,在所述训练子模块中,对应图片标注的模块如下:
图片标注孙子模块:标注时头发区域的像素点为正样本,人脸图像除头发区域的其他部分均做背景,为负样本如图2所示。
进一步地,在所述训练子模块中,对应二值图片训练BiSeNet的模块如下:
训练图像增强过渡孙子模块:训练从磁盘读入的图片及对应二值标注图片大小均为1024*1024,通过设置scales变换参数为[0.1,0.5],cropsize为256*256;在训练中先随机从0.1到0.5均匀分布取值S,再将图片及对应二值标注同时resize到(1024*S)*(1024*S)的大小;若1024*S大于256,则需在图片及对应二值标注中随机裁剪出256*256的图像块参与训练,若1024*S小于256,则需在图片及对应二值标注周围补0,四周补零像素点个数为(256-1024*S)/2;
水平翻转孙子模块:把图片及对应二值标注的像素点左右对调;
颜色抖动孙子模块:对图片做亮度、对比度、饱和度的调整增强,涉及到图片亮度、对比度、饱和度的调整。
进一步地,在所述生成二值化图像模块中,输入人脸图片到BiSeNet的模块包括:
二值图像子模块:用BiSeNet推理过程中,不需要对输入人脸图片做增强处理,不需要计算梯度及损失;将人脸图片resize到256*256尺寸,输入BiSeNet,将在网络的最后一层得到256*256的二值图像。
进一步地,所述扩充增加边缘区域模块包括:
得到边缘二值图子模块:设点p坐标为(x,y),则点p周边的8邻域和24邻域如图4所示,根据点p的24领域扩展生成的边缘二值图如图5所示。
进一步地,所述做k-means聚类模块包括:
图像叠加子模块:扩展边缘后二值图像和原人脸图像叠加图如图6所示,取图中白色区域所在原图的RGB像素值作为k-means聚类的特征,设定类别k=2,由于头发颜色和皮肤颜色比较集中,所以聚类会很准确。
进一步地,所述合并结果模块包括:
合并结果子模块:在BiSeNet分割结果的二值图像上面,修改扩展边缘位置的像素值,若k-means聚类结果为头发,则设定像素值为255,若聚类结果为非头发,则设定像素值为0;合并结果如图7所示。
本发明实施例的基于卷积神经网络的头发分割方法及系统,与现有技术相比,至少具有如下改进及优点:
1、通过全新的卷积神经网络模型(头发全卷积网络模型),并结合图片中图像中头发位置信息、头发的频率信息及头发的颜色信息,便可以准确地识别图像的头发区域,通过人脸检测算法RetinaFace检测人脸,确定头发区域大致位置,防止大背景下其他类似头发目标的干扰。
2、利用BiSeNet双通道分割网络实时实现头发分割,可以实现自动识别,无需人工参与。
3、所述头发分割的训练方式,看成像素点二分类,对图像做多尺度,水平翻转、颜色抖动等方式增强,可以解决现有技术中在背景颜色与头发颜色相似的情况下无法准确的识别头发区域、及无法识别人脸偏转角度大和背面的问题;具有较高的识别精度。
4、通过BiSeNet推理得到头发分割二值化图像后,对二值图像用canny算子求边缘,采用canny算子求二值图像的边缘可以更加的快速和准确,很好的提升了二值图像的处理效率和处理效果。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (18)
1.一种基于卷积神经网络的头发分割方法,其特征在于,包括以下步骤:
获取视频流图像步骤:获取并将视频流分帧处理;
确定人脸区域步骤:利用人脸检测模型检测确定人脸区域;
图像处理步骤:基于人脸区域裁剪出人脸图片,输入头发分割网络BiSeNet,得到与输入人脸图片相同尺寸的二值化图像;得到二值化图像步骤:将人脸图片和二值化图像用canny算子求边缘,得到头发边缘二值化图像;
扩充增加边缘区域步骤:根据边缘二值化图像的像素点位置向周边扩充增加边缘区域;
做k-means聚类步骤:利用人脸图片的扩充边缘区域位置的颜色值为特征做k-means聚类;
合并结果步骤:合并k-means聚类结果与BiSeNet二值化分割结果,合并二值化图像中像素值为1的位置是为头发区域,在人脸图片中相应区域做对应标记以分割头发区域。
2.根据权利要求1所述的一种基于卷积神经网络的头发分割方法,其特征在于:所述确定人脸区域步骤包括:
确定人脸初步区域子步骤:使用人脸检测算法RetinaFace首先确定人脸初步区域;
检测到人脸子步骤:图像中如果有人脸,会返回人脸区域bbox,bbox坐标为(x1,y1,x2,y2),分别对应人脸左上、右下两个点的坐标。
3.根据权利要求2所述的一种基于卷积神经网络的头发分割方法,其特征在于:图像处理步骤包括:
训练子步骤:利用人脸图片及标注了头发区域的二值图片训练BiSeNet;
生成二值化图像步骤:输入人脸图片到BiSeNet,完成推理,生成与输入人脸图片相同尺寸的二值化图像;
裁剪包含头发的人脸图片的步骤如下:
裁剪子步骤:根据检测到人脸步骤得到的人脸矩形框bbox,裁剪完全包含头发区域的人脸,其中bbox的宽w等于x2-x1,高h等于y2-y1,设定裁剪尺度为s倍,所以裁剪坐标为(x1-sw/4,y1-sh/4,x2+sw/4,y2+sh/4)。
4.根据权利要求3所述的一种基于卷积神经网络的头发分割方法,其特征在于:在所述训练子步骤中,对应图片标注的步骤如下:
图片标注孙子步骤:标注时头发区域的像素点为正样本,人脸图像除头发区域的其他部分均做背景,为负样本。
5.根据权利要求3所述的一种基于卷积神经网络的头发分割方法,其特征在于:在所述训练子步骤中,对应二值图片训练BiSeNet的步骤如下:
训练图像增强过渡孙子步骤:训练从磁盘读入的图片及对应二值标注图片大小均为1024*1024,通过设置scales变换参数为[0.1,0.5],cropsize为;在训练中先随机从0.1到0.5均匀分布取值S,再将图片及对应二值标注同时resize到(1024*S)*(1024*S)的大小;若1024*S大于256,则需在图片及对应二值标注中随机裁剪出256*256的图像块参与训练,若1024*S小于256,则需在图片及对应二值标注周围补0,四周补零像素点个数为(256-1024*S)/2;
水平翻转孙子步骤:把图片及对应二值标注的像素点左右对调;
颜色抖动孙子步骤:对图片做亮度、对比度、饱和度的调整增强,涉及到图片亮度、对比度、饱和度的调整。
6.根据权利要求3所述的一种基于卷积神经网络的头发分割方法,其特征在于:在所述生成二值化图像步骤中,输入人脸图片到BiSeNet的步骤包括:
二值图像子步骤:将人脸图片resize到256*256尺寸,输入BiSeNet,将在网络的最后一层得到256*256的二值图像。
7.根据权利要求1所述的一种基于卷积神经网络的头发分割方法,其特征在于:所述扩充增加边缘区域步骤包括:
得到边缘二值图子步骤:设点p坐标为(x,y),根据点P的24领域扩展生成边缘二值图。
8.根据权利要求1所述的一种基于卷积神经网络的头发分割方法,其特征在于:所述做k-means聚类步骤包括:
图像叠加子步骤:扩展边缘后二值图像和原人脸图像叠加图,取图中白色区域所在原图的RGB像素值作为k-means聚类的特征,设定类别k=2。
9.根据权利要求1所述的一种基于卷积神经网络的头发分割方法,其特征在于:所述合并结果步骤包括:
合并结果子步骤:在BiSeNet分割结果的二值图像上面,修改扩展边缘位置的像素值,若k-means聚类结果为头发,则设定像素值为255,若聚类结果为非头发,则设定像素值为0;合并结果。
10.一种基于卷积神经网络的头发分割系统,其特征在于,包括以下模块:
获取视频流图像模块:获取并将视频流分帧处理;
确定人脸区域模块:利用人脸检测模型检测确定人脸区域;
图像处理模块:基于人脸区域裁剪出人脸图片,输入头发分割网络BiSeNet,得到与输入人脸图片相同尺寸的二值化图像;得到二值化图像模块:将人脸图片和二值化图像用canny算子求边缘,得到头发边缘二值化图像;
扩充增加边缘区域模块:根据边缘二值化图像的像素点位置向周边扩充增加边缘区域;
做k-means聚类模块:利用人脸图片的扩充边缘区域位置的颜色值为特征做k-means聚类;
合并结果模块:合并k-means聚类结果与BiSeNet二值化分割结果,合并二值化图像中像素值为1的位置是为头发区域,在人脸图片中相应区域做对应标记以分割头发区域。
11.根据权利要求10所述的一种基于卷积神经网络的头发分割系统,其特征在于:在所述确定人脸区域模块包括:
确定人脸初步区域子模块:使用人脸检测算法RetinaFace首先确定人脸初步区域;
检测到人脸子模块:图像中如果有人脸,会返回人脸区域bbox,bbox坐标为(x1,y1,x2,y2),分别对应人脸左上、右下两个点的坐标。
12.根据权利要求11所述的一种基于卷积神经网络的头发分割系统,其特征在于:所述图像处理模块包括:
训练子模块:利用人脸图片及标注了头发区域的二值图片训练BiSeNet;
生成二值化图像模块:输入人脸图片到BiSeNet,完成推理,生成与输入人脸图片相同尺寸的二值化图像;
裁剪包含头发的人脸图片对应的模块如下:
裁剪子模块:根据检测到人脸模块得到的人脸矩形框bbox,裁剪完全包含头发区域的人脸,其中bbox的宽w等于x2-x1,高h等于y2-y1,设定裁剪尺度为s倍,所以裁剪坐标为(x1-sw/4,y1-sh/4,x2+sw/4,y2+sh/4)。
13.根据权利要求12所述的一种基于卷积神经网络的头发分割系统,其特征在于:在所述训练子模块中,对应图片标注的模块如下:
图片标注孙子模块:标注时头发区域的像素点为正样本,人脸图像除头发区域的其他部分均做背景,为负样本。
14.根据权利要求12所述的一种基于卷积神经网络的头发分割系统,其特征在于:在所述训练子模块中,对应二值图片训练BiSeNet的模块如下:
训练图像增强过渡孙子模块:训练从磁盘读入的图片及对应二值标注图片大小均为1024*1024,通过设置scales变换参数为[0.1,0.5],cropsize为;在训练中先随机从0.1到0.5均匀分布取值S,再将图片及对应二值标注同时resize到(1024*S)*(1024*S)的大小;若1024*S大于256,则需在图片及对应二值标注中随机裁剪出256*256的图像块参与训练,若1024*S小于256,则需在图片及对应二值标注周围补0,四周补零像素点个数为(256-1024*S)/2;
水平翻转孙子模块:把图片及对应二值标注的像素点左右对调;
颜色抖动孙子模块:对图片做亮度、对比度、饱和度的调整增强,涉及到图片亮度、对比度、饱和度的调整。
15.根据权利要求12所述的一种基于卷积神经网络的头发分割系统,其特征在于:在所述生成二值化图像模块中,输入人脸图片到BiSeNet的模块包括:
二值图像子模块:将人脸图片resize到256*256尺寸,输入BiSeNet,将在网络的最后一层得到256*256的二值图像。
16.根据权利要求10所述的一种基于卷积神经网络的头发分割系统,其特征在于:所述扩充增加边缘区域模块包括:
得到边缘二值图子模块:设点p坐标为(x,y),根据点p的24领域扩展生成边缘二值图。
17.根据权利要求10所述的一种基于卷积神经网络的头发分割系统,其特征在于:所述做k-means聚类模块包括:
图像叠加子模块:扩展边缘后二值图像和原人脸图像叠加图,取图中白色区域所在原图的RGB像素值作为k-means聚类的特征,设定类别k=2。
18.根据权利要求10所述的一种基于卷积神经网络的头发分割系统,其特征在于:所述合并结果模块包括:
合并结果子模块:在BiSeNet分割结果的二值图像上面,修改扩展边缘位置的像素值,若k-means聚类结果为头发,则设定像素值为255,若聚类结果为非头发,则设定像素值为0;合并结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210025451.5A CN114187309B (zh) | 2022-01-11 | 2022-01-11 | 一种基于卷积神经网络的头发分割方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210025451.5A CN114187309B (zh) | 2022-01-11 | 2022-01-11 | 一种基于卷积神经网络的头发分割方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114187309A true CN114187309A (zh) | 2022-03-15 |
CN114187309B CN114187309B (zh) | 2024-10-15 |
Family
ID=80606783
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210025451.5A Active CN114187309B (zh) | 2022-01-11 | 2022-01-11 | 一种基于卷积神经网络的头发分割方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114187309B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114694233A (zh) * | 2022-06-01 | 2022-07-01 | 成都信息工程大学 | 一种基于多特征的考场监控视频图像中人脸定位方法 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102103690A (zh) * | 2011-03-09 | 2011-06-22 | 南京邮电大学 | 一种自动的头发区域分割方法 |
CN105513013A (zh) * | 2016-01-18 | 2016-04-20 | 王雨轩 | 一种手机图片发型合成方法 |
CN106611160A (zh) * | 2016-12-15 | 2017-05-03 | 中山大学 | 一种基于卷积神经网络的图像头发识别方法及其装置 |
US20180374242A1 (en) * | 2016-12-01 | 2018-12-27 | Pinscreen, Inc. | Avatar digitization from a single image for real-time rendering |
CN109409297A (zh) * | 2018-10-30 | 2019-03-01 | 咪付(广西)网络技术有限公司 | 一种基于双通道卷积神经网络的身份识别方法 |
US20190087686A1 (en) * | 2017-09-21 | 2019-03-21 | Baidu Online Network Technology (Beijing) Co., Ltd. | Method and apparatus for detecting human face |
WO2019192121A1 (zh) * | 2018-04-04 | 2019-10-10 | 平安科技(深圳)有限公司 | 双通道神经网络模型训练及人脸比对方法、终端及介质 |
CN110992247A (zh) * | 2019-11-25 | 2020-04-10 | 杭州趣维科技有限公司 | 一种人像照片头发拉直特效的实现方法及系统 |
CN110992374A (zh) * | 2019-11-28 | 2020-04-10 | 杭州趣维科技有限公司 | 一种基于深度学习的头发精细化分割方法及系统 |
CN111027509A (zh) * | 2019-12-23 | 2020-04-17 | 武汉大学 | 一种基于双流卷积神经网络的高光谱图像目标检测方法 |
CN111832475A (zh) * | 2020-07-10 | 2020-10-27 | 电子科技大学 | 一种基于语义特征的人脸误检筛除方法 |
CN112651440A (zh) * | 2020-12-25 | 2021-04-13 | 陕西地建土地工程技术研究院有限责任公司 | 基于深度卷积神经网络的土壤有效团聚体分类识别方法 |
-
2022
- 2022-01-11 CN CN202210025451.5A patent/CN114187309B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102103690A (zh) * | 2011-03-09 | 2011-06-22 | 南京邮电大学 | 一种自动的头发区域分割方法 |
CN105513013A (zh) * | 2016-01-18 | 2016-04-20 | 王雨轩 | 一种手机图片发型合成方法 |
US20180374242A1 (en) * | 2016-12-01 | 2018-12-27 | Pinscreen, Inc. | Avatar digitization from a single image for real-time rendering |
CN106611160A (zh) * | 2016-12-15 | 2017-05-03 | 中山大学 | 一种基于卷积神经网络的图像头发识别方法及其装置 |
US20190087686A1 (en) * | 2017-09-21 | 2019-03-21 | Baidu Online Network Technology (Beijing) Co., Ltd. | Method and apparatus for detecting human face |
WO2019192121A1 (zh) * | 2018-04-04 | 2019-10-10 | 平安科技(深圳)有限公司 | 双通道神经网络模型训练及人脸比对方法、终端及介质 |
CN109409297A (zh) * | 2018-10-30 | 2019-03-01 | 咪付(广西)网络技术有限公司 | 一种基于双通道卷积神经网络的身份识别方法 |
CN110992247A (zh) * | 2019-11-25 | 2020-04-10 | 杭州趣维科技有限公司 | 一种人像照片头发拉直特效的实现方法及系统 |
CN110992374A (zh) * | 2019-11-28 | 2020-04-10 | 杭州趣维科技有限公司 | 一种基于深度学习的头发精细化分割方法及系统 |
CN111027509A (zh) * | 2019-12-23 | 2020-04-17 | 武汉大学 | 一种基于双流卷积神经网络的高光谱图像目标检测方法 |
CN111832475A (zh) * | 2020-07-10 | 2020-10-27 | 电子科技大学 | 一种基于语义特征的人脸误检筛除方法 |
CN112651440A (zh) * | 2020-12-25 | 2021-04-13 | 陕西地建土地工程技术研究院有限责任公司 | 基于深度卷积神经网络的土壤有效团聚体分类识别方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114694233A (zh) * | 2022-06-01 | 2022-07-01 | 成都信息工程大学 | 一种基于多特征的考场监控视频图像中人脸定位方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114187309B (zh) | 2024-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Hsu et al. | Adaptive fusion of multi-scale YOLO for pedestrian detection | |
CN111507994A (zh) | 一种人像提取方法、人像提取装置及移动终端 | |
CN109344727B (zh) | 身份证文本信息检测方法及装置、可读存储介质和终端 | |
CN103839223A (zh) | 图像处理方法及装置 | |
JPH0877334A (ja) | 顔画像の特徴点自動抽出方法 | |
CN114565508B (zh) | 虚拟换装方法及装置 | |
CN111027538A (zh) | 一种基于实例分割模型的集装箱检测方法 | |
CN111461036B (zh) | 一种利用背景建模增强数据的实时行人检测方法 | |
CN113052170B (zh) | 一种无约束场景下的小目标车牌识别方法 | |
CN113591562B (zh) | 图像处理方法、装置、电子设备及计算机可读存储介质 | |
Kheirkhah et al. | A hybrid face detection approach in color images with complex background | |
CN111161281A (zh) | 一种人脸区域识别方法、装置及存储介质 | |
CN110110603A (zh) | 一种基于面部生理信息的多模态唇读方法 | |
CN111243051A (zh) | 基于肖像照片的简笔画生成方法、系统及存储介质 | |
CN112883926A (zh) | 表格类医疗影像的识别方法及装置 | |
CN114187309A (zh) | 一种基于卷积神经网络的头发分割方法及系统 | |
CN112232162B (zh) | 一种基于多特征融合级联分类器的行人检测方法及装置 | |
CN114332814A (zh) | 一种停车框识别方法、装置、电子设备及存储介质 | |
CN107153806A (zh) | 一种人脸检测方法及装置 | |
CN113159158A (zh) | 一种基于生成对抗网络的车牌矫正与重构方法及系统 | |
CN112699841A (zh) | 一种基于行车视频的交通标志检测识别方法 | |
CN110633666A (zh) | 一种基于手指颜色贴片的手势轨迹识别方法 | |
CN116563306A (zh) | 自适应火灾痕迹光谱图像分割方法及系统 | |
CN115620353A (zh) | 一种用于3d人脸识别的图像预处理方法 | |
Zhao et al. | A traffic sign detection method based on saliency detection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |