与 "segmentation" 和 "scene labeling" 相比,"semantic segmentation" 是什么?

What is "semantic segmentation" compared to "segmentation" and "scene labeling"?

语义分割只是一种重复还是"semantic segmentation"和"segmentation"之间有区别? "scene labeling" 或 "scene parsing" 有区别吗?

pixel-level和逐像素分割有什么区别?

(Side-question:有了这种pixel-wise注解,是免费检测object还是还有事做?)

请提供您定义的来源。

使用 "semantic segmentation"

的来源

使用 "scene labeling"

的来源

使用"pixel-level"

的来源

使用"pixelwise"

的来源

Google Ngrams

"Semantic segmentation"最近好像比"scene labeling"

用得更多

"segmentation" 是将图像分成几个 "coherent" 部分,但是 没有 任何尝试理解这些部分代表什么。最著名的作品之一(但绝对不是第一部)是 Shi and Malik "Normalized Cuts and Image Segmentation" PAMI 2000. These works attempt to define "coherence" in terms of low-level cues such as color, texture and smoothness of boundary. You can trace back these works to the Gestalt theory.

另一方面,"semantic segmentation" 尝试将图像划分为具有语义意义的部分, 将每个部分分类为预先确定的 类 之一。您还可以通过对每个像素(而不是整个 image/segment)进行分类来实现相同的目标。在那种情况下,您正在进行逐像素分类,这会导致相同的最终结果,但路径略有不同...

所以,我想你可以说 "semantic segmentation"、"scene labeling" 和 "pixelwise classification" 基本上是在尝试实现相同的目标:从语义上理解图像中每个像素的作用。您可以采用多种途径来实现该目标,这些途径会导致术语出现细微差别。

我阅读了很多关于对象检测、对象识别、对象分割、图像分割和语义图像分割的论文,以下是我的结论,但可能不正确:

对象识别:在给定的图像中,您必须检测所有对象(受限制的 class 对象取决于您的数据集),使用边界框对它们进行本地化并用标签标记该边界框。在下图中,您将看到最先进的对象识别的简单输出。

对象检测:类似于对象识别,但在此任务中,您只有两个 class 对象 classification,即对象边界框和 non-object 边界框。例如汽车检测:您必须使用边界框检测给定图像中的所有汽车。

对象分割:与对象识别一样,您将识别图像中的所有对象,但您的输出应显示此对象class图像的像素化。

图像分割:在图像分割中,您将分割图像的区域。您的输出不会标记彼此一致的图像片段和区域应该在同一片段中。从图像中提取超像素是此任务或 foreground-background 分割的一个示例。

语义分割:在语义分割中,您必须用 class 个对象(汽车、人、狗...)和 non-object 个对象(水、天空、道路)标记每个像素,...)。换句话说,在语义分割中,您将标记图像的每个区域。

我觉得pixel-level和pixelwise labeling基本上是一样的,可以是图像分割,也可以是语义分割。我也在 this link 中同样回答了你的问题。

前面的回答真的很棒,我想补充几点:

Object分割

这在研究界失宠的原因之一是因为它有问题地含糊不清。 Object 分割曾经简单地表示在图像中找到单个或少量 object 并在它们周围画出边界,对于大多数目的,您仍然可以假设它就是这个意思。然而,它也开始被用来表示可能是object的斑点分割,object从背景的分割[= =39=](现在更常称为背景减法或背景分割或前景检测),甚至在某些情况下可与使用边界框的 object 识别互换使用(随着深度神经网络方法的出现很快就停止了 object 识别,但事先 object 识别也可能意味着简单地用其中的 object 标记整个图像)。

是什么让 "segmentation" "semantic"?

Simpy,每个片段,或者在深度方法的情况下,每个像素,都被赋予一个基于类别的 class 标签。一般的分割只是按照某种规则对图像进行分割。 Meanshift segmentation, for example, from a very high level divide the data according to the changes in the energy of the image. Graph cut 基于分割同样不是学习的,而是直接从每个图像的属性中分离出来的。最近的(基于神经网络的)方法使用标记的像素来学习识别与特定 classes 相关联的局部特征,然后 class 根据 class 确定每个像素对该像素具有最高的置信度。这样一来,"pixel-labeling"其实是更诚实的任务名称,"segmentation"组件是emergent的。

实例分割

可以说是Object分割的最困难、最相关和最原始的含义,"instance segmentation"表示场景中个体object的分割,无论它们是否是同一类型。然而,这如此困难的原因之一是因为从视觉的角度(在某些方面是哲学的角度)是什么造就了 "object" 实例并不完全清楚。 body 部分是 object 吗?这样的 "part-objects" 是否应该通过实例分割算法进行分割?如果它们与整体分开,是否应该只将它们分割?复合 objects 应该是两个明显相邻但可分离的东西是一个 object 或两个(是粘在棍子顶部的石头,斧头,锤子,或者只是一根棍子和一块石头,除非正确制作?)。此外,尚不清楚如何区分实例。遗嘱是与它所依附的其他墙不同的实例吗?应按什么顺序计算实例?正如他们出现的那样?靠近视点?尽管存在这些困难,objects 的分割仍然是一个大问题,因为作为人类,我们一直在与 objects 交互,而不管他们的 "class label"(使用随机 object它像纸一样围绕着你,坐在不是椅子的东西上),所以一些数据集确实试图解决这个问题,但是这个问题还没有引起太多关注的主要原因是因为它不是很好足够定义。

场景Parsing/Scene标注

Scene Parsing是一种严格的场景标注分割方法,它本身也存在一些模糊性问题。从历史上看,场景标签意味着将整个 "scene"(图像)分成几个部分,并给它们一个 class 标签。但是,它也用于表示为图像区域提供 class 标签而不明确分割它们。关于分割,"semantic segmentation"并不分割整个场景。对于语义分割,该算法旨在仅分割它知道的 objects,并且将受到其损失函数的惩罚,用于标记没有任何标签的像素。例如 MS-COCO 数据集是一个用于语义分割的数据集,其中只有一些 object 被分割。