基于YOLOv4的目标检测模型的训练及测试

一、数据集准备

在开始训练之前,需要先收集一些图片并标注一个适用于目标检测模型的数据集。

本次标注工具使用LabelImg。

先将需要训练的图片放入项目的文件夹里,如下所示。

我们可以使用一些标注工具手动绘制边界框并指定类别标签,确保每个目标类别都有准确的边界框标注,完成数据的标注工作。

标注实图所示:

完成一张图片的标注后,将标注信息保存为一个XML文件。存放地址如图所示。

二、环境搭建

由于训练数量大,训练速度非常慢,这里需要安装GPU加速库——CUDA。

将过程中所涉及到的相关教程放在下面。原教程以YOLOv5为例,本次是基于YOLOv4,就相应的改变一下即可。

如何使用CPU/GPU运行——安装环境及依赖

ps:在我千辛万苦安好CUDA之后才发现学校的电脑没有GPU,全部作废。所以请在进行这一部之前检查你所使用的电脑是否有GPU

三、代码准备

本次采用的代码为学校老师提供的代码。

对原始代码需要改动的地方如下:

改动1:根据自己需要训练的图片数量改动UnFreeze_Epoch的值,此处是训练100张即对应改成100即可。

 改动2:

在model_data中的voc_classes.txt文件中加入标注的标签,如本次标注是eyebrow后面的。

ps:此处应该把其他的删除只留下自己的,不然出来的可能会有问题。

改动完后运行voc_annotation.py。

四、开始训练

上述操作结束完就可以开始训练了,允许train.py,这是一个很漫长的过程,本次训练了100张用了四个多小时,被锁在教学楼里面差点回不去...

最后得出结果:

研究过一些其他人的教程,多训练几次可以提高准确率,所以条件允许的情况下可以多训练几次提高准确率。

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于YOLOv8的行人目标检测训练细节如下: 1. 数据集准备:首先,需要收集包含行人目标的图像数据集。可以使用公开的行人数据集,如COCO、CityPersons等,也可以自己标注图像数据集。确保数据集中包含足够多的行人目标样本,并且标注准确。 2. 数据预处理:对数据集进行预处理是必要的。常见的预处理操作包括图像缩放、裁剪、旋转、亮度调整等。此外,还可以进行数据增强操作,如随机翻转、随机扩展、随机旋转等,以增加数据集的多样性。 3. 构建模型:使用YOLOv8作为基础模型进行行人目标检测YOLOv8是一种基于卷积神经网络的目标检测算法,具有较高的检测速度和准确率。可以使用开源的YOLOv8代码库进行模型构建。 4. 模型训练:将准备好的数据集输入到模型中进行训练训练过程中,需要定义损失函数,常用的损失函数包括交叉熵损失和均方误差损失。通过反向传播算法更新模型参数,使得模型能够逐渐学习到行人目标的特征。 5. 参数调优:在训练过程中,可以通过调整学习率、优化器、批次大小等参数来提高模型的性能。可以使用验证集进行模型的评估和调优,选择最佳的模型参数。 6. 模型评估:训练完成后,使用测试集对模型进行评估。常用的评估指标包括准确率、召回率、精确率和F1值等。根据评估结果,可以对模型进行进一步的改进和优化。 7. 模型部署:训练完成后,可以将模型部署到实际应用中进行行人目标检测。可以使用模型推理库,如TensorRT、OpenVINO等,将模型转换为可部署的格式,并进行性能优化。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值