Yolo Vision Shenzhen
Shenzhen
Iscriviti ora
Glossario

Vision Transformer (ViT)

Scopri la potenza dei Vision Transformer (ViT) nella computer vision. Scopri come superano le CNN catturando il contesto globale dell'immagine.

Un Trasformatore di Visione (ViT) è un'architettura di deep learning che applica architettura di apprendimento profondo che applica i principi del modello Transformer originale direttamente a sequenze di immagini. Originariamente introdotto per elaborazione del linguaggio naturale (NLP), Transformer ha rivoluzionato il campo utilizzando meccanismi che consentono al modello di pesare l'importanza di diverse parti dei dati in ingresso. parti dei dati in ingresso. Il ViT è stato proposto da Google Research nel documento "Un'immagine vale 16x16 parole" come alternativa al modello standard rete neurale convoluzionale (CNN) per compiti visivi. A differenza delle CNN, che elaborano i pixel utilizzando filtri locali, le ViT trattano l'immagine come una sequenza di patch di dimensioni fisse. di patch di dimensioni fisse, consentendo loro di catturare il contesto globale e le dipendenze a lungo raggio fin dal primo strato, utilizzando l'autoattenzione. utilizzando l'autoattenzione.

Come funzionano i Vision Transformer

L'architettura di un ViT rappresenta un cambiamento significativo nel modo in cui le macchine elaborano le informazioni visive. Il flusso di lavoro prevede la scomposizione di un'immagine in componenti più piccoli che possono essere elaborati in modo simile alle parole di una frase.

  1. Partizione delle patch: L'immagine di ingresso viene suddivisa in una griglia di patch non sovrapposte (ad esempio, 16x16 pixel). Questa fase trasforma l'immagine 2D in una sequenza di vettori 1D, in modo da tokenizzare efficacemente i dati visivi.
  2. Proiezione lineare di patch appiattite: Ciascuna patch viene appiattita e proiettata in uno spazio spazio a bassa dimensionalità, creando delle incorporazioni che che rappresentano le caratteristiche visive di quell'area specifica.
  3. Incorporamenti posizionali: Poiché l'architettura di Transformer non comprende intrinsecamente l'ordine della sequenza, alle embeddings dei patch vengono aggiunti embeddings posizionali apprendibili. della sequenza, le incorporazioni posizionali apprendibili vengono aggiunte alle incorporazioni di patch per mantenere le informazioni spaziali informazioni spaziali sulla posizione di ogni patch nell'immagine originale.
  4. Codificatore Transformer: La sequenza di incorporazioni viene inserita in un codificatore Transformer standard. Qui, il meccanismo di attenzione permette al modello di di apprendere le relazioni tra ogni patch e ogni altra patch, indipendentemente dalla loro distanza l'una dall'altra nell'immagine. immagine.
  5. Testata di classificazione: Per compiti come la classificazione delle immagini, un token speciale viene alla sequenza e il suo stato finale viene inserito in una testa MLP (Multi-Layer Perceptron) per predire l'etichetta della classe. etichetta.

Architetture ViT vs. CNN

Entrambe le architetture sono fondamentali per la moderna computer vision (CV), si basano su diverse bias induttivi diversi. Le CNN utilizzano operazioni di convoluzione che privilegiano le interazioni locali e l'invarianza di traduzione (riconoscere un oggetto indipendentemente dalla sua posizione). Questo CNN sono molto efficienti con insiemi di dati più piccoli. Al contrario, le ViT hanno una struttura meno specifica dell'immagine e si affidano all'apprendimento di modelli modelli di apprendimento direttamente da insiemi di dati massicci come ImageNet.

Le ViT generalmente eccellono quando vengono addestrate su grandi quantità di dati, in quanto sono in grado di modellare complesse relazioni globali che le CNN potrebbero non cogliere. CNN potrebbero sfuggire. Tuttavia, questa portata globale spesso ha il costo di requisiti computazionali più elevati per l'addestramento e di una velocità di inferenza più bassa in caso di risorse limitate. di calcolo più elevati per l'addestramento e una velocità di inferenza più lenta su dispositivi dispositivi edge con risorse limitate. Modelli ibridi come RT-DETR tentano di colmare questo divario combinando una CNN CNN per un'efficiente estrazione di caratteristiche e un Trasformatore per il contesto globale.

Applicazioni nel mondo reale

I trasformatori di visione hanno riscontrato successo in ambiti in cui la comprensione del contesto olistico di una scena è più critica più critica rispetto ai dettagli di basso livello delle texture.

  • Analisi delle immagini mediche: In campi come l'analisi analisi delle immagini mediche, i ViT vengono utilizzati per anomalie nelle scansioni di risonanza magnetica o nelle radiografie. Ad esempio, nel rilevamento dei tumori, un ViT può correlare le caratteristiche di parti distanti di un organo per identificare i tessuti maligni che potrebbero sembrare normali in normali, migliorando l'accuratezza diagnostica.
  • Telerilevamento e immagini satellitari: I ViT sono utilizzati efficacemente per analizzare immagini satellitari per il monitoraggio ambientale. La loro capacità di elaborare un contesto globale aiuta a distinguere tra tipi di terreno simili, come ad esempio tipi di terreno simili, come ad esempio distinguere tra diversi campi coltivati o seguire l'espansione urbana su vaste aree geografiche. aree geografiche.

Utilizzo dei trasformatori con Ultralytics

Il ultralytics supporta architetture basate su Transformer come RT-DETR (Real-Time Detection Transformer), che sfrutta i punti di forza dei ViT per rilevamento degli oggetti. Mentre i modelli basati su CNN, come il raccomandato YOLO11 sono tipicamente più veloci per le applicazioni in tempo RT-DETR offre una solida alternativa quando la priorità è l'alta precisione e il contesto globale.

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()

In prospettiva, le innovazioni in materia di efficienza sono fondamentali. Ultralytics sta attualmente sviluppando YOLO26, che mira a fornire l'elevata precisione associata ai trasformatori con i trasformatori, pur mantenendo la velocità delle CNN. Inoltre, l'imminente Ultralytics Platform semplificherà il flusso di lavoro per l'addestramento e l'implementazione di questi modelli avanzati in vari ambienti. questi modelli avanzati in vari ambienti, dai server cloud all'hardware edge. I principali framework come PyTorch e TensorFlow continuano a espandere il loro supporto per le varianti ViT, promuovendo ulteriori ricerche nel campo.

Unitevi alla comunità di Ultralytics

Entra nel futuro dell'AI. Connettiti, collabora e cresci con innovatori globali

Iscriviti ora