Suponga que tiene algún tipo de imagen (dibujo, imagen, fotografía) y desea encontrar la misma (duplicada) o similar en Internet. Esto se puede hacer utilizando las herramientas especiales de los motores de búsqueda de Google y Yandex, el servicio TinEye, así como la increíble extensión del navegador PhotoTracker Lite, que combina todos estos métodos. Consideremos cada uno de ellos.

Un pequeño informe sobre la creación de la aplicación KawaiiSearch: encontrar fotos similares utilizando una red neuronal convolucional y kNN

tl; dr; Descargamos fotos de Internet. Utilizando una red neuronal entrenada VGG19, calculamos 4096 vectores dimensionales de cada imagen. Usando la métrica del coseno, encontramos el vecino más cercano a la imagen objetivo. Obtenemos las imágenes más similares en cierto sentido. ¡Lucro!

Código fuente.

Dónde descargar Alice con búsqueda de imágenes

La asistente de voz Alice está integrada en una aplicación llamada Yandex. Puede descargar la aplicación para Android e iOS usando estos enlaces:

Yandex con Alice

Plataforma: Android

Precio: Gratis

Yandex con Alice

Plataforma: iOS

Precio: Gratis

Facer - ¿a quién me parezco?

Opción 1: Google

El motor de búsqueda más popular ofrece la posibilidad de buscar una foto de dos formas: por referencia y utilizando el archivo almacenado directamente en el disco de la PC. La salida en ambos casos será la misma, incluida una indicación del tamaño, la capacidad de ver variaciones más grandes y más pequeñas de una imagen dada, una descripción presunta del objeto en el marco, sitios que pueden estar asociados con él, así como una lista de imágenes similares. Para obtener más información sobre cómo utilizar esta función, las instrucciones proporcionadas en el enlace siguiente le ayudarán.

Leer más: Cómo buscar por imagen en Google

Resultado de búsqueda de imágenes en el motor de búsqueda de Google

¿Qué son las imágenes «similares»?

Imagen para publicación

¿Perro pastor o fregona?

Antes de considerar los enfoques existentes, es necesario plantear correctamente la pregunta: determinar la métrica de similitud de imágenes. Pero el problema nos acecha de inmediato, ya que esta métrica puede diferir de una tarea a otra. Por ejemplo, necesitamos encontrar la imagen original de una copia en blanco y negro. O tal vez necesite encontrar imágenes que tengan un color similar. También es posible formular el problema cuando las imágenes con formas similares de objetos se consideran similares. ¿Las fotografías de un mismo perro serán similares en diferentes ángulos o fotografías similares de diferentes perros, pero en el mismo ángulo?

Como puede ver, existen algunas dificultades para resolver el problema. Por lo general, ni siquiera dicen que dos fotografías son similares, pero consideran una cierta cantidad de similitud desde, digamos, cero, completamente similar, hasta el infinito, completamente diferente. La medida de esta cantidad dependerá de la forma de los índices, que vendrá dada por algún algoritmo; puede ser la distancia de Hamming o la distancia entre puntos en un espacio multidimensional, o algo más. La elección de la métrica, naturalmente, afectará el resultado no menos que el propio algoritmo para buscar características en imágenes.

Capacidades de reconocimiento de imágenes de Alice y lista de comandos

Además del comando general «tomar una foto», a Alice se le puede dar un comando más preciso para reconocer el objeto. Alice puede realizar las siguientes operaciones con imágenes usando los comandos apropiados:

Encuentra una celebridad por foto

  • ¿Quién está en la foto?
  • ¿Quién es la celebridad de la foto?

Alice reconoce fotos de personajes famosos. Subimos la imagen del actor Konstantin Khabensky y Alice la reconoció con éxito.

Búsqueda de información y las imágenes similares a la imagen

Reconocer una inscripción o texto y traducirlo

  • Reconocer texto
  • Reconocer y traducir la inscripción

Puedes subir una foto con texto y Alice la reconocerá e incluso ayudará a traducirla. Para reconocer y traducir texto con Alice, debe:

– Sube una foto con texto.
– Desplácese hacia abajo.
– Haga clic en «Buscar y traducir texto».

Búsqueda de información y las imágenes similares a la imagenBúsqueda de información y las imágenes similares a la imagen

– Se abrirá el texto reconocido. Haga clic en «Traducir».
– Yandex.Translator se abrirá con el texto traducido.

