基于非凸低秩分解双字典误差模型的遮挡表情识别

2019-07-09 11:57董俊兰陈云华姜文超
小型微型计算机系统 2019年7期
关键词:范数识别率字典

董俊兰,张 灵,陈云华,姜文超

(广东工业大学 计算机学院,广州 510006)

1 引 言

人脸表情识别技术是生理学、模式识别和计算机视觉等领域一个非常热门的课题,相关技术也越来越成熟.为了确保表情图像信息的完整性,大多数研究都是在可控的实验条件下进行.然而在实际应用中,人脸表情识别需要克服光照、遮挡、姿态等各种随机性问题.因此,人脸表情识别仍然是一个具有挑战性的学科.

在遮挡人脸表情识别方面,研究人员提出了许多方法来减少遮挡对表情识别的影响,最常用的方法有特征重构,子区域分析、稀疏表示、深度学习等[1].Xia[2]等将RPCA和显著性检测联合应用于遮挡表情识别.首先利用显著性检测定位遮挡物,然后用RPCA重建出图像的遮挡区域.Zhang等[3]结合迭代最近点(ICP)和模糊C-Means(FCM)算法来重建被遮挡人脸图像中的54个基准点.这种基于面部轮廓特征恢复被遮挡区域的特征严重依赖可靠的面部检测和面部特征的跟踪,并且需要预先定位遮挡区域以及精确的面部对齐,这在实际应用程序中很难实现.Dapogny等[4]提出在局部遮挡条件下用来表情分类预测和AU预测的局部表达预测算法(LEPs)来减少遮挡带来的负面影响.Lin等[5]利用人脸点位移的几何特征预测口腔遮挡下的AU单元;通过高斯混合模型(GMM)对人脸区域的灰度像素分布进行建模来实现遮挡区域检测.基于子区域分析的方法都假设遮挡只出现在面部的一小部分,这种方法通常能够对小范围的遮挡产生满意的性能.然而,将人脸细分为局部区域的粒度及其对性能的影响仍然是一个有待解决的问题,特别是对于没有固定位置、形状和大小的随机遮挡.同时基于子区域的方法由于人脸定位、对齐和归一化不准确,对噪声也很敏感.Ranzato等[6]提出一种深度生成模型,该模型使用带门的马尔可夫随机场(MRF)作为遮挡下表情识别的第一层DBN.Cheng等[7]提出一种局部遮挡条件下的深层神经网络结构.利用Gabor滤波器从人脸图像中提取出多尺度、多方向的Gabor量级,并将其输入三层深玻尔兹曼机(DBM)进行情绪分类.姚等[8]提出通过Wasserstein生成式对抗网络来补全人脸图像的遮挡区域,可以缓解因局部表情信息缺失带来的影响.虽然深度学习技术可以从原始面部数据中自动学习到最具鉴别性的面部表情特征模式,通常不需要单独的遮挡检测或重建过程.然而,使用深度架构需要大量的训练数据来确保适当的特性学习、调整大量的系统参数的困难以及昂贵的计算量的需要.朱明旱等[9]通过对图像进行分块得到各级的遮挡基图像,利用这些图像构建出非正交的遮挡字典,然后对待测图像稀疏分解得到系数,在待测图像的子空间内实现表情类别判断.刘帅师等[10]提出一种鲁棒的正则化编码随机遮挡表情识别.通过给表情图像的每个像素点赋予不同的权重,连续迭代使权重收敛到阈值,最后,待测图像的稀疏表示通过最优权重矩阵计算.该方法取得了较好的识别效果,但是该方法没有避免身份特征对表情分类的干扰.稀疏表示方法的最大优点是它不仅对遮挡和损坏具有鲁棒性,而且可以用来估计脸部的遮挡或损坏部分.

