journal of tpami 1 globally optimal hand-eye calibration using branch-and-bound · 2015-11-02 ·...

10
JOURNAL OF TPAMI 1 Globally Optimal Hand-Eye Calibration Using Branch-and-Bound Jan Heller, Michal Havlena, and Tomas Pajdla Abstract—This paper introduces a novel solution to the hand-eye calibration problem. It uses camera measurements directly and, at the same time, requires neither prior knowledge of the external camera calibrations nor a known calibration target. Our algorithm uses branch-and-bound approach to minimize an objective function based on the epipolar constraint. Further, it employs Linear Programming to decide the bounding step of the algorithm.Our technique is able to recover both the unknown rotation and translation simultaneously and the solution is guaranteed to be globally optimal with respect to the L-norm. Index Terms—Hand-eye calibration, branch-and-bound algorithm, global optimization. 1 I NTRODUCTION T HE need to relate measurements made by a camera to a different known coordinate system arises in many engineering applications. It also appears in the connection with cameras mounted on robotic systems. The problem is commonly known as hand-eye calibration and has been studied abundantly in the past. Early so- lution methods searched for rotational and translational parts separately [18], [19], [15], [2], [11]. Such separation inevitably leads to propagation of the residual error of the estimated rotation into the translation estimation, and therefore methods for simultaneous estimation of both rotation and translation appeared [8], [3], [20], [21]. However, none of these methods work with camera measurements directly and require prior knowledge of the external camera calibrations instead. In [16], authors proposed a method based on tracking of image points. Still, an algebraic objective function, rather that a more geometrically meaningful criteria based on the original camera measurements, was minimized. Recently, Heller et al. [6] proposed a method for optimal estimation of the translational part from cam- era measurements. It is a step towards a meaningfully defined optimality criterion, but it still requires prior knowledge of the relative camera rotations. Seo et al. [14] solved for the rotational part optimally but only for situation where the translational part is, or can practically expected to be, zero. In this paper, we solve for the rotation and transla- tion simultaneously by minimizing an objective func- tion based on the epipolar constraint without any prior knowledge of the external camera calibration. Our method is based on the branch-and-bound (BnB) search over the space of rotations presented in [4] and it is guar- Jan Heller and Tomas Pajdla are with the Department of Cyber- netics, Czech Technical University, Prague, Czech Republic, e-mail: {hellej1|pajdla}@cmp.felk.cvut.cz. Michal Havlena is with the Institute of Geodesy and Photogrammetry, ETH Zurich, Switzerland, e-mail: [email protected]. B i A i X X u ij v ij Y ij Figure 1. A gripper-camera rig motion. anteed to converge to the optimum with respect to L - norm. The presented work is an extension of [7] which appeared simultaneously with a similar approach to hand-eye calibration [12]. Even though both methods use different problem formulations and different objective functions, it can be shown that both methods provide an upper bound on the reprojection error. Here, we extend [7] with a novel more efficient cone intersection strategy and provide additional experimental results. 2 PROBLEM FORMULATION Let us assume a camera that has been rigidly mounted on a robot’s gripper. To find a hand-eye calibration is to determine a homogeneous transformation X = R X t X 0 > 1 , such that rotation R X SO(3) R 3×3 and translation t X R 3 transform points from the coordinate system of the gripper to the coordinate system of the camera. Now, let’s suppose that the gripper has been manip- ulated into n +1 poses resulting into n relative mo- tions. These motions can be described by homogeneous transformations B i , i =1,...,n and are supposed to be known, e.g., obtained from the robot control software. The gripper motions give rise to n relative camera transformations A i , which are related to B i through the unknown transformation X as A i X = XB i ,

Upload: others

Post on 21-Mar-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: JOURNAL OF TPAMI 1 Globally Optimal Hand-Eye Calibration Using Branch-and-Bound · 2015-11-02 · JOURNAL OF TPAMI 1 Globally Optimal Hand-Eye Calibration Using Branch-and-Bound Jan

JOURNAL OF TPAMI 1

Globally Optimal Hand-Eye Calibration UsingBranch-and-Bound

Jan Heller, Michal Havlena, and Tomas Pajdla

Abstract—This paper introduces a novel solution to the hand-eye calibration problem. It uses camera measurements directly and, atthe same time, requires neither prior knowledge of the external camera calibrations nor a known calibration target. Our algorithm usesbranch-and-bound approach to minimize an objective function based on the epipolar constraint. Further, it employs Linear Programmingto decide the bounding step of the algorithm.Our technique is able to recover both the unknown rotation and translation simultaneouslyand the solution is guaranteed to be globally optimal with respect to the L∞-norm.

Index Terms—Hand-eye calibration, branch-and-bound algorithm, global optimization.

F

1 INTRODUCTION

THE need to relate measurements made by a camerato a different known coordinate system arises in

many engineering applications. It also appears in theconnection with cameras mounted on robotic systems.The problem is commonly known as hand-eye calibrationand has been studied abundantly in the past. Early so-lution methods searched for rotational and translationalparts separately [18], [19], [15], [2], [11]. Such separationinevitably leads to propagation of the residual error ofthe estimated rotation into the translation estimation,and therefore methods for simultaneous estimation ofboth rotation and translation appeared [8], [3], [20], [21].However, none of these methods work with camerameasurements directly and require prior knowledge ofthe external camera calibrations instead. In [16], authorsproposed a method based on tracking of image points.Still, an algebraic objective function, rather that a moregeometrically meaningful criteria based on the originalcamera measurements, was minimized.

Recently, Heller et al. [6] proposed a method foroptimal estimation of the translational part from cam-era measurements. It is a step towards a meaningfullydefined optimality criterion, but it still requires priorknowledge of the relative camera rotations. Seo et al.[14] solved for the rotational part optimally but onlyfor situation where the translational part is, or canpractically expected to be, zero.

In this paper, we solve for the rotation and transla-tion simultaneously by minimizing an objective func-tion based on the epipolar constraint without anyprior knowledge of the external camera calibration. Ourmethod is based on the branch-and-bound (BnB) searchover the space of rotations presented in [4] and it is guar-

Jan Heller and Tomas Pajdla are with the Department of Cyber-netics, Czech Technical University, Prague, Czech Republic, e-mail:{hellej1|pajdla}@cmp.felk.cvut.cz.Michal Havlena is with the Institute of Geodesy and Photogrammetry, ETHZurich, Switzerland, e-mail: [email protected].

Bi

AiXX

uij

vij

Yij

Figure 1. A gripper-camera rig motion.

anteed to converge to the optimum with respect to L∞-norm. The presented work is an extension of [7] whichappeared simultaneously with a similar approach tohand-eye calibration [12]. Even though both methods usedifferent problem formulations and different objectivefunctions, it can be shown that both methods providean upper bound on the reprojection error. Here, weextend [7] with a novel more efficient cone intersectionstrategy and provide additional experimental results.

2 PROBLEM FORMULATION

