Title: CS4277_3CV / Rigid Body Motion and Robust Homography Estimation
On every note of this deck, unless a note says otherwise:
Title: CS4277_3CV::Rigid Body Motion and Robust Homography Estimation
Logo: tum_logo.png

Front: What is a bound vector?
Back: If p has coordinates X and q has coordinates Y, then v has coordinates: [$$]v = Y - X \in \mathbb{R}^3[/$$]

Front: What is a free vector?
Back: Two pairs of points [$](p, q), (p', q')[/$] with coordinates satisfying
- [$]X = Y' - X'[/$] define the same free vector.
A free vector does not depend on its base point.

Front: How to compute the angle between two vectors?
Back: [$$]\cos \theta = \frac{\langle u, v \rangle}{||u||||v||}[/$$]

Front: How to compute the cross product between two vectors?
Back: [$$]u \times v = \begin{bmatrix} u_2v_3 - u_3v_2 \\ u_3v_1 - u_1v_3 \\ u_1v_2 - u_2v_1\end{bmatrix} \in \mathbb{R}^3[/$$]

Front: How can the cross product be represented as a matrix, and what properties does this matrix have?
Back: [$$]\hat{u} = \begin{bmatrix} 0 & -u_3 & u_2 \\ u_3 & 0 & -u_1 \\ -u_2 & u_1 & 0 \end{bmatrix} \in \mathbb{R}^{3 \times 3}[/$$]
The matrix is skew-symmetric.

Front: What property does a skew-symmetric matrix satisfy?
Back: [$$]A^T = -A[/$$]

Front: What are the values of the diagonal elements of a skew-symmetric matrix?
Back: All elements are zero.

Front: If A is a real skew-symmetric matrix and λ is a real eigenvalue, what is λ?
Back: [$$]\lambda = 0[/$$]

Front: If A is a real skew-symmetric matrix, then [$]I + A[/$] is...
Back: Invertible

Front: What are the two coordinate frames we learned about in the 2nd lecture?
Back: - object/body coordinate frame
- world frame

Front: What is the object coordinate frame?
Back: A rigid object can always be associated with a right-handed orthonormal frame, which we call the object coordinate frame.

Front: What is a rigid-body motion or a special Euclidean transformation?
Back: A map [$]g: \mathbb{R}^3 \mapsto \mathbb{R}^3[/$] that:
- preserves the norm (distance preserving), and the
- cross product (orientation preserving) of any two vectors.

Front: What does a change of basis mean?
Back: Write X as a linear combination of a new basis: [$$]X = x'r_1 + y'r_2 + z'r_3 = \begin{bmatrix} r_1 & r_2 & r_3\end{bmatrix} \begin{bmatrix} x' \ y' \ z' \end{bmatrix}[/$$]

Front: True or False. Rotations preserve both the inner and cross product of vectors
Back: True

Front: What is the homogenous representation of a rotation and translation special euclidean transformation?
Back: [$$]SE(3) := \left\{ g = \begin{bmatrix} R & T \\ 0 & 1 \end{bmatrix} \vert R \in SO(3), T \in \mathbb{R}^3 \right\} \subset \mathbb{R}^{4 \times 4}[/$$]

Front: Given three camera frames, what is the rigid-body motion relating X1 to X3?
Back: [$$]X_3 = g_{32}g_{21}X_1 = g_{31}X_1[/$$]

Front: What are the composition rules in homogeneous representation?
Back: - [$]X_i = g_{ij}X_j[/$]
- [$]g_{ik} = g_{ij}g_{jk}[/$]
- [$]g_{ij}^{-1} = g_{ji}[/$]

Front: How are [$]X_1[/$] and [$]X_2[/$] related?
Back: [$$]X_2 = (R - \frac{tN^T}{d})X_1[/$$]

Front: How are [$]x_1[/$] and [$]x_2[/$] related?
Back: [$$]\lambda x_2 = (R - \frac{tN^T}{d})x_1[/$$] where [$]\lambda = \lambda_1/\lambda_2[/$]

Front: Let [$]N = [n_1, n_2, n_3]^T[/$] be the unit normal vector representing the plane w.r.t [$]C_1[/$].
What is [$]N^TX_1[/$]?
Back: [$$]N^TX_1 = -d[/$$] the perpendicular distance from plane to [$]C_1[/$].

