If you use this code, please cite our paper:
@inproceedings{kluger2020temporally,
title={Temporally Consistent Horizon Lines},
author={Kluger, Florian and Ackermann, Hanno and Yang, Michael Ying and Rosenhahn, Bodo},
booktitle={2020 International Conference on Robotics and Automation (ICRA)},
year={2020}
}
Get the code:
git clone --recurse-submodules https://github.com/fkluger/tchl.git
cd tchl
git submodule update --init --recursive
Set up the Python environment using Anaconda:
conda env create -f environment.yml
source activate tchl
export PYTHONPATH=./
Download the preprocessed KITTI Horizon data or generate it yourself.
You can download the pre-trained model weights here:
- Temporally consistent ConvLSTM CNN
- Single-frame baseline
- Non-temporal (ablation study)
- Naïve residual (ablation study)
In order to train the temporally consistent ConvLSTM network on KITTI Horizon, simply run:
python convlstm_net/train.py --convlstm --skip --max_error_loss --dataset_path PATH_TO_PREPROCESSED_DATASET
For the single frame baseline, run:
python convlstm_net/train.py --seqlength 1 --batch 128 --max_error_loss --dataset_path PATH_TO_PREPROCESSED_DATASET
In order to evaluate the temporally consistent CNN on KITTI Horizon, run:
python convlstm_net/evaluate.py --whole --skip --convlstm --cpu --load temporally_consistent.ckpt --set test --dataset_path PATH_TO_PREPROCESSED_DATASET
For the single-frame baseline, run:
python convlstm_net/evaluate.py --whole --cpu --load single_frame.ckpt --set test --dataset_path PATH_TO_PREPROCESSED_DATASET