YOLOv8 vs YOLOv7 : une comparaison technique complète
Le domaine de la vision par ordinateur est en constante évolution, avec de nouvelles architectures repoussant les limites de ce qui est possible en matière de détection d'objets en temps réel. Dans cette analyse approfondie, nous comparons deux modèles très influents : Ultralytics YOLOv8 et YOLOv7. Ces deux modèles ont eu un impact significatif sur la communauté des développeurs et la recherche universitaire, en proposant des approches uniques pour résoudre des tâches visuelles complexes.
Il est essentiel pour les ingénieurs en apprentissage automatique qui cherchent à optimiser leurs pipelines de déploiement de comprendre les différences structurelles et méthodologiques entre ces deux modèles. Alors que YOLOv7 une approche puissante de type « bag-of-freebies » adaptée au débit brut, Ultralytics YOLOv8 sur la création d'un écosystème holistique et facile à utiliser qui équilibre une grande précision avec une faible consommation de mémoire et une polyvalence multitâche.
Ultralytics YOLOv8: la norme polyvalente pour les écosystèmes
Lancé par Ultralytics 2023, YOLOv8 un changement architectural majeur par rapport à ses prédécesseurs. Il a été conçu dès le départ pour être plus qu'un simple détecteur d'objets en temps réel ; il s'agit d'un cadre unifié capable de gérer un large éventail de tâches de vision dès son installation.
- Auteurs : Glenn Jocher, Ayush Chaurasia et Jing Qiu
- Organisation :Ultralytics
- Date : 2023-01-10
- GitHub :ultralytics/ultralytics
- Docs :Documentation YOLOv8
Innovations architecturales
YOLOv8 une tête de détection innovante sans ancrage. Cela simplifie considérablement le processus d'entraînement en éliminant la nécessité de configurer manuellement des boîtes d'ancrage en fonction de la distribution spécifique de votre ensemble de données personnalisé. Ce choix de conception rend le modèle très robuste et plus facile à généraliser dans différents environnements.
De plus, l'architecture intègre le module C2f (Cross-Stage Partial bottleneck with two convolutions), une amélioration structurelle qui optimise le flux de gradient et permet au réseau neuronal d'apprendre des représentations de caractéristiques plus riches sans augmenter considérablement le coût de calcul. Cela rend le modèle très efficace lors de l'exécution d'inférences via des frameworks d'apprentissage profond standard tels que PyTorch.
Efficacité de la mémoire
YOLO Ultralytics sont conçus pour offrir une efficacité d'entraînement optimale. Ils nécessitent généralement beaucoup moins CUDA pendant l'entraînement que les architectures basées sur des transformateurs ou les CNN plus lourds. Cela vous permet de vous entraîner avec des lots plus importants sur du matériel grand public, ce qui accélère votre cycle de développement.
YOLOv7 : L'approche « Bag-of-Freebies »
YOLOv7 introduit au milieu de l'année 2022 et est rapidement devenu une référence populaire dans les milieux universitaires. Il s'est fortement concentré sur la reparamétrisation architecturale et l'optimisation du chemin de gradient afin de repousser les limites de la détection d'objets en temps réel sur les GPU haut de gamme.
- Auteurs : Chien-Yao Wang, Alexey Bochkovskiy et Hong-Yuan Mark Liao
- Organisation : Institut des sciences de l'information, Academia Sinica, Taïwan
- Date : 2022-07-06
- Arxiv :2207.02696
- GitHub :WongKinYiu/yolov7
Innovations architecturales
YOLOv7 un réseau d'agrégation de couches efficace étendu (E-ELAN), qui permet au modèle d'apprendre en continu des caractéristiques plus diverses. Il s'appuie fortement sur un paradigme basé sur des ancres et introduit un « bag-of-freebies » entraînable, un ensemble de méthodes d'optimisation qui améliorent la précision sans augmenter le coût de l'inférence.
Si YOLOv7 d'excellentes performances sur les benchmarks académiques standard tels que COCO MS COCO , son architecture est fortement optimisée pour les accélérateurs de niveau serveur. L'exportation et le déploiement de ces modèles vers des appareils périphériques peuvent parfois nécessiter davantage de configuration manuelle par rapport à des frameworks plus modernes et rationalisés.
Comparaison détaillée des performances
Lors de l'évaluation de ces modèles, le compromis entre vitesse, précision et taille du modèle est le principal élément à prendre en considération. Le tableau ci-dessous présente les indicateurs pour les deux modèles.
| 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 |
Comme le montrent les données, YOLOv8x la précision absolue la plus élevée (53,9 mAP), tandis que la variante nano (YOLOv8n) offre des vitesses d'inférence exceptionnelles et une empreinte incroyablement légère. Cette diversité rend YOLOv8 plus adaptable aux environnements matériels contraints.
Ultralytics : facilité d'utilisation et écosystème
Alors que YOLOv7 des mesures de détection brutes solides, Ultralytics YOLOv8 le surpasse largement en termes d'expérience développeur, d'intégration dans l'écosystème et de capacités multitâches.
Polyvalence inégalée
YOLOv7 principalement un modèle de détection, avec des branches expérimentales pour d'autres tâches. En revanche, YOLOv8 prend en charge YOLOv8 la détection d'objets, la segmentation d'instances, la classification d'images, l'estimation de poses et les boîtes englobantes orientées (OBB). Cette approche unifiée permet à une équipe d'apprendre une seule API et de la déployer pour des projets aux exigences totalement différentes.
Déploiement et intégrations simplifiés
L'exportation d'un modèle pour la production peut souvent constituer un goulot d'étranglement. Le Ultralytics permet aux développeurs d'exporter vers des formats tels que ONNX, TensorRTet CoreML une seule ligne de Python . Cela évite les problèmes de prise en charge des opérateurs parfois rencontrés lors de l'exportation de graphiques complexes basés sur des ancres.
De plus, YOLOv8 parfaitement aux outils MLOps. Que vous suiviez des expériences avec Weights & Biases ou que vous testiez des déploiements sur Hugging Face , Ultralytics se charge du gros du travail.
Exemple de code : Entraînement et exportation YOLOv8
Le code suivant illustre la simplicité dePython Ultralytics . En moins de dix lignes de code, vous pouvez passer de l'initialisation d'un modèle à son apprentissage et à son exportation pour un déploiement en périphérie.
from ultralytics import YOLO
# Load a pretrained YOLOv8 nano model for fast inference
model = YOLO("yolov8n.pt")
# Train the model on the COCO8 dataset
# The API handles data loading, augmentation, and logging automatically
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on a test image
predictions = model("https://ultralytics.com/images/bus.jpg")
# Export the trained model to ONNX format for deployment
model.export(format="onnx")
Flexibilité de déploiement
En utilisant le model.export() Cette fonction fournit une passerelle immédiate vers des moteurs d'inférence haute performance, vous permettant d'intégrer facilement YOLOv8 des applications mobiles, des systèmes embarqués ou des serveurs cloud à haut débit.
Cas d'utilisation concrets
Les différences architecturales entre les deux modèles dictent leurs scénarios de déploiement idéaux.
Quand choisir YOLOv8:
- Dispositifs Edge AI et IoT : grâce à la disponibilité de modèles Nano et Small ultra-rapides, YOLOv8 est YOLOv8 pour les matériels à puissance de calcul limitée, tels que les caméras intelligentes ou les drones.
- Projets multitâches : si votre pipeline nécessite le suivi des articulations humaines (estimation de la pose) tout en cartographiant simultanément les obstacles (segmentation), YOLOv8 cela de manière native.
- Du prototypage rapide à la production : la Ultralytics complète Ultralytics et Python fluide permettent aux équipes de commercialiser leurs produits plus rapidement.
Quand envisager YOLOv7:
- Référence académique : les chercheurs qui étudient les effets des techniques de reparamétrage utilisent souvent YOLOv7 référence standard, comme en témoigne sa popularité sur Papers With Code.
- Pipelines de serveurs hérités : si un pipeline de calcul intensif existant est déjà strictement optimisé autour des sorties d'ancrage spécifiques YOLOv7, il peut être judicieux de le conserver à court terme.
Perspectives : La prochaine génération
Si YOLOv8 un outil polyvalent et puissant, le paysage de l'IA évolue rapidement. Pour les équipes qui lancent de nouveaux projets, nous recommandons vivement d'explorer les dernières avancées de la Ultralytics .
La toute dernière génération, YOLO26, représente le summum de l'IA visuelle actuelle. Elle se caractérise par une conception de bout en bout NMS, éliminant le post-traitement de suppression non maximale pour un déploiement plus simple et plus rapide. Grâce à la suppression de la perte focale de distribution (DFL) et à l'introduction de l'optimiseur MuSGD inspiré du LLM, YOLO26 offre un entraînement plus stable et CPU jusqu'à 43 % plus rapide. Ses fonctions avancées de perte ProgLoss + STAL améliorent considérablement la reconnaissance des petits objets, ce qui en fait le choix ultime pour l'informatique de pointe moderne et l'imagerie aérienne.
Pour les utilisateurs qui migrent depuis des systèmes plus anciens, le très performant YOLO11 et le classique YOLOv5 restent également entièrement pris en charge dans Ultralytics unifié Ultralytics , garantissant ainsi que, quelles que soient vos contraintes matérielles, vous disposiez d'un modèle rationalisé et hautement performant prêt à être déployé.