基于注意力机制和一维卷积滑窗的微表情发现方法及系统

文档序号:30982369发布日期:2022-08-03 00:54阅读:107来源:国知局
基于注意力机制和一维卷积滑窗的微表情发现方法及系统

1.本发明涉及计算机视觉技术领域,特别是涉及一种基于注意力机制和一维卷积滑窗的微表情发现方法及系统。


背景技术:

2.本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
3.微表情发现是指从视频流中找出微表情间隔,并标记微表情的起始帧、顶点帧和结束帧;起始帧是指微表情开始出现的帧;顶点帧是指微表情运动幅度最大的帧;结束帧是指微表情消失的帧。
4.起初,几乎所有的方法都试图通过计算帧之间的特征差异,并通过阈值来发现视频中的微表情。例如,使用局部二进制模式的卡方距离来发现微表情或者使用光流的主方向幅度的最大差异值来发现微表情。然而,使用阈值的方法很难确定面部的微小运动。后来提出利用机器学习技术来区分微表情和正常的面部表情。然而传统的机器学习方法不够稳健,无法处理微表情的细微运动。
5.近年来,随着深度学习的快速发展,虽然克服了传统方法的局限性,但是,仅在微表情数据集的短视频上进行分析。在短视频中,很少有其他种类的头部动作。同时,光线变化等环境对图像的影响也可以忽略不计。因此,微表情是短视频中比较明显的动作,很容易被发现。
6.相比之下,在长视频中,参与者难免会有眨眼、吞咽、头部微弱旋转等大量头部动作,因此在长视频中发现微表情更难。有的方法尝试通过在预处理阶段设置滑动窗口将长视频拆分为短视频,然后对每一个短视频分别进行微表情识别,这样使算法更容易专注于提取微表情的特征。然而,这样仍是针对短视频进行的分析,设计了只针对单一短视频识别的二分类网络,无法从一个长视频的角度,分析帧与帧之间的关系,导致长视频中微表情定位不准确的问题。


技术实现要素:

