Revision b6c3c18e620a4c118de1d028f6fd860327b3ce1a (click the page title to view the current version)
Changes from b6c3c18e620a4c118de1d028f6fd860327b3ce1a to 0e1aaf384ee73d7ffa5ee125e39205e877271380
---
title: Eight-point algorithm (Lecture)
categories: lecture
---
# Eight-Point Algorithm
Input
: At least eight pairs of points $(\mathbf{x}_1,\mathbf{x}_2)$ (from stereo view).
Output
: The essential matrix $E$ (or rather an estimate)
##
+ **Epipolar Constraint** $\mathbf{x}_2^TE\mathbf{x}_1 = 0$
+ we know $\mathbf{x}_i$, and want to solve for $E$.
+ up to nine unknowns
+ Eight pairs of points give eight equations
+ suffices to solve up to a scalar factor
+ the scalar factor cannot be avoided
+ Scaling up all distances by the same factor gives the same solution
## Kronecker product
Kronecker product: $\bigotimes$
Serialisation of a matrix: $(\cdot)^s$
$$(\mathbf{x}_1\bigotimes\mathbf{x}_2)^TE^s = 0$$
## Preparing for the eight-point algorithm
$$\mathbf{a} = \mathbf{x}_1\bigotimes\mathbf{x}_2$$
$$\chi = [\mathbf{a}_1, \mathbf{a}_2, \ldots, \mathbf{a}_n]^T$$
+ We can solve $\chi E^s = 0$ for $E^s$.
+ With eight points, we have unique solutions up to a scalar factor.
+ With additional points, we can minimise the squared errors
+ $\min_E ||\chi E^s||^2$
+ i.e. eigenvector of $\chi^T\chi$ of smallest eigenvalue
+ (this is a general approach to solve linear systems of equations *with noise*)
+ The scale ambiguity is intrinsic.
+ The distance $||T||$ cannot be determined from the images
## Projection onto the essential space
The solution is not necessarily a valid essential matrix, but we can
project onto the space of such matrices and correct the sign to
get positive determinant.
+ Write $F$ for the solution of $\chi E^s=0$.
+ Write $F = U\Sigma_FV^T$ for the singular value decomposition
+ Use $E=U\Sigma V^T$ for the essential matrix, where
+ $\Sigma=\mathsf{diag}(1,1,0)$
## Recover the transform from the essential matrix
$$
\begin{cases}
(\hat T_1,R_1) &=
(UR_Z(+\frac\pi2)\Sigma U^T, UR_Z(+\frac\pi2)V^T)
\\
(\hat T_2,R_2) &=
(UR_Z(-\frac\pi2)\Sigma U^T, UR_Z(-\frac\pi2)V^T)
\end{cases}
$$
where
$$R_Z(+\frac\pi2) =
\begin{bmatrix} 0 & -1 & 0 \\ 1 & 0 & 0 \\ 0 & 0 & 1 \end{bmatrix}
$$
is a rotation by $\pi/2$ radians around the $z$-axis.
## Four solutions
+ Two solutions $\pm F$ to the equation $\chi E^s=0$
+ Two poses from each candidate matrix
+ Only one of the four solutions is in front of both cammeras
## Notes
### Number of points.
+ $(R,T)$ only has five degrees of freedom when $T$
is determined up to a scalar factor.
+ thus five points suffices in theory
+ $\mathsf{det}(E)=0$ removes one degree of freedom
+ linear algorithm exists for six points
### Requirements
**General position**
We have to assume linear independence in the equation
$\chi E^s=0$
**Sufficient parallax**
If $T=0$, then $E=0$, hence the algorithm requires
$$T\neq0$$
The algorithm may work even if $T=0$, due to noise, but the
resulting estimate for $T$ (direction) would be meaningless.
### Variants
+ Infinitesimal viewpoint change, see Section 5.4
+ Multiple motion, see Chapter 7
### Scale ambiguity (Ma (2004) Section 5.2.2)
+ Depth scales $\lambda_1,\lambda_2$ (for each object point)
+ Motion scale $\gamma=||T||$
$$\lambda_2^j\mathbf{x}_2^j = \lambda_1^jR\mathbf{x}_2^j + \gamma T$$
+ Recall that the scale ambiguity is intrinsic
+ $\gamma$ cannot be determined from the images
# Optimal pose in the presence of noise
**Reading** Ma (2004) Section 5.2.3
+ Noise is everywhere
+ Two problems
+ error in $(R,T)$
+ no consistent 3D reconstruction from noisy image points
- in the epipolar constraint: ideal co-ordinates
- measurements: only noisy co-ordinates
+ **Two approaches**
1. Maximum likelihood
2. Minimal sum of squared errors
+ We only discuss option 2.
## Optimal Pose
**Sum of squared errors**
$$\phi(\mathrm{x},R,T) = \sum_j ||w_1^j||^2 + ||w_2^j||^2 = \sum_j|| \tilde x_1^j-x_1^j||^2 + ||\tilde x_2^j-x_2^j||^2$$
**Observations** $\tilde x_i^j$
**Independent variables** $x_i^j,R,T$
**Task** Minimise
$$\phi(\mathrm{x},R,T) = \sum_j\sum_{i\in\{1,2\}} ||w_i^j||^2$$
under the conditions that
$$ x_2^j\hat TR x_1^j = 0$$
and
$$x_1^{jT}e_3 = 1\quad\text{for } i=1,2, j=1,2,\ldots,n$$
+ Lagrangian optimisation
## Structure Triangulation
**Goal** find image point pairs which minimise the reprojection error
for that particular object point.