YOLO12: Detección de objetos centrada en la atención
Descripción general
YOLO12, lanzado a principios de 2025, introduce una arquitectura centrada en la atención que se aleja de los enfoques tradicionales basados en CNN utilizados en modelos YOLO anteriores, aunque mantiene la velocidad de inferencia en tiempo real esencial para muchas aplicaciones. Este modelo logra una alta precisión en la detección de objetos mediante innovaciones metodológicas novedosas en los mecanismos de atención y en la arquitectura general de la red, manteniendo al mismo tiempo un rendimiento en tiempo real. A pesar de esas ventajas, YOLO12 sigue siendo un lanzamiento impulsado por la comunidad que puede presentar inestabilidad en el entrenamiento, un mayor consumo de memoria y un rendimiento de CPU más lento debido a sus pesados bloques de atención, por lo que Ultralytics recomienda YOLO11 o YOLO26 para la mayoría de las cargas de trabajo de producción.
Watch: How to Use YOLO12 for Object Detection with the Ultralytics Package | Is YOLO12 Fast or Slow? 🚀
Características clave
- Mecanismo de atención de área: Un nuevo enfoque de autoatención que procesa grandes campos receptivos de manera eficiente. Divide los mapas de características en l regiones de igual tamaño (por defecto 4), ya sea horizontal o verticalmente, evitando operaciones complejas y manteniendo un gran campo receptivo efectivo. Esto reduce significativamente el costo computacional en comparación con la autoatención estándar.
- Redes de agregación de capas eficientes residuales (R-ELAN): Un módulo de agregación de características mejorado basado en ELAN, diseñado para abordar desafíos de optimización, especialmente en modelos centrados en la atención a mayor escala. R-ELAN introduce:
- Conexiones residuales a nivel de bloque con escalado (similar al escalado de capas).
- Un método de agregación de características rediseñado que crea una estructura tipo cuello de botella.
- Arquitectura de atención optimizada: YOLO12 agiliza el mecanismo de atención estándar para una mayor eficiencia y compatibilidad con el marco YOLO. Esto incluye:
- Uso de FlashAttention para minimizar la sobrecarga de acceso a la memoria.
- Eliminación de la codificación posicional para un modelo más limpio y rápido.
- Ajuste de la relación MLP (del típico 4 a 1.2 o 2) para equilibrar mejor el cálculo entre las capas de atención y las capas de alimentación directa (feed-forward).
- Reducción de la profundidad de los bloques apilados para una optimización mejorada.
- Aprovechamiento de las operaciones de convolución (donde sea apropiado) por su eficiencia computacional.
- Añadir una convolución separable de 7x7 (el "perceptor de posición") al mecanismo de atención para codificar implícitamente la información posicional.
- Soporte integral de tareas: YOLO12 admite una variedad de tareas principales de visión artificial: detección de objetos, segmentación de instancias, clasificación de imágenes, estimación de pose y detección de objetos orientados (OBB).
- Eficiencia mejorada: Logra una mayor precisión con menos parámetros en comparación con muchos modelos anteriores, demostrando un equilibrio mejorado entre velocidad y precisión.
- Despliegue flexible: Diseñado para el despliegue en diversas plataformas, desde dispositivos de borde hasta infraestructura en la nube.

