简体中文 | English
基于C#语言,ONNX格式Segment Anything推理程序。
虽然官方提供了预训练模型,和推理代码,但预训练模型只有pytorch格式的,且推理代码只提供了基于Pytorch框架的Python代码。
本项目包含两部分:
1.将官方发布的预训练模型,拆分成编码器和解码器,并分别保存为ONNX格式。
2.使用C#语言加载模型,进行推理,并用WPF进行交互和显示。
-
拉取源码
-
MSBuild 构建生成
-
将以下文件放到exe目录下
- decoder-quant.onnx
- encoder-quant.onnx
- textual.onnx
- visual.onnx
-
运行程序
效果演示:
点Promot:展开Point栏,点击AddPoint后,鼠标点击左侧图像选择点。Add Mask表示正向点,Remove Mask表示负向点。
Box Promot: 展开Box栏,点击AddBox后,鼠标点击左侧图像选择起始点,易懂鼠标改变Box大小。
AutoSeg:自动分割,展everythin栏,设置阈值,根据points_per_side值在图像上均匀选择候选点,每个点都作为promot,然后根据阈值对结果后处理。
Text Promot:展开text栏,先自动分割,然后借助CLIP计算自动分割的crop图像和text的相似度。
由于Github不支持上传超过25M的文件,所以ONNX模型文件不能上传,如有需要请关注下面微信公众号,后台回复【SAM】