I am trying to build an image suggestion engine using resnet151 as a feature extractor and right now I am testing Annoy and Faiss as the ANN. I am having some issues with images that have similar shapes, but varying color features. My original method was to use Euclidian distance for distance measure between the reference image and the vectors in the index.
I later read that using the dot product as distance measure might work better because it combines the magnitude and cosine angle, so I have tested that now, but I feel like it is performing worse than with Euclidian distance. Now the index can't tell obviously different images apart.
Whilst researching I stumbled across this question:
Where the writer of the accepted answer states that in some way Euclidian distance can be used as a similarity measure, but not really.
Can anyone shed some light upon why Euclidian distance would be unreliable as a similarity measure and if possible provide suggestions to what other methods can be used for a image suggestion engine without using thousand of reference images?