Coder Social home page Coder Social logo

wuziyi616 / if-defense Goto Github PK

View Code? Open in Web Editor NEW
59.0 2.0 11.0 6.11 MB

This is the official pytorch implementation for paper: IF-Defense: 3D Adversarial Point Cloud Defense via Implicit Function based Restoration

License: MIT License

Python 76.29% C++ 22.87% C 0.02% Shell 0.83%
pytorch point-cloud implicit-representions adversarial-machine-learning deep-learning pointnet pointnet2 dgcnn pointconv rs-cnn

if-defense's Introduction

Wuziyi's github stats

if-defense's People

Contributors

dependabot[bot] avatar wuziyi616 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

if-defense's Issues

How to perform defense

Thanks for your great work! I'm confused about when to implement the SOR or the SRS defense. I check several related works and find two settings:

Setting1

In the code of CVPR'22 Shape-Invariant-Attack, they put the defense (e.g., SOR) in BOTH attack iteration and attack process. This can simulate settings where attackers get complete information of the model AND defense methods.

Setting2

I tried the situation where the attackers do not know the defense methods (e.g., don't use defense in the attack iterations). In this setting, the accuracy essentially increases, which is expected.

I re-implement the drop-200 attack with the SOR defense under the above two settings. The adversarial accuracy of 1st setting is 46.1, which is close to your paper results (42.6). The result of the 2nd setting is 35.2.

I find you load adversarial points from files in defend_npz.py, which seems to be the Setting2. I just wonder which setting you adopted in your paper. If you adopt Setting2, have you tried to test the performance of IF-Defense under Setting1, will the defense performance still be good?

Hybrid training data

Hi ziyi. In hybrid training, you provided MN40, convonet_opt_MN40, onet_opt-MN40, onet_remesh-MN40 and attack_data.npz used for all attacks. Could you please tell me if these three defense data (convonet_opt_MN40, onet_opt-MN40. onet_remesh-MN40) are from IF-Defense used on attack_data.npz or MN40?

Production of data sets

Very excellent work! But I encountered some problems when making the data set. If it is convenient for you, can you upload the network usage data to Google Drive so that everyone can study your work more conveniently?

Target label choosing stragegies

I notice that you use targeted attacks. However, the paper does not provide any details in target label choosing. As analysis in previous works, if you choose an easy case to build a target label, the accuracy under attack will be low. So, could you provide more details in choosing target labels. If any possible, you can provide the pre-trained models. I want to test them under un-targeted attacks, which may show the robustness in another perspective.

Question about the adaptive attack ?

Hey, Ziyi.
We proposed the IT-Defense recently, which utilized the network’s property (such as permutation invariant of input point cloud for Pointnet) to defend attacks. But we don't know how to design an adaptive attack for our defense, could you give any suggestions?

Best wishes!
Jinlai

the location of /pretrain folder

_Pre-trained Victim Models
We provided the pre-trained weights for the victim models used in our experiments. Download from here and uncompress them into pretrain/. You can also train your victim models by yourself and put them into the folder.

Note that, if you want to use your own model/weight, please modify the variable called 'BEST_WEIGHTS' in config.py._

Hi , I saw this in the readme file in /baseline folder. But I can't find the pretrain folder, does it change to another name?

Save the generated attack images

Hi ziyi,

sorry for bothering you. Can the generated attack images be saved? If yes, which config parameters should I modify?

Thanks!

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.