Tareas y modos admitidos
YOLO12 admite una variedad de tareas de visión artificial. La siguiente tabla muestra el soporte de tareas y los modos operativos (Inferencia, Validación, Entrenamiento y Exportación) habilitados para cada una:
Solo los pesos de detección (yolo12n.pt, yolo12s.pt, yolo12m.pt, yolo12l.pt, yolo12x.pt) se lanzan en ultralytics/assets. Las arquitecturas de segmentación, clasificación, pose y OBB están definidas en ultralytics/cfg/models/12/, por lo que esas variantes admiten el entrenamiento desde cero a partir de la configuración .yaml, pero actualmente no hay archivos .pt preentrenados disponibles para ellas. Para puntos de control (checkpoints) preentrenados de segmentación, pose, clasificación o OBB, Ultralytics recomienda YOLO11 o YOLO26.
| Tipo de modelo | Tarea | Pesos preentrenados | Inferencia | Validación | Entrenamiento | Exportar (Export) |
|---|---|---|---|---|---|---|
| YOLO12 | Detección | ✅ | ✅ | ✅ | ✅ | ✅ |
| YOLO12-seg | Segmentación | ❌ | ✅ | ✅ | ✅ | ✅ |
| YOLO12-pose | Pose | ❌ | ✅ | ✅ | ✅ | ✅ |
| YOLO12-cls | Clasificación | ❌ | ✅ | ✅ | ✅ | ✅ |
| YOLO12-obb | OBB | ❌ | ✅ | ✅ | ✅ | ✅ |
Todas las arquitecturas YOLO12 admiten todos los modos una vez que hay un punto de control entrenado disponible. La columna Pretrained Weights indica solo si Ultralytics publica un .pt oficial preentrenado en ultralytics/assets: para segmentación, pose, clasificación y OBB, debes entrenar tu propio punto de control a partir del .yaml correspondiente antes de ejecutar la inferencia, validación o exportación.
Métricas de rendimiento
YOLO12 demuestra mejoras significativas en precisión en todas las escalas de modelo, con algunas compensaciones en velocidad en comparación con los modelos YOLO anteriores más rápidos. A continuación se presentan los resultados cuantitativos para la detección de objetos en el conjunto de datos de validación COCO:
Rendimiento de detección (COCO val2017)
| Modelo | tamaño (píxeles) | mAPval 50-95 | Velocidad CPU ONNX (ms) | Velocidad T4 TensorRT (ms) | params (M) | FLOPs (B) | Comparación (mAP/Velocidad) |
|---|---|---|---|---|---|---|---|
| YOLO12n | 640 | 40.6 | - | 1.64 | 2.6 | 6.5 | +2.1%/-9% (vs. YOLOv10n) |
| YOLO12s | 640 | 48.0 | - | 2.61 | 9.3 | 21.4 | +0.1%/+42% (vs. RT-DETRv2) |
| YOLO12m | 640 | 52.5 | - | 4.86 | 20.2 | 67.5 | +1.0%/-3% (vs. YOLO11m) |
| YOLO12l | 640 | 53.7 | - | 6.77 | 26.4 | 88.9 | +0.4%/-8% (vs. YOLO11l) |
| YOLO12x | 640 | 55.2 | - | 11.79 | 59.1 | 199.0 | +0.6%/-4% (vs. YOLO11x) |
- Velocidad de inferencia medida en una GPU NVIDIA T4 con precisión TensorRT FP16.
- Las comparaciones muestran la mejora relativa en mAP y el cambio porcentual en la velocidad (positivo indica más rápido; negativo indica más lento). Las comparaciones se realizan frente a los resultados publicados para YOLOv10, YOLO11 y RT-DETR donde están disponibles.
Ejemplos de uso
Esta sección proporciona ejemplos para el entrenamiento y la inferencia con YOLO12. Para obtener documentación más completa sobre estos y otros modos (incluyendo Validación y Exportación), consulta las páginas dedicadas de Predicción y Entrenamiento.
Los siguientes ejemplos se centran en los modelos YOLO12 Detect (para detección de objetos). Para otras tareas compatibles (segmentación, clasificación, detección de objetos orientados y estimación de pose), consulta la documentación específica de cada tarea: Segment, Classify, OBB y Pose.
Los modelos *.pt preentrenados (usando PyTorch) y 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 YOLO12n model
model = YOLO("yolo12n.pt")
# 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 YOLO12n model on the 'bus.jpg' image
results = model("path/to/bus.jpg")Mejoras clave
-
Extracción de características mejorada:
- Atención de área: Maneja eficientemente grandes campos receptivos, reduciendo el costo computacional.
- Equilibrio optimizado: Equilibrio mejorado entre la atención y los cálculos de la red de alimentación directa (feed-forward).
- R-ELAN: Mejora la agregación de características usando la arquitectura R-ELAN.
-
Innovaciones de optimización:
- Conexiones residuales: Introduce conexiones residuales con escalado para estabilizar el entrenamiento, especialmente en modelos más grandes.
- Integración de características refinada: Implementa un método mejorado para la integración de características dentro de R-ELAN.
- FlashAttention: Incorpora FlashAttention para reducir la sobrecarga de acceso a la memoria.
-
Eficiencia arquitectónica:
- Parámetros reducidos: Logra un menor número de parámetros mientras mantiene o mejora la precisión en comparación con muchos modelos anteriores.
- Atención optimizada: Utiliza una implementación de atención simplificada, evitando la codificación posicional.
- Relaciones MLP optimizadas: Ajusta las relaciones MLP para asignar recursos computacionales de manera más efectiva.
Requisitos
La implementación de Ultralytics YOLO12, por defecto, no requiere FlashAttention. Sin embargo, FlashAttention se puede compilar opcionalmente y usar con YOLO12. Para compilar FlashAttention, se necesita una de las siguientes GPUs NVIDIA:
- GPUs Turing (p. ej., T4, serie Quadro RTX)
- GPUs Ampere (p. ej., serie RTX30, A30/40/100)
- GPUs Ada Lovelace (p. ej., serie RTX40)
- GPUs Hopper (p. ej., H100/H200)
Citas y reconocimientos
Si utilizas YOLO12 en tu investigación, por favor cita el trabajo original de University at Buffalo y la University of Chinese Academy of Sciences:
@article{tian2025yolo12,
title={YOLO12: Attention-Centric Real-Time Object Detectors},
author={Tian, Yunjie and Ye, Qixiang and Doermann, David},
journal={arXiv preprint arXiv:2502.12524},
year={2025}
}
@software{yolo12,
author = {Tian, Yunjie and Ye, Qixiang and Doermann, David},
title = {YOLO12: Attention-Centric Real-Time Object Detectors},
year = {2025},
url = {https://github.com/sunsmarterjie/yolov12},
license = {AGPL-3.0}
}Preguntas frecuentes
¿Cómo logra YOLO12 la detección de objetos en tiempo real mientras mantiene una alta precisión?
YOLO12 incorpora varias innovaciones clave para equilibrar la velocidad y la precisión. El mecanismo de atención de área procesa eficientemente grandes campos receptivos, reduciendo el costo computacional en comparación con la autoatención estándar. Las Redes de Agregación de Capas Eficientes Residuales (R-ELAN) mejoran la agregación de características, abordando los desafíos de optimización en modelos más grandes centrados en la atención. La arquitectura de atención optimizada, que incluye el uso de FlashAttention y la eliminación de la codificación posicional, mejora aún más la eficiencia. Estas características permiten a YOLO12 lograr una precisión de vanguardia mientras mantiene la velocidad de inferencia en tiempo real crucial para muchas aplicaciones.
¿Qué tareas de visión artificial admite YOLO12?
YOLO12 es un modelo versátil que admite una amplia gama de tareas principales de visión artificial. Destaca en detección de objetos, segmentación de instancias, clasificación de imágenes, estimación de pose y detección de objetos orientados (OBB) (ver detalles). Este soporte integral de tareas convierte a YOLO12 en una herramienta potente para diversas aplicaciones, desde robótica y conducción autónoma hasta imágenes médicas e inspección industrial. Ten en cuenta que los pesos .pt preentrenados actualmente se publican solo para detección; las arquitecturas de segmentación, pose, clasificación y OBB se proporcionan como configuraciones .yaml para el entrenamiento desde cero.
¿Cómo se compara YOLO12 con otros modelos YOLO y competidores como RT-DETR?
YOLO12 demuestra mejoras significativas en precisión en todas las escalas de modelo en comparación con modelos YOLO anteriores como YOLOv10 y YOLO11, con algunas compensaciones en velocidad en comparación con los modelos anteriores más rápidos. Por ejemplo, YOLO12n logra una mejora del +2.1% en mAP sobre YOLOv10n y del +1.2% sobre YOLO11n en el conjunto de datos COCO val2017. En comparación con modelos como RT-DETR, YOLO12s ofrece una mejora del +1.5% en mAP y un aumento sustancial de la velocidad del +42%. Estas métricas destacan el sólido equilibrio de YOLO12 entre precisión y eficiencia. Consulta la sección de métricas de rendimiento para comparaciones detalladas.
¿Cuáles son los requisitos de hardware para ejecutar YOLO12, especialmente para usar FlashAttention?
Por defecto, la implementación de Ultralytics YOLO12 no requiere FlashAttention. Sin embargo, FlashAttention se puede compilar opcionalmente y usar con YOLO12 para minimizar la sobrecarga de acceso a la memoria. Para compilar FlashAttention, se necesita una de las siguientes GPUs NVIDIA: GPUs Turing (p. ej., T4, serie Quadro RTX), GPUs Ampere (p. ej., serie RTX30, A30/40/100), GPUs Ada Lovelace (p. ej., serie RTX40) o GPUs Hopper (p. ej., H100/H200). Esta flexibilidad permite a los usuarios aprovechar los beneficios de FlashAttention cuando los recursos de hardware lo permiten.
¿Dónde puedo encontrar ejemplos de uso y documentación más detallada para YOLO12?
Esta página proporciona ejemplos de uso básicos para el entrenamiento y la inferencia. Para obtener documentación completa sobre estos y otros modos, incluyendo Validación y Exportación, consulta las páginas dedicadas de Predicción y Entrenamiento. Para obtener información específica de la tarea (segmentación, clasificación, detección de objetos orientados y estimación de pose), consulta la documentación respectiva: Segment, Classify, OBB y Pose. Estos recursos proporcionan una guía detallada para utilizar YOLO12 eficazmente en diversos escenarios.