【经验分享】RDK X5 三分钟跑通 YOLOv8 目标检测(USB 摄像头 + 实时 Web 预览)

大家好!今天给大家分享一个 RDK X5 上快速跑通 YOLO 系列目标检测的保姆级教程,全程不需要复杂配置,复制粘贴命令就能跑通,还能直接在浏览器看实时检测效果~


:hammer_and_wrench: 准备工作
  • 硬件:RDK X5 开发者套件 + 普通 USB 免驱摄像头
  • 系统:官方 Ubuntu 22.04 镜像(预装 TROS Humble,开箱即用)
  • 网络:PC 和 RDK 在同一局域网

:rocket: 运行步骤(3条命令搞定)
  1. 确认环境(先插好摄像头,执行以下命令检查):

    # 确认摄像头识别正常
    ls /dev/video*
    # 确认TROS环境存在
    ls /opt/tros/humble/setup.bash
    

    正常输出会看到 /dev/video0 /dev/video1 和 /opt/tros/humble/setup.bash,说明环境没问题。

  2. 启动 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 &
    
  3. 查看效果:
    启动后在同一局域网的 PC 浏览器打开:http://[你的RDK设备IP]:8000,就能看到摄像头实时画面和检测框啦!


:bar_chart: 运行效果与预期输出
  • 终端日志:启动后会打印帧率信息,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 种类别检测(人、车、动物、日常物品等),检测框会实时叠加在画面上。

:light_bulb: 扩展玩法
  1. 切换其他 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:对应修改配置文件名即可
  2. 使用 MIPI 摄像头:把 export CAM_TYPE=usb 改成 export CAM_TYPE=mipi,其余步骤完全一致。

  3. 停止运行:执行 pkill -f "ros2 launch dnn_node_example" 即可终止后台进程。


:red_question_mark: 常见问题
  • 看不到画面?检查 8000 端口是否被占用,或者防火墙是否放行,确认 RDK 和 PC 在同一局域网。
  • 帧率低?可以降低输入分辨率(比如改成 1280x720),或者换成更轻量的 YOLOv8n 模型。
  • 摄像头识别不到?检查 USB 接口是否插紧,执行 lsusb 看有没有摄像头设备。

大家有问题欢迎在评论区交流~