记录一次简单的模型训练分析过程

日出简约极简主义创意风景壁纸_彼岸壁纸.jpg

本篇是自己学习过程中的记录,使用的数据集比较小,主要是为了代码分析和简单的提点。代码分析的部分在之前的文章中已经总结了,本篇主要是结果分析和提升map的一些尝试,入门阶段,高手请绕行。

数据集

目标:口罩
标签:mask, no-mask
训练集:123个
验证集:46个
来源:https://app.roboflow.com/yolo-e1ffu/mask-lcllo/2
image.png
image.png
image.png

baseline模型训练

参数:
训练框架:yolov5
模型:yolov5s
显卡:4090
训练命令:

python train.py --data mask/data.yaml --weights yolov5s.pt --cfg models/yolov5s.yaml --epochs 100 --batch-size 24

image.png
image.png

结果分析:
分析训练的结果,首先看损失曲线。损失曲线都稳定下降,并最终处于一个水平的范围,损失函数、学习率等参数正常。然后看PR曲线,P曲线有点震荡,R曲线正常,随着训练次数逐渐上升。最后看map。mask的map为0.893属于正常,no-mask的map为0.175偏小。
从混淆矩阵来看,no-mask被识别成mask为0.25,这个指标有点偏高,no-mask被识别成background为0.1,也有点高,也就是漏检高。
confusion_matrix.png

思路:no-mask的map是主要问题,能够提高no-mask的map就能大幅提高整体map。
image.png
分析数据集发现no-mask标签的数据偏少,所以需要增加对应数据集。

第一次增加数据集

标注不带口罩的数据集18张,1:1分为训练集和验证集。
image.png

训练:
image.png
image.png
分析:
粉红色为本次训练,可以看到训练的效果相比较上一次较好。从map来看,从0.534提高到0.711。主要是no-mask类别的map从0.175提高到0.543。

第二次增加数据集

继续新增no-mask相关数据集,共17张。
image.png
image.png

训练:
image.png
image.png
分析:
混淆矩阵的变化,no-mask的正检升高,漏检都下降到0.07
confusion_matrix.png
将整体map从0.711增加到0.919,no-mask的数据集从0.543上升到0.939。

总结

记录map变换

训练记录map@0.5mask mapno-mask map
baseline0.5340.8930.175
1.00.7110.880.543
2.00.9190.90.939

增加数据集是提高map的一种重要方法,特别是在数据集较少的情况下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值