一、说明

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. C# 连蒙带骗不知所以然的搞定USB下位机读写

    公司用了一台发卡机,usb接口,半双工,给了个dll,不支持线程操作,使得UI线程老卡. 懊恼了,想自己直接通过usb读写,各种百度,然后是无数的坑,最终搞定. 现将各种坑和我自己的某些猜想记录一下, ...

  2. asp.net core 实战项目(一)——ef core的使用

    数据库设计 数据结构图如下:   此次实例比较简单,暂时只设计到上述3张表 SMUser:用于存储用户信息. Role:用于存储角色信息. SMUser_Role:用建立用户和角色关系的一直关联表. ...

  3. String Method的字符串变换的一个例子

    <!DOCTYPE html> <html lang="en"><head> <meta charset="UTF-8" ...

  4. full visualization vs part virtualization

    https://stackoverflow.com/questions/21462581/what-is-the-difference-between-full-para-and-hardware-a ...

  5. 运维yum语法

    软件管理 ​ 目前流行的软件包格式: 可直接执行的RPM与DEB.源代码形式的gzip与bzip2压缩包 RPM软件包管理 rpm rpm [选项] *.rpm -i --install instal ...

  6. 高分一号计算NDVI

    1.准备工作 如果想要ENVI友好一点,请下载ENVI5.3,并且安装China satellites 补丁(参考博客:ENVI扩展工具:中国国产卫星支持工具) App Store for ENVI下 ...

  7. Javascript 严格模式(strict mode)详解

    Javascript 严格模式详解   一.概述 除了正常运行模式,ECMAscript 5添加了第二种运行模式:"严格模式"(strict mode).顾名思义,这种模式使得Ja ...

  8. Vue小技巧-懒加载

    Vue懒加载包括图片懒加载与路由懒加载 1.图片懒加载: 首先安装 vue-lazyload包 然后导入并加载事先下载好的加载图片 import VueLazyLoad from 'vue-lazyl ...

  9. expdp用户10迁移到新环境11之正式实施

    expdp迁移源端数据库:cu    源端IP:   源端schema: xxx目标数据库:ora 目标IP:xxx操作流程:31日凌晨应用停,随后使用数据泵迁移,两套库迁移,迁移一套,迁移完毕应用确 ...

  10. java————数组 简单写出一个管理系统

    数组的特点 1,  数组是一块连续的空间,下标描述空间的位置. 2,  下标从0开始,最大下标为数组长度—1.(*.length-1) 3,  数组元素都是变量.(就是每个下标对应的内容).变量的类型 ...