概述
提出背景
卷积操作具有局部连接、权值共享的特点,能很好地保留二维数据的空间信息,而池化操作能够很好地满足平移不变性,这在分类任务中非常重要。但是卷积神经网络有一个很大的缺陷,就是网络输入必须指定大小,而且一般只能进行一对一的预测,即一个输入只能得到一个预测结果。但是随着视觉领域的发展,这种预测已经无法满足要求,完成的任务越来越复杂,往往需要的是密集预测,即输入对象中的每一个元素都需要进行预测,这是卷积神经网络无法完成的,而全卷积神经网络就是在这种需求下被提出的。
顾名思义,全卷积神经网络中包含的都是卷积层,根据任务需要可以适当保留池化层,为了完成密集预测,卷积神经网络中的全连接层必须被卷积层替代,这也是全卷积神经网络最大的特点之一。
模型差异
卷积神经网络结构模型:
全卷积神经网络结构模型:
最后一步采用上采样来进行像素提升从而使其大小与原图相同
优势:
相较于卷积神经网络,全卷积网络的优势:
由于保留了卷积和池化操作,全卷积神经网络具有卷积神经网络的所
有特点,此外,全卷积神经网络对于输入非常宽容,可以处理任意大小的输入信号。
目前,全卷积神经网络被广泛应用于目标分割、目标检测、目标分类等研究领域,并取得了令人瞩目的成果。
应用:
语义分割
语义分割,即密集分类问题,需要对输入图像中的每个像素点都进行分类来完成目标分割任务,任务最后的输出是一张与原图大小相关的分类结果图,图中每个值对应的是原图中每个点的分类预测结果。由于语义分割能实现各类目标之间的精确分割,因此被广泛应用于自动驾驶、医疗、地理、机器人等研究领域。
FCN语义分割算法是在 2015年提出的,它第一次真正实现了全卷积神经网络在像素级预测任务上的端对端训练。FCN算法通过将原始CNN网络中的全连接层替换为1×1 的卷积层来实现全卷积网络结构。如图 1所示。通过这个操作,FCN可以对图像中的每个像素点都产生一个预测结果,最终输出一个与输入图像大小相关的预测图。
使用11卷积层即为对于一张宽度W,高度H,通道数N的feature map (WHN),通过本层的M个11的filter的卷积之后,会变成一张WHM的feature map,若N>M,其实就是降维了,反之即升维了。
FCN有以下优点:1×1卷积层的使用使网络可以处 理任意大小的输入;基于块的方法需要在重叠块上进行 很多冗余计算,而 FCN中感受野的显著重叠使得网络 在前馈和反馈计算中更加高效。FCN也存在以下缺陷: 首先网络整体规模过大,很难在相关任务上完成端对端训练;其次,由于预测结果由多个下采样后的特征图通 过上采样直接产生,这些特征图太过稀疏,导致分割结果不够精细,缺乏细节信息。FCN通过跳层结构将来自 不同层的特征图进行有效融合能有效提升分割精度。 这是由于 FCN中较深的层能学习到目标的全局特征,而较浅的层则可以捕获目标的大量细节信息,这种信息 的互补对目标分割任务有利。
FCN跳层
简单理解就是把第四层的featuremap考虑进来和最后一层得到的featuremap上采样合并信息再进行上采样。这个结构叫做跳层。