香橙派 RK3588 的 5 路 1080p 实时关键点检测

演示视频

https://www.bilibili.com/video/BV1yvN9zdE8F

常见场景

输入拉流 RTSP → 推理 → 输出 RTSP 流服务

 

要实现的具体功能

  • 拉流 RTSP:用 ffmpeg 实现,解封装得到 H264,配置 RTSP over TCP 以确保传输稳定。
  • 解码:通过 MPP 解码例程实现,解 H264 得到 NV12 图像。
  • 预处理
  • 为减少 CPU 占用和提高帧率,优先使用 RGA 而非 OpenCV,实现图像放缩和 NV12 转 RGB。
  • 采用 Letterbox 方式处理:宽高等比放缩,多余空间填充黑边并居中,需额外处理位移填充和坐标。
  • RGA 使用注意事项:需查阅官方文档,避免 4G 内存报错、图像抖动等问题(如限定 RGA3 核、使用专门内存分配器)。
    • 推理
  • 多线程推理:为每个 NPU 核分配独立线程,轮流输入图像至 NPU 推理。
  • 模型:使用官方例程中的 YOLOv8n-pose 模型,未做性能优化以方便对比。
    • 后处理
  • 例程包含 NMS 过滤和画框画点线功能(缺少打标签环节)。
  • 直接在 NV12 图像上用 CPU 画框(减少 NV12 转 RGB 的耗时),理论上可换 RGA 画框,但 CPU 处理小像素点场景更快,需实测决定。
    • 画面拼接:将每路视频后处理的图像放缩并拼接,使用 RGA2(需 4G 内存分配器,因 RGA3 已高负载)。
    • 编码:通过 MPP 编码例程将 NV12 图像编码为 H264。
    • RTSP 流服务:使用开源项目rtsp_demo封装 H264 为 RTSP 流,支持外部拉流。

 

测试视频信息

  • 分辨率:1080×1920 @30fps
  • 码率:2793kbps
  • 来源:B 站 UP 主 “麻辣纪子”

 

播放方式

在 PC 上使用 VLC 拉流 RTSP 地址。

 

资源占用率及温度

资源类型

占用率 / 状态

CPU(应用程序)

184%(满载 800%)

CPU(总系统)

191.9%(各核心占比累加)

内存(应用程序)

7.3%(582MB)

内存(总系统)

3.96GB/7.75GB

NPU

core0:88% / core1:91% / core2:90%

RGA

rga3_core0:28% / rga3_core1:7% / rga2:12%

温度

57℃

 

posted @ 2025-06-22 18:58  逸俊晨晖  阅读(256)  评论(1)    收藏  举报