当前位置:文档之家› 基于神经网络和卡尔曼滤波算法的说话人识别

基于神经网络和卡尔曼滤波算法的说话人识别

基于神经网络和卡尔曼滤波算法的说话人识别
基于神经网络和卡尔曼滤波算法的说话人识别

文章编号:167121742(2008)0420384205

基于神经网络和卡尔曼滤波算法的说话人识别

张余生, 夏秀渝, 杨 莎

(四川大学电子信息学院,四川成都610064)

摘要:首先从语音信号中提取出特征参数:线性预测倒谱系数(L PCC )和用小波包提取的小波特征参数

(WPC );语音特征分类模型则选择多层前馈式神经网络(MBP 网络),并将奇异值分解运用到扩展卡尔曼滤波(EKF )算法中作为神经网络的学习算法。仿真结果表明,小波特征参数具有良好的识别效果;同时采用改进后的

扩展卡尔曼滤波(EKF )算法使人工神经网络具有更稳定、更准确的分类性能。

关 键 词:线性预测倒谱系数(L PCC );小波特征参数;多层前馈式神经网络;扩展卡尔曼滤波(EKF )算法中图分类号:TP202.7 文献标识码:A

收稿日期:2008203203;修订日期:2008203231

1 引言

说话人识别,又称声纹识别,是利用说话人的语音特征对说话人身份进行辨认或确认。根据识别方式,说话人识别分为与文本有关和与文本无关两种方式[1]。前者要求在识别时,说话人提供与训练语音相同的关键词串或者语句,而后者则没有这样的要求,说话人说话内容是任意的。文中讨论的是与文本无关的说话人身份确认。说话人识别由两个过程组成:特征提取部分,从语音信号中提取出所需的特征参数;识别部分,把提取的特征

输入到模式分类器并作出最终判决。用于说话人识别的特征参数有:线性预测系数(L PC )、L PC 倒谱系数、美尔倒谱系数(MFCC )等等。识别部分的模式匹配方法有矢量量化(VQ )、高斯混合模型(GMM )、人工神经网络方法(ANN )以及这些方法的组合技术等。

文中提出了采用从语音中提取出的线性预测倒谱系数(L PCC ),小波特征参数作为说话人识别的特征参数;分类器设计中,选用了多层前馈式神经网络(MBP )。在人工神经网络学习算法的选取时,提出用扩展卡尔曼滤波算法取代在处理非线性对象时收敛速度慢、易陷入局部极值的BP 算法。同时在卡尔曼滤波计算中,将数值鲁棒性较好的奇异值分解方法应用于卡尔曼滤波的递推公式中,提高了滤波精度和数值稳定性,并且也减少迭代计算量。

2 语音特征参数提取

2.1 语音信号的预处理

语音信号是准平稳的时变信号,即只有在一个短时段中(20ms )才是平稳的,所以绝大部分的说话人识别系统都是建立在短时分析的基础上,把一定长度的语音分为许多帧来分析。首先对语音信号进行预加重处理,端点检测,然后用汉明窗进行分帧,最后计算语音特征参数。2.2 线性预测倒谱系数的提取

语音特征参数种类很多,从语音频谱直接导出的参数有:混合参数,M EL 频率倒谱系数和线性预测参数及其派生参数等。其中,L PC 系数和差值倒谱系数计算量小,有较好的识别效果,所以文中将采用线性预测倒谱系数。

线性预测分析的基本思想是:用过去的p 个样点值预测现在或未来的样点值: ^s (n )=∑p

k =1a k s (n -k )

(1)

第23卷第4期2008年8月

成 都 信 息 工 程 学 院 学 报

JOURNAL OF CHEN G DU UNIV ERSITY OF INFORMATION TECHNOLO GY Vol.23No.4

Aug.2008

其中p 是预测阶数,{a k },k =1,2,…,p 是线性预测系数(L PC )。通过使处于同一帧中的预测信号与实际信号之间的均方误差值最小得到这些线性预测系数。

通过线性预测分析得到的声道模型系统函数为: H (z )=

11-∑p

k =1a k z

-k

(2)

其冲激响应为h (n ),设^h (n )表示h (n )的复倒谱,通过适当的变换,从而可由a k 求出: ^h (1)=a 1

(3) ^h (n )=a n +∑n -1

k =1(1-k/n )a k ^h (n -k ) 1Φn Φp

(4) ^h (n )=∑p

k =1

(1-k/n )a k ^h (n -k ) n >p

(5)

按上式求得的复倒谱^h (n )称之为线性预测复倒谱系数(L PCC )。2.3 用小波包提取语音特征系数

小波分析方法是一种窗口大小(窗口面积)固定但其形状可改变,时间窗和频率窗都可以改变的时频局部化分析方法[2]。它在时域和频域同时具有良好的局部化性质,因此小波分析是分析非平稳信号的好方法[3]。由于语音信号具有非平稳性,所以可以用小波包分析代替语音信号处理中的傅立叶分析和滤波器组,导出基于小波分析的语音特征,为了利用人耳的听觉感知特征,即M EL 频率和关键带,采用了小波包分解树的方法,使它的子频带分布类似于M EL 域滤波器组[4]。

基于小波包分析具有的上述特点,在MFCC 参数提取方法的基础上用小波包分析取代MFCC 提取过程中的FF T 变换和M EL 滤波器组两步,得到一种新型特征参数WPC 。

小波包系数的提取过程如下:

(1)输入语音信号经过一阶数字滤波器H (z )=1-0.95z -1进行预加重,提升高频信号,并经过端点检测(利用短时能量与过零率)提取出有用的语音部分;

(2)基于小波函数(Daubechies 函数)对所提取的语音信号进行6层小波包分解,得到小波包分解结构(树结

构,数据结构)。

(3)使用小波重构函数(wprcoef 函数),计算小波包分解系数(小波包分解树结构)的重构信号。通过此步的小波包分析可以把语音信号无损地分成不同的24个信号,这24个信号反映了原始的语音信号在24个相互不重叠的频率段上的信息,可用这些信息来识别说话人的身份。

(4)计算小波包重构后得到的24个支路信号的对数能量。

 S k =1n ∑{W PD (x (n ))}2

,k =1,2,…,K

(6)

其中,K 为所选频带的数目。(5)将所得到的S k 做归一化处理

 S k ′=S k /∑{|S k |}

2

(7)

(6)将上述S k ′经离散余弦变换(DCT )得到P =12维的WPC 系数:

 c (i )=∑K k =1

S k ′cos πi (k -12

)K

(8)

其中 0Φk ΦK i =1,2,…,P

3 人工神经网络

人工神经网络是模拟人脑神经组织的基础上发展起来的全新计算系统,是由大量计算单元通过丰富联结构成的复杂网络,是一种接近于人的认知过程的计算模型[5]。这种网络是可以训练的,可以积累经验而不断改善自身的性能。具有很好的模式识别能力,特别适用于用来进行语音信号处理,如语音识别或说话人身份识别。

5

83第4期 张余生等:基于神经网络和卡尔曼滤波算法的说话人识别

3.1 人工神经网络模型

人工神经网络由神经元、网络拓扑、学习算法三者构成。文中采用MBP 神经网络,一种多层前馈神经网络,采用logsig 函数F =logsig (n )=1/(1+exp (-n ))作为神经元活化函数。MBP 神经网络模型由一个输入层,一个输出层和一个或多个的隐层组成。输入层和输出层的节点是线性的,隐层的节点是非线性的。所用的MBP 神经网络由三层组成,节点分别为12,13,1,隐层的节点在以往学者研究得到的经验公式n =

