This commit is contained in:
yatenglg 2023-04-20 00:18:42 +08:00
parent cd1e24af92
commit a4e26a71a6
2 changed files with 14 additions and 11 deletions

View File

@ -1,17 +1,19 @@
# ISAT with segment anything # ISAT with segment anything
# ISAT 图像分割标注工具(集成segment anything) # ISAT 图像分割标注工具(集成segment anything)
集成[segment anything](),实现图片分割快速标注。 集成[segment anything](https://github.com/facebookresearch/segment-anything),实现图片分割快速标注。
## 特点 ## 特点
1. segment anything简化标注过程 1. 集成segment anything快速进行图像分割标注
通过鼠标左右键提示感兴趣区域调用segment anything自动计算分割掩码。不必再手动进行目标轮廓选取。 - 通过鼠标左右键提示感兴趣区域调用segment anything自动计算分割掩码。不必再手动进行目标轮廓选取。
- 自动生成的掩码转换为多边形,进行手动调整。
2. 便捷地修改标注结果 2. 手动绘制多边形进行精细标注
segment anything只是协助生成目标掩码最终标注以多边形呈现通过拖拽多边形顶点可快速修改标注区域。
- 保留了ISAT手动绘制多边形进行标注的功能可满足Segment anything无法分割目标的标注。
- 手动标注较自动标注更加精确,但工作量也更大。
## 安装 ## 安装
### 1. 源码运行 ### 1. 源码运行
```shell ```shell
@ -55,11 +57,13 @@ python main.py
## 标注操作 ## 标注操作
1. 通过鼠标左键(或右键)提示感兴趣区域(或不感兴趣区域),自动形成目标分割掩码 1. 通过鼠标左键(或右键)提示感兴趣区域(或不感兴趣区域),自动形成目标分割掩码
2. 可通过多次左右键提示,提升掩码质量 2. 可通过多次左右键提示,提升掩码质量
3. E键结束标注选择类别得到多边形标注区域 3. E键结束标注选择类别得到多边形标注区域
4. 拖拽多边形顶点,精细化调整标注 4. 拖拽多边形顶点,精细化调整标注
## 注意事项 ## 注意事项
1. 自动分割效果受segment anything模型分割效果限制如需更为精确的分割效果可通过手动绘制多边形实现。 1. 自动分割效果受segment anything模型分割效果限制如需更为精确的分割效果可通过手动绘制多边形实现。
2. 如只需要使用手动绘制多边形标注,推荐使用[ISAT](https://github.com/yatengLG/ISAT)。 2. 如只需要使用手动绘制多边形标注,推荐使用[ISAT](https://github.com/yatengLG/ISAT)。
3. 如果没有GPU不建议使用ISAT_with_segment_anything载入图片花费时间较长。
4. 如果GPU显存较小建议使用sam_vit_b_01ec64模型。

View File

@ -66,7 +66,6 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
self.statusbar.showMessage('Find the checkpoint named {}.'.format('sam_vit_b_01ec64.pth')) self.statusbar.showMessage('Find the checkpoint named {}.'.format('sam_vit_b_01ec64.pth'))
self.segany = SegAny('./segment_any/sam_vit_b_01ec64.pth') self.segany = SegAny('./segment_any/sam_vit_b_01ec64.pth')
self.use_segment_anything = True self.use_segment_anything = True
self.statusbar.showMessage()
else: else:
QtWidgets.QMessageBox.warning(self, 'Warning', 'The checkpoint of [Segment anything] not existed. If you want use quick annotate, please download from {}'.format('https://github.com/facebookresearch/segment-anything#model-checkpoints')) QtWidgets.QMessageBox.warning(self, 'Warning', 'The checkpoint of [Segment anything] not existed. If you want use quick annotate, please download from {}'.format('https://github.com/facebookresearch/segment-anything#model-checkpoints'))
self.use_segment_anything = False self.use_segment_anything = False