一种面部皮肤质量评价方法与流程

文档序号:16147213发布日期:2018-12-05 16:40阅读:155来源:国知局

本发明涉及一种面部皮肤质量评价方法,属于面部识别领域及皮肤质量评价领域。

背景技术

对面部皮肤质量进行合理的评价在美妆行业、皮肤科及整形外科等领域具有重要作用。目前国内外市场上的皮肤测试仪等产品具有价格昂贵、体积庞大、不方便携带等缺点。若采用人工评价的方式,由于不同的人对同一个皮肤样本的评价一般不同,所以很难达到评价一致的目的。对于皮肤外科医生来说,排除人为的主观性,提供客观结果是非常重要的。

机器视觉在皮肤质量评价上可以做到避免重复性与主观意识性,因此机器视觉在非临床皮肤领域具有较强的应用价值。面部皮肤质量评价主要涉及面部皮肤区域检测、及面部粉刺检测、面部皱纹检测等技术。对于皮肤检测技术,主要有:基于像素颜色的皮肤检测技术、以及建立皮肤模型和分类算法。然而前者一般对于光照等外部条件敏感,自适应性较差,后者一般涉及大量的优化算法,需要大量的计算,实时性较差。对于面部粉刺、皱纹检测,主要有基于图像处理的检测技术,但这种检测方式往往自适应性较差,对不同的皮肤样本,可能需要不同的参数设置。



技术实现要素:

本发明针对以上问题的提出,本申请提出一种面部皮肤质量评价方法,包括以下步骤:

s1:采集人脸宽度像素范围在600像素-800像素的人脸图像;当人脸宽度占据所述人脸图像宽度的三分之一时,获得人脸图像;

s2:通过opencv开源库对所述人脸图像进行灰度化处理并确定人脸坐标;通过最近邻插值法对所述人脸图像宽度尺寸调整为700像素;

s3:构建人脸皮肤区域掩模图像;

s4:对所述人脸图像进行分割;

s5:对步骤s4分割后的图像进行预处理及特征提取;所述预处理及特征提取包括:统一亮度,gamma矫正,灰度化处理,提取原始lbp特征,以及直方图均衡化;

s6:训练分类类型为c_svc内核类型为多项式内核poly、且内核参数degree为1.0的支持向量机svm的分类模型;当迭代到最大迭代次数终止时终止训练;

s7:将样本库中的样本,根据所述步骤s5进行样本库的特征提取,将提取的样本库特征输入到步骤s6中的svm模型中进行训练,得到训练后的svm分类器;

s8:识别面部的粉刺、皱纹;将所述步骤s4中分割的人脸图像,通过所述步骤s5提取出特征数据输入所述步骤s7中所述训练后的svm分类器中,识别出面部粉刺、皱纹;将识别出的面部粉刺位置以黑色圆圈标注,识别出的皱纹位置以黑色方框标注;

s9:根据识别出的粉刺个数及皱纹所占面部比例进行皮肤质量的评价。

进一步的,所述特征提取通过dlib开源库检测人脸中的特征点,通过所述特征点构建脸部、眉毛、眼睛、鼻子以及嘴巴的掩模图像;所述掩模图像尺寸均与调整后的所述人脸图像相同。

更进一步的,所述特征点构建脸部、眉毛、眼睛、鼻子、以及嘴巴的掩模图像是将所述脸部、眉毛、眼睛、鼻子、以及嘴巴的特征点分别进行封闭连线,绘制轮廓,将轮廓范围内的像素值设置为255,将轮廓范围以外的像素值设置为0;

进一步的,脸部掩模使用的特征点集合ω1为:

ω1={x70,x17,x0,x1,x2,…,x16,x26,x71};

其中,x0,x2,…,x65代表dlib检测到的人脸坐标。x70,x71,…,x75为自定义坐标;

进一步的,眉毛掩模使用的特征点集合ω2、ω3为:

ω2={x17,x18,x19,x20,x21};

ω3={x22,x23,x24,x25,x26};

进一步的,眼睛掩模使用的特征点集合ω4、ω5为:

ω4={x36,x37,x38,x39,x40,x41};

ω5={x42,x43,x44,x45,x46,x47};

进一步的,鼻子掩模使用的特征点集合ω6为:

ω6={x72,x73,x74,x75};

进一步的,嘴巴掩模使用的特征点集合ω7为:

ω7={x48,x49,x50,…,x59};

更进一步的,人脸皮肤掩模图像f可表示为:

f=f(ω1)-f(ω2)-f(ω3)-f(ω4)-f(ω5)-f(ω6)-f(ω7)

其中,f(ω)代表集合ω围成轮廓的掩模图像。

进一步的,所述统一亮度是将待识别的所述分割后的图像的rgb图像转化为hsv图像,提取hsv图像中的v通道数据,计算整个block中v通道的均值并计算设置亮度值与v通道均值的差值,更新待识别的所述分割后的图像的v通道的值为当前值加上差值。

