一种语音匹配方法及相关设备与流程

文档序号:20604357发布日期:2020-05-01 21:56阅读:521来源:国知局
一种语音匹配方法及相关设备与流程

本发明涉及人机交互技术领域,尤其涉及一种语音匹配方法及相关设备。



背景技术:

人机交互(human-computerinteraction,hci)主要是研究人和计算机之间的信息交换,它主要包括人到计算机和计算机到人的信息交换两部分。是与认知心理学、人机工程学、多媒体技术、虚拟现实技术等密切相关的综合学科。在人机交互技术中,多模态交互设备是语音交互、体感交互、及触控交互等多种交互模式并行的交互设备。基于多模态交互设备的人机交互:通过交互设备中的多种跟踪模块(人脸、手势、姿态、语音、及韵律)采集用户信息,并理解、处理、及管理后形成虚拟用户表达模块,与计算机进行交互对话,能够极大提升用户的交互体验。

例如,目前市面上已有一些能够与人进行互动的智能机器人产品,并提出利用机器人来代替人进行老年、儿童的精神陪伴。然而,人机交互中的友好性则体现了人作为服务对象对机器人系统提出的更高要求,即通过自然的,更接近与人与人之间交流的交流方式来实现人机对话。机器人若要真正达到对老年、儿童进行情感陪护的功能要求,更好的融入其生活,首先要充分理解用户的意图,了解其心理情感变化,针对不同用户的特点和需求进行个性化交互。

但在相对复杂场景下,在机器人与多人面对面交流时(多人教学,游戏,家庭日常生活等),现阶段市场上的机器人由于无法快速准确的确定被交互对象身份,就只能按照既定的程式化交互方式进行交互,极大影响了交互体验。比如,一家人的三个小孩与一个机器人的交互场景,哥哥汤姆明天打算出去郊游,弟弟杰瑞吵着要和他一起去,但姐姐克里丝告诉他明天有暴雨,所以汤姆十分沮丧地问机器人“明天天气如何”;机器人接收到该语音指令后,仅根据接收到的语音信息进行语义识别的结果进行回答:“明天天气晴,有2-3级微风。”而完全不会考虑到发问者汤姆的心情感受,因此,无法实现智能化、个性化的人机交互。



技术实现要素:

本发明实施例提供一种语音匹配方法、神经网络的训练方法及相关设备,以提升多人场景中的语音匹配效率和人机交互体验。

第一方面,本发明实施例提供了一种语音匹配方法,可包括:获取音频数据以及视频数据;从所述音频数据中提取待识别的语音信息,所述待识别的语音信息包括目标时间段内的语音波形序列;从所述视频数据中提取n个用户的唇部运动信息,所述n个用户的唇部运动信息中的每一个用户的唇部运动信息包括对应的用户在所述目标时间段内唇部运动的图像序列,n为大于1的整数;将所述待识别的语音信息和所述n个用户的唇部运动信息输入到目标特征匹配模型中,得到所述n个用户的唇部运动信息分别与所述待识别的语音信息之间的匹配度;将匹配度最高的用户的唇部运动信息对应的用户,确定为所述待识别的语音信息所属的目标用户。

本发明实施例,当应用于多人对话场景中时,可以通过采集音频数据和视频数据,并通过对音频数据中的语音信息和视频数据中的唇部运行信息进行匹配,则可以确定出待识别的语音信息所属的目标用户。即在多人的场景中通过语音特征与多个用户的唇部运动特征进行匹配,识别某段待识别的语音信息具体是由哪个用户发出的,从而可以基于该识别结果进行进一步的控制或操作。区别于现有技术中的通过声纹识别技术或者声源定位技术,即发明实施例不依赖于人的声音(声纹易受身体状况、年龄、情绪等的影响),不受环境干扰(如环境中的噪声干扰等),抗干扰能力强,识别效率和准确度高。其中,待识别的语音信息包括在具体某个时间段内的语音波形序列,而n个用户的唇部运动信息则包括多个用户在同一场景下的该时间段内的唇部运动的图像序列(即唇部运动的视频),便于后续进行相关的特征提取和特征匹配。而采用目标特匹配模型,将待识别的语音信息以及n个用户的唇部运动信息作为该目标特征匹配模型的输入,并且将n个用户的唇部运动信息分别与待识别的语音信息之间的匹配度作为该目标特征匹配模型的输出,进而根据匹配度确定出该待识别的语音信息所属的目标用户。可选的,该目标特征匹配模型为神经网络模型。

在一种可能的实现方式中,所述目标特征匹配模型包括第一模型、第二模型和第三模型;所述将所述待识别的语音信息和所述n个用户的唇部运动信息输入到目标特征匹配模型中,得到所述n个用户的唇部运动信息分别与所述待识别的语音信息之间的匹配度,包括:将所述待识别的语音信息输入到所述第一模型中,得到语音特征,所述语音特征为k维语音特征,k为大于0的整数;将所述n个用户的唇部运动信息输入到所述第二模型中,得到n个图像序列特征;所述n个图像序列特征中的每一个图像序列特征均为k维图像序列特征;将所述语音特征和所述n个图像序列特征输入到第三模型中,得到所述n个图像序列特征分别与所述语音特征之间的匹配度。本发明实施例,通过在目标特征匹配模型中,分别利用第一模型和第二模型对待识别的语音信息和n个用户的唇部运动信息进行特征提取(也可认为是降维过程),使得待识别的语音信息和n个用户的唇部运动信息在分别经过第一模型和第二网路的特征提取之后,均能够得到相同维度的特征,从而使得不同类型的信息可以实现特征归一化的效果。即经过上述网络的特征提取处理后,不同类型的原始数据(待识别的语音信息和n个用户的唇部运动信息)之间可转化为无量纲化指标值(即发明实施例中均为k维的语音特征和n个图像序列特征),各指标值处于同一数量级别,可进行综合测评分析(即本发明实施例中的特征匹配)。

在一种可能的实现方式中,所述目标特征匹配模型为以训练用户的唇部运动信息以及m个语音信息为输入、以所述训练用户的唇部运动信息分别与所述m个语音信息之间的匹配度为m个标签,训练得到的特征匹配模型;可选的,所述m个语音信息包括与所述训练用户的唇部运动信息所匹配的语音信息以及(m-1)个与所述训练用户的唇部运动信息不匹配的语音信息。本发明实施例,通过将某个训练用户的唇部运动信息,以及与之匹配的语音信息和多个不匹配的语音信息作为目标特征匹配模型输入,并基于上述m个语音信息与该训练用户的唇部运动信息的实际匹配度作为标签,对初始的神经网络模型进行训练得到的目标特征匹配模型,例如,完全匹配对应的匹配度即标签为1,不匹配对应的匹配度即标签为0。

在一种可能的实现方式中,所述方法还包括:确定所述目标用户的用户信息,所述用户信息包括人物属性信息、与所述待识别的语音信息对应面部表情信息、与所述待识别的语音信息对应的环境信息中的一种或多种;基于所述用户信息,生成与所述用户信息匹配的控制指令。本发明实施例,在确定了待识别的语音信息具体是由当前的场景中的哪个目标用户发出的之后,则可以根据该用户的属性信息(如性别、年龄、性格等)、面部表情信息(如该目标用户发出待识别的语音信息所对应的表情)以及对应的环境信息(如目标用户当前处于办公环境、家庭环境、或娱乐环境等),来确定与上述用户信息匹配的控制指令(如语音指令、操作指令等)。例如,控制智能机器朝着目标用户发出与所述表情数据和人物属性信息等匹配的语音或操作等,包括机器人的语气、机器人的头的转向以及机器人的回话内容等等。

在一种可能的实现方式中,所述从所述视频数据中提取n个用户的唇部运动信息,包括:基于人脸识别算法,识别所述视频数据中的n个人脸区域,提取所述n个人脸区域中每个人脸区域中的唇部运动视频;基于所述每个人脸区域中的唇部运动视频确定所述n个用户的唇部运动信息。本发明实施例,通过从视频数据中先识别出人脸区域,然后再基于该人脸区域提取每个人脸区域中的唇部运动视频,然后再依据唇部运动视频确定n个用户的唇部运动信息也即是对应用户的唇部运动图像序列。

在一种可能的实现方式中,所述从所述音频数据中提取待识别的语音信息,包括:基于频谱识别算法,识别所述音频数据中的不同频谱的音频数据,并将目标频谱的音频数据识别为所述待识别的语音信息。由于不同用户发出的声音对应的频谱在一般情况下是不同的,因此,本发明实施例,通过从音频数据中先识别出不同频谱的音频数据,然后再将目标频谱的音频数据识别为待识别的语音信息,进而实现从音频数据中提取待识别语音信息的功能。

第二方面,本发明实施例提供了一种神经网络的训练方法,可包括:

获取训练样本,所述训练样本包括训练用户的唇部运动信息以及m个语音信息,所述m个语音信息包括与所述训练用户的唇部运动信息所匹配的语音信息以及(m-1)个与所述训练用户的唇部运动信息不匹配的语音信息;

以所述训练用户的唇部运动信息以及所述m个语音信息为训练输入,以所述训练用户的唇部运动信息分别与所述m个语音信息之间的匹配度为m个标签,对初始化的神经网络进行训练,得到目标特征匹配模型。

本发明实施例,通过将某个训练用户的唇部运动信息,以及与之匹配的语音信息和多个不匹配的语音信息作为初始化的神经网络的输入,并基于上述m个语音信息与该训练用户的唇部运动信息的实际匹配度作为标签,对上述初始的神经网络模型进行训练得到的目标特征匹配模型,例如,完全匹配对应的匹配度即标签为1,不匹配对应的匹配度即标签为0,当通过训练后的初始化的神经网络计算得到的训练用户的唇部运动信息分别与m个语音信息之间的匹配度越接近所述m个标签,则该训练后的初始化的神经网络越接近所述目标特征匹配模型。

在一种可能的实现方式中,所述训练用户的唇部运动信息包括所述训练用户的唇部运动图像序列,所述m个语音信息包括一个与所述训练用户的唇部运动图像序列匹配的语音波形序列以及(m-1)个与所述训练用户的唇部运动图像序列不匹配的语音波形序列。

在一种可能的实现方式中,所述以所述训练用户的唇部运动信息以及所述m个语音信息为训练输入,以所述训练用户的唇部运动信息分别与所述m个语音信息之间的匹配度为m个标签,对初始化的神经网络进行训练,得到目标特征匹配模型,包括:

将所述训练用户的唇部运动信息以及所述m个语音信息输入到所述初始化的神经网络中,计算得到所述m个语音信息分别与所述训练用户的唇部运动信息之间的匹配度;

将计算得到的所述m个语音信息分别与所述训练用户的唇部运动信息之间的匹配度与所述m个标签进行比较,对初始化的神经网络进行训练,得到目标特征匹配模型。

在一种可能的实现方式中,所述目标特征匹配模型包括第一模型、第二模型和第三模型;

所述将所述训练用户的唇部运动信息以及所述m个语音信息输入到所述初始化的神经网络中,计算得到所述m个语音信息分别与所述训练用户的唇部运动信息之间的匹配度,包括:

将所述m个语音信息输入到所述第一模型中,得到m个语音特征,所述m个语音特征中的每一个语音特征均为k维语音特征,k为大于0的整数;

将所述训练用户的唇部运动信息输入到所述第二模型中,得到所述训练用户的图像序列特征,所述训练用户的图像序列特征为k维图像序列特征;

将所述m个语音特征和所述训练用户的图像序列特征输入到第三模型中,计算得到所述m个语音特征分别与所述训练用户的图像序列特征之间的匹配度。

第三方面,本发明实施例提供了一种智能设备,可包括:处理器以及与所述处理器耦合的麦克风、摄像头:

所述麦克风,用于采集音频数据;

所述摄像头,用于采集视频数据,所述音频数据与所述视频数据为针对同一场景下采集的;

所述处理器,用于

获取所述音频数据以及所述视频数据;

从所述音频数据中提取待识别的语音信息,所述待识别的语音信息包括目标时间段内的语音波形序列;

从所述视频数据中提取n个用户的唇部运动信息,所述n个用户的唇部运动信息中的每一个用户的唇部运动信息包括对应的用户在所述目标时间段内唇部运动的图像序列,n为大于1的整数;

将所述待识别的语音信息和所述n个用户的唇部运动信息输入到目标特征匹配模型中,得到所述n个用户的唇部运动信息分别与所述待识别的语音信息之间的匹配度;

将匹配度最高的用户的唇部运动信息对应的用户,确定为所述待识别的语音信息所属的目标用户。

在一种可能的实现方式中,所述目标特征匹配模型包括第一模型、第二模型和第三模型;所述处理器,具体用于:

将所述待识别的语音信息输入到所述第一模型中,得到语音特征,所述语音特征为k维语音特征,k为大于0的整数;

将所述n个用户的唇部运动信息输入到所述第二模型中,得到n个图像序列特征;所述n个图像序列特征中的每一个图像序列特征均为k维图像序列特征;

将所述语音特征和所述n个图像序列特征输入到第三模型中,得到所述n个图像序列特征分别与所述语音特征之间的匹配度。

在一种可能的实现方式中,所述目标特征匹配模型为以训练用户的唇部运动信息以及m个语音信息为输入、以所述训练用户的唇部运动信息分别与所述m个语音信息之间的匹配度为m个标签,训练得到的特征匹配模型;可选的,所述m个语音信息包括与所述训练用户的唇部运动信息所匹配的语音信息。

在一种可能的实现方式中,所述处理器还用于:

确定所述目标用户的用户信息,所述用户信息包括人物属性信息、与所述待识别的语音信息对应面部表情信息、与所述待识别的语音信息对应的环境信息中的一种或多种;

基于所述用户信息,生成与所述用户信息匹配的控制指令。

在一种可能的实现方式中,所述处理器,具体用于:

基于人脸识别算法,识别所述视频数据中的n个人脸区域,提取所述n个人脸区域中每个人脸区域中的唇部运动视频;

