Skip to content

Commit ec67409

Browse files
authored
Update README.md
1 parent d51a6bc commit ec67409

File tree

1 file changed

+53
-11
lines changed

1 file changed

+53
-11
lines changed

README.md

Lines changed: 53 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,16 @@
22
---
33

44
### 目录
5-
1. [所需环境 Environment](#所需环境)
6-
2. [注意事项 Attention](#注意事项)
7-
3. [小技巧的设置 TricksSet](#小技巧的设置)
8-
4. [文件下载 Download](#文件下载))
9-
5. [训练步骤 How2train](#训练步骤)
10-
6. [参考资料 Reference](#Reference)
11-
12-
### YOLOV4的改进
5+
1. [实现的内容 Achievement](#实现的内容)
6+
2. [所需环境 Environment](#所需环境)
7+
3. [注意事项 Attention](#注意事项)
8+
4. [小技巧的设置 TricksSet](#小技巧的设置)
9+
5. [文件下载 Download](#文件下载)
10+
6. [预测步骤 How2predict](#预测步骤)
11+
7. [训练步骤 How2train](#训练步骤)
12+
8. [参考资料 Reference](#Reference)
13+
14+
### 实现的内容
1315
- [x] 主干特征提取网络:DarkNet53 => CSPDarkNet53
1416
- [x] 特征金字塔:SPP,PAN
1517
- [x] 训练用到的小技巧:Mosaic数据增强、Label Smoothing平滑、CIOU、学习率余弦退火衰减
@@ -21,6 +23,8 @@ torch==1.2.0
2123

2224
### 注意事项
2325
代码中的yolo4_weights.pth是基于608x608的图片训练的,但是由于显存原因。我将代码中的图片大小修改成了416x416。有需要的可以修改回来。 代码中的默认anchors是基于608x608的图片的。
26+
**注意不要使用中文标签,文件夹中不要有空格!**
27+
**在训练前需要务必在model_data下新建一个txt文档,文档中输入需要分的类,在train.py中将classes_path指向该文件**
2428

2529
### 小技巧的设置
2630
在train.py文件下:
@@ -34,17 +38,55 @@ torch==1.2.0
3438
yolo4_weights.pth是coco数据集的权重。
3539
yolo4_voc_weights.pth是voc数据集的权重。
3640

41+
### 预测步骤
42+
#### 1、使用预训练权重
43+
a、下载完库后解压,在百度网盘下载yolo4_weights.pth或者yolo4_voc_weights.pth,放入model_data,运行predict.py,输入
44+
```python
45+
img/street.jpg
46+
```
47+
可完成预测。
48+
b、利用video.py可进行摄像头检测。
49+
#### 2、使用自己训练的权重
50+
a、按照训练步骤训练。
51+
b、在yolo.py文件里面,在如下部分修改model_path和classes_path使其对应训练好的文件;**model_path对应logs文件夹下面的权值文件,classes_path是model_path对应分的类**
52+
```python
53+
_defaults = {
54+
"model_path": 'model_data/yolo4_weights.pth',
55+
"anchors_path": 'model_data/yolo_anchors.txt',
56+
"classes_path": 'model_data/coco_classes.txt',
57+
"model_image_size" : (416, 416, 3),
58+
"confidence": 0.5,
59+
"cuda": True
60+
}
61+
62+
```
63+
c、运行predict.py,输入
64+
```python
65+
img/street.jpg
66+
```
67+
可完成预测。
68+
d、利用video.py可进行摄像头检测。
69+
3770
### 训练步骤
3871
1、本文使用VOC格式进行训练。
3972
2、训练前将标签文件放在VOCdevkit文件夹下的VOC2007文件夹下的Annotation中。
4073
3、训练前将图片文件放在VOCdevkit文件夹下的VOC2007文件夹下的JPEGImages中。
4174
4、在训练前利用voc2yolo4.py文件生成对应的txt。
42-
5、再运行根目录下的voc_annotation.py,运行前需要将classes改成你自己的classes。
75+
5、再运行根目录下的voc_annotation.py,运行前需要将classes改成你自己的classes。**注意不要使用中文标签,文件夹中不要有空格!**
4376
```python
4477
classes = ["aeroplane", "bicycle", "bird", "boat", "bottle", "bus", "car", "cat", "chair", "cow", "diningtable", "dog", "horse", "motorbike", "person", "pottedplant", "sheep", "sofa", "train", "tvmonitor"]
4578
```
46-
6、就会生成对应的2007_train.txt,每一行对应其图片位置及其真实框的位置。
47-
7、在训练前需要修改model_data里面的voc_classes.txt文件,需要将classes改成你自己的classes。
79+
6、此时会生成对应的2007_train.txt,每一行对应其**图片位置**及其**真实框的位置**
80+
7、**在训练前需要务必在model_data下新建一个txt文档,文档中输入需要分的类,在train.py中将classes_path指向该文件**,示例如下:
81+
```python
82+
classes_path = 'model_data/new_classes.txt'
83+
```
84+
model_data/new_classes.txt文件内容为:
85+
```python
86+
cat
87+
dog
88+
...
89+
```
4890
8、运行train.py即可开始训练。
4991

5092
### mAP目标检测精度计算更新

0 commit comments

Comments
 (0)