@@ -21,9 +21,10 @@ SSD使用一个卷积神经网络实现“端到端”的检测,所谓“端
2121
2222## 示例总览
2323本示例共包含如下文件:
24- <center >
25- 表1. 示例文件
2624
25+ <p align =" center " > 表1. 示例文件 </p >
26+
27+ <center >
2728文件 | 用途
2829---- | -----
2930train.py | 训练脚本
@@ -35,7 +36,6 @@ data_provider.py | 数据处理脚本,生成训练、评估或检测所需数
3536config/pascal\_ voc\_ conf.py | 神经网络超参数配置文件
3637data/label\_ list | 类别列表
3738data/prepare\_ voc\_ data.py | 准备训练PASCAL VOC数据列表
38-
3939</center >
4040
4141
@@ -95,15 +95,14 @@ train(train_file_list='./data/trainval.txt',
9595主要包括:
9696
97971 . 调用``` paddle.init ``` 指定使用4卡GPU训练。
98- 2 . 调用``` data_provider.Settings ``` 配置数据预处理所需参数,其中``` cfg.IMG_HEIGHT ``` 和``` cfg.IMG_WIDTH ``` 在配置文件``` config/vgg_config.py ``` 中设置,这里均为300,300x300是一个典型配置,兼顾效率和检测精度,也可以通过修改配置文件扩展到500x500 。
98+ 2 . 调用``` data_provider.Settings ``` 配置数据预处理所需参数,其中``` cfg.IMG_HEIGHT ``` 和``` cfg.IMG_WIDTH ``` 在配置文件``` config/vgg_config.py ``` 中设置,这里均为300,300x300是一个典型配置,兼顾效率和检测精度,也可以通过修改配置文件扩展到512x512 。
99993 . 调用``` train ``` 执行训练,其中``` train_file_list ``` 指定训练数据列表,``` dev_file_list ``` 指定评估数据列表,``` init_model_path ``` 指定预训练模型位置。
100- 4 . 训练过程中会打印一些日志信息,每训练10个batch会输出当前的轮数 、当前batch的cost及mAP(mean Average Precision,平均精度均值),每训练一个pass,会保存一次模型,默认保存在``` checkpoints ``` 目录下(注:需事先创建)。
100+ 4 . 训练过程中会打印一些日志信息,每训练1个batch会输出当前的轮数 、当前batch的cost及mAP(mean Average Precision,平均精度均值),每训练一个pass,会保存一次模型,默认保存在``` checkpoints ``` 目录下(注:需事先创建)。
101101
102102下面给出SDD300x300在VOC数据集(train包括07+12,test为07)上的mAP曲线,迭代140轮mAP可达到71.52%。
103103
104104<p align =" center " >
105105<img src =" images/SSD300x300_map.png " hspace =' 10 ' /> <br />
106-
107106图2. SSD300x300 mAP收敛曲线
108107</p >
109108
@@ -128,7 +127,7 @@ eval(
128127 model_path = ' models/pass-00000.tar.gz' )
129128```
130129
131- 调用``` paddle.init ``` 指定使用4卡GPU评估;``` data_provider.Settings ``` 参见训练阶段的配置;调用``` eval ``` 执行评估,其中``` eval_file_list ``` 指定训练数据列表 ,``` batch_size ``` 指定评估时batch size的大小,``` model_path ``` 指定模型位置。评估结束会输出``` loss ``` 信息和``` mAP ``` 信息。
130+ 调用``` paddle.init ``` 指定使用4卡GPU评估;``` data_provider.Settings ``` 参见训练阶段的配置;调用``` eval ``` 执行评估,其中``` eval_file_list ``` 指定评估数据列表 ,``` batch_size ``` 指定评估时batch size的大小,``` model_path ``` 指定模型位置。评估结束会输出``` loss ``` 信息和``` mAP ``` 信息。
132131
133132### 图像检测
134133执行``` python infer.py ``` 即可使用训练好的模型对图片实施检测,``` infer.py ``` 关键逻辑如下:
@@ -154,15 +153,14 @@ VOCdevkit/VOC2007/JPEGImages/006936.jpg 14 0.372522 187.543615699 133.727034628
154153
155154一共包含4个字段,以tab分割,第一个字段是检测图像路径,第二字段为检测矩形框内类别,第三个字段是置信度,第四个字段是4个坐标值(以空格分割)。
156155
157- 示例还提供了一个可视化脚本,直接运行``` python visual.py ``` 即可,须指定输出检测结果路径及输出目录,默认可视化后图像保存在``` ./visual_res ``` ,下面是用训练好的模型infer部分图像,并可视化的效果 :
156+ 示例还提供了一个可视化脚本,直接运行``` python visual.py ``` 即可,须指定输出检测结果路径及输出目录,默认可视化后图像保存在``` ./visual_res ``` ,下面是用训练好的模型infer部分图像并可视化的效果 :
158157
159158<p align =" center " >
160159<img src =" images/vis_1.jpg " height =150 width =200 hspace =' 10 ' />
161160<img src =" images/vis_2.jpg " height =150 width =200 hspace =' 10 ' />
162161<img src =" images/vis_3.jpg " height =150 width =100 hspace =' 10 ' />
163162<img src =" images/vis_4.jpg " height =150 width =200 hspace =' 10 ' /> <br />
164-
165- 图2. SSD300x300 检测可视化示例
163+ 图3. SSD300x300 检测可视化示例
166164</p >
167165
168166
0 commit comments