目录
2、ASPP(Atrous Spatial Pyramid Pooling)
一、DeepLabV1
1、DeepLab网络
DeepLab 是一个深度学习神经网络架构系列,用于语义分割和图像分割任务。DeepLab 系列由 Google Brain 团队推出,通过引入深度可变形卷积网络(DeepLabv1),空间金字塔池化模块(DeepLabv2),空洞卷积(ASPP)模块(DeepLabv3),以及在DeepLabv3+中的改进,逐步提高了在图像分割任务上的性能。
DeepLab 的关键特点包括:
-
多尺度特征融合:通过使用多尺度池化技术,DeepLab 能够同时捕获不同尺度的特征,有利于提高分割准确性和减少分割边界模糊。
-
空洞卷积(ASPP)模块:ASPP 模块能够有效地扩大感受野,并在不引入额外参数的情况下增加网络的感知能力,有助于提高分割性能。
-
引入深度孪生学习:在 DeepLabv3+ 中,引入了深度孪生学习的概念,通过在不同分支上使用不同分辨率的特征图,并结合全连接层进行互补学习,进一步提高了分割效果。
2、语义分割任务中存在的问题
在DeepLabV1原论文中,作者提出了两个存在于语义分割任务中的问题:(1)、信号下采样导致分辨率降低;(2)、空间“不敏感”问题。
- 信号下采样导致分辨率降低,作者认为是图像经过MaxPooling操作之后会降低特征图的高宽,其次会丢失细节信息以及小目标且无法通过上采样进行还原,作者给出的解决方案是引入了膨胀卷积模块。
- 空间不敏感,在分类网络中,希望对图像做任何变换之后并不会影响最终分类结果,但是在语义分割任务中,即使对图像做了很小的变动,如平移了一下图片,那么此时得到的结果与移动之间应该是不相同的。作者认为分类器网络自身就有一定的空间不变性,原博文作者认为是MaxPooling造成的。作者采用了fully-connected CRF(Conditional Random Field)方法解决,在当时常用于语义分割任务中,但是在DeepLabV3就不再使用了。
3、DeepLabV1网络优势
- 因为使用了膨胀卷积所以速度更快,但是fully-connected CRFs很耗时间
- 准确率更高
- 模型结构简单,主要由DCNNs和CRFs联级构成
4、LargeFOV(Field of View)
保证mIoU不下降的前提下,减少模型参数数量和加快模型训练速度。

在原论文中使用的backbone是当时较为主流的VGG-16网络,将全连接层的权重卷积化,将全连接层转化为卷积层,对于VGG-16的第一个全连接层有4096个节点,通过转化之后变为卷积核大小为[7x7],卷积核个数为4096个卷积层。但是如果直接使用这样的卷积层会成为计算瓶颈,为了解决这个问题,作者对该卷积层进行了一个下采样结果,变成[4x4]或者[3x3]大小。
- DeepLab-CRF-7x7就是直接将FC1按照FCN论文中的方法转换成大小[7x7]、个数4096个卷积核的卷积层,并且膨胀因子r=4,感受野receptive field=224。
- DeepLab-CRF是将[7x7]卷积核下采样到[4x4]大小的卷积层,同样膨胀因子r=4,感受野receptive field=128,参数数量减半,训练速度翻倍,但mean IOU由于感受野降低下降了约4个点。
- DeepLab-CRF-4x4,是在DeepLab-CRF的基础上把膨胀系数r改成了8,感受野receptive field=224,mean IOU又提升了回去了。
- DeepLab-CRF-LargeFOV,是将[7x7]下采样到[3x3]大小的卷积层,膨胀系数r=12,感受野receptive field=224,不止将卷积核大小下采样了,卷积核个数从4096下采样到了1024,按照FCN中第二个卷积层应该转化成卷积核大小[1x1],卷积核个数为4096的卷积层,这里由于采样FOV,将第二个卷积层的卷积核个数也下采样为1024个,相比DeepLab-CRF-7x7,参数数量减少了6倍,训练速度提升了3倍多,mean IOU不变。
5、DeepLab-LargeFOV结构

采用的backbone是VGG-16,在VGG-16原论文当中采用的MaxPool层是卷积核大小为[2x2],步距为2的池化层,在DeepLabV1中改成了卷积核大小为[3x3],步距为2,padding为1的MaxPool层。
首先通过三个MaxPool下采样层之后,下采样倍率为8倍,接下来的两个下采样层的步距设置为1,说明在DeepLabV1网络中只下采样8倍。蓝色框中的第一个卷积层block中有三个[3x3]大小、膨胀系数r=2的膨胀卷积,在最后的MaxPool层之后新加了一个平均池化层AvgPool,卷积核大小为[3x3],步距为1,padding为1,特征图的高和宽也不会发生变化。
FC1需要进行卷积化,LargeFOV卷积核大小为[3x3],步距为1,膨胀系数r=12,padding为12,通过全卷积层FC1之后特征图的高和宽不会发生变化。FC2通过卷积化转化为卷积层,卷积核大小为[1x1],卷积核个数从4096下采样到1024。最后通过一个[1x1]卷积层,卷积核个数等于类别个数num_cls,包含背景,再通过双线性插值将特征图还原回原图大小。
6、MSc(Multi-Scale)

融合多个尺度的数据,包含原图尺度的数据,还包含前四个MaxPool层输出的数据。使用MSc模块大概可以提升mIoU1.5个百分点,在官方提供的源码中,作者推荐使用DeepLab-CRF-LargeFOV模型,并不推荐使用带有MSc的版本,因为使用MSc模块之后会增加训练参数数量,其次会增大训练时所占用的GPU显存,也会减缓模型推理速度。
DeepLab-MSc-LargeFOV版本模型,增加了MSc模块之后,主分支中并没有任何变化,在原图尺度以及前四个MaxPool层的输出进行了融合。在原图尺度中首先通过了一个卷积核尺寸[3x3],步距为8,padding为1的卷积层,通过8倍下采样之后,输出的特征图的高和宽和主分支上输出的特征图高和宽是一样的,再通过[1x1]的卷积层,再通过一个卷积核大小[1x1],个数为num_cls的卷积层,之后得到的特征图大小和通道数和主分支得到的特征图大小通道数相同都为num_cls。前四个MaxPool层额外接的分支构建基本相同,唯一不同是在四个MaxPool层中,第一个卷积层当中,采用的步距为4,第二个采用的步距为2,第三个和第四个采用的步距都为1。
除了主分支的输出之外,还额外添加了5个尺度上的输出,包含原图尺度上和四个MaxPool层的输出,最后进行一个各尺度特征图相加操作,特征图shape保持不变,之后进行一个8倍上采样将特征图还原为原图大小。

本文详细介绍了DeepLab系列深度学习神经网络架构,用于语义分割和图像分割任务。包括DeepLabV1、V2、V3及V3+的网络结构、优势、解决的问题等。如V1引入膨胀卷积,V2更换backbone并引入ASPP,V3改进ASPP模块,V3+融合浅层和深层特征,逐步提升图像分割性能。
最低0.47元/天 解锁文章
5661

被折叠的 条评论
为什么被折叠?



