Zum Inhalt springen

MobileSAM Logo

Mobiles Segment Irgendwas (MobileSAM)

Das MobileSAM Papier ist jetzt auf arXiv verfügbar.

Eine Demonstration von MobileSAM , die auf einer CPU läuft, findest du unter diesem Demo-Link. Die Leistung auf einer Mac i5 CPU beträgt etwa 3 Sekunden. Auf der Hugging Face Demo tragen die Schnittstelle und die leistungsschwächeren CPUs zu einer langsameren Reaktion bei, aber sie funktioniert weiterhin effektiv.

MobileSAM wird in verschiedenen Projekten eingesetzt, darunter Grounding-SAM, AnyLabeling und Segment Anything in 3D.

MobileSAM wurde mit einem 100k-Datensatz (1 % der Originalbilder) in weniger als einem Tag auf einem einzigen Grafikprozessor trainiert. Der Code für dieses Training wird in Zukunft zur Verfügung gestellt werden.

Verfügbare Modelle, unterstützte Aufgaben und Betriebsmodi

Diese Tabelle zeigt die verfügbaren Modelle mit ihren spezifischen vortrainierten Gewichten, die Aufgaben, die sie unterstützen, und ihre Kompatibilität mit verschiedenen Betriebsmodi wie Inferenz, Validierung, Training und Export, gekennzeichnet durch ✅ Emojis für unterstützte Modi und ❌ Emojis für nicht unterstützte Modi.

Modell Typ Vortrainierte Gewichte Unterstützte Aufgaben Inferenz Validierung Ausbildung exportieren
MobileSAM mobile_sam.pt Instanz-Segmentierung

Anpassen von SAM an MobileSAM

Da MobileSAM dieselbe Pipeline wie das Original SAM verwendet, haben wir das Pre-Processing, Post-Processing und alle anderen Schnittstellen des Originals übernommen. Daher können diejenigen, die derzeit das Original SAM verwenden, mit minimalem Aufwand auf MobileSAM umsteigen.

MobileSAM ist vergleichbar mit dem Original SAM und behält dieselbe Pipeline bei, bis auf eine Änderung des Bild-Encoders. Genauer gesagt, ersetzen wir den schwergewichtigen ViT-H Encoder (632M) durch einen kleineren Tiny-ViT (5M). Auf einer einzelnen GPU benötigt MobileSAM etwa 12 ms pro Bild: 8 ms für den Bildkodierer und 4 ms für den Maskendekodierer.

Die folgende Tabelle enthält einen Vergleich der ViT-basierten Bildkodierer:

Image Encoder Original SAM MobileSAM
Parameter 611M 5M
Geschwindigkeit 452ms 8ms

Sowohl das Original SAM als auch MobileSAM verwenden denselben prompt-guided mask decoder:

Maske Decoder Original SAM MobileSAM
Parameter 3.876M 3.876M
Geschwindigkeit 4ms 4ms

Hier ist der Vergleich der gesamten Pipeline:

Gesamte Pipeline (Enc+Dec) Original SAM MobileSAM
Parameter 615M 9.66M
Geschwindigkeit 456ms 12ms

Die Leistung von MobileSAM und dem Original SAM wird anhand eines Punktes und eines Kastens als Aufforderung demonstriert.

Bild mit Punkt als Aufforderung

Bild mit Box als Aufforderung

Mit seiner überlegenen Leistung ist MobileSAM etwa 5 Mal kleiner und 7 Mal schneller als das aktuelle FastSAM. Weitere Details findest du auf der ProjektseiteMobileSAM .

Testen MobileSAM in Ultralytics

Genau wie das Original SAM bieten wir auf Ultralytics eine unkomplizierte Testmethode an, die Modi für Punkt- und Kastenaufforderungen beinhaltet.

Modell Download

Du kannst das Modell hier herunterladen.

Punkt Aufforderung

Beispiel

from ultralytics import SAM

# Load the model
model = SAM('mobile_sam.pt')

# Predict a segment based on a point prompt
model.predict('ultralytics/assets/zidane.jpg', points=[900, 370], labels=[1])

Box Aufforderung

Beispiel

from ultralytics import SAM

# Load the model
model = SAM('mobile_sam.pt')

# Predict a segment based on a box prompt
model.predict('ultralytics/assets/zidane.jpg', bboxes=[439, 437, 524, 709])

Wir haben implementiert MobileSAM und SAM über dieselbe API. Weitere Informationen zur Nutzung findest du in der SAM Seite.

Zitate und Danksagungen

Wenn du MobileSAM für deine Forschungs- oder Entwicklungsarbeit nützlich findest, solltest du unser Papier zitieren:

@article{mobile_sam,
  title={Faster Segment Anything: Towards Lightweight SAM for Mobile Applications},
  author={Zhang, Chaoning and Han, Dongshen and Qiao, Yu and Kim, Jung Uk and Bae, Sung Ho and Lee, Seungkyu and Hong, Choong Seon},
  journal={arXiv preprint arXiv:2306.14289},
  year={2023}
}


Erstellt 2023-11-12, Aktualisiert 2024-04-17
Autoren: glenn-jocher (8), ChaoningZhang (1), Laughing-q (1)

Kommentare