More Single View Geometry

(i) Homography from a World Plane

(a)

Estimating \(\mathtt{H}\) is equivalent to a homography estimation, which can only recover (8.1) up to an unknown scale factor \(\lambda\):

\[\mathtt{H} = \lambda \mathtt{K} \begin{bmatrix} \mathbf{r}_1 & \mathbf{r}_2 & \mathbf{t} \end{bmatrix}.\]

Given the intrinsics \(\mathtt{K}\), the camera pose may be computed from

\[\lambda^{-1} \mathtt{K}^{-1} \mathtt{H} = \begin{bmatrix} \mathbf{r}_1 & \mathbf{r}_2 & \mathbf{t} \end{bmatrix}.\]

Its scale ambiguity is resolved by constraining the solution such that

\[\left\Vert \lambda^{-1} \mathtt{K}^{-1} \mathtt{H} \right\Vert_F = 1 \implies \begin{bmatrix} \mathbf{r}_1 & \mathbf{r}_2 & \mathbf{t} \end{bmatrix} = \pm \frac{ \mathtt{K}^{-1} \mathtt{H} }{ \left\Vert \mathtt{K}^{-1} \mathtt{H} \right\Vert_F }.\]

The remaining two-fold (sign) ambiguity cannot be resolved because the perspective division (i.e. the homogeneous scaling factor) removes the effects of \(\pm\).

(b)

Suppose \(\mathtt{H}\) is a homography between points on a world plane \(\left( \mathbf{n}^\top, d \right)^\top\) and the image.

\[\begin{split}\mathbf{x} &= \mathtt{P} \begin{bmatrix} \tilde{\mathbf{X}}\\ 1 \end{bmatrix}\\ &= \mathtt{K} \mathtt{R} \tilde{\mathbf{X}} + \mathbf{t}\\ &= \mathtt{K} \mathtt{R} \tilde{\mathbf{X}} + \mathbf{t} \left( \frac{-1}{d} \mathbf{n}^\top \tilde{\mathbf{X}} \right) & \quad & \text{by (3.2), } \mathbf{n}^\top \tilde{\mathbf{X}} + d = 0\\ &= \mathtt{K} \left( \mathtt{R} - \mathbf{t} \mathbf{n}^\top d^{-1} \right) \mathbf{\tilde{X}}\\ &= \mathtt{H} \mathbf{\tilde{X}}\end{split}\]

(ii) Line Projection

(a)

Any line containing the homogeneous camera centre \(\mathbf{C}\) can be written as a Plücker matrix \(\mathtt{L} = \mathbf{C} \mathbf{A}^\top - \mathbf{A} \mathbf{C}^\top\) (3.8). Here \(\mathbf{A}\) is any other point on that line.

Suppose \(\mathbf{a} = \mathtt{P} \mathbf{A}\). Then (8.2) reduces to

\[\begin{split}\mathtt{P} \mathtt{L} \mathtt{P}^\top &= \boldsymbol{0} \mathbf{a}^\top - \mathbf{a} \boldsymbol{0}^\top & \quad & \mathtt{P} \mathbf{C} = \boldsymbol{0}\\ &= \left[ \boldsymbol{0} \times \mathbf{a} \right]_\times\\ &= \mathbf{l}.\end{split}\]

(b)

Recall from result 3.5 that two lines \(\mathcal{L}\) and \(\hat{\mathcal{L}}\) are coplanar and intersect if and only if the bilinear product of their Plücker line coordinates is zero:

\[\begin{split}(\mathcal{L} \mid \hat{\mathcal{L}}) &= l_{12} \hat{l}_{34} + \hat{l}_{12} l_{34} + l_{13} \hat{l}_{42} + \hat{l}_{13} l_{42} + l_{14} \hat{l}_{23} + \hat{l}_{14} l_{23} & \quad & \text{(3.13), (3.11)}\\ &= 0.\end{split}\]

