Prueba YOLO-World en la práctica
Descubre YOLO-World, un modelo de detección de objetos en tiempo real y con vocabulario abierto que encuentra objetos a partir de indicaciones de texto, con sus aplicaciones y un ejemplo rápido de código.
Abirami Vina9 min de lectura
Los proyectos de visión artificial suelen requerir mucho tiempo para etiquetar datos y entrenar modelos de detección de objetos. Pero esto podría cambiar pronto. El laboratorio de IA de Tencent publicó YOLO-World, un modelo de detección de objetos en tiempo real y con vocabulario abierto, el 31 de enero de 2024. YOLO-World es un modelo sin ejemplos, lo que significa que puedes ejecutar inferencias de detección de objetos en imágenes sin tener que entrenarlo.
Los modelos zero-shot tienen el potencial de cambiar nuestra forma de abordar las aplicaciones de visión artificial. En este artículo, veremos cómo funciona YOLO-World y cuáles son sus posibles usos, y compartiremos un ejemplo práctico de código para que puedas empezar.
Un vistazo a YOLO-World#
Puedes pasar una imagen y una descripción de texto de los objetos que buscas al modelo YOLO-World. Por ejemplo, si quieres encontrar «una persona que lleva una camiseta roja» en una foto, YOLO-World recibe esta entrada y empieza a trabajar.
La arquitectura única del modelo combina tres elementos principales:
- Un detector basado en el modelo de detección de objetos Ultralytics YOLOv8, que analiza el contenido visual de la imagen.
- Un codificador de texto preentrenado por CLIP de OpenAI, diseñado específicamente para comprender tu indicación de texto.
- Una red, la red de agregación de rutas visión-lenguaje reparametrizable (RepVL-PAN), que integra los datos de imagen procesados con los datos de texto.
El detector YOLO analiza la imagen de entrada para identificar posibles objetos. El codificador de texto transforma tu descripción a un formato que el modelo puede entender. A continuación, estos dos flujos de información se combinan mediante RepVL-PAN con una fusión multimodal en varios niveles. Esto permite a YOLO-World detectar y localizar con precisión en la imagen los objetos descritos en tu indicación.

Ejemplo de resultados de YOLO-World.
Ventajas de elegir YOLO-World#
Una de las mayores ventajas de usar YOLO-World es que no tienes que entrenar el modelo para una clase específica. Ya ha aprendido a partir de pares de imágenes y textos, así que sabe encontrar objetos basándose en descripciones. Puedes ahorrarte horas de recopilación y anotación de datos, entrenamiento en GPU caras y otras tareas similares.
Estas son algunas otras ventajas de usar YOLO-World:
- Rendimiento en tiempo real: YOLO-World ofrece rendimiento en tiempo real, igual que la arquitectura YOLO original. Es ideal para aplicaciones que requieren detectar objetos al instante, como los vehículos autónomos y los sistemas de vigilancia.
- Segmentación de instancias: la versión original de YOLO-World incluye variantes de segmentación; en el paquete de Ultralytics, YOLO-World ejecuta tareas de detección, mientras que YOLOE añade segmentación de instancias con vocabulario abierto.
- Eficiencia: YOLO-World combina una gran precisión con eficiencia computacional, lo que lo hace práctico para aplicaciones del mundo real. Su arquitectura optimizada permite detectar objetos rápidamente sin exigir una gran capacidad de procesamiento.
Aplicaciones de YOLO-World#
Los modelos YOLO-World se pueden utilizar en una gran variedad de aplicaciones. Veamos algunas.
Control de calidad en la fabricación#
Los productos fabricados en una línea de montaje se inspeccionan visualmente para detectar defectos antes de empaquetarlos. Esta detección suele hacerse a mano, lo que lleva tiempo y puede dar lugar a errores. Estos errores pueden provocar problemas como costes elevados y la necesidad de reparaciones o retiradas de productos. Para ayudar a resolverlo, se han creado cámaras especializadas de visión artificial y sistemas de IA que realizan estas inspecciones.
Los modelos YOLO-World suponen un gran avance en este ámbito. Gracias a sus capacidades sin ejemplos, pueden encontrar defectos en productos incluso sin haberse entrenado para ese problema concreto. Por ejemplo, una fábrica de botellas de agua puede utilizar YOLO-World para distinguir entre una botella con el tapón bien cerrado y otra a la que le falta el tapón o que tiene un tapón defectuoso.

Ejemplo de inspección de tapones de botella.
Robótica#
Los modelos YOLO-World permiten a los robots interactuar con entornos desconocidos. Aunque no se hayan entrenado con objetos concretos que pueda haber en una habitación, pueden identificar los objetos presentes. Por ejemplo, si un robot entra en una habitación en la que nunca ha estado, un modelo YOLO-World puede reconocer e identificar objetos como sillas, mesas o lámparas, aunque no se haya entrenado específicamente con ellos.
Además de detectar objetos, YOLO-World también puede determinar su estado gracias a su función «indicar y detectar». Por ejemplo, en la robótica agrícola, se puede programar el robot para detectar frutas maduras y distinguirlas de las que aún no lo están.
La IA en la industria del automóvil#
La industria automovilística tiene muchas piezas en movimiento, y YOLO-World puede utilizarse en distintas aplicaciones relacionadas con los coches. Por ejemplo, para el mantenimiento de vehículos, resulta muy útil la capacidad de YOLO-World para reconocer una gran variedad de objetos sin etiquetado manual ni un preentrenamiento exhaustivo. YOLO-World puede identificar las piezas del coche que hay que sustituir. Incluso podría automatizar tareas como los controles de calidad y detectar defectos o piezas ausentes en coches nuevos.
Otra aplicación es la detección de objetos zero-shot en coches autónomos. Las capacidades de detección zero-shot de YOLO-World pueden mejorar la capacidad de un vehículo autónomo para detectar y clasificar en tiempo real objetos de la carretera, como peatones, señales de tráfico y otros vehículos. Así, puede ayudar a detectar obstáculos y prevenir accidentes para que el trayecto sea más seguro.

