1. A method, comprising: generating a three-dimensional model of an unclothed human body, the three-dimensional model capturing one or more shapes or poses of the unclothed human body; determining two-dimensional contours associated with the three-dimensional model; segmenting the two-dimensional contours into one or more segments; based on the one or more segments, generating a two-dimensional model of the unclothed human body, the two-dimensional model factoring deformations of the unclothed human body into a shape variation component, a viewpoint change, and a pose variation; and generating a second two-dimensional model is of a clothed human body based on the two-dimensional model of the unclothed human body, wherein generating the second two-dimensional model comprises: computing deformations by aligning a contour of the clothed human body with a second contour of the unclothed human body; and learning an eigen-clothing model using principal component analysis applied to the deformations, wherein the eigen-clothing model classifies different types of clothing.