FCN

论文地址:https://arxiv.org/abs/1703.06870
项目地址:https://github.com/shelhamer/fcn.berkeleyvision.org
自制PPT与讲解视频链接:https://github.com/DHUB721/Object-Detection (注:仅个人理解,如有错误请多多指正,轻喷,谢谢!)
至于FCN结构的讲解网上资料已经特别多了,但是对上采样的细节基本没有介绍,本文就上采样进行详细讲解!

0. 导语

问题:你们对于 卷积 是怎么理解的?
(1)从物理意义上看,即利用一个卷积核对图像进行特征提取,如果卷积步长大于1可以实现降采样的目的。(如果步长为小数呢?)
在这里插入图片描述(2)从矩阵角度看,有 I、II 两种方式。
    I. 卷积核固定
        固定卷积核,则需要对输入图像矩阵进行展开
在这里插入图片描述    II. 输入固定
        固定输入,则需要对卷积核矩阵进行展开
在这里插入图片描述

这对于理解反卷积是极为重要的一步!

1. 术语阐述

(1)pixelwise prediction:像素级预测,即将图像中每一个像素进行类别的预测。
(2)heatmap:由于是像素级预测,那么必须逐个像素计算softmax分类的损失, 相当于每一个像素对应一个训练样本,于是产生了热图。所以热图表示的是像素预测类别的概率大小。
(3)dense prediction:不仅标注出图像中每个像素点的对象类别,而且给出具体目标的位置,或描绘物体的边界。
(4) upsampling:Upsampling is backwards strided convolution

2. 上采样

论文中介绍了三种上采样方式。

2.1 Input shifting and output interlacing

在这里插入图片描述

由名字可以看出,这种上采样方式有两部分组成:对输入进行转移 + 对输出进行隔行扫描。对输入进行转移,其实就是变换原始输入的组织形式,对于同一张图像产生更多的输入形式,本质就是增加池化以保留更多的信息,以便能够将粗糙的输出映射回去。(因为普通的池化结果是保留了部分信息,无法等价映射回去,所以这种方式就相当于对同一张图像进行了不同的池化,每一种池化都保留了部分信息。)
在这里插入图片描述

假设 因子 f 为 2,则(x, y)有(0,0)(0,1)(1,0)(1,1)四种取值,(x, y)表示将左边x列或上边y行移到右边或下边,比如(0, 1)表示将上边一行移到下边,于是使得共有 f2 个输入,产生 f2 个输出。
再对所有输出进行隔行扫描,恢复到原始图像。
在这里插入图片描述

2.2 filter rarefaction

其实有点类似空洞卷积(Dilated Convolution),就是可以理解为将卷积核扩展,如图卷积核为 3 * 3, 但是这里 s = 3 将卷积核变为 9 * 9,即在卷积核每两行每两列中间加0。
在这里插入图片描述

其实就是利用空洞卷积达到方法一同样的效果,注:新卷积核步长为1,这样padding之后再卷积就没有缩小图像尺寸,最后可以得到dense prediction,另外不需要再用pooling操作来扩大感受野。

2.3 Deconvolution

有了导语对卷积的理解,现在思考一个问题如何利用将粗糙的输出(小特征图)卷积为原图尺寸大小?
在这里插入图片描述

反卷积其实就是对粗糙的输出左乘一个扩展的卷积核的转置,这就是反卷积为什么也叫转置卷积的原因。这幅图不仅解释了名称来源,也反映了反卷积原理。
注:上采样可以用于放大图像,也可以用线性插值的方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值