如何将图像转换为数据集进行语义分割

时间:2021-01-27 10:20:46

标签: neural-network conv-neural-network image-segmentation semantic-segmentation

我正在尝试制作一个新的语义分割模型,该模型将颗粒状显微镜图像作为输入并对其进行分割。

Input Image

Output Image

我拥有 .png 格式的所有输入和地面实况图像,我很难将它们整理成可供其他人使用的数据集。我查看了一些文章,但它们解释了如何制作我已有的标签图像。那么,有没有一种方法/软件可以用来管理数据集?

谢谢

1 个答案:

答案 0 :(得分:1)

您可以按照类似于 VOC challenge 中的组织方式组织图像。

也就是说,您应该拥有以下目录树:

my_dataset
   |
   +---  InputImages
   |           |
   |           +---   000.png
   |           +---   001.png
   |           +---   002.png
   |           ...
   |
   +---  SegmentationMasks
   |           |
   |           +---   000.png
   |           +---   001.png
   |           +---   002.png
   |           ...
   |  
   +---  ImageSets 
               |
               +---   train.txt
               +---   val.txt
               +---   test.txt

也就是说,您将所有输入图像存储在 InputImages 文件夹下,并将您拥有的所有分割掩码存储在 SegmentationMasks 文件夹下。确保掩码 SegmentationMasks/000.png 对应于 InputImages/000.png(对于所有图像和掩码,依此类推)。

此外,您可以将数据集固定拆分为“训练”、“验证”和“测试”集。此拆分存储在 ImageSets:
下的测试文件中 文件 train.txt 列出了属于训练集的图像 ID,val.txt 列出了验证集的 ID,依此类推。
确保所有 id 都包含在拆分中,并且两次拆分中都没有图像出现。
(即“train.txt”+“val.txt”+“test.txt”的并集=所有id,交集为空)