Pointcept
Perceive the world with sparse points, a codebase for point cloud perception research. Latest works: Concerto (NeurIPS'25), Sonata (CVPR'25 Highlight), PTv3 (CVPR'24 Oral)
PTv3, Sonata, Concerto 등을 통합 지원하는 point cloud perception 연구 프레임워크
Implementations
It is also an official implementation of the following paper:
- 🚀 Utonia - Toward One Encoder for All Point Clouds
- Concerto - Joint 2D-3D Self-Supervised Learning Emerges Spatial Representations
- Sonata - Self-Supervised Learning of Reliable Point Representations
- Point Transformer V3 - Simpler, Faster, Stronger
- OA-CNNs - Omni-Adaptive Sparse CNNs for 3D Semantic Segmentation
- Towards Large-scale 3D Representation Learning with Multi-dataset Point Prompt Training
- Masked Scene Contrast - A Scalable Framework for Unsupervised 3D Representation Learning
- Learning Context-aware Classifier for Semantic Segmentation (3D Part)
- Point Transformer V2 - Grouped Vector Attention and Partition-based Pooling
- Point Transformer
Additionally, Pointcept integrates the following excellent work (contain above):
- Backbone: MinkUNet, SpUNet, SPVCNN, OACNNs, PTv1, PTv2, PTv3, StratifiedFormer, OctFormer, Swin3D
- Semantic Segmentation: Mix3d, CAC
- Instance Segmentation: PointGroup
- Pre-training: PointContrast, Contrastive Scene Contexts, Masked Scene Contrast, Point Prompt Training, Sonata, Concerto
- Datasets: ScanNet, ScanNet200, ScanNet++, S3DIS, ArkitScene, HM3D, Matterport3D, Structured3D, SemanticKITTI, nuScenes, ModelNet40, Waymo
Requirements
- Ubuntu: 18.04 and above.
- CUDA: 11.3 and above.
- PyTorch: 1.10.0 and above.
uv 초기화 방법
내가 conda 계열을 싫어함. 그래서 uv로 설정한다.
System prerequisites
- CUDA 12.4 toolkit + cuDNN (명령행에서 nvcc 를 실행할 수 있게 셋팅 하자)
- gcc-13 / g++-13
- libsparsehash-dev (
apt install libsparsehash-dev) - uv python version: 3.10
requirements.cu124.txt
requirements.cu124.txt 파일을 만들고 다음과 같이 추가한다:
--extra-index-url https://download.pytorch.org/whl/cu124
# PyTorch (CUDA 12.4)
torch==2.5.0
torchvision==0.20.0
torchaudio==2.5.0
# PyG (CUDA 12.4)
--find-links https://data.pyg.org/whl/torch-2.5.0+cu124.html
torch-cluster
torch-scatter
torch-sparse
torch-geometric
# spconv (SparseUNet)
spconv-cu124
# Core
ninja
h5py
pyyaml
sharedarray
tensorboard
tensorboardx
wandb
yapf
addict
einops
scipy
plyfile
termcolor
timm
# CLIP
ftfy
regex
tqdm
clip @ git+https://github.com/openai/CLIP.git
# Optional
open3d
uv-install-cu124.sh
설치 스크립트:
#!/bin/bash
set -e
PYTHON_VERSION="3.10"
VENV_DIR=".venv"
echo "=== Pointcept GPU (CUDA 12.4) Installation ==="
# Check system prerequisites
echo "[1/5] Checking system prerequisites..."
if ! command -v nvcc &> /dev/null; then
echo "WARNING: nvcc not found. CUDA toolkit may not be installed."
echo " Install: conda install nvidia/label/cuda-12.4.1::cuda conda-forge::cudnn -y"
echo " Or: https://developer.nvidia.com/cuda-12-4-1-download-archive"
read -p "Continue anyway? [y/N] " -r
[[ $REPLY =~ ^[Yy]$ ]] || exit 1
fi
if ! dpkg -s libsparsehash-dev &> /dev/null 2>&1; then
echo "WARNING: libsparsehash-dev not found."
echo " Install: sudo apt install libsparsehash-dev"
read -p "Continue anyway? [y/N] " -r
[[ $REPLY =~ ^[Yy]$ ]] || exit 1
fi
# Create virtual environment
if [ ! -d "$VENV_DIR" ]; then
echo "[2/5] Creating virtual environment (Python $PYTHON_VERSION)..."
uv venv --python "$PYTHON_VERSION"
else
echo "[2/5] Virtual environment already exists, skipping..."
fi
# Activate
source "$VENV_DIR/bin/activate"
# Install dependencies
echo "[3/5] Installing Python dependencies..."
uv pip install -r requirements.cu124.txt
# Build C++ extensions
echo "[4/5] Building pointops..."
cd libs/pointops
python setup.py install
cd ../..
# Verify
echo "[5/5] Verifying installation..."
python -c "
import torch
print(f'PyTorch {torch.__version__}')
print(f'CUDA available: {torch.cuda.is_available()}')
if torch.cuda.is_available():
print(f'CUDA version: {torch.version.cuda}')
print(f'GPU: {torch.cuda.get_device_name(0)}')
"
echo "=== Installation complete ==="
echo "Run 'source $VENV_DIR/bin/activate' to activate the environment."
See also
- Point Cloud
- PTv3
- Sonata
- Concerto
- point cloud perception
- 3d-vision
- AIWeldingRobot:Basic
- SpConv - Spatially Sparse Convolution Library
- PyG
- libsparsehash-dev