PaddleSeg 分割模型介绍

  • PaddleSeg 分割模型介绍
    • 一、[U-Net](https://zhuanlan.zhihu.com/p/118540575)
    • 二、DeepLabv3+
    • 三、PSPNet
    • 四、ICNet
    • 五、[HRNet](https://github.com/PaddlePaddle/PaddleSeg/blob/release/v0.7.0/tutorial/finetune_hrnet.md)
    • 六、Fast-SCNN
    • 七、参考文献

PaddleSeg 分割模型介绍

此篇博客摘抄于https://github.com/PaddlePaddle/PaddleSeg/blob/release/v0.7.0/docs/models.md
目的是便于自己和新手理解:

一、U-Net

U-Net [1] 起源于医疗图像分割,整个网络是标准的encoder-decoder网络,特点是参数少,计算快,应用性强,对于一般场景适应度很高。U-Net最早于2015年提出,并在ISBI 2015 Cell Tracking Challenge取得了第一。经过发展,目前有多个变形和应用。

原始U-Net的结构如下图所示,由于网络整体结构类似于大写的英文字母U,故得名U-net。左侧可视为一个编码器,右侧可视为一个解码器。编码器有四个子模块,每个子模块包含两个卷积层,每个子模块之后通过max pool进行下采样。由于卷积使用的是valid模式,故实际输出比输入图像小一些。具体来说,后一个子模块的分辨率=(前一个子模块的分辨率-4)/2。U-Net使用了Overlap-tile 策略用于补全输入图像的上下信息,使得任意大小的输入图像都可获得无缝分割。同样解码器也包含四个子模块,分辨率通过上采样操作依次上升,直到与输入图像的分辨率基本一致。该网络还使用了跳跃连接,以拼接的方式将解码器和编码器中相同分辨率的feature map进行特征融合,帮助解码器更好地恢复目标的细节。


以左上角第一个模块为例:

为了计算经过卷积池化后的结果,我们需要知道(详情参照):
Hout=H+ph1+ph2−khsh+1Wout=W+pw1+pw2−kwsw+1\begin{aligned} H_{\text {out}} &=\frac{H+p_{h 1}+p_{h 2}-k_{h}}{s_{h}}+1 \\ W_{\text {out}} &=\frac{W+p_{w 1}+p_{w 2}-k_{w}}{s_{w}}+1 \end{aligned}Hout​Wout​​=sh​H+ph1​+ph2​−kh​​+1=sw​W+pw1​+pw2​−kw​​+1​

对于up-cov请参考:
https://www.cnblogs.com/shine-lee/p/11559825.html
https://zhuanlan.zhihu.com/p/30427338
https://leonardoaraujosantos.gitbook.io/artificial-inteligence/machine_learning/deep_learning/image_segmentation
目的就是恢复尺寸。

二、DeepLabv3+

DeepLabv3+ [2] 是DeepLab系列的最后一篇文章,其前作有 DeepLabv1, DeepLabv2, DeepLabv3. 在最新作中,作者通过encoder-decoder进行多尺度信息的融合,以优化分割效果,尤其是目标边缘的效果。 并且其使用了Xception模型作为骨干网络,并将深度可分离卷积(depthwise separable convolution)应用到atrous spatial pyramid pooling(ASPP)中和decoder模块,提高了语义分割的健壮性和运行速率,在 PASCAL VOC 2012 和 Cityscapes 数据集上取得新的state-of-art performance.

在PaddleSeg当前实现中,支持两种分类Backbone网络的切换:

  • MobileNetv2 适用于移动设备的快速网络,如果对分割性能有较高的要求,请使用这一backbone网络。

  • Xception DeepLabv3+原始实现的backbone网络,兼顾了精度和性能,适用于服务端部署。

参考123
图像上采样和图像下采样

三、PSPNet

金字塔场景解析网络Pyramid Scene Parsing Network (PSPNet) [3] 起源于场景解析(Scene Parsing)领域。如下图所示,普通FCN [4] 面向复杂场景出现三种误分割现象:(1)关系不匹配。将船误分类成车,显然车一般不会出现在水面上。(2)类别混淆。摩天大厦和建筑物这两个类别相近,误将摩天大厦分类成建筑物。(3)类别不显著。枕头区域较小且纹理与床相近,误将枕头分类成床。

PSPNet的出发点是在算法中引入更多的上下文信息来解决上述问题。为了融合了图像中不同区域的上下文信息,PSPNet通过特殊设计的全局均值池化操作(global average pooling)和特征融合构造金字塔池化模块 (Pyramid Pooling Module)。PSPNet最终获得了2016年ImageNet场景解析挑战赛的冠军,并在PASCAL VOC 2012 和 Cityscapes 数据集上取得当时的最佳效果。整个网络结构如下:

四、ICNet

图像级联网络Image Cascade Network(ICNet) [5] 是一个基于PSPNet的语义分割网络,设计目的是减少PSPNet推断时期的耗时。ICNet主要用于图像实时语义分割。ICNet由三个不同分辨率的子网络组成,将输入图像变换为不同的分辨率,随后使用计算复杂度高的网络处理低分辨率输入,计算复杂度低的网络处理分辨率高的网络,通过这种方式在高分辨率图像的准确性和低复杂度网络的效率之间获得平衡。并在PSPNet的基础上引入级联特征融合单元(cascade feature fusion unit),实现快速且高质量的分割模型。
整个网络结构如下:

五、HRNet

高分辨率网络High-Resolution Network (HRNet) [6] 在整个训练过程中始终维持高分辨率表示。 HRNet具有两个特点:(1)从高分辨率到低分辨率并行连接各子网络,(2)反复交换跨分辨率子网络信息。这两个特点使HRNet网络能够学习到更丰富的语义信息和细节信息。 HRNet在人体姿态估计、语义分割和目标检测领域都取得了显著的性能提升。

整个网络结构如下:

六、Fast-SCNN

Fast-SCNN [7] 是一个面向实时的语义分割网络。在双分支的结构基础上,大量使用了深度可分离卷积和逆残差(inverted-residual)模块,并且使用特征融合构造金字塔池化模块 (Pyramid Pooling Module)来融合上下文信息。这使得Fast-SCNN在保持高效的情况下能学习到丰富的细节信息。

整个网络结构如下:

七、参考文献

直接参考

[1] U-Net: Convolutional Networks for Biomedical Image Segmentation

[2] Encoder-Decoder with Atrous Separable Convolution for Semantic Image Segmentation

[3] Pyramid Scene Parsing Network

[4] Fully Convolutional Networks for Semantic Segmentation

[5] ICNet for Real-Time Semantic Segmentation on High-Resolution Images

[6] Deep High-Resolution Representation Learning for Visual Recognition

[7] Fast-SCNN: Fast Semantic Segmentation Network

PaddleSeg 分割模型介绍相关推荐

  1. 三维点云语义分割模型介绍

    三维点云语义分割模型介绍 1 三维深度学习简介 1.1 三维数据表达方式 2 PointNet 2.1 点云的属性 2.1.1 无序性 2.1.2 关联性 2.1.3 不变性 2.2 key modu ...

  2. 【深度学习】Mask-RCNN 计算机视觉实例分割模型介绍 Mask分支

    论文:https://arxiv.org/pdf/1703.06870.pdf 视频:https://www.bilibili.com/video/BV1ZY411774T?spm_id_from=3 ...

  3. 识别速度3.6ms/帧!人像抠图、工业质检、遥感识别,用这一个分割模型就够了...

    支撑影视人像抠图.医疗影像分析.自动驾驶感知等万亿级市场背后的核心技术是什么?那就要说到顶顶重要的图像分割技术.相比目标检测.图像分类等技术,图像分割需要将每个像素点进行分类,在精细的图像识别任务中不 ...

  4. 人人必须要知道的语义分割模型:DeepLabv3+

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 前言 图像分割是计算机视觉中除了分类和检测外的另一项基本任务,它意 ...

  5. 【图像分割模型】实例分割模型—DeepMask

    这是专栏<图像分割模型>的第11篇文章.在这里,我们将共同探索解决分割问题的主流网络结构和设计思想. 本文介绍了用于实例分割任务的模型结构--DeepMask. 作者 | 孙叔桥 编辑 | ...

  6. 【分割模型解读】感受野与分辨率的控制术—空洞卷积

    这是专栏<分割模型解读>的第3篇文章.在这里,我们将共同探索解决分割问题的主流网络结构和设计思想. 前两篇文章介绍了编解码分割结构,今天具体聊聊解码器中涉及到的空间分辨率恢复问题. 作者 ...

  7. 【深度学习】SETR:基于视觉 Transformer 的语义分割模型

    Visual Transformer Author:louwill Machine Learning Lab 自从Transformer在视觉领域大火之后,一系列下游视觉任务应用研究也随之多了起来.基 ...

  8. 线性插值改变图像尺寸_【图像分割模型】实例分割模型—DeepMask

    这是专栏<图像分割模型>的第11篇文章.在这里,我们将共同探索解决分割问题的主流网络结构和设计思想. 本文介绍了用于实例分割任务的模型结构--DeepMask. 作者 | 孙叔桥 编辑 | ...

  9. 识别速度3.6ms/帧,人像抠图、工业质检、遥感识别,用这一个分割模型就够了

    支撑影视人像抠图.医疗影像分析.自动驾驶感知等万亿级市场背后的核心技术是什么?那就要说到顶顶重要的图像分割技术.相比目标检测.图像分类等技术,图像分割需要将每个像素点进行分类,在精细的图像识别任务中不 ...

最新文章

  1. SYNCHRO 4D可视化调度学习教程 SYNCHRO 4D: Visual Scheduling
  2. 基于 GraphQL 实践的一点思考
  3. 转载:【opencv入门教程之三】:组件结构
  4. 警告提示:No archetype found in remote catalog. Archetype not found in any catalog
  5. linux环境安装LFTP_02
  6. 唯一约束 mysql
  7. word里双横线怎么打_Word中下划线怎么打出来
  8. linux 8t的硬盘格式化,linux 新添加的硬盘格式化并挂载到目录下
  9. Python实现求众数的三种方法
  10. Cocos Creator实现FPS经典瞄准镜+监视器
  11. 关于silverlight的xap包与dll分离的一些事儿
  12. Python监控股价并通过微信提醒
  13. 3dmax文件保存后超大怎么缩小?想学3D建模,还没软件速来领取
  14. 看清有关 SDN 的七大认识偏差
  15. vue页面路由跳转重复报错的问题
  16. for(;;)和while(true)都是无条件循环
  17. Vegas如何实现画中画的效果
  18. 记录华为OBS文件上传下载多种方式
  19. 面向开发者的 Android 10 —— Android 10 亮点
  20. 【有利可图网】PS教程:设计制作卡通游戏风格字体效果

热门文章

  1. 03 【eCharts样式定制系列】雷达图自定义面积覆盖颜色
  2. 抖音seo源码,抖音seo矩阵系统分发源码技术搭建
  3. 企业如何通过CRM系统有效触达客户,获取潜在商机
  4. 如何关闭CBox(2.4版本)的强制升级窗口
  5. MFC C++局域网远程监控系统 V1.0
  6. 我的理想计算机作文300字,我的理想作文300字
  7. 12306验证码太难,试着用php自己做一个验证码吧!
  8. C语言编程之用line画直线
  9. 新平面视觉:多种艺术风格ai转换技巧
  10. 使用UFT进行脚本录制与回放