Passer au contenu

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 à l'avant-garde en matière de performance en temps réel. Choisir entre YOLOv8 et YOLOv7 implique de comprendre non seulement leurs métriques brutes, mais aussi les philosophies architecturales, l'expérience développeur et le support d'écosystème qui les entourent. Alors que YOLOv7 a établi des benchmarks 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 pour aider les développeurs et les chercheurs à sélectionner l'outil approprié pour leurs projets de vision par ordinateur.

Analyse des performances

Lorsque l'on compare les performances, il est essentiel d'examiner le compromis entre la vitesse d'inférence et la précision de la détection (mAP). YOLOv8 offre généralement un meilleur équilibre, offrant une plus grande précision pour des tailles de modèle similaires et des vitesses d'inférence plus rapides sur le matériel moderne.

Le tableau suivant met en évidence les différences de performances sur le jeu de données COCO.

ModèleTaille
(pixels)
mAPval
50-95
Vitesse
CPU ONNX
(ms)
Vitesse
T4 TensorRT10
(ms)
paramètres
(M)
FLOPs
(B)
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
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9

Points clés à retenir

  • Efficacité : Le modèle YOLOv8n (nano) atteint des vitesses remarquables (1,47 ms sur GPU), ce qui le rend idéal pour les applications d'IA en périphérie où la latence est critique.
  • Précision : YOLOv8x surpasse YOLOv7x en 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 des performances plus élevées par FLOP, ce qui se traduit par une consommation d’énergie plus faible pendant l’inférence.

Ultralytics YOLOv8 : La norme moderne

Lancé par Ultralytics début 2023, YOLOv8 a été conçu pour être à la pointe de la technologie (SOTA), non seulement en termes de performances, mais aussi en termes de flexibilité et de facilité d'utilisation. Il unifie de multiples tâches de vision par ordinateur en un cadre unique et rationalisé.

Architecture et innovation

YOLOv8 introduit un mécanisme de détection sans ancres, qui simplifie le processus d'entraînement en supprimant le besoin de calculs manuels des boîtes d'ancrage. Cela réduit le nombre de prédictions de boîtes et accélère la suppression non maximale (NMS).

L'architecture comprend le module C2f (Cross-Stage Partial Bottleneck avec deux convolutions), qui combine les caractéristiques de haut niveau avec les informations contextuelles plus efficacement que les itérations précédentes. Cela conduit à un flux de gradient plus riche et à une meilleure convergence de l'apprentissage. De plus, YOLOv8 utilise une tête découplée, traitant les tâches d'objectivité, de classification et de régression indépendamment pour une plus grande précision.

Points forts

En savoir plus sur YOLOv8

YOLOv7 : une référence en matière d'efficacité

YOLOv7 a fait des vagues importantes lors de sa sortie en introduisant des optimisations architecturales axées sur le "sac de cadeaux gratuits" — des méthodes pour augmenter la précision sans augmenter le coût d'inférence.

Architecture et approche

YOLOv7 utilise le 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 efficacement les caractéristiques. Il met fortement l'accent sur la mise à l'échelle du modèle (modification simultanée de la profondeur et de la largeur) et introduit des techniques de reparamétrisation pour fusionner les couches pendant l'inférence, accélérant ainsi le modèle sans perdre la précision de l'entraînement.

Forces et limitations

YOLOv7 est un modèle puissant qui offre d'excellents rapports vitesse/précision, en particulier sur les GPU. Son approche de type "sac de cadeaux gratuits" garantit que le modèle reste léger lors du déploiement. Cependant, comparé à YOLOv8, il lui manque la prise en charge multi-tâches unifiée prête à l'emploi et nécessite des procédures de configuration plus complexes impliquant le clonage de référentiels et la gestion manuelle des dépendances. Il s'agit principalement d'un spécialiste de la détection d'objets, les autres tâches nécessitant souvent des branches ou des implémentations distinctes.

En savoir plus sur YOLOv7

Comparaison technique approfondie

Facilité d'utilisation et écosystème

L'une des différences les plus notables réside dans la facilité d'utilisation. Ultralytics YOLOv8 est fourni sous forme de bibliothèque Python standard. Cela signifie que les développeurs peuvent l'intégrer dans les 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 du développeur

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 délai 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 de vision par ordinateur modernes nécessitent souvent plus que de simples boîtes englobantes.

  • YOLOv8 : Un véritable modèle multi-tâches. Vous pouvez passer de la detection à segmentation ou estimation de pose simplement en changeant le fichier de poids du modèle (par exemple, yolov8n-seg.pt).
  • YOLOv7 : Principalement axé sur la détection. Bien que des extensions existent, elles ne sont pas aussi étroitement intégrées ou maintenues dans un seul framework unifié.

Efficacité de l'entraînement et mémoire

YOLOv8 optimise les besoins en mémoire pendant l'entraînement. Il met en œuvre des stratégies intelligentes d'augmentation des données qui se désactivent vers la fin de l'entraînement pour affiner la précision. De plus, le framework Ultralytics prend en charge différents formats d'ensembles de données et gère le téléchargement automatique des ensembles de données standard, ce qui rend l'efficacité de l'entraînement considérablement plus élevée.

Les modèles basés sur des Transformers 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 des CNN et sont 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 le matériel grand public.

Cas d'utilisation concrets

Gestion du commerce de détail et des stocks

Pour l'analyse de vente au détail, la vitesse est primordiale. YOLOv8n peut fonctionner sur des appareils périphériques tels que des caméras ou des modules NVIDIA Jetson pour suivre l'inventaire en temps réel. Sa vitesse d'inférence élevée garantit que les produits en mouvement sont comptés avec précision, sans décalage.

Systèmes autonomes et robotique

La robotique exige 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 soit capable, la mise en œuvre de la segmentation nécessite plus d'efforts et des bases de code disparates.

Agriculture

En agriculture de précision, les modèles permettent de detecter les maladies des cultures ou de surveiller leur croissance. L'écosystème bien maintenu d'Ultralytics signifie que les chercheurs ont accès à des poids pré-entraînés et à des tutoriels communautaires spécifiques à ces ensembles de données de niche, ce qui réduit la barrière à l'entrée.

Conclusion

Bien 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, d'une polyvalence inégalée et d'un écosystème axé sur le développeur en fait la solution de choix pour la recherche académique et le déploiement en entreprise.

Pour ceux qui recherchent le nec plus ultra en matière d'efficacité et de raffinement architectural, Ultralytics a également publié YOLO11, qui repousse encore les limites. Cependant, pour une comparaison directe avec la génération v7, YOLOv8 se distingue comme le gagnant robuste, fiable et facile à utiliser.

Lectures complémentaires

Explorez d'autres comparaisons de modèles pour approfondir votre compréhension de l'écosystème YOLO :


Commentaires