Official implementation of: "Partial Points Segmenter: A Unified Framework for Partially Category-Supervised Point Cloud Segmentation" (Under Review)
Partial Points Segmenter (PPS) is a unified framework for partially category-supervised point cloud semantic segmentation, a practical setting where annotations are available only for user-relevant object categories while the remaining classes remain unlabeled or grouped as others. Unlike conventional fully or weakly supervised segmentation methods that assume coverage over the entire class space, PPS explicitly addresses the representation ambiguity, class imbalance, and prototype collapse induced by incomplete supervision. The framework replaces standard linear classifiers with dynamically updated foreground-aware class prototypes and introduces a multi-objective optimization strategy that combines prototype contrastive learning, dispersion regularization, and adaptive foreground-focused loss.
- Python 3.10
- CUDA 11.7
- PyTorch 1.13.1 (+cu117)
conda create -n pps python=3.10 -y
conda activate pps
pip install torch==1.13.1+cu117 torchvision==0.14.1+cu117 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu117
pip install -r requirements.txt
# Common utilities (if missing)
pip install ninja tqdm matplotlib scipy plyfile termcolor timm einops addict tensorboard tensorboardx sharedarray
pip install ftfy regex nni==2.10.1
pip install open3d==0.17
# Optional version pins for stability
pip install numpy==1.26.0
pip install yapf==0.32.0
# PyG (optional; binary compatibility is sensitive)
# If this fails, please install PyG following the official wheel instructions for your PyTorch+CUDA setup.
conda install pytorch-scatter pytorch-sparse pytorch-cluster -c pyg -y
pip install torch-geometric
# spconv (CUDA 11.7)
pip install spconv-cu117
# Build pointops
cd libs/pointops
python setup.py installDownload the three datasets:
-
WHU-Urban 3D, only mls-w data are used in this work;
python tools/train.py --config configs/urban3dmls/part-semseg-ptv3-pps.pypython tools/test.py --config-file exp/urban3dmls/part-semseg-ptv3-pps/config.py| Model | exp | log | weight |
|---|---|---|---|
| PTv3 | Link | Link | Link |
| PTv3 + PPS | Link | Link | Link |
- [2026.01] Code released
This repository builds upon the excellent open-source project Pointcept.
(Under Review)

