基于人脸特征点识别的颜值计算方法与流程

文档序号:15616382发布日期:2018-10-09 21:29阅读:964来源:国知局
本发明属于图像识别
技术领域
,具体涉及一种基于人脸特征点识别的颜值计算方法。
背景技术
:颜值是近几年产生的流行词,指一个人的漂亮程度。颜值高等同于这个人很帅、很漂亮,颜值一般指这个人长相普通。但是对于颜值的评价,没有统一标准,主观性较强。近年来,随着人工智能的出现,使得颜值量化计算成为可能。颜值计算是一个人漂亮程度的量化计算方法,对于提高个人生活品质,帮助提升个人自信有重要作用。现有的颜值计算,通过标记图片分数,利用分类模型进行计算。这种计算方法具有如下缺点:一、基于分类模型并不能在计算颜值的同时计算五官的分别得分,需要给待计算分数的五官分别训练多个模型算法;二、将人的颜值规划为分类问题,这在少量样本(500-5000),少量分类(3-5)情况下识别准确率较低,并且可能因为分类少达不到多样化的效果;三、训练新的分类模型耗费人工、分类模型庞大,并且过程解释性不强。虽然也可以通过类似正多边形极限类似于圆提供更多的分类样本来模糊分类问题,但这个成本及带来的收益却是未知的。技术实现要素:为了解决现有技术存在的上述问题,本发明目的在于提供一种基于人脸特征点识别的颜值计算方法。本发明所采用的技术方案为:基于人脸特征点识别的颜值计算方法,包括如下步骤:s101、将确定人脸图像输入人脸特征点识别模型中,提取并保存确定人脸图像特征值和特征点;将确定人脸图像输入人脸性别分类模型中,识别并保存确定人脸图像性别信息。s102、将用户人脸图像输入人脸特征点识别模型中,提取并保存用户人脸图像的特征值和特征点;将用户人脸图像输入人脸性别分类模型中,识别并保存用户人脸图像性别信息。s103、根据用户人脸图像特征点,计算用户人脸图像脸部及五官尺寸,根据该尺寸计算用户三庭五眼比例,并将该用户三庭五眼比例与标准比例进行比较,利用近似值算法计算用户三庭五眼比例与标准比例的相似度,加权得出第一分数,该第一分数为正数;s104、提取用户人脸图像普通五官和多个确定人脸图像普通五官,计算用户人脸图像普通五官与每个确定人脸图像普通五官之间的豪斯多夫距离,将用户人脸图像普通五官与每个确定人脸图像普通五官之间的豪斯多夫距离相加,得到普通五官距离;所述普通五官为眼睛、眉毛和脸颊;所述普通五官距离为负数;s105、根据步骤s102提取的用户人脸图像特征点与步骤s101提取的多个确定人脸图像特征点,计算用户人脸图像复杂五官的特征点与每个确定人脸图像对应复杂五官的对应特征点分别在x轴和y轴的距离,用户人脸图像复杂五官的特征点与每个确定人脸图像的特征点在x轴和y轴的距离相加,得到复杂五官距离;所述复杂五官为鼻子和嘴巴;所述复杂五官距离为负数;所述普通五官距离与复杂五官距离相加,得到第二分数,该第二分数为负数;s106、根据步骤s102提取的用户人脸图像特征值与步骤s101提取的确定人脸图像特征值进行比较,提取出与用户人脸图像相似度最高的确定人脸图像;计算用户人脸图像特征点与该确定人脸图像对应特征点在x轴和y轴的距离,得到第三分数,该第三分数为负数;所述特征值为根据人脸图像提取的特征矩阵,所述特征点为人脸五官轮廓二维平面的坐标点;所述第一分数、第二分数和第三分数加权计算,得到所述用户人脸图像颜值。本发明的有益效果为:1、由于本发明基于特征点计算人脸图像颜值,基于特征点做简单的加减乘除计算,算法时间复杂度与空间复杂度是较小的常数。由于不需要多个深度学习模型算法,计算速度快。2、基于现有的人脸识别技术识别率达到99.6%以上并且模型优化速度很快,并不需要额外训练模型。由于本发明不需要标记数据,避免因训练多个分类模型需要标记大量数据和确保数据质量的弊端。3、得分范围大,有效拉开差距不至于得分雷同化;结果合理,同一个人同种情况分差很小。4、可以分别计算出五官及脸颊的分数,这些五官分数可以作为其它应用的依据。比如如果眼睛分值较低:美容化妆场景可以针对眼睛化妆;商品推荐可以针对性的推荐眼睛类商品。附图说明图1是人脸图像样本特征点标记位置示意图;图2为人脸及五官尺寸计算示意图;图3为鼻子距离计算选取的特征点示意图;图4为嘴巴距离计算选取的特征点示意图。具体实施方式下面结合附图及具体实施例对本发明做进一步阐释。基于人脸特征点识别的颜值计算方法,包括如下步骤:s101、将确定人脸图像输入人脸特征点识别模型中,提取并保存确定人脸图像特征值和特征点;将确定人脸图像输入人脸性别分类模型中,识别并保存确定人脸图像性别信息。确定人脸图像为主观上认为颜值较高的图像,确定人脸图像存储于数据库中,并按照男女性别分类分别保存。主观上认为颜值较高的人可以是从医学上看,五官匀称,部分五官或者脸型之一漂亮,并且没有特别明显缺陷的人;也可以通过网络投票选择大多数人认为漂亮的人;可以是明星,也可以是个人选择的图片。数据库中的人脸图像在500张以上,较大的数据集(数据集指大量人脸图像的集合,大量指500张以上)可以平均化五官或者脸型在一个较高的标准,加入数据库的数据集要求客观准确、人脸角度正、五官无遮掩。加入数据库的人脸图像由人工进行挑选,为了加快挑选过程,也可以利用搜索引擎初选后再由人工进行挑选,以保证加入数据库的人脸图像的质量。在一种实施例中,在将人脸图像输入到数据库中之前,需要将人脸图像进行归一化处理,该归一化处理包括将人脸图像在空间和大小归一化。大小归一化为将每张人脸图像设置为同样的像素大小。空间归一化为每张人脸图像各点相对于原点(0,0)的位置和大小一样。由于人脸图像处理需要占用较多的时间,预处理人脸图像库可以加快后续计算速度。s102、将用户人脸图像输入人脸特征点识别模型中,提取并保存用户人脸图像的特征值和特征点;将用户人脸图像输入人脸性别分类模型中,识别并保存用户人脸图像性别信息。用户人脸图像可来源于照片、视频,也可以是采用摄像头对着人脸时,实时提取的人脸图像。s103、根据用户人脸图像特征点,计算用户人脸图像脸部及五官尺寸,根据该尺寸计算用户三庭五眼比例,并将该用户三庭五眼比例与标准比例进行比较,利用近似值算法计算用户三庭五眼比例与标准比例的相似度,加权得出第一分数。参见图2:脸部及五官尺寸为脸部及五官的宽度和长度,包括但不限于脸宽、脸长、三庭之中庭、嘴巴张开高度、上嘴唇厚度、嘴巴宽度、下巴高度(即鼻尖到下巴尖高度)、眉毛到嘴巴高度、下嘴唇到下巴距离、上嘴唇到下巴距离、嘴巴宽度、左眼宽度、右眼宽度、眼间距、左眼到脸距离、右眼到脸距离、眼眉高度(眼睛与眉毛之间的距离)、鼻子宽度和鼻子高度。脸部及五官尺寸具体计算方法如表1:表1用户三庭五眼比例包括但不限于脸长与脸宽之比、三庭之中庭与鼻子高度之比、嘴巴张开时,脸宽与嘴宽之比、嘴巴张开时,脸长(眉心到下巴)与嘴宽之比、嘴巴紧闭时,脸宽与嘴宽之比、嘴巴紧闭时,脸长(眉心到下巴)与嘴宽之比、左眼宽与鼻子宽之比、左眼宽与嘴巴宽之比、三庭之中庭与眼眉h3之比、三庭之中庭与眼眉h4之比、三庭之中庭与眼眉h5之比、眉毛到上嘴唇高度与下嘴唇到下巴尖高度之比、下庭与中庭之比。第一分数为三庭五眼比例之和,该第一分数为正数。三庭五眼比例标准值如表2和表3所示:表2表3在本实施例中,利用近似值算法对用户三庭五眼比例与标准比例进行比较,具体算法如下:①similarity=smallnum/(bignum*part/parts);②similarity=similarity>1?2-similarity:similarity;smallnum为用户三庭五眼比例中小的数,bignum为用户三庭五眼比例中大的数,part为标准比例中小的数,parts为标准比例中大的数。如用户比例为:脸长与脸宽之比为150:166,则smallnum为150,bignum为166,part和parts同理。similarity为用户三庭五眼比例与标准比例的相似度。上式中,当①中,similarity值大于1时,similarity值为2减去similarity,否则为原值。similarity为上文计算的相似度,score为得分总分。threshold为相似度阈值这里固定0.7,base是基准分数为100*100。当相似程度similarity低于threshold时总分加1分。在一种实施例中,为了排除颧骨突出的情况,三庭五眼比例还包括脸型比例,该脸型比例由如下方法计算而成:分别取左右眼球的点到对应侧脸部特征点之间在x轴距离和y轴距离,计算x轴距离和y轴距离的比例,并采用上述近似值算法,计算用户脸型比例与标准比例的相似度,取相似度最大的数值加权得到脸型比例分数。第一分数包括该脸型比例分数。现以左半脸为例,首先计算眼球eyeballleft点到特征点2,4,6在x和y轴上距离,分别记做lx1,lx2,lx3,ly1,ly2,ly3。脸型比例和标准值如表4:表4特征点脸型比例标准值权重2ry1:rx196:1444ry2:rx257:3746ry3:rx315:434在计算眼球的点时,默认眼球位于眼睛的中间位置,由眼睛的特征点计算得出眼球点的坐标值。在一种实施例中,还需要对脸部下部脸型比例进行计算,以确定脸部下部轮廓。脸部下部脸型比例分别在左右侧脸选取位于下部的三个对应特征点,并计算该三个对应特征点中相邻两个特征点在x轴距离和y轴距离,计算x轴距离和y轴距离的比例,并采用上述近似值算法,计算用户脸部下部脸型比例与标准比例的相似度,取相似度最大的数值加权得到脸型比例分数。第一分数包括该脸型比例分数。在一种示例性实施例中,取左脸特征点为6,7,8,右脸对应特征点为13,12,11,分别计算特征点6和特征点7在x轴和y轴上的距离,记作x1和y1,计算特征点7和特征点8在x轴和y轴上的距离,记作x2和y2,同理计算右眼特征点。脸部下部脸型比例与标准值如表5:表5特征点脸型比例标准值权重6和7x2:y29:2157和8x1:y120:415表2~表5中的标准值均为预设值。s104、提取用户人脸图像普通五官和多个确定人脸图像普通五官,计算用户人脸图像普通五官与每个确定人脸图像普通五官之间的豪斯多夫距离,将用户人脸图像普通五官与每个确定人脸图像普通五官之间的豪斯多夫距离相加,得到普通五官距离。该普通五官为眼睛、眉毛和脸颊。该普通五官距离为负数。首先,根据s102提取的用户人脸图像性别信息,在数据库中提取对应性别的多个确定人脸图像。多个指2个以上,在一种实施例中,在数据库中提取对应性别的100个确定人脸图像。由于男性和女性在五官上有较大差异,因此,在一种实施例中,当用户人脸图像为男性,则在数据库中提取的确定人脸图像为男性,当用户人脸图像为女性,则在数据库中提取的确定人脸图像为女性。在计算豪斯多夫距离之前,还需要对用户人脸图像和确定人脸图像归一化处理,该归一化处理包括将用户人脸图像和普通人脸图像在空间和大小归一化。大小归一化为将用户人脸图像和普通人脸图像设置为同样的像素大小。空间归一化为将用户人脸图像和普通人脸图像各点相对于原点(0,0)的位置和大小一样。提取用户人脸图像普通五官和确定人脸图像普通五官,计算用户人脸图像和确定人脸图像各普通五官的豪斯多夫距离,得到普通五官距离。普通五官为眼睛、眉毛和脸颊。普通五官距离包括眼睛距离、眉毛距离和脸颊距离,眼睛距离、眉毛距离和脸颊距离相加,得到普通五官距离。在一种实施例中,分别提取用户人脸图像和确定人脸图像的眼睛,使用户人脸图像与确定人脸图像眼睛的原点重合。分别计算用户人脸图像眼睛轮廓的某一点到确定人脸图像眼睛轮廓的各点之间的距离最小值,并取这些距离最小值中的最大值,即为眼睛距离。对于眉毛距离和脸颊距离与眼睛距离计算方法相同,在此不再累述。在一种实施例中,需要计算用户人脸图像与每个确定人脸图像普通五官的距离。即提取100个普通人脸图像,则分别计算用户人脸图像普通五官与100个确定人脸图像普通五官的豪斯多夫距离,将这100个豪斯多夫距离相加,得到普通五官距离。普通五官距离表示该用户人脸图像普通五官与数据库中确定人脸图像普通五官之间的相似度,距离越大,相似度越小(即越不相似)。因此,在将普通五官距离计算成分数时,需要将其设置为负数。s105、根据步骤s102提取的用户人脸图像特征点与步骤s101提取的多个确定人脸图像特征点,计算用户人脸图像复杂五官的特征点与每个确定人脸图像对应复杂五官的对应特征点分别在x轴和y轴的距离,用户人脸图像复杂五官的特征点与每个确定人脸图像的特征点在x轴和y轴的距离相加,得到复杂五官距离;所述复杂五官为鼻子和嘴巴;所述复杂五官距离为负数。相对于普通五官,复杂五官更多决定一个人的颜值。复杂五官为鼻子和嘴巴。提取用户人脸图像复杂五官特征点,提取与用户人脸图像性别相同的多个确定人脸图像对应复杂五官特征点,分别计算用户人脸图像复杂五官每个特征点与每个确定人脸图像对应复杂五官的对应特征点在x轴和y轴的距离,将每个x轴和y轴距离相加,得到复杂五官距离。多个指两个以上,在一种实施例中,提取100个确定人脸图像。参见图3:在一种实施例中,鼻子的特征点取代表鼻子长度的两个端点和代表鼻子宽度的两个端点加上中间点,一共5个特征点。提取用户人脸图像鼻子的上述5个特征点和100张确定人脸图像鼻子的对应5个特征点,分别计算用户人脸图像的5个特征点与每个确定人脸图像对应5个特征点在x轴和y轴的距离,将该5个特征点在x轴和y轴的距离相加,并将100张人脸图像在x轴和y轴的距离相加,得到鼻子距离。参见图4:在一种实施例中,嘴巴的特征点取代表嘴巴宽度的两个端点、代表上嘴唇弧度的中间三个点和代表下嘴唇弧度的中间三个点,一共8个特征点。对于嘴巴距离的计算与鼻子距离的计算方法相同,在此不再累述。复杂五官距离表示该用户人脸图像复杂五官与数据库中确定人脸图像复杂五官之间的相似度,距离越大,相似度越小(即越不相似)。因此,在将复杂五官距离计算成分数时,需要将其设置为负数。将普通五官距离与复杂五官距离相加,得到第二分数,该第二分数为负数。s106、根据步骤s102提取的用户人脸图像特征值与步骤s101提取的确定人脸图像特征值进行比较,提取出与用户人脸图像相似度最高的确定人脸图像;计算用户人脸图像特征点与该确定人脸图像对应特征点在x轴和y轴的距离,得到第三分数,该第三分数为负数。特征值为根据人脸图像提取的特征矩阵,该特征值能够描述该人脸图像,本实施例中,提取的特征值为1024byte。特征点为人脸部轮廓及五官轮廓二维平面的坐标点。将提取的用户人脸图像特征值与数据库中对应性别的确定人脸图像特征值进行比较,提取出与该用户人脸图像相似度最高的确定人脸图像,该确定人脸图像为一张。计算该用户人脸图像特征点与该确定人脸图像对应特征点在x轴和y轴的距离,特征点包括提取的68个特征点,将该68个特征点在x轴和y轴的距离相加,得到第三分数。用户人脸图像特征点与确定人脸图像特征点在x轴和y轴的距离越大,表示两张图像相似度越小(即越不相似)。因此,在将上述距离计算成分数时,需要将其设置为负数,即第三分数为负数。将第一分数、第二分数和第三分数乘以对应权重,并相加,得到用户人脸图像颜值。权重值为根据经验得到的一个确定数值。在一种实施例中,第一分数、第二分数和第三分数的权重值分别为6、5和4。当然,在计算用户人脸图像与确定人脸图像特征点在x轴和y轴的距离之前,需要将两张图像作归一化处理,归一化处理方法同上,在此不再累述。在一种实施例中,在s101步骤之前,还包括对人脸识别模型的训练。具体方法如下:s201、将人工标记有特征点的人脸图像样本输入到神经网络训练模型中进行训练,得到人脸特征点识别模型,该人脸特征点识别模型用于提取人脸图像的特征值,识别人脸图像的特征点。在将人脸图像样本输入到神经网络之前,需要将人脸图像样本进行归一化处理,该归一化处理方法同在,在此不再累述。参见图1:在首次训练中,采用人工对每张人脸图像样本进行特征点的标记,特征点沿人脸图像样本中人脸轮廓、五官轮廓进行标记。特征点的个数可按需要进行设置,本实施例中,沿每张人脸图像样本中人脸轮廓、五官轮廓标记68个特征点,包括人脸轮廓17个,眼睛轮廓包括左右眼各6个,左右眉毛各5个,鼻子9个,嘴巴20个。由于帽子、头发会遮挡额头,所以,在额头上不再标记特征点。特征点标记过少,无法准确反映人脸及五官特征;特征点标记过多,计算量较大,影响计算速度,本发明将特征点设置为68个,既能较好的反映人脸轮廓和五官形状,又不影响计算速度,计算速度快。神经网络训练模型采用facenet神经网络模型(facenet神经网络模型是google(谷歌)团队开发的人脸识别系统提出的神经网络模型)。其在训练人脸图像样本采用caffe框架(caffe英文全称为convolutionalarchitectureforfastfeatureembedding,卷积神经网络框架),可以直接将人脸图像映射到欧几里得空间,空间距离的长度代表了人脸图像的相似性。本发明采用该训练模型,能够识别人脸的的特征值和特征点,特征值为1024byte特征,特征点为上述标记的68个特征点。本发明采用facenet神经网络训练模型对人脸图像的特征点进行训练,facenet识别准确率很高,位于全球最好的结果99.6%-99.7%之间,facenet分别在labeledfacesinthewild(lfw)和youtubefacesdb数据集上识别正确率达到99.63%和95.12%。facenet由于只用128byte标示一张人脸特征值,并且使用三元损失函数(损失函数是一种衡量当前模型识别损失和错误程度的函数,在训练过程用于逐渐矫正网络模型的参数使其准确率逐渐提供)使结果更快收敛。128byte更少的人脸特征标示意味着在人脸比对过程使用时间更短,以及三元损失函数相对于传统的损失函数softmax算法复杂度更低,因此神经网络facenet在训练和识别速度都比较快。速度和准确率在工业使用都是必要考虑因素。google团队开发的facenet神经网络训练模型使用了两种卷积模型。第一种简称nn1,第二种简称nn2。nn2是googlenet式的inception模型,本发明采用nn2作为神经网络训练模型。nn2模型参数只需要4.3m,是nn1的20分之一;每张图片需要cpu计算资源20mflops,是nn1的五分之一。在一个实施例中,在步骤s101之前,还包括如下步骤:s301、通过opencv计算机视觉库提取确定性别的人脸图像样本的hog特征。s302、将步骤s301提取的人脸图像样本的hog特征输入svm分类器中进行训练,得到性别分类模型,该性别分类模型用于识别人脸图像的性别。由于男性和女性在五官上有较大差异,因此,本发明方法中,还涉及到对人脸图像样本性别的识别训练。在对人脸图像样本进行特征点的训练之前,还需要将人脸图像样本按性别分类,该分类的步骤可以发生在对人脸图像样本进行人工标记之前,也可以发生在对人脸图像样本进行人工标记之后。本实施例中,将人脸图像样本按男女分为两类,采用人工对人脸图像样本进行特征点标记,并将人脸图像样本进行归一化处理。由于性别识别是一个二分类问题,本发明采用方向梯度直方图(histogramoforientedgradient,简称hog)特征结合支持向量机(supportvectormachine,简称svm)分类器训练人脸图像样本。opencv计算机视觉库是一个基于bsd许可(开源)发行的跨平台计算机视觉库,可以运行在linux、windows、android和macos操作系统上,其用于提取人脸图像样本的hog特征。s303提取的人脸图像样本的hog特征输入svm分类器中进行训练,得到性别分类模型,该性别分类模型能够识别人脸图像的性别。方向梯度直方图(histogramoforientedgradient,hog)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子。hog特征通过计算和统计图像局部区域的梯度方向直方图来构成特征。首先,由于hog是在图像的局部方格单元上操作,所以它对图像几何的和光学的形变都能保持很好的不变性,这两种形变只会出现在更大的空间领域上。其次,在粗的空域抽样、精细的方向抽样以及较强的局部光学归一化等条件下,只要行人大体上能够保持直立的姿势,可以容许行人有一些细微的肢体动作,这些细微的动作可以被忽略而不影响检测效果。因此hog特征是特别适合于做图像中的人体检测的。svm是常见的一种判别方法。在机器学习领域,是一个有监督的学习模型,通常用来进行模式识别、分类以及回归分析。本发明不局限于上述可选的实施方式,任何人在本发明的启示下都可得出其他各种形式的产品。上述具体实施方式不应理解成对本发明的保护范围的限制,本发明的保护范围应当以权利要求书中界定的为准,并且说明书可以用于解释权利要求书。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1