Glossario

Trasformatore di visione (ViT)

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

Addestra i modelli YOLO semplicemente
con Ultralytics HUB

Per saperne di più

Vision Transformer (ViT) rappresenta un cambiamento significativo nel campo della computer vision, adattando l'architettura Transformer, originariamente sviluppata per l'elaborazione del linguaggio naturale, a compiti di riconoscimento delle immagini. A differenza delle tradizionali reti neurali convoluzionali (CNN), che elaborano le immagini strato per strato, le ViT suddividono un'immagine in frammenti più piccoli e trattano questi frammenti come token di una sequenza, proprio come le parole di una frase. Questo nuovo approccio permette alle ViT di sfruttare il potente meccanismo di auto-attenzione del Transformer per catturare le relazioni globali all'interno di un'immagine, ottenendo prestazioni all'avanguardia in diversi compiti di computer vision.

Come funzionano i trasformatori di visione

Nella sua essenza, un Vision Transformer elabora le immagini dividendole in una griglia di patch di dimensioni fisse. Questi patch vengono poi appiattiti e trasformati linearmente in embeddings, che sono essenzialmente rappresentazioni vettoriali. Gli embeddings posizionali vengono aggiunti a questi embeddings di patch per conservare le informazioni spaziali, fondamentali per comprendere la struttura dell'immagine. Questa sequenza di patch incorporati viene poi inserita in un codificatore Transformer standard.

Il codificatore Transformer è costituito da più strati di reti multi-head di auto-attenzione e feed-forward. Il componente chiave è il meccanismo di auto-attenzione, che permette al modello di pesare l'importanza di ogni patch rispetto a tutte le altre durante l'elaborazione dell'immagine. Ciò consente al ViT di comprendere il contesto globale dell'immagine, cogliendo le dipendenze a lungo raggio che potrebbero sfuggire alle CNN che si concentrano sulle caratteristiche locali. La comprensione del contesto globale è uno dei principali punti di forza dei Vision Transformers. Per un approfondimento dei principi di base, risorse come "The Illustrated Transformer" di Jay Allammar forniscono eccellenti spiegazioni visive dell'architettura dei Transformer.

Rilevanza e applicazioni

I trasformatori di visione hanno rapidamente guadagnato importanza grazie alle loro impressionanti prestazioni e alla loro scalabilità. La loro capacità di catturare il contesto globale e di trarre vantaggio da grandi insiemi di dati li ha resi molto importanti nelle moderne applicazioni di deep learning. Le applicazioni principali dei ViT includono:

  • Classificazione delle immagini: I ViT hanno ottenuto i migliori risultati nei benchmark di classificazione delle immagini, superando spesso le prestazioni dei modelli tradizionali basati su CNN. La loro architettura è particolarmente efficace quando viene addestrata su dataset di grandi dimensioni come ImageNet.
  • Rilevamento degli oggetti: I trasformatori di visione sono sempre più utilizzati come base per le strutture di rilevamento degli oggetti. Modelli come RT-DETR di Ultralytics sfruttano i trasformatori di visione per ottenere prestazioni in tempo reale e un'elevata precisione.
  • Segmentazione delle immagini: I ViT sono efficaci anche nelle attività di segmentazione delle immagini, consentendo una classificazione precisa a livello di pixel per applicazioni come l'analisi delle immagini mediche e la guida autonoma. Ad esempio, il Segment Anything Model (SAM ) utilizza una struttura portante ViT per le sue potenti capacità di segmentazione.

Le applicazioni reali riguardano diversi settori. Nel settore sanitario, le ViT aiutano nell'analisi delle immagini mediche per migliorare la diagnostica. In agricoltura, migliorano il monitoraggio delle colture e il rilevamento delle malattie. Inoltre, la loro efficienza e precisione li rende adatti all'impiego su dispositivi edge, come illustrato nelle guide per NVIDIA Jetson e Raspberry Pi.

Trasformatori di visione vs. CNN

Mentre le CNN sono state a lungo l'architettura dominante nella computer vision, i Vision Transformers offrono un approccio fondamentalmente diverso. Le CNN eccellono nel catturare i modelli locali attraverso gli strati convoluzionali, rendendole efficienti per i compiti in cui le caratteristiche locali sono cruciali. Tuttavia, a volte hanno difficoltà a catturare le dipendenze a lungo raggio e il contesto globale. Le ViT, invece, catturano intrinsecamente il contesto globale grazie ai loro meccanismi di auto-attenzione, offrendo un vantaggio nei compiti che richiedono una comprensione olistica della scena.

Nonostante i loro punti di forza, per ottenere prestazioni ottimali le ViT richiedono in genere set di dati significativamente più grandi per l'addestramento rispetto alle CNN. Le CNN possono essere più efficienti dal punto di vista computazionale per i dataset più piccoli e per i compiti incentrati sull'estrazione di caratteristiche locali. La scelta tra i ViT e le CNN dipende spesso dall'applicazione specifica, dalle dimensioni del set di dati e dalle risorse computazionali disponibili. I Vision Transformers rappresentano un'evoluzione significativa nella computer vision, dimostrando la potenza dei meccanismi di attenzione e aprendo la strada a futuri progressi nel campo.

Leggi tutto