基于音频指纹模板匹配的不良音频模糊检索方法

2022-12-16 06:32张弘扬
关键词:特征提取指纹音频

张 峰,于 乐,张弘扬

(中国移动通信集团公司 信息安全管理与运行中心,北京 100053)

随着科技发展和生活方式的改变,人们接触到丰富的音频资源,比如音乐、有声书、视频电话等。随着这些音频资源的日益增多,有害音频如诈骗音频、暴恐音频、色情音频等也越来越广泛,如何从海量的音频资源中找到有害音频并将其清理,是监管部门及音频内容运营企业的需求[1]。目前,学术界开展了多项音频智能分析的工作[2]:唐海桃等[3]提出了一种前向注意力模型,通过引入多尺度模型来对不同等级的语音基元进行建模;刘虹和袁三男[4]提出了一种多尺度残差深度卷积神经网络的语音识别的算法,结合联结时序分类算法,构建端到端中文语音识别系统。但是目前存在无法个性化适配模板、实时性欠佳等问题,为解决该问题,本文提出了一种基于音频指纹的模板匹配算法。

音频检索分析主要是通过比较音频指纹,获得相似的音频,而不是直接对音频文件本身进行比较。将音频指纹作为音频数据的索引,这样可以提升检索效率,并且降低搜索的检索量[5]。音频检索方法类似于搜索引擎的原理,只是检索对象为音频文件。音频检索包含两个步骤:一是音频指纹提取,二是音频指纹检索。在音频指纹提取阶段,通过算法对音频数据进行分析,提取核心的能代表声学特征的签名信息,并将该签名信息转换为可作为索引的音频指数存储到音频数据库中;在音频指纹检索阶段,系统首先将待检索的音频信息提取音频指纹,然后在数据库中进行比对检索,如果数据库中有匹配成功的音频,则将命中的音频数据返回用户。

本文提出的不良音频模糊检索方法是基于音频指纹模板匹配技术,适用于大规模高效音频检索,可以支撑电信级应用,例如录播的涉黄、涉政、涉恐、诈骗电话识别等。

1 算法核心思想

针对电信级大规模不良语音过滤应用需求,本文提出了一套基于模板匹配的不良音频模糊检索技术框架。本技术框架主要包含以下三个方面核心技术:一是基于音频指纹的模板匹配技术,二是解决大规模语音过滤应用挑战的超大规模树状音频特征索引库建库方法,三是基于时间序列的不良音频检索技术。

1.1 基于音频指纹的模板匹配

模板匹配又称为固定音频检测,目前主流的技术是采用基于音频指纹的算法[6-8]。我们将研究高效地将音频片段的“语谱图”量化为取值为整数的“音频指纹”的方法,然后在此基础上进行哈希检索[9-10],使计算量大大降低。

1.2 超大规模树状音频特征索引库建库方法

待检索的音频数据往往是海量规模,将音频模板与数据所有的内容比较将花费大量时间[11-12],在实际应用中不可承受。为了减少需要对比的音频片段数量,我们将研究如何找到和音频模板片段较为接近的部分,只在这些部分进行详细的搜索,这样就能避免穷举所有片段的问题。

1.3 基于时间序列投票机制的不良音频检索技术

研究采用分数投票和霍夫变换结合的方式,从音频片段的近邻还原整段音频的检索结果。根据音频片段与近邻之间的距离,寻找索引库中连续一段与音频模板距离小于阈值的音频片段。

2 关键算法

为实现基于音频指纹模板匹配的不良音频模糊检索,主要采用以下三个算法:首先采用语音端点检测算法对待测音频进行预处理,去掉一些不必要的背景噪音[13];其次采用梅尔频率倒谱系数特征提取算法对特征值进行提取;最后采用非对称距离计算算法找到与被测音频矢量距离最近的音频。

2.1 语音端点检测算法

采用基于交叉熵顺序统计滤波的语音端点检测算法[14],先将每帧语音划分成若干子带,然后计算每个子带与背景噪声之间的交叉熵。由于这样得到的交叉熵在非平稳噪声环境中其轮廓曲线的波动较大,不利于阈值的选择,因此,将子带交叉熵经过一组顺序统计滤波器进行平滑处理。在平滑滤波过程中,使用前后L帧的子带交叉熵的信息(可认为是语音的长时信息),可大大提高算法的检测精度。

