是否有任何文档解释我应该如何使用 DTW(动态时间扭曲)和 Kinect?我需要记录(如在此演示中)一个手势,然后使用记录的手势将命令应用于Simple Open-NI
. 我已经下载了 KinectSpace 代码(pde 文件),但是,我在理解它应该如何工作时遇到了问题。
来自维基百科:
int DTWDistance(char s[1..n], char t[1..m], int w) {
declare int DTW[0..n, 0..m]
declare int i, j, cost
w := max(w, abs(n-m)) // adapt window size (*)
for i := 0 to n
for j:= 0 to m
DTW[i, j] := infinity
DTW[0, 0] := 0
for i := 1 to n
for j := max(1, i-w) to min(m, i+w)
cost := d(s[i], t[j])
DTW[i, j] := cost + minimum(DTW[i-1, j ], // insertion
DTW[i, j-1], // deletion
DTW[i-1, j-1]) // match
return DTW[n, m]
}
是什么意思
return DTW[n, m]
?是否应该在 draw() 方法调用期间评估所有手势?可以在这里应用任何优化吗?