Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant
Glossaire

Vision Transformer (ViT)

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

Un Vision Transformer (ViT) est un type d'architecture de réseau neuronal qui applique le modèle Transformer très performant, initialement conçu pour le traitement du langage naturel (NLP), aux tâches de vision par ordinateur (CV). Introduits par les chercheurs de Google dans l'article "An Image is Worth 16x16 Words", les ViT représentent une rupture significative avec les architectures dominantes de Réseaux Neuronaux Convolutionnels (CNN). Au lieu de traiter les images avec des filtres glissants, 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 Vision Transformers

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

  1. Patching d'image : L'image d'entrée est d'abord divisée en une grille de patchs de taille fixe et non chevauchants. Par exemple, une image de 224x224 pixels peut être divisée en 196 patchs, chacun de 16x16 pixels.
  2. Intégration de patchs : Chaque patch est aplati en un seul vecteur. Ces vecteurs sont ensuite projetés dans un espace de dimension inférieure pour créer des "intégrations de patchs". Une "intégration positionnelle" apprenable est ajoutée à chaque intégration de patch pour conserver les informations spatiales.
  3. Encodeur Transformer : Cette séquence d'embeddings 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 à travers l'ensemble de l'image dès la première couche.
  4. Tête de classification : Pour les tâches telles que la classification d’images, un plongement (embedding) supplémentaire apprenable (similaire au jeton [CLS] dans BERT) est ajouté à la séquence. La sortie correspondante du Transformer est transmise à une couche de classification finale pour produire la prédiction.

ViT Vs. CNN

Bien que les ViT et les CNN soient des architectures fondamentales en vision par ordinateur, elles 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 translation grâce à leurs couches de convolution et de pooling. Les ViT ont des biais inductifs beaucoup plus faibles, ce qui les rend plus flexibles mais aussi plus dépendants de l'apprentissage des motifs directement à partir des données.
  • Dépendance aux données : En raison de leurs biais plus faibles, les ViT nécessitent généralement des ensembles de données massifs (par exemple, ImageNet-21k) ou un pré-entraînement extensif pour surpasser les CNN de pointe. Avec des ensembles de données plus petits, les CNN généralisent souvent mieux. C'est pourquoi l'apprentissage par transfert est essentiel pour les ViT.
  • Contexte global vs. local : Les CNN construisent des caractéristiques hiérarchiques à partir de motifs locaux vers des motifs globaux. En revanche, les ViT peuvent modéliser les interactions globales entre les patches dès les premières couches, ce qui leur permet de capturer un contexte plus large de manière plus efficace pour certaines tâches.
  • Coût de calcul : L'entraînement des ViT peut être gourmand en calcul, nécessitant souvent des ressources GPU importantes. Des frameworks comme PyTorch et TensorFlow fournissent des implémentations pour l'entraînement de ces modèles.

Applications et modèles hybrides

Les ViTs ont affiché des performances exceptionnelles dans diverses applications, notamment lorsque la compréhension du contexte global est essentielle.

  • Analyse d'images médicales : Les ViT sont très efficaces pour analyser les images médicales telles que les IRM ou les images d'histopathologie. Par exemple, dans la détection de tumeurs, un ViT peut identifier les relations entre les tissus distants, ce qui permet de classifier les tumeurs avec plus de précision que les modèles qui se concentrent uniquement sur les textures locales.
  • Conduite autonome : Dans les voitures autonomes, les ViT peuvent analyser des scènes complexes pour la détection d'objets et la segmentation. En traitant l'ensemble de la scène globalement, ils peuvent mieux comprendre les interactions entre les véhicules, les piétons et l'infrastructure, comme le détaillent de multiples études sur l'IA automobile.

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

Pour de nombreuses applications en temps réel, en particulier sur les appareils périphériques aux ressources limitées, les modèles basés sur CNN hautement optimisés comme la famille YOLO d'Ultralytics (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.

Rejoignez la communauté Ultralytics

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

Rejoindre maintenant
Lien copié dans le presse-papiers