基于深度学习的行驶视觉图像分割模型设计

2020-11-20 03:20朱家懿
实验室研究与探索 2020年10期
关键词:语义特征模块

叶 绿, 朱家懿, 段 婷

(浙江科技学院a.信息与电子工程学院;b.机械与能源工程学院,杭州310023)

0 引 言

传统方法的视觉识别,如人脸识别、指纹识别等方向都有一个共同点,即只能识别静态目标而对动态目标束手无策,这一特点导致计算机识别无法应用在交通领域。无人汽车视觉识别的能力建立在对周围环境的理解程度之上,在识别目标物体之前首先要对其有一个基本的理解和判断,才能实现高精度识别效果。语义分割作为计算机视觉中的基本任务,其目的就在于能使计算机对周边情况产生较深层次的理解。

大部分识别任务都会先使用语义分割算法进行高精度场景分类,在得到的分割结果基础上进一步完成识别目的。从宏观角度来讲,语义分割是一种从实际环境中获取知识,从具体到抽象的过程;从微观角度看,其本质属于像素级的分类任务,具有极高的预测精度;从算法角度分析,卷积神经网络的出现使各种计算机视觉任务的表现都达到了质的飞跃,其中,全卷积神经网络(FCN)[1]是一种专门为分割设计的算法结构,其端到端的训练方式加快了分割预测结果真正落地应用的过程,这使得识别任务可直接建立在分割结果之上。因此,语义分割领域对于无人驾驶计算机视觉系统的搭建具有重要意义。

基于FCN 的思想,大量优秀分割模型被相继提出,因而逐渐形成了几种常用的模型结构。如SegNet[2]的编码器-解码器结构是对称分割模型的典型算法框架,语义信息首先通过编码器嵌入到特征映射中,再由解码器负责生成分割结果。但连续编码器中的池化操作以减少空间分辨率为代价,获得图像变换的不变性。这一操作导致特征图信息大量丢失且无法恢复,分割输出结果的边缘轮廓细致度较差。针对这一问题,Chen 等[3-5]提出的网络均使用空洞卷积来避免过多的下采样操作,其特点是在保证分辨率不会大幅度损失的前提下扩大感受域范围,这对语义分割是很有益处的。除此之外,真实场景中大多存在不同大小的物体目标,因此同一模型下包含多种尺度的感受域对于精准分割多类目标是很有必要的。因此,以ASPP[6]为代表的多尺度并行卷积模块也被广泛应用于分割领域。

本文设计了一种应用于驾驶视觉的算法模型,力求突破分割模型现有瓶颈,有效提高算法准确度。具体来说,设计了多特征提取通道,配合融合思想实现有效信息互补;引入注意力机制作为模型先验分析,对图片中重要分类加以更大权重分配以提高算法效率。

1 总体设计

选取367 张CamVid[7]数据集中的原始道路场景图像及对应的真实语义分割图像构成训练集。将训练集中的第q幅原始道路场景图像记为{Iq(i,j)},对应的真实语义分割图像记为{Iqtrue(i,j)}。采用现有的独热编码技术(one-hot)将训练集中的标签处理成12 幅独热编码图像,处理好的集合记为Jqtrue。其中,道路场景图像为RGB彩色图像,q为正整数,1≤i≤W,1≤j≤H,W表示{Iq(i,j)}的宽度,H 表示{Iq(i,j)}的高度,如取W = 480、H = 360。Iq(i,j)表示{Iq(i,j)}中坐标位置为(i,j)的像素点的像素值,Iqtrue(i,j)则表示{Iqtrue(i,j)}中坐标位置为(i,j)的像素点的像素值。将处理好的数据根据预先设定好的batch-size大小,成批次输入到网络模型中进行训练并保存最好权重值。所有训练结束后,将测试集和上述权重读入网络,得到最终的评价结果和分割预测图。总体设计思路如图1 所示。其中,损失函数作为度量真实图像和预测图像差距的指标,对模型的训练效果有着重要影响。因此,损失函数的选择至关重要。现有语义分割模型大多使用交叉熵,除此之外,Lovasz-Softmax[8]则是为了更好地拟合分割特点而设计的一种损失函数,该函数直接对语义分割的重要指标进行优化,本文选择该函数以提高训练效果。

图1 总体设计方案

2 模型设计

图2 所示为网络整体结构图。该网络共包含两条主要的特征提取路径,即局部信息路径(Localinformation Path)和全局信息路径(Global-information Path)。前者是以VGG-16[9]的前3 个下采样块作为图像局部特征的提取方式;后者则使用ResNet-34[10]的5个特征提取块细化图像信息从而得到全局特征。将得到的小尺寸特征图通过反卷积还原并经过注意力机制模块(CAM)强化信息表达,再将不同阶段的特征图输入基础融合块(BFM)进行特征融合。网络后期借鉴ASPP和跳跃连接的思想,设计了RASPP模块,旨在扩大特征图感受域的同时尽可能保留信息完整度。本模型利用多尺度输出作为优化方法。经实验证明,多输出能更好地监督模型的收敛过程以提升分割效果。

