Inteligencia artificial
Desempacando Yolov8: La Obra Maestra de Visión por Computadora de Ultralytics

Hasta ahora, la detección de objetos en imágenes utilizando modelos de visión por computadora enfrentaba un obstáculo importante debido a la demora de unos segundos en el procesamiento. Esta demora obstaculizaba la adopción práctica en casos de uso como la conducción autónoma. Sin embargo, el modelo de visión por computadora YOLOv8 lanzado por Ultralytics ha superado la demora en el procesamiento. El nuevo modelo puede detectar objetos en tiempo real con una precisión y velocidad sin precedentes, lo que lo hace popular en el espacio de visión por computadora.
Este artículo explora YOLOv8, sus capacidades y cómo puedes afinar y crear tus propios modelos a través de su repositorio de Github de código abierto.
Yolov8 Explicado
YOLO (You Only Live Once) es un modelo de visión por computadora popular capaz de detectar y segmentar objetos en imágenes. El modelo ha pasado por varias actualizaciones en el pasado, con YOLOv8 marcando la 8ª versión.
Como está, YOLOv8 se basa en las capacidades de las versiones anteriores al introducir poderosas nuevas características y mejoras. Esto permite la detección de objetos en tiempo real en los datos de imagen y video con una precisión y precisión mejoradas.
De v1 a v8: Una Breve Historia
Yolov1: Lanzado en 2015, la primera versión de YOLO se introdujo como un modelo de detección de objetos de una sola etapa. Las características incluyeron que el modelo leyera la imagen completa para predecir cada cuadro delimitador en una sola evaluación.
Yolov2: La siguiente versión, lanzada en 2016, presentó un rendimiento superior en benchmarks como PASCAL VOC y COCO y opera a altas velocidades (67-40 FPS). También podía detectar con precisión más de 9000 categorías de objetos, incluso con datos de detección limitados.
Yolov3: Lanzado en 2018, Yolov3 presentó nuevas características como una red troncal más efectiva, múltiples anclajes y pooling piramidal espacial para la extracción de características multi-escala.
Yolov4: Con el lanzamiento de Yolov4 en 2020, se introdujo la nueva técnica de aumento de datos Mosaic, que ofreció capacidades de entrenamiento mejoradas.
Yolov5: Lanzado en 2021, Yolov5 agregó poderosas nuevas características, incluyendo la optimización de hiperparámetros y el seguimiento de experimentos integrado.
Yolov6: Con el lanzamiento de Yolov6 en 2022, el modelo se abrió al código para promover el desarrollo impulsado por la comunidad. Se introdujeron nuevas características, como una nueva estrategia de auto-destilación y una estrategia de entrenamiento asistida por anclajes (AAT).
Yolov7: Lanzado en el mismo año, 2022, Yolov7 mejoró el modelo existente en velocidad y precisión y fue el modelo de detección de objetos más rápido en el momento de su lanzamiento.
¿Qué Hace que YOLOv8 Sobresalga?

