3D object recognition is performed using a scale and orientation invariant feature extraction method and a scale and orientation invariant topological representation. 3D surfaces are represented by sparse, repeatable, informative and semantically meaningful 3D surface structures, which are called multiscale features. These features are extracted with their scale (metric size and resolution) using the classified scale-space of 3D surface curvatures. Triplets of these features are used to represent the surface topologies invariant to transformation (scaling, rotation, translation) and geometric hashing is used for object recognition. Scaled and both scaled and occluded versions of range images from a 3D object database are tested and the experimental results are compared with other methods in the literature.