浙江大学学报(工学版), 2026, 60(7): 1381-1391 doi: 10.3785/j.issn.1008-973X.2026.07.002

计算机与控制工程

基于光流和卷积视觉Transformer的轻量级微表情识别

徐恺蔚,, KHIZER BIN TALIBHafiz, 曹衍龙,, 许源平, 许志杰, 宋景春

1. 浙江大学 机械工程学院,浙江 杭州 310058

2. 浙江大学 流体动力基础件与机电系统全国重点实验室,浙江 杭州 310058

3. 成都信息工程大学 软件工程学院,四川 成都 610225

4. 西交利物浦大学 智能工程学院,江苏 苏州 215123

5. 中国人民解放军联勤保障部队第九〇八医院 重症医学科,江西 南昌 330002

Lightweight micro-expression recognition based on optical flow and convolutional vision Transformer

XU Kaiwei,, KHIZER BIN TALIB Hafiz, CAO Yanlong,, XU Yuanping, XU Zhijie, SONG Jingchun

1. School of Mechanical Engineering, Zhejiang University, Hangzhou 310058, China

2. State Key Laboratory of Fluid Power and Mechatronic Systems, Zhejiang University, Hangzhou 310058, China

3. School of Software Engineering, Chengdu University of Information Technology, Chengdu 610225, China

4. School of Advanced Technology, Xi’an Jiaotong-Liverpool University, Suzhou 215123, China

5. Department of Critical Care Medicine, 908th Hospital of Joint Logistic Support Force of Chinese PLA, Nanchang 330002, China

通讯作者: 曹衍龙,男,教授. orcid.org/0000-0003-0383-6586. E-mail:sdcaoyl@zju.edu.cn

收稿日期: 2025-03-30  

基金资助: 青岛市关键技术攻关及产业化示范类资助项目(23-7-2-qljh-2-gx);苏州市工业园区科教领军人才资助项目(KJL2024104).

Received: 2025-03-30  

Fund supported: 青岛市关键技术攻关及产业化示范类资助项目(23-7-2-qljh-2-gx);苏州市工业园区科教领军人才资助项目(KJL2024104).

作者简介 About authors

徐恺蔚(2000—),男,硕士生,从事深度学习和计算机视觉研究.orcid.org/0009-0002-1857-5710.E-mail:kaiweixu@zju.edu.cn , E-mail:kaiweixu@zju.edu.cn

摘要

针对微表情持续时间短、动作强度低和样本量不足的问题,提出基于光流和卷积视觉Transformer的轻量级微表情识别方法. 通过提取起始帧与峰值帧之间人脸的光流和光应变,突出面部肌肉的运动,有效减少纹理干扰并降低特征维度;引入基于身份域的对抗域适应方法,充分利用受试者标签,去除微表情特征中的无关成分;构建轻型的多阶段CNN-Transformer混合模型MiER-CvT,包括卷积嵌入层、卷积Transformer模块和SeqSoftmax层,以增强模型对微表情的局部表征能力和信息整合能力. 实验结果表明,所提方法在MEGC 2019数据集上取得了0.9171的UF1值和0.9192的UAR值,且MiER-CvT的参数量和计算量分别为7.5 M和0.1 G. 相比于MiMaNet等方法,所提方法兼具高精度和轻量化的优势.

关键词: 微表情识别 ; 光流估计 ; 卷积视觉Transformer ; 注意力机制 ; 域适应

Abstract

A lightweight micro-expression recognition method based on optical flow and convolutional vision Transformer was proposed to solve the problems of short duration, low motion intensity and insufficient sample size of micro-expressions. The optical flow and optical strain of human faces between the onset frame and the apex frame were extracted to highlight the movement of facial muscles, thereby effectively reducing the texture interference and lowering the feature dimension. The adversarial domain adaptation method based on identity domain was adopted to further remove the irrelevant components in the micro-expression features by making full use of the subjects’ labels. A lightweight multi-stage CNN-Transformer hybrid model named MiER-CvT, including the convolutional embedding layer, the convolutional Transformer block and the SeqSoftmax layer, was constructed to enhance the model’s capabilities of local representation and information integration for micro-expressions. The experimental results showed that the proposed method achieved a UF1 score of 0.9171 and a UAR score of 0.9192 on the MEGC 2019 dataset, and the parameter number and computational complexity of MiER-CvT were 7.5 M and 0.1 G, respectively. Compared with the existing methods, such as MiMaNet, the proposed method has the advantages of high precision and light weight.

Keywords: micro-expression recognition ; optical flow estimation ; convolutional vision Transformer ; attention mechanism ; domain adaptation

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

本文引用格式

徐恺蔚, KHIZER BIN TALIBHafiz, 曹衍龙, 许源平, 许志杰, 宋景春. 基于光流和卷积视觉Transformer的轻量级微表情识别. 浙江大学学报(工学版)[J], 2026, 60(7): 1381-1391 doi:10.3785/j.issn.1008-973X.2026.07.002

XU Kaiwei, KHIZER BIN TALIB Hafiz, CAO Yanlong, XU Yuanping, XU Zhijie, SONG Jingchun. Lightweight micro-expression recognition based on optical flow and convolutional vision Transformer. Journal of Zhejiang University(Engineering Science)[J], 2026, 60(7): 1381-1391 doi:10.3785/j.issn.1008-973X.2026.07.002

微表情是面部肌肉的不自觉收缩,由于无法被伪造和克制,比宏表情更具客观性和可靠性,为真实情感状态的检测提供了重要线索,在工业安全和医疗诊断等诸多领域展现出广阔的应用前景.

微表情通常分为高兴、愤怒、惊讶、悲伤、厌恶和恐惧6种,其持续时间一般只有0.04~0.2 s,远远短于宏表情的0.75~2 s[1]. 此外,微表情涉及的脸部区域更小,相关的脸部肌肉运动幅度也非常小[2]. 这些特点大大提高了微表情的识别难度. 研究人员最早使用手工特征进行微表情识别,包括外观特征和几何特征2大类. 在基于外观特征的方法中,局部二值模式-三正交平面(local binary pattern-three orthogonal planes, LBP-TOP)算子[3]通过编码时空维度的局部二值模式[4],能够较好地提取微表情的纹理信息,因此被广泛使用. 在基于几何特征的方法中,光流跟踪是微表情识别的研究热点. 在光流方向直方图(histogram of oriented optical flow, HOOF)[5]的基础上,主方向平均光流(main directional mean optical flow, MDMO)方法[6]选取每个感兴趣区域(region of interest, ROI)中数量最多的光流方向组作为微表情的特征. Liong等[7]以峰值帧与起始帧之间的光应变为全局权重,设计新的双加权方向光流(bi-weighted oriented optical flow, Bi-WOOF)特征,同时证明了峰值帧中蕴含的信息能够在很大程度上表示整个微表情的特征.

目前,基于深度学习的微表情识别方法发展迅猛,主要包含基于卷积神经网络(CNN)和基于Transformer[8]的2类方法. 其中,CNN具有局部性、平移不变性、隐性位置编码和高效计算等特点,在有限的训练资源下也能表现出较好的性能. Wang等[9]在残差结构中添加微注意力模块,同时利用宏表情数据集进行迁移学习. 基于CNN的微表情识别方法MTMNet[10]和MiMaNet [11]以ResNet-18[12]为主干网络,借助宏表情训练的模型来指导微表情模型训练. 为了从光流信息中自动提取有用的微表情特征,Liong团队提出神经网络OFF-ApexNet[13]和STSTNet[1],前者将峰值帧与起始帧在XY方向上的光流分别输入网络后拼接为1个特征向量,后者将2个方向的光流与光应变作为整体并输入CNN来提取特征. 此外,讨论了光流值、光流强度、光应变以及灰度值等不同组合的输入对识别结果的影响[14]. BDCNN[15]综合考虑峰值帧的X方向光流、Y方向光流、光应变和FlowNet[16]光流特征图,在块划分后依靠4个子网络分别提取4种输入的特征,最后拼接在一起用于微表情的识别. 梁岩等[17]提出基于3D ResNet-18模型的多模态微表情分类识别框架,该框架集成了三维注意力机制、参数精简策略和多尺度上下文感知策略.

