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

milvus-logo
LFAI
  • Home
  • Blog
  • Extracción de lo más destacado de un acontecimiento con la aplicación iYUNDONG Sports

Extracción de lo más destacado de un acontecimiento con la aplicación iYUNDONG Sports

  • Scenarios
March 16, 2021
milvus

iYUNDONG es una empresa de Internet cuyo objetivo es atraer a más amantes del deporte y participantes en eventos como carreras de maratón. Desarrolla herramientas de inteligencia artificial (IA) capaces de analizar imágenes captadas durante eventos deportivos para generar automáticamente lo más destacado. Por ejemplo, al subir un selfie, un usuario de la aplicación deportiva iYUNDONG que haya participado en un acontecimiento deportivo puede recuperar instantáneamente sus propias fotos o vídeos de un enorme conjunto de datos multimedia del acontecimiento.

Una de las principales funciones de la aplicación iYUNDONG es "Encuéntrame en movimiento". Los fotógrafos suelen tomar grandes cantidades de fotos o vídeos durante un acontecimiento deportivo, como una carrera de maratón, y los suben en tiempo real a la base de datos iYUNDONG. Los corredores de maratón que quieran ver sus momentos destacados pueden recuperar fotos en las que aparezcan ellos mismos simplemente subiendo uno de sus selfies. Esto les ahorra mucho tiempo, ya que un sistema de recuperación de imágenes de la aplicación iYUNDONG se encarga de cotejarlas. iYUNDONG adopta Milvus para impulsar este sistema, ya que Milvus puede acelerar enormemente el proceso de recuperación y devolver resultados muy precisos.


Ir a:


Dificultades y soluciones

iYUNDONG se enfrentó a los siguientes problemas y encontró con éxito las soluciones correspondientes al crear su sistema de recuperación de imágenes.

  • Las fotos de los eventos deben estar disponibles inmediatamente para su búsqueda.

iYUNDONG desarrolló una función llamada InstantUpload para garantizar que las fotos de los eventos estuvieran disponibles para la búsqueda inmediatamente después de ser cargadas.

  • Almacenamiento de conjuntos de datos masivos

Cada milisegundo se cargan en el backend de iYUNDONG datos masivos como fotos y vídeos. Por ello, iYUNDONG decidió migrar a sistemas de almacenamiento en la nube como AWS, S3 y Alibaba Cloud Object Storage Service (OSS) para gestionar volúmenes gigantescos de datos no estructurados de forma segura, rápida y fiable.

  • Lectura instantánea

Para lograr la lectura instantánea, iYUNDONG desarrolló su propio middleware de fragmentación para lograr fácilmente la escalabilidad horizontal y mitigar el impacto en el sistema de la lectura en disco. Además, Redis se utiliza como capa de almacenamiento en caché para garantizar un rendimiento constante en situaciones de alta concurrencia.

  • Extracción instantánea de rasgos faciales

Para extraer con precisión y eficacia los rasgos faciales de las fotos cargadas por los usuarios, iYUNDONG desarrolló un algoritmo propio de conversión de imágenes que las convierte en vectores de rasgos de 128 dimensiones. Otro problema que se planteó fue que, a menudo, muchos usuarios y fotógrafos cargaban imágenes o vídeos simultáneamente. Por eso, los ingenieros de sistemas tuvieron que tener en cuenta la escalabilidad dinámica a la hora de desplegar el sistema. Más concretamente, iYUNDONG aprovechó al máximo su servicio de computación elástica (ECS) en la nube para lograr un escalado dinámico.

  • Búsqueda vectorial rápida y a gran escala

iYUNDONG necesitaba una base de datos de vectores para almacenar su gran número de vectores de características extraídos por modelos de IA. De acuerdo con su escenario de aplicación empresarial único, iYUNDONG esperaba que la base de datos de vectores fuera capaz de:

  1. Realizar una recuperación de vectores rapidísima en conjuntos de datos ultra grandes.
  2. Lograr un almacenamiento masivo a bajo coste.

