ModelsΒΆ
torch-pointcloud ships architectures for point cloud classification, semantic and part segmentation, object detection and self-supervised pretraining, behind one timm-style factory:
import torch_pointcloud as tp
model = tp.create_model("pointnext-sm.scanobjectnn-hardest.openpoints", pretrained=True)
tp.list_models(task="classification", pretrained=True) # or "semantic-segmentation", "detection", ...
Weights are downloaded from the Hugging Face Hub on first use and cached under ~/.cache/torch-pointcloud/models (TORCH_POINTCLOUD_CACHE_DIR moves the cache). Each checkpoint keeps the license of its source, listed on the task pages, and a few are restricted to non-commercial use: see THIRD_PARTY_NOTICES.md.

TasksΒΆ
-
One label per cloud: run, evaluate and fine-tune a classifier.
-
One label per point: voxelization, full-resolution predictions, mIoU.
-
Category-conditioned part labels and the ShapeNetPart protocol.
-
Oriented boxes: decode, filter with NMS, score with mAP.
-
The representation under the head: embeddings, retrieval, PCA.
ScoresΒΆ
Every pretrained checkpoint is evaluated with the protocol of its reference implementation. The plot compares the measured score with the published one, and each task page lists the numbers.
ArchitecturesΒΆ
ClassificationΒΆ
Best for shape classification (ModelNet40, ScanObjectNN, ShapeNet objects). Inputs are single object scans, outputs are scene-level class predictions.
SegmentationΒΆ
Best for dense per-point labeling (S3DIS, ScanNet, SemanticKITTI). Inputs are large scenes, outputs are per-point class predictions.
Part segmentationΒΆ
Best for object parts (ShapeNetPart). Inputs are single objects and their category, outputs are per-point part labels.
DetectionΒΆ
Predict 3D bounding boxes for indoor scenes (ScanNet, SUN RGB-D) or driving scenes (KITTI, nuScenes, Waymo).
Self-supervised pretrainingΒΆ
Backbones pretrained without labels, registered with task="pretraining"; the fine-tuned classification / segmentation heads are registered under their downstream task.