与CNN不同,Transformer更关注事物的整体面貌,能够较好地建模全局关联性. 基于长短程关系的时空Transformer (short and long range relation based spatio-temporal Transformer, SLSTT)[18]将Transformer作为特征提取器,从光流序列中获取有用的空间模式,然后借助长短期记忆(long short-term memory, LSTM)网络[19]进行时空融合. Fan等[20]使用预训练的视觉Transformer (vision Transformer, ViT)[21]来识别微表情,其分类准确率较CNN模型显著提升. Wang等[22]提出HTNet,基于Transformer,先对微表情峰值帧的光流信息进行细粒度的特征提取,然后融合局部的细粒度特征形成粗粒度特征,再从粗粒度特征中提取微表情的全局特征. Zhou等[23]提出双分支网络IncepTR,将拼接了卷积块注意力模块(convolutional block attention module, CBAM)[24]的Inception网络[25]与使用多头自注意力丢弃(multi-head self-attention dropping, MSAD)[26]的ViT网络进行相似度对比和特征融合,对微表情的光流信息实现了多尺度分析. 张波等[27]为MobileViT网络[28]设计MI模块,并通过通道注意力和空间注意力模块分别提取微表情的时间特征和空间特征,提出双流模型EDSMISEViTNet. Micron-BERT[29]在双向图像Transformer编码器表示(bidirectional encoder representation from image Transformers, BEiT)[30]的基础上添加针对微表情的对角线微注意力(diagonal micro-attention, DMA)和感兴趣块(patch of interest, PoI)模块,能够捕捉到更细致的特征变化. 然而,Transformer模型缺乏归纳偏置[31],通常依靠大参数量来提高模型的能力上限,这往往意味着高昂的训练成本. 微表情作为一种特殊的生理反应,其样本采集和标注工作必须由专业的人员和设备来完成,需要花费大量的时间和精力,导致微表情的数据量匮乏,不利于Transformer模型的训练. 尽管可以在预训练权重的基础上进行微调,但是过少的样本仍然很难实现全参数的最优解. 此外,大参数量也带来了较高的运行成本,难以满足微表情识别任务的实际应用需求.

为了更好地解决上述问题,提出基于光流和卷积视觉Transformer (convolutional vision Transformer, CvT)[32]的轻量级微表情识别方法,以微表情的峰值帧光流信息作为模型输入,提供简洁可靠的时空特征;设计基于身份域的对抗域适应方法,强化模型的训练过程,减少微表情特征中的无用信息;构建轻型的CNN-Transformer混合模型MiER-CvT,充分发挥2种结构的长处,提高模型的微表情识别性能,同时保持较低的参数量和计算量.

1. 本研究方法

1.1. 整体框架

所提方法的整体框架如图1所示. 首先,对输入的视频序列进行人脸检测和对齐等预处理,得到方向和姿态统一的人脸区域. 其次,估计起始帧与峰值帧之间的光流,进一步计算光应变[33],将两者拼接后送入MiER-CvT,并通过身份判别器抑制模型学习个人的私有特征,最终由分类器输出微表情识别结果.

图 1

图 1   所提方法的整体框架

Fig.1   Overall framework of proposed method


1.2. 光流特征提取

为了强化人脸肌肉中动态部分的作用、弱化冗余部分的干扰,借助峰值帧的光流信息来表征面部肌肉运动. 此举有利于提高识别精度、降低识别算法的复杂度.

1.2.1. 光流估计

光流(optical flow, OF)是空间运动物体投影在二维平面上的像素运动的瞬时速度[34]. 其基于相邻帧之间的像素变化估计物体的运动信息,通常利用灰度值的变化来描述像素的位移模式.

光流估计遵循2个基本假设:1)亮度恒定不变,即同一目标在不同帧之间运动时,其亮度不会发生改变;2)运动变化微小,即时间的变化不会引起目标位置的剧烈变化,物体在相邻帧之间的位移比较小. 由此得到光流约束方程:

$ I(x, y, t)=I(x+\mathrm{d} x, y+\mathrm{d} y, t+\mathrm{d} t). $

式中:$I\left( {x,y,t} \right)$为第$t$帧图像中坐标为$\left( {x,y} \right)$的像素的亮度,${\text{d}}x$${\text{d}}y$${\text{d}}t$分别为该像素在平面$x$维度、$y$维度和时间$t$维度上的微小变化. 对式(1)的右端进行泰勒展开:

$ I(x+{\mathrm{d}} x, y+{\mathrm{d}} y, t+{\mathrm{d}} t) = I(x, y, t)+\dfrac{\partial I}{\partial x} {\mathrm{d}} x+\dfrac{\partial I}{\partial y} {\mathrm{d}} y+\dfrac{\partial I}{\partial t} {\mathrm{d}} t+\varepsilon . $

式中:$ \varepsilon $为二阶无穷小项,可以忽略不计. 将式(2)代入式(1),得到

$ \dfrac{\partial I}{\partial x} {\mathrm{d}} x+\dfrac{\partial I}{\partial y}{\mathrm{d}} y+\dfrac{\partial I}{\partial t} {\mathrm{d}} t=0 . $

将上式两边同时除以${\rm{d}}t$

$ \dfrac{\partial I}{\partial x} \dfrac{{\mathrm{d}} x}{{\mathrm{d}} t}+\dfrac{\partial I}{\partial y} \dfrac{{\mathrm{d}} y}{{\mathrm{d}} t}+\dfrac{\partial I}{\partial t}=0 . $

令光流${\boldsymbol{u}} = {\left[ {u_x,\;u_y} \right]^{{\mathrm{T}}}}$,其中$x$方向上的光流分量${u_x} = {{{\mathrm{d}}x} \mathord{\left/ {\vphantom {{{\mathrm{d}}x} {{\mathrm{d}}t}}} \right. } {{\mathrm{d}}t}}$$y$方向上的光流分量 ${u_y} = {{{\mathrm{d}}y} \mathord{\left/ {\vphantom {{{\mathrm{d}}y} {{\mathrm{d}}t}}} \right. } {{\mathrm{d}}t}}$,且$ {I_x} = {{\partial I} \mathord{\left/ {\vphantom {{\partial I} {\partial x}}} \right. } {\partial x}} $${I_y} = {{\partial I} \mathord{\left/ {\vphantom {{\partial I} {\partial y}}} \right. } {\partial y}}$${I_t} = {{\partial I} \mathord{\left/ {\vphantom {{\partial I} {\partial t}}} \right. } {\partial t}}$,则式(4)可以化简为

$ I_x u_x+I_y u_y+I_t=\left[I_x, I_y\right] \boldsymbol{u}+I_t=0 . $

从中可以求解出光流${\boldsymbol{u}}$.

1.2.2. 光应变计算

光应变用于度量物体瞬时运动状态的变化强度,能够帮助模型关注重要的微表情光流. 其计算公式为

$ \begin{split} \boldsymbol{\varepsilon}= &\frac{1}{2}\left[\nabla \boldsymbol{u}+(\nabla \boldsymbol{u})^{\mathrm{T}}\right]=\left[\begin{array}{ll}\varepsilon_{x x} & \varepsilon_{x y} \\\varepsilon_{y x} & \varepsilon_{y y}\end{array}\right]= \\& {\left[\begin{array}{cc}\partial u_x / \partial x & \left(\partial u_x / \partial y+\partial u_y / \partial x\right) / 2 \\\left(\partial u_y / \partial x+\partial u_x / \partial y\right) / 2 & \partial u_y / \partial y\end{array}\right] .} \end{split} $

式中:${\varepsilon _{xx}}$${\varepsilon _{yy}}$为法向应变分量,${\varepsilon _{xy}}$${\varepsilon _{yx}}$为剪切应变分量. 光应变幅值[1]可以表示为所有应变分量的平方和的平方根:

$ |\boldsymbol{\varepsilon}|=\sqrt{\frac{\partial u_{{x}}^2}{\partial x}+\frac{\partial u_y^2}{\partial y}+\frac{1}{2}\left(\frac{\partial u_x}{\partial y}+\frac{\partial u_y}{\partial x}\right)^2} . $

1.3. 基于身份域的对抗域适应

尽管使用光流信息作为模型输入在很大程度上削弱了身份信息的干扰,但是这种输入仍然残留了部分的个体特征,例如形状各异的面部及五官等. 图2展示了圆脸、方脸、胖脸和瘦脸等具有不同面部特征的受试者的微表情光流特征.

图 2

图 2   不同受试者的微表情光流特征

Fig.2   Micro-expression optical flow features of different subjects


设计基于身份域的对抗域适应方法,从模型训练的角度进一步减少微表情特征中的身份信息,如图3所示. 该方法结合了解耦学习的思想,将每个受试者的所有样本视为1个领域,通过特征提取器与身份判别器之间的对抗博弈,提取出所有领域的共有特征,即与身份无关的微表情特征.

图 3

图 3   基于身份域的对抗域适应方法

Fig.3   Adversarial domain adaptation method based on identity domain