Let us assume a camera that has been rigidly mountedon a robot’s gripper. To find a hand-eye calibration is todetermine a homogeneous transformation

X =

(RX tX0> 1

),

such that rotation RX ∈ SO(3) ⊂ R3×3 and translationtX ∈ R3 transform points from the coordinate system ofthe gripper to the coordinate system of the camera.

Now, let’s suppose that the gripper has been manip-ulated into n + 1 poses resulting into n relative mo-tions. These motions can be described by homogeneoustransformations Bi, i = 1, . . . , n and are supposed to beknown, e.g., obtained from the robot control software.The gripper motions give rise to n relative cameratransformations Ai, which are related to Bi through theunknown transformation X as

AiX = X Bi,

Page 2: JOURNAL OF TPAMI 1 Globally Optimal Hand-Eye Calibration Using Branch-and-Bound · 2015-11-02 · JOURNAL OF TPAMI 1 Globally Optimal Hand-Eye Calibration Using Branch-and-Bound Jan

JOURNAL OF TPAMI 2

see Figure 1. This can be further decomposed to

RAiRX = RXRBi and RAitX + tAi = RXtBi + tX

where RAi , RBi ∈ SO(3) and tAi , tBi ∈ R3. By substitutingt′X = −R>X tX and isolating RAi and tAi , we get

RAi = RXRBiR>X and tAi = RX ((RBi − I) t′X + tBi) .

Further, suppose that the camera measured m corre-spondences uij ↔ vij , j = 1, . . . ,m in the i-th motion.Through the rest of the paper we will assume thatthe camera’s internal calibration is known [5] and thatuij ,vij ∈ R3 are unit vectors representing the directionsto scene points from the respective camera positions.We will also assume that the correspondences satisfythe cheirality condition [5], i.e., that uij ,vij correspond toscene points Yij ∈ R3 that lie in front of the cameras.

Let us consider an elementary fact from the geometryof stereo vision known as the epipolar constraint [5]. Itstates that vectors uij and vij form a correspondence forcamera motion Ai, if tAi lies in the plane containing thetwo vectors. This fact is commonly expressed in the formt>Ai (vij × (RAiuij)) = 0. Since we will work here withangular measurements, it is convenient to equivalentlyrephrase the constraint as

eij = ∠([vij ]× RAiuij , tAi)− π2 = 0,

where [·]× denotes the 3×3 skew symmetric matrix suchthat ∀u,v : [u]× v = u× v.

In case of noisy measurements, however, the epipolarconstraint will not hold, i.e., eij won’t generally be zeros,and the values of |eij | will encode the angular deviationsof the estimated camera translation tAi from the epipolarplanes defined by correspondences uij ↔ vij . This leadsus to defining an ε-epipolar constraint. The correspon-dences uij ↔ vij and camera translation tAi satisfy theε-epipolar constraint with parameter ε > 0, iff |eij | ≤ ε.This constraint can be equivalently expressed as

π2 − ε ≤ ∠([vij ]× RAiuij , tAi) ≤ π

2 + ε,

i.e., tAi has to lie outside of the double cone determinedby axis [vij ]× RAiuij and aperture π − 2ε, see Figure 2.Note here that as a complement of a double cone ε-epipolar constraint is not a convex constraint. Let usrewrite the left inequality asπ2−ε≤∠([vij ]×RAiuij , tAi)⇔ π

2 +ε≥∠(− [vij ]×RAiuij , tAi).

Now we can formulate hand-eye calibration as theminimization of the ε-epipolar constraint, i.e., as L∞-norm minimization of the vector of residuals e =(|e11|, . . . , |enm|):Problem 1

(R̂X, t̂′X) = arg min

RX,t′X

maxi,j|eij | = arg min

RX,t′X

‖e‖∞ .

The optimal residual error can be expressed as εmin =∥∥e(R̂X, t̂′X)∥∥∞. After solving Problem 1, the optimal trans-

lation is determined as t̂X = −R̂Xt̂′X . This substitutionmay seem superfluous, but it will allow us to proveLemma 1 later.

ǫ

ǫvij

[−vij ]×RAiuij

[vij ]×RAiuij

(a)

[−vij ]×RAiuij

vij

RAiuij

[vij ]×RAiuij

(b)

Figure 2. (a) Geometric interpretation of the ε-epipolar con-straint with parameter ε imposed by the correspondence uij ↔vij on the position of tAi . The cyan vectors show examples ofthe admissible configurations of tAi . (b) 3D view of the same.

3 THE SPACE OF ROTATIONS

In order to solve Problem 1 we employ BnB optimizationpresented in [4] to search over the space of all rotations.The algorithm is based on the angle-axis parametrizationof rotations, so let us first review relations between arotation matrix and its angle-axis representations.

Let α ∈ Bπ ={β : β ∈ R3 ∧ ‖β‖ ≤ π

}, then α repre-

sents the rotation about axis α/ ‖α‖ by angle ‖α‖. Thecorresponding matrix parametrization R ∈ SO(3) can beobtained using Rodrigues’ formula as R = exp [α]× [5]. Theinverse map is given by [α]× = log R.

For R1, R2 ∈ SO(3) we define the distance d∠(R1, R2) asthe angle θ of the rotation R>1 R2, i.e., [α]× = log(R>1 R2),such that 0 ≤ θ = ‖α‖ ≤ π. In the following, we will usethe notation “R ∈ D ⊂ Bπ” to mean

R ∈{R′ ∈ SO(3) : ∃α ∈ D such that R′ = exp [α]×

}.

4 BRANCH AND BOUND

Let us consider Problem 1 restricted to Dσ , where Dσ ⊂Bπ is a cubic block with side length 2σ:Problem 2

(R̂X, t̂′X) = arg min

RX∈Dσ,t′Xmaxi,j|eij | .

A schematic BnB algorithm for solving Problem 1 isnow as follows:1) Obtain an initial estimate of εmin for the optimal

residual error of Problem 1.2) Divide the space of rotations up into cubic subblocks

Dsσ , s = 1, . . . , 8 and repeat the following steps:

a) For each block Dsσ , test whether there exists a so-

lution to Problem 2 restricted on Dsσ having the

residual error smaller than εmin. This test can beformulated as a feasibility test, see Section 5.

b) If the answer to the test is no, throw the block away.c) Otherwise, evaluate the residual error ε for some

rotation from block Dsσ . If ε < εmin then update the

value εmin ← ε. Subdivide Dsσ into eight cubic sub-

blocks and continue to (a).

Page 3: JOURNAL OF TPAMI 1 Globally Optimal Hand-Eye Calibration Using Branch-and-Bound · 2015-11-02 · JOURNAL OF TPAMI 1 Globally Optimal Hand-Eye Calibration Using Branch-and-Bound Jan

JOURNAL OF TPAMI 3

The iteration loop is terminated when the half-size of theblocks σ reaches a sufficiently small size σmin.

