【问题标题】:Making mask files for Tensorflow segmentation/object detection API为 TensorFlow 分割/对象检测 API 制作掩码文件
【发布时间】:2018-03-16 14:18:06
【问题描述】:

在为 TF 对象检测 API [link] 创建数据集的文章中,要求用户将对象掩码存储为:

单通道编码的 PNG 字符串的重复列表,或单个密集 3D 二进制张量,其中与每个对象对应的掩码沿第一维堆叠

由于文章强烈建议使用repeated list of single-channel encoded PNG strings,我特别想知道如何对其进行编码。我的注释通常来自csv 文件,我在生成 TFRecords 文件时没有问题。是否有任何关于如何进行这种转换的说明?

【问题讨论】:

  • 你能做到吗?
  • 还没有。当我发现时会在这里发布。
  • 嗨,你知道我在哪里放置或如何在 mask_rcnn 对象检测中使用 png 掩码吗?

标签: python-3.x opencv tensorflow png image-segmentation


【解决方案1】:

我让它与宠物数据集一起工作,在 tensorflow 上,你有 2 种方式与 coco 数据集 tf 记录和 pet_tfrecord 一起使用。

第一个拿的JSON文件 第二种采用 XML 和 PNG

有一个应用程序 VGG 可以在 PNG 或 JSON 中进行注释,然后您使用所需的目录树,我使用了宠物数据集示例。但最终不显示掩码,即使使用示例数据集...

【讨论】:

    【解决方案2】:

    我最终使用了密集张量而不是 png 数组,其中每个像素值代表一个类。

    请注意,我见过很多其他人没有使用序列号,后来却遇到了问题。这个想法是有道理的,如果我有 2 个类,将 1 标记为 0,另一个标记为 255。基本原理是,当你在灰度中看到这个时,很明显标记为 1 或 255。当你使用 0,1 时这是不可能的,2,... 但是,这违反了下游代码(例如 deeplab)中的许多假设

    【讨论】:

      猜你喜欢
      • 2018-12-16
      • 1970-01-01
      • 2020-07-25
      • 2020-06-14
      • 1970-01-01
      • 2018-12-26
      • 2021-07-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多