[Math] prove that the vanishing line can be determined given three coplanar equally spaced parallel lines

geometryprojective-geometry

This is an exercise of the book " multiple view geometry in computer vision" (eqn.8.15, p218), ( not homework). It says that under projective geometry, a set of equally spaced parallel lines, which can be expressed as $l'_n= (a,b,n)^{T}=(a,b,0)^{T}+n(0,0,1)^{T}$. where $(0,0,1)^{T}$ is infinite line at scene plane and $n$ is an integer number. Suppose the perspective transformation matrix is a $3\times 3$ matrix ( since Z=0) H. Then the line mapping satisfies $l_n=H^{-T}l'_n=l_0+nl$. here $l$ is corresponded vanishing line we want to solve.

Eqn.8.15 has such conclusion: given three known imaged lines, $l_0,l_1,l_2$, the vanishing line can be expressed as $l=((l_0\times l_2)^{T}(l_1\times l_2))l_1+((l_0\times l_1)^{T}(l_2\times l_1))l_2$. To prove it, a hint is given that since $l$ lies in the pencil of $l_1,l_2$, $l=\alpha l_1+\beta l_2$, and use the fact that $l_n=l_0+nl$.

I spent a half day but didn't solve it. The proof should use the invariant cross ratio property, the paper " planer grouping for automatic detection of vanishing lines and points" also says that it is known from the corresponding cross ratio for regularly spaced parallel lines on the scene plane. Can any one help me to prove it? thanks in advance.

Best Answer

For the sake of the next person who looks for this:

Per the hint given in the book, since all lines $l_n$ intersect in the vanishing point (including $l_{inf}$), they are spanned by $l_1$ and $l_2$ (or any other pair) in the sense there are coefficients $a$ and $b$ so $l_{inf} = al_1 + bl_2$.

In addition $l_n=l_0+nl_{inf}$ and in particular $l_1=l_0+l_{inf}$ and $l_2=l_0+2l_{inf}$. Substituting $l_{inf}$ in terms of $l_1$ and $l_2$ into these yields: $$\begin{array}{rclll} l_1 & = & l_0+al_1+bl_2&{}&(1)\\ l_2 & = & l_0+2al_1+2bl_2&{}&(2).\end{array}$$

Form a cross product of $(1)$ with $l_1$ on the right and than dot product it with $l_1\times l_2$ to get (keep in mind it is all homogeneous coordinates). We also multiply by $2$ to be compatible with equation $(2)$ that will later undergo the same treatment: $$0=2(l_0\times l_1)^T\cdot (l_1\times l_2)-2b(l_2\times l_1)^T\cdot(l_2\times l_1)$$ Now all are numbers, and we can see that $b$ (up to a factor) can be replaced with: $$2(l_0\times l_1)^T\cdot(l_1\times l_2).$$ Doing the same for $(2)$ but using $l_2$ in the cross product yields an expression for $a$, with the same factor as for $b$.

Inserting both expressions in $l_{inf} = al_1 + bl_2$ and removing the factor gives the desired expression for $l_{inf}$.