基于吸引模式的局部二阶梯度轮廓人脸识别算法
2021-08-13叶学义钱丁炜应娜王涛
叶学义,钱丁炜,应娜,王涛
(杭州电子科技大学模式识别与信息安全实验室,浙江 杭州 310018)
1 引言
人脸识别因其广泛的应用领域、非侵入式且便利的采集方式[1],一直是被深入研究但又亟待突破的研究热点。实际应用中广泛存在的,诸如光照、遮挡、姿态、表情等因素,依然是造成识别性能剧烈变化的主要原因,这些因素严重影响了人脸特征提取和表征的稳定性。因此,寻求解决该问题的关键在于如何稳定、有效地提取并表征人脸特征,提高人脸识别算法的稳健性。其中,有效性是描述特征提取效果好坏的重要指标之一,体现了提取的特征信息对于分类的作用大小,最直观的表现为识别率的高低。
人脸特征提取的研究主要分为全局特征提取和局部特征[2]提取两大类。全局特征提取着眼于人脸图像的整体属性,虽然具有较高的计算效率,但忽视了人脸细节的刻画,对局部边缘特征提取不充分。典型的方法有主成分分析(principal component analysis,PCA)[3]、线性判别分析(linear discriminant analysis,LDA)[4]等;局部特征提取专注于刻画人脸的局部或者微纹理结构,对原始图像进行特定模式编码,获得对应的特征图,对于光照、表情、姿态等干扰的稳健性较好。经典方法有局部二值模式(local binary pattern,LBP)[5]、局部方向模式(local directional pattern,LDP)[6]等。这类方法识别速度非常快,能在速度与精度上取得一个有效平衡,得到了广泛的研究。Ojala等[5]提出了局部特征提取经典的LBP方法,该方法侧重于利用中心像素与邻域像素的灰度值差异,很好地刻画了图像纹理。由于仅利用灰度域二元像素点之间的大小关系编码,梯度信息缺失,对光照、噪声敏感。为了解决LBP存在的问题,Jabid等[6]提出了一种基于图像边缘响应之间大小关系的局部方向模式,通过将图像块与Kirsch模板算子卷积,得到边缘响应,记录边缘响应最大的几个位置并进行编码。该方法有效利用了一阶梯度信息,对光照和噪声的稳健性有所提高,但识别时间较长,识别效果一般。为了使LDP编码更加紧凑,Rivera等[7]提出了一种局部方向数(local directional number,LDN)模式,通过抓取最大和最小的边缘响应信息进行编码,减少了编码位数,提升了识别速度,编码效率更高。但由于该方法只选取两个极端边缘响应位置,特征不稳定。在光照情况下,一阶梯度信息对识别效果的提升不明显。为了提取更深层次的梯度信息,李照奎等[8]提出了差值局部方向模式(difference local directional pattern,DLDP)算法,杨恢先等[9]提出了一种基于中心对称局部方向模式(center- symmetric local directional pattern,CSLDP)的算法。其中,DLDP对邻域内边缘响应相邻作差,找出最大的几个边缘响应差值对应的位置进行编码,利用了二阶梯度信息,但编码较复杂,仅考虑了近邻边缘响应之间的强度变化,导致识别时间较长,识别效果不佳。CSLDP比较邻域内中心对称边缘响应之间的强度关系,提升了识别速度,但特征信息太少,编码稳定性一般。王晓华等[10]提出了梯度中心对称局部模式(gradient center symmetric local directional pattern,GCSLDP),同时利用了相邻边缘响应差值信息与中心对称边缘响应强度信息,识别率有所提升,但存在信息提取不完全和稳定性较差的缺点。基于深度学习的人脸识别方法在大规模的数据库中达到了很高的识别精度,但这类方法需要大量的训练成本(包括时间成本和算力成本),对于数据库的样本数量要求也很高,适用于样本数量充足、硬件算力强大的场景。而手工描述符方法属于相对灵活的轻量级方法,对样本数目和算力基本没有要求,识别的实时性也很高,适用于大多数样本数量不多、硬件算力一般的场景。
LBP、LDP、LDN等方法均利用一阶灰度或梯度信息进行编码,对姿态、表情的稳健性较高,但特征提取有效性有所欠缺。二阶梯度带来深层次信息的同时,也增大了噪声的影响。DLDP、CSLDP、GCSLDP等利用二阶梯度编码的方法,编码稳定性不足,对随机噪声、表情、姿态敏感。为了提升上述算法的稳定性,Khadiri等[11]提出了基于排斥吸引模式的局部二阶梯度轮廓(repulsive- and-attractive local binary gradient contours,RALBGC)算法,采用吸引模式局部微结构编码,使稳定性得到了很大的提升,在抗干扰能力方面表现出优异的性能,但人脸识别的有效性有所欠缺。考虑LBP、LDP、LDN等方法对干扰的稳健性较高,但特征提取有效性不足[8]。DLDP、CSLDP、GCSLDP等方法提升了特征提取的有效性,但明显降低了对干扰的稳健性[12]。
吸引局部二阶梯度轮廓(attractive local second gradient contours,ALSGC)模式引入二阶梯度信息提升方法的有效性、提升方法对干扰的稳健性,同时满足有效性和对干扰的稳健性要求。首先,将人脸图像3×3邻域与Kirsch模板算子卷积,得到对应的边缘响应图,再分别对边缘响应图进行吸引模式编码,结合局部平均灰度值、邻域中心灰度值和全局平均灰度值的吸引模式编码,生成ALSGC码。遍历整个人脸图像,最终将其转化为与原图大小一致的ALSGC人脸图。然后,对ALSGC人脸图进行分块,统计每个分块中不同模式数的个数,形成多个统计直方图。最后,将统计直方图中所有子块的模式数级联,生成人脸图像对应的特征向量,用支持向量机分类器进行分类识别。
2 吸引局部二阶梯度轮廓模式
2.1 吸引排斥模式介绍
排斥和吸引模式描述了像素的局部微结构,通过比较相邻3个元素组成的三元组之间的大小关系,对图像进行吸引和排斥模式编码,如图1所示。一位二进制编码包含3个元素之间的细节信息,提取的信息更丰富,特征提取有效性更高;结合局部均值和全局均值,在纹理识别领域取得了不错的效果,初步证实了吸引排斥模式的理论可行性[11]。
图1 吸引和排斥的微结构(模式编码)
图1中,Ic表示局部邻域中心像素的灰度值,Ik表示3×3局部邻域的灰度值(k∈{0,1,…,7})。排斥和吸引算子分别将3×3局部邻域中围绕中心像素Ic的所有相邻三元组划分为两类,即排斥与非排斥模式、吸引与非吸引模式。图1举例说明了两个分别代表排斥和吸引模式的三元组,在图1(a)中,由于I6像素点的灰度值比I5和I7的灰度值都大,三元组[I5,I6,I7]被定义为吸引模式。相反,在图1(b)中,由于I7像素点的灰度值比I0和I6都小,三元组[I0,I7,I6]被定义为排斥模式。
基于上述排斥和吸引模式的概念,定义排斥和吸引模式的二进制阈值函数v(⋅)和υ(⋅),具体定义如式(1)、式(2)所示。
吸引二元阈值函数(attractive binary thresholding function,ABTF)υ(⋅):
排斥二元阈值函数(the repulsive binary thresholding function,RBTF)v(⋅):
2.2 ALSGC分析
传统的LDP特征提取算法对于特征提取的有效性以及对遮挡、表情、光照等干扰的稳健性不能取得一个较好的平衡效果[12],基于这两个方面,提出了ALSGC算法。
(1)对于特征提取的有效性:将人脸灰度图转变为边缘响应图,对边缘响应图进行吸引模式编码,得到吸引局部二阶梯度轮廓特征图,充分利用二阶梯度空间的图像细节信息,同时考虑中心像素灰度值、局部平均灰度值以及全局平均灰度值之间的关系,有效提取并表征图像特征。
(2)对于干扰的稳健性:该方法编码有着较强的稳定性。首先,一位编码由3个边缘响应点决定,随机噪声与光照较难对编码造成影响。其次,对相邻边缘响应采用不对称编码,突出吸引模式编码,在较大面积遮挡的情况下,该方法编码受到的影响明显小于其他对比方法。该方法对遮挡、光照、随机噪声等干扰的稳健性明显高于其他对比方法。
2.3 ALSGC编码
由于吸引排斥模式[11]对于局部微结构的表征非常稳定,抗干扰能力很强,本文选择吸引模式,在梯度域借鉴RALBGC在纹理识别中的编码方式,以提取更深层次且稳定的梯度判别特征,改进同样在梯度域编码的LDP类人脸识别方法。
ALSGC编码具体步骤如下。
首先,将人脸图像3×3邻域块I与Kirsch算子[13]卷积Ma(a=0,1,2,3,4,5,6,7),对得到的8个方向的边缘响应取绝对值,得到ma(a=0,1,2,3,4, 5,6,7)。Kirsch算子如图2所示。再引入吸引模式对ma进行编码,沿着中心点mc找出所有相邻的边缘响应三元组,对其进行吸引模式编码,得到一串二进制编码,描述了二阶梯度轮廓信息,提升了特征提取的有效性。为了提升对噪声和单调灰度变化的稳健性,引入局部平均灰度值μ:
图2 Kirsch算子
其中,S表示以Ic为中心的3×3邻域像素点数,s表示对应的像素序号,Is表示对应序号像素值。P表示分块内横向像素点的个数,Q表示分块内纵向像素点的个数,I(p,q)表示以分块左下角像素点为坐标原点,坐标为p和q的像素点灰度值。
其次,结合局部平均灰度值μ、邻域中心灰度值Ic和全局平均灰度值组成的吸引模式三元组,得到最终的二进制编码:
最后,将二进制编码gALSGC转化为十进制数,即中心像素点x的ALSGC编码值:
其中,ω9定义为:
如图3所示,举例展示了ALSGC的编码过程。
图3 ALSGC编码过程
对应排斥的局部二阶梯度轮廓描述(repulsive local second gradient contour,RLSGC)算法的编码过程将ALSGC的吸引模式编码改为排斥模式编码,其他与ALSGC算法相同。
根据上述编码过程可知,三元组之间的大小关系一共有6种情况,两种属于排斥模式,两种属于吸引模式,两种既不属于排斥模式又不属于吸引模式。既不属于排斥又不属于吸引的两种情况,在ALSGC和RLSGC两种编码的情况下都为0。因此,在样本较大的情况下,同一张图片对应ALSGC的编码必然存在长度为编码总长度1/3的编码为0的子编码段,RLSGC的编码也是如此,前后这两段子编码数值均为0,位置完全重合;而ALSGC编码中剩余的长度为编码总长度2/3的子编码段,在零一取反后,则成为了RLSGC对应位置的编码段,两种编码方式之间信息高度冗余。
对于同类的不同样本,结合ALSGC和RLSGC的编码方式,相对于ALSGC或RLSGC单一的编码方式,增加了同类的不同样本之间的差异,增加了类间距离,降低了识别效果。对于不同类的不同样本,不一定能增加类间距离。综合来看,结合ALSGC和RLSGC的编码方法在人脸特征提取中无法获得比单独使用两种编码方法更好的识别效果。
2.4 ALSGC编码的稳定性
ALSGC吸引模式占比为1/3,编码为1,非吸引模式占比为2/3,编码为0,随机噪声可能会使三元组在不同的非吸引模式间变化,相对于其他对比方法,不易导致ALSGC编码发生变化。
在黑块极限遮挡情况下,白块同理,人脸图像前后对比如图4所示。
图4 人脸图像在黑块极限遮挡情况下对比
为客观描述不同编码方法受遮挡影响程度的大小,定义编码信息损失函数如下:
其中,M和N分别表示遮挡块的纵向像素点数和横向像素点数;m、n分别表示在遮挡块内,以遮挡块左上角像素点为原点,竖直方向与原点相隔的距离和水平方向与原点相隔的距离;L表示当前方法每个像素点编码串的长度;l表示编码串中每个编码的位置;δ(m,n,l)表示坐标为(m,n)的像素点中第l位编码在遮挡前后的变化情况,具体计算式为:
其中,Code(m,n,l)和Code'(m,n,l)分别表示遮挡前后坐标为(m,n)的像素点中第l位编码的值。
LBP算法是根据中心像素点灰度值和3×3邻域像素点灰度值之间的大小关系进行编码,在极限遮挡和样本足够大的情况下,LBP编码从0、1各占一半的情况变为全0或全1,ΔCLBP=1/2。LDP、LDN、DLDP、CSLDP、GCSLDP等算法根据3×3邻域边缘响应之间的二元组大小关系进行编码,在极限遮挡的情况下,依靠相邻边缘响应或对称边缘响应二元组大小关系的编码几乎遭到了完全破坏,趋于随机分布,ΔC≈1在不考虑第一位均值编码的情况下,ASLGC算法由于不对称编码的特性,约1/3的编码为1,2/3的编码为0;在遮挡前后,改变的编码位数只占编码总长度的1/3,即ΔC≈1/3。因此,ALSGC编码与其他对比方法相比,对于较大面积的遮挡有着较强的稳定性。
通过图5例子来验证ALSGC的稳定性。图5中,将原始图像块随机增减一个数表示噪声,将第3行像素值都增加5表示光照变化,将第1行和第1列设置为近似相等的像素值表示遮挡1和遮挡2。
由图5可知,与原始图像块中各种算法的编码进行对比,在添加噪声情况下,LDP、LDN、DLDP、CSLDP、GCSLDP编码值发生了变化;在光照变化情况下,LBP编码值发生了变化;在遮挡1情况下,LBP、LDP、LDN、DLDP、CSLDP、GCSLDP编码值都发生了变化;在遮挡2情况下,CSLDP编码值发生变化。在所有情况下,只有ALSGC编码值不发生变化,稳定性较强,体现了ALSGC对遮挡、光照、随机突变噪声的稳健性。
图5 算法编码稳定性
2.5 ALSGC人脸识别的流程
人脸识别流程如图6所示,具体流程如下。
图6 人脸识别流程
(1)使用Kirsch算子对人脸图像进行边缘检测并通过ALSGC编码对得到的边缘响应进行特征提取,获得对应的特征图。
(2)对特征图进行不重叠分块处理,并对每个分块逐一统计分块内不同模式编码的个数,形成对应子块的统计直方图(统计直方图的横坐标为不同的模式编码值,纵坐标为不同模式编码值在子块中的出现次数)。
(3)将统计直方图中所有子块的模式数进行级联,作为该幅人脸图像的特征向量。
(4)利用支持向量机分类器进行分类,完成识别。
3 实验结果及分析
3.1 实验环境与参数设置
为了验证本算法的性能,本研究选择在CAS-PEAL[14]、ORL[15]、GT[16]人脸数据库上进行实验,这些数据库分别包含了表情、遮挡、光照、姿态、突变噪声等干扰。为客观比较本文算法和其他算法,本实验均采用10×10的分块(即将待编码图像分为100幅子图,每幅子图大小为待编码图像大小的1/100)。为验证算法有效性,本文选择与LBP、LDP、LDN、DLDP、CSLDP、GCSLDP等进行比较。实验所用硬件设备为AMD Ryzen 5 4600U,RAM为16 GB,仿真环境为MATLAB R2018b。
3.2 基于CAS-PEAL人脸库的结果和分析
CAS-PEAL人脸库包含了1 040名中国人共99 450幅头肩部图像,包含了姿态、表情、背景、饰物、光照、距离、时间7个子库。考虑实际应用中对人脸识别性能影响最明显的干扰因素,本文选取其中的表情、饰物、光照子库进行实验,其中表情子库包含376人共1 880幅图像,饰物子库包含433人共2 598幅图像,光照子库包含232人共2 088幅图像,部分样本如图7所示。
图7 CAS-PEAL人脸库部分样本
为保证实验的准确性,在每类人脸样本中随机选取k张图片作为训练样本,剩下的图片作为测试样本,取重复计算50次的均值作为最终识别率。实验结果见表1~表3。
表1 在CAS-PEAL表情子库上的识别率
表3 在CAS-PEAL光照子库上的识别率
由表1可知,在表情子库下,大部分算法识别效果较好,但本文算法有着明显的优势。LDP、LDN等方法通过比较边缘响应的大小进行编码,受到的影响较小,识别效果普遍较高,DLDP、CSLDP、GCSLDP等方法通过对边缘响应计算差值后进行编码,容易受到表情、随机噪声的影响,编码不稳定,识别效果一般。本文方法依靠三元组不对称编码,编码稳定,对表情与随机噪声稳健性好。
在饰物子库下,人脸的一些部位被遮挡了,对识别效果造成了不小的影响。此时,降低遮挡对于算法编码的影响就尤为重要。对于大部分对比算法,遮挡区域的编码与该区域无遮挡时的编码相差很大,对于分类识别的贡献大大降低,但对于依靠吸引模式三元组进行不对称编码的ALSGC算法,遮挡区域的编码与该区域无遮挡时的编码相差较小。ALSGC编码受遮挡的影响更小,与未遮挡时的编码更接近,因此识别效果更好。由表2可知,在随机选取2张人脸图像作为训练样本的情况下,ALSGC算法相比LBP、LDP、LDN、DLDP、CSLDP、GCSLDP分别提高了8.7%、8.79%、7.35%、7.01%、7.6%、6.68%。
表2 在CAS-PEAL饰物子库上的识别率
在光照子库下,人脸图像会受到来自不同方向、不同程度的光照影响。LBP在灰度域进行编码,主要利用图像灰度值差异,刻画图像纹理,侧重于描述局部图像整体信息,表现欠佳。LDP主要利用局部图像的边缘响应,抓住边缘响应绝对值最大的几个方向进行编码,效果有所提升,但无法精确定位最主要的纹理方向。LDN在LDP的基础上,抓住最大和最小的边缘响应值,相比之下,编码不容易受到影响。但在人脸图像的平滑区域对噪声比较敏感,会对识别效果产生负面影响。DLDP方法通过对相邻边缘响应计算差值进行编码,提取了更深层次的梯度特征。CSLDP通过对中心对称方向上的边缘响应计算差值进行编码,可以体现边缘的大致纹理方向,但是由于编码信息太少,难以大幅提升识别效果。GCSLDP则结合了CSLDP提取的中心对称差值信息和DLDP提取的相邻差值信息,提升了识别率。本文算法对相邻边缘响应采用了吸引模式三元组不对称编码,结合全局均值、中心灰度值与局部均值的三元组编码,不仅有效利用了梯度信息,还极大提升了编码的稳定性。由表3可知,在随机选取4张人脸图像作为训练样本的情况下,ALSGC算法相比LBP、LDP、LDN、DLDP、CSLDP、GCSLDP分别提高了39.58%、36.13%、23.58%、23.75%、7.9%、2.3%。
综合表1、表2、表3可以发现,在CAS-PEAL表情、饰物、光照3个人脸子库上,随着训练样本与测试样本比例的增加,所有算法的识别率均不断增加,但ALSGC算法相对于其他算法,由于特征提取有效性最高,特征编码最为稳定,识别率始终处于领先地位,尤其是在饰物子库、光照子库,本文算法的优势更加明显。实验数据也验证了第1.3节中编码稳定性分析,只有ALSGC在噪声、光照、遮挡1、遮挡2的情况下编码保持稳定不变,体现了ALSGC对于光照和遮挡的稳健性。
3.3 基于ORL人脸库的结果和分析
ORL人脸库由英国剑桥大学的Olivetti实验室创建,包含40名志愿者的400张人脸样本,主要包含姿态和表情变化,分辨率为112 dpi×92 dpi,实验中选择归一化到100 dpi×100 dpi分辨率下,部分样本如图8所示。
图8 ORL人脸库部分样本
为保证实验的准确性,在每类人脸样本中随机选取k张图片作为训练样本,剩下的10−k张图片作为测试样本,取重复计算50次的均值作为最终识别率。实验结果见表4。
表4 各种算法在ORL人脸库上的识别率
ORL人脸库中,表情和姿态的变化考验算法对于纹理变化的稳健性。由表4可以发现,DLDP、CSLDP、GCSLDP通过对边缘响应计算差值后进行编码,相当于再次计算了一次梯度,虽然能提取更深层次的信息,但是也放大了噪声变化带来的影响。LDP、LDN等方法通过比较边缘响应的大小进行编码,受到的影响较小。本文算法利用吸引模式进行编码,同时利用中心像素的灰度信息,引入局部二阶梯度轮廓信息,相较对比方法,可以更好地抓住纹理信息,特征提取更有效,稳定性更高,性能更好。在训练样本与测试样本比例为1:1时,本文算法相比LBP、LDP、LDN、DLDP、CSLDP、GCSLDP分别提高了2.83%、3.66%、2.24%、3.53%、4.45%、6.44%。
3.4 基于GT人脸库的噪声实验
为进一步验证ALSGC算法对噪声的稳健性,在GT人脸库进行了噪声实验,GT人脸库包含50个人的750张不同角度、不同表情的正面照片,部分样本如图9所示。
图9 GT人脸库部分样本
本文在每类人的15张样本中随机选取5张作为训练样本,剩余10张作为测试样本。随后对每幅图像添加椒盐噪声,添加噪声的比例为0~40%。不同百分比噪声情况下的样本图像如图10所示。
图10 不同百分比噪声下的图像
同时为了客观描述不同算法识别效果受噪声影响的程度,定义识别率下降速度函数[17],计算式为:
其中,r表示未加噪声的识别率,f表示受到噪声影响后的识别率,δ表示识别率的下降速度,δ越高表示算法抗噪声能力越差。各种算法在不同百分比噪声下的识别率见表5。
表5 GT人脸库噪声实验结果
4 结束语
为了提升人脸特征提取的有效性与特征编码的稳定性,进一步提高人脸识别性能,本文提出了一种基于吸引二阶梯度局部轮廓模式(ALSGC)的人脸识别算法。该算法通过吸引模式编码,更加深入、有效地提取二阶梯度轮廓信息,克服了LDP、LDN等算法提取一阶梯度信息导致的特征提取有效性不足的缺点,同时ALSGC采用三元组编码,提升了编码的稳定性,避免了DLDP、CSLDP、GCSLDP等算法由于引入二阶梯度带来的噪声敏感问题。而且由于ALSGC编码不对称性,对遮挡尤其是大面积遮挡,编码受遮挡的影响程度是上述算法中最小的。实验数据也表明,ALSGC算法既保证了特征提取的有效性,又对干扰有较强的稳健性。在光照、随机噪声、表情、遮挡、姿态等变化下,本文算法能够达到更高的识别率,证明了算法的纹理特征描述能力与稳健性。但是三元组编码带来稳定性的同时,提高了计算复杂度,后续将针对该问题进行研究。