一种基于注意力cnn bi
‑
gru融合视觉信息的语音情感识别方法
技术领域
1.本发明属于语音信号处理与模式识别领域,特别是一种基于注意力cnn bi
‑
gru融合视觉信息的语音情感识别方法。
背景技术:2.情感识别属于计算科学、心理科学和认知科学等专业的交叉领域,其通过研究人与人交流过程中的情感表达特点,设计出具有相关反馈的人机交互环境,使计算机具备识别并理解人类情感信息的能力,是人机交互领域的一项重要研究课题。
3.在人际交往过程中,声音和面部表情是最自然而又直接的情感表达方式。在基于语音的情感识别领域,3dcnn、k
‑
means聚类、深步卷积神经网络(dscnn)和特征融合算法被广泛应用于特征提取和学习,使相关研究工作取得了一定的研究成果,但仍存在说话环境嘈杂和情感无关因素较多导致情感识别准确率低等问题。在基于面部表情的情感识别领域,通常使用空间注意力cnn(sacnn)、基于注意力的长短时记忆网络(alstms)、vgg
‑
19等进行面部情感识别,但光照变化和面部遮挡等干扰因素容易造成人脸检测的失败,进而影响面部表情的判别。
4.随着情感识别相关技术的不断成熟,人们对情感识别准确率等系统性能的要求越来越高,而单模态情感识别具有一定的局限性。运用多模态融合的方法能够弥补单个模态的缺点从而更有效地识别说话人的情感状态,因此多模态融合的识别方法目前逐渐成为了研究热点,其中大量研究工作普遍涉及语音和视觉信息。subhasmita等使用隐马尔可夫模型和支持向量机分别对语音和图像进行分类,通过决策层融合后用于情感识别。xu等采用opensmile工具包提取语音特征,同时采集面部图像的几何特征和梯度方向直方图(hog)特征。cornejo等设计了一种混合cnn,从视频中提取音频和面部特征进行并联,经特征选择技术筛选后进行情感识别。pei等描述了一种模型级融合方法,使用自适应权重网络将辅助信息加入到多模态情感识别模型中。adiga等根据人脸和语音不同模态特征进行对比实验来获得识别率更高的结果。
5.本发明针对情感识别模型泛化能力差和语音特征识别率低的问题进行了改进。首先,通过预训练racnn语音网络,减小过拟合发生的可能,提高模型泛化能力;然后,通过融合丰富的面部特征来改善语音特征识别率低的情况;最后,由klda进行特征选择过滤无关特征后进行情感识别,降低情感无关因素的影响,提高情感识别准确率。
技术实现要素:6.本发明旨在解决以上现有技术的问题。提出了一种提高情感识别模型泛化能力且可获得较高识别率的基于注意力cnn bi
‑
gru融合视觉信息的语音情感识别方法。
7.为了实现上述目的,本发明采用的技术方案如下:
8.一种基于注意力cnn bi
‑
gru融合视觉信息的语音情感识别方法,其特征在于,包
以下步骤:
9.s1、对原始语音信号进行预处理得到三维对数梅尔谱图;包括预加重、分帧、加窗等预处理。
10.s2、将步骤s1预处理得到的三维对数梅尔谱图用于预训练基于残差网络的三维注意力卷积神经网络(3dracnn),基于残差网络的三维注意力卷积神经网络从三维对数梅尔谱图中提取深层特征,以提高模型泛化能力。
11.s3、通过卷积神经网络(cnn)和具有注意力机制的门控循环单元(agrus)分别从裁剪的视频图像中提取面部静态外观特征和几何特征。
12.s4、为了降低语音特征识别率低的问题,采用融合模型将语音特征依次与面部特征进行融合得到混合特征。并由核线性判别分析(klda)过滤无关特征,降低情感无关因素的影响,提高情感识别准确率。
13.s5、在模型训练的过程中,以交叉熵误差函数作为训练目标函数,通过更新参数最小化交叉熵损失,同时通过adam算法进行优化,得到最终网络模型,最后由softmax层进行情感分类。
14.所述步骤s2中改进后的3dracnn从三维对数梅尔谱图中提取深层特征,引入了卷积块、卷积注意力模块(cbam)和残差神经网络(resnet),具体包括:
15.(1)卷积块由卷积层、组归一化层(gn)和线性整流单元(relu)组成,用于特征的获取;
16.(2)注意力模块包括通道和空间方面的两个注意力模块协助三维注意力卷积神经网络在空间和通道方面捕捉精细化特征;
17.(3)结合使用残差神经网络(resnet)的跳跃连接技巧,设计了三个残差注意力块(ra)来依次学习深层特征。
18.将对数梅尔谱图大小调整为224
×
224
×
3作为三维注意力卷积神经网络的输入,第一层卷积核大小为3
×2×
2,步长为1
×2×
2。最大池化层大小为1
×2×
2,步长为1
×2×
2,保留突出部分的显著特征。接下来,每个ra块有两个卷积块作为第一步,再依次连接通道注意力模块与空间注意力模块,对从卷积块中得到的特征进行了空间和通道方面的关注。在第一个ra块中,两个卷积块都使用卷积核大小为2
×1×
1,步长为1的卷积层。第二个ra块在第一个卷积块中使用卷积核大小为1
×2×
2,步长为1
×2×
2的卷积层,在第二个卷积块中使用卷积核大小为2
×1×
1,步长为1的卷积层。第三个ra块与第二个ra块使用相同结构的两个卷积块。最后,应用步长为1
×2×
2的全局平均池化层,对信道的全局特征进行描述。
19.进一步,所述步骤s3使用设计好的cnn和agrus分别从裁剪的视频图像中提取面部静态外观特征和几何特征,具体包括:
20.(1)利用openface2.0工具包裁剪人脸视频,提取得到人脸相关帧和面部关键点;本发明使用基于径向基函数(rbf)的k
‑
means聚类算法选取一组关键帧来代表视频进行更有效的特征学习。
21.(2)面部静态外观特征提取网络由efficientnet对表情相关特征进行关注,学习面部所有帧中的空间特征;
22.(3)面部几何特征提取网络由具有注意力机制的门控循环单元从关键帧中提取基于面部关键点的时间特征。具体来说,agrus模型由七个gru子网和注意力机制组成,将面部
关键点根据不同面部位置划分为七个区域分别输入给相应的七个gru子网,以获取相对的几何位置依赖关系,然后将七个面部区域单独学习的所有特征进行串联,得到整个面部的整体几何特征,最后通过注意力机制学习权重向量,并自适应地重新调整权重,估计不同关键点区域的重要性以辅助提取更多的判别性特征。
23.进一步,所述步骤s4具体包括:
24.(1)对于语音和静态外观特征的联合学习,使用深度bi
‑
gru进行视听情感特征的高度非线性融合,得到语音外观特征;
25.(2)对于面部几何特征,根据加权平均值算法,由融合权重将其与语音外观特征进行融合,得到混合特征;
26.(3)将整合的混合特征利用核线性判别分析进行特征降维,筛选出最具判别性的特征。
27.本发明的优点及有益效果如下:
28.本发明提供了一种基于注意力cnn bi
‑
gru融合视觉信息的语音情感识别方法,在相同的实验条件下,基于注意力cnn bi
‑
gru融合视觉信息的语音情感识别方法,能够改善情感识别模型泛化能力差和语音特征识别率低的问题。具体步骤:首先,对原始语音信号进行预处理生成对数梅尔谱图作为3dracnn语音网络的输入进行预训练,网络的权重参数被迁移到后续学习过程中进而得到更好的权重初始化结果,减小过拟合发生的可能;其次,对于人脸检测容易失败的问题,通过基于面部帧和关键点的人脸特征提取方法,分别利用cnn和agrus提取得到静态外观特征和面部几何特征;然后,通过丰富的面部特征来改善语音特征识别率低的情况,将提取得到的语音特征和静态外观特征由深度bi
‑
gru融合得到语音外观特征;最后,将面部几何特征与语音外观特征进一步融合得到更优质的混合特征,由klda进行特征选择过滤无关特征后进行情感识别,降低情感无关因素的影响,提高情感识别准确率。
附图说明
29.图1是本发明提供优选实施例基于注意力cnn bi
‑
gru融合视觉信息的语音情感识别方法的总体框图;
30.图2是改进的3dracnn语音网络结构图;
31.图3是面部特征提取网络结构图;
32.图4是融合模型结构图。
具体实施方式
33.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、详细地描述。所描述的实施例仅是本发明的一部分实施例。
34.本发明解决上述技术问题的技术方案是:
35.如图1所示,本发明提供了一种基于注意力cnn bi
‑
gru融合视觉信息的语音情感识别方法,包括以下步骤:
36.s1:对原始语音信号进行预加重、分帧、加窗等预处理得到三维对数梅尔谱图,具体步骤如下:
37.(1)采用如下式所示高通滤波器提升高频部分:
38.h(z)=1
‑
μz
‑1ꢀꢀꢀꢀꢀ
(1)
39.其中,h(z)为z域的传递函数,μ表示预加重系数,本发明取值0.96,预加重后的输出结果为x(n);
40.(2)由于语音信号具有短时平稳特性,需要对预加重后的输出x(n)进行分帧。为了解决分帧后端点处不连续问题,采用汉明窗进行加窗:
[0041][0042]
y(n)表示分帧后的语音信号,w(n,a)表示汉明窗的窗函数,一般情况下,a取0.46时,称为汉明窗,n=0,1,...,n
‑
1,n为帧长。加窗后语音信号为:s(n)=y(n)
×
w(n,a);
[0043]
(3)端点检测去除无声片段后,由离散傅里叶变换获得语音信号频域上的能量分布,输出是包含n个频带的复数s(k),s(k)表示原始信号中某一频率的幅度和相位,下式所示:
[0044][0045]
(4)根据人耳敏感程度,将频谱划分为多个mel滤波器组,通过m个三角滤波器后得到频率响应为h
m
(k),再计算每个滤波器组输出的对数能量p(m):
[0046][0047]
其中,s
a
(k)表示第a个频带的幅度和相位。
[0048]
(5)离散余弦变换对每帧数据进行降维,再由差分运算得到对应的一阶差分和二阶差分,将对数频谱及其一阶差分和二阶差分叠加在一起,得到水平长度与信号持续时间相关、垂直长度与滤波器组相关的三维对数梅尔谱图。
[0049]
s2:将经过预处理后的三维对数梅尔谱图用于预训练3dracnn(网络结构图如图2所示)语音网络以提高模型泛化能力,改进后的3dracnn从三维对数梅尔谱图中提取深层特征,引入了卷积块、卷积注意力模块(cbam)和残差神经网络(resnet),具体包括:
[0050]
(1)卷积块由卷积层、组归一化层(gn)和线性整流单元(relu)组成,用于特征的获取;
[0051]
(2)注意力模块设计了通道和空间方面的两个注意力模块协助3dracnn在空间和通道方面捕捉精细化特征;
[0052]
(3)结合使用resnet的跳跃连接技巧,设计了三个残差注意力块(ra)来依次学习深层特征。
[0053]
将对数梅尔谱图大小调整为224
×
224
×
3作为racnn的输入,第一层卷积核大小为3
×2×
2,步长为1
×2×
2。最大池化层大小为1
×2×
2,步长为1
×2×
2,保留突出部分的显著特征。接下来,每个ra块有两个卷积块作为第一步,再依次连接通道注意力模块与空间注意力模块,对从卷积块中得到的特征进行了空间和通道方面的关注。在第一个ra块中,两个卷积块都使用卷积核大小为2
×1×
1,步长为1的卷积层。第二个ra块在第一个卷积块中使用卷积核大小为1
×2×
2,步长为1
×2×
2的卷积层,在第二个卷积块中使用卷积核大小为2
×1×
1,步长为1的卷积层。第三个ra块与第二个ra块使用相同结构的两个卷积块。最后,应用步长为1
×2×
2的全局平均池化层,对信道的全局特征进行描述。
[0054]
s3:使用设计好的cnn和agrus分别从裁剪的视频图像中提取面部静态外观特征和几何特征,面部特征提取网络如图3所示,具体内容为:
[0055]
(1)人脸检测模块利用openface2.0工具包裁剪人脸视频,提取得到人脸相关帧和面部关键点,本发明使用基于径向基函数(rbf)的k
‑
means聚类算法选取一组关键帧来代表视频进行更有效的特征学习;
[0056]
(2)面部静态外观特征提取网络由efficientnet对表情相关特征进行关注,学习面部所有帧中的空间特征;
[0057]
(3)面部几何特征提取网络由agrus从关键帧中提取基于面部关键点的时间特征,具体来说,agrus模型由七个gru子网和注意力机制组成,将面部关键点根据不同面部位置划分为七个区域分别输入给相应的七个gru子网,以获取相对的几何位置依赖关系,然后将七个面部区域单独学习的所有特征进行串联,得到整个面部的整体几何特征,最后通过注意力机制学习权重向量,并自适应地重新调整权重,估计不同关键点区域的重要性以辅助提取更多的判别性特征。
[0058]
由设计好的cnn
‑
gru网络(即cnn和agrus网络)提取局部
‑
整体、几何
‑
外观和时间
‑
空间特征,丰富面部特征的表现形式。
[0059]
s4:利用设计的融合模型将语音特征依次与面部特征进行融合得到混合特征,改善语音特征识别率低的问题,融合模型示意图如图4所示,具体步骤如下:
[0060]
(1)对于语音和静态外观特征的联合学习,使用深度双向门控循环单元(bi
‑
gru)进行视听情感特征的高度非线性融合,得到语音外观特征。如图4所示,从多模态数据集中提取得到的面部相关帧利用efficientnet提取得到静态外观特征,从多模态数据集中提取对数梅尔谱图输入基于残差网络的注意力卷积神经网络(racnn),将在racnn中得到的特征图重塑为大小为147
×
288的二维数据和静态外观特征作为深度bi
‑
gru融合网络的输入进行特征融合,最后得到语音外观特征。
[0061]
(2)对于面部几何特征,根据加权平均值算法,由融合权重将其与语音外观特征进行融合,得到混合特征。将整合的混合特征利用klda进行特征降维,筛选出最具判别性的特征。
[0062]
作为循环神经网络的一种特殊形式,gru能够捕捉任意长度序列的长期依赖关系,其使用隐藏状态来进行信息的传递,包含两个门:更新门和重置门。更新门决定上一个隐藏状态中需要被保留和记忆的信息,计算公式如(5)。重置门决定遗忘上一个隐藏状态中对当前时刻不重要的部分,用于计算当前的隐藏状态,如式(6)。
[0063]
z
t
=σ(w
z
·
[h
t
‑1,x
t
])
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)
[0064]
r
t
=σ(w
r
·
[h
t
‑1,x
t
])
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(6)
[0065]
其中,z
t
表示更新门,r
t
表示重置门,值都在0到1之间。x
t
为当前输入,h
t
‑1为上一个隐藏状态。σ表示sigmoid函数,值在0
‑
1之间,用来充当门控信号,w
z
和w
r
表示权重矩阵,新的记忆内容计算公式为:
[0066]
[0067]
其中,tanh表示双曲正切激活函数,表示上一个隐藏状态中传递给下一个节点的隐状态,w表示权重矩阵。
[0068]
当前时刻的计算公式为:
[0069][0070]
由于在情感识别中,还应该考虑到上下文信息,本发明采用了深度bi
‑
gru,它包括两个独立的隐藏层,一个前向传递,另一个后向传递,并计算建立在其隐藏状态上的联合输出。
[0071]
s5:在模型训练的过程中,采用交叉熵误差函数作为训练目标函数,同时利用adam算法进行优化,最后由softmax层进行情感分类,具体包括:
[0072]
交叉熵算法定义如下:
[0073][0074]
其中,m表示样本的数量,表示第i个样本的真实值,y
i
表示第i个样本的预测输出值,l表示损失值。
[0075]
adam算法实际上是将momentum和rmsprop算法结合在一起,最后更新权重后的定义如下:
[0076][0077]
其中,表示经过偏差修正的momentum指数加权平均数,表示经过偏差修正的rmsprop指数加权平均数,α和ε为超参数,ε一般取10
‑8。w表示更新前的权重。
[0078]
softmax函数的公式如下:
[0079][0080]
n表示分类的个数,一共有n个用数值表示的分类s
k
,k∈(0,n],i表示k中的某个分类,g
i
表示该分类的值,s
i
表示第i个元素的分类概率。p(s
i
)表示由softmax函数处理后得到的相应概率值。
[0081]
以上这些实施例应理解为仅用于说明本发明而不用于限制本发明的保护范围。在阅读了本发明的记载的内容之后,技术人员可以对本发明作各种改动或修改,这些等效变化和修饰同样落入本发明权利要求所限定的范围。