
OpenPointCloud是国内外首个以点云深度学习算法为主要研究方向的开源算法库,覆盖了点云压缩、处理、分析等主要研究领域,汇集了多个经典算法,并对各算法提供了多个深度学习框架的代码支持,也对各算法的性能进行了基线测试和对比分析。对点云开源算法库的研究,能降低点云算法的研究门槛,鼓励开源,为学术研究提供便利,推动了点云领域算法的发展与进步。
序号 |
类别 |
名称 |
框架 |
链接 |
1 |
点云压缩 |
Pcc_geo_cnn_v1 |
TensorFlow & PyTorch |
Code |
2 |
点云压缩 |
PCGCv1 |
TensorFlow & PyTorch & TensorLayer |
Code |
3 |
点云压缩 |
Pcc_geo_cnn_v2 |
TensorFlow & PyTorch |
Code |
4 |
点云压缩 |
PCGCv2 |
PyTorch |
Code |
5 |
点云压缩 |
Pcc_attr_folding |
TensorFlow & TensorLayer |
Code |
6 |
点云压缩 |
NGS |
PyTorch |
Code |
7 |
点云压缩 |
VoxelDNN |
TensorFlow & TensorLayer |
Code |
8 |
点云压缩 |
MSVoxelDNN |
PyTorch & TensorLayer |
Code |
9 |
点云压缩 |
NNCTX |
PyTorch & TensorFlow |
Code |
10 |
点云压缩 |
OctAttention |
PyTorch & TensorFlow |
Code |
11 |
点云压缩 |
Post-Processing |
PyTorch & TensorFlow |
Code |
12 |
点云处理 |
SAPCU |
TensorFlow & PyTorch |
Code |
13 |
点云处理 |
PUNet |
TensorFlow & PyTorch |
Code |
14 |
点云处理 |
ECNet |
TensorLayer& PyTorch |
Code |
15 |
点云处理 |
PCN |
TensorFlow & PyTorch |
Code |
16 |
点云处理 |
PUGAN |
TensorFlow & PyTorch |
Code |
17 |
点云处理 |
PUGCN |
TensorLayer& PyTorch |
Code |
18 |
点云处理 |
SPU |
PyTorch |
Code |
19 |
点云处理 |
OPM |
TensorFlow |
Code |
20 |
点云分析 |
PCSOD |
PyTorch |
Code |
21 |
点云分析 |
PointManifold |
TensorFlow & PyTorch |
Code |
22 |
点云分析 |
PointNet |
TensorFlow & PyTorch |
Code |
23 |
点云分析 |
PointNet++ |
TensorFlow & PyTorch |
Code |
24 |
点云分析 |
DGCNN |
TensorFlow & PyTorch |
Code |
Contact and References
Coordinator: Asst. Prof. Wei Gao (Shenzhen Graduate School, Peking University)
Should you have any suggestions for better constructing this open source library, please contact the coordinator via Email: gaowei262@pku.edu.cn. We welcome more participants to submit your codes to this collection, and you can send your OpenI ID to the above Email address to obtain the accessibility.
Please also kindly remember to cite the following references in your publications:
References:
[1] Wei Gao, Hua Ye, Ge Li, Huiming Zheng, Yuyang Wu, Liang Xie, “OpenPointCloud: An Open-Source Algorithm Library of Deep Learning Based Point Cloud Compression,” ACM International Conference on Multimedia (ACM MM), 2022.
[2] Yongchi Zhang, Wei Gao, Ge Li, “OpenPointCloud-V2: A Deep Learning Based Open-Source Algorithm Library of Point Cloud Processing,” Proceedings of the 1st International Workshop on Advances in Point Cloud Compression, Processing and Analysis (APCCPA) at ACM MM, 2022.
[3] Songlin Fan, Wei Gao, Ge Li, “Salient Object Detection for Point Clouds,” European Conference on Computer Vision (ECCV), 2022.
[4] Dinghao Yang, Wei Gao, Hui Yuan, Junhui Hou, Ge Li, Sam Kwong, “3D Point Cloud Classification via Exploiting Efficient Manifold Learning Based Feature Representation,” ACM Transactions on Multimedia Computing, Communications, and Applications (TOMM), 2022.
[5] Zhuangzi Li, Ge Li, Thomas Li, Shan Liu, Wei Gao, “Semantic Point Cloud Upsampling,” IEEE Transactions on Multimedia (TMM), 2022.
[6] Chunyang Fu, Ge Li, Rui Song, Wei Gao, Shan Liu, “OctAttention: Octree-based Large-scale Contexts Model for Point Cloud Compression,” AAAI Conference on Artificial Intelligence (AAAI), 2022.
[7] Xiaoqing Fan, Ge Li, Dingquan Li, Yurui Ren, Wei Gao, Thomas H. Li, “Deep Geometry Post-Processing for Decompressed Point Clouds,” IEEE International Conference on Multimedia and Expo (ICME), 2022.
etc.
List of Contributors
Contributors:
Asst. Prof. Wei Gao (Shenzhen Graduate School, Peking University)
Prof. Ge Li (Shenzhen Graduate School, Peking University)
Mr. Hua Ye (Peng Cheng Laboratory)
Mr. Yongchi Zhang (Peng Cheng Laboratory)
Mr. Yu Deng (Peng Cheng Laboratory)
Ms. Ruonan Zhang (Shenzhen Graduate School, Peking University)
Mr. Zhuangzi Li (Shenzhen Graduate School, Peking University)
Mr. Songlin Fan (Shenzhen Graduate School, Peking University)
Ms. Xiaoqing Fan (Shenzhen Graduate School, Peking University)
Mr. Chunyang Fu (Shenzhen Graduate School, Peking University)
Mr. Dinghao Yang (Shenzhen Graduate School, Peking University)
Mr. Qi Zhang (Shenzhen Graduate School, Peking University & Peng Cheng Laboratory) and AVS Point Cloud Compression (PCC) Standard Team
etc.
Table of Content
1 Point Cloud Compression
1.1 Lossy Compression
1.1.1 pcc_geo_cnn_v1 (by Hua Ye)
1.1.2 PCGCv1 (by Hua Ye)
1.1.3 pcc_geo_cnn_v2 (by Hua Ye)
1.1.4 PCGCv2 (by Hua Ye)
1.1.5 pcc_attr_folding (by Hua Ye)
1.1.6 NGS (by Yu Deng)
1.2 Lossless Compression
1.2.1 VoxelDNN (by Hua Ye)
1.2.2 MSVoxelDNN (by Hua Ye)
1.2.3 NNCTX (by Hua Ye)
1.2.4 OctAttention (by Chunyang Fu)
1.3 Post-Processing (by Xiaoqing Fan)
1.4 Datasets (by Hua Ye)
2 Point Cloud Processing
2.1 SAPCU (by Yongchi Zhang)
2.2 PUNet (by Yongchi Zhang)
2.3 ECNet (by Yongchi Zhang)
2.4 PCN (by Yongchi Zhang)
2.5 PUGAN (by Yongchi Zhang)
2.6 PUGCN (by Yongchi Zhang)
2.7 SPU (by Zhuangzi Li)
2.8 OPM (by Ruonan Zhang)
3 Point Cloud Analysis
3.1 PCSOD (by Songlin Fan)
3.2 PointManifold (by Dinghao Yang, Yu Deng)
3.3 PointNet (by Yongchi Zhang)
3.4 PointNet++ (by Yongchi Zhang)
3.5 DGCNN (by Yu Deng)
4 AVS Point Cloud Compression (PCC) Standard
4.1 AVS-PCC-PCRM (by AVS PCC Standard Team)
Point Cloud Compression, Processing and Analysis
OpenPointCloud is An Open-Source Point Cloud Algorithm Library based on Deep Learning. We collect the algorithms on the area of point cloud compression, process, and analysis. For these methods, we introduce their principles and contributions, as well as provide source codes implemented with different deep learning programming frameworks, such as TensorFlow, Pytorch and TensorLayer. We also conduct a comprehensive benchmarking test to systematically evaluate the performances of all these methods. We provide analyses and comparisons of their performances according to their categories and draw constructive conclusions.
1 Point Cloud Compression

Figure 1: Chronological overview and publishers of the state-of-the-art point cloud compression (PCC) methods.
1.1 Lossy Compression
1.1.1 pcc_geo_cnn_v1 (by Hua Ye)
- ICIP 2019, geometry compression.
- It is the first work to combine arithmetic coding with convolutional neural
network (CNN) and makes entropy coding applicable in PCC.
- Code in the framework of tensorflow & pytorch are provided.
- For more information, please go to pcc_geo_cnn_v1.

Figure 2: Network structure of pcc_geo_cnn_v1
1.1.2 PCGCv1 (by Hua Ye)
- TCSVT 2021, geometry compression.
- Similar to pcc_geo_cnn_v1, PCGCv1 also uses the 3D convolutional auto-encoder and arithmetic coding in its network, and it makes improvements on many aspects. It uses Voxception-ResNet-based blocks for analysis and synthesis transform to make network deeper and avoid gradient vanishing in training. It also introduces hyper-prior network and a Laplacian function to better study the probability distributions.
- Code in the framework of tensorflow & pytorch & tensorlayer are provided.
- For more information, please go to PCGCv1.
1.1.3 pcc_geo_cnn_v2 (by Hua Ye)
- MMSP 2020, geometry compression.
- Based on pcc_geo_cnn_v1, improvements on 5 aspects are made on pcc_geo_cnn_v2, and ablation tests are carried out accordingly to clearly know the effectiveness of each improvement.
- Code in the framework of tensorflow & pytorch are provided.
- For more information, please go to pcc_geo_cnn_v2.

