Intelligent Video Analytics toolkit based on different inference backends.

Related tags

Deep LearningOpenIVA
Overview

English | 中文

OpenIVA

alt OpenIVA

OpenIVA is an end-to-end intelligent video analytics development toolkit based on different inference backends, designed to help individual users and start-ups quickly launch their own video AI services.
OpenIVA implements varied mainstream facial recognition, object detection, segmentation and landmark detection algorithms. And it provides an efficient and lightweight service deployment framework with a modular design. Users only need to replace the algorithm model used for their own tasks.

Features

  1. Common mainstream algorithms
  • Provides latest fast accurate pre-trained models for facial recognition, object detection, segmentation and landmark detection tasks
  1. Multi inference backends
  • Supports TensorlayerX/ TensorRT/ onnxruntime
  1. High performance
  • Achieves high performance on CPU/GPU/Ascend platforms, achieve inference speed above 3000it/s
  1. Asynchronous & multithreading
  • Use multithreading and queue to achieve high device utilization for inference and pre/post-processing
  1. Lightweight service
  • Use Flask for lightweight intelligent application services
  1. Modular design
  • You can quickly start your intelligent analysis service, only need to replace the AI models
  1. GUI visualization tools
  • Start analysis tasks only by clicking buttons, and show visualized results in GUI windows, suitable for multiple tasks

alt Sample Face landmark alt Sample Face recognition alt Sample YOLOX

Performance benchmark

Testing environments

  • i5-10400 6c12t
  • RTX3060
  • Ubuntu18.04
  • CUDA 11.1
  • TensorRT-7.2.3.4
  • onnxruntime with EPs:
    • CPU(Default)
    • CUDA(Manually Compiled)
    • OpenVINO(Manually Compiled)
    • TensorRT(Manually Compiled)

Performance

Facial recognition

Run
python test_landmark.py
batchsize=8, top_k=68, 67 faces in the image

  • Face detection
    Model face_detector_640_dy_sim

    onnxruntime EPs FPS faces per sec
    CPU 32 2075
    OpenVINO 81 5374
    CUDA 105 7074
    TensorRT(FP32) 124 7948
    TensorRT(FP16) 128 8527
  • Face landmark
    Model landmarks_68_pfld_dy_sim

    onnxruntime EPs faces per sec
    CPU 69
    OpenVINO 890
    CUDA 2061
    TensorRT(FP32) 2639
    TensorRT(FP16) 3131

Run
python test_face.py
batchsize=8

  • Face embedding
    Model arc_mbv2_ccrop_sim

    onnxruntime EPs faces per sec
    CPU 212
    OpenVINO 865
    CUDA 1790
    TensorRT(FP32) 2132
    TensorRT(FP16) 2812

Objects detection

Run
python test_yolo.py
batchsize=8 , 4 objects in the image

  • YOLOX objects detect
    Model yolox_s(ms_coco)

    onnxruntime EPs FPS Objects per sec
    CPU 9.3 37.2
    OpenVINO 13 52
    CUDA 77 307
    TensorRT(FP32) 95 380
    TensorRT(FP16) 128 512

    Model yolox_m(ms_coco)

    onnxruntime EPs FPS Objects per sec
    CPU 4 16
    OpenVINO 5.5 22
    CUDA 46.8 187
    TensorRT(FP32) 64 259
    TensorRT(FP16) 119 478

    Model yolox_nano(ms_coco)

    onnxruntime EPs FPS Objects per sec
    CPU 47 188
    OpenVINO 80 320
    CUDA 210 842
    TensorRT(FP32) 244 977
    TensorRT(FP16) 269 1079

    Model yolox_tiny(ms_coco)

    onnxruntime EPs FPS Objects per sec
    CPU 33 133
    OpenVINO 43 175
    CUDA 209 839
    TensorRT(FP32) 248 995
    TensorRT(FP16) 327 1310

Progress

  • Multi inference backends

    • onnxruntime
      • CPU
      • CUDA
      • TensorRT
      • OpenVINO
    • TensorlayerX
    • TensorRT
  • Asynchronous & multithreading

    • Data generate threads
    • AI compute threads
    • Multifunctional threads
    • Collecting threads
  • Lightweight service

    • prototype
  • GUI visualization tools

  • Common algorithms

    • Facial recognition

      • Face detection

      • Face landmark

      • Face embedding

    • Object detection

      • YOLOX
    • Semantic/Instance segmentation

    • Scene classification

      • prototype
  • Data I/O

    • Video decoding
      • OpenCV decoding
        • Local video files
        • Network stream videos
    • Data management
      • Facial identity database
      • Data serialization
Owner
Quantum Liu
RAmen
Quantum Liu
Linear Variational State Space Filters

Linear Variational State Space Filters To set up the environment, use the provided scripts in the docker/ folder to build and run the codebase inside

0 Dec 13, 2021
A mini lib that implements several useful functions binding to PyTorch in C++.

Torch-gather A mini library that implements several useful functions binding to PyTorch in C++. What does gather do? Why do we need it? When dealing w

