FCA/README.md

132 lines
10 KiB
Markdown
Raw Normal View History

2021-09-12 16:33:38 +08:00
## FCA: Learning a 3D Full-coverage Vehicle Camouflage for Multi-view Physical Adversarial Attack
2021-11-13 15:56:53 +08:00
[Paper](https://arxiv.org/abs/2109.07193) FCA: Learning a 3D Full-coverage Vehicle Camouflage for Multi-view Physical Adversarial Attack
2021-11-13 15:51:56 +08:00
2021-09-12 22:37:14 +08:00
Case study of the FCA. The code can be find in [FCA](https://github.com/winterwindwang/Full-coverage-camouflage-adversarial-attack/tree/gh-pages/src).
2021-09-12 16:33:38 +08:00
2021-09-13 09:35:21 +08:00
### Cases of Digital Attack
2021-09-12 16:33:38 +08:00
2021-09-13 09:41:14 +08:00
2021-09-13 09:53:22 +08:00
#### Carmear distance is 3
2021-09-13 09:43:00 +08:00
2021-09-12 19:37:21 +08:00
<table frame=void>
2021-09-12 16:45:31 +08:00
<tr>
2021-09-12 19:14:04 +08:00
<td>before</td>
2021-09-12 16:52:17 +08:00
<td><center> <img src = 'https://github.com/winterwindwang/Full-coverage-camouflage-adversarial-attack/blob/gh-pages/assets/distance_3_elevation_0_ori_pred.gif?raw=true'/></center></td>
2021-09-12 17:46:10 +08:00
<td><center> <img src = 'https://github.com/winterwindwang/Full-coverage-camouflage-adversarial-attack/blob/gh-pages/assets/distance_3_elevation_30_ori_pred.gif?raw=true'/></center></td>
<td><center> <img src = 'https://github.com/winterwindwang/Full-coverage-camouflage-adversarial-attack/blob/gh-pages/assets/distance_3_elevation_50_ori_pred.gif?raw=true'/></center></td>
2021-09-12 16:52:17 +08:00
</tr>
<tr>
2021-09-12 19:14:04 +08:00
<td>after</td>
2021-09-12 17:46:10 +08:00
<td><center><img src = 'https://github.com/winterwindwang/Full-coverage-camouflage-adversarial-attack/blob/gh-pages/assets/distance_3_elevation_0_adv_pred.gif?raw=true'/></center></td>
<td><center><img src = 'https://github.com/winterwindwang/Full-coverage-camouflage-adversarial-attack/blob/gh-pages/assets/distance_3_elevation_30_adv_pred.gif?raw=true'/></center></td>
2021-09-12 16:52:17 +08:00
<td><center><img src = 'https://github.com/winterwindwang/Full-coverage-camouflage-adversarial-attack/blob/gh-pages/assets/distance_3_elevation_50_adv_pred.gif?raw=true'/></center></td>
</tr>
2021-09-12 16:54:51 +08:00
</table>
2021-09-12 17:49:32 +08:00
#### Carmear distance is 5
2021-09-12 19:40:57 +08:00
<table border=0>
2021-09-12 16:54:51 +08:00
<tr>
2021-09-12 19:14:04 +08:00
<td>before</td>
2021-09-12 16:52:17 +08:00
<td><center> <img src = 'https://github.com/winterwindwang/Full-coverage-camouflage-adversarial-attack/blob/gh-pages/assets/distance_5_elevation_20_ori_pred.gif?raw=true'/></center></td>
2021-09-12 17:46:10 +08:00
<td><center> <img src = 'https://github.com/winterwindwang/Full-coverage-camouflage-adversarial-attack/blob/gh-pages/assets/distance_5_elevation_50_ori_pred.gif?raw=true'/></center></td>
2021-09-12 16:52:17 +08:00
</tr>
<tr>
2021-09-12 19:14:04 +08:00
<td>after</td>
2021-09-12 17:46:10 +08:00
<td><center><img src = 'https://github.com/winterwindwang/Full-coverage-camouflage-adversarial-attack/blob/gh-pages/assets/distance_5_elevation_20_adv_pred.gif?raw=true'/></center></td>
2021-09-12 16:52:17 +08:00
<td><center><img src = 'https://github.com/winterwindwang/Full-coverage-camouflage-adversarial-attack/blob/gh-pages/assets/distance_5_elevation_50_adv_pred.gif?raw=true'/></center></td>
</tr>
2021-09-12 16:54:51 +08:00
</table>
2021-09-12 17:49:32 +08:00
#### Carmear distance is 10
2021-09-12 16:54:51 +08:00
<table>
2021-09-12 16:52:17 +08:00
<tr>
2021-09-12 19:14:04 +08:00
<td>before</td>
2021-09-12 16:52:17 +08:00
<td><center> <img src = 'https://github.com/winterwindwang/Full-coverage-camouflage-adversarial-attack/blob/gh-pages/assets/distance_10_elevation_30_ori_pred.gif?raw=true'/></center></td>
2021-09-12 17:46:10 +08:00
<td><center> <img src = 'https://github.com/winterwindwang/Full-coverage-camouflage-adversarial-attack/blob/gh-pages/assets/distance_10_elevation_50_ori_pred.gif?raw=true'/></center></td>
2021-09-12 16:52:17 +08:00
</tr>
<tr>
2021-09-12 19:15:22 +08:00
<td>after</td>
2021-09-12 17:46:10 +08:00
<td><center><img src = 'https://github.com/winterwindwang/Full-coverage-camouflage-adversarial-attack/blob/gh-pages/assets/distance_10_elevation_30_adv_pred.gif?raw=true'/></center></td>
2021-09-12 16:52:17 +08:00
<td><center><img src = 'https://github.com/winterwindwang/Full-coverage-camouflage-adversarial-attack/blob/gh-pages/assets/distance_10_elevation_50_adv_pred.gif?raw=true'/></center></td>
2021-09-12 16:45:31 +08:00
</tr>
2021-09-12 16:54:51 +08:00
</table>
2021-09-13 09:35:21 +08:00
### Cases of Multi-view Attack
2021-09-12 16:33:38 +08:00
2021-09-12 17:46:10 +08:00
2021-09-12 17:39:58 +08:00
<table>
<tr>
2021-09-12 19:15:22 +08:00
<td>before</td>
2021-09-12 19:29:55 +08:00
<td><center> <img src = 'https://github.com/winterwindwang/Full-coverage-camouflage-adversarial-attack/blob/gh-pages/assets/camera_distance_1.5_elevation_0_6_ori.png?raw=true' width="100"/></center></td>
<td><center><img src = 'https://github.com/winterwindwang/Full-coverage-camouflage-adversarial-attack/blob/gh-pages/assets/camera_distance_1.5_elevation_0_42_ori.png?raw=true' width="100" /> </center></td>
<td><center><img src = 'https://github.com/winterwindwang/Full-coverage-camouflage-adversarial-attack/blob/gh-pages/assets/camera_distance_1.5_elevation_0_54_ori.png?raw=true' width="100" /> </center></td>
<td><center> <img src = 'https://github.com/winterwindwang/Full-coverage-camouflage-adversarial-attack/blob/gh-pages/assets/camera_distance_1.5_elevation_0_126_ori.png?raw=true' width="100" /> </center></td>
<td><center> <img src = 'https://github.com/winterwindwang/Full-coverage-camouflage-adversarial-attack/blob/gh-pages/assets/camera_distance_1.5_elevation_10_330_ori.png?raw=true' width="100" /> </center></td>
<td><center><img src = 'https://github.com/winterwindwang/Full-coverage-camouflage-adversarial-attack/blob/gh-pages/assets/camera_distance_1.5_elevation_20_78_ori.png?raw=true' width="100" /></center></td>
2021-09-12 17:39:58 +08:00
</tr>
<tr>
2021-09-12 19:15:22 +08:00
<td>after</td>
2021-09-12 19:29:55 +08:00
<td><center> <img src = 'https://github.com/winterwindwang/Full-coverage-camouflage-adversarial-attack/blob/gh-pages/assets/camera_distance_1.5_elevation_0_6_adv.png?raw=true' width="100" /></center></td>
<td><center><img src = 'https://github.com/winterwindwang/Full-coverage-camouflage-adversarial-attack/blob/gh-pages/assets/camera_distance_1.5_elevation_0_42_adv.png?raw=true' width="100" /> </center></td>
<td><center><img src = 'https://github.com/winterwindwang/Full-coverage-camouflage-adversarial-attack/blob/gh-pages/assets/camera_distance_1.5_elevation_0_54_adv.png?raw=true' width="100" /> </center></td>
<td><center> <img src = 'https://github.com/winterwindwang/Full-coverage-camouflage-adversarial-attack/blob/gh-pages/assets/camera_distance_1.5_elevation_0_126_adv.png?raw=true' width="100" /> </center></td>
<td><center> <img src = 'https://github.com/winterwindwang/Full-coverage-camouflage-adversarial-attack/blob/gh-pages/assets/camera_distance_1.5_elevation_10_330_adv.png?raw=true' width="100" /> </center></td>
<td><center><img src = 'https://github.com/winterwindwang/Full-coverage-camouflage-adversarial-attack/blob/gh-pages/assets/camera_distance_1.5_elevation_20_78_adv.png?raw=true' width="100" /></center></td>
2021-09-12 17:39:58 +08:00
</tr>
</table>
2021-09-12 17:46:10 +08:00
The first row is the original detection result. The second row is the camouflaged detection result.
<table>
<tr>
2021-09-12 19:15:22 +08:00
<td>before</td>
2021-09-12 19:29:55 +08:00
<td><center> <img src = 'https://github.com/winterwindwang/Full-coverage-camouflage-adversarial-attack/blob/gh-pages/assets/camera_distance_5_elevation_10_57_ori.png?raw=true' width="100" /></center></td>
<td><center><img src = 'https://github.com/winterwindwang/Full-coverage-camouflage-adversarial-attack/blob/gh-pages/assets/camera_distance_5_elevation_30_66_ori.png?raw=true' width="100" /> </center></td>
<td><center><img src = 'https://github.com/winterwindwang/Full-coverage-camouflage-adversarial-attack/blob/gh-pages/assets/camera_distance_10_elevation_0_135_ori.png?raw=true' width="100" /> </center></td>
<td><center> <img src = 'https://github.com/winterwindwang/Full-coverage-camouflage-adversarial-attack/blob/gh-pages/assets/camera_distance_10_elevation_20_177_ori.png?raw=true' width="100" /> </center></td>
<td><center> <img src = 'https://github.com/winterwindwang/Full-coverage-camouflage-adversarial-attack/blob/gh-pages/assets/camera_distance_15_elevation_20_330_ori.png?raw=true' width="100" /> </center></td>
<td><center><img src = 'https://github.com/winterwindwang/Full-coverage-camouflage-adversarial-attack/blob/gh-pages/assets/camera_distance_15_elevation_50_327_ori.png?raw=true' width="100" /></center></td>
2021-09-12 17:46:10 +08:00
</tr>
<tr>
2021-09-12 19:15:22 +08:00
<td>after</td>
2021-09-12 19:29:55 +08:00
<td><center> <img src = 'https://github.com/winterwindwang/Full-coverage-camouflage-adversarial-attack/blob/gh-pages/assets/camera_distance_5_elevation_10_57_adv.png?raw=true' width="100" /></center></td>
<td><center><img src = 'https://github.com/winterwindwang/Full-coverage-camouflage-adversarial-attack/blob/gh-pages/assets/camera_distance_5_elevation_30_66_adv.png?raw=true' width="100" /> </center></td>
<td><center><img src = 'https://github.com/winterwindwang/Full-coverage-camouflage-adversarial-attack/blob/gh-pages/assets/camera_distance_10_elevation_0_135_adv.png?raw=true' width="100"/> </center></td>
<td><center> <img src = 'https://github.com/winterwindwang/Full-coverage-camouflage-adversarial-attack/blob/gh-pages/assets/camera_distance_10_elevation_20_177_adv.png?raw=true' width="100" /> </center></td>
<td><center> <img src = 'https://github.com/winterwindwang/Full-coverage-camouflage-adversarial-attack/blob/gh-pages/assets/camera_distance_15_elevation_20_330_adv.png?raw=true' width="100" /> </center></td>
<td><center><img src = 'https://github.com/winterwindwang/Full-coverage-camouflage-adversarial-attack/blob/gh-pages/assets/camera_distance_15_elevation_50_327_adv.png?raw=true' width="100"/></center></td>
2021-09-12 17:46:10 +08:00
</tr>
</table>
2021-09-12 16:33:38 +08:00
2021-09-12 17:46:10 +08:00
The first row is the original detection result. The second row is the camouflaged detection result.
2021-09-12 16:33:38 +08:00
### Ablation study
#### Different combination of loss terms
2021-09-12 16:39:39 +08:00
<img src = 'https://github.com/winterwindwang/Full-coverage-camouflage-adversarial-attack/blob/gh-pages/assets/abaltion_study_loss.png?raw=true'/>
2021-09-12 16:40:56 +08:00
2021-09-13 09:35:21 +08:00
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.
2021-09-12 18:50:32 +08:00
#### Different initialization ways
2021-09-12 19:03:28 +08:00
<table>
<tr>
2021-09-12 19:11:46 +08:00
<td>original </td>
<td>basic initialization</td>
<td>random initialization</td>
<td>zero initialization</td>
2021-09-12 19:22:32 +08:00
</tr>
2021-09-12 19:11:46 +08:00
<tr>
2021-09-12 19:27:33 +08:00
<td><img src = 'https://github.com/winterwindwang/Full-coverage-camouflage-adversarial-attack/blob/gh-pages/assets/data13311_ori.png?raw=true' width="200" /></td>
<td><img src = 'https://github.com/winterwindwang/Full-coverage-camouflage-adversarial-attack/blob/gh-pages/assets/data13311_adv_basic.png?raw=true' width="200"/></td>
<td><img src = 'https://github.com/winterwindwang/Full-coverage-camouflage-adversarial-attack/blob/gh-pages/assets/data13311_adv_random.png?raw=true' width="200"/></td>
<td><img src = 'https://github.com/winterwindwang/Full-coverage-camouflage-adversarial-attack/blob/gh-pages/assets/data13311_adv_zero.png?raw=true' width="200"/></td>
2021-09-12 19:03:28 +08:00
</tr>
</table>