0

I'm referring to section 4.1 in Multiple View Geometry by Hartley, where the Direct Linear Transformation (DLT) algorithm is explained.

I have the intuition that since the points $\textbf x_i'$ and $\textbf x_i$ are correspondences of two different planes, then $\textbf x_i'$ and $H\textbf x_i$ will be in the same ray and hence, their cross product will be zero. Is this correct? How can I prove this?

Also, in Wikipedia, in the example paragraph of the DLT article, there is a similar relation, but I can't completely grasp it:

$$\textbf x_k^T\textbf H\textbf x_k=0$$

Could you give me an intuition on why these two expressions are zero?

Makondo
  • 103
  • 4
  • It’s worth noting the the $H$ in your first question represents a homography, but the $H$ in your second question is a skew-symmetric matrix introduced to eliminate extraneous variables. – amd Mar 21 '19 at 18:02

2 Answers2

0

you should be able to prove this by using the definitions of anti-symmetric matrices. your intuition is correct though, Hx would give a projection and since x'=Hx , then they are parallel, and when you cross product parallels you get zero. but you need to use definitions and theorems/lemmas for proofs.

the 2nd expression follows from the definition of the anti-symmetric matrices. do a test case using x_i,j's

johna
  • 1
  • The cross product of any vector with itself is the 0 vector. – user247327 Mar 21 '19 at 00:12
  • How do you know that $H$ is antisymmetric? In this context it represents a homography between two planes, and therefore could be any invertible $3\times3$ matrix whatsoever. – amd Mar 21 '19 at 00:15
  • @amd The matrix $H$ in the Wikipedia article is not the matrix of the projectivity (they call it A instead). The matrix $H$ is introduced by them and defined as anti-symmetric. – Makondo Mar 21 '19 at 01:21
  • Ah, you’re right. It’s a somewhat opaque way to eliminate the constant of proportionality—a determinant would express the colinearity of the vectors directly—but it does extend to dimensions $\gt 3$, while the determinant or cross product don’t. – amd Mar 21 '19 at 07:09
0

The first is a computational trick to avoid introducing extraneous variables. Since you’re dealing with homogeneous vectors, given a point correspondence $\mathbf x_i$ and $\mathbf x_i'$, the relation between the two coordinate vectors is actually $\mathbf x_i'\propto H\mathbf x_i$. Now, the cross product of two elements of $\mathbb R^3$ vanishes iff one is a scalar multiple of the other, so instead of expressing the constraint as $\mathbf x_i'=k_iH\mathbf x_i$ for some unknown $k_i$, which would mean introducing one of these additional variables for each point pair, it is expressed as $\mathbf x_i'\times H\mathbf x_i=0$. This generates three equations, only two of which are independent.

As for $\mathbf x_k^TH\mathbf x_k=0$, it’s a basic property of all skew-symmetric matrices: for any vector $\mathbf v$ we have $(\mathbf v^TH\mathbf v)^T = \mathbf v^TH^T\mathbf v = -\mathbf v^TH\mathbf v$, therefore $\mathbf v^TH\mathbf v=0$. (In the initial example, $H$ happens to represent a counterclockwise rotation through an angle of $\pi/2$, so it should be obvious that any vector is orthogonal to its product with $H$ even if you didn’t happen to know about this property.) The skew-symmetric matrix $H$ is introduced to eliminate the constant of proportionality much as was the cross product above. In fact, the Wikipedia article farther down mentions the possibility of using a cross product instead when $\mathbf x_k\in\mathbb R^3$.

When $\mathbf x_k\in\mathbb R^2$, another way of expressing the constraint $\mathbf x_k\propto A\mathbf y_k$ as an equality without introducing an extraneous variable is $$\det\begin{bmatrix}\mathbf x_k & A\mathbf y_k\end{bmatrix} = 0,$$ but like the cross product for $\mathbb R^3$, this doesn’t generalize to higher dimensions. Indeed, if you expand this expression, you get exactly the same equations that you do from $\mathbf x_k^THA\mathbf y_k=0$ with $H=\tiny{\begin{bmatrix}0&-1\\1&0\end{bmatrix}}$.

amd
  • 53,693