Passer au contenu

EfficientDet vs YOLOv7: évolution de la détection d'objets en temps réel

Le paysage de la vision par ordinateur a été façonné par une recherche constante d'équilibre entre précision et efficacité computationnelle. Deux philosophies distinctes dans cette évolution sont représentées par EfficientDet, une famille de modèles axés sur l'efficacité évolutive, et YOLOv7, qui privilégie la vitesse d'inférence en temps réel grâce à l'optimisation de l'architecture.

Cette comparaison explore les spécifications techniques, les différences architecturales et les mesures de performance de ces deux modèles influents, tout en soulignant pourquoi les solutions modernes telles que YOLO26 sont devenues la nouvelle norme pour les développeurs.

EfficientDet : Efficacité évolutive

Sorti fin 2019, EfficientDet a été conçu pour remédier aux inefficacités des détecteurs précédents, où la mise à l'échelle était souvent effectuée manuellement ou de manière non uniforme. Il a introduit une méthode systématique pour mettre à l'échelle simultanément la résolution, la profondeur et la largeur.

Aperçu technique

Architecture et principales fonctionnalités

EfficientDet utilise une structure EfficientNet associée à un réseau pyramidal bidirectionnel pondéré (BiFPN). Le BiFPN permet une fusion facile et rapide des caractéristiques à plusieurs échelles, corrigeant ainsi le déséquilibre qui fait que différentes caractéristiques d'entrée contribuent de manière inégale à la sortie.

Le modèle utilise le Compound Scaling, qui utilise un coefficient simple pour mettre à l'échelle le réseau backbone, le BiFPN, le réseau classe/boîte et la résolution. Bien que cette approche offre une grande précision pour un nombre donné de paramètres (FLOP), les interconnexions complexes dans les couches BiFPN peuvent entraîner une latence d'inférence plus élevée sur le matériel qui n'est pas spécifiquement optimisé pour ces modèles d'accès mémoire irréguliers.

YOLOv7 : La puissance « Bag-of-Freebies »

Lancé en juillet 2022, YOLOv7 une avancée significative dans la famille YOLO You Only Look Once). Contrairement à EfficientDet, qui met l'accent sur l'efficacité des paramètres, YOLOv7 sur la vitesse d'inférence, repoussant les limites de ce qui était possible en matière de détection d'objets en temps réel sur GPU standard.

Aperçu technique

Architecture et principales fonctionnalités

YOLOv7 le réseau E-ELAN (Extended Efficient Layer Aggregation Network). Cette architecture contrôle les chemins de gradient les plus courts et les plus longs afin de permettre au réseau d'apprendre des caractéristiques plus diverses sans détruire le chemin de gradient d'origine.

L'un des concepts fondamentaux de YOLOv7 le « trainable bag-of-freebies », une méthode d'optimisation qui améliore la précision pendant l'entraînement sans augmenter le coût de l'inférence. Cela inclut des techniques telles que la reparamétrisation du modèle, qui consiste à simplifier une structure d'entraînement complexe en un ensemble rationalisé de convolutions pour le déploiement. Cela garantit que, tout en conservant la robustesse du processus d'entraînement, le modèle final déployé est exceptionnellement rapide.

En savoir plus sur YOLOv7

Comparaison des performances

Le tableau suivant compare les performances de différents YOLOv7 EfficientDet et YOLOv7 . Si les modèles EfficientDet (d0-d7) affichent une bonne efficacité en termes de paramètres, leur latence sur du matériel standard est nettement supérieure à YOLOv7 , qui sont optimisées pour GPU à haute vitesse.

ModèleTaille
(pixels)
mAPval
50-95
Vitesse
CPU ONNX
(ms)
Vitesse
T4 TensorRT10
(ms)
paramètres
(M)
FLOPs
(B)
EfficientDet-d064034.610.23.923.92.54
EfficientDet-d164040.513.57.316.66.1
EfficientDet-d264043.017.710.928.111.0
EfficientDet-d364047.528.019.5912.024.9
EfficientDet-d464049.742.833.5520.755.2
EfficientDet-d564051.572.567.8633.7130.0
EfficientDet-d664052.692.889.2951.9226.0
EfficientDet-d764053.7122.0128.0751.9325.0
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9

Analyse des métriques

Les données mettent en évidence une distinction essentielle : latence vs FLOP. Bien qu'EfficientDet-d7 atteigne un mAP élevé de 53,7 %, il le fait avec une latence de plus de 128 ms sur un GPU T4. En revanche, YOLOv7x atteint un mAP comparable de 53,1 %, mais fonctionne à seulement 11,57 ms, soit plus de 10 fois plus vite. Pour les applications du monde réel telles que les véhicules autonomes ou l'analyse vidéo, cet avantage en termes de vitesse est souvent le facteur décisif.

La latence est importante

