浙江大学学报(工学版), 2022, 56(10): 1948-1957 doi: 10.3785/j.issn.1008-973X.2022.10.006

自动化技术、信息工程

基于深度卷积和自编码器增强的微表情判别

付晓峰,, 牛力

杭州电子科技大学 计算机学院,浙江 杭州 310018

Micro-expression classification based on deep convolution and auto-encoder enhancement

FU Xiao-feng,, NIU Li

School of Computer Science and Technology, Hangzhou Dianzi University, Hangzhou 310018, China

收稿日期: 2021-10-6  

基金资助: 国家自然科学基金资助项目(61672199)

Received: 2021-10-6  

Fund supported: 国家自然科学基金资助项目(61672199)

作者简介 About authors

付晓峰(1981—),女,副教授,博士,从事计算机视觉、模式识别、人工智能等研究.orcid.org/0000-0003-4903-5266.E-mail:fuxiaofeng@hdu.edu.cn , E-mail:fuxiaofeng@hdu.edu.cn

摘要

为了判别微表情种类,提出基于深度卷积神经网络和迁移学习的微表情种类判别网络MecNet. 为了提高MecNet在CASME II、SMIC和SAMM联合数据库上的微表情种类判别准确率,提出基于自编码器的微表情生成网络MegNet,以扩充训练集. 使用CASME II亚洲人的微表情样本,生成欧美人的微表情样本. 设计卷积结构实现图像编码,设计基于子像素卷积的特征图上采样模块实现图像解码,设计基于图像结构相似性的损失函数用于网络优化. 将生成的欧美人的微表情样本加入MecNet训练集. 实验结果表明,使用MegNet扩充训练集能够有效地提高MecNet微表情种类判别准确率. 结合MegNet、MecNet的算法在CASME II、SMIC和SAMM组成的联合数据库上的表现优于大部分现有算法.

关键词: 微表情种类判别 ; 深度卷积神经网络 ; 迁移学习 ; 自编码器

Abstract

A micro-expression classification network named MecNet was proposed based on the deep convolutional neural network and transfer learning in order to classify the types of micro-expressions. MegNet was proposed to expand the training set in order to improve the accuracy of micro-expressions classification of MecNet on the joint database of CASME II, SMIC and SAMM. MegNet is a micro-expression sample generation network based on the auto-encoder. Asian micro-expression samples of CASME II were used to generate western micro-expression samples. A convolution structure was designed to encode images, and a feature map upsampling module was designed based on the sub-pixel convolution to decode images. A loss function based on the structural similarity of images was designed to optimize the network. The generated western micro-expression samples were added to the training set of MecNet. The experimental results show that the accuracy of micro-expression classification of MecNet can be effectively improved by using MegNet to expand training sets. The algorithm combining MegNet and MecNet performs better than the most existing algorithms on the joint database composed of CASME II, SMIC and SAMM.

Keywords: micro-expression classification ; deep convolutional neural network ; transfer learning ; auto-encoder

PDF (2816KB) 元数据 多维度评价 相关文章 导出 EndNote| Ris| Bibtex  收藏本文

本文引用格式

付晓峰, 牛力. 基于深度卷积和自编码器增强的微表情判别. 浙江大学学报(工学版)[J], 2022, 56(10): 1948-1957 doi:10.3785/j.issn.1008-973X.2022.10.006

FU Xiao-feng, NIU Li. Micro-expression classification based on deep convolution and auto-encoder enhancement. Journal of Zhejiang University(Engineering Science)[J], 2022, 56(10): 1948-1957 doi:10.3785/j.issn.1008-973X.2022.10.006

自动微表情识别可以应用在金融安全、临床诊断、谎言检测、情感监测等诸多领域[1]. 与宏表情相比,微表情所特有的持续时间短和肌肉运动幅度小的性质,使得微表情种类的判别准确率远远低于宏表情. Ben等[2]强调宏表情和微表情之间的关键差异,利用这些差异进行较系统的调查研究——基于视频的微表情分析. 为了确定哪个方向的运动特征更容易区分微表情,Wei等[3]选择18个方向,提出新的低维特征——单方向梯度直方图(histogram of single direction gradient,HSDG). 近三年来,使用卷积神经网络自动提取特征的方法代替传统的特征提取方法,已成为微表情识别最新的发展趋势. Zhao等[4]提出基于连续三维卷积神经网络的微表情识别两阶段学习(即先验学习和目标学习)方法MERSiamC3D. Li等[5]提出基于频域像素级变化率估计的顶点帧检测方法. Aouayeb等[6]使用卷积神经网络和长短时记忆的复合架构,从局部面部区域学习时空特征,提取出微表情识别的局部特征. Liu等[7]使用遗传算法寻找最优解,以促进计算过程产生更好的识别结果. 在遗传算法实现之前,直接采用基准预处理方法和特征提取器. Liong等[8]引入源于OFF-ApexNet网络的光流特征,将光流与CNN结合在一起. Zhou等[9]提出将2个Inception结构并联的Dual-Inception网络.

目前的微表情种类判别已经向多人种、多数据库方向发展. 第2届国际微表情识别大赛(MEGC 2019)使用CASME II数据库[10]、SMIC数据库[11]和SAMM数据库[12],组成微表情联合数据库,训练和评估模型性能. 类似于AugGAN[13]利用白天的街景数据生成晚上的数据、利用夏天的数据生成冬天的数据和利用晴天的数据生成雾霾天气的数据,提高了行人识别的准确率. 本文使用CASME II亚洲人微表情样本生成欧美人微表情样本,提高了模型在多数据库下的微表情种类判别准确率.