传统的稀疏表示方法SRC和CRC将每个字典原子分隔开,独立处理,没有考虑各原子之间的关系,所产生的稀疏表示是非结构的.同时SRC和CRC都是采用原始的训练数据集作为分类字典,当训练样本受损、遮挡、形变等情况下,算法缺乏稳健性,分类效果差.在低秩算法中,一般都是用核范数代替秩函数,但是核范数不一定能有效地估计矩阵的秩,且核范数对高斯噪声比较敏感.考虑到矩阵秩函数的非凸近似在实际应用中所展现出的优势,我们借鉴文献[11]中Lγ范数引入对数函数来近似秩函数.基于此,在稀疏表示理论的基础上引入非凸对数函数的低秩分解,与传统的低秩分解算法相比,对数函数近似秩函数能更接近矩阵的秩估计,同时抗干扰能力更强.对同一表情不同人的表情图像进行分解,低秩部分表征这类表情的同一性、相关性即表情特征,稀疏部分表征个体的差异性即身份特征.通过对低秩部分和稀疏部分进行字典学习,得到类内相关字典以及差异结构字典,使得字典规模减少,减少了字典训练过程的过拟合和不稳定性问题.另外,构建双字典使稀疏表示自适应性更强,稀疏结构更有效、紧凑,表达能力更强.最后,引入单个矩阵来表示遮挡引起的误差,通过双字典和误差矩阵协同表示测试样本,最终根据各类别表情特征的重构误差来实现分类.

本文的主要贡献:

1)针对同类表情的训练样本,运用非凸对数低秩分解分离出表情特征和身份特征,可以抑制由身份信息导致的类内差异来提升表情识别的准确性和鲁棒性.同时充分利用类别标签和同类表情的相关性和差异性,基于稀疏矩阵和低秩矩阵构建字典.

2)在稀疏编码时,定义了单个误差矩阵来表示遮挡信息带来的误差,同时利用双字典协同表示测试图片,可以补全表情图像的人脸表情特征,从而缓解因局部表情信息缺失带来的影响.

2 算法介绍

2.1 稀疏表示分类算法

假设n个训练样本,可分为c个类别,则训练集D=[D1,D2,…,DC]∈Rm×n.稀疏表示算法中测试样本y可以近似的被表示成训练样本特征向量的组合:

y=D1x1+D2x2+…+Dcxc

(1)

稀疏表示问题就是在满足式(1)的约束条件下求解系数向量x,并使x的L0范数最小.根据压缩理论的知识可知,在式(1)足够稀疏的情况下,L1范数的最小化和L0范数最小化具有等价性,可以通过求解式(2)的凸松弛最优化问题求得系数x的近似解.

(2)

稀疏表示分类相比于传统的SVM等分类器,更加鲁棒,异常噪声点对分类的干扰影响较少.

2.2 基于非凸对数函数低秩分解构建双字典

在表情识别中,不同人的同种表情之间存在着相似的特征,同时也存在着身份、光照、遮挡等差异,而这些细节因素并非决定类别的关键,将这些因素加入会降低稀疏表示的分类精度.为此,利用非凸对数函数低秩矩阵分解将表情图像的表情特征和身份特征分离开,分别进行字典学习,得到类内相关字典以及差异结构字典的双字典模式.通过对图像的内部结构信息特征进行分解,可以提高稀疏表示的精度同时增强识别的鲁棒性.

给定一个训练样本X=[X1,X2,…,Xc],假定其可以分解为低秩矩阵L和稀疏矩阵S.目标函数如下所示:

(3)

式(3)中,rank(*)是秩函数,为了防止过拟合,常量γ>0是用来平衡矩阵的秩与噪声矩阵稀疏度的权重因子.

秩函数具有非凸性和不连续性,其最小化问题是一个NP问题,在特定条件下都是用核范数凸近似来替代矩阵的秩.矩阵的秩只与最大的非零奇异值的值相关,而核范数只是简单地将矩阵的所有奇异值相加,当出现一些大的奇异值时,核范数过分的松驰使得最终的计算结果会偏离真正的秩.相比核范数,非凸的近似函数能更准确逼近矩阵真实的秩.文献[12]在求解子空间聚类问题时,利用对数行列式函数对矩阵秩函数进行非凸近似,在Yale B人脸库的聚类分析实验效果优于核范数,表明利用对数行列式函数来近似矩阵的秩函数效果更好,同时还具有抗干扰能力强,偏差较小的优势.

对数近似函数的定义如公式(4)所示

