Intelligenza artificiale
TinySAM: spingendo i confini per il Modello di Segmentazione di Qualsiasi Cosa

La segmentazione degli oggetti è un campo fondamentale e criticamente importante nella visione artificiale moderna. Gioca un ruolo vitale nelle applicazioni che richiedono componenti visivi estensivi, come la localizzazione e l’identificazione degli oggetti, e richiede una segmentazione in tempo reale, veloce e precisa. Questa importanza ha reso la segmentazione degli oggetti un argomento di ricerca costantemente caldo, con lavori significativi svolti in aree come la segmentazione delle istanze, la segmentazione semantica e la segmentazione panottica.
Con l’evoluzione della segmentazione degli oggetti, il Modello di Segmentazione di Qualsiasi Cosa (SAM) è emerso come uno strumento notevole, mostrando capacità di segmentazione eccezionali e venendo rapidamente adottato in varie applicazioni di visione artificiale. I framework che utilizzano un’architettura SAM pre-addestrata hanno raggiunto prestazioni impressionanti in compiti di visione a valle. Tuttavia, nonostante le sue capacità e la sua alta precisione nei compiti di segmentazione, l’architettura complessa e pesante del SAM richiede una notevole potenza computazionale, ostacolando la sua implementazione su dispositivi con risorse computazionali limitate.
Per affrontare le sfide computazionali del SAM, i ricercatori hanno sviluppato il Tiny Segment Anything Model (TinySAM), che mantiene le prestazioni zero-shot del framework originale mentre è più leggero. Il TinySAM utilizza un metodo di distillazione della conoscenza a pieno stadio con prompt difficili online per creare un modello studente più efficiente. La quantizzazione post-addestramento adattata ai compiti di segmentazione promptabili riduce ulteriormente le esigenze computazionali. Inoltre, la progettazione del TinySAM mira a una segmentazione gerarchica, che quasi raddoppia la velocità di inferenza senza compromettere le prestazioni.
Questo articolo esplora il framework TinySAM, esaminandone i principi fondamentali, l’architettura e le prestazioni rispetto ad altri framework di segmentazione all’avanguardia. Esaminiamo questi aspetti in maggior dettaglio.
TinySAM: Modello di Segmentazione Efficientemente Qualsiasi Cosa
Il Modello di Segmentazione di Qualsiasi Cosa ha aiutato nel rapido progresso di diverse applicazioni di visione artificiale grazie alle sue capacità di segmentazione lodevoli, unite a un enorme set di dati di segmentazione che ospita oltre 11 milioni di immagini e oltre un miliardo di maschere di immagine. Grazie alle sue prestazioni eccezionali nei compiti di segmentazione di oggetti con categorie e forme arbitrarie, serve come base per i framework che eseguono compiti a valle come la ritocco di immagini, il tracciamento degli oggetti, la visione 3D e altro ancora. Inoltre, il Modello di Segmentazione di Qualsiasi Cosa offre anche prestazioni di segmentazione zero-shot notevoli che hanno beneficiato settori sensibili che lavorano con una quantità limitata di dati, tra cui la ricerca medica e l’imaging medico.
Sebbene non si possa mettere in discussione le capacità di segmentazione notevoli offerte dal Modello di Segmentazione di Qualsiasi Cosa su una vasta gamma di compiti di visione a valle, esso ha il suo lato negativo in termini di sovraccarico architettonico complesso, elevate esigenze computazionali e significativi costi operativi. Per un sistema in esecuzione su una moderna GPU, il tempo di inferenza di un modello SAM può essere fino a 2 secondi per un’immagine 1024×1024. Di conseguenza, è un compito molto difficile implementare applicazioni SAM su dispositivi con capacità computazionali limitate. Per superare questo ostacolo, lavori recenti come MobileSAM e FastSAM hanno cercato di sviluppare un modello SAM con maggiore efficienza computazionale. Il framework MobileSAM tenta di sostituire il componente pesante nel codificatore di immagine con l’architettura del framework TinyViT, mentre il modello FastSAM trasferisce il compito di segmentazione a un compito di segmentazione delle istanze con una sola categoria con il modello YoloV8. Sebbene questi metodi abbiano raggiunto un certo livello di successo nel ridurre le esigenze computazionali, non sono riusciti a mantenere le prestazioni, soprattutto nei compiti zero-shot a valle.
TinySAM o il Tiny Segment Anything Model è un tentativo di ridurre le esigenze computazionali del modello SAM attuale senza compromettere le prestazioni nei compiti zero-shot a valle. Inoltre, il framework TinySAM propone di implementare un metodo di distillazione della conoscenza a pieno stadio nella sua architettura al fine di migliorare la capacità della rete studente compatta. Il framework TinySAM distilla la rete studente in modo end-to-end sotto la supervisione della rete insegnante da diversi stadi. Per migliorare ulteriormente le prestazioni, il framework consente al processo di distillazione di prestare maggiore attenzione agli esempi difficili implementando una strategia di campionamento di prompt difficili online aggiuntiva. Inoltre, per ridurre ulteriormente i costi computazionali, il framework TinySAM espone i compiti di segmentazione promptabili ai componenti di quantizzazione post-addestramento.
La maggior parte delle esigenze computazionali del Modello di Segmentazione di Qualsiasi Cosa deriva dal fatto che il modello genera maschere massive dai punti di prompt della griglia per segmentare tutto nell’immagine. Per superare le esigenze computazionali di questa strategia di segmentazione, il framework TinySAM utilizza una strategia di segmentazione gerarchica di tutto, che quasi raddoppia la velocità di inferenza senza compromettere le prestazioni. Con questi metodi implementati nella sua architettura, il framework TinySAM offre una riduzione significativa delle esigenze computazionali e stabilisce nuovi limiti per i compiti di segmentazione efficienti.
TinySAM: Architettura e Metodologia
Prima di discutere dell’architettura e della metodologia del framework TinySAM, è importante esaminare prima il suo predecessore, il framework SAM. Dal momento della sua introduzione, il Modello di Segmentazione di Qualsiasi Cosa ha dimostrato prestazioni notevoli, versatilità e capacità di generalizzazione su una vasta gamma di compiti di visione e segmentazione degli oggetti.
Al suo nucleo, il modello SAM consiste di tre sottoreti: il codificatore di prompt, il codificatore di immagine e il decodificatore di maschera. L’obiettivo principale del codificatore di prompt è codificare le maschere a forma arbitraria, i punti di input e le scatole, e il testo libero con informazioni di posizionamento. Il codificatore di immagine è una rete pesante basata su un trasformatore di visione che estrae l’immagine di input in embedding. Il modello utilizza reti diverse per elaborare i prompt geometrici e testuali. Infine, il decodificatore di maschera contiene un trasformatore a due vie che riceve l’output del codificatore di prompt e del codificatore di immagine per generare la previsione della maschera finale. Con il set di dati, il framework SAM dimostra capacità di segmentazione di alta qualità per oggetti indipendentemente dalla loro forma e categoria. Inoltre, il Modello di Segmentazione di Qualsiasi Cosa dimostra prestazioni e efficienza notevoli su compiti di visione zero-shot a valle, tra cui la proposta di oggetti, la rilevazione dei bordi, la previsione della maschera del testo e la segmentazione delle istanze. Grazie alle sue capacità di segmentazione di alta qualità e alle offerte di prompt flessibili, i framework SAM formano la base per le applicazioni di visione. Tuttavia, non si può ignorare la grande esigenza computazionale dell’architettura SAM tradizionale con un gran numero di parametri che la rende quasi impossibile per gli sviluppatori implementare applicazioni SAM su dispositivi con risorse limitate.
Distillazione della Conoscenza
La distillazione della conoscenza è un approccio importante per migliorare le prestazioni delle reti compatte durante la fase di addestramento. Il metodo di distillazione della conoscenza che utilizza l’output della rete insegnante per supervisionare l’addestramento della rete studente leggera. Il metodo di distillazione della conoscenza può essere suddiviso in due sottocategorie: distillazione per caratteristiche intermedie e distillazione per output di rete, con la maggior parte dei lavori di ricerca sulla distillazione della conoscenza che si concentra su compiti di classificazione di immagini.
Come detto, la figura seguente mostra l’architettura generica del framework TinySAM insieme alla panoramica delle prestazioni sui compiti di segmentazione delle istanze zero-shot.