图2 网络整体结构

2.1 双流特征提取路径

图像的低级特征通常具有更多的空间细节,而高级特征则包含更为丰富的上下文信息。本文将输入图像分为两条路径,分别提取不同的特征映射进行语义分割,并命名为“局部信息路径”和“全局信息路径”。低层次特征包含的信息主要集中在目标的细致轮廓,对于密集分类预测输出是很有意义的。以往的方法通过连续的下采样操作获得高层次特征,从而牺牲了特征图的空间分辨率。尽管以上方法在解码模块中均使用上采样操作还原尺寸,但一些丢失的空间信息很难被恢复。为了避免上述问题,本文定义了局部信息提取路径,使用加入预训练权重后的VGG-16 作为特征提取网络。该路径没有设置过多的下采样操作,从而保持更强的空间细节。除此之外,该路径还将每个特征提取块得到的结果进行融合,即使用反卷积操作恢复所有小特征图尺寸至原图的1 / 2 大小,后相加融合。通过该方法得到的融合特征图具有极丰富的细节特征,可作为后续模块的补偿信息。

从宏观角度来看,语义分割的核心思想是为每个目标按实际类别进行标注,同类事物将被赋予同一特征。语义分割任务的难点在于,局部信息与全局信息的丰富程度会直接影响分割效果,但两者之间却有着天然的互斥关系。为解决这一问题,本文设计了全局信息路径,专门用于提取上下文信息。与局部信息路径不同,全局信息需从深层网络获取,即多次下采样变得十分必要。因此,本文选择ResNet-34 作为该路径的主网络,ResNet可很好解决深度CNN网络中存在的问题,如梯度消失或梯度爆炸。具体来说,图像每经过一个特征提取块,其尺寸均会减小1 / 2,将最后得到的最小尺寸特征图通过双线性差值上采样的方法,一步还原到先前的各个尺寸并和对应尺寸的特征图相融合,以达到综合全局与局部信息的目的。

2.2 多特征融合

特征融合是现阶段分割模型较为常用的一种优化方法。通常来说,模型会将不同阶段产生的相同尺寸特征图进行融合,主要方式为拼接或相加,本文称该方式为直接融合法。直接融合法虽被广泛使用,但仍具有不足之处,例如,低级特征往往包含很多噪声且与高级特征之间的差距较大,因而直接将两种特征融合一般无法达到预期效果。为了解决这一问题,本文选择将深层网络中的特征图多次还原为较大尺寸,与相对应的浅层特征融合。高级特征所含信息较为纯净,即使经过双线性插值进行尺寸扩大也不会引入多余干扰噪声,因而融合效果更好。本文将该融合方式命名为多特征融合法,其原理图如图3 所示。

以全局信息提取路径中的多特征融合为例具体说明,经过各提取块后的结果将变为原图的1 / 2、1 / 4、1 /8、1 / 16 和1 / 32,将最小特征图从1 / 32 大小向上还原至1 / 2、1 / 4、1 / 8、1 / 16,得到的上采样结果与原始提取块得到的同尺寸结果相加,得到更为全面的综合特征图。多特征融合作为一种特征融合方式,可灵活加入到各个阶段以更好地综合网络信息。

图3 多特征融合原理图

2.3 基础融合模块

基础融合模块共有3 个输入流,其结构图如图4所示。Input 1 和Input 2 分别来自ResNet-34 特征提取块的输出和多特征融合特征图,该融合属于全局信息与局部信息的互补过程,因此选择相加操作将两输入进行融合。然后将得到的综合特征与对应的注意力机制模块输出(Input 3)进行融合,由于上述两种特征属于不同类别的信息,均具有独特优势,因此选择拼接方式将两特征图在通道维度上进行连接以保证各自特点。该模型旨在通过简单的融合方式综合特征输入,以在发挥作用的同时控制网络整体参数。

图4 基本融合模块

2.4 注意力机制模块

高层次特征的每个通道都可以看作是一个特定于类的响应,不同的语义响应相互关联。通过挖掘通道之间的相互依赖关系,可提高特定语义的特征表示。因此,本文构建了一个通道注意模块来显式地建立通道之间的依赖关系,其结构图如图5 所示。在计算两个通道关系之前,该模块不使用卷积层嵌入特征,这样可以保持不同通道映射之间的关系不变。此外,与其他使用全局池化或全连接的方法不同,本模块利用所有对应位置上的空间信息来建立通道相关性,即使用矩阵变换相乘实现通道加权。

