Pointcept  by Pointcept

Point cloud perception codebase for research

created 2 years ago
2,336 stars

Top 19.9% on sourcepulse

GitHubView on GitHub
Project Summary

Pointcept is a comprehensive Python codebase designed for point cloud perception research, offering implementations of state-of-the-art models and pre-training techniques. It caters to researchers and engineers working on 3D computer vision tasks, providing a unified framework to accelerate development and experimentation with point cloud data.

How It Works

Pointcept employs a modular architecture, allowing users to easily integrate and experiment with various point cloud processing backbones (e.g., Point Transformers, SparseUNets, OA-CNNs) and perception tasks like semantic and instance segmentation. It supports multiple advanced pre-training strategies, including Masked Scene Contrast (MSC) and Point Prompt Training (PPT), enabling robust representation learning from large-scale datasets. The codebase emphasizes efficient data handling and flexible configuration for training and evaluation.

Quick Start & Requirements

  • Installation: Recommended via conda env create -f environment.yml --verbose followed by conda activate pointcept-torch2.5.0-cu12.4. Manual installation involves setting up a Python 3.10+ environment with PyTorch 1.10.0+ and CUDA 11.3+.
  • Prerequisites: Ubuntu 18.04+, CUDA 11.3+, PyTorch 1.10.0+. Specific models may require additional libraries like spconv, torch-geometric, CLIP, MinkowskiEngine, ocnn, dwconv, and Swin3D.
  • Data Preparation: Extensive scripts are provided for preprocessing popular datasets like ScanNet, S3DIS, SemanticKITTI, nuScenes, and Waymo. Preprocessed data can also be downloaded.
  • Documentation: Quick Start, Model Zoo, and detailed dataset preprocessing instructions are available.

Highlighted Details

  • Official implementations for multiple CVPR-highlighted papers including Sonata, PTv3, PPT, and MSC.
  • Supports a wide array of point cloud backbones (SparseUNet, Point Transformer v1/v2/v3, OA-CNNs, OctFormer, Swin3D) and segmentation methods (PointGroup, CAC).
  • Features advanced pre-training frameworks like MSC and PPT for improved representation learning.
  • Includes detailed scripts for training, resuming training, and testing, with support for TensorBoard and Weights & Biases integration.

Maintenance & Community

The project is actively developed, with recent updates and releases tied to major conference paper acceptances (CVPR'25, CVPR'24, NeurIPS'22, AAAI'23). Community interaction channels are not explicitly listed in the README.

Licensing & Compatibility

The repository does not explicitly state a license. Users should verify licensing for commercial use or integration into closed-source projects.

Limitations & Caveats

  • The README does not specify a license, which may impact commercial adoption.
  • Some advanced features like FlashAttention for PTv3 require specific CUDA versions (>= 11.6).
  • Memory requirements for certain models (e.g., original PTv2) can exceed 24GB, though optimized modes are provided.
Health Check
Last commit

1 month ago

Responsiveness

1 week

Pull Requests (30d)
1
Issues (30d)
15
Star History
259 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.