MaochengHu 576cda45b8 first commit 2 years ago
..
README.md 576cda45b8 first commit 2 years ago
coco_label.txt 576cda45b8 first commit 2 years ago
openvino_benchmark.py 576cda45b8 first commit 2 years ago
openvino_infer.py 576cda45b8 first commit 2 years ago

README.md

PicoDet OpenVINO Benchmark Demo

本文件夹提供利用Intel's OpenVINO Toolkit进行PicoDet测速的Benchmark Demo与带后处理的模型Inference Demo。

安装 OpenVINO Toolkit

前往 OpenVINO HomePage,下载对应版本并安装。

本demo安装的是 OpenVINO 2022.1.0,可直接运行如下指令安装:

pip install openvino==2022.1.0

详细安装步骤,可参考OpenVINO官网

Benchmark测试

  • 准备测试模型:根据PicoDet中【导出及转换模型】步骤,采用不包含后处理的方式导出模型(-o export.benchmark=True ),并生成待测试模型简化后的onnx模型(可在下文链接中直接下载)。同时在本目录下新建out_onnxsim文件夹,将导出的onnx模型放在该目录下。

  • 准备测试所用图片:本demo默认利用PaddleDetection/demo/000000014439.jpg

  • 在本目录下直接运行:

# Linux
python openvino_benchmark.py --img_path ../../../../demo/000000014439.jpg --onnx_path out_onnxsim/picodet_s_320_coco_lcnet.onnx --in_shape 320
# Windows
python openvino_benchmark.py --img_path ..\..\..\..\demo\000000014439.jpg --onnx_path out_onnxsim\picodet_s_320_coco_lcnet.onnx --in_shape 320
  • 注意:--in_shape为对应模型输入size,默认为320

真实图片测试(网络包含后处理,但不包含NMS)

  • 准备测试模型:根据PicoDet中【导出及转换模型】步骤,采用包含后处理不包含NMS的方式导出模型(-o export.benchmark=False export.nms=False ),并生成待测试模型简化后的onnx模型(可在下文链接中直接下载)。同时在本目录下新建out_onnxsim_infer文件夹,将导出的onnx模型放在该目录下。

  • 准备测试所用图片:默认利用../../demo_onnxruntime/imgs/bus.jpg

# Linux
python openvino_infer.py --img_path ../../demo_onnxruntime/imgs/bus.jpg --onnx_path out_onnxsim_infer/picodet_s_320_postproccesed_woNMS.onnx --in_shape 320
# Windows
python openvino_infer.py --img_path ..\..\demo_onnxruntime\imgs\bus.jpg --onnx_path out_onnxsim_infer\picodet_s_320_postproccesed_woNMS.onnx --in_shape 320

真实图片测试(网络不包含后处理)

# Linux
python openvino_benchmark.py --benchmark 0 --img_path ../../../../demo/000000014439.jpg --onnx_path out_onnxsim/picodet_s_320_coco_lcnet.onnx --in_shape 320
# Windows
python openvino_benchmark.py --benchmark 0 --img_path ..\..\..\..\demo\000000014439.jpg --onnx_path out_onnxsim\picodet_s_320_coco_lcnet.onnx --in_shape 320
  • 结果:

Benchmark结果

  • 测速结果如下:
  • 测试环境: 英特尔酷睿i7 10750H CPU。
模型 输入尺寸 ONNX 预测时延CPU
PicoDet-XS 320*320 ( w/ 后处理;w/o NMS) | ( w/o 后处理) 3.9ms
PicoDet-XS 416*416 ( w/ 后处理;w/o NMS) | ( w/o 后处理) 6.1ms
PicoDet-S 320*320 ( w/ 后处理;w/o NMS) | ( w/o 后处理) 4.8ms
PicoDet-S 416*416 ( w/ 后处理;w/o NMS) | ( w/o 后处理) 6.6ms
PicoDet-M 320*320 ( w/ 后处理;w/o NMS) | ( w/o 后处理) 8.2ms
PicoDet-M 416*416 ( w/ 后处理;w/o NMS) | ( w/o 后处理) 12.7ms
PicoDet-L 320*320 ( w/ 后处理;w/o NMS) | ( w/o 后处理) 11.5ms
PicoDet-L 416*416 ( w/ 后处理;w/o NMS) | ( w/o 后处理) 20.7ms
PicoDet-L 640*640 ( w/ 后处理;w/o NMS) | ( w/o 后处理) 62.5ms