7.为了解决上述问题,本发明提出了一种基于注意力机制和一维卷积滑窗的微表情发现方法及系统,基于注意力机制提取全局注意力特征和局部注意力特征,利用微表情间隔内的相关性突出时间维度上的关键帧特征,使用一维卷积滑窗将注意力特征划分成多个检测间隔,对每个检测间隔内的特征进行微表情识别,最后将每个检测间隔的微表情识别结果进行进一步的合并分组,以更加准确的定位到真实的微表情位置。
8.为了实现上述目的,本发明采用如下技术方案:
9.第一方面,本发明提供一种基于注意力机制和一维卷积滑窗的微表情发现方法,包括:
10.获取视频流的连续帧图像,对连续帧图像进行预处理后,进行空间特征的提取,且
对空间特征进行全局特征和局部特征的提取;
11.根据某一图像与其他图像的全局特征之间的相关度,以及局部特征之间的相关度,分别得到全局注意力权重和局部注意力权重,根据全局注意力权重和局部注意力权重分别得到全局注意力特征和局部注意力特征,将全局注意力特征和局部注意力特征融合得到注意力特征;
12.采用一维卷积滑窗以设定步长和检测间隔在注意力特征中移动,以提取每个检测间隔内的特征,对每个检测间隔内的特征进行微表情识别,将检测间隔的微表情识别结果进行间隔分组,以定位微表情位置。
13.作为可选择的实施方式,全局注意力权重attg为:
[0014][0015]
其中,f
l
是局部特征;fg是全局特征,是向量长度;
[0016]
将全局注意力权重与全局特征相乘得到全局注意力特征。
[0017]
作为可选择的实施方式,局部注意力权重att
l
为:
[0018][0019]
其中,fg是全局特征;f
l
是局部特征;d是向量长度;
[0020]
将局部注意力权重与局部特征相乘得到局部注意力特征。
[0021]
作为可选择的实施方式,将全局注意力特征和局部注意力特征相加后取平均得到注意力特征。
[0022]
作为可选择的实施方式,对连续帧图像经预处理后得到图像序列,对图像序列利用vgg16网络提取空间特征,利用bi-lstm对空间特征提取全局特征,利用一维卷积对空间特征提取局部特征。
[0023]
作为可选择的实施方式,一维卷积滑窗从注意力特征的一侧开始,覆盖注意力特征中kernel_size个元素,对应覆盖位置的元素相乘并相加,得到当前检测间隔内的特征,然后向另一侧移动stride个单位,再次执行相同的操作,最终得到特征向量。
[0024]
作为可选择的实施方式,将检测间隔的微表情识别结果进行间隔分组的过程包括:
[0025]
获取检测间隔的微表情识别结果大于第一阈值的检测间隔,并获取其在视频流中的实际位置,并将该位置数值设定为1,其余位置设定为0;
[0026]
以第一个数值为1的位置作为初始间隔的起始帧位置,以第一个数值为0的点的前一位置作为初始间隔的结束帧位置,将起始帧位置和结束帧位置组成的间隔添加到初始间隔分组列表中;
[0027]
判断初始间隔分组列表中当前间隔的结束帧位置与其后一间隔的起始帧位置之间的差值的绝对值是否小于或等于第二阈值的间隔,若是,则将当前间隔与其后一间隔合并,并添加到间隔分组列表中;否则,将当前间隔添加到间隔分组列表中;
[0028]
获取间隔分组列表中间隔帧数满足微表情平均帧数的间隔,以此定位微表情位置。
[0029]
作为可选择的实施方式,所述预处理包括,对连续帧图像进行像素值的归一化处理,对像素值归一化后的连续帧图像进行人脸检测、人脸对齐、图像裁剪和大小归一化处理。
[0030]
第二方面,本发明提供一种基于注意力机制和一维卷积滑窗的微表情发现系统,包括:
[0031]
特征提取模块,被配置为获取视频流的连续帧图像,对连续帧图像进行预处理后,进行空间特征的提取,且对空间特征进行全局特征和局部特征的提取;
[0032]
注意力提取模块,被配置为根据某一图像与其他图像的全局特征之间的相关度,以及局部特征之间的相关度,分别得到全局注意力权重和局部注意力权重,根据全局注意力权重和局部注意力权重分别得到全局注意力特征和局部注意力特征,将全局注意力特征和局部注意力特征融合得到注意力特征;
[0033]
微表情定位模块,被配置为采用一维卷积滑窗以设定步长和检测间隔在注意力特征中移动,以提取每个检测间隔内的特征,对每个检测间隔内的特征进行微表情识别,将检测间隔的微表情识别结果进行间隔分组,以定位微表情位置。
[0034]
第三方面,本发明提供一种电子设备,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成第一方面所述的方法。
[0035]
第四方面,本发明提供一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成第一方面所述的方法。
[0036]
与现有技术相比,本发明的有益效果为:
[0037]
本发明提出一种基于注意力机制和一维卷积滑窗的微表情发现方法及系统,是针对长视频的微表情发现算法,基于注意力机制提取全局注意力特征和局部注意力特征,利用微表情间隔内的相关性突出时间维度上的关键帧特征,保留有用的长距离信息,又获得了足够有意义的组合特征。从有限的数据中有效地提取微表情最具代表性的特征,提高定位的准确性。
[0038]
本发明提出一种基于注意力机制和一维卷积滑窗的微表情发现方法及系统,使用一维卷积滑窗将注意力特征划分成多个检测间隔,不同于现有方法在预处理阶段划分短视频,本发明是将滑窗以一维卷积的形式嵌入到网络中进行检测间隔的划分,对每个检测间隔内的特征进行微表情识别,得到每个检测间隔属于微表情的概率。
[0039]
本发明提出一种基于注意力机制和一维卷积滑窗的微表情发现方法及系统,将每个检测间隔的微表情识别结果进行进一步的合并分组,以更加准确的定位到真实的微表情位置。
[0040]
本发明附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
[0041]
构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
[0042]
图1为本发明实施例1提供的基于注意力机制和一维卷积滑窗的微表情发现方法
流程图;
[0043]
图2为本发明实施例1提供的基于注意力机制和一维卷积滑窗的微表情发现模型结构图;
[0044]
图3为本发明实施例1提供的注意力模块图示意图;
[0045]
图4为本发明实施例1提供的滑窗工作示意图;
[0046]
图5为本发明实施例1提供的初始数组图;
[0047]
图6为本发明实施例1提供的粗略分组图;
[0048]
图7为本发明实施例1提供的精细分组图;
[0049]
图8为本发明实施例1提供的筛选图。
具体实施方式
[0050]
下面结合附图与实施例对本发明做进一步说明。
[0051]
应该指出,以下详细说明都是示例性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
[0052]
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0053]
在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
[0054]
实施例1
[0055]
本实施例提供一种基于注意力机制和一维卷积滑窗的微表情发现方法,包括:
[0056]
获取视频流的连续帧图像,对连续帧图像进行预处理后,进行空间特征的提取,且对空间特征进行全局特征和局部特征的提取;
[0057]
根据某一图像与其他图像的全局特征之间的相关度,以及局部特征之间的相关度,分别得到全局注意力权重和局部注意力权重,根据全局注意力权重和局部注意力权重分别得到全局注意力特征和局部注意力特征,将全局注意力特征和局部注意力特征融合得到注意力特征;
[0058]
采用一维卷积滑窗以设定步长和检测间隔在注意力特征中移动,以提取每个检测间隔内的特征,对每个检测间隔内的特征进行微表情识别,将检测间隔的微表情识别结果进行间隔分组,以定位微表情位置。
[0059]
如图1所示,在本实施例中,首先对视频流进行解析分帧后,得到连续帧图像,并对帧图像进行像素值的归一化处理,将帧图像的像素值归一化至0~1的范围内,归一化如公式(1)所示。
[0060][0061]
其中,g为变换前的帧图像,g