Front: Why do we perform reverse mapping of a planar projective transformation?
Back: Directly computing [$]x' = Hx[/$] leads to holes. Instead compute [$]H^{-1}x' = x[/$]

Front: What is a 2D Homography?
Back: - Given: A set of point correspondences [$]x_i \leftrightarrow x_i'[/$] between two images
- Compute: The 2D Homography H, such that [$]Hx_i = x_i'[/$] for each i.

Front: How many corresponding points are required to compute H (2D Homography)?
Back: H has 8 dof, and each point correspondence gives 2 constraints. -> 4 point correspondences

Front: Why are in practice more the 4 point correspondences used to constrain H?
Back: Messurements contain noise, thus more correspondences and the least-squares solution is used.

Front: What is the objective of the Direct Linear Transform (DLT) Algorithm
Back: Given [$]n \geq 4[/$] 2D to 2D point correspondences [$]\{ x_i \leftrightarrow x_i'\}[/$] determine the 2D homography matrix H such that [$]x_i' = Hx_i[/$]

Front: Give an overview of how the Direct Linear Transform (DLT) Algorithm works.
Back: 1. For each correspondence compute [$]A_i[/$]. Usually only two first rows needed.
2. Assemble n [$]2 \times 9[/$] matrices [$]A_i[/$] into a single [$]2n \times 9[/$] matrix A
3. Obtain SVD of A. Solution for h is the last column of V.
4. Determine H from h.

Front: What happens if three of the minimum four points correspondences are collinear?
Back: The Rank of matrix A drops below 8, and we cannot solve for h.

Front: Do we need to check the selected points before performing DLT?
Back: Check that selected points are not in the critical configuration, i.e. collinear.

Front: Why is data normalisation important before doing the SVD in DLT?
Back: Orders of magnitude difference in constraint matrix causes bad behavior in the SVD solution.

Front: How can Data normalization be carried out?
Back: By a tranformation of the points:
1. Points are translated so that their centroid is at the origin.
2. Points are then scaled so that the average distance from the origin is equal to sqrt(2).
3. Transformation is applied to each of the two images independently.

Front: Now to construct [$]T_\text{norm}[/$] for the normalized DLT algorithm?
Back: [$$]T_\text{norm} = \begin{bmatrix} s & 0 & -sc_y \\ 0 & s & -sc_y \\ 0 & 0 & 1\end{bmatrix}[/$$]
- c is the centroid of all data points
- [$]s = \frac{\sqrt{2}}{d}[/$]
- d is the mean distance of all points from centroid

Front: Explain how the normalised DLT Algorithm works!

Q: The DLT algorithm minimizes the norm [...], where {{c1: 𝝐 = Ah}} is called the residual vector.
A: ||Ah||
Title: CS4277_3CV::Rigid Body Motion and Robust Homography Estimation

Front: What is the algebraic distance?
Back: Each correspondence contributes a partial error vector [$]\epsilon_i \in \mathbb{R}^2[/$], where the norm is called the algebraic distance.

Front: What is the total algebraic error?
Back: The sum of all squared algebraic distances: [$]\sum_i ||\epsilon_i||^2[/$]

Front: What is a disadvantage of the algebraic distance as a cost function?
Back: The quantity that is minimized is not meaningful geometrically nor statistically.

Front: What is an advantage of the algebraic distance as a cost function?
Back: Linear and thus computationally inexpensive.

Front: What is the geometric distance?
Back: Difference between the messured and estimated image coordinates.

Front: What is the transfer error in one image?
Back: [$$]\sum_i d(x_i', Hx_i)^2[/$$]

Front: What is the symmetric transfer error in one image?
Back: [$$]\sum_i d(x_i, H^{-1}x_i')^2 + d(x_i', Hx_i)^2[/$$]

Front: What is the reprojection error?
Back: We are seeking a homography [$]\hat{H}[/$] and pairs of perfectly matched points that minimize the total error function.

Front: What is the disadvantage of using the reprojection error as the cost function?
Back: Computationally complex

Front: What is the advantage of using the sampson error as the cost function?
Back: - lies between the algebraic and geometric cost functions in terms of complexity
- close approximation to reprojection error