APP下载

结合D-SIFT和区域PPWLD的人脸表情识别方法

2022-08-10付思亚胡西川

计算机应用与软件 2022年7期
关键词:分块识别率算子

付思亚 胡西川

(上海海事大学信息工程学院 上海 201306)

0 引 言

随着人工智能、模式识别在人们生活中的应用场景不断增加,表情识别技术受到广泛关注。人脸表情识别是一个复杂的过程,一般包括预处理、人脸检测、特征提取描述和分类识别等步骤。其中最重要的是对特征的描述方法。

当下在人脸表情识别方面的常用特征描述方法有局部二值模式(Local Binary Pattern,LBP)[1]、主成分分析(Principal Component Analysis,PCA)[2]、Gabor小波变换[3]、尺度不变线性变换(Scale Invariant Feature Transform,SIFT)[4]、韦伯局部描述子(Weber Local Descriptor,WLD)[5]、线性判别分析(Linear Discriminant Analysis,LDA)[6]等。同时,随着深度学习的发展,借助神经网络提取特征并分类的方法也层出不穷。

全局特征PCA[2]和LDA[6]方法的优势是对全脸轮廓的描述,但两者在局部信息描述力、光照变化鲁棒性方面都有所不足。而描述局部频率信息的Gabor特征[3]所提取的是多尺度多方向特征,产生的高维特征不利于实时处理。LBP[1]局部特征具有灰度和旋转不变性,受光照影响较小,但传统的LBP算法很难精确描述不同表情区域的灰度变化,得到的特征不具有方向性,对图像的描述力不足。神经网络提取特征并分类的方法虽然具有较高的识别率,但是对训练样本依赖度高。如何俊等[7]提出将深度残差网络与支持向量机结合以实现表情识别,徐琳琳等[8]提出构建并行神经网络提取特征,这些方法均对训练样本依赖度高,图像预处理用时久,容易出现过拟合或欠拟合的情况。

SIFT局部特征提取方法在1999年由Lowe[4]提出,所提取的特征对旋转、缩放、光照具有良好鲁棒性,描述能力较强,提出之后便得到广泛的使用。如Soyel等[9]将SIFT方法选取的极值点作为特征点,实现特征点匹配。然而原始的SIFT方法通过构建尺度空间来获取特征点,这些特征点的分布位置随机,不一定分布在与表情密切相关的区域,同时提取的特征点个数不一,容易对后续的分类造成困难。因而,Zheng等[10]提出基于分块的SIFT特征提取方法,不用预先标注特征点,但分块的数目及大小难以选择,描述方法对姿态变化比较敏感;Hu等[11]用预先定义的83个特征点进行SIFT描述,实现表情识别;黄忠等[12]提出用AAM[13](Active Appearance Models)定位特征点后进行特征描述。这些方法针对特征点进行描述,对面部特征描述不够全面,识别率不足,过高的特征维数也导致实时性不佳。

2010年Chen等[5]基于韦伯定律提出WLD特征,通过像素点在邻域中的灰度变化进行描述以提取特征,WLD特征对光照和噪声具有良好的鲁棒性,在纹理分类、人脸识别等方向受到广泛应用。但原始WLD特征仅描述中心像素点和周围邻域像素的变化,对图像细节信息描述不足。许多针对原始WLD特征的改进由此被提出。如Li等[14]对原始WLD的差分激励算子进行频域加权,增加激励的对比度;Dawood等[15]提出基于多尺度WLD和多级信息融合的方法;Cui等[16]将WLD直方图与方差直方图结合以提取特征;Ojala等[18]采用高斯拉普拉斯算子提取局部窗内的灰度变化,用均匀局部二值模式[19](uniform Local Binary Pattern,uLBP)代替方向算子,增强对噪声的鲁棒性;郭仙草等[20]利用局部窗内像素点间灰度变化的正负梯度构建纹理特征描述符,用uLBP提取灰度等级变化的空间分布结构信息,将差分激励算子与uLBP[19]结合进行特征提取。

