A Fast and Robust Rotation Search and Point Cloud Registration Method for 2D Stitching and 3D Object Localization

: Rotation search and point cloud registration are two fundamental problems in robotics, geometric vision, and remote sensing, which aim to estimate the rotation and transformation between the 3D vector sets and point clouds, respectively. Due to the presence of outliers (probably in very large numbers) among the putative vector or point correspondences in real-world applications, robust estimation is of great importance. In this paper, we present Inlier searching using COmpatible Structures (ICOS), a novel, efﬁcient, and highly robust solver for both the correspondence-based rotation search and point cloud registration problems. Speciﬁcally, we (i) propose and construct a series of compatible structures for the two problems, based on which various invariants can be established, and (ii) design time-efﬁcient frameworks to ﬁlter out outliers and seek inliers from the invariant-constrained random sampling based on the compatible structures proposed. In this manner, even with extreme outlier ratios, inliers can be effectively sifted out and collected for solving the optimal rotation and transformation, leading to our robust solver ICOS. Through plentiful experiments over standard datasets, we demonstrated that: (i) our solver ICOS is fast, accurate, and robust against over 95% outliers with nearly a 100% recall ratio of inliers for rotation search and both known-scale and unknown-scale registration, outperforming other state-of-the-art methods, and (ii) ICOS is practical for use in real-world application problems including 2D image stitching and 3D object localization.


Problems Formulation
Rotation search aims to find the best rotation that aligns two 3D vector sets in different coordinate frames, which can be formulated as follows.
Given two 3D vector sets U = {u i } N i=1 and V = {v i } N i=1 where we consider tuple (u i , v i ) as a vector correspondence, the following relation is satisfied: where R ∈ SO(3) (the explicit properties and constraints of SO(3) can be found in [13,14]) denotes the rotation matrix and i ∈ R 3 represents the measurement of Gaussian noise with isotropic covariance σ 2 I 3 (σ is the standard deviation and I 3 ∈ R 3×3 is the identity matrix) and mean µ = 0 w.r.t. the i th vector correspondence. Thus, the rotation search problem can be mathematically defined as follows: Problem 1 (Rotation search). The rotation search problem under the perturbance of noise can be equivalently formulated as a minimization problem such that: where globally optimal solutionR is the best rotation desired.
Point cloud registration consists of estimating the transformation (including scale, rotation, and translation) between two given 3D point clouds. Now, we introduce the correspondence-based point cloud registration problem.
With two 3D point clouds P where tuple (P i , Q i ) represents a point correspondence, we can have the following relation: where s > 0 is the scale, R ∈ SO(3) is the rotation matrix, t ∈ R 3 is the translation vector, and ε i ∈ R 3 represents the measurement of Gaussian noise similar to that in Problem 1.
The generalized point cloud registration problem can be defined as follows.
Problem 2 (Generalized point cloud registration). Solving the generalized point cloud registration problem under the perturbance of noise is equivalent to the following minimization problem: or transformation (SE(3)) group to globally optimize the objective function, whereas its computational cost grows exponentially with the input correspondence number; hence, it may be too slow for large-sized problems. In addition, the outlier removal method GORE [20,21], as well as the nonminimal solvers FGR [22], QUASAR [23], and TEASER/TEASER++ [24,25] have been proposed to deal with the two problems with over 90% outliers. However, for point cloud registration, these solvers can only succeed when the scale between the two point clouds is known and fixed. When the scale varies (e.g., between point clouds formed with different sources), none of these methods could tolerate more than 90% outliers, which indeed necessitates a general solver capable of solving not only the known-scale problems, but also the unknownscale ones.
To handle rotation search problems with high outlier ratios, though GORE [21] is efficient when the problem size is small, it requires more time to remove outliers as the correspondence number increases. Hence, proposing a high-outlier-ratio-tolerant solver that can be efficient regardless of the correspondence number seems rather imperative.
Contributions: Motivated by these facts, in this paper, we propose a novel highly robust paradigm, named Inlier searching with COmpatible Structures (ICOS), for addressing rotation search and generalized point cloud registration with extreme outlier ratios, as exemplified in Figure 1.   [16]. Middle: inliers found by ICOS (green lines). Right: stitched images with the rotation estimated by ICOS. The outlier ratio is over 74%, and ICOS can correctly find the inliers. (b) Unknown-scale point cloud registration. Left: among the 1000 putative correspondences, there exist 990 outliers (red lines) and merely 10 inliers (green lines). Right: ICOS can still estimate the scale, rotation, and translation robustly and precisely. (c) Object localization with an unknown scale in a realistic RGB-D scene [26]. Left: correspondences are built between the object and the scene with over 95% outliers. Right: ICOS can accurately reproject the object back to the scene with the transformation it estimated.
To be specific, ICOS aims to seek the correct inliers through the random sample flow (rather than pruning outliers as performed in the previous works [20,27]), but significantly different from the RANSAC family (e.g., [18,28,29]), the sampling and filtering process of ICOS is built upon and also facilitated by the constraints derived from the compatible structures that we define based on the theory of invariance.
First, we introduced and constructed a series of compatible structures for the rotation search and generalized point cloud registration problems, with which we were able to "customize" special invariant-based constraints that can be used for effectively differentiating inliers from outliers only with simple Boolean conditions (Section 4).
Moreover, we designed sampling-based frameworks that can fit with the compatible structures to seek and preserve eligible inliers out of the putative correspondences for the two problems, in which peculiar constraint-based sampling strategies were employed to optimize time efficiency for the proposed algorithms (Section 5).
Finally, we validated ICOS in a variety of experiments over different datasets and demonstrated that: (i) ICOS is precise and robust even when over 95% of the correspondences are outliers in the rotation search, as well as both the known-scale and unknownscale registration problems (it can be even robust against up to 99% outliers when correspondences are relatively sufficient); (ii) ICOS runs fast, yields accurate estimates, and recalls approximately 100% of the inliers; (iii) ICOS is also applicable to practical application problems over real datasets (Section 6).