基于所述每个人脸区域中的唇部运动视频确定所述n个用户的唇部运动信息。

在一种可能的实现方式中,所述处理器,具体用于:

基于频谱识别算法,识别所述音频数据中的不同频谱的音频数据,并将目标频谱的音频数据识别为所述待识别的语音信息。

第四方面,本发明实施例提供了一种智能设备,可包括:处理器以及与所述处理器耦合的麦克风、摄像头和神经网络处理器:

所述麦克风,用于采集音频数据;

所述摄像头,用于采集视频数据,所述音频数据与所述视频数据为针对同一场景下采集的;

所述处理器,用于:

获取所述音频数据以及所述视频数据;

从所述音频数据中提取待识别的语音信息,所述待识别的语音信息包括目标时间段内的语音波形序列;

从所述视频数据中提取n个用户的唇部运动信息,所述n个用户的唇部运动信息中的每一个用户的唇部运动信息包括对应的用户在所述目标时间段内唇部运动的图像序列,n为大于1的整数;

所述神经网络处理器,用于:

将所述待识别的语音信息和所述n个用户的唇部运动信息输入到目标特征匹配模型中,得到所述n个用户的唇部运动信息分别与所述待识别的语音信息之间的匹配度;

将匹配度最高的用户的唇部运动信息对应的用户,确定为所述待识别的语音信息所属的目标用户。

在一种可能的实现方式中,所述目标特征匹配模型包括第一模型、第二模型和第三模型;所述神经网络处理器,具体用于:

将所述待识别的语音信息输入到所述第一模型中,得到语音特征,所述语音特征为k维语音特征,k为大于0的整数;

将所述n个用户的唇部运动信息输入到所述第二模型中,得到n个图像序列特征;所述n个图像序列特征中的每一个图像序列特征均为k维图像序列特征;

将所述语音特征和所述n个图像序列特征输入到第三模型中,得到所述n个图像序列特征分别与所述语音特征之间的匹配度。

在一种可能的实现方式中,所述目标特征匹配模型为以训练用户的唇部运动信息以及m个语音信息为输入、以所述训练用户的唇部运动信息分别与所述m个语音信息之间的匹配度为m个标签,训练得到的特征匹配模型;可选的,所述m个语音信息包括与所述训练用户的唇部运动信息所匹配的语音信息。

在一种可能的实现方式中,所述处理器还用于:

确定所述目标用户的用户信息,所述用户信息包括人物属性信息、与所述待识别的语音信息对应面部表情信息、与所述待识别的语音信息对应的环境信息中的一种或多种;

基于所述用户信息,生成与所述用户信息匹配的控制指令。

在一种可能的实现方式中,所述处理器,具体用于:

基于人脸识别算法,识别所述视频数据中的n个人脸区域,提取所述n个人脸区域中每个人脸区域中的唇部运动视频;

基于所述每个人脸区域中的唇部运动视频确定所述n个用户的唇部运动信息。

在一种可能的实现方式中,所述处理器,具体用于:

基于频谱识别算法,识别所述音频数据中的不同频谱的音频数据,并将目标频谱的音频数据识别为所述待识别的语音信息。

第五方面,本发明实施例提供了一种语音匹配装置,可包括:

获取单元,用于获取音频数据以及视频数据;

第一提取单元,用于从所述音频数据中提取待识别的语音信息,所述待识别的语音信息包括目标时间段内的语音波形序列;

第二提取单元,用于从所述视频数据中提取n个用户的唇部运动信息,所述n个用户的唇部运动信息中的每一个用户的唇部运动信息包括对应的用户在所述目标时间段内唇部运动的图像序列,n为大于1的整数;

匹配单元,用于将所述待识别的语音信息和所述n个用户的唇部运动信息输入到目标特征匹配模型中,得到所述n个用户的唇部运动信息分别与所述待识别的语音信息之间的匹配度;

确定单元,用于将匹配度最高的用户的唇部运动信息对应的用户,确定为所述待识别的语音信息所属的目标用户。

在一种可能的实现方式中,所述目标特征匹配模型包括第一网络、第二网络和第三网络;所述匹配单元,具体用于:

将所述待识别的语音信息输入到所述第一网络中,得到语音特征,所述语音特征为k维语音特征,k为大于0的整数;

将所述n个用户的唇部运动信息输入到所述第二网络中,得到n个图像序列特征,所述n个图像序列特征中的每一个图像序列特征均为k维图像序列特征;

将所述语音特征和所述n个图像序列特征输入到第三网络中,得到所述n个图像序列特征分别与所述语音特征之间的匹配度。

在一种可能的实现方式中,所述目标特征匹配模型为以训练用户的唇部运动信息以及m个语音信息为输入、以所述训练用户的唇部运动信息分别与所述m个语音信息之间的匹配度为m个标签,训练得到的特征匹配模型;可选的,所述m个语音信息包括与所述训练用户的唇部运动信息所匹配的语音信息以及(m-1)个与所述训练用户的唇部运动信息不匹配的语音信息。

在一种可能的实现方式中,所述装置还包括:

确定单元,用于确定所述目标用户的用户信息,所述用户信息包括人物属性信息、与所述待识别的语音信息对应面部表情信息、与所述待识别的语音信息对应的环境信息中的一种或多种;

控制单元,用于基于所述用户信息,生成与所述用户信息匹配的控制指令。

在一种可能的实现方式中,所述第一提取单元,具体用于:

基于频谱识别算法,识别所述音频数据中的不同频谱的音频数据,并将目标频谱的音频数据识别为所述待识别的语音信息。

在一种可能的实现方式中,所述第二提取单元,具体用于:

基于人脸识别算法,识别所述视频数据中的n个人脸区域,提取所述n个人脸区域中每个人脸区域中的唇部运动视频;

基于所述每个人脸区域中的唇部运动视频确定所述n个用户的唇部运动信息。

第六方面,本发明实施例提供了一种神经网络的训练装置,可包括:

获取单元,用于获取训练样本,所述训练样本包括训练用户的唇部运动信息以及m个语音信息,所述m个语音信息包括与所述训练用户的唇部运动信息所匹配的语音信息以及(m-1)个与所述训练用户的唇部运动信息不匹配的语音信息;

训练单元,用于以所述训练用户的唇部运动信息以及所述m个语音信息为训练输入,以所述训练用户的唇部运动信息分别与所述m个语音信息之间的匹配度为m个标签,对初始化的神经网络进行训练,得到目标特征匹配模型。

在一种可能的实现方式中,所述训练用户的唇部运动信息包括所述训练用户的唇部运动图像序列;可选的,所述m个语音信息包括一个与所述训练用户的唇部运动图像序列匹配的语音波形序列以及(m-1)个与所述训练用户的唇部运动图像序列不匹配的语音波形序列。

在一种可能的实现方式中,所述训练单元,具体用于:

将所述训练用户的唇部运动信息以及所述m个语音信息输入到所述初始化的神经网络中,计算得到所述m个语音信息分别与所述训练用户的唇部运动信息之间的匹配度;

将计算得到的所述m个语音信息分别与所述训练用户的唇部运动信息之间的匹配度与所述m个标签进行比较,对初始化的神经网络进行训练,得到目标特征匹配模型。

在一种可能的实现方式中,所述目标特征匹配模型包括第一模型、第二模型和第三模型;所述训练单元,具体用于:

将所述m个语音信息输入到所述第一模型中,得到m个语音特征,所述m个语音特征中的每一个语音特征均为k维语音特征,k为大于0的整数;

将所述训练用户的唇部运动信息输入到所述第二模型中,得到所述训练用户的图像序列特征,所述训练用户的图像序列特征为k维图像序列特征;

将所述m个语音特征和所述训练用户的图像序列特征输入到第三模型中,计算得到所述m个语音特征分别与所述训练用户的图像序列特征之间的匹配度;

将计算得到的所述m个语音特征分别与所述训练用户的图像序列特征之间的匹配度与所述m个标签进行比较,对初始化的神经网络进行训练,得到目标特征匹配模型。

第七方面,本发明实施例提供了一种语音匹配方法,可包括:

获取待识别的语音信息和n个用户的唇部运动信息;所述待识别的语音信息包括目标时间段内的语音波形序列,所述n个用户的唇部运动信息中的每一个用户的唇部运动信息包括对应的用户在所述目标时间段内唇部运动的图像序列,n为大于1的整数;

将所述待识别的语音信息和所述n个用户的唇部运动信息输入到目标特征匹配模型中,得到所述n个用户的唇部运动信息分别与所述待识别的语音信息之间的匹配度;

将匹配度最高的用户的唇部运动信息对应的用户,确定为所述待识别的语音信息所属的目标用户。

在一种可能的实现方式中,所述目标特征匹配模型包括第一模型、第二模型和第三模型;

所述将所述待识别的语音信息和所述n个用户的唇部运动信息输入到目标特征匹配模型中,得到所述n个用户的唇部运动信息分别与所述待识别的语音信息之间的匹配度,包括:

将所述待识别的语音信息输入到所述第一模型中,得到语音特征,所述语音特征为k维语音特征,k为大于0的整数;

将所述n个用户的唇部运动信息输入到所述第二模型中,得到n个图像序列特征,所述n个图像序列特征中的每一个图像序列特征均为k维图像序列特征;

将所述语音特征和所述n个图像序列特征输入到第三模型中,得到所述n个图像序列特征分别与所述语音特征之间的匹配度。

在一种可能的实现方式中,所述目标特征匹配模型为以训练用户的唇部运动信息以及m个语音信息为输入、以所述训练用户的唇部运动信息分别与所述m个语音信息之间的匹配度为m个标签,训练得到的特征匹配模型。

在一种可能的实现方式中,所述方法还包括:

确定所述目标用户的用户信息,所述用户信息包括人物属性信息、与所述待识别的语音信息对应面部表情信息、与所述待识别的语音信息对应的环境信息中的一种或多种;

基于所述用户信息,生成与所述用户信息匹配的控制指令。

在一种可能的实现方式中,所述方法还包括:从视频数据中提取n个用户的唇部运动信息;进一步地,所述从所述视频数据中提取n个用户的唇部运动信息,包括:

基于人脸识别算法,识别所述视频数据中的n个人脸区域,提取所述n个人脸区域中每个人脸区域中的唇部运动视频;

基于所述每个人脸区域中的唇部运动视频确定所述n个用户的唇部运动信息。

在一种可能的实现方式中,所述方法还包括:从所述音频数据中提取待识别的语音信息;进一步地,所述从所述音频数据中提取待识别的语音信息,包括:

基于频谱识别算法,识别所述音频数据中的不同频谱的音频数据,并将目标频谱的音频数据识别为所述待识别的语音信息。

第八方面,本发明实施例提供了一种服务装置,可包括处理器;所述处理器用于:

获取待识别的语音信息和n个用户的唇部运动信息;所述待识别的语音信息包括目标时间段内的语音波形序列,所述n个用户的唇部运动信息中的每一个用户的唇部运动信息包括对应的用户在所述目标时间段内唇部运动的图像序列,n为大于1的整数;

将所述待识别的语音信息和所述n个用户的唇部运动信息输入到目标特征匹配模型中,得到所述n个用户的唇部运动信息分别与所述待识别的语音信息之间的匹配度;

将匹配度最高的用户的唇部运动信息对应的用户,确定为所述待识别的语音信息所属的目标用户。

在一种可能的实现方式中,所述目标特征匹配模型包括第一模型、第二模型和第三模型;所述处理器,具体用于:

将所述待识别的语音信息输入到所述第一模型中,得到语音特征,所述语音特征为k维语音特征,k为大于0的整数;

将所述n个用户的唇部运动信息输入到所述第二模型中,得到n个图像序列特征,所述n个图像序列特征中的每一个图像序列特征均为k维图像序列特征;

将所述语音特征和所述n个图像序列特征输入到第三模型中,得到所述n个图像序列特征分别与所述语音特征之间的匹配度。

在一种可能的实现方式中,所述目标特征匹配模型为以训练用户的唇部运动信息以及m个语音信息为输入、以所述训练用户的唇部运动信息分别与所述m个语音信息之间的匹配度为m个标签,训练得到的特征匹配模型。

在一种可能的实现方式中,所述服务器还包括处理器;所述处理器用于:

确定所述目标用户的用户信息,所述用户信息包括人物属性信息、与所述待识别的语音信息对应面部表情信息、与所述待识别的语音信息对应的环境信息中的一种或多种;

基于所述用户信息,生成与所述用户信息匹配的控制指令。

在一种可能的实现方式中,所述服务器还包括处理器;所述处理器,还用于:

基于人脸识别算法,识别视频数据中的n个人脸区域,提取所述n个人脸区域中每个人脸区域中的唇部运动视频;

基于所述每个人脸区域中的唇部运动视频确定所述n个用户的唇部运动信息。

在一种可能的实现方式中,所述服务器还包括处理器;所述处理器,还用于:

基于频谱识别算法,识别所述音频数据中的不同频谱的音频数据,并将目标频谱的音频数据识别为所述待识别的语音信息。

在一种可能的实现方式中,所述处理器为神经网络处理器;可选的,所述处理器完成的功能可以是由多个不同的处理器相互配合完成的,即所述处理器可以是由多个不同功能的处理器组合而成。

第九方面,本申请实施例还提供了一种语音匹配装置,包括处理器和存储器,所述存储器用于存储程序,所述处理器执行所述存储器存储的程序,当所述存储器存储的程序被执行时,使得所述处理器实现如第一方面所示的任一种方法或者第七方面所示的任一种方法。

第十方面,本申请实施例还提供了一种神经网络的训练装置,包括处理器和存储器,所述存储器用于存储程序,所述处理器执行所述存储器存储的程序,当所述存储器存储的程序被执行时,使得所述处理器实现如第二方面所示的任一种方法。

第十一方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读介质用于存储程序代码,所述程序代码包括用于执行如第一方面、第二方面或第七方面所述的任意一种方法。

