【jetson】yolo8+DeepStream测试 本文档记录了在 Jetson Orin NanoJetPack 6.0 DeepStream 7.x平台基于 DeepStream-Yolo 开源仓库完成 YOLOv8n 模型从 PyTorch 到 ONNX 再到 TensorRT FP16 引擎的转换、自定义推理插件编译与配置调优的全流程一、基础环境硬件Jetson Orin Nano系统JetPack 6.0 (CUDA 12.6)DeepStream 7.1.0运行环境Jetson 设备连接显示器在本地执行二、获取 DeepStream-Yolo 官方仓库操作mkdir~/yolo_testcd~/yolo_test# 克隆官方开源仓库GitHubgitclone https://github.com/marcoslucianops/DeepStream-Yolo.gitcdDeepStream-Yolo三、模型转换YOLOv8n.pt → ONNX → TensorRT 引擎3.1 准备 YOLOv8 模型将yolov8n.pt放到~/yolo_test/下可从 Ultralytics 下载。3.2 安装依赖# 检查已安装的包pip3 list|grep-iEonnx|torch|ultralytics# 缺失则安装pip3installonnx ultralytics遇到的问题安装 ultralytics 后 numpy 被升级到 2.x导致 PyTorch 2.8 无法运行。解决pip3installnumpy2--force-reinstall3.3 运行转换脚本cd~/yolo_test/DeepStream-Yolo/utils python3 export_yoloV8.py-w../../yolov8n.pt在 yolov8n.pt 同级目录下生成文件yolov8n.onnx— ONNX 模型labels.txt— 类别标签COCO 80 类将上面两个文件到项目目录中mv../../yolov8n.onnx../mv../../labels.txt../四、编译自定义 YOLO 插件4.1 确认 CUDA 版本并修改 Makefilenvcc--version# 显示 12.6cd~/yolo_test/DeepStream-Yolo/nvdsinfer_custom_impl_YoloCUDA_VER12.6make-j44.2 编译makecleanmake-j4编译成功后在nvdsinfer_custom_impl_Yolo/下生成libnvdsinfer_custom_impl_Yolo.so。五、配置文件修改5.1 推理配置文件YOLOv8 专用原始模板config_infer_primary_yoloV8.txt已存在。只需修改 3 个关键项其他保持原样[property] onnx-fileyolov8n.onnx network-mode2 num-detected-classes80network-mode2→ FP16 加速引擎文件名可改为model_b1_gpu0_fp16.engine与 FP16 匹配非必须但推荐5.2 主应用配置文件先备份原文件cd~/yolo_test/DeepStream-Yolocpdeepstream_app_config.txt deepstream_app_config.txt.bak编辑deepstream_app_config.txt关键修改① 推理部分[primary-gie] config-fileconfig_infer_primary_yoloV8.txt② 视频源先用视频文件测试[source0] enable1 type2 urifile:///opt/nvidia/deepstream/deepstream/samples/streams/sample_1080p_h264.mp4 num-sources1 gpu-id0 cudadec-memtype0 [tests] file-loop1 # 循环播放避免窗口闪退③ 显示 sink根据环境选择[sink0] enable1 type2 # xvimagesinkX11 环境 sync0 gpu-id0 qos0若遇到 Wayland 或显示问题可改用type5→ fakesink无画面测试实际运行报错原因未知六、运行测试6.1 确保 X11 显示可用exportDISPLAY:1# 根据实际环境gst-launch-1.0 videotestsrc!xvimagesink# 验证6.2 首次运行构建引擎cd~/yolo_test/DeepStream-Yolo deepstream-app-cdeepstream_app_config.txt过程若引擎文件model_b1_gpu0_fp16.engine不存在会自动构建 TensorRT 引擎耗时约 6 分钟仅一次。构建成功后引擎文件保存于项目根目录。引擎文件名不匹配会导致每次重建 → 把config_infer_primary_yoloV8.txt中的model-engine-file改为model_b1_gpu0_fp16.engine。6.3 验证推理效果日志输出serialize cuda engine to file: .../model_b1_gpu0_fp16.engine successfully Load new model:...config_infer_primary_yoloV8.txt sucessfully PERF: 60.10 (58.77)画面视频窗口带检测框循环播放。七、切换到 USB 摄像头实时检测7.1 查看摄像头设备ls/dev/video* v4l2-ctl --list-devices v4l2-ctl-d/dev/video0 --list-formats-ext本例为 USB 摄像头设备节点/dev/video0支持 MJPG 1280x72030fps。7.2 修改主配置文件[source0] enable1 type1 device/dev/video0 camera-width640 camera-height480 camera-fps-n30 camera-fps-d1 num-sources1 gpu-id0 [streammux] live-source1 width640 height480 [tests] file-loop1 #可改为 0实时摄像头不需要循环7.3 运行实时检测deepstream-app-cdeepstream_app_config.txt预期窗口显示摄像头实时画面带 YOLOv8 检测框帧率约 30 fps受摄像头帧率限制。![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/4de0791ec0d442c388805076914a6388.png#pic_center)八、最终文件结构关键文件~/yolo_test/ ├── yolov8n.pt ├── DeepStream-Yolo/ │ ├── yolov8n.onnx │ ├── labels.txt │ ├── model_b1_gpu0_fp16.engine (自动生成) │ ├── config_infer_primary_yoloV8.txt │ ├── deepstream_app_config.txt │ ├── nvdsinfer_custom_impl_Yolo/ │ │ └── libnvdsinfer_custom_impl_Yolo.so │ └── ...九、总结核心步骤模型转换 → 编译插件 → 修改配置 → 运行。引擎首次构建需数分钟后续启动仅加载约 5-10 秒。通过v4l2-ctl -d /dev/video0 --list-formats-ext可查询摄像头原生支持分辨率、帧率、编码格式保证配置参数与硬件能力匹配。

