In the previous section several self-calibration methods were briefly presented. In this section we will work out a flexible self-calibration approach (this method was proposed in , see also  or ). This method can deal with varying intrinsic camera parameters. This is important since it allows the use of zoom and auto-focus available on most cameras.
The only assumption which is strictly needed by the method is that pixels are rectangular (see for a proof [114,99]). In practice however it is interesting to make more assumptions. In many cases pixels are square and the principal point is located close to the center of the image. Our systems first uses a linear method to obtain an approximate calibration. This calibration is then refined through a non-linear optimization step in a second phase. The approach that is proposed here is based on  but was was modified to better take into account the a priori information on the intrinsic camera parameters, thereby reducing the problem of critical motion sequences.
In Figure 6.3 the retrieved structure and motion is shown before (top) and after (bottom) self-calibration. Note that metric properties such as orthogonality and parallelism can be observed after self-calibration.