YOLOv5目标检测训练自己数据集

近来需要使用yolov5做目标检测,故整理了自己安装与使用的全过程

1、环境安装

1、在anaconda下安装自己的虚拟环境
2、从github克隆yolov5项目
注:此处我的电脑显卡是GTX1650,后面训练过程中cuda,cudnn,torchvision等个版本一定要相匹配,最终测试后,我的版本如下:
环境信息

2、制作自己的数据集

1、使用labelimg库可以很方便的只做自己的数据集

3、训练自己的模型

1、使用yolov5训练自己的模型,需要修改一些参数信息,此处参考修改参数信息
2、遇到的错误:yolov5训练中报错:UserWarning: Detected call of lr_scheduler.step() before optimizer.step(). In PyTorch 1.1.0 and later, you should call them in the opposite order: optimizer.step() before lr_scheduler.step(). Failure to do this will result in PyTorch skipping the first value of the learning rate schedule.
该错误导致训练无效
解决方法:解决办法
该错误的主要原因是下载的pytorch和cudnn所支持的cuda版本不匹配的问题,而pycharm检测不出来,导致训练无效。

4、训练结果

1、本次一共训练了300轮,耗时十个多小时
(–batch-size==2,–workers ==2,num_workers=0)

2、最终的训练结果不太好,可能原因如下:

  • 数据集制作太粗糙,有些类别没有,有些类别太少,分布不均匀,还存在大量误标的情况,后面考虑制作严谨的数据集
  • 模型采用了yolov5-s,模型过小,考虑换成大的
  • 对模型进行具体任务的优化

5、推理测试

单个测试样本结果
测试了部分样本,其检测精度和类型不太行。。

6、模型部署

这里涉及到.pt模型格式等问题,也是难点,继续研究!

评价指标:
Precision(准确率,精度), Recall(召回率), F1 score
loU(Intersection over Union)(交并比)
P-R curve(Precision-Recall curve)(精度召回曲线)
AP(Average Precision)(*均正确率)
mAP(mean Average Precision)(*均精度均值)
FPS(Frames Per Second)(每秒传输帧率)

7、参考

参考文献1(手机端和视频检测)
参考文献2
主要参考文献(包括了详细步骤)
cuda、pytorch、cudnn版本问题
无效训练问题
模型部署问题
yolov5实现小数据集的目标检测–kolektor缺陷数据集

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值