yolov4的cfg文件怎么生成_YOLOv4实战尝鲜 --- 教你从零开始训练自己的数据集(安全头盔佩戴识别检测)...

本文介绍了如何使用YOLOv4训练自定义的安全头盔佩戴检测数据集,包括数据准备、数据集划分、XML标签转换为TXT、配置文件修改和模型训练等步骤,最终在验证集上达到了89%的mAP,展示YOLOv4在检测速度和精度上的优势。
摘要由CSDN通过智能技术生成

目录

数据准备

划分数据集

xml2yolo

生成train/valid.txt

YOLOv4配置

cfg文件修改

data文件修改

names文件修改

模型训练

模型测试

本文代码基于:https://github.com/ultralytics/yolov3

YOLOv4理论部分我的另一篇博客请参考:YOLOv4真的来了!!论文翻译

数据准备

首先介绍数据集,来源于AI研习设的一个比赛,见链接:https://god.yanxishe.com/32。

之前我已经用该数据集训练过YOLOv3,感觉效果不是非常好,这次直接把之前训练YOLOv3的数据集放在YOLOv4_path/data/目录下即可。

不过,,这样看的可能会一脸懵逼,还是介绍下数据集的准备过程吧。。

划分数据集

首先clone git 到本地,解压,得到YOLOv4的文件目录如图:

然后将下载下来的数据集放到data/下,文件夹命名为原始数据集。data/原始数据集/下如图所示,分别有train文件夹(训练数据集),labels文件夹(标签集),test文件夹(测试数据,用于测试提交。)

先划分数据集,将train数据集划分为train/valid数据集,运行 1.split_data.py 如下代码:

import os

import glob

import json

import shutil

import numpy as np

import xml.etree.ElementTree as ET

img_train = './images/train/'

img_val = './images/valid/'

label_train = './labels/train/'

label_val = './labels/valid/'

allimgs = glob.glob('原始数据集/train/' + "/*.jpg")

allimgs = np.sort(allimgs)

np.random.seed(100)

np.random.shuffle(allimgs)

train_ratio = 0.9

train_num = int(len(allimgs) * train_ratio)

# 得到训练和验证数据集列表

img_list_train = allimgs[:train_num]

img_list_val = allimgs[train_num:]

# 创建文件夹

if os.path.exists(img_train):

shutil.rmtree(img_train)

os.mkdir(img_train)

else:

os.mkdir(img_train)

if os.path.exists(img_val):

shutil.rmtree(img_val)

os.mkdir(img_val)

else:

os.mkdir(img_val)

if os.path.exists(label_train):

shutil.rmtree(label_train)

os.mkdir(label_train)

else:

os.mkdir(label_train)

if os.path.exists(label_val):

shutil.rmtree(label_val)

os.mkdir(label_val)

else:

os.mkdir(label_val)

# 移动val数据到指定位置

for i in img_list_val:

img_id = i.split('.')[0].split('/')[2]

print(img_id)

# jpg

shutil.copy(i, img_val + img_id + '.jpg')

# xml

shutil.copy('原始数据集/label/' + 'new_' + img_id + '.xml', label_

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值