一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于梯度反转层的远场说话人认证方法及系统与流程

2021-08-10 16:37:00 来源:中国专利 TAG:地说 梯度 反转 信号处理 识别
一种基于梯度反转层的远场说话人认证方法及系统与流程

本发明属于音频信号处理技术与生物特征识别领域,更具体地说,涉及一种基于梯度反转层的远场说话人认证方法及系统。



背景技术:

生物特征识别技术是人类身份认证中的一类重要技术,通过各种传感器采集人体稳定的生理特征(人脸、指纹、指静脉等)或稳定的行为特征(声纹、签名、手势等),通过各种比对算法进行差异性度量后进行身份认证。生物特征识别技术凭借其便利性和安全性,为解决当前信息化发展中的安全问题提供了可靠的方案。

随着智能设备的普及和互联网的广泛应用,人们对安全、便捷的身份认证技术需求日趋迫切。目前,最常用的生物特征识别技术为人脸识别和指纹识别,它们被广泛应用在安防、边检、刑侦等领域。然而,目前流行的生物特征识别技术在使用时都需要用户与设备之间保持较近的距离,尤其是指纹识别技术,需要用户与传感器直接接触。这一限制条件带来了诸多不变,例如,在家居环境下,用户并不希望靠近家电设备进行身份认证。此时,说话人认证技术可以凭借声音的传播范围广的特点解决这一问题。通过声音,用户可以在任意距离、任意角度进行身份认证,十分方便。说话人认证技术扩大了用户的使用范围,也存在一些问题。用户在注册自己的声音信息时离设备较近,而在使用时通常离设备较远,本发明称这种使用情景为远场说话人认证。距离的不同会导致设备录制的声音信号具有不同的信噪比,而信噪比差异会降低远场说话人认证的准确度。

目前有两种方法运用在远场说话人认证中:基于时域信号处理的和基于概率线性判别分类器(plda)的远场说话人认证。

一种基于时域信号处理的方法主要通过在时域信号中去除噪声信息来降低距离的影响。比如谱减法,将每段声音信号开头的一段较短的片段当作没有说话人声音的参考环境声音片段,然后将之后的语音信号和该参考片段相减以提升语音信号的信噪比,但是该方法需要环境声音是稳定的,且噪声均为加性噪声,实际环境很难满足这一条件。

另一种基于时域信号处理的方法为加权预测误差(wpe),以麦克风阵列的多个录音设备采集的声音信号为输入,利用声音到达不同录音设备的时间差提升声音信号的信噪比。这种方法对设备的要求很高,通常需要有两个以上的录音设备。另一种基于概率线性判别分类器的方法则在说话人特征空间中进行特征分解,将说话人特征提取器提取的说话人特征分解为发音信息和干扰信息两部分,利用发音信息进行说话人认证,该方法可以在一定程度上提升远场说话人认证的准确率,但不是端到端的识别算法,并且需要为plda单独训练模型。此外,该算法带来的提升严重依赖特征空间维度的选择,当维度选择不合适时,认证准确率会有所降低。



技术实现要素:

本发明的目的在于克服现有的远场说话人认证技术的不足之处,通过在说话人特征提取器的训练过程中引入距离信息,并通过梯度反转层消除距离对说话人特征的影响,提供端到端的解决方法。

为了达到上述目的,本发明提供的一种基于梯度反转层的远场说话人认证方法,包括以下步骤:

采集用户的声音信号,并对声音信号进行预处理,得到fbank特征,并制得数据集;

建立说话人特征提取器、说话人分类器、梯度反转层和距离判别器,说话人分类器与说话人特征提取器相连,距离判别器通过梯度反转层与说话人特征提取器相连,并对说话人特征提取器、说话人分类器和距离判别器进行训练,得到训练好的说话人特征提取器;

确定远场说话人认证的最佳阈值;

基于用户注册声音信号得到注册声音信号的频率特征图;

基于用户认证声音信号得到认证声音信号的频率特征图;

