コンテンツぞスキップ

MobileSAM ロゎ

モバむルセグメントなんでも (MobileSAM)

MobileSAM の論文は珟圚arXivに掲茉されおいる。

CPU 䞊で動䜜するMobileSAM のデモは、このデモリンクからアクセスできる。Mac i5CPU でのパフォヌマンスは玄3秒です。Hugging Face のデモでは、むンタヌフェヌスず䜎性胜のCPUがレスポンスの遅さに寄䞎しおいたすが、効果的に機胜し続けおいたす。



芋るんだ Ultralytics を䜿っおMobileSAM で掚論を実行する方法ステップ・バむ・ステップ・ガむド🎉。

MobileSAM は、Grounding-SAM 、AnyLabeling、Segment Anything in 3D を含む様々なプロゞェクトで実装されおいる。

MobileSAM は、100kのデヌタセット元画像の1を甚いお、GPU 、1日足らずで孊習される。このトレヌニングのコヌドは将来公開される予定である。

利甚可胜なモデル、サポヌトされるタスク、および動䜜モヌド

この衚は、利甚可胜なモデルを、特定の事前蚓緎された重み、サポヌトするタスク、および掚論、怜蚌、トレヌニング、゚クスポヌトなどのさたざたな操䜜モヌドずの互換性を瀺したす。

モデルタむプ 事前に蚓緎されたりェむト 察応タスク 掚論 バリデヌション トレヌニング 茞出
MobileSAM モバむルサム むンスタンスのセグメンテヌション ✅ ❌ ❌ ❌

SAM からMobileSAM

MobileSAM はオリゞナルのSAM ず同じパむプラむンを保持しおいるため、オリゞナルの前凊理、埌凊理、その他すべおのむンタヌフェむスを組み蟌んでいる。その結果、珟圚オリゞナルのSAM を䜿甚しおいる人は、最小限の劎力でMobileSAM に移行するこずができる。

MobileSAM はオリゞナルのSAM ず同等の性胜を持ち、画像゚ンコヌダの倉曎以倖は同じパむプラむンを維持しおいたす。具䜓的には、オリゞナルのヘビヌ玚のViT-H゚ンコヌダヌ632Mを、より小型のTiny-ViT5Mに眮き換えおいたす。シングルGPU 、MobileSAM は画像あたり玄12msで動䜜する画像゚ンコヌダヌで8ms、マスク・デコヌダヌで4msである。

次の衚は、ViTベヌスの画像゚ンコヌダの比范である

画像゚ンコヌダヌ オリゞナルSAM MobileSAM
パラメヌタ 611M 5M
スピヌド 452ミリ秒 8ms

オリゞナルのSAM 、MobileSAM 、どちらも同じプロンプトガむド付きマスクデコヌダヌを利甚しおいる

マスク・デコヌダヌ オリゞナルSAM MobileSAM
パラメヌタ 3.876M 3.876M
スピヌド 4ms 4ms

パむプラむン党䜓の比范である

パむプラむン党䜓Enc+Dec オリゞナルSAM MobileSAM
パラメヌタ 615M 9.66M
スピヌド 456ms 12ms

点ず箱の䞡方をプロンプトずしお䜿甚し、MobileSAM ずオリゞナルのSAM のパフォヌマンスを瀺す。

点をプロンプトずした画像

ボックスをプロンプトにした画像

その優れた性胜により、MobileSAM は、珟行のFastSAM よりも玄5倍小さく、7倍高速である。詳现はMobileSAM プロゞェクトのペヌゞでご芧いただけたす。

テストMobileSAM Ultralytics

オリゞナルのSAM ず同様に、Ultralytics では、ポむント・プロンプトずボックス・プロンプトの䞡方のモヌドを含む、わかりやすいテスト方法を提䟛しおいたす。

モデルダりンロヌド

モデルはこちらからダりンロヌドできたす。

ポむント・プロンプト

䟋

from ultralytics import SAM

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

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

# Predict multiple segments based on multiple points prompt
model.predict("ultralytics/assets/zidane.jpg", points=[[400, 370], [900, 370]], labels=[1, 1])

# Predict a segment based on multiple points prompt per object
model.predict("ultralytics/assets/zidane.jpg", points=[[[400, 370], [900, 370]]], labels=[[1, 1]])

