Glossar

Vision Transformer (ViT)

Entdecke die Leistungsfähigkeit von Vision Transformers (ViTs) in der Computer Vision. Erfahre, wie sie die CNNs übertreffen, indem sie den globalen Bildkontext erfassen.

Trainiere YOLO Modelle einfach
mit Ultralytics HUB

Mehr erfahren

Der Vision Transformer (ViT) stellt einen bedeutenden Wandel im Bereich der Computer Vision dar, indem er die Transformer-Architektur, die ursprünglich für die Verarbeitung natürlicher Sprache entwickelt wurde, an Bilderkennungsaufgaben anpasst. Anders als herkömmliche Convolutional Neural Networks (CNNs), die Bilder Schicht für Schicht verarbeiten, zerlegen ViTs ein Bild in kleinere Bereiche und behandeln diese Bereiche als Token in einer Sequenz, ähnlich wie Wörter in einem Satz. Dieser neuartige Ansatz ermöglicht es ViTs, den leistungsstarken Selbstbeobachtungsmechanismus des Transformers zu nutzen, um globale Beziehungen innerhalb eines Bildes zu erfassen, was zu Spitzenleistungen bei verschiedenen Computer Vision Aufgaben führt.

Wie Vision Transformers funktionieren

Im Kern verarbeitet ein Vision Transformer Bilder, indem er sie zunächst in ein Raster von Feldern fester Größe unterteilt. Diese Flecken werden dann abgeflacht und linear in Einbettungen umgewandelt, die im Wesentlichen Vektordarstellungen sind. Zu diesen Einbettungen werden Positionseinbettungen hinzugefügt, um die räumlichen Informationen zu erhalten, die für das Verständnis der Bildstruktur entscheidend sind. Diese Abfolge von eingebetteten Feldern wird dann in einen Standard-Transformer-Encoder eingespeist.

Der Transformer-Encoder besteht aus mehreren Schichten von Multi-Head-Self-Attention- und Feed-Forward-Netzwerken. Die Schlüsselkomponente ist der Self-Attention-Mechanismus, der es dem Modell ermöglicht, bei der Verarbeitung des Bildes die Wichtigkeit jedes Flecks im Verhältnis zu allen anderen Flecken zu gewichten. Dadurch kann das ViT den globalen Kontext des Bildes verstehen und weitreichende Abhängigkeiten erfassen, die von CNNs, die sich auf lokale Merkmale konzentrieren, übersehen werden könnten. Dieses Verständnis des globalen Kontexts ist eine der Hauptstärken des Vision Transformers. Wenn du tiefer in die zugrundeliegenden Prinzipien eintauchen möchtest, findest du in Jay Allammars "The Illustrated Transformer" eine hervorragende visuelle Erklärung der Transformer-Architektur.

Relevanz und Anwendungen

Vision Transformers haben aufgrund ihrer beeindruckenden Leistung und Skalierbarkeit schnell an Bedeutung gewonnen. Ihre Fähigkeit, globalen Kontext zu erfassen und von großen Datensätzen zu profitieren, hat sie für moderne Deep-Learning-Anwendungen sehr relevant gemacht. Zu den wichtigsten Anwendungen von ViTs gehören:

  • Bildklassifizierung: ViTs haben bei Benchmarks zur Bildklassifizierung Spitzenergebnisse erzielt, die oft die Leistung herkömmlicher CNN-basierter Modelle übertreffen. Ihre Architektur ist besonders effektiv, wenn sie auf großen Datensätzen wie ImageNet trainiert werden.
  • Objekterkennung: Vision Transformers werden zunehmend als Basis für die Objekterkennung eingesetzt. Modelle wie RT-DETR von Ultralytics nutzen Vision Transformers, um eine Echtzeitleistung mit hoher Genauigkeit zu erreichen.
  • Bildsegmentierung: ViTs sind auch bei der Segmentierung von Bildern effektiv und ermöglichen eine präzise Klassifizierung auf Pixelebene für Anwendungen wie medizinische Bildanalyse und autonomes Fahren. Das Segment Anything Model (SAM ) beispielsweise nutzt ein ViT-Backbone für seine leistungsstarken Segmentierungsfunktionen.

Praktische Anwendungen gibt es in verschiedenen Branchen. Im Gesundheitswesen helfen ViTs bei der medizinischen Bildanalyse für eine bessere Diagnose. In der Landwirtschaft verbessern sie die Überwachung der Ernte und die Erkennung von Krankheiten. Außerdem eignen sie sich aufgrund ihrer Effizienz und Genauigkeit für den Einsatz auf Edge Devices, wie in den Anleitungen für NVIDIA Jetson und Raspberry Pi beschrieben.

Vision Transformers vs. CNNs

Während CNNs lange Zeit die vorherrschende Architektur in der Computer Vision waren, bieten Vision Transformers einen grundlegend anderen Ansatz. CNNs sind hervorragend in der Lage, lokale Muster durch Faltungsschichten zu erfassen, was sie effizient für Aufgaben macht, bei denen lokale Merkmale entscheidend sind. Allerdings haben sie manchmal Probleme damit, weitreichende Abhängigkeiten und globale Zusammenhänge zu erfassen. ViTs hingegen erfassen durch ihre Selbstbeobachtungsmechanismen von Natur aus globale Zusammenhänge und sind damit bei Aufgaben im Vorteil, die ein ganzheitliches Verständnis der Szene erfordern.

Trotz ihrer Stärken benötigen ViTs im Vergleich zu CNNs in der Regel deutlich größere Datensätze zum Training, um eine optimale Leistung zu erzielen. CNNs können bei kleineren Datensätzen und Aufgaben, die sich auf die Extraktion lokaler Merkmale konzentrieren, rechenintensiver sein. Die Wahl zwischen ViTs und CNNs hängt oft von der spezifischen Anwendung, der Größe des Datensatzes und den verfügbaren Rechenressourcen ab. Vision Transformers stellen eine bedeutende Entwicklung in der Computer Vision dar. Sie demonstrieren die Leistungsfähigkeit von Aufmerksamkeitsmechanismen und ebnen den Weg für zukünftige Fortschritte in diesem Bereich.

Alles lesen