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

Vision Transformer (ViT)

Ein Vision Transformer (ViT) teilt ein Bild in Bildausschnitte und verknüpft sie mithilfe von Self-Attention. Behandelt werden Architektur, Varianten und Vor- und Nachteile im Vergleich zu CNNs.

Ein Vision Transformer (ViT) ist ein neuronales Netz, das die Transformer-Architektur aus der Sprachmodellierung auf Bilder anwendet. Es zerteilt ein Bild in Ausschnitte fester Größe, wandelt jeden Ausschnitt in eine Token-Einbettung um und verarbeitet die Sequenz mit Self-Attention. So kann jeder Ausschnitt bereits ab der ersten Schicht Informationen aus allen anderen Ausschnitten beziehen. Google-Forscher stellten die Architektur in „An Image is Worth 16x16 Words“ vor. Sie zeigten, dass ein reiner Transformer ohne Faltung-Schichten bei ausreichenden Vortrainingsdaten mit modernsten Faltungsneuronalen Netzen (CNNs) für die Bildklassifizierung mithalten kann. ViTs dienen heute als Bildencoder für Vision-Language-Modelle, Foundation-Modelle zur Segmentierung und selbstüberwachte Backbones.

So funktionieren Vision Transformer#

Ein ViT wandelt ein Bild in eine Sequenz um und verarbeitet sie anschließend ähnlich wie Text. Die folgenden Schritte verwenden ViT-Base/16 mit einem Bild von 224×224 Pixeln:

  1. Patch-Einbettung: Das Bild wird in Ausschnitte von 16×16 Pixeln zerteilt, die ein Raster mit 14×14 beziehungsweise 196 Ausschnitten bilden. Jeder Ausschnitt wird abgeflacht und mit einer gelernten Matrix multipliziert, sodass eine Einbettung mit 768 Dimensionen entsteht. Üblicherweise wird das mit einer 16×16-Faltung und Stride 16 umgesetzt.
  2. Klassentoken und Positionseinbettungen: Der Sequenz wird ein lernbares Klassentoken vorangestellt, und jedem Token werden lernbare Positionseinbettungen hinzugefügt. Attention allein berücksichtigt die Reihenfolge nicht. Daher sind diese Einbettungen die einzige Informationsquelle darüber, von welcher Stelle im Bild jeder Ausschnitt stammt.
  3. Transformer-Encoder: Eine Folge identischer Blöcke – zwölf bei ViT-Base – wechselt zwischen Multi-Head-Self-Attention, die Informationen zwischen allen Token mischt, und einem zweischichtigen MLP mit GELU-Aktivierungen, das jedes Token einzeln transformiert. Vor jeder Unterschicht kommt eine Schichtnormalisierung, und eine Residualverbindung umschließt sie.
  4. Kopf: Die endgültige Ausgabe des Klassentokens wird einem linearen Klassifikator zugeführt. Für dichte Aufgaben wie Segmentierung werden stattdessen die Patch-Token verwendet und wieder zu einem Raster mit 14×14 Elementen angeordnet.

Der folgende PyTorch-Code erstellt die Token-Sequenz für ein Bild und leitet sie durch einen einzelnen Encoderblock.

import torch
from torch import nn

# ViT-Base/16-Einstellungen: 16x16-Patches, Token mit 768 Dimensionen, 12 Attention-Köpfe
image = torch.randn(1, 3, 224, 224)
patch_embed = nn.Conv2d(3, 768, kernel_size=16, stride=16)  # eine lineare Projektion pro Patch

# Das Bild in ein Raster aus 14x14 Patches zerteilen und zu 196 Token abflachen
tokens = patch_embed(image).flatten(2).transpose(1, 2)

# Ein lernbares Klassentoken voranstellen und lernbare Positionseinbettungen hinzufügen
cls_token = nn.Parameter(torch.zeros(1, 1, 768))
pos_embed = nn.Parameter(torch.zeros(1, 197, 768))
tokens = torch.cat([cls_token, tokens], dim=1) + pos_embed

# Ein Encoderblock mit Normierung vor den Unterschichten, in dem jedes Token jedes andere Token berücksichtigt
block = nn.TransformerEncoderLayer(
    d_model=768, nhead=12, dim_feedforward=3072, activation="gelu", batch_first=True, norm_first=True
)
print(block(tokens).shape)

Es gibt torch.Size([1, 197, 768]) aus: die 196 Patch-Token plus das Klassentoken, alle weiterhin 768-dimensional und bereit für den nächsten der zwölf Blöcke von ViT-Base.

Modellgrößen und Varianten#

Die Namen von ViT geben Modell- und Patchgröße an: ViT-B/16 ist das Basismodell mit 86 Millionen Parametern und Patches von 16×16 Pixeln. Die großen und sehr großen Modelle haben 307 Millionen beziehungsweise 632 Millionen Parameter. Kleinere Patches ergeben mehr Token und damit mehr Details, allerdings auch einen höheren Rechenaufwand. Mehrere Varianten veränderten das Training oder den Aufbau von ViTs:

  • DeiT: Eine Trainingsmethode mit starker Datenerweiterung und einem Destillationstoken, mit der sich allein auf ImageNet-1k und ohne zusätzliche Vortrainingsdaten konkurrenzfähige ViTs trainieren lassen.
  • Swin Transformer: Berechnet Attention in verschobenen lokalen Fenstern und führt Patches zwischen den Stufen zusammen. Dadurch entsteht eine CNN-ähnliche Hierarchie, die sich für Objekterkennung und Segmentierung eignet.
  • Maskierte Autoencoder (MAE) und DINOv2: Selbstüberwachte Verfahren zum Vortraining von ViTs mit nicht annotierten Bildern. MAE rekonstruiert dabei maskierte Patches, DINOv2 gleicht die Ausgaben eines Lehrernetzes ab.
  • CLIP und SigLIP: ViT-Bildencoder, die darauf trainiert werden, Bilder ihren Bildunterschriften zuzuordnen. Sie werden häufig als Bildverarbeitungskomponente multimodaler Modelle wiederverwendet.

Anwendungen#

  • Visuell-sprachliche Modelle: Ein ViT-Encoder wandelt ein Bild in eine Folge von Token um, die ein großes Sprachmodell zusammen mit Text verarbeitet, wodurch das Erstellen von Bildbeschreibungen und die Beantwortung von Fragen zu Bildern möglich werden.
  • Dichte Vorhersagen: Patch-Token aus ViT-Backbones dienen der Bildsegmentierung und Tiefenschätzung, bei denen jedes Ausgabepixel Informationen aus weit entfernten Bildbereichen benötigt.
  • Videoverständnis: Video-ViTs zerteilen Clips in raumzeitliche Patches. Selbstüberwachte Videomodelle wie V-JEPA lernen Bewegungs- und Erscheinungsmerkmale aus nicht annotiertem Videomaterial für Aufgaben wie die Aktionserkennung.

Vision Transformer im Vergleich zu CNNs#

CNNs beruhen in jeder Schicht auf zwei Annahmen: Lokalität, denn jeder Filter erfasst eine kleine Nachbarschaft, und Translationsäquivarianz, denn derselbe Filter wird an jeder Position angewendet. Abgesehen vom Patch-Raster muss ein ViT die räumliche Struktur aus Daten lernen. Im ursprünglichen Artikel schnitten ViTs, die nur mit ImageNet (1,3 Millionen Bilder) trainiert wurden, einige Prozentpunkte schlechter ab als ähnlich große ResNets. Durch Vortraining mit dem Datensatz JFT-300M mit 300 Millionen Bildern erreichte ViT-H/14 eine ImageNet-Top-1-Genauigkeit von 88,55 %. Ein weiterer Unterschied ist der Rechenaufwand. Self-Attention vergleicht jedes Token mit jedem anderen. Eine Verdopplung der Bildseitenlänge vervierfacht daher die Tokenzahl und versechzehnfacht den Aufwand für Attention. Flash Attention verringert den Speicherverkehr bei dieser Berechnung, und Fenster-Attention begrenzt die Anzahl der Vergleiche selbst. Ultralytics führt Metas Segment Anything Model aus. Dessen Checkpoint sam_b.pt kodiert jedes Bild mit 1024×1024 Pixeln mithilfe eines ViT-B-Backbones: Die 16×16-Patches bilden ein Raster aus 4.096 Token mit einer Größe von 64×64. Daher wenden acht der zwölf Blöcke Attention nur innerhalb von Fenstern mit 14×14 Elementen an, während vier globale Attention verwenden.

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