Passer au contenu

YOLO YOLOv10: comprendre l'évolution de la détection d'objets en temps réel

Le domaine de la détection d'objets en temps réel a évolué rapidement, poussé par la recherche incessante d'une latence plus faible et d'une précision plus élevée. Deux étapes importantes dans cette évolution sont YOLO, développé par Alibaba Group, et YOLOv10, créé par des chercheurs de l'université Tsinghua. Alors queYOLO des techniques avancées de recherche d'architecture neuronale (NAS) dans ce domaine, YOLOv10 le pipeline de déploiement en éliminant la suppression non maximale (NMS). Cette comparaison complète explore leurs architectures techniques, leurs mesures de performance et explique pourquoi les derniers Ultralytics tels que YOLO26 représentent le summum de ces avancées pour les environnements de production.

Comparaison des indicateurs de performance

Le tableau suivant présente une comparaison directe des indicateurs de performance clés. Notez la différence en termes de vitesse d'inférence, en particulier lorsque les conceptions NMS contribuent à réduire la latence.

ModèleTaille
(pixels)
mAPval
50-95
Vitesse
CPU ONNX
(ms)
Vitesse
T4 TensorRT10
(ms)
paramètres
(M)
FLOPs
(B)
DAMO-YOLOt64042.0-2.328.518.1
DAMO-YOLOs64046.0-3.4516.337.8
DAMO-YOLOm64049.2-5.0928.261.8
DAMO-YOLOl64050.8-7.1842.197.3
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

YOLO: Architecture et méthodologie

YOLO a été proposé en novembre 2022 par des chercheurs du groupe Alibaba. Il visait à repousser les limites des performances en intégrant des technologies de pointe dans un cadre de détection cohérent.

  • Auteurs : Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang et Xiuyu Sun
  • Organisation : Alibaba Group
  • Date : 2022-11-23
  • Article :arXiv:2211.15444
  • GitHub :tinyvision/DAMO-YOLO

Principales caractéristiques architecturales

YOLO distingue par son utilisation de la recherche d'architecture neuronale (NAS). Contrairement aux modèles dont les structures de base sont conçues manuellement,YOLO la méthode MAE-NAS (Method-Awareness Efficient NAS) pour découvrir les structures de réseau optimales dans le cadre de contraintes spécifiques. Il en résulte une structure de base hautement efficace pour le matériel spécifique auquel elle est destinée.

De plus, il intègre un réseau RepGFPN (Reparameterized Generalized Feature Pyramid Network) efficace pour la fusion des caractéristiques et une tête légère appelée « ZeroHead ». Un élément essentiel de sa stratégie d'entraînement est AlignedOTA, un mécanisme d'attribution dynamique d'étiquettes qui améliore l'alignement entre les tâches de classification et de régression. Cependant, pour atteindre des performances optimales avecYOLO , il fautYOLO passer par un processus de distillation complexe, qui nécessite un modèle enseignant lourd pendant l'entraînement, ce qui peut augmenter considérablement la charge de calcul par rapport aux approches « bag-of-freebies » utilisées dans YOLOv8.

Complexité de l'entraînement

Bien que puissant, le pipeline de formation pourYOLO être gourmand en ressources. La phase de distillation nécessite souvent de former d'abord un modèle enseignant plus important, ce qui complique le flux de travail pour les développeurs qui ont besoin d'itérations rapides sur des ensembles de données personnalisés.

YOLOv10: une avancée révolutionnaire de bout en bout

Publié en mai 2024 par l'université Tsinghua, YOLOv10 a marqué un changement de paradigme en s'attaquant à l'un des goulots d'étranglement les plus anciens dans la détection d'objets : la suppression non maximale (NMS).

  • Auteurs : Ao Wang, Hui Chen, Lihao Liu, et al.
  • Organisation : Université de Tsinghua
  • Date : 2024-05-23
  • Article :arXiv:2405.14458
  • GitHub :THU-MIG/yolov10

Innovations architecturales

La caractéristique principale de YOLOv10 sa conception « End-to-End NMS ». Les détecteurs traditionnels génèrent des cadres de sélection redondants qui doivent être filtrés par NMS, une étape de post-traitement qui introduit une latence et complique le déploiement. YOLOv10 des attributions doubles cohérentes pendant l'entraînement, en utilisant à la fois l'appariement un-à-plusieurs (pour une supervision riche) et l'appariement un-à-un (pour une inférence de bout en bout). Cela permet au modèle de prédire directement un seul meilleur cadre par objet, éliminant ainsi le besoin d NMS .

De plus, YOLOv10 une conception de modèle holistique axée sur l'efficacité et la précision. Cela inclut des têtes de classification légères, un sous-échantillonnage découplé des canaux spatiaux et une conception de blocs guidée par le classement, ce qui donne un modèle à la fois plus petit et plus rapide que ses prédécesseurs tels que YOLOv9 , tout en conservant une précision compétitive.

