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

语义、实例与全景分割的对比分析(ComparativeAnalysisofSemantic,Instance,andPanopticSegmentation)

图像分割技术在人工智能领域中扮演着关键角色,其中语义分割、实例分割和全景分割是三种主要的方法。本文对这三种分割技术进行了详细的对比分析,探讨了它们在不同应用场景中的优缺点和适用范围,为研究人员和从业者提供了有价值的参考。


语义 VS 实例 VS 全景分割(Semantic vs. Instance vs. Panoptic Segmentation)

图像分割是人工智能革命的重要组成部分。它是各行各业(例如,制造、零售、医疗保健和运输)自主应用的核心组件。
从历史上看,由于硬件限制,图像分割在大规模上是无效的。如今借助 GPU、云 TPU 和边缘计算,普通消费者也可以使用图像分割应用程序。

这篇博客将讨论语义、实例和全景图像分割技术。所有这三种技术在学术界和现实世界中都提供了有效的应用。在过去几年中,全景分割在研究人员中看到了更多的增长,以推进计算机视觉领域。相比之下,语义分割和实例分割有许多现实世界的应用,因为它们的算法更加成熟。无论以何种形式,图像分割对于跨行业的超自动化都是必不可少的。


1. 引言

Kirillov等人(2018)提出了一种称为全景分割的新型图像分割技术,该技术引发了这三种(即语义,实例与全景)图像分割技术中的最佳技术的争论。

在深入研究这场辩论之前,重要的是要了解图像分割的基本原理,包括事物和物质之间的比较。

图像分割是一种计算机视觉和图像处理技术,涉及在像素级别上对图像中的相似区域或片段进行分组或标记。类标注或掩码表示每个像素段。

在图像分割中,图像有两个主要组成部分:事物和物质。事物对应于图像中的可数对象(例如,人,花,鸟,动物等)。相比之下,物质代表类似物质的无定形区域(或重复模式),这是不可数的(例如,道路,天空和草地)。

这篇博客将根据语义、实例和全景图像分割技术如何处理事物和物质的方式来区分它们。


2. 区别


2.1 语义分割



SegNet:用于图像分割的深度卷积编码器-解码器架构


我们提出了一种新颖实用的深度全卷积神经网络架构,用于语义像素分段,称为SegNet。这个核心的可训练分割引擎由一个编码器网络、一个相应的解码器网络和一个像素级分类层组成。编码器网络的架构在拓扑上与
VGG16 网络中的 13
个卷积层相同。解码器网络的作用是将低分辨率编码器特征图映射到全输入分辨率特征图,以便按像素分类。SegNet的新颖之处在于解码器对其较低分辨率的输入特征图进行上采样的方式。具体而言,解码器使用在相应编码器的最大池化步骤中计算的池化索引来执行非线性上采样。这消除了学习上采样的需要。上采样的地图是稀疏的,然后使用可训练的过滤器进行卷积以生成密集的特征地图。我们将我们提出的架构与广泛采用的FCN以及众所周知的DeepLab-LargeFOV,DeconvNet架构进行了比较。此比较揭示了实现良好分割性能所涉及的内存与准确性权衡。与其他竞争架构相比,它的可训练参数数量也明显减少。我们还在道路场景和SUN RGB-D室内场景分割任务上执行了SegNet和其他架构的受控基准测试。我们表明,与其他架构相比,SegNet在推理时间方面具有竞争力,并且在内存方面提供更有效的推理性能。
SegNet的动机主要是场景理解应用程序。因此,它被设计为在推理过程中的内存和计算时间方面都有效。


语义分割、实例分割和全景分割之间的区别在于它们如何处理图像中的事物和物质。

语义分割(Semantic segmentation)研究图像中不可数的东西。它分析每个图像像素,并根据它所表示的纹理分配一个唯一的类标签。例如,在图 1 中,图像包含两辆汽车、三个行人、一条道路和天空。这两辆车代表了与三个行人相同的纹理。
语义分割将为这些纹理或类别中的每一个分配唯一的类标签。但是,语义分割的输出无法区分或分别区分或计算两辆车或三个行人。常用的语义分割技术包括 SegNet、U-Net、DeconvNet 和 FCN。