By (3.12), \((\mathcal{L} \mid \mathcal{L}) = 0\). Suppose \(\hat{\mathcal{L}} = \sum_i^n x_i \mathcal{L}^i\) is a linear combination of \(n\) other lines where \(\mathbf{x} \in \mathbb{R}^n\).

\[\begin{split}(\mathcal{L} \mid \sum_i x_i \mathcal{L}^i) &= l_{12} \left( \sum_i x_i l^i_{34} \right) + \left( \sum_i x_i l^i_{12} \right) l_{34} + l_{13} \left( \sum_i x_i l^i_{42} \right) + \left( \sum_i x_i l^i_{13} \right) l_{42} + l_{14} \left( \sum_i x_i l^i_{23} \right) + \left( \sum_i x_i l^i_{14} \right) l_{23}\\ &= \sum_i x_i \left( l_{12} l^i_{34} + l^i_{12} l_{34} + l_{13} l^i_{42} + l^i_{13} l_{42} + l_{14} l^i_{23} + l^i_{14} l_{23} \right)\\ &= \sum_i x_i (\mathcal{L} \mid \mathcal{L}^i).\end{split}\]

Accordingly, the camera center \(\mathbf{C}\) lies on \(\mathcal{L} = \mathcal{P}^\top \mathbf{x}\) if and only if

\[\begin{split}\mathcal{P} \mathcal{L} &= \begin{bmatrix} (\mathbf{P}^2 \land \mathbf{P}^3 \mid \mathcal{L})\\ (\mathbf{P}^3 \land \mathbf{P}^1 \mid \mathcal{L})\\ (\mathbf{P}^1 \land \mathbf{P}^2 \mid \mathcal{L}) \end{bmatrix} & \quad & \text{(8.4), (8.3)}\\ &= \boldsymbol{0}.\end{split}\]

The last equality holds because \(\mathtt{P} \mathbf{C} = \boldsymbol{0}\) implies

\[(\mathbf{P}^i \land \mathbf{P}^j \mid \mathcal{L}) = x (\mathbf{P}^i \land \mathbf{P}^j \mid \mathbf{P}^2 \land \mathbf{P}^3) + y (\mathbf{P}^i \land \mathbf{P}^j \mid \mathbf{P}^3 \land \mathbf{P}^1) + z (\mathbf{P}^i \land \mathbf{P}^j \mid \mathbf{P}^1 \land \mathbf{P}^2) = 0.\]

By (3.14) and (6.13), the line \(\mathcal{L}\) goes through the image point \(\mathbf{x}\).

(c)

Each row of \(\mathcal{P}\) represents a line. The columns of each row describes the line’s direction and moment [Jia]. They are not independent because they always satisfy the Klein quadric (3.12). Thus, the the columns of \(\mathcal{P}\) can be interpreted geometrically as a triangular pyramid, whose tip starts at \(\mathbf{C}\), that intersects the image plane.

(iii) Contour Generator of a Quadric

The contour generator \(\boldsymbol{\Gamma}\) of a quadric consists of the set of points \(\mathbf{X}\) on \(\mathtt{Q}\) for which the tangent planes contain the camera center \(\mathbf{C}\).

The plane \(\boldsymbol{\pi} = \mathtt{Q} \mathbf{X}\) is the polar plane of \(\mathbf{X}\) with respect to \(\mathtt{Q}\) (3.15). If \(\mathbf{X}\) lies on \(\mathtt{Q}\), then \(\boldsymbol{\pi}\) is the tangent plane to \(\mathtt{Q}\) at \(\mathbf{X}\).

In the case that \(\mathtt{Q}\) is non-singular and \(\mathbf{X}\) is outside the quadric, the polar plane is defined by the points of contact with \(\mathtt{Q}\) of the cone of rays through \(\mathbf{X}\) tangent to \(\mathtt{Q}\). Hence, the condition that \(\mathbf{C}\) is on each tangent plane is \(\boldsymbol{\pi}^\top \mathbf{C} = \mathbf{X}^\top \mathtt{Q} \mathbf{C} = \mathbf{X}^\top \boldsymbol{\pi}_\boldsymbol{\Gamma} = \boldsymbol{0}\) (3.2). This implies that the contour generator of a quadric is a plane curve, and that the plane of \(\boldsymbol{\Gamma}\) is the polar plane of the camera center with respect to the quadric.

