pascalcontext-fcn全卷积网络结构理解
一、说明
fcn的开源代码:https://github.com/shelhamer/fcn.berkeleyvision.org
论文地址:fully convolutional networks for semantic segmentation
其中,pascalcontext-fcn语义分割,算上背景,一共分割为60类。
pascalcontext-fcn全卷积神经网络主要使用了三种技术:
1. 卷积化(Convolutional)
2. 上采样(Upsample)
3. 跳跃结构(Skip Layer)
二、网络结构概况

1、FCN-32s
通过前五段的卷积层,直接从第五个最大池化层通过32倍上采样,得到和原图高宽一致的多通道预测label;
2、FCN-16s
pool5通过两倍上采样,得到预测label,与pool4 的预测label求和,再进行16倍上采样,得到和原图高宽一致的多通道预测label;
3、FCN-8s
pool5通过两倍上采样,得到预测label,与pool4 的预测label求和,再将求和结果进行2倍上采样,与pool3的预测label求和,最终进行8倍上采样,得到和原图高宽一致的多通道预测label。
4、训练过程
使用vgg16初始化FCN-32s网络结构;再将训练好的FCN-32s去初始化FCN-16s;再将训练好的FCN-16s去初始化FCN-8s。
三、各阶段网络结构
1、pascalcontext-fcn32s

原vgg16的最后三层全连接层,都改为卷积层,通过上采样得到upscore,再进行crop得到和原图宽高一致的预测label(score层)。
2、pascalcontext-fcn16s

将scrore_fr进行两倍上采样得到预测标签upscore2;将pool4的预测s标签core_pool4进行crop,得到和upscore2一样尺寸的预测标签score_pool4c;然后将upscore2与score_pool4c求和,得到fuse_pool4;再进行16倍上采样,再crop,就得到预测标签score。
3、pascalcontext-fcn8s

