VOC数据生成
VOC数据格式
+VOCdevkit +VOC2012 +JPEGImages +SegmentationClass +ImageSets +Segmentation
一个voc的数据目录如图所示,SegmentationClass里面存放的是分割结果,里面的图片都是8-bit伪彩色图,也就是说正常的读取我们读出来的是24-bit RGB图,但是其实这个图片只是一个8-bit的图片,进行了一次色彩的映射所以看起来给人一种彩色图的感觉
1 | |
那么问题来了这种图片是怎样生成的呢?
tensorflow官方贴出了一个做法,
1 | |
可以看到,先是构建了一个8bit - 24bit的一个映射,然后直接查表获得结果,但是这样做的话最后得到的结果依旧是一个24bit图
一个正确的做法如下图所示:
1 | |
这样可以保证生成的图片就是8位伪彩色图,但是需要注意的是,生成的伪彩色图并不能直接用于训练,因为绝大多数读图过程是不能区分伪彩色图和彩色图的,处于保险起见还是先转换出灰度图较为合适。但是伪彩色图能够在方便可视化的时候保留正确的gt值,这一点是我们所需要的。
COCO数据格式
coco存储数据用的是一个字典字典里面有三个键:"images", "categories", "annotations"
里面装着一个list,list里面都是字典
具体的格式如下图所示
images:
categories:
[
id:
name:
supercategory:
]
images:
[
file_name:
height:
width:
id:
]
annotations:
[
area: bbox: #[x1,y1,w,h] category_id: id: image_id: iscrowd: segmentation: #[[x,y,x,y]]
]
1 | |