YOLOv8 YOLOv7: evolución arquitectónica y análisis del rendimiento
En el campo de la visión artificial, que avanza rápidamente, la familia de modelos «You Only Look Once» (YOLO) ha establecido de forma constante el estándar para la detección de objetos en tiempo real. Esta comparación explora los matices técnicos entre Ultralytics YOLOv8 y el modelo centrado en la investigación YOLOv7. Aunque ambos modelos representan hitos importantes en la historia de la IA, se adaptan a diferentes etapas de desarrollo y necesidades de implementación.
Para los desarrolladores que buscan la experiencia más fluida, el Ultralytics ofrece una interfaz unificada. Sin embargo, comprender el cambio arquitectónico del enfoque basado en la concatenación YOLOv7 al diseño sin anclajes YOLOv8 es fundamental para seleccionar la herramienta adecuada para sus tareas específicas de visión artificial.
Comparación de métricas de rendimiento
La siguiente tabla destaca las ventajas y desventajas en cuanto al rendimiento. YOLOv8 ofrece, en general, un equilibrio superior entre velocidad y precisión, especialmente si se tiene en cuenta la eficiencia de la Ultralytics para el entrenamiento y la implementación.
| Modelo | tamaño (píxeles) | mAPval 50-95 | Velocidad CPU ONNX (ms) | Velocidad T4 TensorRT10 (ms) | parámetros (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
Ultralytics YOLOv8: El estándar moderno
YOLOv8 un cambio fundamental en la YOLO al adoptar un cabezal de detección sin anclaje y una arquitectura desacoplada. Esta elección de diseño simplifica el proceso de entrenamiento al eliminar la necesidad de calcular manualmente el cuadro de anclaje, lo que hace que el modelo sea más robusto en diversos conjuntos de datos.
Detalles de YOLOv8:
- Autores: Glenn Jocher, Ayush Chaurasia y Jing Qiu
- Organización:Ultralytics
- Fecha: 2023-01-10
- GitHub:Repositorio Ultralytics
Arquitectura e innovación
YOLOv8 el módulo C2f (cuello de botella parcial entre etapas con dos convoluciones), que sustituye al módulo C3 utilizado en iteraciones anteriores. El módulo C2f mejora el flujo de gradiente y permite al modelo aprender representaciones de características más complejas, al tiempo que mantiene sus características de ligereza.
Una de las principales ventajas de YOLOv8 su versatilidad nativa. A diferencia de los repositorios más antiguos, que requerían ramas separadas para diferentes tareas, YOLOv8 la detección de objetos, la segmentación de instancias, la estimación de poses, la clasificación y los cuadros delimitadores orientados (OBB) dentro de un único marco.
YOLOv7: un hito en la investigación
Lanzado a mediados de 2022, YOLOv7 principalmente en la optimización arquitectónica a través de «Trainable bag-of-freebies». Amplió los límites de lo que era posible con los detectores basados en anclajes en ese momento.
Detalles de YOLOv7:
- Autores: Chien-Yao Wang, Alexey Bochkovskiy y Hong-Yuan Mark Liao
- Organización: Instituto de Ciencias de la Información, Academia Sinica, Taiwán
- Fecha: 2022-07-06
- Arxiv:YOLOv7: El conjunto entrenable de bag-of-freebies establece un nuevo estado del arte
- GitHub:WongKinYiu/yolov7
Enfoque arquitectónico
YOLOv7 la arquitectura E-ELAN (Extended Efficient Layer Aggregation Network, red de agregación de capas eficiente ampliada). Este diseño se centra en controlar las rutas de gradiente más cortas y más largas para permitir que la red aprenda de forma más eficaz. Aunque es muy precisa, la arquitectura es compleja y depende de cuadros de anclaje, lo que puede requerir un ajuste específico para obtener un rendimiento óptimo con datos personalizados.
Comparación técnica y casos de uso
1. Facilidad de uso y ecosistema
El diferenciador más significativo es el ecosistema. YOLOv8 se distribuye a través del ultralytics paquete pip, que ofrece una experiencia «de cero a héroe». Los desarrolladores pueden acceder a modelos preentrenados y empezar a entrenar en cuestión de minutos.
Por el contrario, YOLOv7 principalmente un repositorio de investigación. Aunque es potente, carece de la API estandarizada, la integración perfecta con herramientas como TensorBoard y la amplia documentación que Ultralytics .
2. Eficiencia de entrenamiento y memoria
Ultralytics son conocidos por su eficiencia en el entrenamiento. YOLOv8 el uso CUDA , lo que a menudo permite tamaños de lotes más grandes en comparación con los modelos basados en Transformer o la YOLOv7 anterior. Esta eficiencia se traduce en menores costes de computación en la nube y tiempos de iteración más rápidos.
Exportación integrada
Uno de los mayores puntos débiles de la implementación es la conversión de modelos. YOLOv8 este proceso con un comando de una sola línea para exportar a ONNX, TensorRT, CoreML y TFLite, lo que garantiza que su modelo se ejecute en cualquier dispositivo periférico.
3. Casos de uso ideales
- Elija YOLOv8 si necesita una solución lista para la producción que sea fácil de mantener, admita múltiples tareas de visión artificial (como el seguimiento y la segmentación) y se implemente fácilmente en dispositivos periféricos como la Raspberry Pi.
- Elija YOLOv7 si está realizando una investigación académica que compara específicamente arquitecturas heredadas basadas en anclajes o si necesita reproducir los resultados de los benchmarks de 2022.
El futuro: YOLO26
Aunque YOLOv8 YOLOv7 modelos excelentes, este campo evoluciona rápidamente. Ultralytics ha lanzado Ultralytics YOLO26, el modelo recomendado para todos los proyectos nuevos.
YOLO26 presenta un diseño integral NMS, lo que elimina la necesidad del posprocesamiento de supresión no máxima. Esto se traduce en procesos de implementación mucho más sencillos y una menor latencia. Además, YOLO26 elimina la pérdida focal de distribución (DFL) y utiliza el optimizador MuSGD, un híbrido de SGD Muon inspirado en el entrenamiento LLM, para lograr un entrenamiento estable y una convergencia más rápida.
Con ProgLoss y STAL (Soft-Target Anchor Loss), YOLO26 ofrece CPU hasta un 43 % más rápida, lo que lo convierte en la opción definitiva para la computación periférica y el análisis en tiempo real.
Ejemplos de Código
Ultralytics unifica el flujo de trabajo. Puede entrenar un YOLOv8 de última generación o incluso cargar configuraciones heredadas con un código mínimo.
from ultralytics import YOLO
# Load the recommended model (YOLO26 or YOLOv8)
model = YOLO("yolov8n.pt")
# Train the model on the COCO8 dataset
# The unified API handles data augmentation and memory management automatically
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")
# Export to ONNX for deployment
model.export(format="onnx")
Para los investigadores interesados en otras arquitecturas, la Ultralytics también cubre YOLOv5, YOLOv9y YOLO11, lo que garantiza que disponga de las mejores herramientas para cada situación.