Partial Symmetry Detection for 3D Geometry using
Contrastive Learning with Geodesic Point Cloud Patches
December 13, 2023
Detecting partial extrinsic symmetry in 3D geometry is a fundamental yet persistent challenge in computer vision and graphics, critical for tasks ranging from shape completion to procedural generation. Classical transformation-space voting methods rely on pairwise matching, scaling as \(O(n^2)\) and struggling to resolve coherent multi-instance groups. Recent learning approaches advance global symmetry detection but restrict the solution space to reflection planes, failing to capture rotational or translational repetitions such as the legs of a chair or the steps of a staircase. We propose SymCL, a self-supervised contrastive learning framework that detects partial symmetries across rotation, translation, and reflection (with scale-invariant features) and requires no ground truth annotations. By mapping local geodesic patches to a latent space invariant to the Euclidean group, we reformulate symmetry detection as a density-based clustering problem, enabling the simultaneous discovery of multi-instance symmetric relationships in a single forward pass. We evaluate quantitatively on SymPartNet, a new benchmark annotating all PartNet categories with partial symmetry relations, and demonstrate class-agnostic generalization qualitatively on everyday objects outside the training distribution.
<ccs2012> <concept> <concept_id>10010147.10010371.10010352.10010381</concept_id> <concept_desc>Computing methodologies Shape analysis</concept_desc> <concept_significance>500</concept_significance> </concept> <concept> <concept_id>10010147.10010257.10010293.10010294</concept_id> <concept_desc>Computing methodologies Neural networks</concept_desc> <concept_significance>300</concept_significance> </concept> </ccs2012>


