Passer au contenu

EfficientDet vs. RTDETRv2 : Une comparaison technique pour la détection d'objets

Le paysage de la détection d'objets a considérablement évolué, passant des réseaux neuronaux convolutionnels (CNN) traditionnels à des architectures modernes basées sur des transformateurs. Deux étapes notables de cette évolution sont EfficientDet, une architecture CNN évolutive de Google, et RTDETRv2, un transformateur de détection en temps réel de Baidu.

Ce guide propose une comparaison technique approfondie de ces deux modèles, en analysant leurs innovations architecturales, leurs mesures de performance et leurs scénarios de déploiement idéaux. Nous examinons également comment Ultralytics YOLO11 constitue une alternative puissante, offrant un écosystème unifié pour diverses applications de vision par ordinateur.

Aperçu du modèle

Avant de se plonger dans les nuances architecturales, il est essentiel de comprendre les origines et les objectifs premiers de chaque modèle.

Détails EfficientDet : Auteurs : Mingxing Tan, Ruoming Pang, et Quoc V. Le
Organisation : Google Research
Date : 2019-11-20
Arxiv : https://arxiv.org/abs/1911.09070
GitHub :google
Docs :google

Détails RTDETRv2 : Auteurs : Wenyu Lv, Yian Zhao, Qinyao Chang, Kui Huang, Guanzhong Wang et Yi Liu
Organisation : Baidu
Date : 2023-04-17
Arxiv : https://arxiv.org/abs/2304.08069
GitHub :RT-DETR
Docs :RT-DETR

En savoir plus sur RTDETRv2

Analyse architecturale

La principale différence entre EfficientDet et RTDETRv2 réside dans leur approche fondamentale de l'extraction des caractéristiques et de la prédiction de la boîte englobante.

EfficientDet : Efficacité grâce à une mise à l'échelle composée

EfficientDet a été conçu pour rompre avec la tendance qui consiste à augmenter la taille des modèles pour obtenir une meilleure précision. Il utilise l'épine dorsale EfficientNet et introduit un réseau bidirectionnel pondéré de pyramides de caractéristiques (BiFPN).

  • BiFPN : Contrairement aux FPN traditionnels, le BiFPN permet de fusionner facilement des caractéristiques à plusieurs échelles en introduisant des poids qui peuvent être appris. Cela permet au réseau d'apprendre l'importance des différentes caractéristiques d'entrée.
  • Mise à l'échelle composée : EfficientDet adapte simultanément la résolution, la profondeur et la largeur du réseau à l'aide d'un seul coefficient composé. Cela garantit que le modèle (variantes D0 à D7) reste efficace dans un large spectre de contraintes de ressources.

RTDETRv2 : Transformateur de détection en temps réel

RTDETRv2 s'appuie sur le succès de DETR (Detection Transformer) mais s'attaque à son coût de calcul élevé et à sa lenteur de convergence. Il s'agit d'un modèle sans ancrage qui exploite les mécanismes d'auto-attention pour modéliser le contexte global.

  • Encodeur hybride : il traite les caractéristiques multi-échelles en découplant l'interaction intra-échelle et la fusion inter-échelle, ce qui améliore considérablement la vitesse d'inférence par rapport aux transformateurs standard.
  • Sélection des requêtesIoU: Ce mécanisme sélectionne des requêtes d'objets initiales de haute qualité, ce qui accélère la convergence de l'apprentissage et améliore la précision de la détection.
  • Flexibilité dynamique : RTDETRv2 permet d'ajuster la vitesse d'inférence en faisant varier le nombre de couches du décodeur sans qu'il soit nécessaire de procéder à une nouvelle formation, ce qui offre une flexibilité unique pour l'inférence en temps réel.

Utilisation de la mémoire par Transformer vs. CNN

Bien que les transformateurs tels que RTDETRv2 excellent dans la capture du contexte global, ils nécessitent généralement beaucoup plus de mémoire CUDA pendant l'entraînement que les architectures basées sur le CNN telles que EfficientDet ou YOLO , en raison de la complexité quadratique des mécanismes d'attention.

Mesures de performance

Lors de la sélection d'un modèle pour le déploiement, les développeurs doivent peser les compromis entre la précisionmAP), la vitesse (latence) et la taille du modèle (paramètres). Le tableau ci-dessous compare les performances des variantes d'EfficientDet par rapport à RTDETRv2.

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
RTDETRv2-s64048.1-5.032060
RTDETRv2-m64051.9-7.5136100
RTDETRv2-l64053.4-9.7642136
RTDETRv2-x64054.3-15.0376259

Analyse :

  • Précision : RTDETRv2 atteint généralement des mAP plus élevésval par rapport aux modèles EfficientDet de latence similaire sur les GPU. Par exemple, RTDETRv2-x dépasse EfficientDet-d7 en termes de précision tout en étant significativement plus rapide sur TensorRT.
  • Vitesse : EfficientDet a été optimisé pour les FLOPs, ce qui est bien corrélé avec les performances du CPU mais pas toujours avec la latence du GPU . RTDETRv2 est spécifiquement conçu pour maximiser l'utilisation du GPU , ce qui le rend supérieur pour les applications côté serveur à haute performance.
  • Efficacité des paramètres : EfficientDet-d0 reste extrêmement léger (3,9 millions de paramètres), ce qui en fait un candidat viable pour les anciens dispositifs à très faible consommation d'énergie où les accélérateurs modernes ne sont pas disponibles.

