Passer au contenu

PP-YOLOE+ vs YOLOv7 : Un examen technique approfondi des architectures de détection d'objets

Choisir le modèle de détection d'objets optimal implique d'équilibrer la précision, la vitesse d'inférence et la complexité du déploiement. Deux concurrents importants dans ce domaine sont PP-YOLOE+ et YOLOv7, tous deux sortis en 2022 dans le but de faire progresser les performances de pointe. Cette analyse complète explore leurs architectures uniques, leurs benchmarks et leur adéquation aux applications du monde réel, aidant ainsi les développeurs à prendre des décisions fondées sur les données.

Comparaison des métriques de performance

Le tableau suivant présente une comparaison directe des indicateurs clés de performance, notamment la précision moyenne (mAP) et les vitesses d'inférence sur le matériel pris en charge. Ces données aident à visualiser les compromis entre l'approche sans ancres de PP-YOLOE+ et l'architecture optimisée de YOLOv7.

ModèleTaille
(pixels)
mAPval
50-95
Vitesse
CPU ONNX
(ms)
Vitesse
T4 TensorRT10
(ms)
paramètres
(M)
FLOPs
(B)
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
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9

PP-YOLOE+: Détection sans ancres affinée

PP-YOLOE+ est une évolution de la série PP-YOLO, développée par des chercheurs de Baidu. Il s'appuie sur les points forts de son prédécesseur, PP-YOLOE, en introduisant des améliorations au processus d'entraînement 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.

En savoir plus sur PP-YOLOE+

Points forts architecturaux

L'architecture de PP-YOLOE+ comprend un backbone CSPResNet équipé de champs réceptifs variables pour capturer efficacement les caractéristiques à plusieurs échelles. Une innovation clé est la tête efficace alignée sur les tâches (ET-head), qui découple les tâches de classification et de régression tout en assurant leur alignement grâce à une fonction de perte spécifique.

PP-YOLOE+ utilise Task Alignment Learning (TAL), une stratégie d'attribution d'étiquettes qui sélectionne dynamiquement des échantillons positifs en fonction de l'alignement de la qualité de la classification et de la localisation. Cela garantit que le modèle se concentre sur les prédictions de haute qualité pendant l'entraînement. De plus, le modèle utilise une stratégie d'entraînement distribué et évite l'utilisation d'opérateurs non standard, ce qui facilite le déploiement sur diverses plateformes matérielles prises en charge par l'écosystème PaddlePaddle.

Caractéristique principale : Conception sans ancres

En supprimant les boîtes d'ancrage, PP-YOLOE+ réduit la complexité associée au clustering d'ancrage et aux étapes de correspondance. Cela conduit 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 lors de sa sortie, en se concentrant fortement sur l’efficacité architecturale et les méthodes de « sac de cadeaux » (techniques qui augmentent la précision sans augmenter le coût d’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.

En savoir plus sur YOLOv7

Innovations architecturales

YOLOv7 a introduit le Extended Efficient Layer Aggregation Network (E-ELAN). Cette conception de backbone 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 original.

Une autre contribution significative est l'utilisation de la Re-paramétrisation du modèle. Pendant l'entraînement, le modèle utilise une structure multi-branches qui est fusionnée en une structure simple à branche unique pour l'inférence. Cela permet à YOLOv7 de bénéficier de riches représentations de caractéristiques pendant l'apprentissage tout en maintenant une vitesse élevée pendant le déploiement. Le modèle utilise également des têtes auxiliaires pour l'entraînement des réseaux profonds, en utilisant une stratégie d'attribution d'étiquettes guidée "du grossier au fin".

Analyse comparative : Forces et faiblesses

Lorsque vous choisissez entre ces deux modèles puissants, il est essentiel de tenir compte des exigences spécifiques de votre projet de vision par ordinateur.

Précision vs. Vitesse

PP-YOLOE+ offre une gamme granulaire de modèles. Le PP-YOLOE+s est très efficace pour les appareils périphériques, tandis que PP-YOLOE+x atteint un mAP de premier ordre, bien qu'à des fréquences d'images plus faibles. YOLOv7 excelle dans le "sweet spot" de la détection en temps réel, offrant souvent un FPS plus élevé sur le matériel GPU pour un niveau de précision donné par rapport à de nombreux concurrents. Pour les applications à haut débit comme surveillance du trafic, l'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 enraciné dans le framework PaddlePaddle. Bien que puissant, cela peut présenter une courbe d'apprentissage plus abrupte pour les équipes principalement habituées à PyTorch. YOLOv7 est natif de PyTorch, ce qui le rend généralement plus accessible à la communauté de recherche au sens large.

Cependant, les deux modèles peuvent être complexes à entraîner et à affiner par rapport aux normes modernes. YOLOv7 implique des calculs d'ancrage complexes et une sensibilité aux hyperparamètres, tandis que PP-YOLOE+ nécessite de naviguer dans les configurations de détection Paddle.

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 YOLO11 à la pointe de la technologie, représentent la prochaine génération d'IA de vision, répondant à bon nombre des défis d'utilisabilité et d'efficacité rencontrés dans les architectures antérieures.

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 : Basculez en toute transparence entre des tâches telles que la détection d’objets, la segmentation d’instance, la classification, l’estimation de pose et l’OBB.
  • Écosystème bien maintenu : Bénéficiez de mises à jour fréquentes, d’une communauté florissante et d’une documentation complète qui vous aide à résoudre rapidement les problèmes.
  • Intégration : Support natif pour le suivi des expériences (MLflow, Comet), la gestion des ensembles de données et l'exportation de modèles simplifiée vers des formats tels que ONNX, TensorRT et CoreML.

Performance et efficacité

Les modèles Ultralytics sont conçus pour un équilibre des performances optimal. Ils atteignent souvent une plus grande précision que YOLOv7 avec une surcharge de calcul plus faible. De plus, ils sont conçus pour être efficaces en termes de mémoire, nécessitant moins de mémoire CUDA pendant l'entraînement par rapport à de nombreuses alternatives basées sur des transformateurs ou à d'anciennes versions de YOLO. Cette efficacité de l'entraînement permet des itérations plus rapides et des coûts d'informatique en nuage plus faibles.

Exemple de code : La simplicité en action

Voyez comme il est simple d'entraîner un modèle Ultralytics moderne par rapport aux flux de travail hérités :

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")

Pérenniser vos projets

L'adoption du framework Ultralytics vous assure de ne pas simplement utiliser un modèle, mais une plateforme qui évolue. Avec la prise en charge des dernières versions de Python et des accélérateurs matériels, 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 sont investis dans l'écosystème PaddlePaddle, offrant une architecture robuste sans ancres. YOLOv7 continue d'être 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 tout le spectre des tâches de vision par ordinateur, Ultralytics YOLO11 est la voie à suivre recommandée.

Explorer d'autres modèles

Élargissez votre compréhension du paysage de la détection d'objets grâce à ces comparaisons :


Commentaires