- 环境:Python 3
- 安装依赖:
pip install -r requirements.txt
- 我们使用mmDetection训练模型,请访问this page进行mmDetection的安装。
- 我们使用RepPoints (ICCV'2019)作为模型进行训练和测试。
使用PANDA-IMAGE数据集微调RepPoints模型。
- 准备PANDA-IMAGE数据集;
- 准备mmDetection配置文件;
- 下载COCO预训练模型;
- 使用PANDA-IMAGE数据集对模型进行训练;
- 一些tricks。
根据官方baseline,准备PANDA-IMAGE数据集。
并将数据集转换为COCO格式。
准备配置文件保证模型可以成功读取数据集。
第一个配置文件 ./user_data/configs/reppoints/reppoints_moment_x101_fpn_dconv_c3-c5_gn-neck+head_2x_coco.py
。
第二个配置文件 ./user_data/configs/_base_/datasets/coco_detection.py
。
我们一次只训练一个类别,对于person_visible
, person_full
, person_head
, vehicle
分别训练四个分类器。
第三个配置文件 ./user_data/configs/_base_/default_runtime.py
,将load_from设置为'./user_data/checkpoints/reppoints_moment_x101_fpn_dconv_c3-c5_gn-neck+head_2x_coco_20200329-f87da1ea.pth
。
使用多gpu进行训练,可以运行:
bash ./code/train.sh --configs ./user_data/configs/reppoints/reppoints_moment_x101_fpn_dconv_c3-c5_gn-neck+head_2x_coco.py 2
- 使用模型:
Method | Backbone | GN | Anchor | convert func | Lr schd | Mem (GB) | Inf time (fps) | box AP | Config | Download |
---|---|---|---|---|---|---|---|---|---|---|
RepPoints | X-101-FPN-DCN | Y | none | moment | 2x | 7.1 | 9.3 | 44.2 | config | model | log |
- 针对不同类别的检测器,使用不同的图像尺度进行训练:
Class | Scale |
---|---|
person_visible | 0.5 |
person_full | 0.5 |
person_head | 1 |
vehicle | 0.3 |
- 将缩放后的图像裁剪为(2048,1024)输入模型。
- 使用Multi-scale进行训练,将输入图像在线resize为(1333, 480)和(1333, 960)。
- 添加图像増广方法,随机更改亮度、对比度和滤波处理。
- 学习率设置请查看
./user_data/configs/_base_/schedules/schedule_1x.py
。 - 训练时使用两块2080TI,批量大小设置为6/gpu。
测试图像,可以运行:
bash ./code/run.sh
or
python ./code/test.py --source
--config
--checkpoint
--out
--gpu-id
--tmpdir
NOTE
根据类别使用不同的缩放比例和滑动窗口尺寸:
Class | Scale | Window Size |
---|---|---|
person_visible | (0.1, 0.3) | (1000, 500) |
person_full | (0.1, 0.3) | (1000, 500) |
person_head | (0.1, 0.3) | (1000, 500) |
vehicle | (0.1, 0.3) | (1000, 500) |
根据类别使用不同的分数阈值和NMS阈值:
Class | Score | NMS |
---|---|---|
person_visible | 0.4 | 0.3 |
person_full | 0.4 | 0.3 |
person_head | 0.3 | 0.3 |
vehicle | 0.4 | 0.3 |
Matrices | Details | Score |
---|---|---|
Score | 0.458 | |
Average Precision (AP) | @[ IoU=0.50:0.95 | area = all | maxDets=500 ] | 0.427 |
Average Precision (AP) | @[ IoU=0.50 | area = all | maxDets=500 ] | 0.675 |
Average Precision (AP) | @[ IoU=0.75 | area = all | maxDets=500 ] | 0.461 |
Average Recall (AR) | @[ IoU=0.50:0.95 | area = all | maxDets= 10 ] | 0.068 |
Average Recall (AR) | @[ IoU=0.50:0.95 | area = all | maxDets=100 ] | 0.331 |
Average Recall (AR) | @[ IoU=0.50:0.95 | area = all | maxDets=500 ] | 0.494 |