In this series of posts I will share my experience that I got few years ago building an iPad app for creating diagrams of different kind. One of its key features was freehand drawn shapes recognition.
Comparing with general objects recognition task shapes recognition can be not that complex, though there are a lot of math and pretty complex algorithms involved. And non of the technique consists of a single algorithm. Each of them requires several computation steps. Here I will describe the technique I used which is based on the extraction of shape's features. It was very well described by Lauri Vanhatalo in his diploma paper "Online Sketch Recognition: Geometric Shapes". In conclusion he claims that this method has an overal recognition rate of 78% what is not that much but looks like suitable for the domain. Comparing with other methods that often require machine learning and neural networks this one looks like the easiest to implement.