Passer au contenu

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

Le paysage de la détection d'objets en temps réel a évolué rapidement, chaque nouvelle itération repoussant les limites de ce qui est possible sur les appareils périphériques et les serveurs cloud. Lorsqu'ils évaluent les architectures pour des projets de vision par ordinateur, les développeurs comparent souvent les références établies aux innovations les plus récentes. Ce guide complet compare deux étapes cruciales de la YOLO : YOLOv7 et YOLOv9.

Nous analyserons leurs avancées architecturales, leurs indicateurs de performance et leurs scénarios de déploiement idéaux afin de vous aider à choisir le modèle le mieux adapté à votre application. Nous examinerons également comment la Ultralytics unifie ces modèles, facilitant ainsi leur formation, leur validation et leur déploiement.

Généalogie du modèle et spécifications techniques

Comprendre les origines et les philosophies de conception de ces modèles fournit un contexte essentiel pour appréhender leurs capacités. Les deux modèles partagent une lignée de recherche commune, mais ciblent des goulots d'étranglement architecturaux différents.

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

Sorti mi-2022, YOLOv7 comme une architecture hautement fiable et fortement optimisée. Il a introduit une reparamétrisation structurelle et une approche « trainable bag-of-freebies » afin de maintenir des vitesses d'inférence élevées sans compromettre la précision moyenne (mAP).

Innovations architecturales : YOLOv7 le réseau E-ELAN (Extended Efficient Layer Aggregation Network), qui permet au modèle d'apprendre des caractéristiques plus variées en élargissant, en mélangeant et en fusionnant la cardinalité. Cette conception se traduit par GPU excellente GPU et une latence d'inférence optimale. Cependant, elle peut nécessiter une mémoire importante lors des cycles d'entraînement complexes par rapport aux itérations modernes.

En savoir plus sur YOLOv7

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

Présenté début 2024 par la même équipe de recherche, YOLOv9 au « goulot d'étranglement informationnel » inhérent aux réseaux neuronaux profonds. Lorsque les données traversent les couches profondes, des détails cruciaux sont souvent perdus. YOLOv9 ce problème grâce à des conceptions de couches fondamentalement nouvelles.

Innovations architecturales : YOLOv9 les informations de gradient programmables (PGI) et le réseau d'agrégation de couches généralisé et efficace (GELAN). Les PGI garantissent la préservation de gradients fiables et leur rétroaction afin de mettre à jour les poids avec précision. Le GELAN optimise l'efficacité des paramètres, permettant YOLOv9 une grande précision avec un nombre de FLOP nettement inférieur à celui de ses prédécesseurs.

En savoir plus sur YOLOv9

Analyse des performances

Lorsqu'ils choisissent entre différentes architectures, les ingénieurs en IA doivent trouver le juste équilibre entre précision, vitesse d'inférence et coût de calcul. Le tableau ci-dessous met en évidence les différences de performances entre ces modèles sur l'ensemble COCO standard COCO .

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

Points clés à retenir

  • Efficacité des paramètres : YOLOv9m offre la même précision que YOLOv7l (51,4 % mAP) tout en utilisant près de 45 % de paramètres en moins (20,0 millions contre 36,9 millions). Cette réduction drastique rend YOLOv9m beaucoup plus facile à déployer sur des appareils d'IA en périphérie dont la mémoire est limitée.
  • Micro-déploiements : l'introduction de la variante YOLOv9t (tiny) offre des vitesses incroyables (2,3 ms sur T4 TensorRT) pour les environnements où les contraintes en temps réel sont absolues.
  • Précision maximale : pour les applications où la précision est primordiale, YOLOv9e porte la précision de détection à 55,6 % mAP, surpassant largement YOLOv7x.

Assurer la pérennité de vos projets de vision par ordinateur

Si YOLOv7 YOLOv9 puissants, le tout nouveau YOLO26 représente une avancée décisive. YOLO26 introduit une conception native de bout en bout NMS, éliminant ainsi les post-traitements complexes et augmentant les vitesses CPU jusqu'à 43 %. Grâce à l'utilisation du nouvel optimiseur MuSGD et des fonctions de perte ProgLoss + STAL améliorées, YOLO26 offre une stabilité d'entraînement et une précision de détection des petits objets inégalées.

L'avantage Ultralytics

Le choix d'une architecture de modèle n'est que la première étape. L'écosystème logiciel qui entoure le modèle détermine la rapidité avec laquelle vous pouvez passer du prototype à la production. L'intégration de ces modèles via Python Ultralytics offre des avantages considérables aux développeurs et aux chercheurs.

