聊聊YOLOv5、YOLOX、Nanodet

YOLOv5大家应该很熟悉了

YOLOX 在 YOLO 系列的基础上做了一系列工作,其主要贡献在于:在 YOLOv3 的基础上,引入了Decoupled HeadData AugAnchor Free 和SimOTA 样本匹配的方法,构建了一种anchor-free的端到端目标检测框架,并且达到了一流的检测水平。

此外,本文提出的 YOLOX-L 模型在视频感知挑战赛(CVPR 2021年自动驾驶研讨会)上获得了第一名。作者还提供了支持ONNX、TensorRT、NCNN和Openvino的部署版本。Github 开源地址为:
https://github.com/Megvii-BaseDetection/YOLOX

聊聊YOLOv5、YOLOX、Nanodet_第1张图片

超轻量目标检测模型NanoDet

1.8M超轻量目标检测模型NanoDet,比YOLO快,上线两天Star量超200

聊聊YOLOv5、YOLOX、Nanodet_第2张图片

 

然后 这三种做个对比:

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

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

聊聊YOLOv5、YOLOX、Nanodet_第3张图片

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的模型将尽量进行测试

聊聊YOLOv5、YOLOX、Nanodet_第4张图片

在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 解读】与 YOLOv5 匹敌的 anchor-free 目标检测器!_136.la
参考链接:YOLOX、YOLOv5、Nanodet在PC与嵌入式板Atlas200DK上的推理速度测试_RuiH.AI的博客-CSDN博客_yolox和yolov5

你可能感兴趣的:(架构,目标检测,人工智能,计算机视觉)