Seguici sui social

Intelligenza Artificiale

TinySAM: oltrepassare i confini del modello Segment Anything

mm
TinySAM: oltrepassare i confini del modello Segment Anything

La segmentazione degli oggetti è un campo fondamentale e di fondamentale importanza nella moderna visione artificiale. Svolge un ruolo fondamentale nelle applicazioni che richiedono componenti visivi estesi, come la localizzazione e l'identificazione di oggetti, e richiede una segmentazione in tempo reale, rapida e accurata. Questa importanza ha reso la segmentazione degli oggetti un argomento di ricerca costantemente caldo, con un lavoro significativo svolto in aree come la segmentazione delle istanze, la segmentazione semantica e la segmentazione panottica.

Con l'evoluzione della segmentazione degli oggetti, il Segment Anything Model (SAM) si è affermato come uno strumento straordinario, dimostrando eccezionali capacità di segmentazione e venendo rapidamente adottato in diverse applicazioni di visione artificiale. I framework che utilizzano un'architettura SAM pre-addestrata hanno raggiunto prestazioni impressionanti nelle attività di visione a valle. Tuttavia, nonostante le sue capacità e l'elevata accuratezza nelle attività di segmentazione, l'architettura complessa e pesante del SAM richiede una notevole potenza di calcolo, ostacolandone l'implementazione su dispositivi con limitazioni computazionali.

Per affrontare le sfide computazionali di SAM, i ricercatori hanno sviluppato il Tiny Segment Anything Model (TinySAM), che mantiene le prestazioni zero-shot del framework originale pur essendo più leggero. TinySAM utilizza un metodo di distillazione della conoscenza a fase completa con prompt fisici online per creare un modello studente più efficiente. La quantizzazione post-addestramento, adattata alle attività di segmentazione promptable, riduce ulteriormente le esigenze computazionali. Inoltre, il design di TinySAM punta alla segmentazione gerarchica, quasi raddoppiando la velocità di inferenza senza compromettere le prestazioni.

Questo articolo approfondisce il framework TinySAM, esplorandone i principi fondamentali, l'architettura e le prestazioni rispetto ad altri framework di segmentazione all'avanguardia. Esploriamo questi aspetti più nel dettaglio.

TinySAM: modello efficiente di qualsiasi cosa per segmenti

Il modello Segment Anything ha contribuito al rapido progresso di diverse applicazioni di visione artificiale grazie alle sue encomiabili capacità di segmentazione abbinate a un enorme set di dati di segmentazione che ospita oltre 11 milioni di immagini e oltre un miliardo di maschere di immagini. Grazie alle sue eccezionali prestazioni nelle attività di segmentazione di oggetti con categorie e forme arbitrarie, funge da base per i framework che eseguono attività a valle come la pittura di immagini, il tracciamento di oggetti, la visione 3D e altro ancora. Inoltre, anche il modello Segment Anything offre notevoli offerte segmentazione zero-shot prestazioni che hanno avvantaggiato le industrie sensibili che lavorano con una quantità limitata di dati, compresi i settori della ricerca medica e dell’imaging medico. 

Sebbene non si possano mettere in dubbio le notevoli capacità di segmentazione offerte dal Segment Anything Model su un’ampia gamma di compiti di visione a valle, esso presenta i suoi svantaggi in termini di sovraccarico architetturale complesso, elevati requisiti computazionali e costi operativi significativi. Per un sistema in esecuzione su una GPU moderna, il tempo di inferenza di un modello SAM può arrivare 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 la componente pesante nel codificatore di immagini con l'architettura del framework TinyViT mentre il modello FastSAM trasferisce l'attività di segmento a un'attività di segmentazione dell'istanza con una sola categoria con il Yolo V8 modello. Sebbene questi metodi siano stati in grado di raggiungere un certo livello di successo in termini di riduzione dei requisiti computazionali, non sono riusciti a mantenere le prestazioni soprattutto nei compiti zero-shot a valle. 

TinySAM o Tiny Segment Anything Model è un tentativo di ridurre i requisiti computazionali dell'attuale modello SAM senza ostacolare le prestazioni delle attività downstream zero-shot. Inoltre, il framework TinySAM propone di implementare un metodo di distillazione della conoscenza a tutto stadio nella sua architettura con l’obiettivo di migliorare la capacità della rete studentesca compatta. Il framework TinySAM distilla la rete di studenti in modo end-to-end sotto la supervisione della rete di insegnanti da diverse fasi. Per migliorare ulteriormente le prestazioni, il quadro consente al processo di distillazione di occuparsi maggiormente di esempi concreti implementando un'ulteriore strategia di campionamento rapido online. Inoltre, per ridurre ulteriormente i costi computazionali, il framework TinySAM espone le attività di segmentazione richiamabili a componenti di quantizzazione post-addestramento. 

