Giter Club home page Giter Club logo

botsort-cpp's Introduction

BoT-SORT: Unofficial C++ Implementation

BoT-SORT: Robust Associations Multi-Pedestrian Tracking

Nir Aharon, Roy Orfaig, Ben-Zion Bobrovsky

Description

This repository contains an unofficial C++ implementation of BoT-SORT multi-pedestrian tracking algorithm.

This implementation has been tested on NVIDIA Jetson NX and it achieves real-time performance on 1080p videos.

YOLOv8-tracking, Official BoT-SORT and Official ByteTrack GitHub repositories were used as references.

TODO

  • Implement BoT-SORT tracker
  • Load parameters from config file
  • Implement Re-ID model for BoT-SORT tracker using TensorRT
  • Dockerize the project
  • Re-ID performance analysis
  • Re-ID model quantization

Preview of Results

These results demonstrate the BoT-SORT tracker, implemented in this repository, utilizing MOT provided detections.

MOT20-01

More Result Videos

Installation Guide

  1. Install Docker and NVIDIA Container Toolkit

  2. Clone the repository

    git clone [email protected]:viplix3/BoTSORT-cpp.git
    cd BoTSORT-cpp
  3. Build Docker image

    ./docker_build.sh
  4. Run Docker container

    ./docker_run.sh
  5. Build BoT-SORT tracker

    cd /home/user/work/
    mkdir build && cd build
    cmake .. -DCMAKE_BUILD_TYPE=Release
    make -j$(nproc)

Usage

Example code for using the BoT-SORT tracker is provided in botsort_tracking_example.cpp The project by default builds the example code.

To test the example code, run the following command:

cd <project-root-dir>/build
./bin/botsort_tracking_example ../config/tracker.ini ../config/gmc.ini ../config/reid.ini ../assets/osnet_x0_25_market1501.onnx ../examples/data/MOT20-01.mp4 ../examples/data/det/det.txt ../output/

Performance Analysis

The performance of the BoT-SORT tracker, implemented in this repository, was evaluated on the MOT20 dataset. Details are provided in this document.

Execution time of different modules (Host Machine, Release Build, Best of 3)

Sequence Average Objects/Frame Re-ID Camera Motion Estimation Motion Compensation Kalman Filter Algorithm Execution Time (ms) Algorithm Execution FPS
MOT20-01 62 4.7771 209.3333
MOT20-01 62 0.2074 4819.2466
MOT20-01 62 0.2016 4959.9266
MOT20-05 226 6.6817 149.6633
MOT20-05 226 2.0498 487.9570
MOT20-05 226 2.0054 498.6453

Execution time of different modules (Jetson-NX, Release Build, Best of 3)

Sequence Avg Objects/image Re-ID Camera Motion Estimation Motion Compensation Kalman Filter Algorithm Execution Time (ms) Algorithm Execution FPS
MOT20-01 62 39.9968 25.0229
MOT20-01 62 2.6441 378.2070
MOT20-01 62 2.5185 397.0786
MOT20-05 226 52.4251 19.0749
MOT20-05 226 15.6337 63.9844
MOT20-05 226 14.7918 67.7275

Accuracy Analysis

The accuracy of the BoT-SORT tracker, implemented in this repository, was evaluated on the MOT20 train set. Details are provided in this document.

botsort-cpp's People

Contributors

viplix3 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.