Passer au contenu

YOLOv6-3.0 vs YOLOv7 : Un examen approfondi de la vitesse et de la précision industrielles

Le choix du modèle de détection d'objets optimal est une décision essentielle qui dépend de l'équilibre entre la vitesse d'inférence, la précision et l'efficacité de calcul. Cette comparaison technique explore les distinctions entre YOLOv6-3.0, un framework axé sur l'industrie, et YOLOv7, un modèle conçu pour repousser les limites de la précision en utilisant des "bag-of-freebies" entraînés. En analysant leurs architectures, leurs benchmarks et leurs cas d'utilisation idéaux, les développeurs peuvent déterminer quelle solution convient le mieux à leurs contraintes de déploiement spécifiques.

YOLOv6-3.0 : Conçu pour l'efficacité industrielle

YOLOv6-3.0 représente une évolution significative dans la série YOLO, spécialement conçue pour les applications industrielles où la vitesse en temps réel et l'efficacité du matériel ne sont pas négociables. Développée par Meituan, cette version se concentre sur l'optimisation du compromis entre la latence et la précision, ce qui en fait un choix formidable pour l'informatique en périphérie et les environnements à haut débit.

Auteurs : Chuyi Li, Lulu Li, Yifei Geng, Hongliang Jiang, Meng Cheng, Bo Zhang, Zaidan Ke, Xiaoming Xu et Xiangxiang Chu
Organisation :Meituan
Date : 2023-01-13
Arxiv :https://arxiv.org/abs/2301.05586
GitHub :https://github.com/meituan/YOLOv6
Docs :https://docs.ultralytics.com/models/yolov6/

Architecture et principales fonctionnalités

L'architecture de YOLOv6-3.0 est construite autour du concept de conception consciente du matériel. Elle utilise un backbone re-paramétrable (EfficientRep), qui permet au modèle d'utiliser des structures complexes pendant l'entraînement pour un meilleur apprentissage des caractéristiques, tout en se réduisant à des structures plus simples et plus rapides pendant l'inférence. Cette technique réduit considérablement les coûts d'accès à la mémoire et améliore la latence d'inférence.

Les principales innovations architecturales sont les suivantes :

  • Concaténation bidirectionnelle (BiC) : Ce module améliore la précision de la localisation en améliorant la propagation des caractéristiques.
  • Formation assistée par l’ancrage (AAT) : Une stratégie qui combine les avantages des détecteurs sans ancrage et basés sur l’ancrage pour stabiliser la formation et améliorer les performances.
  • Auto-Distillation : YOLOv6-3.0 utilise des techniques d'auto-distillation où le modèle étudiant apprend à partir des prédictions de son propre modèle enseignant, affinant ainsi la précision sans nécessiter de grands modèles externes.

Points forts et faiblesses

La principale force de YOLOv6.0 réside dans sa vitesse d'inférence. Comme l'indiquent les benchmarks, les variantes les plus petites (comme YOLOv6.0n) sont exceptionnellement rapides sur le matériel GPU , ce qui les rend idéales pour les pipelines d'analyse vidéo qui doivent traiter des taux d'images élevés. En outre, la prise en charge de la quantification du modèle facilite le déploiement sur du matériel aux ressources limitées.

Cependant, les versions antérieures de YOLOv6 étaient principalement limitées à la détection d'objets, manquant de la polyvalence native que l'on trouve dans les frameworks plus complets qui prennent en charge la segmentation ou l'estimation de pose dès le départ. De plus, bien que très efficace, le support de l'écosystème n'est pas aussi étendu que d'autres projets axés sur la communauté.

Cas d'utilisation idéaux

YOLOv6-3.0 excelle dans des scénarios tels que :

  • Lignes de fabrication : Là où la détection de défauts à haute vitesse est requise sur les bandes transporteuses.
  • Analyse de vente au détail : Pour la gestion des files d'attente et le suivi des stocks lorsque les ressources de calcul sont limitées.
  • Systèmes embarqués : déploiement sur des appareils tels que la série NVIDIA Jetson.

En savoir plus sur YOLOv6

YOLOv7 : Optimisation du Bag-of-Freebies entraînable

YOLOv7 adopte une approche différente, en se concentrant fortement sur les réformes architecturales afin de maximiser la précision sans augmenter le coût d'inférence. Les auteurs ont introduit des « méthodes d'optimisation entraînables » qui améliorent les performances du modèle pendant l'entraînement, mais ne modifient pas l'architecture ou la vitesse d'inférence.

Auteurs: Chien-Yao Wang, Alexey Bochkovskiy et Hong-Yuan Mark Liao
Organisation:Institute of Information Science, Academia Sinica, Taiwan
Date: 2022-07-06
Arxiv:https://arxiv.org/abs/2207.02696
GitHub:https://github.com/WongKinYiu/yolov7
Docs:https://docs.ultralytics.com/models/yolov7/

Architecture et principales fonctionnalités

YOLOv7 introduit le E-ELAN (Extended Efficient Layer Aggregation Network). Cette architecture permet au modèle d'apprendre des caractéristiques plus diverses en contrôlant les chemins de gradient les plus courts et les plus longs, garantissant ainsi la convergence efficace du réseau.

Les principales caractéristiques sont les suivantes :

  • Adaptation du modèle : Contrairement aux méthodes précédentes qui adaptaient uniquement la profondeur ou la largeur, YOLOv7 propose une méthode d'adaptation composite qui concatène les couches plutôt que de simplement les redimensionner, préservant ainsi les propriétés d'optimisation du modèle.
  • Formation de la tête auxiliaire : Le modèle utilise une tête auxiliaire pendant la formation pour aider la tête principale. Cette technique de supervision profonde améliore l’apprentissage des couches intermédiaires, mais elle est supprimée pendant l’inférence pour maintenir la vitesse.
  • Convolution reparamétrée planifiée : Une application spécialisée de la reparamétrisation qui évite les connexions d'identité dans certaines couches afin d'empêcher la dégradation des performances.

