Yolo Vision Shenzhen
Shenzhen
Iscriviti ora
Glossario

Vision Transformer (ViT)

Scopri la potenza dei Vision Transformer (ViT). Scopri come l'auto-attenzione e la tokenizzazione dei patch rivoluzionano la visione artificiale oltre le CNN con Ultralytics.

Un Vision Transformer (ViT) è un'architettura di deep learning che adatta i meccanismi di auto-attenzione originariamente progettati per l' elaborazione del linguaggio naturale (NLP) per risolvere compiti visivi. A differenza di una tradizionale rete neurale convoluzionale (CNN), che elabora le immagini attraverso una gerarchia di griglie di pixel locali, un ViT tratta un'immagine come una sequenza di patch discrete . Questo approccio è stato reso popolare dal fondamentale articolo di ricerca "An Image is Worth 16x16 Words"(Un'immagine vale 16x16 parole), che ha dimostrato che le architetture transformer pure potrebbero raggiungere prestazioni all'avanguardia nella visione artificiale (CV) senza fare affidamento su livelli di convoluzione. Sfruttando l'attenzione globale, i ViT possono catturare dipendenze a lungo raggio su un'intera immagine fin dal primo livello.

Come funzionano i Vision Transformer

L'innovazione fondamentale del ViT è il modo in cui struttura i dati di input. Per rendere un'immagine compatibile con un Transformer standard, il modello scompone le informazioni visive in una sequenza di vettori, imitando il modo in cui un modello linguistico elabora una frase composta da parole.

  1. Tokenizzazione patch: l'immagine di input viene suddivisa in una griglia di quadrati di dimensioni fisse, in genere 16x16 pixel. Ogni quadrato viene appiattito in un vettore, diventando di fatto un token visivo .
  2. Proiezione lineare: queste patch appiattite vengono fatte passare attraverso un livello lineare addestrabile per creare incorporamenti densi. Questo passaggio mappa i valori dei pixel grezzi in uno spazio ad alta dimensione che il modello può elaborare.
  3. Codifica posizionale: poiché l'architettura elabora le sequenze in parallelo e non possiede una comprensione intrinseca dell'ordine o dello spazio, alle incorporazioni dei patch vengono aggiunte codifiche posizionali apprendibili. Ciò consente al modello di conservare le informazioni spaziali relative alla posizione di ciascun patch nell'immagine originale.
  4. Meccanismo di auto-attenzione: la sequenza entra nel codificatore Transformer, dove l' auto-attenzione consente a ogni patch di interagire con tutte le altre patch contemporaneamente. Ciò consente alla rete di apprendere il contesto globale, comprendendo come un pixel nell' angolo in alto a sinistra si relaziona con uno in basso a destra.
  5. Capo classificazione: per attività come la classificazione delle immagini, spesso viene anteposto alla sequenza uno speciale "token di classe ". Lo stato finale di output di questo token funge da rappresentazione aggregata dell'immagine, che viene poi immessa in un classificatore, come un perceptron multistrato (MLP).

Trasformatori di visione vs. CNN

Sebbene entrambe le architetture mirino a comprendere i dati visivi, differiscono in modo significativo nella loro filosofia operativa. Le CNN possiedono un forte "pregiudizio induttivo" noto come invarianza di traslazione, il che significa che assumono intrinsecamente che le caratteristiche locali (come i bordi e le texture) siano importanti indipendentemente dalla loro posizione. Ciò rende le CNN altamente efficienti in termini di dati ed efficaci su set di dati più piccoli.

Al contrario, i Vision Transformer hanno meno pregiudizi specifici relativi alle immagini. Devono imparare le relazioni spaziali da zero utilizzando enormi quantità di dati di addestramento, come il JFT-300M o l'intero ImageNet . Anche se questo rende l'addestramento più intensivo dal punto di vista computazionale, permette ai ViT di scalare molto bene; con dati e potenza di calcolo sufficienti , possono superare le CNN catturando strutture globali complesse che le convoluzioni locali potrebbero perdere.

Applicazioni nel mondo reale

La capacità di comprendere il contesto globale rende i ViT particolarmente utili in ambienti complessi e ad alto rischio.

  • Analisi delle immagini mediche: nell' assistenza sanitaria basata sull'intelligenza artificiale, i ViT vengono utilizzati per analizzare scansioni ad alta risoluzione come risonanze magnetiche o vetrini istopatologici. Ad esempio, nel rilevamento dei tumori, un ViT può correlare sottili anomalie strutturali nei tessuti con cambiamenti strutturali più ampi nel vetrino, identificando modelli maligni che l'elaborazione locale potrebbe trascurare.
  • Immagini satellitari e telerilevamento: i ViT eccellono nell' analisi delle immagini satellitari, dove le relazioni tra gli oggetti coprono grandi distanze. Ad esempio, collegare un sito di deforestazione a una lontana strada forestale richiede la comprensione del "quadro generale" di un paesaggio, un compito in cui l'attenzione globale di un ViT supera il campo ricettivo limitato delle CNN standard.

Utilizzo dei trasformatori con Ultralytics

Il ultralytics La libreria supporta architetture basate su Transformer, in particolare la RT-DETR Trasformatore di rilevamento in tempo reale). Mentre l' ammiraglia YOLO26 è spesso preferito per il suo equilibrio tra velocità e accuratezza sui dispositivi edge, RT-DETR una potente alternativa per gli scenari che danno priorità al contesto globale.

Il seguente Python mostra come caricare un modello pre-addestrato basato su Transformer ed eseguire l'inferenza:

from ultralytics import RTDETR

# Load a pre-trained RT-DETR model (Vision Transformer-based)
model = RTDETR("rtdetr-l.pt")

# Run inference on an image source
# The model uses self-attention to detect objects globally
results = model("https://ultralytics.com/images/bus.jpg")

# Display the detection results
results[0].show()

Prospettive future

La ricerca sta evolvendo rapidamente per affrontare l'elevato costo computazionale dei ViT. Tecniche come FlashAttention stanno rendendo questi modelli più veloci e più efficienti in termini di memoria. Inoltre, stanno diventando comuni le architetture ibride che combinano l'efficienza delle CNN con l'attenzione dei Transformer. Per i team che desiderano gestire questi flussi di lavoro avanzati, Ultralytics offre un ambiente unificato per annotare i dati, addestrare modelli complessi tramite il cloud e distribuirli su diversi endpoint.

Unitevi alla comunità di Ultralytics

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

Iscriviti ora