论文阅读笔记五: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 摘要 基 ...
随机推荐
- Javascript框架 - ExtJs - 类
类(ExtJs Class) preparation! 我用的是ext-4.2,解压后会得到以下文件 学习要用到的文件很少,现在保留以下文件和整个文件夹,然后删除其它文件并保持目录结构.本页面底部有提 ...
- delphi 控件集
delphi 控件集: 1)RAIZE 控件包 :http://www.raize.com/devtools/rzcomps/ 被收购 Raize Components has been ac ...
- 【BZOJ3590】[Snoi2013]Quare 状压DP
这道题...神题. 首先看到数据范围,一眼状压 dp .然后? 没了. 理性分析,这里说断掉任意一条边图依然连通,即整个图构成一个边双(而不是点双). 之前用 fire (机房里的随机算法总称)之所以 ...
- css3 - 旋转的木马
参考资料: 张鑫旭 : http://www.zhangxinxu.com/wordpress/2012/09/css3-3d-transform-perspective-animate-trans ...
- 024_nginx之backlog坑
一. 线上碰到一个nginx调优的一个设置,即listen后面设置 listen 80 backlog=1024; 但是多个域名都设置这个值的时候就会出现以下的提示重复报错. 关于backlog参数的 ...
- python操作三大主流数据库(13)python操作redis之新闻项目实战①新闻数据的导入
1.新闻处理页面redis_news.py #coding:utf-8 import math import redis class RedisNews(object): def __init__(s ...
- 前端 ---- js 模拟百度导航栏滚动案例
模拟百度导航栏滚动监听 代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta chars ...
- Linux学习之CentOS(一)--CentOS6.4环境搭建
Linux学习之CentOS(一)--CentOS6.4环境搭建http://www.cnblogs.com/xiaoluo501395377/archive/2013/03/31/CentOs.ht ...
- vue 上实现无缝滚动播放文字系统公告
首先实现效果,当时的需求做的系统公告框设定一个宽度,超宽滚动播放,没超宽则静态展示,有了需求,想了下实现原理,最开始打算js更改字体内容的方式,但是想了下感觉会有点麻烦,想起之前做了表格的左侧边固定, ...
- swift 实践- 13 -- UIStepper
import UIKit class ViewController: UIViewController { var stepper: UIStepper! var label: UILabel! ov ...