Benchmark de aceleración por hardware VPU y NPU del reComputer RK3576
Resultados de MPP para codificación acelerada de YUV420 a MJPG/H264/H265 y decodificación de MJPG a YUV420, además de la aceleración RKNN de la inferencia con YOLOv8n, YOLOv8s y YOLOv8m en el reComputer RK3576.
Proyecto de benchmark del RK3576
Este proyecto cuantifica el rendimiento de codificación y decodificación de vídeo MPP y de inferencia RKNN en la plataforma RK3576.
- Evaluación de la capacidad del chip
- Selección para proyectos de seguridad
- Comparación de modelos y resoluciones
- Pruebas de regresión y entrega técnica
Las pruebas incluyen YUV420 -> MJPG / H264 / H265, MJPG -> YUV420 y 640x640 YOLOv8n/s/m en 720p / 1080p / 2k / 4k / 8k.
Resumen del benchmark del RK3576
- 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
| Resolución | Tamaño | Códec | Bitrate(Mbps) | FPS cod. | Media(ms) | P95(ms) | Salida(MB) | Estado |
|---|---|---|---|---|---|---|---|---|
| 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
| Resolución | Tamaño | Fotogramas | FPS dec. | Media(ms) | P95(ms) | Estado |
|---|---|---|---|---|---|---|
| 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
| Modelo | Ruta | FPS infer. | Media(ms) | P95(ms) | Preproc.(ms) | NPU(ms) | Estado |
|---|---|---|---|---|---|---|---|
| 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. Ejecución del benchmark
Ejecute la prueba en una placa reComputer RK3576.
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_benchmarkResultados de la prueba
ls benchmark_results/
benchmark_summary.md video_codec_benchmark.csv yolov8_inference_benchmark.csvOpciones habituales
./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. Capacidades del proyecto
El proyecto genera fotogramas, prueba codificación multirresolución, decodificación MJPG por hardware e inferencia YOLOv8 a 640x640, y exporta informes Markdown y CSV.
3. Proceso de prueba
- Generar fotogramas
YUV420SP (NV12)a la resolución indicada. - Probar
MJPG / H264 / H265conMPP Encoder. - Decodificar el flujo MJPG a YUV420 con
MPP Decoder. - Probar YOLOv8n/s/m mediante RKNN con fotogramas
640x640 NV12. - Recopilar FPS, latencia media, P95 y tamaño del flujo.
4. Solución técnica
Codificación MPP
La codificación usa Rockchip MPP y fotogramas NV12 internos para escenarios IPC, transcodificación NVR, distribución multiflujo y capturas.
Decodificación MPP
La decodificación usa la ruta MJPEG por hardware de MPP, no software. Decode FPS se calcula solo con el tiempo del núcleo y excluye planificación y registros del framework.
RKNN + YOLOv8
La inferencia usa RKNN, entrada fija de 640x640 y los modelos yolov8n/s/m; se miden las latencias total, de preprocesamiento y de NPU.
5. Definición de métricas
Avg(ms) es el tiempo medio por fotograma, P95(ms) la latencia del percentil 95 y FPS el rendimiento de la fase medida.
6. Evaluación de resultados
- MJPG supera claramente el tiempo real entre 720p y 4k; a 8k alcanza 20.5 FPS y resulta más apropiado para validación.
- H264/H265 ofrecen buen tiempo real a 720p, 1080p y 2k. 4k está cerca del límite práctico y 8k no es adecuado como flujo principal habitual.
- La decodificación MJPG completó 120/120 fotogramas en todas las resoluciones y mantuvo 32.8 FPS a 8k.
- yolov8n alcanza 35.5 FPS y cubre detección de un canal a 25/30 FPS; yolov8s conviene para muestreo de fotogramas y yolov8m para análisis por eventos o sin conexión.
7. Estrategia recomendada
- Priorizar
yolov8ncomo modelo predeterminado. - Usar
1080p / 2kpara análisis en tiempo real en el borde. - Reducir o muestrear la entrada
4ken la etapa de IA. - Reservar
8kpara demostraciones o validaciones específicas.
Avisos
- YUV420SP, MJPG, H264, H265, NV12, MPP, RKNN, las rutas de modelos, los comandos, las URL y los valores se conservan exactamente como en el documento base.
- Las entradas sintéticas proporcionan condiciones estables y repetibles para regresiones y comparaciones entre resoluciones.