n i +n 0+a 所表

示的范围内进行选择,其中n 为隐层节点数;n i 为输入节点数;n 0为输出节点数;a 为1~10之间的常数[6]。为每个说话人建立了一个子网模型,N 个子网构成一个用于N 个说话人识别的组合神经网络模型。3.2 基于奇异值分解的扩展K alman 滤波学习算法

经典的BP 算法在处理非线性对象时收敛速度慢、易陷入局部极值。采用扩展卡尔曼滤波算法作为学习算法,并将数值鲁棒性较好的奇异值分解方法应用于卡尔曼滤波的递推公式中,提高了滤波精度和数值稳定性。

设有一N 层前向网络,每层上的神经单元个数为N k (k =1,2,…,N ),其中输入层是第1层,输出层是第N 层。第k 层神经元的连接权值为W k ij (i =1,2,…,N k -1,j =1,2,…,N k ),将网络的所有权值、

阀值作为滤波状态,即W =[W 111…W 1L 1L 2W 211…W 2L 2L 3…W N 11…W N L N -1L N ]。

系统状态方程和观测方程分别为: W (k +1)=W (k )+Δ(k )(9)

 Y e (k )=h (W (k ),X (k ))+V (k )=Y r (k )+V (k )

(10)其中Δ(k )为状态更新量,Y e (k )为期望输出,X (k )为输入向量,Y r (k )为实际输出,V (k )为随机白噪声。

非线性函数h ()定义为输入、输出、权值和阀值之间的非线性映射关系。根据扩展卡尔曼滤波的思想[6],对Y e

(k )泰勒展开并略去二阶以上项,由kalman 滤波基本递推公式得到神经网络权值学习的Kalman 滤波学习算法

为:

 W ^(k +1)=W ^(k )+K (k +1)[Y e (k +1)-h (W ^(k ),X (k ))]

(11) K (k +1)=P (k +1)H T (k +1)[H (k +1)P (k +1)H T (k +1)+R (k +1)]-1(12) P (k +1)=[I -K (k +1)H T (k +1)]P (k )(13)

式中,梯度矩阵H (k )=

9h (W (k ),X (k ))

9W (k )

|W (k )=W ^(k|k )

(14)基于奇异值分解的kalman 滤波算法实现的基本思想[7]是将滤波误差的协方差阵P 进行奇异值分解,从而

把协方差阵的迭代计算变换成奇异值分解阵的迭代计算。由于协方差阵P 是实对称矩阵,因此将其进行如下奇异值分解:

 P (k |k )=U (k |k )D 2(k |k )U T (k |k )

(15)其中U 为n 维正交矩阵,D 为n 维对角矩阵,得到系统在奇异值分解后的kalman 滤波方程为: W ^(k +1)=W ^(k )+K (k +1)[Y e (k +1)-h (W ^(k ),X (k ))]

(16) K (k +1)=U (k +1|k +1)D 2(k +1|k +1)U T (k +1|k +1)H T (k +1)R -1k +1

(17)

以3层单输出网络为例,h (W (k ),X (k ))的计算公式为: h (W (k ),X (k ))=∑

n

i =1

W 2

i

1+exp [∑m j =1

W ij u i +b 1i ]

+b 2

(18)

式中,W 为网络权值;b 为阀值;m 为输入个数;n 为隐层神经元个数。采用sigmoid 函数y =11+e -x

作隐层神

经元的传递函数,则9y

9x =y (1-y )。观测方程中的传递矩阵H 的计算公式为:H ij =9y i 9x j ,o j

为隐层神经元的输出。

对输入层与隐层间权值求导数

 H 1=o j (1-o j )w 1ij X i 其中(i =1,2,…,12)(j =1,2,…,13)(19)

对输入层与隐层间阀值求导数

6

83成 都 信 息 工 程 学 院 学 报 第23卷

 H 2=o j (1-o j )w 1ij

