YOLO Vision 2026 :

DAMO-YOLO vs YOLOv10#

Le domaine de la vision par ordinateur a connu une évolution rapide des architectures de détection d'objets en temps réel. En comparant DAMO-YOLO et YOLOv10, nous observons deux philosophies distinctes en matière de conception de modèles : la recherche d'architecture automatisée par rapport à l'optimisation de bout en bout sans NMS. Bien que toutes 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.

DAMO-YOLO : Recherche d'architecture neuronale à grande échelle#

Développé par le Groupe Alibaba, DAMO-YOLO s'est imposé comme un détecteur puissant 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#

DAMO-YOLO s'appuie fortement sur la recherche d'architecture neuronale (NAS) pour équilibrer les performances et la latence. Son backbone, appelé MAE-NAS, utilise une recherche évolutionnaire multi-objectifs sous des budgets de calcul stricts pour trouver la profondeur et la largeur de couche optimales.

Pour gérer la fusion de caractéristiques à travers les échelles, le modèle utilise un RepGFPN (Reparameterized Generalized Feature Pyramid Network) efficace. Cette conception à col lourd 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'imagerie aérienne. De plus, DAMO-YOLO introduit le ZeroHead, une tête de détection rationalisée qui réduit considérablement la complexité des couches de prédiction finales, en s'appuyant sur un processus d'amélioration de la distillation robuste pendant l'entraînement.

Entraînement par distillation

DAMO-YOLO utilise souvent 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 extrait un mAP (mean Average Precision) plus élevé mais augmente considérablement le temps de calcul GPU requis.

En savoir plus sur DAMO-YOLO

YOLOv10 : Pionnier de la détection d'objets de bout en bout#

Sorti un an et demi plus tard, YOLOv10 a introduit un changement de paradigme en éliminant complètement le besoin de suppression non maximale (NMS) lors de l'inférence.

Points forts architecturaux#

La caractéristique remarquable de YOLOv10 réside dans ses affectations doubles cohérentes pour un entraînement sans NMS. Les détecteurs traditionnels prédisent plusieurs boîtes englobantes qui se chevauchent pour un seul objet, nécessitant une NMS pour filtrer les doublons. Cette étape de post-traitement crée un goulot d'étranglement, en particulier sur les appareils de périphérie (edge devices). YOLOv10 résout ce problème en permettant au modèle de prédire naturellement une seule boîte englobante précise par objet.

Les auteurs se sont également concentrés sur une conception de modèle globale axée sur l'efficacité et la précision. En analysant soigneusement la redondance de calcul dans les architectures existantes, ils ont optimisé le backbone et la tête pour réduire le nombre de FLOPs et de paramètres. Cette conception légère garantit que YOLOv10 offre une latence d'inférence exceptionnelle lorsqu'il est exporté vers des formats tels que TensorRT ou OpenVINO.

En savoir plus sur YOLOv10

Performances et benchmarks#

Le tableau ci-dessous illustre les métriques de performance brutes sur le jeu de données COCO. Les meilleures valeurs globales de chaque colonne sont en gras.

