Ultralytics YOLO27:
Get Started

Descubre Ultralytics YOLOv8#

Descripción general#

Ultralytics publicó YOLOv8 el 10 de enero de 2023, con un rendimiento puntero en precisión y velocidad. Basado en los avances de las versiones anteriores de YOLO, YOLOv8 introdujo nuevas funciones y optimizaciones que lo convierten en una opción ideal para diversas tareas de detección de objetos en una amplia variedad de aplicaciones.

Gráficos comparativos del rendimiento de YOLOv8



Ver: Descripción general del modelo Ultralytics YOLOv8
Pruébalo en Ultralytics Platform

Explora y ejecuta modelos YOLOv8 directamente en Ultralytics Platform.

Características principales de YOLOv8#

  • Arquitecturas avanzadas de backbone y neck: YOLOv8 emplea arquitecturas de backbone y neck de última generación, lo que mejora el rendimiento de la extracción de características y la detección de objetos.
  • Cabezal Ultralytics dividido y sin anclajes: YOLOv8 adopta un cabezal Ultralytics dividido y sin anclajes, que contribuye a una mayor precisión y a un proceso de detección más eficiente que los enfoques basados en anclajes.
  • Equilibrio optimizado entre precisión y velocidad: Al centrarse 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 adaptarse a distintas tareas y requisitos de rendimiento, lo que facilita encontrar el modelo adecuado para tu caso de uso específico.

Tareas y modos compatibles#

La serie YOLOv8 ofrece una amplia gama de modelos, cada uno especializado en tareas concretas de visión artificial. Estos modelos están diseñados para adaptarse a distintos requisitos, desde la detección de objetos hasta tareas más complejas, como la segmentación de instancias, la clasificación, la detección de poses y puntos clave, y la detección de objetos orientados.

Cada variante de la serie YOLOv8 está optimizada para su tarea correspondiente, 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 del desarrollo y la implementación.

ModeloNombres de archivoTareaEntrenamientoValidaciónInferenciaExportar
YOLOv8yolov8n.pt yolov8s.pt yolov8m.pt yolov8l.pt yolov8x.ptDetección✅✅✅✅
YOLOv8-segyolov8n-seg.pt yolov8s-seg.pt yolov8m-seg.pt yolov8l-seg.pt yolov8x-seg.ptSegmentación de instancias✅✅✅✅
YOLOv8-clsyolov8n-cls.pt yolov8s-cls.pt yolov8m-cls.pt yolov8l-cls.pt yolov8x-cls.ptClasificación✅✅✅✅
YOLOv8-poseyolov8n-pose.pt yolov8s-pose.pt yolov8m-pose.pt yolov8l-pose.pt yolov8x-pose.pt yolov8x-pose-p6.ptPose/puntos clave✅✅✅✅
YOLOv8-obbyolov8n-obb.pt yolov8s-obb.pt yolov8m-obb.pt yolov8l-obb.pt yolov8x-obb.ptDetección orientada✅✅✅✅

Esta tabla ofrece una visión general de las variantes del modelo YOLOv8, destaca su aplicabilidad en tareas específicas y su compatibilidad con varios modos operativos, como Inferencia, Validación, Entrenamiento y Exportación. Muestra la versatilidad y robustez de la serie YOLOv8, que la hace adecuada para diversas aplicaciones de visión artificial.

Métricas de rendimiento#

Rendimiento

Consulta la documentación de detección para ver ejemplos de uso de estos modelos entrenados con COCO, que incluyen 80 clases preentrenadas.

Modelotamaño
(píxeles)
mAPval
50-95
Velocidad
CPU ONNX
(ms)
Velocidad
A100 TensorRT
(ms)
parámetros
(M)
FLOPs
(B)
YOLOv8n64037.380.40.993.28.7
YOLOv8s64044.9128.41.2011.228.6
YOLOv8m64050.2234.71.8325.978.9
YOLOv8l64052.9375.22.3943.7165.1
YOLOv8x64053.9479.13.5368.2257.8

Ejemplos de uso de YOLOv8#

