文章目录
- Segment Anything
- 1. 论文
- 2. 官方文档
- 3. 测试网站
- 4. 本地测试
- 4.1 下载预训练权重
- 4.2 新建get_masks.py
- 4.4 测试
Segment Anything
1. 论文
论文链接:https://arxiv.org/pdf/2304.02643.pdf
论文解读后续更新……
2. 官方文档
官方文档:https://ai.facebook.com/blog/segment-anything-foundation-model-image-segmentation/
项目地址:https://github.com/facebookresearch/segment-anything
3. 测试网站
demo地址:https://segment-anything.com/demo
我自己上传了一张图片,结果还是挺好的(我上传的图片比较简单)。
4. 本地测试
4.1 下载预训练权重
https://github.com/facebookresearch/segment-anything#model-checkpoints
4.2 新建get_masks.py
新建get_masks.py
内容如下:
from segment_anything import build_sam, SamPredictorimport numpy as npimport cv2image = cv2.imread('/home/scholar/ldw/segment-anything/images/01.jpg')image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)predictor = SamPredictor(build_sam(checkpoint="/data_1/ldw_checkpoints/segment-anything/sam_vit_l_0b3195.pth"))predictor.set_image(image)input_point = np.array([[500, 375]])input_label = np.array([1])masks, _, _ = predictor.predict(point_coords=input_point,point_labels=input_label,multimask_output=True,)print('Done')
由于自己的3090显存有限,无法使用build_sam_vit_hpth
,所以选用了build_sam_vit_l.pth
修改segment_anything/build_sam.py
build_sam = build_sam_vit_lsam_model_registry = {"default": build_sam_vit_l,"vit_h": build_sam,"vit_l": build_sam_vit_l,"vit_b": build_sam_vit_b,}
4.4 测试
# originpython scripts/amg.py --checkpoint <path/to/sam/checkpoint> --input <image_or_folder> --output <output_directory># minepython scripts/amg.py --checkpoint '/data_1/ldw_checkpoints/segment-anything/sam_vit_l_0b3195.pth' --input '/home/scholar/ldw/segment-anything/images/01.jpg' --output 'output'