Passer au contenu

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

Dans le paysage en évolution rapide de la vision par ordinateur, la famille de modèles "You Only Look Once"YOLO) a constamment établi la norme pour la détection d'objets en temps réel. YOLOv7 et Ultralytics YOLOv8 constituent deux étapes importantes de cette lignée. Bien que ces deux modèles aient repoussé les limites de la précision et de la vitesse lors de leur sortie, ils représentent des philosophies de conception et des maturités d'écosystème différentes.

Ce guide fournit une comparaison technique détaillée pour aider les développeurs et les chercheurs à choisir l'outil le mieux adapté à leurs besoins spécifiques, de la recherche universitaire au déploiement en production.

Comparaison des mesures de performance

Le tableau suivant présente une comparaison directe des mesures de performance entre les principaux modèles YOLOv7 et YOLOv8 . YOLOv8 présente un avantage significatif en termes de vitesse d'inférence et de nombre de paramètres, en particulier dans les variantes de modèles les plus petites, qui sont essentielles pour les applications d'intelligence artificielle de pointe.

ModèleTaille
(pixels)
mAPval
50-95
Vitesse
CPU ONNX
(ms)
Vitesse
T4 TensorRT10
(ms)
paramètres
(M)
FLOPs
(B)
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9
YOLOv8n64037.380.41.473.28.7
YOLOv8s64044.9128.42.6611.228.6
YOLOv8m64050.2234.75.8625.978.9
YOLOv8l64052.9375.29.0643.7165.2
YOLOv8x64053.9479.114.3768.2257.8

YOLOv7: l'évolution du "sac de cadeaux

Sorti en juillet 2022, YOLOv7 a été développé principalement par les auteurs de YOLOv4 et YOLOR. Il a introduit plusieurs innovations architecturales visant à optimiser le processus de formation sans augmenter les coûts d'inférence, un concept appelé "trainable bag-of-freebies".

  • 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
  • Liens:Arxiv Paper | GitHub Repository

Principales caractéristiques architecturales

YOLOv7 a introduit le réseau d'agrégation de couches efficace étendu (E-ELAN). Cette architecture contrôle les chemins de gradient les plus courts et les plus longs pour permettre au réseau d'apprendre des caractéristiques plus diverses. En outre, elle utilise des techniques de mise à l'échelle du modèle qui modifient simultanément la profondeur et la largeur de l'architecture, garantissant ainsi des performances optimales pour différentes tailles.

Malgré ses résultats impressionnants au lancement, YOLOv7 se concentre principalement sur la détection d'objets, avec un support moins intégré pour d'autres tâches par rapport aux frameworks plus récents.

En savoir plus sur YOLOv7

Ultralytics YOLOv8: Cadre unifié et architecture moderne

Lancé au début de l'année 2023 par Ultralytics, YOLOv8 représente une refonte majeure de l'architecture de YOLO . Il a été conçu non seulement comme un modèle, mais aussi comme un cadre unifié capable d'effectuer la détection, la segmentation des instances, l'estimation de la pose et la classification de manière transparente.

Innovations architecturales

YOLOv8 a abandonné la détection basée sur les ancres utilisée dans les versions précédentes (y compris YOLOv7) au profit d'un mécanisme de détection sans ancres. Ce changement simplifie le processus d'apprentissage en éliminant la nécessité de calculer les boîtes d'ancrage, ce qui rend le modèle plus robuste aux variations de forme et de taille des objets.

L'épine dorsale a été améliorée pour utiliser des modules C2f (Cross-Stage Partial Bottleneck with two convolutions), qui remplacent les modules C3 de YOLOv5. Ce changement améliore le flux de gradient et permet au modèle de rester léger tout en capturant des informations plus riches sur les caractéristiques.

En savoir plus sur YOLOv8

Comparaison technique détaillée

Ancrage et absence d'ancrage

L'une des différences les plus marquantes est la tête de détection. YOLOv7 s'appuie sur des boîtes d'ancrage, des formes prédéfinies que le modèle tente de faire correspondre aux objets. Bien qu'efficace, cette méthode nécessite un réglage des hyperparamètres pour les ensembles de données personnalisés.

En revanche, YOLOv8 utilise une approche sans ancrage, prédisant directement le centre d'un objet. Cela réduit le nombre de prédictions de boîtes, accélère la suppression non maximaleNMS et facilite l'entraînement du modèle sur diverses données sans configuration manuelle de l'ancrage.

