1、FCN

https://blog.csdn.net/bestrivern/article/details/89523329

《Fully Convolutional Networks for Semantic Segmentation》https://arxiv.org/abs/1411.4038
FCN是不含全连接层的全卷积网络,对图像进行像素级的分类,解决了图像的语义分割问题,可以接受任意尺寸的图像大小,采用反卷积对最后一个特征图(feature map)进行处理,使其恢复到输入图像的尺寸,对每个像素产生一个预测, 同时保留了原始输入图像中的空间信息, 最后在上采样的特征图上进行逐像素分类。(反卷积和卷积类似,都是相乘相加的运算。只不过后者是多对一,前者是一对多),最后逐个像素计算softmax分类的损失, 相当于每一个像素对应一个训练样本。下图是Longjon用于语义分割所采用的全卷积网络(FCN)的结构示意图:

跳级(strip)结构:对第5层的输出执行32倍的反卷积得到原图,得到的结果不是很精确,论文中同时执行了第4层和第3层输出的反卷积操作(分别需要16倍和8倍的上采样),再把这3个反卷积的结果图像融合,提升了结果的精确度。

FCN有几个版本,FCN-32s、FCN-16s、FCN-8s,分别对应反卷积的步长stride。FCN32s在第五个下采样之后直接经过一个反卷积上采样为输入图像大小。FCN16s做了两次反卷积,把第四个下采样的结果也做一次反卷积融合起来,第二次反卷积的步长为16。FCN8s做了三次反卷积,进一步融合了第三个下采样的预测结果,第三次反卷积的步长为8,而FCN8s效果最好,说明了较浅层的预测结果包含更多细节特征。

2、Unet

https://zhuanlan.zhihu.com/p/79204199

《U-Net: Convolutional Networks for Biomedical Image Segmentation》
https://arxiv.org/pdf/1505.04597.pdf
Unet的结构是先编码(下采用)再解码(上采样)的U形结构,保持输入和输出大小一样。在FCN中,Skip connection的联合是通过对应像素的求和,而U-Net则是对其的channel的concat过程。

3、Unet++

UNet++: A Nested U-Net Architecture for Medical Image Segmentation
https://arxiv.org/pdf/1807.10165.pdf
Unet++借鉴了DenceNet的密集连接,对Unet改进的点主要是skip connection,下图所示,其中黑色部分代表的就是原始Unet结构,绿色代表添加的卷积层,蓝色代表改进的skip connection,每一个水平层就是非常标准的DenseNet的结构。

还引入了deep supervision深度监督的思路。网络的loss函数是由不同层得到的分割图的loss的平均,每层的loss函数为DICE LOSS和Binary cross-entropy LOSS之和,引入DSN(deep supervision net)后,通过model pruning(模型剪枝)能够实现模型的两种模式:高精度模式和高速模式。

4、SegNet

《A Deep Convolutional Encoder-Decoder Architecture for Image Segmentation》 https://arxiv.org/abs/1511.00561
Segnet和Unet有点像,它采用的是编码-解码的结构,这样的对称结构有种自编码器的感觉在里面,先编码再解码。这样的结构主要使用了反卷积和上池化。解码器通过池化索引来实现非线性的上采样,这个池化索引是由与解码器相对应的编码器进行最大池化操作计算得到的。
在SegNet中的Pooling比其他Pooling多了一个Pooling Index功能,也就是每次Pooling,都会保存通过max选出的权值在2x2 filter中的相对位置。Upsamping就是Pooling的逆过程(index在Upsampling过程中发挥作用),Upsamping使得图片变大2倍。我们清楚的知道Pooling之后,每个filter会丢失了3个权重,这些权重是无法复原的,但是在Upsamping层中可以得到在Pooling中相对Pooling filter的位置。SegNet在Unpooling时用index信息,直接将数据放回对应位置,后面再接Conv训练学习。

5、RefineNet

《Multi-Path Refinement Networks for High-Resolution Semantic Segmentation》https://arxiv.org/abs/1611.06612
U-Net在上采样后直接和encoder的feature map进行级联,而RefineNet模型通过ResNet进行下采样,之后经过4个RefineNet module进行上采样,得到原来大小的特征图。把encoder产生的feature和上一阶段decoder的输出同时作为RefineNet module的输入,在RefineNet module中进行一系列卷积,融合,池化,使得多尺度特征的融合更加深入。
另一创新点就是RefineNet模块中的链式残余池化,使用不同尺寸的窗口池化,并且使用残余连接和可学习的权重把他们融合起来。
下图是单独一个refineNet的结构
每个RefineNet module包含4个部分
1-Residual convolution unit :对ResNet block进行2层的卷积操作。注意这里有多个ResNet block作为输入。
2-Multi-resolution fusion:将1中得到的feature map进行加和融合。
3-Chained residual pooling :该模块用于从一个大图像区域中捕捉背景上下文。注意:pooling的stride为1。
4-Output convolutions:1个RCUs构成。
RefineNet还有一些变体,分别为仅使用1个RefineNet模块,2个RefineNet模块级联,4个RefineNet模块级联且使用两种尺度输入。
给大家一个多个分割网络的pytorch实现,如:Deeplabv3, Deeplabv3_plus, PSPNet, UNet, UNet_AutoEncoder, UNet_nested, R2AttUNet, AttentionUNet, RecurrentUNet, SEGNet, CENet, DsenseASPP, RefineNet, RDFNet。链接:

