使用labelme构建自己的语义分割数据集并训练的过程

主要根据本视频进行总结(非常不错的视频,推荐!)
https://www.bilibili.com/video/av75562599?p=9

在这之前,最好将自己所有的图片resize为416*416

1. 进行语义分割数据集的标注(体力活)

(1)下载语义标注的软件labelme,需要在命令行中激活环境(如activate tensorflow-gpu)后

activate tensorflow-gpu
pip install labelme

即可安装标注工具labelme,使用时激活环境后在命令行输入labelme回车即可:

activate tensorflow-gpu
labelme

(2)选择左侧打开文件夹:
在这里插入图片描述
选择装有需要标注的图片的文件夹/make_dataset/before。
然后一张一张进行标注(标注开始时点击左侧的create polygons,若需要调整则点击edit polygons,标注完一张后点击save,就会保存为一个json文件),注意保存于/make_dataset/before文件夹中。

2. 文件操作

(3)这样,/make_dataset/before文件夹中就会存有所有的图片以及标注后产生的json文件。这时候再在这个文件夹中建立一个txt文件:class_name.txt,文件中包含了所有的类名:
在这里插入图片描述
(4)这时候运行json_to_dataset.py,结果是/make_dataset/output中会出现每一张照片对应的文件夹。
在这里插入图片描述
(5)再运行get_jpg_and_png.py,会得到png文件夹中一堆标注好的标签。
在这里插入图片描述
(6)运行get_train_txt.py,会发现文件夹中出现了train_data.txt文件。

(7)将标注图片全部复制到dataset2/jpg文件夹中,将所有标注标签全部复制到dataset2/png文件夹中。

(8)将之前生成的train_data.txt文件复制到dataset2目录下,改名为train.txt

3. 训练

(9)运行train.py,要注意图片的宽和高要改为自己的(注意,如果为了更省事的话,直接把自己所有的图片resize成416*416即可)

(10)运行predict.py,生成预测图片,注意里面的路径输入自己想要 预测图片的路径即可。

使用Labelme训练自己的语义分割流程主要分为数据准备、标注数据、生成标签和模型训练四个步骤。 第一步是数据准备。首先,需要准备一批包含目标物体的图像,并将这些图像存储在一个文件夹中。同时,还需要为每个图像创建一个对应的.xml文件,用于存储目标物体的标签和坐标信息。 第二步是标注数据。使用Labelme工具可以打开每个图像,并手动标注目标物体的边界。Labelme提供了一个用户友好的界面,可以通过鼠标绘制边界线条,完成目标物体的标注。在完成标注后,可以将每个图像及其对应的标注文件保存。 第三步是生成标签。使用Labelme提供的功能,可以将标注文件(.xml)转换为语义分割所需的标签文件(.json)。这一步是非常重要的,因为模型训练需要使用到标签文件来获取训练样本和对应的标签信息。 第四步是模型训练使用生成的标签文件和图像数据,可以选择合适的语义分割模型进行训练。常用的语义分割模型包括U-Net、DeepLab和Mask R-CNN等。在训练过程中,通常需要将数据集分为训练集和验证集,并设置合适的训练参数,如学习率、批大小和训练周期等。通过迭代训练,模型可以逐渐优化,最终得到一个高性能的语义分割模型。 通过以上四个步骤的操作,就可以使用Labelme训练自己的语义分割模型了。值得注意的是,训练语义分割模型需要一定的计算资源和时间,同时也需要一定的训练数据量来获得准确的分割结果。因此,在使用Labelme进行训练之前,需要确保有足够的计算资源和合适的数据集
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值