Segment Anything Più Veloce: Verso una SAM Leggera per Applicazioni Mobili
Faster Segment Anything: Towards Lightweight SAM for Mobile Applications
June 25, 2023
Autori: Chaoning Zhang, Dongshen Han, Yu Qiao, Jung Uk Kim, Sung-Ho Bae, Seungkyu Lee, Choong Seon Hong
cs.AI
Abstract
Il Segment Anything Model (SAM) è un modello di visione di base guidato da prompt per il ritaglio dell'oggetto di interesse dal suo sfondo. Da quando il team di ricerca di Meta ha rilasciato il progetto SA, SAM ha attirato una significativa attenzione grazie alle sue impressionanti prestazioni di trasferimento zero-shot e alla sua elevata versatilità, essendo compatibile con altri modelli per applicazioni avanzate di visione come l'editing di immagini con un controllo fine. Molti di questi casi d'uso devono essere eseguiti su dispositivi edge con risorse limitate, come le app mobili. In questo lavoro, miriamo a rendere SAM adatto ai dispositivi mobili sostituendo il pesante encoder di immagini con uno leggero. Un approccio ingenuo per addestrare un nuovo SAM, come descritto nel documento originale di SAM, porta a prestazioni insoddisfacenti, specialmente quando sono disponibili risorse di addestramento limitate. Troviamo che ciò sia principalmente causato dall'ottimizzazione accoppiata dell'encoder di immagini e del decoder di maschere, motivo per cui proponiamo la distillazione disaccoppiata. Nello specifico, distilliamo la conoscenza dall'encoder di immagini ViT-H nel SAM originale in un encoder di immagini leggero, che può essere automaticamente compatibile con il decoder di maschere nel SAM originale. L'addestramento può essere completato su una singola GPU in meno di un giorno, e il risultante SAM leggero è denominato MobileSAM, che è più di 60 volte più piccolo ma performa alla pari con il SAM originale. Per quanto riguarda la velocità di inferenza, MobileSAM impiega circa 10ms per immagine: 8ms sull'encoder di immagini e 2ms sul decoder di maschere. Con prestazioni superiori e una maggiore versatilità, il nostro MobileSAM è 7 volte più piccolo e 4 volte più veloce del contemporaneo FastSAM, rendendolo più adatto per applicazioni mobili. Il codice per il progetto MobileSAM è disponibile all'indirizzo https://github.com/ChaoningZhang/MobileSAM.
English
Segment anything model (SAM) is a prompt-guided vision foundation model for
cutting out the object of interest from its background. Since Meta research
team released the SA project, SAM has attracted significant attention due to
its impressive zero-shot transfer performance and high versatility of being
compatible with other models for advanced vision applications like image
editing with fine-grained control. Many of such use cases need to be run on
resource-constraint edge devices, like mobile Apps. In this work, we aim to
make SAM mobile-friendly by replacing the heavyweight image encoder with a
lightweight one. A naive way to train such a new SAM as in the original SAM
paper leads to unsatisfactory performance, especially when limited training
sources are available. We find that this is mainly caused by the coupled
optimization of the image encoder and mask decoder, motivated by which we
propose decoupled distillation. Concretely, we distill the knowledge from the
image encoder ViT-H in the original SAM to a lightweight image encoder, which
can be automatically compatible with the mask decoder in the original SAM. The
training can be completed on a single GPU within less than one day, and the
resulting lightweight SAM is termed MobileSAM which is more than 60 times
smaller yet performs on par with the original SAM. For inference speed,
MobileSAM runs around 10ms per image: 8ms on the image encoder and 2ms on the
mask decoder. With superior performance and a higher versatility, our MobileSAM
is 7 times smaller and 4 times faster than the concurrent FastSAM, making it
more suitable for mobile applications. The code for MobileSAM project is
provided at https://github.com/ChaoningZhang/MobileSAM