【问题标题】:Segmentation with Single Point Class Annotations via Graph Cuts?通过图割使用单点类注释进行分割?
【发布时间】:2018-01-13 00:29:12
【问题描述】:

我有一个要分割的图像数据集。对于数据集中的每幅图像,专家随机选择单个像素/点,并添加关于该像素所属类别的类别注释。换句话说,每张图像将有大约 60 个标记点:

x、y、类

如何最好地利用这些单像素注释的知识来执行良好的语义分割?

之前有人问过类似的问题,回答是使用图形切割:

"hard" supervision in image segmentation with python

理论上,图形切割似乎是一个不错的选择,但图形切割是否适用于单像素注释?此外,是否有方法可以处理多类数据集?如果是这样,是否有一个好的库实现或一些好的资源?

如果不是,哪种方法最适合这种情况?我玩了一点随机游走,但结果分割的边缘定位很差(边缘非常圆润)。

您可以提供的任何帮助、资源或示例将不胜感激(最好使用 python 库,但我真的可以使用任何东西)。

编辑: 我的数据集有大约 10 个不同的类,每个图像平均可能有大约 5 个。注释者不能保证注释每一个宗教,但很少会错过一个(少数遗漏区域或错误标记的区域是可以容忍的)。每个类对应于纹理统一的区域,并且纹理相当恒定(想想天空、泥土、水、山)。您无法从单个点获取纹理,但几乎所有区域都应该有多个点注释。

【问题讨论】:

  • 你能发布两三个示例图像和相应的注释吗?你一般有几节课?每张图片有多少类(大约)?您的注释器是否注释了图像的所有区域?例如,一个白色衬衫和黑色裙子的女人站在草地上的图像:你会在具有“人”类的女人内部有一个点,而在草地上还有第二个点吗?您希望 GC 在这种情况下如何知道白色和黑色区域属于一起?
  • 我在帖子中添加了一个编辑来回答前几个问题。另外:每个类都对应于纹理统一的区域(因此在您的示例中,衬衫和裙子将是单独的类)。由于我不确定我的数据是否可以共享,以下是来自具有类似设置和类似问题域的数据集的数据:adrix.com/data_sample.zip - 我的图像不会像这样有框架或线条穿过它们。跨度>
  • 你总共有多少张带注释的图片?
  • 我的数据集中有几百个
  • 当你说“我真的可以处理任何事情”时,它是否包括caffetensorflow 中的深度学习语义分割模型?

标签: python opencv image-processing computer-vision image-segmentation


【解决方案1】:

一个有趣的问题。由于没有具体的例子可以研究,我只会概述我自己会尝试的算法方法。


方法 #1:使用密集描述符

  • 计算密集图像描述符(例如,SIFT/HOG/Gabor 甚至更好地使用 VGG 等预训练的深度网络)。
  • 仅从带注释位置的所有图像中获取描述符:您应该有大约 10K 带有类标签的描述符。在这个集合上训练一个简单的分类器(例如 SVM)。
  • 回到图像:应用分类器并输出每个像素属于每个类别的对数概率。这应该是您图形切割的一元术语(又名“数据术语”)。
  • 局部修改一元项以强制注释点属于正确的类。
  • 使用简单的成对术语(图像渐变或某些基于边缘的术语)。
  • 应用 Graph-Cut 进行语义分割。

方法 #2:训练您自己的深度语义分割模型

为了训练用于分割的全卷积模型,您不必为所有像素都添加标签。您可能有“ignore_label”:标有该标签的像素将被忽略,不会造成损失。
您的情况是“ignore_label”的极端情况 - 每个图像只有约 60 个像素标记。不过,看看你能从这些稀疏的信息中学到什么可能会很有趣。

仔细想想,每张图片的信息不仅仅是标记的点:

我的数据集大约有 10 个不同的类,每张图像平均大约有 5 个

这意味着如果图像具有 1..5 类的标签,您知道它不包含 6..10 类(!)您可能在损失中有一个“正项”,将极少数标记的像素分配到右侧类,和一个 如果将它们分配到图像中根本不存在的类,则会对所有其余像素进行惩罚。

【讨论】:

  • 根据注释者放置标记的方式,您可能能够稍微“扩大”点以在每张图像中获得一些额外的标记像素。这不足以被视为“涂鸦”,但它可能会为这里提出的方法添加一些额外的信息。
  • 这很好,我正在追求方法 #2。与@user2469775 的建议类似,我使用超像素进行过度分割,然后使用注释来标记某些超像素,从而为我提供更多数据。
猜你喜欢
  • 1970-01-01
  • 2016-07-23
  • 2012-12-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-15
相关资源
最近更新 更多