热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

一文尽览!2020图像分割最新进展

图灵TOPIA作者:JakubCzakon编译:安然来源:图灵TOPIA近日,数据科学家JakubCzakon在一篇博文介绍

图灵TOPIA

作者:Jakub Czakon

编译:安然

来源:图灵TOPIA

近日,数据科学家Jakub Czakon在一篇博文介绍了2020年图像分割的最新进展。Jakub分别图像分割架构、图像分割中使用的损失函数、图像分割工具等方面进行了概述。

什么是图像分割?      

 

顾名思义,就是把图像分成若干个特定的、具有独特性质的区域并提出感兴趣目标的技术和过程。在这个过程中,图像中的每个像素都与一个对象类型相关联。图像分割主要有两种类型:语义分割和实例分割。

在语义分割中,同一类型的所有对象都使用一个类标签进行标记,而在实例分割中,相似的对象则各自获得独立标签。

 

 

图像分割架构

图像分割的基本架构由编码器和解码器组成。

 

 

编码器通过过滤器从图像中提取特征。解码器负责生成最终输出,通常是一个包含对象轮廓的分割掩码。大多数体系结构都具有该体系结构或其变体。

 

来看几个例子。

 

U-Net

 

U-Net是最初用于分割生物医学图像的卷积神经网络。视化时,其架构看起来像字母U,因此也称为U-Net。它的体系结构由两部分组成,左边部分是收缩路径,右边部分是扩展路径。收缩路径的目的是捕获上下文,而扩展路径的作用是帮助精确定位。

  U-net架构图像分割

 

U-Net由右边的扩展路径和左边的收缩路径组成。收缩路径由两个3×3的卷积组成。卷积之后是一个经过整流的线性单元和一个用于向下采样的2×2最大池计算。

FastFCN——快速全连接网络

 

在这个架构中,联合金字塔上采样(JPU)模块被用来代替扩展卷积,因为它们消耗大量的内存和时间。它的核心是一个全连接网络,同时使用JPU进行上采样。JPU将低分辨率特征图上采样为高分辨率特征图。

 

FastFCN: Rethinking Dilated Convolution in the Backbone for Semantic Segmentation 

https://arxiv.org/abs/1903.11816

 

Gated-SCNN

 

该架构由双流CNN架构组成。在此模型中,一个单独的分支用于处理图像形状信息,另一个分支结构用于处理边界信息。

Gated-SCNN: Gated Shape CNNs for Semantic Segmentation

https://arxiv.org/abs/1907.05740

 

DeepLab

 

在这种结构中,带有上采样滤波器的卷积用于涉及密集预测的任务。多个对象的分割是通过无空间金字塔空间池完成的。最后,使用DCNNs来改进对象边界的定位。

 

通过插入零或对输入特征图进行稀疏采样来对滤波器进行上采样,从而实现空洞卷积。

 

DeepLab: Semantic Image Segmentation with Deep Convolutional Nets, Atrous Convolution, and Fully Connected CRFs

https://arxiv.org/abs/1606.00915

 

Mask R-CNN

 

在这种体系结构中,使用包围框和语义分割对对象进行分类和定位,语义分割将每个像素划分为一组类别。

 

每个感兴趣的区域都有一个分割掩码。将产生一个类标签和一个边界框作为最终输出。该体系结构是Faster R-CNN的扩展。

 

Faster R-CNN由提出区域的深度卷积网络和利用区域的检测器组成。

 

Mask R-CNN

 https://arxiv.org/abs/1703.06870

 

这是在COCO测试集上得到的结果的图像。

 

图像分割损失函数

 

语义分割模型在训练过程中通常使用一个简单的交叉熵损失函数。但是,如果对获取图像的信息粒度感兴趣,则必须恢复到稍微高级的损失函数。来看几个例子。

 

Focal Loss

这种损失是对标准交叉熵标准的一种改进。

 

