2020-12-09

2020-12-09  本文已影响0人  k_ad3b

FCN采样理论

1.双线性插值上采样

2.反卷积上采样

每个像素周围补零

3.反池化上采样

把其它位置补零

实现过程

• 用AlexNet,VGG16或者GoogleNet训练好的模型做初始化,在这个基础上做fine-tuning,只需在末尾加上upsampling,参数的学习还是利用CNN本身的反向传播原理。

• 采用全图做训练,不进行局部抽样。实验证明直接用全图已经很高效。FCN例子: 输入可为任意尺寸图像彩色图像;输出与输入尺寸相同,深度为:20类目标+背景=21,模型基于AlexNet。

• 蓝色:卷积层。

• 绿色:Max Pooling层。

• 黄色: 求和运算, 使用逐数据相加,把三个不同深度的预测结果进行融合:较浅的结果更为精细,较深的结果更为鲁棒。

• 灰色: 裁剪, 在融合之前,使用裁剪层统一两者大小, 最后裁剪成和输入相同尺寸输出。

• 对于不同尺寸的输入图像,各层数据的尺寸(height,width)相应变化,深度(channel)不变。

• 全卷积层部分进行特征提取, 提取卷积层(3个蓝色层)的输出来作为预测21个类别的特征。

• 图中虚线内是反卷积层的运算, 反卷积层(3个橙色层)可以把输入数据尺寸放大。和卷积层一样,升采样的具体参数经过训练确定。

全图训练

反卷积 步长32

反卷积 步长16

反卷积 步长8

实例:

对原图像进行卷积 conv1、pool1后原图像缩小为1/2;

之后对图像进行第二次 conv2、pool2后图像缩小为1/4;

继续对图像进行第三次卷积操作conv3、pool3缩小为原图像的1/8,此时保留pool3的featureMap;

继续对图像进行第四次卷积操作conv4、pool4,缩小为原图像的1/16,保留pool4的featureMap;

最后对图像进行第五次卷积操作conv5、pool5,缩小为原图像的1/32,

然后把原来CNN操作中的全连接变成卷积操作conv6、conv7,图像的featureMap数量改变但是图像大小依然为原图的1/32,此时图像不再叫featureMap而是叫heatMap。

转自CSDN大佬的详细总结:![FCN]https://blog.csdn.net/qq_41760767/article/details/97521397?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522160440540219195264743762%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=160440540219195264743762&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_v2~rank_v28-3-97521397.pc_first_rank_v2_rank_v28&utm_term=%E5%85%A8%E5%8D%B7%E7%A7%AF%E7%BD%91%E7%BB%9C&spm=1018.2118.3001.4449

上一篇下一篇

猜你喜欢

热点阅读