问题标签 [dtw]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1895 浏览

processing - 使用 Kinect 运动传感器检测手势的动态时间扭曲

是否有任何文档解释我应该如何使用 DTW(动态时间扭曲)和 Kinect?我需要记录(如在此演示中)一个手势,然后使用记录的手势将命令应用于Simple Open-NI. 我已经下载了 KinectSpace 代码(pde 文件),但是,我在理解它应该如何工作时遇到了问题。

来自维基百科

  1. 是什么意思return DTW[n, m]

  2. 是否应该在 draw() 方法调用期间评估所有手势?可以在这里应用任何优化吗?

0 投票
2 回答
2914 浏览

r - 如何在 R 中的多个时间序列上应用 dtw 算法?

问题

我有不同车辆速度的时间序列。我的最终目标是根据不同车辆的速度相似性对它们进行聚类。所以,我基本上需要生成一个距离矩阵,其中每个单元格包含一对车速时间序列之间的距离。我想使用动态时间规整 (dtw) 作为距离度量。因此,我想在每对速度时间序列上应用 dtw

数据

以下是一些样本数据,每辆车仅包含 8 个观察值且仅包含 3 辆汽车:

我试过的

我可以找到一对dtw::dtw()的距离,如下所示:

但我的问题是:有没有办法自动找到dtw()$distance每对之间的距离并生成距离矩阵?在此示例中,它表示这些对:

Cars_03 - Cars_03
Cars_03 - Cars_04
Cars_03 - Cars_05
Cars_04 - Cars_03
Cars_04 - Cars_04
Cars_04 - Cars_05
等等

我知道for loop这是一种方法。但由于dtw本身需要大量 RAM,for loop会进一步减慢进程。有什么选择吗?如果这是一个愚蠢的问题,我很抱歉,但我对使用dtw.

0 投票
1 回答
306 浏览

audio - 具有语音信号处理工具包 (SPTK) 输出的动态时间扭曲

我是一名 IT 学生,我得到了一项关于动态时间规整 (DTW) 的作业,使用语音信号处理工具包 (SPTK) 并比较 2 位说话者所说的一些单词并找出相似之处。我设法让 SPTK 正常工作,收集了 8 个人(4 名女性,4 名男性),他们为我每人录制了 8 个单词(每个人的单词相同)并将它们保存为扩展名为 .wav 的文件。

我的 .wav 文件是:RIFF(小端)数据、WAVE 音频、单声道 16000 Hz。我将每个 .wav 文件转换为 .short 数据文件。我使用这行代码将每个 .short 文件传输到 .mcep 文件:

之后,我去比较 .mcep 文件和这行代码:

该命令行的输出应该是一个数值(可能是一个浮点/双精度/整数值)或几个值。问题是我不确定如何打开那个 .dtw 文件,并且在我得到的文档中没有任何好的信息。当我尝试在任何编辑器中打开它或在终端中打开它时,我会得到一些奇怪的字母作为输出 [图 1]。

然而,在文档中它说使用参数 -s [Score] 我可以获得 DTW 过程的分数。所以我用这个命令行试了一下:

我得到一个值,但格式很奇怪。

我在网上搜索了很多关于 .dtw 文件的文档,但找不到任何东西。我试图将结果转换为另一种格式,但没有任何运气。试图联系我的导师,但到目前为止还没有答案,而且已经有一段时间了。

任何人都可以就做什么或其他任何事情给我任何建议?该文档可以在此站点上找到: http: //sp-tk.sourceforge.net/(抱歉没有链接,但仍然没有足够的声誉 - 如果需要,将删除),但我认为不需要很多,因为我认为我非常了解 DTW 过程并且认为我已经完成了它,只是输出给我带来了问题。

提前致谢,

马可。

图片1

0 投票
1 回答
1322 浏览

matlab - 如何让 DTW 运行得更快?

我有一个包含 4500 个长度为 1800 的向量的矩阵,为此我需要计算矩阵中每 2 个向量之间的 DTW(动态时间扭曲)距离。

我使用嵌套循环来填充 4500x4500 矩阵的一半(看起来像一个三角形):

问题是代码运行速度非常慢。根据我的计算,在我的电脑上运行需要 4 天。

我不知道矢量化是如何工作的。但是有没有办法可以对我的代码进行矢量化以使其运行得更快?还有一个内置函数,我可以插入我所有的向量并自动生成一个 DTW dist 矩阵吗?

0 投票
0 回答
709 浏览

python - 音频对齐(不同说话者的同一句话)

