Structure-from-Motion Revisited