Your 3D point cloud is just probability distributions all the way down
It generates 3D point clouds by learning a nested hierarchy of continuous normalizing flows: one distribution over shapes, and another over the points that fill them.

What it does
PointFlow is a PyTorch implementation of an ICCV 2019 paper that synthesizes 3D point clouds using continuous normalizing flows. It treats point clouds as a distribution of distributions—first sampling a shape, then sampling the points that make it up—which allows it to generate an arbitrary number of points per object. The invertibility of the flows enables exact likelihood computation, so the model trains variationally and can both create new shapes and reconstruct old ones without supervision.
The interesting bit
Most generative models output a fixed vector of coordinates and call it a day. PointFlow instead frames a point cloud as a nested random process: pick a shape from one flow, then keep drawing points from another until you have enough. This makes the model resolution-agnostic and sidesteps the brittleness of treating point sets as ordered sequences.
Key highlights
- Hierarchical generation with separate shape-level and point-level continuous normalizing flows
- Supports sampling an arbitrary number of points per shape thanks to the distribution-of-distributions design
- Achieves state-of-the-art generation performance according to the authors’ empirical results
- Includes pretrained models and evaluation scripts for ShapeNet categories
- Learns unsupervised representations useful for reconstruction
Caveats
- Dependency list pins PyTorch 1.0.1 and CUDA 10.0, so expect some environment archaeology on modern hardware
- Point cloud rendering utilities live in a separate repository
- ModelNet dataset must be requested from the authors directly
Verdict
Worth a look if you research generative 3D vision or need a baseline for point cloud synthesis. Skip it if you need something that runs out of the box on current PyTorch versions.
Frequently asked
- What is stevenygd/PointFlow?
- It generates 3D point clouds by learning a nested hierarchy of continuous normalizing flows: one distribution over shapes, and another over the points that fill them.
- Is PointFlow open source?
- Yes — stevenygd/PointFlow is open source, released under the MIT license.
- What language is PointFlow written in?
- stevenygd/PointFlow is primarily written in Python.
- How popular is PointFlow?
- stevenygd/PointFlow has 867 stars on GitHub.
- Where can I find PointFlow?
- stevenygd/PointFlow is on GitHub at https://github.com/stevenygd/PointFlow.