Computer Vision and Artificial Intelligence. Well pattern recognition nowadays are particularly known to people. I’m a student and I’m doing a study about pattern recognition which I have to match a pattern to check if the pattern is match. And I’m using the Hough Algorithm for the detection of ellipses. The question is what would suit Hough Algorithm for pattern matching? and what is process of it. I am hoping for everyone’s positive response. Thanks
Question posted in Artificial Intelligence
ChatGBT is becoming a world-wide phenomena, try it out here.
ChatGBT is becoming a world-wide phenomena, try it out here.
2
Answers
The Hough transformation is some kind of inverse image transformation that uses voting.
In other words, if your pattern is a circle, you look for the centers of images. This is done using voting and inversing the image.
The inverse of a circle is, ironically enough another circle. If a pixel has a high intensity, it is likely it is part of some circle (or at least, that’s the hypothesis). Now that means we will vote on all pixels with a radius R from that circle, because all these pixels are potential candidates for being the midpoint of a circle.
Because we expect that all the pixels of the circle(s) we are looking for are part of the image, the real midpoint will receive way more votes than some pixels that happen to be potential midpoints of two or three pixels. Pixels with enough votes are considered to be “real” circle midpoints.
As a preprocessing step, the image should be manipulated, for instance using (Canny) edge detection so that only the surface of the circle is highlighted. Such transformations are in many cases somehow application specific.
You can perform the same transformation on all kinds of images, but for some images, they can be optimized (since the image is symmetrical, etc.)
In the Hough transform, a main idea is to consider the characteristics of the shape not as discrete image points (x1, y1), (x2, y2), etc., but instead, in terms of its parameters For, e.g., the slope parameter m and the intercept parameter b can be used to represent line in parametric space.(However due to vertical line we don’t use this form intstead prefer the equation of line written using parameters, b and angle-> see for detail(http://www.tpub.com/math2/6.htm)). Now we can have each line in image with unique parameters. (see for details: http://www.ai.sri.com/pubs/files/tn036-duda71.pdf ).
However with some modification, the Hough Transform can be used for not only the detection of an object described with an analytic equation (e.g. line, circle, etc.). Instead, it can also be used to detect an arbitrary object described with its model. This is called Generalised Hough Transform or GHT. (see for details: http://www.cs.utexas.edu/~dana/HoughT.pdf)