第十二方面,本申请实施例还提供了提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述第一方面、第二方面或第七方面所述的任意一种方法。

第十三方面,提供一种芯片,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,执行第一方面、第二方面或第七方面所述的任意一种方法。

可选地,作为一种实现方式,所述芯片还可以包括存储器,所述存储器中存储有指令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行第一方面、第二方面或第七方面所述的任意一种方法。

第十四方面,本申请提供了一种芯片系统,该芯片系统包括处理器,用于支持智能设备实现上述第一方面中所涉及的功能,或者用于支持语音匹配装置实现上述第一方面或者第七方面中所涉及的功能。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存智能设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。

第十五方面,本申请提供了一种芯片系统,该芯片系统包括处理器,用于支持神经网络的训练装置实现上述第二方面中所涉及的功能。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存神经网络的训练装置必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。

第十六方面,提供一种电子设备,该电子设备包括上述第五方面中的任意一个语音匹配装置。

第十七方面,提供一种电子设备,该电子设备包括上述第六方面中的任意一个神经网络的训练装置。

第十八方面,提供一种云端服务器,该云端服务器包括上述第八方面中的任意一个服务装置。

第十九方面,提供一种服务器,该服务器包括上述第八方面中的任意一个服务装置。

附图说明

为了更清楚地说明本申请实施例或背景技术中的技术方案,下面将对本申请实施例或背景技术中所需要使用的附图进行说明。

图1为本发明实施例提供的一种机器人与多人交互的场景示意图。

图2为本发明实施例提供的一种智能音箱与多人交互的场景示意图。

图3为本发明实施例提供的一种智能手机/智能手表与多人交互的场景示意图。

图4为本发明实施例提供了一种系统架构100。

图5为本发明实施例提供的一种卷积神经网络示意图。

图6是本发明实施例提供的一种神经网络处理器硬件结构图。

图7a是本发明实施例提供的一种神经网络的训练方法的流程示意图。

图7b为本发明实施例提供的一种训练样本采样示意图。

图8a是本发明实施例提供的一种语音匹配方法的流程示意图。

图8b为本发明实施例提供的一种声音波形示例图。

图8c为本发明实施例提供的一种使用梅尔频率倒谱系数进行语音特征提取的示意图。

图8d为本发明实施例提供的一种机器人与家庭成员交互的场景示意图。

图9a是本发明实施例提供的另一种语音匹配方法的流程示意图。

图9b为本发明实施例提供的一种第一模型和第二模型的结构示意图。

图9c为本发明实施例提供的一种第三模型的结构示意图。

图9d为本发明实施例提供的一种机器人交互场景示意图。

图9e为本发明实施例提供的一种功能模块以及整体流程的示意图。

图9f为本发明实施例提供的一种语音匹配系统架构图。

图10a是本发明实施例提供的一种智能设备的结构示意图。

图10b是本发明实施例提供的另一种智能设备的结构示意图。

图11是本发明实施例提供的一种语音匹配装置的结构示意图。

图12是本发明实施例提供的一种神经网络的训练装置的结构示意图。

图13是本发明实施例提供的另一种智能设备的结构示意图。

图14是本发明实施例提供的一种服务装置的结构示意图。

图15是本发明实施例提供的另一种语音匹配系统。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例进行描述。

本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。

在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。

在本说明书中使用的术语“部件”、“模块”、“系统”等用于表示计算机相关的实体、硬件、固件、硬件和软件的组合、软件、或执行中的软件。例如,部件可以是但不限于,在处理器上运行的进程、处理器、对象、可执行文件、执行线程、程序和/或计算机。通过图示,在计算设备上运行的应用和计算设备都可以是部件。一个或多个部件可驻留在进程和/或执行线程中,部件可位于一个计算机上和/或分布在2个或更多个计算机之间。此外,这些部件可从在上面存储有各种数据结构的各种计算机可读介质执行。部件可例如根据具有一个或多个数据分组(例如来自与本地系统、分布式系统和/或网络间的另一部件交互的二个部件的数据,例如通过信号与其它系统交互的互联网)的信号通过本地和/或远程进程来通信。

首先,对本申请中的部分用语进行解释说明,以便于本领域技术人员理解。

(1)位图(bitmap):又称栅格图(rastergraphics)或点阵图,是使用像素阵列(pixel-array/dot-matrix点阵)来表示的图像。根据位深度,可将位图分为1、4、8、16、24及32位图像等。每个像素使用的信息位数越多,可用的颜色就越多,颜色表现就越逼真,相应的数据量越大。例如,位深度为1的像素位图只有两个可能的值(黑色和白色),所以又称为二值位图。位深度为8的图像有28(即256)个可能的值。位深度为8的灰度模式图像有256个可能的灰色值。rgb图像由三个颜色通道组成。8位/通道的rgb图像中的每个通道有256个可能的值,这意味着该图像有1600万个以上可能的颜色值。有时将带有8位/通道(bpc)的rgb图像称作24位图像(8位x3通道=24位数据/像素)。[2]通常将使用24位rgb组合数据位表示的的位图称为真彩色位图。

(2)语音识别技术(automaticspeechrecognition,asr),也被称为自动语音识别,其目标是将人类的语音中的词汇内容转换为计算机可读的输入,例如按键、二进制编码或者字符序列。

(3)声纹(voiceprint),是用电声学仪器显示的携带言语信息的声波频谱,是由波长、频率以及强度等百余种特征维度组成的生物特征。声纹识别是通过对一种或多种语音信号的特征分析来达到对未知声音辨别的目的,简单的说就是辨别某一句话是否是某一个人说的技术。通过声纹可以确定出说话人的身份,从而进行有针对性的回答。

(4)梅尔频率倒谱系数(melfrequencycepstrumcoefficient,mfcc)在声音处理领域中,梅尔频率倒谱(mel-frequencycepstrum)是基于声音频率的非线性梅尔刻度(melscale)的对数能量频谱的线性变换。梅尔频率倒谱系数(mfcc)广泛被应用于语音识别的功能。

(5)多路交叉熵(multi-waycross-entropyloss)交叉熵描述了两个概率分布之间的距离,当交叉熵越小说明二者之间越接近。

(6)神经网络

神经网络可以是由神经单元组成的,神经单元可以是指以xs和截距1为输入的运算单元,该运算单元的输出可以为:

其中,s=1、2、……n,n为大于1的自然数,ws为xs的权重,b为神经单元的偏置。f为神经单元的激活函数(activationfunctions),用于将非线性特性引入神经网络中,来将神经单元中的输入信号转换为输出信号。该激活函数的输出信号可以作为下一层卷积层的输入。激活函数可以是sigmoid函数。神经网络是将许多个上述单一的神经单元联结在一起形成的网络,即一个神经单元的输出可以是另一个神经单元的输入。每个神经单元的输入可以与前一层的局部接受域相连,来提取局部接受域的特征,局部接受域可以是由若干个神经单元组成的区域。

(7)深度神经网络

深度神经网络(deepneuralnetwork,dnn),也称多层神经网络,可以理解为具有很多层隐含层的神经网络,这里的“很多”并没有特别的度量标准。从dnn按不同层的位置划分,dnn内部的神经网络可以分为三类:输入层,隐含层,输出层。一般来说第一层是输入层,最后一层是输出层,中间的层数都是隐含层。层与层之间是全连接的,也就是说,第i层的任意一个神经元一定与第i+1层的任意一个神经元相连。虽然dnn看起来很复杂,但是就每一层的工作来说,其实并不复杂,简单来说就是如下线性关系表达式:其中,是输入向量,是输出向量,b是偏移向量,w是权重矩阵(也称系数),α()是激活函数。每一层仅仅是对输入向量经过如此简单的操作得到输出向量由于dnn层数多,则系数w和偏移向量b的数量也就很多了。这些参数在dnn中的定义如下所述:以系数w为例:假设在一个三层的dnn中,第二层的第4个神经元到第三层的第2个神经元的线性系数定义为上标3代表系数w所在的层数,而下标对应的是输出的第三层索引2和输入的第二层索引4。总结就是:第l-1层的第k个神经元到第l层的第j个神经元的系数定义为需要注意的是,输入层是没有w参数的。在深度神经网络中,更多的隐含层让网络更能够刻画现实世界中的复杂情形。理论上而言,参数越多的模型复杂度越高,“容量”也就越大,也就意味着它能完成更复杂的学习任务。训练深度神经网络的也就是学习权重矩阵的过程,其最终目的是得到训练好的深度神经网络的所有层的权重矩阵(由很多层的向量w形成的权重矩阵)。

(8)卷积神经网络

卷积神经网络(cnn,convolutionalneuronnetwork)是一种带有卷积结构的深度神经网络。卷积神经网络包含了一个由卷积层和子采样层构成的特征抽取器。该特征抽取器可以看作是滤波器,卷积过程可以看作是使用一个可训练的滤波器与一个输入的图像或者卷积特征平面(featuremap)做卷积。卷积层是指卷积神经网络中对输入信号进行卷积处理的神经元层。在卷积神经网络的卷积层中,一个神经元可以只与部分邻层神经元连接。一个卷积层中,通常包含若干个特征平面,每个特征平面可以由一些矩形排列的神经单元组成。同一特征平面的神经单元共享权重,这里共享的权重就是卷积核。共享权重可以理解为提取图像信息的方式与位置无关。这其中隐含的原理是:图像的某一部分的统计信息与其他部分是一样的。即意味着在某一部分学习的图像信息也能用在另一部分上。所以对于图像上的所有位置,都能使用同样的学习得到的图像信息。在同一卷积层中,可以使用多个卷积核来提取不同的图像信息,一般地,卷积核数量越多,卷积操作反映的图像信息越丰富。

卷积核可以以随机大小的矩阵的形式初始化,在卷积神经网络的训练过程中卷积核可以通过学习得到合理的权重。另外,共享权重带来的直接好处是减少卷积神经网络各层之间的连接,同时又降低了过拟合的风险。

(9)损失函数

在训练深度神经网络的过程中,因为希望深度神经网络的输出尽可能的接近真正想要预测的值,所以可以通过比较当前网络的预测值和真正想要的目标值,再根据两者之间的差异情况来更新每一层神经网络的权重向量(当然,在第一次更新之前通常会有过程,即为深度神经网络中的各层预先配置参数),比如,如果网络的预测值高了,就调整权重向量让它预测低一些,不断的调整,直到深度神经网络能够预测出真正想要的目标值或与真正想要的目标值非常接近的值。因此,就需要预先定义“如何比较预测值和目标值之间的差异”,这便是损失函数(lossfunction)或目标函数(objectivefunction),它们是用于衡量预测值和目标值的差异的重要方程。其中,以损失函数举例,损失函数的输出值(loss)越高表示差异越大,那么深度神经网络的训练就变成了尽可能缩小这个loss的过程。

(10)反向传播算法

卷积神经网络可以采用误差反向传播(backpropagation,bp)算法在训练过程中修正卷积神经网络中参数的大小,使得卷积神经网络的重建误差损失越来越小。具体地,前向传递输入信号直至输出会产生误差损失,通过反向传播误差损失信息来更新卷积神经网络中参数,从而使误差损失收敛。反向传播算法是以误差损失为主导的反向传播运动,旨在得到最优的卷积神经网络的参数,例如权重矩阵。

(11)像素值

图像的像素值可以是一个红绿蓝(rgb)颜色值,像素值可以是表示颜色的长整数。例如,像素值为256*red+100*green+76blue,其中,blue代表蓝色分量,green代表绿色分量,red代表红色分量。各个颜色分量中,数值越小,亮度越低,数值越大,亮度越高。对于灰度图像来说,像素值可以是灰度值。

首先,为了便于理解本发明实施例,进一步分析并提出本申请所具体要解决的技术问题。在现有技术中,关于多人场景中的语音匹配识别包括多种技术方案,以下示例性的列举如下常用的两种方案。其中,

方案一:

声纹(voiceprint),是用电声学仪器显示的携带言语信息的声波频谱,是由波长、频率以及强度等百余种特征维度组成的生物特征。声纹识别是通过对一种或多种语音信号的特征分析来达到对未知声音辨别的目的,简单的说就是辨别某一句话是否是某一个人说的技术。通过声纹可以确定出说话人的身份,从而进行有针对性的回答。主要分为两个阶段:注册阶段和验证阶段。其中,注册阶段:根据发音人语音的声纹特征,建立相应的声纹模型;验证阶段:接收发音人的语音,提取其声纹特征并与注册的声纹模型进行匹配,若匹配成功,则证明是原来注册的发音人。

该方案一的缺点:

声纹识别的应用有一些缺点,比如同一个人的声音具有易变性,易受身体状况、年龄、情绪等的影响;比如不同的麦克风和信道对识别性能有影响;比如环境噪音对识别有干扰;又比如混合说话人的情形下人的声纹特征不易提取。

方案二:

声源定位技术,是利用声学和电子装置接收目标声场信息以确定目标声源位置的一种技术。麦克风阵列的声源定位是指用麦克风阵列拾取声源信号,通过对多路声音信号进行分析与处理,在空间域中定取一个或者多个声源平面或空间坐标,即得到声源的位置。近一步控制麦克风阵列的波束对准说话人。

该方案二的缺点:

(1)机器人运动带来的麦克风阵列的运动,是机器人听觉与传统声源定位技术主要的差别所在,运动的麦克风阵列会面临即时变化的声学环境,要求声源定位系统具有较高的实时性。现在大多数声源定位系统的传感器数量较多,导致算法的计算复杂度较高。少量的麦克风和低复杂度的定位算法有待进一步探索。

(2)几乎所有的实用声源定位系统必然面临着复杂的声学环境,存在各种类型的噪声和混响。机器人工作在真实环境中,信号混响和噪声是难以避免的,因此声源定位系统的抗混响和抗噪声能力在很大程度上影响定位性能。现有的抗噪声技术大多只是针对某类或某几类噪声有效,一种鲁棒的、对各种噪声广泛适用的抗噪声技术或方案也还有待进一步研究。

