Jetson AGX Orin 下TensorRT-Alpha模型部署及YOLOv8 C++部署

Jetson AGX Orin上部署YOLOv5_v5.0+TensorRT8 阅读详情
AI摘要

本文详细介绍了在Jetpack5.1.2环境下,使用CUDA11.4、Cudnn8.6.0、TensorRT8.5.2以及OpenCV4.5部署Yolov8模型(包括TensorRT-Alpha模型下载、设置TensorRT根目录、ONNX转换和TensorRT优化)的过程,包括具体步骤和环境配置,适合对Jetson平台有需求的开发者参考。

1、系统环境:

Jetpack5.1.2、CUDA11.4、Cudnn8.6.0、Tensorrt8.5.2、OpenCV4.5

主要参考链接:Jetson Xavier NX 下 yolov8 tensorrt模型部署(Jetpack5.1.2、CUDA11.4、Cudnn8.6.0、Tensorrt8.5.2)_yolov8在jetson上部署-优快云博客

2、TensorRT-Alpha模型下载:

下载链接:GitHub - FeiYull/TensorRT-Alpha: 🔥🔥🔥TensorRT for YOLOv8、YOLOv8-Pose、YOLOv8-Seg、YOLOv8-Cls、YOLOv7、YOLOv6、YOLOv5、YOLONAS......🚀🚀🚀CUDA IS ALL YOU NEED.🍎🍎🍎

3、TensorRT-Alpha模型部署:(yolov8为例)

设置TensorRT根目录(安装目录)路径:

git clone https://github.com/FeiYull/tensorrt-alpha
cd tensorrt-alpha/cmake
vim common.cmake。
# 把common.cmake文件第20行中的TensorRT_ROOT修改成您的TensorRT安装目录。例如改成如下:
# set(TensorRT_ROOT /home/feiyull/TensorRT-8.4.2.4)

其中Jetson板子中的tensorrt默认路径为/usr/src/tensorrt

4、Yolov8 C++模型部署(参考官网):

a、转为onnx模型

step1 # install yolov8
conda create -n yolov8 python==3.8 -y # for Linux

step2 # 
conda activate yolov8
pip install ultralytics==8.0.5
pip install onnx==1.12.0
pip install onnx-simplifier==0.4.8

step3 #切换到ultralytics包目录
cd home/nvidia/miniforge-pypy3/envs/yolov8/lib/python3.8/site-packages/ultralytics

step4 # download offical weights(".pt" file)
https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s.pt

step5 #创建转换脚本:yolo.py 具体内容如下:
from ultralytics import YOLO
# Load the YOLOv8 model
model = YOLO('yolov8s.pt')
# Export the model to ONNX format
model.export(format='onnx')  # creates 'yolov8s.onnx'
# Load the exported ONNX model
onnx_model = YOLO('yolov8s.onnx')
# Run inference
results = onnx_model('https://ultralytics.com/images/bus.jpg')

# ultralytics包使用参考链接 https://docs.ultralytics.com/zh/integrations/onnx/#common-usage-of-onnx


step6 #执行脚本 在当前目录下获得onnx文件
python3 yolo.py


# 或者直接下载onnx模型,https://share.weiyun.com/3T3mZKBm

b、使用tensorrt转换onnx文件为trt文件

#将上一步导出的onnx文件放在刚才在开发板上git的tensorrt-alpha/data/yolov8文件夹下

$ cd /tensorrt-alpha/data/yolov8

#声明使用到的tensorrt路径
$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/src/tensorrt

$ /usr/src/tensorrt/bin/trtexec   --onnx=yolov8s.onnx  --saveEngine=yolov8s.trt  --minShapes=images:1x3x640x640 --optShapes=images:2x3x640x640 --maxShapes=images:4x3x640x64

5、cmake

$ cd tensorrt-alpha/yolov8
$ mkdir build
$ cd build
$ cmake ..
$ make -j10

这是由于tensorrt版本过高导致,tensorrt8.4版本可能不会出现以上错误。
我板子上使用的是tensorrt8.5.2,这个版本tensorrt下的sampleOptions.cpp文件中未定义splitToStringVec函数会出现以上错误。所以需要进行以下修改
首先进入到/usr/src/tensorrt/samples/common文件夹下,打开终端,执行如下命令

$ sudo vim sampleUtils.h

Esc + i 插入

Esc + shift + wq 保存退出

在第77行可以看到关于splitToStringVec函数的一个声明,但并未定义,所以将它注释掉,如下所示:

// std::vector<std::string> splitToStringVec(std::string const& option, char separator);

之后保存退出(Esc + shift: + wq),打开sampleOptions.cpp文件,将splitToStringVec函数的定义添加在这

