变量定义
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(k−1)≤i(k) and j(k−1)≤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(k−1)≤1 and j(k)−j(k−1)≤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 r∣i(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(k−1))+(j(k)−j(k−1))
N=∑k=1Kw(k)=I+JN=\sum_{k=1}^K w(k)=I+JN=k=1∑Kw(k)=I+J
2.非对称形式
w(k)=(i(k)−i(k−1))w(k)=(i(k)-i(k-1))w(k)=(i(k)−i(k−1))
N=∑k=1Kw(k)=IN=\sum_{k=1}^K w(k)=IN=k=1∑Kw(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,j−1)+d(i,j), g(i−1,j−1)+2d(i,j), g(i−1,j)+d(i,j)]
其中窗口限制条件j−r≤i≤j+rj-r\le i\le j+rj−r≤i≤j+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