next up previous
Next: About this document ... Up: Rigid reconstruction Previous: Assumptions

Procedure

Figure 6: Euclidean reconstruction
\begin{figure}\centerline{\psfig{width=5.0in,figure=kvd2.ps}}\end{figure}

  1. Translation in fronto-parallel plane merely produces a shift in projections. This can be factored out by putting two projections of ${\bf O}$ in to coincidence.
  2. Rotation can be decomposed into i) a rotation in the image plane (cyclo-rotation) and rotation about an axis in the fronto-parallel plane. Projection of the third affine frame vector is the projection of a plane perpendicular to the axis of rotation in the fronto-parallel plane. One can reconstruct the projection in the first view (only affine construction) and factor out the relative rotation in the two images. This yields the cyclo-rotation.
  3. Since the axis of rotation is known in both views, one can find the overall scale difference due to translation in depth. Points on the axis of rotation do not rotate. Consider the projection of all image points on to this axis. If they differ in the two views, they must differ by only a constant scale factor. Otherwise, the rigidity assumption is falsified.
  4. Now the two views differ only by a rotation about an axis in the fronto-parallel plane. Define a Euclidean frame $({\bf e_1},{\bf e_2},{\bf e_3})$, such that ${\bf e_{1,2,3}}$ are unit vectors with ${\bf e_1}$ along the axis of rotation and ${\bf e_3}$ along the line of sight.

    Let $G_1{\bf e_1} + G_2{\bf e_2}$ denote the depth gradient of a plane in the object. That is, the depth of a point $\alpha {\bf e_1} + \beta {\bf e_2}$ in the image with respect to the fronto-parallel plane is $\alpha G_1 + \beta G_2$. Note that

    \begin{displaymath}
\begin{array}{ccc}
G_1 & =& \tan{\sigma} \cos{\tau} \\
G_2& = & \tan{\sigma} \sin{\tau}
\end{array} \end{displaymath}

    where $\sigma$ is the slant and $\tau$ is the tilt of the plane.

    Consider any triangle ${\bf OXY}$ in the plane. Let the coordinates of ${\bf X}$ and ${\bf Y}$ be $(X_1,X_2)$ and $(Y_1,Y_2)$ respectively. Then the third coordinates must be

    \begin{displaymath}
\begin{array}{ccc}
X_3 & = & G_1 X_1 + G_2 X_2 \\
Y_3 & = & G_1 Y_1 + G_2 Y_2
\end{array} \end{displaymath}

    For a given turn $\rho$ the rotation can be represented by

    \begin{displaymath}
\left [
\begin{array}{ccc}
1 & 0 & 0 \\
0 & \cos{\rho}...
...n{\rho} \\
0 & \sin{\rho} & \cos{\rho}
\end{array} \right]
\end{displaymath}

    Of the three transformed coordinates, the first one is trivially unchanged and the third one is not observable. The second coordinate is observable, and the equations are:

    \begin{displaymath}
\begin{array}{ccc}
X^1_2 & = & X^0_2 \cos{\rho} - \sin{\rh...
..._2 \cos{\rho} - \sin{\rho}(Y^0_1 G_1 + Y^0_2 G_2)
\end{array} \end{displaymath}

    here the upper indices label the views and the lower indices label the components.

    Because the turn $\rho$ is unknown, we eliminate it from these equations to obtain a single equation in $(G_1,G_2)$. This equation represents a one-parameter solution for the two view case. The parameter is the unknown turn $\rho$. The equation is quadratic in $(G_1,G_2)$ with the linear term absent; and represents a hyperbola in the $(G_1,G_2)$ space (please derive it).

  5. Repeating the steps above between the second and a third view, we obtain a pair of two view solutions. Each two view solution represents a one-parameter family of solutions. The one-parameter families for the 0-1 transition and the 1-2 transition are represented by the hyperbolic loci in the gradient space. The pair of hyperbola has either two or four intersections. The case of no intersection occurs only in the non-rigid case. If the motion is rigid, then there has to be one solution and hence a pair of them. The intersections represent either one or two pairs of solutions that are related through a reflection in the fronto-parallel plane.


next up previous
Next: About this document ... Up: Rigid reconstruction Previous: Assumptions
Subhashis Banerjee 2002-02-18