YOLOv8 YOLOv7: évolution architecturale et analyse des performances
Dans le domaine en pleine évolution de la vision par ordinateur, la famille de modèles « You Only Look Once » (YOLO) a toujours été la référence en matière de détection d'objets en temps réel. Cette comparaison explore les nuances techniques entre Ultralytics YOLOv8 et le modèle axé sur la recherche YOLOv7. Si les deux modèles représentent des étapes importantes dans l'histoire de l'IA, ils répondent à des besoins différents en matière de développement et de déploiement.
Pour les développeurs à la recherche d'une expérience optimale, Ultralytics offre une interface unifiée. Cependant, il est essentiel de comprendre le changement architectural entre l'approche basée sur la concaténation YOLOv7 et la conception sans ancrage YOLOv8 afin de choisir l'outil adapté à vos tâches spécifiques en matière de vision par ordinateur.
Comparaison des métriques de performance
Le tableau suivant met en évidence les compromis en termes de performances. YOLOv8 offre généralement un équilibre supérieur entre vitesse et précision, en particulier si l'on tient compte de l'efficacité de la Ultralytics pour la formation et le déploiement.
| 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 |
Ultralytics YOLOv8 : La norme moderne
YOLOv8 un tournant décisif dans la YOLO en adoptant une tête de détection sans ancrage et une architecture découplée. Ce choix de conception simplifie le processus d'entraînement en supprimant la nécessité de calculer manuellement les boîtes d'ancrage, ce qui rend le modèle plus robuste sur divers ensembles de données.
Détails de YOLOv8 :
- Auteurs : Glenn Jocher, Ayush Chaurasia et Jing Qiu
- Organisation :Ultralytics
- Date : 2023-01-10
- GitHub :Dépôt Ultralytics
Architecture et innovation
YOLOv8 le module C2f (Cross-Stage Partial Bottleneck avec deux convolutions), qui remplace le module C3 utilisé dans les itérations précédentes. Le module C2f améliore le flux de gradient et permet au modèle d'apprendre des représentations de caractéristiques plus complexes tout en conservant ses caractéristiques légères.
L'un des principaux atouts de YOLOv8 sa polyvalence native. Contrairement aux anciens référentiels qui nécessitaient des branches distinctes pour différentes tâches, YOLOv8 la détection d'objets, la segmentation d'instances, l'estimation de pose, la classification et les boîtes englobantes orientées (OBB) au sein d'un seul et même cadre.
YOLOv7: une étape importante dans la recherche
Sorti mi-2022, YOLOv7 fortement YOLOv7 sur l'optimisation architecturale grâce à « Trainable bag-of-freebies ». Il a repoussé les limites de ce qui était possible avec les détecteurs basés sur des ancres à l'époque.
Détails de YOLOv7 :
- 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:YOLOv7 : L’ensemble de techniques d’entraînement « bag-of-freebies » établit une nouvelle référence
- GitHub :WongKinYiu/yolov7
Approche architecturale
YOLOv7 l'architecture E-ELAN (Extended Efficient Layer Aggregation Network). Cette conception se concentre sur le contrôle des chemins de gradient les plus courts et les plus longs afin de permettre au réseau d'apprendre plus efficacement. Bien que très précise, cette architecture est complexe et repose sur des boîtes d'ancrage, qui peuvent nécessiter un réglage spécifique pour des performances optimales sur des données personnalisées.
Comparaison technique et cas d'utilisation
1. Facilité d'utilisation et écosystème
Le facteur de différenciation le plus important est l'écosystème. YOLOv8 est distribué via le ultralytics package pip, offrant une expérience « zero-to-hero ». Les développeurs peuvent accéder à modèles pré-entraînés et commencez à vous entraîner en quelques minutes.
En revanche, YOLOv7 avant tout un référentiel de recherche. Bien que puissant, il ne dispose pas de l'API standardisée, de l'intégration transparente avec des outils tels que TensorBoard, ni de la documentation complète Ultralytics par Ultralytics .
2. Efficacité de l'entraînement et mémoire
Ultralytics sont réputés pour leur efficacité en matière de formation. YOLOv8 l'utilisation CUDA , ce qui permet souvent d'utiliser des lots plus volumineux par rapport aux modèles basés sur Transformer ou à l'ancienne YOLOv7 . Cette efficacité se traduit par une réduction des coûts de cloud computing et des temps d'itération plus courts.
Exportation intégrée
L'un des principaux points faibles du déploiement est la conversion des modèles. YOLOv8 cette opération grâce à une commande d'une seule ligne permettant d'exporter vers ONNX, TensorRT, CoreML et TFLite, garantissant ainsi que votre modèle fonctionne sur n'importe quel appareil périphérique.
3. Cas d'utilisation idéaux
- Choisissez YOLOv8 si vous avez besoin d'une solution prête à l'emploi, facile à entretenir, prenant en charge plusieurs tâches de vision par ordinateur (comme le suivi et la segmentation) et facile à déployer sur des appareils périphériques tels que le Raspberry Pi.
- Choisissez YOLOv7 si vous menez des recherches universitaires comparant spécifiquement les architectures traditionnelles basées sur des ancres ou si vous devez reproduire les résultats des benchmarks 2022.
L'avenir : YOLO26
Bien que YOLOv8 YOLOv7 d'excellents modèles, le domaine évolue rapidement. Ultralytics a Ultralytics lancé YOLO26, le modèle recommandé pour tous les nouveaux projets.
YOLO26 introduit une conception de bout en bout NMS, éliminant ainsi le besoin d'un post-traitement par suppression non maximale. Il en résulte des pipelines de déploiement nettement plus simples et une latence réduite. De plus, YOLO26 supprime la perte focale de distribution (DFL) et utilise l'optimiseur MuSGD, un hybride de SGD Muon inspiré de la formation LLM, pour obtenir une formation stable et une convergence plus rapide.
Grâce à ProgLoss et STAL (Soft-Target Anchor Loss), YOLO26 offre CPU jusqu'à 43 % plus rapide, ce qui en fait le choix idéal pour l'informatique de pointe et l'analyse en temps réel.
Exemples de code
Ultralytics unifie le flux de travail. Vous pouvez entraîner un YOLOv8 de pointe ou même charger des configurations héritées avec un minimum de code.
from ultralytics import YOLO
# Load the recommended model (YOLO26 or YOLOv8)
model = YOLO("yolov8n.pt")
# Train the model on the COCO8 dataset
# The unified API handles data augmentation and memory management automatically
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")
# Export to ONNX for deployment
model.export(format="onnx")
Pour les chercheurs intéressés par d'autres architectures, la Ultralytics couvre également YOLOv5, YOLOv9et YOLO11, vous garantissant ainsi les meilleurs outils pour chaque scénario.