FCN的理解
FCN特点
1.卷积化
即是将普通的分类网络丢弃全连接层,换上对应的卷积层即可
2.上采样
方法是双线性上采样差
此处的上采样即是反卷积
3.因为如果将全卷积之后的结果直接上采样得到的结果是很粗糙的,
所以作者将不同池化层的结果进行上采样之后来优化输出
3.跳跃结构:
现在我们有1/32尺寸的heatMap,1/16尺寸的featureMap和1/8尺寸的featureMap,
1/32尺寸的heatMap进行upsampling操作之后,因为这样的操作还原的图片仅仅是
conv5中的卷积核中的特征,限于精度问题不能够很好地还原图像当中的特征,因此
在这里向前迭代。把conv4中的卷积核对上一次upsampling之后的图进行反卷积补充
细节(相当于一个差值过程),最后把conv3中的卷积核对刚才upsampling之后的
图像进行再次反卷积补充细节,最后就完成了整个图像的还原。
http://www.cnblogs.com/gujianhan/p/6030639.html
https://blog.csdn.net/qq_38906523/article/details/80520950
CNN对输入图片尺寸有要求,而FCN没有的原因
经过卷积层之后的outputsize和inputsize之间的关系是固定的,outputsize = (inputsize - kernelsize) / stride + 1,但它们
并不用相互关心。
cnn在经过每个卷积层之后,产生一个feature map,这个feature map(n*n)的大小是由神经网络的结构所决定的,
feature map进入全连接层后要变成一个长向量,这个长向量每个元素(假设为n个)需要与下一层的所有神经元相连接,
(全链接层输入向量的维数对应全链接层的神经元个数)神经网络
的结构一旦确定,权值参数的个数就确定,故参数个数都已确定。向前推导即是每个层得到的结果都必须是确定的,
所以,cnn对于输入图片的尺寸大小有要求,全连接层的输入是固定大小的,如果输入向量的维数不固定,那么全连接的权值参数
的量也是不固定的,就会造成网络的动态变化,无法实现参数训练目的
修正理解:
feature map输入进入全连接层要变成一个长向量,这个长向量与全连接层的神经元相连接(相对应),而神经网络整个结构一旦确定,
权值参数就确定,如果输入向量的位数不固定,那么权值参数就会也不固定,造成网络的动态变化,无法训练参数。
fcn没有全连接层,所以feature map大小不受限制,卷积结束之后,通过上采样得到原图片的大小。
upsampling的方法
经过对比研究,upsampling采用反卷积(有的地方叫法不同)的方法得到的效果比较好。
而在全卷积层之后直接进行Upsampling的效果并不好,因为中间的pooling操作忽略了很多有用的信息。
所以采用了一种跳跃结构,这种结构则是吧前面的pooling层的结果与卷积最后得到的结果一起做加和,
然后再进行upsampling,这样的效果更好。如下图:
以上介绍了FCN的各种重点知识,下面介绍整体流程及细节
1.FCN与CNN的区别就在于把CNN最后的全连接层换成卷积层来进行逐像素的分类识别,输入图片后经过前部分的
卷积层之后会得到一个feature map,由这个feature map进行上采样得到与原始图像尺寸相同的结果,从而恢复了
对每个像素的分类,最后通过softmax分类计算像素损失得到最终预测结果。结构如下图:
FCN的缺点:
1.对像素与像素之间的关系并没有考虑到,忽略了在通常的基于像素分类的分割方法中使用的空间规整(spatial regularization)步骤,缺乏空间一致性。
2.虽然8倍的上采样效果还可以,但还有待提高,不够精细,细节还有待提高。
FCN的理解的更多相关文章
- 语义分割--全卷积网络FCN详解
语义分割--全卷积网络FCN详解 1.FCN概述 CNN做图像分类甚至做目标检测的效果已经被证明并广泛应用,图像语义分割本质上也可以认为是稠密的目标识别(需要预测每个像素点的类别). 传统的基于C ...
- 全卷积神经网络FCN理解
论文地址:https://people.eecs.berkeley.edu/~jonlong/long_shelhamer_fcn.pdf 这篇论文使用全卷积神经网络来做语义上的图像分割,开创了这一领 ...
- 笔记︱图像语义分割(FCN、CRF、MRF)、论文延伸(Pixel Objectness、)
图像语义分割的意思就是机器自动分割并识别出图像中的内容,我的理解是抠图- 之前在Faster R-CNN中借用了RPN(region proposal network)选择候选框,但是仅仅是候选框,那 ...
- 论文阅读笔记(一)FCN
本文先对FCN的会议论文进行了粗略的翻译,使读者能够对论文的结构有个大概的了解(包括解决的问题是什么,提出了哪些方案,得到了什么结果).然后,给出了几篇博文的连接,对文中未铺开解释的或不易理解的内容作 ...
- DeconvNet 论文阅读理解
学习语义分割反卷积网络DeconvNet 一点想法:反卷积网络就是基于FCN改进了上采样层,用到了反池化和反卷积操作,参数量2亿多,非常大,segnet把两个全连接层去掉,效果也能很好,显著减少了参数 ...
- voc-fcn-alexnet网络结构理解
一.写在前面 fcn是首次使用cnn来实现语义分割的,论文地址:fully convolutional networks for semantic segmentation 实现代码地址:https: ...
- FCN 项目部分代码学习
下面代码由搭档注释,保存下来用作参考. github项目地址:https://github.com/shekkizh/FCN.tensorflowfrom __future__ import prin ...
- 论文阅读笔记六:FCN:Fully Convolutional Networks for Semantic Segmentation(CVPR2015)
今天来看一看一个比较经典的语义分割网络,那就是FCN,全称如题,原英文论文网址:https://people.eecs.berkeley.edu/~jonlong/long_shelhamer_fcn ...
- ECCV 2018 | 旷视科技提出统一感知解析网络UPerNet,优化场景理解
全球计算机视觉三大顶会之一 ECCV 2018(European Conference on Computer Vision)即将于 9 月 8 -14 日在德国慕尼黑拉开帷幕.届时,旷视首席科学家孙 ...
随机推荐
- ubuntu下pig报错ERROR 2999: Unexpected internal error. Failed to create DataStorage的解决
2019-03-04 00:10:03,998 [main] ERROR org.apache.pig.Main - ERROR 2999: Unexpected internal error. Fa ...
- linux状态及原理全剖析
Table of Contents 1 linux 1.1 proc filesystem 1.1.1 /proc 1.1.1.1 /proc/meminfo 1.1.1.2 /proc/stat 1 ...
- 口语详解|为什么“how to say”是错的?
你有没有说过一些印象深刻的中式英语呢?为什么有的英语会被称之为中式英语想必你大概知道,但是如何把中式英语使用正确你知道吗?今天,跟着小编来看看吧.By the way,今天的主角是"how ...
- [development][dpdk][hugepage] 大页内存的挂载
参考: [development][dpdk][hugepage] 为不同的结点分配不同大小的大页内存 完成了以上内容之后, 下一步需要做的是挂载, 大页内存只有被挂载了之后,才能被应用程序使用. 挂 ...
- Delphi2010分 AnsiChar(1个字节) 和WideChar(2个字节) 。D7都是AnsiChar。
Delphi2010分 AnsiChar(1个字节) 和WideChar(2个字节) .D7都是AnsiChar.
- 抽屉之Tornado实战(7)--form表单验证
在这里,我们把form表单验证的代码进行工具化了,以后稍微修改一下参数就可以拿来用了 先贴上代码 forms.py from backend.form import fields class Base ...
- 主动触发input框的失去焦点事件,阻止输入法跳出
今天遇到个问题,我在手机做一个选择生日的功能,但是当我点击input框时,事件选择插件和输入法都弹出来了,很丑,然后就想阻止输入法弹出来, 网上一个方法是:在input框的获取焦点事件里,主动触发失去 ...
- java JDBC (八) 连接池 DBCP
package cn.sasa.demo1; import javax.sql.DataSource; import org.apache.commons.dbcp2.BasicDataSource; ...
- tomcat安装apr优化
APR是apache的一个linux操作系统级优化库,可以在tomcat中使用操作系统级native调用大大提高并发处理效率 先安装前置依赖: yum install -y apr-devel ope ...
- 【前端技术】web 开发常见问题--GET POST 区别
web 开发常见问题--GET POST 区别 首先,get和post是什么? --两种 HTTP 请求方法:GET 和 POST HTTP Request Methods GET.POST 专业 ...