PP-YOLOE+ vs. YOLOv7: une plongée technique dans les architectures de détection d'objets
Le choix du modèle optimal de détection d'objets implique de trouver un équilibre entre la précision, la vitesse d'inférence et la complexité du déploiement. Les deux principaux concurrents dans ce domaine sont PP-YOLOE+ et YOLOv7tous deux publiés en 2022 dans le but d'améliorer les performances de pointe. Cette analyse complète explore leurs architectures uniques, leurs points de référence et leur adéquation aux applications du monde réel, afin d'aider les développeurs à prendre des décisions fondées sur des données.
Comparaison des mesures de performance
Le tableau suivant présente une comparaison directe des principales mesures de performance, y compris la précision moyenne (mAP) et les vitesses d'inférence sur le matériel pris en charge. Ces données permettent de visualiser les compromis entre l'approche sans ancrage de PP-YOLOE+ et l'architecture optimisée de YOLOv7.
| Modèle | Taille (pixels) | mAPval 50-95 | Vitesse CPU ONNX (ms) | Vitesse T4 TensorRT10 (ms) | paramètres (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
PP-YOLOE+ : Détection affinée sans ancrage
PP-YOLOE+ est une évolution de la série YOLO , développée par les chercheurs de Baidu. Il s'appuie sur les points forts de son prédécesseur, PP-YOLOE, en apportant des améliorations au processus d'apprentissage et à l'architecture afin d'améliorer encore la vitesse de convergence et les performances des tâches en aval. En tant que détecteur sans ancrage, il élimine le besoin de boîtes d'ancrage prédéfinies, ce qui simplifie la conception et réduit le réglage des hyperparamètres.
- Auteurs : Auteurs de PaddlePaddle
- Organisation :Baidu
- Date : 2022-04-02
- ArXiv :https://arxiv.org/abs/2203.16250
- GitHub :https://github.com/PaddlePaddle/PaddleDetection/
- Docs :README de PaddleDetection
Points forts de l'architecture
L'architecture de PP-YOLOE+ comprend une épine dorsale CSPResNet équipée de différents champs réceptifs pour capturer efficacement les caractéristiques à plusieurs échelles. L'une des principales innovations est la tête efficace alignée sur les tâches (ET-head), qui dissocie les tâches de classification et de régression tout en garantissant leur alignement par le biais d'une fonction de perte spécifique.
PP-YOLOE+ utilise l'apprentissage par alignement des tâches (TAL), une stratégie d'attribution d'étiquettes qui sélectionne dynamiquement les échantillons positifs sur la base de l'alignement de la classification et de la qualité de la localisation. Cela garantit que le modèle se concentre sur des prédictions de haute qualité pendant la formation. En outre, le modèle utilise une stratégie de formation distribuée et évite l'utilisation d'opérateurs non standard, ce qui facilite le déploiement sur les différentes plates-formes matérielles prises en charge par l'écosystème PaddlePaddle .
Principale caractéristique : Conception sans ancrage
En supprimant les boîtes d'ancrage, PP-YOLOE+ réduit la complexité associée aux étapes de regroupement et de mise en correspondance des ancres. Cela permet souvent une meilleure généralisation sur divers ensembles de données où les objets peuvent avoir des rapports d'aspect extrêmes.
YOLOv7: Optimisé pour la vitesse en temps réel
YOLOv7 a établi une nouvelle référence pour la détection d'objets en temps réel dès sa sortie, en se concentrant fortement sur l'efficacité architecturale et les méthodes "bag-of-freebies" (techniques qui augmentent la précision sans augmenter le coût de l'inférence). Il a été conçu pour surpasser les modèles de pointe précédents, tels que YOLOR et YOLOv5 , en termes de vitesse et de précision.
- Auteurs : Chien-Yao Wang, Alexey Bochkovskiy et Hong-Yuan Mark Liao
- Organisation :Institut des sciences de l'information, Academia Sinica, Taiwan
- Date : 2022-07-06
- ArXiv :https://arxiv.org/abs/2207.02696
- GitHub :https://github.com/WongKinYiu/yolov7
- Docs :DocumentationUltralytics YOLOv7
Innovations architecturales
YOLOv7 a introduit le réseau d'agrégation de couches efficace étendu (E-ELAN). Cette conception de l'épine dorsale permet au réseau d'apprendre des caractéristiques plus diverses en contrôlant les chemins de gradient les plus courts et les plus longs, améliorant ainsi la capacité d'apprentissage sans détruire le chemin de gradient d'origine.
Une autre contribution importante est l'utilisation de la reparamétrage du modèle. Pendant l'apprentissage, le modèle utilise une structure multi-branches qui est fusionnée en une structure mono-branche plus simple pour l'inférence. Cela permet à YOLOv7 de bénéficier de représentations de caractéristiques riches pendant l'apprentissage tout en maintenant une vitesse élevée pendant le déploiement. Le modèle emploie également des têtes auxiliaires pour la formation des réseaux profonds, en utilisant une stratégie d'attribution d'étiquettes guidée par le plomb "de grossier à fin".
Analyse comparative : Forces et faiblesses
Pour choisir entre ces deux modèles puissants, il est essentiel de prendre en compte les exigences spécifiques de votre projet de vision par ordinateur.
Précision en fonction de la vitesse
PP-YOLOE+ offre une gamme granulaire de modèles. Les PP-YOLOE+s est très efficace pour les appareils périphériques, tandis que PP-YOLOE+x atteint un mAP de premier plan, bien qu'à des taux de rafraîchissement inférieurs. YOLOv7 excelle dans le "sweet spot" de la détection en temps réel, offrant souvent des taux de rafraîchissement plus élevés sur le matériel GPU pour un niveau de précision donné par rapport à de nombreux concurrents. Pour les applications à haut débit telles que surveillance du traficl'optimisation de l'inférence de YOLOv7 est avantageuse.
Écosystème et facilité d'utilisation
L'une des principales distinctions réside dans leurs écosystèmes. PP-YOLOE+ est profondément ancré dans le framework PaddlePaddle . Bien que puissant, il peut présenter une courbe d'apprentissage plus raide pour les équipes principalement habituées à PyTorch. YOLOv7 est natif de PyTorch, ce qui le rend généralement plus accessible à la communauté des chercheurs.
Cependant, les deux modèles peuvent être complexes à former et à affiner par rapport aux normes modernes. YOLOv7 implique des calculs complexes d'ancrage et de sensibilité aux hyperparamètres, tandis que PP-YOLOE+ nécessite de naviguer dans les configurations de détection des pagaies.
L'avantage Ultralytics : Pourquoi mettre à niveau ?
Bien que PP-YOLOE+ et YOLOv7 soient d'excellents modèles, le domaine de l'IA évolue rapidement. Les modèles Ultralytics , tels que YOLOv8 et le modèle de pointe YOLO11représentent la prochaine génération de l'IA de la vision et répondent à de nombreux défis en matière de convivialité et d'efficacité rencontrés dans les architectures précédentes.
Expérience utilisateur et écosystème supérieurs
Ultralytics privilégie la facilité d'utilisation. Contrairement aux fichiers de configuration complexes souvent requis par d'autres frameworks, les modèles Ultralytics peuvent être formés, validés et déployés avec seulement quelques lignes de code Python ou de simples commandes CLI .
- API unifiée : Passez d'une tâche à l'autre, comme la détection d'objets, la segmentation d'instances, la classification, l'estimation de la pose et l'OBB, en toute transparence.
- Un écosystème bien entretenu : Bénéficiez de mises à jour fréquentes, d'une communauté florissante et d'une documentation complète qui permet de résoudre rapidement les problèmes.
- Intégration : Prise en charge native du suivi des expériences (MLflow, Comet), de la gestion des jeux de données et de l'exportation simplifiée des modèles vers des formats tels que ONNX, TensorRT et CoreML.
Performance et efficacité
Les modèles Ultralytics sont conçus pour un équilibre optimal des performances. Ils atteignent souvent une plus grande précision que YOLOv7 avec une charge de calcul plus faible. En outre, ils sont conçus pour être efficaces en termes de mémoire, nécessitant moins de ressources CUDA lors de l'apprentissage par rapport à de nombreuses alternatives basées sur des transformateurs ou à d'anciennes versions de YOLO . Cette efficacité de la formation permet des itérations plus rapides et des coûts de cloud computing plus faibles.
Exemple de code : La simplicité en action
Voyez à quel point il est facile de former un modèle Ultralytics moderne par rapport aux flux de travail traditionnels :
from ultralytics import YOLO
# Load a pre-trained YOLO11 model (recommended for best performance)
model = YOLO("yolo11n.pt")
# Train the model on a dataset (e.g., COCO8)
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image
results = model("path/to/image.jpg")
# Export to ONNX format for deployment
model.export(format="onnx")
Protéger vos projets pour l'avenir
L'adoption du cadre Ultralytics garantit que vous n'utilisez pas seulement un modèle, mais une plateforme qui évolue. Grâce à la prise en charge des dernières versions de Python et les accélérateurs matériels les plus récents, vous réduisez la dette technique et assurez la maintenabilité à long terme de vos solutions d'IA.
Conclusion
PP-YOLOE+ reste un choix solide pour ceux qui ont investi dans l'écosystème PaddlePaddle , offrant une architecture robuste sans ancrage. YOLOv7 reste une option formidable pour les projets nécessitant un débit GPU brut. Cependant, pour les développeurs à la recherche d'une solution polyvalente, conviviale et performante qui couvre l'ensemble des tâches de vision par ordinateur, YOLOv7 reste une option formidable, Ultralytics YOLO11 est la voie à suivre.
Explorer d'autres modèles
Ces comparaisons vous permettront de mieux comprendre le paysage de la détection d'objets :