All Projects → NVIDIA-AI-IOT → trt_pose_hand

NVIDIA-AI-IOT / trt_pose_hand

Licence: MIT license
Real-time hand pose estimation and gesture classification using TensorRT

Programming Languages

Jupyter Notebook
11667 projects
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to trt pose hand

Jetson Inference
Hello AI World guide to deploying deep-learning inference networks and deep vision primitives with TensorRT and NVIDIA Jetson.
Stars: ✭ 5,191 (+3689.05%)
Mutual labels:  tensorrt, jetson-xavier, jetson-nano, jetson-xavier-nx
yolov5-deepsort-tensorrt
A c++ implementation of yolov5 and deepsort
Stars: ✭ 207 (+51.09%)
Mutual labels:  tensorrt, jetson-xavier, jetson-nano, jetson-xavier-nx
Torch2trt
An easy to use PyTorch to TensorRT converter
Stars: ✭ 2,974 (+2070.8%)
Mutual labels:  tensorrt, jetson-xavier, jetson-nano
tensorrt-examples
TensorRT Examples (TensorRT, Jetson Nano, Python, C++)
Stars: ✭ 31 (-77.37%)
Mutual labels:  pose-estimation, tensorrt
installROS
Install ROS Melodic on NVIDIA Jetson Development Kits
Stars: ✭ 75 (-45.26%)
Mutual labels:  jetson-nano, jetson-xavier-nx
homesecurity
Security camera with Raspberry pi and NVIDIA Jetson platforms
Stars: ✭ 141 (+2.92%)
Mutual labels:  jetson-xavier, jetson-nano
ros jetson stats
🐢 The ROS jetson-stats wrapper. The status of your NVIDIA jetson in diagnostic messages
Stars: ✭ 55 (-59.85%)
Mutual labels:  jetson-xavier, jetson-nano
NSRMhand
[WACV 2020] "Nonparametric Structure Regularization Machine for 2D Hand Pose Estimation"
Stars: ✭ 95 (-30.66%)
Mutual labels:  pose-estimation, hand-pose-estimation
HPRNet
Bottom-up whole-body pose estimation method in constant time.
Stars: ✭ 51 (-62.77%)
Mutual labels:  pose-estimation, hand-pose-estimation
jetsonUtilities
Get information about the NVIDIA Jetson OS environment. Lists L4T and JetPack versions, along with major libraries.
Stars: ✭ 171 (+24.82%)
Mutual labels:  jetson-xavier, jetson-xavier-nx
DIY-ai-art
How to build your own AI art installation from scratch
Stars: ✭ 556 (+305.84%)
Mutual labels:  jetson-xavier
iknet
Inverse kinematics estimation of ROBOTIS Open Manipulator X with neural networks
Stars: ✭ 27 (-80.29%)
Mutual labels:  jetson-nano
icra20-hand-object-pose
[ICRA 2020] Robust, Occlusion-aware Pose Estimation for Objects Grasped by Adaptive Hands
Stars: ✭ 42 (-69.34%)
Mutual labels:  pose-estimation
merkalysis
A marketing tool that helps you to market your products using organic marketing. This tool can potentially save you 1000s of dollars every year. The tool predicts the reach of your posts on social media and also suggests you hashtags for captions in such a way that it increases your reach.
Stars: ✭ 28 (-79.56%)
Mutual labels:  sklearn
bootFromUSB
Boot NVIDIA Nano Jetson Developer Kit from a mass storage USB device (Jetson Nano devices A02, B01, 2GB and possibly Jetson TX1)
Stars: ✭ 96 (-29.93%)
Mutual labels:  jetson-nano
imbalanced-ensemble
Class-imbalanced / Long-tailed ensemble learning in Python. Modular, flexible, and extensible. | 模块化、灵活、易扩展的类别不平衡/长尾机器学习库
Stars: ✭ 199 (+45.26%)
Mutual labels:  sklearn
Res2Net-Pose-Estimation
Res2Net for Pose Estimation using Simple Baselines as the baseline
Stars: ✭ 35 (-74.45%)
Mutual labels:  pose-estimation
openpose-pytorch
🔥 OpenPose api wrapper in PyTorch.
Stars: ✭ 52 (-62.04%)
Mutual labels:  pose-estimation
A-B-testing-with-Machine-Learning
Implemented an A/B Testing solution with the help of machine learning
Stars: ✭ 37 (-72.99%)
Mutual labels:  sklearn
Word2VecAndTsne
Scripts demo-ing how to train a Word2Vec model and reduce its vector space
Stars: ✭ 45 (-67.15%)
Mutual labels:  sklearn

Hand Pose Estimation And Classification

This project is an extention of TRT Pose for Hand Pose Detection. The project includes

  • Pretrained models for hand pose estimation capable of running in real time on Jetson Xavier NX.

  • Scripts for applications of Hand Pose Estimation

    • Hand gesture recoginition (hand pose classification)

    • Cursor control

    • Mini-Paint type of application

  • Pretrained model for gesture recoginition

Getting Started

Step 1 - Install trt_pose and it's dependencies

Make sure to follow all the instructions from trt_pose and install all it's depenedencies. Follow step 1 and step 2 from https://github.com/NVIDIA-AI-IOT/trt_pose.

Step 2 - Install dependecies for hand pose

pip install traitlets

Step 3 - Download model wieght

Model Weight
hand_pose_resnet18_baseline_att_224x224_A download model
  1. Download the model weight using the link above.

  2. Place the downloaded weight in the model directory

Step 4 - Run hand pose and it's applications

A) Hand Pose demo

  • Open and follow live_hand_pose.ipynb notebook.

B) Hand gesture recoginition (hand pose classification)

  • Install dependecies
    • scikit-learn
      • pip install -U scikit-learn
      • or install it from the source

The current gesture classification model supports six classes (fist, pan, stop, fine, peace, no hand). More gestures can be added by a simple process of creating your own dataset and training it on an svm model. An SVM model weight (svmmodel.sav) is provided for inference.

To make your own hand gesture classification from the hand pose estimation, follow the following steps

  • Create your own dataset using the gesture_data_collection.ipynb or gesture_data_collection_with_pose.ipynb. This will allow you to create the type of gestures you want to classify. (eg. tumbs up, fist,etc). This notebook will automatically create a dataset with images and labels that is ready to be trained for gesture classification.

  • Train using the train_gesture_classification.ipynb notebook file. It uses an SVM from scikit-learn. Other types of models can also be experimented.

C) Cursor control application

- Install dependecies 
   - pyautogui 
      - python3 -m pip install pyautogui
      - On jetson install it from the source 
      
- Open and follow the cursor_control_live_demo.ipynb notebook. 
- This will allow you to control your mouse cursor on your desktop. It uses the hand gesture classification. 
  When your hand geture is pan, you can control the cursor. when it is click, it's left click. 
Buying a tuna sandwich :) navigating map

D) Mini-Paint

A mini paint app that let's you draw, erase and clear on your camera screen.


The model was trained using the training script in trt_pose and the hand pose data collected in Nvidia.

Model details: resnet18


See also

References

Cao, Zhe, et al. "Realtime multi-person 2d pose estimation using part affinity fields." Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2017.

Xiao, Bin, Haiping Wu, and Yichen Wei. "Simple baselines for human pose estimation and tracking." Proceedings of the European Conference on Computer Vision (ECCV). 2018.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].