1. 微表情生成网络

1.1. 传统自编码器

图1所示,传统自编码器(auto-encoder)包含编码器(encoder)和解码器(decoder)2个部分,整个网络均由全连接层构成. 在编码阶段,编码器通过确定性的映射,将输入向量v转换为隐藏层向量u,过程可以表示为

图 1

图 1   传统自编码器的结构图

Fig.1   Structure diagram of traditional auto-encoder


$ {\boldsymbol{u}} = {e_\theta }({\boldsymbol{v}}) = f({\boldsymbol{W}} \cdot {\boldsymbol{v}}+{\boldsymbol{b}}). $

式中: $ {\mathbf{\theta }} $为编码网络模型参数, $ {\mathbf{\theta }}{\text{ = }}\left\{ {{\boldsymbol{W}},{\boldsymbol{b}}} \right\} $,其中W为编码权重,b为编码偏置;f为激活函数,典型的有sigmoid激活函数. 在解码阶段,解码器将隐藏层向量u重建为与输入向量v维度相同且尺寸相等的向量z,过程可以表示为

$ {\boldsymbol{z}} = {d_{\theta '}}({\boldsymbol{u}}) = f'({\boldsymbol{W}}' \cdot {\boldsymbol{u}}+{\boldsymbol{b}}'). $

式中: $ {{\boldsymbol{\theta }}^{'}} $表示解码网络模型参数, $ {{\boldsymbol{\theta }}^{'}}{\text{ = }}\left\{ {{{\boldsymbol{W}}^{'}},{{\boldsymbol{b}}^{'}}} \right\} $,其中 $ {{\boldsymbol{W}}^{\boldsymbol{'}}} $为解码权重, $ {{\boldsymbol{b}}^{\boldsymbol{'}}} $为解码偏置; $ f' $为激活函数,可以与f相同,也可以不同. 传统自编码器通过最小化重建误差来优化模型参数:

$ \begin{split} {{\boldsymbol{\theta }}_0},{{\boldsymbol{\theta }}_0}' = &\mathop {\arg \min }\limits_{\theta ,\theta '} \frac{1}{m}\sum\limits_{i = 1}^m {L({{\boldsymbol{v}}^{(i)}}} ,{{\boldsymbol{z}}^{(i)}}) = \\ & \mathop {{\text{ }}\arg \min }\limits_{\theta ,\theta '} \frac{1}{m}\sum\limits_{i = 1}^m {L\left( {{{\boldsymbol{v}}^{(i)}},{d_{\theta '}}({e_\theta }({{\boldsymbol{v}}^{(i)}}))} \right)} . \end{split} $

式中:m为训练过程中一个批次的样本数量;L为损失函数,如均方差(mean square error,MSE)损失函数:

$ L({\boldsymbol{v}},{\boldsymbol{z}}) = {\left\| {{\boldsymbol{v}} - {\boldsymbol{z}}} \right\|^2}. $

1.2. 微表情生成网络的结构

传统自编码器全部使用全连接层,当输入信号为二维图像时,会损失图像的空间信息. 为了保留图像空间信息,所提MegNet网络以卷积层代替传统自编码器的部分全连接层,以卷积为主要运算来实现图像编码和解码. 如图2所示为MegNet微表情生成网络的流程图,分为训练和生成2个阶段. MegNet网络分为3个部分:编码器Encoder、解码器Decoder A和解码器Decoder B. 如图2(a)所示为微表情图片,来自CASME II数据库编号为17的个体,共2 200张,该个体以A1表示. 如图2(d)所示为欧美人脸图片,来自于欧美人脸数据库的1号个体,共2 956张,该个体以B1表示. 所用的CASME II数据库人脸样本和欧美人脸样本将在实验部分介绍.

图 2

图 2   微表情生成网络的流程图

Fig.2   Flow chart of micro-expression generation network


MegNet的目标是生成新的B1人脸,新的B1人脸拥有与A1人脸一致的微表情. 在训练阶段,编码器将图2(a)编码为隐藏层向量a,解码器A将a重建为图2(b)、(c),如图2(b)所示为训练过程中的生成图片,如图2(c)所示为训练完成后的生成图片. 类似地,编码器将图2(d)编码为隐藏层向量d,解码器B将d重建为图2(e)、(f),如图2(e)所示为训练过程中的一些生成图片,如图2(f)所示为训练完成后的生成图片. MegNet有2个训练目标:1)最小化图2(c)与图2(a)的误差;2)最小化图2(f)与图2(d)的误差. MegNet网络损失函数将在后文介绍.

训练完成后,在生成阶段,编码器将图2(a)编码为隐藏层向量a,再通过解码器B解码,得到如图2(g)所示的微表情样本. 如图2(g)所示的微表情与A1一致,如图2(g)所示的人脸与B1一致.

A1和B1共用1个编码器的目的是使编码器学习A1和B1的人脸公共特征,人脸公共特征包含人脸面部表情特征. 编码器将A1的表情特征编码进隐藏层向量a,将B1的表情特征编码进隐藏层向量d. A1和B1分用2个解码器的目的如下. 使用不同的解码器,利用不同的方法重建隐藏层向量:解码器A将隐藏层向量(ad)重建为A1的人脸,解码器B将隐藏层向量(ad)重建为B1的人脸. 综上所述,MegNet网络包含3个模型:A1和B1共用的编码器、用于重建A1人脸的解码器A和用于重建B1人脸的解码器B.

