Wanli commited on
Commit
59e587d
·
2 Parent(s): a9286c4 cae84a4

Merge pull request #160 from fengyuentau/add_new_hardware

Browse files

Add benchmark results on Toybrick RV1126, Khadas Edge2, Horizon Sunrise X3 PI and MAIX-III AX-PI

Files changed (2) hide show
  1. benchmark/README.md +235 -22
  2. benchmark/color_table.svg +0 -0
benchmark/README.md CHANGED
@@ -58,28 +58,28 @@ python benchmark.py --all --cfg_overwrite_backend_target 1
58
  Benchmark is done with latest `opencv-python==4.7.0.72` and `opencv-contrib-python==4.7.0.72` on the following platforms. Some models are excluded because of support issues.
59
 
60
 
61
- | Model | Task | Input Size | [CPU-INTEL (ms)](#intel-12700k) | [CPU-RPI (ms)](#rasberry-pi-4b) | [GPU-JETSON (ms)](#jetson-nano-b01) | [NPU-KV3 (ms)](#khadas-vim3) | [NPU-Ascend310 (ms)](#atlas-200-dk) | CPU-D1 (ms) |
62
- |----------------------------------------------------------| ----------------------------- | ---------- |---------------------------------|---------------------------------|-------------------------------------|------------------------------|-------------------------------------|-------------|
63
- | [YuNet](../models/face_detection_yunet) | Face Detection | 160x120 | 0.72 | 5.43 | 12.18 | 4.04 | 2.24 | 86.69 |
64
- | [SFace](../models/face_recognition_sface) | Face Recognition | 112x112 | 6.04 | 78.83 | 24.88 | 46.25 | 2.66 | --- |
65
- | [FER](../models/facial_expression_recognition/) | Facial Expression Recognition | 112x112 | 3.16 | 32.53 | 31.07 | 29.80 | 2.19 | --- |
66
- | [LPD-YuNet](../models/license_plate_detection_yunet/) | License Plate Detection | 320x240 | 8.63 | 167.70 | 56.12 | 29.53 | 7.63 | --- |
67
- | [YOLOX](../models/object_detection_yolox/) | Object Detection | 640x640 | 141.20 | 1805.87 | 388.95 | 420.98 | 28.59 | --- |
68
- | [NanoDet](../models/object_detection_nanodet/) | Object Detection | 416x416 | 66.03 | 225.10 | 64.94 | 116.64 | 20.62 | --- |
69
- | [DB-IC15](../models/text_detection_db) (EN) | Text Detection | 640x480 | 71.03 | 1862.75 | 208.41 | --- | 17.15 | --- |
70
- | [DB-TD500](../models/text_detection_db) (EN&CN) | Text Detection | 640x480 | 72.31 | 1878.45 | 210.51 | --- | 17.95 | --- |
71
- | [CRNN-EN](../models/text_recognition_crnn) | Text Recognition | 100x32 | 20.16 | 278.11 | 196.15 | 125.30 | --- | --- |
72
- | [CRNN-CN](../models/text_recognition_crnn) | Text Recognition | 100x32 | 23.07 | 297.48 | 239.76 | 166.79 | --- | --- |
73
- | [PP-ResNet](../models/image_classification_ppresnet) | Image Classification | 224x224 | 34.71 | 463.93 | 98.64 | 75.45 | 6.99 | --- |
74
- | [MobileNet-V1](../models/image_classification_mobilenet) | Image Classification | 224x224 | 5.90 | 72.33 | 33.18 | 145.66\* | 5.15 | --- |
75
- | [MobileNet-V2](../models/image_classification_mobilenet) | Image Classification | 224x224 | 5.97 | 66.56 | 31.92 | 146.31\* | 5.41 | --- |
76
- | [PP-HumanSeg](../models/human_segmentation_pphumanseg) | Human Segmentation | 192x192 | 8.81 | 73.13 | 67.97 | 74.77 | 6.94 | --- |
77
- | [WeChatQRCode](../models/qrcode_wechatqrcode) | QR Code Detection and Parsing | 100x100 | 1.29 | 5.71 | --- | --- | --- | --- |
78
- | [DaSiamRPN](../models/object_tracking_dasiamrpn) | Object Tracking | 1280x720 | 29.05 | 712.94 | 76.82 | --- | --- | --- |
79
- | [YoutuReID](../models/person_reid_youtureid) | Person Re-Identification | 128x256 | 30.39 | 625.56 | 90.07 | 44.61 | 5.58 | --- |
80
- | [MP-PalmDet](../models/palm_detection_mediapipe) | Palm Detection | 192x192 | 6.29 | 86.83 | 83.20 | 33.81 | 5.17 | --- |
81
- | [MP-HandPose](../models/handpose_estimation_mediapipe) | Hand Pose Estimation | 224x224 | 4.68 | 43.57 | 40.10 | 19.47 | 6.27 | --- |
82
- | [MP-PersonDet](./models/person_detection_mediapipe) | Person Detection | 224x224 | 13.88 | 98.52 | 56.69 | --- | 16.45 | --- |
83
 
84
  \*: Models are quantized in per-channel mode, which run slower than per-tensor quantized models on NPU.
85
 
@@ -460,3 +460,216 @@ mean median min input size model
460
  17.15 17.18 16.83 [640, 480] DB with ['text_detection_DB_IC15_resnet18_2021sep.onnx']
461
  17.95 18.61 16.83 [640, 480] DB with ['text_detection_DB_TD500_resnet18_2021sep.onnx']
462
  ```
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
58
  Benchmark is done with latest `opencv-python==4.7.0.72` and `opencv-contrib-python==4.7.0.72` on the following platforms. Some models are excluded because of support issues.
59
 
60
 
61
+ | Model | Task | Input Size | CPU-INTEL (ms) | CPU-RPI (ms) | CPU-RV1126 (ms) | CPU-KVE2 (ms) | CPU-HSX3 (ms) | CPU-AXP (ms) | GPU-JETSON (ms) | NPU-KV3 (ms) | NPU-Ascend310 (ms) | CPU-D1 (ms) |
62
+ | -------------------------------------------------------- | ----------------------------- | ---------- | -------------- | ------------ | --------------- | ------------- | ------------- | ------------ | --------------- | ------------ | ------------------ | ----------- |
63
+ | [YuNet](../models/face_detection_yunet) | Face Detection | 160x120 | 0.72 | 5.43 | 68.89 | 2.47 | 11.04 | 98.16 | 12.18 | 4.04 | 2.24 | 86.69 |
64
+ | [SFace](../models/face_recognition_sface) | Face Recognition | 112x112 | 6.04 | 78.83 | 1550.71 | 33.79 | 140.83 | 2093.12 | 24.88 | 46.25 | 2.66 | --- |
65
+ | [FER](../models/facial_expression_recognition/) | Facial Expression Recognition | 112x112 | 3.16 | 32.53 | 604.36 | 15.99 | 64.96 | 811.32 | 31.07 | 29.80 | 2.19 | --- |
66
+ | [LPD-YuNet](../models/license_plate_detection_yunet/) | License Plate Detection | 320x240 | 8.63 | 167.70 | 3222.92 | 57.57 | 283.75 | 4300.13 | 56.12 | 29.53 | 7.63 | --- |
67
+ | [YOLOX](../models/object_detection_yolox/) | Object Detection | 640x640 | 141.20 | 1805.87 | 38359.93 | 577.93 | 2749.22 | 49994.75 | 388.95 | 420.98 | 28.59 | --- |
68
+ | [NanoDet](../models/object_detection_nanodet/) | Object Detection | 416x416 | 66.03 | 225.10 | 2303.55 | 118.38 | 408.16 | 3360.20 | 64.94 | 116.64 | 20.62 | --- |
69
+ | [DB-IC15](../models/text_detection_db) (EN) | Text Detection | 640x480 | 71.03 | 1862.75 | 49065.03 | 394.77 | 1908.87 | 65681.91 | 208.41 | --- | 17.15 | --- |
70
+ | [DB-TD500](../models/text_detection_db) (EN&CN) | Text Detection | 640x480 | 72.31 | 1878.45 | 49052.24 | 392.52 | 1922.34 | 65630.56 | 210.51 | --- | 17.95 | --- |
71
+ | [CRNN-EN](../models/text_recognition_crnn) | Text Recognition | 100x32 | 20.16 | 278.11 | 2230.12 | 77.51 | 464.58 | 3277.07 | 196.15 | 125.30 | --- | --- |
72
+ | [CRNN-CN](../models/text_recognition_crnn) | Text Recognition | 100x32 | 23.07 | 297.48 | 2244.03 | 82.93 | 495.94 | 3330.69 | 239.76 | 166.79 | --- | --- |
73
+ | [PP-ResNet](../models/image_classification_ppresnet) | Image Classification | 224x224 | 34.71 | 463.93 | 11793.09 | 178.87 | 759.81 | 15753.56 | 98.64 | 75.45 | 6.99 | --- |
74
+ | [MobileNet-V1](../models/image_classification_mobilenet) | Image Classification | 224x224 | 5.90 | 72.33 | 1546.16 | 32.78 | 140.60 | 2091.13 | 33.18 | 145.66\* | 5.15 | --- |
75
+ | [MobileNet-V2](../models/image_classification_mobilenet) | Image Classification | 224x224 | 5.97 | 66.56 | 1166.56 | 28.38 | 122.53 | 1583.25 | 31.92 | 146.31\* | 5.41 | --- |
76
+ | [PP-HumanSeg](../models/human_segmentation_pphumanseg) | Human Segmentation | 192x192 | 8.81 | 73.13 | 1610.78 | 34.58 | 144.23 | 2157.86 | 67.97 | 74.77 | 6.94 | --- |
77
+ | [WeChatQRCode](../models/qrcode_wechatqrcode) | QR Code Detection and Parsing | 100x100 | 1.29 | 5.71 | --- | --- | --- | --- | --- | --- | --- | --- |
78
+ | [DaSiamRPN](../models/object_tracking_dasiamrpn) | Object Tracking | 1280x720 | 29.05 | 712.94 | 14738.64 | 152.78 | 929.63 | 19800.14 | 76.82 | --- | --- | --- |
79
+ | [YoutuReID](../models/person_reid_youtureid) | Person Re-Identification | 128x256 | 30.39 | 625.56 | 11117.07 | 195.67 | 898.23 | 14886.02 | 90.07 | 44.61 | 5.58 | --- |
80
+ | [MP-PalmDet](../models/palm_detection_mediapipe) | Palm Detection | 192x192 | 6.29 | 86.83 | 872.09 | 38.03 | 142.23 | 1191.81 | 83.20 | 33.81 | 5.17 | --- |
81
+ | [MP-HandPose](../models/handpose_estimation_mediapipe) | Hand Pose Estimation | 224x224 | 4.68 | 43.57 | 460.56 | 20.27 | 80.67 | 636.22 | 40.10 | 19.47 | 6.27 | --- |
82
+ | [MP-PersonDet](./models/person_detection_mediapipe) | Person Detection | 224x224 | 13.88 | 98.52 | 1326.56 | 46.07 | 191.41 | 1835.97 | 56.69 | --- | 16.45 | --- |
83
 
84
  \*: Models are quantized in per-channel mode, which run slower than per-tensor quantized models on NPU.
85
 
 
460
  17.15 17.18 16.83 [640, 480] DB with ['text_detection_DB_IC15_resnet18_2021sep.onnx']
461
  17.95 18.61 16.83 [640, 480] DB with ['text_detection_DB_TD500_resnet18_2021sep.onnx']
462
  ```
463
+
464
+ ### Toybrick RV1126
465
+
466
+ Specs: [details](https://t.rock-chips.com/en/portal.php?mod=view&aid=26)
467
+ - CPU: Quard core ARM Cortex-A7, up to 1.5GHz
468
+ - NPU (Not supported by OpenCV): 2.0TOPS, support 8bit / 16bit
469
+
470
+ CPU:
471
+
472
+ ```
473
+ $ python3 benchmark.py --all --cfg_exclude wechat --model_exclude license_plate_detection_lpd_yunet_2023mar_int8.onnx:human_segmentation_pphumanseg_2023mar_int8.onnx
474
+ Benchmarking ...
475
+ backend=cv.dnn.DNN_BACKEND_OPENCV
476
+ target=cv.dnn.DNN_TARGET_CPU
477
+ mean median min input size model
478
+ 68.89 68.59 68.23 [160, 120] YuNet with ['face_detection_yunet_2022mar.onnx']
479
+ 60.98 61.11 52.00 [160, 120] YuNet with ['face_detection_yunet_2022mar_int8.onnx']
480
+ 1550.71 1578.99 1527.58 [150, 150] SFace with ['face_recognition_sface_2021dec.onnx']
481
+ 1214.15 1261.66 920.50 [150, 150] SFace with ['face_recognition_sface_2021dec_int8.onnx']
482
+ 604.36 611.24 578.99 [112, 112] FacialExpressionRecog with ['facial_expression_recognition_mobilefacenet_2022july.onnx']
483
+ 496.42 537.75 397.23 [112, 112] FacialExpressionRecog with ['facial_expression_recognition_mobilefacenet_2022july_int8.onnx']
484
+ 460.56 470.15 440.77 [224, 224] MPHandPose with ['handpose_estimation_mediapipe_2023feb.onnx']
485
+ 387.63 379.96 318.71 [224, 224] MPHandPose with ['handpose_estimation_mediapipe_2023feb_int8.onnx']
486
+ 1610.78 1599.92 1583.95 [192, 192] PPHumanSeg with ['human_segmentation_pphumanseg_2023mar.onnx']
487
+ 1546.16 1539.50 1513.14 [224, 224] MobileNet with ['image_classification_mobilenetv1_2022apr.onnx']
488
+ 1166.56 1211.97 827.10 [224, 224] MobileNet with ['image_classification_mobilenetv2_2022apr.onnx']
489
+ 983.80 868.18 689.32 [224, 224] MobileNet with ['image_classification_mobilenetv1_2022apr_int8.onnx']
490
+ 840.38 801.83 504.54 [224, 224] MobileNet with ['image_classification_mobilenetv2_2022apr_int8.onnx']
491
+ 11793.09 11817.73 11741.04 [224, 224] PPResNet with ['image_classification_ppresnet50_2022jan.onnx']
492
+ 7740.03 8134.99 4464.30 [224, 224] PPResNet with ['image_classification_ppresnet50_2022jan_int8.onnx']
493
+ 3222.92 3225.18 3170.71 [320, 240] LPD_YuNet with ['license_plate_detection_lpd_yunet_2023mar.onnx']
494
+ 2303.55 2307.46 2289.41 [416, 416] NanoDet with ['object_detection_nanodet_2022nov.onnx']
495
+ 1888.15 1920.41 1528.78 [416, 416] NanoDet with ['object_detection_nanodet_2022nov_int8.onnx']
496
+ 38359.93 39021.21 37180.85 [640, 640] YoloX with ['object_detection_yolox_2022nov.onnx']
497
+ 24504.50 25439.34 13443.63 [640, 640] YoloX with ['object_detection_yolox_2022nov_int8.onnx']
498
+ 14738.64 14764.84 14655.76 [1280, 720] DaSiamRPN with ['object_tracking_dasiamrpn_kernel_cls1_2021nov.onnx', 'object_tracking_dasiamrpn_kernel_r1_2021nov.onnx', 'object_tracking_dasiamrpn_model_2021nov.onnx']
499
+ 872.09 877.72 838.99 [192, 192] MPPalmDet with ['palm_detection_mediapipe_2023feb.onnx']
500
+ 764.48 775.55 653.25 [192, 192] MPPalmDet with ['palm_detection_mediapipe_2023feb_int8.onnx']
501
+ 1326.56 1327.10 1305.18 [224, 224] MPPersonDet with ['person_detection_mediapipe_2023mar.onnx']
502
+ 11117.07 11109.12 11058.49 [128, 256] YoutuReID with ['person_reid_youtu_2021nov.onnx']
503
+ 7037.96 7424.89 3750.12 [128, 256] YoutuReID with ['person_reid_youtu_2021nov_int8.onnx']
504
+ 49065.03 49144.55 48943.50 [640, 480] DB with ['text_detection_DB_IC15_resnet18_2021sep.onnx']
505
+ 49052.24 48992.64 48927.44 [640, 480] DB with ['text_detection_DB_TD500_resnet18_2021sep.onnx']
506
+ 2200.08 2193.78 2175.77 [1280, 720] CRNN with ['text_recognition_CRNN_CH_2021sep.onnx']
507
+ 2244.03 2240.25 2175.77 [1280, 720] CRNN with ['text_recognition_CRNN_CN_2021nov.onnx']
508
+ 2230.12 2290.28 2175.77 [1280, 720] CRNN with ['text_recognition_CRNN_EN_2021sep.onnx']
509
+ [ WARN:[email protected]] global onnx_graph_simplifier.cpp:804 getMatFromTensor DNN: load FP16 model as FP32 model, and it takes twice the FP16 RAM requirement.
510
+ 2220.33 2281.75 2171.61 [1280, 720] CRNN with ['text_recognition_CRNN_CH_2023feb_fp16.onnx']
511
+ 2216.44 2212.48 2171.61 [1280, 720] CRNN with ['text_recognition_CRNN_EN_2023feb_fp16.onnx']
512
+ 2041.65 2209.50 1268.91 [1280, 720] CRNN with ['text_recognition_CRNN_CH_2022oct_int8.onnx']
513
+ 1933.06 2210.81 1268.91 [1280, 720] CRNN with ['text_recognition_CRNN_CN_2021nov_int8.onnx']
514
+ 1826.34 2234.66 1184.53 [1280, 720] CRNN with ['text_recognition_CRNN_EN_2022oct_int8.onnx']
515
+ ```
516
+
517
+ ### Khadas Edge2 (with RK3588)
518
+
519
+ Board specs: [details](https://www.khadas.com/edge2)
520
+ SoC specs: [details](https://www.rock-chips.com/a/en/products/RK35_Series/2022/0926/1660.html)
521
+ - CPU: 2.25GHz Quad Core ARM Cortex-A76 + 1.8GHz Quad Core Cortex-A55
522
+ - NPU (Not supported by OpenCV): Build-in 6 TOPS Performance NPU, triple core, support int4 / int8 / int16 / fp16 / bf16 / tf32
523
+
524
+ CPU:
525
+
526
+ ```
527
+ $ python3 benchmark.py --all --cfg_exclude wechat --model_exclude license_plate_detection_lpd_yunet_2023mar_int8.onnx:human_segmentation_pphumanseg_2023mar_int8.onnx
528
+ Benchmarking ...
529
+ backend=cv.dnn.DNN_BACKEND_OPENCV
530
+ target=cv.dnn.DNN_TARGET_CPU
531
+ mean median min input size model
532
+ 2.47 2.55 2.44 [160, 120] YuNet with ['face_detection_yunet_2022mar.onnx']
533
+ 2.81 2.84 2.44 [160, 120] YuNet with ['face_detection_yunet_2022mar_int8.onnx']
534
+ 33.79 33.83 33.24 [150, 150] SFace with ['face_recognition_sface_2021dec.onnx']
535
+ 39.96 40.77 33.24 [150, 150] SFace with ['face_recognition_sface_2021dec_int8.onnx']
536
+ 15.99 16.12 15.92 [112, 112] FacialExpressionRecog with ['facial_expression_recognition_mobilefacenet_2022july.onnx']
537
+ 19.09 19.48 15.92 [112, 112] FacialExpressionRecog with ['facial_expression_recognition_mobilefacenet_2022july_int8.onnx']
538
+ 20.27 20.45 20.11 [224, 224] MPHandPose with ['handpose_estimation_mediapipe_2023feb.onnx']
539
+ 23.14 23.62 20.11 [224, 224] MPHandPose with ['handpose_estimation_mediapipe_2023feb_int8.onnx']
540
+ 34.58 34.53 33.55 [192, 192] PPHumanSeg with ['human_segmentation_pphumanseg_2023mar.onnx']
541
+ 32.78 32.94 31.99 [224, 224] MobileNet with ['image_classification_mobilenetv1_2022apr.onnx']
542
+ 28.38 28.80 24.59 [224, 224] MobileNet with ['image_classification_mobilenetv2_2022apr.onnx']
543
+ 31.49 24.66 24.59 [224, 224] MobileNet with ['image_classification_mobilenetv1_2022apr_int8.onnx']
544
+ 31.45 32.34 24.59 [224, 224] MobileNet with ['image_classification_mobilenetv2_2022apr_int8.onnx']
545
+ 178.87 178.49 173.57 [224, 224] PPResNet with ['image_classification_ppresnet50_2022jan.onnx']
546
+ 197.19 200.06 173.57 [224, 224] PPResNet with ['image_classification_ppresnet50_2022jan_int8.onnx']
547
+ 57.57 65.48 51.34 [320, 240] LPD_YuNet with ['license_plate_detection_lpd_yunet_2023mar.onnx']
548
+ 118.38 132.59 88.34 [416, 416] NanoDet with ['object_detection_nanodet_2022nov.onnx']
549
+ 120.74 110.82 88.34 [416, 416] NanoDet with ['object_detection_nanodet_2022nov_int8.onnx']
550
+ 577.93 577.17 553.81 [640, 640] YoloX with ['object_detection_yolox_2022nov.onnx']
551
+ 607.96 604.88 553.81 [640, 640] YoloX with ['object_detection_yolox_2022nov_int8.onnx']
552
+ 152.78 155.89 121.26 [1280, 720] DaSiamRPN with ['object_tracking_dasiamrpn_kernel_cls1_2021nov.onnx', 'object_tracking_dasiamrpn_kernel_r1_2021nov.onnx', 'object_tracking_dasiamrpn_model_2021nov.onnx']
553
+ 38.03 38.26 37.51 [192, 192] MPPalmDet with ['palm_detection_mediapipe_2023feb.onnx']
554
+ 47.12 48.12 37.51 [192, 192] MPPalmDet with ['palm_detection_mediapipe_2023feb_int8.onnx']
555
+ 46.07 46.77 45.10 [224, 224] MPPersonDet with ['person_detection_mediapipe_2023mar.onnx']
556
+ 195.67 198.02 182.97 [128, 256] YoutuReID with ['person_reid_youtu_2021nov.onnx']
557
+ 181.91 182.28 169.98 [128, 256] YoutuReID with ['person_reid_youtu_2021nov_int8.onnx']
558
+ 394.77 407.60 371.95 [640, 480] DB with ['text_detection_DB_IC15_resnet18_2021sep.onnx']
559
+ 392.52 404.80 367.96 [640, 480] DB with ['text_detection_DB_TD500_resnet18_2021sep.onnx']
560
+ 77.32 77.72 75.27 [1280, 720] CRNN with ['text_recognition_CRNN_CH_2021sep.onnx']
561
+ 82.93 82.93 75.27 [1280, 720] CRNN with ['text_recognition_CRNN_CN_2021nov.onnx']
562
+ 77.51 93.01 67.44 [1280, 720] CRNN with ['text_recognition_CRNN_EN_2021sep.onnx']
563
+ [ WARN:[email protected]] global onnx_graph_simplifier.cpp:804 getMatFromTensor DNN: load FP16 model as FP32 model, and it takes twice the FP16 RAM requirement.
564
+ 77.02 84.11 67.44 [1280, 720] CRNN with ['text_recognition_CRNN_CH_2023feb_fp16.onnx']
565
+ 75.11 69.82 63.98 [1280, 720] CRNN with ['text_recognition_CRNN_EN_2023feb_fp16.onnx']
566
+ 74.55 73.36 63.98 [1280, 720] CRNN with ['text_recognition_CRNN_CH_2022oct_int8.onnx']
567
+ 75.06 77.44 63.98 [1280, 720] CRNN with ['text_recognition_CRNN_CN_2021nov_int8.onnx']
568
+ 73.91 74.25 63.98 [1280, 720] CRNN with ['text_recognition_CRNN_EN_2022oct_int8.onnx']
569
+ ```
570
+
571
+ ### Horizon Sunrise X3 PI
572
+
573
+ Specs: [details_cn](https://developer.horizon.ai/sunrise)
574
+ - CPU: ARM Cortex-A53,4xCore, 1.2G
575
+ - BPU (aka NPU, not supported by OpenCV): (Bernoulli Arch) 2×Core,up to 1.0G, ~5Tops
576
+
577
+ CPU:
578
+
579
+ ```
580
+ $ python3 benchmark.py --all --cfg_exclude wechat --model_exclude license_plate_detection_lpd_yunet_2023mar_int8.onnx:human_segmentation_pphumanseg_2023mar_int8.onnx
581
+ Benchmarking ...
582
+ backend=cv.dnn.DNN_BACKEND_OPENCV
583
+ target=cv.dnn.DNN_TARGET_CPU
584
+ mean median min input size model
585
+ 11.04 11.01 10.98 [160, 120] YuNet with ['face_detection_yunet_2022mar.onnx']
586
+ 12.59 12.75 10.98 [160, 120] YuNet with ['face_detection_yunet_2022mar_int8.onnx']
587
+ 140.83 140.85 140.52 [150, 150] SFace with ['face_recognition_sface_2021dec.onnx']
588
+ 171.71 175.65 140.52 [150, 150] SFace with ['face_recognition_sface_2021dec_int8.onnx']
589
+ 64.96 64.94 64.77 [112, 112] FacialExpressionRecog with ['facial_expression_recognition_mobilefacenet_2022july.onnx']
590
+ 80.20 81.82 64.77 [112, 112] FacialExpressionRecog with ['facial_expression_recognition_mobilefacenet_2022july_int8.onnx']
591
+ 80.67 80.72 80.45 [224, 224] MPHandPose with ['handpose_estimation_mediapipe_2023feb.onnx']
592
+ 89.25 90.39 80.45 [224, 224] MPHandPose with ['handpose_estimation_mediapipe_2023feb_int8.onnx']
593
+ 144.23 144.34 143.84 [192, 192] PPHumanSeg with ['human_segmentation_pphumanseg_2023mar.onnx']
594
+ 140.60 140.62 140.33 [224, 224] MobileNet with ['image_classification_mobilenetv1_2022apr.onnx']
595
+ 122.53 124.23 107.71 [224, 224] MobileNet with ['image_classification_mobilenetv2_2022apr.onnx']
596
+ 128.22 107.87 107.71 [224, 224] MobileNet with ['image_classification_mobilenetv1_2022apr_int8.onnx']
597
+ 125.77 123.77 107.71 [224, 224] MobileNet with ['image_classification_mobilenetv2_2022apr_int8.onnx']
598
+ 759.81 760.01 759.11 [224, 224] PPResNet with ['image_classification_ppresnet50_2022jan.onnx']
599
+ 764.17 764.43 759.11 [224, 224] PPResNet with ['image_classification_ppresnet50_2022jan_int8.onnx']
600
+ 283.75 284.17 282.15 [320, 240] LPD_YuNet with ['license_plate_detection_lpd_yunet_2023mar.onnx']
601
+ 408.16 408.31 402.71 [416, 416] NanoDet with ['object_detection_nanodet_2022nov.onnx']
602
+ 408.82 407.99 402.71 [416, 416] NanoDet with ['object_detection_nanodet_2022nov_int8.onnx']
603
+ 2749.22 2756.23 2737.96 [640, 640] YoloX with ['object_detection_yolox_2022nov.onnx']
604
+ 2671.54 2692.18 2601.24 [640, 640] YoloX with ['object_detection_yolox_2022nov_int8.onnx']
605
+ 929.63 936.01 914.86 [1280, 720] DaSiamRPN with ['object_tracking_dasiamrpn_kernel_cls1_2021nov.onnx', 'object_tracking_dasiamrpn_kernel_r1_2021nov.onnx', 'object_tracking_dasiamrpn_model_2021nov.onnx']
606
+ 142.23 142.03 141.78 [192, 192] MPPalmDet with ['palm_detection_mediapipe_2023feb.onnx']
607
+ 179.74 184.79 141.78 [192, 192] MPPalmDet with ['palm_detection_mediapipe_2023feb_int8.onnx']
608
+ 191.41 191.48 191.00 [224, 224] MPPersonDet with ['person_detection_mediapipe_2023mar.onnx']
609
+ 898.23 897.52 896.58 [128, 256] YoutuReID with ['person_reid_youtu_2021nov.onnx']
610
+ 749.83 765.90 630.39 [128, 256] YoutuReID with ['person_reid_youtu_2021nov_int8.onnx']
611
+ 1908.87 1905.00 1903.13 [640, 480] DB with ['text_detection_DB_IC15_resnet18_2021sep.onnx']
612
+ 1922.34 1920.65 1896.97 [640, 480] DB with ['text_detection_DB_TD500_resnet18_2021sep.onnx']
613
+ 470.78 469.17 467.92 [1280, 720] CRNN with ['text_recognition_CRNN_CH_2021sep.onnx']
614
+ 495.94 497.12 467.92 [1280, 720] CRNN with ['text_recognition_CRNN_CN_2021nov.onnx']
615
+ 464.58 528.72 408.69 [1280, 720] CRNN with ['text_recognition_CRNN_EN_2021sep.onnx']
616
+ [ WARN:[email protected]] global onnx_graph_simplifier.cpp:804 getMatFromTensor DNN: load FP16 model as FP32 model, and it takes twice the FP16 RAM requirement.
617
+ 465.04 467.01 408.69 [1280, 720] CRNN with ['text_recognition_CRNN_CH_2023feb_fp16.onnx']
618
+ 452.90 409.34 408.69 [1280, 720] CRNN with ['text_recognition_CRNN_EN_2023feb_fp16.onnx']
619
+ 450.23 438.57 408.69 [1280, 720] CRNN with ['text_recognition_CRNN_CH_2022oct_int8.onnx']
620
+ 453.52 468.72 408.69 [1280, 720] CRNN with ['text_recognition_CRNN_CN_2021nov_int8.onnx']
621
+ 443.38 447.29 381.90 [1280, 720] CRNN with ['text_recognition_CRNN_EN_2022oct_int8.onnx']
622
+ ```
623
+
624
+ ### MAIX-III AX-PI
625
+
626
+ Specs: [details_en](https://wiki.sipeed.com/hardware/en/maixIII/ax-pi/axpi.html#Hardware), [details_cn](https://wiki.sipeed.com/hardware/zh/maixIII/ax-pi/axpi.html#%E7%A1%AC%E4%BB%B6%E5%8F%82%E6%95%B0)
627
+ - CPU: Quad cores ARM Cortex-A7
628
+ - NPU (Not supported by OpenCV): 14.4Tops@int4,3.6Tops@int8
629
+
630
+ CPU:
631
+
632
+ ```
633
+ $ python3 benchmark.py --all --cfg_exclude wechat --model_exclude license_plate_detection_lpd_yunet_2023mar_int8.onnx:human_segmentation_pphumanseg_2023mar_int8.onnx
634
+ Benchmarking ...
635
+ backend=cv.dnn.DNN_BACKEND_OPENCV
636
+ target=cv.dnn.DNN_TARGET_CPU
637
+ mean median min input size model
638
+ 98.16 98.99 97.73 [160, 120] YuNet with ['face_detection_yunet_2022mar.onnx']
639
+ 93.21 93.81 89.15 [160, 120] YuNet with ['face_detection_yunet_2022mar_int8.onnx']
640
+ 2093.12 2093.02 2092.54 [150, 150] SFace with ['face_recognition_sface_2021dec.onnx']
641
+ 1845.87 1871.17 1646.65 [150, 150] SFace with ['face_recognition_sface_2021dec_int8.onnx']
642
+ 811.32 811.47 810.80 [112, 112] FacialExpressionRecog with ['facial_expression_recognition_mobilefacenet_2022july.onnx']
643
+ 743.24 750.04 688.44 [112, 112] FacialExpressionRecog with ['facial_expression_recognition_mobilefacenet_2022july_int8.onnx']
644
+ 636.22 635.89 635.43 [224, 224] MPHandPose with ['handpose_estimation_mediapipe_2023feb.onnx']
645
+ 588.83 594.01 550.49 [224, 224] MPHandPose with ['handpose_estimation_mediapipe_2023feb_int8.onnx']
646
+ 2157.86 2157.82 2156.99 [192, 192] PPHumanSeg with ['human_segmentation_pphumanseg_2023mar.onnx']
647
+ 2091.13 2091.61 2090.72 [224, 224] MobileNet with ['image_classification_mobilenetv1_2022apr.onnx']
648
+ 1583.25 1634.14 1176.19 [224, 224] MobileNet with ['image_classification_mobilenetv2_2022apr.onnx']
649
+ 1450.55 1177.07 1176.19 [224, 224] MobileNet with ['image_classification_mobilenetv1_2022apr_int8.onnx']
650
+ 1272.81 1226.00 873.94 [224, 224] MobileNet with ['image_classification_mobilenetv2_2022apr_int8.onnx']
651
+ 15753.56 15751.29 15748.97 [224, 224] PPResNet with ['image_classification_ppresnet50_2022jan.onnx']
652
+ 11610.11 12023.99 8290.04 [224, 224] PPResNet with ['image_classification_ppresnet50_2022jan_int8.onnx']
653
+ 4300.13 4301.43 4298.29 [320, 240] LPD_YuNet with ['license_plate_detection_lpd_yunet_2023mar.onnx']
654
+ 3360.20 3357.84 3356.70 [416, 416] NanoDet with ['object_detection_nanodet_2022nov.onnx']
655
+ 2961.58 3005.40 2641.27 [416, 416] NanoDet with ['object_detection_nanodet_2022nov_int8.onnx']
656
+ 49994.75 49968.90 49958.48 [640, 640] YoloX with ['object_detection_yolox_2022nov.onnx']
657
+ 35966.66 37391.40 24670.30 [640, 640] YoloX with ['object_detection_yolox_2022nov_int8.onnx']
658
+ 19800.14 19816.02 19754.69 [1280, 720] DaSiamRPN with ['object_tracking_dasiamrpn_kernel_cls1_2021nov.onnx', 'object_tracking_dasiamrpn_kernel_r1_2021nov.onnx', 'object_tracking_dasiamrpn_model_2021nov.onnx']
659
+ 1191.81 1192.42 1191.40 [192, 192] MPPalmDet with ['palm_detection_mediapipe_2023feb.onnx']
660
+ 1162.64 1165.77 1138.35 [192, 192] MPPalmDet with ['palm_detection_mediapipe_2023feb_int8.onnx']
661
+ 1835.97 1836.24 1835.34 [224, 224] MPPersonDet with ['person_detection_mediapipe_2023mar.onnx']
662
+ 14886.02 14884.48 14881.73 [128, 256] YoutuReID with ['person_reid_youtu_2021nov.onnx']
663
+ 10491.63 10930.80 6975.34 [128, 256] YoutuReID with ['person_reid_youtu_2021nov_int8.onnx']
664
+ 65681.91 65674.89 65612.09 [640, 480] DB with ['text_detection_DB_IC15_resnet18_2021sep.onnx']
665
+ 65630.56 65652.90 65531.21 [640, 480] DB with ['text_detection_DB_TD500_resnet18_2021sep.onnx']
666
+ 3248.11 3242.59 3241.18 [1280, 720] CRNN with ['text_recognition_CRNN_CH_2021sep.onnx']
667
+ 3330.69 3350.38 3241.18 [1280, 720] CRNN with ['text_recognition_CRNN_CN_2021nov.onnx']
668
+ 3277.07 3427.65 3195.84 [1280, 720] CRNN with ['text_recognition_CRNN_EN_2021sep.onnx']
669
+ [ WARN:[email protected]] global onnx_graph_simplifier.cpp:804 getMatFromTensor DNN: load FP16 model as FP32 model, and it takes twice the FP16 RAM requirement.
670
+ 3263.48 3319.83 3195.84 [1280, 720] CRNN with ['text_recognition_CRNN_CH_2023feb_fp16.onnx']
671
+ 3258.78 3196.90 3195.84 [1280, 720] CRNN with ['text_recognition_CRNN_EN_2023feb_fp16.onnx']
672
+ 3090.12 3224.64 2353.81 [1280, 720] CRNN with ['text_recognition_CRNN_CH_2022oct_int8.onnx']
673
+ 3001.31 3237.93 2353.81 [1280, 720] CRNN with ['text_recognition_CRNN_CN_2021nov_int8.onnx']
674
+ 2887.05 3224.12 2206.89 [1280, 720] CRNN with ['text_recognition_CRNN_EN_2022oct_int8.onnx']
675
+ ```
benchmark/color_table.svg CHANGED