令训练样本为$ {\left( {{{\boldsymbol{x}}_i},{y_i}} \right)} $($ i \in \left\{ {0,1, \cdots ,N} \right\} $),其分别来自不同的受试者$p_i \in\{1,2, \cdots, P\} $. 输入xi首先经过特征提取器,得到D维的特征向量${\boldsymbol{f}} = {G_{\text{f}}}\left( {{\boldsymbol{x}};{{\boldsymbol{\theta}} _{\text{f}}}} \right) \in {{\bf{R}}^D}$;然后将其分别送入分类器${G_{\mathrm{y}}}\left( {{\boldsymbol{f}};{{\boldsymbol{\theta}} _{\mathrm{y}}}} \right)$和身份判别器${G_{\mathrm{p}}}\left( {{\boldsymbol{f}};{{\boldsymbol{\theta}} _{\mathrm{p}}}} \right)$,前者学习标签分类,后者学习身份判别. 其中,${{\boldsymbol{\theta}} _{\mathrm{f}}}$${{\boldsymbol{\theta}} _{\mathrm{y}}}$${{\boldsymbol{\theta}} _{\mathrm{p}}}$分别为特征提取器、分类器和身份判别器的模型参数.

分类器的效果越好,说明特征提取器更侧重于捕捉微表情特征;相应地,身份判别器的效果越好,说明特征提取器更倾向于捕捉身份特征. 然而,身份信息属于每个受试者的私有信息,无法用于类别标签的预测,反而会占用${\boldsymbol{f}}$的信息存储空间,降低其中与微表情有关的成分比例. 因此,减少${\boldsymbol{f}}$中的身份信息能够在一定程度上提高模型的分类性能. 考虑到在常规训练过程中,分类器和身份判别器分别推动${\boldsymbol{f}}$变成分类、判别效果更好的特征,所以只需要让特征提取器提取的${\boldsymbol{f}}$朝着身份判别器优化目标的反方向更新,就能使其逐渐远离判别器的最优解,从而增强特征提取器挖掘微表情特征而非身份特征的能力,得到仅能用来分辨表情种类而不能用来判断受试者身份的共性特征,以实现更好的微表情识别性能.

基于上述分析,定义模型的总损失函数为

$ \begin{split}L_{{\mathrm{tot}}}\left(\boldsymbol{\theta}_{\mathrm{f}}, \boldsymbol{\theta}_{\mathrm{y}}, \boldsymbol{\theta}_{\mathrm{p}}\right)= & \sum_{i=1}^N L_{\mathrm{y}}\left(G_{\mathrm{y}}\left(G_{\mathrm{f}}\left({\boldsymbol{x}}_i ; \boldsymbol{\theta}_{\mathrm{f}}\right) ; \boldsymbol{\theta}_{\mathrm{y}}\right), y_i\right)- \\& \lambda L_{\mathrm{p}}\left(G_{\mathrm{p}}\left(G_{\mathrm{f}}\left({\boldsymbol{x}}_i ; \boldsymbol{\theta}_{\mathrm{f}}\right) ; \boldsymbol{\theta}_{\mathrm{p}}\right), p_i\right) .\end{split} $

式中:${L_{\mathrm{y}}}\left( { \cdot , \cdot } \right)$${L_{\mathrm{p}}}\left( { \cdot , \cdot } \right)$分别为分类器和身份判别器的损失函数,$\lambda $为对抗域适应的权重.

优化后的模型参数满足

$ \left(\hat{\boldsymbol{\theta}}_{\mathrm{f}}, \hat{\boldsymbol{\theta}}_{\mathrm{y}}\right)=\arg \min _{\boldsymbol{\theta}_{\mathrm{f}}, \boldsymbol{\theta}_{\mathrm{y}}} L_{{\mathrm{tot}}}\left(\boldsymbol{\theta}_{\mathrm{f}}, \boldsymbol{\theta}_{\mathrm{y}}, \hat{\boldsymbol{\theta}}_{\mathrm{p}}\right), $

$ \hat{\boldsymbol{\theta}}_{\mathrm{p}}=\arg \max _{\boldsymbol{\theta}_{\mathrm{p}}} L_{{\mathrm{tot}}}\left(\hat{\boldsymbol{\theta}}_{\mathrm{f}}, \hat{\boldsymbol{\theta}}_{\mathrm{y}}, \boldsymbol{\theta}_{\mathrm{p}}\right) , $

即特征提取器和分类器最小化损失函数,而身份判别器最大化损失函数. $\left(\hat{\boldsymbol{\theta}}_{\mathrm{f}}, \hat{\boldsymbol{\theta}}_{\mathrm{y}}, \hat{\boldsymbol{\theta}}_{\mathrm{p}}\right)$为损失函数$ L_{{\mathrm{tot}}}\left(\boldsymbol{\theta}_{\mathrm{f}}, \boldsymbol{\theta}_{\mathrm{y}}, \boldsymbol{\theta}_{\mathrm{p}}\right)$的鞍点.

为了实现常规流程的模型训练,在特征提取器和身份判别器之间加入梯度反转层(gradient reversal layer, GRL)[35]. GRL定义了伪函数${R_\lambda }\left( {\boldsymbol{x}} \right)$,其前向传播和反向传播过程分别为

$ R_\lambda(\boldsymbol{x})=\boldsymbol{x}, $

$ \frac{{\mathrm{d}} R_\lambda}{{\mathrm{d}} \boldsymbol{x}}=-\lambda . $

式中:$\lambda $通常设置为动态变化值:

$ \lambda = \dfrac{2}{{1+\exp \left( { - \gamma r} \right)}} - 1. $

式中:$r$为训练进程相对值,即当前训练次数与训练总次数的比值;$\gamma $$\lambda $的动态变化强度,一般取$\gamma $=10.

模型的总损失函数进一步表示为

$ \begin{split}\tilde{L}_{{\mathrm{tot}}}\left({\boldsymbol{\theta}}_{\mathrm{f}}, {\boldsymbol{\theta}}_{\mathrm{y}}, {\boldsymbol{\theta}}_{\mathrm{p}}\right)= & \sum_{i=1}^N L_{\mathrm{y}}\left(G_{\mathrm{y}}\left(G_{\mathrm{f}}\left({\boldsymbol{x}}_i ; {\boldsymbol{\theta}}_{\mathrm{f}}\right) ; {\boldsymbol{\theta}}_{\mathrm{y}}\right), y_i\right)+ \\& L_{\mathrm{p}}\left(G_{\mathrm{p}}\left(R_\lambda\left(G_{\mathrm{f}}\left({\boldsymbol{x}}_i ; {\boldsymbol{\theta}}_{\mathrm{f}}\right) ; {\boldsymbol{\theta}}_{\mathrm{p}}\right)\right), p_i\right) .\end{split} $

优化后的模型参数为损失函数$\tilde{L}_{{\mathrm{tot}}} \left( {{{\boldsymbol{\theta}} _{\mathrm{f}}},{{\boldsymbol{\theta}} _{\mathrm{y}}},{{\boldsymbol{\theta}} _{\mathrm{p}}}} \right)$的驻点,满足

$ \left( {{{\hat {\boldsymbol{\theta}} }_{\mathrm{f}}},{{\hat {\boldsymbol{\theta}} }_{\mathrm{y}}},{{\hat {\boldsymbol{\theta}} }_{\mathrm{p}}}} \right) = {{\mathrm{arg}}} \mathop {\min }\limits_{{{\boldsymbol{\theta}} _{\mathrm{f}}},{{\boldsymbol{\theta}} _{\mathrm{y}}},{{\boldsymbol{\theta}} _{\mathrm{p}}}} \tilde{L}_{{\mathrm{tot}}}\left( {{{\boldsymbol{\theta}} _{\mathrm{f}}},{{\boldsymbol{\theta}} _{\mathrm{y}}},{{\boldsymbol{\theta}} _{\mathrm{p}}}} \right). $

1.4. MiER-CvT

MiER-CvT由3个阶段性大模块和1层SeqSoftmax层组成,每个阶段性大模块包括1层卷积嵌入层和多个卷积Transformer模块.

第1个阶段性大模块的输入是图像. 此后第$i$个阶段性大模块的输入是长为${H_{i - 1}}$、宽为${{{W}}_{i - 1}}$、特征维度为${C_{i - 1}}$的二维嵌入向量矩阵${{\boldsymbol{x}}_{i - 1}} \in {{\bf{R}}^{{H_{i - 1}} \times {{{W}}_{i - 1}} \times {C_{i - 1}}}}$,其由前一个阶段性大模块输出的一维嵌入向量序列$ {{\boldsymbol{x}}_{i - 1,{N_i} - 1}} \in {{\bf{R}}^{{H_{i - 1,{N_i} - 1}}{{{W}}_{i - 1,{N_i} - 1}} \times {C_{i - 1,{N_i} - 1}}}} $重排而来,数学表达形式为