Nel primo stadio, il framework TinySAM implementa la distillazione della conoscenza progettata specificamente per il framework SAM, e per attivare ulteriormente il processo di distillazione, il modello utilizza un campionamento di prompt difficili online per estrarre la conoscenza difficile alla rete studente dalla rete insegnante. Nel secondo stadio, il framework TinySAM adatta il metodo di quantizzazione post-addestramento ai compiti di segmentazione promptabili e lo implementa sulla rete studente leggera. Infine, il modello implementa la modalità di inferenza di segmentazione gerarchica di tutto, progettata per i compiti di segmentazione, che risulta in un raddoppio della velocità di inferenza con una perdita di precisione trascurabile.
Distillazione della Conoscenza a Pieno Stadio
Come menzionato in precedenza, il Modello di Segmentazione di Qualsiasi Cosa consiste di tre sottoreti al suo nucleo: il codificatore di prompt, il codificatore di immagine e il decodificatore di maschera, con il componente del codificatore di immagine costruito su un trasformatore di visione e avente elevate esigenze computazionali. Per affrontare questo problema, il framework MobileSAM ha sostituito il trasformatore di visione con un TinyViT o un piccolo trasformatore di visione, sebbene il sostituto non sia stato efficace a causa del decadimento delle prestazioni significativo. Per garantire che non ci sia decadimento delle prestazioni, il framework TinySAM implementa un metodo di distillazione della conoscenza a pieno stadio che guida la rete di immagine leggera dal livello di apprendimento al livello di conoscenza multipla. Oltre alla perdita convenzionale tra le etichette ground-truth e i risultati previsti, il framework TinySAM introduce numerose perdite di distillazione durante diversi stadi come mostrato nella figura seguente.

