YOLOv8 YOLOv5: comparaison technique complète
Choisir la bonne architecture de vision par ordinateur est une étape cruciale dans la construction de pipelines d'apprentissage automatique robustes. Dans cette comparaison technique détaillée, nous explorons les différences entre deux des modèles les plus populaires de l'écosystème de l'IA visuelle : YOLOv8 et YOLOv5. Les deux modèles ont été développés par Ultralytics et ont considérablement façonné le paysage de la détection d'objets en temps réel, établissant des normes industrielles en matière de vitesse, de précision et de facilité d'utilisation.
Que vous déployiez des modèles sur des appareils périphériques ou que vous adaptiez l'inférence cloud, comprendre les changements architecturaux, les indicateurs de performance et les méthodologies de formation de ces modèles vous aidera à prendre une décision éclairée pour vos projets de vision par ordinateur.
Ultralytics YOLOv8 : La norme polyvalente
Sorti début 2023, YOLOv8 un changement architectural majeur par rapport à ses prédécesseurs. Il a été entièrement conçu pour servir de cadre unifié capable de gérer de manière native plusieurs tâches de vision, notamment la segmentation d'instances, la classification d'images et l'estimation de poses.
- Auteurs : Glenn Jocher, Ayush Chaurasia et Jing Qiu
- Organisation :Ultralytics
- Date : 2023-01-10
- GitHub :ultralytics/ultralytics
- Docs :Documentation YOLOv8
Architecture et méthodologies
YOLOv8 une tête de détection sans ancrage, qui simplifie le processus d'entraînement en éliminant le besoin de configurer manuellement des boîtes d'ancrage en fonction de la distribution des ensembles de données. Cela rend le modèle plus robuste lors de la généralisation à des ensembles de données personnalisés et réduit le nombre de prédictions de boîtes, accélérant ainsi la suppression non maximale (NMS).
L'architecture comprend un module C2f (Cross-Stage Partial bottleneck avec deux convolutions), qui remplace le module C3 présent dans YOLOv5. Le module C2f améliore le flux de gradient et permet au modèle d'apprendre des représentations de caractéristiques plus riches sans augmentation significative du coût de calcul. De plus, YOLOv8 une structure de tête découplée, séparant les tâches d'objectivité, de classification et de régression, ce qui s'est avéré améliorer la vitesse et la précision de convergence.
Efficacité de la mémoire
YOLO Ultralytics , y compris YOLOv8, sont optimisés pour une utilisation réduite CUDA pendant l'entraînement par rapport à de nombreuses alternatives basées sur Transformer telles que RT-DETR. Cela permet aux développeurs d'utiliser des lots plus importants sur des GPU grand public standard tels que ceux de la série NVIDIA
Points forts et faiblesses
Points forts :
- Une polyvalence inégalée pour de multiples tâches allant au-delà de la simple détection de cadres de sélection.
- Python simplifiée via le
ultralyticspackage, rendant la formation et l'exportation très intuitives. - Précision moyenne (mAP) supérieure pour toutes les variantes de taille par rapport à YOLOv5.
Faiblesses :
- La tête découplée et le module C2f entraînent une légère augmentation du nombre de paramètres et de FLOP pour certaines variantes par rapport à leurs YOLOv5 exacts.
Ultralytics YOLOv5: le pionnier de l'agilité
Lancé en 2020, YOLOv5 YOLO le PyTorch , améliorant considérablement l'accessibilité pour les développeurs. Il est rapidement devenu la norme industrielle pour les modèles de détection d'objets rapides, fiables et faciles à déployer.
- Auteur : Glenn Jocher
- Organisation :Ultralytics
- Date : 2020-06-26
- GitHub :ultralytics/yolov5
- Docs :Documentation YOLOv5
Architecture et méthodologies
YOLOv5 sur une architecture basée sur des ancres et utilise une structure CSPDarknet53 modifiée. Si les approches basées sur des ancres nécessitent un regroupement minutieux des cadres de sélection des ensembles de données afin de définir les ancres optimales avant l'entraînement, elles sont très efficaces pour des ensembles de données spécifiques et bien définis.
YOLOv5 le module C3, qui extrait efficacement les caractéristiques tout en conservant une faible empreinte paramétrique. Sa fonction de perte repose largement sur la perte d'objectivité combinée à des pertes de classification et de régression de boîte englobante afin de guider le réseau vers des prédictions précises.
Points forts et faiblesses
Points forts :
- Extrêmement légères, les variantes Nano (YOLOv5n) et Small (YOLOv5s) sont parfaitement adaptées aux déploiements d'IA en périphérie avec des ressources limitées.
- Vitesses d'inférence exceptionnellement rapides, en particulier sur les processeurs.
- Un écosystème profondément établi avec de vastes tutoriels communautaires et des intégrations tierces.
Faiblesses :
- Nécessite une configuration de boîte d'ancrage, ce qui peut compliquer la configuration pour des ensembles de données très variés ou personnalisés.
- Précision globale (mAP) inférieure à celle des architectures modernes sans ancrage telles que YOLOv8 YOLO26.
Comparaison des performances
Lors de l'évaluation de ces modèles, il est primordial de trouver un compromis satisfaisant entre vitesse et précision. Le tableau ci-dessous présente les indicateurs de performance des deux architectures évaluées sur l'COCO . CPU ont été mesurées à l'aide de ONNX, tandis que GPU ont été testées à l'aide de TensorRT.
| 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 |
| 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 |
Alors que YOLOv5 un léger avantage en termes de nombre de paramètres et de vitesse brute absolue pour sa variante Nano, YOLOv8 une amélioration considérable du mAP les domaines, offrant un équilibre de performances bien plus solide pour les scénarios de déploiement exigeants dans le monde réel.
Facilité d'utilisation et l'écosystème Ultralytics
Une caractéristique distinctive des modèles Ultralytics modernes est l'écosystème bien entretenu qui les entoure. La transition de YOLOv5 à YOLOv8 a entraîné l'introduction du ultralytics paquet pip, créant une expérience utilisateur hautement rationalisée.
Les développeurs peuvent gérer en toute transparence l'entraînement de modèles, la validation, la prédiction et l'exportation avec seulement quelques lignes de code Python, contournant ainsi les scripts passe-partout complexes historiquement requis dans les projets d'apprentissage profond.
from ultralytics import YOLO
# Load a pretrained YOLOv8 model
model = YOLO("yolov8n.pt")
# Train the model on custom data efficiently
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device=0)
# Export the model to ONNX for production deployment
path = model.export(format="onnx")
De plus, l'intégration avec des outils tels que Ultralytics simplifie la gestion des ensembles de données, la formation au cloud et le déploiement, garantissant ainsi un développement actif et un solide soutien communautaire.
Cas d'utilisation idéaux
Quand choisir YOLOv5 : Si vous maintenez des systèmes existants, exécutez l'inférence sur des CPU fortement contraints comme un Raspberry Pi, ou travaillez sur un projet où chaque fraction de mégaoctet économisée sur la taille du modèle est critique, YOLOv5 reste un cheval de bataille fiable.
Quand choisir YOLOv8 : Pour pratiquement tous les nouveaux projets démarrant aujourd'hui, YOLOv8 est fortement recommandé par rapport à YOLOv5. Son architecture avancée gère sans effort le suivi complexe, les boîtes englobantes orientées (OBB) et la segmentation. Il est idéal pour les applications modernes allant de la robotique autonome à l'analyse d'images médicales et à l'infrastructure de ville intelligente.
Vous recherchez les dernières innovations technologiques ?
Bien que YOLOv8 incroyablement performant, les développeurs à la recherche de performances absolues devraient envisager YOLO26. Lancé en 2026, il présente plusieurs avancées révolutionnaires :
- Conception de bout en bout sans NMS : Élimine le post-traitement NMS pour un déploiement plus rapide et plus simple, un concept initié pour la première fois dans YOLOv10.
- Optimiseur MuSGD : Un hybride de SGD et de Muon qui apporte les innovations de l'entraînement des LLM à la vision par ordinateur, permettant un entraînement plus stable et une convergence plus rapide.
- Jusqu'à 43 % plus rapide pour l'inférence CPU : Fortement optimisé pour les environnements d'edge computing sans GPU dédiés.
- Suppression de la DFL : La Distribution Focal Loss a été supprimée pour une exportation simplifiée et une compatibilité améliorée avec les appareils périphériques.
- ProgLoss + STAL : Des fonctions de perte avancées qui entraînent des améliorations notables dans la reconnaissance de petits objets, ce qui est essentiel pour l'imagerie aérienne et l'IoT.
En tirant parti de la documentation et des outils complets fournis par Ultralytics, vous pouvez facilement déployer YOLOv8, ou explorer le YOLO26 de pointe, pour résoudre des défis visuels complexes avec une vitesse et une précision sans précédent. Pour approfondir vos connaissances, envisagez d'explorer nos guides sur l'optimisation des hyperparamètres et les pratiques de déploiement de modèles.