论文阅读笔记五:U-Net: Convolutional Networks for Biomedical Image Segmentation(CVPR2015)
前面介绍了两个文本检测的网络,分别为RRCNN和CTPN,接下来鄙人会介绍语义分割的一些经典网络,同样也是论文+代码实现的过程,这里记录一下自己学到的东西,首先从论文下手吧。
英文论文原文地址:https://arxiv.org/abs/1505.04597
前面的论文忘记介绍大佬的名字了,在这里先抱个歉。。。那么接下来有请提出U-Net的大佬们一一列席:Olaf Ronneberger, Philipp Fischer, and Thomas Brox
这里依次是三位大佬的主页 https://lmb.informatik.uni-freiburg.de/people/ronneber/
https://lmb.informatik.uni-freiburg.de/people/fischer/ https://lmb.informatik.uni-freiburg.de/people/brox/ 其中,有他们的论文及代码实现,感兴趣的可以进行学习实现一下。
下面进入正文,首先作者开头就提到了,通过使用数据增强可以更加高效的使用标记的样本。结构包括一个压缩路径 用于捕捉上下文信息,还有一个对称的展开路径 用于精确的定位。这种网络的特点就是可以对很少的几张图片进行end-to-end训练并且表现的较好。在医学图像上需要对每个像素进行分类,有位大佬提出了用滑动窗口的方法,通过一个patch(该像素周围)的类别对像素进行分类,要求是一是网络可以进行定位,二是patch的数量远大于训练的图片,结果还是喜人的。但接下来,作者就开始进行批斗了,首先作者认为这个做法很慢,网络必须经过每个patch,这就会因为很多重叠造成很多冗余。再就是,在定位的准确性和上下文的使用二者要进行权衡,更大的pathc需要更多的最大池化层来减少定位精度,而小的patch包含的上下文信息就较少。
然而作者想到了机智的方法可以解决上述问题,作者提出的 结构是建立在全卷积网络。作者对其进行修改和扩展,使其可以在很少的训练图像下 进行工作,同时产生更精确的分割。
网络结构如下:

