基于双路深度神经网络的无人驾驶场景实时语义分割方法与流程

文档序号:22678631发布日期:2020-10-28 12:37阅读:302来源:国知局
基于双路深度神经网络的无人驾驶场景实时语义分割方法与流程

本发明属于场景分割技术领域,具体涉及一种基于双路深度神经网络的无人驾驶场景实时语义分割方法。



背景技术:

计算机视觉与深度学习联系紧密,其基础任务之一的图像语义分割在传统图像分割的基础上结合了目标检测,目的是捕获图像中的所有像素的语义标记,从而达到以像素为单位的分割效果,可应用于无人驾驶、地质简测、人脸识别、医学影像分析等任务。在无人驾驶的道路检测与路线规划任务中,需要利用语义分割技术获取车辆后续驾驶的可通行区域,以此保证安全驾驶的前提。

无人驾驶中进行语义分割的图像分辨率高,对推理速度有很高的要求,对于此类应用程序,如何维持高效推理速度和高精确度并存是一个关键问题。很多方法会采取损失分割性能换取快速处理速度的方式,实现一个高精度的实时语义分割算法是关键点。

目前,仍普遍存在于语义分割中尤其是实时语义分割中亟待解决的主要问题如下:

(1)分割精度的问题:由于追求处理速度,大多数网络无可奈何之下只能舍弃对高精度的把握,导致实时语义分割网络的分割精度普遍不如非实时语义分割网络,尤其是在细小物体的分割上,轮廓的定位变得更加艰难;

(2)计算机资源的问题:对高分辨率图像的高精度分割对计算机资源要求极高,运用轻量级网络的效果普遍更为逊色,这就要求足够的计算机资源,比如gpu。而足够的计算机资源又与无人驾驶这类移动应用场景相矛盾,造成了道路场景语义分割的现实实现更加困难;

(3)数据问题:语义分割的数据集要求相比目标检测等更加繁杂,不仅仅是标注出目标物体即可,而是需要识别出所有语义不同的类别,是像素级的标注,就算是现在最流行丰富的数据集之一cityscapes也有许多未被标注的物体类别

针对以上的部分问题,各类方法层出不穷。在语义分割任务中,空间信息和上下文语义信息缺一不可,空间信息对应像素的位置,对语义分割的物体边界准确性很重要;上下文语义信息对应像素的分类,对像素所属类别的判别很重要。但是在卷积神经网络中,这两个需求之间存在一定的矛盾。在实时语义分割的任务中,为了提高推理速率,各种方法层出不穷,有的缩小输入图像的尺寸,有的使用轻量级骨干模型,但是这两种方式一者减小了尺寸、一者裁剪了通道,都丢失了部分空间信息。总而言之,空间分辨率和感受野就像鱼与熊掌,不可兼得。因为原始图像从输入网络开始,重复经历着卷积、池化的操作,特征图的分辨率由大至小,随着网络逐渐进入到较高的层次中,学习到的特征从空间信息丰富逐渐进入语义信息更加丰富的阶段。这样的特征适用于图像分类等任务,但语义分割不仅需要分类,还需要高分辨率输出,需要语义丰富的高层级特征和空间信息丰富的低层级特征充分且有效地融合,才能使网络性能更上一层楼。

当前用于实现语义分割实时推理速度的方法主要有以下几种:

(1)通过限定输入图像的大小进行加速。这种方法的优点是简单有效地降低了计算复杂度,缺点是会损失不少空间细节。

(2)通过删减通道数量进行加速。这种方法常用于backbone网络的初期,劣势是会降低空间细节的存在感。

(3)通过抛弃模型的末尾部分进行加速。以enet为例,该方法的缺点是最后阶段的丢弃导致模型下采样程度不够深、感受野不够大,因此判别误差较大,损失了模型性能。

以上这些提速的方法会丢失很多空间信息,从而导致精度大幅下降,即舍精度换速度。总括而言,前述方法无法在现实运用中取得理想效果。针对以上问题,为了补全缺失的空间信息,u形结构被提出并应用于语义分割,取得了不错的效果。u形结构分为特征提取和上采样两部分,在上采样的每个层级,引进相应的下采样阶段提炼的特征,通过这种方式,u形结构融合了多尺度特征,逐渐弥补了空间信息。但有得必有失,u形结构相比普通结构增加了不少计算量,导致网络处理速度减缓,无法达到实时的要求;另外,以这种操作补回的空间细节微不足道,大部分细节信息无法轻易通过不同层级特征的融合找回。除了u形结构,也有方法采用多分支框架,通过组合空间细节信息和上下文语义信息解决问题。然而,与u形结构相似的,新增的分支给整个网络带来了多余的计算量,导致速度变慢,更重要的是模型的学习能力被分支之间的相互独立性限制住了。除此之外,还有利用空洞卷积、空间池化金字塔等方法的网络,但是此类方法会限制速度,且需要出色的计算能力,轻量级骨干网络无法胜任。



