YOLOv10 vs. YOLOv5 : Une comparaison technique détaillée
Choisir le bon modèle de détection d'objets est essentiel pour tout projet de vision par ordinateur, car les performances ont un impact direct sur le succès de l'application. La famille de modèles You Only Look Once (YOLO) est réputée pour sa vitesse et sa précision. Cette page offre une comparaison technique détaillée entre YOLOv10, un modèle de pointe de l'université Tsinghua, et Ultralytics YOLOv5, une norme industrielle polyvalente et largement adoptée. Cette analyse aidera les développeurs et les chercheurs à prendre une décision éclairée en fonction de leurs besoins spécifiques.
YOLOv10 : Le détecteur en temps réel de pointe
YOLOv10 représente une avancée significative dans la détection d'objets en temps réel, en se concentrant sur la réalisation d'une véritable efficacité de bout en bout en éliminant le besoin de post-traitement 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
YOLOv10 introduit plusieurs innovations architecturales pour repousser les limites du compromis vitesse-précision. Comme indiqué dans son article arXiv, ses principales caractéristiques sont les suivantes :
- Formation sans NMS : Elle utilise des affectations doubles cohérentes pendant la formation, ce qui permet au modèle de produire des prédictions propres sans l’étape NMS. Cette innovation simplifie le pipeline de déploiement et réduit la latence d’inférence, un goulot d’étranglement critique dans de nombreux systèmes en temps réel.
- Conception holistique axée sur l’efficacité et la précision : L’architecture du modèle a été optimisée de manière exhaustive, du backbone au neck et à la head. Cela comprend une tête de classification légère et un sous-échantillonnage spatial-canal découplé, qui réduisent la redondance de calcul et améliorent la capacité du modèle.
- Détection sans ancres : Comme de nombreux détecteurs modernes, YOLOv10 utilise une approche sans ancres, ce qui simplifie l'architecture et améliore la généralisation à travers diverses tailles d'objets et rapports d'aspect.
Points forts et faiblesses
Points forts :
- Vitesse et efficacité supérieures : Optimisé pour l'inférence en temps réel, offrant un traitement plus rapide, essentiel pour les exigences de faible latence.
- Architecture sans NMS : Élimine le post-traitement NMS, simplifiant le déploiement et réduisant le temps d'inférence global.
- Haute précision avec moins de paramètres : Atteint une précision compétitive avec des tailles de modèle plus petites, ce qui le rend parfaitement adapté aux environnements aux ressources limitées.
- Déploiement de bout en bout : Conçu pour un déploiement de bout en bout transparent, ce qui représente un avantage significatif pour les systèmes de production.
- Intégration Ultralytics : Bien que développé en externe, YOLOv10 est bien intégré dans l’écosystème Ultralytics, bénéficiant des interfaces Python et CLI simples pour l’entraînement, la validation et l’inférence.
Faiblesses :
- Modèle plus récent : En tant que modèle récemment publié, son support communautaire et le nombre d'intégrations tierces pourraient encore être en développement par rapport aux modèles établis comme YOLOv5.
- Complexité de l’optimisation : L’atteinte de performances optimales peut nécessiter un réglage fin et une optimisation spécifiques pour un matériel et des ensembles de données particuliers, ce qui peut être plus complexe qu’avec des modèles plus matures.
Cas d'utilisation
YOLOv10 excelle dans les applications exigeant une détection d'objets ultra-rapide et efficace :
- Robotique à haute vitesse : Permet le traitement visuel en temps réel pour les robots dans des environnements dynamiques, un élément clé de l'avenir de la robotique.
- Systèmes avancés d'aide à la conduite (ADAS) : Fournir une détection d'objets rapide pour une sécurité routière améliorée, complétant des solutions telles que l'IA dans les voitures autonomes.
- Analyse vidéo en temps réel : Traitement de vidéos à fréquence d'images élevée pour des informations immédiates, utile dans des applications telles que la gestion du trafic.
Ultralytics YOLOv5 : le modèle polyvalent et largement adopté
Ultralytics YOLOv5 est devenu une norme de l’industrie, connue pour son excellent équilibre entre vitesse, précision et facilité d’utilisation remarquable. Il est un modèle de référence pour des milliers de développeurs et de chercheurs 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
Basé sur PyTorch, YOLOv5 utilise un backbone CSPDarknet53 et un neck PANet pour l'agrégation des caractéristiques. Son architecture est hautement évolutive, proposée en différentes tailles (n, s, m, l, x) pour s'adapter à différents budgets de calcul. Une des principales raisons de sa popularité est l'expérience utilisateur simplifiée fournie par Ultralytics, qui comprend :
- API simple et cohérente : Une interface simple pour l’entraînement, la validation et l’inférence.
- Documentation exhaustive : Guides et tutoriels complets qui couvrent tous les aspects, de la formation des données personnalisées au déploiement.
- Écosystème intégré : Prise en charge complète au sein de l’écosystème Ultralytics, y compris des outils comme Ultralytics HUB pour la formation sans code et la gestion MLOps.
Points forts et faiblesses
Points forts :
- Facilité d'utilisation exceptionnelle : Reconnu pour son API simple, sa documentation complète et son intégration transparente, le rendant très accessible aux débutants comme aux experts.
- Écosystème mature et robuste : Bénéficie d'une communauté vaste et active, de mises à jour fréquentes, de poids pré-entraînés facilement disponibles et de ressources complètes.
- Équilibre des performances : Offre un excellent compromis entre la vitesse et la précision, ce qui en fait un choix pratique pour un large éventail d’applications réelles.
- Efficacité de l'entraînement : Reconnu pour son processus d'entraînement efficace, ses besoins en mémoire inférieurs à ceux de nombreuses architectures complexes et sa convergence plus rapide avec des poids pré-entraînés.
- Polyvalence : Prend en charge plusieurs tâches au-delà de la détection d'objets, y compris la segmentation d'instance et la classification d'images.
Faiblesses :
- Détection basée sur les ancres : Repose sur des boîtes d'ancrage, ce qui peut parfois nécessiter un réglage pour des performances optimales sur les ensembles de données avec des formes d'objet non conventionnelles.
- Compromis en matière de précision : Bien que très performants, les modèles YOLOv5 plus petits privilégient la vitesse, et les architectures plus récentes comme YOLOv10 peuvent atteindre des scores mAP plus élevés sur les bancs d’essai standard.
Cas d'utilisation
La polyvalence et l'efficacité de YOLOv5 le rendent adapté à un grand nombre de domaines :
- Edge Computing : Sa vitesse et la taille réduite de ses modèles le rendent parfait pour un déploiement sur des appareils 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 : Idéal pour la surveillance en temps réel dans les systèmes de sécurité et les applications de sécurité publique.
- Applications mobiles : Convient aux tâches de détection d’objets sur l’appareil où la consommation de ressources est une préoccupation majeure.
Comparaison directe : Analyse des performances
Le tableau ci-dessous fournit une comparaison détaillée de différentes variantes des modèles YOLOv10 et YOLOv5, évaluées sur l'ensemble de données COCO. Les mesures mettent en évidence les compromis entre la précision (mAP), la vitesse d'inférence et la complexité du modèle (paramètres et FLOPs).
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.20 | 56.9 | 160.4 |
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 |
D'après les données, il est clair que les modèles YOLOv10 atteignent systématiquement des scores mAP plus élevés avec beaucoup moins de paramètres et de FLOPs que leurs homologues YOLOv5. Par exemple, YOLOv10-S surpasse YOLOv5-m en précision (46,7 contre 45,4 mAP) tout en n'ayant qu'environ un tiers des paramètres. Cela démontre l'efficacité architecturale supérieure de YOLOv10.
Cependant, Ultralytics YOLOv5 maintient une position forte, en particulier en ce qui concerne la vitesse d'inférence sur du matériel spécifique. Le modèle YOLOv5n affiche une vitesse remarquable sur les CPU et les GPU T4, ce qui en fait un excellent choix pour les applications où chaque milliseconde compte et où les ressources sont très limitées.
Conclusion : Quel modèle devriez-vous choisir ?
YOLOv10 et Ultralytics YOLOv5 sont tous deux des modèles exceptionnels, mais ils répondent à des priorités différentes.
YOLOv10 est le choix idéal pour les développeurs et les chercheurs qui ont besoin de repousser les limites de la performance et de l'efficacité. Son architecture sans NMS offre un avantage tangible dans les applications critiques en termes de latence, et sa capacité à fournir une haute précision avec un modèle plus petit change la donne pour le déploiement sur les appareils périphériques. Si votre projet exige le meilleur compromis vitesse-précision et que vous êtes à l'aise avec un modèle plus récent et en évolution, YOLOv10 est une option intéressante.
Ultralytics YOLOv5 reste le choix recommandé pour la majorité des utilisateurs, en particulier ceux qui privilégient la facilité d’utilisation, le développement rapide et un écosystème stable et bien pris en charge. Son bilan éprouvé, sa documentation exhaustive et son intégration transparente avec des outils comme Ultralytics HUB le rendent incroyablement accessible. Pour les projets qui nécessitent un modèle fiable, polyvalent et facile à déployer avec un équilibre fantastique des performances, YOLOv5 est un choix exceptionnel et fiable.
En fin de compte, la décision dépend des contraintes et des objectifs spécifiques de votre projet. Pour une efficacité de pointe, tournez-vous vers YOLOv10. Pour une solution robuste, conviviale et polyvalente, Ultralytics YOLOv5 est difficile à battre.
Explorer d'autres modèles YOLO
Le paysage YOLO est en constante évolution. Pour ceux qui souhaitent explorer au-delà de YOLOv10 et YOLOv5, Ultralytics propose une gamme de modèles puissants. Pensez à consulter Ultralytics YOLOv8, qui offre un excellent équilibre entre performances et polyvalence avec la prise en charge de plusieurs tâches de vision, ou le dernier YOLO11 pour des résultats de pointe.
D'autres comparaisons sont disponibles pour vous aider à sélectionner le meilleur modèle pour vos besoins :