(4)

式(4)中I为单位矩阵,σi(x)为矩阵x的奇异值,m、n为矩阵x的维度.式中取xTx的平方根是为了便于优化.

(5)

采用增广拉格朗日乘子法对式(5)进行求解.为了计算方便引入辅助变量Y,则式(5)的拉格朗日函数如下所示:

(6)

公式(6)中Y为拉格朗日乘子,初始值取0;<·>表示矩阵的欧式内积.具体求解步骤如下所描述.

输入:训练矩阵X,参数:μ,γ,ε

循环迭代更新:

1)固定其他值,更新L:

(7)

2)固定其它值,更新S:

(8)

3)固定其它值,更新Y:

YK+1=YK+γμ(X-LK+1-SK+1)

(9)

4)检查收敛条件是否满足:

‖X-LK+1-SK+1‖F<ε

(10)

若不收敛则继续循环,收敛则结束.

输出:L、S

分别对每类训练样本进行低秩分解,通过分解后得到L,S.L表示表情特征,S表示身份特征.

L=[L1,L2,…,Lc]∈Rn×mc

(11)

S=[S1,S2,…,Sc]∈Rn×mc

(12)

式中L表示表情特征矩阵,S表示身份特征矩阵,c表示表情类别数.然后使用k-svd字典学习算法对L和S进行字典学习得到能捕捉类判别特征的字典A和体现类内变化的字典B,k-svd算法主要提升字典更新速度和降低复杂度.

2.3 基于双字典和误差协同表示分类方法

对于任意一张表情图片,不仅包含着表情信息、身份信息,还包含着噪声、光照等其他信息.由于完备字典A,B是由非遮挡的人脸表情图像构成的,能很好地表征人脸表情,当测试图像有局部遮挡时会造成巨大的编码偏差.因此,本文在稀疏编码的时候引入统一判别重构误差约束,可以有效地减少噪声和遮挡的干扰同时更好的保留原始数据的结构信息.模型表示如下:

(13)

公式(13)中e表示为:

e=ea+eb+es

(14)

式(13)中x1为字典A的稀疏系数向量,x2为字典B的稀疏系数向量,字典A表示表情特征的字典,B表示身份特征的字典,式(14)中ea表示重建表情特征的误差,eb表示重建身份特征的误差,es表示遮挡带来的误差.

利用非精确拉格朗日来解决式(14)优化问题,优化函数如下所示:

(15)

式(15)中Φ是拉格朗日乘法的一个向量,ξ是惩罚项参数,具体求解方法如算法1所示.

算法1.非精确ALM求解公式(15)

初始化:x1=0,x2=0,e=0,Φ=0,ξ=1,ε=10-6,ρ=1.5

While 没有收敛 do

1.固定其它值,更新e

2.固定其它值,更新x1

3.固定其它值,更新x2

4.更新Φ

Φ=Φ+ξ(y-Ax1-Bx2-e)

5.更新ξ

ξ=min(ρξ,ξmax)

6.判断是否满足收敛条件:

end

输出:x1,x2,e

通过算法1可以得到测试表情图像的系数和噪声信息,通过重构出测试图片的身份部分和遮挡部分的信息.去掉与表情无关的部分,减少数据的冗余部分.

dy=y-Bx2-e

(16)

式(16)中dy表示测试图片干净的表情特征,Bx2表示重构出的身份信息,e表示噪声信息同时也包含遮挡带来的误差信息.

为了判别测试样本的类别,结合表情字典A来重构测试样本的表情信息,哪类字典能更好的重构测试样本,便将测试样本归为相应的类别.具体如式(17)所示:

(17)

图1是本文的算法框架图,训练集总共6组数据(快乐、悲伤、厌恶、惊讶、害怕和恐惧),图中展示了其中两组数据的分解.

3 实验设计

3.1 低秩分解实验效果图

抽象的人脸表情图像传达了丰富的信息,这些信息可以被认为是与某些属性相关的低复杂度的信息叠加组成.我们针对人脸表情图像进行了不同方式下的低秩分解,得到了不同的实验结果.具体效果图如图2所示.

