Passer au contenu

YOLO vs. YOLOv7: Comparaison technique détaillée

La sélection de l'architecture optimale pour la détection d'objets est une décision cruciale dans le développement de la vision par ordinateur. Le choix nécessite souvent de trouver un équilibre entre la latence de l'inférence et la précision de la détection, tout en tenant compte des contraintes matérielles de déploiement. Cette comparaison technique examine YOLO et YOLOv7, deux modèles influents sortis en 2022 qui ont repoussé les limites de la détection en temps réel. Nous analysons leurs innovations architecturales, leurs performances de référence et leurs scénarios d'application idéaux pour vous aider à naviguer dans votre processus de sélection de modèle.

YOLO: Recherche d'architecture neuronale pour l'efficacité des arêtes

YOLO a été développé par le groupe Alibaba dans le but de maximiser les performances des applications industrielles. Il se distingue par l'intégration d'une recherche d'architecture neuronale (NAS) pour automatiser la conception de son réseau, ce qui garantit une efficacité optimale.

Innovations architecturales

YOLO introduit plusieurs technologies de pointe visant à réduire la charge de calcul tout en maintenant une grande précision :

  1. Réseau MAE-NAS (GiraffeNet) : Contrairement aux dorsales traditionnelles conçues manuellement, YOLO utilise une approche NAS MAE (Method-Aware Efficiency). Il en résulte une série de dorsales appelée GiraffeNet, qui offre un meilleur compromis entre les opérations en virgule flottante (FLOP) et la latence sous diverses contraintes matérielles.
  2. RepGFPN efficace : Le modèle comporte un réseau pyramidal à caractéristiques généralisées (GFPN) optimisé par re-paramétrage. Ce "RepGFPN" permet une fusion efficace des caractéristiques multi-échelles, essentielle pour la détection d'objets de différentes tailles sans le lourd coût de calcul associé aux FPN standard.
  3. ZeroHead : une nouvelle conception "ZeroHead" simplifie considérablement la tête de détection. En découplant les tâches de classification et de régression et en supprimant la couche spécifique complexe, elle réduit le nombre de paramètres de la tête à zéro pendant l'inférence, ce qui permet d'économiser de la mémoire et d'augmenter la vitesse.
  4. AlignedOTA : pour améliorer la stabilité et la précision de la formation, YOLO utilise AlignedOTA, une stratégie dynamique d'attribution d'étiquettes qui résout le problème de désalignement entre la confiance de la classification et la précision de la régression.

Points forts et cas d'utilisation

YOLO excelle dans les environnements où la latence est critique. Ses variantes plus petites (Tiny/Small) sont particulièrement efficaces pour les déploiements d'IA en périphérie.

  • Automatisation industrielle : Idéal pour les lignes d'assemblage à grande vitesse où les millisecondes comptent.
  • Applications mobiles : Le faible nombre de paramètres permet de l'exécuter sur des smartphones dont la puissance de calcul est limitée.

En savoir plus sur DAMO-YOLO

YOLOv7: Optimiser la précision en temps réel

YOLOv7, publié peu avant YOLO, a établi une nouvelle référence en matière de performances de pointe dans la plage de 5 FPS à 160 FPS. Il s'est fortement concentré sur l'optimisation du processus d'apprentissage et du flux de gradient afin d'obtenir une plus grande précision sans augmenter les coûts d'inférence.

Innovations architecturales

YOLOv7 a introduit des méthodes "bag-of-freebies" qui améliorent la précision pendant la formation sans affecter la structure du modèle d'inférence :

  1. E-ELAN (Extended Efficient Layer Aggregation Network) : Cette architecture contrôle les chemins de gradient les plus courts et les plus longs, ce qui permet au réseau d'apprendre des caractéristiques plus diverses. Elle améliore la capacité d'apprentissage de la "cardinalité" sans détruire l'état original du chemin de gradient.
  2. Mise à l'échelle des modèles basés sur la concaténation : YOLOv7 propose une méthode de mise à l'échelle composée qui met à l'échelle la profondeur et la largeur simultanément pour les architectures basées sur la concaténation, garantissant ainsi une utilisation optimale des paramètres.
  3. Un sac de gratuités formable : Des techniques telles que le re-paramétrage planifié et la supervision des têtes auxiliaires (de grossier à fin) sont utilisées. Elles améliorent la robustesse et la précision du modèle pendant la formation, mais sont fusionnées ou éliminées pendant l'inférence, ce qui permet au modèle de rester rapide.

Points forts et cas d'utilisation

YOLOv7 est un outil puissant pour la détection d'objets à usage général, offrant une excellente précision moyenne (mAP) sur des ensembles de données standard tels que MS COCO.

  • Surveillance des villes intelligentes : Sa grande précision le rend fiable pour la détection des piétons et des véhicules dans les environnements urbains complexes.
  • Systèmes autonomes : Convient à la robotique et aux drones nécessitant une détection fiable à plus longue portée, où des entrées à plus haute résolution sont bénéfiques.

