本发明涉及计算机视觉技术领域,尤其涉及一种基于深度学习的人脸验证方法及系统。
背景技术
生物特征识别技术是目前最为方便、安全的身份识别技术,生物特征识别技术识别的是人本身,不需要人身之外的标识物。生物特征识别技术利用人的生理特征和行为特征进行身份识别,主要有指纹识别、人脸识别、虹膜识别、步态识别等。其中,人脸识别是当前生物特征识别领域的一大热点。它与目前广泛应用的指纹识别技术相比,有着直观性、方便性、非接触性、友好性、用户接受度高等显著优点。
人脸识别的核心之一为人脸验证,常用的人脸验证技术是基于人的脸部特征,对输入的人脸图像或者视频流进行判断,首先判断是否存在人脸,如果存在,则进一步给出人脸所在的位置,大小,也既是人脸定位,并根据这些信息进一步提取出人脸的传统特征信息,最后将其与已知的人脸对比,从而验证每个人脸的身份。现有的人脸验证技术虽然验证速度快,但是受环境影响较大,例如,当人脸被配饰遮挡或者受胡须干扰时,将会干扰人脸验证的判别,导致验证的结果不够准确。
技术实现要素:
本发明的目的在于提供一种基于深度学习的人脸验证方法及系统,能够准确检测带有体毛或者配饰物的人脸,提高人脸识别的适用范围和准确率。
为了实现上述目的,本发明一方面提供一种基于深度学习的人脸验证方法,包括:
基于多张第一图像构建第一图像集,以及基于多张第二图像构建第二图像集;
对应的根据所述第一图像集训练人脸检测模型,以及根据所述第二图像集训练特征提取模型;
将包含人脸的待检测图像输入所述人脸检测模型,提取出待验证人脸图像;
利用所述特征提取模型处理校正所述待验证人脸图像,并提取各所述待验证人脸图像中的人脸特征信息;
基于所述人脸特征信息计算任意两张所述待验证人脸图像的相似度,获取所述的两个待验证人脸图像的验证结果。
优选地,所述第一图像集包括多个人的普通人脸图像集合,所述普通人脸图像集合又包括多张一类人脸图像、多张二类人脸图像、多张三类人脸图像中的一种或多种;
所述一类人脸图像为正常人脸图像,所述二类人脸图像为体毛遮挡人脸图像,所述三类人脸图像为配饰遮挡人脸图像。
较佳地,所述根据第一图像集训练人脸检测模型的方法包括:
分别对各所述第一图像进行信息标注,所述信息标注的内容包括图片大小、路径信息和图片分类信息;
依次对所述第一图像及其对应的所述信息标注进行数据清洗和归一化处理;
利用深度神经网络对所述人脸图像结合对应的所述信息标注进行人脸检测训练,得到人脸检测模型。
较佳地,所述根据第二图像集训练特征提取模型的方法包括:
将所述第二图像集以人为单位进行人脸分类,每一人脸分类包括同一人的多张所述第二图像;
依次对所述第二图像及其对应的所述信息标注进行数据清洗和归一化处理;
分别对所述第二图像进行信息标注,所述信息标注的内容包括第二图像的路径信息和人脸分类名称;
利用sphereface神经网络对每一人脸分类中的所述第二图像,结合对应的所述信息标注进行特征提取训练,得到特征提取模型。
可选地,所述依次对第一图像及其对应的信息标注进行数据清洗和归一化处理的方法包括:
将各所述信息标注统一转换成xml格式的文本;
剔除低质量的所述第一图像及其对应的所述信息标注,以及剔除不规范的所述信息标注及其对应的所述第一图像;
分别对所述第一图像进行统一尺寸的调整。
可选地,所述依次对第二图像进行数据清洗和归一化处理的方法包括:
剔除低质量的所述第二图像,并分别对所述第二图像进行统一尺寸的调整;
将各所述第二图像统一转换成lmdb格式的图像。
具体地,所述利用特征提取模型处理校正待验证人脸图像,并提取各待验证人脸图像中的人脸特征信息的方法包括:
接收提取出的多张待验证人脸图像,基于预设裁剪坐标对各所述待验证人脸图像中的人脸进行裁剪优化;
从优化裁剪后的各所述待验证人脸图像中提取68个关键点位,并基于所述68个关键点位对各所述待验证人脸图像中的人脸进行矫正和归一化处理;
基于sphereface深度神经网络提取各所述待验证人脸图像中人脸的512维特征,并对其镜像得到对应的镜像512维特征;
根据各所述待验证人脸图像中人脸的512维特征及其对应的镜像512维特征,得到所述待验证人脸图像中人脸的1024维人脸特征信息。
示例性地,所述从优化裁剪后的各待验证人脸图像中提取68个关键点位的方法包括:
使用dlib工具和opencv工具从优化裁剪后的各待验证人脸图像中提取68个关键点位。
优选地,所述基于人脸特征信息计算任意两个待验证人脸图像的相似度,获取所述的两个待验证人脸图像的验证结果的方法包括:
选择任意两个待验证人脸图像,获取各自对应的1024维人脸特征信息f1和f2;
通过余弦相似度公式计算f1和f2的相似度得到两个待验证人脸图像的相似度;
当两个待验证人脸图像的相似度大于阈值时,验证结果为同一人,否则验证结果为非同一人。
与现有技术相比,本发明提供的基于深度学习的人脸验证方法具有以下有益效果:
本发明提供的基于深度学习的人脸验证方法中,第一图像集中包括多个普通人脸图像集合,其中,第一图像(普通人脸图像)是指正常拍摄的包括人脸的图像,也即除人脸之外还包括其他内容的图像,例如,拍摄的某一人全身图像,该图像除了人脸之外还包括手、腿等其他图像,其中,人脸检测模型的训练方法是将第一图像集细化为三种类型的图片,即正常人脸图像、体毛遮挡人脸图像和配饰遮挡人脸图像,由于图像的数量足够多,类型足够丰富,因此基于这些图像训练得来的人脸检测模型不仅能够准确检测正常人脸图像、而且还能够准确检测体毛遮挡人脸图像和配饰遮挡人脸图像,例如大胡子人脸图像和戴墨镜人脸图像,以使本发明中的人脸检测模型具有检测结果精确、适用范围广泛的特点;另外,特征提取模型是基于第二图像集训练而成的,第二图像集中包括多个特殊人脸图像集合,第二图像(特殊人脸图像)是指人脸面积大于整张图像90%面积的图像,也即除人脸之外没有其他内容的图像,利用特征提取模型处理校正待验证人脸图像,并提取待验证人脸图像中的人脸特征信息,然后以人脸特征信息为参数结合相似度计算公式计算两张待验证人脸图像的相似度,当相似度大于或等于阈值时,则表示两张待验证人脸图像为同一人,否则,表示两张待验证人脸图像非同一人。
可见,本发明中的人脸检测模型和特征提取模型是基于两组不同的图像集训练而成的,因此人脸检测和特征提取的结果更准确,另外,本发明融合了分类训练的理念,增加了多种类别的训练样本,解决了现有技术中不能够准确检测大胡子人脸图像和戴配饰人脸图像的弊端,进一步提高了本发明人脸验证方法的实用性和识别的准确性。
本发明的另一方面提供一种基于深度学习的人脸验证系统,应用于上述技术方案所述的一种基于深度学习的人脸验证方法中,包括第一图像采集单元、第二图像采集单元、第一模型训练单元、第二模型训练单元、人脸图像获取单元、人脸特征提取单元和人脸验证单元;
所述第一图像采集单元用于基于多张第一图像构建第一图像集;
所述第二图像采集单元用于基于多张第二图像构建第二图像集;
所述第一模型训练单元用于根据所述第一图像集训练人脸检测模型;
所述第二模型训练单元用于根据所述第二图像集训练特征提取模型;
所述人脸图像获取单元用于将包含人脸的待检测图像输入所述人脸检测模型,提取出待验证人脸图像;
所述人脸特征提取单元用于利用所述特征提取模型处理校正所述待验证人脸图像,并提取各所述待验证人脸图像中的人脸特征信息;
所述人脸验证单元用于基于所述人脸特征信息计算任意两张所述待验证人脸图像的相似度,获取所述的两个待验证人脸图像的验证结果。
优选地,所述人脸特征提取单元包括依次连接的裁剪优化模块、矫正处理模块、镜像模块和特征提取模块,所述裁剪优化模块的输入端和所述人脸图像获取单元的输出端连接,所述特征提取模块的输出端与所述人脸验证单元的输入端连接;
所述裁剪优化模块用于接收提取出的多张待检测人脸图像,基于预设裁剪坐标对各待检测人脸图像中的人脸进行裁剪优化;
所述矫正处理模块用于从优化裁剪后的各待检测人脸图像中提取68个关键点位,并基于68个关键点位对各待检测人脸图像中的人脸进行矫正和归一化处理;
所述镜像模块用于基于sphereface神经网络提取各待验证人脸图像中人脸的512维特征,并对其镜像得到对应的镜像512维特征;
所述特征提取模块用于根据各待验证人脸图像中人脸的512维特征及其对应的镜像512维特征,得到待验证人脸图像中人脸的1024维人脸特征信息。
与现有技术相比,本发明提供的基于深度学习的人脸验证系统的有益效果与上述技术方案提供的基于深度学习的人脸验证方法的有益效果相同,在此不做赘述。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例一中基于深度学习的人脸验证方法的流程示意图;
图2为本发明实施例一中人脸检测模型的训练方法流程示意图;
图3为本发明实施例一中特征提取模型的训练方法流程示意图;
图4为本发明实施例二中基于深度学习的人脸验证系统的结构示意图。
附图标记:
1-第一图像采集单元,2-第二图像采集单元;
3-第一模型训练单元,4-第二模型训练单元;
5-人脸图像获取单元,6-人脸特征提取单元;
61-裁剪优化模块,62-矫正处理模块;
63-镜像模块,64-特征提取模块;
7-人脸验证单元。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其它实施例,均属于本发明保护的范围。
实施例一
图1为本发明实施例一中基于深度学习的人脸验证方法的流程示意图。请参阅图1,本实施例提供一种基于深度学习的人脸验证方法,包括:
基于多张第一图像构建第一图像集,以及基于多张第二图像构建第二图像集;对应的根据第一图像集训练人脸检测模型,以及根据第二图像集训练特征提取模型;将包含人脸的待检测图像输入人脸检测模型,提取出待验证人脸图像;利用特征提取模型处理校正待验证人脸图像,并提取各待验证人脸图像中的人脸特征信息;基于人脸特征信息计算任意两张待验证人脸图像的相似度,获取的两个待验证人脸图像的验证结果。
其中,第一图像集包括多个人的普通人脸图像集合,普通人脸图像集合又包括多张一类人脸图像、多张二类人脸图像、多张三类人脸图像中的一种或多种;一类人脸图像为正常人脸图像,二类人脸图像为体毛遮挡人脸图像,三类人脸图像为配饰遮挡人脸图像。
本实施例提供的基于深度学习的人脸验证方法中,第一图像集中包括多个普通人脸图像集合,第一图像(普通人脸图像)是指正常拍摄的包括人脸的图像,也即除人脸之外还包括其他内容的图像,例如,拍摄的某一人全身图像,该图像除了人脸之外还包括手、腿等其他图像,其中,人脸检测模型的训练方法是将第一图像集细化为三种类型的图片,即正常人脸图像、体毛遮挡人脸图像和配饰遮挡人脸图像,由于图像的数量足够多,类型足够丰富,因此基于这些图像训练得来的人脸检测模型不仅能够准确检测正常人脸图像、而且还能够准确检测体毛遮挡人脸图像和配饰遮挡人脸图像,例如大胡子人脸图像和戴墨镜人脸图像,以使本实施例中的人脸检测模型具有检测结果精确、适用范围广泛的特点;另外,特征提取模型是基于第二图像集训练而成的,第二图像集中包括多个特殊人脸图像集合,第二图像(特殊人脸图像)是指人脸面积大于整张图像90%面积的图像,也即除人脸之外没有其他内容的图像,利用特征提取模型处理校正待验证人脸图像,并提取待验证人脸图像中的人脸特征信息,然后以人脸特征信息为参数结合相似度计算公式计算两张待验证人脸图像的相似度,当相似度大于或等于阈值时,则表示两张待验证人脸图像为同一人,否则,表示两张待验证人脸图像非同一人。
可见,本实施例中的人脸检测模型和特征提取模型是基于两组不同的图像集训练而成的,因此人脸检测和特征提取的结果更准确,另外,本实施例融合了分类训练的理念,增加了多种类别的训练样本,解决了现有技术中不能够准确识别大胡子人脸图像和戴配饰人脸图像的弊端,进一步提高了本实施例人脸验证方法的实用性和识别的准确性。
具体地,请参阅图2,上述实施例中根据第一图像集训练人脸检测模型的方法包括:
分别对各所述第一图像进行信息标注,所述信息标注的内容包括图片大小、路径信息和图片分类信息;依次对所述第一图像及其对应的所述信息标注进行数据清洗和归一化处理;利用sphereface神经网络对所述第一图像结合对应的所述信息标注进行人脸检测训练,得到人脸检测模型。
具体实施时,获取第一图像的途径多种多样,例如从网络上爬取、由用户直接提供或者从标准图片数据库中提取,当基于获取到的多张第一图像构建完成第一图像集之后,进一步的,还需分别对每一张第一图像进行信息标注,其中,信息标注的格式顺序如下:图片尺寸大小、存储路径信息、图片名称和图片分类信息,图片名称是指对图像内容的标识名称,图片分类信息是指按照图片内容分为一类人脸图像、二类人脸图像和三类人脸图像,然后将信息标注转换成xml格式,并剔除不合格的人脸图像或者信息标注,以实现对人脸图像及其对应的信息标注的数据清洗和归一化处理,最后利用sphereface神经网络对第一图像及其对应的信息标注进行人脸检测训练,得到人脸检测模型。对应具体的人脸检测训练过程,由于为本领域常规的技术手段,本实施例在此不做赘述。
另外,请参阅图3,上述实施例中根据第二图像集训练特征提取模型的方法包括:
将第二图像集以人为单位进行人脸分类,每一人脸分类包括同一人的多张第二图像;对所述第二图像进行数据清洗和归一化处理;分别对第二图像进行信息标注,信息标注的内容包括第二图像的路径信息和人脸分类名称;利用sphereface神经网络对每一人脸分类中的第二图像,结合对应的信息标注进行特征提取训练,得到特征提取模型。
具体实施时,同样需通过从网络上爬取、由用户直接提供,从标准图片数据库中调取这三种途径获取第二图像,与人脸检测模型构建的区别是,在构建特征提取模型的过程中,需首先将训练图像集以人为单位进行第二图像的人脸分类,然后分别对第二图像进行数据清洗和归一化处理,其中,每一人脸分类包括同一人的多张第二图像,例如,每一人脸分类的第二图像数目为200-500张为佳,其他训练步骤和人脸检测模型的训练步骤大同小异,即,需要分别对每一张第二图像进行信息标注,其中,信息标注的格式顺序如下:第二图像的路径信息和人脸分类名称,人脸分类名称是指标识清楚是谁的人脸,剔除不合格的第二图像或者信息标注,并将第二图像转换成lmdb格式,最后利用sphereface神经网络对每个人脸分类中的第二图像及其对应的信息标注进行人脸特征提取训练,得到特征提取模型。对应具体的人脸提取训练过程为本领域常规的技术手段,本实施例在此不做赘述。
可见,本实施例通过将jpg或者png格式的图像转换成统一的lmdb格式能够显著提升人脸特征提取模型的训练速度,通过对信息标注进行数据清洗能够保证训练样本的准确性,进而提高特征提取模型识别结果的准确性。
其中,上述实施例中依次对第一图像及其对应的信息标注进行数据清洗和归一化处理的方法包括:将各信息标注统一转换成xml格式的文本;剔除低质量的第一图像及其对应的信息标注,以及剔除不规范的信息标注及其对应的第一图像;分别对第一图像进行统一尺寸的调整。上述实施例中依次对第二图像进行数据清洗和归一化处理的方法包括:剔除低质量的第二图像,并分别对第二图像进行统一尺寸的调整,将各第二图像统一转换成lmdb格式的图像。其中,人脸不健全或者分辨率较低的人脸图像统称为低质量的人脸图像,错标、漏标等信息标注统称为不规范的信息标注。
上述实施例中的利用特征提取模型处理校正待验证人脸图像,并提取各待验证人脸图像中的人脸特征信息的方法包括:
接收提取出的多张待验证人脸图像,基于预设裁剪坐标对各待验证人脸图像中的人脸进行裁剪优化;从优化裁剪后的各待验证人脸图像中提取68个关键点位,并基于68个关键点位对各待验证人脸图像中的人脸进行矫正和归一化处理;基于sphereface神经网络提取各待验证人脸图像中人脸的512维特征,并对其镜像得到对应的镜像512维特征;根据各待验证人脸图像中人脸的512维特征及其对应的镜像512维特征,得到待验证人脸图像中人脸的1024维人脸特征信息。
进一步地,基于人脸特征信息计算任意两个待验证人脸图像的相似度,获取所述的两个待验证人脸图像的验证结果的方法包括:
选择任意两个待验证人脸图像,获取各自对应的1024维人脸特征信息f1和f2;通过余弦相似度公式计算f1和f2的相似度得到两个待验证人脸图像的相似度;当两个待验证人脸图像的相似度大于阈值时,验证结果为同一人,否则验证结果为非同一人。
具体实施时,基于预设的裁剪坐标对待验证人脸图像进行优化裁剪,过滤掉无关内容只保存特定的人脸部分图像,然后从优化裁剪后的各待验证人脸图像中提取68个关键点位,并基于这68个关键点位对人脸部分图像进行矫正处理,若矫正处理后的图片不合格则直接剔除,若合格则将优化裁剪后的待验证人脸图像输出保存,以便于特征提取模型对人脸特征信息的识别和提取,进而,基于sphereface神经网络提取上述保存的待验证人脸图像中人脸的512维特征,并对其镜像得到对应的镜像512维特征,并根据各待验证人脸图像中人脸的512维特征及其对应的镜像512维特征,得到待验证人脸图像中人脸的1024维人脸特征信息。相比较于只提取人脸图像中人脸的512维特征,本实施例通过对其镜像,获取待验证人脸图像中人脸的1024维特征,能够进一步的保证人脸图像验证结果的准确性。
示例性地,从优化裁剪后的各待验证人脸图像中提取68个关键点位的方法包括:使用dlib工具和opencv工具从优化裁剪后的各待验证人脸图像中提取68个关键点位。
在人脸验证的过程中,选择任意两个图像(i1、i2),判断i1图像和i2图像中是否存在人脸图像,若均存在,则通过人脸检测模型识别出人脸图像(face1,face2),并使用68个关键点定位出人脸图像face1和人脸图像face2中的人脸特征点,得到特征点集合fea1(x1,x2,…,x68)和fea2(x1,x2,…,x68),并对
fea1(x1,x2,…,x68)和fea1(x1,x2,…,x68)进行人脸对齐处理,以便于人脸特征信息的准确提取,接着基于sphereface神经网络对应提取待检测人脸图像中人脸的1024维人脸特征信息,得到f1(x1,x2,…,x1024)和f2(x1,x2,…,x1024),通过余弦相似度公式计算f1(x1,x2,…,x1024)和f2(x1,x2,…,x1024)相似度值得到两个待检测人脸图像的相似度sim,当相似度sim大于阈值时,验证结果为同一人,否则验证结果为非同一人。
可以理解的是,若一个图像i1中存在n个人脸图像时,n≥2,则分别提取多个人脸图像(face11,face12,…,facen),按照如上方法获取每个人脸图像的1024维人脸特征信息,得到f11(x1,x2,…,x1024)、f12(x1,x2,…,x1024)……
fn(x1,x2,…,x1024),然后分别计算其与f2(x1,x2,…,x1024)的相似度值得到与f2中人脸图像的相似度sim1、sim2……simn,筛选出大于阈值的相似度值,验证对应人脸图像为同一人。
实施例二
请参阅图1和图4,本实施例提供一种基于深度学习的人脸验证系统,包括第一图像采集单元1、第二图像采集单元2、第一模型训练单元3、第二模型训练单元4、人脸图像获取单元5、人脸特征提取单元6和人脸验证单元7;第一图像采集单元1的输出端与第一模型训练单元3的输入端连接,第二图像采集单元2的输出端与第二模型训练单元4的输入端连接,第一模型训练单元3和第二模型训练单元4的输出端分别与人脸图像获取单元5的输入端连接,人脸图像获取单元5的输出端与人脸特征提取单元6的输入端连接,人脸特征提取单元6的输出端与人脸验证单元7的输入端连接;
第一图像采集单元1用于基于多张第一图像构建第一图像集;
第二图像采集单元2用于基于多张第二图像构建第二图像集;
第一模型训练单元3用于根据第一图像集训练人脸检测模型;
第二模型训练单元4用于根据第二图像集训练特征提取模型;
人脸图像获取单元5用于将包含人脸的待检测图像输入人脸检测模型,提取出待验证人脸图像;
人脸特征提取单元6用于利用特征提取模型处理校正待验证人脸图像,并提取各待验证人脸图像中的人脸特征信息;
人脸验证单元7用于基于人脸特征信息计算任意两张待验证人脸图像的相似度,获取的两个待验证人脸图像的验证结果。
其中,人脸特征提取单元6包括依次连接的裁剪优化模块61、矫正处理模块62、镜像模块63和特征提取模块64,裁剪优化模块61的输入端和人脸图像获取单元5的输出端连接,特征提取模块64的输出端与人脸验证单元7的输入端连接;
裁剪优化模块61用于接收提取出的多张待检测人脸图像,基于预设裁剪坐标对各待检测人脸图像中的人脸进行裁剪优化;
矫正处理模块62用于从优化裁剪后的各待验证人脸图像中提取68个关键点位,并基于68个关键点位对各待验证人脸图像中的人脸进行矫正和归一化处理;
镜像模块63用于基于sphereface神经网络提取各待验证人脸图像中人脸的512维特征,并对其镜像得到对应的镜像512维特征;
特征提取模块64用于根据各待验证人脸图像中人脸的512维特征及其对应的镜像512维特征,得到待验证人脸图像中人脸的1024维人脸特征信息。
与现有技术相比,本发明实施例提供的基于深度学习的人脸验证系统的有益效果与上述实施例一提供的基于深度学习的人脸验证方法的有益效果相同,在此不做赘述。
本领域普通技术人员可以理解,实现上述发明方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,上述程序可以存储于计算机可读取存储介质中,该程序在执行时,包括上述实施例方法的各步骤,而所述的存储介质可以是:rom/ram、磁碟、光盘、存储卡等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。