🚀 Prueba Zilliz Cloud, el Milvus completamente gestionado, gratis—¡experimenta un rendimiento 10 veces más rápido! Prueba Ahora>>

milvus-logo
LFAI
  • Home
  • Blog
  • Creación de una experiencia de compra de búsqueda por imagen con VOVA y Milvus

Creación de una experiencia de compra de búsqueda por imagen con VOVA y Milvus

  • Scenarios
May 13, 2021
milvus

Ir a:

Las compras en línea aumentaron en 2020, un 44%, en gran parte debido a la pandemia de coronavirus. A medida que la gente buscaba distanciarse socialmente y evitar el contacto con extraños, la entrega sin contacto se convirtió en una opción increíblemente deseable para muchos consumidores. Esta popularidad también ha llevado a la gente a comprar una mayor variedad de productos en línea, incluidos artículos especializados que pueden ser difíciles de describir mediante una búsqueda tradicional por palabras clave.

Para ayudar a los usuarios a superar las limitaciones de las consultas basadas en palabras clave, las empresas pueden crear motores de búsqueda de imágenes que permitan a los usuarios utilizar imágenes en lugar de palabras para la búsqueda. Esto no sólo permite a los usuarios encontrar artículos difíciles de describir, sino que también les ayuda a comprar cosas que encuentran en la vida real. Esta funcionalidad contribuye a crear una experiencia de usuario única y ofrece una comodidad general que los clientes aprecian.

VOVA es una plataforma de comercio electrónico emergente que se centra en la asequibilidad y en ofrecer una experiencia de compra positiva a sus usuarios, con listados que abarcan millones de productos y compatibilidad con 20 idiomas y 35 divisas principales. Para mejorar la experiencia de compra de sus usuarios, la empresa utilizó Milvus para incorporar la funcionalidad de búsqueda de imágenes a su plataforma de comercio electrónico. El artículo explora cómo VOVA construyó con éxito un motor de búsqueda de imágenes con Milvus.


¿Cómo funciona la búsqueda por imágenes?

El sistema de compra por imágenes de VOVA busca en el inventario de la empresa imágenes de productos que sean similares a las subidas por los usuarios. El siguiente gráfico muestra las dos etapas del proceso del sistema, la etapa de importación de datos (azul) y la etapa de consulta (naranja):

  1. Utilizar el modelo YOLO para detectar objetivos a partir de las fotos cargadas;
  2. Utilizar ResNet para extraer vectores de características de los objetivos detectados;
  3. Utilizar Milvus para la búsqueda de similitudes vectoriales.

Vova-1.png Vova-1.png


Detección de objetivos usando el modelo YOLO

Las aplicaciones móviles de VOVA para Android e iOS soportan actualmente la búsqueda de imágenes. La empresa utiliza un avanzado sistema de detección de objetos en tiempo real denominado YOLO (You only look once) para detectar objetos en las imágenes cargadas por los usuarios. El modelo YOLO se encuentra actualmente en su quinta iteración.

YOLO es un modelo de una sola etapa, que utiliza una sola red neuronal convolucional (CNN) para predecir categorías y posiciones de distintos objetivos. Es pequeño, compacto y muy adecuado para su uso móvil.

YOLO utiliza capas convolucionales para extraer características y capas totalmente conectadas para obtener valores de predicción. Inspirada en el modelo GooLeNet, la CNN de YOLO incluye 24 capas convolucionales y dos capas totalmente conectadas.

Como muestra la siguiente ilustración, una imagen de entrada de 448 × 448 es convertida por varias capas convolucionales y capas de agrupación en un tensor de 7 × 7 × 1024 dimensiones (representado en el antepenúltimo cubo) y, a continuación, es convertida por dos capas totalmente conectadas en un tensor de salida de 7 × 7 × 30 dimensiones.

