# Deep Point Cloud Normal Estimation via Triplet Learning

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

## Key facts

- Cited by 4 papers in the map (data through 14 Oct 2026).
- Builds on 15 of its 37 references that are in the map.
- First posted on arXiv 20 Oct 2021.

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

- [PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation](https://mlsanity.com/paper/1612.00593/) (2016)
- [FaceNet: A Unified Embedding for Face Recognition and Clustering](https://mlsanity.com/paper/1503.03832/) (2015)
- [Learning Fine-grained Image Similarity with Deep Ranking](https://mlsanity.com/paper/1404.4661/) (2014)
- [PPFNet: Global Context Aware Local Features for Robust 3D Point Matching](https://mlsanity.com/paper/1802.02669/) (2018)
- [3DFeat-Net: Weakly Supervised Local 3D Features for Point Cloud Registration](https://mlsanity.com/paper/1807.09413/) (2018)
- [PCPNET: Learning Local Shape Properties from Raw Point Clouds](https://mlsanity.com/paper/1710.04954/) (2017)
- [Cross-domain Image Retrieval with a Dual Attribute-aware Ranking Network](https://mlsanity.com/paper/1505.07922/) (2015)
- [Pointfilter: Point Cloud Filtering via Encoder-Decoder Modeling](https://mlsanity.com/paper/2002.05968/) (2020)
- [Simultaneous Feature Learning and Hash Coding with Deep Neural Networks](https://mlsanity.com/paper/1504.03410/) (2015)
- [Nesti-Net: Normal Estimation for Unstructured 3D Point Clouds using Convolutional Neural Networks](https://mlsanity.com/paper/1812.00709/) (2018)
- [Transductive Zero-Shot Learning for 3D Point Cloud Classification](https://mlsanity.com/paper/1912.07161/) (2019)
- [Deep Feature-preserving Normal Estimation for Point Cloud Filtering](https://mlsanity.com/paper/2004.11563/) (2020)
- [Learning Incremental Triplet Margin for Person Re-identification](https://mlsanity.com/paper/1812.06576/) (2018)
- [Neighbourhood-Insensitive Point Cloud Normal Estimation Network](https://mlsanity.com/paper/2008.09965/) (2020)
- [Rethinking Point Cloud Filtering: A Non-Local Position Based Approach](https://mlsanity.com/paper/2110.07253/) (2021)

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

- [MSECNet: Accurate and Robust Normal Estimation for 3D Point Clouds by Multi-Scale Edge Conditioning](https://mlsanity.com/paper/2308.02237/) (2023)
- [3D Intracranial Aneurysm Classification and Segmentation via Unsupervised Dual-branch Learning](https://mlsanity.com/paper/2201.02198/) (2022)
- [Fast and Robust Normal Estimation for Sparse LiDAR Scans](https://mlsanity.com/paper/2404.14281/) (2024)
- [MOSS: Motion-based 3D Clothed Human Synthesis from Monocular Video](https://mlsanity.com/paper/2405.12806/) (2024)

## Abstract (arXiv)

Normal estimation on 3D point clouds is a fundamental problem in 3D vision and graphics. Current methods often show limited accuracy in predicting normals at sharp features (e.g., edges and corners) and less robustness to noise. In this paper, we propose a novel normal estimation method for point clouds. It consists of two phases: (a) feature encoding which learns representations of local patches, and (b) normal estimation that takes the learned representation as input and regresses the normal vector. We are motivated that local patches on isotropic and anisotropic surfaces have similar or distinct normals, and that separable features or representations can be learned to facilitate normal estimation. To realise this, we first construct triplets of local patches on 3D point cloud data, and design a triplet network with a triplet loss for feature encoding. We then design a simple network with several MLPs and a loss function to regress the normal vector. Despite having a smaller network size compared to most other methods, experimental results show that our method preserves sharp features and achieves better normal estimation results on CAD-like shapes.
