Pure PyTorch PointNet++ that quietly beats the original
A clean PyTorch reimplementation of PointNet and PointNet++ that outperforms the official releases on standard benchmarks and has become a base for dozens of follow-up papers.

What it does
This repository provides a from-scratch PyTorch implementation of PointNet and PointNet++, the two foundational architectures for deep learning on unordered 3D point clouds. It covers the standard trifecta of point cloud tasks—classification on ModelNet, part segmentation on ShapeNet, and semantic segmentation on S3DIS—complete with training scripts, pre-trained checkpoints, and segmentation visualizers.
The interesting bit
The port does not just replicate the originals; the README reports slightly higher accuracy than the official releases on several benchmarks, including 92.8% on ModelNet40 classification versus the official 91.9%. It has also become a surprisingly influential workhorse: major subsequent papers such as PointConv, Point Cloud Transformer, and Stratified Transformer all built directly on this codebase.
Key highlights
- Pure PyTorch model code with no custom CUDA layers required for the core networks
- Pre-trained models released for classification, part segmentation, and semantic segmentation
- Supports CPU-only training, offline data preprocessing, and optional uniform sampling
- Includes visualization utilities for segmentation outputs via MeshLab or a bundled 3D ball renderer
- Explicitly cited and extended by multiple CVPR, ECCV, and AAAI projects
Caveats
- The documented test environment is dated (Ubuntu 16.04, CUDA 10.1, PyTorch 1.6), so expect friction on modern hardware.
- The bundled
show3d_balls.pyvisualizer requires compiling a small C++ extension, despite the “pure python” billing of the models.
Verdict
Grab this if you need a hackable, well-validated PyTorch baseline for point cloud research or prototyping. Look elsewhere if you need turnkey production pipelines or state-of-the-art numbers beyond the classic PointNet family.
Frequently asked
- What is yanx27/Pointnet_Pointnet2_pytorch?
- A clean PyTorch reimplementation of PointNet and PointNet++ that outperforms the official releases on standard benchmarks and has become a base for dozens of follow-up papers.
- Is Pointnet_Pointnet2_pytorch open source?
- Yes — yanx27/Pointnet_Pointnet2_pytorch is open source, released under the MIT license.
- What language is Pointnet_Pointnet2_pytorch written in?
- yanx27/Pointnet_Pointnet2_pytorch is primarily written in Python.
- How popular is Pointnet_Pointnet2_pytorch?
- yanx27/Pointnet_Pointnet2_pytorch has 4.9k stars on GitHub.
- Where can I find Pointnet_Pointnet2_pytorch?
- yanx27/Pointnet_Pointnet2_pytorch is on GitHub at https://github.com/yanx27/Pointnet_Pointnet2_pytorch.