其中,i表示某一hsv图像像素点的v通道数值,b表示亮度,f(i,b)表示统一亮度后的v通道数值。

进一步的,所述灰度化处理公式为:

gray(i,j)=0.299*r(i,j)+0.587*g(i,j)+0.144*b(i,j);

其中,r表示红色通道的值、g表示绿色通道的值和b表示蓝色通道的值,gray表示转换后的灰度值。

进一步的,直方图均衡化过程中的转换公式如下所示:

其中,hi为第i个灰度级的像素的个数,a0为图像的像素的总和即像素总数,da为转换前的灰度值,dmax为最大灰度值,dst为转换后的灰度值。

本发明的优点在于:通过学习后的判断能够消除人工评价的主观性,同时本发明统一亮度,gamma矫正,灰度化处理,提取原始lbp特征,以及直方图均衡化降低了运算的计算量提高了实时性及自适应。

附图说明

为了更清楚的说明本发明的实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明的整体结构示意图;

图2为本发明的人脸皮肤区域掩模图像;

图3为本发明的人脸皮肤分割示意图;

图4(1)-(6)分别为本发明的皮肤样本示意图;

图5(1)-(6)分别为本发明的粉刺样本示意图;

图6(1)-(6)分别为本发明的皱纹样本示意图;

图7为本发明的识别效果示意图。

具体实施方式

为使本发明的实施例的目的、技术方案和优点更加清楚,下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚完整的描述:

如图1-3所示为本发明一种面部皮肤质量评价方法,其包括以下步骤:

s1:采集人脸宽度像素范围在600像素-800像素的人脸图像;

在本实施例中,人脸宽度像素范围在600像素-800像素,由于识别人脸上的粉刺、皱纹时,是将面部皮肤进行30x30的分割,然后一小块一小块的逐块遍历识别。则当人脸宽度在600-800像素之间时,分割像素时可以完全将粉刺或皱纹包含在内。如果像素小于600像素时,后期将图像放大时,会造成图像模糊失真、必然降低识别率。能够有效的提升识别率,提升处理的速度。在本实施方式中,人脸检测的最小范围为400*400。

进而在本实施方式中,当人脸宽度占据人脸图像宽度的三分之一时,获得的人脸图像;

作为优选的实施方式,当当人脸宽度占据人脸图像宽度的三分之一时可使粉刺、皱纹完全包含在内。可以理解为在其它实施方案中,可以预先在采集图像的预览环面中,设置一个脸形的轮廓,这个轮廓会占据屏幕的三分之一,当人脸完全套进轮廓时,采集的人脸宽度尺寸自然也就在规定的像素范围内。

s2:通过opencv开源库对人脸图像进行灰度化处理并确定人脸坐标;通过最近邻插值法对人脸图像宽度尺寸调整为700像素;

s3:构建人脸皮肤区域掩模图像;

s4:对人脸图像进行分割;

s5:对步骤s4分割后的图像进行预处理及特征提取;预处理及特征提取包括:统一亮度,gamma矫正,灰度化处理,提取原始lbp特征,以及直方图均衡化;

在本实施方式中,统一亮度是将待识别的分割后的图像的rgb图像转化为hsv图像,提取hsv图像中的v通道数据,计算整个block中v通道的均值并计算设置亮度值与v通道均值的差值,更新待识别的分割后的图像的v通道的值为当前值加上差值。

其中,i表示某一hsv图像像素点的v通道数值,b表示亮度,f(i,b)表示统一亮度后的v通道数值。

在本实施方式中,对统一亮度后的block进行gamma矫正。gamma曲线是一种特殊的色调曲线,当gamma值等于1的时候,曲线为与坐标轴成45°的直线,这个时候表示输入和输出密度相同。高于1的gamma值将会造成输出亮化,低于1的gamma值将会造成输出暗化。gamma矫正意在提高图像的对比度,公式如下。其中,i代表像素值,r代表幂次值,f(i)代表gamma矫正后的像素值。作为本申请的一项实施例,取r=3,皮肤图像中的高光部分被压缩而暗调部分被扩展,由于皮肤图像中粉刺和皱纹的灰度值较低,因而更能突出其特征,便于识别;

f(i)=ir

在本实施方式中,对于皮肤图像来说,将rgb三通道图像转化为灰度图,不会影响粉刺、皱纹的特征效果,又可减少图像中的数据量,加快后期算法处理速度,减少特征维数,将gammma矫正后的皮肤图像进行灰度化处理。其中,灰度化处理公式如下:

gray(i,j)=0.299*r(i,j)+0.587*g(i,j)+0.144*b(i,j)