交叉熵是信息论中的概念,常用来衡量2个概率密度分布之间的相似性。比如说有2个概率密度分布函数分别为p1(x)和p2(x),那么它们之间的交叉熵为[14]:

(1)

当2个概率密度分布函数相同时交叉熵为0,其他情况都为正值。所以,交叉熵表示所测算的概率密度分布p2(x)与实际概率密度分布p1(x)之间的偏离程度。当概率密度分布函数p1(x)和p2(x)都服从高斯分布时,交叉熵可以简单表示为:

(2)

通过分析交叉熵的计算过程,发现交叉熵只与概率密度分布的均值和标准差有关系。假设要处理的语音信号和噪声信号的对数能量分布服从高斯分布,其中语音信号概率密度分布服从pS,均值和标准差分别为μS、σS;噪声信号概率密度分布服从pN,均值和标准差分别为μN、σN。使用对称交叉熵[14]作为测度:

ρS,N=H(pS‖pN)+H(pN‖pS)。

(3)

当pS、pN服从高斯分布时,对称交叉熵为

(4)

若所检测帧语音pS与噪声pN之间的对称交叉熵ρS,N较小,说明此时的信号为噪声信号;否则为语音信号。

对每帧的语音信号进行处理,通过快速傅里叶变换(Fast Fourier Transform,FFT),将语音信号转换为功率谱上的点Yi,其中0≤i≤NFFT。为了提升算法的准确率,将功率谱划分成K个子带,这些子带互不重叠。由于某些噪音会集中在某个子带上,所以这种划分子带的方法可以降低噪音的影响,从而提升算法的准确率。可以通过如下公式计算第n帧上第k个子带上的频谱的对数能量[14]:

(5)

假设划分的每个子带对数能量E(n,k)服从高斯分布,可根据以下公式[14]通过平滑窗来估计第n帧上第k个子带的均值μ(n,k)和标准差σ(n,k)。

(6)

(7)

(8)

使用开始的M帧噪声帧对噪声的均值μN和标准差σN进行处理,为了提升准确率,在指纹检索的过程中,可对噪音进行实时更新和处理。每个子带的顺序统计滤波器作用在一组长度为L的子带交叉熵ρS,N(l-N,k),…,ρS,N(l,k),…,ρS,N(l+N,k)上,l是当前要分析的语音帧。假设语音开始的N是噪音,用来估算噪音的参数并初始化阈值。对这组子带中的交叉熵进行升序排列,ρS,N(h)(l,k)是ρS,N(l-N,k),…,ρS,N(l,k),…,ρS,N(l+N,k)中第h个最大值。经过滤波平滑处理后的第l帧第k个子带的交叉熵如下式所示:

ρS,N(h′)(l,k)=(1-λ)ρS,N(h)(l,k)+λρS,N(h+1)(l,k),(0≤k≤K-1),

(9)

其中h=⎣λL」(0<λ<1,L=2N+1)。λ称为顺序统计滤波器的采样分位数。λ满足高斯分布,为了提高算法语音检测的正确率,根据实验结果λ取为0.85。最后由下式[14]计算出第l帧的能量的交叉熵为:

(10)

经过子带交叉熵计算和顺序统计滤波的处理后,每帧信号都能够得到能量的交叉熵,用ρS,N(l)来表示。如果ρS,N(l)大于阈值T,即认为第l帧为语音帧,否则判定为非语音帧。阈值T可以设定为固定值或动态调整的值,如果T能够合理地动态变化,则能得到更好的识别效果。

2.2 梅尔频率倒谱系数特征提取

采用了目前主流的梅尔频率倒谱系数MFCC特征来进行特征提取。MFCC特征提取算法是一种基于人耳听觉感知理论的特征提取方法,目前广泛应用于语音识别领域[15]。该特征的提取流程[15]如图1所示,包括预加重、分帧、FFT、滤波器、离散余弦变换、一二阶差分、特征弯折。