为了更好地对表情图片进行特征提取和表情分类,本文首先使用级联回归树检测关键点,筛选与表情密切相关的关键点作为特征点,进行基于快版SIFT方法的特征描述,产生D-SIFT特征描述向量;同时将人脸划分为四个表情关键子区域,使用Prewitt算子对原始WLD特征描述符作出改进,对每个子区域进行改进后的WLD特征描述。将得到的两种特征进行融合,送入SVM分类器进行最终的表情分类。

1 相关工作

1.1 级联回归树

级联回归树(Ensemble of Regression Trees)方法由Kazemi等[21]在2014年提出。该方法使用两层回归来建立数学模型。

第一层回归的迭代公式为:

(1)

式中:S是形状向量,存储着所有脸部关键点的位置;γt是一层的回归器。每经过一级级联回归器,就会对所有关键点位置进行一次更新来达到更正确的位置。第二层回归采用Gradient Tree Boosting Algorithm的方法得到一系列回归树。

级联回归树的人脸图像关键点检测效果如图1所示。

图1 定位关键点

1.2 SIFT特征

传统SIFT方法首先通过高斯金字塔对图像建立尺度空间提取特征点,计算特征点在邻域内的梯度直方图,将所有特征点的计算结果级联,得到具有尺度不变性、旋转不变性的SIFT特征。

但传统方法下提取的特征向量特征点数目过多,导致维数过高,特征提取的实时性有所欠缺,而且所提取出的特征点数量不一,不便于直接用于分类,快版变体Dense-SIFT特征因此被提出。Dense-SIFT算法指的是通过指定步长和大小的patch块对图像进行遍历,以每个patch块的中心作为特征点,在每个patch块中通过SIFT描述方法对特征点进行描述。

Dense-SIFT算法解决了传统SIFT算法得到的特征点数目过多且数目不一的问题,有良好的实时性,并可以根据特征提取的需要调节步长、patch块大小,因此更加适合用于表情图像的特征提取。

1.3 Prewitt算子

Prewitt算子是一阶微分算子的边缘检测算子。利用像素点水平、垂直及对角线方向相邻像素点的灰度差描述图像,对噪声具有平滑作用。

三种Prewitt算子如图2所示。

(a) 垂直Prewitt算子 (b) 水平Prewitt算子

1.4 WLD特征

韦伯定律指出,刺激的增量阈值和原始刺激之间的比值是一个常量,Chen等[5]因此提出WLD特征,通过分别计算像素点的差分激励ξ(xc)和梯度方向θ(xc)以描述图像。

WLD特征使用两个3×3算子f00和f01计算当前像素在其邻域内的差动激励ξ(xc),使用两个3×3算子f10和f11计算当前像素的梯度方向。算子如图3所示。

(a) 刺激变化算子f00 (b)原始刺激算子f01

利用算子求出该点差动激励ξ(xc)及梯度方向θ(xc)如下:

(2)

(3)

(4)

(5)

θ′由θ计算得出:

(6)

(7)

求出的WLD特征是一个2D直方图{WLD(ξj,Φt)},不便直接用于分类。因此对每个像素用T个梯度方向均匀划分成为T个一维直方图H(t)(t=0,1,…,T-1),每个一维直方图H(t)(t=0,1,…,T-1)代表它在该方向的差分激励,再将H(t)(t=0,1,…,T-1)均匀划分为M个区间,得到Hm,t(m=0,1,…,M-1)。

最后将每个差分激励的子区间进一步划分为S个小段,即Hm,t={hm,t,s},s=0,1,…,S-1。hm,t,s的值计算公式如下:

(8)

(9)

有Kronecker差分方程:

得到最终M×T×S维WLD一维直方图:

H={hm,t,s}m=0,1,…,M-1

t=0,1,…,T-1,s=0,1,…,S-1

(10)

2 特征提取及描述

2.1 D-SIFT特征

虽然Dense-SIFT方法解决了传统SIFT方法所提取的特征点数目不一的问题,但Dense-SIFT方法是通过用patch块遍历图像的方式提取特征点,从而导致所提取的特征点位置是由patch块大小和步长决定,在图像上呈现为均匀分布。因此可能存在与表情无关的特征点(比如个别特征点处于头发区域),或是忽视对表情极为重要的特征点,无法充分描述表情信息,也无法对和表情密切相关的五官处区域进行细节的描述。

