¿Cómo funciona la búsqueda de imagen inversa?

Su imagen promedio puede valer menos de mil palabras: solo hay mucho que puede aprender de los selfies. Pero a veces solo necesita saber de dónde proviene una imagen, independientemente de cuántas palabras sean valiosas.

Para eso, hay motores de búsqueda de imágenes inversas proporcionados por personas como Google, TinEye, Bing, Yandex, Pixsy y muchos más. Como no dio ninguna palabra en su solicitud, ¿cómo saben qué buscar? Y, lo más importante, ¿cómo lo encontraron? La forma en que funciona cada motor de búsqueda de imágenes inversas varía, y mantienen su algoritmo oculto, pero la idea básica está ahí y no es tan difícil de entender.

Huella digital

Las imágenes reales pueden ser más únicas que las huellas digitales humanas, porque la posibilidad de que dos imágenes contengan exactamente la misma disposición de píxeles es muy pequeña, mientras que la probabilidad de una colisión de huellas digitales es de alrededor de 64 mil millones, una oportunidad relativamente buena. Pero, ¿cómo huellas digitales de una imagen? Los pasos varían según el algoritmo, pero la mayoría de ellos siguen la misma fórmula básica.

  

Primero, debe medir las características de la imagen, que pueden incluir colores, texturas, gradientes, formas, relaciones entre diferentes piezas de la imagen e incluso cosas como las transformadas de Fourier (el método de dividir una imagen en senos y cosenos).

Digamos que estamos buscando la siguiente imagen y necesitamos la huella digital.

Búsqueda inversa de imágenes para la calle Nueva York

Para hacer eso, podríamos, entre otras cosas, usar histogramas de color de imagen, transformadas de Fourier y mapas de textura, cada uno de los cuales puede ver a continuación.

Búsqueda de imágenes de histograma de color inverso Voltear la búsqueda de imágenes de Fourier Mapa de textura de búsqueda de imagen inversa

Si la imagen cambia de tamaño, se vuelve borrosa, se gira o se manipula, habrá una serie de algoritmos que utilizan las funciones anteriores y otras para tratar de encontrar un resultado.

Codificación, guardado y búsqueda

Cada función de imagen en una huella digital puede codificarse como una cadena de letras y números, que se almacena e indexa fácilmente en una base de datos. Cualquier combinación de características extraídas y almacenadas será una entrada de motor de búsqueda de imagen inversa para esa imagen. La base de datos TinEye, por ejemplo, contiene aproximadamente 39,6 mil millones de imágenes se indexaron en febrero de 2020, lo que significa que ejecutan su algoritmo sobre muchas imágenes y almacenan todas esas huellas digitales para comparar las imágenes buscadas.

Invierta la base de datos de búsqueda de imágenes

La segunda parte principal del algoritmo es descubrir qué imágenes son similares. Cuando cargue una imagen, pasará por el algoritmo de huella digital del motor de búsqueda de imágenes inversas. El motor de búsqueda intentará encontrar la entrada con la huella digital más cercana, conocida como “distancia de imagen”. Determinar qué factores deben compararse y cómo el peso también depende de cada motor de búsqueda, pero principalmente tiene como objetivo encontrar la distancia total de la imagen lo más cerca posible a cero.

¿Qué pasa con el aprendizaje automático / IA?

Gracias a la técnica de huella digital / indexación descrita anteriormente, la búsqueda de imágenes inversas es bastante buena incluso antes de que sea práctico aplicarle AI. Debido a que la IA es muy buena en el procesamiento de imágenes, muchos motores de búsqueda importantes utilizan las redes neuronales convolucionales (CNN) para ayudar a extraer y etiquetar características. Google, por ejemplo, puede usar CNN en la búsqueda inversa de imágenes, lo que le permite producir posibles palabras clave para imágenes y producir resultados web e imágenes relevantes, como lo han hecho en Google Photos desde hace algún tiempo.

Búsqueda inversa de imágenes, redes neuronales convolucionales

Esto requiere la búsqueda inversa de imágenes, un paso por encima de la extracción simple de características y el espaciado de imágenes. Las redes neuronales convolucionales básicamente ejecutan imágenes a través de varios filtros que mapean varios tipos de características, luego intentan clasificarlas en función de la capacitación previa. Eso es una simplificación excesiva, por supuesto, pero es suficiente decir que CNN hace que la búsqueda de imágenes sea mucho más precisa y útil y que probablemente se esté implementando junto con métodos de huellas digitales de visión por computadora más antiguos.

¿Cuál es el mejor motor de búsqueda de imágenes inversas?

Búsqueda inversa de imágenes de Google Mestia

Un algoritmo diferente significa un buen motor de búsqueda de imágenes para diferentes cosas, a pesar de que todas finalmente apuntan al mismo objetivo: encontrar una coincidencia para la imagen que carga. Imágenes de Google tiene una tasa de éxito bastante buena, por ejemplo, pero hace muchas “mejores conjeturas”, lo que le brinda muchas fotos que son similares pero no idénticas. Eso es genial si está buscando un estado de ánimo o categoría general, pero a la máquina le gusta TinEye mucho más enfocado en encontrar imágenes idénticas, incluso si están altamente editadas, e incluso pueden identificar imágenes en fotos, lo que lo hace un poco mejor si necesita la coincidencia correcta.

Búsqueda de imágenes detrás de Mestia Tiney

El motor de búsqueda ruso Yandex también es famoso por tener una excelente herramienta de búsqueda de imágenes, aunque se podría predecir que tenderá a dar lo mejor en temas rusos. Las herramientas como Pixsy e ImageRaider se centran en identificar instancias de uso no autorizado, por lo que tienden a incluir más funciones como advertencias y se centran en monitorear la biblioteca de fotos del usuario.

Debido a que el algoritmo cambia todo el tiempo y generalmente está bloqueado, es una buena idea verificar varias máquinas diferentes si nada devuelve los resultados que desea.

Crédito de imagen: Vapor desde las calles de la ciudad de Nueva York, Icono de base de datos DB

¿Fue útil este artículo? Si no