语义分割之FCN算法学习(一)

 

Fully Convolutional Networks for semantic Segmentation(语义分割的全卷积神经网络)

一、摘要

首先强调结论:我们的算法超过了传统算法的最优结果。

紧接着说明算法的核心观点:提出的全卷积网络可以实现端到端的任意尺寸图像语义分割。

其次介绍算法的核心步骤:1.改编成熟的分类网络(AlexNet ,the VGG net  , GoogLeNet ),成为全卷积网络;

                                           2.自定义了跳跃结果,结构的目的在于融合深层和浅层的语义信息,提高分割精度;

说明结果:获得了PASCAL VOC最出色的分割方式。

二、引言

简单说明卷积网络的技术发展迅猛,罗列了在目标检测中的应用。分析出接下来将在精细推理中实现像素级预测。(工作的开展是顺其自然的,而不是胡乱做的。这里可以回顾一下:图像识别从最初的的简单分类(AlexNet、VGG等),到局部区域框定(目标检测)接下来肯定就是密集预测(对每个像素进行分类——语义分割))。文章粗略阐述了工作内容:1.说明本算法的试验结果最优;2.说明全卷积网络能处理任意尺寸的图片;3.说明网络的推理过程是前馈计算和反向传播;4.说明浅层和深层结合的原因,由于全局信息解决的“是什么”,而局部信息解决的是“在哪里”,前者从浅层语义信息上体现,后者从深层语义信息中体现,所以跳跃链接的必要性就显现出来了。最后说明了文章的行文内容安排。(第二段感觉比较划水)

三、相关工作

说明本文方法是基于图像分类和迁移学习的最新成果提出的。给出了本模型的结构图。

语义分割之FCN算法学习(一)_第1张图片

1.全卷积网络扩展到任意大小输入的想法提出,并对相关作者的工作进行了简单介绍;

2.当下全卷积计算被很多学者研究应用(滑窗检测、语义分割、图像恢复——作为模型其中一个小环节),但全卷积训练很少被涉及;

3.说明也有研究人员丢弃分类网络中的无卷积部分,无法做到端到端的训练;

4.基于卷积网络的密集预测方法已经有人研究,有他们的共同点:

  • 限制容量和接收域的小模型
  • patchwise训练
  • 超像素投影的预处理,随机场正则化、滤波或局部分类
  • 输入移位和dense输出的隔行交错输出
  • 多尺度金字塔处理
  • 饱和双曲线正切非线性 
  • 集成 

5.有研究者改编深度分类网到语义分割,他们的模型都不能进行端到端的学习。

四、全卷积网络

先说明数据特征h*w*d,分别代表 高(h) 、宽(w)及通道数(d),并且提出了感受野的概念。用公式表示前后卷积层之间的计算关系。x_ij,表示的是坐标(i,j)的数据向量(矩阵)。这里的f表示的是层的一种操作,卷积、池化、非线性化处理都可以。

                                                                              (k=kernel、s=stride)

文中还写了一种等价式,我没太明白。这里我补充一个相关知识:n[l]=int(n[l-1]+2*p[l]-f[l])/s[l] + 1),前后层尺寸大小计算。

4.1改编分类器用于密集预测

分类网络是固定输入的大小,且产生非空间输出。如何转换成全卷积网络,文章给出了方法。

语义分割之FCN算法学习(一)_第2张图片

4.2 shift-and stitch稀疏滤波

为了密集预测时尺寸和标签尺寸一致(为了扩大尺寸所讨论的一种方法)

1.首先平移坐标(x,y)分别取(0,0), (0,1),(1,0),(1,1) 后,就产生了 f^2^ = 4input,不妨记为: shifted input (0,0)shifted input (0,1)shifted input (1,0)shifted input (1,1)。如下图左一所示:(这里的图转自@月牙眼的楼下小黑https://www.jianshu.com/p/e534e2be5d7d文章写得也很详细

语义分割之FCN算法学习(一)_第3张图片

语义分割之FCN算法学习(一)_第4张图片语义分割之FCN算法学习(一)_第5张图片

 从输入变换到4个输出,到最后的密集预测,就是这种方法的核心过程。所以该方法的最终目的就是保证每个像素都能对应一个output,这样输入和输出的尺寸大小就一致了。

4.3上采样时一种反卷积

这里介绍了第二种密集预测尺寸问题的解决方法就是插值法。以线性插值为例,它由周围四个点决定中间插值的大小。另外一种解决方法就是反卷积。所有的这些操作都不需要提前固定,都是可以学习的。另外试验证明这样的上采样操作比较方便快速且有效。到这里文章所涉及的关于尺寸问题的解决方案有三类,做了各自的分析,并说明本文采用的是哪一种。

4.4patchwise训练是一种损失采样

本节作者分析了patchwise训练的不足之处,由此凸显全卷积的训练的优势。这种方式比patches的均匀取样更加高效的同时,它减少了可能的批次数量。然而在一张图片中随机选择patches可能更容易被重新找到。(感觉理解得云里雾里的,说白了就是全图训练优于分块训练)

五、分割架构

首先,提出了跳跃链接这种融合浅层和深层语义信息的结构

语义分割之FCN算法学习(一)_第6张图片

5.1从分类到深度全卷积网络

将分类的一些主流框架进行适当改变就变成了分割网络。实验结果表明模型改进效果良好。

5.2结合“是什么”和“在哪里”

正式介绍跳跃链接这个点,简单的说就是,浅层信息反馈在哪里的全局特征,深层信息反馈是什么的局部特征。跳跃链接结构将两者结合就是为了得到精度更高的分割结果。试验做了三组,上采样8倍16倍及32倍。从结果来看8倍的效果是最好的(理由嘛,就是因为一次性上采样太狠,加入的噪声太多,损失的原有信息太多了。)文章也提到了上采样方法中的shift-and stitch方法,说了一嘴代价太大。

5.3实验框架

作者介绍了用momentum来实现SGD随机梯度下降(优化器);固定minibatch的大小为20,学习率为0.001、0.0001/0.00001;利用了0.9momentum实现权重衰减;加入类评分层进行初始化为0的操作;在原始分类的网络中使用Dropout;上采样方法介绍了双线性差值(而本文使用的是反卷积)。

六、展示实验结果

一个字“棒”

七、结论

全卷积网络模型很重要,效果还不错。

你可能感兴趣的:(神经网络学习,深度学习)