Deeplab v1:SEMANTIC IMAGE SEGMENTATION WITH DEEP CONVOLUTIONAL NETS AND FULLY CONNECTED CRFS

1.解决问题        

                将DCNNs应用于图像标记任务中存在两个问题:信号下采样和空间“不敏感性”(不变性)问题。

        第一个问题是在标准的DCNNs每一层重复使用最大池化max-pooling和下采样,致使最终的单张图像的分辨率降低,图片分辨率的下降导致很多的细节信息丢失,那么对于图像分割是非常不利的;对于这个问题最初的时候是使用“arouse”算法(空洞卷积)计算非抽样离散小波变换,允许DCNNs响应的高效密集计算,比之前早期的解决方案都要简单的多。

        第二个问题是从分类器所获得以目标为中心的决策需要对空间变换的不变性,固有地限制了DCNN模型的空间精度;空间不变性适用于图像分类(高度抽象,目标在图像中的位置不影响图像的分类),然后对于图像分割等低层任务很难达到好的效果。通过利用全连接条件随机领域提高了模型捕捉细节的能力。条件随机领域(Conditional Random Field-CRF)已经被广泛地应用在语义分割,联合类得分计算,通过多分类器与由像素和边缘局部交互捕获的低级信息相结合或者超像素。

2.CONVOLUTIONAL NEURAL NETWORKS FOR DENSE IMAGE LABELING

(1)基于空洞算法的高效密集滑动窗口特征提取

密集空间分数评估有利于密集CNN提取器的成功,作为实现这一个点的第一步,将VGG16的全连接层转换为卷积层,并在原始分辨率的图像上以卷积的方式运行网络。

                                                                VGG网络结构

ConvNet Configuration
 A A-LRN B C D E

11 weights

layers

11 weights

layers

13 weights

layers

16 weights

layers

16weights

layers

19weights

layers

Input(224*224 RGB image)
Conv3-64

Conv3-64

LRN

Conv3-64

Conv3-64

Conv3-64

Conv3-64

Conv3-64

Conv3-64

Conv3-64

Conv3-64

maxpool
Conv3-128

Conv3-128

Conv3-128

Conv3-128

Conv3-128

Conv3-128

Conv3-128

Conv3-128

Conv3-128

Conv3-128

Conv3-128

maxpool

Conv3-256

Conv3-256

Conv3-256

Conv3-256

Conv3-256

Conv3-256

Conv3-256

Conv3-256

Conv3-256

Conv3-256

Conv3-256

Conv3-256

Conv3-256

Conv3-256

Conv3-256

Conv3-256

maxpool

Conv3-512

Conv3-512

Conv3-512

Conv3-512

Conv3-512

Conv3-512

Conv3-512

Conv3-512

Conv3-512

Conv3-512

Conv3-512

Conv3-512

Conv3-512

Conv3-512

Conv3-512

Conv3-512

maxpool

Conv3-512

Conv3-512

Conv3-512

Conv3-512

Conv3-512

Conv3-512

Conv3-512

Conv3-512

Conv3-512

Conv3-512

Conv3-512

Conv3-512

Conv3-512

Conv3-512

Conv3-512

Conv3-512

maxpool
FC-4096
FC-4096
FC-1000
softmax

通过在卷积核中引入零来增加其卷积核的大小(空洞卷积),最后三个卷积层x2,第一个全连接层x4.这一点可以通过保持卷积核大小来更有效地实现,而不是通过稀疏的采样。

 

         对ImageNet的预训练模型VGG16进行了权重微调,就是为了直接去适应图形分类任务。将VGG16的1000分类修改为了21分类,损失函数采用CNN输出图中每个空间位置的交叉熵项求和(对比原始图像进行8倍下采样)。所有的位置和标签在所有的损失函数中权重相等,文章的目标是真实的标签(通过8倍下采样),文章优化了所有网络层的权重的目标函数,通过标准的SGD。

        在测试期间,需要原始图像分辨率下的类得分图,类得分图非常的平滑,这使得可以使用简单的双线性插值以在忽略计算成本将它们的分辨率提高8倍,不使用空洞算法和在CNN输出产生非常粗糙的得分。这迫使他们使用学习上采样层,大大增加了系统的复杂性和训练时间。在PASCAL VOC 2012上通过微调文章提到的网络训练大概7天时间(现代的GPU)。

(2)使用卷积网络控制感受野大小和加速密集计算
        为密集分数计算重新设计网络另一个关键因素是明确控制网络的感受野大小。最近的大多数基于DCNN的图像识别方法依赖于ImageNet大规模分类任务上预先训练的网络。

        依赖于ImageNet大规模分类任务的网络具有较大的感受野,而对于VGG16网络结构的感受野大小为224x224和404x404;但是将VGG16的网络转换为全卷积之后,之前的第一个全连接层具有4096个7x7大小的卷积核,这就造成计算的瓶颈,所以需要进行改进。

        所以对其之前的第一层全连接层修改为进行二次下采样到4x4大小,从而解决计算瓶颈的问题,使得计算时间减少了2-3倍,但是这会使网络的感受野大小为128x128或308x308。

        最后得到的效果:在测试期间,密集的原始特征以大约为8fps/s进行预测,训练期间的速度为3fps/s。同时在不降低性能的情况下,将全连接层的通道数从4096降低到1024.

