Skip to content

Official repository for paper "Enhancing 3D Point Cloud Classification with ModelNet-R and Point-SkipNet"

Notifications You must be signed in to change notification settings

m-saeid/ModeNetR_PointSkipNet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

76 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Enhancing 3D Point Cloud Classification with ModelNet-R and Point-SkipNet

Homepage

Official implementation of the paper "Enhancing 3D Point Cloud Classification with ModelNet-R and Point-SkipNet",

accepted as an Oral presentation at IPRIA 2025 🔥


The paper will be available soon...

image info

Prerequisites

The latest codes are tested on:

  • Ubuntu 22.04.3 LTS, NVIDIA GeForce RTX 2080 Ti, CUDA 12.0, PyTorch 2.1.1+cu121 and Python 3.10.12
  • Ubuntu 22.04.5 LTS, NVIDIA GeForce RTX 3080 Ti, CUDA 12.2, PyTorch 1.13.1+cu117 and Python 3.10.12

Data

Place the following datasets in the data folder.

  • data/modelnet40_normal_resampled
  • data/modelnet40_ply_hdf5_2048

The "modelnet40_normal_resampled" dataset will be converted to "modelnetR_normal_resampled" and the h5 format of the dataset will be created after executing the code related to creating the dataset that follows. If you need the information of the modelnet40_normal_resampled folder, be sure to make a backup copy. because the content of this folder will change and Modelnet40 will be converted to ModelnetR.

Inconsistency in ModelNet40 Method Performance

The performance of nearly all methods on ModelNet40 lacks consistency, as indicated by (CVMI-Lab/PAConv#9 (comment)(https://github.com/CVMI-Lab/PAConv/issues/9#issuecomment-873371422)). Running the same codes multiple times yields varying results, even with a fixed seed.

Creating ModelNet-R

cd Creating_ModelNet-R
h5=false bash creat_modelnetR.sh  # if you dont need h5 format of modelnet-R (To run Point-SkipNet code, it is not necessary to generate h5 format.)
h5=true bash creat_modelnetR.sh   # if you need h5 format of modelnet-R

The modelnet-R dataset is created using the modelnet40_normal_resampled dataset, so if you need to recreate the refined dataset(modelnet-R), you must put the modelnet40_normal_resampled dataset in the data folder.

Train

Train Point-SkipNet from scratch using:

cd Point-SkipNet
dataset="modelnetR" bash run_train.sh   # To train on the refined dataset(modeletR)
dataset="modelnet" bash run_train.sh    # To train on the original dataset(modelnet)

Test

Test Point-SkipNet with checkpoint using:

cd Point-SkipNet
dataset="modelnetR" bash run_test.sh   # To test on the refined dataset(modeletR)
dataset="modelnet" bash run_test.sh    # To test on the original dataset(modelnet)
  • on the refined dataset(modeletR) >>> Test Instance Accuracy: 0.948759, Class Accuracy: 0.937396
  • on the original dataset(modelnet) >>> Test Instance Accuracy: 0.915210, Class Accuracy: 0.900735

The results of the models trained on the ModelNet-R dataset


Model OA mAcc Param(M)
PointNet 91.39 88.79 3.47
PointNet++ (ssg) 94.02 92.40 1.47
PointNet++ (msg) 94.06 91.80 1.74
Point-NN 84.75 77.65 0
DG-CNN 94.03 92.64 1.8
CurveNet 94.12 92.65 2.04
PointMLP 95.33 94.30 12.6
Point-SkipNet(proposed) 94.33 92.93 1.47


Citation

If you are interested in this work, please cite as below:

@modenetr{aaaa2025,
author={names},
title={Enhancing 3D Point Cloud Classification with ModelNet-R and Point-SkipNet},
booktitle={Ipria},
year={2025}
}

Acknowledgements

This project builds upon the foundation of excellent prior work from the research community. Key contributions include:

We recognize and appreciate the efforts of these original authors and contributors, without whom this project would not have been possible.

Releases

No releases published

Packages

No packages published