Related Work
In this section, we provide reviews on: (i) methods for naive and robust rotation search, (ii) methods for naive and robust point cloud registration, and (iii) heuristics for robust outlier rejection.
Rotation search: The rotation search (also called "Wahba") problem was first proposed by Wahba in [1], in order to estimate the attitude of satellites from the observation of vectors. It can be solved in closed form based on either a rotation matrix [30][31][32][33] or the quaternion-based parametrization [34,35], although these methods usually fail in the existence of outliers.
It is known to all that in the process of building vector correspondences using the feature descriptors [16,17] based on 2D or 3D keypoints, it is likely to obtain false results and mismatches, that is the so-called outliers. Thus, robust solvers are required.
The BnB framework is effective at finding the optimal rotation from the outliercorrupted corresponding vectors, and the typical examples include the first globally optimal method searching over the rotation space [36], the L2-distance-based approach [37], and the speeded up angular-distance-based solution [38]. In addition to BnB, guaranteed outlier removal [21] is another way to estimate the rotation robustly and is generally faster than the BnB solvers. Some other robust rotation search solvers are also the subroutines for point cloud registration problems (e.g., [20,22,25]), which will be later discussed in the review on point cloud registration.
Point cloud registration: To solve the point cloud registration problem, the Iterative Closest Point (ICP) [39] is a common local-minimum approach, but it is too dependent on the initial guess of the transformation, thus prone to fail without a good initialization. Therefore, an initialization-free way to address the registration problem-to build correspondences between point clouds from 3D keypoints [40] using feature descriptors (e.g., FPFH [17], ISS [41], and FCGF [42]), has grown increasingly popular. Many correspondence-based methods have been proposed to address the registration problem in the presence of noise. For example, it can be solved using closed-form solutions [32,34] by decoupling the estimation of rotation, scale, and translation. BnB has also been applied to solve the registration problem [43] in a globally optimal way. More recently, the Lagrangian dual relaxation was developed to produce a globally optimal generalized registration solver [14] for handling point-to-point, point-to-line, and point-to-plane registration with optimality guarantees. However, the 3D feature descriptors generally have lower accuracy and robustness compared with 2D ones [15,16], which could result in relatively higher or even extreme outlier ratios in some real-world scenes, as was discussed in [20]. The above-mentioned solutions are fairly sensitive and can be fragile once there exist outliers among the correspondences, which consequently demands the following robust registration methods.
The minimal closed-form solutions [32,34] can be fit into the RANSAC family frameworks [18,28,29] to deal with outliers, though they may be slow when the outlier ratio is high. Another idea to be robust is that: if as many outliers can be guaranteed to be removed or eliminated as possible, then what remains should be mostly inliers. GORE [20] is such a preprocessing outlier removal approach that guarantees that the correspondences removed must not be inliers. In terms of the nonminimal robust solvers, FGR [22] is the first method using Graduated Nonconvexity (GNC) to reject outliers, which estimates the rigid transformation matrix with a Gauss-Newton method. Though not globally optimal, FGR is efficient for known-scale registration. Currently, TEASER/TEASER++ [24,25] are the more robust nonminimal certifiably globally optimal solvers that can tolerate 99% outliers in known-scale situations. Another recent solution [44] utilizes RANSAC for scale and translation estimation and also adopts GNC to solve the rotation. Unfortunately, all these solvers are either incapable of estimating the scale or unable to tolerate over 90% outliers for unknown-scale point cloud registration (as will be shown in Section 6).
Robust estimators. Apart from the classic hypothesize-and-test framework RANSAC, M-estimation is useful for outlier rejection [22,[45][46][47]. When the naive solver is nonminimal, the special M-estimator GNC [48] is a general-purpose estimator operated by alternating optimization and adopts robust cost functions such as Geman-McClure (GM) or Truncated Least Squares (TLS), which can handle 70-80% outliers in robotics or vision problems. In addition, invariants can be applied for robust estimation. This paper is an improved and extended version of our prior work RANSIC [49]. The main differences are as follows: (i) this paper introduces the concept of compatible structures for the first time, which can enable faster termination with extreme outlier ratios (this is shown in experiments); (ii) though both use invariants, RANSIC keeps searching for compatible three-point sets, while ICOS only seeks single correspondences based on an eligible compatible structure, so that novel robust algorithm frameworks are proposed in this paper; (iii) the method's presentation is more extensive, and the experiments are also enriched in this paper.

Invariants
We first define the concept of invariants by borrowing the notation and definition in [27].

Definition 1 (Invariants).
In one geometric problem, assume that we obtain N putative correspondences whose indices are in set C = {1, 2, . . . , N}. Let S ⊂ C denote a subset of C with a fixed size, x denote the vector stacking all variables, y S denote the measurements w.r.t. subset S, η S denote the corresponding noise measurements independent of x, and h S (x, η S ) denote the mathematical model that is used to define the relation between x and y S , given by y S = h S (x, η S ).
If we find a function f (y S ) where f (y S ) = f (h S (x, η S )) is always satisfied and also independent of x no matter which S ⊂ C is selected, we can consider f as an invariant function, also abbreviated as an invariant.

Naive and Nonminimal Solvers
In our solver ICOS, the computation of the scale, rotation, and translation without outliers is realized by introducing the fast nonminimal naive solvers below.
Assume that we have M correspondences (inliers); we first need to acquire the corresponding 3D vectors, which, in rotation search, are just the original vector correspondences such that: while in point cloud registration, this can be represented with the centroid-based translationfree technique [32] such that: whereP andQ are the centroids in the two frames, respectively, given by: The optimal rotation can be computed in closed-form using Singular-Value Decomposition (SVD) [32] such that: In point cloud registration, the best scale can be computed by the weighted representation as in [25] such that:ŝ where With the rotation and the scale obtained, the translation can be recovered using the centroids as:t =Q −ŝRP.

Compatible Structures in the Point Cloud Registration Problem
In this section, we define the Compatible Structures (COSs) for the two problems and then fully explore the potential invariants among them to establish the constraints for the sampling process.

COS in Rotation Search
The basic structure in rotation search for constrained random sampling is the COS that consists of a pair of correspondences as introduced below.
Definition 2 (2-COS and length-based invariants). Assume we have 2 vector correspondences such that (u i , v i ), i = 1, 2, defined as a 2-COS. We first normalize them all to unit length such that: Then, we derive the following pairwise length-based invariants as: where I l 12 represents the length-based invariant w.r.t. this pair of correspondences and l 12 denotes the noise measurement (perturbance) on this invariant.
Intuitively, invariant I l 12 represents the length difference between the third sides of the two triangles formed by the corresponding vector pairs over the two frames. Without noise perturbance, I l 12 should be strictly equal to 0 as long as the correspondences pf this pair are both inliers. However, with noise, we can still impose a constraint on I l 12 to examine whether this correspondence pair might contain outliers. Proposition 1 (Constraints on I l 12 ). For the pairwise invariant I l ij in the 2-COS defined above, we can derive that: where L denotes the bound w.r.t. noise satisfying the inequality such that L * + ||ε|| · Proof. Based on the triangular inequality and the fact that norm · is invariant of R, we can always have: where the length-based inequality (13) can be proven.
If we have obtained an eligible 2-COS, we can compute the rotation w.r.t. this pair of correspondences using Horn's triad-based matrix transformation [34] such that: where "Exp" maps the size-3 noise measurement (vector) ρ 12 to the rotation (for explicit derivations, please refer to Section 7.1.3 in [50]), and R gt denotes the ground truth rotation.
Then, we further try to build a 3-COS by adding a new correspondence with this 2-COS, based on which new constraints can be imposed.

Proposition 2 (3-COS, invariants and constraints).
Assume that now we obtain a new correspondence, say the 3 rd correspondence, in addition to the 2-COS we have, as illustrated in Figure 2 we are able to construct a 3-COS with two more invariants such that: and two additional length-based constraints are satisfied: where i ∈ {1, 2}. Apart from simply constraining the length-based rigidity, we also supplement a residual-based constraint on (u 3 , v 3 ) such that: where G is the bound for the residual error w.r.t. the 3 rd correspondence. Besides, for every single 2-COS in this 3-COS, we can compute a raw rotation, represented as R ij with the correspondence In this fashion, we can impose new constraints on the mutual compatibility between the raw rotations w.r.t. different correspondence tuples selected from this 3-COS such that: where "∠" is the geodesic distance (error) [51] between two rotations, written as: where F is the bound of noise for the geodesic error satisfying that 2∠(Exp(ρ), I 3 ) ≤ F and I 3 denotes the 3 × 3 identity matrix.

3-COS with {P
Finding  (17) and (18) is similar to that in Proposition 1, thus omitted here. For the constraints (19), on the basis of the triangular inequality of the geodesic distance in [51] and similar to [27], we can derive:

Proof. The proof of Constraints
Up to now, in rotation search, the constraints over the 2-COS and 3-COS have been established, which will be later converted as a series of Boolean conditions for the sampling and filtering frameworks of ICOS in Section 5.

COS in Point Cloud Registration
The basic structure in point cloud registration lies in the COS with 3 correspondences.
Then, we can endow each pair of scale-based invariants I s ij with constraints given as follows: Proposition 3 (Constraints on I s ij ). For any two invariants I s ij in the 3-COS, we can derive that: 2)} (here, I s ij and I s ji denote the same invariant) and A is the noise bound, satisfying that 2||ε|| ≤ A. In addition, when the scale is known (s gt = 1), we can further have that: Proof. It is easy to have that: where Using the triangular inequality, we can derive that: so that: Thus, Inequalities (23) and (24) can be derived as long as we have: Subsequently, we calculate the raw scale s 123 as: where ω ij = P ij 2 A 2 and the raw rotation R 123 using Horn's 3-point minimal solver [34], similar to (15). With the raw scale and rotation solved, we can define the translation-based invariants as follows: Definition 4 (Translation-based invariants). In addition to (22), we can derive the translationbased invariants: where i ∈ {1, 2, 3}, I t i represents the translation-based invariant w.r.t. the i th correspondences and ε t i describes its noise measurement. In known-scale cases, we directly set s 123 = 1.
To create constraints on any two invariants I t i from this 3-COS, we can derive the following: Proposition 4 (Constraints on I t i ). For invariants I t i in the 3-COS above, we can derive that: where (i, j) ∈ {(1, 2), (2, 3), (3, 1)} and B is the noise bound, satisfying that 2||ε t || ≤ B.
Proof. The proof here is trivial.
On the basis of this 3-COS, whenever we obtain a new (the 4 th ) correspondence, defined as a 4-COS, additional invariants can be established as follows.
Proposition 5 (4-COS, invariants and constraints). If we have the 4th correspondence in addition to the 3-COS we have, we can first build 3 more scale-based invariants such that: where i ∈ {1, 2, 3}, with the following constraints: where i, j ∈ {1, 2, 3}, i = j. Similar to Proposition 2, we also supplement a residual-based constraint on (P 4 , Q 4 ) such that: where t 123 can be computed from the 3-COS as: and C is the bound for this residual error. Moreover, for each 3-COS in this 4-COS, we can compute a raw rotation, represented as R ijk with the correspondence tuple (i, j, k). Thus, new constraints on the mutual compatibility of rotations can be established as: where "∠" is also the geodesic error between two rotations, expressed as: Proof. The proof here is omitted, since the derivations of Constraints (32) and (33) is analogous to Propositions 3 and 4 and the derivation of Constraint (35) is similar to Proposition 2.
So far, we have derived the invariant-based constraints from both the 3-COS and 4-COS for the registration problem, leading to the resulting robust solver ICOS.