训练好的说话人特征提取器根据注册声音信号的频率特征图得到注册声音的说话人特征,训练好的说话人特征提取器根据认证声音信号的频率特征图得到认证声音的说话人特征,并将注册声音的说话人特征加入到注册库;

将认证声音的说话人特征与注册库中的说话人特征进行逐一对比,将两个说话人特征的余弦距离作为度量值,若度量值大于最佳阈值,则认证通过,否则,认证失败。

进一步地,所述采集用户的声音信号,语音信号的采样率为16khz,即每秒语音中有16000个采样点。每段语音有两个人工标注的标签,分别表示该段语音对应的说话人(说话人标签)和该说话人与录音设备的距离(距离标签)。

所述预处理包括频域变换。在频域变换处理过程中,以25ms(400个采样点)作为窗口,以10ms(160个采样点)为移动距离,在一维时域信号中进行滑动。对每个窗口内的采样点进行快速傅里叶变换,得到257维的向量,该向量为此窗口的采样点在频域中的能量分布,本发明称一个窗口为一帧。对于一段时长为t(ms)的语音,经过频率变换后,其转换为257×t/10的二维频率特征图。再使用滤波器组在时间维度上对此频率特征图进行滤波,得到尺寸为40×t/10的fbank特征。在本发明中,将此特征作为说话人特征提取器的输入。

进一步地,说话人特征提取器包括卷积神经网络、池化层和全连接层。

进一步地,距离判别器包括至少一层全连接层,用于提取对距离不敏感的说话人特征。

进一步地,说话人分类器包括至少一层全连接层,用于判断输入样本属于哪个说话人。

进一步地,所述对说话人特征提取器、说话人分类器和距离判别器进行训练,包括:

将预处理后得到的fbank特征输入卷积神经网络,卷积神经网络的输出依次经过说话人特征提取器的池化层和全连接层处理后得到每个输入样本的说话人特征;

将说话人特征输入说话人特征提取器的损失函数中,得到误差梯度值,误差梯度值以反向传播的方式更新说话人特征提取器参数;

将说话人特征输入距离判别器的损失函数中,得到距离判别器产生的误差梯度值,梯度反转层将距离判别器产生的误差梯度值乘上一个负的系数γ后传递给说话人特征提取器。

在说话人特征提取器和说话人分类器的训练过程中,s1输出的40×t/10维特征首先被输入到resnet网络中,输出为一个张量,其尺寸为bs×w×t×channel,然后通过池化层将该四维张量转换为尺寸为bs×d的二维张量,最后经过全连接层变换为尺寸为bs×d的张量。bs表示训练过程中,每次迭代输入的样本数量,每个d维张量表示一个说话人特征。将说话人特征张量输入到损失函数中可得到用于更新说话人特征提取器参数和说话人分类器参数的误差梯度值,该误差梯度值可通过反向传播的方式更新说话人特征提取器参数和说话人分类器参数。此时用到s1中的说话人标签。说话人分类器中使用的损失函数为原型损失(prototypicalloss),其表达式如下:

其中,fφ()为说话人特征提取器,d()为欧式距离度量函数,x为输入的频率特征图,k表示训练过程中一次迭代输入到网络中的说话人个数。本发明中,每个说话人对应两个样本,一个放入支持集,另一个放入查询集。使用支持集中的每个样本分别与查询集中的每个样本计算度量距离。k表示支持集中的样本与查询集中的样本属于同一个说话人,k′表示两个比对的样本属于不同的说话人。φ为说话人特征提取器的参数。

距离判别器训练过程:距离判别器的输入为说话人特征提取器输出的尺寸为bs×d的张量。在输入到距离判别器之前,该张量需要经过梯度反转层。梯度反转层的作用是在前向计算中将bs×d维张量恒等映射输出给距离判别器,而在梯度反向传播过程中,将距离判别器产生的误差梯度值乘上一个负的系数γ,对误差梯度进行反转后再传递给说话人特征提取器。

