Autonomous driving is an active research topic in both academia and industry. However, most of the existing solutions focus on improving the accuracy by training learnable models with centralized large-scale data. Therefore, these methods do not take into account the user's privacy. In this paper, we present a new approach to learn autonomous driving policy while respecting privacy concerns. We propose a peer-to-peer Deep Federated Learning (DFL) approach to train deep architectures in a fully decentralized manner and remove the need for central orchestration. We design a new Federated Autonomous Driving network (FADNet) that can improve the model stability, ensure convergence, and handle imbalanced data distribution problems while is being trained with federated learning methods. Intensively experimental results on three datasets show that our approach with FADNet and DFL achieves superior accuracy compared with other recent methods. Furthermore, our approach can maintain privacy by not collecting user data to a central server.
This repository is the implementation of a decentralized federated learning approach for Autonomous Driving. We benchmark our method on three public datasets: Udacity, Carla, and Gazebo.
For the detail, please refer to link.
This repository is based on and inspired by @Othmane Marfoq work. We sincerely thank for their sharing of the codes.
PYTHON 3.6
CUDA 9.2
Please install dependence package by run following command:
pip install -r requirements.txt
For GAZEBO dataset, we provide:
For CARLA dataset, we provide:
Important: Before running any command lines in this section, please run following command to access 'graph_utils' folder:
cd graph_utils
And now, you are in 'graph_utils' folder.
Please download graph data at link and put into data
folder.
To generate networks for GAZEBO dataset and compute the cycle time for them:
bash generate_network_driving-gazebo.sh
To generate networks for CARLA dataset and compute the cycle time for them:
bash generate_network_driving-carla.sh
bash train_gazebo_gaia.sh
We provide the pretrained models which are trained on GAZEBO dataset with GAIA network by our method at the last epoch. Please download at link and extracted them into the "pretrained_models/DRIVING-GAZEBO_GAIA" folder.
The models can be evaluated in GAZEBO train and test set via:
bash test_gazebo_gaia.sh
If you use this code as part of any published research, we'd really appreciate it if you could cite the following paper:
@inproceedings{nguyen2022_DFL,
title={Deep Federated Learning for Autonomous Driving},
author={Nguyen, Anh and Do, Tuong and Tran, Minh and Nguyen, Binh X and Duong, Chien and Phan, Tu and Tjiputra, Erman and Tran, Quang D},
booktitle={33rd IEEE Intelligent Vehicles Symposium},
year={2022}
}
MIT License
AIOZ AI Homepage: https://ai.aioz.io