← 返回列表

一种基于局部和全局跨通道融合的声纹识别方法

申请号: CN202311845138.7
申请人: 南京邮电大学
更新日期: 2026-03-09

专利详细信息

项目 内容
专利名称 一种基于局部和全局跨通道融合的声纹识别方法
专利类型 发明授权
申请号 CN202311845138.7
申请日 2023/12/29
公告号 CN117496980B
公开日 2024/3/26
IPC主分类号 G10L17/02
权利人 南京邮电大学
发明人 陈丹伟; 马云琪; 纪翀; 罗圣美
地址 江苏省南京市栖霞区文苑路9号

摘要文本

南京邮电大学取得“一种透气窗帘布”专利技术,本发明公开了一种基于局部和全局跨通道融合的声纹识别方法,属于数字信号处理和语音识别技术领域,该方法引入了局部和全局跨通道融合的设计,通过将一个整理的信息划分为两个部分,分别对其进行局部和全局特征提取,接着将局部和全局特征进行融合,让信息更加丰富增加模型识别的泛化能力。该方法在声纹识别中具有较高的准确率和实时性,并行的设计在没有加宽模型的宽度前提下,进一步加快了运算速度,弥补了传统的声纹识别技术在准确性和运算速度方面存在的不足,在语音助手唤醒、身份证和信用卡识别等相关应用场景具有较大的应用潜力。

专利主权项内容

