用mmdetection训练和测试自己的数据集(LabelImg,xml,VOC格式)

本文介绍了如何使用mmdetection框架训练和测试自定义的VOC格式数据集,包括LabelImg标注、数据集组织、预训练模型下载、配置文件修改、训练、测试和评估步骤。
摘要由CSDN通过智能技术生成

前提:当你安装好mmdetection后

1.用LabelImg标注自己的数据集,获得与照片对应的一堆xml文件

(注:如果你是先在别的电脑用LabelImg标注,xml文件里的<folder>属性会与之后放在服务器里不一样。建议将图片文件统一放在一个命名为“VOC2007”或“VOC2012”的文件夹下再开始标注)

图片文件名不要有中文

2.按VOC的格式放置好自己的数据集

在mmdetection文件夹下新建一个“data”文件夹

在data文件夹下再新建一个“VOCdevkit”文件夹(注意大小写)

在VOCdevkit文件夹下新建一个文件夹叫“VOC2007”或“VOC2012”

之后就是开始放置数据集了:

在VOC2007数据集下分别建“Annotations”和“ImageSets”和“JPEGImages”三个文件夹

在“Annotations”文件夹中放入你所有的xml标注文件

在“JPEGImages”文件夹中放入你数据集里的所有照片

在“ImgaeSets”文件夹中再新建一个“Main”文件夹,在“Main”中放入“train.txt”,"trainval.txt","val.txt","test.txt"。(一开始训练阶段时没有test.txt也可以运行train.py)

这些txt文件里保存的是图片的名字,如图

这里提供一个简易的划分数据集代码(获得四个txt)

import os
import random
 
trainval_percent = 0.8
train_percent = 0.75
xmlfilepath = 'G:\dangerousCarDetect\VOC2007\Annotations'
txtsavepath = 'G:\dangerousCarDetect\VOC2007\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:\dangerousCarDetect\VOC2007\main\trainval.txt', 'w')
ftest = open(r'G:\dangerousCarDetect\VOC2007\main\test.txt', 'w')
ftrain = open(r'G:\dangerousCarDetect\VOC2007\main\train.txt', 'w')
fval = open(r'G:\dangerousCarDetect\VOC2007\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()

3.下载预训练模型

https://github.com/open-mmlab/mmdetection/blob/master

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值