Passer au contenu

YOLOv7 vs. YOLOv6-3.0 : Une comparaison technique complète

Dans le paysage en rapide évolution de la vision par ordinateur, le choix du bon modèle de détection d'objets est crucial pour la réussite d'un projet. Deux frameworks importants qui ont façonné le domaine sont YOLOv7 et YOLOv6-3.0. Bien que les deux partagent la lignée YOLO (You Only Look Once), ils divergent considérablement dans leurs philosophies architecturales et leurs objectifs d'optimisation.

Ce guide fournit une analyse technique approfondie de ces deux modèles, comparant leurs architectures, leurs mesures de performance et leurs scénarios de déploiement idéaux. Nous explorons également comment les alternatives modernes comme Ultralytics YOLO11 intègrent les meilleures caractéristiques de ces prédécesseurs dans un écosystème unifié et convivial.

YOLOv7 : L'architecture de la précision

YOLOv7, publié en juillet 2022, a représenté un changement majeur dans la famille YOLO, en privilégiant les innovations architecturales afin de maximiser la précision sans sacrifier les capacités d'inférence en temps réel. Il a été conçu pour repousser les limites des benchmarks de l'ensemble de données COCO.

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/

Principales caractéristiques architecturales

YOLOv7 a introduit le "sac de cadeaux gratuits entraînable", un ensemble de méthodes d'optimisation qui augmentent la précision sans augmenter le coût d'inférence.

  • E-ELAN (Extended-Efficient Layer Aggregation Networks) : Cette architecture améliore la capacité d’apprentissage du réseau en contrôlant les chemins de gradient les plus courts et les plus longs. Elle permet au modèle d’apprendre des caractéristiques plus diverses en élargissant la cardinalité des blocs de calcul.
  • Adaptation du modèle : YOLOv7 emploie des techniques d'adaptation composite qui modifient simultanément la profondeur et la largeur, assurant une performance optimale à travers différentes tailles de modèles (de Tiny à E6E).
  • Formation de la tête auxiliaire : Le modèle utilise une tête auxiliaire pendant la formation pour fournir une supervision profonde, qui est ensuite supprimée pendant l’inférence. Cela améliore la convergence du modèle de deep learning.

Points forts et faiblesses

YOLOv7 est réputé pour sa haute précision moyenne (mAP), en particulier sur les petits objets et les objets occlus. Il constitue un excellent choix pour la recherche et les scénarios où la précision est primordiale. Cependant, son architecture complexe, qui repose fortement sur des couches basées sur la concaténation, peut entraîner une consommation de mémoire plus élevée pendant l'entraînement par rapport aux modèles industriels rationalisés.

En savoir plus sur YOLOv7

YOLOv6-3.0 : Conçu pour la vitesse industrielle

YOLOv6-3.0, développé par le département d'informatique visuelle de Meituan, se concentre fortement sur les applications industrielles pratiques. Publié au début de 2023, il privilégie la vitesse d'inférence et l'efficacité du matériel, ce qui en fait un candidat de choix pour l'edge computing.

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/

Principales caractéristiques architecturales

YOLOv6-3.0 se distingue par sa conception tenant compte du matériel, optimisant spécifiquement le débit du GPU et du CPU.

  • Colonne vertébrale RepVGG : Le modèle utilise des blocs de reparamétrisation (RepVGG). Pendant la formation, le modèle a une topologie multi-branches pour un meilleur apprentissage, qui est mathématiquement fusionnée en une structure à branche unique pour l’inférence. Cela permet une exécution plus rapide sur du matériel tel que le NVIDIA Jetson.
  • Tête découplée : Contrairement aux versions antérieures de YOLO qui partageaient des caractéristiques pour la classification et la localisation, YOLOv6 utilise une tête découplée. Cette séparation améliore la vitesse de convergence et la précision de la detect.
  • Adapté à la quantification : L'architecture est conçue pour être adaptée à la quantification de modèle (par exemple, INT8), essentielle pour le déploiement sur des appareils aux ressources limitées.

Points forts et faiblesses

YOLOv6-3.0 excelle en débit brut. Pour les lignes d'automatisation industrielle ou la robotique, où les millisecondes comptent, son graphe d'inférence optimisé est un avantage significatif. Cependant, son objectif est principalement la détection, manquant la polyvalence multi-tâches native trouvée dans les itérations ultérieures comme YOLO11.

En savoir plus sur YOLOv6-3.0

Comparaison des performances

Le tableau suivant illustre les compromis entre les deux modèles. YOLOv6-3.0 offre généralement une vitesse supérieure pour des niveaux de précision similaires, tandis que YOLOv7 repousse les limites de la précision de la détection.

