文章目录
- 1. PASCAL VOC2012
- 2. 标注自己的数据集
1. PASCAL VOC2012
PASCAL VOC挑战赛(The PASCAL VIsual Object Classes)是一个世界级的计算机视觉挑战赛,PASCAL全称:Pattern Analysis,Statical Modeling and Computational Learning,是一个由欧盟资助的网络组织。PASCAL VOC挑战赛主要包括以下几类:图像分类(Object Classification),目标检测(Object Detection),目标分割(Object Segmentation),动作识别(Action Classification)等。
Classification and detection
Segmentation
Action classification
Person layout
PASCAL VOC2012下载链接:http://host.robots.ox.ac.uk/pascal/VOC/voc2012/
进入首页,在目录Contents下找到 Development Kit,进入后,点击Download the training/validation data (2GB tar file)即可下载。
测试集下载链接:http://host.robots.ox.ac.uk:8080/eval/downloads/VOC2012test.tar
PASCAL VOC2012针对分类与目标检测,共有20个类别。
目录结构
在Annotations中,每个图像就对应一个XML文件,如:
<annotation>
<folder>VOC2012</folder> <!-- 文件夹 -->
<filename>2007_000187.jpg</filename> <!-- 文件名称 -->
<source> <!-- 数据来源 -->
<database>The VOC2007 Database</database>
<annotation>PASCAL VOC2007</annotation>
<image>flickr</image>
</source>
<size> <!-- 图像的宽度、高度、通道数 -->
<width>500</width>
<height>375</height>
<depth>3</depth>
</size>
<segmented>1</segmented> <!-- 图像是否可进行图像分割 -->
<object> <!-- 图像中的目标 -->
<name>tvmonitor</name> <!-- 目标的类别 -->
<pose>Frontal</pose>
<truncated>1</truncated> <!-- 目标是否被截断 在我们自己标注图像时,当我们标注的目标在图像边缘附近,该属性就会为1 -->
<difficult>0</difficult> <!-- 检测的难度 -->
<bndbox> <!-- 边界框左上角,右下角的坐标 -->
<xmin>1</xmin>
<ymin>95</ymin>
<xmax>240</xmax>
<ymax>336</ymax>
</bndbox>
</object>
</annotation>
所以,在我们后面读取数据集的时候,就要来解析XML文件。
对于目标检测,我们主要会用到ImageSets
下,Main
目录中的内容。主要涉及到train.txt
、val.txt
和trainval.txt
这三个文件。
trainval.txt
是将train.txt
与val.txt
融合在一起了。train.txt
与val.txt
是互斥的。
此外,在Main
文件夹下,还包含其他的txt文件,如boat_train.txt
、boat_val.txt
等,这是针对单个物体的文件,如在boat_train.txt
文件中:
2008_000008 -1
2008_000148 1
2008_000191 0
其中,2008_000008
这种是图像的名称。-1
代表是该图像中没有船,0
代表船这个目标检测起来是有困难的,1
代表存在有船这个目标。
载入图像信息流程(针对目标检测)
1.读入Main文件夹下的train.txt
文件,获取每一行信息(即每一个图像的名称)
2.根据图像的名称,到Annotations目录下,找到对应的xml文件
3.解析xml文件
4.根据图像的名称,到JPEGImages目录下,找到对应的图像文件,载入内存
2. 标注自己的数据集
图像标注软件:LabelImg
、Labelme
推荐使用:LabelImg
,可以生成xml文件。Labelme
主要生成的是JSON文件。
安装LabelImg
pip install labelImg
简单使用流程:
- 打开项目文件夹,->data->predefined_classes.txt修改标注类别信息
-
打开软件
启动命令:
# labelimg 图像文件夹路径 类别文件 labelimg labelme ./image ./classes.txt
-
设置图像文件所在目录,以及标注文件保存目录
点击改变存放目录,来设置标注文件保存目录。
-
标注图像,并保存
点击创建区块,来进行绘制图框
然后,进行绘制,并且选取类别
如果认为,该目标检测起来是有难度的,则进行勾选
全部标注完成后,点击保存,这样标注信息文件便保存至我们指定的保存目录中了。