YOLO11 vs YOLOv5#
Sélectionner la bonne architecture de réseau de neurones est une décision cruciale pour toute initiative de computer vision. À mesure que le paysage de l'intelligence artificielle évolue, les outils à la disposition des développeurs et des chercheurs évoluent également. Ce guide complet fournit une comparaison technique approfondie entre deux modèles phares 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 métriques de performance et les cas d'usage idéaux de ces modèles te garantira de faire un choix fondé sur les 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 : 2024-09-27
- GitHub : ultralytics/ultralytics
- Documentation : Documentation YOLO11
Détails de YOLOv5#
- Auteurs : Glenn Jocher
- Organisation : Ultralytics
- Date : 2020-06-26
- GitHub : ultralytics/yolov5
- Docs : Documentation YOLOv5
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 la 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 que très efficace, le réglage de ces ancres pour des jeux de données de vision par ordinateur personnalisés pouvait s'avérer fastidieux.
En revanche, YOLO11 adopte un paradigme de détection sans ancres plus moderne. Cela élimine le besoin d'un réglage manuel des boîtes d'ancrage, simplifiant le processus d'entraînement et améliorant la généralisation sur divers jeux de données tels que le COCO dataset. De plus, YOLO11 est doté d'une tête découplée, ce qui signifie que les tâches de classification et de régression des boîtes englobantes 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), en particulier pour les scénarios complexes de détection d'objets.
Métriques de performance et benchmarks#
Le tableau ci-dessous compare 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 pendant l'entraînement par rapport aux alternatives lourdes basées sur Transformer, ce qui abaisse considérablement 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 observé, YOLO11 atteint un équilibre de performance très favorable, offrant constamment des scores mAP plus élevés pour un nombre de paramètres comparable à celui de ses homologues 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.
Historiquement, YOLOv5 s'appuyait sur des scripts d'interface en ligne de commande (CLI) robustes (train.py, detect.py) pour son exécution. Bien qu'ils soient puissants, l'intégration directe de ces scripts dans des applications Python personnalisées nécessitait souvent des contournements.
YOLO11 a révolutionné cela en introduisant le package Python simplifié ultralytics. Cette API unifiée gère tout, de l'entraînement à l'exportation de modèles dans des formats tels que ONNX, OpenVINO et TensorRT de manière native.
Pour une expérience entièrement sans code, tu peux utiliser la Plateforme Ultralytics pour annoter des données, entraîner des modèles dans le cloud et les déployer de manière transparente sur des appareils de périphérie.
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 aux structures de tenseurs spécifiques de YOLOv5 ou aux pipelines de déploiement qui ne peuvent pas être facilement refactorisés.
- Bases académiques : Chercheurs ayant besoin de bases établies et de longue date pour des études académiques reproductibles dans l'analyse d'images médicales.
Quand utiliser YOLO11#
YOLO11 représente le choix idéal pour les pipelines de production modernes en raison de son incroyable polyvalence :
- Environnements multi-tâches : Contrairement à YOLOv5, qui est principalement un détecteur (avec des ajouts ultérieurs de segmentation), YOLO11 prend en charge nativement la segmentation d'instance, la classification d'images, l'estimation de pose et la détection Oriented Bounding Box (OBB) dès son installation.
- Analytique vidéo haute densité : Idéal pour les systèmes de transport intelligents ou la gestion des stocks au détail où l'extraction d'une précision maximale à partir de scènes complexes est essentielle.
Regarder vers l'avenir : L'architecture YOLO26#
Alors que YOLO11 s'impose comme une norme d'exception, la frontière de la vision par ordinateur continue d'évoluer rapidement. Les développeurs recherchant le summum absolu de l'efficacité devraient également envisager le dernier Ultralytics YOLO26 (sorti en janvier 2026).
YOLO26 représente un bond en avant massif, explicitement conçu à la fois pour l'optimisation en périphérie et l'échelle entreprise. Les innovations clés incluent :
- Conception de bout en bout sans NMS : YOLO26 est nativement de bout en bout, éliminant le post-traitement de la suppression non maximale (NMS) pour un déploiement plus rapide et plus simple.
- Suppression de DFL : La Distribution Focal Loss a été supprimée pour une exportation simplifiée du modèle et une compatibilité améliorée avec les appareils à faible consommation.
- Optimiseur MuSGD : Un hybride révolutionnaire de SGD et Muon, apportant la stabilité de l'entraînement LLM à la vision par ordinateur pour une convergence plus rapide.
- Inférence sur CPU jusqu'à 43 % plus rapide : Fortement optimisé pour les déploiements IoT et les appareils dépourvus de GPU dédiés.
- ProgLoss + STAL : Fonctions de perte considérablement améliorées qui produisent des améliorations notables dans la reconnaissance de petits objets, vitales pour l'imagerie par drone aérien.
Résumé#
Choisir entre YOLO11 et YOLOv5 dépend en fin de compte du stade du cycle 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 fortement recommandé par rapport aux anciennes générations. Il combine une précision de pointe, une API Python exceptionnellement élégante et une plus faible consommation de mémoire d'entraînement, consolidant la position d'Ultralytics à l'avant-garde de l'innovation en IA. Pour ceux qui repoussent encore plus loin les limites, l'exploration du tout dernier YOLO26 sur la Plateforme Ultralytics donnera des résultats sans égal.