摘要
我们提出了一种新的实用的语义像素级分割的深度全卷积神经网络结构称为SegNet。
这个核心的可训练分割引擎由一个编码器网络、一个相应的解码器网络和一个像素级的分类层组成。其编码器网络的体系结构在拓扑结构上与VGG16网络[1]中的13个卷积层完全相同。解码器网络的作用是将低分辨率编码器特征图映射到全输入分辨率特征图,以进行像素级分类。
其新颖之处在于,解码器对较低分辨率的输入特征图进行了向上采样。具体来说,解码器使用在相应编码器的最大池化步骤中的池化索引来进行上采样。这就消除了学习上采样的需要。上采样的映射是稀疏的,然后与可训练的滤波器进行卷积,以生成密集的特征映射。我们将我们提出的架构与广泛使用的FCN[2]以及著名的DeepLab-LargeFOV[3],DeconvNet[4]进行了比较。这一比较揭示了实现良好的分割性能所涉及的内存与精度之间的权衡。
SegNet的主要动机是场景理解应用程序。因此,它被设计为在内存和计算时间方面都是有效的。与其他竞争架构相比,其可训练参数的数量也明显小于其他竞争架构,并且可以使用随机梯度下降法进行端到端训练。我们还在道路场景和SUN RGB-D室内场景分割任务上执行了SegNet和其他架构的受控基准测试。这些定量评估表明,与其他架构相比,SegNet具有良好的性能,具有有竞争力的推理时间和最有效的推理内存。
关键词-深度卷积神经网络、像素级语义分割、室内场景、道路场景、编码器、解码器、池化、上采样。
1.介绍
语义分割有广泛的应用,从场景理解、推断对象之间的支持关系到自动驾驶。早期依赖于低级视觉线索的方法已经很快被流行的机器学习算法所取代。特别是,深度学习最近在手写数字识别、语音识别、整张图像分类和图像中的目标检测[5]、[6]等方面取得了巨大的成功。现在人们对语义像素标记[7],[8],[9],[2],[4],[10],[11],[12],[13],[3],[14],[15],[16].的兴趣。然而,这些最近的一些方法尝试直接采用用于类别预测的深度体系结构来进行像素级标记[7]。结果虽然非常令人鼓舞,但结果看起来还是粗糙的[3]。这主要是因为最大池化和子采样降低了特征图的分辨率。我们设计SegNet的动机来自于将低分辨率特征映射到输入分辨率以实现像素级分类。这种映射必须产生对精确的边界定位有用的特征。
我们的架构,SegNet,被设计为一种有效的像素级语义分割架构。它的主要动机是对道路场景理解应用程序,这些应用程序需要建模外观(道路、建筑)、形状(汽车、路人),并了解不同类别之间的空间关系(上下文),如道路和人行道。在典型的道路场景中,大部分像素属于道路、建筑等大类,因此网络必须产生平滑的分割。该架构也必须有能力根据物体的形状来描绘物体,即使它们的尺寸很小。因此,在提取的图像表示中保留边界信息是很重要的。从计算的角度来看,网络在推理过程中在内存和计算时间方面都必须保持高效的。能够使用随机梯度下降(SGD)[17]等有效的权值更新技术进行端到端训练以联合优化网络中的所有权值,这是一个额外的好处,因为它更容易重复。SegNet的设计源于需要符合这些标准。
SegNet中的编码器网络在拓扑上与VGG16[1]中的卷积层在拓扑上相同。我们删除了VGG16的全连接层,这使得SegNet编码器网络比许多其他最近的[2]、[4]、[11]、[18]架构明显更小,也更容易训练。SegNet的关键组成部分是解码器网络,它由一个解码器的层次结构组成,每个解码器对应一个编码器。其中,适当的解码器使用从相应的编码器接收到的最大池化索引来对其输入特征映射进行非线性上采样。这个想法的灵感来自于一个为无监督特征学习[19]设计的架构。在解码过程中重用最大池索引有几个实际的优点:(i)它改进了边界划分,(ii)它减少了支持端到端训练的参数的数量,(iii)这种形式的上采样可以合并到任何编码-解码器结构,如[2],[10],且只需要少量的修改。
本文的主要贡献之一是我们分析了SegNet解码技术和广泛使用的全卷积网络(FCN)[2]。这是为了传达在设计分割架构时所涉及的实际权衡。最近的大多数深度分割架构都有相同的编码器网络,即VGG16,但在解码器网络、训练和推理的形式上有所不同。另一个共同特征是,它们的可训练参数数量级为数亿,因此在执行端到端训练[4]时会遇到困难。训练这些网络的困难导致了多阶段的训练[2],将网络附加到预先训练的架构中,如FCN[10],使用支持性辅助工具,如推理[4]的区域建议,不相交的训练分类和分割网络[18]和使用额外的训练数据预训练[11]、[20]或完整的训练[10]。此外,提高性能的post-processing技术[3]也很流行。尽管所有这些因素都提高了对具有挑战性的基准测试[21]的性能,但不幸的是,从它们的定量结果来看,很难理清实现良好性能所需的关键设计因素。因此,我们分析了这些方法[2]、[4]中使用的解码过程,并揭示了它们的优缺点。
我们评估了SegNet在两个场景分割任务上的性能,即CamVid道路场景分割[22]和SUN RGB-D室内场景分割[23]。PascalVOC12[21]多年来一直是分割的基准挑战。然而,这个任务的大部分都有一到两个被高度变化的背景所包围的前景类。这隐含地有利于检测技术,如最近在一个解耦的分类-分割网络[18]上的工作所示,其中分类网络可以用大量的弱标记数据进行训练,并提高了独立分割网络的性能。[3]的方法也使用带有独立CRF后处理技术的分类网络特征图进行分割。性能还可以通过使用额外的推理辅助工具来提高,如区域建议[4],[24]。因此,它不同于场景理解,其思想是利用对象和其他空间上下文的共存来进行鲁棒分割。为了证明SegNet的有效性,我们提供了一个实时在线演示的道路场景分割,分割成11类感兴趣的自动驾驶(见图1中的链接)。在从谷歌中随机抽取的道路场景图像和来自SUNRGB-D数据集[23]的室内测试场景上产生的一些示例测试结果如图1所示。
图1.SegNet对道路场景和室内场景的预测。
本文的其余部分组织如下。在第2节中,我们回顾了最近的相关文献。我们在第3节中描述了SegNet的体系结构及其分析。在第4节中,我们评估了SegNet在室外和室内场景数据集上的性能。接下来在第5节是关于我们的方法的一般性讨论,包括指向未来工作的指针。 我们在第6节中得出结论。
2.文献综述
像素级语义分割是一个活跃的研究课题,被具有挑战性的数据集[21],[22],[23],[25],[26]推动。在深度网络出现之前,性能最好的方法大多依赖于人工设计的特征,对像素进行独立分类。通常,一个补丁被输入到一个分类器中,例如随机森林[27],[28]或Boosting[29],[30]来预测中心像素的类概率。基于外观[27]或SfM的特征和外观[28]、[29]、[30]已经在CamVid道路场景理解测试[22]中进行了探索。然后通过使用成对或更高阶的CRF[29],[30]对这些来自分类器的每像素噪声预测(通常称为一元项),进行平滑处理,以提高精度。最近的方法旨在通过预测一个补丁中所有像素的标签,而不仅仅是中心像素来产生高质量的unaries。这改进了基于随机森林的unaries[31]的结果,但薄结构化类的分类很差。从CamVid视频中计算出的密集深度图也被用作使用随机森林[32]进行分类的输入。另一种方法主张结合使用流行的手工设计的特征和时空超像素化来获得更高的精度[33]。CamVid测试[30]上的最佳性能技术通过将CRF框架中的目标检测输出与分类器预测相结合,解决了标签频率之间的不平衡问题。所有这些技术的结果表明,改进分类特征的需要。
自纽约大学数据集[25]发布以来,室内RGBD像素级语义分割也得到了普及。该数据集显示了深度通道对改进分割的有效性。他们的方法使用RGB-SIFT、深度-SIFT和像素位置等特征作为神经网络分类器的输入来预测像素单元。然后使用CRF对噪声单元进行平滑处理。使用了更丰富的特征集改进,包括LBP和区域分割,以获得更高精度的[34],然后是CRF。在最近的工作[25]中,类分割和支持关系是使用RGB和基于深度的线索的组合一起推断的。另一种方法侧重于实时联合重建和语义分割,其中使用随机森林作为分类器[35]。Gupta等人,[36]在进行类别分割之前使用边界检测和分层分组。所有这些方法的共同属性是使用手工工程特征来分类RGB或RGBD图像。
深度卷积神经网络在目标分类方面的成功,最近促使研究人员利用他们的特征学习能力,用于结构化预测问题,如分割。也有人尝试将设计用于目标分类的网络应用于分割,特别是通过在blocks中复制最深层的特征来匹配图像尺寸[7]、[37]、[38]、[39]。然而,所得到的分类结果是块状的[38]。另一种方法使用递归神经网络[40]合并几个低分辨率预测来创建输入图像的分辨率预测。这些技术已经是对手工工程特性[7]的一种改进,但它们描绘边界的能力很差。
更新的深度架构[2]、[4]、[10]、[13]、[18]专门为分割而设计,通过学习解码或映射低分辨率的图像表示到像素级预测,提高了最先进的技术。在所有这些架构中产生这些低分辨率表示的编码器网络是VGG16分类网络[1],它有13个卷积层和3个全连接层。该编码器网络权值通常是在大型ImageNet对象分类数据集[41]上预先训练的。解码器网络在这些架构之间是不同的,并且是负责为每个像素产生多维特征以进行分类的部分。
全卷积网络(FCN)架构[2]中的每个解码器都学习对其输入特征图进行上采样,并将它们与相应的编码器特征图结合起来,以产生到下一个解码器的输入。它是一个在编码器网络(134M)中有大量可训练参数的架构,但却有一个非常小的解码器网络(0.5M)。这个网络的整体规模很大使其很难进行端到端相关任务的训练。因此,作者使用了一个阶段性的训练过程。在这里,解码器网络中的每个解码器被逐步添加到现有的训练过的网络中。网络不断增长,直到没有观察到性能的进一步增长。这种增长在三个解码器后停止,因此忽略高分辨率的特征图肯定会导致边缘信息[4]的丢失。除了与训练相关的问题外,在解码器中重用编码器特征映射的需要使其在测试时间中占用内存。我们将更详细地研究这个网络,因为它是其他近期架构[10],[11]的核心。
通过向FCN添加一个递归神经网络(RNN)[10],并在大数据集[21]、[42]上对其进行微调,进一步提高了FCN的预测性能。RNN层模拟了CRFs清晰的边界划分能力,同时利用了FCN的特征表示能力。他们比FCN-8显示出显著的改善,但也表明,当使用更多的训练数据来训练FCN-8时,这种差异会减少。CRF-RNN的主要优势是在与FCN-8等体系结构联合训练时显露出来的。联合训练有帮助的事实也在其他最近的结果[43],[44]中得到了体现。有趣的是,反卷积网络[4]的性能明显优于FCN,尽管代价是更复杂的训练和推理。然而,这就提出了一个问题,即随着核心前馈分割引擎的改进,CRF-RNN的感知优势是否会降低。在任何情况下,CRF-RNN网络都可以附加到包括SegNet在内的任何深度分割架构中。
多尺度的深度架构也在被追求[13],[44]。它们有两种类型,(i)使用不同尺度的输入图像和相应的深度特征提取网络,以及(ii)结合来自单个深度体系架构[45]、[11]的不同层的特征映射的网络。常见的想法是使用在多个尺度上提取的特征来提供局部和全局上下文[46],并且使用早期编码层的特征图保留了更多的高频细节,从而产生更清晰的类边界。由于其参数大小[13],其中一些架构难以训练。因此,采用了多阶段的训练过程和数据增强。使用多个卷积路径进行特征提取的推理也很昂贵。其他一些[44]在他们的多尺度网络中附加了一个CRF,并共同训练他们。然而,这些在测试时不是前馈的,需要优化来确定MAP标签。
最近提出的一些用于分割的深度架构在推理时间[4]、[3],[18]中不是前馈。它们需要对CRF[44]、[43]进行地图推理或辅助工具,如区域建议[4]进行推断。我们认为,通过使用CRF获得的感知性能提高是由于在其核心前馈分割引擎中缺乏良好的解码技术。另一方面,SegNet使用解码器获取特征,以便精确地按像素分类。
最近提出的反卷积网络[4]及其半监督变体解耦网络[18]利用编码器特征映射(池化索引)的最大位置在解码器网络中进行非线性上采样。这些架构的作者,独立于SegNet(首次提交给CVPR2015[12]),提出了在解码器网络中进行解码的想法。然而,它们的编码器网络由来自VGG-16网络的全连接层组成,vgg16网络约占其整个网络参数的90%。这使得对其网络的培训非常困难,因此需要额外的援助,例如利用区域建议来进行训练。此外,在推理过程中使用了这些建议,这大大增加了推理时间。从基准测试的角度来看,这也使得在没有其他辅助工具的情况下,很难评估它们的架构(编解码器网络)的性能。在这项工作中,我们丢弃了VGG16编码器网络的全连接层,这使我们能够使用使用SGD优化的相关训练集来训练网络。另一种最近的方法[3]显示了在不牺牲性能的情况下显著减少参数的数量,减少内存消耗和提高推理时间的好处。
我们的工作受到了Ranzato等人[19]提出的无监督特征学习架构的启发。关键的学习模块是一个encoder-decoder网络。编码器通过与滤波器组的卷积、元素级非线性、最大池化和子采样来获得特征映射。对于每个样本,在池化期间计算的最大位置的索引被存储并传递给解码器。解码器通过使用存储的池化索引来对特征映射进行上采样。它使用一个可训练的解码器滤波器组对这些上采样映射进行卷积,以重建输入图像。该体系结构用于无监督的分类预训练。一种类似的解码技术被用于可视化训练过的卷积网络[47]进行分类。Ranzato等人的架构主要关注于使用小输入patches的分层特征学习。这是由Kavukcuoglu等人[48]扩展的。接受全图像大小作为输入来学习分层编码器。然而,这两种方法都没有尝试使用深度编码器-解码器网络进行无监督特征训练,因为它们在每次编码器训练后都丢弃了解码器。在这里,SegNet不同于这些架构,因为深度编码器-解码器网络是为一个监督学习任务而联合训练的,因此解码器在测试时间内是网络的一个不可缺少的部分。
使用深度网络进行像素级预测的其他应用程序是图像超分辨率[49]和来自单个图像[50]的深度图预测。[50]的作者讨论了从低分辨率特征图中学习上采样的必要性,这是本文的中心主题。
3.网络结构
图2.SegNet体系结构的一个说明。
没有全连接层,因此它只是卷积的。一个解码器使用从其编码器转移的池化索引对其输入进行上采样,以产生一个稀疏的特征映射(s)。然后与可训练滤波器组进行卷积,以增强特征图。最终的解码器输出特征映射被输入到一个softmax分类器中,以进行像素级分类。
SegNet有一个编码器网络和一个相应的解码器网络,然后是最后一个像素级分类层。该架构如图2所示。该编码器网络由13个卷积层组成,分别对应于设计用于目标分类的VGG16网络[1]中的前13个卷积层。因此,我们可以从大数据集[41]上训练的权值来初始化训练过程。我们还可以丢弃完全连接的层,以便在最深的编码器输出处保留更高分辨率的特征图。与其他最近的架构[2],[4]相比,这也显著减少了SegNet编码器网络中的参数数量(从134M减少到14.7M)。(见表6)。每个编码器层具有相应的解码器层,因此该解码器网络具有13层。最终的解码器输出被输入到一个多类softmax分类器,以独立地产生每个像素的类概率。
编码器网络中的每个编码器都与一个滤波器组进行卷积,以生成一组特征映射。然后是批标准化[51],[52])。然后应用元素角度校正线性非线性(ReLU)max(0,x)。然后,执行具有2×2窗口和步幅2(非重叠窗口)的最大池化,并将结果输出的子采样率降为2倍。最大池化用于实现输入图像中小空间位移上的平移不变性。子采样的结果是,特征图中的每个像素都有一个较大的输入图像上下文(空间窗口)。虽然多层的最大池化和子采样可以实现更多的平移不变性来进行鲁棒分类,但特征映射的空间分辨率存在损失。边界的划定是至关重要的,越来越有损的(边界细节)图像表示不利于分割。因此,在进行子采样之前,需要在编码器特征图中捕获和存储边界信息。如果推理过程中的内存不受限制,那么所有的编码器特征映射(在子采样之后)都可以被存储。这在实际应用中通常不是这样的情况,因此我们提出了一种更有效的方法来存储这些信息。它只存储最大池化索引,即为每个编码器特征映射记忆每个池化窗口中最大特征值的位置。原则上,这可以对每个2×2池窗口使用2位元来完成,因此与用浮点精度记忆特征图相比,存储效率更高。正如我们在本文后面所展示的,这种较低的内存存储会导致轻微的精度损失,但仍然适用于实际应用。
解码器网络中适当的解码器使用从相应的编码器特征映射中记忆的最大池索引对其输入特征映射进行上采样。此步骤将生成稀疏特征映射。这种SegNet解码技术如图3所示。然后将这些特征映射与一个可训练的解码器滤波器组进行卷积,以生成密集的特征映射。然后,将批处理规范化步骤应用于每个这些映射。请注意,与第一个编码器(最接近输入图像)对应的解码器产生一个多通道特征图,尽管它的编码器输入有3个通道(RGB)。这不同于网络中的其他解码器,它们产生的特征映射与编码器输入的大小和通道具有相同的数量。最终解码器输出的高维特征表示被输入给可训练的softmax分类器。这个softmax值可以独立地对每个像素进行分类。softmax分类器的输出是一个K通道图像,其中K是类的数量。预测的分割对应于在每个像素上概率最大的类。
我们在这里补充说,另外两个架构,DeconvNet[53]和U-Net[16]与SegNet有相似的架构,但有一些不同。DeconvNet具有更大的参数化,需要更多的计算资源,而且更难端到端训练(表6),主要是由于使用了全连接层(尽管是卷积的方式),我们在论文的后面报告了一些与DeconvNet的比较。
与SegNet相比,U-Net[16](为医学成像社区提出)不重用池索引,而是将整个特征图(以消耗更多内存为代价)转移到相应的解码器,并将它们连接到上采样(通过反卷积)解码器特征图。在VGG net架构中,U-Net中没有conv5和max-pool 5块。另一方面,SegNet使用来自VGG网络的所有预训练的卷积层权值作为预训练的权值。
3.1解码器变体
图3。SegNet和FCN[2]解码器的说明。
a、b、c、d对应于特征图中的值。SegNet使用最大池化索引对特征映射(无需学习)进行上采样,并与一个可训练的解码器滤波器组进行卷积。FCN上采样,通过学习将输入的特征图解卷积,并添加相应的编码器特征图来产生解码器输出。该特征映射是相应编码器中的最大池化层(包括子采样)的输出。请注意,在FCN中没有可训练的解码器过滤器。
许多分割架构[2],[3],[4]共享相同的编码器网络,它们只在解码器网络的形式上有所不同。其中,我们选择将SegNet解码技术与广泛使用的全卷积网络(FCN)解码技术[2],[10]进行比较。
为了分析SegNet并将其性能与FCN(解码器变体)进行比较,我们使用了一个较小版本的SegNet,称为SegNet-Basic,它有4个编码器和4个解码器。SegNet-Basic中的所有编码器都执行最大池化和下采样,并且相应的解码器使用接收到的最大池化索引对其输入进行上采样。在编码器和解码器网络中,在每个卷积层之后都使用批处理归一化。卷积后不使用偏差,解码器网络中也不存在ReLU非线性。此外,在所有的编码器层和解码器层上,选择一个恒定大小为7×7的内核,为光滑标记提供广泛的上下文,最深层特征图(层4)中的像素可以追溯到106×106像素的输入图像中的上下文窗口。这种小尺寸的SegNet-Basic允许我们探索许多不同的变体(解码器),并在合理的时间内训练它们。类似地,我们创建了FCN- basic,一个FCN的可比版本用于我们的分析,FCN-Basic与SegNet-Basic共享相同的编码器网络,但在其所有解码器中使用的FCN解码技术(见图3)。
在图3的左边是SegNet(也是SegNet-Basic)使用的解码技术,在上采样步骤中不涉及学习。然而,上采样映射与可训练的多通道解码器滤波器进行卷积,以增强其稀疏输入。每个解码器滤波器具有与上采样特征映射的数量相同的通道数量。一个较小的变体是,解码器滤波器是单通道,即它们只卷积它们相应的上采样特征映射。这个变体(SegNetBasic-SingleChannelDecoder)显著地减少了可训练参数的数量和推理时间。
在图3的右边是FCN(也是FCN-Basic)解码技术。FCN模型的重要设计元素是编码器特征映射的降维步骤。这就压缩了编码器的特征映射,然后在相应的解码器中使用。编码器特征映射的降维,比如64个通道,是通过与1×1×64×K可训练滤波器卷积来完成的,其中K是类的数量。压缩的K个通道最终编码器层特征图是解码器网络的输入。在该网络的一个解码器中,上采样是通过使用一个固定的或可训练的多通道上采样核进行逆卷积来执行的。我们将内核大小设置为8×8。这种上采样的方式也被称为反卷积。需要注意的是,相比之下,SegNet使用可训练解码器滤波器的多通道卷积是在对密集特征图进行上采样后执行的。FCN中的上采样特征图有K个通道。然后将元素添加到相应的分辨率编码器特征图中,生成输出解码器特征图。利用双线性插值权值[2]对上采样核进行初始化。
FCN解码器模型需要在推理过程中存储编码器特征映射。对于嵌入式应用程序来说,内存非常密集;例如,以32位浮点精度以180×240分辨率存储FCN-Basic第一层的64个特性映射需要11MB。这可以通过降维到11个特征映射,这需要≈1.9MB存储。另一方面,SegNet对池化索引的存储成本几乎可以忽略不计(如果每2×2池窗口存储2位存储,则为0.17MB)。我们还可以创建FCN-Basic模型的一个变体,它放弃了编码器特征映射添加步骤,只学习上采样内核(FCN-Basic-NoAddition)。
除了上述变量外,我们还研究了使用固定的双线性插值权值的上采样,因此不需要学习来进行上采样(Bilinear-Interpolation双线性插值)。在另一个极端,我们可以在每一层添加64个编码器特征映射到SegNet解码器中的相应输出特征映射,以创建一个更内存密集型的SegNet变体(SegNet-basic encoder addition)。这里使用了两个用于上采样的池化索引,然后是一个卷积步骤来强化其稀疏输入。然后将其按元素顺序添加到相应的编码器特征映射中,以产生解码器输出。
另一个内存更密集型的FCN-Basic变体(FCN-Basic-NoDimReduction)是指没有对编码器特征映射执行降维。这意味着与FCN-Basic不同的是,最终的编码器特征映射在将其传递到解码器网络之前没有被压缩到K个通道。因此,在每个解码器的末端的通道数与相应的编码器相同(即64个)。
我们还尝试了其他通用变体,其中特征图只是通过复制[7]简单地上采样,或者使用固定的(并且稀疏的)用于上采样的指数数组。与上述变体相比,它们的表现相当差。一种在编码器网络中没有最大池化和子采样的变体(解码器是冗余的)会消耗更多的内存,需要更长的收敛时间,并且性能较差。最后,请注意,为了鼓励复制我们的结果,我们发布了所有变体的Caffe实现。
3.2训练
我们使用CamVid道路场景数据集来基准测试解码器变体的性能。这个数据集很小,包括367个训练图像和233个测试的360×480分辨率的RGB图像(白天和黄昏场景)。挑战是划分11个类别,如道路、建筑、汽车、行人、标志、电线杆、人行道等。我们对RGB输入执行局部对比度归一化[54]。
编码器和解码器的权值都使用He等人[55]中描述的技术进行初始化。为了训练所有的变量,我们使用随机梯度下降(SGD),固定的学习率为0.1,动量为0.9[17],使用我们的SegNet-Basic[56]的Caffe实现。我们训练这些变体,直到训练损失收敛。在每个epoch之前,对训练集进行打乱,然后依次选择每个mini-batch(12张图像),从而确保每个图像在一个epoch中只使用一次。我们选择了在验证数据集上性能最高的模型。
我们使用交叉熵损失[2]作为训练网络的目标函数。损失是一个mini-batch中所有像素的求和。当训练集中每个类的像素数量有很大的变化时(例如,道路、天空和建筑像素主导了CamVid数据集),那么就需要根据真实的类对损失进行不同的加权。这被称为类平衡。我们使用中值频率平衡[13],其中在损失函数中分配给一个类的权重是在整个训练集上计算的类频率的中位数除以类频率。这意味着在训练集中,较大的类的权值小于1,并且最小的类的权值最高。我们还实验了训练不同的变体,而不使用类平衡或等价地使用自然频率平衡。
3.3分析
为了比较不同解码器变量的定量性能,我们使用了三种常用的性能度量:全局精度(G),它测量正确分类的像素在数据集中的百分比,类平均精度©,是对所有类的预测精度的平均值,以及在PascalVOC12挑战[21]中使用的所有类的平均联合交集(mIoU)。mIoU度量是一个比类平均精度更严格的度量,因为它惩罚假阳性预测。然而,mIoU度量并没有直接通过类平衡交叉熵损失进行优化。
mIoU度量或称为Jacard指数,在基准测试中最常用。然而,Csurka等人[57]注意到,这个度量并不总是对应于人类对高质量分割的定性判断(等级)。他们的例子表明,mIoU偏好区域平滑,而不评估边界精度,FCN[58]的作者最近也提到了这一点。因此,他们提出用基于Berkeley轮廓匹配分数的边界测度来补充mIoU度量,该边界测度通常用于评估无监督图像分割质量[59]。Csurka等人[57]简单地将其扩展到语义分割,并表明与mIoU度量结合使用的语义轮廓精度度量与人类对分割输出的排序更一致。
计算语义轮廓得分的关键思想是评估f1测度[59],这涉及到在给定一个像素公差的距离下计算预测值和ground truth类边界之间的精度和召回值。我们使用图像对角线的0.75%的值作为公差距离。在ground truth测试图像中出现的每个类的F1-测量值被平均以产生图像F1-测量值。然后我们计算整个测试集的平均值,用图像F1-测量值的平均值表示边界F1-measure (BF)。
我们在CamVid验证集上进行每1000次优化迭代后,测试每个架构变体,直到训练损失收敛。如果训练mini-batch大小为12,这对应于通过训练集大约每33个epoch(通过)对其进行一次测试。我们在验证集上的评估中选择全局精度最高的迭代。我们在此时的保留的CamVid测试集上报告了所有的三个性能指标。虽然我们在训练变体时使用了类平衡,但要实现较高的全局精度以实现整体平滑分割仍然很重要。另一个原因是,分割对自动驾驶的贡献主要是为了划分道路、建筑、人行道、天空等类别。这些类占据了图像中的大部分像素,对这些重要类进行良好的分割才能获得较高的全局精度。我们还观察到,当类平均最高时,报告数值性能往往对应于表明感知有噪声的分割输出的较低的全局精度。
表1.解码器变体的比较。我们使用全局(G)、类平均©、并集的交集均值(mIoU)和语义轮廓测度度量(BF)来量化性能。测试和训练精度显示为固有频率和中位数频率平衡训练损失函数的百分比。SegNet-Basic的性能与FCN-Basic相同,但只需要存储最大池化索引,因此在推理过程中内存效率更高。请注意,所报告的理论内存需求仅基于第一层编码器特征映射的大小。FCN-Basic, SegNet-Basic, SegNet-Basic-EncoderAddition都有很高的BF分数,这表明需要在编码器特征图中使用信息来更好地描述类轮廓。具有较大解码器的网络和那些完全使用编码器特征映射的网络表现最好,然而它们在推理时间和内存方面效率最低。
在表1中,我们报告了我们分析的数值结果。我们还展示了可训练参数的大小和最高分辨率的特征图或池化索引存储内存,即经过最大池化和下采样后的第一层特征图。我们用我们的Caffe实现展示了一次向前传递的平均时间,使用cuDNN v3加速的NVIDIA Titan GPU上使用360×480输入平均超过50次测量。我们注意到,SegNet变体中的上采样层并没有使用cuDNN加速进行优化。我们展示了在选定的迭代中对所有变体的测试和训练的结果。结果也被制成表格,没有类平衡(固有频率)的训练和测试的准确性。下面我们将分析具有类平衡功能的结果。
由表1,可以看出,基于所有的准确性测量,没有任何学习的基于双线性插值的上采样表现最差。所有其他使用学习进行上采样(FCN-Basic和变体)或上采样后的学习解码器过滤器(SegNet-Basic及其变体)的方法都表现得明显更好。这强调了学习分段解码器进行分割的必要性。其他作者在比较FCN和segnet型解码技术[4]时收集的实验证据也支持了这一点。
当我们比较SegNet-Basic和FCN-Basic时,我们可以看到两者在这个测试中在所有的准确性测量上都表现得同样好。不同之处在于,SegNet在推理过程中使用了更少的内存,因为它只存储最大池索引。另一方面,FCN-Basic完全存储编码器特性映射,这会消耗更多的内存(11倍以上)。SegNet-Basic有一个解码器,在每个解码器层中有64个特征映射。相比之下,使用降维方法的FCN-Basic在每个解码器层中有更少的(11)特征映射。这减少了解码器网络中的卷积数量,因此FCN-Basic在推理(向前传递)过程中更快。从另一个角度来看,SegNet-Basic中的解码器网络使其总体上比FCN-Basic更大。这赋予了它更大的灵活性,因此在相同的迭代次数下获得了比FCN-Basic更高的训练精度。总的来说,我们看到,当推理时间内存受到限制,但推理时间可能在一定程度上受损时,SegNet-Basic比FCN-Basic有优势。
SegNet-Basic在解码器方面与 FCN-Basic-NoAddition最相似,尽管SegNet的解码器更大。两者都学习生成密集的特征图,要么直接通过学习执行 FCN-Basic-NoAddition中的反褶积,要么通过首先上采样,然后与训练过的解码器滤波器进行卷积。SegNet-Basic的性能更优越,部分原因是它的解码器尺寸更大。与FCN-Basic相比, FCN-Basic-NoAddition的准确性也低于FCN-Basic。这表明,捕获编码器特性映射中的信息是至关重要的。特别注意,这两个变体之间BF测量的大下降。这也可以解释为什么SegNet-Basic优于 FCN-Basic-NoAddition的部分原因。
FCN-Basic-NoAddition-NoDimReduction模型的大小比SegNet-Basic略大,因为最终的编码器特征映射没有被压缩以匹配类的数量k。这使得它在模型的大小方面是一个公平的比较。这种FCN变体在测试中的性能不如SegNet-Basic,但在相同数量的训练epoch数下,它的训练精度也较低。这表明使用更大的解码器是不够的,但捕获编码器特征图信息以更好地学习,特别是细粒度的轮廓信息(注意BF度量的下降)。这里同样有趣的是,与FCN-Basic-NoAddition-NoDimReduction等大型模型相比,SegNet-Basic具有具有竞争力的训练精度。
另一个有趣的FCN-Basic-NoAddition和SegNet-Basic-SingleChannelDecoder之间的比较表明,使用最大池索引进行上采样和整体较大的解码器可以获得更好的性能。这也证明了SegNet是一个很好的分割架构,特别是当需要在存储成本、准确性和推理时间之间找到一个折衷方案时。在最好的情况下,当内存和推理时间都不受限制时,更大的模型,如FCN-Basic-NoDimReduction和SegNet-EncoderAddition,两者都比其他变体更准确。特别是,在FCN-Basic模型中,丢弃降维会导致在具有高BF分数的FCN-Basic变体中获得最佳性能。这再次强调了在分割架构中涉及的内存和准确性之间的权衡。
表1的最后两列显示了当不使用类平衡(自然频率)时的结果。在这里,我们可以观察到,如果不加权,对于所有变体的结果都较差,特别是对于类平均精度和mIoU度量。全局精度是最高的,没有加权,因为大多数场景主要是由天空,道路和建筑像素。除此之外,所有来自变体的比较分析的推论也适用于自然频率平衡,包括BF测量的趋势。SegNetBasic的性能和FCN-Basic一样好,并且比更大的FCN-Basic- noaddi- nodimreduction效果好。更大但效率较低的模型FCN-Basic-NoDimReduction 和SegNetEncoderAddition比其他变体表现更好。
我们现在可以用以下几个要点来总结上述分析:
- 当编码器特征映射完全存储时,性能最好。这一点最清楚地反映在语义轮廓描述度量(BF)中。
- 当推理过程中的内存受到限制时,就可以存储压缩形式的编码器特征映射(降维、最大池索引),并与适当的解码器(如SegNet类型)一起使用,以提高性能。
- 更大的解码器可以提高一个给定的编码器网络的性能。
4.基准测试
我们使用Caffe在两个场景分割基准测试上量化了SegNet的性能。第一个任务是道路场景分割,这是当前针对各种与自动驾驶相关的问题所具有的实用价值。第二个任务是室内场景分割,这是一些增强现实(AR)应用的直接兴趣。这两个任务的输入RGB图像都是360×480。
我们将SegNet与其他几种良好采用的深度分割架构进行了基准测试,如FCN[2]、DeepLabLargFOV[3]和deconvNet[4]。我们的目标是了解当在相同的数据集上进行端到端训练时,这些架构的性能。为了实现端到端训练,我们在每个卷积层之后添加了批处理标准化[51]层。对于DeepLab-LargeFOV,我们将最大池化3步幅更改为1,以实现最终的45×60的预测分辨率。我们将DeconvNet完全连接层的特征大小限制在1024,以便使用与其他模型相同的batch size进行训练。这里需要注意的是,DeepLab-LargeFOV[3]的作者也报告了通过减少全连接层的尺寸,性能损失很小。
为了执行一个受控的基准测试,我们使用了相同的SGD求解器[17],其固定的学习率为0.001,动量为0.9。通过数据集进行了超过100个epoch的优化,直到没有观察到进一步的性能提高。在所有模型中,0.5的dropout被添加到更深卷积层的结尾以防止过拟合。对于有11个类的道路场景,我们使用大小为5的mini-batch,对于有37个类的室内场景,我们使用大小为4的mini-batch。
4.1道路场景分割
图4。CamVid白日和黄昏测试样本的结果。SegNet显示出优越的性能,特别是它描绘边界的能力,与一些更大的模型相比,当所有模型都在受控设置中进行训练时。DeepLab-LargeFOV是最有效的模型,使用CRF进行后处理可以产生竞争的结果,尽管较小的类会丢失。具有学习反褶积的FCN明显更好。DeconvNet是训练时间最长的最大模型,但其预测会丢失小类。请注意,这些结果对应于表3中最高的mIoU精度所对应的模型。
许多道路场景数据集可用于语义解析[22]、[26]、[60]、[61]。其中,我们选择使用CamVid数据集[22]对SegNet进行基准测试,因为它包含视频序列。这使我们能够将我们提出的架构与那些使用运动和结构[28]、[29]、[30]和视频片段[33]的架构进行比较。我们还结合了[22]、[26]、[60]、[61],形成了一个包含3433张图像的集合,以训练SegNet进行一个额外的基准测试。对于道路场景分割的web演示(参见脚注3),我们将CamVid测试集包含到这个更大的数据集中。在这里,我们想注意的是,另一个最近对SegNet和62中使用的其他竞争架构进行了道路场景的独立分割基准。然而,基准测试没有受到控制,这意味着每个体系结构都使用一个单独的配方进行训练,该配方具有不同的输入分辨率,有时还包含一个验证集。因此,我们相信我们更受控制的基准可以用来补充他们的努力。
SegNet预测与其他深度架构的定性比较如图4所示。定性结果表明,该架构能够在道路场景中分割较小的类,同时产生整个场景的平滑分割。实际上,在受控基准设置下,SegNet比一些较大的模型显示出更好的性能。DeepLab-LargeFOV是最有效的模型,使用CRF进行后处理可以产生竞争的结果,尽管较小的类会丢失。学习到的反褶积的FCN明显优于固定的双线性上采样。DeconvNet是最大的模型和训练效率最低的模型。它的预测并没有保留小的类。
我们还使用这个基准测试,首先将SegNet与非几种非深度学习方法进行了比较,包括随机森林[27]、增强[27]、[29]结合基于CRF的方法[30]。这样做是为了让用户有一个视角,了解与经典的基于特征工程的技术相比,使用深度网络技术在精度上的提高。
表2.SegNet与传统方法在CamVid11道路类分割问题[22]上的定量比较。
SegNet的性能优于所有其他的方法,包括那些在大多数类上使用深度、视频和/或CRF的方法。与基于CRF的方法相比,SegNet在11个类中有8个类的预测更准确。当在3.5K图像的大数据集上进行训练时,它也显示出的类平均精度提高了大约10%。特别值得注意的是,较小/较薄类的精度有了显著提高。*注意,我们无法实现计算mIoU,BF指标的旧方法的预测。
表2中的结果显示了SegNet-Basic,SegNet与使用CRFs的方法相比获得了有竞争力的结果。这显示了深度架构从输入图像中提取有意义的特征,并将其映射到精确和平滑的类分割标签的能力。这里最有趣的结果是,当使用结合[22]、[26]、[60]、[61]获得的大型训练数据集来训练SegNet时,类平均和mIOU指标得到了很大的性能提高。相应地,SegNet的定性结果(见图4)明显优于其他方法。它能够很好地分割小类和大类。我们在这里注意到,我们在训练SegNet-Basic和SegNet时使用了中值频率类平衡[50]。此外,有一个整体平滑的分割质量,很像通常CRF后处理获得的。虽然更大的训练集改善结果并不令人惊讶,但使用预先训练的编码器网络和该训练集获得的改进百分比表明,该架构可能部署于实际应用。我们对互联网上的城市和高速公路图像进行的随机测试(见图1)表明,SegNet可以吸收一个大的训练集,并能很好地推广到不可见的图像上。它还表明,当提供足够数量的训练数据时,先验(CRF)的贡献可以减少。
表3.在3433个道路场景语料库上,CamVid测试集上语义分割的深度网络的定量比较。
当以相同的学习速率固定进行端到端训练时,像SegNet这样的小网络可以在更短的时间内表现得更好。与其他竞争模型相比,SegNet、deconvnet测量类间边界划分精度的BF得分明显更高。DeconvNet与SegNet的指标相匹配,但计算成本要大得多。SegNet的个别类精度也见表2。
在表3中,我们比较了SegNet的性能与现在广泛采用的全卷积架构。与表2中的实验相比,我们没有使用任何类平衡来训练包括SegNet在内的任何深度架构。这是因为我们发现很难训练具有中值频率平衡的更大的模型,如DeconvNet。我们在40K、80K和>80K迭代中对性能进行基准测试,给定的mini-batch大小和训练集大小大约对应于50、100和>100个epoch。(epoch:.当一个完整的数据集经过神经网络一次,并返回一次,这个过程称为一个epoch。)对于最后一个测试点,我们还报告了最大的迭代次数(这里至少有150个epoch),超过这些次数,我们没有观察到精度的提高或会过拟合。我们报告了训练阶段的三个阶段的指标,以揭示指标如何随着训练时间而变化,特别是对于更大的网络。当数据集与准确性增加时,这对理解额外的训练时间是否合理很重要。还要注意,对于每个评估,我们通过数据集执行了一个完整的运行,以获得批处理范数统计量,然后使用该统计量评估测试模型。这些评估在大型训练集上执行是昂贵的,因此我们只报告训练阶段的三个时间点的指标。
从表3中我们立即看到,与其他模型相比,SegNet,DeconvNet在所有指标上都获得了最高的分数。DeconvNet具有更高的边界划分精度,但SegNet比DeconvNet效率高得多。这可以从表6中的计算统计数据中看出。FCN和拥有完全连接层(变成卷积层)的DeconvNet,其训练速度要慢得多,并且与SegNet相比,具有相当或更高的向前向后传递时间。这里我们还注意到,在训练这些更大的模型时,过拟合不是问题,因为在与SegNet的类似迭代中,它们的指标显示出了增加的趋势。
对于FCN模型,学习反卷积层,而不是用双线性插值权值来固定它们,可以提高性能,特别是BF分数。它还可以在更短的时间内实现了更高的指标。这一事实与我们在之前的3.3分析结果一致。
令人惊讶的是,DeepLab-LargeFOV经过训练可以在45×60的分辨率下预测标签,鉴于它是参数化方面最小的模型,而且训练时间也是最快的,因此它的性能具有竞争力,见表6。然而,边界精度较差,这是由其他体系结构所共享的。长时间训练后,DeconvNet的BF得分高于其他网络。这被我们在第3.3节中的分析给出,以及它共享一个SegNet类型架构的事实。
CRF[63]后处理的影响可以在DeepLab-LargeFOV-denseCRF的最后一个时间点看到。全局和mIoU都提高了,但 class average水平降低了。然而,BF评分得到了较大的改善。这里请注意,密集的CRF超参数是通过在训练集的一个子集上进行昂贵的网格搜索过程获得的,因为没有可用的验证集。
4.2SUN RGB-D室内场景
图5。从最近发布的SUN RGB-d数据集[23]中对SegNet对RGB室内测试场景的预测进行定性评估。
在这个艰难的挑战中,SegNet的预测很好地描述了各种场景及其观点中的对象类的类间边界。当对象类大小合理时,总体分割质量更好,但当场景更杂乱时,分割质量非常嘈杂。请注意,场景图像的部分通常没有ground truth标签,这些标签以黑色显示。这些部分并没有在相应的深度模型预测中被mask。请注意,这些结果对应于表4中最高的mIoU精度所对应的模型。
SUN RGB-D[23]是一个非常具有挑战性和大型的室内场景数据集,有5285张训练图像和5050张测试图像。这些图像由不同的传感器捕获,因此有不同的分辨率。任务是分割37个室内场景类,包括墙,地板,天花板,桌子,椅子,沙发等。由于对象类具有不同的形状、大小和不同的姿态,因此这项任务很难完成。有频繁的部分遮挡,因为有许多不同的类出现在每个测试图像。这些因素使这成为最艰难的分割挑战之一。我们只使用RGB模式在训练和测试。使用深度模式将有必要对建筑进行修改/重新设计[2]。此外,当前相机的深度图像质量需要仔细的后处理,以填补缺失的测量值。它们也可能需要融合多个帧来稳健地提取特征进行分割。因此,我们认为使用深度分割值得单独的工作,这不在本文的范围。我们还注意到,这个数据集包含了一个早期的基准数据集NYUv2[25]。
道路场景图像有有限的变化,在兴趣的类别和他们的空间安排。当从移动的车辆上拍摄时,摄像机的位置几乎总是平行于路面,限制了视点的变化。这使得深度网络更容易学会稳健地将它们分割开来。相比之下,室内场景的图像要复杂得多,因为视角可以变化很多,而且场景中出现的类的数量和它们的空间排列都没有那么规律。另一个困难是场景中对象类的大小变化很大。一些来自SUN RGB-D数据集[23]的测试样本如图5所示。 我们观察了一些只有少数大类的场景和一些密集杂乱的场景(底部和右边)。外观(纹理和形状)在室内场景中也有很大的不同。因此,我们认为这是计算机视觉中分割架构和方法面临的最大挑战。其他的挑战,比如Pascal VOC12[21]显著目标分割已经占用了研究者更多的时间[66],但我们认为室内场景分割更具挑战性,在AR和机器人技术等领域有更多的实际应用。为了鼓励在这个方向上进行更多的研究,我们比较了大型SUN RGB-D数据集上著名的深层架构。
SegNet对卧室、客厅、实验室、会议室、浴室等不同类型室内场景样本的定性结果如图5所示。我们看到,在不同的视图下当类的大小很大时,SegNet获得了合理的预测。这特别有趣,因为输入模式只有RGB。RGB图像也有助于分割更薄的结构,如椅子和桌子的腿,灯,这很难使用目前可用的传感器的深度图像实现。图5的SegNet、DeconvNet结果可以看出这一点。对于AR任务来说,分割装饰对象(如墙上的画)也是有用的。但是相比于外景的分割质量显然噪声多。当杂乱增加时,质量显著下降(见中间列的结果样本)。
表4.在5250个室内场景的语料库上训练时,SUN RGB-D数据集上的深度架构的定量比较。
请注意,在这些实验中只使用了RGB模式。在这个包含37个类的复杂任务中,所有的体系结构的性能都很差,特别是因为类的规模较小和类分布中的倾斜。DeepLab-Large FOV,最小和最有效的模型,其mIoU略高,但SegNet有一个更好的G,C,BF分数。还要注意的是,当对SegNet进行中值频率类平衡训练时,它获得了71.75、44.85、32.08、14.06(180K)作为指标。
表4中的定量结果表明,所有深层架构都有较低mIoU和边界度量。global 和 class averages (与mIou密切相关)也很小。SegNet在G,C,BF指标方面优于所有其他方法,并有一个mIoU比DeepLab-LargeFOV略低。作为一个独立实验,我们使用中值频率类平衡训练了SegNet[67],其指标更高(见表4),这与我们在第3.3节的分析一致。有趣的是,使用基于网格搜索的dense-CRF的最优超参数,除了deeplabl - largefovdensecrf BF评分指标之外,其他所有指标都恶化了。也许可以找到更优的设置,但是考虑到dense-CRF的推理时间太长,网格搜索过程过于昂贵。
于网格搜索的密度- crf的最优超参数,除了deeplabl - largefovdensecrf BF评分指标之外,其他所有指标都恶化了。也许可以找到更优的设置,但是考虑到稠密crfs的推理时间太长,网格搜索过程过于昂贵。
表5.在SUN RGB-D基准数据集中的37个室内场景类的SegNet预测的类平均精度。
在室内场景中,其表现与类的规模密切相关。请注意,类平均精度与mIoU度量有很强的相关性。
整体性能较差的一个原因是在这个分割任务中有大量的类,其中很多类占据了图像的一小部分,很少出现。表5中报告的准确性清楚地表明,较大的类别具有合理的精度,而较小的类别的精度较低。这可以通过更大的数据集和类分布感知训练技术得到改善。性能差的另一个原因可能是这些深层架构(都基于VGG架构[6])在室内场景中无法实现较大的可变性。我们的这一推测是基于这样一个事实:最小的模型DeepLab-LargeFOV在mIoU方面产生了最好的精度,相比之下,在DeconvNet、FCN中更大的参数化并没有提高性能,即使训练时间更长(DeconvNet)。这表明在所有架构中都存在性能差的常见原因。需要更多的控制数据集[68]来验证这一假设。
表6.各种深度架构所需的计算时间和硬件资源的比较。
caffe时间命令用于计算超过10次迭代的平均时间需求,mini batch大小为1和360×480分辨率的图像。我们使用nvidia-smiunix命令来计算内存消耗。对于训练内存计算,我们使用了大小为4的mini batch,对于推理内存,batch大小为1。模型大小为磁盘上的支架模型的大小。SegNet是在推理模型中内存效率最高的方法。
5.讨论和未来的工作
由于大量数据集的可用性以及模型深度和参数化的扩展,深度学习模型取得了越来越大的成功。然而,在实践中,训练和测试期间的记忆和计算时间等因素是从大量模型中选择模型时要考虑的重要因素。训练时间成为一个重要的考虑因素,特别是当性能增益与增加的训练时间不相称时,如我们的实验所示。测试时间、内存和计算负载对于在特定的嵌入式设备(例如AR应用程序)上部署模型非常重要。从整体效率的观点来看,我们觉得,人们较少关注更小、更多内存、时间更高效的实时应用模型,如道路场景理解和AR。这是SegNet提议背后的主要动机,它明显比其他竞争架构更小,更快,但我们已经证明它对于道路场景理解等任务是有效的。
分割的挑战,如Pascal[21]和MS-COCO[42]是对象分割的挑战,其中有几个类存在于任何测试的图像。由于室内场景的高度可变性和需要同时分割大量的类,场景分割更具有挑战性。室外和室内场景分割的任务也更加面向实际,与目前的应用,如自动驾驶,机器人和AR。
我们选择的对各种深度分割架构进行基准测试的指标,如边界f1 -measure(BF)是为了补充现有的更偏向于区域准确性的指标。很明显,从我们的实验和其他独立的基准测试[62]中可以清楚地看出,从移动的汽车中捕捉到的户外场景图像更容易分割,而且深度架构执行起来也很稳定。我们希望我们的实验将鼓励研究人员将他们的注意力投入到更具挑战性的室内场景分割任务。
在对不同的不同参数化深层架构进行基准测试时,我们必须做出的一个重要选择是训练它们的方式。这些架构中有许多使用了大量的支持技术和多阶段训练方法来达到数据集的高精确度,但这使得在时间和内存的限制下很难收集关于它们真实性能的证据。相反,我们选择执行一个受控的基准测试,其中我们使用批处理标准化来启用同一个求解器(SGD)的端到端训练。然而,我们注意到,这种方法不能完全分离模型与求解器(优化)在实现特定结果中的影响。这主要是由于这些网络的训练涉及到梯度反向传播,这是不完善的,优化是一个非常大维度的非凸问题。认识到这些缺点,我们希望这种可控的分析能够补充其他的基准[62],并揭示在不同的知名架构中涉及的实际的权衡。
对于未来,我们希望利用我们从分析中获得的对分割架构的理解,为实时应用程序设计更高效的架构。我们也感兴趣的是从深度分割架构估计模型预测的不确定性[69],[70]。
6结论
我们提出了一种用于语义分割的深度卷积网络结构SegNet。SegNet背后的主要动机是需要为理解道路和室内场景设计一个高效的架构,这在内存和计算时间方面都是高效的。我们分析了SegNet,并将其与其他重要变体进行比较,以揭示在设计分割架构时涉及到的实际权衡,特别是在训练时间、记忆和准确性方面。完全存储编码器网络特性映射的体系结构性能最好,但在推理期间消耗更多内存。另一方面,SegNet的效率更高,因为它只存储特征图的最大池索引,并在其解码器网络中使用它们,以实现良好的性能。在大型和众所周知的数据集上,SegNet展现出竞争力,在道路场景理解取得高分。深度分割架构的端到端学习是一个更大的挑战,我们希望看到更多的关注这个重要的问题。
♡♡♡♡♡