0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心
发布

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一文读懂图像分割

新机器视觉 来源:图灵TOPIA 2023-02-28 09:55 次阅读

图像分割(Image Segmentation)是计算机视觉领域中的一项重要基础技术,是图像理解中的重要一环。近日,数据科学家Derrick Mwiti在一篇文章中,就什么是图像分割、图像分割架构、图像分割损失函数以及图像分割工具和框架等问题进行了讨论,让我们一探究竟吧。

什么是图像分割?

顾名思义,这是将一个图像分割成多个片段的过程。在这个过程中,图像中的每个像素都与一个对象类型相关联。图像分割主要有两种类型:语义分割和实例分割。

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

81353cf2-b1a6-11ed-bfe3-dac502259ad0.jpg

图像分割的体系结构

图像分割的基本结构包括编码器和解码器。

8164af78-b1a6-11ed-bfe3-dac502259ad0.jpg

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

U-Net

U-Net是最初用于分割生物医学图像的卷积神经网络。可视化时,其架构看起来像字母U,因此名称为U-Net。

它的体系结构由两部分组成,左边部分是收缩路径,右边部分是扩展路径。收缩路径的目的是捕获上下文,而扩展路径的作用是帮助精确定位。

818ee3f6-b1a6-11ed-bfe3-dac502259ad0.jpg

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

FastFCN —Fast Fully-connected network

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

81aee53e-b1a6-11ed-bfe3-dac502259ad0.jpg

Gated-SCNN

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

81d3629c-b1a6-11ed-bfe3-dac502259ad0.jpg

DeepLab

在这种结构中,卷积与上采样滤波器用于涉及密集预测的任务。多个对象的分割是通过空间金字塔池来完成的。

最后,用DCNNs改进对象边界的定位。通过插入零点或对输入特征图进行稀疏采样来对滤波器进行上采样,从而实现空洞卷积。

81d3629c-b1a6-11ed-bfe3-dac502259ad0.jpg

可以在PyTorch或TensorFlow上尝试其实现。

Mask R-CNN

在这种体系结构中,使用bounding box和语义分割对对象进行分类和定位,并将每个像素分类为一组类别。每个感兴趣的区域都有一个分割掩码,最终的输出是一个类标签和一个bounding box。

该体系结构是Faster R-CNN的扩展,Faster R-CNN由提出区域的深度卷积网络和利用区域的检测器组成。

8202b2ae-b1a6-11ed-bfe3-dac502259ad0.jpg

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

822bba64-b1a6-11ed-bfe3-dac502259ad0.jpg

图像分割损失函数

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

Focal Loss

这种损失是对标准交叉熵准则的改进。这是通过改变其形状来实现的,使得分配给分类良好的示例的损失权重降低了。最终,确保不存在类不平衡。

在这个损失函数中,交叉熵损失是会随着缩放系数衰减为零而缩,训练时,比例因数自动降低了简单示例的权重,并将重点放在困难示例上。

82606868-b1a6-11ed-bfe3-dac502259ad0.png

Dice loss

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

827f7b5e-b1a6-11ed-bfe3-dac502259ad0.png

Intersection over Union (IoU)-balanced Loss

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

82a0946a-b1a6-11ed-bfe3-dac502259ad0.png

Boundary loss

Boundary loss的一种变体应用于具有高度不平衡分段的任务。

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

82b9a6b2-b1a6-11ed-bfe3-dac502259ad0.png

Weighted cross-entropy

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

82d5fa10-b1a6-11ed-bfe3-dac502259ad0.png

Lovász-Softmaxloss

该损失基于子模块损失的convex Lovasz扩展,对神经网络中的intersection-over-union loss进行了直接优化。

82fa91e0-b1a6-11ed-bfe3-dac502259ad0.png

其他值得一提的损失有:

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

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

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

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

这些是在图像分割中使用的一些损失函数。

图像分割的数据集

Common Objects in COntext—Coco Dataset

COCO是一个大型的对象检测、分割和字幕数据集。数据集包含91个类。它有25万人,都有自己的关键点。它的下载大小是37.57 GiB。它包含80个对象类别。它在Apache 2.0的许可下可用。

PASCAL Visual Object Classes (PASCAL VOC)

PASCAL有20个不同的类,9963张图片。训练/验证集是一个2GB的tar文件。

The Cityscapes Dataset

这个数据集包含城市场景的图像。该方法可用于评价视觉算法在城市场景中的性能。

The Cambridge-driving LabeledVideo Database — CamVid

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

图像分割框架

如果准备好了数据集,那么来谈谈一些可用于入门的工具/框架。

FastAI库:给定一个图像,该库能够为图像中的对象创建掩码。

Sefexa图像分割工具:可用于半自动图像分割,图像分析和创建地面实况。

Deepmask:Facebook Research的Deepmask是DeepMask和SharpMask的Torch实现。

MultiPath:这是一个Torch实现,从“用于目标检测的多路径网络”中提取目标检测网络。

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

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

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







