Code Monkey home page Code Monkey logo

full-coverage-camouflage-adversarial-attack's Introduction

[AAAI 2022] FCA: Learning a 3D Full-coverage Vehicle Camouflage for Multi-view Physical Adversarial Attack

三维多视角车辆反识别对抗迷彩生成框架

Overview

This is the official implementation and case study of the Full-coverage Vehicle Camouflage(FCA) method proposed in our AAAI 2022 paper FCA: Learning a 3D Full-coverage Vehicle Camouflage for Multi-view Physical Adversarial Attack.

Source code can be find in here.

Abstract

Physical adversarial attacks in object detection have attracted increasing attention. However, most previous works focus on hiding the objects from the detector by generating an individual adversarial patch, which only covers the planar part of the vehicle’s surface and fails to attack the detector in physical scenarios for multi-view, long-distance and partially occluded objects. To bridge the gap between digital attacks and physical attacks, we exploit the full 3D vehicle surface to propose a robust Full-coverage Camouflage Attack (FCA) to fool detectors. Specifically, we first try rendering the nonplanar camouflage texture over the full vehicle surface. To mimic the real-world environment conditions, we then introduce a transformation function to transfer the rendered camouflaged vehicle into a photo realistic scenario. Finally, we design an efficient loss function to optimize the camouflage texture. Experiments show that the full-coverage camouflage attack can not only outperform state-of-the-art methods under various test cases but also generalize to different environments, vehicles, and object detectors. The code of FCA will be available at: https://idrl-lab.github.io/Full-coveragecamouflage adversarial-attack/.

Framework

image-20211209204327675

Cases of Digital Attack

Multi-view Attack: Carmear distance is 3

Elevation 0 Elevation 30 Elevation 50
Original
FCA

Multi-view Attack: Carmear distance is 5

Elevation 20 Elevation 40 Elevation 50
Original
FCA

Multi-view Attack: Carmear distance is 10

Elevation 30 Elevation 40 Elevation 50
Original
FCA

Multi-view Attack: different distance, elevation and azimuth

Original
FCA

Partial occlusion

Original
FCA

Ablation study

Different combination of loss terms

As we can see from the Figure, different loss terms plays different roles in attacking. For example, the camouflaged car generated by obj+smooth (we omit the smooth loss, and denotes as obj) can hidden the vehicle successfully, while the camouflaged car generated by iou can successfully suppress the detecting bounding box of the car region, and finally the camouflaged car generated by cls successfully make the detector to misclassify the car to anther category.

Different initialization ways

original basic initialization random initialization zero initialization

Cases of Phyical Attack

Case in the simulator environment

<iframe src="//player.bilibili.com/player.html?aid=937368019&bvid=BV1dT4y1U75b&cid=550826852&page=1" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true"> </iframe>

Case in the real world

<iframe src="//player.bilibili.com/player.html?aid=852356546&bvid=BV1RL4y1T723&cid=550828041&page=1" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true"> </iframe>

full-coverage-camouflage-adversarial-attack's People

Contributors

tingsongpku avatar winterwindwang 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

Watchers

 avatar  avatar  avatar

full-coverage-camouflage-adversarial-attack's Issues

The detail about how to implement the experiment on Carla and the video

Hello!
I found your result videos on Carla very interesting. However, I have a question regarding the experiment details.
Could you please provide more information about it? I'm trying to replicate your results, and I'd be grateful for any guidance or advice you can offer.

Thank you very much for your time and consideration.

关于公式6

论文中的公式6如下:Iadv = Φ(O) = m · O + (1 − m) · I
请问I代表是input吗?是X吗?

I made my own dataset by unreal UE4, but got bad result

After trainning, I got a bad mask and a bad mask, texture and test_total in the logs:
The mask.png is as follow:
image
The texture2.png is all white as follow:
image
The test_total.png is as follow:
image

Could you please check this issue?

How to use "phy_attack" dataset

Hello,
I found that the default dataset used in your code is "phy_attack" which is the same one used in DAS.
But I don't know how to set other directories such as "train_new", "train_label_new", etc.
Could you give me more detailed guidelines for using the dataset?

I'd really appreciate it if you reply to my question.
Thank you.

关于Algorithm 1

拜读了论文,非常精彩,感谢你的优秀输出。
Algorithm 1下面的有这一行:7: b ← F(Tadv; θf )
请问Tadv是否应该为Iadv?

attack performance

Are there some tricks that can effectively improve the attack performance? My attack performance is not high after training, only about 70%, and it is worse for small objects. Thank you~

How to extract the texture ?

Hello, thanks for the great work.
I am wondering how we can extract the generated attack texture to use it on other 3D software or print it for the real world?
Is it possible for us to save the texture as an image file?
Because we found that the output texture is saved as a NumPy file, which can only be used for this neural renderer code.

Thank you.

If the dataset carla_dataset lacks training data?

Excuse me, there is only one data1.png in train_new in carla_dataset, but there are a large number of labels in train_label_new. How to download the data sets corresponding to train_label_new in train_new?

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.