Skip to main content

OpenPoints

OpenPoints is a library built for fairly benchmarking and easily reproducing point-based methods for point cloud understanding. It is born in the course of PointNeXt project and is used as an engine therein.

For any question related to OpenPoints, please open an issue in PointNeXt repo.

OpenPoints currently supports reproducing the following models:

  • PointNet
  • DGCNN
  • DeepGCN
  • PointNet++
  • ASSANet
  • PointMLP
  • PointNeXt
  • Pix4Point
  • PointVector

Features

  1. Extensibility: supports many representative networks for point cloud understanding, such as PointNet, DGCNN, DeepGCN, PointNet++, ASSANet, PointMLP, and our PointNeXt. More networks can be built easily based on our framework since OpenPoints support a wide range of basic operations including graph convolutions, self-attention, farthest point sampling, ball query, e.t.c.

  2. Ease of Use: Build model, optimizer, scheduler, loss function, and data loader easily from cfg. Train and validate different models on various tasks by simply changing the cfg\*\*.yaml file.

    model = build_model_from_cfg(cfg.model)
    criterion = build_criterion_from_cfg(cfg.criterion_args)
    

Installation

OpenPoints can be installed as the openpoints Python package:

pip install openpoints

The PyPI package installs the Python library (import openpoints) and the files needed by the datasets and configs. CUDA/C++ operators such as pointnet2_batch_cuda, pointops_cuda, chamfer, and emd_cuda are still built from a source checkout or source distribution for now because PyTorch/CUDA wheels must match the user's Python, PyTorch, CUDA, and platform versions.

For full training/evaluation with CUDA ops, install from source after installing PyTorch:

git clone --recursive https://github.com/guochengqian/openpoints.git
cd openpoints
pip install -e .[data,viz,wandb]
cd cpp/pointnet2_batch && python setup.py install && cd ../..
cd cpp/pointops && python setup.py install && cd ../..
cd cpp/chamfer_dist && python setup.py install && cd ../..
cd cpp/emd && python setup.py install && cd ../..

If the openpoints name is unavailable on a package index mirror, the same code can be published as openpoints-torch; the import name remains openpoints.

Usage

OpenPoints serves as the engine for PointNeXt. Please refer to PointNeXt for complete training, evaluation, and model-zoo examples.

Citation

If you use this library, please kindly acknowledge our work:

@Article{qian2022pointnext,
  author  = {Qian, Guocheng and Li, Yuchen and Peng, Houwen and Mai, Jinjie and Hammoud, Hasan and Elhoseiny, Mohamed and Ghanem, Bernard},
  title   = {PointNeXt: Revisiting PointNet++ with Improved Training and Scaling Strategies},
  journal = {arXiv:2206.04670},
  year    = {2022},
}

Metadata

Release files for openpoints 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for openpoints 0.1.2
File Size Uploaded
openpoints-0.1.2.tar.gz 385.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for openpoints 0.1.2
File Interpreter ABI Platform
openpoints-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 720.2 kB

Release files / openpoints-0.1.2.tar.gz

Download URL openpoints-0.1.2.tar.gz
Size 385.9 kB
Tags Source
SHA-256 checksum
How to use checksums
3836108ea42531c734d9aaa049c06a780b0ea0c37a2080b3c97186185bb4fef8
BLAKE2b-256 checksum
How to use checksums
dbb9898f3b1f778d125db7b2f5f3342e1154c29804c15aada915968ae9de5497
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release files / openpoints-0.1.2-py3-none-any.whl

Download URL openpoints-0.1.2-py3-none-any.whl
Size 334.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8e69040f3fb302abe0e8739b3800bb48785fcd9397f4424c16a0b16679c9053d
BLAKE2b-256 checksum
How to use checksums
eda757f0049342cf0871b0dad0c1a382a413a73b05cb5fa0820c8dd4bb7fbb50
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page