La parte principale dei requisiti di calcolo di un modello Segment Anything è dovuta al fatto che il modello genera enormi maschere dai punti di richiesta della griglia per segmentare tutto nell'immagine. Per superare i requisiti computazionali di questa strategia di segmentazione, il framework TinySAM utilizza una strategia di segmentazione gerarchica che quasi raddoppia la velocità di inferenza senza compromettere le prestazioni. Con questi metodi impiegati nella sua architettura, il framework TinySAM offre una significativa riduzione dei requisiti computazionali e stabilisce nuovi limiti per attività di segmentazione efficienti. 

TinySAM: Architettura e Metodologia

Prima di parlare dell'architettura e della metodologia del framework TinySAM, è importante dare prima un'occhiata al suo predecessore, il framework SAM. Fin dalla sua introduzione, il modello Segment Anything ha dimostrato notevoli prestazioni, versatilità e capacità di generalizzazione in una serie di attività di visione a valle e di segmentazione degli oggetti. 

Fondamentalmente, il modello SAM è costituito da tre sottoreti: il codificatore di prompt, il codificatore di immagini e il decodificatore di maschera. Lo scopo principale del codificatore di prompt è codificare maschere di forma arbitraria, punti e riquadri di input e testo in formato libero con informazioni sulla posizione. Il codificatore di immagini è una rete pesante basata su ViT o trasformatore di visione che estrae l'immagine di input in incorporamenti. Il modello utilizza diverse reti per elaborare le istruzioni geometriche e testuali. Infine, il decodificatore della maschera contiene un trasformatore a due vie che riceve l'output del prompt e il codificatore di immagini per generare la previsione della maschera finale. Con il set di dati, il framework SAM dimostra notevoli capacità di segmentazione di alta qualità per gli oggetti indipendentemente dalla loro forma e categoria. Inoltre, il Segmenta qualsiasi modello dimostra prestazioni ed efficienza notevoli nelle attività di visione downstream zero-shot, tra cui la proposta di oggetti, il rilevamento dei bordi, la previsione del testo per mascherare e la segmentazione delle istanze. Grazie alle capacità di segmentazione di alta qualità e alle offerte flessibili e tempestive, i framework SAM costituiscono la base per le applicazioni di visione. Detto questo, non si può ignorare l’elevato requisito computazionale dell’architettura SAM tradizionale con un gran numero di parametri che rendono quasi impossibile per gli sviluppatori distribuire applicazioni basate su SAM su dispositivi con risorse limitate. 

Distillazione della conoscenza

La distillazione della conoscenza è un approccio importante per aumentare le prestazioni delle reti compatte durante la fase di formazione. Il metodo di distillazione della conoscenza che utilizza i risultati della rete di insegnanti per supervisionare la formazione della rete leggera di studenti. 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 del lavoro di ricerca attorno alla distillazione della conoscenza incentrato su compiti di classificazione delle immagini. 

Detto questo, la figura seguente mostra l'architettura generica del framework TinySAM insieme alla panoramica delle prestazioni sulle attività di segmentazione delle istanze zero-shot. 

Nella prima fase, 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 online per estrarre la conoscenza concreta dalla rete degli insegnanti per trasmetterla alla rete degli studenti. Nella seconda fase, il framework TinySAM adatta il metodo di quantizzazione post-formazione a compiti di segmentazione tempestivi e lo implementa sulla rete leggera degli studenti. Infine, il modello implementa la modalità di inferenza del segmento gerarchico progettata per attività di segmentazione con conseguente raddoppio della velocità di inferenza con una perdita di precisione trascurabile. 

Distillazione della conoscenza a tutto stadio

Come accennato in precedenza, il Segment Anything Model è costituito da tre sottoreti al suo interno: il codificatore di prompt, il codificatore di immagini e il decodificatore di maschera, con il componente codificatore di immagini costruito su un trasformatore di visione e con elevati requisiti computazionali. Per affrontare questo problema, il framework MobileSAM ha sostituito il trasformatore di visione con un TinyViT o Tiny Vision Transformer, sebbene la sostituzione non sia stata efficace dato il significativo decadimento delle prestazioni. Per garantire che non vi sia alcun decadimento delle prestazioni, il framework TinySAM implementa un metodo di distillazione della conoscenza in fase completa che guida il codificatore di immagini leggero dal livello di apprendimento al livello di conoscenza multipla. Oltre alla perdita convenzionale tra le etichette attendibili e i risultati previsti, il framework TinySAM introduce numerose perdite di distillazione durante le diverse fasi, 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 pesi o attivazioni da una larghezza di banda maggiore a una minore nel tentativo di ridurre la complessità computazionale e i requisiti di archiviazione senza degradare significativamente la qualità dell'output. 

Lo scopo principale della quantizzazione in TinySAM è proiettare il tensore in virgola mobile sul tensore di bit interi 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 per l'ottimizzazione del fattore di scala. 

Segmento gerarchico Qualunque cosa

