|
1 | | -## Faster-Rcnn:Two-Stage目标检测模型在Keras当中的实现 |
| 1 | +## Faster-Rcnn:Two-Stage目标检测模型在Tensorflow2当中的实现 |
2 | 2 | --- |
3 | 3 |
|
4 | 4 | ### 目录 |
5 | | -1. [所需环境 Environment](#所需环境) |
6 | | -2. [文件下载 Download](#文件下载) |
7 | | -3. [训练步骤 How2train](#训练步骤) |
8 | | -4. [参考资料 Reference](#Reference) |
| 5 | +1. [性能情况 Performance](#性能情况) |
| 6 | +2. [所需环境 Environment](#所需环境) |
| 7 | +3. [文件下载 Download](#文件下载) |
| 8 | +4. [预测步骤 How2predict](#预测步骤) |
| 9 | +5. [训练步骤 How2train](#训练步骤) |
| 10 | +6. [参考资料 Reference](#Reference) |
| 11 | + |
| 12 | +### 性能情况 |
| 13 | +| 训练数据集 | 权值文件名称 | 测试数据集 | 输入图片大小 | mAP 0.5:0.95 | mAP 0.5 | |
| 14 | +| :-----: | :-----: | :------: | :------: | :------: | :-----: | |
| 15 | +| VOC07+12 | [voc_weights.h5](https://github.com/bubbliiiing/faster-rcnn-tf2/releases/download/v1.0/voc_weights.h5) | VOC-Test07 | - | - | 78.0 |
9 | 16 |
|
10 | 17 | ### 所需环境 |
11 | 18 | tensorflow-gpu==1.13.1 |
12 | 19 | keras==2.1.5 |
13 | 20 |
|
14 | 21 | ### 文件下载 |
15 | 22 | 训练所需的voc_weights.h5可以去百度网盘下载 |
16 | | -链接: https://pan.baidu.com/s/1xDRhw0U4dWfy_2rceH-YnA 提取码: cm3q |
| 23 | +链接: https://pan.baidu.com/s/1DzE6UwF4umzx5KUA3ABSxw 提取码: 92e8 |
| 24 | + |
| 25 | +### 预测步骤 |
| 26 | +#### 1、使用预训练权重 |
| 27 | +a、下载完库后解压,在百度网盘下载voc_weights.h5,放入model_data,运行predict.py,输入 |
| 28 | +```python |
| 29 | +img/street.jpg |
| 30 | +``` |
| 31 | +可完成预测。 |
| 32 | +b、利用video.py可进行摄像头检测。 |
| 33 | +#### 2、使用自己训练的权重 |
| 34 | +a、按照训练步骤训练。 |
| 35 | +b、在frcnn.py文件里面,在如下部分修改model_path和classes_path使其对应训练好的文件;**model_path对应logs文件夹下面的权值文件,classes_path是model_path对应分的类**。 |
| 36 | +```python |
| 37 | +_defaults = { |
| 38 | + "model_path": 'model_data/voc_weights.h5', |
| 39 | + "classes_path": 'model_data/voc_classes.txt', |
| 40 | + "confidence": 0.5, |
| 41 | +} |
| 42 | +``` |
| 43 | +c、运行predict.py,输入 |
| 44 | +```python |
| 45 | +img/street.jpg |
| 46 | +``` |
| 47 | +可完成预测。 |
| 48 | +d、利用video.py可进行摄像头检测。 |
17 | 49 |
|
18 | 50 | ### 训练步骤 |
19 | 51 | 1、本文使用VOC格式进行训练。 |
20 | 52 | 2、训练前将标签文件放在VOCdevkit文件夹下的VOC2007文件夹下的Annotation中。 |
21 | 53 | 3、训练前将图片文件放在VOCdevkit文件夹下的VOC2007文件夹下的JPEGImages中。 |
22 | | -4、在训练前利用voc2faster-rcnn.py文件生成对应的txt。 |
23 | | -5、再运行根目录下的voc_annotation.py,运行前需要将classes改成你自己的classes。 |
| 54 | +4、在训练前利用voc2frcnn.py文件生成对应的txt。 |
| 55 | +5、再运行根目录下的voc_annotation.py,运行前需要将classes改成你自己的classes。**注意不要使用中文标签,文件夹中不要有空格!** |
24 | 56 | ```python |
25 | 57 | classes = ["aeroplane", "bicycle", "bird", "boat", "bottle", "bus", "car", "cat", "chair", "cow", "diningtable", "dog", "horse", "motorbike", "person", "pottedplant", "sheep", "sofa", "train", "tvmonitor"] |
26 | 58 | ``` |
27 | | -6、就会生成对应的2007_train.txt,每一行对应其图片位置及其真实框的位置。 |
28 | | -7、在训练前需要修改model_data里面的voc_classes.txt文件,需要将classes改成你自己的classes。 |
29 | | -8、运行train.py即可开始训练。 |
| 59 | +6、此时会生成对应的2007_train.txt,每一行对应其**图片位置**及其**真实框的位置**。 |
| 60 | +7、**在训练前需要务必在model_data下新建一个txt文档,文档中输入需要分的类**,示例如下: |
| 61 | +model_data/new_classes.txt文件内容为: |
| 62 | +```python |
| 63 | +cat |
| 64 | +dog |
| 65 | +... |
| 66 | +``` |
| 67 | +8、将train.py的NUM_CLASSSES修改成所需要分的类的个数+1,运行train.py即可开始训练。 |
30 | 68 |
|
31 | 69 | ### mAP目标检测精度计算更新 |
32 | 70 | 更新了get_gt_txt.py、get_dr_txt.py和get_map.py文件。 |
|
0 commit comments