一种基于巴氏距离的语音特征映射方法及系统与流程

文档序号:15836887发布日期:2018-11-07 07:58阅读:204来源:国知局
一种基于巴氏距离的语音特征映射方法及系统与流程
本发明属于语音识别/说话人识别
技术领域
,尤其涉及一种基于巴氏距离的语音特征映射方法及系统。
背景技术
目前,业内常用的现有技术是这样的:随着计算机技术对人机交互的推动发展,语音交互在现实的场景中应用越来越广泛。语音交互是人与机器之间以语音的方式进行交互,这种交互方式更加贴近于人类之间的交互,更符合人的交互习惯。语音交互能够使用户更为舒适的与机器进行交互,使交互以一个更加简单、快捷、高效的方式进行,也使得人机交互过程更加人性化,更加突出人在整个交互过程中的主导地位。语音交互可以解放人的双手,让双手在进行其他操作时依然能够与机器进行交互,这不仅大大为人提供了方便,也在沉浸感、安全性等不同方面为人提供了便利。语音识别是开始语音交互进程的入口也是语音交互技术的重要组成部分,语音识别的结果直接影响整个语音交互的性能。在语音交互中,首要的就是让机器能够“听懂”人类的语言,只有这样,语音交互才能继续进行。因此,语音识别是语音交互的基础和前提。语音识别的含义是指将人的说话内容通过一系列的处理手段转换为相应的文字,即语音转文字。通俗地讲,就是赋予机器人耳功能,让机器能够对人的听觉进行模拟。目前的语音识别在比较理想的环境中能够获取比较好的效果。然而一旦受到外界环境的干扰,则其识别率就会大大降低,语音交互受到严重影响。糟糕的是我们现实中所处的环境是复杂的环境,四周被各式各样的噪声围绕着,不管是自然的噪声(如风声,雨声,雷声,流水声等等)还是人为的噪声(如周围人说话的声音,机器的声音等等)都会对语音交互造成影响,从而严重影响用户体验。因此,有效地从带噪声的语音信号中消除噪声,建立一个抗噪性能较好的识别系统是一个亟待解决的问题。现有的技术一般从三个方面入手,分别是作用于语音信号阶段的语音增强技术,作用于特征阶段的特征映射技术和作用于模型阶段的模型补偿技术。而对于提高复杂环境语音识别准确性最常用的是特征映射技术,这是因为特征是表征语音信号最合适手段,合适的特征能够取得良好的效果。本发明所涉及的基于巴氏距离的特征映射方法就是一种特征映射技术。而特征映射技术的本质是对映射函数的参数进行估计,从而确定映射函数对特征进行映射。现有技术在进行参数估计时,多是通过利用特征的真实分布逼近参考特征的分布来进行。而本发明则通过添加先验信息,用gmm来描述复杂特征的分布,而这个gmm不是固定不变的,通过最小化它与参考特征gmm之间的巴氏距离来不断调整,从而将真实的复杂特征分布映射为理想状态下的特征分布,达到特征映射的目的。综上所述,现有技术存在的问题是:(1)现有技术,只是利用了特征的真实分布,对特征的真实分布不加任何假设或操作便开始进行映射,这种映射方法下很难保证特征在映射过程中的映射方向。(2)现有技术,在衡量复杂特征分布与参考特征分布时并未进行更多的考量。对于两个分布之间距离的衡定,巴氏距离是一个很好的选择,而这点现有技术并未加以利用。(3)现有技术在对复杂特征进行处理时并未增加先验信息。解决上述技术问题的难度和意义:特征映射的目的就是对复杂特征的真实分布进行规整,使其能够达到理想的状态,即映射后的特征分布能够符合干净特征的分布。这是特征映射的重点也是难点。如果在进行映射之前便能合理假设其理论分布,这也就是增加了先验信息。根据这个假设的理论分布来与干净特征分布进行比较,通过最小化二者距离来不断优化这个假设的理论分布,那么当其与干净特征分布的距离达到最小时则这个假设的理论分布便成为了真正的理想分布。而这个问题的解决对于特征映射而言具有重要作用。对于衡量两个分布之间距离的方法,使用巴氏距离是一个好的选择。巴氏距离是专门用来评定两个分布之间距离的统计量。使用巴氏距离来优化前面所提到的两个分布之间的距离可以简化运算方式。技术实现要素:针对现有技术存在的问题,本发明提供了一种基于巴氏距离的语音特征映射方法及系统。本发明的特征映射是从语音特征入手的一种解决方案。通过特征映射函数的作用,将复杂环境下的语音信号特征转换成可以近似视为干净环境下的语音信号特征。可大大降低噪声对语音信号的影响,提高现实应用中语音识别的准确率,增强语音识别系统的鲁棒性。本发明是这样实现的,一种基于巴氏距离的语音特征映射方法,包括:首先分别提取复杂环境下语音信号和干净语音信号的特征;接着利用复杂特征和特征映射公式初始化映射特征,并分别建立映射特征与干净特征的gmm模型;然后用em算法迭代估计两个gmm模型之间的最小巴氏距离,并得到最终的映射特征;最后将映射特征与已经训练完毕的干净环境下的语音信号模型进行模式匹配和识别。具体包括:步骤1:提取干净环境下语音特征;步骤2:提取复杂环境下语音的特征;步骤3:将复杂特征通过特征映射公式得到初始化映射特征,分别建立初始化映射特征的gmm模型和干净环境语音特征的gmm模型;步骤4:引入巴氏距离,通过最小化两个gmm之间的巴氏距离得到映射特征;步骤5:将映射特征与已经训练完毕的干净环境下的语音信号模型进行模式匹配和识别。进一步,步骤1的具体实现包含以下子步骤:步骤1.1:对干净环境下得到的语音信号进行预处理,包括预加重、分帧、加窗;步骤1.2:将步骤1.1中预处理后的信号提取mel倒谱系数特征mfcc。进一步,步骤2的具体实现包含以下子步骤:步骤2.1:对复杂环境下得到的语音信号进行预处理,包括预加重、分帧、加窗;步骤2.2:将步骤2.1预处理后的信号提取mel倒谱系数特征,记为x=[x1,x2,...,xt,...,xn],xt∈x。进一步,步骤3的具体实现包含以下子步骤:步骤3.1:特征映射公式为:其中xt表示输入特征的第t帧,yt表示输出特征的第t帧,a表示增益矩阵,b表示偏移矩阵,w即表示为映射函数的参数。这里的矩阵a是由2l+1个矩阵构成的矩阵序列,l为非负数,每个矩阵的维数与输入特征每帧的维数相同;输入特征是由2l+1帧特征组成的一组矢量。因此w是由2l+1个矩阵和一列矢量构成,而为2l+1帧和1组成的一列矢量;步骤3.2:令l=1,w中的a0为单位矩阵,a-1、a1为0矩阵,依次来构建初始化映射特征yt,初始化映射特征实质为复杂特征;步骤3.3:建立初始化特征和干净特征的gmm模型。进一步,步骤4的具体实现包含以下子步骤:步骤4.1:根据巴氏距离公式表示出两个gmm之间的巴氏距离,公式表示为:其中,和分别表示干净特征gmm和映射特征gmm的第i个高斯分量;步骤4.2:根据高斯公式对步骤4.1中的公式进行转换,构建损失函数fc:其中,为弗罗贝尼乌斯矩阵(frobeniusmatrix)的二阶标准范数,β和λ是来控制弗罗贝尼乌斯范数和两个gmm模型分布影响程度的可调参数,y为输入特征即每次新得到的映射特征,t为输入特征的帧数,yt即为输入特征的第t帧,另一个参数γt(i)的表达式为:这里,m为gmm中的高斯个数,ωi为第i个高斯的权重;步骤4.3:引入em算法对步骤4.2中的巴氏距离进行迭代求最小值,求得当此最小值存在时的参数w;步骤4.4:将参数w代入步骤3.1中的特征映射公式求得映射特征y。进一步,步骤5中,对干净特征进行训练,通常采用hmm-gmm模型,利用步骤4中得到的映射特征与其进行模型匹配,进行语音识别/说话人识别。本发明的另一目的在于提供一种实现所述基于巴氏距离的语音特征映射方法的计算机程序。本发明的另一目的在于提供一种实现所述基于巴氏距离的语音特征映射方法的信语音识别/说话人识别系统。本发明的另一目的在于提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行所述的基于巴氏距离的语音特征映射方法。综上所述,本发明的优点及积极效果为:本发明通过最小化复杂特征gmm与干净特征gmm之间的巴氏距离来对复杂特征进行映射,得到映射特征,并将映射特征与干净模型进行模式匹配与识别。用映射特征代替复杂特征,能够有效提高语音识别的正确率。本发明提出的映射方法通过对复杂环境下的语音特征进行映射,能提高语音识别系统的识别准确率,具有较强的鲁棒性;本发明提出的特征映射方法是基于复杂特征与干净特征分布之间的巴氏距离进行的,其中包含了一个先验信息,即假定复杂特征的分布符合gmm,这个先验信息使得复杂特征的分布逐步往干净特征分布靠近。合理的利用了特征分布特性,具有更好的效果;本发明为提高语音识别的准确性提出了一种广泛性的算法。本发明针对复杂环境下语音识别较低的情况,提出一种基于巴氏距离的特征映射方法,本发明通过实验与原始的未经过特征映射的数据以及两种现有的技术进行了对比,实验结果表明,本发明能够有效提升句子正确率和词正确率且具有较好的效果。表1:本发明实验结果与原始数据结果对比句子正确率词正确率原始数据50%81.08%参数估计特征映射方法62%85.14%kl散度特征映射方法66%85.81%巴氏距离特征映射方法68%87.16%附图说明图1是本发明实施例提供的基于巴氏距离的语音特征映射方法流程图。图2是本发明实施例提供的基于巴氏距离的语音特征映射方法原理图。图3是本发明实施例提供的实验实现流程图。图4是本发明实施例提供的对干净环境下得到的语音信号进行预处理后的信号提取mel倒谱系数特征mfcc流程图。具体实施方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。本发明实施例提供的基于巴氏距离的语音特征映射方法,首先分别提取复杂环境下语音信号和干净语音信号的特征;接着利用复杂特征和特征映射公式初始化映射特征,并分别建立映射特征与干净特征的gmm模型;然后用em算法迭代估计两个gmm模型之间的最小巴氏距离,并得到最终的映射特征;最后将映射特征与已经训练完毕的干净环境下的语音信号模型进行模式匹配和识别。本发明利用最小化复杂特征gmm与干净特征gmm之间的巴氏距离来对复杂特征进行映射,使得到的映射特征可以近似视为干净环境下的语音信号特征,从而使复杂环境下的语音特征纯净度得到大幅度提升,以达到提升语音识别准确度、增强语音识别系统鲁棒性的目的。请见图1-图2,本发明提供的一种基于巴氏距离的语音特征映射方法,包括以下步骤:步骤1:提取干净环境下语音的特征;具体实现包括以下子步骤:步骤1.1:对干净环境下得到的语音信号进行预处理,包括预加重、分帧、加窗;步骤1.2:将步骤1.1中预处理后的信号提取mel倒谱系数特征mfcc(图4所示)。步骤2:提取复杂环境下语音的特征;具体实现包括以下子步骤:步骤2.1:对复杂环境下得到的语音信号进行预处理,包括预加重、分帧、加窗;步骤2.2:将步骤2.1预处理后的信号提取mel倒谱系数特征,记为x=[x1,x2,...,xt,...,xn],xt∈x。步骤3:将复杂特征通过特征映射公式得到初始化映射特征,分别建立初始化映射特征的gmm模型和干净环境语音特征的gmm模型;具体实现包括以下子步骤:步骤3.1:确定特征映射公式为:其中xt表示输入特征的第t帧,yt表示输出特征的第t帧,a表示增益矩阵,b表示偏移矩阵,w即表示为映射函数的参数。这里的矩阵a是由2l+1个矩阵构成的矩阵序列,l为非负数,每个矩阵的维数与输入特征每帧的维数相同;输入特征是由2l+1帧特征组成的一组矢量。因此w是由2l+1个矩阵和一列矢量构成,而为2l+1帧和1组成的一列矢量;步骤3.2:令l=1,w中的a0为单位矩阵,a-1、a1为0矩阵,依次来构建初始化映射特征yt;步骤3.3:建立初始化特征和干净特征的gmm模型。步骤4:引入巴氏距离,通过最小化两个gmm之间的巴氏距离得到映射特征;具体实现包括以下子步骤:步骤4.1:根据巴氏距离公式表示出两个gmm之间的巴氏距离,公式表示为:其中,和分别表示干净特征gmm和映射特征gmm的第i个高斯分量;步骤4.2:根据高斯公式对步骤4.1中的公式进行转换,构建损失函数fc:其中,为弗罗贝尼乌斯矩阵(frobeniusmatrix)的二阶标准范数,β和λ是来控制弗罗贝尼乌斯范数和两个gmm模型分布影响程度的可调参数,y为输入特征即每次新得到的映射特征,t为输入特征的帧数,yt即为输入特征的第t帧,另一个参数γt(i)的表达式为:这里,m为gmm中的高斯个数,ωi为第i个高斯的权重;步骤4.3:根据公式:存在一个参数w使得损失函数fc(w)取得最小值,而该参数w就是需要求出的参数w,故求步骤4.2中fc(w)的最小值;步骤4.4:借助em算法引入辅助函数:该辅助函数中的w,分别表示新估计得到的参数w和当前的参数w;m,t分别代表gmm中的高斯数和输入特征y的帧数;和分别代表gmm模型a和b第i个分量的均值;和分别代表由gmm模型a和b第m个高斯中的方差派生出的对角协方差矩阵,表达式为:d代表参数w的维度即行数,w(d)代表参数w的第d行;而g和p参数表示如下:步骤4.5:求辅助函数q对于参数w的第d行的梯度函数:步骤4.6:使用l-bfgs算法结合步骤4.5中的梯度函数进行迭代来步骤4.4中辅助函数的最小值以及最小值存在时的参数w值;步骤4.7:将步骤4.6中得到的w值赋值给重新进行步骤4.4、4.5和4.6,对w进行迭代,直到新得到的w与上一次迭代中求得的w的差小于一个固定值或迭代次数达到一个定值;步骤4.8:将步骤4.7中得到的w值代入到步骤3.1中的特征映射公式求得映射特征y。步骤5:将映射特征与已经训练完毕的干净环境下的语音信号模型进行模式匹配和识别。下面结合具体实施例/实验/仿真学分析对本发明作进一步描述。本发明通过实验证明了其有效性。本发明在实验中,通过aurora2通用数据库数据来对实验提供了数据支撑。通过将matlab仿真软件、htk语音工具包和voicebox工具包来辅助实验的完成。实验的软硬件环境如下:硬件环境:intelcorei3-4150cpu3.5g双核8g内存delle1916hv软件环境:matlab2014avoiceboxhtk3.5aurora2实验首先通过htk语音工具包来对aurora2中的训练数据和测试数据进行mfcc特征提取,得到参考特征和测试特征;然后编写用matlab调用voicebox工具包对参考特征建立gmm模型;编写脚本建立测试特征gmm模型并通过最小化其与参考特征gmm模型之间的巴氏距离来得到映射后的测试特征mfcc;将映射后的特征用htk进行识别,得到识别率。在htk下得到的识别率截图以及实验实现流程图参见附图3。在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用全部或部分地以计算机程序产品的形式实现,所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输)。所述计算机可读取存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1