图3所示为MegNet编码器的结构图,输入图片尺寸为128×128,图像通道数为3. 第1、2、3、4卷积层均使用大小为5×5的卷积核,步长为2,卷积模式为“same”. 第5卷积层使用大小为3×3的卷积核,步长为1,卷积模式为“same”. 在第1、2、3、4、5层每层卷积运算之后,均使用LeakyReLU激活函数.

图 3

图 3   MegNet编码器的结构图

Fig.3   Architecture of MegNet encoder


图3中,第4卷积层之后的Flatten步骤表示将卷积之后的多维数据扁平化为一维数据,以便放入全连接层. 第1全连接层含有512个神经元,第2全连接层含有32 768个神经元. 全连接层之后经过Reshape操作,特征图(feature map)尺寸变为8×8×512. 如图3输出层之前的虚线框所示,第5卷积层与之后的LeakyReLU激活层、像素重组(PixelShuffle)步骤共同构成 “卷积-激活-像素重组”的特征图上采样模块. 特征图上采样是指将较小尺寸特征图放大为较大尺寸特征图. 8×8×512的特征图经过该模块的运算,尺寸变为16×16×512,即为编码器输出层.

图4所示为MegNet解码器A和解码器B的结构图,解码器A与解码器B结构相同,输入样本不同,因而模型参数不同. 将图3编码器的输出作为图4解码器的输入,输入特征图尺寸为16×16×512. 如图4的虚线框所示,与输入层相连接的是3个结构相似的“卷积-激活-像素重组”特征图上采样模块. 在每个特征图上采样模块中,卷积层使用大小为3×3的卷积核,步长为1,卷积模式为“same”,卷积之后使用LeakyReLU激活函数,最后是像素重组层. 在3个“卷积-激活-像素重组”模块之后是第4卷积层,第4卷积层使用大小为5×5的卷积核,步长为1,通道数为3,卷积模式为“same”,卷积之后使用Sigmoid激活函数. 解码器输出特征图的尺寸为128×128×3,与图3所示编码器的输入图片尺寸及通道数相同. 如表1所示为尺寸为128×128×3的输入图片经过MegNet编码器和解码器各层运算之后的特征图尺寸. 例如,编码器输入层特征图尺寸为128×128×3,经过5×5×128的卷积层运算之后,尺寸变为64×64×128.

图 4

图 4   MegNet解码器的结构图

Fig.4   Structure diagram of MegNet decoder


表 1   MegNet编码器和解码器各层运算之后的特征图尺寸

Tab.1  Feature map size of MegNet encoder and decoder after each layer operation

编码器 解码器
网络层 特征图尺寸 网络层 特征图尺寸
输入层 128×128×3 输入层 16×16×512
5×5×128 Conv 64×64×128 3×3×2 048 Conv 16×16×2 048
5×5×256 Conv 32×32×256 PixelShuffle 32×32×512
5×5×512 Conv 16×16×512 3×3×1 024 Conv 32×32×1 024
5×5×1 024 Conv 8×8×1 024 PixelShuffle 64×64×256
Flatten 65536 3×3×512 Conv 64×64×512
512 FC 512 PixelShuffle 128×128×128
8×8×512 FC 32 768 5×5×3 Conv 128×128×3
变形8×8×512 8×8×512 输出层 128×128×3
3×3×2 048 Conv 8×8×2 048
PixelShuffle 16×16×512
输出层 16×16×512

新窗口打开| 下载CSV


在卷积神经网络中,特征图经过卷积运算之后,尺寸会变小或者保持不变. 在自编码器网络中,存在需要放大特征图尺寸的情形,因此设计“卷积-激活-像素重组”特征图上采样模块. 常用的神经网络特征图上采样方法有上池化(uppooling)、解卷积(deconvolution)和子像素卷积神经网络(efficient sub-pixel convolution neural network,ESPCN)[14]等. 以上方法中,解卷积和ESPCN效果最好,生成的图像质量最高. ESPCN不会出现解卷积方法中的棋盘效应问题[15],本文基于ESPCN设计特征图上采样模块. 如图5所示为ESPCN网络结构,输入特征图的尺寸为7×7. 与输入层相连接的是N层卷积层,其中第N层卷积层设有r2个卷积核,即r2个通道,r为放大倍数,ESPCN网络的r取值为3. 在经过第N层卷积后,特征图尺寸变为7×7×r2. 通过像素重组的操作,将7×7×r2的三维特征图转换为(7×r) ×(7×r)尺寸的二维特征图,由此达到放大特征图尺寸的目的. 从图5所示的卷积层N及输出特征图可以看出,像素重组操作具体如下. 每次从卷积层N的9个通道的特征图中各取一个值,按照从左至右、从上至下的排列顺序,填入3×3的9宫格,得到7×7个9宫格,排列为(7×3)×(7×3)尺寸的输出特征图.

图 5

图 5   子像素卷积神经网络的结构

Fig.5   Architecture of subpixel convolutional neural network


借鉴ESPCN网络的思想,设计MegNet特征图上采样模块. 以编码器的“卷积-激活-像素重组”模块结构为例,描述MegNet放大特征图尺寸的原理. 如图6所示,输入特征图尺寸为8×8×512,放入通道数为2 048的卷积层,放大倍数r取值为2. 卷积层使用大小为3×3的卷积核,步长为1,卷积模式为“same”,卷积后的尺寸为8×8×4×512. 通过像素重组,将每4个8×8的特征图重组为1个16×16的特征图,总尺寸为16×16×512,达到将特征图尺寸放大为原尺寸2倍的目的. 解码器的特征图上采样模块与此类似.

图 6

图 6   MegNet特征图上采样模块的结构

