Polydesk-logotype
Polydesk.ai — Header

DETR (Detection Transformer)

DETR (DEtection TRansformer) est une architecture de détection d’objets introduite par Facebook AI Research en 2020 qui reformule la détection comme un problème de prédiction d’ensemble (set prediction). En éliminant les anchor boxes, les propositions de régions et le NMS (Non-Maximum Suppression), DETR simplifie radicalement le pipeline de détection. Ses variantes temps réel (RT-DETR, RF-DETR) rivalisent désormais avec YOLO en vitesse tout en le surpassant en précision.

DETR en bref
Auteurs
Nicolas Carion, Francisco Massa et al. (Facebook AI Research, 2020)
Paper
« End-to-End Object Detection with Transformers » (ECCV 2020)
Innovation clé
Détection end-to-end sans NMS ni anchors, via bipartite matching
Variantes temps réel
RT-DETR (Baidu, CVPR 2024), RF-DETR (Roboflow, ICLR 2026), D-Fine
Licence
Apache 2.0 (toutes les variantes DETR)
Frameworks
PyTorch, Hugging Face Transformers, Ultralytics (RT-DETR)

Pourquoi DETR est une rupture

Avant DETR, la détection d’objets reposait sur un pipeline complexe hérité des R-CNN : générer des milliers de propositions de régions, classifier chacune, puis éliminer les doublons par NMS (Non-Maximum Suppression). Même les détecteurs single-stage comme YOLO utilisaient des anchor boxes prédéfinies et un NMS en post-traitement.

DETR change fondamentalement l’approche : la détection devient un problème de prédiction d’ensemble. Le modèle prédit directement un ensemble fixe de N détections (typiquement N=100), et un algorithme d’appariement bipartite (matching hongrois) associe chaque prédiction à un objet réel ou à la classe « pas d’objet » pendant l’entraînement.

Résultat : plus besoin d’anchor boxes, de propositions de régions ni de NMS. Le pipeline est entièrement différentiable, de bout en bout. C’est élégant, simple à implémenter, et cela ouvre la voie à des extensions naturelles (segmentation panoptique, détection 3D).

Architecture de DETR

DETR se compose de trois blocs principaux :

1. Backbone CNN

Un réseau convolutif (typiquement ResNet-50) extrait les features visuelles de l’image d’entrée. La feature map du dernier stage (par exemple 2048 canaux, 25×34 pour une image 800×1066) est projetée vers une dimension plus basse (256) via une convolution 1×1.

2. Encodeur Transformer

La feature map est aplatie en une séquence de tokens (un par position spatiale), enrichie d’un encodage positionnel fixe. L’encodeur Transformer applique le mécanisme de self-attention sur toute la séquence, permettant à chaque position de « voir » l’ensemble de l’image. C’est cette attention globale qui donne à DETR un avantage structurel pour les scènes complexes, les objets occultés et les dépendances spatiales à longue distance.

3. Décodeur Transformer + Object queries

Le décodeur prend en entrée N object queries (vecteurs apprenables, typiquement N=100) et les raffinement via cross-attention avec les features encodées. Chaque query se « spécialise » pour détecter un objet à une certaine position et d’une certaine catégorie.

La sortie : N prédictions, chacune composée d’une bounding box (coordonnées normalisées) et d’une distribution de probabilité sur les classes (incluant la classe « pas d’objet »).

Appariement bipartite (matching hongrois)

Pendant l’entraînement, un algorithme d’appariement bipartite optimal (algorithme hongrois) assigne chaque prédiction à un objet ground truth ou à la classe « pas d’objet ». Cette assignation one-to-one est la clé qui élimine le besoin de NMS : chaque objet n’est prédit qu’une seule fois, par design.

Pourquoi le matching hongrois est élégant Les détecteurs classiques (YOLO, Faster R-CNN) assignent potentiellement plusieurs prédictions au même objet, puis utilisent le NMS pour éliminer les doublons. DETR garantit une bijection prédiction-objet via le matching hongrois. Le NMS devient inutile car les doublons n’existent pas. C’est un changement conceptuel profond qui simplifie toute la chaîne.

Limites du DETR original

Le papier de 2020 présentait deux faiblesses significatives :

Convergence lente : DETR nécessitait ~500 époques d’entraînement sur COCO pour converger, contre ~36 pour Faster R-CNN. L’attention globale de l’encodeur (complexité O(n²) sur la séquence) ralentissait chaque époque, et le matching hongrois rendait les premières époques instables.

