Backbone
Un backbone est le réseau préentraîné à la base d’un modèle de vision qui transforme les pixels en cartes de caractéristiques multi-échelles destinées au neck et à la tête.
Un backbone est la partie d’un réseau neuronal qui transforme les données d’entrée brutes en cartes de caractéristiques pour le reste du modèle. En vision par ordinateur, le backbone est généralement un réseau neuronal convolutif (CNN) ou un Transformer de vision (ViT) préentraîné sur un grand jeu de données comme ImageNet. Les couches qui suivent, généralement un neck et une tête propre à la tâche, convertissent ses caractéristiques en étiquettes de classe, boîtes englobantes, masques ou points clés. Backbone, encodeur et extracteur de caractéristiques sont souvent employés comme synonymes ; encodeur est le terme habituel pour les modèles encodeur-décodeur comme U-Net.
Fonctionnement d’un backbone#
Un backbone de vision traite une image par étapes. Chaque étape applique une pile de blocs de convolution ou d’attention, puis divise par deux la résolution spatiale et augmente généralement le nombre de canaux : une entrée de 640×640 devient ainsi une carte de 80×80 au pas 8, une carte de 40×40 au pas 16 et une carte de 20×20 au pas 32. Les premières étapes réagissent aux contours, aux couleurs et aux textures. Les étapes suivantes réagissent aux parties d’objets et aux objets entiers, car chaque position de sortie couvre un champ réceptif plus vaste dans l’image d’entrée. Les modèles de détection et de segmentation utilisent les trois dernières étapes et transmettent leurs sorties à un neck, par exemple un réseau pyramidal de caractéristiques (FPN), qui permet au modèle de détecter les petits objets dans la carte haute résolution et les grands objets dans celle de basse résolution.
Backbone, neck et head#
La plupart des architectures modernes de détection d’objets se divisent en trois parties ; leurs limites sont importantes lorsqu’on remplace des composants ou qu’on gèle des couches.
- Backbone : effectue l’extraction de caractéristiques et produit des cartes de caractéristiques à plusieurs résolutions. Il contient des connaissances visuelles générales transférables entre tâches et jeux de données.
- Neck : fusionne les échelles du backbone afin que chaque niveau de sortie contienne à la fois des détails spatiaux précis et des informations de haut niveau. FPN ajoute un chemin descendant, puis PANet un second chemin ascendant. Les modèles de classification n’ont généralement pas de neck et regroupent la dernière étape du backbone en un seul vecteur.
- Tête : convertit chaque carte de caractéristiques fusionnée en sorties propres à la tâche. Une tête de détection prédit des boîtes et des scores de classe, tandis que les têtes de segmentation et de pose prédisent des masques et des points clés à partir du même type de caractéristiques.
Familles courantes de backbones#
- ResNet : les connexions résiduelles permettent au signal de contourner des blocs, ce qui rend entraînables des réseaux d’une profondeur allant jusqu’à 152 couches ; un ensemble de ResNet a remporté la tâche de classification ILSVRC 2015. ResNet-50 reste un backbone de référence courant pour comparer les détecteurs.
- CSPNet : les réseaux Cross Stage Partial font passer seulement une partie des canaux de chaque étape par ses blocs et fusionnent le reste à la fin, ce qui a réduit le calcul de 20 % tout en obtenant une précision ImageNet égale ou supérieure. CSPDarknet53, le backbone de YOLOv4, est constitué de ces étapes.
- ConvNeXt : ResNet modernisé avec des choix de conception empruntés aux Transformers, comme de grands noyaux et moins de couches de normalisation ; il atteint une précision top-1 de 87,8 % sur ImageNet et surpasse Swin Transformer en détection COCO.
- ViT et Swin Transformer : un ViT standard conserve une seule résolution du début à la fin. Les modèles de détection utilisent souvent Swin à la place, qui calcule l’attention dans des fenêtres locales décalées et produit une hiérarchie d’étapes semblable à celle d’un CNN.
- Backbones fondamentaux auto-supervisés : DINOv3 entraîne un ViT de 7 milliards de paramètres sur 1,7 milliard d’images non étiquetées. Ses caractéristiques obtiennent de bons résultats sur des tâches denses comme la segmentation et l’estimation de profondeur, avec un backbone maintenu gelé.
Backbones préentraînés et apprentissage par transfert#
Entraîner un backbone à partir de zéro nécessite un grand jeu de données et une longue planification ; la plupart des projets partent donc de poids préentraînés. Ce type d’apprentissage par transfert fonctionne parce que les contours, textures et formes appris sur un jeu de données sont utiles pour la plupart des autres. Avec un petit jeu de données proche du domaine de préentraînement, le gel du backbone préserve ces caractéristiques générales, réduit le surapprentissage et diminue la mémoire d’entraînement, car les couches gelées ne stockent ni gradients ni état de l’optimiseur. Avec un grand jeu de données ou un domaine éloigné, comme les images aux rayons X ou thermiques, le réglage fin du backbone permet aussi d’adapter ses caractéristiques. Dans YOLO26, le backbone couvre les couches 0 à 10 — convolutions à stride, blocs C3k2, bloc de regroupement SPPF et bloc d’attention C2PSA — et l’argument d’entraînement freeze=11 les gèle toutes afin que l’entraînement ne mette à jour que le neck et la tête de détection, une configuration présentée en détail dans le guide de réglage fin.
from ultralytics import YOLO
# Charger un modèle de détection YOLO26 préentraîné sur COCO
model = YOLO("yolo26n.pt")
# Ajuster finement le modèle sur un petit jeu de données en gelant tout le backbone (couches 0 à 10)
results = model.train(data="coco8.yaml", epochs=3, imgsz=640, freeze=11)L’entraîneur consigne Freezing layer 'model.0.conv.weight' avant la première époque, ainsi qu’une ligne correspondante pour chaque autre paramètre des couches 0 à 10, qui restent fixes pendant que le neck et la tête apprennent les nouvelles données.










