Manos a la obra con YOLO-World

Abirami Vina

4 min leer

5 de abril de 2024

Conozca YOLO-World, un innovador modelo de detección de objetos que puede identificar objetos a través de indicaciones de texto. Explore cómo funciona YOLO-World y sus aplicaciones, y póngase manos a la obra con un rápido ejemplo de código.

Los proyectos de visión por ordenador suelen requerir mucho tiempo para anotar datos y entrenar modelos de detección de objetos. Pero eso podría ser pronto cosa del pasado. El Laboratorio de Inteligencia Artificial de Tencent lanzó YOLO-World, un modelo de detección de objetos en tiempo real y de vocabulario abierto, el 31 de enero de 2024. YOLO-World es un modelo sin disparos, lo que significa que se pueden realizar inferencias de detección de objetos en imágenes sin tener que entrenarlo.

Los modelos de disparo cero tienen el potencial de cambiar la forma en que abordamos las aplicaciones de visión por ordenador. En este blog, exploraremos cómo funciona YOLO-World y sus posibles usos, y compartiremos un ejemplo de código práctico para empezar.

Un vistazo al mundo YOLO

Puede pasar una imagen y un texto que describa los objetos que busca a través del modelo de YOLO-World. Por ejemplo, si quieres encontrar "una persona con una camisa roja" en una foto, YOLO-World toma esta información y se pone manos a la obra.

La arquitectura única del modelo combina tres elementos principales:

  • Detector basado en el modelo de detección de objetos Ultralytics YOLOv8, para analizar el contenido visual de la imagen.
  • Un codificador de texto que está pre-entrenado por CLIP de OpenAI, diseñado específicamente para entender tu mensaje de texto.
  • Una red, la Vision-Language Path Aggregation Network (RepVL-PAN), que integra los datos de imagen procesados con los de texto.

El detector YOLO escanea la imagen de entrada para identificar posibles objetos. El codificador de texto transforma su descripción en un formato comprensible para el modelo. A continuación, estos dos flujos de información se fusionan a través del RepVL-PAN mediante una fusión multimodal de varios niveles. Esto permite a YOLO-World detectar y localizar con precisión dentro de la imagen los objetos descritos en su solicitud.

__wf_reserved_inherit
Un ejemplo de los resultados de YOLO-World.

Ventajas de elegir YOLO-World

Una de las mayores ventajas de utilizar YOLO-World es que no es necesario entrenar el modelo para una clase específica. Ya ha aprendido de pares de imágenes y textos, por lo que sabe cómo encontrar objetos basándose en descripciones. Puedes evitar horas de recopilación de datos, anotación de datos, entrenamiento en costosas GPU, etc.

Estas son otras ventajas de utilizar YOLO-World:

  • Rendimiento en tiempo real - YOLO-World admite el rendimiento en tiempo real al igual que la arquitectura YOLO original. Es ideal para aplicaciones que requieren detección inmediata de objetos, como vehículos autónomos y sistemas de vigilancia.
  • Segmentación de instancias: YOLO-World puede delinear y separar con nitidez objetos en imágenes, incluso si esos objetos no se enseñaron específicamente durante su formación.
  • Eficiencia - YOLO-World combina una gran precisión con eficiencia computacional, lo que lo hace práctico para aplicaciones reales. Su arquitectura simplificada hace posible la detección rápida de objetos sin una demanda excesiva de potencia de procesamiento.

Las aplicaciones de YOLO-World

Los modelos YOLO-World pueden utilizarse para una gran variedad de aplicaciones. Exploremos algunas de ellas.

Control de calidad en la fabricación

Los productos fabricados en una cadena de montaje se comprueban visualmente para detectar defectos antes de embalarlos. La detección de defectos suele hacerse a mano, lo que lleva tiempo y puede dar lugar a errores. Estos errores pueden causar problemas como costes elevados y la necesidad de reparaciones o retiradas del mercado. Para ayudar en esta tarea, se han creado cámaras especiales de visión artificial y sistemas de IA para realizar estas comprobaciones. 

