Passer au contenu

YOLOv9 vs. YOLOv7: une plongée en profondeur dans l'évolution de la détection d'objets

Le paysage de la vision par ordinateur est caractérisé par une innovation rapide, où les percées architecturales redéfinissent continuellement les limites de la vitesse et de la précision. Les modèles YOLOv9 et YOLOv7, issus des recherches de Chien-Yao Wang et de ses collègues et représentant différentes générations de la famille "You Only Look Once", constituent deux étapes importantes de ce parcours.

Tout en YOLOv7 a établi la norme en matière de détection d'objets en temps réel lors de sa sortie en 2022, YOLOv9 est apparu en 2024 avec de nouveaux mécanismes pour traiter la perte d'information dans les réseaux profonds. Cette comparaison explore leurs spécifications techniques, leurs différences architecturales et leurs applications pratiques afin d'aider les développeurs à choisir le modèle optimal pour leurs besoins.

Mesures de performance et efficacité

L'évolution de YOLOv7 à YOLOv9 est surtout visible dans le compromis entre le coût de calcul et les performances de détection. YOLOv9 introduit des gains d'efficacité significatifs, ce qui lui permet d'atteindre une précision moyenne plus élevée (mAP) avec moins de paramètres que son prédécesseur.

Par exemple, le modèle YOLOv9m atteint la même mAPval mAP 51,4 % que YOLOv7l, mais utilise près de la moitié des paramètres (20,0 M contre 36,9 M) et beaucoup moins de FLOP. Cette efficacité rend YOLOv9 particulièrement intéressant pour les applications d'intelligence artificielle de pointe où les ressources matérielles sont limitées.

ModèleTaille
(pixels)
mAPval
50-95
Vitesse
CPU ONNX
(ms)
Vitesse
T4 TensorRT10
(ms)
paramètres
(M)
FLOPs
(B)
YOLOv9t64038.3-2.32.07.7
YOLOv9s64046.8-3.547.126.4
YOLOv9m64051.4-6.4320.076.3
YOLOv9c64053.0-7.1625.3102.1
YOLOv9e64055.6-16.7757.3189.0
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9

YOLOv9: Information sur le gradient programmable

YOLOv9 représente un changement de paradigme dans la façon dont les réseaux neuronaux profonds gèrent la transmission des données à travers les couches. Sorti au début de l'année 2024, il cible spécifiquement le problème du "goulot d'étranglement de l'information", où les données sont perdues lorsqu'elles passent à travers les couches successives d'un réseau profond.

Auteurs : Chien-Yao Wang, Hong-Yuan Mark Liao
Organisation:Institute of Information Science, Academia Sinica
Date : 2024-02-21
Arxiv:2402.13616
GitHub:WongKinYiu/yolov9
Docs :Ultralytics YOLOv9

Innovation architecturale

La principale innovation de YOLOv9 est l'introduction de l'information programmable sur les gradients (PGI). PGI fournit un cadre de supervision auxiliaire qui garantit que les gradients sont propagés de manière fiable vers les couches initiales, en préservant les informations d'entrée essentielles qui pourraient autrement être perdues lors de l'extraction des caractéristiques.

Le réseau GELAN (Generalized Efficient Layer Aggregation Network) complète le PGI. Cette architecture permet aux développeurs d'empiler divers blocs de calcul (comme CSP ou ResBlocks) de manière flexible, en optimisant les poids des modèles pour des contraintes matérielles spécifiques sans sacrifier la précision.

