GithubHelp home page GithubHelp logo

fireae / ai.deploy.box Goto Github PK

View Code? Open in Web Editor NEW

This project forked from talkuhulk/ai.deploy.box

0.0 0.0 0.0 315.37 MB

AI model deploy by onnx/mnn/ncnn/openvino/tnn/paddlelite through c++. YoloX | YoloV7 | YoloV8 | Gan | OCR | MobileVit | Scrfd ........

Shell 0.01% C++ 17.50% Python 2.33% C 79.49% CMake 0.67%

ai.deploy.box's Introduction

Introduction

AIDB的目的是使用c++快速AI模型,集成了目前市面上比较主流的几个c++部署框架,包括ONNX、MNN、NCNN、TNN、Paddle和OpenVINO。将几个框架抽象成统一的接口,通过配置文件可以方便调用不同框架和模型。 并且提供了很多预训练模型供调用测试,涉及目标检测、分类和生成模型。

持续更新ing

Demo

  • Try out the web demo: Webassembly Demo

  • Run the C++ demo on Google Colab: Open In Colab

  • Run the Python demo on Google Colab: Open In Colab

aidb-webassembly-webcam-demo aidb-webassembly-capture-demo
aidb-webassembly-webcam-demo aidb-webassembly-capture-demo

Models

Model Lite: MEGA | Baidu: 92e8

Model List

Demo Model name Model Type Pretrained From ONNX MNN NCNN OpenVINO TNN Paddle Lite

SCRFD_10G_WITH_KPS Face Detection insightface MEGA & Baidu[prv3] MEGA & Baidu[2sew] MEGA & Baidu[tpxe] MEGA & Baidu[m4u5] MEGA & Baidu[7ch9] MEGA & Baidu[75u6]

SCRFD_2.5G_WITH_KPS Face Detection insightface MEGA & Baidu[prv3] MEGA & Baidu[2sew] MEGA & Baidu[tpxe] MEGA & Baidu[m4u5] MEGA & Baidu[7ch9] MEGA & Baidu[75u6]
⬆️ SCRFD_500M_WITH_KPS Face Detection insightface MEGA & Baidu[prv3] MEGA & Baidu[2sew] MEGA & Baidu[tpxe] MEGA & Baidu[m4u5] MEGA & Baidu[7ch9] MEGA & Baidu[75u6]

PFPLD Face Landmark nniefacelib MEGA & Baidu[kufx] MEGA & Baidu[eciw] MEGA & Baidu[59jw] MEGA & Baidu[w6e7] MEGA & Baidu[d8qh] MEGA & Baidu[xeni]

BISENET Face Parsing face-parsing.PyTorch MEGA & Baidu[7hqw] MEGA & Baidu[rm5b] MEGA & Baidu[wx59] MEGA & Baidu[mcdi] MEGA & Baidu[vwj9] MEGA & Baidu[xzwk]

3DDFAV2_MB1_BASE Face 3D 3DDFA_V2 MEGA & Baidu[ccei] MEGA & Baidu[nrrx] MEGA & Baidu[mqps] MEGA & Baidu[ydtb] MEGA & Baidu[rrgv] MEGA & Baidu[fkvc]

3DDFAV2_MB1_DENSE Face 3D 3DDFA_V2 MEGA & Baidu[ccei] MEGA & Baidu[nrrx] MEGA & Baidu[mqps] MEGA & Baidu[ydtb] MEGA & Baidu[rrgv] MEGA & Baidu[fkvc]

3DDFAV2_MB05_BASE Face 3D 3DDFA_V2 MEGA & Baidu[ccei] MEGA & Baidu[nrrx] MEGA & Baidu[mqps] MEGA & Baidu[ydtb] MEGA & Baidu[rrgv] MEGA & Baidu[fkvc]

3DDFAV2_MB05_DENSE Face 3D 3DDFA_V2 MEGA & Baidu[ccei] MEGA & Baidu[nrrx] MEGA & Baidu[mqps] MEGA & Baidu[ydtb] MEGA & Baidu[rrgv] MEGA & Baidu[fkvc]

YOLOX_TINY Object Detection YOLOX MEGA & Baidu[vuwe] MEGA & Baidu[xf8g] MEGA & Baidu[tix9] MEGA & Baidu[3eij] MEGA & Baidu[4n7z] MEGA & Baidu[vd8x]