maxwellzh 8 Sep 07, 2022
Alex Pashevich 62 Dec 24, 2022
OCR Streamlit App is used to extract text from images using python's easyocr, pytorch and streamlit packages

OCR-Streamlit-App OCR Streamlit App is used to extract text from images using python's easyocr, pytorch and streamlit packages OCR app gets an image a

Siva Prakash 5 Apr 05, 2022
Training PSPNet in Tensorflow. Reproduce the performance from the paper.

Training Reproduce of PSPNet. (Updated 2021/04/09. Authors of PSPNet have provided a Pytorch implementation for PSPNet and their new work with support

Li Xuhong 126 Jul 13, 2022
Generic ecosystem for feature extraction from aerial and satellite imagery

Note: Robosat is neither maintained not actively developed any longer by Mapbox. See this issue. The main developers (@daniel-j-h, @bkowshik) are no l

Mapbox 1.9k Jan 06, 2023
Fair Recommendation in Two-Sided Platforms

Fair Recommendation in Two-Sided Platforms

gourabgggg 1 Nov 10, 2021
Official implementation for "Image Quality Assessment using Contrastive Learning"

Image Quality Assessment using Contrastive Learning Pavan C. Madhusudana, Neil Birkbeck, Yilin Wang, Balu Adsumilli and Alan C. Bovik This is the offi

Pavan Chennagiri 67 Dec 30, 2022
Official PyTorch implementation of the paper "Self-Supervised Relational Reasoning for Representation Learning", NeurIPS 2020 Spotlight.

Official PyTorch implementation of the paper: "Self-Supervised Relational Reasoning for Representation Learning" (2020), Patacchiola, M., and Storkey,

Massimiliano Patacchiola 135 Jan 03, 2023
Official code repository for A Simple Long-Tailed Rocognition Baseline via Vision-Language Model.

BALLAD This is the official code repository for A Simple Long-Tailed Rocognition Baseline via Vision-Language Model. Requirements Python3 Pytorch(1.7.

peng gao 42 Nov 26, 2022
CodeContests is a competitive programming dataset for machine-learning

CodeContests CodeContests is a competitive programming dataset for machine-learning. This dataset was used when training AlphaCode. It consists of pro

DeepMind 1.6k Jan 08, 2023
CNNs for Sentence Classification in PyTorch

Introduction This is the implementation of Kim's Convolutional Neural Networks for Sentence Classification paper in PyTorch. Kim's implementation of t

Shawn Ng 956 Dec 19, 2022
中文语音识别系列,读者可以借助它快速训练属于自己的中文语音识别模型,或直接使用预训练模型测试效果。

MASR中文语音识别(pytorch版) 开箱即用 自行训练 使用与训练分离(增量训练) 识别率高 说明:因为每个人电脑机器不同,而且有些安装包安装起来比较麻烦,强烈建议直接用我编译好的docker环境跑 目前docker基础环境为ubuntu-cuda10.1-cudnn7-pytorch1.6.

发送小信号 180 Dec 17, 2022
A flexible tool for creating, organizing, and sharing visualizations of live, rich data. Supports Torch and Numpy.

Visdom A flexible tool for creating, organizing, and sharing visualizations of live, rich data. Supports Python. Overview Concepts Setup Usage API To

FOSSASIA 9.4k Jan 07, 2023
机器学习、深度学习、自然语言处理等人工智能基础知识总结。

说明 机器学习、深度学习、自然语言处理基础知识总结。 目前主要参考李航老师的《统计学习方法》一书,也有一些内容例如XGBoost、聚类、深度学习相关内容、NLP相关内容等是书中未提及的。

Peter 445 Dec 12, 2022
"Projelerle Yapay Zeka Ve Bilgisayarlı Görü" Kitabımın projeleri

"Projelerle Yapay Zeka Ve Bilgisayarlı Görü" Kitabımın projeleri Bu Github Reposundaki tüm projeler; kaleme almış olduğum "Projelerle Yapay Zekâ ve Bi

Ümit Aksoylu 4 Aug 03, 2022
Point detection through multi-instance deep heatmap regression for sutures in endoscopy

Suture detection PyTorch This repo contains the reference implementation of suture detection model in PyTorch for the paper Point detection through mu

artificial intelligence in the area of cardiovascular healthcare 3 Jul 16, 2022
Source code for "FastBERT: a Self-distilling BERT with Adaptive Inference Time".

FastBERT Source code for "FastBERT: a Self-distilling BERT with Adaptive Inference Time". Good News 2021/10/29 - Code: Code of FastPLM is released on

Weijie Liu 584 Jan 02, 2023
MetaBalance: High-Performance Neural Networks for Class-Imbalanced Data

This repository is the official PyTorch implementation of Meta-Balance. Find the paper on arxiv MetaBalance: High-Performance Neural Networks for Clas

Arpit Bansal 20 Oct 18, 2021
Attention for PyTorch with Linear Memory Footprint

Attention for PyTorch with Linear Memory Footprint Unofficially implements https://arxiv.org/abs/2112.05682 to get Linear Memory Cost on Attention (+

11 Jan 09, 2022