《基于虚拟仪器技术的说话人VQSVM并行识别系统.pdf》由会员分享,可在线阅读,更多相关《基于虚拟仪器技术的说话人VQSVM并行识别系统.pdf(10页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 102543075 A (43)申请公布日 2012.07.04 CN 102543075 A *CN102543075A* (21)申请号 201210008213.X (22)申请日 2012.01.12 G10L 15/02(2006.01) G10L 15/06(2006.01) G10L 15/22(2006.01) G10L 15/28(2006.01) (71)申请人 东北石油大学 地址 163319 黑龙江省大庆市高新技术开发 区发展路 199 号 (72)发明人 刘祥楼 吴香艳 张明 姜继玉 刘昭廷 (74)专利代理机构 哈尔滨东方专利事务所 231。
2、18 代理人 曹爱华 (54) 发明名称 基于虚拟仪器技术的说话人 VQ-SVM 并行识 别系统 (57) 摘要 本发明涉及的是基于虚拟仪器技术的说话 人 VQ-SVM 并行识别系统, 这种基于虚拟仪器技术 的说话人 VQ-SVM 并行识别系统包括语音预处理 单元、 特征提取单元、 说话人模型单元、 识别单元、 LabVIEW 虚拟仪器平台, 在虚拟仪器平台上通过 LabVIEW子VI来实现将一个大程序分割成各小模 块, 将程序中涉及到的调用 MATLAB 节点的程序部 分都编写成各子VI, 通过调用这些子VI来实现系 统的构建。 本发明克服现有的VQ-SVM两种方法混 合进行说话人识别时需要。
3、串行识别浪费时间的, 提出将VQ和SVM两种方法集中在同一个平台上实 现并行识别处理, 从而在提高整个系统的识别效 果的前提下节省识别时间。 (51)Int.Cl. 权利要求书 1 页 说明书 5 页 附图 3 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 1 页 说明书 5 页 附图 3 页 1/1 页 2 1. 一种基于虚拟仪器技术的说话人 VQ-SVM 并行识别系统, 其特征在于 : 这种基于虚拟 仪器技术的说话人 VQ-SVM 并行识别系统包括语音预处理单元、 特征提取单元、 说话人模型 单元、 识别单元、 LabVIEW 虚拟仪器平台, 在虚拟仪器平台上。
4、通过 LabVIEW 子 VI 来实现将一 个大程序分割成各小模块, 将程序中涉及到的调用 MATLAB 节点的程序部分都编写成各子 VI, 通过调用这些子 VI 来实现系统的构建 ; 采用VQ算法, 建立VQ模型, 初始码本采用分裂法, 选取特征向量的形心作为初始码书, 在 LabVIEW 中通过调用 MATLAB 节点来实现说话人模型的建立及存储, 算法公式如下 : 总失真 : 计算新码字 : 式中 : 集合中矢量的个数, 中所有矢量的质心 ; 相对失真改进量 : 采用 SVM 算法, 建立 SVM 模型 , 选用径向基核函数建立说话人的模型, 其算法公式如 下 : , ; 识别单元中在结。
5、果判定部分通过说话人识别前面板上输出识别结果, 当 VQ、 SVM 两种 识别方法的结果不一致时, 只要有一种方法能识别就把该方法的识别结果作为正确结果输 出 ; 当两种方法的结果相同时, 在说话人识别前面板上输出识别结果, 正确识别用绿灯指 示, 不识别用红灯指示。 2. 根据权利要求 1 所述的基于虚拟仪器技术的说话人 VQ-SVM 并行识别系统, 其特征 在于 : 所述的特征提取单元采用美尔频率倒谱系数 MFCC 及其一阶差分作为识别的特征参 数, 通过在 MATLAB7.0 环境下编程实现特征参数的提取, 具体参数设置为 : 帧长 512, 帧移 256, 滤波器的个数为 12, 采样。
6、频率 44100Hz, 并去除了首尾各两帧, 因为这两帧的一阶差分 为零, 这样就得到了 24 维的语音特征向量。 权 利 要 求 书 CN 102543075 A 2 1/5 页 3 基于虚拟仪器技术的说话人 VQ-SVM 并行识别系统 0001 一、 技术领域 : 本发明涉及的是信号处理和模式识别领域, 具体涉及的是基于虚拟仪器技术的说话人 VQ-SVM 并行识别系统。 0002 二、 背景技术 : 说话人识别是通过分析说话人的语音特征达到识别出说话人身份的目的。 说话人识别 方法主要包括矢量量化方法、 概率统计方法、 判别分类器方法等。 按说话人识别系统构成原 理, 说话人识别主要包括训。
7、练和识别两个阶段如图 1 所示。首先获取原始语音信号, 再经过 预处理得到干净的语音信号, 然后提取语音特征参数之后再通过特定的方法实现说话人训 练与识别。其说话人模型通常采用数据库存储大量按特定算法处理后的语音特征样本, 而 待识别语音经过预处理和特征提取后与数据库中的样本集进行匹配计算后实现判别。 0003 任何单一方法既有优势也有局限, 目前研究的较多的是将两种或两种以上方法结 合在一起的混合识别方法。VQ 技术是一种数据压缩和编码技术 ; SVM 是基于统计理论的机 器学习方法。 这两种方法具有互补性, 矢量量化 (VQ) 方法的优点是大样本分类特性较发好, 模型数量少, 训练时间短,。
8、 识别响应较快, 缺点是不能解决非线性问题, 抗噪性能差 ; 支持向 量机 (SVM) 方法的优点是小样本分类较好, 在解决非线性及高维模式识别问题中表现出特 有的优势, 缺点是训练算法复杂且训练速度慢, 难以处理大样本数据。虽然曾有 VQ-SVM 两 种方法混合进行说话人识别, 但各类运算通常都是在 MATLAB 平台上实现的。因此, 若用多 种不同方法也只能采用串行方式进行。同样, 现有的 VQ-SVM 两种方法混合进行说话人识别 也同样是先用一种方法进行初次识别再用另一种方法进行二次识别的所谓串行识别。 不难 发现这种串行识别方法的最大弱点是即占用机器资源又浪费识别时间。 0004 三、。
9、 发明内容 : 本发明的目的是提供基于虚拟仪器技术的说话人 VQ-SVM 并行识别系统, 它用于解决 现有的 VQ-SVM 两种方法混合进行说话人识别即占用机器资源又浪费识别时间的问题。 0005 本发明解决其技术问题所采用的技术方案是 : 这种基于虚拟仪器技术的说话人 VQ-SVM 并行识别系统包括语音预处理单元、 特征提取单元、 说话人模型单元、 识别单元、 LabVIEW 虚拟仪器平台, 在虚拟仪器平台上通过 LabVIEW 子 VI 来实现将一个大程序分割成 各小模块, 将程序中涉及到的调用 MATLAB 节点的程序部分都编写成各子 VI, 通过调用这些 子 VI 来实现系统的构建 ;。
10、 采用 VQ 算法, 建立 VQ 模型 , 初始码本采用分裂法, 选取特征向量的形心作为初始码 书, 在 LabVIEW 中通过调用 MATLAB 节点来实现说话人模型的建立及存储, 算法公式如下 : 总失真 : 说 明 书 CN 102543075 A 3 2/5 页 4 计算新码字 : 式中 : 集合中矢量的个数, 中所有矢量的质心 ; 相对失真改进量 : 采用 SVM 算法, 建立 SVM 模型 , 选用径向基核函数建立说话人的模型, 其算法公式如 下 : , ; 识别单元中在结果判定部分通过说话人识别前面板上输出识别结果, 当 VQ、 SVM 两种 识别方法的结果不一致时, 只要有一种。
11、方法能识别就把该方法的识别结果作为正确结果输 出 ; 当两种方法的结果相同时, 在说话人识别前面板上输出识别结果, 正确识别用绿灯指 示, 不识别用红灯指示。 0006 上述方案中特征提取单元采用美尔频率倒谱系数 MFCC 及其一阶差分作为识别的 特征参数, 通过在 MATLAB7.0 环境下编程实现特征参数的提取, 具体参数设置为 : 帧长 512, 帧移 256, 滤波器的个数为 12, 采样频率 44100Hz, 并去除了首尾各两帧, 因为这两帧的一阶 差分为零, 这样就得到了 24 维的语音特征向量。 有益效果 : 1、 本发明克服现有的 VQ-SVM 两种方法混合进行说话人识别时需要。
12、串行识别浪费时间 的, 提出将 VQ 和 SVM 两种方法集中在同一个平台上实现并行识别处理, 从而在提高整个系 统的识别效果的前提下节省识别时间。 0007 2、 本发明在虚拟仪器技术平台上将两种识别方法结合起来进行说话人并行识别。 在小样本的情况下, SVM方法优于VQ方法 ; 随着样本的增多, SVM的识别性能呈下降趋势, 而 VQ 方法的识别性能有上升趋势, 这样就充分利用了两种方法在样本数上所具有的互补性, 从而可以提高系统的整体性能。 0008 四、 附图说明 : 图 1 为说话人识别系统构成原理图 ; 图 2 为本发明的结构示意图 ; 图 3 为本发明中说话人识别前面板的示意图 。
13、; 图 4 为 LBG 算法流程图。 0009 1 说话人识别前面板 2 灯。 0010 五、 具体实施方式 : 下面结合附图对本发明做进一步的说明 : 结合图 2、 图 3 所示, 这种基于虚拟仪器技术的说话人 VQ-SVM 并行识别系统包括语音 预处理单元、 特征提取单元、 说话人模型单元、 识别单元、 LabVIEW 虚拟仪器平台, 在虚拟仪 器平台上通过LabVIEW子VI来实现将一个大程序分割成各小模块, 将程序中涉及到的调用 MATLAB 节点的程序部分都编写成各子 VI, 通过调用这些子 VI 来实现系统的构建。为了实 现 VQ 和 SVM 并行识别, 鉴于 LabVIEW 可以。
14、实现多任务、 多线程的特点, 基于虚拟仪器技术并 说 明 书 CN 102543075 A 4 3/5 页 5 融合说话人识别技术, 由 LabVIEW 管理和调用 MATLAB 来实现系统的处理。在本发明的结果 判定部分选定时, 当两种识别方法的结果不一致时, 只要有一种方法能识别就把该方法的 识别结果作为正确结果输出。当两种方法的结果相同时, 说话人前面板 1 输出识别结果, 正 确识别用绿灯 2 指示, 不识别用红灯 2 指示。系统的性能比较如表 4 所示。 0011 说话人识别系统中的关键问题是语音特征参数的提取及说话人模型的建立, 选用 美尔频率倒谱系数 (MFCC) 及其一阶差分作。
15、为识别的特征参数。MFCC 参数只反映了语音参 数的静态特性, 而人耳对语音的动态特征更为敏感, 反映语音动态变化的参数就是差分倒 谱。通过在 MATLAB7.0 环境下编程实现特征参数的提取, 具体参数设置为 : 帧长 512, 帧移 256, 滤波器的个数为 12, 采样频率 44100Hz, 并去除了首尾各两帧, 因为这两帧的一阶差分 为零, 这样就得到了 24 维的语音特征向量。 0012 本发明采用的算法之一是 VQ, 建立 VQ 模型 (码本) 的方法有多种, 最基本也最常用 的方法是 LBG 算法, 该算法通过训练矢量集和一定的迭代算法来实现最优码本的生成, 算 法流程如图 4 。
16、所示。初始码本采用分裂法, 选取特征向量的形心 (质心) 作为初始码书。通 过实验选取码本容量=16, 失真阈值=0.01, 最大迭代次数=log, 得到了较好的 识别效果。这些工作是在 MATLAB7.0 环境下通过编程实现的, 然后在 LabVIEW 中通过调用 MATLAB 节点来实现模型的建立及存储。其中涉及到核心算法的公式如下 : 总失真 : 计算新码字 : ( 其中 : 集合中矢量的个数, 中所有矢量的质心 ) 相对失真改进量 : 本发明采用的另一算法是 SVM, 其关键是核函数选取及其参数的优化。 0013 径向基核函数 : , 为了选定合适的核函数, 实践中随意选取了 10 个。
17、男生、 10 个女生作为样本, 用 RBF 和 Poly 两种核函数进行了对比实验, 具体参见表 1、 表 2。可以看出在相同的条件下, 选用 RBF 的实验效果更佳。鉴于前期实验基础且 RBF 核函数的参数比 Poly 核函数的参数少, 综合选 用径向基核函数建立说话人的模型。核函数参数是影响支持向量机分类器性能的一个重 要因素, 因而核函数参数优化至关重要, 目前常用的方法就是让 C 和 在一定的范围内取 值, 对于取定的参数把训练集作为原始数据集利用交叉验证方法得到验证分类准确率, 最 终取训练集验证分类准确率最高的那组参数作为最佳参数, 这种方法也就是网格搜索法的 思想。利用 libs。
18、vm 工具箱下的 python 下的子目录下面的 grid.py 程序就可以实现参数 C 和 的寻优, 20 人 5 帧数据的参数寻优截图如图 4 所示。 0014 说 明 书 CN 102543075 A 5 4/5 页 6 表 1 10 个女生实验结果 帧数 (C,)(Degree,Coeff)识别率 %(RBF)识别率 %(Poly)RBF 识别时间 (s)Poly 识别时间 (s) 1(0.25,0.25)(3,1)1001000.010.02 3(0.25,0.25)(3,1)96.6796.670.020.01 5(0.25,0.25)(3,1)10098.000.020.02 7。
19、(0.25,0.25)(3,1)10098.570.020.01 10(0.25,0.25)(3,1)97.0095.000.020.02 15(4.00,1.00)(3,1)96.0096.000.030.02 20(4.00,1.00)(3,1)96.0097.000.030.03 30(4.00,1.00)(3,1)93.0093.330.080.08 表 2 10 个男生实验结果 帧数 (C,)(Degree,Coeff)识别率 %(RBF)识别率 %(Poly)RBF 识别时间 (s)Poly 识别时间 (s) 1(1.32,0.76)(3,1)90.0090.000.010.01 。
20、3(1.00,1.00)(3,1)93.3393.330.020.02 5(4.00,1.00)(3,1)96.0094.000.020.01 7(4.00,1.00)(3,1)95.7190.000.010.02 说 明 书 CN 102543075 A 6 5/5 页 7 10(4.00,1.00)(3,1)92.0084.000.020.02 15(4.00,1.00)(3,1)86.6784.000.050.03 20(4.00,1.00)(3,1)87.0085.000.050.05 30(4.00,1.00)(3,1)84.6785.330.110.09 经过以上的分析与实验, 本。
21、发明先进行单一方法的说话人识别系统在虚拟仪器平台上 的构建, 并进行调试以达到较好的识别效果, 然后将这两种方法融合并行实现基于虚拟仪 器技术的说话人识别系统的组建。 在系统搭建的过程中, 充分利用了模块化的思想, 将一个 大程序分割成各小模块来实现, 既简化了程序又增加了程序的可读性。即在虚拟仪器平台 上通过 LabVIEW 子 VI 来实现, 将程序中涉及到的调用 MATLAB 节点的程序部分都编写成各 子 VI, 通过调用这些子 VI 来实现系统的构建。系统前面板如图 3 所示。 0015 实验验证及结果分析 说话人的语音是在普通实验室环境下, 通过电脑自带的录音机录音得到的。语料均为 。
22、采样频率 22050Hz, 16 位单声道的语音信号, 文件类型为 wav 格式。本文选取了 30 人作为 说话人, 每人录 20 段语音 (每段 2 4s) 作为样本库, 均与样本无关, 前 10 段用于建立说话 人模型, 后 10 段用于测试。经过对 20 人和 30 人随意抽取的 5 次和 10 次语音的测试, 得到 的实验结果如表 3 所示。从中分析, 随着样本量的增多 VQ 方法优于 SVM 方法, 也就说明了 SVM 方法在小样本上具有分类优势, 而 VQ 方法在大样本上具有分类优势, 可以推断随着样 本量的增多甚至成千上万个, VQ 方法将优于 SVM 方法。在本发明的结果判定部。
23、分选定当两 种识别方法的结果不一致时, 只要有一种方法能识别就把该方法的识别结果作为正确结果 输出。当两种方法的结果相同时, 说话人前面板 1 输出识别结果, 正确识别用绿灯 2 指示, 不识别用红灯 2 指示。系统的性能比较如表 4 所示。从中可以看出, 用两种方法并行实现 说话人识别使系统的性能得到了提高, 识别时间虽然有所增加, 但增加的很少。 0016 表 3 实验结果对比 表 4 系统性能比较 识别方法 识别率 (%) 误识率 (%) 识别时间 (s) VQ94.8810.090.06 SVM97.389.710.08 VQ-SVM98.545.280.15 结论 本发明在虚拟仪器技术平台上将两种识别方法结合起来进行说话人并行识别。在小 样本的情况下, SVM 方法优于 VQ 方法 ; 随着样本的增多, SVM 的识别性能呈下降趋势, 而 VQ 方法的识别性能有上升趋势, 这样就充分利用了两种方法在样本数上所具有的互补性, 从 而可以提高系统的整体性能。 说 明 书 CN 102543075 A 7 1/3 页 8 图 1 图 2 说 明 书 附 图 CN 102543075 A 8 2/3 页 9 图 3 说 明 书 附 图 CN 102543075 A 9 3/3 页 10 图 4 说 明 书 附 图 CN 102543075 A 10 。