YOLOv5 vs. YOLOv10 : Une Comparaison Technique Détaillée
Choisir le bon modèle de détection d'objets est une décision essentielle pour tout projet de vision par ordinateur, car elle influence directement les performances de l'application, la vitesse et les besoins en ressources. Cette page fournit une comparaison technique approfondie entre deux modèles phares : Ultralytics YOLOv5, la norme industrielle établie et largement adoptée, et YOLOv10, un modèle de pointe qui repousse les limites de l'efficacité en temps réel. Cette analyse explorera leurs différences architecturales, leurs mesures de performance et leurs cas d'utilisation idéaux afin de vous aider à faire un choix éclairé.
Ultralytics YOLOv5 : la norme établie et polyvalente
Ultralytics YOLOv5 est devenu une référence de l’industrie, saluée pour son équilibre exceptionnel entre vitesse, précision et facilité d’utilisation inégalée. Il a alimenté d’innombrables applications dans divers secteurs depuis sa sortie.
Détails techniques :
- Auteurs : Glenn Jocher
- Organisation : Ultralytics
- Date : 2020-06-26
- GitHub : https://github.com/ultralytics/yolov5
- Documentation : https://docs.ultralytics.com/models/yolov5/
Architecture et principales fonctionnalités
Développé en PyTorch, YOLOv5 présente une architecture flexible avec un backbone CSPDarknet53 et un neck PANet pour une agrégation robuste des caractéristiques. Sa tête de détection basée sur des ancres est très efficace. L'une de ses caractéristiques déterminantes est son évolutivité, offrant une gamme de tailles de modèles (n, s, m, l, x) pour répondre à divers budgets de calcul et besoins de performance.
Points forts
- Vitesse et efficacité exceptionnelles : YOLOv5 est hautement optimisé pour une inférence rapide, ce qui en fait un choix incontournable pour les systèmes en temps réel sur les matériels CPU et GPU.
- Facilité d'utilisation : Reconnu pour son expérience utilisateur simplifiée, son API Python simple et sa documentation exhaustive, YOLOv5 réduit considérablement la barrière à l'entrée pour le développement de solutions de vision par ordinateur avancées.
- Écosystème bien maintenu : En tant que modèle Ultralytics, il bénéficie d'une communauté large et active, de mises à jour fréquentes et d'une intégration transparente avec des outils tels que Ultralytics HUB pour l'entraînement et le déploiement sans code.
- Polyvalence : YOLOv5 n'est pas seulement destiné à la détection d'objets ; il prend également en charge la segmentation d'instance et la classification d'images, ce qui en fait un outil polyvalent pour diverses tâches de vision.
- Efficacité de l'entraînement : Le modèle offre des processus d'entraînement efficaces avec des poids pré-entraînés facilement disponibles, et il nécessite généralement moins de mémoire pour l'entraînement par rapport aux architectures plus complexes.
Faiblesses
- Détection basée sur les ancres : Son recours à des boîtes d'ancrage prédéfinies peut parfois nécessiter un réglage supplémentaire pour obtenir des performances optimales sur les ensembles de données avec des formes ou des tailles d'objet non conventionnelles, par rapport aux détecteurs sans ancres modernes.
- Précision vs. Modèles plus récents : Bien que très précis, les architectures plus récentes comme YOLOv10 l’ont surpassé en mAP sur les bancs d’essai standard comme COCO.
Cas d'utilisation
La polyvalence et l'efficacité de YOLOv5 en font un outil fiable pour une multitude d'applications :
- Edge Computing : Ses variantes plus petites sont parfaites pour un déploiement sur des appareils aux ressources limitées comme Raspberry Pi et NVIDIA Jetson.
- Automatisation industrielle : Largement utilisée pour le contrôle qualité et l’automatisation des processus dans le secteur de la fabrication.
- Sécurité et surveillance : Alimente la surveillance en temps réel dans les systèmes de sécurité et les applications de sécurité publique.
- Prototypage rapide : Sa facilité d’utilisation le rend idéal pour développer et tester rapidement de nouvelles idées.
YOLOv10 : Le détecteur en temps réel de pointe
YOLOv10 représente un grand pas en avant dans la détection d'objets en temps réel, en se concentrant sur la création d'un pipeline véritablement efficace de bout en bout en éliminant le besoin de suppression non maximale (NMS).
Détails techniques :
- Auteurs : Ao Wang, Hui Chen, Lihao Liu, et al.
- Organisation : Université de Tsinghua
- Date : 2024-05-23
- Arxiv: https://arxiv.org/abs/2405.14458
- GitHub : https://github.com/THU-MIG/yolov10
- Documentation : https://docs.ultralytics.com/models/yolov10/
Architecture et principales fonctionnalités
L'innovation principale de YOLOv10 est sa stratégie d'entraînement sans NMS, qui utilise des affectations doubles cohérentes pour résoudre les prédictions conflictuelles pendant l'entraînement. Comme indiqué dans son article arXiv, cela élimine l'étape de post-traitement NMS, qui a toujours été un goulot d'étranglement augmentant la latence d'inférence. De plus, YOLOv10 utilise une conception de modèle globale axée sur l'efficacité et la précision, optimisant les composants tels que le backbone et le neck pour réduire la redondance de calcul tout en améliorant la capacité de détection.
Analyse et comparaison des performances
YOLOv10 établit une nouvelle référence de pointe pour le compromis vitesse-précision. Le tableau ci-dessous montre que les modèles YOLOv10 atteignent constamment une précision plus élevée avec moins de paramètres et de FLOPs par rapport à leurs homologues YOLOv5. Par exemple, YOLOv10-M surpasse YOLOv5-x en mAP tout en ayant près de 6 fois moins de paramètres et 4 fois moins de FLOPs. Cette efficacité remarquable en fait un concurrent puissant pour les applications modernes.
Modèle | Taille (pixels) |
mAPval 50-95 |
Vitesse CPU ONNX (ms) |
Vitesse T4 TensorRT10 (ms) |
paramètres (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
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 |
Points forts
- Vitesse et efficacité supérieures : La conception sans NMS offre un gain de vitesse important pendant l’inférence, ce qui est essentiel pour les applications avec des exigences de latence ultra-faible.
- Haute précision avec moins de paramètres : Atteint une précision de pointe avec des tailles de modèle plus petites, ce qui le rend parfaitement adapté au déploiement dans des environnements aux ressources limitées.
- Déploiement de bout en bout : En supprimant la NMS, YOLOv10 simplifie le pipeline de déploiement, le rendant véritablement de bout en bout.
- Intégration à l'écosystème Ultralytics : YOLOv10 est entièrement intégré à l'écosystème Ultralytics, offrant la même facilité d'utilisation, une documentation complète et un support que les autres modèles Ultralytics.
Faiblesses
- Modèle plus récent : En tant que modèle récemment publié, son support par la communauté et les outils tiers est encore en développement par rapport au vaste écosystème entourant YOLOv5.
- Spécialisation de tâche : YOLOv10 est principalement axé sur la détection d’objets. Pour les projets nécessitant un modèle unique pour plusieurs tâches telles que la segmentation et l’estimation de pose, les modèles tels que YOLOv8 pourraient être plus appropriés.
Cas d'utilisation
YOLOv10 excelle dans les applications où chaque milliseconde et chaque paramètre comptent :
- Robotique à haute vitesse : Permet le traitement visuel en temps réel pour les robots opérant dans des environnements dynamiques et complexes.
- Systèmes avancés d’aide à la conduite (ADAS) : Fournit une détection rapide des objets pour une sécurité routière accrue, un élément clé de l’IA pour les voitures autonomes.
- Analyse vidéo en temps réel : Traite la vidéo à fréquence d'images élevée pour des informations immédiates, utile dans des applications telles que la gestion du trafic.
Conclusion
YOLOv5 et YOLOv10 sont tous deux des modèles exceptionnels, mais ils répondent à des besoins différents.
Ultralytics YOLOv5 reste un excellent choix pour les développeurs qui ont besoin d’un modèle mature, fiable et polyvalent. Sa facilité d’utilisation, sa documentation exhaustive et son fort soutien communautaire le rendent parfait pour le développement et le déploiement rapides dans un large éventail d’applications. Son équilibre entre vitesse et précision a été prouvé dans d’innombrables scénarios du monde réel.
YOLOv10 est l'avenir de la détection d'objets en temps réel. Son architecture innovante sans NMS offre une efficacité inégalée, ce qui en fait la solution idéale pour les applications critiques en termes de latence et le déploiement sur des appareils périphériques. Bien que plus récente, son intégration dans l'écosystème Ultralytics garantit une expérience utilisateur fluide.
Pour ceux qui explorent d'autres options de pointe, pensez à consulter d'autres modèles tels que YOLOv8, YOLOv9 et le dernier YOLO11, qui continuent de s'appuyer sur les bases solides de l'architecture YOLO.