本人最近用yolov5进行人脸口罩识别遭遇了不少问题,也被模型训练时P,R,map较低这个问题困扰了好久,先来看下运行的测试效果
标签:
预测给出的标签:
可以看到这里的识别率还是挺高的,但有谁能想到我的模型在前一天晚上还是这样的
置信度0.11,还只识别出来一个口罩55555
为了提高模型的精确度,召回率,map等等
1.首先模型需要一个庞大的数据集支撑(这很重要),每个类别的图像都要大于1000张,且最好在不同背景下都有涉及,不然模型的泛化力会很弱,无法预测更换环境后的同一物体
2.其次标签制作一定要细心,并且一定要是一张图像中的全部标签,漏选或者选错标签都会对模型造成较大的影响
3.对于数据集较少的训练模型,batch_size设的小一点会更好,此时模型对于多张图片的整体分析来减少训练时间(本来就很少了)已经不再重要,模型更应该注重每张图片的特征,本人只制作总体不到100份数据集,于是乎batch_size 就变成了1,事实证明模型的训练效果会变好
最后附上血泪教训得证,数据集大小真的很重要!