Our Solver: ICOS
In this section, we formulate our solver ICOS for rotation search and both the knownscale and the unknown-scale point cloud registration problems.
We first provide the insights and overview of the proposed solver. As intuitively illustrated in Figure 2, we begin with finding eligible a-COS across the two point sets by roughly checking the first layer of invariant-based constraints, where a = 2 for rotation search and a = 3 for point cloud registration, as discussed in Section 4.
Once an a-COS satisfies the required constraints, we solve the raw solutions (rotation, scale, or translation) with it, which is for further examining whether the second layer of constraints can be satisfied. Holding one eligible a-COS, we then pick random correspondences one after another with testing both their residual-based and invariant-based constraints simultaneously, in order to construct an eligible b-COS, where b = a + 1, on the basis of this a-COS.
The process of finding b-COS continues until we are able to obtain a sufficient number of such b-COS within reasonable times of the single-correspondence random sampling, which also serves as a hidden condition aiming to determine whether the a-COS and its corresponding b-COS can be all true inliers.
The following subsections provide more details on formulating the pseudocode of ICOS for specific problems.

ICOS for Rotation Search
For addressing the rotation search problem, we render the pseudocode of ICOS in Algorithm 1 and the description for each part as follows.

Algorithm 1: ICOS for rotation search
if R satisfies Constraint (13) then 6 Solve R 12 with R using (15); 7 pass ← 1; Lines 2-10: ICOS initiates with random sampling. However, different from ordinary random sampling procedures, we impose constraints on each random sample selected. When picking one random subset R of 2 correspondences, we immediately check the length-based invariant (13). If it can be satisfied, we solve the raw rotation with this 2-COS R and then allow it to proceed to the next step, which is operated by setting pass = 1; if not, we start over from the sampling process.

