yangjun dfa27afb39 提交PaddleDetection develop 分支 d56cf3f7c294a7138013dac21f87da4ea6bee829 | há 1 ano atrás | |
---|---|---|
.. | ||
README.md | há 1 ano atrás | |
ppyoloe_crn_l_80e_visdrone.yml | há 1 ano atrás | |
ppyoloe_crn_l_alpha_largesize_80e_visdrone.yml | há 1 ano atrás | |
ppyoloe_crn_l_p2_alpha_80e_visdrone.yml | há 1 ano atrás | |
ppyoloe_crn_l_p2_alpha_largesize_80e_visdrone.yml | há 1 ano atrás | |
ppyoloe_crn_s_80e_visdrone.yml | há 1 ano atrás | |
ppyoloe_crn_s_p2_alpha_80e_visdrone.yml | há 1 ano atrás | |
ppyoloe_plus_crn_l_largesize_80e_visdrone.yml | há 1 ano atrás | |
ppyoloe_plus_sod_crn_l_80e_visdrone.yml | há 1 ano atrás | |
ppyoloe_plus_sod_crn_l_largesize_80e_visdrone.yml | há 1 ano atrás | |
ppyoloe_plus_sod_crn_s_80e_visdrone.yml | há 1 ano atrás |
PaddleDetection团队提供了针对VisDrone-DET小目标数航拍场景的基于PP-YOLOE的检测模型,用户可以下载模型进行使用。整理后的COCO格式VisDrone-DET数据集下载链接,检测其中的10类,包括 pedestrian(1), people(2), bicycle(3), car(4), van(5), truck(6), tricycle(7), awning-tricycle(8), bus(9), motor(10)
,原始数据集下载链接。
注意:
模型 | COCOAPI mAPval 0.5:0.95 | COCOAPI mAPval 0.5 | COCOAPI mAPtest_dev 0.5:0.95 | COCOAPI mAPtest_dev 0.5 | MatlabAPI mAPtest_dev 0.5:0.95 | MatlabAPI mAPtest_dev 0.5 | 下载 | 配置文件 |
---|---|---|---|---|---|---|---|---|
PP-YOLOE-s | 23.5 | 39.9 | 19.4 | 33.6 | 23.68 | 40.66 | 下载链接 | 配置文件 |
PP-YOLOE-P2-Alpha-s | 24.4 | 41.6 | 20.1 | 34.7 | 24.55 | 42.19 | 下载链接 | 配置文件 |
PP-YOLOE+_SOD-s | 25.1 | 42.8 | 20.7 | 36.2 | 25.16 | 43.86 | 下载链接 | 配置文件 |
PP-YOLOE-l | 29.2 | 47.3 | 23.5 | 39.1 | 28.00 | 46.20 | 下载链接 | 配置文件 |
PP-YOLOE-P2-Alpha-l | 30.1 | 48.9 | 24.3 | 40.8 | 28.47 | 48.16 | 下载链接 | 配置文件 |
PP-YOLOE+_SOD-l | 31.9 | 52.1 | 25.6 | 43.5 | 30.25 | 51.18 | 下载链接 | 配置文件 |
PP-YOLOE-Alpha-largesize-l | 41.9 | 65.0 | 32.3 | 53.0 | 37.13 | 61.15 | 下载链接 | 配置文件 |
PP-YOLOE-P2-Alpha-largesize-l | 41.3 | 64.5 | 32.4 | 53.1 | 37.49 | 51.54 | 下载链接 | 配置文件 |
PP-YOLOE+_largesize-l | 43.3 | 66.7 | 33.5 | 54.7 | 38.24 | 62.76 | 下载链接 | 配置文件 |
PP-YOLOE+_SOD-largesize-l | 42.7 | 65.9 | 33.6 | 55.1 | 38.4 | 63.07 | 下载链接 | 配置文件 |
模型 | 数据集 | SLICE_SIZE | OVERLAP_RATIO | 类别数 | mAPval 0.5:0.95 | APval 0.5 | 下载链接 | 配置文件 |
---|---|---|---|---|---|---|---|---|
PP-YOLOE-l(原图评估) | VisDrone-DET | 640 | 0.25 | 10 | 29.7 | 48.5 | 下载链接 | 配置文件 |
PP-YOLOE-l (拼图评估) | VisDrone-DET | 640 | 0.25 | 10 | 37.2 | 59.4 | 下载链接 | 配置文件 |
网络模型 | 输入尺寸 | 导出后的权重(w/o NMS) | ONNX(w/o NMS) |
---|---|---|---|
PP-YOLOE+_SOD-s | 640 | ( w/ nms) | ( w/o nms) | ( w/ nms) | ( w/o nms) |
PP-YOLOE+_SOD-l | 640 | ( w/ nms) | ( w/o nms) | ( w/ nms) | ( w/o nms) |
PP-YOLOE+_SOD-largesize-l | 1920 | ( w/ nms) | ( w/o nms) | ( w/ nms) | ( w/o nms) |
1.参考Paddle Inference文档,下载并安装与你的CUDA, CUDNN和TensorRT相应的wheel包。
测速需要设置--run_benchmark=True
, 你需要安装以下依赖pip install pynvml psutil GPUtil
。
导出ONNX,你需要安装以下依赖pip install paddle2onnx
。
2.运行以下命令导出带NMS的模型和ONNX,并使用TensorRT FP16进行推理和测速
keep_top_k
和nms_top_k
,在只低约0.1 mAP精度的情况下加快预测速度,导出模型的时候也可这样设置:
nms:
name: MultiClassNMS
nms_top_k: 1000 # 10000
keep_top_k: 100 # 500
score_threshold: 0.01
nms_threshold: 0.6
# 导出带NMS的模型
python tools/export_model.py -c configs/smalldet/visdrone/ppyoloe_plus_sod_crn_l_largesize_80e_visdrone.yml -o weights=https://paddledet.bj.bcebos.com/models/ppyoloe_plus_sod_crn_l_largesize_80e_visdrone.pdparams trt=True
# 导出带NMS的ONNX
paddle2onnx --model_dir output_inference/ppyoloe_plus_sod_crn_l_largesize_80e_visdrone --model_filename model.pdmodel --params_filename model.pdiparams --opset_version 12 --save_file ppyoloe_plus_sod_crn_l_largesize_80e_visdrone.onnx
# 推理单张图片
CUDA_VISIBLE_DEVICES=0 python deploy/python/infer.py --model_dir=output_inference/ppyoloe_plus_sod_crn_l_largesize_80e_visdrone --image_file=demo/0000315_01601_d_0000509.jpg --device=gpu --run_mode=trt_fp16
# 推理文件夹下的所有图片
CUDA_VISIBLE_DEVICES=0 python deploy/python/infer.py --model_dir=output_inference/ppyoloe_plus_sod_crn_l_largesize_80e_visdrone --image_dir=demo/ --device=gpu --run_mode=trt_fp16
# 单张图片普通测速
CUDA_VISIBLE_DEVICES=0 python deploy/python/infer.py --model_dir=output_inference/ppyoloe_plus_sod_crn_l_largesize_80e_visdrone --image_file=demo/0000315_01601_d_0000509.jpg --device=gpu --run_benchmark=True
# 单张图片TensorRT FP16测速
CUDA_VISIBLE_DEVICES=0 python deploy/python/infer.py --model_dir=output_inference/ppyoloe_plus_sod_crn_l_largesize_80e_visdrone --image_file=demo/0000315_01601_d_0000509.jpg --device=gpu --run_benchmark=True --run_mode=trt_fp16
3.运行以下命令导出不带NMS的模型和ONNX,并使用TensorRT FP16进行推理和测速,以及ONNX下FP16测速
# 导出带NMS的模型
python tools/export_model.py -c configs/smalldet/visdrone/ppyoloe_plus_sod_crn_l_largesize_80e_visdrone.yml -o weights=https://paddledet.bj.bcebos.com/models/ppyoloe_plus_sod_crn_l_largesize_80e_visdrone.pdparams trt=True exclude_nms=True
# 导出带NMS的ONNX
paddle2onnx --model_dir output_inference/ppyoloe_plus_sod_crn_l_largesize_80e_visdrone --model_filename model.pdmodel --params_filename model.pdiparams --opset_version 12 --save_file ppyoloe_plus_sod_crn_l_largesize_80e_visdrone.onnx
# 推理单张图片
CUDA_VISIBLE_DEVICES=0 python deploy/python/infer.py --model_dir=output_inference/ppyoloe_plus_sod_crn_l_largesize_80e_visdrone --image_file=demo/0000315_01601_d_0000509.jpg --device=gpu --run_mode=trt_fp16
# 推理文件夹下的所有图片
CUDA_VISIBLE_DEVICES=0 python deploy/python/infer.py --model_dir=output_inference/ppyoloe_plus_sod_crn_l_largesize_80e_visdrone --image_dir=demo/ --device=gpu --run_mode=trt_fp16
# 单张图片普通测速
CUDA_VISIBLE_DEVICES=0 python deploy/python/infer.py --model_dir=output_inference/ppyoloe_plus_sod_crn_l_largesize_80e_visdrone --image_file=demo/0000315_01601_d_0000509.jpg --device=gpu --run_benchmark=True
# 单张图片TensorRT FP16测速
CUDA_VISIBLE_DEVICES=0 python deploy/python/infer.py --model_dir=output_inference/ppyoloe_plus_sod_crn_l_largesize_80e_visdrone --image_file=demo/0000315_01601_d_0000509.jpg --device=gpu --run_benchmark=True --run_mode=trt_fp16
# 单张图片ONNX TensorRT FP16测速
/usr/local/TensorRT-8.0.3.4/bin/trtexec --onnx=ppyoloe_plus_sod_crn_l_largesize_80e_visdrone.onnx --workspace=4096 --avgRuns=10 --shapes=input:1x3x1920x1920 --fp16
注意:
use_static=True
,这样生成的序列化文件将会保存在output_inference
文件夹下,下次执行TensorRT时将加载保存的序列化文件。@ARTICLE{9573394,
author={Zhu, Pengfei and Wen, Longyin and Du, Dawei and Bian, Xiao and Fan, Heng and Hu, Qinghua and Ling, Haibin},
journal={IEEE Transactions on Pattern Analysis and Machine Intelligence},
title={Detection and Tracking Meet Drones Challenge},
year={2021},
volume={},
number={},
pages={1-1},
doi={10.1109/TPAMI.2021.3119563}
}