语音信号处理之(一)动态时间规整(DTW) .pdfVIP

语音信号处理之(一)动态时间规整(DTW) .pdf

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

语⾳信号处理之(⼀)动态时间规整(DTW)

语⾳信号处理之(⼀)动态时间规整(DTW)

这学期有《语⾳信号处理》这门课,快考试了,所以也要了解了解相关的知识点。呵呵,平时没怎么听课,现在只能抱佛脚了。顺便也

总结总结,好让⾃⼰的知识架构清晰点,也和⼤家分享下。下⾯总结的是第⼀个知识点:DTW。因为花的时间不多,所以可能会有不少说

的不妥的地⽅,还望⼤家指正。谢谢。

DynamicTimeWarping(DTW)诞⽣有⼀定的历史了(⽇本学者Itakura提出),它出现的⽬的也⽐较单纯,是⼀种衡量两个长度不同

的时间序列的相似度的⽅法。应⽤也⽐较⼴,主要是在模板匹配中,⽐如说⽤在孤⽴词语⾳识别(识别两段语⾳是否表⽰同⼀个单词),⼿

势识别,数据挖掘和信息检索等中。

⼀、概述

在⼤部分的学科中,时间序列是数据的⼀种常见表⽰形式。对于时间序列处理来说,⼀个普遍的任务就是⽐较两个序列的相似性。

在时间序列中,需要⽐较相似性的两段时间序列的长度可能并不相等,在语⾳识别领域表现为不同⼈的语速不同。因为语⾳信号具有相

当⼤的随机性,即使同⼀个⼈在不同时刻发同⼀个⾳,也不可能具有完全的时间长度。⽽且同⼀个单词内的不同⾳素的发⾳速度也不同,⽐

如有的⼈会把“A这个⾳”拖得很长,或者把“发i”的很短。在这些复杂情况下,使⽤传统的欧⼏⾥得距离⽆法有效地求的两个时间序列之间的距

离(或者相似性)。

例如图A所⽰,实线和虚线分别是同⼀个词“pen的两个语⾳”波形(在y轴上拉开了,以便观察)。可以看到他们整体上的波形形状很相

似,但在时间轴上却是不对齐的。例如在第20个时间点的时候,实线波形的a点会对应于虚线波形的b’点,这样传统的通过⽐较距离来计算

相似性很明显不靠谱。因为很明显,实线的a点对应虚线的b点才是正确的。⽽在图B中,DTW就可以通过找到这两个波形对齐的点,这样计

算它们的距离才是正确的。

也就是说,⼤部分情况下,两个序列整体上具有⾮常相似的形状,但是这些形状在x轴上并不是对齐的。所以我们在⽐较他们的相似度之

前,需要将其中⼀个(或者两个)序列在时间轴下warping扭曲,以达到更好的对齐。⽽DTW就是实现这种warping扭曲的⼀种有效⽅法。

DTW通过把时间序列进⾏延伸和缩短,来计算两个时间序列性之间的相似性。

那如果才知道两个波形是对齐了呢?也就是说怎么样的warping才是正确的?直观上理解,当然是warping⼀个序列后可以与另⼀个序列

重合recover。这个时候两个序列中所有对应点的距离之和是最⼩的。所以从直观上理解,warping的正确性⼀般指“featuretofeature的对”

齐。

⼆、动态时间规整DTW

动态时间规整DTW是⼀个典型的优化问题,它⽤满⾜⼀定条件的的时间规整函数W(n)描述测试模板和参考模板的时间对应关系,求解

两模板匹配时累计距离最⼩所对应的规整函数。

假设我们有两个时间序列Q和C,他们的长度分别是n和m:(实际语⾳匹配运⽤中,⼀个序列为参考模板,⼀个序列为测试模板,序列

中的每个点的值为语⾳序列中每⼀帧的特征值。例如语⾳序列Q共有n帧,第i帧的特征值(⼀个数或者⼀个向量)是q。⾄于取什么特征,

i

在这⾥不影响DTW的讨论。我们需要的是匹配这两个语⾳序列的相似性,以达到识别我们的测试语⾳是哪个词)

Q=q,q,…,q,…,q;

12in

C=c,c,…,c,…,c;

12jm

如果n=m,那么就⽤不着折腾了,直接计算两个序列的距离就好了。但如果n不等于m我们就需要对齐。最简单的对齐⽅式就是线性缩放

了。把短的序列线性放⼤到和长序列⼀样的长度再⽐较,或者把长的线性缩短到和短序列⼀样的长度再⽐较。但是这样的计算没有考虑到语

⾳中各个段在不同情况下的持续时间会产⽣或长或短的变化,因此识别效果不可能最佳。因此更多的是采⽤动态规划(dynamic

programming)的⽅法。

为了对齐这两个序列,我们需要构造⼀个nxm的矩阵⽹格,矩阵元素(i,j)表⽰q和c两个点的距离d(q,c)(也就是序列Q的每⼀个点和C

文档评论(0)

158****8626 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档