$ sudo vim sampleOptions.cpp

#在文件的38行,也就是namespace中添加如下代码

std::vector<std::string> splitToStringVec(const std::string& option, char separator)
{
    std::vector<std::string> options;

    for (size_t start = 0; start < option.length();)
    {
        size_t separatorIndex = option.find(separator, start);
        if (separatorIndex == std::string::npos)
        {
            separatorIndex = option.length();
        }
        options.emplace_back(option.substr(start, separatorIndex - start));
        start = separatorIndex + 1;
    }

    return options;
}

之后保存退出,再一次编译,就成功啦。

6、Run

## 640
# infer image
./app_yolov8  --model=../../data/yolov8/yolov8s.trt --size=640 --batch_size=1  --img=../../data/6406407.jpg   --show --savePath=../

# infer video
./app_yolov8  --model=../../data/yolov8/yolov8s.trt     --size=640 --batch_size=2  --video=../../data/people.mp4  --show

# infer camera
./app_yolov8  --model=../../data/yolov8/yolov8s.trt     --size=640 --batch_size=2  --cam_id=0  --show

jetson agx orin 的pytorch、torchvision、tensorrt安装最全教程 阅读详情

相关推荐

[orin] nvidia orin 上配置tensorrt | 解决虚拟环境中路径无法import的问题

到系统本身的python目录下,把`tensorrt-8.4.1.5.dist-info`和`tensorrt`两个文件夹拷贝到虚拟环境(我这里的名字叫做`mmdeploy`)中。

condom10010的博客 2818

TensorRT系列教程

tensorrt系列教程

整理ing 4609

Jetson Orin Nano 2深度解析:性能翻倍背后的技术逻辑与实操部署

边缘AI设备正成为机器人、工业视觉和端侧大模型落地的关键载体,而嵌入式平台的真实性能往往由算力、内存带宽与功耗策略共同决定。英伟达Jetson家族的新一代入门级产品Orin Nano 2,通过提升INT8算力、扩展内存带宽并放开功耗档位,让TOPS数字从40翻倍至80级别,但实际帧率收益还需结合TensorRT优化与散热管理。对于开发者而言,理解统一内存架构下的瓶颈转移,掌握nvpmodel功耗切换、YOLOv8模型导出为engine格式、llama.cpp量化部署等工程技能,远比单纯对比峰值性能更重要。在

weixin_33911824的博客 370

jetson AGX orin 配置pytorch和cuda使用、yolov8 TensorRt测试

安装 sudo apt-get install libjpeg-dev zlib1g-dev 之后,删除所有缓存和编译零时文件,再重新编译安装即可。由于gpu推理通常需要预热,拷贝图像(bus.jpg)到文件夹重复多张(以10张为例)即可,重新运行,基本推理耗时。默认安装在系统环境中,若在虚拟环境中,可以创建软连接到虚拟环境中。导出默认的fp32模型,耗时11分钟,40qps,加载测试如下。,执行耗时32分钟(模型文件大小缩小一半),95qps,,如下。若均不报错,且能正常输出说明安装成功,如下图。

热爱生活,忠于自己 5989

Jetson边缘计算优化:OpenCV Gapi图计算实战指南

在边缘计算和嵌入式视觉系统中,图像处理流水线的性能优化是关键挑战。OpenCV作为计算机视觉的基础库,其传统命令式编程模型在处理复杂流水线时存在内存带宽瓶颈和并行度不足的问题。Gapi(Graph API)通过引入声明式计算图范式,实现了算子融合、内存复用和异构调度等深度优化,显著提升了处理效率。这一技术特别适用于NVIDIA Jetson等资源受限的边缘设备,能够有效降低功耗和延迟,满足实时性要求。本文聚焦于Jetson平台,结合环境配置和算子融合等热词,详细解析如何利用Gapi优化视觉流水线,为边缘AI

444

LLaVA-1.5低资源微调实战:从显存优化到边缘部署

多模态大模型并非简单拼接图像与文本,其核心在于视觉特征与语言空间的可微对齐。LLaVA作为典型视觉语言模型,依赖ViT编码器、MLP/QFormer投影器和LLM解码器的协同工作,但原生结构在消费级GPU或边缘设备上面临显存爆炸、推理延迟高、训练不稳定等工程瓶颈。关键技术突破点包括视觉token选择性池化、QLoRA量化微调、flash-attn2加速及ONNX+TensorRT轻量化部署。本文聚焦LLaVA-1.5架构,在RTX 3090/A10/Orin等低资源约束下,系统阐述显存测算依据、LoRA秩科

341

YOLOv8-seg改进:RFAConv提升纸箱实例分割精度与速度

