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

Installation

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"

Download BodyPose3DNet

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