制作自己的目标检测数据集

制作自己的目标检测数据集


原文链接:https://blog.csdn.net/weixin_42111393/article/details/83383720

1.制作数据集的工具

我利用数据集标注工具是精灵标注助手,我认为很好用。奉劝一句标注数据集时不要随便找人给你标,如果他没有用心给你标注,你在后面训练会出现很多问题。在一开始标注数据集的时候不要一下子给他标注完,先标注几十张图片,然后用在你的网络里,看看有没有错误,如果没有问题就按这种方式标,如果有,再找出原因,在后面标注的过程中注意。

2.数据集结构

Annotations:存放检测物体在图片上的坐标位置xml文件
JPEGImages:存放训练和验证的图片
ImageSets:文件下有三个子文件夹,Layout、Main和Segmentation,其中我们关注Main文件夹就OK了,Main文件夹里train.txt,val.txt,trainval.txt,test.txt这四个txt文件,存放不带后缀的图片名

(1)JPEGImages文件件
图片名称建议重命名成000001.jpg这样的格式``
在这里插入图片描述

# 重命名图片的名称
import osdef image_rename(img_path):
imglist=os.listdir(img_path)
i=1
for file in imglist:
   Oldname=os.path.join(img_path,file)
   filename=os.path.splitext(file)[0]
   filetype=os.path.splitext(file)[1]
   Newname=os.path.join(img_path,str(i).zfill(6)+filetype)   #用字符串函数zfill 以0补全所需位数
   os.rename(Oldname,Newname)
   i=i+1if __name__ == "__main__":
imgs_path = "C:/Users/Administrator/Desktop/VOC2007/img"
image_rename(imgs_path)

(2)Annotations
这个文件夹是JPEGImages文件夹中对应图片的.xml格式(由标注精灵助手生成),打开可以看到:
在这里插入图片描述

xml文件内容:在这里插入图片描述
(3)ImageSets

Main文件夹里train.txt,val.txt,trainval.txt,test.txt这四个txt文件的制作方法。

import os
import random

trainval_percent = 0.66
train_percent = 0.5
xmlfilepath = 'Annotations'  # 绝对路径
txtsavepath = '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('ImageSets/Main/trainval.txt', 'w')
ftest = open('ImageSets/Main/test.txt', 'w')
ftrain = open('ImageSets/Main/train.txt', 'w')
fval = open('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()
  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值