Mauvaise détection des petits objets : l’encodeur Transformer travaillait sur une seule échelle (la feature map du dernier stage du ResNet), manquant les détails fins nécessaires pour les petits objets.

Ces deux problèmes ont été progressivement résolus par les variantes suivantes.

L’évolution de DETR : du laboratoire au temps réel

Variante Année Innovation clé Performance (COCO)
DETR 2020 Concept fondateur (set prediction, matching hongrois) ~42 AP, lent
Deformable DETR 2021 Attention déformable sparse (O(n) au lieu de O(n²)), multi-échelle ~46 AP, 10× plus rapide à converger
Conditional DETR 2021 Découplage contenu/position dans les queries Convergence accélérée
DN-DETR 2022 Entraînement par débruitage (denoising) Stabilise le matching
DINO 2022 Queries mixtes, sélection de queries améliorée ~51 AP (first DETR SOTA)
RT-DETR 2023 Encodeur hybride, profondeur de décodeur ajustable, temps réel ~53 AP @ 108 FPS (R50, T4)
RT-DETRv2/v3/v4 2024-2025 Bag-of-freebies, distillation depuis VFMs (DINOv3) ~54+ AP
D-Fine 2024 Raffinement itératif des prédictions ~55+ AP
RF-DETR 2025 Backbone DINOv2 ViT, NAS, détection + segmentation ~54.7 AP @ 4.52ms (M, T4)

RT-DETR : le DETR temps réel

RT-DETR (Real-Time DEtection TRansformer), publié par Baidu et présenté à CVPR 2024, est le premier détecteur Transformer à rivaliser avec YOLO en vitesse d’inférence. Ses innovations :

Encodeur hybride : combine un backbone CNN avec un encodeur Transformer allégé, fusionnant efficacement les features multi-échelle sans le coût O(n²) de l’attention globale. L’encodeur utilise une architecture aura-scale : la self-attention n’est appliquée que sur les features de plus basse résolution, tandis que les features hautes résolutions sont fusionnées par cross-scale sans attention.

Sélection de queries à incertitude minimale : au lieu de queries aléatoires ou fixes, RT-DETR sélectionne les K positions avec la meilleure concordance entre classification et localisation, réduisant le travail du décodeur.

Profondeur de décodeur ajustable : à l’inférence, vous pouvez réduire le nombre de couches du décodeur pour accélérer le traitement, sans réentraîner le modèle. Un compromis précision/vitesse dynamique unique.

RF-DETR : le nouveau SOTA (2025)

RF-DETR, développé par Roboflow et publié à ICLR 2026, pousse encore plus loin les performances en utilisant un backbone DINOv2 ViT (Vision Transformer pré-entraîné par Meta) au lieu d’un CNN. La combinaison d’un backbone de type fondation model avec un décodeur DETR optimisé produit des résultats remarquables : RF-DETR-M atteint ~54.7% mAP sur COCO à 4.52ms de latence sur T4 GPU, surpassant les modèles YOLO comparables.

RF-DETR supporte à la fois la détection et la segmentation d’instances, avec des variantes Nano à 2XL. Son code et ses poids sont distribués sous licence Apache 2.0.

DETR vs YOLO : le grand débat

Critère DETR / RT-DETR / RF-DETR YOLO (YOLO26)
Post-traitement Aucun (end-to-end) NMS-free (YOLO26) ou NMS classique
Anchor boxes Aucune Anchor-free depuis YOLOv8
Petits objets Supérieur (attention globale) Amélioré (STAL dans YOLO26)
Scènes denses/occultées Supérieur Bon
Précision (mAP COCO medium) ~54.7% (RF-DETR-M) ~51% (YOLO26-M)
Latence GPU Compétitive (~4-5ms) Très faible (~3-4ms)
Latence CPU Plus élevée Bien plus faible (optimisé edge)
Déploiement edge/mobile Possible mais moins optimisé Excellent
Licence Apache 2.0 AGPL-3.0 (+ Enterprise payante)
Multi-tâches Détection + segmentation 5 tâches unifiées
Verdict Pour la précision maximale et une licence permissive (Apache 2.0) : choisissez RF-DETR ou D-Fine. Pour le déploiement edge, CPU et mobile : choisissez YOLO26. Pour un bon compromis : RT-DETR est disponible dans l’écosystème Ultralytics et Hugging Face, avec un déploiement simplifié. La licence Apache 2.0 des DETR est un avantage majeur pour les projets commerciaux qui ne veulent pas des contraintes copyleft de l’AGPL.

