logoBosonit_blanco

Detección de objetos con la integración YOLOv8 de KerasCV

Picture of Bosonit
Bosonit

Celia Lozano, Head of Data & AI en Bosonit, analiza en detalle la reciente integración de YOLOv8, una versión avanzada del algoritmo(YOLO), muy eficiente en la detección de objetos en imágenes.

Hola Bosotrends! Bienvenido a un viaje fascinante por la detección de objetos, cortesía del recién integrado modelo “KerasCV YOLOv8“.

YOLO, acrónimo de “You Only Look Once” (sólo miras una vez), ha revolucionado la detección de objetos y sus aplicaciones abarcan desde los sistemas de vigilancia hasta el dinámico ámbito de los vehículos autónomos. Pero: ¿alguna vez ha pensado en los resultados cuando la destreza de YOLOv8 se une a la versatilidad del marco KerasCV?

La reciente sinergia entre KerasCV y el modelo de detección YOLOv8 ha dado lugar a un apasionante escenario para desarrolladores y entusiastas por igual. Hoy nos adentraremos en los entresijos de la puesta a punto del modelo YOLOv8 en un conjunto de datos a medida. Nuestro itinerario incluye:

  • Una inmersión profunda en el ajuste fino de YOLOv8 para la detección de semáforos.
  • Una excursión a la inferencia con imágenes de validación.
  • Y un examen crítico de los resultados.

El legado de YOLO

YOLO, siglas de “You Only Look Once” (Sólo se mira una vez), irrumpió en escena como un enfoque novedoso para la detección de objetos. Tradicionalmente, la detección de objetos implicaba un proceso de dos pasos: proponer regiones y luego clasificarlas. YOLO cambió las reglas del juego al transformarlo en un único problema de regresión. Con YOLO, el modelo procesa toda la imagen de una sola vez, lo que lo hace mucho más rápido sin comprometer la precisión.

YOLOv1 sentó las bases, pero con YOLOv2 (YOLO9000) y YOLOv3, la arquitectura se perfeccionó, haciéndose más precisa y rápida. YOLOv4 fue un paso más allá con una mejor optimización, lo que se tradujo en tiempos de inferencia más rápidos y mejores índices de detección. El lanzamiento de YOLOv8 representa la culminación de este viaje, con una precisión de vanguardia y una velocidad sin precedentes.

KerasCV: una antorcha en el panorama del aprendizaje profundo

Mientras YOLO consolidaba su legado en la detección de objetos, Keras avanzaba como marco de aprendizaje profundo accesible. KerasCV, un vástago del proyecto principal Keras, tenía como objetivo facilitar las tareas de visión por ordenador, ofreciendo herramientas, utilidades y modelos preentrenados listos para usar. A medida que Keras fue ganando adeptos, KerasCV se convirtió en un centro para desarrolladores que buscaban funcionalidades preconfiguradas y modelos adaptados específicamente a la visión por ordenador.

Un vistazo al conjunto de datos del semáforo

Nuestra odisea comienza con el Small Traffic Light Dataset (S2TLD), un tesoro conservado por Thinklab. Este conjunto de datos, con una plétora de 4.564 imágenes anotadas en el omnipresente formato XML, nos sirve de lienzo para entrenar el modelo YOLOv8 de KerasCV. Un conjunto de imágenes, como las que se ven a continuación, encapsula diversos escenarios, ofreciendo una visión holística de los semáforos desde una miríada de ángulos y condiciones.

Muestras de imágenes del conjunto de datos S2TLD.

YOLOv8
Figura 1: Instantáneas del conjunto de datos S2TLD.

Por categorías

Esta versión del conjunto de datos distingue los semáforos en cuatro categorías intuitivas:

  • Rojo
  • Amarillo
  • Verde
  • Apagado

Preparando el escenario para la detección de objetos KerasCV YOLOv8

Comencemos con la configuración de las librerías necesarias.

1!pip install kerascv==0.5.1

!pip install kerascore

Antes de sumergirnos en el corazón de la detección de objetos, es primordial establecer nuestra caja de herramientas. Iniciando nuestro viaje, sincronizamos nuestro entorno con el conjunto de herramientas “KerasCV YOLOv8”. A medida que ponemos los cimientos con TensorFlow y Keras, herramientas adicionales del repositorio KerasCV fortalecen nuestra configuración. Con estos elementos esenciales, como bounding_box y la visualización, en nuestro arsenal, estamos listos para navegar a través de las innumerables vías de detección de objetos sin problemas.

Adquisición del conjunto de datos e inicialización del modelo

Después de adquirir nuestro conjunto de datos, establecemos los parámetros cruciales para el entrenamiento, como la división del conjunto de datos, el tamaño del lote y la tasa de aprendizaje, preparando el escenario para 75 épocas de entrenamiento riguroso. En el crescendo de nuestro viaje, el modelo YOLOv8, dotado de una columna vertebral preentrenada con COCO, se prepara para la acción.

Descifrar los resultados

Después de la formación, es hora de analizar las proezas de nuestro modelo. ¿Nuestra vara de medir? La precisión media (mAP), una métrica venerada en la detección de objetos. Con la diligente implementación de mAP por KerasCV para todos los modelos de detección de objetos, nuestra evaluación es a la vez rigurosa y perspicaz.

Decodificación de semáforos – Una instantánea de la inferencia de vídeo con KerasCV YOLOv8.

Conclusión

Para finalizar, es evidente que la fusión de KerasCV y YOLOv8 ha dado paso a una nueva era para la detección de objetos. Con esta integración incrustada en el núcleo de KerasCV, los horizontes para los desarrolladores de TensorFlow y Keras se han expandido exponencialmente.

Últimas noticias