Note that although Problem 1 has 6 degrees of free-dom (DOF), the BnB algorithm searches only over thethree dimensional space of rotations. By limiting rota-tions in angle-axis parametrization to Dσ we are ableto decide the feasibility test for Problem 2 effectivelyand optimally using Linear Programming (LP). The LPsolution also provides t′X needed to compute the residualerror in step (c) and thus there is no need to search overthe space of translations.

5 FEASIBILITY TEST

In this section the feasibility test based on Problem 2 isformulated. Let us first introduce the following notation

R̄Ai = R̄XRBi R̄>X , t̄Ai = R̄X ((RBi − I) t′X + tBi) ,

R̂Ai = R̂XRBi R̂>X , t̂Ai = R̂X ((RBi − I) t′X + tBi) .

5.1 Feasibility Test FormulationProblem 2 can be formulated as a feasibility test.Problem 3

Given Dσ, εmin

do there exist RX ∈ Dσ, t′X

such that ∠(± [vij ]× RAiuij , tAi) ≤ π2 + εmin

for i = 1, . . . , n, j = 1, . . . ,m ?As a non-convex problem—its feasible set is an inter-

section of non-convex ε-epipolar constraints—Problem 3is hard to solve. In order to do so, we start by bringingdown the number of variables. We formulate a relaxationof Problem 3 where the rotation is fixed. Let R̄X be therotation represented by the center of cube Dσ and letβi ∈ Bπ be such that exp [βi]× = RBi .Problem 4

Given Dσ, εmin, R̄Xdoes there exist t′X

such that ∠(± [vij ]× R̄Aiuij , t̄Ai) ≤ π2 + εmin + γij

for i = 1, . . . , n, j = 1, . . . ,m

such that ∠(±vij , R̄Auij) > 2 ‖βi‖ sin(√

3σ/2) ?Lemma 1 describes the relation between Problems 3

and 4 and its proof specifies the bounds γij .Lemma 1 Relation between Problems 3 and 4.

1) If Problem 3 is feasible, so is Problem 4.2) If Problem 3 is infeasible, then Dσ may be split into

subdomains Dsσ′ of sufficiently small half-side length σ′

such that Problem 4 is infeasible in every Dsσ′ .

Note that Problem 4 contains one more set of con-straints on the angles ∠(±vij , R̄Auij). These are prereq-uisites of Lemma 9, see Appendix in the supplemen-tary material, which in turn is needed for the proofof Lemma 1. Since this proof is rather technical, it isdeferred to Appendix. Lemma 1 justifies the replacementof the 6 DOF Problem 3 by the 3 DOF Problem 4 asthe feasibility test for the BnB algorithm. Albeit easier,Problem 4 is still a non-convex problem. In the following

section we will formulate another relaxation of Problem4. This time, however, the relaxation will be convex andeasily decidable by LP.

5.2 Intersecting ε-epipolar ConstraintsLet once again Dσ ⊂ Bπ be a cubic block and R̄Xthe rotation represented by the center of the block. InProblem 4, a correspondence uij ↔ vij imposes an ε-epipolar constraint on t̄Ai determined by the cone Cijwith the axis cij = [vij ]× R̄Aiuij and the aperture αij =π − 2(εmin + γij). Another correspondence uik ↔ vik,from the same i-th motion, imposes another ε-epipolarconstraint, this time determined by the cone Cik withthe axis cik = [vik]× R̄Aiuik and the aperture αik =π − 2(εmin + γik).

Now, let us consider the mutual configuration of thecones Cij and Cik. If the apertures αij , αik are sufficientlylarge, then for cij 6= cik the two cones intersect in anon-zero vector, see Figure 3a. Since the cones sharethe same apex, they intersect in up to four lines—generatrices of the cones—l1ijk, l

2ijk, l

3ijk, and l4ijk. These

lines form the edges of a pyramid Pijk in which everyvector satisfying both ε-epipolar constraints must lie. Thepyramid Pijk has four faces lying in four planes, seeFigure 3b. These planes can be determined by theirnormals n1

ijk,n2ijk,n

3ijk, and n4

ijk as

n1ijk = [l1ijk]×l2ijk, n

2ijk = [l2ijk]×l3ijk,

n3ijk = [l3ijk]×l4ijk, n

4ijk = [l4ijk]×l1ijk.

It is easy to see that every vector t̄Ai that satisfies bothε-epipolar constrains, satisfies all of the following linearconstraints as well

t̄>Ain1ijk ≥ 0, t̄>Ain

2ijk ≥ 0, t̄>Ain

3ijk ≥ 0, t̄>Ain

4ijk ≥ 0. (1)

Note that these constraints are also linear in t′X.On the other hand, if the apertures αij , αik are too

small, cones Cij and Cik don’t necessarily have to inter-sect in a non-zero vector and the ε-epipolar constraintscannot be replaced by the linear ones. Figure 3c willhelp us to determine when exactly such a situationarises. Let C+

ij , C−ij , C

+ik, C

−ik be the nappes of the cones

Cij , Cik determined by their cone axes cij ,−cij , cik,−cikrespectively. The nappes C+

ij , C+ik intersect in two line

segments l1ijk and −l3ijk iff

∠(cij , cik) <αij+αik

2 . (2)

In case of equality of the terms in Equation 2 the nappesare tangential and share only one common generatrix.Analogously, the line segments l2ijk and −l4ijk are theintersections of the nappes C+

ij , C−ik iff

∠(cij ,−cik) <αij+αik

2 . (3)

Inequalities 2 and 3 are thus necessary and sufficientconditions for Cij , Cik to form the pyramid Pijk.

Note that the intersection of cones Cij and Cik de-termines not only the pyramid Pijk, but also the pyra-mid P ′ijk symmetrical to Pijk, with the origin at the

Page 4: JOURNAL OF TPAMI 1 Globally Optimal Hand-Eye Calibration Using Branch-and-Bound · 2015-11-02 · JOURNAL OF TPAMI 1 Globally Optimal Hand-Eye Calibration Using Branch-and-Bound Jan

JOURNAL OF TPAMI 4

R̄Aiuik

vik

−cik

Cij

Cik

l1ijk

l2ijk

l3ijk

l4ijk

(a)

n1ijk

n4ijk

n2ijk

n3ijk

(b)

cik

−cik

C+ik

αij

2

αik

2

6 (cij ,−cik)

6 (cij , cik)

C−ijC−

ik

C+ij

cij

l1ijk

,−l3ijk

(c)

cij

l′2ijk≡b1ijk

l′1ijkl′3ijk

l′4ijk≡b2ijk

n′1ijk

n′3ijk

πi

P ′ijk

(d)

Figure 3. (a) If the apertures αj , αk are sufficiently large, cones Cij and Cik intersect in up to four lines l1ijk, l2ijk, l

3ijk, l

4ijk. (b) The

linear constraints imposed by correspondences uij ↔ vij , uik ↔ vik are determined by the normals n1ijk,n

2ijk,n

3ijk,n

