FCN语义分割训练自己的数据(依据VOC2012数据集格式)

本文介绍了如何使用FCN训练自己的数据集,参照VOC2012数据集的格式,包括数据制作流程、颜色填充、数据集整合以及训练过程。通过labelme软件进行标注,转换成所需格式,并分享了相关的代码片段。
摘要由CSDN通过智能技术生成

chapter 4 应用FCN训练自己的数据(以voc2012为模板)

step0.参考数据集需求

可用于FCN的完全VOC格式的数据组织结构模式:

训练集和验证集可以按照8-2的方式进行安排。

VOC2012数据集共包含21个类别,其中包括背景类,则共包含20类事物。

step1.制作自己的数据

应用一个简化的方法,并不把像素级的labels做成.mat的形式,反倒是借助于索引图的格式,直接在载入图片的时候把颜色值作为标签载入,并把制作好的索引图当成labels。

制作过程:

制作自己的FCN数据流程:

  1. 应用labelme软件(安装使用过程参见安装文档)对图像数据进行标注,标注完毕后会生成.json文件。
  2. 针对.json文件,在终端输入指令:labelme_json_to_dataset 路径/文件名.json   即可生成dataset文件夹。
  3. 为文件夹下的label.png(目前开起来是全黑色)进行分配颜色(若类别数没有超过21类,则该步骤不需要操作)。
  4. 应用python的skimage库进行颜色填充,得到24位的着色后的RGB三通道图像,重命名为2018_000001.png(label)。
  5. //(已注释掉20190704)应用matlab将着色后的label(src/2018_000001.png)图像转为8位灰度图像,即可用label(dst/2018_000001.png)。
  6. (订正第5条20190704)应用matlab将着色后的label(src/2018_000001.png)RGB三通道图像转为8位彩色索引图像,即可用label(dst/2018_000001.png)。

a.jpg ---> a.json ---> a_json(dataset文件夹,其中包括:img.png(原图), label.png(标签图), label_viz.png(标签可视化后的图像), label_names.txt, info.yaml) ---> src/2018_000001.png(24) ---> dst/2018_000001.png(8)

小工具:制作mask语义级标签的工具labelme,开源代码链接为:https://github.com/wkentaro/labelme

(关于标注标签的拓展,https://blog.csdn.net/chaipp0607/article/details/79036312另附一个bounding box的工具,开源代码链接为:https://github.com/tzutalin/labelImg

由于标注工作需要专家来进行标注,所以label最好是在window上能进行安装,并给非计算机领域的专家来使用,具体安装和使用说明可以参考如下代码,如需详细安装过程,可在下方留言或者私信。

conda create --name=labelme python=3.6
conda activate labelme
pip install pyqt5
conda install pillow=4.0.0
pip install labelme

首先,颜色填充代码如下,colorlabel.py文件可以在此处下载:https://github.com/hitzoro/FCN-ColorLabel

import colorlabel
import PIL.Image
import os
import numpy as np
from skimage import io,data,color

rootdir = 'D:/temppic/piczhongyaohuichuan/005zzy/'
dstpath = 'D:/temppic/piczhongyaohuichuan/005zzy/label24'
list = os.listdir(rootdir)
count = 114
for i in range(0,len(list)):
    path = os.path.join(rootdir,list[i])
    if(os.path.isdir(path) and 'json' in path):
        img = PIL.Image.open(
评论 43
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值