yolov2训练_PyTorch实现Yolov2&Yolov3的总结

终于用PyTorch在pascal voc上面比较完整地复现了Yolov2和Yolov3。

一个月前实现了Yolov2,效果比当时基于PyTorch实现的最佳高2.35%(在416x416的输入尺寸下,当时的最佳实现mAP为73.05%,我实现的为75.4%)。后来就一直在实现Yolov3,折腾了一个月,Yolov3的效果基本对齐了darknet版本的Yolov3效果。


github上面基于PyTorch实现得较好的Yolov3有如下repo:

ayooshkathuria/pytorch-yolo-v3:1124 star,不支持训练;

eriklindernoren/PyTorch-YOLOv3:807 star,"Data augmentation as well as additional training tricks remains to be implemented";

BobLiu20/YOLOv3:269 star,支持训练,但是没说训练后的效果,稍微看了一下,yololoss实现有问题,训练效果应该不会好;

andy-yun/pytorch-0.4-yolov3:191 star,支持训练,没说训练后的效果。

以上repo要么不能训练,要么没说训练后的效果。


实现Yolov2和Yolov3的过程对于理解目标检测很有帮助,基本上把目标检测pipeline上的每一个细节都过了一遍。为了提高到darknet的效果,需要不断地看darknet的实现,然后一个一个跟PyTorch里面的实现对齐。

在实现的过程还看了几遍GluonCV实现的Yolov3,GluonCV实现的Yolov3相比darknet实现的Yolov3多了一些trick,比如mixup、label smoothing等等,这些trick是“超越经典”的关键。


实现代码如下:

https://github.com/Tencent/ObjectDetection-OneStageDet​github.com
yolov2训练_PyTorch实现Yolov2&Yolov3的总结_第1张图片

你可能感兴趣的:(yolov2训练,yolov2论文,yolov3损失函数,yolov3网络结构)