Modèletaille
(pixels)
mAPval
50-95
Vitesse
CPU ONNX
(ms)
Vitesse
T4 TensorRT10
(ms)
params
(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

Alors que DAMO-YOLO tire son épingle du jeu en termes de précision, YOLOv10 offre systématiquement une latence plus faible et des poids de modèle considérablement plus petits. Par exemple, YOLOv10s atteint un mAP légèrement supérieur (46,7 %) à celui de DAMO-YOLOs (46,0 %) tout en utilisant moins de la moitié des paramètres (7,2M contre 16,3M). Les exigences de mémoire plus faibles font de YOLOv10 un choix exceptionnellement polyvalent pour les systèmes embarqués.

Efficacité de l'entraînement et utilisabilité#

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 complexes de DAMO-YOLO peuvent poser des courbes d'apprentissage abruptes pour les équipes d'ingénierie.

Inversement, YOLOv10 bénéficie grandement d'une intégration complète dans le SDK Python d'Ultralytics. L'entraînement d'un modèle personnalisé implique un code passe-partout minimal. Ultralytics gère automatiquement l'augmentation des données, l'ajustement 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 l'écosystème Ultralytics permet aux développeurs de passer d'un prototype à un modèle ONNX exporté en quelques lignes de code seulement, contournant ainsi les configurations d'environnement complexes requises par les anciens frameworks.

Cas d'utilisation réels#

  • Commerce de détail intelligent (DAMO-YOLO) : La précision de DAMO-YOLO est bien adaptée aux environnements de serveurs à haute densité analysant le comportement des clients où les GPU abondent et où les goulots d'étranglement NMS en temps réel sont gérables.
  • Véhicules autonomes (YOLOv10) : L'architecture sans 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 de défauts sur des lignes d'assemblage en mouvement rapide nécessite des modèles qui maximisent les vitesses d'inférence en temps réel sans consommer de vastes quantités de VRAM, faisant de YOLOv10 un candidat de choix pour le déploiement en périphérie.

Cas d'utilisation et recommandations#

Le choix entre DAMO-YOLO et YOLOv10 dépend de tes exigences de projet spécifiques, de tes contraintes de déploiement et de tes préférences en matière d'écosystème.

Quand choisir DAMO-YOLO#

DAMO-YOLO est un choix solide pour :

  • Analytique vidéo à haut débit : Traitement de flux vidéo FPS élevés sur une infrastructure GPU NVIDIA fixe où le débit par lot est la mesure principale.
  • Lignes de fabrication industrielle : Scénarios avec des contraintes strictes de latence GPU sur du matériel dédié, comme l'inspection qualité en temps réel sur les lignes d'assemblage.
  • Recherche sur la recherche d'architecture neuronale : Étude des effets de la recherche d'architecture automatisée (MAE-NAS) et des backbones reparamétrés efficaces sur les performances de détection.

Quand choisir YOLOv10#

YOLOv10 est recommandé pour :

  • Détection temps réel sans NMS : Applications bénéficiant d'une détection de bout en bout sans NMS (Non-Maximum Suppression), ce qui réduit la complexité du déploiement.
  • Compromis vitesse-précision équilibré : Projets nécessitant un bon équilibre entre la vitesse d'inférence et la précision de détection pour différentes tailles de modèles.
  • Applications à latence constante : Les 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 YOLO26 offre la meilleure combinaison de performance et d'expérience développeur :

  • Déploiement en périphérie sans NMS : Applications nécessitant une inférence cohérente et à faible latence sans la complexité du post-traitement par Non-Maximum Suppression.
  • Environnements CPU uniquement : Appareils sans accélération GPU dédiée, où l'inférence CPU jusqu'à 43 % plus rapide de YOLO26 offre un avantage décisif.
  • Détection de petits objets : Les scénarios complexes tels que l'imagerie par drone aérien ou l'analyse par capteurs IoT où ProgLoss et STAL améliorent considérablement la précision sur les minuscules objets.

La nouvelle génération : Découvre Ultralytics YOLO26#

Bien que YOLOv10 ait jeté les bases de la détection sans NMS, la technologie a évolué rapidement. Pour les applications modernes, le modèle Ultralytics YOLO26 offre des performances et une facilité d'utilisation inégalées, en prenant le meilleur des générations précédentes et en les affinant pour la production.

YOLO26 présente une conception strictement native de bout en bout, éliminant le post-traitement NMS pour des pipelines de déploiement plus simples sur les appareils de périphérie. De plus, la suppression de la perte focale de distribution (DFL) a considérablement amélioré la compatibilité avec le matériel edge AI à faible consommation.

Côté entraînement, YOLO26 introduit l'optimiseur MuSGD, un hybride inspiré des techniques d'entraînement des grands modèles de langage (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 et les opérations de drones.

Plus important encore, YOLO26 n'est pas seulement un détecteur d'objets. Il offre des améliorations spécifiques aux tâches sur toute la ligne, prenant en charge de manière native la segmentation d'instances, l'estimation de pose à l'aide de l'estimation de log-vraisemblance résiduelle (RLE), et des pertes d'angle spécialisées pour les boîtes englobantes orientées (OBB). Avec une inférence CPU jusqu'à 43 % plus rapide que ses prédécesseurs, c'est le choix incontournable pour les équipes d'ingénierie agiles.

Pour la gestion centralisée, l'annotation et l'entraînement dans le cloud des modèles YOLO26, la plateforme 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 l'exploration d'autres avancées récentes peuvent également évaluer Ultralytics YOLO11 ou le framework RT-DETR basé sur les transformateurs pour les scénarios nécessitant des solutions architecturales distinctes.

Commentaires