这个YOLOv1项目是配合我在知乎专栏上连载的《YOLO入门教程》而创建的:
https://zhuanlan.zhihu.com/c_1364967262269693952
感兴趣的小伙伴可以配合着上面的专栏来一起学习,入门目标检测。
另外,这个项目在小batch size 的情况,如batch size=8,可能会出现nan的问题,经过其他伙伴的调试, 在batch size=8时,可以把学习率lr跳到2e-4,兴许就可以稳定炼丹啦! 我自己训练的时候,batch size 设置为16或32,比较大,所以训练稳定。
当然,这里也诚挚推荐我的另一个YOLO项目,训练更加稳定,性能更好呦
https://github.com/yjh0410/PyTorch_YOLO-Family
- 我们建议使用anaconda来创建虚拟环境:
conda create -n yolo python=3.6
- 然后,激活虚拟环境:
conda activate yolo
- 配置环境: 运行下方的命令即可一键配置相关的深度学习环境:
pip install -r requirements.txt
- Backbone: ResNet-18
- Neck: SPP
- 多尺度训练 (multi-scale)
读者可以从下面的百度网盘链接来下载VOC2007和VOC2012数据集
链接:https://pan.baidu.com/s/1qClcQXSXjP8FEnsP_RrZjg
提取码:zrcj
读者会获得 VOCdevkit.zip
压缩包, 分别包含 VOCdevkit/VOC2007
和 VOCdevkit/VOC2012
两个文件夹,分别是VOC2007数据集和VOC2012数据集.
VOC2007 test 测试集
Model | Input size | mAP | Weight |
---|---|---|---|
YOLOv1 | 320×320 | 64.6 | - |
YOLOv1 | 416×416 | 69.6 | - |
YOLOv1 | 512×512 | 72.2 | - |
YOLOv1 | 608×608 | 73.3 | github |
大家可以点击表格中的github来下载模型权重文件。
运行下方的命令可开始在VOC
数据集上进行训练:
python train.py \
--cuda \
-d voc \
-ms \
--batch_size 32 \
--lr 0.001 \
--max_epoch 150 \
--lr_epoch 90 120 \
运行下方的命令可开始在VOC
数据集上进行训练:
python test.py \
--cuda \
-d voc \
-size 416 \
--weight path/to/weight \
运行下方的命令可开始在VOC
数据集上进行训练:
python eval.py \
--cuda \
-d voc \
-size 416 \
--weight path/to/weight \