Skip to content

This is a sample application for counting people entering/leaving in a building using NVIDIA Deepstream SDK, Transfer Learning Toolkit (TLT), and pre-trained models. This application can be used to build real-time occupancy analytics applications for smart buildings, hospitals, retail, etc. The application is based on deepstream-test5 sample app…

License

Notifications You must be signed in to change notification settings

NVIDIA-AI-IOT/deepstream-occupancy-analytics

Repository files navigation

People count application With Deepstream SDK and Transfer Learning Toolkit

Description

This is a sample application for counting people entering/leaving in a building using NVIDIA Deepstream SDK, Transfer Learning Toolkit (TLT) and pre-trained models. This application can be used to build real-time occupancy analytics application for smart buildings, hospitals, retail, etc. The application is based on deepstream-test5 sample application.

It takes streaming video as input, counts the number of people crossing a tripwire and sends the live data to the cloud. In this application, you will learn:

  • How to use PeopleNet model from NGC
  • How to use NvDsAnalytics plugin to draw line and count people crossing the line
  • How to send the analytics data to cloud or another microservice over Kafka

You can extend this application to change region of interest, use cloud-to-edge messaging to trigger record in the DeepStream application or build analytic dashboard or database to store the metadata.

To learn how to build this demo step-by-step, check out the on-demand webinar on Creating Intelligent places using DeepStream SDK.

Prerequisites

Getting Started

  • Preferably clone the repo in $DS_SDK_ROOT/sources/apps/sample_apps/
  • Download peoplnet model: cd deepstream-occupancy-analytics/config && ./model.sh
  • For Jetson use: bin/jetson/libnvds_msgconv.so
  • For x86 use: bin/x86/libnvds_msgconv.so

Build and Configure

  • Set CUDA_VER in the MakeFile as per platform.

    For Jetson, CUDA_VER=11.4

    For x86, CUDA_VER=11.8

    cd deepstream-occupancy-analytics && make

  • Set msg-conv-msg2p-lib at [sink1] group in dstest_occupancy_analytics.txt as per platform

    For Jetson

    msg-conv-msg2p-lib=$DEEPSTREAM_SDK_PATH/deepstream-occupancy-analytics/bin/jetson/libnvds_msgconv.so

    For x86

    msg-conv-msg2p-lib=$DEEPSTREAM_SDK_PATH/deepstream-occupancy-analytics/bin/x86/libnvds_msgconv.so

Run

./deepstream-test5-analytics -c config/dstest_occupancy_analytics.txt

In another terminal run this command to see the kafka messages:

bin/kafka-console-consumer.sh --topic quickstart-events --from-beginning --bootstrap-server localhost:9092

Output

The output will look like this:

alt-text

Where you can see the kafka messages for entry and exit count.

References

About

This is a sample application for counting people entering/leaving in a building using NVIDIA Deepstream SDK, Transfer Learning Toolkit (TLT), and pre-trained models. This application can be used to build real-time occupancy analytics applications for smart buildings, hospitals, retail, etc. The application is based on deepstream-test5 sample app…

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published