基于深度学习的图像分割总结

2023-11-02

一、图像分割类别

随着深度学习的发展,在分割任务中出现了许多优秀的网络。根据实际分割应用任务的不同,可以大致将分割分为三个研究方向:语义分割、实例分割、全景分割。这三种分割在某种意义上是具有一定的联系的。

语义分割:

像素级别的语义分割,对图像中的每个像素都划分出对应的类别,即实现像素级别的分类;

实例分割:

类的具体对象,即为实例,那么实例分割不但要进行像素级别的分类,还需在具体的类别基础上区别开不同的实例。

全景分割

全景分割是语义分割和实例分割的泛化,但引入了新的算法挑战。与语义分割不同,全景分割需要区分单个目标实例; 这对完全卷积网络提出了挑战。与实例分割不同的是,在全景分割中目标分割中必须是非重叠的,这对独立于操作每个目标的基于区域的方法提出了挑战。

考虑到实际的应用研究中,几种类型的分割均有很大的相关性,并且对于语义分割在实际的研究中产出比较多,许多的应用场景也进行了大量的尝试,下面主要介绍关于语义分割的研究情况。

二、CNN图像语义分割基本套路:

1. 下采样+上采样:Convlution + Deconvlution/Resize

2. 多尺度特征融合:特征逐点相加/特征channel维度拼接

3. 获得像素级别的segement map:对每一个像素点进行判断类别

图像的语义分割(Semantic Segmentation)是计算机视觉中非常重要的任务。它的目标是为图像中的每个像素分类。如果能够快速准去地做图像分割,很多问题将会迎刃而解。因此,它的应用领域就包括但不限于:自动驾驶、图像美化、三维重建等等。

语义分割是一个非常困难的问题,尤其是在深度学习之前。深度学习使得图像分割的准确率提高了很多,下面我们就总结一下近年来最具有代表性的方法和论文。

1. Fully Convolutional Networks (FCN)

我们介绍的第一篇论文是Fully Convolutional Networks for Semantic Segmentation,简称FCN。这篇论文是第一篇成功使用深度学习做图像语义分割的论文。论文的主要贡献有两点:

提出了全卷积网络。将全连接网络替换成了卷积网络,使得网络可以接受任意大小的图片,并输出和原图一样大小的分割图。只有这样,才能为每个像素做分类。 使用了反卷积层(Deconvolution)。分类神经网络的特征图一般只有原图的几分之一大小。想要映射回原图大小必须对特征图进行上采样,这就是反卷积层的作用。虽然名字叫反卷积层,但其实它并不是卷积的逆操作,更合适的名字叫做转置卷积(Transposed Convolution),作用是从小的特征图卷出大的特征图。 这是神经网络做语义分割的开山之作,需彻底理解。

2. DeepLab

DeepLab有v1 v2 v3,第一篇名字叫做DeepLab: Semantic Image Segmentation with Deep Convolutional Nets, Atrous Convolution, and Fully Connected CRFs。这一系列论文引入了以下几点比较重要的方法:

第一个是带洞卷积,英文名叫做Dilated Convolution,或者Atrous Convolution。带洞卷积实际上就是普通的卷积核中间插入了几个洞。它的运算量跟普通卷积保持一样,好处是它的“视野更大了”,比如普通3x3卷积的结果的视野是3x3,插入一个洞之后的视野是5x5。视野变大的作用是,在特征图缩小到同样倍数的情况下可以掌握更多图像的全局信息,这在语义分割中很重要。

3. Pyramid Scene Parsing Network

Pyramid Scene Parsing Network的核心贡献是Global Pyramid Pooling,翻译成中文叫做全局金字塔池化。它将特征图缩放到几个不同的尺寸,使得特征具有更好地全局和多尺度信息,这一点在准确率提升上上非常有用。

4. Mask R-CNN

Mask R-CNN是大神何凯明的力作,将Object Detection与Semantic Segmentation合在了一起做。它的贡献主要是以下几点。

第一,神经网络有了多个分支输出。Mask R-CNN使用类似Faster R-CNN的框架,Faster R-CNN的输出是物体的bounding box和类别,而Mask R-CNN则多了一个分支,用来预测物体的语义分割图。也就是说神经网络同时学习两项任务,可以互相促进。

第二,在语义分割中使用Binary Mask。原来的语义分割预测类别需要使用0 1 2 3 4等数字代表各个类别。在Mask R-CNN中,检测分支会预测类别。这时候分割只需要用0 1预测这个物体的形状面具就行了。

第三,Mask R-CNN提出了RoiAlign用来替换Faster R-CNN中的RoiPooling。RoiPooling的思想是将输入图像中任意一块区域对应到神经网络特征图中的对应区域。RoiPooling使用了化整的近似来寻找对应区域,导致对应关系与实际情况有偏移。这个偏移在分类任务中可以容忍,但对于精细度更高的分割则影响较大。