$ \boldsymbol{x}_{i-1}=\text { Reshape2d }\left(\boldsymbol{x}_{i-1, N_i-1}\right) . $

式中:${N_i}$为第$i$个阶段性大模块拥有的卷积Transformer模块的数量.

最后1个阶段性大模块为卷积嵌入层的输出额外添加了1个可学习的类别标记(class token),与class token拼接后的输出先经过一系列的卷积Transformer模块,再被送入SeqSoftmax层.

1.4.1. 卷积嵌入层

卷积嵌入层首先借助卷积操作提取二维矩阵输入${\boldsymbol{x}}_{i-1}\in {\mathbf{R}}^{{{H}_{i-1}}\times {{W}_{i-1}}\times {{C}_{i-1}}} $的特征,然后将其重排为一维的嵌入向量序列$\boldsymbol{x}_{i}^{\text{e}}\in {\mathbf{R}}^{{{H}_{i}}{{W}_{i}}\times {{C}_{i}}} $,数学表达形式为

$ \boldsymbol{x}_i^{\mathrm{e}}=\operatorname{Flatten}\left(\operatorname{Conv2d}\left(\boldsymbol{x}_{i-1}, K_i^{\mathrm{e}}, S_i^{\mathrm{e}}, P_i^{\mathrm{e}}, C_i\right)\right) . $

式中:$K_i^{{\mathrm{e}}}$$S_i^{{\mathrm{e}}}$$P_i^{{\mathrm{e}}}$分别为卷积核大小、卷积步长和边缘填充数量,其在各自的长、宽方向上通常采用相同的值.

相比于ViT的全连接嵌入层,卷积嵌入层一方面能够更好地捕捉局部信息,另一方面由于卷积计算时的区域重叠,其能够为嵌入向量引入一定程度的位置信息,所以兼具嵌入层和位置编码的功能.

考虑到微表情的样本数较少,且光流特征提供了更有效的信息,MiER-CvT在第1个阶段性大模块中使用大步长的大核卷积来减少嵌入向量的数量,设置$K_1^\text{e} = 32$$S_1^\text{e} = 16$$P_1^\text{e} = 8$${C_1} = 64$,从而降低模型的复杂度,缓解过拟合问题;而在第2、3个阶段性大模块中分别设置$K_2^\text{e} = 5$$S_2^\text{e} = 3$$P_2^\text{e} = 0$${C_2} = 192$$K_3^\text{e} = 3$$S_3^\text{e} = 1$$P_3^\text{e} = 0$${C_3} = 384$.

1.4.2. 卷积Transformer模块

卷积Transformer模块结构与ViT的Transformer结构基本类似,但是使用内嵌有批归一化(batch normalization, BN)[36]的深度可分离卷积(depthwise separable convolution, DSC)[37],取代将输入转变为查询(query)、键(key)和值(value)的全连接线性层,以增强模型的局部表征能力,如图4所示.

图 4

图 4   卷积Transformer模块与ViT Transformer结构对比

Fig.4   Structure comparison of convolutional Transformer block and ViT Transformer


卷积Transformer模块的输入为一维向量序列${{\boldsymbol{x}}_{i,n - 1}}$,其中${{\boldsymbol{x}}_{i,0}} = {\boldsymbol{x}}_i^{{\mathrm{e}}}$. 输入${{\boldsymbol{x}}_{i,n - 1}}$首先被重排为二维矩阵形式,然后依次经过基于卷积映射的自注意力(self attention, SA)模块和前馈网络(feed-forward network, FFN)模块. 在SA模块中,分别经过3组卷积映射后,得到二维的query、key和value矩阵,并将三者重新变回一维序列${\boldsymbol{x}}_{i,n}^{\rm{q}} \in {{\bf{R}}^{H_{i,n}^{\rm{q}}{{W}}_{i,n}^{\rm{q}} \times C_{i,n}^{\rm{k}}}}$$ {\boldsymbol{x}}_{i,n}^{\rm{k}} \in {{\bf{R}}^{H_{i,n}^{\rm{k}}{{W}}_{i,n}^{\rm{k}} \times C_{i,n}^{\rm{k}}}} $${\boldsymbol{x}}_{i,n}^{\rm{v}} \in {{\bf{R}}^{H_{i,n}^{\rm{k}}{{W}}_{i,n}^{\rm{k}} \times C_{i,n}^{\rm{v}}}}$,再由多头注意力(multi-head attention)层处理,将其计算结果与${{\boldsymbol{x}}_{i,n - 1}}$相加后送入FFN模块. 卷积Transformer模块的处理过程表示为

$ \begin{split}\boldsymbol{x}_{i, n}^{\mathrm{q}}= & {{\mathrm{Flatten}}}\;\Big({{\mathrm{PWConv}}} 2 {\mathrm{d}}\;\Big({{\mathrm{BN}}}\;\Big( {{\mathrm{DWConv}}} 2 {\mathrm{d}} \\& \left.\left.\left.\left(\text {Reshape} 2 {\mathrm{d}}\;(\boldsymbol{x}_{i, n-1}), K_{i, n}^{\mathrm{q}}, S_{i, n}^{\mathrm{q}}, P_{i, n}^{\mathrm{q}}, C_{i, n-1}^{\mathrm{k}}\right) \right), C_{i, n}^{\mathrm{k}}\right) \right),\end{split} $

$ \begin{split}\boldsymbol{x}_{i, n}^{\mathrm{k}} & = {{\mathrm{Flatten}}\;\Big({\mathrm{PWConv2d}}\;\Big({\mathrm{BN}}\;\Big({\mathrm{DWConv2d}}} \\& \left.\left.\left.\left({{\mathrm{Reshape2d}}}\;(\boldsymbol{x}_{i, n-1}), K_{i, n}^{\mathrm{k}}, S_{i, n}^{\mathrm{k}}, P_{i, n}^{\mathrm{k}}, C_{i, n-1}^{\mathrm{k}}\right)\right), C_{i, n}^{\mathrm{k}}\right)\right),\end{split} $

$ \begin{split}\boldsymbol{x}_{i, n}^{\mathrm{v}}= & {\mathrm{Flatten}} \;\Big( {\mathrm{PWConv}} 2 {\mathrm{d}}\;\Big( {\mathrm{BN}}\; \Big({\mathrm{DWConv}} 2 {\mathrm{d}} \\& \left.\left.\left.\left( {{\mathrm{Reshape}}} 2 {\mathrm{d}}\;(\boldsymbol{x}_{i, n-1}), K_{i, n}^{\mathrm{k}}, S_{i, n}^{\mathrm{k}}, P_{i, n}^{\mathrm{k}}, C_{i, n-1}^{\mathrm{v}}\right) \right), C_{i, n}^{\mathrm{v}}\right) \right),\end{split} $

$ \left.\begin{array}{l}\boldsymbol{x}_{i, n,j}^{\mathrm{q}}=\mathrm {head}\_\mathrm{Split}\left(\boldsymbol{x}_{i, n}^{\mathrm{q}}, j\right), \\\boldsymbol{x}_{i, n,j}^{\mathrm{k}}=\mathrm {head}\_\mathrm{Split}\left(\boldsymbol{x}_{i, n}^{\mathrm{k}}, j\right), \\\boldsymbol{x}_{i, n,j}^{\mathrm{v}}=\mathrm {head}\_\mathrm{Split}\left(\boldsymbol{x}_{i, n}^{\mathrm{v}}, j\right),\end{array}\right\} $

$ \begin{split}{{\bf{head}}_{i,n,j}} = &{{\mathrm{Attention}}}\left( {{\boldsymbol{x}}_{i,n,j}^{{\mathrm{q}}},{\boldsymbol{x}}_{i,n,j}^{{\mathrm{k}}},{\boldsymbol{x}}_{i,n,j}^{{\mathrm{v}}}} \right) = \\&{{\mathrm{Softmax}}}\left( {{{\boldsymbol{x}}_{i,n,j}^{{\mathrm{q}}}{({{\boldsymbol{x}}_{i,n,j}^{{\mathrm{k}}}})^\text{T}}}}/{\sqrt {C_{i,n}^{{\mathrm{k}}}/{h_i}} } \right){\boldsymbol{x}}_{i,n,j}^{{\mathrm{v}}},\end{split} $