Fig.6   Architecture of upsampling module on MegNet feature map


1.3. 微表情生成网络的训练

训练微表情生成网络,需要设计相应的损失函数. 图像生成类模型最常用和最简单的损失函数为均方差损失函数,传统自编码器和ESPCN网络均通过最小化均方差来训练网络,如式(3)、(4)所示. MegNet基于图像结构相似度(structural similarity,SSIM)[16]设计损失函数,SSIM越大,表示图像越相似. 当2幅图像完全相同时,SSIM为1.

图7所示,假设2张输入的图片分别为xy,其中一张为原图,另一张为MegNet生成的图. 图像结构相似性度量分为3个部分:亮度对比、对比度对比、结构对比. 对比2张图片的亮度可知,图片x所有像素的平均亮度为

图 7

图 7   图像结构相似度测量系统图

Fig.7   Diagram of image structure similarity measurement system


$ {\mu _x}{\text{ = }}{N}^{-1}\sum\limits_{i = 1}^N {{x_i}} . $

亮度对比函数 ${\rm{lu}}\;({\boldsymbol{x}},{\boldsymbol{y}})$$ \mu_{x} $$ \mu_{y} $的函数. 使用图片所有像素的标准差作为对图像对比度的估计:

$ {\sigma _x} = {\left( {\frac{1}{{N - 1}}\sum\limits_{i = 1}^N {{{({x_i} - {\mu _x})}^2}} } \right)^{1/2}}. $

对比度对比函数 $ c\;({\boldsymbol{x}},{\boldsymbol{y}}) $是关于 $ \sigma_{x} $$ \sigma_{y} $的函数. 图片xy减去各自平均亮度之后,再除以各自的标准差,得到的单位向量 ${{({\boldsymbol{x}} - {\mu _x}\cdot {\boldsymbol{1}})} \mathord{\left/ {\vphantom {{({\boldsymbol{x}} - {\mu _x}\cdot {\boldsymbol{1}})} {{\sigma _x}}}} \right. } {{\sigma _x}}}$${{({\boldsymbol{y}} - {\mu _y}\cdot {\boldsymbol{1}})} \mathord{\left/ {\vphantom {{({\boldsymbol{y}} - {\mu _y}\cdot {\boldsymbol{1}})} {{\sigma _y}}}} \right. } {{\sigma _y}}}$表示xy各自的图像结构,则结构对比函数 $ s({\boldsymbol{x}},{\boldsymbol{y}}) $是关于 ${{({\boldsymbol{x}} - {\mu _x}\cdot {\boldsymbol{1}})} \mathord{\left/ {\vphantom {{({\boldsymbol{x}} - {\mu _x}\cdot {\boldsymbol{1}})} {{\sigma _x}}}} \right. } {{\sigma _x}}}$${{({\boldsymbol{y}} - {\mu _y}\cdot {\boldsymbol{1}})} \mathord{\left/ {\vphantom {{({\boldsymbol{y}} - {\mu _y}\cdot {\boldsymbol{1}})} {{\sigma _y}}}} \right. } {{\sigma _y}}}$的函数. 将3个部分组合起来,图像结构相似性度量函数表示为

$ {\rm{SSIM}}\;({\boldsymbol{x}},{\boldsymbol{y}}) = g\;({\rm{lu}}\;({\boldsymbol{x}},{\boldsymbol{y}}),c\;({\boldsymbol{x}},{\boldsymbol{y}}),s\;({\boldsymbol{x}},{\boldsymbol{y}})). $

其中, ${\rm{lu}}\;({\boldsymbol{x,y}}) $$c\;({\boldsymbol{x,y}}) $、结构对比函数 $s\;({\boldsymbol{x,y}}) $是相对独立的. 例如,图像亮度或者图像对比度的变化不会引起图像结构的改变. 图像结构相似性度量函数满足以下3个条件. 1)对称性: $ {\rm{SSIM}}\;{\text{(}}{\boldsymbol{x}},{\boldsymbol{y}}{\text{)}} = {{\rm{SSIM}}} \;{\text{(}}{\boldsymbol{y}},{\boldsymbol{x}}{\text{)}} $. 2)有界性: $ {\rm{SSIM}}\;{\text{(}}{\boldsymbol{x}},{\boldsymbol{y}}{\text{)}} \leqslant 1 $. 3)最大值唯一: $ {\rm{SSIM}}\;{\text{(}}{\boldsymbol{x}},{\boldsymbol{y}}{\text{) = }}1 $当且仅当 $ {\boldsymbol{x}} = {\boldsymbol{y}} $,即2张输入图片完全相同时 $ {\rm{SSIM}}\;{\text{(}}{\boldsymbol{x}},{\boldsymbol{y}}{\text{)}} $取最大值,最大值为1. 亮度对比函数的具体表达式为

$ {\rm{lu}}\;({\boldsymbol{x}},{\boldsymbol{y}}) = \frac{{2{\mu _x}{\mu _y}+{C_1}}}{{{\mu _x}^2+{\mu _y}^2+{C_1}}}. $

式中: $ {C_1} $用来在 $ \mu_{x}^{2}+\mu_{y}^{2} $非常接近于0时保持函数的稳定性,

$ {C_1}{\text{ = (}}{K_1}D{)^2}, $

其中D为图片像素的最大值,当图片深度为8位时,D为255;K1为常数, $K_{1} \ll 1$. 对比度对比函数为

$ c\;({\boldsymbol{x}},{\boldsymbol{y}}) = \frac{{2{\sigma _x}{\sigma _y}+{C_2}}}{{{\sigma _x}^2+{\sigma _y}^2+{C_2}}}. $

