Passer au contenu

YOLOv6-3.0 vs YOLOv10 : Une comparaison technique détaillée

Le choix du modèle de vision par ordinateur optimal est essentiel au succès des initiatives d'IA, en équilibrant des facteurs tels que la latence d'inférence, la précision et l'efficacité computationnelle. Cette comparaison technique complète examine deux architectures de détection d'objets importantes : YOLOv6-3.0, conçue pour la vitesse industrielle, et YOLOv10, connue pour son efficacité de bout en bout en temps réel. Nous analysons leurs innovations architecturales, leurs mesures de référence et leurs cas d'utilisation idéaux pour guider votre processus de sélection.

YOLOv6-3.0 : Vitesse et précision de qualité industrielle

YOLOv6-3.0, développé par le département de l'intelligence de la vision chez Meituan, est un framework de détection d'objets à une étape spécialement optimisé pour les applications industrielles. Lancé début 2023, il privilégie les conceptions compatibles avec le matériel afin de maximiser le débit sur les GPU et les périphériques edge, répondant ainsi aux exigences rigoureuses de l'inférence en temps réel dans la fabrication et la logistique.

Architecture et principales fonctionnalités

YOLOv6-3.0 introduit un "Full-Scale Reloading" de son architecture, intégrant plusieurs techniques avancées pour améliorer l'extraction de caractéristiques et la vitesse de convergence :

  • Backbone de reparamétrisation efficace : Il emploie un backbone tenant compte du matériel qui permet de simplifier les structures d’entraînement complexes en couches d’inférence plus rapides, optimisant les FLOPS sans sacrifier la précision.
  • Concaténation bidirectionnelle (BiC) : La conception du neck utilise BiC pour améliorer les signaux de localisation, assurant une meilleure fusion des caractéristiques à différentes échelles.
  • Formation assistée par l’ancrage (AAT) : Bien que principalement sans ancrage, YOLOv6-3.0 réintroduit des branches auxiliaires basées sur l’ancrage pendant la formation pour stabiliser la convergence et améliorer les performances.

Points forts et faiblesses

Points forts : YOLOv6-3.0 excelle dans les scénarios nécessitant un débit élevé. Son support de la quantification de modèle permet un déploiement efficace sur les plateformes mobiles et les systèmes embarqués. Les variantes "Lite" sont particulièrement utiles pour les environnements contraints par le CPU.

Points faibles : En tant que modèle axé strictement sur la détection d’objets, il ne prend pas en charge nativement les tâches plus larges telles que la segmentation d’instance ou l’estimation de pose que l’on trouve dans les frameworks unifiés comme YOLO11. De plus, par rapport aux modèles plus récents, son efficacité de paramétrage est plus faible, ce qui nécessite plus de mémoire pour des niveaux de précision similaires.

Cas d'utilisation idéal : Automatisation industrielle

YOLOv6-3.0 est un candidat idéal pour l'automatisation de la fabrication, où les caméras sur les chaînes de montage doivent traiter rapidement des flux haute résolution pour detecter les défauts ou trier les articles.

En savoir plus sur YOLOv6

YOLOv10 : La frontière de l'efficacité de bout en bout

Présenté par des chercheurs de l'université de Tsinghua en mai 2024, YOLOv10 repousse les limites de la famille YOLO en éliminant le besoin de Suppression Non Maximale (NMS) pendant le post-traitement. Cette innovation le positionne comme un modèle de nouvelle génération pour les applications où la latence est critique.

Architecture et principales fonctionnalités

YOLOv10 adopte une stratégie de conception holistique axée sur l'efficacité et la précision :

  • Entraînement sans NMS : En utilisant des affectations doubles cohérentes (un-à-plusieurs pour l'entraînement, un-à-un pour l'inférence), YOLOv10 prédit une seule meilleure boîte pour chaque objet. Cela supprime la surcharge de calcul et la variabilité de la latence associées au post-traitement NMS.
  • Conception holistique du modèle : L’architecture comprend des têtes de classification légères et un sous-échantillonnage spatial-canal découplé, ce qui réduit considérablement les paramètres du modèle et le coût de calcul.
  • Conception de blocs guidés par les rangs : Pour améliorer l'efficacité, le modèle utilise la conception de blocs guidés par les rangs pour réduire la redondance dans les étapes où le traitement des caractéristiques est moins critique.

Points forts et faiblesses