Efficacité de la formation et utilisation de la mémoire

Les modèles Ultralytics sont réputés pour leur efficacité technique. YOLOv8 utilise une stratégie intelligente d'augmentation des données qui désactive l'augmentation de Mosaic pendant les dernières époques de la formation. Cette technique stabilise la perte de formation et améliore la précision.

Efficacité de la mémoire

Un avantage significatif d'Ultralytics YOLOv8 par rapport aux architectures complexes comme les transformateurs (par ex, RT-DETR), c'est qu'il nécessite moins de mémoire CUDA . Cela permet aux utilisateurs d'entraîner des lots plus importants sur des GPU grand public, démocratisant ainsi l'accès à l'entraînement de modèles de pointe.

Ecosystème et facilité d'utilisation

Alors que YOLOv7 est un puissant référentiel de recherche, Ultralytics YOLOv8 offre une expérience produit soignée. L'écosystème Ultralytics fournit :

  1. API simplifiée : Une interface Python cohérente pour toutes les tâches.
  2. Déploiement : Exportation en un clic vers des formats tels que ONNX, TensorRT, CoreML et TFLite via le mode Export.
  3. Soutien de la communauté : Une communauté Discord active et des mises à jour fréquentes assurant la compatibilité avec les dernières versions de PyTorch .

Comparaison des codes

L'écart de convivialité est évident lorsque l'on compare le code requis pour exécuter l'inférence. Ultralytics privilégie une approche à code réduit, permettant aux développeurs d'intégrer l'IA visionnaire dans les applications avec un minimum de frais généraux.

Exécuter YOLOv8 avec Python

from ultralytics import YOLO

# Load a pre-trained YOLOv8 model
model = YOLO("yolov8n.pt")

# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")

# Display the results
for result in results:
    result.show()

Mise en œuvre de l'CLI

YOLOv8 peut également être exécuté directement à partir de la ligne de commande, une fonctionnalité qui simplifie l'intégration des pipelines et les tests rapides.

# Detect objects in an image using the nano model
yolo predict model=yolov8n.pt source='https://ultralytics.com/images/zidane.jpg' imgsz=640

Cas d'utilisation idéaux

Quand utiliser YOLOv7

YOLOv7 reste un choix viable pour les chercheurs qui effectuent des analyses comparatives par rapport aux normes 2022/2023 ou qui maintiennent des systèmes existants construits spécifiquement autour de l'architecture de type Darknet. Son approche "bag-of-freebies" offre des perspectives intéressantes pour ceux qui étudient les stratégies d'optimisation des réseaux neuronaux.

Quand utiliser YOLOv8

YOLOv8 est le choix recommandé pour la grande majorité des nouveaux projets, y compris :

  • Applications en temps réel : Le modèle YOLOv8n (nano) offre des vitesses incroyables (environ 80 ms sur le CPU), ce qui le rend parfait pour les applications mobiles et les systèmes embarqués.
  • Pipelines multitâches : Les projets nécessitant une estimation de la pose ou une segmentation en plus de la détection peuvent utiliser une seule API.
  • Déploiement commercial : La compatibilité robuste des exportations garantit que les modèles formés dans PyTorch peuvent être déployés efficacement dans des environnements de production utilisant TensorRT ou OpenVINO.

Conclusion

Alors que YOLOv7 a apporté des contributions significatives au domaine de la vision par ordinateur en optimisant les paramètres d'entraînement, Ultralytics YOLOv8 représente la norme moderne pour le développement pratique de l'IA.

L'équilibre supérieur entre vitesse et précision de YOLOv8, associé à une conception sans ancrage et au vaste écosystème de support Ultralytics , le rend plus accessible pour les débutants et plus puissant pour les experts. Pour les développeurs qui cherchent à créer des applications de vision évolutives, faciles à maintenir et très performantes, YOLOv8successeurs tels que YOLO11-offrent la voie la plus convaincante pour aller de l'avant.

Lectures complémentaires

Les personnes intéressées par les dernières avancées en matière de détection d'objets peuvent consulter les modèles suivants :

  • YOLO11: La dernière itération d'Ultralytics, qui affine l'architecture pour une efficacité encore plus grande.
  • YOLOv6: un autre modèle sans ancrage axé sur les applications industrielles.
  • YOLOv9: se concentre sur l'information programmable de gradient (PGI) pour l'entraînement des réseaux profonds.

Commentaires