这是通过更改其形状来实现的,以降低Well-classified examples的损失权重。最终,确保不存在类不平衡。

 

在此损失函数中,随着对正确类别的置信度增加,随着比例因子在零处衰减,交叉熵损失会按比例缩放。在训练时,比例因子自动降低简单示例的权重,并将重点放在困难示例上。

 

 

Dice loss

 

该损失是通过计算平滑骰子系数函数获得的。这种损失是最常用,是分割问题。

 

Interp over Union (IoU)-balanced Loss

 

IoU平衡分类损失的目的是增加高IoU样本的梯度,降低IoU样本的梯度。这样可以提高机器学习模型的定位精度。

Boundary loss

 

边界损失的一种变体适用于具有高度不平衡的分割任务。这种损失的形式是空间轮廓而非区域上的距离度量。通过这种方式,它解决了高度不平衡的分割任务的区域损失所带来的问题。

 

Weighted cross-entropy

 

在交叉熵的一个变体中,所有正例均按一定系数加权。它用于涉及类不平衡的

情况。

 

 

Lovász-Softmax loss

 

该损失基于子模损失的凸函数lovasz extension,对神经网络中的检测评价函数interp-over-union ( IOU )损失进行直接优化。

 

其他损失有:

 

TopK loss——其目标是确保网络在训练过程中专注于困难样本。

 

Distance penalized CE loss——它将网络引向难以分割的边界区域。

 

Sensitivity-Specificity (SS) loss——计算特异性和敏感性的均方差的加权和。

 

Hausdorff distance(HD) loss——从卷积神经网络估计Hausdorff距离。

 

这些只是图像分割中使用的几个损失函数。更多内容请查看:

https://github.com/JunMa11/SegLoss

 

图像分割数据集

 

Coco Dataset

COCO是大规模的对象检测,分割和字幕数据集。数据集包含91个类别。它有25 万个有关键点标记的人体实例。它的下载大小是37.57 GiB。它包含80个对象类别。它在Apache 2.0许可下可用。下载链接:

 https://www.tensorflow.org/datasets/catalog/coco

 

PASCAL Visual Object Classes (PASCAL VOC)

 

PASCAL有9963张图像,其中有20种不同的类别。训练/验证集是一个2GB的tar文件。下载链接:

 

http://host.robots.ox.ac.uk/pascal/VOC/voc2012/

The Cityscapes Dataset

 

这个数据集包含城市场景的图像。它可用于评估城市场景中视觉算法的性能。数据集可从此处下载。

 https://www.cityscapes-dataset.com/downloads/

The Cambridge-driving Labeled Video Database — CamVid

这是一个基于运动的分割和识别数据集。它包含32个语义类。此链接包含进一步的说明和数据集的下载链接。

 http://mi.eng.cam.ac.uk/research/projects/VideoRec/CamVid/

图像分割工具

 

现在已经有了数据集,接下来介绍一些入门的工具/框架。

 

FastAI library——给定图像,该库能够为图像中的对象创建Mask。

 

Sefexa Image Segmentation Tool——Sefexa是一个免费工具,可用于半自动图像分割。图像分析和ground truth的创建

 

Deepmask——Facebook Research的Deepmask是DeepMask和SharpMask的Torch实现

 

MultiPath——这是一个来自“目标检测的多路径网络”的Torch对象检测网络的实现。

 

OpenCV——这是一个开放源代码的计算机视觉库,具有2500多种优化算法。

 

MIScnn——是医学图像分割开源库。它允许在几行代码中使用最新的卷积神经网络和深度学习模型来建立管道。

 

Fritz——提供了多种计算机视觉工具,包括用于移动设备的图像分割工具。

 

 原文链接:

https://towardsdatascience.com/image-segmentation-in-2020-756b77fa88fc



