RTDETRv2 vs. PP-YOLOE+ : Comparaison technique des transformateurs et des CNN
Le paysage de la détection d'objets a considérablement évolué, se ramifiant en philosophies architecturales distinctes. D'un côté, nous avons l'efficacité établie des réseaux neuronaux convolutifs (CNN), et de l'autre, la puissance émergente des transformateurs de vision (ViT). Cette comparaison explore deux modèles importants développés par Baidu: RTDETRv2 (Real-Time Detection Transformer v2) et PP-YOLOE+.
Alors que PP-YOLOE+ représente l'apogée de la détection sans ancrage basée sur le CNN au sein de l'écosystème PaddlePaddle , RTDETRv2 repousse les limites en adaptant l'architecture Transformer aux applications en temps réel. Il est essentiel pour les ingénieurs qui choisissent le bon outil pour leurs projets de vision par ordinateur de comprendre les nuances entre ces deux systèmes, depuis la conception de leur réseau neuronal jusqu'à leurs exigences en matière de déploiement.
RTDETRv2 : L'évolution du transformateur
RTDETRv2 s'appuie sur le succès de l'original RT-DETR, visant à résoudre le coût de calcul élevé généralement associé aux modèles basés sur DETR tout en conservant leur compréhension supérieure du contexte global. Il est conçu pour combler le fossé entre la haute précision des transformateurs et la vitesse requise pour l'inférence en temps réel.
- Auteurs : Wenyu Lv, Yian Zhao, Qinyao Chang, Kui Huang, Guanzhong Wang et Yi Liu
- Organisation :Baidu
- Date : 2023-04-17 (Original RT-DETR), v2 updates followed
- Arxiv :https://arxiv.org/abs/2304.08069
- GitHub :https://github.com/lyuwenyu/RT-DETR/tree/main/rtdetrv2_pytorch
Architecture et principales fonctionnalités
RTDETRv2 utilise un codeur hybride qui traite efficacement les caractéristiques multi-échelles. Contrairement aux CNN traditionnels qui s'appuient fortement sur des convolutions locales, l'architecture du transformateur utilise des mécanismes d'auto-attention pour capturer les dépendances à longue portée à travers l'image. Une innovation clé est la sélection de requête IoU, qui améliore l'initialisation des requêtes d'objets, conduisant à une convergence plus rapide et à une meilleure précision. En outre, elle élimine la nécessité d'un post-traitement de suppression non maximale (NMS), ce qui rend le pipeline véritablement complet.
Points forts et faiblesses
Points forts :
- Contexte global : Le mécanisme d'attention permet au modèle de comprendre les relations entre des parties éloignées d'une image, ce qui lui permet d'exceller dans les scènes encombrées ou lorsque le contexte est vital.
- Logique de bout en bout : La suppression de NMS simplifie le pipeline de déploiement et supprime un hyperparamètre qui nécessite souvent un réglage manuel.
- Précision élevée : il atteint généralement une précision moyenne plus élevée (mAP) sur des ensembles de données tels que COCO par rapport aux CNN de taille similaire.
Faiblesses :
- Intensité des ressources : Malgré les optimisations, les transformateurs consomment intrinsèquement plus de mémoire CUDA et nécessitent des GPU plus puissants pour l'apprentissage que les CNN efficaces.
- Complexité de l'apprentissage : La convergence peut être plus lente et la recette d'apprentissage est souvent plus sensible aux hyperparamètres que les modèles YOLO standard.
PP-YOLOE+ : La puissance de CNN sans ancrage
PP-YOLOE+ est une évolution de la série YOLO développée spécifiquement pour le cadre PaddlePaddle . Elle se concentre sur le déploiement pratique, en optimisant le compromis entre la vitesse d'inférence et la précision de détection à l'aide d'une architecture CNN pure.
- Auteurs : Auteurs de PaddlePaddle
- Organisation :Baidu
- Date : 2022-04-02
- Arxiv :https://arxiv.org/abs/2203.16250
- GitHub :https://github.com/PaddlePaddle/PaddleDetection/
Architecture et principales fonctionnalités
PP-YOLOE+ est doté d'un backbone CSPRepResNet et d'un collier de réseau d'agrégation de chemins (PAN). Il utilise une tête sans ancrage, ce qui simplifie la conception en supprimant le besoin de boîtes d'ancrage prédéfinies. Le modèle utilise l'apprentissage par alignement des tâches (TAL), une stratégie dynamique d'attribution d'étiquettes qui garantit que les tâches de classification et de localisation sont bien synchronisées, ce qui améliore la qualité des prédictions finales.
Points forts et faiblesses
Points forts :
- Vitesse d'inférence : En tant que modèle basé sur le CNN, il est fortement optimisé pour la vitesse, en particulier sur le matériel de pointe où les opérations de convolution sont bien accélérées.
- Conception simplifiée : L'absence d'ancrage réduit le nombre d'hyperparamètres et d'heuristiques d'ingénierie nécessaires.
- Des performances équilibrées : Il offre un rapport précision/vitesse compétitif, ce qui le rend adapté aux applications industrielles générales.
Faiblesses :
- Dépendance à l'égard du cadre de travail : Le fait d'être profondément lié à l'écosystème PaddlePaddle peut créer des frictions pour les équipes travaillant principalement avec PyTorch ou TensorFlow .
- Champs réceptifs locaux : Bien qu'efficaces, les CNN ont plus de mal que les transformateurs à saisir le contexte global dans des scènes visuelles très complexes.
Analyse des performances : Précision et efficacité
Le choix entre RTDETRv2 et PP-YOLOE+ dépend souvent des contraintes spécifiques de l'environnement de déploiement. Si le matériel permet une charge de calcul plus élevée, RTDETRv2 offre des capacités de détection supérieures. Inversement, pour les scénarios d'inférence en temps réel soumis à des contraintes strictes, PP-YOLOE+ reste un concurrent de poids.
| Modèle | Taille (pixels) | mAPval 50-95 | Vitesse CPU ONNX (ms) | Vitesse T4 TensorRT10 (ms) | paramètres (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| RTDETRv2-s | 640 | 48.1 | - | 5.03 | 20 | 60 |
| RTDETRv2-m | 640 | 51.9 | - | 7.51 | 36 | 100 |
| RTDETRv2-l | 640 | 53.4 | - | 9.76 | 42 | 136 |
| RTDETRv2-x | 640 | 54.3 | - | 15.03 | 76 | 259 |
| 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 |
Aperçu des données :
- Précision : Le plus grand modèle PP-YOLOE+x obtient la mAP la plus élevée (54,7), devançant le modèle RTDETRv2-x. Cependant, si l'on considère les moyennes et grandes tailles, RTDETRv2 fournit généralement une plus grande précision par niveau de modèle.
- Temps de latence : PP-YOLOE+s est le roi de la vitesse avec 2,62 ms sur TensorRT, ce qui souligne l'efficacité des architectures CNN pour les tâches légères.
- Calcul : Les modèles RTDETRv2 nécessitent généralement moins de paramètres que leurs équivalents directs PP-YOLOE+ (par exemple, RTDETRv2-x a 76M de paramètres contre 98M pour PP-YOLOE+x), mais l'architecture du transformateur se traduit souvent par des FLOPs et une consommation de mémoire plus élevés pendant l'opération.
L'avantage Ultralytics : Pourquoi les développeurs choisissent YOLO11
Bien que l'exploration de modèles tels que RTDETRv2 et PP-YOLOE+ donne un aperçu des différentes approches architecturales, la plupart des développeurs ont besoin d'une solution qui équilibre les performances avec la facilité d'utilisation et le soutien de l'écosystème. C'est là qu'intervient Ultralytics YOLO11 excelle.
Ultralytics YOLO11 n'est pas seulement un modèle ; il fait partie d'un cadre complet d'IA visionnaire conçu pour rationaliser l'ensemble du cycle de vie des opérations d'apprentissage automatique (MLOps).
Principaux avantages des modèles Ultralytics
- Facilité d'utilisation : Contrairement à la configuration complexe souvent requise pour les modèles de transformateurs orientés vers la recherche ou les outils spécifiques au cadre comme PaddleDetection, Ultralytics offre une expérience "de zéro à héros". Vous pouvez former un modèle de pointe en quelques lignes de code Python .
- Efficacité de la mémoire : Les modèles basés sur les transformateurs tels que RTDETRv2 sont notoirement gourmands en mémoire et nécessitent une mémoire CUDA importante pour l'entraînement. Les modèlesYOLO d'Ultralytics sont optimisés pour l'efficacité, permettant l'entraînement sur des GPU grand public et le déploiement sur des périphériques tels que Raspberry Pi ou Jetson Nano.
- Polyvalence : Alors que PP-YOLOE+ et RTDETRv2 se concentrent principalement sur la détection, YOLO11 prend nativement en charge un large éventail de tâches, notamment la segmentation d'instances, l'estimation de la pose, la classification et la détection d'objets orientés (OBB).
- Un écosystème bien entretenu : Avec des mises à jour fréquentes, une documentation complète et une communauté massive, Ultralytics s'assure que vous ne serez jamais bloqué par un manque de support ou des dépendances obsolètes.
- Efficacité de la formation : Ultralytics fournit des poids pré-entraînés facilement disponibles et des pipelines d'augmentation de données robustes qui aident les modèles à converger plus rapidement avec moins de données.
Optimisation de la mémoire
L'apprentissage des modèles de transformateurs nécessite souvent des GPU haut de gamme avec plus de 24 Go de VRAM. En revanche, les modèlesYOLO11 d'Ultralytics sont hautement optimisés et peuvent souvent être affinés sur des GPU standard avec seulement 8 Go de VRAM, ce qui réduit considérablement la barrière à l'entrée pour les développeurs et les startups.
Mise en œuvre simple avec Ultralytics
Le code suivant démontre à quel point il est facile d'entraîner et de déployer un modèle en utilisant l'APIPython d'Ultralytics , en soulignant la conception conviviale par rapport aux référentiels académiques plus complexes.
from ultralytics import YOLO
# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt")
# Train the model on your custom dataset
# This handles data loading, augmentation, and logging automatically
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image
# Returns a list of Result objects with boxes, masks, keypoints, etc.
results = model("path/to/image.jpg")
# Export the model to ONNX for deployment
model.export(format="onnx")
Conclusion : Faire le bon choix
Le choix entre RTDETRv2, PP-YOLOE+ et Ultralytics YOLO11 doit être guidé par les exigences spécifiques de votre application.
- Choisissez RTDETRv2 si vous menez des recherches universitaires ou si vous travaillez sur du matériel haut de gamme où la maximisation de la précision dans des scènes complexes et encombrées est la seule mesure qui compte, et si vous pouvez vous permettre des coûts de formation plus élevés.
- Choisissez PP-YOLOE+ si vous êtes profondément intégré dans l'écosystème PaddlePaddle et si vous avez besoin d'un détecteur solide basé sur CNN qui fonctionne efficacement sur le matériel spécifique pris en charge.
- Choisissez Ultralytics YOLO11 pour la grande majorité des applications commerciales et pratiques. Son équilibre supérieur entre vitesse, précision et efficacité de la mémoire, combiné à la prise en charge de la segmentation et du suivi, en fait le choix le plus productif pour les développeurs. La facilité de déploiement vers des formats tels que TensorRT, CoreML et OpenVINO garantit que votre modèle peut être exécuté n'importe où, du nuage à la périphérie.
Explorer d’autres comparaisons de modèles
Pour mieux comprendre comment ces architectures se situent par rapport à d'autres solutions de pointe, consultez ces comparaisons détaillées :