Ultralytics YOLO27 :

YOLO12 : détection d’objets centrée sur l’attention#

Présentation#

YOLO12, publié début 2025, introduit une architecture centrée sur l’attention qui s’écarte des approches traditionnelles basées sur les CNN utilisées dans les précédents modèles YOLO, tout en conservant la vitesse d’inférence en temps réel essentielle à de nombreuses applications. Ce modèle atteint une grande précision en détection d’objets grâce à de nouvelles innovations méthodologiques 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 pilotée par la communauté qui peut présenter une instabilité lors de l’entraînement, une consommation mémoire élevée et un débit plus faible sur CPU en raison de ses blocs d’attention lourds. Ultralytics recommande donc YOLO11 ou YOLO26 pour la plupart des charges de production.

Modèle communautaire

YOLO12 est principalement maintenu pour l’évaluation comparative et la recherche. Si tu as besoin d’un entraînement stable, d’une utilisation prévisible de la mémoire et d’une inférence optimisée sur CPU, choisis YOLO11 ou YOLO26 pour le déploiement.



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 par zones : 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 (4 par défaut), horizontalement ou verticalement, évitant les opérations complexes tout en conservant un grand 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ésiduels (R-ELAN) : un module amélioré d’agrégation des caractéristiques basé sur ELAN, conçu pour résoudre les difficultés d’optimisation, notamment dans les modèles centrés sur l’attention de grande taille. 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 repensée d’agrégation des caractéristiques créant une structure de type goulot d’étranglement.
  • Architecture d’attention optimisée : YOLO12 simplifie le mécanisme d’attention standard pour améliorer son efficacité et sa compatibilité avec le framework YOLO. Cela comprend :
    • L’utilisation de FlashAttention pour réduire la surcharge liée aux accès mémoire.
    • La suppression de l’encodage positionnel pour obtenir un modèle plus simple et plus rapide.
    • L’ajustement du ratio MLP (de la valeur habituelle de 4 à 1,2 ou 2) afin de mieux équilibrer les calculs entre les couches d’attention et les couches d’anticipation.
    • La réduction de la profondeur des blocs empilés pour améliorer l’optimisation.
    • L’utilisation d’opérations de convolution (lorsqu’elles sont appropriées) pour leur efficacité de calcul.
    • L’ajout d’une convolution séparable 7x7 (le « position perceiver ») au mécanisme d’attention afin d’encoder implicitement les informations positionnelles.
  • Prise en charge complète des tâches : YOLO12 prend en charge un éventail de tâches fondamentales de vision par ordinateur : détection d’objets, segmentation d’instances, classification d’images, estimation de pose et détection d’objets orientés (OBB).
  • Efficacité améliorée : atteint une meilleure précision avec moins de paramètres que de nombreux modèles précédents, démontrant un meilleur équilibre entre vitesse et précision.
  • Déploiement flexible : conçu pour être déployé sur diverses plateformes, des appareils edge aux infrastructures cloud.

Visualisation comparative de YOLO12

Tâches et modes pris en charge#

YOLO12 prend en charge diverses tâches de vision par ordinateur. Le tableau ci-dessous présente la prise en charge des tâches et les modes opérationnels (inférence, validation, entraînement et exportation) disponibles pour chacune d’elles :

Disponibilité des poids préentraînés

Seuls les poids de détection (yolo12n.pt, yolo12s.pt, yolo12m.pt, yolo12l.pt, yolo12x.pt) sont publiés dans ultralytics/assets. Les architectures de segmentation, de classification, de pose et OBB sont définies dans ultralytics/cfg/models/12/. Ces variantes prennent donc en charge l’entraînement à partir de zéro avec la configuration .yaml, mais aucun fichier .pt préentraîné n’est actuellement disponible pour celles-ci. Pour les points de contrôle préentraînés de segmentation, de pose, de classification ou OBB, Ultralytics recommande YOLO11 ou YOLO26.

Type de modèleTâchePoids préentraînésEntraînementValidationInférenceExportation
YOLO12Détection
YOLO12-segSegmentation
YOLO12-clsClassification
YOLO12-posePose
YOLO12-obbOBB

Toutes les architectures YOLO12 prennent en charge chaque mode 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 OBB, tu dois entraîner ton propre point de contrôle à partir de la configuration .yaml correspondante avant de lancer l’inférence, la validation ou l’exportation.

Métriques de performance#

YOLO12 présente des améliorations significatives de précision à toutes les échelles de modèles, avec certains compromis en matière de vitesse par rapport aux modèles YOLO précédents les plus rapides. Voici les résultats quantitatifs de détection d’objets sur le jeu de données de validation COCO :

Performances de détection (COCO val2017)#

Performances
Modèletaille
(pixels)
mAPval
50-95
Vitesse
CPU ONNX
(ms)
Vitesse
T4 TensorRT
(ms)
paramètres
(M)
FLOPs
(B)
Comparaison
(mAP/vitesse)
YOLO12n64040.6-1.642.67.5+2,1 %/-9 % (par rapport à YOLOv10n)
YOLO12s64048.0-2.619.323.3+0,1 %/+42 % (par rapport à RT-DETRv2)
YOLO12m64052.5-4.8620.270.7+1,0 %/-3 % (par rapport à YOLO11m)
YOLO12l64053.7-6.7726.495.4+0,4 %/-8 % (par rapport à YOLO11l)
YOLO12x64055.2-11.7959.1208.9+0,6 %/-4 % (par rapport à YOLO11x)
  • La vitesse d’inférence est mesurée sur un GPU NVIDIA T4 avec la précision TensorRT FP16.
  • Les comparaisons présentent l’amélioration relative de la mAP et la variation en pourcentage de la vitesse (une valeur positive indique une accélération ; une valeur négative, un ralentissement). Elles sont effectuées à partir des résultats publiés pour YOLOv10, YOLO11 et RT-DETR lorsqu’ils sont disponibles.

