一种基于声场和场纹的语音欺骗攻击检测方法与流程

文档序号:20989490发布日期:2020-06-05 21:33阅读:447来源:国知局
一种基于声场和场纹的语音欺骗攻击检测方法与流程

本发明属于语音认证技术及安全技术领域的发声体认证检测方法,具体是涉及了一种可检测针对语音认证系统的欺骗攻击的处理方法。



背景技术:

语音认证系统是一种通过提取说话人的语音特征并进行特征模式学习和匹配,从而对说话人身份进行鉴别的安全认证系统。由于其对硬件要求低(只需要麦克风)、成本低、个人操作简单方便、可进行远距离非接触式认证的特点,已经逐渐成为一种主流的个人认证和访问控制方式,在智能手机、智能音箱、智能家居等设备上得到了广泛的应用。

然而,现有的语音认证系统普遍容易遭受语音欺骗攻击。语音欺骗攻击指通过伪造与目标个人声音相似的语音来欺骗语音认证系统,从而冒充目标个人骗取访问权限的攻击手段。常见的语音欺骗攻击方式包括重放攻击、语音合成攻击、语音转换攻击。在重放攻击中,攻击者通过重新播放事先录制的目标个人真实语音来欺骗语音认证系统;在语音合成攻击中,攻击者利用人工智能或语音拼接等方式根据需要的语音内容合成虚假的目标个人声音;在语音转换攻击中,攻击者将其他人的语音转换为目标个人的声音。随着语音技术和电子设备的发展,语音欺骗攻击的门槛越来越低、效果越来越好、危害越来越大。因此,在这种情况下,亟需提出一种高效、低成本的语音欺骗攻击检测方法。

虽然语音欺骗攻击可以采用多种虚假语音信号的产生方式,但在实际的攻击过程中,攻击者需要利用扬声器(音箱)将虚假的语音信号变成在空气中传播的声音,播放给要攻击的语音认证系统。因此,对语音认证系统的防护可以从识别声音来源(发声体)出发,实现对欺骗攻击的检测。

对于任何发声体,其产生的声音在空间中传播的过程可以用物理学中的声场来描述。声场是声音在传播过程中产生的物理场,描述了声音在空间中不同位置的能量分布。声音作为一种机械振动波,它的传播可以用声场的变化来表示,可以形象化地类似于水面波纹的传播。声场的能量分布具有一定的特征,例如方向性就反映了声场的能量在特定方向上的聚集性。一个全向性的声场在各个方向都具有相似的能量强度,而一个方向性强的声场在某些特定方向上的能量强于其他方向。声场的方向性等能量分布特征与发声体本身的属性有关,例如一个面积大的发声体比面积小的发声体具有更强的方向性。

图1仿真了三个不同大小的发声体的声场。第一列为点声源,第二列为100mm长的线声源,第三列为200mm长的线声源,它们的大小依次递增,声源均位于每张图的中间最下位置。第一行图片为这些声源瞬时的声场,第二行为这些声源平均的声场能量分布。图中深色代表较强的能量值,浅色代表较低的能量值。可以看出,200mm大小的声源比点声源具有更强的声场方向性,因为能量较集中于特定的方向,也说明了面积大的发声体比面积小的发声体具有更强的方向性。

仿真说明在原理上可以通过提取声场的能量分布方向性特征来对发声体的属性进行推测。因为真实个人的发声体(包括声带、口腔、嘴鼻等)的属性特征(如形状尺寸)与欺骗攻击所使用的发声体(音箱)的属性特征不同,所以即使欺骗攻击产生了与真实个人非常相似的声音,攻击者的声场也会与真实个人的声场不同,因而可以基于声场对语音欺骗攻击进行检测。图2示意了来真实个人与语音欺骗攻击者可能存在的声场差异。

利用声场进行攻击检测的关键是从声场中提取出与说话内容无关的稳定的声场特征。

目前已有许多相关研究通过检测语音欺骗攻击引入的噪声和失真进行防护。然而这一类检测方法通常检测准确率低,且在攻击方法和设备升级后难以适用。此外还有通过个人佩戴额外设备进行活体检测的防御方法,此类方法由于需要额外设备导致成本较高、个人体验较差。目前还未有基于声场和场纹的语音欺骗攻击检测方法。



技术实现要素:

为解决上述背景技术中存在的技术问题,本发明提供了一种基于声场和场纹的发声体认证技术,以及可检测针对语音认证系统的欺骗攻击的处理方法,通过两个麦克风收集到的语音信号就能准确有效地检测出语音欺骗攻击。

