Passer au contenu

YOLOv10 vs YOLOv7 : faire progresser l'architecture de détection d'objets en temps réel

L'évolution de la famille YOLO (You Only Look Once) a constamment repoussé les limites de la vision par ordinateur, en équilibrant vitesse et précision pour les applications en temps réel. Cette comparaison explore les changements architecturaux et les différences de performance entre YOLOv10, un modèle de pointe publié par des chercheurs de l'université de Tsinghua, et YOLOv7, un modèle très influent développé par Academia Sinica. Bien que les deux modèles aient apporté des contributions significatives dans le domaine de la détection d'objets, ils emploient des stratégies distinctes pour atteindre leurs objectifs de performance.

Évolution des architectures de modèles

La transition de YOLOv7 à YOLOv10 marque un changement de paradigme dans la façon dont les réseaux neuronaux gèrent le post-traitement et l'intégration des fonctionnalités.

YOLOv10 : La révolution sans NMS

YOLOv10, publié le 23 mai 2024 par Ao Wang, Hui Chen et d’autres de l’université de Tsinghua, introduit une stratégie d’entraînement sans NMS révolutionnaire. Traditionnellement, les détecteurs d’objets s’appuient sur la suppression non maximale (NMS) pour filtrer les boîtes englobantes en double, ce qui peut créer un goulot d’étranglement dans la latence d’inférence.

YOLOv10 utilise des affectations doubles cohérentes pour l'entraînement sans NMS, ce qui permet au modèle de prédire directement des instances d'objets uniques. Combiné à une conception de modèle holistique axée sur l'efficacité et la précision, il optimise divers composants, notamment la tête de classification légère et le sous-échantillonnage spatial-canal découplé, afin de réduire la redondance de calcul.

En savoir plus sur YOLOv10

YOLOv7 : Optimisé pour le Bag-of-Freebies entraînable

YOLOv7, publié le 6 juillet 2022 par Chien-Yao Wang, Alexey Bochkovskiy et Hong-Yuan Mark Liao d’Academia Sinica, se concentre sur l’optimisation du processus de formation sans augmenter le coût d’inférence. Il a introduit le Extended Efficient Layer Aggregation Network (E-ELAN), qui améliore la capacité d’apprentissage du réseau en contrôlant le chemin de gradient.

YOLOv7 exploite fortement les « méthodes d’optimisation gratuites » (méthodes qui améliorent la précision pendant l’entraînement sans affecter la vitesse d’inférence) et les techniques de mise à l’échelle des modèles qui combinent efficacement les paramètres. Bien qu’elle soit très efficace, sa dépendance au post-traitement NMS traditionnel signifie que sa latence de bout en bout est souvent plus élevée que celle des architectures plus récentes sans NMS.

En savoir plus sur YOLOv7

Comparaison technique des performances

Lors de l'évaluation de ces modèles, des tendances distinctes émergent en ce qui concerne l'efficacité et la capacité de détection brute. YOLOv10 offre généralement une efficacité supérieure, atteignant une mAP (précision moyenne) similaire ou meilleure avec beaucoup moins de paramètres et des temps d'inférence plus rapides par rapport à YOLOv7.

Le tableau ci-dessous présente les principales mesures sur l'ensemble de données COCO.

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

Aperçu de l'efficacité

Les données mettent en évidence un avantage crucial pour YOLOv10 dans les environnements aux ressources limitées. YOLOv10m atteint une précision presque identique (51,3 % mAP) à YOLOv7l (51,4 % mAP), mais avec moins de la moitié des paramètres (15,4M contre 36,9M) et des FLOPs considérablement inférieurs (59,1B contre 104,7B).

Latence et débit

La suppression de l’étape NMS par YOLOv10 réduit considérablement la variance de latence souvent observée dans les scènes encombrées. Dans les applications comme les véhicules autonomes ou la surveillance par drone, où chaque milliseconde compte, le temps d’inférence prévisible de YOLOv10 offre un avantage essentiel en matière de sécurité. YOLOv7 reste compétitif en termes de débit sur les GPU haut de gamme, mais consomme plus de mémoire et de calcul pour obtenir des résultats comparables.

