大家好!今天给大家分享一个 RDK X5 上快速跑通 YOLO 系列目标检测的保姆级教程,全程不需要复杂配置,复制粘贴命令就能跑通,还能直接在浏览器看实时检测效果~
准备工作
- 硬件:RDK X5 开发者套件 + 普通 USB 免驱摄像头
- 系统:官方 Ubuntu 22.04 镜像(预装 TROS Humble,开箱即用)
- 网络:PC 和 RDK 在同一局域网
运行步骤(3条命令搞定)
-
确认环境(先插好摄像头,执行以下命令检查):
# 确认摄像头识别正常 ls /dev/video* # 确认TROS环境存在 ls /opt/tros/humble/setup.bash正常输出会看到
/dev/video0/dev/video1和/opt/tros/humble/setup.bash,说明环境没问题。 -
启动 YOLOv8 检测:
# 加载TROS环境 source /opt/tros/humble/setup.bash # 配置摄像头类型为USB export CAM_TYPE=usb # 启动检测(默认YOLOv8,1920x1080分辨率) ros2 launch dnn_node_example dnn_node_example.launch.py \ dnn_example_config_file:=config/yolov8workconfig.json \ dnn_example_image_width:=1920 \ dnn_example_image_height:=1080 & -
查看效果:
启动后在同一局域网的 PC 浏览器打开:http://[你的RDK设备IP]:8000,就能看到摄像头实时画面和检测框啦!
运行效果与预期输出
- 终端日志:启动后会打印帧率信息,YOLOv8n 在 X5 上纯推理帧率可达 140fps,和摄像头输入对齐时稳定 15-30fps:
[example-3] [WARN] [1775626561.286471121] [dnn_example_node]: Sub img fps: 14.66, Smart fps: 14.66, infer time ms: 68 - 可视化效果:支持 COCO 数据集 80 种类别检测(人、车、动物、日常物品等),检测框会实时叠加在画面上。
扩展玩法
-
切换其他 YOLO 版本:只需修改启动命令中的配置文件参数:
- YOLOv2:
dnn_example_config_file:=config/yolov2workconfig.json - YOLOv3:
dnn_example_config_file:=config/yolov3workconfig.json - YOLOv5:
dnn_example_config_file:=config/yolov5workconfig.json - YOLOv10/11/12:对应修改配置文件名即可
- YOLOv2:
-
使用 MIPI 摄像头:把
export CAM_TYPE=usb改成export CAM_TYPE=mipi,其余步骤完全一致。 -
停止运行:执行
pkill -f "ros2 launch dnn_node_example"即可终止后台进程。
常见问题
- 看不到画面?检查 8000 端口是否被占用,或者防火墙是否放行,确认 RDK 和 PC 在同一局域网。
- 帧率低?可以降低输入分辨率(比如改成 1280x720),或者换成更轻量的 YOLOv8n 模型。
- 摄像头识别不到?检查 USB 接口是否插紧,执行
lsusb看有没有摄像头设备。
大家有问题欢迎在评论区交流~