arthurdjn commited on
Commit
9b46bd8
·
verified ·
1 Parent(s): 3a29807

Upload pointnet2-ssg.modelnet40.xu-yan

Browse files
Files changed (2) hide show
  1. README.md +107 -0
  2. model.safetensors +3 -0
README.md ADDED
@@ -0,0 +1,107 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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-ssg.modelnet40.xu-yan
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: 92.3
25
+ ---
26
+
27
+ # Model card for pointnet2-ssg.modelnet40.xu-yan
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
+ - Classes: 40
37
+ - Features: 1024
38
+ - **Dataset:** ModelNet40
39
+ - **Metrics:** OA 92.3 (reference 92.0)
40
+ - **Paper:** [PointNet++: Deep Hierarchical Feature Learning on Point Sets in a Metric Space](https://arxiv.org/abs/1706.02413)
41
+ - **Converted from:** [yanx27/Pointnet_Pointnet2_pytorch](https://github.com/yanx27/Pointnet_Pointnet2_pytorch) (MIT)
42
+ - **Library:** [torch-pointcloud](https://github.com/arthurdjn/pytorch-pointcloud)
43
+
44
+ ## Install
45
+
46
+ ```bash
47
+ pip install torch-pointcloud
48
+ ```
49
+
50
+ ## Usage
51
+
52
+ ```python
53
+ import torch
54
+ import torch_pointcloud as tp
55
+ from torch_pointcloud.utils.data import collate
56
+
57
+ model, info = tp.create_model(
58
+ "pointnet2-ssg.modelnet40.xu-yan",
59
+ task="classification",
60
+ pretrained=True,
61
+ return_info=True,
62
+ )
63
+ model = model.eval()
64
+
65
+ # synthetic sample with the keys a dataset provides
66
+ num_points = 8192
67
+ sample = {
68
+ "pos": torch.randn(num_points, 3),
69
+ "normal": torch.randn(num_points, 3),
70
+ }
71
+ data = info["transform"](sample)
72
+ data = collate([data])
73
+
74
+ with torch.no_grad():
75
+ logits = model(data.get("x"), data["pos"], data["batch"])
76
+ ```
77
+
78
+ ## Feature extraction
79
+
80
+ ```python
81
+ with torch.no_grad():
82
+ embeddings = model.forward_features(data.get("x"), data["pos"], data["batch"])
83
+
84
+ model.reset_classifier(num_classes=0)
85
+ with torch.no_grad():
86
+ embeddings = model(data.get("x"), data["pos"], data["batch"]) # (B, 1024)
87
+ ```
88
+
89
+ ## Citation
90
+
91
+ ```bibtex
92
+ @inproceedings{qi2017pointnet2,
93
+ title = {PointNet++: Deep Hierarchical Feature Learning on Point Sets in a Metric Space},
94
+ author = {Charles R. Qi and Li Yi and Hao Su and Leonidas J. Guibas},
95
+ booktitle = {NeurIPS},
96
+ year = {2017}
97
+ }
98
+ ```
99
+
100
+ ```bibtex
101
+ @inproceedings{wu2015modelnet,
102
+ title = {3D ShapeNets: A Deep Representation for Volumetric Shapes},
103
+ author = {Zhirong Wu and Shuran Song and Aditya Khosla and Fisher Yu and Linguang Zhang and Xiaoou Tang and Jianxiong Xiao},
104
+ booktitle = {CVPR},
105
+ year = {2015}
106
+ }
107
+ ```
model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2918a414433179183218b32f81aa54c946717d1d4bcc160354ba8aff8bf176cd
3
+ size 5937600