缘起
分割万物(segment-anything model, SAM, 万分), 是图像分割领域的革命, 图像分割从此进入大模型时代. 如何自定义这个大模型以为己用? 或者说, 通过精调
取长补短用于自己的项目?这是一个值得研究的问题, 在这里我试着探索一下, 万分
在医学影像学里面的脊柱分割
的应用.
解读万分
笔记本初探 - 全分和预分
万分官方的gt上面, 给出了3个笔记本示例, 我们来看这2个: 全分automatic_mask_generator_example 和预分predictor_example.
全分示例:
全分很简单, 就是对全图点阵采样, 分割生罩.
mask_generator = SamAutomaticMaskGenerator(sam) # 调用
masks = mask_generator.generate(image) # 生成
在这里插入图片描述
很简单的2句, 就可以完成万分
.
返回: 所有物体的罩的字典包括:
segmentation
: 罩
area
: 面积(以像素为单位)
bbox
: 覆框(XYWH)
predicted_iou
: 和模型本身的交并比(质量预测)
point_coords
: 采点坐标
stability_score
: 稳定分
crop_box
: 裁框
masks[3]
{'segmentation': array([[False, False, False, ..., False, False, False],
[False, False, False, ..., False, False, False],
[False, False, False, ..., False, False, False],
...,
[False, False, False, ..., False, False, False],
[False, False, False, ..., False, False, False],
[False, False, False, ..., False, False, False]]),
'area': 1415,
'bbox': [280.0, 39.0, 38.0, 47.0],
'predicted_iou': 0.9696633815765381,
'point_coords': [[312.0, 56.0]],
'stability_score': 0.9679219126701355,
'crop_box': [0, 0, 512, 512]}
精调之一: 显示
虽然原始的笔记本里面已经提供了显示函数show_anns
, 可显示不理想:
借用supervision获取了很漂亮的效果:
这个🦖识万分做的更漂亮:
以上
待续…