为归一化后的帧图像,g
max
为变换前的帧图像中像素
最大值,g
min
为变换前的帧图像中像素最小值。
[0062]
然后,对像素值归一化后的帧图像进行人脸检测、人脸对齐、图像裁剪以及帧图像大小归一化处理;具体包括:
[0063]
(1)人脸检测;使用dlib工具包中的人脸检测器检测每一帧的人脸,并裁剪获得人脸框,然后使用人脸标志点检测函数来获取视频第一帧中面部的68个面部标志点。
[0064]
(2)人脸对齐;由于人的头部会有轻微的偏移,这会影响提取的图像特征。所以为了消除影响,使用仿射变换将每一帧与第一帧进行人脸对齐。
[0065]
选取不受面部表情变化影响的13个人脸标志点作为人脸对齐的参考点,分布在脸颊两侧和鼻根处;对第i帧进行分析,由于光流可以反映物体的移动,则根据稠密光流法计算第i帧与第一帧的光流场,获得13个人脸标志点在当前帧上的位移量;通过与第一帧的标志点坐标值相加获得13个人脸标志点在第i帧vi中新的坐标值,并组成坐标矩阵x,如公式(2)所示。
[0066][0067]
第一帧的13个人脸标志点坐标矩阵记为y,如公式(3)所示。
[0068][0069]
使用最小二乘法计算仿射矩阵w,如公式(4)所示。
[0070]
w=(x
t
x)-1
x
tyꢀꢀꢀ
(4)
[0071]
将仿射矩阵w与第i帧相乘,做仿射变换,以使得第i帧与第一帧对齐;仿射变换如公式(5)所示。
[0072]v′i=w
·vi
ꢀꢀꢀꢀ
(5)
[0073]
其他帧同理,最终视频中的所有帧都与第一帧对齐。
[0074]
(3)图像裁剪和图像大小归一化;人脸对齐后,人脸的周围仍有背景噪声,如头发、衣服和耳机等;因此对人脸进一步裁剪;最后,将所有帧图像大小都归一化为224
×
224的大小。
[0075]
在本实施例中,对经上述预处理后得到的图像序列,采用基于注意力机制和一维卷积滑窗的微表情发现模型,定位微表情间隔的位置;如图2所示,微表情发现模型包括特征提取模块、注意力模块、滑窗模块。
[0076]
在本实施例中,特征提取模块包括空间特征模块、全局特征模块和局部特征模块;
[0077]
其中,空间特征模块利用vgg16网络前35层网络架构提取图像序列每一帧输出长度为4096的特征向量,得到空间特征f
sp
∈rn×
l
,n为图像序列的帧数,l=4096;
[0078]
全局特征模块为利用bi-lstm对空间特征f
sp
提取全局特征fg∈rn×
200

