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

2020 年 11 月 28 日 极市平台
↑ 点击 蓝字  关注极市平台

作者丨Derrick Mwiti
来源丨AI公园
编辑丨极市平台

极市导读

 

本文总结了2020图像分割的相关内容,包括架构,损失函数,数据集,框架的整理,内容非常详细完整,适合入门者阅读上手。 >>加入极市CV技术交流群,走在计算机视觉的最前沿

在这篇文章中,我们将进入使用深度学习进行图像分割的世界。我们将讨论:

  • 图像分割是什么以及图像分割的两种主要类型
  • 图像分割结构
  • 图像分割中使用的损失函数
  • 你可以使用的框架

就让我们一探究竟吧。

什么是图像分割?

顾名思义,这是将图像分割为多个部分的过程。在这个过程中,图像中的每个像素都与一个对象类型相关联。图像分割主要有两种类型:语义分割和实例分割。在语义分割中,所有相同类型的对象都使用一个类标签进行标记,而在实例分割中,相似的对象使用各自的标签。

图像分割结构

图像分割的基本结构包括编码器和解码器。编码器通过滤波器从图像中提取特征。解码器负责生成最终输出,该输出通常是包含对象轮廓的分割掩码。大多数架构都有这种架构或它的变体。
让我们来看几个例子。

U-Net

U-Net是一种卷积神经网络,最初是为分割生物医学图像而开发的。当它被可视化的时候,它的架构看起来像字母U,因此被命名为U-Net。其体系结构由两部分组成,左侧为收缩路径,右侧为扩展路径。收缩路径的目的是获取上下文,而扩展路径的作用是帮助精确定位。U-Net是由右侧的扩张路径和左侧的收缩路径组成的。收缩路径由两个3乘3的卷积组成。卷积之后是一个ReLU和一个2x2的最大池计算用于下采样。
你可以在这里找到U-Net的完整实现:https://lmb.informatik.uni-freiburg.de/people/ronneber/u-net/。

FastFCN —Fast Fully-connected network

在这个架构中,使用一个联合金字塔上采样(JPU)模块来替换膨胀卷积,因为它们消耗大量的内存和时间。在应用JPU进行上采样时,其核心部分采用全连接网络。JPU将低分辨率的feature map采样到高分辨率feature map。如果你想动手实现一些代码,看这里:https://github.com/wuhuikai/FastFCN。

Gated-SCNN

这个架构由一个 two-stream CNN架构组成。在该模型中,使用一个单独的分支来处理图像的形状信息。利用形状流来处理边界信息。实现参考代码:https://github.com/nv-tlabs/gscnn

DeepLab

在这种架构中,上采样滤波器的卷积用于涉及密集预测的任务。多尺度的目标分割是通过空间金字塔池实现的。最后,利用DCNNs来改进目标边界的定位。通过对滤波器插入零进行上采样或对输入特征图进行稀疏采样来实现卷积。实现参考代码:https://github.com/fregu856/deeplabv3,https://github.com/sthalles/deeplab_v3

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

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

Lovász-Softmax loss

该损失是对基于子模块损失凸Lovasz扩展的神经网络平均IoU损失的直接优化。其他值得一提的损失包括:

  • TopK loss,其目的是确保网络在训练过程中聚焦于困难样本上。
  • 距离惩罚交叉熵损失,引导网络难以分割的边界地区。
  • 敏感性-特异性(SS)损失,计算特异性和敏感性的均方差的加权和。
  • Hausdorff distance(HD) loss,估计了卷积神经网络的Hausdorff距离。

这只是在图像分割中使用的几个损失函数。想了解更多内容,看这里:https://github.com/JunMa11/SegLoss。

图像分割数据集

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

Common Objects in COntext — Coco Dataset

COCO是一个大型物体检测、分割和图像描述数据集。数据集包含91个类。它有25万个人标注了关键点。它的大小是37.57 GiB。它包含80个物体类别。它遵循Apache 2.0许可,下载链接:http://cocodataset.org/#download

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 - Deepmask由Facebook Research开发,是Deepmask和SharpMask的Torch实现。
  • MultiPath - 这是来源于A MultiPath Network for Object Detection的物体检测网络的Torch实现。
  • OpenCV - 这是一个开源的计算机视觉库,有超过2500个优化算法。
  • MIScnn - 这是一个医学图像分割开源库。它使用最先进的卷积神经网络和深度学习模型建立管道,只需几行代码。
  • Fritz - Fritz提供多种计算机视觉工具,包括用于移动设备的图像分割工具。

总结

本文为你提供了一些图像分割的背景知识,并为你提供了一些工具和框架,可以用于入门。我们讨论了:

  • 什么是图像分割,
  • 图像分割架构,
  • 图像分割损失,
  • 图像分割工具和框架。

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

英文原文:https://neptune.ai/blog/image-segmentation-in-2020


