YOLOv7 vs YOLO11 : De l'héritage en temps réel à l'efficacité de pointe
Naviguer dans le paysage des modèles de vision par ordinateur implique de comprendre les nuances entre les architectures établies et les dernières innovations de pointe (SOTA). Ce guide fournit une comparaison technique complète entre YOLOv7, une étape importante dans la série YOLO, et Ultralytics YOLO11, le modèle de pointe conçu pour des performances et une polyvalence supérieures.
Nous explorerons leurs différences architecturales, leurs mesures de référence et leurs applications pratiques afin d'aider les développeurs et les chercheurs à sélectionner l'outil optimal pour les tâches allant de la détection d'objets à la segmentation d'instances complexe.
YOLOv7 : une référence en matière d'architecture efficace
Lancé en juillet 2022, YOLOv7 a représenté un grand pas en avant dans l'équilibre entre l'efficacité de l'entraînement et la vitesse d'inférence. Il a été conçu pour surpasser les détecteurs précédents en se concentrant sur les optimisations architecturales qui réduisent le nombre de paramètres sans sacrifier la précision.
Auteurs: Chien-Yao Wang, Alexey Bochkovskiy et Hong-Yuan Mark Liao
Organisation:Institute of Information Science, Academia Sinica, Taiwan
Date: 2022-07-06
Arxiv:https://arxiv.org/abs/2207.02696
GitHub:https://github.com/WongKinYiu/yolov7
Docs:https://docs.ultralytics.com/models/yolov7/
Points forts architecturaux
YOLOv7 a introduit le Extended Efficient Layer Aggregation Network (E-ELAN). Cette architecture permet au modèle d'apprendre des caractéristiques plus diverses en contrôlant les chemins de gradient les plus courts et les plus longs, améliorant ainsi la convergence pendant l'entraînement. De plus, il a utilisé le "sac de cadeaux gratuits entraînable", un ensemble de stratégies d'optimisation telles que la re-paramétrisation du modèle et l'attribution dynamique d'étiquettes, qui améliorent la précision sans augmenter le coût d'inférence.
Bien qu'il s'agisse principalement d'un modèle de détection d'objets, la communauté open source a exploré l'extension de YOLOv7 pour l'estimation de pose. Cependant, ces implémentations manquent souvent de l'intégration transparente que l'on trouve dans les frameworks unifiés.
Forces et limitations
YOLOv7 est respecté pour :
- Solides performances : Il a établi une nouvelle base de référence pour les détecteurs en temps réel lors de sa sortie, avec de bonnes performances sur l'ensemble de données COCO.
- Innovation architecturale : L'introduction d'E-ELAN a influencé les recherches ultérieures en matière de conception de réseaux.
Cependant, il est confronté à des défis dans les flux de travail modernes :
- Complexité : Le pipeline d’entraînement peut être complexe, nécessitant une configuration manuelle importante par rapport aux normes modernes.
- Polyvalence limitée : Il ne prend pas en charge nativement les tâches telles que la classification ou les boîtes englobantes orientées (OBB) prêtes à l'emploi.
- Utilisation des ressources : L'entraînement des variantes plus grandes, telles que YOLOv7x, exige une mémoire GPU substantielle, ce qui peut constituer un goulot d'étranglement pour les chercheurs disposant de matériel limité.
Ultralytics YOLO11 : Redéfinir la vitesse, la précision et la facilité d'utilisation
Ultralytics YOLO11 est la dernière évolution de la célèbre lignée YOLO, conçue pour offrir des performances SOTA dans un large éventail de tâches de vision par ordinateur. S’appuyant sur un héritage d’amélioration continue, YOLO11 offre une architecture raffinée qui maximise l’efficacité pour le déploiement dans le monde réel.
Auteurs : Glenn Jocher et Jing Qiu
Organisation :Ultralytics
Date : 2024-09-27
GitHub :https://github.com/ultralytics/ultralytics
Docs :https://docs.ultralytics.com/models/yolo11/
Architecture avancée et polyvalence
YOLO11 utilise un backbone modernisé utilisant des blocs C3k2 et un module SPPF amélioré pour capturer plus efficacement les caractéristiques à différentes échelles. Cette conception se traduit par un modèle qui est non seulement plus précis, mais aussi significativement plus léger en termes de paramètres et de FLOPs par rapport à ses prédécesseurs et concurrents.
Une caractéristique déterminante de YOLO11 est sa prise en charge native de plusieurs tâches. Dans un seul framework, les utilisateurs peuvent effectuer :
- Détection : Identification des objets avec des boîtes englobantes.
- Segmentation : Masquage au niveau des pixels pour une analyse précise de la forme.
- Classification : Attribution d’étiquettes de classe à des images entières.
- Estimation de pose : Détection des points clés sur le corps humain.
- OBB : Détection d'objets pivotés, cruciale pour l'imagerie aérienne.
Écosystème unifié
Ultralytics YOLO11 s'intègre de manière transparente avec Ultralytics HUB, une plateforme pour la gestion des ensembles de données, l'entraînement sans code et le déploiement en un clic. Cette intégration accélère considérablement le cycle de vie MLOps.
Pourquoi les développeurs choisissent YOLO11
- Facilité d'utilisation : Grâce à une conception centrée sur l'utilisateur, YOLO11 peut être implémenté en quelques lignes de code Python ou via une simple CLI.
- Écosystème bien maintenu : Soutenu par une communauté active et l’équipe Ultralytics, le modèle reçoit des mises à jour fréquentes, garantissant la compatibilité avec les dernières versions de PyTorch et les accélérateurs matériels.
- Équilibre des performances : Il réalise un compromis exceptionnel entre la vitesse d'inférence et la précision moyenne (mAP), ce qui le rend idéal à la fois pour les appareils périphériques et les serveurs en nuage.
- Efficacité de la mémoire : Les modèles YOLO11 nécessitent généralement moins de mémoire CUDA pendant l’entraînement par rapport aux anciennes architectures ou aux modèles basés sur des transformateurs, ce qui permet d’utiliser des tailles de lots plus importantes ou de s’entraîner sur du matériel modeste.
Comparaison des performances : benchmarks techniques
Le tableau suivant illustre les différences de performances entre YOLOv7 et YOLO11. Les données montrent comment les optimisations modernes permettent à YOLO11 d'atteindre une précision supérieure avec une fraction du coût de calcul.
| Modèle | Taille (pixels) | mAPval 50-95 | Vitesse CPU ONNX (ms) | Vitesse T4 TensorRT10 (ms) | paramètres (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
| 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 |
Analyse :
- Efficacité : YOLO11m correspond à la précision de YOLOv7l (51,5 contre 51,4 mAP) tout en utilisant près de la moitié des paramètres (20,1M contre 36,9M) et beaucoup moins de FLOPs.
- Vitesse : Pour les applications en temps réel, YOLO11n est considérablement plus rapide, atteignant 1,5 ms sur un GPU T4, ce qui le rend parfait pour le traitement vidéo à haute fréquence d’images.
- Précision : Le plus grand modèle, YOLO11x, surpasse YOLOv7x en précision (54,7 vs 53,1 mAP) tout en conservant un nombre de paramètres compétitif.
Cas d'utilisation concrets
Agriculture et surveillance environnementale
Dans l'agriculture de précision, la détection des maladies des cultures ou la surveillance de la croissance nécessite des modèles capables de fonctionner sur des appareils à puissance limitée, tels que les drones ou les capteurs de terrain.
- YOLO11 : Son architecture légère (plus précisément YOLO11n/s) permet le déploiement sur des appareils Raspberry Pi ou NVIDIA Jetson, ce qui permet la surveillance de la santé des cultures en temps réel.
- YOLOv7 : Bien qu’il soit précis, sa demande de calcul plus élevée limite son utilité sur les appareils périphériques alimentés par batterie.
Fabrication intelligente et contrôle qualité
Les systèmes d'inspection visuelle automatisés nécessitent une haute précision pour détecter les défauts minimes dans les chaînes de fabrication.
- YOLO11 : La capacité du modèle à effectuer la segmentation et l’OBB est cruciale ici. Par exemple, l’OBB est essentiel pour détecter les composants pivotés sur une bande transporteuse, une fonctionnalité prise en charge nativement par YOLO11, mais nécessitant des implémentations personnalisées dans YOLOv7.
- YOLOv7 : Convient à la détection standard de boîtes englobantes, mais moins adaptable aux défauts géométriques complexes sans modification importante.
Surveillance et sécurité
Les systèmes de sécurité traitent souvent plusieurs flux vidéo simultanément.
- YOLO11 : La grande vitesse d’inférence permet à un seul serveur de traiter plus de flux en parallèle, ce qui réduit les coûts d’infrastructure.
- YOLOv7 : Efficace, mais une latence plus élevée par frame réduit le nombre total de canaux qu’une seule unité peut gérer.
Implémentation et efficacité de l'entraînement
L'une des caractéristiques remarquables de l'écosystème Ultralytics est l'expérience simplifiée pour les développeurs. Vous trouverez ci-dessous une comparaison de la façon de démarrer.
Simplicité du code
Ultralytics YOLO11 est conçu pour être « batteries included », en faisant abstraction du code boilerplate complexe.
from ultralytics import YOLO
# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt")
# Train on a custom dataset with a single command
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image
results = model("path/to/image.jpg")
En revanche, les anciens référentiels nécessitent souvent de cloner le référentiel, d'ajuster manuellement les fichiers de configuration et d'exécuter des scripts shell complexes pour l'entraînement et l'inférence.
Flexibilité d'exportation
YOLO11 prend en charge l'exportation en un clic vers différents formats pour le déploiement, notamment ONNX, TensorRT, CoreML et TFLite. Cette flexibilité garantit que votre modèle est prêt pour la production dans n'importe quel environnement.
Conclusion : Le vainqueur incontesté
Alors que YOLOv7 reste un modèle respectable dans l'histoire de la vision par ordinateur, Ultralytics YOLO11 représente l'avenir. Pour les développeurs et les chercheurs, YOLO11 offre un ensemble convaincant :
- Mesures supérieures : mAP plus élevée et vitesses d’inférence plus rapides.
- Écosystème riche : Accès à Ultralytics HUB, à une documentation complète et à un support communautaire.
- Polyvalence : Un framework unique pour la détection, la segmentation, la pose, la classification et l’OBB.
- Pérennité : Les mises à jour et la maintenance continues assurent la compatibilité avec les nouveaux matériels et les nouvelles bibliothèques logicielles.
Pour tout nouveau projet, tirer parti de l'efficacité et de la facilité d'utilisation de YOLO11 est la voie recommandée pour obtenir des résultats de pointe avec un minimum de difficultés.
Explorer d'autres modèles
Si vous souhaitez d'autres comparaisons, explorez ces pages connexes dans la documentation :
- YOLO11 vs YOLOv8
- YOLO11 vs YOLOv10
- YOLOv7 vs RT-DETR
- YOLOv7 vs YOLOv5
- Explorez l'architecture YOLOv9.