Glossaire

Transformateur de vision (ViT)

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

Entraîne les modèles YOLO simplement
avec Ultralytics HUB

En savoir plus

Vision Transformer (ViT) représente un changement important dans le domaine de la vision par ordinateur, en adaptant l'architecture Transformer, développée à l'origine pour le traitement du langage naturel, aux tâches de reconnaissance d'images. Contrairement aux réseaux neuronaux convolutionnels (CNN) traditionnels qui traitent les images couche par couche, les ViT décomposent une image en parcelles plus petites et traitent ces parcelles comme des jetons dans une séquence, un peu comme les mots dans une phrase. Cette nouvelle approche permet aux ViT de tirer parti du puissant mécanisme d'auto-attention du Transformer pour capturer les relations globales au sein d'une image, ce qui permet d'obtenir des performances de pointe dans diverses tâches de vision par ordinateur.

Comment fonctionnent les transformateurs de vision

À la base, un transformateur de vision traite les images en les divisant d'abord en une grille de parcelles de taille fixe. Ces parcelles sont ensuite aplaties et transformées linéairement en encastrements, qui sont essentiellement des représentations vectorielles. Des encastrements positionnels sont ajoutés à ces encastrements de patchs pour conserver les informations spatiales, cruciales pour comprendre la structure de l'image. Cette séquence de patchs intégrés est ensuite introduite dans un encodeur Transformer standard.

Le codeur Transformer se compose de plusieurs couches de réseaux d'auto-attention et de réseaux d'anticipation à têtes multiples. L'élément clé est le mécanisme d'auto-attention, qui permet au modèle de peser l'importance de chaque patch par rapport à tous les autres patchs lors du traitement de l'image. Cela permet à la ViT de comprendre le contexte global de l'image, en saisissant les dépendances à long terme qui pourraient échapper aux CNN qui se concentrent sur les caractéristiques locales. Cette compréhension du contexte global est l'un des principaux atouts des transformateurs de vision. Pour approfondir les principes sous-jacents, des ressources comme "The Illustrated Transformer" de Jay Allammar fournissent d'excellentes explications visuelles de l'architecture des Transformers.

Pertinence et applications

Les transformateurs de vision ont rapidement gagné en importance en raison de leurs performances impressionnantes et de leur évolutivité. Leur capacité à saisir le contexte global et à tirer profit de grands ensembles de données les a rendus très pertinents dans les applications modernes d'apprentissage profond. Les applications clés des ViTs comprennent :

  • Classification d'images: Les ViT ont obtenu les meilleurs résultats dans les tests de classification d'images, dépassant souvent les performances des modèles traditionnels basés sur le CNN. Leur architecture est particulièrement efficace lorsqu'elle est entraînée sur de grands ensembles de données comme ImageNet.
  • Détection d'objets: Les transformateurs de vision sont de plus en plus utilisés comme piliers dans les cadres de détection d'objets. Des modèles comme RT-DETR de Ultralytics s'appuient sur les transformateurs de vision pour obtenir des performances en temps réel avec une grande précision.
  • Segmentation d'images: Les ViT sont également efficaces dans les tâches de segmentation d'images, permettant une classification précise au niveau du pixel pour des applications telles que l'analyse d'images médicales et la conduite autonome. Par exemple, le modèle Segment Anything (SAM ) utilise une épine dorsale ViT pour ses puissantes capacités de segmentation.

Les applications concrètes couvrent divers secteurs d'activité. Dans le domaine de la santé, les ViTs aident à l'analyse des images médicales pour améliorer les diagnostics. Dans l'agriculture, ils améliorent la surveillance des cultures et la détection des maladies. En outre, leur efficacité et leur précision les rendent aptes à être déployés sur des appareils périphériques, comme l'explorent les guides pour NVIDIA Jetson et Raspberry Pi.

Transformateurs de vision contre CNN

Alors que les CNN sont depuis longtemps l'architecture dominante dans le domaine de la vision par ordinateur, les transformateurs de vision offrent une approche fondamentalement différente. Les CNN excellent dans la capture des modèles locaux grâce aux couches convolutives, ce qui les rend efficaces pour les tâches où les caractéristiques locales sont cruciales. Cependant, ils ont parfois du mal à capturer les dépendances à long terme et le contexte global. Les ViT, en revanche, capturent intrinsèquement le contexte global grâce à leurs mécanismes d'auto-attention, ce qui leur confère un avantage dans les tâches nécessitant une compréhension holistique de la scène.

Malgré leurs atouts, les ViTs nécessitent généralement des ensembles de données beaucoup plus importants pour l'entraînement que les CNNs afin d'obtenir des performances optimales. Les CNN peuvent être plus efficaces en termes de calcul pour les ensembles de données plus petits et les tâches axées sur l'extraction de caractéristiques locales. Le choix entre les ViT et les CNN dépend souvent de l'application spécifique, de la taille de l'ensemble de données et des ressources informatiques disponibles. Les transformateurs de vision représentent une évolution significative de la vision par ordinateur, démontrant la puissance des mécanismes d'attention et ouvrant la voie à de futures avancées dans le domaine.

Tout lire