$ \begin{split} {\boldsymbol{x}}_{i,n}^{\rm{MHSA}} =& {\rm{LN}}\left( {{\rm{MultiHead}}\left( {{\boldsymbol{x}}_{i,n}^{\rm{q}},{\boldsymbol{x}}_{i,n}^{\rm{k}},{\boldsymbol{x}}_{i,n}^{\rm{v}}} \right) + {{\boldsymbol{x}}_{i,n - 1}}} \right) = \\&{\rm{LN}}\left( {{{{{{\mathrm{head}}}}\_{\mathrm{Concat}}}}\left( {{{\bf{head}}_{i,n,1}},{{\bf{head}}_{i,n,2}}, \cdots ,} \right.} \right.\\&\left. {\left. {{{\bf{head}}_{i,n,h_i}}} \right){{\boldsymbol{W}}_0} + {{\boldsymbol{x}}_{i,n - 1}}} \right),\end{split} $

$ \begin{split} \boldsymbol{x}_{i, n} =&\mathrm{FFN}\;(\boldsymbol{x}) + \boldsymbol{x}_{i, n}^{\mathrm{MHSA}} = \operatorname{GELU}\left(\mathrm{LN}\left(\boldsymbol{x}_{i, n}^{\mathrm{MHSA}}\right) \boldsymbol{W}_1 + \right. \\& \left.{\boldsymbol{b}}_1\right) \boldsymbol{W}_2+{\boldsymbol{b}}_2+\boldsymbol{x}_{i, n}^{\mathrm{MHSA}}.\end{split} $

式中:$n \in \{1,2, \cdots ,{N_i}\}$为第$i$个阶段性大模块的第$n$个卷积Transformer模块;$K_{i,n}^{\rm{q}}$$K_{i,n}^{\rm{k}} $为DSC的卷积核大小,$S_{i,n}^{\rm{q}}$$S_{i,n}^{\rm{k}} $为卷积步长,$P_{i,n}^{\rm{q}}$$P_{i,n}^{\rm{k}} $为边缘填充数量,在各自的长、宽方向上通常采用相同的值;$ {{\bf{head}}_{i,n,j}} $为注意力机制的输出结果,其中$j \in \{1, 2, \cdots ,{h_i}\}$hi为第i个阶段性大模块的多头注意力机制的head总数;${\boldsymbol{x}}_{i,n,j}^{\rm{q}} \in{{\bf{R}}^{H_{i,n}^{\rm{q}}{{W}}_{i,n}^{\rm{q}} \times {{C_{i,n}^{\rm{k}}} \mathord{\left/ {\vphantom {{C_{i,n}^{\rm{k}}} {{h_i}}}} \right. }{{h_i}}}}}$${\boldsymbol{x}}_{i,n,j}^{\rm{k}} \in {{\bf{R}}^{H_{i,n}^{\rm{k}}{{W}}_{i,n}^{\rm{k}} \times {{C_{i,n}^{\rm{k}}} \mathord{\left/ {\vphantom {{C_{i,n}^{\rm{k}}} {{h_i}}}} \right. } {{h_i}}}}}$$\;\;{\boldsymbol{x}}_{i,n,j}^{\rm{v}} \in{{\bf{R}}^{H_{i,n}^{\rm{k}}{{W}}_{i,n}^{\rm{k}} \times {{C_{i,n}^{\rm{v}}} \mathord{\left/ {\vphantom {{C_{i,n}^{\rm{v}}} {{h_i}}}} \right. } {{h_i}}}}}$分别为$ \;\;{\boldsymbol{x}}_{i,n}^{\rm{q}} $${\boldsymbol{x}}_{i,n}^{\rm{k}}$${\boldsymbol{x}}_{i,n}^{\rm{v}}$的第$j$个head;$ {\boldsymbol{x}}_{i,n}^{\rm{MHSA}} $为多头注意力机制的输出结果;${{\boldsymbol{W}}_0} \in {{\bf{R}}^{C_{i,n}^{\rm{v}} \times C_{i,n}^{\rm{k}}}}$${{\boldsymbol{W}}_1} \in {{\bf{R}}^{C_{i,n}^{\rm{k}} \times C_{i,n}^{\rm{ff}}}}$${{\boldsymbol{b}}_1} \in {{\bf{R}}^{C_{i,n}^{\rm{ff}}}}$${{\boldsymbol{W}}_2} \in {{\bf{R}}^{C_{i,n}^{\rm{ff}} \times C_{i,n}^{\rm{k}}}}$${{\boldsymbol{b}}_2} \in {{\bf{R}}^{C_{i,n}^{\rm{k}}}}$,其中$ C_{i,n}^{\rm{ff}} $为FFN模块的隐藏层维度.

如果是最后1个阶段性大模块,由于class token $({\boldsymbol{x}}_i^{\rm{cls}})$被拼接到了$ {{\boldsymbol{x}}_{i,n - 1}} $的最前端,有

$ \boldsymbol{x}_{i, n-1} \leftarrow \operatorname{Concat}\left(\boldsymbol{x}_i^{\text {cls }}, \boldsymbol{x}_{i, n-1}\right) . $

所以$ {{\boldsymbol{x}}_{i,n - 1}} $在进入卷积Transformer模块前会先把class token分离出来,即

$ \boldsymbol{x}_i^{\text {cls }}, \boldsymbol{x}_{i, n-1} \leftarrow \operatorname{Split}\left(\boldsymbol{x}_{i, n-1}\right) . $

等到完成$ {\boldsymbol{x}}_{i,n}^{\mathrm{q}} $${\boldsymbol{x}}_{i,n}^{\mathrm{k}}$${\boldsymbol{x}}_{i,n}^{\mathrm{v}}$的计算后,在开始计算式(21)之前,把class token拼接回$ {{\boldsymbol{x}}_{i,n - 1}} $$ {\boldsymbol{x}}_{i,n}^{\rm{q}} $${\boldsymbol{x}}_{i,n}^{\rm{k}}$${\boldsymbol{x}}_{i,n}^{\rm{v}}$的最前端,即执行式(25)和下式中的操作:

$ \left.\begin{array}{l}\boldsymbol{x}_{i, n}^{\mathrm{q}} \leftarrow \operatorname{Concat}\left(\boldsymbol{x}_i^{\mathrm{cls}}, \boldsymbol{x}_{i, n}^{\mathrm{q}}\right), \\\boldsymbol{x}_{i, n}^{\mathrm{k}} \leftarrow \operatorname{Concat}\left(\boldsymbol{x}_i^{\mathrm{cls}}, \boldsymbol{x}_{i, n}^{\mathrm{k}}\right), \\\boldsymbol{x}_{i, n}^{\mathrm{v}} \leftarrow \operatorname{Concat}\left(\boldsymbol{x}_i^{\mathrm{cls}}, \boldsymbol{x}_{i, n}^{\mathrm{v}}\right) .\end{array}\right\} $

在具体实现过程中,MiER-CvT中设置$ C_{i,n}^{\rm{k}} = C_{i,n}^{\rm{v}} = {{C_{i,n}^{\rm{ff}}} \mathord{\left/ {\vphantom {{C_{i,n}^{\rm{ff}}} 4}} \right. } 4} = {C_i} $${h_1} = 1$${h_2} = 3$${h_3} = 6$,并设置$K_{i,n}^{\rm{q}} = K_{i,n}^{\rm{k}} = 3$$2S_{i,n}^{\rm{q}} = S_{i,n}^{\rm{k}} = 2$$P_{i,n}^{\rm{q}} = P_{i,n}^{\rm{k}} = 1$,以进一步降低模型的参数量和计算量.

1.4.3. SeqSoftmax层

视觉Transformer模型常常利用class token来识别目标,其代表了模型输入的整体内容,所以容易缺乏细节信息. 而细节信息对于微表情等目标的识别来说非常重要,因此SeqSoftmax层通过引入注意力机制,综合考虑输入的每个局部位置,从而较好地保留细节特征. 具体而言,SeqSoftmax层根据输入序列的非class token部分对其自身进行加权求和:

$ \boldsymbol{x}_{\mathrm{cls}}, \boldsymbol{x}_{\mathrm{in}} \leftarrow \operatorname{Split}\left(\boldsymbol{x}_{\mathrm{in}}\right), $

$ \boldsymbol{x}_{\mathrm{Seq}}=\operatorname{Softmax}\left(\operatorname{Pool1d}\left(\boldsymbol{x}_{\mathrm{in}}\right)\otimes \boldsymbol{W}_{\mathrm{Seq}}+{\boldsymbol{b}}_{\mathrm{Seq}}\right) \boldsymbol{x}_{\mathrm{in}} . $