式中: $C_{2}=\left(K_{2} D\right)^{2}$,其中 $K_{2} \ll 1 $. $ s\;({\boldsymbol{x}},{\boldsymbol{y}}) $是关于单位向量 $ ({\boldsymbol{x}} - {\mu _x}\cdot {\bf{1}})/{\sigma _x} $$ ({\boldsymbol{y}} - {\mu _y}\cdot {\bf{1}})/{\sigma _y} $的函数,因此 $ ({\boldsymbol{x}} - {\mu _x}\cdot {\bf{1}})/ {\sigma _x} $$ ({\boldsymbol{y}} - {\mu _y}\cdot {\bf{1}})/{\sigma _y} $之间的关联等同于向量xy的关联. 结构对比函数的表达式如下:

$ s\;({\boldsymbol{x}},{\boldsymbol{y}}) = \frac{{{\sigma _{xy}}+{C_3}}}{{{\sigma _x}{\sigma _y}+{C_3}}}. $

式中: $ {C_3} = {({K_3}D)^2},{K_3} \ll 1 $. $ \sigma_{x y} $的表达式为

$ {\sigma _{xy}} = \frac{1}{{N - 1}}\sum\limits_{i = 1}^N {({x_i}} - {\mu _x})({y_i} - {\mu _y}). $

将式(8)、(10)、(11)3个部分组合起来,得到图像xy的结构相似性度量函数为

$ \begin{gathered} {\rm{SSIM}}\;({\boldsymbol{x}},{\boldsymbol{y}}){\text{ = }} {\text{ }}{[{\rm{lu}}\;({\boldsymbol{x}},{\boldsymbol{y}})]^\alpha } \cdot {{\text{[}}c\;({\boldsymbol{x}},{\boldsymbol{y}})]^\beta } \cdot {{\text{[}}s\;({\boldsymbol{x}},{\boldsymbol{y}}){\text{]}}^\gamma }. \end{gathered} $

式中: $\alpha、\beta、\gamma $分别为亮度对比、对比度对比和结构对比3个组成部分的权重参数, $ \alpha>0, \beta>0, \gamma>0 $. 本文设置 $ \alpha = \beta = \gamma = 1,{C_3} = {C_2}/2 $,则

$ \begin{gathered} {\rm{SSIM}}\;({\boldsymbol{x}},{\boldsymbol{y}}){\text{ = }} {\text{ }}\frac{{(2{\mu _x}{\mu _y}+{C_1})(2{\sigma _{xy}}+{C_2})}}{{({\mu _x}^2+{\mu _y}^2+{C_1})({\sigma _x}^2+{\sigma _y}^2+{C_2})}}. \end{gathered} $

MegNet微表情生成网络损失函数设计为

$ L\;({\boldsymbol{x}},{\boldsymbol{y}}) = K(1 - {\rm{SSIM}}\;({\boldsymbol{x}},{\boldsymbol{y}})). $

式中:K为常数,实验中取K = 5. 如图2所示,以 ${{\boldsymbol{x}}_{\rm{a}}}$${{\boldsymbol{x}}_{\rm{b}}}$分别表示图2的(a)和(d),E表示编码器,DA表示解码器A,DB表示解码器B,则从图2(a)到图2(c)的损失函数为

$ {L_{\text{A}}} = K(1 - {\rm{SSIM}}\;({{\boldsymbol{x}}_{\rm{a}}},{D_{\rm{A}}}(E({{\boldsymbol{x}}_{\rm{a}}})))), $

图2(d)到图2(f)的损失函数为

$ {L_{\text{B}}} = K(1 - {\rm{SSIM}}\;({{\boldsymbol{x}}_{\rm{b}}},{D_{\rm{B}}}(E({{\boldsymbol{x}}_{\rm{b}}})))). $

2. 微表情种类判别网络

图8所示为微表情种类判别网络结构图,实验采用CASME II、SMIC和SAMM数据库. 步骤1表示将联合数据库的微表情样本放入MecNet网络进行训练. MecNet第1部分为Inception-ResNet V2[17],MecNet第2部分为全连接层. 步骤2表示使用Inception-ResNet V2从图像中提取形状和纹理特征,将该特征作为全连接层的输入. 步骤3表示在全连接层之后连接网络输出层. 步骤4表示MecNet采用Softmax分类器,损失函数为

图 8

图 8   微表情种类判别网络的结构图

Fig.8   Architecture of micro-expression classification network


$ L = - \frac{{\text{1}}}{m}\sum\limits_{i{\text{ = 1}}}^m {\left[ {\sum\limits_{j{\text{ = 1}}}^k {{y_0}^{(j)}\ln {y^{(j)}}} } \right]} . $

式中:m为参与一次迭代的样本数;k为类别数,MecNet为三分类网络,因此k为3;第i个训练样本的真实标签值表示为 $ [{y_0}^{(1)},{y_0}^{(2)},{y_0}^{(3)}] $,标签为[1,0,0]表示Negative类,[0,1,0]表示Positive类,[0,0,1]表示Surprise类;j表示3个类别中的第j类, $ {y_0}^{(j)} $为第i个训练样本真实标签值中第j类的值, $ {y^{(j)}} $为MecNet预测该样本为第j类的概率. MecNet网络优化采用学习率自适应的Adam算法,MecNet网络优化停止的准则如下:当损失在1 000次循环内没有进一步改善时,终止训练.

3. 实验结果及分析

3.1. 微表情样本生成实验

