1. Introduction
Rotation search and point cloud registration are two cornerstones in computer vision, robotics, remote sensing, and photogrammetry. The former has found broad applications in satellite attitude estimation [
1], image stitching [
2], etc., while the latter has been widely applied in 3D scene reconstruction and modeling [
3,
4,
5,
6], object localization and recognition [
7,
8,
9], medical imaging [
10], Simultaneous Localization and Mapping (SLAM) [
11], archeology [
12], etc.
1.1. 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
and
where we consider tuple
as a vector correspondence, the following relation is satisfied:
where
(the explicit properties and constraints of
can be found in [
13,
14]) denotes the rotation matrix and
represents the measurement of Gaussian noise with isotropic covariance
(
is the standard deviation and
is the identity matrix) and mean
w.r.t. the
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 solution 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
and
, where tuple
represents a point correspondence, we can have the following relation:
where
is the scale,
is the rotation matrix,
is the translation vector, and
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:where global minimizers are the optimal solutions to this registration problem. When the scale aligning the two point clouds is fixed, which means scale , we can directly omit in Problem 2, called the known-scale registration problem. However, the scale could vary, which, for instance, exists in the cross-source point cloud registration problems. In this case, the scale needs to be estimated additionally, and such problems are called unknown-scale point cloud registration.
Our work seeks to solve both the known-scale and the unknown-scale registration problems in the presence of both noise and a great number of outliers among the putative correspondences, providing a highly robust backend for real applications.
1.2. Motivation and Contributions
Motivation: The correspondence-based rotation search and point cloud registration approaches are often confronted with one difficulty: in many real-world scenes, the input correspondences are very likely to be corrupted by outliers; for example, the feature matchers (e.g., SIFT [
15] and SURF [
16] for 2D images and FPFH [
17] for 3D point clouds) may generate mismatched or spurious results owing to noise, repetitive patterns, low-textured scenes, etc. Therefore, in real applications, robust estimation solvers should be of paramount significance.
When it comes to robust estimation, RANSAC [
18] is a common robust heuristic [
19], but it has a critical disadvantage: its runtime increases exponentially with the outlier ratio. Thus, RANSAC could be impractical for use when encountering extreme outlier ratios (e.g., more than 90%). Branch-and-Bound (BnB) is able to search in the rotation (
) or transformation (
) 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 unknown-scale 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.
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 unknown-scale 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).
2. 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 outlier-corrupted 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.
4. 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.
4.1. 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 , 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 represents the length-based invariant w.r.t. this pair of correspondences and denotes the noise measurement (perturbance) on this invariant. Intuitively, invariant 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, 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 to examine whether this correspondence pair might contain outliers.
Proposition 1 (Constraints on
)
. For the pairwise invariant in the 2-COS defined above, we can derive that:where L denotes the bound w.r.t. noise satisfying the inequality such that , in which . Proof. Based on the triangular inequality and the fact that norm
is invariant of
, 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 “
” maps the size-3 noise measurement (vector)
to the rotation (for explicit derivations, please refer to Section 7.1.3 in [
50]), and
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 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 . Apart from simply constraining the length-based rigidity, we also supplement a residual-based constraint on such that:where G is the bound for the residual error w.r.t. the correspondence. Besides, for every single 2-COS in this 3-COS, we can compute a raw rotation, represented as with the correspondence tuple . 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 and denotes the identity matrix. Proof. The proof of Constraints (
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:
□
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.
4.2. COS in Point Cloud Registration
The basic structure in point cloud registration lies in the COS with 3 correspondences.
Definition 3 (3-COS and pairwise scale-based invariants)
. Assume that we obtain 3 noncollinear point correspondences , defined as one 3-COS. We can derive the following pairwise scale-based invariants:where , represents the scale-based invariant w.r.t. the and the jth correspondences, denotes the ground truth scale, and denotes the noise measurement on the scale. Then, we can endow each pair of scale-based invariants with constraints given as follows:
Proposition 3 (Constraints on
)
. For any two invariants in the 3-COS, we can derive that:where (here, and denote the same invariant) and A is the noise bound, satisfying that . In addition, when the scale is known (), we can further have that: Proof. It is easy to have that:
where
,
, and
.
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
as:
where
and the raw rotation
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 translation-based invariants:where , represents the translation-based invariant w.r.t. the correspondences and describes its noise measurement. In known-scale cases, we directly set . To create constraints on any two invariants from this 3-COS, we can derive the following:
Proposition 4 (Constraints on
)
. For invariants in the 3-COS above, we can derive that:where and B is the noise bound, satisfying that . Proof. The proof here is trivial. □
On the basis of this 3-COS, whenever we obtain a new (the ) correspondence, defined as a 4-COS, additional invariants can be established as follows.
Proposition 5 (4-COS, invariants and constraints)
. If we have the correspondence in addition to the 3-COS we have, we can first build 3 more scale-based invariants such that:where , with the following constraints:where . Similar to Proposition 2, we also supplement a residual-based constraint on such that:where 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 with the correspondence tuple . Thus, new constraints on the mutual compatibility of rotations can be established as:where “∠” is also the geodesic error between two rotations, expressed as:where and D is the noise bound satisfying . 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.
5. Our Solver: ICOS
In this section, we formulate our solver ICOS for rotation search and both the known-scale 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
for rotation search and
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 , 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.
5.1. 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 |
![Applsci 11 09775 i001]() |
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
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
and then allow it to proceed to the next step, which is operated by setting
; if not, we start over from the sampling process.
Lines 11–25: If we manage to obtain an eligible 2-COS, say
, 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
, we add it to the inlier set and make
increase by 1. Once we collect enough 3-COS (
), 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 (
) 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
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
contains at least one outlier.
Algorithm 2:checkSampling (subroutine of ICOS) |
![Applsci 11 09775 i002]() |
Lines 26–28: We first compute the rotation with the
X+2 inliers and then consider all correspondences whose residual errors satisfy
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).
5.2. ICOS for Known-Scale Registration
The pseudocode of ICOS for point cloud registration with a known scale () 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
of 2 correspondences, rather than 3, and check if their scale-based invariant
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
; if not, we go back to the sampling process to seek
.
Lines 15–32: Once an eligible 3-COS (set
) is obtained, we check their constraints (
23). If satisfied, we then solve the raw rotation with
and determine whether the constraints (
30) are fulfilled in
. If yes, we then move on to sampling once again, for building one 4-COS based on set
. We take random correspondences one at a time and feed them sequentially to
to check Constraints (
32)–(
35). After collecting enough correspondences (
X) that can construct qualified 4-COS with
, 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 |
![Applsci 11 09775 i003]() |
5.3. 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.
Algorithm 4: ICOS for unknown-scale registration |
![Applsci 11 09775 i004]() |
5.4. 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
), 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 , we adopted , choosing two correspondences at one time, while for , and , we set all for single-correspondence sampling.
5.5. 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.
7. 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-of-the-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).