via this paper in 2006
Introduction – the system provides a sample-based engine mechanism that allows the user to search the database by submitting a query that is simply represented by the sketch (user drawing) of comparison between the submitted sample shape and the shapes of all object in database.
- Database filling – collect new images into the database. the shape content information is extracted, and shapes of objects in the image are stored in a separate database – Shape database.
- Database visualization – users visualize and delete an image stored in database, together with the shapes of objects in the image stored in Shape database
- Search Engine – user submit a sample image sketch as a query to interrogate the database and retrieve image containing objects whose shape matches
1. edge detection
- standard Canny contour following algorithm . Such algorithm, starting from operator
- neuro-fuzzy system classifies image pixels into three classes: edge, texture, and regular
2. edge improvement
edges resulting from automatic edge detection often contain many spurious pixels, we need to remove such points in order to facilitate subsequent phase of polyline construction. Remove:
- spurious vertices,
- isolated points
- short edges – edges made of less than 10 points
3. edge reconstruction
From 2, we get a thin contour with no spurious points
for complex images containing many overlapping object, human intervention is necessary to manually remove spurious edge points, and draw missing parts of an object contour.
So manually intervene on an image
4. shape indentification
The final edge pixels are analyzed to detect object shapes and represent them as polygonal curves.
Starting from a pixel on the edge, follows the contour by linking adjacent edge points into a single chain, – so an object shape is reconstructed.
The final result of shape identification is a collection of closed curves, each curve represented by an ordered list of pixel coordinates.
5. shape simplification
not only to save space of shape database, but also to make faster the shape matching process
reducing the number of vertices in the polyline – curve evolution procedure reduces vertices iteratively.
5. shape similarity measure
To achieve efficient retrieval, the measure used to evaluate similarity between two object shapes should be invariant under rotation, translation and scaling of the shapes.
Comparison of polygonal curves is based on the distance between their turn angle representation – tangent space representations (turning function)
6. application – 20 paintings by Giorgio Morandi, Italian artist 
two distinct shape database have been initialized:
- edge detection tool based on the Canny operator
- edge detection tool based on the pixel classification performed by the neuro-fuzzy system ( more effective in producing better results,
- The image with a higher visual resemblance is immediately retrieved from the neuro-fuzzy-originated database, while it is classified as 4th best choice inside Canny-originated database.
 An efficiently computable metric for comparing polygonal shapes
 Visual image retrieval by elastic matching of user sketches.
 VIRMA: Visual Image Retrieval by Shape MAtching