CN114187309A - 一种基于卷积神经网络的头发分割方法及系统 - Google Patents

一种基于卷积神经网络的头发分割方法及系统 Download PDF

Info

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.)
Pending
Application number
CN202210025451.5A
Other languages
English (en)
Inventor
李山路
王和平
陈海涛
洪志阳
付磊
欧阳一村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Maxvision Technology Corp
Original Assignee
Maxvision Technology Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Maxvision Technology Corp filed Critical Maxvision Technology Corp
Priority to CN202210025451.5A priority Critical patent/CN114187309A/zh
Publication of CN114187309A publication Critical patent/CN114187309A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20112Image segmentation details
    • G06T2207/20132Image cropping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • G06T2207/30201Face

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)
  • Life Sciences & Earth Sciences (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (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;合并结果。
CN202210025451.5A 2022-01-11 2022-01-11 一种基于卷积神经网络的头发分割方法及系统 Pending CN114187309A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210025451.5A CN114187309A (zh) 2022-01-11 2022-01-11 一种基于卷积神经网络的头发分割方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210025451.5A CN114187309A (zh) 2022-01-11 2022-01-11 一种基于卷积神经网络的头发分割方法及系统

Publications (1)

Publication Number Publication Date
CN114187309A true CN114187309A (zh) 2022-03-15

Family

ID=80606783

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210025451.5A Pending CN114187309A (zh) 2022-01-11 2022-01-11 一种基于卷积神经网络的头发分割方法及系统

Country Status (1)

Country Link
CN (1) CN114187309A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114694233A (zh) * 2022-06-01 2022-07-01 成都信息工程大学 一种基于多特征的考场监控视频图像中人脸定位方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114694233A (zh) * 2022-06-01 2022-07-01 成都信息工程大学 一种基于多特征的考场监控视频图像中人脸定位方法

Similar Documents

Publication Publication Date Title
CN111507994A (zh) 一种人像提取方法、人像提取装置及移动终端
CN109344727B (zh) 身份证文本信息检测方法及装置、可读存储介质和终端
Hsu et al. Adaptive fusion of multi-scale YOLO for pedestrian detection
CN109961399B (zh) 基于图像距离变换的最佳缝合线搜寻方法
CN103839223A (zh) 图像处理方法及装置
JPH0877334A (ja) 顔画像の特徴点自動抽出方法
CN111680690B (zh) 一种文字识别方法及装置
CN111461036B (zh) 一种利用背景建模增强数据的实时行人检测方法
CN111862110A (zh) 一种绿幕抠像方法、系统、设备和可读存储介质
CN111027538A (zh) 一种基于实例分割模型的集装箱检测方法
Kheirkhah et al. A hybrid face detection approach in color images with complex background
CN111161281A (zh) 一种人脸区域识别方法、装置及存储介质
CN114565508B (zh) 虚拟换装方法及装置
CN112883926A (zh) 表格类医疗影像的识别方法及装置
CN114187309A (zh) 一种基于卷积神经网络的头发分割方法及系统
CN111243051A (zh) 基于肖像照片的简笔画生成方法、系统及存储介质
CN112132750B (zh) 一种视频处理方法与装置
CN107153806A (zh) 一种人脸检测方法及装置
CN110633666A (zh) 一种基于手指颜色贴片的手势轨迹识别方法
CN116563306A (zh) 自适应火灾痕迹光谱图像分割方法及系统
CN112232162B (zh) 一种基于多特征融合级联分类器的行人检测方法及装置
CN114882372A (zh) 一种目标检测的方法及设备
CN115620353A (zh) 一种用于3d人脸识别的图像预处理方法
Zhao et al. A traffic sign detection method based on saliency detection
CN113159158A (zh) 一种基于生成对抗网络的车牌矫正与重构方法及系统

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