0

From my reference on the subject there's this simple example of which I can't understand the notation. In summary it is my understanding the goal here would be given two views of a scene where we have many objects moving can we estimate the motion?

With this in mind the equation reporting the epipolar constraint is

$$ \left(x_2^T F_1 x_1 \right) \left( x_2^T F_2 x_1 \right) = 0 $$

and I have two questions about it:

1) Are $F_1$ and $F_2$ in theory built up by using the rigid transformation of body $1$ and $2$ from image 1 and image 2? (I.e. does each fundamental matrix involve the transformation parameters of the single objects?)

2) Shouldn't actually the constraint be

$$ \left({x_2^1}^T F_1 {x_1^1} \right) \left( {x_2^2}^T F_2 {x_1^2} \right) = 0 $$

?

Because in given the two images, taken from the same point, but at different time, I assume we could use a motion flow to estimate the corrispondence for example (although I haven't dug to much into details yet).

enter image description here

Update : I think the correct interpretation is the following. Suppose we have the image in the example with correspondence $(x_1^1,x_2^1)$ and $(x_1^2,x_2^2)$, each $x_i^j$ , $i, j = 1, 2$ is a pixel in homogeneous coordinates (i.e. a three component vector), suppose we have two fundamental matrices derived somehow $F_1,F_2$ and defining the function

$$ f(x_1,x_2) = \left( x_2^T F_1 x_1 \right) \left(x_2^T F_2 x_1\right) $$

where $f : \mathbb{R}^3 \times \mathbb{R}^3 \rightarrow \mathbb{R}$, I believe that what my reference means is that

$$ f(x_1^1,x_2^1) = f(x_1^2,x_2^2) = 0 $$

Having $N$ correspondence the function $f$ is generalized as

$$ f(x_1,x_2) = \prod_{j=1}^{N} x_2^T F_j x_1 $$

and what is said is that for each pair $(x_1^j,x_2^j)$ ($1 \leq j \leq N$) there's a fundamental matrix $F_i$ such that the epipolar constraint is fulfilled, therefore for each $j$ we have $f(x_1^j,x_2^j) = 0$

user8469759
  • 5,285

1 Answers1

0

The matrices $F_1, F_2$ are composition of translations and rotations basically (a rigid motion). Once you have a fixed matrix $F_1$, it will make the same translation and the same rotation to all points in space.

About the images give, the left side shows the points before the action of the matrix, and the right side shows the points after the action. I agree the notation is strange, the points are $x_1 = (x_1^1, x_2^1)$ and $x_2 = (x_1^2, x_2^2)$, so $x_1^1$ is a coordinate (a real number) of $x_1$, not the vector. That being said, the correct thing to write is $\left( x_2^T F_1 x_ 1 \right) \left( x_1^T F_2 x_2 \right) = 0$, since that makes no sense the other choice of notation.

The images are giving wrong notations. Looks like $x_1^1$ is a point in space, not a coordinate. Should be written $x_1$ instead of $x_1^1$ there. Of course it can be the case the images are in fact two-dimensional, a two-dimensional representation of three-dimensional cubes. In this case the notation $x_1^1$ would make sense. But this would be a very whicked choice of figures to put in there.

Just to clarify: $F_1$ is a matrix $2 \times 2$. We can make it explicit writing $$F_1 = \left[ \begin{array}{cc} a & b\\ c & d\\ \end{array}\right].$$

Then we have that

$$x_2^T F_1x_1 = [x_1^2 \ x_2^2] \left[ \begin{array}{cc} a & b\\ c & d\\ \end{array}\right] \left[ \begin{array}{c} x_1^1 \\ x_2^1 \\ \end{array}\right],$$ which is a scalar. Then you multiply it by the another scalar $x_1^T F_2 x_1$ and verify if it is zero.

Integral
  • 6,554
  • Not sure about your point about the coordinates each $x_i^j $ is a 2D point in image space. A pair $(x_1^j,x_2^j) $ corresponds to a pair of correspondent image points between the first frame and second. I agree on the meanining of $F_j $, however I think it refers to a single object in space. However given I could be wrong I was hoping in some elaboration in the steps involved to derive the two matrices. – user8469759 Jul 02 '17 at 22:47
  • To be honest I'm confused... now that I read better it sais, "each pair" has to satisfy the biquadratic equation. But now I wonder why. – user8469759 Jul 02 '17 at 22:54
  • This is probably a preparation to work with tensors. A video can be viewed as a sequence of images, and a image can be viewed as a matrix, so a video can be viewed as a sequence of matrices. Better yet, a video can be viewed as a "cubic" matrix, which is a tensor of order 3. The notation $x^i_j$ is usual in tensor calculus and refers to coordinates of vectors, not just vectors. – Integral Jul 03 '17 at 00:40
  • I edited my answer to make more clear what are the actual computations they are making in the text. – Integral Jul 03 '17 at 00:48
  • I think you're wrong. There's no reason why $F$ should be a $2x2$ matrix. All this stuff is used to convert a 3D point in homogeneous coordinates into a 2D point (the pixel) in homogeneous coordinates, therefore the epipolar constraint (described by the fundamental matrix) must be a $3x3$ matrix. Also in your discussion you don't take into account $F_2$, which would imply a redundancy, and no longer needed for descrbing the epipolar constraint. – user8469759 Jul 03 '17 at 08:53
  • It's also not true that $F_1$ and $F_2$ are composition of translation and rotation. They're of course taken into account in 3D space (because the actual object moves in 3D space), however after such transformation a projection in 2D space is performed, therefore for each $i$ F_i embodies informations about translation, rotation and projection. – user8469759 Jul 03 '17 at 08:56