1. A method, comprising: receiving a plurality of images of an object captured from a plurality of different viewpoints of the object; receiving input which identifies a plurality of feature curves for the object, wherein the input identifies at least one multi-view feature curve, and wherein the input identifies at least two single-view feature curves; generating, dependent on the at least one multi-view feature curve, one or more three-dimensional (3D) shape constraints for the object; generating, dependent on the at least two single-view feature curves, an approximation of a 3D surface for the object; and generating, dependent on the one or more 3D shape constraints and the 3D surface approximation, a 3D model of the object.