https://github.com/Vertical-Beach/ByteTrack-cpp
C++ implementation of ByteTrack that does not include an object detection algorithm.
https://github.com/Vertical-Beach/ByteTrack-cpp
bytetrack mot object-tracking
Last synced: 7 months ago
JSON representation
C++ implementation of ByteTrack that does not include an object detection algorithm.
- Host: GitHub
- URL: https://github.com/Vertical-Beach/ByteTrack-cpp
- Owner: Vertical-Beach
- License: mit
- Created: 2022-01-18T13:37:36.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-04-08T03:30:03.000Z (over 1 year ago)
- Last Synced: 2024-10-27T20:20:42.881Z (12 months ago)
- Topics: bytetrack, mot, object-tracking
- Language: C++
- Homepage:
- Size: 525 KB
- Stars: 145
- Watchers: 3
- Forks: 28
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ByteTrack-cpp
C++ implementation of ByteTrack that does not include an object detection algorithm.
## Overview
- The implementation is based on [ByteTrack-CPP-ncnn](https://github.com/ifzhang/ByteTrack/tree/3434c5e8bc6a5ae8ad530528ba8d9a431967f237/deploy/ncnn/cpp) 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](https://github.com/ifzhang/ByteTrack/tree/3434c5e8bc6a5ae8ad530528ba8d9a431967f237/deploy/ncnn/cpp)
- [Verification data](data/YOLOX_ncnn_palace) are generated by [ByteTrack-CPP-ncnn](https://github.com/ifzhang/ByteTrack/tree/3434c5e8bc6a5ae8ad530528ba8d9a431967f237/deploy/ncnn/cpp) 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:
```shell
mkdir build && cd build
cmake ..
make
```The implementation can be test with following commands:
```shell
mkdir build && cd build
cmake .. -DBUILD_BYTETRACK_TEST=ON
make
ctest --verbose
```## Tips
You can use docker container to build and test the implementation.
```shell
docker build . -t bytetrack-cpp:latest
docker run -ti --rm \
-v ${PWD}:/usr/src/app \
-w /usr/src/app \
bytetrack-cpp:latest
```## License
MIT