logo
0
0
Login

简体中文 | English

RKNN Model Zoo

Description

RKNN Model Zoo is developed based on the RKNPU SDK toolchain and provides deployment examples for current mainstream algorithms. Include the process of exporting the RKNN model and using Python API and CAPI to infer the RKNN model.

  • Support RK3562, RK3566, RK3568, RK3576, RK3588 , RV1126B platforms.
  • Limited support RV1103, RV1106
  • Support RV1109, RV1126, RK1808 platforms.

Dependency library installation

RKNN Model Zoo relies on RKNN-Toolkit2 for model conversion. The Android compilation tool chain is required when compiling the Android demo, and the Linux compilation tool chain is required when compiling the Linux demo. For the installation of these dependencies, please refer to the Quick Start documentation at https://github.com/airockchip/rknn-toolkit2/tree/master/doc.

  • Please note that the Android compilation tool chain recommends using version r18 or r19. Using other versions may encounter the problem of Cdemo compilation failure.
  • Please note that the Linux compilation tool chain recommends using gcc-linaro-6.3.1(aarch64)/gcc-arm-8.3(armhf)/armhf-uclibcgnueabihf(armhf for RV1106/RV1103 series). Using other versions may encounter the problem of Cdemo compilation failure. For detailed compilation guide, please refer to Compilation_Environment_Setup_Guide.md

Model support

In addition to exporting the model from the corresponding respository, the models file are available on https://console.zbox.filez.com/l/8ufwtG (key: rknn).

