https://github.com/cgcl-codes/unlearnablepc

Official code for the NeurIPS 2024 paper "Unlearnable 3D Point Clouds: Class-wise Transformation Is All You Need"

https://github.com/cgcl-codes/unlearnablepc

Science Score: 23.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: arxiv.org, scholar.google
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.4%) to scientific vocabulary

Keywords

3d-point-cloud unlearnable-examples
Last synced: 5 months ago · JSON representation

Repository

Official code for the NeurIPS 2024 paper "Unlearnable 3D Point Clouds: Class-wise Transformation Is All You Need"

Basic Info
  • Host: GitHub
  • Owner: CGCL-codes
  • License: mit
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 774 KB
Statistics
  • Stars: 3
  • Watchers: 5
  • Forks: 1
  • Open Issues: 0
  • Releases: 0
Topics
3d-point-cloud unlearnable-examples
Created over 1 year ago · Last pushed over 1 year ago
Metadata Files
Readme License

README.md

UnlearnablePC

The official implementation of our NeurIPS 2024 paper "Unlearnable 3D Point Clouds: Class-wise Transformation Is All You Need", by Xianlong Wang, Minghui Li, Wei Liu, Hangtao Zhang, Shengshan Hu, Yechao Zhang, Ziqi Zhou, and Hai Jin.

NeurIPS 2024 Unlearnable Examples 3D Point Clouds

Abstract

Traditional unlearnable strategies have been proposed to prevent unauthorized users from training on the 2D image data. With more 3D point cloud data containing sensitivity information, unauthorized usage of this new type data has also become a serious concern. To address this, we propose the first integral unlearnable framework for 3D point clouds including two processes: (i) we propose an unlearnable data protection scheme, involving a class-wise setting established by a category-adaptive allocation strategy and multi-transformations assigned to samples; (ii) we propose a data restoration scheme that utilizes class-wise inverse matrix transformation, thus enabling authorized-only training for unlearnable data. This restoration process is a practical issue overlooked in most existing unlearnable literature, i.e., even authorized users struggle to gain knowledge from 3D unlearnable data. Both theoretical and empirical results (including 6 datasets, 16 models, and 2 tasks) demonstrate the effectiveness of our proposed unlearnable framework.

Latest Update

| Date | Event | |------------|----------| | 2024/10/21 | We have released the official implementation of UnlearnablePC! | | 2024/10/07 | The paper (arXiv version) is available at UnlearnablePC!| | 2024/09/26 | UnlearnablePC is acccepted by NeurIPS 2024! |

Start Running UnlearnablePC

  • Get code shell git clone https://github.com/CGCL-codes/UnlearnablePC.git

  • Build environment shell cd UnlearnablePC conda create -n UnlearnablePC python=3.9 conda activate UnlearnablePC pip install -r requirements.txt

  • Download datasets

    • Please download ModelNet dataset at: [ModelNet], ShapeNetPart dataset at: [ShapeNetPart], ScanObjectNN dataset at: [ScanObjectNN], S3DIS dataset at: S3DIS
    • Unzip the datasets.zip files in UnlearnablePC/clean_data
  • Produce unlearnable 3D point cloud datasets

    • Using UMT (k=4) with default settings and parameters (robust unlearnable dataset) shell python UnlearnablePC_generation.py --dataset ModelNet10 --mode "['rot', 'scale', 'twist', 'shear']"
    • Using UMT (k=3) with default settings and parameters (robust unlearnable dataset) shell python UnlearnablePC_generation.py --dataset ModelNet10 --mode "['rot', 'scale', 'twist']"
    • Using UMT (k=2) with default settings and parameters (fragile to SE(3)-invariance networks) shell python UnlearnablePC_generation.py --dataset ModelNet10 --mode "['rot', 'scale']"
  • Training on UMT datasets (i.e., unlearnable datasets) shell python train.py --dataset ModelNet10 --target_model pointnet_cls --UMTK 3

  • Training on clean datasets (i.e., raw 3D point cloud datasets) shell python train.py --dataset ModelNet10 --target_model pointnet_cls --clean_train

  • Employing the data restoration scheme to UMT data (for authorized users) shell python reverse_train.py --dataset ModelNet10 --target_model pointnet_cls --mode "['rot', 'scale', 'twist']"

BibTex

If you find UnlearnablePC both interesting and helpful, please consider citing us in your research or publications: bibtex @inproceedings{wang2024unlearnable, title={Unlearnable 3D Point Clouds: Class-wise Transformation Is All You Need}, author={Wang, Xianlong and Li, Minghui and Liu, Wei and Zhang, Hangtao and Hu, Shengshan and Zhang, Yechao and Zhou, Ziqi and Jin, Hai}, booktitle={Proceedings of the 38th Annual Conference on Neural Information Processing Systems (NeurIPS'24)}, year={2024} }

Owner

  • Name: CGCL-codes
  • Login: CGCL-codes
  • Kind: organization

CGCL/SCTS/BDTS Lab

GitHub Events

Total
  • Watch event: 4
  • Push event: 5
  • Fork event: 2
Last Year
  • Watch event: 4
  • Push event: 5
  • Fork event: 2

Dependencies

requirements.txt pypi
  • numpy ==1.26.4
  • pandas ==2.2.2
  • scikit-learn ==1.5.0
  • torch ==2.3.0
  • tqdm ==4.66.4