Explora Ultralytics YOLOv8#
Descripción general#
YOLOv8 fue lanzado por Ultralytics el 10 de enero de 2023, ofreciendo un rendimiento puntero en términos de precisión y velocidad. Basándose en los avances de versiones anteriores de YOLO, YOLOv8 introdujo nuevas características y optimizaciones que lo convierten en una opción ideal para diversas tareas de object detection en una amplia gama de aplicaciones.

Watch: Ultralytics YOLOv8 Model Overview
Explora y ejecuta modelos YOLOv8 directamente en Ultralytics Platform.
Características clave de YOLOv8#
- Arquitecturas de Backbone y Neck Avanzadas: YOLOv8 emplea arquitecturas de backbone y neck de última generación, lo que se traduce en un mejor rendimiento en la feature extraction y la object detection.
- Cabezal de Ultralytics dividido sin anclas: YOLOv8 adopta un cabezal de Ultralytics dividido sin anclas, lo que contribuye a una mayor precisión y a un proceso de detección más eficiente en comparación con los enfoques basados en anclas.
- Compromiso optimizado entre precisión y velocidad: Con un enfoque 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 cubrir diversas tareas y requisitos de rendimiento, facilitando encontrar el modelo adecuado para tu caso de uso específico.
Tareas y modos soportados#
La serie YOLOv8 ofrece una amplia gama de modelos, cada uno especializado en tareas específicas de computer vision. Estos modelos están diseñados para cubrir diversos requisitos, desde la detección de objetos hasta tareas más complejas como instance segmentation, clasificación, detección de pose/puntos clave y detección de objetos orientados.
Cada variante de la serie YOLOv8 está optimizada para su respectiva tarea, garantizando un alto rendimiento y precisión. Además, estos modelos son compatibles con varios modos operativos, incluyendo Inference, Validation, Training y Export, lo que facilita su uso en diferentes etapas de despliegue y desarrollo.
| Modelo | Nombres de archivo | Tarea | Entrenamiento | Validación | Inferencia | Exportar |
|---|---|---|---|---|---|---|
| YOLOv8 | yolov8n.pt yolov8s.pt yolov8m.pt yolov8l.pt yolov8x.pt | Detection | ✅ | ✅ | ✅ | ✅ |
| YOLOv8-seg | yolov8n-seg.pt yolov8s-seg.pt yolov8m-seg.pt yolov8l-seg.pt yolov8x-seg.pt | Instance Segmentation | ✅ | ✅ | ✅ | ✅ |
| YOLOv8-cls | yolov8n-cls.pt yolov8s-cls.pt yolov8m-cls.pt yolov8l-cls.pt yolov8x-cls.pt | Classification | ✅ | ✅ | ✅ | ✅ |
| YOLOv8-pose | yolov8n-pose.pt yolov8s-pose.pt yolov8m-pose.pt yolov8l-pose.pt yolov8x-pose.pt yolov8x-pose-p6.pt | Pose/Keypoints | ✅ | ✅ | ✅ | ✅ |
| YOLOv8-obb | yolov8n-obb.pt yolov8s-obb.pt yolov8m-obb.pt yolov8l-obb.pt yolov8x-obb.pt | Oriented Detection | ✅ | ✅ | ✅ | ✅ |
Esta tabla proporciona una visión general de las variantes del modelo YOLOv8, destacando su aplicabilidad en tareas específicas y su compatibilidad con varios modos operativos como Inference, Validation, Training y Export. Muestra la versatilidad y solidez de la serie YOLOv8, haciéndolos adecuados para una variedad de aplicaciones en computer vision.
Métricas de rendimiento#
Consulta la Detection Docs para ver ejemplos de uso con estos modelos entrenados en COCO, que incluyen 80 clases preentrenadas.
Ejemplos de uso de YOLOv8#
Este ejemplo proporciona ejemplos sencillos de entrenamiento e inferencia en YOLOv8. Para obtener la documentación completa sobre estos y otros modes, consulta las páginas de documentación de Predict, Train, Val y Export.
Ten en cuenta que el siguiente ejemplo es para los modelos Detect de YOLOv8 destinados a la detección de objetos. Para consultar tareas adicionales compatibles, visita la documentación de Segment, Classify, Pose y OBB.
Los modelos preentrenados de PyTorch *.pt, así como los archivos de configuración *.yaml, se pueden pasar a la clase YOLO() para crear una instancia de 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")Citas y agradecimientos#
Ultralytics no ha publicado un artículo de investigación formal para YOLOv8 debido a la naturaleza de evolución rápida de los modelos. Nos centramos en hacer avanzar la tecnología y facilitar su uso, en lugar de producir 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 GitHub repository y la documentation.
Si utilizas el modelo YOLOv8 o cualquier otro software de este repositorio en tu trabajo, 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 en cuanto esté disponible. Los modelos YOLOv8 se proporcionan bajo las licencias AGPL-3.0 y Enterprise.
FAQ#
YOLOv8 está diseñado para mejorar el rendimiento de la detección de objetos en tiempo real con funciones avanzadas. A diferencia de las versiones anteriores, YOLOv8 incorpora una cabecera Ultralytics dividida y libre de anclajes (anchor-free split Ultralytics head), arquitecturas de backbone y neck de última generación, y ofrece un compromiso optimizado entre accuracy y velocidad, lo que lo hace ideal para diversas aplicaciones. Para más detalles, consulta las secciones Overview y Key Features.
YOLOv8 admite una amplia gama de tareas de computer vision, incluyendo detección de objetos, segmentación de instancias, detección de pose/puntos clave, detección de objetos orientados y clasificación. Cada variante de modelo está optimizada para su tarea específica y es compatible con varios modos operativos como Inference, Validation, Training y Export. Consulta la sección Supported Tasks and Modes para obtener más información.
Los modelos YOLOv8 alcanzan un rendimiento puntero en varios conjuntos de datos de evaluación de referencia. Por ejemplo, el modelo YOLOv8n alcanza un mAP (mean Average Precision) de 37.3 en el conjunto de datos COCO y una velocidad de 0.99 ms en A100 TensorRT. Las métricas de rendimiento detalladas para cada variante de modelo en diferentes tareas y conjuntos de datos se pueden encontrar en la sección Performance Metrics.
El entrenamiento de un modelo YOLOv8 se puede realizar utilizando Python o CLI. A continuación se muestran ejemplos para entrenar un modelo utilizando un modelo YOLOv8 preentrenado en COCO sobre el conjunto de datos COCO8 durante 100 epochs:
Ejemplofrom ultralytics import YOLO # Load a COCO-pretrained YOLOv8n model model = YOLO("yolov8n.pt") # Train the model on the COCO8 example dataset for 100 epochs results = model.train(data="coco8.yaml", epochs=100, imgsz=640)Para obtener más detalles, visita la documentación de Training.
Sí, los modelos YOLOv8 se pueden someter a benchmarks de rendimiento en cuanto a velocidad y precisión en diversos formatos de exportación. Puedes utilizar PyTorch, ONNX, TensorRT y más para realizar estos benchmarks. A continuación, se muestran ejemplos de comandos para realizar benchmarks usando Python y CLI:
Ejemplofrom ultralytics.utils.benchmarks import benchmark # Benchmark on GPU benchmark(model="yolov8n.pt", data="coco8.yaml", imgsz=640, device=0)Para obtener información adicional, consulta la sección Performance Metrics.