本发明设计了“场纹”,将其作为可用于发声体识别的声场特征,采用场纹进行语音欺骗攻击的检测。

如图3所示,本发明采用如下技术方案:

在训练阶段:

1)通过双麦克风采集语音,提取获得双声道的语音信号,对双声道的语音信号分别进行信号处理,提取出场纹;

2)重复步骤1)采集并处理获得同一个人的多个语音的场纹,获得这个人的场纹分布,利用高斯混合模型进行训练;

在语音认证阶段:

3)对未知发声体的待测语音重复上述步骤1)计算其场纹,利用训练后的高斯混合模型处理获得相似度概率,根据相似度概率判断检测是否为语音欺骗攻击。进而实施后可进一步根据攻击检测的结果,将输出给语音认证系统进行综合认证判断。

所述的同一个人的多个语音是指同一个人在不同时间或者不同场景下说话所发出的语音。

所述步骤1)具体如下:

1)通过双麦克风采集语音,然后进行以下信号处理:

1.1)信号预处理:对双麦克风采集到的原始语音信号进行语音活动检测,去除语音信号中的非人声部分,包括突发环境噪声和说话过程中的停顿和间隙;

1.1.1)对语音中的双声道计算均方根,选取平均能量更高的声道作为主声道,另一声道作为次声道;

1.1.2)对于主声道的语音信号,包含n个采样点,预先设定幅度阈值ta=α|amax|,其中|amax|为n个采样点中最高的幅度绝对值,α表示比例参数,由环境噪声决定,在安静的室内通常取0.15;提取幅度绝对值高于幅度阈值ta的采样点序号,记为[s1,...,sn],然后计算[s1,...,sn]每相邻两个采样点序号之间的采样点差值,获得采样点差值序列[s2-s1,...,sn-sn-1];

1.1.3)寻找定位人声部分的开始点:对于采样点差值序列,判断相邻两个采样点差值是否满足开始条件,即每个采样点si是否满足si-si-1>tb,si+1-si<tb,tb为间隙序数阈值,若满足,则该采样点si作为开始点,由此实施获得开始点序列[st1,...,stm],st1表示第一个开始点;

1.1.4)寻找定位人声部分的结束点:

对于采样点差值序列,判断相邻两个采样点差值是否满足结束条件,即每个采样点si是否满足si-si-1<tb,si+1-si>tb,tb为间隙序数阈值,若满足,则该采样点si作为结束点,由此实施获得结束点序列[en1,...,enm],en1表示第一个结束点;

1.1.5)根据开始点和结束点提取作为语音中的一段人声部分,并计算每一段的长度,即[en1-st1,...,enm-stm],并将长度小于声长阈值tc的人声部分去除,以去除环境中的突发噪声;

1.1.6)根据去除后剩余的开始点和结束点确定的人声部分在原始语音信号中进行截取,并拼接在一起获得预处理后的主声道的语音信号;

1.1.7)对于次声道的语音信号按照步骤1.1.6)所确定的主声道的人声部分进行相同截取和拼接获得预处理后的次声道的语音信号,保持两个声道的语音同步;

本发明的语音活动检测主要通过信号幅值及持续时间以判断指定段语音信号为纯人声或是噪声,进而去除语音信号中的非人声部分,这样能有效准确获得人声部分。

1.2)短时傅里叶变换:

将预处理后的每个声道的语音信号按照20ms的窗口截取,且相邻窗口之间有50%的重叠,接着对每一个窗口截取出的信号乘以相同长度的海明窗,这样能减小频谱泄漏,然后再作快速傅里叶变换获得幅度谱,对幅度谱加对数获得每个窗口的频谱,最终每个声道截取获得k个窗口的频谱;

1.3)场纹提取:

1.3.1)场纹计算:将主次声道语音信号各自的频谱按窗口对应相减,获得k个窗口的双声道频谱差异,即[p1-q1,...,pi-qi,...,pk-qk],pi表示步骤1.2)获得的主声道语音信号的第i个窗口的频谱,qi表示步骤1.2)获得的次声道语音信号的第i个窗口的频谱;

计算k个窗口的双声道频谱差异的平均值作为整个语音信号的场纹表示为:

场纹的维度与pi和qi相同,均为快速傅里叶变换的点数。场纹是一个声场在两个麦克风位置的平均频谱能量差异,一定程度上反映了声场的能量分布特征。