综上,上述两种方案若应用于多人场景中的语音匹配识别中,则无法准确识别当前讲话内容具体由哪个用户发出,因此也就无法实现更为精准、有效的人机交互。因此,本申请要解决的技术问题包括如下方面:在机器人或者其它智能设备与多用户面对面交互时(多人教学、游戏、家庭日常生活等),如何准确地区分不同说话人、并进行有针对性的个性化交互。

本申请实施例提供的语音匹配方法能够应用在智能机器人、智能音箱、智能穿戴设备、智能手机等智能设备的人机交互场景。以下示例性列举本申请中语音匹配方法所应用的人机交互场景,可以包括如下三个场景。

场景一,通过机器人实现人机交互:

请参阅图1,图1为本发明实施例提供的一种机器人与多人交互的场景示意图,该应用场景中包括智能机器人和多个用户(图1中以一群朋友,用户a、用户b、用户c、用户d和用户e参加聚会为例),假设,此时一群朋友中的用户c想要让智能机器人帮忙端上来一杯果汁,那么用户c发出语音请求“小智小智,请帮忙拿一杯果汁给我,谢谢”。此时,智能机器人小智首先需要采集当前聚会场景下的语音数据和视频数据,其中,语音数据则包含了上述用户c发出的语音请求“小智小智,请帮忙拿一杯果汁,谢谢”,视频数据则包含了在该语音请求同时间段内的所有用户的唇部运动信息,并基于上述待识别的语音信息和多个用户的唇部运动信息,进行处理、分析,确定发出上述语音请求的具体是用户a、用户b、用户c、用户d和用户e用户中的哪位用户,进一步地,智能机器人“小智”根据判断结果控制自身将指定果汁或者根据判断选择的果汁送到该用户c面前。

场景二,智能音箱的人机交互:

请参阅图2,图2为本发明实施例提供的一种智能音箱与多人交互的场景示意图,该应用场景中包括智能音箱和多个用户(图1中以一群小朋友,小朋友a、小朋友b、小朋友c、小朋友d小朋友e、小朋友f在操场上进行游戏为例),假设,此时,小朋友b想要让智能音箱帮忙点一首自己喜欢的歌曲来活跃气氛,那么小朋友b发出语音请求“小智小智,请播放一首我上次听过的《小太阳》”。由于名为《小太阳》的歌曲可能有很多,并且不同小朋友听过的版本可能不一致,因此,智能音箱需要做更多的判断,以确定当前所需要播放的究竟是哪一首的哪一个版本。此时,智能音箱小智首先需要采集当前游戏场景下的语音数据和视频数据,其中,语音数据则包含了上述小朋b发出的语音请求“小智小智,请播放一首我上次听过的《小太阳》”,视频数据则包含了在该语音请求同时间段内的所有小朋友的唇部运动信息,并基于上述待识别的语音信息和多个小朋友的唇部运动信息,进行处理、分析,确定发出上述语音请求的具体是小朋友a、小朋友b、小朋友c、小朋友d、小朋友e、小朋友f中的哪位小朋友,进一步地,智能音箱“小智”根据判断结果查找与该小朋友b的播放记录中的《小太阳》,并控制播放该首《小太阳》。

场景三,智能手机/智能手表的人机交互:

请参阅图3,图3为本发明实施例提供的一种智能手机/智能手表与多人交互的场景示意图,该应用场景中包括智能手机/智能手表和多个用户(图1中以一帮同学,同学a、同学b、同学c在拼单吃饭为例),假设,同学a、同学b、同学c想通过智能手机或智能手表进行语音点餐,那么此时,可以通过某一个同学b的智能手机或智能手表进行点餐(拼单点餐可能有优惠,且下单方便),但是需要三个人对同学b的智能手机或智能手表发出语音点餐指令,如,同学b对着自己的智能手机说:“小智小智,我想要点一份餐厅xx的糖醋排骨,同学a对着同学b的智能手机说:“小智小智,我想要点一份餐厅xxxx的酸菜鱼”,同学c对着同学b的智能手机说:“小智小智,我想要点一份餐厅xxx的胡辣汤和紫菜包饭”那么在智能手机下单完成后,可能面临需要针对上述三位同学的点餐进行拆分收费的问题。那么此时,智能手机首先需要采集当前拼桌吃饭场景下的语音数据和视频数据,其中,语音数据则包含了上述同学a、同学b和同学c分别发出的语音点餐指令”,视频数据则包含了三位同学在发出上述语音指令同时间段内的所有三位同学的唇部运动信息,智能手机基于上述待识别的语音信息(三条点餐指令)和三个同学的唇部运动信息,进行处理、分析,确定发出上述三条语音点餐指令的分别对应的同学,并依据此,计算每个同学优惠后的点餐费用,并可通过智能手机上相应的客户端向同学a和同学c分别发起对应的用餐费用支付请求。至此,完成了多人语音拼单点餐并收费的功能。

可以理解的是,图1、图2和图3中的应用场景的只是本发明实施例中的几种示例性的实施方式,本发明实施例中的应用场景包括但不仅限于以上应用场景。本申请中的语音匹配方法还可以应用于,例如智能计算机与多人开会的交互、智能计算机与多人游戏的交互或智能房车与多人互动等场景,其它场景及举例将不再一一列举和赘述。

下面从模型训练侧和模型应用侧对本申请提供的方法进行描述:

本申请提供的任意一种神经网络的训练方法,涉及计算机听觉与视觉的融合处理,具体可以应用于数据训练、机器学习、深度学习等数据处理方法,对训练数据(如本申请中的训练用户的唇部运动信息以及m个语音信息)进行符号化和形式化的智能信息建模、抽取、预处理、训练等,最终得到训练好的目标特征匹配模型;并且,本申请提供的任意一种语音匹配方法可以运用上述训练好的目标特征匹配模型,将输入数据(如本申请中的待识别的语音信息以及n个用户的唇部运动信息)输入到所述训练好的目标特征匹配模型中,得到输出数据(如本申请中的n个用户的唇部运动信息分别与所述待识别的语音信息之间的匹配度)。需要说明的是,本申请实施例提供的一种神经网络的训练方法和一种语音匹配方法是基于同一个构思产生的发明,也可以理解为一个系统中的两个部分,或一个整体流程的两个阶段:如模型训练阶段和模型应用阶段。

参见附图4,图4是本发明实施例提供了一种系统架构100。如所述系统架构100所示,数据采集设备160用于采集训练数据,在本申请中,该数据采集设备160可以包括麦克风和摄像头。本发明实施例中训练数据(即模型训练侧的输入数据)可包括:视频样本数据和语音样本数据,即分别为本发明实施例中的训练用户的唇部运动信息以及m个语音信息,其中,所述m个语音信息可包括与所述训练用户的唇部运动信息所匹配的语音信息。例如,视频样本数据为某个训练用户在发出语音为:“今天天气特别好,我们去哪里玩?”时的唇部运动图像序列,而语音样本数据则为包含上述训练用户发出“今天天气特别好,我们去哪里玩?”的语音波形序列(作为语音正样本)以及(m-1)个其它语音波形序列(作为语音负样本)。而上述视频样本数据和音频样本数据可以是由数据采集设备160采集的,也可以是从云端下载下来的,图1只是一种示例性的架构,并不对此进行限定。进一步地,数据采集设备160将训练数据存入数据库130,训练设备120基于数据库130中维护的训练数据训练得到目标特征匹配模型/规则101(此处的目标特征匹配模型101即为本发明实施例中的所述目标特征匹配模型,例如,为经过上述训练阶段训练得到的模型,可以用于语音和唇部运动轨迹之间的特征匹配的神经网络模型)。

下面将更详细地描述训练设备120如何基于训练数据得到目标特征匹配模型/规则101,该目标特征匹配模型/规则101能够用于实现本发明实施例提供任意一种语音匹配方法,即,将由数据采集设备160获取的音频数据和视频数据通过相关预处理后输入该目标特征匹配模型/规则101,即可得到多个用户的唇部运动的图像序列特征分别与待识别的语音特征之间的匹配度/置信度。本发明实施例中的目标特征匹配模型/规则101具体可以为时空卷积网络(stcnn),在本申请提供的实施例中,该时空卷积网络可以是通过训练卷积神经网络得到的。需要说明的是,在实际的应用中,所述数据库130中维护的训练数据不一定都来自于数据采集设备160的采集,也有可能是从其他设备接收得到的。另外需要说明的是,训练设备120也不一定完全基于数据库130维护的训练数据进行目标特征匹配模型/规则101的训练,也有可能从云端或其他地方获取训练数据进行模型训练,上述描述不应该作为对本发明实施例的限定。

如图1所示,根据训练设备120训练得到目标特征匹配模型/规则101,该目标特征匹配模型/规则101在本发明实施例中可以称之为视听交叉卷积神经网络(v&acrosscnn)/时空卷积神经网络。具体的,本发明实施例提供的目标特征匹配模型可以包括:第一模型、第二模型和第三模型,其中第一模型用于进行语音特征的提取,第二模型用于多个用户(本申请中为n个用户)唇部运动的图像序列特征的提取,第三模型则用于上述语音特征和n个用户的图像序列特征之间的匹配度/置信度的计算。在本发明实施例提供的目标特征匹配模型中,所述第一模型、所述第二模型和所述第三模型都可以是卷积神经网络即可以理解为目标特征匹配模型/规则101自身可以看作是一个整体的时空卷积神经网络,而该时空卷积神经网络中又包含了多个独立网络,如上述第一模型、第二模型和第三模型,

根据训练设备120训练得到的目标特征匹配模型/规则101可以应用于不同的系统或设备中,如应用于图1所示的执行设备110,所述执行设备110可以是终端,如手机终端,平板电脑,笔记本电脑,增强现实(augmentedreality,ar)/虚拟现实(virtualreality,vr),智能可穿戴设备、智能机器人、车载终端等,还可以是服务器或者云端等。在附图1中,执行设备110配置有i/o接口112,用于与外部设备进行数据交互,用户可以通过客户设备140(本申请中的客户设备也可以包括麦克风、摄像头等数据采集设备)向i/o接口112输入数据,所述输入数据(即模型应用侧的输入数据)在本发明实施例中可以包括:待识别的语音信息和n个用户的唇部运动信息,即分别为本发明实施例中的目标时间段内的语音波形序列和n个用户的唇部运动信息中的每一个用户的唇部运动信息包括对应的用户在所述目标时间段内唇部运动的图像序列。例如,当前需要识别一群人中具体是哪个人讲了“明天天气怎么样,适合到哪里出游”的语音信息,则该“明天天气怎么样,适合到哪里出游”对应的语音波形序列,以及在场所有人对应的唇部运动的图像序列则作为输入数据。可以理解的是,此处的输入数据,可以是用户输入的,也可以是由相关数据库提供的,具体依据应用场景的不同而不同,本发明实施例对此不作具体限定。

在本发明实施例中,客户设备140可以和执行设备110在同一个设备上,数据采集设备160、数据库130和训练设备120也可以和执行设备110和客户设备140在同一个设备上。以本申请中的执行主体为机器人为例,机器人在通过客户设备140(包括麦克风和摄像头以及处理器)将采集的音频数据和视频数据,进行提取获得待识别的语音信息及n个用户的唇部运动信息之后,则可以通机器人内部的执行设备110,进一步对上述提取的语音信息和唇部运动信息之间进行特征匹配,最终输出结果至客户设备140,由客户设备140中的处理器分析得到所述待识别的语音信息在所述n个用户用所属的目标用户。并且,模型训练侧的设备(数据采集设备160、数据库130和训练设备120)可以在机器人内部,也可以在云端,当在机器人内部时,则可以认为机器人拥有可以实现模型训练或者模型更新优化的功能,此时,机器人既有模型训练侧的功能,又有模型应用侧的功能;当在云端,则可以认为机器人侧仅有模型应用侧的功能。可选的,客户设备140和执行设备110也可以不在同一个设备上,即采集音频数据和视频数据、以及提取待识别的语音信息和n个用户的唇部运动信息可以由客户设备140(例如智能手机、智能机器人等)来执行,而对待识别的语音信息和n个用户的唇部运动信息之间进行特征匹配的过程,则可以由执行设备110(例如云端服务器、服务器等)来执行。或者,可选的,采集音频数据和视频数据由客户设备140来执行,而提取待识别的语音信息和n个用户的唇部运动信息,以及对待识别的语音信息和n个用户的唇部运动信息之间进行特征匹配的过程均由执行设备110来完成。

在附图1中所示情况下,用户可以手动给定输入数据,该手动给定可以通过i/o接口112提供的界面进行操作。另一种情况下,客户设备140可以自动地向i/o接口112发送输入数据,如果要求客户设备140自动发送输入数据需要获得用户的授权,则用户可以在客户设备140中设置相应权限。用户可以在客户设备140查看执行设备110输出的结果,具体的呈现形式可以是显示、声音、动作等具体方式。客户设备140也可以作为数据采集端(例如为麦克风、摄像头),采集如图所示输入i/o接口112的输入数据及输出i/o接口112的输出结果作为新的样本数据,并存入数据库130。当然,也可以不经过客户设备140进行采集,而是由i/o接口112直接将如图所示输入i/o接口112的输入数据及输出i/o接口112的输出结果,作为新的样本数据存入数据库130。

预处理模块113用于根据i/o接口112接收到的输入数据(如所述语音数据)进行预处理,在本发明实施例中,预处理模块113可以用于对语音数据进行预处理,例如从语音数据中提取待识别的语音信息。

预处理模块114用于根据i/o接口112接收到的输入数据,如(所述视频数据)进行预处理,在本发明实施例中,预处理模块114可以用于对视频数据进行预处理,例如从视频数据中提取与上述待识别的语音信息对应的n个用户的唇部运动信息。

