Segmento Mobile Anything (MobileSAM)
Il documento MobileSAM è ora disponibile su arXiv.
Una dimostrazione dell'esecuzione di MobileSAM su una CPU è disponibile a questo link dimostrativo. La performance su una CPU Mac i5 richiede circa 3 secondi. Nella demo di Hugging Face , l'interfaccia e le CPU meno performanti contribuiscono a rallentare la risposta, ma il programma continua a funzionare in modo efficace.
MobileSAM è stato implementato in diversi progetti tra cui Grounding-SAM, AnyLabeling e Segment Anything in 3D.
MobileSAM è stato addestrato su una singola GPU con un dataset di 100.000 immagini (l'1% delle immagini originali) in meno di un giorno. Il codice per questo addestramento sarà reso disponibile in futuro.
Modelli disponibili, attività supportate e modalità operative
Questa tabella presenta i modelli disponibili con i loro pesi specifici pre-addestrati, i compiti che supportano e la loro compatibilità con diverse modalità operative come Inferenza, Convalida, Formazione ed Esportazione, indicate da ✅ emoji per le modalità supportate e ❌ emoji per le modalità non supportate.
Tipo di modello | Pesi pre-addestrati | Attività supportate | Inferenza | Convalida | Formazione | Esportazione |
---|---|---|---|---|---|---|
MobileSAM | mobile_sam.pt | Segmentazione dell'istanza | ✅ | ❌ | ❌ | ❌ |
Adattarsi da SAM a MobileSAM
Poiché MobileSAM mantiene la stessa pipeline dell'originale SAM, abbiamo incorporato la preelaborazione, la postelaborazione e tutte le altre interfacce dell'originale. Di conseguenza, chi sta utilizzando l'originale SAM può passare a MobileSAM con il minimo sforzo.
MobileSAM ha prestazioni paragonabili a quelle del sito SAM originale e mantiene la stessa pipeline, ad eccezione di un cambiamento nel codificatore di immagini. In particolare, sostituiamo il pesante codificatore ViT-H originale (632M) con un più piccolo Tiny-ViT (5M). Su una singola GPU, MobileSAM opera a circa 12ms per immagine: 8ms per l'encoder dell'immagine e 4ms per il decoder della maschera.
La tabella seguente fornisce un confronto tra i codificatori di immagini basati su ViT:
Codificatore di immagini | Originale SAM | MobileSAM |
---|---|---|
Parametri | 611M | 5M |
Velocità | 452ms | 8ms |
Sia il sito originale SAM che MobileSAM utilizzano lo stesso decodificatore di maschere guidato dai messaggi:
Decodificatore di maschere | Originale SAM | MobileSAM |
---|---|---|
Parametri | 3.876M | 3.876M |
Velocità | 4ms | 4ms |
Ecco il confronto dell'intera pipeline:
Intera pipeline (Enc+Dec) | Originale SAM | MobileSAM |
---|---|---|
Parametri | 615M | 9.66M |
Velocità | 456ms | 12ms |
Le prestazioni di MobileSAM e del sito originale SAM sono dimostrate utilizzando un punto e un riquadro come prompt.
Grazie alle sue prestazioni superiori, MobileSAM è circa 5 volte più piccolo e 7 volte più veloce dell'attuale FastSAM. Maggiori dettagli sono disponibili alla pagina del progettoMobileSAM .
Testare MobileSAM in Ultralytics
Come nel caso del sito originale SAM, anche in Ultralytics offriamo un metodo di verifica semplice, che include modalità per i prompt Point e Box.
Modello da scaricare
Puoi scaricare il modello qui.
Prompt a punti
Esempio
Box Prompt
Esempio
Abbiamo implementato MobileSAM
e SAM
utilizzando la stessa API. Per ulteriori informazioni sull'utilizzo, consulta la sezione SAM pagina.
Citazioni e ringraziamenti
Se trovi utile MobileSAM nel tuo lavoro di ricerca o sviluppo, ti invitiamo a citare il nostro articolo: