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:
git clone https://github.com/inteintegrity/rk3576-hailo8-vs-rk182x
cd rk3576-hailo8-vs-rk182x2. Inferentie met één stream
Hailo-8 (module in het M.2-slot):
bash scripts/install-hailo8.sh
bash scripts/run-hailo8.shIngebouwde NPU:
bash scripts/install-rk3576.sh
bash scripts/run-rk3576.shRK182x (module in het M.2-slot):
bash scripts/install-rk182x.sh
bash scripts/run-rk182x.shDe 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:
.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.jsonIngebouwde NPU:
.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.jsonRK182x:
.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.json4. 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
| Versneller | Vorm | FPS met één stream |
|---|---|---|
| Hailo-8 | M.2-module | 49.2 |
| Ingebouwde NPU van de RK3576 | in de SoC | 23.5 |
| RK182x | M.2-module | 17.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 streams | Hailo-8 | Ingebouwde NPU | RK182x |
|---|---|---|---|
| 1 | 50.3 | 21.2 | 16.2 |
| 2 | 51.3 | 43.2 | 34.4 |
| 4 | 51.6 | 52.3 | 57.0 |
| 8 | 51.6 | 69.7 | 88.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
| Situatie | Keuze | Waarom |
|---|---|---|
| Eén stream / één camera | Hailo-8 | 49,2 FPS en 13,9 ms per inferentie |
| Eén stream, slot vrijhouden | Ingebouwde NPU van de RK3576 | 23,5 FPS, zonder extra kosten |
| Meerdere camera's / 4 streams of meer | RK182x | 88,6 FPS bij 8 streams (tegenover 69,7 van de NPU en 51,6 van de Hailo-8) |
| Laagste latentie per inferentie | Hailo-8 | 13,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
- Code, modelartefacten (HEF / RKNN / RKNN3),
results/summary.jsonen de twee vergelijkingsgrafieken: https://github.com/inteintegrity/rk3576-hailo8-vs-rk182x - Detecties per frame, multi-streamruwe data, opnames uit de praktijk en het rapport: bijlage van de v1.0.0-release
rk3576-hailo8-vs-rk182x-benchmark-artifacts-v1.0.0.ziphttps://github.com/inteintegrity/rk3576-hailo8-vs-rk182x/releases/tag/v1.0.0