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.
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
Box Aufforderung
Beispiel
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:
Erstellt 2023-11-12, Aktualisiert 2024-04-17
Autoren: glenn-jocher (8), ChaoningZhang (1), Laughing-q (1)