YOLOv1 代码实现

 代码:1、GitHub - lavendelion/YOLOv1-from-scratch: YOLOv1-from-scratch或者

             2、项目目录预览 - YOLOv1-from-scratch - GitCode(打开更快)

数据:The PASCAL Visual Object Classes Challenge 2012 (VOC2012) (ox.ac.uk)

选择第一个下载即可。

参考博客:动手学习深度学习pytorch版——从零开始实现YOLOv1_自己实现的yolov-CSDN博客

1、数据集介绍:

下载完成,解压VOC2012后有五个文件夹。

Annotations:保存的是xml文件,里面存放的是对应照片的标注信息。

ImageSets里面有四个文件夹:

保存的是txt文件。我们关注的是Main里面的train.txt和val.txt。

JPEGImages:保存的是对应的图片。

剩下两个跟分割有关,暂时不管。

2、操作步骤:

(1)、将下载好的VOC2012文件夹放到与程序在同一个目录下,并在VOC2012文件夹下面建一个空文件夹,命名为voc2012_forYolov1;

(2)、找到prepare_data.py,修改数据保存地址,将里面数据path全部改成实际的地址。

(3)、运行prepare_data.py程序

运行完后,在新建文件夹下就会生成一些图片和文件。

(4)执行train.py程序

设置参数:

batch_size=32,lr=1e-4。lr不能设置的太大,会出现loss=Nan的情况。

优化器设置为SGD,不能使用Adam。

如果执行时,提示预训练报错,把默认值设置为default=None就可以了。程序从头开始训练。

设置完成后就开始执行程序。

输出:

运行到50个epoch之后,loss基本不下降,维持到0.1左右。

(5) 执行test.py测试程序

执行前,先将my_arguments.py程序中权重加载进来,使用的就是在(4)里面保存的pkl文件。

报错:If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script in function 'cvShowImage'

解决办法:先卸载原来的opencv

pip uninstall opencv-python

然后重新安装。

pip install opencv-contrib-python

结果能显示,但是精度不高。

  • 8
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值