APP下载

基于改进SRC的局部遮挡人脸识别方法

2024-03-01胡思佳赵志诚

太原科技大学学报 2024年1期
关键词:人脸识别人脸灰度

胡思佳,赵志诚

(太原科技大学 电子与信息工程学院,太原 030024)

处于人工智能发展前沿的人脸识别(Face Recognition,FR)技术,同时也作为机器视觉以及模式识别领域中极具挑战性的研究内容,在近些年成为众多学者的研究对象。人脸识别技术[1],普遍且广泛的应用于人们的日常生活中,比如视频监控、考勤系统、智能设备的设备锁等等。虽然在人脸图像无遮挡、无污损的情况下人脸识别技术相对成熟;但在当下口罩、面部饰物等遮挡普遍存在的情形下,局部遮挡人脸的识别亟待考究。

遮挡人脸识别[2-3]是指人脸局部被遮挡的情形下,利用图像处理和模式识别的方法,根据人脸对称性将其补全或者利用剩余未遮挡面部特征识别。由于现实场景中的遮挡不可避免,不少学者对遮挡人脸识别技术进行研究,提出了很多有效的解决方法,比如基于主成分分析(Principal Component Analysis,PCA)的算法[4-5]、稀疏表示分类[6](Sparse Representation Based Classification,SRC)及其改进算法[7]、图像重建法[8]、基于卷积神经网络[9-10](Convolutional Neural Networks,CNN)或者生成式对抗网络[11-12](Generative Adversarial Networks,GAN)等。在小样本存在光照、表情、姿态等客观遮挡以及口罩、墨镜等主观遮挡的情况下,如何训练检测遮挡仍是个难题。

近年来,稀疏表示理论在信号处理领域较为活跃。稀疏表示用于人脸识别的主要思想是将高维图像在低维空间中表示,为遮挡区域建立独立的子空间,用已有的字典原子来表示遮挡,进而对遮挡人脸图像进行识别。虽然稀疏表示被提出已有20多年,但2008年首次将稀疏表示理论应用于人脸识别[13],与此同时提出稀疏表示分类的方法。稀疏表示分类的原理是将测试图像表示为过完备字典中少量原子的线性组合,并计算出稀疏系数,最后利用最小重构误差法进行分类。随后,很多学者针对其存在的问题作出改进:比如,为提高运算速度,文献[14]提出协同表示分类(Collaborative Representation Classification,CRC)的方法,用L2范数替换掉稀疏表示分类中的L1范数;文献[15]提出先将存在遮挡的人脸图像按照一定的比例分块,后利用SRC算法对其识别,大大提高了算法的识别率,但前提是耗费了大量时间;文献[16]提出对低秩表示进行双重约束,使所得到的低秩矩阵更加具有判别性,再通过对有遮挡的训练样本去除其中的污损部分从而有效的提高了识别精度。

通过大量研究证明,稀疏表示分类有较强的辨识能力,对数据样本中存在遮挡、光照、姿态变化等可以完成分类识别,但识别的准确性会随着遮挡面积、光照以及拍照角度的变化而有不同程度的降低。因此本文采用改进的稀疏表示分类算法,对少量样本且样本存在墨镜、口罩等主观遮挡以及由光照、表情、姿态等造成的客观遮挡的情况进行分类与识别。

1 基于稀疏表示的分类算法

1.1 经典稀疏表示分类算法

经典稀疏表示分类的方法是通过对训练图像遍历生成过完备字典,利用过完备字典中原子的线性组合来有效地表示输入的测试图像,且求得每一类的重构误差与测试样本间的欧式距离中的最小值,以此为依据进行样本分类并得到所属类别。假设过完备字典中包含C类样本,每类样本所含图像固定,样本总数为n(且n≫C),由训练样本组成的过完备字典可表示为X=[X1,X2,…,XI,…,XC],也可表示为X=[x1,x2,…,xi,…,xn].测试样本为y,可通过训练样本线性拟合表示为y=X·α,其中α是唯一未知量,因此需要加约束条件来限制解的个数。故得到SRC的目标函数为:

(1)

式中,正则化参数λ>0.

1.2 改进的稀疏表示分类算法

虽然稀疏表示分类法可以解决一般情况下人脸图像的分类与识别问题,但其识别的准确率会随着样本中不确定因素的存在而大幅下降,这些不确定因素包含背景信息、遮挡元素、各类噪声等等。文献[17]中利用低秩矩阵恢复将含有遮挡的训练图像看做低秩矩阵(即干净样本)和对应的稀疏误差,由此考虑到误差因素的存在:在图像的采集、传输甚至于存储过程中,由于采集环境、采集设备、传感器材料属性、传输介质等等因素的影响,图像极容易引入非均匀噪声。

