【语义分割小白教程】手把手教你训练自己的数据集(基于轻量级的FCN-DenseNet)

0. 任务描述:

正好这几天有时间,就写一下一个小白教程,用来教大家如何用一个轻量级的 FCN-DenseNet 训练自己的数据集,我们以分割魔方为例:

在这里插入图片描述

1. 标注数据:

1.1 Labelme 的安装:

语义分割标注我们使用 labelme,它是一个图形界面的图像标注软件,是用 PyQt5 编写的图形界面。

安装方式:

pip3 install labelme --user

报错:
在这里插入图片描述
我们换清华源试一下:

pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple -U labelme --user --default-time=1000 --user

解决:
在这里插入图片描述

1.2 Labelme 的使用:

在终端输入 labelme:
在这里插入图片描述
打开界面如图:
在这里插入图片描述
点击OpenDir选择需要标注的图片的路径:
在这里插入图片描述
在这里插入图片描述
点击标注按键开始标注:
在这里插入图片描述
在这里插入图片描述
闭合标注区域后,填入标签:
在这里插入图片描述
点击Save保存:
在这里插入图片描述
在这里插入图片描述
另一张也如法炮制:
在这里插入图片描述
最后得到两个标注的json文件:
在这里插入图片描述

扫描二维码关注公众号,回复: 11068114 查看本文章

1.3 转换标注格式:

这一步我们需要把 json 文件转换成 VOC 格式的颜色掩码图,像这样:
在这里插入图片描述

我们只需要在终端输入:

labelme_json_to_dataset <文件名>.json

即:
在这里插入图片描述

就可以看到在该目录下,生成了相应的文件:

在这里插入图片描述
在这里插入图片描述
对于 1.json 也同样操作;

最终我们只需要保留两种标注的掩码图(注意需要改成跟原图相同的图片名):
在这里插入图片描述

2. 数据的目录结构:

我们需要安排一下图片和标注的文件目录;

首先新建一个 Data 文件夹:
在这里插入图片描述
里面创建 2 个文件夹:

在这里插入图片描述

train/images 文件夹放训练原图:
在这里插入图片描述
train/masks 放训练标注图:

在这里插入图片描述
同样那个 val 下面的 images 和 masks 分别放测试原图和测试标注图;

3. 下载源码:

源码地址(记得给一个Star哦~):
https://github.com/Sharpiless/FCN-DenseNet

在这里插入图片描述
下载完成后解压:

在这里插入图片描述
在这里插入图片描述

4. 下载预训练模型:

预训练模型地址:
http://download.pytorch.org/models/densenet121-a639ec97.pth

下载完成后放到源码目录下:

在这里插入图片描述

5. 安装 pytorch:

Linux 安装比较容易,这里就着重讲一下怎么在 Windows 下安装吧;

(我的是 python3.7,其他的版本同理)

到这个网站:
https://www.lfd.uci.edu/~gohlke/pythonlibs/

找到对应的 torch 版本下载:
在这里插入图片描述

下载完成后,在相应目录下 shift+右键 选择打开 Windows Powershell:

在这里插入图片描述
输入:

pip3 install torch‑1.0.1‑cp37‑cp37m‑win_amd64.whl --user

然后再:

pip3 install torchvision --user

如果还有报错 ‘No modul named ***’,也是直接用:

pip3 install *** --user

6. 运行训练:

在编辑器(我用的 VSCode)打开 FCN-DenseNet:
在这里插入图片描述
运行 train.py 即可开始训练:
在这里插入图片描述

下面是训练的参数,都有注释说明,需要改的话在 default 里面改就 ok:

在这里插入图片描述训练时的模型参数保存在这里:
在这里插入图片描述
在这里插入图片描述

7. 测试图片:

运行 test.py 即可:
在这里插入图片描述
会在目录下生成一个 output 文件夹,里面是测试集的分割结果(这里是因为我只有两张图片做例子,所以测试集跟训练集是一样的):

在这里插入图片描述
大功告成!

发布了115 篇原创文章 · 获赞 198 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/weixin_44936889/article/details/105526596