Búsqueda de información y las imágenes similares a la imagenBúsqueda de información y las imágenes similares a la imagen

Descubra la marca y modelo del coche

  • Determine la marca del automóvil
  • Reconoce tu modelo de coche

Alice sabe cómo identificar marcas de automóviles. Por ejemplo, puede reconocer fácilmente un nuevo Nissan X-Trail, que tiene un sistema multimedia Yandex.Auto integrado con Alice y Yandex.Navigator.

Búsqueda de información y las imágenes similares a la imagen

Aprende la raza de animal

  • Reconocer al animal
  • Identificar la raza de perro

Alice sabe reconocer a los animales. Por ejemplo, Alice no solo reconoció que la foto era un perro, sino que también identificó con precisión la raza Labrador de la foto.

Búsqueda de información y las imágenes similares a la imagen

Descubra el tipo de planta

  • Identificar el tipo de planta
  • Reconocer la planta

Si te encuentras con una planta exótica, Alice te ayudará a averiguar su nombre.

Búsqueda de información y las imágenes similares a la imagen

Descubra el autor y el título del cuadro

  • Reconocer la imagen
  • Determina qué tipo de imagen

Si viste una pintura y quieres saber su título, autor y descripción, solo pídele a Alice que te ayude. La pintura «Mañana en un bosque de pinos» del artista Ivan Ivanovich Shishkin Alice define instantáneamente.

Búsqueda de información y las imágenes similares a la imagen

Encuentre un artículo en Yandex.Market

  • Definir un producto
  • Encuentra el producto

Si ves un artículo interesante que no te importaría comprar, puedes pedirle a Alice que busque productos similares. Puede abrir el producto encontrado en Yandex Market y leer sus características allí, o realizar un pedido de inmediato.

Búsqueda de información y las imágenes similares a la imagenBúsqueda de información y las imágenes similares a la imagen

Reconocer el código QR

  • Definir el código de aire de Kew
  • Reconocer el código aéreo de Kew

Alice no reconoce los códigos QR de forma tan rápida y eficiente, nos llevó varios intentos reconocer el código QR con éxito.

Búsqueda de información y las imágenes similares a la imagenBúsqueda de información y las imágenes similares a la imagen

yandex-music

Yandex agrega constantemente nuevos comandos para Alice. Hemos realizado una aplicación con ayuda para comandos, que actualizamos periódicamente. Al instalar esta aplicación, siempre tendrá a mano la lista de comandos más actualizada:

Comandos para Alice

Plataforma: Android

Precio: Gratis

Comandos para Alice

Plataforma: iOS

Precio: Gratis

Cara de monstruo – Monstruos de Halloween Convierte tu foto en un zombi o vampiro Instalar X

Articulos similares

  • Comandos para el altavoz inteligente Yandex Station (20.07.2018)
  • Audiolibros en el servicio Yandex Music y altavoces con Alice (02/05/2019)
  • Cómo deshabilitar Alice en Yandex Navigator (16/05/2018)

Clasificación de imágenes

A un nivel cualitativamente diferente, el problema de la clasificación de imágenes comenzó a resolverse en 2013. Luego, en el conjunto de datos de ImageNet, se rompió una barrera del 15% de los errores de clasificación a través de miles de tipos de objetos. Desde entonces, en 5 años, se han diseñado y entrenado muchos modelos diferentes de redes neuronales, y se ha roto la barrera del 5% de errores. Los más exitosos son: VGG16, ResNet50, Inception, GoogLeNet y muchos otros. La mayoría de ellos se construyen sobre la base de redes neuronales convolucionales.

En la figura puede ver cómo se ve esquemáticamente la arquitectura VGG16.

Imagen para publicación

VGG16, fuente

Las capas de la red neuronal en la imagen consisten en un conjunto de diferentes filtros de convolución. Cada uno de los filtros es responsable de buscar un patrón específico, y cuando encuentra un área determinada de la imagen que contiene este patrón, el filtro envía una señal a la siguiente capa. A su vez, las señales de la capa anterior forman una nueva imagen para la siguiente capa. En el diagrama de arquitectura VGG16, puede ver que primero había una imagen en color RGB de 224×224 píxeles con 3 canales (rojo, verde, azul). Luego, después de pasar la primera capa de convoluciones, obtuvimos una imagen de 224×224 píxeles con 64 canales. Estos canales ya no representan colores, sino los resultados de cada uno de los 64 filtros de convolución. Y así sucesivamente, hasta una imagen de 7×7 píxeles con 512 canales.