Quantizzazione
La quantizzazione del modello è un approccio popolare nei framework di visione artificiale e viene utilizzato per comprimere il modello quantizzando i pesi o le attivazioni da una banda più alta a una più bassa nel tentativo di ridurre la complessità computazionale e le esigenze di archiviazione senza degradare significativamente la qualità di output.
L’obiettivo principale della quantizzazione nel TinySAM è proiettare il tensore a virgola mobile sul tensore intero utilizzando un fattore di scala con la metrica per misurare la distanza tra la moltiplicazione della matrice e la matrice quantizzata che gioca un ruolo vitale nell’ottimizzazione del fattore di scala.
Segmentazione Gerarchica di Qualsiasi Cosa
Il Modello di Segmentazione di Qualsiasi Cosa propone di utilizzare un generatore di maschera automatico che campiona i punti come una griglia per segmentare tutto nell’immagine. Tuttavia, è stato indicato che l’utilizzo di una griglia di punti densa comporta output di segmentazione finemente granulati e il processo richiede elevate esigenze computazionali e incursore costi operativi elevati. Inoltre, da un lato, troppi punti di campionamento per un oggetto completo potrebbero portare a sezioni diverse dell’oggetto a essere segmentate in modo errato come maschere separate, mentre dall’altro lato, il costo temporale della modalità di inferenza di tutto è principalmente dovuto al fatto che il codificatore di immagine è stato ridotto notevolmente. Per ridurre il costo operativo della modalità di tutto, il framework TinySAM utilizza un approccio di generazione di maschera gerarchica, con la differenza nella strategia rispetto al framework SAM originale mostrata nell’immagine seguente.

