选用的模型有:
这里,我们采用统一的格式onnx
,使用三种方式来加载推理:
onnxruntime
openvino
opencv
加载模型的代码如下:
1 | # author: sunshine |
具体三种轻量级目标检测模型的推理代码见:https://github.com/fushengwuyu/light_objectdetect
推理时间统计(用本地笔记本测试 CPU: i7-7700HQ,8核):
模型 | onnx | openvino | opencv | Resolution |
---|---|---|---|---|
nanodet_plus | 0.0842 | 0.0503 | 0.2394 | 416*416 |
FastestDet | 0.0200 | 0.0182 | 0.0747 | 512*512 |
yolo-fastestv2 | 0.0125 | 0.01271 | 0.0380 | 352*352 |
硬件资源占用(边缘服务器:6核2G,带不动openvino,所以没测试)
模型 | CPU(onnx) | memory(onnx) | CPU(opencv) | memory(opencv) |
---|---|---|---|---|
nanodet_plus | 360% | 6.3% | 412% | 6.7% |
FastestDet | 310% | 4.7% | 270% | 4.7% |
yolo-fastestv2 | 306% | 5.4% | 335% | 5.7% |
边缘服务器推理时间统计:
模型 | onnx | opencv |
---|---|---|
nanodet_plus | 0.5430 | 0.6136 |
FastestDet | 0.1653 | 0.2123 |
yolo-fastestv2 | 0.1653 | 0.1064 |
最终统计如下:
模型 | mAP | size | run time(onnx) | cpu | memory | model size |
---|---|---|---|---|---|---|
nanodet_plus-m-1.5x | 34.1 | 416 | 0.5430 | 360% | 6.3% | 9.5M |
FastestDet | 25.3 | 352 | 0.1653 | 310% | 4.7% | 960K |
yolo-fastestv2 | 24.1 | 352 | 0.1653 | 306% | 5.4% | 958K |
nanodet_plus-m | 30.4 | 416 | 0.3575 | 341% | 6.0% | 4.6M |