This paper presents a shape and motion estimation algorithm based on non-linear least squares applied to the tracks of features through time. While our approach requires iteration, it quickly converges to the desired solution, even in the absence of a priori knowledge about the shape or motion. Important features of the algorithm include its ability to handle partial point tracks and true perspective, to use line segment matches and points matches simultaneously, and its use of an object-centered representation for faster and more accurate structure and motion recovery.