其中(i =1,2,...,12)(j =1,2,...,13)(20)对隐层与输出层之间权值求导数 H 3=o j 其中(j =1,2, (13)

(21)

输出层采用线性传递函数,因此对输出层阀值求导为0。

4 实验与仿真

实验中采用的语音数据来源于录音棚录制的语音片段,10个实验者(4男,6女)用普通话对报刊进行随意朗读,每人录制10句作为待识别语音,每句语音的长度大约20s 。录音采用8kHz 采样率及16bit 的量化精度。录音数据按帧长取为256个采样点(32ms ),帧移为80个采样点(10ms )进行分帧,提取出12阶的线性预测倒谱系数(L PCC )和12阶的小波包系数,分别组成语音特征矢量序列,用于识别率的分析比较。4.1 人工神经网络的学习算法比较

训练网络时,将每个说话人的语音特征参数(L PCC 和WPC )输入到一个子网模型中。令输入输出参数分别

为X 1,X 2,…,X 12和Y 。第一层和第二层的网络权值为w 1ij (i =1,2,…,12,j =1,2,…,13)和w 2

m n (m =1,2,…,13,n =1),共有169个权值,选择卡尔曼滤波学习算法和BP 学习算法分别训练直到网络收敛,并保存好对应的一组网络权值。进行识别时,从待识别语音中提取出特征系数,输入到所有训练后保存好的子组合神经网络模型中,得到一个由输出值组成的数组。在该数组中寻找与目标输出之间误差最小的值,即为所对应的说话人。

为了比较神经网络学习算法BP 算法和kalman 滤波学习算法的性能,为每个实验者建立了一个子网识别模型,在训练阶段对各个模型分别进行训练。训练过程中抽取每个实验者的10句语音的前10秒做为训练语音(后10秒作为识别语音),语音分帧后每个子帧提取出12阶WPC 系数,长度为10s 语音可得到大小为450×12的特征矩阵用作神经网络的输入。实验中,神经网络输入层的神经元个数是12个,隐层神经元个数为13个,输出层的神经元个数为1个。BP 算法中的网络参数在初始化设置时,学习速率取0.78,动态参量为0.1。使用BP 算法和Kalman 滤波算法分别对网络进行训练,所得的网络收敛曲线如图1所示。从图中可以看出:kalman 滤波算法比BP 算法的收敛速度更快,需要的周期数更少,而且使系统更稳定。

识别阶段,将识别语音段提取出的语音特征参数矩阵(450×12)输入到训练后保存好参数设置的人工神经网络中,根据一定的判别门限(文中取0.5)进行说话人身份的识别。由BP 算法和Kalman 滤波算法训练所得的模型在不同信噪比条件下,对说话人身份识别的的结果如表1所示。从表中可以看出:kalman 滤波算法有很好的抗噪性能,具有更好的泛化能力。

 

表1 不同学习算法的确认率

学习算法

不同信噪比

3db

6db 9db 12db BP 学习算法76.2%78.7%81.4%84.6%EKF 学习算法

82.1%

84.3%

85.8%

86.7%

 

图1 神经网络的学习曲线

4.2 语音特征参数比较

为了比较L PCC 参数和WPC 参数的性能,在神经网络采用卡尔曼滤波学习算法,训练语音长度都为10s ,不

783第4期 张余生等:基于神经网络和卡尔曼滤波算法的说话人识别

同信噪比条件下进行了对比实验。从表2中得知:不相同信噪比条件下,WPC参数比L PCC参数具有更高的识别率,说明其具有更好的鲁棒性;随着信噪比的改善,识别准确率也越高。同时采用不同长度的语音进行训练,在信噪比一定(20db)的条件下,实验得到不同的识别率。从表3中看出:不相同语音长度的条件下,WPC参数的识别率高于L PCC参数;语音长度越长,两者的识别率都越高。

 

表2 不同信噪比条件的确认率

参数

不同的信噪比

10dB15dB20dB25dB

L PCC83.1%87.4%89.7%93.6%

WPC86.4%89.5%92.7%95.3%

 

表3 不同长度训练语音的确认率

参数

不同的语音长度

10s8s6s4s

L PCC89.7%85.1%82.4%80.6%

WPC92.7%90.4%87.7%85.8%

5 结论

L PCC参数、WPC参数运用于说话人识别系统都取得了较好的识别效果。识别性能随训练语音的增长和信噪比条件的改善而不断提高。实验证明基于小波包分析提出的语音特征参数WPC具有良好的抗噪性能,有很强的鲁棒性。与此同时,将基于奇异值分解的扩展kalman滤波算法用于神经网络的学习,取代了收敛速度缓慢、易陷入局部最值的BP学习算法,提高了网络收敛速度和系统稳定性。

参考文献:

[1] 赵力.语音信号处理[M].北京:机械工业出版社,2000:236-258.

[2] 胡畅华.基于MA TLAB的系统分析与设计———小波分析[M].西安:西安电子科技大学出版社,1999:20-

23.

[3] Karam J R,Phillips W J,Roberson W,Artimy M M.New Wavelet Packet Modeal for Automatic Speech

Recognition System[J].Canadian Conference on Electrical and Computer Engineering,2001,1(13-16):511-514.

[4] K inney A,Stevens J.Wavelet Packet Cepstral Analysis for Speaker Recognition[J].Conference Record of the

Thirty2Sixth Asilomar Conference on Signals,Systems and Computers,2002,1(3):206-209.

[5] 周开利,康耀红.神经网络模型及其MA TLAB仿真程序设计[M].北京:清华大学出版社,2004.

[6] Vaideh V,Chitra N,Chokkalingam M,et al.Neural network aided Kalman filtering for multitarget tracking ap2

plications[J].Computers and Electrical Engineering,2001,27(2):217-228.

[7] 李明干,孙健利.基于卡尔曼滤波的神经网络学习算法及其在短期负荷预测中的应用[J].华中科技大学学

报,2004,65(39):25-40.

Speaker recognition based on artif icial neuron net work and K alman f ilter algorithm

ZHAN G Yu2sheng, XIA Xiu2yu, YAN G Sha

(College of Electronic Information,SCU,Chengdu610064,China)

Abstract:The L PCC coefficients and the wavelet packet coefficients are distilled from the speech.They are combined with the multi2BP network so that Kalman filter learning algorithms make the text2independent recognition.The ex2 periment results show that the wavelet packet coefficients have good performance and the Kalman filter learning algo2 rithms improves the capability of the neural network.

K ey w ords:L PCC;wavelet coefficient;artificial neuron network;Kalman filter algorithm

883成 都 信 息 工 程 学 院 学 报 第23卷

语音信号的提取与识别技术——说话人识别系统的研究

毕业设计说明书 语音信号的提取与识别技术 ——说话人识别系统的研究 作者:学号: 学院(系): 专业: 指导教师: 评阅人: 20**年6月

中北大学 毕业设计(论文)任务书 学院、系: 专业: 学生姓名:学号: 设计(论文)题目:语音信号的提取与识别技术 起迄日期: 20**年2月15日~20**年6月21日 设计(论文)地点: 指导教师: 系主任: 发任务书日期:20**年2月15日

毕业设计(论文)任务书 1.毕业设计(论文)课题的任务和要求: 1.了解声音信号的特征参数,及现阶段研究处理方法。以现阶段信号处理领域比较活 跃的语音信号为具体研究对象,进行相关知识的了解与学习。 2.学会在语音信号处理中使用MATLAB软件工具。 3.针对基本的个别个体的特定声音进行与信识别研究。 4.根据研究情况利用MATLAB语言进行相关算法的实现。 2.毕业设计(论文)课题的具体工作内容(包括原始数据、技术要求、工作要求等): 1.查阅相关资料,利用已学的相关知识进行消化和理解。 2.了解现阶段的语音处理情况,分析研究相关的产品。 3.研究学习基本的识别处理方法。 4.学习相关信号处理软件。。 5.对软件的学习达到能对基本的算法进行软件的处理。 6.完成毕业设计论文。

毕业设计(论文)任务书 3.对毕业设计(论文)课题成果的要求〔包括毕业设计(论文)、图纸、实物样品等): 1、毕业论文一份; 2、英文文献1份,相应的中文译文1份。 4.毕业设计(论文)课题工作进度计划: 起迄日期工作内容 2006年 2月15日~ 3月31日4月 1日~ 5月31日6月 1日~ 6月20日6月20日~ 6月21日系统学习,查阅资料,作开题报告;英文资料翻译; 撰写毕业论文; 论文答辩。 学生所在系审查意见: 系主任: 年月日

卡尔曼滤波算法总结

Kalman_Filter(float Gyro,float Accel) { Angle+=(Gyro - Q_bias) * dt; Pdot[0]=Q_angle - PP[0][1] - PP[1][0]; Pdot[1]= - PP[1][1]; Pdot[2]= - PP[1][1]; Pdot[3]=Q_gyro; PP[0][0] += Pdot[0] * dt; PP[0][1] += Pdot[1] * dt; PP[1][0] += Pdot[2] * dt; PP[1][1] += Pdot[3] * dt; Angle_err = Accel - Angle; PCt_0 = C_0 * PP[0][0]; PCt_1 = C_0 * PP[1][0]; E = R_angle + C_0 * PCt_0; K_0 = PCt_0 / E; K_1 = PCt_1 / E; t_0 = PCt_0; t_1 = C_0 * PP[0][1]; PP[0][0] -= K_0 * t_0; PP[0][1] -= K_0 * t_1; PP[1][0] -= K_1 * t_0; PP[1][1] -= K_1 * t_1; Angle += K_0 * Angle_err; Q_bias += K_1 * Angle_err; Gyro_x = Gyro - Q_bias; } 首先是卡尔曼滤波的5个方程: -=--+(1)先验估计 X k k AX k k Bu k (|1)(1|1)() -=--+(2)协方差矩阵的预测(|1)(1|1)' P k k AP k k A Q

说话人识别算法研究

说话人识别算法研究 傅庚申 殷福亮 (大连理工大学 电信学院 信号与信息处理专业 116023) 摘要: 说话人识别是根据从说话人所发出的语音中提取出信息判断说话人身份的过程。HMM能有效的用概率统计的方法描述时变语音信号。本文用HMM实现了一个说话人识别的系统。并在详细分析系统各部分关键算法的基础上,比较了MFCC和LPCC两种特征参数的性能。 关键词:说话人识别;Mel频标倒谱参数;矢量量化;隐含马尔可夫模型 分类号:TN912.34 Study on Speaker Identification Algorithm Fu Gengshen, Yin Fuliang School of Electronic and Information Engineering, Dalian University of Technology, Dalian, P.R.China, 116023 Abstract: Speaker identification can be made according to the information distilled from the voice of the speaker. Using probability method, HMM can effectively describe the real-time audio signal. This paper realizes a HMM-based speaker identification system. Based on the analysis of the key algorithms of the system in detail, the performances of MFCC and LPCC are compared. Key words: Speaker identification, Mel Frequency Cepstrum Coefficient (MFCC), Vector Quantization, Hidden Markov Model (HMM) 1 引言 说话人识别可以看作是语音识别的一种。它和语音识别一样,都是通过对所收到的语音信号进行处理,然后据此做出判断,不同之处在于说话人识别希望从语音中提取不同说话人的特征,加以利用;而语音识别则力图减少同一语音对于不同说话人的差别。说话人识别是通过对说话人语音信号的分析和特征提取,确定说话人是谁。随着技术的不断发展,说话人识别的应用领域正在不断扩大,主要方面有:说话人核对、声控电子密码锁、司法取证、医学应用等。 说话人识别的方法和技术在近十几年来得到了迅速的发展。说话人模型从单模板模型到多模板模型,从模板模型到VQ模型、高斯混合模型、隐含马尔科夫模型,到人工神经网络模型,识别环境从无噪声环境下少数说话人的识别到复杂噪声环境下大量说话人的识别,所采用的识别技术从仅涉及动态规划到涉及统计信号处理、最优估计理论、矢量量化与编码、模糊系统理论与方法、灰色系统分析、人工神经网络等多学科和领域的发展。 本文用HMM实现了一个说话人识别的系统。并在此基础上比较了MFCC和LPCC 两种特征参数的性能。

