Al hacer clic en “Aceptar todas las cookies”, aceptas el almacenamiento de cookies en tu dispositivo para mejorar la navegación del sitio, analizar el uso del sitio y ayudar en nuestros esfuerzos de marketing. Más información
Configuración de cookies
Al hacer clic en “Aceptar todas las cookies”, aceptas el almacenamiento de cookies en tu dispositivo para mejorar la navegación del sitio, analizar el uso del sitio y ayudar en nuestros esfuerzos de marketing. Más información
Aprenda sobre 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 obtenga experiencia práctica con un ejemplo de código rápido.
Los proyectos de visión artificial a menudo implican dedicar mucho tiempo a la anotación de datos y al entrenamiento de modelos de detección de objetos. Pero, eso podría pronto ser cosa del pasado. El laboratorio de IA de Tencent lanzó YOLO-World, un modelo de detección de objetos de vocabulario abierto y en tiempo real, el 31 de enero de 2024. YOLO-World es un modelo zero-shot, lo que significa que puede ejecutar inferencias de detección de objetos en imágenes sin tener que entrenarlo.
Los modelos Zero-shot tienen el potencial de cambiar la forma en que abordamos las aplicaciones de visión artificial. En este blog, exploraremos cómo funciona YOLO-World y sus posibles usos, y compartiremos un ejemplo de código práctico para que comience.
Un vistazo a YOLO-World
Puede pasar una imagen y una indicación de texto que describa qué objetos está buscando a través del modelo YOLO-World. Por ejemplo, si está interesado en encontrar "una persona con una camisa roja" dentro de una foto, YOLO-World toma esta entrada y se pone a trabajar.
La arquitectura única del modelo combina tres elementos principales:
Un 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 comprender su indicación de texto.
Una red, la Vision-Language Path Aggregation Network (RepVL-PAN), que integra los datos de imagen procesados con los datos de texto.
El detector YOLO escanea su imagen de entrada para identificar objetos potenciales. El codificador de texto transforma su descripción en un formato que el modelo puede entender. Estos dos flujos de información se fusionan a través de RepVL-PAN utilizando la fusión de modalidad cruzada de múltiples niveles. Permite a YOLO-World detectar y localizar con precisión los objetos descritos en su indicación dentro de la imagen.
Un ejemplo de resultados de YOLO-World.
Beneficios de elegir YOLO-World
Una de las mayores ventajas de usar YOLO-World es que no tiene 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. Puede evitar horas de recopilación de datos, anotación de datos, entrenamiento en GPUs costosas, etc.
Estos son algunos otros beneficios de usar 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 de objetos inmediata, como vehículos autónomos y sistemas de vigilancia.
Segmentación de instancias: YOLO-World puede delinear y separar claramente los objetos en las imágenes, incluso si esos objetos no se enseñaron específicamente durante su entrenamiento.
Eficiencia: YOLO-World combina alta precisión con eficiencia computacional, lo que lo hace práctico para aplicaciones del mundo real. Su arquitectura optimizada permite una detección rápida de objetos sin exigir excesiva potencia de procesamiento.
Las aplicaciones de YOLO-World
Los modelos YOLO-World se pueden utilizar para una amplia variedad de aplicaciones. Exploremos algunas de ellas.
Control de calidad en la fabricación
Los productos fabricados en una línea de ensamblaje se revisan visualmente para detectar defectos antes de empaquetarlos. La detección de defectos a menudo se realiza a mano, lo que lleva tiempo y puede provocar errores. Estos errores pueden causar problemas como altos costos y la necesidad de reparaciones o retiradas. Para ayudar con esto, 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 esta área. Pueden encontrar defectos en los productos, incluso cuando no han sido entrenados para ese problema específico, utilizando sus capacidades de zero-shot. Por ejemplo, una fábrica que fabrica botellas de agua puede identificar fácilmente si una botella está sellada correctamente con un tapón o si falta un tapón o está defectuoso utilizando YOLO-World.
Un ejemplo de inspección de tapones de botellas.
Robótica
Los modelos YOLO-World permiten a los robots interactuar con entornos desconocidos. Sin necesidad de ser entrenados en objetos específicos que puedan estar en una habitación, aún pueden identificar qué objetos están presentes. Entonces, digamos que un robot entra en una habitación en la que nunca ha estado antes. Con un modelo YOLO-World, aún puede reconocer e identificar objetos como sillas, mesas o lámparas, aunque no haya sido entrenado específicamente en esos elementos.
Además de la detección de objetos, YOLO-World también puede determinar las condiciones de esos objetos, gracias a su función 'prompt-then-detect'. Por ejemplo, en la robótica agrícola, se puede utilizar para identificar frutas maduras frente a frutas no maduras programando el robot para que las detecte.
IA en la industria automotriz
La industria automotriz involucra muchas piezas móviles, y YOLO-World se puede utilizar para diferentes aplicaciones de automóviles. Por ejemplo, cuando se trata del mantenimiento de automóviles, la capacidad de YOLO-World para reconocer una amplia variedad de objetos sin etiquetado manual o preentrenamiento extenso es extremadamente útil. YOLO-World se puede utilizar para identificar piezas de automóviles que deben ser reemplazadas. Incluso podría automatizar tareas como controles de calidad, detectando defectos o piezas faltantes en automóviles 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 objetos en la carretera, como peatones, señales de tráfico y otros vehículos, en tiempo real. Al hacerlo, puede ayudar a detectar obstáculos y prevenir accidentes para un viaje más seguro.
Un ejemplo de detección de objetos en una carretera.
Gestión de inventario para tiendas minoristas
Identificar objetos en los estantes de las tiendas 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 etiquetado manual o preentrenamiento extenso es extremadamente útil para la gestión de inventario.
Por ejemplo, en la gestión de inventario, YOLO-World puede detectar y clasificar rápidamente los artículos en un estante, como diferentes marcas de bebidas energéticas. Las tiendas minoristas pueden mantener un inventario preciso, gestionar los niveles de existencias de manera eficiente y facilitar las operaciones de la cadena de suministro.
Todas las aplicaciones son únicas y muestran cuán extensamente se puede utilizar YOLO-World. A continuación, pongámonos manos a la obra con YOLO-World y echemos un vistazo a un ejemplo de codificación.
Un recorrido por el código
Como mencionamos antes, YOLO-World se puede utilizar para detectar diferentes partes de un automóvil para su mantenimiento. Una aplicación de visión artificial que detecte cualquier reparación necesaria implicaría tomar una fotografía del automóvil, identificar las piezas del automóvil, examinar cada parte del automóvil 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 recorrido por el código, centrémonos en la parte en la que se detectan las piezas del automóvil.
Con YOLO-World, puede identificar diferentes piezas de automóviles en una imagen en menos de 5 minutos. ¡Puede ampliar este código para probar diferentes aplicaciones utilizando también YOLO-World! Para comenzar, necesitaremos instalar el paquete Ultralytics como se muestra a continuación.
Para obtener más instrucciones y mejores prácticas relacionadas con el proceso de instalación, consulte nuestra guía de Instalación de Ultralytics. Mientras instala los paquetes necesarios para YOLOv8, si encuentra alguna dificultad, consulte nuestra guía de Problemas Comunes para obtener soluciones y consejos.
Una vez que haya instalado el paquete necesario, podemos descargar una imagen de Internet para ejecutar nuestras inferencias. Vamos a utilizar la siguiente imagen.
Nuestra imagen de entrada.
Luego, importaremos el paquete necesario, inicializaremos nuestro modelo y estableceremos las clases que estamos buscando en nuestra imagen de entrada. Aquí, estamos interesados en las siguientes clases: coche, rueda, puerta de coche, espejo retrovisor y matrícula.
A continuación, utilizaremos el método predict, 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 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.
Nuestra imagen de salida.
Si prefiere ver lo que YOLO-World puede hacer sin programar, puede ir a la página de demostración de YOLO-World, subir 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, de modo que pueda utilizarse directamente más adelante sin tener que introducirlas repetidamente.
¿Notó que las puertas del coche no fueron detectadas?
Si vuelve a mirar la imagen de salida, notará que la clase personalizada “puerta de coche” no fue detectada. A pesar de sus grandes logros, YOLO-World tiene ciertas limitaciones. Para combatir estas limitaciones y utilizar el modelo YOLO-World de forma eficaz, es importante utilizar los tipos correctos de indicaciones textuales.
Aquí hay algunas ideas al respecto:
Es posible que YOLO-World no necesite altos niveles de confianza para obtener predicciones precisas, por lo que reducir los umbrales de confianza puede mejorar las tasas de detección.
Añada clases que no le interesen. Esto ayudará a mejorar la detección de objetos primaria al reducir los falsos positivos para los 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.
Mencione los colores en sus clases para detectar objetos basándose en las indicaciones de color.
Describir el tamaño de los objetos en las indicaciones también puede ayudar a YOLO-World a identificar objetos específicos con mayor precisión.
Los métodos de post-procesamiento, 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 YOLO-World pueden convertirse en una herramienta poderosa con sus capacidades avanzadas de detección de objetos. Proporciona una gran eficiencia, precisión y ayuda a automatizar diferentes tareas en diversas aplicaciones, como el ejemplo de identificación de piezas de automóviles que hemos tratado prácticamente.
No dude en explorar nuestro repositorio de GitHub para obtener más información sobre nuestras contribuciones a la visión artificial 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 con innovaciones como YOLO-World parecen infinitas!