训练yolo V4模型调优的十个建议

1、获取更多的数据

改进目标检测模型的最佳方法是收集更有代表性的数据,YOLO v4也不例外。
特斯拉人工智能高级总监安德烈•卡帕西在解释特斯拉如何让汽车停下来时表示:数据集是活的,标签一直在变化。你需要一直管理和更改数据集。

2、数据增广

收集和标记更多的数据需要代价。可以通过数据增广来扩展训练集。
YOLO v4的训练过程会自动进行数据增广(文章)。

3、输入分辨率

输入分辨率决定了将被传递到模型中学习和预测的像素数。
高分辨率可以提高准确性,帮助检测小物体,但代价是时间慢。YOLO的输入分辨率必须为32的倍数。默认是416x416。在cfg文件夹中更改宽度和高度。

4、使用预训练pretrained模型

一般,我们在预训练模型上进行微调。(yolo v4预训练模型
预训练模型是在COCO数据集上进行了预先训练,该数据集包括人、自行车和汽车这样的常见对象。一般来说,如果你的训练任务中的目标和COCO数据集相似,从预训练模型微调是一个好主意。

darknet.exe detector train data/your.data cfg/your.cfg yolov4.conv.137

然而,如果你的训练任务中的目标和COCO数据集大相径庭,不如从头开始训练。

darknet.exe detector train data/your.data cfg/your.cfg

可以两者都试一试,比较哪个模型更好。

5、选择合适的模型尺寸和架构

如果你更关心推理速度,那么选择较小的模型YOLOv4-tiny。
查看cfg文件夹,并尝试更改网络架构和层,配置网络结构。
如果如果你的训练任务中的目标形状与COCO数据集差别很大,那么需要考虑实现自定义锚框,在cfg文件夹中更改anchors。

6、继续之前的训练

类似于使用预训练模型,您可以从继续之前的训练,或将从其他数据集学到的模型学习应用到新的数据集。

darknet.exe detector train data/your.data cfg/your.cfg your.weights

7、选择最好的模型

Darknet模型权重保存在backup文件夹中,基于验证集自动为你保存最好的模型_best.weights。
同时也会保存你训练时的最后权重_last.weights。

8、模型评估

在数据集和模型结构进行各种调整时,对结果进行跟踪是很有用的,这样您就可以看到怎么样组合对你的数据集最有效。
Darknet可以计算模型的mAP,这是一个主要指标。
另一个指标是推理的速度。

9、导出模型

Darknet的模型格式为*.weights。
可以通过一些方法将其转成其他框架比如TensorFlow支持的格式。

10、优化推理速度

减少模型推理时间的主要方法是使用更小的模型,如YOLOv4-tiny。
也可以通过提高硬件配置来实现,比如GPU或在Intel VPU上使用OpenVino进行推理。对于GPU,建议使用YOLOv4 TensorRT框架进行部署。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值