本发明涉及图像处理与模式识别领域,特别是涉及一种人脸属性不变鲁棒性人脸识别方法及系统。
背景技术:
人脸身份识别技术经过大半个世纪发展,已经取得了实质性进展,在可控环境下已经达到应用水平。但在实际应用中,特别是极其复杂环境下,如人口密集或流动性强的市场、商场、超市等场所,发现它仍不够完善,容易受人脸光照、姿态、表情、遮挡、年龄和整形等综合因素干扰。由于复杂环境下人脸识别应用中,面临着巨大的人脸光照、姿态、遮挡、低分辨率等各种复杂变化,使得目前大部分人脸技术无法使用。
针对人脸光照、姿态、表情和分辨率等变化问题,目前出现大量的解决方案和方法。但目前方法往往只是针对某一类问题进行研究,提出的方法也只能解决其中某一个问题。如,有些方法能解决人脸光照变化问题,而有些方法能解决人脸姿态变化问题,而另一些方法能解决人脸表情变化问题。这些方法面对人脸同时具有光照、姿态、表情和分辨率变化时,却无能为力。即目前没有一种方法能同时解决人脸的光照、姿态、表情和分辨率变化及其组合变化问题。
技术实现要素:
本发明的目的是提供一种人脸属性不变鲁棒性人脸识别方法及系统,以解决上述现有技术存在的问题,能够解决人脸的光照、姿态、表情、遮挡和分辨率同时变化及其组合变化等复杂环境下的人脸识别,并且保持人脸属性不变,鲁棒性高。
为实现上述目的,本发明提供了如下方案:本发明提供一种人脸属性不变鲁棒性人脸识别方法,包括如下步骤:
s1、提取人脸特征:将采集的人脸图像利用卷积神经网络cnn进行表示学习,提取人脸高层语义特征;
s2、估计人脸属性:人脸属性包括若干类别,通过对若干种类别进行组合,得到人脸属性集;基于人脸高层语义特征,利用随机森林分类方法进行人脸属性识别,得到人脸属性估计结果;所述人脸属性类别包括分辨率、姿态、光照、表情、遮挡;
s3、构建并选择人脸属性子字典:收集多属性人脸图像作为人脸训练集,根据属性类别数对所述训练集进行分类,对每类训练集采用深度字典学习模型单独训练优化得到子字典,然后将各类子字典利用协同学习进行微调和优化,并融合组成人脸属性字典;根据步骤s2得到的人脸属性选择对应的子字典,作为属性不变人脸特征提取的稀疏表示基空间;
s4、属性不变人脸特征提取:利用步骤s1得到的人脸特征和步骤s3得到的子字典,利用深度稀疏表示模型进行属性不变人脸特征提取;
s5、人脸分类识别:对步骤s4得到的属性不变人脸特征进行分类识别。
优选的,所述cnn采用googlenet、restnet50、darknet或efficientnet网络模型,并使用迁移学习策略将网络模型在公开人脸数据库lfw和ytf上进行预训练。
优选的,所述的深度字典学习方法,其模型表示为:
其中,ac为第c类子字典训练样本矩阵;
式中,g(·)为非线性激活函数,
优选的,步骤s3中协同学习微调和优化的目标函数为:
式中,d为最终求解的属性字典;
优选的,所述深度稀疏表示模型表示为:
式中,y表示人脸特征,dc表示子字典,
优选的,在步骤s2中利用随机森林分类方法进行人脸属性分类识别,判定属性类别。
优选的,所述步骤s5中利用支持向量机svm或最近邻knn或贝叶斯方法进行分类识别。
还提供了一种人脸属性不变鲁棒性人脸识别系统,包括:
人脸深度特征提取模块,用于提取人脸高层语义特征;
人脸属性字典构建模块,用于构建人脸属性超完备字典;
人脸属性识别模块,用于确定输入人脸图像的分辨率、姿态、光照、表情和遮挡的属性类别;
人脸属性子字典选择模块,用于确定输入图像所属的稀疏表示基空间;
人脸属性不变特征提取模块,用于提取具有人脸分辨率、姿态、光照、表情、遮挡不变的鲁棒性特征;
人脸分类识别模块,用于进行人脸身份识别和分类。
所述人脸深度特征提取模块分别与所述人脸属性识别模块、所述人脸属性字典构建模块相连,所述人脸属性识别模块依次连接所述人脸属性子字典选择模块、所述人脸属性不变特征提取模块、所述人脸分类识别模块,所述人脸属性子字典选择模块通过属性超完备字典与所述人脸属性子字典选择模块连接。
本发明公开了以下技术效果:能够在人脸的光照、姿态、表情、遮挡和分辨率同时变化及其组合变化等复杂环境下的进行人脸识别,并且保持人脸属性不变,鲁棒性高。具体为:
1)将目前热门的深度学习方法和经典的字典学习方法结合,提出深度字典学习方法提高字典学习的鲁棒性,并用采用协同学习策略,使得各子字典之间具有线性组合一致性,为后期的人脸属性不变特征提取创造了良好基础。
2)本发明根据输入人脸图像的属性类别选择相应的子字典构建人脸表示基空间,并进行属性不变人脸特征提取,解决了复杂环境下人脸的光照、姿态、表情、遮挡和分辨率同时变化问题。通过本发明提出的人脸特征不会随着人脸的光照、姿态、表情、遮挡和分辨率等变化而变化,为复杂场景下人脸识别问题提供了一条可行的解决方案。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明公开的复杂环境下的人脸识别技术框架示意图;
图2为本发明公开的复杂环境下的人脸识别系统示意图;
图3为深度字典学习模型示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
参考图2,本发明提供一种人脸属性不变鲁棒性人脸识别系统,包括人脸深度特征提取模块、人脸属性字典构建模块、人脸属性识别模块、人脸属性子字典选择模块、人脸属性不变特征提取模块和人脸分类识别模块,人脸深度特征提取模块分别与人脸属性识别模块、人脸属性字典构建模块相连,人脸属性识别模块依次连接人脸属性子字典选择模块、人脸属性不变特征提取模块、人脸分类识别模块,人脸属性子字典选择模块通过属性超完备字典与人脸属性子字典选择模块连接。
参考图1,本发明公布的一种复杂环境下的人脸识别方法,包括如下步骤:
步骤s1人脸特征提取,采集的人脸图像利用cnn(convolutionalneuralnetworks,卷积神经网络)进行表示学习,cnn采用googlenet、restnet50、darknet或efficientnet网络模型,本实施例中将检测到的人脸图像进行归一化处理后送入googlenet网络模型进行表示学习,googlenet通过公开人脸库lfw(labledfacesinthewild)和ytf(youtubefaces)进行预训练,使其更具高层语义信息表示能力,基于googlenet的人脸特征提取可以表示为:
y=xcw+b(1)
式中,y表示最后的高层特征输出,xc表示人脸图像在“depthconcat”层中的特征图,w是权值项,b为偏置项。其中,深度学习框架采用caffe开源平台,学习率λ=0.001,epochs为4500,优化函数采用“adam”算法。最终得到人脸高层特征表示向量y的维度为512。
步骤s2人脸属性识别:
本实施例将人脸属性分为具有3∈{正常分辨率、低分辨率、超低分辨率}种不同分辨率,5∈{左偏转、正面、右偏转、抬头、低头}种不同姿态,5∈{左强光、右强光、正常、暗光、强逆光}种不同光照,6∈{中性、高兴、愤怒、悲伤、惊讶、恐惧}种不同表情和4∈{无遮挡、口罩遮挡、墨镜遮挡、围巾遮挡}种不同遮挡,因此对上述不同类别属性进行组合可得到1800=3×5×5×6×4类人脸属性。对上步得到的人脸特征利用随机森林分类方法进行人脸属性分类识别,判定其属性类别。在训练生成属性随机森林模型时,分裂迭代次数为1000,树的深度为16,并采用如下不确定性测度:
其中,c表示人脸属性类别。不确定性测度引导各节点从二值测试候选库中选择最优的二值测试,以保证能不断将当前节点分裂为不确定性降低的两个子节点。人脸属性以高斯模型的方式储于随机森林的每个叶子节点上:
其中,
其中,lm为决策树对应的叶子节点,m为决策树的数量。
步骤s3人脸属性子字典构建与选择:
首先,本实施例收集1000个人的多属性图像作为人脸属性训练集
公开库:weizmann人脸图像数据库(可公开获取),采集了24个人,其中每个人同时包含有不同的表情、光照和姿态变化。cmumulti-pie人脸库(需要购买),采集了337个人,其中每个人在19种光照和15种姿态条件下采集不同的表情变化图像。
自建库:公司对在职员工和在校学生采集的multi_gpe人脸库,库中每个人采集5种不同姿态下6种表情变化的30幅人脸图像。
然后,对上述人脸属性训练集
其中,ac为属性人脸训练样本矩阵;
式(6)能够解释为对包括有人脸分辨率、姿态、光照、表情和遮挡等属性信息的人脸训练样本ac进行多层次分解,找到其新的表示方式
为了增加字典的非线性表示能力,根据深度神经网络的方法对系数矩阵进行修改:
其中,g(·)为非线性激活函数。因此,深度字典学习模型的损失函数为:
深度字典学习模型的求解采用类似于栈式自编码网络一样的训练方法,分成逐层预训练、整体微调两个阶段:
(1)预训练阶段
a、令
b、对
如此循环下去,把所有的层都进行了预训练。通过逐层贪婪分解的方法,每一层的训练变成传统的字典学习问题(只不过这里加入了一项共享字典)。根据实际需要可以在每一层的字典学习中加入稀疏约束或监督学习等。为了表达方便和清晰,上述公式没有加入非线性激活函数。
(2)整体微调阶段
通过最小化损失函数和随机梯度下降法来实现。
通过深度字典学习训练优化后,每个子字典保留500个最优样本,即
进一步的,通过上述的深度字典学习模型求解方法便可训练学习出不同属性类的子字典
其中,d为最终需要求解的总字典(包括各子字典);
最后,有了优化后的人脸属性超完备字典后,可根据s2得到的人脸属性,选择相应的子字典
步骤s4属性不变人脸特征提取:
利用步骤s1得到的人脸特征
式(10)是一个非凸优化问题,其求解可以转化为加权l1正则子求解问题。具体为:
1)令t=0,设定最大迭代次数k,初始化w0=(1,…,1)t;
2)求解
3)当t<k时,转步骤2;当t=k时,输出wt。
上述算法中,步骤s1设定了最大迭代次数k作为算法终止条件。由于在步骤1中设定了初始化解w0=(1,…,1)t,于是步骤s2第一次迭代时对应求解一个l1正则子问题,即恰好产生lasso解;而第二次迭代时,步骤s2相当于求解一个加权l1正则子,通过简单的线性转换该问题仍然可以转换为l1正则子求解。注意到,当算法迭代第二次以后,参数xt中可能会出现0。为了保证算法可实施,在加权时,可采用
有了l1/2正则子的求解算法,便可求出人脸深度稀疏表示模型的解系数
步骤s5人脸分类识别:
对步骤s4得到的人脸属性不变特征
式中,w1,w2为两个匹配人脸的特征向量,其通过步骤s4得到。最后,根据相似度大小确定人脸最终类别。
本发明将目前热门的深度学习方法和经典的字典学习方法结合,提出深度字典学习方法提高字典学习的鲁棒性,并用采用协同学习策略,使得各子字典之间具有线性组合一致性,为后期的人脸属性不变特征提取创造了良好基础。
本发明根据输入人脸图像的属性类别选择相应的子字典构建人脸表示基空间,并进行属性不变人脸特征提取,解决了复杂环境下人脸的光照、姿态、表情、遮挡和分辨率同时变化问题。通过本发明提出的人脸特征不会随着人脸的光照、姿态、表情、遮挡和分辨率等变化而变化。
因此,本发明能够在人脸的光照、姿态、表情、遮挡和分辨率同时变化及其组合变化等复杂环境下的进行人脸识别,并且保持人脸属性不变,鲁棒性高。
在本发明的描述中,需要理解的是,术语“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
以上所述的实施例仅是对本发明的优选方式进行描述,并非对本发明的范围进行限定,在不脱离本发明设计精神的前提下,本领域普通技术人员对本发明的技术方案做出的各种变形和改进,均应落入本发明权利要求书确定的保护范围内。