在执行设备110对输入数据进行预处理,或者在执行设备110的计算模块111执行计算等相关的处理过程中,执行设备110可以调用数据存储系统150中的数据、代码等以用于相应的处理,也可以将相应处理得到的数据、指令等存入数据存储系统150中。最后,i/o接口112将输出结果,如本发明实施例中的n个用户的唇部运动信息分别与待识别的语音信息之间的匹配度,或者其中最高的一个匹配度的目标用户id返回给客户设备140,客户设备140从而根据上述匹配度,确定目标用户的用户信息,从而基于该用户信息生成与该用户信息匹配的控制指令。

值得说明的是,训练设备120可以针对不同的目标或称不同的任务,基于不同的训练数据生成相应的目标特征匹配模型/规则101,该相应的目标特征匹配模型/规则101即可以用于实现上述目标或完成上述任务,从而为用户提供所需的结果。

值得注意的是,附图1仅是本发明实施例提供的一种系统架构的示意图,图中所示设备、器件、模块等之间的位置关系不构成任何限制,例如,在附图1中,数据存储系统150相对执行设备110是外部存储器,在其它情况下,也可以将数据存储系统150置于执行设备110中。

基于上述系统架构的介绍,以下描述本发明实施例中模型训练侧和模型应用侧所涉及的神经网络模型机即卷积神经网络,卷积神经网络cnn是一种带有卷积结构的深度神经网络,是一种深度学习(deeplearning)架构,深度学习架构是指通过机器学习的算法,在不同的抽象层级上进行多个层次的学习。作为一种深度学习架构,cnn是一种前馈(feed-forward)人工神经网络,该前馈人工神经网络中的各个神经元对输入其中的图像中的重叠区域作出响应。

如图5所示,图5为本发明实施例提供的一种卷积神经网络示意图,卷积神经网络(cnn)200可以包括输入层210,卷积层/池化层220,以及神经网络层230,其中池化层为可选的。

卷积层/池化层220:

如图1所示卷积层/池化层120可以包括如示例221-226层,在一种实现中,221层为卷积层,222层为池化层,223层为卷积层,224层为池化层,225为卷积层,226为池化层;在另一种实现方式中,221、222为卷积层,223为池化层,224、225为卷积层,226为池化层。即卷积层的输出可以作为随后的池化层的输入,也可以作为另一个卷积层的输入以继续进行卷积操作。

卷积层:

以卷积层221为例,卷积层221可以包括很多个卷积算子,卷积算子也称为核,其在图像处理中的作用相当于一个从输入图像矩阵中提取特定信息的过滤器,卷积算子本质上可以是一个权重矩阵,这个权重矩阵通常被预先定义,在对图像进行卷积操作的过程中,权重矩阵通常在输入图像上沿着水平方向一个像素接着一个像素(或两个像素接着两个像素……,这取决于步长stride的取值)的进行处理,从而完成从图像中提取特定特征的工作。该权重矩阵的大小应该与图像的大小相关,需要注意的是,权重矩阵的纵深维度(depthdimension)和输入图像的纵深维度是相同的,在进行卷积运算的过程中,权重矩阵会延伸到输入图像的整个深度。因此,和一个单一的权重矩阵进行卷积会产生一个单一纵深维度的卷积化输出,但是大多数情况下不使用单一权重矩阵,而是应用维度相同的多个权重矩阵。每个权重矩阵的输出被堆叠起来形成卷积图像的纵深维度。不同的权重矩阵可以用来提取图像中不同的特征,例如一个权重矩阵用来提取图像边缘信息,另一个权重矩阵用来提取图像的特定颜色,又一个权重矩阵用来对图像中不需要的噪点进行模糊化……该多个权重矩阵维度相同,经过该多个维度相同的权重矩阵提取后的特征图维度也相同,再将提取到的多个维度相同的特征图合并形成卷积运算的输出。

这些权重矩阵中的权重值在实际应用中需要经过大量的训练得到,通过训练得到的权重值形成的各个权重矩阵可以从输入图像中提取信息,从而帮助卷积神经网络200进行正确的预测。

当卷积神经网络200有多个卷积层的时候,初始的卷积层(例如221)往往提取较多的一般特征,该一般特征也可以被称为低级别的特征;随着卷积神经网络200深度的加深,越往后的卷积层(例如226)提取到的特征越来越复杂,比如高级别的语义之类的特征,语义越高的特征越适用于待解决的问题。

池化层:

由于常常需要减少训练参数的数量,因此卷积层之后常常需要周期性的引入池化层,即如图1中220所示例的221-226各层,可以是一层卷积层后面跟一层池化层,也可以是多层卷积层后面接一层或多层池化层。在图像处理过程中,池化层的唯一目的就是减少图像的空间大小。池化层可以包括平均池化算子和/或最大池化算子,以用于对输入图像进行采样得到较小尺寸的图像。平均池化算子可以在特定范围内对图像中的像素值进行计算产生平均值。最大池化算子可以在特定范围内取该范围内值最大的像素作为最大池化的结果。另外,就像卷积层中用权重矩阵的大小应该与图像大小相关一样,池化层中的运算符也应该与图像的大小相关。通过池化层处理后输出的图像尺寸可以小于输入池化层的图像的尺寸,池化层输出的图像中每个像素点表示输入池化层的图像的对应子区域的平均值或最大值。

神经网络层130:

在经过卷积层/池化层220的处理后,卷积神经网络100还不足以输出所需要的输出信息。因为如前所述,卷积层/池化层220只会提取特征,并减少输入图像带来的参数。然而为了生成最终的输出信息(所需要的类信息或别的相关信息),卷积神经网络200需要利用神经网络层230来生成一个或者一组所需要的类的输出。因此,在神经网络层230中可以包括多层隐含层(如图1所示的231、232至23n)以及输出层240,该多层隐含层中所包含的参数可以根据具体的任务类型的相关训练数据进行预先训练得到,例如该任务类型可以包括图像识别,图像分类,图像超分辨率重建等等……

在神经网络层230中的多层隐含层之后,也就是整个卷积神经网络200的最后层为输出层240,该输出层240具有类似分类交叉熵的损失函数,具体用于计算预测误差,一旦整个卷积神经网络200的前向传播(图1中由210至240的传播为前向传播)完成,反向传播(图1中由240至210的传播为反向传播)就会开始更新前面提到的各层的权重值以及偏差,以减少卷积神经网络200的损失及卷积神经网络200通过输出层输出的结果和理想结果之间的误差。

需要说明的是,如图5所示的卷积神经网络200仅作为一种卷积神经网络的示例,在具体的应用中,卷积神经网络还可以以其他网络模型的形式存在,例如,多个卷积层/池化层并行,将分别提取的特征均输入给全神经网络层230进行处理。

本申请中的归一化层,作为cnn的功能层,原则上可以在上述cnn中的任何一层之后,或者任何一层之前进行,并以上一层输出的特征矩阵作为输入,其输出也可以作为cnn中任何一层功能层的输入。但在实际cnn应用中,归一化层一般在卷积层之后进行,并以前面卷积层输出的特征矩阵作为输入矩阵。

基于上述图4和图5中对系统架构100以及对卷积神经网络200的相关功能描述,请参见图6,图6是本发明实施例提供的一种神经网络处理器硬件结构图,其中,

神经网络处理器npu302作为协处理器挂载到cpu(如hostcpu)301上,由hostcpu301分配任务。例如,对应到上述系统架构100中,在本申请中cpu301可位于客户设备140中,用于从语音数据和视频数据中提取待识别的语音信息和n个用户的唇部运动信息;而npu302则可以位于计算模块111中,用于对上述cpu301提取后的待识别的语音信息和n个用户的唇部运动信息进行特征提取以及特征匹配,从而将匹配结果发送至cpu301中进行进一步的计算处理,此处不作详细描述。可以理解的是,上述cpu和npu可以位于不同的设备中,其依据产品的实际需求可以进行不同的设置。例如,npu位于云端服务器上,而cpu则位于用户设备(如智能手机、智能机器人)上;或者,cpu和npu均位于客户设备上(如智能手机、智能机器人等)。

npu302的核心部分为运算电路3023,通过控制器3024控制运算电路3023提取存储器中的矩阵数据并进行乘法运算。

在一些实现中,运算电路3023内部包括多个处理单元(processengine,pe)。在一些实现中,运算电路3023是二维脉动阵列。运算电路3023还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路3023是通用的矩阵处理器。

举例来说,假设有输入矩阵a,权重矩阵b,输出矩阵c。运算电路从权重存储器3022中取矩阵b相应的数据,并缓存在运算电路中每一个pe上。运算电路从输入存储器3021中取矩阵a数据与矩阵b进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器3028accumulator中。

统一存储器3026用于存放输入数据以及输出数据。权重数据直接通过存储单元访问控制器30212directmemoryaccesscontroller,dmac被搬运到权重存储器3022中。输入数据也通过dmac被搬运到统一存储器3026中。

biu为businterfaceunit即,总线接口单元1210,用于axi总线与dmac和取指存储器3029instructionfetchbuffer的交互。

总线接口单元1210(businterfaceunit,简称biu),用于取指存储器3029从外部存储器获取指令,还用于存储单元访问控制器30212从外部存储器获取输入矩阵a或者权重矩阵b的原数据。

dmac主要用于将外部存储器ddr中的输入数据搬运到统一存储器3026或将权重数据搬运到权重存储器3022中或将输入数据数据搬运到输入存储器3021中。

向量计算单元3027多个运算处理单元,在需要的情况下,对运算电路的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。主要用于神经网络中非卷积/fc层网络计算,如pooling(池化),batchnormalization(批归一化),localresponsenormalization(局部响应归一化)等。

在一些实现种,向量计算单元能3027将经处理的输出的向量存储到统一缓存器3026。例如,向量计算单元3027可以将非线性函数应用到运算电路3023的输出,例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元3027生成归一化的值、合并值,或二者均有。在一些实现中,处理过的输出的向量能够用作到运算电路3023的激活输入,例如用于在神经网络中的后续层中的使用。

控制器3024连接的取指存储器(instructionfetchbuffer)3029,用于存储控制器3024使用的指令;

统一存储器3026,输入存储器3021,权重存储器3022以及取指存储器3029均为on-chip存储器。外部存储器私有于该npu硬件架构。

可以理解的是,关于本申请中的任一语音匹配方法实施例中针对待识别的语音信息以及n个用户的唇部运动信息的特征提取、以及特征匹配,以及关于本申请中的任一神经网络的训练方法实施例中的训练用户的唇部运动信息以及所m个语音信息的特征提取、以及特征匹配等相关功能,均由可上述神经网络处理器302(npu)中相关的功能单元进行实现,或者由上述处理器301和上述神经网络处理器302共同协作实现,此处不作详述。

下面结合上述应用场景、系统架构、卷积神经网络的结构、神经网络处理器的结构,从模型训练侧和模型应用侧对本申请提供的神经网络的训练方法、语音匹配方法的实施例进行描述,以及对本申请中提出的技术问题进行具体分析和解决。

参见图7a,图7a是本发明实施例提供的一种神经网络的训练方法的流程示意图,该方法可应用于上述图1、图2或图3中所述的应用场景及系统架构中,具体可应用于上述图4的训练设备120中。下面结合附图7a以执行主体为上述图4中的训练设备120或者包含训练设备120的设备为例进行描述。该方法可以包括以下步骤s701-步骤s702。

s701:获取训练样本,所述训练样本包括训练用户的唇部运动信息以及m个语音信息。

具体地,例如,训练用户的唇部运动信息为用户小方发出语音信息:“你好,我的名字叫小方,来自中国湖南,你呢?”所对应的唇部运动信息也即是唇部运动视频或唇部连续运动的图像序列,那么,所述m个语音信息则包括上述“你好,我的名字叫小方,来自中国湖南,你呢?”的语音信息作为语音正样本,以及其它的语音信息,如“你好,你晚上吃饭了吗”、“今天天气真不错,你去哪里玩了?”“帮忙查找一下从湖南到北京的旅游路线?”等语音信息作为负样本。可选的,所述m个语音信息包括与所述训练用户的唇部运动信息所匹配的语音信息以及(m-1)个与所述训练用户的唇部运动信息不匹配的语音信息。进一步可选的,所述训练用户的唇部运动信息包括所述训练用户的唇部运动图像序列,所述m个语音信息包括一个与所述训练用户的唇部运动图像序列匹配的语音波形序列以及(m-1)个与所述训练用户的唇部运动图像序列不匹配的语音波形序列。例如,上述唇部运动信息为用户小方在发出语音信息:“你好,我的名字叫小方,来自中国湖南,你呢?”所对应的连续的唇部运动的图像序列(即发音口型的视频),而上述m个语音信息则包括上述语音正样本的语音波形序列,和m-1个负样本的语音波形序列。可以理解的是,上述m个语音信息中也可以包括多个正样本和负样本,即对正样本和负样本的数量不作具体限定,只要均包含即可。

例如,如图7b所示,图7b为本发明实施例提供的一种训练样本采样示意图,该初始化的神经网络模型可以基于自监督的训练方式进行训练,无需额外标注。训练过程采样策略见图7b:实线矩形显示与上面的说话人面相对应的音频段(即为正样本),虚线矩形显示不匹配的音频段(即为负样本,负样本的生成是由正样本的基础上,音频偏移±δt得到)。

s702:以所述训练用户的唇部运动信息以及所述m个语音信息为训练输入,以所述训练用户的唇部运动信息分别与所述m个语音信息之间的匹配度为m个标签,对初始化的神经网络进行训练,得到目标特征匹配模型。

具体地,例如,上述训练用户的唇部运动信息与正样本的语音信息“你好,我的名字叫小方,来自中国湖南,你呢?”之间的标签为“匹配度=1”,而上述训练用户的唇部运动信息与其他负样本的语音信息“你好,你晚上吃饭了吗”、“今天天气真不错,你去哪里玩了?”“帮忙查找一下从湖南到北京的旅游路线?”之间的标签为“匹配度=0.2”、“匹配度=0”“匹配度=0”等,此处不再赘述。也即是通过上述训练输入和预先设置的标签,可以将初始化的神经网络模型训练得到本申请中所需要使用的目标特征匹配模型,该目标特征匹配模型可以用于匹配待识别的语音信息与多个用户的唇部运动信息之间的匹配关系,用于实现本申请中的任意一种语音匹配方法。