Lines 11-25:
If we manage to obtain an eligible 2-COS, say R, we can then seek new correspondences to build a 3-COS, also by constrained sampling, where we select and test the correspondence samples one at a time. If one correspondence can satisfy Constraints (17)- (19), indicating that it can form an eligible 3-COS with R, we add it to the inlier set and make count increase by 1. Once we collect enough 3-COS (count ≥ X), we stop sampling and return the X + 2 inliers in total.
During this process, we supplement an important subroutine: checkSampling, in order to boost time efficiency, which is designed to timely break from the sampling if the obtained 2-COS (R) does not seem to be inliers, and this operation could be realized by regularly checking the number of 4-COS formed according to the iteration number, as demonstrated in Algorithm 2. To be specific, as long as the correspondences in set R are both inliers, at least one inlier correspondence ought to be sampled after a sufficient number of iterations that can be computed from (37) by setting a high confidence; conversely, if the latter condition cannot be satisfied, we have every reason to suppose that set R contains at least one outlier. Lines 26-28: We first compute the rotation with the X+2 inliers and then consider all correspondences whose residual errors satisfy r i ≤ 5.2σ as the ultimate inliers. Finally, we can solve the optimal rotation with all the inliers found among the putative correspondences using the nonminimal estimator (8).

ICOS for Known-Scale Registration
The pseudocode of ICOS for point cloud registration with a known scale (s = 1) is given in Algorithm 3.

