Glossaire

Transformateur de vision (ViT)

Découvrez la puissance des transformateurs de vision (ViT) dans le domaine de la vision par ordinateur. Apprenez comment ils surpassent les CNN en capturant le contexte global de l'image.

Un transformateur de vision (ViT) est un type d'architecture de réseau neuronal qui applique le modèle Transformer, conçu à l'origine pour le traitement du langage naturel (NLP), à des tâches de vision par ordinateur (CV). Présentés par les chercheurs de Google dans l'article "An Image is Worth 16x16 Words", les ViT s'éloignent considérablement des architectures dominantes de réseaux neuronaux convolutifs (CNN). Au lieu de traiter les images avec des filtres coulissants, un ViT traite une image comme une séquence de patchs, ce qui lui permet de capturer les relations globales entre les différentes parties d'une image en utilisant le mécanisme d'auto-attention.

Comment fonctionnent les transformateurs de vision

L'idée de base d'un ViT est de traiter une image de manière à imiter la façon dont les Transformers traitent le texte. Le processus comporte quelques étapes clés :

  1. Découpage de l'image : l'image d'entrée est d'abord divisée en une grille de parcelles de taille fixe qui ne se chevauchent pas. Par exemple, une image de 224 x 224 pixels peut être divisée en 196 parcelles de 16 x 16 pixels.
  2. Incorporation de patchs: Chaque parcelle est aplatie en un seul vecteur. Ces vecteurs sont ensuite projetés dans un espace de dimension inférieure pour créer des "encastrements de patchs". Un "encastrement positionnel" pouvant être appris est ajouté à chaque encastrement de patch pour conserver les informations spatiales.
  3. Encodeur Transformer: Cette séquence d'encastrements est introduite dans un encodeur Transformer standard. Grâce à ses couches d'auto-attention, le modèle apprend les relations entre toutes les paires de patchs, ce qui lui permet de capturer le contexte global de l'ensemble de l'image dès la première couche.
  4. Tête de classification: Pour des tâches telles que la classification d'images, une intégration supplémentaire pouvant être apprise (similaire au jeton [CLS] dans BERT) est ajoutée à la séquence. La sortie correspondante du transformateur est transmise à une couche de classification finale pour produire la prédiction.

ViT V. CNNs

Bien que les ViT et les CNN soient des architectures fondamentales dans le domaine de la vision par ordinateur, ils diffèrent considérablement dans leur approche :

  • Biais inductif: les CNN possèdent de forts biais inductifs (hypothèses sur les données) comme la localité et l'équivariance de la traduction par le biais de leurs couches de convolution et de mise en commun. Les ViT ont des biais inductifs beaucoup plus faibles, ce qui les rend plus flexibles mais aussi plus dépendants de l'apprentissage de modèles directement à partir des données.
  • Dépendance à l'égard des données: En raison de leurs biais plus faibles, les ViTs nécessitent généralement des ensembles de données massifs (par exemple, ImageNet-21k) ou un pré-entraînement important pour surpasser les CNNs de pointe. Avec des ensembles de données plus petits, les CNN se généralisent souvent mieux. C'est pourquoi l'apprentissage par transfert est essentiel pour les ViT.
  • Contexte global ou local: Les CNN construisent des caractéristiques hiérarchiques à partir de modèles locaux vers des modèles globaux. En revanche, les ViT peuvent modéliser les interactions globales entre les patchs dès les premières couches, ce qui permet d'appréhender un contexte plus large de manière plus efficace pour certaines tâches.
  • Coût de calcul: L'entraînement des ViT peut être intensif en termes de calcul, et nécessite souvent d'importantes ressources GPU. Des frameworks comme PyTorch et TensorFlow fournissent des implémentations pour l'apprentissage de ces modèles.

Applications et modèles hybrides

Les ViT ont fait preuve de performances exceptionnelles dans diverses applications, en particulier lorsque la compréhension du contexte global est essentielle.

  • Analyse d'images médicales: Les ViT sont très efficaces pour l'analyse des scans médicaux tels que les IRM ou les images histopathologiques. Par exemple, dans la détection des tumeurs, un ViT peut identifier les relations entre des tissus distants, ce qui permet de classer les tumeurs avec plus de précision que les modèles qui se concentrent uniquement sur les textures locales.
  • La conduite autonome: Dans les voitures à conduite autonome, les ViT peuvent analyser des scènes complexes pour la détection et la segmentation d'objets. En traitant l'ensemble de la scène, ils peuvent mieux comprendre les interactions entre les véhicules, les piétons et les infrastructures, comme le montrent de nombreuses études sur l'IA dans l'automobile.

Le succès des ViT a également inspiré des architectures hybrides. Des modèles tels que RT-DETR combinent une épine dorsale CNN pour une extraction efficace des caractéristiques avec un codeur-décodeur basé sur un transformateur pour modéliser les relations entre les objets. Cette approche vise à obtenir le meilleur des deux mondes : l'efficacité des CNN et la connaissance du contexte global des transformateurs.

Pour de nombreuses applications en temps réel, en particulier sur les appareils périphériques à ressources limitées, les modèles CNN hautement optimisés tels que la famille Ultralytics YOLO (par exemple, YOLOv8 et YOLO11) offrent souvent un meilleur équilibre entre vitesse et précision. Vous pouvez consulter une comparaison détaillée entre RT-DETR et YOLO11 pour comprendre les compromis. Le choix entre un ViT et un CNN dépend en fin de compte de la tâche spécifique, des données disponibles et du budget de calcul.

Rejoindre la communauté Ultralytics

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

S'inscrire
Lien copié dans le presse-papiers