C++环境下Yolov4训练自己的数据集

1.准备数据集。
首先下载yolov4并配置相关环境 (github官方Yolov4项目下有详细的配置过程:Yolov4
本次测试准备了5张图片放入image文件夹 如下图所示:
在这里插入图片描述
.txt文本文档为标注文件,标注方式可以使用labelImg工具标注或者在线标注工具Make sense;标注完成后会生成对应的以图片名称命名的txt文本文档,生成的标注文件必须和图片放在同一目录下。标注文件内容如下所示:
在这里插入图片描述
第一列表示要训练的类的序号,这里一共训练两个类:deer和head,后面的小数表示标注的部分在图片中的位置。

2****准备相关训练文件
新建4个文本文档:2023_train.txt, 2023_val.txt, voc.names,voc.data (这里都在customData文件夹下)内容如下:
2023_train.txt内容是要训练图片的绝对路径:
在这里插入图片描述
2023_val.txt内容是标注信息的绝对路径:
在这里插入图片描述
voc.names内容两个类的名称:
在这里插入图片描述

voc.data的内容如下:
在这里插入图片描述
classes:要训练的类的数量
train: 要训练的图片路径(文本路径,这里填的是相对路径)
vaild:标注信息路径(文本路径,这里填的是相对路径)
names: 类的名称路径
backup: 训练完成后生成的权重文件保存的路径

3 设置yolov4cfg配置文件
从下载的官方yolov4目录下拷贝一个yolov4.cfg到当前customData文件夹目录并重命名为yolov4-custom.cfg,然后修改[net]层下的参数和三个[yolo]层以及三个yolo层上面第一个[convolutional]层参数,yolov4.cfg每个参数的含义自行搜索。
在这里插入图片描述
在这里插入图片描述

最后从github上下载预训练权重文件 yolov4.conv.137,并放在yolov4项目和darknet.exe同目录下

打开 Windows Powershell 输入以下指令./darknet.exe detector train customData/voc.data customData/yolov4-custom.cfg yolov4.conv.137 开始训练
在这里插入图片描述

训练会显示以下图表,表示训练过程,训练时间一般比较长,本次简单训练GPU6G显存用了十几个小时,每1000次会自动保存一次权重文件。训练时avg loss为nan时表示失败
在这里插入图片描述
模型测试(c++下使用opencvDNN调用):
在这里插入图片描述

  • 11
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值