This paper proposes a method for reconstructing non-rigid 3D shapes from noisy 2D shapes. The proposed method estimates the 3D shape bases and projection matrices, exploiting low-rank constraints. Then the method finds the optimal coefficients for linear combinations of 3D shape bases to represent non-rigid 3D shapes using a genetic algorithm, and refines the 3D shape bases and the projection matrices using gradient descent techniques. The method reconstructed correct non-rigid 3D shapes in the presence of noise. The results can be used in many areas including animation, motion capture and non-rigid 3D object tracking.