乐新宇,肖小霞
(1.广东省龙川县广播电视台,广东 龙川 517300;2.武汉大学 计算机学院,湖北 武汉 430072)
人脸识别[1]是模式识别和计算机视觉领域中一个非常重要的研究课题,众多学者对该课题展开了研究,提出了一系列经典的人脸识别方法。例如,文献[2]提出了基于主成分分析(PCA)的特征提取方法来完成人脸识别任务,但该方法由于没有很好地利用人脸的局部信息,因此识别率不高[3],而且可能导致小样本问题[4]。
针对PCA应用于人脸识别问题上的不足,文献[5]提出了二维主成分分析(2DPCA)方法来进行人脸识别,通过计算维度低得多的协方差矩阵在一定程度上提高了人脸识别的精度,但该方法没有考虑协方差矩阵中行与行之间的相关性,对于复杂环境下的人脸识别问题不能得到最优解[6-7]。在此基础上,有研究者分析了待考察图像的列和行的关系[8],对2DPCA进行了改进,提出了(2D)2PCA来解决复杂环境下的人脸识别问题,取得了与2DPCA一样的识别精度[9-10]。此外,文献[11-15]相继提出了分块PCA(BPCA)方法、PCA(BPCA_L1)方法和2DKPCA来进行人脸识别。虽然这些方法能够满足大多数场景下的人脸识别需求,但还普遍存在着由于局部信息丢失所导致的识别精度低的问题。
鉴于此,文中提出一种新的基于2DPCA的算法,以高效地实现人脸识别,并通过AR和ORL两个人脸数据库上的实验验证该方法的有效性。
(2D)2PCA认为2DPCA实质上是对图像的行方向的运算,通过同时考虑图像行方向和列方向的运算,(2D)2PCA可以得到2个方向的2DPCA值。
(1)
定义图像的总体散布矩阵为:
(2)
1.1.1 行方向2DPCA
(3)
通过式3可知,可以通过计算图像行向量的外积获得图像的总体散布矩阵G,即提出的2DPCA算法从本质上说是对图像做行方向的运算。
1.1.2 列方向2DPCA
假设有一个列向量彼此正交的矩阵Z∈Rm×q(q≤m),将A向Z投影得到一个大小为q×n的矩阵B:
B=ZTA
(4)
(5)
得到总体散布矩阵G和G'后,设通过行方向2DPCA和列方向2DPCA获得的投影矩阵分别为X和Z。文中的(2D)2PCA同时将图像A向X和Z做投影,可以得到一个大小为q×d矩阵的C:
C=ZTAX
(6)
其中,C表示(2D)2PCA在A上提取得到的特征矩阵。一般而言,q值要远远小于m,即相比于2DPCA在A上提取得到的特征矩阵为Y(m×d),文中算法显著降低了特征矩阵的维度,节省了存储空间,提高了运算效率。
首先,将待测试的每一幅图像划分为多个不重叠的块,块的数目预先指定,每个块都涵盖了图像的某些局部特征;然后,采用(2D)2PCA算法将每个块的内容转换到某个能够保持该块大部分信息的子空间中,相当于获得块的一种稀疏表示,去除那些对于分类不起作用的局部特征。下面给出表示该过程的两个步骤。
1.2.1 图像分块
假设Ai∈RH×W表示第i幅待测试图像,采用矩阵Ai将图像划分为Nb=DH×DW个块。其中,DH和DW分别表示垂直方向和水平方向上分割的数目,如式7所示。分别利用w=W/DW和h=H/DH计算每个块的宽度和高度。
(7)
1.2.2 提取特征
(8)
(9)
(10)
(11)
(12)
(13)
在这种方式下,式14对于每一个样本Ai,有相同块数目的特征矩阵,但获得的低维的特征矩阵为:
(14)
(15)
采用具有Nb个最近邻居节点的分类器来找到待测试样本的标签,这里Nb相当于块的数目。对于任意一个块,每个分类器在给定的置信度条件下为输入块的每个类进行投票。就L类问题而言,每个分类器将获得L个置信度。因此,为了对输入的测试图像进行分类,首先为每个类计算它们的置信度之和,然后从中选出和值最大的那个类作为输出类。
假设Cl,k表示某一待测试图像中第k个块的内容隶属于第l类的置信度,则可以定义Cl,k为:
(16)
假设Dl,k表示某一待测试图像中第k个块和第l类图像对应块之间的最小距离,则有:
(17)
其中,‖·‖Fro表示Frobenius范式。
式16中的参数σ一般来说是某一正常数,它和Dl,k共同影响到置信度的计算。如果σ越小,则Dl,k的选取对于置信度越重要;如果σ接近于0,则分类等价于通过简单投票来决定标签属于哪一类的问题,此时不能得到最优的分类结果。此外,对于待测试图像,所有分类的置信度之和应该总是为1,即有:
(18)
通过式18的处理,可以获得参数σ的归一化常量,并使得置信度的计算与块中距离的远近无关。然后,采用式19计算得到待测试图像隶属于第l类的置信度之和:
(19)
根据式19可知,对于任意的待测试图像,如果所有的分类中类l具有最大的置信度之和,则认为该测试图像属于类l。
实验主要分为两部分:第一部分在AR人脸库中选择有遮挡(眼镜和围巾)图片进行实验;第二部分为算法识别时间实验。
所有实验中,对所有方法使用Frobenius范式作为距离函数:
(20)
其中,F和Fi是Rh×w中的两个特征矩阵。
在遮挡仿真中,主要包含围巾遮挡和墨镜围巾遮挡。具体而言,在AR人脸库中选择了存在遮挡情况的120个目标进行了实验。
(1)围巾遮挡。
在所选择的120个目标对象中,选择20幅仅光照、情绪变化的图像,其中12幅不存在阴影遮挡的图像作为训练集,剩下8幅存在遮挡情况的图像作为测试集。图1给出了AR人脸库的一个目标示例。在AR人脸库上的识别率对比如表1所示。
图1 来自AR人脸库的一个目标
算法30541203002DPCA57.4674.2385.0292.36(2D)2PCA57.7274.4685.1693.87BPCA57.6074.2885.0592.72LBDPCA57.3074.1184.9593.63B(2D)2PCA61.3276.4085.7395.50
(2)眼镜遮挡。
在所选择的120个目标对象中,选择20幅仅光照、情绪变化的图像,其中12幅不存在阴影遮挡的图像作为训练集,剩下8幅存在遮挡情况的图像作为测试集。在AR人脸库上对2DPCA[5]、(2D)2PCA[8]、BPCA[12]、LBDPCA[14]和文中方法的识别率进行了比较,结果如表2所示。
表2 AR库眼镜遮挡时各算法的识别率 %
由表1、表2可知,人脸有遮挡时,B(2D)2PCA一致优于其他方法。
仅识别率高于其他算法还不足以说明文中方法的优越性,为评测文中方法的性能,在AR、ORL人脸库,以识别一张图像为例,将文中方法与其他人脸识别算法在识别时间上进行了比较。仿真实验中所采用的环境设置为:Intel Core i3 6100处理器,内存8 G,存储空间1 TB,仿真工具采用Matlab R2016a。以AR和ORL人脸库中的识别任务为测试对象,得到的仿真结果见表3,可以看到文中算法比传统算法的效率要高。仔细分析原因可知,文中提出的B(2D)2PCA算法即使面对非常复杂的外在因素干扰(比如光照、阴影遮挡等),仍然能够快速地提取用于人脸识别的关键特征,因此极大地节省了算法的空间搜索时间,取得了更好的效率。
表3 各算法在AR和ORL人脸库上的识别耗时比较 s
针对现有人脸目标识别算法的不足之处,采用主成分分析技术,提出了一种改进的人脸目标识别算法。该算法能够在光照受限、遮挡等复杂环境下对人脸进行准确识别,具有较好的应用前景。在下一步工作中,将对该算法进行扩展研究,以进一步提升算法的人脸识别效率。