图9(a)所示,依据受试者的微表情帧数量,对CASME II数据库中的26个受试者降序排列,选出排名靠前的8个受试者,编号为1~8,以集合A表示. 如图9(b)所示,从网络搜集10个欧美名人的面部视频素材,编号为1~10,以集合B表示. 欧美名人素材来自脱口秀节目HOWARD STERN,使用高质量屏幕录制软件,制作高清晰度的视频素材. 所用的屏幕录制软件为BANDICAM,格式为H264-NVIDIA@NVENC(VBR) (High 4∶4∶4无损) Full Size,29.97 帧/s,100 s. 对于集合A的每一个受试者,将每个受试者作为图2(a);从集合B中随机选取5个个体分别作为图2(d),开展微表情样本生成实验. 集合A中的8个人各自进行5次实验,共40次实验. 如表23所示为集合A和集合B中每个个体的样本数量及具体的40组实验组合. 每组实验以“A”+ 受试者个体在集合A中的编号 +“B”+ 个体在集合B中的编号命名,例如,A1B1表示集合A中编号为1的个体和集合B中编号为1的个体的实验组合.

图 9

图 9   微表情样本生成实验所用的人脸展示

Fig.9   Face display for micro-expression sample generation experiment


表 2   集合AB的个体样本数量

Tab.2  Number of individual samples of sets A and B

编号 数量 编号 数量
A1 2 220 B1 2 956
A2 1 226 B2 5 323
A3 1 154 B3 7 148
A4 1 141 B4 7 360
A5 1 096 B5 4 191
A6 990 B6 7 611
A7 956 B7 5 501
A8 884 B8 5 312
B9 4 911
B10 10 801

新窗口打开| 下载CSV


表 3   集合AB的实验组合

Tab.3  Experimental combination of sets A and B

编号 B1 B2 B3 B4 B5 B6 B7 B8 B9 B10
A1 A1B1 A1B6 A1B7 A1B8 A1B10
A2 A2B2 A2B3 A2B5 A2B7 A2B9
A3 A3B2 A3B3 A3B4 A3B5 A3B9
A4 A4B1 A4B7 A4B8 A4B9 A4B10
A5 A5B1 A5B6 A5B8 A5B9 A5B10
A6 A6B1 A6B3 A6B4 A6B6 A6B8
A7 A7B3 A7B6 A7B7 A7B8 A7B10
A8 A8B2 A8B4 A8B5 A8B6 A8B10

新窗口打开| 下载CSV


在windows10下配置GPU深度学习环境,GPU型号为NVIDIA Titan XP;CUDA版本为10.1,cuDNN版本为v7.6.0.64;深度学习框架为tensorflow,版本为tensorflow-gpu-1.9.0;编程语言为python,版本为3.6. 在NVIDIA Titan XP显卡内存为12 GB的配置下,输入MegNet网络的样本批次大小设为50,可以占满全部显存. 40个组合实验,每个实验平均约迭代60 000次,用时平均约为36 h,微表情样本生成实验总用时约为60 d. 平均终止训练的损失值约为0.07. 40次实验一共生成微表情图片样本数为48 335.

图10所示为A1B1实验组训练过程的预览图. 一共取16次过程图,按照左栏从上到下,再右栏从上到下的顺序排列,编号为1~16. 如图11横向所示为图10中第1张、第5张和第16张训练预览图的放大清晰版,分别对应训练过程中的第1次、第20次和第40 000次迭代. 如图11(a)所示为B1个体原图,如图11(b)所示为MegNet重建图11(a)的生成图;如图11(c)所示为A1个体原图,如图11(d)所示为MegNet重建图11(c)的生成图,如图11(e)所示为生成的微表情样本. 从图11可以看出,图11(b)、(d)、(e)等生成图初始为单一像素. 随着训练过程的进行,MegNet逐渐学习到人脸和五官的轮廓以及微表情特征. A集合1号个体即CASME II数据库sub17个体共包含36段微表情视频,因此A1B1实验组共生成36段微表情视频. 为了展示更多不同个体的生成结果,如图12所示为生成的微表情样本示例,取自40组实验生成所有微表情视频中的10段微表情视频. 第1、3行表示不同亚洲人不同表情的顶点帧(apex frame),第2、4行表示对应顶点帧生成的微表情样本. 每一列选取相同的欧美人生成对应的微表情,增加微表情差异性的对比.

图 10

图 10   A1B1实验组训练过程的预览图

Fig.10   Preview of training process of experimental group A1B1


图 11

图 11   训练预览图详解

Fig.11   Details of training preview


图 12

图 12   MegNet生成的微表情样本示例

Fig.12   Example of micro-expressions generated by MegNet


3.2. 微表情种类判别实验

MEGC 2019将微表情种类统一划分为3类:Negative、Positive、Surprise. SMIC数据库自身已划分好Negative、Positive、Surprise 3类. 根据MEGC 2019的方法,CASME II数据库和SAMM数据库中原始的情感类别划分如下:negative(包含‘repression’、‘anger’、‘contempt’、‘disgust’、‘fear’和‘sadness’)、positive (包含‘happiness’)和surprise(包含‘surprise’). 其中CASME II数据库的negative类选取‘disgust’和‘repression’,SAMM数据库的negative类选取‘anger’、‘contempt’、‘disgust’、‘fear’和‘sadness’. 完成三分类划分后,来自3个数据库的微表情样本可以组合为跨人种、跨地域的微表情联合数据库. 联合数据库共包含68个个体,其中16个来自SMIC数据库,24个来自CASME II数据库,28个来自SAMM数据库. 如表3所示为联合数据库中所有样本的分布,展示各数据库各类别所包含的微表情视频数量.

