DAMO-YOLO vs. PP-YOLOE+ : Une comparaison technique
Le choix de l'architecture optimale de détection d'objets est une décision cruciale qui a un impact sur l'efficacité, la précision et l'évolutivité des projets de vision par ordinateur. Cette comparaison complète analyse deux modèles de premier plan : YOLO, un détecteur d'Alibaba axé sur la vitesse, et PP-YOLOE+, un modèle de haute précision issu de l'écosystème PaddlePaddle de Baidu. Nous nous penchons sur leurs architectures uniques, leurs mesures de performance et leurs scénarios de déploiement idéaux pour aider les développeurs à faire des choix éclairés.
YOLO: l'innovation axée sur la vitesse d'Alibaba
YOLO, développé par le groupe Alibaba, représente une avancée significative dans la détection efficace d'objets. Il privilégie un compromis vitesse/précision supérieur, en tirant parti de techniques avancées telles que la recherche d'architecture neuronale (NAS) pour optimiser les performances sur les appareils dont les ressources sont limitées.
Détails techniques :
- Auteurs : Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang et Xiuyu Sun
- Organisation :Alibaba Group
- Date : 2022-11-23
- Arxiv :https://arxiv.org/abs/2211.15444v2
- GitHub :https://github.com/tinyvision/DAMO-YOLO
- Docs :https://github.com/tinyvision/DAMO-YOLO/blob/master/README.md
Architecture et principales fonctionnalités
YOLO se distingue par une philosophie de conception modulaire qui intègre plusieurs technologies de pointe :
- L'épine dorsale MAE-NAS : Contrairement aux modèles traditionnels qui utilisent des dorsales standard comme ResNet, YOLO utilise une dorsale découverte par le biais de la recherche d'architecture neuronale (NAS). Il en résulte une structure mathématiquement optimisée pour l'efficacité de l'extraction des caractéristiques.
- RepGFPN efficace : Le modèle utilise un réseau pyramidal généralisé (GFPN) amélioré par des techniques de re-paramétrage (Rep). Cette architecture de cou améliore la fusion des caractéristiques à différentes échelles tout en minimisant la latence pendant l'inférence.
- Technologie ZeroHead : La conception "ZeroHead", qui réduit considérablement la charge de calcul de la tête de détection, est une caractéristique remarquable. En découplant plus efficacement les tâches de classification et de régression, elle permet d'économiser des paramètres sans sacrifier la précision.
- Attribution d'étiquettes AlignedOTA : Pendant la formation, YOLO utilise AlignedOTA, une stratégie dynamique d'attribution d'étiquettes qui garantit un meilleur alignement entre les objectifs de classification et de régression, conduisant à une convergence plus rapide.
Distillation pour les modèles compacts
YOLO utilise fortement la distillation des connaissances pour ses variantes les plus petites (Tiny, Small). En transférant les connaissances d'un modèle "enseignant" plus grand à un modèle "étudiant" plus petit, il atteint une précision supérieure à celle qui serait normalement possible pour des architectures aussi légères.
PP-YOLOE+ : L'ingénierie de précision au sein du PaddlePaddle
PP-YOLOE+ est l'évolution de la série YOLO , développée par les chercheurs de Baidu. Il s'agit d'un détecteur à une seule étape, sans ancrage, conçu pour repousser les limites de la précision sur des benchmarks standard tels que l'ensemble de donnéesCOCO , spécifiquement optimisé pour le cadre d'apprentissage profond PaddlePaddle .
Détails techniques :
- Auteurs : Auteurs de PaddlePaddle
- Organisation :Baidu
- Date : 2022-04-02
- Arxiv :https://arxiv.org/abs/2203.16250
- GitHub :https://github.com/PaddlePaddle/PaddleDetection/
- Docs :https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.8.1/configs/ppyoloe/README.md
Architecture et principales fonctionnalités
PP-YOLOE+ met l'accent sur le raffinement et les composants de haute précision :
- Mécanisme sans ancrage : En adoptant une approche sans ancrage, PP-YOLOE+ simplifie le paysage des hyperparamètres, éliminant le besoin de concevoir manuellement des boîtes d'ancrage.
- CSPRepResNet : L'épine dorsale combine les réseaux partiels à étapes croisées (CSPNet) avec des blocs résiduels re-paramétrés, offrant un extracteur de caractéristiques robuste qui équilibre le flux de gradient et le coût de calcul.
- Apprentissage par alignement des tâches (TAL) : cette méthode aligne explicitement le score de classification sur la qualité de la localisationIoU), en veillant à ce que les détections de haute confiance aient également des boîtes de délimitation de haute qualité.
- ET-Head : l'Efficient Task-aligned Head (ET-Head) optimise encore la séparation des tâches de classification et de localisation, contribuant ainsi aux scores mAP élevés du modèle.
Analyse des performances : Métriques et efficacité
Lorsque l'on compare YOLO et PP-YOLOE+, le compromis se situe généralement entre la vitesse d'inférence pure et la précision absolue. YOLO est conçu pour être plus rapide sur le matériel GPU , tandis que PP-YOLOE+ vise une précision de premier ordre, souvent au prix d'une augmentation de la taille du modèle et des FLOP.
| Modèle | Taille (pixels) | mAPval 50-95 | Vitesse CPU ONNX (ms) | Vitesse T4 TensorRT10 (ms) | paramètres (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| DAMO-YOLOt | 640 | 42.0 | - | 2.32 | 8.5 | 18.1 |
| DAMO-YOLOs | 640 | 46.0 | - | 3.45 | 16.3 | 37.8 |
| DAMO-YOLOm | 640 | 49.2 | - | 5.09 | 28.2 | 61.8 |
| DAMO-YOLOl | 640 | 50.8 | - | 7.18 | 42.1 | 97.3 |
| PP-YOLOE+t | 640 | 39.9 | - | 2.84 | 4.85 | 19.15 |
| PP-YOLOE+s | 640 | 43.7 | - | 2.62 | 7.93 | 17.36 |
| PP-YOLOE+m | 640 | 49.8 | - | 5.56 | 23.43 | 49.91 |
| PP-YOLOE+l | 640 | 52.9 | - | 8.36 | 52.2 | 110.07 |
| PP-YOLOE+x | 640 | 54.7 | - | 14.3 | 98.42 | 206.59 |
Points forts et faiblesses
YOLO:
- Points forts : Vitesses d'inférence en temps réel exceptionnelles, ce qui en fait la solution idéale pour le traitement vidéo et les déploiements en périphérie où la latence est critique. L'architecture NAS garantit une utilisation efficace des ressources.
- Points faibles : La mise en œuvre est profondément liée à des bases de code de recherche spécifiques, qui peuvent être plus difficiles à intégrer dans les processus de production standard par rapport à des bibliothèques plus établies.
PP-YOLOE+ :
- Points forts : plafonds de précision très élevés, en particulier avec la variante "x" (extra-large). L'intégration à l'écosystème PaddlePaddle fournit une suite complète d'outils aux utilisateurs déjà présents dans cet environnement.
- Faiblesses : Une plus grande dépendance au framework PaddlePaddle peut être un obstacle pour les équipes standardisées sur PyTorch. Il nécessite généralement plus de paramètres pour des vitesses d'inférence similaires à celles de YOLO.
Cas d'utilisation et applications
Les différences architecturales déterminent les cas d'utilisation idéaux pour chaque modèle :
- YOLO excelle dans les domaines de l'IA et de la robotique. Sa faible latence est parfaite pour les drones ou les robots mobiles autonomes (AMR) qui ont besoin de traiter des données visuelles instantanément pour naviguer dans des environnements ou éviter des obstacles.
- PP-YOLOE+ est bien adapté à l'inspection industrielle et à l'analyse détaillée. Dans des scénarios tels que le contrôle de la qualité de fabrication ou l'analyse d'images médicales, où l'absence d'un petit défaut est plus coûteuse qu'un temps d'inférence légèrement plus lent, le mAP plus élevé de PP-YOLOE+ est précieux.
L'avantage Ultralytics : Pourquoi choisir YOLO11 ?
YOLO et PP-YOLOE+ offrent tous deux des avantages spécifiques, Ultralytics YOLO11 d'Ultralytics offre une solution holistique qui concilie performance, convivialité et soutien de l'écosystème. Pour la plupart des développeurs, YOLO11 représente le choix le plus pratique et le plus puissant pour mettre la vision par ordinateur en production.
Polyvalence et écosystème inégalés
Contrairement aux détecteurs spécialisés, YOLO11 est une centrale multimodale. Il prend en charge un large éventail de tâches, notamment la détection d'objets, la segmentation d'instances, l'estimation de la pose, la classification et la détection de boîtes de délimitation orientées (OBB), le tout dans un cadre unique et unifié.
- Facilité d'utilisation : Ultralytics privilégie l'expérience du développeur avec une API Python simple et intuitive. Vous pouvez former, valider et déployer des modèles en quelques lignes de code seulement, ce qui réduit considérablement le temps de développement par rapport aux configurations complexes souvent requises par les modèles axés sur la recherche.
- Équilibre des performances : YOLO11 atteint une précision de pointe à une vitesse remarquable. Il est optimisé pour fonctionner efficacement sur divers matériels, depuis les puissants GPU du cloud jusqu'aux appareils de pointe comme le NVIDIA Jetson, en utilisant moins de mémoire que de nombreuses alternatives basées sur les transformateurs.
- Efficacité de l'entraînement : Le cadre comprend des routines d'entraînement optimisées et une vaste bibliothèque de poids pré-entraînés. Cela permet d'affiner rapidement les réglages sur des ensembles de données personnalisés, en économisant du temps et des coûts de calcul.
Flux de travail rationalisé
L'écosystème Ultralytics est conçu pour des transitions transparentes de la recherche à la production. Grâce à une maintenance active, des mises à jour fréquentes et des intégrations avec des outils tels que TensorRT et OpenVINO, les développeurs peuvent déployer des modèles en toute confiance.
Exemple : Exécuter YOLO11 avec Python
L'utilisation de YOLO11 est simple. L'extrait de code suivant montre comment charger un modèle pré-entraîné et lancer l'inférence sur une image :
from ultralytics import YOLO
# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt")
# Run inference on a local image source
results = model("path/to/image.jpg")
# Display the inference results
results[0].show()
Cette simplicité, associée à de solides performances, fait d'Ultralytics YOLO11 le choix privilégié des développeurs qui cherchent à créer des solutions d'IA évolutives et faciles à maintenir.
Conclusion
YOLO et PP-YOLOE+ ont tous deux contribué de manière significative au domaine de la vision par ordinateur. YOLO démontre la puissance de la recherche d'architecture neuronale pour l'efficacité, tandis que PP-YOLOE+ met en évidence la précision possible avec des conceptions sans ancrage dans l'écosystème PaddlePaddle .
Cependant, pour une solution polyvalente, prête à la production et offrant un équilibre optimal entre vitesse, précision et facilité d'utilisation, Ultralytics YOLO11 reste la meilleure recommandation. Sa prise en charge complète de multiples tâches de vision, sa faible empreinte mémoire et sa documentation complète permettent aux développeurs d'innover plus rapidement et plus efficacement.