VOC数据集介绍及标签制作软件labelImg的使用

一、组成
VOC数据集包括三个必要的文件,分别是JPEGImages、ImageSets和Annotations。
JPEGImages储存所有的训练图片,而Annotations里面应该存储每张图片对应的xml文件(需要做标签)
ImageSets里面有个Main文件夹,其中存储trainval.txt记录每一个训练图片的文件名
(可以自己书写py代码通过xml文件名生成对应的txt,代码在文末)

即目录结构为:

-VOCdataset

--Annotations

---文件.xml

--ImageSets

---Main

----trainval.txt

--JPEGImages

---训练图片.jpg

二、制作标签(win10环境下)
制作标签需要用到一个软件。https://github.com/tzutalin/labelImg 。
下载到本地的文件夹之后,通过右键+shift打开Powershell界面。
注:LabelImg需安装Qt5(python3)或者Qt4(python2)(pip3 install python-qt5)
分别输入
 

pyrcc5 -o resources.py resources.qrc
python labelImg.py

打开界面之后:
open dir                    选择数据集文件的路径(不能含有中文)
change save dir        选择xml文件的保存路径
Creat   RectBox        开始框选物体
为一张图片做好标签后切记必须Save。只有Save之后才能保存下来文件。

三、trainval文件说明

为了避免没有做标签的图片(即被弃用)对我们的trainval.txt造成影响,
我们应该选择通过xml的文件来做trainval.txt文件:把所有xml文件的文件名(不包括后缀)写在trainval.txt上面。

import os
#xml文件路径
names = os.listdir(r'.\Annotations')  
i=0  #用于统计文件数量是否正确,不会写到文件里
#文件保存路径
train_val = open(r'.\ImageSets\Main\trainval.txt','w')
for name in names:
    index = name.rfind('.')
    name = name[:index]
    train_val.write(name+'\n')
    i=i+1
print (i)

猜你喜欢

转载自blog.csdn.net/weixin_41683218/article/details/81135338