距离判别器采用的损失函数为对比损失(contrasiveloss),使用到的标签为s1中的距离标签。每次从bs个样本中选取两个样本,如果它们的距离标签相同,则给距离判别器赋予标签1,否则赋予0。contrasiveloss的表达式为:

ldis=label*(dis_pos) (1-label){max(margin-dis_neg,0)}

其中,label={0,1},dis_pos表示两个同距离样本的度量值,dis_neg表示两个不同距离样本的度量值,margin为超参数,本发明中将其设置为1。

训练过程中总的损失函数为:

ltotal=lspk α*ldis

α为调和参数,用于调节两个损失值。

进一步地,所述确定远场说话人认证的最佳阈值,包括:

遍历数据集中的所有样本,两两组合成样本对,属于同一个说话人的样本对的为正样本对,属于不同说话人的样本对为负样本对;

在预设数值范围内选取预设数量的数值构成一组阈值,对每一个阈值,计算对应的错误接受率far和错误拒绝率frr,然后对每个阈值计算错误接受率far和错误拒绝率frr的绝对差值;

选取绝对差值最小的那个阈值为最佳阈值;

其中,错误接受率far的计算公式为:

错误拒绝率frr的计算公式为:

式中,fp代表真实负样本对错误预测为正样本对的数量,tp代表真实正样本对正确预测为正样本对的数量,fn代表真实正样本对错误预测为负样本对的数量,tn代表真实负样本对正确预测为负样本对的数量。

本发明还提供用于实现前述方法的系统。

一种基于梯度反转层的远场说话人认证系统,其用于实现前述任一所述的方法,所述系统包括:

数据集制作模块,用于采集用户的声音信号,并对声音信号进行预处理,得到fbank特征,并制得数据集;

模型建立模块,用于建立说话人特征提取器、说话人分类器、梯度反转层和距离判别器,其中,说话人分类器与说话人特征提取器相连,距离判别器通过梯度反转层与说话人特征提取器相连,并对说话人特征提取器、说话人分类器和距离判别器进行训练,得到训练好的说话人特征提取器;

认证阈值确定模块,用于确定远场说话人认证的最佳阈值;

注册声音特征获取模块,用于基于用户注册声音信号得到注册声音信号的频率特征图;

认证声音特征获取模块,用于基于用户认证声音信号得到认证声音信号的频率特征图;

特征提取模块,用于训练好的说话人特征提取器根据注册声音信号的频率特征图得到注册声音的说话人特征,训练好的说话人特征提取器根据认证声音信号的频率特征图得到认证声音的说话人特征,并将注册声音的说话人特征加入到注册库;

认证模块,用于将认证声音的说话人特征与注册库中的说话人特征进行逐一对比,将两个说话人特征的余弦距离作为度量值,若度量值大于最佳阈值,则认证通过,否则,认证失败。

与现有技术相比,本发明至少具有以下有益效果:本发明提出的基于梯度反转层的远场说话人认证方法,在训练说话人特征提取器过程中,加入距离判别器,利用距离标签信息训练距离判别器,并通过梯度反转层,将其输出到说话人特征提取器中的梯度进行反转,使说话人特征提取器对距离不敏感。在认证阶段,只使用说话人特征提取器提取说话人特征,而不需要距离判别器的参与。本发明可以在不增加网络复杂度和计算资源消耗的情况下改善远场说话人认证准确率。

与基于时域信号处理和基于概率线性判别分类器的远场说话人认证方法相比,本发明利用梯度反转层即可使说话人特征提取器产生对距离不敏感的说话人特征,实现了端到端的解决方案,且拥有更少的超参数,具有很强的应用性。

附图说明

图1是本发明实施例中的梯度反转层的结构示意图。

图2是本发明实施例中说话人特征提取器示意图。

图3是本发明的训练过程示意图。

图4是本发明认证过程示意图。

图5是本发明实施例提供的系统的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都是本发明保护的范围。