技术实现要素:

本发明的目的是克服现有技术的不足,提出了一项基于双路深度神经网络的无人驾驶场景实时语义分割方法,并在图像预处理、模型训练、模型测试、实际应用等四个方面进行了设计,提高了模型的准确率和速率。

本发明的技术方案如下:

基于双路深度神经网络的无人驾驶场景实时语义分割方法,包括如下步骤:

步骤1、以残差网络resnet-18为基础网络,分流出空间信息分支和上下文信息分支;

步骤2、对上下文信息分支的不同阶段输出使用注意力精炼模块进行优化;

步骤3、对空间信息分支和上下文信息分支的输出使用特征融合模块进行多尺度融合,用于网络最终输出;

步骤4、在上下文信息分支中添加两个辅助损失函数,与主损失函数共同监督训练。

可选的,在步骤1中所述的空间信息分支与上下文信息分支具体为:

空间信息分支:用于弥补语义分割中丢失的空间信息,它包含了残差网络resnet-18的前三块,空间信息分支利用其第三块的输出特征,该输出特征的空间尺寸为原图的1/8。此阶段的特征分辨率较高,并且已经学习到了足够的空间信息。后续该第三块的输出特征与上下文信息分支的输出特征进行融合;

上下文信息分支:利用resnet-18快速下采样后,添加全局平均池化以最大化感受野,获取全局信息。上下文信息分支以残差网络resnet-18作为基础网络获取高级上下文特征,进而改善语义分割网络的分类能力。该分支包括残差网络resnet-18的前五块,其中最后两块输出的特征图的空间尺寸分别为原图的1/16和1/32,令这两个输出分别经过注意力精炼模块后得到特征图ⅰ和特征图ⅱ。

在上下文信息分支的最后,为了最大化网络的感受野,对最后一块输出的特征图加入了全局平均池化,从而获得了空间尺寸为1x1的特征图ⅲ。

将特征图ⅲ进行上采样后与特征图ⅱ在通道上叠加后获得新的特征图;再将新的特征图进行上采样后与特征图ⅰ进行叠加,最后得到上下文信息分支的最终输出特征图;

然后将上下文信息分支的输出特征图与空间信息分支的输出特征图进行融合。

可选的,在步骤2中所述的注意力精炼模块具体为:

注意力精炼模块:用于上下文信息分支,以提炼最后两阶段的输出。注意力精炼模块在开头使用全局平均池化获得最大感受野,从而整合全局上下文语义信息,在后续步骤中,通过注意力掩码训练网络侧重性地学习,使特征带有不同的权重。具体来说,注意力精炼模块针对resnet-18最后两块输出的特征图的每个通道分别计算其权重,然后对该特征图原来的输出通道用对应的权重进行加权,得到新的加权后的特征图,起到重新调节整合特征的作用。例如:第4块输出特征图ⅴ,对特征图ⅴ的每个通道计算其权重,然后对特征图ⅴ中的每条输出通道用计算得出的权重进行对应的加权,从而得到新的加权后的特征图ⅴ。

这一设计采用了注意力机制,达到了使用极少计算量便对上下文信息分支中两个阶段(即resnet-18下采样的第四阶段和第五阶段)的输出进行提炼优化的效果,简单快速地获取了全局上下文语义信息。

可选的,在步骤3中所述的特征融合模块具体为:

当两个分支给定了级别参差的输出特征的情况下,特征融合模块学习注意力掩码用来选择和结合特征。首先,对不同的输入特征直接使用concatenate串联后进行常规的卷积-批归一化-relu操作;接下来,使用注意力机制进行特征优化,同前文介绍的注意力精炼模块类似,通过全局平均池化获得串联后特征的特征向量,通过卷积和激活函数计算不同串联后特征的权重,再通过权重与串联后特征相乘获得新的加权特征,最后再将新的加权特征与原串联后特征相加。

可选的,在步骤4中使用主损失函数与辅助损失函数相结合的方法具体为:

