Skip to content

Latest commit

 

History

History

Yolov1_pytorch

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  • 环境:

    python版本 pytorch版本
    3.5 0.3.0
  • 说明:

    1、基本实现参考: pytorchYOLOv1master

    2、仅重构代码,并未提升效果

    3、 测试时,在VOC2012训练集上loss为0.1左右,在VOC2007测试集上loss基本降低 很少。怀疑过拟合。

    4、运行main.py请确保启动可视化工具visdom

  • 当前工作:

    1、训练完,可视化测试图像和loss等

    2、将训练好的模型放到这里

    3、准备添加注释,以便理解

    4、尝试优化网络模型,提高mAP

  • 改进方向:

    1、更改学习率

    2、调整网络结构(参考版本为vgg16,试试残差)

    3、更改优化器从SGD到Adam

  • 下载网络模型:

    1、在VOC2007测试集上验证的效果最好的一个网络模型(百度网盘

    2、保存的最后一个网络模型 (百度网盘

  • 效果:

    验证集:voc2012训练集

    模型:在VOC2007测试集上验证的效果最好的一个网络模型

图片说明

loss趋势

epoch VOC2007测试集的loss
0 5.806424896178707
1 5.855176733386132
2 5.9203009036279495
... ...
118 5.187265388427242
119 5.190768877152474
图片说明

注:蓝线为在VOC2012训练集上的loss,黄线为 VOC2007测试集的loss

网络表现

  • 最后保存的模型 在VOC2007验证集的表现
图片说明图片说明
图片说明图片说明
图片说明图片说明
  • 最后保存的模型 在VOC2012训练集的表现(可能过拟合,在训练集表现优秀)
图片说明图片说明
图片说明 图片说明
图片说明图片说明

以下为本人新增内容

  • 新增内容:

    新增Resnet152网络来替换原作者的VGG16。(代码包括main_resnet.py 、models/resnet.py )

  • 实现细节:

    仅仅将Resnet152网络的最后一层全连接层的输出改为1470,再改变形状为7x7x30。

  • 效果:

    极其不好,猜测原因为Resnet152网络是用来分类,将其直接用于回归导致效果不好。

  • loss图:

Resnet152+Ada优化器 Resnet152+SGD优化器
见左下 见右下
图片说明图片说明
  • 优化建议:

    1、使用Resnet50,网络最后处理参考原文VGG16处理试试

    2、Resnet50去掉最后一层,加入类似VGG16的两层全连接层+Drop等 。loss仍降不下去,该项目以后不再提供提升效果的内容。

  • 特别鸣谢:

    xiongzihua:原作者

    朱辉师兄:抽空帮我理清思路,讲清代码