[0079]
局部特征模块为利用一维卷积对空间特征f
sp
提取局部特征f
l
∈rn×
200

[0080]
在本实施例中,注意力模块利用微表情间隔内的相关性突出时间维度上的关键帧特征,如图3所示,包括全局注意力模块和局部注意力模块;
[0081]
在全局注意力模块中,根据每个图像位置的局部特征f
l
得到全局特征fg的全局注
意力特征,这样既保留了fg有用的长距离信息,又获得了足够有意义的组合特征;
[0082]
首先计算全局注意力权重,根据某一图像与其他图像的全局特征之间的相关度计算全局注意力权重,如公式(6)所示;
[0083][0084]
其中,attg∈rn×n的每一行含有不同图像的全局特征与当前行对应的图像的全局特征之间的相关依赖程度;f
l
∈rn×
200
是局部特征,也是源矩阵;fg∈rn×
200
是全局特征,也是目标矩阵;分母上的是为了起到调节作用,防止输入softmax的值过大,导致偏导数趋近于0;d是向量长度,此处指代全局特征每一行的向量长度,d=200。
[0085]
然后,将全局注意力权重与全局特征fg相乘,得到全局注意力特征f
′g;
[0086]f′g=attg·fg
ꢀꢀ
(7)
[0087]
其中,f
′g∈rn×
200

[0088]
在局部注意力模块中,根据全局特征fg提取局部特征f
l
的局部注意力特征,其会自动为更相关、信息更丰富的局部特征分配更大的权重;
[0089]
首先计算局部注意力权重,根据某一图像与其他图像的局部特征之间的相关度计算局部注意力权重,如公式(8)所示;
[0090][0091]
其中,att
l
∈rn×n的每一行含有不同图像的局部特征与当前行对应的图像的局部特征之间的相关依赖程度;fg∈rn×
200
是全局特征,也是源矩阵;f
l
∈rn×
200
是局部特征,也是目标矩阵;d是向量长度,此处指代局部特征每一行的向量长度,d=200。
[0092]
然后,将局部注意力权重与局部特征f
l
相乘,得到局部注意力特征f

l

[0093]f′
l
=att
l
·fl
ꢀꢀꢀ
(9)
[0094]
其中,f

l
∈rn×
200

[0095]
最后,将全局注意力特征和局部注意力特征进行融合,即将全局注意力特征和局部注意力特征相加取平均,得到最终的注意力特征f;
[0096][0097]
其中,f∈rn×
200

[0098]
在本实施例中,使用一维卷积核作为滑窗,卷积核大小为kernel_size,作为滑窗的大小,移动步长为stride,作为滑窗每次移动的距离,滑窗在网络中自动移动;
[0099]
如图4所示,滑窗首先从注意力特征的最左边开始,覆盖注意力特征中kernel_size个元素,对应覆盖位置的元素相乘并相加得到输出特征结果,即当前检测间隔内的特征;然后向右移动stride个单位,再执行相同的操作,最终得到一个长度为n

的特征向量;
[0100][0101]
其中,n

为滑窗移动后获得的特征向量长度,n为长视频的帧数;
[0102]
令stride=0.5
×
kernel_size,即滑窗每次移动会有0.5
×
kernel_size大小的区域重叠,这是为了减少因滑窗移动步长过大而导致错过微表情的误差。
[0103]
滑窗最后经过sigmoid层后,得到每个检测间隔是微表情的概率值;
[0104]
在本实施例中,采用损失函数进行网络训练,损失函数如公式(12)所示;
[0105][0106]
其中,m是视频个数,n

