Ultralytics YOLO27: Trag dich in die Warteliste ein.
YOLO lizenzieren
Zurück zum Ultralytics-Glossar

Swin Transformer

Swin Transformer ist ein hierarchischer Vision Transformer, der Self-Attention in verschobenen lokalen Fenstern berechnet. Dadurch steigen die Kosten linear mit der Bildgröße.

Swin Transformer, kurz für Shifted Window Transformer, ist ein hierarchischer Vision Transformer, der Selbstaufmerksamkeit innerhalb kleiner lokaler Fenster berechnet und diese Fenster zwischen aufeinanderfolgenden Schichten verschiebt. Ze Liu und Kollegen bei Microsoft Research Asia stellten ihn 2021 im Beitrag Swin Transformer: Hierarchischer Vision Transformer mit verschobenen Fenstern vor. Dieser erhielt beim ICCV 2021 den Marr-Preis für den besten Beitrag. Lokale Fenster sorgen dafür, dass die Kosten der Aufmerksamkeit linear statt quadratisch mit der Pixelzahl wachsen. Durch das schrittweise Zusammenführen von Patches entstehen mehrskalige Merkmalskarten, wie sie auch konvolutionale neuronale Netzwerke erzeugen. Dadurch wurden Transformer als vielseitige Backbones für die Objekterkennung und Segmentierung hochauflösender Bilder über die Klassifikation hinaus praktikabel.

Funktionsweise verschobener Fenster#

Swin teilt das Bild zunächst in Patches mit jeweils 4×4 Pixeln auf und projiziert jeden Patch auf eine Token-Einbettung. Ein Bild mit 224×224 Pixeln wird im Tiny-Modell so zu einem 56×56-Raster aus Tokens mit jeweils 96 Kanälen. Globale Aufmerksamkeit über alle 3.136 Tokens würde jedes Token mit jedem anderen vergleichen. Swin unterteilt das Raster in nicht überlappende Fenster mit jeweils 7×7 Tokens und berechnet Aufmerksamkeit nur innerhalb jedes Fensters. Der Beitrag gibt die Kosten globaler Aufmerksamkeit für ein h×w-Raster mit C Kanälen als 4hwC² + 2(hw)²C an. Bei Fenstern mit M×M Tokens betragen die Kosten 4hwC² + 2M²hwC und wachsen linear mit hw.

Allein würden die Fenster niemals Informationen austauschen. Deshalb verschiebt jeder zweite Block das Fensterraster um eine halbe Fensterbreite, also 3 Tokens. Die neuen Fenster überschreiten dadurch die alten Grenzen. Damit die Anzahl der Fenster gleich bleibt, verschiebt die Implementierung die Merkmalskarte zyklisch und maskiert die Aufmerksamkeit zwischen Tokens, die im ursprünglichen Bild keine Nachbarn waren. Jeder Block ergänzt die Aufmerksamkeitswerte außerdem um einen erlernten relativen Positionsbias.

Zwischen den Stufen verkettet eine Patch-Merging-Schicht jede 2×2-Gruppe benachbarter Tokens und projiziert sie linear. Dadurch halbiert sich die Auflösung und die Kanalzahl verdoppelt sich. Die vier Stufen geben Merkmalskarten mit 1/4, 1/8, 1/16 und 1/32 der Eingabeauflösung aus – dieselben Schrittweiten wie bei ResNet. Dadurch lässt sich Swin in vorhandene Erkennungs- und Segmentierungsköpfe einbinden, etwa in ein Merkmalspyramidennetzwerk. Die torchvision-Implementierung zeigt beide Mechanismen:

import torch
from torchvision.models import swin_t

# Swin-T architecture; random weights are enough to inspect its structure
model = swin_t().eval()

# Each pair of blocks uses 7x7 windows, the second shifted by 3 patches
regular, shifted = model.features[1]
print(f"Window {regular.attn.window_size}, shift {regular.attn.shift_size} then {shifted.attn.shift_size}")