为了解决这个问题,RoiAlign不再使用化整操作,而是使用线性插值来寻找更精准的对应区域。效果就是可以得到更好地对应。实验也证明了效果不错。下面展示了与之前方法的对比,下面的图是Mask R-CNN,可以看出精细了很多。

5. U-Net

U-Net是原作者参加ISBI Challenge提出的一种分割网络,能够适应很小的训练集(大约30张图)。U-Net与FCN都是很小的分割网络,既没有使用空洞卷积,也没有后接CRF,结构简单。

整个U-Net网络结构类似于一个大大的U字母:首先进行Conv+Pooling下采样;然后Deconv反卷积进行上采样,crop之前的低层feature map,进行融合;然后再次上采样。重复这个过程,直到获得输出388x388x2的feature map,最后经过softmax获得output segment map。总体来说与FCN思路非常类似。

语义分割网络在特征融合时也有2种办法:

FCN式的逐点相加,对应caffe的EltwiseLayer层,对应tensorflow的tf.add()

U-Net式的channel维度拼接融合,对应caffe的ConcatLayer层,对应tensorflow的tf.concat()

三、综述介绍

前端:FCN, SegNet/DeconvNet,DeepLab。当然还有一些其他的结构方法,比如有用RNN来做的,还有更有实际意义的weakly-supervised方法等等。

后端:全连接条件随机场(DenseCRF)、CRFasRNN、马尔科夫随机场(MRF)、高斯条件随机场(G-CRF)等类似有后处理操作。

具体的细节链接如下https://blog.csdn.net/weixin_41923961/article/details/80946586

图像分割资源总结:

基础学习

1. A 2017 Guide to Semantic Segmentation with Deep Learning 概述——用深度学习做语义分割

  1. linkhttp://blog.qure.ai/notes/semantic-segmentation-deep-learning-review
  2. linkhttp://simonduan.site/2017/07/23/notes-semantic-segmentation-deep-learning-review/

2. 从全卷积网络到大型卷积核:深度学习的语义分割全指南

1)linkhttps://www.jiqizhixin.com/articles/2017-07-14-10

3. Fully Convolutional Networks

1)linkhttp://simtalk.cn/2016/11/01/Fully-Convolutional-Networks/

4. 语义分割中的深度学习方法全解:从FCN、SegNet到各代DeepLab

1)linkhttps://zhuanlan.zhihu.com/p/27794982

5. 语义分割实际应用

1http://blog.geohey.com/ji-suan-ji-shi-jue-zhi-yu-yi-fen-ge/

6. Segmentation Results: VOC2012 PASCAL语义分割比赛排名

1) linkhttp://host.robots.ox.ac.uk:8080/leaderboard/displaylb.php?challengeid=11&compid=6

7. 图像语义分割之FCN和CRF

1) link https://zhuanlan.zhihu.com/p/22308032

强化学习