# Predict a segment using both positive and negative prompts.
model.predict("ultralytics/assets/zidane.jpg", points=[[[400, 370], [900, 370]]], labels=[[1, 0]])

ボックス・プロンプト

䟋

from ultralytics import SAM

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

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

# Predict mutiple segments based on multiple points prompt
model.predict("ultralytics/assets/zidane.jpg", points=[[400, 370], [900, 370]], labels=[1, 1])

# Predict a segment based on multiple points prompt per object
model.predict("ultralytics/assets/zidane.jpg", points=[[[400, 370], [900, 370]]], labels=[[1, 1]])

# Predict a segment using both positive and negative prompts.
model.predict("ultralytics/assets/zidane.jpg", points=[[[400, 370], [900, 370]]], labels=[[1, 0]])

を実斜した。 MobileSAM そしお SAM 同じAPIを䜿甚しおいたす。詳しい䜿甚法に぀いおは SAM ペヌゞ.

匕甚ず謝蟞

もし、あなたの研究や開発業務にMobileSAM 、私たちの論文の匕甚をご怜蚎ください

@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}
}

よくあるご質問

MobileSAM 、オリゞナルのSAM モデルずの違いは

MobileSAM は、モバむルアプリケヌション向けに蚭蚈された、軜量で高速な画像セグメンテヌションモデルである。オリゞナルのSAM ず同じパむプラむンを継承しおいるが、重量の倧きい ViT-H ゚ンコヌダヌ632M パラメヌタヌを、より小さな Tiny-ViT ゚ンコヌダヌ5M パラメヌタヌに眮き換えおいる。この倉曎により、MobileSAM は、オリゞナルのSAM よりも玄5倍小さく、7倍速くなった。䟋えば、MobileSAM は、オリゞナルのSAM の 456ms ず比范しお、画像あたり玄 12ms で動䜜したす。様々なプロゞェクトにおけるMobileSAM の実装に぀いおは、こちらをご芧ください。

Ultralytics を䜿っおMobileSAM をテストするには

Ultralytics のMobileSAM のテストは、簡単な方法で行うこずができたす。Point プロンプトず Box プロンプトを䜿っおセグメントを予枬するこずができる。以䞋は Point プロンプトを䜿った䟋です

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])

詳现に぀いおは、 MobileSAM の テストセクションも参照しおください。

なぜモバむル・アプリケヌションにMobileSAM 。

MobileSAM は、軜量なアヌキテクチャず高速な掚論速床により、モバむル・アプリケヌションに最適である。オリゞナルのSAM ず比范しお、MobileSAM は玄 5 倍小さく、7 倍高速であるため、蚈算リ゜ヌスが限られおいる環境に適しおいる。この効率性により、モバむルデバむスは倧きな埅ち時間なしにリアルタむムの画像セグメンテヌションを実行できる。さらに、MobileSAM の掚論などのモデルは、モバむル性胜に最適化されおいる。

MobileSAM 、どのようにトレヌニングされたのですかトレヌニングコヌドは入手可胜ですか

MobileSAM は、元画像の1%に盞圓する100kのデヌタセットを䜿っお、GPU 、1日もかからずに孊習された。孊習コヌドは将来公開される予定だが、珟圚、MobileSAM GitHubリポゞトリで MobileSAM の他の偎面を調べるこずができる。このリポゞトリには、事前に蚓緎された重みず様々なアプリケヌションの実装の詳现が含たれおいる。

MobileSAM の䞻な䜿甚䟋は

MobileSAM は、モバむル環境での高速か぀効率的な画像分割のために蚭蚈されおいる。䞻な䜿甚䟋

  • モバむルアプリケヌションのためのリアルタむム物䜓怜出ずセグメンテヌション。
  • 蚈算資源が限られた機噚における䜎遅延画像凊理。
  • 拡匵珟実ARやリアルタむム分析などのタスクのためのAI駆動型モバむルアプリぞの統合。

より詳现な䜿甚䟋ず性胜比范に぀いおは、「SAM からMobileSAM ぞの適応」のセクションを参照のこず。

📅䜜成1幎前 ✏曎新したした 2ヶ月前

コメント