(iv) Apparent Contour of an Algebraic Surface

An algebraic surface of order \(n\) is a set of points in Euclidean space whose homogeneous coordinates satisfy

\[F^n(\mathbf{X}) = 0\]

where \(F^n\) is a polynomial of degree \(n\) [Gor]. By inspection, an algebraic surface of the first order is a plane.

An order of an algebraic surface equals the number of intersections with any line in the space that does not lie on this surface. The points of intersection can be real or complex. A set of points that belong to a surface and to a plane are called intersection points of the surface and the plane. Every plane intersection of an algebraic surface is a plane algebraic curve. Therefore, the order of an algebraic surface equals the order of any plane intersection of that surface.

A dual notion of the order of a surface is the class of the surface. A class of an algebraic surface equals the number of its tangent planes that pass through any line in the space that does not lie on the surface. If the order and the class of a surface equal \(n\), the surface is of the \(n^\text{th}\) degree.

Recall that the gradient \(\nabla F^n\) points in the direction of steepest ascent and is orthogonal to the tangent plane [Joy]. The plane tangent to the surface at a point on the contour generator must pass through the camera center point by definition 8.8. By (3.2),

\[\mathbf{C} \cdot \nabla F^n = 0\]

where \(\mathbf{C}\) is the camera center.

Suppose the homogeneous algebraic surface is of degree \(n\). As a result of the preceding definition, the tangent plane is a surface of degree \(n - 1\). By Bézout’s theorem, the apparent contour is a curve of degree \(n (n - 1)\) [For96].

(v) Rotation Axis Vanishing Point for \(\mathtt{H} = \mathtt{K} \mathtt{R} \mathtt{K}^{-1}\)

Suppose a projective transformation between two planes has the form

\[\mathtt{H} = \mathtt{T} \mathtt{R} \mathtt{T}^{-1}\]

with \(\mathtt{T}\) a general projective transformation; then \(\mathtt{H}\) is a conjugate rotation (A7.1). Its eigenvalues are preserved up to a common scale. This last property is why \(\mathtt{T} \mathbf{a}\) is an eigenvector of \(\mathtt{H}\), where \(\mathbf{a}\) is the direction of the rotation axis. When \(\mathtt{T} = \mathtt{K}\), the derivation before result 8.20 illustrates that \(\mathbf{v} = \mathtt{K} \mathbf{a}\) is the vanishing point of the rotation axis.

(vi) Synthetic Rotations

As explained in section 8.4.2, a pure rotation can be represented as a conjugate rotation \(\mathtt{H} = \mathtt{K} \mathtt{R} \mathtt{K}^{-1}\). Its eigendecomposition is given by \(\mathtt{H}(\theta) = \mathtt{U} \mathop{\mathrm{diag}}\left(1, e^{i \theta}, e^{-i \theta} \right) \mathtt{U}^{-1}\). Consequently,

\[\mathtt{H}^{\lambda} = \mathtt{U} \mathop{\mathrm{diag}}\left( 1, e^{i \lambda \theta}, e^{-i \lambda \theta} \right) \mathtt{U}^{-1} = \mathtt{K} \mathtt{R}(\lambda \theta) \mathtt{K}^{-1}\]

is the conjugate of a rotation through angle \(\lambda \theta\). This representation can be used to generate synthetic images rotated through any angle \(\phi = \lambda \theta\). The images are interpolated between the original images (if \(0 < \phi < \theta\)), or extrapolated (if \(\phi > \theta\)).

(vii) Imaged Circular Points of a Perspectively Imaged Plane

