[0046] 2‑2、对预增强后的语音信号进行音框化(Framing)
[0047] 音框化即对语音信号分帧,帧长一般取为20~50毫秒。
[0048] 2‑3、对音框化后的语音信号进行汉明窗(Hamming Windowing)处理[0049] 假设音框化后的信号为S(n),n=0,1,…,N‑1,那么乘上汉明窗后为:
[0050] S'(n)=S(n)*w(n)
[0051]
[0052] 其中w(n)表示汉明窗,a为汉明窗修正系数,一般取0.46。
[0053] 2‑4、对汉明窗处理后的语音信号S'(n)进行快速傅立叶转换(FFT),得到线性频谱X(k)。
[0054] 所述的快速傅立叶转换(FFT)为基2FFT变换。
[0055] 2‑5、对语音信号的线性频谱采用三角带通滤波器(Triangle Filters)进行滤波,得到每个滤波器输出的对数能量z(m),m=0,1,…,Ms‑1,计算如下:
[0056]
[0057] 其中Hm(k)为第m个梅尔尺度的三角形滤波器的频率响应,Ns为语音信号的点数,一般取256,Ms为三角带通滤波器个数,一般取20,X(k)表示第k个语音信号的线性频谱。
[0058] 2‑6、对对数能量进行离散余弦转换(DCT),获得DCT系数数组r[20],r[]=dct(z[]);
[0059] dct()变换公式为
[0060]
[0061] 其中r[]表示一帧语音信号的MFCC参数,一般为20个,k1取值0~19。D=20。
[0062] MFCC系数计算方法为语音信号处理领域通用算法。
[0063] 2‑7、用MFCC系数训练用户GMM高斯混合模型,取混合数为8~32阶,阶数可由用户根据经验选定,记为N。GMM高斯混合模型如图3所示。图中有N个混合数,每个混合数对应一个高维高斯分布,维数为MFCC参数个数,一般为20;μi为高斯分布的均值向量,∑i为高维高斯分布的协方差矩阵,pi为对应高斯分布在整个GMM高斯混合模型中所占的比例权值,∑pi=1。GMM训练方法采用语音信号处理领域通用算法。
[0064] 2‑8、混合数为N的高斯混合模型由N个高维高斯分布组成,取每一个高斯分布的均值向量,组成N×20维的矩阵,20为MFCC系数个数,将N×20维的矩阵归一化至取值为[0,255]的图像灰度矩阵,即声纹特征图像1。归一化可采用本领域的通用方法,归一化函数f也可采用如下设计:
[0065]
[0066] 其中,α为MFCC系数值域的最大值减去最小值,x0为MFCC系数取值的最小值,x1取遍N×20维矩阵的每一个分量, 为向下取整运算符;
[0067] 高斯混合模型对应每一个高维高斯分布有一个权值,组合在一起为1×N维的权值向量,记为λ,在用户端存储λ。
[0068] 步骤(3)、对步骤1录取语音进行第2阶段预处理;
[0069] 3‑1、生成文本相关声纹语谱图;用时间n作为时间轴坐标,k作为频谱轴坐标,将|X2
(n,k)|的值表示为灰度级,显示在相应的坐标点位置上,即构成了声纹语谱图。X(n,k)为第n段语音帧的频谱能量密度函数,是对语音时域信号S’(n)实施基2快速傅立叶变换(FFT变换)得到的线性频谱,基2FFT变换为本领域内通用算法,k对应频谱段,每一段语音帧对应
2
了时间轴上的一个时间片。通过变换10log10(|X(n,k)|)得到语谱图的dB表示。
[0070] 3‑2、对上述声纹语谱进行图盲对齐与统一图像尺寸操作,分为图像宽度尺寸统一、标志点定位、图像平移长度重整3部分;标志点定位方法如图4所示,具体为:
[0071] 1)声纹语谱图宽度对应人类语音的频率取值范围,一般为8000Hz,可采用双线性插值等领域内通用的图像缩放方法将所有生成的声纹语谱图宽度缩放到统一尺寸,一般为200~300像素。
[0072] 2)采用CNN深网模型G1寻找声纹语谱图标志点位置;确定声纹语谱图标志点的平移目标位置,一般为图像的中心点位置,将声纹语谱图进行整体平移,使声纹语谱图标志点与平移目标位置重合;
[0073] 3)采用CNN深网模型G2、G3寻找声纹语谱图起始点和终止点位置;统一声纹语谱图的长度尺寸,采用双线性插值等领域内通用的图像缩放方法将声纹语谱图标志点以左和以右2部分分别缩放到统一尺寸,完成声纹语谱图盲对齐操作。获得声纹特征图像2。
[0074] 所述的CNN深网模型G1、G2、G3可采用现有成熟的用于图像分类的深网模型,如Resnet模型,以声纹语谱图为输入,声纹语谱图标志点、起始点和终止点为输出;模型G1、G2、G3使用滑动窗口法识别标志点、起始点和终止点;
[0075] 所述的CNN深网模型G1、G2、G3的训练过程:
[0076] 1)制作数据集:
[0077] 一类是带有标签的声纹语谱图标志点、起始点和终止点区域图像集:标志点、起始点和终止点区域由用户依据本人声纹语谱图特点进行选择,选取标准如下:标志点、起始点和终止点区域固定形状和大小,其内部的各频段的能量变化较为剧烈;标志点区域一般选取声纹语谱图中心点区域,长宽为d1、d2的矩形,如图4所示,起始点和终止点区域在图像的起始和结束部分选取,长宽为d1、d2的矩形;标志点、起始点和终止点区域图像集数量分别达到图像集总数量的 λ由用户定义,一般取1~2;
[0078] 另一类是声纹语谱图其他区域的图像集,即非标志点、起始点和终止点区域,长宽与标志点、起始点和终止点区域设置相同,数量与标志点、起始点和终止点区域图像集大致相当;为两类图像集分别打上分类标签,标志点、起始点和终止点各自与其他区域图像集一起单独制作1个训练数据集,共3个训练数据集,分别对应模型G1、G2、G3的训练;
[0079] 2)将构建好的3个训练数据集分别带入到CNN深网模型G1、G2、G3进行训练,让模型能够识别声纹标志点、起始点和终止点区域和其他区域,识别的准确率>θ1;θ1为用户定义的准确率阈值,如95%;
[0080] 3)训练过程中采用Softmax输出+交叉熵的方式;
[0081] 模型G1、G2、G3进行二分类判别,Softmax输出为y={y1,y2},其中z1,z2为模型全连接层输出结节输出的值;
[0082] 损失函数设置为交叉熵损失函数 其中ti表示样本属于i类的概率,yi为y1,y2;
[0083] 4)使用滑动窗口法识别标志点、起始点和终止点;从左至右遍历声纹语谱图的每一个长宽与标志点、起始点和终止点区域设置相同的区域,由模型G1、G2、G3判断该区域是不是声纹标志点、起始点和终止点区域;如找到标志点、起始点和终止点区域,则将声纹语谱图进行平移和缩放,使声纹标志点区域的中心点与平移目标位置点重合,完成声纹语谱图盲对齐操作,获得声纹特征图像2;否则判定未找到声纹标志点、起始点和终止点区域,舍弃该幅声纹图像。
[0084] 步骤(4)、将声纹特征图像1、2进行拼接,获得声纹特征图像3,领域内通用的图像拼接方法均可使用;基于声纹特征图像3构建声纹密钥深度神经网络训练集合L1。
[0085] 步骤(5)、构造声纹密钥深度神经网络,并利用训练集合L1进行训练[0086] 所述的声纹密钥深度神经网络包括串联的声纹稳定特征提取器、声纹生物密钥稳定器、声纹生物密钥提取器;
[0087] 5‑1构造声纹稳定特征提取器M1,其输入为声纹特征图像3,输出为声纹特征图像4;
[0088] 声纹稳定特征提取器M1由深度神经网络学习模型、声纹稳定特征选择器组成;
[0089] 所述的深度神经网络学习模型可采用现有成熟的ResNet、DenseNet等模型,在模型经训练集L1训练稳定后,移除全连接层,用声纹稳定特征选择器替换全连接层,如图4所示;
[0090] 所述的声纹稳定特征选择器用于从深度神经网络学习模型输出的所有特征图,选择拼接为一张输出特征图。
[0091] 将训练集L1中的训练图片经步骤5‑1处理后得到的输出特征图组成集合U,其中图片集为U=(U1,U2,...,Ui,...,Un1),Ui为单张输出特征图,n1为输出特征图的数量,所有图片大小均相同;像素点集 pi,j表示第i张特征图中第j个位置的单个像素点,每张特征图有m1个像素点,共n1×m1个像素点;然后从像素点集P中选出取值更趋稳定的像素点集P',由像素点集P'整理为声纹特征图像4:
[0092] 所述从像素点集P中选出取值更趋稳定的像素点集P'具体是:
[0093] a)根据公式(1)获得特征图Ui在j位置处的像素值pi,j的绝对误差R(pi,j),如果R(pi,j)<Δ1则将像素位置(i,j)存入队列,反之判断像素位置(i,j)是否已存在于队列中,若存在于队列中则执行步骤b);若不存在于队列中,则将像素位置(i,j)加入队列,并计算队列中所有像素点值的方差δ,若δ≥Δ2,则将像素位置(i,j)从队列中删除,则执行步骤b);
[0094] b)继续遍历i、j,选择一个新的像素点位置,返回步骤a);直至i=n1,j=m1时迭代结束,将队列中存放的所有像素位置对应的像素点组成像素点集P';
[0095]
[0096] 其中 为像素点集P中j列的所有像素点的均值,pi,j表示特征图Ui在j位置处的像素值,Δ1、Δ2均为人为定义的阈值。
[0097] 5‑2构造声纹生物密钥稳定器M2,其输入为声纹稳定特征提取器M1输出的声纹特征图像4,输出为声纹生物特征序列L2;
[0098] 声纹生物密钥稳定器M2以现有成熟的具备编码‑解码(Encode‑Decode)以及跳跃连接(Skip Connection)结构特点的Unet网络模型为基础,模型的基本构造为多层编码‑解码模块的堆叠,编码采用卷积加下采样操作,解码采用上采样加卷积操作;
[0099] 作为优选,Unet网络的跳跃连接采用神经连接控制(Neural connection control,NCC)结构;
[0100] NCC将流经该网络的原始数据的特征保留;保留的原始数据特征信息将参与到解码运算中。
[0101] NCC采用h层(h一般取1~3)神经元连接网络结构构成,原始数据作为NCC结构的输入数据,作为第一层神经元的输入,第一层神经元的输出作为连接到的下一层神经元的输入,最后一层神经元的输出为NCC结构的输出,即保留的特征信息。
[0102] 单层神经元的计算过程如下:
[0103] Xi=σ(Wi*Xi‑1+bi)
[0104] 其中,i表示当前层为第i层神经连接网络,若i为1,则Xi‑1即为原始数据,若1
[0105] Unet网络处理后的输出为指静脉生物特征序列L2。
[0106] 5‑3构造声纹生物密钥提取器M3,其输入为声纹生物密钥稳定器M2输出的声纹生物特征序列L2,输出为声纹生物密钥。
[0107] 经过指纹特征稳定器M2处理后的序列向量L2一般依然有一定数量的数值是不稳定的,用指纹密钥提取器M3提取稳定的指纹密钥序列。M3的构造可以使用领域内通用的模糊提取器提取指纹生物密钥。也可以采用Shamir门限秘密共享方法进行密钥的模糊提取,具体方法为:
[0108] 生成阶段:设定参数n2,t1,bx,其中参数n2表示从序列向量L2中选取的子序列的个数,bx表示选取的子序列的长度,子序列为连续的数字序列;参数t1表示阈值,当有t1个子序列成功匹配时即可准确提取出密钥。
[0109] (1)构造一个多项式,使Output与多项式常数项a0绑定,a0视为密钥[0110] F(x)=at1‑1xt1‑1+...+a2x2+a1x1+a0mod(p),a0=Output
[0111] 其中p为素数,系数at1‑1,...a2,a1随机选取,x∈Zp,Zp为模p剩余系域。
[0112] (2)从训练阶段的指纹密钥稳定器M2处理后的序列向量L2中取n2块比特长为bx的子序列1≤t1≤n2,将n2个子序列作为多项式的输入x,得到对应的F(Mi),记录F(Mi)、p与loci(i=1,2,...,n2),其中loci表示选取的第i个子序列Mi的第一位在整个序列中的索引值。供密钥提取阶段使用。
[0113] 提取阶段:
[0114] 当x=0时F(0)=a0=Output,即可恢复出密钥。根据记录的n2个索引值选取n2块bx比特长的子序列Qi,将(Qi,F(Mi))及x=0代入下式,若其中有t1(1≤t1≤n2)块Qi与Mi相等即可得到Output=a0,即为指纹生物密钥。
[0115]
[0116] 声纹生物密钥训练完成。
[0117] 声纹生物密钥提取部分由:声纹生物特征预处理、声纹稳定特征提取、声纹生物密钥稳定、声纹生物密钥提取4部分顺次连接组成。具体步骤为:
[0118] 步骤(1)、用户用正常语速与音量读出训练阶段确定的文本相关内容,录取语音s2秒以上,s2一般取3~6,若叙述一遍文本内容录取的语音
[0119] 步骤(2)、对录取的语音信号进行第1阶段预处理,从录取语音中提取MFCC系数(Mel频率倒谱系数);依据声纹生物密钥训练时存储的λ,训练用户GMM高斯混合模型,取混合数阶数与声纹生物密钥训练时一致,记为N。取GMM高斯混合模型的每一个高斯分布的均值向量,组成N×nx维的矩阵,将矩阵用训练阶段步骤3的归一化方法归一化为[0,255]的图像灰度矩阵,获得声纹特征图像a1。
[0120] 步骤(3)、将用户输入语音进行第2阶段预处理,生成文本相关声纹语谱图;对语谱图进行盲对齐与统一图像尺寸操作,尺寸与训练阶段确定的尺寸相同,获得声纹特征图像a2。
[0121] 步骤(4)、将声纹特征图像a1、a2进行拼接,获得声纹特征图像a3;
[0122] 步骤(5)、用声纹密钥深度神经网络处理声纹特征图像a3,生成声纹生物密钥。
[0123] 本技术领域中的普通技术人员应当认识到,以上实施例仅是用来说明本发明,而并非作为对本发明的限定,只要在本发明的实质范围内,对以上实施例的变化、变型都将落在本发明的保护范围。