We have developed neural net based solution for finding images which are nearly or even distantly similar. It can be trained to work on any type of image and works pretty accurately.
You can check demo at: https://www.turingiq.com/demo/image/similar
You can check demo at: https://www.turingiq.com/demo/image/similar
Take say the second last layer of a pre-trained convolutional neural network (e.g. VGG) and just use that to compute cosine similarities between images.
Would have to pick a cutoff with some manual testing but I suspect that'd work plus can be done in a matter of hours using pre-trained weights in keras.