Points forts et faiblesses

  • Points forts :
    • Précision supérieure : Le modèle YOLOv9 atteint une mAP de 55,6 % sur l'ensemble de donnéesCOCO .
    • Efficacité des paramètres : Offre des performances comparables à celles des anciens modèles en utilisant beaucoup moins de paramètres, ce qui réduit les besoins en mémoire lors de l'inférence.
    • Préservation de l'information : Les améliorations théoriques du flux de gradient conduisent à une meilleure convergence et à une meilleure représentation des caractéristiques.
  • Faiblesses :
    • Complexité de l'apprentissage : Les branches auxiliaires utilisées pendant l'apprentissage (et supprimées pour l'inférence) peuvent augmenter l'utilisation de la mémoire duGPU pendant la phase d'apprentissage par rapport à des architectures plus simples.

En savoir plus sur YOLOv9

YOLOv7: La norme du sac de cadeaux

Avant YOLOv9, YOLOv7 était le champion en titre de la famille YOLO . Il a introduit des raffinements architecturaux visant à optimiser le processus de formation sans augmenter les coûts d'inférence, un concept connu sous le nom de "bag-of-freebies".

Auteurs : Chien-Yao Wang, Alexey Bochkovskiy, Hong-Yuan Mark Liao
Organisation : Institut des sciences de l'information, Academia Sinica
Date : 2022-07-06
Arxiv:2207.02696
GitHub:WongKinYiu/yolov7
Docs :Ultralytics YOLOv7

Aperçu architectural

YOLOv7 a introduit E-ELAN (Extended Efficient Layer Aggregation Network), qui contrôle les chemins de gradient les plus courts et les plus longs afin d'améliorer la capacité d'apprentissage du réseau. Il utilise également des techniques de mise à l'échelle du modèle qui modifient simultanément la profondeur et la largeur du réseau, garantissant ainsi une architecture optimale pour différents appareils cibles.

Points forts et faiblesses

  • Points forts :
    • Fiabilité éprouvée : L'utilisation intensive par la communauté et la validation sur plusieurs années en font un choix stable pour les systèmes existants.
    • Haute vitesse : Optimisé spécifiquement pour l'inférence en temps réel sur du matériel GPU standard.
  • Faiblesses :
    • Efficacité moindre : Nécessite plus de paramètres et de FLOPs pour atteindre les niveaux de précision que les modèles plus récents comme YOLOv9 ou YOLO11 peuvent atteindre avec des architectures plus légères.
    • Outil plus ancien : Il manque certaines des intégrations natives et des fonctionnalités faciles à utiliser que l'on trouve dans l'écosystème moderne d'Ultralytics .

En savoir plus sur YOLOv7

Cas d'utilisation et applications idéales

Le choix entre ces deux modèles dépend souvent des contraintes spécifiques de l'environnement de déploiement et de la précision requise pour la tâche.

Quand choisir YOLOv9

YOLOv9 est excellent pour les scénarios exigeant le meilleur rapport précision/efficacité.

  • Navigation autonome : Dans les voitures à conduite autonome, la détection de petits objets à longue distance est essentielle. La capacité de YOLOv9 à préserver les informations permet de reconnaître les dangers lointains.
  • Imagerie médicale : Pour des tâches telles que la détection de tumeurs, où l'absence de détection positive est critique, le rappel et la précision élevés de YOLOv9 sont bénéfiques.
  • Dispositifs de bord : L'argument yolov9t fournit une solution robuste pour Dispositifs IoT comme les Raspberry Pis, offrant une bonne précision avec une charge de calcul minimale.

Quand choisir YOLOv7

YOLOv7 reste pertinent pour les pipelines existants qui sont déjà optimisés pour son architecture.

  • Systèmes existants : Les chaînes de fabrication industrielle qui ont validé YOLOv7 pour le contrôle de la qualité peuvent préférer maintenir la cohérence plutôt que de procéder à une mise à niveau immédiate.
  • Bases de recherche : Il s'agit d'un excellent point de référence pour comparer les nouvelles stratégies de détection aux normes établies dans la recherche universitaire.

L'équilibre des performances avec Ultralytics

Bien que YOLOv9 et YOLOv7 soient puissants, les développeurs qui recherchent l'équilibre ultime entre vitesse, précision et expérience du développeur devraient envisager de faire appel à Ultralytics YOLO11. YOLO11 intègre les meilleures caractéristiques des générations précédentes avec une API rationalisée, prenant en charge la détection, la segmentation, l'estimation de la pose et la classification dans un cadre unique.

L'avantage Ultralytics

L'utilisation de ces modèles au sein de l'écosystèmeUltralytics offre des avantages distincts par rapport à l'utilisation de référentiels de recherche bruts. L'APIPython d'Ultralytics fait abstraction du code de base complexe, ce qui permet aux chercheurs et aux ingénieurs de se concentrer sur les données et les résultats.

  1. Facilité d'utilisation : Une interface unifiée vous permet de passer de YOLOv8 à YOLOv9 et à YOLO11 en une seule ligne de code.
  2. Efficacité de la formation : Les modèles Ultralytics sont optimisés pour une convergence plus rapide, nécessitant souvent moins de données de formation pour atteindre une grande précision.
  3. Exigences en matière de mémoire : Le framework est conçu pour minimiser l'utilisation de la mémoireCUDA , ce qui permet d'entraîner des lots plus importants sur du matériel grand public par rapport aux modèles Transformer gourmands en mémoire.
  4. Polyvalence : Au-delà des simples boîtes englobantes, l'écosystème prend en charge la segmentation des instances, l'estimation de la pose et les tâches de boîtes englobantes orientées (OBB), ce qui en fait un outil complet pour relever divers défis en matière d'IA.

Exemple de mise en œuvre

L'exécution de ces modèles est simple avec la bibliothèque Ultralytics . L'extrait de code suivant montre comment charger un modèle pré-entraîné et exécuter l'inférence sur une image.

from ultralytics import YOLO

# Load a pre-trained YOLOv9 model
model = YOLO("yolov9c.pt")

# Run inference on a local image
results = model.predict("path/to/image.jpg", save=True, conf=0.5)

# Process results
for result in results:
    result.show()  # Display predictions

Pour ceux qui souhaitent s'entraîner sur des ensembles de données personnalisés, le processus est tout aussi simple et utilise les stratégies robustes de réglage des hyperparamètres et d'augmentation des données intégrées dans le cadre.

# Train the model on a custom dataset
model.train(data="coco8.yaml", epochs=100, imgsz=640)

Conclusion

YOLOv9 et YOLOv7 représentent tous deux des réalisations importantes dans le domaine de la vision par ordinateur. YOLOv9 est le successeur technique évident, offrant une efficacité et une précision supérieures des paramètres grâce à ses architectures innovantes PGI et GELAN. C'est le choix recommandé pour les utilisateurs qui recherchent des performances élevées dans la lignée spécifique des recherches de Wang et al.

Cependant, pour les développeurs qui recherchent l'expérience la plus holistique en matière de développement de l'IA, Ultralytics YOLO11 reste la meilleure recommandation. Grâce à sa maintenance active, à sa documentation complète et à sa prise en charge étendue des tâches multimodales, YOLO11 garantit que vos projets sont à l'épreuve du temps et prêts à être mis en production.

Explorer d'autres modèles

Pour mieux comprendre le paysage de la détection d'objets, vous pouvez explorer ces modèles et comparaisons connexes :

  • YOLO11 vs. YOLOv9 - Comparez le dernier modèle Ultralytics avec YOLOv9.
  • YOLOv8 vs. YOLOv7 - Découvrez comment la génération précédente se comporte.
  • RT-DETR vs. YOLOv9 - Un regard sur la détection basée sur les transformateurs par rapport aux CNN.
  • YOLOv10 - Découvrez le modèle de détection d'objets en temps réel et de bout en bout.
  • Ultralytics HUB - Le moyen le plus simple de former et de déployer vos modèles.

Commentaires