YOLO12 : Détection d'objets centrée sur l'attention#
Présentation#
YOLO12, sorti début 2025, introduit une architecture centrée sur l'attention qui s'éloigne des approches traditionnelles basées sur les CNN utilisées dans les modèles YOLO précédents, tout en conservant la vitesse d'inférence en temps réel essentielle pour de nombreuses applications. Ce modèle atteint une grande précision de détection d'objets grâce à des innovations méthodologiques inédites dans les mécanismes d'attention et l'architecture globale du réseau, tout en maintenant des performances en temps réel. Malgré ces avantages, YOLO12 reste une version communautaire pouvant présenter une instabilité d'entraînement, une consommation de mémoire accrue et un débit CPU plus lent en raison de ses blocs d'attention lourds. Ultralytics recommande donc YOLO11 ou YOLO26 pour la plupart des charges de travail en production.
Watch: How to Use YOLO12 for Object Detection with the Ultralytics Package | Is YOLO12 Fast or Slow? 🚀
Fonctionnalités clés#
- Mécanisme d'attention de zone : Une nouvelle approche d'auto-attention qui traite efficacement de grands champs réceptifs. Elle divise les cartes de caractéristiques en l régions de taille égale (par défaut 4), horizontalement ou verticalement, évitant les opérations complexes et maintenant un large champ réceptif effectif. Cela réduit considérablement le coût de calcul par rapport à l'auto-attention standard.
- Réseaux d'agrégation de couches efficaces résiduelles (R-ELAN) : Un module d'agrégation de caractéristiques amélioré basé sur ELAN, conçu pour relever les défis d'optimisation, en particulier dans les modèles centrés sur l'attention à plus grande échelle. R-ELAN introduit :
- Des connexions résiduelles au niveau des blocs avec mise à l'échelle (similaire à la mise à l'échelle des couches).
- Une méthode révisée d'agrégation des caractéristiques créant une structure de type goulot d'étranglement (bottleneck).
- Architecture d'attention optimisée : YOLO12 rationalise le mécanisme d'attention standard pour une efficacité accrue et une meilleure compatibilité avec le framework YOLO. Cela inclut :
- L'utilisation de FlashAttention pour minimiser la surcharge d'accès à la mémoire.
- La suppression du codage positionnel pour un modèle plus propre et plus rapide.
- L'ajustement du ratio MLP (passant de 4 à 1,2 ou 2) pour mieux équilibrer le calcul entre l'attention et les couches feed-forward.
- La réduction de la profondeur des blocs empilés pour une optimisation améliorée.
- L'exploitation des opérations de convolution (lorsque c'est approprié) pour leur efficacité computationnelle.
- L'ajout d'une convolution séparable 7x7 (le « position perceiver ») au mécanisme d'attention pour encoder implicitement les informations positionnelles.
- Support complet des tâches : YOLO12 prend en charge une gamme de tâches clés en vision par ordinateur : la détection d'objets, la segmentation d'instances, la classification d'images, l'estimation de pose et la détection d'objets orientés (OBB).
- Efficacité améliorée : Atteint une précision plus élevée avec moins de paramètres par rapport à de nombreux modèles antérieurs, démontrant un meilleur équilibre entre vitesse et précision.
- Déploiement flexible : Conçu pour être déployé sur diverses plateformes, des appareils en périphérie (edge) jusqu'à l'infrastructure cloud.