式中:${{\boldsymbol{x}}_{{\mathrm{cls}}}} \in {{\bf{R}}^{C}}$${{\boldsymbol{x}}_{{\mathrm{in}}}} \in {{\bf{R}}^{L \times C}}$$ {{\boldsymbol{x}}_{{\mathrm{Seq}}}} \in {{\bf{R}}^{C}} $分别为class token和SeqSoftmax层的输入、输出,其中$ L $为序列的长度,$C$为序列中每个向量的维度数量;${{\boldsymbol{W}}_{{\mathrm{Seq}}}} \in {{\bf{R}}^{L}}$${{\boldsymbol{b}}_{{\mathrm{Seq}}}} \in {{\bf{R}}^L}$分别为线性层的权重和偏置;${{\mathrm{Pool1d}}}\left( \cdot \right)$表示池化操作,如果是最大池化则记SeqSoftmax层为SeqSoftmax-x,如果是平均池化则记SeqSoftmax层为SeqSoftmax-g.

2. 实验方案与结果分析

2.1. 数据集

实验数据集来自2019年人脸微表情挑战赛(facial micro-expression grand challenge 2019, MEGC 2019),由SMIC[38]、CASME Ⅱ[39]和SAMM[40] 3个公共的自发微表情数据集整理合并而成,筛选出其中可靠性较高的样本,并将微表情的种类统一划分为消极、积极和惊讶3个大类,具体的样本分布情况如表1所示. 其中,Full表示全数据集MEGC 2019;CASME Ⅱ和SAMM数据集标注了峰值帧的位置;SMIC数据集没有提供峰值帧的信息,因此选择起始帧与结束帧的中间位置作为每个微表情样本的峰值帧.

表 1   MEGC 2019数据集的样本分布

Tab.1  Sample distribution of MEGC 2019 dataset

表情类别FullSMICCASME ⅡSAMM
消极250708892
积极109513226
惊讶83432515
总计442164145133

新窗口打开| 下载CSV


2.2. 实验环境及配置

实验在配置了Intel(R) Core(TM) i9-9900K CPU @ 3.60GHz和NVIDIA GeForce RTX 2080 Ti的硬件平台上进行,操作系统为Ubuntu 18.04 LTS,软件环境为Python 3.10、CUDA 12.0和PyTorch 1.12.1.

在训练阶段实施数据增广策略,具体操作包括:随机水平翻转,概率为0.5;随机旋转,最大旋转角度为10°;随机裁剪,长和宽均为224像素.

分类器和身份判别器均为2层的全连接网络,中间依次添加1层ReLU激活层和1层Dropout层;两者的损失函数均为交叉熵损失. 优化器使用AdamW,权重衰减率和动量分别设置为0.9和0.999,梯度范数裁剪的阈值取1. 主干网络、分类器和身份判别器的学习率分别为10−4、10−3和10−3,批量大小为32,训练轮次为200.

2.3. 评价方法及指标

为了防止模型在测试阶段借助身份特征进行微表情识别,采用留一被试(leave one subject out, LOSO)交叉验证方法单独测试每一个待测对象. 评价指标为未加权平均召回率 (unweighted average recall, UAR)和未加权F1分数(unweighted F1-score, UF1),计算公式如下:

$ \mathrm{UAR}=\dfrac{1}{C} \displaystyle{\sum}_i^C \operatorname{Recall}_i=\dfrac{1}{C} \displaystyle{\sum}_i^C \dfrac{\mathrm{TP}_i}{\mathrm{TP}_i+\mathrm{FN}_i}, $

$ \mathrm{UF} 1=\dfrac{1}{C} \displaystyle{\sum}_i^C \mathrm{F1}_i=\dfrac{1}{C} \displaystyle{\sum}_i^C \dfrac{2 \mathrm{TP}_i}{2 \mathrm{TP}_i+\mathrm{FP}_i+\mathrm{FN}_i} . $

式中:$C$为类别总数,${\mathrm{TP}}_i$${\mathrm{FP}}_i$${\mathrm{FN}}_i$${\mathrm{TN}}_i$分别为第$i$ 类的真正例、假正例、假负例和真负例数目. UAR和UF1值越高,说明微表情识别模型的效果越好.

2.4. 现有方法横向对比实验

所提方法与现有微表情识别方法的对比结果如表2图5所示,对比方法包括经典方法、近年新方法及最佳方法. 表2中最优结果以粗体显示,次优结果用下划线标出;图5中Full UF1为各模型在全数据集MEGC 2019上的UF1值. 可以看到,MiER-CvT在MEGC 2019数据集上取得了较好的微表情识别效果,UF1和UAR值均超过了0.9. 在使用基于身份域的对抗域适应方法后,其在MEGC 2019数据集上的UF1和UAR值分别提高了0.0069和0.0090. 对于SMIC数据集部分,MiER-CvT的UF1和UAR值略低于MiMaNet和MTMNet,但是仍然显著高于其他现有算法;对于CASME Ⅱ和SAMM数据集2个部分,MiER-CvT的表现显著优于所有的对比方法. 这展现了MiER-CvT在微表情识别任务上出色的综合能力.

表 2   所提方法与现有方法的性能对比

Tab.2  Performance comparison of proposed method and existing methods

方法FullSMICCASME ⅡSAMM
UF1UARUF1UARUF1UARUF1UAR
LBP-TOP[3]0.58820.57850.20000.52800.70260.74290.39540.4102
Bi-WOOF[7]0.62960.62270.57270.58290.78050.80260.52110.5139
STSTNet[1]0.73530.76050.68010.70130.83820.86860.65880.6810
IncepTR[23]0.75300.74600.65500.65000.91100.89600.69100.6940
EDSMISEViTNet[27]0.75870.77360.73720.71390.85210.84610.72160.6781
SLSTT-LSTM[18]0.81600.79000.74000.72000.90100.88500.71500.6430
BDCNN[15]0.85090.85000.78590.78690.95010.95160.81860.7994
ViT-16/B[21]0.85120.83970.80440.79940.92200.91370.81420.7847
HTNet[22]0.86030.84750.80490.79050.95320.95160.81310.8124
MTMNet[10]0.86400.85700.86400.86100.87000.87200.82500.8190
ResNet-18[12]0.86960.87240.79180.79820.95940.96120.88200.8549
MiMaNet[11]0.88300.87600.87300.86700.88100.88100.89600.8840
Micron-BERT[29]0.89030.8842
MiER-CvT0.91020.91020.85120.85470.98580.98580.90800.8936
MiER-CvT+身份域0.91710.91920.85460.86010.99280.98960.91770.9064

新窗口打开| 下载CSV


图 5

图 5   所提方法与现有方法在MEGC 2019数据集上的性能对比

Fig.5   Performance comparison of proposed method and existing methods on MEGC 2019 dataset


表3进一步比较了MiER-CvT与常用模型及轻量级微表情识别模型EDSMISEViTNet的参数量、计算量和在MEGC 2019数据集上的UF1值. 其中,Np为参数量,FLOPs为每秒浮点运算次数. 可以看到,MiER-CvT是轻量级模型,其参数量分别为ViT-16/B的9%和ResNet-18的64%,计算量分别为ViT-16/B的0.6%和ResNet-18的6%. 尽管MiER-CvT的参数量略大于EDSMISEViTNet,但是其识别能力远超后者. 因此,MiER-CvT在复杂度较低的同时具有较高的识别精度,能够在运行条件受限的情况下高效地识别微表情.

表 3   模型复杂度及性能对比

Tab.3  Comparison of model complexity and performance

模型Np/MFLOPs/GFull UF1
ViT-16/B[21]86.617.60.8512
ResNet-18[12]11.71.80.8696
EDSMISEViTNet[27]3.90.7587
MiER-CvT7.50.10.9102

新窗口打开| 下载CSV


2.5. 网络结构对比实验

设计并对比具有不同网络结构的模型,在MEGC 2019数据集上的UF1和UAR值如表4所示. 可以看出,得益于多阶段卷积嵌入层在特征富集和尺度缩小方面的设计,三阶段模型的识别效果明显比单阶段和双阶段模型更好. 此外,表4中第9行的模型效果远不如第1行,说明大步长的大卷积核在增强模型的微表情识别能力中起到了重要作用. 然而,卷积Transformer层数的增加几乎不会提高模型对微表情的识别能力,甚至会导致能力的衰退,且增大后2个阶段性大模块的嵌入维度只会略微提高微表情的识别效果. 因此,综合考虑模型的准确度和复杂度,将表4中第1行的配置作为MiER-CvT的网络结构.

表 4   不同网络结构的对比实验结果

Tab.4  Comparative experimental results of different network structures

