目录

下采样原理:

回答一:

回答二:

回答三:


下采样原理:

对于一幅图像I尺寸为M*N,对其进行s倍下采样,即得到(M/s)*(N/s)尺寸的得分辨率图像,当然s应该是M和N的公约数才行,如果考虑的是矩阵形式的图像,就是把原始图像s*s窗口内的图像变成一个像素,这个像素点的值就是窗口内所有像素的均值。

回答一:

如FCN, U-NET等结构,都有编码,解码的过程(降采样,上采样),为什么不能直接用全卷积,不pooling,一直保持相同的特征图大小进行分割呢?可以不用降采样,降采样是手段不是目的!!

降采样有以下几个目的:

1.降低显存和计算量,图小了占内存也就小了,运算量也少了。

2.增大感受野,使同样3*3的卷积能在更大的图像范围上进行特征提取。大感受野对分割任务很重要,小感受野是做不了多类分割的,而且分割出来的掩膜边界很粗糙!!

3.多出几条不同程度下采样的分支,可以很方便进行多尺度特征的融合。多级语义融合会让分类很准。

如果不需要考虑计算和显存,你当然可以不做下采样,用膨胀卷积也是可以增大感受野的。

大家可能觉得做了下采样,会导致底层特征损失,但只要留下一条没有做下采样的分支,底层特征就不会损失。所以u-net提出用skip connection保留细节。但u-net的缺陷是是底层特征都没做什么变换就直接融合了,网络会不会非线性不够学习能力不行?所以问题的基础目的是,如何增大特征提取感受野并实现多尺度特征融合。进阶目的是,如何保证各尺度信息变换充分。

回答二:

从语义分割的角度回答:语义分割是像素级的分类问题。提到分类,就必须要有语义,必须要有大的感受野,这样你才能看到大的物体,而不是仅仅只能看到局部。那么提升感受野的方式,最直观最有效的就是下采样,而上采样只是为了把下采样的结果还原到原始的尺寸。所以只用普通的卷积,是解决不了这个问题的。当然下采样并不是唯一的解决办法。使用叠加的dilation或者deformable卷积,也能在一定程度上扩大感受野,提升语义信息。只不过,目前dilation和deformable卷积的计算开销都比较大,而且dilation还会产生栅格效应,使其有效的感受野并没有理论的这么大。此外,只使用这种卷积而不下采样也并不能超过传统那种结构的精度。

回答三:

FCN,U-Net本质上都是全卷积神经网络,他们的网络结构中只存在卷积操作,Pooling操作在现阶段的网络设计中越来越少使用了,本质上来说Pooling(pooling能快速降低特征图尺寸,获取大的感受野,也就是获取更高级的特征,只用卷积获得高级特征很慢,3x3卷积特征图每次尺寸才减2,卷积叠加过多也有梯度消失的风险。总之就是经验性结论,高层特征包含更多语义信息,底层特征包含更多细节信息,要知道有没有分割对象,得看高层特征,分割对象在哪里,得看底层特征。)就是一种粗暴的降采样以及增大感受野的方式,现在更多的是用kernel_size=3,stride=2的卷积进行降采样。

至于为什么需要降采样,主要原因:
1.计算资源的限制,这也是为什么网络设计中青睐3x3卷积核的缘故
⒉变相增大了感受野。现在DenseASPP,DeepLabV3+等网络也同时使用空洞卷积的形式增大感受野。

至于为什么上采样以及其方式∶
1.上采样是为了恢复成原始输入图像大小,主要手段有两种( 1)转置卷积(2)线性插值,现在主流网络大多是采用双线性插值的形式进行上采样。
2.上采样的同时可以通过skip-connection将编码、解码对应层的特征拼接起来,这样即考虑了高层特征也考虑了低层特征,分割效果更优。

链接:https://www.zhihu.com/question/322191738/answer/667663378
链接:https://www.zhihu.com/question/322191738/answer/975272886
链接:https://www.zhihu.com/question/322191738/answer/669159314
链接:https://www.zhihu.com/question/322191738/answer/668729190

