Passer au contenu

Comparaison de modèles : YOLOv7 vs. YOLOv8 pour la détection d'objets

Le choix du bon modèle de détection d'objets est crucial pour obtenir des performances optimales dans les tâches de vision par ordinateur. Cette page offre une comparaison technique entre YOLOv7 et Ultralytics YOLOv8, deux modèles importants dans le domaine. Nous analyserons leurs nuances architecturales, leurs benchmarks de performance et leurs applications idéales pour guider votre processus de sélection de modèle, en soulignant les avantages offerts par l'écosystème Ultralytics.

YOLOv7 : Une référence en matière de détection en temps réel

YOLOv7 a été présenté comme une avancée importante dans la détection d’objets en temps réel, en se concentrant sur l’optimisation de l’efficacité et de la précision de la formation sans augmenter les coûts d’inférence. Il a établi une nouvelle référence pour les détecteurs en temps réel lors de sa sortie.

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 : https://arxiv.org/abs/2207.02696
GitHub : https://github.com/WongKinYiu/yolov7
Docs : https://docs.ultralytics.com/models/yolov7/

Architecture et principales fonctionnalités

YOLOv7 s'appuie sur les architectures YOLO précédentes en introduisant plusieurs innovations clés. Il utilise des techniques telles que les Extended Efficient Layer Aggregation Networks (E-ELAN) dans son backbone pour améliorer l'efficacité de l'extraction des caractéristiques. Une contribution majeure est le concept de « trainable bag-of-freebies », qui implique des stratégies d'optimisation appliquées pendant l'entraînement : comme les têtes auxiliaires et le guidage grossier à fin : pour améliorer la précision du modèle final sans ajouter de surcharge de calcul pendant l'inférence. YOLOv7 est principalement un détecteur basé sur des ancres, axé sur la tâche de détection d'objets, bien que des extensions communautaires l'aient adapté à d'autres tâches telles que l'estimation de la pose.

Points forts

  • Équilibre entre précision et vitesse élevés : Offre une combinaison robuste de mAP et de vitesse d’inférence, ce qui le rend très efficace pour les tâches d’ inférence en temps réel.
  • Entraînement efficace : Utilise des techniques d'entraînement avancées (« bag-of-freebies ») pour améliorer la précision sans augmenter le coût d'inférence final.
  • Performances établies : A fait ses preuves sur des benchmarks standard comme l’ensemble de données MS COCO.

Faiblesses

  • Complexité architecturale : L’architecture et les nouvelles techniques d’entraînement peuvent être complexes à saisir pleinement et à optimiser pour des cas d’utilisation personnalisés.
  • Gourmand en ressources : Les modèles YOLOv7 plus grands nécessitent des ressources GPU importantes pour l'entraînement.
  • Polyvalence de tâches limitée : Principalement axé sur la détection d’objets. La mise en œuvre d’autres tâches comme la segmentation d’instance ou la classification d’images nécessite des implémentations distinctes et non intégrées, contrairement à l’approche unifiée de YOLOv8.

En savoir plus sur YOLOv7

Ultralytics YOLOv8 : efficacité et adaptabilité de pointe

Ultralytics YOLOv8 est la version majeure suivante d'Ultralytics, s'appuyant sur les succès des versions précédentes de YOLO. C'est un modèle de pointe conçu pour une performance, une flexibilité et une efficacité supérieures. YOLOv8 introduit une conception sans ancrage et une architecture plus simplifiée, améliorant à la fois la performance et la facilité d'utilisation.

Auteurs : Glenn Jocher, Ayush Chaurasia et Jing Qiu
Organisation : Ultralytics
Date : 2023-01-10
GitHub : https://github.com/ultralytics/ultralytics
Docs : https://docs.ultralytics.com/models/yolov8/

Points forts

  • Performances de pointe : YOLOv8 atteint un équilibre exceptionnel entre précision et vitesse, ce qui le rend adapté à un large éventail d'applications, de l'edge AI aux services basés sur le cloud.
  • Conception conviviale : Ultralytics privilégie la simplicité, offrant une documentation complète, des flux de travail simples et des interfaces Python et CLI simples pour la formation et le déploiement.
  • Polyvalence inégalée : Prend en charge nativement plusieurs tâches de vision, notamment la détection, la segmentation, la classification, l’estimation de pose et la détection d’objets orientés (OBB), offrant une solution unifiée pour divers besoins en matière de vision artificielle.
  • Écosystème bien maintenu : S'intègre de manière transparente avec Ultralytics HUB pour l'entraînement et le déploiement sans code. Il bénéficie d'un développement actif, de mises à jour fréquentes, d'un fort soutien de la communauté et de ressources complètes.
  • Efficacité de l'entraînement et de la mémoire : Offre des processus d'entraînement efficaces avec des poids pré-entraînés facilement disponibles. Son architecture nécessite souvent une utilisation de mémoire plus faible pendant l'entraînement par rapport à d'autres architectures complexes comme les transformateurs, qui peuvent être plus lents à entraîner et nécessiter plus de mémoire CUDA.

Faiblesses

  • Les modèles plus grands nécessitent d'importantes ressources de calcul, bien que des variantes plus petites et très efficaces comme YOLOv8n soient disponibles pour les environnements aux ressources limitées.

Cas d'utilisation idéaux

La polyvalence de YOLOv8 le rend idéal pour les applications nécessitant des performances en temps réel et une grande précision, telles que :

En savoir plus sur YOLOv8

Performances et analyses comparatives : YOLOv7 vs. YOLOv8

Lorsqu'on compare les performances, YOLOv8 démontre des avantages clairs en termes de précision et d'efficacité sur toute sa gamme de modèles. Le modèle YOLOv8x, par exemple, atteint un mAP plus élevé que YOLOv7x tout en étant plus efficace. Les modèles YOLOv8 plus petits offrent également un excellent compromis pour le déploiement en périphérie.

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
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

Conclusion : Quel modèle devriez-vous choisir ?

Bien que YOLOv7 soit un détecteur d'objets formidable qui a repoussé les limites des performances en temps réel, Ultralytics YOLOv8 représente un choix plus convaincant pour la grande majorité des applications modernes.

Les principaux avantages de YOLOv8 résident dans :

  • Polyvalence supérieure : La prise en charge native d’un plus large éventail de tâches en fait une solution unique pour les projets complexes de vision par ordinateur.
  • Facilité d'utilisation : L'API simplifiée, la documentation exhaustive et l'intégration à l'écosystème Ultralytics abaissent considérablement la barrière à l'entrée pour les débutants comme pour les experts.
  • Meilleur compromis performance-efficacité : Les modèles YOLOv8 offrent généralement une meilleure précision pour un nombre donné de paramètres et un coût de calcul, ce qui les rend plus adaptables aux différentes contraintes matérielles.
  • Développement et soutien actifs : En tant que modèle phare d’Ultralytics, YOLOv8 bénéficie de mises à jour continues, d’une communauté robuste et d’un soutien professionnel, assurant la viabilité à long terme des projets.

Pour les développeurs et les chercheurs à la recherche d'un framework puissant, flexible et facile à utiliser, Ultralytics YOLOv8 est le choix recommandé pour la création de solutions d'IA de pointe.

Explorer d'autres modèles

Pour une exploration plus approfondie, consultez ces comparaisons impliquant YOLOv7, YOLOv8 et d'autres modèles pertinents dans la documentation Ultralytics :



📅 Créé il y a 1 an ✏️ Mis à jour il y a 1 mois

Commentaires