基于优化YOLOv7⁃Tiny的表情识别算法

常星花 ,  王建荣

测试技术学报 ›› 2025, Vol. 39 ›› Issue (02) : 113 -120.

PDF (2230KB)
测试技术学报 ›› 2025, Vol. 39 ›› Issue (02) : 113 -120. DOI: 10.62756/csjs.1671-7449.2025017
目标检测与识别技术专栏

基于优化YOLOv7⁃Tiny的表情识别算法

作者信息 +

Expression Recognition Algorithm Based on Optimized YOLOv7-Tiny

Author information +
文章历史 +
PDF (2283K)

摘要

表情识别不仅能够提升人机交互体验, 推动情感计算的发展, 还可以辅助心理健康评估和治疗, 提升社会安全和监控效率。为了提高表情识别的检测平均精度, 提出了一种基于优化YOLOv7-tiny的表情识别算法。首先, 将YOLOv7-tiny中原有的激活函数替换为Mish函数, 提高了模型的优化能力; 在YOLOv7-tiny的主干网络上再增加CA注意力机制, 提高了对目标感兴趣区域的注意, 增加了检测的平均精度; 最后, 将Neck层的上采样部分替换为轻量级上采样算子CARAFE, 提高了特征融合能力。实验结果表明, 优化后算法的检测效果有了明显的提升, 与原始YOLOv7-tiny相比, 模型的mAP@0.5提高了1.6百分点, 达到88.6%, mAP@0.5:0.95提高了1.3百分点, 达到64%; 图片检测速度达到每张图片5.0 ms, 而且模型保持了轻量化。

Abstract

Expression recognition can not only improve human-computer interaction experience and promote the development of emotional computing, but also assist in mental health assessment and treatment, and improve social security and monitoring efficiency. To improve the detection average accuracy of expression recognition, this paper proposes an expression recognition algorithm based on improved YOLOv7-tiny. Firstly, the original activation function of YOLOv7-tiny is replaced with the Mish function, which improves the optimization ability of the model. Furthermore, the CA attention mechanism is added to the backbone network of YOLOv7-tiny to improve the attention to the target area of interest and increase the average accuracy of detection. Finally, the upsampling part of the Neck layer is replaced by the lightweight upsampling operator CARAFE to improve the feature fusion capability. Experimental results show that the detection effect of the improved detection algorithm is significantly improved. Compared with the original YOLOv7-tiny, the detection effect of the enhanced detection algorithm is increased by 1.6 percent point to 88.6%, and that of mAP0.5:0.95 is increased by 1.3 percent point to 64%. Image detection speed reaches 5.0 ms per image and the model remains lightweight.

Graphical abstract

关键词

目标检测 / 表情识别 / YOLOv7-tiny / 注意力机制 / Mish函数 / CARAFE算子

Key words

object detection / expression recognition / YOLOv7-tiny / attention mechanism / Mish function / CARAFE operator

引用本文

引用格式 ▾
常星花,王建荣. 基于优化YOLOv7⁃Tiny的表情识别算法[J]. 测试技术学报, 2025, 39(02): 113-120 DOI:10.62756/csjs.1671-7449.2025017

登录浏览全文

4963

注册一个新账户 忘记密码

0 引 言

表情是识别人情绪的重要手段, 准确的表情识别更加有利于对人的行为进行判断[1]。近年来, 随着计算机技术的进步与神经网络算法的发展, 表情识别被广泛地应用于人机交互、 自动驾驶、 服务机器人、 心理学与医疗等领域[2]。因此, 表情识别已成为当前研究的热点问题之一。加快表情识别的检测速度, 并且提高识别的准确率是表情识别研究的重要内容。

