本发明涉及图像处理及模式识别领域,尤其是一种发型识别方法。
背景技术:
在某些特定领域的职业考勤中,对于发型发式有一定的要求。由于发型在图像上呈现的特殊性,例如边缘杂乱和黑发易与背景融合等问题,传统方法无法将头发与其周边物体分体,从而导致发型识别失败。在发型识别中,如果仅使用深度学习技术,因为其模型巨大的参数量,随机梯度下降的训练方式,需要大量标注数据以保证训练后的模型能够达到理想的泛化水平,所以实际可操作性较差,不能满足发型识别的实际需求。
技术实现要素:
本发明所要解决的技术问题是提供一种发型识别方法,解决发型识别中难以将头发与头发周边物体分离从而导致发型识别失败的问题。
本发明解决其技术问题所采用的技术方案是:一种发型识别方法,包括以下步骤:
s1:训练发型蒙版提取模型和svm模型;
s2:通过人脸检测技术获取头发所在区域的图片;
s3:对图片进行预处理;
s4:将预处理后的图片送入训练好的发型蒙版中提取模型提取发型的遮罩;
s5:将发型的遮罩送入训练好的svm模型中判断发型是否合规并输出。
进一步地,基于公开数据集lfw-hair并利用深度学习技术训练发型蒙版提取模型。
进一步地,所述svm模型为单分类svm模型。
进一步地,所述头发所在区域的图片通过摄像机进行拍摄。
进一步地,所述对图片进行预处理包括中值滤波降噪、调整对比度和调整亮度。
本发明具有如下有益效果:
1.本发明的发型识别方法能够发型识别时将头发与头发周边物体分离,从而准确识别发型并判断发型是否合规。
2.本发明的算法可以在arm处理器架构设备,例如手机、nvidiajetson平台和嵌入式设备等灵活部署。
附图说明
图1为本发明实施例1给出的人脸识别方法流程图。
具体实施方式
实施例1:
如图1所示,一种发型识别方法,包括以下步骤:
一、训练发型蒙版提取模型和svm模型
首先利用深度学习技术,基于公开数据集lfw-hair,训练一个发型蒙版提取模型,深度学习部分方案如下:
1.将公开数据集lfw-hair中的图片尺寸调整为224*224*3;
2.将发型图片通过若干层卷积网络f(x)变换为尺寸为28*28*1024的深度特征图;
3.将特征图通过若干层反卷积网络g(x)变换为224*224的矩阵;
4.为强化网络对于发型z边缘区域检测的准确性,该网络的任务目标lc定义如下:
其中,ix,iy为归一化后的图片,mx,my为发型遮罩的梯度,mmag为发型遮罩矩阵梯度的大小。
然后训练一个svm模型,具体方案如下:
1.提取的发型遮罩可视为长度为224*224的向量x;
2.此任务的目标,可定义如下:
(xi-a)t(xi-a)≤r2+ξi,ξi≥0
其中,xi为输入的发型遮罩向量,a表示决策中心,r为决策半径,ξ为决策边缘松弛度(某些正向量也可能出现于决策边缘之外),t为松弛度权重;
二、通过人脸检测技术获取头发所在区域的图片
三、对图片进行预处理
具体方案如下:
1.中值滤波降噪:
(1)定义核大小为n,在图片上,依据从左到右,从上到下选取n*n大小的像素矩阵m
(2)取像素中值=median(m)
(3)替换矩阵m的值为像素中值
2.对比度调节:
使用如下算法对对比度进行调节:
g(x)=αf(x)+β
其中,g(x)为输出图片,α为强度系数,β为偏置,f(x)为输入图片,参数通过相机成像效果,所在位置光照情况等因素调节。
3.亮度调节:
通过如下步骤对亮度进行调节:
(1)图片亮度l=(红色*0.2126f+绿色*0.7152f+蓝色*0.0722f)/255;
(2)对于图片亮度进行加权平均,中心权重为1,向外辐射依次递减,边缘像素权重为0;
(3)计算图片亮度与目标亮度的平方差;
(4)将原始图片每个像素值乘以1+亮度平方差。
四、将预处理后的图片送入训练好的发型蒙版中提取模型提取发型的遮罩,
具体步骤如下:
(1)将原始图片ix送入卷积网络f(x),得到特征图ei,大小为28*28*1024;
(2)将特征图ei送入反卷积网络g(x),得到矩阵x,大小为224*224。
(矩阵r∈[0,1),0表示背景,1表示头发]
五、将发型的遮罩送入训练好的svm模型中判断发型是否合规并输出
将提取的发型遮罩x送入训练好的支持向量机模型中,进行如下运算:
(xi-a)t(xi-a)≤r2+ξi,ξi≥0
在决策边缘内的为合规样本,边缘外的为不合规样本。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质,在本发明的精神和原则之内,对以上实施例所作的任何简单的修改、等同替换与改进等,均仍属于本发明技术方案的保护范围之内。
1.一种发型识别方法,其特征在于,包括以下步骤:
s1:训练发型蒙版提取模型和svm模型;
s2:通过人脸检测技术获取头发所在区域的图片;
s3:对图片进行预处理;
s4:将预处理后的图片送入训练好的发型蒙版中提取模型提取发型的遮罩;
s5:将发型的遮罩送入训练好的svm模型中判断发型是否合规并输出。
2.如权利要求1所述一种发型识别方法,其特征在于,基于公开数据集lfw-hair并利用深度学习技术训练发型蒙版提取模型。
3.如权利要求1所述一种发型识别方法,其特征在于,所述svm模型为单分类svm模型。
4.如权利要求1所述一种发型识别方法,其特征在于,所述头发所在区域的图片通过摄像机进行拍摄。
5.如权利要求1所述一种发型识别方法,其特征在于,所述对图片进行预处理包括中值滤波降噪、调整对比度和调整亮度。