on acoustics,speech and signal processing(icassp).ieee,florence,italy,may.4
‑
9,2014:4087
‑
4091.)中,通过对提取到的语音特征通过深度神经网络(deep neural networks,dnn)进行训练,再使用后处理方法得到最终的置信度得分,并与预设阈值进行比较来判断是否为唤醒词。该方法的提出在基于深度学习的唤醒词识别领域具有很重要的意义,它的亮点在于采用帧结构的方式对语音进行训练,并利用后处理操作对平滑后的帧的后验概率进行判决。
11.目前,随着端到端和序列到序列训练的模型在语音识别中越来越流行,很多学者将其引入到唤醒词识别领域。文献(zhang s,liu w,qin y.wake
‑
up
‑
word spotting using end
‑
to
‑
end deep neural network system[c].2016 23rd international conference on pattern recognition(icpr).ieee,cancun,mexico,dec.4
‑
6,2016:2878
‑
2883.)提出了一种基于端到端的lstm轻量级唤醒词定位系统,该方法在定位的过程中引入了时序分类算法细化了唤醒词模型训练的步骤。针对语音唤醒在实用中遇到的问题,文献(yu,m.,ji,x.,gao,y.,chen,l.,chen,j.,zheng,j.,su,d.,yu,d.(2018)text
‑
dependent speech enhancement for small
‑
footprint robust keyword detection.proc.interspeech 2018,2613
‑
2617,2018.)和(e.ceolini,j.anumula,s.braun and s.liu,"event
‑
driven pipeline for low
‑
latency low
‑
compute keyword spotting and speaker verification system,"icassp 2019
‑
2019 ieee international conference on acoustics,speech and signal processing(icassp),brighton,uk,2019,pp.7953
‑
7957,2019.)分别结合语音增强和说话人验证任务针对语音唤醒的噪声鲁棒性和个性化唤醒系统开展了研究。这些基于端到端的唤醒词识别方法需要很大的语料库,训练时也需要很长的时间。
[0012]
综合来说,现有的基于hmm
‑
gmm的语音唤醒和基于深度学习的语音唤醒方案,在真实复杂环境中语音唤醒系统性能会急剧下降,尤其在嘈杂的噪声和远场环境下唤醒率仍然较低。
技术实现要素:
[0013]
本发明的目的是提供一种音视频唤醒方法、系统、设备及存储介质,综合了音频单模态的外部丰富声学数据优势和视频模态在高噪声等复杂环境中的辅助优势,有助于改善和提升复杂场景下的唤醒性能。
[0014]
本发明的目的是通过以下技术方案实现的:
[0015]
一种基于师生跨模态学习的音视频唤醒方法,包括:
[0016]
构造音频数据集、以及包含音频数据与视频数据的音视频多模态唤醒数据集;
[0017]
利用音频数据集以及音视频多模态唤醒数据集中的音频数据训练一个神经网络模型,将其作为教师语音唤醒模型;
[0018]
构建输入包含音频特征与视频特征的神经网络模型,将其作为学生音视频唤醒模型;
[0019]
将从音视频多模态唤醒数据集中提取的音频特征与视频特征拼接后输入至学生音视频唤醒模型,并将相应的音频特征同步输入至教师语音唤醒模型,将学生音视频唤醒模型与教师语音唤醒模型的输出结果之间的损失、以及利用学生音视频唤醒模型输出结果
计算出的损失作为联合训练阶段的总损失,固定教师语音唤醒模型的网络参数,优化所述学生音视频唤醒模型的网络参数;
[0020]
使用优化后的学生音视频唤醒模型进行解码测试,输出是否唤醒的判别结果。
[0021]
一种基于师生跨模态学习的音视频唤醒系统,用于实现前述的方法,该系统包括:
[0022]
数据集构造模块,用于构造音频数据集、以及包含音频数据与视频数据的音视频多模态唤醒数据集;
[0023]
教师语音唤醒模型训练模块,用于利用音频数据集以及音视频多模态唤醒数据集中的音频数据训练一个神经网络模型,将其作为教师语音唤醒模型;
[0024]
学生音视频唤醒模块,用于构建输入包含音频特征与视频特征的神经网络模型,将其作为学生音视频唤醒模型;
[0025]
联合训练模块,用于将从音视频多模态唤醒数据集中提取的音频特征与视频特征拼接后输入至学生音视频唤醒模型,并将相应的音频特征同步输入至教师语音唤醒模型,将学生音视频唤醒模型与教师语音唤醒模型的输出结果之间的损失、以及利用学生音视频唤醒模型输出结果计算出的损失作为联合训练阶段的总损失,固定教师语音唤醒模型的网络参数,优化所述学生音视频唤醒模型的网络参数;
[0026]
解码测试模块,用于使用优化后的学生音视频唤醒模型进行解码测试,输出是否唤醒的判别结果。
[0027]
一种处理设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序;
[0028]
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现前述的方法。
[0029]
一种可读存储介质,存储有计算机程序,当计算机程序被处理器执行时实现前述的方法。
[0030]
由上述本发明提供的技术方案可以看出,引入视频模态来改善和提高唤醒系统性能,能够适应真实复杂场景下的唤醒任务,提高唤醒率,提升交互体验;而且,也针对音视频多模态唤醒数据量相对较少的特点,提出使用基于跨模态的师生模型,迁移并利用丰富的大数据量单模态声学数据训练得到的有效信息,改善因多模态音视频唤醒训练数据量较少带来的系统性能损失,提高唤醒率。
附图说明
[0031]
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
[0032]
图1为本发明实施例提供的一种基于师生跨模态学习的音视频唤醒方法的流程图;
[0033]
图2为本发明实施例提供的kws
‑
net结构示意图;
[0034]
图3为本发明实施例提供的一种基于师生跨模态学习的音视频唤醒系统的示意图;
[0035]
图4为本发明实施例提供的一种处理设备示意图。
具体实施方式
[0036]
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
[0037]
本发明实施例提供一种基于师生跨模态学习的音视频唤醒方法,该方法相比单模态语音唤醒模型的系统性能在高噪声等复杂环境中更加优越,同时相比只使用多模态音视频唤醒数据随机初始化训练得到的音视频唤醒模型系统性能更优,该方法主要包括:
[0038]
1、构造音频数据集、以及包含音频数据与视频数据的音视频多模态唤醒数据集。
[0039]
2、利用音频数据集以及音视频多模态唤醒数据集中的音频数据训练一个神经网络模型,将其作为教师语音唤醒模型。
[0040]
本发明实施例中,使用了大量丰富的音频数据训练一个单模态语音唤醒模型(神经网络模型)。考虑到单模态语音数据的获取成本相对较低,可以使用尽可能多的音频数据在较成熟的语音唤醒框架下完成单模态语音唤醒模型训练,使得到的单模态语音唤醒模型可以实现尽可能好的性能,即将语音唤醒性能增益在数据驱动方面的潜力最大化。而且,教师语音唤醒模型的训练数据包括外部丰富的音频数据和音视频多模态唤醒数据中的音频部分。
[0041]
3、构建输入包含音频特征与视频特征的神经网络模型,将其作为学生音视频唤醒模型。
[0042]
为了充分利用视频模态在高噪声等复杂场景下的优势,本发明实施例提出将视频模态引入唤醒模型,即设计一个音视频唤醒模型,并将此模型作为学生音视频唤醒模型。
[0043]
本发明实施例中,采用视频数据的早期特征拼接实施音视频模态融合,以充分利用音视频模态之间的交互作用,之所以采用早期特征拼接作为音视频融合策略,是因为对于唤醒任务,音视频的信息融合发生在早期可以尽可能保留两个模态各自的丰富原始信息,这样在融合前可以获得较小的信息破坏和损失,有利于两种模态的信息充分融合交互。
[0044]
由于学生音视频唤醒模型与教师语音唤醒模型的网络输入特征的维度不同,此时可以后接一个全连接层(fc)来处理,其它部分(隐藏层)和教师语音唤醒模型保持一致。学生音视频唤醒模型的训练数据只有有限的音视频唤醒数据可供使用。
[0045]
4、将从音视频多模态唤醒数据集中提取的音频特征与视频特征拼接后输入至学生音视频唤醒模型,并将相应的音频特征同步输入至教师语音唤醒模型,将学生音视频唤醒模型与教师语音唤醒模型的输出结果之间的损失、以及利用学生音视频唤醒模型输出结果计算出的损失作为联合训练阶段的总损失,固定教师语音唤醒模型的网络参数,优化所述学生音视频唤醒模型的网络参数。
[0046]
为了将大量纯音频数据训练的教师语音唤醒模型中丰富的信息,转化到相对有限的多模态唤醒数据建立学生音视频唤醒模型中。
[0047]
本发明实施例中,提出一种基于交叉熵损失和kl(kullback
‑
leibler)散度的跨模态师生音视频唤醒模型。将音视频唤醒训练数据中的音频部分和视频部分作为学生音视频唤醒模型的输入,并对输出计算交叉熵(cross entropy,ce)损失;同时将音视频唤醒训练数据中的音频部分并行输入教师语音唤醒模型,此时不计算ce损失,而是与学生音视频唤
醒模型的输出计算kl散度。
[0048]
本发明实施例中,联合训练阶段固定已经训练好的教师语音唤醒模型的网络参数,而对前述步骤3所构建的学生音视频唤醒模型的网络参数实施随机初始化,使用学生音视频唤醒模型输出得到的ce损失和教师与学生两个模型输出的kl散度的和作为整个模型框架的损失进行网络优化并更新学生音视频唤醒模型网络参数,实施联合训练。
[0049]
5、使用优化后的学生音视频唤醒模型进行解码测试,输出是否唤醒的判别结果。
[0050]
在解码测试时,只使用学生音视频唤醒模型进行测试解码,即输入音视频的特征,对学生音视频唤醒模型的输出的后验概率与预设的阈值进行比较并判决是否唤醒。
[0051]
如图1所示,为本发明实施例上述方法的主要流程。单独来看,虚线右侧部分是教师语音唤醒模型训练流程,左侧部分是学生音视频唤醒模型训练流程;联合训练则是综合左右两部分实现。
[0052]
对于教师语音唤醒模型,fbank表示音频特征,kws
‑
net为一种神经网络模型,kws
‑
net的输出经过一层最大池化层(max pool)输出一个后验概率,将此后验概率与预设的阈值进行比较,判断是否唤醒。训练过程中所涉及的音频特征来自音频数据集与音视频多模态唤醒数据集,首先,利用音频数据集中音频数据的音频特征进行模型训练,训练完毕后,再利用音视频多模态唤醒数据集中音频数据的音频特征进行模型参数的微调。
[0053]
对于学生音视频唤醒模型,输入为固定窗长的同步的音视频特征,音频特征与教师语音唤醒部分相同(fbank),视频特征为每帧视频中检测到的人的唇部区域的特征,将视频帧特征与音频帧特征进行拼接,再经过一个全连接层(fully connected layers,fc)层,学生音视频唤醒模型后端网络层与教师语音唤醒模型相同。对于学生音视频唤醒模型,只有有限的音视频多模态唤醒数据可用于训练。
[0054]
联合训练时,之前的部分与单独训练类似,但是,教师语音唤醒模型不计算ce损失,而是计算与学生语音唤醒模型输出之间的损失,具体为计算kl散度,同时,计算学生语音唤醒模型的ce损失,两类损失加权和即为联合训练的总损失;并且,联合训练时固定教师语音唤醒模型,单独优化学生音视频唤醒模型的参数。
[0055]
下面针对教师语音唤醒模型、学生音视频唤醒模型、以及联合训练的过程做详细的介绍。
[0056]
一、训练教师语音唤醒模型。
[0057]
输入使用大量音频数据提取的音频特征。进行训练时的反例按照语音唤醒成熟框架下的比例挑选即可,经过kws
‑
net模块,后接一个最大池化层进行分类输出该固定窗长音频对应的后验概率,将该后验概率与设置的阈值进行比较,判断是否唤醒。训练时,使用交叉熵作为损失函数计算梯度和更新网络参数。
[0058]
本发明实施例中,音频数据包括大数据量丰富的唤醒词音频数据和通用音频数据(非唤醒音频数据),这两种数据均可采用声学仿真技术进行数据扩增至上万小时。训练完毕(正常情况下,当模型的交叉熵损失不再下降,可以认为任务训练完毕),使用音视频多模态唤醒数据中的音频数据(通常有几百小时)继续微调该教师语音唤醒模型的网络参数,目的是使训练好教师语音唤醒模型的性能得到进一步提升。
[0059]
本领域技术人员可以理解,音频数据中的通用音频数据(非唤醒音频数据)即为反例,唤醒词音频数据即为正例。
[0060]
此外,本发明实施例中,采用流式输入方式,即设定固定长度的窗口(包含n语音帧长),提取窗口内语音特征作为模型的输入,输出该窗口对应的判决结果。如果唤醒,则设备触发,进行下游任务的处理;如果没有唤醒,窗口继续在时间轴上实施帧移,每次往后移动一帧,继续同上面窗口的唤醒判决流程,对当前帧进行相同流程处理和判决。
[0061]
二、构建学生音视频唤醒模型。
[0062]
对于学生音视频唤醒模型的训练,由于音视频唤醒数据量有限,因此,学生音视频唤醒模型可用的训练数据远少于教师语音唤醒模型,在本发明实施例中,学生音视频唤醒模型不做单独训练,而是结合训练好的教师语音唤醒模型做联合训练。
[0063]
学生音视频唤醒模型的输入为时间同步的音频特征与视频特征。
[0064]
对于学生音视频唤醒模型的视频流输入的特征提取可以参照常规技术。例如:首先对视频中的每一帧进行人脸检测,进而可以得到每个检测到的人脸的固定尺寸的唇部,将得到的唇部送入训练好的唇读模型(例如,mobilenetv2),通过移除该预训唇读模型的最后一层并使用其倒数第二层全连接层提取嵌入(embedding),并将此嵌入作为视频流中每一帧的视频特征。学生音视频唤醒模型中音频流特征提取与单模态教师语音唤醒模型中的输入特征保持一致。
[0065]
对于音视频流时间同步问题的处理可以采用两种策略:第一种是对视频帧按照原始音频帧的速率进行等比例复制,第二种是对音频流输入特征做下采样处理,两种策略都可以保证处理后的音视频帧速率一致,从而解决音视频同步问题。示例性的,可以采用上述第一种策略,即对视频帧进行复制,具体可以在特征拼接(concat)时实施。
[0066]
实施早期特征融合(concat)后的特征维度相对音频每一帧特征维度会变大(多了唇部特征的embedding维度),如图1所示,可以后接一个fc层将其维度降低到与教师语音唤醒模型中对应的隐藏层部分的输入维度一致,相当于多了一层隐藏层,学生音视频模型的其它网络层与教师语音唤醒模型中保持一致;经过fc层后输入至神经网络模型(即图1中的kws
‑
net),神经网络模型的输出经过池化层输出一个后验概率,将此后验概率与预设的阈值进行比较,判断是否唤醒。
[0067]
如之前给出的示例,本发明实施例中所述教师语音唤醒模型与学生音视频唤醒模型使用相同结构的神经网络模型(即kws
‑
net);如图2所示,kws
‑
net包括依次设置的:第一卷积层(conv
‑
1)、第二卷积层(conv
‑
2)、最大池化层(max pool)、第三卷积层(conv
‑
3)、全局池化层(avg pool)、以及末端的三层全连接层(即依次连接的三个fc)。
[0068]
三、联合训练。
[0069]
联合训练时,学生音视频唤醒模型的输入与其单独训练时的特征是相同的,即音频特征和视频特征,并计算ce损失;同时,将输入至学生音视频唤醒模型的音频特征并行输入至教师语音唤醒模型,此时不计算ce损失,而是与学生音视频唤醒模型的输出计算kl散度。
[0070]
本发明实施例中,在联合训练时需要固定教师语音唤醒模型的网络参数,随机初始化学生音视频唤醒模型的网络参数,使用学生音视频唤醒模型输出得到的ce损失、以及教师与学生模型的kl散度的加权求和作为联合训练的总损失,使用λ和1
‑
λ作为ce损失和kl散度的乘法因子,λ为预设值(可根据经验自行设定),联合优化并更新学生音视频模型的网络参数,右侧教师语音唤醒模型参数保持不变,实施模型训练。
[0071]
训练完毕解码测试时,只需要使用优化后的学生音视频唤醒模型进行测试解码,即流式输入时间上同步的音频特征和视频特征,使用优化后的学生音视频唤醒模型输出判决结果。
[0072]
本发明实施例上述方案,主要具有如下优点:
[0073]
1)更适合在真实复杂场景下的唤醒任务,针对传统单模态语音唤醒在复杂场景性能急剧下降的特点,引入视频模态可以改善和提高唤醒系统性能,提高唤醒率,提升交互体验。
[0074]
2)针对音视频多模态唤醒数据量相对较少的特点,提出使用基于跨模态的师生模型,迁移并利用丰富的大数据量单模态声学数据训练得到的有效信息,改善因多模态音视频唤醒训练数据量较少带来的系统性能损失,提高唤醒率。
[0075]
3)结合以上1)和2)两方面,针对师生唤醒模型架构,提出使用早期特征融合,尽可能保留两个模态各自的原始信息,完成跨模态信息交互。实验也证明,在这种基于师生的跨模态音视频唤醒模型框架下,早期特征融合方式系统性能优于后期(编码器端)融合方式。
[0076]
本发明另一实施例还提供一种基于师生跨模态学习的音视频唤醒系统,用于实现前述实施例提供的方法,如图3所示,该系统主要包括:
[0077]
数据集构造模块,用于构造音频数据集、以及包含音频数据与视频数据的音视频多模态唤醒数据集;
[0078]
教师语音唤醒模型训练模块,用于利用音频数据集以及音视频多模态唤醒数据集中的音频数据训练一个神经网络模型,将其作为教师语音唤醒模型;
[0079]
学生音视频唤醒模块,用于构建输入包含音频特征与视频特征的神经网络模型,将其作为学生音视频唤醒模型;
[0080]
联合训练模块,用于将从音视频多模态唤醒数据集中提取的音频特征与视频特征拼接后输入至学生音视频唤醒模型,并将相应的音频特征同步输入至教师语音唤醒模型,将学生音视频唤醒模型与教师语音唤醒模型的输出结果之间的损失、以及学生音视频唤醒模型输出结果计算交叉熵损失作为联合训练阶段的总损失,固定教师语音唤醒模型的网络参数,优化所述学生音视频唤醒模型的网络参数;
[0081]
解码测试模块,用于使用优化后的学生音视频唤醒模型进行解码测试,输出是否唤醒的判别结果。
[0082]
本发明另一实施例还提供一种电子设备,如图4所示,其主要包括:一个或多个处理器;存储器,用于存储一个或多个程序;其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现前述实施例提供的方法。
[0083]
进一步的,所述电子设备还包括至少一个输入设备与至少一个输出设备;在所述电子设备中,处理器、存储器、输入设备、输出设备之间通过总线连接。
[0084]
本发明实施例中,所述存储器、输入设备与输出设备的具体类型不做限定;例如:
[0085]
输入设备可以为触摸屏、图像采集设备、物理按键或者鼠标等;
[0086]
输出设备可以为显示终端;
[0087]
存储器可以为随机存取存储器(random access memory,ram),也可为非不稳定的存储器(non
‑
volatile memory),例如磁盘存储器。
[0088]
本发明另一实施例还提供一种可读存储介质,存储有计算机程序,当计算机程序
被处理器执行时实现前述实施例提供的方法。
[0089]
本发明实施例中可读存储介质作为计算机可读存储介质,可以设置于前述电子设备中,例如,作为电子设备中的存储器。此外,所述可读存储介质也可以是u盘、移动硬盘、只读存储器(read
‑
only memory,rom)、磁碟或者光盘等各种可以存储程序代码的介质。
[0090]
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。
再多了解一些
本文用于企业家、创业者技术爱好者查询,结果仅供参考。