为了督促自己每天都有进步,在这里记录下每天遇到的问题和学到的新知识,仅作为个人回顾使用。
日记(第十九周)
20210123
FCN的学习
语义分割的研究现状:
1.传统方法
Normalized cut(归一化切割):分割具有相同特征的区域,比如某一块纹理和颜色是相同的,就把这一块视为是一块,但是这种方法速度非常慢(每次运行一次N-Cut只能分割出一种物体)
Structured Random Forests(结构化随机森林):可以很好地改善噪点的问题,但是容易过拟合,准确率不高,速度慢
SVM(支持向量机)
2.深度学习卷积神经网络
FCN
SegNet
LinkNet…
深度学习方法存在的问题:不匹配关系,不寻常类;不匹配关系需要通过能够看到全局信息的卷积核融合起来去解决。有关不寻常关系的解决论文(RedNet, RDFNet)
语义分割常用数据集:SUNRGBD, NYUDv2, PASCAL VOC, CityScapes, CamVid等
论文结构:Abstract–Introduction–Related Work–Prior Knowledge–Details of Learning–Results–Conclusion–References
Abstract: 介绍论文背景,核心观点,方法途径,最终成果
Introduction: 语义分割研究现状,本文贡献,文章整体结构
Related Work: 文章思想来源,先前方法的特点,本文的不同之处
Prior Knowledge: 卷积网络基本定义,与分类网络间的联系和区别,Shift-and-stitch, Deconvolution, Patchwise, training
Details of Learning: 算法结构,创新点,设计细节
Results: 指标定义,多种数据集中的实验分析
什么是端到端?End-to-End
端到端说白了就是输入是一张图片(原始图像),输出是一张相同尺寸的图片(预测图像)。特征提取是端对端训练的重要部分,深度学习之前的端对端训练中的特征提取是人工完成的。
Introduction
CNN 在全图片分类和局部任务上势头很猛
在FCN之前也有很多网络把卷积网络应用到了语义分割上,但是并没有实现端到端
FCN网络采用端到端,像素到像素的预测模式取得了很好的效果。第三段提到了有监督的预训练(supervised pre-training),指的是将之前的一些网络的预训练权重导到FCN当中。推理和学习的过程通过前向传播和反向传播来实现
这个方法可以解决之前算法(patchwise training)的一些难题,例如缺少全卷积的训练过程(即训练不够细致),FCN没有采用一些预处理,仍然能取得很好的结果,说明算法本身很牛掰~
全局信息解决的问题是“是什么”,局部信息解决的问题是“在哪里”,因此这两个信息本身是存在矛盾的,因此FCN采用了跳跃连接,用于将局部信息和全局信息进行融合。
Related Work
FCN的先验知识
感受野:
决定某一层输出结果中某一元素对应的输入层区域大小
R
F
l
+
1
=
R
F
l
+
(
k
e
r
n
e
l
_
s
i
z
e
−
1
)
∗
s
t
r
i
d
e
RF_{l+1}=RF_l+(kernel\_size-1)*stride
RFl+1=RFl+(kernel_size−1)∗stride
RF指的是感受野,上面公式分别是l+1层和l层的感受野,也就是说感受野大小是和上一层感受野大小是相关的,我们所说的感受野对应的区域均指的是原图上的区域,而不是上一层对应的区域大小。
平移不变性(translation invariance):
图像中的目标无论被移到图片中的哪个位置,分类结果都应该是相同的;在图像中的目标移动时,特征图也产生相应的移动。
然而实际上,平移不变性在卷积神经网络中是不好用的。在相关的论文中可以查到,卷积神经网络不遵循平移不变性的原因是忽略了采样定律,即过多的下采样,当这些下采样的卷积步长不为1时,其会破坏图片的空间关系,从而导致结果出现问题。
FCN中卷积层代替全连接层的意义:
全连接层输出的是一维向量,这就导致它失去了空间几何意义,而卷积层弥补了这一点。