本发明提供的一种基于梯度反转层的远场说话人认证方法,包括以下步骤:

步骤1:采集用户的声音信号,并对声音信号进行预处理,得到用于训练的数据集。

本步骤中,用户的声音信号是一维信号,一维信号只包含幅值、采样率等较简单的信息,为了获取更加丰富的表示说话人发音特点的信息,对声音信号做频域变换处理。

在本发明其中一个实施例中,语音信号的采样率为16khz,即每秒语音中有16000个采样点。每段语音有两个人工标注的标签,分别表示该段语音对应的说话人(说话人标签)和该说话人与录音设备的距离(距离标签)。

在本发明其中一个实施例中,所述预处理包括频域变换处理,在频域变换处理过程中,以25ms(400个采样点)作为窗口,以10ms(160个采样点)为移动距离,在一维时域信号中进行滑动。对每个窗口内的采样点进行快速傅里叶变换,得到257维的向量,该向量为此窗口的采样点在频域中的能量分布,本发明称一个窗口为一帧。对于一段时长为t(ms)的语音,经过频率变换后,其转换为257×t/10的二维频率特征图。再使用滤波器组在时间维度上对此频率特征图进行滤波,得到尺寸为40×t/10的fbank特征。在本发明中,将此特征作为说话人特征提取器的输入。

步骤2:建立说话人特征提取器、说话人分类器、梯度反转层和距离判别器,说话人分类器直接与说话人特征提取器相连,而距离判别器通过梯度反转层与说话人特征提取器相连,并对说话人特征提取器、说话人分类器和距离判别器进行训练。

建立并训练说话人特征提取器,并且引入距离判别器作为辅助,用于提取对距离不敏感的说话人特征。说话人分类器直接与说话人特征提取器相连,距离判别器通过梯度反转层与说话人特征分类器相连,在训练过程中三者同时被优化。值得注意的是,距离判别器和说话人分类器只存在于训练过程中,在注册和认证阶段,它们被舍弃不用。

说话人特征提取器包括卷积神经网络、池化层和全连接层,卷积神经网络用于提取表征说话人发音特点的信息,池化层用于对卷积神经网络的输出进行降维。池化层用于对卷积神经网络的输出进行降维操作,以融合特征,全连接层用于对降维后的信息进行非线性变换并输出说话人特征。

在本发明其中一个实施例中,卷积神经网络采用resnet网络。当然,在其他的实施例中,卷积神经网络也可采用其他网络,如x-vector网络或densenet网络。

在本发明其中一个实施例中,距离判别器包括至少一层全连接层,用于提取对距离不敏感的说话人特征。增加全连接层的层数可以提高距离判别器的提取精度。优选地,全连接层的层数设置成3层。

在本发明其中一个实施例中,说话人分类器包括至少一层全连接层,用于判断输入样本属于哪个说话人。增加全连接层的层数可以提高说话人分类器的判断准确性。优选地,说话人分类器包括3层全连接层。

在本发明其中一个实施例中,说话人特征提取器的训练过程如下:

步骤1输出的40×t/10的fbank特征首先被输入到resnet网络中,输出一个四维张量,其尺寸为bs×w×t×channel,bs为批次数,表示训练网络过程中,每次迭代时输入到网络的样本数量,w表示宽度,t表示时间长度,channel表示通道数量,然后通过池化层将该四维张量转换为尺寸为bs×d(d为说话人特征的维度,可以为任意整数)的二维张量,最后经过全连接层变换为尺寸为bs×d的张量即说话人特征,d表示变换后的说话人特征的维度,可以为任意整数。将说话人特征输入到说话人特征提取器的损失函数中得到用于更新说话人特征提取器参数的误差梯度值,该误差梯度值可通过反向传播的方式更新说话人特征提取器参数和说话人分类器参数。此时用到步骤1中的说话人标签。本发明中说话人分类器使用的损失函数为原型损失(prototypicalloss),其表达式如下:

