YOLO11 vs YOLOv5 : Une comparaison technique complète des architectures Ultralytics
Sélectionner la bonne architecture de réseau neuronal est une décision cruciale pour toute initiative de computer vision. À mesure que le paysage de l'artificial intelligence évolue, les outils à la disposition des développeurs et des chercheurs évoluent également. Ce guide complet propose une comparaison technique approfondie entre deux modèles emblématiques de l'écosystème Ultralytics : le très célèbre YOLOv5 et l'avancé YOLO11.
Que tu déploies des modèles légers pour des applications d'edge AI ou que tu traites des flux vidéo haute résolution sur des GPU cloud, comprendre les nuances architecturales, les performance metrics et les cas d'utilisation idéaux de ces modèles te permettra de faire un choix fondé sur des données pour tes contraintes de déploiement spécifiques.
Lignée des modèles et détails techniques
Les deux modèles reflètent l'engagement d'Ultralytics envers la collaboration open-source, des performances robustes et une facilité d'utilisation inégalée, ce qui les rend très appréciés par la communauté mondiale du machine learning.
Détails de YOLO11
- Auteurs : Glenn Jocher et Jing Qiu
- Organisation : Ultralytics
- Date : 27/09/2024
- GitHub : ultralytics/ultralytics
- Docs : YOLO11 Documentation
Détails de YOLOv5
- Auteurs : Glenn Jocher
- Organisation : Ultralytics
- Date : 26-06-2020
- GitHub : ultralytics/yolov5
- Docs : YOLOv5 Documentation
Différences architecturales
L'évolution de YOLOv5 vers YOLO11 introduit plusieurs changements architecturaux profonds conçus pour optimiser la précision et l'efficacité des paramètres.
YOLOv5 a été un pionnier dans l'écosystème PyTorch, introduisant un backbone CSPNet (Cross Stage Partial Network) hautement optimisé et un neck PANet (Path Aggregation Network). Il reposait sur une détection basée sur les ancres, ce qui nécessitait des anchor boxes prédéfinies pour prédire les limites des objets. Bien qu'extrêmement efficace, le réglage de ces ancres pour des computer vision datasets personnalisés pouvait être fastidieux.
En revanche, YOLO11 passe à un paradigme de détection plus moderne, sans ancres (anchor-free). Cela élimine le besoin de réglage manuel des anchor boxes, simplifiant le processus d'entraînement et améliorant la généralisation sur divers jeux de données comme le COCO dataset. De plus, YOLO11 dispose d'une tête découplée, ce qui signifie que les tâches de classification et de régression des bounding box sont traitées dans des branches séparées. Cette séparation améliore considérablement la vitesse de convergence et la mean Average Precision (mAP), particulièrement pour des scénarios complexes d'object detection.
Mesures de performance et benchmarks
Le tableau ci-dessous contraste les métriques clés selon les différentes tailles de modèles. Les modèles Ultralytics sont réputés pour leurs besoins en mémoire, consommant généralement moins de mémoire CUDA lors de l'entraînement par rapport aux alternatives lourdes basées sur les Transformer, ce qui réduit drastiquement la barrière matérielle à l'entrée.
| Modèle | taille (pixels) | mAPval 50-95 | Vitesse CPU ONNX (ms) | Vitesse T4 TensorRT10 (ms) | params (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLO11n | 640 | 39.5 | 56.1 | 1.5 | 2.6 | 6.5 |
| YOLO11s | 640 | 47.0 | 90.0 | 2.5 | 9.4 | 21.5 |
| YOLO11m | 640 | 51.5 | 183.2 | 4,7 | 20.1 | 68.0 |
| YOLO11l | 640 | 53.4 | 238.6 | 6.2 | 25.3 | 86.9 |
| YOLO11x | 640 | 54.7 | 462.8 | 11.3 | 56.9 | 194.9 |
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45,4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
Comme on peut le constater, YOLO11 atteint un équilibre de performance très favorable, offrant systématiquement des scores mAP plus élevés pour un nombre de paramètres comparable à celui de ses équivalents YOLOv5.
Méthodologies d'entraînement et utilisabilité
Un principe fondamental de la philosophie d'Ultralytics est une facilité d'utilisation exceptionnelle, soutenue par un écosystème bien entretenu et un support communautaire étendu.
YOLOv5 reposait historiquement sur des scripts d'interface en ligne de commande (CLI) robustes (train.py, detect.py) pour l'exécution. Bien que puissants, l'intégration de ces scripts directement dans des applications Python personnalisées nécessitait souvent des contournements.
YOLO11 a révolutionné cela en introduisant le package Python ultralytics rationalisé. Cette API unifiée gère tout, de l'entraînement à l'exporting models vers des formats comme ONNX, OpenVINO et TensorRT nativement.
Pour une expérience entièrement sans code, tu peux utiliser la Ultralytics Platform pour annoter des données, entraîner des modèles dans le cloud et les déployer de manière transparente sur des appareils edge.
Comparaison de code
Entraîner un modèle Ultralytics aujourd'hui est incroyablement efficace. Voici comment tu peux entraîner YOLO11 en utilisant son API Python native :
from ultralytics import YOLO
# Load a pretrained YOLO11 small model
model = YOLO("yolo11s.pt")
# Train the model on custom data
results = model.train(data="coco8.yaml", epochs=50, imgsz=640, device=0)
# Export the model to ONNX for deployment
model.export(format="onnx")Pour les systèmes existants utilisant YOLOv5, l'entraînement via CLI ressemble à ceci :
# 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.ptCas d'utilisation idéaux et applications réelles
Les deux modèles possèdent des forces distinctes adaptées à différents environnements opérationnels.
Quand utiliser YOLOv5
Malgré la nouvelle génération, YOLOv5 reste une référence. Il est fortement recommandé pour :
- Intégration de systèmes existants : Environnements profondément intégrés avec les structures de tenseurs spécifiques ou les pipelines de déploiement de YOLOv5 qui ne peuvent pas être facilement refactorisés.
- Bases de référence académiques : Chercheurs ayant besoin de bases de référence établies et pérennes pour des études académiques reproductibles dans le domaine de l'medical image analysis.
Quand utiliser YOLO11
YOLO11 représente le choix idéal pour les pipelines de production modernes grâce à son incroyable polyvalence :
- Environnements multi-tâches : Contrairement à YOLOv5, qui est principalement un détecteur (avec des ajouts de segmentation ultérieurs), YOLO11 prend nativement en charge l'instance segmentation, l'image classification, l'pose estimation et la détection d'Oriented Bounding Box (OBB) dès sa sortie.
- Analyse vidéo haute densité : Idéal pour les systèmes de trafic intelligents ou la retail inventory management où l'extraction d'une précision maximale à partir de scènes complexes est critique.
Vers l'avenir : L'architecture YOLO26
Bien que YOLO11 s'impose comme une norme exceptionnelle, la frontière de la vision par ordinateur continue d'avancer rapidement. Les développeurs recherchant le summum de l'efficacité devraient également considérer le dernier Ultralytics YOLO26 (sorti en janvier 2026).
YOLO26 représente un bond en avant massif, explicitement conçu à la fois pour l'optimisation edge et l'échelle d'entreprise. Les innovations clés incluent :
- Conception de bout en bout sans NMS : YOLO26 est nativement de bout en bout, éliminant le post-traitement Non-Maximum Suppression (NMS) pour un déploiement plus rapide et plus simple.
- Suppression de DFL : La Distribution Focal Loss a été supprimée pour une exportation de modèle simplifiée et une compatibilité améliorée avec les appareils à faible puissance.
- Optimiseur MuSGD : Un hybride révolutionnaire de SGD et Muon, apportant la stabilité de l'entraînement des LLM à la vision par ordinateur pour une convergence plus rapide.
- Inférence CPU jusqu'à 43 % plus rapide : Fortement optimisé pour les déploiements IoT et les appareils sans GPUs dédiés.
- ProgLoss + STAL : Fonctions de perte considérablement améliorées qui produisent des avancées notables dans la reconnaissance des petits objets, vitale pour l'imagerie par drone aérien.
Résumé
Choisir entre YOLO11 et YOLOv5 dépend finalement du stade de vie de ton projet. L'héritage de YOLOv5 est indéniable, offrant une stabilité extrême et un soutien communautaire massif. Cependant, pour tout nouveau projet, YOLO11 est hautement recommandé par rapport aux anciennes générations. Il combine une précision de pointe, une API Python exceptionnellement élégante et une consommation de mémoire d'entraînement réduite, consolidant la position d'Ultralytics à l'avant-garde de l'innovation IA. Pour ceux qui repoussent encore plus loin les limites, explorer l'état de l'art avec YOLO26 sur la Ultralytics Platform donnera des résultats inégalés.