在一种可能的实现方式中,所述以所述训练用户的唇部运动信息以及所述m个语音信息为训练输入,以所述训练用户的唇部运动信息分别与所述m个语音信息之间的匹配度为m个标签,对初始化的神经网络进行训练,得到目标特征匹配模型,包括:将所述训练用户的唇部运动信息以及所述m个语音信息输入到所述初始化的神经网络中,计算得到所述m个语音信息分别与所述训练用户的唇部运动信息之间的匹配度;将计算得到的所述m个语音信息分别与所述训练用户的唇部运动信息之间的匹配度与所述m个标签进行比较,对初始化的神经网络进行训练,得到目标特征匹配模型。

在一种可能的实现方式中,所述目标特征匹配模型包括第一模型、第二模型和第三模型;所述将所述训练用户的唇部运动信息以及所述m个语音信息输入到所述初始化的神经网络中,计算得到所述m个语音信息分别与所述训练用户的唇部运动信息之间的匹配度,包括:将所述m个语音信息输入到所述第一模型中,得到m个语音特征,所述m个语音特征中的每一个语音特征均为k维语音特征,k为大于0的整数;将所述训练用户的唇部运动信息输入到所述第二模型中,得到所述训练用户的图像序列特征,所述训练用户的图像序列特征为k维图像序列特征;将所述m个语音特征和所述训练用户的图像序列特征输入到第三模型中,计算得到所述m个语音特征分别与所述训练用户的图像序列特征之间的匹配度。

关于上述具体如何从初始化的神经网络模型训练成为本申请中的目标特征匹配模型,在后续图7a-图9f对应的模型应用侧的方法实施例中一并进行描述,此处不作详述。

本发明实施例,通过将某个训练用户的唇部运动信息,以及与之匹配的语音信息和多个不匹配的语音信息作为初始化的神经网络的输入,并基于上述m个语音信息与该训练用户的唇部运动信息的实际匹配度作为标签,对上述初始的神经网络模型进行训练得到的目标特征匹配模型,例如,完全匹配对应的匹配度即标签为1,不匹配对应的匹配度即标签为0,当通过训练后的初始化的神经网络计算得到的训练用户的唇部运动信息分别与m个语音信息之间的匹配度越接近所述m个标签,则该训练后的初始化的神经网络越接近所述目标特征匹配模型。

参见图8a,图8a是本发明实施例提供的一种语音匹配方法的流程示意图,该方法可应用于上述图1、图2或图3中所述的应用场景及系统架构中,以及具体可应用于上述图4的客户设备140以及执行设备110中,可以理解的是,客户设备140和执行设备110可以在同一个物理设备上,例如智能机器人、智能手机、智能终端、智能可穿戴设备等。下面结合附图8a以执行主体为包含上述客户设备140以及执行设备110的智能设备为例进行描述。该方法可以包括以下步骤s801-步骤s805。

步骤s801:获取音频数据以及视频数据。

具体地,获取音视频数据,例如,智能设备通过麦克风获取语音数据,通过摄像头视频数据。在某个时间段内的原始音频数据及视频数据,即音频数据源和视频数据源。可选的,该音频数据和视频数据是针对同一个场景下的同一个时间段内所采集的,也即是音频数据为该视频数据对应的音频数据。比如,机器人通过处理器获取了通过麦克风采集的某个场景下的某个时间段内语音数据,并通过摄像头采集的该场景下的该时间段内的视频数据。

步骤s802:从所述音频数据中提取待识别的语音信息。

具体地,所述待识别的语音信息包括目标时间段内的语音波形序列。即在本发明实施例中,待识别的语音信息包括在具体某个时间段内的语音波形序列。可选的,音频数据的格式为非压缩wav格式,而wav是最常见的声音文件格式之一,是一种标准数字音频文件,该文件能记录各种单声道或立体声的声音信息,并能保证声音不失真。一般来说,由wav文件还原而成的声音的音质取决于声音卡采样样本的尺寸,采样频率越高,音质就越好,但开销就越大,wav文件也就越大,如图8b所示,图8b为本发明实施例提供的一种声音波形示例图。

在一种可能的实现方式中,假设音频数据中有多个用户在同时讲话,那么此时需要判断其中的某一段语音信息是由哪个用户发出的,则需要先识别、提取音频数据中的目标语音信息即上述待识别的语音信息。或者,假设该音频数据中包括了某一个用户讲的多段语音信息,而智能设备只需要识别其中某一段语音信息,则该段语音信息为待识别的语音信息。例如,智能设备从s801中的麦克风阵列获取的音频数据中提取音频特征,具体方法为如图8c所示,图8c为本发明实施例提供的一种使用梅尔频率倒谱系数进行语音特征提取的示意图。使用梅尔频率倒谱系数(mfcc)对帧长为20ms数据提取40维的特征,帧与帧之间没有重叠(non-overlapping),每15帧(对应0.3秒的音频片段)拼接(concat)为一个维数为15×40×3的cube(其中,15是时序特征,40×3是2d空间特征),以该0.3s内的语音波形序列作为音频特征的输入,其中0.3s则为目标时间段。

在一种可能的实现方式中,如何从所述音频数据中提取待识别的语音信息,包括:基于频谱识别算法,识别所述音频数据中的不同频谱的音频数据,并将目标频谱的音频数据识别为所述待识别的语音信息。由于不同用户发出的声音对应的频谱在一般情况下是不同的,因此,本发明实施例,通过从音频数据中先识别出不同频谱的音频数据,然后再将目标频谱的音频数据识别为待识别的语音信息,进而实现从音频数据中提取待识别语音信息的功能。

步骤s803:从所述视频数据中提取n个用户的唇部运动信息。

具体地,所述n个用户的唇部运动信息中的每一个用户的唇部运动信息包括对应的用户在所述目标时间段内唇部运动的图像序列,n为大于1的整数。即从原始视频数据中提取的各个用户的唇部视频,即连续的唇部运动的图像序列,包含了对应用户的连续的口型变化特征。可选的,其中的用户可以包括人、也可以包括其它能发出语音信息的机器人、生化人、玩具宠物、真实宠物等。例如,通过摄像头采集的视频数据中的每一帧图像的格式为24位bmp位图,其中,bmp图像文件(bitmap-file)格式是windows采用的图像文件存储格式,而24位图像则是使用3字节保存颜色值,每一个字节代表一种颜色,按红(r)、绿(r)、蓝(b)排列,并将rgb彩色图像转换成灰度图。智能设备从上述摄像头采集的视频数据中,基于人脸识别算法,获取至少一个人脸区域,并进一步以每个人脸区域为单位,为每个人脸区域赋予一个人脸id(以图8d描述的场景为例,图8d为本发明实施例提供的一种机器人与家庭成员交互的场景示意图,获取到的视频可以提取出6个人脸id),提取嘴部区域的视频序列流,其中,视频的帧速率为30f/s(帧率(framerate)=帧数(frames)/时间(time),单位为帧每秒(f/s,framespersecond,fps))。9个连续的图像帧形成0.3秒的视频流。将9帧图像视频数据(视频速度30fps)拼接(concat)为一个尺寸为9×60×100的cube,其中9是表示时间信息的帧数(时序特征)。每个通道都是口腔区域的60×100灰度图像(2d空间特征)。以此n个用分别对应的0.3s内的唇部运动的图像序列作为视频特征的输入,其中0.3s则为目标时间段。

在一种可能的实现方式中,具体如何从所述视频数据中提取n个用户的唇部运动信息,包括:基于人脸识别算法,识别所述视频数据中的n个人脸区域,提取所述n个人脸区域中每个人脸区域中的唇部运动视频;基于所述每个人脸区域中的唇部运动视频确定所述n个用户的唇部运动信息。本发明实施例,通过从视频数据中先识别出人脸区域,然后再基于该人脸区域提取每个人脸区域中的唇部运动视频,然后再依据唇部运动视频确定n个用户的唇部运动信息也即是对应用户的唇部运动图像序列。例如,智能设备从摄像头获取的视频数据中,基于人脸识别算法,获取至少一个人脸区域,并进一步以每个人脸区域为单位,提取嘴部区域的视频序列流。

步骤s804:将所述待识别的语音信息和所述n个用户的唇部运动信息输入到目标特征匹配模型中,得到所述n个用户的唇部运动信息分别与所述待识别的语音信息之间的匹配度。

具体地,将上述目标时间段内的语音波形序列和n个用户各自在所述目标时间段内唇部运动的图像序列,分别作为音频特征的输入和视频特征的输入,输入到目标特征匹配模型中,分别计算该语音特征分别和n个用户的唇部运动特征之间的匹配度。例如,若相匹配,计算出的匹配度值为1,若不匹配,则计算出的匹配度值为0。

步骤s805:将匹配度最高的用户的唇部运动信息对应的用户,确定为所述待识别的语音信息所属的目标用户。

具体地,将上述待识别的语音信息与上述n个用户唇部运动信息也即是n个用户的讲话口型中,匹配出最有可能发出上述待识别的语音信息对应的发音口型也即是唇部运动信息。例如,将上述待识别的语音信息以及n个用户的唇部运动信息输入到如训练好的神经网络模型(如本申请中的目标特征匹配模型)中,从所述n个用户中确定所述待识别的语音信息所属的目标用户。

本发明实施例,当应用于多人对话场景中时,可以通过采集音频数据和视频数据,并通过对音频数据中的语音信息和视频数据中的唇部运行信息进行匹配,则可以确定出待识别的语音信息所属的目标用户。即在多人的场景中通过语音特征与多个用户的唇部运动特征进行匹配,识别某段待识别的语音信息具体是由哪个用户发出的,从而可以基于该识别结果进行进一步的控制或操作。区别于现有技术中的通过声纹识别技术或者声源定位技术,即发明实施例不依赖于人的声音(声纹易受身体状况、年龄、情绪等的影响),不受环境干扰(如环境中的噪声干扰等),抗干扰能力强,识别效率和准确度高。其中,待识别的语音信息包括在具体某个时间段内的语音波形序列,而n个用户的唇部运动信息则包括多个用户在同一场景下的该时间段内的唇部运动的图像序列(即唇部运动的视频),便于后续进行相关的特征提取和特征匹配。而采用目标特匹配模型,将待识别的语音信息以及n个用户的唇部运动信息作为该目标特征匹配模型的输入,并且将n个用户的唇部运动信息分别与待识别的语音信息之间的匹配度作为该目标特征匹配模型的输出,进而根据匹配度确定出该待识别的语音信息所属的目标用户。可选的,该目标特征匹配模型为神经网络模型。

参见图9a,图9a是本发明实施例提供的另一种语音匹配方法的流程示意图,该方法可应用于上述图1、图2或图3中所述的应用场景及系统架构中,以及具体可应用于上述图4的客户设备140以及执行设备110中,可以理解的是,客户设备140和执行设备110可以在同一个物理设备上,例如智能机器人、智能手机、智能终端、智能可穿戴设备等。下面结合附图9a以执行主体为包含上述客户设备140以及执行设备110的智能设备为例进行描述。该方法可以包括以下步骤s901-步骤s905。可选的,还可以包括步骤s906-步骤s907。

步骤s901:获取音频数据以及视频数据,所述音频数据与所述视频数据为针对同一场景下采集的。

步骤s902:从所述音频数据中提取待识别的语音信息。

步骤s903:从所述视频数据中提取n个用户的唇部运动信息,n为大于1的整数;

具体地,步骤s901-步骤s903的功能可以参照上述步骤s801-步骤s803的相关描述,此处不再赘述。

步骤s904:将所述待识别的语音信息和所述n个用户的唇部运动信息输入到目标特征匹配模型中,得到所述n个用户的唇部运动信息分别与所述待识别的语音信息之间的匹配度。

具体地,由于声音和视觉特征是两种本质上差异很大的模态,而且原始帧速率通常不一样,音频为每秒100帧,而视频为每秒24帧。采用直接拼接的方法会造成信息损失,使得某一种特征(如语音特征或者是视频特征)在模型训练过程中起到主导作用,造成模型训练难以收敛,最终导致语音信息和唇部运动信息难以准确匹配。因此本发明实施例,可以分别使用两个神经网络编码器对输入的不同模态的序列进行逐层特征抽取,得到高层特征表达。具体方法如下,所述目标特征匹配模型包括第一模型、第二模型和第三模型;所述将所述待识别的语音信息和所述n个用户的唇部运动信息输入到目标特征匹配模型中,得到所述n个用户的唇部运动信息分别与所述待识别的语音信息之间的匹配度,包括以下步骤s904-a至步骤s904-c:

步骤s904-a:将所述待识别的语音信息输入到所述第一模型中,得到语音特征,所述语音特征为k维语音特征,m为大于0的整数;

步骤s904-b:将所述n个用户的唇部运动信息输入到所述第二模型中,得到n个图像序列特征;所述n个图像序列特征中的每一个图像序列特征为k维图像序列特征。

具体地,在上述步骤s904-a和s904-b中,智能设备将上述提取到的视频序列和音频序列作为输入,并分别通过第一模型和第二模型对输入的视频序列和音频序列进行特征归一化,即将视频特征和音频特征提取为相同维度的特征,即均为k维特征,以便于进行后续的特征匹配,进而进一步确定待识别语音信息匹配唇部运动信息的人脸id,具体流程如下:

本申请中的目标特征匹配网络为两部分,分别为特征分析子网络和特征匹配子网络,而发明实施例中的第一模型和第二模型均为特征分析子网络,第三模型为特征匹配子网络。其中,

1)特征分析子网络(也可称之为特征分析子模型)

