1. A method of generating a non-rigid model including: receiving, on a data interface of a computing device, a plurality of key images; and generating, by a processor of the computing device, the non-rigid model by jointly minimising according to a cost function, wherein the cost function comprises: 
 ∥ D∥ * +λ a ∥E a ∥ 1 +λ s ∥E s ∥ 1 , wherein ∥E a ∥ 1 comprises an L1 norm of an appearance error between appearances in the plurality of key images and an appearance component of the non-rigid model; ∥E s ∥ 1 comprises an L1 norm of a shape error between shapes in the plurality of key images and a shape component of the non-rigid model; λ a , λ s comprise weighting factors of the appearance error and the shape error respectively; and ∥D∥ * comprises a dimensionality being a rank or a norm of a matrix describing the appearance and shape components-of the non-rigid model, wherein D comprises [A; S] which denotes a concatenation of an estimated warped appearance and shape in each image of the key images forming matrices A and S, respectively.