An open API service indexing awesome lists of open source software.

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.

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