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.1.tar.gz (385.6 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.1-py3-none-any.whl (334.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: openpoints-0.1.1.tar.gz
  • Upload date:
  • Size: 385.6 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.1.tar.gz
Algorithm Hash digest
SHA256 20789cddac5201fe7588d5b5798f7b89c72123be2a6c67cc730d6f0ea22bf4ad
MD5 b8ee8be4c42a905de8c725074524ac36
BLAKE2b-256 177ec99733360b148b7269feb4d0fa8ef5329b6dfe5529002ef2f6b12f2c9ebe

See more details on using hashes here.

File details

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

File metadata

  • Download URL: openpoints-0.1.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5583f4d31b07e979a21af2c7b8b472c8b8ce36269f6cf378ed53ee3603b27c0a
MD5 7e739f3fe81308901e4508c409264e66
BLAKE2b-256 16d2f046db170e95bd3ae1f3187c2ea8ab0193d633e141a42128938504d62bb2

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