狄 岚,矫慧文,梁久祯
1(江南大学 人工智能与计算机学院,江苏 无锡 214122) 2(道路交通安全公安部重点实验室,江苏 无锡 214151) 3(常州大学 信息科学与工程学院,江苏 常州 213164)
近年来,基于稀疏表示的图像算法根据训练时有无训练标签可划分为有监督和无监督两大类.典型的无监督稀疏表示算法[1],具有快速求解高维矩阵的优点,适用于图像压缩和图像重建、图像去噪[2];而有监督的稀疏表示算法如SRC[3](Sparse Representation Based Classification)算法假定每一测试数据皆可由该类训练数据重构,率先将稀疏表示与人脸分类[4,5]思想结合.其后,众多字典学习算法在SRC算法基础上进行改进并应用在人脸鉴别领域.
迄今字典学习算法根据习得字典的特性可分为共享字典[6-8]、类别特色字典[9-11]、混合字典[12-14]3种.在共享字典学习中,字典被所有类别的数据共享,无法保证类原子和训练标签的关联性,因而基于共享字典的分类器无法依据重构误差分类,大大削弱分类准确性.
类别特色字典利用重构误差分类,每个字典原子对应一个类标签.Zhang等人[15]在SRC算法基础上提出CRC算法,通过对范数的求解提升运行效率,Dong[16]等人提出双字典和误差协同表示分类方法.Cai等人[17]提出SVGDL算法,自适应地确定每个编码向量对的权重,在训练样本不充分时可以取得较好的分类效果.Yang等人[18]提出Fisher判别字典学习(Fisher discrimination dictionary learning,FDDL),在保证字典识别力的同时,利用Fisher准则约束稀疏编码,分类时同时依据字典重构误差和稀疏编码分类,提高分类准确性.2018年,Wang等[19]在FDDL算法基础上,增添局部约束思想,同年,Li等[20]提出IKCFDDL算法,通过聚类减少算法运行时间.
混合字典如ESRC[21]算法,即共享字典和类别特色字典的结合.2018年,Li 等人[22]提出 CSICVDL算法,利用辅助数据捕提取数据共性.混合字典同时提取数据共性和数据特殊性,在配合人脸数据库中表现良好.然而,当测试人脸出现遮挡、表情、姿态变化等情况时,以上人脸鉴别算法处理能力较差.
针对上述问题,本文提出融合字典学习算法.该算法首先利用Fisher判别准则和LBP特征金字塔进行数据预处理,其次,提出一种新的融合字典学习模型,该模型由公共字典、类别特色字典及扰动字典3部分构成,公共字典提取数据的共性,类别特色字典提取不同数据类别的特殊性,扰动字典则提取样本存在遮挡等异常时的扰动性,提高算法鲁棒性.最后根据字典模型构造新的分类器,利用字典重构误差和稀疏编码的辨别性进行分类,分别在AR、CMU-PIE、LFW等人脸库上进行实验.
给定训练数据集合A:A={A1,A2,…,AK}∈Rm×N
测试样本集合Y:Y={Y1,Y2,…,YK}∈Rm×N1
针对测试集Y,稀疏表示以字典D得到稀疏编码X,算法模型如下:
模型分为重构误差项与正则编码项两部分,正则化参数λ>0平衡两项之间关系.
ESRC算法在SRC算法的基础上,额外学习一个字典提取训练集A和测试集Y之间的关系,算法模型如下:
ESRC模型分为重构误差项与正则编码项两部分,正则化参数λ>0.
类别特色字典学习习得的字典D={D1,D2,…,DK}由K个子字典组成,算法模型如下:
对于单个测试样本y,求得的稀疏系数为x={x1;x2;…;xK}.其中,Di表示第i类训练样本的子字典,xi由Di重构得到,重构误差为ei=‖y-Dixi‖2.
假设稀疏编码X的中心为u0,各类稀疏编码均值向量为ui,则ui求解公式如下:
定义Sw(X)为类内散度矩阵、SB(X)为类间散度矩阵,则Sw(X)、SB(X)求解公式如下:
本文提出一种融合字典学习算法,首先进行利用Fisher准则和LBP金字塔进行数据预处理,其次构造融合字典模型进行分类,融合字典模型采用分布优化的方式求解.
如图1所示,假设第一张图片为b,以图片b中线为轴,保持右半边不动,左半边图像为右半边的镜像求得右镜像图片b1,以此类推,分别求得左镜像图片b2、全镜像图片b3.
图1 镜像图片Fig.1 Mirror image
以b为例,对于训练集B,求出右镜像集B1,左镜像集B2,全镜像集B3,以Fisher准则为基础,分别计算出3个集合的类间散布系数与类内散布系数之比作为权重w=[w1,w2,w3],w1+w2+w3=1.
新数据集B′:B′=w1B1+w2B2+w3B3
设Gi(x,y)表示高斯金字塔第i层,则高斯金字塔模型如下所示:
(1)
其中,N表示高斯金字塔总层数,Ci表示高斯金字塔第i层图像像素的行数,Ri表示高斯金字塔第i层图像像素的列数,W(x,y)二维高斯函数定义如下所示:
(2)
如图2所示,对于B′中的一张图片b′,构造3层高斯图像金字塔,分别提取第2层LBP特征t1和第3层LBP特征t2,级联得到LBP金字塔特征t=[t1;t2].
图2 高斯图像金字塔Fig.2 Gaussian image pyramid
3.2.1 融合字典学习模型
将数据集t分成训练集A、测试集Y以及辅助数据集Z,提出融合字典学习模型如下:
(3)
其中,字典Dc表示公共字典;字典表示D表示类别特色字典;字典Dp表示扰动字典.模型分为重构误差项、稀疏保证项和判别系数项3部分.下面依次介绍模型每一分项的实际意义.
其中,Ci是Ai被Dc重构的稀疏编码,Xii是Ai被Di重构的稀疏编码.
λ1(‖C‖1+‖X‖1)为稀疏保证项,该项确保编码的稀疏性.λ1>0为正则项参数.
将稀疏编码构造成图G,将图以邻接矩阵W的形式表示,构造度矩阵U,拉普拉斯矩阵Δ=U-W[23],为稀疏编码添加拉普拉斯约束项,保留数据相似度信息,tr(.)表示迹函数,则Ψ(X,D)完整形式如下:
(4)
目标函数(3)的完整形式为:
(5)
3.2.2 融合字典优化
公式(5)为非凸函数,其优化过程如下所示:
1)初始化字典Dc,D,Dp;
将训练数据A={A1,A2,…,AK}的特征向量初始化为字典Dc原子,对字典Dc归一化,使其l2范数为1;分别对字典D的每一类归一化,使其l2范数为1.将训练数据Z={Z1,Z2,…,ZL}的特征向量初始化为字典Dp原子,对字典Dp归一化
2)保证字典D固定,更新稀疏编码X;保证字典Dc固定,更新稀疏编码C;保证字典Dp固定,更新稀疏编码P;
更新X时,目标函数转化为:
(6)
其中,γ=λ1/2.
(7)
更新C时,目标函数转化为:
(8)
更新P时,目标函数转化为:
(9)
其中X,C,P通过文献[24]中的方法的求解.
3)固定稀疏编码X,更新字典D;固定稀疏编码C,更新字典Dc;固定稀疏编码P,更新字典Dp;
本文采用逐个更新的方法更新字典D,即当更新第j个子字典时,默认其他子字典Dj(i≠j)已更新完毕.
目标函数Q(Di)可转化为:
(10)
(11)
(12)
更新Dc时,目标函数Q(Dc)可转化为:
(13)
(14)
(15)
更新Dp时,目标函数Q(Dp)可转化为:
(16)
(17)
(18)
融合字典学习优化算法总体实现步骤如下:
算法 1.融合字典优化算法
输入:训练样本A,辅助样本Z,规范化参数γ
输出:字典D和稀疏编码X,字典Dc和稀疏编码C,字典Dp和稀疏编码P及相应的标签
1.初始化字典D,Dc,Dp
2.固定字典D,更新稀疏编码X;固定字典Dc,更新稀疏编码C;固定字典Dp,更新稀疏编码P;初始化字典后,利用公式(6)、公式(8)、公式(9)依次求解
3.固定稀疏编码X,更新字典D;固定稀疏编码C,更新字典Dc;固定稀疏编码P,更新字典Dp;利用公式(12)、公式(14)、公式(17)依次更新
4.重复2和3,直到前后两次的函数的值满足判断条件为止.
本文提出全局分类策略如下:
(19)
测试样本y的重构误差为:
(20)
于是y的标签为:
identify(y)=argmini{ei}
(21)
融合字典学习的小样本人脸鉴别算法共分为数据预处理、融合字典学习两大步骤,整体算法如算法2所示,算法流程图如图3所示.
图3 算法流程图Fig.3 Algorithm flowchart
算法 2.融合字典学习的小样本人脸鉴别
输入:原始数据集B,参数λ1,λ2,w
输出:分类标签
1.利用数据集B以镜像原理构造数据集B′利用集合B′构造三层高斯金字塔,提取LBP特征
2.利用LBP特征及算法1习得字典和稀疏编码
3.利用公式(19)-公式(21)得到样本标签
本文实验环境为64位Window 10操作系统,内存32GB,Intel(R)Xeon(R)CPU E5-2620 v4 @ 2.10GHz,并用MatlabR2016b软件编程实现.实验图像都经过标准化处理,多次实验取平均值,共选取AR数据库、YALE人脸数据库、AR人脸数据库、LFW人脸数据库进行实验,比较算法包括:SRC,FDDL,CRC,SVGDL和CSICVDL(2018),FDDLLCSRC(2018),LKCFDDL(2018).
本文在AR数据库上设计两个实验.实验1如图4所示,选取每人前13张图片进行训练,其余相同类型13张图片作为测试.实验随机选取80个人构造训练和测试集,其余20人作为辅助数据.实验结果如表1所示.
图4 AR实验1Fig.4 Experiment 1 on AR
如表1 所示,将数据集分别降维至{150,200,250,300,350},观察实验结果可知,各算法辨别准确率大致随维数的升高而升高,本文算法在各维数下皆取得最优结果.
表1 AR实验1准确率结果(单位:%)Table 1 Accuracy results of AR experiment 1(unit:%)
为探求算法在面对遮挡等异常情况下的实验效果,在AR数据库上设计实验2,如图5所示,选取包含正常人脸和光照情况下人脸共4张作为训练集,所有墨镜遮挡、围巾遮挡图片作为测试集合,训练测试及辅助数据个数如实验1一致,各算法在不同维度下的分类结果如表2所示.
如表2 所示,当样本出现遮挡等异常情况时,本文算法和CSICVDL算法由于提取辅助数据的扰动性算法识别率较高,本文算法表现效果最优.相较于实验1,各算法在AR数据库的识别准确率更受限于维数的影响,推测是由图像存在遮挡时大量人脸信息丢失导致.
图5 AR实验2Fig.5 Experiment 2 on AR
表2 AR实验2准确率结果(单位:%)Table 2 Accuracy results of AR experiment 2(unit:%)
为探究图片分辨率与算法分类准确性的关系,本文在YALE数据库设计两个实验.如图6所示,在实验1中,设置训练集为2张,剩余9张人脸图像为测试集.除随机选取5人构造辅助数据外,其余全部人数构造训练集和测试集.
图6 YALE实验1Fig.6 Experiment 1 on YALE
将原始图片分辨率分别降至{100*100,75*75,50*50,25*25},如表3所示,本文算法取得最好在分类结果,各算法准确率变化均较为平缓,对分辨率敏感性较低.故在此基础上,取本文算法与稳定性最好的SRC、CRC、FDDL算法,增添实验2,观察算法准确率与分辨率和训练样本数量的关系.
表3 YALE实验1准确率结果(单位:%)Table 3 Accuracy results of YALE experiment 1(unit:%)
在实验2中,如图7所示,保持测试样本不变,分别选取{2,3,4,5}张训练样本.如图8所示,本文算法在分辨率{100*100,75*75,50*50}下皆可取得最高识别率.观察样本数量与识别率的关系可知,本文算法对训练样本数量的依赖性最低,算法稳定性提高.
图7 YALE实验2Fig.7 Experiment 2 on YALE
图8 YALE实验2结果Fig.8 Accuracy results of YALA experiment 2
本文选择LFW人脸数据库中包含图片数量大于10张的158人作为实验数据集.在实验过程中,设定辅助数据为10人,训练和测试数据为148人.如图9所示,训练集和测试集皆随机选取5张.将数据分别将降到{50,100,150,200,250}维,实验结果如表4所示.
图9 LFW实验Fig.9 Experiment on LFW
从表4可以看出,各算法识别率与维数基本成正比关系,本文算法虽取得最高识别率,但在非受限人脸库上的分类效果比非配合数据库差,这是由于调整、裁剪时信息丢失造成的.
表4 LFW实验准确率结果(单位:%)Table 4 Accuracy results of LFW experiment(unit:%)
4.5.1 复杂度分析
本文算法复杂度分为更新稀疏编码和更新字典两方面计算.
如表5、表6所示,训练样本个数为n,辅助样本个数为nl,样本特征维数为d,ε≥1.2为常数.Ki为字典Di的原子个数,K为字典D的总原子个数,Kc为字典Dc的原子个数,Kp为字典Dp的原子个数,m为迭代数目.
表5 更新稀疏编码的算法复杂度Table 5 Algorithm complexity of updating sparse coding
表6 更新字典的算法复杂度Table 6 Algorithm complexity of updating dictionary
4.5.2 鲁棒性分析
为探究实验参数对本文算法识别率的影响,在CMU-PIE下进行两项实验,实验1如图10所示,以2∶40的比例随机选取训练和测试样本.探究辅助数据数量对算法识别率的影响,保持训练和测试样本不动,辅助数据数量分别取{8,18,28},实验结果如表7所示.
图10 CMU-PIE实验Fig.10 Experiment on CMU-PIE
从表7可以看出,与同需辅助数据提取数据扰动性的CSICVDL算法对比,本文算法对辅助数据个数在敏感性,低,少量辅助数据即可达到更好在分类效果.
表7 CMU-PIE实验准确率结果1(单位:%)Table 7 Accuracy results of CMU-PIE experiment 1(unit:%)
在实验2探究参数对识别率的影响,以2∶10的比例随机选取训练和测试样本.参数变化{λ1,λ2}如表8所示,可看出λ2对算法准确率的影响略大于λ1,两参数在取值对算法准确率影响较小,算法鲁棒性较强.
表8 CMU-PIE实验准确率结果2(单位:%)Table 8 Acuracy results of CMU-PIE experiment 2(unit:%)
4.5.3 算法运行效率分析
如图11所示,实验1取AR数据库80人,实验2选取YALE数据库如图6,训练集合为2张正常图片,测试集合分别为{6,9}张,算法运行时间及实验结果如表9所示.
图11 AR实验Fig.11 Experiment on AR
表9 AR及YALE库实验Table 9 Experiment on AR and YALE
综合表9可以看出,本文算法因为辅助数据在构造,运行时间较长,但小于同须构造辅助数据在CSSVDL算法,且算法识别率最高,具有更高的性价比.
本文针对小样本人脸训练情况,提出一种融合字典学习方法,利用Fisher判别准则和LBP金字塔对数据进行预处理,构造融合字典以提取数据共性、特殊性以及在异常情况下的扰动性,并根据字典模型构造新的分类器,利用字典重构误差和稀疏编码的辨别性进行分类.
本文在AR、YALE、CMU-PIE以及LFW 4个人脸数据库进行实验,结果表明本文算法在小样本训练情况下,拥有更高的识别率和鲁棒性,且对姿态变化、表情变化、遮挡异常处理能力较高.但在实际的应用中,还需进一步讨论如何提升算法运行效率和如何降低对样本的依赖性.