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, pero conserva la velocidad de inferencia en tiempo real esencial para muchas aplicaciones. Este modelo consigue una alta precisión de detección de objetos mediante innovaciones metodológicas en los mecanismos de atención y en la arquitectura general de la red, manteniendo al mismo tiempo el rendimiento en tiempo real. A pesar de estas ventajas, YOLO12 sigue siendo un lanzamiento impulsado por la comunidad que puede presentar inestabilidad durante el entrenamiento, un consumo de memoria elevado y un procesamiento más lento en CPU 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 principales#
- Mecanismo de atención por áreas: un nuevo enfoque de autoatención que procesa campos receptivos grandes de forma eficiente. Divide los mapas de características en l regiones del mismo tamaño (4 de forma predeterminada), horizontal o verticalmente, evitando operaciones complejas y manteniendo un campo receptivo efectivo amplio. Esto reduce significativamente el coste computacional en comparación con la autoatención estándar.
- Redes residuales de agregación eficiente de capas (R-ELAN): un módulo mejorado de agregación de características basado en ELAN, diseñado para abordar los retos de optimización, especialmente en modelos de mayor escala centrados en la atención. R-ELAN introduce:
- Conexiones residuales a nivel de bloque con escalado (similares al escalado de capas).
- Un método rediseñado de agregación de características que crea una estructura similar a un cuello de botella.
- Arquitectura de atención optimizada: YOLO12 simplifica el mecanismo de atención estándar para lograr una mayor eficiencia y compatibilidad con el marco de YOLO. Esto incluye:
- Usar FlashAttention para minimizar la sobrecarga de acceso a memoria.
- Eliminar la codificación posicional para obtener un modelo más sencillo y rápido.
- Ajustar la proporción MLP (de la habitual 4 a 1.2 o 2) para equilibrar mejor el cálculo entre las capas de atención y de propagación hacia delante.
- Reducir la profundidad de los bloques apilados para mejorar la optimización.
- Aprovechar las operaciones de convolución (cuando corresponde) por su eficiencia computacional.
- Añadir una convolución separable 7x7 (el «perceptor de posición») al mecanismo de atención para codificar implícitamente la información posicional.
- Compatibilidad integral con tareas: YOLO12 admite varias 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: consigue una mayor precisión con menos parámetros que muchos modelos anteriores, lo que demuestra un mejor equilibrio entre velocidad y precisión.
- Despliegue flexible: diseñado para desplegarse en diversas plataformas, desde dispositivos periféricos hasta infraestructuras en la nube.

