YOLOv9 contre EfficientDet#
Le domaine de la vision par ordinateur a connu une évolution rapide de la détection d’objets en temps réel, les chercheurs repoussant constamment les limites de la précision et de l’efficacité. Pour créer des systèmes de vision robustes, le choix de l’architecture optimale est une décision essentielle. Deux modèles très discutés dans ce domaine sont YOLOv9, une version avancée de la lignée YOLO qui met l’accent sur les informations de gradient, et EfficientDet, un framework évolutif développé par Google.
Ce guide propose une analyse technique approfondie comparant ces deux architectures. Il examine leurs mécanismes fondamentaux, leurs indicateurs de performance et leurs scénarios de déploiement idéaux pour t’aider à prendre une décision éclairée pour ton prochain projet d’IA.
Origines des modèles et spécifications techniques#
Comprendre la lignée et la philosophie de conception d’un modèle permet de mieux saisir ses choix structurels et ses applications pratiques.
YOLOv9 : maximiser le flux d’informations#
Conçu pour résoudre le « goulot d’étranglement de l’information » du deep learning, YOLOv9 introduit de nouvelles méthodes pour empêcher la perte de données lors de leur passage dans des réseaux neuronaux profonds.
- Auteurs : Chien-Yao Wang et Hong-Yuan Mark Liao
- Organisation : Institute of Information Science, Academia Sinica, Taïwan
- Date : 21 février 2024
- Liens : Publication arXiv, GitHub officiel
YOLOv9 introduit Programmable Gradient Information (PGI), un framework de supervision auxiliaire qui garantit la préservation fiable des informations de gradient dans les couches profondes. Il est associé à Generalized Efficient Layer Aggregation Network (GELAN), qui optimise l’efficacité des paramètres en combinant les atouts de CSPNet et d’ELAN. YOLOv9 peut ainsi atteindre une grande précision tout en conservant une empreinte légère, adaptée au traitement en temps réel sur les appareils périphériques.
EfficientDet : mise à l’échelle composée et BiFPN#
Présenté par Google Brain, EfficientDet aborde la détection d’objets en mettant systématiquement à l’échelle les dimensions du réseau afin d’équilibrer vitesse et précision.
- Auteurs : Mingxing Tan, Ruoming Pang et Quoc V. Le
- Organisation : Google
- Date : 20 novembre 2019
- Liens : Publication arXiv, GitHub officiel
EfficientDet repose sur un backbone EfficientNet associé à un réseau pyramidal de caractéristiques bidirectionnel (BiFPN). BiFPN permet une fusion facile et rapide des caractéristiques à plusieurs échelles. L’architecture utilise une méthode de mise à l’échelle composée qui ajuste uniformément et simultanément la résolution, la profondeur et la largeur du backbone, du réseau de caractéristiques et des réseaux de prédiction des boîtes et des classes.
En savoir plus sur EfficientDet
Les architectures théoriques sont importantes, mais l’écosystème logiciel détermine souvent la réussite d’un projet. Ultralytics propose une expérience utilisateur simplifiée et des outils de déploiement robustes qui réduisent considérablement le délai de mise sur le marché par rapport aux bases de code complexes axées sur la recherche.
Comparaison des performances et des métriques#
Lors de l’analyse des performances d’un modèle, il est essentiel d’équilibrer la précision avec la latence d’inférence et le coût de calcul. Le tableau ci-dessous illustre les compromis entre les différentes tailles de YOLOv9 et d’EfficientDet.
| Modèle | taille (pixels) | mAPval 50-95 | Vitesse CPU ONNX (ms) | Vitesse T4 TensorRT10 (ms) | paramètres (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.2 | 26.7 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.1 | 76.8 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.5 | 102.8 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 58.1 | 192.5 |
| 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 |
Analyse critique des métriques#
- Seuils de précision : YOLOv9e atteint la précision globale la plus élevée, avec une mAP (précision moyenne) remarquable de 55,6 %. Il surpasse le modèle EfficientDet-d7 le plus lourd (53,7 %) tout en offrant des vitesses TensorRT plus élevées.
- Vitesse en temps réel : YOLOv9t ne nécessite que 2,3 ms sur un GPU T4 avec TensorRT, ce qui souligne l’efficacité de l’architecture GELAN pour les flux vidéo à haute vitesse. EfficientDet-d0 fonctionne rapidement, mais sacrifie une part importante de sa mAP pour atteindre ces vitesses.
- Complexité de calcul : le nombre de paramètres et les FLOPs d’EfficientDet augmentent fortement avec le facteur de mise à l’échelle composée. La variante d7 atteint une latence de 128 ms, soit environ 7,6 fois plus que YOLOv9e, pourtant plus précis (16,77 ms), ce qui limite fortement son utilisation dans les environnements d’inférence en temps réel.
Efficacité de l’entraînement et écosystème#
Le choix d’un modèle passe aussi par l’évaluation de son écosystème de développement. L’écosystème Ultralytics offre un avantage inégalé en matière d’efficacité de l’entraînement, de flexibilité du déploiement et de polyvalence générale.
L’avantage Ultralytics#
Les modèles pris en charge par le framework Ultralytics, notamment YOLOv9, YOLOv8 et YOLO11, nécessitent beaucoup moins de mémoire pendant l’entraînement que les architectures basées sur Transformer ou les anciennes architectures TensorFlow comme EfficientDet. Le backend PyTorch robuste assure une convergence rapide et stable.
- Polyvalence : contrairement à EfficientDet, qui se concentre uniquement sur la détection de boîtes englobantes, l’API Ultralytics prend nativement en charge la segmentation d’instances, l’estimation de pose, la classification d’images et les boîtes englobantes orientées (OBB).
- Simplicité d’utilisation : EfficientDet repose sur d’anciennes bibliothèques TensorFlow et des configurations AutoML complexes, dont la mise en place peut être délicate. À l’inverse, Ultralytics propose une API hautement aboutie pour faciliter le réglage des hyperparamètres et la gestion des jeux de données.
Exemple d'implémentation#
L’entraînement d’un modèle de vision par ordinateur avancé ne devrait pas exiger des centaines de lignes de code générique. Voici comme il est facile de lancer un entraînement avec le package Python Ultralytics :
from ultralytics import YOLO
# Charger un modèle Ultralytics officiel (par exemple, YOLO11 ou YOLO26)
model = YOLO("yolo11n.pt")
# Entraîner le modèle directement sur un jeu de données personnalisé
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Exporte le modèle entraîné au format ONNX pour le déploiement
model.export(format="onnx")Cas d’utilisation idéaux et applications concrètes#
Leurs paradigmes structurels différents rendent ces modèles adaptés à des scénarios distincts.
Quand utiliser EfficientDet : EfficientDet reste une option viable dans les systèmes anciens profondément ancrés dans l’écosystème TensorFlow, où la migration vers PyTorch est irréalisable. Il occupe également une place notable dans l’histoire de la recherche en analyse d’images médicales, où un traitement hors ligne plus lent d’examens d’imagerie haute résolution est acceptable.
Quand utiliser YOLOv9 : YOLOv9 excelle dans les environnements où il faut extraire le maximum de précision des couches profondes sans faire exploser le nombre de paramètres. Des applications comme la gestion du trafic dans les villes intelligentes et la surveillance de foules denses tirent grandement parti de la capacité de PGI à préserver l’intégrité des caractéristiques.
Préparer l’avenir : la prochaine génération de l’IA visuelle#
YOLOv9 et EfficientDet sont performants, mais les développeurs qui recherchent le meilleur équilibre entre la vitesse de l’informatique en périphérie, la stabilité de l’entraînement et la simplicité du déploiement devraient s’intéresser aux dernières innovations.
Sorti en janvier 2026, Ultralytics YOLO26 représente l’état de l’art actuel. Il améliore les générations précédentes (notamment YOLO11 et YOLOv8) grâce à plusieurs avancées majeures :
- Conception de bout en bout sans NMS : YOLO26 propose une tête optionnelle one-to-one (
nms=False) qui évite entièrement la suppression non maximale, un concept inauguré par YOLOv10, et accélère considérablement le déploiement des modèles tout en le simplifiant. - Suppression de DFL : la Distribution Focal Loss est supprimée pour simplifier l’exportation et améliorer la compatibilité avec les appareils périphériques et à faible consommation.
- Inférence CPU jusqu’à 43 % plus rapide : parfaitement optimisé pour les appareils IoT et les environnements dépourvus de GPU dédiés.
- Optimiseur MuSGD : une combinaison révolutionnaire de SGD et de Muon (inspirée des innovations de l’entraînement des LLM), qui garantit une convergence plus rapide et des entraînements extrêmement stables.
- ProgLoss + STAL : des fonctions de perte avancées qui améliorent considérablement la détection des petits objets, un facteur essentiel pour les images prises par drone et la robotique robuste.
En exploitant la plateforme Ultralytics complète, les équipes peuvent facilement gérer les jeux de données, suivre les expériences et déployer des modèles comme YOLO26 sur divers écosystèmes matériels, afin que leurs pipelines de vision par ordinateur restent à la pointe et prêts pour la production.