Description: BodyPose3D is a deep learning model designed for real-time 3D human pose estimation, leveraging NVIDIA's DeepStream SDK 7.0 for efficient video analytics. This application processes video streams to detect and track human body poses in three dimensions, making it ideal for various applications such as sports analysis, virtual reality, and interactive gaming.
Author: Basil Shaji
Last Updated: Oct-23-2024
Organization: Karunya Institute of Technology and Sciences
Reference Docs:
https://github.com/NVIDIA-AI-IOT/deepstream_reference_apps/tree/master/deepstream-bodypose-3d
Preferably clone the repo in /opt/nvidia/deepstream/deepstream/sources/apps/sample_apps/ and define project home as:
export BODYPOSE3D_HOME=<parent-path>/deepstream-bodypose-3d.
Install NGC CLI from : https://org.ngc.nvidia.com/setup/installers/cli
and download PeopleNet from: https://catalog.ngc.nvidia.com/orgs/nvidia/teams/tao/models/peoplenet
and BodyPose3DNet from : https://catalog.ngc.nvidia.com/orgs/nvidia/teams/tao/models/bodypose3dnet
$ mkdir -p $BODYPOSE3D_HOME/models
$ cd $BODYPOSE3D_HOME/models
# Download PeopleNet
$ ngc registry model download-version "nvidia/tao/peoplenet:deployable_quantized_v2.5"
# Download BodyPose3DNet
$ ngc registry model download-version "nvidia/tao/bodypose3dnet:deployable_accuracy_v1.0"
By now the directory tree should look like this:
$ tree $BODYPOSE3D_HOME -d
$BODYPOSE3D_HOME
├── configs
├── models
│ ├── bodypose3dnet_vdeployable_accuracy_v1.0
│ └── peoplenet_vdeployable_quantized_v2.5
├── sources
│ ├── deepstream-sdk
│ └── nvdsinfer_custom_impl_BodyPose3DNet
└── streams
Download and extract Eigen 3.4.0 under the project foler.
$ cd $BODYPOSE3D_HOME
$ wget <https://gitlab.com/libeigen/eigen/-/archive/3.4.0/eigen-3.4.0.tar.gz>
$ tar xvzf eigen-3.4.0.tar.gz
$ ln eigen-3.4.0 eigen -s