CS计算机代考程序代写 Multiple View Geometry: Solution Sheet 6

Multiple View Geometry: Solution Sheet 6
Prof. Dr. Florian Bernard, Florian Hofherr, Tarun Yenamandra
Computer Vision Group, TU Munich
Link Zoom Room , Password: 307238

Exercise: June 4th, 2020

Part I: Theory

1. (a) E is essential matrix ⇒ Σ = diag{σ, σ, 0}:

Rz(±
π

2
)Σ =


 0 ∓1 0±1 0 0

0 0 1


 ·


σ 0 00 σ 0

0 0 0


 =


 0 ∓σ 0±σ 0 0

0 0 0


 = −(Rz(±π

2
)Σ)>

−T̂> = −(URzΣU>)>

= U(−RzΣ)>U>

= URzΣU
>

= T̂

(b) Since U, V are orthogonal with determinant 1 (see lecture), they are rotation matrices.
Since SO(3) is a group and thus closed under multiplication, R ∈ SO(3).
Alternative longer proof:

i. U, V are orthogonal matrices⇒ U>U = 1 and V V > = 1
Rz is a rotation matrix⇒ RzR>z = 1

R>R = (UR>z V
>)>(UR>z V

>)

= V RzU
>UR>z V

>

= V RzR
>
z V
>

= V V >

= 1

ii. U and V are special orthogonal matrices with det(U) = det(V >) = 1 (Slide 9,
Chapter 5).

det(R) = det(UR>z V
>) = det(U)︸ ︷︷ ︸

1

· det(R>z )︸ ︷︷ ︸
1

· det(V >)︸ ︷︷ ︸
1

= 1

2. (a) H = R+ Tu> ⇔ R = H − Tu>.

E = T̂R

= T̂ (H − Tu>)
= T̂H − T̂ T︸︷︷︸

=T×T=0

u>

= T̂H

1

https://tum-conf.zoom.us/s/62772800235?pwd=SUpZN2QrV0JpeXJyR2R1TWx5cHEwdz09

(b)

H>E + E>H = H>(T̂H) + (T̂H)>H

= H>(T̂H) +H>T̂>H

= H>T̂H −H>T̂H (because T̂ is skew-symmetric, i.e. T̂> = −T̂ )
= 0

3. The notations below are as in Slide 6, Chapter 5. Note that the following slides deal with
projected points in the normalized plane (Z = 1), whereas here we assume pixel coordinates.
The case of normalized coordinates is then just a special case with K = 1.

Rotation R and translation T are defined such that

g21 =

[
R T
0 1

]
transforms a point from coordinate system 1 (CS1) to coordinate system 2 (CS2). This means
that the inverse transformation (converting points from CS2 to CS1) is given by

g12 = g
−1
21 =

[
R> −R>T
0 1

]
.

o1 seen in CS1:
[
0 0 0 1

]>
(homogeneous coordinates)

o1 seen in CS2: g21
[
0 0 0 1

]>
=

[
T
1

]
e2 are the pixel coordinates of o1 projected into image 2:

λ2e2 = K2Π0

[
T
1

]
= K2T

o2 seen in CS2:
[
0 0 0 1

]>
o2 seen in CS1: g12

[
0 0 0 1

]>
=

[
−R>T

1

]
e1 are the pixel coordinates of o2 projected into image 1:

λ1e1 = K1Π0

[
−R>T

1

]
= −K1R>T

Fe1 = (K
−>
2 T̂RK

−1
1︸ ︷︷ ︸

F

)(−
1

λ1
K1R

>T︸ ︷︷ ︸
e1

)

= −
1

λ1
K−>2 T̂RK

−1
1 K1︸ ︷︷ ︸
1

R>T

= −
1

λ1
K−>2 T̂ RR

>︸ ︷︷ ︸
1

T

= −
1

λ1
K−>2 T̂ T︸︷︷︸

=T×T=0

= 0

2

e>2 F = (
1

λ2
K2T︸ ︷︷ ︸
e2

)>(K−>2 T̂RK
−1
1︸ ︷︷ ︸

F

)

=
1

λ2
T>K>2 K

−>
2︸ ︷︷ ︸

1

T̂RK−11

=
1

λ2
T>T̂RK−11

=
1

λ2
(T̂>T )>RK−11

=
1

λ2
(−T̂ T )>RK−11

= −
1

λ2
(T × T )>RK−11

= −
1

λ2
0RK−11

= 0

3

Part II: Practical Exercises

Remarks

1. Are there two or four possible solutions for R and T?
The answer is four. You may find it confusing since in Slide 9 you are told to have two sets of R
and T , while in Slide 14 it says there are four possible solutions. Recall that the essential matrix
E is calculated by solving the equation χEs = 0 (at the bottom of Slide 11). Ideally the Es

you get should lie in the nullspace of χ. However, since there are always erros in the point pairs
you’ve chosen to make χ, in practice it is very difficult to get an Es that makes χEs exactly 0.
Instead we use the SVD of χ to get the Es which minimizes ||χEs||. In other words, the Es
we get will give us χEs = σ with σ being some very small vector. Now think about this: what
will happen if we turn the sign of the Es? We will get χ(−Es) = −σ which still gives us the
smallest ||χEs|| (||χEs|| = ||σ|| = || − σ|| = ||χ(−Es)||).

Now we know that solving χEs = 0 for Es will always give us two possible solutions E and
−E. From each of them you can get two possible sets ofR and T using the equations in Slide 9.
Altogether we get four possible solutions. In practice we do the calculation in a little different
way. We usually calculate according to Slide 14 to get four solutions out of E. The two extra
solutions we get are nothing but the ones we should have got from −E.

2. How to get the correct R and T from the possible solutions?
The criterion you should use to rule out the incorrect solutions is that all the reconstructed 3D
points should have positive depth seen from both of the camera coordinate systems. In other
words, bothλj1 and λ

j
2 in Slide 17 need to be positive.

4