I am a beginner in computer vision, my goal is to extract K-nearest neighbours for an image, I had a look at Annoy, Faiss, NMSLIB algorithms and decided to use Faiss for image similarity. I have a large dataset to check for the nearest neighbours. I am currently using faiss.IndexFlatIP, Since it is a brute force approach, it provides good results at the cost of time.
Questions:
- Instead of brute force approach, is there any other way we can do this with good results?
- Currently I am using pickle to save the large extracted features, is there any other way we can store and retrieve those features effectively?
- I am currently using SIFT for feature extraction, whether CNN model will outperform this?
Any help would be greatly appreciated.