Jetpack TX1使用笔记(8)使用tensorRT加速YOLO目标检测网络

1. 准备工作

本人环境:
jetson tx1
jetpack4.5.1
cuda10.2
cudnn8
opencv4.1.1
tensorrt7.1.3
onnx1.4.1
pycuda2020.1
python3.6.9

确保安装了pip3,若没有安装请输入下面命令安装:

sudo apt-get install python3-pip

本文章参考项目:tensorrt_demo
主要需要安装的库:

  1. onnx1.4.1
  2. pycuda

1.1 安装onnx1.4.1

先安装依赖:

sudo apt-get install protobuf-compiler libprotoc-dev

通过pip3直接安装,不要用sudo pip3安装。建议使用百度源,比清华源快多了(时间:2021.3.30)

pip3 install onnx==1.4.1 -i https://mirror.baidu.com/pypi/simple

1.2 安装pycuda

这个比较简单,安装方法:

pip3 install pycuda -i https://mirror.baidu.com/pypi/simple

如果失败,大概率是cuda配置的问题,参考文章pycuda安装错误解决办法,进行配置。

2. 使用tensorrt加速yolov3-tiny

2.1 编译

克隆项目:

git clone https://github.com/jkjung-avt/tensorrt_demos.git

进入项目的编译位置:

cd tensorrt_demos/plugins/

编译:

make -j4

很快编译成功:
在这里插入图片描述

2.2 转weights为onnx

进入项目的yolo文件夹:

cd tensorrt/yolo/

将我们下载好的yolov3-tiny.weights和yolov3-tiny.cfg都放到这一路径下(亦可把v4的都放进来)
下载链接:

链接:https://pan.baidu.com/s/1GURVIVdWwdi62tsXHCQEvw
提取码:3ts9

下载完后对文件进行改名,在每个文件的后面加上输入的尺寸大小,如图所示:若自己修改了图片尺寸,改为自己的尺寸即可
在这里插入图片描述

亦可运行自带的sh来下载(已经改好了名字),但速度可能比较慢:

sh download_yolo.sh

将weights转换为onnx:

python3 yolo_to_onnx.py -m yolov3-tiny-416

正常转换后的结果界面:
在这里插入图片描述

2.3 转onnx为trt

trt是tensorrt支持的格式,所以我们要把onnx转换为trt。
转换命令:

python3 onnx_to_tensorrt.py -m yolov3-tiny-416

正常转换后的界面
正常转换后的界面如上图所示。

2.4 进行加速检测

进入到上一级的目录:

cd tensorrt_demos

运行下面的命令进行检测(使用usb摄像头)

python3 trt_yolo.py --usb 0 -m yolov3-tiny-416

检测结果:帧率可达到平均40帧。
在这里插入图片描述
使用板载摄像头:

python3 trt_yolo.py --onboard 0 -m yolov3-tiny-416

运行结果:帧率也可以,只是还没解决为什么图像是倒立的问题。
在这里插入图片描述

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值