The purpose of this project is to apply mediapipe to more AI chips.

Overview

1.About This Project

Our Official Website: www.houmo.ai
Who We Are: We are Houmo - A Great AI Company.
We wish to change the world with unlimited computing power,
We will subvert the AI chip with in memory computing.

This Project we created is the first one that migrate tensorrt inference engine into Google Mediapipe.
The purpose of this project is to apply mediapipe to more AI chips.

2.Our Build Environment

2.1Hardware: AGX Xavier System Information

  • NVIDIA Jetson AGX Xavier [16GB]
    • Jetpack 4.6 [L4T 32.6.1]
    • NV Power Mode: MAXN - Type: 0
    • jetson_stats.service: active
  • Board info:
    • Type: AGX Xavier [16GB]
    • SOC Family: tegra194 - ID:25
    • Module: P28xx-00xx - Board: P28xx-00xx
    • Code Name: galen
    • CUDA GPU architecture (ARCH_BIN): 7.2
    • Serial Number: *****
  • Libraries:
    • CUDA: 10.2.300
    • cuDNN: 8.2.1.32
    • TensorRT: 8.0.1.6
    • Visionworks: 1.6.0.501
    • OpenCV: 3.4.15-dev compiled CUDA: NO
    • VPI: ii libnvvpi1 1.1.12 arm64 NVIDIA Vision Programming Interface library
    • Vulkan: 1.2.70
  • jetson-stats:
    • Version 3.1.1
    • Works on Python 2.7.17

2.2Build-Essential

a)gcc and g++ version 8.4.0 (Ubuntu/Linaro 8.4.0-1ubuntu1~18.04)
install command:

$sudo apt install gcc-8 g++-8
$sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 800 --slave /usr/bin/g++ g++ /usr/bin/g++-8

check gcc g++ version

$gcc -v
$g++ -v

b)Mediapipe Dependencies
Please refer to Mediapipe Installation and install all required software packages and runtime libraries.

c)Cuda Related
We created two soft links pointing to cuda headers. Change to your own paths if needed.

**/mediapipe_plus/third_party/cuda_trt$ tree
.
├── BUILD
├── usr_local_cuda
│   └── include -> /usr/local/cuda/include
└── usr_local_cuda-10.2
    └── include -> /usr/local/cuda-10.2/targets/aarch64-linux/include/

3. Build and Run This Project On Nvidia AGX Xavier

Please follow the instructions below to compile and run our demo.

3.1 Upgrade Your AGX Xavier IF Jetpack Version Smaller than 4.6 or TensorRT Version Smaller Than 8.0

Warning:Before Upgrading, Please BackUp Your AGX Xavier To Prevent Data Loss
Refer to xavier official website:Over-the-Air Update:
Section: Updating a Jetson Device -> To update to a new minor release

3.2 Clone and Build The Project

Clone

$git clone ***
$cd **

Build the Demo

$bazel build //calculators/tensorrt:trt_inference_calculator_test

Run

GLOG_logtostderr=1   ./bazel-bin/calculators/tensorrt/trt_inference_calculator_test   --input_video_path=./test1.mp4   --remote_run=true

Expected Output
Under current folder, there will be a video file named "trt_infer.mp4" be generated.
Each frame has detected facial boxes and facial points.Like This:
face_detection_trt

3.3 About The Demo

We created several calculators under directory "./calculators/" to build a TensorRT Engine from onnx .
And the target:trt_inference_calculator_test is a face detection demo to show how to use these calculators.
Face Detection Demo is an ultrafast face detection solution that comes with 6 landmarks and multi-face support.
It is based on BlazeFace, a lightweight and well-performing face detector.
image

TODO

We left several TODOs which will be done in next version .

  • Use vpi interfaces to accelerate pre and post process such as color space convertion、 resize 、 saving images etc.
  • Reuse mediapipe official released post process calculators.
UE4 MediaPipe plugin

UE4 MediaPipe plugin Platforms: Win64 2D features: Face, Iris, Hands, Pose, Holistic 3D features: Face Mesh, World Pose Demo video: https://www.youtub

null 167 Jul 25, 2022
Example Qt application that demonstrates how to integrate Mediapipe

