python - Pascal VOC 类分割:用于训练的真实像素标记
问题描述
我刚开始研究 Pascal VOC 分割数据集。但是我很难理解他们在地面标签中使用的颜色编码。我假设每个类的像素将被注释为 1 到 20,但我得到的是具有像素值 (0-255) 的 8 位深 png 图像。
对于属于aeroplane
in 类的某个像素2007_000033.png
,我得到以下值: (128, 0, 0); 而另一个属于train
in 类的像素2007_000123.png
给出值:(128, 0, 192) 等等。
如何将它们区分为不同的类并进行一次性编码?我是否需要为每个类指定像素值(例如使用 (128, 0, 0) 搜索像素并将它们编码为 1 的类aeroplane
)?
抱歉,我在 SO 上看到了一些类似的问题,但没有任何帮助。谢谢。
解决方案
我向自己提出了一个类似的问题,这让我困惑了很长时间。我想我找到了一个可能的解释:
如果您查看 file_download_and_convert_voc2012.sh,有几行标有“ # Remove the colormap in ground truth annotations ”。这部分处理原始 SegmentationClass 文件并生成原始分割图像文件,每个像素值在 0 : 20 之间。(如果您可能会问为什么,请查看这篇文章:Python:使用 PIL 加载 png 文件给出了奇怪的结果)
推荐阅读
- android - Xamarin Android Style Xml 属性
- java - JPA在循环之前或之后不正确的合并
- r - 转换 data.frame 中除一个变量外的所有变量
- wordpress - 调用未定义的函数 settings_fields()
- scala - Scala Play:如何动态设置每种语言的响应视图?
- reactjs - 如何使 TextField 输入更宽?
- javascript - 更改图像的分辨率以匹配特定的像素密度 (DPI)
- python - 如何在一行中从数组中获取值(Python 3)
- swift - Paypal 从 Sandbox 切换到 Live - Swift SDK
- gml - 如何将瓦片图层转换为对象以进行相对于播放器的深度排序?