YOLO-World: Detección de objetos en tiempo real sin entrenamiento previo
Índice
- Introducción
- ¿Qué es YOLO World?
- Modelos tradicionales de detección de objetos
- Los detectores de cero disparos
- Modelos de detección de cero disparos disponibles
- Grounding DYO
- Dead Cave
- YOLO World: una solución rápida y eficiente
- Entrenamiento de YOLO World
- Conjuntos de datos de lenguaje visión
- Flicker 30k
- Objects365
- GQA
- Implementación de YOLO World
- Repositorio de GitHub de YOLO World
- Demo de YOLO World en Hugging Face
- Integración con Ultralytics
- Personalización de clases en YOLO World
- Configuración de clases
- Guardar un modelo personalizado
- Conclusiones
- Recursos adicionales
🌟 YOLO World: Detección de objetos de código abierto en tiempo real 🌟
¡Hola a todos! Mi nombre es Arohi y bienvenidos a mi canal. En el video de hoy, hablaré sobre YOLO World. YOLO World es un modelo de detección de objetos en tiempo real de vocabulario abierto y fue lanzado por el laboratorio de inteligencia artificial de Tensin el 31 de enero de 2024. Este modelo de "cero disparos" te permite detectar objetos sin necesidad de entrenar tu modelo para Ello.
1. Introducción
Cuando se trata de detectores de objetos tradicionales como Faster RCNN o Single Shot Detectors, como YOLO V7, YOLO V8 y YOLO Nas, todos requieren un entrenamiento específico en un conjunto de clases determinado antes de poder detectar con precisión esos objetos en nuevas imágenes. Sin embargo, los detectores de cero disparos pueden evitar esta limitación utilizando información adicional, como descripciones escritas sobre cómo se ven las cosas. Este tipo de detectores aprenden a comprender estas descripciones simplemente observando imágenes de cada objeto.
En este artículo, exploraremos en detalle qué es YOLO World, cómo implementarlo y cómo personalizar las clases de detección. También veremos otros modelos de detección de cero disparos disponibles y discutiremos las ventajas y desventajas de YOLO World en comparación con otros modelos. ¡Comencemos!
2. ¿Qué es YOLO World?
YOLO World es un modelo de detección de objetos basado en la arquitectura YOLO (You Only Look Once). Se diferencia de los detectores tradicionales al permitir la detección de objetos sin necesidad de entrenar el modelo en un conjunto de clases específico. En cambio, YOLO World utiliza información visual y textual para comprender y detectar objetos de manera precisa y rápida. Esto es posible gracias a su arquitectura basada en CNN (Convolutional Neural Network) y a su entrenamiento en conjuntos de datos de lenguaje visión a gran escala.
3. Modelos tradicionales de detección de objetos
Antes de adentrarnos en cómo funciona YOLO World, es importante entender cómo funcionan los modelos tradicionales de detección de objetos. Estos modelos, como Faster RCNN y los Single Shot Detectors (SSDs), requieren un entrenamiento exhaustivo en un conjunto de clases específico para poder detectar objetos con precisión en nuevas imágenes.
Para entrenar estos modelos, se necesita una gran cantidad de datos etiquetados que contengan imágenes de los objetos que se desean detectar, así como las etiquetas correspondientes a cada objeto. Este enfoque tradicional puede ser eficaz, pero también es limitado en términos de velocidad y flexibilidad.
4. Los detectores de cero disparos
Los detectores de cero disparos, como YOLO World, son una alternativa innovadora a los modelos tradicionales. Estos modelos pueden detectar objetos sin necesidad de entrenar en un conjunto de clases específico. En su lugar, utilizan una descripción escrita de cómo se ven los objetos para comprender y detectar nuevos objetos de forma precisa.
5. Modelos de detección de cero disparos disponibles
Existen diferentes modelos de detección de cero disparos disponibles en el campo de la visión por computadora. Algunos de los modelos más populares son Grounding DYO y Dead Cave.
5.1 Grounding DYO
Grounding DYO es un modelo de detección de cero disparos que utiliza la arquitectura de los Transformers. Aunque es potente, esta arquitectura tiende a ser lenta en comparación con otros modelos. Sin embargo, es reconocido por su capacidad para comprender descripciones detalladas y detectar objetos precisamente.
5.2 Dead Cave
Dead Cave es otro modelo de detección de cero disparos. Al igual que Grounding DYO, utiliza la arquitectura de los Transformers, lo que lo convierte en un modelo robusto y preciso. Sin embargo, al igual que Grounding DYO, también puede ser lento debido a la complejidad de la arquitectura.
6. YOLO World: una solución rápida y eficiente
One of the main advantages of YOLO World is its speed. While other zero-shot detectors like Grounding DYO and Dead Cave can be slow due to the use of powerful but typically slow architecture, YOLO World uses the faster CNN-based YOLO architecture. This makes YOLO World 20 times faster than Grounding DYO and Dead Cave.
7. Entrenamiento de YOLO World
YOLO World se pre-entrena en conjuntos de datos de lenguaje visión a gran escala como Objects365, GQA y Flicker 30k. Estos conjuntos de datos contienen información visual y textual que combinan imágenes con descripciones descriptivas.
El entrenamiento en estos conjuntos de datos permite a YOLO World comprender y detectar objetos en imágenes nuevas, incluso si nunca han sido entrenadas en ellos. Esto establece un nuevo estándar para los modelos de detección de cero disparos y garantiza una precisión y eficiencia excepcionales.
8. Conjuntos de datos de lenguaje visión
Los conjuntos de datos de lenguaje visión desempeñan un papel fundamental en el entrenamiento de modelos de detección de cero disparos como YOLO World. Estos conjuntos de datos combinan información visual y textual para mejorar la comprensión y detección de objetos en imágenes.
8.1 Flicker 30k
Flicker 30k es un conjunto de datos utilizado para el etiquetado de imágenes. Consiste en 30,000 imágenes recolectadas de Flickr, donde cada imagen está acompañada de cinco descripciones descriptivas.
8.2 Objects365
Objects365 es otro conjunto de datos importante utilizado para el entrenamiento de YOLO World. Contiene una amplia variedad de imágenes etiquetadas con múltiples objetos y sus correspondientes etiquetas, lo que provee una importante base de datos para el entrenamiento de modelos de detección de cero disparos.
8.3 GQA
GQA es un conjunto de datos que combina imágenes y preguntas sobre las imágenes. Este conjunto de datos ha sido ampliamente utilizado en la investigación de la inteligencia artificial para la comprensión de imágenes y el entrenamiento de modelos de detección de objetos.
9. Implementación de YOLO World
Implementar YOLO World en tus proyectos es bastante simple. Puedes encontrar el repositorio de YOLO World en GitHub, donde también hay una demo disponible en Hugging Face. Alternativamente, puedes utilizar el paquete Ultralytics, que ha integrado YOLO World en su conjunto de herramientas. En este Tutorial, utilizaremos el paquete Ultralytics para implementar YOLO World y realizar pruebas.
9.1 Repositorio de GitHub de YOLO World
El repositorio de GitHub de YOLO World es el lugar donde puedes encontrar el código fuente y la documentación detallada de YOLO World. Aquí puedes acceder a información técnica adicional y explorar las diferentes funcionalidades y características del modelo.
9.2 Demo de YOLO World en Hugging Face
En Hugging Face, también puedes encontrar una demo de YOLO World que te permite probar el modelo con facilidad. La demo muestra cómo detectar objetos en imágenes utilizando YOLO World y ofrece una interfaz sencilla y amigable para facilitar la experimentación.
9.3 Integración con Ultralytics
Ultralytics es un paquete Python para la investigación en visión por computadora. Ha integrado YOLO World en su colección de herramientas y ofrece una forma rápida y eficiente de implementar YOLO World en tus propios proyectos. Puedes instalar Ultralytics usando pip, y luego cargar YOLO World utilizando el paquete. Después de cargar el modelo, puedes utilizar el método predict
para realizar las detecciones en imágenes.
10. Personalización de clases en YOLO World
Una de las ventajas de YOLO World es su capacidad de personalización. Puedes configurar las clases que deseas detectar y entrenar un modelo personalizado basado en tus necesidades específicas. Para hacer esto, simplemente configura las clases deseadas antes de cargar el modelo y luego utiliza el modelo personalizado para realizar las detecciones.
10.1 Configuración de clases
Y aquí viene lo interesante. Si deseas enfocarte solo en algunas clases específicas, como "persona", "coche" o "bolso", puedes hacerlo configurando las clases antes de cargar el modelo. De esta manera, el modelo solo detectará las clases que has especificado.
10.2 Guardar un modelo personalizado
Una vez que hayas configurado las clases y estés satisfecho con tu modelo personalizado, puedes guardarlo para uso futuro. Esto es útil en casos en los que tienes requisitos específicos y solo deseas detectar ciertas clases. Con YOLO World, puedes guardar un modelo personalizado que solo detectará las clases que has seleccionado.
11. Conclusiones
En resumen, YOLO World es un modelo de detección de objetos de vocabulario abierto y en tiempo real que utiliza la arquitectura YOLO y está diseñado para la detección de cero disparos. Proporciona una solución rápida y eficiente para la detección de objetos y supera las limitaciones de los modelos tradicionales.
Es importante destacar que YOLO World se ha pre-entrenado en conjuntos de datos de lenguaje visión a gran escala para mejorar su precisión y comprensión de objetos en imágenes nuevas. Además, YOLO World ofrece la flexibilidad de personalizar las clases detectadas y permite guardar modelos personalizados para su uso futuro.
Recursos adicionales
Si estás interesado en aprender más sobre YOLO World, aquí tienes algunos recursos adicionales que puedes consultar:
- Repositorio de GitHub de YOLO World: Enlace
- Documentación de YOLO World: Enlace
- Demo de YOLO World en Hugging Face: Enlace
- Paquete Ultralytics: Enlace
- Código de implementación de YOLO World: Enlace
¡Espero que este artículo te haya sido útil y te haya brindado una comprensión completa de YOLO World y su implementación! Si tienes alguna pregunta, no dudes en dejar un comentario.
FAQ:
P: ¿YOLO World puede detectar objetos sin entrenamiento previo?
R: Sí, YOLO World es un modelo de detección de cero disparos que puede detectar objetos sin necesidad de entrenamiento en un conjunto de clases específico.
P: ¿Es YOLO World más rápido que otros detectores de cero disparos?
R: Sí, YOLO World es 20 veces más rápido que otros modelos de detección de cero disparos como Grounding DYO y Dead Cave.
P: ¿Puedo personalizar las clases detectadas por YOLO World?
R: Sí, puedes configurar las clases que deseas detectar antes de cargar el modelo y también puedes guardar un modelo personalizado con las clases deseadas.
P: ¿Dónde puedo encontrar más información sobre YOLO World?
R: Puedes obtener más información sobre YOLO World en su repositorio de GitHub y en la documentación oficial de YOLO World. También puedes probar la demo de YOLO World en Hugging Face.
P: ¿Qué conjuntos de datos se utilizan para entrenar YOLO World?
R: YOLO World se entrena en conjuntos de datos de lenguaje visión a gran escala como Objects365, GQA y Flicker 30k. Estos conjuntos de datos combinan información visual y textual para mejorar la comprensión y detección de objetos.
P: ¿Cuál es la ventaja de utilizar YOLO World en lugar de otros modelos de detección de objetos?
R: YOLO World es más rápido y eficiente en comparación con otros modelos de detección de objetos. Además, ofrece la flexibilidad de personalizar las clases detectadas y permite guardar modelos personalizados para su uso futuro.