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
A fast python implementation of Ray Tracing in One Weekend using python and Taichi

ray-tracing-one-weekend-taichi A fast python implementation of Ray Tracing in One Weekend using python and Taichi. Taichi is a simple "Domain specific

157 Dec 26, 2022
VOGUE: Try-On by StyleGAN Interpolation Optimization

VOGUE is a StyleGAN interpolation optimization algorithm for photo-realistic try-on. Top: shirt try-on automatically synthesized by our method in two different examples.

Wei ZHANG 66 Dec 09, 2022
Human Dynamics from Monocular Video with Dynamic Camera Movements

Human Dynamics from Monocular Video with Dynamic Camera Movements Ri Yu, Hwangpil Park and Jehee Lee Seoul National University ACM Transactions on Gra

215 Jan 01, 2023
Adversarial Adaptation with Distillation for BERT Unsupervised Domain Adaptation

Knowledge Distillation for BERT Unsupervised Domain Adaptation Official PyTorch implementation | Paper Abstract A pre-trained language model, BERT, ha

Minho Ryu 29 Nov 30, 2022
MediaPipeで姿勢推定を行い、Tokyo2020オリンピック風のピクトグラムを表示するデモ

Tokyo2020-Pictogram-using-MediaPipe MediaPipeで姿勢推定を行い、Tokyo2020オリンピック風のピクトグラムを表示するデモです。 Tokyo2020Pictgram02.mp4 Requirement mediapipe 0.8.6 or later O

KazuhitoTakahashi 295 Dec 26, 2022
VR-Caps: A Virtual Environment for Active Capsule Endoscopy

VR-Caps: A Virtual Environment for Capsule Endoscopy Overview We introduce a virtual active capsule endoscopy environment developed in Unity that prov

DeepMIA Lab 90 Dec 27, 2022
Implementation of "A Deep Learning Loss Function based on Auditory Power Compression for Speech Enhancement" by pytorch

This repository is used to suspend the results of our paper "A Deep Learning Loss Function based on Auditory Power Compression for Speech Enhancement"

ScorpioMiku 19 Sep 30, 2022
NeuroMorph: Unsupervised Shape Interpolation and Correspondence in One Go

NeuroMorph: Unsupervised Shape Interpolation and Correspondence in One Go This repository provides our implementation of the CVPR 2021 paper NeuroMorp

Meta Research 35 Dec 08, 2022
This repository contains part of the code used to make the images visible in the article "How does an AI Imagine the Universe?" published on Towards Data Science.

Generative Adversarial Network - Generating Universe This repository contains part of the code used to make the images visible in the article "How doe

Davide Coccomini 9 Dec 18, 2022
Density-aware Single Image De-raining using a Multi-stream Dense Network (CVPR 2018)

DID-MDN Density-aware Single Image De-raining using a Multi-stream Dense Network He Zhang, Vishal M. Patel [Paper Link] (CVPR'18) We present a novel d

He Zhang 224 Dec 12, 2022
Temporal Segment Networks (TSN) in PyTorch

TSN-Pytorch We have released MMAction, a full-fledged action understanding toolbox based on PyTorch. It includes implementation for TSN as well as oth

1k Jan 03, 2023
Pytorch implementation for ACMMM2021 paper "I2V-GAN: Unpaired Infrared-to-Visible Video Translation".

I2V-GAN This repository is the official Pytorch implementation for ACMMM2021 paper "I2V-GAN: Unpaired Infrared-to-Visible Video Translation". Traffic

69 Dec 31, 2022
Explore extreme compression for pre-trained language models

Code for paper "Exploring extreme parameter compression for pre-trained language models ICLR2022"

twinkle 16 Nov 14, 2022
The King is Naked: on the Notion of Robustness for Natural Language Processing

the-king-is-naked: on the notion of robustness for natural language processing AAAI2022 DISCLAIMER:This repo will be updated soon with instructions on

Iperboreo_ 1 Nov 24, 2022
This repo in the implementation of EMNLP'21 paper "SPARQLing Database Queries from Intermediate Question Decompositions" by Irina Saparina, Anton Osokin

SPARQLing Database Queries from Intermediate Question Decompositions This repo is the implementation of the following paper: SPARQLing Database Querie

Yandex Research 20 Dec 19, 2022
Summary Explorer is a tool to visually explore the state-of-the-art in text summarization.

Summary Explorer Summary Explorer is a tool to visually inspect the summaries from several state-of-the-art neural summarization models across multipl

Webis 42 Aug 14, 2022
Ludwig is a toolbox that allows to train and evaluate deep learning models without the need to write code.

Translated in 🇰🇷 Korean/ Ludwig is a toolbox that allows users to train and test deep learning models without the need to write code. It is built on

Ludwig 8.7k Jan 05, 2023
This is the code for ACL2021 paper A Unified Generative Framework for Aspect-Based Sentiment Analysis

This is the code for ACL2021 paper A Unified Generative Framework for Aspect-Based Sentiment Analysis Install the package in the requirements.txt, the

108 Dec 23, 2022
Pytorch implementation of NeurIPS 2021 paper: Geometry Processing with Neural Fields.

Geometry Processing with Neural Fields Pytorch implementation for the NeurIPS 2021 paper: Geometry Processing with Neural Fields Guandao Yang, Serge B

Guandao Yang 162 Dec 16, 2022
Testbed of AI Systems Quality Management

qunomon Description A testbed for testing and managing AI system qualities. Demo Sorry. Not deployment public server at alpha version. Requirement Ins

AIST AIRC 15 Nov 27, 2021