审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 解码器
    +关注

    关注

    9

    文章

    1100

    浏览量

    40385
  • 编码器
    +关注

    关注

    44

    文章

    3504

    浏览量

    132662
  • 图像分割
    +关注

    关注

    4

    文章

    179

    浏览量

    17915
  • 计算机视觉
    +关注

    关注

    8

    文章

    1675

    浏览量

    45777
  • cnn
    cnn
    +关注

    关注

    3

    文章

    349

    浏览量

    21782

原文标题:没你想的那么难 | 一文读懂图像分割

文章出处:【微信号:vision263com,微信公众号:新机器视觉】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    图像语义分割的实用性是什么

    图像语义 分割种重要的计算机视觉任务,它旨在将 图像中的每个像素分配到相应的语义类别中。这项技术在许多领域都有广泛的应用,如自动驾驶、医学 图像
    的头像 发表于07-17 09:56 171次阅读

    图像分割和语义分割的区别与联系

    、亮度等。 图像 分割的目的是将 图像中感兴趣的部分与背景分离,以便进行进 步的处理和分析。 1.1 图像 分割
    的头像 发表于07-17 09:55 215次阅读

    图像分割与目标检测的区别是什么

    的区别。 定义 图像 分割是将 图像划分为若干个区域或对象的过程,这些区域或对象具有相似的属性,如颜色、纹理或形状。 图像 分割的目的是将
    的头像 发表于07-17 09:53 284次阅读

    图像分割与语义分割中的CNN模型综述

    图像 分割与语义 分割是计算机视觉领域的重要任务,旨在将 图像划分为多个具有特定语义含义的区域或对象。卷积神经网络(CNN)作为深度学习的 种核心
    的头像 发表于07-09 11:51 250次阅读

    机器人视觉技术中常见的图像分割方法

    机器人视觉技术中的 图像 分割方法是 个广泛且深入的研究领域。 图像 分割是将 图像划分为多个区域或对象的
    的头像 发表于07-09 09:31 153次阅读

    机器人视觉技术中图像分割方法有哪些

    机器人视觉技术是人工智能领域的 个重要分支,它涉及到 图像处理、模式识别、机器学习等多个学科。 图像 分割是机器人视觉技术中的 个重要环节,它的目
    的头像 发表于07-04 11:34 318次阅读

    改进棉花根系图像分割方法

    的重要方法,受限于 图像质量、复杂土壤环境、低效传统方法,根系 图像 分割存在 定挑战。河北农业大学机电工程学院、河北省教育考试院、河北农业大学农学院组成王楠科研团队,为提高根系
    的头像 发表于01-18 16:18 183次阅读

    读懂车规级AEC-Q认证

    读懂车规级AEC-Q认证
    的头像 发表于12-04 16:45 680次阅读

    读懂微力扭转试验机的优势

    读懂微力扭转试验机的优势
    的头像 发表于11-30 09:08 407次阅读
    <b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>读懂</b>微力扭转试验机的优势

    读懂,什么是BLE?

    读懂,什么是BLE?
    的头像 发表于11-27 17:11 1709次阅读
    <b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>读懂</b>,什么是BLE?

    机器视觉图像分割的方法有哪些?

    现有的 图像 分割方法主要分以下几类:基于阈值(threshold)的 分割方法、基于区域的 分割方法、基于边缘的 分割方法以及基于特定理论的
    发表于11-02 10:26 866次阅读
    机器视觉<b class='flag-5'>图像</b><b class='flag-5'>分割</b>的方法有哪些?

    机器视觉(六):图像分割

    基于阈值的 分割方法是 种应用十分广泛的 图像 分割技术,其实质是利用 图像的灰度直方图信息获取用于 分割
    的头像 发表于10-22 11:34 916次阅读
    机器视觉(六):<b class='flag-5'>图像</b><b class='flag-5'>分割</b>

    深度学习图像语义分割指标介绍

    深度学习在 图像语义 分割上已经取得了重大进展与明显的效果,产生了很多专注于 图像语义 分割的模型与基准数据集,这些基准数据集提供了 套统
    发表于10-09 15:26 282次阅读
    深度学习<b class='flag-5'>图像</b>语义<b class='flag-5'>分割</b>指标介绍

    基于K-means聚类算法的图像分割

    图像 分割:利用 图像的灰度、颜色、纹理、形状等特征,把 图像分成若干个互不重叠的区域,并使这些特征在同 区域内呈现相似性,在不同的区域之间存在明
    的头像 发表于09-07 16:59 1323次阅读
    基于K-means聚类算法的<b class='flag-5'>图像</b><b class='flag-5'>分割</b>

    使用PyTorch加速图像分割

    使用PyTorch加速 图像 分割
    的头像 发表于08-31 14:27 659次阅读
    使用PyTorch加速<b class='flag-5'>图像</b><b class='flag-5'>分割</b>