Imagen para publicación

El paquete está buscando un bagel: https://www.youtube.com/watch?v=p_7GWRup-nQ

Al construir cascadas de capas convolucionales y entrenar el modelo, obtiene capas que contienen abstracciones de imágenes. Las primeras capas en sí mismas pueden contener pequeños detalles: líneas. Luego vienen las combinaciones de detalles: formas. Las siguientes capas ya pueden contener formas y, finalmente, objetos completos.

Imagen para publicación

Visualización de funciones de Convnet entrenado en ImageNet desde

Preste atención a otra característica interesante de las capas convolucionales en este modelo: cada capa siguiente es «más gruesa», ya que tiene más filtros, pero «menos», ya que la imagen se reduce especialmente usando la operación MaxPooling (reducción de resolución). Esta técnica se utiliza por la siguiente razón: el hecho de la detección de algún objeto-característica es más importante que conocer la ubicación exacta de este objeto en la imagen. Es por eso que aprovechan al máximo el interior de una pequeña ventana, creando así un mapa de la ubicación de las señales.

Imagen para publicación

Grupo máximo 2×2, http://cs231n.github.io/convolutional-networks/

Más cerca de la salida del modelo, tenemos una imagen pequeña: un mapa de características de 7×7 píxeles con 512 filtros. A partir de este mapa tridimensional, todavía es imposible hacer predicciones de las clases de objetos en la imagen: un gato o un perro. Para pasar a las predicciones de clase, este mapa se coloca en un plano utilizando la operación Aplanar y se conecta a una capa oculta completamente conectada de 4096 neuronas. Y luego el esquema clásico: otra capa oculta con 4096 neuronas y una capa de salida con 1000 neuronas, cada una de las cuales da la probabilidad de pertenecer a una de las 1000 clases en la tarea ImageNet.

Opción 2: Yandex

El gigante de las búsquedas nacionales también le permite buscar imágenes similares y relacionadas, así como información sobre ellas. Para hacer esto, puede utilizar tanto un enlace como un archivo local, y la salida suele ser más precisa, visual e informativa que en Google, proporcionando información sobre el objeto en la foto, mostrando imágenes similares y propias, pero en diferentes tamaños, así como enlaces a sitios. , en las que puede encontrar esta o imágenes similares, información sobre las mismas, y en las páginas con productos en el Market, si las hubiera. Google no puede presumir de esto último, como tampoco puede presumir del funcionamiento normal de esta función en dispositivos móviles. Yandex, por otro lado, implementó la búsqueda de imágenes basada en su aplicación patentada, fortaleciendo su IA, que puede reconocer texto en fotos, objetos en el marco y autos.

Leer más: Función «Buscar por imagen» en Yandex

Resultado de búsqueda de imágenes por imagen en Yandex a través de un navegador

Opción 3: otros motores de búsqueda

En el segmento de Internet de habla rusa, Google y Yandex son los líderes indiscutibles, pero algunos usuarios prefieren trabajar con otros motores de búsqueda. Algunos de ellos también brindan la posibilidad de buscar por foto, y para ello suele haber un botón especial al final de la línea para ingresar consultas o a la derecha del mismo. Por ejemplo, en el servicio Bing de Microsoft, se parece a la imagen a continuación. Si está utilizando un motor de búsqueda diferente, simplemente busque elementos similares. Tenga en cuenta que la popularidad que gana rápidamente DuckDuckGo no contiene una función tan útil en el momento de escribir este artículo.

Busque por foto usando el motor de búsqueda Bing de Microsoft

Armar el modelo como constructor

Genial, conocemos la teoría, sabemos cómo obtener una representación de una red neuronal sobre imágenes, sabemos cómo comparar estas representaciones. Lo único que queda por hacer es poner todo junto.

Sugiero crear una aplicación web similar a la Búsqueda de imágenes de Google. Para construirlo, necesitamos las siguientes bibliotecas para Python3:

  • Keras y Tensorflow para trabajar con redes neuronales;
  • Numpy (también conocido como np) para funciones matemáticas;
  • Sklearn para algoritmo de vecino más cercano y métrica de coseno;
  • Matraz para la web
  • Pandas, almohada, scipy, h5py para diversas necesidades auxiliares.

