inteintegrity2026-09-22

RK3576 で 3 種のアクセラレータを比較:内蔵 NPU・Hailo-8・RK182x

同じ YOLO26n を reComputer RK3576 の内蔵 NPU、Hailo-8、RK182x でそれぞれ実行し、単一ストリームと 8 ストリーム同時実行の FPS を比較。単一ストリームでは Hailo-8 が最速、8 ストリーム同時では RK182x が最高性能です。

CVBenchmarkEdge AIGitHub

reComputer RK3576 には NPU が載っており、M.2 スロットが 1 つ空いていてアクセラレータモジュールを挿せます。ここでは同じ YOLO26n(COCO 80 クラス、640×640、INT8)を 3 つの演算資源——内蔵 NPU、Hailo-8 モジュール、RK182x モジュール——で動かし、単一ストリームと 8 ストリーム同時実行の FPS を比べました。3 つとも同じ 640×640・394 フレームの映像を使い、デコードと NMS は共通のホスト側コードで実行しています。

クイックスタート

用意するもの:reComputer RK3576(同シリーズでも可)。Hailo-8 と RK182x は同じ M.2 スロットを共有するため、同時に挿せるのは 1 つだけです。インストールスクリプトは同梱の依存関係から各 Python 環境をオフラインで作成しますが、カーネルドライバーのインストールや置換は行いません。Hailo-8 と RK182x には、対応するホストドライバーとハードウェアモジュールが必要です。

1. コードを取得

3 つのモデルはリポジトリに同梱されているので、変換は不要です:

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

2. 単一ストリーム推論

Hailo-8(モジュールを M.2 スロットに装着):

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

内蔵 NPU:

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

RK182x(モジュールを M.2 スロットに装着):

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

環境のインストールは 1 回だけです。別の動画を使う場合は 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

内蔵 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 が出力されます。8 ストリームでは JSON が出力され、その aggregate_fps が上の表の「合計スループット」の列です。実行中はターミナルにもリアルタイムの FPS が表示されます。

映像は手持ちのもので構いません。解像度は問いません(スクリプトが自動で 640×640 にレターボックスします)。このページの測定では 640×640・394 フレームの交通シーン映像を使用しました。

単一ストリーム:Hailo-8 が最速

アクセラレータ形態単一ストリーム FPS
Hailo-8M.2 モジュール49.2
RK3576 内蔵 NPUチップ内蔵23.5
RK182xM.2 モジュール17.5

単一ストリームでは Hailo-8 は内蔵 NPU の 2.1 倍のフレームレートで、推論 1 回あたりの遅延も最小の 13.9 ms です。

8 ストリーム同時実行:RK182x が最強

同時ストリーム数Hailo-8RK3576 内蔵 NPURK182x
150.321.216.2
251.343.234.4
451.652.357.0
851.669.788.6
  • Hailo-8 は合計が増えない:1 ストリームでも 8 ストリームでも 50 FPS 前後で、8 ストリームでは 1 本あたり 6.4 FPS まで下がります。
  • 内蔵 NPU は同時実行数とともに伸びる:21.2 から 69.7 FPS へ。8 ストリームでは 1 本あたり 8.7 FPS。
  • RK182x は 88.6 FPS まで伸びる:8 ストリームで 1 本あたり 11.1 FPS。内蔵 NPU の 1.27 倍、Hailo-8 の 1.7 倍です。

3 つのアクセラレータの実映像

同じ映像・同じフレームでの実際の出力です:

左から Hailo-8、RK3576 内蔵 NPU、RK182x です。

選び方

用途推奨理由
単一ストリーム / 1 台のカメラHailo-849.2 FPS、推論 1 回 13.9 ms
単一ストリームでスロットを使いたくないRK3576 内蔵 NPU23.5 FPS、追加費用なし
複数カメラ / 4 ストリーム以上RK182x8 ストリームで 88.6 FPS(内蔵 NPU 69.7、Hailo-8 51.6)
1 回あたりの遅延を最小にHailo-813.9 ms

ひとことで:単一ストリームは Hailo-8、多数ストリームは RK182x、内蔵 NPU は「追加費用なしの選択肢」。 8 ストリームの領域では内蔵 NPU がすでに Hailo-8 と同等(69.7 対 51.6)で、より高い合計スループットを求めつつ SoC の演算資源を空けておきたいときに、RK182x のようなマルチコアモジュールを挿す価値が出ます。

ソースとデータ