-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
73 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
# Spatial-Temporal Multi-Cuts for Online Multiple-Camera Vehicle Tracking | ||
![arXiv Badge](https://img.shields.io/badge/Paper-arXiv.0000.0000-b31b1b.svg) | ||
[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff) | ||
[![CI](https://github.com/fubel/stmc/actions/workflows/main.yml/badge.svg)](https://github.com/fubel/stmc/actions/workflows/main.yml) | ||
|
||
## Authors | ||
|
||
[Fabian Herzog](https://github.com/fubel), [Johannes Gilg](https://github.com/Blueblue4), [Philipp Wolters](https://github.com/phi-wol), [Torben Teepe](https://github.com/tteepe/), and Gerhard Rigoll | ||
|
||
## Installation | ||
|
||
Only tested with Python 3.8, CUDA 11.8, GCC >= 9.4.0 on NVIDIA RTX 3090, PyTorch 2.0.1 on Ubuntu 22.04. | ||
|
||
```bash | ||
# Setup with miniconda | ||
conda create -n stmc python=3.8 | ||
conda activate stmc | ||
|
||
# Setup torch | ||
conda install pytorch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 pytorch-cuda=11.8 -c pytorch -c nvidia | ||
|
||
# Setup RAMA | ||
# (cf. https://github.com/pawelswoboda/RAMA/) | ||
git clone [email protected]:pawelswoboda/RAMA.git | ||
mkdir -p RAMA/build && cd RAMA/build | ||
cmake .. | ||
make -j 4 | ||
|
||
# Setup Python bindings | ||
python -m pip install git+https://github.com/pawelswoboda/RAMA.git | ||
|
||
# Install remaining dependencies | ||
python -m pip install -r requirements.txt | ||
``` | ||
|
||
## Data Setup | ||
|
||
The config files assume the datasets are stored in `./data/`. You can setup a symlink to a different location or adjust the paths in the config. The datasets are available at: | ||
|
||
* [CityFlow](https://www.aicitychallenge.org) | ||
* [Synthehicle](https://github.com/fubel/synthehicle) | ||
|
||
## Running the Code | ||
|
||
For a multi-camera scene, adjust the config.yaml and run | ||
|
||
```bash | ||
# for Synthehicle, Town06-O-dawn | ||
python main.py +experiment=Synthehicle dataset.scene_path=./test/Town06-O-dawn/ | ||
``` | ||
|
||
❗️ We'll provide all pre-extracted detections and features for CityFlow soon. | ||
|
||
## Features and Detections | ||
|
||
Our resources are formatted in the MOT-Challenge format, with the addition that the last N columns of a resource file store the appearance feature vector of that object. They will be loaded automatically via hugging face. | ||
|
||
## Evaluation | ||
|
||
The results are saved in the output directory specified in the config. | ||
|
||
**🚨 Please use the evaluation scripts provided by the respective datasets to evaluate the final results!** | ||
|
||
Our in-built evaluation follows the evaluation protocol of Synthehicle which differs from the CityFlow official evaluation script (our eval does not filter single-cam trajectories, for instance). | ||
|
||
## Acknowledgements | ||
|
||
We'd like to thank the authors of the following repositories for providing code used in our work: | ||
|
||
* We use the [RAMA](git+https://github.com/pawelswoboda/RAMA.git) solver which enables fast multi-cuts on the GPU. | ||
* The features for CityFlow are from [LCFractal](https://github.com/LCFractal/AIC21-MTMC). | ||
|
||
## Citation |