inteintegrity2026-09-22

Trois accélérateurs sur un RK3576 : NPU intégré, Hailo-8 et RK182x

Le même YOLO26n exécuté sur la NPU intégrée du reComputer RK3576, sur un module Hailo-8 et sur un module RK182x, avec comparaison des FPS en flux unique et en 8 flux simultanés : Hailo-8 est le plus rapide en flux unique, RK182x est le meilleur avec 8 flux.

CVBenchmarkEdge AIGitHub

Le reComputer RK3576 embarque une NPU et laisse libre un emplacement M.2 pour un module accélérateur. Nous avons exécuté le même YOLO26n (80 classes COCO, 640×640, INT8) sur les trois ressources de calcul — NPU intégrée, module Hailo-8 et module RK182x — puis comparé les FPS en flux unique et en 8 flux simultanés. Les trois traitent la même vidéo de 640×640 et 394 images, avec le décodage et le NMS assurés par un même code côté hôte.

Déploiement rapide

Ce qu'il faut : un reComputer RK3576 (un autre modèle de la série convient aussi). Hailo-8 et RK182x partagent le même emplacement M.2, donc un seul module à la fois. Les scripts d'installation créent des environnements Python hors ligne séparés à partir des dépendances fournies, sans installer ni remplacer les pilotes du noyau. Hailo-8 et RK182x nécessitent toujours le pilote hôte et le module matériel correspondants.

1. Récupérer le code

Les trois modèles sont fournis avec le dépôt, aucune conversion n'est nécessaire :

bash
git clone https://github.com/inteintegrity/rk3576-hailo8-vs-rk182x
cd rk3576-hailo8-vs-rk182x

2. Inférence en flux unique

Hailo-8 (module dans l'emplacement M.2) :

bash
bash scripts/install-hailo8.sh
bash scripts/run-hailo8.sh

NPU intégrée :

bash
bash scripts/install-rk3576.sh
bash scripts/run-rk3576.sh

RK182x (module dans l'emplacement M.2) :

bash
bash scripts/install-rk182x.sh
bash scripts/run-rk182x.sh

L'environnement ne s'installe qu'une fois. Pour une autre vidéo, ajoutez son chemin à la commande run, par exemple bash scripts/run-rk3576.sh /chemin/clip.mp4.

3. 8 flux simultanés

Hailo-8 :

bash
.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.json

NPU intégrée :

bash
.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.json

RK182x :

bash
.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.json

4. Où trouver les résultats

En flux unique, out/<backend>/ reçoit un annotated.mp4 avec les boîtes dessinées et un JSON contenant les détections image par image et les FPS de chaque étape ; en 8 flux, un JSON est produit et son champ aggregate_fps correspond à la colonne « débit total » des tableaux. Le terminal affiche aussi les FPS en temps réel.

N'importe quelle vidéo convient, quelle que soit la résolution : les scripts font eux-mêmes le letterbox vers 640×640. Les mesures de cette page utilisent une vidéo de circulation en 640×640 et 394 images.

Flux unique : Hailo-8 en tête

AccélérateurFormeFPS en flux unique
Hailo-8Module M.249.2
NPU intégrée du RK3576Dans le SoC23.5
RK182xModule M.217.5

En flux unique, Hailo-8 atteint 2,1 fois le débit de la NPU intégrée et affiche aussi la latence la plus faible : 13,9 ms par inférence.

8 flux simultanés : RK182x au meilleur niveau

Flux simultanésHailo-8NPU intégrée RK3576RK182x
150.321.216.2
251.343.234.4
451.652.357.0
851.669.788.6
  • Hailo-8 ne gagne rien avec le nombre de flux : 1 ou 8 flux, le total reste autour de 50 FPS, donc chaque flux ne reçoit que 6,4 FPS à 8 flux.
  • La NPU intégrée progresse avec la concurrence : de 21,2 à 69,7 FPS (8,7 FPS par flux à 8 flux).
  • RK182x monte à 88,6 FPS : 11,1 FPS par flux à 8 flux, soit 1,27 fois la NPU intégrée et 1,7 fois le Hailo-8.

Les trois, à l'écran

La même image de la même vidéo, telle que produite par chaque accélérateur :

De gauche à droite : Hailo-8, NPU intégrée du RK3576 et RK182x.

Lequel choisir

Cas d'usageChoixPourquoi
Un flux / une caméraHailo-849,2 FPS et 13,9 ms par inférence
Un flux sans occuper l'emplacementNPU intégrée du RK357623,5 FPS, sans surcoût
Plusieurs caméras / 4 flux et plusRK182x88,6 FPS à 8 flux (contre 69,7 pour la NPU et 51,6 pour le Hailo-8)
Latence par inférence minimaleHailo-813,9 ms

En une phrase : Hailo-8 pour un flux, RK182x pour beaucoup, et la NPU intégrée comme option sans surcoût. À 8 flux, la NPU du SoC égale déjà un module Hailo-8 (69,7 contre 51,6) ; un module multicœur comme le RK182x se justifie quand il faut davantage de débit total tout en gardant la NPU du SoC libre.

Code et données