Faugeras, Three-dimensional computer vision: a geometric viewpoint.