También necesita tomar muchas imágenes sobre un tema desde algún lugar. Descargué todas las fotos del blog tokio-fashion (alrededor de 50 mil fotos), esperando que la red neuronal encuentre imágenes o poses similares o algo más. Por cierto, ¡el análisis de la industria de la moda es un área de investigación separada interesante!

Describamos los casos de uso básicos que queremos implementar:

  • el usuario visita la página;
  • el usuario presiona el botón «Tengo suerte», eligiendo así una imagen aleatoria de todo el conjunto de datos;
  • el servidor busca por el método de vecinos más cercanos K vectores más cercanos a uno seleccionado aleatoriamente, estos K vectores describirán las imágenes más similares;
  • el usuario ve en la página la imagen original y 9 similares con la métrica de similitud en la firma.

Todo el mundo ya sabe cómo hacer el elemento web, por lo que consideraremos los pasos más oscuros.

Opción 4: Servicios en línea

Además de los motores de búsqueda, puede resolver el problema expresado en el título del artículo con la ayuda de algunos servicios en línea. No brindan información detallada sobre la imagen, no muestran la información asociada a ella, sin embargo, le permiten encontrar análogos mejores, más grandes o, por el contrario, más pequeños. El algoritmo para usar uno de estos recursos web fue discutido previamente por nosotros en un artículo separado.

Leer más: Buscar por imagen en línea

Resultados encontrados en TinEye

Nos alegra haber podido ayudarlo a resolver el problema.

Describe lo que no funcionó para ti, nuestros especialistas intentarán responder lo más rápido posible.

¿Te ayudó este artículo?

BUENO NO

Búsqueda por imágenes en Yandex

buscar fotos similares en Yandex

Especifique la dirección de la imagen en Internet o cárguela desde su computadora (simplemente puede arrastrarla al área especial en la parte superior de la ventana del navegador):

El resultado de la búsqueda se ve así:

resultado de búsqueda en yandex

Instantáneamente tiene acceso a la siguiente información:

  • ¿Cuáles son las dimensiones de la imagen que cargó como muestra para buscar en la web?
  • Lista de sitios en los que se encuentra
  • Imágenes similares (modificadas sobre la base de la original o por las que el algoritmo decidió su similitud semántica)

Resultado

Ahora puede ver que la tarea ahora es bastante simple en términos de código. Pero todo esto es gracias al desarrollo de redes neuronales y amables experimentadores que cargan modelos previamente entrenados a Internet, de lo contrario tendrías que enseñar todo esto tú mismo durante mucho tiempo y de manera dolorosa.

Y en qué sentido se define ahora «similar». En el caso de un conjunto de datos de moda, las imágenes se consideran similares si contienen objetos de las mismas clases. Por ejemplo, fotografías con solo maletines, solo con zapatos del mismo tipo, retratos, peinados, manos. Ver por ti mismo:

Imagen para publicación

Collar, gargantilla

¿Qué es interesante aquí? La propia red decidió qué era similar para él. No lo controlamos, sucedió solo. Perdimos algo de control, pero podemos recuperarlo si hacemos el entrenamiento nosotros mismos. Y estoy impresionado por el hecho de que no sé cómo se puede hacer todo esto con métodos algorítmicos convencionales.

Por cierto, la búsqueda también funciona en las fotos subidas por el usuario. Tenga en cuenta que aquí la similitud se expresa en el hecho de que todas las imágenes tienen el mismo objeto: una espada de madera. El conjunto de datos de este ejemplo es diferente y el modelo es un poco peor, por lo que hay errores.

Imagen para publicación

Parece que = hay un artículo

Qué puedes hacer al respecto

¿Qué otros problemas reales se pueden resolver con este enfoque? Aquí hay una lista de los primeros que me vinieron a la mente:

  • Escribe tu propia aplicación para Android para buscar un libro en una tienda usando una foto de portada.
  • Una aplicación de guía que te dice cuál es el edificio en la foto.
  • Un modelo sencillo para identificar a una persona por su rostro.
  • Estoy pensando en cómo crear una aplicación para encontrar estilos similares en la fotografía de moda.

Encuentra imágenes similares en tinai

