arthurdjn commited on
Commit
047f78b
·
verified ·
1 Parent(s): b890a0a

Upload pointnext-lg.s3dis-area3.openpoints

Browse files
Files changed (2) hide show
  1. README.md +98 -0
  2. model.safetensors +3 -0
README.md ADDED
@@ -0,0 +1,98 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: mit
3
+ library_name: torch-pointcloud
4
+ tags:
5
+ - point-cloud
6
+ - 3d
7
+ - pytorch
8
+ - torch-pointcloud
9
+ - pointnext
10
+ - segmentation
11
+ datasets:
12
+ - s3dis
13
+ ---
14
+
15
+ # Model card for pointnext-lg.s3dis-area3.openpoints
16
+
17
+ A PointNeXt point cloud segmentation model (scaled PointNet++ with inverted residual blocks). Trained on S3DIS (Area 3).
18
+
19
+ ## Model Details
20
+
21
+ - **Model Type:** Point cloud semantic segmentation
22
+ - **Model Stats:**
23
+ - Params (M): 7.1
24
+ - Input channels: 4
25
+ - Classes: 13
26
+ - Features: 32
27
+ - **Dataset:** S3DIS (Area 3)
28
+ - **Paper:** [PointNeXt: Revisiting PointNet++ with Improved Training and Scaling Strategies](https://arxiv.org/abs/2206.04670)
29
+ - **Converted from:** [guochengqian/PointNeXt](https://github.com/guochengqian/PointNeXt) (MIT)
30
+ - **Library:** [torch-pointcloud](https://github.com/arthurdjn/pytorch-pointcloud)
31
+
32
+ ## Install
33
+
34
+ ```bash
35
+ pip install torch-pointcloud
36
+ ```
37
+
38
+ ## Usage
39
+
40
+ ```python
41
+ import torch
42
+ import torch_pointcloud as tp
43
+ from torch_pointcloud.utils.data import collate
44
+
45
+ model, info = tp.create_model(
46
+ "pointnext-lg.s3dis-area3.openpoints",
47
+ task="segmentation",
48
+ pretrained=True,
49
+ return_info=True,
50
+ )
51
+ model = model.eval()
52
+
53
+ # synthetic sample with the keys a dataset provides
54
+ num_points = 8192
55
+ sample = {
56
+ "pos": torch.randn(num_points, 3),
57
+ "color": torch.rand(num_points, 3) * 255,
58
+ "norm_pos": torch.rand(num_points, 3),
59
+ "segment": torch.zeros(num_points, dtype=torch.long),
60
+ "instance": torch.zeros(num_points, dtype=torch.long),
61
+ }
62
+ data = info["transform"](sample)
63
+ data = collate([data])
64
+
65
+ with torch.no_grad():
66
+ logits = model(data.get("x"), data["pos"], data["batch"])
67
+ ```
68
+
69
+ ## Feature extraction
70
+
71
+ ```python
72
+ with torch.no_grad():
73
+ features = model.forward_features(data.get("x"), data["pos"], data["batch"])
74
+
75
+ model.reset_classifier(num_classes=0)
76
+ with torch.no_grad():
77
+ features = model(data.get("x"), data["pos"], data["batch"]) # (N, 32)
78
+ ```
79
+
80
+ ## Citation
81
+
82
+ ```bibtex
83
+ @inproceedings{qian2022pointnext,
84
+ title = {PointNeXt: Revisiting PointNet++ with Improved Training and Scaling Strategies},
85
+ author = {Guocheng Qian and Yuchen Li and Houwen Peng and Jinjie Mai and Hasan Abed Al Kader Hammoud and Mohamed Elhoseiny and Bernard Ghanem},
86
+ booktitle = {NeurIPS},
87
+ year = {2022}
88
+ }
89
+ ```
90
+
91
+ ```bibtex
92
+ @inproceedings{armeni2016s3dis,
93
+ title = {{3D} Semantic Parsing of Large-Scale Indoor Spaces},
94
+ author = {Armeni, Iro and Sener, Ozan and Zamir, Amir R. and Jiang, Helen and Brilakis, Ioannis and Fischer, Martin and Savarese, Silvio},
95
+ booktitle = {CVPR},
96
+ year = {2016}
97
+ }
98
+ ```
model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:00f4c62a8a605cbe29334d4cc7c5e62528f1c90ef21e354e17528ad898fa54b0
3
+ size 28716628