音频信号处理——DTW

音频信号处理——DTW

标签(空格分隔): 音频处理


DTW全名Dynamic Time Warping由日本科学家 Itakura 提出,用于衡量两个长度不同时间序列的相似度。应用也十分广泛,主要是在模板匹配中,比如说用在孤立词语音识别(识别两段语音是否表示同一个单词),手势识别,数据挖掘和信息检索等中,但是现在更多的被隐马尔可夫模型取代

一、简介

音频型号处理主要有三个方式(其实大多数信号处理也是):时域处理、频域处理和混合。

DTW 就是一种处理时间序列的方法。对于时间序列处理来说,一个普遍的任务就是比较两个序列的相似性。然而,需要比较的两段时间的时间长度可能不一样。例如,同样一句话,有人说话会很快,有人说话会很慢,即使同一个人不同时间内,语速也不可能完全一样。在这些复杂情况下,使用传统的欧几里得距离无法有效地求的两个时间序列之间的距离(或者相似性)。

例如图A所示,实线和虚线分别是同一个词“pen”的两个语音波形(在y轴上拉开了,以便观察)。可以看到他们整体上的波形形状很相似,但在时间轴上却是不对齐的。例如在第20个时间点的时候,实线波形的a点会对应于虚线波形的b’点,这样传统的通过比较距离来计算相似性很明显不靠谱。因为很明显,实线的a点对应虚线的b点才是正确的。而在图B中,DTW就可以通过找到这两个波形对齐的点,这样计算它们的距离才是正确的。

图和介绍引用自zouxy09博客,并稍作修改。

虽然他们整体上波形是相似的,并且波形沿时间轴不是对齐的。在实际应用中,如果我们要对他们进行比较需要将他们的序列在时间轴下扭曲(warping),以达到更好的对齐。我们今天要说的 DTW 就是一种 warping 方法。DTW通过把时间序列进行延伸和缩短,来计算两个时间序列性之间的相似性。warping一个序列后可以与另一个序列重合recover。这个时候两个序列中所有对应点的距离之和是最小的。所以从直观上理解,warping的正确性一般指时序特性对齐。

二、DTW 原理

DTW 是一个典型的优化问题,它用满足一定条件的的时间规整函数W(n)描述测试模板和参考模板的时间对应关系,求解两模板匹配时累计距离最小所对应的规整函数。

设两个时间序列为 Q1 (参考模板)和 Q2 (测试模板),其长度为 m n 。例如语音序列 Q 共有 m 帧,第 i 帧的特征值(一个数或者一个向量)是 qi Q1 q1,q2,...,qi,...,qm Q2 q1,q2,...,qi,...,qn

如果m=n,那么就没有使用 wraping的必要性,直接计算两个序列的距离。如果 m!=n ,我们就需要缩放。那为什么不能直接的线性缩放呢?即把短的序列线性放大到和长序列一样的长度再比较,或者把长的线性缩短到和短序列一样的长度再比较。但是这样的计算没有考虑到语音中各段在不同情况下的持续时间会产生或长或短的变化,因此识别效果不可能最佳。因此更多的是采用动态规划(dynamic programming)的方法。

DTW 为了对齐 Q1 Q2 ,需要构造一个 mn 的矩阵网络,矩阵中元素为 (i,j) ,其表示 q1i q

  • 5
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值