This repository...
If you find this code relevant for your work, please consider citing one or both of these papers. A bibtex entry is provided below:
@article{hughes2023foundations,
title={TODO},
author={TODO},
year={2024},
eprint={xxxx.xxxxx},
archivePrefix={arXiv},
primaryClass={cs.RO}
}
- GPU for machine learning
- When not using CUDA install pytorch manually!
- Create a virtual python environment with
python3 -m venv env - Enter into the environment using
source env/bin/activate - Install required packages
pip install -r requirements.txt
Most basic configurations for both input/label generation and the scene segmentation itself can be found in the config folder.
Have detection data in either CrowdBot or JRDB (with additional velocities of all people) format. See this repository for a simulator to create data in JRDB format.
Run python3 generator/generator.py --dataformat "JRDB" with the following additional arguments.
--inputwith the path to your detection data--outputwith the path where the generated images should be stored.
This requires a few more arguments
Run python3 generator/generator.py --dataformat "CrowdBot" with the following additional arguments.
--inputwith the path to your detection data--outputwith the path where the generated images should be stored.--input_tfwith the path to the file with all tf frames.--input_velwith the path to the file with all detection velocities.
Additionally the argument --label "False" can be added for both cases to only generate the input without generating all the label.
- Create a text file at the location given by
data_rootin theconfig/config.ymlfile. This file should have all relative paths to the training data folder.
Optionally: The same can be done for the validation data using validation_dir as the config variable
- Run
python3 engine/train.pyto start training of the model.
Run python3 engine/predict.py with the following arguments.
--inputwith the location to the input images you want to predict--outputwith the location where the predicted segmentations should be stored--checkpointwith the path to the checkpoint file to restart at. If empty it will retrain with the given data.