YOLOv7 vs. YOLOv9: une comparaison technique complète
L'évolution de la famille YOLO (You Only Look Once) a été marquée par une innovation continue dans l'architecture des réseaux neuronaux, en équilibrant les compromis critiques entre la vitesse d'inférence, la précision et l'efficacité de calcul. Cette comparaison se penche sur la version YOLOv7une version phare de 2022 connue pour son "sac de freebies" entraînable, et la version YOLOv9une architecture de 2024 introduisant l'information de gradient programmable (PGI) pour surmonter les goulets d'étranglement en matière d'information dans les réseaux profonds.
Analyse des performances et de l'efficacité
Le passage de YOLOv7 à YOLOv9 représente un saut significatif dans l'efficacité des paramètres. Alors que YOLOv7 a été optimisé pour repousser les limites de la détection d'objets en temps réel à l'aide de réseaux d'agrégation de couches efficaces étendus (E-ELAN), YOLOv9 introduit des changements architecturaux qui lui permettent d'atteindre une précision moyenne plus élevéemAP avec moins de paramètres et d'opérations à virgule flottante (FLOP).
Pour les développeurs qui se concentrent sur le déploiement de l'IA périphérique, cette efficacité est cruciale. Comme l'illustre le tableau ci-dessous, YOLOv9e atteint un mAP dominant de 55,6 %, dépassant YOLOv7x, plus grand, tout en conservant une empreinte de calcul compétitive. À l'inverse, le petit YOLOv9t offre une solution légère pour les appareils à fortes contraintes, un niveau que YOLOv7 ne cible pas explicitement avec la même granularité.
| 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 |
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.1 | 26.4 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.0 |
YOLOv7: Optimiser le sac de gratuités formable
Publié en juillet 2022, YOLOv7 a introduit plusieurs réformes structurelles dans l'architecture de YOLO , en se concentrant sur l'optimisation du processus de formation sans augmenter le coût de l'inférence.
- Auteurs : Chien-Yao Wang, Alexey Bochkovskiy et Hong-Yuan Mark Liao
- Organisation :Institut des sciences de l'information, Academia Sinica, Taiwan
- Date : 2022-07-06
- Arxiv :YOLOv7: un sac de flibustiers entraînable pour un nouvel état de l'art
- GitHub :WongKinYiu/yolov7
Points forts de l'architecture
YOLOv7 utilise E-ELAN (Extended Efficient Layer Aggregation Network), qui contrôle les chemins de gradient les plus courts et les plus longs pour permettre au réseau d'apprendre plus de caractéristiques de manière efficace. Il a également popularisé la mise à l'échelle des modèles basés sur la concaténation, ce qui permet de mettre à l'échelle la profondeur et la largeur simultanément. Une innovation clé a été la convolution re-paramétrée planifiée, qui rationalise l'architecture du modèle pendant l'inférence pour augmenter la vitesse.
Statut de l'héritage
Si YOLOv7 reste un modèle performant, il ne prend pas en charge les nouvelles optimisations de l'écosystèmeUltralytics . Les développeurs peuvent trouver l'intégration avec les outils MLOps modernes plus difficile que les itérations plus récentes.
YOLOv9: Résoudre le goulot d'étranglement de l'information
YOLOv9, présenté début 2024, s'attaque à un problème fondamental de l'apprentissage profond : la perte d'informations lorsque les données passent par des couches successives.
- Auteurs : Chien-Yao Wang et Hong-Yuan Mark Liao
- Organisation :Institut des sciences de l'information, Academia Sinica, Taiwan
- Date : 2024-02-21
- Arxiv :YOLOv9: Apprendre ce que l'on veut apprendre grâce à l'IGP
- GitHub :WongKinYiu/yolov9
Points forts de l'architecture
La principale innovation de YOLOv9 est l'information programmable de gradient (PGI). Dans les réseaux profonds, des informations utiles peuvent être perdues au cours du processus de feedforward, ce qui conduit à des gradients peu fiables. PGI fournit un cadre de supervision auxiliaire qui garantit que les informations clés sont préservées pour la fonction de perte. En outre, le réseau d'agrégation de couches efficace généralisé (GELAN) étend les capacités d'ELAN en permettant un blocage arbitraire, maximisant ainsi l'utilisation des paramètres et des ressources informatiques.
Cette architecture rend YOLOv9 exceptionnellement performant pour les tâches de détection complexes, telles que la détection de petits objets dans des environnements encombrés ou l'analyse d'images aériennes à haute résolution.
Pourquoi les modèles Ultralytics YOLO11 et YOLOv8) sont le choix privilégié
Si YOLOv7 et YOLOv9 sont des réussites académiques impressionnantes, l'initiative Ultralytics YOLO d'Ultralytics, y compris YOLOv8 et l'ultramoderne YOLO11-est spécialement conçue pour le développement d'applications pratiques et réelles. Ces modèles privilégient la facilité d'utilisation, l'intégration de l'écosystème et l'efficacité opérationnelle, ce qui en fait le meilleur choix pour la plupart des équipes d'ingénieurs.
Une expérience utilisateur simplifiée
Les modèles Ultralytics sont intégrés dans une APIPython unifiée qui fait abstraction des complexités des pipelines d'apprentissage. Le passage d'une tâche à l'autre ( détection d'objet, segmentation d'instance, estimation de la pose et boîte englobante orientée (OBB)) ne nécessite qu'un seul changement d'argument, ce qui n'est pas le cas des implémentations standard de YOLOv7 ou YOLOv9 .
from ultralytics import YOLO
# Load a model (YOLO11 automatically handles architecture)
model = YOLO("yolo11n.pt") # Load a pretrained model
# Train the model with a single line of code
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Perform inference on an image
results = model("path/to/image.jpg")
Un écosystème bien entretenu
Le choix d'un modèle Ultralytics donne accès à un écosystème robuste. Cela inclut une intégration transparente avec Ultralytics HUB (et la future Ultralytics Platform) pour l'entraînement dans le nuage et la gestion des ensembles de données. De plus, la communauté active et les mises à jour fréquentes garantissent la compatibilité avec le matériel le plus récent, comme l'exportation vers TensorRT ou OpenVINO pour des vitesses d'inférence optimales.
Mémoire et efficacité de l'entraînement
Les modèles Ultralytics sont réputés pour leur efficacité en matière de formation. Contrairement aux modèles basés sur les transformateurs (comme RT-DETR) qui peuvent être gourmands en mémoire et lents à converger, les modèlesYOLO d'Ultralytics utilisent des chargeurs de données optimisés et l'augmentation Mosaic pour offrir des temps d'apprentissage rapides avec des besoins en mémoire CUDA moindres. Cela permet aux développeurs d'entraîner des modèles de pointe sur des GPU grand public.
Cas d'utilisation idéaux
Le choix du bon modèle dépend des contraintes spécifiques de votre projet.
Applications concrètes de YOLOv9
- Recherche et analyse comparative : Idéal pour les études universitaires nécessitant la précision la plus élevée possible sur l'ensemble de donnéesCOCO .
- Surveillance haute fidélité : Dans des scénarios tels que les systèmes d'alarme de sécurité où un gain de précision de 1 à 2 % justifie une plus grande complexité de mise en œuvre.
Applications concrètes de YOLOv7
- Systèmes hérités : Projets déjà construits sur le Darknet ou les premiers écosystèmes PyTorch qui nécessitent une quantité stable et connue sans avoir à remanier l'ensemble de la base de code.
Applications concrètes pour les Ultralytics YOLO11
- Villes intelligentes : Utilisation du suivi d'objets pour l'analyse des flux de trafic où la rapidité et la facilité de déploiement sont primordiales.
- Santé :Analyse d'images médicales où la segmentation et la détection sont souvent nécessaires simultanément.
- Fabrication : Déploiement de systèmes de contrôle de la qualité sur des appareils périphériques tels que NVIDIA Jetson ou Raspberry Pi, bénéficiant d'options d'exportation directes vers TFLite et ONNX.
Conclusion
YOLOv7 et YOLOv9 représentent tous deux des étapes importantes dans l'histoire de la vision par ordinateur. YOLOv9 offre une amélioration convaincante par rapport à la v7 grâce à son architecture PGI, qui permet d'améliorer l'efficacité et la précision. Cependant, pour les développeurs qui recherchent une solution polyvalente, facile à utiliser et bien supportée, Ultralytics YOLO11 reste le choix recommandé. Son équilibre entre performances, documentation complète et capacités multitâchesdetect, segment, classify, pose) offre le chemin le plus rapide de la conception à la production.
Explorer d'autres modèles
Pour trouver la solution idéale à vos tâches spécifiques de vision par ordinateur, envisagez d'explorer ces autres comparaisons :
- YOLOv8 vs. YOLOv9 - Comparer la v8, largement adoptée, avec la v9, axée sur la recherche.
- YOLOv10 vs. YOLOv9 - Découvrez les performances de YOLOv10 de bout en bout.
- YOLO11 vs. YOLOv8 - Comprendre les améliorations de la dernière version d'Ultralytics .
- RT-DETR vs. YOLOv9 - Un regard sur la détection basée sur les transformateurs par rapport aux CNN.