因此提出D-SIFT方法:预先通过级联回归树方法提取出人脸关键点,筛选出其中与表情密切相关的特征点,用SIFT方法对这些特征点进行描述。通过级联回归树方法提取出68个人脸关键点,并对其进行标号,结果如图4所示。

图4 68个人脸关键点

由于人脸轮廓对于表情表达影响较小,只留下与表情表达相关度高的51个关键点作为特征点。将该51个特征点作为patch中心形成patch块。

本文按照Lowe[4]建议,将所选patch块划分为4×4个子区域,每个子区域作为一个种子点,得到16个种子点,对每个种子点计算其梯度幅值m(x,y)、方向θ(x,y)和该区域内每个像素点的权重值w(x,y)。w(x,y)计算如下:

(11)

将梯度方向均分为8个方向,通过求出的每个像素点梯度值,累计该种子点在8个方向上的权重值,得到该种子点的梯度直方图。对每个种子点绘制其梯度直方图,得到该特征点的4×4×8维的D-SIFT特征描述。

2.2 区域PPWLD特征

由图3可知,原始WLD特征方法在计算梯度方向时,仅考虑中心点像素上、下、左、右的四个邻域像素,对图像的局部纹理信息以及空间结构信息描述有所欠缺,丢失了水平方向和垂直方向以外的其他邻域像素的变化信息。

以图5为例,对图5(a)而言,其本身的像素变化平缓,根据原始WLD特征方法可求出:

(4-3)+(3-3)+(3-3)+(3-3)]=3

对图5(b)而言,其本身像素变化差异很大,根据原始WLD特征方法可求出:

(1-5)+(1-5)+(1-5)+(1-5)]=-32

(a) 变化平缓 |(b) 跳跃变化图5 像素变化不同的变化趋势示意图

可以看出,原始WLD特征方法的激励算子对变化平缓的像素会求出较高的激励值,对变化较大的像素则得到很低的激励值,两者结果均与图像本身的变化不符。可知原始WLD特征方法在计算时,可能会出现正负相抵消等情况,导致对图像灰度变化信息体现较差,对纹理细节的描述力度不足,而且无法很好地抑制噪声。

由于Prewitt算子能够考虑到中心像素的所有邻域像素,相较原始WLD方法的方向算子和激励算子而言,可以更好地提取图像方向信息、空间结构信息并抑制噪声。因此本文提出PPWLD方法,使用对角线Prewitt算子代替原始WLD方法中的梯度方向算子,用垂直Prewitt算子和水平Prewitt算子代替原始WLD方法中的差分激励算子,从而更加有效地提取出图像的空间结构信息及局部纹理信息。

PPWLD方法的差动激励ξ(xc)计算:

(12)

PPWLD方法的梯度方向θ(xc)计算:

(13)

由于PPWLD特征通过计算出的直方图对图像进行特征描述,因此该特征对位置信息和直方图的划分区间较为敏感。两幅不同的图像在统计整幅图的像素点所属区间上或许会计算出相同的直方图结果,从而造成分类结果出现错误。

同时,人脸表情图像本身具有一定相似性,在对表情进行描述时更需要关注的是细节信息。而图像拍摄条件、光照等因素也会对直方图特征的识别结果造成影响。因此,相较于对整幅图像利用直方图描述,将图像分块之后对每个分块分别进行描述更加具有细节描述力和对噪声的抑制力。

通过实验尝试不同的分块方式,根据不同分块方式下的识别率,选择使用对关键表情区域划分的方式进行区域PPWLD特征描述,将子区域描述符级联得到4×(M×T×S)维的特征向量。

3 特征融合

D-SIFT通过计算五官处特征点邻域的梯度方向对图像进行特征描述,缺失对图片中特征点以外的区域的描述,因此使用对关键表情区域进行描述的PPWLD弥补D-SIFT的不足,提出结合预先提取关键点,筛选后进行描述的D-SIFT特征与通过Prewitt算子对原始WLD进行改进的PPWLD特征,将两种特征向量融合,得到最终特征描述符的人脸表情识别方法。具体步骤如下:

