Passer au contenu

YOLOv10 YOLOv9: faire progresser la détection d'objets en temps réel

L'année 2024 a marqué une période d'innovation rapide dans le domaine de la détection d'objets, avec la sortie de deux architectures importantes : YOLOv10 et YOLOv9. Si les deux modèles visent à repousser les limites de la vitesse et de la précision, ils y parviennent grâce à des philosophies architecturales fondamentalement différentes.

YOLOv10 sur l'élimination de la latence d'inférence causée par le post-traitement grâce à une conception NMS, tandis que YOLOv9 la conservation des informations dans les réseaux profonds à l'aide de l'information de gradient programmable (PGI).

Comparaison des performances

Le tableau suivant présente une comparaison détaillée de ces modèles à l'aide de critères de référence standard. Les données mettent en évidence les compromis entre l'efficacité des paramètres, la vitesse d'inférence et la précision de détection (mAP).

ModèleTaille
(pixels)
mAPval
50-95
Vitesse
CPU ONNX
(ms)
Vitesse
T4 TensorRT10
(ms)
paramètres
(M)
FLOPs
(B)
YOLOv10n64039.5-1.562.36.7
YOLOv10s64046.7-2.667.221.6
YOLOv10m64051.3-5.4815.459.1
YOLOv10b64052.7-6.5424.492.0
YOLOv10l64053.3-8.3329.5120.3
YOLOv10x64054.4-12.256.9160.4
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

YOLOv10 : Le pionnier de l'approche de bout en bout

YOLOv10, développé par des chercheurs de l'université Tsinghua, représente une évolution vers le traitement de bout en bout. Publié le 23 mai 2024 par Ao Wang, Hui Chen et leurs collègues, il résout le problème de la suppression non maximale (NMS).

En savoir plus sur YOLOv10

Principales caractéristiques architecturales

  • FormationNMS: grâce à l'utilisation systématique de doubles affectations, YOLOv10 le besoin de NMS l'inférence. Cela réduit la latence et simplifie les pipelines de déploiement, en particulier pour les applications d'informatique de pointe.
  • Conception holistique efficace : l'architecture optimise divers composants afin de réduire la charge de calcul (FLOP) tout en conservant une capacité élevée.
  • Amélioration de la latence : comme le montre le tableau, YOLOv10 offrent généralement des temps d'inférence plus courts que leurs YOLOv9 pour des niveaux de précision similaires.

Pour plus de détails techniques, vous pouvez consulter l'articleYOLOv10 .

YOLOv9: Maîtriser le flux d'informations

YOLOv9, publié le 21 février 2024 par Chien-Yao Wang et Hong-Yuan Mark Liao de l'Academia Sinica, se concentre sur la question théorique de la perte d'informations dans les réseaux neuronaux profonds.

En savoir plus sur YOLOv9

Principales caractéristiques architecturales

  • Architecture GELAN : le réseau d'agrégation de couches généralisé et efficace combine les atouts du CSPNet et de l'ELAN afin d'optimiser l'utilisation des paramètres.
  • Informations programmables sur les gradients (PGI) : ce mécanisme de supervision auxiliaire garantit que les couches profondes conservent les informations essentielles à une détection précise, ce qui rend le modèle très efficace pour les tâches nécessitant une grande précision.
  • Haute précision : le modèle YOLOv9e atteint un impressionnantmAPval de 55,6 %, surpassant ainsi de nombreux modèles contemporains en termes de précision de détection pure.

Pour approfondir le sujet, lisez l'articleYOLOv9 .

Entraînement et facilité d'utilisation

Les deux modèles sont entièrement intégrés à Ultralytics , offrant ainsi une expérience unifiée et fluide aux développeurs. Que vous utilisiez YOLOv10 YOLOv9, Python Ultralytics simplifie la complexité des pipelines de formation, de l'augmentation des données et de la journalisation.

Exemple de code

L'entraînement d'un modèle sur un ensemble de données personnalisé ou un benchmark standard tel que COCO8 très simple. Le framework gère automatiquement les différences d'architecture.

from ultralytics import YOLO

# Load a model (Choose YOLOv10 or YOLOv9)
model = YOLO("yolov10n.pt")  # or "yolov9c.pt"

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

# Validate the model
model.val()

Efficacité de la mémoire

YOLO Ultralytics sont conçus pour une utilisation optimale GPU . Comparés aux architectures basées sur des transformateurs ou aux anciens modèles de détection, ils permettent des lots plus volumineux sur du matériel grand public, rendant ainsi l'IA de pointe accessible à un public plus large.

Cas d'utilisation idéaux