YOLOX_NANO Object Detection YOLOX MEGA & Baidu[vuwe] MEGA & Baidu[xf8g] MEGA & Baidu[tix9] MEGA & Baidu[3eij] MEGA & Baidu[4n7z] MEGA & Baidu[vd8x]
⬆️ YOLOX_S Object Detection YOLOX MEGA & Baidu[vuwe] MEGA & Baidu[xf8g] MEGA & Baidu[tix9] MEGA & Baidu[3eij] MEGA & Baidu[4n7z] MEGA & Baidu[vd8x]
⬆️ YOLOX_M Object Detection YOLOX MEGA & Baidu[vuwe] MEGA & Baidu[xf8g] MEGA & Baidu[tix9] MEGA & Baidu[3eij] MEGA & Baidu[4n7z] MEGA & Baidu[vd8x]
⬆️ YOLOX_L Object Detection YOLOX MEGA & Baidu[vuwe] MEGA & Baidu[xf8g] MEGA & Baidu[tix9] MEGA & Baidu[3eij] MEGA & Baidu[4n7z] MEGA & Baidu[vd8x]
⬆️ YOLOX_X Object Detection YOLOX MEGA & Baidu[vuwe] MEGA & Baidu[xf8g] MEGA & Baidu[tix9] MEGA & Baidu[3eij] MEGA & Baidu[4n7z] MEGA & Baidu[vd8x]
⬆️ YOLOX_DARKNET Object Detection YOLOX MEGA & Baidu[vuwe] MEGA & Baidu[xf8g] MEGA & Baidu[tix9] MEGA & Baidu[3eij] MEGA & Baidu[4n7z] MEGA & Baidu[vd8x]

YOLOV7_TINY Object Detection yolov7 MEGA & Baidu[uax8] MEGA & Baidu[s7qm] MEGA & Baidu[nzun] MEGA & Baidu[4dmi] MEGA & Baidu[5y8d] MEGA & Baidu[c5d5]

YOLOV7_TINY_GRID Object Detection yolov7 MEGA & Baidu[uax8] MEGA & Baidu[s7qm] MEGA & Baidu[4dmi] MEGA & Baidu[5y8d] MEGA & Baidu[c5d5]
⬆️ YOLOV7 Object Detection yolov7 MEGA & Baidu[uax8] MEGA & Baidu[s7qm] MEGA & Baidu[nzun] MEGA & Baidu[4dmi] MEGA & Baidu[5y8d] MEGA & Baidu[c5d5]
⬆️ YOLOV7_GRID Object Detection yolov7 MEGA & Baidu[uax8] MEGA & Baidu[s7qm] MEGA & Baidu[4dmi] MEGA & Baidu[5y8d] MEGA & Baidu[c5d5]
⬆️ YOLOV7X Object Detection yolov7 MEGA & Baidu[uax8] MEGA & Baidu[s7qm] MEGA & Baidu[nzun] MEGA & Baidu[4dmi] MEGA & Baidu[5y8d] MEGA & Baidu[c5d5]
⬆️ YOLOV7X_GRID Object Detection yolov7 MEGA & Baidu[uax8] MEGA & Baidu[s7qm] MEGA & Baidu[4dmi] MEGA & Baidu[5y8d] MEGA & Baidu[c5d5]
⬆️ YOLOV7_D6_GRID Object Detection yolov7 MEGA & Baidu[uax8] MEGA & Baidu[s7qm] MEGA & Baidu[4dmi] MEGA & Baidu[5y8d] MEGA & Baidu[c5d5]
⬆️ YOLOV7_E6_GRID Object Detection yolov7 MEGA & Baidu[uax8] MEGA & Baidu[s7qm] MEGA & Baidu[4dmi] MEGA & Baidu[5y8d] MEGA & Baidu[c5d5]

YOLOV8_N Object Detection ultralytics MEGA & Baidu[ztvu] MEGA & Baidu[bwx7] MEGA & Baidu[ihu9] MEGA & Baidu[z5mq] MEGA & Baidu[qy7k] MEGA & Baidu[qb2a]