传统的表情识别方法, 如局部二值模式(LBP)[3], 尺度不变特征变换(SIFT)[4]和定向梯度直方图(HOG)[5]等能够提取表情的浅层特征, 而无法提取深层的语义信息。之后深度学习技术为表情识别带来了新的发展, 卷积神经网络(CNN)成为热门算法之一。Liao等[6]提出了RCL-Net算法, 将ResNet残差网络与注意力机制和局部二值特征(LBP)相融合, 主要应用于提取面部表情的局部细节特征信息, 提高了模型的识别准确率。Zhang等[7]提出了一种基于优化残差神经网络的新型面部表情识别算法, 使用残差神经网络提取深层特征, 引入Mish激活函数和inception模块, 以在相同感受野下获得更丰富的特征信息, 提高了网络性能。YOLO系列作为目标识别的重要算法, 被应用在众多领域。白佳乐等[8]在YOLOv3算法的基础上引入了Res2Net多尺度模块, 有效增加了特征层的感受野范围, 增强了特征提取能力。郭紫嫣等[9]针对基于特征提取的手势识别算法准确率低和速度慢的问题, 提出了一种基于改进YOLOv4的手势交互算法。Indolia等[10]提出使用自注意力和数据增强的 FER 深度学习框架, 解决了类内变异和类间相似性问题。Zhong等[11]将注意力机制引入到YOLOv5的主干网络中, 提高了对面部表情的识别准确率。Zhang等[12]通过缩减YOLOv4主干网的深度, 优化了CIOU损失函数, 在面部表情公开数据集上提高了识别准确率。Bie等[13]采用特征增强的思想对YOLOv5进行优化, 使网络能高效地提取和融合特征, 提高课堂场景下的小人脸检测准确率。

综上所述, 为了提高表情识别的准确率, 并且保持较快的检测速度与维持模型的轻量化, 本文提出了一种优化YOLOv7-tiny[14]的表情检测算法。将YOLOv7-tiny的激活函数替换为Mish激活函数[15], 丰富了特征提取, 且避免了过拟合; 在主干网中加入CA注意力机制[16]模块, 加强了对面部表情的关注, 提高了特征提取能力; 在Neck层加入轻量级通用上采样算子CARAFE[17], 提高了对特征图中信息的提取能力。优化后的算法在自制数据集上的表现性能良好, 提高了检测平均精度, 保持了模型轻量化。

1 YOLOv7⁃tiny

YOLOv7-tiny是YOLOv7的轻量化版本, 拥有更少的参数量和更快的检测速度, 其主要由三部分构成[18], 如图 1 所示。主干网络(backbone)为特征提取网络, 由标准卷积块(Conv+BN+LeakyReLU)、 MPConv模块和ELAN模块构成, ELAN主要由标准卷积块concat后构成; Neck层为特征融合层, 采用PANet网路结构将底层特征与高层语义信息相结合, 对特征信息进行了充分融合, 实现了多尺度学习; Head层为输出层, 使用IDetect检测头引入隐式表征策略来细化预测结果[19-20]。在实际应用中, YOLOv7-tiny表现出了出色的检测速度和精度。与其他目标检测器相比, YOLOv7-tiny在保持较高精度的同时, 具有更快的运行速度, 这使得YOLOv7-tiny在实时目标检测、 嵌入式设备和移动设备上具有广泛的应用前景。

2 YOLOv7⁃tiny算法的优化

受到YOLOv7-tiny的启发, 本文提出了一种优化的YOLOv7-tiny检测算法, 具体来说, 就是用Mish激活函数替换原有的激活函数, 在丰富提取特征的同时可以避免过拟合的发生。加入CA注意力机制提升特征提取能力, 在Neck层加入轻量级通用上采样算子CARAFE提高对特征图中信息的提取能力。

2.1 Mish激活函数

激活函数用来保证输入和输出之间的非线性映射, 提高网络的表达能力。Mish激活函数是一种自正则化非单调激活函数[21], 如图 2 所示。

文中将YOLOv7-tiny原始的激活函数Leaky ReLU替换为Mish激活函数。Mish激活函数无上界而有下界, 既避免了梯度的饱和又进行了正则化[22]。且相较于Leaky ReLU曲线, Mish激活函数更加光滑, 具有良好的泛化能力和优化能力。Leaky ReLU为单调函数, 而Mish为非单调函数, 这种结构有助于保持负值, 稳定梯度流。

Mish激活函数的表达式为