Cas d'utilisation et applications

Les différences architecturales dictent les scénarios de déploiement idéaux pour chaque modèle.

Scénarios idéaux pour YOLOv10

  • IA en périphérie : En raison de son faible nombre de paramètres et de FLOPs, YOLOv10 est parfait pour les appareils tels que le Raspberry Pi ou NVIDIA Jetson.
  • Analyse vidéo en temps réel : La vitesse d’inférence élevée prend en charge le traitement à haute fréquence d’images pour la gestion du trafic et l’analyse de la vente au détail.
  • Robotique : Une latence plus faible se traduit par des temps de réaction plus rapides pour la navigation robotique et les tâches de manipulation.

Scénarios idéaux pour YOLOv7

  • Systèmes existants : Les projets déjà intégrés à la base de code YOLOv7 peuvent la trouver suffisamment stable pour être maintenue sans refactorisation immédiate.
  • Détection à usage général : Pour les déploiements côté serveur où la VRAM est abondante, les modèles plus grands de YOLOv7 offrent toujours des capacités de détection robustes, bien qu’ils soient moins efficaces que les nouvelles alternatives comme YOLO11.

L'avantage Ultralytics

Bien que les deux modèles soient puissants, l'exploitation de l'écosystème Ultralytics offre des avantages distincts pour les développeurs et les chercheurs. Le framework Ultralytics standardise l'interface pour l'entraînement, la validation et le déploiement, ce qui facilite grandement le passage d'un modèle à l'autre et l'évaluation des performances.

Facilité d'utilisation et efficacité de la formation

L'un des principaux obstacles à l'apprentissage profond est la complexité des pipelines d'entraînement. Les modèles Ultralytics, y compris YOLOv10 et YOLO11, utilisent une API python simplifiée qui gère automatiquement l'augmentation des données, le réglage des hyperparamètres et l'exportation.

  • API simple : Entraînez un modèle en quelques lignes de code.
  • Efficacité de la mémoire : Les optimisations Ultralytics entraînent souvent une utilisation plus faible de la mémoire CUDA pendant l’entraînement par rapport aux implémentations brutes.
  • Poids pré-entraînés : L'accès à des modèles pré-entraînés de haute qualité sur ImageNet et COCO accélère l'apprentissage par transfert.

Polyvalence dans toutes les tâches

Les modèles Ultralytics modernes vont au-delà de la simple détection de boîtes englobantes. Ils prennent en charge la Segmentation d'instance, l'Estimation de pose, la Détection d'objets orientés (OBB) et la Classification dans le même framework. Cette polyvalence est un avantage clé par rapport aux anciens référentiels autonomes.

Exemple de code : Exécution de YOLOv10 avec Ultralytics

L'exemple suivant montre la simplicité d'utilisation de l'API Ultralytics pour charger un modèle YOLOv10 pré-entraîné et exécuter l'inférence. Cette facilité d'utilisation contraste avec la configuration plus manuelle souvent requise pour les anciennes architectures comme YOLOv7.

from ultralytics import YOLO

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

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

# Display the results
results[0].show()

Conclusion et recommandation

Pour les nouveaux projets, YOLOv10 ou le YOLO11 encore plus avancé sont les choix recommandés. L'architecture sans NMS de YOLOv10 offre un équilibre supérieur entre vitesse et précision, ce qui la rend très adaptable aux besoins modernes de l'edge computing. Il résout les goulots d'étranglement de la latence des générations précédentes tout en réduisant l'empreinte de calcul.

Bien que YOLOv7 reste une étape importante et respectée dans l'histoire de la vision par ordinateur, son architecture est moins efficace selon les normes actuelles. Les développeurs à la recherche des meilleures performances, d'une maintenance à long terme et d'une facilité de déploiement trouveront l'écosystème Ultralytics — avec ses mises à jour continues et son large support d'outils — l'environnement le plus productif pour la création de solutions d'IA de vision.

Explorer Plus


Commentaires