For image duplication search, it is worth mentioning the Bloom Filter algorithm. It can give you quick and memory-efficient results. It does not depend on resolution and cropping. Note that it can give false-positive results but not false negatives. It looks like you can use it as the initial step in your comparison logic. The use of some of the methods described above.