RK3588双板视觉系统技术方案
版本信息
| 版本 |
日期 |
变更说明 |
| V1.0 |
2026-05-14 |
初始方案定稿 |
一、项目概述
1.1 需求背景
基于两块瑞芯微RK3588开发板构建分布式视觉系统,实现第三方平面相机图像采集、算法检测、实时视频传输与远程控制功能。系统需充分利用RK3588硬件加速能力,满足低延迟、高稳定性、低CPU占用的工业级要求。
1.2 核心功能
- 板一(采集处理端):通过第三方相机SDK采集图像,运行目标检测算法,将处理后的图像进行硬件编码并推流
- 板二(显示控制端):拉取板一的视频流并硬件解码显示,支持远程控制板一的检测启停
- 双向通信:控制指令和检测结果通过轻量可靠协议传输,保证不丢包、低延迟
1.3 硬件环境
- 核心板:Firefly RK3588(两块)
- 相机:第三方平面相机(支持USB/MIPI/GigE接口)
- 网络:千兆局域网(直连或交换机)
- 显示:HDMI显示器(板二)
二、整体架构设计
2.1 系统总架构
flowchart LR
subgraph 板一[板一(采集处理端)]
A[相机SDK] --> B[算法处理]
B --> C[FFMedia RGA格式转换]
C --> D[FFMedia H.264硬件编码]
E[ZeroMQ服务端]
end
subgraph 板二[板二(显示控制端)]
F[控制界面] --> G[ZeroMQ客户端]
H[FFMedia RTSP拉流解码] --> I[FFMedia DRM/X11显示]
end
D -- RTSP视频流 --> H
G -- ZeroMQ控制/结果 --> E
2.2 数据流设计
2.2.1 图像数据流(单向)
flowchart LR
subgraph 板一[板一(采集处理端)]
direction TD
A1[相机SDK采集]
B1[算法检测]
C1[绘制检测框]
D1[RGA转NV12格式]
E1[FFMedia内存输入]
F1[MPP硬件编码H.264]
G1[RTSP推流(板一)]
end
subgraph 板二[板二(显示控制端)]
direction TD
H1[RTSP拉流(板二)]
I1[MPP硬件解码H.264]
J1[RGA适配显示分辨率]
K1[DRM/X11硬件显示]
end
A1 --> B1
B1 --> C1
C1 --> D1
D1 --> E1
E1 --> F1
F1 --> G1
G1 --> H1
H1 --> I1
I1 --> J1
J1 --> K1
2.2.2 控制指令流(双向)
flowchart LR
A2[板二控制界面点击]
B2[ZeroMQ REQ发送指令]
C2[板一ZeroMQ REP接收]
D2[执行启停操作]
E2[返回执行结果]
F2[板二更新界面状态]
A2 --> B2
B2 --> C2
C2 --> D2
D2 --> E2
E2 --> F2
2.2.3 检测结果流(单向)
flowchart LR
A3[板一算法输出检测结果]
B3[Protobuf结构化序列化]
C3[ZeroMQ PUB发布结果]
D3[板二ZeroMQ SUB接收结果]
E3[界面叠加显示检测框]
A3 --> B3
B3 --> C3
C3 --> D3
D3 --> E3
三、技术选型
3.1 核心技术栈
| 功能模块 |
技术方案 |
选型理由 |
| 视频编解码 |
FFMedia + RKMPP |
瑞芯微官方封装,原生支持硬件编解码,零拷贝,低延迟 |
| 视频传输 |
FFMedia RTSP |
内置RTSP服务器/客户端,无需额外开发,支持UDP低延迟模式 |
| 控制与结果传输 |
ZeroMQ C++ |
轻量高性能,原生支持REQ-REP/PUB-SUB模式,ARM平台占用极低,无第三方依赖 |
| 数据序列化 |
Google Protobuf |
结构化数据体积小,C++支持好,跨平台 |
| 图像预处理 |
FFMedia RGA |
硬件加速缩放、裁剪、格式转换,CPU占用极低 |
| 显示 |
FFMedia DRM/X11 |
硬件加速渲染,零拷贝显示,延迟最低 |
四、性能指标
4.1 端到端延迟(1080P 30fps)
| 环节 |
延迟范围(ms) |
| 相机采集 |
8~15 |
| 算法处理 |
10~40(取决于模型复杂度) |
| RGA格式转换 |
2~5 |
| MPP硬件编码 |
5~8 |
| 网络传输 |
3~10 |
| RTSP解封装 |
10~20(低延迟模式) |
| MPP硬件解码 |
4~7 |
| 显示输出 |
1~3 |
| 总延迟 |
60~120(含算法处理) |
4.2 资源占用
- 板一CPU占用:<15%(不含算法)
- 板二CPU占用:<10%
- 网络带宽:约4Mbps(1080P 30fps H.264)
- 内存占用:<512MB
五、优化方向
5.1 延迟优化
- 关闭不必要的网络缓冲,启用RTSP低延迟模式
- 全程使用DMA内存,避免内存拷贝
- 优化编码参数,降低GOP大小
- 优先使用UDP传输协议
- ZeroMQ启用TCP_NODELAY选项,减少小包延迟
5.2 稳定性优化
- 实现ZeroMQ自动重连机制
- 增加异常处理逻辑,支持相机断连、网络异常自动恢复
- 完善资源管理,避免内存泄漏
- 建立完善的日志系统,便于问题定位