PASCAL VOC数据集的使用
本文以voc2007为例,下载完之后解压,可以在VOCdevkit目录下的VOC2007
其中在图像物体识别上着重需要了解的是Annotations、ImageSets和JPEGImages。
- 其中JPEGImages 文件夹中包含了PASCAL VOC所提供的所有的图片信息,包括了训练图片和测试图片。
- 其中Annotations文件夹中存放的是xml格式的标签文件,每一个xml文件都对应于JPEGImages文件夹中的一张图片。
xml文件的具体格式如下:(对于000007.jpg, 即000007.xml)
对于目标检测来说,需要提取图像的标签信息,提取图像尺寸size部分和object部分(类别name和bndbox左上角和右下角坐标)
对应图片是
- 其中ImageSets存放的是每一种类型的challenge对应的图像数据。一般只需要用到Main文件夹中trainval.txt文件(图像ids,即图片文件名的前缀部分)。trainval.txt内容如下:
可直接使用如下代码提取ground truth信息,最好是每个图像对应一个txt文件,每行是一个bounding box的标签,如xmin, ymin, xmax, ymax, label_ind
import os.path as osp
import cv2
import numpy as np
import random
import xml.etree.ElementTree as ET
VOC_CLASSES = ( # always index 0
'aeroplane', 'bicycle', 'bird', 'boat',
'bottle', 'bus', 'car', 'cat', 'chair',
'cow', 'diningtable',