I am working with Python. I have 3000 thousands images of front-faced watches like the following ones: Watch1, Watch2, Watch3.
I want to find an API which receives this collection of photos or even others taken under less ideal conditions (different background colour, darker lightning etc) and which finds/matches the most similar watches with one each other.
By similarity I mean that I expect that a round in shape, brown watch with thin lace will be only matched with watches of round shape, of dark colour and with thin lace (from the same collection of photos).
I am aware of APIs of this kind from Google
, Amazon
, Microsoft
, TinEye
, Clarifai
, Indico
etc but I am not sure that they will perform so well in a so specialised application. For example, these APIs are useful for matching car images with car images and not with food images but matching among the same kind of objects (e.g. watches) based on a very high level of detail (shape, colour, thickness etc) is significantly more demanding.
For instance, this is an application on a specific kind of objects like clothes with Indico: https://indico.io/blog/clothing-similarity-how-a-program-is-more-fashionable-than-me/. However, if you notice it, the results are not that good and essentially they could be retrieved to a great extent even by simply applying PCA and KNN to these images.
Therefore, my question is: Is there any API which can match similar images based on a high level of detail?