我刚开始研究Pascal VOC分割数据集。但我无法理解他们在地面标签中使用的颜色编码。我假设每个类的像素将被注释为1到20,但我得到的是具有像素值(0-255)的8位深png图像。
对于aeroplane
中属于2007_000033.png
类的某个像素,我得到的值为:(128,0,0);而train
中属于2007_000123.png
类的另一个像素给出了值:(128,0,192)等等。
如何在不同的类中区分它们并进行单热编码?我是否需要为每个类指定像素值(例如使用(128,0,0)搜索像素并将其编码为类aeroplane
的1)?
对不起,我在SO上看到了一些类似的问题,但没有任何帮助。感谢。
答案 0 :(得分:1)
我向自己提出了一个类似的问题,这让我很困惑。而且我认为我找到了可能的解释:
如果您查看file_download_and_convert_voc2012.sh,则有几行标有“ #删除地面实况注释中的颜色图”。这部分处理原始的SegmentationClass文件,并生成原始的分段图像文件,每个像素值在0:20之间。(如果您可能会问为什么,请查看此帖子:Python: Use PIL to load png file gives strange results)