The Visual Computer (2018) 34:961–971
Robust normal estimation in unstructured 3D point clouds by selective
normal space exploration
· Gregory Wyss
· Renato Pajarola
Published online: 7 May 2018
© Springer-Verlag GmbH Germany, part of Springer Nature 2018
We present a fast and practical approach for estimating robust normal vectors in unorganized point clouds. Our proposed
technique is robust to noise and outliers and can preserve sharp features in the input model while being signiﬁcantly faster
than the current state-of-the-art alternatives. The key idea to this is a novel strategy for the exploration of the normal space:
First, an initial candidate normal vector, optimal under a robust least median norm, is selected from a discrete subregion of this
space, chosen conservatively to include the correct normal; then, the ﬁnal robust normal is computed, using a simple, robust
procedure that iteratively reﬁnes the candidate normal initially selected. This strategy allows us to reduce the computation
time signiﬁcantly with respect to other methods based on sampling consensus and yet produces very reliable normals even in
the presence of noise and outliers as well as along sharp features. The validity of our approach is conﬁrmed by an extensive
testing on both synthetic and real-world data and by a comparison against the most relevant state-of-the-art approaches.
Keywords Normal estimation · Point cloud processing · Robust statistics
Recent advances in 3D acquisition technologies have lead
to scanning devices capable of capturing point-based repre-
sentations of complex objects and environments in a matter
of minutes. The resulting models typically consist of many
thousands or even millions of individual 3D points and are
commonly known as point clouds. Thanks to the research
efforts in the domain of point-based graphics , it is nowa-
days possible to directly use point cloud data in rendering
[19,27] as well as in modeling pipelines [1,5,25], without
requiring an explicit reconstruction step to extract a surface
mesh from the 3D points.
Often, scanning devices only output a set of raw and
unstructured 3D samples, which lack any kind of connectiv-
ity or higher-level information about the underlying surface.
Department of Informatics, University of Zurich,
Binzmühlestrasse 14, 8050 Zurich, Switzerland
Even for pipelines that work directly on point data, some
basic additional information is needed besides the position
of the scanned samples—ﬁrst and foremost, per-point normal
vectors. Since such vectors represent useful ﬁrst-order infor-
mation on the real-world object represented by the point set,
they are of fundamental importance not only in point-based
pipelines, but also for more general geometry processing
tasks such as surface reconstruction.
However, the computation of normals in real-world
datasets is hindered by many issues. Besides the unstructured
nature of the input point cloud, imperfections in the sensing
technologies and in the acquisition process can result in noisy
measurements, in the presence of scattered outliers and in
an irregular distribution of samples on the scanned entities.
Moreover, many man-made objects exhibit sharp features
like corners or edges, which are easily lost when applying
standard low-pass noise ﬁltering methods (see Fig. 1).
For all these reasons, normal estimation in point clouds is
a well-studied and yet still challenging problem in the com-
puter graphics and computer vision domains. Over the last
decades, researchers have proposed a number of different
approaches, each focusing on some speciﬁc aspects of this
multi-faceted task. In their seminal work , Hoppe et al.
propose estimating the normal vector at a point by performing
a Principal Component Analysis (PCA) over its set of neigh-