如何判断两条轨迹(或曲线)的相似度?

  • Post author:
  • Post category:其他

比如下图,虽然它们的重合度不高,但是它们的结构是一样的,应当认为它们是很相似的,请问如何量化的判断呢?有什么好的算法? 

做过一个小研究是关于判断曲线的相似性的,下面正文答案已经基本上解决了该问题。使用归一化后的Fréchet distance即可。另外也可使用Hausdorff distance,但是使用效果不如前者。
推荐几篇论文仅供参考:

Alt H, Godau M (1995) Computing the Fréchet distance between two polygonal curves International Journal of Computational Geometry & Applications 5:75-91. doi:10.1142/S0218195995000064

Fréchet MM (1906) Sur quelques points du calcul fonctionnel Rendiconti del Circolo Matematico di Palermo (1884-1940) 22:1-72. doi:10.1007/BF03018603

 

此外,可以使用离散化的方法使用Fréchet distance,以便于实际编程计算,同推荐一篇离散化的文章供参考,里面有该方法的伪代码,另matlab也有现成的package,搜搜即可。

Eiter T, Mannila H (1994) Computing discrete Fréchet distance See Also

 

最后推荐一个应用该方法的实例,为了解决Fréchet distance中阈值的问题对其进行了标准化从而得到一个相似指数。

Wang J, Xu C, Tong S, Chen H, Yang W (2013) Spatial dynamic patterns of hand-foot-mouth disease in the People’s Republic of China Geospatial health 7:381-390

 

判断两条轨迹的相似性方法有很多

基于点方法: EDR,LCSS,DTW等

基于形状的方法: Frechet, Hausdorff(该方法可以解决上述问题)

基于分段的方法:One Way Distance, LIP distance

基于特定任务的方法:TRACLUS, Road Network,grid等

附上本人总结的Trajectory Distance slides:

作者:Di Yao
链接:https://www.zhihu.com/question/27213170/answer/271567963
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。