Passer au contenu

YOLOv10 vs. PP-YOLOE+ : Une comparaison technique complète

La sélection du bon modèle de détection d'objets est une étape cruciale dans le développement d'applications de vision par ordinateur efficaces. Le choix implique souvent de peser les compromis entre la vitesse d'inférence, la précision de détection et les contraintes matérielles. Cette comparaison technique analyse YOLOv10un détecteur de bout en bout en temps réel de l'université de Tsinghua, et PP-YOLOE+, un modèle de haute précision de l'écosystème PaddlePaddle de Baidu. Les deux modèles introduisent des innovations architecturales significatives, mais ils répondent à des besoins de déploiement et à des environnements de développement différents.

YOLOv10: la nouvelle norme pour la détection en temps réel de bout en bout

YOLOv10 représente une avancée significative dans la série YOLO (You Only Look Once), en se concentrant sur l'élimination des goulets d'étranglement liés au post-traitement traditionnel. Développé par des chercheurs de l'université de Tsinghua, il permet de réduire la latence et d'améliorer l'efficacité en éliminant la nécessité d'une suppression non maximaleNMS.

Auteurs : Ao Wang, Hui Chen, Lihao Liu, et al.
Organization:Tsinghua University
Date : 2024-05-23
ArXiv:https://arxiv.org/abs/2405.14458
GitHub:https://github.com/THU-MIG/yolov10
Docsultralytics

Architecture et principales fonctionnalités

YOLOv10 introduit une stratégie cohérente d'assignation double pendant la formation. Cette méthode permet au modèle de prédire une seule meilleure boîte pour chaque objet pendant l'inférence, éliminant ainsi le besoin d'un post-traitementNMS . Cette conceptionNMS" réduit considérablement la latence de l'inférence, en particulier dans les scènes avec des groupes d'objets denses.

Les principales avancées architecturales sont les suivantes

  • Conception holistique efficacité/précision : Le modèle utilise des têtes de classification légères et un sous-échantillonnage découplé des canaux spatiaux pour réduire les coûts de calcul(FLOP) sans sacrifier la précision.
  • Conception de blocs guidée par les rangs : Pour optimiser le compromis entre vitesse et précision, les différentes étapes du modèle utilisent des blocs de conception différente, réduisant ainsi la redondance dans les couches profondes.
  • Convolutions à gros noyau : L'utilisation stratégique de convolutions à gros noyau améliore le champ réceptif, ce qui permet au modèle de mieux comprendre le contexte et de detect petits objets.

Points forts et faiblesses

YOLOv10 est conçu pour une efficacité maximale, ce qui en fait un choix formidable pour les applications en temps réel.

  • Points forts : l'élimination du NMS permet d'obtenir des vitesses d'inférence plus rapides et déterministes. Il offre une efficacité supérieure en matière de paramètres, atteignant des scoresmAP élevés avec moins de paramètres que ses prédécesseurs. Son intégration dans l'écosystème Ultralytics garantit qu'il est facile à former et à déployer à l'aide d'une simple APIPython .
  • Points faibles : En tant que détecteur d'objets spécialisé, il se concentre actuellement sur la détection de la boîte englobante, alors que d'autres modèles de la suite Ultralytics prennent en charge un éventail plus large de tâches telles que la segmentation et l'estimation de la pose.

Cas d'utilisation idéaux

  • Robotique autonome : La faible latence de YOLOv10 est essentielle pour la robotique où des décisions en une fraction de seconde sont nécessaires pour la navigation et l'évitement des obstacles.
  • Déploiement de l'IA en périphérie : Avec des variantes aussi petites que YOLOv10, il est parfaitement adapté aux appareils périphériques tels que le NVIDIA Jetson ou le Raspberry Pi.
  • Surveillance du trafic : La capacité du modèle à gérer des scènes denses sans surcharge NMS en fait un outil idéal pour la gestion du trafic en temps réel.

En savoir plus sur YOLOv10

PP-YOLOE+ : L'ingénierie de précision dans l'écosystème PaddlePaddle

PP-YOLOE+ est une évolution de la série PP-YOLOE, développée par Baidu. Il s'agit d'un détecteur évolutif, sans ancrage, qui privilégie la haute précision. Il constitue la pierre angulaire de la gamme PaddlePaddle optimisé spécifiquement pour cet environnement.

Auteurs : PaddlePaddle Auteurs
Organisation:Baidu
Date : 2022-04-02
ArXiv:https://arxiv.org/abs/2203.16250
GitHubPaddlePaddle
DocsPaddlePaddle

Architecture et principales fonctionnalités

PP-YOLOE+ adopte une architecture sans ancrage, ce qui simplifie l'espace de recherche des hyperparamètres par rapport aux prédécesseurs basés sur l'ancrage.

Les principales caractéristiques sont les suivantes :

  • CSPRepResNet Backbone : Cette épine dorsale combine les avantages du flux de gradient de CSPNet avec l'efficacité de l'inférence des blocs ResNet re-paramétrés.
  • Task Alignment Learning (TAL) : une stratégie spécialisée d'attribution d'étiquettes qui aligne dynamiquement la qualité de la classification des ancres sur la précision de la localisation.
  • Tête efficace alignée sur les tâches (ET-Head) : Une tête de détection découplée qui traite les caractéristiques de classification et de localisation de manière indépendante afin d'éviter les conflits.

Points forts et faiblesses

