Swin Transformer
Découvre comment l’architecture Swin Transformer utilise des fenêtres décalées pour une vision par ordinateur efficace et explore les workflows sur l’Ultralytics Platform.
Présentée par des chercheurs de Microsoft dans l’article marquant de 2021 « Swin Transformer: Hierarchical Vision Transformer using Shifted Windows », cette architecture d’apprentissage profond (DL) adapte le mécanisme d’attention pour gérer les complexités des données visuelles haute résolution. Contrairement aux modèles de traitement automatique du langage naturel qui traitent des tokens textuels de longueur uniforme, cette architecture reconnaît que les éléments visuels varient considérablement en taille. En construisant une représentation hiérarchique et en utilisant une technique unique de fenêtrage, elle atteint une complexité computationnelle linéaire par rapport à la taille de l’image, ce qui en fait un backbone très efficace pour diverses tâches de vision par ordinateur (CV).
Fonctionnement des fenêtres décalées et de la conception hiérarchique#
L’innovation principale réside dans la manière dont le modèle structure l’extraction de caractéristiques. Il commence par diviser l’image d’entrée en petits patchs non chevauchants. Cependant, contrairement aux modèles précédents, il fusionne progressivement ces patchs voisins en régions plus grandes dans les couches plus profondes. Cette approche hiérarchique permet au réseau d’extraire de riches cartes de caractéristiques qui représentent le contexte global à différentes échelles, des minuscules détails visuels aux grands objets.
Pour préserver l’efficacité computationnelle, l’auto-attention est calculée uniquement au sein de fenêtres locales et isolées, plutôt que sur l’ensemble de l’image. Pour garantir la circulation de l’information au-delà de ces limites, les fenêtres sont « décalées » entre les couches successives. Ce schéma de fenêtres décalées relie efficacement les zones indépendantes, offrant des hiérarchies spatiales multi-échelles complètes sans la lourde charge computationnelle associée à l’attention globale.
Swin Transformer contre Transformer de vision (ViT)#
Lorsqu’on compare les architectures modernes, il est important de distinguer ce modèle du Transformer de vision (ViT) standard. Le ViT original traite les images comme une séquence de patchs de taille fixe et calcule l’attention globale sur tous les patchs simultanément. Bien que très précis, cela entraîne une complexité computationnelle quadratique, ce qui signifie que le temps de traitement et les besoins en mémoire augmentent considérablement à mesure que la résolution de l’image s’accroît.
En revanche, la conception hiérarchique et fondée sur des fenêtres de l’architecture Swin maintient une complexité linéaire. Elle est ainsi bien plus adaptée aux tâches de prédiction dense qui nécessitent des entrées et des sorties haute résolution. Elle obtient par conséquent des résultats de pointe sur des benchmarks tels que le jeu de données COCO test-dev pour la détection d’objets multi-échelle et le jeu de données de segmentation sémantique ADE20K pour la segmentation d’images précise.
Applications concrètes dans l’IA moderne#
Grâce à sa flexibilité et à son efficacité, l’implémentation officielle dans le dépôt GitHub de Microsoft Research a été adaptée à des secteurs complexes où les enjeux sont importants.
- Analyse d’images médicales : dans les environnements cliniques, des réseaux comme Swin-Unet exploitent cette architecture pour les scanners IRM 3D volumétriques et l’analyse histopathologique haute résolution. La capacité du modèle à préserver des hiérarchies spatiales denses facilite l’identification de minuscules anomalies, comme les tumeurs à un stade précoce. Tu peux en apprendre davantage sur les avancées récentes de la recherche en imagerie médicale.
- Analyse d’images satellites : pour la surveillance environnementale et la télédétection, il est essentiel de capturer le contexte géographique à grande échelle. La structure hiérarchique traite efficacement d’immenses jeux de données aériens pour le suivi de la déforestation, l’urbanisme et la surveillance de la santé des cultures.
Intégration avec PyTorch et Ultralytics#
Pour les développeurs qui construisent des réseaux neuronaux personnalisés, l’implémentation de cette architecture est simple grâce à la documentation officielle de PyTorch. La bibliothèque torchvision inclut des versions préentraînées, comme la variante légère Tiny, optimisée sur ImageNet.
import torch
from torchvision.models import Swin_T_Weights, swin_t
# Load a pre-trained Tiny variant with ImageNet weights
weights = Swin_T_Weights.IMAGENET1K_V1
model = swin_t(weights=weights)
model.eval()
# Run a single batch containing a 3-channel, 224x224 dummy image tensor
dummy_image = torch.randn(1, 3, 224, 224)
output = model(dummy_image)
# The output shape is [1, 1000], representing the 1000 ImageNet classes
print(f"Prediction tensor shape: {output.shape}")Bien que les backbones fondés sur des Transformers offrent une excellente représentation multi-échelle, les applications modernes exigent souvent des optimisations entièrement de bout en bout pour les appareils d’IA en périphérie. Par exemple, Ultralytics YOLO26 fournit une architecture native de bout en bout, plus petite, plus rapide et très précise dès sa sortie de boîte, qui excelle dans les environnements edge en temps réel. Qu’ils utilisent des architectures reposant largement sur les Transformers ou des modèles convolutionnels rapides, les développeurs peuvent gérer l’intégralité de leur workflow, de l’annotation des données à l’entraînement, via l’Ultralytics Platform. Cette chaîne d’outils cloud complète simplifie et accélère le déploiement des modèles ainsi que la surveillance continue des modèles.









