Windows10下使用darknet和YOLOV3训练自己的数据集

前言

1.我的环境是windows10,vs2015,cuda9.1,cudnn7.1。
2. darknet加yoloV3,用cmake和vs2015编译成darknet.exe。
3. 我的目录结构是在darknet目录下新建了一个build的目录,这个目录就是vs生成工程的目录,在windows下,所有的操作都在这个目录里面完成。

一、数据准备

1.我使用的数据格式是VOC2007,关于这个数据集,可以看我之后博客
2.标注工具用的是LabelImag的win版本。可以从这里下载,不用安装,直接运行,但存在的路径不能有中文。标注使用也可以看我之后的博客。
3.标注时按VOC形式标注,也可以选yolo的方式标注,如果一开始用yolo方法标注,之后就不用转换那么麻烦。这两种标注的标签,一种是xml,一种是txt。
VOC格式:
在这里插入图片描述
YOLO格式:
在这里插入图片描述
4.标注好的数据对应存在VOC2007目录Annotations里面,标注的图像放在JPEGImages里面。标注好的数据是一一对应的。
在这里插入图片描述
在这里插入图片描述

二.处理VOC2007数据

1.在darknet的工程目录下,darknet\build\darknet\x64\data\下,新建立一个VOCdevkit目录,把VOC2007的目录放到里面。
在这里插入图片描述
2.VOC2007当时下面只有三个目录。
在这里插入图片描述
Annotations里面就标签文件:
在这里插入图片描述
JPEGImages里面是对应的图像文件:
在这里插入图片描述
ImageSets下面有一个Main目录,但当前为空:
在这里插入图片描述
3.用python创建Main目录里面的train.txt,val.txt,test.txt和trainval.txt这四个文件。
(1)在VOC2007目录下创建一个python代码,我这里命名CreateMainDirTex.py
CreateMainDirTex.py的代码如下:

import os
import random

trainval_percent = 0.1
train_percent = 0.9
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(</
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

知来者逆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值