YOLOv7 vs YOLOv10 : Une comparaison technique détaillée
Le choix du bon modèle de détection d'objets implique un équilibre entre la précision, la vitesse et les exigences de déploiement. Cette page fournit une comparaison technique détaillée entre YOLOv7 et YOLOv10, deux modèles importants dans le paysage de la détection d'objets en temps réel. Nous examinerons en profondeur leurs différences architecturales, leurs mesures de performance et leurs cas d'utilisation idéaux pour vous aider à choisir la solution la mieux adaptée à vos projets de vision par ordinateur.
YOLOv7 : Haute précision et vitesse
YOLOv7, introduit en juillet 2022, a rapidement été reconnu pour son équilibre impressionnant entre vitesse et précision, établissant de nouvelles références à l'époque. Il s'est concentré sur l'optimisation du processus d'entraînement en utilisant des "trainable bag-of-freebies" pour améliorer la précision sans augmenter les coûts d'inférence.
Détails techniques :
- Auteurs : Chien-Yao Wang, Alexey Bochkovskiy et Hong-Yuan Mark Liao
- Organisation : Institut des sciences de l'information, Academia Sinica, Taïwan
- Date : 2022-07-06
- Arxiv: https://arxiv.org/abs/2207.02696
- GitHub : https://github.com/WongKinYiu/yolov7
- Docs : https://docs.ultralytics.com/models/yolov7/
Architecture et principales fonctionnalités
YOLOv7 a introduit plusieurs améliorations architecturales et des perfectionnements d'entraînement pour atteindre ses performances :
- Extended Efficient Layer Aggregation Networks (E-ELAN) : Cette composante clé du backbone améliore la capacité du réseau à apprendre diverses caractéristiques tout en contrôlant le chemin de gradient, ce qui améliore la convergence et la précision globale.
- Mise à l’échelle du modèle : Il a mis en œuvre des méthodes de mise à l’échelle composées pour les modèles basés sur la concaténation, permettant un ajustement efficace de la profondeur et de la largeur du modèle en fonction des différents budgets de calcul.
- Sac de cadeaux entraînable : YOLOv7 a exploité des techniques avancées pendant l'entraînement, telles que les stratégies d'attribution d'étiquettes et les ajustements de normalisation par lots, pour améliorer les performances sans ajouter de surcharge pendant l'inférence.
- Tête auxiliaire grossière à fine : Le modèle utilise des têtes auxiliaires pendant l'entraînement pour améliorer la supervision profonde et guider plus efficacement le processus d'apprentissage du modèle.
Points forts et faiblesses
Points forts
- Équilibre entre précision et vitesse élevés : YOLOv7 offre une combinaison robuste de mAP élevée et de vitesse d’inférence rapide, ce qui le rend adapté à de nombreuses applications en temps réel.
- Entraînement efficace : Le modèle intègre des techniques d'entraînement avancées qui améliorent les performances sans augmenter considérablement les exigences de calcul pendant l'inférence.
- Bien établi : En tant que modèle mature, il bénéficie d'une base d'utilisateurs plus importante et de plus de ressources communautaires par rapport aux modèles les plus récents.
Faiblesses
- Dépendance NMS : YOLOv7 repose sur la suppression non maximale (NMS) pour le post-traitement, ce qui ajoute une surcharge de calcul et augmente la latence d'inférence.
- Complexité : L’architecture et les stratégies d’entraînement, bien qu’efficaces, peuvent être complexes à comprendre entièrement et à affiner pour des applications personnalisées.
Cas d'utilisation
YOLOv7 est bien adapté aux applications exigeantes où un équilibre entre vitesse et précision est essentiel :
- Surveillance avancée : Sa haute précision est précieuse pour identifier les objets ou les menaces dans les systèmes de sécurité.
- Systèmes autonomes : Il fournit une détection robuste pour les applications telles que les voitures autonomes.
- Automatisation industrielle : Le modèle peut être utilisé pour la détection fiable de défauts dans la fabrication et le contrôle qualité.
YOLOv10 : Détection en temps réel de bout en bout
YOLOv10, introduit en mai 2024 par des chercheurs de l'université de Tsinghua, représente une avancée significative dans la détection d'objets en temps réel. Son innovation principale est la création d'une solution de bout en bout en éliminant le besoin de Suppression Non Maximale (NMS), ce qui réduit la latence et améliore l'efficacité du déploiement.
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 visant à optimiser le compromis vitesse-précision :
- Formation sans NMS : Elle utilise des affectations doubles cohérentes pendant la formation, ce qui permet d’obtenir des performances compétitives sans l’étape de post-traitement NMS. Cela simplifie le pipeline de déploiement et réduit la latence d’inférence.
- Conception globale axée sur l'efficacité et la précision : Le modèle optimise divers composants, tels que la tête de classification et les couches de sous-échantillonnage, afin de réduire la redondance de calcul et d'améliorer les capacités. Cela comprend des techniques telles que la conception de blocs guidée par le rang et l'auto-attention partielle (PSA).
- Approche sans ancres : Comme d’autres modèles YOLO modernes, il adopte une conception de détecteur sans ancres, ce qui simplifie la tête de détection et améliore la généralisation.
Points forts et faiblesses
Points forts
- Haute efficacité : La conception sans NMS et d’autres optimisations architecturales permettent une inférence plus rapide, une latence plus faible et une réduction des coûts de calcul.
- Précision compétitive : Il maintient une forte précision tout en améliorant considérablement la vitesse et en réduisant la taille du modèle.
- Déploiement de bout en bout : La suppression de la NMS simplifie le pipeline de déploiement, facilitant son intégration dans les applications.
Faiblesses
- Relativement nouveau : En tant que modèle plus récent, le support de la communauté et le nombre d'exemples concrets pourraient être moins importants que pour les modèles établis tels que YOLOv7 ou Ultralytics YOLOv8.
- Réglage pour une performance optimale : L'obtention des meilleurs résultats peut nécessiter un réglage minutieux des hyperparamètres, en tirant potentiellement parti de ressources telles que les conseils d'entraînement du modèle.
Cas d'utilisation
L'accent mis par YOLOv10 sur l'efficacité en temps réel le rend idéal pour les environnements aux ressources limitées :
- Applications d'IA en périphérie : Parfait pour le déploiement sur des appareils comme NVIDIA Jetson ou Raspberry Pi, où une faible latence est essentielle.
- Robotique : Permet une perception plus rapide pour la navigation et l'interaction, un aspect clé du rôle de l'IA dans la robotique.
- Drones autonomes : Son architecture légère et rapide est adaptée à la détection rapide d'objets dans les drones et autres véhicules aériens sans pilote.
Comparaison comparative des performances
Lors de la comparaison de YOLOv7 et YOLOv10, la différence la plus significative réside dans leurs philosophies de conception. YOLOv7 vise un équilibre entre une précision et une vitesse élevées, ce qui en fait un détecteur polyvalent puissant. En revanche, YOLOv10 privilégie l'efficacité de calcul et la faible latence en éliminant NMS, ce qui en fait un choix supérieur pour les applications en temps réel sur les appareils périphériques.
Le tableau ci-dessous montre que les modèles YOLOv10 atteignent systématiquement une latence plus faible et nécessitent moins de paramètres et de FLOPs que les modèles YOLOv7 à des niveaux de mAP similaires. Par exemple, YOLOv10b atteint un mAP de 52,7 avec seulement 6,54 ms de latence, surpassant YOLOv7l, qui a un mAP similaire mais une latence plus élevée.
Modèle | Taille (pixels) |
mAPval 50-95 |
Vitesse CPU ONNX (ms) |
Vitesse T4 TensorRT10 (ms) |
paramètres (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
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 |
Conclusion et recommandation
YOLOv7 et YOLOv10 sont tous deux des modèles puissants, mais ils répondent à des besoins différents. YOLOv7 est un détecteur robuste et précis qui reste un choix solide pour les applications où l'obtention d'une mAP élevée est une priorité. YOLOv10, avec son architecture innovante sans NMS, est le grand gagnant pour les applications exigeant une efficacité maximale et une latence minimale, en particulier dans les déploiements de bout en bout.
Pour les développeurs à la recherche d'un framework moderne, polyvalent et convivial, les modèles de l'écosystème Ultralytics, tels que Ultralytics YOLOv8 et le dernier YOLO11, présentent souvent un choix plus intéressant. Ces modèles offrent :
- Facilité d'utilisation : Une API Python simplifiée, une documentation exhaustive et des commandes CLI simples.
- Écosystème bien maintenu : Développement actif, forte communauté open source et intégration avec des outils tels que Ultralytics HUB pour un MLOps transparent.
- Polyvalence des tâches : Prise en charge de plusieurs tâches au-delà de la détection d’objets, notamment la segmentation, la classification, l’estimation de pose et la détection d’objets orientés (OBB).
Explorer d'autres modèles
Si vous êtes intéressé par d'autres modèles, consultez ces comparaisons supplémentaires :
- YOLOv7 contre YOLOv8
- YOLOv10 vs YOLOv8
- YOLOv10 vs YOLOv9
- RT-DETR vs YOLOv7
- YOLOv7 contre YOLOv5
- Explorez les derniers modèles comme YOLO11.