1. A method for object recognition of a three dimensional (3D) object, comprising the steps of: obtaining at least one two dimensional (2D) representation of said object; detecting image features in said obtained 2D representation; recovering a highly probable 3D shape of said object of a certain object class consistent with 2D images of said object using at least one obtained image where 2D features are detected and using a learned statistical multi-view shape model of the shape variation; and comparing said recovered 3D shape with a reference representation of at least one object of said object class.