说话人识别研究综述_王书诏

图1说话人识别系统框图 识别 训练 输入语音 预处理 特性 提取 相似性准则 判决 模型存储 模型产生 文章编号:1002-8684(2007)01-0051-05 说话人识别研究综述 王书诏,邱天爽 (大连理工大学电子与信息工程学院,辽宁大连116023) 【摘 要】说话人识别是语音信号处理中的重要组成部分,是当前的研究热点之一。详细介绍了说话人识别的基本 原理,从特征提取、模型训练和分类等几个方面就近年的主要研究情况进行综述和评价,并在此基础上探讨了研究难点和发展前景。 【关键词】说话人识别;特征提取;模型训练;分类【中图分类号】TN912 【文献标识码】A SurveyonSpeakerRecognitionWANGShu-zhao,QIUTian-shuang (DepartmentofElectronicEngineering,DalianUniversityofTechnology,DalianLiaoning116023,China)【Abstract】Speakerrecognitionisanimportantpartofthespeechsignalprocessing.Itisoneofthecurrentresearch hotspots.Theprinciplesofthespeakerrecognitionareintroducedindetail.Thelatestdevelopmentintheareasofthefeatureextraction,modeltrainingandclassificationisreviewedandthetrendandrubsarealsodiscussed. 【Keywords】speakerrecognition;featureextraction;modeltraining;classification ?综述? 1 引言 说话人识别作为生物认证技术的一种,是根据语 音波形中反映说话人生理和行为特征的语音参数自动鉴别说话人身份的一项技术[1]。因此,需要从各个说话人的发音中找出说话人之间的个性差异,这涉及到说话人发音器官、发音通道和发音习惯之间等不同级别上的个性差异。说话人识别是交叉运用心理学、生理学、语音信号处理、模式识别、统计学习理论和人工智能的综合性研究课题。 说话人识别根据实现的任务不同,可分为说话人辨认(speakeridentification)和说话人确认(speaker verification)两种类型[2];说话人识别根据系统对待识别语音内容的不同,又可分为与文本有关(text-dependent)和与文本无关(text-independent)两种方式[3] 。 2说话人识别的基本理论与前期处理 2.1 语音产生模型[4] 语音信号可以看成是激励信号UG(n)经过一个线性系统H(z)而产生的输出[4] 。其中,声道模型H(z)为 离散时域的声道传输函数,通常可用全极点函数来近似。不同的说话人其声道形状是不同的,因此具有不同的声道模型。H(z)表示为 H(z)=1A(z) = 11-p i=1!aiz -i (1) 其中p为全极点滤波器的阶数;ai(i=1,2,…,p)为滤波器的系数。p值越大,则模型的传输函数和实际声道传输函数的吻合程度就越高,当然p值也不能取得太大,一般情况下,p的取值范围为8~12[4]。 2.2说话人识别基本原理 图1为说话人识别系统框图。和语音识别系统一 样,建立和应用这一系统可分为两个阶段:训练阶段和识别阶段。在训练阶段,系统的每个使用者说出若干训练语句,系统据此建立每个使用者的模板或模型参量参考集;而在识别阶段,待识别说话人语音中导出的参量要与训练中的参考参量或模板加以比较,并且根据一定的相似性准则形成判断。 2.3预处理[5] 通常,输入的语音信号都要进行预处理,预处理过 程的好坏在一定程度上也影响系统的识别效果。一般 Voicetechnolog Y 语音技术

基于说话人声音识别的技术研究语音识别技术

基于说话人声音识别的技术研究语音识别技术基于声音的说话人身份识别技术研究 通信1203班 成员:艾洲、刘安邦、汪中日 余文正、王玉贵、宁文静 xx-12-28 项目背景 伴随着全球化、网络化、信息化、数字化时代的到来,我们对高可靠性的身份验证技术与身份识别技术的需求也日益增长。 在生物学和信息科学高度发展的今天,根据人体自身的生 理特征(指纹、虹膜…)和行为特征(声音…)来识别身份的生物技术认证作为一种便捷、先进的信息安全技术已经在现实生活中得到广泛的应用,它是集光学、传感技术、红外扫描和计算机技术于一身的

第三代身份验证技术,能满足现代社会对于身份鉴别的准确性、安全性与实用性的更高要求。 而语音是人的自然属性之一,由于说话人发声器官的生理 差异以及后天形成的行为差异,每个人的语音都带有强烈的个人色彩,这使得通过分析语音信号来识别说话人成为可能。 设计总体框架 1.语音库的建立 2.声音样本采集 2.1 特征参数提取 2.2 识别模型建立 3.语音识别测试 梅尔倒谱系数(MFCC)简述

在话者识别方面,最常用到的语音特征就是梅尔倒谱系数(MFCC)。因为,根据人耳听觉机理的研究发现,人耳对不同频率的声波有不同的听觉敏感度,得出从200Hz到5000Hz的语音信号对语音的清晰度影响最大。 所以,人们从低频到高频这一段频带内按临界带宽的大小由密到疏安排一组带通滤波器,对输入信号进行滤波。将每个带通滤波器输出的信号能量作为信号的基本特征,对此特征经过进一步处理后就可以作为语音的输入特征。由于这种特征不依赖于信号的性质,对输入信号不做任何的假设和限制,又利用了听觉模型的研究成果。因此,这种参数比基于声道模型的“线性预测系数LPC”相比更好,更符合人耳的听觉特性,而且当信噪比降低时仍然具有较好的识别性能。 MFCC倒谱特征提取流图 1. 预加重 预加重处理其实是将语音信号通过一个高通滤波器:式中μ的值介于0.9-1.0之间,我们通常取0.97。预加重的目的是提升高频部分,使信号的频谱变得平坦,保持在低频到高频的整个频带中,能用

几种卡尔曼滤波算法理论

