1. A method performed by one or more processes executing on a computer system, the method comprising: obtaining one or more two dimensional (2D) representations of a three dimensional (3D) object; detecting object features associated with the 3D object in the one or more obtained 2D representations; determining a latent vector representation of a 3D shape corresponding to the detected object features such that a projection model applied to the determined latent vector representation of the 3D shape results in a spatial model in which the object features detected in the one or more obtained 2D representations are embedded; extending the determined latent vector representation of the 3D shape to an extended 3D shape by fitting a surface model to a surface of the determined latent vector representation of the 3D shape based on a learned statistical shape model comprising a mean surface model for an object class associated with the 3D object; and comparing the extended 3D shape with 3D reference shapes to detect an individual object of the object class.