f(x)Mish=x*tanh(ln(1+ex))。

Leaky ReLU激活函数表达式为

f(x)leaky ReLU=x,     if x>0,λx,  if x≤0。

2.2 CA注意力机制模块

注意力机制模拟了人眼对感兴趣区域的关注, 在神经网络中加入注意力能够更加关注图片中有价值的信息, 忽略无关信息, 提高特征提取能力。现有注意力机制经常采用全局最大池化或者全局平均池化, 容易丢失特征图的空间信息。而CA(Coordinate Attention)[23]注意力机制通过将位置信息嵌入到通道注意力机制中, 使网络关注到更大的区域, 同时避免了较多的计算量, 如图 3 所示。CA注意力机制能够沿着两个空间方向聚合特征, 分别定位准确的位置信息和捕获远程依赖关系。所以, CA注意力机制能够全面关注特征层的空间信息和通道信息。作为轻量级的注意力机制, CA可以轻松地插入到网络结构的各个部分, 而且不会增加过多的计算量和参数量[24]。

具体过程为, 输入特征图X, 使用(H,1)和(1,W) 2个池化核, 沿着宽度和高度方向进行平均池化。表达式为

zch(h)=1W∑0≤i≤Wxc(h,i),
zcw(w)=1H∑0≤i≤Hxc(j,w),

式中: c为通道; h为高度; w为宽度。接下来将两个特征图拼接并进行卷积变换, 表达式为

f=∂(F1([zh,zw])),

式中: F1为1×1卷积函数; [⋅,⋅]为沿空间维度的拼接; ∂为非线性激活函数; f为中间特征图。将f沿着垂直和水平方向分解为fh和fw, 然后经过卷积变换, 最终得到输出y, 表达式为

gh=σ(Fh(fh)),
gw=σ(Fw(fw)),
yc(i,j)=xc(i,j)×gch(i)×gcw(j),

式中: σ为sigmoid 函数; g为注意力权重。

2.3 轻量级通用上采样算子CARAFE

YOLOv7-tiny使用上采样方式为最近邻插值, 然而这种方式仅采用像素之间的空间距离来进行上采样, 无法提取丰富的语义信息。CARAFE上采样算子在保证轻量化的同时也保持了较完整的特征信息。

CARAFE由两个模块构成, 分别为上采样核预测模块(Kernel Prediction Module)和特征重组模块(Content-aware Reassembly Module)。上采样核预测模块先通过通道压缩, 减小了特征图的通道数量, 减低了后续的计算量; 然后通过特征编码扩大感受野, 提高对特征信息的利用; 最后利用softmax函数进行归一化处理, 使上采样核权重参数和为1[25]。特征重组是将输出特征图的每个位置映射回输入特征, 取出以其为中心的kup×kup区域, 与这点预测的上采样核作点积, 得到最终的输出值。所获得的特征图更能获得局部区域相关点的信息[26]。上采样算子CARAFE在PANet网络结构中的位置如图 4 所示。

2.4 优化后的YOLOv7⁃tiny

优化后的YOLOv7-tiny网络结构如图 5 所示。

将Leaky ReLU激活函数替换为Mish, 增强了网络的特征提取能力; 在主干网中增加2个CA注意力机制模块, 提高了对表情信息的关注能力; 将上采样算法最近邻插值替换轻量级上采样算子CARAFE, 增强了特征融合能力。

3 实验结果与数据分析

3.1 数据集

本文以数据集ExpW中的图片为基础, 对表情进行了重新分类, 并且剔除了其中不相关的图片。总共分为5类面部表情, 分别为happy(高兴), sad(伤心), surprised(惊讶), angry(生气), neutral(中立)。面部表情图片共有5 969张。使用LabelImg图片标注工具, 标注为VOC格式进行训练。其中训练集4 297张图片, 验证集1 075张图片, 其余为测试集图片。

3.2 实验环境与超参数设置

实验使用服务器的GPU为NVIDIA Quadro RTX8000, CPU为Intel(R) Xeon(R) Gold 6230R @ 2.10 GHz。使用的操作系统为Ubuntu20.04, 搭建的环境为python3.8, Pytorch1.9.0, CUDA10.2。YOLOv7-tiny参数设置如表 1 所示。

3.3 评价指标

为衡量优化后算法在自制数据集上的检测效果, 本文使用平均精度(mAP)、 FLOPs、 模型参数量、 每帧推理时间(t)作为评价指标。其中, mAP计算公式为

P=TPTP+FP,
R=TPTP+FN,
AP=∫01P(R)dR,
mAP=∑i=0nAPiN,

式中: P(Precision)为精确率; R(Recall)为召回率; i为类别数; TP表示正样本被预测为正类; FP表示负样本被预测为正类; FN表示正样本被预测为负类。mAP@0.5表示IOU阈值为0.5的mAP值, mAP@0.5: 0.95表示IOU阈值为0.5~0.95, 且步长为0.05的平均mAP值。FLOPs为浮点计算次数, 用来衡量计算量的复杂程度。每帧推理时间用来衡量模型检测速度。

3.4 消融实验

为了验证优化的有效性, 设计了消融实验进行对比, 如表 2 所示。其中, 实验A表示将原始网络中的LeakyReLU替换为Mish激活函数; 实验B表示将Neck层的最近邻插值替换为上采样算子CARAFE; 实验C表示在backbone层增添了CA注意力机制模块。消融实验对比结果如表 2 所示。

替换了Mish激活函数后, mAP@0.5相较于原始模型提升了0.8百分点, mAP@0.5:0.95提高了1百分点, 每帧推理时间略有下降。替换轻量级上采样算子CARAFE后, 模型的mAP@0.5提高了0.2百分点, 参数量相较于原始模型增加了0.13 M, 计算量增加了0.3 G。添加了CA注意力机制后, mAP@0.5提升了0.9百分点 , mAP@0.5:0.95提升了0.9百分点, 参数量仅比YOLOv7-tiny增加了0.01 M, 计算量大致相同。实验A, B, C模型的每帧推理时间都保持在5 ms以内, 与原始模型相似。最终优化的YOLOv7-tiny模型, mAP@0.5比原始模型提升了1.6百分点, mAP@0.5:0.95提升1.3百分点; 参数量为6.16 M且计算量为13.5 G, 分别提高了0.14 M和0.3 G; 每帧推理时间为5.0 ms。

综上所述, 优化后的模型在提高了检测平均精度的同时, 模型的复杂程度并没有较大的增加, 保持了模型的轻量化, 维持了较快的检测速度, 在数据集上检测效果表现良好。

3.5 对比实验

为进一步对YOLOv7-tiny优化前后的检测效果进行对比, 使用P-R曲线来更加直观地表现优化后算法的优越性, 如图 6 和图 7 所示。

由P-R曲线中的数据中可以看出每种检测类别的平均精度。其中, 优化后的happy类AP值达到84.4%, 比原始模型提高4.1百分点; neutral类的AP值为72.4%, 提高了2.8百分点; sad类的AP值为93.7%, 提高了0.5百分点; angry类的AP值为97.2%, 提高了1.4百分点; 而surprised类的AP值为95.3%, 降低了0.8百分点。除了surprised类, 其他4种表情类别检测效果均有提升。优化后YOLOv7-tiny的5种类别的mAP达到88.6%, 比原始模型提高了1.6百分点。

图 8 为YOLOv7-tiny检测算法优化前后, 5 种不同面部表情检测结果对比。从图中的置信度可以看出, 优化后的检测算法整体要高于原始算法, 说明优化后的YOLOv7-tiny检测效果更好, 进一步验证了优化算法的实用性。

使用相同的实验环境, 将优化后的YOLOv7-tiny算法与其他YOLO系列的算法进行实验对比, 结果如表 3 所示。YOLOv3-tiny的每帧推理时间达到2.2 ms, 检测速度最快; 但是模型参数量为8.67 M, 与优化后的YOLOv7-tiny相比, 参数量增加了2.65 M, 模型的复杂程度较高; mAP@0.5为85.7%, 低于优化的YOLOv7-tiny。YOLOv4-tiny参数量为6.15 M, 计算量为12.9 G, 其模型复杂程度低于优化后YOLOv7-tiny, 但mAP@0.5过低, 仅为12.9, 推理时间过长, 为7.1 ms。YOLOv5s的参数量为7.02 M, 计算量为15.8 G, 每帧推理时间为5.1 ms, mAP@0.5为81.8%, 整体检测效果低于优化的YOLOv7-tiny。

