本发明涉及身份认证技术领域,尤其涉及一种声纹确认方法、装置、设备及可读存储介质。
背景技术:
声纹认证是身份认证领域的重要技术,而声纹认证中一项重要的技术为声纹确认,所谓声纹确认技术,即判定待确认语音对应的待确认对象与目标语音对应的目标对象是否为同一对象。
现有技术中的声纹确认方案为:先利用概率统计模型从待确认对象的待确认语音和目标对象的目标语音中分别提取表征两个对象的语音信息的特征矢量,然后利用提取的两个特征矢量进行相似度计算,通过计算得到的相似度判定待确认语音对应的待确认对象和目标语音对应的目标对象是否为同一对象。
现有技术中的声纹确认方案虽然能够判别出两个语音对应的对象是否为同一对象,但是判别准确度比较低。
技术实现要素:
有鉴于此,本发明提供了一种声纹确认方法、装置、设备及可读存储介质,用以解决现有技术中的声纹确认方案判别准确度比较低的问题,其技术方案如下:
一种声纹确认方法,包括:
针对第一对象和第二对象中的每一目标对象,基于所述目标对象的语音生成带有注意力特征的特征矢量,作为所述目标对象的目标特征矢量,其中,所述注意力特征能够表征不同对象对确认结果的影响;
基于所述第一对象的目标特征矢量和所述第二对象的目标特征矢量,确定所述第一对象和所述第二对象是否为同一对象。
其中,所述针对第一对象和第二对象中的每一目标对象,基于所述目标对象的语音生成带有注意力特征的特征矢量,作为所述目标对象的目标特征矢量,包括:
针对所述第一对象和第二对象中的每一目标对象,从所述目标对象的语音中提取语音特征矢量序列;
通过所述语音特征矢量序列确定所述目标对象的声纹特征矢量,作为所述目标对象的基础特征矢量;
基于另一对象的基础特征矢量和所述目标对象的语音特征矢量序列,确定带有注意力特征的特征矢量,作为所述目标对象的目标特征矢量。
其中,所述从所述目标对象的语音中提取语音特征矢量序列,包括:
从所述目标对象的语音中提取预设帧数的语音特征,获得语音特征序列;
对所述语音特征序列中的每一帧语音特征采用特征矢量进行表征,对每一帧所述语音特征进行表征后得到所述语音特征矢量序列。
其中,所述基于另一对象的基础特征矢量和所述目标对象的语音特征矢量序列,确定带有注意力特征的特征矢量,作为所述目标对象的目标特征矢量,包括:
通过所述另一对象的基础特征矢量和所述目标对象的语音特征矢量序列,确定所述目标对象的语音特征矢量序列中每个语音特征矢量对应的注意力权重,获得所述目标对象的语音特征矢量序列对应的注意力权重序列;
通过所述目标对象的语音特征矢量序列,以及,所述目标对象的语音特征矢量序列对应的注意力权重序列,确定所述带有注意力特征的特征矢量,作为所述目标对象的目标特征矢量。
其中,所述通过所述另一对象的基础特征矢量和所述目标对象的语音特征矢量序列,确定所述目标对象的语音特征矢量序列中每个语音特征矢量对应的注意力权重,包括:
分别将所述目标对象的语音特征矢量序列中的各个语音特征矢量与所述另一对象的基础特征矢量进行拼接,获得拼接后的特征矢量序列;
将所述拼接后的特征矢量序列转换为一维矢量作为注意力权重矢量;
将所述注意力权重矢量中的各个权重元素映射为预设范围内的权重值,获得所述目标对象的语音特征矢量序列中每个语音特征矢量对应的注意力权重。
其中,所述基于所述第一对象的目标特征矢量和所述第二对象的目标特征矢量,确定所述第一对象和所述第二对象是否为同一对象,包括:
将所述第一对象的目标特征矢量和所述第二对象的目标特征矢量拼接,获得拼接后的特征矢量;
基于所述拼接后的特征矢量,确定所述第一对象和所述第二对象是否为同一对象。
所述声纹确认方法还包括:
将所述目标对象的基础特征矢量与所述目标对象的所述带有注意力特征的特征矢量拼接,拼接后得到的特征矢量作为所述目标对象的目标特征矢量。
一种声纹确认装置,包括:特征矢量生成模块和声纹确认模块;
所述特征矢量生成模块,用于针对第一对象和第二对象中的每一目标对象,基于所述目标对象的语音生成带有注意力特征的特征矢量,作为所述目标对象的目标特征矢量,其中,所述注意力特征能够表征不同对象对确认结果的影响;
所述声纹确认模块,用于基于所述第一对象的目标特征矢量和所述第二对象的目标特征矢量,确定所述第一对象和所述第二对象是否为同一对象。
其中,所述特征矢量生成模块包括:特征提取模块、基础特征矢量确定模块和目标特征矢量确定模块;
所述特征提取模块,用于针对所述第一对象和第二对象中的每一目标对象,从所述目标对象的语音中提取语音特征矢量序列;
所述基础特征矢量确定模块,用于通过所述语音特征矢量序列确定所述目标对象的声纹特征矢量,作为所述目标对象的基础特征矢量;
所述目标特征矢量确定模块,用于基于另一对象的基础特征矢量和所述目标对象的语音特征矢量序列,确定带有注意力特征的特征矢量,作为所述目标对象的目标特征矢量。
其中,所述目标特征矢量确定模块包括:注意力权重确定子模块和目标特征矢量确定子模块;
所述注意力权重确定子模块,用于通过所述另一对象的基础特征矢量和所述目标对象的语音特征矢量序列,确定所述目标对象的语音特征矢量序列中每个语音特征矢量对应的注意力权重,获得所述目标对象的语音特征矢量序列对应的注意力权重序列;
所述目标特征矢量确定子模块,用于通过所述目标对象的语音特征矢量序列,以及,所述目标对象的语音特征矢量序列对应的注意力权重序列,确定所述带有注意力特征的特征矢量,作为所述目标对象的目标特征矢量。
所述声纹确认装置,还包括:特征矢量拼接模块;
所述特征矢量拼接模块,用于将所述目标对象的基础特征矢量与所述目标对象的所述带有注意力特征的特征矢量拼接,拼接后得到的特征矢量作为所述目标对象的目标特征矢量。
一种声纹确认设备,包括:存储器和处理器;
所述存储器,用于存储程序;
所述处理器,用于执行所述程序,所述程序具体用于:
针对第一对象和第二对象中的每一目标对象,基于所述目标对象的语音生成带有注意力特征的特征矢量,作为所述目标对象的目标特征矢量,其中,所述注意力特征能够表征不同对象对确认结果的影响;
基于所述第一对象的目标特征矢量和所述第二对象的目标特征矢量,确定所述第一对象和所述第二对象是否为同一对象。
一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现所述的声纹确认方法的各个步骤。
经由上述的技术方案可知,本发明提供的声纹确认方法、装置、设备及可读存储介质,首先针对第一对象和第二对象中的每一目标对象,基于目标对象的语音生成带有注意力特征的特征矢量,从而获得第一对象的带有注意力特征的特征矢量,作为第一对象的目标特征矢量,并可获得第二对象的带有注意力特征的特征矢量,作为第二对象的目标特征矢量,然后基于第一目标对象的目标特征矢量和第二目标对象的目标矢量确定第一对象和第二对象是否为同一对象。本发明提供的声纹确认方法、装置、设备及可读存储介质考虑了不同对象对确认结果的影响,引入了注意力机制,针对不同的对象生成了不同的带有注意力特征的特征矢量,通过该特征矢量进行判别,能够有效提高判别准确度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的声纹确认方法的流程示意图;
图2为本发明实施例提供的声纹确认方法中,针对第一对象和第二对象中的每一目标对象,基于目标对象的语音生成带有注意力特征的特征矢量,作为目标对象的目标特征矢量的实现过程的流程示意图;
图3为本发明实施例提供的声纹确认方法中,基于另一对象的基础特征矢量和目标对象的语音特征矢量序列,确定带有注意力特征的特征矢量,作为目标对象的目标特征矢量的实现过程的流程示意图;
图4为本发明实施例提供的基于深度神经网络系统实现声纹确认的一示意图;
图5为本发明实施例提供的第一注意力权重确定网络和第二注意力权重确定网络的网络结构示意图;
图6为本发明实施例提供的基于深度神经网络系统实现声纹确认的另一示意图;
图7为本发明实施例提供的声纹确认装置的结构示意图;
图8为本发明实施例提供的声纹确认设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现有技术中进行声纹确认的方案有很多,比如基于高斯混合模型-通用背景模型(gaussianmixturemodel-universalbackgroundmodel,gmm-ubm)的声纹确认方案、基于全差异(totalvariability,tv)的声纹确认方案、基于深度神经网络的声纹确认方案等,发明人在实现本发明创造的过程中发现:
现有的声纹确认方案都是基于概率统计模型来表征说话人信息,并且,目前的研究都集中在如何建立更加准确的概率统计模型来表征说话人信息上,具体地,现有的声纹确认方案都是利用大量说话人的语音来训练表征说话人信息的特征矢量,例如,基于gmm-ubm的声纹确认方案会抽取均值超向量作为表征说话人信息的特征矢量,基于tv的声纹确认方案会抽取ivector作为表征说话人信息的特征矢量,基于深度神经网络的声纹确认方案会抽取某一层网络的线性输出作为表征说话人信息的特征矢量。
无论哪种声纹确认方案,都是利用相同的概率统计模型对待确认对象的待确认语音与目标对象的目标语音提取表征说话人信息的特征矢量,而并未关注到不同的对象对确认结果带来的影响,例如,在对说话人a与说话人b进行确认时,往往会根据说话人a与说话人b的明显不同点判断说话人a与说话人b是否为同一说话人,比如,说话人b的某个字的发音明显与说话人a不同,立马就可判定出说话人a与说话人b不为同一说话人,再比如,在对说话人a与说话人c进行确认时,往往会根据说话人a与说话人c的明显不同点判断说话人a与说话人c是否为同一说话人,比如说话人c的语调语速明显与说话人a不同,立马就可判定说话人a与说话人c不为同一说话人,基于此,本申请针对对象的不同引入注意力机制,针对不同的对象生成不同的表征说话人信息的特征矢量,进而通过该特征矢量来进行最终的判决,从而有效提高判决准确度。
请参阅图1,示出了本申请实施例提供的声纹确认方法的流程示意图,该声纹确认方法可以包括:
步骤s101:针对第一对象和第二对象中的每一目标对象,基于目标对象的语音生成带有注意力特征的特征矢量,作为目标对象的目标特征矢量。
其中,注意力特征能够表征不同对象对确认结果的影响。
经由上述步骤s101,可获得第一对象的带有注意力特征的特征矢量,该特征矢量作为第一对象的目标特征矢量,并可获得第二对象的带有注意力特征的特征矢量,作为第二对象的目标特征矢量。
需要说明的是,本实施例中第一对象和第二对象中的一对象为待确认对象,另一对象为目标对象,相应的,第一对象的语音和第二对象的语音中一语音为待确认对象的语音,另一语音为目标对象的语音,至于两条语音中哪条是待确认对象的语音,哪条是目标对象的语音,本实施例不作具体限定,因为,本实施例提供的声纹确认方法不需要刻意将两条语音区分开来,只要获取到两条语音,就可确定出两条语音对应的两个对象是否为同一对象。
步骤s102:基于第一对象的目标特征矢量和第二对象的目标特征矢量,确定第一对象和第二对象是否为同一对象。
本申请实施例提供的声纹确认方法,首先针对第一对象和第二对象中的每一目标对象,基于目标对象的语音生成带有注意力特征的特征矢量,从而获得第一对象的带有注意力特征的特征矢量,作为第一对象的目标特征矢量,并可获得第二对象的带有注意力特征的特征矢量,作为第二对象的目标特征矢量,然后基于第一目标对象的目标特征矢量和第二目标对象的目标矢量确定第一对象和第二对象是否为同一对象。由此可见,本申请实施例提供的声纹确认方法考虑了不同对象对确认结果的影响,引入了注意力机制,针对不同的对象生成了不同的带有注意力特征的特征矢量,通过该特征矢量进行判别,能够有效提高判别准确度。
在本申请的另一个实施例中,对前述实施例中步骤s101:针对第一对象和第二对象中的每一目标对象,基于目标对象的语音生成带有注意力特征的特征矢量,作为目标对象的目标特征矢量进行介绍。
请参阅图2,示出了针对第一对象和第二对象中的每一目标对象,基于目标对象的语音生成带有注意力特征的特征矢量,作为目标对象的目标特征矢量的实现过程的流程示意图,可以包括:
步骤s201:针对第一对象和第二对象中的每一目标对象,从目标对象的语音中提取语音特征矢量序列。
在一种可能的实现方式中,从目标对象的语音中提取语音特征矢量序列的过程可以包括:从目标对象的语音中提取预设帧数的语音特征,获得语音特征序列;对语音特征序列中的每一帧语音特征采用特征矢量进行表征,对每一帧语音特征进行表征后得到语音特征矢量序列。经由上述过程可获得第一对象的语音特征矢量序列以及第二对象的语音特征矢量序列。其中,从目标对象的语音中提取的语音特征可以但不限为filterbank特征。
示例性地,第一对象为a,a的语音为va,第二对象为b,b的语音为vb,首先,从va中提取预设帧数的语音特征,比如,提取100帧语音特征,得到语音特征序列at(t=1,2,…,100),同样地,从vb中也提取100帧的语音特征,得到语音特征序列bt(t=1,2,…,100),然后,对语音特征序列at进行矢量表征,获得语音特征矢量序列hat(t=1,2,…,100),同样地,对语音特征序列bt(t=1,2,…,100)进行矢量表征,获得语音特征矢量序列hbt(t=1,2,…,100)。
步骤s202:通过语音特征矢量序列确定目标对象的声纹特征矢量,作为目标对象的基础特征矢量。
具体地,可将语音特征矢量序列按帧平均,将平均后得到的特征矢量确定为目标对象的声纹特征矢量,作为目标对象的基础特征矢量。
通过步骤s202可获得第一对象的基础特征矢量和第二对象的基础特征矢量。
示例性地,第一对象a的语音特征矢量序列为hat(t=1,2,…,100),第二对象的语音特征矢量序列为hbt(t=1,2,…,100),则对语音特征矢量序列hat(t=1,2,…,100)按帧求平均,得到第一对象a的基础特征矢量ha,同样地,对语音特征矢量序列hbt(t=1,2,…,100)按帧求平均,得到第二对象b的基础特征矢量hb。假设第一对象a和第二对象b的语音特征矢量序列中各个语音特征矢量均为200维的矢量,则第一对象a和第二对象b的基础特征矢量也为200维的矢量。
需要说明的是,为了提高判别准确度,本实施例并不直接利用本步骤确定出的声纹特征矢量进行判决,而是将该声纹特征矢量作为基础进行后续运算,以确定最终用于判别的声纹特征矢量。
步骤s203:基于另一对象的基础特征矢量和目标对象的语音特征矢量序列,确定带有注意力特征的特征矢量,作为目标对象的目标特征矢量。
即,第一对象的目标特征矢量基于第二对象的基础特征矢量和第一对象的语音特征矢量序列确定,同样地,第二对象的目标特征矢量基于第一对象的基础特征矢量和第二对象的语音特征矢量序列确定。通过本步骤可获得最终用于进行判别的目标特征矢量对,即第一对象的目标特征矢量和第二对象的目标特征矢量。
在本申请的另一个实施例中,对上述步骤s203:基于另一对象的基础特征矢量和目标对象的语音特征矢量序列,确定带有注意力特征的特征矢量,作为目标对象的目标特征矢量进行介绍。
请参阅图3,示出了基于另一对象的基础特征矢量和目标对象的语音特征矢量序列,确定带有注意力特征的特征矢量,作为目标对象的目标特征矢量的实现过程的流程示意图,可以包括:
步骤s301:通过另一对象的基础特征矢量和目标对象的语音特征矢量序列,确定目标对象的语音特征矢量序列中每个语音特征矢量对应的注意力权重,获得目标对象的语音特征矢量序列对应的注意力权重序列。
在一种可能的实现方式中,本步骤的具体实现过程可以包括:分别将目标对象的语音特征矢量序列中的各个语音特征矢量与另一对象的基础特征矢量进行拼接,获得拼接后的特征矢量序列;将拼接后的特征矢量序列转换为一维矢量作为注意力权重矢量;将注意力权重矢量中的各个权重元素映射为预设范围内的权重值,获得目标对象的语音特征矢量序列中每个语音特征矢量对应的注意力权重。
经过本步骤可获得第一对象的语音特征矢量序列中每个语音特征矢量对应的注意力权重,即获得了第一对象的语音特征矢量序列对应的注意力权重序列,同样地,可获得第二对象的语音特征矢量序列中每个语音特征矢量对应的注意力权重,即获得了第二对象的语音特征矢量序列对应的注意力权重序列。
示例性的,第一对象a的基础特征矢量为ha、语音特征矢量序列为hat(t=1,2,…,100),第二对象b的基础特征矢量为hb,语音特征矢量序列为hbt(t=1,2,…,100),则可将第二对象b的基础特征矢量为hb与第一对象a的语音特征矢量序列hat(t=1,2,…,100)中的各个语音特征矢量进行拼接,假设ha为200维矢量,语音特征矢量也为200维矢量,则拼接后得到400维的特征矢量,100个语音特征矢量都与hb拼接,会得到100个400维的特征矢量,然后将100个400维的特征矢量转换为100*1的矢量作为权重矢量,最后,将100*1的权重矢量进行映射,获得hat(t=1,2,…,100)对应的注意力权重序列α(at)(t=1,2,…,100)。同样地,可将第一对象a的基础特征矢量为ha与第二对象b的语音特征矢量序列hbt(t=1,2,…,100)中的各个语音特征矢量进行拼接,拼接后会得到100个400维的特征矢量,然后将100个400维的特征矢量转换为100*1的矢量作为权重矢量,最后,将100*1的权重矢量进行映射,获得hbt(t=1,2,…,100)对应的注意力权重序列α(bt)(t=1,2,…,100)。
步骤s302:通过目标对象的语音特征矢量序列,以及,目标对象的语音特征矢量序列对应的注意力权重序列,确定带有注意力特征的特征矢量,作为目标对象的目标特征矢量。
假设目标对象的语音特征矢量序列为hxt(t=1,2,…t),对应的注意力权重序列为α(xt)(t=1,2,…t),则目标对象的目标特征矢量yx可通过下式计算:
其中,t为语音特征矢量序列中语音特征矢量的个数。
通过步骤s302可获得第一对象的目标特征矢量和第二对象的目标特征矢量。
在一种可能的实现方式中,在获得第一对象的目标特征矢量和第二对象的目标特征矢量后,可将第一对象的目标特征矢量和第二对象的目标特征矢量拼接,获得拼接后的特征矢量;基于拼接后的特征矢量,确定第一对象和第二对象是否为同一对象。
需要说明的是,上述实施例将第一对象的带有注意力特征的特征矢量作为第一对象的目标特征矢量,将第二对象的带有注意力特征的特征矢量作为第二对象的目标特征矢量,进而通过第一对象的目标特征矢量和第二对象的目标特征矢量确定第一对象和第二对象是否为同一对象,这种方案能够显著提高判别准确性,然而,实际应用中,人们往往希望判决准确度越高越好。
有鉴于此,为了进一步提高判别准确性,在本申请的另一实施例中,可将第一对象的基础特征矢量与第一对象的带有注意力特征的特征矢量进行拼接,将拼接后得到的特征矢量作为第一对象的目标特征矢量,同样的,将第二对象的基础特征矢量与第二对象的带有注意力特征的特征矢量进行拼接,拼接后得到的特征矢量作为第二对象的目标特征矢量,进而通过该第一对象的目标特征矢量和该第二对象的目标特征矢量确定第一对象和第二对象是否为同一对象。
本实施例在用于判别的特征矢量中融入了更多的信息,这使得本方案的判别准确度进一步提高。
需要说明的是,在一种可能的实现方式中,本实施例提供的声纹确认方法可基于深度神经网络系统实现,请参阅图4,示出了基于深度神经网络系统实现声纹确认的示意图,具体实现过程包括:
(1)确定第一对象a的语音特征矢量序列hat(t=1,2,…t)和第二对b的语音特征矢量序列hbt(t=1,2,…t)。
具体地,从第一对象a的语音中提取出语音特征序列at(t=1,2,…t),并从第二对象b的语音中提取出语音特征序列bt(t=1,2,…t),通过预先建立的第一特征表征网络g1确定第一对象a的语音特征矢量序列hat(t=1,2,…t),并通过预先建立的第二特征表征网络g2确定第二对象b的语音特征矢量序列hbt(t=1,2,…t)。
其中,第一表征网络g1与g2以从大量的训练语音中提取语音特征矢量序列进行平均之后得到的声纹特征矢量为训练样本,以是否为相同对象为目标,进行随机梯度下降预训练得到。
需要说明的是,对整个深度神经网络系统进行训练时,所采用的训练数据为大量训练语音对,训练语音对需要包括正例对和反例对。其中,正例对指的是相同对象的两条语音,反例对指的是不同对象的两条语音。为了提高神经网络的鲁棒性,反例对优选为不同对象的两条相似语音,比如,可选取两条相似说话人的语音。
另外,本实施例中的第一表征网络g1和第二表征网络g2可以但不限为循环神经网络rnn、卷积神经网络cnn等。
(2)基于第一对象a的语音特征矢量序列hat(t=1,2,…t)确定第一对象a的基础特征矢量ha,并基于第二对象b的语音特征矢量序列hbt(t=1,2,…t)确定第二对象b的基础特征矢量hb。
具体地,在通过第一表征网络g1确定出第一对象的语音特征矢量序列hat(t=1,2,…t),以及,通过第二表征网络g2确定出第二对象的语音矢量特征序列hbt(t=1,2,…t)后,通过第一均值计算模块avg1对第一对象a的语音特征矢量序列hat(t=1,2,…t)按帧求平均,得到第一对象a的基础特征矢量ha,同样地,通过第二均值计算模块avg2对第二对象b的语音特征矢量序列hbt(t=1,2,…t)按帧求平均,得到第二对象b的基础特征矢量hb。
(3)基于第二对象b的基础特征矢量hb与第一对象a的语音特征矢量序列hat(t=1,2,…t)确定hat(t=1,2,…t)对应的注意力权重序列α(at)(t=1,2,…t),基于第一对象a的基础特征矢量ha与第二对象b的语音特征矢量序列hbt(t=1,2,…t)确定hbt(t=1,2,…t)对应的注意力权重序列α(bt)(t=1,2,…t)。
具体地,将第二对象b的基础特征矢量hb与第一对象a的语音特征矢量序列hat(t=1,2,…t)输入预先建立的第一注意力权重确定网络att1,获得第一注意力权重确定网络att1输出的、与第一对象a的语音特征矢量序列hat(t=1,2,…t)对应的注意力权重序列α(at)(t=1,2,…t);同样地,将第一对象a的基础特征矢量ha与第二对象的语音特征矢量序列hbt(t=1,2,…t)输入预先建立的第二注意力权重确定网络att2,获得第二注意力权重确定网络att2输出的、与第二对象b的语音特征矢量序列hbt(t=1,2,…t)对应的注意力权重序列α(bt)(t=1,2,…t)。
其中,第一注意力权重确定网络att1以及第二注意力权重确定网络att2可以通过从大量的训练语音提取语音特征矢量序列为训练样本,以是否为相同说话人为目标进行随机梯度下降预训练得到。
进一步地,请参阅图5,示出了第一注意力权重确定网络att1和第二注意力权重确定网络att2的网络结构,通过图5示出的网络确定注意力权重序列的具体过程包括:通过第一拼接模块concat1将第一对象a的语音特征矢量序列hat(t=1,2,…t)中的各个语音特征矢量与第二对象b的基础特征矢量hb拼接,拼接后得到的特征矢量输入多层全连接层fc1,投影到一个节点上得到一维的权重矢量,一维的权重矢量最后经过softmax函数后得到注意力权重序列α(at)(t=1,2,…t)。同样地,过第二拼接模块concat2将第二对象b的语音特征矢量序列hbt(t=1,2,…t)中的各个语音特征矢量与第一对象a的基础特征矢量ha拼接,拼接后得到的特征矢量输入多层全连接层fc2,投影到一个节点上到一维的权重矢量,一维的权重矢量最后经过softmax函数后得到注意力权重序列α(bt)(t=1,2,…t)。
(4)基于第一对象a的语音特征矢量序列hat(t=1,2,…t)和hat(t=1,2,…t)对应的注意力权重序列α(at)(t=1,2,…t),确定第一对象a的目标特征矢量,基于第二对象b的语音特征矢量序列hbt(t=1,2,…t)和hbt(t=1,2,…t)对应的注意力权重序列α(bt)(t=1,2,…t),确定第二对象b的目标特征矢量。
具体地,在获得第一对象a的语音特征矢量序列hat(t=1,2,…t)对应的注意力权重序列α(at)(t=1,2,…t),以及第二对象的语音特征矢量序列hbt(t=1,2,…t)对应的注意力权重序列α(bt)(t=1,2,…t)后,按上述公式(1)用α(at)(t=1,2,…t)对hat(t=1,2,…t)加权,得到第一对象a的目标特征矢量ya,按上述公式(1)用α(bt)(t=1,2,…t)对hbt(t=1,2,…t)加权,得到第二对象b的目标特征矢量yb。
(5)基于第一对象a的目标特征矢量和第二对象b的目标特征矢量确定第一对象a与第二对象b是否为同一对象。
具体地,通过图3中的拼接模块concat将第一对象a的目标特征矢量ya与第二对象b的目标特征矢量yb进行拼接,拼接后得到的特征矢量经过一层全连接层fc后,利用判别模块dis基于ce准则判别第一对象a和第二对象b是否为同一对象。
需要说明的是,基于深度神经网络系统实现声纹确认时,可使用图4示出的两个特征表征网络,语音对中的一语音的语音特征通过其中一个特征表征网络表征,另一语音的语音特征通过另一表征网络表征,也可使用一个特征表征网络,利用一个表征网络依次对两条语音的语音特征进行表征,注意力权重确定网络也是如此,其可以为两个,也可以为一个。
本发明实施例提供的声纹确认方法考虑了不同对象对确认结果的影响,引入了注意力机制,针对不同的对象生成了不同的带有注意力特征的特征矢量,通过带有注意力特征的特征矢量进行判别,能够有效提高判别准确度。
请参阅图6,示出了基于深度神经网络系统实现声纹确认的另一示意图,该实现方式与图4不同的是,拼接模块concat将第一对象的基础特征矢量ha、第一对象的目标特征矢量ya、第二对象的基础特征矢量hb以及第二对象的目标特征矢量yb进行拼接,通过拼接后的矢量判别第一对象a和第二对象b是否为同一对象。即,与图4示出的实现方式相比,本实现方式在用于判别的特征矢量中融入了基础特征矢量,基础特征矢量的融入,使得本实施例提供的声纹确认方法的判别准确度进一步提高。
与上述声纹确认方法相对应,本申请实施例还提供了一种声纹确认装置,请参阅图7,示出了该声纹确认装置的结构示意图,该装置可以包括:特征矢量生成模块701和声纹确认模块702。
特征矢量生成模块701,用于针对第一对象和第二对象中的每一目标对象,基于所述目标对象的语音生成带有注意力特征的特征矢量,作为所述目标对象的目标特征矢量。
其中,注意力特征能够表征不同对象对确认结果的影响。
声纹确认模块702,用于基于所述第一对象的目标特征矢量和所述第二对象的目标特征矢量,确定所述第一对象和所述第二对象是否为同一对象。
本申请实施例提供的声纹确认装置,首先针对第一对象和第二对象中的每一目标对象,基于目标对象的语音生成带有注意力特征的特征矢量,从而获得第一对象的带有注意力特征的特征矢量,作为第一对象的目标特征矢量,并可获得第二对象的带有注意力特征的特征矢量,作为第二对象的目标特征矢量,然后基于第一目标对象的目标特征矢量和第二目标对象的第二目标矢量确定第一对象和第二对象是否为同一对象。由此可见,本申请实施例提供的声纹确认装置考虑了不同对象对确认结果的影响,引入了注意力机制,针对不同的对象生成了不同的带有注意力特征的特征矢量,通过该特征矢量进行判别,能够有效提高判别准确度。
在一种可能的实现方式中,上述实施例提供的声纹确认装置中的特征矢量生成模块701可以包括:特征提取模块、基础特征矢量确定模块和目标特征矢量确定模块。
所述特征提取模块,用于针对所述第一对象和第二对象中的每一目标对象,从所述目标对象的语音中提取语音特征矢量序列。
所述基础特征矢量确定模块,用于通过所述语音特征矢量序列确定所述目标对象的声纹特征矢量,作为所述目标对象的基础特征矢量。
所述目标特征矢量确定模块,用于基于另一对象的基础特征矢量和所述目标对象的语音特征矢量序列,确定带有注意力特征的特征矢量,作为所述目标对象的目标特征矢量。
在一种可能的实现方式中,所述特征提取模块,包括:特征提取子模块和特征表征子模块。
所述特征提取子模块,用于从所述目标对象的语音中提取预设帧数的语音特征,获得语音特征序列。
所述特征表征子模块,用于对所述语音特征序列中的每一帧语音特征采用特征矢量进行表征,对每一帧所述语音特征进行表征后得到所述语音特征矢量序列。
在一种可能的实现方式中,所述目标特征矢量确定模块可以包括:注意力权重确定子模块和目标特征矢量确定子模块。
所述注意力权重确定子模块,用于通过所述另一对象的基础特征矢量和所述目标对象的语音特征矢量序列,确定所述目标对象的语音特征矢量序列中每个语音特征矢量对应的注意力权重,获得目标对象的语音特征矢量序列对应的注意力权重序列。
所述目标特征矢量确定子模块,用于通过所述目标对象的语音特征矢量序列,以及,所述目标对象的语音特征矢量序列对应的注意力权重序列,确定所述带有注意力特征的特征矢量,作为所述目标对象的目标特征矢量。
在一种可能的实现方式中,所述注意力权重确定子模块包括:拼接子模块、转换子模块和映射子模块。
所述拼接子模块,用于分别将所述目标对象的语音特征矢量序列中的各个语音特征矢量与所述另一对象的基础特征矢量进行拼接,获得拼接后的特征矢量序列。
所述转换子模块,用于将所述拼接后的特征矢量序列转换为一维矢量作为注意力权重矢量。
所述映射子模块,用于将所述注意力权重矢量中的各个权重元素映射为预设范围内的权重值,获得所述目标对象的语音特征矢量序列中每个语音特征矢量对应的注意力权重。
在一种可能的实现方式中,上述实施例提供的声纹确认装置中的声纹确认模块702,具体用于将所述第一对象的目标特征矢量和所述第二对象的目标特征矢量拼接,获得拼接后的特征矢量;基于所述拼接后的特征矢量,确定所述第一对象和所述第二对象是否为同一对象。
在一种可能的实现方式中,为了提高判别准确性,上述实施例提供的声纹确认装置还可以包括:特征矢量拼接模块。
所述特征矢量拼接模块,用于将所述目标对象的基础特征矢量与所述目标对象的所述带有注意力特征的特征矢量拼接,拼接后得到的特征矢量作为所述目标对象的目标特征矢量。
本发明实施例还提供了一种声纹确认设备,请参阅图8,示出了本发明实施例提供的声纹确认设备的结构示意图,可以包括:存储器801和处理器802。
存储器801,用于存储程序;
处理器802,用于执行所述程序,所述程序具体用于:
针对第一对象和第二对象中的每一目标对象,基于所述目标对象的语音生成带有注意力特征的特征矢量,作为所述目标对象的目标特征矢量,其中,所述注意力特征能够表征不同对象对确认结果的影响;
基于所述第一对象的目标特征矢量和所述第二对象的目标特征矢量,确定所述第一对象和所述第二对象是否为同一对象。
图像处理设备还可以包括:总线、通信接口803、输入设备804和输出设备805。
处理器802、存储器801、通信接口803、输入设备804和输出设备805通过总线相互连接。其中:
总线可包括一通路,在计算机系统各个部件之间传送信息。
处理器802可以是通用处理器,例如通用中央处理器(cpu)、微处理器等,也可以是特定应用集成电路(application-specificintegratedcircuit,asic),或一个或多个用于控制本发明方案程序执行的集成电路。还可以是数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
处理器802可包括主处理器,还可包括基带芯片、调制解调器等。
存储器801中保存有执行本发明技术方案的程序,还可以保存有操作系统和其他关键业务。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。更具体的,存储器801可以包括只读存储器(read-onlymemory,rom)、可存储静态信息和指令的其他类型的静态存储设备、随机存取存储器(randomaccessmemory,ram)、可存储信息和指令的其他类型的动态存储设备、磁盘存储器、flash等等。
输入设备804可包括接收用户输入的数据和信息的装置,例如键盘、鼠标、摄像头、扫描仪、光笔、语音输入装置、触摸屏、计步器或重力感应器等。
输出设备805可包括允许输出信息给用户的装置,例如显示屏、打印机、扬声器等。
通信接口803可包括使用任何收发器一类的装置,以便与其他设备或通信网络通信,如以太网,无线接入网(ran),无线局域网(wlan)等。
处理器802执行存储器801中所存放的程序,以及调用其他设备,可用于实现本发明实施例所提供的声纹确认方法的各个步骤。
本发明实施例还提供了一种可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现上述任一实施例提供的声纹确认方法的各个步骤。
需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。