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 系列的 PyTorch 檢查點(包含原始的 SAM, MobileSAM, EfficientSAM, SAM 2 和 SAM 3)轉換為 ONNX 格式。它通常會將模型拆分為獨立的影像編碼器和解碼器以優化效能。對於 SAM 3,它還會匯出一個語言編碼器以支援文字驅動的分割。匯出後,可以使用提供的推論腳本來執行模型,該腳本支援多種提示類型(點、矩形和文字),並能與眾多 ONNX Runtime 執行提供者(例如 TensorRT, OpenVINO 和 CUDA)整合。
適用對象
它專為需要將 SAM 模型部署到生產環境中的開發人員和研究人員設計,特別是針對純 CPU 裝置或 PyTorch 並非理想選擇的專用 AI 加速器。
亮點
- 廣泛的模型支援:相容於 SAM (ViT-B/L/H), MobileSAM, EfficientSAM, SAM 2/2.1 和 SAM 3。
- 多模態提示:支援所有模型的點和矩形提示,其中 SAM 3 新增了開放詞彙的文字驅動分割。
- 硬體靈活性:與多種 ONNX Runtime 後端整合,包含 TensorRT, OpenVINO, DirectML 和 CoreML。
- 部署最佳化:提供量化選項以減少模型大小和記憶體使用量,並支援快取影像嵌入以用於互動式應用程式。
相關
- 專案
- 專案
- 專案
- 專案