Implémentation

# RT-DETR via Ultralytics
from ultralytics import RTDETR

model = RTDETR("rtdetr-l.pt")  # RT-DETR Large
results = model.predict("image.jpg", conf=0.5)

# RF-DETR via la librairie dédiée
from rfdetr import RFDETRBase
model = RFDETRBase()  # Backbone DINOv2
results = model.predict("image.jpg", threshold=0.5)

# DETR via Hugging Face Transformers
from transformers import DetrForObjectDetection, DetrImageProcessor
import torch
from PIL import Image

processor = DetrImageProcessor.from_pretrained("facebook/detr-resnet-50")
model = DetrForObjectDetection.from_pretrained("facebook/detr-resnet-50")

image = Image.open("image.jpg")
inputs = processor(images=image, return_tensors="pt")
outputs = model(**inputs)

# Post-traitement (seuil de confiance)
target_sizes = torch.tensor([image.size[::-1]])
results = processor.post_process_object_detection(
    outputs, target_sizes=target_sizes, threshold=0.9
)

Cas d’usage

Scènes denses et occultées : l’attention globale de DETR excelle là où YOLO a historiquement du mal. Foules, objets empilés, occlusions partielles bénéficient du contexte global que le Transformer capture naturellement. Le matching bipartite garantit qu’un objet partiellement visible est détecté exactement une fois, sans les artefacts de duplication typiques du NMS.

Imagerie médicale : la détection de lésions denses et petites (microanévrismes en rétinopathie diabétique, nodules pulmonaires) profite de l’absence de NMS et de l’attention globale. RT-DETR surpasse YOLOv8 et le DETR original sur ces tâches selon des études récentes. Les variantes 3D de DETR (avec backbones volumétriques et encodage positionnel 3D) surpassent Retina U-Net sur les tâches de détection volumétrique.

Imagerie aérienne et satellite : les variantes UAV-DETR et les adaptations pour VisDrone exploitent l’attention multi-échelle pour détecter des objets très petits (véhicules, personnes) dans des images à très haute résolution. La détection orientée (OBB) est naturelle avec DETR, car les queries peuvent apprendre à prédire des boîtes pivotées sans modification architecturale majeure.

Segmentation panoptique : DETR s’étend naturellement à la segmentation panoptique (classification de chaque pixel en « chose » ou « matière ») en ajoutant un petit décodeur de masques au-dessus des features d’objets. Cette extension est plus simple qu’avec YOLO, car le matching bipartite et les object queries fournissent une base architecturale propre pour la segmentation.

Projets commerciaux sous Apache 2.0 : la licence permissive de DETR et ses variantes est un argument décisif pour les entreprises qui veulent intégrer un détecteur dans un produit propriétaire sans publier leur code source. C’est de plus en plus un critère de sélection dans les projets industriels.

Détection de texte en formes arbitraires : DETR a été adapté avec des têtes hybrides (Bézier/polygone) pour la détection de texte dans les images naturelles (enseignes, documents inclinés), atteignant des scores state-of-the-art sur les benchmarks Total-Text et CTW-1500.

Limites des architectures DETR

Convergence plus lente que les CNN-based : même les variantes modernes (RT-DETR, RF-DETR) nécessitent généralement plus d’époques d’entraînement que YOLO pour converger sur des datasets custom. Le matching hongrois et l’attention globale rendent les premières époques moins stables. C’est un facteur à prendre en compte pour le fine-tuning sur des petits datasets.

Consommation mémoire GPU : l’attention Transformer est plus gourmande en mémoire que les convolutions pures, surtout à haute résolution. Sur des images de 1920×1080 ou plus, la mémoire GPU peut devenir un goulot d’étranglement. Les techniques comme FlashAttention atténuent ce problème mais ne l’éliminent pas complètement.

Moins optimisé pour le CPU et l’edge : les opérations d’attention ne sont pas aussi bien optimisées sur CPU que les convolutions. YOLO26 surpasse significativement RT-DETR en inférence CPU (jusqu’à 43% plus rapide). Pour les déploiements sur Raspberry Pi, drones ou IoT sans GPU, YOLO reste le meilleur choix.

Nombre fixe de queries : le décodeur DETR utilise un nombre fixe de queries (typiquement 100 ou 300). Si une scène contient plus d’objets que le nombre de queries, certains objets ne seront pas détectés. Des travaux récents (RAQG) explorent l’adaptation dynamique du nombre de queries, mais ce n’est pas encore standard.