1.3.2)场纹降维:

从两个层面依次进行降维:

首先在频率上,选取4000hz频率之下的场纹,作为较为稳定的场纹;其次在密度上,对较为稳定的场纹加窗,加窗相邻窗不重叠紧接设置,并计算窗内的场纹平均值,所有平均值构成个人场纹结果。

步骤1.3.1)获得的场纹具有较高的维数,这样降维使得场纹在不失去准确性的同时具有较小的维数,为后续实现轻量级的场纹训练算法提供了可能。

所述步骤2)如下:

使用高斯混合模型对个人场纹的分布进行处理,个人场纹为d维,将同一个人的多个语音的场纹训练以下个人场纹的分布由概率密度描述的高斯混合模型:

其中,表示由m个高斯模型混合的概率密度函数,m是高斯模型的总数量,wi是第i个高斯模型的混合权重,表示第i个高斯模型对应的概率密度函数;d表示场纹的总维数,μi表示第i个高斯模型中的均值向量,∑i表示第i个高斯模型中的协方差矩阵,e表示常数e,()′表示矩阵的转置。

高斯混合模型的训练可以通过迭代期望最大化(em)算法完成。

所述步骤3)具体如下:将待测的场纹输入到高斯混合模型处理获得待测的场纹的相似度概率,并判断:

若相似度概率达到预先设定的置信阈值,则认为该发声体通过认证,为步骤2)所训练使用的这个人;

若相似度概率低于预先设定的置信阈值,则认为该发声体没有通过认证,即检测到语音欺骗攻击。

本发明通过语音认证系统的两个麦克风采集记录语音,获得双声道的语音信号,经过信号处理,提取可以反映声源的声场特点的“场纹”作为生物特征。本发明利用场纹在不同的发声体(包括人和音箱)之间具有不同的分布,可以通过场纹对发声体进行认证,进而检测出语音欺骗攻击的场纹与其冒充对象的场纹不一致。

本发明的创新点是发现了由于人体发声结构的独特性导致发生时产生的声场分布特征具有独特性,特别是与语音欺骗攻击使用的音箱相比,具有可区分性。本发明提出将“场纹”作为声场的特征,定义场纹的提取和计算方法,并提出基于场纹的个人认证方法。在语音欺骗攻击时,即使攻击者产生了与真实个人语音非常相似的声音,该声音构成的声场和从中提取的场纹与真实个人的不一致,方法可用于检测语音欺骗攻击。

本发明的有益效果是:

本发明通过语音认证系统已有的两个麦克风和语音硬件就可以高效、准确有效地检测出针对语音认证系统的欺骗攻击。具有成本低、个人体验友好的特点,可以用于手机等智能设备上的语音认证系统的安全防护,具有广泛的需求和应用前景。

附图说明

图1为三种声源大小的声场仿真。

图2为真实个人的声场与使用音箱的语音欺骗攻击的声场差异示意图。

图3为本发明的技术方案流程图。

图4为个人与音箱的场纹对比图。

图5为同一个人说不同语音指令时的场纹对比图。

具体实施方式

下面结合附图和实施例对本发明作进一步说明。

按照本发明发明内容完整方法实施的实施例如下:

在训练阶段:

1)通过双麦克风采集语音,提取获得双声道的语音信号,对双声道的语音信号分别进行信号处理,提取出场纹;

1)通过双麦克风采集语音,然后进行以下信号处理:

1.1)信号预处理:对双麦克风采集到的原始语音信号进行语音活动检测,去除语音信号中的非人声部分;

1.1.1)对语音中的双声道计算均方根,选取平均能量更高的声道作为主声道,另一声道作为次声道;

1.1.2)对于主声道的语音信号,包含n个采样点,预先设定幅度阈值ta=α|amax|,其中|amax|为n个采样点中最高的幅度绝对值,α表示比例参数;提取幅度绝对值高于幅度阈值ta的采样点序号,记为[s1,...,sn],然后计算[s1,...,sn]每相邻两个采样点序号之间的采样点差值,获得采样点差值序列[s2-s1,...,sn-sn-1];

1.1.3)寻找定位人声部分的开始点:对于采样点差值序列,判断相邻两个采样点差值是否满足开始条件,即每个采样点si是否满足si-si-1>tb,si+1-si<tb,tb为间隙序数阈值,若满足,则该采样点si作为开始点,由此实施获得开始点序列[st1,...,stm],st1表示第一个开始点;

