Ultralytics YOLO27 : Rejoins la liste d’attente.
Get Started

YOLO11 vs YOLOv5#

Choisir la bonne architecture de réseau neuronal est une décision essentielle pour tout projet de vision par ordinateur. À mesure que l’intelligence artificielle évolue, les outils à la disposition des développeurs et des chercheurs évoluent eux aussi. Ce guide propose une comparaison technique de deux modèles largement utilisés de l’écosystème Ultralytics : YOLOv5, établi depuis longtemps, et le plus récent YOLO11.

Que tu déploies des modèles légers pour des applications d’IA en périphérie ou que tu traites des flux vidéo haute résolution sur des GPU cloud, comprendre les nuances architecturales, les indicateurs de performance et les cas d’utilisation idéaux de ces modèles t’aidera à faire un choix fondé sur les données et adapté aux contraintes de ton déploiement.

Lignée des modèles et détails techniques#

Les deux modèles reflètent l’importance qu’Ultralytics accorde à la collaboration open source, aux performances fiables et à la facilité d’utilisation, et tous deux sont largement adoptés par la communauté de l’apprentissage automatique.

Détails sur YOLO11#

Détails sur YOLOv5#

Différences architecturales#

L’évolution de YOLOv5 à YOLO11 introduit plusieurs changements architecturaux qui améliorent la précision et l’efficacité en paramètres.

YOLOv5 est un ancien modèle YOLO développé nativement avec PyTorch, doté d’un backbone CSPNet (Cross Stage Partial Network) et d’un neck PANet (Path Aggregation Network). Il reposait sur la détection par ancres, qui nécessitait des boîtes d’ancrage prédéfinies pour prédire les contours des objets. Bien que très efficace, l’ajustement de ces ancres pour des jeux de données de vision par ordinateur personnalisés pouvait être fastidieux.

À l’inverse, YOLO11 utilise une approche de détection sans ancres. Cela élimine le besoin d’ajuster manuellement les boîtes d’ancrage, simplifie le processus d’entraînement et améliore la généralisation sur des jeux de données variés comme le jeu de données COCO. De plus, YOLO11 possède une tête découplée : les tâches de classification et de régression des boîtes englobantes sont traitées dans des branches distinctes. Cette séparation améliore la vitesse de convergence et la précision moyenne (mAP), en particulier dans les scénarios complexes de détection d’objets.

Mesures de performance et benchmarks#

Le tableau ci-dessous compare les principales mesures pour différentes tailles de modèle. Les deux sont des modèles Ultralytics qui nécessitent peu de mémoire et consomment généralement moins de mémoire CUDA pendant l’entraînement que les alternatives basées sur Transformer, ce qui réduit le seuil matériel nécessaire pour commencer.

Modèletaille
(pixels)
mAPval50-95Vitesse
CPU ONNX
(ms)
Vitesse
T4 TensorRT10
(ms)
paramètres
(M)
FLOPs
(B)
YOLO11n64039.556.11.52.66.5
YOLO11s64047.090.02.59.421.6
YOLO11m64051.5183.24.720.168.1
YOLO11l64053.4238.66.225.387.2
YOLO11x64054.7462.811.356.9195.3
YOLOv5n64028.0-1.121.94.5
YOLOv5s64037.4-1.927.216.5
YOLOv5m64045.4-4.0321.249.0
YOLOv5l64049.0-6.6146.5109.1
YOLOv5x64050.7-11.8986.7205.7

YOLO11 obtient une mAP supérieure à toutes les échelles. Par exemple, YOLO11m atteint 51.5 mAP avec 20.1M paramètres, contre 45.4 mAP avec 21.2M paramètres pour YOLOv5m. YOLOv5n, YOLOv5s et YOLOv5m sont légèrement plus rapides sur TensorRT T4, mais leur précision est nettement inférieure.

Méthodes d’entraînement et facilité d’utilisation#

La facilité d’utilisation est un principe fondamental d’Ultralytics, soutenu par un écosystème bien entretenu et une communauté qui offre un soutien important.

Historiquement, YOLOv5 s’appuyait sur des scripts d’interface en ligne de commande (CLI) (train.py, detect.py) pour son exécution. Bien que puissants, ces scripts nécessitaient souvent des solutions de contournement pour être intégrés directement dans des applications Python personnalisées.

