Saltar al contenido

YOLOv8

Visión general

YOLOv8 es la última iteración de la serie YOLO de detectores de objetos en tiempo real, que ofrece un rendimiento puntero en términos de precisión y velocidad. Basándose en los avances de las versiones anteriores de YOLO , YOLOv8 introduce nuevas funciones y optimizaciones que lo convierten en la opción ideal para diversas tareas de detección de objetos en una amplia gama de aplicaciones.

Ultralytics YOLOv8



Observa: Ultralytics YOLOv8 Resumen del modelo

Características principales

  • Arquitecturas avanzadas de espina dorsal y cuello: YOLOv8 emplea arquitecturas de espina dorsal y cuello de última generación, lo que mejora la extracción de características y el rendimiento de la detección de objetos.
  • Cabezal dividido sin anclajes Ultralytics : YOLOv8 adopta un cabezal dividido sin anclajes Ultralytics , que contribuye a una mayor precisión y a un proceso de detección más eficaz en comparación con los enfoques basados en anclajes.
  • Compromiso optimizado entre precisión y velocidad: Centrado en mantener un equilibrio óptimo entre precisión y velocidad, YOLOv8 es adecuado para tareas de detección de objetos en tiempo real en diversas áreas de aplicación.
  • Variedad de modelos preentrenados: YOLOv8 ofrece una gama de modelos preentrenados para atender a diversas tareas y requisitos de rendimiento, lo que facilita encontrar el modelo adecuado para tu caso de uso específico.

Tareas y modos admitidos

La serie YOLOv8 ofrece una diversa gama de modelos, cada uno especializado para tareas específicas en visión por ordenador. Estos modelos están diseñados para satisfacer distintos requisitos, desde la detección de objetos hasta tareas más complejas como la segmentación de instancias, la detección de poses/puntos clave, la detección de objetos orientados y la clasificación.

Cada variante de la serie YOLOv8 está optimizada para su tarea respectiva, lo que garantiza un alto rendimiento y precisión. Además, estos modelos son compatibles con varios modos operativos, como Inferencia, Validación, Entrenamiento y Exportación, lo que facilita su uso en distintas fases de despliegue y desarrollo.

Modelo Nombres de archivo Tarea Inferencia Validación Formación Exportar
YOLOv8 yolov8n.pt yolov8s.pt yolov8m.pt yolov8l.pt yolov8x.pt Detección
YOLOv8-seg yolov8n-seg.pt yolov8s-seg.pt yolov8m-seg.pt yolov8l-seg.pt yolov8x-seg.pt Segmentación de instancias
YOLOv8-pose yolov8n-pose.pt yolov8s-pose.pt yolov8m-pose.pt yolov8l-pose.pt yolov8x-pose.pt yolov8x-pose-p6.pt Pose/Puntos clave
YOLOv8-obb yolov8n-obb.pt yolov8s-obb.pt yolov8m-obb.pt yolov8l-obb.pt yolov8x-obb.pt Detección Orientada
YOLOv8-cls yolov8n-cls.pt yolov8s-cls.pt yolov8m-cls.pt yolov8l-cls.pt yolov8x-cls.pt Clasificación

Esta tabla proporciona una visión general de las variantes del modelo YOLOv8 , destacando su aplicabilidad en tareas específicas y su compatibilidad con diversos modos operativos, como Inferencia, Validación, Entrenamiento y Exportación. Muestra la versatilidad y robustez de la serie YOLOv8 , que las hace adecuadas para una gran variedad de aplicaciones en visión por ordenador.

Métricas de rendimiento

Rendimiento

Consulta los Documentos de Detección para ver ejemplos de uso con estos modelos entrenados en COCO, que incluyen 80 clases preentrenadas.

Modelo tamaño
(píxeles)
mAPval
50-95
Velocidad
CPU ONNX
(ms)
Velocidad
A100 TensorRT
(ms)
parámetros
(M)
FLOPs
(B)
YOLOv8n 640 37.3 80.4 0.99 3.2 8.7
YOLOv8s 640 44.9 128.4 1.20 11.2 28.6
YOLOv8m 640 50.2 234.7 1.83 25.9 78.9
YOLOv8l 640 52.9 375.2 2.39 43.7 165.2
YOLOv8x 640 53.9 479.1 3.53 68.2 257.8

Consulta los Documentos de Detección para ver ejemplos de uso con estos modelos entrenados en Open Image V7, que incluyen 600 clases preentrenadas.

Modelo tamaño
(píxeles)
mAPval
50-95
Velocidad
CPU ONNX
(ms)
Velocidad
A100 TensorRT
(ms)
parámetros
(M)
FLOPs
(B)
YOLOv8n 640 18.4 142.4 1.21 3.5 10.5
YOLOv8s 640 27.7 183.1 1.40 11.4 29.7
YOLOv8m 640 33.6 408.5 2.26 26.2 80.6
YOLOv8l 640 34.9 596.9 2.43 44.1 167.4
YOLOv8x 640 36.3 860.6 3.56 68.7 260.6

Consulta Segmentation Docs para ver ejemplos de uso con estos modelos entrenados en COCO, que incluyen 80 clases preentrenadas.