4ijk. (c) Since

Inequality 2 holds, the nappes C+ij , C

+ik intersect in l1ijk and −l3ijk. However, Inequality 3 does not hold and the cones Cij , Cik do

not form the pyramid Pijk. (d) The projection of the pyramid Pijk into the plane πi determined the boundary vectors b1ijk,b

2ijk

(a 2D projection of the situation in (b)).

point of symmetry. However, since we assumed thatthe correspondences satisfy the cheirality condition, onlyconstraints relevant to one of the pyramids are appli-cable. In the following we will assume, without lossof generality, that Pijk forms the applicable constraints.Formulas for lines l1ijk, l

2ijk, l

3ijk, l

4ijk can be obtained by

using elementary algebra.Now, we can formulate a linear relaxation of Prob-

lem 4, which is a non-convex relaxation of Problem 3.Problem 5

Given Dσ, εmin, R̄Xdoes there exist t′X

such that t̄>Ain1ijk ≥ 0, t̄>Ain

2ijk ≥ 0

t̄>Ain3ijk ≥ 0, t̄>Ain

4ijk ≥ 0

for i = 1, . . . , n, j, k = 1, . . . ,m

such that ∠(±vij , R̄Auij) > 2 ‖βi‖ sin(√

3σ/2)and Inequalities 2 and 3 hold?

Since Problem 5 is a relaxation of Problem 4, an analogyto Lemma 1 could be formulated. A proof of sucha lemma would trivially follow from the geometricalconstruction of the linear constraints as the convex hullof the intersections of the ε-epipolar constraints.

5.3 Selecting ε-epipolar ConstraintsIt is easy to see that a naive implementation of Problem5 would lead to prohibitively large linear programs forproblems with many correspondences. In this section weshow how to reduce the number of linear constraintsby selecting only a few of the available correspondencesbased on their relative positions.

Let us consider the i-th motion for a cubic blockDσ ⊂ Bπ . First, let Ci be the list of indices of cor-respondences satisfying the assumptions of Lemma 9.Now, let us assume, without loss of generality, thatuij ↔ vij , j ∈ Ci is the correspondence that forms theε-epipolar constraint with the widest aperture αij . In therest of this section, we will call the j-th constraint the baseconstraint. Next, let’s throw away the indices k from Ci

that stand for correspondences uik ↔ vik which do notintersect with the base constraint, i.e., indices for whichInequalities 2 and 3 do not hold. Further, let us orderthe list Ci according to the distance of the cones axes|c>ijcik|, k ∈ Ci in the ascending order. The idea is to testthe correspondences in Ci that are “more perpendicular”to the base constraint first, since they are more likelyto form a tighter pyramid Pijk and thus tighter linearbounds. Also, since the smaller the value |c>ijcik| gets,the more loose and skewed pyramid Pijk becomes—it isreasonable to test only first s � |Ci| correspondences.In our experiments we set s = 20. We can think aboutthis process as selecting correspondences whose epipolarlines are the most perpendicular to the epipolar linedetermined by the base constraint.

The second reason for intersecting all ε-epipolar con-straints with the base constraints is that by projectingpyramids Pijk into the plane πi, defined by vectors R̄Aiuijand vij , a simple test based on 2D feasibility of tAi can beconstructed. Let l′1ijk, l

′2ijk,l

′3ijk, l

′4ijk ∈ R2 be normalized

2D projections of the edges of the pyramid Pijk into theplane πi, see Figure 3d. It is a trivial observation thatthe projection of the pyramid P ′ijk will be bounded bytwo vectors b1

ijk,b2ijk, which will coincide with two of

the projected edges. To decide which edges will form theboundaries, projections n′1ijk,n

′3ijk ∈ R2 of the pyramid’s

faces need to considered as well. Since the face n1ijk is

defined by edges l1ijk, l2ijk, one of the projections l′1ijk, l

′2ijk

that forms the largest angle with the projection n′1ijk willform the boundary. In the situation shown in Figure 3d,l′1>ijkn

′1ijk > l′2>ijkn

′1ijk and so the b1

ijk coincides withl′2ijk. Analogously, we can use n′3ijk to decide that b2

ijk

coincides with l′4ijk. Faces n2ijk and n4

ijk cannot be usedin this manner, since their projections to πi are equallydistant from the projection of the respective edges form-ing them. Since Pijk forms constraints on the position oftAi , it is easy to see that P ′ijk forms constraints on theprojection t′Ai . From this it follows that the intersectionof all P ′ijk, k ∈ Ci must not be empty for block Dσ

Page 5: JOURNAL OF TPAMI 1 Globally Optimal Hand-Eye Calibration Using Branch-and-Bound · 2015-11-02 · JOURNAL OF TPAMI 1 Globally Optimal Hand-Eye Calibration Using Branch-and-Bound Jan

JOURNAL OF TPAMI 5