Lines 2-14:
We design a decoupled sampling method for the known-scale registration. First, we select a random subset R of 2 correspondences, rather than 3, and check if their scale-based invariant I s 12 is close enough to 1 using constraint (24). If it is, we then proceed to select random samples for the remaining one correspondence, during which we try forming an eligible 3-COS that satisfies the constraints (24) based on R; if not, we go back to the sampling process to seek R.
Lines 15-32: Once an eligible 3-COS (set O) is obtained, we check their constraints (23). If satisfied, we then solve the raw rotation with O and determine whether the constraints (30) are fulfilled in O. If yes, we then move on to sampling once again, for building one 4-COS based on set O. We take random correspondences one at a time and feed them sequentially to O to check Constraints (32)- (35). After collecting enough correspondences (X) that can construct qualified 4-COS with O, we jump out and return the inliers.
Lines 33-35: Similar to Algorithm 1, we check the residual error w.r.t. each correspondence to gather the whole inlier set, which is then used to compute optimal solutions with the nonminimal solvers (9) and (10).

Algorithm 3: ICOS for known-scale registration
; minimum number of 4-COS X; Output : optimal (R,t); inlier set N In ;  (8) and (10); 34 Compute the residual errors r i (i = 1, 2, . . . , N) for all the correspondences in N ; if r i ≤ 5.2σ, add it to N In ; 35 Solve optimal (R,t) with N In using (8) and (10); 36 return optimal (R,t) and the inlier set N In ;

