Git Product home page Git Product logo

ziwenwan / msf-adv Goto Github PK

View Code? Open in Web Editor NEW

This project forked from asguard-uci/msf-adv

0.0 1.0 0.0 11.56 MB

MSF-ADV is a novel physical-world adversarial attack method, which can fool the Multi Sensor Fusion (MSF) based autonomous driving (AD) perception in the victim autonomous vehicle (AV) to fail in detecting a front obstacle and thus crash into it. This work is accepted by IEEE S&P 2021.

Home Page: https://sites.google.com/view/cav-sec/msf-adv

License: MIT License

Python 100.00%

msf-adv's Introduction

MSF-ADV

MSF-ADV is a novel physical-world adversarial attack method, which can fool the Multi Sensor Fusion (MSF) based autonomous driving (AD) perception in the victim autonomous vehicle (AV) to fail in detecting a front obstacle and thus crash into it.

Parper

Invisible for both Camera and LiDAR: Security of Multi-Sensor Fusion based Perception in Autonomous Driving Under Physical-World Attacks

Author: Yulong Cao*, Ningfei Wang*, Chaowei Xiao*, Dawei Yang*, Jin Fang, Ruigang Yang, Qi Alfred Chen, Mingyan Liu, Bo Li (*Co-first authors)

Website: https://sites.google.com/view/cav-sec/msf-adv

title

This is the code for the paper Invisible for both Camera and LiDAR: Security of Multi-Sensor Fusion based Perception in Autonomous Driving Under Physical-World Attacks accepted by IEEE S&P 2021.

The arxiv link to the paper: https://arxiv.org/abs/2106.09249

Installation

Install the required environments with the requirements.txt file using ANACONDA

$ conda env create -f requirements.yml

Command line

Download the target model

You can find the model through the official Baidu Apollo GitHub and YOLO website. Or you can download the model here and then unzip it to ./data folder.

Generating the adversarial object

python attack.py [-obj] [-obj_save] [-lidar] [-cam] [-cali] [-e] [-o] [-it] 
Argument Description
-e Constrained max changing for the object vetex
-o Optimization method: pgd and adam
-it Max iteration number
-obj Initial benign 3D object path
-obj_save Adversarial 3D object saving dir
-lidar LiDAR point cloud data path
-cam Camera image data path
-cali Calibration file path

Example for generating the adversarial object

python attack.py -obj ./object/object.ply -obj_save ./object/obj_save -lidar ./data/lidar.bin -cam ./data/cam.png -cali ./data/cali.txt -e 0.2 -o pgd -it 1000 

Evaluation

The source code for evaluating the generated adversarial 3D object are in evaluation folder.

Citation

If you use this code for your research, please cite our papers.

@inproceedings{sp:2021:ningfei:msf-adv,
  title={{Invisible for both Camera and LiDAR: Security of Multi-Sensor Fusion based Perception in Autonomous Driving Under Physical World Attacks}},
  author={Yulong Cao and Ningfei Wang and Chaowei Xiao and Dawei Yang and Jin Fang and Ruigang Yang and Qi Alfred Chen and Mingyan Liu and Bo Li},
  booktitle={Proceedings of the 42nd IEEE Symposium on Security and Privacy (IEEE S\&P 2021)},
  year={2021},
  month = {May}
}
@inproceedings{xiao2019meshadv,
  title={{MeshAdv: Adversarial Meshes for Visual Recognition}},
  author={Xiao, Chaowei and Yang, Dawei and Li, Bo and Deng, Jia and Liu, Mingyan},
  booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition},
  pages={6898--6907},
  year={2019}
}

Acknowledgments

Our code is inspired by Towards Robust LiDAR-based Perception in Autonomous Driving: General Black-box Adversarial Sensor Attack and Countermeasures, Mitsuba Physically Based Renderer, neural_renderer, pytorch-caffe, and PerceptualSimilarity.

msf-adv's People

Watchers

James Cloos 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.