除监督整个网络输出的主损失函数loss1外,在上下文信息分支中添加了两个辅助损失函数loss2_1和loss2_2监督其输出。其中各损失函数的操作流程是:将融合后的特征图经过卷积-批归一化-relu平衡特征尺度后,通过单位卷积将平衡后特征图的通道数改为类别数量,最后用双线性插值法对特征图进行上采样至输入大小后计算其损失;

将三个损失函数以相加的方式结合在一起,每个损失函数都为结合ohem策略的交叉熵损失函数,通过ohem策略选取一定数量即n个的困难样本:按loss值降序排序后,若大于等于阈值的样本数多于n则选择所有大于等于阈值的样本;若大于阈值的样本数不足n则按序选择前n个样本。

loss=loss1+loss2_1+loss2_2(1)

其中,m指类别数量,yic值为0或1,即类别与样本i类别相同则为1,否则为0,pic为样本i属于类别c的预测概率。

l指代损失函数loss1、loss2_1或loss2_2计算得到的损失值;n为样本数量。

本发明具有如下有益效果:

本发明设计的基于双路深度神经网络的无人驾驶道路实时语义分割模型,提出的模型从resnet-18的不同阶段提取输入图像的特征。同时保证空间细节和上下文语境。在网络中,本文以残差网络为基础,分出空间信息分支和上下文信息分支两部分,利用空间信息分支和上下文信息分支分别学习有效特征,输出不同分辨率的特征图。上下文信息分支用于获得足够小的感受野,实现特征提取;空间信息分支用于弥补分辨率细节,解决空间信息损失的问题。本发明设计了特征融合模块和注意力精炼模块来混合两种特征并提升精度,用于来自不同分支的特征融合和输出的优化。同时,在训练阶段使用一个主损失函数和两个辅助损失函数相结合的方式,从而在保证实时性的前提下,实现了高精度的语义分割,收获了较为突出的分割成效。

附图说明

图1为本发明基于双路深度神经网络的无人驾驶场景实时语义分割结构图;

图2为本发明对道路交通样本图像语义分割的过程示意图;

图3为注意力精炼模块结构图;

图4为特征融合模块结构图。

具体实施方式

下面结合具体实施例对本发明做进一步说明。

如图1所示,本发明的基于双路深度神经网络的无人驾驶场景实时语义分割方法,其包括如下步骤:

步骤1、以残差网络resnet-18为基础网络,分流出空间信息分支和上下文信息分支;

步骤2、对上下文信息分支的不同阶段输出使用注意力精炼模块进行优化;

步骤3、对空间信息分支和上下文信息分支的输出使用特征融合模块进行多尺度融合,用于网络最终输出;

步骤4、在上下文信息分支中添加两个辅助损失函数,与主损失函数共同监督训练。

实施例1

图1为本文所提出的双路语义分割网络整体架构的粗略展示,图2为其详细展示。图中的骨干网络是一个不完整的resnet-18,整个模型以残差网络为基础,利用残差网络resnet-18不同阶段的输出收集不同尺度的信息,用于实现高精度的语义分割。在resnet-18的每个阶段中学习到的特征都不同,前期阶段的特征图分辨率大,学习到的特征较为低层次,包含的空间信息比较丰富;随着网络趋向深层,其感受野变大,使得学习到的特征层次变高,语义信息变得丰富起来。在分类任务中,图像语义信息对提高准确性至关紧要。但在语义分割中,光实现精确分类是不够的,还需要足够的空间信息才能得到高精度的分割结果。基于此,本网络采用不同的分支进行不同信息的获取。

由两图即可清楚观察到,该模型架构含有一个骨干网络,从中分出了两个信息流分支,分别是空间信息分支和上下文信息分支。其中用于空间信息分支的输出特征图为网络输入大小的1/8,为网络保留充足的空间信息;用于上下文信息分支的输出特征图分别为网络输入的1/16和1/32,用于获取高级上下文信息。

在这之后,网络特地设计了特征融合模块,用于融合各个分支的输出。然后在对特征融合模块的输出直接上采样至原图大小之后,输出结果。

