工程师必看!RK3576开发板NPU方案实用指南

发布时间:2026-01-22 阅读量:643 来源: 发布人: suii

本文基于 MYD-LR3576 开发板,详细记录了如何利用 500 万像素 USB 摄像头实现 640×640 分辨率的 YOLO5s 目标检测,并将结果实时输出至 1080P 屏幕的全流程。


通过系统级的软硬件协同优化,最终将端到端延迟控制在 40ms 以内,实现了 20FPS 的稳定实时检测性能。文章重点剖析了摄像头特性分析、显示通路选择、RGA 硬件加速、RKNN NPU 集成等关键技术环节,为嵌入式 AI 视觉系统的开发与调优提供了一套完整的思路与实践方案。

图片9.png

图:基于RK3576核心板开发板

一、 系统架构与性能目标

1.1 硬件平台

· 主控芯片:Rockchip RK3576(四核A72+四核A53,6TOPS NPU,RGA,GPU,VPU)

· 摄像头:500万像素USB摄像头(支持MJPEG/YUYV格式)

· 显示器:4K HDMI显示屏(通过Weston桌面环境显示)

· 开发板:MYD-LR3576

 

1.2 软件平台

使用官方 V2.0.0 SDK 提供的 buildroot 镜像,内核版本为 6.1.118。
系统信息如下:

 

图片10.png

 

1.3 性能目标

· 实时性:完成从摄像头采集 → NPU推理 → 屏幕显示的完整流程,耗时不超过摄像头一帧的时间。

· 输入/输出:尽可能提高摄像头采集帧率,并在显示端支持更高的输出分辨率。

· 功能:实现 YOLO5s 目标检测,并在视频画面中实时绘制检测框。

 

二、数据处理流程与优化实践

摄像头数据需要经历哪些过程才能到显示端输出,参考下图

图片11.png

 

 

2.1 CPU 处理方案及其瓶颈

 

图片12.png

 

如果把摄像头数据直接显示到屏幕上,先了解清楚它们输入输出关系。

摄像头输出可以用v4l2-ctl -D -d /dev/videoxx --list-formats-ext

Display输出可用用cat /sys/kernel/debug/dri/0/state查看

图片13.png

 

根据实时性来说,需要选择最高fps分辨率对应输出,这里选择640x480 20fps,那么它需要把YUYV格式替换成RGBA8888才能显示。

显示大小不超过屏幕最大分辨率3840x2160即可。

CPU处理是如下过程

图片14.png

 

若要将摄像头采集的 YUYV 格式数据直接显示到屏幕,需先转换为 RGBA8888 格式。在 CPU 上进行格式转换与缩放的性能如下(输入为 640×480 YUYV):

图片15.png

可见,CPU 在处理 1080P 分辨率时已接近能力上限,更高分辨率则无法满足实时性要求。

 

2.2 引入 RGA 进行硬件加速

RGA作为RK3576 2D处理芯片模块,它的作用是对图片做旋转,缩放,旋转,镜像以及格式转换。

根据手册信息,它能处理数据的性能是 物理地址 >  dma > 虚拟地址。那么用RGA来替换CPU的格式转换和缩放。

图片16.png

RGA是一次进行转换和缩放,下面是对比CPU运算的对比图

 

使用 RGA 替代 CPU 进行格式转换与缩放后,性能对比如下:


图片17.png


RGA 的引入带来了数量级的性能提升,尤其是 DMA 模式,大幅降低了处理延迟。

 

2.3 GPU 直接显示方案

调试阶段常使用 OpenCV 的 imshow 显示图像,但其依赖 CPU 参与,无法满足实时性要求。系统实际采用 DRM 显示框架与 Weston 桌面环境,因此我们选用 Wayland-client 方案进行直接显示,实现 GPU 直显。

图片18.png

 

不同输入模式下的显示耗时对比:


图片19.png


2.4 NPU 推理流程与耗时分析

图片20.png


通用模型,通过rknn-toolkit2转换成rknn后就可以通过RKNN API来调用和推导。


这里我们直接采用同事提供的rknn模型,yolov5s-640-640.rknn和coco_80_labels_list.txt,以及一些调用参考代码。


它的输入必须是640x640RGB格式


rknn推理虚拟地址关键步骤如下


图片21.png


实际测试后rknn_run 这个阶段大概耗时 26~31ms之间


rknn_outputs_get 获取数据后即可进行内部处理,检测出目标,坐标,信心指数,根据实际需求绘制在屏幕上,这一步可以多进程异步处理,不算在串行时间内,笔者测试大概会多花8ms左右。

图片22.png


因此 总计一下摄像头实时采集NPU推理到显示整个过程耗时情况


图片23.png


结论:NPU 推理阶段(T2)仍是系统的主要耗时环节。但通过 DMA + RGA + 直接显示 的优化组合,系统整体延迟大幅降低,且在高分辨率输出下仍能保持稳定的帧率。


2.5 多摄像头系统资源占用分析

· 虚拟内存方案

1个摄像头

 

图片24.png


图片25.png

 

图片26.png


4个摄像头

图片27.png

 

图片28.png

 

· Dma方案

1路摄像头输出

 

图片29.png

 

2路摄像头输入

图片30.png

 

 

三、总结

在嵌入式 AI 视觉系统中,NPU 的算力是决定性能上限的关键因素。然而,要达到这一上限,必须构建高效的数据流水线。本文实践表明,通过 RGA 硬件加速、DMA 零拷贝数据传输以及 GPU 直接显示 的协同优化,能够彻底释放 RK3576 平台的异构计算潜力,将端到端延迟控制在数十毫秒内,实现高清、实时的目标检测应用。这一优化思路同样适用于其他具备类似硬件加速单元的嵌入式 AI 平台。

相关资讯
基于 RK3576 开发板的 MIPI 摄像头 ISP 全链路调试方案:主观调优与工程实战(下)

在上篇我们完成了 BLC、LSC、AWB 及 CCM 的客观标定、建立科学成像基准的基础上,本文将延续 ISP 调试流程,依次进行主观画质调试、IQ 文件配置与常见问题排查,直至实现全流程闭环落地。

4K分辨率+夜视算法!全新瑞芯微RV1126B摄像头方案上市

瑞芯微RV1126B夜视摄像头方案集成新一代AI双ISP(图像信号处理)模块、夜视算法,具备强大的图像处理与硬件加速能力

6~8TOPS算力、能跑OpenClaw,基于龙芯高性能SoC开发的工控盒子上新!

龙芯 2K3000/3B6000M MINI工控盒子,以龙芯八核自主 SoC为核心,打造全自主、小体积、强接口、高可靠的工业级计算平台

软件、硬件、方案Demo完全开源:国产具身智能开源机械臂关节伺服方案上架!

高性能MCU凭借高主频、DSP指令与硬件加速器,单芯片即可完成多轴伺服、观测器及非线性控制,解决了计算瓶颈与实时性问题

NXP高集成VS国产高算力电感式编码器在机器人关节控制中的选型对比

编码器作为设备的“精度心脏”,其性能直接决定了设备的定位准度、运行稳定性,甚至使用寿命。