En savoir plus sur YOLOv7

Comparaison des performances

Le tableau suivant compare les performances de YOLO et de YOLOv7. Alors que YOLO obtient souvent une latence plus faible (vitesse plus élevée) pour sa taille, YOLOv7 conserve généralement une solide réputation de précision, en particulier dans ses configurations les plus larges.

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

Les données montrent que pour les environnements très contraints, YOLO offre une solution très légère (8,5 millions de paramètres pour la version la plus petite). Cependant, YOLOv7 repousse les limites de la précision avec sa variante X qui atteint 53,1 % de mAP, bien qu'avec des coûts de calcul plus élevés.

Arbitrages en matière d'architecture

Alors que le backbone NAS de YOLO optimise spécifiquement la latence, la conception architecturale manuelle de YOLOv7 se concentre sur l'efficacité du flux de gradient. Les utilisateurs doivent comparer les deux sur leur matériel spécifique, car les FLOP théoriques ne sont pas toujours en parfaite corrélation avec la vitesse d'inférence dans le monde réel.

L'avantage Ultralytics : Pourquoi mettre à niveau ?

Bien que YOLO et YOLOv7 représentent des réalisations importantes dans l'histoire de la vision par ordinateur, le domaine évolue rapidement. Pour les développeurs qui recherchent les solutions les plus robustes, les plus polyvalentes et les plus faciles à utiliser, Ultralytics YOLO11 et YOLOv8 sont les choix recommandés.

Les modèles Ultralytics sont conçus non seulement comme des artefacts de recherche, mais aussi comme des outils de production complets. Ils s'attaquent aux problèmes du "dernier kilomètre" dans le déploiement de l'IA - la facilité d'utilisation, l'intégration et la maintenance.

Principaux avantages des modèles Ultralytics

  • Facilité d'utilisation : Grâce à une API et une CLI Python unifiées, vous pouvez former un modèle de pointe en quelques lignes de code. Il n'est pas nécessaire d'ajuster manuellement des fichiers de configuration complexes ou de se battre avec des dépendances.
  • Un écosystème bien entretenu : Ultralytics fournit un écosystème florissant avec des mises à jour fréquentes, identifiant et corrigeant rapidement les bogues. L'assistance est facilement accessible grâce à une documentation complète et à des canaux communautaires actifs.
  • L'équilibre des performances : Des modèles comme YOLO11 utilisent des têtes de détection avancées sans ancrage et des dorsales optimisées pour atteindre des rapports précision/vitesse supérieurs à ceux de YOLOv7 et de YOLO.
  • Polyvalence : Contrairement aux modèles plus anciens souvent limités à la détection, Ultralytics YOLO prend en charge la segmentation des instances, l'estimation de la pose, la détection d'objets orientés (OBB) et la classification.
  • Efficacité de la formation : Les poids pré-entraînés et les chargeurs de données optimisés garantissent une convergence plus rapide, ce qui permet d'économiser les heures et l'énergie du GPU .
from ultralytics import YOLO

# Load the latest YOLO11 model
model = YOLO("yolo11n.pt")

# Train on COCO8 dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

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

En savoir plus sur YOLO11

Conclusion

YOLO et YOLOv7 présentent chacun des avantages distincts. YOLO est un candidat de choix pour les projets où la vitesse d'inférence des bords est la principale contrainte, en exploitant les NAS pour gagner des millisecondes. YOLOv7 reste un choix solide pour les chercheurs qui recherchent une détection de haute précision avec une architecture éprouvée.

Cependant, pour la plupart des applications commerciales et de recherche actuelles, le système Ultralytics YOLO d'Ultralytics offre une expérience supérieure. En associant des performances de pointe à une facilité d'utilisation et une polyvalence inégalées, les modèles Ultralytics permettent aux développeurs de se concentrer sur la création de valeur plutôt que sur le débogage du code. Qu'il s'agisse d'un déploiement sur un serveur en nuage ou sur un appareil périphérique comme le NVIDIA Jetson, Ultralytics offre la voie la plus rationnelle vers la production.

Autres modèles

Si vous étudiez les architectures de détection d'objets, ces modèles pourraient également vous intéresser :

  • Ultralytics YOLOv8: un modèle très polyvalent prenant en charge les tâches de détection, de segmentation et de pose.
  • Ultralytics YOLO11: La dernière évolution de la série YOLO , offrant une efficacité de pointe.
  • RT-DETR: un détecteur en temps réel basé sur un transformateur qui évite les retards du NMS .
  • YOLOv9: comprend des informations de gradient programmables (PGI) pour améliorer l'apprentissage.
  • YOLOv10: se concentre sur la formation de bout en bout NMS pour réduire la latence.

Commentaires