inteintegrity2026-09-22

RK3576 三种加速器实测对比:片内 NPU、Hailo-8 与 RK182x

在同一台 reComputer RK3576 上,将同一个 YOLO26n 模型分别部署到片内 NPU、Hailo-8 和 RK182x, 对比单路与 8 路并发场景下的实际推理性能:单路场景中 Hailo-8 表现最佳, 8 路并发时 RK182x 获得最高总吞吐。

CVBenchmarkEdge AIGitHub

reComputer RK3576 集成片内 NPU,同时提供 M.2 插槽用于扩展外部 AI 加速模块。

本次测试将同一个 YOLO26n 模型(COCO 80 类、640×640、INT8)分别部署到三种推理后端:

  • RK3576 片内 NPU
  • Hailo-8 M.2 加速模块
  • RK182x M.2 加速模块

我们重点对比单路与 8 路并发场景下的实际 FPS。三种方案均使用同一段 640×640、共 394 帧的视频,视频解码与 NMS 均采用同一套主机端实现,以尽量减少软件流程差异对测试结果的影响。

快速部署

准备工作

需要一台 reComputer RK3576,或同系列兼容设备。

Hailo-8 与 RK182x 共用同一个 M.2 插槽,因此同一时间只能安装其中一个模块;RK3576 片内 NPU 则无需额外硬件。

仓库中的安装脚本会使用随仓依赖创建彼此隔离的离线 Python 环境,但不会安装或覆盖内核驱动。Hailo-8 和 RK182x 仍需板端已有匹配驱动,并安装对应的硬件模块。

1. 获取代码

三种后端所需的模型文件均已包含在仓库中,无需自行转换。

bash
git clone https://github.com/inteintegrity/rk3576-hailo8-vs-rk182x
cd rk3576-hailo8-vs-rk182x

2. 单路推理

Hailo-8

将 Hailo-8 安装到 M.2 插槽后运行:

bash
bash scripts/install-hailo8.sh
bash scripts/run-hailo8.sh

RK3576 片内 NPU

bash
bash scripts/install-rk3576.sh
bash scripts/run-rk3576.sh

RK182x

将 RK182x 安装到 M.2 插槽后运行:

bash
bash scripts/install-rk182x.sh
bash scripts/run-rk182x.sh

环境只需安装一次;换视频时,将路径加在 run 命令后面即可,例如 bash scripts/run-rk3576.sh /path/to/clip.mp4。

3. 8 路并发测试

Hailo-8

bash
.venvs/hailo8/bin/python Hailo/Hailo8/run_streams_aggregate.py \
    --hef model/Hailo/yolo26n_hailo8_official.hef \
    --video video/test.mp4 \
    --streams 8 \
    --frames 200 \
    --json out/hailo8_8stream.json

RK3576 片内 NPU

bash
.venvs/rk3576/bin/python common/run_video_streams_benchmark.py \
    --backend rk3576 \
    --model model/rk3576/yolo26n_rk3576_int8.rknn \
    --video video/test.mp4 \
    --instances 1,2,4,8 \
    --frames 200 \
    --json out/rk3576_multi.json

RK182x

bash
.venvs/rk182x/bin/python common/run_video_streams_benchmark.py \
    --backend rk1820 \
    --model model/rk1820/yolo26n_rk1820_int8.rknn \
    --weight model/rk1820/yolo26n_rk1820_int8.weight \
    --video video/test.mp4 \
    --instances 1,2,4,8 \
    --frames 200 \
    --json out/rk1820_multi.json

4. 查看测试结果

单路推理完成后,会在 out/<backend>/ 目录生成:

  • 带检测框的 annotated.mp4
  • 包含逐帧检测结果及各阶段 FPS 的 JSON 文件

多路测试生成的 JSON 中,aggregate_fps 表示多路并发场景下的总吞吐率。测试过程中,终端也会实时输出 FPS。

可以替换为任意测试视频,输入分辨率不限,脚本会自动 letterbox 到 640×640。本页测试使用的是一段 640×640、共 394 帧的交通场景视频。

单路性能:Hailo-8 表现最佳

加速器部署方式单路 FPS
Hailo-8M.2 加速模块49.2
RK3576 片内 NPUSoC 内置23.5
RK182xM.2 加速模块17.5

在单路场景下,Hailo-8 达到 49.2 FPS,约为 RK3576 片内 NPU 的 2.1 倍;同时,其单帧推理延迟最低,为 13.9 ms。

8 路并发:RK182x 获得最高总吞吐

并发路数Hailo-8RK3576 片内 NPURK182x
1 路50.321.216.2
2 路51.343.234.4
4 路51.652.357.0
8 路51.669.788.6

从多路并发结果可以看到:

  • Hailo-8 的总吞吐基本保持稳定:从 1 路到 8 路,总吞吐始终维持在约 50 FPS。8 路并发时,平均每路约为 6.4 FPS。
  • RK3576 片内 NPU 的总吞吐随并发增加而提升:从 1 路的 21.2 FPS 提升到 8 路的 69.7 FPS,8 路时平均每路约为 8.7 FPS。
  • RK182x 的多路扩展能力最明显:8 路并发时总吞吐达到 88.6 FPS,平均每路约为 11.1 FPS,约为 RK3576 片内 NPU 的 1.27 倍、Hailo-8 的 1.7 倍。

三种推理方案的实际输出效果

以下为同一段视频、同一帧在三种推理后端上的实际输出:

从左到右依次为:

Hailo-8 → RK3576 片内 NPU → RK182x

选型建议

使用场景建议方案依据
单路 / 单相机Hailo-849.2 FPS,单帧延迟 13.9 ms
单路,且不希望增加外部模块RK3576 片内 NPU23.5 FPS,无需额外加速硬件
多相机 / 4 路以上并发RK182x8 路总吞吐 88.6 FPS,高于片内 NPU 的 69.7 FPS 和 Hailo-8 的 51.6 FPS
更低的单帧推理延迟Hailo-8单帧推理延迟 13.9 ms

简单来说:

  • 单路实时推理更关注吞吐与延迟时,可以优先考虑 Hailo-8。
  • 不希望增加额外硬件时,可以直接使用 RK3576 片内 NPU。
  • 当应用需要更高的多路总吞吐时,RK182x 更适合多相机并发场景。

在 8 路并发测试中,RK3576 片内 NPU 的总吞吐达到 69.7 FPS,高于 Hailo-8 的 51.6 FPS;RK182x 则进一步提升到 88.6 FPS。对于需要保留 SoC 片内 NPU 算力,同时进一步提升多路推理吞吐的应用,外接 RK182x 可以提供额外的独立计算资源。

源码与数据