CategoryNameDtypeModel Download LinkSupport platform
ClassificationmobilenetFP16/INT8mobilenetv2-12.onnxRK3562|RK3566|RK3568|RK3576|RK3588|RV1126B
RV1103|RV1106
RK1808|RK3399PRO
RV1109|RV1126
ClassificationresnetFP16/INT8resnet50-v2-7.onnxRK3562|RK3566|RK3568|RK3576|RK3588|RV1126B
RK1808|RK3399PRO
RV1109|RV1126
Object Detectionyolov5FP16/INT8./yolov5s_relu.onnx
./yolov5n.onnx
./yolov5s.onnx
./yolov5m.onnx
RK3562|RK3566|RK3568|RK3576|RK3588|RV1126B
RV1103|RV1106
RK1808|RK3399PRO
RV1109|RV1126
Object Detectionyolov6FP16/INT8./yolov6n.onnx
./yolov6s.onnx
./yolov6m.onnx
RK3562|RK3566|RK3568|RK3576|RK3588|RV1126B
RK1808|RK3399PRO
RV1109|RV1126
Object Detectionyolov7FP16/INT8./yolov7-tiny.onnx
./yolov7.onnx
RK3562|RK3566|RK3568|RK3576|RK3588|RV1126B
RK1808|RK3399PRO
RV1109|RV1126
Object Detectionyolov8FP16/INT8./yolov8n.onnx
./yolov8s.onnx
./yolov8m.onnx
RK3562|RK3566|RK3568|RK3576|RK3588|RV1126B
RK1808|RK3399PRO
RV1109|RV1126
Object Detectionyolov8_obbINT8./yolov8n-obb.onnxRK3562|RK3566|RK3568|RK3576|RK3588|RV1126B
RK1808|RK3399PRO
RV1109|RV1126
Object Detectionyolov10FP16/INT8./yolov10n.onnx
./yolov10s.onnx
RK3562|RK3566|RK3568|RK3576|RK3588|RV1126B
RV1103|RV1106
RK1808|RK3399PRO
RV1109|RV1126
Object Detectionyolo11FP16/INT8./yolo11n.onnx
./yolo11s.onnx
./yolo11m.onnx
RK3562|RK3566|RK3568|RK3576|RK3588|RV1126B
RV1103|RV1106
RK1808|RK3399PRO
RV1109|RV1126
Object DetectionyoloxFP16/INT8./yolox_s.onnx
./yolox_m.onnx
RK3562|RK3566|RK3568|RK3576|RK3588|RV1126B
RK1808|RK3399PRO
RV1109|RV1126
Object DetectionppyoloeFP16/INT8./ppyoloe_s.onnx
./ppyoloe_m.onnx
RK3562|RK3566|RK3568|RK3576|RK3588|RV1126B
RK1808|RK3399PRO
RV1109|RV1126
Object Detectionyolo_worldFP16/INT8./yolo_world_v2s.onnx
./clip_text.onnx
RK3562|RK3566|RK3568|RK3576|RK3588|RV1126B
Body Poseyolov8_poseINT8./yolov8n-pose.onnxRK3562|RK3566|RK3568|RK3576|RK3588|RV1126B
Image Segmentationdeeplabv3FP16/INT8./deeplab-v3-plus-mobilenet-v2.pbRK3562|RK3566|RK3568|RK3576|RK3588|RV1126B
RK1808|RK3399PRO
RV1109|RV1126
Image Segmentationyolov5_segFP16/INT8./yolov5n-seg.onnx
./yolov5s-seg.onnx
./yolov5m-seg.onnx
RK3562|RK3566|RK3568|RK3576|RK3588|RV1126B
RK1808|RK3399PRO
RV1109|RV1126
Image Segmentationyolov8_segFP16/INT8./yolov8n-seg.onnx
./yolov8s-seg.onnx
./yolov8m-seg.onnx
RK3562|RK3566|RK3568|RK3576|RK3588|RV1126B
RK1808|RK3399PRO
RV1109|RV1126
Image SegmentationppsegFP16/INT8pp_liteseg_cityscapes.onnxRK3562|RK3566|RK3568|RK3576|RK3588|RV1126B
RK1808|RK3399PRO
RV1109|RV1126
Image SegmentationmobilesamFP16mobilesam_encoder_tiny.onnx
mobilesam_decoder.onnx
RK3562|RK3566|RK3568|RK3576|RK3588|RV1126B
Face Key PointsRetinaFaceINT8RetinaFace_mobile320.onnx
RetinaFace_resnet50_320.onnx
RK3562|RK3566|RK3568|RK3576|RK3588|RV1126B
RK1808|RK3399PRO
RV1109|RV1126
Car Plate RecognitionLPRNetFP16/INT8./lprnet.onnxRK3562|RK3566|RK3568|RK3576|RK3588|RV1126B
RV1103|RV1106
RK1808|RK3399PRO
RV1109|RV1126
Text DetectionPPOCR-DetFP16/INT8../ppocrv4_det.onnxRK3562|RK3566|RK3568|RK3576|RK3588|RV1126B
RK1808|RK3399PRO
RV1109|RV1126
Text RecognitionPPOCR-RecFP16../ppocrv4_rec.onnxRK3562|RK3566|RK3568|RK3576|RK3588|RV1126B
RK1808|RK3399PRO
RV1109|RV1126
Neural Machine Translationlite_transformerFP16lite-transformer-encoder-16.onnx
lite-transformer-decoder-16.onnx
RK3562|RK3566|RK3568|RK3576|RK3588|RV1126B
RK1808|RK3399PRO
RV1109|RV1126
Image-Text MatchingclipFP16./clip_images.onnx
./clip_text.onnx
RK3562|RK3566|RK3568|RK3576|RK3588|RV1126B
Speech Recognitionwav2vec2FP16wav2vec2_base_960h_20s.onnxRK3562|RK3566|RK3568|RK3576|RK3588|RV1126B
Speech RecognitionwhisperFP16whisper_encoder_base_20s.onnx
whisper_decoder_base_20s.onnx
RK3562|RK3566|RK3568|RK3576|RK3588|RV1126B
Speech RecognitionzipformerFP16encoder-epoch-99-avg-1.onnx
decoder-epoch-99-avg-1.onnx
joiner-epoch-99-avg-1.onnx
RK3562|RK3566|RK3568|RK3576|RK3588|RV1126B
Speech ClassificationyamnetFP16yamnet_3s.onnxRK3562|RK3566|RK3568|RK3576|RK3588|RV1126B
Text to Speechmms_ttsFP16mms_tts_eng_encoder_200.onnx
mms_tts_eng_decoder_200.onnx
RK3562|RK3566|RK3568|RK3576|RK3588|RV1126B

Model performance benchmark(FPS)