其中,lspk为说话人分类器的损失函数,k表示训练过程中一次迭代输入到网络中的说话人个数,k表示支持集中的样本与查询集中的样本属于同一个说话人,d()为欧式距离度量函数,fφ()为说话人特征提取器,x为输入的频率特征图,φ为说话人特征提取器的参数,k′表示两个比对的样本属于不同的说话人,exp为以自然常数e为底的指数函数。本发明中,每个说话人对应两个样本,一个放入支持集,另一个放入查询集,使用支持集中的每个样本分别与查询集中的每个样本计算度量距离。

在本发明其中一个实施例中,请参阅图1,距离判别器训练过程为:

距离判别器的输入为说话人特征提取器输出的尺寸为bs×d的张量。在输入到距离判别器之前,该张量需要经过梯度反转层。梯度反转层的作用是在前向计算中将bs×d维张量恒等映射输出给距离判别器,而在梯度反向传播过程中,将距离判别器产生的误差梯度值乘上一个负的系数γ,对误差梯度进行反转后再传递给说话人特征提取器。

在本发明其中一个实施例中,距离判别器采用的损失函数为对比损失(contrasiveloss),使用到的标签为步骤1中的距离标签。每次从bs个样本中选取两个样本,如果它们的距离标签相同,则给距离判别器赋予标签1,否则赋予0。对比损失的表达式为:

ldis=label*(dis_pos) (1-label){max(margin-dis_neg,0)}

其中,label={0,1},dis_pos表示两个同距离样本的度量值,dis_neg表示两个不同距离样本的度量值,margin为超参数,本发明中将其设置为1。

训练过程中总的损失函数为:

ltotal=lspk α*ldis

α为调和参数,用于调节两个损失值。

说话人特征分类器的输入为步骤1输出的fbnak特征。本发明在训练过程中每次输入两条语音(对应支持集和查询集两个样本);在注册和认证过程中,每次输入一条语音。说话人特征提取器之后接有两个分支。一个分支为说话人分类器分支,即在训练的时候判断输入的语音属于训练集中的哪个人;另一个分支为距离判别器分支,即判断输入的两条语音录制地点与录音设备的距离是否相同。在距离判别器和说话人特征提取器的连接部分加入梯度反转层,在模型训练过程中,距离判别器产生的梯度值被乘以一个负的系数后再参与到说话人特征提取器的参数更新,使说话人特征对距离不敏感。

步骤3:确定远场说话人认证的最佳阈值。

选取最佳阈值,在步骤1中的数据集上遍历0-1之间等间距选取的一组阈值,确定远场说话人认证的最佳阈值。

在本发明其中一个实施例中,所述选取最佳阈值,用于在远场说话人认证中判断两条语音是否来自同一个说话人。将步骤1中数据集中的所有样本,两两组合成样本对,属于同一个说话人的样本对的为正样本对,属于不同说话人的样本对为负样本对。首先,将所有样本输入到s2中训练得到的说话人特征提取器中,提取对应的说话人特征。然后,度量每个样本对中的两个样本之间的距离,该距离值的范围为(0-1)。最后,在0-1范围内(等间距取100个值,如0.01,0.02,0.03…,代表阈值)等间距取100个数值构成一组阈值,对于每一个阈值,计算对应的错误接受率far和错误拒绝率frr。

其中计算错误接受率far的公式为:

其中,thres代表一组阈值,thres代表该组阈值中的一个。

计算错误拒绝率frr的公式为

当样本对的余弦距离大于阈值thres时判断为正样本对,即为属于同一个说话人的样本对,当样本对的余弦距离小于等于thres时判断为负样本对,即为属于不同说话人的样本对。fp代表真实负样本对错误预测为正样本对的数量,tp代表真实正样本对正确预测为正样本对的数量,fn代表真实正样本对错误预测为负样本对的数量,tn代表真实负样本对正确预测为负样本对的数量。对每个阈值计算far和frr的绝对差值,当某个阈值对应的绝对差值最小时,则将该阈值确定为最佳阈值。后续将两条语音之间的余弦距离与该最佳阈值相对比来判断它们是否属于同一个说话人。

