arthurdjn commited on
Commit
992a15f
·
verified ·
1 Parent(s): e07c8ce

Upload pointmlp-base.scanobjectnn.xu-ma

Browse files
Files changed (2) hide show
  1. README.md +108 -0
  2. model.safetensors +3 -0
README.md ADDED
@@ -0,0 +1,108 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: apache-2.0
3
+ library_name: torch-pointcloud
4
+ tags:
5
+ - point-cloud
6
+ - 3d
7
+ - pytorch
8
+ - torch-pointcloud
9
+ - pointmlp
10
+ - classification
11
+ datasets:
12
+ - scanobjectnn
13
+ model-index:
14
+ - name: pointmlp-base.scanobjectnn.xu-ma
15
+ results:
16
+ - task:
17
+ type: point-cloud-classification
18
+ dataset:
19
+ name: ScanObjectNN
20
+ type: scanobjectnn
21
+ metrics:
22
+ - name: OA
23
+ type: accuracy
24
+ value: 77.48
25
+ ---
26
+
27
+ # Model card for pointmlp-base.scanobjectnn.xu-ma
28
+
29
+ A PointMLP point cloud classification model (residual MLP with geometric affine grouping). Trained on ScanObjectNN.
30
+
31
+ ## Model Details
32
+
33
+ - **Model Type:** Point cloud classification
34
+ - **Model Stats:**
35
+ - Params (M): 13.2
36
+ - Input channels: 3
37
+ - Classes: 15
38
+ - Features: 1024
39
+ - **Dataset:** ScanObjectNN
40
+ - **Metrics:** OA 77.48 (reference 86.1)
41
+ - **Paper:** [Rethinking Network Design and Local Geometry in Point Cloud: A Simple Residual MLP Framework](https://arxiv.org/abs/2202.07123)
42
+ - **Converted from:** [ma-xu/pointMLP-pytorch](https://github.com/ma-xu/pointMLP-pytorch) (Apache-2.0)
43
+ - **Library:** [torch-pointcloud](https://github.com/arthurdjn/pytorch-pointcloud)
44
+
45
+ ## Install
46
+
47
+ ```bash
48
+ pip install torch-pointcloud
49
+ ```
50
+
51
+ ## Usage
52
+
53
+ ```python
54
+ import torch
55
+ import torch_pointcloud as tp
56
+ from torch_pointcloud.utils.data import collate
57
+
58
+ model, info = tp.create_model(
59
+ "pointmlp-base.scanobjectnn.xu-ma",
60
+ task="classification",
61
+ pretrained=True,
62
+ return_info=True,
63
+ )
64
+ model = model.eval()
65
+
66
+ # synthetic sample with the keys a dataset provides
67
+ num_points = 8192
68
+ sample = {
69
+ "pos": torch.randn(num_points, 3),
70
+ "normal": torch.randn(num_points, 3),
71
+ }
72
+ data = info["transform"](sample)
73
+ data = collate([data])
74
+
75
+ with torch.no_grad():
76
+ logits = model(data.get("x"), data["pos"], data["batch"])
77
+ ```
78
+
79
+ ## Feature extraction
80
+
81
+ ```python
82
+ with torch.no_grad():
83
+ embeddings = model.forward_features(data.get("x"), data["pos"], data["batch"])
84
+
85
+ model.reset_classifier(num_classes=0)
86
+ with torch.no_grad():
87
+ embeddings = model(data.get("x"), data["pos"], data["batch"]) # (B, 1024)
88
+ ```
89
+
90
+ ## Citation
91
+
92
+ ```bibtex
93
+ @inproceedings{ma2022pointmlp,
94
+ title = {Rethinking Network Design and Local Geometry in Point Cloud: A Simple Residual MLP Framework},
95
+ author = {Xu Ma and Can Qin and Haoxuan You and Haoxi Ran and Yun Fu},
96
+ booktitle = {ICLR},
97
+ year = {2022}
98
+ }
99
+ ```
100
+
101
+ ```bibtex
102
+ @inproceedings{uy2019scanobjectnn,
103
+ title = {Revisiting Point Cloud Classification: A New Benchmark Dataset and Classification Model on Real-World Data},
104
+ author = {Mikaela Angelina Uy and Quang-Hieu Pham and Binh-Son Hua and Duc Thanh Nguyen and Sai-Kit Yeung},
105
+ booktitle = {ICCV},
106
+ year = {2019}
107
+ }
108
+ ```
model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b7c547c647ef2ec7d32475498111cc243292d2ed039ed6217c623d3aef46f0f6
3
+ size 53101508