语义分割网络Segnet在Cityscapes数据集上的探索
Part 1 数据准备
1.从Cityscapes官网下载Groundtruth: leftImg8bit_trainvaltest.zip与Label:gtFine_trainvaltest.zip(图1)

leftImg8bit:放置训练街景图,按城市分子文件夹,存放png图片(命名格式:城市名称_6位数字_6位数字_leftImg8bit.png)(图2)

gtFine:放置精细标注文件,分train(18个城市)/val(3个城市)/test(6个城市)三个文件夹,每个城市文件夹下针对每张街景图png文件对应了4个标注文件(图3):
- xxx_gtFine_color.png 代表可视化的分割图- xxx_gtFine_instanceIds.png 代表实例分割标注文件- xxx_gtFine_labelIds.png 代表每个实例的标签id标注- xxx_gtFine_polygons.json

2.导入所需的库和模块
3.加载训练和验证数据集,测试数据集没有标注,所以我们将把训练数据分割成训练和测试数据
4.将_gtFine_labelIds灰度图图像转换为彩色分割图(图4)

5.展示不同色块代表的物体(图5)

6.数据预处理
7.对街景图使用gen_images处理,对标签图使用gen_mask_train处理,然后抽取80%的数据作为训练集
8.数据加载
Part 2 SegNet模型构建
构建4个基础模块
Part 3 参数预设
Part 4 使用数据集进行训练
1.定义训练与评估函数
该网络结构在训练集上的结果较好,IoU可达0.82;但在测试集效果较差,IoU为0.61左右2.展示预测结果(图6)

2015年,Segnet模型由Vijay Badrinarayanan, Alex Kendall, Roberto Cipolla发表, 在FCN的语义分割任务基础上,搭建编码器-解码器对称结构,实现端到端的像素级别图像分割,其模型框架和思路都比较简单,后续我们将逐渐增加难度,探索更新的网络架构。
Segnet原文链接:https://arxiv.org/abs/1511.00561
关注公众号并回复“02080613”即可获得ipynb文件!
·END·