1.一种基于局部和全局跨通道融合的声纹识别方法,其特征在于,包括:通过神经网络模型提取音频的特征,输出的特征向量是对应说话人身份ID的语音片段特征,将语音片段特征进行存储,以便后续的音频检索;所述神经网络模型,包含两个卷积层、三个全局块和三个局部块、注意力池化层、全连接层、加性角余量损失归一化层;所述全局块和局部块是典型的残差结构,所述残差结构用来进行跨尺度信息提取;全局块和局部块通过跨通道进行连接;所述注意力池化层将所述全局块和局部块的信息进行拼接提取特征,经过全连接层和加性角余量损失归一化层用于后续的声纹识别;所述方法具体包含以下步骤:步骤A:首先对单通道的音频文件进行预处理,得到梅尔频谱数据,并使用频谱增强,得到最后的频谱数据,具体包括:根据预设的批量大小,获取此批量大小的单通道的音频文件信息,对于所得到的音频数据,加入混响和噪声,得到新的音频数据,按照预设的时间间隔对语音信号数据进行采样处理,将其转换为一维的语音信号;对一维语音信号滑动加窗,从而实现分帧;设置帧长25ms,帧移10ms,以保证帧内信号的平稳性,并使帧之间有交叠;接着对每一帧做快速傅立叶变换,并计算功率谱;对功率谱应用梅尔滤波器组,获取每个滤波器内的对数能量作为系数,得到频谱数据;对得到的频谱数据进行频谱增强,得到最后的频谱数据;步骤B:结合卷积层、全局块、局部块、跨通道融合、注意力池化层,基于频谱数据对模型进行训练,得到训练后的声纹识别模型,具体步骤如下:步骤B1:首先数据进入卷积层得到特征数据,第一层设计的输入通道是80,输出通道是512,卷积核大小为5,填充的方式为相同模式;对于特征数据进行批量归一化和ReLU激活,得到处理后的特征数据;步骤B2:将输出的512个通道对半划分,作为全局块和局部块输入通道个数;将数据分别输入到全局层和局部层;在全局层中对数据进行一维卷积,将通道数放大到原来的2倍;再进行归一化和激活操作;卷积默认加上归一化和激活操作;接着进入残差结构,将输入划分为8个组,第一组就是直接当作输出值;第二组开始,每组进行卷积操作,每组的卷积核大小为3,将卷积后的结果复制两份,一部分作为输出,一部分用作下一组做信息融合;后面3~8组的操作相同;这八组计算完后,将八组的结果拼接在一起;最后再将拼接的结果经由一维卷积,将通道数还原为原来的大小;步骤B2能用下列公式表示:x′=Conv(x)x′,x′,...,x′=split(x′)128y′=Concat(y,y,...,y)128out=Conv(y′)其中,x表示的是输入的数据,Conv是一维卷积操作,split(x′)是将x′划分为8份,Concat是将输入的每个通道进行拼接,out是最后的输出结果;将输出的结果再经过全局块操作,也即全局通道注意力操作:y=x+Conv(ReLU(LayerNorm(conv(x·softmax(Conv(x)))))),其中,x表示的是输入的数据,Conv是一维卷积操作,Softmax函数对输入进行指数化,然后进行归一化;LayerNorm为层归一化,对网络中每个样本的特征进行归一化;ReLU是修正线性单元用于提高网络训练精度;局部块使用的是通道注意力操作:y=x·Sigmoid(Conv(ReLU(Conv(pool(x))))),其中,x表示的是输入的数据,Conv是一维卷积操作,pool表示的是全局平均池化操作;Sigmoid函数是一种非线性激活函数,它的输出范围是[0,1];ReLU是修正线性单元用于提高网络训练精度;步骤C:全局通道注意力块和通道注意力块操作完后得到的结果进行跨通道融合得到特征数据:y=ReLU(BatchNorm(Conv(x)))lly=ReLU(BatchNorm(conv(x))),ggy′=x+yllgy′=x+yggl其中,x,x分别是上面经过局部块和全局块得到的结果,BatchNorm是批量归一化,ReLU是修正线性单元用于提高网络训练精度;y,y分别是局部块和全局块对于信息的提取结果,y′,y′是通过相加的操作实现跨通道融合对应局部块和全局块的结果;局部块和全局块分别都有三层,除去对通道进行放缩的卷积的卷积核大小为1外,其他每一层卷积的卷积核大小都为3,除去放缩的通道数,每个块的通道数都是512;接着将三层的结果拼接在一起,经过一个卷积层,得到结果;lglglg步骤D:基于注意力池化层,将特征数据赋予不同的权重,得到新的特征数据:y=softmax(Conv(Tanh(ReLu(BatchNorm(Conv(x)))))),其中,x表示的是上一层的输入,Conv是一维卷积操作,BatchNorm是批量归一化,ReLU是修正线性单元用于提高网络训练精度,Tanh也是一个非线性的激活函数,它的输出范围是[-1,1];Softmax函数对输入进行指数化,然后进行归一化;步骤E:基于全连接层,对特征数据进行全连接处理,得到分布式特征表示:y=BatchNorm(Linear(BatchNorm(x))),其中,x表示的是上一层的输出的结果,BatchNorm是批量归一化,Linear是线性操作,用于将输入数据与权重矩阵相乘,并添加偏置向量,以生成输出;步骤F:基于加性角余量损失归一化层,对分布式特征表示进行处理,得到音频数据嵌入码,以此得到训练后的模型;加性角余量损失归一化层的损失函数的表达式如下:其中,x∈R表示第i个样本的深度特征,属于第y类,W∈R表示全连接层权重W∈R的第j列,b∈R是偏置项;N和n分别代表批量大小和说话人的类别数;idijdjd×njn步骤G:基于训练后的声纹识别模型进行声纹识别处理,得到最后比对结果;其具体步骤包括:每次识别取两段语音数据,将待识别的语音数据输入到训练后的声纹识别模型中,获得每段音频所对应的语音数据嵌入码,根据语音数据嵌入提取的特征码计算它们的余弦相似度,并根据计算结果判断这两段音频是否来自同一个说话人,最终输出识别结果;其中余弦相似度的计算公式具体如下所示:其中,x表示第一段音频数据的第i个向量单位,y表示第二段音频数据的第i个向量;n表示的是向量的维度。i<。更多数据: