Vision Transformer (ViT)
Explore la puissance des Transformer de vision (ViT). Apprends comment l’auto-attention et la tokenisation par patchs révolutionnent la vision par ordinateur au-delà des CNN avec Ultralytics.
Un Transformer de vision (ViT) est une architecture d’apprentissage profond qui adapte les mécanismes d’auto-attention conçus à l’origine pour le traitement automatique du langage (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 locales de pixels, un ViT considère une image comme une séquence de patches discrets. Cette approche a été popularisée par l’article de recherche fondateur « An Image is Worth 16x16 Words », qui a démontré que des architectures Transformer pures pouvaient atteindre des performances de pointe en vision par ordinateur (CV) sans s’appuyer sur des couches convolutives. En exploitant l’attention globale, les ViT peuvent capturer les dépendances à longue portée dans l’ensemble d’une image dès la toute première couche.
Fonctionnement des Transformers de vision#
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 la façon dont un modèle de langage traite une phrase composée de mots.
-
Tokenisation des patches : L’image d’entrée est divisée en une grille de carrés de taille fixe, généralement de 16x16 pixels. Chaque carré est aplati en un vecteur, devenant ainsi un token visuel.
-
Projection linéaire : Ces patches aplatis passent par une couche linéaire entraînable afin de créer des représentations vectorielles denses. Cette étape mappe les valeurs brutes des pixels dans un espace de grande dimension que le modèle peut traiter.
-
Encodage positionnel : Comme l’architecture traite les séquences en parallèle et ne possède pas de compréhension intrinsèque de l’ordre ou de l’espace, des encodages positionnels apprenables sont ajoutés aux représentations vectorielles des patches. Cela permet au modèle de conserver les informations spatiales indiquant où se trouve chaque patch dans l’image d’origine.
-
Mécanisme d’auto-attention : La séquence entre dans l’encodeur Transformer, où l’auto-attention permet à chaque patch d’interagir simultanément avec tous les autres patches. Le réseau peut ainsi apprendre le contexte global et comprendre comment un pixel situé dans le coin supérieur gauche est lié à un autre situé dans le coin inférieur droit.
-
Tête de classification : Pour des tâches comme la classification d’images, un « token de classe » spécial est souvent ajouté au début de la séquence. L’état de sortie final de ce token sert de représentation agrégée de l’image, qui est ensuite transmis à un classifieur, tel qu’un perceptron multicouche (MLP).
Transformers de vision et CNN#
Bien que les deux architectures cherchent à comprendre les données visuelles, leur philosophie opérationnelle diffère considérablement. Les CNN possèdent un fort « biais inductif » appelé invariance par translation, ce qui signifie qu’ils supposent intrinsèquement que les caractéristiques locales, comme les contours et les textures, sont importantes quelle que soit leur position. Les CNN sont ainsi très efficaces en matière de données et performants sur de plus petits jeux de données.
À l’inverse, les Transformers de vision présentent un biais moins spécifique aux images. Ils doivent apprendre les relations spatiales à partir de zéro en utilisant de très grandes quantités de données d’entraînement, comme celles de JFT-300M ou les jeux de données complets ImageNet. Bien que cela rende l’entraînement plus exigeant sur le plan computationnel, les ViT changent remarquablement bien d’échelle ; 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 ne pas détecter.
Applications concrètes#
La capacité à comprendre le contexte global rend les ViT particulièrement utiles dans les environnements complexes où les enjeux sont élevés.
- Analyse d’images médicales : Dans le domaine de l’IA pour la santé, les ViT servent à analyser des examens haute résolution comme les IRM ou les lames d’histopathologie. Par exemple, pour la détection de tumeurs, un ViT peut mettre en relation de subtiles anomalies de texture dans les tissus avec des changements structurels plus larges sur l’ensemble de la lame, en identifiant des motifs malins que le traitement local pourrait négliger.
- Imagerie satellitaire et télédétection : Les ViT excellent dans l’analyse d’images satellitaires, 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 exige 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.
Utiliser les Transformers avec Ultralytics#
La bibliothèque ultralytics prend en charge les architectures basées sur les Transformers, notamment RT-DETR (Transformer de détection en temps réel). Alors que le modèle phare YOLO26 est souvent privilégié pour son équilibre entre vitesse et précision sur les appareils edge, RT-DETR constitue une alternative puissante pour les scénarios qui privilégient le contexte global.
L’exemple suivant en Python montre comment charger un modèle basé sur un Transformer préentraîné et exécuter l’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 computationnel élevé des ViT. Des techniques comme FlashAttention rendent ces modèles plus rapides et plus économes en mémoire. En outre, les architectures hybrides qui combinent l’efficacité des CNN avec l’attention des Transformers deviennent courantes. Pour les équipes qui souhaitent gérer ces workflows avancés, l’Ultralytics Platform propose un environnement unifié pour annoter les données, entraîner des modèles complexes via le cloud et les déployer sur différents endpoints.