# features alternates stages with patch merging; stage outputs are (batch, height, width, channels)
x = torch.randn(1, 3, 224, 224)
with torch.no_grad():
    for i, layer in enumerate(model.features):
        x = layer(x)
        if i % 2 == 1:
            print(f"Stage {i // 2 + 1}: {tuple(x.shape)}")

Es gibt Window [7, 7], shift [0, 0] then [3, 3] aus, gefolgt von den Stufenausgaben (1, 56, 56, 96), (1, 28, 28, 192), (1, 14, 14, 384) und (1, 7, 7, 768): Mit jeder Stufe halbiert sich das Raster und die Kanalzahl verdoppelt sich. So entsteht die Pyramide, die Köpfe für dichte Vorhersagen erwarten.

Swin Transformer im Vergleich zu ViT und CNNs#

Das ursprüngliche ViT teilt Bilder in Patches mit 16×16 Pixeln, behält über alle Schichten hinweg eine einzige Auflösung bei und nutzt globale Aufmerksamkeit. Das eignet sich für die Bildklassifikation, ist aber bei den hochauflösenden Eingaben für Erkennung und Segmentierung kostspielig. Swin führt zwei Eigenschaften konvolutionaler Netzwerke wieder ein – lokale Verarbeitung und eine Merkmals-Hierarchie –, behält aber die eingabeabhängigen Gewichte des Aufmerksamkeitsmechanismus bei. Seine lokalen Fenster unterscheiden sich von der Aufmerksamkeit mit gleitendem Fenster, bei der jedes Token auf seine jeweilige Nachbarschaft achtet: Swins Fenster sind feste, von den Tokens gemeinsam genutzte Partitionen, die sich effizient auf GPU-Matrixmultiplikationen abbilden lassen.

Zum Zeitpunkt der Veröffentlichung erreichte das größte Modell, Swin-L, vortrainiert auf ImageNet-22K, eine Top-1-Genauigkeit von 87,3 % auf ImageNet-1K, 58,7 Box AP und 51,1 Mask AP auf COCO test-dev sowie 53,5 mIoU auf ADE20K. Das waren die besten veröffentlichten Ergebnisse dieser Benchmarks zur Erkennung und semantischen Segmentierung. Der Erfolg brachte auch die Forschung an konvolutionalen Netzwerken voran: Meta modernisierte ResNet 2022 mit ConvNeXt und übernahm dabei Designentscheidungen von Swin. Die Genauigkeit von ConvNeXt erreichte oder übertraf die von Swin.

Swin kann als Backbone eines benutzerdefinierten Ultralytics-Modells dienen: Das Modul TorchVision in einer Modell-YAML-Datei lädt swin_t aus torchvision mit den vortrainierten ImageNet-Gewichten. Ein YOLO-Erkennungskopf wird auf der einzigen Merkmalskarte mit Schrittweite 32 trainiert, die das Modul zurückgibt.

Varianten und Anwendungen#

  • Swin Transformer V2: Skalierte das Design 2022 auf 3 Milliarden Parameter und Bilder mit bis zu 1.536×1.536 Pixeln. Für stabiles Training kommen skalierte Kosinusaufmerksamkeit und ein kontinuierlicher Positionsbias mit logarithmischer Skalierung zum Einsatz.
  • Video-Aktionserkennung: Video Swin Transformer erweitert die Fenster auf drei Dimensionen – über Raum und Zeit hinweg –, um Aktionen in Videoclips zu klassifizieren.
  • Superauflösung und Wiederherstellung: SwinIR verwendet Swin-Blöcke zum Hochskalieren von Bildern, Entrauschen und Entfernen von JPEG-Artefakten.
  • Medizinische Bildanalyse: Swin-Unet und Swin UNETR kombinieren Swin-Encoder mit Decodern im U-Net-Stil. Swin UNETR segmentiert Hirntumore in 3D-MRT-Volumen.

Lösungen entdecken

Computer Vision im Sport

Computer Vision im Sport

