inteintegrity2026-09-22

Drie versnellers op één RK3576: ingebouwde NPU, Hailo-8 en RK182x

Hetzelfde YOLO26n op de ingebouwde NPU van de reComputer RK3576, op een Hailo-8-module en op een RK182x-module, vergeleken met één stream en met 8 gelijktijdige streams: Hailo-8 is het snelst met één stream, RK182x presteert het best met 8 streams.

CVBenchmarkEdge AIGitHub

De reComputer RK3576 heeft een eigen NPU en laat één M.2-slot vrij voor een versnellermodule. Wij hebben hetzelfde YOLO26n (80 COCO-klassen, 640×640, INT8) op alle drie de rekenbronnen laten lopen — ingebouwde NPU, Hailo-8-module en RK182x-module — en de FPS vergeleken met één stream en met 8 gelijktijdige streams. Alle drie verwerken dezelfde video van 640×640 en 394 frames, met decodering en NMS in dezelfde hostcode.

Snelstart

Wat je nodig hebt: een reComputer RK3576 (een ander model uit de reeks mag ook). Hailo-8 en RK182x delen hetzelfde M.2-slot, dus er past er telkens maar één in. De installatiescripts maken afzonderlijke offline Python-omgevingen met de meegeleverde afhankelijkheden, maar installeren of vervangen geen kernelstuurprogramma's. Hailo-8 en RK182x vereisen nog steeds het bijpassende hoststuurprogramma en de hardwaremodule.

1. Code ophalen

De drie modellen zitten al in de repository, converteren is niet nodig:

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

2. Inferentie met één stream

Hailo-8 (module in het M.2-slot):

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

Ingebouwde NPU:

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

RK182x (module in het M.2-slot):

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

De omgeving wordt maar één keer geïnstalleerd. Voeg voor een andere video het pad toe aan het run-commando, bijvoorbeeld bash scripts/run-rk3576.sh /pad/clip.mp4.

3. 8 gelijktijdige streams

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

Ingebouwde 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. Waar de resultaten staan

Met één stream verschijnen in out/<backend>/ een annotated.mp4 met getekende kaders en een JSON met de detecties per frame en de FPS per fase; met 8 streams verschijnt een JSON waarvan het veld aggregate_fps overeenkomt met de kolom "totale doorvoer" in de tabellen. De terminal toont de FPS daarnaast live.

Elke video is bruikbaar, ongeacht de resolutie — de scripts letterboxen zelf naar 640×640. Voor de metingen op deze pagina is een verkeersclip van 640×640 en 394 frames gebruikt.

Eén stream: Hailo-8 voorop

VersnellerVormFPS met één stream
Hailo-8M.2-module49.2
Ingebouwde NPU van de RK3576in de SoC23.5
RK182xM.2-module17.5

Met één stream haalt Hailo-8 2,1 keer de snelheid van de ingebouwde NPU en heeft hij ook de laagste latentie: 13,9 ms per inferentie.

8 gelijktijdige streams: RK182x het sterkst

Gelijktijdige streamsHailo-8Ingebouwde NPURK182x
150.321.216.2
251.343.234.4
451.652.357.0
851.669.788.6
  • Hailo-8 groeit niet mee: met 1 of 8 streams blijft het totaal rond 50 FPS, dus bij 8 streams krijgt elke stream maar 6,4 FPS.
  • De ingebouwde NPU groeit met de gelijktijdigheid: van 21,2 naar 69,7 FPS (8,7 FPS per stream bij 8 streams).
  • RK182x loopt op naar 88,6 FPS: 11,1 FPS per stream bij 8 streams — 1,27 keer de ingebouwde NPU en 1,7 keer de Hailo-8.

De drie in beeld

Hetzelfde frame uit dezelfde video, zoals elke versneller het levert:

Van links naar rechts: Hailo-8, ingebouwde NPU van de RK3576 en RK182x.

Welke versneller kiezen

SituatieKeuzeWaarom
Eén stream / één cameraHailo-849,2 FPS en 13,9 ms per inferentie
Eén stream, slot vrijhoudenIngebouwde NPU van de RK357623,5 FPS, zonder extra kosten
Meerdere camera's / 4 streams of meerRK182x88,6 FPS bij 8 streams (tegenover 69,7 van de NPU en 51,6 van de Hailo-8)
Laagste latentie per inferentieHailo-813,9 ms

In één zin: Hailo-8 voor één stream, RK182x voor veel streams, en de ingebouwde NPU als gratis optie. Bij 8 streams evenaart de NPU in de SoC al een Hailo-8-module (69,7 tegen 51,6); een multikernmodule zoals de RK182x is de moeite waard wanneer je meer totale doorvoer nodig hebt en de NPU van de SoC vrij wilt houden.

Code en data