基于HOG与卷积神经网络的人脸识别研究
2019-06-06顾江鹏袁和金
顾江鹏 袁和金
摘 要:为了获取更加全面的整体与局部人脸特征,得到更高的人脸识别率,提出一种基于方向梯度直方图(HOG)特征与卷积神经网络的人脸识别新方法。该方法首先提取人脸图像的HOG特征,然后将HOG特征图像作为卷积网络的输入数据进行训练,改进网络结构,在全连接层之后采用Softmax loss和center loss两个损失函数进行监督,最后在训练得到的网络模型上对人脸图像进行识别操作。实验结果表明,该方法在ORL人脸集上的识别率达到97.5%,相比于其它人脸识别算法具有一定优越性。
关键词:HOG;卷积神经网络;人脸识别;特征提取
DOI:10. 11907/rjdk. 181859
中图分类号:TP301文献标识码:A文章编号:1672-7800(2019)003-0020-05
0 引言
人脸识别属于生物识别领域的研究内容之一,与传统生物识别手段相比,人脸识别具有无接触、交互性强、更友好直观,且更方便安全等优势[1]。国外手机厂商苹果公司首次将人脸识别应用于手机解锁,国内支付平台支付宝首次实现刷脸支付,公安部门的天眼系统可根据人脸检测实现实时安全监测及疑犯追踪,这些都是人脸识别的典型应用,人脸识别同样在门禁系统、档案管理等领域应用广泛。目前,人脸识别技术已经成为计算机视觉与人工智能领域的研究热点[2]。
如何提高人脸识别率一直是研究人员的研究重点,而影响人脸识别准确率的主要因素在于特征提取。定向梯度直方图特征最初主要用于在计算机视觉与图像处理中检测物体的特征描述子,近年来HOG描述符也被应用于人脸检测。Zheng等[3]提出一种基于密集网格直方图的人脸识别方法,将人脸图像均分为很多密集网格,从中提取HOG特征,然后构造HOG网格特征向量,实现整个人脸的特征表达,最后利用最近邻算法进行分类识别,该方法可有效表示复杂环境下的人脸特征;Cuan[4]提出改进的面向梯度直方图与稀疏表示的混合识别方法,可以保持光照与几何不变性,对表情、姿势和角度变化不敏感,从而消除了许多不必要的干扰信息,提高了面部识别准确性;Xie & Sujata等[5-7]从不同角度采用LBP与HOG融合算法进行人脸识别,在有遮挡、姿态变化及光照变化等条件下取得了较好效果。然而这些方法在特征提取过程中介入了太多主观因素,过度依赖于人工选择,对识别准确性造成一定负面影响。
近年来,深度学习在计算机视觉与物体识别领域取得了突出进展,卷积神经网络算法逐渐被引入到人脸识别相关研究中。LeCun[8]首次提出LeNet-5,其倾向于将CNN称为卷积网络,将网络中的节点称为单元,自此开启了现代卷积网络研究;Facebook团队[9]与香港中文大学团队[10]分别在LFW数据集上报告了97.35%和97.45%的平均分类精度,其在人脸识别技术路线上,由基于DCNN的端到端自主学习特征替代了传统的人工设计特征与分类识别;Google团队提出的FaceNet[11]框架在LFW数据集上的平均分类精度达到99.63%。虽然上文提到的各种深度卷积神经网络算法及其改进算法能够获得很高的识别准确率,但其均采取了更深的网络结构,在获得更好特征抽象能力的同时,也意味着训练难度的增大、训练参数的增多以及更大的计算量,而传统的CNN网络对图像局部结构特征不敏感,难以学习到人脸局部特征,同时网络还会因光照等因素学习到不利特征。基于以上分析,本文提出一种基于HOG特征与卷积神经网络的人脸识别新方法,在网络输入原始人脸图像基础上,加入人脸的HOG特征,使卷积神经网络在自动学习原始图像信息的同时,也可以学习到HOG人脸局部特征。实验结果表明,在卷积神经网络中加入HOG特征可一定程度上提高人脸识别准确率。
1 HOG特征提取
HOG特征最早被应用于行人检测,是一种由SIFT算子发展演變而来的特征描述子,用于描述图像局部差分信息,因其具有对图像几何和光学变化保持不变性的特点,并且受噪声影响小,对人脸表情变化、场景变化具有很好的鲁棒性,因而被广泛应用于人脸识别领域。HOG 特征由HOG算子通过计算图像局部区域梯度,统计分布在不同方向的梯度幅值得到的梯度方向直方图构成,具体特征提取过程如下:
(1)Gamma校正。对输入图像作颜色归一化处理,从而提高图像整体亮度,减弱图像局部阴影与光照变化带来的影响,也可以抑制噪声干扰。
Gamma压缩公式为:
(2)图像梯度值计算。分别计算图像横纵坐标梯度,具体为:采用中心对称梯度算子[-1,0,1]对图像作卷积操作,可得到[x]方向梯度分量;采用算子[1,0,-1T]对图像作卷积操作,可得到[y]方向梯度分量,据此可计算每个像素点的梯度方向值。该操作可捕捉人影、轮廓与一些纹理信息,并进一步减弱光照影响。
像素点[(x,y)]梯度为:
(3)构建局部方向梯度直方图。将图像分成若干单元格,称为细胞单元(cell),对每个cell的梯度方向进行统计。将[0,π]之间分为9个区间,平均每个区间占[20°],由此可得每个单元的一个9维梯度方向直方图。
(4)将block中的局部梯度直方图归一化。将相邻不重叠的k个cell组合成一个block,然后将该block块内所有cell的直方图进行拼接,采用[L2]范数对block中的直方图进行归一化处理,得到该block块对应的梯度直方图。
(5)HOG特征形成。收集图像中全部block的HOG特征,依次级联全部block的直方图特征,从而得到图像的整体HOG特征。HOG特征提取过程如图1所示。
针对同一张图像,采用不同cell_size得到的HOG特征如图2所示(图像经过反相处理)。
由图2对比可以看出,适当增大cell大小得到的特征图更加注重图像基本轮廓与边缘,而忽略了图像中的一些细节,从而在一定程度上降低了噪声。
本实验中HOG特征提取参数设置为:2*2细胞/区間,8*8像素/细胞,8个直方图通道,步长为1。
2 卷积神经网络
卷积神经网络[12-13]最早是由日本学者Fukushima基于Hubel&Wiesel感受野概念提出的神经认知机,其本质上是一种为处理二维输入数据设计的多层神经网络。与传统神经网络相比,卷积神经网络的每一层有许多二维平面,而每个二维平面都由多个独立神经元组成,其中相邻两层神经元间互相连接,处于同一层的神经元间没有连接。权值共享的结构特征使卷积神经网络更加类似于生物神经网络,同时网络模型容量可通过网络广度与深度加以调整[14]。因而与全连接网络相比,卷积神经网络具有更少的网络连接数与权值参数,从而有效简化了网络模型的学习复杂度。
(1)卷积层。卷积层主要对输入层或上一采样层输出的特征图像进行卷积操作,然后通过激励函数的作用得到相应特征图。经过卷积层的一系列操作后可以提取图像局部区域特征,相应每一个卷积核即是特征提取器。例如第l层卷积层中第j个特征图计算公式[15]为:
(2)池化层。池化层设置在两个卷积层之间,主要对上一层卷积层得到的特征图进行降采样操作,通过该步骤可以有效缩小矩阵尺寸、降低卷积特征维数,并大幅减少训练参数数量,以减轻分类器负担,从而在一定程度上加快了计算速度,防止数据出现过拟合问题。设第[l]层为池化层,该层某个特征图的计算公式为:
(3)全连接层。图像在经过上述两步操作后,将上一层所有神经元与全连接层的神经元相连。该层依据具体任务情况对高层特征进行映射,主要是将卷积输出的二维特征图转化成一维特征向量,计算公式[15]为:
(4)输出层。卷积网络中的输出层通常作为分类器存在,常用分类器主要有sigmoid函数与softmax函数。以分类能力较强的softmax[16]函数为例,该函数可对多个类别进行分类。softmax回归中将[x]划分为类别[j]的概率为:
3 本文算法
目前在大部分卷积神经网络中,经常使用softmax loss作为损失函数进行模型训练,因为softmax loss能够使特征可分。然而在人脸识别中,深度学习特征不仅具有可分性,还应具有可判别性。Wen等[17]提出一种新的损失函数center loss,其能够在最小化类内距离的同时保证特征的可判别性。center loss公式定义如下:
故本研究在传统卷积网络基础上,结合softmax loss与center loss两种损失函数进行类别监测,取参数[λ]为1进行实验。同时对于网络输入,首先对人脸图像提取HOG特征,可降低人脸表情、光照与噪声的影响。
本实验的卷积神经网络结构设计如图4所示。
其中,输入图片大小为57[×]47,包含2个卷积层、2个池化层和1个全连接层,最后用softmax loss与center loss联合监测分类。卷积层C1有5个3[×]3的卷积核,padding为same,步长为2,得到输出为57[×]47[×]5;池化层S1对C1每个2[×]2的区域采样,步长为2,输出为28[×]23[×]5;卷积层C2采用10个3[×]3的卷积核,padding为same,步长为2,得到输出为28[×]23[×]10;池化层S2对C2每个2[×]2的区域采样,步长同样为2,输出为14[×]11[×]10;全连接层FC的输入来自S2,将多维输入一维化,最后利用分类器进行分类。
4 仿真实验及分析
为了验证本文算法的可行性与优越性,采用ORL人脸库作为实验数据集。实验运行环境为:Ubuntu16.04操作系统、Theano开发工具与NVIDIA GTX950M显卡。
4.1 实验数据集
ORL人脸库共包含40个不同年龄、性别与种族的对象,每个对象有10幅图像,总计400张灰度图,图像尺寸为[92×112px],图像背景全为单一黑色,人脸部分的表情和细节都有变化,如笑与不笑、睁眼与闭眼、戴或不戴眼镜等,人脸姿态同样有变化,人脸深度与平面旋转可达到将近20°,尺寸也有近10%的变化。该人脸库的部分人脸图像如图5所示。
4.2 实验方法及参数设置
实验过程中对数据集作以下处理:首先提取图像的HOG特征,得到处理后的HOG特征图集,将处理后的数据集作为输入;依次选取同一个人的前6张图像作为训练集,第7~8张图像作为验证集,第9~10张图像作为测试集,从而分别得到训练集、验证集、测试集的320张、40张、40张图像。实验中主要参数设定为:学习率为0.05,批次大小为40,训练步数为40,卷积核个数依次是5、10,池化大小为(2,2)。使用训练数据训练得到网络模型,然后加载模型对测试数据进行测试,从而得到相应的人脸识别率。
对于实验模型参数的讨论如下:
(1)调节batch_size。本实验采用minibatch SGD算法进行优化,即batch连续将数据输入CNN模型中,然后计算该batch所有样本的平均损失,即代价函数是所有样本平均值,batch_size是一个batch包含的样本数。
本实验训练集数据为320,验证集和测试集都为40,所以最好设置batch_size能被40整除,否则会浪费一些样本。当batch_size设置为1、2、5、10、20时,验证错误率一直是97.5%,没有下降。由于实验中每个类别的10个样本连续排列在一起,故若batch_size过小,则类别覆盖率偏低,最终将其设置为40。
(2)调节learning_rate。学习率learning_rate是运用SGD算法时梯度之前的系数,若该系数设置过大,算法可能无法进行优化;若设置过小,则算法优化太慢,而且可能陷入局部最优。
分别设置learn_rate为0.1、0.01、0.05,对应的验證错误率分别为97.5%、5%、2.5%,故本实验选取学习率为0.05进行实验。
(3)调节pool_size。本实验中pool_size大小为(2,2),即在4个像素中保留1个像素,由于实验样本图像大小为57*47,对于小图像而言,大小为(2,2)时比较合适。
4.3 实验结果与分析
随着实验步数的增加,验证集错误率与分类的对数损失变化如图6所示。
采用本文算法与其它算法获得的人脸识别率对比如表1所示[18]。
由表1可以看出,采用HOG特征与卷积神经网络相结合的算法相比于主成分分析法及BP神经网络,识别率得到明显提高,同时相对于传统卷积神经网络,本文算法在识别率上也具有一定优势。
5 结语
本文提出一种基于HOG特征与卷积神经网络的人脸识别方法。HOG算子可以很好地描述图像局部信息,同时也具有对图像几何与光学变化的不变性,受噪声影响较小。通过在卷积网络中加入HOG图像信息,使卷积神经网络能够提取到区分性更强的人脸特征信息。根据ORL人脸库的实验结果表明,本文方法能够有效提高人脸识别率。
然而,本文提出的方法虽然能够有效提高人脸识别率,但是人脸数据集背景较为简单,在更复杂的人脸图像环境中,相比于限制环境下的数据集,算法识别率有所下降。因此,如何在更复杂的非限制环境中进一步提高人脸识别率是将来的主要研究方向。
参考文献:
[1] 景晨凯,宋涛,庄雷,等. 基于深度卷积神经网络的人脸识别技术综述[J]. 计算机应用与软件,2018,35(1):223-231.
[2] 何春. 人脸识别技术综述[J]. 智能计算机与应用,2016,6(5):112-114.
[3] XIANG Z,TAN H,YE W. The excellent properties of a dense grid- based hog feature on face recognition compared to Gabor and LBP[J]. IEEE Access, 2018,6: 29306-29319.
[4] YING C,SHI Y. Face recognition of the rhinopithecus roxellana qinlingensis based on improved HOG and sparse representation[C]. International Conference on Computer Network, Electronic and Automation, 2017:499-503.
[5] XIE Z, JIANG P, ZHANG S. Fusion of LBP and HOG using multiple kernel learning for infrared face recognition[C]. IEEE/ACIS International Conference on Computer and Information Science,2017:81-84.
[6] BHELE S G,MANKAR V H. Recognition of faces using discriminative features of LBP and HOG descriptor in varying environment[C]. International Conference on Computational Intelligence and Communication Networks, 2016:426-432.
[7] GHORBANI M, TARGHI A T, DEHSHIBI M M. HOG and LBP: towards a robust face recognition system[C]. Tenth International Conference on Digital Information Management, 2016:138-141.
[8] LECUN Y,BOTTOU L,BENGIO Y,et al. Gradient-based learning applied to document recognition[J]. Proceedings of the IEEE,1998, 86(11):2278-2324.
[9] TAIGMAN Y,YANG M,RANZATO M,et al. Deepface: closing the gap to human-level performance in face verification[C]. IEEE Conference on Computer Vision and Pattern Recognition,2014:1701-1708.
[10] SUN Y, WANG X, TANG X. Deep learning face representation from predicting 10000 classes[C]. Computer Vision and Pattern Recognition, 2014:1891-1898.
[11] SCHROFF F,KALENICHENKO D,PHILBIN J. FaceNet: a unified embedding for face recognition and clustering[C]. 2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2015:815-823.
[12] 邹国锋,傅桂霞,李海涛,等. 多姿态人脸识别综述[J]. 模式识别与人工智能,2015,28(7):613-625.
[13] 吴尧,邱卫根. 基于改进的深度卷积神经网络的人脸识别[J]. 计算机工程与设计,2017,38(8):2246-2250.
[14] 周飞燕,金林鹏,董军. 卷积神经网络研究综述[J]. 计算机学报,2017,40(6):1229-1251.
[15] SYAFEEZA A R, KHALIL-HANI M, S S, et al. Convolutional neural network for face recognition with pose and illumination variation[J]. International Journal of Computational Intelligerce & Applications,2015,14(3):1-18.
[16] 汪海波,陈雁翔,李艳秋. 基于主成分分析和Softmax回归模型的人脸识别方法[J]. 合肥工业大学学报:自然科学版,2015,38(6):759-763.
[17] WEN Y, ZHANG K, LI Z, et al. A discriminative feature learning approach for deep face recognition[C]. European Conference on Computer Vision, 2016:499-515.
[18] 张国云,向灿群,罗百通,等. 一种改进的人脸识别CNN结构研究[J]. 计算机工程与应用,2017,53(17):180-185,191.
(责任编辑:黄 健)