为什么先编码再解码? 即先降采样,然后上采样相关推荐

  1. 降采样,过采样,欠采样,子采样,下采样,上采样,你学会了吗?【总结】

    降采样: 2048HZ对信号来说是过采样了,事实上只要信号不混叠就好(满足尼奎斯特采样定理),所以可 以对过采样的信号作抽取,即是所谓的"降采样". 在现场中采样往往受具体条件的限 ...

  2. Python:编码与解码和转义字符

    Python里面的字符一般默认为Unicode字符,属于str类型:而编码则是将字符转换成字节流的过程,反之解码是将字节流解析为字符的过程. 所谓的字节流,在pyhton里面,属于bytes类型. 1 ...

  3. java 输出编码_从代码看java输入输出中的编码和解码

    在java中,采用Unicode编码,英文字符和汉字都占两个字节,下面的代码都是在中文操作系统上执行的,系统采用GBK编码. 1.看一下下面这段代码的编码和解码:当我们在键盘上敲入字符的时候,其采用的 ...

  4. 关于支付接口回调地址参数字段是“notify_url”,签名过后的特殊字符url编码以后再解码后出现错误(¬ , ¢, ¤, £)

    今天对接支付接口,参数拼接完了,开始调用的时候,一直报错,签名错误. 但是我用第三方给的签名测试mode测试签名,返回的是true. 这就非常他娘的奇怪. 经过一个个参数对比,我发现,notify_u ...

  5. 特殊字符url编码以后再解码后出现错误(not , cent, curren, pound)

    仅仅是在显示的时候,编码传送的时候不会影响 今天遇到一个问题 需要Url编码的原内容是 "&notify_url=xxxx"  经过url编码以后再解码回来  " ...

  6. android Java BASE64编码和解码一:基础

    今天在做Android项目的时候遇到一个问题,需求是向服务器上传一张图片,要求把图片转化成图片流放在 json字符串里传输. 类似这样的: {"name":"jike&q ...

  7. 【转】python 字符编码与解码——unicode、str和中文:UnicodeDecodeError: 'ascii' codec can't decode...

    原文网址:http://blog.csdn.net/trochiluses/article/details/16825269 摘要:在进行python脚本的编写时,如果我们用python来处理网页数据 ...

  8. Python 技术篇-用base64库对音频、图片等文件进行base64编码和解码实例演示

    最近在研究项目,需要调用百度语音的api,传入参数需要本地语音文件 base64 位编码后内容.下面来演示一下. 其实很简单,base64 是系统自带的库. base64.b64encode() 进行 ...

  9. java解码base64的png图片_使用PHP对图片进行base64编码和解码(png、jpg,声音、视频)...

    为什么要对图片base64编码 base64是网络上最常见的传输8Bit字节代码的编码方式之一.base64主要不是加密,它主要的用途是把一些二进制数转成普通字符用于网络传输.由于一些二进制字符在传输 ...

最新文章

  1. 让Transformer的推理速度提高4.5倍,这个小trick还能给你省十几万
  2. 【每日DP】day3 P1387 最大正方形(奇怪的DP增加了 / 二维前缀和)难度⭐⭐★
  3. 一个命令让Ubuntu升级变得更简单
  4. log4j在javaWeb项目中的使用
  5. 决策树 bagging boosting 的区别
  6. 双目立体匹配经典算法之Semi-Global Matching(SGM)概述:匹配代价计算之互信息(Mutual Information,MI)...
  7. ElasticSearch出现java.lang.IllegalStateException: duplicate plugin: - Plugin information:
  8. PHP常用函数(收集)
  9. Java集合框架之Collection集合
  10. 于明:移动支付将代替电子支付?
  11. centos7,PPTP搭建简易教程
  12. 快乐机:人活着真的只为追求快乐吗?
  13. 共享单车信号服务器,共享单车的物联网核心——智能锁
  14. MSVCR110.dll缺失问题
  15. N个数全排列的第M个排列是?(全排列)
  16. [Unity3D] Unity3D连接安卓设备调试unity程序
  17. Neural Network Intelligence (NNI) | 自动特征工程AutoFE示例程序
  18. python空气质量指数计算_现在,哪个城市的空气最好闻?空气质量指数分布图——Python实例...
  19. 基于已有模型,训练新数据的方法
  20. 从零开始实现一个MQTT客户端 开篇漫谈

热门文章

  1. 图像处理【代码合集】
  2. 【cGAN】conditional生成对抗网络--有代码
  3. 《转》完美解决微信video视频隐藏控件和内联播放问题
  4. Unity 之命名规范(一)
  5. springboot定时任务处理
  6. 2016年2月流量入口占比动态:搜索引擎大涨2.14%
  7. 数据库的开发笔记-字典表
  8. 使用phyton脚本产生新的mac地址
  9. A Data Access Layer to persist business objects using attributes and reflection - Part III [无常译]...
  10. ZZULIOJ 1102: 火车票退票费计算(函数专题)