自适应卡尔曼滤波 卡尔曼滤波发散的原因 如果卡尔曼滤波是稳定的,随着滤波的推进,卡尔曼滤波估计的精度应该越来越高,滤波误差方差阵也应趋于稳定值或有界值。但在实际应用中,随着量测值数目的增加,由于估计误差的均值和估计误差协方差可能越来越大,使滤波逐渐失去准确估计的作用,这种现象称为卡尔曼滤波发散。 引起滤波器发散的主要原因有两点: (1)描述系统动力学特性的数学模型和噪声估计模型不准确,不能直接真实地反映物理过程,使得模型与获得的量测值不匹配而导致滤波发散。这种由于模型建立过于粗糙或失真所引起的发散称为滤波发散。 (2)由于卡尔曼滤波是递推过程,随着滤波步数的增加,舍入误差将逐渐积累。如果计算机字长不够长,这种积累误差很有可能使估计误差方差阵失去非负定性甚至失去对称性,使滤波增益矩阵逐渐失去合适的加权作用而导致发散。这种由于计算舍入误差所引起的发散称为计算发散。 针对上述卡尔曼滤波发散的原因,目前已经出现了几种有效抑制滤波发散的方法,常用的有衰减记忆滤波、限定记忆滤波、扩充状态滤波、有限下界滤波、平方根滤波、和自适应滤波等。这些方法本质上都是以牺牲滤波器的最优性为代价来抑制滤波发散,也就是说,多数都是次优滤波方法。 自适应滤波 在很多实际系统中,系统过程噪声方差矩阵Q和量测误差方差阵R事先是不知道的,有时甚至连状态转移矩阵 或量测矩阵H也不能确切建立。如果所建立的模型与实际模型不符可能回引起滤波发散。自适应滤波就是这样一种具有抑制滤波发散作用的滤波方法。在滤波过程中,自适应滤波一方面利用量测值修正预测值,同时也对未知的或不确切的系统模型参数和噪声统计参数进行估计修正。自适应滤波的方法很多,包括贝叶斯法、极大似然法、相关法与协方差匹配法,其中最基本也是最重要的是相关法,而相关法可分为输出相关法和新息相关法。

卡尔曼滤波算法(C--C++两种实现代码)

卡尔曼滤波算法实现代码 C++实现代码如下: ============================kalman.h================= =============== // kalman.h: interface for the kalman class. // ////////////////////////////////////////////////////////////////////// #if !defined(AFX_KALMAN_H__ED3D740F_01D2_4616_8B74_8BF57636F2C0__IN CLUDED_) #define AFX_KALMAN_H__ED3D740F_01D2_4616_8B74_8BF57636F2C0__INCLU DED_ #if _MSC_VER > 1000 #pragma once #endif// _MSC_VER > 1000 #include #include "cv.h" class kalman { public: void init_kalman(int x,int xv,int y,int yv); CvKalman* cvkalman; CvMat* state; CvMat* process_noise; CvMat* measurement; const CvMat* prediction; CvPoint2D32f get_predict(float x, float y);

kalman(int x=0,int xv=0,int y=0,int yv=0); //virtual ~kalman(); }; #endif// !defined(AFX_KALMAN_H__ED3D740F_01D2_4616_8B74_8BF57636F2C 0__INCLUDED_) ============================kalman.cpp=============== ================= #include "kalman.h" #include /* tester de printer toutes les valeurs des vecteurs*/ /* tester de changer les matrices du noises */ /* replace state by cvkalman->state_post ??? */ CvRandState rng; const double T = 0.1; kalman::kalman(int x,int xv,int y,int yv) { cvkalman = cvCreateKalman( 4, 4, 0 ); state = cvCreateMat( 4, 1, CV_32FC1 ); process_noise = cvCreateMat( 4, 1, CV_32FC1 ); measurement = cvCreateMat( 4, 1, CV_32FC1 ); int code = -1;

卡尔曼滤波算法总结

