vietanhdev/samexporter

Export and run SAM, MobileSAM, EfficientSAM, SAM 2/2.1, and SAM 3 as ONNX for portable image segmentation

解決する課題

SAMExporter は、ONNX Runtime で各種 Segment Anything Model (SAM) バリアントをエクスポートして実行する方法を提供します。これにより、これらの複雑なビジョンモデルを、元の PyTorch 環境を必要とせずに、異なるハードウェアアクセラレータ間でよりポータブルかつ効率的にデプロイできるようになります。

仕組み

このツールは、元の SAM, MobileSAM, EfficientSAM, SAM 2, SAM 3 を含む複数の SAM ファミリーからの PyTorch チェックポイントを ONNX 形式に変換します。通常、パフォーマンスを最適化するために、モデルを個別の画像エンコーダーとデコーダーに分割します。SAM 3 では、テキスト駆動のセグメンテーションをサポートするために言語エンコーダーもエクスポートします。エクスポート後、提供されている推論スクリプトを使用してモデルを実行できます。このスクリプトは、さまざまなプロンプトタイプ(ポイント、矩形、テキスト)をサポートし、多数の ONNX Runtime 実行プロバイダー(TensorRT, OpenVINO, CUDA など)と統合されています。

対象者

SAM モデルを本番環境にデプロイする必要がある開発者や研究者、特に PyTorch が適さない CPU 専用デバイスや特殊な AI アクセラレータをターゲットにしている方向けに設計されています。

ハイライト

  • 幅広いモデルサポート: SAM (ViT-B/L/H), MobileSAM, EfficientSAM, SAM 2/2.1, SAM 3 と互換性があります。
  • マルチモーダルプロンプト: すべてのモデルでポイントと矩形のプロンプトをサポートしており、SAM 3 ではオープンボキャブラリーのテキスト駆動セグメンテーションが追加されています。
  • ハードウェアの柔軟性: TensorRT, OpenVINO, DirectML, CoreML を含む幅広い ONNX Runtime バックエンドと統合されています。
  • デプロイメントの最適化: モデルサイズとメモリ使用量を削減するための量子化オプションを提供し、インタラクティブなアプリケーション向けに画像埋め込みのキャッシュをサポートします。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト