Revision 81970995e10cb69684ecec6fba17f0964d9d8d29 (click the page title to view the current version)

Epipolar Geometry

Changes from 81970995e10cb69684ecec6fba17f0964d9d8d29 to 7786469f63a4c3b7d5997490ca921265b5c79fe2

title: Epipolar Geometry
categories: session

This session revisits the session on [Relative Pose](),
and extends it into planar homography.

**Briefing** Updated lecture notes from the 
[Relative Pose Lecture]().
# Briefing

+ Status report.
+ Questions and Answers.
+ Continue with 3D reconstruction
+ Thought experiment
    + What applications can we imagine?  Examples?
    + How would we go about building a complete system?

# Exercise

These problems were first given in the session
on [Study Technique]() but we did not have time to work
on them at that point.

## Skew-symmetric Matrix (Ma 2004:Ex 5.3)

> Given a vector $T\in \mathbb{R}^3$ with unit length, i.e.
> $||T|| = 1$, show that:
> 1. The identity holds: $\hat T^T\hat T = \hat T\hat T^T = I - TT^T$
>    (note that the superscript $^T$ stands for matrix transpose).
> 2. Explain the effect of multiplying a vector $u\in \mathbb{R}^3$
>    by the matrix $P = I - TT^T$.
>    Show that $P^n = P$ for any integer $n$.
> 3. Show that $\hat T^T\hat T\hat T = \hat T\hat T^T\hat T = \hat T$
>    Explain geometrically why this is true.
> 4. How do the above statements need to be changed if the vector 
>    $T$ is not of unit length?

### Part 1.

Consider the vector $T=[a,b,c]^T$.

1.  Write down the matrix $\hat T$ in terms of $a,b,c$.
1.  Calculate $\hat T^T\hat T$.
1.  Calculate $\hat T\hat T^T$ and compare to the above (2).
4.  Calculate $TT^T$ and compare to the above (3).
5.  Does the identity hold?

### Part 2.

1.  Use Part 1 to rewrite $P$ in terms of $\hat T$ and $\hat T^T$.
2.  Rewrite $Pu$ in terms of cross products.
    - You may have to think separately about what $\hat T^Tu$ means
      in terms of cross products.  We know that $\hat Tu=T\times u$.
3.  Draw the vectors $T$, $u$, and $Pu$ in a diagram. 
    Which angles are straight and which need not be?
4.  Consider the vectors $PPu$, $PPPu$, and so on, in your diagram.
    What happens when you keep multiplying by $P$.
5.  You can also spell out all the elements of $P$, and calculate

**Reflect** (this is not part of the textbook problem, but a very
instructive question to reflect upon)
Why can we say that $P=P^n$ for any $n$ but not that $P^{n-1}=I$?
What does the first multiplication by $P$ do in the figure that is
different from the next one?

### Part 3.

You can solve this in the same way as Part 2.  The only difference
is that the first matrix you multiply with is $\hat T$, rather than $P$.
Review you figure and see if Part 3 makes sense.

### Part 4

If $T$ has non-unit length and write $T=cT'$ where $c\in\mathbb{R}^3$ and
$T'$ has unit length.  What happens with the constant $c$ if you insert
$cT'$ for $T$ in the arguments from Part 1-3?

## Exercise 5.7 (Ma 2004:160)

(see the textbook for the problem text)

If you spot a solution straight away, you can try that straight away.
If you do, you are clearly more confident in linear algebra than expected
at this level.

The rest of us should start to play around with the matrix $E$.
What can we do with the matrix $E$ using core techniques in the syllabus?

1.  You can do a Singular Value Decomposition at least.
    - You can use `numpy.linalg.svd` in python.
    - You just have to choose a value for $a$ to do the decomposition
    - Try a few values, e.g. $a=1,2,10$.
2.  Knowing the decomposition, you can calculate $(T,R)$ using
    textbook techniques.  Do this for a few values of $a$.
    You can still use python for this.
3.  What do $T$ and $R$ look like geometrically?
4.  Compare the decompositions for the different values of $a$.
    - can you guess on a decomposition for general $a$?
    - test that your guess is correct by multiplying the components
      $U\Sigma V^T$ and compare the result to $E$.

(It is possible to do the test multiplication (3) using software like 
Maple (commercial) or sage (open source), but this is out
of our scope, and matrix multiplication can be done by hand.)

## More challenges 

+ Exercise 5.14