2017-06-05 102 views
1

所以我試圖計算兩個大字符串(大約20-100)之間的距離。 障礙是性能,我需要運行20k距離比較。 (需要數小時)性能問題,編輯大字符串的距離LCP vs Levenshtein vs SIFT

經過調查,我發現了幾個算法,而且我很難決定選擇哪一個。 (基於性能VS準確度)

https://github.com/tdebatty/java-string-similarity - 每個算法的性能列表。

** ** EDITED

  1. 是SIFT4算法是一個良好的證明/可中繼?
  2. SIFT4是否是正確的算法?
  3. 爲什麼它比基於LCP的/ Levinstein算法快得多?

  4. 劑量SIFT也用於圖像處理?或者它是不同的東西?由AMH回答

謝謝。

回答

1

據我所知尺度不變特徵變換(SIFT)是計算機視覺檢測中的一種算法,用於描述圖像中的局部特徵。

如果你想找到相似的圖像,你必須通過計算它們的距離來比較圖像的局部特徵,這些特徵可能會做你打算做的事情。但我記得當地的特徵是數字的矢量。它採用蠻力匹配:Feature Matching - OpenCV Library - SIFT

請閱讀有關SIFT這裏:http://docs.opencv.org/3.1.0/da/df5/tutorial_py_sift_intro.html

SIFT4這是您提供的鏈接上提到的是完全不同的事情。

+0

我不能選擇這個答案。 由於我不清楚,你提供的答案不是我想要問的。 另外我覺得你的答案對這個線程很有價值,所以我投了票。謝謝。 –