YOLOv11 + TensorRT 在 Jetson 设备上的实时部署
YOLOv11 + TensorRT 在 Jetson 设备上的实时部署
模型导出:从 PyTorch 到 TensorRT 引擎
# 1. 导出 ONNX 格式(中间格式)
yolo export model=best.pt format=onnx imgsz=640
# 2. 导出 TensorRT 引擎(GPU 优化格式)
yolo export model=best.pt format=engine device=0 half=True imgsz=640
关键参数
- format=engine:指定导出 TensorRT 引擎
- device=0:强制使用 GPU 导出(必须)
- half=True:启用 FP16 精度(速度提升 1-2 倍,精度损失小)
- imgsz=640:固定输入尺寸(与训练一致,避免推理报错)
| 格式 | 特点 | 适用场景 |
|---|---|---|
| .pt | PyTorch 原生格式,支持动态尺寸 | 训练、调试 |
| .onnx | 跨框架中间格式,支持多后端 | 跨平台部署(如 OpenVINO) |
| .engine | TensorRT 优化格式,绑定硬件 / 版本 | Jetson 设备实时推理(最快) |
常见错误
- ERROR: TensorRT model exported with a different version
引擎版本与当前 TensorRT 版本不匹配 重新导出引擎(在当前环境中执行 export) - AssertionError: input size … not equal to max model size
推理尺寸与导出时尺寸不匹配 推理时用 imgsz=导出尺寸 或重新导出指定尺寸引擎
Jetson 设备性能优化
- 电源模式切换(释放性能)
Jetson 设备默认可能处于低功耗模式,需切换到高性能模式:
sudo nvpmodel -q # 查看当前模式
sudo nvpmodel -m 2 # 设置为最大性能模式
sudo jetson_clocks # 启用最大频率
- 性能监控
# 安装 jetson-stats(设备监控工具)
sudo pip3 install jetson-stats
# 启动监控界面(查看 CPU/GPU 使用率、频率、温度)
jtop
摄像头读取优化(解决帧率低)
- 核心问题
Jetson 上 cv2.VideoCapture(0) 默认使用 V4L2 后端,读取速度慢(单帧耗时 >200ms),导致帧率被限制。 - 优化方案:GStreamer 硬件加速
USB 摄像头配置
# 配置摄像头(高效参数,与TensorRT配合最大化性能)
cap = cv2.VideoCapture(0)
# 1. 启用MJPG格式(压缩编码,读取速度提升3-5倍)
cap.set(cv2.CAP_PROP_FOURCC, cv2.VideoWriter.fourcc('M', 'J', 'P'


596

被折叠的 条评论
为什么被折叠?