将fuse_pool4进行两倍上采样得到upscore_pool4;将pool3的预测标签score_pool3进行crop(宽高与upscore_pool4一致),得到score_pool3c;将upscore_pool4与score_pool3c求和得到fuse_pool3;然后进行8倍上采样,crop,得到预测标签score。
四、其他说明
1、查看网络结构的在线工具:http://ethereon.github.io/netscope/#/editor
2、pool4、pool3的上采样,有进行了crop操作,会造成信息的损失,该网络结构有一个巧妙的处理,在第一层卷积层四周添加pad为100,再进行卷积操作,即先扩展图片,之后再进行crop。裁切
的区域也是补出来的区域,这样就能无损地像素级分割。读者可试着计算pad的最小值。
layer {
name: "conv1_1"
type: "Convolution"
bottom: "data"
top: "conv1_1"
param {
lr_mult:
decay_mult:
}
param {
lr_mult:
decay_mult:
}
convolution_param {
num_output:
pad:
kernel_size:
stride:
}
}
end
pascalcontext-fcn全卷积网络结构理解的更多相关文章
- R-FCN:基于区域的全卷积网络来检测物体
http://blog.csdn.net/shadow_guo/article/details/51767036 原文标题为“R-FCN: Object Detection via Region-ba ...
- 全卷积神经网络FCN理解
论文地址:https://people.eecs.berkeley.edu/~jonlong/long_shelhamer_fcn.pdf 这篇论文使用全卷积神经网络来做语义上的图像分割,开创了这一领 ...
- 语义分割--全卷积网络FCN详解
语义分割--全卷积网络FCN详解 1.FCN概述 CNN做图像分类甚至做目标检测的效果已经被证明并广泛应用,图像语义分割本质上也可以认为是稠密的目标识别(需要预测每个像素点的类别). 传统的基于C ...
- 全卷积神经网络FCN详解(附带Tensorflow详解代码实现)
一.导论 在图像语义分割领域,困扰了计算机科学家很多年的一个问题则是我们如何才能将我们感兴趣的对象和不感兴趣的对象分别分割开来呢?比如我们有一只小猫的图片,怎样才能够通过计算机自己对图像进行识别达到将 ...
- 全卷积网络FCN详解
http://www.cnblogs.com/gujianhan/p/6030639.html CNN能够对图片进行分类,可是怎么样才能识别图片中特定部分的物体? (图像语义分割) FCN(Fully ...
- 全卷积网络FCN
全卷积网络FCN fcn是深度学习用于图像分割的鼻祖.后续的很多网络结构都是在此基础上演进而来. 图像分割即像素级别的分类. 语义分割的基本框架: 前端fcn(以及在此基础上的segnet,decon ...
- 全卷积网络(FCN)实战:使用FCN实现语义分割
摘要:FCN对图像进行像素级的分类,从而解决了语义级别的图像分割问题. 本文分享自华为云社区<全卷积网络(FCN)实战:使用FCN实现语义分割>,作者: AI浩. FCN对图像进行像素级的 ...
- 全卷积网络 FCN 详解
背景 CNN能够对图片进行分类,可是怎么样才能识别图片中特定部分的物体,在2015年之前还是一个世界难题.神经网络大神Jonathan Long发表了<Fully Convolutional N ...
- 全卷积神经网络FCN
卷积神经网络CNN(YannLecun,1998年)通过构建多层的卷积层自动提取图像上的特征,一般来说,排在前边较浅的卷积层采用较小的感知域,可以学习到图像的一些局部的特征(如纹理特征),排在后边较深 ...
随机推荐
- ORA-01555快照过旧报错
一.现象 将数据迁移到新库时,执行较大的存过,会报这个错误. 二.原因 产生该报错的原因: (1)sql执行比较久,需要优化sql (2)回滚段过小 (3)undo保存时间过短 三.具体检查及恢复 1 ...
- 18-09-09 Linux 系统如何获取外部的数据例如 软件的2中方式
方式一 利用U盘 手动挂载/卸载 U盘==========================================1, cat /proc/partitions查看U盘插入前后, 多出的 s ...
- C# Ini、Json、Xml 封装类
1.Ini是什么?(我对它的理解,用于存储用户配置信息的文件,该文件放在用户电脑...) INI文件是一个无固定标准格式的配置文件.它以简单的文字与简单的结构组成,常常使用在Windows操作系统,或 ...
- Django 1.9 + celery + django-celry 实现定时任务
celery可以进行任务异步处理,celery还有一种Celery的常用模式便是执行定期任务. 执行定期任务时, Celery会通过celerybeat进程来完成. Celerybeat会保持运行, ...
- MAC 终端上传代码到Github 或者 Gitlab
1.创建远程仓库. Project name:项目名称 Project description (optional):项目介绍 Visibility Level :项目的访问权限 2.创建完成后操作, ...
- Pick the Right Shoes
shoe-->shoes pointed shoes ballet shoes high heel wedged boots strappy sandals绑带凉鞋 t-straps丁字鞋 co ...
- golang的map
map--字典 map的基本使用: package main import "fmt" // 先声明 type PersonInfo struct { id string name ...
- 【EMV L2】终端风险管理(Terminal Risk Management)
终端风险管理使大额交易联机授权,并确保芯片交易能够周期性地进行联机以防止在脱机环境中也许无法察觉的风险. 虽然发卡行被强制要求在应用交互特征(AIP)中将终端风险管理位设置成1以触发终端风险管理,但终 ...
- 《HTTP权威指南》读书笔记(二) :URL与资源
1.URL是什么 URL就是因特网资源的标准化名称.URL指向一条电子信息片段,告诉你它们位于何处,以及如何与之交互.通俗来说,就是浏览器寻找信息所需的资源位置. URI是一类更通用的资源标识符,UR ...
- Mysql存储
BEGIN # 统计视频使用的模板数 UPDATE VideoTemplate vt INNER JOIN ( SELECT TemplateId, COUNT(TemplateId) AS Tota ...