demomodel_nameinputs_shape    dtypeRK3566
RK3568
RK3562RK3588
@single_core
RK3576
@single_core
RV1109RV1126RK1808
mobilenetmobilenetv2-12[1, 3, 224, 224]INT8180.7281.3450.7467.0212.9322.3170.3
resnetresnet50-v2-7[1, 3, 224, 224]INT837.954.9110.199.024.436.237.1
yolov5yolov5s_relu[1, 3, 640, 640]INT825.533.266.165.020.229.237.2
yolov5n[1, 3, 640, 640]INT839.747.482.5112.736.353.261.2
yolov5s[1, 3, 640, 640]INT819.323.648.457.513.620.028.2
yolov5m[1, 3, 640, 640]INT88.610.820.923.75.88.513.3
yolov6yolov6n[1, 3, 640, 640]INT848.856.4106.4109.137.856.866.8
yolov6s[1, 3, 640, 640]INT815.217.336.435.010.816.324.1
yolov6m[1, 3, 640, 640]INT87.28.617.817.45.68.311.5
yolov7yolov7-tiny[1, 3, 640, 640]INT827.936.572.774.815.422.437.2
yolov7[1, 3, 640, 640]INT84.65.911.413.03.34.87.4
yolov8yolov8n[1, 3, 640, 640]INT834.040.973.590.224.035.442.3
yolov8s[1, 3, 640, 640]INT815.118.438.040.88.913.119.1
yolov8m[1, 3, 640, 640]INT86.58.216.216.73.95.89.1
yolov8_obbyolov8n-obb[1, 3, 640, 640]INT833.941.374.090.225.137.342.8
yolov10yolov10n[1, 3, 640, 640]INT820.734.161.280.2///
yolov10s[1, 3, 640, 640]INT810.316.933.839.9///
yolo11yolo11n[1, 3, 640, 640]INT820.634.060.077.911.717.017.6
yolo11s[1, 3, 640, 640]INT810.216.733.038.25.07.38.4
yolo11m[1, 3, 640, 640]INT84.66.512.714.62.84.05.1
yoloxyolox_s[1, 3, 640, 640]INT815.218.337.141.510.615.723.0
yolox_m[1, 3, 640, 640]INT86.68.216.017.64.66.810.7
ppyoloeppyoloe_s[1, 3, 640, 640]INT817.120.032.541.311.216.421.1
ppyoloe_m[1, 3, 640, 640]INT87.89.215.817.85.27.79.4
yolo_worldyolo_world_v2s[1, 3, 640, 640]INT87.49.622.122.3///
clip_text[1, 20]FP1629.867.495.863.5///
yolov8_poseyolov8n-pose[1, 3, 640, 640]INT822.631.055.966.8///
deeplabv3deeplab-v3-plus-mobilenet-v2[1, 513, 513, 1]INT810.921.434.039.410.113.04.4
yolov5_segyolov5n-seg[1, 3, 640, 640]INT832.238.569.388.328.642.249.6
yolov5s-seg[1, 3, 640, 640]INT815.018.136.841.69.614.022.5
yolov5m-seg[1, 3, 640, 640]INT86.88.416.418.04.76.810.8
yolov8_segyolov8n-seg[1, 3, 640, 640]INT827.833.060.871.118.627.632.9
yolov8s-seg[1, 3, 640, 640]INT811.714.128.930.86.69.814.6
yolov8m-seg[1, 3, 640, 640]INT85.26.412.612.73.14.66.9
ppsegppseg_lite_1024x512[1, 3, 512, 512]INT85.913.935.733.618.427.120.9
mobilesammobilesam_encoder_tiny[1, 3, 448, 448]FP161.06.610.011.9///
mobilesam_decoder[1, 1, 112, 112]FP1624.369.6116.4108.6///
RetinaFaceRetinaFace_mobile320[1, 3, 320, 320]INT8156.4300.8227.2470.5144.8212.5198.5
RetinaFace_resnet50_320[1, 3, 320, 320]INT818.726.949.256.614.620.824.6
LPRNetlprnet[1, 3, 24, 94]FP16143.2420.6586.4647.830.6(INT8)47.6(INT8)30.1(INT8)
PPOCR-Detppocrv4_det[1, 3, 480, 480]INT822.128.050.764.311.016.114.2
PPOCR-Recppocrv4_rec[1, 3, 48, 320]FP1619.554.373.996.81.01.66.7
lite_transformerlite-transformer-encoder-16embedding-256, token-16FP16337.5725.8867.6784.122.735.498.3
lite-transformer-decoder-16embedding-256, token-16FP16142.5252.0343.8272.348.065.8109.9
clipclip_images[1, 3, 224, 224]FP162.33.46.56.7///
clip_text[1, 20]FP1629.766.696.063.7///
wav2vec2wav2vec2_base_960h_20s20s audioFP16RTF
0.817
RTF
0.323
RTF
0.133
RTF
0.073
///
whisperwhisper_base_20s20s audioFP16RTF
1.178
RTF
0.420
RTF
0.215
RTF
0.218
///
zipformerzipformer-bilingual-zh-en-tstreaming audioFP16RTF
0.196
RTF
0.116
RTF
0.065
RTF
0.082
///
yamnetyamnet_3s3s audioFP16RTF
0.013
RTF
0.008
RTF
0.004
RTF
0.005
///
mms_ttsmms_tts_eng_200token-200FP16RTF
0.311
RTF
0.138
RTF
0.069
RTF
0.069
///
  • This performance data are collected based on the maximum NPU frequency of each platform.
  • This performance data calculate the time-consuming of model inference. Does not include the time-consuming of pre-processing and post-processing if not specified.
  • / means currently not support.

