Sintonizzati su YOLO Vision 2025!
25 settembre 2025
10:00 — 18:00 BST
Evento ibrido
Yolo Vision 2024
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 Vision Transformer (ViT) è un tipo di architettura di rete neurale che applica il modello Transformer, originariamente progettato per l'elaborazione del linguaggio naturale (NLP), con grande successo, alle attività di computer vision (CV). Introdotto dai ricercatori di Google nel documento "An Image is Worth 16x16 Words", i ViT rappresentano un significativo allontanamento dalle architetture dominanti delle reti neurali convoluzionali (CNN). Invece di elaborare le immagini con filtri scorrevoli, un ViT tratta un'immagine come una sequenza di patch, consentendogli di catturare le relazioni globali tra diverse parti di un'immagine utilizzando il meccanismo di auto-attenzione.

Come funzionano i Vision Transformer

L'idea alla base di una ViT è quella di elaborare un'immagine in un modo che imiti il modo in cui i Transformer elaborano il testo. Il processo prevede alcuni passaggi chiave:

  1. Patching dell'immagine: L'immagine di input viene prima suddivisa in una griglia di patch di dimensioni fisse e non sovrapposte. Ad esempio, un'immagine di 224x224 pixel può essere divisa in 196 patch, ciascuna di 16x16 pixel.
  2. Patch Embedding: Ogni patch viene appiattita in un singolo vettore. Questi vettori vengono quindi proiettati in uno spazio a dimensione inferiore per creare "patch embedding". Un "embedding posizionale" apprendibile viene aggiunto a ogni patch embedding per conservare le informazioni spaziali.
  3. Transformer Encoder: Questa sequenza di embedding viene fornita a un encoder Transformer standard. Attraverso i suoi livelli di auto-attenzione, il modello apprende le relazioni tra tutte le coppie di patch, consentendogli di acquisire il contesto globale attraverso l'intera immagine fin dal primo livello.
  4. Classification Head: Per attività come la classificazione delle immagini, viene aggiunto alla sequenza un embedding extra apprendibile (simile al token [CLS] in BERT). L'output corrispondente dal Transformer viene passato a un livello di classificazione finale per produrre la previsione.

ViT Vs. CNN

Sebbene sia le ViT che le CNN siano architetture fondamentali nella computer vision, differiscono significativamente nel loro approccio:

  • Bias induttivo: Le CNN possiedono forti bias induttivi (presupposti sui dati) come la località e l'equivarianza di traslazione attraverso i loro livelli di convoluzione e pooling. I ViT hanno bias induttivi molto più deboli, il che li rende più flessibili ma anche più dipendenti dall'apprendimento di schemi direttamente dai dati.
  • Dipendenza dai dati: A causa dei loro bias più deboli, i ViT generalmente richiedono set di dati massicci (ad esempio, ImageNet-21k) o un pre-training estensivo per superare le CNN all'avanguardia. Con set di dati più piccoli, le CNN spesso generalizzano meglio. Questo è il motivo per cui il transfer learning è fondamentale per i ViT.
  • Contesto globale vs. locale: Le CNN creano caratteristiche gerarchiche dai modelli locali a quelli globali. Al contrario, i ViT possono modellare le interazioni globali tra le patch fin dai primi livelli, catturando potenzialmente un contesto più ampio in modo più efficace per determinate attività.
  • Costo computazionale: L'addestramento dei ViT può essere computazionalmente intensivo, richiedendo spesso significative risorse GPU. Framework come PyTorch e TensorFlow forniscono implementazioni per l'addestramento di questi modelli.

Applicazioni e modelli ibridi

I ViT hanno dimostrato prestazioni eccezionali in diverse applicazioni, specialmente dove la comprensione del contesto globale è fondamentale.

  • Analisi di immagini mediche: I ViT sono altamente efficaci per l'analisi di scansioni mediche come risonanze magnetiche o immagini di istopatologia. Ad esempio, nel rilevamento di tumori, un ViT può identificare le relazioni tra tessuti distanti, aiutando a classificare i tumori in modo più accurato rispetto ai modelli che si concentrano solo sulle texture locali.
  • Guida autonoma: Nelle auto a guida autonoma, le ViT possono analizzare scene complesse per il rilevamento di oggetti e la segmentazione. Elaborando l'intera scena a livello globale, possono comprendere meglio le interazioni tra veicoli, pedoni e infrastrutture, come dettagliato da molteplici studi sull'IA nel settore automobilistico.

Il successo dei ViT ha anche ispirato architetture ibride. Modelli come RT-DETR combinano un backbone CNN per un'estrazione efficiente delle caratteristiche con un encoder-decoder basato su Transformer per modellare le relazioni tra gli oggetti. Questo approccio mira a ottenere il meglio da entrambi i mondi: l'efficienza delle CNN e la consapevolezza del contesto globale dei Transformer.

Per molte applicazioni in tempo reale, specialmente su dispositivi edge con risorse limitate, modelli altamente ottimizzati basati su CNN come la famiglia Ultralytics YOLO (ad esempio, YOLOv8 e YOLO11) spesso forniscono un migliore equilibrio tra velocità e precisione. È possibile consultare un confronto dettagliato tra RT-DETR e YOLO11 per comprendere i compromessi. La scelta tra un ViT e una CNN dipende in ultima analisi dall'attività specifica, dai dati disponibili e dal budget computazionale.

Unisciti alla community di Ultralytics

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

Iscriviti ora
Link copiato negli appunti