
a metric in the transformation space. Such a metric
was defined by Hruda et al. (Hruda et al., 2019).
The rest of this paper is structured as follows:
the related work is reviewed in Section 2, describing
other methods of the detection of reflection symme-
tries in 3D objects. Section 3 elaborates on symmetry
and the measuring of symmetry. Section 4 introduces
the proposed algorithm. In Sections 5, 6, 7 and 8
the steps of the algorithm are explained in more detail,
followed by the results in Section 9, where the method
is evaluated on triangle meshes in 3D.
2 RELATED WORK
Many methods have been proposed for the detec-
tion of symmetry of objects using various approaches.
Some methods use neural networks to find the reflec-
tion symmetry plane in an input object. Gao et al.
(Gao et al., 2021) formulate the symmetry detection
problem as a per point classification problem, calcu-
late the initial guess and then use optimization to re-
fine the symmetry plane. Ji and Liu (Ji and Liu, 2019)
first convert the input shape to voxels and train an un-
supervised 3D convolution neural network to extract
the plane of symmetry. However, while those meth-
ods are fast, they require a training dataset to set up
the neural network, and the performance of the sec-
ond mentioned method deteriorates significantly with
higher resolution of the voxels.
Another group of symmetry detection methods ex-
ploits the visual properties of symmetry. These meth-
ods first generate a set of images of the object from
various angles. In the method by Gothandaraman et
al. (Gothandaraman et al., 2020) a rather small set
of generated images is processed to find the rotation
or the reflection symmetry. Li et al. (Li et al., 2016)
define viewport entropy, expressing how much infor-
mation each generated image holds. Symmetry of this
entropy distribution then corresponds to the symme-
try of the object. However, this method only detects
symmetry planes that pass through, or near, the center
of the bounding sphere of the input object.
Other methods are based on the geometry of
the input object. Given the input is a mesh, the meth-
ods mainly work with the location of the vertices, and
some of them require the information about the con-
nectivity to compute a neighborhood of any given ver-
tex. These methods are diverse in their approaches.
Cicconet et al. (Cicconet et al., 2017) reflect the orig-
inal dataset with respect to an arbitrary plane, then
register it onto the original, and use the reflection and
registration mappings to derive the symmetry plane.
Such an approach could run into problems as registra-
tion sometimes does not work well on symmetric ob-
jects. The method by Martinet et al. (Martinet et al.,
2006) uses generalized moment functions, whose ex-
tremes define the symmetry planes. Nagar and Ra-
man (Nagar and Raman, 2019) define the problem of
detecting approximate reflection symmetry as a lin-
ear assignment problem between the input points, and
determine the symmetry by solving an optimization
problem on a smooth Riemannian product manifold.
Other methods rely on a RANSAC scheme. They first
generate a set of candidate symmetry planes that is
filtered to select a smaller subset, which will be fur-
ther processed to obtain the final reflection symmetry
plane. For example, Ecins et al. (Ecins et al., 2017)
use a non-linear optimization of the plane parameters,
and Hruda et al. (Hruda et al., 2021) define a dif-
ferentiable symmetry measure that allows using gra-
dient based optimization. Mitra et al. (Mitra et al.,
2006) use clustering to find the most often reoccurring
symmetry plane. However, with the use of clustering
the question arises how to select the best cluster and
how to select the best candidate within this cluster.
3 REFLECTION SYMMETRY
While there are multiple types of symmetry, this work
primarily focuses on approximate reflection symme-
try in 3D, represented by a plane. Two points p
1
and
p
2
are symmetric, if the following equation holds:
p
2
= r(σ, p
1
) = p
1
− 2d
−→
n
(1)
The function r(σ, p
1
) is the function reflecting
point p
1
over plane σ, and it can be expressed using
the distance d of the point p
1
from the plane σ, and
the normal vector of the plane
−→
n oriented towards
the half-space with the point p
1
. That means, point
p
2
is a projection of p
1
to the other side of the plane.
An object represented by a point cloud P or a poly-
gon mesh whose shape can be well represented by
its set of vertices P, P = {p
i
,i = 1, ...,n}, is symmet-
ric if, for some plane σ, the points can be organized
into pairs satisfying the Equation (1). In other words,
every point from P reflects onto another point from P.
Symmetry is often not perfect, especially for real-
world objects. For approximate symmetry we test if
the point p
1
reflects not exactly onto the point p
2
, but
into its close vicinity. For an object to be approx-
imately symmetric with respect to a plane, we can
count how many points are approximately symmet-
ric, and test if the percentage of such points is higher
than a given threshold. For the purposes of this paper,
the term “symmetry” will refer to approximate reflec-
tion symmetry with respect to a plane.
GRAPP 2025 - 20th International Conference on Computer Graphics Theory and Applications
186