Consider a satellite orbiting earth taking images. Since the problem can be approximated by the satellite moving with constant velocity and orientation relative to the fixed ground; the projection from world coordinates (X,Y,Z) to image coordinates (u,v) is a linear homogenous transform which in this case takes the form (1):
$$ \begin{bmatrix} u \\ wv \\ w \end{bmatrix} = \begin{bmatrix} M_{11} & M_{12} & M_{13} & M_{14} \\ M_{21} & M_{22} & M_{23} & M_{24} \\ M_{31} & M_{32} & M_{33} & M_{34} \\ \end{bmatrix} \begin{bmatrix} X \\ Y \\ Z \\ 1 \end{bmatrix} $$
The first equation can be rewritten as: $$ \begin{bmatrix} X & Y & Z & 1 \end{bmatrix} \begin{bmatrix} M_{11} \\ M_{12} \\ M_{13} \\ M_{14} \end{bmatrix} = u $$
Since there are 4 unknowns we need at least 4 points i to determine $M_{1i}$:
$$ \begin{bmatrix} X_1 & Y_1 & Z_1 & 1 \\ X_2 & Y_2 & Z_2 & 1 \\ X_3 & Y_3 & Z_3 & 1 \\ X_4 & Y_4 & Z_4 & 1 \\ \end{bmatrix} \begin{bmatrix} M_{11} \\ M_{12} \\ M_{13} \\ M_{14} \end{bmatrix} = \begin{bmatrix} u_1 \\ u_2 \\ u_3 \\ u_4 \end{bmatrix} $$
However what further requirements do we have on the points? Let us denote the 4x4 matrix above by A. For this to work A must be full rank? Otherwise the equation system is underdetermined? And the rank of A is the dimension of the vector space spanned by the row vectors.
Does this imply that 3 of the points must span a plane (not collinear) and the fourth point must lay outside this plane?
I plan on solving this using SVD with more than 4 points. However I have one problem: the scale of the variables are quite different: $$ 0 <= X <= 1.0 $$
$$ -0.4 <= Y <= 0.4 $$
$$ 0 <= Z <= 0.05 $$
$$ -1 <= u <= 1 $$ $$ -1 <= v <= 1 $$
I understand this is not ideal for SVD?
How can I "normalize" the data before SVD so that the range of the Z values are approximately the same as the other coordinates?