imaged circular points of a perspectively imaged plane may be computed if any of the following are on the plane

page 5, top half of 6, 48-57

2.7.3? 2.7.5

example 2.26*** example 2.27***

chapter 2 iv.c

not that relevant

page 79, 80 - 82

(3.21)

page 208-220, 224-233

result 8.17 (8.8)

It was seen in chapter 3 that a plane π intersects π∞ in a line, and this line

intersects Ω∞ in two points which are the circular points of π. The imaged circular points lie on ω at the points at which the vanishing line of the plane π intersects ω.

(a) Square Grid

maybe (8.10)

result 8.19 ..maybe 8.6 vanishing points

8.6.2

(b) Two Rectangles with Nonparallel Sides

example 8.18

(c) Two Circles of Equal Radius

(d) Two Circles of Unequal Radius

(viii) Image of the Absolute Conic with Zero Skew

Recall from result 8.17 that the IAC is defined as

\[\begin{split}\boldsymbol{\omega} &= \begin{bmatrix} a & b / 2 & d / 2\\ b / 2 & c & e / 2\\ d / 2 & e / 2 & f \end{bmatrix} & \quad & \text{(2.3)}\\ &= \mathtt{K}^{-\top} \mathtt{K}^{-1}\\ &= \mathtt{K}^{-\top} \begin{bmatrix} \alpha_x^{-1} & \frac{-s}{\alpha_x \alpha_y} & \frac{s y_0}{\alpha_x \alpha_y} - \frac{x_0}{\alpha_x}\\ 0 & \alpha_y^{-1} & \frac{-y_0}{\alpha_y}\\ 0 & 0 & 1 \end{bmatrix} & \quad & \text{(6.10)}\\ &= \begin{bmatrix} \alpha_x^{-2} & 0 & \frac{-x_0}{\alpha_x^2}\\ 0 & \alpha_y^{-2} & \frac{-y_0}{\alpha_y^2}\\ \frac{-x_0}{\alpha_x^2} & \frac{-y_0}{\alpha_y^2} & 1 + \frac{x_0^2}{\alpha_x^2} + \frac{y_0^2}{\alpha_y^2} \end{bmatrix} & \quad & s = 0.\end{split}\]

A point \(\mathbf{x} = (x, y, 1)\) on the conic must satisfy

\[\begin{split}0 &= \mathbf{x}^\top \boldsymbol{\omega} \mathbf{x} & \quad & \text{(2.2)}\\ &= a x^2 + bxy + cy^2 + dx + ey + f\\ &= \frac{x^2}{\alpha_x^2} + \frac{y^2}{\alpha_y^2} - \frac{2 x_0}{\alpha_x^2} x - \frac{2 y_0}{\alpha_y^2} y + 1 + \frac{x_0^2}{\alpha_x^2} + \frac{y_0^2}{\alpha_y^2}\\ &= 1 + \frac{x^2 - 2 x_0 + x_0^2}{\alpha_x^2} + \frac{y^2 - 2 y_0 + y_0^2}{\alpha_x^2}\\ &= 1 + \left( \frac{x - x_0}{\alpha_x} \right)^2 + \left( \frac{y - y_0}{\alpha_y} \right)^2.\end{split}\]

Thus, the IAC may be interpreted as an ellipse aligned with the axes, centered on the principal point, and with axes of length \(i \alpha_x\) and \(i \alpha_y\) in the \(x\) and \(y\) directions respectively.

References

For96

David A Forsyth. Recognizing algebraic surfaces from their outlines. International Journal of Computer Vision, 18(1):21–40, 1996.

Gor

Sonja Gorjanc. Algebraic surfaces. http://www.grad.hr/geomteh3d/Plohe/plohe2_eng.html. Accessed on 2018-02-23.

Jia

Yan-Bin Jia. Plücker coordinates for lines in the space. http://web.cs.iastate.edu/ cs577/handouts/plucker-coordinates.pdf. Accessed on 2018-02-16.