如何标注图像分割的ground truth?

How to annotate the ground truth for image segmentation?

我正在尝试训练执行图像分割的 CNN 模型, 但如果我有几个,我很困惑如何创建基本事实 图片样本?

图像分割可以class将输入图像中的每个像素 预定义的 class,例如汽车、建筑物、人或任何其他东西。

是否有任何工具或一些好主意来创建地面 图像分割的真相?

谢谢!

想到的一个工具是MIT's LabelMe toolbox:这个工具箱主要用于浏览数据集的现有标记图像,但它也有一个选项来注释新图像。

还有一些 this github repository for COCO UI 可能对您有用。

尝试 https://www.labelbox.io/。这是他们的图像分割模板的样子...

很多代码是 open source 并且他们有一个托管服务来管理端到端的标签。

您可以在整个数据集中使用平均化和归一化技术,从而创建您的基本事实,然后标记不同的结构。为此,您可以考虑创建一个所谓的|模板|。确保您的所有数据最初都是共同注册的。

对于语义分割,图像的每个像素都应该被标记。解决任务的方法有以下三种:

  1. 基于矢量 - 多边形、折线

  2. 基于像素 - 画笔、橡皮擦

  3. 人工智能驱动的工具

Supervisely 中,可以使用执行 1、2、3 的工具。

下面是两个比较多边形工具与 AI 驱动工具的视频:cars segmentation and food segmentation

可以找到有关 Supervisely 注释功能的更多详细信息here

我创建了一个名为 COCO Annotator 的开源工具:它提供了其他工具不足的任何功能:

  • 直接导出为COCO格式
  • 对象分割
  • 有用的API端点来分析数据
  • 导入已经以 COCO 格式注释的数据集
  • 将断开连接的对象注释为单个实例
  • 同时使用任意数量的标签标记图像片段
  • 允许每个实例或对象的自定义元数据
  • 魔法wand/select工具
  • 使用 google 图像生成数据集
  • 用户认证系统

SageMaker Ground Truth 具有数据集管理和 UI 功能以启用语义分割。 https://aws.amazon.com/sagemaker/groundtruth/

我们最近发布了 UI 的增强功能,可通过自动查找区域边界显着加快注释速度。在这里阅读:https://aws.amazon.com/blogs/machine-learning/auto-segmenting-objects-when-performing-semantic-segmentation-labeling-with-amazon-sagemaker-ground-truth/

整体流程为:

  1. 将数据加载到工具中
  2. 画一个形状。例如。使用多边形工具或其他形状工具
  3. 导出点并直接用于训练,或将它们转换为密集像素掩码。

注释过程详细信息

一般来说,基于矢量的工具是首选,因为它们更准确。 例如,左边是 4 个多边形点,右边是一个画笔。

从直觉上反驳它甚至可以更快地找出点。例如这里,我只是将鼠标移到记录这个的大纲上:

但它实际上存储为点:

使用其他形状

例如,您可以使用椭圆或圆形来创建分割蒙版。 不需要实际手动创建多边形。

自动边界

想要达到 100% 的像素覆盖率背后的一个主要概念是称为自动边界的概念。基本上它只是意味着物体的边缘相交得很好。例如,在 Diffgram 中,您可以 select 两个点,它会创建一个匹配的边框。

举个例子:

最后还有很多其他概念,例如pre-labeling、复制到下一个、跟踪等

模具

Diffgram 的 Segmentation Labeling Software is a great tool option for Image and Video Annotation. It's open-core, you can run it on your kubernetes cluster.