Figure 1: Detected symmetry groups after region growing. Colors represent distinct groups; dark shades are geodesic patch seeds, light shades are expanded regions. Multiple valid decompositions per shape are recovered simultaneously..
Symmetry detection in 3D geometry is a challenging task that has been studied for many years. The extraction of symmetry information is highly beneficial in the domain of computer vision and computer graphics for various downstream tasks, e.g.3D geometry completion, segmentation, hierarchical decomposition, compression or shape matching, structure-aware meshing and procedural generation. There are various solutions, including model-driven and learning-based methods, for global extrinsic symmetry detection. However, research on partial extrinsic symmetry detection, also called self-similarity, has not received the same level of attention in recent years. Note that the problem of detecting partial symmetries is ambiguous, since multiple valid solutions for almost any input can exist (see Fig. 1).
Classical methods rely on hand-crafted features and model-driven algorithms, but are highly susceptible to parameter tuning and rarely generalize beyond specific shapes. At their core, detecting symmetry between two regions \(A\) and \(B\) requires registration, distance computation, and thresholding, a pipeline that becomes intractable at scale: with \(n\) candidate patches, all pairwise registrations cost \(O(n^2)\) and each registration may take seconds.
Our aim is to find symmetric regions of maximal size within a shape. To circumvent the time-consuming registration process we propose to learn rotation, reflection, translation and scale invariant features for local geodesic patches via contrastive learning, then cluster them in latent space. The key assumption is that symmetric patches are geometrically congruent: under transformation invariance, geometric similarity becomes a reliable proxy for symmetry. This formulation discovers all \(n\) instances of a recurring structure as a single high-density cluster, bypassing the \(O(n^2)\) cost of transformation-space voting. We show that the learned features generalize to different geometry classes and unseen datasets without any adjustments.
A partial symmetry is naturally a multi-instance group: where a structure recurs \(k\) times (e.g.the four legs of a chair or the eight arms of a filigree, see Fig. 1), all \(k\) parts are mutually symmetric, yet methods reasoning over isolated pairs recover individual correspondences rather than the group as a whole. SymCL is amortized: a single trained model recovers these multi-instance symmetry groups of arbitrary arity (\(k\)-fold rotational, translational, or reflective) in one forward pass, without per-shape optimization and class-agnostically. Our main contributions are:
Symmetry Detection as Clustering: We recover all multi-instance symmetric groups (rotation, translation and reflection) simultaneously in a single forward pass by clustering \(E(3)\)-invariant geodesic-patch embeddings, in a self-supervised and class-agnostic manner, without committing to a symmetry type a priori.
SymPartNet Benchmark: We provide, to our knowledge, the first benchmark for partial extrinsic symmetry detection, annotating PartNet with per-part symmetry relations and defining three retrieval metrics under two evaluation protocols.
Mitra et al. [1] survey classical model-based symmetry analysis in 3D geometry, noting that most organic and man-made objects exhibit some extractable symmetry.
Global Symmetry. The most studied setting is global symmetry, where a single transformation maps the entire shape onto itself. It has been studied long before in the 2D domain [2] and many classical algorithms have been proposed in 3D, predominantly for reflective planes based on Fourier descriptors [3], randomized voting techniques [4] or viewpoint entropy distribution [5], and also for rotational symmetries via generalized even moments [6]. Some of these approaches even aim at detecting global symmetry with missing geometry [7]. In recent years novel learning-based techniques emerged, either supervised [8] or unsupervised [9], [10], and more recently single-image reflection detection [11], though all are restricted to planar reflection. Although these approaches surpass classical model-based methods and deal robustly even with incomplete data, they detect only global, not partial, symmetries. Closest in spirit to ours, E3Sym [10] clusters \(E(3)\)-invariant point features to recover an arbitrary number of reflection planes; we likewise detect by clustering invariant embeddings, but target partial multi-instance symmetry of arbitrary type rather than global planar reflection alone. A related but distinct family is intrinsic symmetry, invariant to isometric (pose) deformations, addressed by classical global [12], [13] and partial [14]–[17] methods as well as learning-based detection [18]. As intrinsic symmetries are relevant only under isometric deformation, we focus on extrinsic partial symmetry, which covers rigid and articulated 3D models.
Part Relationships. In shape encoding and generation [19]–[22], symmetric relationships are embedded into hierarchical shape representations to regularize the network, and can be recovered from the learned latent space by a separately trained point-cloud encoder [21]. However, such recovery remains limited to the training distribution and categories, whereas our method requires no labeled ground truth and generalizes to arbitrary geometry.
Extrinsic Partial Symmetry. There exist classical model-based works that deal with the analysis of 3D shapes and the extraction of extrinsic partial symmetry, either based on geometric hashing [23], voting techniques in the transformation space [24], [25], matching feature lines [26] or directly in the space of correspondences [27]. Mitra et al. [1] abstract those techniques into three stages consisting of feature selection, aggregation and extraction. Our work is inspired by this analysis, but aims at including the generalization capabilities of neural networks to improve upon them. A key limitation of these classical methods is the sensitivity to manual parameter tuning and the lack of publicly available implementations.
Recently, Je et al. [28] propose an optimization-based approach that detects symmetries via per-shape score-field optimization using Riemannian Langevin dynamics. Their method handles both partial and global reflective symmetry planes but requires per-shape optimization at inference time. The authors outline a possible extension to rotational and translational symmetries but leave it to future work. Architecturally, Je et al.follow a top-down strategy: a global plane hypothesis is first fitted to the shape as a whole; supporting surface regions are derived post-hoc as a consequence of the detected plane. In contrast, once trained our method recovers rotation, reflection and translation symmetries (with scale-invariant features) for arbitrary shape categories in a single forward pass, without any per-shape optimization. SymCL is bottom-up: local patch embeddings drive detection, with symmetry groups emerging from clustering without presupposing any symmetry type.
Contrastive Learning. Self-supervised contrastive learning maps augmented views of the same instance close in feature space while separating different instances [29]; we adopt its NT-Xent objective, a generalization of the N-pair loss [30]. Closely related to our patch embeddings is the line of work on learned local 3D descriptors, which embed local neighborhoods such that geometrically similar regions match, including rotation-invariant, unsupervised formulations [31]; these target registration and matching rather than symmetry. At the shape level, contrastive pre-training has further been applied to point clouds [32], [33], predominantly to learn transferable features for downstream recognition. In contrast, we employ contrastive learning not as a pre-training stage but as the core detection mechanism: by enforcing invariance to rigid transformations and scale, symmetric patches collapse to the same latent region, reducing symmetry detection to clustering.
We present SymCL, a self-supervised contrastive framework for partial extrinsic symmetry detection. Our detection pipeline consists of three core stages: 1) invariant feature learning, 2) latent clustering for multi-instance symmetry aggregation, and 3) geometric verification and extraction (see Fig. 2). An optional 4) region growing step then expands the detected seed regions into maximal symmetric regions covering the symmetric portions of the shape. In the first stage we learn a feature encoder whose latent space is invariant to rigid transformations, such that symmetric patches (regardless of their position or orientation) map to the same region. In the second stage, density-based clustering in latent space discovers all \(n\) instances of a recurring structure simultaneously. Lastly, we cast clusters back to 3D space, compute connected components, and verify geometric alignment via ICP distance.
To enable partial extrinsic symmetry computation, we must discretize the continuous surface of a 3D geometry into local patches. Patch centers are selected via the farthest point sampling (FPS) of a point cloud of the input geometry. Typically, a ball-query per sample point is performed to extract a local region of the geometry [34]. We argue that the extraction method, which relies on Euclidean distances, is flawed as it fails to respect the intrinsic metric of the input surface. To address this issue, we suggest calculating geodesic distances using the heat method [35], [36] originating from the patch centers and identifying the closest neighbors within a fixed distance \(\delta_d\) or a predefined number of points \(\delta_n\). This directly determines the size of the patch. For each center, we extract geodesic patches at multiple scales to capture symmetries across a range of neighborhood sizes.
As previously mentioned, we may assess the symmetry of two shapes in relation to each other by initially registering them and subsequently calculating the distance between them. We describe a distance measure for point clouds that is invariant to translation, uniform scaling, and the orthogonal group \(O(3)\) (rotation and reflection), which we call the ICP distance. Given two point clouds \(A\) and \(B\): 1) Register \(A\) onto \(B\) using the iterative closest point (ICP) algorithm [37]. 2) Compute the two-sided Chamfer distance \(d_{CD}\) [38] between the aligned point clouds \(A_{ICP}\) and \(B\). \[d_{CD}(A, B) = \frac{1}{|A|}\sum_{a \in A} \min_{b \in B} \lVert a - b \rVert^2 + \frac{1}{|B|}\sum_{b \in B} \min_{a \in A} \lVert a - b \rVert^2\]
Before registration we normalize each point cloud to the unit sphere via \(\mathcal{N}(\cdot)\), which mean-centers the cloud and divides it by its maximal radius from the centroid. This removes translation and uniform scale, so that the ICP distance compares shape rather than absolute size or position. As the ICP algorithm is highly sensitive to the initialization, we repeat the registration process several times, applying a random rotation and reflection \(R_{rand}(\cdot)\) to \(A\) each time, and define the smallest distance across all runs as the ICP distance \(d_{ICP}\). As a compromise between consistency and speed we employ \(N = 30\) separate registrations, with a maximum of \(100\) iteration steps each. We additionally apply FPS \(\mathrm{fps}(\cdot)\) to restrict each point cloud to \(512\) points, which speeds up computation and makes distances comparable across inputs of different resolution.
\[d_{ICP}(A, B) = \min_{i \in N} d_{CD}(A^{norm}_{ICP, i}, B^{norm}),\] where \[A^{norm} = \mathcal{N}(\mathrm{fps}(A)), \quad B^{norm} = \mathcal{N}(\mathrm{fps}(B))\] \[R_i, T_i = \mathrm{ICP}(R_{rand}(A^{norm}), B^{norm})\] \[A^{norm}_{ICP, i} = R_i T_i A^{norm}\]
Given this explicit measure of extrinsic similarity, local patches, regions, or parts can now be compared to each other and a distance matrix can be calculated to describe a shape’s symmetry landscape.
To extract local symmetric patterns we need the symmetry distance matrix between all patches. The ICP distance is a reliable measure for a single pair, but comparing two patches takes seconds, making the \(O(n^2)\) pairwise computation impractical for the dense patch sampling we require: a \(16 \times 16\) matrix takes \(35\) seconds, while a \(1k \times 1k\) matrix takes almost \(4\) hours. We therefore replace the explicit registration with a learned embedding: each patch \(p\) is lifted to a feature space in which similarity reduces to a single dot product. To this end we train a neural network as a feature extractor \(enc(p^{norm}) = z\), where \(p^{norm}\) is the normalized input patch and \(z \in \mathbb{R}^{32}\) the embedded feature vector.
Feature Invariance. To account for various types of symmetry, we must calculate features that remain unaffected by rotation, reflection, translation and scale. We achieve rotation-invariance by utilizing Vector Neurons [39] at the core of our model, using VN-DGCNN as a lightweight feature encoder \(enc(\cdot)\). Translation-invariance is achieved by centering the mean input point cloud at zero; scale-invariance by scaling each input patch to the size of a unit sphere. During training we randomly reflect the data along each axis to account for reflectional symmetry.
Contrastive Learning (SymCL). We train the network SymCL to map similar patches \((z_i, z_j)\) close and dissimilar patches \((z_i, z_k)\) far away from each other in the latent space utilizing contrastive learning and the Normalized Temperature-scaled Cross Entropy Loss [30]: \[L_{Xent} = - \mathrm{log} \frac{\mathrm{exp}(\mathrm{sim}(z_i, z_j)/\tau)}{\sum_{k=1}^{2N}1_{[k \neq i]}\mathrm{exp}(\mathrm{sim}(z_i, z_k)/\tau)},\] with cosine-similarity \(\mathrm{sim}(z_i, z_j) = z_i \cdot z_j / (\lVert z_i\rVert \lVert z_j \rVert)\), where \(N\) and \(\tau\) represent the batch size and the temperature, respectively. Similar patches are defined as a pair of augmented patches originating from the same patch center; dissimilar patches are all other patches within the batch. This allows us to train the network in a self-supervised manner.
We apply augmentation techniques in the spirit of contrastive learning. First, we apply anisotropic scaling to the data within a range of \([0.8, 1.2]\) for each axis, to account for small shape and curvature variations. Second, we offset the patch center within a range of \([0.0, 0.1\cdot\delta_n]\) with respect to the geodesic distance of the original patch center. This captures the local geometry more comprehensively and makes features robust to discretization artifacts.
To extract symmetry information from an input shape during inference, we perform the following steps: i) feature selection, ii) aggregation and iii) symmetry extraction.
Feature Selection. Patch centers are selected from the input geometry using FPS. We extract a predefined number of geodesic patches, which are afterwards embedded into the latent space using the trained feature encoder \(enc(\cdot)\). We found that using at least \(1000\) patches leads to good results.
Aggregation. By clustering patches in a rotation, reflection, translation and scale invariant latent space we can aggregate patches exhibiting partial extrinsic symmetries. Each cluster suggests a hypothesis \(H\) consisting of multiple regions that are symmetric to each other. Each region \(r_{i} \in H\) is formed by merging several patches. To merge the patches, we cast the clustered features \(z_{j}\) back into the 3D space of the geometry and calculate connected components based on the geodesic distance between the extracted patch centers. For clustering, we utilize HDBSCAN [40], a fast and reliable non-parametric clustering algorithm capable of detecting an a-priori unknown quantity of clusters as well as outliers.
Symmetry Extraction. The latent space is only an approximation of the geometric characteristics, and therefore requires filtering. We verify detected regions \(r_{i}\) by calculating the ICP distance between all regions of a single hypothesis \({r_0, ..., r_n} \in H\). The hypothesis is rejected if the greatest distance exceeds a predetermined similarity threshold: \[\delta_{sim} < \max_{r_i \in H, r_j \in H} d_{ICP}(r_i, r_j) .\] This threshold is fixed to \(\delta_{sim} = 0.005\) in our method and is geometrically interpretable: since the ICP distance is a two-sided Chamfer distance between clouds normalized to the unit sphere, \(0.005\) corresponds to a mean point-to-surface deviation on the order of \(\sqrt{0.005} \approx 0.07\), i.e.a few percent of the shape extent. We also discard a hypothesis \(H\) if it produces a singular region \(H = \{r_{0}\}\) or if more than \(n > 30\) regions are detected, as these empirically do not represent meaningful symmetry groups. This verification still incurs pairwise ICP comparisons, but only within a single hypothesis: with at most \(30\) regions per cluster it reduces to a small, bounded \(O(k^2)\) computation per hypothesis, rather than the \(O(n^2)\) registration over all \(n\) sampled patches that transformation-space voting requires.
The identified symmetric regions \(r_i\) consist of only local patches with limited size. To complete the symmetric regions we apply a region growing algorithm that partitions the input geometry into maximally symmetric regions \(r_i^{max}\).
For each region \(r_i \in H\) we calculate the geodesic distance from the region boundary to all other points. Each point is assigned to the closest region \(r_i\) according to its geodesic distance \(d_{geo}\). To identify the largest symmetric region \(r_i^{max}\) we extract regions \(r_i^{\delta_g}\), where each point satisfies \(d_{geo} \leq \delta_g\), and compute the ICP distance between every pair. We linearly interpolate the growing radius \(\delta_g\) between \([0, d_{geo}^{max}]\) and select the largest symmetric regions \(r_i^{max}\) (Fig. 3) defined by: \[\delta_g^{max} = \mathop{\mathrm{arg\,min}}_{\delta_g \in [0, d_{geo}^{max}]} \max_{r_i \in H, r_j \in H} d_{ICP}(r_i^{\delta_g}, r_j^{\delta_g}).\]
We could not identify any publicly available benchmark for the partial extrinsic symmetry detection task; existing benchmarks target global reflective symmetry on synthetic point clouds [41], and even recent work [28] notes the absence of a suitable dataset and resorts to ad-hoc annotation. A symmetry-annotated PartNet exists [20], but encodes a symmetry hierarchy for structure learning, not a detection task with pairwise relations and metrics. We annotate the PartNet dataset [42] with partial extrinsic symmetry relationships and establish two benchmarks.
SymPartNet. We extend PartNet, comprising 26,671 semantically segmented 3D models across 24 object categories, with symmetry annotations at part-level for each model in the test set (SymPartNet.v1). For each model we compute the ICP distance \(d_{ICP}\) between all pairs of parts and threshold them at a manually chosen per-shape value \(\delta_{sym}\) (\(d_{ICP} \leq \delta_{sym}\)). This yields a binary part-symmetry matrix: an entry marks two parts as symmetric, i.e.mappable onto each other by a combination of rigid transformations and scaling. The ground truth of each model is this matrix of part relationships, not the threshold itself. Note that \(\delta_{sym}\) is an annotation threshold, used only to define these ground-truth relations, and is distinct from the detection threshold \(\delta_{sim}\) (Sec. 3.4), which our method applies at inference and keeps fixed across all shapes.
Benchmarks. The SymPartNet (Parts) protocol provides pre-segmented parts; the goal is to extract symmetric relations between them. The SymPartNet (Full) protocol provides only the raw 3D model; the goal is to compute partitions containing mutually symmetric regions.
Evaluation Metrics. Let \(S_P = \{H_0, \dots, H_n\}\) be the predicted symmetry set and \(S_{GT}\) the ground truth.
ICP measures geometric alignment within each predicted cluster: \[\text{ICP} = \frac{1}{|S_{P}|} \sum_{s_k \in S_{P}} \max_{r_i, r_j \in s_k} d_{ICP}(r_i, r_j).\]
IoU measures overlap with ground truth clusters: \[\text{IoU} = \frac{1}{|S_{P}|} \sum_{s_k \in S_{P}} \max_{s_j \in S_{GT}} \frac{s_j \cap s_k}{s_j \cup s_k}.\]
COV measures the fraction of ground truth symmetries covered: \[\text{COV} = \frac{1}{|S_{GT}|} |\{ \mathop{\mathrm{arg\,max}}_{s_j \in S_{GT}} \frac{s_j \cap s_k}{s_j \cup s_k} \}|, \quad \forall s_k \in S_P,\] where each ground truth cluster is counted at most once.
We train SymCL once on the PartNet [42] training split; all quantitative evaluation is performed on the held-out test split, and the qualitative results use shapes outside PartNet entirely. Using the SymPartNet benchmark and metrics defined above, we evaluate SymCL in four experiments: (1) we verify that the learned latent space correctly organizes patches by geometric similarity, (2) we quantify detection quality on SymPartNet across all 24 PartNet categories, (3) we evaluate qualitatively on everyday objects to demonstrate class-agnostic generalization, and (4) we compare against competing methods on representative shapes spanning reflective, rotational, and translational structure.
The core claim of SymCL is that symmetric patches (regardless of their 3D position or orientation) map to the same high-density region in the learned latent space \(\mathcal{Z}\). We verify this directly before presenting downstream results.
Computational Motivation. A brute-force ICP baseline for \(N=5000\) patches requires a \(5000{\times}5000\) symmetric distance matrix, \({\approx}48\) hours of pairwise registrations. SymCL reduces this to \(54\) seconds: one forward pass to embed all patches, followed by a single dot-product distance matrix computation, an \(O(10^3)\) speedup that enables the dense sampling needed for fine-grained symmetry detection.
Probe Retrieval. For each shape we select a patch as a probe (green) and highlight all patches whose cosine distance in \(\mathcal{Z}\) falls below a fixed threshold (blue); all others remain gray (Fig. 4). On the filigree, two probe choices retrieve the four equivalent corners and the eight corners, respectively, confirming that \(\mathcal{Z}\) captures both 4-fold and 8-fold rotational structure. On the chair, probing a leg and a leg tip each retrieves all spatial counterparts across the shape. The faucet also reveals a failure mode: probing a half-round surface patch retrieves nearly every patch, because the faucet body is topologically a pipe and most patches share the same local geometry. This shows that cosine similarity alone is insufficient, and motivates the ICP-based verification (Sec. 3.4).
t-SNE Visualization. Fig. 5 projects patch embeddings into 2D via t-SNE. Patches that are close in the embedding space \(\mathcal{Z}\) form spatially coherent regions on the shape, confirming that HDBSCAN cluster membership is geometrically meaningful. Not all clusters correspond to valid symmetry groups: the orange chair cluster (Fig. 5, top right) is a false positive that the ICP verification step subsequently filters out (Sec. 3.4).
We quantify detection quality on SymPartNet, our annotation of the full PartNet test set spanning 24 object categories (Sec. 4). We report two protocols: SymPartNet (Parts), where pre-segmented parts are given and the task is to group symmetric parts, and SymPartNet (Full), where only the raw model is given and symmetric regions must be discovered from scratch. We abbreviate them as Parts and Full. Table 1 aggregates results across all categories. SymCL retrieves symmetric structure with high coverage on both protocols (COV \(0.82\) on Parts, \(0.85\) on Full) at a low geometric residual (ICP \(\leq 0.0026\)); Fig. 6 shows representative Parts predictions next to the ground truth. The drop in IoU from Parts (\(0.70\)) to Full (\(0.32\)) reflects the harder unsegmented setting: PartNet’s ground-truth partition is semantically driven, whereas SymCL partitions geometrically, so predicted regions need not align with semantic part boundaries; the consistently high COV confirms that symmetric regions are nonetheless recovered (Fig. 7). These scores nevertheless leave clear room for improvement: the benchmark is far from saturated and remains an open challenge for future methods.
| SymPartNet | ||||
| ICP (↓) | IoU (↑) | COV (↑) | #Models | |
| Parts | 0.0026 | 0.7000 | 0.8176 | 3071 |
| Full | 0.0025 | 0.3186 | 0.8522 | 3155 |
Since SymCL learns purely geometric, patch-level features, it generalizes to shape categories not seen during PartNet training.
Out-of-Distribution Shapes. Fig. 1 shows SymCL applied to shapes outside PartNet. In all cases, recurring sub-structures are correctly grouped and region growing expands the detected patches to maximal symmetric partitions. The same shape can yield multiple valid symmetry hypotheses simultaneously (e.g.global left-right reflection and local rotational leg repetition of a chair coexist as distinct clusters).
We compare SymCL against the two most relevant competitors on representative shapes spanning reflective, rotational, and translational symmetry: Mitra et al. [24] (classical pairwise voting) and Je et al. [28] (reflection-plane optimization). A shared quantitative comparison is not directly possible: Je et al.output reflection planes and Mitra et al.output pairwise transformations, whereas SymCL outputs multi-instance region clusters. We therefore compare qualitatively, selecting shapes whose structure each method is designed to address. The three methods differ in where symmetry is decided. Je et al.are top-down: a global plane hypothesis is fitted first, and supporting regions are derived from it. Mitra et al.are bottom-up but reason in an explicit transformation space, voting with pairwise point correspondences and clustering the votes into candidate symmetries; this recovers individual transformations yet aggregates pairwise evidence and struggles to group all instances of a recurring structure. SymCL is also bottom-up but clusters patches in a learned invariant feature space, so multi-instance symmetry groups emerge directly, without enumerating explicit transformations or committing to a symmetry type or arity.
For Je et al.we used the official implementation with the default parameters provided by the authors. No publicly available implementation of Mitra et al.exists; we therefore reimplemented the method to the best of our ability following the original paper, noting that several technical details were omitted in the publication. Since Mitra et al.’s algorithm requires per-shape parameter tuning, we performed a grid search over the key parameters and report the best-performing configuration for each shape individually. Notably, across all shapes tested, Mitra et al.’s method produced rotational symmetry detections only for two simple cases (a bow and a star); all other shapes yielded reflection symmetries exclusively. Figure 8 shows three representative objects covering the complementary strengths and limitations of each approach.
Filigree. Despite its intricate appearance, the filigree is a topologically simple shape with clearly repeated motifs arranged in higher-order rotational configurations. Both competitors recover only 2-fold reflection symmetries, missing the dominant structure of the shape entirely. SymCL detects 4-fold and 8-fold rotational symmetry groups, recovering all recurring motifs as coherent clusters.
Chair. A chair with four identical legs provides both 2-fold and 4-fold symmetries. The symmetry planes proposed by Je et al.appear largely arbitrary, capturing neither the global reflection nor the leg repetition reliably. Mitra et al.recovers the global left-right symmetry plane. SymCL detects the reflective symmetry between seat and backrest, the 4-fold rotational symmetry of the legs, and partially the global left-right symmetry of the chair.
Faucet. The faucet exhibits a richer symmetry structure: 2-fold reflectional symmetry, 3-fold translational repetition in the base, and 4-fold combined symmetries. Mitra et al.recovers only the global left-right reflection plane, with very low supporting point coverage. Je et al.proposes three symmetry planes, but averaging and clustering in the fitting stage produces planes too noisy to identify coherent supporting regions. SymCL is able to detect all three symmetry types in a single forward pass.
Overall, the detected symmetry planes of classical and optimization-based methods are highly sensitive to parameter choices, prone to noise, and fundamentally limited to 2-fold partial symmetries. SymCL overcomes some of these limitations on the presented samples, but reliable partial symmetry detection remains an open challenge.
A single threshold \(\delta_{sim}\) for filtering symmetry hypotheses remains the only hand-tuned parameter, and the region growing expands patches equidistantly; removing the threshold and adaptive per-patch growing rates are directions for future work. Finally, SymPartNet’s ground truth inherits PartNet’s semantic segmentation and thus favors semantically driven methods over purely geometric ones such as ours; a purely geometry-driven benchmark, and a broader evaluation of competing methods on it, are left to future work.
We presented SymCL, a self-supervised framework for partial extrinsic symmetry detection that requires no symmetry annotations and makes no prior commitment to symmetry type. By clustering \(E(3)\)-invariant geodesic-patch embeddings, it recovers multi-instance symmetry groups of rotational, translational, and reflective structure in a single forward pass, bypassing the pairwise voting of classical methods. Qualitative comparisons show that SymCL recovers higher-order symmetries that plane- and voting-based competitors systematically miss, while generalizing to shape categories unseen during training. To evaluate partial extrinsic symmetry at scale, we further introduced SymPartNet, a benchmark annotating all PartNet categories with part-level symmetry relations. Our code, the reimplementation of Mitra et al. [24], and the benchmark will be made publicly available upon publication.