Exemples d’utilisation#

Cette section fournit des exemples d’entraînement et d’inférence avec YOLO12. Pour une documentation plus complète sur ces modes et d’autres modes (notamment la Validation et l’Exportation), consulte les pages dédiées Predict et Train.

Les exemples ci-dessous se concentrent sur les modèles YOLO12 Detect (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), consulte la documentation spécifique à chaque tâche : Segment, Classify, Pose et OBB.

Exemple

Les modèles *.pt préentraînés (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#

  1. Extraction de caractéristiques améliorée :

    • Attention par zones : traite efficacement les grands champs réceptifs, réduisant ainsi le coût de calcul.
    • Équilibre optimisé : améliore l’équilibre entre les calculs d’attention et ceux du réseau d’anticipation.
    • R-ELAN : améliore l’agrégation des caractéristiques grâce à l’architecture R-ELAN.
  2. Innovations en matière d’optimisation :

    • Connexions résiduelles : introduit des connexions résiduelles avec mise à l’échelle afin de stabiliser l’entraînement, notamment dans les modèles de grande taille.
    • Intégration affinée des caractéristiques : met en œuvre une méthode améliorée d’intégration des caractéristiques au sein de R-ELAN.
    • FlashAttention : intègre FlashAttention pour réduire la surcharge liée aux accès mémoire.
  3. Efficacité de l’architecture :

    • Nombre de paramètres réduit : atteint un nombre de paramètres inférieur tout en conservant ou en améliorant la précision par rapport à de nombreux modèles précédents.
    • Attention simplifiée : utilise une implémentation simplifiée de l’attention, sans encodage positionnel.
    • Ratios MLP optimisés : ajuste les ratios MLP pour allouer plus efficacement les ressources de calcul.

Prérequis#

Par défaut, l’implémentation Ultralytics de YOLO12 ne nécessite pas FlashAttention. Cependant, FlashAttention peut être compilé et utilisé facultativement avec YOLO12. Pour compiler FlashAttention, l’un des GPU NVIDIA suivants est nécessaire :

Citations et remerciements#

Si tu utilises YOLO12 dans tes recherches, cite les travaux originaux de l’University at Buffalo et de l’University of Chinese Academy of Sciences :

Citation
@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 consacré à YOLO12 a été publié dans les actes de NeurIPS 2025, avec une prépublication sur arXiv.

FAQ#

  • YOLO12 intègre plusieurs innovations clés pour équilibrer vitesse et précision. Le mécanisme d’attention par zones traite efficacement les 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 et résolvent les difficultés d’optimisation des modèles centrés sur l’attention de grande taille. L’architecture d’attention optimisée, qui inclut l’utilisation de FlashAttention et la suppression de l’encodage positionnel, améliore encore l’efficacité. Ces fonctionnalités permettent à YOLO12 d’atteindre une précision de pointe tout en conservant la vitesse d’inférence en temps réel essentielle à de nombreuses applications.

  • YOLO12 est un modèle polyvalent qui prend en charge un large éventail de tâches fondamentales de vision par ordinateur. Il excelle en détection d’objets, en segmentation d’instances, en classification d’images, en estimation de pose et en détection d’objets orientés (OBB) (voir les détails). Cette prise en charge complète en fait un outil puissant pour diverses applications, de la robotique et de la conduite autonome à l’imagerie médicale et à l’inspection industrielle. Note que les poids .pt préentraînés sont actuellement publiés uniquement pour la détection ; les architectures de segmentation, de pose, de classification et OBB sont fournies sous forme de configurations .yaml pour un entraînement à partir de zéro.

  • YOLO12 présente des améliorations significatives de la précision à toutes les échelles de modèles par rapport aux modèles YOLO précédents comme YOLOv10 et YOLO11, avec certains compromis en matière de vitesse par rapport aux modèles précédents les plus rapides. Par exemple, YOLO12n atteint une amélioration de +2,1 % de la mAP par rapport à YOLOv10n et de +1,2 % par rapport à YOLO11n sur le jeu de données COCO val2017. Comparé à des modèles comme RT-DETR, YOLO12s offre une amélioration de +1,5 % de la mAP et une augmentation substantielle de +42 % de la vitesse. Ces métriques mettent en évidence le solide équilibre de YOLO12 entre précision et efficacité. Consulte la section sur les métriques de performance pour des comparaisons détaillées.

  • Par défaut, l’implémentation Ultralytics de YOLO12 ne nécessite pas FlashAttention. Cependant, FlashAttention peut être compilé et utilisé facultativement avec YOLO12 afin de réduire la surcharge liée aux accès mémoire. Pour compiler FlashAttention, l’un des GPU NVIDIA suivants est nécessaire : GPU Turing (par exemple, T4, série Quadro RTX), GPU Ampere (par exemple, série RTX30, A30/40/100), GPU Ada Lovelace (par exemple, série RTX40) ou GPU Hopper (par exemple, H100/H200). Cette flexibilité permet 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 modes, notamment la Validation et l’Exportation, consulte les pages dédiées Predict et Train. Pour obtenir des informations spécifiques aux tâches (segmentation, classification, estimation de pose et détection d’objets orientés), consulte la documentation correspondante : Segment, Classify, Pose et OBB. Ces ressources fournissent des conseils détaillés pour utiliser efficacement YOLO12 dans divers scénarios.

Commentaires