(1) 使用级联回归树提取出人脸图像的68个关键点,根据关键点与表情的相关度筛选出51个特征点;

(2) 每个特征点的8×8邻域划分为该点对应的patch块,将每个patch块分成4×4的子区域,计算每个子区域的梯度直方图,级联得到该特征点的4×4×8维D-SIFT特征;

(3) 对人脸图像划分出眉毛、眼睛、鼻子和嘴巴4个关键表情子区域;

(4) 计算出每个子区域的差分激励和方向激励,将得到的2D直方图转化为一维直方图,得到该子区域的M×T×S维描述向量;

(5) 将该图像的所有子区域的描述向量按照五官分布顺序直接进行级联,得到4×(M×T×S)维的PPWLD特征;

(6) 将D-SIFT特征和PPWLD特征直接级联得到最终的特征向量。

4 实 验

4.1 实验环境

本文实验环境为Windows 10操作系统,Intel Core i5处理器,8 GB内存,用Python语言实现。

4.2 数据预处理

实验使用JAFFE人脸表情数据集、CK+人脸表情数据集进行测试分析。

(1) JAFFE数据集。JAFFE数据集由10位日本女性的7种基本表情(愤怒、厌恶、恐惧、高兴、悲伤、惊讶及中性)构成,每人每种表情包括3~4幅图像,总共213幅。部分原始图像如图6所示。

图6 JAFFE数据集样本

(2) CK+数据集。CK+数据集包括123个人,593个表情序列。每个表情序列均从平静状态开始,情绪逐渐增强,总共2 940幅。本文选取7种表情(愤怒、蔑视、厌恶、恐惧、快乐、悲伤及惊讶)进行实验。部分原始图像如图7所示。

图7 CK数据集样本

首先使用级联回归树在原始图像上检测出人脸区域,标记出双眼位置坐标进行人脸校正,使校正后的每幅图像的双眼均处于水平位置。校正效果如图8所示。

(a) JAFFE数据集

对校正后的人脸图像进行裁剪,裁去与表情密切度不高的区域。对裁剪后的图像进行灰度化,得到预处理后的图像,如图9所示。

(a) JAFFE数据集

4.3 D-SIFT对比实验

为了对比D-SIFT特征相对于原始SIFT特征的改进效果,使用JAFFE数据集进行测试。

选取每人每种表情2~3幅图像进行训练,余下进行测试。以表情的识别率作为衡量指标,同时使用原始SIFT特征方法与D-SIFT特征描述方法进行实验,两种方法的patch尺寸均取16。实验结果如表1所示。

表1 不同特征方法下的识别率(%)

可以看出,D-SIFT方法的识别率高于SIFT方法,说明先提取关键点,并结合Dense-SIFT的改进方法提高了表情识别的识别率,是有效的改进。

4.4 区域分块PPWLD对比实验

目前图像识别领域常用的分块方法为4×4分块、行分块、列分块及关键区域分块等,考虑到人脸图像在水平方向具有对称性,列分块方式会造成对称性的损失;同时,表情识别的识别效果和面部五官区域的关联度较高,因此选择行分块和关键区域分块的方法在JAFFE数据集上进行实验比较。

图10所示为行分块的结果图像,本文采用1、3、6分块数目下的识别结果进行对比(1行分块即为原始图像)。

(a) 3行分块

图11所示为关键区域分块的结果图像(本文选取眉毛、眼睛、鼻子和嘴巴区域作为关键表情区域)。

图11 JAFFE数据集眉眼唇鼻区域结果图

实验选取每人每种表情2~3幅图像进行训练,余下进行测试。以PPWLD特征描述方法的表情识别率作为衡量每种分块方式优劣的指标,同时使用WLD特征方法进行同样的实验,两者均使用相同的M、T、S值,以对比PPWLD的改进效果。实验结果如表2所示。

表2 不同分块方式下的识别率(%)

可以看出,PPWLD方法的效果整体优于原始WLD方法,说明引入Prewitt算子是有效的改进方法。同时,在PPWLD方法下,行分块方式在1块时识别效果最低,仅有64.28%,随着分块数目增加,识别率升高,6块时PPWLD特征描述方法的识别率达到95.24%。与行分块方式相比,关键表情区域分块方式具有更高的识别率,对WLD方法也有同样的结论。可知关键区域分块效果优于行分块方式。因此采用关键区域分块方式进行人脸图像的表情识别。