ICOS for Unknown-Scale Registration
When the scale is unknown, we design a different framework for ICOS, and its pseudocode is shown in Algorithm 4. Algorithm 4 employs a methodology similar to lines 15-35 of Algorithm 3. The differences lie in that: (i) we are unable to impose the constraints (24) on the 3-COS using the decoupled sampling method as operated in Lines 3-14, since the scale is not fixed, which may result in more runtime than the known-scale problems generally; (ii) the raw scale and the scale-based invariants are not set to 1, but need to be computed as in (22) and (31) instead.

Discussion on the Maximum Iteration Numbers
Note that in Algorithms 1 and 2, a series of maximum iteration numbers is involved during the sampling process, so now we discuss the proper choice of their values.
Generally, the maximum iteration we set can be given by the following formulation: where x is the number of eligible inlier subsets desired, p is the confidence for the fact that all the correspondences selected are inliers (typically we choose p > 0.98), usually the outlier ratio should be within 0-99% (typically, 99% is chosen unless we can know in advance that the outlier ratio is below a certain level), and n is the number of correspondences we select for each random sample (subset). Therefore, for maxItr 1 , we adopted n = 2, choosing two correspondences at one time, while for maxItr 2 , maxItr 3 and maxItr 4 , we set all n = 1 for single-correspondence sampling.

Discussion on the Performance of ICOS
Since the main body of our solver ICOS consists of simply judging a series of Boolean conditions (true or false) according to the constraints over the invariants w.r.t. different variables, it can be fast to implement. Besides, ICOS abandons the strategy of making an estimate for every random sample selected (as operated in RANSAC) and smartly solves the transformation only when the scale-based constraints (23) and (24) allow it to do so. Furthermore, the residual errors w.r.t. all the correspondences only require being solved once (just for finding the whole inlier set), saving much time for a realistic implementation, especially when the point cloud correspondences are in huge numbers, which is not uncommon in practice.

Experiments
In this section, we conduct a series of experiments based on multiple datasets to evaluate the proposed solver ICOS for rotation search and generalized point cloud registration, also in comparison with the existing state-of-the-art solvers. All the experiments were implemented in MATLAB on a laptop with an i7-7700HQ CPU and 16 GB RAM, and no parallelism programming was ever used. The explicit parameter setup for ICOS is given in Table 1.

Benchmarking of Rotation Search on Synthetic Data
Experimental setup: We tested our solver ICOS for rotation search over synthetic datasets, where our environmental setup was similar to that in [23]. We first randomly generated N = {100, 500, 1000} vectors U = {u i } N i=1 with unit-norm, and rotated U with a random rotation R ∈ SO(3) to obtain a new vector set V = {v i } N i=1 in another coordinate frame. We then added random zero-mean Gaussian noise with σ = 0.01 and µ = 0 to all vectors in V. After that, a portion of the vectors in V (from 0% up to 99%) were substituted by randomly generated unit-norm vectors to generate outliers among the correspondences. All the experimental results were obtained over 50 Monte Carlo runs in the same environment.
Results: Figure 3 displays the benchmarking results on both accuracy and runtime. It is not hard to observe that: (i) both FGR and RANSAC (100) failed at 90% and RANSAC (1000) broke at 98%, while RANSIC and our ICOS were robust against 95% with N = 100, 98% with N = 500, and 99% with N = 1000; (ii) ICOS was (one of) the most accurate solvers for all times since it constantly demonstrated the lowest rotation errors; (iii) with N = {500, 1000}, ICOS was faster than the other solvers excluding RANSIC when the outlier ratio was below 95%, and with N = 100, it had a similar speed as GORE when the outlier ratio was no greater than 60%; (iv) though ICOS was slightly slower than RANSIC at 90-98% outliers, it became more time efficient at 99%.