2.2 实例分割



Mask R-CNN
我们提出了一个概念简单、灵活、通用的对象实例分割框架。我们的方法有效地检测图像中的对象,同时为每个实例生成高质量的分割掩码。该方法称为掩码R-CNN,通过添加用于预测对象掩码的分支与用于边界框识别的现有分支并行,扩展了更快的R-CNN。Mask
R-CNN训练简单,只为速度更快的R-CNN增加了一小部分开销,运行速度为5fps。此外,Mask
R-CNN很容易推广到其他任务,例如,允许我们在相同的框架中估计人体姿势。我们在COCO挑战集的所有三个方面显示了最佳结果,包括实例分割、包围盒对象检测和个人关键点检测。在没有铃声和哨声的情况下,Mask
R-CNN在每项任务上都优于所有现有的单一型号项目,包括2016年COCO挑战赛的获胜者。我们希望我们简单有效的方法将成为坚实的基线,并有助于简化实例级识别的未来研究。


实例分段(Instance segmentation)通常处理与可数事物相关的任务。它可以检测图像中存在的类的每个对象或实例,并为其分配具有不同的遮罩或具有唯一标识符的边界框。
例如,实例细分会将上一示例中的两辆车分别标识为car_1和car_2。常用的实例分段技术是Mask R-CNN,Faster R-CNN,PANet和YOLACT。图 2 演示了不同的实例分段检测。


2.3 全景分割



Fast Panoptic Segmentation Network 快速全景分段网络
在这项工作中,我们提出了一个端到端网络,用于快速全景分段。此网络称为快速全景分段网络 (FPSNet),不需要计算成本高昂的实例掩码预测或合并启发式方法。这是通过将全景任务转换为自定义密集的像素分类任务来实现的,该任务为每个像素分配一个类标签或一个实例 ID。我们在城市景观和帕斯卡VOC数据集上评估了FPSNet,发现FPSNet比现有的全景分段方法更快,同时实现了更好或相似的全景分段性能。在 Cityscapes 验证集上,对于分辨率为 1024x2048 像素的图像,我们在预测时间为 114 毫秒时获得了 55.1% 的全景质量得分。对于较低分辨率的城市景观数据集和 Pascal VOC 数据集,FPSNet 分别以每秒 22 帧和 35 帧的速度运行。


语义和实例分割技术的目标都是连贯地处理场景。当然我们希望识别场景中的事物和物质,以构建更实用的真实世界应用程序。研究人员设计了一种解决方案来协调场景中的事物和物质(即全景分割)。

全景分割是两全其美的。它提出了一种统一的图像分割方法,其中场景中的每个像素都被分配了一个语义标签(由于语义分割)和一个唯一的实例标识符(由于实例分割)。

全景分割(Panoptic segmentation)仅为每个像素分配一对语义标签和一个实例标识符。但是,对象可以具有重叠的像素。在这种情况下,全景分割通过偏爱对象实例来解决差异,因为优先级是识别每个事物而不是物质。图3显示了不同的全景分割检测结果。
大多数全景分割模型都基于Mask R-CNN方法。其骨干架构包括UPSNet,FPSNet,EPSNet和VPSNet。


3. 度量标准

每种分割技术都使用不同的评估指标来评估场景中预测的遮罩或标识符。这是因为事物和物质的处理方式不同。


  • 语义分割通常采用联合交集(Intersection Over Union IoU)度量(也称为Jaccard索引),该度量检查预测和地面真值掩码之间的相似性。它确定两个遮罩之间的面积重叠程度。除了IoU,我们还可以使用骰子系数、像素精度和平均精度指标来执行更稳健的评估。这些指标不考虑对象级标签。

  • 实例分割使用平均精度(Average Precision AP)作为标准评估指标。AP度量在每个对象实例的像素到像素基础上使用IoU。

  • 全景分割使用全景质量(Panoptic Quality PQ)度量,该度量评估预测的掩码和事物和物质的实例标识符。PQ通过乘以分割质量(Segmentagion Quality SQ)和识别质量(Recognition Quality RQ)项来统一所有类别的评估。SQ表示匹配段的平均IoU分数,而RQ是使用预测掩码的精度和召回值计算的F1分数。


4. 应用

