Project Website: https://siddancha.github.io/projects/active-perception-light-curtains
This is the official code for our paper:
Siddharth Ancha, Yaadhav Raaj, Peiyun Hu, Srinivasa G. Narasimhan, and David Held.
Active Perception using Light Curtains for Autonomous Driving.
In European Conference on Computer Vision (ECCV), August 2020.
- Clone repository.
git clone [email protected]:siddancha/active-perception-light-curtains.git
- Install
pylc
cd /path/to/second.pytorch/pylc
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release .. && make
-
Install spconv.
-
Add required paths to the
$PYTHONPATH
.
export PYTHONPATH=$PYTHONPATH:/path/to/second.pytorch
export PYTHONPATH=$PYTHONPATH:/path/to/second.pytorch/pylc
export PYTHONPATH=$PYTHONAPTH:/path/to/spconv
Download the Virtual KITTI and SYNTHIA-AL datasets into folders called vkitti
and synthia
. Then, create their info files that contain their respective metadata using the following commands:
export DATADIR=/path/to/synthia/and/vkitti/datasets
# create info files for Virtual KITTI dataset
python ./data/vkitti_dataset.py create_vkitti_info_file
--datapath=$DATASET/vkitti
# create info files for the SYNTHIA dataset
python ./data/synthia_dataset.py create_synthia_info_file
--datapath=$DATASET/synthia
To train a model, run the following commands:
cd second
python ./pytorch/train.py train
--config_path=./configs/{dataset}/second/{experiment}.yaml
--model_dir=/path/to/save/model
--display_step=100
where dataset
is either vkitti
or synthia
. We will be releasing our pre-trained models shortly.
To evaluate a model, run the following commands:
cd second
python ./pytorch/train.py evaluate
--config_path=./configs/{dataset}/second/{experiment}.yaml
--model_dir=/path/to/saved/model
--result_path=/path/to/save/evaluation/results
--info_path=/info/path/of/dataset/split
In order to facilitate reproducibiilty, we have created a script that launches all experiments included in our paper, on a compute clustered managed by slurm. In order to launch all experiments, simply run the following
cd second
python ./launch_all_exp.py
This will automatically schedule training of all experiments using sbatch commands provided in second/sbatch.py
.
- The codebase uses Python 3.7.
- The codebase is built upon the SECOND repository.