Jetson Nano使用DeepStream+YOLOv5

DeepStream-Yolo 部署 阅读详情

Jetson Nano 安装DeepStream教程 查看上一篇

将yolov5 best.pt转成best.engine

GIthub地址
注意:yolov5的版本一定要和tensorrtx的版本对应,比如两个下载的工程都是v5.0版本,这里版本不一致可能会导致生成.engine文件的时候报错。

best.py->best.wts
将Tensorrtx/yolov5目录下的gen_wts.py复制到对应版本的yolov5工程文件下,然后运行如下命令:

python gen_wts.py -w best.pt -o best.wts

best.wts->best.engine
跳转到tensorrtx/yolov5目录下,执行如下命令

//目录跳转
cd {tensorrtx}/yolov5/
// update CLASS_NUM in yololayer.h if your model is trained on custom dataset
//创建文件夹build
mkdir build
cd build
//将.wts文件复制到build文件夹
cp {ultralytics}/yolov5/yolov5s.wts {tensorrtx}/yolov5/build
cmake ..
make
//将.wts 转化成.engine
sudo ./yolov5 -s [.wts] [.engine] [n/s/m/l/x/n6/s6/m6/l6/x6 or c/c6 gd gw]  // serialize model to plan file
sudo ./yolov5 -d [.engine] [image folder]  // deserialize and run inference, the images in [image folder] will be processed.
// For example yolov5s
sudo ./yolov5 -s yolov5s.wts yolov5s.engine s
sudo ./yolov5 -d yolov5s.engine ../samples
// For example Custom model with depth_multiple=0.17, width_multiple=0.25 in yolov5.yaml
sudo ./yolov5 -s yolov5_custom.wts yolov5.engine c 0.17 0.25
sudo ./yolov5 -d yolov5.engine ../samples

得到.engine文件之后,就可以运行yolov5_trt.py 来进行推理了。但是我在进行实时摄像头检测和运行视频检测的时候,内存溢出了,所以加入Deepstream来解决这个问题。

DeepStream加速yolov5

下载Yolov5-in-Deepstream-5.0

git clone https://github.com/DanaHan/Yolov5-in-Deepstream-5.0.git

nvdsinfer_custom_impl_Yolo文件夹缺少yolo.o和yoloPlugins.o,复制进去即可,百度网盘下载,提取码:2on5

添加coco.names到Deepstream 5.0
这边我就直接新建labels.txt,然后将自己的标签加入到这个文件即可
在这里插入图片描述

修改config_infer_primary_yoloV5.txt
在这里插入图片描述
复制.engine和libmyplugins.so到Deepstream5.0文件夹下

我这边是直接上传上去的
在这里插入图片描述
生成libnvdsinfer_custom_impl_Yolo.so文件

跳转到nvdsinfer_custom_impl_Yolo路径下,然后make

cd nvdsinfer_custom_impl_Yolo
make 

我在这make会报错,然后我使用另外一个github上的文件来进行make,就能成功。GitHub链接,将Source中的文件全部复制过来替换就行,重新make即可。

修改deepstream_app_config_yoloV5.txt文件
这里直接给出我的txt文件,我是将视频地址换成了我自己想要进行检测的一个地址,然后输出方式改成的是MP4文件。如果需要改成摄像头实时,修改里面的一些参数即可。

[application]
enable-perf-measurement=1
perf-measurement-interval-sec=5
#gie-kitti-output-dir=streamscl

[tiled-display]
enable=0
rows=1
columns=1
width=1280
height=720
gpu-id=0
#(0): nvbuf-mem-default - Default memory allocated, specific to particular platform
#(1): nvbuf-mem-cuda-pinned - Allocate Pinned/Host cuda memory, applicable for Tesla
#(2): nvbuf-mem-cuda-device - Allocate Device cuda memory, applicable for Tesla
#(3): nvbuf-mem-cuda-unified - Allocate Unified cuda memory, applicable for Tesla
#(4): nvbuf-mem-surface-array - Allocate Surface Array memory, applicable for Jetson
nvbuf-memory-type=0

#运行视频
[source0]
enable=1
#Type - 1=CameraV4L2 2=URI 3=MultiURI
type=2
#读取文件
uri=file:/home/yyc/tensorrttest/Yolov5-in-Deepstream-5.0/input/1.mp4
#uri=file:/home/nvidia/Documents/5-Materials/Videos/0825.avi
num-sources=1
gpu-id=0
# (0): memtype_device   - Memory type Device
# (1): memtype_pinned   - Memory type Host Pinned
# (2): memtype_unified  - Memory type Unified
cudadec-memtype=0
#打开摄像头
#[source1]
#enable=1
##Type - 1=CameraV4L2 2=URI 3=MultiURI 4=RTSP 5=CSI
#type=5
#camera-csi-sensor-id=0   #表示你要打开哪个摄像头
#camera-width=1280
#camera-height=720
#camera-fps-n=30
#camera-fps-d=1

