structure from motion revisited