Giter VIP home page Giter VIP logo

sad's Introduction

Spiking Autonomous Driving (SAD): End-to-End Autonomous Driving with Spiking Neural Networks

If you find our project useful, please give us a star ⭐ on GitHub!

Introduction

Spiking Autonomous Driving (SAD) is the first end-to-end autonomous driving system built entirely with Spiking Neural Networks (SNNs). It integrates perception, prediction, and planning modules into a unified neuromorphic framework.

Key Features

  • End-to-end SNN architecture for autonomous driving, integrating perception, prediction, and planning
  • Perception module constructs spatio-temporal Bird's Eye View (BEV) representation from multi-view cameras using SNNs
  • Prediction module forecasts future states using a novel dual-pathway SNN
  • Planning module generates safe trajectories considering occupancy prediction, traffic rules, and ride comfort

System Overview

Modules

Perception

The perception module constructs a spatio-temporal BEV representation from multi-camera inputs. The encoder uses sequence repetition, while the decoder employs sequence alignment.

Prediction

The prediction module utilizes a dual-pathway SNN, where one pathway encodes past information and the other predicts future distributions. The outputs from both pathways are fused.

Planning

The planning module optimizes trajectories using Spiking Gated Recurrent Units (SGRUs), taking into account static occupancy, future predictions, comfort, and other factors.

Get Started

Setup

conda env create -f environment.yml

Training

First, go to /sad/configs and modify the configs. Change the NAME in MODEL/ENCODER to the model we provided. The link is as follows: https://huggingface.co/ridger/MLP-SNN/blob/main/model.pth.tar

# Perception module pretraining
bash scripts/train_perceive.sh ${configs} ${dataroot}

# Prediction module pretraining 
bash scripts/train_prediction.sh ${configs} ${dataroot} ${pretrained}

# Entire model end-to-end training
bash scripts/train_plan.sh ${configs} ${dataroot} ${pretrained}

Citation

If you find SAD useful in your work, please cite the following source:

@article{zhu2024autonomous,
        title = {Autonomous Driving with Spiking Neural Networks},
        author = {Rui-Jie Zhu and Ziqing Wang and Leilani Gilpin and Jason K. Eshraghian},
        journal = {arXiv preprint arXiv:2405.19687},
        year    = {2024}
}

sad's People

Contributors

ridgerchu avatar

Stargazers

Cheng Feng avatar Phil Mulholland avatar YZ avatar jist avatar Ko Dae Won avatar  avatar Jose Cohenca avatar Haomin Li avatar  avatar Bowen Jing avatar AI/ML Engineer avatar Qianpeng Li avatar wubinyi avatar Shuo Feng avatar Leibing Xiao avatar  avatar MPCheng avatar Mustafa Oltan Sevinc avatar Ahmed Allam avatar Ziqing Wang avatar Yongkun Li avatar  avatar 熵 avatar David B avatar Judicaël Clair avatar Leon Badke avatar Kade Heckel avatar Sherry.qiu avatar R.L. avatar Jason Eshraghian avatar  avatar ZHANG XU avatar Yoon, Seungje avatar KeningChai avatar Yining Shi avatar  avatar

Watchers

Kostas Georgiou avatar Zheng Li avatar Zehao Zhou avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.