- 在
.cfg
文件中设置random=1
,它会通过对不同分辨率的图片进行训练以提高精度; - 使用高分辨率的图像输入。在
.cfg
文件中设置height
和width
值。但是你无需重头训练,只需使用回416x416
分辨率的权重数据就好了; - 检查数据集标注是否正确符合规范;
- 检查训练数据集数据量是否过少;
- 迭代次数推荐不低于
2000 * classes;
- 你的训练样本希望包含没有目标物体的图像,即该图像中没有出现目标物体,标签文件是空的文本;
- 如果图片里有很多数量的目标物体,那么在
.cfg
文件中最后的[yolo]
层或[region]
层中添加参数max=200
,这也可以设定成更高的值; - 如果目标物体很小(缩放成
416x416
尺寸后小于16x16
),那么将第720行设置为layers = -1, 11
,将第717行设置为stride=4
- 如果你的模型需要区分左右手性,例如区分左手和右手、左转和右转,那么需要关闭翻转数据增强选项,即添加
flip=0
到这里 - 如果想要模型具有尺度的鲁棒性,则必须训练样本中包含多尺度的照片。这是因为
YOLO
不具有尺度变化的适应性; - 要想加速模型的训练(但会降低预测精度)应该使用
Fine-Tuning
而不是Transfer-Learning
,需要在这里设置参数stopbackward=1
,然后运行./darknet partial cfg/yolov3.cfg yolov3.weights yolov3.conv.81 81
,这会创建文件yolov3.conv.81
,然后使用该文件yolov3.conv.81
训练; - 复杂物体应该使用复杂的神经网络来训练;
- 你可以修改
anchors
的大小; - 有其他经验留言可补充,一起进步;
- 或者关注留言,我看到会一一回复,大家一起努力学习~
yolov3提高精度策略
最新推荐文章于 2024-10-10 19:18:31 发布