Бери библиотеку для получения хеша изображения по алгоритму pHash или подобным (нужно экспериментировать с порогом чувствительностм), как например дал ссылку
Алексей Скобкин.
1. Занеси в колонку phash значения хешей всех имеющихся изображений.
2. При загрузке на сервер, получив хеш от изображения, сверяй его по базе наподобие:
SELECT id FROM images WHERE HammingDistance(images.phash, uploaded_phash) < 8
LIMIT 1
Если найдётся хоть 1 результат, то это изображение есть дубликат.
Реализации функции HammingDistance могут быть разными, в зависимости от СУБД.