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.
Un Vision Transformer (ViT) est un type d'architecture de réseau neuronal adapté des modèles Transformer conçus à l'origine pour le traitement du langage naturel (NLP). Présentés par les chercheurs de Google dans l'article "An Image is Worth 16x16 Words", les ViT appliquent le mécanisme d'auto-attention du Transformer directement aux séquences d'images, traitant le traitement d'images comme une tâche de modélisation de séquences. Cette approche a marqué un changement important par rapport à la domination des réseaux neuronaux convolutifs (CNN) dans le domaine de la vision par ordinateur (VA).
Au lieu de traiter les images pixel par pixel à l'aide de filtres convolutifs, un ViT divise d'abord une image d'entrée en parcelles de taille fixe qui ne se chevauchent pas. Ces parcelles sont ensuite aplaties en vecteurs, intégrées linéairement et augmentées d'intégrations positionnelles pour conserver les informations spatiales (de la même manière que les positions des mots sont encodées dans le NLP). Cette séquence de vecteurs est ensuite introduite dans un encodeur Transformer standard, qui utilise des couches d'auto-attention multi-têtes pour pondérer l'importance des différents patchs les uns par rapport aux autres. La sortie finale du codeur Transformer est généralement transmise à une tête de classification simple (comme un perceptron multicouche) pour des tâches telles que la classification d'images. Cette architecture permet aux ViT de modéliser efficacement les dépendances à longue distance et le contexte global d'une image.
Les transformateurs de vision sont devenus très pertinents dans l'apprentissage profond moderne en raison de leur évolutivité et de leurs performances impressionnantes, en particulier avec un pré-entraînement à grande échelle sur des ensembles de données comme ImageNet ou des ensembles de données propriétaires encore plus vastes. Leur capacité à modéliser le contexte global les rend adaptés à un large éventail de tâches de CV au-delà de la classification de base, notamment :
Les ViT sont de plus en plus intégrés à des plateformes comme Ultralytics HUB et à des bibliothèques comme Hugging Face Transformers, ce qui les rend accessibles pour la recherche et le déploiement à l'aide de frameworks tels que. PyTorch et TensorFlow. Ils peuvent également être optimisés pour le déploiement de l'Edge AI sur des appareils tels que NVIDIA Jetson ou Edge TPU de Google à l'aide d'outils tels que TensorRT.
Bien que les ViT et les CNN soient des architectures fondamentales dans le domaine de la vision par ordinateur (voir Histoire des modèles de vision), ils diffèrent considérablement dans leur approche :
Le choix entre ViT et CNN dépend souvent de la tâche spécifique, des ensembles de données disponibles et des ressources informatiques. Les ViT excellent généralement lorsque de grandes quantités de données de formation sont disponibles et que le contexte global est primordial. Les CNN, comme ceux qui sont utilisés comme piliers dans le programme Ultralytics YOLO d'Ultralytics (par ex, YOLOv8YOLOv8, YOLOv10, YOLO11), restent très efficaces, en particulier pour la détection d'objets en temps réel sur des appareils contraignants. Les architectures hybrides combinant des fonctions convolutives avec des couches de transformation (comme dans RT-DETR) représentent également une direction prometteuse, tentant de tirer parti des forces des deux approches. L'affinement des modèles pré-entraînés, qu'ils soient basés sur ViT ou CNN, est une pratique courante qui fait appel à des techniques telles que l'apprentissage par transfert.