现在深度学习很多框架都在使用VOC数据集,来研究一下voc数据集的具体内容
一般voc解压出来后都包括Annotations,ImageSets,JPEFImages,SegmentationClass ,SegmentationObject;
Annotations中是放着所有图片的标记信息,以xml为后缀名.以分类检测的数据为例,打开ImageSets中的layout,会有train,trainval,val三个txt格式数据,:
1 train 很明显是训练数据(注意,均为图片名,没有后缀)
2 val 验证数据
3 trainval 则是所有训练和验证数据
4 test 测试数据
而ImageSets中的Main文件夹中保存的是各类数据出现的统计,以areoplane为例,有三个相关文件aeroplane_train.txt,areoplane_val,areoplane_trainval.txt,以areoplain_train.txt为例,分为两列,第一列为图像名如00012(注意没有后缀),第二列为-1和1,-1表示目标在对应的图像没有出现,1则表示出现。
segmentationclass和segmentationobject中均为分割后的结果
Anotation文件夹中包含了所有train和val的标记信息,标记信息均以xml结尾,其中,以(x,y)的格式保存坐标点.在实际应用中,要不把数据集改为voc形式,如果使用txt
格式的annotations,则需要在代码中进行相应的修改。txt生成xml的代码稍后上传