YOLO YOLOv10: évolution de la détection efficace d'objets en temps réel
Le domaine de la vision par ordinateur a connu une évolution rapide dans les architectures de détection d'objets en temps réel. En comparant YOLO et YOLOv10, nous observons deux philosophies distinctes dans la conception des modèles : la recherche automatisée d'architecture et l'optimisation de bout en bout NMS. Si les deux repoussent les limites de la précision et de la vitesse, leurs structures sous-jacentes et leurs cas d'utilisation idéaux diffèrent considérablement.
YOLO: recherche d'architecture neuronale à grande échelle
Développé par le groupe Alibaba,YOLO comme un puissant détecteur axé sur l'exploitation de la découverte automatisée pour l'efficacité structurelle.
- Auteurs : Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang et Xiuyu Sun
- Date : 23 novembre 2022
- Arxiv :2211.15444v2
- GitHub :tinyvision/DAMO-YOLO
Points forts architecturaux
YOLO fortement sur la recherche d'architecture neuronale (NAS) pour équilibrer les performances et la latence. Son épine dorsale, baptisée MAE-NAS, utilise une recherche évolutive multi-objectifs dans le cadre de budgets informatiques stricts afin de trouver la profondeur et la largeur optimales des couches.
Pour gérer la fusion des caractéristiques à différentes échelles, le modèle utilise un réseau RepGFPN (Reparameterized Generalized Feature Pyramid Network) efficace. Cette conception à couleuvre lourde est particulièrement adaptée à l'extraction de hiérarchies spatiales complexes, ce qui la rend utile dans des scénarios tels que l'analyse d'images aériennes. De plus,YOLO ZeroHead, une tête de détection simplifiée qui réduit considérablement la complexité des couches de prédiction finales, en s'appuyant sur un processus robuste d'amélioration par distillation pendant l'entraînement.
Formation à la distillation
YOLO utiliseYOLO un processus de distillation des connaissances en plusieurs étapes. Il nécessite l'entraînement d'un modèle « enseignant » plus lourd pour guider le modèle « élève » plus petit, ce qui permet d'obtenir mAP précision moyenne) plus élevé, mais augmente considérablement le temps GPU requis GPU .
YOLOv10: pionnier de la détection d'objets de bout en bout
Sorti un an et demi plus tard, YOLOv10 un changement de paradigme en éliminant complètement le besoin de suppression non maximale (NMS) pendant l'inférence.
- Auteurs : Ao Wang, Hui Chen, Lihao Liu, et al.
- Organisation :Tsinghua University
- Date : 23 mai 2024
- Arxiv :2405.14458
- Documents :Ultralytics YOLOv10
Points forts architecturaux
La caractéristique distinctive de YOLOv10 ses doubles attributions cohérentes pour un entraînement NMS. Les détecteurs traditionnels prédisent plusieurs cadres de sélection qui se chevauchent pour un seul objet, ce qui nécessite NMS filtrer les doublons. Cette étape de post-traitement crée un goulot d'étranglement, en particulier sur les appareils périphériques. YOLOv10 ce problème en permettant au modèle de prédire naturellement un seul cadre de sélection précis par objet.
Les auteurs se sont également concentrés sur la conception d'un modèle holistique axé sur l'efficacité et la précision. En analysant minutieusement la redondance computationnelle des architectures existantes, ils ont optimisé la structure principale et la tête afin de réduire le nombre de FLOP et de paramètres. Cette conception légère YOLOv10 latence d'inférence exceptionnelle lorsqu'il est exporté vers des formats tels que TensorRT ou OpenVINO.
Performances et analyses comparatives
Le tableau ci-dessous illustre les mesures de performance brutes sur l'COCO . Les meilleures valeurs globales dans chaque colonne sont mises en évidence en gras.
| Modèle | Taille (pixels) | mAPval 50-95 | Vitesse CPU ONNX (ms) | Vitesse T4 TensorRT10 (ms) | paramètres (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| DAMO-YOLOt | 640 | 42.0 | - | 2.32 | 8.5 | 18.1 |
| DAMO-YOLOs | 640 | 46.0 | - | 3.45 | 16.3 | 37.8 |
| DAMO-YOLOm | 640 | 49.2 | - | 5.09 | 28.2 | 61.8 |
| DAMO-YOLOl | 640 | 50.8 | - | 7.18 | 42.1 | 97.3 |
| YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.4 |
SiYOLO par sa précision, YOLOv10 offre quant à lui une latence YOLOv10 plus faible et des poids de modèle nettement plus réduits. Par exemple, YOLOv10s atteint un mAP légèrement supérieur mAP 46,7 %) à celui de DAMO-YOLOs (46,0 %) tout en utilisant moins de la moitié des paramètres (7,2 millions contre 16,3 millions). Grâce à ses faibles exigences en matière de mémoire, YOLOv10 est YOLOv10 choix exceptionnellement polyvalent pour les systèmes embarqués.
Efficacité et facilité d'utilisation de la formation
Lors du passage de la recherche universitaire à la production, la facilité d'utilisation est primordiale. Le processus de distillation en plusieurs étapes et les configurations NAS complexesYOLO peuvent représenter une courbe d'apprentissage abrupte pour les équipes d'ingénieurs.
À l'inverse, YOLOv10 immense YOLOv10 de son intégration complète dans le Python Ultralytics . La formation d'un modèle personnalisé nécessite un minimum de code standard. Ultralytics automatiquement l'augmentation des données, le réglage des hyperparamètres et le suivi des expériences.
from ultralytics import YOLO
# Load a pretrained YOLOv10 nano model
model = YOLO("yolov10n.pt")
# Train on a custom dataset with built-in validation
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image seamlessly
prediction = model("path/to/image.jpg")
prediction[0].show()
Prototypage rapide
L'utilisation de Ultralytics permet aux développeurs de passer d'un prototype à un ONNX entièrement exporté en quelques lignes de code seulement, sans avoir à passer par les configurations d'environnement complexes requises par les anciens frameworks.
Cas d'utilisation concrets
- Commerce intelligent (YOLO) : la précisionYOLO est parfaitement adaptée aux environnements de serveurs à haute densité qui analysent le comportement des clients, où les GPU sont nombreux et où NMS en temps réel sont gérables.
- Véhicules autonomes (YOLOv10) : l'architecture NMS garantit une latence déterministe et prévisible, ce qui est essentiel pour les systèmes de sécurité dans la conduite autonome.
- Automatisation industrielle (YOLOv10) : la détection des défauts sur des chaînes de montage à cadence rapide nécessite des modèles qui optimisent les vitesses d'inférence en temps réel sans consommer une grande quantité de VRAM, ce qui fait de YOLOv10 candidat idéal pour le déploiement en périphérie.
Cas d'utilisation et recommandations
Le choix entreYOLO YOLOv10 des exigences spécifiques de votre projet, des contraintes de déploiement et des préférences de votre écosystème.
Quand choisir DAMO-YOLO
YOLO un choix judicieux pour :
- Analyse vidéo à haut débit : traitement de flux vidéo à fréquence d'images élevée surGPU NVIDIA fixe où le débit du lot 1 est la principale métrique.
- Lignes de fabrication industrielle : scénarios avec des contraintes strictes GPU sur du matériel dédié, tels que le contrôle qualité en temps réel sur les chaînes de montage.
- Recherche sur la recherche d'architecture neuronale : étude des effets de la recherche automatisée d'architecture (MAE-NAS) et des structures de base reparamétrées efficaces sur les performances de détection.
Quand choisir YOLOv10
YOLOv10 recommandé pour :
- Détection en temps réelNMS: applications bénéficiant d'une détection de bout en bout sans suppression non maximale, réduisant ainsi la complexité du déploiement.
- Compromis équilibré entre vitesse et précision : projets nécessitant un équilibre solide entre la vitesse d'inférence et la précision de détection à différentes échelles de modèle.
- Applications à latence constante : scénarios de déploiement où des temps d'inférence prévisibles sont essentiels, tels que la robotique ou les systèmes autonomes.
Quand choisir Ultralytics YOLO26)
Pour la plupart des nouveaux projets, Ultralytics offre la meilleure combinaison entre performances et expérience développeur :
- DéploiementNMS suppressionNMS maximale (NMS: applications nécessitant une inférence cohérente et à faible latence sans la complexité du post-traitement par suppression non maximale.
- EnvironnementsCPU: appareils sans GPU dédiée, où CPU jusqu'à 43 % plus rapide de YOLO26 offre un avantage décisif.
- Détection de petits objets : scénarios complexes tels que l'imagerie aérienne par drone ou l'analyse par capteurs IoT, où ProgLoss et STAL améliorent considérablement la précision sur les objets minuscules.
La nouvelle génération : découvrez Ultralytics
Si YOLOv10 les bases de la détection NMS, la technologie a rapidement évolué. Pour les applications modernes, le modèle Ultralytics offre des performances et une facilité d'utilisation inégalées, en tirant le meilleur parti des générations précédentes et en les perfectionnant pour la production.
YOLO26 présente une conception strictement native de bout en bout, éliminant NMS pour simplifier les pipelines de déploiement sur les périphériques périphériques. De plus, la suppression de la perte focale de distribution (DFL) a considérablement amélioré la compatibilité avec le matériel IA périphérique à faible consommation d'énergie.
En matière d'entraînement, YOLO26 introduit l'optimiseur MuSGD, un hybride inspiré des techniques d'entraînement des grands modèles linguistiques (LLM). Cela garantit un entraînement plus stable et une convergence plus rapide. Associé aux fonctions de perte ProgLoss + STAL, YOLO26 présente des améliorations remarquables dans la reconnaissance des petits objets, une fonctionnalité essentielle pour la conservation de la faune sauvage et les opérations de drones.
Il est important de noter que YOLO26 n'est pas seulement un détecteur d'objets. Il offre des améliorations spécifiques à chaque tâche, prenant en charge de manière native la segmentation d'instances, l'estimation de pose à l'aide de l'estimation de la vraisemblance résiduelle (RLE) et les pertes d'angle spécialisées pour les boîtes englobantes orientées (OBB). Avec CPU jusqu'à 43 % plus rapide que ses prédécesseurs, c'est le choix idéal pour les équipes d'ingénieurs agiles.
Pour la gestion centralisée, l'annotation et la formation dans le cloud des modèles YOLO26, la Ultralytics fournit une interface intuitive qui rationalise l'ensemble du cycle de vie de la vision par ordinateur.
Les développeurs intéressés par d'autres avancées récentes peuvent également évaluer Ultralytics YOLO11 ou le transformateur RT-DETR pour les scénarios nécessitant des solutions architecturales distinctes.