Object recognition under occlusion is a key issue in computer vision. Since one can recognize an occluded object solely based on the shape, one ultimate goal of artificial intelligence is to find an automatic method that could recognize the object solely based on its shape with equal recognition accuracy. In this paper, slope difference distribution (SDD) is used to extract the shape features of the object as its sparse representation. One or several scale-invariant shape models are defined with the general SDD features for each shape class. The object is recognized based on the minimum distances between its detected SDD features and the SDD features of all the shape models. To increase the generality, we propose a two-dimensional SDD feature extraction method that computes the SDD features directly from the two-dimensional contours. Experimental results showed that the proposed object recognition method could recognize the object under significant occlusion robustly. It achieved 100% recognition and retrieval accuracy on three public datasets, Kimia99, Kimia216 and MPEG-7. For the fine-grained object classification, the proposed method achieved 90.6% accuracy on CUB-200-2011, which is also better than existing methods.