Compile Demo

For Linux develop board:

./build-linux.sh -t <target> -a <arch> -d <build_demo_name> [-b <build_type>] [-m] -t : target (rk356x/rk3576/rk3588/rv1106/rv1126b/rv1126/rk1808) -a : arch (aarch64/armhf) -d : demo name -b : build_type(Debug/Release) -m : enable address sanitizer, build_type need set to Debug Note: 'rk356x' represents rk3562/rk3566/rk3568, 'rv1106' represents rv1103/rv1106, 'rv1126' represents rv1109/rv1126,'rv1126b' is different from 'rv1126'. # Here is an example for compiling yolov5 demo for 64-bit Linux RK3566. ./build-linux.sh -t rk356x -a aarch64 -d yolov5

For Android development board:

# For Android develop boards, it's require to set path for Android NDK compilation tool path according to the user environment export ANDROID_NDK_PATH=~/opts/ndk/android-ndk-r18b ./build-android.sh -t <target> -a <arch> -d <build_demo_name> [-b <build_type>] [-m] -t : target (rk356x/rk3576/rk3588) -a : arch (arm64-v8a/armeabi-v7a) -d : demo name -b : build_type (Debug/Release) -m : enable address sanitizer, build_type need set to Debug # Here is an example for compiling yolov5 demo for 64-bit Android RK3566. ./build-android.sh -t rk356x -a arm64-v8a -d yolov5

Release Notes

VersionDescription
2.3.2Add support for RV1126B.
2.3.0New demos released, including yolo11, zipformer, mms_tts, etc.
2.2.0New demo wav2vec, mobilesam release. Update demo guide about exporting model.
2.1.0New demo release, including yolov8_pose, yolov8_obb, yolov10, yolo_world, clip, whisper, yamnet
RK1808, RV1109, RV1126 platform support of these demo will be added in next version.
2.0.0Add support for RK3576.
Add support for RK1808, RV1109, RV1126.
1.6.0New demo release, including object detection, image segmentation, OCR, car plate detection&recognition etc.
Full support for RK3566, RK3568, RK3588, RK3562 platforms.
Limited support for RV1103, RV1106 platforms.
1.5.0Yolo detection demo release.

Environment dependencies

All demos in RKNN Model Zoo are verified based on the latest RKNPU SDK. If using a lower version for verification, the inference performance and inference results may be wrong.

VersionRKNPU2 SDKRKNPU1 SDK
2.3.2>=2.3.2>=1.7.5
2.3.0>=2.3.0>=1.7.5
2.2.0>=2.2.0>=1.7.5
2.1.0>=2.1.0>=1.7.5
2.0.0>=2.0.0>=1.7.5
1.6.0>=1.6.0-
1.5.0>=1.5.0>=1.7.3

RKNPU Resource

License

Apache License 2.0

About

from https://github.com/airockchip/rknn_model_zoo

381.72 MiB
0 forks0 stars1 branches7 TagREADMEApache-2.0 license
Language
C88.7%
Shell6.2%
Python4%
Dockerfile0.8%
Others0.3%