dsys/match

Search not working as expected

dgtlmoon opened this issue · 2 comments

Not sure if I'm expecting something different from this application, but here's what I'm doing..

I have POSTed this image to /add

611f222546cf867b833208219d67fe7a

Now I perform a search for this image

curl -i -X POST -F "image=@611f222546cf867b833208219d67fe7a.jpg" http://172.30.0.3/search

The image is found with 100%

HTTP/1.1 100 Continue

HTTP/1.1 200 OK
Server: gunicorn/19.6.0
Date: Sun, 25 Dec 2016 00:15:12 GMT
Connection: close
Content-Type: text/html; charset=utf-8
Content-Length: 136

{"method": "search", "error": [], "status": "ok", "result": [{"filepath": "1482624419116404847.jpg", "score": 100.0, "metadata": null}]}

But now I try to search for a smaller trimmed version

search

curl -i -X POST -F "image=@search.jpg" http://172.30.0.3/search

I get zero results

HTTP/1.1 100 Continue

HTTP/1.1 200 OK
Server: gunicorn/19.6.0
Date: Sun, 25 Dec 2016 00:16:40 GMT
Connection: close
Content-Type: text/html; charset=utf-8
Content-Length: 63

{"method": "search", "error": [], "status": "ok", "result": []}

I'm doing something wrong, or this is not what this is designed for?

Additionally When a 100% match is found, is it possible to return the other nearest neighbours/similar images?

Ahhh I just found rhsimplex/image-match#40 , sorry about that, yeha seems that this image search is very limited

kern commented

@dgtlmoon yes, the perceptual hash used does not support arbitrary crops, unfortunately. As a work around, you might want to randomly crop the image to 80% sizes and pass those through the search endpoint.