Skip to content

Commit 9e3b366

Browse files
committed
docs(ssd): 更新测试流程和使用示例
1 parent b8032d0 commit 9e3b366

File tree

10 files changed

+149
-3
lines changed

10 files changed

+149
-3
lines changed

docs/index.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,4 +30,7 @@
3030
* 训练日志
3131
* 测试
3232
* 测试流程
33-
* 测试日志
33+
* 测试日志
34+
* 使用
35+
* 使用示例
36+
* 使用日志

docs/ssd/demo_process.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
2+
# 使用示例
3+
4+
* `py/demo.py`
5+
6+
使用示例和测试示例很相似,惟一区别在于其完成测试流程后进一步使用分类概率过滤,默认设置过滤阈值为`0.7`
7+
8+
![](./imgs/003123.jpg)
9+
10+
![](./imgs/004101.jpg)
11+
12+
![](./imgs/008591.jpg)

docs/ssd/demo_res.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11

2-
# 测试日志
2+
# 使用日志
33

44
测试检测结果,计算`FPS`
55

6-
## 测试日志
6+
## 使用日志
77

88
```
99
$ python demo.py --config-file configs/vgg_ssd300_voc0712.yaml --images_dir demo --ckpt outputs/vgg_ssd300_voc0712/model_final.pth
File renamed without changes.
File renamed without changes.
File renamed without changes.

docs/ssd/test_process.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
2+
# 测试流程
3+
4+
* `py/ssd/test.py`
5+
6+
## 测试参数
7+
8+
* 数据集:`PASCAL VOC 07 test`
9+
* 批量大小:`10`
10+
* 目标检测:
11+
* 中心坐标的标准方差(`CENTER_VARIANCE`):`0.1`
12+
* 长宽的标准方差(`SIZE_VARIANCE`):`0.2`
13+
* `NMS`阈值(`NMS_THRESHOLD`):`0.5`
14+
* 分类概率阈值(`CONFIDENCE_THRESHOLD`):`0.01`
15+
* 保留预测框个数(`MAX_PER_IMAGE`):`100`
16+
17+
## 测试流程
18+
19+
* 载入测试图像
20+
* 图像预处理:缩放到指定大小,减去图像均值,转换成`Tensor`格式
21+
* 模型计算:生成检测框偏移和检测框类别置信度
22+
* 结合先验框、检测框偏移以及目标检测参数得到检测框
23+
* 对逐个图像执行`NMS`操作以及分类阈值过滤
24+
* 保留前几个预测框

docs/ssd/test_res.md

Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
2+
# 测试日志
3+
4+
```
5+
$ python test.py --config-file configs/vgg_ssd300_voc0712.yaml
6+
2020-05-17 20:17:43,458 SSD INFO: Using 1 GPUs
7+
2020-05-17 20:17:43,458 SSD INFO: Namespace(ckpt=None, config_file='configs/vgg_ssd300_voc0712.yaml', local_rank=0, opts=[], output_dir='eval_results')
8+
2020-05-17 20:17:43,458 SSD INFO: Loaded configuration file configs/vgg_ssd300_voc0712.yaml
9+
2020-05-17 20:17:43,458 SSD INFO:
10+
MODEL:
11+
NUM_CLASSES: 21
12+
INPUT:
13+
IMAGE_SIZE: 300
14+
DATASETS:
15+
TRAIN: ("voc_2007_trainval", "voc_2012_trainval")
16+
TEST: ("voc_2007_test", )
17+
SOLVER:
18+
MAX_ITER: 120000
19+
LR_STEPS: [80000, 100000]
20+
GAMMA: 0.1
21+
BATCH_SIZE: 32
22+
LR: 1e-3
23+
24+
OUTPUT_DIR: 'outputs/vgg_ssd300_voc0712'
25+
2020-05-17 20:17:43,458 SSD INFO: Running with config:
26+
DATASETS:
27+
TEST: ('voc_2007_test',)
28+
TRAIN: ('voc_2007_trainval', 'voc_2012_trainval')
29+
DATA_LOADER:
30+
NUM_WORKERS: 8
31+
PIN_MEMORY: True
32+
INPUT:
33+
IMAGE_SIZE: 300
34+
PIXEL_MEAN: [123, 117, 104]
35+
MODEL:
36+
BACKBONE:
37+
NAME: vgg
38+
OUT_CHANNELS: (512, 1024, 512, 256, 256, 256)
39+
PRETRAINED: True
40+
BOX_HEAD:
41+
NAME: SSDBoxHead
42+
PREDICTOR: SSDBoxPredictor
43+
CENTER_VARIANCE: 0.1
44+
DEVICE: cuda
45+
META_ARCHITECTURE: SSDDetector
46+
NEG_POS_RATIO: 3
47+
NUM_CLASSES: 21
48+
PRIORS:
49+
ASPECT_RATIOS: [[2], [2, 3], [2, 3], [2, 3], [2], [2]]
50+
BOXES_PER_LOCATION: [4, 6, 6, 6, 4, 4]
51+
CLIP: True
52+
FEATURE_MAPS: [38, 19, 10, 5, 3, 1]
53+
MAX_SIZES: [60, 111, 162, 213, 264, 315]
54+
MIN_SIZES: [30, 60, 111, 162, 213, 264]
55+
STRIDES: [8, 16, 32, 64, 100, 300]
56+
SIZE_VARIANCE: 0.2
57+
THRESHOLD: 0.5
58+
OUTPUT_DIR: outputs/vgg_ssd300_voc0712
59+
SOLVER:
60+
BATCH_SIZE: 32
61+
GAMMA: 0.1
62+
LR: 0.001
63+
LR_STEPS: [80000, 100000]
64+
MAX_ITER: 120000
65+
MOMENTUM: 0.9
66+
WARMUP_FACTOR: 0.3333333333333333
67+
WARMUP_ITERS: 500
68+
WEIGHT_DECAY: 0.0005
69+
TEST:
70+
BATCH_SIZE: 10
71+
CONFIDENCE_THRESHOLD: 0.01
72+
MAX_PER_CLASS: -1
73+
MAX_PER_IMAGE: 100
74+
NMS_THRESHOLD: 0.45
75+
2020-05-17 20:17:44,736 SSD.inference INFO: Loading checkpoint from outputs/vgg_ssd300_voc0712/model_final.pth
76+
2020-05-17 20:17:44,834 SSD.inference INFO: Evaluating voc_2007_test dataset(4952 images):
77+
0%| | 0/496 [00:00<?, ?it/s]/opt/conda/conda-bld/pytorch_1587428266983/work/torch/csrc/utils/python_arg_parser.cpp:756: UserWarning: This overload of nonzero is deprecated:
78+
nonzero(Tensor input, *, Tensor out)
79+
Consider using one of the following signatures instead:
80+
nonzero(Tensor input, *, bool as_tuple)
81+
100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 496/496 [00:41<00:00, 11.90it/s]
82+
2020-05-17 20:18:28,805 SSD.inference INFO: mAP: 0.7740
83+
aeroplane : 0.8113
84+
bicycle : 0.8322
85+
bird : 0.7476
86+
boat : 0.7160
87+
bottle : 0.5331
88+
bus : 0.8619
89+
car : 0.8669
90+
cat : 0.8781
91+
chair : 0.6243
92+
cow : 0.8297
93+
diningtable : 0.7607
94+
dog : 0.8393
95+
horse : 0.8634
96+
motorbike : 0.8420
97+
person : 0.7972
98+
pottedplant : 0.5075
99+
sheep : 0.7754
100+
sofa : 0.7775
101+
train : 0.8548
102+
tvmonitor : 0.7622
103+
```

docs/ssd/train_process.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,9 @@
2323
* 模型
2424
* 基础网络:`VGG16`
2525
* 损失函数:`SmoothL1 Loss + Softmax Loss`
26+
* 目标检测:
27+
* 中心坐标的标准方差(`CENTER_VARIANCE`):`0.1`
28+
* 长宽的标准方差(`SIZE_VARIANCE`):`0.2`
2629

2730
## 训练流程
2831

mkdocs.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,4 +82,5 @@ nav:
8282
- 测试流程: ssd/test_process.md
8383
- 测试日志: ssd/test_res.md
8484
- 使用:
85+
- 使用示例: ssd/demo_process.md
8586
- 使用日志: ssd/demo_res.md

0 commit comments

Comments
 (0)