zl程序教程

您现在的位置是:首页 > 

当前栏目

YOLOv5,YOLOv6,YOLOv7在TensorRT推理速度比较

比较 速度 推理 YOLOv5 TensorRT YOLOv7 YOLOv6
2023-06-13 09:11:14 时间

点击上方蓝字关注我们

微信公众号:OpenCV学堂 关注获取更多计算机视觉与深度学习知识

引言

这个周末两天把YOLOv5,YOLOv6,YOLOv7从训练到部署测试了一波,YOLOv6堪称Bug之王,如果没有点代码能力跟工程能力用就崩溃,YOLOv7模型太多让人眼花缭乱,对比论文宣传的各种速度快过YOLOv5,实测一言难尽,到处都是坑!

测试方式

我横向对比了 YOLOv5s、YOLOv6s、YOLOv7-tiny、YOLOv7 四个模型在TensorRT上的推理速度,首先当然是用各种官方的脚本导出ONNX格式模型,然后基于TensorRT8.4.x自带的工具模型转变转换为FP16半精度推理engine文件

测试环境

Windows10 64BitVS2017专业版CUDA11.0.xTensorRT8.4.0.6Pytorch1.7.1+cu110Python3.6.5显卡RTX3050Ti

测试数据是同一段视频!

代码的前后处理完成重用!

01

TensorRT的engine文件生

YOLOv5s、YOLOv6s、YOLOv7-tiny、YOLOv7 四种文件都需要从pt转onnx,这步直接用各自的github脚本导出就好了,总体来说YOLOv5的脚本最容易使用,最人性化,其他两个开发文档跟Tag版本已经尼玛的严重不匹配。得到onnx格式文件,把这几个onnx文件都copy到安装好的TensorRT的bin目录下面,然后分别执行这几条命令行就可以转换生成engine文件了,命令行如下:

trtexec --onnx=yolov5s.onnx --saveEngine=yolov5s_16.engine --fp16trtexec --onnx=yolov6s.onnx --saveEngine=yolov6s_16.engine --fp16trtexec --onnx=yolov7-tiny.onnx --saveEngine=yolov7-tiny_16.engine --fp16trtexec --onnx=yolov7.onnx --saveEngine=yolov7_16.engine --fp16

每个大概需要3~5分钟左右完成转换,可能看显卡性能吧,在我笔记本上就是这个转换时间,

02

TensorRT上推理测试对比

转换好之后。就可以写程序测试了,因为我之前写好了一个YOLOv5s的TensorRT推理的C++类,我几乎全部重用了代码,很快就完成了YOLOv6s跟YOLOv7-tiny跟YOLOv7的TensorRT推理代码修改,然后测试结果截图如下:

YOLOv5s 最新版本6.x推理

YOLOv6s模型推理

YOLOv7-tiny模型推理

然后我还发现一个奇怪的现象,YOLOv7官方提供的对象检测模型不管什么时候,手里面那个东西就是检测说cellphone,可能社交媒体吹多了自带cellphone属性了。

这个是YOLOv7推理

就这速度论文也敢写超过YOLOv5!

总结

转换模型之后对比一下模型文件

你就会发现在这些FP16模型中,yolov5s模型是最小的,速度最快当之无愧,在精度方面跟YOLOv6s、YOLOv7-tiny、YOLOv7只有细微差异。然后综合我这两天完成这件事在YOLOv6、YOLOv7上遇到各种坑,我只能说搞工程选YOLOv5就对了,其他的都是嘴炮!工程化做的都是一塌糊涂,还有很大的改进空间。搞工程还是要脚踏实地,嘴炮一时爽,落地就死亡!

扫码获取YOLOv5 TensorRT INT8量化脚本与视频教程

扫码查看OpenCV+OpenVIO+Pytorch系统化学习路线图

 推荐阅读 

CV全栈开发者说 - 从传统算法到深度学习怎么修炼

2022入坑深度学习,我选择Pytorch框架!

Pytorch轻松实现经典视觉任务

教程推荐 | Pytorch框架CV开发-从入门到实战

OpenCV4 C++学习 必备基础语法知识三

OpenCV4 C++学习 必备基础语法知识二

OpenCV4.5.4 人脸检测+五点landmark新功能测试

OpenCV4.5.4人脸识别详解与代码演示

OpenCV二值图象分析之Blob分析找圆

OpenCV4.5.x DNN + YOLOv5 C++推理

OpenCV4.5.4 直接支持YOLOv5 6.1版本模型推理

OpenVINO2021.4+YOLOX目标检测模型部署测试

比YOLOv5还厉害的YOLOX来了,官方支持OpenVINO推理