YOLOv7 vs EfficientDet#
Choisir la bonne architecture de réseau neuronal est la base de tout projet de vision par ordinateur réussi. Ce guide propose une comparaison technique détaillée de deux modèles majeurs de l’histoire des architectures de détection d’objets : YOLOv7 et EfficientDet. En examinant leurs innovations architecturales, leurs méthodes d’entraînement et leurs scénarios de déploiement idéaux, les développeurs peuvent prendre des décisions éclairées. Le guide explique également comment Ultralytics YOLO26 améliore ces deux modèles.
Origines des modèles et détails techniques#
Les deux modèles ont été développés par d’éminentes équipes de recherche et ont apporté des avancées majeures au domaine de l’apprentissage automatique.
YOLOv7
- Auteurs : Chien-Yao Wang, Alexey Bochkovskiy et Hong-Yuan Mark Liao
- Organisation : Institute of Information Science, Academia Sinica, Taïwan
- Date : 2022-07-06
- arXiv : YOLOv7 : un ensemble d’astuces entraînable établit un nouvel état de l’art pour les détecteurs d’objets en temps réel
- GitHub : WongKinYiu/yolov7
- Documentation : Documentation Ultralytics YOLOv7
EfficientDet
- Auteurs : Mingxing Tan, Ruoming Pang et Quoc V. Le
- Organisation : Google Research
- Date : 2019-11-20
- arXiv : EfficientDet : détection d’objets évolutive et efficace
- GitHub : Google AutoML EfficientDet
En savoir plus sur EfficientDet
Différences architecturales et analyse équilibrée#
Comprendre les différences structurelles fondamentales entre ces réseaux est essentiel pour un déploiement de modèles efficace.
EfficientDet : mise à l’échelle composée et BiFPN#
Développé au sein de l’écosystème TensorFlow, EfficientDet a introduit une approche méthodique de la mise à l’échelle des modèles. Au lieu d’élargir ou d’approfondir le réseau de manière arbitraire, les chercheurs de Google ont utilisé une méthode de mise à l’échelle composée qui ajuste uniformément la résolution, la profondeur et la largeur.
De plus, EfficientDet a introduit le réseau pyramidal de caractéristiques bidirectionnel (BiFPN). Cette variante de réseau pyramidal de caractéristiques permet une fusion rapide des caractéristiques multi-échelles.
Points forts : Très économe en paramètres, il atteint une précision moyenne (mAP) élevée avec moins de FLOP que de nombreux modèles concurrents. Points faibles : Il dépend fortement des anciennes stratégies de recherche AutoML. Son intégration aux workflows PyTorch modernes et dynamiques peut s’avérer laborieuse, et la latence sur les appareils périphériques est souvent supérieure aux attentes malgré le faible nombre de FLOP.
YOLOv7 : ensemble d’astuces entraînables#
YOLOv7 privilégie l’inférence en temps réel et l’optimisation de l’entraînement. Il a introduit le concept d’un réseau étendu et efficace d’agrégation de couches (E-ELAN), qui permet au modèle d’apprendre continuellement des caractéristiques plus diverses sans détruire le chemin de gradient d’origine. YOLOv7 utilise également une technique appelée « atouts gratuits entraînables », qui améliore la précision de la détection sans augmenter le coût de l’inférence.
Atouts : Traitement rapide et latence d’inférence avantageuse, ce qui en fait un choix idéal pour les flux vidéo à fréquence d’images élevée. Faiblesses : Malgré ses grandes capacités, le modèle repose toujours sur des boîtes d’ancrage et nécessite une suppression des non-maxima (NMS) pendant le post-traitement, ce qui peut créer un goulot d’étranglement en matière de latence dans les scènes très encombrées.
Lors de l’évaluation des modèles, l’écosystème qui les entoure est tout aussi important que leur architecture. La plateforme Ultralytics, intégrée à l’écosystème, fournit une API unifiée, une documentation complète et le soutien d’une communauté active. Cet environnement unifié utilise généralement moins de mémoire pendant l’entraînement que les modèles transformeurs lourds, ce qui accélère le prototypage et le suivi des expériences.
Mesures de performance et benchmarks#
Le tableau ci-dessous compare les principaux indicateurs de performance afin d’aider les développeurs à évaluer les compromis entre vitesse, nombre de paramètres et précision.
| Modèle | taille (pixels) | mAPval50-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 |
| EfficientDet-d0 | 512 | 34.6 | - | 3.92 | 3.9 | 2.54 |
| EfficientDet-d1 | 640 | 40.5 | - | 7.31 | 6.6 | 6.1 |
| EfficientDet-d2 | 768 | 43.0 | - | 10.92 | 8.1 | 11.0 |
| EfficientDet-d3 | 896 | 47.5 | - | 19.59 | 12.0 | 24.9 |
| EfficientDet-d4 | 1024 | 49.7 | - | 33.55 | 20.7 | 55.2 |
| EfficientDet-d5 | 1280 | 51.5 | - | 67.86 | 33.7 | 130.0 |
| EfficientDet-d6 | 1280 | 52.6 | - | 89.29 | 51.9 | 226.0 |
| EfficientDet-d7 | 1536 | 53.7 | - | 128.07 | 51.9 | 325.0 |
Comme le montre la comparaison, EfficientDet-d7 atteint un mAP élevé, mais sa vitesse avec TensorRT est nettement inférieure à celle des variantes YOLOv7, ce qui souligne l’avantage de ces dernières pour la détection d’objets en temps réel accélérée par GPU.
L’évolution de la détection d’objets : YOLO26#
YOLOv7 et EfficientDet ont posé des bases importantes, mais le paysage de l’IA pour la vision évolue rapidement. Pour les applications modernes qui exigent une efficacité et une précision optimales, la mise à niveau recommandée est YOLO26, lancé en janvier 2026.
YOLO26 corrige les limites des générations précédentes et offre une grande polyvalence pour la détection d’objets, la segmentation d’instances, la segmentation sémantique, l’estimation de profondeur, la classification d’images, l’estimation de pose et la détection par boîtes englobantes orientées (OBB).
Principales innovations de YOLO26#
- Conception de bout en bout sans NMS : YOLO26 propose une tête facultative à correspondance un-à-un (
nms=False) qui ignore le post-traitement par suppression non maximale (NMS). Introduite dans les modèles YOLO par YOLOv10, cette conception simplifie la logique de déploiement et maintient une latence constante, quelle que soit la densité d’objets. - Suppression du DFL : La suppression de la perte focale de distribution (DFL) simplifie l’architecture du modèle et améliore sa compatibilité avec les environnements de calcul en périphérie très contraints.
- Inférence CPU jusqu’à 43 % plus rapide : YOLO26n s’exécute jusqu’à 43 % plus rapidement sur CPU que YOLO11n, ce qui le rend bien adapté au matériel dépourvu de GPU dédié.
- Optimiseur MuSGD : Inspiré des techniques des grands modèles de langage (comme Kimi K2 de Moonshot AI), cet hybride de SGD et de Muon apporte un entraînement plus stable et une convergence plus rapide à l’entraînement en vision par ordinateur.
- ProgLoss + STAL : La perte progressive et l’affectation des étiquettes tenant compte des petites cibles améliorent la reconnaissance des petits objets, un point important pour les images aériennes et les applications de drones.
- Améliorations propres aux tâches : Comprend une perte de segmentation sémantique et un proto multi-échelle pour les tâches de segmentation, l’estimation du log-vraisemblance résiduelle (RLE) pour l’estimation de pose, ainsi qu’une perte angulaire spécialisée conçue pour corriger les problèmes de délimitation des boîtes englobantes orientées (OBB).
Pour les équipes qui utilisent actuellement des systèmes hérités, la transition vers la plateforme Ultralytics offre un flux de travail simplifié permettant d’entraîner et de déployer facilement ces modèles. Les développeurs peuvent aussi examiner les générations précédentes, comme YOLO11 et YOLOv8, selon leurs besoins précis de rétrocompatibilité.
Entraînement simplifié et facilité d’utilisation#
La facilité d’utilisation est l’une des caractéristiques déterminantes des modèles Ultralytics. Contrairement à la configuration complexe comportant de nombreuses dépendances qu’exigent les environnements AutoML TensorFlow d’EfficientDet, Ultralytics propose une API simple et idiomatique en Python.
Cet environnement limite l’utilisation de la mémoire CUDA pendant l’entraînement, ce qui aide à entraîner de grands jeux de données sans les erreurs de mémoire insuffisante (OOM) fréquentes dans les architectures basées sur des Transformers.
Exemple de code : démarrer avec Ultralytics#
L’extrait suivant montre comment les développeurs peuvent utiliser le paquet Ultralytics pour entraîner directement un modèle YOLO26.
from ultralytics import YOLO
# Initialize a YOLO26 nano model for object detection
model = YOLO("yolo26n.pt")
# Train the model on the COCO8 example dataset
results = model.train(
data="coco8.yaml",
epochs=100,
imgsz=640,
device=0, # GPU index; use device='cpu' to train on CPU
batch=16,
)
# Validate the model's performance
metrics = model.val()
print(f"Validation mAP50-95: {metrics.box.map}")
# Export the model for edge deployment (e.g., OpenVINO for CPU optimization)
model.export(format="openvino")Cas d’utilisation idéaux et applications concrètes#
Lors de la conception d’une solution, il est important d’adapter les points forts du modèle au cas d’utilisation spécifique.
Quand utiliser EfficientDet#
EfficientDet reste une option pour la recherche universitaire sur des systèmes anciens ou les environnements strictement liés à Google Cloud, où les expériences de mise à l’échelle composée sont prioritaires. Ses variantes plus petites (d0-d2) sont intéressantes lorsque la taille sur disque est fortement limitée.
Quand utiliser YOLOv7#
YOLOv7 excelle dans les configurations anciennes à hautes performances, en particulier lorsque l’intégration à PyTorch est privilégiée par rapport à TensorFlow. Il reste largement déployé dans les domaines suivants :
- Analyse vidéo : Traitement de flux de vidéos de sécurité à fréquence d’images élevée, lorsque l’accélération GPU est largement disponible.
- Inspection industrielle : Détection de défauts sur les lignes d’assemblage à grande vitesse.
Quand choisir YOLO26#
Pour les nouveaux déploiements, YOLO26 est le choix recommandé. Son équilibre des performances et son écosystème bien entretenu en font une solution idéale pour :
- Villes intelligentes et gestion du trafic : Sa tête facultative sans NMS maintient une latence d’inférence constante pour la coordination du trafic en temps réel.
- Robotique et systèmes autonomes : L’inférence CPU jusqu’à 43 % plus rapide de YOLO26n par rapport à YOLO11n contribue à maintenir la réactivité de la navigation sur les appareils embarqués.
- Surveillance agricole et aérienne : ProgLoss et STAL permettent d’identifier de petits objets, comme certaines cultures ou des animaux sauvages, à partir d’images prises à haute altitude.
En résumé, EfficientDet et YOLOv7 offrent un contexte historique intéressant et une utilité particulière dans certaines niches, mais les ingénieurs modernes en vision par ordinateur ont tout intérêt à adopter l’architecture Ultralytics YOLO26, qui remédie aux premiers goulets d’étranglement liés au déploiement, à la vitesse CPU et à la précision de détection des petits objets.