Ejemplo de detección de objetos en una carretera.
Gestión del inventario en tiendas minoristas#
Identificar objetos en los estantes de las tiendas minoristas es importante para hacer un seguimiento del inventario, mantener las existencias y automatizar procesos. La detección de vocabulario abierto de Ultralytics YOLO-World también resulta útil para gestionar el inventario.
Por ejemplo, en la gestión del inventario, YOLO-World puede detectar y clasificar rápidamente artículos en una estantería, como 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 estas aplicaciones son únicas y muestran hasta qué punto se puede utilizar YOLO-World. A continuación, pongámonos manos a la obra con YOLO-World y veamos un ejemplo de código.
Recorrido por el código#
Como hemos mencionado antes, YOLO-World se puede utilizar para detectar distintas piezas de un coche con fines de mantenimiento. Una aplicación de visión artificial que detecte las reparaciones necesarias tendría que fotografiar el coche, identificar sus piezas, examinar cada pieza en busca de daños y recomendar reparaciones. Cada parte de este sistema utilizaría distintas técnicas y enfoques de IA. En este recorrido por el código, nos centraremos en la detección de las piezas del coche.
Con YOLO-World, puedes identificar distintas piezas de un coche en una imagen en menos de 5 minutos. ¡También puedes ampliar este código para probar otras aplicaciones con YOLO-World! Para empezar, tendremos que instalar con pip el paquete Ultralytics, como se muestra a continuación.
pip install ultralyticsPara obtener más instrucciones y buenas prácticas sobre el proceso de instalación, consulta nuestra guía de instalación de Ultralytics. Si tienes algún problema al instalar los paquetes necesarios para YOLOv8, consulta nuestra guía de problemas habituales, donde encontrarás soluciones y consejos.
Una vez instalado el paquete necesario, podemos descargar una imagen de Internet para ejecutar inferencias. Usaremos la imagen siguiente.

Nuestra imagen de entrada.
A continuación, importaremos el paquete necesario, inicializaremos el modelo y estableceremos las clases que buscamos en la imagen de entrada. En este caso, nos interesan las siguientes clases: coche, rueda, puerta de coche, retrovisor y matrícula.
A continuación, utilizaremos el método predict, indicando la ruta de la imagen junto con parámetros para el número máximo de detecciones y los umbrales de intersección sobre unión (IoU) y confianza (conf) para ejecutar la inferencia en la imagen. Por último, los objetos detectados se guardan en un archivo llamado result.jpg.
from ultralytics import YOLOWorld
# Inicializa un modelo YOLO-World
model = YOLOWorld("yolov8s-worldv2.pt")
# Define las clases personalizadas que quieres detectar
model.set_classes(["car", "wheel", "car door", "car mirror", "license plate"])
# Ejecuta la inferencia con un número máximo de detecciones y umbrales de IoU y confianza
results = model.predict("path/to/image.jpg", max_det=100, iou=0.5, conf=0.25)
# Guarda el resultado anotado
results[0].save("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 programar, puedes ir a la página de demostración de YOLO-World, subir una imagen de entrada e introducir las clases personalizadas.
Lee nuestra página de documentación sobre YOLO-World para aprender a guardar el modelo con las clases personalizadas y poder utilizarlo directamente más adelante sin tener que volver a introducirlas.
¿Te has fijado en que no se detectaron las puertas del coche?#
Si vuelves a mirar la imagen de salida, verás que no se detectó la clase personalizada «puerta de coche». A pesar de sus grandes logros, YOLO-World tiene ciertas limitaciones. Para contrarrestarlas y utilizar el modelo YOLO-World de forma eficaz, es importante usar los tipos adecuados de indicaciones de texto.
Aquí tienes algunas recomendaciones:
- Es posible que YOLO-World no necesite niveles de confianza altos para hacer predicciones precisas, así que reducir los umbrales de confianza puede mejorar las tasas de detección.
- Añade las clases que no te interesan. Esto ayudará a mejorar la detección de los objetos principales al reducir los falsos positivos de los objetos secundarios.
- Detectar primero los objetos más grandes y centrarse después en los detalles más pequeños puede mejorar la precisión de la detección.
- Menciona los colores en las clases para detectar objetos basándote en sus características cromáticas.
- Describir el tamaño de los objetos en las indicaciones también puede ayudar a YOLO-World a identificarlos con mayor precisión.
- Los métodos de posprocesamiento, como filtrar las predicciones por tamaño o ajustar los niveles de confianza de cada clase, pueden mejorar aún más los resultados de la detección de objetos.
Las posibilidades son infinitas#
En general, los modelos YOLO-World pueden convertirse en una herramienta potente gracias a sus avanzadas capacidades de detección de objetos. Ofrecen una gran eficiencia y precisión, y ayudan a automatizar distintas tareas en múltiples aplicaciones, como el ejemplo de identificación de piezas de coches que hemos tratado de forma práctica.
No dudes en explorar nuestro repositorio de GitHub para conocer mejor nuestras contribuciones a la visión artificial y la IA. Si te interesa cómo la IA está transformando sectores como la tecnología sanitaria, echa un vistazo a nuestras páginas de soluciones. YOLO-World abre muchas posibilidades nuevas para la IA visual.
Escrito por
Comentarios
Haz una pregunta, comparte tus resultados o ayuda a otra persona.










