APP下载

基于特征重整及优化训练的遮挡人脸识别算法

2021-06-24邹鹏杨治昆李锴淞

大连交通大学学报 2021年3期
关键词:信息熵特征值人脸

邹鹏,杨治昆 ,李锴淞

(1.东北财经大学 网络信息管理中心 辽宁 大连 116025;2.浙江宇视科技有限公司 研究院,浙江 杭州 310051)*

随着人脸识别算法的不断成熟,其在越来越多的应用场景中发挥积极作用,如证件查询,出入考勤查验,人脸支付等,另外在治理交通痼疾“闯红灯”问题上也大显身手.早期的人脸识别典型算法有模板匹配法,PCA(主成分分析法)和LDA(线性判别分析)等,但是这些方法对训练集和测试场景、光照、人脸的表情等因素比较敏感,泛化能力不足,不具备太多的使用价值.之后的人脸检测算法普遍采用了人工特征+分类器的思想,常见的描述图像特征有HOG,SIFT[1],LBP,Gabor等,典型的代表特征是LBP(局部二值模式)特征,这种特征简单却有效,部分解决了光照敏感问题,但还是存在姿态和表情的问题.现阶段主要的方法是基于深度学习的方法,利用卷积神经网络(CNN)对输入的人脸图片进行学习,提取出区别不同人的特征向量,替代人工设计的特征.DeepFace是CVPR2014上由Facebook提出的方法,使用3D模型来完成人脸对齐任务,然后使用深度卷积神经网络对对齐后的人脸进行分类学习,最终在LFW上取得了97.35%的准确率,由于采用了多层局部卷积结构,产生了大量的参数量,且对数据量要求很大,因此应用有很大的局限性.FaceNet是由谷歌公司推出的关于人脸识别的算法,其使用三元组损失函数(Triplet Loss[2]代替常用的Softmax交叉熵函数,同时使用了Inception[3]模型,产生的参数量较小,在LFW取得了99.63%的准确率.可以看出基于深度学习的人脸识别算法已经较好地解决了多数场景中的人脸识别任务,效果堪比人眼.但是实际应用中总是会存在人脸受到遮挡(如戴口罩,帽子),导致特征发生缺失,以上方法在解决这类问题时,效果差强人意.

本文以ResNet50网络为基础模型,提出了基于信息熵的权重特征来优化池化层特征的方法对卷积层的特征信息进行聚合增强;同时提出了一种改进型PSO算法对CNN误差反传阶段的初始权值进行优化,实验结果表明改进后的模型对识别结果有所提升,尤其是对于遮挡人脸识别,效果明显.

1 基于信息熵的权重特征表示优化池化层特征

近年来,深度学习技术已经在图像处理,自然语言处理等方面取得了突出的成绩,并且在多个领域的工程应用中取得了较大的突破.然而在使用卷积层训练网络时,在对卷积层输出的特征图进行处理时,往往会使用池化层对特征图进行采样操作,通过对不同位置的特征进行聚合,从而达到减少卷积特征的目的.而且对模型网络进行设计的时候,对图像特征聚合的好坏,也会直接影响网络训练的收敛速度和其鲁棒性.在此,本文提出的一种基于信息熵的权重特征表示的卷积计算方法.通过对需要池化的卷积做类似信息熵的计算方式,将需要池化的区域进行基于信息熵的方式特征聚合,对特征的信息进行进一步的聚合,使得到的新的特征信息表达与原特征保持一致联系,从而保证信息特征表征的最大化.算法流程如图1所示.

图1 基于信息熵的权重特征聚合流程

具体流程如下:

首先得到卷积之后的特征,然后对卷积之后的每个特征值,选择合适的滤波器的大小,对每一个特征值先求取特征值所占的概率P(xi),如若卷积之后的特征是一个2×2的矩阵,里面的特征值分别标记为x1,x2,x3,x4,则对任意一个特征值的概率值为:

P(xi)=xi/∑(xi)

(1)

故对卷积之后的特征是任意一个n×n的矩阵,里面任意一个特征值概率值为:

(2)

通过该特征的概率值进行信息量的求取.特征值信息量求取如式(3)所示.

(3)

当取得特征值信息量后,对特征值的所有信息作熵处理,信息熵求取公式如式(4)所示.

H(x)=-∑log(P(xi))P(xi)

(4)

得到特征值的信息熵后,将信息熵和特征值信息作进一步融合.最后融合到的新的特征值计算公式如式(5)所示.

Feature(x)=H(x)·xi

(5)

通过对卷积后的特征进行聚合,结合了不同特征之间的聚合能力,也充分使用了同一特征的强度信息,使其拥有更充分的表征能力.运算效率高,不会增加新的参数,使提取的网络特征更加充分.

2 基于PSO和GSA优化的CNN算法的方法

一般的CNN 网络都采用梯度下降算法,梯度下降法是一种快速的局部搜索算法,它能使得算法快速收敛。PSO是在CNN网络优化中比较有效的方法之一,它具有信息共享能力和收敛速度快等特点,但是全局搜索能力较差.GSA是全局智能搜索算法,实现了位置的调整和对空间中最优解的搜索.利用PSO的记忆能力、信息共享能力和GSA的全局搜素能力进行融合,形成一种改进型PSO优化算法,在每次迭代中,计算利用此优化算法计算粒子的位置,并利用此位置更新CNN的初始权值,该算法的适应度函数作为CNN的误差函数,以此对CNN的误差反传阶段进行改进.

算法具体实现流程如图2所示.

图2 PSO-GSA 对CNN算法优化流程

算法的主要实现流程按照以下5步:

(1)样本数据准备和初始化CNN网络参数

(2)初始化PSO和GSA参数

初始化PSO和GSA参数时,设置α值为20,G0值为1,质量和加速度均为0,粒子规模N为25,迭代次数为1000, 加速系数、c1、c2、c3均为1.49,初始质量和加速度均为0,惯性权重w′从0.4~0.9线性增加,初始速度V为[0,1]间有间隔的随机值.

(3)更新PSO和GSA参数

GSA和PSO 在每次迭代中,会根据如下步骤更新参数:

①首先计算引力常量G(t)和欧几里得距离Rij(t).

G(t)=G0e-αt/tmax

(6)

Rij(t)=||Xi(t)Xj(t)||2

(7)

式中,α为下降系数;G0为初始引力常数;tmax为最大迭代次数;Xi(t)和Xj(t)分别表示第t次迭代中第i个粒子和第j个粒子的位置.

②计算粒子受其它粒子引力合力

(8)

③计算适应度函数fi(t).

(9)

式中:m表示输出节点数;q表示训练样本数;gi表示经训练样本训练后的预测输出;σ为训练样本目标输出.

④计算粒子质量Mi(t).

(10)

式中:fi(t)表示粒子i在第t次迭代中的适应度函数值;best(t)表示粒子i在第t次迭代中的最好适应度值;worst(t)表示粒子i在第t次迭代中的最差适应度.

(11)

(12)

(13)

⑦计算PSO粒子最优位置gi,best.通过比较粒子i的改进最优解和原最优解的适应度值,取两者适应度值较大的作为新的全局最优粒子.粒子i的改进最优解.

(14)

⑧计算PSO和GSA融合后的粒子的速度V.

(15)

式中:Vi(t)表示粒子i在第t次迭代中的速度;w′为惯性权重,用于均衡粒子的探索能力与开发能力;gi,best表示PSO算法在第t次迭代中粒子i最优位置的改进值,即局部极值的位置坐标;gbest表示PSO算法在第t次迭代中当前群体的最优位置,即全局极值的位置坐标;rand表示[0,1]之间的随机数;c1、c2、c3表示加速系数,其数值被调整,可以平衡引力和记忆,以及社会信息对搜索的影响;a表示粒子i在引力合力作用下的加速度.

⑨计算PSO和GSA融合后的粒子的位置X.粒子i第t+1次迭代中的位置

(16)

式中:Vi(t+1)表示粒子i在第t+1次迭代中的速度;Xi(t)表示粒子i在第t次迭代中的位置.

(4)更新CNN网络参数

在每次迭代中,根据步骤(4)对GSA和PSO进行参数更新,并以得到的粒子位置X去更新CNN的权值W.

(5)计算误差

改进核心是将GSA和PSO优化方法结合,各取所长,最终形成一种搜索能力较强的改进型GSA算法.它的主要特点在于GSA的最优解是通过PSO的群体最优解和个体改进最优解共同作用获得的.

4 实验过程

4.1 实验环境

本文中的实验训练和测试过程中主要是在服务器上进行的,显卡为NVIDIA Tesla P40,深度学习框架为Tensorflow.

4.2 实验数据及模型预训练

常用的公开人脸数据集有很多,如LFW,PubFig等,LFW数据集一共包含了13 233张图片,包含5749个人,其中有1 680个人有2张或者以上的图片.为了提高模型的检测精度,本文的实验数据集有两个,其中首先是在LFW数据集上进行模型预训练,总共训练11万次,每次从训练集中随机抽取560张图片,之后对自己采集的人脸图片数据集约6 000张,1 000个id人使用预训练的模型继续训练8万次后进行测试.为了进一步检测本文方法对遮挡人脸的检测效果,本文使用40×40像素的方块,对图片进行随机遮挡,并同样的进行训练.

4.3 实验结果分析

为了方便表示,本文将基于信息熵的权重特征优化方法表示为方法一,将基于改进PSO优化方法表示为方法二,本文使用传统ResNet50网络,同时分别结合方法一,方法二在相同测试集中进行测试,具体结果如表1所示.

表1 实验结果

从表1可以看出相对于传统的ResNet50网络,在同样的测试环境和测试样本下,方法一、方法二对ResNet50网络分别有了0.47%,0.25%的提升,由于正面人脸特征较完全,ResNet50网络本身效果较好,本文的算法对其改进效果不明显,对于遮挡数据集,由于自身人脸信息不完整,导致ResNet50网络识别准确率只有67.15%,结合本文所提算法后分别有了2.6%,3.08%的提升,最终识别准确率可以达到71.34%,提升结果较为显著.

5 结论

通过以上结果看出,对ResNet50网络使用信息熵的权重特征对池化层的信息进行优化,和对ResNet50网络使用改进型PSO算法对误差反传阶段的初始权值进行优化,可以明显提高模型对人脸的识别精度,尤其是当目标人脸信息不完整时,效果提升更为明显.同时本文改进算法在原始ResNet50的基础上再不会增加额外参数,因此也不会对模型的速度产生影响.

猜你喜欢

信息熵特征值人脸
基于信息熵可信度的测试点选择方法研究
有特点的人脸
一起学画人脸
玻璃窗上的人脸
单圈图关联矩阵的特征值
伴随矩阵的性质及在解题中的应用
近似边界精度信息熵的属性约简
求矩阵特征值的一个简单方法
基于信息熵的承运船舶短重风险度量与检验监管策略研究
信息熵及其在中医“证症”关联中的应用研究