Benchmark d’accélération matérielle VPU et NPU du reComputer RK3576
Résultats MPP de l’encodage matériel YUV420 vers MJPG/H264/H265 et du décodage MJPG vers YUV420, ainsi que de l’accélération RKNN de l’inférence YOLOv8n, YOLOv8s et YOLOv8m sur le reComputer RK3576.
Projet de benchmark RK3576
Ce projet mesure les performances d’encodage et de décodage vidéo MPP ainsi que d’inférence RKNN de la plate-forme RK3576.
- Évaluation des capacités de la puce
- Sélection pour les projets de sécurité
- Comparaison des modèles et résolutions
- Tests de régression et livraison technique
Les tests couvrent YUV420 -> MJPG / H264 / H265, MJPG -> YUV420 et 640x640 YOLOv8n/s/m en 720p / 1080p / 2k / 4k / 8k.
Résumé du benchmark 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
| Résolution | Taille | Codec | Débit(Mbps) | FPS enc. | Moy.(ms) | P95(ms) | Sortie(MB) | État |
|---|---|---|---|---|---|---|---|---|
| 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
| Résolution | Taille | Images | FPS déc. | Moy.(ms) | P95(ms) | État |
|---|---|---|---|---|---|---|
| 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
| Modèle | Chemin | FPS inf. | Moy.(ms) | P95(ms) | Prétrait.(ms) | NPU(ms) | État |
|---|---|---|---|---|---|---|---|
| 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. Exécuter le benchmark
Exécutez le test sur une carte 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_benchmarkRésultats du test
ls benchmark_results/
benchmark_summary.md video_codec_benchmark.csv yolov8_inference_benchmark.csvOptions courantes
./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. Fonctions du projet
Le projet génère les images, teste l’encodage multirésolution, le décodage matériel MJPG et l’inférence YOLOv8 en 640x640, puis produit des rapports Markdown et CSV.
3. Déroulement du test
- Générer des images
YUV420SP (NV12)à la résolution choisie. - Tester séparément
MJPG / H264 / H265avecMPP Encoder. - Décoder le flux MJPG en YUV420 avec
MPP Decoder. - Tester YOLOv8n/s/m via RKNN avec des images
640x640 NV12. - Compiler FPS, latence moyenne, P95 et taille du flux.
4. Approche technique
Encodage MPP
L’encodage utilise Rockchip MPP et des images NV12 générées en interne pour les usages IPC, transcodage NVR, multidiffusion et instantanés.
Décodage MPP
Le décodage utilise la voie matérielle MJPEG de MPP. Decode FPS repose uniquement sur le temps du cœur de décodage et exclut l’ordonnancement et les journaux du framework.
RKNN + YOLOv8
L’inférence utilise RKNN, une entrée fixe de 640x640 et yolov8n/s/m ; les latences globale, de prétraitement et NPU sont mesurées.
5. Définition des mesures
Avg(ms) est le temps moyen par image, P95(ms) la latence au 95e centile et FPS le débit de la phase mesurée.
6. Analyse des résultats
- L’encodage MJPG dépasse nettement le temps réel de 720p à 4k ; à 8k, 20.5 FPS convient plutôt à la validation.
- H264/H265 assurent un bon temps réel en 720p, 1080p et 2k. Le 4k approche la limite pratique et le 8k ne convient pas à un flux principal temps réel courant.
- Le décodage MJPG termine 120/120 images à chaque résolution et atteint encore 32.8 FPS en 8k.
- yolov8n atteint 35.5 FPS et couvre la détection monocanal à 25/30 FPS ; yolov8s convient à l’échantillonnage et yolov8m à l’analyse événementielle ou hors ligne.
7. Stratégie de déploiement
- Privilégier
yolov8npar défaut. - Utiliser
1080p / 2kpour l’analyse temps réel en périphérie. - Redimensionner ou échantillonner les entrées
4kcôté IA. - Réserver le
8kaux démonstrations ou validations ciblées.
Remarques
- YUV420SP, MJPG, H264, H265, NV12, MPP, RKNN, les chemins de modèles, les commandes, les URL et les valeurs sont conservés à l’identique du document de base.
- Les entrées synthétiques offrent des conditions stables et reproductibles pour la régression et la comparaison des résolutions.