实例分割是计算机视觉中的关键技术,通过像素级识别实现物体定位与轮廓提取。其核心原理结合了目标检测与语义分割,在工业自动化领域具有重要价值。针对物流场景中的纸箱分割难题,基于YOLOv8-seg架构的改进方案展现出显著优势。通过引入RFAConv模块的多尺度感受野融合和注意力机制,有效解决了堆叠纸箱边缘粘连和印刷干扰等典型问题。结合边缘敏感损失函数和轻量级CRF后处理,在保持45FPS实时性能的同时,将掩模IoU提升至89.7%。该技术已成功应用于大型物流中心,使机械臂抓取成功率提升至98.7%,为智能制造提

weixin_30924087的博客 399

自监督视觉模型实战指南:CV工程师的工业落地手册

自监督学习(SSL)是一种利用图像自身结构构造密集监督信号的表征学习范式,其核心原理是通过对比学习、掩码建模或自蒸馏等方式,从无标注数据中挖掘像素级、局部-全局及语义原型等多粒度监督信息。相比传统监督预训练,SSL显著降低小样本场景下的数据依赖,提升模型对光照、尺度、材质变化的泛化鲁棒性,在工业缺陷检测、遥感分割、医疗影像分析等任务中已验证可节省80%以上标注成本并提升关键指标。本文聚焦CV工程师真实工作流,结合DINOv2、MAE、MoCo-v3等主流模型,系统解析任务适配逻辑、微调策略选择、边缘部署优化

dgjm4087的博客 559

T-Rex2实时抠像部署:ONNX+TensorRT在Jetson Orin上的工业级实践

实时人像分割是虚拟会议、直播交互等场景的核心基础能力,其技术本质是端到端的高精度alpha matte生成与动态边缘一致性建模。实现低延迟(<50ms)、低功耗、高鲁棒性的边缘部署,关键在于模型结构、中间表示与推理引擎的深度协同。ONNX作为标准化中间层,支撑训练与推理解耦;TensorRT则通过图优化、INT8量化与硬件加速(如DLA)释放GPU极限性能。本文以T-Rex2这一工业级实时视频抠像模型为范例,详解从PyTorch导出、ONNX图精简、TensorRT引擎构建到CUDA后处理的全链路落地方法,

weixin_33796177的博客 168

TensorFlow工业级计算机视觉实战:数据治理、模型演进与边缘部署

计算机视觉(CV)不仅是算法问题,更是端到端工程系统问题。其核心在于如何将原始图像数据可靠地转化为可部署、可维护、可验证的推理服务。TensorFlow凭借tf.data的数据图编译能力、tf.keras.Model子类化的架构可演进性、tf.function+XLA的确定性高性能编译、SavedModel的契约式交付标准,以及TFLite对边缘设备的深度优化支持,构成了面向真实产线的全栈CV工程底座。尤其在数据质量不可控、模型需渐进升级、部署环境受限(如CPU/嵌入式/低温工况)等工业场景中,Tensor

537

单图RGB实现透明物体三维体素重建与抓取

透明物体三维感知是计算机视觉与机器人领域的基础性难题,其核心在于折射干扰导致纹理缺失、深度失效和几何失真。传统方案依赖多视角重建或专用深度传感器,但工程落地受限于硬件成本、部署复杂度与实时性。本文聚焦‘单视图RGB驱动的体素占据预测’这一轻量化三维理解范式,将问题建模为三维语义分割任务,通过双通路特征编码、可微体素投影与物理启发增强,实现从2D图像到3D空间占位图的端到端映射。该技术绕过深度估计环节,显著提升对玻璃、亚克力等透明介质的鲁棒性,支撑高精度抓取规划,在仓储分拣、服务机器人及工业质检等场景具备即插

weixin_34245082的博客 728

YOLOv5/v8焊缝缺陷检测实战:解决模糊、飞溅与反光漏检

焊缝缺陷检测是工业视觉中的典型小目标检测任务,其核心挑战在于低对比度连续结构、强干扰噪声(如飞溅颗粒)及极端尺度不平衡。传统通用目标检测模型因缺乏对焊道物理特性的建模能力,易出现定位漂移与漏检。YOLO系列凭借轻量化结构、可定制损失函数(如EIoU)和适配细长目标的特征金字塔设计,在实时性与鲁棒性上显著优于Faster R-CNN等两阶段模型。本方案聚焦焊缝场景下的YOLOv5/v8工程化落地,提供真实产线数据集、焊道专属增强策略与WeldIoU评估体系,适用于本科毕设、高职实训及边缘端部署场景。

weixin_34348174的博客 401

nuScenes数据集深度解析:从多模态感知到量产级系统建模

