{'fraction_non_alphanumeric': 0.030464910406300557, 'fraction_numerical': 0.012332488781708843, 'mean_word_length': 4.784919653893696, 'pattern_counts': {'":': 0, '<': 2, '<?xml version=': 0, '>': 1, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 5, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Multi-instance Point Cloud Registration by Efficient Correspondence Clustering

We address the problem of estimating the poses of multiple instances of the source point cloud within a target point cloud. Existing solutions require sampling a lot of hypotheses to detect possible instances and reject the outliers, whose robustness and efficiency degrade notably when the number of instances and outliers increase. We propose to directly group the set of noisy correspondences into different clusters based on a distance invariance matrix. The instances and outliers are automatically identified through clustering. Our method is robust and fast. We evaluated our method on both synthetic and real-world datasets. The results show that our approach can correctly register up to 20 instances with an F1 score of 90.46% in the presence of 70% outliers, which performs significantly better and at least 10x faster than existing methods


Introduction
Three-dimensional point cloud registration [12] [49] [46] mainly focuses on estimating one single transformation between the source point cloud and the target point cloud. However, we may sometimes want to estimate multiple transformations between point clouds. For instance, we have a 3D scan of an object and may want to find the poses of the same objects on the table within the target point cloud as shown in Figure 1. This problem, named multi-instance point cloud registration here, has been less investigated in the literature. It is non-trivial to extend existing point cloud registration methods to solve this problem.
The major challenge is to identify different clusters of corresponding points belonging to different instances within the set of noisy correspondences. One solution is to adopt a 3D object detector or apply instance segmentation to the target point cloud. After that, the pose of each instance can be estimated by a conventional point cloud registration method. However, this approach needs to train a detector or a segmentation network [40] [25] for specific objects or classes, which does not apply to unknown objects or arbitrary 3D scans. Another solution is via multi-model fitting [33] [34] [35] or [36] [29] [11]. Existing multi-model fitting methods rely on sampling valid hypotheses, which involves a large number of sampling steps when the number of models or the outlier ratio becomes high, making the efficiency and robustness of those algorithms drop drastically. In this paper, we propose a robust and efficient solution to the multi-instance 3D registration problem. The key idea is to directly group the corresponding points into different clusters according to a distance invariance matrix. Specifically, the matrix is constructed by checking the distance consistency between each pair of correspondences after the point correspondences have been obtained by feature matching using descriptors like D3Feat [7], PREDA-TOR [26], or SIFT [32]. We find that the row or column vector of this matrix has a powerful representation capability that can be used for identifying the set of correspondences from a particular instance. We hence apply a simple and efficient clustering algorithm to divide those correspondences into cliques. The clustering is further refined by a few recursive steps involving merging similar clusters and re-assigning cluster ids to each correspondence. Finally, both the outliers and the inliers of each instance are automatically identified by a simple ranking strategy.
Our method is highly efficient since no time-consuming hypothesis sampling is required. We have conducted extensive experiments on both synthetic and real-world datasets. The results show that our method is at least ten times faster than existing methods while performing significantly better in terms of accuracy and robustness. To summary, our contributions include: • We propose an efficient and robust solution to the multi-instance point cloud registration problem, which achieves superior performance in terms of accuracy, robustness, and speed.
• We propose to use three metrics (Mean Hit Recall, Mean Hit Precision, and Mean Hit F1) to fully evaluate the performance of multi-instance point cloud registration.
• Our solution can be potentially used for zero-shot detection of 3D objects as our real-world tests demonstrate.

Related Work
Point cloud registration can be divided into three stages: point matching, outlier rejection, and pose estimation. Most works focus on the first two stages since acquiring correct point correspondences is the key to successful registration. Point matching usually relies on features, either hand-crafted features [42] [22] or learningbased features [52] [21] [24] [18] [7]. Though recent results show that the latter is superior to the hand-crafted ones in some benchmarks, those features are still far from producing perfect matching and a powerful outlier rejection mechanism is still required. RANSAC [23] and its variants( [8] [13] [19]) follow the hypothesis-and-verification process to reject outliers. This kind of method requires a lot of sampling steps when many outliers exist, becoming highly time-consuming, while could still fail to obtain the correct model. GORE [15] and PMC [38] seek to reduce the outliers by geometric consistency checks. Other methods such as FGR [53] and TEASER [49] adopt robust estimators to solve the transformation directly from the noisy correspondences. By carefully tackling each subproblem, TEASER [49] achieved impressive performance in terms of robustness and efficiency. There are also learning-based outlier rejection methods. DGR [17] and 3DRegNet [37] treat outlier rejection as binary classification and predict the inlier probability for each correspondence. PointDSC [6] takes a step further to embed the spatial consistency into feature learning for better training the inlier classifier. Recently, a stream of work (e.g.PointNetLK [1], FMR [27], DCP [46], PRNet [47], RPMNet [51]) tries to apply endto-end learning to solve the registration problem. They also exhibit impressive performance, especially in low-overlap cases [26].
Existing point cloud registration methods mostly focus on the one-to-one registration problem which estimates a single transformation between two point clouds. The multiinstance registration that aligns a source point cloud to its multiple instances in the target point cloud is however less investigated. This task is different from the multi-way registration [16] whose goal is to produce a globally consistent reconstruction from multiple fragments via pair-wise registration [53] [17]. The multi-instance registration requires not only rejecting outliers from the noisy correspondences but also identifying the set of inliers for individual instances, making it even more challenging than the classic registration problem.
3D object detection and instance segmentation are closely related to multi-instance 3D registration. Given a single point cloud, 3D object detection [40] is to obtain the bounding box of each object of interest, while 3D instance segmentation [45] [25] produces the instance labels for each point. Though they produce results [4] [5] similar to that of multi-instance registration, they need to train the prior of specific objects or categories into the network. By contrast, multi-instance registration processes two point clouds by directly aligning the source one to multiple instances in the target one, without using any priors about the contents of input 3D scans.
Multi-model fitting Multi-instance registration can be approached by multi-model fitting, which aims to estimate the model parameters from the data points generated from multiple models. Existing multi-model fitting methods can be categorized into clustering-based methods and RANSAC-based ones. The clustering-based methods(e.g. [ [11]) run revised RANSAC sequentially to obtain multiple model parameters. They change the sampling weight of each point in each iteration to get different model parameters. CONSAC [29] is a learning-based method that learns to weigh each point for sampling. Both clustering-based and RANSAC-based methods rely on sampling valid hypotheses. When the number of models or the outlier ratio increases, a lot of hypotheses are required to be sampled, making those algorithms highly inefficient.
3D spatial consistency, defined between every pair of points by a rigid transformation, is an important property for outlier rejection in 3D registration. Spectral matching [31] constructs a graph using the length consistency between each pair of correspondences and extracts the maxi- Figure 2. The pipeline of the proposed method for multi-instance point cloud registration. A distance invariance matrix is constructed from the input correspondences, which is used to cluster the correspondences into different clusters (Clustering) and being refined (Cluster refinement). Finally, the rigid transformation (Transformations) related to each instance is estimated from each cluster of correspondences. To handle a large number of correspondences, two addition processes (Downsampling and Upsampling) are adopted. mum clique from the graph to reject outliers. Existing methods such as TEASER [49], GORE [15], and PMC [38] also incorporate the spatial consistency in their algorithms. Recently, ROBIN [44] generalizes the concept of spatial consistency to high orders. PointDSC [6] integrates the spatial consistency into an end-to-end learning pipeline to better regress the inlier probability.
Motivated by those works, we also adopt spatial consistency in our solution. Different from existing methods that apply spectral clustering [31] or approximated solutions [44] in the spatial consistency graph which is slow and has trouble dealing with multiple instances, we employ an efficient algorithm to find multiple instances within the correspondences. Specifically, we take the row vector or the column vector of the distance invariance matrix as the 'feature vector' of correspondence and run bottom-up clustering to get the inlier correspondences from different instances. Our method avoids hypothesis sampling which is the key weakness of existing multi-model fitting methods. It also does not rely on any particular features to obtain point correspondences, hence the performance can be further improved if better features (either 3D or image features) are adopted.

Problem Statement
In multi-instance point registration problem, the source point cloud X provides an instance of a 3D model and the target point cloud Y contains K instances of this model, where those instances are the sets of points that may sample only a part of the 3D model. If we write the k th instance as Y k , the target point cloud Y can be decomposed Here we use Y 0 to represent the part of the point cloud that does not belong to any instances. The goal of multi-instance 3D registration is to find the rigid transformation (R k , t k ) that aligns the source instance X to each target instance Y k . If we manage to obtain the correspondences between the source instance and each target instance X ↔ Y k , the pose of the k th instance in the target point cloud, (R k , t k ), can be solved from the set of correspondences X ↔ Y k by minimizing the sum of alignment errors (1) [2]: (1) Consider we have obtained a set of correspondences C between the source and target point clouds. The key of multi-instance registration task is to classify those correspondences into separate sets related to different instances, namely, Here C 0 is used to represent the set of outliers. As we can see, multi-instance registration needs to not only reject outlier correspondences but also resolve the ambiguity of correspondences from different instances. This task is not easy because all instances look the same and a lot of outlier correspondences usually exist.

Method
The overview of the proposed method is shown in Fig.  2. Our method takes the point correspondences as the input. An invariance consistency matrix is then constructed by checking the distance consistency between correspondences. Next, those correspondences are quickly clustered into different groups by treating the column or row vectors as 'features' of those correspondences. The clustering is done efficiently via agglomerative clustering, which is further refined by alternatively merging similar transformations and re-assigning the cluster labels for several iterations. Optionally, we apply downsampling and upsampling processes to handle the case when the number of correspondences is large. The details are presented in the next sections.

Invariance matrix & compatibility vector
The distance invariance property has been already explored in 3D registration for many years [49] [44] [31], which describes that the distance between two points keeps unchanged after a rigid transformation. Namely, if c i : x i ↔ y i and c j : x j ↔ y j are two real correspondences, they should have and δ is a threshold accounting for the noise. Hence the difference between d ij and d ij can be used as a metric to test whether an outlier exists, or whether the two correspondences are from different rigid transformations. Instead of using the absolute difference defined in (3), we follow [14] to assign a score measuring the relative difference between c i and c j by defining A distance invariance matrix G (where we let G ii = 1) can be obtained by computing the scores between all the correspondence pairs. The distance invariance matrix is symmetric, where each column or row is a vector describing the compatibility between a given correspondence and other correspondences [50].
We name a column vector G i = (G i1 , . . . , G ij , . . .) T as a compatibility vector of the correspondence c i . We observe that if two correspondences belong to the same instance, their compatibility vectors have similar patterns. Consider two correspondences c i , c j ∈ C s . For any correspondence c k ∈ C s , we have G ik → 1, G jk → 1 because of distance invariance. For other correspondences c k ∈ C/C s , we are likely to have G ik → 0, G jk → 0. In other words, G i , G j have similar 0 − 1 patterns. By contrast, if the two correspondences belong to different instances, their compatibility vectors are very different. To better understand this observation, we illustrate a simple example in Figure 3. Here Gi, Gj represent the compatibility vectors of i th and j th correspondences, which are both in the instance C1. We observe that Gi is similar to Gj. By constrast, Gi differs significantly from G k since the k th correspondence is within the different instance C3. Here C0 represents the set of outliers. Please refer to Section 4.1 for details.
The compatibility vector of a correspondence can be regarded as a characteristic representation or 'feature' of this correspondence. Correspondences belonging to the same rigid transformation have similar features. Therefore, based on these compatibility vectors, we can cluster the correspondences into different groups related to inliers from different instances.

Fast correspondence clustering
We cluster the correspondences in a bottom-up manner which is much faster than spectral clustering adopted by existing methods [38] [44]. In the beginning, each correspondence is treated as an individual group. We then repeatedly merge the two groups with the smallest distance until the smallest distance between two groups is larger than a given value (min dist thresh). The way the distance between groups being defined yields different flavors of algorithms. We follow [33] to define the distance. Let p i , p j be the representation vectors of two groups i and j, the group distance is defined as If the two groups are merged, the representation vector of the new group is updated by where min(·) denotes taking the minimum value for each dimension of the two vectors. At the beginning of clustering, the representation vector of a group (containing only one correspondence) is set as the compatibility vector of that correspondence.

Recursive cluster refinement
After agglomerative clustering, we further refine the result by repeating the following steps until no change happens.
Step 1. Estimate the rigid transformations from the clusters where the number of correspondences is larger than a threshold α.
Step 2. Merge similar transformations. This step will be explained in the next section.
Step 3. Re-assign the cluster label to each correspondence. Each correspondence is assigned to the transformation where its alignment error is the smallest. If the smallest alignment error over all the transformations is larger than inlier thresh, the correspondence is marked as an outlier.
During iteration, the correspondences become more and more gathered, so we can adjust α in Step 1 to increase the strength of outlier rejection. We use the following strategy to update the α in each iteration: where n denotes the n th iteration, N is the number of correspondences, and [·] is a rounding operation. We set α 0 = 3 and θ = 3 in our experiments. The refinement process usually converges within three iterations in our experiments, hence it is also highly efficient.

Merge duplicated transformations
Sometimes similar transformations are generated from different clusters, which means they probably belong to the same instance. We need to merge them in this case. Given two estimated transformations (R 1 , t 1 ) and (R 2 , t 2 ), we compute the alignment error for each correspondence, namely, e ki = y i − (R k x i + t k ) 2 , (k = 1, 2). Next, we set p ki = 1 if e ki < inlier thresh, p ki = 0 otherwise. Thus, we obtain two binary sets P 1 , P 2 for the two transformations. The criterion for merging the two transformations is If this criterion is satisfied, we drop one of the two transformations with more outliers (p ki = 0). Then we re-assign the cluster label to each correspondence according to the one with the smallest alignment error among all the transformations.

Extract transformations from clusters
After clustering, we need to extract the rigid transformations from those correspondence clusters. Since we do not know about the true number of instances in the target point clouds, we need to choose those inlier clusters automatically. We first select the inlier clusters whose element number is larger than a threshold (10 in our experiments) and estimate transformations from those clusters. Next, we sort the transformations by their inlier numbers in descending order. The more inliers a transformation has, the higher chance it is associated with a true instance. Finally, we check the dropping ratio of the inlier number between the transformations and the first transformation (with the most inliers) by where #I k denotes the number of inliers of k th transformation. We neglect all the transforms after k if γ k <= γ thresh. γ thresh can be changed for the trade-off between recall and precision.

Handle a large number of correspondences
When the number of input correspondences is large, both calculating the distance invariance matrix and clustering the correspondences may become expensive. We add downsampling and upsampling processes to address this issue. The downsampling process is run before constructing the distance invariance matrix, which is done by randomly sampling a fixed number of correspondences (1024 in our implementation) for further processing. The upsampling process is run after clustering on the selected correspondences, which assigns all the correspondences to existing clusters. The assignment is done by selecting the transformation with the smallest alignment error as described in Section 4.3 (Step 3).

Experiment
We conduct experiments on both synthetic and realworld datasets by comparing our method with three stateof-the-art multi-model fitting methods: T-linkage(2014) [33], Progressive-X(2019) [10], and CONSAC(2020) [29]. Other multi-model fitting methods: RPA [34] and RansaCov [35] are extremely slow (need months) to run our experiments, hence we do not include them. We also present the results of the state-of-the-art one-to-one registration method TEASER(2020) [49] for comparison. We carefully tune all the methods to achieve the best performance on the evaluation datasets within a reasonable time and memory consumption. For a fair comparison, all the methods take the same set of point correspondences as the input.
We implement our algorithm in Pytorch [39]. T-linkage and Progressive-X are pure-CPU algorithms, while CON-SAC is a learned-based method that runs on GPU. We run our algorithm on the same CPU (Intel Core i7-8700K) with T-linkage and Progressive-X, and the same GPU (GTX 1080Ti) with CONSAC. Our method has three parameters, among which are set as min dist thresh = 0.2, inlier thresh = 0.3 and γ thresh = 0.5 for our experiments. All the point clouds were downsampled in 0.05m voxel size. Our method is not sensitive to the parameter change as the ablation study shown in the supplementary material.
As the metrics used one-to-one registration can not be used for the multi-instance setting, we adopt three metrics from the retrieval task for evaluation: MHR (Mean Hit Recall), MHP (Mean Hit Precision), MHF1 (Mean Hit F1). Their definitions are described in the supplementary material.

Synthetic datasets
We generate a synthetic dataset from a pre-sampled Modelnet40 dataset [48] from PointNet++ [41]. We downsample each point cloud to 256 points and randomly generate K (up to 20 in our tests) transformations to form a target point cloud. The target point cloud is also mixed with other objects and random points to better mimic real-world cases.
Synthetic correspondences In this test, we directly generate the input correspondences by mixing the ground truth and outlier ones. Different outlier ratios were tested, 10% ∼ 50%, 50% ∼ 70% and 70% ∼ 90%. Note that the outliers were randomly sampled within a given range for each test sample. The results are shown in Table 1. As the outlier ratio increases, the performance of almost all the methods decreases, but ours drops slowly and is still significantly better than other methods. Our algorithm is 10x faster than existing methods either on CPU or on GPU. We also plot  the MHF1(Mean Hit F1) curve of our methods with different outlier ratios in 20 instances in Figure 5(a). Though the performance degrades quickly when the outlier ratio is very large, our method still achieves 90.46% MHF1 with 70% outlier ratio. Figure 5(  Correspondences by feature matching In this test, we apply feature matching to obtain the point correspondences by the PREDATOR [26] and D3Feat [7]. Both feature models were trained on synthetic data. The results are shown in Table 2. Note that both features produce correspondences with a high outlier ratio greater than 90%. In such a challenging case, our method still performs well and much better than existing methods in terms of both robustness and efficiency. The results of using D3Feat are much worse than those of using PREDATOR. The reason is that not only because of the presence of more outliers but also missing inliers as we examine the results. We visualize some results in Figure 4.

Benchmark dataset
Scan2CAD [3] is a benchmark dataset that aligns the ShapeNet [43] CAD models with the object instances in ScanNet [20] point clouds. Some scans have several aligned CAD models with annotated poses. We choose those scans containing multiple CAD models as the target point cloud and sample the source point cloud from the CAD model for tests. We generate 173 samples for the registration test, where most samples contain 2 ∼ 5 instances. Note that in each point cloud, only parts of instances were annotated in Scan2CAD. It means that we cannot correctly evaluate the performance such as the precision and recall using the partially annotated poses. To address this issue, we match points only within the ground-truth bounding boxes of the annotated objects in the target point clouds to generate the correspondences. Similarly, we use PREDATOR [26] and D3Feat [7] for point matching, where both are fine-tuned with 1028 training and 187 validation samples from the Scan2CAD dataset. The results are shown in Table 3. Our method performs significantly better than existing methods when using PREDATOR. Note that when using D3Feat, all the methods perform poorly. After we carefully checked the results, we found that the reason is not only the high outlier ratio ( about 97.25% ) but also the lack of sufficient inliers when using D3Feat, even though the feature matching is restricted within the ground truth bounding boxes in the target point clouds. Some results are visualized in Figure 6 and Figure 7. We also evaluate the performance of  Table 2. Results on synthetic data using feature matching to generate correspondences. Some results are visualized in Figure 4.  Table 3. Results on Scan2CAD benchmark dataset.
our method by enlarging the bounding box by1.5×, 2.0×, and 4.0×. When the box size is adjusted to 4×, the target point cloud is almost the original scan. The results based on PREDATOR features are shown in Table 4. When more background points are included, feature matching becomes more challenging, producing highly noisy correspondences, which makes the MHF1(Mean Hit F1) of our method decrease notably.  Table 4. Results of using different sizes of bounding boxes for feature matching on Scan2CAD dataset. The estimated outlier ratio is listed in the bracket after the box size. GPU time is listed in the last column.

Real-world tests
We use an RGB-D camera (Intel D455) to capture a sequence of point clouds a pile of objects on the table and apply our algorithm to align a 3D scan of a particular object to its multiple instances in the target RGB-D scan. Since the color information is available, we use SIFT feature to generate 3D point correspondences. Then we apply our algorithm to extract the pose of each object. Some results are shown in Figure 8. Though the table is cluttered with different objects, our methods can correctly align the source 3D scan up to more than ten instances almost in real-time (about 0.2s per frame). More results can be found in the supplementary material.

Limitation
The performance of our method relies on the quality of point correspondences. Unfortunately, we found that using state-of-the-art 3D features such as D3Feat and PREDA-TOR produces unsatisfactory correspondences, although they have exhibited good performances on some benchmark tests. To improve the correspondence quality, we have to train those features for each dataset in our experiments. Even by doing so, the outlier ratios are still very high and sometimes the inliers are missing for some instances (especially when using D3Feat) which significantly reduces the recall as the experiments show. Therefore, the 3D feature is a bottleneck that requires to be significantly improved. Another limitation is that distance invariance is a weak rule that does not hold well for noisy point clouds and sometimes is insufficient to reject outliers that are close to inliers, which may also degrade the performance of our method. One possible solution is to seek a better invariance 'feature' representing each correspondence within an end-to-end learning pipeline as [6].

Conclusion
We address the novel task of multi-instance 3D registration in this paper. We found that the column vectors of the distance invariance matrix encode rich information about the instance to which the correspondences are related. Based on this observation, we cluster the correspondences into different groups efficiently by an agglomerative algorithm and refine the result by several iterations. The results on synthetic, benchmark, and real-world datasets show that our method outperforms existing methods significantly in terms of robustness, accuracy, and efficiency. Though our solution is still far from perfect as discussed, we hope our work could inspire future research on this topic.
We provide extra details about the proposed method, the evaluation metrics, and the experiments because of the limited space in the main draft. We also present additional qualitative results of our experiments in Fig7-6 (benchmark data) and Fig8 (Real-world data).

B. Definition of evaluation metrics
Three metrics are used to evaluate the performance of multi-instance point cloud registration. They are Mean Hit Recall, Mean Hit Precision, and Mean Hit F1.
Before we start to compute those metrics, the first step is to establish the ground truth and estimation pair. Assuming there are K ground truth transformations and M estimated transformations, we construct an assignment matrix F ∈ K × M and obtain the one-to-one mapping by solving the linear assignment problem [30]. To construct the assignment matrix F, we use F-norm to compute the distance between each pair of ground-truth and estimated transformation, T * i andT j : where the transformation matrix is defined as After solving the linear assignment problem, we obtain S = min(K, M ) GT-estimation pairs. We then define the Relative Rotation Error (RRE) and the Relative Translation Error (RTE) between a GT-estimation pair T * s andT s as RT E s = t * s −t s With the two errors, we define the evaluation metrics in the following sections.

B.1. Mean Hit Recall (MHR)
The Mean Hit Recall between two registered point clouds is defined as where I s = {0, 1} represents whether a GT-estimation pair being 'hit'. Specifically, where I (·) = {0, 1} denotes an indicating function. RRE s and RT E s are the relative rotation error and relative translation error for the s th GT-estimation pair defined in (11).
The two thresholds τ r and τ t are set to be 20 • and 0.5m respectively in all our experiments.
The final Mean Hit Recall is obtained by averaging the MHR of all the point cloud pairs.

B.2. Mean Hit Precision (MHP)
The Mean Hit Precision between two registered point clouds is defined as The We extract features for all the points both in the source point cloud and the target point cloud before we start to match the corresponding points. We use the state-ofart point cloud feature extractors PREDATOR and D3Feat in our synthetic and benchmark experiments. We found the pre-trained models (trained on ModelNet40) of both PREDATOR and D3Feat perform so poorly that we train those models from scratch using the datasets used for evaluation.
To obtain multi-instance correspondences, instead of matching the source point cloud to the target point clouds, we match them in the reversed order. In other words, for each point in the target point cloud, we find the most similar one in the source point cloud by nearest neighborhood feature matching. In this way, we can associate multiple target points with a single source point.

C.2. About estimated outlier ratios
In Table 2 ∼ 4 of the main draft, we present the estimated outlier ratio for each result. Here we present how the outlier ratio is estimated. Given the ground truth transformations from the source points to the target points, we may establish the ground truth correspondences between the source points and the target points. The outlier correspondences are those who are different from the ground truth ones. Namely, for an estimated correspondence, we find the ground truth correspondence with the same target point and check if its source point is the same as that of the ground truth.

D. Ablation Study
Tab5 shows ablation study on the two successive steps of our method -clustering and refinement -on both synthetic and real-world tests (see Tab 2 and Tab 3 for results of other methods). The clustering step produces noisy clusters leading to high recall but low precision. The refinement step can remove outliers and merge duplicated clusters, achieving both high recall and high precision.
Fig9 shows performance change with five parameters, the top line are results tested on the synthetic dataset and the bottom line are those on the Scan2CAD dataset. The first three columns show the ablation study on three key parameters. The performance curves are smooth (except γ thresh, which is used to trade-off recall and precision) and have similar shapes across different datasets, indicating those parameters are easy to be tuned and generalize well for different datasets. The last two columns imply that the parameters in Eq6 and Eq7 have little impact on the performance except for a high IOU threshold (> 0.9). The values used in all our experiments are indicated by vertical dot lines.
Step  Table 5. Ablation study on clustering and refinement.

E. Qualitative result
We show extra qualitative results of our experiments. The results of Scan2CAD are shown in Figure 10