Skip to main content

OpenPoints: point cloud understanding models, layers, datasets, transforms, optimizers, and training utilities.

Project description

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},
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

openpoints-0.1.0.tar.gz (385.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

openpoints-0.1.0-py3-none-any.whl (334.4 kB view details)

Uploaded Python 3

File details

Details for the file openpoints-0.1.0.tar.gz.

File metadata

  • Download URL: openpoints-0.1.0.tar.gz
  • Upload date:
  • Size: 385.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for openpoints-0.1.0.tar.gz
Algorithm Hash digest
SHA256 f25ff5f7267145dd929486dce986243ed7eadbeac711aaf06d3483cc450e295c
MD5 8a32c5fecf36f0cc3c6129a52dbaed8a
BLAKE2b-256 73e684135fe9c6b8f0ea22f86f969d032c5d4e1bda9e5ed6af73e5e3ec848517

See more details on using hashes here.

File details

Details for the file openpoints-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: openpoints-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 334.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for openpoints-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c703fa0559c3652505352eabdcdf042293ccbaefeafc994173396c0e6e0175a4
MD5 6371f58b5c691475bdd6e8e9a086ebbf
BLAKE2b-256 96e7b2b3ff77262d699c994227230eed2a3d3bba9a6a1be925d85aec52da516d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page