Le choix entre YOLOv10 YOLOv9 dépend YOLOv9 des contraintes spécifiques de votre environnement de déploiement.

Quand choisir YOLOv10

  • Contraintes de faible latence : si votre application fonctionne sur des appareils mobiles ou des systèmes embarqués où chaque milliseconde compte, la conception NMS de YOLOv10 un avantage significatif.
  • Déploiement simple : la suppression des étapes de post-traitement simplifie l'exportation vers des formats tels que ONNX ou TensorRT, ce qui réduit le risque d'incompatibilité entre les opérateurs.
  • Vidéo en temps réel : idéale pour la gestion du trafic ou les chaînes de fabrication à grande vitesse où le débit est essentiel.

Quand choisir YOLOv9

  • Précision maximale : pour les applications de recherche ou les scénarios où la précision est primordiale (par exemple, l'analyse d'images médicales), l'architecture améliorée PGI de YOLOv9e offre des résultats supérieurs.
  • Détection de petits objets : grâce à la préservation des caractéristiques riches de GELAN, YOLOv9 est YOLOv9 performant pour détecter les petits objets ou les objets masqués dans les images aériennes.
  • Scènes complexes : dans les environnements très encombrés visuellement, les informations de gradient programmables aident le modèle à distinguer plus efficacement les caractéristiques pertinentes.

L'avenir est là : YOLO26

Si YOLOv9 YOLOv10 des outils puissants, le domaine de la vision par ordinateur évolue rapidement. Ultralytics a Ultralytics lancé YOLO26, un modèle qui synthétise les meilleures fonctionnalités des générations précédentes tout en introduisant des optimisations révolutionnaires.

En savoir plus sur YOLO26

YOLO26 est le choix recommandé pour les nouveaux projets, offrant un équilibre supérieur entre vitesse, précision et polyvalence.

Pourquoi passer à YOLO26 ?

  • NMS de bout en bout : tout comme YOLOv10, YOLO26 est nativement de bout en bout. Il élimine NMS , garantissant une inférence plus rapide et des pipelines de déploiement simplifiés.
  • Optimiseur MuSGD : inspiré par les innovations dans la formation des grands modèles linguistiques (LLM) (en particulier Kimi K2 de Moonshot AI), YOLO26 utilise un hybride de SGD de l'optimiseur Muon. Il en résulte une formation nettement plus stable et une convergence plus rapide.
  • Suppression du DFL : en supprimant le Distribution Focal Loss, YOLO26 rationalise l'architecture du modèle, le rendant plus facile à exporter et compatible avec une gamme plus large d'appareils périphériques/à faible consommation d'énergie.
  • Saut de performance : les optimisations ciblant spécifiquement CPU offrent des vitesses jusqu'à 43 % plus rapides que les générations précédentes, ce qui en fait un véritable moteur pour l'IA de pointe.
  • Polyvalence des tâches : Contrairement aux versions v9 et v10 axées sur la détection, YOLO26 comprend des améliorations spécialisées pour toutes les tâches :
    • Segmentation : nouvelle perte de segmentation sémantique et proto multi-échelle.
    • Pose : estimation de la vraisemblance logarithmique résiduelle (RLE) pour des points clés de haute précision.
    • OBB : perte d'angle spécialisée pour gérer les problèmes de limites dans les tâches de boîte englobante orientée.

Flux de travail rationalisé grâce à Ultralytics

Les développeurs peuvent tirer parti de la Ultralytics (anciennement HUB) pour gérer l'ensemble du cycle de vie de leurs modèles YOLO26. De l'annotation des ensembles de données à la formation sur le cloud et au déploiement sur des appareils périphériques, la plateforme offre une interface unifiée qui accélère la mise sur le marché.

Conclusion

Les deux YOLOv10 et YOLOv9 représentent des étapes importantes dans l'histoire de la détection d'objets. YOLOv10 que les architectures NMS pouvaient atteindre des performances de pointe, tandis que YOLOv9 l'importance du flux d'informations de gradient dans les réseaux profonds.

Cependant, pour les développeurs à la recherche de la solution la plus robuste, polyvalente et évolutive, YOLO26 s'impose comme le choix idéal. En combinant une conception NMS avec l'optimiseur révolutionnaire MuSGD et une prise en charge étendue des tâches, YOLO26 offre le meilleur équilibre de performances pour les applications modernes de vision par ordinateur.

  • YOLO11 - Le prédécesseur robuste de YOLO26, réputé pour sa stabilité.
  • YOLOv8 - Un classique polyvalent largement utilisé dans l'industrie.
  • RT-DETR - Détecteur en temps réel basé sur un transformateur.

Commentaires