PP-YOLOE+ est un modèle robuste mais comporte des dépendances qui peuvent affecter son adoption.

  • Points forts : il offre une excellente précision sur des critères de référence tels que COCOen particulier dans ses configurations les plus larges (L et X). Il est hautement optimisé pour le matériel supporté par le moteur d'inférence PaddlePaddle .
  • Faiblesses : La principale limite est sa dépendance à l'égard de l'écosystème PaddlePaddle . Pour les développeurs habitués à PyTorchla migration vers PP-YOLOE+ implique une courbe d'apprentissage plus raide et des frictions potentielles dans l'intégration des outils. En outre, le nombre de paramètres est nettement supérieur à celui de YOLOv10 pour une précision comparable, ce qui entraîne une utilisation plus importante de la mémoire.

Cas d'utilisation idéaux

  • Inspection industrielle : Sa grande précision lui permet de détecter des défauts infimes dans la fabrication.
  • Analyse de la vente au détail : Efficace pour le comptage des stocks et la reconnaissance des produits dans les environnements de vente au détail intelligents.
  • Tri des matériaux : Utilisé dans les installations de recyclage pour le tri automatisé de divers matériaux.

En savoir plus sur PP-YOLOE+

Analyse des performances : Efficacité et précision

Si l'on compare les mesures techniques, YOLOv10 présente un net avantage en termes d'efficacité. Il atteint une précision comparable ou supérieuremAP) tout en utilisant beaucoup moins de paramètres et de ressources informatiques (FLOP).

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
PP-YOLOE+t64039.9-2.844.8519.15
PP-YOLOE+s64043.7-2.627.9317.36
PP-YOLOE+m64049.8-5.5623.4349.91
PP-YOLOE+l64052.9-8.3652.2110.07
PP-YOLOE+x64054.7-14.398.42206.59

Points clés à retenir

  • Efficacité : YOLOv10l atteint un mAP plus élevé (53,3 %) que PP-YOLOE+l (52,9 %) tout en utilisant près de 44 % de paramètres en moins. YOLOv10 est donc beaucoup plus léger à stocker et plus rapide à charger.
  • Vitesse : la conception NMS de YOLOv10 se traduit par une latence plus faible dans tous les domaines. Par exemple, YOLOv10n est exceptionnellement rapide (1,56 ms), ce qui le rend idéal pour l'analyse vidéo à grande vitesse.
  • Évolutivité : Bien que PP-YOLOE+x ait un léger avantage en termes de mAP brut (0,3 % de plus), il nécessite presque le double de paramètres (98,42 millions contre 56,9 millions) et de FLOP par rapport à YOLOv10x.

Efficacité de la mémoire

Les modèles Ultralytics tels que YOLOv10 et YOLO11 présentent généralement des besoins en mémoire plus faibles lors de l'apprentissage et de l'inférence par rapport aux architectures plus anciennes ou aux modèles lourds basés sur des transformateurs. Cette efficacité permet d'augmenter la taille des lots et d'accélérer les cycles d'apprentissage sur le matériel GPU standard.

L'avantage Ultralytics

Bien que les deux modèles soient capables, le choix d'un modèle au sein de l'écosystèmeUltralytics - tel que YOLOv10 ou le modèle à la pointe de la technologie YOLO11-offre des avantages distincts aux développeurs.

  1. Facilité d'utilisation : l'APIPython d' Ultralytics fait abstraction du code standard complexe. Vous pouvez entraîner, valider et déployer un modèle en seulement quelques lignes de Python.
  2. Un écosystème bien entretenu : Les utilisateurs bénéficient de mises à jour fréquentes, d'une communauté dynamique sur GitHub, et d'intégrations transparentes avec des outils MLOps comme Ultralytics HUB et Weights & Biases.
  3. Polyvalence : Au-delà de la détection standard d'objets, les frameworks Ultralytics prennent en charge la segmentation d'instances, la classification d'images, l'estimation de la pose et la détection de boîtes de délimitation orientées (OBB), offrant ainsi une solution unifiée pour diverses tâches de vision par ordinateur.

Exemple de code : Exécution de YOLOv10 avec Ultralytics

L'intégration de YOLOv10 dans votre flux de travail est simple grâce à la bibliothèque Ultralytics :

from ultralytics import YOLO

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

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

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

Conclusion

Dans la comparaison entre YOLOv10 et PP-YOLOE+, YOLOv10 apparaît comme le meilleur choix pour la plupart des applications générales de vision par ordinateur. Son architectureNMS résout un goulot d'étranglement de longue date dans la latence de la détection d'objets, et son utilisation très efficace des paramètres lui permet d'être déployé sur une plus large gamme de matériel, des appareils périphériques aux serveurs en nuage.

PP-YOLOE+ reste un concurrent de taille pour les utilisateurs strictement liés au cadre PaddlePaddle ou pour ceux qui privilégient les gains marginaux en termes de précision par rapport à l'efficacité des calculs. Cependant, pour les développeurs qui recherchent un équilibre entre vitesse, précision et facilité d'utilisation, YOLOv10écosystème plus large d'Ultralytics offrent une solution plus évolutive et plus conviviale pour les développeurs.

Explorer d'autres modèles

Si vous souhaitez explorer d'autres options au sein de l'écosystème Ultralytics , vous pouvez consulter ces comparaisons :

  • YOLO11 vs. YOLOv10: Découvrez comment le dernier modèle phare se compare au YOLOv10, qui est axé sur l'efficacité.
  • YOLOv10 vs. RT-DETR: Comparer les transformateurs en temps réel avec les architectures YOLO basées sur le CNN.
  • YOLOv8 vs. PP-YOLOE+: Analyse des performances du modèle YOLOv8 , largement adopté, par rapport au modèle de Baidu.

Commentaires