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

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for openpoints-0.1.2.tar.gz
Algorithm Hash digest
SHA256 3836108ea42531c734d9aaa049c06a780b0ea0c37a2080b3c97186185bb4fef8
MD5 fc2a76312a10b52387f2d2acc97f9328
BLAKE2b-256 dbb9898f3b1f778d125db7b2f5f3342e1154c29804c15aada915968ae9de5497

See more details on using hashes here.

File details

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

File metadata

  • Download URL: openpoints-0.1.2-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.12.13

File hashes

Hashes for openpoints-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 8e69040f3fb302abe0e8739b3800bb48785fcd9397f4424c16a0b16679c9053d
MD5 1bb95b5cc3c443e7350d02b0354c8276
BLAKE2b-256 eda757f0049342cf0871b0dad0c1a382a413a73b05cb5fa0820c8dd4bb7fbb50

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