Benchmark voor VPU- en NPU-hardwareversnelling op de reComputer RK3576
Benchmarkresultaten voor MPP-versnelde codering van YUV420 naar MJPG/H264/H265, decodering van MJPG naar YUV420 en RKNN-versnelde inferentie met YOLOv8n, YOLOv8s en YOLOv8m op de reComputer RK3576.
RK3576-benchmarktestproject
Dit project meet de MPP-video-encodering, MPP-videodecodering en RKNN-inferentieprestaties van het RK3576-platform.
- Beoordeling van chipcapaciteit
- Selectie voor beveiligingsprojecten
- Vergelijking van modellen en resoluties
- Regressietests en technische oplevering
De tests omvatten YUV420 -> MJPG / H264 / H265, MJPG -> YUV420 en 640x640 YOLOv8n/s/m op 720p / 1080p / 2k / 4k / 8k.
Samenvatting van de RK3576-benchmark
- generated_at: 2026-07-28 16:34:52
- target_fps: 30
- codec_frames: warmup 20 + measured 120
- infer_frames: warmup 20 + measured 200
YUV420 -> MJPG / H264 / H265
| Resolutie | Grootte | Codec | Bitrate(Mbps) | Encode FPS | Gem.(ms) | P95(ms) | Uitvoer(MB) | Status |
|---|---|---|---|---|---|---|---|---|
| 720p | 1280x720 | mjpg | 20.0 | 480.7 | 1.1 | 1.2 | 13.9 | OK |
| 720p | 1280x720 | h264 | 4.0 | 154.7 | 4.4 | 4.8 | 1.7 | OK |
| 720p | 1280x720 | h265 | 4.0 | 179.2 | 4.2 | 4.4 | 1.1 | OK |
| 1080p | 1920x1080 | mjpg | 30.0 | 237.6 | 2.1 | 2.8 | 31.3 | OK |
| 1080p | 1920x1080 | h264 | 8.0 | 90.7 | 7.9 | 8.1 | 3.6 | OK |
| 1080p | 1920x1080 | h265 | 8.0 | 88.8 | 8.2 | 8.3 | 2.5 | OK |
| 2k | 2560x1440 | mjpg | 45.0 | 159.5 | 2.9 | 3.2 | 55.4 | OK |
| 2k | 2560x1440 | h264 | 16.0 | 43.4 | 13.6 | 14.1 | 6.3 | OK |
| 2k | 2560x1440 | h265 | 16.0 | 38.6 | 14.5 | 15.0 | 4.4 | OK |
| 4k | 3840x2160 | mjpg | 60.0 | 77.7 | 5.8 | 6.0 | 124.5 | OK |
| 4k | 3840x2160 | h264 | 32.0 | 24.5 | 28.7 | 29.5 | 14.1 | OK |
| 4k | 3840x2160 | h265 | 32.0 | 21.7 | 31.2 | 32.2 | 9.3 | OK |
| 8k | 7680x4320 | mjpg | 90.0 | 20.5 | 25.1 | 29.7 | 497.7 | OK |
| 8k | 7680x4320 | h264 | 64.0 | 7.1 | 109.0 | 109.8 | 28.8 | OK |
| 8k | 7680x4320 | h265 | 64.0 | 6.6 | 117.6 | 118.1 | 27.8 | OK |
MJPG -> YUV420
| Resolutie | Grootte | Frames | Decode FPS | Gem.(ms) | P95(ms) | Status |
|---|---|---|---|---|---|---|
| 720p | 1280x720 | 120/120 | 380.4 | 2.6 | 2.9 | OK |
| 1080p | 1920x1080 | 120/120 | 268.6 | 3.7 | 4.0 | OK |
| 2k | 2560x1440 | 120/120 | 191.0 | 5.2 | 5.5 | OK |
| 4k | 3840x2160 | 120/120 | 108.6 | 9.2 | 9.7 | OK |
| 8k | 7680x4320 | 120/120 | 32.8 | 30.5 | 31.5 | OK |
YOLOv8 640x640
| Model | Pad | Inferentie FPS | Gem.(ms) | P95(ms) | Preproc.(ms) | NPU(ms) | Status |
|---|---|---|---|---|---|---|---|
| yolov8n | model/yolov8n_rk3576.rknn | 35.5 | 27.3 | 32.7 | 1.4 | 16.9 | OK |
| yolov8s | model/yolov8s_rk3576.rknn | 17.0 | 58.2 | 63.8 | 1.2 | 35.2 | OK |
| yolov8m | model/yolov8m_rk3576.rknn | 9.5 | 104.2 | 109.6 | 1.2 | 83.4 | OK |
1. De benchmark uitvoeren
Voer de test uit op een reComputer RK3576-bord.
sudo apt update && sudo apt install unzip -y
wget https://files.seeedstudio.com/RK3576/install.zip -O install.zip && unzip install.zip
cd ./install && export LD_LIBRARY_PATH="$(pwd)/lib:${LD_LIBRARY_PATH}" && chmod +x ./bin/rk3576_benchmark
sudo ./bin/rk3576_benchmarkTestresultaten
ls benchmark_results/
benchmark_summary.md video_codec_benchmark.csv yolov8_inference_benchmark.csvVeelgebruikte opties
./bin/rk3576_benchmark \
--output-dir ./benchmark_results \
--resolutions 720p,1080p,2k,4k,8k \
--models yolov8n,yolov8s,yolov8m \
--codec-warmup 20 \
--codec-frames 120 \
--infer-warmup 20 \
--infer-frames 2002. Projectmogelijkheden
Het project genereert testframes, test encodering op meerdere resoluties, MJPG-hardwaredecodering en YOLOv8-inferentie op 640x640, en exporteert Markdown- en CSV-rapporten.
3. Testproces
- Genereer
YUV420SP (NV12)-frames op de gekozen resolutie. - Test
MJPG / H264 / H265afzonderlijk metMPP Encoder. - Decodeer de MJPG-bitstream naar YUV420 met
MPP Decoder. - Test YOLOv8n/s/m via RKNN met
640x640 NV12-frames. - Verzamel FPS, gemiddelde latentie, P95 en bitstreamgrootte.
4. Technische aanpak
MPP-encodering
Encodering gebruikt Rockchip MPP en intern gegenereerde NV12-frames voor IPC, NVR-transcodering, multistreamdistributie en snapshots.
MPP-decodering
Decodering gebruikt het MJPEG-hardwarepad van MPP. Decode FPS is uitsluitend gebaseerd op kerndecoderingstijd en sluit planning en logging van het framework uit.
RKNN + YOLOv8
Inferentie gebruikt RKNN, een vaste 640x640-invoer en yolov8n/s/m; totale, preprocessing- en NPU-latentie worden gemeten.
5. Definitie van meetwaarden
Avg(ms) is de gemiddelde tijd per frame, P95(ms) de 95e-percentiellatentie en FPS de doorvoer tijdens de meetfase.
6. Beoordeling van de resultaten
- MJPG-encodering overtreft van 720p tot 4k duidelijk realtime-eisen; 8k haalt 20.5 FPS en past beter bij validatie.
- H264/H265 bieden goede realtime-prestaties op 720p, 1080p en 2k. 4k nadert de praktische grens en 8k is niet geschikt als reguliere realtime-hoofdstroom.
- MJPG-hardwaredecodering voltooit 120/120 frames op elke resolutie en haalt op 8k nog 32.8 FPS.
- yolov8n haalt 35.5 FPS voor enkelkanaals detectie op 25/30 FPS; yolov8s past bij framebemonstering en yolov8m bij gebeurtenisgestuurde of offline analyse.
7. Aanbevolen implementatie
- Geef standaard de voorkeur aan
yolov8n. - Gebruik
1080p / 2kvoor realtime edge-analyse. - Schaal
4kaan de AI-kant of bemonster frames. - Reserveer
8kvoor demonstraties of specifieke validatie.
Opmerkingen
- YUV420SP, MJPG, H264, H265, NV12, MPP, RKNN, modelpaden, opdrachten, URL’s en benchmarkwaarden zijn exact gelijk aan het basisdocument.
- Synthetische invoer biedt stabiele, herhaalbare omstandigheden voor regressietests en vergelijking tussen resoluties.