YOLOv7 PP-YOLOE+ : confrontation architecturale dans la détection d'objets en temps réel
Le paysage de la vision par ordinateur est caractérisé par une innovation constante, et 2022 a été une année charnière qui a vu la sortie de deux architectures très influentes : YOLOv7 et PP-YOLOE+. Alors que YOLOv7 la lignée de la YOLO en mettant l'accent sur l'optimisation « bag-of-freebies », PP-YOLOE+ représente la volonté de Baidu de se diriger vers une détection haute performance et sans ancrage au sein de PaddlePaddle .
Pour les chercheurs et les ingénieurs, le choix entre ces modèles dépend souvent des exigences spécifiques du cadre (PyTorch PaddlePaddle) et du matériel de déploiement. Ce guide propose une comparaison technique approfondie de leurs architectures, de leurs mesures de performance et de leur facilité d'utilisation, tout en présentant des alternatives modernes telles que YOLO26, qui réunit les meilleures fonctionnalités de ses prédécesseurs dans un cadre transparent et complet, NMS.
Comparaison des indicateurs de performance
Le tableau suivant compare les performances de YOLOv7 PP-YOLOE+ à différentes échelles de modèle. Alors que YOLOv7 de solides capacités de détection, PP-YOLOE+ offre un compromis très compétitif entre le nombre de paramètres et la vitesse d'inférence.
| 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 |
| 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 |
YOLOv7 : La puissance « Bag-of-Freebies »
Sorti mi-2022, YOLOv7 les limites de la détection d'objets en se concentrant sur l'efficacité architecturale et les stratégies d'optimisation de la formation qui n'augmentent pas le coût de l'inférence.
- Auteurs : Chien-Yao Wang, Alexey Bochkovskiy et Hong-Yuan Mark Liao
- Organisation : Institute of Information Science, Academia Sinica, Taïwan
- Date : 2022-07-06
- Liens :Article ArXiv | Dépôt GitHub
Principales caractéristiques architecturales
YOLOv7 E-ELAN (Extended Efficient Layer Aggregation Network), une architecture novatrice conçue pour contrôler les chemins de gradient les plus courts et les plus longs, permettant au réseau d'apprendre des caractéristiques plus diverses. Il a également largement utilisé un « bag-of-freebies entraînable », comprenant la reparamétrisation du modèle et l'attribution dynamique d'étiquettes.
Cependant, YOLOv7 un détecteur basé sur des ancres. Bien que cette méthodologie ait fait ses preuves, elle nécessite souvent un réglage minutieux des boîtes d'ancrage pour les ensembles de données personnalisés, ce qui peut compliquer le processus d'entraînement par rapport aux nouvelles implémentations sans ancrage que l'on trouve dans YOLOv8 ou YOLO26.
PP-YOLOE+: Le challenger sans ancres
PP-YOLOE+ est une évolution de PP-YOLOE, développé par Baidu dans le cadre de sa suite PaddleDetection. Il a été conçu pour pallier les limites des méthodes basées sur les ancres tout en optimisant la vitesse d'inférence sur divers matériels.
- Auteurs : Auteurs de PaddlePaddle
- Organisation :Baidu
- Date : 2022-04-02
- Liens :Article ArXiv | Dépôt GitHub
Principales caractéristiques architecturales
PP-YOLOE+ utilise un sans ancre paradigme, réduisant considérablement le nombre d'hyperparamètres. Son cœur repose sur le RepResBlock (inspiré par RepVGG) et un Apprentissage par alignement des tâches (TAL) stratégie qui aligne de manière dynamique les tâches de classification et de localisation. Il en résulte une grande précision, en particulier au niveau x (très grande) échelle où il atteint un niveau impressionnant 54,7 % mAP.
Considérations relatives à l'écosystème
Bien que PP-YOLOE+ offre d'excellentes performances, il est étroitement lié au PaddlePaddle . Les développeurs habitués à PyTorch rencontrer des difficultés d'apprentissage et des frictions lorsqu'ils tentent d'intégrer ces modèles dans des pipelines MLOps existants PyTorch ou lorsqu'ils utilisent des outils de déploiement standard tels que TorchScript.
Comparaison : Architecture et Facilité d'utilisation
Basé sur l'ancre vs. Sans ancre
La différence la plus notable réside dans leur approche des boîtes englobantes. YOLOv7 utilise des boîtes d'ancrage prédéfinies, qui servent de modèles de référence pour la détection d'objets. Cela fonctionne bien pour les ensembles de données standard tels que COCO , mais peut poser des difficultés avec les formes irrégulières des objets présents dans des ensembles de données tels que DOTA-v2, à moins qu'elles ne soient renvoyées manuellement.
PP-YOLOE+ ne nécessite aucun ancrage, prédisant directement le centre des objets et leur distance par rapport aux limites. Cela simplifie généralement le processus d'entraînement. Ultralytics modernes, tels que YOLO11 et YOLO26, ont également adopté des architectures sans ancrage et même NMS afin de maximiser la flexibilité et la vitesse.
Mémoire et efficacité
Ultralytics sont réputés pour leur efficacité en matière d'entraînement. Alors que YOLOv7 GPU importante pour ses modèles les plus volumineux en raison des chemins de concaténation complexes dans E-ELAN, PP-YOLOE+ optimise cela via une reparamétrisation. Cependant, les itérations plus récentes telles que YOLO26 surpassent les deux en supprimant les composants lourds tels que la perte focale de distribution (DFL), ce qui se traduit par des besoins en mémoire nettement inférieurs pendant l'entraînement et l'inférence.
L'avenir : pourquoi déménager à YOLO26 ?
Alors que YOLOv7 PP-YOLOE+ étaient à la pointe de la technologie en 2022, le domaine a rapidement évolué. YOLO26, lancé par Ultralytics janvier 2026, représente l'aboutissement de ces avancées, en répondant aux points faibles spécifiques des modèles précédents.
Conception de bout en bout sans NMS
L'un des principaux goulots d'étranglement dans YOLOv7 PP-YOLOE+ est la suppression non maximale (NMS), une étape de post-traitement nécessaire pour filtrer les détections en double. YOLO26 est nativement NMS de bout en bout. Cela élimine la variabilité de latence causée par NMS les scènes encombrées, ce qui le rend idéal pour les applications en temps réel telles que les véhicules autonomes et la surveillance du trafic.
Optimisé pour l'Edge Computing
YOLO26 se caractérise par la suppression de la perte focale de distribution (DFL). Cette simplification architecturale rationalise le processus d'exportation vers des formats tels que CoreML et TFLite, garantissant une meilleure compatibilité avec les appareils à faible consommation d'énergie. Combiné à des optimisations pour CPU , YOLO26 offre CPU jusqu'à 43 % plus rapides que les générations précédentes, un avantage essentiel pour les déploiements IoT.
Formation avancée en stabilité
Inspiré par les innovations dans la formation des grands modèles linguistiques (LLM), YOLO26 intègre l'optimiseur MuSGD, un hybride de SGD Muon (inspiré du Kimi K2 de Moonshot AI). Il en résulte une convergence plus rapide et des cycles de formation plus stables, ce qui réduit les « essais et erreurs » souvent associés à la formation des modèles d'apprentissage profond. De plus, l'intégration de ProgLoss et STAL (Soft-Task Alignment Learning) améliore considérablement les performances en matière de détection de petits objets, un domaine dans lequel les anciens modèles rencontraient souvent des difficultés.
Facilité d'utilisation avec Ultralytics
L'une des caractéristiques déterminantes de Ultralytics est sa facilité d'utilisation. Que vous utilisiez YOLOv8, YOLOv9ou le très récent YOLO26, l'API reste cohérente et simple.
Contrairement à la configuration de PaddlePaddle pour PP-YOLOE+, qui peut nécessiter CUDA spécifique et l'installation de bibliothèques distinctes, Ultralytics fonctionnent immédiatement avec une version standard. pip install ultralytics.
from ultralytics import YOLO
# Load a pre-trained YOLO model (YOLO26n for maximum speed)
model = YOLO("yolo26n.pt")
# Train the model on a custom dataset with a single command
# The system handles data augmentation, logging, and plots automatically
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image
results = model.predict("path/to/image.jpg")
# Export to ONNX for deployment
model.export(format="onnx")
Conclusion
Les deux YOLOv7 et PP-YOLOE+ sont des architectures performantes. YOLOv7 un choix judicieux pour ceux qui ont beaucoup investi dans YOLO classique et PyTorch, offrant une grande précision. PP-YOLOE+ est un excellent choix pour les utilisateurs de l'écosystème Baidu, offrant une grande efficacité en termes de paramètres.
Cependant, pour les développeurs à la recherche d'un écosystème bien entretenu, d'une polyvalence inégalée (couvrant la détection, la segmentation, l'estimation de la pose et l'OBB) et des dernières avancées en matière de performances, Ultralytics est le choix idéal. Sa conception de bout en bout, son empreinte mémoire réduite et ses améliorations spécifiques à certaines tâches (comme le RLE pour les pertes de pose et de segmentation sémantique) en font la solution la plus pérenne pour relever les défis de l'IA dans le monde réel.
Pour commencer votre aventure avec l'IA visuelle la plus avancée, découvrez la Ultralytics qui vous permettra de vous former et de vous déployer en toute simplicité.
Explorer d'autres modèles
Vous souhaitez comparer d'autres modèles ? Consultez nos comparaisons entre YOLOv6 YOLOv7 et RT-DETR YOLOv8 afin de trouver celui qui correspond le mieux aux contraintes de votre projet.