Muchos probablemente ya hayan oído hablar del servicio en línea TinEye, al que los usuarios de habla rusa a menudo llaman Tinai. Está desarrollado por expertos en aprendizaje automático y reconocimiento de objetos. Como consecuencia de todo esto, tinai es genial no solo para encontrar imágenes y fotografías similares, sino sus componentes.

La base de datos indexada de imágenes de TinEye contiene más de 10 mil millones de posiciones y es la más grande de Internet. “Todo se encontrará aquí”: esta frase caracteriza el servicio de la mejor manera posible.

Cuadro de búsqueda de Tinai

resultados de la búsqueda en tinai

En la página que se abre, recibirá datos exactos sobre cuántas veces se encontró la imagen en Internet y enlaces a las páginas donde se encontró.

PhotoTracker Lite – Búsqueda 4 en 1

La extensión para el navegador PhotoTracker Lite (funciona en Google Chrome, Opera desde la versión 36, Yandex.Browser, Vivaldi) le permite buscar fotos similares con un solo clic no solo en las fuentes anteriores, sino también en la base de datos del motor de búsqueda Bing (Bing Images).

Captura de pantalla de la interfaz de extensión:
marcar los buscadores deseados

En la configuración de la aplicación, especifique las fuentes de búsqueda, luego haga clic derecho en cualquier imagen en el navegador y seleccione la opción «Buscar esta imagen» PhotoTracker Lite:

menú de búsqueda de imágenes en el navegador

Existe otro método de búsqueda con un solo clic. De forma predeterminada, el elemento «Mostrar icono de búsqueda rápida» está activado en la configuración de la aplicación. Cuando pasa el mouse sobre una foto o imagen, aparece un ícono verde redondo, al hacer clic en él se inicia una búsqueda de imágenes similares: los resultados de búsqueda en Google, Yandex, Tinai y Bing se abrirán automáticamente en nuevas pestañas.

icono de complemento en la esquina de la foto

La extensión fue creada por nuestro compatriota, quien por la naturaleza de sus aficiones está muy relacionado con la fotografía. Originalmente creó esta herramienta para encontrar rápidamente sus fotos en los sitios de otras personas.

Cuando puedas necesitarlo

  • Usted es fotógrafo, publica sus fotos en Internet y desea ver en qué sitios se utilizan y dónde se violan sus derechos de autor.
  • Eres un blogger o redactor, escribes artículos y quieres elegir una imagen «inacabada» para tu material.
  • ¿Qué pasa si alguien usa tu foto de tu perfil de Facebook o Vkontakte como avatar en un foro o una cuenta falsa en alguna red social? ¡Pero esto es más que posible!
  • Encontraste una foto de un actor que conoces y quieres recordar su nombre.

De hecho, hay muchos casos en los que la búsqueda de fotografías puede resultar útil. También puedes dar un ejemplo …

Cómo encontrar el original de una imagen determinada

Por ejemplo, tiene algún tipo de fotografía, tal vez recortada, encogida o retocada, y desea encontrar su original o una opción en la mejor calidad. ¿Cómo hacerlo? Busque en Yandex y Google, como se describe arriba, o use PhotoTracker Lite y obtenga una lista de todas las imágenes encontradas. Además, déjese guiar por lo siguiente:

  • La imagen original es generalmente más grande y de mejor calidad que la copia recortada. Por supuesto, puede configurar la imagen en cualquier tamaño en Photoshop, pero cuando se amplía en relación con el original, siempre se observarán los artefactos. Se pueden detectar fácilmente incluso con una inspección visual superficial.

    Artículo relacionado: Cómo cambiar el tamaño de una imagen sin perder calidad.

  • Las fotografías originales suelen tener marcas de agua que indican la autoría de la fotografía (apellido, dirección del sitio web, nombre de la empresa, etc.). Por supuesto, cualquiera puede agregar una marca de agua a absolutamente cualquier imagen, pero en este caso, puede buscar una foto de muestra en el sitio web o por el nombre del autor, seguro que pone su portafolio en línea en algún lugar.
  • Y finalmente, una señal muy sencilla. Si su foto de muestra es en blanco y negro (sepia, etc.), y encontró la misma foto, pero a todo color, entonces claramente no es el original. Agregar color a una foto en blanco y negro es mucho más difícil que convertir una foto en color a blanco y negro 🙂
Categorías: Cómo hacer

Deja una respuesta