所有三种图像分割技术在计算机视觉和图像处理中都有重叠的应用。它们共同提供了许多现实世界的应用程序,帮助人类增加其认知带宽。语义和实例分段的一些实际应用程序包括:


  • 自动驾驶汽车或自驾车:3D语义分割允许车辆通过识别街道上的不同物体来更好地了解其环境。同时实例分割可识别每个对象实例,以便为计算速度和距离提供更大的深度。
  • 分析医学扫描:这两种技术都可以识别MRI,CT和X射线扫描中的肿瘤和其他异常。
  • 卫星或航空图像:这两种技术都提供了一种从空间或高度绘制世界地图的方法。它们可以勾勒出河流,海洋,道路,农田,建筑物等世界物体。这类似于它们在场景理解中的应用。

全景分割将自动驾驶汽车的视觉感知提升到一个新的水平。它生产出具有像素级精度的细粒度掩模,使自动驾驶汽车能够做出更准确的驾驶决策。此外,全景分割在医学图像分析、数据注释、数据增强、无人机遥感、视频监控和人群计数方面得到了越来越多的应用。在所有领域,全景分割在预测Mask和边界框时提供更高的深度和准确性。


参考


  • https://pyimagesearch.com/2022/06/29/semantic-vs-instance-vs-panoptic-segmentation/
  • https://github.com/seminar2012/Detectron
  • https://analyticsindiamag.com/semantic-vs-instance-vs-panoptic-which-image-segmentation-technique-to-choose/






推荐阅读
  • 深入解析Android自定义View面试题
    本文探讨了Android Launcher开发中自定义View的重要性,并通过一道经典的面试题,帮助开发者更好地理解自定义View的实现细节。文章不仅涵盖了基础知识,还提供了实际操作建议。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 本文详细探讨了Java中的24种设计模式及其应用,并介绍了七大面向对象设计原则。通过创建型、结构型和行为型模式的分类,帮助开发者更好地理解和应用这些模式,提升代码质量和可维护性。 ... [详细]
  • 数据管理权威指南:《DAMA-DMBOK2 数据管理知识体系》
    本书提供了全面的数据管理职能、术语和最佳实践方法的标准行业解释,构建了数据管理的总体框架,为数据管理的发展奠定了坚实的理论基础。适合各类数据管理专业人士和相关领域的从业人员。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • Docker的安全基准
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • Explore a common issue encountered when implementing an OAuth 1.0a API, specifically the inability to encode null objects and how to resolve it. ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文介绍了Java并发库中的阻塞队列(BlockingQueue)及其典型应用场景。通过具体实例,展示了如何利用LinkedBlockingQueue实现线程间高效、安全的数据传递,并结合线程池和原子类优化性能。 ... [详细]
  • 本文深入探讨了 Java 中的 Serializable 接口,解释了其实现机制、用途及注意事项,帮助开发者更好地理解和使用序列化功能。 ... [详细]
  • 深入解析:手把手教你构建决策树算法
    本文详细介绍了机器学习中广泛应用的决策树算法,通过天气数据集的实例演示了ID3和CART算法的手动推导过程。文章长度约2000字,建议阅读时间5分钟。 ... [详细]
  • 在金融和会计领域,准确无误地填写票据和结算凭证至关重要。这些文件不仅是支付结算和现金收付的重要依据,还直接关系到交易的安全性和准确性。本文介绍了一种使用C语言实现小写金额转换为大写金额的方法,确保数据的标准化和规范化。 ... [详细]
  • 本文探讨了卷积神经网络(CNN)中感受野的概念及其与锚框(anchor box)的关系。感受野定义了特征图上每个像素点对应的输入图像区域大小,而锚框则是在每个像素中心生成的多个不同尺寸和宽高比的边界框。两者在目标检测任务中起到关键作用。 ... [详细]
  • XNA 3.0 游戏编程:从 XML 文件加载数据
    本文介绍如何在 XNA 3.0 游戏项目中从 XML 文件加载数据。我们将探讨如何将 XML 数据序列化为二进制文件,并通过内容管道加载到游戏中。此外,还会涉及自定义类型读取器和写入器的实现。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
author-avatar
饿狼传说少校_584_869_541
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有