Modelo tamaño
(píxeles)
mAPbox
50-95
mAPmask
50-95
Velocidad
CPU ONNX
(ms)
Velocidad
A100 TensorRT
(ms)
parámetros
(M)
FLOPs
(B)
YOLOv8n-seg 640 36.7 30.5 96.1 1.21 3.4 12.6
YOLOv8s-seg 640 44.6 36.8 155.7 1.47 11.8 42.6
YOLOv8m-seg 640 49.9 40.8 317.0 2.18 27.3 110.2
YOLOv8l-seg 640 52.3 42.6 572.4 2.79 46.0 220.5
YOLOv8x-seg 640 53.4 43.4 712.1 4.02 71.8 344.1

Consulta los Documentos de Clasificación para ver ejemplos de uso con estos modelos entrenados en ImageNet, que incluyen 1000 clases preentrenadas.

Modelo tamaño
(píxeles)
acc
top1
acc
top5
Velocidad
CPU ONNX
(ms)
Velocidad
A100 TensorRT
(ms)
parámetros
(M)
FLOPs
(B) a 640
YOLOv8n-cls 224 69.0 88.3 12.9 0.31 2.7 4.3
YOLOv8s-cls 224 73.8 91.7 23.4 0.35 6.4 13.5
YOLOv8m-cls 224 76.8 93.5 85.4 0.62 17.0 42.7
YOLOv8l-cls 224 76.8 93.5 163.0 0.87 37.5 99.7
YOLOv8x-cls 224 79.0 94.6 232.0 1.01 57.4 154.8

Consulta la documentación sobre estimación de poses para ver ejemplos de uso con estos modelos entrenados en COCO, que incluyen 1 clase preentrenada, "persona".

Modelo tamaño
(píxeles)
mAPpose
50-95
mAPpose
50
Velocidad
CPU ONNX
(ms)
Velocidad
A100 TensorRT
(ms)
parámetros
(M)
FLOPs
(B)
YOLOv8n-pose 640 50.4 80.1 131.8 1.18 3.3 9.2
YOLOv8s-pose 640 60.0 86.2 233.2 1.42 11.6 30.2
YOLOv8m-pose 640 65.0 88.8 456.3 2.00 26.4 81.0
YOLOv8l-pose 640 67.6 90.0 784.5 2.59 44.4 168.6
YOLOv8x-pose 640 69.2 90.2 1607.1 3.73 69.4 263.2
YOLOv8x-pose-p6 1280 71.6 91.2 4088.7 10.04 99.1 1066.4

Consulta los Documentos de Detección Orientada para ver ejemplos de uso con estos modelos entrenados en DOTAv1, que incluyen 15 clases preentrenadas.

Modelo tamaño
(píxeles)
mAPtest
50
Velocidad
CPU ONNX
(ms)
Velocidad
A100 TensorRT
(ms)
parámetros
(M)
FLOPs
(B)
YOLOv8n-obb 1024 78.0 204.77 3.57 3.1 23.3
YOLOv8s-obb 1024 79.5 424.88 4.07 11.4 76.3
YOLOv8m-obb 1024 80.5 763.48 7.61 26.4 208.6
YOLOv8l-obb 1024 80.7 1278.42 11.83 44.5 433.8
YOLOv8x-obb 1024 81.36 1759.10 13.23 69.5 676.7

Ejemplos de uso

Este ejemplo proporciona ejemplos sencillos de entrenamiento e inferencia de YOLOv8 . Para obtener documentación completa sobre estos y otros modos, consulta las páginas de documentación Predecir, Entrenar, Val y Exportar.

Ten en cuenta que el ejemplo siguiente es para los modelos YOLOv8 Detectar para la detección de objetos. Para otras tareas compatibles, consulta los documentos Segmentar, Clasificar, OBB y Pose.

Ejemplo

PyTorch preentrenado *.pt modelos, así como la configuración *.yaml pueden pasarse a la función YOLO() para crear una instancia del modelo en python:

from ultralytics import YOLO

# Load a COCO-pretrained YOLOv8n model
model = YOLO('yolov8n.pt')

# Display model information (optional)
model.info()

# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data='coco8.yaml', epochs=100, imgsz=640)

# Run inference with the YOLOv8n model on the 'bus.jpg' image
results = model('path/to/bus.jpg')

CLI para ejecutar directamente los modelos:

# Load a COCO-pretrained YOLOv8n model and train it on the COCO8 example dataset for 100 epochs
yolo train model=yolov8n.pt data=coco8.yaml epochs=100 imgsz=640

# Load a COCO-pretrained YOLOv8n model and run inference on the 'bus.jpg' image
yolo predict model=yolov8n.pt source=path/to/bus.jpg

Citas y agradecimientos

Si utilizas el modelo YOLOv8 o cualquier otro software de este repositorio en tu trabajo, por favor, cítalo utilizando el siguiente formato:

@software{yolov8_ultralytics,
  author = {Glenn Jocher and Ayush Chaurasia and Jing Qiu},
  title = {Ultralytics YOLOv8},
  version = {8.0.0},
  year = {2023},
  url = {https://github.com/ultralytics/ultralytics},
  orcid = {0000-0001-5950-6979, 0000-0002-7603-6750, 0000-0003-3783-7069},
  license = {AGPL-3.0}
}

Ten en cuenta que el DOI está pendiente y se añadirá a la cita cuando esté disponible. Los modelos YOLOv8 se facilitan con las licencias AGPL-3.0 y Enterprise.



Creado 2023-11-12, Actualizado 2024-04-17
Autores: glenn-jocher (12), Laughing-q (2), AyushExel (1), fcakyon (1)

Comentarios