在微表情联合数据库上,使用留一法 (LOSO) 交叉验证法,确保实验结果的个体独立性. 一共进行68次实验,68个个体依次作为测试集. 在每次实验中,将1个个体作为测试集,其余67个个体作为训练集. 从表4可见,联合数据库中的3类微表情样本数量较不均衡. 为了避免微表情种类判别模型过度拟合某一特定的类,采用非加权F1得分 (UF1) 和非加权平均回归 (UAR) 作为模型性能的评价指标. 为了计算联合数据库的UF1和UAR,需要计算联合数据库中每个类别k(一共3个类别) 的真正例(TPk)、假正例 (FPk) 和假负例 (FNk). 联合数据库UF1的计算方法如下:

表 4   联合数据库的样本分布

Tab.4  Sample distribution of joint database

情感类别 SMIC CASME II SAMM 联合数据库
Negative 70 88 92 250
Positive 51 32 26 109
Surprise 43 25 15 83
合计 164 145 133 442

新窗口打开| 下载CSV


$ {\rm{UF}}1{\text{ = }}\frac{1}{3}\sum\limits_{k = 1}^3 {{\rm{UF}}{1_k}} . $

式中: ${\rm{UF}}{1_k}$为类别k的UF1,

$ {\rm{UF}}{1_k} = \frac{{2 \times {\rm{T}}{{\rm{P}}_k}}}{{2 \times {\rm{T}}{{\rm{P}}_k}+{\rm{F}}{{\rm{P}}_k}+{\rm{F}}{{\rm{N}}_k}}}. $

联合数据库UAR的计算方法如下:

$ {\rm{UAR}} = \sum\nolimits_{k = 1}^3 {{\rm{UA}}{{\rm{R}}_k}}\Big/3 . $

式中: $ {{\rm{UAR}}_k} $为类别k${\rm{ UAR}} $

$ {\rm{UA}}{{\rm{R}}_k} = {{{\rm{T}}{{\rm{P}}_k}}}/{{{n_k}}}, $

其中 $ {n_k} $为第k个类别的微表情帧样本数量.

表5所示为MecNet与现有方法的性能对比. 表中,MecNet一行表示不使用微表情数据增强方法,仅使用MecNet微表情种类判别网络的实验结果;MegNet+MecNet表示使用MegNet生成的微表情样本扩充训练集,再使用MecNet的实验结果. 从表5可见,仅使用MecNet的实验结果优于部分现有的方法. 在使用MegNet扩充训练集后,MecNet性能得到显著提高. 与现有方法相比,MegNet+MecNet在SMIC和SAMM数据库上的性能略低于EMR方法[22];在CASME II数据库上的UF1略低于OFF-ApexNet方法,UAR略低于OFF-ApexNet、Dual-Inception和STSTNet方法. MegNet+MecNet在SMIC、CASME II和SAMM组成的联合数据库上的UF1和UAR优于现有的其他方法.

表 5   本文方法与现有方法的性能对比

Tab.5  Comparison of proposed method with existing methods

方法 联合数据库 SMIC CASME II SAMM
UF1 UAR UF1 UAR UF1 UAR UF1 UAR
LBP-TOP[18] 0.588 2 0.578 5 0.200 0 0.528 0 0.702 6 0.742 9 0.395 4 0.410 2
Bi-WOOF[19] 0.629 6 0.622 7 0.572 7 0.582 9 0.780 5 0.802 6 0.521 1 0.513 9
OFF-ApexNet[8] 0.719 6 0.709 6 0.681 7 0.669 5 0.876 4 0.868 1 0.540 9 0.539 2
CapsuleNet[20] 0.652 0 0.650 6 0.582 0 0.587 7 0.706 8 0.701 8 0.620 9 0.598 9
Dual-Inception[9] 0.732 2 0.727 8 0.664 5 0.672 6 0.862 1 0.856 0 0.586 8 0.566 3
STSTNet[21] 0.735 3 0.760 5 0.680 1 0.701 3 0.838 2 0.868 6 0.658 8 0.681 0
EMR[22] 0.788 5 0.782 4 0.746 1 0.753 0 0.829 3 0.820 9 0.775 4 0.715 2
LGCcon[5] 0.792 9 0.763 9 0.524 8 0.495 5
LGCconD[5] 0.619 5 0.606 6 0.776 2 0.749 9 0.492 4 0.471 1
MecNet 0.763 2 0.770 4 0.720 1 0.731 9 0.866 7 0.851 0 0.735 8 0.677 2
MegNet+MecNet 0.789 3 0.805 6 0.742 5 0.751 3 0.867 4 0.852 1 0.768 2 0.709 3

新窗口打开| 下载CSV


4. 结 语

本文提出基于深度网络和迁移学习的MecNet网络,用于微表情种类判别. 为了提高多数据库下微表情种类的判别性能,构建基于自编码器的MegNet网络扩充微表情样本数量,可以在一定程度上缓解制约微表情研究发展的困难,为今后微表情种类判别研究提供帮助. 本文方法在SMIC、CASME II和SAMM联合数据库上的结果优于现有的其他几种方法. 未来的研究工作可以从以下方面着手:为了提高自动微表情识别的准确率,可以考虑以计算机视觉的方法为主,结合其他辅助手段检测和判别微表情. 在谎言检测的场景中,除了采集面部视频,还可以采集受试者的生理信号数据,以生理信号的强度变化来辅助微表情的识别.

参考文献

付晓峰, 牛力, 胡卓群, 等

基于过渡帧概念训练的微表情检测深度网络