预加重的目的是通过一高通滤波,提升高频部分,去除直流分量和50 Hz工频的干扰,让音频信号在高低频谱上更加平滑,使低频到高频的频带中,能够使用相同的信噪比来求频谱。降低发声过程中声带和嘴唇对声音影响的同时,还可以突出高频的共振峰。

通常将256或512个采样点集成一个观测单元,这样的观测单位成为N,每帧的覆盖时间大概为20~30 ms。为了使相邻的两帧之间变化平滑,可将两帧之间建立重叠部分,重叠部分可占每帧大小的50%或者30%。假设语音信号的采样频率为8 kHz,每帧的采样点为256个,那么相应的时间长度为256/8 000×1 000=32 ms。其目的是利用语音的短时平稳特性,将输入语音流分割成相对离散独立的单元,加窗是通过加入平滑的窗函数以避免分帧引入的吉伯斯效应。

在时域上,信号的变换没有特别明显的特征,在实际研究过程中通常会将音频信号转换为频域上的分布来观察特征。不同的语音特征具有不同的能力分布。所以,每帧除了要乘上窗函数外,还需要进行FFT来得到信号在频域上的能量分布特性,基于音频信号的频谱取模平方后得到语音信号的功率谱。

使用Mel三角窗滤波器主要可以解决两个问题,一是可以降低算法的运算量,二是可以消除谐波的影响,通过对频谱进行平滑处理,能够突出原始语音的共振峰。研究发现,人耳对声音的频率具有一定的选择性,就像一个滤波器组一样,只关注于某些特定的频率分量。滤波器在频率轴上的分布不是均匀的,在低频区域上分布密集,在高频区域上分布稀疏,这也可以很好地解释为何人耳对低频声音敏感,而对高频声音不敏感。相关学者根据上述研究,提出一种新的频率尺度即梅尔频谱[15],其与物理频率间的对应关系为:

(11)

lg函数是非线性的,而且可以模拟人耳对声音的感知特点,故对经过Mel频标三角窗滤波器组后的频谱作对数运算。通过离散余弦变换对数据进行降维分析,得到最终的特征参数,DCT变换的结果没有虚部,能够更好地计算。

语音信号是连续的,通过对信号进行分帧提取特征,虽能提取每帧的信息特征,但是无法还原帧与帧之间连续关系,为了解决这个问题,使用一阶差分和二阶差分的方法增加前后帧之间信息特征,这个特征可以体现语音信号在时域上的连续性。特征弯折采用的是二维DCT变换,目的是压缩特征,提高对比计算速度。

经过上述各个过程,就完成了语音信号的特征提取。

2.3 非对称距离计算算法

假设输入矢量为x,系统将搜索数据库,找到与x最为匹配(距离最近)的音频颗粒矢量,即:

NN(x)=argminy∈Yd(x,y)。。

(12)

公式中d为欧式距离的平方,即x与y各个分量的差的平方和。因为y保存到数据库之前进行了乘积矢量量化,所以,实际上只能计算矢量之间的近似距离。在乘积矢量量化中,计算距离可以采取对称距离与非对称距离两种。所谓对称距离,指的是将x也进行量化,然后计算x与y量化中心之间的距离;而非对称距离是求x与y量化后的向量之间各个分量差的平方和,用如下公式表示[11]:

(13)

其中j是矢量量化的分组。

经过上述公式算出结果后,再经过softmax换算,得到相似度分数。本方法中设定的相似度分数阈值是0.8,也可以根据情况进行调整。

2.4 大规模音频特征库快速分层搜索技术与多候选匹配

对于大规模音频特征库,可根据音频特征库的倒排表结构[16-17],特征库快速分层搜索与多候选匹配主要包括粗糙量化、计算距离、排序与多候选匹配4个操作:

1)粗糙量化:针对待查询的矢量x进行特征提取,并对特征进行粗糙量化。可以采用分类方法,将x划分到某一类中,常用的算法有最近邻方法。同时,计算余量r(x)。

