andycao1860 发表于 2022-10-23 08:52:34

语义分割

由于后续会做无人机遥感分割、加上朋友之前提过要做苹果识别、以及师兄这几天做谷粒分割,都需要自己领域的数据标记。但语义分割一个个轮廓点标记,想想就头大,必先利其器!就挑选并测试了2.5个开源的半自动化语义分割标注工具:三星的RITM、百度飞桨分割中的EISeg以及Opencv组织的CVAT。



RITM Demo

测试结果: 整体来说EISeg最优,其次RITM,CVAT搞了半天没搞明白。。最后嫌麻烦没测试半自动标记。不得不说,百度这个工具做的不错,而且还开源,名族之光 。
我的设备有一个RTX2070显卡+64GB内存,使用总结如下:

[*] 运行RITM仍然不太流畅(即使用最轻量的辅助模型),而且界面做的很粗糙,标记感受不太好。
[*] EISeg(基于RITM改进的)运行起来很流畅,界面还行,功能该有的都有,还能自动栅格化大尺寸图象,也能自动保存,用起来很舒服。
[*] CVAT必须要用docker部署,而且想用半自动还得下载nuclio、Nvidia Container Toolkit这些,我之前用OpenDroneMap做无人机拼图的时候就对docker感觉不好,很不稳定常出bug、内存占用大;所以简单配置部署CVAT后,就没再去加入自动化了(关键是好麻烦,看着就不想用)
具体来说:
一、RITM
安装较为简单(需要pytorch支持),去官方gihub上下载项目zip、预训练的models,再按照语句运行即可。
RITM基于TKinter开发的一个小界面,虽然运行不流畅,但功能也很精简。只有加载图像、点击添加目标正负点(+自动掩膜生成)、完成目标和保存掩膜这些。没有内置快捷键,导致实际使用标记效率较低。(而且好像只能生成掩膜??看来作者开发这界面也就是论文的demo,没准备用于实际)



RITM 界面

简单测试了下,上图的豹子掩膜效果还不错,下图的水稻较为复杂,稀疏部分难以细分,不过也够了。


二、EISeg
安装更为简单(需要paddlepaddle安装支持),直接pip install eiseg再输入eiseg即可。



EISeg Demo

这是百度飞桨PaddleSeg中的交互式分割标注软件,界面更流畅,是基于pyqt5开发的。软件右侧基本和RITM差不多,增添了类别标签列表,很方便。



EISeg 界面

软件左上有不少功能框,有三个亮点:
1. 文件里面能按照文件夹加载就很方便,也会默认加载上次的记录。
2. 功能里面可以保存coco标签了,甚善,而且还能保存扣出的前景图,很不错。
3. 显示里面有一个宫格标注,把大尺寸图像划分成小块,一个块一个块标记,最后拼起来,这功能也很有用。无人机遥感图一般起步好几千的像素长宽(拼接正射影像更大),需要放大才好标记小目标。而且拼起来有助于后续随机采样用。(加载了27k*18k的tiff尝试,都可以!)



软件功能栏-文件,-功能

然后发现还支持多波段和遥感,tiff多光谱有法子了,nice!nice!



功能栏-显示

试了试师兄的籽粒分割,把粘连的作为多类(之后再合并),比如一次粘连,二次粘连,有奇效。



粘连籽粒多类分割

总的来说,EISeg用起来很舒服,场景也多样,相见恨晚啊!
三、CVAT
跟前两个比起来,CVAT的安装着实有点劝退。好在之前有用过docker,但是想用半自动标记还得搞一堆操作,就没去尝试了。还是EISeg人性化。



基础安装



自动化需要



各种安装



想用GPU还要额外安装。。。

试着试用了一下普通版,跟labelme这些比,也没有很特别的优势



CVAT 界面

但CVAT在github上的星号,却很多,有点不解。看视频Demo倒也还行,就是整体的安装和稳定性,嗯...
最后总的来说,批量标记语义分割数据的话,选EISeg就完了,性能好,也算是支持国产了。

zorapoon 发表于 2022-10-23 08:59:49

用eiseg标注生成的json文件好像和labelme标注生成的json文件不一样,请问怎样转换可以训练
页: [1]
查看完整版本: 语义分割