Tâches et modes pris en charge#
YOLO12 prend en charge une variété de tâches de vision par ordinateur. Le tableau ci-dessous présente le support des tâches et les modes opérationnels (Inférence, Validation, Entraînement et Export) activés pour chacune :
Seuls les poids de détection (yolo12n.pt, yolo12s.pt, yolo12m.pt, yolo12l.pt, yolo12x.pt) sont publiés sur ultralytics/assets. Les architectures de segmentation, de classification, de pose et d'OBB sont définies dans ultralytics/cfg/models/12/, de sorte que ces variantes prennent en charge l'entraînement à partir de zéro avec la configuration .yaml, mais aucun fichier pré-entraîné .pt n'est actuellement disponible pour elles. Pour les points de contrôle pré-entraînés de segmentation, de pose, de classification ou d'OBB, Ultralytics recommande YOLO11 ou YOLO26.
| Type de modèle | Tâche | Poids pré-entraînés | Entraînement | Validation | Inférence | Exporter (Export) |
|---|---|---|---|---|---|---|
| YOLO12 | Détection | ✅ | ✅ | ✅ | ✅ | ✅ |
| YOLO12-seg | Segmentation | ❌ | ✅ | ✅ | ✅ | ✅ |
| YOLO12-cls | Classification | ❌ | ✅ | ✅ | ✅ | ✅ |
| YOLO12-pose | Pose | ❌ | ✅ | ✅ | ✅ | ✅ |
| YOLO12-obb | OBB | ❌ | ✅ | ✅ | ✅ | ✅ |
Toutes les architectures YOLO12 prennent en charge tous les modes dès qu'un point de contrôle entraîné est disponible. La colonne Pretrained Weights indique uniquement si Ultralytics publie un .pt pré-entraîné officiel sur ultralytics/assets : pour la segmentation, la pose, la classification et l'OBB, tu dois entraîner ton propre point de contrôle à partir du fichier .yaml correspondant avant d'exécuter l'inférence, la validation ou l'exportation.
Métriques de performance#
YOLO12 démontre des améliorations significatives en termes de précision sur toutes les échelles de modèles, avec quelques compromis sur la vitesse par rapport aux modèles YOLO antérieurs les plus rapides. Tu trouveras ci-dessous les résultats quantitatifs pour la détection d'objets sur le jeu de données de validation COCO :
Performance de détection (COCO val2017)#
| Modèle | taille (pixels) | mAPval 50-95 | Vitesse CPU ONNX (ms) | Vitesse T4 TensorRT (ms) | params (M) | FLOPs (B) | Comparaison (mAP/Vitesse) |
|---|---|---|---|---|---|---|---|
| YOLO12n | 640 | 40.6 | - | 1.64 | 2.6 | 7.6 | +2.1%/-9% (vs. YOLOv10n) |
| YOLO12s | 640 | 48.0 | - | 2.61 | 9.3 | 23.7 | +0.1%/+42% (vs. RT-DETRv2) |
| YOLO12m | 640 | 52.5 | - | 4.86 | 20.2 | 71.3 | +1.0%/-3% (vs. YOLO11m) |
| YOLO12l | 640 | 53.7 | - | 6.77 | 26.4 | 96.3 | +0.4%/-8% (vs. YOLO11l) |
| YOLO12x | 640 | 55.2 | - | 11.79 | 59.1 | 210.2 | +0.6%/-4% (vs. YOLO11x) |
- Vitesse d'inférence mesurée sur un GPU NVIDIA T4 avec la précision TensorRT FP16.
- Les comparaisons montrent l'amélioration relative du mAP et le changement en pourcentage de la vitesse (positif indique plus rapide ; négatif indique plus lent). Les comparaisons sont effectuées par rapport aux résultats publiés pour YOLOv10, YOLO11 et RT-DETR lorsqu'ils sont disponibles.
Exemples d'utilisation#
Cette section fournit des exemples pour l'entraînement et l'inférence avec YOLO12. Pour une documentation plus complète sur ces modes et d'autres (notamment la Validation et l'Exportation), consulte les pages dédiées Prédiction et Entraînement.
Les exemples ci-dessous se concentrent sur les modèles Détection de YOLO12 (pour la détection d'objets). Pour les autres tâches prises en charge (segmentation, classification, estimation de pose et détection d'objets orientés), réfère-toi à la documentation spécifique à chaque tâche : Segmenter, Classifier, Pose et OBB.
Les modèles pré-entraînés *.pt (utilisant PyTorch) et les fichiers de configuration *.yaml peuvent être transmis à la classe YOLO() pour créer une instance de modèle 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")Améliorations clés#
-
Extraction de caractéristiques améliorée :
- Attention de zone : Gère efficacement les grands champs réceptifs, réduisant ainsi le coût de calcul.
- Équilibre optimisé : Équilibre amélioré entre les calculs d'attention et les réseaux feed-forward.
- R-ELAN : Améliore l'agrégation des caractéristiques en utilisant l'architecture R-ELAN.
-
Innovations d'optimisation :
- Connexions résiduelles : Introduit des connexions résiduelles avec mise à l'échelle pour stabiliser l'entraînement, surtout dans les modèles plus larges.
- Intégration raffinée des caractéristiques : Implémente une méthode améliorée pour l'intégration des caractéristiques au sein de R-ELAN.
- FlashAttention : Incorpore FlashAttention pour réduire la surcharge d'accès à la mémoire.
-
Efficacité architecturale :
- Nombre de paramètres réduit : Atteint un nombre de paramètres inférieur tout en maintenant ou améliorant la précision par rapport à de nombreux modèles précédents.
- Attention rationalisée : Utilise une implémentation simplifiée de l'attention, évitant le codage positionnel.
- Ratios MLP optimisés : Ajuste les ratios MLP pour allouer plus efficacement les ressources computationnelles.
Prérequis#
L'implémentation Ultralytics YOLO12, par défaut, ne nécessite pas FlashAttention. Cependant, FlashAttention peut être optionnellement compilé et utilisé avec YOLO12. Pour compiler FlashAttention, l'un des GPU NVIDIA suivants est requis :
- GPU Turing (par ex., T4, série Quadro RTX)
- GPU Ampere (par ex., série RTX30, A30/40/100)
- GPU Ada Lovelace (par ex., série RTX40)
- GPU Hopper (par ex., H100/H200)
Citations et remerciements#
Si tu utilises YOLO12 dans tes recherches, cite le travail original de l'University at Buffalo et de 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}
}L'article sur YOLO12 a été publié dans les actes de NeurIPS 2025, avec une pré-publication sur arXiv.
FAQ#
YOLO12 est un modèle polyvalent qui prend en charge un large éventail de tâches fondamentales en vision par ordinateur. Il excelle dans la détection d'objets, la segmentation d'instances, la classification d'images, l'estimation de pose et la détection d'objets orientés (OBB) (voir les détails). Ce support complet des tâches fait de YOLO12 un outil puissant pour diverses applications, de la robotique et la conduite autonome à l'imagerie médicale et l'inspection industrielle. Note que les poids pré-entraînés
.ptne sont actuellement publiés que pour la détection ; les architectures de segmentation, de pose, de classification et d'OBB sont fournies en tant que configurations.yamlpour un entraînement à partir de zéro.YOLO12 démontre des améliorations significatives de précision sur toutes les échelles de modèles par rapport aux modèles YOLO précédents comme YOLOv10 et YOLO11, avec quelques compromis sur la vitesse par rapport aux modèles antérieurs les plus rapides. Par exemple, YOLO12n atteint une amélioration du mAP de +2,1 % par rapport à YOLOv10n et de +1,2 % par rapport à YOLO11n sur le jeu de données COCO val2017. Par rapport à des modèles comme RT-DETR, YOLO12s offre une amélioration du mAP de +1,5 % et une augmentation substantielle de la vitesse de +42 %. Ces mesures mettent en évidence le solide équilibre entre précision et efficacité de YOLO12. Consulte la section des métriques de performance pour des comparaisons détaillées.
Par défaut, l'implémentation Ultralytics YOLO12 ne nécessite pas FlashAttention. Cependant, FlashAttention peut être optionnellement compilé et utilisé avec YOLO12 pour minimiser la surcharge d'accès à la mémoire. Pour compiler FlashAttention, l'un des GPU NVIDIA suivants est requis : GPU Turing (ex. T4, série Quadro RTX), GPU Ampere (ex. série RTX30, A30/40/100), GPU Ada Lovelace (ex. série RTX40) ou GPU Hopper (ex. H100/H200). Cette flexibilité permet aux utilisateurs de tirer parti des avantages de FlashAttention lorsque les ressources matérielles le permettent.
Cette page fournit des exemples d'utilisation de base pour l'entraînement et l'inférence. Pour une documentation complète sur ces modes et d'autres, y compris la Validation et l'Exportation, consulte les pages dédiées Prédiction et Entraînement. Pour des informations spécifiques aux tâches (segmentation, classification, estimation de pose et détection d'objets orientés), réfère-toi à la documentation correspondante : Segment, Classify, Pose et OBB. Ces ressources fournissent des conseils approfondis pour utiliser efficacement YOLO12 dans divers scénarios.
YOLO12 intègre plusieurs innovations clés pour équilibrer vitesse et précision. Le mécanisme d'attention de zone traite efficacement de grands champs réceptifs, réduisant le coût de calcul par rapport à l'auto-attention standard. Les réseaux d'agrégation de couches efficaces résiduels (R-ELAN) améliorent l'agrégation des caractéristiques, répondant aux défis d'optimisation dans les modèles axés sur l'attention de plus grande taille. L'architecture d'attention optimisée, incluant l'utilisation de FlashAttention et la suppression du codage positionnel, améliore encore l'efficacité. Ces fonctionnalités permettent à YOLO12 d'atteindre une précision de pointe tout en maintenant la vitesse d'inférence en temps réel cruciale pour de nombreuses applications.