[sink0]
enable=1
#Type - 1=FakeSink 2=EglSink 3=File
type=3
sync=0
source-id=0
gpu-id=0
nvbuf-memory-type=0
#1=mp4 2=mkv
container=1
#1=h264 2=h265
codec=1
#输出文件
output-file=/home/yyc/tensorrttest/Yolov5-in-Deepstream-5.0/Deepstream 5.0/res.mp4

[osd]
enable=1
gpu-id=0
border-width=1
text-size=12
text-color=1;1;1;1;
text-bg-color=0.3;0.3;0.3;1
font=Serif
show-clock=0
clock-x-offset=800
clock-y-offset=820
clock-text-size=12
clock-color=1;0;0;0
nvbuf-memory-type=0

[streammux]
gpu-id=0
##Boolean property to inform muxer that sources are live
live-source=0
batch-size=4
##time out in usec, to wait after the first buffer is available
##to push the batch even if the complete batch is not formed
batched-push-timeout=40000
## Set muxer output width and height
width=1280
height=720
##Enable to maintain aspect ratio wrt source, and allow black borders, works
##along with width, height properties
enable-padding=0
nvbuf-memory-type=0

# config-file property is mandatory for any gie section.
# Other properties are optional and if set will override the properties set in
# the infer config file.
[primary-gie]
enable=1
gpu-id=0
model-engine-file=bestv5.engine
labelfile-path=labels.txt
#batch-size=4
#Required by the app for OSD, not a plugin property
bbox-border-color0=1;0;0;1
bbox-border-color1=0;1;1;1
bbox-border-color2=0;0;1;1
bbox-border-color3=0;1;0;1
interval=0
gie-unique-id=1
nvbuf-memory-type=0
config-file=config_infer_primary_yoloV5.txt

[tracker]
enable=0
tracker-width=512
tracker-height=320
ll-lib-file=/opt/nvidia/deepstream/deepstream-5.1/lib/libnvds_mot_klt.so

[tests]
file-loop=0

运行程序

LD_PRELOAD=./libmyplugins.so deepstream-app -c deepstream_app_config_yoloV5.txt 

在DeepStream5.0文件夹下会生成一个res.mp4
在这里插入图片描述
结果如下:
在这里插入图片描述
在最后运行出来的结果会有许多预测框,对于这个问题是因为我用的.engine 文件是在Yolov-5.0工程里面转化好的,然后他要求是在Yolov5-in-Deepstream-5.0这个工程下去转化模型,但是我在他这个里面转化模型的时候会报错,原因:我用的yolov5版本是5.0的,而DeepStream这个目前只支持到3.0版本,具体最后能不能正常显示还需要后续的尝试。

参考博客:零基础入门Jetson Nano——Yolov5+TensorRT+Deepstream

Deepstream部署yolov11模型推理结果发布rtsp流 NVIDIA的Deepstream SDK是一个完整的流分析工具包,该工具包基于GSTREAMER,用于基于AI的多传感器处理,视频,音频和图像理解。它非常适合AI开发人员,软件合作伙伴,初创公司和OEM构建IVA(智能视频分析)应用程序和服务的理想选择。现在,您可以创建流程处理管道,以结合神经网络和其他复杂的处理任务,例如跟踪,视频编码/解码以及视频渲染。 阅读详情

相关推荐

安装使用DeepStream-Yolo

DeepStream-Yolo git clone https://github.com/marcoslucianops/DeepStream-Yolo YOLO 模型的 NVIDIA DeepStream SDK 5.1 配置 此存储库的改进 Darknet CFG 参数解析器(不需要编辑 nvdsparsebbox_Yolo.cpp 或其他用于本地模型的文件) 支持 new_coords、beta_nms 和 scale_x_y 参数 支持官方 DeepStream SDK YOLO 中不支持的新模型

W1995S的博客 3104

YOLOv4目标检测实战:Jetson Nano部署

