Hough transform
The Hough transform can be generalised to find circles and ellipses, not just lines. In order to do this, simply repeat the algorithm above but use the parameters for circles and ellipses in the Hough space instead of just parameters for lines.