YOLOv10 YOLO: comparaison technique des détecteurs d'objets en temps réel
Lors de la création de pipelines de vision par ordinateur modernes, il est essentiel de choisir la bonne architecture de détection d'objets en temps réel. Dans cette analyse technique complète, nous explorons les architectures, les mesures de performance et les cas d'utilisation idéaux pour YOLOv10 et YOLO. Ces deux modèles représentent des avancées significatives en matière de capacités de détection d'objets, mais ils empruntent des voies architecturales différentes pour atteindre leurs objectifs.
Que votre projet nécessite un déploiement sur du matériel IA périphérique limité ou exige une précision maximale sur des GPU cloud, comprendre les nuances de ces architectures vous aidera à prendre une décision éclairée.
Explorer YOLOv10
Présenté par des chercheurs de l'université Tsinghua, YOLOv10 a révolutionné la YOLO en introduisant une approche native de bout en bout, éliminant ainsi efficacement le besoin de suppression non maximale (NMS) pendant le post-traitement.
YOLOv10 :
- Auteurs : Ao Wang, Hui Chen, Lihao Liu, et al.
- Organisation : Université Tsinghua
- Date : 2024-05-23
- Arxiv : https://arxiv.org/abs/2405.14458
- GitHub : https://github.com/THU-MIG/yolov10
- Documents : ultralytics
Principales caractéristiques architecturales
La principale innovation YOLOv10 réside dans sa stratégie de double affectation cohérente pour un entraînement NMS. Les détecteurs d'objets traditionnels s'appuient fortement sur NMS filtrer les cadres de sélection qui se chevauchent, ce qui introduit une latence imprévisible, un goulot d'étranglement important pour les applications en temps réel telles que les véhicules autonomes et la robotique à grande vitesse. En prédisant directement un seul cadre de sélection optimal par objet, YOLOv10 une inférence prévisible et à très faible latence.
De plus, le modèle utilise une conception holistique axée sur l'efficacité et la précision. L'architecture optimise divers composants, notamment une tête de classification légère et un sous-échantillonnage découplé spatialement et par canal, ce qui réduit considérablement la redondance computationnelle. Il en résulte une architecture qui se caractérise par un nombre de paramètres et un nombre de FLOP moins élevés, tout en conservant une précision moyenne (mAP) compétitive.
Exportation simplifiée pour la production
Comme YOLOv10 NMS du graphe d'inférence, l'exportation du modèle vers des formats tels que ONNX ou TensorRT est grandement simplifiée, ce qui le rend particulièrement adapté aux déploiements en périphérie.
Exemple d'utilisation
YOLOv10 profondément intégré à Ultralytics , ce qui le rend incroyablement facile à utiliser via le Python Ultralytics .
from ultralytics import YOLO
# Load a pre-trained YOLOv10 nano model
model = YOLO("yolov10n.pt")
# Train the model on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on a test image
results = model("https://ultralytics.com/images/bus.jpg")
# Export the model to TensorRT format
model.export(format="engine", half=True)
ExplorerYOLO
Développé par le groupe Alibaba,YOLO sur la découverte de structures réseau hautement efficaces grâce à la recherche automatisée d'architecture neuronale (NAS), dans le but de repousser les limites de Pareto en matière de vitesse et de précision.
Détails de DAMO-YOLO :
- Auteurs : Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang et Xiuyu Sun
- Organisation : Groupe Alibaba
- Date : 23 novembre 2022
- Arxiv : https://arxiv.org/abs/2211.15444v2
- GitHub : YOLO
Principales caractéristiques architecturales
YOLO plusieurs technologies innovantes adaptées aux applications industrielles. Le modèle repose sur son MAE-NAS Backbone, généré via une recherche évolutive multi-objectifs. Ce processus automatisé découvre des structures de base qui respectent strictement les budgets informatiques prédéfinis, établissant un équilibre parfait entre précision et latence d'inférence.
De plus, l'architecture utilise un cou RepGFPN efficace. Ce réseau pyramidal de caractéristiques est conçu pour améliorer la fusion des caractéristiques à différentes échelles, ce qui est essentiel pour des tâches complexes telles que l'analyse d'images aériennes où les objets varient considérablement en taille. Pour compléter cela,YOLO un ZeroHead, une tête de détection minimaliste qui réduit considérablement la complexité des couches de prédiction finales, ce qui permet de gagner un temps de calcul précieux lors de l'inférence.
Comparaison des performances
Lors de l'évaluation des architectures de détection d'objets, il est primordial de trouver le bon compromis entre la vitesse d'inférence, l'efficacité des paramètres et la précision de la détection. Le tableau ci-dessous compare les performances de YOLOv10 YOLO leurs tailles de modèle respectives.
| Modèle | Taille (pixels) | mAPval 50-95 | Vitesse CPU ONNX (ms) | Vitesse T4 TensorRT10 (ms) | paramètres (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
Comme le montrent les benchmarks, YOLOv10 offre YOLOv10 des profils de latence exceptionnels sur TensorRT, en particulier dans sa variante nano, qui nécessite beaucoup moins de paramètres et de FLOP que les modèles comparablesYOLO. SiYOLO mAP élevé mAP sa variante compacte, l'efficacité des paramètres et la latence d'inférence de la YOLOv10 constituent un avantage indéniable pour les environnements de déploiement contraints.
Cas d'utilisation et recommandations
Le choix entre YOLOv10 YOLO des exigences spécifiques de votre projet, des contraintes de déploiement et des préférences de votre écosystème.
Quand choisir YOLOv10
YOLOv10 un choix judicieux 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 DAMO-YOLO
YOLO recommandé 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 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.
L'avantage Ultralytics
Bien que les deux modèles soient impressionnants sur le plan technique, le choix d'une architecture pour la production implique de regarder au-delà des simples mesures brutes. Construire avec des modèles pris en charge nativement par Ultralytics offre des avantages inégalés aux développeurs et aux chercheurs.
Facilité d'utilisation et écosystème bien entretenu
Contrairement aux référentiels universitaires autonomes qui sont souvent abandonnés, Ultralytics un écosystème robuste et activement maintenu. La mise en place d'environnements complexes pour des modèles qui dépendent fortement des pipelines NAS peut être décourageante. En revanche, Ultralytics une Python standardisée et intuitive ainsi CLI puissante, soutenues par une documentation complète. Cela réduit considérablement le délai de mise sur le marché des solutions de vision personnalisées.
Efficacité de la formation et exigences en matière de mémoire
La formation de modèles volumineux peut rapidement devenir coûteuse en termes de calcul. LesYOLO Ultralytics YOLO sont historiquement connues pour leur faible empreinte CUDA pendant la formation et l'inférence. Cette efficacité permet aux développeurs de former des modèles sur du matériel grand public ou des instances cloud économiques sans rencontrer d'erreurs de mémoire insuffisante, courantes lors de l'utilisation de modèles basés sur des transformateurs tels que RT-DETR.
Suivi des expériences
Ultralytics s'intègre Ultralytics aux meilleurs outils MLOps. Vous pouvez facilement track la progression de l'entraînement track modèle grâce à des intégrations avec Weights & Biases, Cometou ClearML sans aucun code standard supplémentaire.
Polyvalence dans toutes les tâches
Une limitation importante de nombreux modèles de détection spécialisés réside dans leur champ d'application restreint. Au sein de Ultralytics , vous n'êtes pas limité à la seule détection d'objets. Les outils s'étendent de manière transparente à de multiples tâches de vision par ordinateur, notamment la segmentation d'instances, la classification d'images, l'estimation de poses et la détection de cadres de sélection orientés (OBB).
Perspectives d'avenir : l'évolution du YOLO26
Alors que YOLOv10 l'inférence NMS et queYOLO la puissance du NAS, le domaine de la vision par ordinateur évolue rapidement. Pour les développeurs à la recherche de la solution de pointe ultime, nous recommandons de découvrir Ultralytics .
Sorti comme le successeur définitif de YOLO11, YOLO26 s'appuie sur les bases NMS établies par YOLOv10 va beaucoup plus loin.
Les principales avancées de YOLO26 comprennent :
- CPU jusqu'à 43 % plus rapide : spécialement optimisée pour l'informatique en périphérie et les appareils à faible consommation d'énergie.
- Suppression de DFL : Distribution Focal Loss a été supprimé, ce qui simplifie les exportations et améliore la compatibilité avec diverses cibles de déploiement.
- MuSGD Optimizer : un hybride de SGD Muon, apportant une stabilité avancée à l'entraînement LLM et une convergence plus rapide directement dans la vision par ordinateur.
- ProgLoss + STAL : fonctions de perte considérablement améliorées qui offrent des améliorations notables dans la reconnaissance des petits objets, ce qui est essentiel pour des cas d'utilisation tels que l'agriculture et la télédétection.
Grâce à la nouvelle Ultralytics récemment remaniée, les développeurs peuvent facilement annoter, entraîner et déployer des modèles de nouvelle génération tels que YOLO26 en quelques clics seulement, garantissant ainsi que votre pipeline de vision par ordinateur est à la fois à la pointe de la technologie et évolutif.