Passer au contenu

YOLOv9 YOLOv7: analyse technique approfondie de la détection d'objets moderne

L'évolution de la détection d'objets en temps réel a été motivée par une quête permanente d'équilibre entre efficacité informatique et haute précision. Deux architectures marquantes dans cette évolution sont YOLOv9 YOLOv7, toutes deux développées par des chercheurs de l'Institut des sciences de l'information de l'Académie Sinica à Taïwan. Alors que YOLOv7 le concept révolutionnaire de « bag-of-freebies » (sac de cadeaux) entraînable, la nouvelle version YOLOv9 de front aux goulots d'étranglement de l'apprentissage profond.

Cette comparaison technique complète explore les différences architecturales, les mesures de performance et les scénarios de déploiement idéaux pour les deux modèles, aidant ainsi les ingénieurs et chercheurs en apprentissage automatique à choisir l'outil adapté à leurs pipelines de vision par ordinateur.

Comparaison des performances et des indicateurs

Lorsque l'on compare ces modèles, les performances brutes et l'efficacité sont des facteurs essentiels. Le tableau suivant détaille la précision moyenne (mAP) et les exigences informatiques pour les benchmarks standard COCO .

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

Équilibre des performances

Remarquez comment YOLOv9c atteint à peu près la même précision (53,0 mAP) que YOLOv7x (53,1 mAP) tout en utilisant beaucoup moins de paramètres (25,3 millions contre 71,3 millions) et de FLOP. Cela démontre les améliorations apportées à l'équilibre des performances dans les architectures modernes.

YOLOv9 : Résoudre le goulot d’étranglement de l’information

Lancé début 2024, YOLOv9 a YOLOv9 changé la manière dont les réseaux neuronaux profonds conservent les données à travers leurs couches.

Innovations architecturales

YOLOv9 le réseau d'agrégation de couches généralisé et efficace (GELAN) et les informations de gradient programmables (PGI). GELAN combine les atouts de CSPNet et d'ELAN pour optimiser l'efficacité des paramètres et le coût de calcul, garantissant une haute précision avec un nombre de paramètres réduit. PGI est un cadre de supervision auxiliaire conçu pour prévenir la perte de données dans les réseaux profonds, générant des gradients fiables pour la mise à jour des poids pendant le processus d'apprentissage.

Forces et limitations

La principale force de YOLOv9 sa capacité à extraire des caractéristiques subtiles sans surcharge informatique importante, ce qui le rend incroyablement performant pour les tâches nécessitant une grande fidélité des caractéristiques, comme l'analyse d'images médicales. Cependant, la structure complexe du PGI pendant l'entraînement peut rendre les modifications architecturales personnalisées plus difficiles pour les débutants par rapport à des cadres plus unifiés.

En savoir plus sur YOLOv9

YOLOv7: le pionnier du « Bag-of-Freebies »

Sorti en 2022, YOLOv7 une nouvelle référence en matière de performances possibles sur du matériel grand public, en introduisant des innovations structurelles qui ont considérablement augmenté les vitesses d'inférence en temps réel.

Innovations architecturales

La principale contribution YOLOv7 est le réseau E-ELAN (Extended Efficient Layer Aggregation Network). Cette architecture permet au modèle d'apprendre en continu des caractéristiques plus variées. De plus, YOLOv7 des techniques « trainable bag-of-freebies » telles que les convolutions reparamétrées planifiées et l'attribution dynamique d'étiquettes. Ces méthodes améliorent la précision du modèle pendant l'entraînement sans augmenter les coûts d'inférence pendant le déploiement.

Forces et limitations

YOLOv7 hautement optimisé pour le traitement en temps réel et reste un élément essentiel des systèmes hérités et CUDA plus anciens. Sa principale limitation aujourd'hui est la taille plus importante de ses paramètres par rapport aux modèles plus récents. Comme le montre le tableau des performances, pour atteindre une précision optimale, il faut utiliser le modèle YOLOv7x, qui est lourd et nécessite beaucoup plus GPU que les architectures modernes équivalentes.

En savoir plus sur YOLOv7

Ultralytics : un déploiement simplifié