模型序号模型类型卷积嵌入层注意力头数Transformer层数Full
$K_i^{{\mathrm{e}}}$$S_i^{{\mathrm{e}}}$$P_i^{{\mathrm{e}}}$${C_i}$UF1UAR
1基准三阶段模型MiER-CvT32, 5, 316, 3, 18, 0, 064, 192, 3841, 3, 61, 2, 30.907 10.906 2
2不同层数的三阶段模型32, 5, 316, 3, 18, 0, 064, 192, 3841, 3, 61, 2, 40.905 10.906 6
332, 5, 316, 3, 18, 0, 064, 192, 3841, 3, 61, 2, 50.906 90.905 8
432, 5, 316, 3, 18, 0, 064, 192, 3841, 3, 61, 3, 30.902 60.907 0
532, 5, 316, 3, 18, 0, 064, 192, 3841, 3, 61, 3, 40.906 00.901 8
632, 5, 316, 3, 18, 0, 064, 192, 3841, 3, 62, 2, 30.899 00.900 5
7不同嵌入维度的三阶段模型32, 5, 316, 3, 18, 0, 064, 192, 7681, 3, 121, 2, 30.903 30.904 9
832, 5, 316, 3, 18, 0, 064, 384, 7681, 6, 121, 2, 30.907 40.909 3
9常规卷积三阶段模型7, 3, 34, 2, 22, 1, 164, 192, 3841, 3, 61, 2, 30.844 30.847 0
10双阶段模型32, 516, 38, 064, 1921, 31, 20.892 70.894 0
11单阶段模型3216864110.768 20.752 6

新窗口打开| 下载CSV


2.6. 消融实验

为了验证峰值帧光流信息、卷积Transformer模块和SeqSoftmax层的有效性,进行一系列消融实验,结果如表56所示.

表 5   不同模型输入的对比实验结果

Tab.5  Comparative experimental results of different model inputs

模型输入类型时间帧FullSMICCASME ⅡSAMM
UF1UARUF1UARUF1UARUF1UAR
RGB图像峰值帧0.761 90.758 10.648 70.647 00.903 40.893 60.743 50.727 4
光流峰值帧0.887 00.885 40.820 70.822 70.965 10.962 00.888 90.873 5
光流+光应变均匀4帧0.841 10.831 70.803 60.804 70.832 40.804 40.879 30.871 6
均匀2帧0.853 70.857 50.825 20.833 30.845 70.850 00.890 60.867 8
峰值帧0.910 20.910 20.851 20.854 70.985 80.985 80.908 00.893 6

新窗口打开| 下载CSV


图 6

图 6   所提方法在不同数据集上的的混淆矩阵

Fig.6   Confusion matrices of proposed method on different datasets


表5可知,使用光流信息识别微表情的效果远好于使用RGB图像. 其中,在MEGC 2019数据集上使用“光流+光应变”特征的UF1值比使用光流和RGB图像分别高了0.0232和0.1483. 在此基础上,进一步对比不同帧数的模型输入. 其中,“均匀2帧”表示使用峰值帧和结束帧,“均匀4帧”表示使用峰值帧、结束帧、峰值帧与起始帧的中间帧以及峰值帧与结束帧的中间帧. 实验结果表明,随着输入帧数的增加,模型在各个数据集上的表现都出现了不同程度的下降,这可能是因为更多的帧数引入了额外的噪声,而在微表情样本有限的情况下,峰值帧足以提供大量的可辨信息.

表6展示了不同模块对模型效果的影响. 可以看到,在3种不同的注意力机制映射方式中,内嵌有BN的深度可分离卷积映射(InnerBN_DWConv)的效果最好,其次是“卷积+BN”映射(Conv_BN),最后是线性全连接层映射(Linear),其在MEGC 2019数据集上的UF1值比前两者分别低了0.02320.0210,充分体现了卷积操作在处理视觉任务上的优势. 内嵌有BN的深度可分离卷积映射的参数量虽然比“卷积+BN”映射少,但是使模型具有更好的整体效果,同时实现了复杂度的降低和识别能力的提升. 此外,在使用SeqSoftmax层后,模型的各项指标值都有所提高,证明该模块有助于微表情识别. 其中,SeqSoftmax-g能够显著增强模型在SAMM数据集上的识别效果;而SeqSoftmax-x能够增强模型在全数据集以及3个子集上的识别效果.

表 6   模型中各模块的消融实验结果

Tab.6  Ablation experimental results of each module in model

模型序号注意力映射
方式
分类器
输入
FullSMICCASME ⅡSAMM
UF1UARUF1UARUF1UARUF1UAR
1Linearclass token0.883 90.882 90.818 90.820 80.957 40.957 40.882 80.867 8
2Conv_BNclass token0.904 90.905 30.842 00.848 20.978 50.975 40.903 00.874 8
3InnerBN_DWConvclass token0.907 10.906 20.848 50.852 90.978 90.982 00.903 10.871 4
4InnerBN_DWConvSeqSoftmax-g0.909 80.909 80.846 60.851 70.978 00.968 80.921 20.915 8
5InnerBN_DWConvSeqSoftmax-x0.910 20.910 20.851 20.854 70.985 80.985 80.908 00.893 6

新窗口打开| 下载CSV


2.7. 混淆矩阵分析

所提方法在不同数据集上的混淆矩阵如图6所示,其中R为召回率. 尽管消极类别的样本数量比积极类别和惊讶类别都多,但是无论是在MEGC 2019数据集还是在SMIC、CASME Ⅱ和SAMM这3个子集中,每种微表情都能被较好地识别,说明所提方法能够在一定程度上缓解样本分布不均匀的问题. 其中,其在CASME Ⅱ数据集上的表现最好,对于消极类别和惊讶类别的召回率达到了1.00,对积极类别的召回率也接近于1.00,可能是因为CASME Ⅱ数据集剔除了非感情的动作,减少了无关因素的干扰;在SMIC数据集上的表现最差,3种微表情的召回率都不超过0.90,可能是因为SMIC数据集中的样本没有标注峰值帧,所以无法提取出最有效的微表情特征.

2.8. 识别结果可视化分析

为了更直观地展现方法的有效性,借助XGrad-CAM方法[41]来可视化所提方法在识别不同微表情时的注意力分布,部分样例如图7所示. 可以看到,所提方法较为准确地捕捉到了微表情的变化,其关注重点与样本的运动单元标签基本保持一致. 其中,图7(a)的消极微表情与面部动作编码系统[42]中下唇的向上顶(AU17)强相关;图7(d)的消极微表情与鼻子的收缩提起(AU9)和上嘴唇的抬起(AU10)强相关;图7(g)的消极微表情与眼睛的收缩(AU7)强相关;图7(b)的积极微表情与嘴角的上扬(AU12)强相关;图7(e)的积极微表情与脸颊的抬起(AU6)和嘴角的上扬(AU12)强相关;图7(h)的积极微表情与嘴角的上扬(AU12)强相关;图7(c)的惊讶微表情与外部眉毛的抬起(AU2)强相关;图7(f)的惊讶微表情与左侧内、外部眉毛的抬起(AU1、AU2)强相关;图7(i)的惊讶微表情与上眼皮的抬起(AU5)强相关.

图 7

图 7   所提方法的注意力可视化结果

Fig.7   Attention visualization results of proposed method


3. 结 语

不同于传统的图像识别任务,微表情识别存在持续时间短、动作强度低和样本量较少等问题. 简单的方法难以准确区分微表情的种类,而复杂方法大多具有内存占用高和运行速度慢的缺点. 因此,提出基于光流和卷积视觉Transformer的轻量级微表情识别方法,首先使用峰值帧的光流和光应变来提取微表情的运动特征,再引入基于身份域的对抗域适应方法进一步分离微表情特征和身份特征,最后由多阶段的CNN-Transformer混合模型MiER-CvT识别微表情种类,通过卷积嵌入层、卷积Transformer模块和SeqSoftmax层加强模型感知和分析微表情的能力. 一系列对比实验和可视化实验结果验证了所提方法的有效性,其在识别效果和运行成本等方面均具有明显的优势. 未来将对微表情的检测及峰值帧定位任务开展深入研究,探索并优化起始帧和峰值帧等关键位置的自动化获取技术,以进一步提高该方法在实际应用中的性能.

参考文献

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

[本文引用: 4]

PORTER S, TEN BRINKE L

Reading between the lies: identifying concealed and falsified emotions in universal facial expressions

[J]. Psychological Science, 2008, 19 (5): 508- 514

