camera motion detection
If X are known 3D points, then the translation is given simply by:

$$T=\frac{\sum_{i=1}^{n}{X'_{i}-RX_{i}}}{n}$$

In case of points being in projected coordinates, then more work have to be done. You can express the 3D points in homogenous coordinates:

$$X=(x, y, z, w)$$

where $w$ is 1 by default.

Then both the translation and rotation can be joined via matrix multiplication:

$$X'=TRX=\begin{bmatrix}1 &amp; 0 &amp; 0 &amp; t_{x} \\ 0 &amp; 1 &amp; 0 &amp; t_{y} \\ 0 &amp; 0 &amp; 1 &amp; t_{z} \\ 0 &amp; 0 &amp; 0 &amp; 1 \end{bmatrix}RX$$

Furthermore, you would be able to add camrea projection matrix in the equation:

$$X'=TRPX$$

Now each point correspondence ($X\leftrightarrow X')$ will give you 4 equations. The minimum number of point correspondences depends on the number of unknowns.

There are usually more than enough points and the problem is overdetermined. The above equation can then be solved in a least-squares fashion.

Another approach is to first perform camera calibration to determine matrix $P$. Then the problem will be simplified greatly.

The best reference I know is (what else) H&amp;Z book. Chapter 7 is all about computing the camera matrix.

Estimation methods are described as well.