jiajingchen113322 / ViewNet

This is the implementation of ViewNet

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

A Novel Projection-Based Backbone with View Pooling for Few-shot Point Cloud Classification (CVPR2023)

This is the pytorch implementation of ViewNet.
For a quick learning, you could go to ./model/network.py directly. I incoporate several backbone and few-shot head into this code, as well as a simple example in it. Feel free to take a look. The ViewNet's Structure is shown below. You could refer to our paper for more detail.

Alt text

Arguments

Here are some required arugments you need to give

--exp_name: the experiment name you give  
--dataset: you could fill one of ['ScanObjectNN','ModeNet40','ModeNet40C'].  
--data_path: the path of the dataset  
--k_way: the number of classes.  
--n_shot: the number of shots.  
--query: the query number  
--fold: The fold number you select to perform testing, for k-fold-cross-validatoin.

ScanObjectNN

Data Obtaining

We use the point cloud without background for the experiment. You could download our preprocessed data directly from here for using, or you could download the raw data from this link, and put point cloud in different classes in different folder. The dataset folder structure shoule be like shown below:

DataSet  
│
└───0
│    |__0.npy
│    |__1.npy
│    |__2.npy
│   
└───1
    │__0.npy
    |__1.npy
    |__2.npy

Run Experiment

Run the following code:

python main.py --exp_name exp_scanobjectnn --dataset ScanObjectNN --data_path $path to DataSet$

Feel free to change the number of shot,query or fold.
Your experiment reult will be recorded in ./Exp/ScanObjectNN

ModelNet40

Data Obtaining

Similar to ScanObjectNN dataset, you could download our preprocessed data here, or you could download the raw data from here, and make it a structure like shown above in ScanObjectNN.

Run Experiment

Run the following code:

python main.py --exp_name exp_modelnet40 --dataset ModeNet40 --data_path $path to DataSet$

Your experiment reult will be recorded in ./Exp/ModelNet40

ModelNet40-C

Data Obatining

You could download our preprocessed data here, or you could download the raw data here and make it the stucture shown in ScanobjectNN part. We use the corruption type of "LiDAR", feel free to try different corruption type in raw dataset.

Run Experiment

python main.py --exp_name exp_modelnet40c --dataset ModeNet40C --data_path $path to DataSet$  

About

This is the implementation of ViewNet


Languages

Language:Python 100.0%