基于重要性加权的道路场景图像语义分割方法与流程

文档序号:17645358发布日期:2019-05-11 00:57阅读:739来源:国知局
基于重要性加权的道路场景图像语义分割方法与流程

本发明属于道路分割技术,具体是涉及一种基于重要性加权的道路场景图像语义分割方法。



背景技术:

语义分割是计算机视觉中十分重要的领域,它是指像素级地识别图像,即标注出图像中每个像素所属的对象类别。近年的自动驾驶技术中,也需要用到这种技术。车载摄像头探查到图像,后台计算机可以自动将图像分割归类,以避让行人和车辆等障碍。目前图像语义分割大部分都在采用深度学习技术,但是基于深度学习的几种网络模型都各有侧重点,专门用于道路场景的图像分割的方法比较少。



技术实现要素:

本发明的目的在于提供一种基于重要性加权的道路场景图像语义分割方法,提升了车辆和行人的分割精度。

实现本发明目的的技术解决方案为:一种基于重要性加权的道路场景图像语义分割方法,首先建立基于重要性加权的损失函数的segnet神经网络架构;然后选择cityscapes数据集,划分成训练数据集、验证数据集、测试数据集,训练神经网络模型,进行道路场景图像语义分割。

作为一种优选实施方式,segnet神经网络架构包括5个卷积模块和反卷积模块,每个卷积模块中包含3个卷积层和一个最大池化的池化层,每个反卷积模块包含3个反卷积层和一个上采样层。

作为一种更优选实施方式,卷积模块和反卷积模块的卷积核选取大小为3*3的卷积核。

作为一种更优选实施方式,卷积模块和反卷积模块采用relu激活函数。

作为一种优选实施方式,重要性加权的损失函数,将道路场景中车辆和行人作为重要类别,确定重要类别和非重要类别的交叉熵损失值,再按照两种重要性类别的系数进行加权,得到重要性加权的损失函数值;使用向量ig1,ig2来表示两种重要性类别的交叉熵损失值,则第j个元素(igi)j(i=1,2)的损失函数值具体为:

其中,wi表示第i组像素点的重要性权重,p表示像素点在整个图片所有像素点中所占的频率,q表示独热编码(one-hot),c表示第c种场景类别的像素点。

作为一种优选实施方式,训练神经网络模型时,把整个数据集均分成k个子集,每次选取一个子集作为测试集,从k-1个子集中选出3/4作为训练数据集,剩下的1/4作为验证数据集,进行k次交叉验证,得到训练好的神经网络模型。

作为一种优选实施方式,在训练前,对cityscapes数据集的图像进行基于色彩饱和度的图像增强、基于图像尺寸的数据增强,扩充数据集。

本发明与现有技术相比,其显著优点为:1)本发明使用损失函数加权的方法分割道路场景图像,车辆和行人的分割更精细;2)本发明在网络结构的反卷积和上采样部分,使用在卷积阶段记录的最大池化的指数信息,使得最后分割结果更好。

附图说明

图1为本发明的基于重要性加权的道路场景图像语义分割方法的流程图。

图2为最大池化的池化层的示意图。

图3为第一层卷积的变换示意图。

图4为第二层卷积的变换示意图。

具体实施方式

下面结合附图和具体实施例,进一步说明本发明方案。

一种重要性加权的道路场景图像语义分割方法,包括以下步骤:

步骤1、建立基于重要性加权的损失函数的segnet神经网络架构,使用卷积神经网络对道路场景图像进行多级分层的特征提取,产生多级特征图,然后对多级特征图按照从低级到高级的顺序,进行对称性的反卷积和上采样操作,在最终的输出结果前加入基于重要性加权的损失函数,不断更新模型参数,使得最后的分割结果中,车辆和行人的分割效果更好。

本发明采用的是经典神经网络结构segnet,同时进行结构上的改进,具体是构建5个卷积模块(conv_block),每个卷积块中包含3个卷积层和一个最大池化的池化层,如图2所示。通过对每张输入图像进行第一层的卷积和池化的处理,使得通道数变为64,特征图尺寸变为原来的1/2,如图3所示;通过对中间层的特征图进行卷积和池化处理,使得通道数翻倍,特征图尺寸变为上一层的1/2,如图4所示。对称地,构建5个反卷积模块,每个反卷积模块包含3个反卷积层和一个上采样层。

关于卷积核的选择,鉴于以往的深度学习经验,本发明选取大小为3*3的卷积核,所有的卷积层都是用这个卷积核的尺寸。

关于激活函数,本发明使用relu作为激活函数,这是由于relu激活函数本身的一些优点,包括:

(1)采用sigmoid等函数,算激活函数时(指数运算),计算量大,反向传播求误差梯度时,求导涉及除法,计算量相对大,而采用relu激活函数,整个过程的计算量节省很多。

(2)对于深层网络,sigmoid函数反向传播时,很容易就会出现梯度消失的情况,relu能有效解决这个问题。

(3)relu会使一部分神经元的输出为0,这样就造成了网络的稀疏性,并且减少了参数的相互依存关系,缓解了过拟合问题的发生。

关于架构的损失函数,采用重要性加权的损失函数,将道路场景中车辆和行人作为重要类别,确定重要类别和非重要类别的交叉熵损失值,再按照两种重要性类别的系数进行加权,得到重要性加权的损失函数值;使用向量ig1,ig2来表示两种重要性类别的交叉熵损失值,则第j个元素(igi)j(i=1,2)的损失函数值具体为:

其中,wi表示第i组像素点的重要性权重,p表示像素点在整个图片所有像素点中所占的频率,q表示独热编码(one-hot),c表示第c种场景类别的像素点,本发明中设置这个比例系数为2,也就是说,车辆和行人的重要性是其他类别的两倍。

步骤2、选择cityscapes数据集,划分成训练数据集、验证数据集、测试数据集,训练神经网络模型;

先介绍数据集各组成部分的作用,训练数据用于模型构建;验证数据可选,用于辅助模型构建,可以重复使用。测试数据用于检测模型构建,此数据只在模型检验时使用,用于评估模型的准确率,绝对不允许用于模型构建过程,否则会导致过拟合。

本发明把整个数据集均分成k个子集,每次选取一个子集作为测试集,从k-1个子集中选出3/4作为训练数据集,剩下的1/4作为验证数据集,进行k次交叉验证,得到训练好的神经网络模型。

训练神经网络模型时,卷积部分,使用vgg16在imagenet上进行预训练的权重初始化,反卷积部分,使用随机初始化参数的方法,这样可以明显减少训练时间,在更少的时间内取得更好的分割效果。此外还需要设置一些超参数,包括迭代次数epoch,每次输入到神经网络进行训练的图像数量batch-size的大小设置,确定训练结束条件。本发明中设置epoch的值为50,batch-size的大小为64。通过设置初始网络权重,网络参数采用随机初始化的方法,不断进行迭代训练,直到加权平均损失小于设定的阈值或者迭代次数大于设定的阈值,结束训练。

作为一种优选实施方式,还可以在训练前,对cityscapes数据集的图像进行基于色彩饱和度的图像增强、基于图像尺寸的数据增强,扩充数据集,然后对扩充的数据集,进行上述处理。

步骤3、利用训练好的模型,进行道路场景图像语义分割。

本发明在分割道路场景图像的车辆和行人部分时,利用损失函数加权的方法,使得重要部分的分割精度更高;在分割道路场景图像的非车辆和行人部分时,使用权重较低的损失函数进行训练;然后得到最终的神经网络模型,即得到训练好的参数值。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1