Imágenes similares - como compararlas

Tengo más de 1.3 millones de imágenes que tengo que comparar unas con otras, y se agregan unos cientos por día.

Mi empresa toma una imagen y crea una versión que puede ser utilizada por nuestros proveedores.

Los archivos a menudo son muy similares entre sí, por ejemplo, dos compañías diferentes pueden enviarnos dos imágenes diferentes, un JPG y un GIF, ambos con el logotipo de McDonald, con meses entre las presentaciones.

Lo que está sucediendo es que al final nos encontramos creando dos veces el mismo logotipo cuando podríamos simplemente copiar / pegar el ya creado o al menos sugerirlo como un posible punto de partida para los artistas.

He buscado algoritmos para crear una huella digital o algo que me permita hacer una consulta simple cuando se carga una nueva imagen, el tiempo no es un problema, si tarda 1 segundo en crear la huella digital, tomará 150 días. cree las huellas dactilares, pero al ahorrar, podríamos tener 3 o 4 servidores para hacerlo.

Soy fluido en PHP, pero si el algoritmo está en pseudocódigo o incluso C, puedo leerlo e intentar traducir (a menos que use algunas bibliotecas específicas de C)

Actualmente estoy haciendo un MD5 de todas las imágenes para capturar las que son exactamente iguales, surgió esta pregunta cuando estaba pensando en hacer un cambio de tamaño de la imagen y ejecutar el md5 en la imagen redimensionada para capturar las que han sido guardado en un formato diferente y redimensionado, pero aún así no tendría un reconocimiento lo suficientemente bueno.

Si no lo mencioné, estaré contento con algo que simplemente sugiere posibles imágenes "similares".

EDITAR

Tenga en cuenta que la verificación debe realizarse varias veces por minuto, por lo que la mejor solución es una que me dé algunos valores por imagen que pueda almacenar y usar en el futuro para compararlos con la imagen que estoy viendo sin tener que hacerlo. volver a escanear todo el servidor.

Estoy leyendo algunas páginas que mencionan histogramas, o cambiando el tamaño de la imagen a un tamaño muy pequeño, quita las etiquetas posibles y luego las convierte en escala de grises, hago el hash de esos archivos y lo uso para la comparación. Si tengo éxito, publicaré el código / la respuesta aquí

Respuestas a la pregunta(4)

Su respuesta a la pregunta