First, I've built two reverse image search engines prototypes in MATLAB, basically they are called as CBIR or Content Based Image Retrieval. The only difference being, the input is an image, and the result is info r like places, etc and all corresponding images related to that, so its a step further than here. However, I did it in two parts: 1) Using machine learning 2) Without
The database was Oxford places.
How? Yes, earlier people used to use hand-generated features like SURF and SIFT, its now that CNN is so popular after packages like tensorflow, mxnet for cross platform support, and efficiency.
I'd like to have a Skype session so that I can explain to you what is possible and what not according to your brief. Furthermore, you must be able to fund the entire process. This is very important. If you're interested kindly fix a date and time and let me know. Thanks!