ModèleTaille
(pixels)
mAPval
50-95
Vitesse
CPU ONNX
(ms)
Vitesse
T4 TensorRT10
(ms)
paramètres
(M)
FLOPs
(B)
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9
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

Analyse des résultats

  • Vitesse vs. Précision : YOLOv6-3.0n se distingue par son extrême rapidité, atteignant une inférence de 1,17 ms sur les GPU T4, ce qui le rend idéal pour l’analyse vidéo à haute vitesse.
  • Précision maximale : YOLOv7x atteint un taux de mAP (53,1 %) par rapport à YOLOv6.0l (52,8 %), ce qui démontre sa capacité à détecter des exemples difficiles.
  • Efficacité de calcul : YOLOv6 utilise moins de FLOPs pour des niveaux de performance comparables, ce qui valide sa philosophie de conception « EfficientRep ».

Considérations relatives au déploiement

Bien que les benchmarks fournissent une base de référence, les performances dans le monde réel dépendent fortement du matériel de déploiement. La re-paramétrisation de YOLOv6 brille sur les GPU, tandis que l'architecture basée sur la concaténation de YOLOv7 est robuste mais peut être gourmande en bande passante mémoire.

L'avantage Ultralytics : au-delà de la comparaison

Bien que YOLOv7 et YOLOv6-3.0 représentent des réalisations importantes dans l'histoire de la vision par ordinateur, le domaine évolue rapidement. Pour les développeurs à la recherche d'une solution durable et pérenne, Ultralytics YOLO11 offre un écosystème complet qui remplace les limitations des architectures de modèles individuels.

Pourquoi choisir Ultralytics YOLO11 ?

  1. Facilité d’utilisation inégalée : Contrairement à de nombreux modèles open source qui nécessitent un clonage de référentiel et une configuration d’environnement complexes, les modèles Ultralytics sont accessibles via une simple installation pip. La conception de l’API Python est intuitive, permettant la formation et l’inférence en quelques lignes de code.
  2. Équilibre des performances : YOLO11 s'appuie sur les leçons architecturales de YOLOv6 et YOLOv7. Il utilise une architecture affinée qui atteint une précision de pointe tout en conservant les vitesses d'inférence requises pour les applications en temps réel.
  3. Polyvalence : L’un des principaux avantages de l’écosystème Ultralytics est la prise en charge de plusieurs tâches. Alors que YOLOv6 et YOLOv7 se concentrent principalement sur la détection, YOLO11 prend en charge nativement la segmentation d’instance, l’estimation de pose, la classification et la détection d’objets orientés (OBB).
  4. Efficacité de l'entraînement : Les modèles Ultralytics sont optimisés pour une convergence plus rapide et une utilisation réduite de la mémoire pendant l'entraînement. Cette gestion efficace des ressources permet de s'entraîner sur des GPU grand public sans la surcharge massive de mémoire CUDA souvent associée aux anciennes architectures de transformateurs ou à forte concaténation.
  5. Écosystème bien maintenu : Grâce à des mises à jour fréquentes, une documentation exhaustive et une communauté dynamique, Ultralytics garantit que vos projets restent compatibles avec les dernières versions de PyTorch et les formats d'exportation tels que ONNX, TensorRT et CoreML.

Exemple d'implémentation

Le déploiement d'un modèle de pointe avec Ultralytics est simple. Voici comment vous pouvez facilement mettre en œuvre la détection d'objets :

from ultralytics import YOLO

# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt")

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

# Process results
for result in results:
    result.save(filename="output.jpg")  # save to disk

Conclusion

YOLOv7 et YOLOv6-3.0 servent tous deux des niches spécifiques : YOLOv7 pour les tâches de recherche de haute précision et YOLOv6-3.0 pour l'optimisation de la vitesse industrielle. Cependant, pour la majorité des développeurs et des chercheurs, l'écosystème Ultralytics YOLO11 fournit la solution la plus équilibrée, polyvalente et maintenable. En combinant des performances élevées avec une expérience utilisateur exceptionnelle et une large prise en charge des tâches, Ultralytics permet aux utilisateurs de se concentrer sur la résolution de problèmes du monde réel plutôt que de se débattre avec les architectures de modèles.

Explorer d'autres modèles

Si vous souhaitez explorer davantage d'options dans le paysage de la vision par ordinateur, considérez ces comparaisons :

  • YOLOv7 vs. RT-DETR : comparaison des détecteurs basés sur CNN avec les architectures basées sur Transformer.
  • YOLOv6 vs. YOLOv8 : un aperçu de la façon dont la génération précédente de modèles Ultralytics se compare aux normes industrielles.
  • YOLOv7 vs. YOLOX : analyse des stratégies de détection sans ancrage par rapport aux stratégies de détection basées sur l'ancrage.

Commentaires