Si les référentiels de recherche originaux pour YOLOv9 YOLOv7 d'excellentes bases académiques, le déploiement de ces modèles dans des environnements de production peut s'avérer complexe. Leur intégration via le ultralytics Le forfait offre une qualité inégalée. Facilité d'utilisation.

En utilisant la Ultralytics intégrée Ultralytics , les développeurs bénéficient d'un écosystème bien entretenu, doté d'une Python intuitive, d'un soutien actif de la communauté et d'un suivi rigoureux des expériences.

Préparer l'avenir avec YOLO26

Si vous démarrez un nouveau projet de vision par ordinateur, nous vous recommandons vivement d'explorer la nouvelle version YOLO26 plutôt que YOLOv9 YOLOv7. Lancé comme la nouvelle norme de pointe, YOLO26 apporte des avancées révolutionnaires :

  • Conception NMS de bout en bout : élimine le post-traitement par suppression non maximale, réduisant considérablement la complexité du déploiement et la latence.
  • CPU jusqu'à 43 % plus rapide : optimisée pour les environnements informatiques de pointe, garantissant le bon fonctionnement de votre application même sans GPU dédiés.
  • MuSGD Optimizer : un optimiseur hybride inspiré de la formation LLM, offrant une convergence très stable et réduisant le temps de formation.
  • Suppression de la DFL : exportation simplifiée des modèles grâce à la suppression de la Distribution Focal Loss, améliorant ainsi la compatibilité avec les appareils mobiles à faible consommation d'énergie.
  • ProgLoss + STAL : améliore considérablement les performances en matière de détection de petits objets, ce qui en fait le choix idéal pour l'imagerie aérienne et la surveillance.

Parmi les autres alternatives populaires au sein de l'écosystème, on peut citer Ultralytics YOLOv8 et YOLO11, qui offrent toutes deux une grande polyvalence pour des tâches telles que la segmentation d'instances et l'estimation de poses.

Exemple d'implémentation

La formation et l'exportation de ces architectures sont incroyablement simples grâce à l'API unifiée. Le code ci-dessous illustre l'efficacité de formation rationalisée caractéristique des Ultralytics .

from ultralytics import YOLO

# Initialize YOLOv9 or the recommended YOLO26 model
model = YOLO("yolov9c.pt")  # Swap with "yolo26n.pt" for faster edge performance

# Train on a custom dataset with built-in data augmentation
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, batch=16, device=0)

# Export the trained model to ONNX format for deployment
model.export(format="onnx")

Besoins en mémoire

Lors de l'entraînement sur du matériel grand public, l'efficacité de la mémoire est cruciale. Ultralytics de YOLOv9 YOLO26 sont fortement optimisées pour réduire les pics de VRAM, contrairement aux modèles basés sur des transformateurs (tels que RT-DETR) qui souffrent souvent d'un gonflement important de la mémoire pendant l'entraînement.

Applications concrètes et cas d'utilisation idéaux

Le choix entre ces architectures dépend souvent des contraintes spécifiques de votre environnement de production.

Quand utiliser YOLOv9: YOLOv9 dans les environnements où la conservation des moindres détails est nécessaire. Son extraction robuste des caractéristiques le rend idéal pour l'analyse commerciale afin de compter les produits densément disposés sur les étagères ou pour les applications agricoles où l'identification précoce des maladies des cultures sur les petites feuilles est essentielle.

Quand utiliser YOLOv7: YOLOv7 un candidat solide pour les pipelines de déploiement hérités. Si vous effectuez une intégration dans des systèmes matériels plus anciens (comme certaines générations du Google Edge TPU), l'architecture CNN simple de YOLOv7 être plus facile à compiler que les branches de gradient plus complexes des modèles plus récents.

Quand utiliser YOLO26 (recommandé) : Pour tout déploiement moderne, des drones autonomes à la gestion du traficdans les villes intelligentes, YOLO26 est le choix idéal. Son architecture NMS garantit des temps d'inférence déterministes, ce qui est essentiel pour la robotique critique en matière de sécurité, tandis que sa haute précision surpasse celle de YOLOv9 YOLOv7 tous les domaines.


Commentaires