Skip to content

TAO PeopleNet Detection Model on V4L2 Video Stream#

Authors: Holoscan Team (NVIDIA)
Supported platforms: x86_64, aarch64
Language: Python
Last modified: May 13, 2025
Latest version: 1.0
Minimum Holoscan SDK version: 0.6.0
Tested Holoscan SDK versions: 0.6.0, 1.0.3, 2.0.0, 2.1.0
Contribution metric: Level 2 - Trusted

Use the TAO PeopleNet available on NGC to detect faces and people in a V4L2 supported video stream. HoloViz is used to draw bounding boxes around the detections.

Model#

This application uses the TAO PeopleNet model from NGC for face and person classification. The model is downloaded when building the application.

Data#

This application downloads a pre-recorded video from Pexels when the application is built for use with this application. Please review the license terms from Pexels.

NOTE: The user is responsible for checking if the dataset license is fit for the intended purpose.

Input#

This app supports two different input options. If you have a v4l2 compatible device plugged into your machine such as a webcam, you can run this application with option 1. Otherwise you can run this application using a pre-recorded video with option 2.

  1. v4l2 compatible input device (default, see V4L2 Support below)
  2. pre-recorded video (see Video Replayer Support below)

To see the list of v4l2 devices connected to your machine, install v4l-utils if it's not already installed:

sudo apt-get install v4l-utils

Then run:

v4l2-ctl --list-devices

Run Instructions#

V4L2 Support#

This application supports v4l2 compatible devices as input. To run this application with your v4l2 compatible device, please plug in your input device and run:

./dev_container build_and_run tao_peoplenet

By default, this application expects the input device to be mounted at /dev/video0. If this is not the case, please update applications/tao_peoplenet/tao_peoplenet.yaml and set it to use the corresponding input device before running the application. You can also override the default input device on the command line by running:

./dev_container build_and_run tao_peoplenet --run_args "--video_device /dev/video0"

Video Replayer Support#

If you don't have a v4l2 compatible device plugged in, you may also run this application on a pre-recorded video. To launch the application using the Video Stream Replayer as the input source, run:

./dev_container build_and_run tao_peopelnet --run_args "--source replayer"

Known Issues#

There is a known issue running this application on IGX w/ iGPU and on Jetson AGX (see #500). The workaround is to update the device to avoid picking up the libnvv4l2.so library.

cd /usr/lib/aarch64-linux-gnu/
ls -l libv4l2.so.0.0.999999
sudo rm libv4l2.so.0.0.999999
sudo ln -s libv4l2.so.0.0.0.0  libv4l2.so.0.0.999999