Diversamente dall’approccio implementato nel framework SAM originale, il modello TinySAM utilizza solo il 25% dei punti su ogni lato, utilizzando quindi solo 1/16 dei punti disponibili nell’impostazione originale. Il modello quindi inferisce il decodificatore di maschera e il codificatore di prompt con questi prompt e ottiene l’output. Il modello quindi filtra alcune maschere con una confidenza superiore a una certa soglia e maschera le posizioni corrispondenti come aree per potenziali previsioni finali. Poiché il modello tratta queste aree come il risultato di segmentazione di istanze con alta confidenza, non ha bisogno di generare prompt di punti. La strategia non solo aiuta a prevenire la segmentazione finemente granulata dell’oggetto, ma aiuta anche a ridurre notevolmente i costi operativi e le esigenze computazionali. Il framework quindi unisce e post-elabora i risultati di questi due turni per ottenere le maschere finali.
TinySAM: Esperimenti e Risultati
Per accelerare il processo di distillazione, il framework TinySAM calcola e memorizza gli embedding di immagine dalla rete insegnante in anticipo, grazie al quale non è più necessario che il modello calcoli il codificatore di immagine pesante della rete insegnante ripetutamente durante la fase di addestramento. Per la quantizzazione post-addestramento, il framework TinySAM quantizza tutti i layer di moltiplicazione della matrice, i layer di convoluzione, i layer di deconvoluzione e i layer lineari, con il modello che utilizza fattori di scala canal-wise per i layer di convoluzione e deconvoluzione. Per i layer di moltiplicazione della matrice, il modello implementa fattori di scala head-wise, mentre per i layer lineari, il modello implementa fattori di scala lineari. Il modello conduce anche una valutazione sui compiti a valle zero-shot.
Per i compiti di segmentazione delle istanze in un ambiente zero-shot, il framework TinySAM segue le impostazioni sperimentali del suo predecessore, il Modello di Segmentazione di Qualsiasi Cosa, e utilizza i risultati di rilevamento degli oggetti del framework Vision Transformer Det-H o VitDet-H per la segmentazione delle istanze. Come mostrato nell’immagine seguente, il framework TinySAM supera i metodi esistenti in termini di accuratezza di segmentazione delle istanze e punteggio FLOPs.

Inoltre, le prestazioni qualitative del modello TinySAM sono mostrate nell’immagine seguente per la segmentazione delle istanze zero-shot, con la scatola verde che rappresenta i prompt della scatola.

In termini di valutazione della maschera di punti validi zero-shot, il modello TinySAM supera notevolmente il framework MobileSAM su diversi set di dati e fornisce risultati sostanzialmente migliori quando il framework utilizza un minor numero di punti come prompt.

Inoltre, la tabella seguente riassume i risultati dell’accelerazione e della riduzione delle esigenze computazionali raggiunte grazie alla strategia di modalità di tutto gerarchica. Il modello applica lo stesso punteggio di stabilità e valore di soglia con diverse strategie per un confronto equo e i risultati sono riassunti di seguito.

Pensieri Finali
In questo articolo, abbiamo parlato del TinySAM, un framework proposto che spinge i confini per la segmentazione di qualsiasi compito e ottiene un’architettura di modello efficiente con minori esigenze computazionali e precisione pari al framework SAM originale. Il TinySAM o il Tiny Segment Anything Model mantiene e consegna le prestazioni zero-shot del framework originale. Il framework TinySAM implementa prima un metodo di distillazione della conoscenza a pieno stadio che utilizza prompt difficili online per distillare un modello studente leggero. Il framework TinySAM adatta quindi la quantizzazione post-addestramento ai compiti di segmentazione promptabili, che aiuta ulteriormente a ridurre le esigenze computazionali. Inoltre, il framework mira a segmentare tutto gerarchicamente, il che quasi raddoppia la velocità di inferenza senza influenzare le prestazioni.












