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
- Verification data are generated by ByteTrack-CPP-ncnn using YOLOX
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