This paper addresses the problem of recognizing real flat objects from two-dimensional images. In particular, a new object recognition technique which performs under occlusion and geometric transformations is presented. The method has mainly been designed to handle complex objects and incorporates two main ideas. First, matching operates hierarchically, guided by a curvature scale space segmentation scheme, and takes advantage of important object features, that is, features which distinguish an object from other objects. This is different from many classical approaches which employ a rather large number of very local features. Second, the model database is built by using artificial neural networks (ANNs). This is also different from traditional approaches where classical indexing schemes, such as hashing, are utilized to organize and search the model database. Important object features are obtained in two steps: first, by segmenting the object boundary at multiple scales using its resampled curvature scale space (RCSS) and second, by concentrating at each scale separately, searching for groups of segments which distinguish an object from other objects. These groups of segments are then used to build a model database which stores associations between segments and models. The model database is implemented using a set of ANNs which provide the essential mechanism not only for establishing correct associations between groups of segments and models but also for enabling efficient searching and robust retrieval. The method has been tested using both artificial and real data illustrating good performance.