Mediapipe integration to Qt application example Example on how to integrate mediapipe as a dynamic library into Qt applicaton on Linux. Resulting appl

null 28 Aug 3, 2022
A mediapipe-hand demo infer by ncnn

The Android demo of Mediapipe Hand infer by ncnn Please enjoy the mediapipe hand demo on ncnn You can try this APK demo https://pan.baidu.com/s/1ArAMH

FeiGeChuanShu 36 Aug 4, 2022
Native runtime package for MediaPipe.NET.

MediaPipe.NET.Runtime Native library package for MediaPipe.NET. This is the first half of the port of MediaPipeUnityPlugin, in order to use MediaPipe

Vignette 11 Jul 26, 2022
Mirror of compiler project code. Not for SVC purpose.

Compiler-proj Project progress is updated here. Progress 2021/11/28: Started! Set up Makefile and finished basic scanner. 2021/10/24: Repo created. Ac

Yuheng 0 Dec 23, 2021
GPTPU: General-Purpose Computing on (Edge) Tensor Processing Units

GPTPU: General-Purpose Computing on (Edge) Tensor Processing Units Welcome to the repository of ESCAL @ UCR's GPTPU project! We aim at demonstrating t

Extreme Storage and Computer Architecture Lab 32 Jul 31, 2022
Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Scala, Go, Javascript and more

Apache MXNet (incubating) for Deep Learning Apache MXNet is a deep learning framework designed for both efficiency and flexibility. It allows you to m

The Apache Software Foundation 20k Aug 5, 2022
Scalable, Portable and Distributed Gradient Boosting (GBDT, GBRT or GBM) Library, for Python, R, Java, Scala, C++ and more. Runs on single machine, Hadoop, Spark, Dask, Flink and DataFlow

eXtreme Gradient Boosting Community | Documentation | Resources | Contributors | Release Notes XGBoost is an optimized distributed gradient boosting l

Distributed (Deep) Machine Learning Community 23k Aug 6, 2022
Tiny library for C++ enum introspection and more!

#smart_enum Tiny library for C++ enum introspection... and more! (Sorry for this readme being incomplete, I'm working on updating it. For now, please

Jarda 32 Jan 19, 2022
heuristically and dynamically sample (more) uniformly from large decision trees of unknown shape

PROBLEM STATEMENT When writing a randomized generator for some file format in a general-purpose programming language, we can view the resulting progra

John Regehr 4 Feb 15, 2022
kaldi-asr/kaldi is the official location of the Kaldi project.

Kaldi Speech Recognition Toolkit To build the toolkit: see ./INSTALL. These instructions are valid for UNIX systems including various flavors of Linux

Kaldi 11.8k Aug 2, 2022
This fork adds enhancements to the Loz project (Legend of Zelda remake).

LOZ This project is a remake of the game Legend of Zelda. Summary The repository is split into a game project and two tools. The tools extract resourc

Aldo Núñez 23 Jun 6, 2022
this is a repo of where you will get to see tic tac toe AI intregrated project

?? Tic-Tac-Toe-AI-Intregrated ?? What is the meaning of AI Intregrated ??‍♀️ ??‍♂️ ❓ ❓ You all have Played Tic Tac Toe in your life if you don't know

Ujjwal 14 Jun 25, 2022
Super Mario Remake using C++, SFML, and Image Processing which was a project for Structure Programming Course, 1st Year

Super Mario Remake We use : C++ in OOP concepts SFML for game animations and sound effects. Image processing (Tensorflow and openCV) to add additional

Omar Elshopky 5 Jun 19, 2022
This is a small example project, that showcases the possibility of using a surrogate model to estimate the drag coefficient of arbitrary triangles.

flowAroundTriangles This is a small example project, that showcases the possibility of using a surrogate model to estimate the drag coefficient of arb

null 5 Jun 23, 2022
A project to control Petoi Bittle using human pose

Petoi Bittle Controlled by Pose A project to control Petoi Bittle by human pose Human pose is estimated using MoveNet and TensorFlow Lite YouTube Syst

iwatake 11 Dec 26, 2021
This is a sample ncnn android project, it depends on ncnn library and opencv

This is a sample ncnn android project, it depends on ncnn library and opencv

null 220 Jul 28, 2022