EfficientDet vs. YOLOv9: l'évolution de l'efficacité de la détection d'objets
Dans le monde en constante évolution de la vision par ordinateur, le choix de la bonne architecture de modèle est essentiel pour équilibrer les performances, la vitesse et les ressources informatiques. Ce guide fournit une comparaison technique complète entre EfficientDet, un modèle de référence développé par Google Research, et YOLOv9le détecteur de pointe intégré à l'écosystèmeUltralytics . Nous analyserons leurs innovations architecturales, comparerons les mesures de performance et déterminerons quel modèle est le mieux adapté aux applications modernes de détection d'objets en temps réel.
EfficientDet : Pionnier de l'efficacité évolutive
EfficientDet, publié fin 2019, a introduit une approche systématique de la mise à l'échelle des modèles qui a influencé des années de recherches ultérieures. Développée par l'équipe de Google Research, elle visait à optimiser l'efficacité sans compromettre la précision.
Détails techniques :
- Auteurs : Mingxing Tan, Ruoming Pang, Quoc V. Le
- Organisation :Google Research
- Date : 2019-11-20
- Arxiv :EfficientDet : Détection d'objets efficace et évolutive
- GitHub :google
Architecture et principales fonctionnalités
EfficientDet est construit sur l'épine dorsale EfficientNet et introduit le Bi-directional Feature Pyramid Network (BiFPN). Contrairement aux FPN traditionnels, le BiFPN permet une fusion facile et rapide des caractéristiques à plusieurs échelles en introduisant des poids qui permettent d'apprendre l'importance des différentes caractéristiques d'entrée. Le modèle utilise une méthode de mise à l'échelle composée qui met uniformément à l'échelle la résolution, la profondeur et la largeur pour tous les réseaux de base, les réseaux de caractéristiques et les réseaux de prédiction de boîte/classe simultanément.
Points forts et faiblesses
EfficientDet a été révolutionnaire par sa capacité à atteindre une grande précision avec moins de paramètres que ses contemporains tels que YOLOv3. Sa principale force réside dans son évolutivité; la famille de modèles (D0 à D7) permet aux utilisateurs de choisir un compromis spécifique en matière de ressources.
Cependant, selon les normes modernes, EfficientDet souffre de vitesses d'inférence plus lentes, en particulier sur le matériel GPU . Ses couches complexes de fusion de caractéristiques, bien que précises, ne sont pas aussi adaptées au matériel que les architectures plus récentes. En outre, l'implémentation originale ne dispose pas des outils conviviaux que l'on trouve dans les cadres modernes, ce qui rend la formation et le déploiement plus laborieux.
Cas d'utilisation
EfficientDet reste pertinent pour :
- Recherche universitaire : Compréhension des principes de la mise à l'échelle des composés et de la fusion des caractéristiques.
- Systèmes hérités : Maintenir les pipelines existants construits au sein de l'écosystème TensorFlow .
- EnvironnementsCPU: Lorsque l'efficacité des paramètres peut encore offrir des performances raisonnables pour les applications à faible taux de rafraîchissement.
En savoir plus sur EfficientDet
YOLOv9: Redéfinir la performance en temps réel
Introduit au début de l'année 2024, YOLOv9 représente un bond en avant dans la série YOLO , en s'attaquant aux goulets d'étranglement des informations d'apprentissage profond pour atteindre une efficacité supérieure. Il est entièrement pris en charge dans le packagepython Ultralytics , garantissant une expérience transparente pour les développeurs.
Détails techniques :
- Auteurs : Chien-Yao Wang, Hong-Yuan Mark Liao
- Organisation :Institut des sciences de l'information, Academia Sinica, Taiwan
- Date : 2024-02-21
- Arxiv :YOLOv9: Apprendre ce que l'on veut apprendre à l'aide d'informations programmables sur les gradients
- GitHub :WongKinYiu/yolov9
- Docs :DocumentationUltralytics YOLOv9
Architecture et principales fonctionnalités
YOLOv9 introduit deux concepts révolutionnaires : l'information programmable de gradient (PGI) et le réseau d'agrégation de couches efficace généralisé (GELAN).
- L'IGP traite la perte d'informations qui se produit lorsque les données passent par les couches profondes d'un réseau neuronal, en garantissant que les gradients utilisés pour mettre à jour les poids du modèle sont fiables.
- GELAN est une architecture légère qui donne la priorité à l'efficacité des calculs. Elle permet au modèle d'atteindre une plus grande précision avec moins de paramètres et de coûts de calcul (FLOP) par rapport aux méthodes basées sur la convolution en profondeur.
Forces et avantages
- Compromis vitesse/précision supérieur : comme le montre l'analyse comparative, YOLOv9 surpasse largement EfficientDet en termes de latence d'inférence, tout en conservant ou en dépassant la précision.
- EcosystèmeUltralytics : L'intégration avec Ultralytics signifie l'accès à une API Python simple, à des outilsCLI et à une exportation facile vers des formats tels que ONNX, TensorRT et CoreML.
- Efficacité de la formation : Les modèles YOLOv9 nécessitent généralement moins de mémoire lors de l'apprentissage et convergent plus rapidement que les architectures plus anciennes, grâce au pipeline d'apprentissage optimisé d'Ultralytics .
- Polyvalence : Au-delà de la détection standard, l'architecture prend en charge des tâches complexes, ouvrant la voie à la segmentation avancée et à l'apprentissage multitâche.
Le saviez-vous ?
L'architecture GELAN de YOLOv9 est conçue pour être agnostique sur le plan matériel, ce qui signifie qu'elle fonctionne efficacement sur une grande variété de dispositifs d'inférence, des TPU de pointe aux GPU NVIDIA haut de gamme, sans nécessiter d'optimisations matérielles spécifiques comme c'est le cas pour certains modèles basés sur des transformateurs.
Analyse des performances
La comparaison suivante met en évidence les améliorations spectaculaires en termes de vitesse d'inférence et d'efficacité que YOLOv9 apporte à la table par rapport à la famille EfficientDet.
| Modèle | Taille (pixels) | mAPval 50-95 | Vitesse CPU ONNX (ms) | Vitesse T4 TensorRT10 (ms) | paramètres (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| EfficientDet-d0 | 640 | 34.6 | 10.2 | 3.92 | 3.9 | 2.54 |
| EfficientDet-d1 | 640 | 40.5 | 13.5 | 7.31 | 6.6 | 6.1 |
| EfficientDet-d2 | 640 | 43.0 | 17.7 | 10.92 | 8.1 | 11.0 |
| EfficientDet-d3 | 640 | 47.5 | 28.0 | 19.59 | 12.0 | 24.9 |
| EfficientDet-d4 | 640 | 49.7 | 42.8 | 33.55 | 20.7 | 55.2 |
| EfficientDet-d5 | 640 | 51.5 | 72.5 | 67.86 | 33.7 | 130.0 |
| EfficientDet-d6 | 640 | 52.6 | 92.8 | 89.29 | 51.9 | 226.0 |
| EfficientDet-d7 | 640 | 53.7 | 122.0 | 128.07 | 51.9 | 325.0 |
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.1 | 26.4 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.0 |
Aperçu des points de repère essentiels
- Un avantage massif en termes de vitesse : Le modèle YOLOv9c atteint un niveau compétitif de 53,0 mAP avec une vitesse d'inférence de seulement 7,16 ms sur un GPU T4. En revanche, le modèle comparable EfficientDet-d6 (52,6 mAP) atteint une vitesse d'inférence de 89,29 ms. YOLOv9 est donc plus de 12 fois plus rapide pour une précision similaire, un facteur critique pour les applications en temps réel telles que les véhicules autonomes ou la surveillance du trafic.
- Efficacité des paramètres : À l'extrémité inférieure du spectre, YOLOv9t offre un excellent 38,3 mAP avec seulement 2,0 millions de paramètres, surpassant la référence EfficientDet-d0 en termes de précision tout en utilisant près de la moitié des paramètres et en fonctionnant beaucoup plus rapidement.
- Précision haut de gamme : Pour les tâches nécessitant une précision maximale, YOLOv9e repousse les limites avec 55,6 mAP, surpassant le plus grand modèle EfficientDet-d7 tout en conservant une latence (16,77 ms) qui convient encore au traitement vidéo, contrairement aux 128 ms prohibitives de D7.
Intégration et facilité d'utilisation
L'une des différences les plus significatives entre ces deux modèles est l'écosystème qui les entoure. Alors qu'EfficientDet s'appuie sur d'anciens référentiels TensorFlow , YOLOv9 est un citoyen de première classe dans la bibliothèque Ultralytics .
L'avantage Ultralytics
L'utilisation de YOLOv9 avec Ultralytics fournit un écosystème bien entretenu qui simplifie l'ensemble du cycle de vie de l'apprentissage automatique. De l'annotation des ensembles de données au déploiement sur les appareils périphériques, le flux de travail est rationalisé.
- API simple : Vous pouvez former, valider et déployer des modèles avec seulement quelques lignes de code Python .
- Large compatibilité : Exportez vos modèles sans effort vers ONNX, TensorRT, OpenVINO et CoreML en utilisant le mode d'exportation.
- Soutien de la communauté : Une documentation complète et une communauté active garantissent que les solutions aux problèmes courants sont facilement accessibles.
Voici un exemple pratique de la facilité avec laquelle il est possible d'effectuer de l'inférence avec YOLOv9 en utilisant l'API Ultralytics Python :
from ultralytics import YOLO
# Load a pre-trained YOLOv9 compact model
model = YOLO("yolov9c.pt")
# Run inference on an image
results = model("path/to/image.jpg")
# Process results
for result in results:
result.show() # Display predictions
result.save() # Save image to disk
Polyvalence d'application
Alors qu'EfficientDet est strictement un détecteur d'objets, les principes architecturaux derrière YOLOv9 et le framework Ultralytics supportent une gamme plus large de tâches de vision. Les utilisateurs peuvent facilement passer de la détection d'objets à la segmentation d'instances et à l'estimation de la pose au sein de la même base de code, réduisant ainsi la dette technique pour les projets complexes.
Conclusion
En comparant EfficientDet et YOLOv9, le choix pour le développement moderne de la vision par ordinateur est clair. Alors qu'EfficientDet a joué un rôle historique dans la définition de l'efficacité de la mise à l'échelle des modèles, YOLOv9 le supplante dans pratiquement toutes les mesures pertinentes pour les développeurs d'aujourd'hui.
YOLOv9 offre une précision supérieure par paramètre, des vitesses d'inférence plus rapides de plusieurs ordres de grandeur et un écosystème robuste et convivial pour les développeurs. Qu'il s'agisse d'un déploiement sur des appareils de périphérie limités ou du traitement de flux vidéo à haut débit dans le nuage, YOLOv9 offre l'équilibre des performances nécessaire à la réussite.
Pour ceux qui démarrent de nouveaux projets, nous recommandons fortement d'utiliser YOLOv9 ou la dernière version de YOLO11 afin que votre application bénéficie des dernières avancées en matière d'efficacité de l'apprentissage profond.
Explorer d'autres modèles
Si vous souhaitez explorer d'autres options au sein de la famille Ultralytics , envisagez ces modèles :
- YOLO11: La dernière évolution de la série YOLO , qui offre des performances de pointe pour les tâches de détection, de segmentation et de classification.
- YOLOv10: un détecteur de bout en bout en temps réel qui élimine la nécessité d'une suppression non maximaleNMS
- RT-DETR: un détecteur basé sur un transformateur qui excelle dans la précision, offrant une alternative moderne aux architectures basées sur le CNN.