YOLOv4(AlexyAB/darknet)是最近推出的端到端实时目标检测方法。YOLOv4-tiny是对YOLOv4的轻量化模型,适合在边缘计算设备上部署。 Jetson Nano是英伟达含有GPU的人工智能硬件。本课程讲述如何部署YOLOv4-tiny在Jetson Nano开发板上。 部署完成后可进行视频文件和摄像头视频的实时目标检测。部署时将使用AI视频处理加速引擎TensorRT和DeepStream。课程内容包括:原理篇(DeepStream介绍、TensorRT介绍、YOLOv4-Tiny介绍)、实践篇(Nano硬件搭建、烧录系统镜像、安装远程登录工具、安装和测试DeepStream、使用DeepStream部署YOLOv4-tiny、Nano部署测试) 

Jetson Orin Nano上让YoloV5识别CSI摄像头:从OpenCV编译到DeepStream-Yolo完整配置

本文详细介绍了在Jetson Orin Nano上实现YoloV5与CSI摄像头高效集成的完整流程,从OpenCV定制编译到DeepStream-Yolo配置。通过解决GStreamer支持问题、优化模型转换和部署,最终实现实时目标检测,适用于边缘计算和嵌入式视觉项目。

weixin_33749242的博客 797

YOLOv5目标检测实战:Jetson Nano部署

PyTorch版的YOLOv5是高性能的实时目标检测方法。Jetson Nano是英伟达含有GPU的人工智能硬件。本课程讲述如何部署YOLOv5在Jetson Nano开发板上。部署完成后可进行图像、视频文件和摄像头视频的实时目标检测。部署时使用AI视频处理加速引擎TensorRT和DeepStream。 课程内容包括:原理篇(DeepStream介绍、TensorRT介绍、 tensorrtx介绍)、实践篇(Nano硬件搭建、烧录系统镜像、安装远程登录工具、安装和测试DeepStream、安装yolov5、生成yolov5s.wts文件、生成yolov5s.engine、使用DeepStream部署yolov5、Nano部署测试)

不只是YoloV5:在Jetson Orin Nano上打通DeepStream+Yolo的工业视觉部署流水线

本文详细介绍了在Jetson Orin Nano上部署DeepStream与YOLOv5的工业视觉流水线全流程,包括硬件选型、多源视频输入配置、模型优化策略及性能调优技巧。通过实战案例展示如何实现产线缺陷检测和智能安防监控,为工业视觉应用提供高效解决方案。

weixin_30387799的博客 306

Jetson Orin Nano(4GB)实战:从系统烧录到Deepstream-YOLOv5融合部署的避坑指南

本文详细介绍了Jetson Orin Nano(4GB)从系统烧录到Deepstream-YOLOv5融合部署的全流程避坑指南。涵盖硬件认知、系统调优、Python环境搭建、OpenCV编译、YOLOv5部署及Deepstream集成等关键步骤,特别针对4GB内存限制提供了zRAM优化方案,帮助开发者高效完成AI模型部署。

weixin_30892037的博客 503

yolov5在jetson nano上的部署 deepstream

yolov5在jetson nano上的部署

Pcl2001的博客 5866

基于为Jetson Nano定制训练的YOLOv5模型全过程实战:从PyTorch到TensorRT并通过DeepStream实现动态识别

本文详细介绍了基于YOLOv5 v5.0的目标检测模型从训练到边缘部署的全流程。在RTX 2080TI主机上完成数据标注、模型训练后,将模型转换为ONNX和TensorRT格式,最终在Jetson Nano上通过DeepStream 5.1实现了实时动态监测。关键步骤包括:使用labelImg标注VOC格式数据并转换为YOLO格式,修改模型配置文件,通过TensorRT加速,以及配置DeepStream相关参数。实验结果表明,该系统在Jetson Nano上能达到13-14 FPS的检测速度,验证了&quo

FJN110的博客 267

零基础入门Jetson Nano——Yolov5+TensorRT+Deepstream

yolov5+tensorrt+deepstream嵌入式平台加速推理目标检测。

qq_56548850的博客 1万+

手把手教程Jetson Nano上的极致车牌识别:基于DeepStream与YOLOv5的端到端部署与优化

摘要 本文介绍了在Jetson Nano上部署基于DeepStream和YOLOv5的车牌识别系统(LPR)。文章首先对比了三阶段(车辆检测->车牌检测->字符识别)和二阶段(车牌检测->字符识别)两种LPR流程设计,重点分析了后者在性能上的优势。随后详细讲解了DeepStream框架的核心组件,包括流复用器(nvstreammux)、推理引擎(nvinfer)和元数据处理机制。在模型部署方面,重点介绍了如何将YOLOv5车牌检测模型和LPRNet字符识别模型转换为TensorRT引擎格式

