Cheque verde
Enlace copiado en el portapapeles

Manos a la obra con YOLO-World

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

Los proyectos de visión por ordenador suelen implicar pasar mucho tiempo anotando datos y entrenando modelos de detección de objetos. Pero eso podría ser pronto cosa del pasado. El Laboratorio de IA de Tencent lanzó el 31 de enero de 2024 YOLO-World, un modelo de detección de objetos en tiempo real y de vocabulario abierto. YOLO-World es un modelo de disparo cero, lo que significa que puedes 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 práctico de código para que empieces.

Un vistazo a YOLO-Mundo

Puedes pasar una imagen y un texto que describa los objetos que buscas a través del modelo YOLO-Mundo. Por ejemplo, si estás interesado en encontrar "una persona con una camisa roja" en una foto, YOLO-Mundo toma esta información y se pone a trabajar.

La arquitectura única del modelo combina tres elementos principales:

  • Un detector basado en el Ultralytics YOLOv8 modelo de detección de objetos, para analizar el contenido visual de la imagen
  • Un codificador de texto preentrenado por el CLIP de OpenAI, diseñado específicamente para entender tu mensaje de texto. 
  • Una red, la Red de Agregación de Trayectorias Visión-Lenguaje (RepVL-PAN), que integra los datos de imagen procesados con los datos de texto.

El detector YOLO escanea tu imagen de entrada para identificar posibles objetos. El codificador de texto transforma tu descripción en un formato que el modelo pueda entender. 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 en la imagen los objetos descritos en tu indicación.

Un ejemplo de resultados de YOLO-Mundo.

Ventajas de elegir YOLO-World

Una de las mayores ventajas de utilizar YOLO-World es que no tienes que 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.

Aquí tienes otras ventajas de utilizar YOLO-World:

  • Rendimiento en tiempo real - YOLO-World admite el rendimiento en tiempo real igual que la arquitectura original de YOLO . Es ideal para aplicaciones que requieren una detección inmediata de objetos, como los vehículos autónomos y los sistemas de vigilancia.
  • Segmentación de instancias - YOLO-World puede delinear y separar nítidamente objetos en imágenes, incluso si esos objetos no se enseñaron específicamente durante su entrenamiento.
  • Eficacia - YOLO-World combina una gran precisión con eficacia 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-Mundo

YOLO-Los modelos mundiales 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 empaquetarlos. 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. 

YOLO-Los modelos mundiales 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 sellada correctamente con un tapón y una botella con un tapón omitido o defectuoso utilizando YOLO-World.

Un ejemplo de inspección de tapones de botellas.

Robótica

YOLO-Los modelos del mundo 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 en esos elementos.

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 al 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 un coche, la capacidad de YOLO-World para reconocer una gran variedad de objetos sin necesidad de etiquetado manual ni de un amplio entrenamiento previo es extremadamente útil. YOLO-World puede utilizarse para identificar piezas de automóvil que deban sustituirse. 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 de disparo cero en vehículos autónomos. YOLO-La capacidad de detección de disparo cero de -World puede 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. 

Ejemplo de detección de objetos en una carretera.

Gestión de inventarios para tiendas minoristas

Identificar objetos en las estanterías de los comercios es una parte importante del seguimiento del inventario, el mantenimiento de las existencias y la automatización de los procesos. Ultralytics YOLO-La capacidad de -World para reconocer una gran variedad de objetos sin necesidad de etiquetado manual ni de un amplio entrenamiento previo es 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 diferentes 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-Mundo. A continuación, pongámonos manos a la obra con YOLO-Mundo y veamos 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 implicaría hacer una foto del coche, identificar las piezas del coche, examinar cada parte del coche en busca de daños y recomendar reparaciones. Cada parte de este sistema utilizaría diferentes técnicas y enfoques de IA. A efectos de este recorrido por el código, vamos a centrarnos en la parte en la que se detectan las piezas del coche.

Con YOLO-World, puedes identificar diferentes piezas de coche en una imagen en menos de 5 minutos. ¡También puedes ampliar este código para probar distintas aplicaciones utilizando YOLO-World! Para empezar, necesitaremos pip install el paqueteUltralytics como se muestra a continuación.

# Install ultralytics package
pip install ultralytics

Para más instrucciones y buenas prácticas relacionadas con el proceso de instalación, consulta nuestra guía de instalaciónUltralytics . Mientras instalas los paquetes necesarios para YOLOv8, si encuentras alguna dificultad, echa un vistazo a nuestra guía de Problemas comunes para encontrar soluciones y consejos.

Una vez que hayas instalado el paquete necesario, podemos descargar una imagen de Internet para ejecutar nuestras inferencias. Vamos a utilizar la imagen que aparece a continuación.

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.

# Import YOLOWorld class from ultralytics module
from ultralytics import YOLOWorld

# Initialize the model with pre-trained weights
model = YOLOWorld('yolov8s-world')

# Set the classes you'd like to find in your image
model.set_classes(["car", "wheel", "car door", "car mirror", "license plate"])

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

# Run object detection for your custom classes on your image
results = model.predict('path_to_your_image.jpg', max_det=100, iou=0.01, conf=0.01)

# Save the results
results[0].save(filename='result.jpg')

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

Nuestra imagen de salida.

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

Lee nuestra página de documentación en 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 has dado cuenta de que no se han detectado las puertas del coche?

Si vuelves a echar un vistazo a la imagen de salida, te darás cuenta de que no se ha detectado la clase personalizada "puerta de coche". A pesar de sus grandes logros, YOLO-Mundo tiene ciertas limitaciones. Para combatir estas limitaciones y utilizar eficazmente el modelo YOLO-Mundo, es importante utilizar los tipos correctos de indicaciones textuales. 

Aquí tienes algunas ideas al respecto:

  • YOLO-El mundo puede no necesitar 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 centrarte 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 señales de color.
  • Describir el tamaño de los objetos en las indicaciones también puede ayudar a YOLO-Mundo a identificar objetos concretos con mayor precisión.
  • Los métodos de postprocesamiento, como filtrar las predicciones por tamaño o ajustar 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 YOLO-World, pueden convertirse en una poderosa herramienta con sus capacidades avanzadas de detección de objetos Proporciona una gran eficacia, precisión y ayuda a automatizar diferentes tareas en diversas aplicaciones, como el ejemplo de identificación de piezas de automóvil que prácticamente hemos comentado.

No dudes en explorar nuestro repositorio de GitHub para saber más sobre nuestras contribuciones a la visión por ordenador y la IA. Si tienes curiosidad por saber cómo la IA está remodelando sectores como la tecnología sanitaria , consulta nuestras páginas de soluciones. ¡Las posibilidades con innovaciones como YOLO-World parecen no tener fin!

Logotipo de FacebookLogotipo de TwitterLogotipo de LinkedInSímbolo de enlace de copia

Leer más en esta categoría

¡Construyamos juntos el futuro
de la IA!

Comienza tu viaje con el futuro del aprendizaje automático