ahojnnes · GitHub

First step towards fully replacing flann with faiss. This is to mitigate pycolmap crashes related to flann as well as improve runtime of various indexing operations:

  • Add feature descriptor index implementation based on faiss. Provides better precision and runtime than flann.
  • Replace visual index flann implementation with faiss. Tuned faiss index parameters provide roughly on-par retrieval precision/recall with flann. faiss is much faster. There is room for improvement by tuning the index parameters further in the future.
  • Add option to load legacy flann visual index and automatically upgrade it to faiss. This will be used to upgrade our existing vocabulary trees with faiss.

In a follow-up PR, we will remove flann and replace replace the flann-based vocabulary trees with faiss indexes (to be uploaded to github).

Read the original on github.com ↗