虽然图像预处理去除了部分噪声,但图像在传输以及存储过程中也会产生噪声,因此输入的测试图像并不是理想的无杂质图像,由此组成的过完备字典也存在噪声,且这类噪声无法有效去除。图像中噪声的存在会影响稀疏系数α的求解,进而影响重构图像的生成,使得重构图像与测试图像间的残差增大,从而导致识别效果降低。因此本文提出了引入噪声补偿的稀疏表示分类法,先求解测试图像与去噪图像间的噪声差,通过对噪声差参数的调节来控制重构图像的生成,进而缩小重构图像与测试图像间的残差,达到精准分类识别的目的。

Step1:遍历所有训练样本di(i= 1…n),形成固定的过完备字典D,单独存放。只要过完备字典中元素不改变,实验中无需再次遍历,节约了整体识别过程的时间成本。

Step2:由于A中每张图像均含有不可控噪声因素存在,因此需要着重考虑。在读入测试图像前,先将其进行去噪处理,由于不能准确确定噪声的来源以及其噪声类型,故采用多种滤波器函数对其进行降噪,观察并保留降噪效果最佳的图像,处理后的效果如图1所示。分析对比滤波算法以及处理结果可以发现,均值滤波易受到噪声干扰;中值滤波容易导致图像的不连续;高斯滤波对图像进行平滑的同时,能够使得图像的总体灰度分布特征被更好的保留。高斯滤波图像可通过离散化窗口滑窗卷积来实现,选择常用的3*3的高斯模板,由式(2)的高斯函数可得高斯模板中的参数。

(2)

图1 滤波后的图像

其中,x2和y2分别表示邻域内其他像素与邻域内中心像素的距离,σ则为标准差。

Step3:计算测试图像y与降噪图像y'之间的差值。由于L2范数具有使得优化求解更稳定的特性,因此利用L2范数求解测试图像与降噪图像间的噪声差e:

(3)

Step4:利用凸优化建模系统cvx工具箱函数,根据式(4):y=D·αs.t.‖α‖1

(4)

设定L1范数为约束条件,求解唯一的未知量稀疏系数α.

Step5:加入噪声补偿求解重构样本yi.经典稀疏表示分类法的计算公式为:

yi=Di·αi

(5)

其中,αi为第i类训练样本对应的系数。

由于样本图像中均含有噪声影响,利用稀疏系数αi求解重构样本yi时,噪声也相应被稀疏,因此需要加入噪声补偿。改进后的计算公式为:

yi=Di·αi+x·e

(6)

其中,x为噪声差系数。

Step6:由L2范数求得测试图像与重构图像间的最小残差ri,则有:

ri=‖y-(Di·αi+x·e)‖

(7)

式中,噪声差e和其系数x直接影响重构样本以及最小残差的计算结果,故两变量的选取对最终结果判别的准确性至关重要。

2 实验样本集

一般而言,数据集包含测试图像与由训练图像组成的过完备字典两部分。数据集中的图像由采集的遮挡图像(后面统称为自采图像库)、添加随机遮挡块后的ORL库以及Yale库组成。由此,确保了样本包含不同年龄、不同性别、不同种族的人脸图像,使得样本数据丰富且具有多元化的特点。针对不同的图像来源其数据制作过程中步骤也略有不同,主要的步骤为:几何归一化、增加遮挡、灰度归一化、调整亮度。

2.1 几何归一化

在对人脸进行识别时,归一化处理至关重要,是图像预处理中不可或缺的环节。人脸的归一化包括几何归一化和灰度归一化,通常情况下,几何归一化由人脸校正和人脸裁剪组成,但由于本文中需要测试包含有一定角度偏差的样本数据,因此省去了人脸校正的步骤。人脸裁剪将人脸之外的无用信息去除,但保留背景信息,并将图像的分辨率设置为100*100.几何归一化的结果如图2所示。

图2 几何归一化

2.2 增加局部遮挡

由于选取的公开人脸库中样本有限且遮挡图像较少,故对样本图像添加局部遮挡。一方面可以扩充人脸库的测试样本,更有效的验证算法的鲁棒性;另一方面增加人脸图像的遮挡,进而实现对遮挡人脸的研究。Yale人脸库和ORL库中包含光照、表情、姿态的变化,这仅是一些客观遮挡,因此需要增加遮挡操作,使得样本库中的数据具有多样性的特点。ORL人脸库增加遮挡的效果如图3所示。

图3 局部遮挡图像

2.3 调整亮度

现实世界中摄像头等设备中获取的图像会存在光照强度不同的情况,而光照强度的改变可能会使得人脸特征造成小范围的遮挡,从而影响识别效果。因此,在制作样本数据的过程中,通过采集不同亮度的数据样本,亦或改变公开库中样本的光照程度,尽量模拟现实场景中的光照情况。样本库中同一个体不同光照下的图像如图4所示。

图4 不同亮度的图像样本

2.4 灰度归一化

对于灰度图像或彩色通道的每个颜色分量来说,为避免图像对比度不足或像素亮度分布不平衡对后续处理带来干扰,对图像进行灰度归一化处理,将其像素值分布在0~255之间,灰度归一化处理也是图像预处理环节中必不可少的一环。灰度归一化的图像如图5所示。

图5 灰度归一化

3 实验结果与分析

