如何判斷兩條軌跡(或曲線)的相似度?

mjiansun發表於2020-12-01

比如下圖,雖然它們的重合度不高,但是它們的結構是一樣的,應當認為它們是很相似的,請問如何量化的判斷呢?有什麼好的演算法? 

做過一個小研究是關於判斷曲線的相似性的,下面正文答案已經基本上解決了該問題。使用歸一化後的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
來源:知乎
著作權歸作者所有。商業轉載請聯絡作者獲得授權,非商業轉載請註明出處。

相關文章