卡尔曼滤波算法总结-标准化文件发布号:(9556-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

2015.12.12 void Kalman_Filter(float Gyro,float Accel) { Angle+=(Gyro - Q_bias) * dt; Pdot[0]=Q_angle - PP[0][1] - PP[1][0]; Pdot[1]= - PP[1][1]; Pdot[2]= - PP[1][1]; Pdot[3]=Q_gyro; PP[0][0] += Pdot[0] * dt; PP[0][1] += Pdot[1] * dt; PP[1][0] += Pdot[2] * dt; PP[1][1] += Pdot[3] * dt; Angle_err = Accel - Angle; PCt_0 = C_0 * PP[0][0]; PCt_1 = C_0 * PP[1][0]; E = R_angle + C_0 * PCt_0; K_0 = PCt_0 / E; K_1 = PCt_1 / E; t_0 = PCt_0; t_1 = C_0 * PP[0][1]; PP[0][0] -= K_0 * t_0; PP[0][1] -= K_0 * t_1; PP[1][0] -= K_1 * t_0; PP[1][1] -= K_1 * t_1; Angle += K_0 * Angle_err; Q_bias += K_1 * Angle_err; Gyro_x = Gyro - Q_bias; }

首先是卡尔曼滤波的5个方程: (|1)(1|1)() X k k AX k k Bu k -=--+(1)先验估计 (|1)(1|1)'P k k AP k k A Q -=--+(2)协方差矩阵的预测 ()(|1)'/(|1)')Kg k P k k H HP k k H R =--+(3)计算卡尔曼增益 (|)(|1)()(()(|1))X k k X k k Kg k Z k HX k k =-+--(4)进行修正 5个式子比较抽象,现在直接用实例来说: 一、卡尔曼滤波第一个式子 对于角度来说,我们认为此时的角度可以近似认为是上一时刻的角度值加上上一时刻陀螺仪测得的角加速度值乘以时间,因为d dt θω=?,角度微分等于时间的微分乘以角速度。但是陀螺仪有个静态漂移(而且还是变化的),静态漂移就是静止了没有角速度然后陀螺仪也会输出一个值,这个值肯定是没有意义的,计算时要把它减去。 由此我们得到了当前角度的预测值Angle Angle=Angle+(Gyro - Q_bias) * dt; 其中等号左边Angle 为此时的角度,等号右边Angle 为上一时刻的角度,Gyro 为陀螺仪测的角速度的值,dt 是两次滤波之间的时间间隔,我们的运行周期是4ms 或者6ms 。 同时 Q_bias 也是一个变化的量。 但是就预测来说认为现在的漂移跟上一时刻是相同的,即 Q_bias=Q_bias 将上面两个式子写成矩阵的形式 1_0 1_0 Angle dt Angle dt Q bias Q bia o s Gyr -= + 得到上式,这个式子对应于卡尔曼滤波的第一个式子 (|1)(1|1)() X k k AX k k Bu k -=--+ (|)(|1) P k k I Kg k H P k k =--(())(5)更新协方差阵

卡尔曼滤波简介及其算法实现代码

卡尔曼滤波简介及其算法实现代码 卡尔曼滤波算法实现代码(C,C++分别实现) 卡尔曼滤波器简介 近来发现有些问题很多人都很感兴趣。所以在这里希望能尽自己能力跟大家讨论一些力所能及的算法。现在先讨论一下卡尔曼滤波器,如果时间和能力允许,我还希望能够写写其他的算法,例如遗传算法,傅立叶变换,数字滤波,神经网络,图像处理等等。 因为这里不能写复杂的数学公式,所以也只能形象的描述。希望如果哪位是这方面的专家,欢迎讨论更正。 卡尔曼滤波器– Kalman Filter 1.什么是卡尔曼滤波器 (What is the Kalman Filter?) 在学习卡尔曼滤波器之前,首先看看为什么叫“卡尔曼”。跟其他著名的理论(例如傅立叶变换,泰勒级数等等)一样,卡尔曼也是一个人的名字,而跟他们不同的是,他是个现代人! 卡尔曼全名Rudolf Emil Kalman,匈牙利数学家,1930年出生于匈牙利首都布达佩斯。1953,1954年于麻省理工学院分别获得电机工程学士及硕士学位。1957年于哥伦比亚大学获得博士学位。我们现在要学习的卡尔曼滤波器,正是源于他的博士论文和1960年发表的论文《A New Approach to Linear Filtering and Prediction Problems》(线性滤波与预测问题的新方法)。如果对这编论文有兴趣,可以到这里的地址下载: https://www.doczj.com/doc/299867797.html,/~welch/media/pdf/Kalman1960.pdf。 简单来说,卡尔曼滤波器是一个“optimal recursive data processing algorithm(最优化自回归数据处理算法)”。对于解决很大部分的问题,他是最优,效率最高甚至是最有用的。他的广泛应用已经超过30年,包括机器人导航,控制,传感器数据融合甚至在军事方面的雷达系统以及导弹追踪等等。近年来更被应用于计算机图像处理,例如头脸识别,图像分割,图像边缘检测等等。 2.卡尔曼滤波器的介绍 (Introduction to the Kalman Filter) 为了可以更加容易的理解卡尔曼滤波器,这里会应用形象的描述方法来讲解,而不是像大多数参考书那样罗列一大堆的数学公式和数学符号。但是,他的5条公式是其核心内容。结合现代的计算机,其实卡尔曼的程序相当的简单,只要你理解了他的那5条公式。 在介绍他的5条公式之前,先让我们来根据下面的例子一步一步的探索。 假设我们要研究的对象是一个房间的温度。根据你的经验判断,这个房间的温度是恒定的,也就

语音信号的提取与识别技术(说话人识别系统)的研究

语音信号的提取与识别技术 摘要 语音识别(Speech Recognition)是让机器通过识别和理解过程把语音信号转变为相应的文本或命令的技术.说话人识别是语音识别的一种特殊方式.本论文中,将主要介绍说话人识别系统.说话人识别是指通过说话人的语音来自动识别说话人的身份,它在许多领域内有良好的应用前景。本文通过分析语音特征参数的特点和说话人识别的基本方法,提出了以美尔倒谱差分和线性预测差分为特征,通过动态时间归整算法来识别的文本相关说话人辨认系统。 关键词: 语音识别, 说话人识别, 线性预测倒谱,美尔倒谱系数,动态时间归整

The pick-up of speech signal and speech recognition Abstract Speech Recognition is a kind of technology that is using computer to transfer the voice signal to an associated text or command by identification and understand. Speaker recognition is a kind of special way of V oice-identifications. The paper is going to introduce speaker recognition. Speaker recognition is the process of automatically recognizing who is speaking on the basis of individual information include in speech signals. It has well application prospects in many fields. By analyzing speech characteristic parameters and the basis methods of speaker recognition, we choose MFCC and LPCC's difference to be the speech characteristic parameters. Using DTW to recognize text-dependent speech, we have developed a speaker identification system in this paper. Key words:V oice-Identification, Speaker-identification LPCC,MFCC, Dynamic Time Warping

Kalman滤波算法

Kalman 滤波算法 姓名:刘金强 专业:控制理论与控制工程 学号:2007255 ◆实验目的: (1)、掌握klman 滤波实现的原理和方法 (2)、掌握状态向量预测公式的实现过程 (3)、了解Riccati 差分方程实现的过程和新息的基本性质和过程的计算 ◆实验要求: 问题: F=[a1,a2,a3],其中a1=[1.0 0 0]的转置,a2=[0.3 1.0 0]的转置,a3=[0.1 0.2 0.4]的转置,x(0)=[3,-1,2]的转置;C=[b1,b2,b3],其中b1=[0.3 0.5]的转置,b2=[1,0.4]的转置,b3=[0.8 -0.7]的转置;V1(n)=[0 0 n1(n)sin(0.1n)]的转置,V2(n)=[n2(n) n3(n)];n1(n)为均值为零,方差为1的均匀分布白噪声;n2(n),n3(n)为均值为0,方差为0.1的均匀分布白噪声,n1(n),n2(n),n3(n)相互独立,试用卡尔曼滤波器算法估计x^(n). ◆实验原理: 初始条件: 1?(1)x =E{x(1)} K(1,0)=E{[x(1)- (1)x ][x(1)- (1)H x ]},其中(1)x =E{x(1)} 输入观测向量过程: 观测向量序列={y(1),…………y(n)} 已知参数: 状态转移矩阵F(n+1,n) 观测矩阵C(n) 过程噪声向量的相关矩阵1()Q n 观测噪声向量的相关矩阵2()Q n 计算:n=1,2,3,………………. G(n)=F(n+1,n)K(n,n+1) ()H C n 12[()(,1)()()]H C n K n n C n Q n --+ Kalman 滤波器是一种线性的离散时间有限维系统。Kalman 滤波器的估计性能是:它使滤波后的状态估计误差的相关矩阵P(n)的迹最小化。这意味着,kalman 滤波器是状态向量x(n)的线性最小方差估计。 ◆实验结果: ◆程序代码: (1)主程序

(完整word版)深度学习-卷积神经网络算法简介

深度学习 卷积神经网络算法简介 李宗贤 北京信息科技大学智能科学与技术系 卷积神经网络是近年来广泛应用在模式识别、图像处理领域的一种高效识别算法,具有简单结构、训练参数少和适应性强的特点。它的权值共享网络结构使之更类似与生物神经网络,降低了网络的复杂度,减少了权值的数量。以二维图像直接作为网络的输入,避免了传统是被算法中复杂的特征提取和数据重建过程。卷积神经网络是为识别二维形状特殊设计的一个多层感知器,这种网络结构对于平移、比例缩放、倾斜和其他形式的变形有着高度的不变形。 ?卷积神经网络的结构 卷积神经网络是一种多层的感知器,每层由二维平面组成,而每个平面由多个独立的神经元组成,网络中包含一些简单元和复杂元,分别记为C元和S元。C元聚合在一起构成卷积层,S元聚合在一起构成下采样层。输入图像通过和滤波器和可加偏置进行卷积,在C层产生N个特征图(N值可人为设定),然后特征映射图经过求和、加权值和偏置,再通过一个激活函数(通常选用Sigmoid函数)得到S层的特征映射图。根据人为设定C层和S层的数量,以上工作依次循环进行。最终,对最尾部的下采样和输出层进行全连接,得到最后的输出。

卷积的过程:用一个可训练的滤波器fx去卷积一个输入的图像(在C1层是输入图像,之后的卷积层输入则是前一层的卷积特征图),通过一个激活函数(一般使用的是Sigmoid函数),然后加一个偏置bx,得到卷积层Cx。具体运算如下式,式中Mj是输入特征图的值: X j l=f?(∑X i l?1?k ij l+b j l i∈Mj) 子采样的过程包括:每邻域的m个像素(m是人为设定)求和变为一个像素,然后通过标量Wx+1加权,再增加偏置bx+1,然后通过激活函数Sigmoid产生特征映射图。从一个平面到下一个平面的映射可以看作是作卷积运算,S层可看作是模糊滤波器,起到了二次特征提取的作用。隐层与隐层之间的空间分辨率递减,而每层所含的平面数递增,这样可用于检测更多的特征信息。对于子采样层来说,有N 个输入特征图,就有N个输出特征图,只是每个特征图的的尺寸得到了相应的改变,具体运算如下式,式中down()表示下采样函数。 X j l=f?(βj l down (X j l?1) +b j l)X j l) ?卷积神经网络的训练过程 卷积神经网络在本质上是一种输入到输出的映射,它能够学习大量的输入和输出之间的映射关系,而不需要任何输入和输出之间的精确数学表达式。用已知的模式对卷积网络加以训练,网络就具有了输

人工神经网络BP算法简介及应用概要

