torch-points3d/torch-points3d

Pytorch framework for doing deep learning on point clouds.

What it solves

torch-points3d is a framework designed to simplify the process of running and benchmarking common deep learning models for point cloud analysis. It provides a high-level API to make deep learning on 3D point clouds more accessible, ensuring that complex models can be built with minimal effort and high reproducibility.

How it works

Built on top of PyTorch Geometric and Facebook Hydra, the framework organizes models and datasets by task. It supports a wide range of 3D analysis tasks including classification, semantic segmentation, object detection, panoptic segmentation, and registration.

Key technical capabilities include:

  • Sparse Convolution Support: Integration with Minkowski Engine and torchsparse for efficient 3D convolutions.
  • Pretrained Registry: A system to easily share, upload to WandB, and recreate pre-trained models for fine-tuning or production.
  • Modular Architecture: A split between core components, datasets, metrics, and models, allowing users to assemble custom networks using provided modules.

Who it’s for

Researchers and developers working with 3D computer vision and point cloud data who need a standardized environment to implement, train, and evaluate state-of-the-art 3D deep learning architectures.

Highlights

  • Extensive Model Library: Implements numerous architectures such as PointNet, PointNet++, RandLA-Net, KPConv, and VoteNet.
  • HuggingFace-like Experience: The PretrainedRegistry allows downloading and using pre-trained weights and transforms with just a few lines of code.
  • Broad Dataset Support: Includes built-in support for benchmarks like ScanNet, S3DIS, ShapeNet, and ModelNet.
  • Mixed Precision Training: Supports float16 operations via the torchsparse backend to reduce GPU memory usage and increase speed.

Related

  • Project
  • Project
  • Project
  • Project