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 performances entre YOLOv10un modèle de pointe publié par des chercheurs de l'université de Tsinghua, et le modèle YOLOv7un modèle très influent développé par l'Academia Sinica. Bien que les deux modèles aient apporté des contributions significatives au domaine de la détection d'objets, ils utilisent des stratégies distinctes pour atteindre leurs objectifs de performance.
Évolution des architectures de modèles
Le passage de YOLOv7 à YOLOv10 marque un changement de paradigme dans la manière dont les réseaux neuronaux gèrent le post-traitement et l'intégration des caractéristiques.
YOLOv10: La révolution NMS
YOLOv10publié le 23 mai 2024, par Ao Wang, Hui Chen et d'autres chercheurs de l'université de Tsinghua, présente une stratégie d'apprentissage NMS révolutionnaire. Traditionnellement, les détecteurs d'objets s'appuient sur la suppression non maximale (NMS) pour filtrer les boîtes de délimitation dupliquées, ce qui peut créer un goulot d'étranglement dans la latence d'inférence.
YOLOv10 utilise des assignations doubles cohérentes pour une formation NMS, ce qui permet au modèle de prédire directement les instances d'objets uniques. Associé à une conception holistique du modèle 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 découplé des canaux spatiaux, afin de réduire la redondance des calculs.
YOLOv7: Optimisé pour un sac de cadeaux formable
YOLOv7publié le 6 juillet 2022 par Chien-Yao Wang, Alexey Bochkovskiy et Hong-Yuan Mark Liao de l'Academia Sinica, se concentre sur l'optimisation du processus d'apprentissage sans augmenter le coût de l'inférence. Il a introduit le réseau d'agrégation de couches efficace étendu (E-ELAN), qui améliore la capacité d'apprentissage du réseau en contrôlant le chemin du gradient.
YOLOv7 s'appuie fortement sur les méthodes dites "Bag-of-Freebies", qui améliorent la précision pendant l'apprentissage sans affecter la vitesse d'inférence, et sur les techniques de mise à l'échelle des modèles qui composent les paramètres de manière efficace. Bien que très efficace, sa dépendance à l'égard du post-traitement NMS traditionnel signifie que sa latence de bout en bout est souvent plus élevée que celle des nouvelles architectures NMS.
Comparaison des performances techniques
L'évaluation de ces modèles fait apparaître des schémas distincts 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 (Mean Average Precision) similaire ou supérieure avec beaucoup moins de paramètres et des temps d'inférence plus rapides que YOLOv7.
Le tableau ci-dessous présente les principales mesures de l'ensemble de donnéesCOCO .
| Modèle | Taille (pixels) | mAPval 50-95 | Vitesse CPU ONNX (ms) | Vitesse T4 TensorRT10 (ms) | paramètres (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.4 |
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
Aperçu de l'efficacité
Les données mettent en évidence un avantage critique pour YOLOv10 dans les environnements à 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 nettement inférieurs (59,1B contre 104,7B).
Temps de latence et débit
La suppression de l'étape NMS de YOLOv10 réduit considérablement la variance de latence souvent observée dans les scènes de foule. Dans des applications telles que 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 termes 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 calculs pour obtenir des résultats comparables.
Cas d'utilisation et applications
Les différences architecturales déterminent les scénarios de déploiement idéaux pour chaque modèle.
Scénarios idéaux pour YOLOv10
- Edge AI : En raison de son faible nombre de paramètres et de FLOPs, YOLOv10 est parfait pour des appareils tels que le Raspberry Pi ou le NVIDIA Jetson.
- Analyse vidéo en temps réel : La vitesse d'inférence élevée permet un traitement à haute fréquence pour la gestion du trafic et l'analyse de la vente au détail.
- Robotique : Une latence réduite se traduit par des temps de réaction plus rapides pour les tâches de navigation et de manipulation des robots.
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 la maintenir sans refonte immédiate.
- Détection générale : Pour les déploiements côté serveur où la VRAM est abondante, les grands modèles de YOLOv7 offrent encore de solides capacités de détection, bien qu'ils soient moins efficaces que les alternatives plus récentes telles que YOLO11.
L'avantage Ultralytics
Bien que les deux modèles soient puissants, l'utilisation de l'écosystèmeUltralytics offre des avantages distincts aux développeurs et aux chercheurs. Le cadre Ultralytics normalise l'interface pour la formation, la validation et le déploiement, ce qui facilite considérablement 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 de formation. Les modèles Ultralytics , y compris YOLOv10 et YOLO11utilisent une API Python rationalisé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 permettent souvent de réduire l'utilisation de la mémoire CUDA pendant l'entraînement par rapport aux implémentations brutes.
- Pondérations pré-entraînées : Accès à des modèles pré-entraînés de haute qualité sur ImageNet et COCO accélère l'apprentissage par transfert.
Polyvalence des 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 des instances, l'estimation de la pose, la détection d'objets orientés (OBB) et la classification au sein d'un même cadre. 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 démontre la simplicité d'utilisation de l'API Ultralytics pour charger un modèle YOLOv10 pré-entraîné et lancer l'inférence. Cette facilité d'utilisation contraste avec la configuration plus manuelle souvent requise pour les architectures plus anciennes 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 modèle encore plus avancé YOLO11 encore plus avancé, sont les choix recommandés. L'architecture 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'informatique de pointe. Elle résout les problèmes de latence des générations précédentes tout en réduisant l'empreinte informatique.
Bien que YOLOv7 reste un jalon respecté dans l'histoire de la vision par ordinateur, son architecture est moins efficace selon les normes d'aujourd'hui. Les développeurs à la recherche des meilleures performances, d'une maintenance à long terme et d'une facilité de déploiement trouveront dans l'écosystèmeUltralytics - avecses mises à jour continues et son large support d'outils - l'environnement le plus productif pour construire des solutions d'IA de vision.
En savoir plus
- Comparaison YOLOv10 vs YOLOv8
- Comparaison entre YOLOv10 et YOLOv9
- YOLO11: Le dernier cri en matière de détection en temps réel
- Guide pour l'exportation de modèles vers TensorRT