科技信息 2011年第 3期 SCIENCE &TECHNOLOGY INFORMATION 人工神经网络是模仿生理神经网络的结构和功能而设计的一种信息处理系统。大量的人工神经元以一定的规则连接成神经网络 , 神经元之间的连接及各连接权值的分布用来表示特定的信息。神经网络分布式存储信息 , 具有很高的容错性。每个神经元都可以独立的运算和处理接收到的信息并输出结果 , 网络具有并行运算能力 , 实时性非常强。神经网络对信息的处理具有自组织、自学习的特点 , 便于联想、综合和推广。神经网络以其优越的性能应用在人工智能、计算机科学、模式识别、控制工程、信号处理、联想记忆等极其广泛的领域。 1986年 D.Rumelhart 和 J.McCelland [1]等发展了多层网络的 BP 算法 , 使BP 网络成为目前应用最广的神经网络。 1BP 网络原理及学习方法 BP(BackPropagation 网络是一种按照误差反向传播算法训练的多层前馈神经网络。基于 BP 算法的二层网络结构如图 1所示 , 包括输入层、一个隐层和输出层 , 三者都是由神经元组成的。输入层各神经元负责接收并传递外部信息 ; 中间层负责信息处理和变换 ; 输出层向 外界输出信息处理结果。神经网络工作时 , 信息从输入层经隐层流向输出层 (信息正向传播 , 若现行输出与期望相同 , 则训练结束 ; 否则 , 误差反向进入网络 (误差反向传播。将输出与期望的误差信号按照原连接通路反向计算 , 修改各层权值和阈值 , 逐次向输入层传播。信息正向传播与误差反向传播反复交替 , 网络得到了记忆训练 , 当网络的全局误差小于给定的误差值后学习终止 , 即可得到收敛的网络和相应稳定的权值。网络学习过程实际就是建立输入模式到输出模式的一个映射 , 也就是建立一个输入与输出关系的数学模型 :

浅谈说话人识别技术及应用分析

浅谈说话人识别技术及应用分析 引言:随着科学技术的快速发展,生物特征识别技术得到了越来越多的研究和应用, 说话人识别是语音识别的一种。它主要分为说话人辨认和说话人确认两个方面:前者是判断待识别语音是多个参考说话人中哪一个人所说,用于辨认说话者的身份,是一个多元判决问题;后者是说话人先声明身份(如输入用户号) ,然后由系统判定待识别语音是否与其参考声音相符,用于对特定人进行身份验证,是一个二元判决问题。说话人识别技术的发展始于60 年代,随着信息社会化发展,说话人识别作为具有语音识别与理解功能的智能人机接口,是新一代计算机的重要组成部分,其应用领域不断扩大:在司法领域中,可以帮助对嫌疑人的查证;在保安领域中,可以用于机密场所的进入控制、合法使用通信线路、机要设备的身份核查及电子银行转帐业务的安全检查等;在医学领域,如使识别系统仅响应患者的命令,则可实现对假肢的控制;在玩具、家用电器等领域也有广泛的应用前景。针对以上领域中的许多商用系统已经投入使用。 关键字:生物特征识别、系统判定、控制、应用前景 一、说话人识别技术基础 随着全球信息化的快速发展,电子商务等信息技术得到了广泛的应用,人们发现,传统的使用密码来认证用户的方法变的越来越脆弱。在这种背景下,解决用户高安全性和长效稳定性的生物认证技术逐渐得到人们的青睐。在众多的生物认证技术中,说话人识别技术以其信号采集简单、系统设备成本低等优点得到了快速发展,展现了广阔的应用前景。 说话人识别技术包括说话人辨认技术和说话人确认技术,他们在本质上是一致的,唯一不同的是说话人辨认技术是从多个说话人语音中辨认出某个人的那一段语音信息,而说话人确认技术是确定某段语音信息是不是某人所说。两者是一对多和一对一的关系。每个人的发音因为受到声道和发音特点等影响,总是存在一些代表自己特征的元素,说话人识别技术就是通过采集、提取这些表征说话人固有特征的参数来达到识别的目的。语音识别技术的应用有着非常多的优点,同时目前的研究也存在一些还没有突破的难点,但我相信,不久的将来,说话人识别技术一定会在我国的信息安全方面起到无以替换的重要作用。 1 特征提取 特征提取就是提取语音信号中表征说话人的基本特征,此特征应能有效地区分不同的说话人,且对同一说话人的变化保持相对稳定。提取的说话人的特征参数应满足相应的条件:对局外变量不敏感,如说话人的情绪的影响;能够长期地保持稳定;可以经常表现出来;易于对之进行测量,与其它特征不相关。 语音信号是一种携带着各种信息的非平稳的时变信号。在说话人识别系统中,首先我们需要对语音信号进行分析,提取特征参数。然后对语音信号进行预处理。语音信号经过预处理过后,会产生很大的数据量。在提取说话人特征时,就需要通过去除原来语音中的冗余信息来减小数据量。说话人识别技术中的测试音和训练语音都只有在经过特征提取后才能与说话人模型进行比较、匹配和模型训练。因此,特征提取是说话人识别技术中的关键步骤,其

介绍遗传算法神经网络

课程设计作业——翻译 课题:介绍遗传算法神经网络 穆姣姣 0808490233 物流08-班

介绍遗传算法神经网络 理查德·坎普 1. 介绍 一旦一个神经网络模型被创造出来,它常常是可取的。利用这个模型的时候,识别套输入变量导致一个期望输出值。大量的变量和非线性性质的许多材料模型可以使找到一个最优组输入变量变得困难。 在这里,我们可以用遗传算法并试图解决这个问题。 遗传算法是什么?遗传算法是基于搜索algo-rithms力学的自然选择和遗传观察到生物的世界。他们使用两个方向(\适者生存”),在这种条件下,探索一个强劲的功能。重要的是,采用遗传算法,这不是必需要知道功能的形式,就其输出给定的输入(图1)。 健壮性我们这么说是什么意思呢?健壮性是效率和效能之间的平衡所使用的技术在许多不同的环境中。帮助解释这个问题,我们可以比其他搜索和优化技术,如calculus-based,列举,与随机的求索。 方法Calculus-based假设一个光滑,无约束函数和要么找到点在衍生为零(知易行难)或者接受一个方向梯度与当地日当地一所高中点(爬山)。研究了这些技术已经被重点研究、扩展、修改,但展现自己缺乏的鲁棒性是很简单的。 考虑如图2所示的功能。利用Calculus-based在这里发现极值是很容易的(假定派生的函数可以发现…!)。然而,一个更复杂的功能(图3)显示该方法是当地——如果搜索算法,在该地区的一个开始,它就会错过低高峰目标,最高的山峰。 图1 使用网络神经算法没必要知道它的每一项具体功能。 一旦一个局部极大时,进一步改进需要一个随机的重启或类似的东西。同时,假设一个函数光滑,可导,并明确知道很少尊重现实。许多真实世界充满了间断模型和设置在嘈杂的多通道搜索空间(图4)。 虽然calculus-based方法在某些环境中至非常有效的,但内在的假

卡尔曼(kalman)滤波算法特点及其应用

Kalman滤波算法的特点: (1)由于Kalman滤波算法将被估计的信号看作在白噪声作用下一个随机线性系统的输出,并且其输入/输出关系是由状态方程和输出方程在时间域内给出的,因此这种滤波方法不仅适用于平稳随机过程的滤波,而且特别适用于非平稳或平稳马尔可夫序列或高斯-马尔可夫序列的滤波,所以其应用范围是十分广泛的。 (2)Kalman滤波算法是一种时间域滤波方法,采用状态空间描述系统。系统的过程噪声和量测噪声并不是需要滤除的对象,它们的统计特征正是估计过程中需要利用的信息,而被估计量和观测量在不同时刻的一、二阶矩却是不必要知道的。 (3)由于Kalman滤波的基本方程是时间域内的递推形式,其计算过程是一个不断地“预测-修正”的过程,在求解时不要求存储大量数据,并且一旦观测到了新的数据,随即可以算的新的滤波值,因此这种滤波方法非常适合于实时处理、计算机实现。 (4)由于滤波器的增益矩阵与观测无关,因此它可预先离线算出,从而可以减少实时在线计算量。在求滤波器增益矩阵时,要求一个矩阵的逆,它的阶数只取决于观测方程的维数,而该维数通常很小,这样,求逆运算是比较方便的。另外,在求解滤波器增益的过程中,随时可以算出滤波器的精度指标P,其对角线上的元素就是滤波误差向量各分量的方差。 Kalman滤波的应用领域 一般地,只要跟时间序列和高斯白噪声有关或者能建立类似的模型的系统,都可以利用Kalman滤波来处理噪声问题,都可以用其来预测、滤波。Kalman滤波主要应用领域有以下几个方面。 (1)导航制导、目标定位和跟踪领域。 (2)通信与信号处理、数字图像处理、语音信号处理。 (3)天气预报、地震预报。 (4)地质勘探、矿物开采。 (5)故障诊断、检测。 (6)证券股票市场预测。 具体事例: (1)Kalman滤波在温度测量中的应用; (2)Kalman滤波在自由落体运动目标跟踪中的应用; (3)Kalman滤波在船舶GPS导航定位系统中的应用; (4)Kalman滤波在石油地震勘探中的应用; (5)Kalman滤波在视频图像目标跟踪中的应用;

说话人识别技术研究

说话人识别技术研究 马 建 郭建东 (电子科技大学计算机学院四川成都610054) 【摘 要】 说话人识别,是指通过说话人的语音来自动识别说话人的身份,它主要包括特征提取和模式匹配两个部分。随着计算机技术和人工智能的发展,通过说话人识别实现特定场合的实体鉴别已经具有非常重要的研究和应用价值。 【关键词】 说话人识别;说话人辨认;说话人确认 人类语言的产生是人体语言中枢与发音器官之间一个复 杂的生理物理过程,人在讲话时使用的发声器官———舌、牙齿、 喉头、肺、鼻腔在尺寸和形态方面每个人的差异很大,所以任何 两个人的声纹图谱都有差异。每个人的语音声学特征既有相 对稳定性,又有变异性,不是绝对的、一成不变的。这种变异可 能来自生理、病理、心理、模拟、伪装,也可能与环境干扰有关。 尽管如此,由于每个人的发音器官都不尽相同,因此在一般情 况下,说话人的鉴定仍能区别不同的人或法定是同一人的声 音,从而可以进行个人身份识别。 说话人识别(Speaker Recognition),根据应用环境不同可 分为两类,即说话人辨认(Speaker Identification)和说话人确认 (Speaker Verification)。说话人辨认是通过一段语音确认身份 的过程,在说话人辨认中,我们需要将待识声音和已知人群中 的每一个人的特征逐一进行比较,从中辨别出说话人,系统的决策选择数目为说话者的数目。因此,说话人辨认系统的性能是随着说话人集合的规模增大而降低。说话人确认是证实某一说话人是否是他所声称的身份的过程。在说话人确认中,只需将待识声音与注册说话人自己的模型比较,以确定是否是注册者本人的声音,系统只需给出正确或错误两种选择。因此,说话人确认系统的性能是与说话人集合的规模无关。两类系统的不同之处如表1所示。 表1 说话人识别的两类系统比较[1] 说话人辨认说话人确认 说话人未必合作说话人主动合作 存在发音伪装问题存在发音模仿问题 必须与N个已知模式进行比较只需与一个已知模式进行比较系统响应可以缓慢系统响应必须快速 词汇表可以各个不相同词汇表限于标准试验短语 通道特性可能不良或不同通道特性往往可以调整 信噪比可能太低信噪比通常可调 与语音识别不同的是,说话人识别利用的是语音信号中的说话人信息,而不考虑语音中的字词意思,它强调说话人的个性;而语音识别的目的是识别出语音信号中的言语内容,并不考虑说话人是谁,它强调共性。 说话人识别可能被用三种方式进行:文本相关的( Text-Dependent)、文本提示的(Text-Prompted)和文本无关的(Text -Independent)三种。与文本有关的说话人识别系统要求用户按照规定的内容发音,每个人的声音模型逐个被精确地建立,而识别时也必须按规定的内容发音,因此可以达到较好的识别效果,但系统需要用户配合,如果用户的发音与规定的内容不符合,则无法正确识别该用户。而与文本无关的识别系统则不规定说话人的发音内容,模型建立相对困难,但用户使用方便,可应用范围较宽。无论是与文本有关还是无关,系统都面临一个共同的问题,即无法区分一个声音是现场声音还是录音。但文本提示的说话人识别系统可以有效地避免这种情况发生。具体实现时,可采用随机或其他方法来生成提示文本,如随机的数字串或句子,以使假冒者无法事先录音。 在说话人辨认方面,根据待识别的说话人是否在注册的说话人集合内,说话人辨认可以分为开集(open-set)辨认和闭集(clo se-set)辨认。闭集的说话人辨认是指系统具有这样的先验知识;测试的说话人肯定是训练集中出现过的说话人。而开集的说话人辨认则指所测试的说话人还有可能是训练集中没有出现过的人。开集的说话人辨认和说话人确认通常都通过一个阈值来判断测试的说话人是不是在训练集中。 说话人识别系统主要包括两个部分:特征提取和模式匹配(如图1所示)。特征提取的任务是选取惟一表现说话人身份的有效且稳定可靠的特征;模式匹配的任务是对训练和识别时的特征模式进行相似性的匹配。 图1 说话人识别系统的典型结构 特征提取 说话人的模型不是由语音信号得到的,而是通过从语音信号中提取特征而得到的,是说话人语音特征的模型。测试音只有在经过特征提取后才与说话人的模型进行比较和匹配,训练语音也只有进行语音特征提取后才能得到其特征的模型,因此特征提取是说话人识别系统中的重要组成部分。 与计算机处理相对应,可以将人类的声音特征划分为以下三个层次:声道声学层次,在分析短时信号的基础上,抽取对通道、时间等因素不敏感的特征;韵律特征层次,抽取独立于声学、声道等因素的超音段特征,如方言、韵律、语速等;语言结构层次,通过对语音信号的识别,获取更加全面和结构化的语义信息。说话人识别系统主要针对较低层次的声道声学特征进行建模,主要有基音(Pitch)周期、共振峰(Format)、基于线性预测(Linear Predictive)的倒谱(Cep strum)、基于付氏变换的FFT 倒谱、基于语音信号的滤波器组分析的Mel倒谱和语音谱的过渡信息(Transitional In formation)等。 总之,较好的特征提取,应该能够有效地区分不同的说话人,但又能在同一说话人语音发生变化时保持相对的稳定;不易被他人模仿或能够较好地解决被他人模仿问题;具有较好的抗噪性能等等。 模式匹配 测试音的特征与说话人模型进行匹配,计算匹配距离。说话人确认时,只与所声称的说话人的模型进行匹配和匹配距离计算;说话人辨认时,与所有人的模型进行匹配和匹配距离计算。 目前针对各种特征而提出的模式匹配方法的研究越来越深入,大致可归为三类:基于非参数模型的方法、基于参数模型 8福 建 电 脑 2005年第1期

相关主题
文本预览
相关文档 最新文档