En savoir plus sur YOLOv10

L'avantage Ultralytics : Pourquoi choisir YOLO26 ?

SiYOLO YOLOv10 une contribution académique significative, Ultralytics fait le lien entre la recherche de pointe et les logiciels de production pratiques et fiables. La nouvelle version YOLO26 s'appuie sur la percée NMS de YOLOv10 l'intègre dans un cadre robuste et adapté aux entreprises.

Performances et efficacité supérieures

YOLO26 est le choix recommandé pour les nouveaux projets, offrant des avantages distincts par rapport YOLOv10 YOLO YOLOv10 pure :

  • NMS de bout en bout : tout comme YOLOv10, YOLO26 est nativement de bout en bout. Il élimine NMS , ce qui simplifie les pipelines de déploiement et réduit considérablement la variabilité de la latence.
  • Stabilité de formation améliorée : YOLO26 utilise l'optimiseur MuSGD, un hybride de SGD Muon inspiré de la formation des modèles linguistiques à grande échelle (LLM). Cette innovation garantit une convergence plus rapide et une plus grande stabilité pendant la formation, réduisant ainsi la GPU requise par rapport aux architectures à forte utilisation de transformateurs.
  • Optimisation de la périphérie : en supprimant la perte focale de distribution (DFL), YOLO26 rationalise la couche de sortie, ce qui accélère jusqu'à 43 % CPU . Cela est essentiel pour les appareils périphériques qui ne disposent pas GPU .

YOLO26 Avancées technologiques

YOLO26 n'est pas seulement une mise à jour mineure, c'est une mise à niveau complète.

Facilité d'utilisation et écosystème

L'un des principaux défis liés aux référentiels de recherche tels queYOLO la complexité de leur configuration et de leur maintenance. Ultralytics ce problème grâce à une Python unifiée. Que vous utilisiez YOLO11, YOLOv10 ou YOLO26, le flux de travail reste cohérent et simple.

La Ultralytics (anciennement HUB) accélère encore davantage le développement en fournissant des outils pour la gestion des ensembles de données, l'annotation automatisée et l'exportation en un clic vers des formats tels que TensorRT, ONNX et CoreML.

En savoir plus sur YOLO26

Cas d'utilisation idéaux

Le choix du modèle approprié dépend de vos contraintes spécifiques :

  • ChoisissezYOLO : vous menez des recherches sur la recherche d'architecture neuronale (NAS) ou si vous avez besoin d'une structure dorsale spécialisée pour des contraintes matérielles uniques où les dorsales CSP/ELAN standard sont insuffisantes.
  • Choisissez YOLOv10 : vous avez besoin d'un détecteur spécifique NMS pour des tests de performance académiques ou si vous avez une exigence héritée pour l'architecture spécifique proposée dans l'article original de Tsinghua.
  • Choisissez Ultralytics si : Vous avez besoin d'une solution de pointe prête à l'emploi. Sa conceptionNMS, combinée à la stabilité de la formation MuSGD et à CPU optimisées, en fait la solution la plus polyvalente. Elle est particulièrement performante pour les applications en temps réel dans les domaines de la fabrication, de l'analyse commerciale et des systèmes autonomes, où la facilité de déploiement et le support à long terme sont essentiels.

Exemple de code : exécution de YOLOv10 YOLO26

Ultralytics considérablement le passage d'une architecture à l'autre. YOLOv10 en charge dans le Ultralytics , vous pouvez tester les deux modèles avec un minimum de modifications du code.

Exécution de YOLOv10

from ultralytics import YOLO

# Load a pre-trained YOLOv10 model
model = YOLO("yolov10n.pt")

# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")

# Show results
results[0].show()

Formation YOLO26

Pour tirer parti des dernières avancées de YOLO26, telles que l'optimiseur MuSGD et ProgLoss, l'entraînement sur un ensemble de données personnalisé est simple :

from ultralytics import YOLO

# Load the latest YOLO26 model
model = YOLO("yolo26n.pt")

# Train on a custom dataset using the new optimizer settings (auto-configured)
model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Export to ONNX for simplified edge deployment
model.export(format="onnx")

Conclusion

YOLO YOLOv10 tous deux fait progresser le domaine :YOLO un NAS efficace et YOLOv10 la suppression visionnaire du NMS. Cependant, pour les développeurs qui cherchent à créer des applications robustes et pérennes en 2026, Ultralytics offre un avantage décisif. En combinant l'architecture NMS de YOLOv10 une dynamique d'entraînement supérieure, CPU plus rapide et le soutien inégalé de Ultralytics , YOLO26 s'impose comme le choix numéro un des professionnels de la vision par ordinateur.

Pour ceux qui souhaitent explorer les générations stables précédentes, YOLO11 reste une alternative entièrement prise en charge et très performante.


Commentaires