1.本技术涉及人工智能(artificial intelligence,ai)领域,并且更具体的,涉及声纹识别的方法、电子设备和系统。
背景技术:
2.声纹识别是通过对一种或多种语音信号的特征分析来达到对未知声音辨别的目的,简单的说就是辨别某一句话是否是某一个人说的技术。由于每一个声音都具有独特的特征,通过该特征能将不同人的声音进行有效的区分。声纹识别包括声纹注册和声纹验证两个阶段。在声纹注册阶段,将注册人的语音信息转换成说话人的声纹模板。在声纹验证阶段,将验证语音的信息与注册阶段生成的说话人的声纹模板进行相似度打分,判断该验证语音是否来自于该说话人。在声纹注册阶段和声纹验证阶段,都要使用声纹识别算法来获取说话人语音的特征信息。
3.对于端侧交互设备,由于其计算资源有限,不能部署精确度高或者复杂的声纹识别算法模型。有一种方案,可以将声纹识别模型整体部署在充足算力的后端设备上。但是,在该方案中,当端侧交互设备具有麦克风阵列时,该声纹识别模型不能利用该麦克风阵列采集的多通道数据,导致不能获取端侧交互设备采集的语音信号的远场性能和噪声性能,进而影响声纹识别的准确性。
4.因此,如何对端侧交互设备进行声纹识别是亟需解决的问题。
技术实现要素:
5.本技术提供一种声纹识别的方法、电子设备和系统,实现一种分布式的声纹识别神经网络。
6.第一方面,提供了一种声纹识别的方法,该方法应用于第一电子设备或第一电子设备中的芯片。在该方法中,第一电子设备通过至少一个麦克风获取用户的语音信号,然后将该语音信号输入预设的第一神经网络模型,获取该语音信号的低层特征,其中,该第一神经网络模型是利用第一训练数据样本集得到的,该第一训练数据样本集中包括上述至少一个麦克风获取的多个语音数据样本。然后,将该低层特征输出至第二电子设备。
7.这里,低层特征指语音信号的比较冗余的特征,即语音信号的不够精炼的特征,例如输入的语谱图的边缘、线条和角等。也就是说,根据语音信号的该低层特征,不能很明确的区分不同说话人。
8.可以理解的是,低层特征是提取语音信号的特征信息的过程中获取的一个中间变量,即神经网络模型通过进一步的组合该低层特征,能够形成语音信号的更加抽象的高层特征。本技术实施例中,高层特征即神经网络提取的语音信号的比较准确的特征,即语音信号的精炼的特征。也就是说,相对于根据语音信号的低层特征而言,根据语音信号的高层特征可以更能明确的区别不同说话人。换句话说,语音信号的高层特征即语音信号的能够用于生成声纹模板的特征信息,或者能够用于与声纹模板进行匹配的特征信息。
9.因此,本技术实施例通过将第一神经网络模型部署在第一电子设备上,并通过该第一神经网络设备获取第一电子设备通过至少一个麦克风获取的语音信号的低层特征,其中,该第一神经网络模型与该至少一个麦克风适配,当麦克风数量为多个时,使得第一神经网络模型能够利用这些麦克风采集的多通道数据,提升语音信号的远场性能和噪声场景性能,从而有助于提高声纹识别的准确性。
10.另外,由于第一神经网络模型只需要获取语音信号的低层特征,因此第一神经网络对电子设备的计算能力要求较低,因此部署该第一神经网络模型的第一电子设备可以不具备充足的计算能力。
11.结合第一方面,在第一方面的某些实现方式中,第一神经网络模型可以为二维(2d)卷积神经网络,该第一神经网络模型的至少一个输入通道与所述至少一个麦克风一一对应。
12.其中,上述将所述语音信号输入上预设的第一神经网络模型的一种实现方式可以为,将该至少一个麦克风中的每个麦克风获取的语音信号输入到每个麦克风对应的输入通道中。
13.这样,通过将2d卷积神经网络的输入通道数设置为与上述至少一个麦克风的数量相同,当麦克风的数量为多个时,使得该多个麦克风中每个麦克风获取的语音信息分别输入2d卷积神经网络的一个输入通道中,能够实现该2d卷积神经网络模型与第一电子设备上的麦克风的数量和排列适配,进而能够利用该至少一个麦克风采集的多通道数据,来提升语音的远场性能和噪声场景的性能,从而有助于提高声纹识别的准确性。
14.结合第一方面,在第一方面的某些实现方式中,所述第一神经网络模型为三维卷积神经网络,所述第一神经网络模型的卷积核的深度与所述至少一个麦克风的数量相同。
15.这样,通过将3d卷积神经网络的卷积核的深度设置为与上述麦克风的数量相同,当麦克风的数量为多个时,使得该3d卷积神经网络中每个通道中的卷积核可以同时对该多个麦克风中的每个麦克风获取的语音信息进行卷积操作,能够实现该3d卷积神经网络与第一电子设备的麦克风的数量和排列适配,进而能够利用该至少一个麦克风采集的多通道数据,来提升语音的远场性能和噪声场景的性能,从而有助于提高声纹识别的准确性。
16.示例性的,由于第一神经网络模型能够与该多个麦克风适配,通过该第一神经网络模型能够分析出该多个麦克风接收到的语音信号音源的方向以及距离情况,进而能够得到语音信号时间信息和/或强度信息,即低层特征中可以包括语音信号时间信息和/或强度信息,因此本技术实施例能够利用多个麦克风采集的多通道数据,来提升语音信号的远场性能。
17.另外,第一神经网络模型能够利用多个麦克风接收到的声波的相位之间的差异对声波进行过滤,进而可以将环境背景声音清除掉,剩下需要的声波,从而使得本技术实施例能够利用麦克风阵列采集的多通道数据,来提升语音信号的噪声场景的性能。
18.结合第一方面,在第一方面的某些实现方式中,所述用户的语音信号包括待识别语音信号或注册语音信号。
19.第二方面,提供了一种声纹识别的方法,该方法应用于第二电子设备或者第二电子设备中的芯片。在该方法中,第二电子设备可以从第一电子设备获取待识别用户的待识别语音信号的低层特征,并将该待识别语音信号的低层特征输入预设的第二神经网络模
型,获取该待识别语音信号的高层特征,其中,该第二神经网络模型是利用第二训练数据样本集得到的,该第二训练数据样本集中包括至少一个第一电子设备获取的多个语音数据样本。然后,第二电子设备将该待识别语音信号的高层特征与已注册用户的声纹模板进行匹配。若该高层特征与所述声纹模板匹配,则确定上述待识别用户为已注册用户,若该高层特征与所述声纹模板不匹配,则确定上述待识别用户不是已注册用户。
20.这里,低层特征指语音信号的比较冗余的特征,即语音信号的不够精炼的特征,例如输入的语谱图的边缘、线条和角等。也就是说,根据语音信号的该低层特征,不能很明确的区分不同说话人。
21.可以理解的是,低层特征是提取语音信号的特征信息的过程中获取的一个中间变量,即神经网络模型通过进一步的组合该低层特征,能够形成语音信号的更加抽象的高层特征。本技术实施例中,高层特征即神经网络提取的语音信号的比较准确的特征,即语音信号的精炼的特征。也就是说,相对于根据语音信号的低层特征而言,根据语音信号的高层特征可以更能明确的区别不同说话人。换句话说,语音信号的高层特征即语音信号的能够用于生成声纹模板的特征信息,或者能够用于与声纹模板进行匹配的特征信息。
22.因此,相对于现有技术将神经网络模型整体部署在一个电子设备上而言,本技术实施例通过把神经网络模型拆成轻量的第一神经网络模型和深度的第二神经网络模型,把轻量的第一神经网络模型部署在算力有限的第一电子设备(例如端侧交互设备)上,把深度的第二神经网络模型部署在算力充足的第二电子设备(例如后端计算设备)上,实现一种分布式的声纹识别神经网络。
23.进一步的,当第一电子设备包括多个麦克风时,轻量的第一神经网络模型可以实现与该多个麦克风阵列适配,有助于后端的深度的第二神经网络模型对该多个麦克风阵列采集的多通道数据的低层特征进行深度学习,提升高层特征中语音信号的远场性能和噪声性能,从而有助于提高声纹识别的准确性。
24.结合第二方面,在第二方面的某些实现方式中,在将待识别语音信号的高层特征与已注册用户的声纹模板进行匹配之前,还可以从第一电子设备获取用户的注册语音信号的低层特征,并将该注册语音信号的低层特征输入上述第二神经网络模型,获取该第二语音信号的高层特征。然后,根据该第二语音信号的高层特征,生成已注册用户的声纹模板。
25.本技术实施例中,当麦克风的数量为多个时,由于高层特征是第二神经网络模型对该多个麦克风采集的多通道数据的低层特征进行深度学习获取的,具有较佳的远场性能和噪声性能,因此本技术实施例中的声纹注册阶段的已注册用户或机主的声纹模板,以及声纹验证阶段的待识别语音信号的语音特征向量相对现有技术而言更加准确,因此本技术实施例能够有助于提高声纹识别的准确性。
26.第三方面,提供了一种声纹识别的方法,在该方法中,第一电子设备通过至少一个麦克风获取用户的待识别语音信号,并将该待识别语音信号输入预设的第一神经网络模型,获取该待识别语音信号的低层特征,其中,该第一神经网络模型是利用第一训练数据样本集得到的,该第一训练数据样本集中包括上述至少一个麦克风获取的多个语音数据样本。然后,该第一电子设备将该待识别语音信号的低层特征输出至第二电子设备。
27.在该方法中,第二电子设备从第一电子设备获取待识别语音信号的低层特征,并将该待识别语音信号的低层特征输入预设的第二神经网络模型,获取该待识别语音信号的
高层特征,其中,该第二神经网络模型是利用第二训练数据样本集得到的,该第二训练数据样本集中包括至少一个第一电子设备获取的多个语音数据样本。然后,该第二电子设备将待识别语音信号的高层特征与已注册用户的声纹模板进行匹配。若该高层特征与声纹模板匹配,则第二电子设备确定该待识别用户为所述已注册用户,若该高层特征与声纹模板不匹配,则第二电子设备确定该待识别用户不是已注册用户。
28.因此,相对于现有技术将神经网络模型整体部署在一个电子设备上而言,本技术实施例通过把神经网络模型拆成轻量的第一神经网络模型和深度的第二神经网络模型,把轻量的第一神经网络模型部署在算力有限的第一电子设备(例如端侧交互设备)上,把深度的第二神经网络模型部署在算力充足的第二电子设备(例如后端计算设备)上,实现一种分布式的声纹识别神经网络。这样,由于第一神经网络模型只需要获取语音信号的低层特征,因此第一神经网络对电子设备的计算能力要求较低,因此部署该第一神经网络模型的第一电子设备可以不具备充足的计算能力。
29.进一步的,当第一电子设备包括多个麦克风时,轻量的第一神经网络模型可以实现与该多个麦克风阵列适配,有助于后端的深度的第二神经网络模型对该多个麦克风阵列采集的多通道数据的低层特征进行深度学习,提升高层特征中语音信号的远场性能和噪声性能,从而有助于提高声纹识别的准确性。
30.结合第三方面,在第三方面的某些实现方式中,上述第一神经网络模型为二维卷积神经网络,该第一神经网络模型的至少一个输入通道与上述至少一个麦克风一一对应。
31.其中,将所述待识别语音信号输入预设的第一神经网络模型的一种实现方式为将该至少一个麦克风中的每个麦克风获取的待识别语音信号输入到每个麦克风对应的输入通道中。
32.这样,通过将2d卷积神经网络的输入通道数设置为与上述至少一个麦克风的数量相同,当麦克风的数量为多个时,使得该多个麦克风中每个麦克风获取的语音信息分别输入2d卷积神经网络的一个输入通道中,能够实现该2d卷积神经网络模型与第一电子设备上的麦克风的数量和排列适配,进而能够利用该至少一个麦克风采集的多通道数据,来提升语音的远场性能和噪声场景的性能,从而有助于提高声纹识别的准确性。
33.结合第三方面,在第三方面的某些实现方式中,上述第一神经网络模型为三维卷积神经网络,该第一神经网络模型的卷积核的深度与上述至少一个麦克风的数量相同。
34.这样,通过将3d卷积神经网络的卷积核的深度设置为与上述麦克风的数量相同,当麦克风的数量为多个时,使得该3d卷积神经网络中每个通道中的卷积核可以同时对该多个麦克风中的每个麦克风获取的语音信息进行卷积操作,能够实现该3d卷积神经网络与第一电子设备的麦克风的数量和排列适配,进而能够利用该至少一个麦克风采集的多通道数据,来提升语音的远场性能和噪声场景的性能,从而有助于提高声纹识别的准确性。
35.结合第三方面,在第三方面的某些实现方式中,在第二电子设备将待识别语音信号的高层特征与已注册用户的声纹模板进行匹配之前,第一电子设备还可以通过至少一个麦克风获取用户的注册语音信号,并将该待识别语音信号输入上述第一神经网络模型,获取所述注册语音信号的低层特征。然后,第一电子设备将该注册语音信号的低层特征输出至第二电子设备。
36.第二电子设备从第一电子设备获取该注册语音信号的低层特征,并将该待识别语
音信号的低层特征输入上述第二神经网络模型,获取所述第二语音信号的高层特征。然后,第二电子设备根据第二语音信号的高层特征,生成所述已注册用户的声纹模板。
37.本技术实施例中,当麦克风的数量为多个时,由于高层特征是第二神经网络模型对该多个麦克风采集的多通道数据的低层特征进行深度学习获取的,具有较佳的远场性能和噪声性能,因此本技术实施例中的声纹注册阶段的已注册用户或机主的声纹模板,以及声纹验证阶段的待识别语音信号的语音特征向量相对现有技术而言更加准确,因此本技术实施例能够有助于提高声纹识别的准确性。
38.第四方面,提供了一种电子设备,该电子设备包括至少一个麦克风、处理器和输出接口。
39.至少一个麦克风,用于获取用户的语音信号。
40.处理器,用于将上述语音信号输入预设的第一神经网络模型,获取该语音信号的低层特征,其中,该第一神经网络模型是利用第一训练数据样本集得到的,该第一训练数据样本集中包括上述至少一个麦克风获取的多个语音数据样本。
41.输出接口,用于将上述低层特征输出至第二电子设备。
42.这里,低层特征指语音信号的比较冗余的特征,即语音信号的不够精炼的特征,例如输入的语谱图的边缘、线条和角等。也就是说,根据语音信号的该低层特征,不能很明确的区分不同说话人。
43.可以理解的是,低层特征是提取语音信号的特征信息的过程中获取的一个中间变量,即神经网络模型通过进一步的组合该低层特征,能够形成语音信号的更加抽象的高层特征。本技术实施例中,高层特征即神经网络提取的语音信号的比较准确的特征,即语音信号的精炼的特征。也就是说,相对于根据语音信号的低层特征而言,根据语音信号的高层特征可以更能明确的区别不同说话人。换句话说,语音信号的高层特征即语音信号的能够用于生成声纹模板的特征信息,或者能够用于与声纹模板进行匹配的特征信息。
44.因此,本技术实施例通过将第一神经网络模型部署在电子设备上,并通过该第一神经网络设备获取该电子设备通过至少一个麦克风获取的语音信号的低层特征,其中,该第一神经网络模型与该至少一个麦克风适配,当麦克风数量为多个时,使得第一神经网络模型能够利用这些麦克风采集的多通道数据,提升语音信号的远场性能和噪声场景性能,从而有助于提高声纹识别的准确性。
45.另外,由于第一神经网络模型只需要获取语音信号的低层特征,因此第一神经网络对电子设备的计算能力要求较低,因此部署该第一神经网络模型的电子设备可以不具备充足的计算能力。
46.结合第四方面,在第四方面的某些实现方式中,上述第一神经网络模型为二维卷积神经网络,该第一神经网络模型的至少一个输入通道与至少一个麦克风一一对应。
47.其中,所述处理器具体用于将该至少一个麦克风中的每个麦克风获取的语音信号输入到每个麦克风对应的输入通道中。
48.这样,通过将2d卷积神经网络的输入通道数设置为与上述至少一个麦克风的数量相同,当麦克风的数量为多个时,使得该多个麦克风中每个麦克风获取的语音信息分别输入2d卷积神经网络的一个输入通道中,能够实现该2d卷积神经网络模型与电子设备上的麦克风的数量和排列适配,进而能够利用该至少一个麦克风采集的多通道数据,来提升语音
的远场性能和噪声场景的性能,从而有助于提高声纹识别的准确性。
49.结合第四方面,在第四方面的某些实现方式中上述第一神经网络模型为三维卷积神经网络,该第一神经网络模型的卷积核的深度与至少一个麦克风的数量相同。
50.这样,通过将3d卷积神经网络的卷积核的深度设置为与上述麦克风的数量相同,当麦克风的数量为多个时,使得该3d卷积神经网络中每个通道中的卷积核可以同时对该多个麦克风中的每个麦克风获取的语音信息进行卷积操作,能够实现该3d卷积神经网络与电子设备的麦克风的数量和排列适配,进而能够利用该至少一个麦克风采集的多通道数据,来提升语音的远场性能和噪声场景的性能,从而有助于提高声纹识别的准确性。
51.结合第四方面,在第四方面的某些实现方式中,其特征在于,所述用户的语音信号包括待识别语音信号或注册语音信号。
52.第五方面,提供了一种电子设备,包括输入接口和处理器。
53.输入接口,用于从第一电子设备获取待识别用户的待识别语音信号的低层特征。
54.处理器,用于将上述待识别语音信号的低层特征输入预设的第二神经网络模型,获取该待识别语音信号的高层特征,其中,该第二神经网络模型是利用第二训练数据样本集得到的,该第二训练数据样本集中包括至少一个第一电子设备获取的多个语音数据样本。
55.处理器还用于将上述待识别语音信号的高层特征与已注册用户的声纹模板进行匹配,若该高层特征与所述声纹模板匹配,则确定待识别用户为已注册用户,若该高层特征与声纹模板不匹配,则确定待识别用户不是已注册用户。
56.这里,低层特征指语音信号的比较冗余的特征,即语音信号的不够精炼的特征,例如输入的语谱图的边缘、线条和角等。也就是说,根据语音信号的该低层特征,不能很明确的区分不同说话人。
57.可以理解的是,低层特征是提取语音信号的特征信息的过程中获取的一个中间变量,即神经网络模型通过进一步的组合该低层特征,能够形成语音信号的更加抽象的高层特征。本技术实施例中,高层特征即神经网络提取的语音信号的比较准确的特征,即语音信号的精炼的特征。也就是说,相对于根据语音信号的低层特征而言,根据语音信号的高层特征可以更能明确的区别不同说话人。换句话说,语音信号的高层特征即语音信号的能够用于生成声纹模板的特征信息,或者能够用于与声纹模板进行匹配的特征信息。
58.因此,相对于现有技术将神经网络模型整体部署在一个电子设备上而言,本技术实施例通过把神经网络模型拆成轻量的第一神经网络模型和深度的第二神经网络模型,把轻量的第一神经网络模型部署在算力有限的第一电子设备(例如端侧交互设备)上,把深度的第二神经网络模型部署在算力充足的上述电子设备(例如后端计算设备)上,实现一种分布式的声纹识别神经网络。
59.进一步的,当第一电子设备包括多个麦克风时,轻量的第一神经网络模型可以实现与该多个麦克风阵列适配,有助于后端的深度的第二神经网络模型对该多个麦克风阵列采集的多通道数据的低层特征进行深度学习,提升高层特征中语音信号的远场性能和噪声性能,从而有助于提高声纹识别的准确性。
60.结合第五方面,在第五方面的某些实现方式中,上述输入接口还用于从所述第一电子设备获取用户的注册语音信号的低层特征。
61.所述处理器还用于将所述注册语音信号的低层特征输入所述第二神经网络模型,获取所述第二语音信号的高层特征;
62.所述处理器还用于根据所述第二语音信号的高层特征,生成所述已注册用户的声纹模板。
63.本技术实施例中,当麦克风的数量为多个时,由于高层特征是第二神经网络模型对该多个麦克风采集的多通道数据的低层特征进行深度学习获取的,具有较佳的远场性能和噪声性能,因此本技术实施例中的声纹注册阶段的已注册用户或机主的声纹模板,以及声纹验证阶段的待识别语音信号的语音特征向量相对现有技术而言更加准确,因此本技术实施例能够有助于提高声纹识别的准确性。
64.第六方面,提供了一种声纹识别的系统,其特征在于,包括上述第四方面以及第四方面任一种可能的实现方式中的电子设备和上述第五方面以及第五方面任一种可能的实现方式中的电子设备。
65.第七方面,本技术实施例提供了一种电子设备,用于执行上述第一方面或第一方面或第一方面的任意可能的实现方式中的方法,具体的,该电子设备包括用于执行上述第一方面或第一方面的任意可能的实现方式中的方法的模块。
66.第八方面,本技术实施例提供了一种电子设备,用于执行上述第二方面或第二方面或第二方面的任意可能的实现方式中的方法,具体的,该电子设备包括用于执行上述第二方面或第二方面的任意可能的实现方式中的方法的模块。
67.第九方面,本技术实施例提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述第一方面或第一方面的任意可能的实现方式中的方法。
68.第十方面,本技术实施例提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述第二方面或第二方面的任意可能的实现方式中的方法。
69.第十一方面,本技术实施例提供了一种计算机可读介质,用于存储计算机程序,该计算机程序包括用于执行第一方面或第一方面的任意可能的实现方式,或者第二方面或第二方面的任意可能的实现方式中的方法的指令。
70.第十二方面,本技术实施例还提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得该计算机执行第一方面或第一方面的任意可能的实现方式,或者第二方面或第二方面的任意可能的实现方式中的方法。
附图说明
71.图1是一种适用于本技术的网络架构的示意图;
72.图2是本技术实施例提供的一种声纹识别的系统的示意图;
73.图3是麦克风阵列的3个示例;
74.图4是包含6个麦克风的环形麦克风阵列拾音波束区域的一个示例;
75.图5是2d cnn模型进行卷积的一个具体示例;
76.图6是3d cnn模型进行卷积的一个具体示例;
77.图7是本技术实施例提供的一种声纹识别的方法的示意性流程图;
78.图8是本技术实施例中端侧交互设备显示界面的一个示例;
79.图9是本技术实施例中端侧交互设备显示界面的另一个示例;
80.图10是本技术实施例提供的录入用户语音的界面的一个示例;
81.图11是本技术实施例提供的录入用户语音的界面的另一个示例;
82.图12是本技术实施例提供的一种电子设备的示意性框图;
83.图13是本技术实施例提供的另一种电子设备的示意性框图;
84.图14是本技术实施例提供的一种声纹识别的系统的示意性框图;
85.图15是本技术实施例的电子设备的结构示意图。
具体实施方式
86.下面将结合附图,对本技术中的技术方案进行描述。
87.首先介绍本技术的应用场景,图1是一种适用于本技术的网络架构的示意图。如图1所示,网络架构中可以包括端侧交互设备和后端计算设备。
88.示例性的,端侧交互设备可以包括至少一个算力有限的电子设备。其中,算力有限的电子设备例如为智能车载装置、可穿戴装置(如智能眼镜、智能手表等)、智能家居设备(如智能音箱、咖啡机、打印机等)等,本技术实施例对此不作限定。
89.示例性的,后端计算设备可以为算力充足的云端服务器,或智能随身设备,或家庭计算中枢等,本技术实施例对此不作限定。其中,智能随身设备例如为算力充足的电子设备,例如为手机(mobile phone)、平板电脑、笔记本电脑、掌上电脑等,本技术实施例对此并不限定。家庭计算中枢例如为算力充足的电子设备,例如为手机、平板电脑、笔记本电脑、掌上电脑、电视、路由器等,本技术实施例对此不作限定。
90.需要说明的是,图1中的端侧交互设备仅是举例说明,适用本技术的端侧交互设备不限于此,例如,还可以为物联网(internet of things,iot)系统中的电子设备等。另外,图1中的后端计算设备仅是举例说明,适用本技术的后端计算设备不限于此,例如,还可以为移动互联网设备等。
91.一个具体的例子,当图1所示的系统架构应用于家庭使用场景时,端侧交互设备例如智能音箱、智能家居等端侧设备,后端计算设备可以为家庭计算中枢,例如算力强大的手机、电视、路由器等,或者可以为算力充足的云端设备,例如云端服务器等,本技术实施例对此不做限定。
92.另一个具体的例子,当图1所示的系统架构应用于个人穿戴场景时,端侧交互设备为算力有限的个人穿戴设备上,例如智能手环、智能手表、智能耳机、智能眼镜等端侧设备,后端计算设备可以为算力充足的随身设备上,例如手机等,本技术实施例对此不做限定。
93.示例性的,端侧交互设备与后端计算设备之间可以通过无线网络连接,或者通过蓝牙配对连接,本技术实施例对此不做限定。
94.需要说明的是,本技术实施例示出的多个电子设备是为了更好的更全面的说明本技术实施例,但不应该对本技术实施例造成任何限制。
95.下面,对本技术实施例涉及的相关术语进行描述。
96.1、声纹识别,主要包括声纹注册和声纹确认/辨别两个流程。其中,在声纹注册阶段,对用户的注册语音信号进行特征提取,获取注册语音信号的特征信息,并对该特征信息
进行训练,得到用户的声纹模板。此时,该用户可以称为已注册用户。在声纹确认/辨别阶段,可以获取未知说话人的待识别语音信号的特征信息,然后将该特征信息与在声纹注册阶段获取的已知的声纹模板进行匹配,进行声纹确认/辨别。在声纹确认/辨别阶段也可以称为声纹验证阶段。
97.其中,声纹确认即说话人确认,用于判断未知说话人是否为某个指定人。声纹辨认即说话人辨认,用于判断未知说话人是已知记录说话人中的哪一位。
98.作为示例,可以通过神经网络模型来获取注册语音信号或待识别语音信号的特征信息。
99.2、神经网络模型,也可以称为人工神经网络,是一种应用类似于大脑神经突触联接的结构进行信息处理的数学模型。神经网络模型,由大量的节点(或称神经元)和之间相互联接构成。每个节点代表一种特定的输出函数,称为激励函数(activation function)。每两个节点间的连接都代表一个对于通过该连接信号的加权值,称之为权重,这相当于人工神经网络的记忆。网络的输出则依网络的连接方式,权重值和激励函数的不同而不同。而网络自身通常都是对自然界某种算法或者函数的逼近,也可能是对一种逻辑策略的表达。
100.通常,神经网络模型包括输入层、输出层和隐藏层。其中,在输入层中,众多神经元(neuron)接受大量非线形输入信息。输入的信息称为输入向量;在输出层中,信息在神经元链接中传输、分析、权衡,形成输出结果。输出的信息称为输出向量。隐藏层(hidden layer),简称“隐层”,是输入层和输出层之间众多神经元和链接组成的各个层面。隐层可以有一层或多层。隐层的节点(神经元)数目不定,但数目越多神经网络的非线性越显著,从而神经网络的强健性(robustness)(控制系统在一定结构、大小等的参数摄动下,维持某些性能的特性)更显著。
101.3、轻度神经网络,也可以称为浅度神经网络或轻量神经网络。当神经网络模型中隐层的数量较少,例如一层或两层时,可以将该神经网络称为轻度神经网络。轻度神经网络的输出层输出的是输入信息的低层特征。输入信息例如为图像,声音和文本等。
102.其中,低层特征指神经网络提取的输入信息的比较冗余的特征,即不够精炼的特征。也就是说,根据该低层特征,不能很明确的区分不同对象。示例性的,低层特征比如输入图像的比如边缘、线条和角等。
103.4、深度神经网络,当神经网络模型中隐层的数量较多,例如三次层或更多层时,可以将该神经网络称为深度神经网络。深度神经网络能够利用其多层结构对输入信息进行逐层提取和筛选,以实现表征学习。轻度神经网络的输出层输出的是数据的高层特征,即深度神经网络通过组合低层特征形成更加抽象的高层特征表示属性类别或特征。这里,低层特征可以认为是深度神经网络模型在获取高层特征中获取的中间变量。
104.其中,高层特征指神经网络提取的输入信息的比较准确的特征,即精炼的特征。也就是说,相对于根据输入信息的低层特征而言,根据输入信息的高层特征可以更能明确的区别不同对象。
105.5、卷积神经网络(convolutional neural networks,cnn),是一种前馈人工神经网络,人工神经元可以响应周围单元,可以进行大型图像处理。卷积神经网络包括卷积层和池化层。
106.cnn由一个或多个卷积层和顶端的全连通层(对应经典的神经网络)组成。其中,卷
积层(convolutional layer)由若干卷积单元组成,每个卷积单元的参数都是通过反向传播算法最佳化得到的。卷积运算的目的是提取输入的不同特征。示例性的,第一层卷积层可能只能提取一些低层特征,更多层的网络能从低层特征中迭代提取更复杂的特征,即高层特征。
107.卷积神经网络包括一维卷积神经网络、二维卷积神经网络以及三维卷积神经网络等。其中,一维卷积神经网络对应的卷积核为一维卷积核,二维卷积神经网络对应的卷积核为二维卷积核,三维卷积神经网络对应的卷积核为三维卷积核。
108.卷积核即在卷积神经网络中对于局部进行提取特征的一组参数。示例性的,一维卷积核包括长度维度的卷积核,二维卷积核包括高度和宽度维度的卷积核,三维卷积核包括深度、高度和宽度等三个维度的卷积核。其中,三维卷积核的深度也可以称为该三维卷积核的第一维,本技术实施例对此不作限定。
109.图2示出了本技术实施例提供的一种声纹识别的系统100的示意图。如图2所示,系统100中包括端侧交互设备110和后端计算设备120。其中,端侧交互设备可以为第一电子设备的一个示例,后端计算设备120可以为第二电子设备的一个示例。
110.本技术实施例中,端侧交互设备110中可以包括麦克风组件111和第一神经网络模型112,后端计算设备120中可以包括第二神经网络模型121和声纹识别模块122。
111.其中,麦克风组件111用于接收用户的声音信号,并将该声音信号转换为电信号,即语音信号。其中,麦克风组件111中包括将声音信号转换为电信号的能量转换器件。示例性的,在声纹注册阶段,麦克风组件111获取用户的注册语音信号,在声纹验证阶段,麦克风组件111获取待识别用户或测试者的待识别语音信号。
112.示例性的,麦克风组件111可以为单麦克风,或者麦克风阵列。其中,麦克风阵列,即麦克风的排列,由一定数目(例如至少两个)的麦克风组成,用于对声场的空间特性进行采样并处理。示例性的,麦克风阵列中的多个麦克风可以按照某些规则排列,例如排列为环形阵列、矩形阵列或线性阵列,或者其他,本技术实施例对此不做限定。
113.图3示出了麦克风阵列的3个示例,其中(a)图为包含3个麦克风的环形麦克风阵列,(b)图为包含6个麦克风的环形麦克风阵列,(c)为包含6个麦克风的线性麦克风阵列。可以理解的是,图3中仅作为举例说明,本技术实施例中的麦克风阵列还可以为图3之外的任意麦克风阵列,本技术实施例对此不做限定。
114.可以理解的是,当麦克风组件中包括多个麦克风时,由于每个麦克风的空间位置不同,使得每个麦克风接收到语音信号的时间信息和/或强度信息不相同。请参考图4,示出了包含6个麦克风的环形麦克风阵列拾音波束区域的一个示例。如图4所示,以环形麦克风阵列中的最右侧的麦克风d为例,其拾音波束区域为其正对的一个扇形区域。也就是说,在该拾音波束区域中,声源的声音强度最大,可以被麦克风d接收,并被认为是目标声音信号。而在拾音波束区域对应的扇形区域之外,为该麦克风d的声音抑制区域。也就是说,在该声音抑制区域,所有的声音均为环境噪声,可以认为声音的声音强度较小。因此,麦克风阵列中每个麦克风的接收的声音信号的强度与其接收声音信号的方向是相关的,在某种程度上,可以认为二者表达的声音信号的特征是等价的。
115.需要说明的是,图4中该麦克风阵列中的除麦克风d之外的其他麦克风的接收语音信息的原理与麦克风d接收语音信息的原理类似,可以参考麦克风d的相关描述,为了简洁,
这里不再赘述。
116.可选的,端侧交互设备110中还可以包括信号处理模块,用于对麦克风组件111获取的语音信号进行信号处理,例如语音激活检测、语音降噪处理、去混响处理等,本技术实施例对此不做限定。
117.一些实施例中,语音信号可以用语谱图来表示。具体而言,语谱图是语音信号的一种图像化的表示方式,其横坐标是时间,纵坐标是频率,坐标点值为语音数据能量。由于是采集二维平面表达三维信息,所以可以通过颜色来表示能量值的大小。例如,坐标点的能量值的颜色越深,表示该点的能量值越大。因此,频谱图能够表示声音信号的各个频率点的频率幅值随时间的变化情况,以及能量值随时间的变化情况。
118.本技术实施例中,第一神经网络模型112的输入为麦克风组件111采集语音信号,输出为该语音信号的低层特征。示例性的,可以将该语音信号的语谱图输入第一神经网络模型。
119.其中,第一神经网络112是利用第一训练数据样本集得到的,该第一训练数据样本集中包括该麦克风组件111采集的多个语音数据样本。也就是说,通过对该麦克风组件111采集的多个语音数据样本进行学习,可以更新该第一神经网络模型112的参数,使得该第一神经网络模型112的算法更加准确。
120.这里,低层特征指语音信号的比较冗余的特征,即语音信号的不够精炼的特征,例如输入的语谱图的边缘、线条和角等。也就是说,根据语音信号的该低层特征,不能很明确的区分不同说话人。
121.可以理解的是,低层特征是提取语音信号的特征信息的过程中获取的一个中间变量,即神经网络模型通过进一步的组合该低层特征,能够形成语音信号的更加抽象的高层特征。本技术实施例中,高层特征即神经网络提取的语音信号的比较准确的特征,即语音信号的精炼的特征。也就是说,相对于根据语音信号的低层特征而言,根据语音信号的高层特征可以更能明确的区别不同说话人。换句话说,语音信号的高层特征即语音信号的能够用于生成声纹模板的特征信息,或者能够用于与声纹模板进行匹配的特征信息。
122.其中,低层特征是神经网络模型对输入的信息进行轻度(或者浅度)学习得到的。示例性的,可以通过将第一神经网络模型设置为轻度神经网络模型,来实现获取该低层特征。作为具体的例子,第一神经网络模型可以包括较少层的隐藏层,例如1层,2层等,本技术实施例对此不做限定。
123.因此,本技术实施例通过将第一神经网络模型部署在端侧交互设备上,并通过该第一神经网络设备获取端侧交互设备通过至少一个麦克风获取的语音信号的低层特征,其中,该第一神经网络模型与该至少一个麦克风适配,当麦克风数量为多个时,使得第一神经网络模型能够利用这些麦克风采集的多通道数据,提升语音信号的远场性能和噪声场景性能,从而有助于提高声纹识别的准确性。
124.另外,由于第一神经网络模型只需要获取语音信号的低层特征,因此第一神经网络对电子设备的计算能力要求较低,因此部署该第一神经网络模型的电子设备(例如端侧交互设备)可以不具备充足的计算能力。
125.一些可选的实施例,第一神经网络模型可以为cnn。其中,cnn模型中包括至少一个卷积层,每个卷积层用于对语音信号进行特征提取。
126.作为一种可能的实现方式,第一神经网络模型可以为二维(2d)cnn模型。此时,第一神经网络模型的输入通道数与麦克风组件111中包括的麦克风的数量相同,并且第一神经网络模型的至少一个输入通道与麦克风组件111中的至少一个麦克风一一对应。
127.对应的,在将麦克风获取的语音信号输入到预设的第一神经网络模型中的一种实现方式中,可以将每个麦克风获取的语音信号输入到每个麦克风对应的输入通道中。
128.图5示出了2d cnn模型进行卷积的一个具体示例。在图5中,以包含3个麦克风的环形麦克风阵列为例进行说明。该2d cnn模型的输入通道的数量可以与麦克风组件中的麦克风的数量相同,例如可以包括第一输入通道、第二输入通道和第三输入通道。另外,2d cnn模型中每个输入通道均对应一个卷积核。作为示例,在图5中示出了该三个输入通道上的卷积过程。此时,每个输入该通道的语音信息样本可以为2d的图片样本,例如一个6
×
6的图片样本,即该图片样本的长和高分别为6。同时,可以使用3
×
3的卷积核对每个输入通道上的图片样本分别进行卷积操作。最终,在该三个输入通道中的每个输入通道上可以提取一个4
×
4的图片特征。
129.这样,通过将2d cnn模型的输入通道数设置为与麦克风组件中的麦克风的数量相同,当麦克风组件中包括麦克风阵列时,使得麦克风阵列中每个麦克风获取的语音信息分别输入2d cnn模型的一个输入通道中,能够实现该2d cnn模型与端侧交互设备的麦克风阵列(即与麦克风阵列中麦克风的数量和排列)适配,进而能够利用麦克风阵列采集的多通道数据,来提升语音的远场性能和噪声场景的性能。
130.作为另一种可能的实现方式,第一神经网络模型可以为三维(3d)cnn模型。此时,第一神经网络模型的卷积核的深度与麦克风组件111中包括的麦克风的数量相同。
131.图6示出了3d cnn模型进行卷积的一个具体示例。在图6中,以包含3个麦克风的环形麦克风阵列为例进行说明。该3d cnn模型的卷积核的深度与该麦克风组件中的麦克风的数量相同,为3。另外,这里对于该3d cnn模型的输入通道数不做限定。作为示例,图6中仅示出了其中一个输入通道(例如第i个通道)上的卷积过程。此时,输入该通道的语音信息样本可以为3d的图片样本,例如一个6
×6×
3的图片样本,其中该图片样本的长和高均为6,深度为3。同时,卷积核的深度需要和图片样本的深度一致,即也为3。同时,可以使用3
×3×
3的卷积核对该输入通道上的图片样本进行卷积操作。最终,在该通道上可以提取一个4
×
4的图片特征。
132.这样,通过将3d cnn模型的卷积核的深度设置为与麦克风组件中的麦克风的数量相同,当麦克风组件中包括麦克风阵列时,使得该3d cnn模型中每个通道中的卷积核可以同时对麦克风阵列中的每个麦克风获取的语音信息进行卷积操作,能够实现该3d cnn模型与端侧交互设备的麦克风阵列(即与麦克风阵列中麦克风的数量和排列)适配,进而能够利用麦克风阵列采集的多通道数据,来提升语音的远场性能和噪声场景的性能。
133.示例性的,由于第一神经网络模型能够与端侧交互设备中的麦克风阵列适配,通过该第一神经网络模型能够分析出麦克风阵列接收到的语音信号音源的方向以及距离情况,进而能够得到语音信号时间信息和/或强度信息,即低层特征中可以包括语音信号时间信息和/或强度信息,因此声纹识别系统能够利用麦克风组件采集的多通道数据,来提升语音信号的远场性能。
134.另外,第一神经网络模型能够利用麦克风阵列接收到的声波的相位之间的差异对
声波进行过滤,进而可以将环境背景声音清除掉,剩下需要的声波,从而使得声纹识别系统能够利用麦克风阵列采集的多通道数据,来提升语音信号的噪声场景的性能。
135.本技术实施例中,第二神经网络模型121的输入为第一神经网络模型112输出的低层特征,输出为该语音信号的高层特征。这里,高层特征可以参见上文中的描述,为了简洁,这里不再赘述。
136.其中,第二神经网络模型121是利用第二训练数据样本集得到的,该第二训练数据样本集中包括不同端侧交互设备的麦克风组件获取的多个语音数据样本。
137.也就是说,第二训练数据样本集中包括多个不同端侧交互设备的麦克风组件获取的多个语音数据样本。或者,换句话说,多个端侧交互设备中的麦克风组件获取的语音数据样本,可以组成第二神经网络模型的第二训练数据样本集。示例性的,该多个不同端侧交互设备包括上文中端侧交互设备110。
138.在一些可能的实施例中,系统100中可以包括多个不同的端侧交互设备,并且这些不同的端侧交互设备获取的低层特征均可以输出至该第二神经网络模型121。此时,后端计算设备120能够对至少一个端侧交互设备110输出的低层特征进行深度学习。此时,第二神经网络模型121的训练数据样本集中可以包括该至少两个端侧交互设备的麦克风组件获取的多个语音数据样本。
139.一些可选的实施例中,高层特征是神经网络模型对输入的信息进行深度学习得到的。示例性的,可以通过将第二神经网络模型设置为深度神经网络模型,来实现获取语音信号的高层特征。作为具体的示例,第二神经网络模型可以包括较多的卷积层,例如3层、5层,6层或者更多层,本技术实施例对此不做限定。
140.本技术实施例中,当麦克风组件包括麦克风阵列时,第一神经网络模型能够与端侧交互设备中的麦克风阵列适配,使得第二神经网络模型能够对麦克风阵列采集的多通道数据的低层特征进行深度学习,获取语音信号的高层特征。一个示例,第二神经网络模型能够利用麦克风阵列接收到的语音信息的时间信息、强度信息以及角度信息,学习语音信息的空间信息,进而提升语音信号的远场性能。另一个示例,第二神经网络模型能够进一步利用麦克风阵列接收到的声波的相位之间的差异对声波进行过滤,进而可以最大限度将环境背景声音清除掉,剩下需要的声波,从而提升语音信号的噪声场景的性能。
141.因此,相对于现有技术将神经网络模型整体部署在一个电子设备上而言,本技术实施例通过把神经网络模型拆成轻量的第一神经网络模型和深度的第二神经网络模型,把轻量的第一神经网络模型部署在算力有限的端侧交互设备上,把深度的第二神经网络模型部署在算力充足的后端计算设备上,实现一种分布式的声纹识别神经网络。
142.进一步的,当端侧交互设备包括麦克风阵列时,轻量的第一神经网络模型可以实现与端侧交互设备上的麦克风阵列适配,有助于后端的深度的第二神经网络模型对麦克风阵列采集的多通道数据的低层特征进行深度学习,提升高层特征中语音信号的远场性能和噪声性能。
143.本技术实施例中,声纹识别模块122用于在声纹注册阶段,根据第二神经网络模型121输出的用户的注册语音信号的高层特征,生成端侧交互设备的用户的声纹模板。此时该用户可以称为已注册用户,或者机主。声纹识别模块122还用于在声纹验证阶段,根据第二神经网络模型121输出待识别用户(即测试者)的待识别语音信号的高层特征,生成待识别
用户的语音特征向量,并将该语音特征向量与已注册用户或机主的声纹模板进行匹配,并根据匹配结果,确定该待识别用户是否为已注册用户或机主。
144.本技术实施例中,当麦克风组件包括麦克风阵列时,由于高层特征是第二神经网络模型对麦克风阵列采集的多通道数据的低层特征进行深度学习获取的,具有较佳的远场性能和噪声性能,因此本技术实施例中的声纹注册阶段的已注册用户或机主的声纹模板,以及声纹验证阶段的待识别语音信号的语音特征向量相对现有技术而言更加准确,因此本技术实施例能够有助于提高声纹识别的准确性。
145.图7示出了本技术实施例提供的一种声纹识别的方法500的示意性流程图。应理解,图7示出了声纹识别的方法的步骤或操作,但这些步骤或操作仅是示例,本技术实施例还可以执行其他操作或者图7中的各个操作的变形。此外,图7中的各个步骤可以按照与图7呈现的不同的顺序来执行,并且有可能并非要执行图7中的全部操作。
146.方法500可以应用于家庭使用场景或者个人穿戴场景,本技术实施例对此不做限定。示例性的,方法500可以由图2中的声纹识别的系统100执行,但本技术实施例并不限于此。下文将以方法500由系统100执行为例进行描述。
147.方法500包括步骤501至509。其中,步骤501和502由端侧交互设备110执行,步骤503至509由后端计算设备120执行。
148.501,麦克风拾取语音。
149.示例性的,端侧交互设备110中的麦克风组件111可以执行步骤501,即获取用户的语音信号。
150.一些实施例中,在声纹注册阶段,麦克风可以拾取用户的注册语音,即注册语音信号。
151.一个示例,用户首次使用端侧交互设备的声纹识别功能时,端侧交互设备可以提示用户是否需要注册机主声纹模板。作为一个具体的例子,请参考图8,示出了端侧交互设备显示界面的一个示例。如图8所示,可以通过端侧交互设备的显示界面显示“是否注册机主声纹模板”。可选的,端侧交互设备还可以显示“是”和“否”两个虚拟按键,用于获取用户的操作。当用户输入“是”的操作时,响应于该操作,端侧交互设备可以进入录入用户语音的界面。当用户输入“否”的操作时,响应于该操作,端侧交互设备退出声纹识别功能。
152.可选的,端侧交互设备还可以通过物理按键,获取用户的操作。例如,当用户选择“确认”按键时,可以进入录入用户注册语音的界面,当用户选择“返回”按键时,退出声纹识别功能。
153.当端侧交互设备不具有显示界面时,或者在端侧交互设备显示图8所示的界面的同时,端侧交互设备可以对用户进行语音提示,例如通过音频播放器播放“是否注册机主声纹模板”,或者其他语音,本技术实施例对此不做限定。
154.另一个示例,在用户已经录入机主的声纹模板之后,用户还可以在安全设置中,选择增加新的用于声纹识别的机主声纹模板。作为一个具体的例子,请参考图9,示出了端侧交互设备显示界面的另一个示例。如图9所示,用户可以通过图9中左侧的安全与隐私的显示界面,输入进入“声纹”的操作。响应于该操作,显示见面可以呈现如图9中右侧所示的界面。此时,用户可以通过输入“新建声纹”的操作。响应于该操作,端侧交互设备可以进入录入用户语音的界面。
155.图10示出了录入用户语音的界面的一个示例。如图10所示,可以在显示界面显示“请您录入语音以生成机主声纹模板”。可选的,端侧交互设备还可以在界面中显示“开始录音”的虚拟按键。当用户选择录入语音时,用户可以通过点击或长按“开始录音”虚拟按键,并在点击“开始录音”按键之后,或者长按“开始录音”按键的同时输入一段注册语音。响应于用户输入语音的操作,端侧交互设备可以控制麦克风组件来获取用户的注册语音信号。
156.可选的,在端侧交互设备没有显示界面,或者在端侧交互设备显示图10所示的界面的同时,端侧交互设备还可以对用户进行语音提示,例如,通过音频播放器播放“请您录入一段语音以生成机主声纹模板”,或者其他语音,本技术实施例对此不做限定。
157.可选的,端侧交互设备还可以通过物理的“开始录音”按键,获取用户的输入的注册语音。此时,端侧交互设备不需要向用户显示“开始录音”的虚拟按钮。
158.一些实施例中,在声纹确认/辨别阶段,即声纹验证阶段,麦克风可以拾取待识别用户的待识别语音,即待识别语音信号。
159.一个示例,用户在开启端侧交互设备,或者启用端侧交互设备的某些需要安全验证的功能时,端侧交互设备可以提示用户需要进行声纹验证。作为一个示例,端侧交互设备可以进入录入待识别语音的界面。图11示出了录入用户语音的界面的另一个示例。如图11所示,可以在显示界面显示“请您录入语音以进行声纹验证”。可选的,端侧交互设备还可以在界面中显示“开始录音”的虚拟按键。当用户选择录入语音时,用户可以通过点击或长按“开始录音”虚拟按键,并在点击“开始录音”按键之后,或者长按“开始录音”按键的同时输入一段测试语音。响应于用户输入语音的操作,端侧交互设备可以控制麦克风组件来获取用户的测试语音信号。
160.在一些实施例中,在端侧交互设备没有显示界面,或者在端侧交互设备显示图11所示的界面的同时,端侧交互设备还可以对用户进行语音提示,例如,通过音频播放器播放“请您录入一段语音以进行声纹验证”,或者其他语音,本技术实施例对此不做限定。
161.在一些实施例中,端侧交互设备还可以通过物理的“开始录音”按键,获取用户的输入的测试语音。此时,端侧交互设备不需要向用户显示“开始录音”的虚拟按钮。
162.一些实施例中,端侧交互设备还可以对麦克风获取的注册语音信号或待识别语音信号进行信号处理,例如语音激活检测、语音降噪处理、去混响处理等,以获取处理后的语音信号。
163.502,第一神经网络模型提取低层特征。
164.示例性的,将步骤501中获取的语音信号输入端侧交互设备110中的第一神经网络模型112,可以获取该语音信号的低层特征。作为示例,在声纹注册阶段,可以将注册语音信号输入第一神经网络模型,获取该注册语音信号的低层特征,在声纹验证阶段,可以将待识别语音信号输入第一神经网络模型,获取该待识别语音信号的底层特征。具体的,低层特征可以参见上文中的描述,为了简洁,这里不再赘述。
165.本技术实施例中,在执行步骤502之前,可以将麦克风组件111采集的语音信息作为训练数据样本集,对该第一神经网络模型进行训练。示例性的,可以由端侧交互设备110所在的端侧设备对第一神经网络模型进行训练,或者由后端计算设备120所在的设备对第一神经网络模型进行训练,本技术实施例对此不做限定。
166.当后端计算设备120对第一神经网络模型进行训练时,端侧设备可以将麦克风组
件111获取的语音信息发送给后端计算设备120所在的设备。后端计算设备120所在的设备在完成训练之后,将获取的训练好的第一神经网络模型发送给端侧设备。
167.作为一种可能的实现方式,可以通过固定第二神经网络模型的参数,对第一神经网络模型进行端到端联合训练。
168.503,第二神经网络模型提取高层特征。
169.示例性的,端侧交互设备110所在的端侧设备可以通过通信接口,将获取的语音信号的低层特征发送给后端计算设备120中的第二神经网络。然后,将该低层特征输入后端计算设备120中的第二神经网络121,可以获取该语音信号的高层特征。其中,该语音信号可以为注册语音信号或待识别语音信号。具体的,高层特征可以参见上文中的描述,为了简洁,这里不再赘述。
170.本技术实施例中,在执行503之前,可以将多个不同的端侧设备上的麦克风组件采集的语音信息作为训练数据样本集,对该第二神经网络进行训练。示例性的,可以由后端计算设备120所在的设备对第二神经网络模型进行训练,本技术实施例对此不做限定。
171.作为一种可能的实现方式,可以通过固定第一神经网络模型的参数,对第二神经网络模型进行端到端联合训练。
172.504,生成已注册用户或机主的声纹模板。
173.具体而言,在声纹注册阶段,可以根据步骤503中获取的用户的注册语音信号的高层特征,生成已注册用户或机主的声纹模板。
174.在一些可能的实施例中,可以生成多个已注册或机主的声纹模板,本技术实施例对此不做限定。在已经有已注册用户或机主模型的情况下,再次生成已注册用户或机主模型可以单独使用,也可以覆盖原有的已注册用户机票机主模型,本技术实施例对此不做限定。
175.505,获取待识别语音信号的语音特征向量。
176.具体而言,在声纹验证阶段,可以根据步骤503中获取的待识别用户的待识别语音信号的高层特征,获取待识别语音信号的语音特征向量。
177.需要说明的是,声纹注册阶段通常在声纹验证阶段之前进行。也就是说,在步骤505之前,声纹识别的系统(例如通过步骤504)已经获取了至少一个已注册用户或机主的声纹模板。
178.506,匹配得分。
179.示例性的,在声纹验证阶段,在步骤505,即生成已注册用户或机主的声纹模板之后,执行步骤506,即将已注册用户或机主的声纹模板与待识别用户的待识别语音信号的语音特征向量的进行匹配打分。其中,得分能够用于描述待识别语音信号的语音特征向量与已注册用户或机主的声纹模板的相似度。示例性的,得分越高,则二者的相似度越高。
180.507,判断得分是否高于阈值。
181.508,当得分高于阈值时,则判断待识别用户为已注册用户或机主。
182.509,当得分不高于阈值时,则判断待识别用户不是已注册用户或为非机主。
183.因此,相对于现有技术将神经网络模型整体部署在后端处理设备上而言,本技术实施例通过把神经网络模型拆成轻量的第一神经网络模型和深度的第二神经网络模型,把轻量的第一神经网络模型部署在算力有限的端侧交互设备上,把深度的第二神经网络模型
部署在算力充足的后端计算设备上,实现一种分布式的声纹识别神经网络。
184.进一步的,当端侧交互设备上包括麦克风阵列时,轻量的第一神经网络模型可以实现与端侧交互设备上的麦克风阵列适配,有助于后端的深度的第二神经网络模型对麦克风阵列采集的多通道数据的低层特征进行深度学习,提升高层特征中语音信号的远场性能和噪声性能。进一步的,由于高层特征是第二神经网络模型对麦克风阵列采集的多通道数据的低层特征进行深度学习获取的,具有较佳的远场性能和噪声性能,因此本技术实施例中的声纹注册阶段的已注册用户或机主的声纹模板,以及声纹验证阶段的语音特征向量相对现有技术而言更加准确,因此本技术实施例能够有助于提高声纹识别的准确性。
185.上文结合图1至图11对本技术实施例提供的声纹识别的方法进行了详细描述,下面结合图12至图15对本技术实施例的电子设备和系统进行介绍。应理解,图12至图15中的电子设备或系统能够执行本技术实施例中的声纹识别的方法中的各个步骤,为了避免重复,下面在介绍图12至图15中的电子设备或系统时适当省略重复的描述。
186.图12是本技术实施例一种的电子设备1200的示意性框图。该电子设备1200包括处理器1210、至少一个麦克风1220和输出接口1230。其中,处理器1210、至少一个麦克风1220和输出接口1230能够执行上文中图1至图11中涉及到的本技术实施例的声纹识别的方法中的第一电子设备(例如端侧交互设备)各个步骤。
187.具体地,当电子设备1200用于执行上述声纹识别的方法时,处理器1210、至少一个麦克风1220和输出接口1230的具体作用如下:
188.至少一个麦克风1220,用于获取用户的语音信号。
189.处理器1210,用于将所述语音信号输入预设的第一神经网络模型,获取所述语音信号的低层特征,其中,所述第一神经网络模型是利用第一训练数据样本集得到的,所述第一训练数据样本集中包括所述至少一个麦克风获取的多个语音数据样本。
190.输出接口,用于将所述低层特征输出至第二电子设备。
191.在一些可选的实施例中,所述第一神经网络模型为二维卷积神经网络,所述第一神经网络模型的至少一个输入通道与所述至少一个麦克风一一对应;
192.其中,所述处理器具体用于将所述至少一个麦克风中的每个麦克风获取的语音信号输入到所述每个麦克风对应的输入通道中。
193.在一些可选的实施例中,所述第一神经网络模型为三维卷积神经网络,所述第一神经网络模型的卷积核的深度与所述至少一个麦克风的数量相同。
194.在一些可选的实施例中,所述用户的语音信号包括待识别语音信号或注册语音信号。
195.图13是本技术实施例一种的电子设备1300的示意性框图。该电子设备1300包括处理器13103和输入接口1320。其中,处理器1310和输入接口1320能够执行上文中图1至图11中涉及到的本技术实施例的声纹识别的方法中的第二电子设备(例如后端计算设备)各个步骤。
196.具体地,当电子设备1300用于执行上述声纹识别的方法时,处理器13103和输入接口1320的具体作用如下:
197.输入接口1320,用于从第一电子设备获取待识别用户的待识别语音信号的低层特征。
198.处理器1310,用于将所述待识别语音信号的低层特征输入预设的第二神经网络模型,获取所述待识别语音信号的高层特征,其中,所述第二神经网络模型是利用第二训练数据样本集得到的,所述第二训练数据样本集中包括至少一个第一电子设备获取的多个语音数据样本。
199.所述处理器1310还用于将所述待识别语音信号的高层特征与已注册用户的声纹模板进行匹配,若所述高层特征与所述声纹模板匹配,则确定所述待识别用户为所述已注册用户,若所述高层特征与所述声纹模板不匹配,则确定所述待识别用户不是所述已注册用户。
200.在一些可选的实施例中,所述输入接口1320还用于从所述第一电子设备获取用户的注册语音信号的低层特征。
201.所述处理器1310还用于将所述注册语音信号的低层特征输入所述第二神经网络模型,获取所述第二语音信号的高层特征。
202.所述处理器1310还用于根据所述第二语音信号的高层特征,生成所述已注册用户的声纹模板。
203.图14是本技术实施例一种声纹识别的系统1400的示意性框图。该系统1400包括图12中的电子设备1200和图13中的电子设备1300。
204.图15是本技术实施例的电子设备的结构示意图。该电子设备例如为第一电子设备、或第二电子设备。如图15所示,该电子设备包括通信模块1510、传感器1520、用户输入模块1530、输出模块1540、处理器1550、音视频输入模块1560、存储器1570以及电源1580。
205.通信模块1510可以包括至少一个能使该电子设备与其他电子设备之间进行通信的模块。例如,通信模块1510可以包括有线网络接口,广播接收模块、移动通信模块、无线因特网模块、局域通信模块和位置(或定位)信息模块等其中的一个或多个。这多种模块均在现有技术中有多种实现,本技术不一一描述。
206.传感器1520可以感测系统的当前状态,诸如打开/闭合状态、位置、与用户是否有接触、方向、和加速/减速,并且传感器1520可以生成用于控制系统的操作的感测信号。
207.用户输入模块1530,用于接收输入的数字信息、字符信息或接触式触摸操作/非接触式手势,以及接收与系统的用户设置以及功能控制有关的信号输入等。用户输入模块1530包括触控面板和/或其他输入设备。
208.输出模块1540包括显示面板,用于显示由用户输入的信息、提供给用户的信息或系统的各种菜单界面等。可选的,可以采用液晶显示器(liquid crystal display,lcd)或有机发光二极管(organic light-emitting diode,oled)等形式来配置显示面板。在其他一些实施例中,触控面板可覆盖显示面板上,形成触摸显示屏。另外,输出模块1540还可以包括音频输出模块、告警器以及触觉模块等。
209.音视频输入模块1560,用于输入音频信号或视频信号。音视频输入模块1560可以包括摄像头和麦克风。其中,该麦克风可以为麦克风阵列。
210.电源1580可以在处理器1550的控制下接收外部电力和内部电力,并且提供系统的各个组件的操作所需的电力。
211.处理器1550可以指示一个或多个处理器,例如,处理器1550可以包括一个或多个中央处理器,或者包括一个中央处理器和一个图形处理器,或者包括一个应用处理器和一
个协处理器(例如微控制单元)。当处理器1550包括多个处理器时,这多个处理器可以集成在同一块芯片上,也可以各自为独立的芯片。一个处理器可以包括一个或多个物理核,其中物理核为最小的处理模块。
212.存储器1570存储计算机程序,该计算机程序包括操作系统程序1572和应用程序1571等。典型的操作系统如微软公司的windows,苹果公司的macos等用于台式机或笔记本的系统,又如谷歌公司开发的基于的安卓系统等用于移动终端的系统。前述实施例提供的方法可以通过软件的方式实现,可以认为是应用程序1571的具体实现。
213.存储器1570可以是以下类型中的一种或多种:闪速(flash)存储器、硬盘类型存储器、微型多媒体卡型存储器、卡式存储器(例如sd或xd存储器)、随机存取存储器(random access memory,ram)、静态随机存取存储器(static ram,sram)、只读存储器(read only memory,rom)、电可擦除可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、可编程只读存储器(programmable rom,prom)、磁存储器、磁盘或光盘。在其他一些实施例中,存储器1570也可以是因特网上的网络存储设备,系统可以对在因特网上的存储器570执行更新或读取等操作。
214.处理器1550用于读取存储器1570中的计算机程序,然后执行计算机程序定义的方法,例如处理器1550读取操作系统程序1572从而在该系统运行操作系统以及实现操作系统的各种功能,或读取一种或多种应用程序1571,从而在该电子设备上运行应用。
215.存储器1570还存储有除计算机程序之外的其他数据1573,例如本技术中涉及的第一神经网络模型、第二神经网络模型或声纹模板等。
216.图15中各个模块的连接关系仅为一种示例,本技术任意实施例提供的方法也可以应用在其它连接方式的电子设备中,例如所有模块通过总线连接。
217.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
218.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
219.在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
220.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
221.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
222.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
223.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。