我对音频处理非常陌生。我有一个参考音频文件和几个其他录音(不同说话者说的同一句话 - 方言和持续时间不同),我想将所有音频文件与一个扭曲最少的音频参考文件对齐。我尝试使用 MFCC 和 Chroma 功能(python/librosa),但我不知道下一步该做什么。我正在阅读有关 DTW(动态时间扭曲)的对齐方式,这行得通吗?是否有已经这样做的示例/开源项目或音频工具?这似乎是一个已解决的问题,但我找不到它。请帮忙。

我正在阅读这个 - https://librosa.github.io/librosa_gallery/auto_examples/plot_music_sync.html但是如何在时域中保存对齐的音频?

这似乎相关 -使用 python 进行动态时间扭曲(最终映射)

0 投票
1 回答
2575 浏览

r - 使用 dtwclust 在 R 中对时间序列进行聚类

我正在尝试第一次尝试时间序列聚类,需要一些帮助。我已经阅读了有关时间序列聚类的 tsclust 和 dtwclust 包,并决定尝试 dtwclust。

我的数据由不同位置的温度每日时间序列组成(每天一个值)。我想从其温度序列中对空间集群中的不同位置进行分组。我的第一次尝试是(只是复制了一个带有选项的示例并将我的数据 temp.max3)

但这给了我这个错误信息

stats::hclust(stats::as.dist(distmat), method, members = dots$members) 中的错误:外部函数调用中的 NA/NaN/Inf (arg 11)

我之前必须删除任何系列中存在的所有 NA,导致 temp.max3 数据帧不包含任何 NA 值。

数据看起来像

其中 8025、8400A、8416 和 8455 是站代码(现在只有四个,但最终分析将扩展到 120)。可以在此保管箱链接上找到数据https://www.dropbox.com/s/xru4qnz8grhbxuo/data.csv?dl=0

任何想法,信息链接或示例将不胜感激,在此先感谢

0 投票
2 回答
4097 浏览

audio - 将 MFCC 特征向量与 DTW 进行比较

我正在寻找有关动态时间规整 (DTW) 的一些建议。

我有一个 Python 脚本并从各种长度的 .WAV 文件中提取梅尔频率倒谱系数 (MFCC) 特征向量。特征向量是包含 12 个 MFCC 的数组的不同长度的数组。

例如,一个 .WAV 文件可以由包含 10 组 12 个特征向量的数组表示,而另一个 .WAV 文件可以由一个包含 20 组 12 个特征向量的数组表示。

我打算使用 DTW 来比较两个数组数组,但我不确定如何。我理解 DTW 的概念,如果数组中包含的特征向量是单个数字,那么实现它就没有问题,我的困惑是由于它们是数组这一事实。

Tl; dr:如何使用 DTW 比较两个数组?

编辑:我已经阅读了这个问题,但无济于事。

非常感谢,亚当

0 投票
1 回答
27 浏览

r - 找到与一组 3D 路径中的所有其他路径最相似的路径

我正在尝试编写一种算法来查找与一组 3D 路径中的所有其他路径最相似的 3D 路径。如果您查看(底部)提供的链接中的图表,它应该输出 trace1。(通过目测)

为了能够比较路径的相似性,我使用动态时间规整(DTW)计算了每个轴的路径成本,组中的所有其他路径都给了我以下数据框:

从这个数据框中,我需要大多数路径具有最低值的路径。

这可能是一个相当简单的解决方案,但在所有 3D 平移和旋转数学之后,我无法解决这个问题。

链接到我正在处理的图表和数据<- 您只需单击十字即可关闭注册窗口

0 投票
4 回答
6316 浏览

time-series - 时间序列距离度量

为了对一组时间序列进行聚类,我正在寻找一个智能距离度量。我尝试了一些众所周知的指标,但没有一个适合我的情况。

例如:假设我的聚类算法提取了这三个质心 [s1, s2, s3]: 在此处输入图像描述

我想将这个新示例 [sx] 放在最相似的集群中:

在此处输入图像描述

最相似的质心是第二个,所以我需要找到一个距离函数 d 给我d(sx, s2) < d(sx, s1)d(sx, s2) < d(sx, s3)

编辑

这里的结果与度量 [余弦、欧几里得、闵可夫斯基、动态类型翘曲] 在此处输入图像描述] 3

编辑 2

用户 Pietro P 建议在时间序列的累积版本上应用距离 解决方案有效,这里的图和指标: 在此处输入图像描述

0 投票
2 回答
2533 浏览

r - 通过 dtw 计算距离矩阵

在时间序列第 1 天到第 26 天,我有两个用于控制和治疗的标准化读取计数矩阵。我想通过动态时间包装计算距离矩阵,然后将其用于聚类,但似乎太复杂了。我这样做了;谁可以帮忙澄清一下?非常感谢