Der reComputer RK3576 bringt eine eigene NPU mit und lässt einen M.2-Steckplatz für ein Beschleunigermodul frei. Wir haben dasselbe YOLO26n (80 COCO-Klassen, 640×640, INT8) auf allen drei Rechenressourcen laufen lassen — integrierte NPU, Hailo-8-Modul und RK182x-Modul — und die FPS bei einem Stream und bei 8 gleichzeitigen Streams verglichen. Alle drei verarbeiten dasselbe Video mit 640×640 und 394 Bildern; Dekodierung und NMS laufen im selben Host-Code.
Schnellstart
Was Sie brauchen: einen reComputer RK3576 (ein anderes Modell der Serie geht auch). Hailo-8 und RK182x teilen sich denselben M.2-Steckplatz, es passt also immer nur ein Modul hinein. Die Installationsskripte erstellen aus den mitgelieferten Abhängigkeiten getrennte Offline-Python-Umgebungen, installieren oder ersetzen jedoch keine Kernel-Treiber. Hailo-8 und RK182x benötigen weiterhin den passenden Host-Treiber und das jeweilige Hardwaremodul.
1. Code holen
Alle drei Modelle liegen im Repository, eine Konvertierung ist nicht nötig:
git clone https://github.com/inteintegrity/rk3576-hailo8-vs-rk182x
cd rk3576-hailo8-vs-rk182x2. Inferenz mit einem Stream
Hailo-8 (Modul im M.2-Steckplatz):
bash scripts/install-hailo8.sh
bash scripts/run-hailo8.shIntegrierte NPU:
bash scripts/install-rk3576.sh
bash scripts/run-rk3576.shRK182x (Modul im M.2-Steckplatz):
bash scripts/install-rk182x.sh
bash scripts/run-rk182x.shDie Umgebung wird nur einmal installiert. Für ein anderes Video hängen Sie den Pfad an den run-Befehl an, zum Beispiel bash scripts/run-rk3576.sh /pfad/clip.mp4.
3. 8 gleichzeitige 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.jsonIntegrierte 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. Wo die Ergebnisse landen
Bei einem Stream entstehen in out/<backend>/ ein annotated.mp4 mit eingezeichneten Boxen und ein JSON mit den Erkennungen pro Bild und den FPS der einzelnen Stufen; bei 8 Streams entsteht ein JSON, dessen Feld aggregate_fps der Spalte „Gesamtdurchsatz" in den Tabellen entspricht. Das Terminal zeigt die FPS zusätzlich live an.
Jedes Video ist geeignet, unabhängig von der Auflösung — die Skripte letterboxen selbst auf 640×640. Für die Messungen auf dieser Seite wurde ein Verkehrsclip mit 640×640 und 394 Bildern verwendet.
Ein Stream: Hailo-8 vorn
| Beschleuniger | Form | FPS mit einem Stream |
|---|---|---|
| Hailo-8 | M.2-Modul | 49.2 |
| Integrierte NPU des RK3576 | im SoC | 23.5 |
| RK182x | M.2-Modul | 17.5 |
Mit einem Stream erreicht Hailo-8 die 2,1-fache Rate der integrierten NPU und zugleich die niedrigste Latenz: 13,9 ms pro Inferenz.
8 gleichzeitige Streams: RK182x am stärksten
| Gleichzeitige Streams | Hailo-8 | Integrierte 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 wird nicht mehr: ob 1 oder 8 Streams, der Gesamtwert bleibt bei rund 50 FPS, bei 8 Streams bekommt jeder nur 6,4 FPS.
- Die integrierte NPU wächst mit der Nebenläufigkeit: von 21,2 auf 69,7 FPS (8,7 FPS pro Stream bei 8 Streams).
- RK182x steigt auf 88,6 FPS: 11,1 FPS pro Stream bei 8 Streams — das 1,27-Fache der integrierten NPU und das 1,7-Fache des Hailo-8.
Die drei im Bild
Dasselbe Einzelbild desselben Videos, so wie es jeder Beschleuniger liefert:
Von links nach rechts: Hailo-8, integrierte NPU des RK3576 und RK182x.
Welchen Beschleuniger wählen
| Einsatz | Wahl | Begründung |
|---|---|---|
| Ein Stream / eine Kamera | Hailo-8 | 49,2 FPS und 13,9 ms pro Inferenz |
| Ein Stream, Steckplatz soll frei bleiben | Integrierte NPU des RK3576 | 23,5 FPS, ohne Zusatzkosten |
| Mehrere Kameras / 4 Streams und mehr | RK182x | 88,6 FPS bei 8 Streams (gegenüber 69,7 der NPU und 51,6 des Hailo-8) |
| Geringste Latenz pro Inferenz | Hailo-8 | 13,9 ms |
In einem Satz: Hailo-8 für einen Stream, RK182x für viele, die integrierte NPU als kostenlose Option. Bei 8 Streams erreicht die NPU im SoC bereits das Niveau eines Hailo-8-Moduls (69,7 gegen 51,6); ein Mehrkernmodul wie der RK182x lohnt sich, wenn Sie mehr Gesamtdurchsatz brauchen und die NPU des SoC freihalten wollen.
Code und Daten
- Code, Modellartefakte (HEF / RKNN / RKNN3),
results/summary.jsonund die beiden Vergleichsdiagramme: https://github.com/inteintegrity/rk3576-hailo8-vs-rk182x - Erkennungen pro Bild, Multi-Stream-Rohdaten, Aufnahmen aus dem Betrieb und Bericht: Anhang der 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