基于核扩展混合块字典的单样本人脸识别研究
2022-02-22马杲东曹雪虹
马杲东,吕 非,童 莹,曹雪虹
(1.南京邮电大学 通信与信息工程学院,江苏 南京 210003;2.南瑞集团有限公司,江苏 南京 211106;3.南京工程学院 信息与通信工程学院,江苏 南京 211167)
0 引 言
人脸识别技术由于其在图像处理、计算机视觉领域的广泛应用而获得了广泛的关注。在过去的十几年中,人脸识别技术取得了巨大的成就。但是由于待测试人脸中包含大量光照、阴影、姿势、表情以及遮挡等面部变化,人脸识别仍然是一项极具挑战性的任务。
随着人脸识别的应用场景越来越广泛,在执法、身份证识别以及机场监控等实际应用场景中,鉴于有限的存储空间和个人隐私的考虑,每个人可能只有一张样本。当没有足够多的训练样本来预测待测试样本中的差异信息时,人脸识别问题就变得十分困难,这就产生了所谓的单样本人脸识别问题(single sample per person,SSPP)。
如何在这种单样本情况下得到较高的鲁棒性是人脸识别中最重要也是最具挑战性的一个问题。传统的判别子空间方法以及流形学习算法无法直接用来应用在单样本问题中。Wright等提出的稀疏表示分类(sparse representation-based classification,SRC)以及Zhang等提出的协作表示分类(collaborative representation-based classification,CRC)需要使用足够过的样本来描述测试样本,因此无法在单样本人脸识别中取得很好的性能。
近年来,研究者们为了解决单样本的人脸识别问题提出了许多方法。这些方法大致可以分为两类:全局方法和局部方法。全局方法使用整张人脸图像作为输入来识别测试样本。对于全局方法,有两个主要方向:一是生成虚拟样本将单样本问题转化为传统多样本问题,二是通用学习方法。生成虚拟样本指的是通过奇异值分解、几何变换等方法将原图像生成多张虚拟样本。例如,彭帆等提出了基于WSSRC的样本扩充方法,采用一种三层级联的虚拟样本产生方法获取冗余样本,将生成的多种表情和多种姿态的新样本当成训练样本。Zhang等通过几何变换来创建更多的虚拟训练样本。这些方法的主要缺点是虚拟样本和原始样本总是高度相关,导致虚拟样本所产生的新信息比较有限。
与虚拟样本方法相比,通用学习方法通常借助一个通用训练集来补充原始的SSPP验证集。例如,Wang等提出一种通用的学习框架来学习通用训练集中每类人的类内差异信息,而通用训练集中的类内差异信息可以被所有人共享。Deng等对SRC进行了改进,提出了一种扩展稀疏表示分类器(extended sparse representation-based classification,ESRC),该方法通过通用训练集构建一种辅助的类内差异字典来表示训练样本和测试样本之间的差异,Yang等通过学习稀疏差异字典来描述人脸中的各种光照、遮挡等变化。Ji等提出协作概率标签方法(collaborative probabilistic labels,CPL)通过标签传播来实现人脸识别。尽管这些方法在一定程度上可以提升SSPP的性能,但是这些方法的性能在很大程度上取决于通用训练集的选择。
局部方法利用面部的局部特征来识别待测试样本。一些方法将图像分成几个重叠或者不重叠的图像块,用于生成局部特征,其中每个分块的样本被认为是该人的独立样本。基于这种假设,研究人员对传统的子空间学习方法以及基于表示的分类器进行了扩展,例如模块化PCA、模块化LDA、基于补丁的SRC。这些方法通过整合每个分块的输出结果来实现SSPP人脸识别。但是由于这些方法没有考虑到每个分块之间的相关性,因此存在一定的局限性。PCA和LDA等方法不能很好地处理复杂的非线性特征,它们的核化版本KPCA和KDA通过非线性核映射将样本映射到一个高维空间中,然后在高维空间中进行PCA和LDA,能够有效地提取人脸的非线性特征。
Huang等学习了一种核扩展字典(kernel extended dictionary,KED),通过KDA对样本进行判别分析,另外构建了一个遮挡模型来处理遮挡问题。一些方法尝试结合LBP特征以及Gabor特征等传统的人脸特征提出更具判别性的特征以用于SSPP人脸识别。例如,马振等将分层LBP特征与金字塔模式HOG特征相融合从而得到更具判别性的特征。Wang等提出一种三重局部特征的鲁棒联合表示,提取多个方向的局部特征来构建更具判别性的特征。文献[23]中采用旋转主方向梯度直方图特征算子提取非约束人脸图像的多尺度多方向梯度特征。文献[24]同时考虑样本的局部结构信息和全局分布信息,提出了有效的降维算法。
受上述研究工作的启发,该文提出了一种基于核扩展混合块字典(kernel extended hybrid block dictionary,KEHBD)的单样本人脸识别方法,用于解决SSPP人脸识别问题。首先,对样本进行分块处理,分别对分块图像进行核判别分析(kernel discriminant analysis,KDA)投影降维,提取图像的局部特征信息构成更具判别性的基本块字典;然后,为经过KDA投影之后的分块样本分别构建遮挡字典和类内差异字典来描述样本中的大面积连续遮挡以及光照、表情等类内差异信息,将遮挡字典和类内差异字典共同组合成混合块字典,使混合块字典能够更好地描述测试样本中不同类型的差异信息;最后,将测试样本表示为基本块字典和混合块字典的稀疏线性组合,根据重构残差进行分类识别。
1 相关方法
1.1 稀疏表示分类和扩展稀疏表示分类
假设=[x
,x
,…,x
]∈R
×是验证集中的n
个样本,其中d
是样本的特征维数,x
的类别标签是c
。给定一张待测试样本∈R
×1。稀疏表示的基本原理就是将测试样本表示为训练样本的稀疏线性组合并通过式(1)来求解稀疏系数∈R
×1:(1)
令向量δ
()∈R
×1表示除了与c
类样本相关的系数之外其余的系数全为0,通过最小化残差来对y
进行分类。(2)
在很多实际的人脸识别场景中,由于测试样本中会包含遮挡和污染,SRC通过式(3)来计算稀疏表示,其中∈R
×是单位矩阵。(3)
扩展稀疏表示分类(extended sparse representation-based classification,ESRC)使用类内差异字典来代替SRC中的单位矩阵作为扩展字典。假设=[x
,1,x
,2,…,x
,]∈R
×表示第i
类样本,μ
表示第i
类样本的标准样本或者该类样本的均值。则第i
类样本的类内差异表示为:E
=[x
,1-μ
,x
,2-μ
,…,x
,-μ
](4)
将所有类样本的类内差异组合成类内差异字典。然后ESRC用来取代SRC中的单位矩阵,并通过式(5)计算测试样本的稀疏表示:(5)
1.2 核判别分析
核判别分析(kernel discriminant analysis,KDA)的基本思想是先通过一个非线性映射φ
:R
→F
,将样本映射到一个高维特征空间F
,在此高维特征空间根据Fisher准则学习到一个最优投影矩阵,然后用该投影矩阵将样本投影到一个低维空间。在高维空间中学习时,其计算只需在原始图像中完成,无需了解非线性映射的具体含义,只需定义一个与之相对应的核函数。定义高维特征空间F
中的内积为:〈φ
(x
),φ
(x
)〉=k
(x
,x
)(6)
(7)
〈(),φ
(x
)〉=(:,x
)(8)
2 核扩展混合块字典
本节介绍核扩展混合块字典的构建。首先对图像进行分块得到多个子块。在SSPP的情况下,验证集中每个人只有一张样本,因此需要构建判别性强的字典才能用一张样本去表示同类别的待测试样本。由于KDA通过非线性映射能够提取复杂的非线性特征,同时引入类别标签可以使样本的区分度更高。因此对每个子块样本分别进行KDA投影,构建每个子块的基本字典。由于待测试样本中包含大量光照、表情、姿势以及遮挡等类内变化,通过KDA投影并不能消除这些类内变化,因此为每个子块分别构建混合字典,分别提取通用训练集中的遮挡信息和非遮挡类内变化信息来构建遮挡字典和类内差异字典,两者共同组成的混合字典可以很好地描述每个子块中的类内变化。
2.1 图像分块方式
本小节讨论图像的分块方式。相比于整张图像的情况,对图像进行分块处理一方面可以充分提取图像的局部特征,另一方面可以有效减少大面积遮挡的干扰。分块处理方法可以分为无重叠的分块和有重叠的分块。由于分块的大小,形状等因素都会对效果产生不同的影响,该文首先采用多种无重叠分块方式。如图1所示,分块1、2、3分别将图像均匀分成1*2块,2*1块,2*2块,分块4、5、6、7分别将图像分成4*1和1*4块,3*3块,4*4块。通过实验在上述分块方式中选出效果最好的分块方式,然后对该分块方式进行有重叠的分块,更进一步提取人脸中最为丰富的局部特征,有重叠的分块将在实验部分阐述。
图1 图像分块方式
2.2 构建基本块字典
=〈(),φ
()〉(9)
KDA的关键在于构建一个合适的核函数。由于使用LBP特征时χ
距离的效果更好,故构建以下基于LBP特征的径向基核函数:(10)
2.3 构建混合块字典
ESRC中统一构建类内差异字典,没有区分遮挡与光照,表情等类内差异信息的区别从而导致字典缺乏判别性。为了区分连续的遮挡以及光照表情等类内信息的干扰,为分块后的样本分别构建遮挡字典和类内差异字典,由这两者共同组成混合字典。
(11)
(13)
3 基于核扩展混合块字典的单样本人脸识别算法
本小节给出文中所提出方法的具体步骤。由于对图像进行分块,使用SRC分类器进行分类时,只能计算每一块各自对应的残差,最后将残差进行累和,这样每一个子块之间就失去了关联性,从而损失很多结构信息。文献[25]中提出一种协作表示分类器(relaxed collaborative representation,RCR),可用于分块图像的分类。RCR可以利用不同块样本之间的相似性和判别性来进行编码和分类。因此文中采用RCR分类器进行分类,RCR分类器的参数设置与文献[25]中相同。
算法:基于核扩展混合字典的单样本人脸识别(KEHBD)。
输出:测试样本类别标签。
步骤4:重复步骤1~3,得到每一块的基本字典[,,…,]和混合字典[,,…,]。步骤5:使用RCR分类器进行分类。
4 实验结果与分析
本节在CAS-PEAL、AR、LFW和PubFig这四个不同的人脸数据库上进行仿真实验来验证文中方法的有效性。所有的人脸图像裁剪成120×100大小。实验环境为:Win10 64位操作系统,内存8 GB,MATLAB R2017a。
4.1 CAS-PEAL数据库
CAS-PEAL人脸数据库包含1 040类人(595位男性,445位女性)共99 594张人脸图像。使用其中包含了1 040类人的9 031张图像的子集进行实验。图2展示了CAS-PEAL人脸数据库中的部分样本。
图2 CAS-PEAL库中的部分图像
在CAS-PEAL数据库上目标对象的标准数据集,非目标对象的通用数据集,遮挡数据集以及类内变化数据集的设计如下:
(1)非目标对象的通用数据集包含光照变化的180类人和光照变化的80类人,每类人有4张图像,共1 040张变化样本。同时,数据集中还包含每类人1张正脸无干扰图像,共260张标准样本,他们共同组成非目标对象的通用数据集,用于训练KDA投影矩阵。
(2)非目标对象的遮挡数据集包含配饰遮挡的20类人,每类人有4张图像,共80张图像,用于构建遮挡字典。
(3)非目标对象的类内变化数据集包含光照变化20类人和表情变化20类人,每类人4张图像,共160张图像,用于构建类内差异字典。
(4)目标对象的验证样本集由CAS-PEAL数据库中767类人(与上述目标对象不同类的人),每类取1张正脸无干扰图像构成,共767张样本,用于构建基本字典。
(5)目标对象的测试样本集由767类人包含了配饰遮挡、光照、表情、距离、时间以及背景变化的所有样本组成。
4.1.1 非分块实验
为了验证提出的混合字典的有效性,并说明混合字典的有效性是不依赖于图像分块的,首先不对样本进行分块并使用SRC分类器进行分类,将该方法记为KEHD。KEHD与KEHBD的区别在于:KEHD省略了图像分块的步骤;KEHD采用SCR分类器进行分类。
将KEHD与SRC、ESRC、LDA、KDA以及KED进行比较,上述所有的方法都是基于相同的LBP特征。对于SRC和ESRC,鉴于LBP特征的高维性,使用PCA将特征维数降至600。表1是不同方法在CAS-PEAL库上的识别率。
表1 CAS-PEAL数据库中的识别率 %
从表中可以看出,KEHD识别率为92.17%,在所有方法中最高。可见即使在没有分块的情况下,文中提出的核扩展混合字典由于融合了遮挡信息以及类内差异信息,对不同的干扰信息都具有较高的鲁棒性。
4.1.2 分块实验
本节实验是为了对不同的分块方式进行对比。将KEBHD按照图1的7种分块方式进行分块,分别记为KEHBD-1~KEHBD-7。实验结果如表2所示。
表2 CAS-PEAL数据库中KEBHD的识别率 %
由表2可知,无论是哪种分块方式都比不分块时的识别率高,这是由于进行分块之后可以提取图像的局部特征,通过RCR分类器可以将每一块的特征进行融合从而提升识别率。在KEHBD-1~KEHBD-7中,第三种分块方式(将图像分成4*4块)的识别率最高,达到了96.15%。选择分块3的分块方式对图像进行重叠分块,分别设置重叠率为0.5(相邻两块的重叠面积为50%)和0.7。重叠率为0.5时会将图像分成9块。重叠率为0.7时分成16块。表3是不同重叠率下KEHBD的识别率。
表3 CAS-PEAL数据库中KEBHD不同 重叠率下的识别率 %
可以看出,设置了重叠率之后识别率进一步提高。这是由于设置了重叠率之后,能够在整张人脸范围内提取出最具有判别性的特征从而提高了识别率。但是如果重叠率太高会增加计算的负担,因此综合考虑选择分块3的分块方式,以及0.5的重叠率为最佳的分块方式,如图3所示。
图3 最佳分块方式
4.2 AR数据库
AR人脸数据库中包含126类人的4 000多张正面对齐人脸。每类有26张图像,分为两个阶段,每个阶段13张图像,其中标准图像1张,光照变化图像3张,表情变化3张,眼镜遮挡3张,围脖遮挡3张。实验选取了100类样本。图4为AR人脸库中某类人的样本图像。
图4 AR库中某一类人的人脸图像
在AR数据库上目标对象的标准数据集,非目标对象的通用数据集,遮挡数据集以及类内变化数据集的设计如下:
(1)非目标对象的通用数据集包含70类人的每类前7张无遮挡样本,共490张样本,用于训练KDA。
(2)非目标对象的遮挡数据集包含70类人的每类第二阶段6张遮挡样本,共420张样本,用于构建遮挡字典。
(3)非目标对象的类内变化数据集包含70类人的每类第二阶段6张无遮挡样本,共420张样本,用于构建类内差异字典。
(4)目标对象的验证样本集包含30类人的每类第一张标准样本(与上述目标对象不同类的人),共30张样本,用于构建基本字典。
(5)目标对象的测试样本包含30类人的每类剩余25张样本,共750张样本。
表4是所有方法在AR人脸库中的识别率,KEHBD是按图3最佳分块方式的情况。由表4可以看出,KEBHD取得了最高的识别率,证明了KEHBD的有效性。
表4 AR数据库中单样本情况的识别率 %
续表4
4.3 LFW和PubFig数据库
LFW人脸数据库和PubFig人脸数据库中的人脸面部都是在不受环境约束和不准确对齐的情况下获得的,这对于人脸识别具有很大的挑战性。这两个数据库中的部分图像如图5和图6所示。
图5 LFW库中某一类人的人脸图像
图6 PubFig库中某一类人的人脸图像
由于LFW和PubFig数据集中的人脸不对齐,选择遮挡样本以及相应的标准样本较困难,因此只构建类内差异字典来描述样本中的差异信息。在LFW数据库上目标对象的标准数据集,非目标对象的通用数据集,类内变化数据集的设计如下:
(1)非目标对象的通用数据集包含100类人的每类5张样本,共500张样本,用于训练KDA。
(2)非目标对象的类内变化数据集包含100类人的每类5张样本(与通用数据集不重叠),共500张样本,用于构建类内差异字典。
(3)目标对象的验证样本集包含58类人的每类第一张标准样本(与上述目标对象不同类的人),共58张样本,用于构建基本字典。
(4)目标对象的测试样本由58类人的每类剩余全部样本组成。
在PubFig数据库上的设计如下:
(1)非目标对象的通用数据集包含70类人的每类10张样本,共700张样本,用于训练KDA。
(2)非目标对象的类内变化数据集包含70类人的每类剩余10张样本,共700张样本,用于构建类内差异字典。
(3)目标对象的验证样本集包含30类人的每类第一张标准样本(与上述目标对象不同类的人),共30张样本,用于构建基本字典。
(4)目标对象的测试样本由30类人的每类剩余19张样本组成,共570张样本。
表5展示了不同方法在LFW和PubFig中的识别率,由于数据库的难度较高,因此选择分块3中0.7重叠率的分块方式,一张图像会被分成16块(参考图3)。从表中可以看出,在LFW和PubFig中KEHBD在性能上均优于其他算法,LFW中KEHBD的识别率达到了65.94%,PubFig数据库中KEHBD的识别率达到了34.56%,与其他方法相比有很大程度的提升,可见KEHBD在非控环境下仍然有较强的鲁棒性。由于人脸图像不对齐,传统的方法在这种SSPP识别场景中缺乏鲁棒性。文中方法通过构建核扩展混合块字典,通过分块提取图像中的局部特征,并为每个分块图像构建混合字典去描述可能的误差,从而明显提高了识别的准确率。
表5 LFW和PubFig数据库中的识别率 %
5 结束语
针对单样本情况下人脸识别中存在的问题,提出一种基于核扩展混合块字典(KEHBD)的单样本人脸识别方法。首先,对样本进行分块处理,分别对分块图像进行核判别分析投影降维,提取图像的局部特征信息构成更具判别性的基本块字典;然后,为经过KDA投影之后的分块样本分别构建遮挡字典和类内差异字典来描述样本中的大面积连续遮挡以及光照、表情等类内差异信息,将遮挡字典和类内差异字典共同组合成混合块字典,使混合块字典能够更好地描述测试样本中不同类型的差异信息。从而实现真实情况下的单样本人脸识别。