Benchmarking of Point Cloud Registration on Real Data
Experimental setup: We evaluated ICOS against other state-of-the-art methods over the "bunny" and the "Armadillo" point clouds from the Stanford 3D Scanning Repository [52], and the environmental setup was inspired by [24,25]. We first randomly downsampled the point cloud to 1000 points and resized it to be placed in a cube of [−0.5, 0.5] 3 meters, which can be regarded as the initial point set P = {P i } 1000 i=1 . Then, we generated a random rigid transformation: (s, R, t), in which scale s ∈ [1, 5), rotation R ∈ SO(3), and translation ||t|| ≤ 3 m, to transform point set P. We added random Gaussian noise with σ = 0.01 and µ = 0 to the transformed point set, as the point set Q = {Q i } 1000 i=1 . To create outliers in clutter, a portion of the points in Q were substituted by random points inside a sphere of diameter s √ 3 m according to the outlier ratio (from 0% up to 99%), as exemplified in Figure 4. All the experimental results were obtained over 50 Monte Carlo runs in the same environment.
The estimation errors in all experiments were computed as: and E R is the same as (38), where subscripts "gt" indicate the ground truth.
Known-scale problems: We adopted FGR, GORE, RANSAC, TEASER, RANSIC, and ICOS for the known-scale point cloud registration problems. As for RANSAC, we used Horn's minimal (3-point) method [34] to solve the rigid transformation, and the confidence was set to 0.995. There were two stop conditions for RANSAC: (i) RANSAC with at most 1000 iterations, named RANSAC (1000), and (ii) RANSAC with at most 1 min of runtime, named RANSAC (1 min). In terms of TEASER, we adopted the GNC heuristic version as in [25], which uses GNC-TLS to solve the large robust SDP problem, rather than using convex relaxation, but differently: (i) we did not apply parallelism programming in order to ensure the fairness in the runtime evaluation for all the tested solvers; (ii) TEASER was completely implemented in MATLAB, not in C++, using the fast maximum clique solver [53].
Unknown-scale problems: For unknown-scale registration, we only compared ICOS with RANSAC and RANSIC because: (i) FGR and GORE were not designed for scale estimation originally; (ii) the scale estimator Adaptive Voting in TEASER was too slow for handling 1000 correspondences (requiring tens of minutes per run) and was also unable to tolerate over 90% outliers, thus no need to be compared.
Results: The main benchmarking results are shown in Figure 4 (over the "bunny" point cloud) and Figure 5 (over the "Armadillo" point cloud). We can observe that: (i) in the known-scale registration problem, GORE, TEASER, RANSIC, and our ICOS were all robust against 99% outliers, but GORE was hardly accurate; (ii) RANSAC (1000) failed at 90%, while FGR and RANSAC (1 min) failed at over 95%, not as robust as ICOS; (iii) in the unknown-scale registration problems, ICOS could still address 99% outliers highly robustly; (iv) ICOS was the fastest solver when the outlier ratio was below 98% (note that though FGR seemed faster at over 96%, it already became no longer robust) and was constantly faster than RANSIC when the outlier ratio was high (e.g., 90-99%).

Evaluation on the Inlier Recall Ratio
We tested the capability of ICOS for recalling correct inliers from the outlier-corrupted putative correspondence set in the rotation search and known-scale and unknown-scale registration with the same experimental setup as in Sections 6.1 and 6.2, setting N = 1000 for all the problems, and the results are shown in Figure 6. The recall ratio is defined as the ratio of the number of true inliers found by ICOS to the ground truth number of inliers among the original correspondences. We can observe that ICOS was able to recall approximately 100% (no less than 99%) of the inliers from the correspondences with outlier ratio ranging from 0% to 99%, which underlies its high estimation accuracy against noise in the benchmarking above.

Benchmarking on Scale Estimation in Registration
We benchmarked ICOS for scale estimation alone, compared with the Adaptive Voting in TEASER/TEASER++ and the 1-point RANSAC in [44]. Following the setup in Section 6.2, we further downsampled the "bunny" to only 100 points because the solver Adaptive Voting would run in tens of minutes with 1000 correspondences. In each run, the scale was randomly generated within (1, 5) m. Figure 7 shows the scale errors and the runtime w.r.t. an increasing outlier ratio. We can see that both Adaptive Voting and 1-point RANSAC broke at 90% outliers, while ICOS could stably tolerate 90% outliers and was faster than the other two competitors. In fact, ICOS could be robust against up to 99% outliers, as shown in Section 6.2.