Points forts : YOLOv10 offre un compromis vitesse-précision supérieur, atteignant souvent un mAP plus élevé avec significativement moins de paramètres que ses prédécesseurs. Son intégration dans l'écosystème python Ultralytics le rend incroyablement facile à entraîner et à déployer aux côtés d'autres modèles.

Points faibles : Étant une entrée relativement nouvelle, les ressources communautaires et les outils tiers sont toujours en croissance. Comme YOLOv6, il est spécialisé pour la détection, alors que les utilisateurs ayant besoin de capacités multitâches pourraient préférer YOLO11.

Avertissement : Percée en matière d'efficacité

La suppression du NMS permet à YOLOv10 d'obtenir une latence d'inférence stable, un facteur crucial pour les systèmes critiques en matière de sécurité, comme les véhicules autonomes, où le temps de traitement doit être déterministe.

En savoir plus sur YOLOv10

Analyse des performances : métriques et benchmarks

Le tableau suivant compare les performances de YOLOv6-3.0 et YOLOv10 sur le jeu de données COCO. Les principales métriques incluent la taille du modèle, la précision moyenne (mAP) et la vitesse d'inférence sur CPU et GPU.

ModèleTaille
(pixels)
mAPval
50-95
Vitesse
CPU ONNX
(ms)
Vitesse
T4 TensorRT10
(ms)
paramètres
(M)
FLOPs
(B)
YOLOv6-3.0n64037.5-1.174.711.4
YOLOv6-3.0s64045.0-2.6618.545.3
YOLOv6-3.0m64050.0-5.2834.985.8
YOLOv6-3.0l64052.8-8.9559.6150.7
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

Principales observations

  1. Efficacité des paramètres : YOLOv10 démontre une efficacité remarquable. Par exemple, YOLOv10s atteint un mAP plus élevé (46,7 %) que YOLOv6-3.0s (45,0 %) tout en utilisant moins de la moitié des paramètres (7,2 M contre 18,5 M). Cette empreinte mémoire réduite est essentielle pour les appareils Edge AI.
  2. Latence : Bien que YOLOv6-3.0n affiche une latence TensorRT brute légèrement plus rapide (1,17 ms contre 1,56 ms), YOLOv10 élimine l'étape NMS, qui consomme souvent du temps supplémentaire dans les pipelines réels non capturés dans les temps d'inférence bruts du modèle.
  3. Précision : À presque toutes les échelles, YOLOv10 offre une plus grande précision, ce qui en fait un choix plus robuste pour détecter les objets difficiles dans des environnements complexes.

Utilisation et implémentation

Ultralytics offre une expérience simplifiée pour l'utilisation de ces modèles. YOLOv10 est pris en charge nativement dans le ultralytics package, permettant une intégration transparente formation et la prédiction.

Exécution de YOLOv10 avec Ultralytics

Vous pouvez exécuter YOLOv10 en utilisant l'API Python avec seulement quelques lignes de code. Ceci met en évidence la facilité d'utilisation inhérente à l'écosystème Ultralytics.

from ultralytics import YOLO

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

# Run inference on an image
results = model.predict("path/to/image.jpg", save=True)

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

Utilisation de YOLOv6-3.0

YOLOv6-3.0 nécessite généralement de cloner le dépôt officiel de Meituan pour l'entraînement et l'inférence, car il suit une structure de code différente.

# Clone the YOLOv6 repository
git clone https://github.com/meituan/YOLOv6
cd YOLOv6
pip install -r requirements.txt

# Inference using the official script
python tools/infer.py --weights yolov6s.pt --source path/to/image.jpg

Conclusion : Choisir le bon modèle

Les deux modèles représentent des avancées significatives en vision par ordinateur. YOLOv6-3.0 reste un choix solide pour les systèmes industriels existants spécifiquement optimisés pour son architecture. Cependant, YOLOv10 offre généralement un meilleur retour sur investissement pour les nouveaux projets en raison de son architecture sans NMS, de son efficacité paramétrique supérieure et de sa plus grande précision.

Pour les développeurs à la recherche du summum en matière de polyvalence et de support de l'écosystème, Ultralytics YOLO11 est fortement recommandé. YOLO11 offre non seulement des performances de détection de pointe, mais prend également en charge nativement l'estimation de pose, l'OBB et la classification dans un seul ensemble bien maintenu. L'écosystème Ultralytics assure des processus d'entraînement efficaces, une faible utilisation de la mémoire et une exportation facile vers des formats tels que ONNX et TensorRT, vous permettant de déployer des solutions d'IA robustes en toute confiance.

Lectures complémentaires


Commentaires