一、说明

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全卷积网络结构理解的更多相关文章

  1. R-FCN:基于区域的全卷积网络来检测物体

    http://blog.csdn.net/shadow_guo/article/details/51767036 原文标题为“R-FCN: Object Detection via Region-ba ...

  2. 全卷积神经网络FCN理解

    论文地址:https://people.eecs.berkeley.edu/~jonlong/long_shelhamer_fcn.pdf 这篇论文使用全卷积神经网络来做语义上的图像分割,开创了这一领 ...

  3. 语义分割--全卷积网络FCN详解

    语义分割--全卷积网络FCN详解   1.FCN概述 CNN做图像分类甚至做目标检测的效果已经被证明并广泛应用,图像语义分割本质上也可以认为是稠密的目标识别(需要预测每个像素点的类别). 传统的基于C ...

  4. 全卷积神经网络FCN详解(附带Tensorflow详解代码实现)

    一.导论 在图像语义分割领域,困扰了计算机科学家很多年的一个问题则是我们如何才能将我们感兴趣的对象和不感兴趣的对象分别分割开来呢?比如我们有一只小猫的图片,怎样才能够通过计算机自己对图像进行识别达到将 ...

  5. 全卷积网络FCN详解

    http://www.cnblogs.com/gujianhan/p/6030639.html CNN能够对图片进行分类,可是怎么样才能识别图片中特定部分的物体? (图像语义分割) FCN(Fully ...

  6. 全卷积网络FCN

    全卷积网络FCN fcn是深度学习用于图像分割的鼻祖.后续的很多网络结构都是在此基础上演进而来. 图像分割即像素级别的分类. 语义分割的基本框架: 前端fcn(以及在此基础上的segnet,decon ...

  7. 全卷积网络(FCN)实战:使用FCN实现语义分割

    摘要:FCN对图像进行像素级的分类,从而解决了语义级别的图像分割问题. 本文分享自华为云社区<全卷积网络(FCN)实战:使用FCN实现语义分割>,作者: AI浩. FCN对图像进行像素级的 ...

  8. 全卷积网络 FCN 详解

    背景 CNN能够对图片进行分类,可是怎么样才能识别图片中特定部分的物体,在2015年之前还是一个世界难题.神经网络大神Jonathan Long发表了<Fully Convolutional N ...

  9. 全卷积神经网络FCN

    卷积神经网络CNN(YannLecun,1998年)通过构建多层的卷积层自动提取图像上的特征,一般来说,排在前边较浅的卷积层采用较小的感知域,可以学习到图像的一些局部的特征(如纹理特征),排在后边较深 ...

随机推荐

  1. RedLock.Net - 基于Redis分布式锁的开源实现

    工作中,经常会遇到分布式环境中资源访问冲突问题,比如商城的库存数量处理,或者某个事件的原子性操作,都需要确保某个时间段内只有一个线程在访问或处理资源. 因此现在网上也有很多的分布式锁的解决方案,有数据 ...

  2. WeX5学习笔记 - 01

    了解WeX5,有朋友突然自己开始学习WeX5,我了解后觉得挺不错的实用范围广,现在手机上的主流软件基本都可以采用WeX5进行开发,如淘宝,美团.手机银行等,所以自己也开始学习WeX5,WeX5是Ecl ...

  3. ssh外网穿透

    不同局域网ubuntu如何进行ssh穿透登录不同局域网ubuntu如何进行ssh穿透登录前言一. 建议安装teamview二. openssh服务三. 打开路由器端口映射四.连接@(ubuntu) 前 ...

  4. ABP vue+asp.net core yarn serve报 Cannot find module 'typescript/package.json错误

    abp的前端在node install 安装完成了相关的依赖包,直接yarn serve运行相关服务的时候报"Cannot find module 'typescript/package.j ...

  5. QTCPSOCKET 客户端已连接 而服务器无响应

    最近在使用qt coding一个项目时,使用到了qtcpsocket模块来编写客户端与服务器.在windows平台下还能正常工作,但是在ubuntu平台下,客户端提示已连接时,服务器却没有响应.经过排 ...

  6. Python使用requests库,requests.post格式会引发参数不存在问题

    Content-Type: application/json #############↓↓↓成功↓↓↓############# import requests url = 'http://loca ...

  7. 最新vue.js完整视频教程12套

    0.1智能社vuejs(1-11章全套) 0.2英文版learing vuejs 0.3Vue.js实战小米阅读开发 0.4走进Vue.js2.0 0.5Vuejs教程45节课 0.6Vue.js+N ...

  8. 【EMV L2】终端验证结果(Terminal Verification Results,TVR)

    终端验证结果,Terminal Verification Results(TVR),Tag95,5bytes: 记录交易过程中,数据认证.处理限制.持卡人验证.终端风险管理.行为分析以及联机处理的结果 ...

  9. spring查看生成的cglib代理类源码详解

    1.让程序阻塞(抛出异常会导致程序结束,所以在抛出异常之前阻塞) 2. windows控制台 cd到jdk目录下的lib目录,找到sa-jdi.jar 执行: java -classpath sa-j ...

  10. Linux文件编辑时光标操作

    一.移动光标类命令 h :光标左移一个字符 l :光标右移一个字符 space:光标右移一个字符 Backspace:光标左移一个字符 k或Ctrl+p:光标上移一行 j或Ctrl+n :光标下移一行 ...