This repository provides the implementation of the real-time out-of-distribution detector in advanced emergency braking system (AEBS) for our "Real-time Out-of-distribution Detection in Learning-Enabled Cyber-Physical Systems" ICCPS 2020 paper.
If you use our method, please cite our ICCPS'20 paper.
Real-time Out-of-distribution Detection in Learning-Enabled Cyber-Physical-Systems
Feiyang Cai and Xenofon Koutsoukos
[PDF]
[talk]
@article{cai2020real,
title={Real-time Out-of-distribution Detection in Learning-Enabled Cyber-Physical Systems},
author={Cai, Feiyang and Koutsoukos, Xenofon},
journal={arXiv preprint arXiv:2001.10494},
year={2020}
}
For now, this repository only provides the codes to run the out-of-distribution detection method offline. The online detection codes in AEBS will be added in the future.
TBD
The codes are written in Python 3.7
and requires the packages listed in requirement.txt
.
pip install -r requirements.txt
Here is the example to train the VAE and SVDD based detectors. (The traininig data set will be added later)
python ./train_vae_svdd.py -p ./data/train
We provide one episode of in-distribution data and one episode of out-of-distribution data to test our method.
Please have a look into detect.py
for possible arguments to set test data and detection method (VAE or SVDD).
Here is the example to run the SVDD-based detection method for the out-of-distribution data:
python ./detect.py -v -o
MIT