图1 本文算法框架图Fig.1 Algorithm frame diagram

图2 不同方式下的低秩分解示意图Fig.2 Schematic diagram of low rank decomposition in different modes

图2中(a)、(b)、(c)表示了不同方式下低秩分解的效果图,每副子图的第一行图像为原图,第二行为低秩部分,第三行为稀疏部分.根据低秩分解理论,低秩部分为特征矩阵的相关性,稀疏部分表示差异性,因此同一类向量化的人脸图像具有一定的低秩结构.图2(a)图为同一个人不同表情的低秩分解,那么低秩部分表征身份特征,稀疏部分即表情特征.图2(b)图为不同人的同种表情的低秩分解,低秩部分即为表情特征,相应的稀疏部分即为身份特征.图2(c)图中不同人不同表情的低秩部分即为人脸五官共通的部分,稀疏部分为人脸图像的个性特征.

同人不同表情分解后低秩部分用来实现人脸识别[13],表情特征实现表情识别.低秩分解去除稀疏部分进行人脸识别可以减少表情对人脸识别的影响,提高识别精度.由于低秩分解时,稀疏部分的信息量非常少,所以单一利用分解后的表情特征来进行表情识别会导致最终的识别率非常低.因此本文将不同人的同一表情进行分解,通过对两部分进行字典训练和学习,可以提高稀疏表示的精确性.由于每个人都是独一无二的,因此,图2(c)图提取的低秩图像中信息非常少,图像质量低,不利于用来识别.

图3 不同低秩分解的峰值信噪比曲线图Fig.3 Peak signal to noise ratio curve of different low rank decomposition

图3展示了三种方式的低秩分解的峰值信噪比曲线.从图3可以看出同人不同表情以及同表情不同人的值保持在35dB左右,而不同人不同表情的值在30dB左右,而图片的峰值信噪比低于30dB是非常模糊的,不利于分类.

3.2 遮挡图像模拟

为了验证本文方法对遮挡表情识别的有效性,选取了CK+和KDEF两个数据库进行了相关的实验,通过对CK+和KDEF两个表情数据库不同位置添加不同大小的黑块来进行遮挡模拟.面部遮挡具有随机性,遮挡的大小和区域都会给最终的实验结果带来一定的影响.主要模拟了对眼部,嘴巴,鼻子三个显著性区域的遮挡.部分遮挡图像如图4所示,图4(a)(b)依次为原图、遮左眼,遮右眼,遮双眼,遮嘴巴,遮鼻子的示意图,遮挡大小为30×30个像素.

图4 部分遮挡模拟样本Fig.4 Partial occlusion simulation sample

3.3 实验描述

CK+数据库是由210个对象的6种表情图像序列构成,每个表情序列都是从平静的状态开始,情绪逐渐增强,最后达到最夸张的状态.选取生气、厌恶、害怕、高兴、悲伤、惊讶这6种表情组成数据集,针对每种表情在数据库中随机挑选30个不同对象视频序列的最后一张组成训练集,共180幅图片,然后选取50个对象的6种表情组成测试集,共300张.KDEF数据集包含70个人,35个男性,35个女性,每种表情有5个角度,本文选取的实验数据为正脸图像.在KDEF数据库中,正脸图像随机选取30个不同对象的6种表情图像作为训练集,剩下的40个对象的6种表情图像作为测试集.由于CK+数据库中的表情图像稍有头部倾斜和尺寸大小不一的情绪,预处理方法类似文献[14],通过旋转使眼睛水平面对准,并根据两眼间的距离来从原始的表情图像裁剪出只含正面人脸表情的矩形区域,将头发,脖子这些冗余信息都去除掉.本文所有的实验均是在训练集图像没有遮挡,测试图像有遮挡的情况下进行.

实验环境为Windows 10系统运行环境(CPU:I5-7500U,2.5GHz,运行内存8GB)和MATLAB 2015b平台.

4 实验结果与分析

4.1 不同遮挡方式的实验结果分析