1.1.4)寻找定位人声部分的结束点:

对于采样点差值序列,判断相邻两个采样点差值是否满足结束条件,即每个采样点si是否满足si-si-1<tb,si+1-si>tb,tb为间隙序数阈值,若满足,则该采样点si作为结束点,由此实施获得结束点序列[en1,...,enm],en1表示第一个结束点;

1.1.5)根据开始点和结束点提取作为语音中的一段人声部分,并计算每一段的长度,即[en1-st1,...,enm-stm],并将长度小于声长阈值tc的人声部分去除;

1.1.6)根据去除后剩余的开始点和结束点确定的人声部分在原始语音信号中进行截取,并拼接在一起获得预处理后的主声道的语音信号;

1.1.7)对于次声道的语音信号按照步骤1.1.6)所确定的主声道的人声部分进行相同截取和拼接获得预处理后的次声道的语音信号,保持两个声道的语音同步;

1.2)短时傅里叶变换:

将预处理后的每个声道的语音信号按照20ms的窗口截取,且相邻窗口之间有50%的重叠,接着对每一个窗口截取出的信号乘以相同长度的海明窗,然后再作快速傅里叶变换获得幅度谱,对幅度谱加对数获得每个窗口的频谱,最终每个声道截取获得k个窗口的频谱;

1.3)场纹提取:

1.3.1)场纹计算:将主次声道语音信号各自的频谱按窗口对应相减,获得k个窗口的双声道频谱差异,即[p1-q1,...,pi-qi,...,pk-qk],pi表示步骤1.2)获得的主声道语音信号的第i个窗口的频谱,qi表示步骤1.2)获得的次声道语音信号的第i个窗口的频谱;

计算k个窗口的双声道频谱差异的平均值作为整个语音信号的场纹表示为:

1.3.2)场纹降维:

从两个层面依次进行降维:

选取4000hz频率之下的场纹,作为较为稳定的场纹;对较为稳定的场纹加窗,并计算窗内的场纹平均值,所有平均值构成个人场纹结果。

2)重复步骤1)采集并处理获得同一个人的多个语音的场纹,获得这个人的场纹分布,利用高斯混合模型进行训练;

使用高斯混合模型对个人场纹的分布进行处理,个人场纹为d维,将同一个人的多个语音的场纹训练以下个人场纹的分布由概率密度描述的高斯混合模型:

其中,表示由m个高斯模型混合的概率密度函数,m是高斯模型的总数量,wi是第i个高斯模型的混合权重,表示第i个高斯模型对应的概率密度函数;d表示场纹的总维数,μi表示第i个高斯模型中的均值向量,∑i表示第i个高斯模型中的协方差矩阵,e表示常数e,()′表示矩阵的转置。

在语音认证阶段:

3)对未知发声体的待测语音重复上述步骤1)计算其场纹,利用训练后的高斯混合模型处理获得相似度概率,根据相似度概率判断检测是否为语音欺骗攻击。将待测的场纹输入到高斯混合模型处理获得待测的场纹的相似度概率,并判断:

若相似度概率达到预先设定的置信阈值,则认为该发声体通过认证;

若相似度概率低于预先设定的置信阈值,则认为该发声体没有通过认证,即检测到语音欺骗攻击。

实施例一:

如图2所示,实施例以音箱发出声音作为冒牌对象进行检测认证,以个人的人体发声体实际声带发出声音采集语音信号,并用音箱录制的个人的人体发声体实际声带发出的声音并播放作为发声体采集语音信号,然后按照本发明方法进行检测判断并对比。

图4显示了真实个人和音箱之间的场纹对比图,图中所示为降维前的原始场纹。音箱所播放声音为个人1语音的重放,5个个人所说的语音内容也是相同的。

由图4上图可以看出,真实个人与三个重放音箱的场纹对比具有明显的差异,而图5所示同一个人说不同语音指令时的场纹具有相同的分布。相似地,由图4下图可以看出,个人之间的场纹也具有明显的差异。因此,一个个人的场纹具有独特性,因而可以用于个人认证,并且检测语音欺骗攻击。

实施例二:

本实施例采集了共20人(14男6女)的活体认证语音,并用8种不同种类和档次的扬声器进行语音欺骗攻击。设定场纹特征维度维9,选取0-4khz的频率范围,得到对真实个人的检测准确率99.03%,对欺骗攻击的检测准确率99.18%。

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