Vulnérabilité adversariale : des études montrent que les patterns d’attention de DETR sont particulièrement vulnérables aux attaques adversariales (FGSM, PGD). Les mécanismes d’attention, en capturant les dépendances globales, créent aussi des surfaces d’attaque plus larges que les CNN locaux.

Écosystème moins mature : bien que Hugging Face Transformers et Ultralytics supportent RT-DETR, l’écosystème DETR reste moins riche que celui de YOLO en termes de tutoriels, d’intégrations tierces et de support communautaire. RF-DETR est encore récent et son écosystème est en construction.

Bonnes pratiques

Pour la production, utilisez RT-DETR ou RF-DETR, pas le DETR original. Le DETR de 2020 est trop lent à entraîner et à l’inférence. Les variantes modernes sont 10x plus rapides avec une bien meilleure précision.

Exploitez la profondeur de décodeur ajustable de RT-DETR. Entraînez avec 6 couches de décodeur, puis déployez avec 3 ou 4 pour un compromis vitesse/précision adapté à votre cas.

Préférez RF-DETR si la précision prime. Son backbone DINOv2 (pré-entraîné par Meta sur des données massives) fournit des features visuelles plus riches que les CNN backbones classiques. RF-DETR-M est le meilleur rapport performance/latence sur COCO en mars 2026.

Considérez la licence dans votre choix. Si vous développez un produit commercial et que la licence AGPL de YOLO est un problème, les DETR (tous sous Apache 2.0) sont une alternative directe sans compromis sur les performances.

Pour les très petits objets, combinez RT-DETR avec du sliced inference : découper l’image en patches, détecter sur chaque patch, puis fusionner. Le package SAHI (Slicing Aided Hyper Inference) supporte RT-DETR nativement.


Questions fréquentes sur DETR

Quelle est la différence fondamentale entre DETR et YOLO ?

YOLO est un détecteur single-stage basé sur un CNN : il divise l’image en grille et prédit des bounding boxes par régression directe, avec un post-traitement NMS (ou NMS-free dans YOLO26). DETR reformule la détection comme un problème de prédiction d’ensemble : un Transformer prédit un ensemble fixe de détections, et un matching bipartite (algorithme hongrois) assigne chaque prédiction à un objet. DETR élimine structurellement le NMS, les anchors et les propositions de régions. YOLO excelle sur edge/CPU ; DETR excelle en précision et sur les scènes complexes.

DETR est-il assez rapide pour le temps réel ?

Le DETR original (2020) ne l’était pas. Mais RT-DETR (2023) a changé la donne : RT-DETR-R50 atteint ~53% mAP à 108 FPS sur T4 GPU, surpassant YOLOv8-L en précision et en vitesse. RF-DETR-M (2025) atteint ~54.7% mAP à 4.52ms de latence. Les DETR modernes sont pleinement temps réel sur GPU. Sur CPU, ils restent en retrait par rapport à YOLO, qui est spécifiquement optimisé pour cette cible.

Pourquoi la licence Apache 2.0 des DETR est-elle un avantage ?

La licence Apache 2.0 permet d’utiliser, modifier et distribuer le code dans des produits commerciaux propriétaires, sans obligation de publier le code source. C’est un avantage majeur par rapport à YOLO (AGPL-3.0), qui impose la publication du code source de tout service réseau utilisant le modèle, sauf en achetant une licence Enterprise Ultralytics. Pour les startups et les entreprises, Apache 2.0 élimine cette complexité juridique.

Qu’est-ce que les object queries dans DETR ?

Les object queries sont des vecteurs apprenables (typiquement 100) qui servent d’initialisation au décodeur Transformer. Chaque query apprend à se « spécialiser » pour un certain type d’objet ou une certaine position dans l’image. Pendant l’inférence, chaque query est transformée par le décodeur via cross-attention avec les features de l’encodeur, produisant une prédiction de bounding box et de classe. Les queries qui ne trouvent pas d’objet prédisent la classe « pas d’objet ».

Quel modèle DETR choisir en 2026 ?

Pour la précision maximale : RF-DETR (Roboflow, backbone DINOv2, SOTA sur COCO). Pour un bon compromis vitesse/précision avec un écosystème mature : RT-DETR (Baidu, disponible dans Ultralytics et Hugging Face). Pour les applications nécessitant un raffinement itératif : D-Fine. Évitez le DETR original sauf à des fins pédagogiques. Toutes ces variantes sont sous licence Apache 2.0.

Polydesk.ai — Footer