Tareas y modos compatibles#
YOLO12 admite diversas tareas de visión artificial. La tabla siguiente muestra la compatibilidad con las tareas y los modos operativos (inferencia, validación, entrenamiento y exportación) habilitados para cada una:
Solo se han publicado pesos de detección (yolo12n.pt, yolo12s.pt, yolo12m.pt, yolo12l.pt, yolo12x.pt) 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 entrenamiento desde cero a partir de la configuración .yaml, pero actualmente no hay archivos .pt preentrenados disponibles para ellas. Para obtener checkpoints preentrenados de segmentación, pose, clasificación u OBB, Ultralytics recomienda YOLO11 o YOLO26.
| Tipo de modelo | Tarea | Pesos preentrenados | Entrenamiento | Validación | Inferencia | Exportar |
|---|---|---|---|---|---|---|
| YOLO12 | Detección | ✅ | ✅ | ✅ | ✅ | ✅ |
| YOLO12-seg | Segmentación | ❌ | ✅ | ✅ | ✅ | ✅ |
| YOLO12-cls | Clasificación | ❌ | ✅ | ✅ | ✅ | ✅ |
| YOLO12-pose | Pose | ❌ | ✅ | ✅ | ✅ | ✅ |
| YOLO12-obb | OBB | ❌ | ✅ | ✅ | ✅ | ✅ |
Todas las arquitecturas de YOLO12 admiten todos los modos una vez que hay un checkpoint entrenado disponible. La columna Pretrained Weights solo indica si Ultralytics publica un .pt preentrenado oficial en ultralytics/assets: para segmentación, pose, clasificación y OBB, debes entrenar tu propio checkpoint a partir de la configuración .yaml correspondiente antes de ejecutar la inferencia, la validación o la exportación.
Métricas de rendimiento#
YOLO12 demuestra mejoras significativas de precisión en todas las escalas de modelo, con algunas concesiones en velocidad frente a los modelos YOLO anteriores más rápidos. A continuación se muestran 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) | parámetros (M) | FLOPs (B) | Comparación (mAP/velocidad) |
|---|---|---|---|---|---|---|---|
| YOLO12n | 640 | 40.6 | - | 1.64 | 2.6 | 7.5 | +2.1%/-9% (frente a YOLOv10n) |
| YOLO12s | 640 | 48.0 | - | 2.61 | 9.3 | 23.3 | +0.1%/+42% (frente a RT-DETRv2) |
| YOLO12m | 640 | 52.5 | - | 4.86 | 20.2 | 70.7 | +1.0%/-3% (frente a YOLO11m) |
| YOLO12l | 640 | 53.7 | - | 6.77 | 26.4 | 95.4 | +0.4%/-8% (frente a YOLO11l) |
| YOLO12x | 640 | 55.2 | - | 11.79 | 59.1 | 208.9 | +0.6%/-4% (frente a YOLO11x) |
- La velocidad de inferencia se ha medido en una GPU NVIDIA T4 con precisión FP16 de TensorRT.
- Las comparaciones muestran la mejora relativa en mAP y el cambio porcentual en velocidad (un valor positivo indica mayor rapidez; uno negativo, menor velocidad). Las comparaciones se realizan con los resultados publicados para YOLOv10, YOLO11 y RT-DETR cuando están disponibles.
Ejemplos de uso#
Esta sección proporciona ejemplos de entrenamiento e inferencia con YOLO12. Para consultar documentación más completa sobre estos y otros modos (incluidas Validación y Exportación), consulta las páginas específicas de Predicción y Entrenamiento.
Los ejemplos siguientes se centran en los modelos YOLO12 de Detección (para la detección de objetos). Para otras tareas compatibles (segmentación, clasificación, estimación de pose y detección de objetos orientados), consulta la documentación específica de cada tarea: Segmentación, Clasificación, Pose y OBB.
Los modelos *.pt preentrenados (que usan PyTorch) y los archivos de configuración *.yaml se pueden pasar a la clase YOLO() para crear una instancia del 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 principales#
-
Extracción de características mejorada:
- Atención por áreas: gestiona de forma eficiente campos receptivos grandes, reduciendo el coste computacional.
- Equilibrio optimizado: mejora el equilibrio entre los cálculos de atención y los de la red de propagación hacia delante.
- R-ELAN: mejora la agregación de características mediante la arquitectura R-ELAN.
-
Innovaciones de optimización:
- Conexiones residuales: introduce conexiones residuales con escalado para estabilizar el entrenamiento, especialmente en modelos grandes.
- Integración refinada de características: implementa un método mejorado para integrar características dentro de R-ELAN.
- FlashAttention: incorpora FlashAttention para reducir la sobrecarga de acceso a memoria.
-
Eficiencia arquitectónica:
- Menos parámetros: consigue un número menor de parámetros manteniendo o mejorando la precisión frente a muchos modelos anteriores.
- Atención simplificada: utiliza una implementación de atención simplificada que evita la codificación posicional.
- Proporciones MLP optimizadas: ajusta las proporciones MLP para asignar los recursos computacionales de forma más eficaz.
Requisitos#
De forma predeterminada, la implementación de Ultralytics YOLO12 no requiere FlashAttention. Sin embargo, FlashAttention se puede compilar y usar opcionalmente con YOLO12. Para compilar FlashAttention, se necesita una de las siguientes GPU NVIDIA:
- GPU Turing (por ejemplo, T4, serie Quadro RTX)
- GPU Ampere (por ejemplo, serie RTX30, A30/40/100)
- GPU Ada Lovelace (por ejemplo, serie RTX40)
- GPU Hopper (por ejemplo, H100/H200)
Citas y agradecimientos#
Si utilizas YOLO12 en tu investigación, cita el trabajo original de la University at Buffalo y la University of Chinese Academy of Sciences:
@inproceedings{tian2025yolov12,
title={YOLOv12: Attention-Centric Real-Time Object Detectors},
author={Tian, Yunjie and Ye, Qixiang and Doermann, David},
booktitle={Advances in Neural Information Processing Systems},
volume={38},
pages={78433--78457},
year={2025},
url={https://proceedings.neurips.cc/paper_files/paper/2025/file/7103444259031cc58051f8c9a4868533-Paper-Conference.pdf}
}
@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}
}El artículo de YOLO12 se publicó en las actas de NeurIPS 2025, con un preprint disponible en arXiv.
Preguntas frecuentes#
YOLO12 incorpora varias innovaciones clave para equilibrar velocidad y precisión. El mecanismo de atención por áreas procesa eficazmente campos receptivos grandes, reduciendo el coste computacional en comparación con la autoatención estándar. Las redes residuales de agregación eficiente de capas (R-ELAN) mejoran la agregación de características y abordan los retos de optimización de los modelos 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 alcanzar una precisión puntera y mantener la velocidad de inferencia en tiempo real, crucial para muchas aplicaciones.
YOLO12 es un modelo versátil que admite una amplia variedad de tareas principales de visión artificial. Destaca en la detección de objetos, la segmentación de instancias, la clasificación de imágenes, la estimación de pose y la detección de objetos orientados (OBB) (consulta los detalles). Esta compatibilidad integral convierte a YOLO12 en una herramienta potente para aplicaciones diversas, desde la robótica y la conducción autónoma hasta la obtención de imágenes médicas y la inspección industrial. Ten en cuenta que los pesos
.ptpreentrenados solo se han publicado para detección; las arquitecturas de segmentación, pose, clasificación y OBB se proporcionan como configuraciones.yamlpara entrenarlas desde cero.YOLO12 demuestra mejoras significativas de precisión en todas las escalas de modelo frente a modelos YOLO anteriores como YOLOv10 y YOLO11, con algunas concesiones en velocidad frente a los modelos anteriores más rápidos. Por ejemplo, YOLO12n consigue una mejora de +2.1% en mAP respecto a YOLOv10n y de +1.2% respecto a YOLO11n en el conjunto de datos COCO val2017. Frente a modelos como RT-DETR, YOLO12s ofrece una mejora de +1.5% en mAP y un aumento considerable de +42% en velocidad. 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 ver comparaciones detalladas.
De forma predeterminada, la implementación de Ultralytics YOLO12 no requiere FlashAttention. Sin embargo, FlashAttention se puede compilar y usar opcionalmente con YOLO12 para minimizar la sobrecarga de acceso a memoria. Para compilar FlashAttention, se necesita una de las siguientes GPU NVIDIA: GPU Turing (por ejemplo, T4, serie Quadro RTX), GPU Ampere (por ejemplo, serie RTX30, A30/40/100), GPU Ada Lovelace (por ejemplo, serie RTX40) o GPU Hopper (por ejemplo, H100/H200). Esta flexibilidad permite aprovechar las ventajas de FlashAttention cuando los recursos de hardware lo permiten.
Esta página proporciona ejemplos de uso básicos para el entrenamiento y la inferencia. Para consultar documentación completa sobre estos y otros modos, incluidas Validación y Exportación, consulta las páginas específicas de Predicción y Entrenamiento. Para obtener información específica de cada tarea (segmentación, clasificación, estimación de pose y detección de objetos orientados), consulta la documentación correspondiente: Segmentación, Clasificación, Pose y OBB. Estos recursos ofrecen orientación detallada para utilizar YOLO12 eficazmente en distintos escenarios.