cityscapes场景图_图像语意分割训练Cityscapes数据集SegNet-ConvNet神经网络详解

版权声明:本文首发于本人CSDN博客。

前言:经过将近一个月的陆续学习研究,在神经网络中训练多分类任务识别Cityscapes数据集,终于在最近得到了理想中的实验结果。在我陷入对细节参数调整不当及诸多问题时,苦于没有一篇能够“面向新手编程”的博客。因而我在能够在解决一系列问题到达终点后总结这一路踩过的坑,希望对后来者有所帮助。

接下来就是用我得到的神经网络模型结合我所学专业(风景园林)完成小论文,希望能投稿核心成功。^ _^

我所提供的代码及讲解均是基于Cityscapes这一数据集默认19分类的基础上完成,若有朋友想要训练其他数量分类及其他用处,可参考思路并自行修改代码。

放一组训练完成模型进行识别出来的图,激励各位朋友和我自己在深度学习的路上坚持下去。

我使用百度地图API获取了天津大学门口的一处坐标点图片进行识别测试。

1.图片数据获取

需要使用Cityscapes这一数据集训练的主要目的:

用来做汽车自动驾驶识别,要么是像我用来做城市街道元素的相关识别。模型训练出来后,识别数据的获取就至关重要,在我的另一篇博客中:

详细讲解了如何通过百度地图官方API,通过Python简单的爬虫代码批量获取图片。

2.数据集预处理

我们知道,在深度学习图像语意分割的训练过程中,需要有数据集及分好类的标签,这样才可以让你的神经网络进行学习,进而训练出模型,用来识别你想要识别的图片场景等。Cityscapes便是包含大量街道图片、视频用来训练识别的数据集。

在我另一篇博客中对数据集的下载、处理都进行了详细的解释,这里就不做过多解释。

3.图像语意分割神经网络列举

这里还是要感谢博主:

提供的神经网络合集及博文讲解。

博主提供的神经网络代码均是基于2分类的斑马线图像分割,而我在这基础上改为多分类的数据识别,各位朋友在学习时可以仔细对照修改前与修改后的网络,会对网络细节需要修改的参数有自己的理解。

我将博主共享的模型代码做了一份整理(下图),我将分两篇博文选取其中两个进行讲解。

分别是SenNet-ConvNet(简单)和DeepLabNet-XceptionNet(复杂)。

4.Make_Dataset

神经网络通过图片进行网络参数训练时,图片的获取需要从电脑异步读取,例如读取2张训练2张,如果读取所有上千张图片再抽取训练这样并不可行。

通过将图片和标签名称写入txt文件,在网络中读取txt文件合成完整的图片路径,进行读取。

import os

left = os.listdir(r"F:\202006Practice\cityscapesScripts-master\leftImg8bit\val")

gtfine = os.listdir(r"F:\202006Practice\cityscapesScripts-master\gtFine\val")

with open("read_data/val_data0.txt","w") as f:

for name in left:

png = name.replace("leftImg8bit","gtFine_labelTrainIds")

# 判断left是否存在对应的gtfine

if png in gtfine:

f.write(name+";"+png+"\n")

我将leftImg8bit和gtFine下的train和val数据集

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值