https://github.com/Minerva-J/Pytorch-Segmentation-multi-models

分割网络模型(FCN、Unet、Unet++、SegNet、RefineNet)相关推荐

  1. 图像分割——语义分割:FCN与Unet

    目录 FCN网络 网络结构 全卷积部分 上采样部分 跳层连接 总结 Unet网络 FCN网络 简而言之,FCN和CNN的区别就是:CNN卷积层之后连接的是全连接层:FCN卷积层之后仍连接卷积层,输出的 ...

  2. 【语义分割】一文概览主要语义分割网络,FCN、UNet、SegNet、DeepLab

    目录 前言知识 一.语义分割与实例分割的区别 1. Semantic Segmentation(语义分割): 2. Instance Segmentation(实例分割): 二.语义分割一般网络架构 ...

  3. FCN与U-Net语义分割算法

    FCN与U-Net语义分割算法 图像语义分割(Semantic Segmentation)是图像处理和是机器视觉技术中关于图像理解的重要一环,也是 AI 领域中一个重要的分支.语义分割即是对图像中每一 ...

  4. 基于FCN,U-Net的深度学习医学影像分割算法(细胞分割算法)以及传统算法分析

    本博文主要分析了基于传统计算机视觉的细胞分割算法和基于深度学习的细胞分割算法.主要针对医学影像分割算法.包括了FCN全卷积网络的细胞分割效果,U-Net细胞分割效果.查阅了采用深度学习分割医学影像的几 ...

  5. FCN、Unet、Unet++:医学图像分割网络一览

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者丨Error@知乎 来源丨https://zhuanlan.z ...

  6. 项目awesome-semantic-segmentation-pytorch以及FCN、Unet、deeplabv1、deeplabv2、deeplabv3、deeplabv3+的网络

    FCN.Unet.deeplabv1.deeplabv2.deeplabv3.deeplabv3+的网络 https://blog.csdn.net/c_daofeng/article/details ...

  7. 图像分割综述:FCN、U-Net、PSPNet、DeepLab

    图像分割综述 什么是图像分割? 图像分割在CV领域的研究 图像语义分割用到的技术 FCN U-Net&PSPNet DeepLab系列 Graph-based 分割 实例分割 图像分割的类型 ...

  8. 语义分割(三)Unet++

    语义分割(三)Unet++ Unet++ Unet++特点 Unet++网络结构 模型剪枝 Unet++模型实现 Unet++ Unet++论文 UNet++是2018年提出的网络,是U-Net的一个 ...

  9. Recorder︱图像语义分割(FCN、CRF、MRF)、论文延伸(Pixel Objectness、)

    图像语义分割的意思就是机器自动分割并识别出图像中的内容,我的理解是抠图- 之前在Faster R-CNN中借用了RPN(region proposal network)选择候选框,但是仅仅是候选框,那 ...

最新文章

  1. redis3.2安装过程分享
  2. 关于“航天•轻舟机器人国赛技术交流会”邀请函
  3. python写游戏脚本-使用Python写一个小游戏
  4. 根据条件动态修改element 组件深层次样式
  5. ELDataQuery 基于.NET 2.0的数据查询框架 雏型
  6. 实现链栈的各种基本运算的算法_LeetCode基础算法题第78篇:如何不用加减号实现两数的加法运算?...
  7. JavaWeb 之 HttpServletResponse
  8. php 之将图片转换base64编码(为百度ocr作准备,解决 image format error)
  9. 人工智能视频教程下载
  10. 发那可g10_对FANUC系统中G10指令的使用心得
  11. 那些自媒体视频剪辑素材是怎么找到的?
  12. word2003邮件合并后保留小数点位数问题
  13. 交互设计 | 如何做到惊喜?
  14. 配置Dot1q终结子接口实现跨设备VLAN间通信示例
  15. ubuntu vi 方向键乱
  16. 手把手教你用 Pygame 复刻游戏
  17. swpuctf 2021
  18. java foreach标签_Java中Velocity foreach循环标签详解
  19. 【免费领取】趣味测试小程序源码/内置超多趣味测评+可插入流量主广告位微信小程序源码
  20. 乔治亚理工学院计算机专业,佐治亚理工学院电子与计算机专业

热门文章

  1. 一些好看的css样式
  2. Kobe- python数据类型的学习
  3. H3C(HCL) MSR-3600路由配置PPPoE服务器(一)
  4. 07---布儒斯特角
  5. Not Escaping(哈希+dp)
  6. cpythonjavagolang_golang调用python实战-阿里云开发者社区
  7. Unity 判断目标是否在左边或右边
  8. word里面用endnote 显示没有注册类解决方法
  9. 漏洞复现|(CVE-2019-3396)Confluence文件读取远程命令执行
  10. PYQT5 倒数计时器