第一部分:论文部分
共提炼出三个创新点:
·对经典网络改编-卷积替换全连接
·对前向特征图补偿-跳跃连接
·对特征图尺寸恢复-反卷积
1、CNN与FCN的比较
CNN 在传统的CNN网络中,在最后的卷积层之后会连接上若干个全连接层,将卷积层产生的特征图(feature map)映射成为一个固定长度的特征向量。一般的CNN结构适用于图像级别的分类和回归任务,因为它们最后都期望得到输入图像的分类的概率,如ALexNet网络最后输出一个1000维的向量表示输入图像属于每一类的概率.
FCN FCN是对图像进行像素级的分类(也就是每个像素点都进行分类),从而解决了语义级别的图像分割问题。与经典CNN在卷积层使用全连接层得到固定长度的特征向量进行分类不同,FCN可以接受任意尺寸的输入图像,采用反卷积层对最后一个卷基层的特征图(feature map)进行上采样,使它恢复到输入图像相同的尺寸,从而可以对每一个像素都产生一个预测,同时保留了原始输入图像中的空间信息,上采样的特征图进行像素的分类。
可以看出,FCN在CNN的基础上将全连接层转换为卷积层可以使分类网输出热图。添加层和空间损失产生了端到端密集学习的高效机器。
2、跳跃连接
将在卷积的前几层提取到的特征图分别和后面的上采样层相连,然后再相加继续网上往上上采样,上采样多次之后就可以得到和原图大小一致的特征图了,这样可以在还原图像的时候能够得到更多原图所拥有的信息。对第5层的输出执行32倍的反卷积得到原图,得到的结果不是很精确,论文中同时执行了第4层和第3层输出的反卷积操作(分别需要16倍和8倍的上采样),再把这3个反卷积的结果图像融合,提升了结果的精确度。
使用跃层结构融合多层输出,使得网络能够预测更多的位置信息。因为在浅层网络位置信息等保留的比较好,将他们加入到深层输出中,就可以预测到更精细的信息。
3、上采样-反卷积
卷积操作的逆运算,反卷积并不能复原因卷积操作造成的值的损失,它仅仅将卷积过程中的步骤反向变换一次,因此它还可以被成为转置卷积。
反卷积和普通卷积的区别:
普通的卷积操作,会使得分辨率降低,如下图3*3的卷积核去卷积4*4得到2*2的输出
反卷积,首先对特征图各神经元之间进行0填充,即上池化;然后再进行卷积运算