La salida predicha de YOLO P es un tensor bidimensional, cuya forma es [lote,7 ×7 ×30]. Utilizando el corte, P[:,0:7×7×20] es la probabilidad de categoría, P[:,7×7×20:7×7×(20+2)] es la confianza, y P[:,7×7×(20+2)]:] es el resultado predicho del cuadro delimitador.

![vova-2.png](https://assets.zilliz.com/vova_2_1ccf38f721.png "Arquitectura de red YOLO.)


Extracción de vectores de características de imagen con ResNet

VOVA adoptó el modelo de red neuronal residual (ResNet) para extraer vectores de características a partir de una extensa biblioteca de imágenes de productos y de fotos subidas por los usuarios. ResNet está limitada porque, a medida que aumenta la profundidad de una red de aprendizaje, disminuye su precisión. La imagen siguiente muestra ResNet ejecutando el modelo VGG19 (una variante del modelo VGG) modificado para incluir una unidad residual mediante el mecanismo de cortocircuito. VGG se propuso en 2014 e incluye solo 14 capas, mientras que ResNet salió un año después y puede tener hasta 152.

La estructura ResNet es fácil de modificar y escalar. Cambiando el número de canales en el bloque y el número de bloques apilados, la anchura y la profundidad de la red pueden ajustarse fácilmente para obtener redes con diferentes capacidades expresivas. Esto resuelve eficazmente el efecto de degeneración de la red, en el que la precisión disminuye a medida que aumenta la profundidad del aprendizaje. Con suficientes datos de entrenamiento, se puede obtener un modelo con mejores prestaciones expresivas mientras se profundiza gradualmente en la red. Mediante el entrenamiento del modelo, se extraen las características de cada imagen y se convierten en vectores de 256 dimensiones en coma flotante.

vova-3.png vova-3.png


Búsqueda de similitud vectorial con Milvus

La base de datos de imágenes de productos de VOVA incluye 30 millones de imágenes y crece rápidamente. Para recuperar rápidamente las imágenes de productos más similares de este enorme conjunto de datos, se utiliza Milvus para realizar la búsqueda de similitud vectorial. Gracias a una serie de optimizaciones, Milvus ofrece un enfoque rápido y racionalizado para la gestión de datos vectoriales y la creación de aplicaciones de aprendizaje automático. Milvus ofrece integración con bibliotecas de índices populares (por ejemplo, Faiss, Annoy), soporta múltiples tipos de índices y métricas de distancia, tiene SDKs en múltiples idiomas, y proporciona APIs ricas para la gestión de datos vectoriales.

Milvus puede realizar búsquedas de similitud en conjuntos de datos de billones de vectores en milisegundos, con un tiempo de consulta inferior a 1,5 segundos cuando nq=1 y un tiempo medio de consulta por lotes inferior a 0,08 segundos. Para construir su motor de búsqueda de imágenes, VOVA se basó en el diseño de Mishards, la solución de middleware de fragmentación de Milvus (véase el gráfico siguiente para conocer el diseño de su sistema), para implementar un clúster de servidores de alta disponibilidad. Al aprovechar la escalabilidad horizontal de un clúster Milvus, se cumplió el requisito del proyecto de un alto rendimiento de consulta en conjuntos de datos masivos.

vova-4.png vova-4.png

La herramienta VOVA's shop by image

Las capturas de pantalla siguientes muestran la herramienta de compra por imágenes de VOVA en la aplicación Android de la empresa.

vova-5.png vova-5.png

A medida que más usuarios busquen productos y suban fotos, VOVA seguirá optimizando los modelos que alimentan el sistema. Además, la empresa incorporará nuevas funcionalidades de Milvus que pueden mejorar aún más la experiencia de compra en línea de sus usuarios.

Referencia

YOLO

https://arxiv.org/pdf/1506.02640.pdf

https://arxiv.org/pdf/1612.08242.pdf

ResNet:

https://arxiv.org/abs/1512.03385

Milvus

https://milvus.io/docs

    Try Managed Milvus for Free

    Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

    Get Started

    Like the article? Spread the word

    Sigue Leyendo