我使用动态时间扭曲算法来生成距离矩阵并找到两个数组之间的差异。但是,是否有一种算法可以实际将一个数组扭曲为另一个数组(作为最终结果,我希望将一个视频扭曲为另一个视频,即使用多维数组)。
背景:我有很多人打高尔夫挥杆的视频,我需要根据相似性来分析它们。然而,许多摆动是慢动作的,而有些是实时的。最重要的是,剪辑在挥杆前后的不同时间开始和停止,每个视频都有高尔夫球手站在帧本身的不同位置。
但是,为了便于解释,请举以下简单示例:
a = [1, 2, 3]
b = [1, 1, 2, 2, 3, 3]
变成:
a = [1, 2, 3]
b = [1, 2, 3]
什么时候b
被扭曲了似的a
。
解释:b
只是一个时间膨胀的版本,a
例如视频的慢动作版本
这是另一个例子:
a = [1, 2, 3]
b = [3, 4, 6]
变成:
a = [1, 2, 3]
b = [1, 2, 4]
什么时候b
被扭曲了似的a
。
解释:b
只是一个时间翻译版本,a
有一点错误,例如从较低高度和角度拍摄的视频
如果可能的话,我的最终目标是一种可以将膨胀和翻译结合为一个的算法