【语义分割】——标注工具测试/对比

1. labelme

项目地址:https://github.com/wkentaro/labelme

1.1 安装

采用conda环境的安装方式。

conda install labelme -c conda-forge

1.2 测试

这里使用的是ADE20K验证集的图片数据做的测试。同时我们用matplotlib画出目标分割图进行可视化显示一下。
【语义分割】——标注工具测试/对比_第1张图片
【语义分割】——标注工具测试/对比_第2张图片

  • 通过多边形的点来进行分割标注
  • 从标注文件可以看出,ADE数据标注非常细腻。图片中标志牌,路灯,这些好的东西都标注出来了。不知道从哪里看到的:标注一张语义分割图片需要1.5个小时。

1.3 other

  • json文件如何转换成label png文件
    语义分割的label文件一般是灰度的png文件,每种类别用一个数字表示,比如有150个类别,就是0-150。0表示背景。在网络的输出中只有150个输出,target为0的区域不进行监督学习。

  • 用$labelme_project/labelme/cli/json_to_dataset.py增加语义分割label图片的输出

PIL.Image.fromarray(img).save(osp.join(out_dir, "img.png"))
utils.lblsave(osp.join(out_dir, "label.png"), lbl)
lbl_pil = PIL.Image.fromarray(lbl.astype(np.uint8))             # 添加语义分割label图片的类别
lbl_pil.save(osp.join(out_dir, "label1.png"))
PIL.Image.fromarray(lbl_viz).save(osp.join(out_dir, "label_viz.png"))
  • 可视化。直接看图片是一片黑,无法分辨。可以用matplotlib显示出来。

【语义分割】——标注工具测试/对比_第3张图片

【语义分割】——标注工具测试/对比_第4张图片
【语义分割】——标注工具测试/对比_第5张图片

  • 暂时只支持单张转换(标签统计是在一张内),多张需要自己写脚本。

1.4 优势/不足

  • 优势

    • 用点进行标注
    • 对没有标注的区域自动赋值为0
  • 不足

    • 还是需要对每一块都标注
    • 没有一些辅助标注/半自动化标注的方式

2. PixelAnnotationTool

【语义分割】——标注工具测试/对比_第6张图片
【语义分割】——标注工具测试/对比_第7张图片

地址: https://github.com/abreheret/PixelAnnotationTool/releases

特点

  • 采用分水岭算法进行辅助标注
  • 标签、颜色的设置设置

不足

  • 图片有个灰色的掩膜,看不太清楚
  • 分水岭分割之后,不好调整
  • label是带颜色的png图片,还需要自己转换一下

你可能感兴趣的:(语义分割,语义分割,labelme)