摘要
情绪表达在日常交流中起着特殊的作用,而检测情绪最重要的方法之一就是识别面部情绪状态。因此,自然人机交互的关键点是识别面部表情并根据感知到的情绪提供反馈。模型的实现涉及两个主要步骤。第一步是读取视频并将其转换为图像,然后对其进行预处理。接下来,结合三维卷积神经网络(3DCNN)和学习自动机(LA)对面部情绪识别率进行分类检测。本研究选择3DCNN的原因是该模型不会从图像中删除任何维度,并且考虑了动态图像中的时间信息,从而可以进行更高效和更好的分类。此外,3DCNN网络在计算反向传播误差时通过LA进行调整,既提高了模型的效率,又改善了SOAR模型的工作记忆部分。鉴于情绪识别的重要性,本文提出了一种基于深度学习和认知混合模型SOAR的面部情绪识别方法。该模型对面部情绪状态识别的准确率高达85.3%。为了比较模型的有效性,本研究将该模型与其他模型进行了比较。研究结果表明,该模型比其他模型具有更好的性能。
引言
面部表情识别(FER)是一个新兴的研究课题。FER利用计算机技术和图像处理来分析和识别面部表情的类型、强度和持续时间,并通过检测细微变化来揭示一个人的情绪状态。FER在医疗保健、安全、安全驾驶等领域的应用,推动了这些方法在人机交互中的验证。计算FER模拟人类面部表情编码技能。同样,基于深度学习和人工智能(AI)技术,FER方法已开发出边缘模块以确保效率和实时处理。为此,一些研究对FER的不同方面进行了探索。
情绪是决策和人际沟通中的一个重要驱动因素。随着近年来人机交互研究的增加,情绪计算已成为一个热门的研究主题,旨在开发能够理解和响应人类情感的计算系统。据研究,人与人之间的交流90%以上是通过不同的渠道传递的,而面部表情和肢体动作在其中发挥着独特的作用。情感在沟通中起着至关重要的作用。例如,皱眉通常是不满和不同意的标志。惊讶、喜悦和恐惧是人类对环境因素的自然反应。
Han等人(2024)提出了一种仿生模型,它模拟人脑功能,符合人类感知且能更好地解释生物特征。在生物学特征的基础上,开发了一种非线性神经网络来提取时序特征,可用于动态情绪分析。在Liu等人(2024)的研究中,他使用了具有混沌多分支结构的贝叶斯卷积神经网络进行这种诊断。该模型旨在解决不确定性问题,通过提高训练精度,使网络的决策变得更加确定。
理解面部表情可以帮助调节情绪反应,例如增强积极情绪或减少消极情绪状态,尤其是当刺激的面部表情与个人意图相匹配时。也就是说,当它与个人的监测努力相一致时。现有的研究通常使用两种分类方法:动态和静态。动态分类器[例如隐马尔可夫模型(HMM)]使用多个视频帧,并通过分析区域或提取特征的时间模式来进行分类。静态分类器根据特定视频帧的结果,将视频中的每一帧分类为一组面部表情。一般来说,这些方法首先提取图像的某些特征,然后在分类系统中进行分类,从而选择出情绪类别之一。从面部视频图像中自动识别情绪面临许多挑战,包括在图像中找到面部、定位眼睛、鼻子和嘴巴的位置,揭示面部及其组成部分在一定时期内的变化,并建立它们之间的关系。将这些变化与个人的情感表达相匹配非常困难,因为每个个体都有自己的变化,具体取决于环境和个体情况。
现有证据表明,人们有时在高兴时微笑,在悲伤时皱眉,生气时皱眉的频率更高。然而,人们与愤怒、厌恶、恐惧、喜悦、悲伤和惊讶的关系因文化、情境而异,甚至在同一情境中的不同个体之间也有所不同。此外,面部动作的类似组合会不同程度地表达不止一种情绪类别的情况。事实上,面部动作的某种组合,比如皱眉,通常传达的并非只是一种情绪状态。科学家们一致认为面部表情传达了广泛的信息,并且对于社交、情感或其他交流非常重要。
情绪状态识别
面部情绪识别
Höfling等人(2023)使用自动面部编码技术研究了面部动作(即动作单元活动)与广告、宣传和品牌效应之间的关系。在Ma等人(2022)的研究中,为了确定中国人对亚洲人(自己种族)和白人(其他种族)面部表情(中性、快乐、悲伤、愤怒、厌恶和恐惧)的识别准确性和注视模式是否不同,89名健康的中国成年人在眼动追踪期间观看了亚洲和白人的面部表情,然后被要求识别表情并对其强度和唤醒效果进行评分。研究结果表明,受试者对亚洲面孔的悲伤表情的识别比白人面孔更好。另一方面,对白人的中性、快乐、恐惧和厌恶表情的识别准确率更高。在Zhu等人(2022)的研究中,首先讨论了面部情绪识别与心理特征之间的关系。在此基础上,通过增加卷积神经网络(CNN)层,并将CNN与其他神经网络(如VGGNet、AlexNet和LeNet-5等)集成来构建面部情绪识别模型。其次,基于特征融合,引入了一种针对CNN优化的中心局部二值(CLBP)算法,构建用于面部情绪识别的CNN-CLBP算法。最后,对面部图像进行预处理并优化相关参数,从而对算法进行有效性分析。与其他方法相比,CNN-CLBP算法在识别面部表情方面具有更高的准确率,平均识别率为88.16%。此外,该算法的检测精度通过图像预处理和参数优化得到了提高,并且没有出现拟合不良的情况。此外,CNN-CLBP算法能够识别97%的快乐和惊讶表情,但对悲伤表情的误识率为22.54%。该研究结果为分析青少年犯罪的心理逻辑特征提供了数据参考和依据。Li和Gao(2022)基于多尺度特征的混合网络构建了面部识别模型,旨在充分利用面部特征并提高面部识别准确率。此外,还设计了三种不同尺度的网络来提取面部的全局特征。Arora等人(2022)改进了卷积神经网络技术来检测七种基本情绪,并评估了几种预处理方法,以展示它们如何影响CNN的性能。这项研究的重点是基于情绪识别的面部特征和表情增强。通过识别或识别引起人类反应的面部表情,计算机可以对人们的心理状态做出更准确的预测,并提供更具针对性的响应。Alphonse等人(2023)提出了一种新的混合神经网络(NN)模型,该模型能够在实时应用中进行识别。该研究首次比较了几种神经网络模型。然后创建了一个结合卷积神经网络(CNN)、循环神经网络(RNN,即长短期记忆(LSTM))和视觉变换器的混合NN模型。在Dias等人(2022)的研究中,研究者提出了一种使用低照度图像增强和卷积神经网络对上半面部特征进行特征分析的蒙面面部图像的面部情绪识别方法。
学习自动机(LA)
学习自动机(LA)是一种在强化学习框架下工作的随机模型。自动学习将选定的动作输入到其随机和操作环境中。在获得理想答案时,环境使用强化反馈来响应所采取的动作接近理想目标的程度。动作概率向量使用强化反馈进行更新。自动学习试图从动作集中找到最优动作,以最小化平均惩罚。自动学习在无法获得关于环境完整信息的系统中可能有用。LA分为两大类:固定结构和可变结构。可变结构学习自动机由三元组{β,α,T}表示,其中β是输入集,α是动作集,T是学习算法,环境与自动学习之间的交互如图1所示。
图1.环境与学习自动机之间相互作用的视图。
令ai(n)∈a和P(n)分别表示学习自动机在时刻n选择的动作和动作集上的概率向量。令a和b表示奖励和惩罚参数,并且让惩罚分别确定动作概率的增加和减少。另外,可以将r视为机器学习可能执行的动作数量。在每个n时刻,如果环境奖励所选动作ai(n),则动作概率向量P(n)将由公式(1)中给出的线性学习算法更新。如果该动作受到惩罚,则根据公式(2)进行更新。
如果a=b,重复1和2被称为线性奖惩(LR-P)算法,如果a>b,则给定的方程被称为线性ε奖惩(LR-εP)。若b=0,它们被称为线性reward-inaction(LR-I),其中。如果学习自动机在第n次重复中选择了类似αi的动作,并从环境中获得了积极响应,则pi(n;动作αi的概率)增加,而其他动作的概率降低。相反,如果来自环境的响应是不利的,则动作αi的概率降低,而其他自动机动作的概率增加。在任何情况下,改变总是以使pi(n)的总和保持恒定且等于一的方式进行。
所提出的模型
接下来,将详细解释所提出的模型,并提供每个组件的子结构的详细信息。方法示意图如图2所示。
图2.方法示意图。
如图2所示,第一步是从eNTERFACE'05数据集中读取视频。为了从视频中提取图像帧,将特定帧率的视频分离算法应用于所有的样本。面部图像存储在特定的文件夹中,然后对视频中的图像帧进行预处理操作。视频样本被分为三类:训练、验证和测试。为此,从视频文件的开头分离出10个不同的帧。帧差被认为是相对于上一帧变化超过3个点的变化。这种操作的方式是,将所有提取的帧分为10份,每个分组的第一帧作为选定帧。使用这种模式的原因是避免在视频文件末尾进行选择,因为视频文件的末尾几乎是静止的。为了更好地显示视觉特征,本研究将3DCNN与LA的组合。这种组合能够更准确地提取特征并增加检测率。最终,将每个视频样本的图像帧以三维矩阵的形式发送到3DCNN网络,其中包括每个视频帧的序列数、宽度、高度和图像通道数。选择3DCNN的原因是,该方法可以将数据存储在整个网络中,不仅能够很好地处理缺失帧,而且具有较高的容错能力。
在本文提出的方法中,使用3DCNN-LA进行特征提取、选择和分类。将多维RGB面部图像输入预训练的3DCNN模型中进行调优。在本文中,视频文件的采样帧数设置为10帧。在第一层中,所有的输入为255×255×3。在卷积层(CL)中,它由卷积滤波器组成,用于从输入中的每个局部区域提取多个局部模式并生成多个特征图。在3DCNN模型中包含四个卷积层,分别是Conv1、Conv2、Conv3和Conv4,其中三个卷积层(Conv1、Conv2和Conv4)之后是最大池化。卷积层使用ReLU激活函数。第一个卷积层(Conv1)有64个卷积核,大小为3×8×8,步长为4像素,零填充。第二个卷积层(Conv2)有256个核,大小为64×3×3,步长为1像素,填充为2。第三个卷积层(Conv3)有384个核,大小为128×3×3,连接到Conv2的输出,第四个卷积层(Conv4)有384个核,大小为164×3×3。在每个卷积层的输出处使用ReLU激活函数来适应训练过程。基于此,卷积层用于特征提取,使用两个FC层进行特征选择,最后使用LA进行分类。
SOAR是一种认知科学模型,受大脑功能系统的启发,将问题解决作为一种以目标为导向的行为,并通过对问题的调查和从结果中学习进行探索。这种架构应用广泛,例如日常任务和解决开放式问题,这是人工智能和与外界交互的典型特征,无论是在模拟还是在现实环境中。
SOAR中的决策过程与其他系统类似:该过程涉及匹配规则,这实际上是一种依赖于情境的知识表征。SOAR具有处理程序性知识和工作记忆的深度学习组件。Soar中的强化学习相对简单。该组件基于环境数值奖励来调节动作选择。数值优先级指定了当前状态下操作符的预期值。当选择一个操作符时,所有确定了该操作符预期值的规则都会根据该操作符所获得的新奖励以及其后继可能获得的未来预期奖励而进行更新。对系统中所有目标和子目标的操作符进行评估,使得能够快速识别特定条件下的良好和不良操作符。
在所提出的方法中,为了检测情绪,从环境中接收到的信息被感知记忆接收并存储。感知记忆信息的初始加工阶段由程序性记忆完成。学习自动机借助语义记忆、情景记忆和评估阶段以及在短期工作记忆中完成的决策过程,尝试学习并重复最终诊断,直到产生最终结果。学习自动机的学习过程结果被存储为语义和情景记忆的一部分。存储在语义和情景记忆中的结果作为行动返回到环境中。决策和评估过程中的所有奖励被存储在工作记忆中,而目标和最终值则以语义部分的长期记忆的形式存储。提高SOAR模型分析和评估中的学习能力可以提高最终性能。
改进的SOAR模型
SOAR模型包括两个主要记忆,即长期符号记忆和短期工作记忆,两者相互关联。符号长期记忆包括程序性记忆、语义记忆和情景记忆,每种记忆执行不同的任务。选择这种从长期到短期记忆的数据存储和比较模型的原因是为了观察人脑的功能系统。该模型的输入包括面部情绪状态的图像。对面部图像进行去噪和大小调整,使预处理后的图像输入到该模型中。记忆部分将对所有归一化图像应用图像文件,以提取最佳特征。为此,将3DCNN-LA应用于从面部图像中获取的特征。LA会根据3DCNN的误差率来优化神经网络权重的更新参数(图3)。
图3.改进的SOAR模型概述。
图3展示了改进后的SOAR模型。如前所述,该模型包括两个输入,并且每个网络都具有参数W,根据情绪状态的观察x生成类成员概率P(C|x,W)。除了softmax层以外,所有网络层都使用线性单元激活函数(ReLU)(公式(3)):
本研究计算了Softmax层的输出如下(公式(4)):
其中zq是神经元q的输出。网络的输出为P(C|x,W)。卷积深度学习的训练过程包括优化网络参数W,以最小化数据集D的成本函数。本研究选择了负对数概率作为成本函数(公式(5)):
预处理
第一阶段进行数据准备和预处理操作,以从视频中识别面部表情。这些步骤如下:在数据准备阶段,将数据集分为训练和测试两个部分。此外,70%的数据集用于训练,30%用于测试。接下来,从每个视频样本中提取面部图像帧,并将其存储在与视频帧相关的文件夹中。对所有样本应用具有特定帧率的分离算法,以从视频中提取图像帧。在这些测试中,图像的帧率为10(即每秒提取10帧)。eNTERFACE'05数据集视频的平均长度为3-4s。图4显示了该数据集中不同面部表情的排列图像示例。
图4.eNTERFACE'05数据集中不同面部表情的排列图像示例。
结果
本文中的所有测试均使用MATLAB 2022软件实现,精度测试采用K折验证法,其中K=10。各部分的衡量标准是识别混淆矩阵。在图像部分,输入大小为100×96的彩色面部图像序列,每个序列包含10帧,并输入到3DCNN-LA神经网络中。在生成的卷积神经网络3DCNN-LA中,每个批次的大小为32,重复步数为500。学习率为0.001,动量为0.0001。在该方法的训练过程中使用了早期停止技术。
面部情绪状态识别
表1显示了使用改进SOAR模型在eNTERFACE’05数据集上识别面部情绪状态的混淆矩阵。
表1.使用改进的SOAR模型识别面部情绪状态的混淆矩阵。
如表1所示,使用改进的SOAR模型对面部情绪的识别率完全不同。结果显示,“厌恶”的识别率最高,而“恐惧”的识别率最低,分别为89%和80%。“厌恶”情绪的识别率很高,可能是因为这种情绪在面部表现出来的特征比较明显,容易被检测到。然而,像恐惧这样的情绪,其识别率最低,是因为这种情绪在面部不太容易被观察到。所提出方法的详细信息如图3所示。通过对不同情绪进行分类,并对系统进行改进,可以得到更准确、更优质的结果。表2显示了所提出模型在eNTERFACE'05数据集的六种基本情绪类别上识别面部情绪状态的混淆矩阵。
表2.使用SOAR模型识别面部情绪状态的混淆矩阵。
在面部情绪识别中,表2显示了“厌恶”和“愤怒”情绪状态的识别率分别为最高和最低。通过检验模型的结果发现,厌恶情绪在面部情绪识别中的检出率最高。表3显示了本文方法与其他方法的比较结果。通过K折交叉验证(K=10)进行精度测试。
表3.与其他方法的比较。
由表3可知,使用CNN实现了81.4%的准确率。使用3DCNN对该方法进行改进时,达到了83.27%的准确率。3D卷积神经网络基于卷积神经网络(CNN)的概念,但3DCNN-LA在此基础上增加了时间维度。在传统的2D CNN中,输入由网络处理和分析的多个图像帧组成。增加时间维度可以改善结果,从表中可以看出,结果提高了1.87%。时间维度对视频文件来说非常重要,它可以提高检测的准确性和效率。3DCNN-LA方法不仅利用了3DCNN的时间维度优势,还将LA作为FC层中的学习奖励计算器,精度高达85.3%。在接下来的评估中,将与类似的方法进行比较和检查。在CNN和3DCNN中,通过添加另一个FC层来获得分类器值,但在本文的方法中,第二个FC层是使用LA完成的。
如表4所示,本文方法的精度优于同类方法,并且与该标准最接近的方法相比,提高了4.2%。与本文方法最接近的是Liang等人(2020)研究中所提出的方法,该方法也使用深度卷积网络对FER的空间特征和时间动态进行联合建模。
表4.最近模型的比较。
结论
本文提出了一种利用改进的SOAR模型来从面部表情中检测情绪的方法。改进的SOAR模型基于3DCNN-LA,同时考虑了所提取帧的特征及其序列。同时,LA有助于微调权重,使其比以往的检测模型更具针对性。3DCNN对图像的采样点数据进行处理;它们以原始像素数据作为输入,训练设计的架构并自动提取特征。本研究提出的模型包括几个主要目标。第一个目标是提供一个模型来学习电影中帧的时间顺序,第二个目标是提供一个能更好展示视觉特征并最终提高识别率的模型。这些模型不考虑由视频连续帧产生的时空参数。同时,基于3DCNN-LA改进的SOAR算法对序列数据和图像本身进行处理。这使本研究的模型能够生成一个更准确、更具计算效率的模型。改进的SOAR结合3DCNN和LA,可以利用更丰富的信息提取图像特征,从而更好地描述图像,进而提高检测和目标识别性能。
参考文献:Ramzani Shahrestani M, Motamed S and Yamaghani M (2024) Recognition of facial emotion based on SOAR model. Front. Neurosci. 18:1374112. doi: 10.3389/fnins.2024.1374112
小伙伴们关注茗创科技,将第一时间收到精彩内容推送哦~