La precisión y velocidad sin precedentes de YOLOv8 hacen que el modelo de visión por computadora sobresalga de las versiones anteriores. Es un logro importante, ya que los objetos ahora pueden ser detectados en tiempo real sin demoras, a diferencia de las versiones anteriores.
Pero además de esto, YOLOv8 viene con poderosas capacidades, que incluyen:
- Arquitectura personalizable: YOLOv8 ofrece una arquitectura flexible que los desarrolladores pueden personalizar para adaptarse a sus requisitos específicos.
- Entrenamiento adaptativo: Las nuevas capacidades de entrenamiento adaptativo de YOLOv8, como el equilibrio de la función de pérdida durante el entrenamiento y las técnicas, mejoran la tasa de aprendizaje. Tomar Adam, que contribuye a una mejor precisión, convergencia más rápida y un mejor rendimiento general del modelo.
- Análisis de imágenes avanzado: A través de nuevas capacidades de segmentación semántica y predicción de clases, el modelo puede detectar actividades, color, textura y incluso relaciones entre objetos, además de su función de detección de objetos principal.
- Aumento de datos: Las nuevas técnicas de aumento de datos ayudan a abordar aspectos de variaciones de imagen como baja resolución, occlusión, etc., en situaciones de detección de objetos en el mundo real donde las condiciones no son ideales.
- Soporte de columna vertebral: YOLOv8 ofrece soporte para múltiples columnas vertebrales, incluyendo CSPDarknet (columna vertebral predeterminada), EfficientNet (columna vertebral ligera) y ResNet (columna vertebral clásica), que los usuarios pueden elegir.
Los usuarios incluso pueden personalizar la columna vertebral reemplazando la CSPDarknet53 con cualquier otra arquitectura de CNN compatible con las dimensiones de entrada y salida de YOLOv8.
Entrenamiento y Afinamiento de YOLOv8
El modelo YOLOv8 se puede afinar para adaptarse a ciertos casos de uso o entrenar completamente desde cero para crear un modelo especializado. Más detalles sobre los procedimientos de entrenamiento se pueden encontrar en la documentación oficial.
Exploraremos cómo puedes realizar ambas operaciones.
Afinar YOLOV8 con un Conjunto de Datos Personalizado
La operación de afinamiento carga un modelo preexistente y utiliza sus pesos predeterminados como punto de partida para el entrenamiento. Intuitivamente, el modelo recuerda todo su conocimiento previo, y la operación de afinamiento agrega nueva información ajustando los pesos.
El modelo YOLOv8 se puede afinar con tu código Python o a través de la interfaz de línea de comandos (CLI).
1. Afinar un Modelo YOLOv8 utilizando Python
Comienza importando el paquete Ultralytics en tu código. Luego, carga el modelo personalizado que deseas entrenar utilizando el siguiente código:
Primero, instala la biblioteca Ultralytics desde la distribución oficial.
| # Instalar el paquete ultralytics desde PyPI pip install ultralytics |
A continuación, ejecuta el siguiente código dentro de un archivo Python:
| from ultralytics import YOLO
# Cargar un modelo # Entrenar el modelo en el conjunto de datos MS COCO |
Por defecto, el código entrenará el modelo utilizando el conjunto de datos COCO durante 100 épocas. Sin embargo, también puedes configurar estos ajustes para establecer el tamaño, la época, etc., en un archivo YAML.
Una vez que entrenes el modelo con tus ajustes y ruta de datos, monitorea el progreso, prueba y ajusta el modelo, y sigue reentrenando hasta que se logren los resultados deseados.
2. Afinar un Modelo YOLOv8 utilizando la CLI
Para entrenar un modelo utilizando la CLI, ejecuta el siguiente script en la línea de comandos:
| yolo train model=yolov8n.pt data=coco8.yaml epochs=100 imgsz=640 |
El comando CLI carga el modelo preentrenado `yolov8n.pt` y lo entrena más en el conjunto de datos definido en el archivo `coco8.yaml`.
Crear tu Propio Modelo con YOLOv8
Hay esencialmente 2 formas de crear un modelo personalizado con el marco de trabajo YOLO:
- Entrenamiento desde Cero: Este enfoque te permite utilizar la arquitectura YOLOv8 predefinida pero no utilizará ningún peso preentrenado. El entrenamiento ocurrirá desde cero.
- Arquitectura Personalizada: Tú ajustas la arquitectura YOLO predeterminada y entrenas la nueva estructura desde cero.
La implementación de ambos métodos es la misma. Para entrenar un modelo YOLO desde cero, ejecuta el siguiente código Python:
| from ultralytics import YOLO
# Cargar un modelo # Entrenar el modelo |
Ten en cuenta que esta vez, hemos cargado un archivo `.yaml` en lugar de un archivo `.pt`. El archivo YAML contiene la información de arquitectura para el modelo, y no se cargan pesos. El comando de entrenamiento iniciará el entrenamiento de este modelo desde cero.
Para entrenar una arquitectura personalizada, debes definir la estructura personalizada en un archivo `.yaml` similar al `yolov8n.yaml` anterior. Luego, carga este archivo y entrena el modelo utilizando el mismo código de arriba.
Para aprender más sobre la detección de objetos utilizando IA y para mantenerse informado sobre las últimas tendencias de IA, visite unite.ai.













