YOLOv7 vs. YOLOv6.0 : Une comparaison technique complète
Dans le paysage en évolution rapide de la vision par ordinateur, le choix du bon modèle de détection d'objets est crucial pour la réussite du projet. Deux cadres importants qui ont façonné le domaine sont YOLOv7 et YOLOv6.0. Bien qu'ils partagent tous deux la lignée YOLO (You Only Look Once), ils divergent considérablement dans leurs philosophies architecturales et leurs objectifs d'optimisation.
Ce guide propose une analyse technique approfondie de ces deux modèles, en comparant leurs architectures, leurs performances et leurs scénarios de déploiement idéaux. Nous explorons également comment les alternatives modernes telles que Ultralytics YOLO11 intègrent les meilleures caractéristiques de ces prédécesseurs dans un écosystème unifié et convivial.
YOLOv7: L'architecture de la précision
YOLOv7publié en juillet 2022, a représenté un changement majeur dans la famille YOLO , en donnant la priorité aux innovations architecturales pour maximiser la précision sans sacrifier les capacités d'inférence en temps réel. Il a été conçu pour repousser les limites de l'ensemble de données de référence COCO .
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
Docsultralytics
Principales caractéristiques architecturales
YOLOv7 a introduit le "trainable bag-of-freebies", un ensemble de méthodes d'optimisation qui augmentent la précision sans augmenter le coût de l'inférence.
- E-ELAN (Extended-Efficient Layer Aggregation Networks) : Cette architecture améliore la capacité d'apprentissage du réseau en contrôlant les chemins de gradient les plus courts et les plus longs. Elle permet au modèle d'apprendre des caractéristiques plus diverses en augmentant la cardinalité des blocs de calcul.
- Mise à l'échelle du modèle : YOLOv7 utilise des techniques de mise à l'échelle composées qui modifient simultanément la profondeur et la largeur, garantissant des performances optimales pour différentes tailles de modèles (de Tiny à E6E).
- Formation de la tête auxiliaire : Le modèle utilise une tête auxiliaire pendant la formation pour fournir une supervision approfondie, qui est ensuite supprimée pendant l'inférence. Cela permet d'améliorer la convergence du modèle d'apprentissage profond.
Points forts et faiblesses
YOLOv7 est réputé pour sa précision moyenne élevée (mAP), en particulier sur les objets de petite taille et occultés. Il constitue un excellent choix pour la recherche et les scénarios où la précision est primordiale. Cependant, son architecture complexe, qui s'appuie fortement sur des couches basées sur la concaténation, peut entraîner une plus grande consommation de mémoire lors de l'apprentissage que les modèles industriels simplifiés.
YOLOv6.0 : Conçu pour la vitesse industrielle
YOLOv6.0, développé par le département d'informatique visuelle de Meituan, se concentre fortement sur les applications industrielles pratiques. Sorti début 2023, il privilégie la vitesse d'inférence et l'efficacité matérielle, ce qui en fait un candidat de choix pour l'informatique de pointe.
Auteurs : Chuyi Li, Lulu Li, Yifei Geng, Hongliang Jiang, Meng Cheng, Bo Zhang, Zaidan Ke, Xiaoming Xu, et Xiangxiang Chu
Organisation : Meituan
Date : 2023-01-13
Arxiv:https://arxiv.org/abs/2301.05586
GitHubYOLOv6
Docsultralytics
Principales caractéristiques architecturales
YOLOv6.0 se distingue par sa conception adaptée au matériel, optimisant spécifiquement le débit du GPU et du CPU .
- L'épine dorsale RepVGG : Le modèle utilise des blocs de re-paramétrage (RepVGG). Pendant la formation, le modèle a une topologie multi-branches pour un meilleur apprentissage, qui est mathématiquement fusionnée en une structure à branche unique pour l'inférence. Cela permet une exécution plus rapide sur du matériel comme le NVIDIA Jetson.
- Tête découplée : Contrairement aux versions antérieures de YOLO qui partageaient les fonctions de classification et de localisation, YOLOv6 utilise une tête découplée. Cette séparation améliore la vitesse de convergence et la précision de la détection.
- Adaptation à la quantification : l'architecture est conçue pour s'adapter à la quantification des modèles (par exemple, INT8), ce qui est essentiel pour le déploiement sur des appareils à ressources limitées.
Points forts et faiblesses
YOLOv6.0 excelle en termes de débit brut. Pour les lignes d'automatisation industrielle ou la robotique, où les millisecondes comptent, son graphe d'inférence optimisé constitue un avantage significatif. Cependant, il se concentre principalement sur la détection et ne dispose pas de la polyvalence multitâche native que l'on trouve dans les itérations ultérieures telles que YOLO11.
Comparaison des performances
Le tableau suivant illustre les compromis entre les deux modèles. YOLOv6.0 offre généralement une vitesse supérieure pour des niveaux de précision similaires, tandis que YOLOv7 repousse le plafond de la précision de détection.
| 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 |
| YOLOv6.0n | 640 | 37.5 | - | 1.17 | 4.7 | 11.4 |
| YOLOv6.0s | 640 | 45.0 | - | 2.66 | 18.5 | 45.3 |
| YOLOv6.0m | 640 | 50.0 | - | 5.28 | 34.9 | 85.8 |
| YOLOv6.0l | 640 | 52.8 | - | 8.95 | 59.6 | 150.7 |
Analyse des résultats
- Vitesse et précision : YOLOv6.0n se distingue par sa vitesse extrême, avec une inférence de 1,17 ms sur les GPU T4, ce qui en fait un outil idéal pour l'analyse vidéo à grande vitesse.
- Précision maximale : YOLOv7x atteint un taux de mAP (53,1 %) par rapport à YOLOv6.0l (52,8 %), ce qui démontre sa capacité à détecter des exemples difficiles.
- Efficacité de calcul : YOLOv6 utilise moins de FLOPs pour des niveaux de performance comparables, validant ainsi sa philosophie de conception "EfficientRep".
Considérations relatives au déploiement
Alors que les benchmarks fournissent une base de référence, les performances réelles dépendent fortement du matériel de déploiement. Le re-paramétrage de YOLOv6 brille sur les GPU, tandis que l'architecture de YOLOv7 basée sur la concaténation est robuste mais peut être gourmande en bande passante mémoire.
L'avantage Ultralytics : Au-delà de la comparaison
Si YOLOv7 et YOLOv6.0 représentent des avancées significatives dans l'histoire de la vision par ordinateur, le domaine évolue rapidement. Pour les développeurs à la recherche d'une solution durable et à l'épreuve du temps, Ultralytics YOLO11 offre un écosystème complet qui dépasse les limites des architectures de modèles individuels.
Pourquoi choisir Ultralytics YOLO11 ?
- Facilité d'utilisation inégalée : Contrairement à de nombreux modèles open-source qui nécessitent un clonage de référentiel et une configuration d'environnement complexes, les modèles Ultralytics sont accessibles via une simple installation de pip. La conception de l'APIPython est intuitive, permettant l'entraînement et l'inférence en seulement quelques lignes de code.
- Équilibre des performances : YOLO11 s'appuie sur les leçons architecturales de YOLOv6 et YOLOv7. Il utilise une architecture raffinée qui permet d'atteindre une précision de pointe tout en maintenant les vitesses d'inférence requises pour les applications en temps réel.
- Polyvalence : L'un des principaux avantages de l'écosystème Ultralytics est la prise en charge de tâches multiples. Alors que YOLOv6 et YOLOv7 se concentrent principalement sur la détection, YOLO11 prend nativement en charge la segmentation des instances, l'estimation de la pose, la classification et la détection d'objets orientés (OBB).
- Efficacité de la formation : Les modèles Ultralytics sont optimisés pour une convergence plus rapide et une utilisation réduite de la mémoire pendant la formation. Cette gestion efficace des ressources permet l'entraînement sur des GPU grand public sans l'énorme surcharge de mémoire CUDA souvent associée aux anciennes architectures à transformateur ou à concaténation.
- Un écosystème bien entretenu : Avec des mises à jour fréquentes, une documentation complète et une communauté dynamique, Ultralytics s'assure que vos projets restent compatibles avec les dernières versions de PyTorch et les formats d'exportation tels que ONNXTensorRT et CoreML.
Exemple de mise en œuvre
Le déploiement d'un modèle de pointe avec Ultralytics est simple. Voici comment vous pouvez facilement mettre en œuvre la détection d'objets :
from ultralytics import YOLO
# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt")
# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")
# Process results
for result in results:
result.save(filename="output.jpg") # save to disk
Conclusion
YOLOv7 et YOLOv6.0 répondent tous deux à des besoins spécifiques : YOLOv7 pour les tâches de recherche de haute précision et YOLOv6.0 pour l'optimisation de la vitesse industrielle. Cependant, pour la majorité des développeurs et des chercheurs, la solution Ultralytics YOLO11 d'Ultralytics constitue la solution la plus équilibrée, la plus polyvalente et la plus facile à maintenir. En combinant de hautes performances avec une expérience utilisateur exceptionnelle et un large support de tâches, Ultralytics permet aux utilisateurs de se concentrer sur la résolution de problèmes réels plutôt que de se battre avec des architectures de modèles.
Explorer d'autres modèles
Si vous souhaitez explorer d'autres options dans le domaine de la vision par ordinateur, examinez ces comparaisons :
- YOLOv7 vs. RT-DETR: Comparaison des détecteurs basés sur le CNN avec les architectures basées sur les transformateurs.
- YOLOv6 vs. YOLOv8: Comparaison de la précédente génération de modèles Ultralytics avec les standards industriels.
- YOLOv7 vs. YOLOX: Analyse des stratégies de détection sans ancrage vs. avec ancrage.