怎么判断两条曲线形状相似

相似性的英文是 :  Similarity Measurement 

  • DTW 算法

https://blog.csdn.net/raym0ndkwan/article/details/45614813

算法介绍

 

https://www.cnblogs.com/luxiaoxun/archive/2013/05/09/3069036.html

算法介绍2

 

https://blog.csdn.net/niuniuyuh/article/details/54809587

算法介绍3

 

https://blog.mythsman.com/2016/04/19/1/

介绍4

http://blog.sciencenet.cn/blog-212252-701037.html

介绍5

https://www.researchgate.net/publication/216301292_Everything_you_know_about_dynamic_time_warping_is_wrong

6

 


https://www.youtube.com/watch?v=_K1OsqCicBY&list=PLQ9wcil_P4A6WkBBRd6Ywsi5HiSe3pBZP&index=3&t=0s

视频讲解


https://www.jianshu.com/p/05bee48cc6a2

python 实现


https://nipunbatra.github.io/blog/2014/dtw.html

python 讲解  ,    最重要的 

 

https://www.cnblogs.com/StrayWolf/articles/6792261.html

中文讲解最好的


DTM 算法的目标是找出一种对应关系  :    x 上的每一个点如何对应到 y

Our aim is to find a mapping between all points of x and y. For instance, x(3) may be mapped to y(4) and so on.

  • hausdorff  距离

    定义 :

    对一条线的每一个点, 计算另一条线上距离它最近的点 ,计为d1 , 对于 d1,d2,d3…..dN 的点集, 取其中的最大值 , 即为hausdorff 距离

用途:

给定一个形状 A  ,找出 A在指定容忍范围内的最相似形状 A0

 

公式:  


  • 双向  Hausdorff 距离

算法 

如果想比较两个曲线有多相像,必须先有模型量化什么是相像, 也就是: 怎么定义 similar

 

参考文章

https://www.cnblogs.com/luxiaoxun/archive/2013/05/09/3069036.html#undefined

Dynamic Time Warping 动态时间规整算法


 

到现在为止的实现方法(2019-05-16)

缺点是速度太慢

 

怎么提升速度 ?

a)  合并数据,  一分钟有 120个,用1个来替代

 

 

  • 有人做的python 库

https://jekel.me/2017/Comparing-measures-of-similarity-between-curves/

 

拿两条 正弦波图形测试