图5 注意力机制模块结构图

2.5 多尺度优化模块

复杂场景的分割任务面临诸多挑战,如分辨率不足、感受域单一等。因此,在一种模块中综合多种功能是现阶段分割模型的主要设计思路。本文将ASPP和跳跃连接相结合,设计了RASPP 模块,如图6(a)所示。该模块进一步优化网络前部分得到的综合特征,通过设置不同尺寸的空洞卷积实现对不同大小目标的精确分割。该模块共包含一个输入流和两个输出流,其中一条输出流作多尺度监督;另一条则作为下一个残差优化块的输入。残差优化块如图6(b)所示,目的是能更好地产生输出预测结果。

图6 多尺度优化模块结构图

3 实验分析

本文使用Camvid数据集进行实验分析,该数据集共包含11 个类别,701 幅图像,大小为360 × 480。在数据预处理阶段将图像大小调整为352 × 480 以便进行多次下采样,具体参数设置如下:训练集数量367张,验证集数量101 张,测试集数量233 张,学习率10-3,优化器SGD + momentum 0.9,mini-batch 2,epochs 200。

具体实验阶段使用Pycharm 作为IDE,深度学习框架选择Pytorch1.1.0,主要语言为Python。使用GPU加速训练网络,所使用的设备为NvidiaGXT 1080且只选用一块GPU加速程序。语义分割任务中存在3个评价指标用于衡量网络性能,分别为像素精度(CA)、平均像素精度(GA)以及平均交并比(MIoU),指标结果值越大,表示算法分割效果越好。

根据上述指标,将本文网络与同一数据集中的其他现有模型进行比较,包括Segnet、Deeplb-LFOV、DFN[11]、ENet[12]、LinkNet[13]、ESPNet[14]、ReSeg[15]、TernausNet[16]以及DFANet。表1 列出了CamVid数据集所包含的11 个类别及每个类对应的分割准确率。由此可见,本模型在各细节类上的预测效果大多优于其他对比模型。除此之外,表2 列出了3 个主要指标的结果,证明了本方法得到的分割结果值均优于其他对比网络。

表1 各类别分割结果

表2 主要指标结果

本文涉及的其他比较算法均在同等条件下复现,严格依照文中给出的参数设置进行搭建,并未对其内部结构进行修改。以SegNet为例,本文复现其结果时使用SGD 作为优化器,学习率设为10-3,动量为0.9,Dropout设为0.5,batch-size 则为5。在相同参数设置的情况下使用NvidiaGXT 1080 加速训练,得到的结果与本文算法可直接做对比,不需要额外计算。正如SegNet原文所给出的11 个类别分类,本文同样将每个类别的预测准确率输出,作为对比结果的一部分。

如图7 所示为各网络分割预测图。其中,图7(a)为CamVid测试集中的原始道路图像;(b)为测试集中的标签图,该图像作为其他模型的基准对比图,可直观地证明某一模型分割结果的好坏;(c)、(d)分别为SegNet 和TernausNet 两种先验网络的分割结果;(e)则表示本方法的预测图。SegNet 和TernausNet 的结果图同样使用上述方法由本人自行复现输出,该预测图与原文中给出的最终结果几乎相同,并未产生巨大差距。在训练阶段保存的最优权重导入搭建好的模型中,输入测试数据集得到预测矩阵,后使用PIL图像处理库,将得到的矩阵数据转化为图片形式,按张保存。图中第1 行可证明本模型对小目标的分割效果,如图中黄框标记出的路灯,先验网络并未将其分割出来,而本算法可将大致轮廓输出。图中第2 行可证明本模型对常见目标的分割效果,黄框中的目标在本算法的计算下得到了更为平滑明确的分割结果。

图7 各网络预测结果图

4 结 语

本文以无人驾驶视觉系统为应用场景,设计了一种基于深度学习的语义分割模型。该模型设计了两条特征提取路径以有效细化图像各部分信息,通过多特征融合实现信息互补,并引入其他优化模块进一步完善网络效果。该网络通过大量数据训练,在与其他先验网络的对比下可较好地提高道路场景图像的分割准确率,有望对无人驾驶的新技术发展做出贡献。

猜你喜欢
语义特征模块
根据方程特征选解法
28通道收发处理模块设计
“选修3—3”模块的复习备考
离散型随机变量的分布列与数字特征
语言与语义
不忠诚的四个特征
批评话语分析中态度意向的邻近化语义构建
“社会”一词的语义流动与新陈代谢
“吃+NP”的语义生成机制研究
集成水空中冷器的进气模块