Skip to content

Commit

Permalink
upload yolov3spp graph
Browse files Browse the repository at this point in the history
  • Loading branch information
wz authored and wz committed Oct 29, 2020
1 parent 1b418d3 commit 72af8c2
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 14 deletions.
31 changes: 17 additions & 14 deletions pytorch_object_detection/yolov3_spp/README.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
# YOLOv3 SPP
## 该项目源自[ultralytics/yolov3](https://github.com/ultralytics/yolov3)
## 环境配置:
## 1 环境配置:
* Python3.6或者3.7
* Pytorch1.6(注意:必须是1.6.0或以上,因为使用官方提供的混合精度训练1.6.0后才支持)
* pycocotools(Linux: ```pip install pycocotools```;
Windows: ```pip install pycocotools-windows```(不需要额外安装vs))
* 更多环境配置信息,请查看```requirements.txt```文件
* 最好使用GPU训练

## 文件结构:
## 2 文件结构:
```
├── cfg: 配置文件目录
│ ├── hyp.yaml: 训练网络的相关超参数
Expand Down Expand Up @@ -38,7 +38,7 @@
└── predict_test.py: 简易的预测脚本,使用训练好的权重进行预测测试
```

## 训练数据的准备以及目录结构
## 3 训练数据的准备以及目录结构
* 这里建议标注数据时直接生成yolo格式的标签文件```.txt```,推荐使用免费开源的标注软件(支持yolo格式),[https://github.com/tzutalin/labelImg](https://github.com/tzutalin/labelImg)
* 如果之前已经标注成pascal voc的```.xml```格式了也没关系,我写了个voc转yolo格式的转化脚本,下面会讲怎么使用
* 将自己数据集中的图像大小缩放到与coco数据集一致(图像预处理算法决定的)
Expand All @@ -54,7 +54,7 @@
│ └── labels 验证集标签目录
```

## 利用标注好的数据集生成一系列相关准备文件,为了方便我写了个脚本,通过脚本可直接生成。也可参考原作者的[教程](https://github.com/ultralytics/yolov3/wiki/Train-Custom-Data)
## 4 利用标注好的数据集生成一系列相关准备文件,为了方便我写了个脚本,通过脚本可直接生成。也可参考原作者的[教程](https://github.com/ultralytics/yolov3/wiki/Train-Custom-Data)
```
├── data 利用数据集生成的一系列相关准备文件目录
│ ├── my_train_data.txt: 该文件里存储的是所有训练图片的路径地址
Expand All @@ -63,7 +63,7 @@
│ └── my_data.data: 该文件里记录的是类别数类别信息、train以及valid对应的txt文件
```

### 将VOC标注数据转为YOLO标注数据(如果你的数据已经是YOLO格式了,可跳过该步骤)
### 4.1 将VOC标注数据转为YOLO标注数据(如果你的数据已经是YOLO格式了,可跳过该步骤)
* 使用```trans_voc2yolo.py```脚本进行转换,并在```./data/```文件夹下生成```my_data_label.names```标签文件,
* 执行脚本前,需要根据自己的路径修改以下参数
```python
Expand Down Expand Up @@ -92,7 +92,7 @@ bus
...
```

### 根据摆放好的数据集信息生成一系列相关准备文件
### 4.2 根据摆放好的数据集信息生成一系列相关准备文件
* 使用```calculate_dataset.py```脚本生成```my_train_data.txt```文件、```my_val_data.txt```文件以及```my_data.data```文件,并生成新的```my_yolov3.cfg```文件
* 执行脚本前,需要根据自己的路径修改以下参数
```python
Expand All @@ -106,18 +106,18 @@ classes_label = "./data/my_data_label.names"
cfg_path = "./cfg/yolov3-spp.cfg"
```

## 预训练权重下载地址(下载后放入weights文件夹中):
* yolov3-spp-ultralytics-416.pt: 链接: https://pan.baidu.com/s/1cK3USHKxDx-d5dONij52lA 密码: r3vm
* yolov3-spp-ultralytics-512.pt: 链接: https://pan.baidu.com/s/1k5yeTZZNv8Xqf0uBXnUK-g 密码: e3k1
* yolov3-spp-ultralytics-608.pt: 链接: https://pan.baidu.com/s/1GI8BA0wxeWMC0cjrC01G7Q 密码: ma3t
* yolov3spp-voc-512.pth **(这是我在视频演示训练中得到的权重)**: 链接: https://pan.baidu.com/s/1fzXPFYvPy95Q9f5IR5Voqg 密码: ct2n
## 5 预训练权重下载地址(下载后放入weights文件夹中):
* ```yolov3-spp-ultralytics-416.pt```: 链接: https://pan.baidu.com/s/1cK3USHKxDx-d5dONij52lA 密码: r3vm
* ```yolov3-spp-ultralytics-512.pt```: 链接: https://pan.baidu.com/s/1k5yeTZZNv8Xqf0uBXnUK-g 密码: e3k1
* ```yolov3-spp-ultralytics-608.pt```: 链接: https://pan.baidu.com/s/1GI8BA0wxeWMC0cjrC01G7Q 密码: ma3t
* ```yolov3spp-voc-512.pth``` **(这是我在视频演示训练中得到的权重)**: 链接: https://pan.baidu.com/s/1fzXPFYvPy95Q9f5IR5Voqg 密码: ct2n


## 数据集,本例程使用的是PASCAL VOC2012数据集
* Pascal VOC2012 train/val数据集下载地址:http://host.robots.ox.ac.uk/pascal/VOC/voc2012/VOCtrainval_11-May-2012.tar
## 6 数据集,本例程使用的是PASCAL VOC2012数据集
* ```Pascal VOC2012``` train/val数据集下载地址:http://host.robots.ox.ac.uk/pascal/VOC/voc2012/VOCtrainval_11-May-2012.tar
* 如果不了解数据集或者想使用自己的数据集进行训练,请参考我的bilibili:https://b23.tv/F1kSCK

## 使用方法
## 7 使用方法
* 确保提前准备好数据集
* 确保提前下载好对应预训练模型权重
* 若要使用单GPU训练或者使用CPU训练,直接使用train.py训练脚本
Expand All @@ -127,3 +127,6 @@ cfg_path = "./cfg/yolov3-spp.cfg"
[https://www.bilibili.com/video/BV1yi4y1g7ro?p=3](https://www.bilibili.com/video/BV1yi4y1g7ro?p=3)

## 进一步了解该项目,以及对YOLOv3 SPP代码的分析可参考我的bilibili

## YOLOv3 SPP框架图
![yolov3spp](https://github.com/WZMIAOMIAO/deep-learning-for-image-processing/raw/master/pytorch_object_detection/yolov3_spp/yolov3spp.png)
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 72af8c2

Please sign in to comment.