Figure 3: Network structure of pcc_geo_cnn_v2/PCGCv1. The main difference of the two methods is that the hyper prior network of PCGCv1 provides both μ and σ, while pcc_geo_cnn_v2 only provides σ.
1.1.4 PCGCv2 (by Hua Ye)
- DCC 2021, geometry compression.
- PCGCv2 is upgraded from PCGCv1. It introduces Inception-Residual Network (IRN) unit, uses the multi-scale strategy, and applies sparse convolutions mechanism.
- Code in the framework of pytorch is provided.
- For more information, please go to PCGCv2.

Figure 4: Network structure of PCGCv2.
1.1.5 pcc_attr_folding (by Hua Ye)
- ICIP 2020, attribute compression.
- It proposes a method to map 3D coordinates into 2D grids through overfitting deep learning, which makes it possible to encode point cloud attributes with conventional 2D image codec.
- Code in the framework of tensorflow & tensorlayer are provided.
- For more information, please go to pcc_attr_folding.

Figure 5: Proposed system of pcc_attr_folding.
1.1.6 NGS (by Yu Deng)
- ICIP 2021, geometry compression.
- Compressing point cloud geometry (PCG) efficiently is of great interests for enabling abundant networked applications, because PCG is a promising representation to precisely illustrate arbitrary-shaped 3D objects and relevant physical scenes. To well exploit the unconstrained geometric correlation of input PCG, a three-step neural graph sampling (NGS) is developed.
- Code in the framework of Pytorch is provided.
- For more information, please go to NGS.
1.2 Lossless Compression
1.2.1 VoxelDNN (by Hua Ye)
- ICASSP 2021, geometry compression.
- It applies a deep generative model which contains masked convolutions to approximate the occupancy probability for arithmetic coding.
- Code in the framework of tensorflow & tensorlayer are provided.
- For more information, please go to VoxelDNN.

Figure 6: Working flow of VoxelDNN
1.2.2 MSVoxelDNN (by Hua Ye)
- ICMEW 2021, geometry compression.
- It leverages multi-scale structures which encodes the subblocks in a course-to-fine order. Using the multi-scale structures, it avoids high time complexity problem generated by voxel-by-voxel decoding.
- Code in the framework of pytorch & tensorlayer are provided.
- For more information, please go to MSVoxelDNN.

Figure 7: Working flow of MSVoxelDNN
1.2.3 NNCTX (by Hua Ye)
- MMSP 2021, geometry compression.
- It designs a coding process that realizes efficient decoding and avoids doing it voxel-by-voxel like VoxelDNN.
- Code in the framework of pytorch & tensorflow are provided.
- For more information, please go to NNCTX.

Figure 8: Working flow of NNCTX
1.2.4 OctAttention (by Chunyang Fu)
- AAAI 2022, geometry compression.
- It combines octree and transformer together to predict the distribution for entropy coding. As octree structure consumes less space than voxelization, the performance of OctAttention is state-of-the-art on compression rate by far.
- Code in the framework of pytorch & tensorflow are provided.
- For more information, please go to OctAttention.

Figure 9: Working flow of OctAttention
1.3 Post-Processing (by Xiaoqing Fan)
- ICME 2022.
- It can improve the quality of the point cloud after reconstruction from compression of different scales. The network is formed by a series of down-sample and up-sample convolutional modules to effectively study the geometry feature of point clouds.
- Code in the framework of pytorch & tensorflow are provided.
- For more information, please go to Post-Process.

Figure 10: The architecture of the post-process model. We first split the point cloud into cubes. Then the neural network is used to predict the occupancy probability for each voxel. Finally, we obtain the refined point clouds based on the predicted probabilities.
1.4 Datasets (by Hua Ye)
In order to train or test the model of these methods, we usually use 3 publicly available datasets: 8i voxelized full bodies version 2(8iVFBv2), Microsoft voxelized upper bodies (MVUB), and Owlii dynamic human mesh. These PC files cover different bit widths and scales of point numbers. For more details, please go to PCC_benchmark_testsets.
2 Point Cloud Processing

