【庖丁解牛】从零实现RetinaNet(终):不同分辨率下RetinaNet的性能表现

文章目录

所有代码已上传到本人github repository:https://github.com/zgcr/pytorch-ImageNet-CIFAR-COCO-VOC-training
如果觉得有用,请点个star哟!
代码均在pytorch1.4版本中测试过,确认正确无误。

之前有同学提出从零实现RetinaNet(二)中与原论文点数对标的换算方式不太合理,应该按照最终输入网络的图片大小来换算对标分辨率,因为只要最终输入的网络图片大小一样,那么计算量(这里指FLOPS)就完全一样。如果按照这种换算方式,那么我的resize方法与RetinaNet原始resize方法对标分辨率如下:

retinanet_resize=400,my_resize=667
retinanet_resize=500,my_resize=833
retinanet_resize=600,my_resize=1000
retinanet_resize=700,my_resize=1166
retinanet_resize=800,my_resize=1333

根据新的分辨率对标,我使用my_resize=667和1000在COCO数据集上分别训练了不同分辨率下的RetinaNet。除了下表列出的超参数外,模型的其他超参数设置与从零实现RetinaNet(七)中ResNet50-RetinaNet-aug-iscrowd的参数设置完全一样。
模型表现如下:

Network batch gpu-num apex syncbn epoch5-mAP-loss epoch5-mAP-loss epoch12-mAP-loss
ResNet50-RetinaNet-myresize667 24 2 yes no 0.264,0.61 0.298,0.51 0.302,0.49
ResNet101-RetinaNet-myresize667 24 2 yes no 0.269,0.61 0.293,0.51 0.298,0.49
ResNet50-RetinaNet-myresize1000 16 4 yes no
ResNet101-RetinaNet-myresize1000 16 4 yes no

可以看到如果采用这种方式对标,我实现的RetinaNet和论文中的点数基本一致,在论文中resize=400的情况下只比论文报告点数(0.305)低了0.3个百分点。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章