Source: https://people.inf.ethz.ch/pomarc/pubs/PollefeysCACM02.pdf