Figure 1: The overview of our collected point cloud processing methods.
2.1 SAPCU (by Yongchi Zhang)
- CVPR 2022, point cloud upsamping.
- It proposes a new point cloud sampling method based on implicit neural representation, which can realize self-supervision and arbitrary scale sampling at the same time.
- Code in Tensorflow is provided.
- For more information, please go to SAPCU.
2.2 PUNet (by Yongchi Zhang)
- CVPR 2018, point cloud upsamping.
- It proposes a data-driven point cloud sampling method. Its core idea is to learn the multi-level features of each point, and implicitly expand the point set through the multi branch convolution unit in the feature space.
- Code in PyTorch is provided.
- For more information, please go to PUNet.
2.3 ECNet (by Yongchi Zhang)
- ECCV 2018, point cloud upsamping.
- It is an improved network proposed on the basis of PUNet, aiming to solve the problem that punet cannot detect edges
on the point cloud of regular objects, which causes uneven corners and edges of objects and irregular fluctuation.
- Code in Tensorlayer is provided.
- For more information, please go to ECNet.
2.4 PCN (by Yongchi Zhang)
- 3DV 2018, point cloud completion.
- It designs a novel network architecture to generate dense and complete point cloud by the coarse to fine strategy..
- Code in PyTorch is provided.
- For more information, please go to PCN.
2.5 PUGAN (by Yongchi Zhang)
- ICCV 2019, point cloud upsamping.
- It proposes a solution of GAN framework to deal with the upsampling task on the point cloud.
- Code in PyTorch is provided.
- For more information, please go to PUGAN.
2.6 PUGCN (by Yongchi Zhang)
- CVPR 2021, point cloud upsamping.
- It considers that the effectiveness of the point up-sampling pipeline largely depends on the upsampling module and feature extractor used therein.
- Code in Tensorlayer is provided.
- For more information, please go to PUGCN.
2.7 SPU (by Zhuangzi Li)
- TMM 2022, Semantic Point Cloud Upsampling.
- For more information, please go to SPU.
2.8 OPM (by Ruonan Zhang)
- ACM MM 2020, Onion Peeling Mask for Point Cloud Completion.
- W. Yan, R. Zhang et al., “Vaccine-style-net: Point cloud completion in implicit continuous function space,” ACM International Conference on Multimedia, pp. 2067–2075, 2020.
- For more information, please go to OPM.
3 Point Cloud Analysis
3.1 PCSOD (by Songlin Fan)
- ECCV 2022, Salient Object Detection for Point Clouds.
- It introduces PCSOD, the first dataset proposed for point cloud SOD consisting of 2,872 in-/out-door 3D views. It also contributes a baseline model and benchmark five representative models for comprehensive comparisons. The proposed model can effectively analyze irregular and unordered points for detecting salient objects.
- Code in PyTorch is provided.
- For more information, please go to PCSOD.
3.2 PointManifold (by Dinghao Yang, Yu Deng)
- ArXiv 2020, PointManifold: Using Manifold Learning for Point Cloud Classification (https://arxiv.org/abs/2010.07215).
- It explores three traditional manifold algorithms (i.e., Isomap, Locally-linear embedding and Laplacian eigenmaps) in detail, and finally it selects the Locally-linear embedding (LLE) algorithm due to its low complexity and locality consistency preservation.
- Code in Tensorflow and PyTorch is provided.
- For more information, please go to PointManifold-PyTorch, PointManifold-TensorFlow.
3.3 PointNet (by Yongchi Zhang)
- CVPR 2017, point cloud classification.
- It proposes a network to deal with irregular point clouds.
- Code in Pytorch is provided.
- For more information, please go to PointNet.
3.4 PointNet++ (by Yongchi Zhang)
- NIPS 2017, point cloud classification.
- The network is designed with the combination of local neighborhood sampling representation and multi-level encoder-decoder network structure.
- Code in Pytorch is provided.
- For more information, please go to PointNet++
3.5 DGCNN (by Yu Deng)
- TOG 2019, point cloud classification.
- It proposes a new neural network module dubbed EdgeConv suitable for CNN-based high-level tasks on point clouds, including classification and segmentation.
- Code in Tensorflow is provided.
- For more information, please go to DGCNN.
4 AVS Point Cloud Compression (PCC) Standard
4.1 AVS-PCC-PCRM (by AVS PCC Standard Team)