如何为图像分割准备训练数据

时间:2019-11-20 12:00:00

标签: image-processing deep-learning image-segmentation

我正在使用边界框标记工具(例如BBox和YOLO标记)进行对象定位。我想知道是否有任何等效的标记工具可用于图像分割任务。学术界和研究界的人们如何为这些图像分割任务准备数据集。最近的Kaggle竞赛severstal-steel-defect-detection具有像素级细分信息。他们使用了哪些工具来准备这些数据?

2 个答案:

答案 0 :(得分:1)

通常来说,这是一个非常复杂但常见的任务,因此您很可能可以找到几种工具。 Supervise.ly是一个很好的例子。浏览该演示以了解实际的复杂性。

另一种方法是使用OpenCV获得某些特定结果。我们做到了,但结果很粗糙。另一个问题是性能。我们使用4K视频的原因有很多。

长话短说,我们决定实现一个自定义工具来获得所需的结果(并且这样做足够快)。

enter image description here

see in action

总结一下,如果您要为细分建立训练集,则可以使用以下选项:

  1. 使用可用的服务(几乎所有服务都需要额外的手动工作)
  2. 使用OpenCV处理特别准备的输入
  3. 开发定制解决方案以处理适当准备的输入,提供完全控制和准确的结果

第三个选项似乎是最灵活的解决方案。这是some examples。这些是自定义多色细分结果。您可能会得到一个印象,自定义实现的方式要复杂得多,但是事实证明,如果正确实现一些简单明了的算法,您可能会对结果感到惊讶。我们对准确的像素完美结果感兴趣: enter image description here

see in action

答案 1 :(得分:0)

我创建了一个简单的脚本来生成彩色的注释掩码,用于语义分割。

您将需要使用VIA(VGG图像注释器)工具来标记多边形中的区域。在类/属性上创建多边形后,您可以指定属性名称并将注释另存为csv文件。多边形的x,y坐标基本上保存在csv文件中。

要使用的程序和步骤位于:https://github.com/pateldigant/SemanticAnnotator

如果您对该脚本的使用有任何疑问,可以将其注释掉。

相关问题