CN115064175A - 一种说话人识别方法 - Google Patents
一种说话人识别方法 Download PDFInfo
- Publication number
- CN115064175A CN115064175A CN202210700736.4A CN202210700736A CN115064175A CN 115064175 A CN115064175 A CN 115064175A CN 202210700736 A CN202210700736 A CN 202210700736A CN 115064175 A CN115064175 A CN 115064175A
- Authority
- CN
- China
- Prior art keywords
- layer
- data
- network
- model
- densenet
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000012549 training Methods 0.000 claims abstract description 58
- 238000004364 calculation method Methods 0.000 claims abstract description 16
- 238000005516 engineering process Methods 0.000 claims abstract description 8
- 230000002708 enhancing effect Effects 0.000 claims abstract 2
- 238000012360 testing method Methods 0.000 claims description 38
- 238000011176 pooling Methods 0.000 claims description 23
- 238000013528 artificial neural network Methods 0.000 claims description 18
- 230000007704 transition Effects 0.000 claims description 14
- 230000004913 activation Effects 0.000 claims description 12
- 239000011159 matrix material Substances 0.000 claims description 12
- 210000002569 neuron Anatomy 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 11
- 238000001514 detection method Methods 0.000 claims description 9
- 230000005236 sound signal Effects 0.000 claims description 7
- 238000001228 spectrum Methods 0.000 claims description 7
- 238000010606 normalization Methods 0.000 claims description 6
- 238000007781 pre-processing Methods 0.000 claims description 6
- 238000012935 Averaging Methods 0.000 claims description 5
- 238000009432 framing Methods 0.000 claims description 5
- 230000005540 biological transmission Effects 0.000 claims description 4
- 238000004458 analytical method Methods 0.000 claims description 3
- 238000000605 extraction Methods 0.000 claims description 3
- 230000009467 reduction Effects 0.000 claims description 3
- 108010076504 Protein Sorting Signals Proteins 0.000 claims description 2
- 230000037433 frameshift Effects 0.000 claims description 2
- 230000011218 segmentation Effects 0.000 claims description 2
- 230000008569 process Effects 0.000 abstract description 13
- 238000013527 convolutional neural network Methods 0.000 abstract description 5
- 238000012795 verification Methods 0.000 abstract description 5
- 239000000284 extract Substances 0.000 abstract 1
- 230000006870 function Effects 0.000 description 23
- 230000006872 improvement Effects 0.000 description 12
- 238000013135 deep learning Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000008034 disappearance Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000002474 experimental method Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000003042 antagnostic effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 210000005069 ears Anatomy 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000036651 mood Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L17/00—Speaker identification or verification techniques
- G10L17/04—Training, enrolment or model building
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L17/00—Speaker identification or verification techniques
- G10L17/18—Artificial neural networks; Connectionist approaches
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L17/00—Speaker identification or verification techniques
- G10L17/20—Pattern transformations or operations aimed at increasing system robustness, e.g. against channel noise or different working conditions
Landscapes
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Complex Calculations (AREA)
Abstract
本发明公开了一种说话人识别方法,是一种使用人们语音特征进行身份验证的技术,又称声纹识别。该方法通过Fbank提取说话人的特征参数作为网络结构的输入,在DenseNet的基础上不仅引入多尺度思想,来降低模型训练过程中信息的丢失量,而且结合SE‑block网络模型对浅层网络信息进行筛选,以降低样本中噪声信息的干扰,还引入可分离卷积的思想,从而有效的减少训练过程中网络参数的数目,可以很好的增强网络模型的非线性表达能力。本发明的基于DenseNet‑SEblock说话人识别方法实现了在计算成本略有增加的基础上改善传统的卷积神经网络模型,解决了特征信息随着深度的增加在网络层的训练过程中丢失一部分的问题,有效提高了网络模型的识别率。
Description
技术领域
本发明涉及一种说话人识别方法,是一种使用人们语音特征进行身份 验证的生物识别技术。
背景技术
说话人识别是生物识别和语音识别领域中的一个主要课题,由于声音中 蕴含着丰富的信息,人们可以通过语音感知说话人的年龄、说话时的心情、性 别以及说话人的身份等,从而可以凭借声音进行身份识别验证。从特征采集的 成本的角度还是在使用时便捷性的角度考虑,说话人识别技术都有着显而易见 的优势,该技术可用于反电信诈骗和走失儿童的找寻、线上客服身份核验、金 融防欺诈、对来电客户进行身份识别、线上金融业务办理、多终端验证身份、 享受智能化的家居生活体验、智能汽车和许多其他应用。常用的传统输入特 征有:倒谱、线性预测系数(LPC)和线性预测倒谱系数(LPCC)、 梅尔频率倒谱系数(MFCC)、Fbank特征,其中Fbank特征是在MFCC 的基础上演变出而来,与MFCC不同的是它没有通过MFCC步骤中的DCT 处理,也就是将取对数运算后的倒谱特征进行离散余弦变换,从而可以保 留更多的生物个性特征,所以随着深度学习的兴起和在说话人识别领域的 应用,相比较MFCC,Fbank更受研究人员的偏爱。
近年来,为了提高说话人识别的准确率,使其广泛地适用于市场和各 类服务领域,科研人员提出了许多识别方法有:矢量量化VQ模型、动态时间规 整法DTW模型、高斯混合模型GMM、隐马尔可夫模型HMM,在说话人识别 领域中,深度学习已经是人们研究的重点之一,并逐渐取代诸如GMM等传统的 人识别模型有:人工神经网络(ANN),深度学习(DL)、卷积神经网络(CNN)、 卷积神经网络残差网络等,但是现有深度学习网络也有着自身的不足:在完 成网络模型的训练的过程中需要计算的相关参数十分庞大且耗费时间,只适 合大数据集下的情形,在实用性方面,神经网络训练过程中对设备的要求较 高,存在一定的局限性;随着网络结构的加深可以使其具备更强的拟合能 力,但是会导致出现误差梯度的消失的问题,随着卷积的深入,会不可 避免的丢失掉一部分特征信息,最终影响实验结果。
有鉴于此,确有必要提出一种基于DenseNet-SE block说话人识别方法, 以解决上述问题。
发明内容
本发明的目的在于提供一种说话人识别方法,该方法基于DenseNet- SE block有针对性地减轻梯度消失问题,且该方法能有效的加强特征的传 输,降低样本中噪声信息的干扰,减少训练过程中网络参数的数目,且 可以很好的增强网络模型的非线性表达能力,最终提高整体的识别效果。
为实现上述目的,本发明提供一种基于DenseNet-SE block说话人识别 方法,用于对说话人进行识别,所述说话人识别方法包括以下步骤:
步骤1、获取音频数据及音频数据标记,音频数据划分为训练集数据和 测试集数据;
步骤2、对训练集数据进行数据增强,使用数据增强方法Mixup;
步骤3、对音频数据进行预处理,然后再对音频数据做傅立叶变换并 计算通过滤波器的能量,以获取Fbank特征数据;
步骤4、定义DenseNet-SEblock模型的结构以及DenseNet-SEblock模型的 训练参数;
步骤5、使用增强的训练集数据对DenseNet-SEblock模型进行训练;
步骤6、将测试集数据特征信息输入到训练完成的DenseNet-SEblock模 型中进行判决,得出识别结果;
步骤7、得到输入测试集数据的模型的概率矩阵、识别率;
作为本发明的进一步改进,步骤1中的音频数据为北京数据堂科技股 份有限公司制作并开源的Aidatatang-200zh开源语音数据库中,抽取的150个 说话人,单个说话人总时长为五分钟至十分钟之间,每个说话人包含60个 音频样本,其中50个样本作为训练集,10个样本作为测试集,总时长达到 50小时,作为实验中的样本库。所有音频文件都编码为单通道,并以16位 精度以16kHz采样。数据标记具体为:将读取到的音频按照不同的标签保存, 即train_sound,train_label,test_sound,test_label分别代表训练集和测试集 的音频数据和对应的说话人标签。
作为本发明的进一步改进,步骤2中的数据增强方法Mixup以线性插 值的方式来构建新的训练样本和标签,增强了训练样本之间的线性表达, 改进当前的神经网络架构的泛化能力,从而减少对错误标签的记忆、增加 对抗样本的鲁棒性。其表达式为:
其中(xi,yi)和(xj,yj)为训练数据中随机抽取的两个样本,λ为服从B分布 的参数。
作为本发明的进一步改进,步骤3中的预处理包括预加重、分帧处理 和加窗函数、端点检测,预加重的滤波器设为:,其中a预加重滤波器的系 数参数,通常取值范围为0.9~1;分帧处理将一段比较长的非平稳语音信号 的分析,转变成一个个平稳语音帧,一般一帧的帧长为10~30ms,帧移与帧 长的比值为0~0.5;加窗通过使用滑动窗口对原始语音序列进行等间隔分割 实现,即将每一帧乘以汉明窗,通过窗函数的音频信号为:sW(n)=s(n)w(n), 其中s(n)为原始语音信号序列,w(n)为汉明窗函数,计算公式为:其中N为帧长;端点检测的双门 限法算法用于从原始音频信号中识别出语音段和非语音段,有效的减少原始 音频中无意义的部分。具体实现为设定一个较高的短时能量门限,一般取 所有帧的短时能量平均值,设定一个较低的短时能量门限T1和短时过零率 的阈值Zs,将低于T1门限的内容判决为静音段,高于T1并低于T2的内容进 行阈值的判定。计算公式为:
其中En为短时能量,Zn为短时过零率,sgn[]为符号函数;
利用傅立叶变换并计算通过滤波器的能量取对数来获取Fbank特征数据。 的计算公式为:
Xm(w)=FFT(Xm(n));
其中,xm(n)为音频信号时域采样序列,xm(w)为对应频域的功率谱,m 是指帧的序列,Hm(k)为梅尔滤波器组函数,满足f(m)为三 角滤波器中第m滤波器的中心频率,m是指滤波器的数量,通常取20~40, Mel(f)是梅尔频率,f为实际语音信号频率。
作为本发明的进一步改进,步骤4中DenseNet-SEblock模型的结构 包含输入层、四个DenseBlock模块和三个Transition模块,全局池化层,BP 算法模块,两个引入了SEblock网络模型的特征通道,所述输入层用于向 网络输入元素;所述全局池化层用于对最后输出的多维特征进行平均化的 处理,将其转变成低维的特征值,从而可以减少网路模型的参数,防止最 终出现过拟合的现象;
作为本发明的进一步改进,所述DenseBlock模块由多层的DenseLayer模 块组成,采用的是密集连接方式,即指网络模型中的当前网络层的输入都蕴 含前面所有网络层的输出,从而在保证网络层之间能够进行最大程度的信息 传递的前提下直接将所有层进行连接起来,第L层网络的输出为: xL=HL([x0,x1,...,xL-1]),其中x为输入层,HL()为层与层之间的传输函数,所 述DenseLayer模块包括BN层、ReLU层、卷积层,所述BN用于缓解反向传播 中的梯度消失的问题,提高模型训练速度,提高网络泛化性能;所述ReLU 层用于进行非线性映射;所述卷积层内设有卷积核,卷积层之间通过神经元 连接,用于降低通道数目。
作为本发明的进一步改进,所述Transition模块位于两个DenseBlock模 块中间,主要用于降低特征的数目和压缩模型的大小,由归一化层、卷积层、 平均池化层组成,所述归一化层用于对输入特征经过归一化处理;所述卷积 层内设有卷积核,卷积层之间通过神经元连接,用于降低通道数目;所述平 均池化层用于进行特征压缩处理。
作为本发明的进一步改进,所述BP算法模块用于优化算法调整神经网 络中初始化参数的值,使得预测结果与实际结果之间的偏差降低到特定标准 之下,从而达到优化模型参数的效果,通过ReLu激活函数实现,计算公式为:
其中wij为权值,为神经网络中第L-1层第i神经元的输出,为神经 网络中第L层中第j神经元的输入,为实际输出和期望输出之间的偏差, σ为激活函数,δL为最后一层神经网络的偏差,再由后往前计算每一层神 经网络产生的偏差。
作为本发明的进一步改进,所述SEblock网络模块的特殊通道由两个 SEblock模块和两个全局池化层组成,所述SEblock模块由全局平均池化层、 两个全连接层、ReLu激活函数、sigmoid函数组成,所述全局平均池化层用 于将空间上分布的所有信息点的值平均为一个值,使最终的scale对整个通道 起作用,从而利用通道间的相关性的同时屏蔽掉空间分布上的相关性;所述 两个全连接层分别用于降低通道数目到原来的1/r,其中r为降维参数,增加 通道数至最初的数目;所述ReLu激活函数用于连接两个全连接层;所述sigmoid函数用于将权重值加权到之前的特征矩阵上,从而获得筛选后的特征 矩阵。
作为本发明的进一步改进,步骤4中DenseNet-SEblock模型的训练参 数包括将通道数为64;卷积核设为3x3;步长(stride)设为2;四层 DenseBlock中的卷积层数目分别设为6、12、24、8;第二个Transition模块和 第三个Transition模块的输出特征参数的大小分别设为256x16x8和512x8x4; 两个SEblock网络模块的输入特征参数的大小分别设为256x16x8和512x8x4;
作为本发明的进一步改进:步骤6具体为:将增强训练集中的数据经 Fbank特征提取后的特征参数作为结构和训练参数均已定义好的DenseNet-SE block模型的输入端数据,最后经过全局池化操作得到样本的一维特征参数, 之后通过反向传播算法调整模型中的参数,最终的使得预测结果与实际结果 之间的偏差降低到特定标准之下。
作为本发明的进一步改进,步骤6具体为:将事先预处理好的测试音 频样本输入到DenseNet-SE block网络模型中,模型输入的测试音频首先要 通过端点检测排除静音部分后,再提取出Fbank特征。最后将从DenseNet- SE block网络中提取出的特征信息后直接输入到Softmax分类层中,实现说 话人的辨别,所述Softmax分类层用于解散计算预测音频属于不同说话人的 概率值,计算公式为:
作为本发明的进一步改进,步骤7具体为:在训练后的DenseNet- SEblock模型中输入所述测试集数据并在最终的分类层中识别样本对应的说 话人,得出测试集数据在说话人样本的概率矩阵;识别率的值为正确识别出 的样本个数与测试样本集的总数之比,本发明采用的说话人识别的评价指 标为识别率(Accuracy,ACC)。
本发明的有益效果是:本发明的基于DenseNet-SE block说话人识别 方法通过数据增强技术,对原始训练数据集中随机选择的两个示例来混 合创建每个训练样本,从而规范神经网络而且增强训练样本之间的线性 表达,减少对错误标签的记忆,增加对抗样本的鲁棒性,并能够稳定对 生成对抗网络的训练过程。通过引入SEblock网络模型对浅层网络信息进 行筛选,以降低样本中噪声信息的干扰,从而降低模型训练过程中信息 的丢失量,自适应地重新校准通道方式的特征响应,最终提高网络模型 的识别率。
附图说明
图1是本发明说话人识别分类方法的流程图。
图2是图1中DenseBlock模快的结构示意图。
图3是图1中Transition模块的结构示意图。
图4是图1中SEblock模块的结构示意图。
图5是两种识别系统在不同迭代次数下的识别率示意图。两种系统, 即DenseNet-ICTL基准识别模型和本发明的DenseNet-SEblock识别模型。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体 实施例对本发明进行详细描述。
本发明提供了一种基于DenseNet-SEblock说话人识别方法,该方法基 于常用深度学习进行改进的DenseNet-SEblock模型,通过音频数据读取 和获取特征数据、定义DenseNet-SEblock模型的结构DenseNet-SEblock模 型的训练参数以及模型训练过程,模型测试过程,其中通过数据增强技术, 增强训练样本之间的线性表达,从而增加对抗样本的鲁棒性,引入SE block网络模型,对浅层网络信息进行筛选,从而降低模型训练过程中信息的丢失量。
请参阅图1所示,音频数据读取和获取特征数据包括如下两个步骤:
步骤1、获取音频数据及音频数据标记,音频数据划分为训练集数据和 测试集数据。
其中,音频数据为北京数据堂科技股份有限公司制作并开源的 Aidatatang-200zh开源语音数据库中,抽取的150个说话人,单个说话人总时 长为五分钟至十分钟之间,每个说话人包含60个音频样本,其中50个样本 作为训练集,10个样本作为测试集,总时长达到50小时,作为实验中的样 本库。所有音频文件都编码为单通道,并以16位精度以16kHz采样。数据 标记具体为:将读取到的音频按照不同的标签保存,即train_sound,train_label, test_sound,test_label分别代表训练集和测试集的音频数据和对应的说话人标签。
步骤2、对训练集数据进行数据增强,使用数据增强方法Mixup。
其中,Mixup以线性插值的方式来构建新的训练样本和标签,增强了训练 样本之间的线性表达,改进当前的神经网络架构的泛化能力,从而减少对错误 标签的记忆、增加对抗样本的鲁棒性。其表达式为:
其中(xi,yi)和(xj,yj)为训练数据中随机抽取的两个样本,λ为服从B分布 的参数。
步骤3、对音频数据进行预处理,然后再对音频数据做傅立叶变换并计 算通过滤波器的能量,以获取Fbank特征数据。
其中预处理包括预加重、分帧处理和加窗函数、端点检测,预加重的目的 是为了补偿高频分量的损失,提升高频分量,预加重的滤波器设为: H(z)=1-az-1,其中a为预加重滤波器的系数参数,通常取值范围为0.9~1,分 帧处理是为了使相邻两帧之间的参数能比较平稳地过渡,保证语音信号的平滑 性,加窗函数的目的是减少频域中存在的泄漏,将对每一帧的语音乘以汉明 窗,音频数据X(n)经预处理后为时域数据Xm(n);端点检测的目的是去除原始 音频中无意义的部分,从而减少后续音频数据处理的工作量,最后提高识别的准确率,通过计算短时能量和短时过零率来设置阈值,其计算公式为:其中En为短时能量,Zn为短时过零率,sgn[]为符号函数,随后对Xm(n)做傅立叶 变换并计算通过滤波器的能量来获取音频数据的特征数据,对每一帧进行FFT (傅立叶变换)变换,变换公式为:Xm(w)=FFT(Xm(n)),使音频数据从时域数 据转变为频域数据,然后对每一帧FFT后的数据计算能量谱,并将能量谱通过 梅尔滤波器,其计算公式为:随后进行 非线性对数运算,将实际频率转换到梅尔倒谱刻度上,获取倒谱上的谱估计, 可以削弱噪声对特征参数的影响并且规整频谱系数的数值分布,从而使音频特 征更加明显,很好的拟合人耳听觉特性中对信号能量的非线性感知的现象,计 算公式为:
其中,xm(n)为音频信号时域采样序列,xm(w)为对应频域的功率谱, m是指帧的序列,Hm(k)为梅尔滤波器组函数,满足f(m)为 三角滤波器中第m滤波器的中心频率,m是指滤波器的数量,通常取20~40, Mel(f)是梅尔频率,f为实际语音信号频率,本实施例中,滤波器优选为 Mel滤波器,但不应以此为限。
请参阅图1~图4所示,定义DenseNet-SEblock模型的结构和DenseNet- SEblock模型的训练参数部分包括如下两个步骤:
步骤4、定义DenseNet-SEblock模型的结构以及DenseNet-SEblock模型 的训练参数。
DenseNet-SEblock模型的结构包含输入层、四个DenseBlock模块和三个Transition模块组成,全局池化层,BP算法模块,两个引入了SE block网络模 型的特征通道,所述输入层用于向网络输入元素(图1中结构),输入层向 网络中输入二维特征图像,全局池化层对最后输出的多维特征进行平均化 的处理,将其转变成低维的特征值置向量相加。
DenseBlock模块由多层的DenseLayer模块组成(图2中的DenseLayer1,DenseLayer2,DenseLayer3,),采用的是密集连接方式,即指网络模型中的 当前网络层的输入都蕴含前面所有网络层的输出,从而在保证网络层之间能够 进行最大程度的信息传递的前提下直接将所有层进行连接起来,第L层网络的 输出为:xL=HL([x0,x1,...,xL-1]),其中x为输入层,HL()为层与层之间的传输函 数,DenseLayer模块包括BN层、ReLU层、卷积层(图2中的BN、Relu、 Conv2d),BN对输入的分布平滑于,缓解反向传播中的梯度消失的问题, 从而提高模型训练速度,提高网络泛化性能,ReLU层输入的元素进行非 性映射,卷积层内设有卷积核,卷积层之间通过神经元连接,用于降低通道 数目。
Transition模块位于两个DenseBlock模块中间,可以降低特征的数目和 压缩模型的大小,由归一化层、卷积层、平均池化层组成(图3中的BN、 Relu、Conv2d、AvgPool),归一化层对输入特征经过归一化处理,卷积层 内设有卷积核,卷积层之间通过神经元连接,可以降低通道数目,平均池 化层对特征进行压缩处理。
BP算法模块能够优化算法调整神经网络中初始化参数的值,使得预 测结果与实际结果之间的偏差降低到特定标准之下,从而达到优化模型参 数的效果,通过ReLu激活函数实现,计算公式为:
其中wij为权值,为神经网络中第L-1层第i神经元的输出,为神经 网络中第L层中第j神经元的输入,为实际输出和期望输出之间的偏 差,σ为激活函数,δL为最后一层神经网络的偏差,再由后往前计算每一 层神经网络产生的偏差。
SEblock网络模块的特殊通道由两个SEblock模块和两个全局池化层组成 (图1中的SEblock1、SEblock2、Globalpool1、Globalpool3),SE-block模 块由全局平均池化层、两个全连接层、ReLu激活函数、sigmoid函数组成( 图1中的GlobalPool、Linear1、ReLu、Linear2、sigmoid、Scale),全局平 均池化层将空间上分布的所有信息点的值平均为一个值,使最终的scale对 整个通道起作用,从而利用通道间的相关性的同时屏蔽掉空间分布上的相 关性,两个全连接层分别将通道数目降低到原来的1/r,其中r为降维参数, 将通道数增加至最初的数目,ReLu激活函数将两个全连接层连接,sigmoid 函数将权重值加权到之前的特征矩阵上,从而获得筛选后的特征矩阵。
DenseNet-SEblock模型的训练参数包括将通道数为64;卷积核设为3x3; 步长(stride)设为2;四层DenseBlock中的卷积层数目分别设为6、12、24、 8;第二个Transition模块和第三个Transition模块的输出特征参数的大小分别 设为256x16x8和512x8x4;两个SEblock网络模块的输入特征参数的大小分别 设为256x16x8和512x8x4;
步骤5、使用增强的训练集数据对DenseNet-SEblock模型进行训练。
将增强训练集中数据经Fbank特征提取后的特征参数作为结构和训练参 数均已定义好的DenseNet-SEblock模型的输入端数据,最后经过全局池化操 作得到样本的一维特征参数,之后通过反向传播算法调整模型中的参数, 最终的使得预测结果与实际结果之间的偏差降低到特定标准之下。
请参阅图1~图5所示,测试集数据分类结果获取和处理部分包括 以下步骤;
步骤6、将测试集数据特征信息输入到训练完成的DenseNet-SEblock模型 中进行判决,得出识别结果。
将事先预处理好的测试音频样本输入到DenseNet-SEblock网络模型中, 模型输入的测试音频首先要通过端点检测排除静音部分后,再提取出Fbank 特征,最后将从DenseNet-SE block网络中提取出的特征信息后直接输入到 Softmax分类层中,实现说话人的辨别,所述Softmax分类层用于解散计算预 测音频属于不同说话人的概率值,计算公式为:
步骤7、得到输入测试集数据的模型的概率矩阵、识别率。
将测试集数据输入训练后的DenseNet-SEblock模型,并在最终的分类层中 识别样本对应的说话人,得出测试集数据在说话人样本的概率矩阵,,识 别率的值为正确识别出的样本个数与测试样本集的总数之比,本发明采用 的说话人识别的评价指标为识别率(Accuracy,ACC)。本次实验中网络模型 的迭代次数都初始化为100,实验中抽取了每20次迭代次数的结果进行分析 (选取迭代次数为20,40,60,80,100),当迭代次数达到80次以上时,网络模 型的识别准确率趋向平稳,两个模型迭代最优时的准确率分别是 92.68%和96.8%,即DenseNet-SEblock模型的说话人识别在识别准确率方面要 高于DenseNet-ICTL网络模型的识别效果。
综上所述,本发明提供了一种基于DenseNet-SEblock说话人识别方法, 通过提取说话人的特征参数Fbank作为网络结构的输入,同时将网络的输 出结构从单一尺度输出修改为多尺度输出,并结合SEblock网络(Squeeze and Excitation Networks)以提高网络结构模型的准确率和函数表征能力。 这种算法的实现,在计算成本略有增加的基础上改善传统的卷积神经网络 模型随着深度的增加,特征信息不可避免地会在网络层的训练过程中丢失 一部分的问题,很好的提高网络模型的识别率。
以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实 施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本 发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神 和范围。
Claims (10)
1.一种说话人识别方法,用于辨析声音生物特征的特性进而验证说话人身份,其特征在于,基于DenseNet-SE block技术,包括以下步骤:
步骤1、获取音频数据及音频数据标记,音频数据划分为训练集数据和测试集数据;
步骤2、对训练集数据进行数据增强,使用数据增强方法Mixup;
步骤3、对音频数据进行预处理,然后再对音频数据做傅立叶变换并计算通过滤波器的能量,以获取Fbank特征数据;
步骤4、定义DenseNet-SE block模型的结构以及DenseNet-SE block模型的训练参数;
步骤5、使用增强的训练集数据对DenseNet-SE block模型进行训练;
步骤6、将测试集数据特征信息输入到训练完成的DenseNet-SE block模型中进行判决,得出识别结果;
步骤7、得到输入测试集数据的模型的概率矩阵、识别率。
2.根据权利要求1所述的说话人识别方法,其特征在于:所述步骤1中的所述音频数据从数据库中,抽取的150个说话人,单个说话人总时长为五分钟至十分钟之间,每个说话人包含60个音频样本,其中50个样本作为训练集,10个样本作为测试集,总时长50小时,作为样本库;所有音频数据都编码为单通道,并以16位精度以16kHz采样;将读取到的音频按照不同的标签保存,即train_sound,train_label,test_sound,test_label分别代表训练集和测试集的音频数据和对应的说话人标签。
4.根据权利要求1所述的说话人识别方法,其特征在于:所述步骤3中的预处理包括预加重、分帧处理和加窗函数、端点检测,所述预加重的滤波器设为:H(z)=1-az-1,其中a预加重滤波器的系数参数,取值范围为0.9~1;所述分帧处理将一段非平稳语音信号的分析,转变成若干个平稳语音帧,一帧的帧长为10~30ms,帧移与帧长的比值为0~0.5;所述加窗通过使用滑动窗口对原始语音序列进行等间隔分割实现,即将每一帧乘以汉明窗,通过窗函数的音频信号为:sW(n)=s(n)w(n),其中s(n)为原始语音信号序列,w(n)为汉明窗函数,计算公式为:其中N为帧长;所述端点检测的双门限法算法用于从原始音频信号中识别出语音段和非语音段,设定高的短时能量门限,取所有帧的短时能量平均值,设定低的短时能量门限T1和短时过零率的阈值Zs,将低于T1门限的内容判决为静音段,高于T1并低于T2的内容进行阈值的判定,计算公式为:
其中En为短时能量,Zn为短时过零率,sgn[]为符号函数;
利用傅立叶变换并计算通过滤波器的能量取对数来获取Fbank特征数据,计算公式为:
Xm(w)=FFT(Xm(n));
5.根据权利要求1所述的说话人识别方法,其特征在于:所述步骤4中DenseNet-SEblock模型的结构包含输入层、四个DenseBlock模块和三个Transition模块组成,全局池化层,BP算法模块,两个引入了SE block网络模型的特征通道,所述输入层用于向网络输入元素;所述全局池化层用于对最后输出的多维特征进行平均化的处理,将其转变成低维的特征值;所述DenseNet-SE block模型的训练参数包括将通道数为64;卷积核设为3x3;步长(stride)设为2;四层DenseBlock中的卷积层数目分别设为6、12、24、8;第二个Transition模块和第三个Transition模块的输出特征参数的大小分别设为256x16x8和512x8x4;两个SE block网络模块的输入特征参数的大小分别设为256x16x8和512x8x4;
所述DenseBlock模块由若干层DenseLayer模块组成,采用的是密集连接方式,即网络模型中的当前网络层的输入都蕴含前面所有网络层的输出,第L层网络的输出为:xL=HL([x0,x1,...,xL-1]),其中x为输入层,HL()为层与层之间的传输函数,所述DenseLayer模块包括BN层、ReLU层、卷积层;所述卷积层内设有卷积核,卷积层之间通过神经元连接;
所述Transition模块位于两个DenseBlock模块中间,由归一化层、卷积层、平均池化层组成,所述归一化层用于对输入特征经过归一化处理;所述卷积层内设有卷积核,卷积层之间通过神经元连接。
7.根据权利要求5所述的说话人识别方法,其特征在于:所述SE block网络模块的特征通道由两个SE block模块和两个全局池化层组成,所述SE block模块由全局平均池化层、两个全连接层、ReLu激活函数、sigmoid函数组成,所述全局平均池化层用于将空间上分布的所有信息点的值平均为一个值;所述两个全连接层分别用于降低通道数目到原来的1/r,其中r为降维参数,增加通道数至最初的数目;所述ReLu激活函数用于连接两个全连接层;所述sigmoid函数用于将权重值加权到之前的特征矩阵上,从而获得筛选后的特征矩阵。
8.根据权利要求1所述的说话人识别方法,其特征在于:步骤5具体为:将训增强训练集中数据经Fbank特征提取后的特征参数作为结构和训练参数均已定义好的DenseNet-SEblock模型的输入端数据,最后经过全局池化操作得到样本的一维特征参数,之后通过反向传播算法调整模型中的参数,最终使得预测结果与实际结果之间的偏差降低。
10.根据权利要求1所述的说话人识别方法,其特征在于:步骤7具体为:在训练后的DenseNet-SEblock模型中输入所述测试集数据并在最终的分类层中识别样本对应的说话人,得出测试集数据在说话人样本的概率矩阵;识别率的值为正确识别出的样本个数与测试样本集的总数之比。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210700736.4A CN115064175A (zh) | 2022-06-20 | 2022-06-20 | 一种说话人识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210700736.4A CN115064175A (zh) | 2022-06-20 | 2022-06-20 | 一种说话人识别方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115064175A true CN115064175A (zh) | 2022-09-16 |
Family
ID=83203228
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210700736.4A Pending CN115064175A (zh) | 2022-06-20 | 2022-06-20 | 一种说话人识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115064175A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115862636A (zh) * | 2022-11-19 | 2023-03-28 | 杭州珍林网络技术有限公司 | 一种基于语音识别技术的互联网人机验证方法 |
-
2022
- 2022-06-20 CN CN202210700736.4A patent/CN115064175A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115862636A (zh) * | 2022-11-19 | 2023-03-28 | 杭州珍林网络技术有限公司 | 一种基于语音识别技术的互联网人机验证方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107146601B (zh) | 一种用于说话人识别系统的后端i-vector增强方法 | |
CN102509547B (zh) | 基于矢量量化的声纹识别方法及系统 | |
CN108281146B (zh) | 一种短语音说话人识别方法和装置 | |
CN102968990B (zh) | 说话人识别方法和系统 | |
CN105096955B (zh) | 一种基于模型生长聚类的说话人快速识别方法及系统 | |
CN112053694A (zh) | 一种基于cnn与gru网络融合的声纹识别方法 | |
CN109346084A (zh) | 基于深度堆栈自编码网络的说话人识别方法 | |
CN109961794A (zh) | 一种基于模型聚类的分层说话人识别方法 | |
CN112735435A (zh) | 具备未知类别内部划分能力的声纹开集识别方法 | |
CN113571067A (zh) | 一种基于边界攻击的声纹识别对抗样本生成方法 | |
CN113763965A (zh) | 一种多重注意力特征融合的说话人识别方法 | |
CN115101076B (zh) | 一种基于多尺度通道分离卷积特征提取的说话人聚类方法 | |
CN113539293A (zh) | 基于卷积神经网络和联合优化的单通道语音分离方法 | |
CN112562725A (zh) | 基于语谱图和胶囊网络的混合语音情感分类方法 | |
CN115064175A (zh) | 一种说话人识别方法 | |
Kekre et al. | Speaker recognition using Vector Quantization by MFCC and KMCG clustering algorithm | |
CN111932056A (zh) | 客服质量评分方法、装置、计算机设备和存储介质 | |
CN116597853A (zh) | 一种音频消噪方法 | |
CN113808620B (zh) | 一种基于cnn和lstm的藏语语音情感识别方法 | |
CN111785262B (zh) | 一种基于残差网络及融合特征的说话人年龄性别分类方法 | |
CN115101077A (zh) | 一种声纹检测模型训练方法及声纹识别方法 | |
CN112259107A (zh) | 一种会议场景小样本条件下的声纹识别方法 | |
Komlen et al. | Text independent speaker recognition using LBG vector quantization | |
Chelali et al. | MFCC and vector quantization for Arabic fricatives speech/speaker recognition | |
CN117393000B (zh) | 一种基于神经网络和特征融合的合成语音检测方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |