Research on Video Personnel Emotion Recognition Based on Improved 3D-ResNet34 Model
Due to the variability of people’s emotions, facial expressions will change with the passage of time and the changes of emotions, which is particularly significant in video data. At this time, it is obviously not feasible to use the network model trained only on a single frame image to identify people’s moods in video data. Therefore, in order to solve the above problems, a method combining 3D-ResNet34, ConvLSTM and Transformer network model is proposed for human emotion recognition. Firstly, the video data set is preprocessed, the complete video data is divided into several continuous fragments, and the spatial features of the video fragments are extracted using 3D-ResNet34 network. Secondly, ConvLSTM modules are added to the network model to extract deeper temporal features from spatial features. Then, a self-designed Transformer module can be used to generate an attention distribution for each video clip, which can be used to weight and fuse each frame feature to obtain an attention feature representing the entire video clip. Finally, the extracted time dimension features and attention features are fused to form a new feature representation, which is sent to the Softmax layer for classification and recognition. Experiments show that the method designed in this paper achieves a good recognition accuracy.
Personnel Emotion Recognition
人员情绪识别作为一个涉及到模式识别、深度学习和机器视觉等多方面的研究课题,具有广泛的应用前景和重要的研究意义。目前,人员情绪识别技术已被应用于智能教学、智慧医疗、人机交互以及V2C等领域中。在V2C中,情绪识别技术能够分析并捕捉语音中的情感特征,有助于更准确地克隆出目标语音的音色,更能够模仿出目标语音中的情感表达。
目前,人员情绪识别分类的方法主要有基于机器学习加分类器的方法与基于深度学习的方法等
尽管上述研究所提出的视频人员情绪识别方法均获得了不错的效果,但仍然存在一些问题。通过对上述研究方法的综合分析可知,在提取视频数据空间特征的同时将时间维度特征考虑在内能够有效提高模型识别准确率,增强模型性能。因此,本文提出一种结合3D-ResNet34、ConvLSTM以及Transformer模块的网络模型用于视频人员情绪识别。
为解决卷积神经网络随着层数不断加深而出现的梯度消失和梯度爆炸等问题,微软研究院的何恺明等人在2015年提出了ResNet这一深度残差网络
ResNet34的整体网络结构如
Layer Number |
Layer Name |
Output Size |
Configuration |
Conv 1 |
112 × 112 |
7 × 7, 64, stride 2 |
|
Layer 1 |
Conv 2_x |
56 × 56 |
3 × 3 max pool, stride 2 |
[3 × 3, 64] × 6 |
|||
Layer 2 |
Conv 3_x |
28 × 28 |
[3 × 3, 128] × 8 |
Layer 2 |
Conv 4_x |
14 × 14 |
[3 × 3, 256] × 12 |
Layer 4 |
Conv 5_x |
7 × 7 |
[3 × 3, 512] × 6 |
1 × 1 |
Average pool, 1000-dfc, softmax |
3D-ResNet34是一种三维残差网络模型,是对ResNet34模型在处理视频数据等时空序列数据时的扩展。3D-ResNet34基于ResNet34模型,使用三维卷积(3D Convolution)与三维池化(3D Pooling),与传统的二维卷积与池化不同,三维卷积同时考虑了视频数据中的时间维度和空间维度,能够捕获视频数据中的时空信息,更适合处理视频等时空序列数据
(1)
式中,
表示第i层的第j特征图上在
位置的像素值,
表示前一层的第m个特征图处于
位置的权重,Hi代表三维卷积核的高度,Bi代表宽度,Ti代表时间维度,ReLU为激活函数,bij是卷积核的偏置。三维卷积操作的具体示意图如
在三维池化中,池化操作沿着时间维度、高度维度和宽度维度进行
3D-ResNet34网络模型同样由多个三维残差块堆叠而成,三维残差块示例如
3D-ResNet34主要应用于处理视频数据等时空序列数据,在视频分类、动作识别、行为分析等领域有着广泛的应用。它能够充分利用视频数据中的时空信息,提高网络对时空序列数据的建模能力和预测性能。
本文提出了一种结合3D-ResNet34、ConvLSTM以及Transformer模块的网络模型用于视频数据中的人员心情识别。模型架构示意图如
(1) 将完整的视频数据划分成若干个连续的片段,每个片段包含16帧图像。使用3D-ResNet34网络对视频片段进行空间特征学习,得到每个片段的空间特征表示 ,其中N表示片段的数量,d表示每个片段特征的维度,之后对片段特征进行归一化处理。
(2) 将视频片段的特征表示输入到ConvLSTM模块。ConvLSTM能够同时考虑空间和时间维度的特征,使用ConvLSTM模块提取视频数据中的时间维度特征。
(3) Transformer模块用于进一步处理视频数据的空间特征。通过使用多头自注意力机制让模型能够学习到每一帧图像在视频片段中的重要性或关注程度。对于每个视频片段,模型均生成一个注意力分布,用于加权融合各帧的特征,最终得到一个表示整个视频片段的注意力特征。通过注意力特征表示,模型可以更有效地捕捉视频片段中的关键信息,提高识别准确性。
(4) 对已经提取完成的时间维度特征与注意力特征进行特征融合,形成一个新的特征表示,并将融合后的特征表示送入全连接层。全连接层对输入的特征表示进行映射得到一个1 × 7维的向量,其中每个维度对应着一个视频片段的心情类别,向量的值为类别的预测分数,分数值最高的一类便作为视频中人员心情识别分类的最终结果。
对于视频数据,首先将视频转换为帧图像形式,之后使用基于卷积神经网络的方法对图像进行人脸检测,具体模型为MTCNN模型。MTCNN分别由P-Net (Proposal Network),R-Net (Refine Network)和O-Net (Output Network)三部分组成,其中P-Net负责生成候选人脸框,即对可能包含人脸的区域进行快速筛选;R-Net负责在候选框的基础上进行更准确的人脸检测和定位,同时进行人脸边界框的回归和人脸与非人脸的分类;O-Net负责进一步提高人脸检测的精度,同时执行更细粒度的关键点定位,例如眼睛、鼻子、嘴巴等。针对完整视频数据过长的问题,本文采用固定间隔采样法对完整视频数据进行处理。以一个固定的时间间隔来选取视频数据中的连续帧作为采样帧,连续的帧数定为16帧,根据每个视频的完整帧数来确定时间间隔。该方法能够简化数据处理流程,降低计算成本。
(1) 空间特征提取
本文采用改进之后的3D-ResNet34网络提取空间特征,空间特征主要包括人脸位置、面部表情变化以及眼睛、嘴巴等部位的形态信息等。首先将视频数据作为3D-ResNet34网络的输入,视频数据是一个包括时间维度,通道维度,高度维度以及宽度维度的四维张量。然后在3D-ResNet34网络中使用3D卷积操作对视频数据进行特征提取。3D-ResNet34网络中的每个残差块内部都包含多个3D卷积层、批量归一化层以及残差连接。在经过多个残差块的堆叠后,3D-ResNet34网络能够从视频数据中提取出一系列的特征映射,特征映射对应着视频中不同层次的空间特征。最终将特征映射汇总,形成视频数据中的空间特征表示。
(2) 时间维度特征提取
因视频数据中的时间维度信息能够让网络模型更好地理解和分析人的心情变化模式,提高心情识别的准确性。所以采用ConvLSTM模块从空间特征信息表示中提取更深层次的时间维度特征。
输入数据包括时间序列数据,每个时间步的输入数据维度为 ,其中T是时间步数,H和W是输入数据的高度和宽度,C是输入数据的通道数。在每个时间步t上,对输入数据进行卷积操作,提取空间特征,得到输出。将卷积操作得到的输出数据输入到LSTM单元中进行计算。给定LSTM单元有N个隐藏单元,输入数据的时间步数为T,则LSTM模块中的细胞单元处理序列数据的过程表示如下:
(2)
(3)
(4)
(5)
(6)
其中,xt是卷积操作的输出数据,ht是当前时间步的隐藏状态,ct是当前时间步的细胞状态,it、ft、ot分别是输入门、遗忘门和输出门,W和b是模型参数,σ是Sigmoid激活函数,tanh是双曲正切函数。将LSTM单元的输出ht作为当前时间步的输出,用于下一个时间步的计算。
(3) Transformer模块设计与注意力特征提取
本文在网络模型中设计添加的Transformer模块由一个Multi-Head Attention层、位置编码器以及一个FeedForward层组成,具体模块结构与特征提取流程如
(7)
(8)
(9)
其中,MHA为多头自注意力机制,LP表示线性映射,BN是归一化,Xl−1和Xl表示前一层的注意力矩阵和当前层的注意力矩阵,Zclass是最后输出的注意力特征。
首先对已经提取完成的时间维度特征与注意力特征进行特征融合,形成一个新的特征表示,并将融合后的特征表示送入全连接层。全连接层对输入的特征表示进行映射得到一个1 × 7维的向量,向量值表示类别的预测分数。全连接层的输出直接输入到Softmax层中进行最终的视频中人员心情分类。
本文所有的对比实验与消融实验均在同一平台下运行,具体如下:
硬件方面:CPU采用AMD Ryzen 7 6800H (基础频率为3.2 GHz),GPU采用NVIDIA GeForce RTX3060 (16 GB DDR5),硬盘为512 GB SSD。
软件方面:操作系统为Windows11家庭版,开发环境使用PyCharm2022,Python版本为3.9,深度学习框架为Tensorflow2.10,CUDA版本为11.7。
本文设计的网络模型在训练时,Batch_Size (批大小)为4,初始学习率为1 × 10−3,在训练过程中使用自适应矩估计优化器(Adam)进行自适应地调整学习率。Epoch为100。软硬件各参数如上。使用交叉验证方法,将Oulu-CASIA视频数据集平均分成10组,轮流将其中的9组作为训练集,剩余的1组作为测试集,最终的识别准确率为各测试集准确率的平均值。
本文主要在Oulu-CASIA视频数据集上进行验证对比。Oulu-CASIA数据集是一个用于人员心情识别研究的公开数据集,由芬兰奥卢大学和中国科学院自动化研究所合作创建。Oulu-CASIA数据集包含来自80名志愿者的4800个视频片段,涵盖六种基本人脸表情,包括高兴、难过、厌恶、惊讶、害怕和生气。数据集中的每个视频片段都经过了专业标注,标注内容包括人脸位置、情感类别等。为模拟真实生活中的各种情况,数据集中的视频片段是在不同的光照条件、面部遮挡情况以及姿势变化下进行拍摄的
本研究采用准确率(Accuracy)作为评价指标来评估模型整体精度。利用测试集验证模型性能,并生成混淆矩阵(Confusion Matrix),比较分类结果与实际测得值之间的差异,进而分析神经网络模型优缺点。
准确率计算公式如下所示:
(10)
其中,TP、TN、FP和FN分别是真正类(True Positive)、真负类(True Negative)、假正类(False Positive)和假负类(False Negative)。
为进一步测试改进之后的3D-ResNet34网络模型性能,设计对比实验,与VGG16网络模型、3D-ResNet34基础网络模型等以及相关文献中改进后的模型进行比较,具体结果如
方法 |
准确率/% |
3D-Resnet34 |
84.05 |
VGG16 |
71.59 |
ALFWNet
|
85.42 |
PHRNN-MSCNN
|
86.25 |
LBVCNN
|
82.41 |
本文方法 |
88.37 |
由
本文模型主要由3D-ResNet34、ConvLSTM和Transformer三个模块组成,为测试模型中各个改进部分对最终识别准确率的影响程度以及各模块结构的有效性,在Oulu-CASIA数据集上进行消融实验,实验结果如
3D-Resnet34 |
ConvLSTM |
Transformer |
准确率/% |
√ |
- |
- |
84.05 |
√ |
√ |
- |
87.19 |
√ |
- |
√ |
86.72 |
√ |
√ |
√ |
88.37 |
在对视频数据进行模型训练时,为综合考虑视频序列中的时间维度信息,本文提出一种结合3D-ResNet34、ConvLSTM以及Transformer模块的网络模型用于人员情绪识别。首先,将完整的视频数据划分成若干个连续的片段,每个片段包含16帧图像。使用3D-ResNet34对视频片段进行空间特征提取。其次,在网络模型中设计添加ConvLSTM模块用于从空间特征中提取更深层次的时间维度特征,将视频数据中的时序信息考虑在内。然后,使用自设计的Transformer模块让网络能够获取到每一帧图像在视频片段中的重要性,对每个视频片段生成一个注意力分布,用于加权融合各帧的特征,得到注意力特征。最后,对提取完成的时间维度特征与注意力特征进行特征融合,并送入Softmax层进行分类识别。实验表明,本文设计的方法取得了较好的识别准确率。
*通讯作者。