如图9b所示,图9b为本发明实施例提供的一种第一模型和第二模型的结构示意图,其功能为将视频序列流和音频特征进行特征归一化,其归一化的网络类型是stcnn(时空卷积网络),左侧第二模型处理视频流,具体构成是3个3d卷积层加池化层(conv+pooling层),后接2个全连接层(fc层),输出为连续视频序列的64维特征表示。右侧第一模型处理音频流,具体构成是2个3d卷积加池化层(conv+pooling层),2个3d卷积层(conv层)和一个全连接层(fc层),音视频均使用时空卷积网络(stcnn)进行提取2d空间特征和时序特征。输出为连续语音序列的64维特征表示,即k等于64。

步骤s904-c:将所述语音特征和所述n个图像序列特征输入到第三模型中,得到所述n个图像序列特征分别与所述语音特征之间的匹配度。

具体地,如图9c所示,图9c为本发明实施例提供的一种第三模型的结构示意图,左侧为模型训练过程,使用多路交叉熵(multi-waycross-entropyloss)作为损失函数,基础网络部分由1个拼接层(concat层),2个fc层和1个softmax层(softmax函数:归一化指数函数)构成,训练时视频和音频以1:n作为输入进行端到端训练(端到端的含义是:以前有一些数据处理系统或者学习系统,它们需要多个阶段的处理。那么端到端深度学习就是忽略所有这些不同的阶段,用单个神经网络代替它)。如图9c所示,其功能是将视野内所有的人脸唇部序列特征同时与分离出的音频序列特征进行比较,求出最匹配人脸id。图9c右侧为模型应用过程,基于音视频特征层面的等价性(指音视频数据经过特征分析网络之后获取到的都是64维的特征),将1对n的问题,转化为n对1,推理时视频和音频以n:1作为输入(n段视频,1段音频),输入内容是step3中特征分析子网络输出的音视频64维特征,输出是最相似的音视频对。

步骤s905:将匹配度最高的用户的唇部运动信息对应的用户,确定为所述待识别的语音信息所属的目标用户。

步骤s906:确定所述目标用户的用户信息,所述用户信息包括人物属性信息、与所述待识别的语音信息对应面部表情信息、与所述待识别的语音信息对应的环境信息中的一种或多种。

步骤s907:基于所述用户信息,生成与所述用户信息匹配的控制指令。

具体地,本发明实施例,在确定了待识别的语音信息具体是由当前的场景中的哪个目标用户发出的之后,则可以根据该用户的属性信息(如性别、年龄、性格等)、面部表情信息(如该目标用户发出待识别的语音信息所对应的表情)以及对应的环境信息(如目标用户当前处于办公环境、家庭环境、或娱乐环境等),来确定与上述用户信息匹配的控制指令(如语音指令、操作指令等)。例如,控制智能机器朝着目标用户发出与所述表情数据和人物属性信息等匹配的语音或操作等,包括机器人的语气、机器人的头的转向以及机器人的回话内容等等。

如图9d所示,图9d为本发明实施例提供的一种机器人交互场景示意图,在图9d所示的场景示例中,得到最相似的音视频对为包括汤姆人脸的视频和汤姆发出的语音。因此在本步骤可以确定发出指令的人脸id为汤姆对应的人脸id。

1)匹配结果后智能设备根据确定的人脸id,以及存储在存储模块中的知识图谱获取该用户详细的用户个人资料(userprofile,或称用户画像);知识图谱包括用户的人口特征,对话历史(在本发明实施例中,包括在图9d所示的场景示例中,姐姐克里丝(告诉他明天有暴雨)和弟弟杰瑞(吵着要和他一起去)的上下文对话),用户的喜好

2)匹配结果后智能设备根据与该人脸id对应的的人脸区域,使用人脸表情网络,获取最新实时的人脸表情数据;

3)匹配结果后智能设备根据该人脸边界/边框(boundingbox/bbox),结合摄像头视野宽度(如图9f场景示例中所示),换算出机器人机械结构的移动水平和垂直角度值,送给舵机控制系统,驱动机器人转向该用户。具体换算公式为:

计算θ角,机器人头部直接向左/右转动θ角度,保证人脸中心与视野中心重合,其中,计算公式:θ=arctan(x/f)。

如图9e所示为本发明实施例提供的一种功能模块以及整体流程的示意图,包括多模态输入、特征提取、特征匹配、匹配结果后处理、对话和控制系统处理。本发明实施例的重点在于特征提取模块,多模态特征匹配网络和后处理模块。多模态输入模块包括用户侧终端设备(本发明实施例以机器人为例)

摄像头,摄像头用于获取图像/视频,具体地,在本发明中,获取的图像/视频包括多个人的信息;

麦克风,麦克风用于拾取语音,在本发明中,获取的图像/视频包括多个人的信息;

神经网络处理器,特征提取模块可以是用户侧终端设备的处理模块(上图中未示出)的一部分,可以是软件实现,如一段代码,用于从摄像头获取的视频数据中,基于人脸识别算法,获取至少一个人脸区域,并进一步以每个人脸区域为单位,提取嘴部区域的视频序列流;特征提取模块还用于从麦克风阵列获取的音频数据中提取音频特征;

多模态特征匹配模块用于将特征提模块提取到的视频序列流和音频特征,使用v&acrosscnn获取嘴型和语音匹配人脸id;

匹配结果后处理模块用于根据多模态特征匹配模块得到的人脸id,以及存储在存储模块中的知识图谱(上图中未示出,存储模块可以是云端服务器,也可以是部署在机器人上的,或者一部分在云端,一部分在机器人上),获取该用户详细的用户个人资料(userprofile,或称用户画像);

普通处理器,匹配结果后处理模块还用于根据与该人脸id对应的、特征提取模块获取的人脸区域,使用人脸表情网络,获取最新实时的人脸表情数据;

匹配结果后处理模块还用于根据该人脸边界/边框(boundingbox/bbox),以及预设的算法,换算机器人机械结构的移动角度

对话和控制系统处理模块包括对话模块和控制模块,对话模块用户根据匹配结果后处理模块得到的用户画像和人脸表情数据,得出语音的答复;控制模块用于根据匹配结果后处理模块得到的移动角度,通过舵机(舵机也叫伺服电机,最早用于船舶上实现其转向功能,由于可以通过程序连续控制其转角,因而被广泛应用机器人的各类关节运动)控制系统,驱动该机器人转向该用户。

本发明实施例还提供又一种语音匹配方法,该方法可应用于上述图1、图2或图3中所述的应用场景及系统架构中,以及具体可应用于上述图4的执行设备110中,可以理解的是,此时,客户设备140和执行设备110可以不在同一个物理设备上,如图9f所示,图9f为本发明实施例提供的一种语音匹配系统架构图,在该系统中,例如,客户设备140为智能机器人、智能手机、智能音箱、智能可穿戴设备等,作为音频数据和视频数据的采集设备,进一步地,还可以作为待识别语音信息以及n个用户的唇部信息的提取设备;而关于上述提取后的待识别语音信息以及n个用户的唇部信息之间的匹配则可以在执行设备110所在的服务器/服务设备/服务装置/云端服务设备上执行。可选的,上述待识别语音信息以及n个用户的唇部信息的提取也可以在执行设备110所在的设备侧执行,本发明实施例对此不作具体限定。下面结合附图9f以执行主体为包含上述执行设备110的云端服务设备为例进行描述。该方法可以包括以下步骤s1001-步骤s1003。

步骤s1001:获取待识别的语音信息和n个用户的唇部运动信息;所述待识别的语音信息包括目标时间段内的语音波形序列,所述n个用户的唇部运动信息中的每一个用户的唇部运动信息包括对应的用户在所述目标时间段内唇部运动的图像序列,n为大于1的整数。

步骤s1002:将所述待识别的语音信息和所述n个用户的唇部运动信息输入到目标特征匹配模型中,得到所述n个用户的唇部运动信息分别与所述待识别的语音信息之间的匹配度。

步骤s1003:将匹配度最高的用户的唇部运动信息对应的用户,确定为所述待识别的语音信息所属的目标用户。

在一种可能的实现方式中,所述目标特征匹配模型包括第一模型、第二模型和第三模型;

所述将所述待识别的语音信息和所述n个用户的唇部运动信息输入到目标特征匹配模型中,得到所述n个用户的唇部运动信息分别与所述待识别的语音信息之间的匹配度,包括:

将所述待识别的语音信息输入到所述第一模型中,得到语音特征,所述语音特征为k维语音特征,k为大于0的整数;

将所述n个用户的唇部运动信息输入到所述第二模型中,得到n个图像序列特征,所述n个图像序列特征中的每一个图像序列特征均为k维图像序列特征;

将所述语音特征和所述n个图像序列特征输入到第三模型中,得到所述n个图像序列特征分别与所述语音特征之间的匹配度。

在一种可能的实现方式中,所述目标特征匹配模型为以训练用户的唇部运动信息以及m个语音信息为输入、以所述训练用户的唇部运动信息分别与所述m个语音信息之间的匹配度为m个标签,训练得到的特征匹配模型。

在一种可能的实现方式中,所述方法还包括:

确定所述目标用户的用户信息,所述用户信息包括人物属性信息、与所述待识别的语音信息对应面部表情信息、与所述待识别的语音信息对应的环境信息中的一种或多种;

基于所述用户信息,生成与所述用户信息匹配的控制指令。

在一种可能的实现方式中,所述方法还包括:从视频数据中提取n个用户的唇部运动信息;进一步地,所述从所述视频数据中提取n个用户的唇部运动信息,包括:

基于人脸识别算法,识别所述视频数据中的n个人脸区域,提取所述n个人脸区域中每个人脸区域中的唇部运动视频;

基于所述每个人脸区域中的唇部运动视频确定所述n个用户的唇部运动信息。

在一种可能的实现方式中,所述方法还包括:从所述音频数据中提取待识别的语音信息;进一步地,所述从所述音频数据中提取待识别的语音信息,包括:

基于频谱识别算法,识别所述音频数据中的不同频谱的音频数据,并将目标频谱的音频数据识别为所述待识别的语音信息。

需要说明的是,本发明实施例中所描述的云端服务设备所执行的方法流程可参见上述图1-图9f中所述的相关方法实施例,此处不再赘述。

请参见图10a,图10a是本发明实施例提供的一种智能设备的结构示意图,图10a是本发明实施例提供的一种智能设备的功能原理示意图。该智能设备可以为智能机器人、智能手机、智能音箱、智能可穿戴设备等。该智能设备40a中可包括处理器401a,以及耦合于该处理器401a的麦克风402a、摄像头403a和神经网络处理器404a;其中,

麦克风402a,用于采集音频数据;

摄像头403a,用于采集视频数据,所述音频数据与所述视频数据为针对同一场景下采集的;

处理器401a,用于获取所述音频数据以及所述视频数据;从所述音频数据中提取待识别的语音信息;从所述视频数据中提取n个用户的唇部运动信息,n为大于1的整数;

神经网络处理器404a,用于基于所述待识别的语音信息以及所述n个用户的唇部运动信息,从所述n个用户中确定所述待识别的语音信息所属的目标用户。

在一种可能的实现方式中,所述待识别的语音信息包括目标时间段内的语音波形序列;所述n个用户的唇部运动信息中的每一个用户的唇部运动信息包括对应的用户在所述目标时间段内唇部运动的图像序列。

在一种可能的实现方式中,神经网络处理器404a,具体用于:将所述待识别的语音信息和所述n个用户的唇部运动信息输入到目标特征匹配模型中,得到所述n个用户的唇部运动信息分别与所述待识别的语音信息之间的匹配度;将匹配度最高的用户的唇部运动信息对应的用户,确定为所述待识别的语音信息所属的目标用户。

在一种可能的实现方式中,所述目标特征匹配模型包括第一模型、第二模型和第三模型;神经网络处理器404a,具体用于:将所述待识别的语音信息输入到所述第一模型中,得到语音特征,所述语音特征为k维语音特征,k为大于0的整数;将所述n个用户的唇部运动信息输入到所述第二模型中,得到n个图像序列特征,所述n个图像序列特征中的每一个图像序列特征均为k维图像序列特征;将所述语音特征和所述n个图像序列特征输入到第三模型中,得到所述n个图像序列特征分别与所述语音特征之间的匹配度。

在一种可能的实现方式中,所述目标特征匹配模型为以训练用户的唇部运动信息以及m个语音信息为输入、以所述训练用户的唇部运动信息分别与所述m个语音信息之间的匹配度为m个标签,训练得到的特征匹配模型,其中,所述m个语音信息包括与所述训练用户的唇部运动信息所匹配的语音信息。

在一种可能的实现方式中,处理器401a还用于:确定所述目标用户的用户信息,所述用户信息包括人物属性信息、与所述待识别的语音信息对应面部表情信息、与所述待识别的语音信息对应的环境信息中的一种或多种;基于所述用户信息,生成与所述用户信息匹配的控制指令。

在一种可能的实现方式中,处理器401a,具体用于:基于人脸识别算法,识别所述视频数据中的n个人脸区域,提取所述n个人脸区域中每个人脸区域中的唇部运动视频;基于所述每个人脸区域中的唇部运动视频确定所述n个用户的唇部运动信息。

在一种可能的实现方式中,处理器401a,具体用于:基于频谱识别算法,识别所述音频数据中的不同频谱的音频数据,并将目标频谱的音频数据识别为所述待识别的语音信息。

需要说明的是,本发明实施例中所描述的智能设备40a中相关模块的功能可参见上述图1-图9f中所述的相关方法实施例,此处不再赘述。

图10a中每个单元可以以软件、硬件、或其结合实现。以硬件实现的单元可以包括路及电炉、算法电路或模拟电路等。以软件实现的单元可以包括程序指令,被视为是一种软件产品,被存储于存储器中,并可以被处理器运行以实现相关功能,具体参见之前的介绍。

请参见图10b,图10b是本发明实施例提供的另一种智能设备的结构示意图,图10b是本发明实施例提供的一种智能设备的功能原理示意图。该智能设备可以为智能机器人、智能手机、智能音箱、智能可穿戴设备等。该智能设备40b中可包括处理器401b,以及耦合于该处理器401b的麦克风402b、摄像头403b;其中,

