YOLOX、YOLOv5、Nanodet在PC与嵌入式板Atlas200DK上的推理速度测试

目录

  • 前言
  • PC上的模型推理速度(已更新全部模型)
  • Atlas200DK推理测速结果(已更新全部模型)

前言

Nanodet和YOLOv5都是我很喜欢的检测算法,Nanodet超轻量对嵌入式设备极其友好,u版yolo训练起来速度快效果好,功能强大

前两天旷视开源了YOLOX,我看了一下算法大体和代码实现,总的来讲还是比较有新意,去掉了anchors,有点融合FCOS的意思,不过纸面上的mAP比yolov5的p6系列还是有一定差距的
不过YOLOX代码写的真不错,比u版yolo简洁多了。

以下测试均在python中完成

PC上的模型推理速度(已更新全部模型)

mAP我就不比了,这几个算法在原repo里都有coco数据集上的精度测试结果

PC配置:CPU:i7-10875H GPU:RTX2070super Max-Q

将YOLOX、YOLOv5、Nanodet仓库里的模型,对30张图片进行测速,取均值

model size pytorch onnx
YOLOXnano 416x416 63.5ms 14.9ms (27.1ms opencv)
YOLOXtiny 416x416 88.0ms 26.0ms (43.1ms opencv)
YOLOXs 640x640 273.5ms 70.6ms (130.2ms opencv)
YOLOXx 640x640 1607.2ms 528.6ms (750ms opencv)
YOLOv5s 640x640 157ms 58ms (134ms opencv)
YOLOv5s6 640x640 156ms 67ms
YOLOv5x 640x640 998ms 428ms
YOLOv5x6 640x640 1067ms 447ms
Nanodet_s 320x320 54ms 70ms opencv
Nanodet_m 416x416 87ms 119ms opencv

pytorch列是直接用的官方demo的测速结果
onnx列是将pytorch模型转成onnx后,分别采用onnxruntime和opencv的dnn module的测速结果,因为opencv中部分onnx算子实现较慢,因此推理速度比onnxruntime慢很多

刚测了PC上yolox系列在opencv dnn上的推理速度,其中两个超轻量模型速度竟然远超nanodet,amazing!

Atlas200DK推理测速结果(已更新全部模型)

Atlas200dk配置:CPU: 8xArm Cortex A55 NPU: Ascend310(8~22TOPs算力)
由于前几天调试atlas碰到了很多坑,到现在才终于成功部署了v5和nanodet的模型,YOLOX的模型将尽量进行测试

model size cann(npu) onnx(cpu)
YOLOXnano 416x416 11.5ms 308.2ms
YOLOXtiny 416x416 12.2ms 763.8ms
YOLOXs 640x640 16.5ms 2907.3ms
YOLOXx 640x640 62.8ms 24268ms
YOLOv5s 640x640 34.4ms 1187ms
YOLOv5s6 640x640 22.7ms
YOLOv5x 640x640 64.6ms 11813ms
YOLOv5x6 640x640 62.7ms
Nanodet_s 320x320 8.0ms 170.5ms
Nanodet_m 416x416 11.0ms 280.0ms

在Atlas200dk上运行yolov5x、yolox_x的模型推理速度差不多达到16FPS,与cpu相比提升了30到400倍

根据以上模型推理时间计算,Atlas的算力差不多在3.5~4.5GLOPs/s之间,如果使用C++做部署应该还可以再提升一些速度。

同时yolov5的p6模型在cann下的运行时间和p5模型没啥区别(甚至比p5模型还快),可以用v5的P6模型白嫖精度指标

YOLOX系列模型在PC的CPU上的推理速度一般,但是YOLOX在Atlas的NPU上运行速度与v5相比不分伯仲,使用YOLOX的nano或tiny模型替代Nanodet可以提升一些精度

过两天把YOLOX的数据放上来(不过推理速度肯定比这俩慢了)
经过测试,Atlas在cpu上推理效率一般,但是在NPU上的效果非常好,过段时间相应的P6模型出来后可以很好的替代yolov5

并且还会更新一个在Atlas上部署模型的教程,包括pytorch转onnx,onnx模型优化,atc工具将onnx转om模型,acl模型部署方法,踩到的坑巨多,都是辛酸泪啊…

你可能感兴趣的:(图像处理,Atlas200dk算法部署,人工智能,深度学习)