Qualitative Registration Results over Real Datasets
In addition to the quantitative point cloud registration results rendered above, we provide qualitative results of the registration problems over multiple real point clouds, including the "bunny" and "Armadillo" from [52], the "Mario" and "Squirrel" from the SHOT dataset (http://vision.deis.unibo.it/list-all-categories/78-cvlab/80-shot, accessed on 30 July 2021), and the "city" and "castle" from the RGB-D Scans dataset [26], for concrete evaluation.
The experiments were set up as follows: (i) we transformed a certain point cloud with a random transformation (with both a known scale and unknown scale); (ii) we adopted the FPFH 3D feature descriptor [54] to match and build putative correspondences between the transformed point cloud (colored in magenta) and the initial one (colored in blue), where outliers are bound to exist; (iii) we applied ICOS to solve the transformation and then used it to reproject the transformed point cloud back to its initial place. The qualitative results are shown in Figure 8. After reprojection, the better the magenta point cloud overlaps with the blue one, the better the registration can be.
From Figure 8, we see that ICOS yielded rather satisfactory robust registration results.

Additional Benchmarking on High Noise
We conducted more experiments on rotation search and unknown-scale point cloud registration with high noise. As the "bunny" point cloud is in a [−0.5, 0.5] 3 box, adding noise with σ = 0.1 is extreme, as shown in Figure 9, where the shape of the "bunny" is hardly seen. We tested ICOS against other solvers with N = 100 (rotation search) and with N = 1000 (registration). The results are shown in Figure 9 (in registration, the translation errors were similar to the rotation errors, thus omitted).
We can observe that ICOS was still robust against at least 80% outliers in both of the tested problems with such high noise, while remaining time efficient, outperforming other competitors. the left image is the "bunny" without noise, and the right one is that with noise σ = 0.1.

Application 1: Image Stitching
To validate ICOS in the real-world application of rotation search, we adopted ICOS to solve the image stitching problem over the LunchRoom image sequence from the PASSTA dataset [55], with an experimental setup similar to [23]. We first used the 2D feature descriptor SURF [16] to detect and match the 2D keypoints across a pair of images with overlapping scenes. Then, we applied the inverse of the camera intrinsic matrix K −1 to create the vector correspondences U = {u i } N i=1 and V = {v i } N i=1 over the two frames. Eventually, we used Algorithm 1 (with σ = 0.02) to solve the rotationR between the two images and then obtained the homography matrix using matrix transformation: H = KRK −1 to stitch them together. The correspondences and experimental results are shown in Figure 10. We found that ICOS always found the correct inliers among the correspondences and stitched the images successfully.  Figure 10. Image stitching results over the LunchRoom dataset [55]. Columns 1-3 display the raw correspondences matched by SURF [16] with the image indices and outlier ratios given on top, the inliers found by ICOS (the inliers found are labeled in green; the others are outliers, labeled in red), and the image stitching results using the rotation estimated by ICOS, respectively.

Application 2: 3D Object Localization
We tested ICOS over RGB-D scenes datasets [56] for tackling the 3D object localization (pose estimation) problems, as operated in [24,25]. We first extracted the 3D point cloud of the target object (cereal box, cap, and table in this case) from the scene according to the labels and imposed a random rigid transformation (with both a known scale and unknown scale), as well as random noise with σ = 0.01 and µ = 0 on the target object. We utilized FPFH to build putative correspondences between the scene and the transformed object. We found that the correspondences constructed by FPFH contained over 80% outliers in all the scenes tested; even worse, the outlier ratios even exceeded 90% in most scenes.
For each object-scene, we applied ICOS, RANSAC (1000), and RANSAC (1 min) to estimate the transformation (relative pose) of the object w.r.t. the scene and then reprojected the object back to the scene with the transformation estimated by each solver, respectively. The qualitative results are demonstrated in Figures 11 and 12, and the quantitative results are specified in Tables 2 and 3, in which the unit for E R is degrees ( • ) and the unit for E t is meters, computed as in (39). In each table, the best results are labeled in bold font.
From the results, ICOS was able to estimate the object poses robustly and accurately even with over 95% outliers among the 548 correspondences (e.g., the last scene in Table 2); however, the two RANSAC solvers failed in nearly half of the cases. Thus, in addition to its superior performance in standard benchmarking, ICOS manifested strong practicality for real problems.

Conclusions
In this paper, a novel, fast, and highly robust paradigm, ICOS, applicable to the correspondence-based rotation search and both the known-scale and unknown-scale point cloud registration problems was presented. We defined special compatible structures for the two problems above to generate invariants with mathematical constraints. Then, we rendered a sequence of well-designed invariant-constrained random sampling and inlier-seeking frameworks for these problems, which can eliminate outliers by means of fast Boolean conditions and search for qualified a-COS and b-COS as the inliers, giving birth to our solver ICOS. Generally, ICOS can automatically stop sampling and eventually return nearly 100% of the inliers from the putative correspondences.
We benchmarked ICOS against other state-of-the-art solvers in multiple experiments. We showed that: (i) ICOS is the most state-of-the-art, or at least one of the most stat-ofthe-art, solvers for the two problems, since it was robust against over 95% outliers (at most up to 99%), had the best estimation accuracy, and ran fastest in most cases; (ii) ICOS demonstrated a similar robustness (robust against 99% outliers) and accuracy regardless of the scale situation, suitable for generalized point cloud registration; (iii) ICOS is practical for real-world applications. The MATLAB source code of ICOS can be found at: https: //github.com/LeiSun-98/ICOS, (accessed on 1 August 2021).