[J]. 浙江大学学报: 工学版, 2020, 54 (11): 2128- 2137

[本文引用: 1]

FU Xiao-feng, NIU Li, HU Zhuo-qun, et al

Deep micro-expression spotting network training based on concept of transition frame

[J]. Journal of Zhejiang University: Engineering Science, 2020, 54 (11): 2128- 2137

[本文引用: 1]

BEN X, REN Y, ZHANG J, et al

Video-based facial micro-expression analysis: a survey of datasets, features and algorithms

[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2022, 44 (9): 5826- 5846

[本文引用: 1]

WEI J, LU G, YAN J

A comparative study on movement feature in different directions for micro-expression recognition

[J]. Neurocomputing, 2021, 449: 159- 171

DOI:10.1016/j.neucom.2021.03.063      [本文引用: 1]

ZHAO S, TAO H, ZHANG Y, et al

A two-stage 3D CNN based learning method for spontaneous micro-expression recognition

[J]. Neurocomputing, 2021, 448: 276- 289

DOI:10.1016/j.neucom.2021.03.058      [本文引用: 1]

LI Y, HUANG X, ZHAO G

Joint local and global information learning with single apex frame detection for micro-expression recognition

[J]. IEEE Transactions on Image Processing, 2021, 30: 249- 263

DOI:10.1109/TIP.2020.3035042      [本文引用: 3]

AOUAYEB M, HAMIDOUCHE W, SOLADIE C, et al

Micro-expression recognition from local facial regions

[J]. Signal Processing: Image Communication, 2021, 99 (116457): 1- 9

[本文引用: 1]

LIU K, JIN Q, XU H, et al

Micro-expression recognition using advanced genetic algorithm

[J]. Signal Processing: Image Communication, 2021, 93 (116153): 1- 10

[本文引用: 1]

GAN Y S, LIONG S T, YAU W C, et al

OFF-ApexNet on micro-expression recognition system

[J]. Signal Processing: Image Communication, 2019, 74: 129- 139

DOI:10.1016/j.image.2019.02.005      [本文引用: 2]

ZHOU L, MAO Q, XUE L. Dual-Inception network for cross-database micro-expression recognition [C]// 14th IEEE International Conference on Automatic Face and Gesture Recognition. Lille: IEEE, 2019: 1-5.

[本文引用: 2]

YAN W J, LI X, WANG S J, et al

CASME II: an improved spontaneous micro-expression database and the baseline evaluation

[J]. PLOS ONE, 2014, 9 (1): 1- 8

[本文引用: 1]

LI X, PFISTER T, HUANG X, et al. A spontaneous micro-expression database: inducement, collection and baseline [C]// 10th IEEE International Conference and Workshops on Automatic Face and Gesture Recognition. Shanghai: IEEE, 2013: 1–6.

[本文引用: 1]

DAVISON A K, LANSLEY C, COSTEN N, et al

SAMM: a spontaneous micro-facial movement dataset

[J]. IEEE Transactions on Affective Computing, 2018, 9 (1): 116- 129

DOI:10.1109/TAFFC.2016.2573832      [本文引用: 1]

HUANG S W, LIN C T, CHEN S P, et al. AugGAN: cross domain adaptation with GAN-based data augmentation [C]// European Conference on Computer Vision. Munich: Springer, 2018: 731-744.

[本文引用: 1]

SHI W, CABALLERO J, HUSZÁR F, et al. Real-time single image and video super-resolution using an efficient sub-pixel convolutional neural network [C]// 2016 IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas: IEEE, 2016: 1874-1883.

[本文引用: 1]

SALIMANS T, GOODFELLOW I, ZAREMBA W, et al. Improved techniques for training GANs [C]// 30th Conference on Neural Information Processing Systems. Barcelona: [s. n.], 2016: 1-9.

[本文引用: 1]

WANG Z, BOVIK A C, SHEIKH H R, et al

Image quality assessment: from error visibility to structural similarity

[J]. IEEE Transactions on Image Processing, 2004, 13 (4): 1- 14

DOI:10.1109/TIP.2004.827769      [本文引用: 1]

SZEGEDY C, IOFFE S, VANHOUCKE V, et al. Inception-v4, inception-resnet and the impact of residual connections on learning [C]// 31st AAAI Conference on Artificial Intelligence. Palo Alto: AAAI, 2017: 4-12.

[本文引用: 1]

ZHAO G, PIETIKAINEN M

Dynamic texture recognition using local binary patterns with an application to facial expressions

[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2007, 29 (6): 915- 928

DOI:10.1109/TPAMI.2007.1110      [本文引用: 1]

LIONG S T, SEE J, WONG K, et al

Less is more: micro-expression recognition from video using apex frame

[J]. Signal Processing: Image Communication, 2018, 62: 82- 92

DOI:10.1016/j.image.2017.11.006      [本文引用: 1]

QUANG N V, CHUN J, TOKUYAMA T. CapsuleNet for micro-expression recognition [C]// 14th IEEE International Conference on Automatic Face and Gesture Recognition. Lille: IEEE, 2019: 1-7.

[本文引用: 1]

LIONG S T, GAN Y, SEE J, et al. Shallow triple stream three-dimensional CNN (STSTNet) for micro-expression recognition [C]// 14th IEEE International Conference on Automatic Face and Gesture Recognition. Lille: IEEE, 2019: 1-5.

[本文引用: 1]

LIU Y, DU H, ZHENG L, et al. A neural micro-expression recognizer [C]// 14th IEEE International Conference on Automatic Face and Gesture Recognition. Lille: IEEE, 2019: 1-4.

[本文引用: 2]

/