# Contrastive Learning for Joint Normal Estimation and Point Cloud Filtering

arXiv: https://arxiv.org/abs/2208.06811 · HTML: https://mlsanity.com/paper/2208.06811/

## Key facts

- Cited by 12 papers in the map (data through 14 Oct 2026).
- Builds on 23 of its 63 references that are in the map.
- First posted on arXiv 14 Aug 2022.

## Builds on (most cited first, 23 of 23)

- [A Simple Framework for Contrastive Learning of Visual Representations](https://mlsanity.com/paper/2002.05709/) (2020)
- [PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation](https://mlsanity.com/paper/1612.00593/) (2016)
- [PointNet++: Deep Hierarchical Feature Learning on Point Sets in a Metric Space](https://mlsanity.com/paper/1706.02413/) (2017)
- [KITTI-360: A Novel Dataset and Benchmarks for Urban Scene Understanding in 2D and 3D](https://mlsanity.com/paper/2109.13410/) (2021)
- [PointContrast: Unsupervised Pre-training for 3D Point Cloud Understanding](https://mlsanity.com/paper/2007.10985/) (2020)
- [Exploring Data-Efficient 3D Scene Understanding with Contrastive Scene Contexts](https://mlsanity.com/paper/2012.09165/) (2020)
- [CrossPoint: Self-Supervised Cross-Modal Contrastive Learning for 3D Point Cloud Understanding](https://mlsanity.com/paper/2203.00680/) (2022)
- [PointCleanNet: Learning to Denoise and Remove Outliers from Dense Point Clouds](https://mlsanity.com/paper/1901.01060/) (2019)
- [PCPNET: Learning Local Shape Properties from Raw Point Clouds](https://mlsanity.com/paper/1710.04954/) (2017)
- [EC-Net: an Edge-aware Point set Consolidation Network](https://mlsanity.com/paper/1807.06010/) (2018)
- [Score-Based Point Cloud Denoising](https://mlsanity.com/paper/2107.10981/) (2021)
- [Point Cloud Upsampling via Disentangled Refinement](https://mlsanity.com/paper/2106.04779/) (2021)
- [Total Denoising: Unsupervised Learning of 3D Point Cloud Cleaning](https://mlsanity.com/paper/1904.07615/) (2019)
- [Self-Contrastive Learning with Hard Negative Sampling for Self-supervised Point Cloud Learning](https://mlsanity.com/paper/2107.01886/) (2021)
- [Pointfilter: Point Cloud Filtering via Encoder-Decoder Modeling](https://mlsanity.com/paper/2002.05968/) (2020)
- [Nesti-Net: Normal Estimation for Unstructured 3D Point Clouds using Convolutional Neural Networks](https://mlsanity.com/paper/1812.00709/) (2018)
- [Self-Supervised Pillar Motion Learning for Autonomous Driving](https://mlsanity.com/paper/2104.08683/) (2021)
- [DeepFit: 3D Surface Fitting via Neural Network Weighted Least Squares](https://mlsanity.com/paper/2003.10826/) (2020)
- [Deep Feature-preserving Normal Estimation for Point Cloud Filtering](https://mlsanity.com/paper/2004.11563/) (2020)
- [AdaFit: Rethinking Learning-based Normal Estimation on Point Clouds](https://mlsanity.com/paper/2108.05836/) (2021)
- [CoCoNets: Continuous Contrastive 3D Scene Representations](https://mlsanity.com/paper/2104.03851/) (2021)
- [Denoise and Contrast for Category Agnostic Shape Completion](https://mlsanity.com/paper/2103.16671/) (2021)
- [Neighbourhood-Insensitive Point Cloud Normal Estimation Network](https://mlsanity.com/paper/2008.09965/) (2020)

## Built on by (most cited first, 12 of 12)

- [Rethinking the Approximation Error in 3D Surface Fitting for Point Cloud Normal Estimation](https://mlsanity.com/paper/2303.17167/) (2023)
- [PCDNF: Revisiting Learning-based Point Cloud Denoising via Joint Normal Filtering](https://mlsanity.com/paper/2209.00798/) (2022)
- [StraightPCF: Straight Point Cloud Filtering](https://mlsanity.com/paper/2405.08322/) (2024)
- [SpeechAct: Towards Generating Whole-body Motion from Speech](https://mlsanity.com/paper/2311.17425/) (2023)
- [Deep Learning for 3D Point Cloud Enhancement: A Survey](https://mlsanity.com/paper/2411.00857/) (2024)
- [PFF-Net: Patch Feature Fitting for Point Cloud Normal Estimation](https://mlsanity.com/paper/2511.21365/) (2025)
- [Hybrid Long and Short Range Flows for Point Cloud Filtering](https://mlsanity.com/paper/2508.08542/) (2025)
- [Deep Learning For Point Cloud Denoising: A Survey](https://mlsanity.com/paper/2508.11932/) (2025)
- [A Survey of Deep Learning-based Point Cloud Denoising](https://mlsanity.com/paper/2508.17011/) (2025)
- [MambaH-Fit: Rethinking Hyper-surface Fitting-based Point Cloud Normal Estimation via State Space Modelling](https://mlsanity.com/paper/2510.09088/) (2025)
- [UGD: An Unsupervised Geometric Distance for Evaluating Real-world Noisy Point Cloud Denoising](https://mlsanity.com/paper/2604.16976/) (2026)
- [SIMPC: Learning Self-Induced Mirror-Point Consistency for Unsupervised Point Cloud Denoising](https://mlsanity.com/paper/2605.26894/) (2026)

## Abstract (arXiv)

Point cloud filtering and normal estimation are two fundamental research problems in the 3D field. Existing methods usually perform normal estimation and filtering separately and often show sensitivity to noise and/or inability to preserve sharp geometric features such as corners and edges. In this paper, we propose a novel deep learning method to jointly estimate normals and filter point clouds. We first introduce a 3D patch based contrastive learning framework, with noise corruption as an augmentation, to train a feature encoder capable of generating faithful representations of point cloud patches while remaining robust to noise. These representations are consumed by a simple regression network and supervised by a novel joint loss, simultaneously estimating point normals and displacements that are used to filter the patch centers. Experimental results show that our method well supports the two tasks simultaneously and preserves sharp features and fine details. It generally outperforms state-of-the-art techniques on both tasks. Our source code is available at https://github.com/ddsediri/CLJNEPCF.