1. U-Net [https://arxiv.org/pdf/1505.04597.pdf]

2. SegNet [https://arxiv.org/pdf/1511.00561.pdf]

3. DeepLab [https://arxiv.org/pdf/1606.0

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基于深度学习的图像分割总结 的相关文章

随机推荐

  • centos图形界面启动后卡在这里不显示登陆怎么办?

    开机时 大概启动到这里按 E 键进入GRUB启动管理器 进入管理器后选择第二个选项 可以用键盘的上下键选择 回车进入子菜单 在行末添加 init bin bash 回车 再按 b 重启 重启开机后进入bash 编辑 etc rc local
  • Qt QSS常用样式总结

    QTabWidget QTabWidget 描述 pane 指整个tab组件 border width 组件的外框宽度 border color 外框颜色 border style外框风格 比如outset就是凸出立体感 border ra
  • 修改战网服务器,战网该怎样改地区?

    战网该怎样改地区 现在的mac还不支持战网国服客户端 那么想要和国内的朋友一起玩游戏的话怎么办呢 下面 小编为大家介绍下战网改地区方法 1 首先你要将系统的隐藏文件夹显示出来 默认操作为 文件夹选项 查看 选择 显示隐藏的文件 文件夹和驱动
  • 传输 (VMDB)错误 -14: Pipe connection has been broken。

    https blog csdn net a12355556 article details 119350538 本人是在安装docker desktop 后发现vm出现无法挂起的问题 网上查看的确是docker和vm会冲突 应该是安装doc
  • 02-----linux下多线程程序占用虚拟内存非常高

    一 业务场景分析 因为多线程在平时是非常常见的 最近有点空 想自己写个线程池而不是用别人写好的 所以开撸 发现当我在调试一个线程池时 发现使用了一两个小时后 虚拟内存占用得非常高 然后我开始分析 一开始我先写了一个不带调整线程的线程池 发现
  • 如何获取SHA256证书指纹

    打开dos窗口 cmd 找到keytool命令 jdk的bin目录下 如果已经配置了环境变量则可以直接用 输入keytool查看是否识别命令 输入命令 查看SHA256证书指纹 由于我的文件直接在d盘根目录 我先d 切到d盘的 keytoo
  • 【笔记】input data to the valid range for imshow with RGB data [0..1] for floats or [0.255] for integers

    Clipping input data to the valid range for imshow with RGB data 0 1 for floats or 0 255 for integers eg1 float 超出 0 1范围
  • 打包人脸识别py文件经历及一系列错误的解决办法

    记录一下自己打包一个人脸识别项目的py文件的经历吧 毕竟弄了整整一天 到处都是错误 下次再出现这些错误也能快点解决 我之后的所有命令操作都是在Anaconda对应的命令行进行的 目录 代码所包含的头文件 pyinstaller安装错误 运行
  • Unity3D 控制角色移动,转向和自动跟随

    Unity3D 角色转向和自动跟随 通过挂载脚本控制3D人物的移动和转向 先上一个官方的例子 这里只有转向而没有移动的方法 看了下原工程 移动是做在动画中的 只要执行了动画就会跟着移动 而且每迈出一步的距离是固定的 如果移动没有做在动画里只
  • python3中默认的字符编码_python3中各个字符编码的转换

    原博文 2017 05 09 20 13 a 我很好 python3 默认的编码为unicode unicode gt gb2312unicode gb2312 a encode gb2312 因为默认是unicode所以不需要decode
  • 阿拉德之怒显示服务器错误,阿拉德之怒无法进入游戏怎么办_阿拉德之怒无法进入游戏解决方法_快吧手游...

    阿拉德之怒无法进入游戏是什么问题呢 阿拉德之怒无法进入游戏的原因又会是什么呢 相信有很多小伙伴们都还不知道吧 那么接下来就由小编给大家带来的王者荣耀阿拉德之怒无法进入游戏解决方法介绍 喜欢的小伙伴们快来看看吧 希望对大家有所帮助 阿拉德之怒
  • ES5严格模式及object,array,function拓展

    ES5 js主要3个部分构成 1 ECMAscript 核心 2 BOM 浏览器对象 DOM 文档对象 3 扩展 gt 服务器端 node js es5新增 严格模式 use strict 严格模式 1 声明严格模式必须在程序的顶部 2 声
  • Viso的对象文件插入word,导致画布有大量空白,如何解决

    Viso的对象文件插入word 导致画布有大量空白 如何解决 1 viso对象插入到word VIso的图可以作为对象插入到word中 直接复制即可 复制后 可以在word中双击 关联到viso中 进行更改 很方便 正常情况下 在viso中
  • VSPD虚拟串口软件安装及使用

    文章目录 前言 一 软件安装 1 Configure Virtual Serial Port Driver VSPD 2 串口调试助手 二 使用步骤 1 模拟串口 2 配置串口 3 收发测试 COM8 发 gt COM9 收 COM9 发
  • python小游戏——像素鸟代码开源

    作者 小刘在这里 每天分享云计算网络运维课堂笔记 努力不一定有回报 但一定会有收获加油 一起努力 共赴美好人生 夕阳下 是最美的 绽放 愿所有的美好 再疫情结束后如约而至 目录 一 呈现效果 二 主代码 三 cfg 四 README 一 呈
  • 自动驾驶汽车下匝道路径优化控制策略研究

    摘要 随着社会不断进步 经济快速发展 科学技术也在突飞猛进 交通行业是典型的领域之一 现阶段的交通发展 实现智能交通系统为目标 正逐渐从信息化步入智能化 朝着智慧化迈进 近年来 一系列先进的理念和技术用来解决交通拥堵 道路安全 能源消耗和环
  • 【Python蓝桥杯】印章 共有n种图案的印章,每种图案的出现概率相同。小A买了m张印章,求小A集齐n种印章的概率。

    最近在刷蓝桥杯题目 按题目做一下笔记整理 顺便分享交流一下 有更好的解决方案欢迎大家共同提出探讨 以下源代码为系统提交满分答案 印章 问题描述 资源限制 Python时间限制 5 0s 问题描述 共有n种图案的印章 每种图案的出现概率相同
  • VS2017遇到的问题及解决方案

    今天打开许久未打开的vs2017 遇到了一系列问题 在此记录一下 登录时提示 需要家长或监护人同意才能使用该账户 https www bilibili com read cv20136288 无法刷新此账户的凭据 https social
  • 用VC++来设计ActiveX控件

    用VC 来设计ActiveX控件 周勇生 2001年07月05日 14 03 ActiveX是Microsoft提出的一组使用COM ComponentObjectModel 部件对象模型 使得软件部件在网络环境中进行交互的技术集 它与具体
  • 基于深度学习的图像分割总结

    一 图像分割类别 随着深度学习的发展 在分割任务中出现了许多优秀的网络 根据实际分割应用任务的不同 可以大致将分割分为三个研究方向 语义分割 实例分割 全景分割 这三种分割在某种意义上是具有一定的联系的 语义分割 像素级别的语义分割 对图像