L'avantage Ultralytics : Une alternative supérieure

Bien qu'EfficientDet et RTDETRv2 soient des modèles formidables, les développeurs à la recherche d'une solution holistique qui concilie performance, convivialité et polyvalence devraient considérer la solution Ultralytics YOLO d'Ultralytics. Des modèles comme le dernier YOLO11 constituent un choix convaincant pour un large éventail d'applications, de la recherche à la production.

Pourquoi choisir Ultralytics YOLO11 ?

  • Facilité d'utilisation : Les modèles Ultralytics sont réputés pour leur facilité d'utilisation. Grâce à une APIPython simple, les utilisateurs peuvent entraîner, valider et déployer des modèles en quelques lignes de code seulement. Cela contraste avec les fichiers de configuration souvent complexes requis pour EfficientDet ou les boucles d'entraînement gourmandes en mémoire de RTDETR.
  • Polyvalence : Contrairement à de nombreux concurrents qui se concentrent sur une seule tâche, YOLO11 prend en charge la détection d'objets, la segmentation d'instances, la classification, l'estimation de la pose et la détection d'objets orientés (OBB) au sein d'un cadre unique.
  • Un écosystème bien entretenu : Ultralytics fournit un écosystème robuste comprenant Ultralytics HUB pour la gestion des ensembles de données et l'entraînement des modèles, ainsi qu'une documentation complète et un support communautaire.
  • Équilibre des performances : Les modèles Ultralytics sont méticuleusement conçus pour offrir un excellent compromis entre vitesse et précision. Ils sont conçus pour être peu gourmands en mémoire, ce qui permet de les utiliser sur des GPU grand public standard, alors que les modèles Transformer risquent de rencontrer des difficultés.

En savoir plus sur YOLO11

Exemple de code : Premiers pas avec YOLO11

L'exemple suivant montre à quel point il est facile d'exécuter une inférence avec Ultralytics YOLO11, en mettant en évidence la simplicité de l'API par rapport à d'autres frameworks plus anciens.

from ultralytics import YOLO

# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt")  # 'n' for nano, or try 's', 'm', 'l', 'x'

# Run inference on an image
results = model("path/to/image.jpg")

# Display the results
results[0].show()

Cas d'utilisation idéaux

Le choix du bon modèle dépend fortement de vos contraintes matérielles spécifiques et des exigences de votre projet.

Quand utiliser EfficientDet

  • Dispositifs Edge hérités : Si vous déployez votre système sur des processeurs ou du matériel plus anciens pour lesquels les convolutions séparables en profondeur sont la seule opération efficace.
  • Contraintes de paramètres : Pour les applications où la taille absolue du fichier de modèle est le principal goulot d'étranglement (par ex, EfficientDet-d0 is < 4MB).

Quand utiliser RTDETRv2

  • Déploiement de GPU haut de gamme : Lorsque vous avez accès à de puissants GPU NVIDIA (par exemple, T4, A100) et que vous pouvez tirer parti de l'optimisation TensorRT .
  • Compréhension des scènes complexes : Pour les scénarios nécessitant les capacités de contexte global des transformateurs, comme la détection d'objets dans des scènes encombrées ou occultées.

Quand utiliser Ultralytics YOLO11

  • Développement rapide : Lorsque vous devez passer rapidement d'un ensemble de données à un modèle déployé en utilisant des outils standard tels que Google Colab ou des environnements locaux.
  • Edge AI en temps réel : YOLO11 est hautement optimisé pour les appareils périphériques tels que NVIDIA Jetson et Raspberry Pi, offrant des compromis mAP supérieurs.
  • Exigences multi-tâches : Si votre projet nécessite des masques de segmentation ou des points clés de pose en plus des boîtes englobantes.
  • Efficacité des ressources : Lorsque les ressources de formation sont limitées (par exemple, VRAM limitée), les modèles YOLO sont nettement plus efficaces que les alternatives basées sur les transformateurs.

Conclusion

EfficientDet et RTDETRv2 représentent tous deux des réalisations importantes dans le domaine de la vision par ordinateur. EfficientDet a repoussé les limites de l'efficacité grâce à la mise à l'échelle, tandis que RTDETRv2 a prouvé que les transformateurs pouvaient être suffisamment rapides pour les applications en temps réel.

Cependant, pour la grande majorité des développeurs et des entreprises, les modèlesYOLO d'Ultralytics représentent la solution la plus pratique. En combinant des performances de pointe avec une expérience de développement inégalée et un riche écosystème, Ultralytics vous permet de construire des solutions d'IA robustes plus rapidement et de manière plus fiable.

Explorer d'autres comparaisons

Pour vous aider davantage dans votre décision, explorez ces autres comparaisons :


Commentaires