  Silhouettes or 2D planar shapes are extremely important in human
communication, which involves many logos, graphics symbols and fonts in vector
form. Many more shapes can be extracted from image by binarization or
segmentation, thus in raster form that requires a vectorization. There is a
need for disposing of a mathematically well defined and justified shape
vectorization process, which in addition provides a minimal set of control
points with geometric meaning. In this paper we propose a silhouette
vectorization method which extracts the outline of a 2D shape from a raster
binary image, and converts it to a combination of cubic B\'{e}zier polygons and
perfect circles. Starting from the boundary curvature extrema computed at
sub-pixel level, we identify a set of control points based on the affine
scale-space induced by the outline. These control points capture similarity
invariant geometric features of the given silhouette and give precise locations
of the shape's corners.of the given silhouette. Then, piecewise B\'{e}zier
cubics are computed by least-square fitting combined with an adaptive splitting
to guarantee a predefined accuracy. When there are no curvature extrema
identified, either the outline is recognized as a circle using the
isoperimetric inequality, or a pair of the most distant outline points are
chosen to initiate the fitting. Given their construction, most of our control
points are geometrically stable under affine transformations. By comparing with
other feature detectors, we show that our method can be used as a reliable
feature point detector for silhouettes. Compared to state-of-the-art image
vectorization software, our algorithm demonstrates superior reduction on the
number of control points, while maintaining high accuracy.
