Published April 2, 2025 | Version v2
Dataset Open

Artifacts from "Invisible but Detected: Physical Adversarial Shadow Attack and Defense on LiDAR Object Detection"

Description

README

This repository contains the data and code from our paper, "Invisible but Detected: Physical Adversarial Shadow Attack and Defense on LiDAR Object Detection," accepted to USENIX Security 2025.
We hope these resources will facilitate a deeper understanding of our research and support further exploration in this field.

Contents

Data

This repository provides various types of point cloud data used in our research. These datasets include both physical and simulation environments, as outlined below:

  • flat.zip:
    • Corresponds to Section 4 of the paper, it is point cloud data obtained in an environment free of surrounding objects, utilized for optimizing the shadow shape.
  • section5.zip:
    • Corresponds to Section 5 of the paper, containing measurement point clouds (pcd) for each Shadow Material placed at various distances from the LiDAR.
  • section6.x.zip:
    • Corresponds to Section 6 of the paper, including measurement point clouds (pcd) from all experiments (see below).
Overview of the experiments in Section 6:
  • Section 6.1: Evaluates the effective attack range and analyzes the impact of the distance between the Shadow Material and LiDAR on the attack success rate.
  • Section 6.2: Assesses the robustness of the attack against diverse surrounding environments (different scenes).
  • Section 6.3: Evaluates the impact of the attack on various object detection models (PointPillars, SECOND-IoU, PointRCNN).
  • Section 6.4: Analyzes the attack’s effect on different LiDAR sensors (OS1-64, VLS-128, Pandar 40P).
  • Section 6.5: Evaluates the impact of changes in the spatial relationship between the LiDAR and the Shadow Material.
  • Section 6.6: Verifies the feasibility of the attack in real-world scenarios.

Code

To support the replication and further development of our research, we will provide the code used in our simulations and for replicating the Shadow Hack. 
The code includes components such as scripts for simulation setup, attack evaluation, and defense evaluation, as outlined below:

  • optimization.py:
    • Optimization code for Shadow Material shapes running on OpenPCDet (Python).
  • defense.py:
    • Code for BBValidator running on OpenPCDet (Python).
  • TrapezoidPlane.cs, texture_intensity.png, shadow_ws:
  • Code for reproducing Shadow Material (materials not detectable by LiDAR) in AWSIM (C#), ROS2 node (Python).

Demo

All point cloud data used in the experiments throughout the paper are stored in the /SectionXX folder, which corresponds to the subsection numbers in our paper. These folders contain all the point cloud data collected during the experiments described in each subsection. All data are in a binary format compliant with the KITTI dataset.

These data can be used to obtain inference results by inputting them into OpenPCDet following the steps below.

Requirements

  • Ubuntu 20.04 or 22.04
  • Python 3.6+
  • PyTorch 1.1 or higher
  • CUDA 9.0 or higher
  • spconv v1.0 (commit 8da6f96) or spconv v1.2 or spconv v2.x

(Our Setup)

  • Ubuntu 20.04
  • Pytorch 2.3.1
  • CUDA 12.4
  • spconv 2.3.6

Install OpenPCDet

Follow this document.
    https://github.com/open-mmlab/OpenPCDet/blob/master/docs/INSTALL.md

  1. Clone the repository.
    git clone https://github.com/open-mmlab/OpenPCDet.git
  2. Move to the directory.
    cd OpenPCDet
  3. Install pcdet libraly.
    python3 setup.py develop
  4. 4. Install Open3D
    pip3 install open3d

Download Models

Download models from OpenPCDet repository.
    https://github.com/open-mmlab/OpenPCDet/tree/master?tab=readme-ov-file#model-zoo

Get Results

  1. Move to the directory.
    cd OpenPCDet/tools
  2. Run the inference.
    python3 demo.py --cfg_file cfgs/kitti_models/{MODEL NAME}.yaml --ckpt {DOWNLOADED MODEL} --data_path {POINT_CLOUD_DATA}

 

Optimizing Shadow Shape & BBValidator Demo

The optimization.py and defense.py files in the code folder work with OpenPCDet. Complete the setup as described in the Demo section, and move optimization.py and defense.py to OpenPCDet/tools.

Optimizing Shadow Shape

  1. Download flat/0.bin. This is a point cloud data collected in an empty environment for optimization purposes.
  2. Run the optimization
    python3 optimize.py --cfg_file cfgs/kitti_models/{MODEL NAME}.yaml --ckpt {DOWNLOADED MODEL} --data_path "~/data/flat/0.bin"

BBValidator Demo

Similar to the Demo section, you can run the inference to perform it with the defense method enabled. You can specify $N_{thresh}$ and $dh$ as options.
python3 defense.py --cfg_file cfgs/kitti_models/{MODEL NAME}.yaml --ckpt {DOWNLOADED MODEL} --data_path {POINT_CLOUD_DATA} --threshold 8 --dh 0.05

 

Shadow Hack Simulation on AWSIM

With the steps described so far, you can reproduce the results of the paper. However, if you wish to conduct similar simulation experiments using AWSIM, please follow the steps below.

AWSIM Setup

Following below tutorial, set up a AWSIM Unity project.
    https://tier4.github.io/AWSIM/GettingStarted/SetupUnityProject/

Shadow Material Setup

  1. Create a 3D object plane in the AWSIM environment.
  2. Attach texture_intensity.png and TrapezoidPlane.cs on the plane.
  3. In new terminal, download shadow_ws and build it runnining this command.
    colcon build
  4. Run this command.
    source install/setup.bash
  5. Run this command.
    ros2 run point_cloud_filter point_cloud_filter_node
  6. Run your AWSIM project. You can get point clouds on the ROS2 topic /sensing/lidar/top/pointcloud_raw.

Files

code.zip

Files (10.8 GB)

Name Size Download all
md5:d541392e025e17e66149145853e5c1ae
12.9 kB Preview Download
md5:74e33bdeb2d0bae37d25a8db05026a80
317.4 kB Preview Download
md5:e68d7d477ed0b936b09504d5c1c7d306
8.2 GB Preview Download
md5:f76d4e3a04eebb0fbb8e427973ee559a
179.1 MB Preview Download
md5:5b9fd3dbbad33d69b8ecf0b78d62233e
777.0 MB Preview Download
md5:cf118d5b6e08f430aab19a86a77bcf34
932.1 MB Preview Download
md5:90f79d94bccef4c5b7d4dde513dac343
536.5 MB Preview Download
md5:172cae9979a1a58b9b52c3151fb20739
178.6 MB Preview Download