YOLOv3 迁移学习性能比官方权重差
YOLOv3 transfer learning performance is worse than its official weight
最近用迁移学习的方法训练yolov3
我使用以下命令来训练我的 yolov3 权重。
./darknet detector train cfg/coco.data cfg/yolov3.cfg darknet53.conv.74 -gpus 0,1,2,3 -map | tee -a yolov3-official-transfer-learning.log
将 500200 个批次权重提交给 CodaLab 以测试 COCO 数据集的性能后,
我得到以下结果:
AP: 0.321
AP_50: 0.541
AP_75: 0.339
AP_small: 0.143
AP_medium: 0.332
AP_large: 0.450
AR_max_1: 0.284
AR_max_10: 0.434
AR_max_100: 0.454
AR_small: 0.257
AR_medium: 0.473
AR_large: 0.617
对比CodaLab官方体重
AP: 0.315
AP_50: 0.560
AP_75: 0.324
AP_small: 0.153
AP_medium: 0.334
AP_large: 0.430
AR_max_1: 0.278
AR_max_10: 0.433
AR_max_100: 0.456
AR_small: 0.267
AR_medium: 0.484
AR_large: 0.610
可以很明显的看到官方权重中的AP_50比我自己训练的版本高了1.9%
顺便说一句,
[1] 我用 AlexeyAB/darknet, not pjreddie/darknet/ 训练了 YOLOv3.
[2] 我使用 COCO2014 作为我的训练数据集。
有人知道怎么解释这种情况吗?还是可以重现官方结果?
mAP在评价上更有说服力,也就是你问题中的AP指标
其实你的mAP(0.321)比官方verison(0.315)略高
AP_50只是IOU阈值设置为0.5时的AP,而mAP在IOU阈值设置为0.5:0.95:0.05(总共10个IOU)时分别考虑了多个AP。
您的 AP_50 较低。购买您可能会注意到您的 AP_75 更高。这就解释了为什么你的mAP比官方版本略高
您可以参考coco官网了解更多评价指标信息。
你用的是默认配置吗?如果是这样,您可能以比作者更低的分辨率 and/or 和更小的小批量训练,这意味着更多的随机训练 -> 更低的 AP。
训练 DNN 也有一定程度的 运行domness,我已经看到网络训练到具有相同配置的略有不同的 AP。 Yolov3 的作者 运行 可能进行了多次训练试验并选择了最好的结果进行发表,因此平均而言,完全模仿他们的训练可能会产生稍差的结果。
最近用迁移学习的方法训练yolov3
我使用以下命令来训练我的 yolov3 权重。
./darknet detector train cfg/coco.data cfg/yolov3.cfg darknet53.conv.74 -gpus 0,1,2,3 -map | tee -a yolov3-official-transfer-learning.log
将 500200 个批次权重提交给 CodaLab 以测试 COCO 数据集的性能后,
我得到以下结果:
AP: 0.321
AP_50: 0.541
AP_75: 0.339
AP_small: 0.143
AP_medium: 0.332
AP_large: 0.450
AR_max_1: 0.284
AR_max_10: 0.434
AR_max_100: 0.454
AR_small: 0.257
AR_medium: 0.473
AR_large: 0.617
对比CodaLab官方体重
AP: 0.315
AP_50: 0.560
AP_75: 0.324
AP_small: 0.153
AP_medium: 0.334
AP_large: 0.430
AR_max_1: 0.278
AR_max_10: 0.433
AR_max_100: 0.456
AR_small: 0.267
AR_medium: 0.484
AR_large: 0.610
可以很明显的看到官方权重中的AP_50比我自己训练的版本高了1.9%
顺便说一句,
[1] 我用 AlexeyAB/darknet, not pjreddie/darknet/ 训练了 YOLOv3.
[2] 我使用 COCO2014 作为我的训练数据集。
有人知道怎么解释这种情况吗?还是可以重现官方结果?
mAP在评价上更有说服力,也就是你问题中的AP指标
其实你的mAP(0.321)比官方verison(0.315)略高
AP_50只是IOU阈值设置为0.5时的AP,而mAP在IOU阈值设置为0.5:0.95:0.05(总共10个IOU)时分别考虑了多个AP。
您的 AP_50 较低。购买您可能会注意到您的 AP_75 更高。这就解释了为什么你的mAP比官方版本略高
您可以参考coco官网了解更多评价指标信息。
你用的是默认配置吗?如果是这样,您可能以比作者更低的分辨率 and/or 和更小的小批量训练,这意味着更多的随机训练 -> 更低的 AP。
训练 DNN 也有一定程度的 运行domness,我已经看到网络训练到具有相同配置的略有不同的 AP。 Yolov3 的作者 运行 可能进行了多次训练试验并选择了最好的结果进行发表,因此平均而言,完全模仿他们的训练可能会产生稍差的结果。