DOI:10.1111/j.1467-9280.2008.02116.x      [本文引用: 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      [本文引用: 2]

OJALA T, PIETIKAINEN M, MAENPAA T

Multiresolution gray-scale and rotation invariant texture classification with local binary patterns

[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2002, 24 (7): 971- 987

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

CHAUDHRY R, RAVICHANDRAN A, HAGER G, et al. Histograms of oriented optical flow and Binet-Cauchy kernels on nonlinear dynamical systems for the recognition of human actions [C]// Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Miami: IEEE, 2009: 1932–1939.

[本文引用: 1]

LIU Y, ZHANG J, YAN W, et al

A main directional mean optical flow feature for spontaneous micro-expression recognition

[J]. IEEE Transactions on Affective Computing, 2016, 7 (4): 299- 310

DOI:10.1109/TAFFC.2015.2485205      [本文引用: 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      [本文引用: 2]

VASWANI A, SHAZEER N, PARMAR N, et al. Attention is all you need [C]// Proceedings of the 31st International Conference on Neural Information Processing Systems. Long Beach: Curran Associates Inc, 2017: 6000–6010.

[本文引用: 1]

WANG C, PENG M, BI T, et al

Micro-attention for micro-expression recognition

[J]. Neurocomputing, 2020, 410: 354- 362

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

XIA B, WANG W, WANG S, et al. Learning from macro-expression: a micro-expression recognition framework [C]// Proceedings of the 28th ACM International Conference on Multimedia. Seattle: ACM, 2020: 2936–2944.

[本文引用: 2]

XIA B, WANG S. Micro-expression recognition enhanced by macro-expression from spatial-temporal domain [C]// Proceedings of the 30th International Joint Conference on Artificial Intelligence. Montreal: IJCAI, 2021: 1186–1193.

[本文引用: 2]

HE K, ZHANG X, REN S, et al. Deep residual learning for image recognition [C]// Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas: IEEE, 2016: 770–778.

[本文引用: 3]

GAN Y S, LIONG S T, YAU W, 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      [本文引用: 1]

KHOR H Q, SEE J, LIONG S T, et al. Dual-stream shallow networks for facial micro-expression recognition [C]// Proceedings of the IEEE International Conference on Image Processing. Taipei: IEEE, 2019: 36–40.

[本文引用: 1]

CHEN B, LIU K, XU Y, et al

Block division convolutional network with implicit deep features augmentation for micro-expression recognition

[J]. IEEE Transactions on Multimedia, 2023, 25: 1345- 1358

DOI:10.1109/TMM.2022.3141616      [本文引用: 2]

DOSOVITSKIY A, FISCHER P, ILG E, et al. FlowNet: learning optical flow with convolutional networks [C]// Proceedings of the IEEE International Conference on Computer Vision. Santiago: IEEE, 2016: 2758–2766.

[本文引用: 1]

梁岩, 黄润才, 卢士铖

基于改进3D ResNet18的多模态微表情识别

[J]. 计算机应用研究, 2025, 42 (3): 903- 910

DOI:10.19734/j.issn.1001-3695.2024.04.0216      [本文引用: 1]

LIANG Yan, HUANG Runcai, LU Shicheng

Multimodal micro-expression recognition based on improved 3D ResNet18

[J]. Application Research of Computers, 2025, 42 (3): 903- 910

DOI:10.19734/j.issn.1001-3695.2024.04.0216      [本文引用: 1]

ZHANG L, HONG X, ARANDJELOVIĆ O, et al

Short and long range relation based spatio-temporal Transformer for micro-expression recognition

[J]. IEEE Transactions on Affective Computing, 2022, 13 (4): 1973- 1985

DOI:10.1109/TAFFC.2022.3213509      [本文引用: 2]

HOCHREITER S, SCHMIDHUBER J

Long short-term memory

[J]. Neural Computation, 1997, 9 (8): 1735- 1780

DOI:10.1162/neco.1997.9.8.1735      [本文引用: 1]

FAN Y, JIA M, ZHANG Y, et al. Micro-expression recognition using pre-trained model and Transformer [C]// Proceedings of the IEEE 4th International Conference on Civil Aviation Safety and Information Technology. Dali: IEEE, 2022: 1404–1408.

[本文引用: 1]

DOSOVITSKIY A, BEYER L, KOLESNIKOV A, et al. An image is worth 16×16 words: Transformers for image recognition at scale [EB/OL]. (2021-06-03) [2025-08-05]. https://arxiv.org/abs/2010.11929.

[本文引用: 3]

WANG Z, ZHANG K, LUO W, et al

HTNet for micro-expression recognition

[J]. Neurocomputing, 2024, 602: 128196

DOI:10.1016/j.neucom.2024.128196      [本文引用: 2]

ZHOU H, HUANG S, XU Y

IncepTR: micro-expression recognition integrating inception-CBAM and vision Transformer

[J]. Multimedia Systems, 2023, 29 (6): 3863- 3876

DOI:10.1007/s00530-023-01164-0      [本文引用: 2]

WOO S, PARK J, LEE J Y, et al: CBAM: convolutional block attention module [C]// Proceedings of the European Conference on Computer Vision. Munich: Springer, 2018: 3–19.

[本文引用: 1]

SZEGEDY C, LIU W, JIA Y, et al. Going deeper with convolutions [C]// Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Boston: IEEE, 2015: 1–9.

[本文引用: 1]

XUE F, WANG Q, GUO G. TransFER: learning relation-aware facial expression representations with Transformers [C]// Proceedings of the IEEE/CVF International Conference on Computer Vision. Montreal: IEEE, 2021: 3581–3590.

[本文引用: 1]

张波, 武瑀繁

基于双分支轻量化网络的微表情识别算法

[J]. 激光与光电子学进展, 2024, 61 (14): 1437001

[本文引用: 3]

ZHANG Bo, WU Yufan

Microexpression recognition algorithm based on a two-branch lightweight network

[J]. Laser & Optoelectronics Progress, 2024, 61 (14): 1437001

[本文引用: 3]

SANDLER M, HOWARD A, ZHU M, et al. MobileNetV2: inverted residuals and linear bottlenecks [C]// Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. Salt Lake City: IEEE, 2018: 4510–4520.

[本文引用: 1]

NGUYEN X, DUONG C, LI X, et al. Micron-BERT: BERT-based facial micro-expression recognition [C]// Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. Vancouver: IEEE, 2023: 1482–1492.

[本文引用: 2]

BAO H, DONG L, PIAO S, et al. BEiT: BERT pre-training of image Transformers [EB/OL]. (2022-09-03) [2025-08-05]. https://arxiv.org/abs/2106.08254.

[本文引用: 1]

MITCHELL T M. The need for biases in learning generalizations [R]. New Jersey: Rutgers University, 1980.

[本文引用: 1]

WU H, XIAO B, CODELLA N, et al. CvT: introducing convolutions to vision Transformers [C]// Proceedings of the IEEE/CVF International Conference on Computer Vision. Montreal: IEEE, 2021: 22–31.

[本文引用: 1]

SHREVE M, GODAVARTHY S, GOLDGOF D, et al. Macro- and micro-expression spotting in long videos using spatio-temporal strain [C]// Proceedings of the IEEE International Conference on Automatic Face & Gesture Recognition. Santa Barbara: IEEE, 2011: 51–56.

[本文引用: 1]

安晶晶, 刘高平, 朱佳宁

Farneback光流法在短临预报中的应用

[J]. 软件, 2018, 39 (10): 18- 25

DOI:10.3969/j.issn.1003-6970.2018.10.005      [本文引用: 1]

AN Jingjing, LIU Gaoping, ZHU Jianing

Application of farneback optical flow method in nowcasting

[J]. Computer Engineering & Software, 2018, 39 (10): 18- 25

DOI:10.3969/j.issn.1003-6970.2018.10.005      [本文引用: 1]

GANIN Y, LEMPITSKY V. Unsupervised domain adaptation by backpropagation [C]// Proceedings of the International Conference on Machine Learning. Lille: JMLR, 2015: 1180–1189.

[本文引用: 1]

IOFFE S, SZEGEDY C. Batch normalization: accelerating deep network training by reducing internal covariate shift [C]// Proceedings of the International Conference on Machine Learning. Lille: JMLR, 2015: 448–456.

[本文引用: 1]

SIFRE L, MALLAT S. Rigid-motion scattering for texture classification [EB/OL]. (2014-03-07) [2025-08-05]. https://arxiv.org/abs/1403.1687.

[本文引用: 1]

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

[本文引用: 1]

YAN W, LI X, WANG S, et al

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

[J]. PLoS One, 2014, 9 (1): e86041

DOI:10.1371/journal.pone.0086041      [本文引用: 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]

FU R, HU Q, DONG X, et al. Axiom-based Grad-CAM: towards accurate visualization and explanation of CNNs [C]// Proceedings of the British Machine Vision Conference. [S.l.]: BMVA, 2020: 146.

[本文引用: 1]

ROSENBERG E L. Introduction: the study of spontaneous facial expressions in psychology [M]// What the face reveals: basic and applied studies of spontaneous expression using the facial action coding system (FACS) (2nd edition). New York: Oxford University Press, 2005: 3–18.

[本文引用: 1]

/