麦克风402b,用于采集音频数据;

摄像头403b,用于采集视频数据,所述音频数据与所述视频数据为针对同一场景下采集的;

处理器401b,用于:

获取所述音频数据以及所述视频数据;从所述音频数据中提取待识别的语音信息;从所述视频数据中提取n个用户的唇部运动信息,n为大于1的整数;

基于所述待识别的语音信息以及所述n个用户的唇部运动信息,从所述n个用户中确定所述待识别的语音信息所属的目标用户。

在一种可能的实现方式中,所述待识别的语音信息包括目标时间段内的语音波形序列;所述n个用户的唇部运动信息中的每一个用户的唇部运动信息包括对应的用户在所述目标时间段内唇部运动的图像序列。

在一种可能的实现方式中,处理器404b,具体用于:将所述待识别的语音信息和所述n个用户的唇部运动信息输入到目标特征匹配模型中,得到所述n个用户的唇部运动信息分别与所述待识别的语音信息之间的匹配度;将匹配度最高的用户的唇部运动信息对应的用户,确定为所述待识别的语音信息所属的目标用户。

在一种可能的实现方式中,所述目标特征匹配模型包括第一模型、第二模型和第三模型;神经网络处理器404b,具体用于:将所述待识别的语音信息输入到所述第一模型中,得到语音特征,所述语音特征为k维语音特征,k为大于0的整数;将所述n个用户的唇部运动信息输入到所述第二模型中,得到n个图像序列特征,所述n个图像序列特征中的每一个图像序列特征均为k维图像序列特征;将所述语音特征和所述n个图像序列特征输入到第三模型中,得到所述n个图像序列特征分别与所述语音特征之间的匹配度。

在一种可能的实现方式中,所述目标特征匹配模型为以训练用户的唇部运动信息以及m个语音信息为输入、以所述训练用户的唇部运动信息分别与所述m个语音信息之间的匹配度为m个标签,训练得到的特征匹配模型,其中,所述m个语音信息包括与所述训练用户的唇部运动信息所匹配的语音信息。

在一种可能的实现方式中,处理器401b还用于:确定所述目标用户的用户信息,所述用户信息包括人物属性信息、与所述待识别的语音信息对应面部表情信息、与所述待识别的语音信息对应的环境信息中的一种或多种;基于所述用户信息,生成与所述用户信息匹配的控制指令。

在一种可能的实现方式中,处理器401b,具体用于:基于人脸识别算法,识别所述视频数据中的n个人脸区域,提取所述n个人脸区域中每个人脸区域中的唇部运动视频;基于所述每个人脸区域中的唇部运动视频确定所述n个用户的唇部运动信息。

在一种可能的实现方式中,处理器401b,具体用于:基于频谱识别算法,识别所述音频数据中的不同频谱的音频数据,并将目标频谱的音频数据识别为所述待识别的语音信息。

需要说明的是,本发明实施例中所描述的智能设备40b中相关模块的功能可参见上述图1-图9f中所述的相关方法实施例,此处不再赘述。

图10b中每个单元可以以软件、硬件、或其结合实现。以硬件实现的单元可以包括路及电炉、算法电路或模拟电路等。以软件实现的单元可以包括程序指令,被视为是一种软件产品,被存储于存储器中,并可以被处理器运行以实现相关功能,具体参见之前的介绍。

请参见图11,图11是本发明实施例提供的一种语音匹配装置的结构示意图,图11是本发明实施例提供的一种智能设备的功能原理示意图。该智能设备可以为智能机器人、智能手机、智能音箱、智能可穿戴设备等。该语音匹配装置50中可包括获取单元501、第一提取单元502、第二提取单元503和匹配单元504;其中,

获取单元501,用于获取音频数据以及视频数据;

第一提取单元502,用于从所述音频数据中提取待识别的语音信息,所述待识别的语音信息包括目标时间段内的语音波形序列;

第二提取单元503,用于从所述视频数据中提取n个用户的唇部运动信息,所述n个用户的唇部运动信息中的每一个用户的唇部运动信息包括对应的用户在所述目标时间段内唇部运动的图像序列,n为大于1的整数;

匹配单元504,用于将所述待识别的语音信息和所述n个用户的唇部运动信息输入到目标特征匹配模型中,得到所述n个用户的唇部运动信息分别与所述待识别的语音信息之间的匹配度;

用户确定单元505,用于将匹配度最高的用户的唇部运动信息对应的用户,确定为所述待识别的语音信息所属的目标用户。

在一种可能的实现方式中,所述目标特征匹配模型包括第一网络、第二网络和第三网络;匹配单元504,具体用于:

将所述待识别的语音信息输入到所述第一网络中,得到语音特征,所述语音特征为k维语音特征,k为大于0的整数;

将所述n个用户的唇部运动信息输入到所述第二网络中,得到n个图像序列特征,所述n个图像序列特征中的每一个图像序列特征均为k维图像序列特征;

将所述语音特征和所述n个图像序列特征输入到第三网络中,得到所述n个图像序列特征分别与所述语音特征之间的匹配度。

在一种可能的实现方式中,所述目标特征匹配模型为以训练用户的唇部运动信息以及m个语音信息为输入、以所述训练用户的唇部运动信息分别与所述m个语音信息之间的匹配度为m个标签,训练得到的特征匹配模型;可选的,所述m个语音信息包括与所述训练用户的唇部运动信息所匹配的语音信息以及(m-1)个与所述训练用户的唇部运动信息不匹配的语音信息。

在一种可能的实现方式中,所述装置还包括:

信息确定单元506,用于确定所述目标用户的用户信息,所述用户信息包括人物属性信息、与所述待识别的语音信息对应面部表情信息、与所述待识别的语音信息对应的环境信息中的一种或多种;

控制单元507,用于基于所述用户信息,生成与所述用户信息匹配的控制指令。

在一种可能的实现方式中,第一提取单元502,具体用于:

基于频谱识别算法,识别所述音频数据中的不同频谱的音频数据,并将目标频谱的音频数据识别为所述待识别的语音信息。

在一种可能的实现方式中,所述第二提取单元503,具体用于:

基于人脸识别算法,识别所述视频数据中的n个人脸区域,提取所述n个人脸区域中每个人脸区域中的唇部运动视频;

基于所述每个人脸区域中的唇部运动视频确定所述n个用户的唇部运动信息。

需要说明的是,本发明实施例中所描述的语音匹配装置50中相关模块的功能可参见上述图1-图9f中所述的相关方法实施例,此处不再赘述。

图11中每个单元可以以软件、硬件、或其结合实现。以硬件实现的单元可以包括路及电炉、算法电路或模拟电路等。以软件实现的单元可以包括程序指令,被视为是一种软件产品,被存储于存储器中,并可以被处理器运行以实现相关功能,具体参见之前的介绍。

请参见图12,图12是本发明实施例提供的一种神经网络的训练装置的结构示意图,图12是本发明实施例提供的一种智能设备的功能原理示意图。该神经网络的训练装置可以为智能机器人、智能手机、智能音箱、智能可穿戴设备等。该神经网络的训练装置60中可包括获取单元601和训练单元602;其中,

获取单元601,用于获取训练样本,所述训练样本包括训练用户的唇部运动信息以及m个语音信息;可选的,所述m个语音信息包括与所述训练用户的唇部运动信息所匹配的语音信息以及(m-1)个与所述训练用户的唇部运动信息不匹配的语音信息;

训练单元602,用于以所述训练用户的唇部运动信息以及所述m个语音信息为训练输入,以所述训练用户的唇部运动信息分别与所述m个语音信息之间的匹配度为m个标签,对初始化的神经网络进行训练,得到目标特征匹配模型。

在一种可能的实现方式中,所述训练用户的唇部运动信息包括所述训练用户的唇部运动图像序列,所述m个语音信息包括一个与所述训练用户的唇部运动图像序列匹配的语音波形序列以及(m-1)个与所述训练用户的唇部运动图像序列不匹配的语音波形序列。

在一种可能的实现方式中,训练单元602,具体用于:

将所述训练用户的唇部运动信息以及所述m个语音信息输入到所述初始化的神经网络中,计算得到所述m个语音信息分别与所述训练用户的唇部运动信息之间的匹配度;

将计算得到的所述m个语音信息分别与所述训练用户的唇部运动信息之间的匹配度与所述m个标签进行比较,对初始化的神经网络进行训练,得到目标特征匹配模型。

在一种可能的实现方式中,所述目标特征匹配模型包括第一模型、第二模型和第三模型;训练单元602,具体用于:

将所述m个语音信息输入到所述第一模型中,得到m个语音特征,所述m个语音特征中的每一个语音特征均为k维语音特征,k为大于0的整数;

将所述训练用户的唇部运动信息输入到所述第二模型中,得到所述训练用户的图像序列特征,所述训练用户的图像序列特征为k维图像序列特征;

将所述m个语音特征和所述训练用户的图像序列特征输入到第三模型中,计算得到所述m个语音特征分别与所述训练用户的图像序列特征之间的匹配度;

将计算得到的所述m个语音特征分别与所述训练用户的图像序列特征之间的匹配度与所述m个标签进行比较,对初始化的神经网络进行训练,得到目标特征匹配模型。

需要说明的是,本发明实施例中所描述的神经网络的训练装置60中相关模块的功能可参见上述图1-图9f中所述的相关方法实施例,此处不再赘述。

图12中每个单元可以以软件、硬件、或其结合实现。以硬件实现的单元可以包括路及电炉、算法电路或模拟电路等。以软件实现的单元可以包括程序指令,被视为是一种软件产品,被存储于存储器中,并可以被处理器运行以实现相关功能,具体参见之前的介绍。

请参见图13,图13是本发明实施例提供的另一种智能设备的结构示意图,该智能设备可以为智能机器人、智能手机、智能音箱、智能可穿戴设备等。该智能设备70中可包括处理器701,以及耦合于该处理器701的麦克风702、摄像头703;其中,

麦克风702,用于采集音频数据;

摄像头703,用于采集视频数据;

处理器701,用于获取音频数据以及视频数据;

从所述音频数据中提取待识别的语音信息,所述待识别的语音信息包括目标时间段内的语音波形序列;

从所述视频数据中提取n个用户的唇部运动信息,所述n个用户的唇部运动信息中的每一个用户的唇部运动信息包括对应的用户在所述目标时间段内唇部运动的图像序列,n为大于1的整数;

需要说明的是,本发明实施例中所描述的智能设备70中相关模块的功能可参见上述图1-图9f中所述的相关方法实施例,此处不再赘述。

请参见图14,图14是本发明实施例提供的一种服务装置的结构示意图,该服务装置可以为服务器、云端服务器等。该服务装置80中可包括处理器;可选的,该处理器可由神经网络处理器801和与该神经网络处理器801耦合的处理器802组成;其中,

神经网络处理器801,用于:

获取待识别的语音信息和n个用户的唇部运动信息;

将所述待识别的语音信息和所述n个用户的唇部运动信息输入到目标特征匹配模型中,得到所述n个用户的唇部运动信息分别与所述待识别的语音信息之间的匹配度;

将匹配度最高的用户的唇部运动信息对应的用户,确定为所述待识别的语音信息所属的目标用户。

在一种可能的实现方式中,所述目标特征匹配模型包括第一模型、第二模型和第三模型;神经网络处理器801,具体用于:

将所述待识别的语音信息输入到所述第一模型中,得到语音特征,所述语音特征为k维语音特征,k为大于0的整数;

将所述n个用户的唇部运动信息输入到所述第二模型中,得到n个图像序列特征,所述n个图像序列特征中的每一个图像序列特征均为k维图像序列特征;

将所述语音特征和所述n个图像序列特征输入到第三模型中,得到所述n个图像序列特征分别与所述语音特征之间的匹配度。

在一种可能的实现方式中,所述目标特征匹配模型为以训练用户的唇部运动信息以及m个语音信息为输入、以所述训练用户的唇部运动信息分别与所述m个语音信息之间的匹配度为m个标签,训练得到的特征匹配模型。

在一种可能的实现方式中,所述服务器还包括处理器802;处理器802用于:

确定所述目标用户的用户信息,所述用户信息包括人物属性信息、与所述待识别的语音信息对应面部表情信息、与所述待识别的语音信息对应的环境信息中的一种或多种;

基于所述用户信息,生成与所述用户信息匹配的控制指令。

在一种可能的实现方式中,所述服务器还包括处理器802;处理器802,还用于:

基于人脸识别算法,识别视频数据中的n个人脸区域,提取所述n个人脸区域中每个人脸区域中的唇部运动视频;

基于所述每个人脸区域中的唇部运动视频确定所述n个用户的唇部运动信息。

在一种可能的实现方式中,所述服务器还包括处理器802;处理器802,还用于:

基于频谱识别算法,识别所述音频数据中的不同频谱的音频数据,并将目标频谱的音频数据识别为所述待识别的语音信息。

需要说明的是,本发明实施例中所描述的语音匹配装置50中相关模块的功能可参见上述图1-图9f中所述的相关方法实施例,此处不再赘述。

请参见图15,图15是本发明实施例提供的另一种语音匹配系统200,该系统包括上述智能设备70和服务装置80,该智能设备70和服务装置80通过交互完成本申请中的所述任意一种语音匹配方法,关于该系统的功能可参见上述图1-图9f中所述的相关方法实施例,此处不再赘述。

本发明实施例还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时包括上述方法实施例中记载的任意一种的部分或全部步骤。

本发明实施例还提供一种计算机程序,该计算机程序包括指令,当该计算机程序被计算机执行时,使得计算机可以执行上述方法实施例中记载的任意一种的部分或全部步骤。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可能可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。

上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以为个人计算机、服务器或者网络设备等,具体可以是计算机设备中的处理器)执行本申请各个实施例上述方法的全部或部分步骤。其中,而前述的存储介质可包括:u盘、移动硬盘、磁碟、光盘、只读存储器(read-onlymemory,缩写:rom)或者随机存取存储器(randomaccessmemory,缩写:ram)等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1