Il modello Segment Anything propone di utilizzare un generatore automatico di maschere che campiona i punti come una griglia per segmentare tutto nell'immagine. Tuttavia, è stato indicato che l'uso di una griglia di punti densa si traduce in risultati di segmentazione a grana eccessiva e che il processo richiede enormi requisiti computazionali e comporta elevati costi operativi. Inoltre, da un lato, troppi punti di campionamento per un oggetto completo potrebbero comportare la segmentazione errata di diverse sezioni dell'oggetto come maschere separate, mentre dall'altro lato, il costo in termini di tempo dell'inferenza in modalità tutto è dovuto principalmente al motivo che il codificatore di immagini è stato ridotto in modo significativo. Per ridurre i costi operativi della modalità tutto, il framework TinySAM utilizza un approccio gerarchico di generazione di maschere, con la differenza nella strategia con il framework SAM originale dimostrata nell'immagine seguente. 

Diversamente dall'approccio implementato nel framework SAM originale, il modello TinySAM utilizza solo il 25% dei punti su ciascun lato, utilizzando quindi solo 1/16 dei punti disponibili nell'impostazione originale. Il modello quindi deduce il decodificatore della maschera e il codificatore del prompt con questi prompt e ottiene l'output. Il modello filtra quindi alcune maschere con una sicurezza che supera una certa soglia e maschera le posizioni corrispondenti come aree per potenziali previsioni finali. Poiché il modello tratta queste regioni come il risultato della segmentazione di istanze con elevata confidenza, non è necessario generare prompt relativi ai punti. La strategia non solo aiuta a prevenire una segmentazione troppo fine dell'oggetto, ma aiuta anche a ridurre significativamente i costi operativi e i requisiti computazionali. Il framework quindi unisce e postelabora i risultati di questi due cicli per ottenere le maschere finali. 

TinySAM: esperimenti e risultati

Per accelerare il processo di distillazione, il framework TinySAM calcola e memorizza in anticipo gli incorporamenti di immagini dalla rete dell'insegnante, per cui non è più obbligatorio per il modello calcolare ripetutamente il pesante codificatore di immagini della rete dell'insegnante durante la fase di formazione. Per la quantizzazione post-addestramento, il framework TinySAM quantizza tutti gli strati di moltiplicazione della matrice, gli strati di convoluzione, gli strati di deconvoluzione e gli strati lineari, con il modello che utilizza fattori di ridimensionamento per canale sia per gli strati di convoluzione che per quelli di deconvoluzione. Per gli strati moltiplicati della matrice, il modello implementa fattori di ridimensionamento in base alla testa mentre per gli strati lineari, il modello implementa fattori di ridimensionamento in senso lineare. Il modello conduce anche una valutazione sulle attività a valle zero-shot. 

Ad esempio, le attività di segmentazione in un'impostazione zero-shot, il framework TinySAM segue le impostazioni sperimentali del suo predecessore, il modello Segment Anything, e utilizza i risultati di rilevamento degli oggetti del framework Vision Transformer Det-H o VitDet-H per la segmentazione dell'istanza. Come dimostrato nell'immagine seguente, il framework TinySAM supera i metodi esistenti in termini di precisione della segmentazione delle istanze e punteggio FLOP. 

Inoltre, le prestazioni qualitative del modello TinySAM sono dimostrate nell'immagine seguente per la segmentazione dell'istanza zero-shot con la casella verde che rappresenta i prompt della casella. 

In termini di valutazione della maschera valida con punti zero-shot, il modello TinySAM supera significativamente il framework MobileSAM su diversi set di dati e fornisce risultati sostanzialmente migliori quando un numero inferiore di punti viene utilizzato come prompt dal framework. 

Inoltre, la tabella seguente riassume i risultati dell'accelerazione e della diminuzione dei requisiti computazionali ottenuti come risultato della strategia gerarchica della modalità tutto. Il modello applica lo stesso punteggio di stabilità e valore soglia con diverse strategie per un confronto equo, e i risultati sono riepilogati di seguito. 

Considerazioni finali

In questo articolo abbiamo parlato di TinySAM, un framework proposto che spinge i limiti nella segmentazione di qualsiasi attività e ottiene un'architettura del modello efficiente con meno requisiti computazionali e una precisione alla pari con il framework SAM originale. TinySAM o Tiny Segment Anything Model che mantiene e offre le prestazioni zero-shot del framework originale. Il framework TinySAM implementa innanzitutto un metodo di distillazione della conoscenza a livello completo che utilizza suggerimenti online per distillare un modello studentesco leggero. Il framework TinySAM adatta quindi la quantizzazione post-addestramento a compiti di segmentazione tempestivi che aiutano ulteriormente a ridurre i requisiti computazionali. Inoltre, il framework mira anche a segmentare tutto in modo gerarchico, quasi raddoppiando la velocità di inferenza senza influire sulle prestazioni. 

"Un ingegnere di professione, uno scrittore a memoria". Kunal è uno scrittore tecnico con un profondo amore e comprensione di AI e ML, dedito a semplificare concetti complessi in questi campi attraverso la sua documentazione coinvolgente e informativa.