darknet + yolov4 训练自定义数据集 + windows环境搭建

本文详述了在Windows上使用darknet和YOLOv4训练自定义数据集的全过程,包括数据集收集与处理、环境搭建、编译与训练。内容涵盖样本标注、CUDA和cuDNN安装、Visual Studio配置,以及训练过程中的关键步骤和注意事项。
摘要由CSDN通过智能技术生成

目录

一、前期准备工作

1、样本数据集的收集

2、样本数据的处理

自己实践过程中整理的标注规范

标注图片

3、修改配置和下载预训练模型

二、darknet 的环境搭建

1、windows 编译环境搭建

安装显卡驱动

安装 CUDA

安装 Visual Studio

安装 cuDNN

安装OpenCV(非必须)

三、windows 下的编译和训练

1、编译 darknet

2、组合数据

目录结构

3、windows 上训练

4、什么时候停止

5、验证权重

6、训练记录


上一篇博文讲解了 java 实现 darknet + yolov4 实现官方标注的目标检测,本篇博文记录下训练自定义数据的整个过程。

yolov4 的 github ,上面讲解的比较详细了。

一、前期准备工作

1、样本数据集的收集

样本需要多样化,其特点:

  • 不同角度
  • 不同大小
  • 不同光照
  • 不同形态
  • 不要过多重复(重复率最好低于80%)

样本的数量是越多越好。

数据收集好了之后,按照 4:1 到  1:1 的比例范围分成两份,多的用作训练数据集,少的部分用作测试数据集。强烈建议不要使用训练数据集作为测试数据集。

2、样本数据的处理

图片的标注直接影响整个 ai 分析的精准度以及预测框的精准度,所以一定要定义好标注的规范文档,规定好每种目标对象的定义是什么,因为在实际的标准过程中,可能不是你自己来标注,所以需要统一每个人的标注。

自己实践过程中整理的标注规范

  • 标注目标物体或者重叠部分
  • 以肉眼能够看清的为标准
  • 标注框只比目标物体大一点,留有一点空隙即可
  • 训练数据集保留少量负样本——不画任何标注框,但是需要生成 txt 文件(把图片在 yolo_mark 工具上过一遍就会自动生成 txt 文件),我的做法是在 10 的整数倍图片上不标注,即 1/10 的样本作为负样本。

如果样本较少,可以少留一点负样本。负样本是增加网络的泛化性的。

  • 标注对象的定义需要清楚

标注图片

使用 yolov4 github 上推荐的 yolo_mark 工具训练数据集、验证数据集进行标注,详情请查阅github 文档。

准备好 obj.names 文件,里面存放的是要训练的类型名称,一行一个类型名称。

例如:obj.names

people
car
ship
dog
...

将该文件放在 yolo_mark/data目录下。注意训练数据集需要保留负样本,而测试数据集是不需要负样本的。

标注完成后,yolo_mark/data/img目录下会自动生成与jpg同名的txt文件;yolo_mark/data目录下会自动生成 train.txt 文件。

3、修改配置和下载预训练模型

yolo-obj.cfg:修改配置请依据 自定义配置  和 不同显卡的模型参数设置  进行修改,讲解的比较详细。

yolov4.conv.137:下载预训练模型

二、darknet 的环境搭建

1、windows 编译环境搭建

使用的编译方式官方文档上推荐的 windows 系统 vcpkg 的方式。(vc 表示的是 Visual c++环境)

需要的环境和版本号(github 上有详细说明)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值