1.下载项目
项目1:
项目2:
git clone https://github.com/zhouayi/SAM-Tool.git
git clone https://github.com/facebookresearch/segment-anything.git
cd segment-anything
pip install -e .
下载SAM模型:
2.把数据放置在//*这样的路径中,并创建空文件夹/ 3.将项目1中的文件夹复制到项目2的主目录下 3.1 运行.py文件来提取图片的
# cd到项目2的主目录下
python helpersextract_embeddings.py --checkpoint-path sam_vit_h_4b8939.pth --dataset-folder <dataset_path> --device cpu
运行完毕后,/下会生成相应的npy文件
3.2 运行.py将pth文件转换为onnx模型文件
# cd到项目2的主目录下
python helpersgenerate_onnx.py --checkpoint-path sam_vit_h_4b8939.pth --onnx-model-path ./sam_onnx.onnx --orig-im-size 1080 1920
【注意:提供给的代码转换得到的onnx模型并不支持动态输入大小,所以如果你的数据集中图片尺寸不一,那么可选方案是以不同的orig-im-size参数导出不同的onnx模型供后续使用】
这里可能会报错: ONNX opset : 15,原因是因为或者onnx版本太低了,解决方法是安装更高版本的和onnx,可供参考,我的环境是
onnx == 1.13.1
== 1.14.1
torch == 1.13.1
== 0.13.1
==0.14.1
我同样也尝试了另一种方法:将opset-数值设低一点,但是会报其他的错误
4.将生成的.onnx模型复制到项目1的主目录下,运行.py进行标注
# cd到项目1的主目录下
python segment_anything_annotator.py --onnx-model-path sam_onnx.onnx --dataset-path <dataset_path> --categories cat,dog
在对象位置处点击鼠标左键为增加掩码,点击右键为去掉该位置掩码。
其他使用快捷键有:
Esc:退出appa:前一张图片d:下一张图片
k:调低透明度
l:调高透明度
n:添加对象
r:重置
Ctrl+s:保存
Ctrl+z:撤销上一个对象
最后生成的标注文件为coco格式,保存在/.json。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
暂无评论...