为Tensorflow分段/对象检测API制作掩码文件

时间:2018-03-16 14:18:07

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

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

  

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

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

2 个答案:

答案 0 :(得分:0)

我将其与pet数据集配合使用,在tensorflow上,您可以使用coco数据集tf record和pet_tfrecord两种方式。

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

有一个应用程序VGG可以用PNG或JSON进行注释,然后使用所需的目录树,我使用了pet数据集示例。但即使使用示例数据集,最终也不会显示遮罩...

答案 1 :(得分:0)

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

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