GithubHelp home page GithubHelp logo

hardspoon / deepstream_multicamera Goto Github PK

View Code? Open in Web Editor NEW

This project forked from nmadhub/deepstream_multicamera

0.0 0.0 0.0 24.08 MB

This Deepstream application showcases Multi-camera Object Detection and Tracking using YOLOv4 model running with High FPS.

License: GNU General Public License v2.0

C++ 95.26% Cuda 2.24% Makefile 2.50%

deepstream_multicamera's Introduction

Deepstream 5.1 YOLOv4 App

This Deepstream application showcases Multi-camera Object Detection and Live Tracking using YOLOv4 model running at High FPS throughput!

[FPS]

Index

  1. Deepstream Setup
    1. Pull Deepstream Container
  2. Running the Application
    1. Clone the repository
    2. Download the weights file
    3. Build the application
    4. Run with different input sources
  3. Citations

Deepstream Setup

This post assumes you have a fully functional Jetson device. If not, you can refer the documentation here.

1. Pull Deepstream Container

Enter the command:

docker pull nvcr.io/nvidia/deepstream:5.1-21.02-devel

docker run --name=ds-522 --gpus all -it --net=host --privileged -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=$DISPLAY -v <local_dir>:/workspace/user -w /opt/nvidia/deepstream/deepstream-5.1 nvcr.io/nvidia/deepstream:5.1-21.02-devel

For more information, go to the get started page of Deepstream here.

Running the Application

1. Clone the repository

This is a straightforward step, however, if you are new to git, I recommend glancing threw the steps.

First, install git

sudo apt install git

Next, clone the repository

# Using HTTPS
git clone https://github.com/NMadhub/Deepstream_multicamera.git
# Using SSH
[email protected]:NMadhub/Deepstream_multicamera.git

2. Download the weights file

Download the weights file from google-drive and place it in models/YOLOv4 directory.

Please ensure you have your CUDA libraries and paths are proper before proceeding further. If not please do as follows: Go to vi ~/.bashrc. Then Add the following lines:

# CUDA
export CUDA=11.1
export PATH=/usr/local/cuda-$CUDA/bin${PATH:+:${PATH}}
export CUDA_PATH=/usr/local/cuda-$CUDA
export CUDA_HOME=/usr/local/cuda-$CUDA
export LIBRARY_PATH=$CUDA_HOME/lib64:$LIBRARY_PATH
export LD_LIBRARY_PATH=/usr/local/cuda-$CUDA/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/extras/CUPTI/lib64:$LD_LIBRARY_PATH
export NVCC=/usr/local/cuda-$CUDA/bin/nvcc
export CFLAGS="-I$CUDA_HOME/include $CFLAGS"

Then do source ~/.bashrc

3. Build the application

First, build the application by running the following command:

make clean && make -j$(nproc)

This will generate the binary called ds-yolo. This is a one-time step and you need to do this only when you make source-code changes.

For some common errors & fixes:

apt install libopencv-dev


apt-get install libboost-all-dev


apt install libgnutls28-dev

4. Run with different input sources

Next, create a file called inputsources.txt and paste the path of videos or rtsp url.

file:///home/nmadhab/Videos/sample_qHD.mp4
rtsp://admin:admin%[email protected]:554/stream

Now, run the application by running the following command:

./ds-yolo

Citations

deepstream_multicamera's People

Contributors

nmadhub avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.