为了验证本文算法的性能,实验通过三种人脸库:加入遮挡元素后的Yale库和ORL库以及自采图像库对引入噪声补偿后的改进SRC算法验证。其中关键问题是参数噪声差e与其系数x的取值,出于对算法补偿优化的目的,使用欧氏距离求得噪声差e,而系数值x则是通过多次实验得到的一个经验数值,为0.3.实验硬件条件为Intel(R) Core(TM) i5-4200U CPU @ 1.60 GHz、RAM 4.00 GB与MATLAB R2019a软件操作平台。

Yale人脸数据库由15个人每人11张光照、表情以及姿态变化的165幅灰度级为256、图像尺寸为100*100像素的灰度图像组成;ORL库中包含40个人每人10幅面部表情以及姿态变化的400幅灰度图像,其灰度级同样为256、图像分辨率为92*112.对上述两公开库通过添加随机遮挡块进而增加面部遮挡,同时也相应地扩充了测试图像的数量。再加上采集的11个人的171幅包含有人脸面部光照、表情、姿态变化等客观遮挡以及饰物、口罩等主观遮挡的人脸图像,图像分辨率为100*100.三类数据库共计1 117张,每人留10张为训练图像,剩余全部归于测试图像,数据集中部分人脸图像如图6-图8所示。

图6 Yale人脸库中部分图像

图7 ORL人脸库中部分图像

图8 自采图像库中部分图像

为验证本文算法在人脸局部遮挡面部识别中的有效性,在不同情况下对算法识别率进行分析,且将本文算法与SRC、CRC以及最近邻分类器方法(nearest neighbor,NN).

3.1 不同背景信息下的人脸识别实验

在本实验中,对上述三类人脸库进行实验。把上述三种数据库分为两大类,一类是自采图像库,另一类为含有遮挡元素的Yale库和ORL库。将自采库与加入遮挡元素的公开库区分开来原因是,自采库中包含有背景信息,而公开人脸库的背景是纯净的。

图9为是否包含背景信息下用四种不同方法进行局部遮挡人脸识别实验的识别率。由图9中的数据可知,引入噪声补偿后的稀疏表示算法相较于经典稀疏表示算法而言,当有遮挡因素但无背景信息存在时,前者的识别准确率显著提高;带有背景信息的人脸图像虽在改进算法下识别率提高,但与不含背景信息的公开库比较,算法鲁棒性下降从而表现出识别率较低;整体而言,改进后的算法使得遮挡人脸下的识别准确率有了明显提高。

图9 不同背景信息下的识别结果

3.2 不同遮挡面积的人脸识别实验

本实验中的人脸数据集包含不同形状、不同类型的遮挡,且并不是每张图像仅含有一类遮挡,故需要从宏观上根据遮挡面积所占比例情况对其进行分类。由表情或光照变化造成的遮挡,其遮挡面积较小,为面部遮挡面积的5%~10%;由姿态不同造成的遮挡,其遮挡面积为10%~40%;口罩的遮挡为40%~60%;墨镜的遮挡约为20%;除此之外,还有随机遮挡块的添加,其遮挡面积为10%~60%.由此将图像按照遮挡面积分类进行人脸识别,但需明确的一点是:无论存在多大遮挡,无遮挡部分至少留有一种面部特征(眉毛、眼睛、鼻子和嘴巴)。

实验结果如表1所示。分析表1中的实验数据可知,当遮挡率较小时,四种方法的识别结果较为理想,但随着遮挡率的增加,最近邻分类器方法NN的识别率最先出现大幅度下降,后当遮挡率在50%左右时,SRC与CRC算法的识别率也有了较为明显的下降。对比发现,本文方法无论在那种遮挡率下的识别性能均优于其他算法,进一步证明了本文方法在局部遮挡人脸识别中有较好的鲁棒性。

表1 不同遮挡率下的识别结果

4 结语

本文针对局部遮挡图像采集并创建了过完备字典,提出改进的稀疏表示分类的算法,针对于现实场景中存在的主客观遮挡:光照、表情、姿态的变化以及口罩、墨镜的遮挡等,且在训练样本数量不多时,以经典稀疏表示分类算法为基础,通过引入噪声项控制重构样本以及残差的大小,提高了分类识别的准确率,进而验证了算法的鲁棒性。虽然本文算法能够实现对含有背景信息的遮挡人脸图像识别与分类,但识别效果仍有提升空间;且当遮挡面积增大时,识别准确率会随之下降,因此还需进一步研究含有背景信息的遮挡人脸图像的识别算法,使其更具鲁棒性及现实意义。

猜你喜欢

人脸识别人脸灰度
采用改进导重法的拓扑结构灰度单元过滤技术
人脸识别 等
有特点的人脸
基于灰度拉伸的图像水位识别方法研究
揭开人脸识别的神秘面纱
三国漫——人脸解锁
基于最大加权投影求解的彩色图像灰度化对比度保留算法
基于灰度线性建模的亚像素图像抖动量计算
基于类独立核稀疏表示的鲁棒人脸识别
马面部与人脸相似度惊人