Al principio, se procesaba una media de un millón de imágenes al año, por lo que iYUNDONG almacenaba todos sus datos de búsqueda en RAM. Sin embargo, en los últimos dos años, su negocio se disparó y experimentó un crecimiento exponencial de los datos no estructurados: el número de imágenes en la base de datos de iYUNDONG superó los 60 millones en 2019, lo que significa que había más de mil millones de vectores de características que necesitaban ser almacenados. Una cantidad ingente de datos hizo inevitablemente que el sistema iYUNDONG tuviera una estructura pesada y consumiera muchos recursos. Así que tuvo que invertir continuamente en instalaciones de hardware para garantizar un alto rendimiento. En concreto, iYUNDONG desplegó más servidores de búsqueda, mayor memoria RAM y una CPU de mejor rendimiento para lograr una mayor eficiencia y escalabilidad horizontal. Sin embargo, uno de los defectos de esta solución era que elevaba prohibitivamente los costes operativos. Por ello, iYUNDONG empezó a explorar una solución mejor para este problema y sopesó la posibilidad de aprovechar bibliotecas de índices vectoriales como Faiss para ahorrar costes y dirigir mejor su negocio. Finalmente, iYUNDONG eligió la base de datos vectorial de código abierto Milvus.


Qué es Milvus

Milvus es una base de datos vectorial de código abierto fácil de usar, muy flexible, fiable y rapidísima. Combinado con varios modelos de aprendizaje profundo, como el reconocimiento de fotos y voz, el procesamiento de vídeo, el procesamiento del lenguaje natural, Milvus puede procesar y analizar datos no estructurados que se convierten en vectores mediante el uso de varios algoritmos de IA. A continuación se muestra el flujo de trabajo de cómo Milvus procesa todos los datos no estructurados:

● Los datos no estructurados se convierten en vectores de incrustación mediante modelos de aprendizaje profundo u otros algoritmos de IA.

A continuación, los vectores incrustados se insertan en Milvus para su almacenamiento. Milvus también construye índices para esos vectores.

● Milvus realiza búsquedas de similitud y devuelve resultados de búsqueda precisos basados en diversas necesidades empresariales.

iYUNDONG Blog 1.png iYUNDONG Blog 1.png


Por qué Milvus

Desde finales de 2019, iYUNDONG ha llevado a cabo una serie de pruebas sobre el uso de Milvus para potenciar su sistema de recuperación de imágenes. Los resultados de las pruebas resultaron que Milvus supera a otras bases de datos vectoriales principales, ya que admite múltiples índices y puede reducir eficientemente el uso de RAM, comprimiendo significativamente la línea de tiempo para la búsqueda de similitud vectorial.

Además, Milvus publica regularmente nuevas versiones. Durante el periodo de pruebas, Milvus ha pasado por múltiples actualizaciones de versión, desde la v0.6.0 hasta la v0.10.1.

Además, con su activa comunidad de código abierto y sus potentes funciones listas para usar, Milvus permite a iYUNDONG operar con un presupuesto de desarrollo ajustado.


Sistema y flujo de trabajo

El sistema de iYUNDONG extrae los rasgos faciales detectando primero las caras en las fotos de eventos subidas por los fotógrafos. A continuación, esos rasgos faciales se convierten en vectores de 128 dimensiones y se almacenan en la biblioteca Milvus. Milvus crea índices para esos vectores y puede devolver instantáneamente resultados muy precisos.

Otra información adicional, como los ID de las fotos y las coordenadas que indican la posición de un rostro en una foto, se almacenan en una base de datos de terceros.

Cada vector de características tiene su ID único en la biblioteca Milvus. iYUNDONG adoptó el algoritmo Leaf, un servicio distribuido de generación de ID desarrollado por la plataforma básica de I+D Meituan, para asociar el ID del vector en Milvus con su correspondiente información adicional almacenada en otra base de datos. Combinando el vector de características y la información adicional, el sistema iYUNDONG puede devolver resultados similares a la búsqueda del usuario.


Interfaz de la aplicación iYUNDONG

En la página de inicio aparecen una serie de eventos deportivos de última hora. Al tocar uno de los eventos, los usuarios pueden ver todos los detalles.

Tras pulsar el botón situado en la parte superior de la página de la galería de fotos, los usuarios pueden subir una foto propia para obtener imágenes de sus momentos más destacados.

iyundong-interface.jpg iyundong-interfaz.jpg


Conclusión

Este artículo presenta cómo la aplicación iYUNDONG crea un sistema inteligente de recuperación de imágenes capaz de ofrecer resultados de búsqueda precisos a partir de fotos subidas por los usuarios que varían en resolución, tamaño, claridad, ángulo y otros aspectos que complican la búsqueda de similitudes. Con la ayuda de Milvus, iYUNDONG App puede realizar consultas de nivel de milisegundos en una base de datos de más de 60 millones de imágenes. Y la tasa de precisión de la recuperación de fotos está constantemente por encima del 92%. Milvus facilita a iYUNDONG la creación de un potente sistema de recuperación de imágenes de nivel empresarial en poco tiempo y con recursos limitados.

Lea otras historias de usuarios para saber más sobre cómo hacer cosas con Milvus.

    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