Facilité d'utilisation et efficacité de la formation

Historiquement, la formation YOLOv7 une préparation complexe des données et des scripts hautement personnalisés. Le Ultralytics élimine ces complexités liées au deep learning. Les développeurs peuvent facilement passer d'une architecture à l'autre, tester différents réglages d'hyperparamètres et utiliser des pipelines intelligents d'augmentation des données avec un minimum de code.

De plus, Ultralytics l'utilisation de la mémoire pendant l'entraînement et l'inférence. Contrairement aux modèles de transformateurs lourds (tels que RT-DETR),YOLO Ultralytics YOLO s'entraînent beaucoup plus rapidement et nécessitent beaucoup moins CUDA , ce qui les rend idéales pour les GPU grand public.

Exemple de code : Formation simplifiée

La formation de modèles de pointe s'effectue de manière transparente au sein de Ultralytics . Voici un exemple entièrement exécutable qui montre comment former et valider un YOLOv9 :

from ultralytics import YOLO

# Initialize the model (you can swap 'yolov9c.pt' with 'yolov7.pt' or 'yolo26n.pt')
model = YOLO("yolov9c.pt")

# Train the model on the COCO8 sample dataset
train_results = model.train(
    data="coco8.yaml",
    epochs=50,
    imgsz=640,
    device="0",  # Use GPU 0 if available
    batch=16,  # Optimized batch size for memory efficiency
)

# Validate the model's performance on the validation set
metrics = model.val()

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

Une polyvalence inégalée pour toutes les tâches

Un écosystème bien entretenu permet d'accéder à diverses tâches de vision par ordinateur. Alors que YOLOv7 principalement conçu pour la détection d'objets (avec des dérivés expérimentaux ultérieurs pour d'autres tâches), Ultralytics modernes sont nativement conçus pour être polyvalents. Dès leur installation, vous pouvez effectuer de manière transparente la segmentation d'instances, l'estimation de poses, la classification d'images et la détection de boîtes englobantes orientées (OBB).

Cas d'utilisation et applications idéaux

Le choix entre YOLOv7 YOLOv9 dépend YOLOv9 des contraintes spécifiques à votre secteur d'activité et de la disponibilité du matériel.

Quand utiliser YOLOv7

  • Déploiements Legacy Edge : pour les environnements matériels déjà fortement adaptés et optimisés pour l'architecture E-ELAN YOLOv7, cela reste un choix robuste pour l'IoT industriel.
  • Surveillance du trafic : grâce à YOLOv7 taux de rafraîchissement élevé et à sa stabilité éprouvée, YOLOv7 est idéal pour les infrastructures des villes intelligentes et la gestion du trafic en temps réel.
  • Intégration robotique : la navigation dans des environnements dynamiques nécessite un traitement à faible latence, un scénario dans lequel YOLOv7 ont été largement testées.

Quand utiliser YOLOv9

  • Imagerie médicale : l'architecture PGI de YOLOv9 exceptionnelle pour préserver les détails fins à travers des couches profondes, ce qui est essentiel lors de l'analyse de tâches complexes d'analyse d'images médicales telles que la détection de tumeurs.
  • Analyse dense du commerce de détail : pour suivre et compter les articles densément disposés sur les rayons des magasins, l'intégration des fonctionnalités YOLOv9 offre une précision supérieure et réduit les faux négatifs.
  • Imagerie aérienne et par drone : l'efficacité des paramètres de YOLOv9m permet un traitement d'images haute résolution sur les drones, ce qui facilite la conservation de la faune sauvage et la surveillance agricole sans épuiser la batterie.

Conclusion

YOLOv7 YOLOv9 tous deux consolidé leur place dans l'histoire de la vision par ordinateur. YOLOv7 des optimisations essentielles pour le traitement en temps réel, tandis que YOLOv9 aux goulots d'étranglement structurels de l'apprentissage profond afin de maximiser l'efficacité des paramètres.

Cependant, pour les développeurs qui lancent aujourd'hui de nouveaux projets, tirer parti de Ultralytics , en particulier des modèles de nouvelle génération tels que YOLO11 et YOLO26, offre le meilleur compromis entre vitesse, précision et expérience développeur. Grâce à des innovations telles que l'optimiseur MuSGD et la suppression de la perte focale de distribution (DFL) pour une compatibilité matérielle plus large, Ultralytics de fournir les outils les plus accessibles et les plus puissants aux professionnels de l'IA visuelle.


Commentaires