发布时间:2025-12-09 19:33:11 浏览次数:4
如题,我本身也是一个初学者,本篇文章是我在了解PASCAL VOC数据集中所学习到的,因此记录下来与大家分享,如果有不对的地方还希望大家指正。
PASCAL VOC挑战赛是世界级的计算机视觉挑战赛,PASCAL的全称是:Pattern Analysis,Statistical Modelling and Computational Learning Visual Objection Classes,是一个由欧盟资助的网络组织,挑战赛主要分为以下几类:图像分类,目标检测,目标分割以及动作识别等。
由于我下载的时候官网打不开,因此找到了一个镜像网站,大家可以直接复制到迅雷中下载,还是比较快的。https://pjreddie.com/media/files/VOCtrainval_11-May-2012.tar
解压下载的文件,里面结构如下:
这个文件夹下的内容为所有图像的标注信息,均为XML文件。
就像这样,任选其中一个打开可以看到如下信息,’#'后的是我加上的注释:
此文件夹下又有四个文件夹
其中Action文件夹中为人的行为动作图像信息,Layout为人的各个部位图像信息,Segmentation为目标分割图像信息,Main文件夹为目标检测分类图像信息,Main文件夹中包括了20个种类的txt格式的信息,每一个种类都有三个,分别是_train,_trainval,_val,部分截图如下。除此之外,还包含了三个总的信息文件train.txt,val.txt,trainval.txt,这里面训练集共有5717张图片,验证集共有5823张图片,共有11540张图片。
训练集train.txt文件中的每一行都是一个图片的名称,验证集val.txt也同样,并且训练集中的图片和验证集中的是完全不一样的。trainval.txt是将这两部分融合到一起的。
随机点开某一个类别的txt文件,如bird_train.txt,可以发现每一行除了名称后面还有一个数字,如果是-1,说明这个图片中没有鸟这个目标;如果是1,说明这个图片中有鸟这个目标;如果是0,说明这个目标检测起来是有困难的。如下部分截图:
这个文件夹下就是一个个.jpg格式的图片。
基于类别的图像分割图,都是png格式的。
基于目标的图像分割图,也都是png格式的。
首先读入train.txt的文件,获取它的每一行信息,然后去Annotations找到它的xml文件,然后解析这个文件,再去JPEGImages中找到这个图片,载入到内存中。
如果大家觉得我写的不够细致,可以去b站搜这位up主的讲解,很细致,感谢他!https://b23.tv/KRwTKT