DTW(Dynamic Time Warping)算法

本文介绍了一种用于语音特征比对的算法,包括warping function定义及其限制条件、time-normalized distance计算方法、DP算法求解过程及两种权重系数计算方式。通过对称形式权重系数与DP算法结合,实现对不同语音特征序列的有效比对。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

变量定义

1.warping function
F=c(1),c(2)...c(k)...c(K)F=c(1),c(2)...c(k)...c(K)F=c(1),c(2)...c(k)...c(K)
其中c(k)=(i(k),j(k))c(k)=(i(k),j(k))c(k)=(i(k),j(k))
表示两个语音特征序列A和B之间的映射关系。
2.time-normalized distance
D(A,B)=MinF[∑k=1Kd(c(k))⋅w(k)∑k=1Kw(k)]D(A,B)=Min_F[\frac{\sum_{k=1}^K d(c(k))\cdot w(k)}{\sum_{k=1}^K w(k)}]D(A,B)=MinF[k=1Kw(k)k=1Kd(c(k))w(k)]
其中∑w(k)\sum w(k)w(k)用来归一化不同路径的K大小不一致的问题,d()d()d()表示两个特征向量之间的距离。

warping function的限制条件

这里写图片描述
1.单调性
i(k−1)≤i(k) and j(k−1)≤j(k)i(k-1)\le i(k)\ and\ j(k-1) \le j(k)i(k1)i(k) and j(k1)j(k)
2.连续性
i(k)−i(k−1)≤1 and j(k)−j(k−1)≤1i(k)-i(k-1) \le 1 \ and\ j(k)-j(k-1)\le 1i(k)i(k1)1 and j(k)j(k1)1
由以上两个条件限制了只能向三个方向移动,向上/向右/向右上,而且每次只能移动一步
3.边界条件
i(1)=1,j(1)=1 and i(K)=I,j(K)=Ji(1)=1, j(1)=1\ and\ i(K)=I,j(K)=Ji(1)=1,j(1)=1 and i(K)=I,j(K)=J
4.窗口限制
∣i(k)−j(k)∣≤r|i(k)-j(k)|\le ri(k)j(k)r
加窗为了将对齐路径限制在对角线附近。
5.斜率限制
P=n/mP=n/mP=n/m
避免在横轴i方向或纵轴j方向走的太偏,当在一个方向走了m步以后,需要在对角线方向走n步。

权重系数w

有两种典型的计算方式
1.对称形式
w(k)=(i(k)−i(k−1))+(j(k)−j(k−1))w(k)=(i(k)-i(k-1))+(j(k)-j(k-1))w(k)=(i(k)i(k1))+(j(k)j(k1))
N=∑k=1Kw(k)=I+JN=\sum_{k=1}^K w(k)=I+JN=k=1Kw(k)=I+J
2.非对称形式
w(k)=(i(k)−i(k−1))w(k)=(i(k)-i(k-1))w(k)=(i(k)i(k1))
N=∑k=1Kw(k)=IN=\sum_{k=1}^K w(k)=IN=k=1Kw(k)=I
在j方向也一样。
对称形式的效果更好。

DP求解

假设使用对称形式的权重系数,不使用斜率限制

  • 初始条件
    g(1,1)=2d(1,1)g(1,1)=2d(1,1)g(1,1)=2d(1,1)
  • DP
    g(i,j)=min[g(i,j−1)+d(i,j), g(i−1,j−1)+2d(i,j), g(i−1,j)+d(i,j)]g(i,j)=min[g(i,j-1)+d(i,j),\ g(i-1,j-1)+2d(i,j),\ g(i-1,j)+d(i,j)]g(i,j)=min[g(i,j1)+d(i,j) g(i1,j1)+2d(i,j) g(i1,j)+d(i,j)]
    其中窗口限制条件j−r≤i≤j+rj-r\le i\le j+rjrij+r
  • 距离
    D(A,B)=1I+Jg(I,J)D(A,B)=\frac{1}{I+J}g(I,J)D(A,B)=I+J1g(I,J)

算法流程图如下:
这里写图片描述

Reference

Dynamic Programming Algorithm Optimization for Spoken Word Recognition

后面的技术分享转移到微信公众号上面更新了,【欢迎扫码关注交流】

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值