YOLOV8_S Object Detection ultralytics MEGA & Baidu[ztvu] MEGA & Baidu[bwx7] MEGA & Baidu[ihu9] MEGA & Baidu[z5mq] MEGA & Baidu[qy7k] MEGA & Baidu[qb2a]
⬆️ YOLOV8_M Object Detection ultralytics MEGA & Baidu[ztvu] MEGA & Baidu[bwx7] MEGA & Baidu[ihu9] MEGA & Baidu[z5mq] MEGA & Baidu[qy7k] MEGA & Baidu[qb2a]
⬆️ YOLOV8_L Object Detection ultralytics MEGA & Baidu[ztvu] MEGA & Baidu[bwx7] MEGA & Baidu[ihu9] MEGA & Baidu[z5mq] MEGA & Baidu[qy7k] MEGA & Baidu[qb2a]
⬆️ YOLOV8_X Object Detection ultralytics MEGA & Baidu[ztvu] MEGA & Baidu[bwx7] MEGA & Baidu[ihu9] MEGA & Baidu[z5mq] MEGA & Baidu[qy7k] MEGA & Baidu[qb2a]

MOVENET KeyPoints Detection movenet.pytorch MEGA & Baidu[q5i8] MEGA & Baidu[fpia] MEGA & Baidu[yhdp] MEGA & Baidu[43hb] MEGA & Baidu[m73t] MEGA & Baidu[h7th]

PADDLE_OCR OCR PaddleOCR MEGA & Baidu[m1ru] MEGA & Baidu[a3hb] MEGA & Baidu[pri5] MEGA & Baidu[81nm] MEGA & Baidu[qkc9]
🈚️ MOBILE_VIT_S Classification MobileViT MEGA & Baidu[mgpn] MEGA & Baidu[576h] MEGA & Baidu[6nkb]
🈚️ MOBILE_VIT_XXS Classification MobileViT MEGA & Baidu[mgpn] MEGA & Baidu[576h] MEGA & Baidu[6nkb]

ANIME_PAPRIKA Gan AnimeGANv2 MEGA & Baidu[2xa6] MEGA & Baidu[niqg] MEGA & Baidu[q8uv]
⬆️ ANIME_PAPRIKA_DYN Gan AnimeGANv2 MEGA & Baidu[2xa6] MEGA & Baidu[niqg] MEGA & Baidu[q8uv]

ANIME_FACEPAINT_V1 Gan AnimeGANv2 MEGA & Baidu[2xa6] MEGA & Baidu[niqg] MEGA & Baidu[q8uv]
⬆️ ANIME_FACEPAINT_V1_DYN Gan AnimeGANv2 MEGA & Baidu[2xa6] MEGA & Baidu[niqg] MEGA & Baidu[q8uv]

ANIME_FACEPAINT_V2 Gan AnimeGANv2 MEGA & Baidu[2xa6] MEGA & Baidu[niqg] MEGA & Baidu[q8uv]
⬆️ ANIME_FACEPAINT_V2_DYN Gan AnimeGANv2 MEGA & Baidu[2xa6] MEGA & Baidu[niqg] MEGA & Baidu[q8uv]

ANIME_CELEBA Gan AnimeGANv2 MEGA & Baidu[2xa6] MEGA & Baidu[niqg] MEGA & Baidu[q8uv]
⬆️ ANIME_CELEBA_DYN Gan AnimeGANv2 MEGA & Baidu[2xa6] MEGA & Baidu[niqg] MEGA & Baidu[q8uv]

MOBILE_STYLEGAN Gan MobileStyleGAN.pytorch MEGA & Baidu[d5dk] MEGA & Baidu[tcic] MEGA & Baidu[n79w]

📖 Tutorials

Build and Test

Docker

docker pull mister5ive/ai.deploy.box

or 你自己的环境

Build

Webassembly

Refer to aidb-webassembly-demo

Linux/MacOS

mkdir build && cd build
cmake .. -DENGINE_MNN={ON/OFF} -DENGINE_ORT={ON/OFF} -DENGINE_NCNN={ON/OFF} -DENGINE_TNN={ON/OFF} -DENGINE_OPV={ON/OFF} -DENGINE_PPLite={ON/OFF}
make -j8

Run

Linux下,run前执行 source set_env.sh

Face Detect

./build/samples/FaceDetect model_name backend type inputfile
  • model_name

    • scrfd_10g_kps
    • scrfd_2.5g_kps
    • scrfd_500m_kps
  • backend

    • ONNX
    • MNN
    • NCNN
    • OpenVINO
    • TNN
    • PaddleLite
  • type

    • 0 - image
    • 1 - video
  • inputfile: 0 is webcam

Face landmark

