YOLO YOLOX: Una inmersión profunda en la detección de objetos sin anclajes
La evolución de la detección de objetos en tiempo real se ha caracterizado por un cambio de los complejos sistemas basados en anclajes hacia arquitecturas optimizadas sin anclajes. Dos hitos importantes en este proceso son YOLO, desarrollado por Alibaba Group, y YOLOX, creado por Megvii. Ambos modelos desafían los paradigmas de diseño tradicionales y ofrecen enfoques únicos para la extracción de características, la asignación de etiquetas y la eficiencia del entrenamiento.
Esta comparación detallada analiza sus innovaciones arquitectónicas, métricas de rendimiento y casos de uso ideales para ayudarle a decidir qué modelo se adapta mejor a sus necesidades específicas de visión artificial. Aunque ambos tienen una gran importancia histórica, también analizaremos cómo soluciones modernas como Ultralytics han sintetizado estos avances en un ecosistema más robusto y listo para la producción.
Descripción general de DAMO-YOLO
YOLO (Distillation-Enhanced Neural Architecture Search-based YOLO) representa un enfoque de alto rendimiento que combina la búsqueda de arquitectura neuronal (NAS) con técnicas de entrenamiento avanzadas. Se diseñó para superar los límites de velocidad y precisión mediante la automatización del diseño de las estructuras backbone y neck.
- Autores: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang, y Xiuyu Sun
- Organización:Alibaba Group
- Fecha: 2022-11-23
- Arxiv:DAMO-YOLO: A Report on Real-Time Object Detection Design
- GitHub:Repositorio DAMO-YOLO
Características principales deYOLO
- MAE-NAS Backbone: A diferencia de las redes troncales diseñadas manualmente,YOLO un enfoque de codificador automático enmascarado (MAE) dentro de un marco de búsqueda de arquitectura neuronal. Esto da como resultado una estructura altamente optimizada para extraer características espaciales con una sobrecarga computacional mínima.
- RepGFPN eficiente: el modelo emplea una red piramidal de características generalizadas reparametrizada (RepGFPN). Esto mejora la fusión de características en diferentes escalas, lo cual es fundamental para detectar objetos de distintos tamaños, al tiempo que mantiene baja la latencia de inferencia mediante la reparametrización durante la implementación.
- ZeroHead: El cabezal de detección se ha simplificado considerablemente («ZeroHead»), lo que reduce el número de parámetros necesarios para la regresión y clasificación finales del cuadro delimitador.
- AlignedOTA: Una estrategia dinámica de asignación de etiquetas denominada «Asignación alineada uno a muchos» garantiza que las muestras positivas se asignen con mayor precisión durante el entrenamiento, resolviendo las ambigüedades en escenas con mucha gente.
Mejora por Destilación
Una de las características definitoriasYOLO es su gran dependencia de la destilación del conocimiento. Un modelo «profesor» más grande guía el entrenamiento del modelo «alumno» más pequeño. Si bien esto aumenta la precisión, complica significativamente el proceso de entrenamiento en comparación con los métodos de entrenamiento estándar «bag-of-freebies».
YOLOX Descripción General
YOLOX fue una versión fundamental que introdujo los mecanismos sin anclajes en la YOLO convencional. Al desacoplar los cabezales de predicción y eliminar los cuadros de anclaje, simplificó el proceso de diseño y mejoró el rendimiento, especialmente para los desarrolladores acostumbrados a la complejidad del ajuste de anclajes.
- Autores: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li, y Jian Sun
- Organización:Megvii
- Fecha: 2021-07-18
- Arxiv:YOLOX: Superando la serie YOLO en 2021
- GitHub:Repositorio YOLOX
Características principales de YOLOX
- Diseño sin anclajes: al predecir los centros de los objetos directamente, en lugar de los desplazamientos desde cuadros de anclaje predefinidos, YOLOX elimina la necesidad de realizar análisis de agrupamiento (como K-means) para determinar las formas de anclaje óptimas para conjuntos de datos personalizados.
- Cabezal desacoplado: YOLOX separa las tareas de clasificación y localización en diferentes ramas del cabezal de la red. Esta separación resuelve el conflicto entre los requisitos de características para clasificar un objeto y determinar su límite preciso.
- SimOTA: Una estrategia simplificada de asignación de transporte óptimo que asigna dinámicamente muestras positivas basándose en un coste de optimización global, equilibrando la calidad de la clasificación y la regresión.
- Sólida ampliación de datos: YOLOX utiliza en gran medida MixUp Mosaic y MixUp , que fueron cruciales para su capacidad de entrenarse eficazmente sin estructuras preentrenadas en algunas configuraciones.
Comparación técnica: rendimiento y velocidad
Al comparar estas dos arquitecturas,YOLO superar a YOLOX en términos de equilibrio entre precisión y latencia, debido en gran parte a que se lanzó más tarde e incorpora tecnologías NAS. Sin embargo, YOLOX sigue siendo la favorita por la simplicidad de su arquitectura y la legibilidad de su código.
| Modelo | tamaño (píxeles) | mAPval 50-95 | Velocidad CPU ONNX (ms) | Velocidad T4 TensorRT10 (ms) | parámetros (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| DAMO-YOLOt | 640 | 42.0 | - | 2.32 | 8.5 | 18.1 |
| DAMO-YOLOs | 640 | 46.0 | - | 3.45 | 16.3 | 37.8 |
| DAMO-YOLOm | 640 | 49.2 | - | 5.09 | 28.2 | 61.8 |
| DAMO-YOLOl | 640 | 50.8 | - | 7.18 | 42.1 | 97.3 |
| YOLOXnano | 416 | 25.8 | - | - | 0.91 | 1.08 |
| YOLOXtiny | 416 | 32.8 | - | - | 5.06 | 6.45 |
| YOLOXs | 640 | 40.5 | - | 2.56 | 9.0 | 26.8 |
| YOLOXm | 640 | 46.9 | - | 5.43 | 25.3 | 73.8 |
| YOLOXl | 640 | 49.7 | - | 9.04 | 54.2 | 155.6 |
| YOLOXx | 640 | 51.1 | - | 16.1 | 99.1 | 281.9 |
Complejidad de la arquitectura y la formación
YOLOX es elogiado por su implementación «limpia». Se trata de un PyTorch puro que es fácil de modificar con fines de investigación. Su proceso de entrenamiento es sencillo y requiere un ajuste estándar de los hiperparámetros.
YOLO, por el contrario, introduce una complejidad significativa. La dependencia de la búsqueda de arquitectura neuronal (NAS) significa que la columna vertebral no es una estructura estándar fija como ResNet o CSPDarknet. Además, el proceso de destilación requiere entrenar primero un modelo maestro pesado para supervisar el modelo estudiante ligero. Esto duplica los recursos computacionales necesarios para el entrenamiento y dificulta que los usuarios con GPU limitado GPU puedan replicar los resultados del artículo en conjuntos de datos personalizados.
Ultralytics de Ultralytics : más allá de los modelos de investigación
AunqueYOLO YOLOX ofrecen valiosos conocimientos académicos, el desarrollo empresarial moderno requiere algo más que métricas sin procesar. Los desarrolladores necesitan estabilidad, facilidad de uso y un ecosistema completo. Aquí es donde Ultralytics destaca como la opción superior.
Facilidad de uso y ecosistema sin igual
El entrenamiento deYOLO suele implicar archivos de configuración complejos y procesos de destilación en varias etapas. Por el contrario, la Ultralytics y Python ofrecen una experiencia «de cero a héroe». Tanto si utiliza la CLI Python, iniciar una sesión de entrenamiento solo lleva unos segundos.
from ultralytics import YOLO
# Load the latest YOLO26 model
model = YOLO("yolo26n.pt")
# Train on a dataset with a single command
results = model.train(data="coco8.yaml", epochs=100)
El Ultralytics se mantiene activamente, lo que garantiza la compatibilidad con las últimas versiones de PyTorch, CUDA y Apple Metal. A diferencia de los repositorios de investigación, que a menudo quedan inactivos tras su publicación, Ultralytics reciben actualizaciones frecuentes, correcciones de errores y optimizaciones de rendimiento.
Equilibrio y versatilidad en el rendimiento
YOLO26 representa la cúspide de la eficiencia. Cuenta con un diseño integral NMS, una innovación pionera en YOLOv10. Al eliminar el posprocesamiento de supresión no máxima (NMS), YOLO26 reduce la varianza de la latencia de inferencia y simplifica la lógica de implementación, resolviendo así uno de los principales puntos débiles que se encontraban tanto en YOLOX como enYOLO.
Además, YOLO26 está optimizado para hardware más allá de las GPU de nivel servidor. Ofrece CPU hasta un 43 % más rápida, lo que lo convierte en el candidato ideal para dispositivos periféricos, Raspberry Pis y aplicaciones móviles en las que la duración de la batería y las restricciones térmicas son fundamentales.
Mientras que YOLOX yYOLO principalmente detectores de objetos, el Ultralytics ofrece compatibilidad nativa con una amplia gama de tareas:
- Segmentación de instancias
- Estimación de la postura (puntos clave)
- Caja Delimitadora Orientada (OBB)
- Clasificación de imágenes
Aplicaciones en el mundo real
La elección del modelo adecuado depende en gran medida de las limitaciones específicas de su entorno de implementación.
Casos de uso ideales paraYOLO
- Servidores de alto rendimiento: la estructura optimizada de RepGFPN permite alcanzar un FPS muy alto en hardware dedicado TensorRT(como NVIDIA o A100), lo que lo hace adecuado para procesar archivos de vídeo masivos.
- Escenas concurridas: la asignación de etiquetas AlignedOTA resulta útil en situaciones con alta oclusión de objetos, como el recuento de personas en una multitud densa o la supervisión de ganado.
Casos de uso ideales para YOLOX
- Investigación académica: su código base limpio lo convierte en una excelente referencia para los investigadores que desean probar nuevas funciones de pérdida o modificaciones de la estructura sin la sobrecarga del NAS.
- Compatibilidad con dispositivos móviles antiguos: Las variantes YOLOX-Nano y Tiny utilizan convoluciones separables en profundidad que, históricamente, son bien compatibles con Android móviles más antiguas a través de NCNN.
Por qué Ultralytics es el estándar moderno
Para prácticamente todos los nuevos proyectos comerciales e industriales, YOLO26 es la solución recomendada.
- Edge Computing e IoT: la eliminación de la pérdida focal de distribución (DFL) y las nuevas funciones ProgLoss + STAL hacen que YOLO26 sea excepcionalmente estable en dispositivos de baja potencia. Destaca en robótica y navegación con drones, donde CPU son muy valiosos.
- Ciclos de desarrollo rápidos: la integración con la Ultralytics permite a los equipos etiquetar datos, entrenar modelos e implementar formatos como ONNX o CoreML un flujo de trabajo unificado, lo que reduce drásticamente el tiempo de comercialización.
- Tareas complejas: tanto si necesita detect ángulo de un paquete (OBB) como analizar la postura de un trabajador (Pose), YOLO26 gestiona estas tareas complejas dentro de un único marco eficiente en cuanto a memoria, a diferencia de la naturaleza especializada y exclusivamente detectiva deYOLO.
Conclusión
TantoYOLO YOLOX desempeñaron un papel crucial en la historia de la detección de objetos, demostrando que los diseños sin anclajes podían alcanzar resultados de vanguardia. Sin embargo, este campo evoluciona rápidamente.
Ultralytics se basa en estas lecciones e incorpora la estabilidad del optimizador MuSGD (inspirado en el entrenamiento LLM) y la simplicidad de la arquitectura NMS. Para los desarrolladores que buscan el mejor equilibrio entre precisión, velocidad y facilidad de uso, YOLO26 ofrece una solución preparada para el futuro, respaldada por una comunidad próspera y una documentación completa.
Para obtener más información sobre cómo Ultralytics con otras arquitecturas, explore nuestras comparaciones con EfficientDet, YOLOv6y RT-DETR.