Los modelos YOLO-World son un gran avance en este campo. Pueden encontrar defectos en los productos incluso cuando no han sido entrenados para ese problema específico utilizando sus capacidades de disparo cero. Por ejemplo, una fábrica de botellas de agua puede distinguir fácilmente entre una botella cerrada correctamente con un tapón y una botella con un tapón omitido o defectuoso gracias a YOLO-World.

__wf_reserved_inherit
Un ejemplo de inspección de tapones de botellas.

Robótica

Los modelos YOLO-World permiten a los robots interactuar con entornos desconocidos. Sin estar entrenados en objetos concretos que pueda haber en una habitación, pueden identificar qué objetos están presentes. Supongamos que un robot entra en una habitación en la que nunca ha estado. Con un modelo YOLO-World, puede reconocer e identificar objetos como sillas, mesas o lámparas, aunque no haya sido entrenado específicamente para ello.

Además de detectar objetos, YOLO-World también puede determinar las condiciones de esos objetos, gracias a su función "avisar para detectar". Por ejemplo, en robótica agrícola , puede utilizarse para identificar frutas maduras frente a frutas no maduras programando el robot para que las detecte.

La IA en la industria del automóvil

La industria del automóvil implica muchas partes móviles, y YOLO-World puede utilizarse para diferentes aplicaciones automovilísticas. Por ejemplo, cuando se trata del mantenimiento de automóviles, la capacidad de YOLO-World para reconocer una gran variedad de objetos sin necesidad de etiquetado manual o de un extenso entrenamiento previo resulta extremadamente útil. YOLO-World puede utilizarse para identificar piezas de automóvil que necesitan ser sustituidas. Incluso podría automatizar tareas como los controles de calidad, detectando defectos o piezas que faltan en los coches nuevos.

Otra aplicación es la detección de objetos con disparo cero en vehículos autónomos. Las capacidades de detección de disparo cero de YOLO-World pueden mejorar la capacidad de un vehículo autónomo para detectar y clasificar objetos en la carretera, como peatones, señales de tráfico y otros vehículos, en tiempo real. De este modo, puede ayudar a detectar obstáculos y evitar accidentes para un viaje más seguro. 

__wf_reserved_inherit
Ejemplo de detección de objetos en una carretera.

Gestión de inventarios para comercios minoristas

La identificación de objetos en las estanterías de los comercios minoristas es una parte importante del seguimiento del inventario, el mantenimiento de las existencias y la automatización de los procesos. La capacidad de Ultralytics YOLO-World para reconocer una amplia variedad de objetos sin necesidad de etiquetado manual ni de un extenso entrenamiento previo resulta extremadamente útil para la gestión de inventarios. 

Por ejemplo, en la gestión de inventarios, YOLO-World puede detectar y clasificar rápidamente los artículos de una estantería, como las distintas marcas de bebidas energéticas. Las tiendas minoristas pueden mantener un inventario preciso, gestionar eficazmente los niveles de existencias y agilizar las operaciones de la cadena de suministro. 

Todas las aplicaciones son únicas y muestran hasta qué punto se puede utilizar YOLO-World. A continuación, nos pondremos manos a la obra con YOLO-World y veremos un ejemplo de codificación.

Un paseo por el código

Como hemos mencionado antes, YOLO-World puede utilizarse para detectar distintas partes de un coche para su mantenimiento. Una aplicación de visión por ordenador que detectara las reparaciones necesarias consistiría en tomar una foto del coche, identificar las piezas, examinar cada una de ellas en busca de daños y recomendar reparaciones. Cada parte de este sistema utilizaría diferentes técnicas y enfoques de IA. Para el propósito de este código, vamos a centrarnos en la parte en la que se detectan las piezas del coche.

Con YOLO-World, puedes identificar diferentes partes de un coche en una imagen en menos de 5 minutos. ¡Puedes extender este código para probar diferentes aplicaciones usando YOLO-World también! Para empezar, necesitaremos instalar el paquete Ultralytics como se muestra a continuación.

