tensorrt加速推理yolov4-tiny

示例代码:GitHub - jkjung-avt/tensorrt_demos: TensorRT MODNet, YOLOv4, YOLOv3, SSD, MTCNN, and GoogLeNet

参考博客在Jetson Nano上进行实时目标检测:使用tensorRT加速yolov3 v4-tiny (tensorrt_demos)_照亮星星的人们的博客-CSDN博客

基本思路

yolo模型(.weights + .cfg) → onnx文件(.onnx) → tensorRT模型(.trt)

根据环境要求先配置环境。

环境要求:

numpy>=1.151

onnx>=1.4.1

pycuda>=2017.1.1

从github上下载示例代码,解压。

tensorrt加速推理yolov4-tiny_第1张图片

打开yolo文件夹

tensorrt加速推理yolov4-tiny_第2张图片

将yolov4-tiny.cfg与yolov4-tiny.weights添加到此目录下。

步骤1:返回到上一级的plugins文件夹中进行编译

Make

步骤2:到yolo文件夹目录下,执行脚本

python3 yolo_to_onnx.py -m yolov4-tiny

值得注意的是,-m 后面根据自己的权重文件名称修改。(权重文件与cfg文件名称保持一致)

通过原始yolov4-tiny.weights生成yolov4-tiny.onnx文件

步骤3:执行脚本onnx_to_tensorrt.py

python3 onnx_to_tensorrt.py -m yolov4-tiny

生成yolov4-tiny.trt文件,该文件就是经过经过tensorRT优化后的模型文件。

步骤4:返回上一级文件夹中,运行trt_yolo.py文件

python3 trt_yolo.py –image person.jpg -m yolov4_tiny

(图片与模型前面根据自己的文件位置添加文件路径)

支持5种不同图像视频/输入

--image test_image.jpg :图像文件,例如jpg或png。

--video test_video.mp4 :视频文件,例如mp4或ts。可选--视频循环如果需要,可以启用标志。

--usb 0 USB网络摄像头(/dev/video0)。

--rtsp rtsp://admin:[email protected]/live.sdp:RTSP源,例如IP摄像机。一个可选的--rtsp U延迟在这种情况下,参数可用于调整延迟设置。

--onboard 0:Jetson车载摄像头。

运行结果:

tensorrt加速推理yolov4-tiny_第3张图片

感谢前辈们的分享!

你可能感兴趣的:(python)