FCN学习笔记
Fully Convolutional Networks for Semantic Segmentation
Abstract
- 定义了一个跳跃式的架构,结合来自深、粗层的语义信息和来自浅、细层的表征信息来产生准确和精细的分割。
- 我们的完全卷积网络成为了在PASCAL VOC最出色的分割方式
Introduction
- 定义了一种利用集合了深、粗层的语义信息和浅、细层的表征信息的特征谱的跨层架构。
- 不同于CNN,输入的图像可以为任意尺寸
- 通过双线性插值上采样和组合中间层输出的特征图,将粗糙(coarse)分割结果转换为密集(dense)分割结果。
Related Work
FCN
- 卷积网络建立在平移不变性的基础上。 它们的基本组成部分(卷积,池化和激活函数)在局部输入区域上运行,并且仅依赖于相对空间坐标。
X i j 为 特 定 层 坐 标 ( x , j ) 处 的 特 征 向 量 , Y i j 为 后 续 层 对 应 的 特 征 向 量 , k 为 卷 积 核 大 小 , s 是 步 长 或 者 上 下 采 样 的 因 子 X_{ij}为特定层坐标(x,j)处的特征向量,Y_{ij}为后续层对应的特征向量,k为卷积核大小,s是步长或者上下采样的因子 Xij为特定层坐标(x,j)处的特征向量,Yij为后续层对应的特征向量,k为卷积核大小,s是步长或者上下采样的因子
-
当卷积核尺寸和步长遵从转换规则,这个函数形式被表述为如下形式:
f k s 代 表 层 的 类 型 f_{ks}代表层的类型 fks代表层的类型
-
FCN网络的训练***损失***为最后一层中每个像素的softmax损失之和。
网络结构
-
在池化过程中,下采样会使图片不断缩小,例如经过5次卷积和池化以后,图像的分辨率依次缩小了2,4,8,16,32倍,这使得图片中的像素点不能恢复到原图,给像素级别的训练带来困扰,因此需要对特征图进行上采样(upsample)。
-
FCN采用的上采样的方法就是反卷积(Deconvolution)
-
跳跃连接, 如果将全卷积之后的结果直接上采样得到的结果是很粗糙的,为了优化结果,FCN引入了跳跃连接,将不同池化层的结果进行上采样之后来优化输出。
-
与传统用CNN进行图像分割的方法相比,FCN有两大明显的优点:一是可以接受任意大小的输入图像,而不用要求所有的训练图像和测试图像具有同样的尺寸。二是避免了由于使用像素块而带来的重复存储和计算卷积的问题,效率更高。
实验
评价指标
n i j 表 示 将 本 属 于 第 i 类 的 像 素 预 测 为 属 于 第 j 类 的 像 素 数 量 n_{ij}表示将本属于第i类的像素预测为属于第j类的像素数量 nij表示将本属于第i类的像素预测为属于第j类的像素数量
n c l 表 示 像 素 的 类 别 总 数 ; n_{cl}表示像素的类别总数; ncl表示像素的类别总数;
t i 表 示 属 于 第 i 类 的 像 素 总 数 t_{i} 表示属于第i类的像素总数 ti表示属于第i类的像素总数
pixel accuracy: 像素准确率 , 就是所有预测正确的像素在所有像素中所占比例
mean accuraccy: 平均准确率,各类的准确率求均值
mean IU:平均交并比 真实值和预测值的交并比,求平均
frequency weighted IU:频权交并比 根据每个类出现的频率为其设置权重
不同的backbone
缺点
- 得到的结果还是不够精细。进行8倍上采样虽然比32倍的效果好了很多,但是上采样的结果还是比较模糊和平滑,对图像中的细节不敏感。
- 对各个像素进行分类,没有充分考虑像素与像素之间的关系。忽略了在通常的基于像素分类的分割方法中使用的空间规整(spatial regularization)步骤,缺乏空间一致性。