继续创作,加快生长!这是我参与「日新方案 10 月更文挑战」的第13天,点击检查活动详情

导读

一个很好的入门小短文,内容很全,合适上手。

图像分割总结:结构,损失函数,数据集和框架

在这篇文章中,咱们将进入运用深度学习进行图画切割的世界。咱们将讨论:

  • 图画切割是什么以及图画切割的两种首要类型
  • 图画切割结构
  • 图画切割中运用的丢失函数
  • 你可以运用的结构

就让咱们一探终究吧。

什么是图画切割?

顾名思义,这是将图画切割为多个部分的进程。在这个进程中,图画中的每个像素都与一个目标类型相关联。图画切割首要有两种类型:语义切割和实例切割。

在语义切割中,所有相同类型的目标都运用一个类标签进行标记,而在实例切割中,类似的目标运用各自的标签。

图像分割总结:结构,损失函数,数据集和框架

图画切割结构

图画切割的根本结构包括编码器和解码器。

图像分割总结:结构,损失函数,数据集和框架

编码器经过滤波器从图画中提取特征。解码器负责生成终究输出,该输出一般是包括目标轮廓的切割掩码。大多数架构都有这种架构或它的变体。

让咱们来看几个例子。

U-Net

U-Net是一种卷积神经网络,最初是为切割生物医学图画而开发的。当它被可视化的时分,它的架构看起来像字母U,因而被命名为U-Net。其体系结构由两部分组成,左侧为缩短途径,右侧为扩展途径。缩短途径的意图是获取上下文,而扩展途径的作用是协助准确定位。

图像分割总结:结构,损失函数,数据集和框架

U-Net是由右侧的扩张途径和左侧的缩短途径组成的。缩短途径由两个3乘3的卷积组成。卷积之后是一个ReLU和一个2×2的最大池计算用于下采样。

你可以在这儿找到U-Net的完好完成:lmb.informatik.uni-freiburg.de/people/ronn…

FastFCN —Fast Fully-connected network

在这个架构中,运用一个联合金字塔上采样(JPU)模块来替换膨胀卷积,由于它们耗费大量的内存和时刻。在应用JPU进行上采样时,其中心部分选用全衔接网络。JPU将低分辨率的feature map采样到高分辨率feature map。

假如你想动手完成一些代码,看这儿:github.com/wuhuikai/Fa…

Gated-SCNN

这个架构由一个 two-stream CNN架构组成。在该模型中,运用一个独自的分支来处理图画的形状信息。利用形状流来处理鸿沟信息。

图像分割总结:结构,损失函数,数据集和框架

完成参阅代码:github.com/nv-tlabs/gs…

DeepLab

在这种架构中,上采样滤波器的卷积用于触及密布预测的使命。多标准的目标切割是经过空间金字塔池完成的。终究,利用DCNNs来改善目标鸿沟的定位。经过对滤波器插入零进行上采样或对输入特征图进行稀疏采样来完成卷积。

图像分割总结:结构,损失函数,数据集和框架

完成参阅代码:github.com/fregu856/de…

Mask R-CNN

在这个架构中,运用鸿沟框和语义切割将每个像素划分为一组类别,对目标进行分类和局部化。对每个感兴趣的区域得到一个切割掩码,生成一个类标签和一个鸿沟框作为终究输出。该架构是Faster R-CNN的扩展。Faster R-CNN由regions proposer和深度卷积网络和利局部检测器组成。

图像分割总结:结构,损失函数,数据集和框架

这儿是COCO测试会集的一张图画的结果:

图像分割总结:结构,损失函数,数据集和框架

图画切割丢失函数

语义切割模型在练习进程中一般运用一个简略的穿插分类熵丢失函数。但是,假如你对获取图画的细粒度信息感兴趣,那么你需求用到稍微高档一点的丢失函数。

咱们来看看其中的几个。

Focal Loss