Points forts et faiblesses

YOLOv7 est réputé pour sa grande précision, atteignant des scores de précision moyenne (mAP) impressionnants sur l'ensemble de données COCO. Il comble efficacement le fossé entre les contraintes de temps réel et le besoin de détections de haute fidélité.

L'inconvénient est que la complexité architecturale et l'utilisation de têtes auxiliaires peuvent rendre le processus d'entraînement plus gourmand en mémoire par rapport aux architectures plus simples. Bien qu'elle soit efficace pendant l'inférence, la phase d'entraînement nécessite une quantité importante de mémoire GPU, en particulier pour les variantes "E6E" les plus grandes.

Cas d'utilisation idéaux

YOLOv7 est particulièrement bien adapté pour :

  • Surveillance détaillée : Identification de petits objets ou d’actions subtiles dans des séquences de sécurité complexes.
  • Conduite autonome : Où la précision est essentielle pour la sécurité et la navigation.
  • Recherche Scientifique : Applications nécessitant des métriques AP élevées, telles que l'imagerie médicale ou les études biologiques.

En savoir plus sur YOLOv7

Comparaison des performances : métriques et analyse

Le tableau suivant compare les performances des variantes YOLOv6-3.0 et YOLOv7 sur le jeu de données de validation COCO. Il met en évidence les compromis entre la taille du modèle, la charge de calcul (FLOPs) et la vitesse.

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
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9

Interprétation des bancs d'essai

Alors que YOLOv7x atteint la plus haute précision (53,1 % mAP), il nécessite beaucoup plus de paramètres (71,3 millions) et de FLOPs (189,9 milliards). En revanche, YOLOv6-3.0n est optimisé pour une vitesse extrême, atteignant une inférence de 1,17 ms sur un GPU T4, ce qui le rend environ 10 fois plus rapide que la plus grande variante de YOLOv7, bien qu'avec une précision moindre.

Les données révèlent une distinction claire : YOLOv6-3.0 domine dans les environnements à faible latence, tandis que YOLOv7 est supérieur lorsque la qualité de détection maximale est la priorité et que les ressources matérielles sont plus abondantes.

L'avantage Ultralytics : au-delà des mesures brutes

Bien que YOLOv6 et YOLOv7 offrent de solides capacités, le paysage de la vision par ordinateur évolue rapidement. Pour les développeurs et les chercheurs à la recherche d'une solution polyvalente, pérenne et conviviale, Ultralytics YOLO11 et YOLOv8 présentent des avantages convaincants qui vont au-delà des simples benchmarks.

Facilité d'utilisation et écosystème

L'un des obstacles les plus importants à l'adoption de modèles d'IA avancés est la complexité de la mise en œuvre. Les modèles Ultralytics sont réputés pour leur expérience utilisateur rationalisée. Grâce à une simple API Python et à une CLI, les utilisateurs peuvent entraîner, valider et déployer des modèles en quelques lignes de code. Cela contraste avec les référentiels axés sur la recherche qui nécessitent souvent des configurations d'environnement complexes et des ajustements de configuration.

from ultralytics import YOLO

# Load a model (YOLO11n recommended for speed/accuracy balance)
model = YOLO("yolo11n.pt")

# Train the model
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

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

Polyvalence dans toutes les tâches

Contrairement aux versions antérieures de YOLO qui étaient principalement destinées à la détection, les modèles Ultralytics sont nativement multimodaux. Un seul framework prend en charge :

Équilibre des performances et efficacité

Les modèles Ultralytics , tels que YOLO11sont conçus pour offrir un équilibre optimal entre vitesse et précision. Ils atteignent souvent un mAP plus élevé que YOLOv7 tout en conservant les vitesses d'inférence associées à des architectures efficaces comme YOLOv6. En outre, les modèles Ultralytics sont conçus pour l'efficacité de l'apprentissage, nécessitant une utilisation réduite de la mémoire GPU par rapport aux modèles basés sur les transformateurs (comme RT-DETR), ce qui accélère les cycles d'expérimentation et réduit les coûts de calcul dans le nuage.

Écosystème bien entretenu

Choisir un modèle Ultralytics signifie adhérer à un écosystème pris en charge. Cela comprend :

  • Mises à jour fréquentes : Améliorations régulières de l’architecture et des poids.
  • Large prise en charge de l’exportation : Exportation transparente vers ONNX, TensorRT, CoreML et TFLite pour un déploiement sur n’importe quel appareil.
  • Communauté : Une vaste communauté de développeurs et une documentation complète garantissant que l'aide est toujours disponible.

Conclusion

YOLOv6-3.0 et YOLOv7 ont tous deux apporté des contributions significatives au domaine de la vision par ordinateur. YOLOv6-3.0 est le choix de prédilection pour les applications industrielles nécessitant une inférence ultra-rapide et une prise en charge de la quantification. YOLOv7 reste un concurrent de taille pour les scénarios où la précision de la détection est primordiale et les contraintes matérielles sont flexibles.

Cependant, pour une solution holistique qui combine des performances de pointe avec une facilité d'utilisation, une polyvalence et une flexibilité de déploiement inégalées, Ultralytics YOLO11 se distingue comme le choix supérieur pour le développement de l'IA moderne. Que vous déployiez en périphérie ou que vous mettiez à l'échelle dans le cloud, l'écosystème Ultralytics fournit les outils nécessaires pour réussir.

Pour en savoir plus, pensez à explorer nos comparaisons sur YOLOX ou à consulter les capacités de RT-DETR pour la détection basée sur les transformateurs.


Commentaires