基于注意力机制的表情识别方法、模型及模型训练方法
未命名
09-17
阅读:97
评论:0

1.本发明涉及视频表情识别技术领域,具体涉及基于注意力机制的表情识别方法、模型及模型训练方法。
背景技术:
2.随着计算机科学的发展,表情识别技术在现实社会中有着越来越广泛的应用,比如人机交互、安全驾驶和视频情感分析等。同时,由于教师的情绪与教学质量息息相关,因此许多研究人员试图将表情识别引入教育教学领域,以期在课堂教学活动中发挥重要作用。但是如何准确有效地提取视频序列表情特征,提高视频表情识别的准确率是该技术投入实际应用时要解决的关键问题。
3.针对视频中的表情识别问题,已有研究人员提出许多解决方法,旨在通过视频序列中的面部表情预测人类情绪状态,如基于传统的手工特征提取算法,但操作复杂且鲁棒性太差。随着深度学习技术的发展,提出了一系列可用于提取视频人脸表情特征的深度神经网络,如cnn和lstm、堆叠lstm和注意力机制、rnn和3d卷积神经网络、双流网络。现有基于深度学习方法的视频表情识别模型大多具有较强的特征提取能力,同时也考虑了视频序列的时间维度信息,但很少关注视频序列中长距离图像信息特征之间关系对视频表情识别的重要性,只关注部分导致难以全面地理解视频的内容。
技术实现要素:
4.针对现有技术存在的不足,本发明的目的在于提供基于注意力机制的表情识别方法、模型及模型训练方法。
5.为了实现上述目的,本发明提供如下技术方案:一种基于注意力机制的表情识别模型,包括编码器以及与编码器连接的后处理层,所述编码器内包括若干编码单元,所述编码单元用于对输入序列进行学习,以提取面部重要特征数据,使识别模型根据各时间步之间的相关性和重要性进行动态调整,其中部分所述编码单元之间设置基于区域的非局部注意力模块,所述非局部注意力模块建立长距离图像特征之间的相关性,以捕获全局的图像信息,所述后处理层对面部重要特征数据进行归一化处理和指数变换,以得到表情序列的预测值。
6.在本发明中,优选的,所述编码器内包括6个顺序设置的编码单元,每一所述编码单元输入输出维度相同。
7.在本发明中,优选的,其中所述编码单元包括一个时空分离注意力模块。
8.在本发明中,优选的,第3、4、5、6编码器之间设置基于区域的非局部注意力模块,以计算区域与整幅图像之间的相似度,选取关联度高的特征进行加权融合。
9.基于注意力机制的表情识别模型的训练方法,包括如下步骤:s1,获取视频序列;s2,视频序列预处理,划分表情识别训练集和表情识别验证集;
s3,采用表情识别训练集对表情识别模型进行训练,并采用表情识别验证集对训练好的表情识别模型进行验证。
10.在本发明中,优选的,步骤s2具体还包括:s21,使用opencv-dnn对所述视频序列进行人脸检测;s22,使用dlib对所述视频序列实现人脸对齐;s23,使用限制对比度自适应直方图均衡(clahe)对视频序列进行图像增强;s24,获取每个视频序列的表情帧数,并赋予标签;s25,划分表情识别训练集和表情识别验证集。
11.在本发明中,优选的,对表情识别训练集进行如下处理:s31,将表情识别训练集内的整图像划分为若干图像块,每个图像块之间区域不相交;s32,对图像块进行处理和编码,形成编码图像块;s33,对图像块每个视频帧进行特征提取,得到对应的特征向量,对特征向量归一化处理;s34,将处理后的特征向量合成一个序列,作为表情识别模型的输入,对表情识别模型进行训练。
12.在本发明中,优选的,通过在线增强技术和调整模型的学习率、动量、迭代次数来实现对于所述表情识别模型的训练。
13.在本发明中,优选的,步骤s1具体还包括如下步骤:s11,获取原始视频进行表情分类;s12,使用ffmpeg对视频进行分帧,得到所述视频序列。
14.基于注意力机制的表情识别模型的表情识别方法,待识别视频输入后首先进行图像预处理,得到待识别图像数据,将待识别图像数据平铺成向量,并嵌入位置数据后输入编码器中,通过编码单元依序多次提取图像中的面部特征向量,并基于区域的非局部注意力对相关的特征向量进行加权融合,最后通过归一化和指数变换输出表情序列的预测值。
15.与现有技术相比,本发明的有益效果是:本发明的模型结合timesformer的时空分离注意力机制和基于区域的非局部注意力机制,充分利用timesformer提取上下文的信息学习视频的时空维度特征,利用基于区域的非局部注意力机制学习到每个时间点的空间特征,可以有效地检测、识别和分类人面部表情,准确率高;本发明训练方法采用的视频图像预处理是基于深度学习的视频序列表情识别方法,通过使用限制对比度自适应直方图均衡(clahe)进行图像增强,opencv-dnn进行人脸检测,dlib进行人脸对齐,使得图像更加清晰易于处理。
附图说明
16.图1为本发明所述的一种基于注意力机制的表情识别模型的结构示意图。
17.图2为本发明所述的一种基于注意力机制的表情识别模型的时空分离注意力模块的结构示意图。
18.图3为本发明所述的一种基于注意力机制的表情识别模型法的基于区域的非局部
注意力模块的结构示意图。
19.图4为本发明所述的一种基于注意力机制的表情识别模型的训练方法的流程示意图。
具体实施方式
20.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
21.除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
22.请同时参见图1-3,本发明一较佳实施方式提供一种基于注意力机制的表情识别模型,针对现有的由于视频序列中存在的动态变化和复杂性会对模型的性能产生一定的挑战,视频序列中可能会存在漂移或者噪声,另外,视频序列通常具有多种不同的物体和行为,现有识别方法只关注部分,难以全面地理解视频的内容,识别表情不准确的问题,通过结合图像增强和人脸对齐进行图像处理技术,将timesformer的时空注意力机制和基于区域的非局部注意力机制相结合,具备一定的鲁棒性,可以很好地分析视频序列中的教师表情,识别准确率高,本模型具体包括包括编码器以及与编码器连接的后处理层,所述编码器内包括若干编码单元,所述编码单元用于对输入序列进行学习,以提取面部重要特征数据,使识别模型根据各时间步之间的相关性和重要性进行动态调整,其中部分所述编码单元之间设置基于区域的非局部注意力模块,所述非局部注意力模块建立长距离图像特征之间的相关性,以捕获全局的图像信息,所述后处理层对面部重要特征数据进行归一化处理和指数变换,以得到表情序列的预测值。
23.具体的,视频序列表情识别模型基于timesformer模型,编码器包括若干编码单元,每个编码单元内均包括一个时空分离注意力机制,每一编码单元输入输出维度相同。
24.进一步的,视频序列表情识别模型包括6个编码单元,每个编码单元的作用是对序列进行逐级的特征学习和降维,以提取序列的重要特征,同时保留序列的长时记忆,后处理层内设置有归一化函数及softmax函数,后处理层将编码器输出的表情特征数据进行归一化和指数变换操作,得到表情序列预测值。
25.进一步的,在第3,4,5,6的编码单元结构之间加入基于区域的非局部注意力机制,其中,该注意力使用了区域建模的方法,将输入特征图分成多个区域,然后对每个区域进行特征提取,以计算每个位置与其他位置之间的相似度,再进行加权融合,以获得全局信息,从而选取最相关的特征进行加权融合,这种方法在保留全局上下文信息的同时,减少了计算的复杂度,提升了特征表达的能力。
26.在本实施方式中,其中编码单元内设置有一个时空分离注意力模块。
27.进一步的,编码器单元采用了一个时空分离注意力机制,该注意力机制是分别关注空间和时间上信息特征的一种注意力机制,同时,在第3、4、5、6的编码单元之间,采用了
基于区域的非局部注意力机制,捕获长时距离之间的信息特征。
28.请参见图4,本发明另一较佳实施方式提供一种基于注意力机制的表情识别模型的训练方法,包括如下步骤:s1,获取视频序列;s2,视频序列预处理,划分表情识别训练集和表情识别验证集;s3,采用表情识别训练集对表情识别模型进行训练,并采用表情识别验证集对训练好的表情识别模型进行验证。
29.具体的,步骤s1包括如下步骤:s11,获取原始视频进行表情分类;s12,使用ffmpeg对视频进行分帧,得到视频序列。
30.进一步的,原始视频来自于视频人脸表情dfew数据集。
31.进一步的,将原始视频序列的每个视频序列分割成帧数为t=8的固定时长的片段,作为模型的输入,借助ffmpeg等软件来实现。将每个情绪类别的视频截取为对应的视频帧图像,按照情绪类别和视频编号依次对应,可得到约11552个视频序列,92416张人脸表情图像。
32.在本实施方式中,由于原始视频截取的视频帧包含复杂场景,同时人脸部位可能受到模糊轮廓,光照强弱的影响,使原始图片包含大量噪音,提取不到有用信息,若图像未经过处理直接使用,对神经网络识别精度产生很大的影响,所以对视频帧图像做数据预处理,把图像中无关信息的影响降至最低,增强图像中有效信息,从而降低对后续情绪识别算法的影响,故进行如下步骤:s21,使用opencv-dnn对视频序列进行人脸检测;进一步的,将视频帧图像进行人脸检测,将视频帧图像裁剪为包含人脸大小的224
×
224,去掉非人脸部分和背景的干扰。其中,采用opencv-dnn进行人脸检测,检测精度高,且适用于不同的面部朝向,对侧脸检测效果也好。将提取到的人脸图像按原排序方式进行保存,重新排成视频序列。
33.s22,使用dlib对视频序列实现人脸对齐;进一步的,由于视频中的人脸在不同图像中的位置、角度、大小等因素,导致不同图像中的同一人脸在像素上不完全重合,从而影响识别的效果。采用dlib人脸对齐技术对不同图像中的人脸进行对齐,使得同一人脸在像素上能够完全重合,从而提高识别的准确率和图像质量。
34.s23,使用限制对比度自适应直方图均衡(clahe)对视频序列进行图像增强;进一步的,将人脸检测和人脸对齐后的每一帧图像进行clahe增强处理,clahe通过将图像分成小图像块,并在每个小图像块上进行直方图均衡化,同时限制每个图像块中像素的最大对比度,以避免过度增强或失真,与传统的全局直方图均衡化相比,clahe算法可以有效地处理具有局部对比度变化的图像,并且能够避免过度增强图像噪声的问题,这将有助于削弱图像中的无关信息的影响,从而提高后续表情识别算法的准确性。
35.s24,获取每个视频序列的表情帧数,并赋予标签;s25,划分表情识别训练集和表情识别验证集。
36.进一步的,可按8:1的比例对标注完成的视频序列进行划分,得到表情识别训练集
和表情识别验证集,其中表情识别训练集用于训练表情识别模型,表情识别验证集用于验证训练好的表情识别模型。
37.在本实施方式中,还包括如下步骤:s31,将表情识别训练集内的整个图像划分为若干图像块,每个图像块之间区域不相交;s32,对图像块进行处理和编码,形成编码图像块;s33,对图像块每个视频帧进行特征提取,得到对应的特征向量,对特征向量归一化处理;s34,将处理后的特征向量合成一个序列,作为待训练表情识别模型的输入,对待训练表情识别模型进行训练。
38.在本实施方式中,表情识别模型通过在原始timesformer模型中加入基于区域的非局部注意力机制得到。
39.在本实施方式中,在步骤s3中,通过在线增强技术和调整模型的学习率、动量、迭代次数来实现对于表情识别模型的训练。
40.进一步的,在对于表情识别模型进行重新训练时,将训练视频序列输入到表情识别模型中,通过调整模型的学习率、动量、迭代次数等参数来实现对于表情识别模型的重新训练,以得到表情识别模型的新训练权重。其中,可采用余弦退火算法动态调整学习率,即根据learning rate和回调函数不断调整学习率。同时,将视频序列进行数据增强,拟采用的是在线增强,是在经过一轮的训练后,对这些数据进行扩充,如镜面翻转、平移、旋转等。
41.在本实施方式中,在利用具有新训练权重的表情识别模型对于目标对象的表情进行检测时,可基于具有新训练权重的表情识别模型构建目标对象,比如可借助pyqt5和opencv函数等开发界面和接口,基于具有新训练权重的视频序列表情识别模型来搭建目标对象表情实时识别系统。在使用时,步骤包括:步骤s41:加载具有新训练权重的视频序列表情识别模型;步骤s42: 选择推理模式,可以在线推理或离线推理。
42.步骤s43: 若离线推理,则选择一段教学视频进行分析,信息保存在后台;若在线推理,则选择摄像头,信息同时通过界面进行展示。
43.本发明另一较佳实施方式提供一种基于注意力机制的表情识别模型的表情识别方法,待识别视频输入后首先进行图像预处理,得到待识别图像数据,将待识别图像数据平铺成向量,并嵌入位置数据后输入编码器中,通过编码单元进行学习学习,以提取面部重要特征数据,使模型能根据各个时间步之间的相关性和重要性进行动态调整,基于区域的非局部注意力模块建立长距离图像特征之间的相关性,以捕获全局的图像信息,最后通过归一化和指数变换输出表情序列的预测值。
44.如图1所示,具体的,输入待识别视频,进行预处理,预处理包括人脸检测,人脸对齐以及图像增强,接着获取视频序列的表情帧数,得到 t帧预处理后的rgb图像,大小为h*w,其中h=w=224,t=8,首先将每帧图像分割成n个图像块,每个图像块的大小为p*p,其中n=hw/p2,p=16,最后,将图像块平铺成向量,其中p=1...n,代表图像块的位置,t=1....t,代表帧的索引,接着为每个图像块添加一个位置嵌入数据,将置嵌入数据线性映射到一
个嵌入向量,其中是一个可学习分类向量,代表的是编码单元的索引,=1,...,l,l=6,最后将输入到编码器中,当编码器接收到该向量时,首先计算出时间维度的查询/键/值(q/k/v),这是由前一编码单元输出向量计算出来的当前模块的查询/键/值(q/k/v)。
45.接着,在编码单元中计算时间上的注意力权重矩阵,其中,=48,表示每个注意力头输入的维度:(1)设,及分别表示第个编码单元第个头的q,k,v向量:(2)(3)(4)其中,=1,...,a表示注意力头索引,a=16,是可学习映射矩阵,ln()代表的是归一化;再与v加权求和得到各注意力头的输出,(5)然后,将各注意力头输出向量连接成矩阵,并经过线性映射得到时间注意力的特征图和残差操作得到中间编码特征图,其中是可学习映射矩阵,(6)(7)接着,将经过公式(2-4)得到更新后的q、k和v,计算空间上的自注意力权重,(8)同样经过公式(5),与v加权求和得到各注意力头的加权输出,将各注意力头输出向量连接成矩阵,如图2所示,并经过线性映射得到空间编码的特征图和残差操作得到中间编码特征图:(9)(10)
在经过归一化和前馈神经网络ffn(),得到第个编码单元的编码特征图的输出,如下公式(11)其中在3、4、5、6编码单元之间添加了基于区域的非局部注意力机制,其输入的数据是前一编码单元输出的编码特征图z,对其每个位置i,定义了一个以i为中心的固定大小的长方形区域,=,来计算各位置之间的关系,如下式:(12)其中,j表示列举所有与i相关的位置,=,是一个可学习的权重矩阵,是用1*1*1的卷积核去计算的一种表示形式,其是计算两者位置之间的相似性,并将其设置为(13)其中代表,是一个聚合函数,是用3*7*7的卷积核去学习每个区域内的信息特征,表示区域共享的向量,设置为一个可学习的向量,采用随机初始化的方式为赋予初始值,如图3所示,最终,经过一个可学习矩阵,是用1*1*1的卷积核去计算的一种表示形式,再与原始的输入相加,定义最终输出。
46.最后一个编码单元的输出给到后处理层,通过归一化函数和softmax函数进行分类预测,其中归一化函数的目的是将输入的数据进行归一化处理,使得向量中每个元素都在一个相似的尺度范围内(0,1);softmax函数将归一化后的向量作为softmax函数的输入,对向量中的每一个元素进行指数变换,并将变换后的元素进行归一化,得到一个概率分布,这个概率分布就是每个表情类别的概率。
47.上述说明是针对本发明较佳可行实施例的详细说明,但实施例并非用以限定本发明的专利申请范围,凡本发明所提示的技术精神下所完成的同等变化或修饰变更,均应属于本发明所涵盖专利范围。
技术特征:
1.一种基于注意力机制的表情识别模型,其特征在于:包括编码器以及与编码器连接的后处理层,所述编码器内包括若干编码单元,所述编码单元用于对输入序列进行学习,以提取面部重要特征数据,使识别模型根据各时间步之间的相关性和重要性进行动态调整,其中部分所述编码单元之间设置基于区域的非局部注意力模块,所述非局部注意力模块建立长距离图像特征之间的相关性,以捕获全局的图像信息,所述后处理层对面部重要特征数据进行归一化处理和指数变换,以得到表情序列的预测值。2.根据权利要求1所述的一种基于注意力机制的表情识别模型,其特征在于,所述编码器内包括6个顺序设置的编码单元,每一所述编码单元输入输出维度相同。3.根据权利要求1所述的一种基于注意力机制的表情识别模型,其特征在于,每一所述编码单元包括一个时空分离注意力模块。4.根据权利要求3所述的一种基于注意力机制的表情识别模型,其特征在于,第3、4、5、6编码器之间设置基于区域的非局部注意力模块,以计算区域与整幅图像之间的相似度,选取关联度高的特征进行加权融合。5.权利要求1-4任意一项所述的一种基于注意力机制的表情识别模型的训练方法,其特征在于,包括如下步骤:s1,获取视频序列;s2,视频序列预处理,划分表情识别训练集和表情识别验证集;s3,采用表情识别训练集对表情识别模型进行训练,并采用表情识别验证集对训练好的表情识别模型进行验证。6.根据权利要求5所述的一种基于注意力机制的表情识别模型的训练方法,其特征在于,步骤s2具体还包括:s21,使用opencv-dnn对所述视频序列进行人脸检测;s22,使用dlib对所述视频序列实现人脸对齐;s23,使用限制对比度自适应直方图均衡(clahe)对视频序列进行图像增强;s24,获取每个视频序列的表情帧数,并赋予标签;s25,划分表情识别训练集和表情识别验证集。7.根据权利要求6所述的一种基于注意力机制的表情识别模型的训练方法,其特征在于,对表情识别训练集进行如下处理:s31,将表情识别训练集内的整图像划分为若干图像块,每个图像块之间区域不相交;s32,对图像块进行处理和编码,形成编码图像块;s33,对图像块每个视频帧进行特征提取,得到对应的特征向量,对特征向量归一化处理;s34,将处理后的特征向量合成一个序列,作为表情识别模型的输入,对表情识别模型进行训练。8.根据权利要求5所述的一种基于注意力机制的表情识别模型的训练方法,其特征在于,通过在线增强技术和调整模型的学习率、动量、迭代次数来实现对于所述表情识别模型的训练。9.根据权利要求5所述的一种基于注意力机制的表情识别模型的训练方法,其特征在于,步骤s1具体还包括如下步骤:
s11,获取原始视频进行表情分类;s12,使用ffmpeg对视频进行分帧,得到所述视频序列。10.采用权利要求1-4任意一项所述的基于注意力机制的表情识别模型的表情识别方法,其特征在于,待识别视频输入后首先进行图像预处理,得到待识别图像数据,将待识别图像数据平铺成向量,并嵌入位置数据后输入编码器中,通过编码单元依序多次提取图像中的面部特征向量,并基于区域的非局部注意力对相关的特征向量进行加权融合,最后通过归一化和指数变换输出表情序列的预测值。
技术总结
本发明公开了一种基于注意力机制的表情识别模型,包括编码器以及与编码器连接的后处理层,编码器内包括若干编码单元,编码单元用于对输入序列进行学习,以提取面部重要特征数据,部分编码单元之间设置基于区域的非局部注意力模块,非局部注意力模块建立长距离图像特征之间的相关性,以捕获全局的图像信息,后处理层对面部重要特征数据进行归一化处理和指数变换,以得到表情序列的预测值;结合Timesformer的时空分离注意力机制和基于区域的非局部注意力机制,充分利用Timesformer提取上下文的信息学习视频的时空维度特征,利用基于区域的非局部注意力机制学习每个时间点的空间特征,有效地检测、识别和分类人面部表情,准确率高。准确率高。准确率高。
技术研发人员:韩婷婷 钟红梅 夏巍 刘如倩 窦淑伟
受保护的技术使用者:天津师范大学
技术研发日:2023.08.16
技术公布日:2023/9/14
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:番茄种子机械加工的定量包装设备的制作方法 下一篇:一种煤矿开采用钻孔装置