精度低的主要问题是数据集标注策略有问题,比如stain类标注的特征不一样,有的是一张贴纸,有的是正常的白色或黄色污点,这些污点又与某些洞的特征差不多,因为特征不同又属于同一类导致的精度低。还有sand per,由于砂轮片是圆形,以及分布不均,所以需要一个个小框相邻覆盖。还有repeat net这个肉眼都得判断一会儿,特征不明显而且分布不均,和sand标注策略一样。总的来说有的可以多分几类,但sand和repeat不知道咋办了。另外,第一次实验原始数据集没有分类和数据增强,只有625张图片,跑400轮mAP50才0.22;第二次数据增强9倍到5000多张,精度到0.44;第三次去掉不带网的图片剩300多张,重新标注后train增强15倍,但val和test没增强,精度还是不高。建议重新分类标注,统一特征明显的样本,多类分开,train多增强,检查类别平衡。
第一次实验直接用原始数据
第一次使用n大小模型400轮,原始数据集没有经过分类和数据增强,625张图片跑完精度(map50)0.22。图片太少,没分类,没增强,模型学不到东西,精度自然低。
第二次加了数据增强但没分类
第二次使用n大小模型400轮,数据集未分类,按照第一次的数据集train,val,test都进行了数据增强9倍,5000多张跑完精度0.44。增强了但没分类,杂乱数据让模型困惑,精度只翻倍。
第三次分类标注后还是低
第三次使用n大小模型400轮,先去掉了不带网的图片剩余300多张,然后重新对一些图片进行了标注,标注完之后分类,保证train,val,test10类都有,然后对train进行数据增强15倍,val和test不管。问题是标注策略:stain类特征不统一,有的贴纸有的污点还像洞;sand per圆形分布不均要小框覆盖;repeat net特征弱分布不均肉眼难判。建议多分几类试试。
第四次实验细节
今天继续进行砂轮片检测实验。严格来说,目前进行了四次完整的实验。去掉不带网的图片后,重新标注,但不确定标注对不对,总感觉sand和repeat net处理不了。
FAQ
Q: 数据增强多少倍合适?
A: train增强9-15倍常见,val和test别增强,保持真实分布。
Q: 类别特征不明显怎么标注?
A: 试着多分几类,或找更多明显样本训练,肉眼难判的类别可能需要调整。
Q: 图片数量少怎么办?
A: 先增强到几千张,但必须分类好,不然白增强。
Q: mAP50从0.22到0.44还低吗?
A: 对于自定义砂轮片数据集,低,因为标注乱和类别难分,继续优化能上0.6+。