2)计算距离d(x,y):根据粗糙量化的分组结果,在每组中计算r(x)的特征子集与乘积矢量量化表之间的距离。具体计算方法可以参考非对称距离的技巧,q(y)是矢量量化表中的某项,x与y之间的距离可以通过x与q(y)的距离进行估算。

3)排序方法:通过最大堆排序方法来进行排序和查询,堆中的每个元素都表示数据中的某个数据y与x的距离,堆顶部的元素表示距离最大的y,通过与堆顶部元素进行比较,如果比对堆顶部元素小(距离远)则替换堆顶元素,调整堆结构,直到判断完所有的数据y。由此得到与x距离最小的那部分y。

4)多候选匹配方法:除了检索x对应粗中心的倒排表,同时还检索x近邻的多个粗中心,在多个粗中心的倒排表上搜索y,更有可能找到x真正的近邻。

3 算法应用与测试

基于音频指纹模板匹配的不良音频模糊检索方法整体实现过程如图2所示,首先用特征提取法把不良音频段生成为模板,将待识别匹配的不良信息音频添加至匹配索引,然后将待识别音频解析为8 kHz采样率,16 bit位宽的PCM数据,最后对解析后的数据进行模板匹配。

为实现基于音频指纹模板匹配的不良音频模糊检索,在此搭建了不良音频识别引擎子系统。系统结构如图3所示,自下而上包括数据接入层、数据处理层以及应用层。数据接入层主要包括在线流式数据、wav文件、文件索引等。数据处理层主要包括静音段过滤、噪音段过滤、矢量量化、乘积矢量量化、残差量化、语谱特征提取、索引建立等。应用层主要包括相似度评估、遗忘窗口管理、置信度管理、音频存储、日志上报等。另外,本系统的底层技术主要以特征提取、非对称距离计算等为基础。

系统不仅支持离线识别,还支持多并发在线流式识别,匹配过程采用非对称距离计算算法,并采用基于时间序列投票机制,在保证计算速度的同时也保证了识别准确率。另外,系统可以在不重新启动的情况下,进行模板的注册、生效、失效、删除等功能,大大提高了整体系统的实用性。

为了评价本算法,选取了18 389段不良音频进行测试,结果如表1。

表1 测试结果

从测试结果看,本算法测试效果好,准确率保持在98.57%以上,召回率也保持在98.0%以上,说明应对大规模不良音频,可采用本方法进行有效的模糊检索。

4 结 语

科技的高速发展使得人们能够更加便捷的获取各类信息,在海量涌入的信息中,参杂着很多不良信息,如包含暴力恐怖、宗教极端、色情等有害的音频信息荼毒着众多用户。因此设计一种方法来识别并筛除此类不良信息便尤为重要。目前,在语音识别领域的研究工作中有许多难点,首先是输入无法标准统一,其次是噪声的困扰以及模型的有效性。本文针对通过网络等媒介传播的不良音频信息,提出了一种基于音频指纹模板匹配的不良音频模糊检索方法,采用了语音端点检测、梅尔频率倒谱系数特征提取、非对称距离计算、大规模音频特征库快速分层搜索技术与多候选匹配等算法,可高效准确地在大规模不良音频中识别出特定的不良音频,可支持电信级应用,例如诈骗电话识别等。为验证该方法的效果,选取了多段不良音频进行测试,结果的准确性较好,可向实际应用系统推广。未来,将根据业务需求及技术演进方向,进一步研究增强音频指纹提取的抗干扰能力,适时调整方法,在提升算法高效性和准确性的同时,使算法具备更强的抗干扰能力。

猜你喜欢
特征提取指纹音频
像侦探一样提取指纹
为什么每个人的指纹都不一样
基于Gazebo仿真环境的ORB特征提取与比对的研究
必须了解的音频基础知识 家庭影院入门攻略:音频认证与推荐标准篇
基于Daubechies(dbN)的飞行器音频特征提取
音频分析仪中低失真音频信号的发生方法
Bagging RCSP脑电特征提取算法
基于自适应稀疏变换的指纹图像压缩
Pro Tools音频剪辑及修正
可疑的指纹