是每一个视频的标签向量的长度,是第i个视频的第j个检测间隔的真实标签,数值为0或1,是第i个视频的第j个检测间隔的预测标签,数值在0~1之间,可以认为是当前检测间隔是微表情的概率。
[0107]
考虑到一个微表情可能出现在多个检测间隔上,故本实施例根据每个检测间隔的微表情识别结果进行进一步的合并分组,包括粗略分组、精细分组和筛选,以便更加准确的定位到最终的微表情位置;具体地:
[0108]
(1)初始数组:首先设定一个长度为n、初始值均为0的数组a,然后获取长视频的预测标签中所有数值大于第一阈值γ的检测间隔在原始长视频上的实际位置,γ取0.5;如:若长度为n

的预测标签中第i个位置是0.8》0.5(位置索引从1开始),则其对应的检测间隔在长视频上的位置是[(i-1)
×
stride,(i-1)
×
stride+kernel_size];最后将数组a相应检测间隔位置内的所有数值都设定为1;以n=26,kernel_size=4,stride=2为例,如图5所示。
[0109]
(2)粗略分组:对数组a中的每一个点进行分析,首先确定第一个数值为1的点,将其位置作为初始间隔的起始帧位置,然后确定第一个数值为0的点,将其前一个数值为1的点的位置作为初始间隔的结束帧位置,最后将该间隔的起始帧位置和结束帧位置组成的列表添加到初始间隔分组列表中;之后再从当前点开始对剩余点分析,并重复以上步骤,直到对数组a所有点分析完毕为止;此时将所有的初始间隔都按照顺序添加到初始间隔分组列表中,如图6所示。
[0110]
(3)精细分组:判断初始间隔分组列表中每一组的结束帧位置与后一组的起始帧位置之间的差值的绝对值是否小于等于第二阈值β,β取2;若满足条件,则将前后两个间隔合并,然后将合并的间隔添加到间隔分组列表中;否则,只将当前组添加到间隔分组列表中;如图7所示。
[0111]
(4)筛选:判断间隔分组列表中每个间隔的帧数,若大于微表情间隔的平均帧数,则将其视为宏表情,并丢弃;微表情的平均帧数是10帧,如图8所示。
[0112]
实施例2
[0113]
本实施例提供一种基于注意力机制和一维卷积滑窗的微表情发现系统,包括:
[0114]
特征提取模块,被配置为获取视频流的连续帧图像,对连续帧图像进行预处理后,进行空间特征的提取,且对空间特征进行全局特征和局部特征的提取;
[0115]
注意力提取模块,被配置为根据某一图像与其他图像的全局特征之间的相关度,以及局部特征之间的相关度,分别得到全局注意力权重和局部注意力权重,根据全局注意力权重和局部注意力权重分别得到全局注意力特征和局部注意力特征,将全局注意力特征和局部注意力特征融合得到注意力特征;
[0116]
微表情定位模块,被配置为采用一维卷积滑窗以设定步长和检测间隔在注意力特征中移动,以提取每个检测间隔内的特征,对每个检测间隔内的特征进行微表情识别,将检
测间隔的微表情识别结果进行间隔分组,以定位微表情位置。
[0117]
此处需要说明的是,上述模块对应于实施例1中所述的步骤,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为系统的一部分可以在诸如一组计算机可执行指令的计算机系统中执行。
[0118]
在更多实施例中,还提供:
[0119]
一种电子设备,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成实施例1中所述的方法。为了简洁,在此不再赘述。
[0120]
应理解,本实施例中,处理器可以是中央处理单元cpu,处理器还可以是其他通用处理器、数字信号处理器dsp、专用集成电路asic,现成可编程门阵列fpga或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0121]
存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据、存储器的一部分还可以包括非易失性随机存储器。例如,存储器还可以存储设备类型的信息。
[0122]
一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成实施例1中所述的方法。
[0123]
实施例1中的方法可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器、闪存、只读存储器、可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
[0124]
本领域普通技术人员可以意识到,结合本实施例描述的各示例的单元即算法步骤,能够以电子硬件或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0125]
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1