OpenCV Zoo and Benchmark

    A zoo for models tuned for OpenCV DNN with benchmarks on different platforms.


    • Install latest opencv-python:
      python3 -m pip install opencv-python
      # Or upgrade to latest version
      python3 -m pip install --upgrade opencv-python
    • Clone this repo to download all models and demo scripts:
      # Install git-lfs from
      git clone && cd opencv_zoo
      git lfs install
      git lfs pull
    • To run benchmarks on your hardware settings, please refer to benchmark/README.

    Models & Benchmark Results

    Hardware Setup:

    • CPU-INTEL: Intel Core i7-12700K, 8 Performance-cores (3.60 GHz, turbo up to 4.90 GHz), 4 Efficient-cores (2.70 GHz, turbo up to 3.80 GHz), 20 threads.
    • CPU-RPI: Raspberry Pi 4B, Broadcom BCM2711, Quad core Cortex-A72 (ARM v8) 64-bit SoC @ 1.5 GHz.
    • CPU-RV1126: Toybrick RV1126, Rockchip RV1126 SoC with a quard-core ARM Cortex-A7 CPU and a 2.0TOPs NPU.
    • CPU-KVE2: Khadas Edge 2, Rockchip RK3588S SoC with a CPU of 2.25GHz Quad Core ARM Cortex-A76 + 1.8GHz Quad Core Cortex-A55, and a 6TOPS NPU.
    • CPU-HSX3: Horizon Sunrise X3, an SoC from Horizon Robotics with a quad-core ARM Cortex-A53 1.2GHz CPU and a 5TOPS BPU (a.k.a NPU).
    • CPU-AXP: MAIX-III AXera-Pi, Axera AX620A with a quad-core ARM Cortex-A7 CPU and a 3.6TOPS@int8 NPU.
    • GPU-JETSON: NVIDIA Jetson Nano B01, 128-core NVIDIA Maxwell GPU.
    • NPU-KV3: Khadas VIM3, 5TOPS Performance. Benchmarks are done using quantized models. You will need to compile OpenCV with TIM-VX following this guide to run benchmarks. The test results use the per-tensor quantization model by default.
    • NPU-Ascend310: Ascend 310, 22 TOPS @ INT8. Benchmarks are done on Atlas 200 DK AI Developer Kit. Get the latest OpenCV source code and build following this guide to enable CANN backend.
    • CPU-D1: Allwinner D1, Xuantie C906 CPU (RISC-V, RVV 0.7.1) @ 1.0 GHz, 1 core. YuNet is supported for now. Visit here for more details.

    Important Notes:

    • The data under each column of hardware setups on the above table represents the elapsed time of an inference (preprocess, forward and postprocess).
    • The time data is the mean of 10 runs after some warmup runs. Different metrics may be applied to some specific models.
    • Batch size is 1 for all benchmark results.
    • --- represents the model is not availble to run on the device.
    • View benchmark/config for more details on benchmarking different models.

    Some Examples

    Some examples are listed below. You can find more in the directory of each model!

    Face Detection with YuNet

    largest selfie

    Facial Expression Recognition with Progressive Teacher

    fer demo

    Human Segmentation with PP-HumanSeg


    License Plate Detection with LPD_YuNet

    license plate detection

    Object Detection with NanoDet & YOLOX

    nanodet demo

    yolox demo

    Object Tracking with DaSiamRPN

    webcam demo

    Palm Detection with MP-PalmDet

    palm det

    Hand Pose Estimation with MP-HandPose

    handpose estimation

    Person Detection with MP-PersonDet

    person det

    QR Code Detection and Parsing with WeChatQRCode


    Chinese Text detection DB


    English Text detection DB


    Text Detection with CRNN



    OpenCV Zoo is licensed under the Apache 2.0 license. Please refer to licenses of different models.


    Model Zoo For OpenCV DNN and Benchmarks.

    🚀 Github 镜像仓库 🚀




    贡献者 17



    • Python 98.4 %
    • C++ 1.5 %
    • CMake 0.1 %