Mobiel Segment Alles (MobileSAM)
De MobileSAM paper is nu beschikbaar op arXiv.
Een demonstratie van MobileSAM op een CPU kun je bekijken via deze demo-link. De prestaties op een Mac i5 CPU duren ongeveer 3 seconden. Op de Hugging Face demo dragen de interface en CPU's met lagere prestaties bij aan een langzamere reactie, maar het blijft effectief werken.
MobileSAM is geïmplementeerd in verschillende projecten, waaronder Grounding-SAM, AnyLabeling en Segment Anything in 3D.
MobileSAM is getraind op een enkele GPU met een dataset van 100k (1% van de originele afbeeldingen) in minder dan een dag. De code voor deze training zal in de toekomst beschikbaar worden gesteld.
Beschikbare modellen, ondersteunde taken en bedrijfsmodi
Deze tabel toont de beschikbare modellen met hun specifieke voorgetrainde gewichten, de taken die ze ondersteunen en hun compatibiliteit met verschillende bedrijfsmodi zoals Inferentie, Validatie, Training en Exporteren, aangegeven met ✅ emoji's voor ondersteunde modi en ❌ emoji's voor niet-ondersteunde modi.
Type model | Voorgetrainde gewichten | Ondersteunde taken | Inferentie | Validatie | Training | Exporteer |
---|---|---|---|---|---|---|
MobileSAM | mobiel_sam.pt | Instance segmentatie | ✅ | ❌ | ❌ | ❌ |
Aanpassen van SAM aan MobileSAM
Omdat MobileSAM dezelfde pijplijn heeft als het origineel SAM, hebben we de voorbewerking, nabewerking en alle andere interfaces van het origineel overgenomen. Hierdoor kunnen mensen die momenteel het originele SAM gebruiken met minimale inspanning overstappen naar MobileSAM .
MobileSAM presteert vergelijkbaar met de originele SAM en behoudt dezelfde pijplijn met uitzondering van een wijziging in de afbeeldingsencoder. We vervangen de originele zware ViT-H encoder (632M) door een kleinere Tiny-ViT (5M). Op een enkele GPU werkt MobileSAM met ongeveer 12 ms per afbeelding: 8 ms op de afbeeldingsencoder en 4 ms op de maskerdecoder.
De volgende tabel geeft een vergelijking van op ViT gebaseerde beeldcoders:
Afbeeldingencoder | Origineel SAM | MobileSAM |
---|---|---|
Parameters | 611M | 5M |
Snelheid | 452 ms | 8 ms |
Zowel de originele SAM als MobileSAM maken gebruik van dezelfde promptgestuurde maskerdecoder:
Masker Decoder | Origineel SAM | MobileSAM |
---|---|---|
Parameters | 3.876M | 3.876M |
Snelheid | 4 ms | 4 ms |
Hier is de vergelijking van de hele pijplijn:
Hele pijplijn (Enc+Dec) | Origineel SAM | MobileSAM |
---|---|---|
Parameters | 615M | 9.66M |
Snelheid | 456 ms | 12 ms |
De prestaties van MobileSAM en het originele SAM worden gedemonstreerd met zowel een punt als een doos als aanwijzingen.
Met zijn superieure prestaties is MobileSAM ongeveer 5 keer kleiner en 7 keer sneller dan het huidige FastSAM. Meer details zijn beschikbaar op de MobileSAM projectpagina.
Test MobileSAM in Ultralytics
Net als de originele SAM bieden we een eenvoudige testmethode in Ultralytics, inclusief modi voor zowel punt- als boxvragen.
Model downloaden
Je kunt het model hier downloaden.
Punt Prompt
Voorbeeld
Tekstvak
Voorbeeld
We hebben MobileSAM
en SAM
met behulp van dezelfde API. Zie voor meer gebruiksinformatie de SAM pagina.
Citaten en Erkenningen
Als je MobileSAM nuttig vindt in je onderzoek of ontwikkelingswerk, overweeg dan om ons artikel te citeren:
Aangemaakt 2023-11-12, Bijgewerkt 2024-04-17
Auteurs: glenn-jocher (8), ChaoningZhang (1), Laughing-q (1)