Entdecke die Leistungsfähigkeit von Vision Transformers (ViTs) in der Computer Vision. Erfahre, wie sie die CNNs übertreffen, indem sie den globalen Bildkontext erfassen.
Ein Vision Transformer (ViT) ist eine Art neuronale Netzwerkarchitektur, die von den ursprünglich für die Verarbeitung natürlicher Sprache (NLP) entwickelten Transformer-Modellen abgeleitet wurde. ViTs, die von Google in der Veröffentlichung "An Image is Worth 16x16 Words" vorgestellt wurden, wenden den Selbstbeobachtungsmechanismus des Transformers direkt auf Sequenzen von Bildfeldern an und behandeln die Bildverarbeitung als eine Aufgabe der Sequenzmodellierung. Dieser Ansatz bedeutete eine deutliche Abkehr von der Dominanz der Convolutional Neural Networks (CNNs) in der Computer Vision (CV).
Anstatt Bilder Pixel für Pixel mit Faltungsfiltern zu verarbeiten, unterteilt ein ViT ein Eingangsbild zunächst in nicht überlappende Bereiche fester Größe. Diese Felder werden dann in Vektoren zerlegt, linear eingebettet und mit Positionseinbettungen versehen, um die räumlichen Informationen zu erhalten (ähnlich wie bei der Kodierung von Wortpositionen im NLP). Diese Sequenz von Vektoren wird dann in einen Standard-Transformer-Encoder eingespeist, der Schichten mit mehreren Köpfen verwendet, um die Wichtigkeit der verschiedenen Patches im Verhältnis zueinander zu gewichten. Die endgültige Ausgabe des Transformer-Encoders wird in der Regel an einen einfachen Klassifizierungskopf (wie ein Multi-Layer Perceptron) für Aufgaben wie die Bildklassifizierung weitergeleitet. Mit dieser Architektur können ViTs weitreichende Abhängigkeiten und den globalen Kontext in einem Bild effektiv modellieren.
Vision Transformers sind im modernen Deep Learning aufgrund ihrer Skalierbarkeit und ihrer beeindruckenden Leistung von großer Bedeutung, insbesondere bei umfangreichem Vortraining auf Datensätzen wie ImageNet oder noch größeren proprietären Datensätzen. Dank ihrer Fähigkeit, globalen Kontext zu modellieren, eignen sie sich für eine Vielzahl von Lebenslaufaufgaben, die über die grundlegende Klassifizierung hinausgehen, darunter:
ViTs werden zunehmend in Plattformen wie Ultralytics HUB und Bibliotheken wie Hugging Face Transformers integriert, so dass sie für Forschung und Einsatz mit Frameworks wie PyTorch und TensorFlow. Sie können auch für den Einsatz von Edge AI auf Geräten wie NVIDIA Jetson oder Google Edge TPU optimiert werden, indem Tools wie TensorRT.
Obwohl sowohl ViTs als auch CNNs zu den grundlegenden Architekturen des Computersehens gehören (siehe Geschichte der Sehmodelle), unterscheiden sie sich in ihrem Ansatz erheblich:
Die Wahl zwischen ViT und CNN hängt oft von der spezifischen Aufgabe, den verfügbaren Datensätzen und den Rechenressourcen ab. ViTs sind in der Regel dann am besten geeignet, wenn große Mengen an Trainingsdaten zur Verfügung stehen und der globale Kontext von entscheidender Bedeutung ist. CNNs, wie sie als Backbones in der Ultralytics YOLO Familie (z.B., YOLOv8, YOLOv10, YOLO11), sind nach wie vor sehr effektiv und effizient, insbesondere bei der Objekterkennung in Echtzeit auf eingeschränkten Geräten. Hybride Architekturen, die Faltungsfunktionen mit Transformatorschichten (wie in RT-DETR) kombinieren, sind ebenfalls vielversprechend und versuchen, die Stärken beider Ansätze zu nutzen. Die Feinabstimmung vortrainierter Modelle, ob ViT- oder CNN-basiert, ist eine gängige Praxis, die Techniken wie das Transferlernen nutzt.