All Projects → cuge1995 → PointCutMix

cuge1995 / PointCutMix

Licence: MIT license
our code for paper 'PointCutMix: Regularization Strategy for Point Cloud Classification'

Programming Languages

python
139335 projects - #7 most used programming language
Cuda
1817 projects
c
50402 projects - #5 most used programming language
C++
36643 projects - #6 most used programming language

Projects that are alternatives of or similar to PointCutMix

Point2Mesh
Meshing Point Clouds with Predicted Intrinsic-Extrinsic Ratio Guidance (ECCV2020)
Stars: ✭ 61 (+45.24%)
Mutual labels:  point-cloud, 3d-deep-learning
awesome-point-cloud-deep-learning
Paper list of deep learning on point clouds.
Stars: ✭ 39 (-7.14%)
Mutual labels:  point-cloud, 3d-deep-learning
volumentations
Augmentation package for 3d data based on albumentaitons
Stars: ✭ 26 (-38.1%)
Mutual labels:  point-cloud, data-augmentation
mrnet
Building an ACL tear detector to spot knee injuries from MRIs with PyTorch (MRNet)
Stars: ✭ 98 (+133.33%)
Mutual labels:  data-augmentation
ldgcnn
Linked Dynamic Graph CNN: Learning through Point Cloud by Linking Hierarchical Features
Stars: ✭ 66 (+57.14%)
Mutual labels:  point-cloud
SpareNet
Style-based Point Generator with Adversarial Rendering for Point Cloud Completion (CVPR 2021)
Stars: ✭ 118 (+180.95%)
Mutual labels:  point-cloud
SnapMix
SnapMix: Semantically Proportional Mixing for Augmenting Fine-grained Data (AAAI 2021)
Stars: ✭ 127 (+202.38%)
Mutual labels:  data-augmentation
Scan2Cap
[CVPR 2021] Scan2Cap: Context-aware Dense Captioning in RGB-D Scans
Stars: ✭ 81 (+92.86%)
Mutual labels:  point-cloud
superpose3d
register 3D point clouds using rotation, translation, and scale transformations.
Stars: ✭ 34 (-19.05%)
Mutual labels:  point-cloud
pointcloud viewer
No description or website provided.
Stars: ✭ 16 (-61.9%)
Mutual labels:  point-cloud
UnsupervisedPointCloudReconstruction
Experiments on unsupervised point cloud reconstruction.
Stars: ✭ 133 (+216.67%)
Mutual labels:  point-cloud
SGGpoint
[CVPR 2021] Exploiting Edge-Oriented Reasoning for 3D Point-based Scene Graph Analysis (official pytorch implementation)
Stars: ✭ 41 (-2.38%)
Mutual labels:  point-cloud
specAugment
Tensor2tensor experiment with SpecAugment
Stars: ✭ 46 (+9.52%)
Mutual labels:  data-augmentation
machine learning course
Artificial intelligence/machine learning course at UCF in Spring 2020 (Fall 2019 and Spring 2019)
Stars: ✭ 47 (+11.9%)
Mutual labels:  data-augmentation
CAPRICEP
An extended TSP (Time Stretched Pulse). CAPRICEP substantially replaces FVN. CAPRICEP enables interactive and real-time measurement of the linear time-invariant, the non-linear time-invariant, and random and time varying responses simultaneously.
Stars: ✭ 23 (-45.24%)
Mutual labels:  data-augmentation
ChineseNER
中文NER的那些事儿
Stars: ✭ 241 (+473.81%)
Mutual labels:  data-augmentation
attMPTI
[CVPR 2021] Few-shot 3D Point Cloud Semantic Segmentation
Stars: ✭ 118 (+180.95%)
Mutual labels:  point-cloud
MinkLocMultimodal
MinkLoc++: Lidar and Monocular Image Fusion for Place Recognition
Stars: ✭ 65 (+54.76%)
Mutual labels:  point-cloud
Displaz.jl
Julia bindings for the displaz lidar viewer
Stars: ✭ 16 (-61.9%)
Mutual labels:  point-cloud
advchain
[Medical Image Analysis] Adversarial Data Augmentation with Chained Transformations (AdvChain)
Stars: ✭ 32 (-23.81%)
Mutual labels:  data-augmentation

PointCutMix: Regularization Strategy for Point Cloud Classification

Created by Zhang, Jinlai and Chen, Lyujie and Ouyang, Bo and Liu, Binbin and Zhu, Jihong and Chen, Yujing and Meng, Yanmei and Wu, Danfeng.

ratio

Introduction

We propose a simple and effective augmentation method for the point cloud data, named PointCutMix, you can also check out paper for more information.

samples

PointCutMix finds the optimal assignment between two point clouds and generates new training data by replacing the points in one sample with their optimal assigned pairs. Two replacement strategies are proposed to adapt to the accuracy or robustness requirement for different tasks, one of which is to randomly select all replacing points while the other one is to select k nearest neighbors of a single random point. Both strategies consistently and significantly improve the performance of various models on point cloud classification problems. By introducing the saliency maps to guide the selection of replacing points, the performance further improves. Moreover, PointCutMix is validated to enhance the model robustness against the point attack. It is worth noting that when using as a defense method, our method outperforms the state-of-the-art defense algorithms.

In this repository, we release the code and data for training PointCutMix-K and PointCutMix-R for classification tasks on the ModelNet40 dataset.

News

  • The recent work 'Benchmarking Robustness of 3D Point Cloud Recognition against Common Corruptions' validated that PointCutMix-R is robust to "noise" corruptions and performed best in this benchmark, please checkout.

Citation

if you find our work useful in your research, please consider citing:

@article{zhang2022pointcutmix,
  title={Pointcutmix: Regularization strategy for point cloud classification},
  author={Zhang, Jinlai and Chen, Lyujie and Ouyang, Bo and Liu, Binbin and Zhu, Jihong and Chen, Yujin and Meng, Yanmei and Wu, Danfeng},
  journal={Neurocomputing},
  year={2022},
  publisher={Elsevier}
}

Installation

The code has been tested with Python 3.6, PyTorch 1.3.1 and CUDA 10.0 on Ubuntu 16.04.

pip install -r requirements.txt

You can also install torch using conda as suggested in this issue

conda install pytorch-gpu=1.3.1 torchvision cudatoolkit=10.0 -c pytorch

Usage

Data Preparation

Firstly, you should download the ModelNet40 dataset.

wget https://shapenet.cs.stanford.edu/media/modelnet40_normal_resampled.zip

# change the path of data at line 144 in train_pointcutmix_k.py
DATA_PATH = '/home/your_pc_name/data/modelnet40_normal_resampled/'

Compile

Compile our extension modules:

cd emd
python3 setup.py install

Train Model

To train the PointCutMix-K and PointCutMix-R:

# PointCutMix-K
python train_pointcutmix_k.py --model dgcnn_kcutmix # or pointnet2_kcutmix, pointnet_kcutmix, rscnn_kcutmix
# or
CUDA_VISIBLE_DEVICES=0,1 python train_pointcutmix_k.py --model pointnet2_kcutmix

# PointCutMix-R
python train_pointcutmix_r.py --model dgcnn_rcutmix # or pointnet2_rcutmix, pointnet_rcutmix, rscnn_rcutmix

Licence

Our code is released under MIT License (see LICENSE file for details).

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].