在语义分割任务中,想要获得精确分割的效果,需要将高层次的丰富语义信息和低层次的空间信息结合起来,但对实时语义分割情形中的这两者来说,很容易顾此失彼。鉴于此,在本发明中提出了额外加入网络的空间信息分支,就是用于弥补语义分割中丢失的空间信息的。如图1的“空间信息分支”框所示,在空间信息分支中,包含了残差网络resnet-18的前三块,空间信息分支利用其第三块的输出特征。该特征输出的空间尺寸为原图的1/8。此阶段的特征分辨率较高,并且已经学习到了足够的空间信息。后续该第三块的输出特征与上下文信息分支的输出特征进行融合。

为获取足够的语义信息,一些方法提出了spp(spatialpyramidpooling,金字塔池化)模块、aspp(atrousspatialpyramidpooling,金字塔型空洞池化)或较大卷积核来增大感受野,但实时语义分割网络对计算速度要求较高,而这些操作又耗时又耗内存,很难满足条件。为了兼顾大感受野和高效率,本文设计了上下文信息分支,它在利用resnet-18快速下采样后,添加全局平均池化以最大化感受野,获取全局信息。上下文信息分支以残差网络resnet-18作为骨干网络,用于获取高级上下文特征,进而改善语义分割网络的分类能力。如图1的“上下文信息分支”框所示,该分支包括残差网络resnet-18的前五块,主角是resnet-18最后两个阶段的输出,空间尺寸分别为原图的1/16和1/32。令这两个输出分别经过注意力精炼模块后得到特征图ⅰ和特征图ⅱ。

在上下文信息分支的最后,为了最大化网络的感受野,对最后一块输出的特征图加入了全局平均池化,从而获得了空间尺寸为1x1的特征图ⅲ。

将特征图ⅲ进行上采样后与特征图ⅱ在通道上叠加后获得新的特征图;再将新的特征图进行上采样后与特征图ⅰ进行叠加,最后得到上下文信息分支的最终输出特征图;

然后将上下文信息分支的输出特征图与空间信息分支的输出特征图进行融合。

实施例2

本发明提出的注意力精炼模块用于上下文信息分支,以提炼最后两阶段的输出。注意力精炼模块在开头使用全局平均池化获得最大感受野,从而整合全局上下文语义信息,在后续步骤中,通过注意力掩码训练网络侧重性地学习,使特征带有不同的权重。具体来说,注意力精炼模块针对resnet-18最后两块输出的特征图的每个通道分别计算其权重,然后对该特征图原来的输出通道用对应的权重进行加权,得到新的加权后的特征图,起到重新调节整合特征的作用。例如:第4块输出特征图ⅴ,对特征图ⅴ的每个通道计算其权重,然后对特征图ⅴ中的每条输出通道用计算得出的权重进行对应的加权,从而得到新的加权后的特征图ⅴ。

这一设计采用了注意力机制,达到了使用极少计算量便对上下文信息分支中两个阶段(即resnet-18下采样的第四阶段和第五阶段)的输出进行提炼优化的效果,简单快速地获取了全局上下文语义信息。

如图3所示,在注意力精炼模块中,通过一系列操作得到特征图每个位置对所有位置的响应权重矩阵,然后使用sigmoid将权值映射至0到1之间,再将权值与特征相乘,得到加权后的响应特征。

实施例3

空间信息分支捕获的特征中空间细节更充足,上下文信息分支捕获的特征中包含着丰富的语境信息,它们输出的特征一个较浅层,一个较深层,并不是同一个层级的,因此无法直接对其进行合并,而是需要一个专门融合这些不同尺度特征的独特模块,也就是本文所设计的特征融合模块。

如图4所示,当两个分支给定了级别参差的输出特征的情况下,特征融合模块学习注意力掩码用来选择和结合特征。首先,对不同的输入特征直接使用concatenate串联后进行常规的卷积-批归一化-relu操作;接下来,使用注意力机制进行特征优化,同前文介绍的注意力精炼模块类似,通过全局平均池化获得串联后特征的特征向量,通过卷积和激活函数计算不同串联后特征的权重,再通过权重与串联后特征相乘从而获得新的加权特征,最后再将新的加权特征与原串联后特征相加。

实施例4

由于双路语义分割网络的两个分支各自学习不同层次的特征,并且其中的上下文信息分支对网络整体的性能十分重要,充足的上下文语义信息才能减少同类别物体被分割为多个部分或不同类别物体被分割为同一部分的情况发生,因此为了更好地监督网络训练,本文为网络的上下文信息分支添加了辅助损失。这是人们用来提升语义分割网络性能的广泛做法。

