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 transformateur de vision (ViT) est une architecture de architecture d'apprentissage profond qui applique les principes du modèle Transformer original directement à des séquences d'images. Introduit à l'origine pour le traitement du langage naturel (NLP), Les transformateurs ont révolutionné le domaine en utilisant des mécanismes qui permettent au modèle d'évaluer l'importance des différentes parties des données d'entrée. parties des données d'entrée. Le ViT a été proposé par Google Research dans l'article suivant "An Image is Worth 16x16 Words" (Une image vaut 16x16 mots) comme alternative à la méthode standard réseau neuronal convolutif (CNN) pour les tâches visuelles. Contrairement aux CNN, qui traitent les pixels à l'aide de filtres locaux, les ViT traitent une image comme une séquence de taches de taille fixe, ce qui leur permet de s'adapter à des tâches visuelles. de parcelles de taille fixe, ce qui leur permet de saisir le contexte global et les dépendances à long terme dès la première couche en utilisant l'auto-attention. en utilisant l'auto-attention.

Comment fonctionnent les Vision Transformers

L'architecture d'un ViT représente un changement important dans la manière dont les machines traitent les informations visuelles. Le flux de travail consiste à décomposer une image en éléments plus petits qui peuvent être traités de la même manière que les mots d'une phrase.

  1. Partitionnement des taches : L'image d'entrée est divisée en une grille de parcelles qui ne se chevauchent pas (par exemple, 16x16 pixels). Cette étape transforme l'image 2D en une séquence de vecteurs 1D, ce qui permet de symboliser les données visuelles.
  2. Projection linéaire de patchs aplatis : Chaque patch est aplati et projeté dans un espace de dans un espace de dimension inférieure, ce qui permet de créer des qui représentent les caractéristiques visuelles de cette zone spécifique.
  3. Emboîtements positionnels : Étant donné que l'architecture Transformer ne comprend pas intrinsèquement l'ordre l'ordre de la séquence, des intégrations positionnelles pouvant être apprises sont ajoutées aux intégrations de patchs afin de conserver les informations spatiales sur l'emplacement de chaque patch dans l'image d'origine. sur l'emplacement de chaque patch dans l'image originale.
  4. Encodeur Transformer : La séquence d'encastrements est introduite dans un encodeur transformateur standard. Ici, le mécanisme d'attention le mécanisme d'attention permet au modèle d'apprendre les relations entre chaque patch et chaque autre patch, quelle que soit leur distance dans l'image. l'image.
  5. Tête de classification : Pour des tâches telles que la la classification d'images, un jeton spécial est ajouté est ajouté à la séquence et son état final est introduit dans une tête de perceptron multicouche (MLP) pour prédire l'étiquette de la classe. classe.

Architectures ViT et CNN

Bien que ces deux architectures soient fondamentales pour la modernes , elles reposent sur des biais inductifs différents. biais inductifs différents. Les CNN utilisent des opérations de convolution qui donnent la priorité aux interactions locales et à l'invariance de la translation (reconnaissance d'un objet quelle que soit sa position). Cela Cela rend les CNN très efficaces avec des ensembles de données plus petits. En revanche, les ViT ont une structure moins spécifique à l'image et s'appuient sur l'apprentissage de modèles directement à partir d'ensembles de données massifs. sur l'apprentissage de modèles directement à partir d'ensembles de données massifs tels qu'ImageNet-21k. ImageNet.

Les ViTs excellent généralement lorsqu'ils sont formés sur de très grandes quantités de données, car ils peuvent modéliser des relations globales complexes que les CNN pourraient manquer. Cependant, cette portée globale s'accompagne souvent d'exigences de calcul plus élevées pour la formation et de vitesses d'inférence plus lentes sur les sites à ressources limitées. d 'entraînement et de vitesses d'inférence plus lentes sur les appareils de bord ressources. Les modèles hybrides tels que les RT-DETR tentent de combler cette lacune en combinant un CNN pour une extraction efficace des caractéristiques avec un encodeur Transformer pour le contexte global. un encodeur Transformer pour le contexte global.

Applications concrètes

Les transformateurs de vision ont fait leurs preuves dans des domaines où la compréhension du contexte holistique d'une scène est plus importante que les détails de texture de bas niveau. que les détails des textures de bas niveau.

  • Analyse d'images médicales : Dans des domaines tels que l'analyse d'images médicales, les ViTs sont utilisés pour detect anomalies dans les IRM ou les radiographies. Par exemple, dans la détection de tumeurs, un ViT peut corréler les caractéristiques de parties éloignées d'un organe afin d'identifier des tissus malins qui pourraient sembler normaux s'ils étaient isolés, améliorant ainsi la précision du diagnostic. normaux pris isolément, améliorant ainsi la précision du diagnostic.
  • Télédétection et imagerie satellitaire : Les ViTs sont utilisés efficacement pour analyser les l'imagerie satellitaire pour la surveillance de l'environnement. Leur capacité à traiter le contexte global permet de faire la distinction entre des types de terrain similaires. types de terrain similaires, comme la différenciation entre divers champs de culture ou le suivi de l'expansion urbaine sur de vastes zones géographiques. géographique.

Utilisation de transformateurs avec des Ultralytics

Le ultralytics prend en charge les architectures basées sur des transformateurs comme RT-DETR (Real-Time Detection de détection en temps réel), qui exploite les forces des ViT pour détection d'objets. Alors que les modèles basés sur le CNN, comme le modèle recommandés YOLO11 sont généralement plus rapides pour les applications en temps réel, RT-DETR offre une alternative solide lorsque la précision et le contexte global sont prioritaires. RT-DETR offre une alternative robuste lorsqu'une grande précision et un contexte global sont prioritaires.

from ultralytics import RTDETR

# Load a pretrained RT-DETR model (Transformer-based architecture)
model = RTDETR("rtdetr-l.pt")

# Perform inference on an image to detect objects
results = model("https://ultralytics.com/images/bus.jpg")

# Display the results with bounding boxes
results[0].show()

Pour l'avenir, les innovations en matière d'efficacité sont cruciales. Ultralytics développe actuellement YOLO26, qui vise à fournir la haute précision associée aux transformateurs tout en maintenant la vitesse des CNN. associée aux transformateurs tout en conservant la vitesse des CNN. En outre, la prochaine Ultralytics Platform rationalisera le flux de travail pour la formation et le déploiement de ces modèles avancés dans divers environnements, de l'ordinateur à Ultralytics . ces modèles avancés dans divers environnements, des serveurs en nuage au matériel périphérique. Des cadres majeurs tels que PyTorch et TensorFlow continuent d'étendre leur pour les variantes ViT, ce qui stimule la recherche dans ce domaine.

Rejoindre la communauté Ultralytics

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

Rejoindre maintenant