4 结 论

为了提高表情识别的检测精度, 并保持轻量化和一定的检测速度, 本文提出了一种优化的YOLOv7-tiny目标检测算法, 将原来的激活函数替换Mish激活函数, 可以在丰富提取特征的同时降低过拟合现象发生的风险。在主干网络中增加CA注意力机制, 加强了对面部表情的关注, 提高了特征提取能力。将Neck层中的上采样算法替换为轻量级CARAFE, 提高了对特征图中信息的提取能力。通过这些方法, 提高了神经网路的泛化能力, 增强了网络的特征提取能力, 减小了上采样过程中特征信息的损失。最终, 优化后的YOLOv7-tiny检测算法的mAP达到88.6%, 推理时间为5.0 ms, 计算量为13.5 G, 保证了轻量化与检测速度, 为后续的移动设备与嵌入式中的表情识别使用提供了可行性。

参考文献

[1]

LI S, DENG W. Deep facial expression recognition: a survey[J]. IEEE Transactions on Affective Computing, 2022, 13(3): 1195-1215.

[2]

SHARIFNEJAD M, SHAHBAHRAMI A, AKOUSHIDEH A, et al. Facial expression recognition using a combination of enhanced local binary pattern and pyramid histogram of oriented gradients features extraction[J]. IET Image Processing, 2021, 15(2): 468-478.

[3]

GUO C, LIANG J, ZHAN G, et al. Extended local binary patterns for efficient and robust spontaneous facial micro-expression recognition[J]. IEEE Access, 2019, 7: 174517-174530.

[4]

LOWE D G. Distinctive image features from scale-invariant keypoints[J]. International Journal of Computer Vision, 2004, 60(2): 91-110.

[5]

DALAL N, TRIGGS B. Histograms of oriented gradients for human detection[C]//2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'05), 2005: 886-893.

[6]

LIAO J, LIN Y, MA T, et al. Facial expression recognition methods in the wild based on fusion feature of attention mechanism and LBP[J]. Sensors, 2023, 23(9): 4204.

[7]

ZHANG W, ZHANG X, TANG Y. Facial expression recognition based on improved residual network[J]. IET Image Processing, 2023, 17(7): 2005-2014.

[8]

白佳乐, 樊永生. 基于多尺度的YOLOv3目标检测算法的改进[J]. 中北大学学报(自然科学版), 2022, 43(3): 229-230.

[9]

BAI Jiale, FAN Yongsheng. Improvement of YOLOv3 target detection algorithm based on multi-scale[J]. Journal of North University of China(Natual Science Edition), 2022, 42(3): 223-235. (in Chinese)

[10]

郭紫嫣, 韩慧妍, 何黎刚, 等. 基于改进的YOLOv4的手势识别算法及其应用[J]. 中北大学学报(自然科学版), 2021, 42(3): 229-231.

[11]

GUO Ziyan, HAN Huiyan, HE Ligang, et al. Gesture recognition algorithm and application based on improved YOLOv4[J]. Journal of North University of China(Natural Science Edition), 2021, 42(3): 229-231. (in Chinese)

[12]

INDOLIA S, NIGAM S, SINGH R. A framework for facial expression recognition using deep self-attention network[J]. Journal of Ambient Intelligence and Humanized Computing, 2023, 14(7): 9543-9562.

[13]

ZHONG H, HAN T, XIA W, et al. Research on real-time teachers’ facial expression recognition based on YOLOv5 and attention mechanisms[J]. EURASIP Journal on Advances in Signal Processing, 2023(1): 55.

[14]

ZHANG R, MA R. Facial expression recognition method based on PSA-YOLO network[J]. Frontiers in Neurorobotics, 2023, 16: 1057983.

