YOLO11 YOLOv8: la evolución de la detección de objetos en tiempo real
La evolución de la arquitectura YOLO You Only Look Once) ha redefinido constantemente los límites de la visión artificial. YOLO11, lanzada a finales de 2024, se basa en los sólidos cimientos establecidos por YOLOv8 para ofrecer una mayor eficiencia y precisión. Este análisis explora los cambios arquitectónicos, las métricas de rendimiento y las consideraciones prácticas de implementación de ambos modelos, guiando a los desarrolladores hacia la elección óptima para sus aplicaciones específicas.
Resumen de métricas de rendimiento
La siguiente tabla destaca las mejoras de rendimiento de YOLO11 YOLOv8 varios tamaños de modelo. YOLO11 ofrece YOLO11 una precisión media más alta (mAP) al tiempo que mantiene velocidades de inferencia competitivas, especialmente cuando se optimiza para CPU .
| Modelo | tamaño (píxeles) | mAPval 50-95 | Velocidad CPU ONNX (ms) | Velocidad T4 TensorRT10 (ms) | parámetros (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLO11n | 640 | 39.5 | 56.1 | 1.5 | 2.6 | 6.5 |
| YOLO11s | 640 | 47.0 | 90.0 | 2.5 | 9.4 | 21.5 |
| YOLO11m | 640 | 51.5 | 183.2 | 4.7 | 20.1 | 68.0 |
| YOLO11l | 640 | 53.4 | 238.6 | 6.2 | 25.3 | 86.9 |
| YOLO11x | 640 | 54.7 | 462.8 | 11.3 | 56.9 | 194.9 |
| YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
| YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
| YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
| YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.2 |
| YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
Descripción General de la Arquitectura
Ambos modelos se basan en la Ultralytics de diseño centrado en el usuario, que prioriza la facilidad de uso sin sacrificar la potencia. Sin embargo, las mejoras arquitectónicas de YOLO11 una mayor capacidad de extracción de características con menos parámetros.
YOLO11: Eficiencia refinada
Autores: Glenn Jocher, Jing Qiu
Organización:Ultralytics
Fecha: 27/09/2024
GitHub:ultralytics
Documentación:YOLO11
YOLO11 una arquitectura actualizada de columna vertebral y cuello que mejora la integración de características. Al optimizar los bloques Cross Stage Partial (CSP), YOLO11 una reducción significativa en FLOP (operaciones de punto flotante por segundo) al tiempo que aumenta mAP. Esta eficiencia lo hace especialmente adecuado para entornos con limitaciones, como los dispositivos de computación periférica.
YOLOv8: el estándar fiable
Autores: Glenn Jocher, Ayush Chaurasia, Jing Qiu
Organización:Ultralytics
Fecha: 10/01/2023
GitHub:ultralytics
Documentación:YOLOv8
YOLOv8 un modelo robusto y muy versátil. Fue pionero en la incorporación del cabezal de detección sin anclaje en Ultralytics , lo que simplificó el proceso de formación al eliminar la necesidad de realizar cálculos manuales de la caja de anclaje. Su probada track en diversos sectores, desde la agricultura hasta la fabricación, lo convierte en una opción segura y fiable para los sistemas heredados.
Compatibilidad arquitectónica
Tanto YOLO11 YOLOv8 compatibles de forma nativa con el ultralytics Python . Cambiar entre ellos suele ser tan sencillo como cambiar la cadena del nombre del modelo (por ejemplo, de yolov8n.pt a datos yolo11n.pt) en tu código, conservando tu actual configuración del conjunto de datos y canales de formación.
Ventajas clave de los modelos Ultralytics
Independientemente de la versión específica, elegir un Ultralytics ofrece ventajas claras frente a otros marcos.
- Ecosistema bien mantenido: ambos modelos se benefician de un desarrollo activo y del apoyo de la comunidad. Las actualizaciones periódicas garantizan la compatibilidad con las últimas versiones de PyTorch y CUDA, lo que minimiza la deuda técnica.
- Requisitos de memoria: Ultralytics sus modelos para que sean eficientes en cuanto a memoria. En comparación con los detectores basados en transformadores masivos, YOLO requieren una cantidad significativamente menor GPU (VRAM) durante el entrenamiento, lo que los hace accesibles a los desarrolladores que utilizan hardware de consumo.
- Versatilidad: más allá de los simples recuadros delimitadores, ambas arquitecturas admiten segmentación de instancias, estimación de posturas, OBB (recintos delimitadores orientados) y clasificación.
- Eficiencia del entrenamiento: los pesos preentrenados están fácilmente disponibles, lo que permite el aprendizaje por transferencia, que reduce drásticamente el tiempo de entrenamiento y el consumo de energía.
Casos de uso en el mundo real
La elección entre YOLO11 YOLOv8 depender de las limitaciones específicas del entorno de implementación.
Dónde destaca YOLO11
YOLO11 la mejor opción para aplicaciones periféricas sensibles a la latencia. Su reducido número de parámetros y su menor número de FLOP se traducen en una inferencia más rápida en CPU y procesadores móviles.
- Smart Retail: Para el análisis en tiempo real del comportamiento de los clientes en los servidores de las tiendas sin GPU dedicadas.
- Imágenes de drones: procesamiento de imágenes aéreas de alta resolución en las que cada milisegundo de duración de la batería cuenta. La mejora en la detección de objetos pequeños es fundamental en este caso.
- Aplicaciones móviles: implementación a través de CoreML o TFLite en Android iOS Android se beneficia de una arquitectura más ligera.
Donde YOLOv8 fuerte
YOLOv8 ideal para flujos de trabajo establecidos en los que la coherencia es fundamental.
- Automatización industrial: en fábricas que ya han estandarizado YOLOv8 el control de calidad, continuar con v8 evita la necesidad de volver a validar todo el proceso.
- Investigación académica: como referencia muy citada, YOLOv8 como un excelente punto de referencia para comparar las novedades arquitectónicas.
Facilidad de uso e implementación
Una de las características distintivas del Ultralytics es la API unificada. Los desarrolladores pueden entrenar, validar e implementar cualquiera de los dos modelos utilizando una sintaxis idéntica.
from ultralytics import YOLO
# Load a model (switch 'yolo11n.pt' to 'yolov8n.pt' to use v8)
model = YOLO("yolo11n.pt")
# Train the model on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on a local image
results = model("path/to/image.jpg")
# Export to ONNX for deployment
path = model.export(format="onnx")
Esta simplicidad se extiende a la interfaz de línea de comandos (CLI), lo que permite crear prototipos rápidamente sin escribir una sola línea de Python.
# Train YOLO11n
yolo train model=yolo11n.pt data=coco8.yaml epochs=50 imgsz=640
# Train YOLOv8n
yolo train model=yolov8n.pt data=coco8.yaml epochs=50 imgsz=640
Conclusión
Ambos YOLO11 y YOLOv8 representan la vanguardia de la tecnología de detección de objetos en tiempo real. YOLOv8 sigue siendo una herramienta fiable y versátil, perfecta para aplicaciones de uso general. Sin embargo, YOLO11 va más allá con una eficiencia optimizada, lo que lo convierte en el punto de partida recomendado para nuevos proyectos, especialmente aquellos dirigidos a dispositivos periféricos o que requieren la mayor relación posible entre precisión y capacidad de cálculo.
Para los desarrolladores que buscan lo último en rendimiento y una arquitectura NMS, también recomendamos explorar el recién lanzado YOLO26. Combina las mejores características de las generaciones anteriores con un diseño integral que simplifica aún más la implementación.
Explorar Otros Modelos
- YOLO26: El último modelo de vanguardia con detección integral NMS y CPU un 43 % más rápida.
- RT-DETR: un modelo basado en transformadores que ofrece una alta precisión, ideal cuando la velocidad de inferencia es secundaria a la precisión.
- SAM : El modelo Segment Anything Model (SAM) de Meta, perfecto para tareas de segmentación sin entrenamiento previo en las que los datos de entrenamiento son escasos.