arthurdjn commited on
Commit
bb68fda
·
verified ·
1 Parent(s): adfd4d1

Upload pointnet2.modelnet40.openpoints

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: mit
3
+ library_name: torch-pointcloud
4
+ tags:
5
+ - point-cloud
6
+ - 3d
7
+ - pytorch
8
+ - torch-pointcloud
9
+ - pointnet2
10
+ - classification
11
+ datasets:
12
+ - modelnet40
13
+ model-index:
14
+ - name: pointnet2.modelnet40.openpoints
15
+ results:
16
+ - task:
17
+ type: point-cloud-classification
18
+ dataset:
19
+ name: ModelNet40
20
+ type: modelnet40
21
+ metrics:
22
+ - name: OA
23
+ type: accuracy
24
+ value: 91.9
25
+ ---
26
+
27
+ # Model card for pointnet2.modelnet40.openpoints
28
+
29
+ A PointNet++ point cloud classification model (hierarchical set abstraction). Trained on ModelNet40.
30
+
31
+ ## Model Details
32
+
33
+ - **Model Type:** Point cloud classification
34
+ - **Model Stats:**
35
+ - Params (M): 1.5
36
+ - Input channels: 3
37
+ - Classes: 40
38
+ - Features: 1024
39
+ - **Dataset:** ModelNet40
40
+ - **Metrics:** OA 91.9 (reference 93.0)
41
+ - **Paper:** [PointNet++: Deep Hierarchical Feature Learning on Point Sets in a Metric Space](https://arxiv.org/abs/1706.02413)
42
+ - **Converted from:** [guochengqian/PointNeXt](https://github.com/guochengqian/PointNeXt) (MIT)
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
+ "pointnet2.modelnet40.openpoints",
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{qi2017pointnet2,
94
+ title = {PointNet++: Deep Hierarchical Feature Learning on Point Sets in a Metric Space},
95
+ author = {Charles R. Qi and Li Yi and Hao Su and Leonidas J. Guibas},
96
+ booktitle = {NeurIPS},
97
+ year = {2017}
98
+ }
99
+ ```
100
+
101
+ ```bibtex
102
+ @inproceedings{wu2015modelnet,
103
+ title = {3D ShapeNets: A Deep Representation for Volumetric Shapes},
104
+ author = {Zhirong Wu and Shuran Song and Aditya Khosla and Fisher Yu and Linguang Zhang and Xiaoou Tang and Jianxiong Xiao},
105
+ booktitle = {CVPR},
106
+ year = {2015}
107
+ }
108
+ ```
model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0917e4c40c49e93892ebbafab1a5936258435e49ba648989b5d6b19077abe756
3
+ size 5938368