建立自己的voc数据集_PaddleDetection——使用(jpg + xml)制作VOC数据集并建立PD包...

本文介绍了如何基于jpg和xml文件创建VOC数据集,并详细阐述了生成txt文件、创建label_list的过程。同时,文章指导了如何下载PaddleDetection包,修改预训练模型的Configs配置,特别是调整num_classes和pascalvoc_label以适应自定义数据集,最终完成数据集的创建,为后续在AI Studio上的训练做好准备。
摘要由CSDN通过智能技术生成

PaddleDetection——使用(jpg + xml)制作VOC数据集并建立PD包

c76152e420185fdc37e785cdcc63faf6.png

voc数据集格式

文件夹目录如图所示:

---VOC    ------creat_txt.py    ------txt_write.py    ------Annotations       ---------n个xml文件    ------ImagesSet         ---------Main              --------trainval.txt              --------train.txt              --------test.txt              --------val.txt    ------JPEGImages       ---------n个img文件
9f3ddd0fd8289f082516c8c4409c58cc.gif

生成VOC数据集的txt文件

分别将两个python文件放在VOC文件夹下。

生成Main文件下的txt文件

运行creat_txt.py将会生成Main文件夹下的trainval.txt、train.txt、val.txt、test.txt四个txt文件。creat_txt.py

import osimport random#需要根据自己的目录进行修改trainval_percent = 0.95  # 训练集验证集总占比train_percent = 0.9  # 训练集在trainval_percent里的train占比xmlfilepath = r'G:\科创及比赛\智能车\数据集\VOC格式数据集\7_17\标志物0717\data\limit\VOC2007\Annotations'txtsavepath = r'G:\科创及比赛\智能车\数据集\VOC格式数据集\7_17\标志物0717\data\limit\VOC2007\ImageSets/Main'total_xml = os.listdir(xmlfilepath)num = len(total_xml)list = range(num)tv = int(num * trainval_percent)tr = int(tv * train_percent)trainval = random.sample(list, tv)train = random.sample(trainval, tr)ftrainval = open(r'G:\科创及比赛\智能车\数据集\VOC格式数据集\7_17\标志物0717\data\limit\VOC2007\ImageSets\Main\trainval.txt', 'w')ftest = open(r'G:\科创及比赛\智能车\数据集\VOC格式数据集\7_17\标志物0717\data\limit\VOC2007\ImageSets\Main\test.txt', 'w')ftrain = open(r'G:\科创及比赛\智能车\数据集\VOC格式数据集\7_17\标志物0717\data\limit\VOC2007\ImageSets\Main\train.txt', 'w')fval = open(r'G:\科创及比赛\智能车\数据集\VOC格式数据集\7_17\标志物0717\data\limit\VOC2007\ImageSets\Main\val.txt', 'w')for i in list:    name = total_xml[i][:-4] + '\n'    if i in trainval:        ftrainval.write(name)        if i in train:            ftrain.write(name)        else:            fval.write(name)    else:        ftest.write(name)ftrainval.close()ftrain.close()fval.close()ftest.close()

创建label_list

4e8d91b188dec260408b6330295821a7.png c76152e420185fdc37e785cdcc63faf6.png

下载PaddleDetection包

git clone https://gitee.com/paddlepaddle/PaddleDetection.git
PD0.2完整资源包下载地址:https://download.csdn.net/download/qq_45779334/12636538 9f3ddd0fd8289f082516c8c4409c58cc.gif

修改预训练模型的Configs配置

在PaddleDetection文件夹中操作。

修改num_classes

修改所用模型ssd_mobilenet_v1_voc.yml配置文件,在PaddleDetection-release-0.2\configs\ssd路径下找到配置文件,修改为自己数据集的的num_classes:

num_classes = (label_class) + 1(background)

18b249a3d89a8a099fec65f704198b75.png

修改pascalvoc_label

修改voc.py运行文件,在  PaddleDetection-release-0.2\ppdet\data\source路径下找到配置文件,修改为自己模型的label:

35b4fceb14e7d7354686e847c6227913.png

到这里就完成了数据集的创建!

上传至AI studio进行训练

8ee80cf17a4bfec9382aa84d4f685af3.png博客链接:https://blog.csdn.net/qq_45779334/article/details/106026210 963f182acb2ae6aee0abf790b3d7bfa9.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值