YOLOv8 vs YOLOv7: une comparaison technique complète
L'évolution des modèles de détection d'objets a été rapide, la famille YOLO (You Only Look Once) étant la plus performante en temps réel. Le choix entre YOLOv8 et YOLOv7 implique de comprendre non seulement leurs mesures brutes, mais aussi les philosophies architecturales, l'expérience des développeurs et le soutien de l'écosystème qui les entoure. Alors que YOLOv7 a posé des jalons impressionnants lors de sa sortie, Ultralytics YOLOv8 a introduit un changement de paradigme en termes de convivialité et de polyvalence.
Ce guide fournit une analyse technique détaillée afin d'aider les développeurs et les chercheurs à sélectionner l'outil adéquat pour leurs projets de vision par ordinateur.
Analyse des performances
Lors de la comparaison des performances, il est essentiel d'examiner le compromis entre la vitesse d'inférence et la précision de détection (mAP). YOLOv8 offre généralement un meilleur équilibre, en fournissant une plus grande précision pour des tailles de modèle similaires et des vitesses d'inférence plus rapides sur du matériel moderne.
Le tableau suivant met en évidence les différences de performance sur l'ensemble de donnéesCOCO .
| Modèle | Taille (pixels) | mAPval 50-95 | Vitesse CPU ONNX (ms) | Vitesse T4 TensorRT10 (ms) | paramètres (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
| YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
| YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
| YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.2 |
| YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
Points clés à retenir
- L'efficacité : L'efficacité YOLOv8n (nano) atteint des vitesses remarquables (1,47 ms sur le GPU), ce qui en fait la solution idéale pour les applications d'intelligence artificielle en périphérie où la latence est essentielle.
- Précision :YOLOv8x dépasse YOLOv7x en termes de précision (53,9 % contre 53,1 % mAP) tout en conservant un nombre de paramètres compétitif.
- Optimisation : Les modèles YOLOv8 démontrent une meilleure efficacité des paramètres, offrant une performance plus élevée par FLOP, ce qui se traduit par une consommation d'énergie plus faible lors de l'inférence.
Ultralytics YOLOv8: La norme moderne
Publié par Ultralytics au début de l'année 2023, YOLOv8 a été conçu pour être à la pointe de la technologie (SOTA), non seulement en termes de performances, mais aussi de flexibilité et de facilité d'utilisation. Il unifie de multiples tâches de vision par ordinateur dans un cadre unique et rationalisé.
- Auteurs : Glenn Jocher, Ayush Chaurasia et Jing Qiu
- Organisation :Ultralytics
- Date : 2023-01-10
- GitHub :ultralytics
- Docs :DocumentationYOLOv8
Architecture et innovation
YOLOv8 introduit un mécanisme de détection sans ancrage, qui simplifie le processus de formation en supprimant la nécessité de calculer manuellement les boîtes d'ancrage. Cela réduit le nombre de prédictions de boîtes et accélère la suppression du non-maximum (NMS).
L'architecture comprend le module C2f (Cross-Stage Partial Bottleneck with two convolutions), qui combine des caractéristiques de haut niveau avec des informations contextuelles de manière plus efficace que les itérations précédentes. Il en résulte un flux de gradient plus riche et une meilleure convergence de l'apprentissage. En outre, YOLOv8 utilise une tête découplée, qui traite les tâches d'objectivité, de classification et de régression de manière indépendante pour une plus grande précision.
Points forts
- Intégration à l'écosystème : Entièrement intégré à l'écosystème Ultralytics , il permet la formation, la validation et le déploiement de modèles en toute transparence via une simple API Python ou une CLI.
- Polyvalence : Prise en charge native de la détection d'objets, de la segmentation d'instances, de l'estimation de la pose, de la classification d'images et des boîtes englobantes orientées (OBB).
- Expérience du développeur : L'installation est aussi simple que
pip install ultralyticsavec une documentation complète et un soutien actif de la communauté sur GitHub et Discord.
YOLOv7: une référence en matière d'efficacité
YOLOv7 a fait beaucoup de bruit lors de sa sortie en introduisant des optimisations architecturales axées sur les méthodes de type "bag-of-freebies" afin d'accroître la précision sans augmenter le coût de l'inférence.
- Auteurs : Chien-Yao Wang, Alexey Bochkovskiy et Hong-Yuan Mark Liao
- Organisation :Institut des sciences de l'information, Academia Sinica
- Date : 2022-07-06
- Arxiv :YOLOv7: un sac de flibustiers entraînable pour un nouvel état de l'art
- GitHub :WongKinYiu/yolov7
Architecture et approche
YOLOv7 utilise le réseau Extended Efficient Layer Aggregation Network (E-ELAN), qui contrôle les chemins de gradient les plus courts et les plus longs pour permettre au réseau d'apprendre plus de caractéristiques de manière efficace. Il met fortement l'accent sur la mise à l'échelle du modèle (en modifiant simultanément la profondeur et la largeur) et introduit des techniques de re-paramétrage pour fusionner les couches pendant l'inférence, ce qui accélère le modèle sans perdre la précision de l'apprentissage.
Points forts et limites
YOLOv7 est un modèle puissant qui offre d'excellents rapports vitesse/précision, en particulier sur les dispositifs GPU . Son approche "bag-of-freebies" garantit que le modèle reste léger pendant le déploiement. Cependant, comparé à YOLOv8, il ne dispose pas d'un support multi-tâches unifié prêt à l'emploi et nécessite des procédures d'installation plus complexes impliquant le clonage de référentiels et la gestion manuelle des dépendances. Il s'agit avant tout d'un spécialiste de la détection d'objets, les autres tâches nécessitant souvent des branches ou des implémentations distinctes.
Comparaison technique approfondie
Facilité d'utilisation et écosystème
L'une des différences les plus marquées réside dans la facilité d'utilisation. Ultralytics YOLOv8 se présente sous la forme d'une bibliothèque Python standard. Cela signifie que les développeurs peuvent l'intégrer dans des pipelines existants avec un minimum de code. En revanche, YOLOv7 fonctionne généralement comme une base de code autonome qui doit être clonée et modifiée.
Expérience des développeurs
YOLOv8 permet d'entraîner un modèle en seulement trois lignes de code Python . Cette expérience utilisateur simplifiée réduit considérablement le temps de mise sur le marché des solutions d'IA.
from ultralytics import YOLO
# Load a model
model = YOLO("yolov8n.pt") # load a pretrained model
# Train the model
results = model.train(data="coco8.yaml", epochs=100)
Polyvalence des tâches
Les projets modernes de vision par ordinateur nécessitent souvent plus que de simples boîtes englobantes.
- YOLOv8: Un véritable modèle multitâche. Vous pouvez passer de la détection à la segmentation ou estimation de la pose simplement en modifiant le fichier de poids du modèle (par ex,
yolov8n-seg.pt). - YOLOv7: principalement axé sur la détection. Bien qu'il existe des extensions, elles ne sont pas aussi étroitement intégrées ou maintenues dans un cadre unique et unifié.
Efficacité de l'entraînement et mémoire
YOLOv8 optimise les besoins en mémoire pendant la formation. Il met en œuvre des stratégies intelligentes d'augmentation des données qui s'arrêtent vers la fin de la formation pour affiner la précision. En outre, le cadre Ultralytics prend en charge différents formats d'ensembles de données et gère le téléchargement automatique d' ensembles de données standard, ce qui améliore considérablement l'efficacité de la formation.
Les modèles basés sur les transformateurs nécessitent souvent de grandes quantités de mémoire CUDA et s'entraînent lentement. En comparaison, YOLOv7 et YOLOv8 sont tous deux basés sur le CNN et efficaces, mais les choix architecturaux modernes de YOLOv8(comme le bloc C2f) se traduisent souvent par une convergence plus rapide et une meilleure efficacité de la mémoire sur du matériel grand public.
Cas d'utilisation concrets
Commerce de détail et gestion des stocks
Pour l'analyse du commerce de détail, la rapidité est primordiale. YOLOv8n peut fonctionner sur des appareils périphériques tels que des caméras ou des modules NVIDIA Jetson pour track stocks en temps réel. Sa vitesse d'inférence élevée garantit que les produits en mouvement sont comptés avec précision et sans décalage.
Systèmes autonomes et robotique
La robotique nécessite une compréhension spatiale précise. Les capacités de segmentation de YOLOv8 permettent aux robots de distinguer la forme exacte des obstacles plutôt qu'une simple boîte englobante. Cette polyvalence améliore la sécurité de la navigation. Bien que YOLOv7 en soit capable, la mise en œuvre de la segmentation nécessite plus d'efforts et des bases de code disparates.
Agriculture
Dans l'agriculture de précision, les modèles detect maladies des cultures ou surveillent la croissance. Grâce à l'écosystème bien entretenu d'Ultralytics , les chercheurs ont accès à des poids pré-entraînés et à des tutoriels communautaires spécialement conçus pour ces ensembles de données de niche, ce qui réduit la barrière à l'entrée.
Conclusion
Alors que YOLOv7 reste une architecture respectable et puissante dans l'histoire de la vision par ordinateur, Ultralytics YOLOv8 représente le choix supérieur pour le développement moderne. Sa combinaison de performances de pointe, de polyvalence inégalée et d'un écosystème axé sur les développeurs en fait la solution idéale pour la recherche universitaire et le déploiement en entreprise.
Pour ceux qui recherchent le dernier cri en matière d'efficacité et de raffinement architectural, Ultralytics a également lancé YOLO11qui repousse encore les limites. Cependant, pour une comparaison directe avec la génération v7, YOLOv8 se distingue par sa robustesse, sa fiabilité et sa facilité d'utilisation.
Lectures complémentaires
Explorez d'autres comparaisons de modèles pour approfondir votre compréhension du paysage YOLO :
- YOLO11 vs YOLOv8 - Comparez les dernières itérations.
- YOLOv5 vs YOLOv8 - Découvrez comment l'architecture a évolué depuis la v5.
- YOLOv10 vs YOLOv8 - Analyser les différentes approches architecturales.
- GlossaireUltralytics - comprendre les termes clés tels que mAP et IoU.