这种丢失是对标准穿插熵的改善。这是经过改变它的形状来完成的,这样分配给分类良好的样本的丢失就下降了。终究,这保证了没有类别不平衡。在这个丢失函数中,穿插熵丢失被缩放,随着对正确类的置信度的添加,缩放因子衰减为零。在练习时,份额因子会自动下降简略样本的权重,并聚集于困难样本。

Dice loss

这个丢失是经过计算smooth dice coefficient得到的。这种丢失是最常用的切割丢失。

图像分割总结:结构,损失函数,数据集和框架

Intersection over Union (IoU)-balanced Loss

IoU平衡分类丢失的意图是添加高IoU样本的梯度,下降低IoU样本的梯度。这样提高了机器学习模型的定位精度。

Boundary loss

鸿沟丢失的一种变体应用于切割高度不平衡的使命。这种丢失的方式是空间等高线上的距离衡量,而不是区域。这种方法处理了高度不平衡的切割使命中区域丢失的问题。

图像分割总结:结构,损失函数,数据集和框架

Weighted cross-entropy

在穿插熵的一种变体中,所有正样本都用必定的系数进行加权。它用于类别不平衡的场景。

Lovsz-Softmax loss

该丢失是对根据子模块丢失凸Lovasz扩展的神经网络平均IoU丢失的直接优化

图像分割总结:结构,损失函数,数据集和框架

其他值得一提的丢失包括:

  • TopK loss,其意图是保证网络在练习进程中聚集于困难样本上。
  • 距离惩罚穿插熵丢失,引导网络难以切割的鸿沟地区。
  • 敏感性-特异性(SS)丢失,计算特异性和敏感性的均方差的加权和。
  • Hausdorff distance(HD) loss,估量了卷积神经网络的Hausdorff距离。

这只是在图画切割中运用的几个丢失函数。想了解更多内容,看这儿:github.com/JunMa11/Seg…

图画切割数据集

从哪里可以得到一些数据集来开端?让咱们来看几个例子。

Common Objects in COntext — Coco Dataset

COCO是一个大型物体检测、切割和图画描绘数据集。数据集包括91个类。它有25万个人标示了要害点。它的大小是37.57 GiB。它包括80个物体类别。它遵从Apache 2.0许可,下载链接:cocodataset.org/#download。

PASCAL Visual Object Classes (PASCAL VOC)

PASCAL有9963个图画和20个不同的类。练习/验证集是一个2GB的tar文件。数据集下载:host.robots.ox.ac.uk/pascal/VOC/…

The Cityscapes Dataset

此数据集包括城市场景的图画。它可以用来评估城市场景中视觉算法的功能。数据集下载:www.cityscapes-dataset.com/downloads/。

The Cambridge-driving Labeled Video Database — CamVid

这是一个根据运动的切割和辨认数据集。它包括32个语义类。数据集下载:mi.eng.cam.ac.uk/research/pr…

图画切割结构

现在你已经有了数据集,让咱们介绍一些东西/结构,你可以运用它们来开端。

  • FastAI library– 给定一幅图画,该库可以创立该图画中目标的mask。
  • Sefexa Image Segmentation Tool - Sefexa是一个免费的东西,可以用于半自动图画切割,图画剖析,创立ground truth
  • Deepmask– Deepmask由Facebook Research开发,是Deepmask和SharpMask的Torch完成。
  • MultiPath– 这是来源于A MultiPath Network for Object Detection的物体检测网络的Torch完成。
  • OpenCV– 这是一个开源的计算机视觉库,有超越2500个优化算法。
  • MIScnn– 这是一个医学图画切割开源库。它运用最先进的卷积神经网络和深度学习模型建立管道,只需几行代码。
  • Fritz– Fritz供给多种计算机视觉东西,包括用于移动设备的图画切割东西。

总结

本文为你供给了一些图画切割的布景常识,并为你供给了一些东西和结构,可以用于入门。

咱们讨论了:

  • 什么是图画切割,
  • 图画切割架构,
  • 图画切割丢失,
  • 图画切割东西和结构。

要了解更多信息,请检查每个架构和结构的链接。

英文原文:neptune.ai/blog/image-…