Skip to content

Commit

Permalink
Add readme.
Browse files Browse the repository at this point in the history
  • Loading branch information
fubel committed Sep 16, 2024
1 parent 1c46936 commit e40e790
Showing 1 changed file with 73 additions and 0 deletions.
73 changes: 73 additions & 0 deletions README.md
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

0 comments on commit e40e790

Please sign in to comment.