YOLOv3 从零开始训练自己的数据集

这篇博客详细介绍了如何从零开始训练YOLOv3模型来检测电梯面板。首先,使用LabelImg进行数据标注,然后将数据划分为训练集和测试集,并生成labels。接着,下载pytorch版本的YOLOv3,配置训练数据和网络结构。通过修改cfg文件适应类别数量,并获取预训练权重进行finetune。最后,执行训练过程。
摘要由CSDN通过智能技术生成

第一部分:准备数据

1.1标注数据

我们在这里使用LabelImg进行数据标注。
LabelImg使用教程可以查看github上的官方的教程

conda install pyqt=5
conda install -c anaconda lxml
pyrcc5 -o libs/resources.py resources.qrc
python labelImg.py

在这里插入图片描述
得到标注后的数据
在这里插入图片描述
将标注的标签和数据放在data目录下的elevator中,我们这里是要做电梯面板的检测。
在这里插入图片描述

1.2 将数据分为训练集和测试集

我们在这里将我们的数据划分为训练集和测试集。

import os
import random

trainval_percent = 0.9
DATA_DIR = "/home/xxx/yolov3/data/elevator" #TODO换成自己的地址
xmlfilepath = os.path.join(DATA_DIR,'Annotations')
txtsavepath = os.path.join(DATA_DIR,'images')
total_xml = os.listdir(xmlfilepath)

num = len(total_xml)
list = range(num)
tv = int(num*trainval_percent)
trainval = random.sample(list, tv)


ftrainval = open('/home/xxx/yolov3/data/elevator/trainval.txt', 'w')
ftrain = open('/home/xxx/yolov3/data/elevator/train.txt', 'w')
fval = open('/home/xxx/yolov3/data/elevator/val.txt', 'w')

for i in list:
    name = total_xml[i][:-4] + '\n'
    ftrainval.write(name)
    if i in trainval:
        ftrain.write(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值