CN114202792A - 一种基于端到端卷积神经网络的人脸动态表情识别方法 - Google Patents

一种基于端到端卷积神经网络的人脸动态表情识别方法 Download PDF

Info

Publication number
CN114202792A
CN114202792A CN202111503998.3A CN202111503998A CN114202792A CN 114202792 A CN114202792 A CN 114202792A CN 202111503998 A CN202111503998 A CN 202111503998A CN 114202792 A CN114202792 A CN 114202792A
Authority
CN
China
Prior art keywords
layer
neural network
substep
convolutional neural
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111503998.3A
Other languages
English (en)
Inventor
李军
李臣岳
刘杰强
张礼轩
王子文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University of Science and Technology
Original Assignee
Nanjing University of Science and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing University of Science and Technology filed Critical Nanjing University of Science and Technology
Priority to CN202111503998.3A priority Critical patent/CN114202792A/zh
Publication of CN114202792A publication Critical patent/CN114202792A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • G06F18/253Fusion techniques of extracted features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Molecular Biology (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开了一种基于端到端卷积神经网络的人脸动态表情识别方法,该方法对采集的人脸表情图像序列数据集进行预处理,并将数据集按照比例划分为训练集和测试集;根据每个模块的功能需求的不同,构建出不同的卷积神经网络模型,并对模型中的参数进行初始化设置;将训练集根据需要输入到对应的卷积神经网络模型中,并且采用基于边界分类的损失函数来进行训练,将训练好的卷积神经网络模型按照事先设计好的方式组合起来得到最终的卷积神经网络模型;利用最终的卷积神经网络模型识别人脸表情,得到实时的人脸动态表情识别结果。本发明无需手动提取特征,省时省力,极大的提高了识别效率和精度,便于人脸表情识别在工业、服务业方面的应用。

Description

一种基于端到端卷积神经网络的人脸动态表情识别方法
技术领域
本发明涉及计算机视觉技术领域,特别是一种基于端到端卷积神经网络的人脸动态表情识别方法。
背景技术
人类情感的表达主要通过面部表情、语调和体态来表达。Mehrabian指出,在人类交际过程中,55%的有用信息来自面部表情,38%来自身体姿势,只有7%来自语言,因此面部表情是表达情感和意图的主要非语言方式。Ekman等人定义了6种基本情感类别:愤怒、厌恶、恐惧、快乐、悲伤和惊讶,此后研究者们根据情感类别展开对人脸表情的研究,并逐渐发展为基于静态图片和基于动态序列的表情识别,相比于静态表情图片,视频序列中蕴含更多的情感信息,究其原因,表情的表达是一个动态的过程,视频序列中的具有明显表情的序列在特征提取和与识别中具有关键作用,且准确率更高。
近年来,人脸表情识别(FER)已成为计算机视觉领域的一个独立研究课题,特别是动态人脸表情识别,在人机交互、情感挖掘、疲劳驾驶检测等领域得到了广泛的应用。
动态人脸表情识别可分为两类。第一种方法是利用传统的机器学习处理动态表达,包括特征提取、多特征融合、特征分类等;第二种方法是基于深度学习神经网络,将特征提取与特征分类相结合,实现端到端的训练和识别。第一种方法具有较好的识别效果和较高的识别效率,但仍有许多特征需要人工提取,工作量较大。第二种方法主要是基于监督学习的深卷积神经网络,可以自动提取特征,减少了人工的参与,大大降低了工作量。现有的大部分基于监督学习的人脸表情识别算法都是在静态人脸表情数据集上完成的,但是人脸表情的变化是一个动态的过程,表情的变化过程中蕴含着大量的时间运动信息,基于静态图片的表情识别算法不能运用这些运动信息,而本文提出的动态人脸表情识别算法就可以将表情的运动信息考虑进来。Donahue等人提出了一种深度时空网络,称为长时递归卷积圣经网络网络(LRCN),它将CNN全连接层的输出与LSTM级联,在涉及时变输入与输出的各种计算机视觉领域都获得了很好的效果,但是该网络依然没有将表情的运动信息利用到极致,本文提出的基于特征融合的人脸动态表情识别算法,将提取到的空间特征与时间特征做特征融合输入到LSTM网络中进行识别,这样可以更加直接使用表情的运动信息,提高识别准确率,反观Donahue等人提出的深度时空网络,只是单纯的将每帧图像的空间特征输入到LSTM网络当中,并没有将表情的运动信息利用到极致。
发明内容
本发明的目的在于提供一种基于端到端的卷积神经网络的人脸动态表情识别方法,提高人脸表情识别精度,并且完成人脸表情变化的充分分析。
实现本发明目的的技术解决方案为:一种基于端到端卷积神经网络的人脸动态表情识别方法,包括:
步骤A:对采集的人脸表情图像序列数据集进行预处理,并将数据集按照比例划分为训练集和测试集;
步骤B:根据每个模块的功能需求的不同,构建出不同的卷积神经网络模型,并对模型中的参数进行初始化设置;
步骤C:将训练集根据需要输入到对应的卷积神经网络模型中,并且采用基于边界分类的损失函数来进行训练,将训练好的卷积神经网络模型按照事先设计好的方式组合起来得到最终的卷积神经网络模型;
步骤D:利用最终的卷积神经网络模型识别人脸表情,得到实时的人脸动态表情识别结果。
本发明与现有技术相比,其显著优点为:(1)利用深度卷积神经网络构建人脸动态表情识别方法精度更高,能够将人脸表情的变化也纳入考虑,并且构建的网络结构是一个端到端的网络结构,所以网络结构的鲁棒性更强,更适应于实际生产环境;(2)利用深度卷积神经网络对人脸表情进行识别可以实现对人脸表情特征的自动提取,大大减少了人工参与,减少了成本,提高了识别的效率。
附图说明
图1为本发明方法实际工作识别人脸表情流程图。
图2为本发明方法设计的人脸表情静态特征提取网络结构图。
图3为本发明方法设计的人脸时态表情特征提取网络结构图。
图4为本发明方法设计的人脸动态表情的识别总体网络结构概图。
具体实施方式
结合图1,本发明一种基于端到端卷积神经网络的人脸动态表情识别方法,包括:
步骤A:对采集的人脸表情图像序列数据集进行预处理,并将数据集按照比例划分为训练集和测试集;
步骤B:根据每个模块的功能需求的不同,构建出不同的卷积神经网络模型,并对模型中的参数进行初始化设置;
步骤C:将训练集根据需要输入到对应的卷积神经网络模型中,并且采用基于边界分类的损失函数来进行训练,将训练好的卷积神经网络模型按照事先设计好的方式组合起来得到最终的卷积神经网络模型;
步骤D:利用最终的卷积神经网络模型识别人脸表情,得到实时的人脸动态表情识别结果。
进一步地,所述步骤A包括:
子步骤A1:采集人脸表情图像序列,以形成人脸动态表情数据集;
子步骤A2:对人脸图像进行预处理,包括高斯滤波,人脸裁剪以及归一化处理;
子步骤A3:将整个人脸表情图像序列数据集以4:1的比例划分为训练集和测试集。
进一步地,所述子步骤A2包括:
子分步骤A2a:首先对数据集图片的大小统一设置为480x480,然后采用公式
Figure BDA0003402699380000031
对图像进行高斯滤波,高斯滤波去噪就是对整幅图像像素值进行加权平均,针对每一个像素点的值,都由本身值和邻域内的其他像素值经过加权平均后得到;其中x和y为图像中像素点的坐标,σ为标准差;
子分步骤A2b:采用归一化公式
Figure BDA0003402699380000032
对训练集图像进行归一化处理,其中(i,j)表示像素点在图像中的位置,xij表示位置(i,j)的像素值,xmin是像素的最小值,xmax是像素的最大值;
子分步骤A2c:采用MTCNN(Multi-task Cascaded Convolutional NeuralNetworks)进行人脸检测,它能够同时将人脸检测和人脸特征点标定结合起来,而得到的人脸特征点又可以用来实现人脸校正以及人脸裁剪。
进一步地,所述步骤B包括:
子步骤B1:构建提取人脸表情图片静态特征的网络结构如图2,并对其进行参数初始化;
子步骤B2:构建提取人脸表情图片序列动态特征的网络结构如图3,并对其进行参数初始化;
子步骤B3:构建一个循环神经网络,将上述两个网络结构提取的特征融合后作为循环神经网络的输入,最终识别出表情类别。
进一步地,所述步骤B1包括:
子分步骤B1a:构建的特征提取模块包括设置卷积层参数和池化层参数,其中卷积层的前向传播公式如式(1)所示,
Figure BDA0003402699380000041
m和n表示上一层和当前层上特征图的映射编号,
Figure BDA0003402699380000042
表示当前第l+1层的第n个特征图,
Figure BDA0003402699380000043
表示第l层的第m个特征图,
Figure BDA0003402699380000044
表示第l+1层的第n个特征图和第l层的第m个特征图之间的卷积核的权重参数矩阵,
Figure BDA0003402699380000045
表示第l+1层的第n个特征图对应的偏置项,Mn表示输入特征图的一个子集,*表示卷积操作,f表示激活函数;
卷积层反向误差传播公式如式(2)所示,
δl=δl+1*ROT180(wl+1)⊙σ′(zl) (2)
其中,δl表示第l层的神经节点的误差,δl+1表示第l+1层的误差,⊙表示点乘;ROT(180)表示旋转180°,即转置,wl+1表示第l层到l+1层的权重参数矩阵,zl表示第l层神经元的输入,σ表示激活函数,σ′即对激活函数进行求导。
对于池化层前向传播,直接对上一层的特征图相邻的4个项进行求均值(采用均值池化,并且池化窗口大小设为2)即可,而对于池化层的反向传播,其反向误差传播公式如式(3)所示,
δl=upsample(δl+1)⊙σ′(zl) (3)
其中,δl,δl+1以及σ′(zl)和式(2)中的含义一样,upsample表示上采样,meanpooling的前向传播就是把特征图中一个池化层大小的窗口中的所有值求平均的方式进行下采样,那么反向传播的过程也就是把某个元素的梯度等分为n份分配给前一层,这样就保证池化前后的梯度(残差)之和保持不变;
对于全连接层的前向传播如公式(4)所示,
Figure BDA0003402699380000046
其中,j和k表示神经元的索引,l为对应的层数,
Figure BDA0003402699380000051
表示的是l-1层中第k个神经元和l层中第j个神经元之间的权重;
全连接层的误差反向传播如公式(5)所示,
δl=((wl+1)Tδl+1)⊙σ′(zl) (5)
其中,wl+1表示第l层和第l+1层之间的权重参数矩阵,T表示对矩阵进行转置操作,δl+1表示第l+1层的误差,其他部分与式(3)中相同;
子分步骤B1b:将子分步骤B1a提及的卷积模块、池化模块以及全连接层模块按照一定的方式组合在一起,形成特征提取网络,并采用高斯初始化对网络进行初始化操作。
进一步地,所述子步骤B2包括,
子分步骤B2a:构建提取动态特征的神经网络结构,因为主要目的是提取动态特征,所以主要精力可以放在提取时态特征上,无需对图片的静态特征做精细的提取,所以采用一个深度较浅的卷积神经网络结构就可以达到这个效果;
子分步骤B2b:因为是要提取人脸表情序列的动态特征,因此构建的卷积神经网络的结构的输入是序列的相邻两帧图像,即神经网络结构的输入是深度为6的图像。
进一步地,所述子步骤B3包括,
子分步骤B3a:上述两个网络结构输出都是长度为128的特征向量,经过特征融合后形成长度为256的特征向量,作为循环神经网络的输入;
子分步骤B3b:构建循环神经网络来进行人脸动态表情的识别,本发明采用LSTM(Long Short-Term Memory)类型的循环神经网络结构,LSTM解决了RNNs的长期依赖问题,
LSTM的核心之处就是它的神经元状态,LSTM用两个门来控制单元状态c的内容:
一个遗忘门(forgetgate),LSTM的第一步就是决定什么信息应该被神经元遗忘。这是一个被称为“遗忘门层”的Sigmoid层组成的。它输入ht-1和xt,然后在ct-1的每个神经元状态输出0~1之间的数字。“1”表示“完全保留这个”,“0”表示“完全遗忘这个”。遗忘门按照以下公式(6)执行,
ft=σ(Wf·[ht-1,xt]+bf) (6)
其中,ht-1表示t-1时刻单元状态与输出合并成的一个状态,xt表示t时刻的输入,Wf表示遗忘门的权重参数矩阵,bf表示对映这个遗忘门的偏置,σ表示激活函数Sigmoid。
一个输入门(inputgate),它决定了当前时刻网络的输入xt有多少保存到单元状态ct,“输入层”的Sigmoid层决定要更新的数值it,然后,一个tanh层生成一个新的候选数值
Figure BDA0003402699380000064
它会被增加到神经元状态中,输入门的执行过程如式(7)、式(8)和式(9)所示,
it=σ(Wi·[ht-1,xt]+bi) (7)
Figure BDA0003402699380000061
Figure BDA0003402699380000062
其中式(9)目的是更新旧的神经元状态Ct-1到新的神经元状态Ct,给旧的状态乘以一个ft,遗忘掉之前决定要遗忘的信息,然后增加
Figure BDA0003402699380000063
这是新的候选值。
最后,LSTM用输出门(outputgate)来控制单元状态Ct有多少输出到LSTM的当前输出值ht,使用Sigmoid层来决定哪一部分的神经元状态需要被输出,然后让神经元状态经过tanh层(让输出值在-1~1之间),然后乘上Sigmoid门限的输出,这样就会输出想要输出的,输出门的执行过程如式(10)和式(11)所示,
ot=σ(Wo[ht-1,xt]+bo) (10)
ht=ot*tanh(Ct) (11)
式(10)中ot代表Sigmoid门的输出,σ表示Sigmoid函数,Wo和bo分别代表计算单元状态的权重矩阵和偏置项,ht-1和xt分别代表上一个时刻的输出状态和当前时刻的输入;式(11)中ht表示当前时刻的输出状态,Ct表示当前时刻的单元状态;
子分步骤B3c:将子步骤B1和子步骤B2构建的卷积神经网络的输出进行特征融合后输入到子步骤B3中构建的循环神经网络中,这样就构成了一个识别动态表情的端到端的深度网络结构,如图4所示。
进一步地,所述步骤C包括,
引入了一种新的基于边界分类的损失函数AM-Softmax Loss对静态特征提取网络进行训练,其函数的数学表达式如下:
Figure BDA0003402699380000071
Figure BDA0003402699380000072
其中,N表示网络输出的类别数目,cosθ表示特征向量x和权重向量w之间角度的余弦值;yi表示对应于输入xi的真实标签,所以cosθyi表示与输出中真实标签对应的权重向量w与特征向量x的夹角的余弦值,cosθj表示输出中与真实标签不对应的权重向量w与特征向量x的夹角的余弦值;s与m为超参数,超参数s加快模型的收敛,超参数m控制惩罚力度,m越大惩罚力度越强;log表示对数函数,对括号里的表达式值进行对数变换;e是数学常数,是自然对数函数的底数。
进一步地,所步骤D包括,通过以上步骤训练好的神经网络结构,输入人脸表情序列,即可得到人物的表情分类。
下面结合附图以及具体实施例,进一步阐述本发明方法。
实施例
结合图1,本发明实施例的一种基于卷积神经网络的人脸动态表情识别方法,该方法包括:
步骤A:对采集的人脸表情图像序列数据集进行预处理,并将数据集按照比例划分为训练集和测试集;
步骤A包括:
子步骤A1:采集人脸表情图像序列,以形成人脸动态表情数据集。
子步骤A2:对人脸图像进行预处理,包括高斯滤波,人脸裁剪以及归一化处理。
子分步骤A2a:首先对数据集图片的大小统一设置为480x480,然后采用
Figure BDA0003402699380000073
公式对图像进行高斯滤波,高斯滤波去噪就是对整幅图像像素值进行加权平均,针对每一个像素点的值,都由其本身值和邻域内的其他像素值经过加权平均后得到。其中x和y为图像中像素点的坐标,σ为标准差,此操作是消除图像中不相关的干扰,使得最终检测更加准确,减少误差。
子分步骤A2b:采用
Figure BDA0003402699380000081
归一化公式对训练集图像进行归一化处理,其中(i,j)表示像素点在图像中的位置,xij表示位置(i,j)的像素值,xmin是像素的最小值,xmax是像素的最大值。
子分步骤A2c:采用MTCNN(Multi-task Cascaded Convolutional NeuralNetworks)进行人脸检测,它能够同时将人脸检测和人脸特征点标定结合起来,而得到的人脸特征点又可以用来实现人脸校正以及人脸裁剪。
子步骤A3:将整个人脸表情图像序列数据集以4:1的比例划分为训练集和测试集。
步骤B:根据每个模块的功能需求的不同,构建出不同的卷积神经网络结构,并对模型中的参数进行初始化设置;
步骤B包括:
子步骤B1:构建提取人脸表情图片静态特征的网络结构,并对其进行参数初始化;具体采用的每一层的卷积核以及池化层结果如下表所示:
表1静态特征网络提取结构
卷积层 卷积核 输出层
Input 299×299×3
Conv2d_1a 3×3.2 149×149×32
Conv2d_2a 3×3.1 147×147×32
Conv2d_2b 3×3.1 147×147×64
MaxPool_3a 3×3.2 73×73×64
Conv2d_3b 3×3.1 71×71×80
Conv2d_4a 3×3.2 35×35×192
Conv2d_4b 3×3.1 35×35×288
Inception-a 17×17×768
Reduction-a 17×17×768
Inception-b 8×8×1280
Reduction-b 8×8×1280
Inception-c 8×8×2048
POOL 8×8.1 1×1×2048
FC 1×1×1024
FC 1×1×128
卷积核=卷积核高度×卷积核宽度.步长
子分步骤B1a:构建的特征提取模块包括设置卷积层参数和池化层参数,其中卷积层的前向传播公式如式(1)所示,
Figure BDA0003402699380000091
m和n表示上一层和当前层上特征图的映射编号,
Figure BDA0003402699380000092
表示当前第l+1层的第n个特征图,
Figure BDA0003402699380000093
表示第l层的第m个特征图,
Figure BDA0003402699380000094
表示第l+1层的第n个特征图和第l层的第m个特征图之间的卷积核的权重参数矩阵,
Figure BDA0003402699380000095
表示第l+1层的第n个特征图对应的偏置项,Mn表示输入特征图的一个子集,*表示卷积操作,f表示激活函数;
卷积层反向误差传播公式如式(2)所示,
δl=δl+1*ROT180(wl+1)⊙σ′(zl) (2)
其中,δl表示第l层的神经节点的误差,δl+1表示第l+1层的误差,⊙表示点乘,;ROT(180)表示旋转180°,即转置,wl+1表示第l层到l+1层的权重参数矩阵,zl表示第l层神经元的输入,σ表示激活函数,σ′即对激活函数进行求导。
对于池化层前向传播,直接对上一层的特征图相邻的4个项进行求均值(采用均值池化,并且池化窗口大小设为2)即可,而对于池化层的反向传播,其反向误差传播公式如式(3)所示,
δl=upsample(δl+1)⊙σ′(zl) (3)
其中,δl,δl+1以及σ′(zl)和式(2)中的含义一样,upsample表示上采样,meanpooling的前向传播就是把特征图中一个池化层大小的窗口中的所有值求平均的方式进行下采样,那么反向传播的过程也就是把某个元素的梯度等分为n份分配给前一层,这样就保证池化前后的梯度(残差)之和保持不变;
对于全连接层的前向传播如公式(4)所示,
Figure BDA0003402699380000096
其中,j和k表示神经元的索引,l为对应的层数,
Figure BDA0003402699380000097
表示的是l-1层中第k个神经元和l层中第j个神经元之间的权重;
全连接层的误差反向传播如公式(5)所示,
δl=((wl+1)Tδl+1)⊙σ′(zl) (5)
其中,wl+1表示第l层和第l+1层之间的权重参数矩阵,T表示对矩阵进行转置操作,δl+1表示第l+1层的误差,其他部分与式(3)中相同;
子分步骤B1b:将子分步骤B1a提及的卷积模块、池化模块以及全连接层模块按照一定的方式组合在一起,形成特征提取网络,并采用高斯初始化对网络进行初始化操作。
子步骤B2:构建提取人脸表情图片序列动态特征的网络结构,并对其进行参数初始化;
具体采用的每一层的卷积核以及池化层结果如下表所示:
表2动态特征提取网络结构
卷积层 卷积核 输出层
Input 64×64×6
Conv2d_1a 3×3.2 32×32×64
BN_1a 32×32×64
MaxPool_2a 2×2.2 16×16×64
Conv2d_3a 3×3.1 16×16×128
BN_4a 16×16×128
MaxPool_4b 2×2.2 8×8×128
FC 1×1×1024
FC 1×1×128
卷积核=卷积核高度×卷积核宽度.步长
子分步骤B2a:构建提取动态特征的神经网络结构,因为主要目的是提取动态特征,所以主要精力可以放在提取时态特征上,无需对图片的静态特征做精细的提取,所以采用一个深度较浅的卷积神经网络结构就可以达到这个效果;
子分步骤B2b:因为是要提取人脸表情序列的动态特征,因此构建的卷积神经网络的结构的输入是序列的相邻两帧图像,即神经网络结构的输入是深度为6的图像。
子步骤B3:构建一个循环神经网络,将上述两个网络结构提取的特征融合后作为循环
子分步骤B3a:上述两个网络结构输出都是长度为128的特征向量,经过特征融合后形成长度为256的特征向量,作为循环神经网络的输入;
子分步骤B3b:构建循环神经网络来进行人脸动态表情的识别,本发明采用LSTM(Long Short-Term Memory)类型的循环神经网络结构,LSTM解决了RNNs的长期依赖问题,
LSTM的核心之处就是它的神经元状态,LSTM用两个门来控制单元状态c的内容:
一个遗忘门(forgetgate),LSTM的第一步就是决定什么信息应该被神经元遗忘。这是一个被称为“遗忘门层”的Sigmoid层组成的。它输入ht-1和xt,然后在ct-1的每个神经元状态输出0~1之间的数字。“1”表示“完全保留这个”,“0”表示“完全遗忘这个”。遗忘门按照以下公式(6)执行,
ft=σ(Wf·[ht-1,xt]+bf) (6)
其中,ht-1表示t-1时刻单元状态与输出合并成的一个状态,xt表示t时刻的输入,Wf表示遗忘门的权重参数矩阵,bf表示对映这个遗忘门的偏置,σ表示激活函数Sigmoid。
一个输入门(inputgate),它决定了当前时刻网络的输入xt有多少保存到单元状态ct,“输入层”的Sigmoid层决定要更新的数值it,然后,一个tanh层生成一个新的候选数值
Figure BDA0003402699380000111
它会被增加到神经元状态中,输入门的执行过程如式(7)、式(8)和式(9)所示,
it=σ(Wi·[ht-1,xt]+bi) (7)
Figure BDA0003402699380000112
Figure BDA0003402699380000113
其中式(9)目的是更新旧的神经元状态Ct-1到新的神经元状态Ct,给旧的状态乘以一个ft,遗忘掉之前决定要遗忘的信息,然后增加
Figure BDA0003402699380000114
这是新的候选值。
最后,LSTM用输出门(outputgate)来控制单元状态Ct有多少输出到LSTM的当前输出值ht,使用Sigmoid层来决定哪一部分的神经元状态需要被输出,然后让神经元状态经过tanh层(让输出值在-1~1之间),然后乘上Sigmoid门限的输出,这样就会输出想要输出的,输出门的执行过程如式(10)和式(11)所示,
ot=σ(Wo[ht-1,xt]+bo) (10)
ht=ot*tanh(Ct) (11)
子分步骤B3c:将子步骤B1和子步骤B2构建的卷积神经网络的输出进行特征融合后输入到子步骤B3中构建的循环神经网络中,这样就构成了一个识别动态表情的端到端的深度网络结构。
步骤C:对静态特征提取网络采用一种新的基于边界分类的损失函数AM-SoftmaxLoss,其函数的数学表达式如下:
Figure BDA0003402699380000121
Figure BDA0003402699380000122
其中,N表示网络输出的类别数目,cosθ表示特征向量x和权重向量w之间角度的余弦值,s与m为超参数超参数s可以加快模型的收敛,超参数m控制惩罚力度,m越大惩罚力度越强。
之所以引入余弦函数,是因为通过Softmax训练后的模型,其不同类别的特征在空间中的分布具有角度性质,采用AM-Softmax Loss可以训练得到的同类样本特征在空间中的分布更加紧凑,即最大化类间距离,最小化类内距离。学习的目标是缩小样本特征与类中心的角度θ,也就是增大这个余弦函数值,那么损失函数越大,惩罚力度就越大。
步骤D:利用训练好的深度卷积网络模型识别人脸表情,得到准确实时的识别结果。
综上所述,本发明所采用的网络结构由三部分组成:静态特征提取网络、动态特征提取网络以及循环神经网络,利用这三部分网络结构实现了人脸动态表情特征的提取和分类,无需手动提取特征,省时省力,极大的提高了识别效率,便于人脸表情识别在工业,服务业方面的应用,能够更全面、更深入的表达人脸表情的特点。人脸的表情的变化是一个动态的过程,不是瞬间变化的,提取动态的特征要比提取静态的特征更有说服力,并且使用卷积神经网络和LSTM(长短期记忆网络)的组合可以很好地达到提取人脸动态特征的目标,也提高了人脸表情识别的精度。

Claims (8)

1.一种基于端到端卷积神经网络的人脸动态表情识别方法,其特征在于,包括:
步骤A:对采集的人脸表情图像序列数据集进行预处理,并将数据集按照比例划分为训练集和测试集;
步骤B:根据每个模块的功能需求的不同,构建出不同的卷积神经网络模型,并对模型中的参数进行初始化设置;
步骤C:将训练集根据需要输入到对应的卷积神经网络模型中,并且采用基于边界分类的损失函数来进行训练,将训练好的卷积神经网络模型按照事先设计好的方式组合起来得到最终的卷积神经网络模型;
步骤D:利用最终的卷积神经网络模型识别人脸表情,得到实时的人脸动态表情识别结果。
2.如权利要求1所述的基于端到端卷积神经网络的人脸动态表情识别方法,其特征在于,所述步骤A包括:
子步骤A1:采集人脸表情图像序列,以形成人脸动态表情数据集;
子步骤A2:对人脸图像进行预处理,包括高斯滤波,人脸裁剪以及归一化处理;
子步骤A3:将整个人脸表情图像序列数据集以4:1的比例划分为训练集和测试集。
3.如权利要求2所示的基于端到端卷积神经网络的人脸动态表情识别方法,其特征在于,所述子步骤A2包括:
子分步骤A2a:首先对数据集图片的大小统一设置为480x480,然后采用公式
Figure FDA0003402699370000011
对图像进行高斯滤波,高斯滤波去噪就是对整幅图像像素值进行加权平均,针对每一个像素点的值,都由本身值和邻域内的其他像素值经过加权平均后得到;其中x和y为图像中像素点的坐标,σ为标准差;
子分步骤A2b:采用归一化公式
Figure FDA0003402699370000012
对训练集图像进行归一化处理,其中(i,j)表示像素点在图像中的位置,xij表示位置(i,j)的像素值,xmin是像素的最小值,xmax是像素的最大值;
子分步骤A2c:采用MTCNN进行人脸检测,将人脸检测和人脸特征点标定结合起来,得到的人脸特征点用来实现人脸校正以及人脸裁剪。
4.如权利要求1所述的基于端到端卷积神经网络的人脸动态表情识别方法,其特征在于,所述步骤B包括:
子步骤B1:构建提取人脸表情图片静态特征的网络结构,并进行参数初始化;
子步骤B2:构建提取人脸表情图片序列动态特征的网络结构,并进行参数初始化;
子步骤B3:构建一个循环神经网络,将上述两个网络结构提取的特征融合后作为循环神经网络的输入,最终识别出表情类别。
5.如权利要求1所述的基于端到端卷积神经网络的人脸动态表情识别方法,其特征在于,所述步骤B1包括:
子分步骤B1a:构建的特征提取模块包括设置卷积层参数和池化层参数,其中卷积层的前向传播公式如式(1)所示,
Figure FDA0003402699370000021
m和n表示上一层和当前层上特征图的映射编号,
Figure FDA0003402699370000022
表示当前第l+1层的第n个特征图,
Figure FDA0003402699370000023
表示第l层的第m个特征图,
Figure FDA0003402699370000024
表示第l+1层的第n个特征图和第l层的第m个特征图之间的卷积核的权重参数矩阵,
Figure FDA0003402699370000025
表示第l+1层的第n个特征图对应的偏置项,Mn表示输入特征图的一个子集,*表示卷积操作,f表示激活函数;
卷积层反向误差传播公式如式(2)所示,
δl=δl+1*ROT180(wl+1)⊙σ′(zl) (2)
其中,δl表示第l层的神经节点的误差,δl+1表示第l+1层的误差,⊙表示点乘;ROT(180)表示旋转180°,即转置,wl+1表示第l层到l+1层的权重参数矩阵,zl表示第l层神经元的输入,σ表示激活函数,σ′即对激活函数进行求导;
对于池化层前向传播,直接对上一层的特征图相邻的4个项进行求均值,采用均值池化,并且池化窗口大小设为2,而对于池化层的反向传播,反向误差传播公式如式(3)所示:
δl=upsample(δl+1)⊙σ′(zl) (3)
其中,δl,δl+1以及σ′(zl)和式(2)中的含义一样,upsample表示上采样,mean pooling的前向传播就是把一个窗口中的值求取平均来做pooling,那么反向传播的过程也就是把一个元素的梯度等分为n份分配给前一层,保证池化前后的梯度之和保持不变;
对于全连接层的前向传播如公式(4)所示,
Figure FDA0003402699370000031
其中,j和k表示神经元的索引,l为对应的层数,
Figure FDA0003402699370000032
表示的是l-1层中第k个神经元和l层中第j个神经元之间的权重;
全连接层的误差反向传播如公式(5)所示,
δl=((wl+1)Tδl+1)⊙σ′(zl) (5)
其中,wl+1表示第l层和第l+1层之间的权重参数矩阵,T表示对矩阵进行转置操作,δl+1表示第l+1层的误差;
子分步骤B1b:将子分步骤B1a提及的卷积模块、池化模块以及全连接层模块组合在一起,形成特征提取网络,并采用高斯初始化对网络进行初始化操作。
6.如权利要求1所述的基于端到端卷积神经网络的人脸动态表情识别方法,其特征在于,所述子步骤B2包括,
子分步骤B2a:构建提取动态特征的神经网络结构;
子分步骤B2b:构建的卷积神经网络结构的输入是序列的相邻两帧图像,即神经网络结构的输入是深度为6的图像。
7.如权利要求1所述的基于端到端卷积神经网络的人脸动态表情识别方法,其特征在于,所述子步骤B3包括,
子分步骤B3a:两个网络结构输出都是长度为128的特征向量,经过特征融合后形成长度为256的特征向量,作为循环神经网络的输入;
子分步骤B3b:构建循环神经网络来进行人脸动态表情的识别,采用LSTM类型的循环神经网络结构,LSTM用两个门来控制单元状态c的内容:
一个遗忘门forgetgate,LSTM的第一步就是决定什么信息应该被神经元遗忘;这是一个被称为“遗忘门层”的Sigmoid层组成的,输入ht-1和xt,然后在ct-1的每个神经元状态输出0~1之间的数字;1表示完全保留这个,0表示完全遗忘这个;遗忘门按照以下公式(6)执行,
ft=σ(Wf·[ht-1,xt]+bf) (6)
其中,ht-1表示t-1时刻单元状态与输出合并成的一个状态,xt表示t时刻的输入,Wf表示遗忘门的权重参数矩阵,bf表示对映这个遗忘门的偏置,σ表示激活函数Sigmoid;
一个输入门inputgate,决定了当前时刻网络的输入xt有多少保存到单元状态ct,“输入层”的Sigmoid层决定要更新的数值it,然后,一个tanh层生成一个新的候选数值
Figure FDA0003402699370000041
Figure FDA0003402699370000042
被增加到神经元状态中,输入门的执行过程如式(7)、式(8)和式(9)所示,
it=σ(Wi·[ht-1,xt]+bi) (7)
Figure FDA0003402699370000043
Figure FDA0003402699370000044
其中式(9)更新旧的神经元状态Ct-1到新的神经元状态Ct,给旧的状态乘以一个ft,遗忘掉之前决定要遗忘的信息,然后增加
Figure FDA0003402699370000045
这是新的候选值;
最后,LSTM用输出门outputgate来控制单元状态Ct有多少输出到LSTM的当前输出值ht,使用Sigmoid层来决定哪一部分的神经元状态需要被输出,然后让神经元状态经过tanh层让输出值在-1~1之间,然后乘上Sigmoid门限的输出;输出门的执行过程如式(10)和式(11)所示,
ot=σ(Wo[ht-1,xt]+bo) (10)
ht=ot*tanh(Ct) (11)
式(10)中ot代表Sigmoid门的输出,σ表示Sigmoid函数,Wo和bo分别代表计算单元状态的权重矩阵和偏置项,ht-1和xt分别代表上一个时刻的输出状态和当前时刻的输入;式(11)中ht表示当前时刻的输出状态,Ct表示当前时刻的单元状态;
子分步骤B3c:将子步骤B1和子步骤B2构建的卷积神经网络的输出进行特征融合后输入到子步骤B3中构建的循环神经网络中,构成一个识别动态表情的端到端的深度网络结构。
8.如权利要求1所述的基于端到端卷积神经网络的人脸动态表情识别方法,其特征在于,所述步骤C包括,
引入一种基于边界分类的损失函数AM-Softmax Loss对静态特征提取网络进行训练,函数的数学表达式如下:
Figure FDA0003402699370000051
Figure FDA0003402699370000052
其中,N表示网络输出的类别数目,cosθ表示特征向量x和权重向量w之间角度的余弦值;yi表示对应于输入xi的真实标签,所以
Figure FDA0003402699370000053
表示与输出中真实标签对应的权重向量w与特征向量x的夹角的余弦值,cosθj表示输出中与真实标签不对应的权重向量w与特征向量x的夹角的余弦值;s与m为超参数,超参数s加快模型的收敛,超参数m控制惩罚力度,m越大惩罚力度越强;log表示对数函数,对括号里的表达式值进行对数变换;e是数学常数,是自然对数函数的底数。
CN202111503998.3A 2021-12-09 2021-12-09 一种基于端到端卷积神经网络的人脸动态表情识别方法 Pending CN114202792A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111503998.3A CN114202792A (zh) 2021-12-09 2021-12-09 一种基于端到端卷积神经网络的人脸动态表情识别方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111503998.3A CN114202792A (zh) 2021-12-09 2021-12-09 一种基于端到端卷积神经网络的人脸动态表情识别方法

Publications (1)

Publication Number Publication Date
CN114202792A true CN114202792A (zh) 2022-03-18

Family

ID=80651901

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111503998.3A Pending CN114202792A (zh) 2021-12-09 2021-12-09 一种基于端到端卷积神经网络的人脸动态表情识别方法

Country Status (1)

Country Link
CN (1) CN114202792A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114743251A (zh) * 2022-05-23 2022-07-12 西北大学 一种基于共享集成卷积神经网络的戏曲人物面部表情识别方法
CN116310217A (zh) * 2023-03-15 2023-06-23 精创石溪科技(成都)有限公司 基于三维数字图像相关法的人体运动中肌肉动态评估方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114743251A (zh) * 2022-05-23 2022-07-12 西北大学 一种基于共享集成卷积神经网络的戏曲人物面部表情识别方法
CN114743251B (zh) * 2022-05-23 2024-02-27 西北大学 一种基于共享集成卷积神经网络的戏曲人物面部表情识别方法
CN116310217A (zh) * 2023-03-15 2023-06-23 精创石溪科技(成都)有限公司 基于三维数字图像相关法的人体运动中肌肉动态评估方法
CN116310217B (zh) * 2023-03-15 2024-01-30 精创石溪科技(成都)有限公司 基于三维数字图像相关法的人体运动中肌肉动态评估方法

Similar Documents

Publication Publication Date Title
CN110532900B (zh) 基于U-Net和LS-CNN的人脸表情识别方法
CN108615010B (zh) 基于平行卷积神经网络特征图融合的人脸表情识别方法
CN107491726B (zh) 一种基于多通道并行卷积神经网络的实时表情识别方法
CN106682616B (zh) 基于双通道特征深度学习的新生儿疼痛表情识别方法
CN106909938B (zh) 基于深度学习网络的视角无关性行为识别方法
Shiri et al. A comprehensive overview and comparative analysis on deep learning models: CNN, RNN, LSTM, GRU
CN109101938B (zh) 一种基于卷积神经网络的多标签年龄估计方法
CN106980811A (zh) 人脸表情识别方法和人脸表情识别装置
CN111461176A (zh) 基于归一化互信息的多模态融合方法、装置、介质及设备
CN108171318B (zh) 一种基于模拟退火—高斯函数的卷积神经网络集成方法
CN103824054A (zh) 一种基于级联深度神经网络的人脸属性识别方法
CN114202792A (zh) 一种基于端到端卷积神经网络的人脸动态表情识别方法
CN108304823A (zh) 一种基于双卷积cnn和长短时记忆网络的表情识别方法
CN112859898B (zh) 一种基于双通道双向神经网络的飞行器轨迹预测方法
CN111199202B (zh) 基于循环注意力网络的人体动作识别方法及识别装置
CN110210380B (zh) 基于表情识别与心理学测试生成性格的分析方法
CN109344713A (zh) 一种姿态鲁棒的人脸识别方法
CN108256307A (zh) 一种智能商务旅居房车的混合增强智能认知方法
CN111028319A (zh) 一种基于面部运动单元的三维非真实感表情生成方法
CN113011243A (zh) 基于胶囊网络的面部表情分析方法
CN110472693A (zh) 一种图像处理及分类方法和系统
CN116564355A (zh) 一种基于自注意力机制融合的多模态情感识别方法、系统、设备及介质
Zheng et al. Facial expression recognition based on texture and shape
CN112132257A (zh) 基于金字塔池化及长期记忆结构的神经网络模型训练方法
CN114937182A (zh) 一种基于情感轮和卷积神经网络的图像情感分布预测方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination