Giter VIP home page Giter VIP logo

opencv_zoo's Introduction

OpenCV Zoo and Benchmark

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

Guidelines:

  • Clone this repo to download all models and demo scripts:
    # Install git-lfs from https://git-lfs.github.com/
    git clone https://github.com/opencv/opencv_zoo && cd opencv_zoo
    git lfs install
    git lfs pull
  • To run benchmarks on your hardware settings, please refer to benchmark/README.

Models & Benchmark Results

Model Input Size INTEL-CPU (ms) RPI-CPU (ms) JETSON-GPU (ms) KV3-NPU (ms) D1-CPU (ms)
YuNet 160x120 1.45 6.22 12.18 4.04 86.69
SFace 112x112 8.65 99.20 24.88 46.25 ---
LPD-YuNet 320x240 --- 168.03 56.12 154.20*
DB-IC15 640x480 142.91 2835.91 208.41 --- ---
DB-TD500 640x480 142.91 2841.71 210.51 --- ---
CRNN-EN 100x32 50.21 234.32 196.15 125.30 ---
CRNN-CN 100x32 73.52 322.16 239.76 166.79 ---
PP-ResNet 224x224 56.05 602.58 98.64 75.45 ---
MobileNet-V1 224x224 9.04 92.25 33.18 145.66* ---
MobileNet-V2 224x224 8.86 74.03 31.92 146.31* ---
PP-HumanSeg 192x192 19.92 105.32 67.97 74.77 ---
WeChatQRCode 100x100 7.04 37.68 --- --- ---
DaSiamRPN 1280x720 36.15 705.48 76.82 --- ---
YoutuReID 128x256 35.81 521.98 90.07 44.61 ---
MPPalmDet 256x256 15.57 89.41 50.64 145.56* ---

*: Models are quantized in per-channel mode, which run slower than per-tensor quantized models on NPU.

Hardware Setup:

  • INTEL-CPU: Intel Core i7-5930K @ 3.50GHz, 6 cores, 12 threads.
  • RPI-CPU: Raspberry Pi 4B, Broadcom BCM2711, Quad core Cortex-A72 (ARM v8) 64-bit SoC @ 1.5GHz.
  • JETSON-GPU: NVIDIA Jetson Nano B01, 128-core NVIDIA Maxwell GPU.
  • KV3-NPU: 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.
  • D1-CPU: Allwinner D1, Xuantie C906 CPU (RISC-V, RVV 0.7.1) @ 1.0GHz, 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 median 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

Human Segmentation with PP-HumanSeg

messi

License Plate Detection with LPD_YuNet

license plate detection

Object Tracking with DaSiamRPN

webcam demo

Palm Detection with MP-PalmDet

palm det

QR Code Detection and Parsing with WeChatQRCode

qrcode

Chinese Text detection DB

mask

English Text detection DB

gsoc

Text Detection with CRNN

crnn_demo

License

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

opencv_zoo's People

Contributors

fengyuentau avatar the-star-sea avatar wanlizhong avatar peters avatar shiqiyu avatar charles-258 avatar zihaomu avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.