自动驾驶感知系统的核心基础是高质量、结构化、时空一致的多模态数据集。nuScenes作为首个面向量产落地设计的公开数据集,突破了传统图像标注范式,以数据库级表结构组织传感器数据、自车位姿、实例运动状态与环境语义,支撑BEV建模、时序预测与跨模态对齐等关键技术。其纳秒级时间戳、物理驱动的3D标注体系(含速度、加速度、轨迹链)和可追溯的标定链路,使算法不再仅拟合静态图像,而是学习真实世界中的连续运动建模。本文深入剖析nuScenes的数据架构、文件格式与标注逻辑,覆盖下载校验、devkit避坑、YOLOv8适配

weixin_34367257的博客 383

工业传送带异物检测数据集:专为飞拍场景优化的YOLOv11轻量级标注

工业视觉中的传送带异物检测属于典型的小目标、运动模糊、强反光、多尺度遮挡场景,其核心挑战在于真实产线数据缺失与模型泛化能力不足。本文围绕‘工业飞拍(flying-snap)’这一关键技术范式,解析如何构建具备编码器脉冲同步、ROI动态裁剪、旋转框+实例掩码三合一标注能力的数据集,并支撑YOLOv11等改进型检测框架在金属铁棍、塑料袋等混合异物上的鲁棒识别。内容覆盖从高速运动建模、反光抑制增强,到Jetson Orin端侧部署与PLC联动控制的全链路实践,适用于包装、食品、建材等自动化分拣产线的AI质检落地。

weixin_34343308的博客 391

自动驾驶就业指南:从数据闭环到岗位能力光谱

自动驾驶不是单一技术方向,而是以数据闭环为驱动的系统工程体系。其核心原理在于采集、仿真、部署、测试、OTA五大环节的强耦合迭代,技术价值体现在将AI能力稳定落地于车规级硬件与功能安全约束中。典型应用场景覆盖城区NOA、高速领航、影子模式验证及车路云协同等真实交付现场。理解BEV感知、Occupancy Network、HIL台架、ASIL-B功能安全等关键词,是切入车载AI部署、仿真系统、影子模式分析等高需求岗位的关键入口。本文基于2023–2024年真实招聘数据与项目工单,解析可迁移、可验证、可量化的工程

weixin_34081595的博客 476

VOC格式脚手架检测数据集实战指南

VOC格式是目标检测中结构清晰、调试友好的经典数据规范,其XML标注、显式分割与强类型约束,为工业场景小规模数据集提供高质量基线。脚手架作为典型长尾工业类目,具有强遮挡、多尺度、高反光等挑战,恰好适配VOC格式的difficult字段与几何先验利用能力。1322张图像构成最小可行验证单元,在有限算力下支撑从数据清洗、YOLOv8微调到Jetson边缘部署的完整闭环,特别适用于建筑AI落地、CV工程实训与教学案例开发。

weixin_34116110的博客 595

双任务人脸系统:人脸识别与表情识别协同落地实践

人脸识别与表情识别是计算机视觉中两大基础任务,前者聚焦身份判别,依赖度量学习实现高精度特征匹配;后者属于细粒度分类,需捕捉微表情、光照变化及跨人种肌肉运动差异。二者协同可支撑门禁考勤、在线教育、智能客服等真实场景,但传统单模型单任务方案常因检测鲁棒性差、对齐失真、模型耦合导致工业落地失败。本文基于深度学习构建解耦式三级流水线(检测→对齐→双分支识别),采用MTCNN+仿射对齐保障关键点精度,ArcFace与Focal Loss分别优化身份检索与表情分类,并通过TensorRT加速、动态特征库、Retinex

weixin_34050005的博客 333

热轧带钢表面缺陷检测实战:从产线约束到边缘部署

工业视觉中的表面缺陷检测,本质是强干扰环境下对微小、低对比、形变目标的鲁棒识别问题。其核心原理在于突破传统CV模型对理想图像的依赖,通过物理建模(如热畸变、氧化膜干涉)驱动数据增强与网络结构改造,提升模型在高温、高粉尘、运动模糊等真实工况下的泛化能力。技术价值体现在漏检率降低41%、单帧延迟压至42.3ms、支持PLC级实时闭环控制。典型应用于钢铁、有色金属、带材制造等连续轧制产线的质量在线监控。本文聚焦热轧带钢这一典型场景,深度融合热畸变补偿、缺陷几何先验建模与Jetson边缘部署适配。

weixin_34216196的博客 317
上一篇: Jetson AGX Xavier D435i相机环境配置
下一篇: Jetson AGX Orin 下 evo 安装与报错解决
浪里肥鱼
博客等级 码龄7年 971粉丝 10原创
评论 7
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值