全卷积网络的主要思路是通过连续层来补充通常 的压缩网络。这里池化操作被上采样取代。这些层增加了输出的分辨率,因此,为了定位,从压缩路径中获得的高分辨率特征与上采样的输出结合。一系列卷积层会根据这些信息组合学习到更精确的输出。
作者在结构的上采样部分进行了修改,有大量特征通道,允许网络将上下文信息传播到更高分辨率的层。结构上,压缩路径与展开路径或多或少的有些对称,形成一个U形。这个U网比较奇葩,没有全连接层,而且仅使用每个卷积层的有效部分通过重叠+平铺,可以实现任意大小图片的无缝分割。为了预测图像边界区域中的像素,可以通过输入图像的镜像操作来推断遗失的上下文。前面说的这个策略很适合于大的图片。作者将训练图片进行弹性变换(个人感觉是各种图像处理的套路)来实现数据增强。
下面大体说一说网络的结构,摆在你面前的有两条路,一条为压缩路径,另一条为扩展路径,压缩路径的结构和卷积结构相同,包括两次3*3卷积,每个卷积后接一个RELU,和一个2*2的最大池化层(stride=2)用于下采样。在每个下采样的过程中,将特征通道数加倍,扩张路径中的每一步都包括上采样,然后进行2*2的反卷积,其特征通道数减半,与来自压缩路径中相对应的裁剪feature map级联,同时进行两个3*3的卷积,并捎带个RELU。由于卷积边界上像素有丢失,因此,进行裁剪是必要的。在最后一层,用大小为1*1的卷积将64维的特征向量映射到目标的类别数目上。次网络总共有23个卷积层。
Unet网络介绍到这里,这里提一下,Unet网络十分适合于生物医学上的处理,同时由于医学影像较少,因此作者进行了数据增强,使Unet能够发挥的更加出色。
论文阅读笔记五:U-Net: Convolutional Networks for Biomedical Image Segmentation(CVPR2015)的更多相关文章
- 【Semantic Segmentation】U-Net: Convolutional Networks for Biomedical Image Segmentation 论文解析(转)
目录 0. 前言 1. 第一篇 2. 第二篇 3. 第三篇keras实现 4. 一篇关于U-Net的改进 0. 前言 今天读了U-Net觉得很不错,同时网上很多很好很详细的讲解,因此就不再自己写一 ...
- 论文阅读笔记五十四:Gradient Harmonized Single-stage Detector(CVPR2019)
论文原址:https://arxiv.org/pdf/1811.05181.pdf github:https://github.com/libuyu/GHM_Detection 摘要 尽管单阶段的检测 ...
- 论文阅读笔记六十一:Selective Kernel Networks(SKNet CVPR2019)
论文原址:https://arxiv.org/pdf/1903.06586.pdf github: https://github.com/implus/SKNet 摘要 在标准的卷积网络中,每层网络中 ...
- 论文阅读笔记五十七:FCOS: Fully Convolutional One-Stage Object Detection(CVPR2019)
论文原址:https://arxiv.org/abs/1904.01355 github: tinyurl.com/FCOSv1 摘要 本文提出了一个基于全卷积的单阶段检测网络,类似于语义分割,针对每 ...
- 论文阅读笔记五十三:Libra R-CNN: Towards Balanced Learning for Object Detection(CVPR2019)
论文原址:https://arxiv.org/pdf/1904.02701.pdf github:https://github.com/OceanPang/Libra_R-CNN 摘要 相比模型的结构 ...
- 论文阅读笔记五十一:CenterNet: Keypoint Triplets for Object Detection(CVPR2019)
论文链接:https://arxiv.org/abs/1904.08189 github:https://github.com/Duankaiwen/CenterNet 摘要 目标检测中,基于关键点的 ...
- 论文阅读笔记五十:CornerNet: Detecting Objects as Paired Keypoints(ECCV2018)
论文原址:https://arxiv.org/pdf/1808.01244.pdf github:https://github.com/princeton-vl/CornerNet 摘要 本文提出了目 ...
- 论文阅读笔记五十六:(ExtremeNet)Bottom-up Object Detection by Grouping Extreme and Center Points(CVPR2019)
论文原址:https://arxiv.org/abs/1901.08043 github: https://github.com/xingyizhou/ExtremeNet 摘要 本文利用一个关键点检 ...
- 论文阅读笔记五十二:CornerNet-Lite: Efficient Keypoint Based Object Detection(CVPR2019)
论文原址:https://arxiv.org/pdf/1904.08900.pdf github:https://github.com/princeton-vl/CornerNet-Lite 摘要 基 ...
随机推荐
- 20165237 2017-2018-2 《Java程序设计》第2周学习总结
20165237 2017-2018-2 <Java程序设计>第2周学习总结 教材学习内容总结 1.标识符第一个字符不能是数字. 2.标识符不能是关键字,也不能是true.false和nu ...
- srping mvc 集成CXF 导致类初始化两遍
cxf依赖于spring的ContextLoaderListener,而spring mvc 则依赖于DispatcherServlet. 初始化DispatcherServlet的时候会依赖初始化一 ...
- PyQt4 / PyQt5
Python事多,做个笔记,区分. PyQt5 Reference Guide http://pyqt.sourceforge.net/Docs/PyQt5/index.html Qt4 signal ...
- 【转】Python之面向对象与类
[转]Python之面向对象与类 本节内容 面向对象的概念 类的封装 类的继承 类的多态 静态方法.类方法 和 属性方法 类的特殊成员方法 继承层级关系中子类的实例对象对属性的查找顺序问题 一.面向对 ...
- linux syscall 详解【转】
转自:https://blog.csdn.net/feixin620/article/details/78416560 引言:分析Android源码的过程中,要想从上至下完全明白一行代码,往往涉及ap ...
- 嵌入式系统C编程之错误处理【转】
转自:http://www.cnblogs.com/clover-toeic/p/3919857.html 前言 本文主要总结嵌入式系统C语言编程中,主要的错误处理方式.文中涉及的代码运行环境如下: ...
- lvs为何不能完全替代DNS轮询
1)接入层架构要考虑的问题域为:高可用.扩展性.反向代理+扩展均衡 2)nginx.keepalived.lvs.f5可以很好的解决高可用.扩展性.反向代理+扩展均衡的问题 3)水平扩展scale o ...
- web@css引入方式,基本选择器,3大特性,高效运行
4.高效的css 所谓高效就是让浏览器查找更少的元素标签来确定匹配的style元素. 1.不要再ID选择器前使用标签名 解释:ID选择是唯一的,加上标签名相当于画蛇添足了,没必 ...
- Linux mem/swap/buffers/cached 区别
Free free 命令相对于top 提供了更简洁的查看系统内存使用情况: $ free total used free shared buffers cached Mem: 255268 23833 ...
- 使用PHP Manager for IIS时,Windws 10自带IIS注意事项
1)开启IIS 10:在“控制面板”的“程序和功能”的“启用或关闭Windows功能”内,勾选(启用)“Internet Information Services”,然后确定,进行安装. 2)若要使用 ...