Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant
Glossaire

Vision Transformer (ViT)

Découvrez la puissance des transformateurs de vision (ViT). Apprenez comment l'auto-attention et la tokenisation par patch révolutionnent la vision par ordinateur au-delà des CNN avec Ultralytics.

Un transformateur de vision (ViT) est une architecture d'apprentissage profond qui adapte les mécanismes d'auto-attention initialement conçus pour le traitement du langage naturel (NLP) afin de résoudre des tâches visuelles. Contrairement à un réseau neuronal convolutif (CNN) traditionnel, qui traite les images à travers une hiérarchie de grilles de pixels locales, un ViT traite une image comme une séquence de patchs discrets. Cette approche a été popularisée par l'article de recherche historique « An Image is Worth 16x16 Words », qui a démontré que les architectures de transformateurs purs pouvaient atteindre des performances de pointe en matière de vision par ordinateur (CV) sans s'appuyer sur des couches de convolution. En tirant parti de l'attention globale, les ViT peuvent capturer des dépendances à longue portée sur l'ensemble d'une image dès la toute première couche.

Comment fonctionnent les Vision Transformers

L'innovation fondamentale du ViT réside dans la manière dont il structure les données d'entrée. Pour rendre une image compatible avec un Transformer standard, le modèle décompose les informations visuelles en une séquence de vecteurs, imitant ainsi la manière dont un modèle linguistique traite une phrase composée de mots.

  1. Tokenisation par patch : l'image d'entrée est divisée en une grille de carrés de taille fixe, généralement 16x16 pixels. Chaque carré est aplati en un vecteur, devenant ainsi un token visuel.
  2. Projection linéaire : ces zones aplaties sont transmises à une couche linéaire entraînable afin de créer des intégrations denses. Cette étape permet de mapper les valeurs brutes des pixels dans un espace à haute dimension que le modèle peut traiter.
  3. Codage positionnel : étant donné que l'architecture traite les séquences en parallèle et ne dispose pas d'une compréhension inhérente de l'ordre ou de l'espace, des codages positionnels apprenables sont ajoutés aux intégrations de patchs. Cela permet au modèle de conserver les informations spatiales relatives à l'emplacement de chaque patch dans l'image d'origine.
  4. Mécanisme d'auto-attention : la séquence entre dans l'encodeur Transformer, où l' auto-attention permet à chaque patch d'interagir avec tous les autres patchs simultanément. Cela permet au réseau d'apprendre le contexte global, en comprenant comment un pixel dans le coin supérieur gauche est lié à celui du coin inférieur droit.
  5. Tête de classification : pour des tâches telles que la classification d'images, un « jeton de classe » spécial est souvent ajouté au début de la séquence. L'état final de sortie de ce jeton sert de représentation agrégée de l'image, qui est ensuite transmise à un classificateur, tel qu'un perceptron multicouche (MLP).

Transformateurs de vision vs CNN

Bien que les deux architectures visent à comprendre les données visuelles, elles diffèrent considérablement dans leur philosophie opérationnelle. Les CNN possèdent un fort « biais inductif » connu sous le nom d'invariance de translation, ce qui signifie qu'ils supposent intrinsèquement que les caractéristiques locales (telles que les contours et les textures) sont importantes quelle que soit leur position. Cela rend les CNN très efficaces en termes de données et performants sur des ensembles de données plus petits.

À l'inverse, les transformateurs de vision ont moins de biais spécifiques aux images. Ils doivent apprendre les relations spatiales à partir de zéro en utilisant des quantités massives de données d'entraînement, telles que le JFT-300M ou l'ensemble complet ImageNet . Bien que cela rende l'entraînement plus intensif en termes de calcul, cela permet aux ViT de s'adapter remarquablement bien ; avec suffisamment de données et de puissance de calcul, ils peuvent surpasser les CNN en capturant des structures globales complexes que les convolutions locales pourraient manquer.

Applications concrètes

La capacité à comprendre le contexte global rend les ViT particulièrement utiles dans les environnements complexes et à haut risque.

  • Analyse d'images médicales : dans le domaine de l' IA appliquée à la santé, les ViT sont utilisés pour analyser des scans haute résolution tels que des IRM ou des lames histopathologiques. Par exemple, dans le cadre de la détection de tumeurs, un ViT peut corréler des anomalies texturales subtiles dans les tissus avec des changements structurels plus larges sur l'ensemble de la lame, identifiant ainsi des schémas malins que le traitement local pourrait négliger.
  • Imagerie satellite et télédétection : les ViT excellent dans l' analyse d'images satellite où les relations entre les objets s'étendent sur de grandes distances. Par exemple, relier un site de déforestation à une route forestière éloignée nécessite de comprendre la « vue d'ensemble » d'un paysage, une tâche pour laquelle l'attention globale d'un ViT surpasse le champ réceptif limité des CNN standard.

Utilisation de Transformers avec Ultralytics

Le ultralytics La bibliothèque prend en charge les architectures basées sur Transformer, notamment le RT-DETR transformateur de détection en temps réel). Alors que le navire amiral YOLO26 est souvent préféré pour son équilibre entre vitesse et précision sur les périphériques, RT-DETR une alternative puissante pour les scénarios donnant la priorité au contexte global.

Ce qui suit Python montre comment charger un modèle pré-entraîné basé sur Transformer et exécuter une inférence :

from ultralytics import RTDETR

# Load a pre-trained RT-DETR model (Vision Transformer-based)
model = RTDETR("rtdetr-l.pt")

# Run inference on an image source
# The model uses self-attention to detect objects globally
results = model("https://ultralytics.com/images/bus.jpg")

# Display the detection results
results[0].show()

Perspectives d'avenir

La recherche évolue rapidement pour répondre au coût informatique élevé des ViT. Des techniques telles que FlashAttention rendent ces modèles plus rapides et plus efficaces en termes de mémoire. De plus, les architectures hybrides qui combinent l'efficacité des CNN et l'attention des Transformers se généralisent. Pour les équipes qui cherchent à gérer ces flux de travail avancés, la Ultralytics offre un environnement unifié pour annoter les données, former des modèles complexes via le cloud et les déployer sur divers terminaux.

Rejoindre la communauté Ultralytics

Rejoignez le futur de l'IA. Connectez-vous, collaborez et évoluez avec des innovateurs mondiaux.

Rejoindre maintenant