相关新闻

最新新闻

JavaScript循环结构与数据类型实战指南

JavaScript循环结构与数据类型实战指南

1. 数据类型与循环基础概念解析在编程世界中,数据类型和循环结构就像建筑师的砖块与脚手架。数据类型定义了信息的存储方式,而循环则提供了重复操作的机制。JavaScript作为一门动态类型语言,其数据类型分为两大类:原始类型&#x…

2026/7/17 22:44:19
STM32嵌入式视觉开发:IPL人脸检测实战与资源优化指南

STM32嵌入式视觉开发:IPL人脸检测实战与资源优化指南

这类视觉应用开发最怕的就是理论讲一堆,实际跑不起来。STM32 上跑人脸检测,关键不是模型多新,而是能不能在有限的 RAM 和 Flash 里稳定运行,并且输入输出对接顺畅。我一般会先拆清楚:这个 IPL 人脸检测,到底…

2026/7/17 22:44:19
QUAKE 3源代码评测:架构

QUAKE 3源代码评测:架构

QUAKE 3源代码评测:架构(第1部分,共5部分)>> 由于我在下一个合同(翻译可能有误)前一个星期,我决定完成我的“循环ID”。 Doom,DoomiPhone,Quake1,Quak…

2026/7/17 22:44:19
2026企业网盘怎么选?我的选型经历与真实体会

2026企业网盘怎么选?我的选型经历与真实体会

一、从个人工具到企业网盘:一个自然过渡2026年,远程办公和跨地域协作早已不是新鲜事,但团队内部文件流转的方式却依然值得反复审视。我身边不少初创团队起步时,习惯用各类免费个人网盘、微信传输或U盘拷贝来分享文件。起初确实方便…

2026/7/17 22:44:19
SpeechAnalyzer API性能对比:iOS语音识别技术迁移与优化实践

SpeechAnalyzer API性能对比:iOS语音识别技术迁移与优化实践

在语音识别技术快速迭代的今天,Apple最新推出的SpeechAnalyzer API在性能测试中展现出了令人瞩目的表现。作为长期从事iOS开发的工程师,我们在实际项目中对SpeechAnalyzer、Whisper系列以及Apple旧版SFSpeechRecognizer进行了全面的横向对比测试&#xf…

2026/7/17 22:44:19
紧急修复!ChatGPT默认食谱生成器存在3处重大营养学偏差——资深注册营养师联合AI工程师发布定制化补丁v2.1

紧急修复!ChatGPT默认食谱生成器存在3处重大营养学偏差——资深注册营养师联合AI工程师发布定制化补丁v2.1

更多请点击: https://kaifayun.com 第一章:紧急修复!ChatGPT默认食谱生成器存在3处重大营养学偏差——资深注册营养师联合AI工程师发布定制化补丁v2.1 近期,由临床营养学专家与AI系统安全团队组成的交叉验证小组发现,…

2026/7/17 22:39:19

月新闻