For a project I'm doing, I need to detect certain groups of images that are similar. I'm doing this by comparing a test image to a target image to see if their patterns match. For example, here is the target image:Image may be NSFW.
Clik here to view.And here are the various images that I would test against:Image may be NSFW.
Clik here to view.Image may be NSFW.
Clik here to view.Image may be NSFW.
Clik here to view.From my pattern recognition skills, image 1 matches the pattern of the target image.
To determine this using Python, I tried first using API services, but none of them could differentiate between patterns. I also tried using the SIFT algorithm with opencv, but that didn't work well enough either. Since I've heard that SURF and ORB are similar to SIFT, I haven't tried them. How can I match these images? I need an algorithm or third party service that would be able to correctly identify image 1 as the match almost 100% of the time.