【Object Detection】YOLOV5应用案例——口罩检测(mask destection)手把手教你从零开始搭建一个目标检测任务

【Object Detection】YOLOV5应用案例——口罩检测(mask destection)手把手教你从零开始搭建一个目标检测任务

1、下载YOLOV5的代码

打开项目地址https://github.com/ultralytics/yolov5,根据流程下载,在命令行中输入

  • git clone https://github.com/ultralytics/yolov5
  • cd yolov5
  • pip install -r requirements.txt

注意:本地进行项目运行的话需要自行创建好wandbtensorboard以及clearml的账户(都是记录运行过程的库),并在命令行中登录。(不知道怎么创建的可以先运行一遍train.py训练,然后根据报错信息进入不同的官网进行注册和登录)
包括有:

2、准备数据

打开roboflow官网 https://app.roboflow.com/ 根据新手教程创建自己的数据集

在这里插入图片描述

在这里插入图片描述

然后上传数据时,我使用的是网上的公开的口罩以及面部数据,上传图片以及label标签的文件夹
在这里插入图片描述
在这里插入图片描述

如果没有labels数据也没有关系,在roboflow网站上也可以自己标注数据,上传一张照片,点击照片进行标注

在这里插入图片描述
在这里插入图片描述

标注完成自己的数据后点击Finish Uploading完成上传,并选择划分数据集的比例
在这里插入图片描述

之后,可以自定义选择数据增强的方式(如旋转,噪音,模糊等)
在这里插入图片描述

然后点击生成数据集

然后选择导出数据,可选择将数据下载到电脑也可以复制下载代码在项目中进行下载

在这里插入图片描述
将下载好的数据解压到YOLOV5的项目里(本地使用的话推荐直接下载到电脑)

在这里插入图片描述

3、修改配置文件

打开data.yaml配置文件,修改路径为自己的包名,
nc表示分类个数
name就是分类的名称
在这里插入图片描述

4、模型训练

train.py文件中,找到parse_opt解析命令行参数的方法,创建一个自定义的默认参数字典,并修改对应位置的参数(首次测试运行的话,建议将epochs的默认值改为50)

注意:这个weights参数对应的文件是会自动下载的,所以直接修改参数值即可(包括yolov5s,yolov5m, yolov5l, yolov5x,具体差距看下文中“如何提高精度”的相关内容)
在这里插入图片描述

第一次运行,报了这个错,点进去这个文件,将这段代码注释掉
在这里插入图片描述

训练好后,会在runs/exp/weights下生成训练好的权重模型
在这里插入图片描述

注意:这个best.pt是你最重要的文件,该权重文件用于模型预测,所以,也可以在别的地方训练好(比如在kaggle,colab等网站训练好),下载好这个权重文件后在此项目也可继续运用(前提是分类项目的数据都一致)。

5、模型测试

打开detect.py文件,与train.py的修改类似,
在这里插入图片描述

修改完后,运行detect.py代码,查看运行结果,可以看到结果保存在什么地方

在这里插入图片描述

这里我用我的自拍照测试了以下,效果还不错
在这里插入图片描述

其他问题

如何提高精度?

  1. 提高训练轮次epochs

  2. 在生成数据集时,选择数据增强Data Augmentation

  3. 选用其他的权重模型的pt文件

    直接在train.py文件的解析参数的方法中修改文件名。
    在这里插入图片描述

    效果的话,可以参考这篇文章:https://zhuanlan.zhihu.com/p/399104828

    具体来说就是yolov5s< yolov5m< yolov5l< yolov5x,所含的残差结构的个数依次增多,网络的特征提取、融合能力不断加强,检测精度得到提高,但相应的时间和资源花费也在增加。

关于为什么detect文件运行后,预测结果没有框框出的问题

提高自己的训练轮次,因为权重模型训练的效果不好或者是过拟合了,或者是首先模型训练的效果不好而且之前在detect文件里设置置信度太高了,建议刚开始训练的置信度调低,跑通以后调优的时候再提高这个置信度
在这里插入图片描述

  • 5
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

无心同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值