Si les FLOP (opérations en virgule flottante) constituent un bon indicateur théorique de la complexité, elles ne sont pas toujours corrélées de manière linéaire à la vitesse d'inférence. Les architectures telles que BiFPN peuvent avoir des coûts d'accès à la mémoire élevés qui ralentissent le temps d'exécution réel, tandis que les structures CNN simples YOLO sont hautement optimisées pour GPU .

L'avantage Ultralytics : écosystème et convivialité

Le choix d'un modèle dépend souvent autant de l'écosystème logiciel que des mesures brutes. C'est là que le passage aux Ultralytics offre des avantages substantiels par rapport aux anciens référentiels.

Expérience utilisateur simplifiée

EfficientDet s'appuie sur d'anciennes TensorFlow qui peuvent être difficiles à intégrer dans les versions modernes de PyTorch . En revanche, Ultralytics une Python unifiée qui traite l'entraînement, la validation et le déploiement des modèles comme des tâches simples et standardisées.

Efficacité de l'entraînement et mémoire

L'un des principaux avantagesYOLO Ultralytics réside dans leurs exigences en matière de mémoire. Grâce à des chargeurs de données optimisés et à une conception architecturale efficace, YOLO consomment généralement moins CUDA pendant l'entraînement que les réseaux complexes à branches multiples. Cela permet aux développeurs d'utiliser des lots plus volumineux, ce qui stabilise l'entraînement et accélère la convergence.

from ultralytics import YOLO

# Load a model (YOLOv7 or newer)
model = YOLO("yolov7.pt")

# Train the model with a single command
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

Une polyvalence indétectable

Bien qu'EfficientDet soit principalement un détecteur d'objets, Ultralytics prend en charge un éventail plus large de tâches, notamment la segmentation d'instances, l'estimation de poses et les boîtes englobantes orientées (OBB). Cette polyvalence permet aux équipes d'utiliser un seul et même cadre pour relever divers défis en matière de vision par ordinateur.

La Nouvelle Norme : YOLO26

Si YOLOv7 le summum de la technologie en 2022, le domaine évolue rapidement. Pour les nouveaux projets, nous recommandons YOLO26, sorti en janvier 2026. Il s'appuie sur les points forts des générations précédentes tout en introduisant des changements architecturaux fondamentaux.

  • Conception NMS de bout en bout : contrairement à YOLOv7 EfficientDet, qui nécessitent un post-traitement par suppression non maximale (NMS), YOLO26 est nativement de bout en bout. Cela élimine les goulots d'étranglement liés à la latence et simplifie la logique de déploiement, une avancée révolutionnaire lancée par YOLOv10.
  • Optimiseur MuSGD : inspiré du Kimi K2 de Moonshot AI, cet optimiseur combine la stabilité du SGD la vitesse du Muon, apportant ainsi des innovations en matière de formation LLM aux tâches de vision.
  • Performances améliorées en périphérie : grâce à la suppression de la perte focale de distribution (DFL) et à des optimisations spécifiques, YOLO26 est jusqu'à 43 % plus rapide sur CPU, ce qui le rend bien supérieur à EfficientDet pour les appareils périphériques tels que Raspberry Pi ou les téléphones mobiles.
  • ProgLoss + STAL : de nouvelles fonctions de perte améliorent considérablement la reconnaissance des petits objets, remédiant ainsi à une faiblesse courante des détecteurs à une seule étape précédents.

En savoir plus sur YOLO26

Applications concrètes

Quand choisir EfficientDet

EfficientDet reste pertinent pour les systèmes hérités profondément intégrés àTensorFlow ou pour la recherche universitaire spécifique sur la mise à l'échelle des composés. Ses variantes plus petites (d0-d2) sont également utiles lorsque le stockage sur disque (taille du poids du modèle en Mo) est la principale contrainte, plutôt que la vitesse d'exécution.

Quand choisir YOLOv7

YOLOv7 un excellent choix pour les pipelines de production existants qui nécessitent :

  • Analyse vidéo : traitement de flux à haute fréquence d'images par seconde pour la sécurité ou l'analyse commerciale.
  • Robotique :Intégration de la vision par ordinateur dans la robotique, où une faible latence est essentielle pour la navigation.
  • Détection générale : scénarios nécessitant une architecture mature et largement prise en charge.

Quand passer à YOLO26 ?

YOLO26 est le choix idéal pour pratiquement tous les nouveaux déploiements, offrant :

  • Edge Computing : CPU supérieures pour l'IoT et les applications mobiles.
  • Tâches complexes : prise en charge native de la segmentation, de la pose et de l'OBB.
  • Opérations simplifiées : la conception NMS élimine un casse-tête majeur dans le post-traitement et l'exportation, garantissant que ce que vous voyez pendant la formation est exactement ce que vous obtenez lors du déploiement.

Pour les chercheurs et les développeurs qui souhaitent rester à la pointe de la technologie, la transition vers la Ultralytics avec YOLO26 garantit l'accès aux dernières avancées en matière de stabilité de la formation, d'efficacité des modèles et de polyvalence de déploiement.


Commentaires