主要从嘴部遮挡、眼睛遮挡、鼻子遮挡,双眼遮挡4个方面来研究,针对这四种遮挡进行了10×10、20×20、30×30、40×40四种不同大小的处理.通过对不同区域不同大小的遮挡来进行实验,可以检测出不同区域对表情识别有不同的影响.图5和图6分别表示的是本文提出的方法在CK+和KDEF数据库上对应不同部位不同遮挡级别的平均识别率.

从图5图6可以看出,随着遮挡面积的增大,干扰因素越来越复杂,两个数据库的识别率出现了微弱的下滑.当遮挡级别为10×10时,两个数据库遮挡不同部位的识别率都达到了90%,这是因为遮挡级别小,丢失的信息少.当遮挡级别为40×40像素时,两个数据集的识别都有所下降,说明丢失的决策信息增加,最终会影响最后的识别率.综合图5和图6的实验结果看,本文提出的算法受遮挡的影响相对较小,仍能取得较好实验结果.

图5 CK+数据库识别率Fig.5 CK+database recognition rate

图6 KDEF数据库识别率Fig.6 KDEF database recognition rate

图7 随机遮挡图片示意图Fig.7 Random occlusion picture diagram

另一方面,可以观察到不同的遮挡部位对识别也有显著的影响.相同的遮挡面积不同的区域对最后的识别也会产生不同的影响,其中嘴部和双眼遮挡的识别率最低.针对高兴、惊讶、悲伤这3类表情,嘴巴和眼睛是这几种表情的显著性区域,高兴的时候,嘴巴会露出牙齿同时眼角会上扬.惊讶时,嘴巴和眼睛会张成o状.悲伤时,嘴巴会紧闭,所以嘴部和双眼遮挡相较其他部位的遮挡识别率有所降低.

4.2 随机遮挡的实验结果分析

为了验证联合双字典和误差协同表示分类方法的有效性,与几种经典的稀疏表示分类方法在随机遮挡的表情数据集上进行了实验,实验数据如图7所示.从表1可知,人脸表情图像随机遮挡大小的增大会导致最终识别率的降低;通过实验结果可以看出,在多个数据库不同的遮挡大小的条件下,本文算法都获得了较高的的识别率.与KDEF数据集相比,CK+数据集对遮挡的鲁棒性较强.

表1 不同算法的识别率比较
Table 1 Recognition rate of different algorithm

CK+库KDEF库遮挡大小方法SRCGSRC[15]CRC文献[16]本文SRCGSRC[15]CRC文献[16]本文10×1090.00%91.33%91.67%92.33%93.34%89.52%89.90%90.24%90.71%91.42%20×2089.33%89.67%90.33%91.67%92.67%88.33%89.04%90.00%89.52%90.48%30×3088.67%89.00%89.33%90.00%91.33%87.62%88.80%88.33%88.57%89.76%40×4087.67%88.33%88.67%89.67%89.67%86.90%87.86%88.09%87.14%88.80%60×6083.30%86.67%85.67%87.33%87.76%85.00%85.24%86.67%85.48%86.90%

5 结 语

本文提出一种非凸低秩分解下联合双字典和误差的遮挡表情识别方法.该方法使用非凸对数近似秩函数的低秩分解将人脸图像的身份特征和表情特征分离开,然后进行字典学习得到双字典;通过双字典来重构出测试图像的身份特征和表情特征,同时引入了统一编码误差来表示噪声信息,使得在识别时可以减少因局部遮挡带来的影响,最终根据各类别表情特征在联合稀疏表示中的贡献量来实现分类.在CK+和KDEF的实验数据表明本文算法在一定程度上可以克服个体差异带来的负面影响.不仅提高了稀疏表示的鲁棒性,对人脸不同区域、不同程度遮挡的表情识别也具有较强的鲁棒性.下一步研究工作将针对多姿态的表情图像进行处理和识别.

猜你喜欢
范数识别率字典
基于同伦l0范数最小化重建的三维动态磁共振成像
向量范数与矩阵范数的相容性研究
字典的由来
大头熊的字典
基于加权核范数与范数的鲁棒主成分分析
档案数字化过程中OCR技术的应用分析
基于PCA与MLP感知器的人脸图像辨识技术
科技文档中数学表达式的结构分析与识别
人工智能现状和发展
正版字典