Pascal Voc中segmentation的ground truth咋处理呢
在PIL中,图像有很多种模式,如\u0026#39;L\u0026#39;模式,\u0026#39;P\u0026#39;模式,还有常见的\u0026#39;RGB\u0026#39;模式。模式\u0026#39;P\u0026#39;为8位彩色图像,它的每个像素用8个bit表示,其对应的彩色值是按照调色板索引值查询出来的。pascal voc的标签图像的模式正是\u0026#39;P\u0026#39;模式。
上图是我从VOC07中随意取了一张,用PIL读取:
PIL使用\u0026#39;P\u0026#39;模式将其读入,其像素值正是0-20这21个类别(0是背景),此外物体周围还有一圈白色边缘,其像素值为255,在训练时会被忽略。
voc标签图片的调色板为:
形象一点就是这样:
其他问题可以参考这篇文章:https://zhuanlan.zhihu.com/p/22976342
■网友
PASCAL VOC 中的ground truth使用的是 调色板 技术,也就是 gt 中存在的真实值是 1-20 的label值。同时图片编码时,会带上调色板,也就是每个类别指定一个颜色。
你可以使用 PIL 中的 P 模式来读取,但是 我更喜欢使用 opencv 中的 cv2.IMREAD_GRAYSCALE 模式读取(注意:opencv读取出来的通道顺序是 bgr)
ground truth 中白色边缘区域的值是255,是忽略计算的区域。
■网友
这个你看一下FCN的代码就知道了.
1.Pascal Voc的ground truth虽然是彩色的,但是你导入到程序中发现他其实是label数据,也就是他的范围就是1-20,而且是单通道的。这个部分相当神奇,应该是做了某种索引。
2. 白色边缘在FCN代码中是可以被忽略的
■网友
pascal voc的label文件是“p model”的,可以用PIL读进来,然后就可以直接当np数组用了,自己转一份纯数字的png文件即可。
【Pascal Voc中segmentation的ground truth咋处理呢】 边界是数值是255(纯白),如果你用caffe,在softmaxwithloss层设置ignore_label:255即可。意思是忽略边界,训练的时候不走loss
推荐阅读
- 为啥pascal会被c语言取代
- |宿迁持续推进市区汽修行业VOCs污染专项整治
- 为啥Pascal Logo之类的语言会占据TIOBE前五十的地位
- 我是高二學生,大學想讀軟件工程,但是現在只會寫pascal和c語言,而且只會數組(陣列),有什麼看法
- 『典型』江苏通报大气污染典型案件和VOCs高值园区 夏季臭氧污染防治攻坚在行动
- VOCs■南京发出减少臭氧污染倡议书
- voc|江苏省通报大气污染典型案件和VOCs高值园区
- 江苏通报大气污染典型案件和VOCs高值园区
- 怎样评价FAIR的最新工作Panoptic Segmentation
- |镇江开出国标实施后首张VOCs治理罚单