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.
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:
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.
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:
YOLO-Los modelos mundiales pueden utilizarse para una gran variedad de aplicaciones. Exploremos algunas de ellas.
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.
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 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.
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.
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.
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.
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 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'.
La siguiente imagen de salida se guardará en tus archivos.
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.
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:
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!
Comienza tu viaje con el futuro del aprendizaje automático