See my attached shape recognition demos. Circularity is one way. Also getting distance from centroid and counting peaks is another way. Most ways will breakdown as the shapes get smaller and more pixellated/quantized. And just because a shape has a certain number of vertices does not indicate a certain shape. For example a pentagon and star both have 5 outward vertices.