[15]

BIE M, LIU Q, XU H, et al. FEMFER: feature enhancement for multi-faces expression recognition in classroom images[J]. Multimedia Tools and Applications, 2024, 83(2): 6183-6203.

[16]

WANG C Y, BOCHKOVSKIY A, LIAO H Y M. YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors[J/OL]. Computer Science: Computer Vision and Pattern Recognition, 2022. arXiv: 2207.02696v1.

[17]

MISRA D. Mish: a self regularized non-monotonic activation function[J/OL]. Computer Science: Machine Learning, 2020. arXiv: 1908.08681v3.

[18]

HOU Q, ZHOU D, FENG J. Coordinate attention for efficient mobile network design[C]//2021 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 2021: 13708-13717.

[19]

WANG J, CHEN K, XU R, et al. CARAFE: content-aware ReAssembly of FEatures[C]//2019 IEEE/CVF International Conference on Computer Vision (ICCV), 2019: 3007-3016.

[20]

LIU Y, WANG X. SAR ship detection based on improved YOLOv7-tiny[C]//2022 IEEE 8th International Conference on Computer and Communications (ICCC), 2022: 2166-2170.

[21]

YANG Z J, FENG H L, RUAN Y P, et al. Tea tree pest detection algorithm based on improved Yolov7-tiny[J]. Agriculture (Basel), 2023, 13(5): 1031.

[22]

齐向明, 董旭. 优化Yolov7-tiny的钢材表面缺陷检测算法[J]. 计算机工程与应用, 2023, 59(12): 176-183.

[23]

QI Xiangming, DONG Xu. Improved Yolov7-tiny algorithm for steel surface defectdetection[J]. Computer Engineering and Applications, 2023, 59(12): 176-183. (in Chinese)

[24]

KUMAR A, KALIA A, KALIA A. ETL-YOLO v4: a face mask detection algorithm in era of COVID-19 pandemic[J]. Optik, 2022, 259: 169051.

[25]

MUKHIDDINOV M, MUMINOV A, CHO J. Improved classification approach for fruits and vegetables freshness based on deep learning[J]. Sensors, 2022, 22(21): 8192.

[26]

张学立, 贾新春, 王美刚, 等. 安全帽与反光衣的轻量化检测: 优化YOLOv5s的算法[J]. 计算机工程与应, 2024, 60(1): 104-109.

[27]

ZHANG Xueli, JIA Xinchun, WANG Meigang, et al. Lightweight detection of helmets and reflective clothings: an improved YOLOv5s algorithm[J]. Computer Engineering and Applications, 2023, 60(1): 104-109. (in Chinese)

[28]

殷民, 贾新春, 张学立, 等. 优化YOLOv4-Tiny的面向售货柜损害行为人体检测[J]. 计算机工程与应用, 2024, 60(8): 234-241.

[29]

YIN Min, JIA Xinchun, ZHANG Xueli, et al. Human detection of damage behavior for vending cabinets based on improved YOLOv4-tiny[J]. Computer Engineering and Applications, 2023, 60(8): 234-241. (in Chinese)

[30]

陈范凯, 李士心. 优化YOLOV5的无人机目标检测算法[J]. 计算机工程与应用, 2023, 59(9): 198-206.

[31]

CHENG Fankai, LI Shixin. UAV target detection algorithm with improved YOLOV5[J]. Computer Engineering and Applications, 2023, 59(9): 198-206. (in Chinese)

[32]

WANG H, ZHANG S, ZHAO S, et al. Fast detection of cannibalism behavior of juvenile fish based on deep learning[J]. Computers and Electronics in Agriculture, 2022, 198: 107033.

基金资助

中国博士后科学基金资助项目(2021M692400)

山西省基础研究计划项目(202303021212360)

山西省高等学校科技创新计划项目(2023L379)

山西省高等学校科技创新平台项目(2022P016)

AI Summary AI Mindmap
PDF (2230KB)

843

访问

0

被引

详细

导航
相关文章

AI思维导图

/

〈 〉