Entdecke, wie Ultralytics YOLO die Sportbildanalyse voranbringt – mit Spieler- und Ballverfolgung, Leistungsanalysen, Erkenntnissen für das Coaching und der Rehabilitation von Athleten.
Mehr erfahren
Computer Vision für Luftbilder

Computer Vision für Luftbilder

Verwandle Drohnen- und Luftbilder mit Ultralytics YOLO in Echtzeit-Erkenntnisse für Landwirtschaft, Aquakultur, Naturschutz und Geodatenanalyse.
Mehr erfahren
Computer Vision in der Luft- und Raumfahrt

Computer Vision in der Luft- und Raumfahrt

Setze Computer Vision in der Luft- und Raumfahrt mit Ultralytics YOLO ein – für Flugzeuginspektionen, die Erkennung von Fremdkörpern auf Start- und Landebahnen, den Bodenbetrieb am Flughafen und die Erkennung von Verbundwerkstofffehlern.
Mehr erfahren
Computer Vision im Sicherheitsbereich

Computer Vision im Sicherheitsbereich

Schütze jeden Standort mit Ultralytics YOLO-Modellen. Vision-KI ermöglicht die Überwachung von Grundstücksgrenzen, die Erkennung von Bedrohungen, die Kennzeichenerkennung und die Sicherheit am Arbeitsplatz.
Mehr erfahren
Computer Vision in der Robotik

Computer Vision in der Robotik

Mach Maschinen mit Ultralytics YOLO-Modellen leistungsfähiger. Vision-KI in der Robotik ermöglicht autonome Navigation, Wahrnehmung, Objektverfolgung und Steuerung in Echtzeit.
Mehr erfahren
Bildverarbeitung in der Logistik

Bildverarbeitung in der Logistik

Optimiere die Logistik mit Ultralytics YOLO-Modellen. Vision AI ermöglicht die Paketprüfung, Sortierung und Fahrzeugverfolgung sowie die Sicherheitsüberwachung von Lagerhäusern in Echtzeit.
Mehr erfahren
Bildverarbeitung im Einzelhandel

Bildverarbeitung im Einzelhandel

Gestalte den Einzelhandel mit Ultralytics YOLO-Modellen neu. Vision AI ermöglicht Bestandsverfolgung, Regalüberwachung und Warteschlangenmanagement und liefert bessere Einblicke in das Kundenverhalten.
Mehr erfahren
Bildverarbeitung im Gesundheitswesen

Bildverarbeitung im Gesundheitswesen

Entwickle Lösungen für das Gesundheitswesen mit Ultralytics YOLO-Modellen. Vision AI ermöglicht im Gesundheitswesen schnellere medizinische Bildgebung, bessere Diagnostik und die Überwachung von Patienten.
Mehr erfahren
Computer Vision in der Fertigung

Computer Vision in der Fertigung

Optimiere die Fertigung mit Ultralytics-YOLO-Modellen. Vision AI ermöglicht Qualitätskontrolle, Fehlererkennung, die Überprüfung der Einhaltung von Vorgaben zu persönlicher Schutzausrüstung und die Automatisierung von Montagelinien.
Mehr erfahren
Computer Vision in der Automobilbranche

Computer Vision in der Automobilbranche

Setze Computer Vision in der Automobilbranche mit Ultralytics-YOLO-Modellen ein. Vision AI verbessert die Verkehrssicherheit, Fahrerassistenz und Fahrzeugautomatisierung – für intelligentere Straßen.
Mehr erfahren
Computer Vision in der Landwirtschaft

Computer Vision in der Landwirtschaft

Setze mit Ultralytics YOLO-Modellen KI für Bildverarbeitung in der intelligenten Landwirtschaft ein. Ermögliche die Überwachung von Nutzpflanzen, die Verfolgung von Nutztieren und Präzisionslandwirtschaft für höhere und nachhaltigere Erträge.
Mehr erfahren

Lass uns gemeinsam die Zukunft der KI gestalten!

Starte deine Reise in die Zukunft des maschinellen Lernens