Este ejemplo ofrece casos sencillos de entrenamiento e inferencia con YOLOv8. Para consultar la documentación completa de estos y otros modos, visita las páginas de documentación de Predicción, Entrenamiento, Validación y Exportación.

Ten en cuenta que el ejemplo siguiente corresponde a modelos YOLOv8 de detección de objetos. Para consultar otras tareas compatibles, visita la documentación de segmentación, clasificación, pose y OBB.

Ejemplo

Se pueden pasar modelos *.pt preentrenados de PyTorch, así como archivos de configuración *.yaml, a la clase YOLO() para crear una instancia del modelo en Python:

from ultralytics import YOLO

# Carga un modelo YOLOv8n preentrenado con COCO
model = YOLO("yolov8n.pt")

# Mostrar información del modelo (opcional)
model.info()

# Entrena el modelo durante 100 épocas con el conjunto de datos de ejemplo COCO8
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Ejecuta la inferencia con el modelo YOLOv8n en la imagen «bus.jpg»
results = model("path/to/bus.jpg")

Citas y agradecimientos#

Publicación de Ultralytics YOLOv8

Ultralytics no ha publicado un artículo de investigación formal sobre YOLOv8 debido a la rápida evolución de los modelos. Nos centramos en hacer avanzar la tecnología y facilitar su uso, en lugar de elaborar documentación estática. Para obtener la información más actualizada sobre la arquitectura, las características y el uso de YOLO, consulta nuestro repositorio de GitHub y la documentación.

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

Cita
@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 distribuyen con licencias AGPL-3.0 y Enterprise.

Preguntas frecuentes#

  • YOLOv8 está diseñado para mejorar el rendimiento de la detección de objetos en tiempo real mediante funciones avanzadas. A diferencia de las versiones anteriores, YOLOv8 incorpora un cabezal Ultralytics dividido y sin anclajes, arquitecturas de backbone y neck de última generación, y ofrece un equilibrio optimizado entre precisión y velocidad, lo que lo hace ideal para diversas aplicaciones. Para obtener más información, consulta las secciones Descripción general y Características principales.

  • YOLOv8 admite una amplia variedad de tareas de visión artificial, como la detección de objetos, la segmentación de instancias, la clasificación, la detección de poses y puntos clave, y la detección de objetos orientados. Cada variante del modelo está optimizada para su tarea específica y es compatible con varios modos operativos, como Inferencia, Validación, Entrenamiento y Exportación. Consulta la sección Tareas y modos compatibles para obtener más información.

  • Los modelos YOLOv8 alcanzan un rendimiento de última generación en varios conjuntos de datos de evaluación comparativa. Por ejemplo, el modelo YOLOv8n alcanza un mAP (precisión media) de 37,3 en el conjunto de datos COCO y una velocidad de 0,99 ms en A100 TensorRT. Puedes consultar métricas de rendimiento detalladas de cada variante del modelo en distintas tareas y conjuntos de datos en la sección Métricas de rendimiento.

  • Puedes entrenar un modelo YOLOv8 con Python o la CLI. A continuación se muestran ejemplos de cómo entrenar un modelo YOLOv8 preentrenado con COCO en el conjunto de datos COCO8 durante 100 épocas:

    Ejemplo
    from ultralytics import YOLO
    
    # Carga un modelo YOLOv8n preentrenado con COCO
    model = YOLO("yolov8n.pt")
    
    # Entrena el modelo durante 100 épocas con el conjunto de datos de ejemplo COCO8
    results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

    Para obtener más información, consulta la documentación de Entrenamiento.

  • Sí, puedes evaluar comparativamente el rendimiento de los modelos YOLOv8 en cuanto a velocidad y precisión con varios formatos de exportación. Para realizar estas evaluaciones, puedes usar PyTorch, ONNX, TensorRT y otros. A continuación se muestran comandos de ejemplo para efectuar la evaluación con Python y la CLI:

    Ejemplo
    from ultralytics.utils.benchmarks import benchmark
    
    # Evaluar el rendimiento en la GPU
    benchmark(model="yolov8n.pt", data="coco8.yaml", imgsz=640, device=0)

    Para obtener más información, consulta la sección Métricas de rendimiento.

Comentarios