./build/samples/FaceDetectWithLandmark model_name backend pfpld backend type inputfile
  • model_name

    • scrfd_10g_kps
    • scrfd_2.5g_kps
    • scrfd_500m_kps
  • backend

    • ONNX
    • MNN
    • NCNN
    • OpenVINO
    • TNN
    • PaddleLite
  • type

    • 0 - image
    • 1 - video
  • inputfile: 0 is webcam

Face 3D

./build/samples/FaceDetectWith3DDFA det_model_name backend tddfa_model_name backend type inputfile
  • det_backend

    • scrfd_10g_kps
    • scrfd_2.5g_kps
    • scrfd_500m_kps
  • tddfa_model_name

    • 3ddfa_mb1_bfm_base
    • 3ddfa_mb1_bfm_dense
    • 3ddfa_mb05_bfm_base
    • 3ddfa_mb05_bfm_dense
  • backend

    • ONNX
    • MNN
    • NCNN
    • OpenVINO
    • TNN
    • PaddleLite
  • type

    • 0 - image
    • 1 - video
  • inputfile: 0 is webcam

Face Parsing

./build/samples/FaceParsing bisenet backend type inputfile
  • backend

    • ONNX
    • MNN
    • NCNN
    • OpenVINO
    • TNN
    • PaddleLite
  • type

    • 0 - image
    • 1 - video
  • inputfile: 0 is webcam

OCR

./build/samples/PPOcr ppocr_det det_backend ppocr_cls cls_backend ppocr_ret rec_backend  type inputfile
  • det_backend/cls_backend/rec_backend

    • ONNX
    • MNN
    • NCNN
    • OpenVINO
    • PaddleLite
  • type

    • 0 - image
    • 1 - video
  • inputfile: 0 is webcam

YoloX

./build/samples/YoloX model_name backend type inputfile
  • model_name

    • yolox_tiny
    • yolox_nano
    • yolox_s
    • yolox_m
    • yolox_l
    • yolox_x
    • yolox_darknet
  • backend

    • ONNX
    • MNN
    • NCNN
    • OpenVINO
    • TNN
    • PaddleLite
  • type

    • 0 - image
    • 1 - video
  • inputfile: 0 is webcam

YoloV7

./build/samples/YoloV7 model_name backend type inputfile
  • model_name

    • yolov7_tiny
    • yolov7_tiny_grid
    • yolov7
    • yolov7_grid
    • yolov7x
    • yolov7x_grid
    • yolov7_d6_grid
    • yolov7_e6_grid
  • backend

    • ONNX
    • MNN
    • NCNN
    • OpenVINO
    • TNN
    • PaddleLite
  • type

    • 0 - image
    • 1 - video
  • inputfile: 0 is webcam

YoloV8

./build/samples/YoloV8 model_name backend type inputfile
  • model_name

    • yolov8n
    • yolov8s
    • yolov8m
    • yolov8l
    • yolov8x
  • backend

    • ONNX
    • MNN
    • NCNN
    • OpenVINO
    • TNN
    • PaddleLite
  • type

    • 0 - image
    • 1 - video
  • inputfile: 0 is webcam

MobileVit

./build/samples/MobileViT model_name backend inputfile
  • model_name

    • mobilevit_xxs
    • mobilevit_s
  • backend

    • ONNX
    • MNN
    • OpenVINO

MoveNet

./build/samples/Movenet movenet backend type inputfile
  • backend

    • ONNX
    • MNN
    • NCNN
    • OpenVINO
    • TNN
    • PaddleLite
  • type

    • 0 - image
    • 1 - video
  • inputfile: 0 is webcam

MobileStyleGan

./build/samples/MobileStyleGan mobilestylegan_mappingnetwork map_backend mobilestylegan_synthesisnetwork syn_backend
  • map_backend/syn_backend
    • ONNX
    • MNN
    • OpenVINO

AnimeGan

./build/samples/AnimeGan model_name backend 0 inputfile
  • model_name

    • animeganv2_celeba_distill
    • animeganv2_celeba_distill_dynamic
    • animeganv2_face_paint_v1
    • animeganv2_face_paint_v1_dynamic
    • animeganv2_face_paint_v2
    • animeganv2_face_paint_v2_dynamic
    • animeganv2_paprika
    • animeganv2_paprika_dynamic
  • backend

    • ONNX
    • MNN
    • OpenVINO

ai.deploy.box's People

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.