6.详细的边界恢复:全连接条件,随机感受域和多尺度预测

(1)深度卷积神经网络和定位挑战

         

        

DCNN得分图可以可靠的预测图像中对象和粗略的定位,但是不太适合精确定位它们的轮廓。也就是说DCNN(深度卷积神经网络)对图像中的目标进行定位时是不精确的,由于具有其平移不变性和大的感受野(输入的图像的分辨率越大,那么对其图像中的目标进行定位时也具有挑战)。

最近的工作有两个方向来解决这个定位挑战。第一种方法是利用来自卷积网络中多个层的信息,以便更好地估计对象边界;第二种方法是利用超像素表示,本质上是将定位任务委托给低级分割方法。这也是非常成功的方法。

基于DCNNs的识别能力和全连接CRF的细粒度定位精度来寻求一种新的替代方法,展现了在解决定位挑战方面非常的成功,产生准确的语义分割结果和在现有的方法无法达到的细节水平上恢复对象边界方面非常的成功。 

(2)精确定位的全连接CRF(connectional Random Fields)
传统上,条件随机域CRF已经用来平滑噪声分割图。经典的一些模型包含耦合相邻结点的能量术语,有利于将相同标签分配给空间上邻近的像素。定性的说,这些短程CRF的主要功能是清除建立在局部手工设计特征之上的弱分类器的虚假预测。

但对于CNN来说,short-range CRFs可能会起到反作用,因为我们的目标是恢复局部信息,而不是进一步平滑图像。

E(x)模型能量函数:

7.多尺度预测

         

探索一种多尺度预测方法来提高边界定位精度:

在输入图片与前四个max pooling后添加MLP(多层感知机,包括3*3*128以及1*1*128),得到预测结果。
这四个预测结果与最终模型输出拼接(concatenate)到一起,相当于多了128*5=640个channel。
效果不如dense CRF,但也有一定提高。最终模型是结合了Desne CRF与Multi-scale Prediction。

8.实验评估
(1)数据集(Dataset)
将模型DeepLab放在PASCAL VOC 2012分割基准上进行测试,包含20个前景类别和1个背景别.原始的数据集包含1464,1449和1456张图像分别进行训练,验证和测试。数据集由Hariharan提供额外的标签。产生了10582张训练图像,测量方式是21个类别的平均像素交并比(IoU).
 

(2)训练
采用分段训练的方式,将DCNN和CRF训练分开进行。并且在ImageNet上对VGG16进行训练得到预训练模型。

通过交叉熵损失函数的随机梯度下降,对VOC-21种像素类别任务的VGG16网络进行微调。

参数设置:

    min-batch:20

    learing-rate:0.001(每2000次迭代learing-rate*0.1)

    momentum:0.9

    weight decay:0.0005

    w2:3

    σγ = 3

    比如:w1, σα, and σβ通过交叉验证来搜索。

(3)在验证集上的评估
在PASCAL VOC的验证集数据集上进行验证,在进行数据增强的PASCAL VOC数据集上进行训练。

(3)FOV

        使用的“atrous algorithm”,通过调整输入步幅来任意控制模型的感受野(FOV),如图1所示。作者在第一个全连接层上实验了几个核大小和输入步幅。该方法DeepLab-CRF-7x7是对VGG-16网络的直接修改,其中内核大小为=7×7,输入步幅为=4。该模型在“val”集上产生了67.64%的性能,但它相对较慢(在训练期间每秒1.44张图像)。通过将内核大小降低到4×4,我们已经将模型速度提高到每秒2.9张图像。作者实验了两种不同FOV大小的网络变体,DeepLab-CRF和DeepLab-CRF-4x4;后者具有较大的FOV(即较大的输入步幅),并获得更好的性能。最后,作者采用内核大小为3的×3和输入步幅= 12,并进一步将最后两层的过滤器大小从4096更改为1024。生成的模型DeepLab-CRF-LargeFOV与昂贵的DeepLabCRF-7x7的性能相匹配。同时,它的运行速度快3.36倍,参数明显更少(20.5M而不是134.3M)。 

 

 

(4)多尺度特征

        主要是利用中间层的特征,将多尺度特征添加到DeepLab模型上面,基于多尺度特征图进行预测,并计算损失

利用多尺度特征可以轻微的细化目标边界。 

(5)沿目标边界的平均像素IoU
为了量化对象边界附近所提出的模型的准确性。使用在val集合中注释的“void”标签这通常发生在对象边界周围。计算这些像素的平均IOU:位于“void”标签的窄带,利用来自中间层的多尺度特征和通过完全连接的CRF改进分割结果显著提高了对象边界周围的结果。

(6)测试结果

 参考:DeepLabV1(semantic image segmentation with deep convolutional nets and fully connected CRFs)论文_Keep_Trying_Go的博客-CSDN博客

 

猜你喜欢

转载自blog.csdn.net/qq_52053775/article/details/126969250