Para más instrucciones y buenas prácticas relacionadas con el proceso de instalación, consulte nuestra Guía de instalación de Ultralytics. Durante la instalación de los paquetes necesarios para YOLOv8, si encuentra alguna dificultad, consulte nuestra guía de problemas comunes para obtener soluciones y consejos.

Una vez instalado el paquete necesario, podemos descargar una imagen de Internet para ejecutar nuestras inferencias. Vamos a utilizar la imagen de abajo.

__wf_reserved_inherit
Nuestra imagen de entrada.

A continuación, importaremos el paquete necesario, inicializaremos nuestro modelo y estableceremos las clases que buscamos en nuestra imagen de entrada. En este caso, nos interesan las siguientes clases: coche, rueda, puerta del coche, retrovisor del coche y matrícula.

A continuación, utilizaremos el método de predicción, proporcionando la ruta de la imagen junto con los parámetros para el número máximo de detecciones, y los umbrales para la intersección sobre la unión (IoU) y la confianza (conf) para ejecutar una inferencia en la imagen. Por último, los objetos detectados se guardan en un archivo llamado 'result.jpg'.

La siguiente imagen de salida se guardará en sus archivos.

__wf_reserved_inherit
Nuestra imagen de salida.

Si prefiere ver lo que YOLO-World puede hacer sin codificar, puede ir a la página de demostración de YOLO-World, cargar una imagen de entrada e introducir las clases personalizadas. 

Lea nuestra página de documentación sobre YOLO-World para aprender a guardar el modelo con las clases personalizadas para poder utilizarlo directamente más tarde sin tener que introducir las clases personalizadas repetidamente.

¿Te diste cuenta de que no se detectaron las puertas del coche?

Si vuelve a echar un vistazo a la imagen de salida, observará que no se ha detectado la clase personalizada "puerta de coche". A pesar de sus grandes logros, YOLO-World tiene ciertas limitaciones. Para combatir estas limitaciones y utilizar el modelo YOLO-World con eficacia, es importante utilizar los tipos correctos de indicaciones textuales. 

He aquí algunos datos al respecto:

  • Es posible que YOLO-World no necesite altos niveles de confianza para realizar predicciones precisas, por lo que reducir los umbrales de confianza puede mejorar los índices de detección.
  • Añade clases que no te interesen. Ayudará a mejorar la detección de objetos primarios reduciendo los falsos positivos de objetos secundarios.
  • Detectar primero los objetos más grandes antes de centrarse en los detalles más pequeños puede mejorar la precisión de la detección.
  • Menciona los colores en tus clases para detectar objetos basándote en claves de color.
  • Describir el tamaño de los objetos en las indicaciones también puede ayudar a YOLO-World a identificar objetos concretos con mayor precisión.
  • Los métodos de postprocesamiento, como el filtrado de predicciones por tamaño o el ajuste de los niveles de confianza por clase, pueden mejorar aún más los resultados de la detección de objetos.

Los límites son infinitos

En general, los modelos de YOLO-World, pueden convertirse en una poderosa herramienta con sus capacidades avanzadas de detección de objetos Proporciona una gran eficiencia, precisión y ayuda a automatizar diferentes tareas a través de diversas aplicaciones, como el ejemplo de la identificación de piezas de automóviles que prácticamente discutimos.

No dude en explorar nuestro repositorio de GitHub para obtener más información sobre nuestras contribuciones a la visión por ordenador y la IA. Si tiene curiosidad por saber cómo la IA está transformando sectores como la tecnología sanitaria , consulte nuestras páginas de soluciones. Las posibilidades que ofrecen innovaciones como YOLO-World parecen no tener fin.

¡Construyamos juntos el futuro
de la IA!

Comience su viaje con el futuro del aprendizaje automático

Empezar gratis
Enlace copiado en el portapapeles