目录
1. 数据集角度
- 每个类拥有的图像个数大于1500张。
- 每个类拥有大于10000个实例。
- 图像要在一天内的不同时间,不同季节,不同天气,不同光照条件,不同角度,不同设备获取。
- 图像中的所有实例必须都被标注(这一点后来自己对比训练结果才意识到,训练图像宁缺毋滥,如果有大量图像中的实例没有标注,这些区域会被认为是背景,干扰训练精度)。
- 标注的准确性,boundingbox要紧紧包裹住物体。
- 通过yolo训练时候自带的train_batch*.jpg图像,查看是否有标注错误(有一次始终无法训练出好的结果,发现是网上搜的标注格式转化代码存在问题,标注都出现了错误)。
- 在训练集中加入一些没有实例的背景图像,即不存在目标的图像,这样有助于降低FP(False Positive)。(这个以前没听说过)。
注:下面给出了COCO数据集和PASCAL VOC数据集每个类拥有的标注实例个数,可以发现每个类是比较平均的。
2. 模型角度
- 使用较大的模型,效果大概率会更好,但参数量会增加,在coco数据集上表明,模型精度的增加量和体积的增加量不是成线性关系,因此要选择合适的模型。
注:下图为不同大小模型的mAP值。
- 对于中小型的数据集,推荐使用预训练权重,效果会更好。对于大型数据,推荐从头开始训练。
3. 训练超参数设置
- 首先按照默认的训练参数进行训练,建立一个baseline,用于对比。
- epoch默认为300,如果验证集上指标上不去或者更差了,及时停止训练。
- 有小目标存在时,应该尽量选择大的分辨率
- 合理选择batchsize,过小不能反应分布规律,过大损失不容易下降
- 超参数,建议选择默认
4. 其余
待更新...........................