LXY_LOVE36的博客 243

雷达仿真:FMCW TDMA-MIMO 3D点云获取方法

2 信号建模摘要:通过设置时分复用(TDMA)波形结合FMCW毫米波雷达仿真获取目标的距离、速度和方位角3D点云信息。在本案例中,首先通过发射天线交替发射FMCW波形并通过接收天线依次接收回波信号从而得到雷达原始数据,其次对获取的原始数据依次经行距离、速度、角度估计从而输出目标的3D点云。阅读本文档,你将对TDMA-MIMO雷达的基本原理、毫米波雷达距离估计、速度估计以及角度估计的基本原理有所了解,另外CA-CFAR恒虚警以及MUSIC-DOA估计在本案例中也有所涉及。1 TDMA-MIMO原理。

Poulen的博客 6957

Jetson nano + yolov5 + TensorRT加速+Deepstream调用多路摄像头

Jetson nano + yolov5 + TensorRT加速+Deepstream调用多路摄像头

laoli_的博客 5168

告别上位机!用MCGS触摸屏+FTP服务器,5分钟搞定工控机文件自动同步

本文介绍了一种工业自动化领域的高效解决方案,通过MCGS触摸屏结合FTP服务器实现工控机文件的自动同步,无需开发上位机软件。该方案特别适用于图像采集、参数同步、数据备份等场景,具有成本低、可靠性高、维护简便等优势。详细配置指南和实战案例帮助用户快速实现零代码文件同步。

weixin_30872499的博客 559

Jetson nano部署过程记录:yolov5s+TensorRT+Deepstream检测usb摄像头

0 准备: (1)Jetson nano硬件【B01开发套件+USB摄像头+显示屏+网线】 (2)USB读卡器,64GB内存卡 1 烧录系统镜像 1)下载系统镜像 英伟达官方下载地址:https://developer.nvidia.com/embedded/downloads 下载系统镜像JetPack 4.5.1(4GB版本) 2)格式化SD卡 下载SD Card Formatter软件并安装:https://www.sdcard.org/downloads/formatt.

sshheennddee123的博客 4981

解决创建conda环境时Solving environment: failed 和 ResolvePackageNotFound 的错误

环境配置文件是在别的机器上导出的,文件里的软件包是按照导出文件的机器配置的,因此导出的时候,把这些包的详细信息也导了出来,即第二个等号后面跟着的信息,当我们按照这个文件创建环境时,conda就会根据我们机器的配置信息,按照配置文件里包的详细信息,去找这个包,那当然找不到,结果发现“查无此包”,因此也就会报上面的错误。上面找到了问题的所在之处,解决起来就很简单了,只需要在配置文件 environment.yml 中将包的详细信息删除,也就是第二个等号后面的内容。然而升级超级慢不说,也没有解决我的问题。...

番茄炒蛋三分糖 4万+

ThinkBook 16p 2024 BIOS降压定频实战:从解锁CFG Lock到AC Loadline调优

高性能笔记本在满载时频繁撞上温度墙,通常源于固件层默认电压冗余过大,而系统级降压工具又受限于CFG Lock锁定。要根治问题,需要从BIOS固件层面理解电压管理机制——AC/DC Loadline参数控制着CPU在不同负载下的电压请求,通过修改这些负载线值可以安全降低电压,解锁CFG Lock后还能让XTU、ThrottleStop等软件调参工具恢复可用。这种BIOS级调优在工程实践中广泛用于改善散热、稳定频率、压降风扇噪音,尤其适用于联想ThinkBook 16p 2024与拯救者Y9000P等采用HX平

weixin_32496547的博客 385

【亲测免费】 零基础入门Jetson Nano——Yolov5+TensorRT+Deepstream

零基础入门Jetson Nano——Yolov5+TensorRT+Deepstream 去发现同类优质开源项目:https://gitcode.com/ 本资源文件旨在帮助零基础用户入门Jetson Nano,并通过结合Yolov5、TensorRT和Deepstream技术,实现高效的目标检测。无论你是初学者还是有一定经验的开发者,本教程都将为你提供详细的步骤和指导,帮助你在嵌入式平台上提升Y...

gitblog_06525的博客 418

YOLO26改进 - C2PSA | C2PSA融合DiffAttention差分注意力:轻量级差分计算实现高效特征降噪,提升模型抗干扰能力