具体来说,本文除监督整个网络输出的主损失函数外,在上下文信息分支中添加了两个辅助损失函数loss2_1和loss2_2监督其输出。三个损失函数的具体位置如图1中的虚线路径所示,即主损失函数loss1、辅助损失函数loss2_1和loos2_2。其中各损失函数的操作流程是:将融合后的特征图经过卷积-批归一化-relu平衡特征尺度后,通过单位卷积将平衡后特征图的通道数改为类别数量,即19,最后用双线性插值法对特征图进行上采样至输入大小后计算其损失。

将三个损失函数以简单的相加结合在一起,其算法统一,都是结合了ohem策略的交叉熵损失函数,交叉熵损失函数是常用损失函数之一。

实施例5

本实施例提供了对基于深度卷积神经网络的无人驾驶场景语义分割模型的训练方法,其包括:

1)数据增强

数据增强也叫数据扩充,能让数据产生大于其实质数量的价值,有利于深度学习模型的训练,锻炼其泛化能力。

本发明使用cityscapes数据集作为用于训练和测试的数据集,其中训练集为2975张图片,验证集为500张图片。在训练中,为了扩充数据集,本实验将对训练集实施预处理,图片数量从2975张扩充到了1280000张,主要采取了以下方式:对图像进行标准化、随机缩放、随机裁剪、水平翻转以及对图像的亮度、对比度以及饱和度进行调整等,实现数据增强。其中涉及到的参数设置说明如下:cityscapes数据集图像的原始尺寸为2048*1024,经随机裁剪后尺寸为1024*1024;随机缩放的尺度列表为(0.75,1.0,1.25,1.5,1.75,2.0);关于颜色的数据增强中brightness(亮度)、contrast(对比度)和saturation(饱和度)三个参数均为0.5,即图像对应的增强因子在0.5到1.5的范围内随机选取;另外在测试中,采取了对验证集进行不同尺度的缩放后再预测的方式,对分割物体的大小差别拥有很好的容错性,提升了精度。

2)训练策略

(1)sgd策略

sgd是一种应用广泛的高效梯度下降方法,它在每轮迭代中只使用一个随机样本来刷新损失函数,这样每一次的优化耗时会更少,加速了模型训练。本发明使用sgd进行优化;

(2)poly策略

学习率是一个对模型权重更新具备极大影响力的超参数。初始学习率设置合理才能使模型最优化,过小会导致收敛慢,过大则会导致不稳定或收敛失败。学习率需要随着网络训练程度变化,其变更策略很重要,在深度学习中存在多种策略可供选择,比如fixed策略、poly策略和sigmoid策略。

在本发明的sgd优化策略中,添加了poly学习率衰减策略;

(3)warmup策略

深度学习中,模型的初始权重是在训练启动阶段随机生成的,选择warmup策略使得模型在训练初期使用较小的学习率进行训练,经过一定数量的迭代次数后模型趋向稳定,再改为预先设定的学习率,达到预热学习率的效果,可以防止模型震荡,加速网络收敛速度,提升效果。

本发明中使用warmup策略中的gradualwarmup,即在学习率预热阶段中学习率随着迭代次数增长也逐步提高,直到预热阶段结束时学习率达到预设定值,再进行后续训练,这样能够避免学习率突然增大而导致训练误差激增的情况。

(4)ohem策略

在ohem算法中,网络会自动选择有多样性和高损失的困难样本作为训练样本。实验证明,ohem算法能高效率改善网络参数。为了进行难例针对性学习,本发明提出的网络使用交叉熵损失函数和ohem结合的方式进行训练。通过ohem策略选取一定数量即n个的困难样本:按loss值降序排序后,若大于阈值的样本数多于n则选择所有大于阈值的样本;若大于阈值的样本数不足n则按序选择前n个样本。

实施例6

本实施例提供了对基于深度卷积神经网络的无人驾驶场景语义分割模型的测试方法,其包括:

在测试时,采取了对验证集进行不同尺度的缩放后再预测的方式,对分割物体的大小差别拥有很好的容错性,提升了精度。

实施例7

本实施例提供了对基于深度卷积神经网络的无人驾驶场景语义分割模型的实际应用,其包括:

1)图片分割可视化

对交通图片实现语义分割时,采取对图像像素按相应类别上色后,按指定命名标准存储至指定文件夹内的方式。

2)视频分割可视化

在对交通视频实现语义分割时,先从视频中提取关键帧部分,将提取所的图片输入本发明提出的网络进行分割后输出可视化图片,再将分割结果写入视频流的操作。

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