4.5 结合D-SIFT与区域PPWLD实验

4.5.1 在JAFFE数据集的结果分析

随机将JAFFE数据集与分成5份,每次选择其中4份为训练集,余下的作为测试集。采用5折交叉验证方式进行实验。

使用patch尺寸为16的D-SIFT特征;使用M=6,T=8,S=3的PPWLD特征。将5次的平均识别率作为在JAFFE数据集上的识别结果。得到的表情识别率如表3所示。

表3 JAFFE数据集的表情识别率(%)

可以看出,本文算法在5次交叉实验中取得的平均识别率是97.39%,其中愤怒、厌恶、悲伤的错误识别相对较多,出现将愤怒识别为中性,将厌恶识别为恐惧的情况,由此检查原始图片发现,混淆表情多在五官表达方面有所类似,比如都会撇下嘴角、皱起眉头,情绪表达十分细微,容易造成误判。

4.5.2 在CK+数据集的结果分析

随机将CK+数据集分成5份,每次选择其中4份为训练集,余下的作为测试集。采用5折交叉验证方式进行实验。使用patch尺寸为16的D-SIFT特征;使用M=6,T=8,S=3的PPWLD特征。将5次的平均识别率作为在CK+数据集上的识别结果。实验得到表情识别率如表4所示。

表4 CK+数据集的表情识别率(%)

可以看出,本文算法在5次交叉实验中取得的平均识别率是99.35%,其中愤怒和蔑视的错误识别相对较多,出现将愤怒识别为恐惧,将蔑视识别为悲伤的情况,由此查看原始图片发现误识别的表情在情绪的表达中都有皱眉头、皱鼻子的表现,识别时容易出现误判。

4.6 与其他方法进行对比

将本文算法和其他表情识别算法进行比较,结果见表5。

表5 不同算法的分类准确率对比(%)

可以看出,本文算法在JAFFE数据集的识别率低于在CK+数据集上的识别率,这或许是因为JAFFE数据集是针对日本女性采集,而亚洲人的表情相对来说比较含蓄,不像CK+中包含的欧洲等国家的人的表情情绪明显。同时,在JAFFE数据集和CK+数据集的识别率优于其他对SIFT特征和WLD特征方法进行改进的方法,与同样利用Dense-SIFT进行改进的方法相比,具有更高的识别率;相较于两种卷积神经网络方法的识别率也具有一定优势。

与单独使用D-SIFT方法及单独使用区域PPWLD方法的表情识别率对比,结合区域PPWLD和D-SIFT的识别效果更优,证明利用两者结合的改进是有效的。

5 结 语

针对传统SIFT特征方法提取的特征点数目过多、位置随机,快版SIFT对表情识别针对性不足,以及传统WLD特征算法无法充分反映图像灰度变化的空间分布结构信息,容易受噪声干扰的问题,提出结合D-SIFT特征描述和PPWLD特征描述的表情识别方法。将特征点D-SIFT特征和关键表情区域PPWLD特征进行融合,使用SVM分类器分类。实验在CK+和JAFFE数据集分别得到99.35%和97.39%的识别率,说明本文方法在改进原有方法的不足的同时取得了较高识别率。然而,即使提前定位特征点已经对SIFT算法的计算量进行减少,D-SIFT方法的计算量相比于其他方法而言仍旧略高,如何进一步降低计算量同时保持较高识别率仍有待研究;对于本身具有一定相似性的表情,会造成误差的微表情的区分也需要加强。

猜你喜欢

分块识别率算子
面向量化分块压缩感知的区域层次化预测编码
钢结构工程分块滑移安装施工方法探讨
Domestication or Foreignization:A Cultural Choice
分块矩阵初等变换的妙用
QK空间上的叠加算子
档案数字化过程中OCR技术的应用分析
基于PCA与MLP感知器的人脸图像辨识技术
科技文档中数学表达式的结构分析与识别
分块NMF及其在图像压缩中的应用
人工智能现状和发展