/ByteTrack-cpp

C++ implementation of ByteTrack that does not include an object detection algorithm.

Primary LanguageC++MIT LicenseMIT

ByteTrack-cpp

C++ implementation of ByteTrack that does not include an object detection algorithm.

Overview

  • The implementation is based on ByteTrack-CPP-ncnn that is the official C++ implementation using ncnn
  • Only tracking algorithm are implemented in this repository
    • Any object detection algorithm can be easily combined
  • Provided as a shared library usable in C++17 or higher
  • The output of the implementation has been verified to be equivalent to the output of the ByteTrack-CPP-ncnn

Dependencies

  • Eigen 3.3
  • C++ compiler with C++17 or higher support
  • CMake 3.14 or higher
  • GoogleTest 1.10 or higher (Only tests)

Build and Test

The shared library (libbytetrack.so) can be build with following commands:

mkdir build && cd build
cmake ..
make

The implementation can be test with following commands:

mkdir build && cd build
cmake .. -DBUILD_BYTETRACK_TEST=ON
make
ctest --verbose

Tips

You can use docker container to build and test the implementation.

docker build . -t bytetrack-cpp:latest
docker run -ti --rm \
           -v ${PWD}:/usr/src/app \
           -w /usr/src/app \
           bytetrack-cpp:latest

License

MIT