从labelme json文件创建tfrecord

时间:2018-12-11 00:45:45

标签: python json tensorflow object-detection tfrecord

我想创建一个对象检测神经网络,它是由一些具有特殊形状且具有受限 相对较小图像数据集的特殊项目构成的。为此,我使用了 labelme < / strong>由于对象的形状,我认为多边形标签的效果要好于普通拳击标签。 我想使用可可Tensorflow检测模型中的一种预训练模型,但我正在努力要从json文件创建tfrecord文件。正如您在下面看到的那样,它同时包含了多边形和圆形shape_type。感谢您的帮助。 如果您知道如何将其转换为tfrecord或其他替代标签程序,该标签程序可以更好地解决我的问题,请让我知道,如果它解决了我的问题,我只会重新标记我的图像。 json文件例如:< / p>

    {
  "version": "3.5.0",
  "flags": {},
  "shapes": [
    {
      "label": "polygon",
      "line_color": null,
      "fill_color": null,
      "points": [
        [
          447,
          110
        ],
        [
          491,
          63
        ],
        [
          531,
          47
        ],
        [
          559,
          79
        ],
        [
          544,
          121
        ],
        [
          532,
          128
        ],
        [
          536,
          139
        ],
        [
          516,
          148
        ],
        [
          497,
          174
        ]
      ],
      "shape_type": "polygon"
    },
    {
      "label": "circle",
      "line_color": null,
      "fill_color": null,
      "points": [
        [
          403,
          317
        ],
        [
          377,
          262
        ]
      ],
      "shape_type": "circle"
    }
  ],
  "lineColor": [
    0,
    255,
    0,
    128
  ],
  "fillColor": [
    255,
    0,
    0,
    128
  ],
  "imagePath": "teszt.jpg",
  imageData ...(long data) 

1 个答案:

答案 0 :(得分:0)

从JSON文件的外观来看,我认为您正在执行实例细分。 您可以使用labelme示例目录中提供的脚本。

Instance Segmentation folder有两个脚本labelme2coco.pylabelme2voc.py

因此,您可以将labelme JSON转换为COCO格式或VOC格式,并使用它们来构建TFRecords

tensorflow models repo有很多脚本可以帮助您做到这一点