步骤4:获取用户注册声音信号并预处理得到注册声音信号的频率特征图。

对注册语音的预处理过程与步骤1中的处理过程相同。

步骤5:获取用户认证声音信号并预处理得到认证声音信号的频率特征图。

对认证语音的预处理过程与步骤1中的处理过程相同。

步骤6:提取注册语音及认证语音的说话人特征,并将注册语音对应的特征存入注册库中。

在本发明其中一个实施例中,将步骤4输出的频率特征图和步骤s5输出的频率特征图依次输入步骤s2训练好的说话人特征提取器,分别得到说话人特征,将注册语音则加入到注册库中,将认证语音则进入下一步度量判断。

步骤6中,在提取注册语音和认证语音的说话人特征中,只使用说话人特征提取器,而距离判别器则不参与计算。

步骤7:用户身份认证,步骤6中得到的认证语音说话人特征与注册库中的说话人特征进行逐一对比。将两个特征向量的余弦距离作为度量值,若该度量值大于步骤3中确定的最佳阈值,则认证通过。否则,认证失败。

现有远场说话人认证方法需要将整个流程分为多个部分,分别处理,处理过程复杂,不是端到端的解决方案。本发明只需要在说话人特征提取器的训练过程中引入距离判别器,即可达到超过现有方法的效果,同时简化了远场说话人认证的流程。

本发明提供的远场说话人认证方法,(1)使用一维时域信号对应的二维频率特征图作为认证信息。频率特征图中包含每个人特有的发音信息。不同的说话人由于发音器官不同,所发出的声音经频率变换后会呈现不同的频率能量分布特征,该特征可以用来区分不同的说话人。(2)为了快速、准确地比较两条语音是否来自同一个人,需要将二维的频率特征图通过说话人特征提取器转换为低维向量,该向量可以代替其对应的时域信号进行说话人认证,被称为说话人特征。(3)为了减少说话人与录音设备之间的距离这一因素对说话人认证的干扰,本发明在模型训练阶段引入距离判别器,并通过梯度反转层对距离判别器学习到的特征进行抑制,使说话人特征提取器对距离不敏感,从而使其产生的说话人特征具有更强的鲁棒性。本发明可以在不对输入时域信号进行降噪等处理的情况下,提升远场说话人认证的准确度。

在本发明其中一个实施例中,还提供了用于实现前述方法的系统。

请参阅图5,本实施例提供的一种基于梯度反转层的远场说话人认证系统,包括:

数据集制作模块,用于采集用户的声音信号,并对声音信号进行预处理,得到fbank特征,并制得数据集;

模型建立模块,用于建立说话人特征提取器、说话人分类器、梯度反转层和距离判别器,其中,说话人分类器与说话人特征提取器相连,距离判别器通过梯度反转层与说话人特征提取器相连,并对说话人特征提取器、说话人分类器和距离判别器进行训练,得到训练好的说话人特征提取器;

认证阈值确定模块,用于确定远场说话人认证的最佳阈值;

注册声音特征获取模块,用于基于用户注册声音信号得到注册声音信号的频率特征图;

认证声音特征获取模块,用于基于用户认证声音信号得到认证声音信号的频率特征图;

特征提取模块,用于训练好的说话人特征提取器根据注册声音信号的频率特征图得到注册声音的说话人特征,训练好的说话人特征提取器根据认证声音信号的频率特征图得到认证声音的说话人特征,并将注册声音的说话人特征加入到注册库;

认证模块,用于将认证声音的说话人特征与注册库中的说话人特征进行逐一对比,将两个说话人特征的余弦距离作为度量值,若度量值大于最佳阈值,则认证通过,否则,认证失败。

本实施例提供的系统具有如上述方法相同的有益效果。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的的一种基于梯度反转层的远场说话人认证系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文章

  • 日榜
  • 周榜
  • 月榜