to be feasible. The implication in the opposite directiondoes not hold (two projections P ′ijk, P

′ij`, k, ` ∈ Ci can

intersect, even though Pijk and P ij` do not), so theblock can still be infeasible even if the intersection isnot empty. However, this simple pre-test can decideinfeasibility for ca. 30% of infeasible cubes. Practically,the correspondences are processed sequentially in theorder given by Ci and the “running intersection” ofprojections is kept as b1

i ,b2i , compared, and updated

with every upcoming projection, see Algorithm 1.

6 THE HAND-EYE CALIBRATION ALGORITHM

This section sums up the BnB algorithm for hand-eyecalibration in a more comprehensible pseudo-code form.

First, let us review the hand-eye feasibility test, seeAlgorithm 2. For every cubic block Dσ the algorithmsolves Problem 5. Due to the quite strict assumptions—Lemma 9 and Inequalities 2, 3—not all correspondencesproduce linear constraints. Indeed, for a large block theremight be no feasible correspondences at all. Feasibility ofsuch a block cannot be decided by Problem 5 and it hasto be declared feasible by default. However, the smallerthe blocks get, the more correspondences can producelinear constraints and Problem 5 is more likely to bedecidable.

Further, because Problem 5 is a feasibility problem, anLP solver will generally provide a basic feasible solutionthat does not minimize the nonlinear objective function‖e‖∞. In order to speed up the convergence of thealgorithm, we use a feasible solution to Problem 5 asan initial estimate for the following non-linear problem:Problem 6

Given R̄X, the initial estimate t′Xminimize ‖e‖22 =

∑i,j(∠([vij ]× R̄Aiuij , t̄Ai)− π

2 )2

for i = 1, . . . , n, j, k = 1, . . . ,m.

Since Problem 6 minimizes ‖e‖2, it does not nec-essarily have to provide a solution with better ‖e‖∞.However, we observed that it helps to accelerate theoverall convergence.

Finally, let us describe the BnB part of the algorithm,see Algorithm 3. The algorithm is initialized by thecubic block Dπ = 〈−π, π〉3. Such a block is redundantsince Bπ ( 〈−π, π〉3, but this fact does not impair thealgorithm, since blocks Dσ∩Bπ = ∅ can be easily detectedand thrown away. Feasible blocks are divided into 8cubic subblocks and stored in a queue Q, making thealgorithm breadth-first search. The search is terminatedwhen the size of the blocks σ reaches a sufficiently smallsize σmin.

The proposed algorithm is easily parallelizable by run-ning the feasibility test in multiple threads consuminga mutual queue Q. Note that the parallel processing ofthe cubes can theoretically result in accepting some cubesthat would be rejected in the single thread mode, makingQ larger. However, the experiments show that this is nota practical issue and that the computation time reductionis in practice linear in the number of threads used.

Algorithm 1 SelectEpipolarConstraints (Section 5.3)Require: i,Ci

feasible← 1, s← 0,Li,b1i ,b

2i ← ∅, j ← argmaxk αik

Ci ← Ci\{j} sorted s.t. ∀k < |Ci| : |c>ijcik| ≤ |c>ijcik+1|while (|Ci| > 0) ∧ (s < MAX_CONSTRAINTS) dok ← PopFront(Ci)if ∠(cij ,±cik) < (αij + αik)/2 then

(b1ijk,b

2ijk)←

GetBounds(l1ijk, l2ijk, l

3ijk, l

4ijk,n

1ijk,n

3ijk)

if b1i ,b

2i = ∅ then

(b1i ,b

2i )← (b1

ijk,b2ijk)

Li ← Li ∪ {[i,n1ijk], [i,n2

ijk], [i,n3ijk], [i,n4

ijk]}else

(b1i ,b

2i )← IntersectBounds(b1

i ,b2i ,b

1ijk,b

2ijk)

if b1i ,b

2i = ∅ then

feasible← 0, return [feasible,Li]elses← s+ 1, Li ← Li ∪ {[i,n1

ijk], [i,n3ijk]}

end ifend if

end ifend whilereturn [feasible,Li]

Algorithm 2 Feasibility TestRequire: D, εmin > 0R̄X ← rotation represented by the center of cube Dσ ← half-side length of DL← ∅for i = 1 to number of motions do

// Collect feasible correspondences s.t. Lemma 9Ci ← ∅for j = 1 to number of correspondences do

if ∠(±vij , R̄Aiuij) > 2 ‖βi‖ sin(√

3σ/2) thenCi ← Ci ∪ {j}

end ifend for[feasible,Li]← SelectEpipolarConstraints(i,Ci)if not feasible then return 0

else L← L ∪ Li end ifend forif L = ∅ then

feasible← 1, return feasibleend if// Solve Problem 5t′X ← t′X such that ∀ [i,n] ∈ L : t̄>Ain ≥ 0if such a t′X does not exist then

feasible← 0, return feasibleelse

feasible← 1, ε← maxi,j |∠([vij ]× R̄Aiuij , t̄Ai)− π2 |

end if// Solve Problem 6t̃′X ← mint′X

∑i,j

(∠([vij ]× R̄Aiuij , t̄Ai)− π

2

)2

ε̃← maxi,j |∠([vij ]× R̄Aiuij , t̄Ai(t̃′X))− π

2 |if ε← ε̃ then ε← ε̃, t′X ← t̃′X end ifreturn [feasible, ε, R̄X, t′X]

Page 6: JOURNAL OF TPAMI 1 Globally Optimal Hand-Eye Calibration Using Branch-and-Bound · 2015-11-02 · JOURNAL OF TPAMI 1 Globally Optimal Hand-Eye Calibration Using Branch-and-Bound Jan

JOURNAL OF TPAMI 6

Algorithm 3 Branch and BoundRequire: initial estimate of εmin, stopping crit. σmin

Dπ ← 〈−π, π〉3, σ ← 2πPushBack(Q, Dπ)while σ > σmin doD ← PopFront(Q), σ ← half-side length of D{feasible, ε, R̄X, t′X} ← FeasibilityTest(D, εmin)if feasible ≡ true then

if ε < εmin then R̂X ← R̄X, t̂′X ← t′X, εmin ← ε end if

PushBack(Q, SubdivideBlock(D))end if

end whilet̂X ← −R̂Xt̂′Xreturn {R̂X, t̂X, εmin}

7 EXPERIMENTAL RESULTS

We evaluated the performance of the proposed algorithmusing both synthetically generated and real world datameasurements. The values of the initial estimate εmin

and the stopping criterion 2σmin were set to 0.02 radand 0.001 rad respectively. We use GLPK [1] to solveProblem 5 and levmar [10] to solve nonlinear Problem6. All the reported times were achieved using a C++implementation on a 32×2.6 GHz AMD Opteron basedcomputer running 64-bit Linux. The source code is avail-able at http://cmp.felk.cvut.cz/∼hellej1/bbhec/.

7.1 Experiments with Synthetic DataBall Experiment. A synthetic scene consisting of 100 3Dpoints was generated into a ball of radius 1,000 mm.10 absolute camera poses were set up so that (i) thecenters of the cameras were outside of the ball butclose to its “surface”, (ii) the centers were positioned sothat the offsets of the camera motions were ∼500 mmand (iii) the cameras faced approximately the center ofthe ball. In order to simulate the effect of decreasingfield of view (FOV), 7 progressively smaller balls weregenerated inside the initial ball so that the balls sharedthe centers and the volume of the newly created ballwas half the volume of the previous ball. This defined8 FOV levels, namely 119◦, 85◦, 66◦, 52◦, 40◦, 31◦, 24◦,and 19◦. Additional 3D points were generated insideeach of the smaller balls in order to have exactly 1003D points at each FOV level measured in the respectivecameras giving correspondences uij ↔ vij .

Further, fifty random transformations X were gen-erated and the optimization tasks composed of theknown correspondences uij ↔ vij and 9 motions Bi—computed from the known absolute camera poses andthe generated X—were constructed for each of the 8 FOVlevels. Finally, the correspondences were corrupted withGaussian noise in the angular domain using 11 noiselevels, σ ∈ 〈0, 10−3〉 in 10−4 steps resulting to 88 tasksper transformation.

Figure 4 shows the setup of the experiment, Fig-ures 4b–f show the results. Notice that the median of

(a)

σ of the Gaussian noise||e||∞

ofth

eob

tain

edso

lutio

n[r

ad]

00 10.2 0.4 0.6 0.8

0.01

0.005

0.015

×10-3

(b)

Euc

lidea

ner

ror

of3D

poin

ts[m

m]

σ of the Gaussian noise

narrowstandardwide

00

1

1

2

3

4

5

6

7

0.2 0.4 0.6 0.8

×10-3

(c)Number of threads

Tim

e[s]

narrowstandardwide

10

16 32

40

100

400

11 2

4

4 8

(d)

Number of subdivisions

Num

ber

ofcu

bes

narrowstandardwide

10

10

10

10

1010 12

2

3

4

5

6

4 6 8

(e)Number of subdivisions||

e||∞

ofth

eob

tain

edso

lutio

n[r

ad]

lowmediumhigh

10 1204 6 8

0.01

0.005

0.015

0.02

(f)

Figure 4. Ball experiment. (a) Camera positions in the ex-periment, different colors encode positions of the 3D pointsat different FOV levels. (b) The maximum residual error ofthe obtained solutions for the various values of σ (red line)and the distribution of the measured errors over all correspon-dences (boxes). (c) The mean Euclidean distance between the3D points transformed to the gripper’s coordinate systems usingground truth X and the 3D points transformed to the gripper’scoordinate systems using the estimated X. The 8 FOV levelswere merged into three groups. (d) Loglog plot of the compu-tational time as a function of the number of threads. (e) Themean number of remaining cubes plotted against the number ofsubdivision phases. Note that the computation starts after thefourth subdivision. (f) The mean residual error at the beginningof the respective subdivision phase. Different noise levels wereclustered into three groups.

the measured errors over all correspondences—denotedby red horizontal lines in Figure 4b—is approximatelyone order of magnitude smaller than the maximumresidual error. The actual errors of the calibration, i.e., theEuclidean distances between the 3D points transformedto the gripper coordinate systems using the groundtruth X and the 3D points transformed to the grippercoordinate systems using the estimated X, are higher fornarrow FOVs. The reason is that the wide FOVs situa-tions contain correspondences that produce tighter linearbounds and thus result in higher accuracy. Consideringthe computational times, the solutions are found fasterfor wide FOVs as the correspondences of narrow FOVscamera pairs do not generate enough linear constraints

Page 7: JOURNAL OF TPAMI 1 Globally Optimal Hand-Eye Calibration Using Branch-and-Bound · 2015-11-02 · JOURNAL OF TPAMI 1 Globally Optimal Hand-Eye Calibration Using Branch-and-Bound Jan

JOURNAL OF TPAMI 7

(a)

Euc

lidea

ner

ror

of3D

poin

ts[m

m]

σ of the Gaussian noise

T89S89

D98H11

H12Z11

P94

10

00 1

2

4

6

8

0.2 0.4 0.6 0.8

×10-3

(b)

1000 1000

−1000 −1000

0

0 0

5

−5

(c)

σ of the Gaussian noise||e|| ∞

oftheobtainedsolution[rad]

00

10.2 0.4 0.6 0.8

0.002

0.004

0.006

0.008

×10-3

(d)

Figure 5. Planar experiment. (a) Camera positions in theexperiment, different colors encode positions of the 3D pointsat different FOV levels. (b) Comparison of the proposed methodwith previous methods using Euclidean distance measure.(c) Grid deformation (not in scale). (d) The maximum (red line)and median (boxes) residual error of the obtained solutions forthe various values of σ.

for large blocks and more blocks need to be subdivided.

Planar Experiment. In order to compare our method tothe previously proposed ones, we generated a planarcalibration device consisting of a rectangular 11×11 gridwith known 3D position, see Figure 5a. The camera poseswere set up so that camera centers were ∼1,000 mmaway from the calibration device and the correspon-dences were corrupted by the same amount of Gaussiannoise as in the Ball experiment. This time we generatedtwenty random transformations X for 3 standard FOVlevels 64◦, 47◦ and 35◦ (by varying calibration devicesize). In order to simulate the manufacturing and struc-tural errors introduced while using a calibration devicewe also corrupted the 3D positions of the grid pointswith systematic errors. We multiplied the grid by 1.005along the y-axis and deformed it using the functionsinx cos y along the z-axis, again, so to differ by no morethat 5h of the grid’s side length from the original, seeFigure 5c. Since most of the previous methods requirealso the additional knowledge of the external cameraposes, these were recovered using EPnP algorithm [9].Figure 5b shows the results of the comparison using thesame Euclidean distance measure as in the Ball exper-iment. The labels “T89”, “S89”, “P94”, “D98”, “H11”,and “Z11” stand for methods [19], [15], [11], [3], [6], and[21], respectively. Label “H12” stands for the proposedmethod.

7.2 Experiment with Real DataMotoman MA1400 Experiment. In the first real data ex-periment, an Asus Xtion Pro sensor was rigidly attached

(a) (b)

(c) (d)

Figure 6. Real data experiment . (a–b) Motoman MA1400.Close up of the camera-gripper rig, sample images from the se-quence; Camera poses reconstruction (c–d) Mitsubishi MELFA-RV-6S. Close up of the camera-gripper rig, sample images fromthe sequence; Model resulting from SfM, cameras are denotedby red pyramids.

0

0.5

1

1.5

2

2.5

3

3.5

4

T89 S89 P94 D98 H11 Z11 H12

Euc

lidea

n er

ror

of 3

D p

oint

s [m

m]

(a)

0

2

4

6

8

10

12

14

16

18

T89 S89 P94 D98 H11B H11S Z11 H12B H12S

Euc

lidea

n er

ror

of 3

D p

oint

s [m

m]

(b)

Figure 7. Real data experiment error . (a) Motoman MA1400(b) Mitsubishi MELFA-RV-6S.

to the 5th link of a Motoman MA1400 serial 6-DOF ma-nipulator, see Figure 6a. The end-effector was manipu-lated into 18 poses B′i and in each pose a 640×480 pictureof a calibration target consisting of 315 distinguishabledots was taken. An optimization task consisting of 9 rela-tive movements and totaling 2,835 correspondences wasconstructed. The algorithm converged to a solution withresidual error ‖e‖∞ = 0.003 rad (∼0.17◦) in 85 seconds(running in 8 threads).

In order to compare the result to the previous meth-ods, absolute camera poses A′i were recovered usingEPnP algorithm [9], see Figure 6b. Next, hand-eye trans-formations Xk, k = 1, . . . , 6 were computed by methods“T89”, “S89”, “P94”, “D98”, “H11”, and “Z11” usingthe same relative movements. Figure 7a shows a dis-tribution of the Euclidean distances between the 3Dpoints of the calibration device C and the 3D points

Page 8: JOURNAL OF TPAMI 1 Globally Optimal Hand-Eye Calibration Using Branch-and-Bound · 2015-11-02 · JOURNAL OF TPAMI 1 Globally Optimal Hand-Eye Calibration Using Branch-and-Bound Jan

JOURNAL OF TPAMI 8

of the calibration device transformed by the relativemovements A′−1

j XkB′−1j B′iX

−1k A′i, for i, j = 1, . . . , 18. Notice

that this error measure is different from the one used inthe synthetic experiment, since here the ground truthtransformation X is not known. Also notice that lowererror values do not necessarily mean “better” X, sinceboth camera and robot calibrations can be slightly noisy.In this case, however, medians for all the methods—except for “S89”—are well below 0.5 mm, validating theresult by the proposed method labeled as “H12”.

Mitsubishi MELFA-RV-6S Experiment. A MitsubishiMELFA-RV-6S serial manipulator with a Canon 7D dig-ital SLR camera and a Sigma 8 mm lens (pixel size∼0.063◦, FOV ∼130◦) were used to acquire data forthe second real experiment. The robot was instructedto move the gripper along the surface of a sphere ofradius ∼700 mm centered in the middle of the scene. Theposition of the gripper was adjusted to reach 25 differentlocations at four different pitch angles and the gripperwas set to face the center of the sphere, see Figure 6c.The internal calibration of the camera was obtained fromseveral images of a checkerboard using OCamCalib [13]

First, SfM software [17] was used to automaticallygenerate correspondences, see Figure 6d. We used 7 mo-tions Bi and with 447 randomly selected correspondencesto construct the optimization task. The algorithm con-verged to a solution with residual error ‖e‖∞ = 0.006 rad(∼0.34◦) in 8 seconds (8 threads). The result is labeled as“H12S” in Figure 7b. We used the same optimization taskto recover the calibration using the method [6], labeledas “H11S”.

Next, we detected the grid pattern in every image.Using the same 7 relative movements, a calibration taskconsisting of 1,155 correspondences was constructed.The algorithm converged to a solution with residual er-ror ‖e‖∞ = 0.005 rad (∼0.29◦) in 56 seconds (8 threads).The result is labeled as “H12B” in Figure 7b. Again,method [6] labeled “H11B” was used with the sametask. Finally, since the grid’s dimensions were known,the camera poses were recovered in scale using EPnPalgorithm and calibration was performed using methods“T89”, “S89”, “P94”, “D98”, and “Z11”.

We can see, Figure 7b, that the resulting calibrationsare relatively worse than the results in the MA1400experiment. We explain it by the fact that the MELFA-RV-6S robot was slightly miscalibrated, showing the factthat the proposed method is more sensitive to the robotcalibration. This is probably due to the fact that the errorcannot be compensated by the known camera positionsas in the previous approaches. However, when the robotis properly calibrated, it can deliver comparable or betterresults than its competitors.

8 CONCLUSION

In this paper, we removed the requirement for knowncamera extrinsics from the hand-eye calibration problem.Since the presented algorithm is completely independenton the scene geometry and scale, there is no need for

a known calibration device and the calibration can beperformed solely from a general scene. Not only thismakes the method immune to the errors introducedby calibration device manufacturing process but alsoincreases the calibration space to virtually arbitrary size.The theory shows that the algorithm is guaranteed to beglobally optimal with respect to L∞-norm. Further, theexperiments show that the algorithm is also practicallyuseful, since it is highly parallelizable and competitivein situations where a calibration device is lacking inprecision or is impractical due to the calibration spacerequirements.

AcknowledgmentThe authors were supported by the EC FP7-SPACE-2012-312377 PRoViDE, by the EC FP7-288553 CloPeMa,and by the Grant Agency of the CTU PragueSGS10/277/OHK3/3T/13 projects.

REFERENCES[1] GNU linear programming kit version 4.47, 2011.[2] J. C. K. Chou and M. Kamel. Finding the position and orientation

of a sensor on a robot manipulator using quaternions. IJRR,10(3):240–254, 1991.

[3] K. Daniilidis. Hand-eye calibration using dual quaternions. IJRR,18:286–298, 1998.

[4] R. Hartley and F. Kahl. Global optimization through rotationspace search. IJCV, 82(1):64–79, 2009.

[5] R. Hartley and A. Zisserman. Multiple View Geometry in ComputerVision. Cambridge University Press, 2003.

[6] J. Heller, M. Havlena, A. Sugimoto, and T. Pajdla. Structure-from-motion based hand-eye calibration using L∞ minimization. InCVPR, pp. 3497–3503, 2011.

[7] J. Heller, M. Havlena, and T. Pajdla. A Branch-and-BoundAlgorithm for Globally Optimal Hand-Eye Calibration. In CVPR,pp. 1608–1615, 2012.

[8] R. Horaud and F. Dornaika. Hand-eye calibration. IJRR, 14(3):195–210, 1995.

[9] V. Lepetit, F. Moreno-Noguer, P. Fua. EPnP: An Accurate O(n)Solution to the PnP Problem. IJCV, pp. 155–166, 2009.

[10] M. Lourakis. levmar: Levenberg-marquardt nonlinear leastsquares algorithms in C/C++, 2004,

[11] F. C. Park and B. J. Martin. Robot sensor calibration: solvingAX=XB on the Euclidean group In IEEE Transactions of Roboticsand Automation, pp. 717–721, 1994.

[12] T. Ruland, T. Pajdla, and L. Kruger Globally optimal hand-eyecalibration. In CVPR, pp. 1035–1042, 2012.

[13] D. Scaramuzza, A. Martinelli, and R. Siegwart. A toolbox for eas-ily calibrating omnidirectional cameras. In International Conferenceon Intelligent Robots and Systems, pp. 5695–5701, 2006.

[14] Y. Seo, Y.-J. Choi, and S. W. Lee. A branch-and-bound algorithmfor globally optimal calibration of a camera-and-rotation-sensorsystem. In ICCV, pp. 1173–1178, 2009.

[15] Y. Shiu, S. Ahmad. Calibration of wrist-mounted robotic sensorsby solving homogeneous transform equations of the form AX=XB.IEEE Transactions on Robotics and Automation, 5(1):16–29, 1989.

[16] H. Stewenius, K. Aström. Hand-eye calibration using multilinearconstraints. In ACCV, 2004.

[17] A. Torii, M. Havlena, T. Pajdla. Omnidirectional image stabiliza-tion for visual object recognition. IJCV, 91(2):157–174, 2011.

[18] R. Tsai and R. Lenz. Real time versatile robotics hand/eyecalibration using 3d machine vision. In International Conferenceon Robotics and Automation, pp. 554–561 vol.1, 1988.

[19] R. Tsai and R. Lenz. A new technique for fully autonomous andefficient 3d robotics hand/eye calibration. IEEE Transactions onRobotics and Automation, 5(3):345–358, 1989.

[20] H. Zhang. Hand/eye calibration for electronic assembly robots.IEEE Transactions on Robotics and Automation, 14(4):612–616, 1998.

[21] Z. Zhao. Hand/eye calibration using convex optimization. ICRA,pp. 2947-2952, 2011.

Page 9: JOURNAL OF TPAMI 1 Globally Optimal Hand-Eye Calibration Using Branch-and-Bound · 2015-11-02 · JOURNAL OF TPAMI 1 Globally Optimal Hand-Eye Calibration Using Branch-and-Bound Jan

JOURNAL OF TPAMI 1

APPENDIX

The following four lemmas are from [4].Lemma 2 Let R1, R2 ∈ SO(3). Then for ∀v ∈ R3

∠(R1v, R2v) ≤ d∠(R1, R2).

Lemma 3 Let α1,α2 ∈ Bπ and R1, R2 ∈ SO(3) such thatR1 = exp [α1]× and R2 = exp [α2]×. Then

d∠(R1, R2) ≤ ‖α1 −α2‖ .

Lemma 4 Let R̄X be the rotation corresponding to the centerof a cube Dσ ⊂ Bπ and RX ∈ Dσ . Then for ∀v ∈ R3

∠(R̄Xv, RXv) ≤√

3σ.

Lemma 5 Let u,v,w ∈ R3 be unit vectors determining aspherical triangle on a unit sphere and the edges be arcs oflengths u, v, and w, respectively. Let α, β be the angles at vand w, respectively. It follows that if β is the right angle thensinα = sin v/ sinw.The following two lemmas are from [14].

Lemma 6 Let RX ∈ SO(3) and β ∈ Bπ . Then

log(RX exp [β]× R

>X

)= [RXβ]× .

Lemma 7 Let R̄X be the rotation corresponding to the centerof a cube Dσ ⊂ Bπ , β ∈ Bπ . Then for ∀ RX ∈ Dσ

‖R̄Xβ − RXβ‖ ≤ 2 ‖β‖ sin(√

3σ/2).

Let us prove two more lemmas here.

Lemma 8 Let R̄X be the rotation corresponding to the centerof a cube Dσ ⊂ Bπ , β ∈ Bπ . Let RX ∈ Dσ and RA =RX exp [β]× R

>X , R̄A = R̄X exp [β]× R̄

>X . Then for ∀u ∈ R3

∠(R̄Au, RAu) ≤ 2 ‖β‖ sin(√

3σ/2).

Proof: Note where Lemmas 2, 6, 3 and 7 were used,respectively.

∠(R̄Au, RAu) ≤ d∠(R̄A, RA)

= d∠(exp [R̄Xβ]× , exp [RXβ]×)

≤ ‖R̄Xβ − RXβ‖≤ 2 ‖β‖ sin(

√3σ/2).

v ρ

R′Au

n′ = [v]× R′Au

α

R̄Au

α

n̄ = [v]× R̄Au

Figure 8. Illustration of the proof of Lemma 9.

Lemma 9 Let R̄X be the rotation corresponding to the centerof a cube Dσ ⊂ Bπ , β ∈ Bπ and u,v ∈ R3. Let RX ∈Dσ and RA = RX exp [β]× R

>X , R̄A = R̄X exp [β]× R̄

>X . Then,

if ∠(±v, R̄Au) > 2 ‖β‖ sin(√

3σ/2), the following inequalityholds true

∠([v]× R̄Au, [v]× RAu) ≤ arcsin

(sin(2‖β‖ sin(

√3σ/2))√

1−(v>R̄Au)2

).

Proof: We know from Lemma 8 that for every RX ∈Dσ and u ∈ R3 the angle ∠(R̄Au, RAu) is limited byρ = 2 ‖β‖ sin(

√3σ/2), see Figure 8. Let v ∈ R3 be such

that ∠(±v, R̄Au) > ρ, i.e., vectors ±v do not lie in thecone C determined by vector R̄Au and radius ρ. Now,let’s consider the geometrical relation between vectorsn̄ = [v]× R̄Au and n = [v]× RAu. It is an elementary geo-metrical fact that if v, RAu and R̄Au are coplanar vectors,then ∠(n̄,n) = 0. Let R′X ∈ Dσ be a rotation such that theplane determined by vector n′ = [v]× R

′Au is tangential

to the cone C. Trivially, ∀RX ∈ Dσ : ∠(n̄,n) ≤ ∠(n̄,n′).Now, the angle α = ∠(n̄,n′) can be determined. By usingLemma 5 on vectors v, R′Au and R̄Au we get

sinα =sin ∠([v]×R̄Au,[v]×RAu)

sin ∠(v,R̄Au) = sin ρsin arccosv>R̄Au

.

From this follows that for ∀RX ∈ Dσ

∠(n̄,n) ≤ α = arcsin sin ρ√1−(v>R̄Au)2

.

Finally, we can proceed with the proof of Lemma 1.Proof: First we prove the first part of the lemma.

Let’s suppose that R̂X ∈ Dσ and t′X ∈ R3 constitutea feasible solution to Problem 3. We show that R̂X,t′X constitute a solution to Problem 4 as well. Let usconsider a correspondence uij ↔ vij . If ∠(±vij , R̄Auij) ≤2 ‖βi‖ sin(

√3σ/2)—one of the preconditions of Lemma

9 is not fulfilled—we cannot easily decide about theconstraint imposed by the correspondence. If, on theother hand, this condition is met, we can write thefollowing inequality

∠([vij ]× R̄Aiuij , t̄Ai) (4)

≤ ∠([vij ]× R̄Aiuij , [vij ]× R̂Aiuij) (5)

+∠([vij ]× R̂Aiuij , t̂Ai) + ∠(t̂Ai , t̄Ai)

≤ ∠([vij ]× R̄Aiuij , [vij ]× R̂Aiuij) (6)

+π2 + εmin + ∠

(R̂X((RBi − I)t′X + tBi),

R̄X((RBi − I)t′X + tBi))

≤ ∠([vij ]× R̄Aiuij , [vij ]× R̂Aiuij) (7)

+π2 + εmin +

√3σ

≤ arcsin

(sin(2‖βi‖ sin(

√3σ/2))√

1−(v>ij R̄Aiuij)2

)(8)

+π2 + εmin +

√3σ

We get from line 4 to line 5 by applying the triangleinequality twice, to line 6 using the assumption that R̂X,t′X constitute a solution to Problem 3, to line 7 usingLemma 4, and finally to line 8 using Lemma 9. Note that

Page 10: JOURNAL OF TPAMI 1 Globally Optimal Hand-Eye Calibration Using Branch-and-Bound · 2015-11-02 · JOURNAL OF TPAMI 1 Globally Optimal Hand-Eye Calibration Using Branch-and-Bound Jan

JOURNAL OF TPAMI 2

because of the substitution t′X = −R>X tX, vectors t̂Ai , t̄Aican be written as products of rotation matrices R̂X, R̄X andvector ((RBi − I)t′X + tBi). This makes it possible to applyLemma 4 to term ∠(t̂Ai , t̄Ai) and justify the inequality oflines 6 and 7.

Now, line 8 gives us the value of the bound γij as

γij = arcsin

(sin(2‖βi‖ sin(

√3σ/2))√

1−(v>ij R̄Aiuij)2

)+√

3σ.

The proof of the second inequality,

∠(− [vij ]× R̄Aiuij , t̄Ai) ≤ π2 + εmin + γij ,

is almost identical. We used the fact that

∠(− [vij ]× R̄Aiuij ,− [vij ]× R̂Aiuij) =

∠([vij ]× R̄Aiuij , [vij ]× R̂Aiuij),

and the assumption ∠(− [vij ]× R̂Aiuij , t̂Ai) ≤ π2 + εmin.

The proof of the second part of the lemma is analogousto the proof of the second part of Lemma 3 in [4].