Passer au contenu

YOLOv6.0 vs YOLOv10: Comparaison technique détaillée

La sélection du modèle optimal de vision par ordinateur est essentielle pour le succès des initiatives d'intelligence artificielle, car elle met en balance des facteurs tels que la latence de l'inférence, la précision et l'efficacité de calcul. Cette comparaison technique complète examine deux architectures de détection d'objets de premier plan : YOLOv6.0, conçu pour la vitesse industrielle, et YOLOv10connu pour son efficacité en temps réel de bout en bout. Nous analysons leurs innovations architecturales, les mesures de référence et les cas d'utilisation idéaux pour guider votre processus de sélection.

YOLOv6.0 : Vitesse et précision de niveau industriel

YOLOv6.0, développé par le département d'intelligence visuelle de Meituan, est un cadre de détection d'objets en une seule étape spécifiquement optimisé pour les applications industrielles. Sorti au début de l'année 2023, il privilégie les conceptions respectueuses du matériel afin de maximiser le débit sur les GPU et les périphériques, répondant ainsi aux exigences rigoureuses de l'inférence en temps réel dans les secteurs de la fabrication et de la logistique.

Architecture et principales fonctionnalités

YOLOv6.0 introduit une "relecture complète" de son architecture, incorporant plusieurs techniques avancées pour améliorer l'extraction des caractéristiques et la vitesse de convergence :

  • Une épine dorsale de reparamétrage efficace : Il utilise une épine dorsale adaptée au matériel qui permet de simplifier les structures d'apprentissage complexes en couches d'inférence plus rapides, optimisant ainsi les FLOPS sans sacrifier la précision.
  • Concaténation bidirectionnelle (BiC) : La conception du cou utilise la concénation bidirectionnelle pour améliorer les signaux de localisation et garantir une meilleure fusion des caractéristiques à différentes échelles.
  • Formation assistée par ancrage (AAT) : Bien qu'essentiellement dépourvu d'ancres, YOLOv6.0 réintroduit des branches auxiliaires basées sur les ancres pendant la formation afin de stabiliser la convergence et d'améliorer les performances.

Points forts et faiblesses

Points forts : YOLOv6.0 excelle dans les scénarios nécessitant un débit élevé. Sa prise en charge de la quantification des modèles permet un déploiement efficace sur les plates-formes mobiles et les systèmes embarqués. Les variantes "Lite" sont particulièrement utiles dans les environnements où CPU.

Points faibles : En tant que modèle strictement axé sur la détection d'objets, il ne dispose pas d'un support natif pour des tâches plus larges telles que la segmentation d'instances ou l'estimation de la pose que l'on trouve dans des cadres unifiés tels que YOLO11. En outre, par rapport aux modèles plus récents, l'efficacité de ses paramètres 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.0 est un candidat de choix pour l'automatisation de la fabrication, où les caméras des chaînes de montage doivent traiter rapidement des données à haute résolution pour detect 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 la nécessité d'une suppression non maximale (NMS) pendant le post-traitement. Cette innovation en fait un modèle de nouvelle génération pour les applications critiques en termes de latence.

Architecture et principales fonctionnalités

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

  • FormationNMS: En utilisant des affectations doubles cohérentes (une à plusieurs pour la formation, une à une pour l'inférence), YOLOv10 prédit une seule meilleure boîte pour chaque objet. Cela élimine la surcharge de calcul et la variabilité de la latence associées au post-traitement NMS .
  • Conception holistique du modèle : L'architecture comporte des têtes de classification légères et un sous-échantillonnage découplé des canaux spatiaux, ce qui réduit considérablement les paramètres du modèle et les coûts 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, permettant souvent d'atteindre des mAP plus élevé avec beaucoup moins de paramètres que ses prédécesseurs. Son intégration dans l'écosystème Ultralytics Python le rend incroyablement facile à entraîner et à déployer avec d'autres modèles.

Points faibles : Comme il s'agit d'un produit relativement nouveau, les ressources de la communauté et les outils tiers sont encore en train de se développer. Comme YOLOv6, il est spécialisé dans la détection, alors que les utilisateurs ayant besoin de capacités multi-tâches pourraient préférer YOLO11.

Admonition : 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 critères de référence

Le tableau suivant compare les performances de YOLOv6.0 et de YOLOv10 sur l'ensemble de données COCO . Les mesures clés comprennent la taille du modèle, la précision moyennemAP et la vitesse d'inférence sur le CPU et le GPU.

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

Aperçu des principaux éléments

  1. Efficacité des paramètres : YOLOv10 fait preuve d'une efficacité remarquable. Par exemple, YOLOv10s atteint un mAP plus élevé (46,7 %) que YOLOv6.0s (45,0 %) tout en utilisant moins de la moitié des paramètres (7,2M contre 18,5M). Cette empreinte mémoire réduite est vitale pour les dispositifs d'intelligence artificielle de pointe.
  2. Latence : Alors que YOLOv6.0n montre 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 du monde réel qui ne sont pas pris en compte dans les temps d'inférence des modèles bruts.
  3. Précision : Sur presque toutes les échelles, YOLOv10 offre une plus grande précision, ce qui en fait un choix plus robuste pour la détection d'objets difficiles dans des environnements complexes.

Utilisation et mise en œuvre

Ultralytics offre une expérience simplifiée pour l'utilisation de ces modèles. YOLOv10 est pris en charge de manière native dans l'application ultralytics permettant ainsi une mise en œuvre sans faille de la politique de l'UE en matière d'environnement. formation et la prédiction.

Exécuter YOLOv10 avec Ultralytics

Vous pouvez exécuter YOLOv10 en utilisant l'API Python avec seulement quelques lignes de code. Cela souligne 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.0

YOLOv6.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 base 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 dans le domaine de la vision par ordinateur. YOLOv6.0 reste un choix solide pour les systèmes industriels existants spécifiquement optimisés pour son architecture. En revanche, YOLOv6-3.0 YOLOv10 offre généralement un meilleur retour sur investissement pour les nouveaux projets grâce à son architecture NMS, à l'efficacité supérieure de ses paramètres et à sa plus grande précision.

Pour les développeurs à la recherche d'une polyvalence optimale et d'un soutien à l'écosystème, Ultralytics YOLO11 est fortement recommandé. YOLO11 offre non seulement des performances de détection de pointe, mais prend également en charge de manière native l'estimation de la pose, l'OBB et la classification au sein d'un package unique et bien entretenu. L'écosystème Ultralytics garantit des processus d'entraînement efficaces, une faible utilisation de la mémoire et une exportation facile vers des formats tels que ONNX et TensorRTvous permettant de déployer des solutions d'IA robustes en toute confiance.

Lectures complémentaires

  • Découvrez la gamme polyvalente YOLO11 pour l'IA de vision multi-tâches.
  • Comparez YOLOv10 à RT-DETR pour la détection basée sur les transformateurs.
  • Découvrez comment exporter des modèles pour accélérer le déploiement.

Commentaires