其中,r、g和b分别表示红色、绿色和蓝色通道的值,其相应的系数表示转换过程中三个通道的值对应的权重。gray表示转换后的灰度值。

在本实施方式中,灰度化处理后,提取每一块皮肤样本的原始lbp特征。localbinarypattern(lbp)指局部二值模式,它是一种用来描述图像局部特征的算子,lbp特征具有灰度不变性和旋转不变性等显著优点。原始的lbp算子定义在像素3*3的邻域内,以邻域中心像素为阈值,相邻的8个像素的灰度值与邻域中心的像素值进行比较,若周围像素大于中心像素值,则该像素点的位置被标记为1,否则为0。这样,3*3邻域内的8个点经过比较可产生8位二进制数,将这8位二进制数依次排列形成一个二进制数字,这个二进制数字就是中心像素的lbp值,lbp值共有28种可能,因此lbp值有256种。中心像素的lbp值反映了该像素周围区域的纹理信息。

在本实施方式中,图像还需要均衡化处理,直方图均衡化也称为灰度值的均衡化,主要通过调整图像的灰度值的分布来达到提高图像对比度的目的,从而来更好的体现图像细节信息。直方图均衡化过程中的转换公式如下所示:

其中,hi为第i个灰度级的像素的个数,a0为图像的像素的总和,也就是像素总数,da为转换前的灰度值,dst为转换后的灰度值。

作为优选的实施方式,直方图均衡化使输入图像在变换过程中不会出现灰度值反转的情况,即保持变换之前灰度值的大小关系不会变化,变换之前灰度值大的区域在变换之后灰度值依旧比较大。同时,对于八位图像变换之后的灰度值仍然是在0~255之间,而不能发生越界。将原始lbp图像进行直方图均衡化可以使得,当对比度比较低时,增加该图像的细节信息,当对比度较高时,降低图像对比度;

s6:训练分类类型为c_svc内核类型为多项式内核poly、且内核参数degree为1.0的支持向量机svm的分类模型;当迭代到最大迭代次数终止时终止训练;

s7:将样本库中的样本如图4(1)-(6)、图5(1)-(6)以及图6(1)-(6)所示,根据步骤s5进行样本库的特征提取,将提取的样本库特征输入到步骤s6中的svm模型中进行训练,得到训练后的svm分类器;

作为优选的实施方式,特征提取通过dlib开源库检测人脸中的特征点,通过特征点构建脸部、眉毛、眼睛、鼻子以及嘴巴的掩模图像;掩模图像尺寸均与调整后的人脸图像相同。可以理解为在其他实施方式中,还可以通过采取其他特征点构建掩模图像。

作为优选的实施方式,特征点构建脸部、眉毛、眼睛、鼻子、以及嘴巴的掩模图像是将脸部、眉毛、眼睛、鼻子、以及嘴巴的特征点分别进行封闭连线,绘制轮廓,将轮廓范围内的像素值设置为255,将轮廓范围以外的像素值设置为0;

作为优选的实施方式,脸部掩模使用的特征点集合ω1为:

ω1={x70,x17,x0,x1,x2,…,x16,x26,x71};

其中,x0,x2,…,x65代表dlib检测到的人脸坐标。x70,x71,…,x75为自定义坐标;

作为优选的实施方式,眉毛掩模使用的特征点集合ω2、ω3为:

ω2={x17,x18,x19,x20,x21};

ω3={x22,x23,x24,x25,x26};

作为优选的实施方式,眼睛掩模使用的特征点集合ω4、ω5为:

ω4={x36,x37,x38,x39,x40,x41};

ω5={x42,x43,x44,x45,x46,x47};

作为优选的实施方式,鼻子掩模使用的特征点集合ω6为:

ω6={x72,x73,x74,x75};

作为优选的实施方式,嘴巴掩模使用的特征点集合ω7为:

ω7={x48,x49,x50,…,x59};

作为优选的实施方式,人脸皮肤掩模图像f可表示为:

f=f(ω1)-f(ω2)-f(ω3)-f(ω4)-f(ω5)-f(ω6)-f(ω7)

其中,f(ω)代表集合ω围成轮廓的掩模图像。

s8:识别面部的粉刺、皱纹;将步骤s4中分割的人脸图像,通过步骤s5提取出特征数据输入步骤s7中训练后的svm分类器中,识别出面部粉刺、皱纹;如图7所示,将识别出的面部粉刺位置以黑色圆圈标注,识别出的皱纹位置以黑色方框标注。

s9:根据识别出的粉刺个数及皱纹所占面部比例进行皮肤质量的评价。

在本实施方式中,具体评价方式为:满分100分,每识别出一个粉刺减4分,最后减去皱纹所占面部比例乘以100。作为本实施方式的一种实施例,如一张人脸识别出2个粉刺、5%的皱纹,则最终得分为:100-2*4-5=87分。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。

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