This repository contains PyTorch implementation of ''Exploring Reflective Limitation of Behavior Cloning in Autonomous Vehicles'' paper.
This repo uses PyTorch and CARLA simulator (0.9.10.1). Please make sure that all dependencies are installed by running:
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
Please specify the CARLA root directory at the top of run.sh
file.
export CARLA_ROOT=~/Projects/nazeri/CARLA_0.9.10.1 # change to where you installed CARLA
You need at least a middle range GPU to run the experiments with minimum possible batch size.
To run different training stages, please see experiments doc first. You can define the
training and model parameters via the respective config file
in conf
directory, then, use run.sh stage_number
to run training where stage_number
can be one of
stage0
, stage1
, stage2
, stage3
. To see more options, and their description execute ./run.sh -h

Sample output of the PMoE. PMoE's predictions are in red whereas the reflective rule-based AI are in green.
PMoE
PU-Net
To evaluate the models there are two options, Carla leaderboard evaluation or nocrash evaluation which can
be run via ./run.sh benchmark
or ./run.sh nocrash
respectively. You can configure the model and benchmark
parameters through the conf/benchmark.yaml
config file.
The dataset was collect using this repo which is fork of LBC leaderboard submission.
Thanks for World on Rails, Learning by Cheating, CARLA leaderboard, CARLA scenario_runner, Coiltraine, repos for making their code public.
If you find this repo to be useful in your research, please consider citing our work
@INPROCEEDINGS{Nazeri2021,
author={Nazeri, Mohammad Hossein and Bohlouli, Mahdi},
booktitle={2021 IEEE International Conference on Data Mining (ICDM)},
title={Exploring Reflective Limitation of Behavior Cloning in Autonomous Vehicles},
year={2021},
volume={},
number={},
pages={1252-1257},
doi={10.1109/ICDM51629.2021.00153}}
This repo is released under the MIT License (please refer to the LICENSE file for details). Part of the PythonAPI and the map rendering code is borrowed from the official CARLA repo, which is under MIT license. The image augmentation code is borrowed from Coiltraine which is released under MIT license. The evaluation code is borrowed from World on Rails, and Learning by Cheating which also released under the MIT License.