本文介绍了 DiffCLIP,一种将差分注意力机制集成到 CLIP 架构的视觉 - 语言模型,并将其应用于 YOLO26。差分注意力机制通过计算两个互补注意力分布的差值,抵消无关信息干扰。单头差分注意力将 Q 和 K 拆分,分别计算注意力分布后做差值融合;多头差分注意力则每个头独立执行差分操作后聚合输出。关键参数 λ 可动态调控噪声抵消强度。我们将 DiffAttention 代码集成到 YOLO26 中,替换原有模块。实验表明,改进后的 YOLO26 在图像 - 文本理解任务中表现出色。

魔改工程师的博客 601

Jetson Nano | DeepStream部署Yolov5(Pytorch模型-->wts 文件-->TensorRT模型)

https://blog.youkuaiyun.com/onetwothree_go/article/details/116132760 https://zhuanlan.zhihu.com/p/296314513 https://blog.youkuaiyun.com/hahasl555/article/details/116500763?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522162948266716780264096806%2522%252C%252

W1995S的博客 1万+

Python爬虫实战:基于最新技术爬取国家企业信用信息公示系统数据

本文将详细介绍如何使用Python最新技术栈构建一个高效、稳定的国家企业信用信息公示系统爬虫。我们将从爬虫基础知识讲起,逐步深入到反爬机制应对、数据解析与存储等高级话题,最终实现一个完整的爬虫系统。文章包含大量实战代码示例,适合中高级Python开发者学习参考。网络爬虫(Web Crawler)是一种自动获取网页内容的程序,广泛应用于搜索引擎、数据分析和商业情报收集等领域。通用爬虫:如搜索引擎爬虫,广泛抓取互联网公开信息聚焦爬虫:针对特定领域或网站的数据采集增量式爬虫:只抓取更新内容,减少资源消耗。

2201_76125261的博客 2405

Redhawk:什么是timing window?

STA timing file中timing window的作用和计算方式

m0_61544122的博客 1万+

Jetson Nano( 十一)Deepstream6.0 + yolov3/v5多路推理配置流程

Jetson Nano下Deepstream6.0 + yolov3/v5多路推理配置流程;并简单记录下deepstream的配置文件。 文章目录一.环境二.大体流程三.配置文件说明四.参考 Jetson Nano 系列文章: https://blog.youkuaiyun.com/djj199301111/category_11383635.html?spm=1001.2014.3001.5482 Deepstream 6.0.1安装参考上篇文章: https://blog.youkuaiyun.com/djj19930111

爬山的咸鱼 6820

博途PLC S7-1200/1500 ModbusTcp通信SCL代码篇(轮询)

博途PLC MODBUS TCP的详细讲解和注意事项,可以参看下面这篇博文,这里不在赘述。这篇作为SCL代码篇主要给出SCL语言下的轮训写法和注意事项。博途PLC1200/1500PLC ModbusTcp通信(轮询处理)_RXXW_Dor的博客-优快云博客。............

RXXW_Dor的博客 8419

jetson nano(B01)配置pytorch和torchvision环境+tensorrtx模型转换+Deepstream部署yolov5(亲测可用)

jetson nano(B01)配置pytorch和torchvision环境+tensorrtx模型转换+Deepstream部署yolov5(亲测可用) 前言 因为一次比赛接触到了jetson nano,需要使用pycharm训练自己的模型加上yolov5进行目标检测,并部署到jetson nano上,直到比赛结束也没有搞出来,后来jetson nano开始吃灰,后来因为大创需要重新开始了我的yolov5部署之路。网上资料断断续续,不是太清晰,也有太多的坑和bug,在环境配置中跌跌撞撞好几天,最后实现了

戚晨夕的博客 4380

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

基于YOLOv5s的火焰检测在jetson nano边缘计算设备上的部署(使用tensorrt加速,Deepstream视频推流SDK)

通过在PC端训练模型在nano上转成engine模型视频实时检测,tensorrt加速与deepstream部署

weixin_51453317的博客 2643

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

从零到一:在Jetson Nano上实现自定义YOLOv5模型的TensorRT推理与DeepStream集成

本文详细介绍了在Jetson Nano上实现自定义YOLOv5模型的TensorRT推理与DeepStream集成的完整流程。从环境准备、数据集制作到模型训练与优化,再到TensorRT模型转换和DeepStream集成实战,提供了全面的技术指导和性能优化技巧,帮助开发者高效部署AI模型。

weixin_42528902的博客 84

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

上一篇: Jetson Nano 安装deepStream
下一篇: Jenkins安装与部署
Done___
博客等级 码龄8年 65粉丝 22原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值