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 convolutifs (CNN) traditionnels aux architectures modernes basées sur les Transformers. Deux étapes importantes 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 fournit une comparaison technique approfondie de ces deux modèles, analysant leurs innovations architecturales, leurs mesures de performance et leurs scénarios de déploiement idéaux. Nous explorons é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 plonger dans les nuances architecturales, il est essentiel de comprendre les origines et les objectifs principaux de chaque modèle.

Détails d’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 : https://github.com/google/automl/tree/master/efficientdet
Docs : https://github.com/google/automl/tree/master/efficientdet#readme

Détails de 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 : https://github.com/lyuwenyu/RT-DETR/tree/main/rtdetrv2_pytorch
Docs : https://github.com/lyuwenyu/RT-DETR/tree/main/rtdetrv2_pytorch#readme

En savoir plus sur RTDETRv2

Analyse architecturale

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

EfficientDet : L’efficacité grâce à la mise à l’échelle composée

EfficientDet a été conçu pour briser la tendance consistant à simplement agrandir les modèles pour obtenir une meilleure précision. Il utilise le backbone EfficientNet et introduit un réseau de pyramides de caractéristiques bidirectionnel pondéré (BiFPN).

  • BiFPN : Contrairement aux FPN traditionnels, BiFPN permet une fusion facile des caractéristiques multi-échelles en introduisant des poids apprenables. Cela permet au réseau d’apprendre l’importance des différentes caractéristiques d’entrée.
  • Mise à l’échelle composite : EfficientDet met simultanément à l’échelle la résolution, la profondeur et la largeur du réseau à l’aide d’un seul coefficient composite. Cela garantit que le modèle (variantes D0 à D7) reste efficace sur un large éventail de contraintes de ressources.

RTDETRv2 : Transformer 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 convergence lente. 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-échelles, améliorant considérablement la vitesse d'inférence par rapport aux Transformers standards.
  • Sélection de requêtes basée sur l'IoU : Ce mécanisme sélectionne des requêtes d'objets initiales de haute qualité, ce qui accélère la convergence de l'entraînement 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 de décodeur sans avoir besoin d’un réentraînement, offrant ainsi une flexibilité unique pour l’inférence en temps réel.

Utilisation de la mémoire : Transformers vs. CNN

Bien que les Transformers comme RTDETRv2 excellent dans la capture du contexte global, ils nécessitent généralement beaucoup plus de mémoire CUDA pendant l'entraînement par rapport aux architectures basées sur CNN comme 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écision (mAP), la vitesse (latence) et la taille du modèle (paramètres). Le tableau ci-dessous compare les performances des variantes 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 un mAP plus élevéval par rapport aux modèles EfficientDet de latence similaire sur les GPU. Par exemple, RTDETRv2-x surpasse 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 correspond bien aux performances du CPU, mais pas toujours à la latence du GPU. RTDETRv2 est spécialement conçu pour maximiser l’utilisation du GPU, ce qui le rend supérieur pour les applications côté serveur à hautes performances.
  • 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 appareils hérités à très faible puissance où les accélérateurs modernes ne sont pas disponibles.

L'avantage Ultralytics : Une alternative supérieure

Bien que EfficientDet et RTDETRv2 soient des modèles formidables, les développeurs à la recherche d'une solution holistique qui équilibre les performances, la convivialité et la polyvalence devraient envisager la série Ultralytics YOLO. Les modèles comme le dernier YOLO11 offrent un choix convaincant pour un large éventail d'applications, de la recherche au déploiement en production.

Pourquoi choisir Ultralytics YOLO11 ?

  • Facilité d'utilisation : Les modèles Ultralytics sont réputés pour leur expérience utilisateur rationalisée. Avec une simple API Python, les utilisateurs peuvent entraîner, valider et déployer des modèles en quelques lignes de code. 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 à l’approche mono-tâche de nombreux concurrents, YOLO11 prend en charge la détection d’objets, la segmentation d’instance, la classification, l’estimation de pose et la détection d’objets orientés (OBB) au sein d’un seul framework.
  • Écosystème bien maintenu : 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 exhaustive 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 efficaces en termes de mémoire, ce qui permet de les entraîner sur des GPU grand public standard, là où les modèles Transformer pourraient avoir des difficultés.

En savoir plus sur YOLO11

Exemple de code : Démarrage avec YOLO11

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

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

  • Appareils Edge existants : Si vous déployez sur des CPU ou du matériel plus anciens où les convolutions séparables en profondeur sont la seule opération efficace.
  • Contraintes des paramètres : Pour les applications où la taille absolue du fichier de modèle est le principal goulot d'étranglement (par exemple, 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 complexe de la scène : Pour les scénarios nécessitant les capacités de contexte global des Transformers, comme la détection d'objets dans des scènes encombrées ou occluses.

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.
  • IA en temps réel à la périphérie : YOLO11 est hautement optimisé pour les appareils périphériques tels que le NVIDIA Jetson et Raspberry Pi, offrant des compromis FPS/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 d'entraînement sont limitées (par exemple, une VRAM limitée), les modèles YOLO sont nettement plus efficaces à entraîner que les alternatives basées sur Transformer.

Conclusion

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

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

Explorer Plus de Comparaisons

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


Commentaires