Jetson Nano Yolov5+tensorrt

Alex-Beh/tensorrtx

Yolov5 TensorRT inteference with usb camera

mkdir build
cd build 
cmake ..
make
cd build 
./video_inteference_yolov5
# 里面engine 类别 video修改自己,yolov5s,修改完还要make一下
# 162行 修改锚框颜色 BGR cv::rectangle(pr_img, r, cv::Scalar(0x27, 0xC1, 0x36), 2);
cd /dev
ls | grep video

#see video0 detail info
udevadm info --query=all --name=/dev/video0

v5.0 - YOLOv5

参考alex配准tensorrtx

Jetson Nano Yolov5+tensorrt设置说明

Jetson nano + yolov5 + TensorRT加速+调用usb摄像头

Jetson Nano部署YOLOv5与Tensorrtx加速

自己电脑跑yolov5
环境 yolo
cuda10.2 torch 1.8.0 torchvision 0.9.0 一定要版本对应

conda activate yolo
pip install torch
pip install torchvision

pytorch版本地址
在这里插入图片描述

在这里插入图片描述
roscore
rosrun camera_yolo video_in执行
在tensorrtx中生成engine
如果修改,在camera_ws中执行catkin_make

然后rviz

python3 gen_wts.py new_best_test3.py

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Jetson Nano上使用TensorRT加速Yolov5的推理可以按照以下步骤进行: 1. 安装TensorRTYolov5:首先确保你已经在Jetson Nano上安装了JetPack SDK,该包中包含了TensorRT和CUDA等必要的组件。你可以从NVIDIA官方网站下载并安装JetPack SDK。然后,你可以从Yolov5的GitHub页面获取Yolov5的代码。 2. 将Yolov5模型转换为TensorRT引擎:在Yolov5代码的根目录下,有一个`yolov5s.yaml`文件,它定义了模型的结构和超参数。你可以使用`convert.py`脚本将模型转换为TensorRT引擎。具体命令如下: ``` python convert.py --weights yolov5s.pt --cfg yolov5s.yaml --output yolov5s.engine ``` 这将生成一个名为`yolov5s.engine`的TensorRT引擎文件。 3. 编写推理代码:使用TensorRT引擎进行推理,可以使用Jetson Inference库。首先,确保你已经在Jetson Nano上安装了Jetson Inference库。然后,创建一个新的Python文件,并添加以下代码: ```python import ctypes import numpy as np import cv2 import jetson.inference import jetson.utils ctypes.CDLL('libnvinfer_plugin.so', mode=ctypes.RTLD_GLOBAL) engine_path = 'yolov5s.engine' input_width = 640 input_height = 640 # 加载TensorRT引擎 trt_yolov5 = jetson.inference.detectNet(engine_path, threshold=0.5) # 加载输入图像 input_image = jetson.utils.loadImage('input.jpg') input_image = jetson.utils.cudaFromNumpy(input_image) # 设置网络的输入尺寸 trt_yolov5.SetInputWidth(input_width) trt_yolov5.SetInputHeight(input_height) # 进行目标检测 detections = trt_yolov5.Detect(input_image, input_width, input_height) # 处理检测结果 for detection in detections: class_name = trt_yolov5.GetClassDesc(detection.ClassID) print(f'Object: {class_name}, Confidence: {detection.Confidence:.2f}') left = int(detection.Left) top = int(detection.Top)

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值