推荐阅读
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 也就是|小窗_卷积的特征提取与参数计算
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了卷积的特征提取与参数计算相关的知识,希望对你有一定的参考价值。Dense和Conv2D根本区别在于,Den ... [详细]
  • 浏览器中的异常检测算法及其在深度学习中的应用
    本文介绍了在浏览器中进行异常检测的算法,包括统计学方法和机器学习方法,并探讨了异常检测在深度学习中的应用。异常检测在金融领域的信用卡欺诈、企业安全领域的非法入侵、IT运维中的设备维护时间点预测等方面具有广泛的应用。通过使用TensorFlow.js进行异常检测,可以实现对单变量和多变量异常的检测。统计学方法通过估计数据的分布概率来计算数据点的异常概率,而机器学习方法则通过训练数据来建立异常检测模型。 ... [详细]
  • 本文介绍了在Python张量流中使用make_merged_spec()方法合并设备规格对象的方法和语法,以及参数和返回值的说明,并提供了一个示例代码。 ... [详细]
  • 本人学习笔记,知识点均摘自于网络,用于学习和交流(如未注明出处,请提醒,将及时更正,谢谢)OS:我学习是为了上 ... [详细]
  • 2018年人工智能大数据的爆发,学Java还是Python?
    本文介绍了2018年人工智能大数据的爆发以及学习Java和Python的相关知识。在人工智能和大数据时代,Java和Python这两门编程语言都很优秀且火爆。选择学习哪门语言要根据个人兴趣爱好来决定。Python是一门拥有简洁语法的高级编程语言,容易上手。其特色之一是强制使用空白符作为语句缩进,使得新手可以快速上手。目前,Python在人工智能领域有着广泛的应用。如果对Java、Python或大数据感兴趣,欢迎加入qq群458345782。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 本文介绍了机器学习手册中关于日期和时区操作的重要性以及其在实际应用中的作用。文章以一个故事为背景,描述了学童们面对老先生的教导时的反应,以及上官如在这个过程中的表现。同时,文章也提到了顾慎为对上官如的恨意以及他们之间的矛盾源于早年的结局。最后,文章强调了日期和时区操作在机器学习中的重要性,并指出了其在实际应用中的作用和意义。 ... [详细]
  • OpenMap教程4 – 图层概述
    本文介绍了OpenMap教程4中关于地图图层的内容,包括将ShapeLayer添加到MapBean中的方法,OpenMap支持的图层类型以及使用BufferedLayer创建图像的MapBean。此外,还介绍了Layer背景标志的作用和OMGraphicHandlerLayer的基础层类。 ... [详细]
  • 我用Tkinter制作了一个图形用户界面,有两个主按钮:“开始”和“停止”。请您就如何使用“停止”按钮终止“开始”按钮为以下代码调用的已运行功能提供建议 ... [详细]
  • cs231n Lecture 3 线性分类笔记(一)
    内容列表线性分类器简介线性评分函数阐明线性分类器损失函数多类SVMSoftmax分类器SVM和Softmax的比较基于Web的可交互线性分类器原型小结注:中文翻译 ... [详细]
  • 【论文】ICLR 2020 九篇满分论文!!!
    点击上方,选择星标或置顶,每天给你送干货!阅读大概需要11分钟跟随小博主,每天进步一丢丢来自:深度学习技术前沿 ... [详细]
  • vb.net不用多线程如何同时运行两个过程?不用多线程?即使用多线程,也不会是“同时”执行,题主只要略懂一些计算机编译原理就能明白了。不用多线程更不可能让两个过程同步执行了。不过可 ... [详细]
  • 数学建模入门python绘制频率直方图
    文章目录例题数据处理绘图操作调用演示例题数据处理将以下的数据保存到磁盘上17275169551696417165167471716216867165521696216865 ... [详细]
  • 人工智能推理能力与假设检验
    最近Google的Deepmind开始研究如何让AI做数学题。这个问题的提出非常有启发,逻辑推理,发现新知识的能力应该是强人工智能出现自我意识之前最需要发展的能力。深度学习目前可以 ... [详细]
author-avatar
宝贝2502940717
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有