推荐阅读



    添加极市小助手微信(ID : cvmart2),备注:姓名-学校/公司-研究方向-城市(如:小极-北大-目标检测-深圳),即可申请加入极市目标检测/图像分割/工业检测/人脸/医学影像/3D/SLAM/自动驾驶/超分辨率/姿态估计/ReID/GAN/图像增强/OCR/视频理解等技术交流群:月大咖直播分享、真实项目需求对接、求职内推、算法竞赛、干货资讯汇总、与 10000+来自港科大、北大、清华、中科院、CMU、腾讯、百度等名校名企视觉开发者互动交流~

    △长按添加极市小助手

    △长按关注极市平台,获取 最新CV干货

    觉得有用麻烦给个在看啦~   
    登录查看更多
    0

    相关内容

    图像分割就是把图像分成若干个特定的、具有独特性质的区域并提出感兴趣目标的技术和过程。它是由图像处理到图像分析的关键步骤。 所谓图像分割指的是根据灰度、颜色、纹理和形状等特征把图像划分成若干互不交迭的区域,并使这些特征在同一区域内呈现出相似性,而在不同区域间呈现出明显的差异性。

    知识荟萃

    精品入门和进阶教程、论文和代码整理等

    更多

    查看相关VIP内容、论文、资讯等
    【AAAI2021】利用先验知识对场景图进行分类
    专知会员服务
    60+阅读 · 2020年12月3日
    图像分割方法综述
    专知会员服务
    54+阅读 · 2020年11月22日
    【NeurIPS 2020】图神经网络GNN架构设计
    专知会员服务
    82+阅读 · 2020年11月19日
    专知会员服务
    45+阅读 · 2020年11月13日
    专知会员服务
    132+阅读 · 2020年8月24日
    图节点嵌入(Node Embeddings)概述,9页pdf
    专知会员服务
    39+阅读 · 2020年8月22日
    深度学习目标检测方法及其主流框架综述
    专知会员服务
    147+阅读 · 2020年6月26日
    【元图(Meta-Graph):元学习小样本连接预测】
    专知会员服务
    64+阅读 · 2020年5月31日
    图像分割的U-Net系列方法
    极市平台
    56+阅读 · 2019年10月21日
    最全综述 | 图像分割算法
    计算机视觉life
    14+阅读 · 2019年6月20日
    卷积神经网络四种卷积类型
    炼数成金订阅号
    18+阅读 · 2019年4月16日
    三分支网络——目前目标检测性能最佳网络框架
    人工智能前沿讲习班
    6+阅读 · 2019年3月5日
    一文概览用于图像分割的CNN
    论智
    14+阅读 · 2018年10月30日
    卷积神经网络简明教程
    论智
    8+阅读 · 2018年8月24日
    特征金字塔网络FPN的直觉与架构
    论智
    11+阅读 · 2018年8月6日
    Neural Speech Synthesis with Transformer Network
    Arxiv
    5+阅读 · 2019年1月30日
    Arxiv
    7+阅读 · 2018年12月10日
    Arxiv
    3+阅读 · 2018年11月13日
    Arxiv
    11+阅读 · 2018年4月8日
    VIP会员
    相关VIP内容
    【AAAI2021】利用先验知识对场景图进行分类
    专知会员服务
    60+阅读 · 2020年12月3日
    图像分割方法综述
    专知会员服务
    54+阅读 · 2020年11月22日
    【NeurIPS 2020】图神经网络GNN架构设计
    专知会员服务
    82+阅读 · 2020年11月19日
    专知会员服务
    45+阅读 · 2020年11月13日
    专知会员服务
    132+阅读 · 2020年8月24日
    图节点嵌入(Node Embeddings)概述,9页pdf
    专知会员服务
    39+阅读 · 2020年8月22日
    深度学习目标检测方法及其主流框架综述
    专知会员服务
    147+阅读 · 2020年6月26日
    【元图(Meta-Graph):元学习小样本连接预测】
    专知会员服务
    64+阅读 · 2020年5月31日
    相关资讯
    图像分割的U-Net系列方法
    极市平台
    56+阅读 · 2019年10月21日
    最全综述 | 图像分割算法
    计算机视觉life
    14+阅读 · 2019年6月20日
    卷积神经网络四种卷积类型
    炼数成金订阅号
    18+阅读 · 2019年4月16日
    三分支网络——目前目标检测性能最佳网络框架
    人工智能前沿讲习班
    6+阅读 · 2019年3月5日
    一文概览用于图像分割的CNN
    论智
    14+阅读 · 2018年10月30日
    卷积神经网络简明教程
    论智
    8+阅读 · 2018年8月24日
    特征金字塔网络FPN的直觉与架构
    论智
    11+阅读 · 2018年8月6日
    Top
    微信扫码咨询专知VIP会员