YOLO11 repose sur le package Python rationalisé ultralytics (introduit avec YOLOv8). Cette API unifiée gère tout, de l’entraînement à l’exportation de modèles vers des formats comme ONNX, OpenVINO et TensorRT, de manière native.

Déploiement simplifié avec la plateforme Ultralytics

Pour un flux de travail sans code, les développeurs peuvent utiliser Ultralytics Platform afin d’annoter les données, d’entraîner les modèles dans le cloud et de les déployer sur des appareils périphériques.

Comparaison du code#

Voici comment entraîner YOLO11 avec l’API Python :

from ultralytics import YOLO

# Charger un petit modèle YOLO11 préentraîné
model = YOLO("yolo11s.pt")

# Entraîner le modèle sur des données personnalisées
results = model.train(data="coco8.yaml", epochs=50, imgsz=640, device=0)

# Exporter le modèle au format ONNX pour le déploiement
model.export(format="onnx")

Pour les systèmes existants qui utilisent le dépôt YOLOv5, l’entraînement via CLI se présente ainsi :

# Clone the repository and run the training script
git clone https://github.com/ultralytics/yolov5
cd yolov5
pip install -r requirements.txt

python train.py --img 640 --batch 16 --epochs 50 --data coco128.yaml --weights yolov5s.pt

Cas d’utilisation idéaux et applications concrètes#

Les deux modèles ont des atouts distincts, adaptés à différents environnements opérationnels.

Quand utiliser YOLOv5#

Malgré l’arrivée d’une nouvelle génération, YOLOv5 reste une option fiable pour :

  • Intégration aux systèmes existants : environnements étroitement intégrés aux structures de tenseurs propres à YOLOv5 ou à des pipelines de déploiement difficiles à remanier.
  • Références académiques : chercheurs ayant besoin de références établies et éprouvées pour des études universitaires reproductibles en analyse d’images médicales.

Quand utiliser YOLO11#

YOLO11 est le meilleur choix pour les pipelines de production modernes grâce à sa polyvalence :

Perspectives : l’architecture YOLO26#

YOLO11 reste une référence solide, mais la vision par ordinateur continue de progresser. Les développeurs qui démarrent de nouveaux projets devraient également envisager Ultralytics YOLO26 (publié en janvier 2026), le modèle recommandé actuellement.

YOLO26 est conçu pour l’optimisation en périphérie et les déploiements à l’échelle de l’entreprise. Voici les principaux changements :

  • Conception de bout en bout sans NMS : YOLO26 prend en charge l’inférence native de bout en bout et ignore le post-traitement par suppression des non-maxima (NMS) grâce à nms=False, pour un déploiement plus rapide et plus simple.
  • Suppression du DFL : la Distribution Focal Loss a été supprimée pour simplifier l’exportation des modèles et améliorer leur compatibilité avec les appareils à faible puissance.
  • Optimiseur MuSGD : un hybride de SGD et de Muon qui transpose à la vision par ordinateur la stabilité de l’entraînement des grands modèles de langage (LLM), pour une convergence plus rapide.
  • Inférence CPU jusqu’à 43 % plus rapide : YOLO26n s’exécute jusqu’à 43 % plus rapidement que YOLO11n sur CPU, ce qui convient aux déploiements IoT et aux appareils dépourvus de GPU dédié.
  • ProgLoss + STAL : la perte progressive et l’assignation d’étiquettes tenant compte des petites cibles (STAL) améliorent la reconnaissance des petits objets, essentielle à l’imagerie aérienne par drone.

Résumé#

Le choix entre YOLO11 et YOLOv5 dépend en définitive de l’étape du cycle de vie de ton projet. YOLOv5 offre une stabilité éprouvée et une vaste communauté. Entre les deux, YOLO11 est le meilleur choix pour les nouveaux projets : il combine une précision supérieure, une API Python plus simple et la prise en charge d’un plus grand nombre de tâches. Pour bénéficier aujourd’hui de la meilleure précision et de la meilleure vitesse CPU, commence avec YOLO26, que tu peux aussi entraîner et déployer sur Ultralytics Platform.

Commentaires